diff options
Diffstat (limited to 'main/gc')
-rw-r--r-- | main/gc/APKBUILD | 38 | ||||
-rw-r--r-- | main/gc/uclibc-getcontext.patch | 11 |
2 files changed, 49 insertions, 0 deletions
diff --git a/main/gc/APKBUILD b/main/gc/APKBUILD new file mode 100644 index 0000000000..065fba140b --- /dev/null +++ b/main/gc/APKBUILD @@ -0,0 +1,38 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=gc +pkgver=7.1 +pkgrel=0 +pkgdesc="A garbage collector for C and C++" +url="http://www.hpl.hp.com/personal/Hans_Boehm/gc/" +license="GPL" +depends= +makedepends= +subpackages="$pkgname-dev $pkgname-doc libgc++:libgccpp" +source="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-$pkgver.tar.gz + uclibc-getcontext.patch" + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + patch -p1 -i "$srcdir"/uclibc-getcontext.patch || return 1 +} + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr \ + --datadir=/usr/share/doc/gc \ + --enable-cplusplus || return 1 + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" install || return 1 +} + +libgccpp() { + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libgccpp.* "$subpkgdir"/usr/lib/ +} + +md5sums="2ff9924c7249ef7f736ecfe6f08f3f9b gc-7.1.tar.gz +bce75c75bf0cdb295ac0bf7ba0f6e267 uclibc-getcontext.patch" diff --git a/main/gc/uclibc-getcontext.patch b/main/gc/uclibc-getcontext.patch new file mode 100644 index 0000000000..de48fc0183 --- /dev/null +++ b/main/gc/uclibc-getcontext.patch @@ -0,0 +1,11 @@ +--- ./mach_dep.c.orig ++++ ./mach_dep.c +@@ -175,7 +175,7 @@ + # if defined(HAVE_PUSH_REGS) + GC_push_regs(); + # elif defined(UNIX_LIKE) && !defined(DARWIN) && !defined(ARM32) && \ +- !defined(HURD) ++ !defined(HURD) && !defined(__UCLIBC__) + /* Older versions of Darwin seem to lack getcontext(). */ + /* ARM Linux often doesn't support a real getcontext(). */ + ucontext_t ctxt; |