Browse Source

package/libffi: bump version to 3.4.6

Removed patch 0001 and instead added new configure option
--disable-multi-os-directory which was added upstream:
https://github.com/libffi/libffi/commit/877ea9bf9ac2c98cb858c12f5a6aeeec13cf978f

Removed patch 0003 due to various upstream fixes for mips soft-float
support since its addition in 2016:
https://github.com/libffi/libffi/commits/master/src/mips

Renumbered remaining patch.

Updated license hash due to copyright year bump:
https://github.com/libffi/libffi/commit/91739a1a912476adbf1e0e4dcb091b9a2c5007d9

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Reviewed-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Tested-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[yann.morin.1998@free.fr: fix check-package]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Bernd Kuhls 1 year ago
parent
commit
f382de2b0f

+ 1 - 3
.checkpackageignore

@@ -594,9 +594,7 @@ package/libedit/0001-check-bsd-functions-in-libbsd.patch Upstream
 package/libevent/0001-Don-t-define-BIO_get_init-for-LibreSSL-3-5.patch Upstream
 package/libfcgi/0001-link-against-math.patch Upstream
 package/libfcgi/0002-disable-examples.patch Sob Upstream
-package/libffi/0001-Fix-installation-location-of-libffi.patch Upstream
-package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch Upstream
-package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch Upstream
+package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch Upstream
 package/libfm/0001-modules-fix-cross-compilation.patch Upstream
 package/libfreeimage/0001-no-root-install.patch Upstream
 package/libfreeimage/0002-fix-cpuid-x86.patch Upstream

+ 0 - 55
package/libffi/0001-Fix-installation-location-of-libffi.patch

@@ -1,55 +0,0 @@
-From 580f46a7bc6e9fea3a2227b5268cc3aed1d60e3b Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Thu, 7 Feb 2013 22:26:56 +0100
-Subject: [PATCH] Fix installation location of libffi
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The libffi is currently declared as toolexeclib_LTLIBRARIES. In many
-cases, toolexeclib libraries will be installed in /usr/lib, so it
-doesn't make any difference.
-
-However, with multilib toolchains, they get installed in a
-subdirectory of /usr/lib/. For example, with a Sourcery CodeBench
-PowerPC toolchain, if the e500mc multilib variant is used, the libffi
-library gets installed in /usr/lib/te500mc/. This is due to the
-following code in the configure script:
-
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-Once the library is installed in /usr/lib/te500mc/, nothing works
-because this installation location is inconsistent with the
-installation location declared in libffi.pc.
-
-So, instead of using this bizarre toolexeclib_LTLIBRARIES, simply use
-the more standard lib_LTLIBRARIES, which ensures that the libffi
-library is always installed in /usr/lib.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-[unfuzz for 3.2.1]
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 0e40451..309474c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -104,7 +104,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
- 
- MAKEOVERRIDES=
- 
--toolexeclib_LTLIBRARIES = libffi.la
-+lib_LTLIBRARIES = libffi.la
- noinst_LTLIBRARIES = libffi_convenience.la
- 
- libffi_la_SOURCES = src/prep_cif.c src/types.c \
--- 
-2.5.3
-

+ 3 - 1
package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch → package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch

@@ -15,6 +15,8 @@ Mips and compiler support it.
 Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
 [unfuzz for 3.2.1]
 Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
+[rebased for 3.4.6]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
 ---
  configure.ac | 10 ++++++++++
  1 file changed, 10 insertions(+)
@@ -23,7 +25,7 @@ diff --git a/configure.ac b/configure.ac
 index a7bf5ee..36cd0d4 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -469,6 +469,16 @@ esac
+@@ -238,6 +238,16 @@ esac
  AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
  AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
  

+ 0 - 44
package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch

@@ -1,44 +0,0 @@
-From 48bc37fabbc685b1e3293055bd33ca66c619305e Mon Sep 17 00:00:00 2001
-From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-Date: Wed, 13 Jan 2016 14:49:59 +0000
-Subject: [PATCH] libffi: enable hardfloat in the MIPS assembly code
-
-This way it will be possible to build it for soft-float. This is only a
-temporary fix. The package needs to be fixed properly.
-
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-[Update for 3.3-rc0]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- src/mips/n32.S | 1 +
- src/mips/o32.S | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/src/mips/n32.S b/src/mips/n32.S
-index c6985d3..dc842d5 100644
---- a/src/mips/n32.S
-+++ b/src/mips/n32.S
-@@ -44,6 +44,7 @@
- #endif
- #if !defined(__mips_isa_rev) || (__mips_isa_rev<6)
- 	.set mips4
- #endif
-+	.set hardfloat
- 	.text
- 	.align	2
- 	.globl	ffi_call_N32
-diff --git a/src/mips/o32.S b/src/mips/o32.S
-index eb27981..b653daf 100644
---- a/src/mips/o32.S
-+++ b/src/mips/o32.S
-@@ -42,6 +42,7 @@
- #define RA_OFF		(SIZEOF_FRAME - 1 * FFI_SIZEOF_ARG)
- 
- 	.abicalls
-+	.set hardfloat
- 	.text
- 	.align	2
- 	.globl	ffi_call_O32
--- 
-2.4.10
-

+ 2 - 2
package/libffi/libffi.hash

@@ -1,4 +1,4 @@
 # Locally calculated
-sha256  d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676  libffi-3.4.4.tar.gz
+sha256  b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e  libffi-3.4.6.tar.gz
 # License files, locally calculated
-sha256  2c9c2acb9743e6b007b91350475308aee44691d96aa20eacef8e199988c8c388  LICENSE
+sha256  67894089811f93fca47a76f85e017da6f8582d4ba0905963c6e0f1ad6df7a195  LICENSE

+ 4 - 3
package/libffi/libffi.mk

@@ -4,19 +4,20 @@
 #
 ################################################################################
 
-LIBFFI_VERSION = 3.4.4
+LIBFFI_VERSION = 3.4.6
 LIBFFI_SITE = \
 	https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION)
 LIBFFI_LICENSE = MIT
 LIBFFI_LICENSE_FILES = LICENSE
 LIBFFI_CPE_ID_VALID = YES
 LIBFFI_INSTALL_STAGING = YES
-# We're patching Makefile.am
+# We're patching configure.ac
 LIBFFI_AUTORECONF = YES
+LIBFFI_CONF_OPTS = --disable-multi-os-directory
 
 # The static exec trampolines is enabled by default since
 # libffi 3.4.2. However it doesn't work with gobject-introspection.
-LIBFFI_CONF_OPTS = --disable-exec-static-tramp
+LIBFFI_CONF_OPTS += --disable-exec-static-tramp
 
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))