summaryrefslogtreecommitdiff
path: root/sci-chemistry/pymol
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/pymol')
-rw-r--r--sci-chemistry/pymol/Manifest3
-rw-r--r--sci-chemistry/pymol/files/pymol-2.4.0-fix_bug119.patch34
-rw-r--r--sci-chemistry/pymol/pymol-2.4.0-r1.ebuild (renamed from sci-chemistry/pymol/pymol-2.4.0.ebuild)23
3 files changed, 48 insertions, 12 deletions
diff --git a/sci-chemistry/pymol/Manifest b/sci-chemistry/pymol/Manifest
index cf7255238d53..4761fc48e3df 100644
--- a/sci-chemistry/pymol/Manifest
+++ b/sci-chemistry/pymol/Manifest
@@ -1,4 +1,5 @@
+AUX pymol-2.4.0-fix_bug119.patch 1078 BLAKE2B 78ed2953dcb20197de0a06c2c9c4c9f59be79cecbedfc910e7e530e5ad58452aab0da8540f4a4737023a3d56eba51530dfb1f2dfd59cdaf91192b6cd90383610 SHA512 ff4adb6de9c03f165e062698fe6359ab187ccf7cccba05c2e90363b44a53e5d4371e4942f21f26dd89ca8d1b7f9865f48e18f7d9a0214a5c6f453bee0ab49bb7
DIST pymol-1.8.4.0.png.xz 19528 BLAKE2B f3d23d4cedca3d8bb96b20646a548da4be570697e3346a11b01c5c3599b536ba4697be08472dfa8a4f6533167defc1a37a1de332931a73857319cb28fd42cd2b SHA512 40bb0d3f226476f6e047b5361956aad955232a97641474765eaa5204f0539aee3810e0266213618a45364f9f31f6eb18380b17e0c79f64065f7b62a9016caa7c
DIST pymol-2.4.0.tar.gz 10552539 BLAKE2B 34e31dce99c1e838b00389c3d7c29657534dd037349769bd6c8cb17028cfaaa856d5729760d3768fd43f61086cac30749a864fb4156c14eda07f9027430f0523 SHA512 2b19294197d58a808bf7bb7fa9f829c2ec582ba47a4380783a2b1eedda2ce4118cd398e01885db8c449e7fd5e4c08a1c40508e679ef42d8e183a6a52b031c02a
-EBUILD pymol-2.4.0.ebuild 3069 BLAKE2B 6395802d07ae931736745234b0c8efc9315c53e04056e6b64186e9298a6f8775bad5eb10424d6af22461ab025380135236af3b1d7274ff496e75c41965c9201b SHA512 212fc2bc066624fdac01bd246c7dbdbdb68ca49a03d18dedb0ea9889e90411f98e5ff1e69eb4c94c134ff13b6c17be6ecf50cf1d431f8ab1ba73c22bead3739c
+EBUILD pymol-2.4.0-r1.ebuild 3109 BLAKE2B f377236495edb43704594d376ec205ec54cba3aa7caa20ca8d2b811f085ff6e9f20a57973e6e2bf2c5922c93ff117a641cfa59076cff9bee3da8ff86cabdb97c SHA512 f353f5727daba497f8f9ba4028fc1ba69fee551385fd847c4117676ffbfebcc9bfa96aa08d596b8e587eb03bf80e28ae641e1ac3d5a47ad5068194e87bddcfd3
MISC metadata.xml 439 BLAKE2B 68df7dfc8ca3d4d4b18b419532bade69491f2e9362f10ae2397c804132b7fc9cd08dcf9703c0a89c44588c570e0c0c1bb9bffb7394d51faf1283142dbc5f70b3 SHA512 f5a3eded9b12fa715ba2e6e10b41c75d9bd823ca0dd40acbffc3f5bfc4b36c687f720b1a4e119b4540a31faf849985778cbd72b0b2cd35af8c52ca0f808d71e4
diff --git a/sci-chemistry/pymol/files/pymol-2.4.0-fix_bug119.patch b/sci-chemistry/pymol/files/pymol-2.4.0-fix_bug119.patch
new file mode 100644
index 000000000000..62512053fd71
--- /dev/null
+++ b/sci-chemistry/pymol/files/pymol-2.4.0-fix_bug119.patch
@@ -0,0 +1,34 @@
+From 885891cf60371674406cdff16b395e25cc13d8ae Mon Sep 17 00:00:00 2001
+From: Sebastian Keller <sebastian-keller@gmx.de>
+Date: Tue, 28 Jul 2020 22:50:53 +0200
+Subject: [PATCH] Don't drop the last model when updating the selector table
+
+The last assigned model in the Obj vector was at position modelCnt.
+Resizing the vector to modelCnt removes the last model, which later
+results in a crash when trying to access it.
+
+See https://github.com/schrodinger/pymol-open-source/issues/119
+---
+ layer3/Selector.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/layer3/Selector.cpp b/layer3/Selector.cpp
+index 546725b..637cd60 100644
+--- a/layer3/Selector.cpp
++++ b/layer3/Selector.cpp
+@@ -7284,11 +7284,11 @@ static sele_array_t SelectorUpdateTableSingleObject(PyMOLGlobals * G, ObjectMole
+ result[obj->SeleBase + at] = tag;
+ }
+ }
+ }
+ }
+- I->Obj.resize(modelCnt);
++ I->Obj.resize(modelCnt + 1);
+ I->Table.resize(c);
+
+ PRINTFD(G, FB_Selector)
+ "SelectorUpdateTableSingleObject-Debug: leaving...\n" ENDFD;
+
+--
+libgit2 1.0.1
+
diff --git a/sci-chemistry/pymol/pymol-2.4.0.ebuild b/sci-chemistry/pymol/pymol-2.4.0-r1.ebuild
index 5dd5d436776d..a21a210f478f 100644
--- a/sci-chemistry/pymol/pymol-2.4.0.ebuild
+++ b/sci-chemistry/pymol/pymol-2.4.0-r1.ebuild
@@ -3,10 +3,10 @@
EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8,9} )
+PYTHON_COMPAT=( python3_{6..9} )
DISTUTILS_USE_SETUPTOOLS=no
-inherit distutils-r1 desktop optfeature flag-o-matic xdg-utils
+inherit desktop optfeature flag-o-matic xdg distutils-r1
DESCRIPTION="A Python-extensible molecular graphics system"
HOMEPAGE="https://www.pymol.org/"
@@ -18,7 +18,7 @@ RESTRICT="mirror"
LICENSE="PSF-2.2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="web"
+IUSE="+netcdf web"
DEPEND="
dev-libs/msgpack[cxx]
@@ -33,6 +33,7 @@ DEPEND="
media-libs/libpng:0=
media-video/mpeg-tools
sys-libs/zlib
+ netcdf? ( sci-libs/netcdf:0= )
"
RDEPEND="${DEPEND}
sci-chemistry/chemical-mime-data
@@ -40,11 +41,15 @@ RDEPEND="${DEPEND}
S="${WORKDIR}"/${PN}-open-source-${PV}
+PATCHES=(
+ # https://github.com/schrodinger/pymol-open-source/issues/119
+ "${FILESDIR}/${P}-fix_bug119.patch"
+)
+
python_prepare_all() {
sed \
-e "s:\"/usr:\"${EPREFIX}/usr:g" \
-e "/ext_comp_args.*+=/s:\[.*\]$:\[\]:g" \
- -e "/import/s:argparse:argparseX:g" \
-i setup.py || die
sed \
@@ -57,6 +62,8 @@ python_prepare_all() {
append-cxxflags -std=c++0x
+ use !netcdf && mydistutilsargs=( --no-vmd-plugins )
+
distutils-r1_python_prepare_all
}
@@ -104,12 +111,6 @@ python_install_all() {
}
pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
+ xdg_pkg_postinst
optfeature "Electrostatic calculations" sci-chemistry/apbs sci-chemistry/pdb2pqr
}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}