Skip to contentSkip to conversation

Add lightweight Zile editor

PATCH New Alex Bennée 3 participants 13 messages Apr 11, 2014 – Apr 17, 2014

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

PATCH 1/3 package/libatomic: mark as supporting aarch64

package/libatomic_ops/Config.in +1 -1
index 3d5d0a8..290d0b0 100644
@@ -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
#2 lore raw

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
package/libatomic_ops/Config.in +1 -1
index 3d5d0a8..290d0b0 100644
@@ -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
#3 lore raw

PATCH 2/3 package/libgc: add Boehm-Demers-Weiser gc library

In reply to Alex Bennée

This 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
index 6abc7b3..0e7e246 100644
@@ -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
new file mode 100644
index 0000000..5bceb3d
@@ -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
new file mode 100644
index 0000000..e3c5bf1
@@ -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
#4 lore raw

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

---
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 +0 -0
index 6abc7b3..0e7e246 100644
@@ -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
new file mode 100644
index 0000000..5bceb3d
@@ -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
new file mode 100644
index 0000000..e3c5bf1

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

#5 lore raw

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_ops

This 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
#6 lore raw

PATCH 2/3 package/libgc: add Boehm-Demers-Weiser gc library

In reply to Alex Bennée

Dear 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
new file mode 100644
index 0000000..5bceb3d
@@ -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
new file mode 100644
index 0000000..e3c5bf1

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
#7 lore raw

PATCH 3/3 package/zile: add Zile is Lossy Emacs editor

In reply to Alex Bennée

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

 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
index 0e7e246..ad1f4c1 100644
@@ -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
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/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 +14 -0
new file mode 100644
index 0000000..b641fe6
@@ -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
#8 lore raw

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
#9 lore raw

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.

---
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 +0 -0
index 0e7e246..ad1f4c1 100644
@@ -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
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/remove-help2man.patch new file +0 -0
new file mode 100644
index 0000000..d397543

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; \
+-	fi
package/zile/zile.mk new file +2 -0
new file mode 100644
index 0000000..b641fe6
@@ -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

#10 lore raw

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
#11 lore raw

PATCH 3/3 package/zile: add Zile is Lossy Emacs editor

In reply to Alex Bennée

Dear 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
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

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
#12 lore raw

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 += libgc

but 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