summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/gmp
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2015-08-27 16:05:59 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-01 11:43:59 +0100
commit6fac60da96eee89d5b7c2156bbb92fe72dc28aef (patch)
treeaf55f9157508f35ece55c012d3e8cb25ac532e71 /meta/recipes-support/gmp
parentb9ade91413f56ffeeeec753a45e3d1d64efe4802 (diff)
downloadpoky-6fac60da96eee89d5b7c2156bbb92fe72dc28aef.tar.gz
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] (From OE-Core rev: 1adec83621f36a3dd748990c307ca4ebebcdd554) 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.patch39
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch56
-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.inc19
-rw-r--r--meta/recipes-support/gmp/gmp_4.2.1.bb15
-rw-r--r--meta/recipes-support/gmp/gmp_6.0.0.bb33
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 @@
1This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly
2dropped.
3
4Upstream is not interested in patches for ancient versions.
5
6Upstream-Status: Inappropriate
7Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
8
9# "extern inline" in traditional gcc means that the function should be
10# inlined wherever it's seen, while in C99, "extern inline" means that i
11# the function should only be inlined where the inline definition is
12# seen while in other places it's not inlined:
13# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
14#
15# gmp checks "--std=gnu99" to use C99 convention however it internally
16# defines some "extern inline" functions in gmp.h, which is included
17# by mainly .c files and finally lead a flood of redefinition function
18# errors when linking objects together.
19#
20# So disable C99/ANSI detection to stick to tranditional gcc behavior
21#
22# by Kevin Tian <kevin.tian@intel.com>, 2010-08-13
23#
24# (this patch is licensed under GPLv2+)
25
26diff --git a/configure.in b/configure.in
27index 450cc92..aab0b59 100644
28--- a/configure.in
29+++ b/configure.in
30@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
31
32 # The C compiler and preprocessor, put into ANSI mode if possible.
33 AC_PROG_CC
34-AC_PROG_CC_STDC
35 AC_PROG_CPP
36-GMP_H_ANSI
37
38
39 # 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 @@
1automake 1.12 has depricated automatic de-ANSI-fication support
2
3this patch avoids these kinds of errors:
4
5| configure.in:2240: error: automatic de-ANSI-fication support has been removed
6| Makefile.am:28: error: automatic de-ANSI-fication support has been removed
7
8Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
92012/05/02
10
11
12This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly
13dropped.
14
15Upstream is not interested in patches for ancient versions.
16
17Upstream-Status: Inappropriate
18Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
19
20
21Index: gmp-4.2.1/configure.in
22===================================================================
23--- gmp-4.2.1.orig/configure.in
24+++ gmp-4.2.1/configure.in
25@@ -67,7 +67,7 @@ dnl
26 dnl Note that there's a copy of these options in the top-level Makefile.am,
27 dnl so update there too if changing anything.
28 dnl
29-AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr])
30+AM_INIT_AUTOMAKE([1.8 gnu no-dependencies])
31 AM_CONFIG_HEADER(config.h:config.in)
32 AM_MAINTAINER_MODE
33
34@@ -2022,9 +2022,6 @@ fi
35 echo " MPN_PATH=\"$path\""
36
37
38-# Automake ansi2knr support.
39-AM_C_PROTOTYPES
40-
41 GMP_PROG_AR
42 GMP_PROG_NM
43
44Index: gmp-4.2.1/Makefile.am
45===================================================================
46--- gmp-4.2.1.orig/Makefile.am
47+++ gmp-4.2.1/Makefile.am
48@@ -27,7 +27,7 @@
49 # Makefiles in subdirectories, but here we must omit it so automake gives
50 # the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr".
51 #
52-AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr
53+AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies
54
55
56 # 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"
2SUMMARY = "GNU multiprecision arithmetic library" 2SUMMARY = "GNU multiprecision arithmetic library"
3DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers" 3DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers"
4HOMEPAGE = "http://gmplib.org/" 4HOMEPAGE = "http://gmplib.org/"
5LICENSE = "GPLv3 LGPLv3"
6 5
7REVISION ?= "" 6REVISION ?= ""
8 7SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2"
9SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \
10 file://configure.patch \
11 file://amd64.patch "
12 8
13inherit autotools texinfo 9inherit autotools texinfo
14 10
15ARM_INSTRUCTION_SET = "arm" 11ARM_INSTRUCTION_SET = "arm"
16 12
17acpaths = ""
18
19BBCLASSEXTEND = "native nativesdk" 13BBCLASSEXTEND = "native nativesdk"
20 14
21PACKAGECONFIG ??= "" 15PACKAGECONFIG ??= ""
22PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline" 16PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline"
23
24EXTRA_OECONF += " --enable-cxx=detect"
25
26PACKAGES =+ "libgmpxx"
27FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
28
29do_install_append_class-target() {
30 sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
31}
32
33SSTATE_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 @@
1require gmp.inc
2
3LICENSE = "LGPLv2.1+ & GPLv2+"
4LICENSE_${PN} = "LGPLv2.1+"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \
7 file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \
8 file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34"
9
10SRC_URI += "file://disable-stdc.patch \
11 file://gmp_fix_for_automake-1.12.patch \
12 "
13
14SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3"
15SRC_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 @@
1require gmp.inc 1require gmp.inc
2LICENSE="GPLv2 | LGPLv3" 2
3LICENSE="GPLv2+ | LGPLv3+"
4
3REVISION="a" 5REVISION="a"
6
4LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
5 file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ 8 file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
6 file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 9 file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7"
8SRC_URI_append = " file://use-includedir.patch \
9 file://append_user_provided_flags.patch \
10 file://gmp-6.0.0-ppc64.patch \
11" 10"
12 11
12SRC_URI += "file://configure.patch \
13 file://amd64.patch \
14 file://use-includedir.patch \
15 file://append_user_provided_flags.patch \
16 file://gmp-6.0.0-ppc64.patch \
17 "
13SRC_URI[md5sum] = "b7ff2d88cae7f8085bd5006096eed470" 18SRC_URI[md5sum] = "b7ff2d88cae7f8085bd5006096eed470"
14SRC_URI[sha256sum] = "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf" 19SRC_URI[sha256sum] = "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf"
20
21acpaths = ""
22
23EXTRA_OECONF += " --enable-cxx=detect"
24
25PACKAGES =+ "libgmpxx"
26FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
27
28do_install_append_class-target() {
29 sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
30}
31
32SSTATE_SCAN_FILES += "gmp.h"
33