From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1538079-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id AB0B915801B
	for <garchives@archives.gentoo.org>; Sun, 16 Jul 2023 18:46:43 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id EF960E0928;
	Sun, 16 Jul 2023 18:46:42 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id D8419E0928
	for <gentoo-commits@lists.gentoo.org>; Sun, 16 Jul 2023 18:46:42 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 1D8F5335D29
	for <gentoo-commits@lists.gentoo.org>; Sun, 16 Jul 2023 18:46:42 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 68324B64
	for <gentoo-commits@lists.gentoo.org>; Sun, 16 Jul 2023 18:46:39 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1689532935.c1b361449c7460571fe5e25e39d6d7b562ea91b0.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/openimageio/
X-VCS-Repository: repo/gentoo
X-VCS-Files: media-libs/openimageio/Manifest media-libs/openimageio/openimageio-2.4.13.0.ebuild
X-VCS-Directories: media-libs/openimageio/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: c1b361449c7460571fe5e25e39d6d7b562ea91b0
X-VCS-Branch: master
Date: Sun, 16 Jul 2023 18:46:39 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: f5a002ed-9b10-4906-9345-af9a8a1de667
X-Archives-Hash: 235a63b76e1c9ed42cfe270613aabfff

commit:     c1b361449c7460571fe5e25e39d6d7b562ea91b0
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Sun Jul  2 22:43:36 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 16 18:42:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1b36144

media-libs/openimageio: Version bump and fix compilation on arm64

Closes: https://bugs.gentoo.org/889372
Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/openimageio/Manifest                    |   1 +
 media-libs/openimageio/openimageio-2.4.13.0.ebuild | 202 +++++++++++++++++++++
 2 files changed, 203 insertions(+)

diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest
index 9ce662c7ab1c..d5e8b771c4cc 100644
--- a/media-libs/openimageio/Manifest
+++ b/media-libs/openimageio/Manifest
@@ -1,4 +1,5 @@
 DIST openimageio-2.4.12.0.tar.gz 32157785 BLAKE2B b2578165b389029dc6ad295b50d008790f9690c03ca17fda7c1d1ede84039ab4065cb1c88402e2b20913736d669a72781bb523d391af2403a10ddae148ae07a6 SHA512 bf8fa84c6732cabd2810a5cfbdd3ea41b273d82e51762426c8a2b60a31e114ff672c18ce433eb5cf27eb250996da18b7f9ece1b34093a0cb4c7305328174e74e
+DIST openimageio-2.4.13.0.tar.gz 32162551 BLAKE2B f0d219b2f585528e8901f695ccde0c599943914ce1b64faf53c172d9eacd3c2f6843a2fd7c1eebd6fcda762b61643a7ea5ed7fbabfd909963afedbedd8d200a1 SHA512 9325beefce55b66a58fcfc2ce93e1406558ed5f6cc37cb1e8e04aee470c4f30a14483bebfb311c329f7868afb6c508a052661c6b12d819a69f707c1a30cd9549
 DIST openimageio-2.4.6.0.tar.gz 31951691 BLAKE2B c21caf6784f366200127ba17a296e2134fa0d494e2cbf9cf592d020fdb820f62db0269545ac37c3969d64ddd8352d06a4f002fa9a7b3f05503ca9ec7d4a15415 SHA512 6e4e5294209c533eb9cf7c8df89b531bc77547df28af0d7964e255ce78142c201d5aa92a1f5f3b17348fdfc7d2a7aa9f2121acdf22fa98a6a872f0d31936bdf5
 DIST openimageio-oexr-test-image-df16e765fee28a947244657cae3251959ae63c00.tar.gz 252131865 BLAKE2B f5f2477897f84148574cdd02b673c7bdff49d8f45026375095bb6f184230466e2e60020be7583e5a5aa0aa9c971e7251979d3eeb2ee620d47342b1e4435427e0 SHA512 e89c2935496c5fec2ebe1175e9b9bd3aecb23374ec3947057195ee6d31a883c1a67c4dc754bf0a5b68859093b5e169b70ffabd4736cf67f9e3dc09f3299fc54f
 DIST openimageio-oexr-test-image-f17e353fbfcde3406fe02675f4d92aeae422a560.tar.gz 252226183 BLAKE2B b94fb08515e18821e5b88c10031ca53675c56f96397e00b4e186d8dfb9f8557bc935ff102d61835590dca6deeef90dba03b81fd76a7958ab4d0592c042c2130a SHA512 26b9b2cda9d48554b8a53f06bc20301f8ff77dc5e1d7caf9ec45aaaefd8578d3d4d4b2e0a1d1b0f697805fdc0c5d4bae4948cea21821df3006ac0f8b9020f85f

diff --git a/media-libs/openimageio/openimageio-2.4.13.0.ebuild b/media-libs/openimageio/openimageio-2.4.13.0.ebuild
new file mode 100644
index 000000000000..0dfa3bf23173
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.4.13.0.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FONT_PN=OpenImageIO
+PYTHON_COMPAT=( python3_{10..11} )
+
+TEST_OIIO_IMAGE_COMMIT="aae37a54e31c0e719edcec852994d052ecf6541e"
+TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00"
+inherit cmake flag-o-matic font python-single-r1
+
+DESCRIPTION="A library for reading and writing images"
+HOMEPAGE="https://sites.google.com/site/openimageio/ https://github.com/OpenImageIO"
+SRC_URI="https://github.com/OpenImageIO/oiio/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" test? (
+	https://github.com/OpenImageIO/oiio-images/archive/${TEST_OIIO_IMAGE_COMMIT}.tar.gz -> ${PN}-oiio-test-image-${TEST_OIIO_IMAGE_COMMIT}.tar.gz
+	https://github.com/AcademySoftwareFoundation/openexr-images/archive/${TEST_OEXR_IMAGE_COMMIT}.tar.gz -> ${PN}-oexr-test-image-${TEST_OEXR_IMAGE_COMMIT}.tar.gz
+)"
+S="${WORKDIR}/oiio-${PV}"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv"
+
+X86_CPU_FEATURES=(
+	aes:aes sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4.1 sse4_2:sse4.2
+	avx:avx avx2:avx2 avx512f:avx512f f16c:f16c
+)
+CPU_FEATURES=( ${X86_CPU_FEATURES[@]/#/cpu_flags_x86_} )
+
+IUSE="dicom doc ffmpeg gif jpeg2k opencv openvdb ptex python qt5 qt6 raw test +tools +truetype ${CPU_FEATURES[@]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt5? ( tools ) qt6? ( tools )"
+
+# Not quite working yet
+RESTRICT="!test? ( test )" # test"
+
+BDEPEND="
+	doc? (
+		app-doc/doxygen
+		dev-texlive/texlive-bibtexextra
+		dev-texlive/texlive-fontsextra
+		dev-texlive/texlive-fontutils
+		dev-texlive/texlive-latex
+		dev-texlive/texlive-latexextra
+	)
+"
+RDEPEND="
+	dev-libs/boost:=
+	dev-cpp/robin-map
+	dev-libs/libfmt:=
+	dev-libs/pugixml:=
+	>=media-libs/libheif-1.7.0:=
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:0=
+	>=media-libs/libwebp-0.2.1:=
+	>=dev-libs/imath-3.1.2-r4:=
+	>=media-libs/opencolorio-2.1.1-r4:=
+	>=media-libs/openexr-3:0=
+	media-libs/tiff:=
+	sys-libs/zlib:=
+	dicom? ( sci-libs/dcmtk )
+	ffmpeg? ( media-video/ffmpeg:= )
+	gif? ( media-libs/giflib:0= )
+	jpeg2k? ( >=media-libs/openjpeg-2.0:2= )
+	opencv? ( media-libs/opencv:= )
+	openvdb? (
+		dev-cpp/tbb:=
+		media-gfx/openvdb:=
+	)
+	ptex? ( media-libs/ptex:= )
+	python? (
+		${PYTHON_DEPS}
+		$(python_gen_cond_dep '
+			dev-libs/boost:=[python,${PYTHON_USEDEP}]
+			dev-python/numpy[${PYTHON_USEDEP}]
+			dev-python/pybind11[${PYTHON_USEDEP}]
+		')
+	)
+	qt5? (
+		media-libs/libglvnd
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtopengl:5
+		dev-qt/qtwidgets:5
+	)
+	qt6? (
+		media-libs/libglvnd
+		dev-qt/qtbase:6[gui,widgets,opengl]
+	)
+	raw? ( media-libs/libraw:= )
+	truetype? ( media-libs/freetype:2= )
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( CHANGES.md CREDITS.md README.md )
+
+pkg_pretend() {
+	use qt5 && use qt6 && einfo "The \"qt5\" USE flag has no effect when the \"qt6\" USE flag is also enabled."
+}
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+	cmake_comment_add_subdirectory src/fonts
+
+	if use test ; then
+		mkdir -p "${BUILD_DIR}"/testsuite || die
+		mv "${WORKDIR}"/oiio-images-${TEST_OIIO_IMAGE_COMMIT} "${BUILD_DIR}"/testsuite/oiio-images || die
+		mv "${WORKDIR}"/openexr-images-${TEST_OEXR_IMAGE_COMMIT} "${BUILD_DIR}"/testsuite/openexr-images || die
+	fi
+}
+
+src_configure() {
+	# Build with SIMD support
+	local cpufeature
+	local mysimd=()
+	for cpufeature in "${CPU_FEATURES[@]}"; do
+		use "${cpufeature%:*}" && mysimd+=("${cpufeature#*:}")
+	done
+
+	# If no CPU SIMDs were used, completely disable them
+	[[ -z ${mysimd} ]] && mysimd=("0")
+
+	# This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
+	# Even if there are no SIMD features selected, it seems like the code will turn on NEON support if it is available.
+	use arm64 && append-flags -flax-vector-conversions
+
+	local mycmakeargs=(
+		-DVERBOSE=ON
+		-DOIIO_BUILD_TOOLS=$(usex tools)
+		-DBUILD_TESTING=$(usex test)
+		-DOIIO_BUILD_TESTS=$(usex test)
+		-DOIIO_DOWNLOAD_MISSING_TESTDATA=OFF
+		-DINSTALL_FONTS=OFF
+		-DBUILD_DOCS=$(usex doc)
+		-DINSTALL_DOCS=$(usex doc)
+		-DSTOP_ON_WARNING=OFF
+		-DUSE_CCACHE=OFF
+		-DUSE_DCMTK=$(usex dicom)
+		-DUSE_EXTERNAL_PUGIXML=ON
+		-DUSE_JPEGTURBO=ON
+		-DUSE_NUKE=OFF # not in Gentoo
+		-DUSE_FFMPEG=$(usex ffmpeg)
+		-DUSE_GIF=$(usex gif)
+		-DUSE_OPENJPEG=$(usex jpeg2k)
+		-DUSE_OPENCV=$(usex opencv)
+		-DUSE_OPENVDB=$(usex openvdb)
+		-DUSE_PTEX=$(usex ptex)
+		-DUSE_PYTHON=$(usex python)
+		-DUSE_LIBRAW=$(usex raw)
+		-DUSE_FREETYPE=$(usex truetype)
+		-DUSE_SIMD=$(local IFS=','; echo "${mysimd[*]}")
+	)
+
+	if use qt5 || use qt6; then
+		mycmakeargs+=( -DENABLE_IV=ON -DUSE_OPENGL=ON -DUSE_QT=ON )
+		if use qt6; then
+			mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON )
+		else
+			mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON )
+		fi
+	else
+		mycmakeargs+=( -DENABLE_IV=OFF -DUSE_QT=OFF )
+	fi
+
+	if use python; then
+		mycmakeargs+=(
+			-DPYTHON_VERSION=${EPYTHON#python}
+			-DPYTHON_SITE_DIR=$(python_get_sitedir)
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_test() {
+	# TODO: investigate failures
+	local myctestargs=(
+		-E "(oiiotool|maketx|oiiotool-maketx|texture-crop|texture-crop.batch|texture-half|texture-half.batch|texture-uint16|texture-uint16.batch|texture-interp-bilinear|texture-interp-bilinear.batch|texture-interp-closest|texture-interp-closest.batch|texture-levels-stochaniso|texture-levels-stochaniso.batch|texture-levels-stochmip|texture-levels-stochmip.batch|texture-mip-onelevel|texture-mip-onelevel.batch|texture-mip-stochastictrilinear|texture-mip-stochastictrilinear.batch|texture-mip-stochasticaniso|texture-mip-stochasticaniso.batch|texture-uint8|texture-uint8.batch|texture-skinny|texture-skinny.batch|texture-icwrite|texture-icwrite.batch|jpeg2000-broken|openexr-damaged|openvdb-broken|texture-texture3d-broken|texture-texture3d-broken.batch|psd|ptex-broken|raw-broken|targa|tiff-depths|zfile|unit_simd|cineon|dds|openvdb.batch-broken|texture-texture3d.batch-broken|cmake-consumer|texture-udim|texture-udim2|texture-udim.batch|texture-udim2.batch)"
+	)
+
+	cmake_src_test
+}
+
+src_install() {
+	cmake_src_install
+	# can't use font_src_install
+	# it does directory hierarchy recreation
+	FONT_S=(
+		"${S}/src/fonts/Droid_Sans"
+		"${S}/src/fonts/Droid_Sans_Mono"
+		"${S}/src/fonts/Droid_Serif"
+	)
+	insinto ${FONTDIR}
+	for dir in "${FONT_S[@]}"; do
+		doins "${dir}"/*.ttf
+	done
+}