summaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32/APKBUILD
blob: 78ca78a12bd5b954a027cbebfd0418071c786439 (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_abiver=0.9.32
pkgname=libc$_abiver
_gitver=
pkgver=0.9.33
_ver=${pkgver/_/-}
pkgrel=2
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
arch="all"
options=
makedepends="linux-headers"
subpackages="uclibc-dev:dev uclibc-utils:utils libthread_db"
depends_dev="linux-headers=>2.6.32"
replaces=uclibc
options="!strip"
triggers="uclibc-utils.trigger=/lib:/usr/lib"

_snapurl="http://git.uclibc.org/uClibc/snapshot/master.tar.bz2"
_snapfile="$pkgname-$pkgver.tar.bz2"

# patches are tracked in http://git.alpinelinux.org/cgit/uClibc-alpine/
# branch 0.9.32-alpine

source="http://uclibc.org/downloads/uClibc-${_ver}.tar.bz2
0001-Compatible-stack-protector-for-non-Thread-Local-stor.patch
0002-resolv-res_query-for-CNAMEs.patch
0003-resolv-fix-resolver-to-return-TRY_AGAIN-on-timeout.patch
0004-libm-x86_64-implement-some-fenv-functions.patch
0005-stdlib-fix-arc4random-return-type-to-u_int32_t.patch
0006-malloc-standard-synchronize-on-fork.patch
0007-libc-x86-fix-stack-unwinding-and-backtrace-informati.patch
0008-ldso-limited-support-for-ORIGIN-in-rpath.patch


	uclibcconfig.x86
	uclibcconfig.x86_64
	uclibcconfig.i486
	uclibcconfig.arm
	uclibcconfig.powerpc
	uclibc-utils.trigger
	"

_config="$srcdir"/uclibcconfig.${CARCH}
_builddir="$srcdir"/uClibc-${_ver}

snapshot() {
	local _date=$(date +%y%m%d%H%M)
	_gitver=$_date
	pkgver=${_abiver}_alpha0_git$_gitver
	_snapfile="$pkgname-$pkgver.tar.bz2"

	rm -f "$SRCDEST"/$_snapfile
	msg "snapfile=$_snapfile"
	wget -O "$SRCDEST"/$_snapfile $_snapurl
	pkgrel=0
	sed -i -e "s/^_gitver=.*/_gitver=$_gitver/" \
		-e "s/^pkgrel=.*/pkgrel=$pkgrel/" \
		APKBUILD
	checksum
}

prepare() {
	local i
	cd "$_builddir"
	# patches goes here
	for i in $source; do
		case $i in
		*.patch|*.diff)
			msg "Applying $i..."
			patch -p1 -i "$srcdir"/$i || return 1
			;;
		esac
	done
	# set abi version and remove unsupported warnings c flag
	sed -i -e "s/^ABI_VERSION.*/ABI_VERSION := $_abiver/" \
		-e "s/-Wold-style-declaration//g" \
		Rules.mak
}

build() {
	local _kh=
	cd "$_builddir"
	if [ -n "$SYSROOT" ]; then
		_kh=KERNEL_HEADERS="$SYSROOT/include"
	fi
	cp "$_config" .config
	if [ -n "$DEBUG" ]; then
		sed -i -e 's/# DODEBUG is not set/DODEBUG=y/' \
			-e 's/DOSTRIP=y/# DOSTRIP is not set/' \
			.config
	fi
	make silentoldconfig
	make -j1 pregen KERNEL_HEADERS="$SYSROOT"/usr/include \
		CROSS="$CROSS" || return 1
	make all KERNEL_HEADERS="$SYSROOT/usr/include"  CROSS="$CROSS" || return 1
	make utils CROSS="$CROSS" || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" KERNEL_HEADERS="$SYSROOT/usr/include" \
		CROSS="$CROSS" install install_utils
	install -Dm755 extra/scripts/getent "$pkgdir"/usr/bin/getent
}

dev() {
	default_dev
	replaces="uclibc linux-headers fts-dev"
	mkdir -p "$subpkgdir"/usr/lib 
	mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
}

utils() {
	pkgdesc="uClibc utility programs"
	replaces="uclibc $pkgname"
	mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/sbin
	mv "$pkgdir"/sbin/* "$subpkgdir"/sbin/
	mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
}

libthread_db() {
	pkgdesc="uClibc thread debugging library"
	mkdir -p "$subpkgdir"/lib
	mv "$pkgdir"/lib/libthread_db* "$subpkgdir"/lib/
}

md5sums="cf9d25e4b3c87af1a99d33a6b959fbf1  uClibc-0.9.33.tar.bz2
d4c8fb190eb4327453ed924159ca432e  0001-Compatible-stack-protector-for-non-Thread-Local-stor.patch
f9c9de09da5eade2fb9dff8f9f8b3fc9  0002-resolv-res_query-for-CNAMEs.patch
96e5deaa662695a56571f47c7ac2fc94  0003-resolv-fix-resolver-to-return-TRY_AGAIN-on-timeout.patch
e726ab363c0f8aed8dc31b8c54495b5d  0004-libm-x86_64-implement-some-fenv-functions.patch
d8e62f8016274fc8605e6f77d4def79e  0005-stdlib-fix-arc4random-return-type-to-u_int32_t.patch
235ca36ca8c10878d63d68ba61f76634  0006-malloc-standard-synchronize-on-fork.patch
d9611de57fb72b74c0b9e243b8e9165b  0007-libc-x86-fix-stack-unwinding-and-backtrace-informati.patch
12cf5330b092ee7e00d14909737abc70  0008-ldso-limited-support-for-ORIGIN-in-rpath.patch
20bfe471ee26f613834ebab0f68af28f  uclibcconfig.x86
6bd0c92aeed8b34951557f3c295d7300  uclibcconfig.x86_64
20bfe471ee26f613834ebab0f68af28f  uclibcconfig.i486
3f1e788cfa922c5a39d22a509bf49b60  uclibcconfig.arm
820d5176004ccfa2baa3607ba576360f  uclibcconfig.powerpc
f3be4f2bc54d7561d252937e10abf0d2  uclibc-utils.trigger"