updated on Sun Jan 15 00:02:00 UTC 2012
[aur-mirror.git] / grub2-efi-ubuntu / PKGBUILD
blobe0d969aef865c0d3b8b589c7e119f45bac20894d
1 # Contributor: Maloy <daniel.go.mon@gmail.com>
2 # Contributor: Check <i.like.webm@gmail.com>
4 # Well, Arch rocks, if it's configured right!
6 _grub2_lua_ver=20
7 _grub2_gpxe_ver=12
8 _grub2_ntldr_ver=17
9 _grub2_915_ver=7
11 pkgname='grub2-efi-ubuntu'
12 pkgbase="grub2-ubuntu"
14 # required by AUR
15 (( 1 )) && pkgname=("grub2-common-ubuntu" "grub2-efi-ubuntu")
17 pkgver="1.99"
18 pkgrel=6
19 pkgdesc="A less verbose GRUB2 with Ubuntu patches for UEFI Systems, you can compile automake 1.11 from abs, through changing version-number and md5sum"
20 url="http://www.gnu.org/software/grub/"
21 arch=('x86_64')
22 license=('GPL3')
23 makedepends=('bdf-unifont' 'python2' 'xz' 'autogen' 'texinfo' 'help2man' 'gettext' 'device-mapper' 'automake<=1.11.1')
24 options=(strip purge docs zipman !emptydirs)
25 replaces=('grub2-common' 'grub2-efi-x86_64')
27 source=("http://archive.ubuntu.com/ubuntu/pool/main/g/grub2/grub2_1.99.orig.tar.gz"
28         "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
29         "ftp://ftp.archlinux.org/other/grub2/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
30         "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
31         "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz"
32         'grub.default'
33         'grub.cfg'
34         '20_memtest86+'
35         'grub2_bzr_export.sh'
36         "ubuntu_linux_quiet.patch"
37         "ubuntu_normal_quiet.patch"
38         "ubuntu_quick_boot.patch"
39         "ubuntu_quiet_grub_loading.patch"
40         "ubuntu_really_quiet.patch"
41         "ubuntu_crashkernel.patch")
43 noextract=("grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
44         "grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
45         "grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
46         "grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz")
48 sha1sums=('6d0536da38224e7caf94cf2531a5f921ac057b9b'
49           '9f2dbf7a3faab24ca92266400aa513fecd3895c8'
50           'b04994c005910b4bf123f034b30109d5c8d6fd86'
51           'e0c1a97770cc23226cf4535c029ef50b17f67974'
52           '8bcaed545956bb33581e1b97ac96a2c3717ec793'
53           '8f2bd9939cb4865ad91e61167c6828585e51dbbb'
54           '8948d89537c12a4202df7c001e65a77030bbe5a3'
55           '82a27eca5277218cf57c6c5767e0b17a72f62229'
56           'beb31419045db70fee7401aa6448c220a491e2a3'
57           '49d3e2901473e343449ed9dfc5f73f803fb952be'
58           '3e43de881928884bf2395be97309cc8fb709d481'
59           '83eccf691480df07bb9f3bbbc8de86462cf697de'
60           '58d06e86303d58b24cd284c02585c958d89d8f21'
61           'c1001640a40be7f047b7a6bcab1a1fadbbc85950'
62           'b0554a97089f4bd57c9a349f63a7ee0030551078')
64 build() {
65         # set architecture dependent variables
66         if [ "${CARCH}" = "x86_64" ] ; then
67                 compile
68         else
69                 echo "Sorry, i686 not supported :("
70                 exit 1
71         fi
74 compile (){
75     cd ${srcdir}/grub-${pkgver}
76     # Ubuntu patches     
77     patch -p1 -i ${srcdir}/ubuntu_crashkernel.patch
78     patch -p1 -i ${srcdir}/ubuntu_quick_boot.patch
79     patch -p1 -i ${srcdir}/ubuntu_normal_quiet.patch
80     patch -p1 -i ${srcdir}/ubuntu_really_quiet.patch
81     patch -p1 -i ${srcdir}/ubuntu_linux_quiet.patch
82     patch -p1 -i ${srcdir}/ubuntu_quiet_grub_loading.patch
83     # copy to efi dir
84     cp -r ${srcdir}/grub-${pkgver} ${srcdir}/grub2_efi-${pkgver}
86     export GRUB_CONTRIB=${srcdir}/grub2_efi-${pkgver}/grub2-extras/  
87     install -d ${srcdir}/grub2_efi-${pkgver}/grub2-extras 
88         
89         bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz \
90                 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
91         bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz \
92                 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
93         bsdtar xf ${srcdir}/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz \
94                 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
95         bsdtar xf ${srcdir}/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz \
96                 -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
97     sed -i 's|python|python2|' ${srcdir}/grub2_efi-${pkgver}/autogen.sh
99         cd ${srcdir}/grub2_efi-${pkgver}
100         ./autogen.sh
101         # No suitable mode fix see archwiki/grub2
102         sed -i 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|' ${srcdir}/grub2_efi-${pkgver}/configure
103         
104        #make it :D
106       CFLAGS="" ./configure --with-platform=efi \
107                 --target=x86_64 --host=${CARCH}-unknown-linux-gnu \
108                 --program-transform-name=s,grub,grub, \
109                 --enable-mm-debug --disable-efiemu \
110                 --enable-grub-mkfont --enable-nls \
111                 --prefix=/usr --bindir=/bin --sbindir=/sbin \
112                 --mandir=/usr/share/man --infodir=/usr/share/info \
113                 --sysconfdir=/etc
114         CFLAGS="" make 
117 package_grub2-common-ubuntu() {
118         pkgdesc="A less verbose GRUB2 with Ubuntu patches"
119         install="grub2.install"
120         depends=('xz' 'freetype2' 'device-mapper' 'gettext' 'texinfo')
121         conflicts=('grub')
122         backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
123         cd ${srcdir}/grub2_efi-${pkgver}
124         make DESTDIR=${pkgdir} install
125   
126         install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_efi_x86_64-install
128         sed -i "s|^\(target_cpu\)=.*|\1=x86_64|; \
129                 s|^\(platform\)=.*|\1=efi|" \
130                 ${pkgdir}/sbin/grub_efi_x86_64-install
132         
133         ## install extra /etc/grub.d/ files
134         install -Dm755 ${srcdir}/20_memtest86+ ${pkgdir}/etc/grub.d/20_memtest86+
135     
136         ## install /etc/default/grub (used by grub-mkconfig)
137         install -Dm644 ${srcdir}/grub.default ${pkgdir}/etc/default/grub
139         ## install grub.cfg (needed so it doesn't get removed on upgrading because it was previously here)
140         install -Dm644 ${srcdir}/grub.cfg ${pkgdir}/boot/grub/grub.cfg
142         # remove platform specific files
143         rm -rf ${pkgdir}/usr/lib/grub/i386-pc/
145         rm -rf ${pkgdir}/usr/lib/grub/x86_64-efi/
148 package_grub2-efi-ubuntu() {
149         pkgdesc="A less verbose GRUB2 with Ubuntu patches"
150         replaces=('grub2')
151         provides=('grub2')
152   
153         cd ${srcdir}/grub2_efi-${pkgver}
154         make DESTDIR=${pkgdir} install 
156         ## remove non platform-specific files
157         rm -rf ${pkgdir}/{boot,bin,sbin,etc,usr/share}
158         rm ${pkgdir}/usr/lib/grub/{grub-mkconfig_lib,update-grub_lib}
160 post_install_grub2-common-ubuntu(){
161 echo "SEE https://wiki.archlinux.org/index.php/GRUB2"