commit: c9b351c2b953289709c6cd8c1d74596266794b71 Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com> AuthorDate: Mon Jun 3 13:31:48 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Jun 4 07:12:38 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9b351c2
media-gfx/alembic: add 1.8.6-r1 to fix python build Failed due to missing export and potentially linking to wrong boost::python lib caused by imath. Closes: https://bugs.gentoo.org/929611 Closes: https://bugs.gentoo.org/926810 Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com> Signed-off-by: Sam James <sam <AT> gentoo.org> media-gfx/alembic/alembic-1.8.6-r1.ebuild | 70 +++++++++++++++++++++ media-gfx/alembic/files/alembic-1.8.6-py312.patch | 75 +++++++++++++++++++++++ 2 files changed, 145 insertions(+) diff --git a/media-gfx/alembic/alembic-1.8.6-r1.ebuild b/media-gfx/alembic/alembic-1.8.6-r1.ebuild new file mode 100644 index 000000000000..0d0e90f2f38a --- /dev/null +++ b/media-gfx/alembic/alembic-1.8.6-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake python-single-r1 + +DESCRIPTION="Open framework for storing and sharing scene data" +HOMEPAGE="https://www.alembic.io/" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="examples hdf5 python test" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + examples? ( python ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + ${PYTHON_DEPS} + >=dev-libs/imath-3.1.11-r1:= + python? ( dev-libs/imath:=[python,${PYTHON_SINGLE_USEDEP}] ) + hdf5? ( + >=sci-libs/hdf5-1.10.2:=[zlib(+)] + >=sys-libs/zlib-1.2.11-r1 + ) + python? ( $(python_gen_cond_dep 'dev-libs/boost[python,${PYTHON_USEDEP}]') ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${PN}-1.8.5-set-correct-libdir.patch" + "${FILESDIR}/${PN}-1.8.6-py312.patch" + +) + +DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt ) + +src_configure() { + local mycmakeargs=( + -DALEMBIC_BUILD_LIBS=ON + -DALEMBIC_DEBUG_WARNINGS_AS_ERRORS=OFF + -DALEMBIC_SHARED_LIBS=ON + # currently does nothing but require doxygen + -DDOCS_PATH=OFF + -DUSE_ARNOLD=OFF + -DUSE_BINARIES=ON + -DUSE_EXAMPLES=$(usex examples) + -DUSE_HDF5=$(usex hdf5) + -DUSE_MAYA=OFF + -DUSE_PRMAN=OFF + -DUSE_PYALEMBIC=$(usex python) + -DUSE_TESTS=$(usex test) + ) + + use python && mycmakeargs+=( -DPython3_EXECUTABLE=${PYTHON} ) + + cmake_src_configure +} + +# some tests may fail if run in parallel mode +# see https://github.com/alembic/alembic/issues/401 +src_test() { + cmake_src_test -j1 +} diff --git a/media-gfx/alembic/files/alembic-1.8.6-py312.patch b/media-gfx/alembic/files/alembic-1.8.6-py312.patch new file mode 100644 index 000000000000..863388be22a9 --- /dev/null +++ b/media-gfx/alembic/files/alembic-1.8.6-py312.patch @@ -0,0 +1,75 @@ +From: Paul Zander <negril.nx+gen...@gmail.com> +tests: use assertEqual instead of assertEquals +tests: use assertRaises instead of failUnlessRaises + +diff --git a/python/PyAlembic/Tests/testCollections.py b/python/PyAlembic/Tests/testCollections.py +index ab48a54..1745582 100644 +--- a/python/PyAlembic/Tests/testCollections.py ++++ b/python/PyAlembic/Tests/testCollections.py +@@ -67,14 +67,14 @@ class CollectionTest(unittest.TestCase): + prop = group.getSchema().createCollection("prop") + prop.setValue(strVec) + +- self.assertEquals(group.getSchema().getNumCollections(), 1) ++ self.assertEqual(group.getSchema().getNumCollections(), 1) + + # TODO passing in time sampling here causes a segfault, most likely because + # of how createCollection currently takes an Argument &, see #274 + cool = group.getSchema().createCollection("cool", md) + cool.setTimeSampling(ts) + +- self.assertEquals( ++ self.assertEqual( + group.getSchema().getCollection(1).getMetaData().get("coupe"), + "de ville" ) + +diff --git a/python/PyAlembic/Tests/testCurves.py b/python/PyAlembic/Tests/testCurves.py +index dba9e1c..956625a 100644 +--- a/python/PyAlembic/Tests/testCurves.py ++++ b/python/PyAlembic/Tests/testCurves.py +@@ -59,7 +59,7 @@ class CurvesTest(unittest.TestCase): + widthSamp, uvSamp ) + + knots = curvesSamp.getKnots() +- self.assertEquals(len(knots), 0) ++ self.assertEqual(len(knots), 0) + + newKnots = FloatArray(4) + for ii in range(4): +diff --git a/python/PyAlembic/Tests/testTypes.py b/python/PyAlembic/Tests/testTypes.py +index bad9577..f0e8d26 100644 +--- a/python/PyAlembic/Tests/testTypes.py ++++ b/python/PyAlembic/Tests/testTypes.py +@@ -60,7 +60,7 @@ class TypesTest(unittest.TestCase): + self.assertIsNotNone(POD.kUnknownPOD) + + # If a new POD type is added, this will throw an exception +- self.assertEquals(POD.kNumPlainOldDataTypes, 14) ++ self.assertEqual(POD.kNumPlainOldDataTypes, 14) + + def testDataTypeWrapper(self): + # Default Constructor +diff --git a/maya/Tests/AbcExport_dupRoots_test.py b/maya/Tests/AbcExport_dupRoots_test.py +index d532c10..f864281 100644 +--- a/maya/Tests/AbcExport_dupRoots_test.py ++++ b/maya/Tests/AbcExport_dupRoots_test.py +@@ -48,7 +48,7 @@ class AbcExport_dupRootsTest(unittest.TestCase): + MayaCmds.group(n='group1') + MayaCmds.duplicate() + +- self.failUnlessRaises(RuntimeError, MayaCmds.AbcExport, ++ self.assertRaises(RuntimeError, MayaCmds.AbcExport, + j='-root group1|cube -root group2|cube -f dupRoots.abc') + + # the abc file shouldn't exist +diff --git a/python/PyAlembic/Tests/testPropExcept.py b/python/PyAlembic/Tests/testPropExcept.py +index e1a1dff..2ddf40d 100644 +--- a/python/PyAlembic/Tests/testPropExcept.py ++++ b/python/PyAlembic/Tests/testPropExcept.py +@@ -70,5 +70,5 @@ class PropExceptTest(unittest.TestCase): + p = props.getProperty("myprop") + self.assertEqual(p.getName(), "myprop") + +- self.failUnlessRaises(KeyError, props.getProperty, "notfound") ++ self.assertRaises(KeyError, props.getProperty, "notfound") + self.assertRaises(IndexError, props.getProperty, 99)