From 009f7e63571b290c81f2c20149a8e9cd0e814e80 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Wed, 21 Feb 2024 20:55:20 +0100 Subject: [PATCH] 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 Reviewed-by: Adam Duskett Tested-by: Adam Duskett [yann.morin.1998@free.fr: fix check-package] Signed-off-by: Yann E. MORIN --- .checkpackageignore | 4 +- ...-Fix-installation-location-of-libffi.patch | 55 ------------------- ...ix-use-of-compact-eh-frames-on-MIPS.patch} | 4 +- ...-hardfloat-in-the-MIPS-assembly-code.patch | 44 --------------- package/libffi/libffi.hash | 4 +- package/libffi/libffi.mk | 7 ++- 6 files changed, 10 insertions(+), 108 deletions(-) delete mode 100644 package/libffi/0001-Fix-installation-location-of-libffi.patch rename package/libffi/{0002-Fix-use-of-compact-eh-frames-on-MIPS.patch => 0001-Fix-use-of-compact-eh-frames-on-MIPS.patch} (94%) delete mode 100644 package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch diff --git a/.checkpackageignore b/.checkpackageignore index c172750ba734..2056980a424c 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -645,9 +645,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 diff --git a/package/libffi/0001-Fix-installation-location-of-libffi.patch b/package/libffi/0001-Fix-installation-location-of-libffi.patch deleted file mode 100644 index 6ac91237303f..000000000000 --- a/package/libffi/0001-Fix-installation-location-of-libffi.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 580f46a7bc6e9fea3a2227b5268cc3aed1d60e3b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -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 -[unfuzz for 3.2.1] -Signed-off-by: Jörg Krause ---- - 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 - diff --git a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch similarity index 94% rename from package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch rename to package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch index c19e395f900d..7786b984a228 100644 --- a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch +++ b/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 [unfuzz for 3.2.1] Signed-off-by: Jörg Krause +[rebased for 3.4.6] +Signed-off-by: Bernd Kuhls --- 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) diff --git a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch deleted file mode 100644 index 168972a87187..000000000000 --- a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 48bc37fabbc685b1e3293055bd33ca66c619305e Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -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 -[Update for 3.3-rc0] -Signed-off-by: Fabrice Fontaine ---- - 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 - diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash index 8d2349ec21d2..c2ef588f6be6 100644 --- a/package/libffi/libffi.hash +++ b/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 diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 8f6844113c4d..6a87f3c75a7c 100644 --- a/package/libffi/libffi.mk +++ b/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_VENDOR = libffi_project 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))