Explorar o código

lightning: new package

GNU lightning is a library that generates assembly language code at
run-time.

https://www.gnu.org/software/lightning/

[Thomas:
 - Wrap list of architectures in Config.in
 - Introduce an explicit Config.in option for the disassembler
   support, since it needs both binutils and zlib, which may not be
   easy to guess.
 - Add hash file.
 - Bump to version 2.0.5.
 - Add patch to fix cross-compilation issues on ARM and x86 due to
   AC_RUN_IFELSE() tests.
 - Adjust license information: the library is actually under LGPLv3+,
   not GPLv3. There is a COPYING file with the text of the GPLv3 in
   the code base, but this license doesn't seem to be used in anything
   that is actually installed.
 - Add AUTORECONF = YES since we're now patching configure.ac.
 - Add missing dependency on zlib for the disassembler support.
 - Add a special LIBS=-lintl when enabling the disassembler support
   because binutils libraries use gettext functions, but they are not
   linked against libintl.]

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Paul Cercueil %!s(int64=11) %!d(string=hai) anos
pai
achega
952391db04

+ 1 - 0
package/Config.in

@@ -928,6 +928,7 @@ menu "Other"
 	source "package/libunwind/Config.in"
 	source "package/liburcu/Config.in"
 	source "package/libuv/Config.in"
+	source "package/lightning/Config.in"
 	source "package/linux-pam/Config.in"
 	source "package/lttng-libust/Config.in"
 	source "package/mpc/Config.in"

+ 40 - 0
package/lightning/0001-cross-compilation-configure-fixes.patch

@@ -0,0 +1,40 @@
+Assume that the functionality is not present
+
+Patch written by Holger Hans Peter Freyther, and fetched from
+http://lists.gnu.org/archive/html/lightning/2014-11/msg00002.html.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 031279d..a36bed6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -184,7 +184,7 @@ elif test $cpu = x86; then
+                          : "0" (1));
+        return (edx & 1 << 26) ? 0 : 1;
+     }
+-    ]])],[ac_cv_test_x86_x87=yes],[][])
++    ]])],[ac_cv_test_x86_x87=yes],[],[ac_cv_test_x86_x87=no])
+ elif test $cpu = arm; then
+     AC_RUN_IFELSE([AC_LANG_SOURCE([[
+     #include <stdio.h>
+@@ -207,7 +207,7 @@ elif test $cpu = arm; then
+     #endif
+        return 1;
+     }
+-    ]])],[ac_cv_test_arm_arm=yes],[][])
++    ]])],[ac_cv_test_arm_arm=yes],[],[ac_cv_test_arm_arm=no])
+     AC_RUN_IFELSE([AC_LANG_SOURCE([[
+     #include <stdio.h>
+     int main(void) {
+@@ -229,7 +229,7 @@ elif test $cpu = arm; then
+     #endif
+        return 1;
+     }
+-    ]])],[ac_cv_test_arm_swf=yes],[][])
++    ]])],[ac_cv_test_arm_swf=yes],[],[ac_cv_test_arm_swf=no])
+ fi
+ CFLAGS=$save_CFLAGS

+ 26 - 0
package/lightning/Config.in

@@ -0,0 +1,26 @@
+config BR2_PACKAGE_LIGHTNING
+	bool "lightning"
+	depends on BR2_sparc || BR2_i386 || BR2_x86_64 || BR2_mips || \
+		BR2_mipsel || BR2_arm || BR2_powerpc
+	help
+	  GNU lightning is a library that generates
+	  assembly language code at run-time.
+
+	  https://www.gnu.org/software/lightning/
+
+if BR2_PACKAGE_LIGHTNING
+
+config BR2_PACKAGE_LIGHTNING_DISASSEMBLER
+	bool "enable disassembler"
+	select BR2_PACKAGE_BINUTILS
+	select BR2_PACKAGE_ZLIB
+	depends on !BR2_aarch64 && !BR2_nios2 # binutils
+	depends on BR2_USE_WCHAR # binutils
+	help
+	  Enable the GNU lightning disassembler.
+
+comment "lightning disassembler needs a toolchain w/ wchar"
+	depends on !BR2_aarch64 && !BR2_nios2
+	depends on !BR2_USE_WCHAR
+
+endif

+ 2 - 0
package/lightning/lightning.hash

@@ -0,0 +1,2 @@
+# Locally computed
+sha256 65b66a86aef8772e8c6813868da5174c4977c65b9e6cff3d4c3bb0de1a52a94a lightning-2.0.5.tar.gz

+ 23 - 0
package/lightning/lightning.mk

@@ -0,0 +1,23 @@
+################################################################################
+#
+# lightning
+#
+################################################################################
+
+LIGHTNING_VERSION = 2.0.5
+LIGHTNING_SITE = http://ftp.gnu.org/gnu/lightning/
+LIGHTNING_LICENSE = LGPLv3+
+LIGHTNING_LICENSE_FILES = COPYING.LESSER
+LIGHTNING_INSTALL_STAGING = YES
+
+# We're patching configure.ac
+LIGHTNING_AUTORECONF = YES
+
+ifeq ($(BR2_PACKAGE_LIGHTNING_DISASSEMBLER),y)
+LIGHTNING_DEPENDENCIES += binutils zlib
+LIGHTNING_CONF_OPTS += --enable-disassembler
+# binutils libraries are not explicitly linked against gettext
+LIGHTNING_CONF_ENV += $(if $(BR2_PACKAGE_GETTEXT),LIBS=-lintl)
+endif
+
+$(eval $(autotools-package))