[24149] trunk/dports

source_changes at macosforge.org source_changes at macosforge.org
Tue Apr 17 09:53:05 PDT 2007


Revision: 24149
          http://trac.macosforge.org/projects/macports/changeset/24149
Author:   pipping at macports.org
Date:     2007-04-17 09:53:05 -0700 (Tue, 17 Apr 2007)

Log Message:
-----------
 * add universal variants

note regarding zlib:
 zlib's universal variant is unchanged - it can now savely be readded
 because the commands used in the portfile have been included in 1.4.2
note regarding openssl:
 the variant universal has been completely rewritten, making use of
 fs-traverse (find.c - thanks a lot, Kevin!), backup, lipo (portutil.tcl)

Modified Paths:
--------------
    trunk/dports/archivers/zlib/Portfile
    trunk/dports/devel/openssl/Portfile

Added Paths:
-----------
    trunk/dports/devel/openssl/files/patch-Makefile-universal-install
    trunk/dports/devel/openssl/files/patch-Makefiles-universal-i386
    trunk/dports/devel/openssl/files/patch-Makefiles-universal-ppc

Modified: trunk/dports/archivers/zlib/Portfile
===================================================================
--- trunk/dports/archivers/zlib/Portfile	2007-04-17 16:35:18 UTC (rev 24148)
+++ trunk/dports/archivers/zlib/Portfile	2007-04-17 16:53:05 UTC (rev 24149)
@@ -23,8 +23,12 @@
 checksums	md5 dee233bf288ee795ac96a98cc2e369b6
 
 patchfiles	patch-Makefile-static
+if {[variant_isset universal]} {
+	patchfiles-append	patch-Makefile-universal
+}
 
 configure.args	--shared
+configure.universal_args    
 
 test.run	yes
 

Modified: trunk/dports/devel/openssl/Portfile
===================================================================
--- trunk/dports/devel/openssl/Portfile	2007-04-17 16:35:18 UTC (rev 24148)
+++ trunk/dports/devel/openssl/Portfile	2007-04-17 16:53:05 UTC (rev 24149)
@@ -46,3 +46,84 @@
 livecheck.check	regex
 livecheck.url	${master_sites}
 livecheck.regex	${name}-(0.9.8\[a-z\])
+
+variant universal {
+    
+# port-specific procedure
+    proc clean {} {
+        system "make clean"
+        foreach f [glob lib*.a lib*.*.*.*.dylib] {
+            file delete ${f}
+        }
+    }
+
+# i386
+    # configure
+    pre-configure {
+        cd ${worksrcpath}
+        system "./Configure darwin-i386-cc ${configure.pre_args} ${configure.args}"
+        system "patch < ${filespath}/patch-Makefiles-universal-i386"
+        reinplace "s|^PROCESSOR=.*|PROCESSOR=|" Makefile
+    }
+    # build
+    configure {
+        cd ${worksrcpath}
+        system "make"
+    }
+    # backup, clean up
+    post-configure {
+        cd ${worksrcpath}
+        # get list of files to be backed up - only needs to be done once
+        fs-traverse file . {
+          if {![string equal [string range [file tail $file] end-1 end] .o]} {
+            set type [exec file -b $file]
+            if {[regexp {(Mach-O|ar archive)} $type]} {
+              global universal_filelist
+              lappend universal_filelist $file
+            }
+          }
+        }
+
+        backup i386
+
+        clean
+    }
+# ppc
+    # configure
+    pre-build {
+        cd ${worksrcpath}
+        system "./Configure darwin-ppc-cc ${configure.pre_args} ${configure.args}"
+        system "patch < ${filespath}/patch-Makefiles-universal-ppc"
+    }
+    # build
+    build {
+        cd ${worksrcpath}
+        system "make"
+    }
+    # backup
+    post-build {
+        cd ${worksrcpath}
+        # there's already a list of files to be backed up
+
+        global fileList
+
+        backup ppc
+
+        clean
+    }
+
+# universal
+    pre-destroot {
+        cd ${worksrcpath}
+        global fileList
+        system "make openssl.pc libssl.pc libcrypto.pc"
+        lipo
+        system "patch < ${filespath}/patch-Makefile-universal-install"
+    }
+    destroot.target     install_docs install_sw
+
+    # the test suite can only be run *after* destrooting
+    test.run            yes
+    test.dir            ${worksrcpath}/test
+    test.target         alltests
+}

Added: trunk/dports/devel/openssl/files/patch-Makefile-universal-install
===================================================================
--- trunk/dports/devel/openssl/files/patch-Makefile-universal-install	                        (rev 0)
+++ trunk/dports/devel/openssl/files/patch-Makefile-universal-install	2007-04-17 16:53:05 UTC (rev 24149)
@@ -0,0 +1,11 @@
+--- Makefile.orig	2007-04-02 05:42:04.000000000 +0200
++++ Makefile	2007-04-02 05:42:15.000000000 +0200
+@@ -475,7 +475,7 @@
+ dist_pem_h:
+ 	(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
+ 
+-install: all install_docs install_sw
++install: install_docs install_sw
+ 
+ install_sw:
+ 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \

Added: trunk/dports/devel/openssl/files/patch-Makefiles-universal-i386
===================================================================
--- trunk/dports/devel/openssl/files/patch-Makefiles-universal-i386	                        (rev 0)
+++ trunk/dports/devel/openssl/files/patch-Makefiles-universal-i386	2007-04-17 16:53:05 UTC (rev 24149)
@@ -0,0 +1,33 @@
+--- Makefile.orig	2007-04-01 18:13:46.000000000 +0200
++++ Makefile	2007-04-01 18:15:07.000000000 +0200
+@@ -60,7 +60,7 @@
+ # PKCS1_CHECK - pkcs1 tests.
+ 
+ CC= cc
+-CFLAG= -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -fomit-frame-pointer -fno-common
++CFLAG= -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -fomit-frame-pointer -fno-common -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386
+ DEPFLAG= -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_GMP -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 
+ PEX_LIBS= 
+ EX_LIBS= -L/opt/local/lib  -lz
+@@ -142,7 +142,7 @@
+ SHARED_SSL=libssl$(SHLIB_EXT)
+ SHARED_LIBS=$(SHARED_CRYPTO) $(SHARED_SSL)
+ SHARED_LIBS_LINK_EXTS=.$(SHLIB_MAJOR).dylib .dylib
+-SHARED_LDFLAGS=-dynamiclib
++SHARED_LDFLAGS=-dynamiclib -arch i386
+ 
+ GENERAL=        Makefile
+ BASENAME=       openssl
+--- Makefile.shared.orig	2007-04-01 18:16:24.000000000 +0200
++++ Makefile.shared	2007-04-01 18:16:55.000000000 +0200
+@@ -11,8 +11,8 @@
+ # LDFLAGS contains flags to be used when temporary object files (when building
+ # shared libraries) are created, or when an application is linked.
+ # SHARED_LDFLAGS contains flags to be used when the shared library is created.
+-LDFLAGS=
+-SHARED_LDFLAGS=
++LDFLAGS=-arch i386
++SHARED_LDFLAGS=-arch i386
+ 
+ # LIBNAME contains just the name of the library, without prefix ("lib"
+ # on Unix, "cyg" for certain forms under Cygwin...) or suffix (.a, .so,

Added: trunk/dports/devel/openssl/files/patch-Makefiles-universal-ppc
===================================================================
--- trunk/dports/devel/openssl/files/patch-Makefiles-universal-ppc	                        (rev 0)
+++ trunk/dports/devel/openssl/files/patch-Makefiles-universal-ppc	2007-04-17 16:53:05 UTC (rev 24149)
@@ -0,0 +1,33 @@
+--- Makefile.orig	2007-04-01 18:13:46.000000000 +0200
++++ Makefile	2007-04-01 18:15:07.000000000 +0200
+@@ -60,7 +60,7 @@
+ # PKCS1_CHECK - pkcs1 tests.
+ 
+ CC= cc
+-CFLAG= -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -DB_ENDIAN
++CFLAG= -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -DB_ENDIAN -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc
+ DEPFLAG= -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_GMP -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 
+ PEX_LIBS= 
+ EX_LIBS= -L/opt/local/lib  -lz
+@@ -142,7 +142,7 @@
+ SHARED_SSL=libssl$(SHLIB_EXT)
+ SHARED_LIBS=$(SHARED_CRYPTO) $(SHARED_SSL)
+ SHARED_LIBS_LINK_EXTS=.$(SHLIB_MAJOR).dylib .dylib
+-SHARED_LDFLAGS=-dynamiclib
++SHARED_LDFLAGS=-dynamiclib -arch ppc
+ 
+ GENERAL=        Makefile
+ BASENAME=       openssl
+--- Makefile.shared.orig	2007-04-01 18:16:24.000000000 +0200
++++ Makefile.shared	2007-04-01 18:16:55.000000000 +0200
+@@ -11,8 +11,8 @@
+ # LDFLAGS contains flags to be used when temporary object files (when building
+ # shared libraries) are created, or when an application is linked.
+ # SHARED_LDFLAGS contains flags to be used when the shared library is created.
+-LDFLAGS=-arch i386
+-SHARED_LDFLAGS=-arch i386
++LDFLAGS=-arch ppc
++SHARED_LDFLAGS=-arch ppc
+ 
+ # LIBNAME contains just the name of the library, without prefix ("lib"
+ # on Unix, "cyg" for certain forms under Cygwin...) or suffix (.a, .so,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070417/93154fe7/attachment.html


More information about the macports-changes mailing list