You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.5 KiB
						
					
					
				
								{ 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 = ../../../../.;
							 | 
						|
								  # Exchange with expression below to build a specific github revision:
							 | 
						|
								  # src = fetchFromGitHub {
							 | 
						|
								  #   owner = "moves-rwth";
							 | 
						|
								  #   repo = "storm";
							 | 
						|
								  #   rev = "8332abab58f0c672561f5bbebd585a159852d8cc";
							 | 
						|
								  #   sha256 = "02ixywhfkxr8xlcizqbysb1yinsjzl6rc0cjlsg8dz8w2r3m6qix";
							 | 
						|
								  # };
							 | 
						|
								
							 | 
						|
								  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
							 | 
						|
								  '';
							 | 
						|
								
							 | 
						|
								  meta = with stdenv.lib; {
							 | 
						|
								    description = "Probabilistic Model Checker";
							 | 
						|
								    homepage = http://www.stormchecker.org;
							 | 
						|
								    license = licenses.gpl3;
							 | 
						|
								    maintainer = [ maintainers.spacefrogg ];
							 | 
						|
								    platforms = platforms.all;
							 | 
						|
								  };
							 | 
						|
								}
							 |