Commit | Line | Data |
---|---|---|
e5e06930 AE |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | |
3 | ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> | |
b042bdc8 | 4 | ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> |
3282442b | 5 | ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> |
4a78fd46 | 6 | ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> |
e1345dec | 7 | ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> |
50401c2a | 8 | ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> |
e5e06930 AE |
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 | ||
25 | (define-module (gnu packages lxqt) | |
26 | #:use-module (guix download) | |
bf076d8b | 27 | #:use-module ((guix licenses)) |
e5e06930 AE |
28 | #:use-module (guix packages) |
29 | #:use-module (guix utils) | |
30 | #:use-module (guix build-system cmake) | |
bf076d8b | 31 | #:use-module (guix build-system gnu) |
44a477e1 | 32 | #:use-module (gnu packages) |
64fac507 | 33 | #:use-module (gnu packages documentation) |
70c488f8 | 34 | #:use-module (gnu packages freedesktop) |
b36524c1 | 35 | #:use-module (gnu packages glib) |
6bb5a8a1 | 36 | #:use-module (gnu packages kde-frameworks) |
70c488f8 | 37 | #:use-module (gnu packages linux) |
bf076d8b | 38 | #:use-module (gnu packages perl) |
e5e06930 | 39 | #:use-module (gnu packages pkg-config) |
9861bcd1 MP |
40 | #:use-module (gnu packages polkit) |
41 | #:use-module (gnu packages qt) | |
42 | #:use-module (gnu packages xorg)) | |
e5e06930 | 43 | |
64fac507 MP |
44 | (define-public libdbusmenu-qt |
45 | (package | |
46 | (name "libdbusmenu-qt") | |
47 | (version "0.9.3+16.04.20160218-0ubuntu1") | |
48 | (source | |
49 | (origin | |
50 | (method url-fetch) | |
51 | ;; Download from github rather than launchpad beacuse launchpad trunk | |
52 | ;; tarball hash is not deterministic. | |
53 | (uri (string-append "https://github.com/unity8-team/" name | |
54 | "/archive/" version ".tar.gz")) | |
55 | (sha256 | |
56 | (base32 "0abwyggnpg50sa9cxphscp5zdkv9nxqnlav55vj21df6q1h3jb5w")) | |
57 | (file-name (string-append name "-" version ".tar.gz")))) | |
58 | (build-system cmake-build-system) | |
59 | (arguments | |
60 | ;; XXX: Tests require a dbus session and some icons. | |
61 | '(#:tests? #f)) | |
62 | (native-inputs | |
63 | `(("doxygen" ,doxygen))) | |
64 | (inputs | |
65 | `(("qtbase" ,qtbase))) | |
66 | (home-page "https://launchpad.net/libdbusmenu-qt") | |
67 | (synopsis "Qt implementation of the DBusMenu spec") | |
68 | (description "This library provides a Qt implementation of the DBusMenu | |
69 | protocol. The DBusMenu protocol makes it possible for applications to export | |
70 | and import their menus over DBus.") | |
71 | (license lgpl2.1+))) | |
72 | ||
d58aefdf MP |
73 | (define-public liblxqt |
74 | (package | |
75 | (name "liblxqt") | |
76 | (version "0.13.0") | |
77 | (source | |
78 | (origin | |
79 | (method url-fetch) | |
80 | (uri (string-append | |
81 | "https://github.com/lxqt/" name "/releases/download/" | |
82 | version "/" name "-" version ".tar.xz")) | |
83 | (sha256 | |
84 | (base32 "0fba0nq5b9fvvmklcikcd4nwhzlp5d6k1q1f80r34kncdzfvj7dl")))) | |
85 | (build-system cmake-build-system) | |
86 | (arguments | |
87 | `(#:tests? #f ; no tests | |
88 | #:configure-flags | |
89 | ;; TODO: prefetch translations files from 'lxqt-l10n'. | |
90 | '("-DPULL_TRANSLATIONS=NO") | |
91 | #:phases | |
92 | (modify-phases %standard-phases | |
93 | (add-after 'unpack 'patch-source | |
94 | (lambda _ | |
95 | (substitute* "CMakeLists.txt" | |
96 | (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}") | |
97 | "DESTINATION \"${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")) | |
98 | #t))))) | |
99 | (inputs | |
100 | `(("kwindowsystem" ,kwindowsystem) | |
101 | ("libqtxdg" ,libqtxdg) | |
102 | ("libxscrnsaver" ,libxscrnsaver) | |
103 | ("polkit-qt" ,polkit-qt) | |
104 | ("qtsvg" ,qtsvg) | |
105 | ("qttools" ,qttools) | |
106 | ("qtx11extras" ,qtx11extras))) | |
107 | (native-inputs | |
108 | `(("lxqt-build-tools" ,lxqt-build-tools))) | |
109 | (home-page "https://lxqt.org/") | |
110 | (synopsis "Core utility library for all LXQt components") | |
111 | (description "liblxqt provides the basic libraries shared by the | |
112 | components of the LXQt desktop environment.") | |
113 | (license lgpl2.1+))) | |
114 | ||
e5e06930 AE |
115 | (define-public libqtxdg |
116 | (package | |
117 | (name "libqtxdg") | |
50401c2a | 118 | (version "3.2.0") |
e5e06930 AE |
119 | (source |
120 | (origin | |
121 | (method url-fetch) | |
50401c2a MP |
122 | (uri (string-append |
123 | "https://github.com/lxqt/" name "/releases/download/" | |
124 | version "/" name "-" version ".tar.xz")) | |
e5e06930 | 125 | (sha256 |
50401c2a | 126 | (base32 "0lq548pa69hfvnbj2ypba5ygm8n6v6g7bqqm8p5g538l1l3394cl")))) |
e5e06930 AE |
127 | (build-system cmake-build-system) |
128 | (arguments | |
50401c2a MP |
129 | `(#:configure-flags |
130 | `("-DBUILD_TESTS=ON" | |
131 | ,(string-append "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=" | |
132 | %output "/lib/qt5/plugins/iconengines")) | |
133 | #:phases | |
134 | (modify-phases %standard-phases | |
135 | (add-before 'check 'pre-check | |
136 | (lambda _ | |
137 | ;; Run the tests offscreen. | |
138 | (setenv "QT_QPA_PLATFORM" "offscreen") | |
139 | #t))))) | |
02559739 | 140 | (propagated-inputs |
50401c2a MP |
141 | ;; required by Qt5XdgIconLoader.pc |
142 | `(("qtbase" ,qtbase) | |
143 | ("qtsvg" ,qtsvg))) | |
144 | (home-page "https://github.com/lxqt/libqtxdg") | |
e5e06930 AE |
145 | (synopsis "Qt implementation of freedesktop.org xdg specifications") |
146 | (description "Libqtxdg implements the freedesktop.org xdg specifications | |
147 | in Qt.") | |
148 | (license lgpl2.1+))) | |
6bb5a8a1 | 149 | |
bf076d8b MP |
150 | (define-public libstatgrab |
151 | (package | |
152 | (name "libstatgrab") | |
153 | (version "0.91") | |
154 | (source | |
155 | (origin | |
156 | (method url-fetch) | |
157 | (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/" | |
158 | name "-" version ".tar.gz")) | |
159 | (sha256 | |
160 | (base32 "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83")))) | |
161 | (build-system gnu-build-system) | |
162 | (arguments | |
163 | '(#:configure-flags '("--enable-tests"))) | |
164 | (native-inputs | |
165 | ;; For testing. | |
166 | `(("perl" ,perl))) | |
167 | (home-page "https://www.i-scream.org/libstatgrab/") | |
168 | (synopsis "Provides access to statistics about the system") | |
169 | (description "libstatgrab is a library that provides cross platform access | |
170 | to statistics about the system on which it's run.") | |
171 | ;; Libraries are under LGPL2.1+, and programs under GPLv2+. | |
172 | (license gpl2+))) | |
173 | ||
d58aefdf | 174 | (define-public lxqt-build-tools |
6bb5a8a1 | 175 | (package |
d58aefdf MP |
176 | (name "lxqt-build-tools") |
177 | (version "0.5.0") | |
6bb5a8a1 AE |
178 | (source |
179 | (origin | |
180 | (method url-fetch) | |
d58aefdf MP |
181 | (uri (string-append "https://github.com/lxqt/" name "/releases/download/" |
182 | version "/" name "-" version ".tar.xz")) | |
44a477e1 | 183 | (sha256 |
d58aefdf | 184 | (base32 "13b5x26p6ycnwzlgg1cgvlc88wjrjmlb3snrrmzh0xgh9h6hhvd6")))) |
6bb5a8a1 AE |
185 | (build-system cmake-build-system) |
186 | (arguments | |
d58aefdf | 187 | `(#:tests? #f)) ; no tests |
9861bcd1 | 188 | (native-inputs |
d58aefdf MP |
189 | `(("pkg-config" ,pkg-config) |
190 | ("glib" ,glib))) | |
191 | (inputs | |
192 | `(("qtbase" ,qtbase))) | |
193 | (synopsis "LXQt Build tools") | |
194 | (description | |
195 | "Lxqt-build-tools is providing several tools needed to build LXQt | |
196 | itself as well as other components maintained by the LXQt project.") | |
197 | (home-page "https://lxqt.org") | |
6bb5a8a1 | 198 | (license lgpl2.1+))) |
cfa2e4ad | 199 | |
54033a4d AE |
200 | (define-public lxqt-session |
201 | (package | |
202 | (name "lxqt-session") | |
70c488f8 | 203 | (version "0.13.0") |
54033a4d AE |
204 | (source |
205 | (origin | |
206 | (method url-fetch) | |
70c488f8 MP |
207 | (uri (string-append "https://github.com/lxqt/" name "/releases/download/" |
208 | version "/" name "-" version ".tar.xz")) | |
54033a4d | 209 | (sha256 |
70c488f8 | 210 | (base32 "1aibppppmg46ybbajx2qc395l0yp9rqlp2am01fqjxadsf8vci5z")))) |
54033a4d | 211 | (build-system cmake-build-system) |
54033a4d | 212 | (inputs |
70c488f8 MP |
213 | `(("eudev" ,eudev) |
214 | ("kwindowsystem" ,kwindowsystem) | |
54033a4d | 215 | ("liblxqt" ,liblxqt) |
e099d2a6 EF |
216 | ("libqtxdg" ,libqtxdg) |
217 | ("qtbase" ,qtbase) | |
70c488f8 | 218 | ("qtsvg" ,qtsvg) |
e099d2a6 | 219 | ("qttools" ,qttools) |
70c488f8 MP |
220 | ("qtx11extras" ,qtx11extras) |
221 | ("xdg-user-dirs" ,xdg-user-dirs))) | |
222 | (native-inputs | |
223 | `(("pkg-config" ,pkg-config) | |
224 | ("lxqt-build-tools" ,lxqt-build-tools))) | |
54033a4d | 225 | (arguments |
70c488f8 MP |
226 | `(#:tests? #f |
227 | #:configure-flags | |
228 | `("-DPULL_TRANSLATIONS=NO") | |
54033a4d | 229 | #:phases |
70c488f8 MP |
230 | (modify-phases %standard-phases |
231 | (add-after 'unpack 'patch-source | |
54033a4d | 232 | (lambda _ |
70c488f8 MP |
233 | (substitute* '("autostart/CMakeLists.txt" |
234 | "config/CMakeLists.txt") | |
235 | (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}") | |
236 | "DESTINATION \"${CMAKE_INSTALL_PREFIX}/etc/xdg")) | |
237 | #t))))) | |
238 | (home-page "https://lxqt.org/") | |
54033a4d AE |
239 | (synopsis "Session manager for LXQt") |
240 | (description "lxqt-session provides the standard session manager | |
241 | for the LXQt desktop environment.") | |
242 | (license lgpl2.1+))) |