OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 04-Jun-2007 10:08:01 Branch: HEAD Handle: 2007060409075901 Modified files: openpkg-src/openpkg HISTORY openpkg.spec shtool Log: improve Mac OS X support Summary: Revision Changes Path 1.455 +2 -0 openpkg-src/openpkg/HISTORY 1.590 +35 -7 openpkg-src/openpkg/openpkg.spec 1.38 +30 -5 openpkg-src/openpkg/shtool ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/openpkg/HISTORY ============================================================================ $ cvs diff -u -r1.454 -r1.455 HISTORY --- openpkg-src/openpkg/HISTORY 3 Jun 2007 09:47:55 -0000 1.454 +++ openpkg-src/openpkg/HISTORY 4 Jun 2007 08:07:59 -0000 1.455 @@ -2,6 +2,8 @@ 2007 ==== +20070604 improve Mac OS X support by providing gcc/cc/ld override scripts to pass option "-search_paths_first" to ld(1) +20070604 improve Mac OS X support by upgrading to an improved GNU shtool snapshot 20070603 disable shared library building in Perl for better supporting Mac OS X 20070603 synchronize openssl.patch with latest version from "openssl" package 20070520 fix building Perl under GCC 4.2 world order @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/openpkg.spec ============================================================================ $ cvs diff -u -r1.589 -r1.590 openpkg.spec --- openpkg-src/openpkg/openpkg.spec 3 Jun 2007 09:47:55 -0000 1.589 +++ openpkg-src/openpkg/openpkg.spec 4 Jun 2007 08:07:59 -0000 1.590 @@ -39,7 +39,7 @@ # o any cc(1) # the package version/release -%define V_openpkg 20070603 +%define V_openpkg 20070604 # the used software versions %define V_rpm 4.2.1 @@ -2417,18 +2417,20 @@ ) | %{l_prefix}/lib/openpkg/rpmtool msg -b -t warn fi - # FIXME: Evil hack to workaround build problems under Debian - # (at least 3.1) (and similar platforms) where a Debian - # install-info(8) exists which is both API and functionally - # incompatible to the de-facto standardized install-info(8) - # command from GNU Texinfo. ATTENTION: THIS SHOULD BE REPLACED - # ASAP WITH A MORE GENERIC BUILD COMMAND OVERRIDE SOLUTION! + # system command overriding support + # ATTENTION: THIS BETTER SHOULD BE REPLACED WITH A MORE GENERIC + # BUILD COMMAND OVERRIDE SOLUTION! if [ ! -d %{l_prefix}/lib/openpkg/override ]; then mkdir %{l_prefix}/lib/openpkg/override >/dev/null 2>&1 || true fi chown %{l_musr}:%{l_mgrp} %{l_prefix}/lib/openpkg/override >/dev/null 2>&1 || true case "`cat %{l_prefix}/etc/openpkg/platform`" in *-*-debian* | *-*-ubuntu* ) + # FIXME: Evil hack to workaround build problems under Debian + # (at least 3.1) (and similar platforms) where a Debian + # install-info(8) exists which is both API and functionally + # incompatible to the de-facto standardized install-info(8) + # command from GNU Texinfo. if [ ! -f %{l_prefix}/lib/openpkg/override/install-info ]; then ( echo "#!/bin/sh" echo "echo 'OpenPKG: NOTICE: install-info(8) command execution overridden'" @@ -2437,6 +2439,32 @@ chmod 775 %{l_prefix}/lib/openpkg/override/install-info fi ;; + *-*-macosx* | *-*-darwin* ) + # FIXME: Evil hack to workaround the fact that Mac OS X' + # linker by default prefers the /usr/lib libraries and does + # not honor the -L options the way one would expect it. + gcc="`%{l_prefix}/lib/openpkg/shtool path gcc`" + cc="`%{l_prefix}/lib/openpkg/shtool path cc`" + ld="`%{l_prefix}/lib/openpkg/shtool path ld`" + if [ ".$gcc" != . -a ! -f %{l_prefix}/lib/openpkg/override/gcc ]; then + ( echo "#!/bin/sh" + echo "exec $gcc -Wl,-search_paths_first \"[EMAIL PROTECTED]"" + ) >%{l_prefix}/lib/openpkg/override/gcc + chmod 775 %{l_prefix}/lib/openpkg/override/gcc + fi + if [ ".$cc" != . -a ! -f %{l_prefix}/lib/openpkg/override/cc ]; then + ( echo "#!/bin/sh" + echo "exec $cc -Wl,-search_paths_first \"[EMAIL PROTECTED]"" + ) >%{l_prefix}/lib/openpkg/override/cc + chmod 775 %{l_prefix}/lib/openpkg/override/cc + fi + if [ ".$ld" != . -a ! -f %{l_prefix}/lib/openpkg/override/ld ]; then + ( echo "#!/bin/sh" + echo "exec $ld -search_paths_first \"[EMAIL PROTECTED]"" + ) >%{l_prefix}/lib/openpkg/override/ld + chmod 775 %{l_prefix}/lib/openpkg/override/ld + fi + ;; esac # FIXME: hack to workaround problems in environments with too few @@ . patch -p0 <<'@@ .' Index: openpkg-src/openpkg/shtool ============================================================================ $ cvs diff -u -r1.37 -r1.38 shtool --- openpkg-src/openpkg/shtool 19 May 2007 19:44:13 -0000 1.37 +++ openpkg-src/openpkg/shtool 4 Jun 2007 08:08:00 -0000 1.38 @@ -2924,6 +2924,7 @@ # IBM AIX *:AIX:* ) + # determine architecture cpu_arch=rs6000 if [ -x /usr/sbin/lsdev -a -x /usr/sbin/lsattr ]; then cpu_id=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` @@ -2945,6 +2946,7 @@ AT="${cpu_arch}" AP="${AT}" AC="${AP}" + # determine system ST="[IBM ]<AIX >${os_level}" SP="${ST}" case "${os_level}" in @@ -2953,9 +2955,10 @@ esac ;; - # Apple MacOS X Darwin + # Apple Mac OS X (Darwin) *:Darwin:* ) - AT=`uname -p` + # determine architecture + AT="`uname -p`" case "${AT}" in powerpc ) AT="PPC" ;; esac @@ -2964,9 +2967,31 @@ case "${AC}" in i?86 ) AC="iX86" ;; esac - ST="[Apple ]${UNAME_SYSTEM} ${UNAME_RELEASE}" - SP="${ST}" - SC="4.4BSD/Mach3" + # determine system + eval `echo "${UNAME_RELEASE}" |\ + sed -e 's/^/#/' \ + -e 's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1"; v2="\2"; v3="\3"/' \ + -e 's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1"; v2="\2"/' \ + -e 's/^#\([0-9][0-9]*\).*$/v1="\1"/' \ + -e 's/^#.*$/v1="0"/'` + ST="[Apple ]${UNAME_SYSTEM} <${v1}>${v2+.$v2}${v3+[.$v3]}" + SP="$ST" + v="`(sw_vers) 2>/dev/null | grep 'ProductVersion:' | sed -e 's/^ProductVersion: *//'`" + if [ ".$v" != . ]; then + # use given Mac OS X product information + SP="[Apple ]Mac OS X ${v}" + else + # fetch Mac OS X product information manually + for name in System Server; do + if [ -f /System/Library/CoreServices/${name}Version.plist ]; then + v=`(defaults read "/System/Library/CoreServices/${name}Version" "ProductVersion") 2>/dev/null` + if [ ".$v" != . ]; then + SP="[Apple ]Mac OS X ${v}" + fi + fi + done + fi + SC="4.4BSD/Mach3.0" ;; # TODO ...ADD YOUR NEW PLATFORM CHECK HERE... TODO @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org