[104770] trunk/dports/databases/oracle-instantclient/Portfile
ryandesign at macports.org
ryandesign at macports.org
Tue Apr 2 05:21:34 PDT 2013
Revision: 104770
https://trac.macports.org/changeset/104770
Author: ryandesign at macports.org
Date: 2013-04-02 05:21:34 -0700 (Tue, 02 Apr 2013)
Log Message:
-----------
oracle-instantclient: add rpath on Leopard and up so that setting DYLD_LIBRARY_PATH is no longer necessary (#38626)
Modified Paths:
--------------
trunk/dports/databases/oracle-instantclient/Portfile
Modified: trunk/dports/databases/oracle-instantclient/Portfile
===================================================================
--- trunk/dports/databases/oracle-instantclient/Portfile 2013-04-02 12:14:25 UTC (rev 104769)
+++ trunk/dports/databases/oracle-instantclient/Portfile 2013-04-02 12:21:34 UTC (rev 104770)
@@ -19,6 +19,9 @@
if {"powerpc" == ${os.arch}} {
epoch 1
version 10.1.0.3
+ if {${os.major} > 8} {
+ revision 1
+ }
set library_version 10.1
supported_archs ppc
universal_variant no
@@ -40,6 +43,7 @@
livecheck.type none
} else {
version 11.2.0.3.0
+ revision 1
set library_version 11.1
supported_archs x86_64 i386
variant universal {}
@@ -135,11 +139,8 @@
set lib_dir ${prefix}/lib/oracle
build {
- # Oracle builds the libraries with strange install_names, which we fix, for
- # neatness. Unfortunately users must still set DYLD_LIBRARY_PATH in their
- # environment because one of the libraries, libociei, is dynamically loaded
- # at runtime rather than being linked to.
foreach my_arch ${configure.universal_archs} {
+ # Oracle builds the libraries with strange install_names; fix them.
# For each dylib, change the directory of its install_name to ${lib_dir}.
foreach lib [glob -directory ${workpath}/build/${my_arch} *.dylib*] {
system "install_name_tool -id ${lib_dir}/[strsed ${lib} /^.*\\///] ${lib}"
@@ -151,6 +152,14 @@
system "install_name_tool -change ${dep} ${lib_dir}/[strsed ${dep} /^.*\\///] ${lib}"
}
}
+
+ # libociei is special: it's not linked to; it's dynamically loaded at
+ # runtime by libclntsh. Oracle says you have to set DYLD_LIBRARY_PATH
+ # to include ${lib_dir}, but adding an rpath works too—but rpath only
+ # exists on Leopard and newer.
+ if {${os.major} > 8 && [string match "*/libclntsh.dylib*" ${lib}]} {
+ system "install_name_tool -add_rpath ${lib_dir} ${lib}"
+ }
}
}
}
@@ -181,8 +190,15 @@
ln -s libocci.dylib.${library_version} ${destroot}${lib_dir}/libocci.dylib
}
-notes "
+if {${os.major} > 8} {
+ notes-append "
+If you previously set DYLD_LIBRARY_PATH=${lib_dir} in your environment,\
+you can remove it\; it is no longer needed with this version of ${name}.
+"
+} else {
+ notes-append "
To use ${name}, add this command to your environment:
export DYLD_LIBRARY_PATH=${lib_dir}
"
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130402/d8caee20/attachment.html>
More information about the macports-changes
mailing list