about summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorYegor Timoshenko <yegortimoshenko@riseup.net>2018-05-24 11:02:12 +0300
committerMatthew Bauer <mjbauer95@gmail.com>2018-05-25 15:48:28 -0500
commit4e049b2fd477015778817e809c0bf5544f8a1c77 (patch)
tree6b0ed8eaef1e68c3e1eb7fdb742ae065ed3fc9ef /pkgs/applications/science
parent543c8c4eb08f35b70a3c787b69832f0a2535d3f9 (diff)
downloadnixlib-4e049b2fd477015778817e809c0bf5544f8a1c77.tar
nixlib-4e049b2fd477015778817e809c0bf5544f8a1c77.tar.gz
nixlib-4e049b2fd477015778817e809c0bf5544f8a1c77.tar.bz2
nixlib-4e049b2fd477015778817e809c0bf5544f8a1c77.tar.lz
nixlib-4e049b2fd477015778817e809c0bf5544f8a1c77.tar.xz
nixlib-4e049b2fd477015778817e809c0bf5544f8a1c77.tar.zst
nixlib-4e049b2fd477015778817e809c0bf5544f8a1c77.zip
simgrid: cleanup
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/misc/simgrid/default.nix111
1 files changed, 53 insertions, 58 deletions
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;
   };
 }