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,39 @@
|
|||
{ lib, stdenv, fetchurl
|
||||
, gfortran, mpi
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
version = "1.10";
|
||||
pname = "DL_POLY_Classic";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ccpforge.cse.rl.ac.uk/gf/download/frsrelease/574/8924/dl_class_1.10.tar.gz";
|
||||
sha256 = "1r76zvln3bwycxlmqday0sqzv5j260y7mdh66as2aqny6jzd5ld7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gfortran ];
|
||||
|
||||
buildInputs = [ mpi ];
|
||||
|
||||
configurePhase = ''
|
||||
cd source
|
||||
cp -v ../build/MakePAR Makefile
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
make dlpoly
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -v ../execute/DLPOLY.X $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.ccp5.ac.uk/DL_POLY_C";
|
||||
description = "DL_POLY Classic is a general purpose molecular dynamics simulation package";
|
||||
license = licenses.bsdOriginal;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
||||
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, libpng, gzip, fftw, blas, lapack
|
||||
, withMPI ? false
|
||||
, mpi
|
||||
}:
|
||||
let packages = [
|
||||
"asphere" "body" "class2" "colloid" "compress" "coreshell"
|
||||
"dipole" "granular" "kspace" "manybody" "mc" "misc" "molecule"
|
||||
"opt" "peri" "qeq" "replica" "rigid" "shock" "snap" "srd" "user-reaxc"
|
||||
];
|
||||
lammps_includes = "-DLAMMPS_EXCEPTIONS -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
# LAMMPS has weird versioning converted to ISO 8601 format
|
||||
version = "stable_29Oct2020";
|
||||
pname = "lammps";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lammps";
|
||||
repo = "lammps";
|
||||
rev = version;
|
||||
sha256 = "1rmi9r5wj2z49wg43xyhqn9sm37n95cyli3g7vrqk3ww35mmh21q";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit mpi;
|
||||
inherit packages;
|
||||
};
|
||||
|
||||
buildInputs = [ fftw libpng blas lapack gzip ]
|
||||
++ (lib.optionals withMPI [ mpi ]);
|
||||
|
||||
configurePhase = ''
|
||||
cd src
|
||||
for pack in ${lib.concatStringsSep " " packages}; do make "yes-$pack" SHELL=$SHELL; done
|
||||
'';
|
||||
|
||||
# Must do manual build due to LAMMPS requiring a seperate build for
|
||||
# the libraries and executable. Also non-typical make script
|
||||
buildPhase = ''
|
||||
make mode=exe ${if withMPI then "mpi" else "serial"} SHELL=$SHELL LMP_INC="${lammps_includes}" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng
|
||||
make mode=shlib ${if withMPI then "mpi" else "serial"} SHELL=$SHELL LMP_INC="${lammps_includes}" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/include $out/lib
|
||||
|
||||
cp -v lmp_* $out/bin/
|
||||
cp -v *.h $out/include/
|
||||
cp -v liblammps* $out/lib/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Classical Molecular Dynamics simulation code";
|
||||
longDescription = ''
|
||||
LAMMPS is a classical molecular dynamics simulation code designed to
|
||||
run efficiently on parallel computers. It was developed at Sandia
|
||||
National Laboratories, a US Department of Energy facility, with
|
||||
funding from the DOE. It is an open-source code, distributed freely
|
||||
under the terms of the GNU Public License (GPL).
|
||||
'';
|
||||
homepage = "https://lammps.sandia.gov";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.costrouc ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, gsl
|
||||
, mpfr
|
||||
, perl
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ViennaRNA";
|
||||
version = "2.4.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/${pname}-${version}.tar.gz";
|
||||
sha256 = "17b0mcfkms0gn1a3faa4cakig65k9nk282x6mdh1mmjwbqzp5akw";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gsl
|
||||
mpfr
|
||||
perl
|
||||
python3
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-cluster"
|
||||
"--with-kinwalker"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Prediction and comparison of RNA secondary structures";
|
||||
homepage = "https://www.tbi.univie.ac.at/RNA/";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
platforms = platforms.unix;
|
||||
# Perl bindings fail on aarch64-darwin with "Undefined symbols for architecture arm64"
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue