From 7cbf5da8f1f26f5a2d85f0881f22cee6cacee9b6 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Fri, 12 Dec 2025 09:02:36 +0200 Subject: [PATCH] media-libs/gegl: add 0.4.66 * Drop old workaround. It has been fixed upstream since 0.4.36 * Drop old libav comment, it was removed from the tree in 2020. * Drop xorg-proto dependency, this isn't a gegl dependency and it was most likely added because some other dependency didn't have their headers dependencies in their RDEPEND. (Which is the way it should be handled unless BADEPEND etc is added for these cases bug #392239). It was probably pango -> cairo -> libX11 which was addressed in bug #903707. * Disable automagic gexiv. No effect at runtime. At most if affects ffmpeg tests (which fail bug #907412) and some examples that arent installed. * Drop lensfun, this dependency is used for a work in progress operation so it needs -Dworkshop=true. Bug: https://bugs.gentoo.org/739816 Bug: https://bugs.gentoo.org/907412 See-Also: 47bf1d8440fa4219f8fbf1568238d63163fd8f47 Signed-off-by: Alfred Wingate Part-of: https://github.com/gentoo/gentoo/pull/45004 Signed-off-by: Sam James --- media-libs/gegl/Manifest | 1 + media-libs/gegl/gegl-0.4.66.ebuild | 175 +++++++++++++++++++++++++ media-libs/gegl/gegl-9999.ebuild | 93 +++++++------ profiles/arch/hppa/package.use.mask | 4 + profiles/arch/mips/package.use.mask | 4 + profiles/arch/powerpc/package.use.mask | 4 + profiles/arch/riscv/package.use.mask | 4 + 7 files changed, 246 insertions(+), 39 deletions(-) create mode 100644 media-libs/gegl/gegl-0.4.66.ebuild diff --git a/media-libs/gegl/Manifest b/media-libs/gegl/Manifest index 3189a9ab625d3..db57725ea195d 100644 --- a/media-libs/gegl/Manifest +++ b/media-libs/gegl/Manifest @@ -1,2 +1,3 @@ DIST gegl-0.4.58.tar.xz 6020756 BLAKE2B e15cba71414acaf38ff26fb7efccb2403d419cb45d86e9724cec6fef3310eec331f8dbedaf474d2af3b39ab8c385fdba30e2a9b6a41a1311396ab652d1763afa SHA512 25b740374559992d713119bdf61b13708e796c55102c053bf732099b41275f173d67f75b557dc2fc8cd9f9b7961dbf0b3298eea7ed7aeac07732e5e3cf8ac5dd DIST gegl-0.4.64.tar.xz 6066976 BLAKE2B ed232187d550ac0af4b7bbfe1f186e5fbf3285a19c3a6b7e3b6b9218f4512df2aa5c912e192d67d2ad7150749937bca2d74fb67b8c7087e871ed1ea49843d1fb SHA512 231cce5545d7a7fd21de309502d560f51080568aa3c95478b8a12d000d67314afcf8fe5e1977d2ff33530ca7bf8c2819b7bbd7b9ca0a2393abc2f26d4c5d94c2 +DIST gegl-0.4.66.tar.xz 6078452 BLAKE2B 479ffcdcfc141ebe709cee78c22848d7b2312723500df4b6a090e1cb1cdc211f95c87005071eadb66ead65fee5a11a88dda3f9e662e2e2e945cee60d47dbaeae SHA512 ed1f809aaea8768b1eff2a6adcf66b3ef7c11e03d410ef8952051822017f9a6bcee0e29dd32708dd6937d49416c6db55cd8d34458619022ea750311253899ae9 diff --git a/media-libs/gegl/gegl-0.4.66.ebuild b/media-libs/gegl/gegl-0.4.66.ebuild new file mode 100644 index 0000000000000..44e3973f4c7dc --- /dev/null +++ b/media-libs/gegl/gegl-0.4.66.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +# 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" +else + SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~x86" +fi + +DESCRIPTION="A graph based image processing framework" +HOMEPAGE="https://gegl.org/" + +LICENSE="|| ( GPL-3+ LGPL-3 )" +SLOT="0.4" + +IUSE="cairo debug ffmpeg gtk-doc introspection jpeg2k lcms openexr openmp pdf raw sdl sdl2 svg test tiff umfpack vala v4l webp" +REQUIRED_USE=" + gtk-doc? ( introspection ) + svg? ( cairo ) + test? ( introspection ) + vala? ( introspection ) +" + +RESTRICT="!test? ( test )" + +# See https://gegl.org/build.html for upstream instructions on dependencies. +RDEPEND=" + >=dev-libs/glib-2.44.0:2 + >=dev-libs/json-glib-1.0.0 + >=media-libs/babl-0.1.116[introspection?,lcms?,vala?] + >=media-libs/libjpeg-turbo-1.0.0:= + >=media-libs/libnsgif-1.0.0:= + >=media-libs/libpng-1.6.0:0= + >=virtual/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.82.0-r2:= ) + jpeg2k? ( >=media-libs/jasper-1.900.1:= ) + lcms? ( >=media-libs/lcms-2.8:2 ) + 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.5 ) + 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 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + gtk-doc? ( dev-util/gi-docgen ) + test? ( $(python_gen_any_dep '>=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]') ) + vala? ( $(vala_depend) ) +" + +DOCS=( AUTHORS docs/ChangeLog docs/NEWS.adoc ) + +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.py || 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 QA warning, install docs into /usr/share/gtk-doc/html/gegl-0.4 instead of /usr/share/doc/gegl-0.4 + sed -i -e "s#'doc'#'gtk-doc' / 'html'#" docs/reference/meson.build || die +} + +src_configure() { + # Bug #859901 + filter-lto + + use vala && vala_setup + + local emesonargs=( + # Follow upstream order in meson_options.txt + + # - Disable documentation as the generating is bit automagic + # if anyone wants to work on it just create bug with patch + -Ddocs=false # website + $(meson_feature gtk-doc gi-docgen) + # - Work in progress operations + # Might make sense to hook up if masked to make it an explicit opt-in + -Dworkshop=false + $(meson_use introspection) + $(meson_feature vala vapigen) + + # Optional dependencies (as per upstream) + -Dgdk-pixbuf=enabled + # - Dependency currently used for tests, examples and not installed tools. + # If in addition mrg and sdl are enabled then some substantive change could happen. + # With ffmpeg allows building tests that currently fail bug #907412 + -Dgexiv2=disabled + # - Noop option. Its fully optional at runtime. + -Dgraphviz=disabled + $(meson_feature jpeg2k jasper) + $(meson_feature lcms) + # - Needs -Dworkshop=true + -Dlensfun=disabled + $(meson_feature ffmpeg libav) + $(meson_feature raw libraw) + $(meson_feature svg librsvg) + # - Not in portage main tree + -Dlibspiro=disabled + $(meson_feature tiff libtiff) + # - 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) + -Dlua=disabled + # - Unpackaged and discontinued upstream. mrg upstream recommends ctx which is vendored in gegl + -Dmrg=disabled + # - Unpackaged, needs -Dworkshop=true + # Implementation of the feature in gimp stalled + # https://gitlab.gnome.org/GNOME/gimp/-/issues/2912 + -Dmaxflow=disabled + $(meson_feature openexr) + $(meson_feature openmp) + $(meson_feature cairo) + -Dpango=enabled + $(meson_feature cairo pangocairo) + $(meson_feature pdf poppler) + # - Test dependency + $(meson_feature test pygobject) + $(meson_feature sdl sdl1) + $(meson_feature sdl2 sdl2) + $(meson_feature umfpack) + $(meson_feature webp) + ) + meson_src_configure +} + +pkg_postinst() { + optfeature "'Show Image Graph' under GIMP[debug] menu 'File - Debug'" media-gfx/graphviz +} diff --git a/media-libs/gegl/gegl-9999.ebuild b/media-libs/gegl/gegl-9999.ebuild index 0cf3b34cfef1d..44e3973f4c7dc 100644 --- a/media-libs/gegl/gegl-9999.ebuild +++ b/media-libs/gegl/gegl-9999.ebuild @@ -14,7 +14,7 @@ if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gegl.git" else SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~x86" fi DESCRIPTION="A graph based image processing framework" @@ -23,7 +23,7 @@ HOMEPAGE="https://gegl.org/" LICENSE="|| ( GPL-3+ LGPL-3 )" SLOT="0.4" -IUSE="cairo debug ffmpeg gtk-doc introspection lcms lensfun openexr openmp pdf raw sdl sdl2 svg test tiff umfpack vala v4l webp" +IUSE="cairo debug ffmpeg gtk-doc introspection jpeg2k lcms openexr openmp pdf raw sdl sdl2 svg test tiff umfpack vala v4l webp" REQUIRED_USE=" gtk-doc? ( introspection ) svg? ( cairo ) @@ -33,14 +33,12 @@ REQUIRED_USE=" 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! +# See https://gegl.org/build.html for upstream instructions on dependencies. RDEPEND=" - >=dev-libs/glib-2.68.2:2 - >=dev-libs/json-glib-1.2.6 - >=media-libs/babl-0.1.112[introspection?,lcms?,vala?] - media-libs/libjpeg-turbo:= + >=dev-libs/glib-2.44.0:2 + >=dev-libs/json-glib-1.0.0 + >=media-libs/babl-0.1.116[introspection?,lcms?,vala?] + >=media-libs/libjpeg-turbo-1.0.0:= >=media-libs/libnsgif-1.0.0:= >=media-libs/libpng-1.6.0:0= >=virtual/zlib-1.2.0:= @@ -49,21 +47,20 @@ RDEPEND=" cairo? ( >=x11-libs/cairo-1.12.2 ) ffmpeg? ( media-video/ffmpeg:0= ) introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= ) + jpeg2k? ( >=media-libs/jasper-1.900.1:= ) 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 ) + sdl2? ( >=media-libs/libsdl2-2.0.5 ) 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} - x11-base/xorg-proto" +DEPEND="${RDEPEND}" BDEPEND=" ${PYTHON_DEPS} dev-lang/perl @@ -116,41 +113,59 @@ src_configure() { 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 + # Follow upstream order in meson_options.txt + + # - Disable documentation as the generating is bit automagic + # if anyone wants to work on it just create bug with patch -Ddocs=false # website - -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 gtk-doc gi-docgen) + # - Work in progress operations + # Might make sense to hook up if masked to make it an explicit opt-in + -Dworkshop=false + $(meson_use introspection) + $(meson_feature vala vapigen) + + # Optional dependencies (as per upstream) + -Dgdk-pixbuf=enabled + # - Dependency currently used for tests, examples and not installed tools. + # If in addition mrg and sdl are enabled then some substantive change could happen. + # With ffmpeg allows building tests that currently fail bug #907412 + -Dgexiv2=disabled + # - Noop option. Its fully optional at runtime. + -Dgraphviz=disabled + $(meson_feature jpeg2k jasper) $(meson_feature lcms) - $(meson_feature lensfun) - $(meson_feature openexr) - $(meson_feature openmp) - $(meson_feature pdf poppler) + # - Needs -Dworkshop=true + -Dlensfun=disabled + $(meson_feature ffmpeg libav) $(meson_feature raw libraw) - $(meson_feature sdl sdl1) - $(meson_feature sdl2 sdl2) $(meson_feature svg librsvg) - $(meson_feature test pygobject) + # - Not in portage main tree + -Dlibspiro=disabled $(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 + # - 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) + -Dlua=disabled + # - Unpackaged and discontinued upstream. mrg upstream recommends ctx which is vendored in gegl + -Dmrg=disabled + # - Unpackaged, needs -Dworkshop=true + # Implementation of the feature in gimp stalled + # https://gitlab.gnome.org/GNOME/gimp/-/issues/2912 + -Dmaxflow=disabled + $(meson_feature openexr) + $(meson_feature openmp) + $(meson_feature cairo) + -Dpango=enabled + $(meson_feature cairo pangocairo) + $(meson_feature pdf poppler) + # - Test dependency + $(meson_feature test pygobject) + $(meson_feature sdl sdl1) + $(meson_feature sdl2 sdl2) + $(meson_feature umfpack) $(meson_feature webp) - $(meson_use introspection) ) meson_src_configure } diff --git a/profiles/arch/hppa/package.use.mask b/profiles/arch/hppa/package.use.mask index 2d9daa75c1b9e..51beb46c41ab3 100644 --- a/profiles/arch/hppa/package.use.mask +++ b/profiles/arch/hppa/package.use.mask @@ -4,6 +4,10 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Alfred Wingate (2025-12-24) +# media-libs/jasper is not keyworded here +media-libs/gegl jpeg2k + # Eli Schwartz (2025-11-27) # Needs dev-python/mypy for mypyc, not keyworded here dev-python/charset-normalizer native-extensions diff --git a/profiles/arch/mips/package.use.mask b/profiles/arch/mips/package.use.mask index 5c2d59cfb3bd6..2d83a1d32920e 100644 --- a/profiles/arch/mips/package.use.mask +++ b/profiles/arch/mips/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-12-24) +# media-libs/jasper are not keyworded here +media-libs/gegl jpeg2k + # Ulrich Müller (2025-12-15) # app-text/texlive[xetex] not keyworded, #967505. app-text/pdfjam test diff --git a/profiles/arch/powerpc/package.use.mask b/profiles/arch/powerpc/package.use.mask index ab2a886e84090..5af4ee705a6b0 100644 --- a/profiles/arch/powerpc/package.use.mask +++ b/profiles/arch/powerpc/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-12-24) +# media-libs/jasper is not keyworded here +media-libs/gegl jpeg2k + # Alfred Wingate (2025-11-23) # Requires dev-qt/qtwebengine media-sound/easyeffects webengine diff --git a/profiles/arch/riscv/package.use.mask b/profiles/arch/riscv/package.use.mask index 6f11d3a8105ca..78ad2cb8c2b84 100644 --- a/profiles/arch/riscv/package.use.mask +++ b/profiles/arch/riscv/package.use.mask @@ -1,6 +1,10 @@ # Copyright 2019-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Alfred Wingate (2025-12-24) +# media-libs/jasper is not keyworded here +media-libs/gegl jpeg2k + # Sam James (2025-12-18) # dev-lang/ada-bootstrap exists here >=sys-devel/gcc-11 -ada