Add lightweight Zile editor
cover Add lightweight Zile editor
Hi,
I've updated the patches based on review comments. There is a new patch just to enable the existing libatmomic to be built for aarch64 (the platform I'm testing on). As a result the ugly hackage in the gc library build has gone away.
Cheers,
--
Alex Benn?e
QEMU/KVM Hacker for Linaro
Alex Benn?e (3):
package/libatomic: mark as supporting aarch64 package/libgc: add Boehm-Demers-Weiser gc library package/zile: add Zile is Lossy Emacs editor
package/Config.in | 2 ++ package/libatomic_ops/Config.in | 2 +- package/libgc/Config.in | 10 ++++++++++ package/libgc/libgc.mk | 15 +++++++++++++++ package/zile/Config.in | 13 +++++++++++++ package/zile/remove-help2man.patch | 30 ++++++++++++++++++++++++++++++ package/zile/zile.mk | 14 ++++++++++++++ 7 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 package/libgc/Config.in create mode 100644 package/libgc/libgc.mk create mode 100644 package/zile/Config.in create mode 100644 package/zile/remove-help2man.patch create mode 100644 package/zile/zile.mk
Signature · 1 line
1.9.2
PATCH 1/3 package/libatomic: mark as supporting aarch64
package/libatomic_ops/Config.in +1 -1
@@ -1,5 +1,5 @@ config BR2_PACKAGE_LIBATOMIC_OPS bool "libatomic_ops" - depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64 + depends on BR2_arm || BR2_armeb || BR_aarch64 || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64 help Atomic operations library
Signature · 1 line
1.9.2
PATCH 1/3 package/libatomic: mark as supporting aarch64
Dear Alex Benn?e,
package/libatomic_ops/Config.in line 3
Quoted 11 lines · Alex Benn?e
Signed-off-by Alex Benn?e <[email protected]>package/libatomic_ops/Config.in +1
-1@@ -1,5 +1,5 @@ config BR2_PACKAGE_LIBATOMIC_OPS bool "libatomic_ops" - depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64 + depends on BR2_arm || BR2_armeb || BR_aarch64 || BR2_i386 || BR2_sparc || BR2_powerpc || BR2_x86_64
^^^^ how could this even
work ?
Anyway, I've committed your patch with this fixed to BR2_aarch64.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/3 package/libgc: add Boehm-Demers-Weiser gc library
In reply to Alex BennéeThis is needed for applications like Zile
---
v2
- fix whitespace
- proper dependancies
- use system libatomic
create mode 100644 package/libgc/Config.in create mode 100644 package/libgc/libgc.mk
package/Config.in +1 -0
@@ -788,6 +788,7 @@ source "package/libev/Config.in" source "package/libevdev/Config.in" source "package/libevent/Config.in" source "package/libffi/Config.in" +source "package/libgc/Config.in" source "package/libglib2/Config.in" source "package/libical/Config.in" source "package/libnspr/Config.in"
package/libgc/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBGC + bool "libgc" + select BR2_PACKAGE_LIBATOMIC_OPS + help + The Boehm-Demers-Weiser conservative garbage collector can be used + as a garbage collecting replacement for C malloc or C++ new. It allows + you to allocate memory basically as you normally would, without + explicitly deallocating memory that is no longer useful. + + http://www.hboehm.info/gc/
package/libgc/libgc.mk new file +15 -0
@@ -0,0 +1,15 @@ +################################################################################ +# +# libgc +# +################################################################################ + +LIBGC_VERSION = 7.4.0 +LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz +LIBGC_SITE = http://www.hboehm.info/gc/gc_source/ +LIBGC_DEPENDANCIES += libatomic_ops +LIBGC_LICENSE = GPLv1+ +LIBGC_LICENSE_FILES = COPYING +LIBGC_INSTALL_STAGING = YES + +$(eval $(autotools-package))
Signature · 1 line
1.9.2
PATCH 2/3 package/libgc: add Boehm-Demers-Weiser gc library
"Alex Benn?e" <[email protected]> schreef:
Quoted 47 lines
This is needed for applications like Zile
Signed-off-by Alex Benn?e <[email protected]>---
v2
- fix whitespace
- proper dependancies
- use system libatomiccreate mode 100644 package/libgc/Config.in
create mode 100644package/libgc/libgc.mkpackage/Config.in +0
-0@@ -788,6 +788,7 @@ source "package/libev/Config.in"source "package/libevdev/Config.in"
source "package/libevent/Config.in"
source "package/libffi/Config.in"
+source "package/libgc/Config.in"
source "package/libglib2/Config.in"
source "package/libical/Config.in"
source "package/libnspr/Config.in"package/libgc/Config.in new file +10
-0@@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBGC + bool "libgc" + select BR2_PACKAGE_LIBATOMIC_OPS + help + The Boehm-Demers-Weiser conservative garbage collector can be used + as a garbage collecting replacement for C malloc or C++ new. It allows + you to allocate memory basically as you normally would, without + explicitly deallocating memory that is no longer useful. + + http://www.hboehm.info/gc/package/libgc/libgc.mk new file +0
-0
package/libgc/libgc.mk line 10
Quoted 10 lines
package/libgc/libgc.mk new file +10
-0@@ -0,0 +1,15 @@ +################################################################################ +# +# libgc +# +################################################################################ + +LIBGC_VERSION = 7.4.0 +LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz +LIBGC_SITE = http://www.hboehm.info/gc/gc_source/ +LIBGC_DEPENDANCIES += libatomic_ops
This should be: ..._DEPENDENCIES with E.
package/libgc/libgc.mk line 15
Quoted 5 lines
package/libgc/libgc.mk new file +5
-0+LIBGC_LICENSE = GPLv1+ +LIBGC_LICENSE_FILES = COPYING +LIBGC_INSTALL_STAGING = YES + +$(eval $(autotools-package))
Best regards,
Thomas
PATCH 2/3 package/libgc: add Boehm-Demers-Weiser gc library
Dear Thomas De Schampheleire,
Quoted 6 lines · Thomas De Schampheleire
package/libgc/libgc.mk line 10
Quoted 4 lines
package/libgc/libgc.mk new file +4
-0+LIBGC_VERSION = 7.4.0 +LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz +LIBGC_SITE = http://www.hboehm.info/gc/gc_source/ +LIBGC_DEPENDANCIES += libatomic_opsThis should be: ..._DEPENDENCIES with E.
And the += is not needed, a simple = is sufficient here.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Thomas Petazzoni
AppliedPATCH 2/3 package/libgc: add Boehm-Demers-Weiser gc library
In reply to Alex BennéeDear Alex Benn?e,
I applied your patch, but there were several problems to fix. See below for details.
package/libgc/Config.in line 3
Quoted 9 lines · Alex Benn?e
package/libgc/Config.in new file +3
-0@@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBGC + bool "libgc" + select BR2_PACKAGE_LIBATOMIC_OPS
When you select a package, you need to duplicate the dependencies of that package. So here, you should have duplicate the dependencies of the libatomic_ops package. To make this easier, I've made a small change to the libatomic_ops package so that it provides a BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS Config.in option that other packages can depend on.
Quoted 13 lines
package/libgc/Config.in new file +7
-0+ help + The Boehm-Demers-Weiser conservative garbage collector can be used + as a garbage collecting replacement for C malloc or C++ new. It allows + you to allocate memory basically as you normally would, without + explicitly deallocating memory that is no longer useful. + + http://www.hboehm.info/gc/package/libgc/libgc.mk new file +0
-0
package/libgc/libgc.mk line 8
Quoted 8 lines
package/libgc/libgc.mk new file +8
-0@@ -0,0 +1,15 @@ +################################################################################ +# +# libgc +# +################################################################################ + +LIBGC_VERSION = 7.4.0 +LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz
We normally use $(...) to reference make variables, not ${...}.
package/libgc/libgc.mk line 10
Quoted 2 lines
package/libgc/libgc.mk new file +2
-0+LIBGC_SITE = http://www.hboehm.info/gc/gc_source/ +LIBGC_DEPENDANCIES += libatomic_ops
It should have been DEPENDENCIES, and the += is unnecessary, = is enough.
package/libgc/libgc.mk line 11
Quoted 1 line
package/libgc/libgc.mk new file +1
-0+LIBGC_LICENSE = GPLv1+
libgc is apparently not under GPLv1+, but under some X11-like permissive license.
package/libgc/libgc.mk line 12
Quoted 1 line
package/libgc/libgc.mk new file +1
-0+LIBGC_LICENSE_FILES = COPYING
There was no file named COPYING, the copyright details are found in the README.md file.
package/libgc/libgc.mk line 15
Quoted 3 lines
package/libgc/libgc.mk new file +3
-0+LIBGC_INSTALL_STAGING = YES + +$(eval $(autotools-package))
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 3/3 package/zile: add Zile is Lossy Emacs editor
In reply to Alex BennéeThis 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
create mode 100644 package/zile/Config.in create mode 100644 package/zile/remove-help2man.patch create mode 100644 package/zile/zile.mk
package/Config.in +1 -0
@@ -1119,6 +1119,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
@@ -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/remove-help2man.patch new file +30 -0
@@ -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 +14 -0
@@ -0,0 +1,14 @@ +################################################################################ +# +# Zile +# +################################################################################ + +ZILE_VERSION = 2.4.11 +ZILE_SITE = http://ftp.gnu.org/gnu/zile/ +ZILE_LICENSE = GPLv1+ +ZILE_LICENSE_FILES = COPYING +ZILE_CONF_OPT += --without-help2man +ZILE_DEPENDANCIES += libgc + +$(eval $(autotools-package))
Signature · 1 line
1.9.2
PATCH 3/3 package/zile: add Zile is Lossy Emacs editor
Quoted 2 lines · Alex Benn?e
This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.
I forgot to mention the disable patch was never sent upstream as their policy is not to submit tweaks to the configure scripts. The alternative is to submit a patch upstream that enables the disabling of document generation.
Signature · 1 line
Alex Benn?e
PATCH 3/3 package/zile: add Zile is Lossy Emacs editor
In reply to Alex Bennée"Alex Benn?e" <[email protected]> schreef:
package/zile/remove-help2man.patch
Quoted 51 lines
This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.
Signed-off-by Alex Benn?e <[email protected]>---
v2 - review comments
* fixup dependancies
* add s-o-b tag to patch
* fix whitespacecreate mode 100644 package/zile/Config.in create mode 100644
package/zile/remove-help2man.patchcreate mode 100644package/zile/zile.mkpackage/Config.in +0
-0@@ -1119,6 +1119,7 @@ source "package/uemacs/Config.in"if
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/vim/Config.in"
endif
+source "package/zile/Config.in"
endmenuendmenu
package/zile/Config.in new file +13
-0@@ -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/remove-help2man.patch new file +0
-0
Patches are supposed to be called: pkgname-0001-description.patch
Quoted 39 lines
package/zile/remove-help2man.patch new file +30
-0@@ -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; \ +- fipackage/zile/zile.mk new file +2
-0@@ -0,0 +1,14 @@ +################################################################################ +#
package/zile/zile.mk line 12
Quoted 10 lines
package/zile/zile.mk new file +10
-0+# Zile +# +################################################################################ + +ZILE_VERSION = 2.4.11 +ZILE_SITE = http://ftp.gnu.org/gnu/zile/ +ZILE_LICENSE = GPLv1+ +ZILE_LICENSE_FILES = COPYING +ZILE_CONF_OPT += --without-help2man +ZILE_DEPENDANCIES += libgc
DEPENDENCIES
Best regards,
Thomas
PATCH 3/3 package/zile: add Zile is Lossy Emacs editor
Quoted 4 lines · Thomas De Schampheleire
"Alex Benn?e" <[email protected]> schreef:
Quoted 3 lines
This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded.
<snip>
Quoted 2 lines
Patches are supposed to be called: pkgname-0001-description.patch
ok, I'll fix that up.
Quoted 2 lines
DEPENDENCIES
oops, sorry.
Quoted 3 lines
Best regards,
Thomas
Signature · 1 line
Alex Benn?e
PATCH 3/3 package/zile: add Zile is Lossy Emacs editor
In reply to Alex BennéeDear Alex Benn?e,
package/zile/remove-help2man.patch line 5
Quoted 11 lines · Alex Benn?e
package/zile/remove-help2man.patch new file +5
-0@@ -0,0 +1,30 @@ +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Alex Benn?e <[email protected]> + +diff --git a/Makefile.am b/Makefile.am
You're patching Makefile.am here...
package/zile/remove-help2man.patch line 11
Quoted 6 lines
package/zile/remove-help2man.patch new file +6
-0+ZILE_VERSION = 2.4.11 +ZILE_SITE = http://ftp.gnu.org/gnu/zile/ +ZILE_LICENSE = GPLv1+ +ZILE_LICENSE_FILES = COPYING +ZILE_CONF_OPT += --without-help2man +ZILE_DEPENDANCIES += libgc
but you never mark zile as requiring autoreconf using ZILE_AUTORECONF = YES. How can this work?
Also, use '=' instead of '+=' above.
And use $(BR2_GNU_MIRROR) for the download URL.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 3/3 package/zile: add Zile is Lossy Emacs editor
Thomas Petazzoni <[email protected]> writes:
<snip>
Quoted 5 lines
Quoted 1 line
+diff --git a/Makefile.am b/Makefile.am
You're patching Makefile.am here...
Quoted 9 lines
package/zile/zile.mk line 12
Quoted 6 lines
package/zile/zile.mk new file +6
-0+ZILE_VERSION = 2.4.11 +ZILE_SITE = http://ftp.gnu.org/gnu/zile/ +ZILE_LICENSE = GPLv1+ +ZILE_LICENSE_FILES = COPYING +ZILE_CONF_OPT += --without-help2man +ZILE_DEPENDANCIES += libgcbut you never mark zile as requiring autoreconf using
ZILE_AUTORECONF= YES. How can this work?
I assume the make machinery picked it up, will fix.
Quoted 6 lines
Also, use '=' instead of '+=' above.
And use $(BR2_GNU_MIRROR) for the download URL.
Thanks!
Will send v3 once I've re-built and tested.
Quoted 2 lines
Thomas
Signature · 1 line
Alex Benn?e