summary refs log tree commit diff
diff options
context:
space:
mode:
authorCarsten Burstedde <burstedde@ins.uni-bonn.de>2021-06-27 19:50:53 +0200
committerCarsten Burstedde <burstedde@ins.uni-bonn.de>2021-06-27 19:50:53 +0200
commiteb396b15876071296d18867fd7d4dac82d862c92 (patch)
treecff33a45d17181af37a89899817453b8e73a6511
parentf71a0458013c87de653e96cfd44aaf97c6d3f0c6 (diff)
downloadnixpkgs-eb396b15876071296d18867fd7d4dac82d862c92.tar
nixpkgs-eb396b15876071296d18867fd7d4dac82d862c92.tar.gz
nixpkgs-eb396b15876071296d18867fd7d4dac82d862c92.tar.bz2
nixpkgs-eb396b15876071296d18867fd7d4dac82d862c92.tar.lz
nixpkgs-eb396b15876071296d18867fd7d4dac82d862c92.tar.xz
nixpkgs-eb396b15876071296d18867fd7d4dac82d862c92.tar.zst
nixpkgs-eb396b15876071296d18867fd7d4dac82d862c92.zip
p4est-sc: init at unstable-2021-06-14
-rw-r--r--pkgs/development/libraries/science/math/p4est-sc/default.nix63
-rw-r--r--pkgs/top-level/all-packages.nix6
2 files changed, 69 insertions, 0 deletions
diff --git a/pkgs/development/libraries/science/math/p4est-sc/default.nix b/pkgs/development/libraries/science/math/p4est-sc/default.nix
new file mode 100644
index 00000000000..cf39bcbb952
--- /dev/null
+++ b/pkgs/development/libraries/science/math/p4est-sc/default.nix
@@ -0,0 +1,63 @@
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook, pkg-config
+, p4est-sc-debugEnable ? true, p4est-sc-mpiSupport ? true
+, mpi, openmpi, openssh, zlib
+}:
+
+let
+  dbg = if debugEnable then "-dbg" else "";
+  debugEnable = p4est-sc-debugEnable;
+  mpiSupport = p4est-sc-mpiSupport;
+in
+stdenv.mkDerivation {
+  pname = "p4est-sc${dbg}";
+  version = "unstable-2021-06-14";
+
+  # fetch an untagged snapshot of the prev3-develop branch
+  src = fetchFromGitHub {
+    owner = "cburstedde";
+    repo = "libsc";
+    rev = "1ae814e3fb1cc5456652e0d77550386842cb9bfb";
+    sha256 = "14vm0b162jh8399pgpsikbwq4z5lkrw9vfzy3drqykw09n6nc53z";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  propagatedBuildInputs = [ zlib ]
+    ++ lib.optional mpiSupport mpi
+    ++ lib.optional (mpiSupport && mpi == openmpi) openssh
+  ;
+  inherit debugEnable mpiSupport;
+
+  postPatch = ''
+    echo "dist_scaclocal_DATA += config/sc_v4l2.m4" >> Makefile.am
+  '';
+  preConfigure = ''
+    echo "2.8.0" > .tarball-version
+    ${if mpiSupport then "unset CC" else ""}
+  '';
+
+  configureFlags = [ ]
+    ++ lib.optional debugEnable "--enable-debug"
+    ++ lib.optional mpiSupport "--enable-mpi"
+  ;
+
+  makeFlags = [ "V=0" ];
+
+  dontDisableStatic = true;
+  enableParallelBuilding = true;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+
+  meta = {
+    branch = "prev3-develop";
+    description = "Support for parallel scientific applications";
+    longDescription = ''
+      The SC library provides support for parallel scientific applications.
+      Its main purpose is to support the p4est software library, hence
+      this package is called p4est-sc, but it works standalone, too.
+    '';
+    homepage = "https://www.p4est.org/";
+    downloadPage = "https://github.com/cburstedde/libsc.git";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = [ lib.maintainers.cburstedde ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1e3d3178ea0..dbd639e4252 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -29865,6 +29865,12 @@ in
 
   rubiks = callPackage ../development/libraries/science/math/rubiks { };
 
+  p4est-sc = callPackage ../development/libraries/science/math/p4est-sc {
+    p4est-sc-debugEnable = false;
+  };
+
+  p4est-sc-dbg = callPackage ../development/libraries/science/math/p4est-sc { };
+
   petsc = callPackage ../development/libraries/science/math/petsc { };
 
   parmetis = callPackage ../development/libraries/science/math/parmetis { };