Skip to contentSkip to conversation

package/Zile: add Zile is Lossy Emacs editor

PATCH Superseded Alex Bennée 4 participants 8 messages Apr 17, 2014 – Apr 24, 2014

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 package/Zile: add Zile is Lossy Emacs editor

Hi,

Only the final patch left now as the libgc/atomic stuff has already been merged.

Change

v2
- fixup dependancies
- add s-o-b tag to patch
- fix whitespace

v3
- fix typo for DEPENDENCIES
- force AUTORECONF
- remove +=
- use BR2_GNU_MIRROR
- rename patch to zile-0001-remove-help2man.patch

Alex Benn?e (1):
package/zile: add Zile is Lossy Emacs editor

 package/Config.in                            |  1 +
 package/zile/Config.in                       | 13 ++++++++++++
 package/zile/zile-0001-remove-help2man.patch | 30 ++++++++++++++++++++++++++++
 package/zile/zile.mk                         | 15 ++++++++++++++
 4 files changed, 59 insertions(+)
 create mode 100644 package/zile/Config.in
 create mode 100644 package/zile/zile-0001-remove-help2man.patch
 create mode 100644 package/zile/zile.mk
Signature · 1 line
1.9.2
#1 lore raw

PATCH v3 1/1 package/zile: add Zile is Lossy Emacs editor

This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.

---
v2 - review comments
- fixup dependancies
- add s-o-b tag to patch
- fix whitespace

v3
- fix typo for DEPENDENCIES
- force AUTORECONF
- remove +=
- use BR2_GNU_MIRROR
- rename patch to zile-0001-remove-help2man.patch

---
 package/Config.in                            |  1 +
 package/zile/Config.in                       | 13 ++++++++++++
 package/zile/zile-0001-remove-help2man.patch | 30 ++++++++++++++++++++++++++++
 package/zile/zile.mk                         | 15 ++++++++++++++
 4 files changed, 59 insertions(+)
 create mode 100644 package/zile/Config.in
 create mode 100644 package/zile/zile-0001-remove-help2man.patch
 create mode 100644 package/zile/zile.mk
package/Config.in +1 -0
index 51f2515..825aa73 100644
@@ -1124,6 +1124,7 @@ source "package/uemacs/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/vim/Config.in"
 endif
+source "package/zile/Config.in"
 endmenu
 
 endmenu
package/zile/Config.in new file +13 -0
new file mode 100644
index 0000000..163b44d
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_ZILE
+	bool "zile"
+	select BR2_PACKAGE_LIBGC
+	depends on BR2_USE_MMU # fork()
+	help
+	  Zile is Lossy Emacs
+
+	  GNU Zile (Zile Is Lossy Emacs) is a lightweight Emacs clone. Every
+	  Emacs user should feel at home with Zile. Zile is aimed at small
+	  footprint systems (a typical binary is about 100Kb) and quick editing
+	  sessions (it starts up and shuts down instantly).
+
+	  http://www.gnu.org/software/zile/
package/zile/zile-0001-remove-help2man.patch new file +30 -0
new file mode 100644
index 0000000..d397543
@@ -0,0 +1,30 @@
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Alex Benn?e <[email protected]>
+
+diff --git a/Makefile.am b/Makefile.am
+index 54bc59f..46c2650 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -36,7 +36,6 @@ PERL_BUILDTIME =					\
+ 
+ EXTRA_DIST =						\
+ 	FAQ						\
+-	build-aux/zile-help2man-wrapper			\
+ 	$(PERL_BUILDTIME)
+ 
+ doc_DATA = AUTHORS FAQ NEWS
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 639f59c..8c5123e 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -33,9 +33,3 @@ doc/zile.1: $(srcdir)/doc/zile.1.in doc/Makefile.am config.status
+ 	$(edit) $(abs_srcdir)/doc/zile.1.in >[email protected]
+ 	mv [email protected] $@
+ 
+-$(srcdir)/doc/zile.1.in: doc/man-extras build-aux/zile-help2man-wrapper configure.ac $(builddir)/src/zile$(EXEEXT)
+-	@test -d doc || mkdir doc
+-## Exit gracefully if zile.1.in is not writeable, such as during distcheck!
+-	$(AM_V_GEN)if ( touch [email protected] && rm -f [email protected]; ) >/dev/null 2>&1; then \
+-	  $(srcdir)/build-aux/missing --run $(HELP2MAN) --output=$@ --no-info --name="Zile Is Lossy Emacs" --include $(srcdir)/doc/man-extras $(srcdir)/build-aux/zile-help2man-wrapper; \
+-	fi
package/zile/zile.mk new file +15 -0
new file mode 100644
index 0000000..07226c6
@@ -0,0 +1,15 @@
+################################################################################
+#
+# Zile
+#
+################################################################################
+
+ZILE_VERSION = 2.4.11
+ZILE_SITE = $(BR2_GNU_MIRROR)/zile
+ZILE_LICENSE = GPLv1+
+ZILE_LICENSE_FILES = COPYING
+ZILE_AUTORECONF = YES
+ZILE_CONF_OPT = --without-help2man
+ZILE_DEPENDENCIES = libgc
+
+$(eval $(autotools-package))
Signature · 1 line
1.9.2
#2 lore raw

PATCH v3 1/1 package/zile: add Zile is Lossy Emacs editor

Hi Alex,

Quoted 27 lines

This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.

---
v2 - review comments
- fixup dependancies
- add s-o-b tag to patch
- fix whitespace

v3
- fix typo for DEPENDENCIES
- force AUTORECONF
- remove +=
- use BR2_GNU_MIRROR
- rename patch to zile-0001-remove-help2man.patch

---
  package/Config.in                            |  1 +
  package/zile/Config.in                       | 13 ++++++++++++
  package/zile/zile-0001-remove-help2man.patch | 30 ++++++++++++++++++++++++++++
  package/zile/zile.mk                         | 15 ++++++++++++++
  4 files changed, 59 insertions(+)

create mode 100644 package/zile/Config.in
create mode 100644 package/zile/zile-0001-remove-help2man.patch create mode 100644 package/zile/zile.mk

[...]

package/zile/zile.mk line 3

Quoted 9 lines
package/zile/zile.mk new file +3 -0
new file mode 100644
index 0000000..07226c6
@@ -0,0 +1,15 @@
+################################################################################
+#
+# Zile

Here you should use only lower-case.

Regards,
Jerzy

Quoted 12 lines
package/zile/zile.mk new file +12 -0
+#
+################################################################################
+
+ZILE_VERSION = 2.4.11
+ZILE_SITE = $(BR2_GNU_MIRROR)/zile
+ZILE_LICENSE = GPLv1+
+ZILE_LICENSE_FILES = COPYING
+ZILE_AUTORECONF = YES
+ZILE_CONF_OPT = --without-help2man
+ZILE_DEPENDENCIES = libgc
+
+$(eval $(autotools-package))
#3 lore raw

PATCH v3 1/1 package/zile: add Zile is Lossy Emacs editor

In reply to Alex Bennée

Dear Alex Benn?e,

Quoted 2 lines · Alex Benn?e

This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.

There are unfortunately a few things still not good here.

package/zile/Config.in line 4

Quoted 10 lines
package/zile/Config.in new file +4 -0
new file mode 100644
index 0000000..163b44d
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_ZILE
+	bool "zile"
+	select BR2_PACKAGE_LIBGC
+	depends on BR2_USE_MMU # fork()

You need to replicate the dependencies of BR2_PACKAGE_LIBGC here.

Also, when testing your package, it failed because ncurses was not available, so I had to add ncurses as a dependency here.

This actually leads me to wonder if you actually tested this stuff. How would it be possible to miss the ncurses dependency?

Also, some of the configure messages need some investigation:

configure: WARNING: libacl development library was not found or not usable. configure: WARNING: Zile will be built without ACL support.

=> this probably means that an optional dependency on BR2_PACKAGE_ACL, with a --enable-acl / --disable-acl as appropriate

checking whether btowc is declared without a macro... yes checking whether wctob is declared without a macro... yes checking whether mbsinit is declared without a macro... yes

=> this smells like a dependency on wide-char support. Can you test your package with a toolchain that does not have wide char support, such as
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config.

checking for emacs... /usr/bin/emacs
checking Emacs version 24.3.50.1 >= 23.1... yes

=> is it normal that it references my host emacs? what is this used for?

package/zile/zile-0001-remove-help2man.patch line 3

Quoted 9 lines
package/zile/zile-0001-remove-help2man.patch new file +3 -0
new file mode 100644
index 0000000..d397543
@@ -0,0 +1,30 @@
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Alex Benn?e <[email protected]>

Since you're passing --without-help2man, why is this patch useful?

Quoted 6 lines
package/zile/zile.mk new file +0 -0
new file mode 100644
index 0000000..07226c6

package/zile/zile.mk line 9

Quoted 9 lines
package/zile/zile.mk new file +9 -0
@@ -0,0 +1,15 @@
+################################################################################
+#
+# Zile
+#
+################################################################################
+
+ZILE_VERSION = 2.4.11
+ZILE_SITE = $(BR2_GNU_MIRROR)/zile
+ZILE_LICENSE = GPLv1+

Have you actually read the COPYING file?

package/zile/zile.mk line 13

Quoted 4 lines
package/zile/zile.mk new file +4 -0
+ZILE_LICENSE_FILES = COPYING
+ZILE_AUTORECONF = YES
+ZILE_CONF_OPT = --without-help2man
+ZILE_DEPENDENCIES = libgc

Missing ncurses library.

Also, when I build your package with the toolchain at
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full.config,
it fails to build with:

/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgc.so:
undefined reference to symbol 'pthread_cancel'
/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
note: 'pthread_cancel' is defined in DSO /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0 so try adding it to the linker command line /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0:
could not read symbols: Invalid operation

Could you work on these remaining issues, and resubmit an updated version?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH v3 1/1 package/zile: add Zile is Lossy Emacs editor

Quoted 1 line · Thomas Petazzoni

Dear Alex Benn?e,

<snip>

Quoted 8 lines

package/zile/Config.in line 4

Quoted 6 lines

+++ b/package/zile/Config.in

package/zile/Config.in new file +4 -0
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_ZILE
+	bool "zile"
+	select BR2_PACKAGE_LIBGC
+	depends on BR2_USE_MMU # fork()

You need to replicate the dependencies of BR2_PACKAGE_LIBGC here.

Surely the whole point of dependencies is the LIBGC ones get pulled in when you select LIBGC, or do you mean I need:

select BR2_PACKAGE_LIBGC
depends on BR2_PACKAGE_LIBGC
depends on BR2_USE_MMU # fork()

Quoted 5 lines

Also, when testing your package, it failed because ncurses was not available, so I had to add ncurses as a dependency here.

This actually leads me to wonder if you actually tested this stuff. How would it be possible to miss the ncurses dependency?

I have a bunch of benchmarking tools enabled, one of them must of pulled it in. I have been testing in a qemu-system aarch64 initrd rootfs and it was working!

Quoted 8 lines

Also, some of the configure messages need some investigation:

configure: WARNING: libacl development library was not found or not usable. configure: WARNING: Zile will be built without ACL support.

=> this probably means that an optional dependency on BR2_PACKAGE_ACL, with a --enable-acl / --disable-acl as appropriate

I'll look at that.

Quoted 9 lines

checking whether btowc is declared without a macro... yes checking whether wctob is declared without a macro... yes checking whether mbsinit is declared without a macro... yes

=> this smells like a dependency on wide-char support. Can you test your package with a toolchain that does not have wide char support, such as
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config.

I've got to build some armv7 images so I'll do that then.

Quoted 6 lines

checking for emacs... /usr/bin/emacs
checking Emacs version 24.3.50.1 >= 23.1... yes

=> is it normal that it references my host emacs? what is this used for?

No idea. Possibly too much autoconf boilerplate. I shall have a look.

Quoted 13 lines

package/zile/zile-0001-remove-help2man.patch line 3

Quoted 11 lines
package/zile/zile-0001-remove-help2man.patch new file +3 -0
new file mode 100644
index 0000000..d397543
@@ -0,0 +1,30 @@
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Alex Benn?e <[email protected]>

Since you're passing --without-help2man, why is this patch useful?

IIRC without that patch it still attempted to call the help2man tool even though it wasn't generating the final output.

Quoted 10 lines
Quoted 10 lines
package/zile/zile.mk new file +3 -0
new file mode 100644
index 0000000..07226c6
@@ -0,0 +1,15 @@
+################################################################################
+#
+# Zile
Quoted 8 lines

package/zile/zile.mk line 9

Quoted 6 lines
package/zile/zile.mk new file +6 -0
+#
+################################################################################
+
+ZILE_VERSION = 2.4.11
+ZILE_SITE = $(BR2_GNU_MIRROR)/zile
+ZILE_LICENSE = GPLv1+

Have you actually read the COPYING file?

Ahh ok - I shall fix that up.

Quoted 25 lines

package/zile/zile.mk line 13

Quoted 5 lines
package/zile/zile.mk new file +4 -0
+ZILE_LICENSE_FILES = COPYING
+ZILE_AUTORECONF = YES
+ZILE_CONF_OPT = --without-help2man
+ZILE_DEPENDENCIES = libgc

Missing ncurses library.

Also, when I build your package with the toolchain at
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full.config,
it fails to build with:

/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgc.so:
undefined reference to symbol 'pthread_cancel'
/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
note: 'pthread_cancel' is defined in DSO /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0 so try adding it to the linker command line /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0:
could not read symbols: Invalid operation

Could you work on these remaining issues, and resubmit an updated version?

Thanks!

Thomas

Signature · 1 line
Alex Benn?e
#5 lore raw

PATCH v3 1/1 package/zile: add Zile is Lossy Emacs editor

Hi Alex,

Quoted 14 lines · Alex Benn?e
Quoted 1 line · Thomas Petazzoni

Dear Alex Benn?e,

<snip>

Quoted 8 lines

package/zile/Config.in line 4

Quoted 6 lines

+++ b/package/zile/Config.in

package/zile/Config.in new file +4 -0
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_ZILE
+    bool "zile"
+    select BR2_PACKAGE_LIBGC
+    depends on BR2_USE_MMU # fork()

You need to replicate the dependencies of BR2_PACKAGE_LIBGC here.

Quoted 6 lines

Surely the whole point of dependencies is the LIBGC ones get pulled in when you select LIBGC, or do you mean I need:

select BR2_PACKAGE_LIBGC
depends on BR2_PACKAGE_LIBGC
depends on BR2_USE_MMU # fork()

You need to replicate the 'depends on' statements of libgc in the config option for zile, because the select would select libgc even though its dependencies may not be met. This is more or less explained here:
http://buildroot.uclibc.org/downloads/manual/manual.html#_literal_config_in_literal_file

Best regards,
Thomas

#6 lore raw

PATCH v3 1/1 package/zile: add Zile is Lossy Emacs editor

In reply to Thomas Petazzoni
Quoted 3 lines · Thomas Petazzoni
Quoted 2 lines · Alex Benn?e

This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.

<snip>

Quoted 7 lines

checking for emacs... /usr/bin/emacs
checking Emacs version 24.3.50.1 >= 23.1... yes

=> is it normal that it references my host emacs? what is this used for?

<snip>

It looks like it uses the host emacs to verify the Zile implemented "lisp" functions perform like their big brother counterparts. They shouldn't get called unless buildroot emits a "make check".

Signature · 1 line
Alex Benn?e
#7 lore raw

PATCH v3 1/1 package/zile: add Zile is Lossy Emacs editor

In reply to Thomas Petazzoni
Quoted 7 lines · Thomas Petazzoni

Dear Alex Benn?e,

Quoted 2 lines · Alex Benn?e

This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.

There are unfortunately a few things still not good here.

<snip>

Quoted 11 lines

Also, when I build your package with the toolchain at
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full.config,
it fails to build with:

/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgc.so:
undefined reference to symbol 'pthread_cancel'
/home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
note: 'pthread_cancel' is defined in DSO /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0 so try adding it to the linker command line /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0:
could not read symbols: Invalid operation

OK I'm stuck on this one. Is this a weirdness caused my uclibc's pthread implementation? The config.log shows it's correctly detected but it fails on linking. Should I just --disable-threads for uclibc builds?

Signature · 1 line
Alex Benn?e