summaryrefslogtreecommitdiff
path: root/libre/grub/PKGBUILD
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2013-12-27 23:55:53 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2013-12-27 23:55:53 +0000
commit65eeff79fff8a1bfdf67ca51d147384f46f4d5c0 (patch)
treefbfdff322b28d9a3c37e6e31c94caf1d8e48dac1 /libre/grub/PKGBUILD
parentd53c44f055929b18d7d1b25f8367ee5836c435fc (diff)
Fri Dec 27 23:54:04 UTC 2013
Diffstat (limited to 'libre/grub/PKGBUILD')
-rw-r--r--libre/grub/PKGBUILD198
1 files changed, 116 insertions, 82 deletions
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index de9ebb452..a4a17b4c8 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -1,19 +1,22 @@
# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
# Maintainer : Ronald van Haren <ronald.archlinux.org>
-# Contributor: Keshav Padram (the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Márcio Silva <coadde@parabola.nu>
-_GRUB_BZR_REV="5086"
+_pkgver="2.00"
+_GRUB_GIT_COMMIT="5ae5c54c7e5cb048cdd78a53181cee0da698a953"
-## grub-extras lua and gpxe fail to build with grub bzr rev 5043
+## grub-extras gpxe is not needed
[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
-pkgname=grub
+pkgname="grub"
pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)"
-pkgver=2.00.${_GRUB_BZR_REV}
-pkgrel=1
+pkgver=2.00.1282.g5ae5c54
+pkgrel=1.3
+epoch="1"
url="https://www.gnu.org/software/grub/"
arch=('x86_64' 'i686')
license=('GPL3')
@@ -25,8 +28,9 @@ conflicts=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}" 'grub-legacy')
replaces=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
provides=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
-makedepends=('xz' 'freetype2' 'bdf-unifont' 'ttf-dejavu' 'python' 'autogen'
- 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse' 'bzr' 'rsync')
+makedepends=('git' 'bzr' 'rsync' 'xz' 'freetype2' 'ttf-dejavu'
+ 'python2' 'autogen' 'texinfo' 'help2man'
+ 'gettext' 'device-mapper' 'fuse')
depends=('sh' 'xz' 'gettext' 'device-mapper')
optdepends=('freetype2: For grub-mkfont usage'
'fuse: For grub-mount usage'
@@ -37,52 +41,94 @@ optdepends=('freetype2: For grub-mkfont usage'
'mtools: For grub-mkrescue FAT FS support')
# source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
-source=("grub-${pkgver}::bzr+bzr://bzr.savannah.gnu.org/grub/trunk/grub/#revision=${_GRUB_BZR_REV}"
+source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#commit=${_GRUB_GIT_COMMIT}"
+ 'http://unifoundry.com/unifont-5.1.20080820.bdf.gz'
'parabola_grub_mkconfig_fixes.patch'
'60_memtest86+'
- 'grub.default'
- 'grub-2.00-mkinitcpio-0.15.patch'
- 'grub-2.00.5086-fix-lvm-parsing.patch')
+ 'grub.default')
+
md5sums=('SKIP'
- 'b3068b52b6f1dcd2850b5c7585bb185f'
+ '6b8263ceccef33bd633aa019d74b7943'
+ 'aec37e36ba7806217be33d12a7eed062'
'be55eabc102f2c60b38ed35c203686d6'
- '52d374e0194e3f2e39ff7c92ecd58a6c'
- 'd25d2dcf8ba708dcf768fcaea799f59c'
- 'b2bafd4aeb098580754e71991ab7eed8'
+ 'a9ef0067f6824944fa1ae22a5162d7d4'
+ 'SKIP'
'SKIP'
'SKIP')
-for _DIR_ in 915resolution ntldr-img ; do
+for _DIR_ in 915resolution lua ntldr-img ; do
source+=("grub-extras-${_DIR_}::bzr+bzr://bzr.savannah.gnu.org/grub-extras/${_DIR_}/#revision=")
done
+pkgver() {
+ cd "${srcdir}/grub-${_pkgver}/"
+ echo "$(git describe --tags)" | sed -e 's|-|\.|g'
+}
+
+prepare() {
+
+ cd "${srcdir}/grub-${_pkgver}/"
+
+ msg "Patch to enable grub-mkconfig detect Parabola kernels and initramfs"
+ patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
+
+ msg "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme"
+ sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub-${_pkgver}/configure.ac"
+
+ msg "Fix mkinitcpio 'rw' FS#36275"
+ sed 's| ro | rw |g' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in"
+
+ msg "autogen.sh requires python (2/3). since bzr is in makedepends, use python2 and no need to pull python3"
+ sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
+
+ msg "Pull in latest language files"
+ ./linguas.sh
+ echo
+
+ msg "Remove non working langs which need LC_ALL=C.UTF-8"
+ sed -e 's#en@cyrillic en@greek##g' -i "${srcdir}/grub-${_pkgver}/po/LINGUAS"
+
+ msg "Avoid problem with unifont during compile of grub, http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847"
+ cp "${srcdir}/unifont-5.1.20080820.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf"
+
+ msg "Fix freetype header path file"
+ sed 's|freetype/ftsynth[.]h|freetype2/ftsynth.h|g' -i "${srcdir}/grub-${_pkgver}/util/grub-"{gen-{asciih,widthspec},mkfont}.c
+}
_build_grub-common_and_bios() {
- ## Copy the source for building the common/bios package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-${pkgver}-bios"
- cd "${srcdir}/grub-${pkgver}-bios/"
+ msg "Set ARCH dependent variables for bios build"
+ if [[ "${CARCH}" == 'x86_64' ]]; then
+ _EFIEMU="--enable-efiemu"
+ else
+ _EFIEMU="--disable-efiemu"
+ fi
- ## Add the grub-extra sources
- export GRUB_CONTRIB="${srcdir}/grub-${pkgver}-bios/grub-extras/"
+ msg "Copy the source for building the bios package"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-bios"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
- install -d "${srcdir}/grub-${pkgver}-bios/grub-extras"
+ msg "Add the grub-extra sources for bios build"
+ install -d "${srcdir}/grub-${_pkgver}-bios/grub-extras"
for _DIR_ in 915resolution ntldr-img ; do
- cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${pkgver}-bios/grub-extras/${_DIR_}"
+ cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${_pkgver}-bios/grub-extras/${_DIR_}"
done
+ export GRUB_CONTRIB="${srcdir}/grub-bios/grub-extras/"
- ## Unset all compiler FLAGS for bios build
+ msg "Unset all compiler FLAGS for bios build"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
- ## Start the actual build process
- cd "${srcdir}/grub-${pkgver}-bios/"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run autogen.sh for bios build"
./autogen.sh
echo
+ msg "Run ./configure for bios build"
./configure \
--with-platform="pc" \
--target="i386" \
@@ -91,6 +137,7 @@ _build_grub-common_and_bios() {
--enable-nls \
--enable-device-mapper \
--enable-cache-stats \
+ --enable-boot-time \
--enable-grub-mkfont \
--enable-grub-mount \
--prefix="/usr" \
@@ -103,37 +150,42 @@ _build_grub-common_and_bios() {
--program-prefix="" \
--with-bootdir="/boot" \
--with-grubdir="grub" \
+ --disable-silent-rules \
--disable-werror
echo
+ msg "Run make for bios build"
make
echo
}
_build_grub-efi() {
- ## Copy the source for building the efi package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-${pkgver}-efi"
- cd "${srcdir}/grub-${pkgver}-efi/"
-
- # export GRUB_CONTRIB="${srcdir}/grub-${pkgver}-efi/grub-extras/"
+ msg "Copy the source for building the efi package"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi"
+ cd "${srcdir}/grub-${_pkgver}-efi/"
- # install -d "${srcdir}/grub-${pkgver}-efi/grub-extras/"
- # for _DIR_ in lua gpxe ; do
- # cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${pkgver}-bios/grub-extras/${_DIR_}"
- # done
+ msg "Add the grub-extra sources for efi build"
+ install -d "${srcdir}/grub-${_pkgver}-efi/grub-extras/"
+ for _DIR_ in lua ; do
+ cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${_pkgver}-efi/grub-extras/${_DIR_}"
+ done
+ # export GRUB_CONTRIB="${srcdir}/grub-efi/grub-extras/"
- ## Unset all compiler FLAGS for efi build
+ msg "Unset all compiler FLAGS for efi build"
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
- cd "${srcdir}/grub-${pkgver}-efi/"
+ cd "${srcdir}/grub-${_pkgver}-efi/"
+
+ msg "Run autogen.sh for efi build"
./autogen.sh
echo
+ msg "Run ./configure for efi build"
./configure \
--with-platform="efi" \
--target="${_EFI_ARCH}" \
@@ -142,6 +194,7 @@ _build_grub-efi() {
--enable-nls \
--enable-device-mapper \
--enable-cache-stats \
+ --enable-boot-time \
--enable-grub-mkfont \
--enable-grub-mount \
--prefix="/usr" \
@@ -154,97 +207,78 @@ _build_grub-efi() {
--program-prefix="" \
--with-bootdir="/boot" \
--with-grubdir="grub" \
+ --disable-silent-rules \
--disable-werror
echo
+ msg "Run make for efi build"
make
echo
}
-prepare() {
-
- ## Set ARCH dependent variables
- if [[ "${CARCH}" == 'x86_64' ]]; then
- _EFIEMU="--enable-efiemu"
- else
- _EFIEMU="--disable-efiemu"
- fi
-
- cd "${srcdir}/grub-${pkgver}/"
-
- ## Apply Parabola specific fixes to enable grub-mkconfig detect kernels and initramfs
- patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
- echo
-
- ## fix 10_linux
- patch -Np0 -i "${srcdir}/grub-2.00-mkinitcpio-0.15.patch"
- patch -Np1 -i "${srcdir}/grub-2.00.5086-fix-lvm-parsing.patch"
-
- ## fix unifont.bdf location so that grub-mkfont can create *.pf2 files
- sed 's|/usr/share/fonts/unifont|/usr/share/fonts/unifont /usr/share/fonts/misc|g' -i "${srcdir}/grub-${pkgver}/configure.ac"
+build() {
- ## fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme
- sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub-${pkgver}/configure.ac"
+ cd "${srcdir}/grub-${_pkgver}/"
- ## Requires python2
- # sed 's|python |python2 |g' -i "${srcdir}/grub-${pkgver}/autogen.sh"
-
- ## pull in language files
- ./linguas.sh
-
-}
-
-build() {
-
- cd "${srcdir}/grub-${pkgver}/"
-
- # remove not working langs which need LC_ALL=C.UTF-8
- sed -i -e 's#en@cyrillic en@greek##g' po/LINGUAS
+ msg "Build grub bios stuff"
_build_grub-common_and_bios
echo
+ msg "Build grub efi stuff"
_build_grub-efi
echo
-
+
}
_package_grub-common_and_bios() {
- cd "${srcdir}/grub-${pkgver}-bios/"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run make install for bios build"
make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
- ## remove gdb debugging related files
+ msg "Remove gdb debugging related files for bios build"
rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true
rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
- ## Install extra /etc/grub.d/ files
+ msg "Install extra /etc/grub.d/ files"
install -D -m0755 "${srcdir}/60_memtest86+" "${pkgdir}/etc/grub.d/60_memtest86+"
- ## Install /etc/default/grub (used by grub-mkconfig)
+ msg "Install /etc/default/grub (used by grub-mkconfig)"
install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
+ msg "Add msdos.mod symlink"
+ ln -s "msdospart.mod" "${pkgdir}/usr/lib/grub/i386-pc/msdos.mod" || true
+
}
_package_grub-efi() {
- cd "${srcdir}/grub-${pkgver}-efi/"
+ cd "${srcdir}/grub-${_pkgver}-efi/"
+
+ msg "Run make install for efi build"
make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
- ## remove gdb debugging related files
+ msg "Remove gdb debugging related files for efi build"
rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true
rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true
rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
+ msg "Add msdos.mod symlink"
+ ln -s "msdospart.mod" "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi/msdos.mod" || true
+
}
package() {
+ msg "Package grub efi stuff"
_package_grub-efi
+ msg "Package grub bios stuff"
_package_grub-common_and_bios
}