Procházet zdrojové kódy

package/joe: Add package for the JOE editor

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

http://joe-editor.sf.net

[Peter: add uClibc patch, add to package/Config.in, optional ncurses support]
Signed-off-by: Alan Ott <alan@signal11.us>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Alan Ott před 11 roky
rodič
revize
b5502b988c

+ 1 - 0
package/Config.in

@@ -1044,6 +1044,7 @@ endmenu
 
 menu "Text editors and viewers"
 source "package/ed/Config.in"
+source "package/joe/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/less/Config.in"
 endif

+ 20 - 0
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.

+ 50 - 0
package/joe/joe-0001-disable-bessel-functions-on-uclibc.patch

@@ -0,0 +1,50 @@
+[PATCH] uClibc can be (and by default is) configured without bessel functions
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ umath.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+Index: joe-3.7/umath.c
+===================================================================
+--- joe-3.7.orig/umath.c
++++ joe-3.7/umath.c
+@@ -7,6 +7,12 @@
+  */
+ #include "types.h"
+ 
++/* uClibc can be configured without bessel functions */
++#include <features.h>
++#if defined (__UCLIBC__) && !defined(__DO_XSI_MATH__)
++#define NO_BESSEL
++#endif
++
+ unsigned char *merr;
+ 
+ int mode_hex;
+@@ -396,10 +402,12 @@
+ double m_fabs(double n) { return fabs(n); }
+ double m_erf(double n) { return erf(n); }
+ double m_erfc(double n) { return erfc(n); }
++#ifndef NO_BESSEL
+ double m_j0(double n) { return j0(n); }
+ double m_j1(double n) { return j1(n); }
+ double m_y0(double n) { return y0(n); }
+ double m_y1(double n) { return y1(n); }
++#endif
+ 
+ double calc(BW *bw, unsigned char *s)
+ {
+@@ -434,10 +442,12 @@
+ 		v = get(USTR "abs"); v->func = m_fabs;
+ 		v = get(USTR "erf"); v->func = m_erf;
+ 		v = get(USTR "erfc"); v->func = m_erfc;
++#ifndef NO_BESSEL
+ 		v = get(USTR "j0"); v->func = m_j0;
+ 		v = get(USTR "j1"); v->func = m_j1;
+ 		v = get(USTR "y0"); v->func = m_y0;
+ 		v = get(USTR "y1"); v->func = m_y1;
++#endif
+ 	}
+ 
+ 	v = get(USTR "top");

+ 25 - 0
package/joe/joe.mk

@@ -0,0 +1,25 @@
+################################################################################
+#
+# joe
+#
+################################################################################
+
+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
+
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+JOE_DEPENDENCIES += ncurses
+JOE_CONF_OPT += --enable-curses
+else
+JOE_CONF_OPT += --disable-curses
+endif
+
+ifneq ($(BR2_PACKAGE_JOE_FULL),y)
+define JOE_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/joe $(TARGET_DIR)/usr/bin/joe
+endef
+endif
+
+$(eval $(autotools-package))