From a9a0790376c54c9f205a1633ce54dadd204e784e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Apr 2019 18:23:56 +0200 Subject: gnu: xfdesktop: Stick a Guix logo in the background image. * gnu/packages/xfce.scm (xfdesktop)[source](modules, snippet): New fields. [arguments]: New field. [native-inputs]: Add INKSCAPE and IMAGEMAGICK. --- gnu/packages/xfce.scm | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index d4cb20f033..cc79fb4851 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -29,17 +29,21 @@ (define-module (gnu packages xfce) #:use-module ((guix licenses) #:hide (freetype)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) + #:use-module (gnu artwork) #:use-module (gnu packages) #:use-module (gnu packages calendar) #:use-module (gnu packages cdrom) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages inkscape) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) #:use-module (gnu packages web) @@ -692,11 +696,40 @@ (define-public xfdesktop name "-" version ".tar.bz2")) (sha256 (base32 - "1jzi851arljq5lza9inyq4ss513l62lbzbfm64a7x4320m8kb2h9")))) + "1jzi851arljq5lza9inyq4ss513l62lbzbfm64a7x4320m8kb2h9")) + (modules '((guix build utils))) + (snippet + #~(begin + (copy-file #$(file-append %artwork-repository "/logo/Guix.svg") + "backgrounds/guix-logo.svg") + #t)))) (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'configure 'prepare-background-image + (lambda _ + ;; Stick a Guix logo in the background image. XXX: It + ;; has to go to the center because the image might be + ;; truncated on the edges. :-/ + (invoke "inkscape" "--export-dpi=120" + "--export-png=/tmp/guix.png" + "backgrounds/guix-logo.svg") + (for-each (lambda (image) + (invoke "composite" "-gravity" "center" + "/tmp/guix.png" image + "/tmp/final.jpg") + (copy-file "/tmp/final.jpg" image)) + '(;; "backgrounds/xfce-blue.jpg" + "backgrounds/xfce-teal.jpg")) + #t))) + + #:disallowed-references (,inkscape ,imagemagick))) (native-inputs `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + ("intltool" ,intltool) + + ("inkscape" ,inkscape) + ("imagemagick" ,imagemagick))) (inputs `(("exo" ,exo) ("garcon" ,garcon) -- cgit v1.2.3