Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / xfce.scm
index 69776fc..b39b903 100644 (file)
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,8 @@
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (gnu packages)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
 (define-public gtk-xfce-engine
   (package
     (name "gtk-xfce-engine")
-    (version "3.0.0")
+    (version "2.10.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+              (uri (string-append "http://archive.xfce.org/src/xfce/"
+                                  name "/" (version-major+minor version) "/"
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "13c3ajfqkdr6jlqjyhcp4nls0ddanypr83q9qib2ciffik78zq4h"))))
+                "0g86ywkx0ghzhhn96k88p67bbzlm1aqckly85izp07w80l1934ja"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -62,7 +66,7 @@
 (define-public libxfce4util
   (package
     (name "libxfce4util")
-    (version "4.10.0")
+    (version "4.12.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -70,7 +74,7 @@
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"))))
+                "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -86,7 +90,7 @@ Xfce Desktop Environment.")
 (define-public xfconf
   (package
     (name "xfconf")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -94,9 +98,20 @@ Xfce Desktop Environment.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"))))
+                "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r"))))
     (build-system gnu-build-system)
-    (arguments '(#:parallel-tests? #f)) ; parallel tests failed
+    (arguments
+     '(#:phases
+       ;; Run check after install phase to test dbus activation.
+       (alist-cons-after
+        'install 'check
+        (lambda _
+          (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
+          ;; Run test-suite under a dbus session.
+          (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
+                  (string-append %output "/share"))
+          (zero? (system* "dbus-launch" "make" "check")))
+        (alist-delete 'check %standard-phases))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)))
@@ -117,7 +132,7 @@ storage system.")
 (define-public libxfce4ui
   (package
     (name "libxfce4ui")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -125,7 +140,7 @@ storage system.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"))))
+                "11rrhqxnfwx5jls3nlg9s2x8saag9f2zqk9cdm6hr3bs6cr9a781"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -148,14 +163,14 @@ to share commonly used Xfce widgets amoung the Xfce applications.")
 (define-public exo
   (package
     (name "exo")
-    (version "0.8.0")
+    (version "0.10.3")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+              (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "1c05pbagw14djv5zmqg34qfj40jav8sd10w2zi2wpzrad4qal8bf"))))
+                "1g9651ra395v2fmzb943l68b9pg0rfxc19x97a62crchxwa4nw4m"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -179,21 +194,21 @@ development.")
 (define-public garcon
   (package
     (name "garcon")
-    (version "0.2.0")
+    (version "0.4.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+              (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"))))
+                "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
        ("glib:bin" ,glib "bin")))
-    (propagated-inputs `(("glib" ,glib))) ; required by garcon-1.pc
-    (inputs `(("libxfce4util" ,libxfce4util)))
+    (propagated-inputs
+     `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc
     (home-page "http://www.xfce.org/")
     (synopsis "Implementation of the freedesktop.org menu specification")
     (description
@@ -206,14 +221,14 @@ merging features essential for loading menus modified with menu editors.")
 (define-public tumbler
   (package
     (name "tumbler")
-    (version "0.1.25")
+    (version "0.1.31")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+              (uri (string-append "http://archive.xfce.org/src/xfce/tumbler/0.1/"
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0ijm04vm75gmhyyzrlqdr6vzchr01hlajcm84lm6j64cim8dxm82"))))
+                "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -229,7 +244,7 @@ merging features essential for loading menus modified with menu editors.")
        ("libjpeg" ,libjpeg)
        ("libgsf" ,libgsf)
        ("poppler" ,poppler)
-       ("gstreamer" ,gstreamer-0.10)))
+       ("gstreamer" ,gstreamer)))
     (home-page "http://www.xfce.org/")
     (synopsis "D-Bus service for applications to request thumbnails")
     (description
@@ -241,7 +256,7 @@ management D-Bus specification.")
 (define-public xfce4-panel
   (package
     (name "xfce4-panel")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -249,7 +264,8 @@ management D-Bus specification.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"))))
+                "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"))
+              (patches (list (search-patch "xfce4-panel-plugins.patch")))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -261,6 +277,10 @@ management D-Bus specification.")
        ("garcon", garcon)
        ("libwnck" ,libwnck-1)
        ("libxfce4ui" ,libxfce4ui)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "X_XFCE4_LIB_DIRS")
+            (files '("lib/xfce4")))))
     (home-page "http://www.xfce.org/")
     (synopsis "Xfce desktop panel")
     (description
@@ -269,10 +289,39 @@ applications menu, workspace switcher and more.")
     ;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
     (license (list gpl2+ lgpl2.1+))))
 
+(define-public xfce4-battery-plugin
+  (package
+    (name "xfce4-battery-plugin")
+    (version "1.0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
+                                  name "/" (version-major+minor version) "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("intltool" ,intltool)))
+    (inputs `(("glib" ,glib)
+              ("gtk+" ,gtk+-2)
+              ("libxfce4util" ,libxfce4util)
+              ("libxfce4ui" ,libxfce4ui)
+              ("xfce4-panel" ,xfce4-panel)))
+    (home-page
+     "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
+    (synopsis "Battery monitor panel plugin for Xfce4")
+    (description
+     "A battery monitor panel plugin for Xfce4, compatible with APM and ACPI.")
+    ;; The main plugin code is covered by gpl2+, but the files containing code
+    ;; to read the battery state via ACPI or APM are covered by lgpl2.0+.
+    (license (list gpl2+ lgpl2.0+))))
+
 (define-public xfce4-appfinder
   (package
     (name "xfce4-appfinder")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -280,7 +329,7 @@ applications menu, workspace switcher and more.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0falckrziw8m1a72nxd7fqq84r3xfbrb6lv35flsca346rzawah4"))))
+                "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -298,7 +347,7 @@ your system in categories, so you can quickly find and launch them.")
 (define-public xfce4-session
   (package
     (name "xfce4-session")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -306,7 +355,7 @@ your system in categories, so you can quickly find and launch them.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"))))
+                "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
@@ -329,7 +378,7 @@ allows you to shutdown the computer from Xfce.")
 (define-public xfce4-settings
   (package
     (name "xfce4-settings")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -337,7 +386,7 @@ allows you to shutdown the computer from Xfce.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"))))
+                "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -360,14 +409,14 @@ like appearance, display, keyboard and mouse settings.")
 (define-public thunar
   (package
     (name "thunar")
-    (version "1.4.0")
+    (version "1.6.6")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+              (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
                                   "Thunar-" version ".tar.bz2"))
               (sha256
                (base32
-                "1fn8wjzkfvnx2giv3rrg2cyrr2c96f9mskgvcji0ixyfcjga249c"))))
+                "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -391,14 +440,14 @@ fast.")
 (define-public thunar-volman
   (package
     (name "thunar-volman")
-    (version "0.8.0")
+    (version "0.8.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://archive.xfce.org/xfce/4.10/src/"
+              (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z"))))
+                "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -421,7 +470,7 @@ and import the new pictures from your camera.")
 (define-public xfwm4
   (package
     (name "xfwm4")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -429,16 +478,18 @@ and import the new pictures from your camera.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"))))
+                "0fnc2ps4k733n9qfpxrz047h1myyqjzxczl7fmkjmqwshvicpx19"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)))
     (inputs
-     `(("libwnck", libwnck-1)
+     `(("libdrm" ,libdrm)
+       ("libwnck" ,libwnck-1)
+       ("libxcomposite" ,libxcomposite)
+       ("libxdamage" ,libxdamage)
        ("libxfce4ui" ,libxfce4ui)
-       ("libxrandr" ,libxrandr)
-       ("libxcomposite" ,libxcomposite)))
+       ("libxrandr" ,libxrandr)))
     (home-page "http://www.xfce.org/")
     (synopsis "Xfce window manager")
     (description
@@ -449,7 +500,7 @@ on the screen.")
 (define-public xfdesktop
   (package
     (name "xfdesktop")
-    (version "4.10.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/xfce/"
@@ -457,7 +508,7 @@ on the screen.")
                                   "/src/" name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"))))
+                "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -476,3 +527,87 @@ on the screen.")
 optional application menu or icons for minimized applications or launchers,
 devices and folders.")
     (license gpl2+)))
+
+(define-public xfce4-terminal
+  (package
+    (name "xfce4-terminal")
+    (version "0.6.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://archive.xfce.org/src/apps/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)))
+    (inputs
+     `(("libxfce4ui" ,libxfce4ui)
+       ("vte" ,vte/gtk+-2)))
+    (home-page "http://www.xfce.org/")
+    (synopsis "Xfce terminal emulator")
+    (description
+     "A lightweight and easy to use terminal emulator for Xfce.  Features
+include a simple configuration interface, the ability to use multiple tabs
+with terminals within a single window, the possibility to have a
+pseudo-transparent terminal background, and a compact mode (where both the
+menubar and the window decorations are hidden) that helps you to save space
+on your desktop.")
+    (license gpl2+)))
+
+(define-public xfce
+  (package
+    (name "xfce")
+    (version (package-version xfce4-session))
+    (source #f)
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     '(#:modules ((guix build gnu-build-system)
+                  (guix build glib-or-gtk-build-system)
+                  (guix build utils)
+                  (srfi srfi-26))
+       #:phases
+       (alist-replace
+        'install
+        (lambda* (#:key outputs #:allow-other-keys)
+          (let* ((out  (assoc-ref outputs "out"))
+                 (bin  (string-append out "/bin"))
+                 (prog (string-append bin "/startxfce4")))
+            (mkdir-p bin)
+            (symlink (string-append
+                      (assoc-ref %build-inputs "xfce4-session")
+                      "/bin/startxfce4")
+                     prog)
+            (wrap-program prog
+              ;; For xfce4-panel plugins.
+              `("X_XFCE4_LIB_DIRS" = ,(list (getenv "X_XFCE4_LIB_DIRS"))))))
+        (map (cut assq <> %standard-phases)
+             '(set-paths install glib-or-gtk-wrap)))))
+    (propagated-inputs
+     `(("exo"                  ,exo)
+       ("garcon"               ,garcon)
+       ("gnome-icon-theme"     ,gnome-icon-theme)
+       ("gtk-xfce-engine"      ,gtk-xfce-engine)
+       ("hicolor-icon-theme"   ,hicolor-icon-theme)
+       ("shared-mime-info"     ,shared-mime-info)
+       ("thunar"               ,thunar)
+       ("thunar-volman"        ,thunar-volman)
+       ("tumlber"              ,tumbler)
+       ("xfce4-appfinder"      ,xfce4-appfinder)
+       ("xfce4-battery-plugin" ,xfce4-battery-plugin)
+       ("xfce4-panel"          ,xfce4-panel)
+       ("xfce4-session"        ,xfce4-session)
+       ("xfce4-settings"       ,xfce4-settings)
+       ("xfce4-terminal"       ,xfce4-terminal)
+       ("xfconf"               ,xfconf)
+       ("xfdesktop"            ,xfdesktop)
+       ("xfwm4"                ,xfwm4)))
+    (home-page "http://www.xfce.org/")
+    (synopsis "Desktop environment (meta-package)")
+    (description
+     "Xfce is a lightweight desktop environment.  It aims to be fast and low on
+system resources, while still being visually appealing and user friendly.")
+    (license gpl2+)))