lxqt.scm 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405
  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. ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
  5. ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
  6. ;;; Copyright © 2017 Nikita <nikita@n0.is>
  7. ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
  8. ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
  9. ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
  10. ;;; Copyright © 2019, 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
  11. ;;; Copyright © 2020 Fakhri Sajadi <f.sajadi@pantherx.org>
  12. ;;; Copyright © 2020 André Batista <nandre@riseup.net>
  13. ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
  14. ;;;
  15. ;;; This file is part of GNU Guix.
  16. ;;;
  17. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  18. ;;; under the terms of the GNU General Public License as published by
  19. ;;; the Free Software Foundation; either version 3 of the License, or (at
  20. ;;; your option) any later version.
  21. ;;;
  22. ;;; GNU Guix is distributed in the hope that it will be useful, but
  23. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  24. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  25. ;;; GNU General Public License for more details.
  26. ;;;
  27. ;;; You should have received a copy of the GNU General Public License
  28. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  29. (define-module (gnu packages lxqt)
  30. #:use-module (guix download)
  31. #:use-module (guix git-download)
  32. #:use-module ((guix licenses) #:prefix license:)
  33. #:use-module (guix packages)
  34. #:use-module (guix utils)
  35. #:use-module (guix build-system cmake)
  36. #:use-module (guix build-system gnu)
  37. #:use-module (guix build-system trivial)
  38. #:use-module (gnu packages)
  39. #:use-module (gnu packages admin)
  40. #:use-module (gnu packages compression)
  41. #:use-module (gnu packages documentation)
  42. #:use-module (gnu packages compton)
  43. #:use-module (gnu packages fonts)
  44. #:use-module (gnu packages freedesktop)
  45. #:use-module (gnu packages glib)
  46. #:use-module (gnu packages gnome)
  47. #:use-module (gnu packages gtk)
  48. #:use-module (gnu packages image)
  49. #:use-module (gnu packages kde-frameworks)
  50. #:use-module (gnu packages kde-plasma)
  51. #:use-module (gnu packages linux)
  52. #:use-module (gnu packages perl)
  53. #:use-module (gnu packages lxde)
  54. #:use-module (gnu packages maths)
  55. #:use-module (gnu packages openbox)
  56. #:use-module (gnu packages pcre)
  57. #:use-module (gnu packages photo)
  58. #:use-module (gnu packages pkg-config)
  59. #:use-module (gnu packages polkit)
  60. #:use-module (gnu packages pulseaudio)
  61. #:use-module (gnu packages qt)
  62. #:use-module (gnu packages textutils)
  63. #:use-module (gnu packages xdisorg)
  64. #:use-module (gnu packages xml)
  65. #:use-module (gnu packages xorg))
  66. ;; Third party libraries
  67. (define-public libstatgrab
  68. (package
  69. (name "libstatgrab")
  70. (version "0.92")
  71. (source
  72. (origin
  73. (method url-fetch)
  74. (uri (string-append "https://ftp.i-scream.org/pub/i-scream/libstatgrab/"
  75. name "-" version ".tar.gz"))
  76. (sha256
  77. (base32 "15m1sl990l85ijf8pnc6hdfha6fqyiq74mijrzm3xz4zzxm91wav"))))
  78. (build-system gnu-build-system)
  79. (arguments
  80. '(#:configure-flags '("--enable-tests")))
  81. (native-inputs
  82. ;; For testing.
  83. `(("perl" ,perl)))
  84. (home-page "https://www.i-scream.org/libstatgrab/")
  85. (synopsis "Provides access to statistics about the system")
  86. (description "libstatgrab is a library that provides cross platform access
  87. to statistics about the system on which it's run.")
  88. ;; Libraries are under LGPL2.1+, and programs under GPLv2+.
  89. (license license:gpl2+)))
  90. ;; Base
  91. (define-public lxqt-build-tools
  92. (package
  93. (name "lxqt-build-tools")
  94. (version "0.9.0")
  95. (source
  96. (origin
  97. (method url-fetch)
  98. (uri (string-append "https://github.com/lxqt/lxqt-build-tools/releases"
  99. "/download/" version
  100. "/lxqt-build-tools-" version ".tar.xz"))
  101. (sha256
  102. (base32 "0kayad5l72h8n90zkf3hy8fxy72n4b1mrkjglpa9dj0cdj6qg0lp"))))
  103. (build-system cmake-build-system)
  104. (arguments
  105. `(#:tests? #f ; no tests
  106. #:configure-flags
  107. ;; 'startlxqt' will add LXQT_DATA_DIR to XDG_DATA_DIRS,
  108. ;; LXQT_ETC_XDG_DIR to XDG_CONFIG_DIRS, and 'lxqt-about' will report
  109. ;; LXQT_ETC_XDG_DIR in its "Technical Info".
  110. '("-DLXQT_DATA_DIR=/run/current-system/profile/share"
  111. "-DLXQT_ETC_XDG_DIR=/run/current-system/profile/etc/xdg")))
  112. (native-inputs
  113. `(("pkg-config" ,pkg-config)
  114. ("glib" ,glib)))
  115. (inputs
  116. `(("qtbase" ,qtbase-5)))
  117. (propagated-inputs
  118. ;; Dependent projects require Perl via the CMake files.
  119. `(("perl" ,perl)))
  120. (synopsis "LXQt Build tools")
  121. (description
  122. "Lxqt-build-tools is providing several tools needed to build LXQt
  123. itself as well as other components maintained by the LXQt project.")
  124. (home-page "https://lxqt-project.org")
  125. (license license:lgpl2.1+)))
  126. (define-public libqtxdg
  127. (package
  128. (name "libqtxdg")
  129. (version "3.7.1")
  130. (source
  131. (origin
  132. (method url-fetch)
  133. (uri (string-append
  134. "https://github.com/lxqt/libqtxdg/releases/download/"
  135. version "/libqtxdg-" version ".tar.xz"))
  136. (sha256
  137. (base32 "16wav2b948c837cpbvdr6hs1zifwrpdk3yjvbzzp2l1hndvbwz27"))))
  138. (build-system cmake-build-system)
  139. (arguments
  140. '(#:configure-flags
  141. '("-DBUILD_TESTS=ON"
  142. "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=lib/qt5/plugins/iconengines")
  143. #:phases
  144. (modify-phases %standard-phases
  145. (add-before 'check 'pre-check
  146. (lambda _
  147. ;; Run the tests offscreen.
  148. (setenv "QT_QPA_PLATFORM" "offscreen")
  149. #t)))))
  150. (propagated-inputs
  151. ;; required by Qt5XdgIconLoader.pc
  152. `(("glib" ,glib)
  153. ("qtbase" ,qtbase-5)
  154. ("qtsvg" ,qtsvg)))
  155. (native-inputs
  156. `(("lxqt-build-tools" ,lxqt-build-tools)
  157. ("pkg-config" ,pkg-config)))
  158. (home-page "https://github.com/lxqt/libqtxdg")
  159. (synopsis "Qt implementation of freedesktop.org xdg specifications")
  160. (description "Libqtxdg implements the freedesktop.org xdg specifications
  161. in Qt.")
  162. (license license:lgpl2.1+)))
  163. (define-public liblxqt
  164. (package
  165. (name "liblxqt")
  166. (version "0.17.0")
  167. (source
  168. (origin
  169. (method url-fetch)
  170. (uri (string-append
  171. "https://github.com/lxqt/" name "/releases/download/"
  172. version "/" name "-" version ".tar.xz"))
  173. (sha256
  174. (base32 "0ay3j6zdgffw3mzaq3wdq96la7fnn2dw52ij6987slv31563nknl"))))
  175. (build-system cmake-build-system)
  176. (arguments
  177. `(#:tests? #f ; no tests
  178. #:phases
  179. (modify-phases %standard-phases
  180. (add-after 'unpack 'patch-source
  181. (lambda _
  182. (substitute* "CMakeLists.txt"
  183. (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
  184. "DESTINATION \"share/polkit-1/actions"))
  185. #t))
  186. (add-after 'unpack 'patch-translations-dir
  187. (lambda* (#:key outputs #:allow-other-keys)
  188. (substitute* "CMakeLists.txt"
  189. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  190. (string-append (assoc-ref outputs "out")
  191. "/share/lxqt/translations")))
  192. #t)))))
  193. (inputs
  194. `(("kwindowsystem" ,kwindowsystem)
  195. ("libqtxdg" ,libqtxdg)
  196. ("libxscrnsaver" ,libxscrnsaver)
  197. ("polkit-qt" ,polkit-qt)
  198. ("qtsvg" ,qtsvg)
  199. ("qtx11extras" ,qtx11extras)))
  200. (native-inputs
  201. `(("lxqt-build-tools" ,lxqt-build-tools)
  202. ("qttools" ,qttools)))
  203. (home-page "https://lxqt-project.org")
  204. (synopsis "Core utility library for all LXQt components")
  205. (description "liblxqt provides the basic libraries shared by the
  206. components of the LXQt desktop environment.")
  207. (license license:lgpl2.1+)))
  208. (define-public libsysstat
  209. (package
  210. (name "libsysstat")
  211. (version "0.4.5")
  212. (source
  213. (origin
  214. (method url-fetch)
  215. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  216. version "/" name "-" version ".tar.xz"))
  217. (sha256
  218. (base32 "1ljy5ggvqvpm3k6kfy03dn47ygr9lzi8hmqws4dcqfc9sx86b6zi"))))
  219. (build-system cmake-build-system)
  220. (arguments '(#:tests? #f)) ; no tests
  221. (inputs
  222. `(("qtbase" ,qtbase-5)))
  223. (native-inputs
  224. `(("lxqt-build-tools" ,lxqt-build-tools)))
  225. (home-page "https://lxqt-project.org")
  226. (synopsis "Library used to query system info and statistics")
  227. (description "libsysstat is a library to query system information like CPU
  228. and memory usage or network traffic.")
  229. (license license:lgpl2.1+)))
  230. ;; Core
  231. (define-public lxqt-about
  232. (package
  233. (name "lxqt-about")
  234. (version "0.17.0")
  235. (source
  236. (origin
  237. (method url-fetch)
  238. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  239. version "/" name "-" version ".tar.xz"))
  240. (sha256
  241. (base32 "04riqf2xgbcnq67l5zb0dfnnmc4a2zljx8zfn3jlvxirnd73l0zm"))))
  242. (build-system cmake-build-system)
  243. (inputs
  244. `(("kwindowsystem" ,kwindowsystem)
  245. ("liblxqt" ,liblxqt)
  246. ("libqtxdg" ,libqtxdg)
  247. ("qtbase" ,qtbase-5)
  248. ("qtsvg" ,qtsvg)
  249. ("qtx11extras" ,qtx11extras)))
  250. (native-inputs
  251. `(("lxqt-build-tools" ,lxqt-build-tools)
  252. ("qttools" ,qttools)))
  253. (arguments
  254. '(#:tests? #f ; no tests
  255. #:phases
  256. (modify-phases %standard-phases
  257. (add-before 'build 'setenv
  258. (lambda _
  259. (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
  260. #t))
  261. (add-after 'unpack 'patch-translations-dir
  262. (lambda* (#:key outputs #:allow-other-keys)
  263. (substitute* "CMakeLists.txt"
  264. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  265. (string-append (assoc-ref outputs "out")
  266. "/share/lxqt/translations")))
  267. #t)))))
  268. (home-page "https://lxqt-project.org")
  269. (synopsis "Provides information about LXQt and the system")
  270. (description "lxqt-about is a dialogue window providing information about
  271. LXQt and the system it's running on.")
  272. (license license:lgpl2.1+)))
  273. (define-public lxqt-admin
  274. (package
  275. (name "lxqt-admin")
  276. (version "0.17.0")
  277. (source
  278. (origin
  279. (method url-fetch)
  280. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  281. version "/" name "-" version ".tar.xz"))
  282. (sha256
  283. (base32 "07fkn3zmpfxjzzsv1hyv50sx0359n10lxjil35qn266nz165wj43"))))
  284. (build-system cmake-build-system)
  285. (inputs
  286. `(("kwindowsystem" ,kwindowsystem)
  287. ("liblxqt" ,liblxqt)
  288. ("libqtxdg" ,libqtxdg)
  289. ("polkit-qt" ,polkit-qt)
  290. ("qtsvg" ,qtsvg)
  291. ("qtx11extras" ,qtx11extras)))
  292. (native-inputs
  293. `(("lxqt-build-tools" ,lxqt-build-tools)
  294. ("qttools" ,qttools)))
  295. (arguments
  296. '(#:tests? #f ; no tests
  297. #:phases
  298. (modify-phases %standard-phases
  299. (add-after 'unpack 'patch-source
  300. (lambda _
  301. (substitute* '("lxqt-admin-user/CMakeLists.txt"
  302. "lxqt-admin-time/CMakeLists.txt")
  303. (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
  304. "DESTINATION \"share/polkit-1/actions"))
  305. #t))
  306. (add-after 'unpack 'patch-translations-dir
  307. (lambda* (#:key outputs #:allow-other-keys)
  308. (substitute* '("lxqt-admin-time/CMakeLists.txt"
  309. "lxqt-admin-user/CMakeLists.txt")
  310. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  311. (string-append (assoc-ref outputs "out")
  312. "/share/lxqt/translations")))
  313. #t)))))
  314. (home-page "https://lxqt-project.org")
  315. (synopsis "LXQt system administration tool")
  316. (description "lxqt-admin is providing two GUI tools to adjust settings of
  317. the operating system LXQt is running on.")
  318. (license license:lgpl2.1+)))
  319. (define-public lxqt-config
  320. (package
  321. (name "lxqt-config")
  322. (version "0.17.1")
  323. (source
  324. (origin
  325. (method url-fetch)
  326. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  327. version "/" name "-" version ".tar.xz"))
  328. (sha256
  329. (base32 "0nr43d6fyc5zg4b3iwpca2cy58ry8q0rahrk6ixm7wrvmaiwkh93"))))
  330. (build-system cmake-build-system)
  331. (inputs
  332. `(("eudev" ,eudev)
  333. ("kwindowsystem" ,kwindowsystem)
  334. ("liblxqt" ,liblxqt)
  335. ("libqtxdg" ,libqtxdg)
  336. ("libxcursor" ,libxcursor)
  337. ("libxi" ,libxi)
  338. ("qtbase" ,qtbase-5)
  339. ("qtsvg" ,qtsvg)
  340. ("qtx11extras" ,qtx11extras)
  341. ("solid" ,solid)
  342. ("xf86-input-libinput" ,xf86-input-libinput)
  343. ("xkeyboard-config" ,xkeyboard-config)
  344. ("zlib" ,zlib)))
  345. (native-inputs
  346. `(("pkg-config" ,pkg-config)
  347. ("lxqt-build-tools" ,lxqt-build-tools)
  348. ("qttools" ,qttools)))
  349. ;; XXX: This is a workaround so libkscreen can find the backends as we
  350. ;; dont have a way specify them. We may want to patch like Nix does.
  351. (propagated-inputs
  352. `(("libkscreen" ,libkscreen)))
  353. (arguments
  354. '(#:tests? #f ; no tests
  355. #:phases
  356. (modify-phases %standard-phases
  357. (add-after 'unpack 'patch-source
  358. (lambda _
  359. (substitute* '("src/CMakeLists.txt")
  360. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  361. "DESTINATION \"etc/xdg"))
  362. #t))
  363. (add-after 'unpack 'set-xkeyboard-config-file-name
  364. (lambda* (#:key inputs #:allow-other-keys)
  365. ;; Set the file name to xkeyboard-config.
  366. (let ((xkb (assoc-ref inputs "xkeyboard-config")))
  367. (substitute* "lxqt-config-input/keyboardlayoutconfig.h"
  368. (("/usr/share/X11/xkb/rules/base.lst")
  369. (string-append xkb "/share/X11/xkb/rules/base.lst")))
  370. #t)))
  371. (add-after 'unpack 'patch-translations-dir
  372. (lambda* (#:key outputs #:allow-other-keys)
  373. (substitute* '("lxqt-config-file-associations/CMakeLists.txt"
  374. "lxqt-config-brightness/CMakeLists.txt"
  375. "lxqt-config-appearance/CMakeLists.txt"
  376. "lxqt-config-locale/CMakeLists.txt"
  377. "lxqt-config-monitor/CMakeLists.txt"
  378. "lxqt-config-input/CMakeLists.txt"
  379. "liblxqt-config-cursor/CMakeLists.txt"
  380. "src/CMakeLists.txt")
  381. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  382. (string-append (assoc-ref outputs "out")
  383. "/share/lxqt/translations")))
  384. #t)))))
  385. (home-page "https://lxqt-project.org")
  386. (synopsis "Tools to configure LXQt and the underlying operating system")
  387. (description "lxqt-config is providing several tools involved in the
  388. configuration of both LXQt and the underlying operating system.")
  389. (license license:lgpl2.1+)))
  390. (define-public lxqt-globalkeys
  391. (package
  392. (name "lxqt-globalkeys")
  393. (version "0.17.0")
  394. (source
  395. (origin
  396. (method url-fetch)
  397. (uri (string-append "https://github.com/lxqt/lxqt-globalkeys/"
  398. "releases/download/" version "/"
  399. "lxqt-globalkeys-" version ".tar.xz"))
  400. (sha256
  401. (base32 "0pnyqiqhaawrnyvw3ljp850d911abaalnl4rgvl2xyzybvlhki4h"))))
  402. (build-system cmake-build-system)
  403. (inputs
  404. `(("kwindowsystem" ,kwindowsystem)
  405. ("liblxqt" ,liblxqt)
  406. ("libqtxdg" ,libqtxdg)
  407. ("qtbase" ,qtbase-5)
  408. ("qtsvg" ,qtsvg)
  409. ("qtx11extras" ,qtx11extras)))
  410. (native-inputs
  411. `(("pkg-config" ,pkg-config)
  412. ("qttools" ,qttools)
  413. ("lxqt-build-tools" ,lxqt-build-tools)))
  414. (arguments
  415. '(#:tests? #f ; no tests
  416. #:phases
  417. (modify-phases %standard-phases
  418. (add-after 'unpack 'patch-source
  419. (lambda _
  420. (substitute* '("autostart/CMakeLists.txt"
  421. "xdg/CMakeLists.txt")
  422. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  423. "DESTINATION \"etc/xdg"))
  424. #t))
  425. (add-after 'unpack 'patch-translations-dir
  426. (lambda* (#:key outputs #:allow-other-keys)
  427. (substitute* "config/CMakeLists.txt"
  428. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  429. (string-append (assoc-ref outputs "out")
  430. "/share/lxqt/translations")))
  431. #t)))))
  432. (home-page "https://lxqt-project.org")
  433. (synopsis "Daemon used to register global keyboard shortcuts")
  434. (description "lxqt-globalkeys is providing tools to set global keyboard
  435. shortcuts in LXQt sessions, that is shortcuts which apply to the LXQt session
  436. as a whole and are not limited to distinct applications.")
  437. (license license:lgpl2.1+)))
  438. (define-public lxqt-notificationd
  439. (package
  440. (name "lxqt-notificationd")
  441. (version "0.17.0")
  442. (source
  443. (origin
  444. (method url-fetch)
  445. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  446. version "/" name "-" version ".tar.xz"))
  447. (sha256
  448. (base32 "1dyal7brmfnydfgb6lpxnqww8fj5gzixs7s3wf5nn2ihsz1wm4nk"))))
  449. (build-system cmake-build-system)
  450. (inputs
  451. `(("kwindowsystem" ,kwindowsystem)
  452. ("liblxqt" ,liblxqt)
  453. ("libqtxdg" ,libqtxdg)
  454. ("qtbase" ,qtbase-5)
  455. ("qtsvg" ,qtsvg)
  456. ("qtx11extras" ,qtx11extras)))
  457. (native-inputs
  458. `(("lxqt-build-tools" ,lxqt-build-tools)
  459. ("qttools" ,qttools)))
  460. (arguments
  461. '(#:tests? #f ; no test target
  462. #:phases
  463. (modify-phases %standard-phases
  464. (add-after 'unpack 'patch-source
  465. (lambda _
  466. (substitute* '("autostart/CMakeLists.txt")
  467. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  468. "DESTINATION \"etc/xdg"))
  469. #t))
  470. (add-after 'unpack 'patch-translations-dir
  471. (lambda* (#:key outputs #:allow-other-keys)
  472. (substitute* '("config/CMakeLists.txt"
  473. "src/CMakeLists.txt")
  474. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  475. (string-append (assoc-ref outputs "out")
  476. "/share/lxqt/translations")))
  477. #t)))))
  478. (home-page "https://lxqt-project.org")
  479. (synopsis "The LXQt notification daemon")
  480. (description "lxqt-notificationd is LXQt's implementation of a daemon
  481. according to the Desktop Notifications Specification.")
  482. (license license:lgpl2.1+)))
  483. (define-public lxqt-openssh-askpass
  484. (package
  485. (name "lxqt-openssh-askpass")
  486. (version "0.17.0")
  487. (source
  488. (origin
  489. (method url-fetch)
  490. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  491. version "/" name "-" version ".tar.xz"))
  492. (sha256
  493. (base32 "0gdcy8c21sbfrlfz9c3zqw4dvdwf309flkjgqanwwl9i8hr26chr"))))
  494. (build-system cmake-build-system)
  495. (inputs
  496. `(("kwindowsystem" ,kwindowsystem)
  497. ("liblxqt" ,liblxqt)
  498. ("libqtxdg" ,libqtxdg)
  499. ("qtbase" ,qtbase-5)
  500. ("qtsvg" ,qtsvg)
  501. ("qtx11extras" ,qtx11extras)))
  502. (native-inputs
  503. `(("lxqt-build-tools" ,lxqt-build-tools)
  504. ("qttools" ,qttools)))
  505. (arguments
  506. '(#:tests? #f ; no tests
  507. #:phases
  508. (modify-phases %standard-phases
  509. (add-after 'unpack 'patch-translations-dir
  510. (lambda* (#:key outputs #:allow-other-keys)
  511. (substitute* "CMakeLists.txt"
  512. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  513. (string-append (assoc-ref outputs "out")
  514. "/share/lxqt/translations")))
  515. #t)))))
  516. (home-page "https://lxqt-project.org")
  517. (synopsis "GUI to query passwords on behalf of SSH agents")
  518. (description "lxqt-openssh-askpass is a GUI to query credentials on behalf
  519. of other programs.")
  520. (license license:lgpl2.1+)))
  521. (define-public lxqt-panel
  522. (package
  523. (name "lxqt-panel")
  524. (version "0.17.1")
  525. (source
  526. (origin
  527. (method url-fetch)
  528. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  529. version "/" name "-" version ".tar.xz"))
  530. (sha256
  531. (base32 "1k2cfs1mhad486kh93vbxma3jpjksp4hzjv1xmp1g5alb5dgnc0q"))))
  532. (build-system cmake-build-system)
  533. (inputs
  534. `(("alsa-lib" ,alsa-lib)
  535. ("kguiaddons" ,kguiaddons)
  536. ("libdbusmenu-qt" ,libdbusmenu-qt)
  537. ("liblxqt" ,liblxqt)
  538. ("libqtxdg" ,libqtxdg)
  539. ("libstatgrab" ,libstatgrab)
  540. ("libsysstat" ,libsysstat)
  541. ("libxcomposite" ,libxcomposite)
  542. ("libxdamage" ,libxdamage)
  543. ("libxkbcommon" ,libxkbcommon)
  544. ("libxrender" ,libxrender)
  545. ("lm-sensors" ,lm-sensors "lib")
  546. ("lxqt-globalkeys" ,lxqt-globalkeys)
  547. ("pcre" ,pcre)
  548. ("pulseaudio" ,pulseaudio)
  549. ("qtbase" ,qtbase-5)
  550. ("qtsvg" ,qtsvg)
  551. ("qtx11extras" ,qtx11extras)
  552. ("solid" ,solid)
  553. ("xcb-util" ,xcb-util)
  554. ("xkeyboard-config" ,xkeyboard-config)))
  555. (native-inputs
  556. `(("pkg-config" ,pkg-config)
  557. ("lxqt-build-tools" ,lxqt-build-tools)
  558. ("qttools" ,qttools)))
  559. (propagated-inputs
  560. ;; Propagating KWINDOWSYSTEM so that the list of opened applications
  561. ;; shows up in lxqt-panel's taskbar plugin.
  562. `(("kwindowsystem" ,kwindowsystem)
  563. ("lxmenu-data" ,lxmenu-data)))
  564. (arguments
  565. '(#:tests? #f ; no tests
  566. #:phases
  567. (modify-phases %standard-phases
  568. (add-after 'unpack 'patch-source
  569. (lambda _
  570. (substitute* '("autostart/CMakeLists.txt"
  571. "menu/CMakeLists.txt")
  572. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  573. "DESTINATION \"etc/xdg"))
  574. #t))
  575. (add-after 'unpack 'patch-translations-dir
  576. (lambda* (#:key outputs #:allow-other-keys)
  577. (substitute* '("cmake/BuildPlugin.cmake"
  578. "panel/CMakeLists.txt")
  579. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  580. (string-append (assoc-ref outputs "out")
  581. "/share/lxqt/translations")))
  582. #t))
  583. (add-after 'unpack 'set-xkeyboard-config-file-path
  584. (lambda* (#:key inputs #:allow-other-keys)
  585. ;; Set the path to xkeyboard-config.
  586. (let ((xkb (assoc-ref inputs "xkeyboard-config")))
  587. (substitute* "plugin-kbindicator/src/x11/kbdlayout.cpp"
  588. (("/usr/share/X11/xkb/rules/evdev.xml")
  589. (string-append xkb "/share/X11/xkb/rules/evdev.xml")))
  590. #t))))))
  591. (home-page "https://lxqt-project.org")
  592. (synopsis "The LXQt desktop panel")
  593. (description "lxqt-panel represents the taskbar of LXQt.")
  594. (license license:lgpl2.1+)))
  595. (define-public lxqt-policykit
  596. (package
  597. (name "lxqt-policykit")
  598. (version "0.17.0")
  599. (source
  600. (origin
  601. (method url-fetch)
  602. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  603. version "/" name "-" version ".tar.xz"))
  604. (sha256
  605. (base32 "119bjhx208g7wxmr8r0ajb3wl6vagq1aks6zz07df4bgjs3nnpli"))))
  606. (build-system cmake-build-system)
  607. (inputs
  608. `(("kwindowsystem" ,kwindowsystem)
  609. ("liblxqt" ,liblxqt)
  610. ("libqtxdg" ,libqtxdg)
  611. ("pcre" ,pcre)
  612. ("polkit-qt" ,polkit-qt)
  613. ("qtbase" ,qtbase-5)
  614. ("qtsvg" ,qtsvg)
  615. ("qtx11extras" ,qtx11extras)))
  616. (native-inputs
  617. `(("pkg-config" ,pkg-config)
  618. ("polkit" ,polkit)
  619. ("lxqt-build-tools" ,lxqt-build-tools)
  620. ("qttools" ,qttools)))
  621. (arguments
  622. '(#:tests? #f ; no test target
  623. #:phases
  624. (modify-phases %standard-phases
  625. (add-after 'unpack 'patch-source
  626. (lambda _
  627. (substitute* '("autostart/CMakeLists.txt")
  628. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  629. "DESTINATION \"etc/xdg"))
  630. #t))
  631. (add-after 'unpack 'patch-translations-dir
  632. (lambda* (#:key outputs #:allow-other-keys)
  633. (substitute* "CMakeLists.txt"
  634. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  635. (string-append (assoc-ref outputs "out")
  636. "/share/lxqt/translations")))
  637. #t)))))
  638. (home-page "https://lxqt-project.org")
  639. (synopsis "The LXQt PolicyKit agent")
  640. (description "lxqt-policykit is the polkit authentication agent of
  641. LXQt.")
  642. (license license:lgpl2.1+)))
  643. (define-public lxqt-powermanagement
  644. (package
  645. (name "lxqt-powermanagement")
  646. (version "0.17.1")
  647. (source
  648. (origin
  649. (method url-fetch)
  650. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  651. version "/" name "-" version ".tar.xz"))
  652. (sha256
  653. (base32 "00njx8a8cs0zzpz798qc9j16k7i4y0ydy1xmmcq9yv0wawh4gqck"))))
  654. (build-system cmake-build-system)
  655. (inputs
  656. `(("kidletime" ,kidletime)
  657. ("kwindowsystem" ,kwindowsystem)
  658. ("liblxqt" ,liblxqt)
  659. ("libqtxdg" ,libqtxdg)
  660. ("lxqt-globalkeys" ,lxqt-globalkeys)
  661. ("qtbase" ,qtbase-5)
  662. ("qtsvg" ,qtsvg)
  663. ("qtx11extras" ,qtx11extras)
  664. ("solid" ,solid)))
  665. (native-inputs
  666. `(("lxqt-build-tools" ,lxqt-build-tools)
  667. ("qttools" ,qttools)))
  668. (arguments
  669. '(#:tests? #f ; no tests
  670. #:phases
  671. (modify-phases %standard-phases
  672. (add-after 'unpack 'patch-source
  673. (lambda _
  674. (substitute* '("autostart/CMakeLists.txt")
  675. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  676. "DESTINATION \"etc/xdg"))
  677. #t))
  678. (add-after 'unpack 'patch-translations-dir
  679. (lambda* (#:key outputs #:allow-other-keys)
  680. (substitute* '("config/CMakeLists.txt"
  681. "src/CMakeLists.txt")
  682. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  683. (string-append (assoc-ref outputs "out")
  684. "/share/lxqt/translations")))
  685. #t)))))
  686. (home-page "https://lxqt-project.org")
  687. (synopsis "Power management module for LXQt")
  688. (description "lxqt-powermanagement is providing tools to monitor power
  689. management events and optionally trigger actions like e. g. shut down a system
  690. when laptop batteries are low on power.")
  691. (license license:lgpl2.1+)))
  692. (define-public lxqt-qtplugin
  693. (package
  694. (name "lxqt-qtplugin")
  695. (version "0.17.0")
  696. (source
  697. (origin
  698. (method url-fetch)
  699. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  700. version "/" name "-" version ".tar.xz"))
  701. (sha256
  702. (base32 "14c6abxfg3vda333wrvb5lk45c45hnb66jclbs3vsmrjxdb13vv5"))))
  703. (build-system cmake-build-system)
  704. (inputs
  705. `(("libdbusmenu-qt" ,libdbusmenu-qt)
  706. ("libfm-qt" ,libfm-qt)
  707. ("libqtxdg" ,libqtxdg)
  708. ("qtbase" ,qtbase-5)
  709. ("qtsvg" ,qtsvg)
  710. ("qtx11extras" ,qtx11extras)))
  711. (native-inputs
  712. `(("lxqt-build-tools" ,lxqt-build-tools)
  713. ("qttools" ,qttools)))
  714. (arguments
  715. '(#:tests? #f ; no tests
  716. #:phases
  717. (modify-phases %standard-phases
  718. (add-after 'unpack 'patch-source
  719. (lambda _
  720. (substitute* '("src/CMakeLists.txt")
  721. (("DESTINATION \"\\$\\{QT_PLUGINS_DIR\\}")
  722. "DESTINATION \"lib/qt5/plugins"))
  723. #t)))))
  724. (home-page "https://lxqt-project.org")
  725. (synopsis "LXQt Qt platform integration plugin")
  726. (description "lxqt-qtplugin is providing a library libqtlxqt to integrate
  727. Qt with LXQt.")
  728. (license license:lgpl2.1+)))
  729. (define-public lxqt-runner
  730. (package
  731. (name "lxqt-runner")
  732. (version "0.17.0")
  733. (source
  734. (origin
  735. (method url-fetch)
  736. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  737. version "/" name "-" version ".tar.xz"))
  738. (sha256
  739. (base32 "0n53jbvkmp4vgi21a720gsvi407m4ybqk8xrpnm5f48yjr88r9i4"))))
  740. (build-system cmake-build-system)
  741. (inputs
  742. `(("kwindowsystem" ,kwindowsystem)
  743. ("liblxqt" ,liblxqt)
  744. ("libqtxdg" ,libqtxdg)
  745. ("lxqt-globalkeys" ,lxqt-globalkeys)
  746. ("muparser" ,muparser)
  747. ("pcre" ,pcre)
  748. ("qtbase" ,qtbase-5)
  749. ("qtsvg" ,qtsvg)
  750. ("qtx11extras" ,qtx11extras)))
  751. (native-inputs
  752. `(("pkg-config" ,pkg-config)
  753. ("qttools" ,qttools)
  754. ("lxqt-build-tools" ,lxqt-build-tools)))
  755. (arguments
  756. '(#:tests? #f ; no tests
  757. #:phases
  758. (modify-phases %standard-phases
  759. (add-after 'unpack 'patch-source
  760. (lambda _
  761. (substitute* '("autostart/CMakeLists.txt")
  762. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  763. "DESTINATION \"etc/xdg"))
  764. #t))
  765. (add-after 'unpack 'patch-translations-dir
  766. (lambda* (#:key outputs #:allow-other-keys)
  767. (substitute* "CMakeLists.txt"
  768. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  769. (string-append (assoc-ref outputs "out")
  770. "/share/lxqt/translations")))
  771. #t)))))
  772. (home-page "https://lxqt-project.org")
  773. (synopsis "Tool used to launch programs quickly by typing their names")
  774. (description "lxqt-runner provides a GUI that comes up on the desktop and
  775. allows for launching applications or shutting down the system.")
  776. (license license:lgpl2.1+)))
  777. (define-public lxqt-session
  778. (package
  779. (name "lxqt-session")
  780. (version "0.17.1")
  781. (source
  782. (origin
  783. (method url-fetch)
  784. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  785. version "/" name "-" version ".tar.xz"))
  786. (sha256
  787. (base32 "0iwwfyngpbhs2dwvbw0cci0bf3qbqcpjjw7h5vm46nimvgp8q1fr"))))
  788. (build-system cmake-build-system)
  789. (inputs
  790. `(("eudev" ,eudev)
  791. ("kwindowsystem" ,kwindowsystem)
  792. ("liblxqt" ,liblxqt)
  793. ("libqtxdg" ,libqtxdg)
  794. ("procps" ,procps)
  795. ("qtbase" ,qtbase-5)
  796. ("qtsvg" ,qtsvg)
  797. ("qtx11extras" ,qtx11extras)
  798. ("xdg-user-dirs" ,xdg-user-dirs)))
  799. (native-inputs
  800. `(("pkg-config" ,pkg-config)
  801. ("lxqt-build-tools" ,lxqt-build-tools)
  802. ("qttools" ,qttools)))
  803. (arguments
  804. `(#:tests? #f
  805. #:phases
  806. (modify-phases %standard-phases
  807. (add-after 'unpack 'patch-source
  808. (lambda* (#:key outputs #:allow-other-keys)
  809. (substitute* '("autostart/CMakeLists.txt"
  810. "config/CMakeLists.txt")
  811. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  812. "DESTINATION \"etc/xdg"))
  813. (let ((out (assoc-ref outputs "out")))
  814. (substitute* '("xsession/lxqt.desktop.in")
  815. (("Exec=startlxqt") (string-append "Exec=" out "/bin/startlxqt"))
  816. (("TryExec=lxqt-session") (string-append "TryExec=" out "/bin/startlxqt")))
  817. #t)))
  818. ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
  819. (add-after 'unpack 'patch-openbox-permission
  820. (lambda _
  821. (substitute* "startlxqt.in"
  822. (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
  823. (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
  824. " # fix openbox permission issue\n"
  825. " chmod u+w \"$XDG_CONFIG_HOME/openbox\"/*")))
  826. #t))
  827. (add-after 'unpack 'patch-translations-dir
  828. (lambda* (#:key outputs #:allow-other-keys)
  829. (substitute* '("lxqt-config-session/CMakeLists.txt"
  830. "lxqt-leave/CMakeLists.txt"
  831. "lxqt-session/CMakeLists.txt")
  832. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  833. (string-append (assoc-ref outputs "out")
  834. "/share/lxqt/translations")))
  835. #t))
  836. (add-after 'install 'wrap-program
  837. (lambda* (#:key inputs outputs #:allow-other-keys)
  838. (let ((out (assoc-ref outputs "out")))
  839. (wrap-program (string-append out "/bin/startlxqt")
  840. `("XDG_CONFIG_DIRS" ":" suffix ("/run/current-system/profile/share"
  841. "/run/current-system/profile/share/pcmanfm-qt")))
  842. #t))))))
  843. (home-page "https://lxqt-project.org")
  844. (synopsis "Session manager for LXQt")
  845. (description "lxqt-session provides the standard session manager
  846. for the LXQt desktop environment.")
  847. (license license:lgpl2.1+)))
  848. (define-public lxqt-sudo
  849. (package
  850. (name "lxqt-sudo")
  851. (version "0.17.0")
  852. (source
  853. (origin
  854. (method url-fetch)
  855. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  856. version "/" name "-" version ".tar.xz"))
  857. (sha256
  858. (base32 "02s38m0ywp0gjkjczvrc4r1ignshbajlj084xd61d3rcm7vahhic"))))
  859. (build-system cmake-build-system)
  860. (inputs
  861. `(("kwindowsystem" ,kwindowsystem)
  862. ("liblxqt" ,liblxqt)
  863. ("libqtxdg" ,libqtxdg)
  864. ("qtbase" ,qtbase-5)
  865. ("qtsvg" ,qtsvg)
  866. ("qtx11extras" ,qtx11extras)
  867. ("sudo" ,sudo)))
  868. (native-inputs
  869. `(("pkg-config" ,pkg-config)
  870. ("qttools" ,qttools)
  871. ("lxqt-build-tools" ,lxqt-build-tools)))
  872. (arguments
  873. '(#:tests? #f ; no tests
  874. #:phases
  875. (modify-phases %standard-phases
  876. (add-after 'unpack 'patch-translations-dir
  877. (lambda* (#:key outputs #:allow-other-keys)
  878. (substitute* "CMakeLists.txt"
  879. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  880. (string-append (assoc-ref outputs "out")
  881. "/share/lxqt/translations")))
  882. #t)))))
  883. (home-page "https://lxqt-project.org")
  884. (synopsis "GUI frontend for sudo/su")
  885. (description "lxqt-sudo is a graphical front-end of commands sudo and su
  886. respectively. As such it enables regular users to launch applications with
  887. permissions of other users including root.")
  888. (license license:lgpl2.1+)))
  889. (define-public lxqt-themes
  890. (package
  891. (name "lxqt-themes")
  892. (version "0.17.0")
  893. (source
  894. (origin
  895. (method url-fetch)
  896. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  897. version "/" name "-" version ".tar.xz"))
  898. (sha256
  899. (base32 "0kmvcz6rxghxxgb0m264zbvycc1zjma8mr4cpwg5kyrzb47rdw9z"))))
  900. (build-system cmake-build-system)
  901. (native-inputs
  902. `(("lxqt-build-tools" ,lxqt-build-tools)))
  903. (arguments
  904. `(#:tests? #f ; no tests
  905. #:phases
  906. (modify-phases %standard-phases
  907. (add-after 'unpack 'patch-source
  908. (lambda _
  909. (substitute* '("CMakeLists.txt")
  910. (("DESTINATION \"\\$\\{LXQT_GRAPHICS_DIR\\}")
  911. "DESTINATION \"share/lxqt/graphics"))
  912. (substitute* '("themes/CMakeLists.txt")
  913. (("DESTINATION \"\\$\\{LXQT_SHARE_DIR\\}")
  914. "DESTINATION \"share/lxqt"))
  915. #t)))))
  916. (home-page "https://lxqt-project.org")
  917. (synopsis "Themes, graphics and icons for LXQt")
  918. (description "This package comprises a number of graphic files and themes
  919. for LXQt.")
  920. ;; The whole package is released under LGPL 2.1+, while the LXQt logo is
  921. ;; licensed under CC-BY-SA 3.0.
  922. (license license:lgpl2.1+)))
  923. ;; File Manager
  924. (define-public libfm-qt
  925. (package
  926. (name "libfm-qt")
  927. (version "0.17.1")
  928. (source
  929. (origin
  930. (method url-fetch)
  931. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  932. version "/" name "-" version ".tar.xz"))
  933. (sha256
  934. (base32 "1991lm1gnw9s5wwn1yf3vba63bfmrrgsxc70h3nhdl9mh16qygxa"))))
  935. (build-system cmake-build-system)
  936. (arguments
  937. '(#:tests? #f)) ; no tests
  938. (inputs
  939. `(("glib" ,glib)
  940. ("libexif" ,libexif)
  941. ("libfm" ,libfm)
  942. ("libxcb" ,libxcb)
  943. ("menu-cache" ,menu-cache)
  944. ("pcre" ,pcre)
  945. ("qtbase" ,qtbase-5)
  946. ("qtx11extras" ,qtx11extras)))
  947. (native-inputs
  948. `(("pkg-config" ,pkg-config)
  949. ("lxqt-build-tools" ,lxqt-build-tools)
  950. ("qttools" ,qttools)))
  951. (home-page "https://lxqt-project.org")
  952. (synopsis "Qt binding for libfm")
  953. (description "libfm-qt is the Qt port of libfm, a library providing
  954. components to build desktop file managers which belongs to LXDE.")
  955. (license license:lgpl2.1+)))
  956. (define-public pcmanfm-qt
  957. (package
  958. (name "pcmanfm-qt")
  959. (version "0.17.0")
  960. (source
  961. (origin
  962. (method url-fetch)
  963. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  964. version "/" name "-" version ".tar.xz"))
  965. (sha256
  966. (base32 "1axs7dnh2z08ygy28iipfbgfck15k2i2pwlf0v8d8axjrmavzb3l"))))
  967. (build-system cmake-build-system)
  968. (inputs
  969. `(("libfm-qt" ,libfm-qt)
  970. ("qtbase" ,qtbase-5)
  971. ("qtx11extras" ,qtx11extras)))
  972. (native-inputs
  973. `(("pkg-config" ,pkg-config)
  974. ("qttools" ,qttools)
  975. ("lxqt-build-tools" ,lxqt-build-tools)))
  976. (arguments
  977. '(#:tests? #f ; no tests
  978. #:phases
  979. (modify-phases %standard-phases
  980. (add-after 'unpack 'patch-source
  981. (lambda _
  982. (substitute* '("autostart/CMakeLists.txt")
  983. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  984. "DESTINATION \"etc/xdg"))
  985. (substitute* '("config/pcmanfm-qt/lxqt/settings.conf.in")
  986. (("@LXQT_SHARE_DIR@")
  987. "/run/current-system/profile/share/lxqt" ))
  988. #t)))))
  989. (home-page "https://lxqt-project.org")
  990. (synopsis "File manager and desktop icon manager")
  991. (description "PCManFM-Qt is the Qt port of PCManFM, the file manager of
  992. LXDE.")
  993. (license license:gpl2+)))
  994. ;; Extra
  995. (define-public compton-conf
  996. (package
  997. (name "compton-conf")
  998. (version "0.16.0")
  999. (source
  1000. (origin
  1001. (method url-fetch)
  1002. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1003. version "/" name "-" version ".tar.xz"))
  1004. (sha256
  1005. (base32 "0haarzhndjp0wndfhcdy6zl2whpdn3w0qzr3rr137kfqibc58lvx"))))
  1006. (build-system cmake-build-system)
  1007. (inputs
  1008. `(("libconfig" ,libconfig)
  1009. ("qtbase" ,qtbase-5)))
  1010. (native-inputs
  1011. `(("lxqt-build-tools" ,lxqt-build-tools)
  1012. ("pkg-config" ,pkg-config)
  1013. ("qttools" ,qttools)))
  1014. (arguments
  1015. '(#:tests? #f ; no tests
  1016. #:phases
  1017. (modify-phases %standard-phases
  1018. (add-after 'unpack 'patch-source
  1019. (lambda _
  1020. (substitute* '("autostart/CMakeLists.txt")
  1021. (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
  1022. "DESTINATION \"etc/xdg"))
  1023. #t)))))
  1024. (home-page "https://lxqt-project.org")
  1025. (synopsis "GUI configuration tool for compton X composite manager")
  1026. (description "@code{compton-conf} is a configuration tool for X composite
  1027. manager Compton.")
  1028. (license license:lgpl2.1+)))
  1029. (define-public lximage-qt
  1030. (package
  1031. (name "lximage-qt")
  1032. (version "0.17.0")
  1033. (source
  1034. (origin
  1035. (method url-fetch)
  1036. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1037. version "/" name "-" version ".tar.xz"))
  1038. (sha256
  1039. (base32 "0g6hs41xfw2ghhwpj0rqr2ciri0x9v984689yrnmnvah88zlya1f"))))
  1040. (build-system cmake-build-system)
  1041. (inputs
  1042. `(("libexif" ,libexif)
  1043. ("libfm-qt" ,libfm-qt)
  1044. ("qtbase" ,qtbase-5)
  1045. ("qtsvg" ,qtsvg)
  1046. ("qtx11extras" ,qtx11extras)))
  1047. (native-inputs
  1048. `(("pkg-config" ,pkg-config)
  1049. ("lxqt-build-tools" ,lxqt-build-tools)
  1050. ("qttools" ,qttools)))
  1051. (arguments
  1052. '(#:tests? #f)) ; no tests
  1053. (home-page "https://lxqt-project.org")
  1054. (synopsis "The image viewer and screenshot tool for lxqt")
  1055. (description "LXImage-Qt is the Qt port of LXImage, a simple and fast
  1056. image viewer.")
  1057. (license license:gpl2+)))
  1058. (define-public obconf-qt
  1059. (package
  1060. (name "obconf-qt")
  1061. (version "0.16.1")
  1062. (source
  1063. (origin
  1064. (method url-fetch)
  1065. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1066. version "/" name "-" version ".tar.xz"))
  1067. (sha256
  1068. (base32 "0hlbivdbiw7wjhwrp8qfmq50ks19v0q21m3pyjj0k2na7nv9d3a5"))))
  1069. (build-system cmake-build-system)
  1070. (inputs
  1071. `(("imlib2" ,imlib2)
  1072. ("libsm" ,libsm)
  1073. ("librsvg" ,librsvg)
  1074. ("libxft" ,libxft)
  1075. ("libxml2" ,libxml2)
  1076. ("openbox" ,openbox)
  1077. ("pango" ,pango)
  1078. ("pcre" ,pcre)
  1079. ("qtbase" ,qtbase-5)
  1080. ("qtx11extras" ,qtx11extras)))
  1081. (native-inputs
  1082. `(("lxqt-build-tools" ,lxqt-build-tools)
  1083. ("pkg-config" ,pkg-config)
  1084. ("qttools" ,qttools)))
  1085. (arguments
  1086. '(#:tests? #f)) ; no tests
  1087. (home-page "https://lxqt-project.org")
  1088. (synopsis "Openbox configuration tool")
  1089. (description "ObConf-Qt is a Qt port of ObConf, a configuration editor for
  1090. window manager OpenBox.")
  1091. (license license:gpl2+)))
  1092. (define-public pavucontrol-qt
  1093. (package
  1094. (name "pavucontrol-qt")
  1095. (version "0.17.0")
  1096. (source
  1097. (origin
  1098. (method url-fetch)
  1099. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1100. version "/" name "-" version ".tar.xz"))
  1101. (sha256
  1102. (base32 "0w51dpjayav78lmhw966fz3gvypkmv64xgsd7x5rqs8am39lq9vc"))))
  1103. (build-system cmake-build-system)
  1104. (inputs
  1105. `(("glib" ,glib)
  1106. ("pcre" ,pcre)
  1107. ("pulseaudio" ,pulseaudio)
  1108. ("qtbase" ,qtbase-5)
  1109. ("qtx11extras" ,qtx11extras)))
  1110. (native-inputs
  1111. `(("pkg-config" ,pkg-config)
  1112. ("lxqt-build-tools" ,lxqt-build-tools)
  1113. ("qttools" ,qttools)))
  1114. (arguments
  1115. '(#:tests? #f)) ; no tests
  1116. (home-page "https://lxqt-project.org")
  1117. (synopsis "Pulseaudio mixer in Qt")
  1118. (description "@code{pavucontrol-qt} is the Qt port of volume control
  1119. @code{pavucontrol} of sound server @code{PulseAudio}.")
  1120. (license license:gpl2+)))
  1121. (define-public qps
  1122. (package
  1123. (name "qps")
  1124. (version "2.3.0")
  1125. (source
  1126. (origin
  1127. (method url-fetch)
  1128. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1129. version "/" name "-" version ".tar.xz"))
  1130. (sha256
  1131. (base32 "0zg0czrh3dlbnl5smxamhkdbj1g0szm47w1c0fwpaplgc1vv5lfq"))))
  1132. (build-system cmake-build-system)
  1133. (inputs
  1134. `(("kwindowsystem" ,kwindowsystem)
  1135. ("libxrender" ,libxrender)
  1136. ("liblxqt" ,liblxqt)
  1137. ("libqtxdg" ,libqtxdg)
  1138. ("qtbase" ,qtbase-5)
  1139. ("qtx11extras" ,qtx11extras)))
  1140. (native-inputs
  1141. `(("lxqt-build-tools" ,lxqt-build-tools)
  1142. ("qttools" ,qttools)))
  1143. (arguments
  1144. '(#:tests? #f)) ; no tests
  1145. (home-page "https://lxqt-project.org")
  1146. (synopsis "Qt-based visual process status monitor")
  1147. (description "@code{qps} is a monitor that displays the status of the
  1148. processes currently in existence, much like code{top} or code{ps}.")
  1149. (license license:gpl2+)))
  1150. (define-public qtermwidget
  1151. (package
  1152. (name "qtermwidget")
  1153. (version "0.17.0")
  1154. (source
  1155. (origin
  1156. (method url-fetch)
  1157. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1158. version "/" name "-" version ".tar.xz"))
  1159. (sha256
  1160. (base32 "10lv475qj0x3c3vl4yhjyr6y10qj5pq8n5pal5k24f6pf7xv412f"))))
  1161. (build-system cmake-build-system)
  1162. (inputs
  1163. `(("qtbase" ,qtbase-5)
  1164. ("utf8proc" ,utf8proc)))
  1165. (native-inputs
  1166. `(("lxqt-build-tools" ,lxqt-build-tools)
  1167. ("qttools" ,qttools)))
  1168. (arguments
  1169. '(#:tests? #f)) ; no tests
  1170. (home-page "https://lxqt-project.org")
  1171. (synopsis "The terminal widget for QTerminal")
  1172. (description "QTermWidget is a terminal emulator widget for Qt 5.")
  1173. (license license:gpl2+)))
  1174. (define-public qterminal
  1175. (package
  1176. (name "qterminal")
  1177. (version "0.17.0")
  1178. (source
  1179. (origin
  1180. (method url-fetch)
  1181. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1182. version "/" name "-" version ".tar.xz"))
  1183. (sha256
  1184. (base32 "0rfv7a6ncm8fs8aicinh9l29w4636gxzcqz735jmch2r41v9i1d9"))))
  1185. (build-system cmake-build-system)
  1186. (inputs
  1187. `(("qtbase" ,qtbase-5)
  1188. ("qtx11extras" ,qtx11extras)
  1189. ("qtermwidget" ,qtermwidget)))
  1190. (native-inputs
  1191. `(("lxqt-build-tools" ,lxqt-build-tools)
  1192. ("qttools" ,qttools)))
  1193. (arguments
  1194. '(#:tests? #f)) ; no tests
  1195. (home-page "https://lxqt-project.org")
  1196. (synopsis "Lightweight Qt-based terminal emulator")
  1197. (description "QTerminal is a lightweight Qt terminal emulator based on
  1198. QTermWidget.")
  1199. (license license:gpl2+)))
  1200. (define-public screengrab
  1201. (package
  1202. (name "screengrab")
  1203. (version "2.2.0")
  1204. (source
  1205. (origin
  1206. (method url-fetch)
  1207. (uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
  1208. version "/screengrab-" version ".tar.xz"))
  1209. (sha256
  1210. (base32 "0cilzw7rz5m2klzpax7rrs5rr6whfda2svwzsn2jvmrirmh5by7r"))))
  1211. (build-system cmake-build-system)
  1212. (inputs
  1213. `(("kwindowsystem" ,kwindowsystem)
  1214. ("libqtxdg" ,libqtxdg)
  1215. ("qtbase" ,qtbase-5)
  1216. ("qtsvg" ,qtsvg)
  1217. ("qtx11extras" ,qtx11extras)))
  1218. (native-inputs
  1219. `(("pkg-config" ,pkg-config)
  1220. ("perl" ,perl)
  1221. ("qttools" ,qttools)))
  1222. (arguments
  1223. '(#:tests? #f)) ; no tests
  1224. (home-page "https://lxqt-project.org")
  1225. (synopsis "Crossplatform tool for fast making screenshots")
  1226. (description "ScreenGrab is a program for fast creating screenshots, and
  1227. easily publishing them on internet image hosting services.")
  1228. (license license:gpl2+)))
  1229. (define-public lxqt-archiver
  1230. (package
  1231. (name "lxqt-archiver")
  1232. (version "0.4.0")
  1233. (source
  1234. (origin
  1235. (method url-fetch)
  1236. (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
  1237. version "/" name "-" version ".tar.xz"))
  1238. (sha256
  1239. (base32 "0fzgq7cyr7hx8qmq84xfgbsdx04mc1r7vzq5mz79j7bp2ysh134z"))))
  1240. (build-system cmake-build-system)
  1241. (inputs
  1242. `(("glib" ,glib)
  1243. ("json-glib" ,json-glib)
  1244. ("libfm-qt" ,libfm-qt)
  1245. ("qtbase" ,qtbase-5)
  1246. ("qtx11extras" ,qtx11extras)))
  1247. (native-inputs
  1248. `(("pkg-config" ,pkg-config)
  1249. ("lxqt-build-tools" ,lxqt-build-tools)
  1250. ("qttools" ,qttools)))
  1251. (arguments
  1252. '(#:tests? #f))
  1253. (home-page "https://lxqt-project.org")
  1254. (synopsis "Simple & lightweight desktop-agnostic Qt file archiver")
  1255. (description
  1256. "This package provides a Qt graphical interface to archiving programs
  1257. like @command{tar} and @command{zip}.")
  1258. (license license:gpl2+)))
  1259. (define-public lxqt-connman-applet
  1260. ;; since the main developers didn't release any version yet, their
  1261. ;; latest commit on `master` branch at the moment used for this version.
  1262. (let ((commit "db1618d58fd3439142c4e44b24cba0dbb68b7141")
  1263. (revision "0"))
  1264. (package
  1265. (name "lxqt-connman-applet")
  1266. (version (git-version "0.15.0" revision commit))
  1267. (source
  1268. (origin
  1269. (method git-fetch)
  1270. (uri (git-reference
  1271. (url (string-append "https://github.com/lxqt/" name))
  1272. (commit commit)))
  1273. (file-name (git-file-name name version))
  1274. (sha256
  1275. (base32 "087641idpg7n8yhh5biis4wv52ayw3rddirwqb34bf5fwj664pw9"))))
  1276. (build-system cmake-build-system)
  1277. (inputs
  1278. `(("kwindowsystem" ,kwindowsystem)
  1279. ("qtbase" ,qtbase-5)
  1280. ("qtsvg" ,qtsvg)
  1281. ("liblxqt" ,liblxqt)
  1282. ("qtx11extras" ,qtx11extras)
  1283. ("libqtxdg" ,libqtxdg)))
  1284. (native-inputs
  1285. `(("lxqt-build-tools" ,lxqt-build-tools)
  1286. ("qtlinguist" ,qttools)))
  1287. (arguments
  1288. `(#:tests? #f ; no tests
  1289. #:phases
  1290. (modify-phases %standard-phases
  1291. (add-after 'unpack 'patch-translations-dir
  1292. (lambda* (#:key outputs #:allow-other-keys)
  1293. (substitute* "CMakeLists.txt"
  1294. (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
  1295. (string-append (assoc-ref outputs "out")
  1296. "/share/lxqt/translations"))
  1297. (("\\$\\{LXQT_ETC_XDG_DIR\\}") "etc/xdg"))
  1298. #t))
  1299. (add-after 'unpack 'remove-definitions
  1300. (lambda _
  1301. (substitute* "CMakeLists.txt"
  1302. (("include\\(LXQtCompilerSettings NO_POLICY_SCOPE\\)")
  1303. "include(LXQtCompilerSettings NO_POLICY_SCOPE)
  1304. remove_definitions(-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII)"))
  1305. #t)))))
  1306. (home-page "https://github.com/lxqt/lxqt-connman-applet")
  1307. (synopsis "System-tray applet for connman")
  1308. (description "This package provides a Qt-based system-tray applet for
  1309. the network management tool Connman, originally developed for the LXQT
  1310. desktop.")
  1311. (license license:lgpl2.1+))))
  1312. ;; The LXQt Desktop Environment
  1313. (define-public lxqt
  1314. (package
  1315. (name "lxqt")
  1316. (version "17.0")
  1317. (source #f)
  1318. (build-system trivial-build-system)
  1319. (arguments '(#:builder (begin (mkdir %output) #t)))
  1320. (propagated-inputs
  1321. `(;; XDG
  1322. ("desktop-file-utils" ,desktop-file-utils)
  1323. ("hicolor-icon-theme" ,hicolor-icon-theme)
  1324. ("xdg-user-dirs" ,xdg-user-dirs)
  1325. ("xdg-utils" ,xdg-utils)
  1326. ;; Base
  1327. ;; TODO: qtsvg is needed for lxqt apps to display icons. Maybe it
  1328. ;; should be added to their propagated-inputs?
  1329. ("qtsvg" ,qtsvg)
  1330. ;; Core
  1331. ("lxqt-about" ,lxqt-about)
  1332. ("lxqt-admin" ,lxqt-admin)
  1333. ("lxqt-config" ,lxqt-config)
  1334. ("lxqt-globalkeys" ,lxqt-globalkeys)
  1335. ("lxqt-notificationd" ,lxqt-notificationd)
  1336. ("lxqt-openssh-askpass" ,lxqt-openssh-askpass)
  1337. ("lxqt-panel" ,lxqt-panel)
  1338. ("lxqt-policykit" ,lxqt-policykit)
  1339. ("lxqt-powermanagement" ,lxqt-powermanagement)
  1340. ("lxqt-qtplugin" ,lxqt-qtplugin)
  1341. ("lxqt-runner" ,lxqt-runner)
  1342. ("lxqt-session" ,lxqt-session)
  1343. ("lxqt-sudo" ,lxqt-sudo)
  1344. ("lxqt-themes" ,lxqt-themes)
  1345. ("pcmanfm-qt" ,pcmanfm-qt)
  1346. ;; Extra
  1347. ("picom" ,picom)
  1348. ("font-dejavu" ,font-dejavu)
  1349. ("lximage-qt" ,lximage-qt)
  1350. ("obconf-qt" ,obconf-qt)
  1351. ("openbox" ,openbox)
  1352. ("breeze-icons" ,breeze-icons)
  1353. ("pavucontrol-qt" ,pavucontrol-qt)
  1354. ("qps" ,qps)
  1355. ("qterminal" ,qterminal)))
  1356. (synopsis "The Lightweight Qt Desktop Environment")
  1357. (description "LXQt is a lightweight Qt desktop environment.")
  1358. (home-page "https://lxqt-project.org")
  1359. (license license:gpl2+)))