diff options
author | Shea Levy <shea.levy@target.com> | 2017-12-18 13:07:41 -0500 |
---|---|---|
committer | Shea Levy <shea.levy@target.com> | 2017-12-18 13:07:41 -0500 |
commit | c6c05dd2553f51d3ddd1070ab9ac118022316864 (patch) | |
tree | 3811a7568c00f68c30ffedf706faddc3bcbf409e /pkgs/development/python-modules | |
parent | 03e10f8535899841e05120cce7f4979973150e05 (diff) | |
download | nixlib-c6c05dd2553f51d3ddd1070ab9ac118022316864.tar nixlib-c6c05dd2553f51d3ddd1070ab9ac118022316864.tar.gz nixlib-c6c05dd2553f51d3ddd1070ab9ac118022316864.tar.bz2 nixlib-c6c05dd2553f51d3ddd1070ab9ac118022316864.tar.lz nixlib-c6c05dd2553f51d3ddd1070ab9ac118022316864.tar.xz nixlib-c6c05dd2553f51d3ddd1070ab9ac118022316864.tar.zst nixlib-c6c05dd2553f51d3ddd1070ab9ac118022316864.zip |
gurobipy: Use buildPythonPackage on Darwin.
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r-- | pkgs/development/python-modules/gurobipy/darwin.nix | 22 | ||||
-rw-r--r-- | pkgs/development/python-modules/gurobipy/no-darwin-fixup.patch | 20 |
2 files changed, 30 insertions, 12 deletions
diff --git a/pkgs/development/python-modules/gurobipy/darwin.nix b/pkgs/development/python-modules/gurobipy/darwin.nix index 9d7374bd5bd4..f5f06058fc75 100644 --- a/pkgs/development/python-modules/gurobipy/darwin.nix +++ b/pkgs/development/python-modules/gurobipy/darwin.nix @@ -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; -stdenv.mkDerivation +python.pkgs.buildPythonPackage { name = "gurobipy-7.0.2"; src = fetchurl { url = "http://packages.gurobi.com/7.0/gurobi7.0.2_mac64.pkg"; sha256 = "14dpxas6gx02kfb28i0fh68p1z4sbjmwg8hp8h5ch6c701h260mg"; }; buildInputs = [ xar cpio cctools insert_dylib ]; - buildCommand = + unpackPhase = '' - # Unpack xar -xf $src zcat gurobi*mac64tar.pkg/Payload | cpio -i tar xf gurobi*_mac64.tar.gz - - # Install - cd gurobi*/mac64 - mkdir -p $out/lib/python2.7/site-packages - mv lib/python2.7/gurobipy $out/lib/python2.7/site-packages - mv lib/lib*.so $out/lib - - # Fixup + sourceRoot=$(echo gurobi*/*64) + runHook postUnpack + ''; + patches = [ ./no-darwin-fixup.patch ]; + postInstall = "mv lib/lib*.so $out/lib"; + postFixup = + '' install_name_tool -change \ /System/Library/Frameworks/Python.framework/Versions/2.7/Python \ ${python}/lib/libpython2.7.dylib \ diff --git a/pkgs/development/python-modules/gurobipy/no-darwin-fixup.patch b/pkgs/development/python-modules/gurobipy/no-darwin-fixup.patch new file mode 100644 index 000000000000..c1ed8cb48886 --- /dev/null +++ b/pkgs/development/python-modules/gurobipy/no-darwin-fixup.patch @@ -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)) |