From c6c05dd2553f51d3ddd1070ab9ac118022316864 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 18 Dec 2017 13:07:41 -0500 Subject: gurobipy: Use buildPythonPackage on Darwin. --- .../development/python-modules/gurobipy/darwin.nix | 22 ++++++++++------------ .../python-modules/gurobipy/no-darwin-fixup.patch | 20 ++++++++++++++++++++ 2 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 pkgs/development/python-modules/gurobipy/no-darwin-fixup.patch 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)) -- cgit 1.4.1