xfce.scm 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
  3. ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
  4. ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
  5. ;;; Copyright © 2016 Florian Paul Schmidt <mista.tapas@gmx.net>
  6. ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
  7. ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
  8. ;;; Copyright © 2017 Petter <petter@mykolab.ch>
  9. ;;;
  10. ;;; This file is part of GNU Guix.
  11. ;;;
  12. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  13. ;;; under the terms of the GNU General Public License as published by
  14. ;;; the Free Software Foundation; either version 3 of the License, or (at
  15. ;;; your option) any later version.
  16. ;;;
  17. ;;; GNU Guix is distributed in the hope that it will be useful, but
  18. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  19. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. ;;; GNU General Public License for more details.
  21. ;;;
  22. ;;; You should have received a copy of the GNU General Public License
  23. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  24. (define-module (gnu packages xfce)
  25. #:use-module ((guix licenses) #:hide (freetype))
  26. #:use-module (guix packages)
  27. #:use-module (guix download)
  28. #:use-module (guix utils)
  29. #:use-module (guix build-system glib-or-gtk)
  30. #:use-module (guix build-system gnu)
  31. #:use-module (guix build-system trivial)
  32. #:use-module (gnu packages)
  33. #:use-module (gnu packages calendar)
  34. #:use-module (gnu packages pkg-config)
  35. #:use-module (gnu packages glib)
  36. #:use-module (gnu packages gtk)
  37. #:use-module (gnu packages xorg)
  38. #:use-module (gnu packages xdisorg)
  39. #:use-module (gnu packages web)
  40. #:use-module (gnu packages fontutils)
  41. #:use-module (gnu packages freedesktop)
  42. #:use-module (gnu packages image)
  43. #:use-module (gnu packages gnome)
  44. #:use-module (gnu packages pdf)
  45. #:use-module (gnu packages polkit)
  46. #:use-module (gnu packages gstreamer)
  47. #:use-module (gnu packages linux)
  48. #:use-module (gnu packages photo)
  49. #:use-module (gnu packages pcre)
  50. #:use-module (gnu packages popt)
  51. #:use-module (gnu packages pulseaudio))
  52. (define-public gtk-xfce-engine
  53. (package
  54. (name "gtk-xfce-engine")
  55. (version "2.10.1")
  56. (source (origin
  57. (method url-fetch)
  58. (uri (string-append "http://archive.xfce.org/src/xfce/"
  59. name "/" (version-major+minor version) "/"
  60. name "-" version ".tar.bz2"))
  61. (sha256
  62. (base32
  63. "0g86ywkx0ghzhhn96k88p67bbzlm1aqckly85izp07w80l1934ja"))))
  64. (build-system gnu-build-system)
  65. (native-inputs
  66. `(("pkg-config" ,pkg-config)
  67. ("intltool" ,intltool)))
  68. (inputs `(("gtk+" ,gtk+-2)))
  69. (home-page "http://www.xfce.org/")
  70. (synopsis "GTK+ theme engine for Xfce")
  71. (description
  72. "Default GTK+ engine and themes for Xfce Desktop Environment.")
  73. (license gpl2+)))
  74. (define-public libxfce4util
  75. (package
  76. (name "libxfce4util")
  77. (version "4.12.1")
  78. (source (origin
  79. (method url-fetch)
  80. (uri (string-append "http://archive.xfce.org/xfce/"
  81. (version-major+minor version)
  82. "/src/" name "-" version ".tar.bz2"))
  83. (sha256
  84. (base32
  85. "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"))))
  86. (build-system gnu-build-system)
  87. (native-inputs
  88. `(("pkg-config" ,pkg-config)
  89. ("intltool" ,intltool)))
  90. (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc
  91. (home-page "http://www.xfce.org/")
  92. (synopsis "Basic utility library for Xfce")
  93. (description
  94. "A general-purpose utility library with core application support for the
  95. Xfce Desktop Environment.")
  96. (license lgpl2.0+)))
  97. (define-public xfconf
  98. (package
  99. (name "xfconf")
  100. (version "4.12.0")
  101. (source (origin
  102. (method url-fetch)
  103. (uri (string-append "http://archive.xfce.org/xfce/"
  104. (version-major+minor version)
  105. "/src/" name "-" version ".tar.bz2"))
  106. (sha256
  107. (base32
  108. "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r"))))
  109. (build-system gnu-build-system)
  110. (arguments
  111. '(#:phases
  112. ;; Run check after install phase to test dbus activation.
  113. (alist-cons-after
  114. 'install 'check
  115. (lambda _
  116. (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME
  117. ;; Run test-suite under a dbus session.
  118. (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
  119. (string-append %output "/share"))
  120. ;; For the missing '/etc/machine-id'.
  121. (setenv "DBUS_FATAL_WARNINGS" "0");
  122. (zero? (system* "dbus-launch" "make" "check")))
  123. (alist-delete 'check %standard-phases))))
  124. (native-inputs
  125. `(("pkg-config" ,pkg-config)
  126. ("intltool" ,intltool)))
  127. (propagated-inputs
  128. ;; libxfconf-0.pc refers to all these.
  129. `(("glib" ,glib)
  130. ("dbus" ,dbus)
  131. ("dbus-glib" ,dbus-glib)))
  132. (inputs
  133. `(("libxfce4util" ,libxfce4util)))
  134. (home-page "http://www.xfce.org/")
  135. (synopsis "Configuration storage and query system for Xfce")
  136. (description
  137. "Settings daemon for Xfce, implemented as a D-Bus-based configuration
  138. storage system.")
  139. (license lgpl2.0+)))
  140. (define-public libxfce4ui
  141. (package
  142. (name "libxfce4ui")
  143. (version "4.12.0")
  144. (source (origin
  145. (method url-fetch)
  146. (uri (string-append "http://archive.xfce.org/xfce/"
  147. (version-major+minor version)
  148. "/src/" name "-" version ".tar.bz2"))
  149. (sha256
  150. (base32
  151. "11rrhqxnfwx5jls3nlg9s2x8saag9f2zqk9cdm6hr3bs6cr9a781"))))
  152. (build-system gnu-build-system)
  153. (native-inputs
  154. `(("pkg-config" ,pkg-config)
  155. ("intltool" ,intltool)))
  156. (propagated-inputs
  157. `(("gtk+-3" ,gtk+) ; required by libxfce4ui-2.pc
  158. ;; libxfce4kbd-private-2.pc refers to all these.
  159. ("libxfce4util" ,libxfce4util)
  160. ("xfconf" ,xfconf)))
  161. (inputs `(("libsm" ,libsm)
  162. ("libice" ,libice)
  163. ;; FIXME: required by libxfce4ui-1.pc, so should be propagated,
  164. ;; but will lead to a conflict with gtk+.
  165. ("gtk+-2" ,gtk+-2)
  166. ("startup-notification" ,startup-notification)))
  167. (home-page "http://www.xfce.org/")
  168. (synopsis "Widgets library for Xfce")
  169. (description
  170. "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
  171. to share commonly used Xfce widgets among the Xfce applications.")
  172. (license lgpl2.0+)))
  173. (define-public exo
  174. (package
  175. (name "exo")
  176. (version "0.10.3")
  177. (source (origin
  178. (method url-fetch)
  179. (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
  180. name "-" version ".tar.bz2"))
  181. (sha256
  182. (base32
  183. "1g9651ra395v2fmzb943l68b9pg0rfxc19x97a62crchxwa4nw4m"))))
  184. (build-system gnu-build-system)
  185. (native-inputs
  186. `(("pkg-config" ,pkg-config)
  187. ("intltool" ,intltool)))
  188. (propagated-inputs
  189. ;; exo-1.pc refers to all these.
  190. `(("gtk+" ,gtk+-2)
  191. ("libxfce4util" ,libxfce4util)))
  192. (inputs
  193. `(("libxfce4ui" ,libxfce4ui)
  194. ("perl-uri" ,perl-uri)))
  195. (home-page "http://www.xfce.org/")
  196. (synopsis "Extension library for Xfce")
  197. (description
  198. "An extension library to Xfce. While Xfce comes with quite a few libraries
  199. that are targeted at desktop development, libexo is targeted at application
  200. development.")
  201. ;; Libraries are under LGPLv2+, and programs under GPLv2+.
  202. (license (list gpl2+ lgpl2.1+))))
  203. (define-public garcon
  204. (package
  205. (name "garcon")
  206. (version "0.4.0")
  207. (source (origin
  208. (method url-fetch)
  209. (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
  210. name "-" version ".tar.bz2"))
  211. (sha256
  212. (base32
  213. "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq"))))
  214. (build-system gnu-build-system)
  215. (native-inputs
  216. `(("pkg-config" ,pkg-config)
  217. ("intltool" ,intltool)
  218. ("glib:bin" ,glib "bin")))
  219. (inputs
  220. `(("gtk+" ,gtk+-2)))
  221. (propagated-inputs
  222. `(("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk2-1.pc
  223. (home-page "http://www.xfce.org/")
  224. (synopsis "Implementation of the freedesktop.org menu specification")
  225. (description
  226. "Garcon is a freedesktop.org compliant menu implementation based on
  227. GLib and GIO. It was started as a complete rewrite of the former Xfce menu
  228. library called libxfce4menu, which, in contrast to garcon, was lacking menu
  229. merging features essential for loading menus modified with menu editors.")
  230. (license lgpl2.0+)))
  231. (define-public tumbler
  232. (package
  233. (name "tumbler")
  234. (version "0.1.31")
  235. (source (origin
  236. (method url-fetch)
  237. (uri (string-append "http://archive.xfce.org/src/xfce/tumbler/0.1/"
  238. name "-" version ".tar.bz2"))
  239. (sha256
  240. (base32
  241. "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh"))))
  242. (build-system gnu-build-system)
  243. (native-inputs
  244. `(("pkg-config" ,pkg-config)
  245. ("intltool" ,intltool)
  246. ("glib:bin" ,glib "bin") ; need glib-genmarshal
  247. ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool
  248. (propagated-inputs
  249. `(("glib" ,glib))) ; required by tumbler-1.pc
  250. (inputs
  251. `(("dbus" ,dbus)
  252. ("gdk-pixbuf" ,gdk-pixbuf)
  253. ("freetype" ,freetype)
  254. ("libjpeg" ,libjpeg)
  255. ("libgsf" ,libgsf)
  256. ("poppler" ,poppler)
  257. ("gstreamer" ,gstreamer)))
  258. (home-page "http://www.xfce.org/")
  259. (synopsis "D-Bus service for applications to request thumbnails")
  260. (description
  261. "Tumbler is a D-Bus service for applications to request thumbnails for
  262. various URI schemes and MIME types. It is an implementation of the thumbnail
  263. management D-Bus specification.")
  264. (license gpl2+)))
  265. (define-public xfce4-panel
  266. (package
  267. (name "xfce4-panel")
  268. (version "4.12.0")
  269. (source (origin
  270. (method url-fetch)
  271. (uri (string-append "http://archive.xfce.org/xfce/"
  272. (version-major+minor version)
  273. "/src/" name "-" version ".tar.bz2"))
  274. (sha256
  275. (base32
  276. "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"))
  277. (patches (search-patches "xfce4-panel-plugins.patch"))))
  278. (build-system gnu-build-system)
  279. (arguments
  280. '(#:configure-flags '("--enable-gtk3")))
  281. (native-inputs
  282. `(("pkg-config" ,pkg-config)
  283. ("intltool" ,intltool)))
  284. (propagated-inputs
  285. `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc
  286. (inputs
  287. `(("exo" ,exo)
  288. ("garcon" ,garcon)
  289. ("libwnck" ,libwnck-2)
  290. ("libxfce4ui" ,libxfce4ui)))
  291. (native-search-paths
  292. (list (search-path-specification
  293. (variable "X_XFCE4_LIB_DIRS")
  294. (files '("lib/xfce4")))))
  295. (home-page "http://www.xfce.org/")
  296. (synopsis "Xfce desktop panel")
  297. (description
  298. "Desktop panel for Xfce, which contains program launchers, window buttons,
  299. applications menu, workspace switcher and more.")
  300. ;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
  301. (license (list gpl2+ lgpl2.1+))))
  302. (define-public xfce4-battery-plugin
  303. (package
  304. (name "xfce4-battery-plugin")
  305. (version "1.0.5")
  306. (source (origin
  307. (method url-fetch)
  308. (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
  309. name "/" (version-major+minor version) "/"
  310. name "-" version ".tar.bz2"))
  311. (sha256
  312. (base32
  313. "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn"))))
  314. (build-system gnu-build-system)
  315. (native-inputs `(("pkg-config" ,pkg-config)
  316. ("intltool" ,intltool)))
  317. (inputs `(("glib" ,glib)
  318. ("gtk+" ,gtk+-2)
  319. ("libxfce4util" ,libxfce4util)
  320. ("libxfce4ui" ,libxfce4ui)
  321. ("xfce4-panel" ,xfce4-panel)))
  322. (home-page
  323. "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin")
  324. (synopsis "Battery monitor panel plugin for Xfce4")
  325. (description
  326. "A battery monitor panel plugin for Xfce4, compatible with APM and ACPI.")
  327. ;; The main plugin code is covered by gpl2+, but the files containing code
  328. ;; to read the battery state via ACPI or APM are covered by lgpl2.0+.
  329. (license (list gpl2+ lgpl2.0+))))
  330. (define-public xfce4-clipman-plugin
  331. (package
  332. (name "xfce4-clipman-plugin")
  333. (version "1.2.6")
  334. (source (origin
  335. (method url-fetch)
  336. (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
  337. name "/" (version-major+minor version) "/"
  338. name "-" version ".tar.bz2"))
  339. (sha256
  340. (base32
  341. "19a8gwcqc0r5qqi8w28dc8arqip34m8yxdb87lgps9g5qfcky113"))))
  342. (build-system gnu-build-system)
  343. (native-inputs
  344. `(("intltool" ,intltool)
  345. ("pkg-config" ,pkg-config)))
  346. (inputs
  347. `(("exo" ,exo)
  348. ("libxfce4ui" ,libxfce4ui)
  349. ("libxtst" ,libxtst)
  350. ("xfce4-panel" ,xfce4-panel)))
  351. (home-page
  352. "http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin")
  353. (synopsis "Clipboard manager for Xfce")
  354. (description
  355. "Clipman is a clipboard manager for Xfce. It keeps the clipboard contents
  356. around while it is usually lost when you close an application. It is able to
  357. handle text and images, and has a feature to execute actions on specific text by
  358. matching them against regular expressions.")
  359. (license (list gpl2+))))
  360. (define-public xfce4-pulseaudio-plugin
  361. (package
  362. (name "xfce4-pulseaudio-plugin")
  363. (version "0.2.3")
  364. (source (origin
  365. (method url-fetch)
  366. (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
  367. name "/" (version-major+minor version) "/"
  368. name "-" version ".tar.bz2"))
  369. (sha256
  370. (base32
  371. "0crvb2gyxbnlf46712arg3m2vqx81dixqhqdwss0bngpijy3ca78"))))
  372. (build-system gnu-build-system)
  373. (native-inputs
  374. `(("intltool" ,intltool)
  375. ("pkg-config" ,pkg-config)))
  376. (inputs
  377. `(("exo" ,exo)
  378. ("libnotify" ,libnotify)
  379. ("libxfce4ui" ,libxfce4ui)
  380. ("pulseaudio" ,pulseaudio)
  381. ("xfce4-panel" ,xfce4-panel)))
  382. (home-page "http://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/")
  383. (synopsis "PulseAudio panel plugin for Xfce")
  384. (description
  385. "Xfce PulseAudio plugin is a plugin for the Xfce panel which provides a
  386. convenient way to adjust the audio volume of the PulseAudio sound system and
  387. to an auto mixer tool like pavucontrol. It can optionally handle multimedia
  388. keys for controlling the audio volume.")
  389. (license gpl2+)))
  390. (define-public xfce4-xkb-plugin
  391. (package
  392. (name "xfce4-xkb-plugin")
  393. (version "0.7.1")
  394. (source (origin
  395. (method url-fetch)
  396. (uri (string-append "http://archive.xfce.org/src/panel-plugins/"
  397. name "/" (version-major+minor version) "/"
  398. name "-" version ".tar.bz2"))
  399. (sha256
  400. (base32
  401. "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1"))))
  402. (build-system gnu-build-system)
  403. (native-inputs
  404. `(("intltool" ,intltool)
  405. ("pkg-config" ,pkg-config)))
  406. (inputs
  407. `(("garcon" ,garcon)
  408. ("librsvg" ,librsvg)
  409. ("libwnck" ,libwnck-2)
  410. ("libx11" ,libx11)
  411. ("libxfce4ui" ,libxfce4ui)
  412. ("libxklavier" ,libxklavier)
  413. ("xfce4-panel" ,xfce4-panel)))
  414. (home-page "http://git.xfce.org/panel-plugins/xfce4-xkb-plugin/")
  415. (synopsis "XKB layout switching panel plug-in for Xfce")
  416. (description
  417. "Xfce XKB plugin makes it possible to set up and use multiple
  418. keyboard layouts.
  419. One can choose the keyboard model, what key combination to
  420. use to switch between the layouts, the actual keyboard layouts,
  421. the way in which the current layout is being displayed (country
  422. flag image or text) and the layout policy, which is whether to
  423. store the layout globally (for all windows), per application or
  424. per window.")
  425. (license bsd-2)))
  426. (define-public xfce4-appfinder
  427. (package
  428. (name "xfce4-appfinder")
  429. (version "4.12.0")
  430. (source (origin
  431. (method url-fetch)
  432. (uri (string-append "http://archive.xfce.org/xfce/"
  433. (version-major+minor version)
  434. "/src/" name "-" version ".tar.bz2"))
  435. (sha256
  436. (base32
  437. "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"))))
  438. (build-system gnu-build-system)
  439. (native-inputs
  440. `(("pkg-config" ,pkg-config)
  441. ("intltool" ,intltool)))
  442. (inputs
  443. `(("garcon" ,garcon)
  444. ("gtk+" ,gtk+-2)
  445. ("libxfce4ui" ,libxfce4ui)))
  446. (home-page "http://www.xfce.org/")
  447. (synopsis "Xfce application finder")
  448. (description
  449. "Application finder for Xfce, it will show the applications installed on
  450. your system in categories, so you can quickly find and launch them.")
  451. (license gpl2+)))
  452. (define-public xfce4-session
  453. (package
  454. (name "xfce4-session")
  455. (version "4.12.0")
  456. (source (origin
  457. (method url-fetch)
  458. (uri (string-append "http://archive.xfce.org/xfce/"
  459. (version-major+minor version)
  460. "/src/" name "-" version ".tar.bz2"))
  461. (sha256
  462. (base32
  463. "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38"))
  464. (patches
  465. ;; See: https://bugzilla.xfce.org/show_bug.cgi?id=12282
  466. (search-patches "xfce4-session-fix-xflock4.patch"))
  467. (modules '((guix build utils)))
  468. (snippet
  469. '(begin
  470. (substitute* "xfsm-shutdown-helper/main.c"
  471. (("/sbin/shutdown -h now") "halt")
  472. (("/sbin/shutdown -r now") "restart")
  473. (("/usr/sbin/pm-suspend") "pm-suspend")
  474. (("/usr/sbin/pm-hibernate") "pm-hibernate"))
  475. #t))))
  476. (build-system gnu-build-system)
  477. (arguments
  478. '(#:configure-flags
  479. (list (string-append "--with-xsession-prefix=" %output))))
  480. (native-inputs
  481. `(("pkg-config" ,pkg-config)
  482. ("intltool" ,intltool)))
  483. (inputs
  484. `(("iceauth" ,iceauth)
  485. ("upower" ,upower)
  486. ("polkit" ,polkit)
  487. ("libsm" ,libsm)
  488. ("libwnck" ,libwnck-2)
  489. ("libxfce4ui" ,libxfce4ui)))
  490. (home-page "http://www.xfce.org/")
  491. (synopsis "Xfce session manager")
  492. (description
  493. "Session manager for Xfce, it will restore your session on startup and
  494. allows you to shutdown the computer from Xfce.")
  495. (license gpl2+)))
  496. (define-public xfce4-settings
  497. (package
  498. (name "xfce4-settings")
  499. (version "4.12.0")
  500. (source (origin
  501. (method url-fetch)
  502. (uri (string-append "http://archive.xfce.org/xfce/"
  503. (version-major+minor version)
  504. "/src/" name "-" version ".tar.bz2"))
  505. (sha256
  506. (base32
  507. "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))
  508. (patches (search-patches "xfce4-settings-defaults.patch"))))
  509. (build-system gnu-build-system)
  510. (native-inputs
  511. `(("pkg-config" ,pkg-config)
  512. ("intltool" ,intltool)))
  513. (inputs
  514. `(("exo" ,exo)
  515. ("garcon" ,garcon)
  516. ("libnotify" ,libnotify)
  517. ("libxcursor" ,libxcursor)
  518. ("libxi" ,libxi)
  519. ("libxklavier" ,libxklavier)
  520. ("libxrandr" ,libxrandr)
  521. ("libxfce4ui" ,libxfce4ui)
  522. ("upower" ,upower)
  523. ("xf86-input-libinput" ,xf86-input-libinput)))
  524. (home-page "http://www.xfce.org/")
  525. (synopsis "Xfce settings manager")
  526. (description
  527. "Settings manager for Xfce, it can control various aspects of the desktop
  528. like appearance, display, keyboard and mouse settings.")
  529. (license gpl2+)))
  530. (define-public thunar
  531. (package
  532. (name "thunar")
  533. (version "1.6.6")
  534. (source (origin
  535. (method url-fetch)
  536. (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
  537. "Thunar-" version ".tar.bz2"))
  538. (sha256
  539. (base32
  540. "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr"))))
  541. (build-system gnu-build-system)
  542. (native-inputs
  543. `(("pkg-config" ,pkg-config)
  544. ("intltool" ,intltool)))
  545. (inputs
  546. `(("exo" ,exo)
  547. ("libexif" ,libexif)
  548. ("libgudev" ,libgudev)
  549. ("libnotify" ,libnotify)
  550. ("libxfce4ui" ,libxfce4ui)
  551. ("pcre" ,pcre)
  552. ("xfce4-panel" ,xfce4-panel)
  553. ("startup-notification" ,startup-notification)))
  554. (home-page "http://www.xfce.org/")
  555. (synopsis "Xfce file manager")
  556. (description
  557. "A modern file manager for graphical desktop, aiming to be easy-to-use and
  558. fast.")
  559. (license gpl2+)))
  560. (define-public thunar-volman
  561. (package
  562. (name "thunar-volman")
  563. (version "0.8.1")
  564. (source (origin
  565. (method url-fetch)
  566. (uri (string-append "http://archive.xfce.org/xfce/4.12/src/"
  567. name "-" version ".tar.bz2"))
  568. (sha256
  569. (base32
  570. "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s"))))
  571. (build-system gnu-build-system)
  572. (native-inputs
  573. `(("pkg-config" ,pkg-config)
  574. ("intltool" ,intltool)))
  575. (inputs
  576. `(("exo" ,exo)
  577. ("libgudev" ,libgudev)
  578. ("libnotify" ,libnotify)
  579. ("libxfce4ui" ,libxfce4ui)))
  580. (home-page "http://www.xfce.org/")
  581. (synopsis "Removable media manager for Thunar")
  582. (description
  583. "Thunar-volman is an extension for the Thunar File Manager, which enables
  584. automatic management of removable drives and media. For example, if
  585. thunar-volman is installed and configured properly, and you plug in your
  586. digital camera, it will automatically spawn your preferred photo application
  587. and import the new pictures from your camera.")
  588. (license gpl2+)))
  589. (define-public xfwm4
  590. (package
  591. (name "xfwm4")
  592. (version "4.12.0")
  593. (source (origin
  594. (method url-fetch)
  595. (uri (string-append "http://archive.xfce.org/xfce/"
  596. (version-major+minor version)
  597. "/src/" name "-" version ".tar.bz2"))
  598. (sha256
  599. (base32
  600. "0fnc2ps4k733n9qfpxrz047h1myyqjzxczl7fmkjmqwshvicpx19"))))
  601. (build-system gnu-build-system)
  602. (native-inputs
  603. `(("pkg-config" ,pkg-config)
  604. ("intltool" ,intltool)))
  605. (inputs
  606. `(("libdrm" ,libdrm)
  607. ("libwnck" ,libwnck-2)
  608. ("libxcomposite" ,libxcomposite)
  609. ("libxdamage" ,libxdamage)
  610. ("libxfce4ui" ,libxfce4ui)
  611. ("libxrandr" ,libxrandr)))
  612. (home-page "http://www.xfce.org/")
  613. (synopsis "Xfce window manager")
  614. (description
  615. "Window manager for Xfce, it handles the placement of windows
  616. on the screen.")
  617. (license gpl2+)))
  618. (define-public xfdesktop
  619. (package
  620. (name "xfdesktop")
  621. (version "4.12.0")
  622. (source (origin
  623. (method url-fetch)
  624. (uri (string-append "http://archive.xfce.org/xfce/"
  625. (version-major+minor version)
  626. "/src/" name "-" version ".tar.bz2"))
  627. (sha256
  628. (base32
  629. "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf"))))
  630. (build-system gnu-build-system)
  631. (native-inputs
  632. `(("pkg-config" ,pkg-config)
  633. ("intltool" ,intltool)))
  634. (inputs
  635. `(("exo" ,exo)
  636. ("garcon" ,garcon)
  637. ("libnotify" ,libnotify)
  638. ("libwnck" ,libwnck-2)
  639. ("libxfce4ui" ,libxfce4ui)
  640. ("thunar" ,thunar)))
  641. (home-page "http://www.xfce.org/")
  642. (synopsis "Xfce desktop manager")
  643. (description
  644. "Desktop manager for Xfce, it sets the background color or image with
  645. optional application menu or icons for minimized applications or launchers,
  646. devices and folders.")
  647. (license gpl2+)))
  648. (define-public xfce4-terminal
  649. (package
  650. (name "xfce4-terminal")
  651. (version "0.8.3")
  652. (source (origin
  653. (method url-fetch)
  654. (uri (string-append "http://archive.xfce.org/src/apps/" name "/"
  655. (version-major+minor version) "/"
  656. name "-" version ".tar.bz2"))
  657. (sha256
  658. (base32
  659. "1w8jvi9nw00aki825mm8f7wpkhxxicw4f6j9v4ka71z8p2ry9rj0"))))
  660. (build-system gnu-build-system)
  661. (native-inputs
  662. `(("pkg-config" ,pkg-config)
  663. ("intltool" ,intltool)))
  664. (inputs
  665. `(("libxfce4ui" ,libxfce4ui)
  666. ("vte" ,vte)))
  667. (home-page "http://www.xfce.org/")
  668. (synopsis "Xfce terminal emulator")
  669. (description
  670. "A lightweight and easy to use terminal emulator for Xfce. Features
  671. include a simple configuration interface, the ability to use multiple tabs
  672. with terminals within a single window, the possibility to have a
  673. pseudo-transparent terminal background, and a compact mode (where both the
  674. menubar and the window decorations are hidden) that helps you to save space
  675. on your desktop.")
  676. (license gpl2+)))
  677. (define-public xfce
  678. (package
  679. (name "xfce")
  680. (version (package-version xfce4-session))
  681. (source #f)
  682. (build-system trivial-build-system)
  683. (arguments
  684. '(#:modules ((guix build union))
  685. #:builder
  686. (begin
  687. (use-modules (ice-9 match)
  688. (guix build union))
  689. (match %build-inputs
  690. (((names . directories) ...)
  691. (union-build (assoc-ref %outputs "out")
  692. directories))))))
  693. (inputs
  694. `(("exo" ,exo)
  695. ("garcon" ,garcon)
  696. ("gnome-icon-theme" ,gnome-icon-theme)
  697. ("gtk-xfce-engine" ,gtk-xfce-engine)
  698. ("hicolor-icon-theme" ,hicolor-icon-theme)
  699. ("ristretto" ,ristretto)
  700. ("shared-mime-info" ,shared-mime-info)
  701. ("thunar" ,thunar)
  702. ("thunar-volman" ,thunar-volman)
  703. ("tumlber" ,tumbler)
  704. ("xfce4-appfinder" ,xfce4-appfinder)
  705. ("xfce4-panel" ,xfce4-panel)
  706. ("xfce4-power-manager" ,xfce4-power-manager)
  707. ("xfce4-session" ,xfce4-session)
  708. ("xfce4-settings" ,xfce4-settings)
  709. ("xfce4-terminal" ,xfce4-terminal)
  710. ("xfconf" ,xfconf)
  711. ("xfdesktop" ,xfdesktop)
  712. ("xfwm4" ,xfwm4)
  713. ;; Panel plugins.
  714. ("xfce4-battery-plugin" ,xfce4-battery-plugin)
  715. ("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
  716. ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
  717. ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
  718. (native-search-paths
  719. ;; For finding panel plugins.
  720. (package-native-search-paths xfce4-panel))
  721. (home-page "http://www.xfce.org/")
  722. (synopsis "Desktop environment (meta-package)")
  723. (description
  724. "Xfce is a lightweight desktop environment. It aims to be fast and low on
  725. system resources, while still being visually appealing and user friendly.")
  726. (license gpl2+)))
  727. (define-public xfce4-power-manager
  728. (package
  729. (name "xfce4-power-manager")
  730. (version "1.4.3")
  731. (source (origin
  732. (method url-fetch)
  733. (uri (string-append "http://archive.xfce.org/xfce/4.12"
  734. "/src/" name "-" version ".tar.bz2"))
  735. (sha256
  736. (base32
  737. "04909sfc2nrj2wg9cw6y9y2r9yrp3l3vc201sy1gaiap67fi33h1"))))
  738. (build-system gnu-build-system)
  739. (arguments
  740. '(#:configure-flags '("--enable-gtk3")))
  741. (native-inputs
  742. `(("pkg-config" ,pkg-config)
  743. ("intltool" ,intltool)))
  744. (inputs
  745. `(("lbxrandr" ,libxrandr)
  746. ("gtk+" ,gtk+-2)
  747. ("upower" ,upower)
  748. ("libnotify" ,libnotify)
  749. ("libxfce4ui" ,libxfce4ui)))
  750. (home-page "http://www.xfce.org/")
  751. (synopsis "Xfce Power Manager")
  752. (description
  753. "This is a power manager for the Xfce desktop. It manages the power
  754. sources on the computer and the devices that can be controlled to reduce their
  755. power consumption (such as LCD brightness level, monitor sleep, CPU frequency
  756. scaling, etc). In addition, xfce4-power-manager provides a set of
  757. freedesktop-compliant DBus interfaces to inform other applications about current
  758. power level so that they can adjust their power consumption, and it provides the
  759. inhibit interface which allows applications to prevent automatic sleep.")
  760. (license gpl2+)))
  761. (define-public ristretto
  762. (package
  763. (name "ristretto")
  764. (version "0.8.0")
  765. (source (origin
  766. (method url-fetch)
  767. (uri (string-append "http://archive.xfce.org/src/apps/ristretto/"
  768. (version-major+minor version) "/"
  769. name "-" version ".tar.bz2"))
  770. (sha256
  771. (base32
  772. "0a7kwhx51fd2kqh7l7kp13wcn39d2fjkwnn9rfd1k9ydrqj56qki"))))
  773. (build-system gnu-build-system)
  774. (native-inputs
  775. `(("intltool" ,intltool)
  776. ("pkg-config" ,pkg-config)))
  777. (inputs
  778. `(("desktop-file-utils" ,desktop-file-utils)
  779. ("gtk+" ,gtk+-2)
  780. ("libexif" ,libexif)
  781. ("libxfce4ui" ,libxfce4ui)
  782. ("librsvg" ,librsvg)
  783. ("tumbler" ,tumbler)))
  784. (home-page "http://docs.xfce.org/apps/ristretto/start")
  785. (synopsis "Fast and lightweight picture-viewer")
  786. (description
  787. "The Ristretto Image Viewer is an application that can be used to view,
  788. and scroll through images. It can be used to run a slideshow of images, open
  789. images with other applications like an image-editor or configure an image as
  790. the desktop wallpaper.")
  791. (license gpl2+)))
  792. (define-public xfce4-taskmanager
  793. (package
  794. (name "xfce4-taskmanager")
  795. (version "1.1.0")
  796. (source (origin
  797. (method url-fetch)
  798. (uri (string-append "http://archive.xfce.org/src/apps/"
  799. name "/" (version-major+minor version) "/"
  800. name "-" version ".tar.bz2"))
  801. (sha256
  802. (base32
  803. "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if"))))
  804. (build-system gnu-build-system)
  805. (native-inputs
  806. `(("intltool" ,intltool)
  807. ("pkg-config" ,pkg-config)))
  808. (inputs
  809. `(("libwnck" ,libwnck-2)
  810. ("gtk+" ,gtk+-2)))
  811. (home-page "http://goodies.xfce.org/projects/applications/xfce4-taskmanager")
  812. (synopsis "Easy to use task manager")
  813. (description
  814. "This is a task manager for the Xfce desktop. It displays the CPU and
  815. memory usage graphically, and it can display processes as a tree.")
  816. (license gpl2+)))
  817. (define-public orage
  818. (package
  819. (name "orage")
  820. (version "4.12.1")
  821. (source (origin
  822. (method url-fetch)
  823. (uri (string-append "http://archive.xfce.org/src/apps/"
  824. name "/" (version-major+minor version) "/"
  825. name "-" version ".tar.bz2"))
  826. (sha256
  827. (base32
  828. "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w"))))
  829. (build-system gnu-build-system)
  830. (native-inputs
  831. `(("intltool" ,intltool)
  832. ("pkg-config" ,pkg-config)))
  833. (inputs
  834. `(("gtk+" ,gtk+-2)
  835. ("libical" ,libical)
  836. ("libnotify" ,libnotify)
  837. ("popt" ,popt)
  838. ("xfce4-panel" ,xfce4-panel)))
  839. (home-page "http://www.xfce.org/projects/")
  840. (synopsis "Simple calendar application with reminders")
  841. (description
  842. "This is a simple calendar application for the Xfce desktop. Orage has
  843. alarms and uses the iCalendar format, making it compatible with many other
  844. calendar applications. It also includes a panel clock plugin and an
  845. international clock application capable of simultaneously showing clocks from
  846. several different time zones.")
  847. (license gpl2+)))
  848. (define-public xfce4-notifyd
  849. (package
  850. (name "xfce4-notifyd")
  851. (version "0.3.6")
  852. (source (origin
  853. (method url-fetch)
  854. (uri (string-append "http://archive.xfce.org/src/apps/"
  855. name "/" (version-major+minor version) "/"
  856. name "-" version ".tar.bz2"))
  857. (sha256
  858. (base32
  859. "1ybcfqfynr33g5hp2lgq17s8qyx7rq6fd2iwrpwcvm6kml6prjpl"))))
  860. (build-system glib-or-gtk-build-system)
  861. (native-inputs
  862. `(("intltool" ,intltool)
  863. ("pkg-config" ,pkg-config)))
  864. (inputs
  865. `(("libxfce4ui" ,libxfce4ui)
  866. ("libnotify" ,libnotify)))
  867. (home-page "https://goodies.xfce.org/projects/applications/xfce4-notifyd")
  868. (synopsis "Show notification bubbles on Xfce")
  869. (description
  870. "The Xfce Notify Daemon (xfce4-notifyd for short) is a smallish program
  871. that implements the “server-side” portion of the Freedesktop desktop
  872. notifications specification. Applications that wish to pop up a notification
  873. bubble in a standard way can implicitly make use of xfce4-notifyd to do so by
  874. sending standard messages over D-Bus using the
  875. @code{org.freedesktop.Notifications} interface.")
  876. (license gpl2)))