From 4e049b2fd477015778817e809c0bf5544f8a1c77 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Thu, 24 May 2018 11:02:12 +0300 Subject: simgrid: cleanup --- pkgs/applications/science/misc/simgrid/default.nix | 111 ++++++++++----------- 1 file changed, 53 insertions(+), 58 deletions(-) (limited to 'pkgs/applications/science') diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix index 2b25d99de2a7..522c708bf902 100644 --- a/pkgs/applications/science/misc/simgrid/default.nix +++ b/pkgs/applications/science/misc/simgrid/default.nix @@ -10,41 +10,37 @@ , moreTests ? false }: -# helpers for options -let optionals = stdenv.lib.optionals; - optionalString = stdenv.lib.optionalString; - optionOnOff = option: "${if option then "on" else "off"}"; +with stdenv.lib; + +let + optionOnOff = option: "${if option then "on" else "off"}"; + urlVersion = replaceStrings ["."] ["_"]; in stdenv.mkDerivation rec { - major_version = "3"; - minor_version = "17"; - version = "${major_version}.${minor_version}"; name = "simgrid-${version}"; + version = "3.17"; src = fetchFromGitHub { owner = "simgrid"; repo = "simgrid"; - rev = "v${major_version}_${minor_version}"; + rev = "v${urlVersion version}"; sha256 = "0ffs9w141qhw571jsa9sch1cnr332vs4sgj6dsiij2mc24m6wpb4"; - #rev = "master"; - #sha256 = "0qvh1jzc2lpnp8234kjx1x4g1a5kfdn6kb15vhk160qgvj98nyqm"; }; - nativeBuildInputs = [ cmake perl elfutils python3 boost valgrind] - ++ optionals fortranSupport [gfortran] - ++ optionals buildJavaBindings [openjdk] - ++ optionals buildDocumentation [transfig ghostscript doxygen] - ++ optionals modelCheckingSupport [libunwind libevent]; + nativeBuildInputs = [ cmake perl elfutils python3 boost valgrind ] + ++ optionals fortranSupport [ gfortran ] + ++ optionals buildJavaBindings [ openjdk ] + ++ optionals buildDocumentation [ transfig ghostscript doxygen ] + ++ optionals modelCheckingSupport [ libunwind libevent ]; #buildInputs = optional luaSupport lua5; - preConfigure = - # Make it so that libsimgrid.so will be found when running programs from - # the build dir. - '' + # Make it so that libsimgrid.so will be found when running programs from + # the build dir. + preConfigure = '' export LD_LIBRARY_PATH="$PWD/build/lib" - ''; + ''; # Release mode is not supported in SimGrid cmakeBuildType = "Debug"; @@ -59,58 +55,57 @@ stdenv.mkDerivation rec { # For more information see: # http://simgrid.gforge.inria.fr/simgrid/latest/doc/install.html#install_cmake_list cmakeFlags= '' - -Denable_documentation=${optionOnOff buildDocumentation} - -Denable_java=${optionOnOff buildJavaBindings} - -Denable_fortran=${optionOnOff fortranSupport} - -Denable_model-checking=${optionOnOff modelCheckingSupport} - -Denable_ns3=off - -Denable_lua=off - -Denable_lib_in_jar=off - -Denable_maintainer_mode=off - -Denable_mallocators=on - -Denable_debug=on - -Denable_smpi=on - -Denable_smpi_ISP_testsuite=${optionOnOff moreTests} - -Denable_smpi_MPICH3_testsuite=${optionOnOff moreTests} - -Denable_compile_warnings=${optionOnOff debug} - -Denable_compile_optimizations=${optionOnOff (!debug)} - -Denable_lto=${optionOnOff (!debug)} - ''; - #-Denable_lua=${optionOnOff luaSupport} - #-Denable_smpi_papi=${optionOnOff moreTests} + -Denable_documentation=${optionOnOff buildDocumentation} + -Denable_java=${optionOnOff buildJavaBindings} + -Denable_fortran=${optionOnOff fortranSupport} + -Denable_model-checking=${optionOnOff modelCheckingSupport} + -Denable_ns3=off + -Denable_lua=off + -Denable_lib_in_jar=off + -Denable_maintainer_mode=off + -Denable_mallocators=on + -Denable_debug=on + -Denable_smpi=on + -Denable_smpi_ISP_testsuite=${optionOnOff moreTests} + -Denable_smpi_MPICH3_testsuite=${optionOnOff moreTests} + -Denable_compile_warnings=${optionOnOff debug} + -Denable_compile_optimizations=${optionOnOff (!debug)} + -Denable_lto=${optionOnOff (!debug)} + ''; + # -Denable_lua=${optionOnOff luaSupport} + # -Denable_smpi_papi=${optionOnOff moreTests} makeFlags = optionalString debug "VERBOSE=1"; - preBuild = - '' - # Some perl scripts are called to generate test during build which - # is before the fixupPhase of nix, so do this manualy here: - patchShebangs .. - ''; + # Some Perl scripts are called to generate test during build which + # is before the fixupPhase, so do this manualy here: + preBuild = '' + patchShebangs .. + ''; doCheck = true; + checkPhase = '' runHook preCheck - ctest --output-on-failure -E smpi-replay-multiple - runHook postCheck - ''; + ''; + enableParallelBuilding = true; - meta = with stdenv.lib; { + meta = { description = "Framework for the simulation of distributed applications"; - longDescription = - '' SimGrid is a toolkit that provides core functionalities for the - simulation of distributed applications in heterogeneous distributed - environments. The specific goal of the project is to facilitate - research in the area of distributed and parallel application - scheduling on distributed computing platforms ranging from simple - network of workstations to Computational Grids. - ''; + longDescription = '' + SimGrid is a toolkit that provides core functionalities for the + simulation of distributed applications in heterogeneous distributed + environments. The specific goal of the project is to facilitate + research in the area of distributed and parallel application + scheduling on distributed computing platforms ranging from simple + network of workstations to Computational Grids. + ''; homepage = http://simgrid.gforge.inria.fr/; + license = licenses.lgpl2Plus; maintainers = with maintainers; [ mickours ]; platforms = platforms.x86_64; - license = licenses.lgpl2Plus; }; } -- cgit 1.4.1