diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-16 10:53:11 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-16 10:53:11 -0500 |
| commit | 8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b (patch) | |
| tree | bb1e83c18d1cc77cdebfc5aeb9b12ad39c9787b5 /sci-chemistry | |
| parent | f997c3ee588099e4f43e9ec845935868e3e60b8e (diff) | |
| download | baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.tar.gz baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.tar.xz baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.zip | |
Adding metadata
Diffstat (limited to 'sci-chemistry')
16 files changed, 604 insertions, 365 deletions
diff --git a/sci-chemistry/ParmEd/Manifest b/sci-chemistry/ParmEd/Manifest index ec26f250d1a6..c2528ac7febf 100644 --- a/sci-chemistry/ParmEd/Manifest +++ b/sci-chemistry/ParmEd/Manifest @@ -1 +1,2 @@ DIST ParmEd-4.3.0.tar.gz 70101920 BLAKE2B 66da35ece5f6c244b8205f3889bee3c86471b3d54814ba3dd6096ab5f057b1276d74b1fe4f37523a629ecb18412aafddc0ed13e68d24abe10dda40247d0b30e4 SHA512 44abe47e1a8c904d74c91fe5f1c30d52e8683f0bddc3abaaee51fa38075c1d6be7b5977bb72cb4f0d266aa157e39f6028e94d0240b8c63fa66f1a7ccd7c4b569 +DIST ParmEd-4.3.1.tar.gz 70098028 BLAKE2B 630879c9fc01b44c09b819b3132bf4091b2e506c6ef46d6037cf41f1956da2f63ebbdbec80f789a3e497fb047c56a832f4ca2adb649a4af7d0b57373543cca85 SHA512 5e6b6673533e61a65a26c4f1b305f0024f636b9cc77f9b4a0fc1395ffb23cf5f0d29b2d7f982322f28bf8348e569fd66181256cc30da0ab71a3b788aa8097ff7 diff --git a/sci-chemistry/ParmEd/ParmEd-4.3.1.ebuild b/sci-chemistry/ParmEd/ParmEd-4.3.1.ebuild new file mode 100644 index 000000000000..2e55563e6acb --- /dev/null +++ b/sci-chemistry/ParmEd/ParmEd-4.3.1.ebuild @@ -0,0 +1,36 @@ +# Copyright 2022-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 + +DESCRIPTION="Parameter and topology file editor and molecular mechanical simulator engine" +HOMEPAGE="https://parmed.github.io/ParmEd/html/index.html" +SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="dev-python/numpy[${PYTHON_USEDEP}]" +RDEPEND="${DEPEND}" + +PATCHES=( + # From Debian + "${FILESDIR}/${PN}-4.3.1-openmm-tests.patch" + "${FILESDIR}/${PN}-4.3.1-network-tests.patch" +) + +distutils_enable_tests pytest + +python_test() { + # disable online tests and those needing rdkit + local -x CI=true + epytest -k 'not test_deserialize_integrator and not test_download and not test_optimized_reader and not test_delete_bond' +} diff --git a/sci-chemistry/ParmEd/files/ParmEd-4.3.1-network-tests.patch b/sci-chemistry/ParmEd/files/ParmEd-4.3.1-network-tests.patch new file mode 100644 index 000000000000..684bf5f77a01 --- /dev/null +++ b/sci-chemistry/ParmEd/files/ParmEd-4.3.1-network-tests.patch @@ -0,0 +1,173 @@ +Description: Skip tests requiring network access. +Author: Andrius Merkys <merkys@debian.org> +Forwarded: not-needed +--- a/test/test_parmed_formats.py ++++ b/test/test_parmed_formats.py +@@ -2206,6 +2206,7 @@ + def setUp(self): + self.url = 'https://github.com/ParmEd/ParmEd/raw/master/test/files/' + ++ @unittest.skip("Not running tests requiring network access") + def test_download_off(self): + """ Tests automatic loading of downloaded OFF files """ + self.assertTrue(amber.AmberOFFLibrary.id_format(self.url + 'amino12.lib')) +@@ -2214,24 +2215,28 @@ + for key, item in off.items(): + self.assertIsInstance(item, ResidueTemplate) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_amber_prmtop(self): + """ Tests automatic loading of downloaded AmberParm object """ + self.assertTrue(amber.AmberFormat.id_format(self.url + 'tip4p.parm7')) + parm = amber.AmberFormat.parse(self.url + 'tip4p.parm7') + self.assertIsInstance(parm, amber.AmberParm) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_amoeba_prmtop(self): + """ Tests automatic loading of downloaded AmoebaParm object """ + self.assertTrue(amber.AmberFormat.id_format(self.url + 'nma.parm7')) + parm = amber.AmberFormat.parse(self.url + 'nma.parm7') + self.assertIsInstance(parm, amber.AmoebaParm) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_chamber_prmtop(self): + """ Tests automatic loading of downloaded ChamberParm object """ + self.assertTrue(amber.AmberFormat.id_format(self.url + 'ala_ala_ala.parm7')) + parm = amber.AmberFormat.parse(self.url + 'ala_ala_ala.parm7') + self.assertIsInstance(parm, amber.ChamberParm) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_raw_amber_format(self): + """ Tests automatic loading of downloaded AmberFormat object """ + self.assertTrue(amber.AmberFormat.id_format(self.url + 'cSPCE.mdl')) +@@ -2239,36 +2244,42 @@ + self.assertIsInstance(parm, amber.AmberFormat) + self.assertNotIsInstance(parm, amber.AmberParm) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_amber_restart_ascii(self): + """ Tests automatic loading of downloaded Amber ASCII restart file """ + self.assertTrue(amber.AmberAsciiRestart.id_format(self.url + 'trx.inpcrd')) + parm = amber.AmberAsciiRestart(self.url + 'trx.inpcrd') + self.assertIsInstance(parm, amber.AmberAsciiRestart) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_amber_traj_ascii(self): + """ Tests automatic loading of downloaded Amber mdcrd file """ + self.assertTrue(amber.AmberMdcrd.id_format(self.url + 'tz2.truncoct.crd')) + crd = amber.AmberMdcrd(self.url + 'tz2.truncoct.crd', natom=5827, hasbox=True) + self.assertIsInstance(crd, amber.AmberMdcrd) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_charmm_psf(self): + """ Tests automatic loading of downloaded CHARMM PSF file """ + self.assertTrue(formats.PSFFile.id_format(self.url + 'ala_ala_ala.psf')) + parm = formats.PSFFile.parse(self.url + 'ala_ala_ala.psf') + self.assertIsInstance(parm, charmm.CharmmPsfFile) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_charmm_crd(self): + """ Tests automatic loading of downloaded CHARMM crd file """ + self.assertTrue(charmm.CharmmCrdFile.id_format(self.url + 'dhfr_min_charmm.crd')) + crd = charmm.CharmmCrdFile(self.url + 'dhfr_min_charmm.crd') + self.assertIsInstance(crd, charmm.CharmmCrdFile) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_charmm_restart(self): + """ Tests automatic loading of downloaded CHARMM restart file """ + self.assertTrue(charmm.CharmmRstFile.id_format(self.url + 'sample-charmm.rst')) + crd = charmm.CharmmRstFile(self.url + 'sample-charmm.rst') + self.assertIsInstance(crd, charmm.CharmmRstFile) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_pdb(self): + """ Tests automatic loading of downloaded PDB files """ + self.assertTrue(formats.PDBFile.id_format(self.url + '4lzt.pdb')) +@@ -2276,6 +2287,7 @@ + self.assertIsInstance(pdb, Structure) + self.assertEqual(len(pdb.atoms), 1164) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_cif(self): + """ Tests automatic loading of downloaded PDBx/mmCIF files """ + self.assertTrue(formats.CIFFile.id_format(self.url + '4LZT.cif')) +@@ -2283,6 +2295,7 @@ + self.assertIsInstance(cif, Structure) + self.assertEqual(len(cif.atoms), 1164) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_mol2(self): + """ Tests automatic loading of downloaded mol2 and mol3 files """ + self.assertTrue(formats.Mol2File.id_format(self.url + 'test_multi.mol2')) +@@ -2292,6 +2305,7 @@ + mol3 = formats.Mol2File.parse(self.url + 'tripos9.mol2') + self.assertIsInstance(mol3, ResidueTemplate) + ++ @unittest.skip("Not running tests requiring network access") + @unittest.skipUnless(HAS_GROMACS, "Cannot run GROMACS tests without GROMACS") + def test_download_gromacs_topology(self): + """ Tests automatic loading of downloaded Gromacs topology file """ +@@ -2299,12 +2313,14 @@ + top = gromacs.GromacsTopologyFile(self.url + '1aki.charmm27.top') + self.assertIsInstance(top, gromacs.GromacsTopologyFile) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_gromacs_gro(self): + """ Tests automatic loading of downloaded Gromacs GRO file """ + self.assertTrue(gromacs.GromacsGroFile.id_format(self.url + '1aki.ff99sbildn.gro')) + gro = gromacs.GromacsGroFile.parse(self.url + '1aki.ff99sbildn.gro') + self.assertIsInstance(gro, Structure) + ++ @unittest.skip("Not running tests requiring network access") + def test_download_netcdf(self): + """ Tests that NetCDF files always fail when trying to download them """ + self.assertFalse(amber.NetCDFRestart.id_format(self.url + 'ncinpcrd.rst7')) +--- a/test/test_parmed_genopen.py ++++ b/test/test_parmed_genopen.py +@@ -53,18 +53,21 @@ + text = bz2.BZ2File(self.get_fn('test.bz2', written=True), 'r').read() + self.assertEqual(text.decode('ascii'), ALPHABET) + ++ @unittest.skip("Not running tests requiring network access") + def test_read_normal_URL(self): + """ Tests genopen reading a remote file """ + url = 'https://github.com/ParmEd/ParmEd/raw/master/test/files/tripos1.mol2' + with closing(genopen(url, 'r')) as f: + self.assertEqual(f.read(), open(get_fn('tripos1.mol2')).read()) + ++ @unittest.skip("Not running tests requiring network access") + def test_read_bzipped_URL(self): + """ Tests genopen reading a bzipped remote file """ + url = 'https://github.com/ParmEd/ParmEd/raw/master/test/files/4lzt.pdb.bz2' + with closing(genopen(url, 'r')) as f: + self.assertEqual(f.read(), genopen(get_fn('4lzt.pdb.bz2')).read()) + ++ @unittest.skip("Not running tests requiring network access") + def test_read_gzipped_URL(self): + """ Tests genopen reading a gzipped remote file """ + url = 'https://github.com/ParmEd/ParmEd/raw/master/test/files/4lzt.pdb.gz' +@@ -105,12 +108,14 @@ + text = bz2.BZ2File(self.get_fn('test.txt.bz2', written=True)).read() + self.assertEqual(text.decode('ascii'), ALPHABET*2) + ++ @unittest.skip("Not running tests requiring network access") + def test_append_remote_file(self): + """ Tests that genopen appending a remote file fails """ + url = 'http://q4md-forcefieldtools.org/REDDB/projects/W-73/tripos1.mol2' + self.assertRaises(ValueError, lambda: genopen(url, 'a')) + self.assertRaises(ValueError, lambda: genopen(url, 'w')) + ++ @unittest.skip("Not running tests requiring network access") + def test_read_bad_URL(self): + """ Tests proper exception handling of non-existent URL """ + self.assertRaises(IOError, lambda: genopen('http://asdkfjasdf.lib')) +--- a/test/test_parmed_structure.py ++++ b/test/test_parmed_structure.py +@@ -1384,6 +1384,7 @@ + self.assertEqual(len(self.sys2.cmaps), len(x2.cmaps)) + self.assertEqual(len(self.sys3.cmaps), len(x3.cmaps)) + ++ @unittest.skip("Not running tests requiring network access") + def test_save_psf2(self): + """ Test saving PSF file for unparametrized system """ + url = 'http://ambermd.org/tutorials/advanced/tutorial1/files/polyAT.pdb' diff --git a/sci-chemistry/ParmEd/files/ParmEd-4.3.1-openmm-tests.patch b/sci-chemistry/ParmEd/files/ParmEd-4.3.1-openmm-tests.patch new file mode 100644 index 000000000000..a16e57f5b58c --- /dev/null +++ b/sci-chemistry/ParmEd/files/ParmEd-4.3.1-openmm-tests.patch @@ -0,0 +1,108 @@ +Description: Skip tests which fail due to a compatibility issue with OpenMM 7.7.0. +Bug: https://github.com/ParmEd/ParmEd/issues/1242 +Author: Andrius Merkys <merkys@debian.org> +Forwarded: not-needed +--- a/test/test_format_conversions.py ++++ b/test/test_format_conversions.py +@@ -217,6 +217,7 @@ + self.assertTrue(parm.has_NBFIX()) + parm.createSystem() + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + @unittest.skipUnless(HAS_OPENMM, "Cannot test without OpenMM") + def test_energy_simple(self): + """ Check equal energies for Gromacs -> Amber conversion of Amber FF """ +@@ -237,6 +238,7 @@ + + self.check_energies(top, cong, parm, cona) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + @unittest.skipUnless(HAS_OPENMM, "Cannot test without OpenMM") + def test_rb_torsion_conversion(self): + """ Check equal energies for Gromacs -> Amber conversion of Amber FF """ +@@ -263,6 +265,7 @@ + + self.check_energies(top, cong, parm, cona) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + @unittest.skipUnless(HAS_OPENMM, "Cannot test without OpenMM") + def test_rb_torsion_conversion2(self): + """ Check equal energies for Gromacs -> Amber conversion of Amber FF """ +@@ -285,6 +288,7 @@ + + self.check_energies(top, cong, parm, cona) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + @unittest.skipUnless(HAS_OPENMM, "Cannot test without OpenMM") + def test_rb_torsion_conversion3(self): + """ Check equal energies for Gromacs -> Amber conversion of Amber FF """ +@@ -307,6 +311,7 @@ + + self.check_energies(top, cong, parm, cona) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + @unittest.skipUnless(HAS_OPENMM, "Cannot test without OpenMM") + def test_unconvertable_rb_torsion(self): + """ Check equal energies for Gromacs -> Amber conversion of Amber FF """ +--- a/test/test_openmm_amber_forces.py ++++ b/test/test_openmm_amber_forces.py +@@ -33,6 +33,7 @@ + @unittest.skipUnless(has_openmm, "Cannot test without OpenMM") + class TestAmberParm(TestCaseRelative, QuantityTestCase): + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + def test_gas_energy_conf_1(self): + """ Compare Amber and OpenMM gas phase energies and forces (topology 1) """ + parm = AmberParm( +@@ -73,6 +74,7 @@ + for x1, x2 in zip(p, s): + self.assertAlmostEqual(x1, x2, places=3) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + def test_gas_energy_conf_2(self): + """ Compare Amber and OpenMM gas phase energies and forces (topology 2) """ + parm = AmberParm( +@@ -154,6 +156,7 @@ + self.assertAlmostEqual(x1, x2, places=3) + + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + def test_gas_energy_conf_4(self): + """ Compare Amber and OpenMM gas phase energies and forces (topology 4) """ + parm = AmberParm(get_fn('ethanol_T0.prmtop'), get_fn('ethanol_T0.rst7')) +--- a/test/test_openmm_gromacs.py ++++ b/test/test_openmm_gromacs.py +@@ -97,6 +97,7 @@ + max_diff = get_max_diff(gmxfrc, ommfrc) + self.assertLess(max_diff, 0.05) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + def test_small_peptide(self): + """ Test alanine dipeptide Gromacs system nrg and frc (no PBC) """ + # Load the top and gro files +@@ -123,6 +124,7 @@ + max_diff = get_max_diff(gmxfrc, ommfrc) + self.assertLess(max_diff, 0.05) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + def test_small_double_peptide(self): + """ Test interacting peptides Gromacs system nrg and frc (no PBC) """ + # Load the top and gro files +@@ -208,6 +210,7 @@ + max_diff = get_max_diff(gmxfrc, ommfrc) + self.assertLess(max_diff, 5) + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + def test_pme_switch(self): + """ Tests the DHFR Gromacs system nrg and force (PME w/ switch) """ + # Load the top and gro files +--- a/test/test_openmm_reporters.py ++++ b/test/test_openmm_reporters.py +@@ -246,6 +246,7 @@ + rep.report(sim, frame=10) + rep.finalize() + ++ @unittest.skip("See https://github.com/ParmEd/ParmEd/issues/1242") + @unittest.skipUnless(HAS_GROMACS, 'Cannot test without GROMACS') + def test_reporters_pbc(self): + """ Test NetCDF and ASCII restart and trajectory reporters (w/ PBC) """ diff --git a/sci-chemistry/chemex/Manifest b/sci-chemistry/chemex/Manifest index 6c773b88604d..4f4a3e63e643 100644 --- a/sci-chemistry/chemex/Manifest +++ b/sci-chemistry/chemex/Manifest @@ -1,2 +1,2 @@ -DIST chemex-2026.4.0.tar.gz 139333 BLAKE2B 7519aa31d34bef57abd928df751803222c92521b672451341daf0aefb0e28c55195ca640e7187c6cd4f66381eb7dda944a381b1efb6344a8fad7e852d0371dc9 SHA512 c9fa9d86128999823de3e9abb2dc0e518e7fceec0b30c361b96f7752dfcb7c8b18d8147ebf06e965c565faba384e07a9e92cb450120a7fa33689150233c3fc39 DIST chemex-2026.5.0.tar.gz 139373 BLAKE2B 226e3e6119b7c81567ef949672371190b76e69d0551c75137cf95d0b16875f2dba83c3dd1be29def6fb9002d779422ef1f683603ef2eb1e398eb419edf508493 SHA512 831978bf149d841660e5ea98eab18a2d21b7969fbfc7f36cfcf74cada5d2fa19fdfc585d4aaffc85b3b0c1cb8124d327716ae23ffa63bf3ac485187fad5934ae +DIST chemex-2026.6.0.tar.gz 155098 BLAKE2B 7930a4b59eea06d02059a09805c9812c3c04d1faecfb0718f866c0b79c53f7542988fa269908c7bf8ad81805265ac42012581e77442c49e832a9d7525abc58e5 SHA512 61d2a3ba9afd2a3e789a39057e49383147949bd538940d00bbe20367637ce8ddcaa15ab67b9c934a6e5ac59685106ed3238e5b7437a07167e1a95b2689d12307 diff --git a/sci-chemistry/chemex/chemex-2026.4.0.ebuild b/sci-chemistry/chemex/chemex-2026.6.0.ebuild index ad9ff99811c4..ad9ff99811c4 100644 --- a/sci-chemistry/chemex/chemex-2026.4.0.ebuild +++ b/sci-chemistry/chemex/chemex-2026.6.0.ebuild diff --git a/sci-chemistry/molmol/molmol-2k_p2-r10.ebuild b/sci-chemistry/molmol/molmol-2k_p2-r11.ebuild index 045af390992a..8864d50030f1 100644 --- a/sci-chemistry/molmol/molmol-2k_p2-r10.ebuild +++ b/sci-chemistry/molmol/molmol-2k_p2-r11.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -41,7 +41,7 @@ RDEPEND=" virtual/zlib:= virtual/glu x11-libs/libXpm - x11-libs/motif:0 + x11-libs/motif:0= x11-apps/xdpyinfo media-fonts/font-adobe-100dpi " diff --git a/sci-chemistry/molmol/molmol-2k_p2-r9.ebuild b/sci-chemistry/molmol/molmol-2k_p2-r9.ebuild deleted file mode 100644 index 508f37f78209..000000000000 --- a/sci-chemistry/molmol/molmol-2k_p2-r9.ebuild +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit desktop toolchain-funcs - -MY_PV="${PV/_p/.}.0" -MY_P="${PN}-${MY_PV}" - -DESCRIPTION="Publication-quality molecular visualization package" - -# Original page dead -#HOMEPAGE="http://hugin.ethz.ch/wuthrich/software/molmol/index.html" -HOMEPAGE=" - http://www.csb.yale.edu/userguides/graphics/molmol/molmol_descrip.html - http://pjf.net/science/molmol.html -" -SRC_URI=" - ftp://ftp.mol.biol.ethz.ch/software/MOLMOL/unix-gzip/${MY_P}-src.tar.gz - ftp://ftp.mol.biol.ethz.ch/software/MOLMOL/unix-gzip/${MY_P}-doc.tar.gz - https://dev.gentoo.org/~soap/distfiles/${PN}-patches.tbz2 - https://dev.gentoo.org/~pacho/${PN}/${PN}_256.png -" -S="${WORKDIR}" - -LICENSE="molmol" -SLOT="0" -KEYWORDS="amd64 ~ppc ~x86" - -RDEPEND=" - || ( - ( - media-libs/mesa[X(+)] - x11-libs/libGLw - ) - media-libs/mesa[motif(-),X(+)] - ) - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/tiff:= - virtual/zlib:= - virtual/glu - x11-libs/libXpm - x11-libs/motif:0 - x11-apps/xdpyinfo -" -DEPEND="${RDEPEND}" - -PATCHES=( - "${FILESDIR}"/${P}-gcc14-fix.patch -) - -pkg_setup() { - MMDIR="/usr/$(get_libdir)/molmol" -} - -src_prepare() { - default - - rm -rf tiff* - # Patch from http://pjf.net/science/molmol.html, where src.rpm is provided - eapply "${WORKDIR}"/patches/pjf_RH9_molmol2k2.diff - - eapply "${WORKDIR}"/patches/ldflags.patch - eapply "${WORKDIR}"/patches/opengl.patch - - ln -s makedef.lnx "${S}"/makedef || die - - sed \ - -e "s|ksh|sh|" \ - -e "s|^MOLMOLHOME.*|MOLMOLHOME=${EPREFIX}/${MMDIR};MOLMOLDEV=\"Motif/OpenGL\"|" \ - -i "${S}"/molmol || die - sed \ - -e "s|^MCFLAGS.*|MCFLAGS = ${CFLAGS}|" \ - -e "s|^CC.*|CC = $(tc-getCC)|" \ - -i "${S}"/makedef || die - - eapply "${WORKDIR}"/patches/cast.patch - eapply -p0 "${WORKDIR}"/patches/libpng15.patch - - # patch from fink - # fixes numerous bad bracings and hopefully the OGL bug 429974 - eapply "${WORKDIR}"/patches/${P}-fink.patch - - eapply "${WORKDIR}"/patches/wild.patch - tc-export AR - - # Parallel build fails (#880621) and cannot be disabled by MAKEOPTS - # (#880621, #941488). - find . -name Makefile -exec sed -i -e "1i .NOTPARALLEL:" {} + || die - # Try to drop the ugly hardcoded sleep now that make is really - # serial - sed -i -e 's/sleep 2/sleep 0/g' makedef || die -} - -src_install() { - dobin molmol - - exeinto ${MMDIR} - doexe src/main/molmol - insinto ${MMDIR} - doins -r auxil help macros man setup tips - - make_desktop_entry "${PN}" MOLMOL - newicon "${DISTDIR}/${PN}_256.png" "${PN}.png" - - einstalldocs - dodoc HISTORY -} diff --git a/sci-chemistry/openbabel/Manifest b/sci-chemistry/openbabel/Manifest index 336f074b2917..ea27a18b1136 100644 --- a/sci-chemistry/openbabel/Manifest +++ b/sci-chemistry/openbabel/Manifest @@ -1 +1,2 @@ DIST openbabel-3.1.1_p20241221.tar.gz 36864825 BLAKE2B 55e6fbdd5c50a557c40fd5ffaca41753f73175b2b4eea22abe5c2b0031363e3c133acf9a8daf5b1cb362a3adb6398204497af036b9a7ba3630c1d8ccbce0f9d3 SHA512 44340c3d08b22783cf6a702c192480869b73fef21104641feaf5cbcd51f693fd17bb05ad31a3520f330aa57733d6f4be707b3c1243b3010d6ceccca8974e732f +DIST openbabel-3.2.0.tar.gz 37815471 BLAKE2B b94e4de7a190c8e3b63adcb1f50ad114eb14c30809c2e85f297872b243c4fb6a6001b86d705dc5276d92b74a5122d31a04f26db48547d56e35a6bfacbefac6b1 SHA512 0def0b8c6185ec648c41b32c9c2963329f764b57105efe895fa435fd2ee4878b70141b0ac9e80dddbc82e2ca95281955f612a21ba0dd5c0e7ef715061acf8234 diff --git a/sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch b/sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch new file mode 100644 index 000000000000..099a01525fdd --- /dev/null +++ b/sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch @@ -0,0 +1,11 @@ +# respect userflags +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -427,7 +427,6 @@ endif() + #define various build types + if(CMAKE_COMPILER_IS_GNUCXX) + set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG") +- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g") + set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -g3 -fno-inline") + endif() + diff --git a/sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch b/sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch new file mode 100644 index 000000000000..1a2cdbc4dcfa --- /dev/null +++ b/sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch @@ -0,0 +1,93 @@ +See PR pending https://github.com/openbabel/openbabel/pull/2969.patch +fix headers with system InChI / various changes to handle InChI option +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -144,6 +144,7 @@ option(OPENBABEL_USE_SYSTEM_INCHI + "Use the system inchi library." OFF) + if(OPENBABEL_USE_SYSTEM_INCHI) + find_package(Inchi REQUIRED) ++ add_definitions(-DHAVE_SYSTEM_INCHI) + if (NOT INCHI_FOUND) + message(FATAL_ERROR "Inchi library not found.") + endif() +--- a/include/openbabel/inchiformat.h ++++ b/include/openbabel/inchiformat.h +@@ -21,8 +21,13 @@ GNU General Public License for more details. + #include <openbabel/obconversion.h> + #include <openbabel/obmolecformat.h> + ++#ifdef HAVE_SYSTEM_INCHI ++#include <inchi_api.h> ++#define CURRENT_VER "unknown" // bcf_s.h is not packaged ++#else + #include "../inchi/inchi_api.h" + #include "../inchi/bcf_s.h" // for CURRENT_VER ++#endif + #ifdef HAVE_SSTREAM + #include <sstream> + #else + +--- a/include/CMakeLists.txt ++++ b/include/CMakeLists.txt +@@ -5,9 +5,13 @@ file(GLOB stereo_headers openbabel/stereo/*.h) + file(GLOB depict_headers openbabel/depict/*.h) + file(GLOB lbfgs_headers LBFGS/*.h) + ++if(WITH_INCHI) + if(NOT OPENBABEL_USE_SYSTEM_INCHI) + install(FILES inchi/inchi_api.h DESTINATION include/inchi) + endif(NOT OPENBABEL_USE_SYSTEM_INCHI) ++else(WITH_INCHI) ++list(FILTER openbabel_headers EXCLUDE REGEX ".*inchiformat\\.h$") ++endif(WITH_INCHI) + install(FILES chemdrawcdx.h DESTINATION ${OB_INCLUDE_DIRS}/openbabel) + install(FILES ${openbabel_headers} DESTINATION ${OB_INCLUDE_DIRS}/openbabel) + install(FILES ${math_headers} DESTINATION ${OB_INCLUDE_DIRS}/openbabel/math) +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -34,10 +34,15 @@ set(descriptors + descriptors/cmpdfilter.cpp + descriptors/groupcontrib.cpp + descriptors/filters.cpp +- descriptors/inchidescriptor.cpp + descriptors/smartsdescriptors.cpp + ) + ++if(WITH_INCHI) ++ set(descriptors ${descriptors} ++ descriptors/inchidescriptor.cpp ++ ) ++endif() ++ + set(fingerprints + fingerprints/finger2.cpp + fingerprints/finger3.cpp + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -142,15 +142,17 @@ endif() + option(WITH_INCHI "Build inchi support" ON) + option(OPENBABEL_USE_SYSTEM_INCHI + "Use the system inchi library." OFF) +-if(OPENBABEL_USE_SYSTEM_INCHI) +- find_package(Inchi REQUIRED) +- add_definitions(-DHAVE_SYSTEM_INCHI) +- if (NOT INCHI_FOUND) +- message(FATAL_ERROR "Inchi library not found.") ++if(WITH_INCHI) ++ if(OPENBABEL_USE_SYSTEM_INCHI) ++ find_package(Inchi REQUIRED) ++ add_definitions(-DHAVE_SYSTEM_INCHI) ++ if (NOT INCHI_FOUND) ++ message(FATAL_ERROR "Inchi library not found.") ++ endif() ++ else() ++ message(STATUS "Using included inchi library.") ++ set(INCHI_LIBRARY inchi) + endif() +-else() +- message(STATUS "Using included inchi library.") +- set(INCHI_LIBRARY inchi) + endif() + + if(WIN32) diff --git a/sci-chemistry/openbabel/files/openbabel-python-3.2.cmake b/sci-chemistry/openbabel/files/openbabel-python-3.2.cmake new file mode 100644 index 000000000000..5b1b275ec67c --- /dev/null +++ b/sci-chemistry/openbabel/files/openbabel-python-3.2.cmake @@ -0,0 +1,105 @@ +# The following is a cmake fragment taken from scripts/CMakeLists.txt and +# and test/CMakeLists.txt edited for Gentoo python multibuild compatibility. +# PYTHON_GENTOO_BINDINGS must be set instead of PYTHON_BINDINGS + +if (PYTHON_GENTOO_BINDINGS) + # Tags should be edited to reflect the active python implementation + set(EPYTHON @@EPYTHON@@) + set(PYTHON_INCLUDE_DIR @@PYTHON_INCLUDE_DIR@@) + set(PYTHON_LIBS @@PYTHON_LIBS@@) + set(PYTHON_SITEDIR @@PYTHON_SITEDIR@@) + + add_custom_command( + OUTPUT ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py + COMMAND ${SWIG_EXECUTABLE} -python -c++ -small -O -templatereduce -naturalvar -I${PYTHON_INCLUDE_DIR} -I${CMAKE_SOURCE_DIR}/include -I${CMAKE_BINARY_DIR}/include -o ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp ${eigen_define} -outdir ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON} ${CMAKE_SOURCE_DIR}/scripts/openbabel-python.i + MAIN_DEPENDENCY openbabel-python.i + VERBATIM + ) + + configure_file(${CMAKE_SOURCE_DIR}/scripts/python/openbabel/__init__.py.in + ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/__init__.py) + + add_library(bindings_python_${EPYTHON} MODULE ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel-python.cpp) + target_include_directories(bindings_python_${EPYTHON} PRIVATE ${PYTHON_INCLUDE_DIR}) + target_link_libraries(bindings_python_${EPYTHON} ${PYTHON_LIBS} ${BABEL_LIBRARY}) + + set_target_properties(bindings_python_${EPYTHON} + PROPERTIES + OUTPUT_NAME _openbabel + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel + PREFIX "" + SUFFIX .so ) + + add_dependencies(bindings_python_${EPYTHON} openbabel) + + install(TARGETS bindings_python_${EPYTHON} + LIBRARY DESTINATION ${PYTHON_SITEDIR}/openbabel + COMPONENT bindings_python) + install(FILES ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/__init__.py + DESTINATION ${PYTHON_SITEDIR}/openbabel + COMPONENT bindings_python) + install(FILES ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py + DESTINATION ${PYTHON_SITEDIR}/openbabel + COMPONENT bindings_python) + install(FILES ${CMAKE_SOURCE_DIR}/scripts/python/openbabel/pybel.py + DESTINATION ${PYTHON_SITEDIR}/openbabel + COMPONENT bindings_python) + + if (ENABLE_TESTS) + # Make sure all module files are together in the same directory for testing + add_custom_command(TARGET bindings_python_${EPYTHON} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/scripts/${EPYTHON}/openbabel.py ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/ + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/scripts/python/openbabel/pybel.py ${CMAKE_BINARY_DIR}/scripts/${EPYTHON}/openbabel/) + set(TEST_SOURCE_DIR ${CMAKE_SOURCE_DIR}/test) + # define TESTDATADIR for tests that need input files + add_definitions(-DTESTDATADIR="${TEST_SOURCE_DIR}/files/") + # define FORMATDIR for location of format plugin binaries + set(FORMATDIR "${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/") + add_definitions(-DFORMATDIR="${FORMATDIR}/") + include_directories(${TEST_SOURCE_DIR}) + + # The macro is modified from cmake/modules/UsePythonTest.cmake + MACRO(ADD_PYTHON_TEST TESTNAME FILENAME) + GET_SOURCE_FILE_PROPERTY(loc ${FILENAME} LOCATION) + STRING(REGEX REPLACE ";" " " wo_semicolumn "${ARGN}") + FILE(WRITE ${CMAKE_BINARY_DIR}/test/${TESTNAME}.cmake +" + MESSAGE(\"${PYTHONPATH}\") + EXECUTE_PROCESS( + COMMAND ${EPYTHON} ${loc} ${wo_semicolumn} + RESULT_VARIABLE import_res + OUTPUT_VARIABLE import_output + ERROR_VARIABLE import_output + ) + + # Pass the output back to ctest + IF(import_output) + MESSAGE(\${import_output}) + ENDIF(import_output) + IF(import_res) + MESSAGE(SEND_ERROR \${import_res}) + ENDIF(import_res) +" + ) + ADD_TEST(${TESTNAME} ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/test/${TESTNAME}.cmake) + ENDMACRO(ADD_PYTHON_TEST) + + set(pybindtests + bindings + _pybel + example + obconv_writers + ketformat + cdjsonformat + pcjsonformat + #roundtrip #really long and heavy, could be >1500s + ) + foreach(pybindtest ${pybindtests}) + ADD_PYTHON_TEST(pybindtest_${pybindtest}_${EPYTHON} ${TEST_SOURCE_DIR}/test${pybindtest}.py) + set_tests_properties(pybindtest_${pybindtest}_${EPYTHON} PROPERTIES + ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/scripts/${EPYTHON}:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX};LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/scripts/${EPYTHON}:${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}:\$ENV{LD_LIBRARY_PATH};BABEL_LIBDIR=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/;BABEL_DATADIR=${CMAKE_SOURCE_DIR}/data" + FAIL_REGULAR_EXPRESSION "ERROR;FAIL;Test failed" + ) + endforeach(pybindtest ${pybindtests}) + endif (ENABLE_TESTS) +endif(PYTHON_GENTOO_BINDINGS) diff --git a/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild b/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild deleted file mode 100644 index 1cc66e2c7a02..000000000000 --- a/sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild +++ /dev/null @@ -1,238 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{13..14} ) -WX_GTK_VER=3.2-gtk3 - -inherit cmake desktop flag-o-matic perl-functions python-r1 toolchain-funcs wxwidgets xdg - -DESCRIPTION="Interconverts file formats used in molecular modeling" -HOMEPAGE="https://openbabel.org/ https://github.com/openbabel/openbabel/" - -if [[ "${PV}" == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/openbabel/${PN}.git" -else - if [[ "${PV}" == *_p* ]]; then # eg., openbabel-3.1.1_p20210325 - # Set to commit hash - OPENBABEL_COMMIT="889c350feb179b43aa43985799910149d4eaa2bc" - SRC_URI="https://github.com/${PN}/${PN}/archive/${OPENBABEL_COMMIT}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${OPENBABEL_COMMIT}" - else - MY_P="${PN}-$(ver_rs 1- -)" - SRC_URI="https://github.com/${PN}/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${MY_P}" - fi - KEYWORDS="amd64 ~arm ~x86" -fi - -LICENSE="GPL-2" -# See src/CMakeLists.txt for LIBRARY_VERSION -SLOT="0/7.0.0" -IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 doc examples +inchi json minimal openmp perl png python test wxwidgets" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) - test? ( inchi !minimal python? ( json png ) ${PYTHON_REQUIRED_USE} ) -" - -RDEPEND=" - dev-cpp/eigen:= - virtual/zlib:= - inchi? ( sci-libs/inchi ) - json? ( >=dev-libs/rapidjson-1.1.0 ) - !minimal? ( - dev-libs/libxml2:2= - png? ( x11-libs/cairo ) - ) - perl? ( dev-lang/perl:= ) - python? ( ${PYTHON_DEPS} ) - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}=[X] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-lang/perl - doc? ( - app-text/doxygen - dev-texlive/texlive-latex - ) - perl? ( dev-lang/swig ) - python? ( dev-lang/swig ) - test? ( dev-lang/python ) -" - -PATCHES=( - # Set include dir only for global implementation - "${FILESDIR}"/${PN}-3.1.1_p2024-fix_pybind.patch - # prevent installation of examples in /usr/bin - "${FILESDIR}"/${PN}-3.1.1_p2024-fix_examples.patch - # cmake4-compat - "${FILESDIR}"/${PN}-3.1.1_p2024-cmake4.patch -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -gen_python_bindings() { - mkdir -p scripts/${EPYTHON} || die - # Appends to scripts/CMakeLists.txt, substituting the correct tags, for - # each valid python implementation, - cat "${FILESDIR}"/${PN}-python-r2.cmake | \ - sed -e "s|@@EPYTHON@@|${EPYTHON}|" \ - -e "s|@@PYTHON_INCLUDE_DIR@@|$(python_get_includedir)|" \ - -e "s|@@PYTHON_LIBS@@|$(python_get_LIBS)|" \ - -e "s|@@PYTHON_SITEDIR@@|$(python_get_sitedir)|" >> \ - scripts/CMakeLists.txt || die -} - -src_prepare() { - cmake_src_prepare - - # Prevent bundled inchi as fallback - rm -r include/inchi || die - - use python && python_foreach_impl gen_python_bindings -} - -src_configure() { - if use json; then - # -DOPTIMIZE_NATIVE=ON also forces -march=native so use - # cpu_flags to set defines instead - use cpu_flags_x86_sse2 && append-cppflags -DRAPIDJSON_SSE2 - use cpu_flags_x86_sse4_2 && append-cppflags -DRAPIDJSON_SSE42 - use cpu_flags_arm_neon && append-cppflags -DRAPIDJSON_NEON - fi - - use wxwidgets && setup-wxwidgets - - use_bindings() { - (use perl || use python) && (echo 'yes' || die) || (echo 'no' || die) - } - - local mycmakeargs=( - $(cmake_use_find_package png Cairo) - $(cmake_use_find_package wxwidgets wxWidgets) - -DCMAKE_SKIP_RPATH=ON - -DBUILD_DOCS=$(usex doc) - -DBUILD_EXAMPLES=$(usex examples) - -DBUILD_GUI=$(usex wxwidgets) - -DENABLE_OPENMP=$(usex openmp) - -DENABLE_TESTS=$(usex test) - -DMINIMAL_BUILD=$(usex minimal) - # All three required to comply w/ useflag and prevent bundled lib - -DOPENBABEL_USE_SYSTEM_INCHI=$(usex inchi) - -DADD_INCHI_FORMAT=$(usex inchi) - -DWITH_INCHI=$(usex inchi) - -DOPTIMIZE_NATIVE=OFF - -DPERL_BINDINGS=$(usex perl) - -DPYTHON_BINDINGS=$(usex python) - -DRUN_SWIG=$(use_bindings) - -DWITH_COORDGEN=false - -DWITH_JSON=$(usex json) - # MEAPARSER - -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON - -DWITH_MAEPARSER=false - ) - - if use perl; then - perl_set_version - mycmakeargs+=( - -DPERL_INSTDIR="${VENDOR_ARCH}" - ) - fi - - if use test; then - # Help cmake find the python interpreter when dev-lang/python-exec is built - # without native-symlinks support. - python_setup - mycmakeargs+=( - -DPYTHON_EXECUTABLE="${PYTHON}" - ) - fi - - cmake_src_configure -} - -src_test() { - local CMAKE_SKIP_TESTS=( - # https://github.com/openbabel/openbabel/issues/2766 - test_align_{4,5} - ) - ! use wxwidgets && CMAKE_SKIP_TESTS+=( - test_tautomer_{22,27} - ) - - # Weird deadlock causes system_load to keep rising - cmake_src_test -j1 -} - -openbabel-optimize() { - python_optimize "${D}/$(python_get_sitedir)"/openbabel || die -} - -src_install() { - cmake_src_install - - docinto html - for x in doc/*.html; do - [[ ${x} != doc/api*.html ]] && dodoc ${x} - done - - if use doc; then - cmake_src_install docs - docinto html/API - dodoc -r doc/API/html/. - fi - - if use examples; then - # no compression since we want ready-to-run scripts - docompress -x /usr/share/doc/${PF}/examples - - # ${PV} doesn't correspond to the internal BABEL_VERSION for - # live or patch release builds so we grep it - local babel_ver=$( - grep '^#define BABEL_VERSION' < \ - "${BUILD_DIR}"/include/openbabel/babelconfig.h | \ - cut -d \" -f 2 || die - ) - docinto examples/povray - dodoc doc/dioxin.* doc/README*.pov* - # Needed by the povray example - dosym ../../../../${PN}/${babel_ver}/babel_povray3.inc \ - /usr/share/doc/${PF}/examples/povray/babel31.inc - fi - - if use perl; then - docinto / - newdoc scripts/perl/Changes Changes.perl - newdoc scripts/perl/README README.perl - if use examples; then - docinto examples/perl - dodoc -r scripts/perl/examples/. - fi - fi - - if use python; then - python_foreach_impl openbabel-optimize - docinto / - newdoc scripts/python/README.rst README.python.rst - docinto html - dodoc scripts/python/*.html - if use examples; then - docinto examples/python - dodoc -r scripts/python/examples/. - fi - fi - - if use wxwidgets; then - make_desktop_entry obgui "Open Babel" ${PN} - newicon "${S}"/src/GUI/babel.xpm ${PN}.xpm - fi -} diff --git a/sci-chemistry/openbabel/openbabel-9999.ebuild b/sci-chemistry/openbabel/openbabel-3.2.0.ebuild index 780e60991924..0df337b4de62 100644 --- a/sci-chemistry/openbabel/openbabel-9999.ebuild +++ b/sci-chemistry/openbabel/openbabel-3.2.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,9 +16,9 @@ if [[ "${PV}" == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/openbabel/${PN}.git" else - if [[ "${PV}" == *_p* ]]; then # eg., openbabel-3.1.1_p20210325 + if [[ "${PV}" == *_p* ]]; then # Set to commit hash - OPENBABEL_COMMIT="889c350feb179b43aa43985799910149d4eaa2bc" + OPENBABEL_COMMIT="" SRC_URI="https://github.com/${PN}/${PN}/archive/${OPENBABEL_COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN}-${OPENBABEL_COMMIT}" else @@ -31,7 +31,7 @@ fi LICENSE="GPL-2" # See src/CMakeLists.txt for LIBRARY_VERSION -SLOT="0/7.0.0" +SLOT="0/8.0.0" IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_2 doc examples +inchi json minimal openmp perl png python test wxwidgets ${GENTOO_PERL_USESTRING}" RESTRICT="!test? ( test )" REQUIRED_USE=" @@ -68,10 +68,12 @@ BDEPEND=" " PATCHES=( - # Set include dir only for global implementation - "${FILESDIR}"/${PN}-3.1.1_p2024-fix_pybind.patch # prevent installation of examples in /usr/bin "${FILESDIR}"/${PN}-3.1.1_p2024-fix_examples.patch + # fix headers for InChi + "${FILESDIR}"/${PN}-3.2.0-system_inchi.patch + # filter -O2 + "${FILESDIR}"/${PN}-3.2.0-cflags.patch ) pkg_pretend() { @@ -86,7 +88,7 @@ gen_python_bindings() { mkdir -p scripts/${EPYTHON} || die # Appends to scripts/CMakeLists.txt, substituting the correct tags, for # each valid python implementation, - cat "${FILESDIR}"/${PN}-python-r2.cmake | \ + cat "${FILESDIR}"/${PN}-python-3.2.cmake | \ sed -e "s|@@EPYTHON@@|${EPYTHON}|" \ -e "s|@@PYTHON_INCLUDE_DIR@@|$(python_get_includedir)|" \ -e "s|@@PYTHON_LIBS@@|$(python_get_LIBS)|" \ @@ -134,7 +136,7 @@ src_configure() { -DWITH_INCHI=$(usex inchi) -DOPTIMIZE_NATIVE=OFF -DPERL_BINDINGS=$(usex perl) - -DPYTHON_BINDINGS=$(usex python) + -DPYTHON_BINDINGS=OFF -DRUN_SWIG=$(use_bindings) -DWITH_COORDGEN=false -DWITH_JSON=$(usex json) @@ -150,12 +152,17 @@ src_configure() { ) fi + if use python; then + mycmakeargs+=( + -DPYTHON_GENTOO_BINDINGS=ON + ) + fi + if use test; then - # Help cmake find the python interpreter when dev-lang/python-exec is built - # without native-symlinks support. + # used for unittest python_setup mycmakeargs+=( - -DPYTHON_EXECUTABLE="${PYTHON}" + -DPython_EXECUTABLE="${PYTHON}" ) fi @@ -168,9 +175,9 @@ src_compile() { } src_test() { - local CMAKE_SKIP_TESTS=( - # https://github.com/openbabel/openbabel/issues/2766 - test_align_{4,5} + local CMAKE_SKIP_TESTS=() + ! use json && CMAKE_SKIP_TESTS+=( + test_ketformat* ) ! use wxwidgets && CMAKE_SKIP_TESTS+=( test_tautomer_{22,27} @@ -239,7 +246,7 @@ src_install() { fi if use wxwidgets; then - make_desktop_entry obgui "Open Babel" ${PN} + make_desktop_entry --eapi9 obgui -n "Open Babel" -i ${PN} newicon "${S}"/src/GUI/babel.xpm ${PN}.xpm fi } diff --git a/sci-chemistry/propka/files/propka-3.5.1-python3.14.patch b/sci-chemistry/propka/files/propka-3.5.1-python3.14.patch new file mode 100644 index 000000000000..383c20e039f3 --- /dev/null +++ b/sci-chemistry/propka/files/propka-3.5.1-python3.14.patch @@ -0,0 +1,15 @@ +Description: Fix FTBFS due to the change in annotation handling in Python 3.14. +Author: Matthew Burn +Forwarded: https://github.com/jensengroup/propka/pull/199 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1123164 +--- a/propka/parameters.py ++++ b/propka/parameters.py +@@ -145,7 +145,7 @@ + if len(words) == 0: + return + # parse the words +- typeannotation = self.__annotations__.get(words[0]) ++ typeannotation = type(self).__annotations__.get(words[0]) + if typeannotation is _T_NUMBER_DICTIONARY: + self.parse_to_number_dictionary(words) + elif typeannotation is _T_STRING_LIST: diff --git a/sci-chemistry/propka/propka-3.5.1-r1.ebuild b/sci-chemistry/propka/propka-3.5.1-r1.ebuild new file mode 100644 index 000000000000..5b6774b751df --- /dev/null +++ b/sci-chemistry/propka/propka-3.5.1-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 + +DESCRIPTION="pKa-value prediction of ionizable groups in protein and protein-ligand complexes" +HOMEPAGE="https://github.com/jensengroup/propka" +SRC_URI="https://github.com/jensengroup/propka/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}/${PN}-3.5.1-python3.14.patch" +) + +python_prepare_all() { + # Do not install the tests + sed -e "/exclude/s:scripts:\', \'tests:g" \ + -i setup.py || die + distutils-r1_python_prepare_all +} + +python_test() { + epytest -k 'not test_molecular_container' +} |
