PKGBUILDs/core/klibc/PKGBUILD

69 lines
2.4 KiB
Bash

# $Id: PKGBUILD 41787 2009-06-07 11:37:55Z thomas $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# arm Maintainer: Philipp Scholl <pscholl@bawue.de>
###
### NOTE: Do not build this package with anything except gcc - using ccache
### forces others to use it as well as it becomes hardcoded in the klibc
### script.
###
pkgname=klibc
pkgver=1.5.15
_klibcbranch=Testing #Stable/Testing
_kver=2.6.29-ARCH
pkgrel=3
pkgdesc="A minimal libc made for early-userspace"
arch=(arm)
url="http://www.kernel.org/pub/linux/libs/klibc/"
license=('BSD')
groups=('base')
options=(!ccache !strip)
source=(http://www.kernel.org/pub/linux/libs/klibc/${_klibcbranch}/${pkgname}-${pkgver}.tar.gz
klibc-compile-shared-by-default.patch
klibc-Kbuild.patch
klibc-x86_64-fix-io.h.patch
klibc-fix-2.6.28-includes.patch
klibc-our-arm-MCONFIG.patch
klibc-config-eabi.patch
kinit-fix-init-cmdline.patch)
md5sums=('b5527be46f24779884557b11888c8075'
'c263a7c3fd290fcc84a4e230d456d022'
'ff5b113024256de31af59c2f1a966516'
'fcee75cfaa65638b07f9cc4a7719fa29'
'cee3acb556fe7178e684440f9355545e'
'e4706011e92f6dee84cd89b05ae8302c'
'6e47948a0247cc73ede2b0c89d69c12d'
'70f306bcb91b39c9be27d99593d4dcae')
build()
{
cd $srcdir/$pkgname-$pkgver
#INI_DEBUG causes ipconfig to fail within kinit
sed -i "/#define INI_DEBUG/d" usr/kinit/kinit.h || return 1
ln -sf /usr/src/linux-${_kver} linux
# compile binaries shared by default
patch -p1 -i ../klibc-compile-shared-by-default.patch || return 1
# don't build gzip, cpio, kill, build shared binaries for kinit and sh
patch -p1 -i ../klibc-Kbuild.patch || return 1
# fix errors in io.h header
patch -p1 -i ../klibc-x86_64-fix-io.h.patch || return 1
# fix includes for 2.6.28 build
patch -p1 -i ../klibc-fix-2.6.28-includes.patch || return 1
# fix arm MCONFIG variables
patch -p1 -i ../klibc-our-arm-MCONFIG.patch || return 1
# fix to use EABI on arm
patch -p1 -i ../klibc-config-eabi.patch || return 1
# fix the commandline of the init program
patch -p1 -i ../kinit-fix-init-cmdline.patch || return 1
make V=1 EXTRA_KLIBCFLAGS='' || return 1
make INSTALLROOT=$pkgdir mandir=/usr/share/man install || return 1
cp -a linux/arch/arm/include/asm/* $pkgdir/usr/lib/klibc/include/asm/
provides[${#provides[@]}]="$(basename $pkgdir/lib/klibc-*.so .so)"
export provides
}