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