# Maintainer (Arch): Tobias Powalowski # Maintainer (Arch): Thomas Bächler # Maintainer (Arch): Anatol Pomozov # Contributor (Arch): Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> # Maintainer (Hyperbola): André Silva # Maintainer: Omar Vega Ramos pkgname=syslinux pkgver=6.04.pre1.r41.g5e426532 #_tag=syslinux-$pkgver _commit=5e426532210bb830d2d7426eb8d8c154d9dfcba6 pkgrel=1 pkgrel+=.par1 pkgdesc='Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)' url='http://www.syslinux.org/' arch=(i686 x86_64) backup=(boot/syslinux/syslinux.cfg boot/syslinux/splash.png) install=syslinux.install license=(GPL2) # syslinux build system is a mess of submakes that does not work with -jN # efi32/com32 do not like Parabola cflags/ldflags, though it would be nice to have the flags for userspace tools options=(!makeflags !buildflags) replaces=(${pkgname}-parabola) conflicts=(${pkgname}-parabola) makedepends=(git python2 nasm upx asciidoc) makedepends_x86_64=(lib32-glibc) # efi32 needs it optdepends=('perl-crypt-passwdmd5: For md5pass' 'perl-digest-sha1: For sha1pass' 'mtools: For mkdiskimage and syslinux support' 'gptfdisk: For GPT support' 'util-linux: For isohybrid' 'efibootmgr: For EFI support' 'dosfstools: For EFI support') # The syslinux-install_update script is maintained at https://gist.github.com/pyther/772138 # Script not yet updated for syslinux-efi source=(git+https://repo.or.cz/syslinux.git#commit=$_commit gnu-efi::git://git.code.sf.net/p/gnu-efi/code syslinux.cfg syslinux-install_update strip_note_section.patch single-load-segment.patch splash.png) sha1sums=('SKIP' 'SKIP' 'e40acf4cf9d05ec000c59284f959d1540b35a3be' 'df5160a138ca8c6502d67fe1a64fec78b50e82c2' '11d928087764ca286af0327d40230f219348568c' '830c88005fb6c9e759f67b91ab33a10b002385de' 'aab1c7789e0d7290fe87538abad181abac069d40') sha256sums=('SKIP' 'SKIP' '67fe3050e60a0d1572293ff095dac2e6cab9da6d0f98fb1fc555850ec046d6ea' '5f86b5813465c48ba7bd178389aacb5149ff0b5f2467ab1772a4f862c5b15d41' '80d783fad7f96077a17634a6b17d8b7750a443221584aa802c096434bdaed603' '0ba5667654ecd5b94c1941c7dce7ce945059b1fa70467f6f5a8770a959fcf82b' 'a839e3e1242c5279f95f5f913af47be73cf16339c7aa55af378a428c904f1595') _targets='bios efi32' case "$CARCH" in x86_64) _targets+=' efi64' ;; esac pkgver() { cd syslinux git describe --long | sed 's/^syslinux-//;s/\([^-]*-g\)/r\1/;s/-/./g' } prepare() { cd syslinux # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 patch -p1 < ../strip_note_section.patch # https://bugs.archlinux.org/task/61059 patch -p1 < ../single-load-segment.patch # do not swallow efi compilation output to make debugging easier sed 's|> /dev/null 2>&1||' -i efi/check-gnu-efi.sh # disable debug and development flags to reduce bootloader size truncate --size 0 mk/devel.mk git submodule init git config --local submodule.gnu-efi.url "$srcdir/gnu-efi" git submodule update } build() { cd syslinux export LDFLAGS+=--no-dynamic-linker # workaround for binutils 2.28 http://www.syslinux.org/wiki/index.php?title=Building export EXTRA_CFLAGS=-fno-PIE # to fix gpxe build make PYTHON=python2 $_targets } check() { cd syslinux # tests fail to compile # make unittest true } package() { cd syslinux make $_targets install INSTALLROOT="$pkgdir" SBINDIR=/usr/bin MANDIR=/usr/share/man AUXDIR=/usr/lib/syslinux rm -r "$pkgdir"/usr/lib/syslinux/{com32,dosutil,syslinux.com} install -D -m644 COPYING "$pkgdir"/usr/share/licenses/syslinux/COPYING install -d "$pkgdir"/usr/share/doc cp -ar doc "$pkgdir"/usr/share/doc/syslinux install -d "$pkgdir"/usr/lib/syslinux/bios mv "$pkgdir"/usr/lib/syslinux/{*.bin,*.c32,*.0,memdisk} "$pkgdir"/usr/lib/syslinux/bios install -D -m0644 ../syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg install -D -m0755 ../syslinux-install_update "$pkgdir"/usr/bin/syslinux-install_update install -D -m0644 ../splash.png "$pkgdir"/boot/syslinux/splash.png }