updated on Thu Jan 26 16:09:46 UTC 2012
[aur-mirror.git] / burg-bios-bzr / PKGBUILD
bloba412cca517c6fdddb955b725cc14f53faf1d3246
1 # Maintainer: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
2 # Contributor: cruznick <cruznick@archlinux.us>
3 # Contributor: fsckd <fsckdaemon@gmail.com>
5 # Tunables: change y to n to disable
6 _rm_build_dirs="${_rm_build_dirs:-n}"        # remove build directories
7 _mk_burg_emu="${_mk_burg_emu:-y}"                # enable burg emu
9 pkgname="burg-bios-bzr"
10 pkgver=1844
11 pkgrel=4
12 pkgdesc="Brand-new Universal loadeR from GRUB2 - Built for i386 BIOS"
13 url="http://code.google.com/p/burg/"
14 license="GPL3"
15 arch=('i686' 'x86_64')
17 makedepends=('bzr' 'ruby' 'bdf-unifont' 'python2' 'ncurses')
18 depends=('gettext' 'freetype2')
19 optdepends=('os-prober' 'memtest86+')
21 conflicts=('burg-bios')
22 replaces=('burg' 'burg-bzr' 'burg-emu')
23 provides=('burg' 'burg-bios' 'burg-bzr')
25 if [[ "${_mk_burg_emu}" == 'y' ]]; then
26     makedepends+=('sdl')
27     depends+=('sdl')
28     conflicts+=('burg-emu')
29     provides+=('burg-emu')
32 #options=('!makeflags')
33 changelog='burg.changelog'
34 backup=('etc/default/burg' 'etc/burg.d/40_custom')
36 source=('burg.default' 'arch-burg.patch' '20_memtest86+' 'update-burg')
38 sha256sums=('914da1384390e8cd63f335564075843eb52172d67a174dd44226f0710d5f0cde'
39             '57fa4d1ab439a3e716cf60f5eda533969f8d4a46b6425e85f0529d1897897446'
40             '31edd8578c337be2f02dae8a292b5c53d34b107ab255634698794f999a293506'
41             '646d55a233706329ecc9b4b6d0eb0460e6d37b84ebbe3e15c3176cbd23bf075b')
43 install='burg.install'
45 _bzrmod="burg"
46 _bzrtrunk="lp:${_bzrmod}"
48 _builddir="${_bzrmod}-build"
49 _builddir_emu="${_bzrmod}-emu-build"
51 _common_configure_opts="--host="${CARCH}-pc-linux-gnu" --program-prefix="" \
52                         --prefix=/usr --bindir=/bin \
53                         --sbindir=/sbin --mandir=/usr/share/man \
54                         --infodir=/usr/share/info --sysconfdir=/etc \
55                         --disable-werror"
57 _update_bzr() {
58     
59     cd "${srcdir}/"
60     
61     msg "Connecting to the server...."
62     
63     if [[ ! -d "${srcdir}/${_bzrmod}" ]] ; then
64         bzr branch "${_bzrtrunk}"
65     else
66         cd "${srcdir}/${_bzrmod}" && bzr pull "${_bzrtrunk}"
67     fi
68     
69     msg "BZR checkout done or server timeout"
70     
73 _build_dir() {
74     
75     local _rm_builddir='0'
76     
77     while (( "$#" ))
78     do
79         local _check="$1"
80         
81         if [[ "${_check}" == '-r' ]]; then
82             _rm_builddir='1'
83         elif [[ "${_check}" == 'emu' ]]; then
84             _builddir="${_bzrmod}-build"
85             _builddir_emu="${_bzrmod}-emu-build"
86         else
87             _builddir="${_bzrmod}-$1-build"
88         fi
89         
90         shift
91     done
92     
93     if [[ "${_check}" == 'emu' ]]; then
94         rm -rf "${srcdir}/${_builddir_emu}" || true
95     else
96         rm -rf "${srcdir}/${_builddir}" || true
97     fi
98     
99     if [[ "${_rm_builddir}" == '0' ]]; then
100         if [[ "${_check}" == 'emu' ]]; then
101             cp -rip "${srcdir}/${_bzrmod}" "${srcdir}/${_builddir_emu}"
102             cd "${srcdir}/${_builddir_emu}"
103         else
104             cp -rip "${srcdir}/${_bzrmod}" "${srcdir}/${_builddir}"
105             cd "${srcdir}/${_builddir}/"
106         fi
107     fi
108     
111 _build_common() {
112     
113     local _check="$1"
114     
115     if [[ "${_check}" == 'emu' ]]; then
116         cd "${srcdir}/${_builddir_emu}"
117     else
118         cd "${srcdir}/${_builddir}"
119     fi
120     
121     # Archlinux changed default python to python3, need to use /usr/bin/python2 instead
122     sed 's|python|python2|g' -i ./autogen.sh || true
123     
124     echo
125     
126     ./autogen.sh
127     
128     echo
129     
132 _build_bios() {
133     
134     msg "Building burg bios...."
135     
136     _build_dir
137     
138     echo
139     
140     # some random patches to facilitate automatic creation of burg.cfg
141     patch -Np1 -i    "${srcdir}/arch-burg.patch"
142     
143     echo
144     
145     _build_common
146     
147     echo
148     
149     cd "${srcdir}/${_builddir}/"
150     
151     ## fix unifont.bdf location so burg-mkfont can create *.pf2 files
152     sed 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|g' -i ./configure || true
153     
154     _bios_configure_opts="${_common_configure_opts} --with-platform=pc --disable-grub-emu-usb"
155     ./configure ${_bios_configure_opts}
156     
157     echo
158     
159     CFLAGS="" make
160     
161     echo
162     
165 _build_emu() {
166     
167     msg "Building burg-emu...."
168     
169     _build_dir emu
170     
171     echo
172     
173     _build_common emu
174     
175     echo
176     
177     cd "${srcdir}/${_builddir_emu}/"
178     
179     ## fix unifont.bdf location so burg-mkfont can create *.pf2 files
180     sed 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|g' -i ./configure || true
181     
182     _emu_configure_opts="${_common_configure_opts} --with-platform=emu --disable-grub-emu-usb"
183     ./configure ${_emu_configure_opts}
184     
185     echo
186     
187     CFLAGS="" make
188     
189     echo
190     
193 build() {
194     
195     _update_bzr
196     
197     echo
198     
199     _build_bios
200     
201     echo
202     
203     if [[ "${_mk_burg_emu}" == 'y' ]]; then
204         _build_emu
205     fi
206     
207     echo
208     
211 package() {
212     
213     cd "${srcdir}/${_builddir}/"
214     
215     make DESTDIR="${pkgdir}/" install
216     
217     echo
218     
219     if [[ "${_mk_burg_emu}" == 'y' ]]; then
220         install -D -m0755 "${srcdir}/${_builddir_emu}/grub-emu" "${pkgdir}/bin/burg-emu"
221     fi
222     
223     # install /etc/default/burg(needed config file)
224     install -D -m0644 "${srcdir}/burg.default" "${pkgdir}/etc/default/burg"
225     
226     # install update-burg script
227     install -D -m0755 "${srcdir}/update-burg" "${pkgdir}/sbin/update-burg"
228     
229     # install memtest config detection
230     install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/burg.d/20_memtest86+"
231     
232     if [[ "${_rm_build_dirs}" == 'y' ]]; then
233         _build_dir -r
234         
235         if [[ "${_mk_burg_emu}" == 'y' ]]; then
236             _build_dir -r emu
237         fi
238     fi
239     
240     echo
241