gurobipy: Use buildPythonPackage on Darwin.
This commit is contained in:
parent
03e10f8535
commit
c6c05dd255
@ -1,26 +1,24 @@
|
|||||||
{ stdenv, fetchurl, python, xar, cpio, cctools, insert_dylib }:
|
{ fetchurl, python, xar, cpio, cctools, insert_dylib }:
|
||||||
assert python.pkgs.isPy27 && python.ucsEncoding == 2;
|
assert python.pkgs.isPy27 && python.ucsEncoding == 2;
|
||||||
stdenv.mkDerivation
|
python.pkgs.buildPythonPackage
|
||||||
{ name = "gurobipy-7.0.2";
|
{ name = "gurobipy-7.0.2";
|
||||||
src = fetchurl
|
src = fetchurl
|
||||||
{ url = "http://packages.gurobi.com/7.0/gurobi7.0.2_mac64.pkg";
|
{ url = "http://packages.gurobi.com/7.0/gurobi7.0.2_mac64.pkg";
|
||||||
sha256 = "14dpxas6gx02kfb28i0fh68p1z4sbjmwg8hp8h5ch6c701h260mg";
|
sha256 = "14dpxas6gx02kfb28i0fh68p1z4sbjmwg8hp8h5ch6c701h260mg";
|
||||||
};
|
};
|
||||||
buildInputs = [ xar cpio cctools insert_dylib ];
|
buildInputs = [ xar cpio cctools insert_dylib ];
|
||||||
buildCommand =
|
unpackPhase =
|
||||||
''
|
''
|
||||||
# Unpack
|
|
||||||
xar -xf $src
|
xar -xf $src
|
||||||
zcat gurobi*mac64tar.pkg/Payload | cpio -i
|
zcat gurobi*mac64tar.pkg/Payload | cpio -i
|
||||||
tar xf gurobi*_mac64.tar.gz
|
tar xf gurobi*_mac64.tar.gz
|
||||||
|
sourceRoot=$(echo gurobi*/*64)
|
||||||
# Install
|
runHook postUnpack
|
||||||
cd gurobi*/mac64
|
'';
|
||||||
mkdir -p $out/lib/python2.7/site-packages
|
patches = [ ./no-darwin-fixup.patch ];
|
||||||
mv lib/python2.7/gurobipy $out/lib/python2.7/site-packages
|
postInstall = "mv lib/lib*.so $out/lib";
|
||||||
mv lib/lib*.so $out/lib
|
postFixup =
|
||||||
|
''
|
||||||
# Fixup
|
|
||||||
install_name_tool -change \
|
install_name_tool -change \
|
||||||
/System/Library/Frameworks/Python.framework/Versions/2.7/Python \
|
/System/Library/Frameworks/Python.framework/Versions/2.7/Python \
|
||||||
${python}/lib/libpython2.7.dylib \
|
${python}/lib/libpython2.7.dylib \
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
diff -Naur a/setup.py b/setup.py
|
||||||
|
--- a/setup.py 2017-12-18 12:48:02.000000000 -0500
|
||||||
|
+++ b/setup.py 2017-12-18 12:48:43.000000000 -0500
|
||||||
|
@@ -54,16 +54,3 @@
|
||||||
|
package_dir={'gurobipy' : srcpath },
|
||||||
|
package_data = {'gurobipy' : [srcfile] }
|
||||||
|
)
|
||||||
|
-
|
||||||
|
-if sys.platform == 'darwin':
|
||||||
|
- from distutils.sysconfig import get_python_lib
|
||||||
|
- import subprocess
|
||||||
|
- import os.path
|
||||||
|
- sitelib = get_python_lib() + '/gurobipy/gurobipy.so'
|
||||||
|
- subprocess.call(('install_name_tool', '-change', 'libgurobi70.so', '/Library/gurobi702/mac64/lib/libgurobi70.so', sitelib)) # version for change
|
||||||
|
- default = '/System/Library/Frameworks/Python.framework/Versions/2.7/Python'
|
||||||
|
- modified = sys.prefix + '/Python'
|
||||||
|
- if default != modified:
|
||||||
|
- if not os.path.isfile(modified):
|
||||||
|
- modified = sys.prefix + '/lib/libpython2.7.dylib' # For Anaconda
|
||||||
|
- subprocess.call(('install_name_tool', '-change', default, modified, sitelib))
|
Loading…
Reference in New Issue
Block a user