diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index a7a02521c69..a300d0b228e 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -1,24 +1,34 @@ -{ fetchurl, stdenv, lib, precision ? "double" }: +{ fetchFromGitHub , stdenv, lib, ocaml, perl, indent, transfig, ghostscript, texinfo, libtool, gettext, automake, autoconf, precision ? "double" }: with lib; assert elem precision [ "single" "double" "long-double" "quad-precision" ]; -let version = "3.3.4"; in +let version = "05-06-2016"; in stdenv.mkDerivation rec { name = "fftw-${precision}-${version}"; - src = fetchurl { - url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"; - sha256 = "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g"; + src = fetchFromGitHub { + owner = "FFTW"; + repo = "fftw3"; + rev = "2ed010c62b1bc8ca6b23bfda2e09b8c28e1e8bcc"; + sha256 = "1rd1rfdnr2mgli1s7x7z03s26bqf5mrrysvlh028f1dljn7bwd2q"; }; + nativeBuildInputs = [ ocaml perl indent transfig ghostscript texinfo libtool gettext automake autoconf ]; + + # remove the ./configure lines, so we can use nix's configureFlags + patchPhase = "sed -e '27,29d' -i bootstrap.sh"; + + preConfigurePhases = "./bootstrap.sh"; + outputs = [ "dev" "out" "doc" ]; # it's dev-doc only outputBin = "dev"; # fftw-wisdom configureFlags = - [ "--enable-shared" "--disable-static" + [ "--enable-maintainer-mode" + "--enable-shared" "--disable-static" "--enable-threads" ] ++ optional (precision != "double") "--enable-${precision}"