pantheon.scm 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
  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 pantheon)
  19. #:use-module (gnu packages cmake)
  20. #:use-module (gnu packages freedesktop)
  21. #:use-module (gnu packages gettext)
  22. #:use-module (gnu packages glib)
  23. #:use-module (gnu packages gnome)
  24. #:use-module (gnu packages gnupg)
  25. #:use-module (gnu packages gtk)
  26. #:use-module (gnu packages package-management)
  27. #:use-module (gnu packages pkg-config)
  28. #:use-module (gnu packages xml)
  29. #:use-module (gnu packages)
  30. #:use-module (guix build-system meson)
  31. #:use-module (guix git-download)
  32. #:use-module ((guix licenses) #:prefix license:)
  33. #:use-module (guix packages)
  34. #:use-module (guix utils))
  35. (define-public granite
  36. (package
  37. (name "granite")
  38. (version "5.5.0")
  39. (source (origin
  40. (method git-fetch)
  41. (uri (git-reference
  42. (url "https://github.com/elementary/granite")
  43. (commit version)))
  44. (file-name (git-file-name name version))
  45. (sha256
  46. (base32
  47. "13qfhq8xndikk6kmybibs6a4ddyp6mhvbsp2yy4qr7aiiyxf7mna"))))
  48. (build-system meson-build-system)
  49. (arguments
  50. `(#:phases
  51. (modify-phases %standard-phases
  52. (add-after 'unpack 'disable-icon-cache
  53. (lambda _
  54. (setenv "DESTDIR" "/")
  55. #t)))))
  56. (inputs
  57. `(("glib" ,glib)
  58. ("gtk" ,gtk+)
  59. ("libgee" ,libgee)))
  60. (native-inputs
  61. `(("gettext" ,gettext-minimal)
  62. ("gobject-introspection" ,gobject-introspection)
  63. ("pkg-config" ,pkg-config)
  64. ("vala" ,vala)))
  65. (home-page "https://github.com/elementary/granite")
  66. (synopsis "Library that extends GTK with common widgets and utilities")
  67. (description "Granite is a companion library for GTK+ and GLib. Among other
  68. things, it provides complex widgets and convenience functions designed for use
  69. in apps built for the Pantheon desktop.")
  70. (license license:lgpl3+)))
  71. (define-public pantheon-calculator
  72. (package
  73. (name "pantheon-calculator")
  74. (version "1.5.5")
  75. (source
  76. (origin
  77. (method git-fetch)
  78. (uri (git-reference
  79. (url "https://github.com/elementary/calculator")
  80. (commit version)))
  81. (file-name (git-file-name name version))
  82. (sha256
  83. (base32
  84. "1csxsr2c8qvl97xz9ahwn91z095nzgr0i1mbcb1spljll2sr9lkj"))))
  85. (build-system meson-build-system)
  86. (arguments
  87. `(#:glib-or-gtk? #t
  88. #:phases
  89. (modify-phases %standard-phases
  90. (add-after 'unpack 'disable-schema-cache-generation
  91. (lambda _
  92. (setenv "DESTDIR" "/")
  93. #t)))))
  94. (inputs
  95. `(("granite" ,granite)
  96. ("glib" ,glib)
  97. ("gtk" ,gtk+)
  98. ("libgee" ,libgee)))
  99. (native-inputs
  100. `(("cmake" ,cmake)
  101. ("glib:bin" ,glib "bin") ; for glib-compile-schemas
  102. ("gettext" ,gettext-minimal)
  103. ("pkg-config" ,pkg-config)
  104. ("vala" ,vala)))
  105. (home-page "https://github.com/elementary/calculator")
  106. (synopsis "Desktop calculator")
  107. (description "Calculator is an application for performing simple
  108. arithmetic. It is the default calculator application in the Pantheon
  109. desktop.")
  110. (license license:gpl3)))
  111. (define-public sideload
  112. (package
  113. (name "sideload")
  114. (version "1.1.1")
  115. (source
  116. (origin
  117. (method git-fetch)
  118. (uri (git-reference
  119. (url "https://github.com/elementary/sideload")
  120. (commit version)))
  121. (file-name (git-file-name name version))
  122. (sha256
  123. (base32
  124. "0mlc3nm2navzxm8k1rwpbw4w6mv30lmhqybm8jqxd4v8x7my73vq"))))
  125. (build-system meson-build-system)
  126. (arguments
  127. `(#:glib-or-gtk? #t
  128. #:configure-flags (list (string-append "-Dflatpak="
  129. (assoc-ref %build-inputs "flatpak")
  130. "/include"))
  131. #:phases
  132. (modify-phases %standard-phases
  133. (add-before 'install 'set-environment-variables
  134. (lambda _
  135. ;; Disable compiling schemas and updating desktop databases
  136. (setenv "DESTDIR" "/")
  137. #t))
  138. (add-after 'install 'install-symlinks
  139. (lambda* (#:key outputs #:allow-other-keys)
  140. (let* ((out (assoc-ref outputs "out"))
  141. (bin (string-append out "/bin/io.elementary.sideload"))
  142. (link (string-append out "/bin/sideload")))
  143. (symlink bin link)
  144. #t))))))
  145. (inputs
  146. `(("flatpak" ,flatpak)
  147. ("glib" ,glib)
  148. ("granite" ,granite)
  149. ("gtk" ,gtk+)
  150. ("hicolor-icon-theme" ,hicolor-icon-theme)
  151. ("libgee" ,libgee)
  152. ("libostree" ,libostree)
  153. ("libxml2" ,libxml2)))
  154. (propagated-inputs
  155. ;; Sideload needs these in the environment to fetch data securely from
  156. ;; Flatpak remotes.
  157. `(("gnupg" ,gnupg)
  158. ("gpgme" ,gpgme)))
  159. (native-inputs
  160. `(("gettext" ,gettext-minimal)
  161. ("glib:bin" ,glib "bin")
  162. ("gobject-introspection" ,gobject-introspection)
  163. ("pkg-config" ,pkg-config)
  164. ("vala" ,vala)))
  165. (home-page "https://github.com/elementary/sideload")
  166. (synopsis "Graphical application to side-load Flatpaks")
  167. (description "Sideload handles flatpakref files, like those you might find
  168. on Flathub or another third-party website providing a Flatpak app for
  169. download.")
  170. (license license:gpl3+)))