lol

Merge pull request #27197 from kquick/master

yices library: enable full functionality by adding libpoly polynomial library and fix soname linking.

authored by

Michael Raskin and committed by
GitHub
dcbe96d2 0d2d5e21

+35 -5
+22
pkgs/applications/science/logic/poly/default.nix
··· 1 + {stdenv, fetchurl, gmp, cmake, python}: 2 + 3 + let version = "0.1.3"; 4 + in 5 + 6 + stdenv.mkDerivation { 7 + name = "libpoly-${version}"; 8 + 9 + src = fetchurl { 10 + url = "https://github.com/SRI-CSL/libpoly/archive/v${version}.tar.gz"; 11 + sha256 = "0nd90585imnznyp04vg6a5ixxkd3bavhv1437397aj2k3dfc0y2k"; 12 + }; 13 + 14 + buildInputs = [ cmake gmp python ]; 15 + 16 + meta = with stdenv.lib; { 17 + homepage = https://github.com/SRI-CSL/libpoly; 18 + description = "C library for manipulating polynomials"; 19 + license = licenses.lgpl3; 20 + platforms = platforms.all; 21 + }; 22 + }
+11 -5
pkgs/applications/science/logic/yices/default.nix
··· 1 - { stdenv, fetchurl, gmp-static, gperf, autoreconfHook }: 1 + { stdenv, fetchurl, gmp-static, gperf, autoreconfHook, libpoly }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "yices-${version}"; 5 5 version = "2.5.1"; 6 6 7 7 src = fetchurl { 8 - url = "http://yices.csl.sri.com/cgi-bin/yices2-newnewdownload.cgi?file=yices-${version}-src.tar.gz&accept=I+Agree"; 9 - name = "yices-${version}-src.tar.gz"; 8 + url = "http://yices.csl.sri.com/cgi-bin/yices2-newnewdownload.cgi?file=${name}-src.tar.gz&accept=I+Agree"; 9 + name = "${name}-src.tar.gz"; 10 10 sha256 = "1wfq6hcm54h0mqmbs1ip63i0ywlwnciav86sbzk3gafxyzg1nd0c"; 11 11 }; 12 12 ··· 14 14 15 15 configureFlags = [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a" 16 16 "--with-static-gmp-include-dir=${gmp-static.dev}/include" 17 + "--enable-mcsat" 17 18 ]; 18 - buildInputs = [ gmp-static gperf autoreconfHook ]; 19 + buildInputs = [ gmp-static gperf autoreconfHook libpoly ]; 19 20 20 21 enableParallelBuilding = true; 21 22 doCheck = true; 22 23 23 - installPhase = ''make install LDCONFIG=true''; 24 + # Includes a fix for the embedded soname being libyices.so.2.5, but 25 + # only installing the libyices.so.2.5.1 file. 26 + installPhase = '' 27 + make install LDCONFIG=true 28 + (cd $out/lib && ln -s -f libyices.so.2.5.1 libyices.so.2.5) 29 + ''; 24 30 25 31 meta = with stdenv.lib; { 26 32 description = "A high-performance theorem prover and SMT solver";
+2
pkgs/top-level/all-packages.nix
··· 18101 18101 18102 18102 picosat = callPackage ../applications/science/logic/picosat {}; 18103 18103 18104 + libpoly = callPackage ../applications/science/logic/poly/default.nix {}; 18105 + 18104 18106 prooftree = (with ocamlPackages_4_01_0; 18105 18107 callPackage ../applications/science/logic/prooftree { 18106 18108 camlp5 = camlp5_transitional;