public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andrew Ammerlaan" <andrewammerlaan@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/openimageio/, media-libs/openimageio/files/
Date: Sat,  3 Aug 2024 07:49:06 +0000 (UTC)	[thread overview]
Message-ID: <1722670741.922111577300d9190370618c83baa2fa9766d878.andrewammerlaan@gentoo> (raw)

commit:     922111577300d9190370618c83baa2fa9766d878
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Mon Jul 22 09:49:22 2024 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Aug  3 07:39:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92211157

media-libs/openimageio: add 2.5.13.1

Signed-off-by: Huang Rui <vowstar <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 media-libs/openimageio/Manifest                    |   1 +
 .../files/openimageio-2.5.12.0-heif-find-fix.patch |  19 ++
 media-libs/openimageio/openimageio-2.5.13.1.ebuild | 303 +++++++++++++++++++++
 3 files changed, 323 insertions(+)

diff --git a/media-libs/openimageio/Manifest b/media-libs/openimageio/Manifest
index b7e63eddb105..f1e806c27c42 100644
--- a/media-libs/openimageio/Manifest
+++ b/media-libs/openimageio/Manifest
@@ -5,6 +5,7 @@ DIST file003.fits 581760 BLAKE2B 35d77c64ff9e25f34593ea41839a4f7712dc344d12ab2c0
 DIST file009.fits 25920 BLAKE2B 594061eba4d48da8cbfee58ab592a0adb5a22d681228330e84f60304e5146a8856e9c65b763d6d8e2136217ebe85d92128318cccfcf6358c7bc767232c6382c9 SHA512 57d53622854399aed96efbeff78e700990b2fc63c4dbd1bc9ac58c7670af98d528db2f1a3e9de4e74b977f8318109b465b46423bbac36bf2bf34a1e33e7dcdb8
 DIST file012.fits 1019520 BLAKE2B e86d9e0004ca159d9a5ae0585776db65c7dd49162cb5dbd8b511686244950e33746d8a41f60b5ba8fcea220194fa87e16235adb7ccc0b4fb4b0a61e6c5c376a8 SHA512 45439544da478b24ccbcf14dc9a651aa8ecbce29b9992204d85c1eee42bc88b68802ec57bc148510da1e062de95ee53dd5c64c9bfa2e0b6cdfd945a78d1fc76a
 DIST openimageio-2.5.12.0.tar.gz 52535046 BLAKE2B d60e823b8834c68098e771929475b7321363aad044b244a5c2a284e1c67a1a3145d22ed259eccbc4f6fbfcd6d2768414e4f22bdfa17f6516205d7749dcc6c6c8 SHA512 c6e53b5484702c66f01490d23f272e597e016b984d54f81e400605bf2a2e1dd7843ce25a7ef51ffbc7ee7089b42e8d73a91699b93cb655b5ca9ef869c9a950f4
+DIST openimageio-2.5.13.1.tar.gz 52538869 BLAKE2B ceba0bde73cbf2b5b7b243fa1dc4806aece881c37775418c3305d5e5665e1c249219cad2c7b0d9d4acd5955897dc13dfb94e4627e9ae866e6400559b99e7021a SHA512 3c9eb9a361464e73fae518b704438bbf409c846031f05026d8b9ace91431819ac80674130ccd2300deb9756ae26e150bf5c0a866be3f3fb65bdfba0ba60395ab
 DIST openimageio-2.5.9.0.tar.gz 52051925 BLAKE2B 7d499d80af6cdecfdea9a422030c095357b67a7d8dd281638e2e687df47b5c7b57c909c8682f1c6185251df13d6f9c7ddf1f9d5fc7fef26351fe0d4b8cc7d8c6 SHA512 554f61e19e3f81c8495f48386494a1aeee3a2a759b3022b4fb5cf1dba1dbc813cd0956b60d08a2c1feca69d97141e5836651fcbbeadab1e050eb2d103eb1c41f
 DIST openimageio-oexr-test-image-df16e765fee28a947244657cae3251959ae63c00.tar.gz 252131865 BLAKE2B f5f2477897f84148574cdd02b673c7bdff49d8f45026375095bb6f184230466e2e60020be7583e5a5aa0aa9c971e7251979d3eeb2ee620d47342b1e4435427e0 SHA512 e89c2935496c5fec2ebe1175e9b9bd3aecb23374ec3947057195ee6d31a883c1a67c4dc754bf0a5b68859093b5e169b70ffabd4736cf67f9e3dc09f3299fc54f
 DIST openimageio-oiio-test-image-7d821f02c848022b2ee703d6bee48ca2acbfae70.tar.gz 141224552 BLAKE2B e185f6b2bd345ca0740d1ac7bc48e5a283a80db0d2fa88566367e1179e96d048ac371708db29a6591d0c4eb7f9c171af22bac30fd68bc223e2c373db3b99077d SHA512 a3c9e4151c946b79e2eb37cd53fd2865d6117431ad06e4e35d42c10d9ff8415224e2f20e14af8dd869ec2a6c6faf4f9d8ef28e5b6556c88a54398de4a8843b59

diff --git a/media-libs/openimageio/files/openimageio-2.5.12.0-heif-find-fix.patch b/media-libs/openimageio/files/openimageio-2.5.12.0-heif-find-fix.patch
new file mode 100644
index 000000000000..6ffcdc3def3a
--- /dev/null
+++ b/media-libs/openimageio/files/openimageio-2.5.12.0-heif-find-fix.patch
@@ -0,0 +1,19 @@
+From: Huang Rui <vowstar@gmail.com>
+Date: 2024-07-22
+Subject: [PATCH] fix FindLibheif with heif_version.h multilib warpper
+
+--- a/src/cmake/modules/FindLibheif.cmake	2024-07-15 21:30:17.000000000 +0800
++++ b/src/cmake/modules/FindLibheif.cmake	2024-07-22 17:33:21.827445823 +0800
+@@ -30,7 +30,11 @@
+               DOC "The directory where libheif libraries reside")
+ 
+ if (LIBHEIF_INCLUDE_DIR)
+-    file(STRINGS "${LIBHEIF_INCLUDE_DIR}/libheif/heif_version.h" TMP REGEX "^#define LIBHEIF_VERSION[ \t].*$")
++    execute_process(
++        COMMAND sh -c "${CMAKE_C_COMPILER} -E -dD -P ${LIBHEIF_INCLUDE_DIR}/libheif/heif_version.h | grep LIBHEIF_VERSION"
++        OUTPUT_VARIABLE TMP
++        OUTPUT_STRIP_TRAILING_WHITESPACE
++    )
+     string(REGEX MATCHALL "[0-9.]+" LIBHEIF_VERSION ${TMP})
+ endif ()
+

diff --git a/media-libs/openimageio/openimageio-2.5.13.1.ebuild b/media-libs/openimageio/openimageio-2.5.13.1.ebuild
new file mode 100644
index 000000000000..bd837866d719
--- /dev/null
+++ b/media-libs/openimageio/openimageio-2.5.13.1.ebuild
@@ -0,0 +1,303 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+TEST_OIIO_IMAGE_COMMIT="7d821f02c848022b2ee703d6bee48ca2acbfae70"
+TEST_OEXR_IMAGE_COMMIT="df16e765fee28a947244657cae3251959ae63c00"
+inherit cmake flag-o-matic python-single-r1 virtualx
+
+DESCRIPTION="A library for reading and writing images"
+HOMEPAGE="https://sites.google.com/site/openimageio/ https://github.com/OpenImageIO"
+SRC_URI="
+	https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/v${PV}.tar.gz -> ${P}.tar.gz
+	test? (
+		https://github.com/AcademySoftwareFoundation/OpenImageIO-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
+		jpeg2k? ( https://www.itu.int/wftp3/Public/t/testsignal/SpeImage/T803/v2002_11/J2KP4files.zip )
+
+		fits? (
+			https://www.cv.nrao.edu/fits/data/tests/ftt4b/file001.fits
+			https://www.cv.nrao.edu/fits/data/tests/ftt4b/file002.fits
+			https://www.cv.nrao.edu/fits/data/tests/ftt4b/file003.fits
+			https://www.cv.nrao.edu/fits/data/tests/ftt4b/file009.fits
+			https://www.cv.nrao.edu/fits/data/tests/ftt4b/file012.fits
+			https://www.cv.nrao.edu/fits/data/tests/pg93/tst0001.fits
+			https://www.cv.nrao.edu/fits/data/tests/pg93/tst0003.fits
+			https://www.cv.nrao.edu/fits/data/tests/pg93/tst0005.fits
+			https://www.cv.nrao.edu/fits/data/tests/pg93/tst0006.fits
+			https://www.cv.nrao.edu/fits/data/tests/pg93/tst0007.fits
+			https://www.cv.nrao.edu/fits/data/tests/pg93/tst0008.fits
+			https://www.cv.nrao.edu/fits/data/tests/pg93/tst0013.fits
+		)
+	)
+"
+S="${WORKDIR}/OpenImageIO-${PV}"
+
+LICENSE="Apache-2.0"
+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 fits gif gui jpeg2k opencv openvdb ptex python qt6 raw test +tools +truetype ${CPU_FEATURES[*]%:*}"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) gui? ( tools ) test? ( tools truetype )"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	jpeg2k? ( app-arch/unzip )
+	doc? (
+		app-text/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.13.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:= )
+	fits? ( sci-libs/cfitsio:= )
+	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}]
+		')
+	)
+	gui? (
+		media-libs/libglvnd
+		!qt6? (
+			dev-qt/qtcore:5
+			dev-qt/qtgui:5
+			dev-qt/qtopengl:5
+			dev-qt/qtwidgets:5
+		)
+		qt6? (
+			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
+)
+
+PATCHES=(
+	"${FILESDIR}/${PN}-2.5.8.0-fix-unit_simd.patch"
+	"${FILESDIR}/${PN}-2.5.8.0-fix-tests.patch"
+	"${FILESDIR}/${PN}-2.5.12.0-tests-optional.patch"
+	"${FILESDIR}/${PN}-2.5.12.0-heif-find-fix.patch"
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	if ! use dicom; then
+		rm "src/dicom.imageio" -r || die
+	fi
+
+	if ! use gif; then
+		rm src/gif.imageio -r || die
+	fi
+
+	if ! use jpeg2k; then
+		rm src/jpeg2000.imageio -r || die
+	fi
+
+	if ! use raw; then
+		rm src/raw.imageio -r || die
+	fi
+
+	cmake_src_prepare
+	cmake_comment_add_subdirectory src/fonts
+
+	if use test ; then
+		mv -v "${WORKDIR}/OpenImageIO-images-${TEST_OIIO_IMAGE_COMMIT}" "${WORKDIR}/oiio-images" || die
+		mv -v "${WORKDIR}/openexr-images-${TEST_OEXR_IMAGE_COMMIT}" "${WORKDIR}/openexr-images" || die
+
+		if use fits; then
+			mkdir -p "${WORKDIR}/fits-images/"{ftt4b,pg93} || die
+			for a in ${A}; do
+				if [[ "${a}" == file*.fits ]]; then
+					cp "${DISTDIR}/${a}" "${WORKDIR}/fits-images/ftt4b/" || die
+				fi
+				if [[ "${a}" == tst*.fits ]]; then
+					cp "${DISTDIR}/${a}" "${WORKDIR}/fits-images/pg93/" || die
+				fi
+			done
+		fi
+
+		if use jpeg2k; then
+			mv -v "${WORKDIR}/J2KP4files" "${WORKDIR}/j2kp4files_v1_5" || die
+		fi
+
+		cp testsuite/heif/ref/out-libheif1.1{2,5}-orient.txt || die
+		eapply "${FILESDIR}/${PN}-2.5.12.0_heif_test.patch"
+	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="yes"
+		-DINTERNALIZE_FMT="no"
+		# -DALWAYS_PREFER_CONFIG="yes"
+		# -DGLIBCXX_USE_CXX11_ABI="yes"
+		# -DTEX_BATCH_SIZE="8" # TODO AVX512 -> 16
+		-DSTOP_ON_WARNING="OFF"
+
+		-DCMAKE_CXX_STANDARD="17"
+		-DDOWNSTREAM_CXX_STANDARD="17"
+
+		-DCMAKE_UNITY_BUILD_MODE="BATCH"
+		-DUNITY_SMALL_BATCH_SIZE="$(nproc)"
+
+		-DBUILD_DOCS="$(usex doc)"
+		# -DBUILD_OIIOUTIL_ONLY="no"
+		-DBUILD_TESTING="$(usex test)"
+
+		-DINSTALL_FONTS="OFF"
+		-DINSTALL_DOCS="$(usex doc)"
+
+		-DENABLE_DCMTK="$(usex dicom)"
+		-DENABLE_FFmpeg="$(usex ffmpeg)"
+		-DENABLE_FITS="$(usex fits)"
+		-DENABLE_FREETYPE="$(usex truetype)"
+		-DENABLE_GIF="$(usex gif)"
+		-DENABLE_LibRaw="$(usex raw)"
+		-DENABLE_Nuke="no" # not in Gentoo
+		-DENABLE_OpenCV="$(usex opencv)"
+		-DENABLE_OpenJPEG="$(usex jpeg2k)"
+		-DENABLE_OpenVDB="$(usex openvdb)"
+		-DENABLE_TBB="$(usex openvdb)"
+		-DENABLE_Ptex="$(usex ptex)"
+
+		-DENABLE_GIF="$(usex gif)"
+		-DENABLE_LIBRAW="$(usex raw)"
+		-DENABLE_PTEX="$(usex ptex)"
+		-DENABLE_OPENJPEG="$(usex jpeg2k)"
+
+		-DOIIO_BUILD_TOOLS="$(usex tools)"
+		-DOIIO_BUILD_TESTS="$(usex test)"
+		-DOIIO_DOWNLOAD_MISSING_TESTDATA="no"
+
+		-DUSE_CCACHE="no"
+		-DUSE_EXTERNAL_PUGIXML="yes"
+		# -DUSE_LIBCPLUSPLUS="yes"
+		-DUSE_R3DSDK="no" # not in Gentoo
+		-DUSE_PYTHON="$(usex python)"
+		-DUSE_SIMD="$(local IFS=','; echo "${mysimd[*]}")"
+)
+
+	if use gui; then
+		mycmakeargs+=( -DUSE_IV="yes" -DUSE_OPENGL="yes" -DUSE_QT="yes" )
+		if ! use qt6; then
+			mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt6="yes" )
+		fi
+	else
+		mycmakeargs+=(
+			-DUSE_QT="no"
+		)
+	fi
+
+	if use python; then
+		mycmakeargs+=(
+			"-DPYTHON_VERSION=${EPYTHON#python}"
+			"-DPYTHON_SITE_DIR=$(python_get_sitedir)"
+		)
+	fi
+
+	cmake_src_configure
+}
+
+src_test() {
+	# A lot of tests needs to have access to the installed data files.
+	# So install them into the image directory now.
+	DESTDIR="${T}" cmake_build install
+
+	CMAKE_SKIP_TESTS=(
+		"-broken$"
+	)
+
+	sed -e "s#../../../testsuite#../../../OpenImageIO-${PV}/testsuite#g" \
+		-i "${CMAKE_USE_DIR}/testsuite/python-imagebufalgo/ref/out.txt" || die
+
+	local -x CI CMAKE_PREFIX_PATH LD_LIBRARY_PATH OPENIMAGEIO_FONTS PYTHONPATH
+	CI=true
+	CMAKE_PREFIX_PATH="${T}/usr"
+	LD_LIBRARY_PATH="${T}/usr/$(get_libdir)"
+	OPENIMAGEIO_FONTS="${CMAKE_USE_DIR}/src/fonts"
+
+	if use python; then
+		PYTHONPATH="${T}$(python_get_sitedir)"
+	fi
+
+	virtx cmake_src_test
+
+	# Clean up the image directory for src_install
+	rm -fr "${T:?}"/usr || die
+}
+
+src_install() {
+	cmake_src_install
+
+	# remove Windows loader file
+	if use python; then
+		rm "${D}$(python_get_sitedir)/__init__.py" || die
+	fi
+}


             reply	other threads:[~2024-08-03  7:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-03  7:49 Andrew Ammerlaan [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-02-12 16:43 [gentoo-commits] repo/gentoo:master commit in: media-libs/openimageio/, media-libs/openimageio/files/ Sam James
2022-02-12 16:25 Sam James
2022-02-12  3:55 Sam James
2019-06-10 19:51 Andreas Sturmlechner
2019-04-21 18:24 Andreas Sturmlechner
2019-01-07 12:38 Lars Wendler
2018-04-27 12:13 Alexis Ballier
2018-01-22 21:52 Patrice Clement
2017-12-21 20:16 Patrice Clement
2016-05-05 20:09 Michael Palimaka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1722670741.922111577300d9190370618c83baa2fa9766d878.andrewammerlaan@gentoo \
    --to=andrewammerlaan@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox