diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index 1df4035c29ce..2296a28444b4 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -1,24 +1,20 @@ -{ stdenv, fetchurl, python, unzip }: +{ stdenv, fetchFromGitHub, python }: stdenv.mkDerivation rec { name = "z3-${version}"; version = "4.3.2"; - src = fetchurl { - url = "http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx\?ProjectName\=z3\&changeSetId\=cee7dd39444c9060186df79c2a2c7f8845de415b"; - name = "${name}.zip"; - sha256 = "0hagy7xm0m52jd6vlrbizkj24mn6c49hkb3r5p66wilvp15ivpbn"; + + src = fetchFromGitHub { + owner = "Z3Prover"; + repo = "z3"; + rev = "ac21ffebdf1512da2a77dc46c47bde87cc3850f3"; + sha256 = "1y86akhpy41wx3gx7r8gvf7xbax7dj36ikj6gqh5a7p6r6maz9ci"; }; - buildInputs = [ python unzip ]; + buildInputs = [ python ]; enableParallelBuilding = true; - # The zip file doesn't unpack a directory, just the code itself. - unpackPhase = "mkdir ${name} && cd ${name} && unzip $src"; - - configurePhase = '' - python scripts/mk_make.py --prefix=$out - cd build - ''; + configurePhase = "python scripts/mk_make.py --prefix=$out && cd build"; # z3's install phase is stupid because it tries to calculate the # python package store location itself, meaning it'll attempt to @@ -32,12 +28,13 @@ stdenv.mkDerivation rec { cp libz3${soext} $out/lib cp libz3${soext} $out/lib/${python.libPrefix}/site-packages cp z3*.pyc $out/lib/${python.libPrefix}/site-packages + cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages ''; meta = { description = "A high-performance theorem prover and SMT solver"; - homepage = "http://z3.codeplex.com"; - license = stdenv.lib.licenses.msrla; + homepage = "http://github.com/Z3Prover/z3"; + license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; };