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