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> |
e5e06930 AE |
6 | ;;; |
7 | ;;; This file is part of GNU Guix. | |
8 | ;;; | |
9 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
10 | ;;; under the terms of the GNU General Public License as published by | |
11 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
12 | ;;; your option) any later version. | |
13 | ;;; | |
14 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
15 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | ;;; GNU General Public License for more details. | |
18 | ;;; | |
19 | ;;; You should have received a copy of the GNU General Public License | |
20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
21 | ||
22 | (define-module (gnu packages lxqt) | |
23 | #:use-module (guix download) | |
24 | #:use-module ((guix licenses) #:select (lgpl2.1+)) | |
25 | #:use-module (guix packages) | |
26 | #:use-module (guix utils) | |
27 | #:use-module (guix build-system cmake) | |
44a477e1 | 28 | #:use-module (gnu packages) |
6bb5a8a1 | 29 | #:use-module (gnu packages kde-frameworks) |
e5e06930 AE |
30 | #:use-module (gnu packages pkg-config) |
31 | #:use-module (gnu packages qt)) | |
32 | ||
33 | (define-public libqtxdg | |
34 | (package | |
35 | (name "libqtxdg") | |
6cef1b9b | 36 | (version "1.2.0") |
e5e06930 AE |
37 | (source |
38 | (origin | |
39 | (method url-fetch) | |
40 | (uri | |
3282442b EF |
41 | (string-append "https://github.com/lxde/libqtxdg/releases/" |
42 | "download/" version "/" name "-" version ".tar.xz")) | |
e5e06930 AE |
43 | (sha256 |
44 | (base32 | |
6cef1b9b | 45 | "1ncqs0lcll5nx69hxfg33m3jfkryjqrjhr2kdci0b8pyaqdv1jc8")))) |
e5e06930 AE |
46 | (build-system cmake-build-system) |
47 | (arguments | |
6cef1b9b AE |
48 | `(#:tests? #f ; test fails with message "Exception" |
49 | #:configure-flags '("-DBUILD_TESTS=ON"))) | |
e5e06930 AE |
50 | (native-inputs |
51 | `(("pkg-config" ,pkg-config))) | |
02559739 | 52 | (propagated-inputs |
aa450b2b | 53 | `(("qtbase" ,qtbase))) ; according to Qt5Xdg.pc |
e5e06930 AE |
54 | (home-page "https://github.com/lxde/libqtxdg") |
55 | (synopsis "Qt implementation of freedesktop.org xdg specifications") | |
56 | (description "Libqtxdg implements the freedesktop.org xdg specifications | |
57 | in Qt.") | |
58 | (license lgpl2.1+))) | |
6bb5a8a1 AE |
59 | |
60 | (define-public liblxqt | |
61 | (package | |
62 | (name "liblxqt") | |
63 | (version "0.9.0") | |
64 | (source | |
65 | (origin | |
66 | (method url-fetch) | |
67 | (uri | |
3282442b EF |
68 | (string-append "https://github.com/lxde/" name |
69 | "/archive/" version ".tar.gz")) | |
70 | (file-name (string-append name "-" version ".tar.gz")) | |
44a477e1 | 71 | (sha256 |
6bb5a8a1 | 72 | (base32 |
3282442b | 73 | "0mbl3qc0yfgfsndqrw8vg8k5irsy0pg2wrad8nwv0aphphd4n7rg")) |
fc1adab1 | 74 | (patches (search-patches "liblxqt-include.patch")))) |
6bb5a8a1 AE |
75 | (build-system cmake-build-system) |
76 | (arguments | |
77 | `(#:tests? #f)) | |
78 | (native-inputs `(("pkg-config" ,pkg-config))) | |
79 | (inputs | |
80 | `(("kwindowsystem" ,kwindowsystem) | |
5c733afd EF |
81 | ("libqtxdg" ,libqtxdg) |
82 | ("qtbase" ,qtbase) | |
83 | ("qttools" ,qttools) | |
84 | ("qtx11extras" ,qtx11extras))) | |
6bb5a8a1 AE |
85 | (home-page "http://lxqt.org/") |
86 | (synopsis "Core utility library for all LXQt components") | |
87 | (description "liblxqt provides the basic libraries shared by the | |
250ffe4d | 88 | components of the LXQt desktop environment.") |
6bb5a8a1 | 89 | (license lgpl2.1+))) |
cfa2e4ad AE |
90 | |
91 | ||
92 | (define-public lxqt-common | |
93 | (package | |
94 | (name "lxqt-common") | |
95 | (version "0.9.1") | |
96 | (source | |
97 | (origin | |
98 | (method url-fetch) | |
99 | (uri | |
3282442b EF |
100 | (string-append "https://github.com/lxde/" name |
101 | "/archive/" version ".tar.gz")) | |
102 | (file-name (string-append name "-" version ".tar.gz")) | |
cfa2e4ad AE |
103 | (sha256 |
104 | (base32 | |
3282442b | 105 | "1vd3zarvl44l3y6wn7kgxcd2f1bygsmk5bcfqwa3568cq3b57aw0")))) |
cfa2e4ad AE |
106 | (build-system cmake-build-system) |
107 | (arguments | |
108 | `(#:tests? #f ; no check target | |
109 | #:phases | |
110 | (modify-phases %standard-phases | |
111 | (add-before 'configure 'fix-installation-paths | |
112 | (lambda _ | |
113 | ;; The variable LXQT_ETC_XDG_DIR is set in | |
114 | ;; liblxqt-0.9.0/share/cmake/lxqt/lxqt-config.cmake | |
115 | ;; to the Qt5 installation directory, followed by "/etc/xdg". | |
116 | ;; We need to have it point to the current installation | |
117 | ;; directory instead. | |
118 | (substitute* '("config/CMakeLists.txt" | |
119 | "menu/CMakeLists.txt") | |
120 | (("\\$\\{LXQT_ETC_XDG_DIR\\}") | |
121 | "${CMAKE_INSTALL_PREFIX}/etc/xdg") | |
122 | ;; In the same file, LXQT_SHARE_DIR is set to the installation | |
123 | ;; directory of liblxqt, followed by "/share/lxqt". | |
124 | (("\\$\\{LXQT_SHARE_DIR\\}") | |
125 | "${CMAKE_INSTALL_PREFIX}/share/lxqt")) | |
126 | ;; Replace absolute directories. | |
127 | (substitute* "autostart/CMakeLists.txt" | |
128 | (("/etc/xdg") | |
129 | "${CMAKE_INSTALL_PREFIX}/etc/xdg")) | |
130 | (substitute* "xsession/CMakeLists.txt" | |
131 | (("/usr/share") | |
132 | "${CMAKE_INSTALL_PREFIX}/share"))))))) | |
133 | (inputs | |
134 | `(("kwindowsystem" ,kwindowsystem) | |
135 | ("liblxqt" ,liblxqt) | |
1ccb3192 EF |
136 | ("libqtxdg" ,libqtxdg) |
137 | ("qtbase" ,qtbase) | |
138 | ("qttools" ,qttools) | |
139 | ("qtx11extras" ,qtx11extras))) | |
cfa2e4ad AE |
140 | (home-page "http://lxqt.org/") |
141 | (synopsis "Common files for LXQt") | |
142 | (description "lxqt-common provides the desktop integration files | |
143 | (themes, icons, configuration files etc.) for the LXQt | |
144 | desktop environment.") | |
145 | (license lgpl2.1+))) | |
54033a4d AE |
146 | |
147 | (define-public lxqt-session | |
148 | (package | |
149 | (name "lxqt-session") | |
150 | (version "0.9.0") | |
151 | (source | |
152 | (origin | |
153 | (method url-fetch) | |
154 | (uri | |
3282442b EF |
155 | (string-append "https://github.com/lxde/" name |
156 | "/archive/" version ".tar.gz")) | |
157 | (file-name (string-append name "-" version ".tar.gz")) | |
54033a4d AE |
158 | (sha256 |
159 | (base32 | |
3282442b | 160 | "1sdwcfrfqkg7ibrsncs1skdap9n8wm4rg6n9d0fgdz2q4d45h75a")))) |
54033a4d | 161 | (build-system cmake-build-system) |
e099d2a6 | 162 | (native-inputs `(("pkg-config" ,pkg-config))) |
54033a4d AE |
163 | (inputs |
164 | `(("kwindowsystem" ,kwindowsystem) | |
165 | ("liblxqt" ,liblxqt) | |
e099d2a6 EF |
166 | ("libqtxdg" ,libqtxdg) |
167 | ("qtbase" ,qtbase) | |
168 | ("qttools" ,qttools) | |
169 | ("qtx11extras" ,qtx11extras))) | |
54033a4d AE |
170 | (arguments |
171 | `(#:tests? #f ; no check target | |
172 | #:phases | |
173 | (modify-phases %standard-phases | |
174 | (add-before 'configure 'fix-installation-paths | |
175 | (lambda _ | |
176 | ;; The variable LXQT_TRANSLATIONS_DIR is set in | |
177 | ;; liblxqt-0.9.0/share/cmake/lxqt/lxqt-config.cmake | |
178 | ;; to the liblxqt installation directory, followed by | |
179 | ;; "/share/lxqt/translations". | |
180 | ;; We need to have it point to the current installation | |
181 | ;; directory instead. | |
182 | (substitute* '("lxqt-session/CMakeLists.txt" | |
183 | "lxqt-config-session/CMakeLists.txt") | |
184 | (("\\$\\{LXQT_TRANSLATIONS_DIR\\}") | |
185 | "${CMAKE_INSTALL_PREFIX}/share/lxqt/translations"))))))) | |
186 | (home-page "http://lxqt.org/") | |
187 | (synopsis "Session manager for LXQt") | |
188 | (description "lxqt-session provides the standard session manager | |
189 | for the LXQt desktop environment.") | |
190 | (license lgpl2.1+))) |