All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/joe: Add package for the JOE editor
@ 2014-02-02  0:42 Alan Ott
  2014-02-02 14:41 ` Peter Korsgaard
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Ott @ 2014-02-02  0:42 UTC (permalink / raw)
  To: buildroot

JOE is an easy-to-use, full-screen, terminal-based text editor.

http://joe-editor.sf.net

Signed-off-by: Alan Ott <alan@signal11.us>
---
 package/joe/Config.in | 20 ++++++++++++++++++++
 package/joe/joe.mk    | 22 ++++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 package/joe/Config.in
 create mode 100644 package/joe/joe.mk

diff --git a/package/joe/Config.in b/package/joe/Config.in
new file mode 100644
index 0000000..e15b0f2
--- /dev/null
+++ b/package/joe/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_JOE
+	bool "joe"
+	help
+	  Joe's Own Editor
+
+	  JOE is an easy-to-use, full featured terminal-based screen editor.
+	  Its behavior is a blending of WordStar and GNU-EMACS (but it does
+	  not use code from either program).  It is a great editor for new
+	  users or as an alternative to vi.
+
+	  http://joe-editor.sf.net
+
+config BR2_PACKAGE_JOE_FULL
+	bool "full install of rc and syntax highlighting files"
+	depends on BR2_PACKAGE_JOE
+	default y
+	help
+	  Install all rc and syntax highlighting files. Without this option
+	  only the joe binary is installed, which contains a default
+	  configuration.
diff --git a/package/joe/joe.mk b/package/joe/joe.mk
new file mode 100644
index 0000000..9725dc7
--- /dev/null
+++ b/package/joe/joe.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# joe - Joe's Own Editor
+#
+################################################################################
+
+JOE_VERSION = 3.7
+JOE_SITE = http://downloads.sourceforge.net/project/joe-editor/JOE%20sources/joe-$(JOE_VERSION)
+JOE_LICENSE = GPLv1+
+JOE_LICENSE_FILES = COPYING
+JOE_MAKE_ENV =
+JOE_CONF_OPT = --disable-curses
+JOE_CONF_ENV =
+JOE_DEPENDENCIES =
+
+ifneq ($(BR2_PACKAGE_JOE_FULL),y)
+define JOE_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/joe $(TARGET_DIR)/usr/bin/joe
+endef
+endif
+
+$(eval $(autotools-package))
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/joe: Add package for the JOE editor
  2014-02-02  0:42 [Buildroot] [PATCH] package/joe: Add package for the JOE editor Alan Ott
@ 2014-02-02 14:41 ` Peter Korsgaard
  2014-02-02 21:45   ` Alan Ott
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Korsgaard @ 2014-02-02 14:41 UTC (permalink / raw)
  To: buildroot

>>>>> "Alan" == Alan Ott <alan@signal11.us> writes:

 > JOE is an easy-to-use, full-screen, terminal-based text editor.
 > http://joe-editor.sf.net

Thanks, see below for a few comments.


 > Signed-off-by: Alan Ott <alan@signal11.us>
 > ---
 >  package/joe/Config.in | 20 ++++++++++++++++++++
 >  package/joe/joe.mk    | 22 ++++++++++++++++++++++

You forgot to add it to package/Config.in


 >  2 files changed, 42 insertions(+)
 >  create mode 100644 package/joe/Config.in
 >  create mode 100644 package/joe/joe.mk

 > diff --git a/package/joe/Config.in b/package/joe/Config.in
 > new file mode 100644
 > index 0000000..e15b0f2
 > --- /dev/null
 > +++ b/package/joe/Config.in
 > @@ -0,0 +1,20 @@
 > +config BR2_PACKAGE_JOE
 > +	bool "joe"
 > +	help
 > +	  Joe's Own Editor
 > +
 > +	  JOE is an easy-to-use, full featured terminal-based screen editor.
 > +	  Its behavior is a blending of WordStar and GNU-EMACS (but it does
 > +	  not use code from either program).  It is a great editor for new
 > +	  users or as an alternative to vi.
 > +
 > +	  http://joe-editor.sf.net
 > +
 > +config BR2_PACKAGE_JOE_FULL
 > +	bool "full install of rc and syntax highlighting files"
 > +	depends on BR2_PACKAGE_JOE
 > +	default y
 > +	help
 > +	  Install all rc and syntax highlighting files. Without this option
 > +	  only the joe binary is installed, which contains a default
 > +	  configuration.
 > diff --git a/package/joe/joe.mk b/package/joe/joe.mk
 > new file mode 100644
 > index 0000000..9725dc7
 > --- /dev/null
 > +++ b/package/joe/joe.mk
 > @@ -0,0 +1,22 @@
 > +################################################################################
 > +#
 > +# joe - Joe's Own Editor

We normally only have the package name here.

 > +#
 > +################################################################################
 > +
 > +JOE_VERSION = 3.7
 > +JOE_SITE = http://downloads.sourceforge.net/project/joe-editor/JOE%20sources/joe-$(JOE_VERSION)
 > +JOE_LICENSE = GPLv1+
 > +JOE_LICENSE_FILES = COPYING
 > +JOE_MAKE_ENV =
 > +JOE_CONF_OPT = --disable-curses
 > +JOE_CONF_ENV =
 > +JOE_DEPENDENCIES =

undefined variables in make expands to nothing, so you can drop these.

We do have ncurses in buildroot, so it should enable support for it if
ncurses is enabled.


I did a test build for uClibc and I see it uses the XSI math bessel
functions which are not enabled for default, so I added a patch to
disable those if needed.

Committed with these issues fixed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/joe: Add package for the JOE editor
  2014-02-02 14:41 ` Peter Korsgaard
@ 2014-02-02 21:45   ` Alan Ott
  2014-02-02 21:58     ` Peter Korsgaard
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Ott @ 2014-02-02 21:45 UTC (permalink / raw)
  To: buildroot

On 02/02/2014 09:41 AM, Peter Korsgaard wrote:
>>>>>> "Alan" == Alan Ott <alan@signal11.us> writes:
>   > JOE is an easy-to-use, full-screen, terminal-based text editor.
>   > http://joe-editor.sf.net
>
> Thanks, see below for a few comments.
>
> You forgot to add it to package/Config.in

Oops.

>
> We do have ncurses in buildroot, so it should enable support for it if
> ncurses is enabled.

What you have is fine, but it's worth mentioning that curses support 
doesn't actually help joe anymore. If you grep through the joe source, 
it only includes ncurses in one file, and doesn't actually use anything 
out of it. The resulting binary even from a "use curses" build doesn't 
actually even link to the ncurses library (it's optimized out by the 
linker).

> I did a test build for uClibc and I see it uses the XSI math bessel
> functions which are not enabled for default, so I added a patch to
> disable those if needed.

Awesome!

> Committed with these issues fixed, thanks.

Thanks for the fixup and commit, and for all your work on Buildroot.

Alan.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/joe: Add package for the JOE editor
  2014-02-02 21:45   ` Alan Ott
@ 2014-02-02 21:58     ` Peter Korsgaard
  2014-02-03 16:27       ` Alan Ott
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Korsgaard @ 2014-02-02 21:58 UTC (permalink / raw)
  To: buildroot

>>>>> "Alan" == Alan Ott <alan@signal11.us> writes:

Hi,

 >> We do have ncurses in buildroot, so it should enable support for it if
 >> ncurses is enabled.

 > What you have is fine, but it's worth mentioning that curses support
 > doesn't actually help joe anymore. If you grep through the joe source,
 > it only includes ncurses in one file, and doesn't actually use
 > anything out of it. The resulting binary even from a "use curses"
 > build doesn't actually even link to the ncurses library (it's
 > optimized out by the linker).

Ok, it would have been good to mention that in a comment. I only did a
test build to ensure that configure detected it and the final executable
ended up getting linked with it, which was the case:

./output/host/usr/bin/arm-linux-readelf -a output/target/usr/bin/joe | \
    grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libm.so.0]
 0x00000001 (NEEDED)                     Shared library: [libncurses.so.5]
 0x00000001 (NEEDED)                     Shared library: [libutil.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.0]



 >> I did a test build for uClibc and I see it uses the XSI math bessel
 >> functions which are not enabled for default, so I added a patch to
 >> disable those if needed.

 > Awesome!

 >> Committed with these issues fixed, thanks.

 > Thanks for the fixup and commit, and for all your work on Buildroot.

You're welcome and thanks!

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/joe: Add package for the JOE editor
  2014-02-02 21:58     ` Peter Korsgaard
@ 2014-02-03 16:27       ` Alan Ott
  0 siblings, 0 replies; 5+ messages in thread
From: Alan Ott @ 2014-02-03 16:27 UTC (permalink / raw)
  To: buildroot

On 02/02/2014 04:58 PM, Peter Korsgaard wrote:
>>>>>> "Alan" == Alan Ott <alan@signal11.us> writes:
>   >> We do have ncurses in buildroot, so it should enable support for it if
>   >> ncurses is enabled.
>
>   > What you have is fine, but it's worth mentioning that curses support
>   > doesn't actually help joe anymore. If you grep through the joe source,
>   > it only includes ncurses in one file, and doesn't actually use
>   > anything out of it. The resulting binary even from a "use curses"
>   > build doesn't actually even link to the ncurses library (it's
>   > optimized out by the linker).
>
> Ok, it would have been good to mention that in a comment.

Hi Peter,

Sorry about that. :(

>   I only did a
> test build to ensure that configure detected it and the final executable
> ended up getting linked with it, which was the case:
>
> ./output/host/usr/bin/arm-linux-readelf -a output/target/usr/bin/joe | \
>      grep NEEDED
>   0x00000001 (NEEDED)                     Shared library: [libm.so.0]
>   0x00000001 (NEEDED)                     Shared library: [libncurses.so.5]
>   0x00000001 (NEEDED)                     Shared library: [libutil.so.0]
>   0x00000001 (NEEDED)                     Shared library: [libc.so.0]

Strange. It doesn't do that on x86:

alan at ato:~/work/joe-3.7$ readelf -a joe |grep NEEDED
  0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
  0x0000000000000001 (NEEDED)             Shared library: [libtinfo.so.5]
  0x0000000000000001 (NEEDED)             Shared library: [libutil.so.1]
  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

And I even checked the link step with make V=1:
     gcc  -g -O2   -o joe ... -lm -lncurses -lutil

If you want me to change it from the way it is, let me know.

Alan.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-02-03 16:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-02  0:42 [Buildroot] [PATCH] package/joe: Add package for the JOE editor Alan Ott
2014-02-02 14:41 ` Peter Korsgaard
2014-02-02 21:45   ` Alan Ott
2014-02-02 21:58     ` Peter Korsgaard
2014-02-03 16:27       ` Alan Ott

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.