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)

Reply via email to