[123168] trunk/dports/lang

ryandesign at macports.org ryandesign at macports.org
Tue Aug 5 20:15:38 PDT 2014


Revision: 123168
          https://trac.macports.org/changeset/123168
Author:   ryandesign at macports.org
Date:     2014-08-05 20:15:38 -0700 (Tue, 05 Aug 2014)
Log Message:
-----------
gcc410: new port, version 4.10-20140727 (#43529); libgcc-devel subport is now in this portfile
gcc49: update to 4.9.1 (#43502); enable lto; libgcc subport is now in this portfile
gcc48: update to 4.8.3 (#43789); removed libgcc subport
Patches added to the above ports to deal with OS X deployment target values >= 10.10 (#43978)
Modeline added to the above ports
dragonegg-3.3-gcc-4.8, dragonegg-3.4-gcc-4.8: increase revision to rebuild

Modified Paths:
--------------
    trunk/dports/lang/dragonegg-3.3/Portfile
    trunk/dports/lang/dragonegg-3.4/Portfile
    trunk/dports/lang/gcc410/Portfile
    trunk/dports/lang/gcc48/Portfile
    trunk/dports/lang/gcc49/Portfile

Added Paths:
-----------
    trunk/dports/lang/gcc410/
    trunk/dports/lang/gcc410/files/mp-gcc410
    trunk/dports/lang/gcc410/files/patch-10.10.diff
    trunk/dports/lang/gcc48/files/patch-10.10.diff
    trunk/dports/lang/gcc49/files/patch-10.10.diff

Removed Paths:
-------------
    trunk/dports/lang/gcc410/files/mp-gcc49

Modified: trunk/dports/lang/dragonegg-3.3/Portfile
===================================================================
--- trunk/dports/lang/dragonegg-3.3/Portfile	2014-08-06 02:44:18 UTC (rev 123167)
+++ trunk/dports/lang/dragonegg-3.3/Portfile	2014-08-06 03:15:38 UTC (rev 123168)
@@ -24,7 +24,7 @@
     set gcc_version_no_dot 47
 }
 subport                 ${name}-gcc-4.8 {
-    revision            7
+    revision            8
     set gcc_version     4.8
     set gcc_version_no_dot 48
 }

Modified: trunk/dports/lang/dragonegg-3.4/Portfile
===================================================================
--- trunk/dports/lang/dragonegg-3.4/Portfile	2014-08-06 02:44:18 UTC (rev 123167)
+++ trunk/dports/lang/dragonegg-3.4/Portfile	2014-08-06 03:15:38 UTC (rev 123168)
@@ -24,7 +24,7 @@
     set gcc_version_no_dot 47
 }
 subport                 ${name}-gcc-4.8 {
-    revision            2
+    revision            3
     set gcc_version     4.8
     set gcc_version_no_dot 48
 }

Modified: trunk/dports/lang/gcc410/Portfile
===================================================================
--- trunk/dports/lang/gcc49/Portfile	2014-07-29 00:24:13 UTC (rev 122759)
+++ trunk/dports/lang/gcc410/Portfile	2014-08-06 03:15:38 UTC (rev 123168)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
 # $Id$
 
 PortSystem 1.0
@@ -4,12 +5,11 @@
 PortGroup select 1.0
 PortGroup compiler_blacklist_versions 1.0
 
-name                gcc49
+name                gcc410
 subport             libgcc-devel {}
 
-# Whenever this port is bumped for version/revision, please revbump dragonegg-*-gcc-4.9
-version             4.9-20140416
-revision            2
+# Whenever this port is bumped for version/revision, please revbump dragonegg-*-gcc-4.10
+version             4.10-20140727
 platforms           darwin
 categories          lang
 maintainers         mww openmaintainer
@@ -29,20 +29,21 @@
                     http://gcc.skazkaforyou.com/snapshots/${version}/
 
 distname            gcc-${version}
+use_bzip2           yes
 
-checksums           rmd160  ee65d3bf87d79dbfb306233328ee3e3defe702b1 \
-                    sha256  a1bac4e9fe8d8eca0c70fe22374e34abecd138dfc49130b01d73133f68b03b48
+checksums           rmd160  fa7eeb4087bdbc46bd5dc002a0f072e0b2cf84df \
+                    sha256  8bead70d4fb6cb91caa5be94bf2f26f46fa539ca70aab64d177aecf460c3dc7e
 
-use_bzip2           yes
-
 depends_lib         port:gmp port:mpfr port:libiconv port:libmpc path:lib/pkgconfig/cloog-isl.pc:cloog port:libgcc-devel
 depends_run         port:gcc_select port:ld64 port:cctools
 
 depends_skip_archcheck-append gcc_select ld64 cctools
 license_noconflict  gmp mpfr ppl libmpc
 
-set major           4.9
+patchfiles          patch-10.10.diff
 
+set major           4.10
+
 platform darwin {
     configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
 }
@@ -107,7 +108,7 @@
 
 destroot.target     install install-info-host
 
-if {${subport} == "libgcc-devel"} {
+if {${subport} eq "libgcc-devel"} {
     conflicts       libgcc
 
     # http://trac.macports.org/ticket/35770
@@ -194,7 +195,7 @@
     foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
         set extension [file extension ${file}]
         set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
-        
+
         file rename ${file} ${newfile}
     }
 
@@ -248,4 +249,4 @@
 
 livecheck.type      regex
 livecheck.url       ftp://gcc.gnu.org/pub/gcc/snapshots/
-livecheck.regex     LATEST-4.9 -> (4.9-\[0-9\]+)
+livecheck.regex     LATEST-4.10 -> (4.10-\[0-9\]+)

Copied: trunk/dports/lang/gcc410/files/mp-gcc410 (from rev 122759, trunk/dports/lang/gcc49/files/mp-gcc49)
===================================================================
--- trunk/dports/lang/gcc410/files/mp-gcc410	                        (rev 0)
+++ trunk/dports/lang/gcc410/files/mp-gcc410	2014-08-06 03:15:38 UTC (rev 123168)
@@ -0,0 +1,7 @@
+bin/gcc-mp-4.10
+bin/cpp-mp-4.10
+bin/c++-mp-4.10
+bin/g++-mp-4.10
+bin/gcj-mp-4.10
+bin/gcov-mp-4.10
+bin/gfortran-mp-4.10

Deleted: trunk/dports/lang/gcc410/files/mp-gcc49
===================================================================
--- trunk/dports/lang/gcc49/files/mp-gcc49	2014-07-29 00:24:13 UTC (rev 122759)
+++ trunk/dports/lang/gcc410/files/mp-gcc49	2014-08-06 03:15:38 UTC (rev 123168)
@@ -1,7 +0,0 @@
-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

Added: trunk/dports/lang/gcc410/files/patch-10.10.diff
===================================================================
--- trunk/dports/lang/gcc410/files/patch-10.10.diff	                        (rev 0)
+++ trunk/dports/lang/gcc410/files/patch-10.10.diff	2014-08-06 03:15:38 UTC (rev 123168)
@@ -0,0 +1,89 @@
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407#c16
+--- gcc/config/darwin-c.c.orig
++++ gcc/config/darwin-c.c
+@@ -572,20 +572,31 @@ find_subframework_header (cpp_reader *pfile, const char *header, cpp_dir **dirp)
+ 
+ /* Return the value of darwin_macosx_version_min suitable for the
+    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro,
+-   so '10.4.2' becomes 1040.  The lowest digit is always zero.
+-   Print a warning if the version number can't be understood.  */
++   so '10.4.2' becomes 1040 and '10.10.0' becomes 101000.  The lowest
++   digit is always zero. Print a warning if the version number
++   can't be understood.  */
+ static const char *
+ version_as_macro (void)
+ {
+-  static char result[] = "1000";
++  static char result[7] = "1000";
++  int minorDigitIdx;
+ 
+   if (strncmp (darwin_macosx_version_min, "10.", 3) != 0)
+     goto fail;
+   if (! ISDIGIT (darwin_macosx_version_min[3]))
+     goto fail;
+-  result[2] = darwin_macosx_version_min[3];
+-  if (darwin_macosx_version_min[4] != '\0'
+-      && darwin_macosx_version_min[4] != '.')
++
++  minorDigitIdx = 3;
++  result[2] = darwin_macosx_version_min[minorDigitIdx++];
++  if (ISDIGIT(darwin_macosx_version_min[minorDigitIdx])) {
++    /* Starting with 10.10 numeration for mactro changed */
++    result[3] = darwin_macosx_version_min[minorDigitIdx++];
++    result[4] = '0';
++    result[5] = '0';
++    result[6] = '\0';
++  }
++  if (darwin_macosx_version_min[minorDigitIdx] != '\0'
++      && darwin_macosx_version_min[minorDigitIdx] != '.')
+     goto fail;
+ 
+   return result;
+--- gcc/config/darwin-driver.c.orig
++++ gcc/config/darwin-driver.c
+@@ -57,7 +57,7 @@ darwin_find_version_from_kernel (char *new_flag)
+   version_p = osversion + 1;
+   if (ISDIGIT (*version_p))
+     major_vers = major_vers * 10 + (*version_p++ - '0');
+-  if (major_vers > 4 + 9)
++  if (major_vers > 4 + 10)
+     goto parse_failed;
+   if (*version_p++ != '.')
+     goto parse_failed;
+--- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc.orig
++++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -940,8 +940,10 @@
+ 
+ COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
+ CHECK_SIZE_AND_OFFSET(dirent, d_ino);
+-#if SANITIZER_MAC
++#if SANITIZER_MAC && ( !defined(__DARWIN_64_BIT_INO_T) || __DARWIN_64_BIT_INO_T)
+ CHECK_SIZE_AND_OFFSET(dirent, d_seekoff);
++#elif SANITIZER_MAC
++// There is no d_seekoff with non 64-bit ino_t
+ #elif SANITIZER_FREEBSD
+ // There is no 'd_off' field on FreeBSD.
+ #else
+--- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h.orig
++++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+@@ -392,12 +392,20 @@
+ #endif
+ 
+ #if SANITIZER_MAC
++# if ! defined(__DARWIN_64_BIT_INO_T) || __DARWIN_64_BIT_INO_T
+   struct __sanitizer_dirent {
+     unsigned long long d_ino;
+     unsigned long long d_seekoff;
+     unsigned short d_reclen;
+     // more fields that we don't care about
+   };
++# else
++  struct __sanitizer_dirent {
++    unsigned int d_ino;
++    unsigned short d_reclen;
++    // more fields that we don't care about
++  };
++# endif
+ #elif SANITIZER_FREEBSD
+   struct __sanitizer_dirent {
+     unsigned int d_fileno;

Modified: trunk/dports/lang/gcc48/Portfile
===================================================================
--- trunk/dports/lang/gcc48/Portfile	2014-08-06 02:44:18 UTC (rev 123167)
+++ trunk/dports/lang/gcc48/Portfile	2014-08-06 03:15:38 UTC (rev 123168)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
 # $Id$
 
 PortSystem 1.0
@@ -5,12 +6,10 @@
 PortGroup compiler_blacklist_versions 1.0
 
 name                gcc48
-subport             libgcc {}
 
 # Whenever this port is bumped for version/revision, please revbump dragonegg-*-gcc-4.8
 epoch               2
-version             4.8.2
-revision            2
+version             4.8.3
 platforms           darwin
 categories          lang
 maintainers         mww openmaintainer
@@ -28,18 +27,19 @@
                     gnu:gcc/gcc-${version}
 
 distname            gcc-${version}
-
-checksums           rmd160  a417e682baa20877c290f6dc7d3d03a0c3710371 \
-                    sha256  09dc2276c73424bbbfda1dbddc62bbbf900c9f185acf7f3e1d773ce2d7e3cdc8
-
 use_bzip2           yes
 
+checksums           rmd160  2c7214ff607cbe822282c04d1d6f9fea765c82c5 \
+                    sha256  6a8e4f11b185f4fe2ed9d7fc053e80f8c7e73f800c045f51f9d8bea33f080f1e
+
 depends_lib         port:gmp port:mpfr port:libiconv port:libmpc path:lib/pkgconfig/cloog-isl.pc:cloog path:lib/libgcc/libgcc_s.1.dylib:libgcc
 depends_run         port:gcc_select port:ld64 port:cctools
 
 depends_skip_archcheck-append gcc_select ld64 cctools
 license_noconflict  gmp mpfr ppl libmpc
 
+patchfiles          patch-10.10.diff
+
 set major           4.8
 
 platform darwin {
@@ -106,87 +106,6 @@
 
 destroot.target     install install-info-host
 
-if {${subport} == "libgcc"} {
-    conflicts       libgcc-devel
-
-    # http://trac.macports.org/ticket/35770
-    # http://trac.macports.org/ticket/38814
-    # While there can be multiple versions of these runtimes in a single
-    # process, it is not possible to pass objects between different versions,
-    # so we simplify this by having the libgcc port provide the newest version
-    # of these runtimes for all versions of gcc to use.
-    #
-    # If there is a binary incompatible change to the runtime in a future
-    # version of gcc, then the latest version of gcc to provide a given ABI
-    # version should continue to provide a subport for that and older gcc
-    # versions.
-
-    depends_lib-delete path:lib/libgcc/libgcc_s.1.dylib:libgcc
-
-    configure.args-delete --libdir=${prefix}/lib/${name}
-    configure.args-append --libdir=${prefix}/lib/libgcc
-
-    configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
-    configure.args-append --enable-languages=c,c++,objc,obj-c++,lto,fortran
-
-    # TODO: Possibly disable bootstrap with appropriate configure flags.
-    #       the problem is that libstdc++'s configure script tests for tls support
-    #       using the running compiler (not gcc for which libstdc++ is being built).
-    #       Thus when we build with clang, we get a mismatch
-    # http://trac.macports.org/ticket/36116
-    #compiler.blacklist-append {clang < 425}
-    #configure.args-append --disable-bootstrap
-    #build.target        all
-
-    post-destroot {
-        file mkdir ${destroot}${prefix}/lib/libgcc.merged
-
-        # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
-        # doesn't know how to change the id of stubs, and it's easier than recreating them for each
-        # gcc port.
-        set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib}
-
-        foreach dylib ${dylibs} {
-            # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
-            # https://trac.macports.org/ticket/40098
-            # https://trac.macports.org/ticket/40100
-            if {! [file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
-                continue
-            }
-
-            move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
-            if {[variant_isset universal]} {
-                foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
-                    set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
-                    if {[file exists ${archdir}/${dylib}]} {
-                        system "install_name_tool -id ${prefix}/lib/libgcc/${dylib} ${archdir}/${dylib}"
-                        foreach link ${dylibs} {
-                            system "install_name_tool -change ${archdir_nodestroot}${link} ${prefix}/lib/libgcc/${link} ${archdir}/${dylib}"
-                        }
-                        system "lipo -create -output ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib} ${archdir}/${dylib} && mv ${destroot}${prefix}/lib/libgcc.merged/${dylib}~ ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
-                    }
-                }
-            }
-
-            # strip debug symbols to supress debugger warnings:
-            # http://trac.macports.org/attachment/ticket/34831
-            if {! [string match *libgcc_ext* ${dylib}]} {
-                system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
-            }
-        }
-
-        file delete -force ${destroot}${prefix}/bin              
-        file delete -force ${destroot}${prefix}/share
-        file delete -force ${destroot}${prefix}/include
-        file delete -force ${destroot}${prefix}/lib/libgcc
-        file delete -force ${destroot}${prefix}/libexec
-
-        move ${destroot}${prefix}/lib/libgcc.merged ${destroot}${prefix}/lib/libgcc
-
-        # For binary compatibility with binaries that linked against the old libstdcxx port
-        ln -s libgcc/libstdc++.6.dylib ${destroot}${prefix}/lib/libstdc++.6.dylib
-    }
-} else {
 post-destroot {
     file delete ${destroot}${prefix}/share/info/dir
 
@@ -220,8 +139,6 @@
 select.group        gcc
 select.file         ${filespath}/mp-${name}
 
-}
-
 platform powerpc {
     configure.universal_archs ppc ppc64
 }
@@ -248,4 +165,3 @@
 livecheck.type      regex
 livecheck.url       http://gcc.gnu.org/gcc-4.8/
 livecheck.regex     GCC (4\\.8\\.\[0-9\])
-

Added: trunk/dports/lang/gcc48/files/patch-10.10.diff
===================================================================
--- trunk/dports/lang/gcc48/files/patch-10.10.diff	                        (rev 0)
+++ trunk/dports/lang/gcc48/files/patch-10.10.diff	2014-08-06 03:15:38 UTC (rev 123168)
@@ -0,0 +1,52 @@
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407#c16
+--- gcc/config/darwin-c.c.orig
++++ gcc/config/darwin-c.c
+@@ -572,20 +572,31 @@ find_subframework_header (cpp_reader *pfile, const char *header, cpp_dir **dirp)
+ 
+ /* Return the value of darwin_macosx_version_min suitable for the
+    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro,
+-   so '10.4.2' becomes 1040.  The lowest digit is always zero.
+-   Print a warning if the version number can't be understood.  */
++   so '10.4.2' becomes 1040 and '10.10.0' becomes 101000.  The lowest
++   digit is always zero. Print a warning if the version number
++   can't be understood.  */
+ static const char *
+ version_as_macro (void)
+ {
+-  static char result[] = "1000";
++  static char result[7] = "1000";
++  int minorDigitIdx;
+ 
+   if (strncmp (darwin_macosx_version_min, "10.", 3) != 0)
+     goto fail;
+   if (! ISDIGIT (darwin_macosx_version_min[3]))
+     goto fail;
+-  result[2] = darwin_macosx_version_min[3];
+-  if (darwin_macosx_version_min[4] != '\0'
+-      && darwin_macosx_version_min[4] != '.')
++
++  minorDigitIdx = 3;
++  result[2] = darwin_macosx_version_min[minorDigitIdx++];
++  if (ISDIGIT(darwin_macosx_version_min[minorDigitIdx])) {
++    /* Starting with 10.10 numeration for mactro changed */
++    result[3] = darwin_macosx_version_min[minorDigitIdx++];
++    result[4] = '0';
++    result[5] = '0';
++    result[6] = '\0';
++  }
++  if (darwin_macosx_version_min[minorDigitIdx] != '\0'
++      && darwin_macosx_version_min[minorDigitIdx] != '.')
+     goto fail;
+ 
+   return result;
+--- gcc/config/darwin-driver.c.orig
++++ gcc/config/darwin-driver.c
+@@ -57,7 +57,7 @@ darwin_find_version_from_kernel (char *new_flag)
+   version_p = osversion + 1;
+   if (ISDIGIT (*version_p))
+     major_vers = major_vers * 10 + (*version_p++ - '0');
+-  if (major_vers > 4 + 9)
++  if (major_vers > 4 + 10)
+     goto parse_failed;
+   if (*version_p++ != '.')
+     goto parse_failed;

Modified: trunk/dports/lang/gcc49/Portfile
===================================================================
--- trunk/dports/lang/gcc49/Portfile	2014-08-06 02:44:18 UTC (rev 123167)
+++ trunk/dports/lang/gcc49/Portfile	2014-08-06 03:15:38 UTC (rev 123168)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
 # $Id$
 
 PortSystem 1.0
@@ -5,42 +6,41 @@
 PortGroup compiler_blacklist_versions 1.0
 
 name                gcc49
-subport             libgcc-devel {}
+subport             libgcc {}
 
 # Whenever this port is bumped for version/revision, please revbump dragonegg-*-gcc-4.9
-version             4.9-20140416
-revision            2
+epoch               1
+version             4.9.1
 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} \
-                    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}/
+master_sites        ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/ \
+                    ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
+                    ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
+                    ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
+                    gnu:gcc/gcc-${version}
 
 distname            gcc-${version}
+use_bzip2           yes
 
-checksums           rmd160  ee65d3bf87d79dbfb306233328ee3e3defe702b1 \
-                    sha256  a1bac4e9fe8d8eca0c70fe22374e34abecd138dfc49130b01d73133f68b03b48
+checksums           rmd160  7a829a260648a190afa1d6c616c78ddc861f4f7d \
+                    sha256  d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e
 
-use_bzip2           yes
-
-depends_lib         port:gmp port:mpfr port:libiconv port:libmpc path:lib/pkgconfig/cloog-isl.pc:cloog port:libgcc-devel
+depends_lib         port:gmp port:mpfr port:libiconv port:libmpc path:lib/pkgconfig/cloog-isl.pc:cloog path:lib/libgcc/libgcc_s.1.dylib:libgcc
 depends_run         port:gcc_select port:ld64 port:cctools
 
 depends_skip_archcheck-append gcc_select ld64 cctools
 license_noconflict  gmp mpfr ppl libmpc
 
+patchfiles          patch-10.10.diff
+
 set major           4.9
 
 platform darwin {
@@ -49,7 +49,7 @@
 
 configure.dir       ${workpath}/build
 configure.cmd       ${worksrcpath}/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 \
@@ -107,8 +107,8 @@
 
 destroot.target     install install-info-host
 
-if {${subport} == "libgcc-devel"} {
-    conflicts       libgcc
+if {${subport} eq "libgcc"} {
+    conflicts       libgcc-devel
 
     # http://trac.macports.org/ticket/35770
     # http://trac.macports.org/ticket/38814
@@ -122,7 +122,7 @@
     # version should continue to provide a subport for that and older gcc
     # versions.
 
-    depends_lib-delete port:libgcc-devel
+    depends_lib-delete path:lib/libgcc/libgcc_s.1.dylib:libgcc
 
     configure.args-delete --libdir=${prefix}/lib/${name}
     configure.args-append --libdir=${prefix}/lib/libgcc
@@ -194,7 +194,7 @@
     foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
         set extension [file extension ${file}]
         set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
-        
+
         file rename ${file} ${newfile}
     }
 
@@ -247,5 +247,5 @@
 configure.universal_args
 
 livecheck.type      regex
-livecheck.url       ftp://gcc.gnu.org/pub/gcc/snapshots/
-livecheck.regex     LATEST-4.9 -> (4.9-\[0-9\]+)
+livecheck.url       http://gcc.gnu.org/gcc-4.9/
+livecheck.regex     GCC (4\\.9\\.\[0-9\])

Added: trunk/dports/lang/gcc49/files/patch-10.10.diff
===================================================================
--- trunk/dports/lang/gcc49/files/patch-10.10.diff	                        (rev 0)
+++ trunk/dports/lang/gcc49/files/patch-10.10.diff	2014-08-06 03:15:38 UTC (rev 123168)
@@ -0,0 +1,89 @@
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407#c16
+--- gcc/config/darwin-c.c.orig
++++ gcc/config/darwin-c.c
+@@ -572,20 +572,31 @@ find_subframework_header (cpp_reader *pfile, const char *header, cpp_dir **dirp)
+ 
+ /* Return the value of darwin_macosx_version_min suitable for the
+    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro,
+-   so '10.4.2' becomes 1040.  The lowest digit is always zero.
+-   Print a warning if the version number can't be understood.  */
++   so '10.4.2' becomes 1040 and '10.10.0' becomes 101000.  The lowest
++   digit is always zero. Print a warning if the version number
++   can't be understood.  */
+ static const char *
+ version_as_macro (void)
+ {
+-  static char result[] = "1000";
++  static char result[7] = "1000";
++  int minorDigitIdx;
+ 
+   if (strncmp (darwin_macosx_version_min, "10.", 3) != 0)
+     goto fail;
+   if (! ISDIGIT (darwin_macosx_version_min[3]))
+     goto fail;
+-  result[2] = darwin_macosx_version_min[3];
+-  if (darwin_macosx_version_min[4] != '\0'
+-      && darwin_macosx_version_min[4] != '.')
++
++  minorDigitIdx = 3;
++  result[2] = darwin_macosx_version_min[minorDigitIdx++];
++  if (ISDIGIT(darwin_macosx_version_min[minorDigitIdx])) {
++    /* Starting with 10.10 numeration for mactro changed */
++    result[3] = darwin_macosx_version_min[minorDigitIdx++];
++    result[4] = '0';
++    result[5] = '0';
++    result[6] = '\0';
++  }
++  if (darwin_macosx_version_min[minorDigitIdx] != '\0'
++      && darwin_macosx_version_min[minorDigitIdx] != '.')
+     goto fail;
+ 
+   return result;
+--- gcc/config/darwin-driver.c.orig
++++ gcc/config/darwin-driver.c
+@@ -57,7 +57,7 @@ darwin_find_version_from_kernel (char *new_flag)
+   version_p = osversion + 1;
+   if (ISDIGIT (*version_p))
+     major_vers = major_vers * 10 + (*version_p++ - '0');
+-  if (major_vers > 4 + 9)
++  if (major_vers > 4 + 10)
+     goto parse_failed;
+   if (*version_p++ != '.')
+     goto parse_failed;
+--- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc.orig
++++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -835,8 +835,10 @@ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
+ 
+ COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
+ CHECK_SIZE_AND_OFFSET(dirent, d_ino);
+-#if SANITIZER_MAC
++#if SANITIZER_MAC && ( !defined(__DARWIN_64_BIT_INO_T) || __DARWIN_64_BIT_INO_T)
+ CHECK_SIZE_AND_OFFSET(dirent, d_seekoff);
++#elif SANITIZER_MAC
++// There is no d_seekoff with non 64-bit ino_t
+ #else
+ CHECK_SIZE_AND_OFFSET(dirent, d_off);
+ #endif
+--- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h.orig
++++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+@@ -275,12 +275,20 @@ namespace __sanitizer {
+ #endif
+ 
+ #if SANITIZER_MAC
++# if ! defined(__DARWIN_64_BIT_INO_T) || __DARWIN_64_BIT_INO_T
+   struct __sanitizer_dirent {
+     unsigned long long d_ino;
+     unsigned long long d_seekoff;
+     unsigned short d_reclen;
+     // more fields that we don't care about
+   };
++# else
++  struct __sanitizer_dirent {
++    unsigned int d_ino;
++    unsigned short d_reclen;
++    // more fields that we don't care about
++  };
++# endif
+ #elif SANITIZER_ANDROID || defined(__x86_64__)
+   struct __sanitizer_dirent {
+     unsigned long long d_ino;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140805/6c49d3af/attachment-0001.html>


More information about the macports-changes mailing list