summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/gegl/gegl-0.4.42.ebuild')
-rw-r--r--media-libs/gegl/gegl-0.4.42.ebuild170
1 files changed, 170 insertions, 0 deletions
diff --git a/media-libs/gegl/gegl-0.4.42.ebuild b/media-libs/gegl/gegl-0.4.42.ebuild
new file mode 100644
index 000000000000..e021b308413c
--- /dev/null
+++ b/media-libs/gegl/gegl-0.4.42.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+# vala and introspection support is broken, bug #468208
+VALA_USE_DEPEND=vapigen
+
+inherit flag-o-matic meson optfeature python-any-r1 toolchain-funcs vala
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gegl.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="A graph based image processing framework"
+HOMEPAGE="https://gegl.org/"
+
+LICENSE="|| ( GPL-3+ LGPL-3 )"
+SLOT="0.4"
+
+IUSE="cairo debug ffmpeg introspection lcms lensfun openexr openmp pdf raw sdl sdl2 svg test tiff umfpack vala v4l webp"
+REQUIRED_USE="
+ svg? ( cairo )
+ test? ( introspection )
+ vala? ( introspection )
+"
+
+RESTRICT="!test? ( test )"
+
+# NOTE: Even current libav 11.4 does not have AV_CODEC_CAP_VARIABLE_FRAME_SIZE
+# so there is no chance to support libav right now (Gentoo bug #567638)
+# If it returns, please check prior GEGL ebuilds for how libav was integrated. Thanks!
+RDEPEND="
+ >=dev-libs/glib-2.68.2:2
+ >=dev-libs/json-glib-1.2.6
+ >=media-libs/babl-0.1.100[introspection?,lcms?,vala?]
+ media-libs/libjpeg-turbo
+ media-libs/libnsgif
+ >=media-libs/libpng-1.6.0:0=
+ >=sys-libs/zlib-1.2.0
+ >=x11-libs/gdk-pixbuf-2.32:2
+ >=x11-libs/pango-1.38.0
+ cairo? ( >=x11-libs/cairo-1.12.2 )
+ ffmpeg? ( media-video/ffmpeg:0= )
+ introspection? ( >=dev-libs/gobject-introspection-1.32:= )
+ lcms? ( >=media-libs/lcms-2.8:2 )
+ lensfun? ( >=media-libs/lensfun-0.2.5 )
+ openexr? ( >=media-libs/openexr-1.6.1:= )
+ pdf? ( >=app-text/poppler-0.71.0[cairo] )
+ raw? ( >=media-libs/libraw-0.15.4:0= )
+ sdl? ( >=media-libs/libsdl-1.2.0 )
+ sdl2? ( >=media-libs/libsdl2-2.0.20 )
+ svg? ( >=gnome-base/librsvg-2.40.6:2 )
+ tiff? ( >=media-libs/tiff-4:= )
+ umfpack? ( sci-libs/umfpack )
+ v4l? ( >=media-libs/libv4l-1.0.1 )
+ webp? ( >=media-libs/libwebp-0.5.0:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/gtk-doc-am-1
+ >=sys-devel/gettext-0.19.8
+ >=sys-devel/libtool-2.2
+ virtual/pkgconfig
+ test? ( $(python_gen_any_dep '>=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]') )
+ vala? ( $(vala_depend) )
+"
+
+DOCS=( AUTHORS docs/ChangeLog docs/NEWS.adoc )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.40-strict-prototypes.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ use test || return 0
+ python_has_version -b ">=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+ # patch executables suffix
+ sed -i -e "s/'gegl'/'gegl-0.4'/" bin/meson.build || die
+ sed -i -e "s/'gegl-imgcmp'/'gegl-imgcmp-0.4'/" tools/meson.build || die
+ sed -i -e "s/gegl-imgcmp/gegl-imgcmp-0.4/" tests/simple/test-exp-combine.sh || die
+ # skip UNEXPECTED PASSED 'matting-levin' test
+ sed -i -e "s/composition_tests += 'matting-levin'//" \
+ -e "s/composition_tests_fail += 'matting-levin'//" tests/compositions/meson.build || die
+
+ # don't require Apple's OpenCL on versions of OSX that don't have it
+ if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -le 9 ]] ; then
+ sed -i -e 's/#ifdef __APPLE__/#if 0/' gegl/opencl/* || die
+ fi
+
+ # fix 'build'headers from *.cl on gentoo-hardened, bug 739816
+ pushd "${S}/opencl/" || die
+ for file in *.cl; do
+ if [[ -f ${file} ]]; then
+ "${EPYTHON}" cltostring.py "${file}" || die
+ fi
+ done
+ popd || die
+}
+
+src_configure() {
+ # Bug #859901
+ filter-lto
+
+ use vala && vala_setup
+
+ local emesonargs=(
+ # - Disable documentation as the generating is bit automagic
+ # if anyone wants to work on it just create bug with patch
+ -Ddocs=false
+ -Dexiv2=disabled
+ -Dgdk-pixbuf=enabled
+ -Djasper=disabled
+ # - libspiro: not in portage main tree
+ -Dlibspiro=disabled
+ -Dlua=disabled
+ -Dmrg=disabled
+ -Dpango=enabled
+ # - Parameter -Dworkshop=false disables any use of Lua, effectivly
+ -Dworkshop=false
+ $(meson_feature cairo)
+ $(meson_feature cairo pangocairo)
+ $(meson_feature ffmpeg libav)
+ $(meson_feature lcms)
+ $(meson_feature lensfun)
+ $(meson_feature openexr)
+ $(meson_feature openmp)
+ $(meson_feature pdf poppler)
+ $(meson_feature raw libraw)
+ $(meson_feature sdl sdl1)
+ $(meson_feature sdl2 sdl2)
+ $(meson_feature svg librsvg)
+ $(meson_feature test pygobject)
+ $(meson_feature tiff libtiff)
+ $(meson_feature umfpack)
+ # - v4l support does not work with our media-libs/libv4l-0.8.9,
+ # upstream bug at https://bugzilla.gnome.org/show_bug.cgi?id=654675
+ $(meson_feature v4l libv4l)
+ $(meson_feature v4l libv4l2)
+ $(meson_feature vala vapigen)
+ $(meson_feature webp)
+ $(meson_use introspection)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ optfeature "'Show Image Graph' under GIMP[debug] menu 'File - Debug'" media-gfx/graphviz
+}