Ticket #23773: icu442-universal.diff

File icu442-universal.diff, 5.0 KB (added by takanori@…, 13 years ago)
  • files/patch-universal.diff

     
     1--- Makefile.in.orig    2010-09-30 03:38:38.000000000 +0900
     2+++ Makefile.in 2010-12-01 06:16:12.000000000 +0900
     3@@ -137,13 +137,13 @@
     4        $(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs
     5        $(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh
     6        $(INSTALL_DATA) $(top_srcdir)/../license.html $(DESTDIR)$(pkgdatadir)/license.html
     7-       $(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config
     8-       $(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc
     9-       $(INSTALL_DATA) $(top_builddir)/config/pkgdata.inc $(DESTDIR)$(pkglibdir)/pkgdata.inc
     10+       $(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config-__ARCH__
     11+       $(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile-__ARCH__.inc
     12+       $(INSTALL_DATA) $(top_builddir)/config/pkgdata.inc $(DESTDIR)$(pkglibdir)/pkgdata-__ARCH__.inc
     13        cd $(DESTDIR)$(pkglibdir)/..; \
     14            $(RM) current && ln -s $(VERSION) current; \
     15-           $(RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc; \
     16-           $(RM) pkgdata.inc && ln -s current/pkgdata.inc pkgdata.inc
     17+#          $(RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc; \
     18+#          $(RM) pkgdata.inc && ln -s current/pkgdata.inc pkgdata.inc
     19 
     20 ifeq ($(DOXYGEN),)
     21 install-doc:
  • Portfile

     
    77name            icu
    88set my_name     icu4c
    99version         4.4.2
    10 revision        1
     10revision        2
    1111categories      devel textproc
    1212platforms       darwin freebsd
    1313maintainers     nox openmaintainer
     
    3838set docdir      ${prefix}/share/doc/${name}
    3939
    4040if {[variant_isset universal]} {
     41    patchfiles-append   patch-universal.diff
    4142    set merger_must_run_binaries yes
    4243}
    4344
     
    6162configure.cppflags
    6263configure.ldflags
    6364
     65post-configure {
     66    if {[variant_isset universal]} {
     67        # Ticket #23773
     68        foreach arch ${universal_archs_to_use} {
     69            reinplace "s|__ARCH__|${arch}|g" ${worksrcpath}-${arch}/Makefile
     70        }
     71    }
     72}
     73
    6474build.type      gnu
    6575
    6676use_parallel_build  yes
     
    6878test.run        yes
    6979test.target     check
    7080
    71 post-build {
     81post-destroot {
     82    xinstall -d ${destroot}${docdir}
     83    eval xinstall -m 0644 [glob ${worksrcpath}/../*.{css,html,txt}] ${destroot}${docdir}
     84
    7285    if {[variant_isset universal]} {
    73         set dirs {}
     86        # Ticket #23773
    7487        foreach arch ${universal_archs_to_use} {
    75             lappend dirs ${worksrcpath}-${arch}
     88            reinplace "s|/Makefile.inc|/Makefile-${arch}.inc|g" ${destroot}${prefix}/bin/icu-config-${arch}
     89            reinplace "s|/pkgdata.inc|/pkgdata-${arch}.inc|g" ${destroot}${prefix}/bin/icu-config-${arch}
    7690        }
    77     } else {
    78         set dirs ${worksrcpath}
     91        ln -s current/Makefile.inc ${destroot}${prefix}/lib/icu/Makefile.inc
     92        ln -s current/pkgdata.inc ${destroot}${prefix}/lib/icu/pkgdata.inc
    7993    }
    80     foreach dir ${dirs} {
    81         reinplace -E {s|-arch [a-z0-9_]+||g} \
    82             ${dir}/config/icu-config \
    83             ${dir}/config/Makefile.inc \
    84             ${dir}/config/pkgdata.inc
     94}
     95
     96post-activate {
     97    if {[variant_isset universal]} {
     98        # Ticket #23773
     99        set a ${configure.build_arch}
     100        if {$a == "ppc64"} {
     101            if {![file exists ${prefix}/bin/icu-config-${a}]} {
     102                set a "ppc"
     103            }
     104        } elseif {$a == "x86_64"} {
     105            if {![file exists ${prefix}/bin/icu-config-${a}]} {
     106                set a "i386"
     107                if {![file exists ${prefix}/bin/icu-config-${a}]} {
     108                    set a "ppc"
     109                }
     110            }
     111        } elseif {$a == "i386"} {
     112            if {![file exists ${prefix}/bin/icu-config-${a}]} {
     113                set a "ppc"
     114            }
     115        }
     116        foreach {p q} [list "${prefix}/bin/icu-config-${a}" "${prefix}/bin/icu-config" \
     117                            "${prefix}/lib/icu/${version}/Makefile-${a}.inc" "${prefix}/lib/icu/${version}/Makefile.inc" \
     118                            "${prefix}/lib/icu/${version}/pkgdata-${a}.inc" "${prefix}/lib/icu/${version}/pkgdata.inc"] {
     119            ln -s ${p} ${q}
     120        }
    85121    }
    86122}
    87123
    88 post-destroot {
    89     xinstall -d ${destroot}${docdir}
    90     eval xinstall -m 0644 [glob ${worksrcpath}/../*.{css,html,txt}] ${destroot}${docdir}
     124post-deactivate {
     125    if {[variant_isset universal]} {
     126        # Ticket #23773
     127        foreach f [list "${prefix}/bin/icu-config" \
     128                        "${prefix}/lib/icu/${version}/Makefile.inc" \
     129                        "${prefix}/lib/icu/${version}/pkgdata.inc"] {
     130            delete ${f}
     131        }
     132    }
    91133}
    92134
    93135# The official doc archive seems to be a bit incomplete.