gnu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].
[jackhill/guix/guix.git] / gnu / packages / compton.scm
CommitLineData
cacf4e9d
JMSG
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
9c2b56a3 3;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
5fecb7b7
ASM
4;;; Copyright © 2019 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
5;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
cacf4e9d
JMSG
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 compton)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix packages)
9c2b56a3 25 #:use-module (guix git-download)
cacf4e9d 26 #:use-module (guix build-system gnu)
5fecb7b7
ASM
27 #:use-module (guix build-system meson)
28 #:use-module (gnu packages datastructures)
cacf4e9d
JMSG
29 #:use-module (gnu packages docbook)
30 #:use-module (gnu packages documentation)
5fecb7b7 31 #:use-module (gnu packages freedesktop)
cacf4e9d
JMSG
32 #:use-module (gnu packages gl)
33 #:use-module (gnu packages glib)
5fecb7b7
ASM
34 #:use-module (gnu packages libevent)
35 #:use-module (gnu packages pcre)
cacf4e9d
JMSG
36 #:use-module (gnu packages pkg-config)
37 #:use-module (gnu packages python)
38 #:use-module (gnu packages textutils)
39 #:use-module (gnu packages xdisorg)
40 #:use-module (gnu packages xml)
41 #:use-module (gnu packages xorg))
42
43(define-public compton
44 (let ((upstream-version "0.1_beta2"))
45 (package
46 (name "compton")
47 (version (string-filter (char-set-complement (char-set #\_))
48 upstream-version))
9c2b56a3
TGR
49 (source
50 (origin
51 (method git-fetch)
52 (uri (git-reference
b0e7b699 53 (url "https://github.com/chjj/compton")
9c2b56a3
TGR
54 (commit (string-append "v" upstream-version))))
55 (sha256
56 (base32
57 "0v65viilhnd2xgvmdpzc1srxszcg8kj1vhi5gy9292j48w0s2fx1"))
58 (file-name (git-file-name name version))))
cacf4e9d
JMSG
59 (build-system gnu-build-system)
60 (inputs
61 `(("dbus" ,dbus)
cacf4e9d
JMSG
62 ("libconfig" ,libconfig)
63 ("libx11" ,libx11)
64 ("libxcomposite" ,libxcomposite)
65 ("libxdamage" ,libxdamage)
66 ("libxext" ,libxext)
67 ("libxfixes" ,libxfixes)
68 ("libxinerama" ,libxinerama)
cacf4e9d
JMSG
69 ("libxrandr" ,libxrandr)
70 ("libxrender" ,libxrender)
cacf4e9d
JMSG
71 ("mesa" ,mesa)
72 ("xprop" ,xprop)
73 ("xwininfo" ,xwininfo)))
74 (native-inputs
75 `(("asciidoc" ,asciidoc)
76 ("libdrm" ,libdrm)
77 ("pkg-config" ,pkg-config)
78 ("python" ,python)
6a6db57f 79 ("xorgproto" ,xorgproto)))
cacf4e9d
JMSG
80 (arguments
81 `(#:make-flags (list
82 "CC=gcc"
83 "NO_REGEX_PCRE=1" ; pcre makes build fail
84 (string-append "PREFIX=" (assoc-ref %outputs "out")))
85 #:tests? #f ; no tests
86 #:phases
87 (modify-phases %standard-phases
88 (delete 'configure))))
89 (home-page "https://github.com/chjj/compton")
90 (synopsis "Compositor for X11")
91 (description
92 "Compton is a compositor for the Xorg display server and a for of
93xcompmgr-dana, which implements some changes like:
94
95@itemize
96@item OpenGL backend (@command{--backend glx}), in addition to the old X Render
97backend.
98@item Inactive window transparency (@command{-i}) and dimming
99(@command{--inactive-dim}).
100@item Menu transparency (@command{-m}, thanks to Dana).
101@item Shadows are now enabled for argb windows, e.g terminals with transparency
102@item Removed serverside shadows (and simple compositing) to clean the code,
103the only option that remains is clientside shadows.
104@item Configuration files (see the man page for more details).
105@item Colored shadows (@command{--shadow-[red/green/blue]}).
106@item A new fade system.
107@item VSync support (not always working).
108@item Blur of background of transparent windows, window color inversion (bad in
109performance).
110@item Some more options...
111@end itemize\n")
112 (license license:expat))))
5fecb7b7
ASM
113
114(define-public picom
115 (package
116 (name "picom")
789f31e6 117 (version "8.2")
5fecb7b7
ASM
118 (source
119 (origin
120 (method git-fetch)
121 (uri (git-reference
b0e7b699 122 (url "https://github.com/yshui/picom")
5fecb7b7
ASM
123 (commit (string-append "v" version))))
124 (sha256
125 (base32
789f31e6 126 "0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl"))
5fecb7b7
ASM
127 (file-name (string-append "picom-" version))))
128 (build-system meson-build-system)
129 (inputs
130 `(("dbus" ,dbus)
131 ("libconfig" ,libconfig)
132 ("libx11" ,libx11)
133 ("libxext" ,libxext)
134 ("libev" ,libev)
135 ("mesa" ,mesa)
136 ("xprop" ,xprop)
137 ("xcb-util-renderutil" ,xcb-util-renderutil)
138 ("xcb-util-image" ,xcb-util-image)
139 ("pixman" ,pixman)
140 ("uthash" ,uthash)
141 ("libxdg-basedir" ,libxdg-basedir)
142 ("pcre" ,pcre)))
143 (native-inputs
144 `(("asciidoc" ,asciidoc)
145 ("pkg-config" ,pkg-config)
146 ("xorgproto" ,xorgproto)))
147 (arguments
148 `(#:build-type "release"
34f2a608 149 #:configure-flags '("-Dwith_docs=true")))
5fecb7b7
ASM
150 (home-page "https://github.com/yshui/picom")
151 (synopsis "Compositor for X11, forked from Compton")
152 (description
153 "Picom is a standalone compositor for Xorg, suitable for use
154with window managers that do not provide compositing.
155
156Picom is a fork of compton, which is a fork of xcompmgr-dana,
157which in turn is a fork of xcompmgr.")
7298f558 158 (license (list license:expat ; The original compton license.
5fecb7b7 159 license:mpl2.0)))) ; License used by new picom files.