summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorAxelen1232022-01-02 14:53:06 +0100
committerAxelen1232022-01-02 15:06:09 +0100
commitabac075026037834721776323539bd55a64c45e3 (patch)
tree7c39ca4b162237320fc491b325c1ef4c097ecb05 /PKGBUILD
downloadaur-abac075026037834721776323539bd55a64c45e3.tar.gz
Initial commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD190
1 files changed, 190 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..dbadffbae0d8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,190 @@
+# Maintainer: Ax333l
+# Contributor: Llewelyn Trahaearn <WoefulDerelict [at] GMail [dot] com>
+# Contributor: Tobias Powalowski <tpowa [at] archlinux [dot] org>
+# Contributor: Ronald van Haren <ronald [at] archlinux [dot] org>
+# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+
+## "1" to enable IA32-EFI build in Arch x86_64, "0" to disable
+_ia32_efi_in_arch_x64="1"
+
+## "1" to enable EMU build, "0" to disable
+_grub_emu_build="0"
+
+[[ "${CARCH}" == "x86_64" ]] && _target_arch="x86_64"
+[[ "${CARCH}" == "i686" ]] && _target_arch="i386"
+
+_build_platforms="i386-pc ${_target_arch}-efi"
+[[ "${CARCH}" == "x86_64" ]] && [[ "${_ia32_efi_in_arch_x64}" == "1" ]] && _build_platforms+=" i386-efi"
+[[ "${_grub_emu_build}" == "1" ]] && _build_platforms+=" ${_target_arch}-emu"
+
+pkgname="grub-improved-luks2-git"
+pkgver=2.06.r92.g246d69b7e
+pkgrel=1
+pkgdesc="GNU GRand Unified Bootloader (2) with Argon2 and better LUKS2 support"
+arch=('x86_64')
+url="https://www.gnu.org/software/grub/"
+license=('GPL3')
+depends=('device-mapper' 'freetype2' 'fuse2' 'gettext')
+makedepends=('autogen' 'bdf-unifont' 'git' 'help2man'
+ 'python' 'rsync' 'texinfo' 'ttf-dejavu')
+optdepends=('dosfstools: For grub-mkrescue FAT FS and EFI support'
+ 'efibootmgr: For grub-install EFI support'
+ 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue'
+ 'mtools: For grub-mkrescue FAT FS support'
+ 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems')
+
+if [[ "${_grub_emu_build}" == "1" ]]; then
+ depends+=('sdl')
+ makedepends+=('libusb')
+ optdepends+=('libusb: For grub-emu USB support')
+fi
+
+provides=("grub")
+conflicts=("grub")
+backup=('etc/default/grub'
+ 'etc/grub.d/40_custom')
+install="${pkgname}.install"
+source=("grub::git+https://git.savannah.gnu.org/git/grub.git"
+ "grub-extras::git+https://git.savannah.gnu.org/git/grub-extras.git"
+ "gnulib::git+https://git.savannah.gnu.org/git/gnulib.git"
+ 'argon_1.patch'
+ 'argon_2.patch'
+ 'argon_2.patch'
+ 'argon_3.patch'
+ 'argon_4.patch'
+ 'argon_5.patch'
+ 'mm_1.patch'
+ 'mm_2.patch'
+ 'mm_3.patch'
+ 'mm_4.patch'
+ 'mm_5.patch'
+ 'mm_6.patch'
+ 'grub-install_luks2.patch'
+ 'add-GRUB_COLOR_variables.patch'
+ 'detect-archlinux-initramfs.patch'
+ 'grub.default')
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ '5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab'
+ '580a81b00088773d554832b0d74c85bf16fec37728802973c45993bcb97cd7d5'
+ '791fadf182edf8d5bee4b45c008b08adce9689a9624971136527891a8f67d206')
+
+prepare() {
+ cd grub
+
+ # Patch to enable GRUB_COLOR_* variables in grub-mkconfig.
+ # Based on http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html
+ patch -Np1 -i "$srcdir"/add-GRUB_COLOR_variables.patch
+
+ # Patch grub-mkconfig to detect Arch Linux initramfs images.
+ patch -Np1 -i "$srcdir"/detect-archlinux-initramfs.patch
+
+ # mm
+ patch -Np1 -i "$srcdir"/mm_1.patch
+ patch -Np1 -i "$srcdir"/mm_2.patch
+ patch -Np1 -i "$srcdir"/mm_3.patch
+ patch -Np1 -i "$srcdir"/mm_4.patch
+ patch -Np1 -i "$srcdir"/mm_5.patch
+ patch -Np1 -i "$srcdir"/mm_6.patch
+
+ # argon2
+ patch -Np1 -i "$srcdir"/argon_1.patch
+ patch -Np1 -i "$srcdir"/argon_2.patch
+ patch -Np1 -i "$srcdir"/argon_3.patch
+ patch -Np1 -i "$srcdir"/argon_4.patch
+ patch -Np1 -i "$srcdir"/argon_5.patch
+
+ # make grub-install work with luks2
+ patch -Np1 -i "$srcdir"/grub-install_luks2.patch
+
+ # 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 "configure.ac"
+
+ # Modify grub-mkconfig behaviour to silence warnings FS#36275
+ sed 's| ro | rw |g' -i "util/grub.d/10_linux.in"
+
+ # Modify grub-mkconfig behaviour so automatically generated entries read 'Arch Linux' FS#33393
+ sed 's|GNU/Linux|Linux|' -i "util/grub.d/10_linux.in"
+
+ # Pull in latest language files
+ ./linguas.sh
+
+ # Remove lua module from grub-extras as it is incompatible with changes to grub_file_open
+ # http://git.savannah.gnu.org/cgit/grub.git/commit/?id=ca0a4f689a02c2c5a5e385f874aaaa38e151564e
+ rm -rf "$srcdir"/grub-extras/lua
+}
+
+pkgver() {
+ cd grub
+ git describe --long --tags | sed 's/^grub.//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+build() {
+ cd grub
+ export GRUB_CONTRIB="$srcdir"/grub-extras
+ export GNULIB_SRCDIR="$srcdir"/gnulib
+
+ # Undefined references to _GLOBAL_OFFSET_TABLE_
+ CFLAGS=${CFLAGS/-fno-plt}
+
+ ./bootstrap
+
+ for _arch in $_build_platforms; do
+ mkdir "$srcdir"/grub/build_"$_arch"
+ cd "$srcdir"/grub/build_"$_arch"
+
+ # * _FORTIFY_SOURCE requires compiling with optimization warnings
+ # become errors due to a -Werror added during ./configure tests.
+ # This results in an incorrect configuration and only by adding -O2
+ # to CPPFLAGS does this problem seem to be worked around.
+ ../configure --with-platform="${_arch##*-}" \
+ --target="${_arch%%-*}" \
+ --prefix="/usr" \
+ --sbindir="/usr/bin" \
+ --sysconfdir="/etc" \
+ --enable-boot-time \
+ --enable-cache-stats \
+ --enable-device-mapper \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --enable-mm-debug \
+ --enable-nls \
+ --disable-silent-rules \
+ --disable-werror \
+ CPPFLAGS="$CPPFLAGS -O2"
+ make
+ done
+}
+
+package() {
+ cd grub
+
+ for _arch in $_build_platforms; do
+ cd "$srcdir"/grub/build_"$_arch"
+ make DESTDIR="$pkgdir" bashcompletiondir=/usr/share/bash-completion/completions install
+ done
+
+ # Install /etc/default/grub (used by grub-mkconfig)
+ install -D -m0644 "$srcdir"/grub.default "$pkgdir"/etc/default/grub
+
+ # Tidy up
+ find "$pkgdir"/usr/lib/grub \( -name '*.module' -o \
+ -name '*.image' -o \
+ -name 'kernel.exec' -o \
+ -name 'gdb_grub' -o \
+ -name 'gmodule.pl' \) -delete
+}