* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2016-03-02 7:48 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2016-03-02 7:48 UTC (permalink / raw
To: gentoo-commits
commit: 6923304616286ab68c1c57240dd3ad123100a8a1
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 2 07:47:34 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Mar 2 07:48:39 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69233046
sys-devel/gcc-apple: ensure building succeeds with more modern compilers, bug #574736
Package-Manager: portage-2.2.27-prefix
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index 5f5306f..9d1eef4 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -246,6 +246,11 @@ src_configure() {
[[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \
export CC="${CC:-$(tc-getCC)} -m64"
+ # Clang on OSX defaults to c99 mode, while GCC defaults to gnu89
+ # (C90 + extensions). This makes Clang barf on GCC's sources, so
+ # work around that. Bugs #491098, #574736
+ export CC="${CC:-$(tc-getCC)} -std=gnu89"
+
mkdir -p "${WORKDIR}"/build
cd "${WORKDIR}"/build
einfo "Configuring GCC with: ${myconf//--/\n\t--}"
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2016-09-10 14:08 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2016-09-10 14:08 UTC (permalink / raw
To: gentoo-commits
commit: b3b0bbd4951104df59743d3b3622f6be39d71a42
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 14:04:45 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 14:08:15 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3b0bbd4
sys-devel/gcc-apple: remove cross-compile SLOT magic once copied from gcc/toolchain.eclass, bug #593392
Package-Manager: portage-2.2.28
sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild | 10 ++--------
sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild | 10 ++--------
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild | 10 ++--------
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 10 ++--------
4 files changed, 8 insertions(+), 32 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild b/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
index ffbf68a..2820073 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -13,14 +13,8 @@ HOMEPAGE="https://gcc.gnu.org"
SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz"
LICENSE="APSL-2 GPL-2"
-if is_crosscompile; then
- SLOT="${CTARGET}-40"
-else
- SLOT="40"
-fi
-
+SLOT="40"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-
IUSE="nls objc objc++ +cxx"
RDEPEND=">=sys-libs/zlib-1.1.4
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
index bb02942..818bc37 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -27,14 +27,8 @@ case ${CHOST} in
;;
esac
-if is_crosscompile; then
- SLOT="${CTARGET}-42"
-else
- SLOT="42"
-fi
-
+SLOT="42"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-
IUSE="fortran nls +openmp objc objc++ +cxx"
RDEPEND=">=sys-libs/zlib-1.1.4
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
index 0939af4..aca327a 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -27,14 +27,8 @@ case ${CHOST} in
;;
esac
-if is_crosscompile; then
- SLOT="${CTARGET}-42"
-else
- SLOT="42"
-fi
-
+SLOT="42"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-
IUSE="fortran nls +openmp objc objc++ +cxx"
RDEPEND=">=sys-libs/zlib-1.1.4
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index 9d1eef4..1f088b9 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -27,14 +27,8 @@ case ${CHOST} in
;;
esac
-if is_crosscompile; then
- SLOT="${CTARGET}-42"
-else
- SLOT="42"
-fi
-
+SLOT="42"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-
IUSE="fortran nls +openmp objc objc++ +cxx"
RDEPEND=">=sys-libs/zlib-1.1.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2016-09-10 14:40 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2016-09-10 14:40 UTC (permalink / raw
To: gentoo-commits
commit: 0a332ebfc381b406c308baa37cde8e4b9e7573c7
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 14:27:25 2016 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 14:40:27 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a332ebf
sys-devel/gcc-apple: bump to EAPI=5 and remove all conditional code from global scope, bug #593392
Package-Manager: portage-2.2.28
sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild | 18 +++++-----
sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild | 39 +++++++++++-----------
.../gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild | 39 +++++++++++-----------
.../gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 39 +++++++++++-----------
4 files changed, 66 insertions(+), 69 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild b/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
index 2820073..fb49629 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="3"
+EAPI="5"
inherit eutils toolchain prefix
@@ -30,14 +30,6 @@ S=${WORKDIR}/gcc-${APPLE_VERS}
# TPREFIX is the prefix of the CTARGET installation
export TPREFIX=${TPREFIX:-${EPREFIX}}
-LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
-if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
-else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
-fi
-STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
src_unpack() {
# override toolchain.eclass func
unpack ${A}
@@ -68,6 +60,14 @@ src_configure() {
use objc && langs="${langs},objc"
use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
+ LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
+ if is_crosscompile ; then
+ BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
+ else
+ BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
+ fi
+ STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
+
local myconf="${myconf} \
--prefix=${EPREFIX}/usr \
--bindir=${BINPATH} \
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
index 818bc37..aaf9307 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="3"
+EAPI="5"
inherit eutils toolchain flag-o-matic autotools prefix
@@ -16,17 +16,6 @@ SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE
fortran? ( mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2 )"
LICENSE="GPL-2 GPL-3"
-case ${CHOST} in
- *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
- LIBSTDCXX_APPLE_VERSION=39
- ;;
- *)
- # pre Leopard has no dtrace, which is required by 37.11 and above
- # Leopard only has 32-bits version of dtrace
- LIBSTDCXX_APPLE_VERSION=16
- ;;
-esac
-
SLOT="42"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="fortran nls +openmp objc objc++ +cxx"
@@ -50,14 +39,6 @@ S=${WORKDIR}/gcc-${APPLE_VERS}
# TPREFIX is the prefix of the CTARGET installation
export TPREFIX=${TPREFIX:-${EPREFIX}}
-LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
-if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
-else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
-fi
-STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
src_unpack() {
# override toolchain.eclass func
unpack ${A}
@@ -73,6 +54,16 @@ src_prepare() {
fi
# move in libstdc++
+ case ${CHOST} in
+ *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
+ LIBSTDCXX_APPLE_VERSION=39
+ ;;
+ *)
+ # pre Leopard has no dtrace, which is required by 37.11 and above
+ # Leopard only has 32-bits version of dtrace
+ LIBSTDCXX_APPLE_VERSION=16
+ ;;
+ esac
mv "${WORKDIR}"/libstdcxx-${LIBSTDCXX_APPLE_VERSION}/libstdcxx/libstdc++-v3 .
if [[ ${LIBSTDCXX_APPLE_VERSION} == 16 ]] ; then
epatch "${FILESDIR}"/libstdc++-${LIBSTDCXX_APPLE_VERSION}.patch # does it apply on 37?
@@ -140,6 +131,14 @@ src_configure() {
use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
use fortran && langs="${langs},fortran"
+ LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
+ if is_crosscompile ; then
+ BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
+ else
+ BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
+ fi
+ STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
+
local myconf="${myconf} \
--prefix=${EPREFIX}/usr \
--bindir=${BINPATH} \
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
index aca327a..a180a2d 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="3"
+EAPI="5"
inherit eutils toolchain flag-o-matic autotools prefix
@@ -16,17 +16,6 @@ SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE
fortran? ( mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2 )"
LICENSE="GPL-2 GPL-3"
-case ${CHOST} in
- *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
- LIBSTDCXX_APPLE_VERSION=39
- ;;
- *)
- # pre Leopard has no dtrace, which is required by 37.11 and above
- # Leopard only has 32-bits version of dtrace
- LIBSTDCXX_APPLE_VERSION=16
- ;;
-esac
-
SLOT="42"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="fortran nls +openmp objc objc++ +cxx"
@@ -51,14 +40,6 @@ S=${WORKDIR}/gcc-${APPLE_VERS}
# TPREFIX is the prefix of the CTARGET installation
export TPREFIX=${TPREFIX:-${EPREFIX}}
-LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
-if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
-else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
-fi
-STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
src_unpack() {
# override toolchain.eclass func
unpack ${A}
@@ -74,6 +55,16 @@ src_prepare() {
fi
# move in libstdc++
+ case ${CHOST} in
+ *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
+ LIBSTDCXX_APPLE_VERSION=39
+ ;;
+ *)
+ # pre Leopard has no dtrace, which is required by 37.11 and above
+ # Leopard only has 32-bits version of dtrace
+ LIBSTDCXX_APPLE_VERSION=16
+ ;;
+ esac
mv "${WORKDIR}"/libstdcxx-${LIBSTDCXX_APPLE_VERSION}/libstdcxx/libstdc++-v3 .
if [[ ${LIBSTDCXX_APPLE_VERSION} == 16 ]] ; then
epatch "${FILESDIR}"/libstdc++-${LIBSTDCXX_APPLE_VERSION}.patch # does it apply on 37?
@@ -152,6 +143,14 @@ src_configure() {
use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
use fortran && langs="${langs},fortran"
+ LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
+ if is_crosscompile ; then
+ BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
+ else
+ BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
+ fi
+ STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
+
local myconf="${myconf} \
--prefix=${EPREFIX}/usr \
--bindir=${BINPATH} \
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index 1f088b9..3540664 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI="3"
+EAPI="5"
inherit eutils toolchain flag-o-matic autotools prefix
@@ -16,17 +16,6 @@ SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE
fortran? ( mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2 )"
LICENSE="GPL-2 GPL-3"
-case ${CHOST} in
- *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
- LIBSTDCXX_APPLE_VERSION=39
- ;;
- *)
- # pre Leopard has no dtrace, which is required by 37.11 and above
- # Leopard only has 32-bits version of dtrace
- LIBSTDCXX_APPLE_VERSION=16
- ;;
-esac
-
SLOT="42"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE="fortran nls +openmp objc objc++ +cxx"
@@ -52,14 +41,6 @@ S=${WORKDIR}/gcc-${APPLE_VERS}
# TPREFIX is the prefix of the CTARGET installation
export TPREFIX=${TPREFIX:-${EPREFIX}}
-LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
-if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
-else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
-fi
-STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
do_bootstrap() {
is_crosscompile && return 1
[[ ${CHOST} != ${CBUILD} ]] && return 1
@@ -82,6 +63,16 @@ src_prepare() {
fi
# move in libstdc++
+ case ${CHOST} in
+ *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
+ LIBSTDCXX_APPLE_VERSION=39
+ ;;
+ *)
+ # pre Leopard has no dtrace, which is required by 37.11 and above
+ # Leopard only has 32-bits version of dtrace
+ LIBSTDCXX_APPLE_VERSION=16
+ ;;
+ esac
mv "${WORKDIR}"/libstdcxx-${LIBSTDCXX_APPLE_VERSION}/libstdcxx/libstdc++-v3 .
if [[ ${LIBSTDCXX_APPLE_VERSION} == 16 ]] ; then
epatch "${FILESDIR}"/libstdc++-${LIBSTDCXX_APPLE_VERSION}.patch # does it apply on 37?
@@ -167,6 +158,14 @@ src_configure() {
use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
use fortran && langs="${langs},fortran"
+ LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
+ if is_crosscompile ; then
+ BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
+ else
+ BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
+ fi
+ STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
+
local myconf="${myconf} \
--prefix=${EPREFIX}/usr \
--bindir=${BINPATH} \
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2017-02-06 19:32 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2017-02-06 19:32 UTC (permalink / raw
To: gentoo-commits
commit: 9f23086e359dff075c17452007379dfd53a1f030
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 6 19:30:56 2017 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Feb 6 19:32:32 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f23086e
sys-devel/gcc-apple: drop old versions, fix missing bootstrap from IUSE, bug #608348
Package-Manager: portage-2.3.3
sys-devel/gcc-apple/Manifest | 2 -
sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild | 255 ----------------
sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild | 325 --------------------
.../gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild | 337 ---------------------
.../gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 4 +-
5 files changed, 2 insertions(+), 921 deletions(-)
diff --git a/sys-devel/gcc-apple/Manifest b/sys-devel/gcc-apple/Manifest
index cffe6c8..77bc3be 100644
--- a/sys-devel/gcc-apple/Manifest
+++ b/sys-devel/gcc-apple/Manifest
@@ -1,5 +1,3 @@
-DIST gcc-5493.tar.gz 40601890 SHA256 acdb2cc0abf049bfda433806fc82e235c6b6c5f86a0e8fd54f62ed3a8606452f SHA512 a874134e9fb11131d958c475a8d9ffeb659b30509e11b47d80b2d1bf6d1f9ec0dbbd338ff5754dc8dece7af8b486d554860469d240eb37dd480ede9fd6afc8fc WHIRLPOOL 327c554ebdd8b23392264fc4d5b00ad5eec4b4888c952051ef84d11f18bee463ff4b87711ddd8ce14708aa0fcb57209043d6d27973dda4f8dcb7ba14590b70a3
-DIST gcc-5664.tar.gz 24688506 SHA256 9e1533b6a894e8cf90b0d56c353fc1175d0f14ec19e03c307726af4de883c987 SHA512 7676de5f8eece8b9ae3a119379df0ad9e5b53ea37ce6fc60fa12fcaaa903188b116b35d997e0baff2b7cac4bd3a8462bc52d6955d05de0ab399c6c11c87ff6d5 WHIRLPOOL e663055409299ba8d0cf57694dc7b8e665ffef7c79f37bd27d6f855c6264e5815f09654f75f8a9495e5a582fb360215939ee7a84abfd4bc6e8aa777edd892790
DIST gcc-5666.3.tar.gz 19367320 SHA256 6c46f4376d11ada5be0cfc3894b9296edf574af3c616ab71803ea78edfd7015b SHA512 31cf52a00f31bcd7c47382888152cfe9851688c8fb7b1f236197b06b8acdd96b1943d327f8fab0fd305531c99a8fbf4865b2214dc2d1a236bb8ad39f710ce931 WHIRLPOOL 03711b56d38b2cb3b5af735802a82ef435cf42c3aa4fa74fa754b016edea447d011e626115fe59449def14ac34422788340165faab567b6fb992d1fe1684f93d
DIST gcc-fortran-4.2.4.tar.bz2 905688 SHA256 6fc2056cd62921b2859381749710af765a46877bd46f9fe5ef6fab0671c47e04 SHA512 1a36587a3691b8d7ecd23938efcdfca42642b6b260a1c830f6d791bb1b8ac32953998c45d77eee2d557861d631431569503c796b61aeaea9ac5fffbce1982faa WHIRLPOOL 5db1f448b3c08985ee2d0b1a9101e72733f4859184892da67268650c1010c26487b5ff15670151e67fdde5e4bd9053ed2e98b1582d1f4f99375b1bcdaf94351a
DIST libstdcxx-16.tar.gz 64695692 SHA256 a7d8041e50e110f5a503e188a05cb217f0c99c51f248a0a1387cc07a0b6f167f SHA512 2f0e8d694aaaf94fc2a0463ebd4a5775865421dedb431a6f6f701a8d33078e768bef232f72e2cf1f8e2d278eb60ff54030f5ad22b43eb0643d49bc4717e96b05 WHIRLPOOL fb90a1df90e60717906d227fb1dc2b8639fd063dbf6eec39d3a840dc8025c5384bd2c8b0a86158f8c072a1008ac2561e8e9f512ef4a4f84c081903154bb9d378
diff --git a/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild b/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
deleted file mode 100644
index fb49629..00000000
--- a/sys-devel/gcc-apple/gcc-apple-4.0.1_p5493.ebuild
+++ /dev/null
@@ -1,255 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-inherit eutils toolchain prefix
-
-GCC_VERS=${PV/_p*/}
-APPLE_VERS=${PV/*_p/}
-DESCRIPTION="Apple branch of the GNU Compiler Collection, Developer Tools 3.1.3"
-HOMEPAGE="https://gcc.gnu.org"
-SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz"
-LICENSE="APSL-2 GPL-2"
-
-SLOT="40"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="nls objc objc++ +cxx"
-
-RDEPEND=">=sys-libs/zlib-1.1.4
- >=sys-libs/ncurses-5.2-r2
- nls? ( sys-devel/gettext )"
-DEPEND="${RDEPEND}
- >=sys-apps/texinfo-4.2-r4
- >=sys-devel/bison-1.875
- ${CATEGORY}/binutils-apple"
-
-S=${WORKDIR}/gcc-${APPLE_VERS}
-
-# TPREFIX is the prefix of the CTARGET installation
-export TPREFIX=${TPREFIX:-${EPREFIX}}
-
-src_unpack() {
- # override toolchain.eclass func
- unpack ${A}
-}
-
-src_prepare() {
- # we use our libtool
- sed -i -e "s:/usr/bin/libtool:${EPREFIX}/usr/bin/${CTARGET}-libtool:" \
- gcc/config/darwin.h || die "sed gcc/config/darwin.h failed"
- # add prefixed Frameworks to default search paths (may want to change this
- # in a cross-compile)
- sed -i -e "/\"\/System\/Library\/Frameworks\"\,/i\ \ \"${EPREFIX}/Frameworks\"\, " \
- gcc/config/darwin-c.c || die "sed gcc/config/darwin-c.c failed"
-
- # Workaround deprecated "+Nc" syntax for GNU tail(1)
- sed -i -e "s:tail +16c:tail -c +16:g" \
- gcc/Makefile.in || die "sed gcc/Makefile.in failed."
-
- epatch "${FILESDIR}"/${PN}-4.0.1_p5465-default-altivec.patch
-
- epatch "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs.patch
- eprefixify "${S}"/gcc/gcc.c
-}
-
-src_configure() {
- local langs="c"
- use cxx && langs="${langs},c++"
- use objc && langs="${langs},objc"
- use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
-
- LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
- if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
- else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
- fi
- STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
- local myconf="${myconf} \
- --prefix=${EPREFIX}/usr \
- --bindir=${BINPATH} \
- --includedir=${LIBPATH}/include \
- --datadir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS} \
- --mandir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/man \
- --infodir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/info \
- --with-gxx-include-dir=${STDCXX_INCDIR} \
- --host=${CHOST}
- --enable-version-specific-runtime-libs"
-
- if is_crosscompile ; then
- # Straight from the GCC install doc:
- # "GCC has code to correctly determine the correct value for target
- # for nearly all native systems. Therefore, we highly recommend you
- # not provide a configure target when configuring a native compiler."
- myconf="${myconf} --target=${CTARGET}"
-
- # Tell compiler where to find what it needs
- myconf="${myconf} --with-sysroot=${EPREFIX}/usr/${CTARGET}"
-
- # Set this to something sane for both native and target
- CFLAGS="-O2 -pipe"
-
- local VAR="CFLAGS_"${CTARGET//-/_}
- CXXFLAGS=${!VAR}
- fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
-
- # Native Language Support
- if use nls ; then
- myconf="${myconf} --enable-nls --without-included-gettext"
- else
- myconf="${myconf} --disable-nls"
- fi
-
- # reasonably sane globals (hopefully)
- myconf="${myconf} \
- --with-system-zlib \
- --disable-checking \
- --disable-werror"
-
- # languages to build
- myconf="${myconf} --enable-languages=${langs}"
-
- # ???
- myconf="${myconf} --enable-shared --enable-threads=posix"
-
- # make clear we're in an offset
- use prefix && myconf="${myconf} --with-local-prefix=${TPREFIX}/usr"
-
- # we don't use a GNU linker, so tell GCC where to find the linker stuff we
- # want it to use
- myconf="${myconf} \
- --with-as=${EPREFIX}/usr/bin/${CTARGET}-as \
- --with-ld=${EPREFIX}/usr/bin/${CTARGET}-ld"
-
- # make sure we never do multilib stuff, for that we need a different Prefix
- [[ -z ${I_KNOW_WHAT_IM_DOING_I_WANT_APPLE_MULTILIB} ]] \
- && myconf="${myconf} --disable-multilib"
-
- # The produced libgcc_s.dylib is faulty if using a bit too much
- # optimisation. Nail it down to something sane
- CFLAGS="-O2 -pipe"
- CXXFLAGS=${CFLAGS}
-
- # https://gcc.gnu.org/ml/gcc-patches/2006-11/msg00765.html
- # (won't hurt if already 64-bits, but is essential when coming from a
- # multilib compiler -- the default)
- [[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \
- export CC="gcc -m64"
-
- mkdir -p "${WORKDIR}"/build
- cd "${WORKDIR}"/build
- einfo "Configuring GCC with: ${myconf//--/\n\t--}"
- "${S}"/configure ${myconf} || die "conf failed"
-}
-
-src_compile() {
- cd "${WORKDIR}"/build || die
- emake bootstrap || die "emake failed"
-}
-
-src_install() {
- cd "${WORKDIR}"/build
- # -jX doesn't work
- emake -j1 DESTDIR="${D}" install || die
-
- # Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
- # This one comes with binutils
- find "${ED}" -name libiberty.a -exec rm -f "{}" \;
-
- # Basic sanity check
- if ! is_crosscompile ; then
- local EXEEXT
- eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log)
- [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}"
- fi
-
- # create gcc-config entry
- dodir /etc/env.d/gcc
- local gcc_envd_base="/etc/env.d/gcc/${CHOST}-${GCC_VERS}"
-
- gcc_envd_file="${ED}${gcc_envd_base}"
-
- # phase PATH/ROOTPATH out ...
- echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file}
- echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file}
- echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file}
-
- # we don't do multilib
- LDPATH="${LIBPATH}"
- echo "LDPATH=\"${LDPATH}\"" >> ${gcc_envd_file}
- echo "MANPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/man\"" >> ${gcc_envd_file}
- echo "INFOPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/info\"" >> ${gcc_envd_file}
- echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file}
- is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file}
-
- # Move <cxxabi.h> to compiler-specific directories
- [[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \
- mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/
-
- # These should be symlinks
- dodir /usr/bin
- cd "${D}"${BINPATH}
- for x in cpp gcc g++ c++ g77 gcj gcjh gfortran ; do
- # For some reason, g77 gets made instead of ${CTARGET}-g77...
- # this should take care of that
- [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x}
-
- if [[ -f ${CTARGET}-${x} ]] && ! is_crosscompile ; then
- ln -sf ${CTARGET}-${x} ${x}
-
- # Create version-ed symlinks
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
- /usr/bin/${CTARGET}-${x}-${GCC_VERS}
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
- /usr/bin/${x}-${GCC_VERS}
- fi
-
- if [[ -f ${CTARGET}-${x}-${GCC_VERS} ]] ; then
- rm -f ${CTARGET}-${x}-${GCC_VERS}
- ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_VERS}
- fi
- done
-
- # I do not know if this will break gcj stuff, so I'll only do it for
- # objc for now; basically "ffi.h" is the correct file to include,
- # but it gets installed in .../GCCVER/include and yet it does
- # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
- # is installed in .../GCCVER/include/libffi; the following fixes
- # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
- if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then
- mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die
- rm -r "${D}"${LIBPATH}/include/libffi || die
- fi
-
- # Now do the fun stripping stuff
- env RESTRICT="" CHOST=${CHOST} prepstrip "${D}${BINPATH}"
- env RESTRICT="" CHOST=${CTARGET} prepstrip "${D}${LIBPATH}"
- # gcc used to install helper binaries in lib/ but then moved to libexec/
- [[ -d ${ED}/usr/libexec/gcc ]] && \
- env RESTRICT="" CHOST=${CHOST} prepstrip "${ED}/usr/libexec/gcc/${CTARGET}/${GCC_VERS}"
-
- # prune empty dirs left behind
- find "${ED}" -type d | xargs rmdir >& /dev/null
-}
-
-pkg_postinst() {
- # beware this also switches when it's on another branch version of GCC
- gcc-config ${CTARGET}-${GCC_VERS}
-}
-
-pkg_postrm() {
- # clean up the cruft left behind by cross-compilers
- if is_crosscompile ; then
- if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
- rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET}
- rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET}
- rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
- fi
- return 0
- fi
-}
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
deleted file mode 100644
index aaf9307..00000000
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5664.ebuild
+++ /dev/null
@@ -1,325 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-inherit eutils toolchain flag-o-matic autotools prefix
-
-GCC_VERS=${PV/_p*/}
-APPLE_VERS="${PV/*_p/}"
-DESCRIPTION="Apple branch of the GNU Compiler Collection, Developer Tools 3.2.3"
-HOMEPAGE="https://gcc.gnu.org"
-SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz
- http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-16.tar.gz
- http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-39.tar.gz
- fortran? ( mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2 )"
-LICENSE="GPL-2 GPL-3"
-
-SLOT="42"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="fortran nls +openmp objc objc++ +cxx"
-
-RDEPEND=">=sys-libs/zlib-1.1.4
- >=sys-libs/ncurses-5.2-r2
- nls? ( sys-devel/gettext )
- >=sys-devel/gcc-config-1.3.12-r4
- fortran? (
- >=dev-libs/gmp-4.2.1
- >=dev-libs/mpfr-2.2.0_p10
- )"
-DEPEND="${RDEPEND}
- >=sys-apps/texinfo-4.2-r4
- >=sys-devel/bison-1.875
- ${CATEGORY}/binutils-apple
- >=dev-libs/mpfr-2.2.0_p10"
-
-S=${WORKDIR}/gcc-${APPLE_VERS}
-
-# TPREFIX is the prefix of the CTARGET installation
-export TPREFIX=${TPREFIX:-${EPREFIX}}
-
-src_unpack() {
- # override toolchain.eclass func
- unpack ${A}
-}
-
-src_prepare() {
- # Support for fortran
- if use fortran ; then
- mv "${WORKDIR}"/gcc-4.2.4/gcc/fortran gcc/ || die
- mv "${WORKDIR}"/gcc-4.2.4/libgfortran . || die
- # from: substracted from http://r.research.att.com/tools/
- epatch "${FILESDIR}"/${PN}-4.2.1_p5646-gfortran.patch
- fi
-
- # move in libstdc++
- case ${CHOST} in
- *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
- LIBSTDCXX_APPLE_VERSION=39
- ;;
- *)
- # pre Leopard has no dtrace, which is required by 37.11 and above
- # Leopard only has 32-bits version of dtrace
- LIBSTDCXX_APPLE_VERSION=16
- ;;
- esac
- mv "${WORKDIR}"/libstdcxx-${LIBSTDCXX_APPLE_VERSION}/libstdcxx/libstdc++-v3 .
- if [[ ${LIBSTDCXX_APPLE_VERSION} == 16 ]] ; then
- epatch "${FILESDIR}"/libstdc++-${LIBSTDCXX_APPLE_VERSION}.patch # does it apply on 37?
- sed -i -e 's/__block\([^_]\)/__blk\1/g' \
- libstdc++-v3/include/ext/mt_allocator.h \
- libstdc++-v3/src/mt_allocator.cc || die "conflict fix failed"
- fi
-
- # we use our libtool
- sed -i -e "s:/usr/bin/libtool:${EPREFIX}/usr/bin/${CTARGET}-libtool:" \
- gcc/config/darwin.h || die "sed gcc/config/darwin.h failed"
- # add prefixed Frameworks to default search paths (may want to change this
- # in a cross-compile)
- sed -i -e "/\"\/System\/Library\/Frameworks\"\,/i\ \ \"${EPREFIX}/Frameworks\"\, " \
- gcc/config/darwin-c.c || die "sed gcc/config/darwin-c.c failed"
-
- # Workaround deprecated "+Nc" syntax for GNU tail(1)
- sed -i -e "s:tail +16c:tail -c +16:g" \
- gcc/Makefile.in || die "sed gcc/Makefile.in failed."
-
- epatch "${FILESDIR}"/${PN}-4.0.1_p5465-default-altivec.patch
-
- # dsymutil stuff breaks on 10.4/x86, revert it
- [[ ${CHOST} == *86*-apple-darwin8 ]] && \
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-dsymutil.patch
-
- # bootstrapping might fail with host provided gcc on 10.4/x86
- if ! is_crosscompile && ! echo "int main(){return 0;}" | gcc -o "${T}"/foo \
- -mdynamic-no-pic -x c - >/dev/null 2>&1;
- then
- einfo "-mdynamic-no-pic doesn't work - disabling..."
- echo "BOOT_CFLAGS=-g -O2" > config/mh-x86-darwin
- XD=gcc/config/i386/x-darwin
- awk 'BEGIN{x=1}{if ($0 ~ "use -mdynamic-no-pic to build x86")
- {x=1-x} else if (x) print}' $XD > t && mv t $XD \
- || die "Failed to rewrite $XD"
- fi
-
- epatch "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs.patch
- eprefixify "${S}"/gcc/gcc.c
-
- if use !bootstrap ; then
- # this only occurs with up-to-date tools from the Prefix, and actually
- # breaks the bootstrap since the autoconf needs a very recent automake
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-texinfo.patch
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-autoconf-m4-precious.patch
- cd "${S}"/gcc && eautoconf
- cd "${S}"/libgomp && eautoconf
- fi
-
- local BRANDING_GCC_PKGVERSION="$(sed -n -e '/^#define VERSUFFIX/s/^[^"]*"\([^"]\+\)".*$/\1/p' "${S}"/gcc/version.c)"
- BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/(/(Gentoo ${PVR}, }
- einfo "patching gcc version: ${GCC_VERS}${BRANDING_GCC_PKGVERSION}"
-
- sed -i -e "s~VERSUFFIX \"[^\"]*~VERSUFFIX \"${BRANDING_GCC_PKGVERSION}~" \
- "${S}"/gcc/version.c || die "failed to update VERSUFFIX with Gentoo branding"
- sed -i -e 's~developer\.apple\.com\/bugreporter~bugs\.gentoo\.org\/~' \
- "${S}"/gcc/version.c || die "Failed to change the bug URL"
-}
-
-src_configure() {
- local langs="c"
- use cxx && langs="${langs},c++"
- use objc && langs="${langs},objc"
- use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
- use fortran && langs="${langs},fortran"
-
- LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
- if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
- else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
- fi
- STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
- local myconf="${myconf} \
- --prefix=${EPREFIX}/usr \
- --bindir=${BINPATH} \
- --includedir=${LIBPATH}/include \
- --datadir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS} \
- --mandir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/man \
- --infodir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/info \
- --with-gxx-include-dir=${STDCXX_INCDIR} \
- --host=${CHOST}
- --enable-version-specific-runtime-libs"
-
- if is_crosscompile ; then
- # Straight from the GCC install doc:
- # "GCC has code to correctly determine the correct value for target
- # for nearly all native systems. Therefore, we highly recommend you
- # not provide a configure target when configuring a native compiler."
- myconf="${myconf} --target=${CTARGET}"
-
- # Tell compiler where to find what it needs
- myconf="${myconf} --with-sysroot=${EPREFIX}/usr/${CTARGET}"
-
- # Set this to something sane for both native and target
- CFLAGS="-O2 -pipe"
-
- local VAR="CFLAGS_"${CTARGET//-/_}
- CXXFLAGS=${!VAR}
- fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
-
- # Native Language Support
- if use nls ; then
- myconf="${myconf} --enable-nls --without-included-gettext"
- else
- myconf="${myconf} --disable-nls"
- fi
-
- # reasonably sane globals (hopefully)
- myconf="${myconf} \
- --with-system-zlib \
- --disable-checking \
- --disable-werror"
-
- # ???
- myconf="${myconf} --enable-shared --enable-threads=posix"
-
- # make clear we're in an offset
- use prefix && myconf="${myconf} --with-local-prefix=${TPREFIX}/usr"
-
- # we don't use a GNU linker, so tell GCC where to find the linker stuff we
- # want it to use
- myconf="${myconf} \
- --with-as=${EPREFIX}/usr/bin/${CTARGET}-as \
- --with-ld=${EPREFIX}/usr/bin/${CTARGET}-ld"
-
- # make sure we never do multilib stuff, for that we need a different Prefix
- [[ -z ${I_KNOW_WHAT_IM_DOING_I_WANT_APPLE_MULTILIB} ]] \
- && myconf="${myconf} --disable-multilib"
-
- myconf="${myconf} --enable-languages=${langs} $(use_enable openmp libgomp)"
-
- # The produced libgcc_s.dylib is faulty if using a bit too much
- # optimisation. Nail it down to something sane
- CFLAGS="-O2 -pipe"
- CXXFLAGS=${CFLAGS}
-
- # https://gcc.gnu.org/ml/gcc-patches/2006-11/msg00765.html
- # (won't hurt if already 64-bits, but is essential when coming from a
- # multilib compiler -- the default)
- [[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \
- export CC="gcc -m64"
-
- mkdir -p "${WORKDIR}"/build
- cd "${WORKDIR}"/build
- einfo "Configuring GCC with: ${myconf//--/\n\t--}"
- "${S}"/configure ${myconf} || die "conf failed"
-}
-
-src_compile() {
- cd "${WORKDIR}"/build || die
- emake bootstrap || die "emake failed"
-}
-
-src_install() {
- cd "${WORKDIR}"/build
- # -jX doesn't work
- emake -j1 DESTDIR="${D}" install || die
-
- # Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
- # This one comes with binutils
- find "${ED}" -name libiberty.a -exec rm -f "{}" \;
-
- # Basic sanity check
- if ! is_crosscompile ; then
- local EXEEXT
- eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log)
- [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}"
- fi
-
- # create gcc-config entry
- dodir /etc/env.d/gcc
- local gcc_envd_base="/etc/env.d/gcc/${CHOST}-${GCC_VERS}"
-
- gcc_envd_file="${ED}${gcc_envd_base}"
-
- # phase PATH/ROOTPATH out ...
- echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file}
- echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file}
- echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file}
-
- # we don't do multilib
- LDPATH="${LIBPATH}"
- echo "LDPATH=\"${LDPATH}\"" >> ${gcc_envd_file}
- echo "MANPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/man\"" >> ${gcc_envd_file}
- echo "INFOPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/info\"" >> ${gcc_envd_file}
- echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file}
- is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file}
-
- # Move <cxxabi.h> to compiler-specific directories
- [[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \
- mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/
-
- # These should be symlinks
- dodir /usr/bin
- cd "${D}"${BINPATH}
- for x in cpp gcc g++ c++ g77 gcj gcjh gfortran ; do
- # For some reason, g77 gets made instead of ${CTARGET}-g77...
- # this should take care of that
- [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x}
-
- if [[ -f ${CTARGET}-${x} ]] && ! is_crosscompile ; then
- ln -sf ${CTARGET}-${x} ${x}
-
- # Create version-ed symlinks
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
- /usr/bin/${CTARGET}-${x}-${GCC_VERS}
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
- /usr/bin/${x}-${GCC_VERS}
- fi
-
- if [[ -f ${CTARGET}-${x}-${GCC_VERS} ]] ; then
- rm -f ${CTARGET}-${x}-${GCC_VERS}
- ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_VERS}
- fi
- done
-
- # I do not know if this will break gcj stuff, so I'll only do it for
- # objc for now; basically "ffi.h" is the correct file to include,
- # but it gets installed in .../GCCVER/include and yet it does
- # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
- # is installed in .../GCCVER/include/libffi; the following fixes
- # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
- if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then
- mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die
- rm -r "${D}"${LIBPATH}/include/libffi || die
- fi
-
- # Now do the fun stripping stuff
- env RESTRICT="" CHOST=${CHOST} prepstrip "${D}${BINPATH}"
- env RESTRICT="" CHOST=${CTARGET} prepstrip "${D}${LIBPATH}"
- # gcc used to install helper binaries in lib/ but then moved to libexec/
- [[ -d ${ED}/usr/libexec/gcc ]] && \
- env RESTRICT="" CHOST=${CHOST} prepstrip "${ED}/usr/libexec/gcc/${CTARGET}/${GCC_VERS}"
-
- # prune empty dirs left behind
- find "${ED}" -type d | xargs rmdir >& /dev/null
-}
-
-pkg_postinst() {
- # beware this also switches when it's on another branch version of GCC
- gcc-config ${CTARGET}-${GCC_VERS}
-}
-
-pkg_postrm() {
- # clean up the cruft left behind by cross-compilers
- if is_crosscompile ; then
- if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
- rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET}
- rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET}
- rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
- fi
- return 0
- fi
-}
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
deleted file mode 100644
index a180a2d..00000000
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r1.ebuild
+++ /dev/null
@@ -1,337 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-inherit eutils toolchain flag-o-matic autotools prefix
-
-GCC_VERS=${PV/_p*/}
-APPLE_VERS="${PV/*_p/}.3"
-DESCRIPTION="Apple branch of the GNU Compiler Collection, Developer Tools 4.0"
-HOMEPAGE="https://gcc.gnu.org"
-SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz
- http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-16.tar.gz
- http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-39.tar.gz
- fortran? ( mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2 )"
-LICENSE="GPL-2 GPL-3"
-
-SLOT="42"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="fortran nls +openmp objc objc++ +cxx"
-
-RDEPEND=">=sys-libs/zlib-1.1.4
- >=sys-libs/ncurses-5.2-r2
- nls? ( sys-devel/gettext )
- >=sys-devel/gcc-config-1.3.12-r4
- sys-libs/csu
- fortran? (
- >=dev-libs/gmp-4.2.1
- >=dev-libs/mpfr-2.2.0_p10
- )"
-DEPEND="${RDEPEND}
- >=sys-apps/texinfo-4.2-r4
- >=sys-devel/bison-1.875
- ${CATEGORY}/binutils-apple
- >=dev-libs/mpfr-2.2.0_p10"
-
-S=${WORKDIR}/gcc-${APPLE_VERS}
-
-# TPREFIX is the prefix of the CTARGET installation
-export TPREFIX=${TPREFIX:-${EPREFIX}}
-
-src_unpack() {
- # override toolchain.eclass func
- unpack ${A}
-}
-
-src_prepare() {
- # Support for fortran
- if use fortran ; then
- mv "${WORKDIR}"/gcc-4.2.4/gcc/fortran gcc/ || die
- mv "${WORKDIR}"/gcc-4.2.4/libgfortran . || die
- # from: substracted from http://r.research.att.com/tools/
- epatch "${FILESDIR}"/${PN}-4.2.1_p5646-gfortran.patch
- fi
-
- # move in libstdc++
- case ${CHOST} in
- *-darwin1*|i?86-*-darwin9|powerpc-*-darwin9)
- LIBSTDCXX_APPLE_VERSION=39
- ;;
- *)
- # pre Leopard has no dtrace, which is required by 37.11 and above
- # Leopard only has 32-bits version of dtrace
- LIBSTDCXX_APPLE_VERSION=16
- ;;
- esac
- mv "${WORKDIR}"/libstdcxx-${LIBSTDCXX_APPLE_VERSION}/libstdcxx/libstdc++-v3 .
- if [[ ${LIBSTDCXX_APPLE_VERSION} == 16 ]] ; then
- epatch "${FILESDIR}"/libstdc++-${LIBSTDCXX_APPLE_VERSION}.patch # does it apply on 37?
- sed -i -e 's/__block\([^_]\)/__blk\1/g' \
- libstdc++-v3/include/ext/mt_allocator.h \
- libstdc++-v3/src/mt_allocator.cc || die "conflict fix failed"
- fi
-
- # we use our libtool
- sed -i -e "s:/usr/bin/libtool:${EPREFIX}/usr/bin/${CTARGET}-libtool:" \
- gcc/config/darwin.h || die "sed gcc/config/darwin.h failed"
- # add prefixed Frameworks to default search paths (may want to change this
- # in a cross-compile)
- sed -i -e "/\"\/System\/Library\/Frameworks\"\,/i\ \ \"${EPREFIX}/Frameworks\"\, " \
- gcc/config/darwin-c.c || die "sed gcc/config/darwin-c.c failed"
-
- # Workaround deprecated "+Nc" syntax for GNU tail(1)
- sed -i -e "s:tail +16c:tail -c +16:g" \
- gcc/Makefile.in || die "sed gcc/Makefile.in failed."
-
- # default to AltiVec on PPC, like for older releases
- epatch "${FILESDIR}"/${PN}-4.0.1_p5465-default-altivec.patch
-
- # support -arch XXX if XXX is actually what the toolchain targets because
- # some upstreams insist on setting it
- epatch "${FILESDIR}"/${PN}-4.2.1-arch-option.patch
-
- # dsymutil stuff breaks on 10.4/x86, revert it
- [[ ${CHOST} == *86*-apple-darwin8 ]] && \
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-dsymutil.patch
-
- # Pseudo-support OS X 10.10
- [[ ${CHOST} == *-darwin14 ]] && \
- epatch "${FILESDIR}"/${P}-darwin14.patch
-
- # bootstrapping might fail with host provided gcc on 10.4/x86
- if ! is_crosscompile && ! echo "int main(){return 0;}" | gcc -o "${T}"/foo \
- -mdynamic-no-pic -x c - >/dev/null 2>&1;
- then
- einfo "-mdynamic-no-pic doesn't work - disabling..."
- echo "BOOT_CFLAGS=-g -O2" > config/mh-x86-darwin
- XD=gcc/config/i386/x-darwin
- awk 'BEGIN{x=1}{if ($0 ~ "use -mdynamic-no-pic to build x86")
- {x=1-x} else if (x) print}' $XD > t && mv t $XD \
- || die "Failed to rewrite $XD"
- fi
-
- epatch "${FILESDIR}"/${P}-perl-5.18.patch
-
- epatch "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs.patch
- eprefixify "${S}"/gcc/gcc.c
-
- if use !bootstrap ; then
- # this only occurs with up-to-date tools from the Prefix, and actually
- # breaks the bootstrap since the autoconf needs a very recent automake
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-texinfo.patch
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-autoconf-m4-precious.patch
- cd "${S}"/gcc && eautoconf
- cd "${S}"/libgomp && eautoconf
- fi
-
- local BRANDING_GCC_PKGVERSION="$(sed -n -e '/^#define VERSUFFIX/s/^[^"]*"\([^"]\+\)".*$/\1/p' "${S}"/gcc/version.c)"
- BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/(/(Gentoo ${PVR}, }
- einfo "patching gcc version: ${GCC_VERS}${BRANDING_GCC_PKGVERSION}"
-
- sed -i -e "s~VERSUFFIX \"[^\"]*~VERSUFFIX \"${BRANDING_GCC_PKGVERSION}~" \
- "${S}"/gcc/version.c || die "failed to update VERSUFFIX with Gentoo branding"
- sed -i -e 's~developer\.apple\.com\/bugreporter~bugs\.gentoo\.org\/~' \
- "${S}"/gcc/version.c || die "Failed to change the bug URL"
-}
-
-src_configure() {
- local langs="c"
- use cxx && langs="${langs},c++"
- use objc && langs="${langs},objc"
- use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
- use fortran && langs="${langs},fortran"
-
- LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
- if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
- else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
- fi
- STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
- local myconf="${myconf} \
- --prefix=${EPREFIX}/usr \
- --bindir=${BINPATH} \
- --includedir=${LIBPATH}/include \
- --datadir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS} \
- --mandir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/man \
- --infodir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/info \
- --with-gxx-include-dir=${STDCXX_INCDIR} \
- --host=${CHOST} \
- --enable-version-specific-runtime-libs"
-
- if is_crosscompile ; then
- # Straight from the GCC install doc:
- # "GCC has code to correctly determine the correct value for target
- # for nearly all native systems. Therefore, we highly recommend you
- # not provide a configure target when configuring a native compiler."
- myconf="${myconf} --target=${CTARGET}"
-
- # Tell compiler where to find what it needs
- myconf="${myconf} --with-sysroot=${EPREFIX}/usr/${CTARGET}"
-
- # Set this to something sane for both native and target
- CFLAGS="-O2 -pipe"
-
- local VAR="CFLAGS_"${CTARGET//-/_}
- CXXFLAGS=${!VAR}
- fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
-
- # Native Language Support
- if use nls ; then
- myconf="${myconf} --enable-nls --without-included-gettext"
- else
- myconf="${myconf} --disable-nls"
- fi
-
- # reasonably sane globals (hopefully)
- myconf="${myconf} \
- --with-system-zlib \
- --disable-checking \
- --disable-werror"
-
- # ???
- myconf="${myconf} --enable-shared --enable-threads=posix"
-
- # make clear we're in an offset
- use prefix && myconf="${myconf} --with-local-prefix=${TPREFIX}/usr"
-
- # we don't use a GNU linker, so tell GCC where to find the linker stuff we
- # want it to use
- myconf="${myconf} \
- --with-as=${EPREFIX}/usr/bin/${CTARGET}-as \
- --with-ld=${EPREFIX}/usr/bin/${CTARGET}-ld"
-
- # make sure we never do multilib stuff, for that we need a different Prefix
- [[ -z ${I_KNOW_WHAT_IM_DOING_I_WANT_APPLE_MULTILIB} ]] \
- && myconf="${myconf} --disable-multilib"
-
- myconf="${myconf} --enable-languages=${langs} $(use_enable openmp libgomp)"
-
- # The produced libgcc_s.dylib is faulty if using a bit too much
- # optimisation. Nail it down to something sane
- CFLAGS="-O2 -pipe"
- CXXFLAGS=${CFLAGS}
-
- # https://gcc.gnu.org/ml/gcc-patches/2006-11/msg00765.html
- # (won't hurt if already 64-bits, but is essential when coming from a
- # multilib compiler -- the default)
- [[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \
- export CC="${CC:-$(tc-getCC)} -m64"
-
- mkdir -p "${WORKDIR}"/build
- cd "${WORKDIR}"/build
- einfo "Configuring GCC with: ${myconf//--/\n\t--}"
- "${S}"/configure ${myconf} || die "conf failed"
-}
-
-src_compile() {
- cd "${WORKDIR}"/build || die
- emake bootstrap || die "emake failed"
-}
-
-src_install() {
- cd "${WORKDIR}"/build
- # -jX doesn't work
- emake -j1 DESTDIR="${D}" install || die
-
- # Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
- # This one comes with binutils
- find "${ED}" -name libiberty.a -exec rm -f "{}" \;
-
- # Basic sanity check
- if ! is_crosscompile ; then
- local EXEEXT
- eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log)
- [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}"
- fi
-
- # create gcc-config entry
- dodir /etc/env.d/gcc
- local gcc_envd_base="/etc/env.d/gcc/${CHOST}-${GCC_VERS}"
-
- gcc_envd_file="${ED}${gcc_envd_base}"
-
- # phase PATH/ROOTPATH out ...
- echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file}
- echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file}
- echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file}
-
- # we don't do multilib
- LDPATH="${LIBPATH}"
- echo "LDPATH=\"${LDPATH}\"" >> ${gcc_envd_file}
- echo "MANPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/man\"" >> ${gcc_envd_file}
- echo "INFOPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/info\"" >> ${gcc_envd_file}
- echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file}
- is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file}
-
- # Move <cxxabi.h> to compiler-specific directories
- [[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \
- mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/
-
- # These should be symlinks
- dodir /usr/bin
- cd "${D}"${BINPATH}
- for x in cpp gcc g++ c++ g77 gcj gcjh gfortran ; do
- # For some reason, g77 gets made instead of ${CTARGET}-g77...
- # this should take care of that
- [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x}
-
- if [[ -f ${CTARGET}-${x} ]] && ! is_crosscompile ; then
- ln -sf ${CTARGET}-${x} ${x}
-
- # Create version-ed symlinks
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
- /usr/bin/${CTARGET}-${x}-${GCC_VERS}
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
- /usr/bin/${x}-${GCC_VERS}
- fi
-
- if [[ -f ${CTARGET}-${x}-${GCC_VERS} ]] ; then
- rm -f ${CTARGET}-${x}-${GCC_VERS}
- ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_VERS}
- fi
- done
-
- # I do not know if this will break gcj stuff, so I'll only do it for
- # objc for now; basically "ffi.h" is the correct file to include,
- # but it gets installed in .../GCCVER/include and yet it does
- # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
- # is installed in .../GCCVER/include/libffi; the following fixes
- # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
- if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then
- mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die
- rm -r "${D}"${LIBPATH}/include/libffi || die
- fi
-
- # Now do the fun stripping stuff
- env RESTRICT="" CHOST=${CHOST} prepstrip "${D}${BINPATH}"
- env RESTRICT="" CHOST=${CTARGET} prepstrip "${D}${LIBPATH}"
- # gcc used to install helper binaries in lib/ but then moved to libexec/
- [[ -d ${ED}/usr/libexec/gcc ]] && \
- env RESTRICT="" CHOST=${CHOST} prepstrip "${ED}/usr/libexec/gcc/${CTARGET}/${GCC_VERS}"
-
- # prune empty dirs left behind
- find "${ED}" -type d | xargs rmdir >& /dev/null
-}
-
-pkg_postinst() {
- # beware this also switches when it's on another branch version of GCC
- gcc-config ${CTARGET}-${GCC_VERS}
-}
-
-pkg_postrm() {
- # clean up the cruft left behind by cross-compilers
- if is_crosscompile ; then
- if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
- rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET}
- rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET}
- rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
- fi
- return 0
- fi
-}
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index 3540664..7230faf 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -18,7 +18,7 @@ LICENSE="GPL-2 GPL-3"
SLOT="42"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
-IUSE="fortran nls +openmp objc objc++ +cxx"
+IUSE="bootstrap fortran nls +openmp objc objc++ +cxx"
RDEPEND=">=sys-libs/zlib-1.1.4
>=sys-libs/ncurses-5.2-r2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2018-01-05 7:51 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2018-01-05 7:51 UTC (permalink / raw
To: gentoo-commits
commit: 85352f772d456ba2c7234e5f3d0af49425857844
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 5 07:51:08 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Jan 5 07:51:33 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85352f77
sys-devel/gcc-apple: use relative symlinks with dosym
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index bd1d1120995..12f3d99760d 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -138,6 +138,7 @@ src_prepare() {
local BRANDING_GCC_PKGVERSION="$(sed -n -e '/^#define VERSUFFIX/s/^[^"]*"\([^"]\+\)".*$/\1/p' "${S}"/gcc/version.c)"
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/(/(Gentoo ${PVR}, }
+ # ) ) } # <- to help Vim highlight this correctly
einfo "patching gcc version: ${GCC_VERS}${BRANDING_GCC_PKGVERSION}"
sed -i -e "s~VERSUFFIX \"[^\"]*~VERSUFFIX \"${BRANDING_GCC_PKGVERSION}~" \
@@ -314,9 +315,9 @@ src_install() {
ln -sf ${CTARGET}-${x} ${x}
# Create version-ed symlinks
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+ dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \
/usr/bin/${CTARGET}-${x}-${GCC_VERS}
- dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+ dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \
/usr/bin/${x}-${GCC_VERS}
fi
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2018-01-16 8:43 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2018-01-16 8:43 UTC (permalink / raw
To: gentoo-commits
commit: cfdb1fa4210d5c0addf74e66a851b7c271bf4996
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 16 08:42:29 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jan 16 08:42:56 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cfdb1fa4
sys-devel/gcc-apple: drop prepstrip usage, bug #587314
Prepstrip only deals with ELF, and the main consumer is using MACH-O
here, so it was never really run anyway.
Closes: https://bugs.gentoo.org/587314
Package-Manager: Portage-2.3.13, Repoman-2.3.3
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 7 -------
1 file changed, 7 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index 12f3d99760d..c46edae451a 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -338,13 +338,6 @@ src_install() {
rm -r "${D}"${LIBPATH}/include/libffi || die
fi
- # Now do the fun stripping stuff
- env RESTRICT="" CHOST=${CHOST} prepstrip "${D}${BINPATH}"
- env RESTRICT="" CHOST=${CTARGET} prepstrip "${D}${LIBPATH}"
- # gcc used to install helper binaries in lib/ but then moved to libexec/
- [[ -d ${ED}/usr/libexec/gcc ]] && \
- env RESTRICT="" CHOST=${CHOST} prepstrip "${ED}/usr/libexec/gcc/${CTARGET}/${GCC_VERS}"
-
# prune empty dirs left behind
find "${ED}" -type d | xargs rmdir >& /dev/null
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2018-06-12 10:44 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2018-06-12 10:44 UTC (permalink / raw
To: gentoo-commits
commit: a96d035bbf71c97a16f7186c7c7dd35bb7416e06
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 12 10:39:25 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jun 12 10:44:10 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a96d035b
sys-devel/gcc-apple: move csu to PDEPEND (circ.dep)
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index c46edae451a..fca27fefaa4 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -26,7 +26,6 @@ RDEPEND=">=sys-libs/zlib-1.1.4
>=sys-libs/ncurses-5.2-r2
nls? ( sys-devel/gettext )
>=sys-devel/gcc-config-1.8-r1
- sys-libs/csu
!<sys-apps/portage-2.2.14
fortran? (
>=dev-libs/gmp-4.2.1
@@ -37,6 +36,7 @@ DEPEND="${RDEPEND}
>=sys-devel/bison-1.875
${CATEGORY}/binutils-apple
>=dev-libs/mpfr-2.2.0_p10"
+PDEPEND="sys-libs/csu"
S=${WORKDIR}/gcc-${APPLE_VERS}
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2018-06-12 16:23 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2018-06-12 16:23 UTC (permalink / raw
To: gentoo-commits
commit: fdffef785dfdf66abe64c3d6c5986fc41e6869db
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 12 16:23:46 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jun 12 16:23:55 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdffef78
sys-devel/gcc-apple: don't switch to this compiler, it's old
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index fca27fefaa4..1b20668b569 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -352,8 +352,8 @@ src_install() {
}
pkg_postinst() {
- # beware this also switches when it's on another branch version of GCC
- gcc-config ${CTARGET}-${GCC_VERS}
+ # only activate this compiler if nothing else is activated
+ gcc-config -c >& /dev/null || gcc-config ${CTARGET}-${GCC_VERS}
}
pkg_postrm() {
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2018-06-21 7:03 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2018-06-21 7:03 UTC (permalink / raw
To: gentoo-commits
commit: 57e868d784107a05d2ea12e008316adc027fe59f
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 21 07:02:43 2018 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Jun 21 07:02:59 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57e868d7
sys-devel/gcc-apple: add -no-cpp-precomp workaround
Package-Manager: Portage-2.3.40, Repoman-2.3.9
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index 1b20668b569..22cbde635fe 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -110,7 +110,7 @@ src_prepare() {
epatch "${FILESDIR}"/${P}-darwin14.patch
# bootstrapping might fail with host provided gcc on 10.4/x86
- if ! is_crosscompile && ! echo "int main(){return 0;}" | gcc -o "${T}"/foo \
+ if ! is_crosscompile && ! echo "int main(){return 0;}" | $(tc-getCC) -o "${T}"/foo \
-mdynamic-no-pic -x c - >/dev/null 2>&1;
then
einfo "-mdynamic-no-pic doesn't work - disabling..."
@@ -121,6 +121,14 @@ src_prepare() {
|| die "Failed to rewrite $XD"
fi
+ if [[ ${CHOST} == powerpc*-darwin* ]] && \
+ ! echo "int main(){return 0;}" | \
+ $(tc-getCC) -o "${T}"/foo -no-cpp-precomp -x c - >/dev/null 2>&1;
+ then
+ einfo "-no-cpp-precomp not supported by compiler - disabling ..."
+ sed -i -e 's/-no-cpp-precomp//' configure.in configure || die
+ fi
+
epatch "${FILESDIR}"/${P}-perl-5.18.patch
epatch "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs-r1.patch
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2019-09-15 15:37 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2019-09-15 15:37 UTC (permalink / raw
To: gentoo-commits
commit: 58b8e45537975c94297ebf05c4a6b8b0eef607de
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 15 15:35:31 2019 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Sep 15 15:35:57 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58b8e455
sys-devel/gcc-apple: make USE=bootstrap local
Bug: https://bugs.gentoo.org/694502
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/gcc-apple/metadata.xml | 1 +
1 file changed, 1 insertion(+)
diff --git a/sys-devel/gcc-apple/metadata.xml b/sys-devel/gcc-apple/metadata.xml
index eb4d397c67f..e6297d1298f 100644
--- a/sys-devel/gcc-apple/metadata.xml
+++ b/sys-devel/gcc-apple/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Prefix</name>
</maintainer>
<use>
+ <flag name="bootstrap">!DO NOT SET THIS FLAG YOURSELF! avoids need for autoconf during bootstrap stage2</flag>
<flag name="objc">Build support for the Objective C code language</flag>
<flag name="objc++">Build support for the Objective C++ language</flag>
<flag name="regression-test">Run the testsuite and install the results (requires FEATURES=test)</flag>
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2020-02-13 21:40 David Seifert
0 siblings, 0 replies; 18+ messages in thread
From: David Seifert @ 2020-02-13 21:40 UTC (permalink / raw
To: gentoo-commits
commit: eb381094fe478679e6d749bcf98025031f693256
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 13 21:39:20 2020 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Thu Feb 13 21:39:20 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb381094
sys-devel/gcc-apple: [QA] inherit toolchain-funcs.eclass directly
Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index df8487554d7..9c28e39bae4 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
-inherit eutils toolchain flag-o-matic autotools prefix
+inherit eutils toolchain flag-o-matic autotools prefix toolchain-funcs
GCC_VERS=${PV/_p*/}
APPLE_VERS="${PV/*_p/}.3"
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2021-01-06 15:32 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2021-01-06 15:32 UTC (permalink / raw
To: gentoo-commits
commit: ec8416741c84324ee46e0eca5c374d2ecbbf8e2a
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 6 15:29:44 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jan 6 15:29:44 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec841674
sys-devel/gcc-apple: drop x86-macos
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
index cfc119b08b1..feaeada6189 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -18,7 +18,7 @@ SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE
LICENSE="GPL-2 GPL-3"
SLOT="42"
-KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~ppc-macos ~x64-macos"
IUSE="bootstrap fortran nls +openmp objc objc++ +cxx"
RDEPEND=">=sys-libs/zlib-1.1.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2021-11-25 10:17 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2021-11-25 10:17 UTC (permalink / raw
To: gentoo-commits
commit: 2f5e024709d3890cc93fa59b65985fd938730195
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 25 10:16:49 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Nov 25 10:17:13 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f5e0247
sys-devel/gcc-apple-4.2.1_p5666-r3: revbump for EAPI=7
Bug: https://bugs.gentoo.org/827155
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
.../gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild | 371 +++++++++++++++++++++
1 file changed, 371 insertions(+)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
new file mode 100644
index 000000000000..c144abe8aca5
--- /dev/null
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
@@ -0,0 +1,371 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit toolchain flag-o-matic autotools prefix toolchain-funcs
+
+GCC_VERS=${PV/_p*/}
+APPLE_VERS="${PV/*_p/}.3"
+DESCRIPTION="Apple branch of the GNU Compiler Collection, Developer Tools 4.0"
+HOMEPAGE="https://gcc.gnu.org"
+SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz
+ http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-39.tar.gz
+ fortran? (
+ mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2
+ https://dev.gentoo.org/~grobian/distfiles/${PN}-4.2.1_p5646-gfortran.patch
+ )"
+LICENSE="GPL-2 GPL-3"
+
+SLOT="42"
+KEYWORDS="~ppc-macos ~x64-macos"
+IUSE="bootstrap fortran nls +openmp objc objc++ +cxx"
+
+RDEPEND=">=sys-libs/zlib-1.1.4
+ >=sys-libs/ncurses-5.2-r2
+ nls? ( sys-devel/gettext )
+ >=sys-devel/gcc-config-1.8-r1
+ !<sys-apps/portage-2.2.14
+ fortran? (
+ >=dev-libs/gmp-4.2.1
+ >=dev-libs/mpfr-2.2.0_p10
+ )"
+DEPEND="${RDEPEND}
+ >=sys-apps/texinfo-4.2-r4
+ >=sys-devel/bison-1.875
+ ${CATEGORY}/binutils-apple
+ >=dev-libs/mpfr-2.2.0_p10"
+PDEPEND="sys-libs/csu"
+
+S=${WORKDIR}/gcc-${APPLE_VERS}
+
+# TPREFIX is the prefix of the CTARGET installation
+export TPREFIX=${TPREFIX:-${EPREFIX}}
+
+do_bootstrap() {
+ is_crosscompile && return 1
+ [[ ${CHOST} != ${CBUILD} ]] && return 1
+ [[ ${EPREFIX} != ${TPREFIX} ]] && return 1
+ return 0
+}
+
+src_unpack() {
+ # override toolchain.eclass func
+ unpack ${A}
+}
+
+src_prepare() {
+ # Support for fortran
+ if use fortran ; then
+ mv "${WORKDIR}"/gcc-4.2.4/gcc/fortran gcc/ || die
+ mv "${WORKDIR}"/gcc-4.2.4/libgfortran . || die
+ # from: substracted from http://r.research.att.com/tools/
+ eapply "${DISTDIR}"/${PN}-4.2.1_p5646-gfortran.patch
+ fi
+
+ mv "${WORKDIR}"/libstdcxx-39/libstdcxx/libstdc++-v3 .
+
+ # pre Leopard has no dtrace, which is required by 37.11 and above
+ # Leopard only has 32-bits version of dtrace
+ # So back out dtrace support on those platforms using patch
+ # thoughtfully provided by Apple.
+ [[ ${CHOST} == x86_64-apple-darwin9 || ${CHOST##*-darwin} -le 8 ]] && \
+ eapply -R -p0 "${WORKDIR}"/libstdcxx-39/patches-4.2.1/dtrace.patch
+
+ # we use our libtool
+ sed -i -e "s:/usr/bin/libtool:${EPREFIX}/usr/bin/${CTARGET}-libtool:" \
+ gcc/config/darwin.h || die "sed gcc/config/darwin.h failed"
+ # add prefixed Frameworks to default search paths (may want to change this
+ # in a cross-compile)
+ sed -i -e "/\"\/System\/Library\/Frameworks\"\,/i\ \ \"${EPREFIX}/Frameworks\"\, " \
+ gcc/config/darwin-c.c || die "sed gcc/config/darwin-c.c failed"
+
+ # Workaround deprecated "+Nc" syntax for GNU tail(1)
+ sed -i -e "s:tail +16c:tail -c +16:g" \
+ gcc/Makefile.in || die "sed gcc/Makefile.in failed."
+
+ # default to AltiVec on PPC, like for older releases
+ eapply -p0 "${FILESDIR}"/${PN}-4.0.1_p5465-default-altivec.patch
+
+ # support -arch XXX if XXX is actually what the toolchain targets because
+ # some upstreams insist on setting it
+ eapply "${FILESDIR}"/${PN}-4.2.1-arch-option.patch
+
+ # dsymutil stuff breaks on 10.4/x86, revert it
+ [[ ${CHOST} == *86*-apple-darwin8 ]] && \
+ eapply -p0 "${FILESDIR}"/${P}-dsymutil.patch
+
+ # support OS X 10.10
+ eapply -p0 "${FILESDIR}"/${P}-darwin14.patch
+
+ # bootstrapping might fail with host provided gcc on 10.4/x86
+ if ! is_crosscompile && ! echo "int main(){return 0;}" | $(tc-getCC) -o "${T}"/foo \
+ -mdynamic-no-pic -x c - >/dev/null 2>&1;
+ then
+ einfo "-mdynamic-no-pic doesn't work - disabling..."
+ echo "BOOT_CFLAGS=-g -O2" > config/mh-x86-darwin
+ XD=gcc/config/i386/x-darwin
+ awk 'BEGIN{x=1}{if ($0 ~ "use -mdynamic-no-pic to build x86")
+ {x=1-x} else if (x) print}' $XD > t && mv t $XD \
+ || die "Failed to rewrite $XD"
+ fi
+
+ if [[ ${CHOST} == powerpc*-darwin* ]] && \
+ ! echo "int main(){return 0;}" | \
+ $(tc-getCC) -o "${T}"/foo -no-cpp-precomp -x c - >/dev/null 2>&1;
+ then
+ einfo "-no-cpp-precomp not supported by compiler - disabling ..."
+ sed -i -e 's/-no-cpp-precomp//' configure.in configure || die
+ fi
+
+ eapply "${FILESDIR}"/${P}-perl-5.18.patch
+ eapply "${FILESDIR}"/${P}-darwin8.patch
+
+ eapply -p0 "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs-r1.patch
+ eprefixify "${S}"/gcc/gcc.c
+ sed -i -e "s|@GENTOO_PORTAGE_TPREFIX@|${TPREFIX}|g" \
+ "${S}"/gcc/config/darwin.h
+
+ if use !bootstrap ; then
+ # this only occurs with up-to-date tools from the Prefix, and actually
+ # breaks the bootstrap since the autoconf needs a very recent automake
+ eapply -p0 "${FILESDIR}"/${PN}-${GCC_VERS}-texinfo.patch
+ eapply -p0 "${FILESDIR}"/${PN}-${GCC_VERS}-autoconf-m4-precious.patch
+ cd "${S}"/gcc && eautoconf
+ cd "${S}"/libgomp && eautoconf
+ fi
+
+ local extvers=
+ eapply_user && extvers=" with user patches"
+
+ local BRANDING_GCC_PKGVERSION="$(sed -n -e '/^#define VERSUFFIX/s/^[^"]*"\([^"]\+\)".*$/\1/p' "${S}"/gcc/version.c)"
+ BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/(/(Gentoo ${PVR}${extvers}, }
+ # ) ) } # <- to help Vim highlight this correctly
+ einfo "patching gcc version: ${GCC_VERS}${BRANDING_GCC_PKGVERSION}"
+
+ sed -i -e "s~VERSUFFIX \"[^\"]*~VERSUFFIX \"${BRANDING_GCC_PKGVERSION}~" \
+ "${S}"/gcc/version.c || die "failed to update VERSUFFIX with Gentoo branding"
+ sed -i -e 's~developer\.apple\.com\/bugreporter~bugs\.gentoo\.org\/~' \
+ "${S}"/gcc/version.c || die "Failed to change the bug URL"
+
+ # fix the install_names of all shared libraries for the target
+ # NOTE: do this after any automake-ing!
+ # Yes, patching generated files is bad. Talk to me once you've found a way to do this inside automake.
+ sed -i -e "s|-install_name \$(slibdir)|-install_name ${TPREFIX}/usr/${CTARGET}/lib/gcc|" "${S}"/gcc/config/t-slibgcc-darwin
+ sed -i -e "s|-rpath \$(toolexeclibdir)|-rpath ${TPREFIX}/usr/${CTARGET}/lib/gcc|" \
+ "${S}"/{libgomp,libstdc++-v3/src,libstdc++-v3/libsupc++}/Makefile.in
+}
+
+src_configure() {
+ local langs="c"
+ use cxx && langs="${langs},c++"
+ use objc && langs="${langs},objc"
+ use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
+ use fortran && langs="${langs},fortran"
+
+ LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
+ if is_crosscompile ; then
+ BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
+ else
+ BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
+ fi
+ STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
+
+ local myconf="${myconf} \
+ --prefix=${EPREFIX}/usr \
+ --bindir=${BINPATH} \
+ --includedir=${LIBPATH}/include \
+ --datadir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS} \
+ --mandir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/man \
+ --infodir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/info \
+ --with-gxx-include-dir=${STDCXX_INCDIR} \
+ --host=${CHOST} \
+ --enable-version-specific-runtime-libs"
+
+ if is_crosscompile ; then
+ # Straight from the GCC install doc:
+ # "GCC has code to correctly determine the correct value for target
+ # for nearly all native systems. Therefore, we highly recommend you
+ # not provide a configure target when configuring a native compiler."
+ myconf="${myconf} --target=${CTARGET}"
+
+ # Tell compiler where to find what it needs
+ myconf="${myconf} --with-sysroot=${EPREFIX}/usr/${CTARGET}"
+
+ # Set this to something sane for both native and target
+ CFLAGS="-O2 -pipe"
+
+ local VAR="CFLAGS_"${CTARGET//-/_}
+ CXXFLAGS=${!VAR}
+ fi
+ [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
+
+ # Native Language Support
+ if use nls ; then
+ myconf="${myconf} --enable-nls --without-included-gettext"
+ else
+ myconf="${myconf} --disable-nls"
+ fi
+
+ # reasonably sane globals (hopefully)
+ myconf="${myconf} \
+ --with-system-zlib \
+ --disable-checking \
+ --disable-werror"
+
+ # ???
+ myconf="${myconf} --enable-shared --enable-threads=posix"
+
+ # make clear we're in an offset
+ use prefix && myconf="${myconf} --with-local-prefix=${TPREFIX}/usr"
+
+ do_bootstrap || myconf="${myconf} --disable-bootstrap"
+
+ # we don't use a GNU linker, so tell GCC where to find the linker stuff we
+ # want it to use
+ myconf="${myconf} \
+ --with-as=${EPREFIX}/usr/bin/${CTARGET}-as \
+ --with-ld=${EPREFIX}/usr/bin/${CTARGET}-ld"
+
+ # make sure we never do multilib stuff, for that we need a different Prefix
+ [[ -z ${I_KNOW_WHAT_IM_DOING_I_WANT_APPLE_MULTILIB} ]] \
+ && myconf="${myconf} --disable-multilib"
+
+ myconf="${myconf} --enable-languages=${langs} $(use_enable openmp libgomp)"
+
+ # The produced libgcc_s.dylib is faulty if using a bit too much
+ # optimisation. Nail it down to something sane
+ CFLAGS="-O2 -pipe"
+ CXXFLAGS=${CFLAGS}
+
+ # https://gcc.gnu.org/ml/gcc-patches/2006-11/msg00765.html
+ # (won't hurt if already 64-bits, but is essential when coming from a
+ # multilib compiler -- the default)
+ [[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \
+ export CC="${CC:-$(tc-getCC)} -m64"
+
+ # Clang on OSX defaults to c99 mode, while GCC defaults to gnu89
+ # (C90 + extensions). This makes Clang barf on GCC's sources, so
+ # work around that. Bugs #491098, #574736
+ export CC="${CC:-$(tc-getCC)} -std=gnu89"
+
+ mkdir -p "${WORKDIR}"/build
+ cd "${WORKDIR}"/build
+ einfo "Configuring GCC with: ${myconf//--/\n\t--}"
+ "${S}"/configure ${myconf} || die "conf failed"
+}
+
+src_compile() {
+ cd "${WORKDIR}"/build || die
+ if ! do_bootstrap; then
+ GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
+ else
+ GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap}
+ fi
+ emake ${GCC_MAKE_TARGET}
+}
+
+src_install() {
+ cd "${WORKDIR}"/build
+ # -jX doesn't work
+ emake -j1 DESTDIR="${D}" install
+
+ # Punt some tools which are really only useful while building gcc
+ find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
+ # This one comes with binutils
+ find "${ED}" -name libiberty.a -exec rm -f "{}" \;
+
+ # Basic sanity check
+ if ! is_crosscompile ; then
+ local EXEEXT
+ eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log)
+ [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}"
+ fi
+
+ # create gcc-config entry
+ dodir /etc/env.d/gcc
+ local gcc_envd_base="/etc/env.d/gcc/${CHOST}-${GCC_VERS}"
+
+ gcc_envd_file="${ED}${gcc_envd_base}"
+
+ # phase PATH/ROOTPATH out ...
+ echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file}
+ echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file}
+ echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file}
+
+ # we don't do multilib
+ LDPATH="${LIBPATH}"
+ echo "LDPATH=\"${LDPATH}\"" >> ${gcc_envd_file}
+ echo "MANPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/man\"" >> ${gcc_envd_file}
+ echo "INFOPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/info\"" >> ${gcc_envd_file}
+ echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file}
+ is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file}
+
+ # Move <cxxabi.h> to compiler-specific directories
+ [[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \
+ mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/
+
+ # These should be symlinks
+ dodir /usr/bin
+ cd "${D}"${BINPATH}
+ for x in cpp gcc g++ c++ g77 gcj gcjh gfortran ; do
+ # For some reason, g77 gets made instead of ${CTARGET}-g77...
+ # this should take care of that
+ [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x}
+
+ if [[ -f ${CTARGET}-${x} ]] && ! is_crosscompile ; then
+ ln -sf ${CTARGET}-${x} ${x}
+
+ # Create version-ed symlinks
+ dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \
+ /usr/bin/${CTARGET}-${x}-${GCC_VERS}
+ dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \
+ /usr/bin/${x}-${GCC_VERS}
+ fi
+
+ if [[ -f ${CTARGET}-${x}-${GCC_VERS} ]] ; then
+ rm -f ${CTARGET}-${x}-${GCC_VERS}
+ ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_VERS}
+ fi
+ done
+
+ # I do not know if this will break gcj stuff, so I'll only do it for
+ # objc for now; basically "ffi.h" is the correct file to include,
+ # but it gets installed in .../GCCVER/include and yet it does
+ # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
+ # is installed in .../GCCVER/include/libffi; the following fixes
+ # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
+ if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then
+ mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die
+ rm -r "${D}"${LIBPATH}/include/libffi || die
+ fi
+
+ # prune empty dirs left behind
+ find "${ED}" -type d | xargs rmdir >& /dev/null
+
+ # The gcc runtime libs have an invalid install_name; this is correct,
+ # as they are copied to the right location by gcc-config later.
+ QA_IGNORE_INSTALL_NAME_FILES=()
+ pushd "${ED}/usr/lib/gcc/${CTARGET}/${GCC_VERS}" > /dev/null
+ for file in *.dylib; do
+ QA_IGNORE_INSTALL_NAME_FILES+=( "${file}" )
+ done
+ popd > /dev/null
+}
+
+pkg_postinst() {
+ # only activate this compiler if nothing else is activated
+ gcc-config -c >& /dev/null || gcc-config ${CTARGET}-${GCC_VERS}
+}
+
+pkg_postrm() {
+ # clean up the cruft left behind by cross-compilers
+ if is_crosscompile ; then
+ if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
+ rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET}
+ rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET}
+ rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
+ fi
+ return 0
+ fi
+}
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2021-11-29 18:31 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2021-11-29 18:31 UTC (permalink / raw
To: gentoo-commits
commit: 51ccff56f32185f96e3d371987806c597692569d
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 29 18:30:56 2021 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Nov 29 18:30:56 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51ccff56
sys-devel/gcc-apple: cleanup (EAPI=5), bug #827155
Closes: https://bugs.gentoo.org/827155
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
.../gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild | 367 ---------------------
1 file changed, 367 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
deleted file mode 100644
index feaeada61891..000000000000
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r2.ebuild
+++ /dev/null
@@ -1,367 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils toolchain flag-o-matic autotools prefix toolchain-funcs
-
-GCC_VERS=${PV/_p*/}
-APPLE_VERS="${PV/*_p/}.3"
-DESCRIPTION="Apple branch of the GNU Compiler Collection, Developer Tools 4.0"
-HOMEPAGE="https://gcc.gnu.org"
-SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/gcc-${APPLE_VERS}.tar.gz
- http://www.opensource.apple.com/darwinsource/tarballs/other/libstdcxx-39.tar.gz
- fortran? (
- mirror://gnu/gcc/gcc-4.2.4/gcc-fortran-4.2.4.tar.bz2
- https://dev.gentoo.org/~grobian/distfiles/${PN}-4.2.1_p5646-gfortran.patch
- )"
-LICENSE="GPL-2 GPL-3"
-
-SLOT="42"
-KEYWORDS="~ppc-macos ~x64-macos"
-IUSE="bootstrap fortran nls +openmp objc objc++ +cxx"
-
-RDEPEND=">=sys-libs/zlib-1.1.4
- >=sys-libs/ncurses-5.2-r2
- nls? ( sys-devel/gettext )
- >=sys-devel/gcc-config-1.8-r1
- !<sys-apps/portage-2.2.14
- fortran? (
- >=dev-libs/gmp-4.2.1
- >=dev-libs/mpfr-2.2.0_p10
- )"
-DEPEND="${RDEPEND}
- >=sys-apps/texinfo-4.2-r4
- >=sys-devel/bison-1.875
- ${CATEGORY}/binutils-apple
- >=dev-libs/mpfr-2.2.0_p10"
-PDEPEND="sys-libs/csu"
-
-S=${WORKDIR}/gcc-${APPLE_VERS}
-
-# TPREFIX is the prefix of the CTARGET installation
-export TPREFIX=${TPREFIX:-${EPREFIX}}
-
-do_bootstrap() {
- is_crosscompile && return 1
- [[ ${CHOST} != ${CBUILD} ]] && return 1
- [[ ${EPREFIX} != ${TPREFIX} ]] && return 1
- return 0
-}
-
-src_unpack() {
- # override toolchain.eclass func
- unpack ${A}
-}
-
-src_prepare() {
- # Support for fortran
- if use fortran ; then
- mv "${WORKDIR}"/gcc-4.2.4/gcc/fortran gcc/ || die
- mv "${WORKDIR}"/gcc-4.2.4/libgfortran . || die
- # from: substracted from http://r.research.att.com/tools/
- epatch "${DISTDIR}"/${PN}-4.2.1_p5646-gfortran.patch
- fi
-
- mv "${WORKDIR}"/libstdcxx-39/libstdcxx/libstdc++-v3 .
-
- # pre Leopard has no dtrace, which is required by 37.11 and above
- # Leopard only has 32-bits version of dtrace
- # So back out dtrace support on those platforms using patch
- # thoughtfully provided by Apple.
- [[ ${CHOST} == x86_64-apple-darwin9 || ${CHOST##*-darwin} -le 8 ]] && \
- patch -R -p0 < "${WORKDIR}"/libstdcxx-39/patches-4.2.1/dtrace.patch
-
- # we use our libtool
- sed -i -e "s:/usr/bin/libtool:${EPREFIX}/usr/bin/${CTARGET}-libtool:" \
- gcc/config/darwin.h || die "sed gcc/config/darwin.h failed"
- # add prefixed Frameworks to default search paths (may want to change this
- # in a cross-compile)
- sed -i -e "/\"\/System\/Library\/Frameworks\"\,/i\ \ \"${EPREFIX}/Frameworks\"\, " \
- gcc/config/darwin-c.c || die "sed gcc/config/darwin-c.c failed"
-
- # Workaround deprecated "+Nc" syntax for GNU tail(1)
- sed -i -e "s:tail +16c:tail -c +16:g" \
- gcc/Makefile.in || die "sed gcc/Makefile.in failed."
-
- # default to AltiVec on PPC, like for older releases
- epatch "${FILESDIR}"/${PN}-4.0.1_p5465-default-altivec.patch
-
- # support -arch XXX if XXX is actually what the toolchain targets because
- # some upstreams insist on setting it
- epatch "${FILESDIR}"/${PN}-4.2.1-arch-option.patch
-
- # dsymutil stuff breaks on 10.4/x86, revert it
- [[ ${CHOST} == *86*-apple-darwin8 ]] && \
- epatch "${FILESDIR}"/${P}-dsymutil.patch
-
- # support OS X 10.10
- epatch "${FILESDIR}"/${P}-darwin14.patch
-
- # bootstrapping might fail with host provided gcc on 10.4/x86
- if ! is_crosscompile && ! echo "int main(){return 0;}" | $(tc-getCC) -o "${T}"/foo \
- -mdynamic-no-pic -x c - >/dev/null 2>&1;
- then
- einfo "-mdynamic-no-pic doesn't work - disabling..."
- echo "BOOT_CFLAGS=-g -O2" > config/mh-x86-darwin
- XD=gcc/config/i386/x-darwin
- awk 'BEGIN{x=1}{if ($0 ~ "use -mdynamic-no-pic to build x86")
- {x=1-x} else if (x) print}' $XD > t && mv t $XD \
- || die "Failed to rewrite $XD"
- fi
-
- if [[ ${CHOST} == powerpc*-darwin* ]] && \
- ! echo "int main(){return 0;}" | \
- $(tc-getCC) -o "${T}"/foo -no-cpp-precomp -x c - >/dev/null 2>&1;
- then
- einfo "-no-cpp-precomp not supported by compiler - disabling ..."
- sed -i -e 's/-no-cpp-precomp//' configure.in configure || die
- fi
-
- epatch "${FILESDIR}"/${P}-perl-5.18.patch
- epatch "${FILESDIR}"/${P}-darwin8.patch
-
- epatch "${FILESDIR}"/${PN}-4.2.1-prefix-search-dirs-r1.patch
- eprefixify "${S}"/gcc/gcc.c
- sed -i -e "s|@GENTOO_PORTAGE_TPREFIX@|${TPREFIX}|g" "${S}"/gcc/config/darwin.h
-
- if use !bootstrap ; then
- # this only occurs with up-to-date tools from the Prefix, and actually
- # breaks the bootstrap since the autoconf needs a very recent automake
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-texinfo.patch
- epatch "${FILESDIR}"/${PN}-${GCC_VERS}-autoconf-m4-precious.patch
- cd "${S}"/gcc && eautoconf
- cd "${S}"/libgomp && eautoconf
- fi
-
- local BRANDING_GCC_PKGVERSION="$(sed -n -e '/^#define VERSUFFIX/s/^[^"]*"\([^"]\+\)".*$/\1/p' "${S}"/gcc/version.c)"
- BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/(/(Gentoo ${PVR}, }
- # ) ) } # <- to help Vim highlight this correctly
- einfo "patching gcc version: ${GCC_VERS}${BRANDING_GCC_PKGVERSION}"
-
- sed -i -e "s~VERSUFFIX \"[^\"]*~VERSUFFIX \"${BRANDING_GCC_PKGVERSION}~" \
- "${S}"/gcc/version.c || die "failed to update VERSUFFIX with Gentoo branding"
- sed -i -e 's~developer\.apple\.com\/bugreporter~bugs\.gentoo\.org\/~' \
- "${S}"/gcc/version.c || die "Failed to change the bug URL"
-
- # fix the install_names of all shared libraries for the target
- # NOTE: do this after any automake-ing!
- # Yes, patching generated files is bad. Talk to me once you've found a way to do this inside automake.
- sed -i -e "s|-install_name \$(slibdir)|-install_name ${TPREFIX}/usr/${CTARGET}/lib/gcc|" "${S}"/gcc/config/t-slibgcc-darwin
- sed -i -e "s|-rpath \$(toolexeclibdir)|-rpath ${TPREFIX}/usr/${CTARGET}/lib/gcc|" \
- "${S}"/{libgomp,libstdc++-v3/src,libstdc++-v3/libsupc++}/Makefile.in
-}
-
-src_configure() {
- local langs="c"
- use cxx && langs="${langs},c++"
- use objc && langs="${langs},objc"
- use objc++ && langs="${langs/,objc/},objc,obj-c++" # need objc with objc++
- use fortran && langs="${langs},fortran"
-
- LIBPATH=${EPREFIX}/usr/lib/gcc/${CTARGET}/${GCC_VERS}
- if is_crosscompile ; then
- BINPATH=${EPREFIX}/usr/${CHOST}/${CTARGET}/gcc-bin/${GCC_VERS}
- else
- BINPATH=${EPREFIX}/usr/${CTARGET}/gcc-bin/${GCC_VERS}
- fi
- STDCXX_INCDIR=${LIBPATH}/include/g++-v${GCC_VERS/\.*/}
-
- local myconf="${myconf} \
- --prefix=${EPREFIX}/usr \
- --bindir=${BINPATH} \
- --includedir=${LIBPATH}/include \
- --datadir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS} \
- --mandir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/man \
- --infodir=${EPREFIX}/usr/share/gcc-data/${CTARGET}/${GCC_VERS}/info \
- --with-gxx-include-dir=${STDCXX_INCDIR} \
- --host=${CHOST} \
- --enable-version-specific-runtime-libs"
-
- if is_crosscompile ; then
- # Straight from the GCC install doc:
- # "GCC has code to correctly determine the correct value for target
- # for nearly all native systems. Therefore, we highly recommend you
- # not provide a configure target when configuring a native compiler."
- myconf="${myconf} --target=${CTARGET}"
-
- # Tell compiler where to find what it needs
- myconf="${myconf} --with-sysroot=${EPREFIX}/usr/${CTARGET}"
-
- # Set this to something sane for both native and target
- CFLAGS="-O2 -pipe"
-
- local VAR="CFLAGS_"${CTARGET//-/_}
- CXXFLAGS=${!VAR}
- fi
- [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
-
- # Native Language Support
- if use nls ; then
- myconf="${myconf} --enable-nls --without-included-gettext"
- else
- myconf="${myconf} --disable-nls"
- fi
-
- # reasonably sane globals (hopefully)
- myconf="${myconf} \
- --with-system-zlib \
- --disable-checking \
- --disable-werror"
-
- # ???
- myconf="${myconf} --enable-shared --enable-threads=posix"
-
- # make clear we're in an offset
- use prefix && myconf="${myconf} --with-local-prefix=${TPREFIX}/usr"
-
- do_bootstrap || myconf="${myconf} --disable-bootstrap"
-
- # we don't use a GNU linker, so tell GCC where to find the linker stuff we
- # want it to use
- myconf="${myconf} \
- --with-as=${EPREFIX}/usr/bin/${CTARGET}-as \
- --with-ld=${EPREFIX}/usr/bin/${CTARGET}-ld"
-
- # make sure we never do multilib stuff, for that we need a different Prefix
- [[ -z ${I_KNOW_WHAT_IM_DOING_I_WANT_APPLE_MULTILIB} ]] \
- && myconf="${myconf} --disable-multilib"
-
- myconf="${myconf} --enable-languages=${langs} $(use_enable openmp libgomp)"
-
- # The produced libgcc_s.dylib is faulty if using a bit too much
- # optimisation. Nail it down to something sane
- CFLAGS="-O2 -pipe"
- CXXFLAGS=${CFLAGS}
-
- # https://gcc.gnu.org/ml/gcc-patches/2006-11/msg00765.html
- # (won't hurt if already 64-bits, but is essential when coming from a
- # multilib compiler -- the default)
- [[ ${CTARGET} == powerpc64-* || ${CTARGET} == x86_64-* ]] && \
- export CC="${CC:-$(tc-getCC)} -m64"
-
- # Clang on OSX defaults to c99 mode, while GCC defaults to gnu89
- # (C90 + extensions). This makes Clang barf on GCC's sources, so
- # work around that. Bugs #491098, #574736
- export CC="${CC:-$(tc-getCC)} -std=gnu89"
-
- mkdir -p "${WORKDIR}"/build
- cd "${WORKDIR}"/build
- einfo "Configuring GCC with: ${myconf//--/\n\t--}"
- "${S}"/configure ${myconf} || die "conf failed"
-}
-
-src_compile() {
- cd "${WORKDIR}"/build || die
- if ! do_bootstrap; then
- GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
- else
- GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap}
- fi
- emake ${GCC_MAKE_TARGET}
-}
-
-src_install() {
- cd "${WORKDIR}"/build
- # -jX doesn't work
- emake -j1 DESTDIR="${D}" install
-
- # Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
- # This one comes with binutils
- find "${ED}" -name libiberty.a -exec rm -f "{}" \;
-
- # Basic sanity check
- if ! is_crosscompile ; then
- local EXEEXT
- eval $(grep ^EXEEXT= "${WORKDIR}"/build/gcc/config.log)
- [[ -r ${D}${BINPATH}/gcc${EXEEXT} ]] || die "gcc not found in ${ED}"
- fi
-
- # create gcc-config entry
- dodir /etc/env.d/gcc
- local gcc_envd_base="/etc/env.d/gcc/${CHOST}-${GCC_VERS}"
-
- gcc_envd_file="${ED}${gcc_envd_base}"
-
- # phase PATH/ROOTPATH out ...
- echo "PATH=\"${BINPATH}\"" > ${gcc_envd_file}
- echo "ROOTPATH=\"${BINPATH}\"" >> ${gcc_envd_file}
- echo "GCC_PATH=\"${BINPATH}\"" >> ${gcc_envd_file}
-
- # we don't do multilib
- LDPATH="${LIBPATH}"
- echo "LDPATH=\"${LDPATH}\"" >> ${gcc_envd_file}
- echo "MANPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/man\"" >> ${gcc_envd_file}
- echo "INFOPATH=\"${EPREFIX}/usr/share/gcc-data/${CHOST}/${GCC_VERS}/info\"" >> ${gcc_envd_file}
- echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file}
- is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file}
-
- # Move <cxxabi.h> to compiler-specific directories
- [[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \
- mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/
-
- # These should be symlinks
- dodir /usr/bin
- cd "${D}"${BINPATH}
- for x in cpp gcc g++ c++ g77 gcj gcjh gfortran ; do
- # For some reason, g77 gets made instead of ${CTARGET}-g77...
- # this should take care of that
- [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x}
-
- if [[ -f ${CTARGET}-${x} ]] && ! is_crosscompile ; then
- ln -sf ${CTARGET}-${x} ${x}
-
- # Create version-ed symlinks
- dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \
- /usr/bin/${CTARGET}-${x}-${GCC_VERS}
- dosym ../${BINPATH#${EPREFIX}/usr/}/${CTARGET}-${x} \
- /usr/bin/${x}-${GCC_VERS}
- fi
-
- if [[ -f ${CTARGET}-${x}-${GCC_VERS} ]] ; then
- rm -f ${CTARGET}-${x}-${GCC_VERS}
- ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_VERS}
- fi
- done
-
- # I do not know if this will break gcj stuff, so I'll only do it for
- # objc for now; basically "ffi.h" is the correct file to include,
- # but it gets installed in .../GCCVER/include and yet it does
- # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
- # is installed in .../GCCVER/include/libffi; the following fixes
- # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
- if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then
- mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die
- rm -r "${D}"${LIBPATH}/include/libffi || die
- fi
-
- # prune empty dirs left behind
- find "${ED}" -type d | xargs rmdir >& /dev/null
-
- # The gcc runtime libs have an invalid install_name; this is correct,
- # as they are copied to the right location by gcc-config later.
- QA_IGNORE_INSTALL_NAME_FILES=()
- pushd "${ED}/usr/lib/gcc/${CTARGET}/${GCC_VERS}" > /dev/null
- for file in *.dylib; do
- QA_IGNORE_INSTALL_NAME_FILES+=( "${file}" )
- done
- popd > /dev/null
-}
-
-pkg_postinst() {
- # only activate this compiler if nothing else is activated
- gcc-config -c >& /dev/null || gcc-config ${CTARGET}-${GCC_VERS}
-}
-
-pkg_postrm() {
- # clean up the cruft left behind by cross-compilers
- if is_crosscompile ; then
- if [[ -z $(ls "${EROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
- rm -f "${EROOT}"/etc/env.d/gcc/config-${CTARGET}
- rm -f "${EROOT}"/etc/env.d/??gcc-${CTARGET}
- rm -f "${EROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
- fi
- return 0
- fi
-}
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2023-06-09 6:00 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2023-06-09 6:00 UTC (permalink / raw
To: gentoo-commits
commit: 80826974be6b0d1382070efc4c9cca04bf21819e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 7 08:42:46 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 9 06:00:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80826974
sys-devel/gcc-apple: drop toolchain.eclass
We use only a tiny function from it and this prevents modernising the eclass.
Closes: https://github.com/gentoo/gentoo/pull/31337
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
index c144abe8aca5..c4d1c48409c4 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-inherit toolchain flag-o-matic autotools prefix toolchain-funcs
+inherit flag-o-matic autotools prefix toolchain-funcs
GCC_VERS=${PV/_p*/}
APPLE_VERS="${PV/*_p/}.3"
@@ -42,6 +42,17 @@ S=${WORKDIR}/gcc-${APPLE_VERS}
# TPREFIX is the prefix of the CTARGET installation
export TPREFIX=${TPREFIX:-${EPREFIX}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} = ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
do_bootstrap() {
is_crosscompile && return 1
[[ ${CHOST} != ${CBUILD} ]] && return 1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2024-01-08 12:28 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2024-01-08 12:28 UTC (permalink / raw
To: gentoo-commits
commit: eefdcb3d4f238ad32a918626120835bce6930f75
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 12:09:29 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:25:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eefdcb3d
sys-devel/gcc-apple: sys-devel/bison -> app-alternatives/yacc
All of these will be using app-alternatives/yacc anyway as they're not unsetting
YACC or LEX, so make the dep reflect reality.
(Included both YACC and LEX out of conservatism.)
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
index c4d1c48409c4..e81d1597f873 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -32,7 +32,7 @@ RDEPEND=">=sys-libs/zlib-1.1.4
)"
DEPEND="${RDEPEND}
>=sys-apps/texinfo-4.2-r4
- >=sys-devel/bison-1.875
+ >=app-alternatives/yacc-1.875
${CATEGORY}/binutils-apple
>=dev-libs/mpfr-2.2.0_p10"
PDEPEND="sys-libs/csu"
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2024-01-22 12:18 Fabian Groffen
0 siblings, 0 replies; 18+ messages in thread
From: Fabian Groffen @ 2024-01-22 12:18 UTC (permalink / raw
To: gentoo-commits
commit: afadde3313e0434368c508b1314aa1dfa90dccc0
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 22 12:16:14 2024 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 12:18:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=afadde33
sys-devel/gcc-apple: depend on existing app-alternatives/yacc version
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
index e81d1597f873..197a3247c925 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
@@ -32,7 +32,7 @@ RDEPEND=">=sys-libs/zlib-1.1.4
)"
DEPEND="${RDEPEND}
>=sys-apps/texinfo-4.2-r4
- >=app-alternatives/yacc-1.875
+ app-alternatives/yacc
${CATEGORY}/binutils-apple
>=dev-libs/mpfr-2.2.0_p10"
PDEPEND="sys-libs/csu"
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/
@ 2024-01-23 6:03 Sam James
0 siblings, 0 replies; 18+ messages in thread
From: Sam James @ 2024-01-23 6:03 UTC (permalink / raw
To: gentoo-commits
commit: 5fc632c772ebd016e08e3632a08349a9d2fbe336
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 06:02:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 23 06:02:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fc632c7
sys-devel/gcc-apple: compress slotted man pages & info pages
As noted in the bug, we install to a different location to accommodate slotting
and hence do not benefit from the automagic compression for /usr/share/doc.
Explicitly opt-in for the man pages & info pages we install.
Bug: https://bugs.gentoo.org/922729
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
index 197a3247c925..0a8cb2421474 100644
--- a/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
+++ b/sys-devel/gcc-apple/gcc-apple-4.2.1_p5666-r3.ebuild
@@ -312,6 +312,8 @@ src_install() {
echo "STDCXX_INCDIR=\"g++-v${GCC_VERS/\.*/}\"" >> ${gcc_envd_file}
is_crosscompile && echo "CTARGET=${CTARGET}" >> ${gcc_envd_file}
+ docompress /usr/share/gcc-data/${CTARGET}/${GCC_VERS}/{man,info}
+
# Move <cxxabi.h> to compiler-specific directories
[[ -f ${D}${STDCXX_INCDIR}/cxxabi.h ]] && \
mv -f "${D}"${STDCXX_INCDIR}/cxxabi.h "${D}"${LIBPATH}/include/
^ permalink raw reply related [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-01-23 6:03 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-09 6:00 [gentoo-commits] repo/gentoo:master commit in: sys-devel/gcc-apple/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2024-01-23 6:03 Sam James
2024-01-22 12:18 Fabian Groffen
2024-01-08 12:28 Sam James
2021-11-29 18:31 Fabian Groffen
2021-11-25 10:17 Fabian Groffen
2021-01-06 15:32 Fabian Groffen
2020-02-13 21:40 David Seifert
2019-09-15 15:37 Fabian Groffen
2018-06-21 7:03 Fabian Groffen
2018-06-12 16:23 Fabian Groffen
2018-06-12 10:44 Fabian Groffen
2018-01-16 8:43 Fabian Groffen
2018-01-05 7:51 Fabian Groffen
2017-02-06 19:32 Fabian Groffen
2016-09-10 14:40 Fabian Groffen
2016-09-10 14:08 Fabian Groffen
2016-03-02 7:48 Fabian Groffen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox