diff mbox

[2/2] lightning: Added package

Message ID 1407279610-15589-2-git-send-email-paul@crapouillou.net
State Accepted
Headers show

Commit Message

Paul Cercueil Aug. 5, 2014, 11 p.m. UTC
GNU lightning is a library that generates assembly language code
at run-time.

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

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 package/Config.in              |  1 +
 package/lightning/Config.in    |  8 ++++++++
 package/lightning/lightning.mk | 18 ++++++++++++++++++
 3 files changed, 27 insertions(+)
 create mode 100644 package/lightning/Config.in
 create mode 100644 package/lightning/lightning.mk

Comments

Baruch Siach Aug. 6, 2014, 3:12 a.m. UTC | #1
Hi Paul,

On Wed, Aug 06, 2014 at 01:00:10AM +0200, Paul Cercueil wrote:
> GNU lightning is a library that generates assembly language code
> at run-time.
> 
> https://www.gnu.org/software/lightning/
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  package/Config.in              |  1 +
>  package/lightning/Config.in    |  8 ++++++++
>  package/lightning/lightning.mk | 18 ++++++++++++++++++
>  3 files changed, 27 insertions(+)
>  create mode 100644 package/lightning/Config.in
>  create mode 100644 package/lightning/lightning.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 1e4bc50..6ca10a8 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -864,6 +864,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"
> diff --git a/package/lightning/Config.in b/package/lightning/Config.in
> new file mode 100644
> index 0000000..5a7152a
> --- /dev/null
> +++ b/package/lightning/Config.in
> @@ -0,0 +1,8 @@
> +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/
> diff --git a/package/lightning/lightning.mk b/package/lightning/lightning.mk
> new file mode 100644
> index 0000000..ff3ea92
> --- /dev/null
> +++ b/package/lightning/lightning.mk
> @@ -0,0 +1,18 @@
> +################################################################################
> +#
> +# lightning
> +#
> +################################################################################
> +
> +LIGHTNING_VERSION = 2.0.4
> +LIGHTNING_SITE = http://ftp.gnu.org/gnu/lightning/
> +LIGHTNING_LICENSE = GPLv3
> +LIGHTNING_LICENSE_FILES = COPYING
> +LIGHTNING_INSTALL_STAGING = YES
> +
> +ifeq ($(BR2_PACKAGE_BINUTILS),y)
> +LIGHTNING_DEPENDENCIES += binutils
> +LIGHTNING_CONF_OPT += --enable-disassembler
> +endif

Have you tested external toolchains?

baruch

> +
> +$(eval $(autotools-package))
Paul Cercueil Aug. 9, 2014, 1:45 p.m. UTC | #2
Hi Baruch,

Le 06/08/2014 05:12, Baruch Siach a écrit :
> Hi Paul,
>
> On Wed, Aug 06, 2014 at 01:00:10AM +0200, Paul Cercueil wrote:
>> GNU lightning is a library that generates assembly language code
>> at run-time.
>>
>> https://www.gnu.org/software/lightning/
>>
>> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
>> ---
>>   package/Config.in              |  1 +
>>   package/lightning/Config.in    |  8 ++++++++
>>   package/lightning/lightning.mk | 18 ++++++++++++++++++
>>   3 files changed, 27 insertions(+)
>>   create mode 100644 package/lightning/Config.in
>>   create mode 100644 package/lightning/lightning.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 1e4bc50..6ca10a8 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -864,6 +864,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"
>> diff --git a/package/lightning/Config.in b/package/lightning/Config.in
>> new file mode 100644
>> index 0000000..5a7152a
>> --- /dev/null
>> +++ b/package/lightning/Config.in
>> @@ -0,0 +1,8 @@
>> +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/
>> diff --git a/package/lightning/lightning.mk b/package/lightning/lightning.mk
>> new file mode 100644
>> index 0000000..ff3ea92
>> --- /dev/null
>> +++ b/package/lightning/lightning.mk
>> @@ -0,0 +1,18 @@
>> +################################################################################
>> +#
>> +# lightning
>> +#
>> +################################################################################
>> +
>> +LIGHTNING_VERSION = 2.0.4
>> +LIGHTNING_SITE = http://ftp.gnu.org/gnu/lightning/
>> +LIGHTNING_LICENSE = GPLv3
>> +LIGHTNING_LICENSE_FILES = COPYING
>> +LIGHTNING_INSTALL_STAGING = YES
>> +
>> +ifeq ($(BR2_PACKAGE_BINUTILS),y)
>> +LIGHTNING_DEPENDENCIES += binutils
>> +LIGHTNING_CONF_OPT += --enable-disassembler
>> +endif
>
> Have you tested external toolchains?
>
> baruch

No I did not, as I don't use one. Furthermore, I only tested the package 
on mipsel, the list of archs specified in this package is taken from 
lightning's web page and may be incorrect (hopefully not).

Regards,

Paul

>
>> +
>> +$(eval $(autotools-package))
>
Baruch Siach Aug. 12, 2014, 9:10 a.m. UTC | #3
Hi Paul,

On Sat, Aug 09, 2014 at 03:45:07PM +0200, Paul Cercueil wrote:
> Le 06/08/2014 05:12, Baruch Siach a écrit :
> >On Wed, Aug 06, 2014 at 01:00:10AM +0200, Paul Cercueil wrote:
> >>+ifeq ($(BR2_PACKAGE_BINUTILS),y)
> >>+LIGHTNING_DEPENDENCIES += binutils
> >>+LIGHTNING_CONF_OPT += --enable-disassembler
> >>+endif
> >
> >Have you tested external toolchains?
> 
> No I did not, as I don't use one. Furthermore, I only tested the package on
> mipsel, the list of archs specified in this package is taken from
> lightning's web page and may be incorrect (hopefully not).

You can easily test external toolchains using the minimal configs at 
http://autobuild.buildroot.net/toolchains/configs/. You'll also find a few 
mipsel variants there.

If this package is not compatible with external toolchain (and so I suspect) 
then it should depend on BR2_TOOLCHAIN_BUILDROOT.

baruch
Thomas Petazzoni Aug. 12, 2014, 4:53 p.m. UTC | #4
Dear Baruch Siach,

On Tue, 12 Aug 2014 12:10:15 +0300, Baruch Siach wrote:

> If this package is not compatible with external toolchain (and so I suspect) 
> then it should depend on BR2_TOOLCHAIN_BUILDROOT.

Why do you think this package is not compatible with external
toolchain? Because of:

+ifeq ($(BR2_PACKAGE_BINUTILS),y)
+LIGHTNING_DEPENDENCIES += binutils
+LIGHTNING_CONF_OPT += --enable-disassembler
+endif

There's absolutely no problem in having the _target_ binutils package
enabled with external toolchains. So I don't see why this package would
be particularly problematic for external toolchains.

Best regards,

Thomas
Thomas Petazzoni Jan. 2, 2015, 6:16 p.m. UTC | #5
Dear Paul Cercueil,

On Wed,  6 Aug 2014 01:00:10 +0200, Paul Cercueil wrote:
> GNU lightning is a library that generates assembly language code
> at run-time.
> 
> https://www.gnu.org/software/lightning/
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  package/Config.in              |  1 +
>  package/lightning/Config.in    |  8 ++++++++
>  package/lightning/lightning.mk | 18 ++++++++++++++++++
>  3 files changed, 27 insertions(+)
>  create mode 100644 package/lightning/Config.in
>  create mode 100644 package/lightning/lightning.mk

Applied, after doing a number of changes. Note that this package was
not compiling properly with a uClibc toolchain with the disassembler
enabled.

The changes I made:

[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.]

See
http://git.buildroot.net/buildroot/commit/?id=952391db0477d1baa9c451fe0b3dabbfaef5a9b7
for the final commit.

Thanks,

Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 1e4bc50..6ca10a8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -864,6 +864,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"
diff --git a/package/lightning/Config.in b/package/lightning/Config.in
new file mode 100644
index 0000000..5a7152a
--- /dev/null
+++ b/package/lightning/Config.in
@@ -0,0 +1,8 @@ 
+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/
diff --git a/package/lightning/lightning.mk b/package/lightning/lightning.mk
new file mode 100644
index 0000000..ff3ea92
--- /dev/null
+++ b/package/lightning/lightning.mk
@@ -0,0 +1,18 @@ 
+################################################################################
+#
+# lightning
+#
+################################################################################
+
+LIGHTNING_VERSION = 2.0.4
+LIGHTNING_SITE = http://ftp.gnu.org/gnu/lightning/
+LIGHTNING_LICENSE = GPLv3
+LIGHTNING_LICENSE_FILES = COPYING
+LIGHTNING_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_BINUTILS),y)
+LIGHTNING_DEPENDENCIES += binutils
+LIGHTNING_CONF_OPT += --enable-disassembler
+endif
+
+$(eval $(autotools-package))