Index: files/patch-universal.diff
===================================================================
--- files/patch-universal.diff	(リビジョン 0)
+++ files/patch-universal.diff	(リビジョン 0)
@@ -0,0 +1,21 @@
+--- Makefile.in.orig	2010-09-30 03:38:38.000000000 +0900
++++ Makefile.in	2010-12-01 06:16:12.000000000 +0900
+@@ -137,13 +137,13 @@
+ 	$(INSTALL_SCRIPT) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(pkgdatadir)/mkinstalldirs
+ 	$(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh
+ 	$(INSTALL_DATA) $(top_srcdir)/../license.html $(DESTDIR)$(pkgdatadir)/license.html
+-	$(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config
+-	$(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile.inc
+-	$(INSTALL_DATA) $(top_builddir)/config/pkgdata.inc $(DESTDIR)$(pkglibdir)/pkgdata.inc
++	$(INSTALL_SCRIPT) $(top_builddir)/config/icu-config $(DESTDIR)$(bindir)/icu-config-__ARCH__
++	$(INSTALL_DATA) $(top_builddir)/config/Makefile.inc $(DESTDIR)$(pkglibdir)/Makefile-__ARCH__.inc
++	$(INSTALL_DATA) $(top_builddir)/config/pkgdata.inc $(DESTDIR)$(pkglibdir)/pkgdata-__ARCH__.inc
+ 	cd $(DESTDIR)$(pkglibdir)/..; \
+ 	    $(RM) current && ln -s $(VERSION) current; \
+-	    $(RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc; \
+-	    $(RM) pkgdata.inc && ln -s current/pkgdata.inc pkgdata.inc
++#	    $(RM) Makefile.inc && ln -s current/Makefile.inc Makefile.inc; \
++#	    $(RM) pkgdata.inc && ln -s current/pkgdata.inc pkgdata.inc
+ 
+ ifeq ($(DOXYGEN),)
+ install-doc:
Index: Portfile
===================================================================
--- Portfile	(リビジョン 73973)
+++ Portfile	(作業コピー)
@@ -7,7 +7,7 @@
 name            icu
 set my_name     icu4c
 version         4.4.2
-revision        1
+revision        2
 categories      devel textproc
 platforms       darwin freebsd
 maintainers     nox openmaintainer
@@ -38,6 +38,7 @@
 set docdir      ${prefix}/share/doc/${name}
 
 if {[variant_isset universal]} {
+    patchfiles-append   patch-universal.diff
     set merger_must_run_binaries yes
 }
 
@@ -61,6 +62,15 @@
 configure.cppflags
 configure.ldflags
 
+post-configure {
+    if {[variant_isset universal]} {
+        # Ticket #23773
+        foreach arch ${universal_archs_to_use} {
+            reinplace "s|__ARCH__|${arch}|g" ${worksrcpath}-${arch}/Makefile
+        }
+    }
+}
+
 build.type      gnu
 
 use_parallel_build  yes
@@ -68,26 +78,58 @@
 test.run        yes
 test.target     check
 
-post-build {
+post-destroot {
+    xinstall -d ${destroot}${docdir}
+    eval xinstall -m 0644 [glob ${worksrcpath}/../*.{css,html,txt}] ${destroot}${docdir}
+
     if {[variant_isset universal]} {
-        set dirs {}
+        # Ticket #23773
         foreach arch ${universal_archs_to_use} {
-            lappend dirs ${worksrcpath}-${arch}
+            reinplace "s|/Makefile.inc|/Makefile-${arch}.inc|g" ${destroot}${prefix}/bin/icu-config-${arch}
+            reinplace "s|/pkgdata.inc|/pkgdata-${arch}.inc|g" ${destroot}${prefix}/bin/icu-config-${arch}
         }
-    } else {
-        set dirs ${worksrcpath}
+        ln -s current/Makefile.inc ${destroot}${prefix}/lib/icu/Makefile.inc
+        ln -s current/pkgdata.inc ${destroot}${prefix}/lib/icu/pkgdata.inc
     }
-    foreach dir ${dirs} {
-        reinplace -E {s|-arch [a-z0-9_]+||g} \
-            ${dir}/config/icu-config \
-            ${dir}/config/Makefile.inc \
-            ${dir}/config/pkgdata.inc
+}
+
+post-activate {
+    if {[variant_isset universal]} {
+        # Ticket #23773
+        set a ${configure.build_arch}
+        if {$a == "ppc64"} {
+            if {![file exists ${prefix}/bin/icu-config-${a}]} {
+                set a "ppc"
+            }
+        } elseif {$a == "x86_64"} {
+            if {![file exists ${prefix}/bin/icu-config-${a}]} {
+                set a "i386"
+                if {![file exists ${prefix}/bin/icu-config-${a}]} {
+                    set a "ppc"
+                }
+            }
+        } elseif {$a == "i386"} {
+            if {![file exists ${prefix}/bin/icu-config-${a}]} {
+                set a "ppc"
+            }
+        }
+        foreach {p q} [list "${prefix}/bin/icu-config-${a}" "${prefix}/bin/icu-config" \
+                            "${prefix}/lib/icu/${version}/Makefile-${a}.inc" "${prefix}/lib/icu/${version}/Makefile.inc" \
+                            "${prefix}/lib/icu/${version}/pkgdata-${a}.inc" "${prefix}/lib/icu/${version}/pkgdata.inc"] {
+            ln -s ${p} ${q}
+        }
     }
 }
 
-post-destroot {
-    xinstall -d ${destroot}${docdir}
-    eval xinstall -m 0644 [glob ${worksrcpath}/../*.{css,html,txt}] ${destroot}${docdir}
+post-deactivate {
+    if {[variant_isset universal]} {
+        # Ticket #23773
+        foreach f [list "${prefix}/bin/icu-config" \
+                        "${prefix}/lib/icu/${version}/Makefile.inc" \
+                        "${prefix}/lib/icu/${version}/pkgdata.inc"] {
+            delete ${f}
+        }
+    }
 }
 
 # The official doc archive seems to be a bit incomplete.
