blob: 1549ffb2265e79da4f765958af344093f1412ab4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# Maintainer (Arch): Tobias Powalowski <tpowa@archlinux.org>
# Maintainer (Arch): Thomas Bächler <thomas@archlinux.org>
# Maintainer (Arch): Anatol Pomozov <anatol.pomozov@gmail.com>
# Contributor (Arch): Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
# Maintainer (Hyperbola): André Silva <emulatorman@hyperbola.info>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
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
}
|