diff options
author | Jussi Kukkonen <jussi.kukkonen@intel.com> | 2015-08-27 16:05:59 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-31 12:25:27 +0100 |
commit | 1adec83621f36a3dd748990c307ca4ebebcdd554 (patch) | |
tree | f28d42b38adb761730c497505d62a7d853ff60b8 /meta/recipes-support/gmp | |
parent | 1c2f26ed3e98d6b702c21012bb9652d16798f2b2 (diff) | |
download | openembedded-core-1adec83621f36a3dd748990c307ca4ebebcdd554.tar.gz openembedded-core-1adec83621f36a3dd748990c307ca4ebebcdd554.tar.bz2 openembedded-core-1adec83621f36a3dd748990c307ca4ebebcdd554.zip |
gmp: Bring back version 4.2.1 (LGPL 2.1+)
gmp 4.2.1 was removed in f181c6ce8b apparently accidentally: It
was not noticed that 4.2.1 is LGPL 2.1 (and not GPL) so provides
a useful alternative to the newer "GPLv2 | LGPLv3" version.
* Reintroduce 4.2.1. The source includes files that are GPL but the
library package is LGPL 2.1+
* Also reintroduce the two patches removed in f181c6ce8b.
* Refactor gmp.inc: gmp 6.0.0 build should not be affected in any way.
* Update 6.0.0 license from "GPLv2 | LGPLv3" to "GPLv2+ | LGPLv3+".
[YOCTO #8197]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/gmp')
-rw-r--r-- | meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch | 39 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch | 56 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp-6.0.0/amd64.patch (renamed from meta/recipes-support/gmp/gmp/amd64.patch) | 0 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch (renamed from meta/recipes-support/gmp/gmp/append_user_provided_flags.patch) | 0 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp-6.0.0/configure.patch (renamed from meta/recipes-support/gmp/gmp/configure.patch) | 0 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch (renamed from meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch) | 0 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch (renamed from meta/recipes-support/gmp/gmp/use-includedir.patch) | 0 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp.inc | 19 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp_4.2.1.bb | 15 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp_6.0.0.bb | 33 |
10 files changed, 137 insertions, 25 deletions
diff --git a/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch b/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch new file mode 100644 index 0000000000..5decb1cec5 --- /dev/null +++ b/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch @@ -0,0 +1,39 @@ +This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly +dropped. + +Upstream is not interested in patches for ancient versions. + +Upstream-Status: Inappropriate +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> + +# "extern inline" in traditional gcc means that the function should be +# inlined wherever it's seen, while in C99, "extern inline" means that i +# the function should only be inlined where the inline definition is +# seen while in other places it's not inlined: +# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html +# +# gmp checks "--std=gnu99" to use C99 convention however it internally +# defines some "extern inline" functions in gmp.h, which is included +# by mainly .c files and finally lead a flood of redefinition function +# errors when linking objects together. +# +# So disable C99/ANSI detection to stick to tranditional gcc behavior +# +# by Kevin Tian <kevin.tian@intel.com>, 2010-08-13 +# +# (this patch is licensed under GPLv2+) + +diff --git a/configure.in b/configure.in +index 450cc92..aab0b59 100644 +--- a/configure.in ++++ b/configure.in +@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB) + + # The C compiler and preprocessor, put into ANSI mode if possible. + AC_PROG_CC +-AC_PROG_CC_STDC + AC_PROG_CPP +-GMP_H_ANSI + + + # The C compiler on the build system, and associated tests. diff --git a/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch b/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch new file mode 100644 index 0000000000..63aed05ece --- /dev/null +++ b/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch @@ -0,0 +1,56 @@ +automake 1.12 has depricated automatic de-ANSI-fication support + +this patch avoids these kinds of errors: + +| configure.in:2240: error: automatic de-ANSI-fication support has been removed +| Makefile.am:28: error: automatic de-ANSI-fication support has been removed + +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +2012/05/02 + + +This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly +dropped. + +Upstream is not interested in patches for ancient versions. + +Upstream-Status: Inappropriate +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> + + +Index: gmp-4.2.1/configure.in +=================================================================== +--- gmp-4.2.1.orig/configure.in ++++ gmp-4.2.1/configure.in +@@ -67,7 +67,7 @@ dnl + dnl Note that there's a copy of these options in the top-level Makefile.am, + dnl so update there too if changing anything. + dnl +-AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr]) ++AM_INIT_AUTOMAKE([1.8 gnu no-dependencies]) + AM_CONFIG_HEADER(config.h:config.in) + AM_MAINTAINER_MODE + +@@ -2022,9 +2022,6 @@ fi + echo " MPN_PATH=\"$path\"" + + +-# Automake ansi2knr support. +-AM_C_PROTOTYPES +- + GMP_PROG_AR + GMP_PROG_NM + +Index: gmp-4.2.1/Makefile.am +=================================================================== +--- gmp-4.2.1.orig/Makefile.am ++++ gmp-4.2.1/Makefile.am +@@ -27,7 +27,7 @@ + # Makefiles in subdirectories, but here we must omit it so automake gives + # the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr". + # +-AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr ++AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies + + + # Libtool -version-info for libgmp.la and libmp.la. See "Versioning" in the diff --git a/meta/recipes-support/gmp/gmp/amd64.patch b/meta/recipes-support/gmp/gmp-6.0.0/amd64.patch index 564d12d42b..564d12d42b 100644 --- a/meta/recipes-support/gmp/gmp/amd64.patch +++ b/meta/recipes-support/gmp/gmp-6.0.0/amd64.patch diff --git a/meta/recipes-support/gmp/gmp/append_user_provided_flags.patch b/meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch index ae1386c4c1..ae1386c4c1 100644 --- a/meta/recipes-support/gmp/gmp/append_user_provided_flags.patch +++ b/meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch diff --git a/meta/recipes-support/gmp/gmp/configure.patch b/meta/recipes-support/gmp/gmp-6.0.0/configure.patch index 349da3c6b0..349da3c6b0 100644 --- a/meta/recipes-support/gmp/gmp/configure.patch +++ b/meta/recipes-support/gmp/gmp-6.0.0/configure.patch diff --git a/meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch b/meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch index 1113b41ecd..1113b41ecd 100644 --- a/meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch +++ b/meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch diff --git a/meta/recipes-support/gmp/gmp/use-includedir.patch b/meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch index 74904a2530..74904a2530 100644 --- a/meta/recipes-support/gmp/gmp/use-includedir.patch +++ b/meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch diff --git a/meta/recipes-support/gmp/gmp.inc b/meta/recipes-support/gmp/gmp.inc index 65cde21a7d..6752a39d13 100644 --- a/meta/recipes-support/gmp/gmp.inc +++ b/meta/recipes-support/gmp/gmp.inc @@ -2,32 +2,15 @@ SECTION = "devel" SUMMARY = "GNU multiprecision arithmetic library" DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers" HOMEPAGE = "http://gmplib.org/" -LICENSE = "GPLv3 LGPLv3" REVISION ?= "" - -SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \ - file://configure.patch \ - file://amd64.patch " +SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2" inherit autotools texinfo ARM_INSTRUCTION_SET = "arm" -acpaths = "" - BBCLASSEXTEND = "native nativesdk" PACKAGECONFIG ??= "" PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline" - -EXTRA_OECONF += " --enable-cxx=detect" - -PACKAGES =+ "libgmpxx" -FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}" - -do_install_append_class-target() { - sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h -} - -SSTATE_SCAN_FILES += "gmp.h" diff --git a/meta/recipes-support/gmp/gmp_4.2.1.bb b/meta/recipes-support/gmp/gmp_4.2.1.bb new file mode 100644 index 0000000000..928c01a5bb --- /dev/null +++ b/meta/recipes-support/gmp/gmp_4.2.1.bb @@ -0,0 +1,15 @@ +require gmp.inc + +LICENSE = "LGPLv2.1+ & GPLv2+" +LICENSE_${PN} = "LGPLv2.1+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \ + file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ + file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34" + +SRC_URI += "file://disable-stdc.patch \ + file://gmp_fix_for_automake-1.12.patch \ + " + +SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3" +SRC_URI[sha256sum] = "d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941" diff --git a/meta/recipes-support/gmp/gmp_6.0.0.bb b/meta/recipes-support/gmp/gmp_6.0.0.bb index 6218491142..19b63e5683 100644 --- a/meta/recipes-support/gmp/gmp_6.0.0.bb +++ b/meta/recipes-support/gmp/gmp_6.0.0.bb @@ -1,14 +1,33 @@ require gmp.inc -LICENSE="GPLv2 | LGPLv3" + +LICENSE="GPLv2+ | LGPLv3+" + REVISION="a" + LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ -" -SRC_URI_append = " file://use-includedir.patch \ - file://append_user_provided_flags.patch \ - file://gmp-6.0.0-ppc64.patch \ + file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ " +SRC_URI += "file://configure.patch \ + file://amd64.patch \ + file://use-includedir.patch \ + file://append_user_provided_flags.patch \ + file://gmp-6.0.0-ppc64.patch \ + " SRC_URI[md5sum] = "b7ff2d88cae7f8085bd5006096eed470" SRC_URI[sha256sum] = "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf" + +acpaths = "" + +EXTRA_OECONF += " --enable-cxx=detect" + +PACKAGES =+ "libgmpxx" +FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}" + +do_install_append_class-target() { + sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h +} + +SSTATE_SCAN_FILES += "gmp.h" + |