[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