summaryrefslogtreecommitdiffstats
path: root/uclibc/Pkgfile
blob: 74f9884a8e132059f0afe7a18187d607d0b28e0c (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
description="Lightweight C library."
longdesc="uClibc (aka µClibc/pronounced yew-see-lib-see) is a C library for
developing embedded Linux systems.  It is much smaller than the
GNU C Library, but nearly all applications supported by glibc
also work perfectly with uClibc.  Porting applications from glibc
to uClibc typically involves just recompiling the source code.
uClibc even supports shared libraries and threading.  It currently
runs on standard Linux and MMU-less (also known as µClinux)
systems with support for alpha, ARM, cris, e1, h8300, i386, i960,
m68k, microblaze, mips/mipsel, PowerPC, SH, SPARC, and v850
processors."
packager="Lukc <lukc AT upyum DOT com>"
maintainer="Lukc <lukc AT upyum DOT com>"
url=http://www.uclibc.org

name=uclibc
version=0.9.31
release=1
source=( 
	http://www.uclibc.org/downloads/${name/c/C}-$version.tar.xz
)
lastver="wcat http://www.uclibc.org/downloads/ | 
grep uClibc | sed -e 's/.*>uClibc-//;s/.tar.xz<.*//' | 
grep -v '<' | sort -k3 | tail -n 1"
license=LGPL

function build {
	if [[ "$CROSS" = yes ]]; then
		UCLIBC_CROSS=${CHOST}-
	fi
	case $CHOST in
		i?86-*)
			if [[ -z "$UCLIBC_CPU" ]]; then
				UCLIBC_CPU=${CHOST%%-*}
				UCLIBC_CPU=${UCLIBC_CPU#i}
			fi
		;;
	esac
	cd ${name/c/C}-$version
	gmake CROSS=${UCLIBC_CROSS} defconfig
	# XXX: Largement au dessus de 80 caractères et dépend de gsed.
		info "Configuring for $UCLIBC_CPU."
	if [[ -n "$UCLIBC_CPU" ]]; then
		sed -i -e "s/^CONFIG_GENERIC_386=y$/# CONFIG_GENERIC_386 is not set/;s/# CONFIG_$UCLIBC_CPU is not set/CONFIG_$UCLIBC_CPU=y/" .config
	fi
	# Installation dans un $prefix… standard ?
	sed -i -e "s:^RUNTIME_PREFIX=.*:RUNTIME_PREFIX=\"\":" .config
	sed -i -e "s:^DEVEL_PREFIX=.*:DEVEL_PREFIX=\"$prefix\":" .config
	gmake CROSS=${UCLIBC_CROSS} DESTDIR=$PKG install
}

function check {
	cd ${name/c/C}-$version
	make check
}