commit: 5b0516cdc2380be42fa17f251aeb9f7ac89bf691 Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Tue Nov 18 03:39:43 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Dec 4 01:21:33 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b0516cd
media-gfx/gimp: add 3.2.0_rc1 * Match upstream dependency requirements to the best of our abilities. * Use the same ebuild for the live version * Try hard to avoid test failures stemming from already installed configuration and plugins. * Update symlinks creation to use the Gimp major version. Closes: https://bugs.gentoo.org/965456 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44691 Closes: https://github.com/gentoo/gentoo/pull/44691 Signed-off-by: Sam James <sam <AT> gentoo.org> media-gfx/gimp/Manifest | 1 + .../{gimp-9999.ebuild => gimp-3.2.0_rc1.ebuild} | 117 +++++++++++++-------- media-gfx/gimp/gimp-9999.ebuild | 117 +++++++++++++-------- 3 files changed, 147 insertions(+), 88 deletions(-) diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest index 1b34e8b19381..a72e6199d981 100644 --- a/media-gfx/gimp/Manifest +++ b/media-gfx/gimp/Manifest @@ -2,3 +2,4 @@ DIST gimp-2.10.38.tar.bz2 31698453 BLAKE2B 58c29e3e00d873e69a5e5f4e9c3ff4d868ccf DIST gimp-3.0.4.tar.xz 27060240 BLAKE2B eecca35ed8a97bc7bdbe8ad9dcbdd293b12acb125b795ceb99e2182cc61777175a7204b7a8b7b4ad265f079570cd450b7c465f8ec0ca975339d05835867ef77c SHA512 7a83768caae458b75883522c87d5297e9642b64b0516c482804034b8b9acc6af6afc89d1b4a549fd26de3e33816136c31d440f554f66669c8ccd43536260916a DIST gimp-3.0.6.tar.xz 27197880 BLAKE2B ef5220a36ca4666db5c8c20628458e5b621b3bfb594be8eda974f3be18429d946e35456428c8a28a957911c6302ab69d2eb35bb7249f332f5ac4d6146c28c9d1 SHA512 513fe11083b6560ce7bbe1b56ccbc0d83a4edb33e110508543fc8c8fdf6c60d91f9af60cb4d83926eec490baceb6c9cc5aae43a4d0ae7a04099f4036e50d179c DIST gimp-3.1.4.tar.xz 30525080 BLAKE2B 8ac0ebc4282295cd3afa3a1c46e3f0b9f32834d969034df9a9389a0d7423ac517479822bee8c63f74545edfc256171489a7254ffd1e31ac4d7eca7a036239bba SHA512 cfd9c80f2ccd6e3980b98cd764f15c4c84c10d341dcad0153df0f8559606f5eea5b931faf914f7ea9a4544095e123a8a8f986231362f11a50b5ec5f9752cadf7 +DIST gimp-3.2.0-RC1.tar.xz 33798224 BLAKE2B f3f149f9c6b7c60788693f9aa9482122f74942dc64e39ca4434a742619079057c4de0bfabab5090760f880a878b920afa80a51adf1159459bfcae32f329cf53b SHA512 4184896aa808b1348dfc61eb9d03f4f90ac4febb3d4369e7966b893984079a0f6dd16f8ffc2b6dc362c2b72983aba657206c69dd584bf93bfb0aae4d2aa9cfc7 diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-3.2.0_rc1.ebuild similarity index 68% copy from media-gfx/gimp/gimp-9999.ebuild copy to media-gfx/gimp/gimp-3.2.0_rc1.ebuild index d1e1cc793fb5..a2bc9ecc9f56 100644 --- a/media-gfx/gimp/gimp-9999.ebuild +++ b/media-gfx/gimp/gimp-3.2.0_rc1.ebuild @@ -7,13 +7,36 @@ LUA_COMPAT=( luajit ) PYTHON_COMPAT=( python3_{11..14} ) VALA_USE_DEPEND=vapigen -inherit flag-o-matic git-r3 lua-single meson python-single-r1 toolchain-funcs vala xdg +inherit flag-o-matic lua-single meson python-single-r1 toolchain-funcs vala xdg DESCRIPTION="GNU Image Manipulation Program" HOMEPAGE="https://www.gimp.org/" -EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git" + + MAJOR_VERSION="3" +else + MY_PV="${PV/_rc/-RC}" + MY_P="${PN}-${MY_PV}" + SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${MY_P}.tar.xz" + S="${WORKDIR}/${MY_P}" + + MAJOR_VERSION="$(ver_cut 1)" + + # Dont keyword prereleases or unstable releases + # https://gitlab.gnome.org/Infrastructure/gimp-web-devel/-/blob/testing/content/core/maintainer/versioning.md#software-version + if ! [[ ${PV} =~ _rc ]] && + [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] && + [[ $(( $(ver_cut 3) % 2 )) -eq 0 ]] + then + KEYWORDS="~amd64 ~arm ~x86" + fi +fi + LICENSE="GPL-3+ LGPL-3+" -SLOT="0/3" +SLOT="0/${MAJOR_VERSION}" 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=" @@ -32,42 +55,42 @@ COMMON_DEPEND=" $(python_gen_cond_dep ' >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] ') - >=app-accessibility/at-spi2-core-2.46.0 + >=app-accessibility/at-spi2-core-2.4.0 app-arch/bzip2 app-arch/libarchive:= >=app-arch/xz-utils-5.0.0 - >=app-text/poppler-0.90.1[cairo] + app-text/iso-codes + >=app-text/poppler-0.69.0[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 + >=dev-libs/json-glib-1.2.6 >=gnome-base/librsvg-2.40.6:2 - >=media-gfx/mypaint-brushes-1.3.0:2.0= - >=media-libs/babl-9999[introspection,lcms,vala?] - >=media-libs/fontconfig-2.12.6 - >=media-libs/freetype-2.10.2 - >=media-libs/gegl-9999[cairo,introspection,lcms,vala?] + >=media-gfx/exiv2-0.27.4 + media-gfx/mypaint-brushes:2.0= + >=media-libs/fontconfig-2.12.4 + >=media-libs/freetype-2.1.7 >=media-libs/gexiv2-0.14.0 - >=media-libs/harfbuzz-2.6.5:= - >=media-libs/lcms-2.13.1:2 + >=media-libs/harfbuzz-2.8.2:= + >=media-libs/lcms-2.8:2 media-libs/libjpeg-turbo:= - >=media-libs/libmypaint-1.6.1:= - >=media-libs/libpng-1.6.37:0= - >=media-libs/tiff-4.1.0:= + >=media-libs/libmypaint-1.5.0:= + >=media-libs/libpng-1.6.25:0= + >=media-libs/tiff-4.0.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/cairo-1.14.0[X?] + >=x11-libs/gdk-pixbuf-2.30.8:2[introspection] + >=x11-libs/gtk+-3.24.0: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:= ) + heif? ( >=media-libs/libheif-1.15.1:= ) javascript? ( dev-libs/gjs ) - jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= ) - jpegxl? ( >=media-libs/libjxl-0.6.1:= ) + jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= ) + jpegxl? ( >=media-libs/libjxl-0.7.0:= ) lua? ( ${LUA_DEPS} $(lua_gen_cond_dep ' @@ -75,7 +98,7 @@ COMMON_DEPEND=" ') ) mng? ( media-libs/libmng:= ) - openexr? ( >=media-libs/openexr-2.3.0:= ) + openexr? ( >=media-libs/openexr-1.6.1:= ) postscript? ( app-text/ghostscript-gpl:= ) udev? ( >=dev-libs/libgudev-167:= ) unwind? ( >=sys-libs/libunwind-1.1.0:= ) @@ -90,6 +113,17 @@ COMMON_DEPEND=" ) xpm? ( x11-libs/libXpm ) " +if [[ ${PV} == 9999 ]]; then + COMMON_DEPEND+=" + >=media-libs/babl-9999[introspection,lcms,vala?] + >=media-libs/gegl-9999[cairo,introspection,lcms,vala?] + " +else + COMMON_DEPEND+=" + >=media-libs/babl-0.1.116[introspection,lcms,vala?] + >=media-libs/gegl-0.4.64:0.4[cairo,introspection,lcms,vala?] + " +fi RDEPEND=" ${COMMON_DEPEND} @@ -97,23 +131,21 @@ RDEPEND=" gnome? ( gnome-base/gvfs ) " -DEPEND=" - ${COMMON_DEPEND} - test? ( x11-misc/xvfb-run ) - vala? ( $(vala_depend) ) -" +DEPEND="${COMMON_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 >=sys-devel/gettext-0.21 + virtual/pkgconfig doc? ( >=dev-libs/gobject-introspection-1.82.0-r2[doctool] dev-util/gi-docgen ) - virtual/pkgconfig + test? ( x11-misc/xvfb-run ) + vala? ( $(vala_depend) ) + vector-icons? ( x11-misc/shared-mime-info ) " DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" ) @@ -128,7 +160,7 @@ pkg_setup() { use lua && lua-single_pkg_setup if has_version ">=media-libs/babl-9999" || has_version ">=media-libs/gegl-9999"; then - ewarn "Please make sure to rebuid media-libs/babl-9999 and media-libs/gegl-9999 packages" + ewarn "Please make sure to rebuild media-libs/babl-9999 and media-libs/gegl-9999 packages" ewarn "before building media-gfx/gimp-9999 to have their latest master branch versions." fi } @@ -224,6 +256,10 @@ _rename_plugins() { 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 } @@ -234,19 +270,12 @@ src_install() { 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 + # gimp-$(ver_cut 1-2) -> gimp-$(ver_cut 1) -> gimp + dosym "${ESYSROOT}"/usr/bin/gimp-${MAJOR_VERSION} /usr/bin/gimp + dosym "${ESYSROOT}"/usr/bin/gimp-console-${MAJOR_VERSION} /usr/bin/gimp-console + dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-${MAJOR_VERSION} /usr/bin/gimp-script-fu-interpreter + dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-${MAJOR_VERSION} /usr/bin/gimp-test-clipboard + dosym "${ESYSROOT}"/usr/bin/gimptool-${MAJOR_VERSION} /usr/bin/gimptool _rename_plugins || die } - -pkg_postinst() { - xdg_pkg_postinst -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-9999.ebuild index d1e1cc793fb5..a2bc9ecc9f56 100644 --- a/media-gfx/gimp/gimp-9999.ebuild +++ b/media-gfx/gimp/gimp-9999.ebuild @@ -7,13 +7,36 @@ LUA_COMPAT=( luajit ) PYTHON_COMPAT=( python3_{11..14} ) VALA_USE_DEPEND=vapigen -inherit flag-o-matic git-r3 lua-single meson python-single-r1 toolchain-funcs vala xdg +inherit flag-o-matic lua-single meson python-single-r1 toolchain-funcs vala xdg DESCRIPTION="GNU Image Manipulation Program" HOMEPAGE="https://www.gimp.org/" -EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git" + + MAJOR_VERSION="3" +else + MY_PV="${PV/_rc/-RC}" + MY_P="${PN}-${MY_PV}" + SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${MY_P}.tar.xz" + S="${WORKDIR}/${MY_P}" + + MAJOR_VERSION="$(ver_cut 1)" + + # Dont keyword prereleases or unstable releases + # https://gitlab.gnome.org/Infrastructure/gimp-web-devel/-/blob/testing/content/core/maintainer/versioning.md#software-version + if ! [[ ${PV} =~ _rc ]] && + [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] && + [[ $(( $(ver_cut 3) % 2 )) -eq 0 ]] + then + KEYWORDS="~amd64 ~arm ~x86" + fi +fi + LICENSE="GPL-3+ LGPL-3+" -SLOT="0/3" +SLOT="0/${MAJOR_VERSION}" 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=" @@ -32,42 +55,42 @@ COMMON_DEPEND=" $(python_gen_cond_dep ' >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] ') - >=app-accessibility/at-spi2-core-2.46.0 + >=app-accessibility/at-spi2-core-2.4.0 app-arch/bzip2 app-arch/libarchive:= >=app-arch/xz-utils-5.0.0 - >=app-text/poppler-0.90.1[cairo] + app-text/iso-codes + >=app-text/poppler-0.69.0[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 + >=dev-libs/json-glib-1.2.6 >=gnome-base/librsvg-2.40.6:2 - >=media-gfx/mypaint-brushes-1.3.0:2.0= - >=media-libs/babl-9999[introspection,lcms,vala?] - >=media-libs/fontconfig-2.12.6 - >=media-libs/freetype-2.10.2 - >=media-libs/gegl-9999[cairo,introspection,lcms,vala?] + >=media-gfx/exiv2-0.27.4 + media-gfx/mypaint-brushes:2.0= + >=media-libs/fontconfig-2.12.4 + >=media-libs/freetype-2.1.7 >=media-libs/gexiv2-0.14.0 - >=media-libs/harfbuzz-2.6.5:= - >=media-libs/lcms-2.13.1:2 + >=media-libs/harfbuzz-2.8.2:= + >=media-libs/lcms-2.8:2 media-libs/libjpeg-turbo:= - >=media-libs/libmypaint-1.6.1:= - >=media-libs/libpng-1.6.37:0= - >=media-libs/tiff-4.1.0:= + >=media-libs/libmypaint-1.5.0:= + >=media-libs/libpng-1.6.25:0= + >=media-libs/tiff-4.0.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/cairo-1.14.0[X?] + >=x11-libs/gdk-pixbuf-2.30.8:2[introspection] + >=x11-libs/gtk+-3.24.0: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:= ) + heif? ( >=media-libs/libheif-1.15.1:= ) javascript? ( dev-libs/gjs ) - jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= ) - jpegxl? ( >=media-libs/libjxl-0.6.1:= ) + jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= ) + jpegxl? ( >=media-libs/libjxl-0.7.0:= ) lua? ( ${LUA_DEPS} $(lua_gen_cond_dep ' @@ -75,7 +98,7 @@ COMMON_DEPEND=" ') ) mng? ( media-libs/libmng:= ) - openexr? ( >=media-libs/openexr-2.3.0:= ) + openexr? ( >=media-libs/openexr-1.6.1:= ) postscript? ( app-text/ghostscript-gpl:= ) udev? ( >=dev-libs/libgudev-167:= ) unwind? ( >=sys-libs/libunwind-1.1.0:= ) @@ -90,6 +113,17 @@ COMMON_DEPEND=" ) xpm? ( x11-libs/libXpm ) " +if [[ ${PV} == 9999 ]]; then + COMMON_DEPEND+=" + >=media-libs/babl-9999[introspection,lcms,vala?] + >=media-libs/gegl-9999[cairo,introspection,lcms,vala?] + " +else + COMMON_DEPEND+=" + >=media-libs/babl-0.1.116[introspection,lcms,vala?] + >=media-libs/gegl-0.4.64:0.4[cairo,introspection,lcms,vala?] + " +fi RDEPEND=" ${COMMON_DEPEND} @@ -97,23 +131,21 @@ RDEPEND=" gnome? ( gnome-base/gvfs ) " -DEPEND=" - ${COMMON_DEPEND} - test? ( x11-misc/xvfb-run ) - vala? ( $(vala_depend) ) -" +DEPEND="${COMMON_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 >=sys-devel/gettext-0.21 + virtual/pkgconfig doc? ( >=dev-libs/gobject-introspection-1.82.0-r2[doctool] dev-util/gi-docgen ) - virtual/pkgconfig + test? ( x11-misc/xvfb-run ) + vala? ( $(vala_depend) ) + vector-icons? ( x11-misc/shared-mime-info ) " DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" ) @@ -128,7 +160,7 @@ pkg_setup() { use lua && lua-single_pkg_setup if has_version ">=media-libs/babl-9999" || has_version ">=media-libs/gegl-9999"; then - ewarn "Please make sure to rebuid media-libs/babl-9999 and media-libs/gegl-9999 packages" + ewarn "Please make sure to rebuild media-libs/babl-9999 and media-libs/gegl-9999 packages" ewarn "before building media-gfx/gimp-9999 to have their latest master branch versions." fi } @@ -224,6 +256,10 @@ _rename_plugins() { 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 } @@ -234,19 +270,12 @@ src_install() { 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 + # gimp-$(ver_cut 1-2) -> gimp-$(ver_cut 1) -> gimp + dosym "${ESYSROOT}"/usr/bin/gimp-${MAJOR_VERSION} /usr/bin/gimp + dosym "${ESYSROOT}"/usr/bin/gimp-console-${MAJOR_VERSION} /usr/bin/gimp-console + dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-${MAJOR_VERSION} /usr/bin/gimp-script-fu-interpreter + dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-${MAJOR_VERSION} /usr/bin/gimp-test-clipboard + dosym "${ESYSROOT}"/usr/bin/gimptool-${MAJOR_VERSION} /usr/bin/gimptool _rename_plugins || die } - -pkg_postinst() { - xdg_pkg_postinst -} - -pkg_postrm() { - xdg_pkg_postrm -}
