Michael Raitza
6 years ago
committed by
Christian Hensel
8 changed files with 234 additions and 0 deletions
-
51resources/3rdparty/nix-scripts/carl/default.nix
-
3resources/3rdparty/nix-scripts/carl/gtest.cmake
-
14resources/3rdparty/nix-scripts/default.nix
-
22resources/3rdparty/nix-scripts/googletest/default.nix
-
26resources/3rdparty/nix-scripts/l3pp/default.nix
-
46resources/3rdparty/nix-scripts/mathsat/default.nix
-
52resources/3rdparty/nix-scripts/storm-checker/default.nix
-
20resources/3rdparty/nix-scripts/z3/default.nix
@ -0,0 +1,51 @@ |
|||||
|
{ stdenv, fetchFromGitHub, autoconf, pkgconfig, cmake |
||||
|
, cln, ginac, gmp, boost, eigen3_3, python2, googletest }: |
||||
|
|
||||
|
let |
||||
|
gtest-cmake = ./gtest.cmake; |
||||
|
|
||||
|
in stdenv.mkDerivation rec { |
||||
|
name = "carl-${version}"; |
||||
|
version = "17.12"; |
||||
|
|
||||
|
buildInputs = [ cln ginac gmp boost python2 googletest ]; |
||||
|
|
||||
|
nativeBuildInputs = [ autoconf pkgconfig cmake ]; |
||||
|
|
||||
|
propagatedBuildInputs = [ eigen3_3 ]; |
||||
|
|
||||
|
src = fetchFromGitHub { |
||||
|
owner = "smtrat"; |
||||
|
repo = "carl"; |
||||
|
rev = version; |
||||
|
sha256 = "1299i0b6w4v6s2a2kci3jrpdq1lpaw4j3p34gx6gmp9g3n1yp6xq"; |
||||
|
}; |
||||
|
|
||||
|
enableParallelBuilding = true; |
||||
|
|
||||
|
cmakeFlags = [ |
||||
|
"-DEXPORT_TO_CMAKE=off" |
||||
|
"-DUSE_CLN_NUMBERS=on" |
||||
|
"-DTHREAD_SAFE=on" |
||||
|
"-DUSE_GINAC=on" |
||||
|
"-DGINAC_FOUND=on" |
||||
|
"-DGINAC_INCLUDE_DIR=${ginac}/include/ginac" |
||||
|
"-DGINAC_LIBRARY=${ginac}/lib/libginac.so" |
||||
|
"-DGTEST_FOUND=on" |
||||
|
"-DGTEST_MAIN_LIBRARY=${googletest}/lib/libgtest_main.a" |
||||
|
"-DGTEST_LIBRARY=${googletest}/lib/libgtest.a" |
||||
|
]; |
||||
|
|
||||
|
postPatch = '' |
||||
|
cp ${gtest-cmake} resources/gtest.cmake |
||||
|
substituteInPlace resources/gtest.cmake --subst-var-by googletest ${googletest} |
||||
|
sed -e '/set(GTEST/i include(resources/gtest.cmake)' -i resources/resources.cmake |
||||
|
''; |
||||
|
|
||||
|
meta = with stdenv.lib; { |
||||
|
description = "Computer ARithmetic and Logic library"; |
||||
|
homepage = http://smtrat.github.io/carl; |
||||
|
mainainers = [ maintainers.spacefrogg ]; |
||||
|
platforms = platforms.all; |
||||
|
}; |
||||
|
} |
@ -0,0 +1,3 @@ |
|||||
|
add_imported_library(GTESTCORE STATIC "@googletest@/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest${STATIC_EXT}" "@googletest@/include") |
||||
|
add_imported_library(GTESTMAIN STATIC "@googletest@/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main${STATIC_EXT}" "@googletest@/include") |
||||
|
set(GTEST_LIBRARIES GTESTCORE_STATIC GTESTMAIN_STATIC pthread dl) |
@ -0,0 +1,14 @@ |
|||||
|
self: super: |
||||
|
with self; |
||||
|
with self.lib; |
||||
|
let |
||||
|
callPackage = super.lib.callPackageWith self; |
||||
|
_self = { |
||||
|
z3 = callPackage ./z3 { }; |
||||
|
stormChecker = callPackage ./storm-checker { ltoSupport = false; tbbSupport = false; mathsatSupport = false; z3Support = false; }; |
||||
|
carl = callPackage ./carl { }; |
||||
|
googletest = callPackage ./googletest { }; |
||||
|
l3pp = callPackage ./l3pp { }; |
||||
|
mathsat = callPackage ./mathsat { }; |
||||
|
}; |
||||
|
in _self |
@ -0,0 +1,22 @@ |
|||||
|
{ stdenv, fetchFromGitHub, cmake }: |
||||
|
|
||||
|
stdenv.mkDerivation rec { |
||||
|
name = "googletest-${version}"; |
||||
|
version = "1.8.0"; |
||||
|
|
||||
|
buildInputs = [ cmake ]; |
||||
|
|
||||
|
src = fetchFromGitHub { |
||||
|
owner = "google"; |
||||
|
repo = "googletest"; |
||||
|
rev = "release-${version}"; |
||||
|
sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"; |
||||
|
}; |
||||
|
|
||||
|
meta = with stdenv.lib; { |
||||
|
description = "Google's C++ test framework"; |
||||
|
homepage = "https://github.com/google/googletest"; |
||||
|
maintainers = [ maintainers.spacefrogg ]; |
||||
|
platforms = platforms.all; |
||||
|
}; |
||||
|
} |
@ -0,0 +1,26 @@ |
|||||
|
{ stdenv, fetchFromGitHub }: |
||||
|
stdenv.mkDerivation rec { |
||||
|
name = "l3pp-${version}"; |
||||
|
version = "git"; |
||||
|
|
||||
|
src = fetchFromGitHub { |
||||
|
owner = "hbruintjes"; |
||||
|
repo = "l3pp"; |
||||
|
rev = "e4f8d7fe6c328849aff34d2dfd6fd592c14070d5"; |
||||
|
sha256 = "0bd0m4hj7iy5y9546sr7d156hmq6q7d5jys495jd26ngvibkv9hp"; |
||||
|
}; |
||||
|
phases = "unpackPhase installPhase fixupPhase"; |
||||
|
|
||||
|
installPhase = '' |
||||
|
mkdir -p $out/include $out/share/doc/l3pp |
||||
|
cp LICENSE Readme.md $out/share/doc/l3pp |
||||
|
cp -r *.h impl $out/include |
||||
|
''; |
||||
|
|
||||
|
meta = with stdenv.lib; { |
||||
|
description = "Lightweight Logging Library for C++"; |
||||
|
homepage = https://github.com/hbruintjes/l3pp; |
||||
|
maintainers = [ maintainers.spacefrogg ]; |
||||
|
platforms = platforms.all; |
||||
|
}; |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
{ stdenv, fetchurl, file |
||||
|
, gmp |
||||
|
, reentrantBuild ? true |
||||
|
}: |
||||
|
|
||||
|
let |
||||
|
version = "5.5.1"; |
||||
|
name = "mathsat-${version}"; |
||||
|
genUrl = reentrant: "http://mathsat.fbk.eu/download.php?file=${name}-linux-x86_64${reentrant}.tar.gz"; |
||||
|
srcAttrs = if reentrantBuild then { |
||||
|
url = genUrl "-reentrant"; |
||||
|
sha256 = "10ng53nvxyyvml3gbzl87vj3c75fgb14zdlakwasz7zczn7hm978"; |
||||
|
} else { |
||||
|
url = genUrl ""; |
||||
|
sha256 = "0jnbiaq27hzdzavkr3sdh2ym0bc3ykamacj8k08pvyf7vil2hkdz"; |
||||
|
}; |
||||
|
|
||||
|
in stdenv.mkDerivation rec { |
||||
|
inherit name version; |
||||
|
|
||||
|
src = fetchurl srcAttrs; |
||||
|
|
||||
|
nativeBuildInputs = [ gmp ]; |
||||
|
|
||||
|
libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc stdenv.glibc gmp ]; |
||||
|
phases = "unpackPhase installPhase fixupPhase"; |
||||
|
|
||||
|
installPhase = '' |
||||
|
mkdir -p $out/{bin,lib,include} |
||||
|
patchelf --set-rpath "$libPath" lib/libmathsat.so |
||||
|
cp bin/* $out/bin |
||||
|
cp lib/* $out/lib |
||||
|
cp -r include/* $out/include |
||||
|
''; |
||||
|
|
||||
|
meta = with stdenv.lib; { |
||||
|
description = "Satisfiability modulo theories (SMT) solver"; |
||||
|
homepage = http://mathsat.fbk.eu; |
||||
|
license = { |
||||
|
fullName = "Unfree, redistributable for non-commercial applications"; |
||||
|
free = false; |
||||
|
}; |
||||
|
maintainer = [ maintainers.spacefrogg ]; |
||||
|
platforms = platforms.linux; |
||||
|
}; |
||||
|
} |
@ -0,0 +1,52 @@ |
|||||
|
{ stdenv, fetchFromGitHub, writeText, autoconf, automake, cmake |
||||
|
, boost, carl, cln, doxygen, gmp, ginac, glpk, hwloc, l3pp, xercesc |
||||
|
, ltoSupport ? true |
||||
|
, mathsatSupport ? false, mathsat |
||||
|
, tbbSupport ? false, tbb |
||||
|
, z3Support ? true, z3 |
||||
|
}: |
||||
|
|
||||
|
let |
||||
|
l3ppCmakeSed = writeText "l3pp-sed" '' |
||||
|
8,27d |
||||
|
28i\ |
||||
|
set(l3pp_INCLUDE "${l3pp}/include/") |
||||
|
30d |
||||
|
''; |
||||
|
inherit (stdenv.lib) optional singleton; |
||||
|
genCmakeOption = bool: name: |
||||
|
singleton "-D${name}=${if bool then "on" else "off"}"; |
||||
|
|
||||
|
in stdenv.mkDerivation { |
||||
|
name = "storm-git"; |
||||
|
|
||||
|
src = fetchFromGitHub { |
||||
|
owner = "moves-rwth"; |
||||
|
repo = "storm"; |
||||
|
rev = "4378279c6419541e7100270937c849e5c5d53fea"; |
||||
|
sha256 = "1yhz9642s09izy9qid0a03i4c29cdvrmrrx9wa35dw5vkv6gxp0f"; |
||||
|
}; |
||||
|
|
||||
|
buildInputs = [ boost carl cln doxygen gmp ginac glpk hwloc l3pp xercesc ] |
||||
|
++ optional tbbSupport tbb |
||||
|
++ optional z3Support z3; |
||||
|
|
||||
|
nativeBuildInputs = [ autoconf automake cmake ]; |
||||
|
|
||||
|
cmakeFlags = genCmakeOption tbbSupport "STORM_USE_INTELTBB" |
||||
|
++ genCmakeOption ltoSupport "STORM_USE_LTO" |
||||
|
++ optional mathsatSupport "-DMSAT_ROOT=${mathsat}" ; |
||||
|
|
||||
|
postPatch = '' |
||||
|
sed -f ${l3ppCmakeSed} -i resources/3rdparty/CMakeLists.txt |
||||
|
substituteInPlace CMakeLists.txt --replace "include(export)" "" |
||||
|
''; |
||||
|
|
||||
|
meta = with stdenv.lib; { |
||||
|
description = "Probabilistic Model Checker"; |
||||
|
homepage = http://www.stormchecker.org; |
||||
|
license = licenses.gpl3; |
||||
|
maintainer = [ maintainers.spacefrogg ]; |
||||
|
platforms = platforms.all; |
||||
|
}; |
||||
|
} |
@ -0,0 +1,20 @@ |
|||||
|
{ stdenv, fetchFromGitHub, python3 }: |
||||
|
|
||||
|
stdenv.mkDerivation rec { |
||||
|
name = "z3-${version}"; |
||||
|
version = "4.6.0"; |
||||
|
|
||||
|
src = fetchFromGitHub { |
||||
|
owner = "Z3Prover"; |
||||
|
repo = "z3"; |
||||
|
rev = "z3-${version}"; |
||||
|
sha256 = "1cgwlmjdbf4rsv2rriqi2sdpz9qxihxrcpm6a4s37ijy437xg78l"; |
||||
|
}; |
||||
|
|
||||
|
buildInputs = [ python3 ]; |
||||
|
phases = "unpackPhase buildPhase installPhase fixupPhase"; |
||||
|
preBuild = '' |
||||
|
python3 scripts/mk_make.py --prefix=$out |
||||
|
cd build |
||||
|
''; |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue