mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
core/libtool to 2.4.6+59+gb55b1cc8-2
This commit is contained in:
parent
7a052491e6
commit
a6fa360bc9
2 changed files with 71 additions and 6 deletions
|
@ -1,4 +1,6 @@
|
||||||
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
|
||||||
|
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
|
||||||
|
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
||||||
# Contributor: Allan McRae <allan@archlinux.org>
|
# Contributor: Allan McRae <allan@archlinux.org>
|
||||||
# Contributor: judd <jvinet@zeroflux.org>
|
# Contributor: judd <jvinet@zeroflux.org>
|
||||||
|
|
||||||
|
@ -12,9 +14,9 @@
|
||||||
noautobuild=1
|
noautobuild=1
|
||||||
|
|
||||||
pkgname=libtool
|
pkgname=libtool
|
||||||
pkgver=2.4.6+44+gb9b44533
|
pkgver=2.4.6+59+gb55b1cc8
|
||||||
pkgrel=16
|
pkgrel=2
|
||||||
_gccver=11.1.0
|
_gccver=11.2.0
|
||||||
pkgdesc='A generic library support script'
|
pkgdesc='A generic library support script'
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
url='https://www.gnu.org/software/libtool'
|
url='https://www.gnu.org/software/libtool'
|
||||||
|
@ -26,17 +28,19 @@ checkdepends=(gcc-fortran)
|
||||||
provides=("libltdl=$pkgver")
|
provides=("libltdl=$pkgver")
|
||||||
conflicts=(libltdl)
|
conflicts=(libltdl)
|
||||||
replaces=(libltdl)
|
replaces=(libltdl)
|
||||||
options=('!distcc')
|
options=(!distcc)
|
||||||
_commit=b9b44533fbf7c7752ffd255c3d09cc360e24183b
|
_commit=b55b1cc8419b544b5cc3e1c204b2ce85112ed762
|
||||||
source=(git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit
|
source=(git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit
|
||||||
git+https://git.savannah.gnu.org/git/gnulib.git
|
git+https://git.savannah.gnu.org/git/gnulib.git
|
||||||
gnulib-bootstrap::git+https://github.com/gnulib-modules/bootstrap.git
|
gnulib-bootstrap::git+https://github.com/gnulib-modules/bootstrap.git
|
||||||
no_hostname.patch
|
no_hostname.patch
|
||||||
|
disable-lto-link-order2.patch
|
||||||
armv7h-nopic.patch)
|
armv7h-nopic.patch)
|
||||||
sha256sums=('SKIP'
|
sha256sums=('SKIP'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'693aabb24a6e7ce21fe0b5d14394e19edcb8476663b5afa4463f9fa0df24d946'
|
'693aabb24a6e7ce21fe0b5d14394e19edcb8476663b5afa4463f9fa0df24d946'
|
||||||
|
'b6dce6681f223b18a90614edbcdeb00f228abd1216e22c4bd07285321cd2ceb7'
|
||||||
'0e19dec2dabc958ef5d1bcfd0879174766c5783032319fc17d5d6692b2b397c8')
|
'0e19dec2dabc958ef5d1bcfd0879174766c5783032319fc17d5d6692b2b397c8')
|
||||||
|
|
||||||
pkgver() {
|
pkgver() {
|
||||||
|
@ -49,6 +53,11 @@ prepare() {
|
||||||
|
|
||||||
patch -Np1 -i ${srcdir}/no_hostname.patch
|
patch -Np1 -i ${srcdir}/no_hostname.patch
|
||||||
|
|
||||||
|
# test 67 is broken with lto
|
||||||
|
# this patch removes the -flto flag for this very test
|
||||||
|
# adapt when -ffat-lto-objects is enabled by Arch
|
||||||
|
patch -Np1 -i ${srcdir}/disable-lto-link-order2.patch
|
||||||
|
|
||||||
git submodule init
|
git submodule init
|
||||||
git config --local submodule.gnulib.url "$srcdir/gnulib"
|
git config --local submodule.gnulib.url "$srcdir/gnulib"
|
||||||
git config --local submodule.gl-mod/bootstrap.url "$srcdir/gnulib-bootstrap"
|
git config --local submodule.gl-mod/bootstrap.url "$srcdir/gnulib-bootstrap"
|
||||||
|
|
56
core/libtool/disable-lto-link-order2.patch
Normal file
56
core/libtool/disable-lto-link-order2.patch
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
This patch is derived from
|
||||||
|
https://src.fedoraproject.org/rpms/libtool/blob/rawhide/f/libtool-2.4.6-disable-lto-link-order2.patch
|
||||||
|
|
||||||
|
Enabling lto will result in failure during test phase, to be precise test 67 will cause it.
|
||||||
|
Compiler flags for this test (and most likely for rest of them) are inherited from actual build phase.
|
||||||
|
I'm not sure if this is expected.
|
||||||
|
|
||||||
|
Most distribution disables this test. We try to keep it by stripping lto flags for it.
|
||||||
|
|
||||||
|
Origin for this tests: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391427
|
||||||
|
|
||||||
|
--- a/tests/link-order2.at 2015-01-16 19:52:04.000000000 +0100
|
||||||
|
+++ b/tests/link-order2.at 2021-11-30 02:01:09.574451906 +0100
|
||||||
|
@@ -47,6 +47,8 @@
|
||||||
|
AT_KEYWORDS([libtool])
|
||||||
|
AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window.
|
||||||
|
|
||||||
|
+NO_LTO_CFLAGS=${CFLAGS/ -flto}
|
||||||
|
+
|
||||||
|
eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='`
|
||||||
|
|
||||||
|
undefined_setting=-no-undefined
|
||||||
|
@@ -89,12 +91,12 @@
|
||||||
|
EOF
|
||||||
|
|
||||||
|
for file in a0 a1 b; do
|
||||||
|
- $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c
|
||||||
|
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $NO_LTO_CFLAGS -c $file.c
|
||||||
|
done
|
||||||
|
-$CC $CPPFLAGS $CFLAGS -c main.c
|
||||||
|
+$CC $CPPFLAGS $NO_LTO_CFLAGS -c main.c
|
||||||
|
|
||||||
|
# Build an old, installed library.
|
||||||
|
-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir
|
||||||
|
+$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir
|
||||||
|
$LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la
|
||||||
|
$LIBTOOL --mode=clean rm -f liba0.la
|
||||||
|
|
||||||
|
@@ -118,13 +120,13 @@
|
||||||
|
esac
|
||||||
|
test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" &&
|
||||||
|
static=-all-static
|
||||||
|
- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir
|
||||||
|
- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir
|
||||||
|
- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0],
|
||||||
|
+ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir
|
||||||
|
+ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir
|
||||||
|
+ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0],
|
||||||
|
[], [ignore], [ignore])
|
||||||
|
LT_AT_EXEC_CHECK([./main])
|
||||||
|
# Now test that if we reverse the link order, the program fails.
|
||||||
|
- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la],
|
||||||
|
+ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la],
|
||||||
|
[], [ignore], [ignore])
|
||||||
|
if test yes, != "$shared_fails,$static"; then
|
||||||
|
LT_AT_EXEC_CHECK([./wrong], [1], [], [ignore], [|| (exit 1)])
|
Loading…
Reference in a new issue