diff options
-rw-r--r-- | pkgs/development/libraries/science/math/p4est-sc/default.nix | 63 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 |
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 { }; |