commit: cdcb3711ec1ab5d1e617e1c5806c9ecc8b04a521 Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Sun Jan 25 01:26:24 2026 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Thu Jan 29 16:32:09 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdcb3711
media-gfx/gimp: add 3.0.8 Bug: https://bugs.gentoo.org/969287 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/45541 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> media-gfx/gimp/Manifest | 1 + media-gfx/gimp/gimp-3.0.8.ebuild | 257 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 258 insertions(+) diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest index d0755bea31db..8b30d5263ce1 100644 --- a/media-gfx/gimp/Manifest +++ b/media-gfx/gimp/Manifest @@ -1,3 +1,4 @@ DIST gimp-2.10.38.tar.bz2 31698453 BLAKE2B 58c29e3e00d873e69a5e5f4e9c3ff4d868ccfb11914570306ef12c54ca7d3ef89a62d8c71fac1f2d1f426ac615dc4caf7a7260351c00301dce2b1aa4193bab6d SHA512 343bf1c3bd14bf8e7c7af79c05920faca213da68549127c1d8af53e2e872e55aeaf39a3cfcf578183a34fdc4f98e1c859be63956b0611067186eefd1fdee2aaa DIST gimp-3.0.6.tar.xz 27197880 BLAKE2B ef5220a36ca4666db5c8c20628458e5b621b3bfb594be8eda974f3be18429d946e35456428c8a28a957911c6302ab69d2eb35bb7249f332f5ac4d6146c28c9d1 SHA512 513fe11083b6560ce7bbe1b56ccbc0d83a4edb33e110508543fc8c8fdf6c60d91f9af60cb4d83926eec490baceb6c9cc5aae43a4d0ae7a04099f4036e50d179c +DIST gimp-3.0.8.tar.xz 27277560 BLAKE2B 327aa7833406bd09d7b36ef5ee59a1c65766ab3faa5085507af4b215688cba659be135a95a4980ee44b95fdfad47bf15fb5ec61e62156761302ba996cc4cd233 SHA512 0d4f05bd155249982e190768b29393f50d51015bc1c20c0bf9959d42907dc7d2076479aff0d8892038c54b4eb7036d07323d5f5ab64cdc4bf092215a0e9e4be5 DIST gimp-3.2.0-RC2.tar.xz 34615136 BLAKE2B 91c1567efcadbf1db0ea9c54e99354c65e723526ca417250d17cdba7b9ffa82d81964309fa955d074ddc47f8a7c4f61a1bd9535f1b6edbb3c886d37ceb9379a5 SHA512 b6b201b4f76966f96ab201761a61b4040907d31850c8786d3824d9aac14f04ae53697b74e5c9fee69640c4843fc1b7810a8990b19ba3d7a8131d8783aa5b6d0b diff --git a/media-gfx/gimp/gimp-3.0.8.ebuild b/media-gfx/gimp/gimp-3.0.8.ebuild new file mode 100644 index 000000000000..e8920563c974 --- /dev/null +++ b/media-gfx/gimp/gimp-3.0.8.ebuild @@ -0,0 +1,257 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{11..14} ) +VALA_USE_DEPEND=vapigen + +inherit flag-o-matic lua-single meson python-single-r1 toolchain-funcs vala xdg + +DESCRIPTION="GNU Image Manipulation Program" +HOMEPAGE="https://www.gimp.org/" +SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz" + +LICENSE="GPL-3+ LGPL-3+" +SLOT="0/3" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~x86" + +IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript test udev unwind vala vector-icons wayland webp wmf xpm" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + lua? ( ${LUA_REQUIRED_USE} ) + test? ( X ) + xpm? ( X ) +" + +RESTRICT="!test? ( test )" + +# media-libs/{babl,gegl} are required to be built with USE="introspection" +# to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir} +COMMON_DEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] + ') + >=app-accessibility/at-spi2-core-2.46.0 + app-arch/bzip2 + app-arch/libarchive:= + >=app-arch/xz-utils-5.0.0 + >=app-text/poppler-0.90.1[cairo] + >=app-text/poppler-data-0.4.9 + >=dev-libs/appstream-0.16.1:= + >=dev-libs/glib-2.70.0:2 + >=dev-libs/gobject-introspection-1.82.0-r2 + >=dev-libs/json-glib-1.4.4 + >=gnome-base/librsvg-2.40.6:2 + >=media-gfx/mypaint-brushes-1.3.1:1.0= + >=media-libs/babl-0.1.114[introspection,lcms,vala?] + >=media-libs/fontconfig-2.12.6 + >=media-libs/freetype-2.10.2 + >=media-libs/gegl-0.4.62:0.4[cairo,introspection,lcms,vala?] + <media-libs/gexiv2-0.15.0 + >=media-libs/gexiv2-0.14.0 + >=media-libs/harfbuzz-2.6.5:= + >=media-libs/lcms-2.13.1:2 + media-libs/libjpeg-turbo:= + >=media-libs/libmypaint-1.6.1:= + >=media-libs/libpng-1.6.37:0= + >=media-libs/tiff-4.1.0:= + net-libs/glib-networking[ssl] + virtual/zlib:= + >=x11-libs/cairo-1.16.0[X?] + >=x11-libs/gdk-pixbuf-2.40.0:2[introspection] + >=x11-libs/gtk+-3.24.48:3[introspection,wayland?,X?] + >=x11-libs/pango-1.50.0[X?] + aalib? ( media-libs/aalib ) + alsa? ( >=media-libs/alsa-lib-1.0.0 ) + fits? ( sci-libs/cfitsio:= ) + heif? ( >=media-libs/libheif-1.13.0:= ) + javascript? ( dev-libs/gjs ) + jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= ) + jpegxl? ( >=media-libs/libjxl-0.6.1:= ) + lua? ( + ${LUA_DEPS} + $(lua_gen_cond_dep ' + dev-lua/lgi[${LUA_USEDEP}] + ') + ) + mng? ( media-libs/libmng:= ) + openexr? ( >=media-libs/openexr-2.3.0:= ) + postscript? ( app-text/ghostscript-gpl:= ) + udev? ( >=dev-libs/libgudev-167:= ) + unwind? ( >=sys-libs/libunwind-1.1.0:= ) + webp? ( >=media-libs/libwebp-0.6.0:= ) + wmf? ( >=media-libs/libwmf-0.2.8[X?] ) + X? ( + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXfixes + >=x11-libs/libXmu-1.1.4 + ) + xpm? ( x11-libs/libXpm ) +" + +RDEPEND=" + ${COMMON_DEPEND} + x11-themes/hicolor-icon-theme + gnome? ( gnome-base/gvfs ) +" + +DEPEND=" + ${COMMON_DEPEND} + test? ( x11-misc/xvfb-run ) + vala? ( $(vala_depend) ) +" + +# TODO: there are probably more atoms in DEPEND which should be in BDEPEND now +BDEPEND=" + >=dev-lang/perl-5.30.3 + dev-libs/libxslt + >=dev-util/gdbus-codegen-2.80.5-r1 + >=sys-devel/gettext-0.21 + doc? ( + >=dev-libs/gobject-introspection-1.82.0-r2[doctool] + dev-util/gi-docgen + ) + virtual/pkgconfig +" + +DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" ) + +PATCHES=( + "${FILESDIR}"/gimp-3.0.6-fix-tests.patch + "${FILESDIR}"/gimp-3.0.6-respect-NM.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + python-single-r1_pkg_setup + use lua && lua-single_pkg_setup +} + +src_prepare() { + default + + # Fix Gimp and GimpUI devel doc installation paths + sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp/meson.build || die + sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp-ui/meson.build || die + + # Fix pygimp.interp python implementation path. + # Meson @PYTHON_PATH@ use sandbox path e.g.: + # '/var/tmp/portage/media-gfx/gimp-2.99.12/temp/python3.10/bin/python3' + sed -i -e 's/@PYTHON_EXE@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die + + # Set proper intallation path of documentation logo + sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" gimp-data/images/logo/meson.build || die + + # Force disable x11_target if USE="-X" is setup. See bug 943164 for additional info + use !X && { sed -i -e 's/x11_target = /x11_target = false #/' meson.build || die; } +} + +src_configure() { + # defang automagic dependencies. Bug 943164 + use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND + use X || append-cflags -DGENTOO_GTK_HIDE_X11 + + use vala && vala_setup + + local emesonargs=( + -Denable-default-bin=enabled + + -Dcheck-update=no + -Ddebug-self-in-build=false + -Denable-multiproc=true + -Dappdata-test=disabled + -Dbug-report-url=https://bugs.gentoo.org/ + -Dilbm=disabled + -Dlibbacktrace=false + -Dwebkit-unmaintained=false + $(meson_feature aalib aa) + $(meson_feature alsa) + $(meson_feature doc gi-docgen) + $(meson_feature fits) + $(meson_feature heif) + $(meson_feature javascript) + $(meson_feature jpeg2k jpeg2000) + $(meson_feature jpegxl jpeg-xl) + $(meson_feature mng) + $(meson_feature openexr) + $(meson_feature openmp) + $(meson_feature postscript ghostscript) + $(meson_feature test headless-tests) + $(meson_feature udev gudev) + $(meson_feature vala) + $(meson_feature webp) + $(meson_feature wmf) + $(meson_feature X xcursor) + $(meson_feature xpm) + $(meson_use lua) + $(meson_use unwind libunwind) + $(meson_use vector-icons) + ) + + meson_src_configure +} + +src_compile() { + export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004 + meson_src_compile +} + +# for https://bugs.gentoo.org/664938 +_rename_plugins() { + einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' + local prename=gimp-org- + ( + cd "${ED}"/usr/$(get_libdir)/gimp/3.0/plug-ins || exit 1 + for plugin_slash in $(ls -d1 */); do + plugin=${plugin_slash%/} + if [[ -f ${plugin}/${plugin} ]]; then + # NOTE: Folder and file name need to match for Gimp to load that plug-in + # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg" + mv ${plugin}/{,${prename}}${plugin} || exit 1 + mv {,${prename}}${plugin} || exit 1 + fi + done + ) +} + +src_test() { + local -x LD_LIBRARY_PATH="${BUILD_DIR}/libgimp:${LD_LIBRARY_PATH}" + # Try hard to avoid system installed gimp causing issues + local -x GIMP3_DIRECTORY="${BUILD_DIR}/" + local -x GIMP3_PLUGINDIR="${BUILD_DIR}/plug-ins/" + local -x GIMP3_SYSCONFDIR="${BUILD_DIR}/etc/" + meson_src_test +} + +src_install() { + meson_src_install + + python_optimize "${ED}/usr/$(get_libdir)/gimp" + python_fix_shebang "${ED}/usr/$(get_libdir)/gimp" + + # Create symlinks for Gimp exec in /usr/bin + dosym "${ESYSROOT}"/usr/bin/gimp-3.0 /usr/bin/gimp + dosym "${ESYSROOT}"/usr/bin/gimp-console-3.0 /usr/bin/gimp-console + dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter + dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-3.0 /usr/bin/gimp-test-clipboard + dosym "${ESYSROOT}"/usr/bin/gimptool-3.0 /usr/bin/gimptool + + _rename_plugins || die +} + +pkg_postinst() { + xdg_pkg_postinst +} + +pkg_postrm() { + xdg_pkg_postrm +}
