pkgname=syslinux pkgver=6.04 _pkgver=6.04-pre1 pkgrel=2 arch=('x86_64') pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE" url="http://syslinux.zytor.com/" license=('GPL2') depends=('perl' 'glibc' 'util-linux') makedepends=('nasm' 'python3' 'gnu-efi-libs') optdepends=('mtools: For mkdiskimage and syslinux support' 'gptfdisk: For GPT support' 'efibootmgr: For EFI support' 'dosfstools: For EFI support') backup=('boot/syslinux/syslinux.cfg') install=syslinux.install options=('!makeflags' '!emptydirs' '!buildflags') #source=("https://www.kernel.org/pub/linux/utils/boot/syslinux/${pkgname}-${pkgver}.tar.xz" source=("https://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.04/${pkgname}-${_pkgver}.tar.xz" 'syslinux.cfg' 'syslinux-install_update' "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-boot/syslinux/files/syslinux-6.03-sysmacros.patch" "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-boot/syslinux/files/syslinux-6.04_pre1-fcommon.patch" "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-boot/syslinux/files/syslinux-6.04_pre1-singleloadsegment.patch" "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-boot/syslinux/files/6.04_pre1/0005-Fix-build-with-GCC-14.patch") md5sums=('f9c956fde0de29be297402ecbc8ff4d0' '049abfd5b26432f89e8fe3a370fd35fc' '3fcba3efe6beda6fc4935c1914393377' '3f1370d9ad233b9c717f14d5ae9859c1' '2a3cfebc46eabc6c519c87933621d96f' '545162d3be583900777eab858a4d90ba' 'c891c8167d9f4510b9c044f424ccdf20') prepare() { cd ${pkgname}-${_pkgver} sed 's|/usr/man|/usr/share/man|g' -i mk/syslinux.mk patch -p1 -i ${srcdir}/syslinux-6.03-sysmacros.patch patch -p1 -i ${srcdir}/syslinux-6.04_pre1-fcommon.patch patch -p1 -i ${srcdir}/syslinux-6.04_pre1-singleloadsegment.patch patch -p1 -i ${srcdir}/0005-Fix-build-with-GCC-14.patch } _build_syslinux_bios() { export LDFLAGS+=--no-dynamic-linker export EXTRA_CFLAGS=-fno-PIE rm -rf ${srcdir}/${pkgname}-${_pkgver}-bios/ cp -r ${srcdir}/${pkgname}-${_pkgver} ${srcdir}/${pkgname}-${_pkgver}-bios cd ${srcdir}/${pkgname}-${_pkgver}-bios/ #make bios PYTHON=python3 make bios installer PYTHON=python3 } _build_syslinux_efi64() { rm -rf ${srcdir}/${pkgname}-${_pkgver}-efi64/ cp -r ${srcdir}/${pkgname}-${_pkgver} ${srcdir}/${pkgname}-${_pkgver}-efi64 cd ${srcdir}/${pkgname}-${_pkgver}-efi64/ #make PYTHON=python3 efi64 make PYTHON=python3 efi64 installer } build() { cd ${pkgname}-${_pkgver}/ ## Build syslinux-efi _build_syslinux_efi64 ## Build syslinux-bios _build_syslinux_bios } _package_syslinux_bios() { cd ${srcdir}/${pkgname}-${_pkgver}-bios/ ## Install Syslinux bios make INSTALLROOT=${pkgdir}/ AUXDIR=/usr/lib/syslinux/bios/ bios install rm ${pkgdir}/usr/lib/syslinux/bios/syslinux.com ## Remove com32, dosutil and diag dirs rm -rf ${pkgdir}/usr/lib/syslinux/bios/dosutil/ rm -rf ${pkgdir}/usr/lib/syslinux/bios/diag/ rm -rf ${pkgdir}/usr/lib/syslinux/bios/com32/ ## Install docs install -d ${pkgdir}/usr/share/doc cp -ar ${srcdir}/${pkgname}-${_pkgver}/doc ${pkgdir}/usr/share/doc/syslinux ## Install the default configuration install -D -m0644 ${srcdir}/syslinux.cfg ${pkgdir}/boot/syslinux/syslinux.cfg ## Install the installation and update script ## This script is maintained at git://gist.github.com/772138.git ## Script not yet updated for syslinux-efi install -D -m0755 ${srcdir}/syslinux-install_update ${pkgdir}/usr/sbin/syslinux-install_update } package() { cd ${pkgname}-${_pkgver}-efi64/ make INSTALLROOT=${pkgdir}/ AUXDIR=/usr/lib/syslinux/ efi64 install _package_syslinux_bios }