aboutsummaryrefslogtreecommitdiffstats
path: root/testing/grub/APKBUILD
diff options
context:
space:
mode:
authorRoberto Oliveira <robertoguimaraes8@gmail.com>2017-04-25 17:43:32 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2017-04-26 14:44:13 +0000
commit4a20bb6c39dea9cd8bc938d7f029fc882708b09a (patch)
treed7f41e68f69c5304d3fd85129e17620ce6049537 /testing/grub/APKBUILD
parent4a45ace18ee164914d795f6ae41f3e699bd67840 (diff)
testing/grub: fix build on ppc64le
grub was not building on ppc64le. This patch adds the correct 'platform' value in configure and make necessary adjusts to make grub build.
Diffstat (limited to 'testing/grub/APKBUILD')
-rw-r--r--testing/grub/APKBUILD152
1 files changed, 100 insertions, 52 deletions
diff --git a/testing/grub/APKBUILD b/testing/grub/APKBUILD
index 002674738bb..70da3f051e2 100644
--- a/testing/grub/APKBUILD
+++ b/testing/grub/APKBUILD
@@ -11,30 +11,33 @@ license="GPLv3+"
depends=""
depends_dev=""
makedepends="$depends_dev bison flex linux-headers xz-dev lvm2-dev
- automake autoconf libtool python2"
+ automake autoconf libtool python2 freetype-dev"
install=""
# strip handled by grub Makefiles, abuild strip breaks xen pv-grub
options="!strip"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-efi"
-if [ "$CARCH" == "x86_64" ]; then
- subpackages="$subpackages $pkgname-xenhost"
-fi
+subpackages="$pkgname-dev $pkgname-doc"
+
+# currently grub only builds on x86*, aarch64 and ppc64le systems
+case "$CARCH" in
+x86) subpackages="$subpackages $pkgname-efi $pkgname-bios" ;;
+x86_64) subpackages="$subpackages $pkgname-efi $pkgname-bios $pkgname-xenhost" ;;
+aarch64) subpackages="$subpackages $pkgname-efi" ;;
+ppc64le) subpackages="$subpackages $pkgname-ieee1275" ;;
+esac
+
source="ftp://alpha.gnu.org/gnu/grub/grub-$_ver.tar.xz
2.02_beta3-gcc6-ld-no-pie.patch
fix-gcc-no-pie-specs.patch
grub2-accept-empty-module.patch
grub-xen-host_grub.cfg
2.02_beta3-mkconfig-alpine.patch
+ do-not-require-unifont-on-powerpc-ieee1275.patch
"
builddir="$srcdir/grub-$_ver"
-# currently grub only builds on x86* and aarch64 systems
-# aarch64 is not supported on pc/bios platform.
-if [ ! "$CARCH" = aarch64 ]; then
- subpackages="$subpackages $pkgname-bios"
-fi
_build_bios() {
+ msg "Building grub for platform BIOS"
cd $builddir/bios
./configure \
--build=$CBUILD \
@@ -51,6 +54,7 @@ _build_bios() {
}
_build_efi() {
+ msg "Building grub for platform EFI"
cd $builddir/efi
./configure \
--build=$CBUILD \
@@ -68,23 +72,38 @@ _build_efi() {
}
_build_xen() {
- #Xen is supported only x86_64
- if [ "$CARCH" == "x86_64" ]; then
- cd $builddir/xen
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-nls \
- --disable-werror \
- --with-platform=xen \
- --target=$CARCH \
- || return 1
- make || return 1
- fi
+ msg "Building grub for platform XEN"
+ cd $builddir/xen
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-nls \
+ --disable-werror \
+ --with-platform=xen \
+ --target=$CARCH \
+ || return 1
+ make || return 1
+}
+
+_build_ieee1275() {
+ msg "Building grub for platform IEEE1275"
+ cd $builddir/ieee1275
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-nls \
+ --disable-werror \
+ --with-platform=ieee1275 \
+ || return 1
+ make || return 1
}
build() {
@@ -98,38 +117,35 @@ build() {
mkdir "$builddir"
cp -r "$tmpdir" "$builddir"/bios
cp -r "$tmpdir" "$builddir"/efi
- mv "$tmpdir" "$builddir"/xen
+ cp -r "$tmpdir" "$builddir"/xen
+ mv "$tmpdir" "$builddir"/ieee1275
- # BIOS build
- if [ ! "$CARCH" = aarch64 ]; then
- msg "Building grub for platform BIOS"
+ case "$CARCH" in
+ x86)
_build_bios || return 1
- fi
-
- # EFI build
- msg "Building grub for platform EFI"
- _build_efi || return 1
+ _build_efi || return 1 ;;
+ x86_64)
+ _build_bios || return 1
+ _build_efi || return 1
+ _build_xen || return 1 ;;
+ aarch64)
+ _build_efi || return 1 ;;
+ ppc64le)
+ _build_ieee1275 || return 1 ;;
+ esac
+}
- # xenhost build
- msg "Building grub for platform XEN"
- _build_xen || return 1
+_install_bios() {
+ cd "$builddir"/bios
+ make DESTDIR="$pkgdir" install-strip || return 1
}
-package() {
- # install BIOS & EFI version into the same directory
- # and overwrite similar files.
-
- # BIOS install
- if [ ! "$CARCH" = aarch64 ]; then
- cd "$builddir"/bios
- make DESTDIR="$pkgdir" install-strip || return 1
- fi
-
- # EFI install
+_install_efi() {
cd "$builddir"/efi
make DESTDIR="$pkgdir" install-strip || return 1
+}
- # xenhost install
+_install_xen() {
cd "$builddir"/xen
grub_dir=`mktemp -d`
@@ -153,6 +169,30 @@ package() {
rm -r "$grub_dir"
rm "$cfg"
rm "$grub_memdisk"
+}
+
+_install_ieee1275() {
+ cd "$builddir"/ieee1275
+ make DESTDIR="$pkgdir" install-strip || return 1
+}
+
+package() {
+ # install BIOS & EFI version into the same directory
+ # and overwrite similar files.
+
+ case "$CARCH" in
+ x86)
+ _install_bios
+ _install_efi ;;
+ x86_64)
+ _install_bios
+ _install_efi
+ _install_xen ;;
+ aarch64)
+ _install_efi ;;
+ ppc64le)
+ _install_ieee1275 ;;
+ esac
rm -f "$pkgdir"/usr/lib/charset.alias
}
@@ -177,9 +217,17 @@ xenhost() {
mv $pkgdir/*-xen.bin $subpkgdir/usr/lib/grub-xen/
}
+ieee1275() {
+ pkgdesc="$pkgdesc (IEEE1275 version)"
+ depends="$pkgname"
+ mkdir -p $subpkgdir/usr/lib/grub
+ mv $pkgdir/usr/lib/grub/*-ieee1275 $subpkgdir/usr/lib/grub/
+}
+
sha512sums="4a530efef4dae45f4046cf3550563f14acb24d25cb88d5e06c93953ca5b1eec115118c6860233a9f627edcddae2571e5d6b867b70ff9dd5c184c9fef83ef7e11 grub-2.02~beta3.tar.xz
fc15c95bf26b28eee3b5a0d8e5fac538445179cea19a8657cd360e37dd5a95010ea2b899d1e4f3692b778a71f79526539ad1c741f028186f0daf135ee1678da0 2.02_beta3-gcc6-ld-no-pie.patch
b9eab870006ab7842e0af27171d3b66fea10835d3fd4e606f241a9898aa28bfc4c1cdf59cece8ad50d2e284a44cba74eb0f390ac29627518f86257a8d586976e fix-gcc-no-pie-specs.patch
098a1742aef131c85d63b934a9815879b991f2e73030cb90ac4b5dcd07d249fa0dd0a281e52ada0e10f05d59223493bd416eb47543242bf0ba336a0ebc9b2a1a grub2-accept-empty-module.patch
4e7394e0fff6772c89683039ccf81099ebbfe4f498e6df408977a1488fd59389b6e19afdbf0860ec271e2b2aea0df7216243dcc8235d1ca3af0e7f4d0a9d60a4 grub-xen-host_grub.cfg
-5de7c1cc11640a3892447f0daa1e3fd1f67b0c474c8aec555e4e6315b5e6c00491ba02c88b420cec221da0640c6961d639f148746df14a0b2c15bda7989cd25c 2.02_beta3-mkconfig-alpine.patch"
+5de7c1cc11640a3892447f0daa1e3fd1f67b0c474c8aec555e4e6315b5e6c00491ba02c88b420cec221da0640c6961d639f148746df14a0b2c15bda7989cd25c 2.02_beta3-mkconfig-alpine.patch
+dde35771d15d85b1fde29454c24772f65acf4d7c1786e8bc05e159f7e9ef3437a5b6fa04e0d87342cdb90d4521fd88888a7853bb88bb0d659df5fb297e27c8a7 do-not-require-unifont-on-powerpc-ieee1275.patch"