Opened 12 years ago

Closed 10 years ago

#16744 closed defect (fixed)

Allow universal builds in clucene, cyrus-sasl2, gpgme, flac, pth, boost and cdparanoia

Reported by: illogical1@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: universal build Cc: mf2k (Frank Schima)
Port: clucene cyrus-sasl2 gpgme flac pth boost cdparanoia

Description (last modified by illogic-al@…)

The attached diffs allow universal compilation with the ports listed above

Attachments (8)

apple-gcc42_build_universal_build_flac.diff (620 bytes) - added by illogical1@… 12 years ago.
flac Portfile patch to allow universal compiling
apple-gcc42_build_universal_build_pth.diff (673 bytes) - added by illogical1@… 12 years ago.
pth Portfile patch to allow universal compiling
universal_build_clucene.diff (637 bytes) - added by illogical1@… 12 years ago.
clucene Portfile patch to allow universal compiling
universal_build_cyrus-sasl2.diff (639 bytes) - added by illogical1@… 12 years ago.
cyrus-sasl2 Portfile patch to allow universal compiling
universal_build_gpgme.diff (507 bytes) - added by illogical1@… 12 years ago.
gpgme Portfile patch to allow universal compiling
universal_build_boost-jam.diff (800 bytes) - added by illogical1@… 12 years ago.
Add boost-jam patch from ticket 14064
universal_build_boost.diff (716 bytes) - added by illogical1@… 12 years ago.
Add boost patch from ticket 14064
universal_build_cdparanioa.diff (768 bytes) - added by illogical1@… 12 years ago.
For cdparanoia

Download all attachments as: .zip

Change History (18)

Changed 12 years ago by illogical1@…

flac Portfile patch to allow universal compiling

Changed 12 years ago by illogical1@…

pth Portfile patch to allow universal compiling

Changed 12 years ago by illogical1@…

clucene Portfile patch to allow universal compiling

Changed 12 years ago by illogical1@…

cyrus-sasl2 Portfile patch to allow universal compiling

Changed 12 years ago by illogical1@…

Attachment: universal_build_gpgme.diff added

gpgme Portfile patch to allow universal compiling

Changed 12 years ago by illogical1@…

Add boost-jam patch from ticket 14064

Changed 12 years ago by illogical1@…

Attachment: universal_build_boost.diff added

Add boost patch from ticket 14064

Changed 12 years ago by illogical1@…

For cdparanoia

comment:1 Changed 12 years ago by illogical1@…

cdparanoia portfile probably doesn't need the configure.xxx bits

comment:2 Changed 12 years ago by blb@…

FYI, a slightly different method for handling cyrus-sasl2 is in #14132.

comment:3 Changed 12 years ago by illogic-al@…

I've been checking these and, for the ones I've checked so far, they are also valid on 10.5 when compiling with gcc 4.2 against the 10.4 SDK. When I made these patches I was compiling on 10.4 with gcc 4.2 against the 10.4 SDK. I think it's safe to say that regardless of the darwin platform issues exist. I intend to fix the ports which have no/openmantainers and poke those necessary for the others. cyrus-sasl and boost not included.

comment:4 Changed 12 years ago by illogic-al@…

Sample error when attempting to compile universal gpgpme.

 --->  Building gpgme with target all
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macpor
ts/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gpgm
e/work/gpgme-1.1.6" && make all " returned error 2
Command output:       _print_data in t-encrypt.o
      _print_data in t-encrypt.o
      _main in t-encrypt.o
      _main in t-encrypt.o
      _main in t-encrypt.o
      _main in t-encrypt.o
      _main in t-encrypt.o
      _main in t-encrypt.o
  "_gpgme_data_release", referenced from:
      _main in t-encrypt.o
      _main in t-encrypt.o
  "_gpgme_get_key", referenced from:
      _main in t-encrypt.o
      _main in t-encrypt.o
  "_gpgme_key_unref", referenced from:
      _main in t-encrypt.o
      _main in t-encrypt.o
  "_gpgme_data_seek", referenced from:
      _print_data in t-encrypt.o
  "_gpgme_op_encrypt_result", referenced from:
      _main in t-encrypt.o
  "_gpgme_data_read", referenced from:
      _print_data in t-encrypt.o
ld: symbol(s) not found for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccegsHWW.out (No such file or directory)
make[3]: *** [t-encrypt] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

comment:5 Changed 12 years ago by illogic-al@…

Description: modified (diff)
Port: boost cdparanoia added
Summary: Allow universal builds in clucene, cyrus-sasl2, gpgme, flac, pthAllow universal builds in clucene, cyrus-sasl2, gpgme, flac, pth, boost and cdparanoia

And another one for google. This time the pth port.

--->  Building pth with target all
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_pth/work/pth-2.0.7" && make all " returned error 2Command output:       _main in test_std.o      _main in test_std.o  "_pth_attr_new", referenced from:      _main in test_std.o
  "_pth_join", referenced from:      _main in test_std.o
      _main in test_std.o
      _t2_func in test_std.o
  "_pth_key_getdata", referenced from:
      _pth_readline_ev in test_common.o
  "_pth_init", referenced from:
      _main in test_std.o
      _main in test_std.o
  "_pth_spawn", referenced from:
      _main in test_std.o
      _main in test_std.o
      _t2_func in test_std.o
  "_pth_read_ev", referenced from:
      _pth_readline_ev in test_common.o  "_pth_yield", referenced from:
      _t1_func in test_std.o
      _t1_func in test_std.o  "_pth_version", referenced from:      _main in test_std.o  "_pth_attr_destroy", referenced from:      _main in test_std.old: symbol(s) not found for architecture ppccollect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccQlxuku.out (No such file or directory)make: *** [test_std] Error 1

Error: The following dependencies failed to build: pth

comment:6 Changed 12 years ago by mf2k (Frank Schima)

Cc: macsforever2000@… added

Cc Me!

comment:7 Changed 12 years ago by illogic-al@…

Updated for new cyrus-sasl2

Index: ../security/cyrus-sasl2/Portfile
===================================================================
--- ../security/cyrus-sasl2/Portfile	(revision 49527)
+++ ../security/cyrus-sasl2/Portfile	(working copy)
@@ -4,6 +4,7 @@
 
 name			cyrus-sasl2
 version			2.1.22
+revision		1
 categories		security net
 maintainers		jmpp landonf
 description		SASL is an authentication library.
@@ -44,8 +45,6 @@
 
 use_parallel_build  yes
 
-universal_variant no
-
 # This is a start towards universal... lib/Makefile.am and sasldb/Makefile.am need to be updated to not do blind ar-fu
 #depends_build \
 #	port:autoconf \
@@ -100,6 +99,16 @@
 
 variant static description "Build static library" { configure.args-append --enable-static }
 
+variant universal {
+    post-configure {
+        reinplace "s|^\\(archive_cmds\=\"\\\\\$CC\\)|\\1 \
+        -Wl,-syslibroot,$sysroot ${configure.universal_ldflags} \
+        -mmacosx-version-min=10.4 |g" ${worksrcpath}/libtool
+        # Only if compiling using 10.4 SDK on 10.5. Need to find proper fix
+         reinplace "s|#include <gssapi.h>|#include <gssapi/gssapi.h>|" ${worksrcpath}/plugins/gssapi.c
+    }   
+}
+
 livecheck.check regex
 livecheck.url   http://ftp.andrew.cmu.edu/pub/cyrus-mail/
 livecheck.regex {cyrus-sasl-(\d+(?:\.\d+)*)}

comment:8 Changed 12 years ago by illogic-al@…

Two things a) the binaries generated from that patch don't work (ppc portion missing libs) and b) using the portgroup are so much easier.

Index: Source/macports-trunk/dports/security/cyrus-sasl2/Portfile
===================================================================
--- Source/macports-trunk/dports/security/cyrus-sasl2/Portfile	(revision 49527)
+++ Source/macports-trunk/dports/security/cyrus-sasl2/Portfile	(working copy)
@@ -1,9 +1,11 @@
 # $Id$
 
 PortSystem	1.0
+PortGroup   muniversal 1.0
 
 name			cyrus-sasl2
 version			2.1.22
+revision		1
 categories		security net
 maintainers		jmpp landonf
 description		SASL is an authentication library.
@@ -44,8 +46,6 @@
 
 use_parallel_build  yes
 
-universal_variant no
-
 # This is a start towards universal... lib/Makefile.am and sasldb/Makefile.am need to be updated to not do blind ar-fu
 #depends_build \
 #	port:autoconf \

comment:9 Changed 12 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:10 Changed 10 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

AFAICT these all build universal now.

Note: See TracTickets for help on using tickets.