Merge pull request #201735 from mcwitt/upgrade-rdkit

This commit is contained in:
Sandro 2022-11-30 17:54:56 +01:00 committed by GitHub
commit e4902f2eb0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,8 +1,8 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, fetchzip
, cmake , cmake
, comic-neue
, boost , boost
, catch2 , catch2
, inchi , inchi
@ -15,32 +15,32 @@
, numpy , numpy
, pandas , pandas
, pillow , pillow
, git
}: }:
let let
external = { external = {
avalon = fetchzip { avalon = fetchFromGitHub {
url = "http://sourceforge.net/projects/avalontoolkit/files/AvalonToolkit_1.2/AvalonToolkit_1.2.0.source.tar"; owner = "rohdebe1";
sha256 = "0nhxfxckb5a5qs0g148f55yarhncqjgjzcvdskkv9rxi2nrs7160"; repo = "ava-formake";
stripRoot = false; rev = "AvalonToolkit_2.0.2";
hash = "sha256-YI39OknHiSyArNGqRKrSVzEJnFc1xJ0W3UcTZrTKeME=";
}; };
yaehmop = fetchFromGitHub { yaehmop = fetchFromGitHub {
owner = "greglandrum"; owner = "greglandrum";
repo = "yaehmop"; repo = "yaehmop";
rev = "cfb5aeebbdf5ae93c4f4eeb14c7a507dea54ae9e"; rev = "v2022.09.1";
sha256 = "sha256-QMnc5RyHlY3giw9QmrkGntiA+Srs7OhCIKs9GGo5DfQ="; hash = "sha256-QMnc5RyHlY3giw9QmrkGntiA+Srs7OhCIKs9GGo5DfQ=";
}; };
freesasa = fetchFromGitHub { freesasa = fetchFromGitHub {
owner = "mittinatten"; owner = "mittinatten";
repo = "freesasa"; repo = "freesasa";
rev = "2.1.1"; rev = "2.0.3";
sha256 = "sha256-fUJvLDTVhpBWl9MavZwp0kAO5Df1QuHEKqe20CXNfcg="; hash = "sha256-7E+imvfDAJFnXQRWb5hNaSu+Xrf9NXeIKc9fl+o3yHQ=";
}; };
}; };
in in
buildPythonPackage rec { buildPythonPackage rec {
pname = "rdkit"; pname = "rdkit";
version = "2022.03.5"; version = "2022.09.1";
format = "other"; format = "other";
src = src =
@ -51,35 +51,35 @@ buildPythonPackage rec {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "Release_${versionTag}"; rev = "Release_${versionTag}";
sha256 = "19idgilabh04cbr1qj6zgrgsfjm248mmfz6fsr0smrd68d0xnml9"; hash = "sha256-AaawjCv3/ShByOKU0c37/hjuyfD7NhFC8UngDoG7C0s=";
}; };
unpackPhase = '' unpackPhase = ''
mkdir -p source/External/AvalonTools/avalon source/External/YAeHMOP/yaehmop source/External/FreeSASA/freesasa cp -r $src/* .
cp -r ${src}/* source find . -type d -exec chmod +w {} +
cp -r ${external.avalon}/SourceDistribution/* source/External/AvalonTools/avalon
cp -r ${external.yaehmop}/* source/External/YAeHMOP/yaehmop
cp -r ${external.freesasa}/* source/External/FreeSASA/freesasa
find source -type d -exec chmod 755 {} + mkdir External/AvalonTools/avalon
cp source/External/FreeSASA/freesasa2.c source/External/FreeSASA/freesasa/src ln -s ${external.avalon}/* External/AvalonTools/avalon
ln -s ${rapidjson} source/External/rapidjson-1.1.0
mkdir External/YAeHMOP/yaehmop
ln -s ${external.yaehmop}/* External/YAeHMOP/yaehmop
mkdir -p External/FreeSASA/freesasa
cp -r ${external.freesasa}/* External/FreeSASA/freesasa
chmod +w External/FreeSASA/freesasa/src
cp External/FreeSASA/freesasa2.c External/FreeSASA/freesasa/src
ln -s ${rapidjson} External/rapidjson-1.1.0
ln -s ${comic-neue}/share/fonts/truetype/ComicNeue-Regular.ttf Data/Fonts/
''; '';
sourceRoot = "source";
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
git # required by freesasa
]; ];
buildInputs = [ buildInputs = [
boost boost
catch2
inchi
eigen
cairo cairo
rapidjson
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -95,10 +95,6 @@ buildPythonPackage rec {
dontUseSetuptoolsCheck = true; dontUseSetuptoolsCheck = true;
preConfigure = '' preConfigure = ''
# Don't want this contacting the git remote during the build
substituteInPlace External/YAeHMOP/CMakeLists.txt --replace \
'GIT_TAG master' 'DOWNLOAD_COMMAND true'
# Since we can't expand with bash in cmakeFlags # Since we can't expand with bash in cmakeFlags
cmakeFlags="$cmakeFlags -DPYTHON_NUMPY_INCLUDE_PATH=$(${python}/bin/python -c 'import numpy; print(numpy.get_include())')" cmakeFlags="$cmakeFlags -DPYTHON_NUMPY_INCLUDE_PATH=$(${python}/bin/python -c 'import numpy; print(numpy.get_include())')"
cmakeFlags="$cmakeFlags -DFREESASA_DIR=$PWD/External/FreeSASA/freesasa" cmakeFlags="$cmakeFlags -DFREESASA_DIR=$PWD/External/FreeSASA/freesasa"
@ -114,7 +110,6 @@ buildPythonPackage rec {
"-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3" "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3"
"-DRDK_INSTALL_INTREE=OFF" "-DRDK_INSTALL_INTREE=OFF"
"-DRDK_INSTALL_STATIC_LIBS=OFF" "-DRDK_INSTALL_STATIC_LIBS=OFF"
"-DRDK_INSTALL_COMIC_FONTS=OFF"
"-DRDK_BUILD_INCHI_SUPPORT=ON" "-DRDK_BUILD_INCHI_SUPPORT=ON"
"-DRDK_BUILD_AVALON_SUPPORT=ON" "-DRDK_BUILD_AVALON_SUPPORT=ON"
"-DRDK_BUILD_FREESASA_SUPPORT=ON" "-DRDK_BUILD_FREESASA_SUPPORT=ON"
@ -145,9 +140,9 @@ buildPythonPackage rec {
''; '';
pythonImportsCheck = [ pythonImportsCheck = [
"rdkit" "rdkit"
"rdkit.Chem" "rdkit.Chem"
"rdkit.Chem.AllChem" "rdkit.Chem.AllChem"
]; ];
meta = with lib; { meta = with lib; {