diff options
author | Markus Schmidl <marenz2569@users.noreply.github.com> | 2021-08-20 22:10:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-20 22:10:21 +0200 |
commit | 3bf574a9e958442c3a8446e623d1e1ad0472fdeb (patch) | |
tree | f159af729ff03937bbbc788596832a012a25cc88 | |
parent | 6a29f7f504316123adf2960d80267938e7e17260 (diff) | |
download | nixpkgs-3bf574a9e958442c3a8446e623d1e1ad0472fdeb.tar nixpkgs-3bf574a9e958442c3a8446e623d1e1ad0472fdeb.tar.gz nixpkgs-3bf574a9e958442c3a8446e623d1e1ad0472fdeb.tar.bz2 nixpkgs-3bf574a9e958442c3a8446e623d1e1ad0472fdeb.tar.lz nixpkgs-3bf574a9e958442c3a8446e623d1e1ad0472fdeb.tar.xz nixpkgs-3bf574a9e958442c3a8446e623d1e1ad0472fdeb.tar.zst nixpkgs-3bf574a9e958442c3a8446e623d1e1ad0472fdeb.zip |
firestarter: 1.7.4 -> 2.0 (#134992)
* firestarter: 1.7.4 -> 2.0 * Apply suggestions from code review Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
-rw-r--r-- | pkgs/applications/misc/firestarter/default.nix | 81 |
1 files changed, 66 insertions, 15 deletions
diff --git a/pkgs/applications/misc/firestarter/default.nix b/pkgs/applications/misc/firestarter/default.nix index 7215cc56449..b2ca9a0cab6 100644 --- a/pkgs/applications/misc/firestarter/default.nix +++ b/pkgs/applications/misc/firestarter/default.nix @@ -1,32 +1,83 @@ -{ lib, stdenv, fetchFromGitHub, glibc, python3, cudatoolkit, - withCuda ? true +{ stdenv +, lib +, fetchFromGitHub +, fetchzip +, cmake +, glibc_multi +, glibc +, git +, pkg-config +, cudatoolkit +, withCuda ? false +, linuxPackages }: -with lib; +let + hwloc = stdenv.mkDerivation rec { + pname = "hwloc"; + version = "2.2.0"; + + src = fetchzip { + url = "https://download.open-mpi.org/release/hwloc/v${lib.versions.majorMinor version}/hwloc-${version}.tar.gz"; + sha256 = "1ibw14h9ppg8z3mmkwys8vp699n85kymdz20smjd2iq9b67y80b6"; + }; + + configureFlags = [ + "--enable-static" + "--disable-libudev" + "--disable-shared" + "--disable-doxygen" + "--disable-libxml2" + "--disable-cairo" + "--disable-io" + "--disable-pci" + "--disable-opencl" + "--disable-cuda" + "--disable-nvml" + "--disable-gl" + "--disable-libudev" + "--disable-plugin-dlopen" + "--disable-plugin-ltdl" + ]; + + nativeBuildInputs = [ pkg-config ]; + + enableParallelBuilding = true; + + outputs = [ "out" "lib" "dev" "doc" "man" ]; + }; + +in stdenv.mkDerivation rec { pname = "firestarter"; - version = "1.7.4"; + version = "2.0"; src = fetchFromGitHub { owner = "tud-zih-energy"; repo = "FIRESTARTER"; rev = "v${version}"; - sha256 = "0zqfqb7hf48z39g1qhbl1iraf8rz4d629h1q6ikizckpzfq23kd0"; + sha256 = "1ik6j1lw5nldj4i3lllrywqg54m9i2vxkxsb2zr4q0d2rfywhn23"; + fetchSubmodules = true; }; - nativeBuildInputs = [ python3 ]; - buildInputs = [ glibc.static ] ++ optionals withCuda [ cudatoolkit ]; - preBuild = '' - mkdir -p build - cd build - python ../code-generator.py ${optionalString withCuda "--enable-cuda"} - ''; - makeFlags = optionals withCuda [ "LINUX_CUDA_PATH=${cudatoolkit}" ]; - enableParallelBuilding = true; + nativeBuildInputs = [ cmake git pkg-config ]; + + buildInputs = [ hwloc ] ++ (if withCuda then + [ glibc_multi cudatoolkit linuxPackages.nvidia_x11 ] + else + [ glibc.static ]); + + cmakeFlags = [ + "-DFIRESTARTER_BUILD_HWLOC=OFF" + "-DCMAKE_C_COMPILER_WORKS=1" + "-DCMAKE_CXX_COMPILER_WORKS=1" + ] ++ lib.optionals withCuda [ + "-DFIRESTARTER_BUILD_TYPE=FIRESTARTER_CUDA" + ]; installPhase = '' mkdir -p $out/bin - cp FIRESTARTER $out/bin/firestarter + cp src/FIRESTARTER${lib.optionalString withCuda "_CUDA"} $out/bin/ ''; meta = with lib; { |