;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2016 Florian Paul Schmidt <mista.tapas@gmx.net>
+;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
- #:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages calendar)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pdf)
+ #:use-module (gnu packages polkit)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages linux)
#:use-module (gnu packages photo)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages popt)
#:use-module (gnu packages pulseaudio))
(define-public gtk-xfce-engine
;; Run test-suite under a dbus session.
(setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
(string-append %output "/share"))
+ ;; For the missing '/etc/machine-id'.
+ (setenv "DBUS_FATAL_WARNINGS" "0");
(zero? (system* "dbus-launch" "make" "check")))
(alist-delete 'check %standard-phases))))
(native-inputs
(sha256
(base32
"1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"))
- (patches (list (search-patch "xfce4-panel-plugins.patch")))))
+ (patches (search-patches "xfce4-panel-plugins.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-gtk3")))
`(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
(inputs
`(("exo" ,exo)
- ("garcon", garcon)
- ("libwnck" ,libwnck-1)
+ ("garcon" ,garcon)
+ ("libwnck" ,libwnck-2)
("libxfce4ui" ,libxfce4ui)))
(native-search-paths
(list (search-path-specification
keys for controlling the audio volume.")
(license gpl2+)))
+(define-public xfce4-xkb-plugin
+ (package
+ (name "xfce4-xkb-plugin")
+ (version "0.7.1")
+ (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
+ "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("garcon" ,garcon)
+ ("librsvg" ,librsvg)
+ ("libwnck" ,libwnck-2)
+ ("libx11" ,libx11)
+ ("libxfce4ui" ,libxfce4ui)
+ ("libxklavier" ,libxklavier)
+ ("xfce4-panel" ,xfce4-panel)))
+ (home-page "http://git.xfce.org/panel-plugins/xfce4-xkb-plugin/")
+ (synopsis "XKB layout switching panel plug-in for Xfce")
+ (description
+ "Xfce XKB plugin makes it possible to set up and use multiple
+keyboard layouts.
+
+One can choose the keyboard model, what key combination to
+use to switch between the layouts, the actual keyboard layouts,
+the way in which the current layout is being displayed (country
+flag image or text) and the layout policy, which is whether to
+store the layout globally (for all windows), per application or
+per window.")
+ (license bsd-2)))
+
(define-public xfce4-appfinder
(package
(name "xfce4-appfinder")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))))
+ "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))
+ (patches
+ ;; See: https://bugzilla.xfce.org/show_bug.cgi?id=12282
+ (search-patches "xfce4-session-fix-xflock4.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "xfsm-shutdown-helper/main.c"
+ (("/sbin/shutdown -h now") "halt")
+ (("/sbin/shutdown -r now") "restart")
+ (("/usr/sbin/pm-suspend") "pm-suspend")
+ (("/usr/sbin/pm-hibernate") "pm-hibernate"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
("intltool" ,intltool)))
(inputs
`(("iceauth" ,iceauth)
+ ("upower" ,upower)
+ ("polkit" ,polkit)
("libsm" ,libsm)
- ("libwnck" ,libwnck-1)
+ ("libwnck" ,libwnck-2)
("libxfce4ui" ,libxfce4ui)))
(home-page "http://www.xfce.org/")
(synopsis "Xfce session manager")
"/src/" name "-" version ".tar.bz2"))
(sha256
(base32
- "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))))
+ "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))
+ (patches (search-patches "xfce4-settings-defaults.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
`(("exo" ,exo)
("garcon" ,garcon)
("libnotify" ,libnotify)
- ("libxcursor", libxcursor)
+ ("libxcursor" ,libxcursor)
("libxi" ,libxi)
("libxklavier" ,libxklavier)
("libxrandr" ,libxrandr)
("intltool" ,intltool)))
(inputs
`(("libdrm" ,libdrm)
- ("libwnck" ,libwnck-1)
+ ("libwnck" ,libwnck-2)
("libxcomposite" ,libxcomposite)
("libxdamage" ,libxdamage)
("libxfce4ui" ,libxfce4ui)
`(("exo" ,exo)
("garcon" ,garcon)
("libnotify" ,libnotify)
- ("libwnck" ,libwnck-1)
+ ("libwnck" ,libwnck-2)
("libxfce4ui" ,libxfce4ui)
("thunar" ,thunar)))
(home-page "http://www.xfce.org/")
(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)))))
+ (build-system trivial-build-system)
+ (arguments '(#:builder (mkdir %output)))
(propagated-inputs
`(("exo" ,exo)
("garcon" ,garcon)
("gnome-icon-theme" ,gnome-icon-theme)
("gtk-xfce-engine" ,gtk-xfce-engine)
("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("ristretto" ,ristretto)
("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-clipman-plugin" ,xfce4-clipman-plugin)
("xfce4-panel" ,xfce4-panel)
+ ("xfce4-power-manager" ,xfce4-power-manager)
("xfce4-session" ,xfce4-session)
("xfce4-settings" ,xfce4-settings)
("xfce4-terminal" ,xfce4-terminal)
("xfconf" ,xfconf)
("xfdesktop" ,xfdesktop)
- ("xfwm4" ,xfwm4)))
+ ("xfwm4" ,xfwm4)
+ ;; Panel plugins.
+ ("xfce4-battery-plugin" ,xfce4-battery-plugin)
+ ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
+ ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
+ ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
(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+)))
+
+(define-public xfce4-power-manager
+ (package
+ (name "xfce4-power-manager")
+ (version "1.4.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://archive.xfce.org/xfce/4.12"
+ "/src/" name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "04909sfc2nrj2wg9cw6y9y2r9yrp3l3vc201sy1gaiap67fi33h1"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--enable-gtk3")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)))
+ (inputs
+ `(("lbxrandr" ,libxrandr)
+ ("upower" ,upower)
+ ("libnotify" ,libnotify)
+ ("libxfce4ui" ,libxfce4ui)))
+ (home-page "http://www.xfce.org/")
+ (synopsis "Xfce Power Manager")
+ (description
+ "This is a power manager for the Xfce desktop. It manages the power
+sources on the computer and the devices that can be controlled to reduce their
+power consumption (such as LCD brightness level, monitor sleep, CPU frequency
+scaling, etc). In addition, xfce4-power-manager provides a set of
+freedesktop-compliant DBus interfaces to inform other applications about current
+power level so that they can adjust their power consumption, and it provides the
+inhibit interface which allows applications to prevent automatic sleep.")
+ (license gpl2+)))
+
+(define-public ristretto
+ (package
+ (name "ristretto")
+ (version "0.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0a7kwhx51fd2kqh7l7kp13wcn39d2fjkwnn9rfd1k9ydrqj56qki"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("libexif" ,libexif)
+ ("libxfce4ui" ,libxfce4ui)
+ ("librsvg" ,librsvg)
+ ("tumbler" ,tumbler)))
+ (home-page "http://docs.xfce.org/apps/ristretto/start")
+ (synopsis "Fast and lightweight picture-viewer")
+ (description
+ "The Ristretto Image Viewer is an application that can be used to view,
+and scroll through images. It can be used to run a slideshow of images, open
+images with other applications like an image-editor or configure an image as
+the desktop wallpaper.")
+ (license gpl2+)))
+
+(define-public xfce4-taskmanager
+ (package
+ (name "xfce4-taskmanager")
+ (version "1.1.0")
+ (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
+ "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libwnck" ,libwnck-2)
+ ("gtk+" ,gtk+-2)))
+ (home-page "http://goodies.xfce.org/projects/applications/xfce4-taskmanager")
+ (synopsis "Easy to use task manager")
+ (description
+ "This is a task manager for the Xfce desktop. It displays the CPU and
+memory usage graphically, and it can display processes as a tree.")
+ (license gpl2+)))
+
+(define-public orage
+ (package
+ (name "orage")
+ (version "4.12.1")
+ (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
+ "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gtk+" ,gtk+-2)
+ ("libical" ,libical)
+ ("libnotify" ,libnotify)
+ ("popt" ,popt)
+ ("xfce4-panel" ,xfce4-panel)))
+ (home-page "http://www.xfce.org/projects/")
+ (synopsis "Simple calendar application with reminders")
+ (description
+ "This is a simple calendar application for the Xfce desktop. Orage has
+alarms and uses the iCalendar format, making it compatible with many other
+calendar applications. It also includes a panel clock plugin and an
+international clock application capable of simultaneously showing clocks from
+several different time zones.")
+ (license gpl2+)))