summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-26 18:23:56 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-26 18:23:56 +0200
commita9a0790376c54c9f205a1633ce54dadd204e784e (patch)
tree1e531373e89ddcf9cf2f462cc97a6b934082f0a9
parent94e1439800f8cdb5693ef0acb95465d09652e5cd (diff)
downloadgnu-guix-a9a0790376c54c9f205a1633ce54dadd204e784e.tar
gnu-guix-a9a0790376c54c9f205a1633ce54dadd204e784e.tar.gz
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.
-rw-r--r--gnu/packages/xfce.scm37
1 files changed, 35 insertions, 2 deletions
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 @@
#: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 @@ on the screen.")
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)