commit: 090e2767abb07926d6b9249bcac10833b01ee944 Author: Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru> AuthorDate: Mon May 19 18:06:44 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed May 21 20:58:26 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=090e2767
media-gfx/gimp: 3.0.4 version bump Bug: https://bugs.gentoo.org/936290 Bug: https://bugs.gentoo.org/943164 Signed-off-by: Sergey Torokhov <torokhov-s-a <AT> yandex.ru> Part-of: https://github.com/gentoo/gentoo/pull/42157 Closes: https://github.com/gentoo/gentoo/pull/42157 Signed-off-by: Sam James <sam <AT> gentoo.org> media-gfx/gimp/Manifest | 1 + media-gfx/gimp/gimp-3.0.4.ebuild | 248 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 249 insertions(+) diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest index 192b769ee067..f2d699665c77 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.0.tar.xz 27043544 BLAKE2B fe33a4f59850791867111d8c775ce74f083c75f789243ea8f622137ebae045f0c21b12d2b288e97ca611e68d4cb219d05825b082cf2594742ebbbd277ac9d2a8 SHA512 bb75b68054cda06a3fd6e9278fc535914cd1ea4af27d82c8f5e3480233ff4b8f6d6c479ffcd868c4fa3f1980aee741d7cf992273b09d1e862ae2b84164d038a3 DIST gimp-3.0.2.tar.xz 27019468 BLAKE2B dd853b67c47d93882ff9393b808f085eab24eff337e61ed317372f186d2d94994778763e06523131bc8e1d43d077607d8c88c6a8ccb4d23115e28eb37cf473d8 SHA512 e5f72f9f1447ff3ec5ab78bc589831767c00be91a0f337b1ab2d5beee3f79b01464c3de0dc1a518fd72180b4232be5b8d7121d186425a766090842b550f534df +DIST gimp-3.0.4.tar.xz 27060240 BLAKE2B eecca35ed8a97bc7bdbe8ad9dcbdd293b12acb125b795ceb99e2182cc61777175a7204b7a8b7b4ad265f079570cd450b7c465f8ec0ca975339d05835867ef77c SHA512 7a83768caae458b75883522c87d5297e9642b64b0516c482804034b8b9acc6af6afc89d1b4a549fd26de3e33816136c31d440f554f66669c8ccd43536260916a diff --git a/media-gfx/gimp/gimp-3.0.4.ebuild b/media-gfx/gimp/gimp-3.0.4.ebuild new file mode 100644 index 000000000000..ff57d5fe89f9 --- /dev/null +++ b/media-gfx/gimp/gimp-3.0.4.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{11..13} ) +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" + +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 ) + ^^ ( X wayland ) +" + +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-text/poppler-0.90.1[cairo] + >=app-text/poppler-data-0.4.9 + >=dev-libs/appstream-glib-0.7.16 + >=dev-libs/glib-2.70.0:2 + >=dev-libs/json-glib-1.4.4 + dev-libs/libxml2:2= + dev-libs/libxslt + >=gnome-base/librsvg-2.57.3: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.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] + sys-libs/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/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-util/gdbus-codegen + >=sys-devel/gettext-0.21 + doc? ( + dev-libs/gobject-introspection[doctool] + dev-util/gi-docgen + ) + virtual/pkgconfig +" + +DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" ) + +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() { + # bug #944284 (https://gitlab.gnome.org/GNOME/gimp/-/issues/12843) + append-cflags -std=gnu17 + + # 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}" + meson_src_test +} + +src_install() { + meson_src_install + + python_optimize + + find "${D}" -name '*.la' -type f -delete || die + + # 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 +}