summary refs log tree commit diff
path: root/pkgs/tools/misc/mprime/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/mprime/default.nix')
-rw-r--r--pkgs/tools/misc/mprime/default.nix21
1 files changed, 10 insertions, 11 deletions
diff --git a/pkgs/tools/misc/mprime/default.nix b/pkgs/tools/misc/mprime/default.nix
index 3ef039507d4e..556d21ee2fc7 100644
--- a/pkgs/tools/misc/mprime/default.nix
+++ b/pkgs/tools/misc/mprime/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, pkgconfig, curl }:
+{ stdenv, lib, fetchurl, unzip, curl, hwloc, gmp }:
 
 let
   srcDir =
@@ -14,25 +14,24 @@ let
     else throwSystem;
 in
 
-stdenv.mkDerivation {
-  name = "mprime-28.7";
+stdenv.mkDerivation rec {
+  name = "mprime-${version}";
+  version = "29.4b7";
 
   src = fetchurl {
-    url = http://www.mersenne.org/ftp_root/gimps/p95v287.source.zip;
-    sha256 = "1k3gxhs3g8hfghzpmidhcwpwyayj8r83v8zjai1z4xgsql4jwby1";
+    url = "http://www.mersenne.org/ftp_root/gimps/p95v${lib.replaceStrings ["."] [""] version}.source.zip";
+    sha256 = "0idaqm46m4yis7vl014scx57lpccvjbnyy79gmj8caxghyajws0m";
   };
 
-  unpackCmd = "unzip -d src -q $curSrc";
+  unpackCmd = "unzip -d src -q $curSrc || true";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ unzip curl ];
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ curl hwloc gmp ];
 
   patches = [ ./makefile.patch ];
 
   buildPhase = ''
     make -C gwnum -f ${gwnum}
-    echo 'override CFLAGS := $(CFLAGS)' $(pkg-config --cflags libcurl) >> ${srcDir}/makefile
-    echo 'override LIBS := $(LIBS)' $(pkg-config --libs libcurl) >> ${srcDir}/makefile
     make -C ${srcDir}
   '';
 
@@ -48,7 +47,7 @@ stdenv.mkDerivation {
       client. It is identical to Prime95 in functionality, except it lacks a
       graphical user interface.
     '';
-    homepage = http://www.mersenne.org/;
+    homepage = "http://www.mersenne.org/";
     # Unfree, because of a license requirement to share prize money if you find
     # a suitable prime. http://www.mersenne.org/legal/#EULA
     license = stdenv.lib.licenses.unfree;