uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
|
|
@ -0,0 +1,92 @@
|
|||
{ lib, stdenv, fetchurl, cmake, hwloc, fftw, perl, blas, lapack, mpi, cudatoolkit
|
||||
, singlePrec ? true
|
||||
, enableMpi ? false
|
||||
, enableCuda ? false
|
||||
, cpuAcceleration ? null
|
||||
}:
|
||||
|
||||
let
|
||||
# Select reasonable defaults for all major platforms
|
||||
# The possible values are defined in CMakeLists.txt:
|
||||
# AUTO None SSE2 SSE4.1 AVX_128_FMA AVX_256 AVX2_256
|
||||
# AVX2_128 AVX_512 AVX_512_KNL MIC ARM_NEON ARM_NEON_ASIMD
|
||||
SIMD = x: if (cpuAcceleration != null) then x else
|
||||
if stdenv.hostPlatform.system == "i686-linux" then "SSE2" else
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then "SSE4.1" else
|
||||
if stdenv.hostPlatform.system == "x86_64-darwin" then "SSE4.1" else
|
||||
if stdenv.hostPlatform.system == "aarch64-linux" then "ARM_NEON_ASIMD" else
|
||||
"None";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gromacs";
|
||||
version = "2022.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
|
||||
sha256 = "sha256-hd2rUZfXlSSnAsSVnCxDvodeD8Rx3zo1Ikk53OhRJFA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
fftw
|
||||
perl
|
||||
hwloc
|
||||
blas
|
||||
lapack
|
||||
] ++ lib.optional enableMpi mpi
|
||||
++ lib.optional enableCuda cudatoolkit
|
||||
;
|
||||
|
||||
propagatedBuildInputs = lib.optional enableMpi mpi;
|
||||
propagatedUserEnvPkgs = lib.optional enableMpi mpi;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DGMX_SIMD:STRING=${SIMD cpuAcceleration}"
|
||||
"-DGMX_OPENMP:BOOL=TRUE"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
] ++ (
|
||||
if singlePrec then [
|
||||
"-DGMX_DOUBLE=OFF"
|
||||
] else [
|
||||
"-DGMX_DOUBLE=ON"
|
||||
"-DGMX_DEFAULT_SUFFIX=OFF"
|
||||
]
|
||||
) ++ (
|
||||
if enableMpi
|
||||
then [
|
||||
"-DGMX_MPI:BOOL=TRUE"
|
||||
"-DGMX_THREAD_MPI:BOOL=FALSE"
|
||||
]
|
||||
else [
|
||||
"-DGMX_MPI:BOOL=FALSE"
|
||||
]
|
||||
) ++ lib.optional enableCuda "-DGMX_GPU=CUDA";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.gromacs.org";
|
||||
license = licenses.gpl2;
|
||||
description = "Molecular dynamics software package";
|
||||
longDescription = ''
|
||||
GROMACS is a versatile package to perform molecular dynamics,
|
||||
i.e. simulate the Newtonian equations of motion for systems
|
||||
with hundreds to millions of particles.
|
||||
|
||||
It is primarily designed for biochemical molecules like
|
||||
proteins, lipids and nucleic acids that have a lot of
|
||||
complicated bonded interactions, but since GROMACS is
|
||||
extremely fast at calculating the nonbonded interactions (that
|
||||
usually dominate simulations) many groups are also using it
|
||||
for research on non-biological systems, e.g. polymers.
|
||||
|
||||
GROMACS supports all the usual algorithms you expect from a
|
||||
modern molecular dynamics implementation, (check the online
|
||||
reference or manual for details), but there are also quite a
|
||||
few features that make it stand out from the competition.
|
||||
|
||||
See: http://www.gromacs.org/About_Gromacs for details.
|
||||
'';
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ sheepforce markuskowa ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue