raspa: init at 2.0.47 and add tests

This commit is contained in:
Shamrock Lee 2022-08-05 00:37:54 +00:00 committed by Yueh-Shun Li
parent b2b3b86d91
commit 4e72d111e9
3 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,33 @@
{ lib
, stdenvNoCC
, gzip
, raspa
}:
stdenvNoCC.mkDerivation rec {
pname = "raspa-data";
inherit (raspa) version src;
outputs = [ "out" "doc" ];
nativeBuildInpuhs = [ gzip ];
installPhase = ''
runHook preInstall
mkdir -p "$out/share/raspa"
mv examples "$out/share/raspa"
mkdir -p "$doc/share/raspa"
mv -T "Docs" "$doc/share/raspa/doc"
runHook postInstall
'';
# Keep the shebangs of the examples from being patched
dontPatchShebangs = true;
meta = with lib; {
inherit (raspa.meta) homepage license maintainers;
description = "Example packs and documentation of RASPA";
outputsToInstall = [ "out" "doc" ];
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,79 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, makeWrapper
, fftw
, lapack
, openblas
, runCommandLocal
, raspa
, raspa-data
}:
stdenv.mkDerivation rec {
pname = "raspa";
version = "2.0.47";
src = fetchFromGitHub {
owner = "iRASPA";
repo = "RASPA2";
rev = "v${version}";
hash = "sha256-i8Y+pejiOuyPNJto+/0CmRoAnMljCrnDFx8qDh4I/68=";
};
nativeBuildInputs = [
autoreconfHook
makeWrapper
];
buildInputs = [
fftw
lapack
openblas
];
# Prepare for the Python binding packaging.
strictDeps = true;
enableParallelBuilding = true;
preAutoreconf = ''
mkdir "m4"
'';
postAutoreconf = ''
automake --add-missing
autoconf
'';
doCheck = true;
# Wrap with RASPA_DIR
# so that users can run $out/bin/simulate directly
# without the need of a `run` srcipt.
postInstall = ''
wrapProgram "$out/bin/simulate" \
--set RASPA_DIR "$out"
'';
passthru.tests.run-an-example = runCommandLocal "raspa-test-run-an-example" { }
''
set -eu -o pipefail
exampleDir="${raspa-data}/share/raspa/examples/Basic/1_MC_Methane_in_Box"
exampleDirWritable="$(basename "$exampleDir")"
cp -rT "$exampleDir" "./$exampleDirWritable"
chmod u+rw -R "$exampleDirWritable"
cd "$exampleDirWritable"
${raspa}/bin/simulate
touch "$out"
'';
meta = with lib; {
description = "A general purpose classical molecular simulation package";
homepage = "https://iraspa.org/raspa/";
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ ShamrockLee ];
mainProgram = "simulate";
};
}

View File

@ -37875,6 +37875,10 @@ with pkgs;
pspp = callPackage ../applications/science/math/pspp { };
raspa = callPackage ../applications/science/molecular-dynamics/raspa { };
raspa-data = callPackage ../applications/science/molecular-dynamics/raspa/data.nix { };
ssw = callPackage ../applications/misc/ssw { };
pynac = callPackage ../applications/science/math/pynac { };