Merge pull request #27197 from kquick/master

yices library: enable full functionality by adding libpoly polynomial library and fix soname linking.
This commit is contained in:
Michael Raskin 2017-07-08 22:37:12 +02:00 committed by GitHub
commit dcbe96d260
3 changed files with 35 additions and 5 deletions

View File

@ -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.lgpl3;
platforms = platforms.all;
};
}

View File

@ -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";

View File

@ -18101,6 +18101,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;