diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-09-08 17:57:14 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-09-13 11:31:47 +0000 |
commit | ee7984efa14902a2ddd820c937457667a4f40c6a (patch) | |
tree | c9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/pkgs/applications/science/chemistry | |
parent | ffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff) | |
parent | b3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff) | |
download | nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2 nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip |
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/pkgs/applications/science/chemistry')
7 files changed, 237 insertions, 14 deletions
diff --git a/nixpkgs/pkgs/applications/science/chemistry/avogadro2/default.nix b/nixpkgs/pkgs/applications/science/chemistry/avogadro2/default.nix new file mode 100644 index 000000000000..437123faafd8 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/chemistry/avogadro2/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchFromGitHub, cmake, eigen, avogadrolibs, molequeue, hdf5 +, openbabel, qttools, wrapQtAppsHook +}: + +stdenv.mkDerivation rec { + pname = "avogadro2"; + version = "1.94.0"; + + src = fetchFromGitHub { + owner = "OpenChemistry"; + repo = "avogadroapp"; + rev = version; + sha256 = "6RaiX23YUMfTYAuSighcLGGlJtqeydNgi3PWGF77Jp8="; + }; + + nativeBuildInputs = [ cmake wrapQtAppsHook ]; + + buildInputs = [ + avogadrolibs + molequeue + eigen + hdf5 + qttools + ]; + + propagatedBuildInputs = [ openbabel ]; + + qtWrapperArgs = [ "--prefix PATH : ${openbabel}/bin" ]; + + meta = with lib; { + description = "Molecule editor and visualizer"; + maintainers = with maintainers; [ sheepforce ]; + homepage = "https://github.com/OpenChemistry/avogadroapp"; + platforms = platforms.mesaPlatforms; + license = licenses.bsd3; + }; +} diff --git a/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix new file mode 100644 index 000000000000..6bb99ce556dd --- /dev/null +++ b/nixpkgs/pkgs/applications/science/chemistry/cp2k/default.nix @@ -0,0 +1,117 @@ +{ lib, stdenv, fetchFromGitHub, python3, gfortran, blas, lapack +, fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper +, libxsmm, spglib, which +} : + +let + cp2kVersion = "psmp"; + arch = "Linux-x86-64-gfortran"; + +in stdenv.mkDerivation rec { + pname = "cp2k"; + version = "8.2.0"; + + src = fetchFromGitHub { + owner = "cp2k"; + repo = "cp2k"; + rev = "v${version}"; + sha256 = "0kykq5p318hxjzd4gzqjwv9gqshbdvbg0gnjbd9bdfjx1r6jkjn3"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ python3 which openssh makeWrapper ]; + buildInputs = [ + gfortran + fftw + gsl + libint + libvori + libxc + libxsmm + spglib + scalapack + blas + lapack + ]; + + propagatedBuildInputs = [ mpi ]; + propagatedUserEnvPkgs = [ mpi ]; + + makeFlags = [ + "ARCH=${arch}" + "VERSION=${cp2kVersion}" + ]; + + doCheck = true; + + enableParallelBuilding = true; + + postPatch = '' + patchShebangs tools exts/dbcsr/tools/build_utils exts/dbcsr/.cp2k + substituteInPlace exts/dbcsr/.cp2k/Makefile --replace '/usr/bin/env python3' '${python3}/bin/python' + ''; + + configurePhase = '' + cat > arch/${arch}.${cp2kVersion} << EOF + CC = mpicc + CPP = + FC = mpif90 + LD = mpif90 + AR = ar -r + DFLAGS = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \ + -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \ + -D__MAX_CONTR=4 -D__LIBVORI + CFLAGS = -fopenmp + FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \ + -ftree-vectorize -funroll-loops -msse2 \ + -std=f2008 \ + -fopenmp -ftree-vectorize -funroll-loops \ + -I${libxc}/include -I${libxsmm}/include \ + -I${libint}/include + LIBS = -lfftw3 -lfftw3_threads \ + -lscalapack -lblas -llapack \ + -lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \ + -lint2 -lstdc++ -lvori \ + -lgomp -lpthread -lm \ + -fopenmp + LDFLAGS = \$(FCFLAGS) \$(LIBS) + EOF + ''; + + checkPhase = '' + export OMP_NUM_THREADS=1 + + export HYDRA_IFACE=lo # Fix to make mpich run in a sandbox + export OMPI_MCA_rmaps_base_oversubscribe=1 + export CP2K_DATA_DIR=data + + mpirun -np 2 exe/${arch}/libcp2k_unittest.${cp2kVersion} + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/cp2k + + cp exe/${arch}/* $out/bin + + for i in cp2k cp2k_shell graph; do + wrapProgram $out/bin/$i.${cp2kVersion} \ + --set-default CP2K_DATA_DIR $out/share/cp2k + done + + wrapProgram $out/bin/cp2k.popt \ + --set-default CP2K_DATA_DIR $out/share/cp2k \ + --set OMP_NUM_THREADS 1 + + cp -r data/* $out/share/cp2k + ''; + + passthru = { inherit mpi; }; + + meta = with lib; { + description = "Quantum chemistry and solid state physics program"; + homepage = "https://www.cp2k.org"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.sheepforce ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/applications/science/chemistry/ergoscf/default.nix b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/default.nix new file mode 100644 index 000000000000..b7d61848134e --- /dev/null +++ b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchurl, blas, lapack } : + +stdenv.mkDerivation rec { + pname = "ergoscf"; + version = "3.8"; + + src = fetchurl { + url = "http://www.ergoscf.org/source/tarfiles/ergo-${version}.tar.gz"; + sha256 = "1s50k2gfs3y6r5kddifn4p0wmj0yk85wm5vf9v3swm1c0h43riix"; + }; + + buildInputs = [ blas lapack ]; + + patches = [ ./math-constants.patch ]; + + postPatch = '' + patchShebangs ./test + ''; + + configureFlags = [ + "--enable-linalgebra-templates" + "--enable-performance" + ] ++ lib.optional stdenv.isx86_64 "--enable-sse-intrinsics"; + + LDFLAGS = "-lblas -llapack"; + + enableParallelBuilding = true; + + OMP_NUM_THREADS = 2; # required for check phase + + doCheck = true; + + meta = with lib; { + description = "Quantum chemistry program for large-scale self-consistent field calculations"; + homepage = "http://www.ergoscf.org"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.markuskowa ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/science/chemistry/ergoscf/math-constants.patch b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/math-constants.patch new file mode 100644 index 000000000000..62209f1a3d84 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/chemistry/ergoscf/math-constants.patch @@ -0,0 +1,19 @@ +diff --git a/source/dft/functionals.h b/source/dft/functionals.h +index fde49ba..f7a61fc 100644 +--- a/source/dft/functionals.h ++++ b/source/dft/functionals.h +@@ -59,6 +59,14 @@ + #define EXTERN_C + #endif + ++#ifndef M_PI ++#define M_PI 3.14159265358979323846 ++#endif ++ ++#ifndef M_SQRT2 ++#define M_SQRT2 1.41421356237309504880 ++#endif ++ + typedef ergo_real real; + + #if defined(FUNC_PRECISION) && FUNC_PRECISION == 1 diff --git a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix index 5d2158843ede..a3add93c8f70 100644 --- a/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix +++ b/nixpkgs/pkgs/applications/science/chemistry/jmol/default.nix @@ -17,14 +17,14 @@ let }; in stdenv.mkDerivation rec { - version = "14.31.44"; + version = "14.31.49"; pname = "jmol"; src = let baseVersion = "${lib.versions.major version}.${lib.versions.minor version}"; in fetchurl { url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz"; - sha256 = "sha256-MHfqoQzUEL7nje7Y/hbaA8iktxfN7464TJXum5B6OCc="; + sha256 = "sha256-P+bzimBVammX5LxE6Yd6CmvmBeG8WdyA1T9bHXd+ifI="; }; patchPhase = '' diff --git a/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix index af646b514af9..8efe537dcacd 100644 --- a/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix +++ b/nixpkgs/pkgs/applications/science/chemistry/openmolcas/default.nix @@ -5,9 +5,9 @@ } : let - version = "21.02"; + version = "21.06"; # The tag keeps moving, fix a hash instead - gitLabRev = "41cee871945ac712e86ee971425a49a8fc60a936"; + gitLabRev = "dd982ad4bc94dec8ac1e3e99cb6a7dd249ff71de"; python = python3.withPackages (ps : with ps; [ six pyparsing ]); @@ -19,7 +19,7 @@ in stdenv.mkDerivation { owner = "Molcas"; repo = "OpenMolcas"; rev = gitLabRev; - sha256 = "0cap53gy1wds2qaxbijw09fqhvfxphfkr93nhp9xdq84yxh4wzv6"; + sha256 = "07dm73n0s7ckif561yb3s9yqxsv39a73kb9qwny4yp39wdvv52hz"; }; patches = [ diff --git a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix index 2df8b0e6d473..39bbae77a66e 100644 --- a/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix +++ b/nixpkgs/pkgs/applications/science/chemistry/pymol/default.nix @@ -1,8 +1,18 @@ -{ lib, fetchurl, fetchFromGitHub, makeDesktopItem -, python3, python3Packages -, glew, glm, freeglut, libpng, libxml2, tk, freetype, msgpack }: - - +{ lib +, fetchFromGitHub +, makeDesktopItem +, python3 +, python3Packages +, netcdf +, glew +, glm +, freeglut +, libpng +, libxml2 +, tk +, freetype +, msgpack +}: let pname = "pymol"; description = "A Python-enhanced molecular graphics tool"; @@ -20,15 +30,15 @@ let in python3Packages.buildPythonApplication rec { inherit pname; - version = "2.3.0"; + version = "2.5.0"; src = fetchFromGitHub { owner = "schrodinger"; repo = "pymol-open-source"; rev = "v${version}"; - sha256 = "175cqi6gfmvv49i3ws19254m7ljs53fy6y82fm1ywshq2h2c93jh"; + sha256 = "sha256-JdsgcVF1w1xFPZxVcyS+GcWg4a1Bd4SvxFOuSdlz9SM="; }; - buildInputs = [ python3Packages.numpy glew glm freeglut libpng libxml2 tk freetype msgpack ]; + buildInputs = [ python3Packages.numpy glew glm freeglut libpng libxml2 tk freetype msgpack netcdf ]; NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2"; hardeningDisable = [ "format" ]; @@ -49,7 +59,7 @@ python3Packages.buildPythonApplication rec { ''; meta = with lib; { - description = description; + inherit description; homepage = "https://www.pymol.org/"; license = licenses.mit; maintainers = with maintainers; [ samlich ]; |