You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

358 lines
12 KiB

  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (gnu packages gnome)
  19. #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1+ lgpl3))
  20. #:use-module (guix packages)
  21. #:use-module (guix download)
  22. #:use-module (guix build-system gnu)
  23. #:use-module (gnu packages glib)
  24. #:use-module (gnu packages gnupg)
  25. #:use-module (gnu packages gstreamer)
  26. #:use-module (gnu packages gtk)
  27. #:use-module (gnu packages pdf)
  28. #:use-module (gnu packages ghostscript)
  29. #:use-module (gnu packages libcanberra)
  30. #:use-module (gnu packages libpng)
  31. #:use-module (gnu packages perl)
  32. #:use-module (gnu packages pkg-config)
  33. #:use-module (gnu packages python)
  34. #:use-module (gnu packages xml)
  35. #:use-module (gnu packages xorg))
  36. (define-public brasero
  37. (package
  38. (name "brasero")
  39. (version "3.8.0")
  40. (source (origin
  41. (method url-fetch)
  42. (uri (string-append "mirror://gnome/sources/brasero/3.8/brasero-"
  43. version ".tar.xz"))
  44. (sha256
  45. (base32
  46. "1r5wjsrm47amdaf862ymkdlwlb636c45wg14x20hdr99c653d2nr"))))
  47. (build-system gnu-build-system)
  48. (propagated-inputs
  49. `(("hicolor-icon-theme" ,hicolor-icon-theme)))
  50. (inputs
  51. `(("glib" ,glib)
  52. ("gnome-doc-utils" ,gnome-doc-utils)
  53. ("gstreamer" ,gstreamer)
  54. ("gst-plugins-base" ,gst-plugins-base)
  55. ("gtk+" ,gtk+)
  56. ("intltool" ,intltool)
  57. ("itstool" ,itstool)
  58. ("libcanberra" ,libcanberra)
  59. ("libice" ,libice)
  60. ("libnotify" ,libnotify)
  61. ("libsm" ,libsm)
  62. ("libxml2" ,libxml2)
  63. ("pkg-config" ,pkg-config)))
  64. (home-page "https://projects.gnome.org/brasero/")
  65. (synopsis "CD/DVD burning tool for Gnome")
  66. (description "Brasero is an application to burn CD/DVD for the Gnome
  67. Desktop. It is designed to be as simple as possible and has some unique
  68. features to enable users to create their discs easily and quickly.")
  69. (license gpl2+)))
  70. (define-public gnome-doc-utils
  71. (package
  72. (name "gnome-doc-utils")
  73. (version "0.20.10")
  74. (source
  75. (origin
  76. (method url-fetch)
  77. (uri (string-append "mirror://gnome/sources/" name "/0.20/"
  78. name "-" version ".tar.xz"))
  79. (sha256
  80. (base32
  81. "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
  82. (build-system gnu-build-system)
  83. (inputs
  84. `(("intltool" ,intltool)
  85. ("libxml2" ,libxml2)
  86. ("libxslt" ,libxslt)
  87. ("pkg-config" ,pkg-config)
  88. ("python-2" ,python-2)))
  89. (arguments
  90. `(#:tests? #f)) ; tries to load http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd
  91. (home-page "https://wiki.gnome.org/GnomeDocUtils")
  92. (synopsis
  93. "Documentation utilities for the Gnome project")
  94. (description
  95. "Gnome-doc-utils is a collection of documentation utilities for the
  96. Gnome project. It includes xml2po tool which makes it easier to translate
  97. and keep up to date translations of documentation.")
  98. (license gpl2+))) ; xslt under lgpl
  99. (define-public libgnome-keyring
  100. (package
  101. (name "libgnome-keyring")
  102. (version "3.6.0")
  103. (source (origin
  104. (method url-fetch)
  105. (uri (string-append
  106. "mirror://gnome/sources/libgnome-keyring/3.6/libgnome-keyring-"
  107. version
  108. ".tar.xz"))
  109. (sha256
  110. (base32
  111. "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"))))
  112. (build-system gnu-build-system)
  113. (native-inputs
  114. `(("intltool" ,intltool)))
  115. (inputs
  116. `(("pkg-config" ,pkg-config)
  117. ("libgcrypt" ,libgcrypt)
  118. ("dbus" ,dbus)))
  119. (propagated-inputs
  120. ;; Referred to in .h files and .pc.
  121. `(("glib" ,glib)))
  122. (home-page "http://www.gnome.org")
  123. (synopsis "Accessing passwords from the GNOME keyring")
  124. (description
  125. "Client library to access passwords from the GNOME keyring.")
  126. ;; Though a couple of files are LGPLv2.1+.
  127. (license lgpl2.0+)))
  128. (define-public evince
  129. (package
  130. (name "evince")
  131. (version "3.6.1")
  132. (source (origin
  133. (method url-fetch)
  134. (uri (string-append "mirror://gnome/sources/evince/3.6/evince-"
  135. version ".tar.xz"))
  136. (sha256
  137. (base32
  138. "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"))))
  139. (build-system gnu-build-system)
  140. (arguments
  141. `(#:configure-flags '("--disable-nautilus")
  142. ;; FIXME: Tests fail with:
  143. ;; ImportError: No module named gi.repository
  144. ;; Where should that module come from?
  145. #:tests? #f
  146. #:phases (alist-cons-after
  147. 'install 'set-mime-search-path
  148. (lambda* (#:key inputs outputs #:allow-other-keys)
  149. ;; Wrap 'evince' so that it knows where MIME info is.
  150. (let ((out (assoc-ref outputs "out"))
  151. (mime (assoc-ref inputs "shared-mime-info")))
  152. (wrap-program (string-append out "/bin/evince")
  153. `("XDG_DATA_DIRS" ":" prefix
  154. ,(list (string-append mime "/share")
  155. (string-append out "/share"))))))
  156. %standard-phases)))
  157. (inputs
  158. `(("libspectre" ,libspectre)
  159. ;; ("djvulibre" ,djvulibre)
  160. ("ghostscript" ,ghostscript)
  161. ("poppler" ,poppler)
  162. ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
  163. ("libgnome-keyring" ,libgnome-keyring)
  164. ("gnome-icon-theme" ,gnome-icon-theme)
  165. ("itstool" ,itstool)
  166. ("gdk-pixbuf" ,gdk-pixbuf)
  167. ("atk" ,atk)
  168. ("pango" ,pango)
  169. ("gtk+" ,gtk+)
  170. ("glib" ,glib)
  171. ("libxml2" ,libxml2)
  172. ("pkg-config" ,pkg-config)
  173. ("libsm" ,libsm)
  174. ("libice" ,libice)
  175. ("shared-mime-info" ,shared-mime-info)
  176. ;; For tests.
  177. ("dogtail" ,python2-dogtail)))
  178. (native-inputs
  179. `(("intltool" ,intltool)))
  180. (home-page
  181. "http://www.gnome.org/projects/evince/")
  182. (synopsis "GNOME's document viewer")
  183. (description
  184. "Evince is a document viewer for multiple document formats. It
  185. currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
  186. of Evince is to replace the multiple document viewers that exist
  187. on the GNOME Desktop with a single simple application.")
  188. (license gpl2+)))
  189. (define-public gsettings-desktop-schemas
  190. (package
  191. (name "gsettings-desktop-schemas")
  192. (version "3.10.0")
  193. (source
  194. (origin
  195. (method url-fetch)
  196. (uri (string-append "mirror://gnome/sources/" name "/"
  197. (string-copy version 0 (string-rindex version #\.)) "/"
  198. name "-" version ".tar.xz"))
  199. (sha256
  200. (base32
  201. "1km8qxwrzvravmg8j680qv64bwnwbdgrmy8bqmhs0dgxn2b1as6a"))))
  202. (build-system gnu-build-system)
  203. (inputs
  204. `(("glib" ,glib)
  205. ("intltool" ,intltool)
  206. ("pkg-config" ,pkg-config)))
  207. (home-page "https://launchpad.net/gsettings-desktop-schemas")
  208. (synopsis
  209. "GNOME settings for various desktop components")
  210. (description
  211. "Gsettings-desktop-schemas contains a collection of GSettings schemas
  212. for settings shared by various components of the GNOME desktop.")
  213. (license lgpl2.1+)))
  214. (define-public icon-naming-utils
  215. (package
  216. (name "icon-naming-utils")
  217. (version "0.8.90")
  218. (source
  219. (origin
  220. (method url-fetch)
  221. (uri (string-append "http://tango.freedesktop.org/releases/icon-naming-utils-"
  222. version ".tar.bz2"))
  223. (sha256
  224. (base32
  225. "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
  226. (build-system gnu-build-system)
  227. (inputs
  228. `(("perl" ,perl)
  229. ("perl-xml-simple" ,perl-xml-simple)))
  230. (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
  231. (synopsis
  232. "Utility to implement the Freedesktop Icon Naming Specification")
  233. (description
  234. "To help with the transition to the Freedesktop Icon Naming
  235. Specification, the icon naming utility maps the icon names used by the
  236. GNOME and KDE desktops to the icon names proposed in the specification.")
  237. (license lgpl2.1+)))
  238. (define-public gnome-icon-theme
  239. (package
  240. (name "gnome-icon-theme")
  241. (version "3.10.0")
  242. (source
  243. (origin
  244. (method url-fetch)
  245. (uri (string-append "mirror://gnome/sources/" name "/"
  246. (string-copy version 0 (string-rindex version #\.)) "/"
  247. name "-" version ".tar.xz"))
  248. (sha256
  249. (base32
  250. "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"))))
  251. (build-system gnu-build-system)
  252. (inputs
  253. `(("gtk+" ,gtk+)
  254. ("icon-naming-utils" ,icon-naming-utils)
  255. ("intltool" ,intltool)
  256. ("pkg-config" ,pkg-config)))
  257. (home-page "http://art.gnome.org/")
  258. (synopsis
  259. "GNOME icon theme")
  260. (description
  261. "Icons for the GNOME desktop.")
  262. (license lgpl3))) ; or Creative Commons BY-SA 3.0
  263. (define-public shared-mime-info
  264. (package
  265. (name "shared-mime-info")
  266. (version "1.2")
  267. (source (origin
  268. (method url-fetch)
  269. (uri (string-append "http://freedesktop.org/~hadess/shared-mime-info-"
  270. version ".tar.xz"))
  271. (sha256
  272. (base32
  273. "0y5vi0vr6rbhvfzcfg57cfskn362bpvcpca9cy598nmr87i6lld5"))))
  274. (build-system gnu-build-system)
  275. (arguments
  276. ;; The build system appears not to be parallel-safe.
  277. '(#:parallel-build? #f))
  278. (inputs
  279. `(("glib" ,glib)
  280. ("libxml2" ,libxml2)
  281. ("pkg-config" ,pkg-config)))
  282. (native-inputs
  283. `(("intltool" ,intltool)))
  284. (home-page "http://freedesktop.org/wiki/Software/shared-mime-info")
  285. (synopsis "Database of common MIME types")
  286. (description
  287. "The shared-mime-info package contains the core database of common types
  288. and the update-mime-database command used to extend it. It requires glib2 to
  289. be installed for building the update command. Additionally, it uses intltool
  290. for translations, though this is only a dependency for the maintainers. This
  291. database is translated at Transifex.")
  292. (license gpl2+)))
  293. (define-public hicolor-icon-theme
  294. (package
  295. (name "hicolor-icon-theme")
  296. (version "0.12")
  297. (source
  298. (origin
  299. (method url-fetch)
  300. (uri (string-append "http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-"
  301. version ".tar.gz"))
  302. (sha256
  303. (base32
  304. "0wzc7g4ldb2l8zc0x2785ck808c03i857jji942ikakyc68adp4y"))))
  305. (build-system gnu-build-system)
  306. (arguments
  307. `(#:tests? #f)) ; no check target
  308. (home-page "http://icon-theme.freedesktop.org/releases/")
  309. (synopsis
  310. "Freedesktop icon theme")
  311. (description
  312. "Freedesktop icon theme.")
  313. (license gpl2)))
  314. (define-public libnotify
  315. (package
  316. (name "libnotify")
  317. (version "0.7.6")
  318. (source
  319. (origin
  320. (method url-fetch)
  321. (uri (string-append "mirror://gnome/sources/" name "/"
  322. (string-copy version 0 (string-rindex version #\.)) "/"
  323. name "-" version ".tar.xz"))
  324. (sha256
  325. (base32
  326. "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"))))
  327. (build-system gnu-build-system)
  328. (inputs
  329. `(("gdk-pixbuf" ,gdk-pixbuf)
  330. ("glib" ,glib)
  331. ("gtk+" ,gtk+)
  332. ("libpng" ,libpng)
  333. ("pkg-config" ,pkg-config)))
  334. (home-page "https://developer-next.gnome.org/libnotify/")
  335. (synopsis
  336. "GNOME desktop notification library")
  337. (description
  338. "Libnotify is a library that sends desktop notifications to a
  339. notification daemon, as defined in the Desktop Notifications spec. These
  340. notifications can be used to inform the user about an event or display
  341. some form of information without getting in the user's way.")
  342. (license lgpl2.1+)))