diff options
Diffstat (limited to 'testing/grub')
-rw-r--r-- | testing/grub/2.02_beta3-gcc6-ld-no-pie.patch | 57 | ||||
-rw-r--r-- | testing/grub/APKBUILD | 46 |
2 files changed, 103 insertions, 0 deletions
diff --git a/testing/grub/2.02_beta3-gcc6-ld-no-pie.patch b/testing/grub/2.02_beta3-gcc6-ld-no-pie.patch new file mode 100644 index 0000000000..0d81415447 --- /dev/null +++ b/testing/grub/2.02_beta3-gcc6-ld-no-pie.patch @@ -0,0 +1,57 @@ +2016-05-21 Magnus Granberg <zorry@gentoo.org> + + #583042 sys-boot/grub-2.02_beta3-r1: building w/gcc-6[pie]: error: + x86_64-pc-linux-gnu/bin/ld: -r and -shared may not be used together + + * acinclude.m4: Add -no-pie check. + * configure.ac: Add -no-pie to TARGET_LDFLAGS if needed. + +--- a/acinclude.m4 2015-11-11 20:56:52.000000000 +0100 ++++ b/acinclude.m4 2016-05-17 00:08:22.000000000 +0200 +@@ -390,6 +390,24 @@ else + [fi] + ]) + ++dnl Check if the Linker supports `-no-pie'. ++AC_DEFUN([grub_CHECK_NO_PIE], ++[AC_MSG_CHECKING([whether linker accepts -no-pie]) ++AC_CACHE_VAL(grub_cv_cc_ld_nopie, ++[save_LDFLAGS="$LDFLAGS" ++LDFLAGS="$LDFLAGS -no-pie" ++AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])], ++ [grub_cv_cc_ld_no_pie=yes], ++ [grub_cv_cc_ld_no_pie=no]) ++LDFLAGS="$save_LDFLAGS" ++]) ++AC_MSG_RESULT([$grub_cv_cc_ld_no_pie]) ++nopie_possible=no ++if test "x$grub_cv_cc_ld_no_pie" = xyes ; then ++ nopie_possible=yes ++fi ++]) ++ + dnl Check if the C compiler supports `-fPIC'. + AC_DEFUN([grub_CHECK_PIC],[ + [# Position independent executable. +--- a/configure.ac 2016-02-27 13:40:56.000000000 +0100 ++++ b/configure.ac 2016-05-17 00:57:29.471000000 +0200 +@@ -1184,13 +1184,18 @@ CFLAGS="$TARGET_CFLAGS" + + # Position independent executable. + grub_CHECK_PIE ++grub_CHECK_NO_PIE + [# Need that, because some distributions ship compilers that include +-# `-fPIE' in the default specs. ++# `-fPIE' and '-pie' in the default specs. + if [ x"$pie_possible" = xyes ]; then + TARGET_CFLAGS="$TARGET_CFLAGS -fno-PIE" ++fi ++if [ x"$nopie_possible" = xyes ] && [ x"$pie_possible" = xyes ]; then ++ TARGET_LDFLAGS="$TARGET_LDFLAGS -no-pie" + fi] + + CFLAGS="$TARGET_CFLAGS" ++LDFLAGS="$TARGET_LDFLAGS" + + # Position independent executable. + grub_CHECK_PIC diff --git a/testing/grub/APKBUILD b/testing/grub/APKBUILD new file mode 100644 index 0000000000..0b23ff60ff --- /dev/null +++ b/testing/grub/APKBUILD @@ -0,0 +1,46 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=grub +_ver=2.02~beta3 +pkgver=2.02_beta3 +pkgrel=0 +pkgdesc="Bootloader with support for Linux, Multiboot and more" +url="https://www.gnu.org/software/grub/" +arch="all !x86_64" +license="GPLv3+" +depends="" +depends_dev="" +makedepends="$depends_dev bison flex linux-headers xz-dev gnu-efi-dev lvm2-dev + automake autoconf libtool" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="ftp://alpha.gnu.org/gnu/grub/grub-$_ver.tar.xz + 2.02_beta3-gcc6-ld-no-pie.patch" +builddir="$srcdir/grub-$_ver" + +build() { + cd "$builddir" + autoreconf -vif + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + || return 1 + make || return 1 +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install || return 1 + rm -f "$pkgdir"/usr/lib/charset.alias +} + +md5sums="ab399fc6f74a97d66ff77f04b743149c grub-2.02~beta3.tar.xz +7a09f166141e2a57f1829dd6cf1424fa 2.02_beta3-gcc6-ld-no-pie.patch" +sha256sums="30ec3d555e52a702c3eef449872ef874eff28b320f40b55ffc47f70db8e5ada1 grub-2.02~beta3.tar.xz +14912f087e047259e803be020c0506d9865c1507ae34683c6668b8d4a140c93b 2.02_beta3-gcc6-ld-no-pie.patch" +sha512sums="4a530efef4dae45f4046cf3550563f14acb24d25cb88d5e06c93953ca5b1eec115118c6860233a9f627edcddae2571e5d6b867b70ff9dd5c184c9fef83ef7e11 grub-2.02~beta3.tar.xz +fc15c95bf26b28eee3b5a0d8e5fac538445179cea19a8657cd360e37dd5a95010ea2b899d1e4f3692b778a71f79526539ad1c741f028186f0daf135ee1678da0 2.02_beta3-gcc6-ld-no-pie.patch" |