Diff gimp-3.0.6 with a gimp-9999

/usr/portage/media-gfx/gimp/gimp-9999.ebuild 2025-12-26 10:18:08.269526930 +0300
11 11

  
12 12
DESCRIPTION="GNU Image Manipulation Program"
13 13
HOMEPAGE="https://www.gimp.org/"
14
SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz"
14

  
15
if [[ ${PV} == 9999 ]]; then
16
	inherit git-r3
17
	EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git"
18

  
19
	MAJOR_VERSION="3"
20
else
21
	MY_PV="${PV/_rc/-RC}"
22
	MY_P="${PN}-${MY_PV}"
23
	SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${MY_P}.tar.xz"
24
	S="${WORKDIR}/${MY_P}"
25

  
26
	MAJOR_VERSION="$(ver_cut 1)"
27

  
28
	# Dont keyword prereleases or unstable releases
29
	# https://gitlab.gnome.org/Infrastructure/gimp-web-devel/-/blob/testing/content/core/maintainer/versioning.md#software-version
30
	if ! [[ ${PV} =~ _rc ]] &&
31
		[[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] &&
32
		[[ $(( $(ver_cut 3) % 2 )) -eq 0 ]]
33
	then
34
		KEYWORDS="~amd64 ~arm ~x86"
35
	fi
36
fi
15 37

  
16 38
LICENSE="GPL-3+ LGPL-3+"
17
SLOT="0/3"
18
KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 x86"
39
SLOT="0/${MAJOR_VERSION}"
19 40

  
20 41
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"
21 42
REQUIRED_USE="
......
27 48

  
28 49
RESTRICT="!test? ( test )"
29 50

  
51
# automagic dependency on bash to create bash-completions
52

  
30 53
# media-libs/{babl,gegl} are required to be built with USE="introspection"
31 54
# to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir}
32 55
COMMON_DEPEND="
......
34 57
	$(python_gen_cond_dep '
35 58
		>=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}]
36 59
	')
37
	>=app-accessibility/at-spi2-core-2.46.0
60
	>=app-accessibility/at-spi2-core-2.4.0
38 61
	app-arch/bzip2
39 62
	app-arch/libarchive:=
40 63
	>=app-arch/xz-utils-5.0.0
41
	>=app-text/poppler-0.90.1[cairo]
64
	app-text/iso-codes
65
	>=app-text/poppler-0.69.0[cairo]
42 66
	>=app-text/poppler-data-0.4.9
43 67
	>=dev-libs/appstream-0.16.1:=
44 68
	>=dev-libs/glib-2.70.0:2
45 69
	>=dev-libs/gobject-introspection-1.82.0-r2
46
	>=dev-libs/json-glib-1.4.4
70
	>=dev-libs/json-glib-1.2.6
47 71
	>=gnome-base/librsvg-2.40.6:2
48
	>=media-gfx/mypaint-brushes-1.3.1:1.0=
49
	>=media-libs/babl-0.1.114[introspection,lcms,vala?]
50
	>=media-libs/fontconfig-2.12.6
51
	>=media-libs/freetype-2.10.2
52
	>=media-libs/gegl-0.4.62:0.4[cairo,introspection,lcms,vala?]
72
	>=media-gfx/exiv2-0.27.4
73
	media-gfx/mypaint-brushes:2.0=
74
	>=media-libs/fontconfig-2.12.4
75
	>=media-libs/freetype-2.1.7
53 76
	<media-libs/gexiv2-0.15.0
54 77
	>=media-libs/gexiv2-0.14.0
55
	>=media-libs/harfbuzz-2.6.5:=
56
	>=media-libs/lcms-2.13.1:2
78
	>=media-libs/harfbuzz-2.8.2:=
79
	>=media-libs/lcms-2.8:2
57 80
	media-libs/libjpeg-turbo:=
58
	>=media-libs/libmypaint-1.6.1:=
59
	>=media-libs/libpng-1.6.37:0=
60
	>=media-libs/tiff-4.1.0:=
81
	>=media-libs/libmypaint-1.5.0:=
82
	>=media-libs/libpng-1.6.25:0=
83
	>=media-libs/tiff-4.0.0:=
61 84
	net-libs/glib-networking[ssl]
62 85
	virtual/zlib:=
63
	>=x11-libs/cairo-1.16.0[X?]
64
	>=x11-libs/gdk-pixbuf-2.40.0:2[introspection]
65
	>=x11-libs/gtk+-3.24.48:3[introspection,wayland?,X?]
86
	>=x11-libs/cairo-1.14.0[X?]
87
	>=x11-libs/gdk-pixbuf-2.30.8:2[introspection]
88
	>=x11-libs/gtk+-3.24.0:3[introspection,wayland?,X?]
66 89
	>=x11-libs/pango-1.50.0[X?]
67 90
	aalib? ( media-libs/aalib )
68 91
	alsa? ( >=media-libs/alsa-lib-1.0.0 )
69 92
	fits? ( sci-libs/cfitsio:= )
70
	heif? ( >=media-libs/libheif-1.13.0:= )
93
	heif? ( >=media-libs/libheif-1.15.1:= )
71 94
	javascript? ( dev-libs/gjs )
72
	jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= )
73
	jpegxl? ( >=media-libs/libjxl-0.6.1:= )
95
	jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
96
	jpegxl? ( >=media-libs/libjxl-0.7.0:= )
74 97
	lua? (
75 98
		${LUA_DEPS}
76 99
		$(lua_gen_cond_dep '
......
78 101
		')
79 102
	)
80 103
	mng? ( media-libs/libmng:= )
81
	openexr? ( >=media-libs/openexr-2.3.0:= )
104
	openexr? ( >=media-libs/openexr-1.6.1:= )
82 105
	postscript? ( app-text/ghostscript-gpl:= )
83 106
	udev? ( >=dev-libs/libgudev-167:= )
84 107
	unwind? ( >=sys-libs/libunwind-1.1.0:= )
......
93 116
	)
94 117
	xpm? ( x11-libs/libXpm )
95 118
"
119
if [[ ${PV} == 9999 ]]; then
120
	COMMON_DEPEND+="
121
		>=media-libs/babl-9999[introspection,lcms,vala?]
122
		>=media-libs/gegl-9999[cairo,introspection,lcms,vala?]
123
	"
124
else
125
	COMMON_DEPEND+="
126
		>=media-libs/babl-0.1.118[introspection,lcms,vala?]
127
		>=media-libs/gegl-0.4.66:0.4[cairo,introspection,lcms,vala?]
128
	"
129
fi
96 130

  
97 131
RDEPEND="
98 132
	${COMMON_DEPEND}
......
100 134
	gnome? ( gnome-base/gvfs )
101 135
"
102 136

  
103
DEPEND="
104
	${COMMON_DEPEND}
105
	test? ( x11-misc/xvfb-run )
106
	vala? ( $(vala_depend) )
107
"
137
DEPEND="${COMMON_DEPEND}"
108 138

  
109
# TODO: there are probably more atoms in DEPEND which should be in BDEPEND now
110 139
BDEPEND="
111 140
	>=dev-lang/perl-5.30.3
112 141
	dev-libs/libxslt
113 142
	dev-util/gdbus-codegen
114 143
	>=sys-devel/gettext-0.21
144
	virtual/pkgconfig
115 145
	doc? (
116 146
		>=dev-libs/gobject-introspection-1.82.0-r2[doctool]
117 147
		dev-util/gi-docgen
118 148
	)
119
	virtual/pkgconfig
149
	test? ( x11-misc/xvfb-run )
150
	vala? ( $(vala_depend) )
151
	vector-icons? ( x11-misc/shared-mime-info )
120 152
"
121 153

  
122 154
DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" )
......
133 165
	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
134 166
	python-single-r1_pkg_setup
135 167
	use lua && lua-single_pkg_setup
168

  
169
	if has_version ">=media-libs/babl-9999" || has_version ">=media-libs/gegl-9999"; then
170
		ewarn "Please make sure to rebuild media-libs/babl-9999 and media-libs/gegl-9999 packages"
171
		ewarn "before building media-gfx/gimp-9999 to have their latest master branch versions."
172
	fi
136 173
}
137 174

  
138 175
src_prepare() {
......
238 275
	python_fix_shebang "${ED}/usr/$(get_libdir)/gimp"
239 276

  
240 277
	# Create symlinks for Gimp exec in /usr/bin
241
	dosym "${ESYSROOT}"/usr/bin/gimp-3.0 /usr/bin/gimp
242
	dosym "${ESYSROOT}"/usr/bin/gimp-console-3.0 /usr/bin/gimp-console
243
	dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter
244
	dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-3.0 /usr/bin/gimp-test-clipboard
245
	dosym "${ESYSROOT}"/usr/bin/gimptool-3.0 /usr/bin/gimptool
278
	# gimp-$(ver_cut 1-2) -> gimp-$(ver_cut 1) -> gimp
279
	dosym "${ESYSROOT}"/usr/bin/gimp-${MAJOR_VERSION} /usr/bin/gimp
280
	dosym "${ESYSROOT}"/usr/bin/gimp-console-${MAJOR_VERSION} /usr/bin/gimp-console
281
	dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-${MAJOR_VERSION} /usr/bin/gimp-script-fu-interpreter
282
	dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-${MAJOR_VERSION} /usr/bin/gimp-test-clipboard
283
	dosym "${ESYSROOT}"/usr/bin/gimptool-${MAJOR_VERSION} /usr/bin/gimptool
246 284

  
247 285
	_rename_plugins || die
248 286
}
249

  
250
pkg_postinst() {
251
	xdg_pkg_postinst
252
}
253

  
254
pkg_postrm() {
255
	xdg_pkg_postrm
256
}
Thank you!