summaryrefslogtreecommitdiff
path: root/sci-chemistry
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-16 10:53:11 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-16 10:53:11 -0500
commit8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b (patch)
treebb1e83c18d1cc77cdebfc5aeb9b12ad39c9787b5 /sci-chemistry
parentf997c3ee588099e4f43e9ec845935868e3e60b8e (diff)
downloadbaldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.tar.gz
baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.tar.xz
baldeagleos-repo-8e65dc62f3f9f6b8f7b890fefedbf4ac05dfde0b.zip
Adding metadata
Diffstat (limited to 'sci-chemistry')
-rw-r--r--sci-chemistry/ParmEd/Manifest1
-rw-r--r--sci-chemistry/ParmEd/ParmEd-4.3.1.ebuild36
-rw-r--r--sci-chemistry/ParmEd/files/ParmEd-4.3.1-network-tests.patch173
-rw-r--r--sci-chemistry/ParmEd/files/ParmEd-4.3.1-openmm-tests.patch108
-rw-r--r--sci-chemistry/chemex/Manifest2
-rw-r--r--sci-chemistry/chemex/chemex-2026.6.0.ebuild (renamed from sci-chemistry/chemex/chemex-2026.4.0.ebuild)0
-rw-r--r--sci-chemistry/molmol/molmol-2k_p2-r11.ebuild (renamed from sci-chemistry/molmol/molmol-2k_p2-r10.ebuild)4
-rw-r--r--sci-chemistry/molmol/molmol-2k_p2-r9.ebuild109
-rw-r--r--sci-chemistry/openbabel/Manifest1
-rw-r--r--sci-chemistry/openbabel/files/openbabel-3.2.0-cflags.patch11
-rw-r--r--sci-chemistry/openbabel/files/openbabel-3.2.0-system_inchi.patch93
-rw-r--r--sci-chemistry/openbabel/files/openbabel-python-3.2.cmake105
-rw-r--r--sci-chemistry/openbabel/openbabel-3.1.1_p20241221-r2.ebuild238
-rw-r--r--sci-chemistry/openbabel/openbabel-3.2.0.ebuild (renamed from sci-chemistry/openbabel/openbabel-9999.ebuild)37
-rw-r--r--sci-chemistry/propka/files/propka-3.5.1-python3.14.patch15
-rw-r--r--sci-chemistry/propka/propka-3.5.1-r1.ebuild36
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'
+}