From f8a72ab5b06476f3ac7f033f5f31bf213bf917fc Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 29 Mar 2024 12:11:06 +0100 Subject: [PATCH] gurobi, python312Packages.gurobipy: 9.5.1 -> 11.0.1 --- .../science/math/gurobi/default.nix | 6 +-- .../gurobipy/{darwin.nix => default.nix} | 6 +++ .../python-modules/gurobipy/linux.nix | 29 ------------- .../gurobipy/no-clever-setup.patch | 41 ------------------- pkgs/top-level/all-packages.nix | 4 +- pkgs/top-level/python-packages.nix | 7 +--- 6 files changed, 11 insertions(+), 82 deletions(-) rename pkgs/development/python-modules/gurobipy/{darwin.nix => default.nix} (74%) delete mode 100644 pkgs/development/python-modules/gurobipy/linux.nix delete mode 100644 pkgs/development/python-modules/gurobipy/no-clever-setup.patch diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix index 35b9e9d7a8d4..53091e6a84e5 100644 --- a/pkgs/applications/science/math/gurobi/default.nix +++ b/pkgs/applications/science/math/gurobi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "gurobi"; - version = "9.5.1"; + version = "11.0.1"; src = fetchurl { url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz"; - sha256 = "sha256-+oKFnTPwj7iuudpmsPvZFxjtVzxTT1capSNyyd64kdo="; + hash = "sha256-oZ7Oz22e4k6cVF3TDFxp/pE+RuU+3p/CatTWj1ci5ZY="; }; sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64"; @@ -52,6 +52,6 @@ stdenv.mkDerivation rec { ]; license = licenses.unfree; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ wegank ]; }; } diff --git a/pkgs/development/python-modules/gurobipy/darwin.nix b/pkgs/development/python-modules/gurobipy/default.nix similarity index 74% rename from pkgs/development/python-modules/gurobipy/darwin.nix rename to pkgs/development/python-modules/gurobipy/default.nix index ec74f46c180a..7793009abe96 100644 --- a/pkgs/development/python-modules/gurobipy/darwin.nix +++ b/pkgs/development/python-modules/gurobipy/default.nix @@ -11,14 +11,20 @@ let pyShortVersion = "cp" + builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion; platforms = rec { aarch64-darwin = "macosx_10_9_universal2"; + aarch64-linux = "manylinux2014_aarch64.manylinux_2_17_aarch64"; x86_64-darwin = aarch64-darwin; + x86_64-linux = "manylinux2014_x86_64.manylinux_2_17_x86_64"; }; platform = platforms.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); hashes = rec { cp311-aarch64-darwin = "sha256-pMwq4TXvr0mrKxZppeW2MQE/KrplWWFGmjKRLKwbHCI="; + cp311-aarch64-linux = "sha256-fxJSQUt+nk7JBGtkDi+qTl/js0hnWGZGyht4AqD9g60="; cp311-x86_64-darwin = cp311-aarch64-darwin; + cp311-x86_64-linux = "sha256-q1nmuWmlDPeNWWw4bX3KECOChNQkwU+6hItYqWcyY4M="; cp312-aarch64-darwin = "sha256-5+1QxYOhjbs01S3gqhkQ9Bx/0/NhbXEi710BGpiC5kM="; + cp312-aarch64-linux = "sha256-N7cFtibenj+SrZ7ZtevZtDUdW48DnLC4p5jB9vrWlb8="; cp312-x86_64-darwin = cp312-aarch64-darwin; + cp312-x86_64-linux = "sha256-Aw5xxvCwdgfdT7HMrWT/jKWx3RDjs8IuB4in0ZGdqcw="; }; hash = hashes."${pyShortVersion}-${stdenv.system}" diff --git a/pkgs/development/python-modules/gurobipy/linux.nix b/pkgs/development/python-modules/gurobipy/linux.nix deleted file mode 100644 index a7c519406e74..000000000000 --- a/pkgs/development/python-modules/gurobipy/linux.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, buildPythonPackage, python, gurobi }: - -buildPythonPackage { - pname = "gurobipy"; - version = "9.1.2"; - - src = gurobi.src; - - setSourceRoot = "sourceRoot=$(echo gurobi*/*64)"; - - patches = [ ./no-clever-setup.patch ]; - - postInstall = '' - mv lib/libgurobi*.so* $out/lib - ''; - - postFixup = '' - patchelf --set-rpath $out/lib \ - $out/${python.sitePackages}/gurobipy/gurobipy.so - ''; - - meta = with lib; { - description = "The Gurobi Python interface"; - homepage = "https://www.gurobi.com"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.unfree; - platforms = [ "x86_64-linux" ]; - }; -} diff --git a/pkgs/development/python-modules/gurobipy/no-clever-setup.patch b/pkgs/development/python-modules/gurobipy/no-clever-setup.patch deleted file mode 100644 index bcb43a4707bf..000000000000 --- a/pkgs/development/python-modules/gurobipy/no-clever-setup.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -Naur a/setup.py b/setup.py ---- a/setup.py 2021-04-24 12:53:18.300255006 -0500 -+++ b/setup.py 2021-04-24 12:47:51.619052574 -0500 -@@ -15,29 +15,6 @@ - from distutils.command.install import install - import os,sys,shutil - --class GurobiClean(Command): -- description = "remove the build directory" -- user_options = [] -- def initialize_options(self): -- self.cwd = None -- def finalize_options(self): -- self.cwd = os.path.dirname(os.path.realpath(__file__)) -- def run(self): -- build_dir = os.path.join(os.getcwd(), "build") -- if os.path.exists(build_dir): -- print('removing %s' % build_dir) -- shutil.rmtree(build_dir) -- --class GurobiInstall(install): -- -- # Calls the default run command, then deletes the build area -- # (equivalent to "setup clean --all"). -- def run(self): -- install.run(self) -- c = GurobiClean(self.distribution) -- c.finalize_options() -- c.run() -- - License = """ - This software is covered by the Gurobi End User License Agreement. - By completing the Gurobi installation process and using the software, -@@ -78,7 +55,5 @@ - packages = ['gurobipy'], - package_dir={'gurobipy' : srcpath }, - package_data = {'gurobipy' : [srcfile] }, -- cmdclass={'install' : GurobiInstall, -- 'clean' : GurobiClean } - ) - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8fbc09e2afac..dd940c1db9a3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -38518,9 +38518,7 @@ with pkgs; getdp = callPackage ../applications/science/math/getdp { }; - gurobi = callPackage ../applications/science/math/gurobi { - python3 = python310; - }; + gurobi = callPackage ../applications/science/math/gurobi { }; jags = callPackage ../applications/science/math/jags { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3cc1a4a793e6..7f9963ae8b56 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5124,12 +5124,7 @@ self: super: with self; { guppy3 = callPackage ../development/python-modules/guppy3 { }; - gurobipy = if stdenv.hostPlatform.isDarwin then - callPackage ../development/python-modules/gurobipy/darwin.nix { } - else if stdenv.hostPlatform.system == "x86_64-linux" then - callPackage ../development/python-modules/gurobipy/linux.nix { } - else - throw "gurobipy not yet supported on ${stdenv.hostPlatform.system}"; + gurobipy = callPackage ../development/python-modules/gurobipy { }; guzzle-sphinx-theme = callPackage ../development/python-modules/guzzle-sphinx-theme { };