summaryrefslogtreecommitdiff
path: root/system/libffi
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2022-05-05 03:39:28 -0500
committerZach van Rijn <me@zv.io>2022-05-06 12:37:31 -0500
commit501f727e4aa8135a8afc7ef07a3e016ac6b977df (patch)
tree33a04db90b83853777fca366bc318eb567b47f9b /system/libffi
parent48081df32ece3c04cfdc798cff96213287311c7e (diff)
downloadpackages-501f727e4aa8135a8afc7ef07a3e016ac6b977df.tar.gz
packages-501f727e4aa8135a8afc7ef07a3e016ac6b977df.tar.bz2
packages-501f727e4aa8135a8afc7ef07a3e016ac6b977df.tar.xz
packages-501f727e4aa8135a8afc7ef07a3e016ac6b977df.zip
system/libffi: Update to 3.4.2
Run-tested on PPC64. The new patch here fixes the few test failures. All other test failures from past versions seem fixed now.
Diffstat (limited to 'system/libffi')
-rw-r--r--system/libffi/APKBUILD28
-rw-r--r--system/libffi/disable-ppc-ldvariant.patch11
-rw-r--r--system/libffi/fix-testsuite-longdouble.patch44
-rw-r--r--system/libffi/fix-testsuite-opts.patch11
-rw-r--r--system/libffi/long-double-size.patch44
5 files changed, 50 insertions, 88 deletions
diff --git a/system/libffi/APKBUILD b/system/libffi/APKBUILD
index a917da6f3..659ec1984 100644
--- a/system/libffi/APKBUILD
+++ b/system/libffi/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=libffi
-pkgver=3.2.1
-pkgrel=6
+pkgver=3.4.2
+pkgrel=0
pkgdesc="A portable foreign function interface library"
url="https://sourceware.org/libffi"
arch="all"
@@ -10,12 +10,8 @@ depends=""
makedepends="texinfo"
checkdepends="dejagnu"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://sourceware.org/pub/$pkgname/$pkgname-$pkgver.tar.gz
- disable-ppc-ldvariant.patch
- fix-testsuite-longdouble.patch
- fix-testsuite-opts.patch
- gnu-linux-define.patch
- powerpc-fixes.patch
+source="https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz
+ long-double-size.patch
"
build () {
@@ -34,19 +30,7 @@ package() {
make DESTDIR=""$pkgdir"" install
install -m755 -d ""$pkgdir"/usr/share/licenses/$pkgname"
install -m644 LICENSE ""$pkgdir"/usr/share/licenses/$pkgname/"
- # fix location for headers
- # see also: https://github.com/libffi/libffi/issues/24
- mkdir -p "$pkgdir"/usr/include/
- mv "$pkgdir"/usr/lib/libffi-$pkgver/include/*.h \
- "$pkgdir"/usr/include/
- rmdir "$pkgdir"/usr/lib/libffi-$pkgver/include || true
- sed -i -e '/^includedir=/{s,=.*,=/usr/include,g}' \
- "$pkgdir"/usr/lib/pkgconfig/libffi.pc
}
-sha512sums="980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483 libffi-3.2.1.tar.gz
-cfd3b11a0e168fd74da0a6219c95610df3466b0769966351b2a5076c93a75996daf9aed41644bebb80e28793bbe18d62272385afd7813c472104cc6c93dcba41 disable-ppc-ldvariant.patch
-de92cb20ded7bfefc3e469ba2ac2d9d869d67dc172ec7e2d1222f8530944eb6d5016ae913baf01ac2e26bee1624c682ae9dd08d0e45d5532d59298dbe7e417eb fix-testsuite-longdouble.patch
-9b4b1d1b54cc7c96c44ba727556d9bfd2ab261a594061223df2fbd47ae7a067a7b9a3db92dc2e1b45d8c502bf4a192f8988c7638737c7aacfeac31ed1536891a fix-testsuite-opts.patch
-264af568ae5388d50f647f891a406945c73cc358692266f65ad341787c0bf5f6bf31203b86c39fa1b338101c1a6d2f4fec60f95a90d379951ff5153f8f9e178f gnu-linux-define.patch
-bb3eb51a196aac2849fa0d0214e46f1428d55c8ed4375e5f8cf7fc9076927db935f97ac4d6e61a101897ac6ddc137a0a61e210b8d91888e938c6af122700e935 powerpc-fixes.patch"
+sha512sums="31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1 libffi-3.4.2.tar.gz
+ef6ee13ac5ad6a5c7b60235d64e0c4bd57ccea320c7498327a0602cbe9398dadeef2c10f2ff958f106ae033412d1e174735a6c5ab0ee68982275274cc4906fde long-double-size.patch"
diff --git a/system/libffi/disable-ppc-ldvariant.patch b/system/libffi/disable-ppc-ldvariant.patch
deleted file mode 100644
index 8b3f9cea0..000000000
--- a/system/libffi/disable-ppc-ldvariant.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libffi-3.2.1/configure.old 2014-11-12 06:59:57.000000000 -0500
-+++ libffi-3.2.1/configure 2017-10-10 05:44:12.732989967 -0400
-@@ -17237,7 +17237,7 @@
-
- powerpc*-*-linux* | powerpc-*-sysv*)
- TARGET=POWERPC; TARGETDIR=powerpc
-- HAVE_LONG_DOUBLE_VARIANT=1
-+ #HAVE_LONG_DOUBLE_VARIANT=1
- ;;
- powerpc-*-amigaos*)
- TARGET=POWERPC; TARGETDIR=powerpc
diff --git a/system/libffi/fix-testsuite-longdouble.patch b/system/libffi/fix-testsuite-longdouble.patch
deleted file mode 100644
index 20fe4b8c6..000000000
--- a/system/libffi/fix-testsuite-longdouble.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- libffi-3.2.1/testsuite/libffi.call/cls_align_longdouble_split.c.old 2014-11-08 07:47:24.000000000 -0500
-+++ libffi-3.2.1/testsuite/libffi.call/cls_align_longdouble_split.c 2017-10-10 06:04:26.293045176 -0400
-@@ -6,7 +6,7 @@
-
- /* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
- /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
--/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-+/* { dg-options -mlong-double-64 { target powerpc64*-*-linux* } } */
- /* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-
- #include "ffitest.h"
---- libffi-3.2.1/testsuite/libffi.call/cls_align_longdouble_split2.c.old 2014-11-08 07:47:24.000000000 -0500
-+++ libffi-3.2.1/testsuite/libffi.call/cls_align_longdouble_split2.c 2017-10-10 06:04:54.283046103 -0400
-@@ -7,7 +7,7 @@
-
- /* { dg-excess-errors "no long double format" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
- /* { dg-do run { xfail strongarm*-*-* } } */
--/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-+/* { dg-options -mlong-double-64 { target powerpc64*-*-linux* } } */
- /* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-
- #include "ffitest.h"
---- libffi-3.2.1/testsuite/libffi.call/cls_longdouble.c.old 2014-11-08 07:47:24.000000000 -0500
-+++ libffi-3.2.1/testsuite/libffi.call/cls_longdouble.c 2017-10-10 06:05:19.683046965 -0400
-@@ -8,7 +8,7 @@
- /* This test is known to PASS on armv7l-unknown-linux-gnueabihf, so I have
- remove the xfail for arm*-*-* below, until we know more. */
- /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
--/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-+/* { dg-options -mlong-double-64 { target powerpc64*-*-linux* } } */
- /* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-
- #include "ffitest.h"
---- libffi-3.2.1/testsuite/libffi.call/huge_struct.c.old 2014-11-08 07:47:24.000000000 -0500
-+++ libffi-3.2.1/testsuite/libffi.call/huge_struct.c 2017-10-10 06:05:39.383047674 -0400
-@@ -7,7 +7,7 @@
-
- /* { dg-excess-errors "" { target x86_64-*-mingw* x86_64-*-cygwin* } } */
- /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
--/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
-+/* { dg-options -mlong-double-64 { target powerpc64*-*-linux* } } */
- /* { dg-options -Wformat=0 { target moxie*-*-elf } } */
- /* { dg-output "" { xfail x86_64-*-mingw* x86_64-*-cygwin* } } */
-
diff --git a/system/libffi/fix-testsuite-opts.patch b/system/libffi/fix-testsuite-opts.patch
deleted file mode 100644
index b3d08b4af..000000000
--- a/system/libffi/fix-testsuite-opts.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libffi-3.2.1/testsuite/lib/libffi.old 2014-11-08 06:47:24.000000000 -0600
-+++ libffi-3.2.1/testsuite/lib/libffi.exp 2019-07-22 13:29:32.086840387 -0500
-@@ -281,7 +281,7 @@
- global using_gcc
- if { [string match $using_gcc "yes"] } {
- set common "-W -Wall -Wno-psabi"
-- set optimizations { "-O0" "-O2" "-O3" "-Os" "-O2 -fomit-frame-pointer" }
-+ set optimizations { "-O0" "-O2 -fno-inline-small-functions" "-O3 -fno-inline-small-functions" "-Os" "-O2 -fno-inline-small-functions -fomit-frame-pointer" }
- } else {
- # Assume we are using the vendor compiler.
- set common ""
diff --git a/system/libffi/long-double-size.patch b/system/libffi/long-double-size.patch
new file mode 100644
index 000000000..8f04496eb
--- /dev/null
+++ b/system/libffi/long-double-size.patch
@@ -0,0 +1,44 @@
+--- libffi-3.4.2/testsuite/libffi.closures/huge_struct.c.old 2021-06-27 10:17:08.000000000 -0500
++++ libffi-3.4.2/testsuite/libffi.closures/huge_struct.c 2022-05-05 03:22:39.842515657 -0500
+@@ -6,7 +6,7 @@
+ */
+
+ /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
++/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */
+ /* { dg-options -Wformat=0 { target moxie*-*-elf or1k-*-* } } */
+
+ #include <inttypes.h>
+--- libffi-3.4.2/testsuite/libffi.closures/cls_longdouble.c.old 2021-06-27 10:17:08.000000000 -0500
++++ libffi-3.4.2/testsuite/libffi.closures/cls_longdouble.c 2022-05-05 03:22:48.131612271 -0500
+@@ -7,7 +7,7 @@
+ /* This test is known to PASS on armv7l-unknown-linux-gnueabihf, so I have
+ remove the xfail for arm*-*-* below, until we know more. */
+ /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
++/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */
+
+ #include "ffitest.h"
+
+--- libffi-3.4.2/testsuite/libffi.closures/cls_align_longdouble_split.c.old 2021-06-27 10:17:08.000000000 -0500
++++ libffi-3.4.2/testsuite/libffi.closures/cls_align_longdouble_split.c 2022-05-05 03:22:55.740782984 -0500
+@@ -5,7 +5,7 @@
+ Originator: <hos@tamanegi.org> 20031203 */
+
+ /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
+-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
++/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */
+
+ #include "ffitest.h"
+
+--- libffi-3.4.2/testsuite/libffi.closures/cls_align_longdouble_split2.c.old 2021-06-27 10:17:08.000000000 -0500
++++ libffi-3.4.2/testsuite/libffi.closures/cls_align_longdouble_split2.c 2022-05-05 03:23:00.930217413 -0500
+@@ -6,7 +6,7 @@
+ */
+
+ /* { dg-do run { xfail strongarm*-*-* } } */
+-/* { dg-options -mlong-double-128 { target powerpc64*-*-linux* } } */
++/* { dg-options -mlong-double-128 { target powerpc64*-*-linux-gnu* } } */
+
+ #include "ffitest.h"
+