Merge pull request #144253 from sheepforce/pyscf
pyscf: 1.7.6.post1 -> 2.0.1
This commit is contained in:
commit
c0d9398b7f
@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcint";
|
||||
version = "4.4.0";
|
||||
version = "4.4.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sunqm";
|
||||
repo = "libcint";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nsIyosn8dBf217UmjXSKLTM2RhIQHCSvPlrvlqo5KLc=";
|
||||
sha256 = "sha256-eWUuORMZs6Bl/zFGYZkpgNAgJPIei+k0cQoWl+v+zxo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
@ -24,6 +24,9 @@ stdenv.mkDerivation rec {
|
||||
"-DENABLE_TEST=1"
|
||||
"-DQUICK_TEST=1"
|
||||
"-DCMAKE_INSTALL_PREFIX=" # ends up double-adding /nix/store/... prefix, this avoids issue
|
||||
"-DWITH_RANGE_COULOMB:STRING=1"
|
||||
"-DWITH_FORTRAN:STRING=1"
|
||||
"-DMIN_EXPCUTOFF:STRING=20"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -17,7 +17,15 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs ./
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DENABLE_FORTRAN=ON" "-DBUILD_SHARED_LIBS=ON" ];
|
||||
cmakeFlags = [
|
||||
"-DENABLE_FORTRAN=ON"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
# Force compilation of higher derivatives
|
||||
"-DDISABLE_VXC=0"
|
||||
"-DDISABLE_FXC=0"
|
||||
"-DDISABLE_KXC=0"
|
||||
"-DDISABLE_LXC=0"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export LD_LIBRARY_PATH=$(pwd)
|
||||
@ -29,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Library of exchange-correlation functionals for density-functional theory";
|
||||
homepage = "https://www.tddft.org/programs/Libxc/";
|
||||
license = licenses.mpl20;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ markuskowa ];
|
||||
};
|
||||
}
|
||||
|
@ -0,0 +1,25 @@
|
||||
{ stdenv, lib, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cppe";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxscheurer";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-guM7+ZWDJLcAUJtPkKLvC4LYSA2eBvER7cgwPZ7FxHw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++ and Python library for Polarizable Embedding";
|
||||
homepage = "https://github.com/maxscheurer/cppe";
|
||||
license = licenses.lgpl3Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.sheepforce ];
|
||||
};
|
||||
}
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "dftlibs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256= "1bj70cnhbh6ziy02x988wwl7cbwaq17ld7qwhswqkgnnx8rpgxid";
|
||||
sha256 = "1bj70cnhbh6ziy02x988wwl7cbwaq17ld7qwhswqkgnnx8rpgxid";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
47
pkgs/development/python-modules/cppe/default.nix
Normal file
47
pkgs/development/python-modules/cppe/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ buildPythonPackage
|
||||
, lib
|
||||
, cmake
|
||||
, cppe
|
||||
, eigen
|
||||
, python
|
||||
, pybind11
|
||||
, numpy
|
||||
, h5py
|
||||
, numba
|
||||
, scipy
|
||||
, pandas
|
||||
, polarizationsolver
|
||||
, pytest
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
inherit (cppe) pname version src meta;
|
||||
|
||||
# The python interface requires eigen3, but builds from a checkout in tree.
|
||||
# Using the nixpkgs version instead.
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "external/eigen3" "${eigen}/include/eigen3"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
eigen
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
buildInputs = [ pybind11 ];
|
||||
|
||||
checkInputs = [
|
||||
pytest
|
||||
h5py
|
||||
numba
|
||||
numpy
|
||||
pandas
|
||||
polarizationsolver
|
||||
scipy
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "cppe" ];
|
||||
}
|
20
pkgs/development/python-modules/fields/default.nix
Normal file
20
pkgs/development/python-modules/fields/default.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ buildPythonPackage, lib, fetchPypi }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fields";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-MdSqA9jUTjXfE8Qx3jUTaZfwR6kkpZfYT3vCCeG+Vyc=";
|
||||
};
|
||||
|
||||
pythonImportsCheck = [ "fields" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Container class boilerplate killer";
|
||||
homepage = "https://github.com/ionelmc/python-fields";
|
||||
license = licenses.bsd2;
|
||||
maintainers = [ maintainers.sheepforce ];
|
||||
};
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
{ buildPythonPackage
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, python
|
||||
, numpy
|
||||
, scipy
|
||||
, periodictable
|
||||
, fields
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "polarizationsolver";
|
||||
version = "unstable-2021-11-02";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "reinholdt";
|
||||
repo = pname;
|
||||
rev = "00424ac4d1862257a55e4b16543f63ace3fe8c22";
|
||||
sha256 = "sha256-LACf8Xw+o/uJ3+PD/DE/o7nwKY7fv3NyYbpjCrTTnBU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
periodictable
|
||||
scipy
|
||||
];
|
||||
|
||||
checkInputs = [ fields ];
|
||||
|
||||
pythonImportsCheck = [ "polarizationsolver" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multipole moment solver for quantum chemistry and polarisable embedding";
|
||||
homepage = "https://gitlab.com/reinholdt/polarizationsolver";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.sheepforce ];
|
||||
};
|
||||
}
|
@ -1,45 +1,109 @@
|
||||
{ buildPythonPackage, lib, fetchFromGitHub, libcint, libxc, xcfun, blas
|
||||
, numpy, scipy, h5py
|
||||
{ buildPythonPackage
|
||||
, python3
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, blas
|
||||
, libcint
|
||||
, libxc
|
||||
, xcfun
|
||||
, cppe
|
||||
, h5py
|
||||
, numpy
|
||||
, scipy
|
||||
, nose
|
||||
, nose-exclude
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyscf";
|
||||
version = "1.7.6.post1";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pyscf";
|
||||
repo = pname;
|
||||
rev = "f6c9c6654dd9609c5e467a1edd5c2c076f793acc";
|
||||
sha256 = "0xbwkjxxysfpqz72qn6n4a0zr2h6sprbcal8j7kzymh7swjy117w";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nwnhaqSn/9WHBjUPaEabK4x23fJ83WwEYvz6aCcvsDw=";
|
||||
};
|
||||
|
||||
# Backport from the 2.0.0 alpha releases of PySCF.
|
||||
# H5Py > 3.3 deprecates the file modes, that PySCF sets.
|
||||
patches = [ ./h5py.patch ];
|
||||
# setup.py calls Cmake and passes the arguments in CMAKE_CONFIGURE_ARGS to cmake.
|
||||
nativeBuildInputs = [ cmake ];
|
||||
dontUseCmakeConfigure = true;
|
||||
preConfigure = ''
|
||||
export CMAKE_CONFIGURE_ARGS="-DBUILD_LIBCINT=0 -DBUILD_LIBXC=0 -DBUILD_XCFUN=0"
|
||||
PYSCF_INC_DIR="${libcint}:${libxc}:${xcfun}";
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
blas
|
||||
libcint
|
||||
libxc
|
||||
xcfun
|
||||
blas
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cppe
|
||||
h5py
|
||||
numpy
|
||||
scipy
|
||||
h5py
|
||||
];
|
||||
|
||||
PYSCF_INC_DIR="${libcint}:${libxc}:${xcfun}";
|
||||
checkInputs = [ nose nose-exclude ];
|
||||
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "pyscf" ];
|
||||
preCheck = ''
|
||||
# Set config used by tests to ensure reproducibility
|
||||
echo 'pbc_tools_pbc_fft_engine = "NUMPY"' > pyscf/pyscf_config.py
|
||||
export OMP_NUM_THREADS=1
|
||||
ulimit -s 20000
|
||||
export PYSCF_CONFIG_FILE=$(pwd)/pyscf/pyscf_config.py
|
||||
'';
|
||||
# As defined for the PySCF CI at https://github.com/pyscf/pyscf/blob/master/.github/workflows/run_tests.sh
|
||||
# minus some additionally numerically instable tests, that are sensitive to BLAS, FFTW, etc.
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
nosetests pyscf/ -v \
|
||||
--exclude-dir=examples --exclude-dir=pyscf/pbc/grad \
|
||||
--exclude-dir=pyscf/x2c \
|
||||
--exclude-dir=pyscf/pbc/tdscf \
|
||||
-e test_bz \
|
||||
-e h2o_vdz \
|
||||
-e test_mc2step_4o4e \
|
||||
-e test_ks_noimport \
|
||||
-e test_jk_hermi0 \
|
||||
-e test_j_kpts \
|
||||
-e test_k_kpts \
|
||||
-e high_cost \
|
||||
-e skip \
|
||||
-e call_in_background \
|
||||
-e libxc_cam_beta_bug \
|
||||
-e test_finite_diff_rks_eph \
|
||||
-e test_finite_diff_uks_eph \
|
||||
-e test_pipek \
|
||||
-e test_n3_cis_ewald \
|
||||
-I test_kuccsd_supercell_vs_kpts\.py \
|
||||
-I test_kccsd_ghf\.py \
|
||||
-I test_h_.*\.py \
|
||||
--exclude-test=pyscf/pbc/gw/test/test_kgw_slow_supercell.DiamondTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/gw/test/test_kgw_slow_supercell.DiamondKSTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/gw/test/test_kgw_slow.DiamondTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/gw/test/test_kgw_slow.DiamondKSTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/tdscf/test/test_krhf_slow_supercell.DiamondTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/tdscf/test/test_kproxy_hf.DiamondTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/tdscf/test/test_kproxy_ks.DiamondTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/tdscf/test/test_kproxy_supercell_hf.DiamondTestSupercell3 \
|
||||
--exclude-test=pyscf/pbc/tdscf/test/test_kproxy_supercell_ks.DiamondTestSupercell3 \
|
||||
-I .*_slow.*py -I .*_kproxy_.*py -I test_proxy.py tdscf/*_slow.py gw/*_slow.py
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python-based simulations of chemistry framework";
|
||||
homepage = "https://github.com/pyscf/pyscf";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.sheepforce ];
|
||||
};
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/pyscf/lib/misc.py b/pyscf/lib/misc.py
|
||||
index ed43689ff..a8a0d0e20 100644
|
||||
--- a/pyscf/lib/misc.py
|
||||
+++ b/pyscf/lib/misc.py
|
||||
@@ -42,8 +42,6 @@ if h5py.version.version[:4] == '2.2.':
|
||||
sys.stderr.write('h5py-%s is found in your environment. '
|
||||
'h5py-%s has bug in threading mode.\n'
|
||||
'Async-IO is disabled.\n' % ((h5py.version.version,)*2))
|
||||
-if h5py.version.version[:2] == '3.':
|
||||
- h5py.get_config().default_file_mode = 'a'
|
||||
|
||||
c_double_p = ctypes.POINTER(ctypes.c_double)
|
||||
c_int_p = ctypes.POINTER(ctypes.c_int)
|
@ -15960,6 +15960,8 @@ with pkgs;
|
||||
|
||||
ctpl = callPackage ../development/libraries/ctpl { };
|
||||
|
||||
cppe = callPackage ../development/libraries/science/chemistry/cppe { };
|
||||
|
||||
cppdb = callPackage ../development/libraries/cppdb { };
|
||||
|
||||
cpp-utilities = callPackage ../development/libraries/cpp-utilities { };
|
||||
|
@ -1769,6 +1769,10 @@ in {
|
||||
|
||||
cozy = callPackage ../development/python-modules/cozy { };
|
||||
|
||||
cppe = callPackage ../development/python-modules/cppe {
|
||||
cppe = pkgs.cppe;
|
||||
};
|
||||
|
||||
cppheaderparser = callPackage ../development/python-modules/cppheaderparser { };
|
||||
|
||||
cppy = callPackage ../development/python-modules/cppy { };
|
||||
@ -2703,6 +2707,8 @@ in {
|
||||
|
||||
fido2 = callPackage ../development/python-modules/fido2 { };
|
||||
|
||||
fields = callPackage ../development/python-modules/fields { };
|
||||
|
||||
filebrowser_safe = callPackage ../development/python-modules/filebrowser_safe { };
|
||||
|
||||
filebytes = callPackage ../development/python-modules/filebytes { };
|
||||
@ -5943,6 +5949,8 @@ in {
|
||||
|
||||
poezio = callPackage ../applications/networking/instant-messengers/poezio { };
|
||||
|
||||
polarizationsolver = callPackage ../development/python-modules/polarizationsolver { };
|
||||
|
||||
polib = callPackage ../development/python-modules/polib { };
|
||||
|
||||
policy-sentry = callPackage ../development/python-modules/policy-sentry { };
|
||||
|
Loading…
Reference in New Issue
Block a user