From 81e85d6299fa71eb4366b799b1858b3e0ec3483b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 28 Mar 2021 18:45:53 +0200 Subject: gnu: babl: Update to 0.1.86. * gnu/packages/gimp.scm (babl): Update to 0.1.86. [arguments]: Build with meson@0.55. --- gnu/packages/gimp.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu/packages/gimp.scm') diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 5d005e0378..b864c88e2f 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages build-tools) #:use-module (gnu packages documentation) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) @@ -166,7 +167,7 @@ of a larger interface.") (define-public babl (package (name "babl") - (version "0.1.78") + (version "0.1.86") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" @@ -180,10 +181,11 @@ of a larger interface.") "/babl-" version ".tar.xz"))) (sha256 (base32 - "0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p")))) + "1w68h81kqkqnziixrx21qs0gfv2z79651h19sxn226xdb58mjgqb")))) (build-system meson-build-system) (arguments - `(#:configure-flags + `(#:meson ,meson-0.55 + #:configure-flags (list "-Denable-gir=false"))) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From b5116db5c05f662f775096ef4c105fa7aea5c8b4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 28 Mar 2021 18:46:16 +0200 Subject: gnu: gegl: Update to 0.4.28. * gnu/packages/gimp.scm (gegl): Update to 0.4.28. [arguments]: Build with meson@0.55. --- gnu/packages/gimp.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu/packages/gimp.scm') diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index b864c88e2f..4bdc4ee42e 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -207,7 +207,7 @@ provided, as well as a framework to add new color models and data types.") (define-public gegl (package (name "gegl") - (version "0.4.26") + (version "0.4.28") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/gegl/" @@ -221,10 +221,11 @@ provided, as well as a framework to add new color models and data types.") "/gegl-" version ".tar.xz"))) (sha256 (base32 - "097427icgpgvcx40019b3dm8m84cchz79pixzpz648drs8p1wdqg")))) + "003ri7yv7lm2fi86ama3vlkwnz656yyib4r36hxwlk6mfy2hs48x")))) (build-system meson-build-system) (arguments - `(#:configure-flags + `(#:meson ,meson-0.55 + #:configure-flags (list "-Dintrospection=false") #:phases (modify-phases %standard-phases -- cgit v1.2.3 From 7162e5b88208d00188dd9c7b22e0fcde2871fb55 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 29 Mar 2021 22:38:18 +0200 Subject: gnu: gegl: Refer to dot. * gnu/packages/gimp.scm (gegl)[arguments]: Add a new 'refer-to-dot phase. --- gnu/packages/gimp.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gnu/packages/gimp.scm') diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 4bdc4ee42e..86b42e0fab 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages build-tools) #:use-module (gnu packages documentation) + #:use-module (gnu packages graphviz) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) @@ -229,6 +230,16 @@ provided, as well as a framework to add new color models and data types.") (list "-Dintrospection=false") #:phases (modify-phases %standard-phases + (add-after 'unpack 'refer-to-dot + ;; Without ‘dot’ in $PATH, (at least) the GIMP would fail to start + ;; with an extremely obtuse ‘GEGL operation missing!’ error. + (lambda _ + (substitute* "gegl/gegl-dot.c" + (("\"dot ") + (format #f "\"~a " (which "dot")))) + (substitute* "operations/common/introspect.c" + (("g_find_program_in_path \\(\"dot\"\\)") + (format #f "g_strdup (\"~a\")" (which "dot")))))) (add-after 'unpack 'extend-test-time-outs (lambda _ ;; Multiply some poorly-chosen time-outs for busy build machines. @@ -249,6 +260,7 @@ provided, as well as a framework to add new color models and data types.") ("json-glib" ,json-glib))) (inputs `(("cairo" ,cairo) + ("graphviz" ,graphviz) ("pango" ,pango) ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo))) -- cgit v1.2.3 From aae012e91e66e3edcc486db7bd4939fb34ed3b24 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 29 Mar 2021 23:51:04 +0200 Subject: gnu: gimp: Properly handle missing optional ‘dot’. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gimp.scm (gimp)[source]: Add a patch to fix a fatal error when ‘dot’ is not in $PATH. (gegl)[arguments]: Move the 'refer-to-dot phase... [inputs]: ...and graphviz... (gegl-for-glimpse)[arguments]: ...here, and... [inputs]: ...here, respectively. (glimpse)[inputs]: Use gegl-for-glimpse gegl variant. --- gnu/packages/gimp.scm | 63 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 20 deletions(-) (limited to 'gnu/packages/gimp.scm') diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 86b42e0fab..a0f6b7ca11 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -230,16 +230,6 @@ provided, as well as a framework to add new color models and data types.") (list "-Dintrospection=false") #:phases (modify-phases %standard-phases - (add-after 'unpack 'refer-to-dot - ;; Without ‘dot’ in $PATH, (at least) the GIMP would fail to start - ;; with an extremely obtuse ‘GEGL operation missing!’ error. - (lambda _ - (substitute* "gegl/gegl-dot.c" - (("\"dot ") - (format #f "\"~a " (which "dot")))) - (substitute* "operations/common/introspect.c" - (("g_find_program_in_path \\(\"dot\"\\)") - (format #f "g_strdup (\"~a\")" (which "dot")))))) (add-after 'unpack 'extend-test-time-outs (lambda _ ;; Multiply some poorly-chosen time-outs for busy build machines. @@ -260,7 +250,6 @@ provided, as well as a framework to add new color models and data types.") ("json-glib" ,json-glib))) (inputs `(("cairo" ,cairo) - ("graphviz" ,graphviz) ("pango" ,pango) ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo))) @@ -281,14 +270,25 @@ buffers.") (package (name "gimp") (version "2.10.22") - (source (origin - (method url-fetch) - (uri (string-append "https://download.gimp.org/pub/gimp/v" - (version-major+minor version) - "/gimp-" version ".tar.bz2")) - (sha256 - (base32 - "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://download.gimp.org/pub/gimp/v" + (version-major+minor version) + "/gimp-" version ".tar.bz2")) + (sha256 + (base32 "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d")) + (patches + (list (origin + ;; This upstream patch fixes a mandatory dependency on ‘dot’: + ;; . + (method url-fetch) + (uri (string-append "https://github.com/GNOME/gimp/commit/" + "2cae9b9acf9da98c4c9990819ffbd5aabe23017e" + ".patch")) + (sha256 + (base32 + "1xd5lmy1j9p6p1ka7dyj1b9jmfcra1r62rma07vzw2v4vig0khc0"))))))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML @@ -556,6 +556,29 @@ healing the border, increasing the resolution while adding detail, and transferring the style of an image.") (license license:gpl3+))) +(define gegl-for-glimpse + ;; Remove this when GIMP commit 2cae9b9acf9da98c4c9990819ffbd5aabe23017e + ;; makes it into Glimpse. + (package + (inherit gegl) + (arguments + (substitute-keyword-arguments (package-arguments gegl) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'refer-to-dot + ;; XXX Without ‘dot’ in $PATH, Glimpse would fail to start with an + ;; extremely obtuse ‘GEGL operation missing!’ error. + (lambda _ + (substitute* "gegl/gegl-dot.c" + (("\"dot ") + (format #f "\"~a " (which "dot")))) + (substitute* "operations/common/introspect.c" + (("g_find_program_in_path \\(\"dot\"\\)") + (format #f "g_strdup (\"~a\")" (which "dot")))))))))) + (inputs + `(,@(package-inputs gegl) + ("graphviz" ,graphviz))))) + (define-public glimpse (package (name "glimpse") @@ -635,7 +658,7 @@ transferring the style of an image.") ("poppler-data" ,poppler-data) ("python" ,python-2) ; optional, Python support ("python2-pygtk" ,python2-pygtk) ; optional, Python support - ("gegl" ,gegl))) + ("gegl" ,gegl-for-glimpse))) ; XXX see comment in gegl-for-glimpse (home-page "https://glimpse-editor.github.io/") (synopsis "Glimpse Image Editor") (description "The Glimpse Image Editor is an application for image -- cgit v1.2.3 From 94c77c9a0f7a1a4d7665d8fe566547016d2588d9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 31 Mar 2021 22:01:21 +0200 Subject: gnu: gimp: Ship a copy of the gegl patch. As Ludo' rightly points out, GitHub's patches are probably as stable as their tarballs. * gnu/packages/gimp.scm (gimp)[source]: Use SEARCH-PATCHES instead of an origin. * gnu/packages/patches/gimp-make-gegl-introspect-optional.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gimp.scm | 12 +----- .../gimp-make-gegl-introspect-optional.patch | 43 ++++++++++++++++++++++ 3 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 gnu/packages/patches/gimp-make-gegl-introspect-optional.patch (limited to 'gnu/packages/gimp.scm') diff --git a/gnu/local.mk b/gnu/local.mk index d8c548b0eb..3eeae5e96a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1082,6 +1082,7 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ + %D%/packages/patches/gimp-make-gegl-introspect-optional.patch \ %D%/packages/patches/glib-appinfo-watch.patch \ %D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glib-CVE-2021-27218.patch \ diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index a0f6b7ca11..eee958171c 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -278,17 +278,7 @@ buffers.") "/gimp-" version ".tar.bz2")) (sha256 (base32 "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d")) - (patches - (list (origin - ;; This upstream patch fixes a mandatory dependency on ‘dot’: - ;; . - (method url-fetch) - (uri (string-append "https://github.com/GNOME/gimp/commit/" - "2cae9b9acf9da98c4c9990819ffbd5aabe23017e" - ".patch")) - (sha256 - (base32 - "1xd5lmy1j9p6p1ka7dyj1b9jmfcra1r62rma07vzw2v4vig0khc0"))))))) + (patches (search-patches "gimp-make-gegl-introspect-optional.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML diff --git a/gnu/packages/patches/gimp-make-gegl-introspect-optional.patch b/gnu/packages/patches/gimp-make-gegl-introspect-optional.patch new file mode 100644 index 0000000000..4dd1ab74a8 --- /dev/null +++ b/gnu/packages/patches/gimp-make-gegl-introspect-optional.patch @@ -0,0 +1,43 @@ +From 2cae9b9acf9da98c4c9990819ffbd5aabe23017e Mon Sep 17 00:00:00 2001 +From: Jehan +Date: Mon, 14 Dec 2020 19:53:38 +0100 +Subject: [PATCH] app: make "gegl:introspect" an optional operation dependency. + +Check at runtime for the operation availability and set the "Show Image +Graph" action active depending on this check. + +This goes with discussions to make this operation optional with a +runtime check for the tool `dot`. +See: https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/84 +--- + app/actions/debug-actions.c | 6 ++++++ + app/sanity.c | 1 - + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/app/actions/debug-actions.c b/app/actions/debug-actions.c +index 6be4422b228..22ca38b15ea 100644 +--- a/app/actions/debug-actions.c ++++ b/app/actions/debug-actions.c +@@ -103,4 +103,10 @@ void + debug_actions_update (GimpActionGroup *group, + gpointer data) + { ++#define SET_SENSITIVE(action,condition) \ ++ gimp_action_group_set_action_sensitive (group, action, (condition) != 0) ++ ++ SET_SENSITIVE ("debug-show-image-graph", gegl_has_operation ("gegl:introspect")); ++ ++#undef SET_SENSITIVE + } +diff --git a/app/sanity.c b/app/sanity.c +index 015801a396e..6374ac1ad20 100644 +--- a/app/sanity.c ++++ b/app/sanity.c +@@ -650,7 +650,6 @@ sanity_check_gegl_ops (void) + "gegl:hue-chroma", + "gegl:illusion", + "gegl:image-gradient", +- "gegl:introspect", + "gegl:invert-gamma", + "gegl:invert-linear", + "gegl:lens-blur", -- cgit v1.2.3