aboutsummaryrefslogtreecommitdiffstats
path: root/community/pcc
diff options
context:
space:
mode:
Diffstat (limited to 'community/pcc')
-rw-r--r--community/pcc/APKBUILD63
-rw-r--r--community/pcc/multiarch.patch12
-rw-r--r--community/pcc/musl-fixes.patch20
3 files changed, 95 insertions, 0 deletions
diff --git a/community/pcc/APKBUILD b/community/pcc/APKBUILD
new file mode 100644
index 0000000000..2e3633a8c1
--- /dev/null
+++ b/community/pcc/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=pcc
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="The portable C compiler."
+url="http://pcc.ludd.ltu.se/"
+arch="x86 x86_64"
+license="BSD"
+depends="pcc-libs-dev"
+depends_dev=""
+makedepends="bison flex"
+install=""
+subpackages="$pkgname-doc"
+source="ftp://pcc.ludd.ltu.se/pub/$pkgname-releases/$pkgname-$pkgver.tgz
+ multiarch.patch
+ musl-fixes.patch"
+
+builddir="$srcdir/"$pkgname-$pkgver
+prepare() {
+ default_prepare || return 1
+
+ cd "$builddir"
+ update_config_sub || return 1
+
+ sed -i -e 's/AC_CHECK_PROG(strip,strip,yes,no)//' \
+ configure.ac || return 1
+ sed -i -e 's/AC_SUBST(strip)//' \
+ configure.ac || return 1
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-stripping \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ # Don't conflict with gcc-doc.
+ mv "$pkgdir"/usr/share/man/man1/cpp.1 \
+ "$pkgdir"/usr/share/man/man1/$pkgname-cpp.1 || return 1
+}
+
+md5sums="1c0f22440753075d64f9f2c6ed0e8278 pcc-1.1.0.tgz
+25149154030d2eefd3f5571674943d16 multiarch.patch
+7991640873523a3773721c9236728a2c musl-fixes.patch"
+sha256sums="d9e3fed84c767dcddefb6b1f854d5da8921f3f65d8bd02997743412f41474d64 pcc-1.1.0.tgz
+46c7065937175e91eb9ce6d41767b7d5d69554e191049389f3e36b6fee0a29e1 multiarch.patch
+4d82536428dd42912ff9af025a95e405104b1c4491aab571189f66ab0dfa9104 musl-fixes.patch"
+sha512sums="5bd2b59fbb323016d215023ce77793ae66766e8e8192b44bf0707ee444658022e1645669c13eea8c81bc55c161eea3b0271d6b3098b8a7d51ce67eb86c7527b4 pcc-1.1.0.tgz
+ef401677c27beb83005dae25151ec5c31bea04056733971ddaba2632868c024043e3faafbef16fe6b74713c96a54aa68681428dc11a2e3da7bd328376e72ee66 multiarch.patch
+0226a3f9d710840d7f710bc033d7eae6e5d5c8137eca6fe4147467066cb9fecf6acd03dc92f1559f4509eab84b5cc0e6c9533f2114903603644f728a411dc023 musl-fixes.patch"
diff --git a/community/pcc/multiarch.patch b/community/pcc/multiarch.patch
new file mode 100644
index 0000000000..087fda3c20
--- /dev/null
+++ b/community/pcc/multiarch.patch
@@ -0,0 +1,12 @@
+diff -upr pcc-1.1.0.orig/cc/cc/cc.c pcc-1.1.0/cc/cc/cc.c
+--- pcc-1.1.0.orig/cc/cc/cc.c 2016-09-16 20:38:14.932292071 +0200
++++ pcc-1.1.0/cc/cc/cc.c 2016-09-16 20:39:17.022094921 +0200
+@@ -206,7 +206,7 @@ char *cppmdadd[] = CPPMDADD;
+ #define PCCLIBDIR NULL
+ #endif
+ #ifndef DEFLIBDIRS /* default library search paths */
+-#ifdef MULTIARCH_PATH
++#ifndef MULTIARCH_PATH
+ #define DEFLIBDIRS { "/usr/lib/", 0 }
+ #else
+ #define DEFLIBDIRS { "/usr/lib/", "/usr/lib/" MULTIARCH_PATH "/", 0 }
diff --git a/community/pcc/musl-fixes.patch b/community/pcc/musl-fixes.patch
new file mode 100644
index 0000000000..cc58137c7f
--- /dev/null
+++ b/community/pcc/musl-fixes.patch
@@ -0,0 +1,20 @@
+diff -upr pcc-1.1.0.orig/os/linux/ccconfig.h pcc-1.1.0/os/linux/ccconfig.h
+--- pcc-1.1.0.orig/os/linux/ccconfig.h 2016-09-16 20:00:46.350281549 +0200
++++ pcc-1.1.0/os/linux/ccconfig.h 2016-09-16 20:04:28.006146652 +0200
+@@ -39,14 +39,14 @@
+
+ #if defined(mach_i386)
+ #define CPPMDADD { "-D__i386__", NULL, }
+-#define DYNLINKER { "-dynamic-linker", "/lib/ld-linux.so.2", NULL }
++#define DYNLINKER { "-dynamic-linker", "/lib/ld-musl-i386.so.1", NULL }
+ #elif defined(mach_powerpc)
+ #define CPPMDADD { "-D__ppc__", NULL, }
+ #define DYNLINKER { "-dynamic-linker", "/lib/ld-linux.so.2", NULL }
+ #elif defined(mach_amd64)
+ #define CPPMDADD { "-D__x86_64__", "-D__x86_64", "-D__amd64__", \
+ "-D__amd64", "-D__LP64__", "-D_LP64", NULL, }
+-#define DYNLINKER { "-dynamic-linker", "/lib64/ld-linux-x86-64.so.2", NULL }
++#define DYNLINKER { "-dynamic-linker", "/lib/ld-musl-x86_64.so.1", NULL }
+ #ifndef MULTIARCH_PATH
+ #define DEFLIBDIRS { "/usr/lib64/", 0 }
+ #else