summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/eglibc/APKBUILD130
-rw-r--r--main/eglibc/glibc-2.10-bz4781.patch42
-rw-r--r--main/eglibc/glibc-__i686.patch13
-rw-r--r--main/eglibc/nscd.initd19
-rw-r--r--main/gcc/APKBUILD2
-rw-r--r--main/make/APKBUILD4
6 files changed, 207 insertions, 3 deletions
diff --git a/main/eglibc/APKBUILD b/main/eglibc/APKBUILD
new file mode 100644
index 000000000..7079766f8
--- /dev/null
+++ b/main/eglibc/APKBUILD
@@ -0,0 +1,130 @@
+# Contributor: Carlo Landmeter
+# Maintainer:
+pkgname=eglibc
+pkgver=2.12
+pkgrel=3
+pkgdesc="Embedded GLIBC is a variant of the GNU C Library that is designed to work well on embedded systems"
+url="http://www.eglibc.org"
+license="GPL"
+depends=""
+depends_dev="linux-headers=>2.6.32"
+makedepends="gawk"
+options="!strip"
+subpackages="$pkgname-dev $pkgname-gconv $pkgname-locales $pkgname-nscd"
+source="http://alpine.nethq.org/clandmeter/src/eglibc-2.12-svn-11364.tar.bz2
+ glibc-2.10-bz4781.patch
+ glibc-__i686.patch
+ nscd.initd
+"
+
+_builddir="$srcdir"/libc
+
+prepare() {
+ cd "$_builddir"
+
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
+ patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch
+
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
+ # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
+ patch -Np1 -i ${srcdir}/glibc-__i686.patch
+
+ # Don not build timezones
+ sed -i 's/timezone rt/rt/' Makeconfig
+
+ echo "slibdir=/lib" >> configparms
+
+ # we need to build in a seperate dir
+ mkdir eglibc-build
+}
+
+build() {
+ cd "$_builddir"/eglibc-build
+
+ export CFLAGS="$CFLAGS -fno-stack-protector"
+
+ ../configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --mandir=/usr/share/info \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --with-headers=/usr/include \
+ --enable-kernel=2.6.32 \
+ --enable-add-ons=nptl,libidn \
+ --disable-profile \
+ --enable-bind-now \
+ --with-tls \
+ --with-__thread \
+ --without-cvs \
+ --without-gd
+
+
+ make || return 1
+
+}
+
+package() {
+ cd "$_builddir"/eglibc-build
+
+ install -dm755 "$pkgdir"/etc && touch "$pkgdir"/etc/ld.so.conf
+
+ make -j1 install_root="$pkgdir" install
+
+ # provided by kernel-headers
+ rm "$pkgdir"/usr/include/scsi/scsi.h
+
+ rm "$pkgdir"/etc/ld.so.conf
+
+ # strip all
+ for i in ldconfig sln gencat getconf getent iconv locale localedef \
+ pcprofiledump rpcgen sprof lddlibc4 iconvconfig nscd rpcinfo; do
+ find "$pkgdir" -type f -name "$i" -exec strip --strip-all '{}' \;
+ done
+ strip --strip-all "$pkgdir"/usr/lib/gconv/*.so
+
+ # strip debug
+ for i in ld-2.12.1.so libpthread-2.12.1.so libthread_db-1.0.so; do
+ strip --strip-debug "$pkgdir"/lib/"$i"
+ done
+ strip --strip-debug "$pkgdir"/usr/lib/*.a
+
+ # strip uneeded
+ for i in libanl-2.12.1.so libBrokenLocale-2.12.1.so libc-2.12.1.so \
+ libcidn-2.12.1.so libcrypt-2.12.1.so libnss_*-2.12.1.so \
+ libdl-2.12.so libm-2.12.so libnsl-2.12.so libresolv-2.12.so \
+ librt-2.12.so libutil-2.12.so libmemusage.so libpcprofile.so \
+ libSegFault.so pt_chown; do
+ find "$pkgdir" -type f -name "$i" -exec strip --strip-unneeded '{}' \;
+ done
+ strip --strip-unneeded "$pkgdir"/usr/lib/gconv/*.so
+
+}
+
+gconv() {
+ pkgdesc="gconv character modules"
+ mkdir -p "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/lib/gconv "$subpkgdir"/usr/lib/
+}
+
+locales() {
+ pkgdesc="Common files for locale support"
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/* "$subpkgdir"/usr/share/
+}
+
+nscd() {
+ pkgdesc="eglibc name service cache daemon"
+ mkdir -p "$subpkgdir"/var/db/nscd "$subpkgdir"/var/run/nscd
+ install -Dm 755 "$srcdir"/nscd.initd "$subpkgdir"/etc/init.d/nscd
+ install -Dm 644 "$srcdir"/libc/nscd/nscd.conf "$subpkgdir"/etc/nscd.conf
+ mkdir -p "$subpkgdir"/usr/sbin
+ mv "$pkgdir"/usr/sbin/nscd "$subpkgdir"/usr/sbin/
+}
+
+md5sums="4deed2a0761d90a8e33643874fb54b41 eglibc-2.12-svn-11364.tar.bz2
+0c5540efc51c0b93996c51b57a8540ae glibc-2.10-bz4781.patch
+40cd342e21f71f5e49e32622b25acc52 glibc-__i686.patch
+137fe99a6bc1786da759fb99bfeddb1f nscd.initd"
diff --git a/main/eglibc/glibc-2.10-bz4781.patch b/main/eglibc/glibc-2.10-bz4781.patch
new file mode 100644
index 000000000..cf1a97a18
--- /dev/null
+++ b/main/eglibc/glibc-2.10-bz4781.patch
@@ -0,0 +1,42 @@
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -120,9 +120,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (eip);
+ /* Note: %esi is zero. */
+ movl %esi,%ebp /* terminate the stack frame */
+ #ifdef RESET_PID
+@@ -155,7 +152,6 @@
+ jmp L(haspid)
+ .previous
+ #endif
+- cfi_endproc;
+
+ cfi_startproc
+ PSEUDO_END (BP_SYM (__clone))
+diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S
+--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000
++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000
+@@ -89,9 +89,6 @@
+ ret
+
+ L(thread_start):
+- cfi_startproc;
+- /* Clearing frame pointer is insufficient, use CFI. */
+- cfi_undefined (rip);
+ /* Clear the frame pointer. The ABI suggests this be done, to mark
+ the outermost frame obviously. */
+ xorl %ebp, %ebp
+@@ -116,7 +113,6 @@
+ /* Call exit with return value from function call. */
+ movq %rax, %rdi
+ call HIDDEN_JUMPTARGET (_exit)
+- cfi_endproc;
+
+ cfi_startproc;
+ PSEUDO_END (BP_SYM (__clone))
diff --git a/main/eglibc/glibc-__i686.patch b/main/eglibc/glibc-__i686.patch
new file mode 100644
index 000000000..28d5dd424
--- /dev/null
+++ b/main/eglibc/glibc-__i686.patch
@@ -0,0 +1,13 @@
+diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile
+--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000
++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000
+@@ -1,6 +1,7 @@
+ # The mpn functions need a #define for asm syntax flavor.
+-# Every i386 port in use uses gas syntax (I think).
+-asm-CPPFLAGS += -DGAS_SYNTAX
++# Every i386 port in use uses gas syntax (I think). Don't replace
++# __i686 in __i686.get_pc_thunk.bx.
++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686
+
+ # The i386 `long double' is a distinct type we support.
+ long-double-fcts = yes
diff --git a/main/eglibc/nscd.initd b/main/eglibc/nscd.initd
new file mode 100644
index 000000000..7087dcf4c
--- /dev/null
+++ b/main/eglibc/nscd.initd
@@ -0,0 +1,19 @@
+#!/sbin/runscript
+
+DAEMON=/usr/sbin/nscd
+
+start() {
+ ebegin "Starting nscd"
+ # remove stale files
+ rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null
+ start-stop-daemon --start --exec $DAEMON
+ eend $?
+}
+
+stop () {
+ ebegin "Stopping nscd"
+ start-stop-daemon --stop --quiet \
+ --pidfile=/var/run/nscd/nscd.pid
+ eend $?
+}
+
diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD
index e4d64eca1..ff1dd75eb 100644
--- a/main/gcc/APKBUILD
+++ b/main/gcc/APKBUILD
@@ -32,7 +32,7 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-core-$pkgver.tar.bz2
gcc-dynamic-linker.patch
PR32219.patch
"
-# ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2 1
+# ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2
build ()
{
diff --git a/main/make/APKBUILD b/main/make/APKBUILD
index e81b32920..08634217b 100644
--- a/main/make/APKBUILD
+++ b/main/make/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=make
-pkgver=3.82
+pkgver=3.81
pkgrel=0
pkgdesc="GNU make utility to maintain groups of programs"
url="http://www.gnu.org/software/make"
@@ -24,4 +24,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="7f7c000e3b30c6840f2e9cf86b254fac make-3.82.tar.gz"
+md5sums="a4e9494ac6dc3f6b0c5ff75c5d52abba make-3.81.tar.gz"