[65766] trunk/dports/lang/ruby/Portfile

kimuraw at macports.org kimuraw at macports.org
Wed Mar 31 06:41:14 PDT 2010


Revision: 65766
          http://trac.macports.org/changeset/65766
Author:   kimuraw at macports.org
Date:     2010-03-31 06:41:13 -0700 (Wed, 31 Mar 2010)
Log Message:
-----------
lang/ruby: fix #24240
    ruby +universal does not contain universal binary *.bundle modules

    * use PortGroup muniversal not use_parallel_build
    * directory layout of port:ruby +universal
        universal binary
          - bin/
          - lib/libruby*.dylib, libruby-static.a
        single architecture modules and headers, such as ruby.h or config.h
          - lib/ruby/[1.8|site_ruby/1.8|vendor_ruby/1.8]/i686-apple-darwin*/
          -                                             /i386-apple-darwin*/
          -                                             /ppc-apple-darwin*/
        pure ruby libraries
          - lib/ruby/[1.8|site_ruby/1.8|vendor_ruby/1.8]/

Modified Paths:
--------------
    trunk/dports/lang/ruby/Portfile

Modified: trunk/dports/lang/ruby/Portfile
===================================================================
--- trunk/dports/lang/ruby/Portfile	2010-03-31 13:29:51 UTC (rev 65765)
+++ trunk/dports/lang/ruby/Portfile	2010-03-31 13:41:13 UTC (rev 65766)
@@ -1,10 +1,11 @@
 # $Id$
 
-PortSystem 1.0
+PortSystem		1.0
+PortGroup		muniversal 1.0
 
 name			ruby
 version			1.8.7-p249
-revision		1
+revision		2
 
 categories		lang ruby
 maintainers		kimuraw
@@ -59,7 +60,7 @@
 # http://chopine.be/lrz/ruby-osx-patches/ignore-gsetcontext.diff
 patchfiles-append patch-node.h.diff
 
-use_parallel_build		yes
+use_parallel_build		no
 
 configure.args	--enable-shared \
 				--mandir="${prefix}/share/man" \
@@ -69,7 +70,32 @@
 # ignore minor version for archdir, like i686-darwin9
 configure.env	UNAME_RELEASE=${os.major}
 
-if {![variant_isset universal] && [info exists build_arch] && $build_arch != ""} {
+if {[variant_isset universal]} {
+	# NOTE: directory layout of port:ruby +universal
+	#   universal binary
+	#     - bin/
+	#     - lib/libruby*.dylib, libruby-static.a
+	#   single architecture modules and headers, such as ruby.h or config.h
+	#     - lib/ruby/[1.8|site_ruby/1.8|vendor_ruby/1.8]/i686-apple-darwin*/
+	#     -                                             /i386-apple-darwin*/
+	#     -                                             /ppc-apple-darwin*/
+	#   pure ruby libraries
+	#     - lib/ruby/[1.8|site_ruby/1.8|vendor_ruby/1.8]/
+	foreach arch ${universal_archs} {
+		append merger_configure_env(${arch}) "ARCH_FLAG=\"-arch ${arch}\" "
+		# force environment "ac_cv_build" to specify locations of extension
+		# modules(*.bundle), headers(ruby.h, config.h, ..) and rbconfig.rb.
+		# like this:
+		#   i386   -> ${prefix}/lib/ruby/1.8/i386-apple-darwin10/
+		#   x86_64 ->                       /i686-apple-darwin10/
+		set cpu_type ${arch}
+		if {${cpu_type} == "x86_64"} {
+			set cpu_type i686
+		}
+		append merger_configure_env(${arch}) \
+			"ac_cv_build=\"${cpu_type}-apple-darwin${os.major}\" "
+	}
+} elseif {[info exists build_arch] && ${build_arch} != ""} {
 	configure.env-append ARCH_FLAG="-arch ${build_arch}"
 }
 
@@ -96,11 +122,6 @@
 	}
 }
 
-variant universal {
-	configure.args-delete --disable-dependency-tracking
-	build.target-append  EXTLDFLAGS="${configure.universal_ldflags}" CFLAGS="${configure.universal_cflags}"	
-}
-
 platform darwin {
 	# for proper rdoc/ri creation, make sure to link to destroot libruby.dylib
 	destroot.env	DYLD_LIBRARY_PATH=${destroot}${prefix}/lib
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100331/56b868fa/attachment-0001.html>


More information about the macports-changes mailing list