about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2018-04-29 22:32:41 +0000
committerGitHub <noreply@github.com>2018-04-29 22:32:41 +0000
commitd917b5adfbc23e12a18b83633b4518d21fc5ee23 (patch)
treefe763e0d1748e155e862516dbfdfd2c087dcf160 /pkgs
parent1c380fd6eb3f8041db935de2704386566cc009b3 (diff)
parentcdfa85c599a2d0fbc3288e6245564c91d8ac1a92 (diff)
Merge pull request #39408 from timokau/cddlib-094i
cddlib: 0.94h -> 0.94i, add cdd_both_reps binary
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/cddlib/default.nix44
1 files changed, 38 insertions, 6 deletions
diff --git a/pkgs/development/libraries/cddlib/default.nix b/pkgs/development/libraries/cddlib/default.nix
index 818eb6db8c690..ee56b50e1da56 100644
--- a/pkgs/development/libraries/cddlib/default.nix
+++ b/pkgs/development/libraries/cddlib/default.nix
@@ -1,17 +1,49 @@
-{stdenv, fetchurl, gmp}:
+{ stdenv
+, fetchurl
+, fetchpatch
+, gmp
+, autoreconfHook
+}:
+
 stdenv.mkDerivation rec {
   name = "cddlib-${version}";
-  fileVersion = "094h";
-  version = "0.94h";
-  src = fetchurl {
+  version = "0.94i";
+  src = let
+    fileVersion = stdenv.lib.replaceStrings ["."] [""] version;
+  in fetchurl {
+    # Might switch to github in the future, see
+    # https://trac.sagemath.org/ticket/21952#comment:20
     urls = [
       "http://archive.ubuntu.com/ubuntu/pool/universe/c/cddlib/cddlib_${fileVersion}.orig.tar.gz"
       "ftp://ftp.math.ethz.ch/users/fukudak/cdd/cddlib-${fileVersion}.tar.gz"
     ];
-    name = "";
-    sha256 = "1dasasscwfg793q8fwzgwf64xwj7w62yfvszpr8x8g38jka08vgy";
+    sha256 = "00zdgiqb91vx6gd2103h3ijij0llspsxc6zz3iw2bll39fvkl4xq";
   };
   buildInputs = [gmp];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  # compute reduced H and V representation of polytope
+  # this patch is included by most distributions (Debian, Conda, ArchLinux, SageMath)
+  # proposed upstream (no answer yet): https://github.com/cddlib/cddlib/pull/3
+  both_reps_c = (fetchurl {
+    name = "cdd_both_reps.c";
+    url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/cddlib/files/cdd_both_reps.c?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d";
+    sha256 = "0r9yc5bgiz8i72c6vsn2y2mjk5581iw94gji9v7lg16kzzgrk9x0";
+  });
+  preAutoreconf = ''
+    # Required by sage.geometry.polyhedron
+    cp ${both_reps_c} src/cdd_both_reps.c
+    cp ${both_reps_c} src-gmp/cdd_both_reps.c
+  '';
+  patches = [
+    # add the cdd_both_reps binary
+    (fetchpatch {
+      name = "add-cdd_both_reps-binary.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/cddlib/files/cddlib-094h-add-cdd_both_reps-binary.patch?id=78e3a61a68c916450aa4e5ceecd20041583af901";
+      sha256 = "162ni2fr7dpbdkz0b5nizxq7qr5k1i1d75g0smiylpzfb0hb761a";
+    })
+  ];
   meta = {
     inherit version;
     description = ''An implementation of the Double Description Method for generating all vertices of a convex polyhedron'';