From 8ff05c85ee89bbb3241a194d85db2f37b057d178 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Thu, 6 Jul 2017 21:30:30 -0700 Subject: [PATCH 1/3] Add poly library for manipulating polynomials. --- .../science/logic/poly/default.nix | 22 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/applications/science/logic/poly/default.nix diff --git a/pkgs/applications/science/logic/poly/default.nix b/pkgs/applications/science/logic/poly/default.nix new file mode 100644 index 00000000000..f573f0c15b4 --- /dev/null +++ b/pkgs/applications/science/logic/poly/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchurl, gmp, cmake, python}: + +let version = "0.1.3"; +in + +stdenv.mkDerivation { + name = "libpoly-${version}"; + + src = fetchurl { + url = "https://github.com/SRI-CSL/libpoly/archive/v${version}.tar.gz"; + sha256 = "0nd90585imnznyp04vg6a5ixxkd3bavhv1437397aj2k3dfc0y2k"; + }; + + buildInputs = [ cmake gmp python ]; + + meta = with stdenv.lib; { + homepage = https://github.com/SRI-CSL/libpoly; + description = "C library for manipulating polynomials"; + license = licenses.gplv3; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 61406ae271d..07a6a422e8e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18091,6 +18091,8 @@ with pkgs; picosat = callPackage ../applications/science/logic/picosat {}; + libpoly = callPackage ../applications/science/logic/poly/default.nix {}; + prooftree = (with ocamlPackages_4_01_0; callPackage ../applications/science/logic/prooftree { camlp5 = camlp5_transitional; From 6387a7ec8bd626ffae610bc08d4bc441f9afef15 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Thu, 6 Jul 2017 21:31:38 -0700 Subject: [PATCH 2/3] Update yices to add libpoly/mcsat functionality and add soname target. --- .../applications/science/logic/yices/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix index cf5114b4a41..0ec7f93d26f 100644 --- a/pkgs/applications/science/logic/yices/default.nix +++ b/pkgs/applications/science/logic/yices/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, gmp-static, gperf, autoreconfHook }: +{ stdenv, fetchurl, gmp-static, gperf, autoreconfHook, libpoly }: stdenv.mkDerivation rec { name = "yices-${version}"; version = "2.5.1"; src = fetchurl { - url = "http://yices.csl.sri.com/cgi-bin/yices2-newnewdownload.cgi?file=yices-${version}-src.tar.gz&accept=I+Agree"; - name = "yices-${version}-src.tar.gz"; + url = "http://yices.csl.sri.com/cgi-bin/yices2-newnewdownload.cgi?file=${name}-src.tar.gz&accept=I+Agree"; + name = "${name}-src.tar.gz"; sha256 = "1wfq6hcm54h0mqmbs1ip63i0ywlwnciav86sbzk3gafxyzg1nd0c"; }; @@ -14,13 +14,19 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a" "--with-static-gmp-include-dir=${gmp-static.dev}/include" + "--enable-mcsat" ]; - buildInputs = [ gmp-static gperf autoreconfHook ]; + buildInputs = [ gmp-static gperf autoreconfHook libpoly ]; enableParallelBuilding = true; doCheck = true; - installPhase = ''make install LDCONFIG=true''; + # Includes a fix for the embedded soname being libyices.so.2.5, but + # only installing the libyices.so.2.5.1 file. + installPhase = '' + make install LDCONFIG=true + (cd $out/lib && ln -s -f libyices.so.2.5.1 libyices.so.2.5) + ''; meta = with stdenv.lib; { description = "A high-performance theorem prover and SMT solver"; From 6cbd9ce8f9e0ca111a99a8f57adb7a8ba6cd957d Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Fri, 7 Jul 2017 12:54:32 -0700 Subject: [PATCH 3/3] Fix license reference for added libpoly library. --- pkgs/applications/science/logic/poly/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/science/logic/poly/default.nix b/pkgs/applications/science/logic/poly/default.nix index f573f0c15b4..2fdbd87a275 100644 --- a/pkgs/applications/science/logic/poly/default.nix +++ b/pkgs/applications/science/logic/poly/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { homepage = https://github.com/SRI-CSL/libpoly; description = "C library for manipulating polynomials"; - license = licenses.gplv3; + license = licenses.lgpl3; platforms = platforms.all; }; }