Compare commits
19 Commits
ecc3d9828d
...
dcd980859f
Author | SHA1 | Date | |
---|---|---|---|
dcd980859f | |||
4cc8d9f1b5 | |||
|
5a78a2d744 | ||
|
cf82916baf | ||
|
49cbb890c2 | ||
|
009fd8c5cb | ||
|
2a0b2622b6 | ||
|
7efc6c0a54 | ||
|
b7877b5d36 | ||
|
df6c1eaeed | ||
|
9caa47fcac | ||
|
edcc3d0259 | ||
|
141d4ee6ad | ||
|
98d508a7cb | ||
|
b6e1175a28 | ||
|
563eb21a29 | ||
|
ff107597ed | ||
|
31d023ce71 | ||
|
096182ae9c |
12
.gitignore
vendored
12
.gitignore
vendored
@ -42,3 +42,15 @@ gimp-2.6.10-1-autoreconf.patch.bz2
|
|||||||
/gimp-2.10.34.tar.bz2
|
/gimp-2.10.34.tar.bz2
|
||||||
/gimp-2.10.36.tar.bz2
|
/gimp-2.10.36.tar.bz2
|
||||||
/gimp-2.10.38.tar.bz2
|
/gimp-2.10.38.tar.bz2
|
||||||
|
/gimp-2.99.19-git256e0ca5a0.tar.xz
|
||||||
|
/gimp-2.99.19-gitd38362c9a0.tar.xz
|
||||||
|
/gimp-splash.png
|
||||||
|
/gimp-2.99.19-git5814d9ed30.tar.xz
|
||||||
|
/gimp-2.99.19-git4542c0156e.tar.xz
|
||||||
|
/gimp-2.99.19-git74bbe26918.tar.xz
|
||||||
|
/gimp-2.99.19-git3ded3c47fe.tar.xz
|
||||||
|
/gimp-2.99.19-git38c65a4b45.tar.xz
|
||||||
|
/gimp-2.99.19-git8b57aabed2.tar.xz
|
||||||
|
/gimp-2.99.19-gitb44687eb2f.tar.xz
|
||||||
|
/gimp-2.99.19-git8ad744eb1b.tar.xz
|
||||||
|
/gimp-2.99.19-gitca9d57a417.tar.xz
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff -urNp a/etc/gimprc.in b/etc/gimprc.in
|
|
||||||
--- a/etc/gimprc.in 2019-08-20 13:03:43.195089141 +0200
|
|
||||||
+++ b/etc/gimprc.in 2019-08-20 13:04:09.109353485 +0200
|
|
||||||
@@ -153,7 +153,7 @@
|
|
||||||
# Where to look for fonts in addition to the system-wide installed fonts.
|
|
||||||
# This is a colon-separated list of folders to search.
|
|
||||||
#
|
|
||||||
-# (font-path "${gimp_dir}/fonts:${gimp_data_dir}/fonts")
|
|
||||||
+(font-path "${gimp_dir}/fonts")
|
|
||||||
|
|
||||||
# Specify a default brush. The brush is searched for in the specified brush
|
|
||||||
# path. This is a string value.
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up gimp-2.10.18/etc/gimprc.in.no-phone-home-default gimp-2.10.18/etc/gimprc.in
|
|
||||||
--- gimp-2.10.18/etc/gimprc.in.no-phone-home-default 2020-02-23 21:15:47.217777581 +0100
|
|
||||||
+++ gimp-2.10.18/etc/gimprc.in 2020-02-23 21:22:42.416162110 +0100
|
|
||||||
@@ -393,7 +393,7 @@
|
|
||||||
# Check for availability of GIMP updates through background internet queries.
|
|
||||||
# Possible values are yes and no.
|
|
||||||
#
|
|
||||||
-# (check-updates yes)
|
|
||||||
+(check-updates no)
|
|
||||||
|
|
||||||
# Timestamp of the last update check. (null)
|
|
||||||
#
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up gimp-2.10.24/etc/gimprc.in.external-help-browser gimp-2.10.24/etc/gimprc.in
|
|
||||||
--- gimp-2.10.24/etc/gimprc.in.external-help-browser 2021-04-03 00:02:39.312656132 +0200
|
|
||||||
+++ gimp-2.10.24/etc/gimprc.in 2021-04-03 00:03:27.360453285 +0200
|
|
||||||
@@ -836,7 +836,7 @@
|
|
||||||
# Sets the browser used by the help system. Possible values are gimp and
|
|
||||||
# web-browser.
|
|
||||||
#
|
|
||||||
-# (help-browser web-browser)
|
|
||||||
+(help-browser web-browser)
|
|
||||||
|
|
||||||
# When enabled, a search of actions will also return inactive actions.
|
|
||||||
# Possible values are yes and no.
|
|
@ -1,8 +1,7 @@
|
|||||||
diff --git a/etc/gimprc.in b/etc/gimprc.in
|
diff -up gimp-2.99.18/etc/gimprc.in.cm-system-monitor-profile-by-default gimp-2.99.18/etc/gimprc.in
|
||||||
index bdf8f0c..e6757e8 100644
|
--- gimp-2.99.18/etc/gimprc.in.cm-system-monitor-profile-by-default 2024-02-17 18:01:20.000000000 +0100
|
||||||
--- a/etc/gimprc.in
|
+++ gimp-2.99.18/etc/gimprc.in 2024-05-07 14:39:06.468575598 +0200
|
||||||
+++ b/etc/gimprc.in
|
@@ -316,9 +316,9 @@
|
||||||
@@ -317,9 +317,9 @@
|
|
||||||
|
|
||||||
# Defines the color management behavior. This is a parameter list.
|
# Defines the color management behavior. This is a parameter list.
|
||||||
#
|
#
|
||||||
@ -14,14 +13,12 @@ index bdf8f0c..e6757e8 100644
|
|||||||
# (display-rendering-intent relative-colorimetric)
|
# (display-rendering-intent relative-colorimetric)
|
||||||
# (display-use-black-point-compensation yes)
|
# (display-use-black-point-compensation yes)
|
||||||
# (display-optimize yes)
|
# (display-optimize yes)
|
||||||
@@ -328,9 +328,8 @@
|
@@ -326,7 +326,8 @@
|
||||||
|
# (simulation-use-black-point-compensation no)
|
||||||
# (simulation-optimize yes)
|
# (simulation-optimize yes)
|
||||||
# (simulation-gamut-check no)
|
# (simulation-gamut-check no)
|
||||||
# (out-of-gamut-color (color-rgb 1 0 1))
|
-# (out-of-gamut-color (color-rgb 1 0 1)))
|
||||||
-# (show-rgb-u8 no)
|
+# (out-of-gamut-color (color-rgb 1 0 1))
|
||||||
-# (show-hsv no)
|
|
||||||
-# (display-module "CdisplayLcms"))
|
|
||||||
+# (display-module "CdisplayLcms")
|
|
||||||
+)
|
+)
|
||||||
|
|
||||||
# Keep a permanent record of all opened and saved files in the Recent
|
# Keep a permanent record of all opened and saved files in the Recent
|
86
gimp-2.99.19-don-t-require-unreleased-gegl-version.patch
Normal file
86
gimp-2.99.19-don-t-require-unreleased-gegl-version.patch
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
diff --git a/app/tools/gimpoperationtool.c b/app/tools/gimpoperationtool.c
|
||||||
|
index 82f6096b55..f427ee9019 100644
|
||||||
|
--- a/app/tools/gimpoperationtool.c
|
||||||
|
+++ b/app/tools/gimpoperationtool.c
|
||||||
|
@@ -103,8 +103,7 @@ static void gimp_operation_tool_add_gui (GimpOperationTool *tool)
|
||||||
|
static AuxInput * gimp_operation_tool_aux_input_new (GimpOperationTool *tool,
|
||||||
|
GeglNode *operation,
|
||||||
|
const gchar *input_pad,
|
||||||
|
- const gchar *label,
|
||||||
|
- const gchar *description);
|
||||||
|
+ const gchar *label);
|
||||||
|
static void gimp_operation_tool_aux_input_detach(AuxInput *input);
|
||||||
|
static void gimp_operation_tool_aux_input_clear (AuxInput *input);
|
||||||
|
static void gimp_operation_tool_aux_input_free (AuxInput *input);
|
||||||
|
@@ -550,20 +549,15 @@ gimp_operation_tool_create_gui (GimpOperationTool *op_tool)
|
||||||
|
|
||||||
|
g_return_if_fail (regex != NULL);
|
||||||
|
|
||||||
|
- label = g_strdup (gegl_node_get_pad_label (filter_tool->operation, input_pads[i]));
|
||||||
|
-
|
||||||
|
- if (label == NULL)
|
||||||
|
- label = g_regex_replace (regex,
|
||||||
|
- input_pads[i], -1, 0,
|
||||||
|
- /* Translators: don't translate "Aux" */
|
||||||
|
- _("Aux\\1 Input"),
|
||||||
|
- 0, NULL);
|
||||||
|
+ /* Translators: don't translate "Aux" */
|
||||||
|
+ label = g_regex_replace (regex,
|
||||||
|
+ input_pads[i], -1, 0,
|
||||||
|
+ _("Aux\\1 Input"),
|
||||||
|
+ 0, NULL);
|
||||||
|
|
||||||
|
input = gimp_operation_tool_aux_input_new (op_tool,
|
||||||
|
filter_tool->operation,
|
||||||
|
- input_pads[i], label,
|
||||||
|
- gegl_node_get_pad_description (filter_tool->operation,
|
||||||
|
- input_pads[i]));
|
||||||
|
+ input_pads[i], label);
|
||||||
|
|
||||||
|
op_tool->aux_inputs = g_list_prepend (op_tool->aux_inputs, input);
|
||||||
|
|
||||||
|
@@ -663,8 +657,7 @@ static AuxInput *
|
||||||
|
gimp_operation_tool_aux_input_new (GimpOperationTool *op_tool,
|
||||||
|
GeglNode *operation,
|
||||||
|
const gchar *input_pad,
|
||||||
|
- const gchar *label,
|
||||||
|
- const gchar *description)
|
||||||
|
+ const gchar *label)
|
||||||
|
{
|
||||||
|
AuxInput *input = g_slice_new (AuxInput);
|
||||||
|
GimpContext *context;
|
||||||
|
@@ -681,8 +674,6 @@ gimp_operation_tool_aux_input_new (GimpOperationTool *op_tool,
|
||||||
|
context = GIMP_CONTEXT (GIMP_TOOL_GET_OPTIONS (op_tool));
|
||||||
|
|
||||||
|
input->box = gimp_buffer_source_box_new (context, input->node, label);
|
||||||
|
- if (description)
|
||||||
|
- gtk_widget_set_tooltip_text (input->box, description);
|
||||||
|
|
||||||
|
/* make AuxInput owner of the box */
|
||||||
|
g_object_ref_sink (input->box);
|
||||||
|
diff --git a/app/sanity.c b/app/sanity.c
|
||||||
|
index 80f9537172..cc1c0c7bd8 100644
|
||||||
|
--- a/app/sanity.c
|
||||||
|
+++ b/app/sanity.c
|
||||||
|
@@ -502,7 +502,7 @@ sanity_check_gegl (void)
|
||||||
|
|
||||||
|
#define GEGL_REQUIRED_MAJOR 0
|
||||||
|
#define GEGL_REQUIRED_MINOR 4
|
||||||
|
-#define GEGL_REQUIRED_MICRO 49
|
||||||
|
+#define GEGL_REQUIRED_MICRO 48
|
||||||
|
|
||||||
|
gegl_get_version (&gegl_major_version,
|
||||||
|
&gegl_minor_version,
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index f120965244..2605b17649 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -384,7 +384,7 @@ freetype2_minver = '2.1.7'
|
||||||
|
freetype2 = dependency('freetype2', version: '>='+freetype2_minver)
|
||||||
|
gdk_pixbuf_minver = '2.30.8'
|
||||||
|
gdk_pixbuf = dependency('gdk-pixbuf-2.0', version: '>='+gdk_pixbuf_minver)
|
||||||
|
-gegl_minver = '0.4.49'
|
||||||
|
+gegl_minver = '0.4.48'
|
||||||
|
gegl = dependency('gegl-0.4', version: '>='+gegl_minver)
|
||||||
|
exiv2_minver = '0.27.4'
|
||||||
|
exiv2 = dependency('exiv2', version: '>='+exiv2_minver)
|
12
gimp-2.99.19-external-help-browser.patch
Normal file
12
gimp-2.99.19-external-help-browser.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up gimp-2.99.18/etc/gimprc.in.external-help-browser gimp-2.99.18/etc/gimprc.in
|
||||||
|
--- gimp-2.99.18/etc/gimprc.in.external-help-browser 2024-05-07 14:41:40.660506520 +0200
|
||||||
|
+++ gimp-2.99.18/etc/gimprc.in 2024-05-07 14:46:04.028680986 +0200
|
||||||
|
@@ -828,7 +828,7 @@
|
||||||
|
# Sets the browser used by the help system. Possible values are gimp and
|
||||||
|
# web-browser.
|
||||||
|
#
|
||||||
|
-# (help-browser gimp)
|
||||||
|
+(help-browser web-browser)
|
||||||
|
|
||||||
|
# The maximum number of actions saved in history. This is an integer value.
|
||||||
|
#
|
12
gimp-2.99.19-no-phone-home-default.patch
Normal file
12
gimp-2.99.19-no-phone-home-default.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up gimp-2.99.18/etc/gimprc.in.no-phone-home-default gimp-2.99.18/etc/gimprc.in
|
||||||
|
--- gimp-2.99.18/etc/gimprc.in.no-phone-home-default 2024-05-07 14:40:02.746185394 +0200
|
||||||
|
+++ gimp-2.99.18/etc/gimprc.in 2024-05-07 14:40:49.353862228 +0200
|
||||||
|
@@ -399,7 +399,7 @@
|
||||||
|
# Check for availability of GIMP updates through background internet queries.
|
||||||
|
# Possible values are yes and no.
|
||||||
|
#
|
||||||
|
-# (check-updates yes)
|
||||||
|
+(check-updates no)
|
||||||
|
|
||||||
|
# Timestamp of the last update check. This is an integer value.
|
||||||
|
#
|
@ -1,56 +0,0 @@
|
|||||||
Do not call the undeclared exit function. Implicit function
|
|
||||||
declarations are likely not going to be supported by future compilers
|
|
||||||
by default, changing the outcome of this configure probe.
|
|
||||||
|
|
||||||
Submitted upstream: <https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/810>
|
|
||||||
|
|
||||||
diff --git a/configure b/configure
|
|
||||||
index 6e62da8e3c164f82..f1c447baf7ff68f7 100755
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -28898,17 +28898,17 @@ else $as_nop
|
|
||||||
char *shmaddr;
|
|
||||||
id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
|
|
||||||
if (id == -1)
|
|
||||||
- exit (2);
|
|
||||||
+ return 2;
|
|
||||||
shmaddr = shmat (id, 0, 0);
|
|
||||||
shmctl (id, IPC_RMID, 0);
|
|
||||||
if ((char*) shmat (id, 0, 0) == (char*) -1)
|
|
||||||
{
|
|
||||||
shmdt (shmaddr);
|
|
||||||
- exit (1);
|
|
||||||
+ return 1;
|
|
||||||
}
|
|
||||||
shmdt (shmaddr);
|
|
||||||
shmdt (shmaddr);
|
|
||||||
- exit (0);
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
_ACEOF
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index d73f56228712f59d..32d2a072863ae64f 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1284,17 +1284,17 @@ elif test "x$shmtype" = "xsysv"; then
|
|
||||||
char *shmaddr;
|
|
||||||
id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
|
|
||||||
if (id == -1)
|
|
||||||
- exit (2);
|
|
||||||
+ return 2;
|
|
||||||
shmaddr = shmat (id, 0, 0);
|
|
||||||
shmctl (id, IPC_RMID, 0);
|
|
||||||
if ((char*) shmat (id, 0, 0) == (char*) -1)
|
|
||||||
{
|
|
||||||
shmdt (shmaddr);
|
|
||||||
- exit (1);
|
|
||||||
+ return 1;
|
|
||||||
}
|
|
||||||
shmdt (shmaddr);
|
|
||||||
shmdt (shmaddr);
|
|
||||||
- exit (0);
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
]])],
|
|
||||||
[AC_DEFINE([IPC_RMID_DEFERRED_RELEASE],[1],
|
|
1
gimp-splash.sha256sum
Normal file
1
gimp-splash.sha256sum
Normal file
@ -0,0 +1 @@
|
|||||||
|
90ac7f576388aeee0cff4c8f3c05a6b2ee89ffc1f82bd42208db9a5fadc138d3 gimp-data/images/gimp-splash.xcf.xz
|
559
gimp.spec
559
gimp.spec
@ -1,92 +1,176 @@
|
|||||||
#### options:
|
#### options:
|
||||||
# Use the following --with/--without <option> switches to control how the
|
# Use the following --with/--without <option> switches to control how the
|
||||||
# package will be built:
|
# package will be built:
|
||||||
#
|
|
||||||
# default_binary: install unversioned binary
|
# is_default_version: This is the default GIMP version in a Fedora release
|
||||||
%bcond_without default_binary
|
# label_overlay: Put version label in app icons
|
||||||
# libunwind support (only available on some architectures)
|
%if ! 0%{?fedora} || 0%{?fedora} >= 41
|
||||||
%ifarch %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
|
%bcond is_default_version 1
|
||||||
%bcond_without libunwind
|
%bcond label_overlay 0
|
||||||
%else
|
%else
|
||||||
%bcond_with libunwind
|
%bcond is_default_version 0
|
||||||
|
%bcond label_overlay 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global build_type_safety_c 0
|
# libunwind support (only available on some architectures)
|
||||||
|
%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 40 || 0%{?rhel} >= 11
|
||||||
|
%global unwind_arches %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64 riscv64
|
||||||
|
%else
|
||||||
|
%global unwind_arches %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
|
||||||
|
%endif
|
||||||
|
|
||||||
# skip tests known to be problematic in a specific version
|
%ifarch %unwind_arches
|
||||||
#global skip_checks_version X.Y.Z
|
%bcond libunwind 1
|
||||||
#global skip_checks test1 test2 test3
|
%else
|
||||||
|
%bcond libunwind 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifnarch s390x
|
||||||
|
%bcond tests 1
|
||||||
|
%bcond prebuilt_splash 0
|
||||||
|
%else
|
||||||
|
# Tests hang on s390x, skip them.
|
||||||
|
%bcond tests 0
|
||||||
|
%bcond prebuilt_splash 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# When building in Koji or mock, networking isn’t available.
|
||||||
|
%bcond skip_networking_tests 1
|
||||||
|
# Skip known problematic tests
|
||||||
|
%bcond skip_problematic_tests 1
|
||||||
|
# Some tests fail under normal user environments, don’t skip them by default.
|
||||||
|
%bcond skip_user_tests 0
|
||||||
|
|
||||||
|
# The lists of tests to skip should not have leading or trailing white space,
|
||||||
|
# this breaks the logic in %%check.
|
||||||
|
|
||||||
|
# tests known to fail if networking isn’t available
|
||||||
|
%global skip_tests_networking gimp:desktop / appdata_file
|
||||||
|
|
||||||
|
# tests known to fail for being problematic
|
||||||
|
%global skip_tests_problematic gimp:app / save-and-export
|
||||||
|
|
||||||
|
# tests known to fail in a normal user environment
|
||||||
|
%global skip_tests_user gimp:app / save-and-export\
|
||||||
|
gimp:app / single-window-mode\
|
||||||
|
gimp:app / ui
|
||||||
|
|
||||||
|
# luajit isn’t available on all arches
|
||||||
|
%global plain_lua_arches riscv64 ppc64 ppc64le
|
||||||
|
|
||||||
|
%global prerelease 1
|
||||||
|
|
||||||
Summary: GNU Image Manipulation Program
|
Summary: GNU Image Manipulation Program
|
||||||
Name: gimp
|
Name: gimp
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Version: 2.10.38
|
Version: 2.99.19^20240916gitca9d57a417
|
||||||
Release: %autorelease -e rvre0
|
Release: %autorelease -e 0.riscv64
|
||||||
|
|
||||||
# Compute some version related macros.
|
# Compute some version related macros.
|
||||||
# Ugly, need to get quoting percent signs straight.
|
|
||||||
%global major %(ver=%{version}; echo ${ver%%%%.*})
|
# In the case of a snapshot version (e.g. "Version: 2.99.19^20240814git256e0ca5a0"), this computes
|
||||||
%global minor %(ver=%{version}; ver=${ver#%major.}; echo ${ver%%%%.*})
|
# the "plain" version (as defined in upstream sources), %%snapshot and %%git_rev macros. In the case
|
||||||
%global micro %(ver=%{version}; ver=${ver#%major.%minor.}; echo ${ver%%%%.*})
|
# of a normal release, %%plain_version will be the same as %%version.
|
||||||
%global binver 2.10
|
%global plain_version %{lua:
|
||||||
|
local plain_version = (string.gsub(macros.version, '^(.*)[%^~].*$', '%1'))
|
||||||
|
print(plain_version)
|
||||||
|
if plain_version ~= macros.version then
|
||||||
|
macros.snapshot = (string.gsub(macros.version, '^.*[%^~](.*)$', '%1'))
|
||||||
|
macros.git_rev = (string.gsub(macros.snapshot, '^.*git(.*)$', '%1'))
|
||||||
|
end
|
||||||
|
}
|
||||||
|
%global major %{lua:
|
||||||
|
print((string.gsub(macros.plain_version, '^(%d+)%..*$', '%1')))
|
||||||
|
}
|
||||||
|
%global minor %{lua:
|
||||||
|
print((string.gsub(macros.plain_version, '^%d+%.(%d+)%..*$', '%1')))
|
||||||
|
}
|
||||||
|
%global micro %{lua:
|
||||||
|
print((string.gsub(macros.plain_version, '^%d+%.%d+%.(%d+).*$', '%1')))
|
||||||
|
}
|
||||||
|
%global bin_version %{major}.%{minor}
|
||||||
%global interface_age 0
|
%global interface_age 0
|
||||||
|
%if %prerelease
|
||||||
|
%global gettext_version 30
|
||||||
|
%global api_version 3.0
|
||||||
|
%global lib_api_version 3.0
|
||||||
|
%else
|
||||||
%global gettext_version %{major}0
|
%global gettext_version %{major}0
|
||||||
|
%global api_version %{major}.0
|
||||||
%global lib_api_version %{major}.0
|
%global lib_api_version %{major}.0
|
||||||
%global lib_minor %(echo $[%minor * 100])
|
%endif
|
||||||
|
%global lib_minor %{lua: print(tonumber(macros.minor) * 100)}
|
||||||
%global lib_micro %micro
|
%global lib_micro %micro
|
||||||
|
|
||||||
# gimp core app is GPL-3.0-or-later, libgimp and other libraries are LGPL-3.0-or-later
|
# gimp core app is GPL-3.0-or-later, libgimp and other libraries are LGPL-3.0-or-later
|
||||||
# plugin file-dds is GPL-2.0-or-later and plugins script-fu/{ftx,tinyscheme} are BSD-3-Clause
|
# plugin file-dds is GPL-2.0-or-later and plugins script-fu/libscriptfu/{ftx,tinyscheme}
|
||||||
License: LGPL-3.0-or-later AND GPL-2.0-or-later AND GPL-3.0-or-later AND BSD-3-Clause
|
# are BSD-3-Clause, icon themes are CC-BY-SA-{3.0,4.0}, data files such as brushes and
|
||||||
URL: https://www.gimp.org/
|
# patterns are CC0-1.0
|
||||||
|
License: LGPL-3.0-or-later AND GPL-2.0-or-later AND GPL-3.0-or-later AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND CC0-1.0
|
||||||
|
URL: https://www.gimp.org
|
||||||
|
%if %{with label_overlay}
|
||||||
|
BuildRequires: ImageMagick
|
||||||
|
%endif
|
||||||
BuildRequires: aalib-devel
|
BuildRequires: aalib-devel
|
||||||
BuildRequires: appdata-tools
|
BuildRequires: appdata-tools
|
||||||
BuildRequires: chrpath >= 0.13-5
|
BuildRequires: appstream
|
||||||
|
BuildRequires: coreutils
|
||||||
|
BuildRequires: dbus-daemon
|
||||||
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gegl04-tools
|
BuildRequires: gegl04-tools
|
||||||
BuildRequires: gettext >= 0.19
|
BuildRequires: gettext >= 0.19.8
|
||||||
|
BuildRequires: gi-docgen
|
||||||
|
BuildRequires: gjs
|
||||||
BuildRequires: glib-networking
|
BuildRequires: glib-networking
|
||||||
BuildRequires: gtk-doc >= 1.0
|
|
||||||
BuildRequires: intltool >= 0.40.1
|
|
||||||
BuildRequires: libgs-devel
|
BuildRequires: libgs-devel
|
||||||
BuildRequires: make
|
BuildRequires: libxml2
|
||||||
|
BuildRequires: libxslt
|
||||||
|
%ifnarch %plain_lua_arches
|
||||||
|
BuildRequires: lua-lgi-compat
|
||||||
|
BuildRequires: luajit
|
||||||
|
%else
|
||||||
|
BuildRequires: lua >= 5.4
|
||||||
|
BuildRequires: lua-lgi
|
||||||
|
%endif
|
||||||
|
BuildRequires: meson
|
||||||
BuildRequires: perl >= 5.10.0
|
BuildRequires: perl >= 5.10.0
|
||||||
BuildRequires: pkgconfig(alsa) >= 1.0.0
|
BuildRequires: pkgconfig(alsa) >= 1.0.0
|
||||||
BuildRequires: pkgconfig(atk) >= 2.2.0
|
BuildRequires: pkgconfig(appstream-glib) >= 0.7.7
|
||||||
%if ! 0%{?fedora} || 0%{?fedora} >= 39
|
BuildRequires: pkgconfig(atk) >= 2.4.0
|
||||||
BuildRequires: pkgconfig(babl-0.1) >= 0.1.74
|
BuildRequires: pkgconfig(babl-0.1) >= 0.1.108
|
||||||
%else
|
|
||||||
BuildRequires: pkgconfig(babl) >= 0.1.74
|
|
||||||
%endif
|
|
||||||
BuildRequires: pkgconfig(bzip2)
|
BuildRequires: pkgconfig(bzip2)
|
||||||
BuildRequires: pkgconfig(cairo) >= 1.12.2
|
BuildRequires: pkgconfig(cairo) >= 1.14.0
|
||||||
|
BuildRequires: pkgconfig(cairo-pdf) >= 1.12.2
|
||||||
|
BuildRequires: pkgconfig(cfitsio)
|
||||||
BuildRequires: pkgconfig(fontconfig) >= 2.12.4
|
BuildRequires: pkgconfig(fontconfig) >= 2.12.4
|
||||||
BuildRequires: pkgconfig(freetype2) >= 2.1.7
|
BuildRequires: pkgconfig(freetype2) >= 2.1.7
|
||||||
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.30.8
|
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.30.8
|
||||||
BuildRequires: pkgconfig(gegl-0.4) >= 0.4.32
|
BuildRequires: pkgconfig(gegl-0.4) >= 0.4.48
|
||||||
BuildRequires: pkgconfig(gexiv2) >= 0.10.6
|
BuildRequires: pkgconfig(gexiv2) >= 0.14.0
|
||||||
BuildRequires: pkgconfig(gio-2.0) >= 2.56.2
|
BuildRequires: pkgconfig(gio-2.0)
|
||||||
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.56.2
|
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= 2.56.2
|
BuildRequires: pkgconfig(glib-2.0) >= 2.70.0
|
||||||
BuildRequires: pkgconfig(gmodule-no-export-2.0) >= 2.56.2
|
BuildRequires: pkgconfig(gmodule-no-export-2.0)
|
||||||
BuildRequires: pkgconfig(gobject-2.0) >= 2.56.2
|
BuildRequires: pkgconfig(gobject-2.0) >= 2.70.0
|
||||||
BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.32
|
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||||
|
BuildRequires: pkgconfig(gtk+-3.0) >= 3.24.0
|
||||||
BuildRequires: pkgconfig(gudev-1.0) >= 167
|
BuildRequires: pkgconfig(gudev-1.0) >= 167
|
||||||
BuildRequires: pkgconfig(harfbuzz) >= 0.9.19
|
BuildRequires: pkgconfig(harfbuzz) >= 2.8.2
|
||||||
BuildRequires: pkgconfig(iso-codes)
|
BuildRequires: pkgconfig(iso-codes)
|
||||||
BuildRequires: pkgconfig(jasper)
|
BuildRequires: pkgconfig(json-glib-1.0) >= 1.2.6
|
||||||
BuildRequires: pkgconfig(lcms2) >= 2.8
|
BuildRequires: pkgconfig(lcms2) >= 2.8
|
||||||
BuildRequires: pkgconfig(libheif)
|
BuildRequires: pkgconfig(libheif) >= 1.15.1
|
||||||
BuildRequires: pkgconfig(libjpeg)
|
BuildRequires: pkgconfig(libjpeg)
|
||||||
BuildRequires: pkgconfig(libjxl) >= 0.6.1
|
BuildRequires: pkgconfig(libjxl) >= 0.7.0
|
||||||
BuildRequires: pkgconfig(libjxl_threads) >= 0.6.1
|
BuildRequires: pkgconfig(libjxl_threads) >= 0.7.0
|
||||||
BuildRequires: pkgconfig(liblzma) >= 5.0.0
|
BuildRequires: pkgconfig(liblzma) >= 5.0.0
|
||||||
BuildRequires: pkgconfig(libmng)
|
BuildRequires: pkgconfig(libmng)
|
||||||
BuildRequires: pkgconfig(libmypaint) >= 1.3.0
|
BuildRequires: pkgconfig(libmypaint) >= 1.3.0
|
||||||
BuildRequires: pkgconfig(libopenjp2) >= 2.1.0
|
BuildRequires: pkgconfig(libopenjp2) >= 2.1.0
|
||||||
BuildRequires: pkgconfig(libpng) >= 1.6.25
|
BuildRequires: pkgconfig(libpng) >= 1.6.25
|
||||||
BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6
|
BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6
|
||||||
BuildRequires: pkgconfig(libtiff-4)
|
BuildRequires: pkgconfig(libtiff-4) >= 4.0.0
|
||||||
%if %{with libunwind}
|
%if %{with libunwind}
|
||||||
BuildRequires: pkgconfig(libunwind) >= 1.1.0
|
BuildRequires: pkgconfig(libunwind) >= 1.1.0
|
||||||
%endif
|
%endif
|
||||||
@ -95,47 +179,66 @@ BuildRequires: pkgconfig(libwebpdemux) >= 0.6.0
|
|||||||
BuildRequires: pkgconfig(libwebpmux) >= 0.6.0
|
BuildRequires: pkgconfig(libwebpmux) >= 0.6.0
|
||||||
BuildRequires: pkgconfig(libwmf) >= 0.2.8
|
BuildRequires: pkgconfig(libwmf) >= 0.2.8
|
||||||
BuildRequires: pkgconfig(mypaint-brushes-1.0) >= 1.3.0
|
BuildRequires: pkgconfig(mypaint-brushes-1.0) >= 1.3.0
|
||||||
BuildRequires: pkgconfig(OpenEXR)
|
BuildRequires: pkgconfig(OpenEXR) >= 1.6.1
|
||||||
BuildRequires: pkgconfig(pangocairo) >= 1.29.4
|
BuildRequires: pkgconfig(pango) >= 1.50.0
|
||||||
BuildRequires: pkgconfig(pangoft2) >= 1.29.4
|
BuildRequires: pkgconfig(pangocairo) >= 1.50.0
|
||||||
BuildRequires: pkgconfig(poppler-data) >= 0.4.7
|
BuildRequires: pkgconfig(pangoft2) >= 1.50.0
|
||||||
BuildRequires: pkgconfig(poppler-glib) >= 0.50.0
|
BuildRequires: pkgconfig(poppler-data) >= 0.4.9
|
||||||
BuildRequires: pkgconfig(pycairo) >= 1.0.2
|
BuildRequires: pkgconfig(poppler-glib) >= 0.69.0
|
||||||
BuildRequires: pkgconfig(pygobject-2.0)
|
BuildRequires: pkgconfig(python3) >= 3.6.0
|
||||||
BuildRequires: pkgconfig(pygtk-2.0) >= 2.10.4
|
|
||||||
BuildRequires: pkgconfig(python2) >= 2.5.0
|
|
||||||
BuildRequires: pkgconfig(x11)
|
BuildRequires: pkgconfig(x11)
|
||||||
|
BuildRequires: pkgconfig(xfixes)
|
||||||
BuildRequires: pkgconfig(xmu)
|
BuildRequires: pkgconfig(xmu)
|
||||||
BuildRequires: pkgconfig(xpm)
|
BuildRequires: pkgconfig(xpm)
|
||||||
BuildRequires: pkgconfig(zlib)
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
BuildRequires: python3dist(pygobject) >= 3.0
|
||||||
|
BuildRequires: vala
|
||||||
|
BuildRequires: xorg-x11-server-Xvfb
|
||||||
|
BuildRequires: yelp-tools
|
||||||
|
|
||||||
|
Requires: gjs
|
||||||
Requires: hicolor-icon-theme
|
Requires: hicolor-icon-theme
|
||||||
Recommends: mypaint-brushes
|
%ifnarch %plain_lua_arches
|
||||||
|
Requires: lua-lgi-compat
|
||||||
|
Requires: luajit
|
||||||
|
%else
|
||||||
|
Requires: lua >= 5.4
|
||||||
|
Requires: lua-lgi
|
||||||
|
%endif
|
||||||
Requires: xdg-utils
|
Requires: xdg-utils
|
||||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
Requires: pygtk2%{?_isa} >= 2.10.4
|
Requires: python3dist(pygobject) >= 3.0
|
||||||
Obsoletes: %{name}-help-browser < %{epoch}:%{version}-%{release}
|
|
||||||
Conflicts: %{name}-help-browser < %{epoch}:%{version}-%{release}
|
|
||||||
|
|
||||||
#Remove dependency on RPM Fusion repository
|
Recommends: mypaint-brushes
|
||||||
Obsoletes: gimp-heif-plugin < 1.1.0-13
|
|
||||||
|
|
||||||
Source0: https://download.gimp.org/pub/gimp/v%{binver}/gimp-%{version}.tar.bz2
|
Obsoletes: gimp3 < 3.0
|
||||||
|
Conflicts: gimp3 < 3.0
|
||||||
|
|
||||||
|
%if ! %defined snapshot
|
||||||
|
Source0: https://download.gimp.org/pub/gimp/v%{bin_version}/gimp-%{version}.tar.xz
|
||||||
|
%else
|
||||||
|
# Tarball built from git snapshot with `meson dist` and renamed accordingly
|
||||||
|
Source0: gimp-%{plain_version}-git%{git_rev}.tar.xz
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Building this from source hangs on s390x 😢. Building on any other arch will convert
|
||||||
|
# gimp-data/images/gimp-splash.xcf.xz just fine.
|
||||||
|
Source1: gimp-splash.png
|
||||||
|
Source2: gimp-splash.sha256sum
|
||||||
|
|
||||||
|
# Fedora specific patches:
|
||||||
|
|
||||||
# Try using the system monitor profile for color management by default.
|
# Try using the system monitor profile for color management by default.
|
||||||
# Fedora specific.
|
Patch1: gimp-2.99.19-cm-system-monitor-profile-by-default.patch
|
||||||
Patch1: gimp-2.10.0-cm-system-monitor-profile-by-default.patch
|
|
||||||
|
|
||||||
# bz#1706653
|
|
||||||
Patch2: gimp-2.10.12-default-font.patch
|
|
||||||
|
|
||||||
# don't phone home to check for updates by default
|
# don't phone home to check for updates by default
|
||||||
Patch3: gimp-2.10.18-no-phone-home-default.patch
|
Patch2: gimp-2.99.19-no-phone-home-default.patch
|
||||||
|
|
||||||
# use external help browser directly if help browser plug-in is not built
|
# use external help browser directly if help browser plug-in is not built
|
||||||
Patch100: gimp-2.10.24-external-help-browser.patch
|
Patch3: gimp-2.99.19-external-help-browser.patch
|
||||||
|
|
||||||
Patch101: gimp-configure-c99.patch
|
# Don’t require an unreleased gegl version
|
||||||
|
Patch4: gimp-2.99.19-don-t-require-unreleased-gegl-version.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GIMP (GNU Image Manipulation Program) is a powerful image composition and
|
GIMP (GNU Image Manipulation Program) is a powerful image composition and
|
||||||
@ -149,6 +252,8 @@ with multi-level undo.
|
|||||||
%package libs
|
%package libs
|
||||||
Summary: GIMP libraries
|
Summary: GIMP libraries
|
||||||
License: LGPL-3.0-or-later
|
License: LGPL-3.0-or-later
|
||||||
|
Obsoletes: gimp3-libs < 3.0
|
||||||
|
Conflicts: gimp3-libs < 3.0
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
The %{name}-libs package contains shared libraries needed for the GNU Image
|
The %{name}-libs package contains shared libraries needed for the GNU Image
|
||||||
@ -159,6 +264,8 @@ Summary: GIMP plugin and extension development kit
|
|||||||
License: LGPL-3.0-or-later
|
License: LGPL-3.0-or-later
|
||||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name}-devel-tools = %{epoch}:%{version}-%{release}
|
Requires: %{name}-devel-tools = %{epoch}:%{version}-%{release}
|
||||||
|
Obsoletes: gimp3-devel < 3.0
|
||||||
|
Conflicts: gimp3-devel < 3.0
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
The %{name}-devel package contains the files needed for writing GNU Image
|
The %{name}-devel package contains the files needed for writing GNU Image
|
||||||
@ -168,6 +275,8 @@ Manipulation Program (GIMP) plug-ins and extensions.
|
|||||||
Summary: GIMP plugin and extension development tools
|
Summary: GIMP plugin and extension development tools
|
||||||
License: LGPL-3.0-or-later
|
License: LGPL-3.0-or-later
|
||||||
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
|
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
|
||||||
|
Obsoletes: gimp3-devel-tools < 3.0
|
||||||
|
Conflicts: gimp3-devel-tools < 3.0
|
||||||
|
|
||||||
%description devel-tools
|
%description devel-tools
|
||||||
The %{name}-devel-tools package contains gimptool, a helper program to
|
The %{name}-devel-tools package contains gimptool, a helper program to
|
||||||
@ -176,54 +285,57 @@ build GNU Image Manipulation Program (GIMP) plug-ins and extensions.
|
|||||||
%prep
|
%prep
|
||||||
cat << EOF
|
cat << EOF
|
||||||
--- 8< --- Build options ---------------------------------------------------
|
--- 8< --- Build options ---------------------------------------------------
|
||||||
install default binary: %{with default_binary}
|
is default version: %{with is_default_version}
|
||||||
|
label overlay: %{with label_overlay}
|
||||||
|
tests: %{with tests}
|
||||||
|
prebuilt splash: %{with prebuilt_splash}
|
||||||
|
%if %defined snapshot
|
||||||
|
snapshot: %{snapshot}
|
||||||
|
plain_version: %{plain_version}
|
||||||
|
git_rev: %{git_rev}
|
||||||
|
%endif
|
||||||
--- >8 ---------------------------------------------------------------------
|
--- >8 ---------------------------------------------------------------------
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
%setup -q -n gimp-%{version}
|
%setup -q -n gimp-%{plain_version}
|
||||||
|
|
||||||
%patch 1 -p1 -b .cm-system-monitor-profile-by-default
|
%patch 1 -p1 -b .cm-system-monitor-profile-by-default
|
||||||
%patch 2 -p1 -b .font-default
|
%patch 2 -p1 -b .no-phone-home-default
|
||||||
%patch 3 -p1 -b .no-phone-home-default
|
%patch 3 -p1 -b .external-help-browser
|
||||||
|
%patch 4 -p1 -b .don-t-require-unreleased-gegl-version
|
||||||
|
|
||||||
%patch 100 -p1 -b .external-help-browser
|
# Verify the splash file source hasn’t changed
|
||||||
%patch 101 -p1 -b .configure-c99
|
sha256sum -c %{SOURCE2}
|
||||||
|
|
||||||
# Avoid re-running autotools.
|
|
||||||
touch -r aclocal.m4 configure*
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# allow python2 package for RHEL-8
|
|
||||||
export RHEL_ALLOW_PYTHON2_FOR_BUILD=1
|
|
||||||
|
|
||||||
# Use hardening compiler/linker flags because gimp is likely to deal with files
|
# Use hardening compiler/linker flags because gimp is likely to deal with files
|
||||||
# coming from untrusted sources
|
# coming from untrusted sources
|
||||||
%global _hardened_build 1
|
%global _hardened_build 1
|
||||||
%configure \
|
|
||||||
--enable-python \
|
|
||||||
--enable-mp \
|
|
||||||
--disable-static \
|
|
||||||
--with-print \
|
|
||||||
--enable-gimp-console \
|
|
||||||
--with-aa \
|
|
||||||
--with-gudev \
|
|
||||||
%ifos linux
|
|
||||||
--with-linux-input \
|
|
||||||
%endif
|
|
||||||
--without-webkit \
|
|
||||||
--with-webp \
|
|
||||||
%if %{with default_binary}
|
|
||||||
--enable-default-binary=yes \
|
|
||||||
%else
|
|
||||||
--enable-default-binary=no \
|
|
||||||
%endif
|
|
||||||
--with-libmng --with-libxpm --with-alsa --with-cairo-pdf --with-libheif \
|
|
||||||
%if 0%{?flatpak}
|
|
||||||
--with-icc-directory=/run/host/usr/share/color/icc/ \
|
|
||||||
%endif
|
|
||||||
--without-appdata-test
|
|
||||||
|
|
||||||
%make_build
|
%meson \
|
||||||
|
%if %{with is_default_version}
|
||||||
|
-Denable-default-bin=enabled \
|
||||||
|
%else
|
||||||
|
-Denable-default-bin=disabled \
|
||||||
|
%endif
|
||||||
|
-Dg-ir-doc=true \
|
||||||
|
-Dilbm=disabled \
|
||||||
|
-Dbug-report-url="https://bugzilla.redhat.com/"
|
||||||
|
|
||||||
|
%if %{with prebuilt_splash}
|
||||||
|
# Building this from source hangs on s390x 😢, so prevent attempting to build it …
|
||||||
|
sed -i -e '/^subdir/!s/^/# /g' gimp-data/images/meson.build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%meson_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%meson_install
|
||||||
|
|
||||||
|
%if %{with prebuilt_splash}
|
||||||
|
# … instead, copy the prebuilt file into place.
|
||||||
|
install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/gimp/%{api_version}/images/gimp-splash.png
|
||||||
|
%endif
|
||||||
|
|
||||||
# Generate RPM macros from pkg-config data:
|
# Generate RPM macros from pkg-config data:
|
||||||
# %%_gimp_datadir -- toplevel directory for brushes, gradients, scripts, ...
|
# %%_gimp_datadir -- toplevel directory for brushes, gradients, scripts, ...
|
||||||
@ -233,7 +345,7 @@ export RHEL_ALLOW_PYTHON2_FOR_BUILD=1
|
|||||||
# %%_gimp_scriptdir -- script-fu scripts directory
|
# %%_gimp_scriptdir -- script-fu scripts directory
|
||||||
# %%_gimp_plugindir -- plug-in directory
|
# %%_gimp_plugindir -- plug-in directory
|
||||||
gimp_pc_extract_normalize() {
|
gimp_pc_extract_normalize() {
|
||||||
PKG_CONFIG_PATH="$PWD" \
|
PKG_CONFIG_PATH="%{buildroot}%{_libdir}/pkgconfig" \
|
||||||
pkg-config --variable="$1" gimp-%{lib_api_version} | \
|
pkg-config --variable="$1" gimp-%{lib_api_version} | \
|
||||||
sed \
|
sed \
|
||||||
-e 's|^%_mandir|%%{_mandir}|' \
|
-e 's|^%_mandir|%%{_mandir}|' \
|
||||||
@ -269,31 +381,23 @@ cat << EOF > macros.gimp
|
|||||||
%%_gimp_plugindir ${_gimp_plugindir}
|
%%_gimp_plugindir ${_gimp_plugindir}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
%install
|
|
||||||
%make_install
|
|
||||||
install -D -m0644 macros.gimp %{buildroot}%{_rpmconfigdir}/macros.d/macros.gimp
|
install -D -m0644 macros.gimp %{buildroot}%{_rpmconfigdir}/macros.d/macros.gimp
|
||||||
|
|
||||||
# remove rpaths
|
echo "%{__python3}=%{__python3}" >> %{buildroot}%{_libdir}/gimp/%{api_version}/interpreters/pygimp.interp
|
||||||
find %buildroot -type f -print0 | xargs -0 -L 20 chrpath --delete --keepgoing 2>/dev/null || :
|
|
||||||
|
|
||||||
# remove .la files
|
|
||||||
find %buildroot -name \*.la -exec %__rm -f {} \;
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Plugins and modules change often (grab the executeable ones)
|
# Plugins and modules change often (grab the executeable ones)
|
||||||
#
|
#
|
||||||
find %{buildroot}%{_libdir}/gimp/%{lib_api_version} -type f | sed "s@^%{buildroot}@@g" | grep -v '\.a$' > gimp-plugin-files
|
find %{buildroot}%{_libdir}/gimp/%{api_version} -type f | sed "s@^%{buildroot}@@g" | grep -v '\.a$' > gimp-plugin-files
|
||||||
find %{buildroot}%{_libdir}/gimp/%{lib_api_version}/* -type d | sed "s@^%{buildroot}@%%dir @g" >> gimp-plugin-files
|
find %{buildroot}%{_libdir}/gimp/%{api_version}/* -type d | sed "s@^%{buildroot}@%%dir @g" >> gimp-plugin-files
|
||||||
|
|
||||||
# .pyc and .pyo files don't exist yet
|
grep '\.py$' gimp-plugin-files | \
|
||||||
grep "\.py$" gimp-plugin-files > gimp-plugin-files-py
|
sed 's+/[^/]*\.py$+/__pycache__+g' | \
|
||||||
for file in $(cat gimp-plugin-files-py); do
|
sort -u > gimp-plugin-files-pycache
|
||||||
for newfile in ${file}c ${file}o; do
|
|
||||||
grep -F -q -x "$newfile" gimp-plugin-files || echo "$newfile"
|
|
||||||
done
|
|
||||||
done >> gimp-plugin-files
|
|
||||||
|
|
||||||
%py_byte_compile %{__python2} %{buildroot}%{_libdir}/gimp/%{lib_api_version}
|
cat gimp-plugin-files-pycache >> gimp-plugin-files
|
||||||
|
|
||||||
|
%py_byte_compile %{__python3} %{buildroot}%{_libdir}/gimp/%{api_version}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Auto detect the lang files.
|
# Auto detect the lang files.
|
||||||
@ -311,15 +415,15 @@ cat gimp%{gettext_version}.lang gimp%{gettext_version}-std-plug-ins.lang gimp%{g
|
|||||||
#
|
#
|
||||||
cat gimp-plugin-files gimp-all.lang > gimp.files
|
cat gimp-plugin-files gimp-all.lang > gimp.files
|
||||||
|
|
||||||
%if %{with default_binary}
|
%if %{with is_default_version}
|
||||||
# install default binary symlinks
|
# install default binary symlinks
|
||||||
ln -snf gimp-%{binver} %{buildroot}%{_bindir}/gimp
|
ln -snf gimp-%{bin_version} %{buildroot}%{_bindir}/gimp
|
||||||
ln -snf gimp-%{binver}.1 %{buildroot}%{_mandir}/man1/gimp.1
|
ln -snf gimp-%{bin_version}.1 %{buildroot}%{_mandir}/man1/gimp.1
|
||||||
ln -snf gimp-console-%{binver} %{buildroot}/%{_bindir}/gimp-console
|
ln -snf gimp-console-%{bin_version} %{buildroot}/%{_bindir}/gimp-console
|
||||||
ln -snf gimp-console-%{binver}.1 %{buildroot}/%{_mandir}/man1/gimp-console.1
|
ln -snf gimp-console-%{bin_version}.1 %{buildroot}/%{_mandir}/man1/gimp-console.1
|
||||||
ln -snf gimptool-%{lib_api_version} %{buildroot}%{_bindir}/gimptool
|
ln -snf gimptool-%{bin_version} %{buildroot}%{_bindir}/gimptool
|
||||||
ln -snf gimptool-%{lib_api_version}.1 %{buildroot}%{_mandir}/man1/gimptool.1
|
ln -snf gimptool-%{bin_version}.1 %{buildroot}%{_mandir}/man1/gimptool.1
|
||||||
ln -snf gimprc-%{binver}.5 %{buildroot}/%{_mandir}/man5/gimprc.5
|
ln -snf gimprc-%{bin_version}.5 %{buildroot}/%{_mandir}/man5/gimprc.5
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Hardcode python interpreter in shipped python plug-ins. This actually has no
|
# Hardcode python interpreter in shipped python plug-ins. This actually has no
|
||||||
@ -327,103 +431,141 @@ ln -snf gimprc-%{binver}.5 %{buildroot}/%{_mandir}/man5/gimprc.5
|
|||||||
# to the system python interpreter, but this will avoid false alarms.
|
# to the system python interpreter, but this will avoid false alarms.
|
||||||
grep -E -rl '^#!\s*/usr/bin/env\s+python' --include=\*.py "%{buildroot}" |
|
grep -E -rl '^#!\s*/usr/bin/env\s+python' --include=\*.py "%{buildroot}" |
|
||||||
while read file; do
|
while read file; do
|
||||||
sed -r '1s,^#!\s*/usr/bin/env\s+python$,#!%{__python2},' -i "$file"
|
sed -r '1s,^#!\s*/usr/bin/env\s+python$,#!%{__python3},' -i "$file"
|
||||||
sed -r '1s,^#!\s*/usr/bin/env\s+python2$,#!%{__python2},' -i "$file"
|
sed -r '1s,^#!\s*/usr/bin/env\s+python3$,#!%{__python3},' -i "$file"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "%{__python2}=%{__python2}" >> %{buildroot}%{_libdir}/gimp/%{lib_api_version}/interpreters/pygimp.interp
|
rm -rf devel-docs/gimp-%{bin_version}
|
||||||
|
mv %{buildroot}%{_docdir}/gimp-%{bin_version} devel-docs
|
||||||
|
rm -r %{buildroot}%{_datadir}/gimp/%{api_version}/tests
|
||||||
|
|
||||||
%check
|
%if %{without is_default_version}
|
||||||
# skip tests known to be problematic in a specific version
|
rm -rf %{buildroot}%{_datadir}/metainfo
|
||||||
%if "%{version}" == "%{?skip_checks_version}"
|
%endif
|
||||||
pushd app/tests
|
|
||||||
for problematic in %{?skip_checks}; do
|
%if %{with tests}
|
||||||
rm -f "$problematic"
|
%check
|
||||||
cat << EOF > "$problematic"
|
# Some tests in the gimp:app suite are known to fail when run in a normal desktop environment, but
|
||||||
#!/bin/sh
|
# they work in isolated builds (mock, koji): save-and-export, single-window-mode, ui
|
||||||
echo Skipping test "$problematic"
|
|
||||||
EOF
|
# skip tests known to fail
|
||||||
chmod +x "$problematic"
|
skip_tests=""
|
||||||
done
|
|
||||||
popd
|
%if %{with skip_networking_tests}
|
||||||
|
skip_tests="$skip_tests
|
||||||
|
%skip_tests_networking"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with skip_problematic_tests}
|
||||||
|
skip_tests="$skip_tests
|
||||||
|
%skip_tests_problematic"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with skip_user_tests}
|
||||||
|
skip_tests="$skip_tests
|
||||||
|
%skip_tests_user"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
all_tests="$(%meson_test --list 2>/dev/null)"
|
||||||
|
suites="$(echo "$all_tests" | while read suite ignore; do echo "${suite%+*}"; done | sort -u)"
|
||||||
|
for suite in $suites; do
|
||||||
|
suite_tests="$(
|
||||||
|
echo "$all_tests" | grep "^$suite\(+\S\+\)\?" | while read ignore ignore test; do
|
||||||
|
if ! echo "$skip_tests" | grep -qFx "$suite / $test"; then echo "$test"; fi
|
||||||
|
done | sort -u
|
||||||
|
)"
|
||||||
|
if [ -n "$suite_tests" ]; then
|
||||||
|
%ifnarch riscv64
|
||||||
|
%meson_test --suite "$suite" $suite_tests
|
||||||
|
%else
|
||||||
|
%meson_test --timeout-multiplier 10 --suite "$suite" $suite_tests
|
||||||
|
%endif
|
||||||
|
fi
|
||||||
|
done
|
||||||
%endif
|
%endif
|
||||||
make check %{?_smp_mflags}
|
|
||||||
|
|
||||||
%ldconfig_scriptlets libs
|
%ldconfig_scriptlets libs
|
||||||
|
|
||||||
%files -f gimp.files
|
%files -f gimp.files
|
||||||
%license COPYING
|
%license LICENSE COPYING
|
||||||
%doc AUTHORS ChangeLog NEWS README
|
%doc AUTHORS NEWS README
|
||||||
%doc docs/*.xcf*
|
%doc docs/*.xcf*
|
||||||
%{_datadir}/applications/*.desktop
|
%{_datadir}/applications/*.desktop
|
||||||
|
%if %{with is_default_version}
|
||||||
%{_datadir}/metainfo/*.appdata.xml
|
%{_datadir}/metainfo/*.appdata.xml
|
||||||
%{_datadir}/metainfo/*.metainfo.xml
|
%endif
|
||||||
|
|
||||||
%dir %{_datadir}/gimp
|
%dir %{_datadir}/gimp
|
||||||
%dir %{_datadir}/gimp/%{lib_api_version}
|
%dir %{_datadir}/gimp/%{api_version}
|
||||||
%{_datadir}/gimp/%{lib_api_version}/dynamics/
|
%{_datadir}/gimp/%{api_version}/dynamics/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/file-raw/
|
%{_datadir}/gimp/%{api_version}/file-raw/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/menus/
|
%{_datadir}/gimp/%{api_version}/menus/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/tags/
|
%{_datadir}/gimp/%{api_version}/tags/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/tips/
|
%{_datadir}/gimp/%{api_version}/tips/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/tool-presets/
|
%{_datadir}/gimp/%{api_version}/tool-presets/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/ui/
|
|
||||||
%dir %{_libdir}/gimp
|
%dir %{_libdir}/gimp
|
||||||
%dir %{_libdir}/gimp/%{lib_api_version}
|
%dir %{_libdir}/gimp/%{api_version}
|
||||||
|
|
||||||
%{_datadir}/gimp/%{lib_api_version}/brushes/
|
%{_datadir}/gimp/%{api_version}/brushes/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/fractalexplorer/
|
%{_datadir}/gimp/%{api_version}/fractalexplorer/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/gfig/
|
%{_datadir}/gimp/%{api_version}/gfig/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/gflare/
|
%{_datadir}/gimp/%{api_version}/gflare/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/gimpressionist/
|
%{_datadir}/gimp/%{api_version}/gimpressionist/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/gradients/
|
%{_datadir}/gimp/%{api_version}/gradients/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/icons/
|
%{_datadir}/gimp/%{api_version}/icons/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/images/
|
%{_datadir}/gimp/%{api_version}/images/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/palettes/
|
%{_datadir}/gimp/%{api_version}/palettes/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/patterns/
|
%{_datadir}/gimp/%{api_version}/patterns/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/scripts/
|
%{_datadir}/gimp/%{api_version}/scripts/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/themes/
|
%{_datadir}/gimp/%{api_version}/themes/
|
||||||
%{_datadir}/gimp/%{lib_api_version}/gimp-release
|
%{_datadir}/gimp/%{api_version}/gimp-release
|
||||||
|
|
||||||
%dir %{_sysconfdir}/gimp
|
%dir %{_sysconfdir}/gimp
|
||||||
%dir %{_sysconfdir}/gimp/%{lib_api_version}
|
%dir %{_sysconfdir}/gimp/%{api_version}
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/controllerrc
|
%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/controllerrc
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/gimprc
|
%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/gimp.css
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/gtkrc
|
%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/gimprc
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/unitrc
|
%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/unitrc
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/sessionrc
|
%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/sessionrc
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/templaterc
|
%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/templaterc
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/menurc
|
%config(noreplace) %{_sysconfdir}/gimp/%{api_version}/toolrc
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{lib_api_version}/toolrc
|
|
||||||
|
|
||||||
%{_bindir}/gimp-%{binver}
|
%{_bindir}/gimp-%{bin_version}
|
||||||
%{_bindir}/gimp-console-%{binver}
|
%{_bindir}/gimp-console-%{bin_version}
|
||||||
|
%{_bindir}/gimp-script-fu-interpreter-%{lib_api_version}
|
||||||
|
|
||||||
%if %{with default_binary}
|
%if %{with is_default_version}
|
||||||
%{_bindir}/gimp
|
%{_bindir}/gimp
|
||||||
%{_bindir}/gimp-console
|
%{_bindir}/gimp-console
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%{_bindir}/gimp-test-clipboard-%{lib_api_version}
|
%{_bindir}/gimp-test-clipboard-%{bin_version}
|
||||||
%{_libexecdir}/gimp-debug-tool-%{lib_api_version}
|
%{_libexecdir}/gimp-debug-tool-%{bin_version}
|
||||||
|
|
||||||
%{_mandir}/man1/gimp-%{binver}.1*
|
%if %{with is_default_version}
|
||||||
%{_mandir}/man1/gimp-console-%{binver}.1*
|
%{_bindir}/gimp-test-clipboard
|
||||||
%{_mandir}/man5/gimprc-%{binver}.5*
|
%{_libexecdir}/gimp-debug-tool
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with default_binary}
|
%{_mandir}/man1/gimp-%{bin_version}.1*
|
||||||
|
%{_mandir}/man1/gimp-console-%{bin_version}.1*
|
||||||
|
%{_mandir}/man5/gimprc-%{bin_version}.5*
|
||||||
|
|
||||||
|
%if %{with is_default_version}
|
||||||
%{_mandir}/man1/gimp.1*
|
%{_mandir}/man1/gimp.1*
|
||||||
%{_mandir}/man1/gimp-console.1*
|
%{_mandir}/man1/gimp-console.1*
|
||||||
%{_mandir}/man5/gimprc.5*
|
%{_mandir}/man5/gimprc.5*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%{_datadir}/icons/hicolor/*/apps/gimp.png
|
%{_datadir}/icons/hicolor/*/apps/gimp*
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%license COPYING
|
%license LICENSE COPYING
|
||||||
%doc AUTHORS ChangeLog NEWS README
|
%doc AUTHORS NEWS README
|
||||||
%{_libdir}/libgimp-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
%{_libdir}/libgimp-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
||||||
%{_libdir}/libgimp-%{lib_api_version}.so.%{interface_age}
|
%{_libdir}/libgimp-%{lib_api_version}.so.%{interface_age}
|
||||||
|
%{_libdir}/libgimp-scriptfu-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
||||||
|
%{_libdir}/libgimp-scriptfu-%{lib_api_version}.so.%{interface_age}
|
||||||
%{_libdir}/libgimpbase-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
%{_libdir}/libgimpbase-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
||||||
%{_libdir}/libgimpbase-%{lib_api_version}.so.%{interface_age}
|
%{_libdir}/libgimpbase-%{lib_api_version}.so.%{interface_age}
|
||||||
%{_libdir}/libgimpcolor-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
%{_libdir}/libgimpcolor-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
||||||
@ -440,26 +582,29 @@ make check %{?_smp_mflags}
|
|||||||
%{_libdir}/libgimpui-%{lib_api_version}.so.%{interface_age}
|
%{_libdir}/libgimpui-%{lib_api_version}.so.%{interface_age}
|
||||||
%{_libdir}/libgimpwidgets-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
%{_libdir}/libgimpwidgets-%{lib_api_version}.so.%{interface_age}.%{lib_minor}.%{lib_micro}
|
||||||
%{_libdir}/libgimpwidgets-%{lib_api_version}.so.%{interface_age}
|
%{_libdir}/libgimpwidgets-%{lib_api_version}.so.%{interface_age}
|
||||||
|
%dir %{_libdir}/girepository-1.0
|
||||||
|
%{_libdir}/girepository-1.0/*.typelib
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc HACKING README.i18n
|
%doc README.i18n
|
||||||
%doc %{_datadir}/gtk-doc
|
%doc devel-docs/*
|
||||||
|
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
%ifnos linux
|
|
||||||
%{_libdir}/*.la
|
|
||||||
%{_libdir}/gimp/%{lib_api_version}/modules/*.la
|
|
||||||
%endif
|
|
||||||
%{_datadir}/aclocal/*.m4
|
|
||||||
%{_includedir}/gimp-%{lib_api_version}
|
%{_includedir}/gimp-%{lib_api_version}
|
||||||
%{_libdir}/pkgconfig/*
|
%{_libdir}/pkgconfig/*
|
||||||
%{_rpmconfigdir}/macros.d/macros.gimp
|
%{_rpmconfigdir}/macros.d/macros.gimp
|
||||||
|
%dir %{_datadir}/gir-1.0
|
||||||
|
%{_datadir}/gir-1.0/Gimp*.gir
|
||||||
|
%dir %{_datadir}/vala
|
||||||
|
%dir %{_datadir}/vala/vapi
|
||||||
|
%{_datadir}/vala/vapi/gimp*.deps
|
||||||
|
%{_datadir}/vala/vapi/gimp*.vapi
|
||||||
|
|
||||||
%files devel-tools
|
%files devel-tools
|
||||||
%{_bindir}/gimptool-%{lib_api_version}
|
%{_bindir}/gimptool-%{bin_version}
|
||||||
%{_mandir}/man1/gimptool-%{lib_api_version}.1*
|
%{_mandir}/man1/gimptool-%{bin_version}.1*
|
||||||
|
|
||||||
%if %{with default_binary}
|
%if %{with is_default_version}
|
||||||
%{_bindir}/gimptool
|
%{_bindir}/gimptool
|
||||||
%{_mandir}/man1/gimptool.1*
|
%{_mandir}/man1/gimptool.1*
|
||||||
%endif
|
%endif
|
||||||
|
3
sources
3
sources
@ -1 +1,2 @@
|
|||||||
SHA512 (gimp-2.10.38.tar.bz2) = 343bf1c3bd14bf8e7c7af79c05920faca213da68549127c1d8af53e2e872e55aeaf39a3cfcf578183a34fdc4f98e1c859be63956b0611067186eefd1fdee2aaa
|
SHA512 (gimp-2.99.19-gitca9d57a417.tar.xz) = 77b744ec7480f267be3ad3d081d6f5a3c62ef49eefdb4cd6b78f6daae47fdf2b78d97322c0809f710fc829859ff8c3d53e7839d6d284b98bccec63bb0060e6c7
|
||||||
|
SHA512 (gimp-splash.png) = e4443fa1c4eaf50ce4a89681d436d9c23ccae7e3a6cac1e853bba05d851c815c59c53d52c9f3e159460d52e03b492cc48f366f6e194b7ca8c740692eb0c2d963
|
||||||
|
Loading…
Reference in New Issue
Block a user