[105277] trunk/dports/lang
jeremyhu at macports.org
jeremyhu at macports.org
Mon Apr 15 16:06:48 PDT 2013
Revision: 105277
https://trac.macports.org/changeset/105277
Author: jeremyhu at macports.org
Date: 2013-04-15 16:06:48 -0700 (Mon, 15 Apr 2013)
Log Message:
-----------
gcc4{7,8,9}: Add gcc49, update gcc48 to latest snapshot, move libstdcxx to gcc48 (#38500)
Modified Paths:
--------------
trunk/dports/lang/gcc47/Portfile
trunk/dports/lang/gcc48/Portfile
Added Paths:
-----------
trunk/dports/lang/gcc49/
trunk/dports/lang/gcc49/Portfile
trunk/dports/lang/gcc49/files/
trunk/dports/lang/gcc49/files/force-static-gcc.patch
trunk/dports/lang/gcc49/files/mp-gcc49
Removed Paths:
-------------
trunk/dports/lang/gcc47/files/force-static-gcc.patch
Modified: trunk/dports/lang/gcc47/Portfile
===================================================================
--- trunk/dports/lang/gcc47/Portfile 2013-04-15 22:58:01 UTC (rev 105276)
+++ trunk/dports/lang/gcc47/Portfile 2013-04-15 23:06:48 UTC (rev 105277)
@@ -6,7 +6,6 @@
PortGroup compiler_blacklist_versions 1.0
name gcc47
-subport libstdcxx {}
epoch 1
version 4.7.3
@@ -126,51 +125,6 @@
destroot.target install install-info-host
-if {${subport} == "libstdcxx"} {
- conflicts libstdcxx-devel
-
- patchfiles-append force-static-gcc.patch
-
- depends_run-delete path:lib/libstdc\\\\+\\\\+.6.dylib:libstdcxx
-
- configure.args-delete --libdir=${prefix}/lib/${name}
-
- configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
- configure.args-append --enable-languages=c++
-
- # http://trac.macports.org/ticket/36116
- compiler.blacklist-append {clang < 425}
-
- configure.args-append --disable-bootstrap
- build.target all
-
- destroot.target install-target-libstdc++-v3
-
- post-destroot {
- eval file delete [glob ${destroot}${prefix}/lib/*{a,py}]
- file delete -force ${destroot}${prefix}/share/gcc-${major}
- file delete -force ${destroot}${prefix}/include/${name}
-
- # Don't install the linktime symlink. The compilers will place this
- # in their libdir, and we don't want to break other toolchains by having
- # them link against this libstdc++ (at least not until it is built on
- # top of libc++abi).
- file delete ${destroot}${prefix}/lib/libstdc++.dylib
-
- # For compatibility. Delete this eventually.
- system "touch ${destroot}${prefix}/lib/.libstdcxx"
-
- if {[variant_isset universal]} {
- foreach archdir [glob ${destroot}${prefix}/lib/*/] {
- if {[file exists ${archdir}/libstdc++.6.dylib]} {
- system "install_name_tool -id ${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib"
- system "lipo -create -output ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib && mv ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib"
- }
- file delete -force ${archdir}
- }
- }
- }
-} else {
post-destroot {
file delete -force ${destroot}${prefix}/share/man/man7 \
${destroot}${prefix}/share/info
@@ -204,8 +158,6 @@
select.group gcc
select.file ${filespath}/mp-${name}
-}
-
platform powerpc {
configure.universal_archs ppc ppc64
}
Deleted: trunk/dports/lang/gcc47/files/force-static-gcc.patch
===================================================================
--- trunk/dports/lang/gcc47/files/force-static-gcc.patch 2013-04-15 22:58:01 UTC (rev 105276)
+++ trunk/dports/lang/gcc47/files/force-static-gcc.patch 2013-04-15 23:06:48 UTC (rev 105277)
@@ -1,21 +0,0 @@
---- gcc/config/darwin.h.orig 2012-09-13 20:20:33.000000000 -0700
-+++ gcc/config/darwin.h 2012-09-13 20:23:03.000000000 -0700
-@@ -325,17 +325,6 @@ extern GTY(()) int darwin_ms_struct;
- #undef REAL_LIBGCC_SPEC
- #define REAL_LIBGCC_SPEC \
-- "%{static-libgcc|static: -lgcc_eh -lgcc; \
-- shared-libgcc|fexceptions|fgnu-runtime: \
-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
-- -lgcc ; \
-- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
-- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
-- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
-- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
-- -lgcc }"
-+ "-lgcc_eh -lgcc"
-
- /* We specify crt0.o as -lcrt0.o so that ld will search the library path.
-
Modified: trunk/dports/lang/gcc48/Portfile
===================================================================
--- trunk/dports/lang/gcc48/Portfile 2013-04-15 22:58:01 UTC (rev 105276)
+++ trunk/dports/lang/gcc48/Portfile 2013-04-15 23:06:48 UTC (rev 105277)
@@ -5,20 +5,17 @@
PortGroup compiler_blacklist_versions 1.0
name gcc48
-subport libstdcxx-devel {}
+subport libstdcxx {}
-# Remove the revision in libstdcxx-devel when bumping
-version 4.8-20130404
-revision 1
+version 4.8-20130411
platforms darwin
categories lang
maintainers mww openmaintainer
# an exception in the license allows dependents to not be GPL
license {GPL-3+ Permissive}
-description The GNU compiler collection, prerelease BETA
+description The GNU compiler collection
long_description The GNU compiler collection, including front ends for \
- C, C++, Objective-C, Objective-C++, Fortran and Java. \
- This is a prerelease BETA version!
+ C, C++, Objective-C, Objective-C++, Fortran and Java.
homepage http://gcc.gnu.org/
master_sites http://gcc.petsads.us/snapshots/${version} \
@@ -30,15 +27,15 @@
distname gcc-${version}
-checksums rmd160 b5ac698129f3be6c4a6e6424b71ee51041ce9bb9 \
- sha256 428088223bec4ab6b832196ac84da1ae25ac72bf26403b49851a20a19d4d915e
+checksums rmd160 595f55cc60e24c3a304a58e3ca8eee0798e9b7f8 \
+ sha256 d5e8c4dc64c582d6561108382f53608befd5f7058d8241b2d6457772c724c473
supported_archs i386 x86_64
use_bzip2 yes
depends_lib port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
-depends_run port:gcc_select port:ld64 port:cctools port:libstdcxx-devel
+depends_run port:gcc_select port:ld64 port:cctools path:lib/libstdc\\\\+\\\\+.6.dylib:libstdcxx
depends_skip_archcheck-append gcc_select ld64 cctools
license_noconflict gmp mpfr ppl libmpc
@@ -58,7 +55,7 @@
}
configure.cmd ../gcc-${version}/configure
-configure.args --enable-languages=c,c++,objc,obj-c++,fortran,java \
+configure.args --enable-languages=c,c++,objc,obj-c++,lto,fortran,java \
--libdir=${prefix}/lib/${name} \
--includedir=${prefix}/include/${name} \
--infodir=${prefix}/share/info \
@@ -110,12 +107,12 @@
destroot.target install install-info-host
-if {${subport} == "libstdcxx-devel"} {
- conflicts libstdcxx
+if {${subport} == "libstdcxx"} {
+ conflicts libstdcxx-devel
patchfiles-append force-static-gcc.patch
- depends_run-delete port:${subport}
+ depends_run-delete path:lib/libstdc\\\\+\\\\+.6.dylib:libstdcxx
configure.args-delete --libdir=${prefix}/lib/${name}
Added: trunk/dports/lang/gcc49/Portfile
===================================================================
--- trunk/dports/lang/gcc49/Portfile (rev 0)
+++ trunk/dports/lang/gcc49/Portfile 2013-04-15 23:06:48 UTC (rev 105277)
@@ -0,0 +1,218 @@
+# $Id$
+
+PortSystem 1.0
+PortGroup select 1.0
+PortGroup compiler_blacklist_versions 1.0
+
+name gcc49
+subport libstdcxx-devel {}
+
+# Remove the revision in libstdcxx-devel when bumping
+version 4.9-20130414
+platforms darwin
+categories lang
+maintainers mww openmaintainer
+# an exception in the license allows dependents to not be GPL
+license {GPL-3+ Permissive}
+description The GNU compiler collection, prerelease BETA
+long_description The GNU compiler collection, including front ends for \
+ C, C++, Objective-C, Objective-C++, Fortran and Java. \
+ This is a prerelease BETA version!
+
+homepage http://gcc.gnu.org/
+master_sites http://gcc.petsads.us/snapshots/${version} \
+ ftp://ftp.gwdg.de/pub/linux/gcc/snapshots/${version}/ \
+ ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/snapshots/${version}/ \
+ ftp://gcc.gnu.org/pub/gcc/snapshots/${version}/ \
+ http://mirrors-us.seosue.com/gcc/snapshots/${version}/ \
+ http://gcc.skazkaforyou.com/snapshots/${version}/
+
+distname gcc-${version}
+
+checksums rmd160 45583a286db45e4811376f96bf0c045e72cbf636 \
+ sha256 4c1dc6ac0406d381a5d21682baa499a6cadde802c23342de7d53a359aad6c482
+
+supported_archs i386 x86_64
+
+use_bzip2 yes
+
+depends_lib port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
+depends_run port:gcc_select port:ld64 port:cctools port:libstdcxx-devel
+
+depends_skip_archcheck-append gcc_select ld64 cctools
+license_noconflict gmp mpfr ppl libmpc
+
+patch.dir ${workpath}/gcc-${version}
+
+set major 4.9
+
+worksrcdir build
+
+post-extract {
+ file mkdir ${worksrcpath}
+}
+
+platform darwin {
+ configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
+}
+
+configure.cmd ../gcc-${version}/configure
+configure.args --enable-languages=c,c++,objc,obj-c++,fortran,java \
+ --libdir=${prefix}/lib/${name} \
+ --includedir=${prefix}/include/${name} \
+ --infodir=${prefix}/share/info \
+ --mandir=${prefix}/share/man \
+ --datarootdir=${prefix}/share/gcc-${major} \
+ --with-local-prefix=${prefix} \
+ --with-system-zlib \
+ --disable-nls \
+ --program-suffix=-mp-${major} \
+ --with-gxx-include-dir=${prefix}/include/${name}/c++/ \
+ --with-gmp=${prefix} \
+ --with-mpfr=${prefix} \
+ --with-mpc=${prefix} \
+ --with-ppl=${prefix} \
+ --with-cloog=${prefix} --enable-cloog-backend=isl \
+ --disable-cloog-version-check \
+ --enable-stage1-checking \
+ --disable-multilib \
+ --enable-lto \
+ --enable-libstdcxx-time \
+ --with-as=${prefix}/bin/as \
+ --with-ld=${prefix}/bin/ld \
+ --with-ar=${prefix}/bin/ar \
+ --with-bugurl=https://trac.macports.org/newticket
+
+configure.env-append \
+ AR_FOR_TARGET=${prefix}/bin/ar \
+ AS_FOR_TARGET=${prefix}/bin/as \
+ LD_FOR_TARGET=${prefix}/bin/ld \
+ NM_FOR_TARGET=${prefix}/bin/nm \
+ OBJDUMP_FOR_TARGET=${prefix}/bin/objdump \
+ RANLIB_FOR_TARGET=${prefix}/bin/ranlib \
+ STRIP_FOR_TARGET=${prefix}/bin/strip \
+ OTOOL=${prefix}/bin/otool \
+ OTOOL64=${prefix}/bin/otool
+
+pre-configure {
+ configure.args-append --with-pkgversion="MacPorts ${name} ${version}_${revision}${portvariants}"
+}
+
+# http://trac.macports.org/ticket/29067
+compiler.blacklist-append gcc-4.0
+
+# http://trac.macports.org/ticket/29104
+compiler.blacklist-append {llvm-gcc-4.2 < 2336.1}
+
+build.target bootstrap
+use_parallel_build yes
+
+destroot.target install install-info-host
+
+if {${subport} == "libstdcxx-devel"} {
+ conflicts libstdcxx
+
+ patchfiles-append force-static-gcc.patch
+
+ depends_run-delete port:${subport}
+
+ configure.args-delete --libdir=${prefix}/lib/${name}
+
+ configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
+ configure.args-append --enable-languages=c++
+
+ # http://trac.macports.org/ticket/36116
+ compiler.blacklist-append {clang < 425}
+
+ configure.args-append --disable-bootstrap
+ build.target all
+
+ destroot.target install-target-libstdc++-v3
+
+ post-destroot {
+ eval file delete [glob ${destroot}${prefix}/lib/*{a,py}]
+ eval file delete [glob ${destroot}${prefix}/lib/libgcc*]
+ file delete -force ${destroot}${prefix}/lib/gcc
+ file delete -force ${destroot}${prefix}/share/gcc-${major}
+ file delete -force ${destroot}${prefix}/include/${name}
+
+ # Don't install the linktime symlink. The compilers will place this
+ # in their libdir, and we don't want to break other toolchains by having
+ # them link against this libstdc++ (at least not until it is built on
+ # top of libc++abi).
+ file delete ${destroot}${prefix}/lib/libstdc++.dylib
+
+ # For compatibility. Delete this eventually.
+ system "touch ${destroot}${prefix}/lib/.libstdcxx"
+
+ if {[variant_isset universal]} {
+ foreach archdir [glob ${destroot}${prefix}/lib/*/] {
+ if {[file exists ${archdir}/libstdc++.6.dylib]} {
+ system "install_name_tool -id ${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib"
+ system "lipo -create -output ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib && mv ${destroot}${prefix}/lib/libstdc++.6.dylib~ ${destroot}${prefix}/lib/libstdc++.6.dylib"
+ }
+ file delete -force ${archdir}
+ }
+ }
+ }
+} else {
+post-destroot {
+ file delete -force ${destroot}${prefix}/share/man/man7 \
+ ${destroot}${prefix}/share/info
+ # install/copy ffitarget.h only if we have it
+ if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
+ file copy ${ffitarget.h} ${destroot}${prefix}/include/${name}/
+ }
+
+ if {[variant_isset universal]} {
+ foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
+ if {[file exists ${archdir}/libstdc++.6.dylib]} {
+ eval delete [glob ${archdir}/libstdc++*]
+
+ # This symlink is provided as a transition aide and will be removed
+ # with a future revision of this port.
+ ln -s ${prefix}/lib/libstdc++.6.dylib ${archdir}/libstdc++.6.dylib
+ }
+ }
+ }
+
+ # http://trac.macports.org/ticket/35770
+ eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
+
+ ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
+
+ # This symlink is provided as a transition aide and will be removed
+ # with a future revision of this port.
+ ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
+}
+
+select.group gcc
+select.file ${filespath}/mp-${name}
+
+}
+
+platform powerpc {
+ configure.universal_archs ppc ppc64
+}
+platform i386 {
+ configure.universal_archs i386 x86_64
+}
+variant universal {
+ configure.args-delete --disable-multilib
+}
+# the generated compiler doesn't accept -arch
+configure.env-append CPP="${configure.cc} -E"
+build.env-append CPP="${configure.cc} -E"
+configure.cc-append [get_canonical_archflags]
+configure.cc_archflags
+configure.cxx_archflags
+configure.objc_archflags
+configure.ld_archflags
+configure.universal_cflags
+configure.universal_cxxflags
+configure.universal_ldflags
+configure.universal_args
+
+livecheck.type regex
+livecheck.url ftp://gcc.gnu.org/pub/gcc/snapshots/
+livecheck.regex LATEST-4.9 -> (4.9-\[0-9\]+)
Property changes on: trunk/dports/lang/gcc49/Portfile
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/dports/lang/gcc49/files/force-static-gcc.patch
===================================================================
--- trunk/dports/lang/gcc49/files/force-static-gcc.patch (rev 0)
+++ trunk/dports/lang/gcc49/files/force-static-gcc.patch 2013-04-15 23:06:48 UTC (rev 105277)
@@ -0,0 +1,21 @@
+--- gcc/config/darwin.h.orig 2012-09-13 20:20:33.000000000 -0700
++++ gcc/config/darwin.h 2012-09-13 20:23:03.000000000 -0700
+@@ -325,17 +325,6 @@ extern GTY(()) int darwin_ms_struct;
+ #undef REAL_LIBGCC_SPEC
+ #define REAL_LIBGCC_SPEC \
+- "%{static-libgcc|static: -lgcc_eh -lgcc; \
+- shared-libgcc|fexceptions|fgnu-runtime: \
+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
+- -lgcc ; \
+- :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
+- %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
+- %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
+- %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
+- -lgcc }"
++ "-lgcc_eh -lgcc"
+
+ /* We specify crt0.o as -lcrt0.o so that ld will search the library path.
+
Added: trunk/dports/lang/gcc49/files/mp-gcc49
===================================================================
--- trunk/dports/lang/gcc49/files/mp-gcc49 (rev 0)
+++ trunk/dports/lang/gcc49/files/mp-gcc49 2013-04-15 23:06:48 UTC (rev 105277)
@@ -0,0 +1,7 @@
+bin/gcc-mp-4.9
+bin/cpp-mp-4.9
+bin/c++-mp-4.9
+bin/g++-mp-4.9
+bin/gcj-mp-4.9
+bin/gcov-mp-4.9
+bin/gfortran-mp-4.9
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130415/8a27c925/attachment-0001.html>
More information about the macports-changes
mailing list