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

Reply via email to