summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-02-12 20:42:06 +0000
committerSam James <sam@gentoo.org>2022-02-15 19:50:03 +0000
commit663937bb03ecb813f5e77c26318b875fad24ea4b (patch)
treee3ce435ea0b2339dacc2751ac49ffe58206af9c5 /media-libs/vigra
parentmedia-gfx/prusaslicer: support OpenEXR 3 / imath (diff)
downloadgentoo-663937bb03ecb813f5e77c26318b875fad24ea4b.tar.gz
gentoo-663937bb03ecb813f5e77c26318b875fad24ea4b.tar.bz2
gentoo-663937bb03ecb813f5e77c26318b875fad24ea4b.zip
media-libs/vigra: support OpenEXR 3 / imath
Bug: https://bugs.gentoo.org/833158 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/vigra')
-rw-r--r--media-libs/vigra/vigra-1.11.1-r4.ebuild160
-rw-r--r--media-libs/vigra/vigra-9999.ebuild35
2 files changed, 168 insertions, 27 deletions
diff --git a/media-libs/vigra/vigra-1.11.1-r4.ebuild b/media-libs/vigra/vigra-1.11.1-r4.ebuild
new file mode 100644
index 000000000000..be3e2f9fe820
--- /dev/null
+++ b/media-libs/vigra/vigra-1.11.1-r4.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9} )
+PYTHON_REQ_USE="threads(+),xml"
+inherit cmake flag-o-matic python-r1
+
+DESCRIPTION="C++ computer vision library emphasizing customizable algorithms and structures"
+HOMEPAGE="https://ukoethe.github.io/vigra/"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ukoethe/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/ukoethe/${PN}/releases/download/Version-${PV//\./-}/${P}-src.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc +fftw +hdf5 +jpeg mpi openexr +png +python test +tiff valgrind +zlib"
+
+REQUIRED_USE="
+ python? ( hdf5 ${PYTHON_REQUIRED_USE} )
+ test? ( hdf5 python fftw )"
+
+BDEPEND="
+ test? (
+ >=dev-python/nose-1.1.2-r1[${PYTHON_USEDEP}]
+ valgrind? ( dev-util/valgrind )
+ )
+"
+# runtime dependency on python is required by the vigra-config script
+DEPEND="
+ fftw? ( sci-libs/fftw:3.0= )
+ hdf5? ( >=sci-libs/hdf5-1.8.0:=[mpi=] )
+ jpeg? ( virtual/jpeg:0 )
+ openexr? (
+ dev-libs/imath:=
+ media-libs/openexr:=
+ )
+ png? ( media-libs/libpng:0= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[python?,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ tiff? ( media-libs/tiff:0= )
+ zlib? ( sys-libs/zlib )
+"
+RDEPEND="${PYTHON_DEPS}
+ ${DEPEND}
+"
+
+# Severely broken, also disabled in Fedora, bugs #390447, #653442
+RESTRICT="test"
+
+PATCHES=(
+ # git master
+ "${FILESDIR}/${P}-fix-incorrect-template-parameter-type.patch"
+ "${FILESDIR}/${P}-boost-python.patch"
+ "${FILESDIR}/${P}-python3.7.patch" # bug 701208
+ "${FILESDIR}/${P}-gcc-10.patch" # bug 723302
+ # TODO: upstream
+ "${FILESDIR}/${P}-lib_suffix.patch"
+ "${FILESDIR}/${P}-cmake-module-dir.patch"
+ "${FILESDIR}/${P}-sphinx.ext.pngmath.patch" # thanks to Debian; bug 678308
+)
+
+pkg_setup() {
+ use python && python_setup
+}
+
+src_prepare() {
+ vigra_disable() {
+ if ! use ${1}; then
+ sed -e "/^VIGRA_FIND_PACKAGE.*${2:-$1}/Is/^/#disabled by USE=${1}: /" \
+ -i CMakeLists.txt || die "failed to disable ${1}"
+ fi
+ }
+
+ cmake_src_prepare
+
+ vigra_disable fftw fftw3
+ vigra_disable fftw fftw3f
+ vigra_disable jpeg
+ vigra_disable png
+ vigra_disable tiff
+ vigra_disable zlib
+
+ # Don't use python_fix_shebang because we can't put this behind USE="python"
+ sed -i -e '/env/s:python:python3:' config/vigra-config.in || die
+
+ use doc || cmake_comment_add_subdirectory docsrc
+
+ if ! use test; then
+ cmake_comment_add_subdirectory test
+ cmake_run_in vigranumpy cmake_comment_add_subdirectory test
+ fi
+}
+
+src_configure() {
+ # Needed for now ("fix" compatibility with >=sci-libs/hdf5-1.12)
+ # bug #808731
+ use hdf5 && append-cppflags -DH5_USE_110_API
+
+ vigra_configure() {
+ local mycmakeargs=(
+ -DAUTOEXEC_TESTS=OFF
+ -DDOCINSTALL="share/doc/${PF}/html"
+ -DWITH_HDF5=$(usex hdf5)
+ -DWITH_OPENEXR=$(usex openexr)
+ -DWITH_VALGRIND=$(usex valgrind)
+ -DWITH_VIGRANUMPY=$(usex python)
+ )
+ cmake_src_configure
+ }
+
+ if use python; then
+ python_foreach_impl vigra_configure
+ else
+ vigra_configure
+ fi
+}
+
+src_compile() {
+ local VIGRA_BUILD_DIR
+ vigra_compile() {
+ cmake_src_compile
+ VIGRA_BUILD_DIR="${BUILD_DIR}"
+ }
+ if use python; then
+ python_foreach_impl vigra_compile
+ else
+ vigra_compile
+ fi
+}
+
+src_install() {
+ if use python; then
+ python_foreach_impl cmake_src_install
+ python_optimize
+ else
+ cmake_src_install
+ fi
+}
+
+src_test() {
+ # perhaps disable tests (see #390447)
+ vigra_test() {
+ PYTHONPATH="${BUILD_DIR}/vigranumpy/vigra" cmake_src_test
+ }
+ if use python; then
+ python_foreach_impl vigra_test
+ else
+ vigra_test
+ fi
+}
diff --git a/media-libs/vigra/vigra-9999.ebuild b/media-libs/vigra/vigra-9999.ebuild
index 171eedd560f8..bcefe3e30c33 100644
--- a/media-libs/vigra/vigra-9999.ebuild
+++ b/media-libs/vigra/vigra-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8,9} )
PYTHON_REQ_USE="threads(+),xml"
inherit cmake flag-o-matic python-r1
@@ -23,15 +23,10 @@ SLOT="0"
IUSE="doc +fftw +hdf5 +jpeg mpi openexr +png +python test +tiff valgrind +zlib"
REQUIRED_USE="
- doc? ( hdf5 fftw ${PYTHON_REQUIRED_USE} )
python? ( hdf5 ${PYTHON_REQUIRED_USE} )
test? ( hdf5 python fftw )"
BDEPEND="
- doc? (
- app-doc/doxygen
- >=dev-python/sphinx-1.1.3-r5
- )
test? (
>=dev-python/nose-1.1.2-r1[${PYTHON_USEDEP}]
valgrind? ( dev-util/valgrind )
@@ -39,11 +34,11 @@ BDEPEND="
"
# runtime dependency on python is required by the vigra-config script
DEPEND="
- fftw? ( sci-libs/fftw:3.0 )
+ fftw? ( sci-libs/fftw:3.0= )
hdf5? ( >=sci-libs/hdf5-1.8.0:=[mpi=] )
jpeg? ( virtual/jpeg:0 )
openexr? (
- media-libs/ilmbase:=
+ dev-libs/imath:=
media-libs/openexr:=
)
png? ( media-libs/libpng:0= )
@@ -70,9 +65,7 @@ PATCHES=(
)
pkg_setup() {
- if use python || use doc; then
- python_setup
- fi
+ use python && python_setup
}
src_prepare() {
@@ -85,10 +78,6 @@ src_prepare() {
cmake_src_prepare
- if [[ ${PV} != *9999 ]]; then
- rm -r doc || die "failed to remove shipped docs"
- fi
-
vigra_disable fftw fftw3
vigra_disable fftw fftw3f
vigra_disable jpeg
@@ -99,6 +88,8 @@ src_prepare() {
# Don't use python_fix_shebang because we can't put this behind USE="python"
sed -i -e '/env/s:python:python3:' config/vigra-config.in || die
+ use doc || cmake_comment_add_subdirectory docsrc
+
if ! use test; then
cmake_comment_add_subdirectory test
cmake_run_in vigranumpy cmake_comment_add_subdirectory test
@@ -113,8 +104,7 @@ src_configure() {
vigra_configure() {
local mycmakeargs=(
-DAUTOEXEC_TESTS=OFF
- -DDOCDIR="${BUILD_DIR}/doc"
- -DDOCINSTALL="share/doc/${PF}"
+ -DDOCINSTALL="share/doc/${PF}/html"
-DWITH_HDF5=$(usex hdf5)
-DWITH_OPENEXR=$(usex openexr)
-DWITH_VALGRIND=$(usex valgrind)
@@ -126,8 +116,6 @@ src_configure() {
if use python; then
python_foreach_impl vigra_configure
else
- # required for docdir
- _cmake_check_build_dir init
vigra_configure
fi
}
@@ -143,13 +131,6 @@ src_compile() {
else
vigra_compile
fi
-
- if use doc; then
- einfo "Generating Documentation"
- doxygen -u ${VIGRA_BUILD_DIR}/docsrc/Doxyfile 2>/dev/null || die
- # use build dir from last compile command
- VARTEXFONTS="${T}/fonts" BUILD_DIR="${VIGRA_BUILD_DIR}" cmake-utils_src_make doc
- fi
}
src_install() {