Ticket #35770: libstdcxx.patch

File libstdcxx.patch, 11.0 KB (added by jeremyhu (Jeremy Huddleston Sequoia), 7 years ago)

libstdcxx.patch

  • lang/gcc42/Portfile

     
    55
    66name                    gcc42
    77version                 4.2.4
    8 revision                5
     8revision                6
    99platforms               darwin
    1010categories              lang
    1111maintainers             mww openmaintainer
     
    4141universal_variant       no
    4242
    4343depends_lib             port:gmp port:mpfr port:libiconv
    44 depends_run             port:gcc_select port:ld64 port:cctools
     44depends_run             port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    4545
    4646depends_skip_archcheck-append gcc_select ld64 cctools
    4747
     
    119119    # http://trac.macports.org/ticket/35770
    120120    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    121121
     122    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     123
    122124    # This symlink is provided as a transition aide and will be removed
    123125    # with a future revision of this port.
    124     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     126    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    125127}
    126128
    127129post-destroot {
  • lang/gcc43/Portfile

     
    55
    66name                gcc43
    77version             4.3.6
    8 revision            5
     8revision            6
    99platforms           darwin
    1010categories          lang
    1111maintainers         mww openmaintainer
     
    5454                    rmd160  cde38f66b4b952f52938dc50d7606a0e1ccc7d2f
    5555
    5656depends_lib         port:gmp port:mpfr port:libiconv
    57 depends_run         port:gcc_select port:ld64 port:cctools
     57depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    5858
    5959depends_skip_archcheck-append gcc_select ld64 cctools
    6060
     
    139139    # http://trac.macports.org/ticket/35770
    140140    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    141141
     142    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     143
    142144    # This symlink is provided as a transition aide and will be removed
    143145    # with a future revision of this port.
    144     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     146    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    145147}
    146148
    147149select.group        gcc
  • lang/gcc44/Portfile

     
    66name                gcc44
    77epoch               1
    88version             4.4.7
    9 revision            3
     9revision            4
    1010platforms           darwin
    1111categories          lang
    1212maintainers         mww openmaintainer
     
    5555                    rmd160  660d8e2f8162458e463de6195e58391ee711ed59
    5656
    5757depends_lib         port:gmp port:mpfr port:libiconv
    58 depends_run         port:gcc_select port:ld64 port:cctools
     58depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    5959
    6060depends_skip_archcheck-append gcc_select ld64 cctools
    6161
     
    144144    # http://trac.macports.org/ticket/35770
    145145    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    146146
     147    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     148
    147149    # This symlink is provided as a transition aide and will be removed
    148150    # with a future revision of this port.
    149     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     151    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    150152}
    151153
    152154select.group        gcc
  • lang/gcc45/Portfile

     
    66name                gcc45
    77epoch               1
    88version             4.5.4
    9 revision            3
     9revision            4
    1010platforms           darwin
    1111categories          lang
    1212maintainers         mww openmaintainer
     
    6060                    sha256  98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
    6161
    6262depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl
    63 depends_run         port:gcc_select port:ld64 port:cctools
     63depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    6464
    6565depends_skip_archcheck-append gcc_select ld64 cctools
    6666
     
    149149    # http://trac.macports.org/ticket/35770
    150150    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    151151
     152    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     153
    152154    # This symlink is provided as a transition aide and will be removed
    153155    # with a future revision of this port.
    154     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     156    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    155157}
    156158
    157159select.group        gcc
  • lang/gcc46/Portfile

     
    66name                gcc46
    77epoch               1
    88version             4.6.3
    9 revision            6
     9revision            7
    1010platforms           darwin
    1111categories          lang
    1212maintainers         mww openmaintainer
     
    4646                    sha256  98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
    4747
    4848depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
    49 depends_run         port:gcc_select port:ld64 port:cctools
     49depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    5050
    5151depends_skip_archcheck-append gcc_select ld64 cctools
    5252
     
    128128    # http://trac.macports.org/ticket/35770
    129129    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    130130
     131    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     132
    131133    # This symlink is provided as a transition aide and will be removed
    132134    # with a future revision of this port.
    133     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     135    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    134136}
    135137
    136138select.group        gcc
  • lang/gcc47/Portfile

     
    44PortGroup select 1.0
    55
    66name                gcc47
     7subport             libstdcxx {}
    78epoch               1
    89version             4.7.1
    9 revision            4
     10revision            5
    1011platforms           darwin
    1112categories          lang
    1213maintainers         mww openmaintainer
     
    4445                    sha256  98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781
    4546
    4647depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
    47 depends_run         port:gcc_select port:ld64 port:cctools
     48depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    4849
    4950depends_skip_archcheck-append gcc_select ld64 cctools
    5051
     
    117118
    118119destroot.target     install install-info-host
    119120
     121# TODO: Optimize this.  We don't need to actually bootstrap gcc to build libstdc++
     122if {${subport} == "libstdcxx"} {
     123    depends_run-delete port:${subport}
     124
     125    configure.args-delete --libdir=${prefix}/lib/${name}
     126
     127    configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
     128    configure.args-append --enable-languages=c++
     129
     130    destroot.target     install-target-libstdc++-v3
     131
     132    post-destroot {
     133        eval delete [glob ${destroot}${prefix}/lib/*{a,py}]
     134        file delete -force ${destroot}${prefix}/share/gcc-${major}
     135        file delete -force ${destroot}${prefix}/include/${name}
     136    }
     137} else {
    120138post-destroot {
    121139    file delete -force ${destroot}${prefix}/share/man/man7 \
    122140        ${destroot}${prefix}/share/info
     
    128146    # http://trac.macports.org/ticket/35770
    129147    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    130148
     149    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     150
    131151    # This symlink is provided as a transition aide and will be removed
    132152    # with a future revision of this port.
    133     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     153    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    134154}
    135155
    136156select.group        gcc
    137157select.file         ${filespath}/mp-${name}
    138158
     159}
     160
    139161platform powerpc {
    140162    configure.universal_archs ppc ppc64
    141163}
  • lang/gcc48/Portfile

     
    44PortGroup select 1.0
    55
    66name                gcc48
     7subport             libstdcxx-devel {}
    78version             4.8-20120909
    8 revision            2
     9revision            3
    910platforms           darwin
    1011categories          lang
    1112maintainers         mww openmaintainer
     
    3233use_bzip2           yes
    3334
    3435depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
    35 depends_run         port:gcc_select port:ld64 port:cctools
     36depends_run         port:gcc_select port:ld64 port:cctools port:libstdcxx-devel
    3637
    3738depends_skip_archcheck-append gcc_select ld64 cctools
    3839
     
    9899
    99100destroot.target     install install-info-host
    100101
     102# TODO: Optimize this.  We don't need to actually bootstrap gcc to build libstdc++
     103if {${subport} == "libstdcxx-devel"} {
     104    depends_run-delete port:${subport}
     105
     106    configure.args-delete --libdir=${prefix}/lib/${name}
     107
     108    configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
     109    configure.args-append --enable-languages=c++
     110
     111    destroot.target     install-target-libstdc++-v3
     112
     113    post-destroot {
     114        eval delete [glob ${destroot}${prefix}/lib/*{a,py}]
     115        file delete -force ${destroot}${prefix}/share/gcc-${major}
     116        file delete -force ${destroot}${prefix}/include/${name}
     117    }
     118} else {
    101119post-destroot {
    102120    file delete -force ${destroot}${prefix}/share/man/man7 \
    103121        ${destroot}${prefix}/share/info
     
    109127    # http://trac.macports.org/ticket/35770
    110128    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    111129
     130    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     131
    112132    # This symlink is provided as a transition aide and will be removed
    113133    # with a future revision of this port.
    114     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     134    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    115135}
    116136
    117137select.group        gcc
    118138select.file         ${filespath}/mp-${name}
    119139
     140}
     141
    120142platform powerpc {
    121143    configure.universal_archs ppc ppc64
    122144}