summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/csu')
-rw-r--r--sys-libs/csu/Manifest2
-rw-r--r--sys-libs/csu/csu-79.ebuild45
-rw-r--r--sys-libs/csu/csu-85.ebuild52
-rw-r--r--sys-libs/csu/files/csu-85-arm-availability.patch18
-rw-r--r--sys-libs/csu/metadata.xml5
5 files changed, 122 insertions, 0 deletions
diff --git a/sys-libs/csu/Manifest b/sys-libs/csu/Manifest
new file mode 100644
index 000000000000..b27b010f8e75
--- /dev/null
+++ b/sys-libs/csu/Manifest
@@ -0,0 +1,2 @@
+DIST Csu-79.tar.gz 12719 SHA256 d052e1daa1f5de7fc02e7e7cb8b79ee2eeaad0f321c0a70bea4fc7217e232ec2 SHA512 1d47cce40d400241bdd0a4c24e332f999cb7ae08bd43b08b88e9b5fd5a0a53c9752816b0e07c5b6ffb78f7b5bc24f45986c6a50c661bc5cdd15fee5e465da1bb WHIRLPOOL 74df2f9a9c42bc346f165d8db1d9b3862e2eab89f5b7112e73e27c41419258c0f9c203d7c13acbe43bf2f6c253d12d0f37139d98188773b807419f6bd6bdf4cc
+DIST Csu-85.tar.gz 13376 SHA256 f2291d7548da854322acf194a875609bfae96c2481738cf6fd1d89eea9ae057a SHA512 3cfeb7d37630fc9d6607da018b9ac1aeb3f41a4c190a67e7dc242ae48e7abd0026e25055b9459f2f187d3bb25644f516f079d1b2e943e8cb4cc6c132ad594467 WHIRLPOOL 96552600235fa7e098658e16e2afc1f95ead6bb705703faa6b8f792ec6bcacf9c5c7da5de729d98f83eae337d086750b536f7c1ee0f1a2d5223b53a18d5143f4
diff --git a/sys-libs/csu/csu-79.ebuild b/sys-libs/csu/csu-79.ebuild
new file mode 100644
index 000000000000..728641a8e210
--- /dev/null
+++ b/sys-libs/csu/csu-79.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+DESCRIPTION="Darwin Csu (crt1.o) - Mac OS X 10.6.6 to 10.9.5 versions"
+HOMEPAGE="http://www.opensource.apple.com/"
+SRC_URI="http://www.opensource.apple.com/tarballs/Csu/Csu-${PV}.tar.gz"
+
+LICENSE="APSL-2"
+
+SLOT="0"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+S=${WORKDIR}/Csu-${PV}
+
+src_prepare() {
+ # since we don't have crt0, we can't build it either
+ sed -i \
+ -e 's:$(SYMROOT)/crt0.o::' \
+ -e '/LOCLIBDIR)\/crt0.o/d' \
+ Makefile || die
+
+ if [[ ${CHOST} == powerpc-*-darwin* && ${CHOST##*-darwin} -le 8 ]] ; then
+ # *must not* be compiled with -Os on PPC because that will
+ # optimize out _pointer_to__darwin_gcc3_preregister_frame_info
+ # which causes linker errors for large programs because the
+ # jump to ___darwin_gcc3_preregister_frame_info gets to be more
+ # than 16MB away
+ sed -i -e "s, -Os , -O ,g" Makefile || die
+ fi
+}
+
+src_compile() {
+ emake USRLIBDIR="${EPREFIX}"/lib || die
+}
+
+src_install() {
+ emake -j1 \
+ USRLIBDIR="${EPREFIX}"/lib \
+ LOCLIBDIR="${EPREFIX}"/lib \
+ DSTROOT="${D}" \
+ install || die
+}
diff --git a/sys-libs/csu/csu-85.ebuild b/sys-libs/csu/csu-85.ebuild
new file mode 100644
index 000000000000..e99971289b00
--- /dev/null
+++ b/sys-libs/csu/csu-85.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="Darwin Csu (crt1.o) - Mac OS X 10.10 version"
+HOMEPAGE="http://www.opensource.apple.com/"
+SRC_URI="http://www.opensource.apple.com/tarballs/Csu/Csu-${PV}.tar.gz"
+
+LICENSE="APSL-2"
+
+SLOT="0"
+KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+S=${WORKDIR}/Csu-${PV}
+
+src_prepare() {
+ # since we don't have crt0, we can't build it either
+ sed -i \
+ -e 's:$(SYMROOT)/crt0.o::' \
+ -e '/LOCLIBDIR)\/crt0.o/d' \
+ -e '/^CC = /d' \
+ Makefile || die
+
+ # only require Availability.h for arm, bugs #538602, #539964
+ epatch "${FILESDIR}"/${P}-arm-availability.patch
+
+ if [[ ${CHOST} == powerpc* ]] ; then
+ # *must not* be compiled with -Os on PPC because that
+ # will optimize out
+ # _pointer_to__darwin_gcc3_preregister_frame_info which
+ # causes linker errors for large programs because the
+ # jump to ___darwin_gcc3_preregister_frame_info gets to
+ # be more than 16MB away
+ sed -i -e "s, -Os , -O ,g" Makefile || die
+ fi
+}
+
+src_compile() {
+ emake USRLIBDIR="${EPREFIX}"/lib || die
+}
+
+src_install() {
+ emake -j1 \
+ USRLIBDIR="${EPREFIX}"/lib \
+ LOCLIBDIR="${EPREFIX}"/lib \
+ DSTROOT="${D}" \
+ install || die
+}
diff --git a/sys-libs/csu/files/csu-85-arm-availability.patch b/sys-libs/csu/files/csu-85-arm-availability.patch
new file mode 100644
index 000000000000..6d3f3cf42b06
--- /dev/null
+++ b/sys-libs/csu/files/csu-85-arm-availability.patch
@@ -0,0 +1,18 @@
+Guard inclusion of Availability.h so that it only happens on arm where it's
+actuallty used so it doesn't cause failures on old OS X where Availability.h
+doesn't exist yet.
+
+Michael Weiser <michael@weiser.dinsnail.net>
+
+--- Csu-85/start.s.orig 2013-10-09 01:11:47.000000000 +0200
++++ Csu-85/start.s 2015-02-11 20:34:04.000000000 +0100
+@@ -22,7 +22,9 @@
+ * @APPLE_LICENSE_HEADER_END@
+ */
+
++#ifdef __arm__
+ #include <Availability.h>
++#endif
+
+ #if __ppc__ && __DYNAMIC__
+ //
diff --git a/sys-libs/csu/metadata.xml b/sys-libs/csu/metadata.xml
new file mode 100644
index 000000000000..f737f232e3bf
--- /dev/null
+++ b/sys-libs/csu/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>prefix</herd>
+</pkgmetadata>