gnu: dnsmasq: Update to 2.87.
[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>
0abeec83 6;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
cacf4e9d
JMSG
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23(define-module (gnu packages compton)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix packages)
9c2b56a3 26 #:use-module (guix git-download)
cacf4e9d 27 #:use-module (guix build-system gnu)
5fecb7b7
ASM
28 #:use-module (guix build-system meson)
29 #:use-module (gnu packages datastructures)
cacf4e9d
JMSG
30 #:use-module (gnu packages docbook)
31 #:use-module (gnu packages documentation)
5fecb7b7 32 #:use-module (gnu packages freedesktop)
cacf4e9d
JMSG
33 #:use-module (gnu packages gl)
34 #:use-module (gnu packages glib)
5fecb7b7
ASM
35 #:use-module (gnu packages libevent)
36 #:use-module (gnu packages pcre)
cacf4e9d
JMSG
37 #:use-module (gnu packages pkg-config)
38 #:use-module (gnu packages python)
39 #:use-module (gnu packages textutils)
40 #:use-module (gnu packages xdisorg)
41 #:use-module (gnu packages xml)
42 #:use-module (gnu packages xorg))
43
44(define-public compton
45 (let ((upstream-version "0.1_beta2"))
46 (package
47 (name "compton")
48 (version (string-filter (char-set-complement (char-set #\_))
49 upstream-version))
9c2b56a3
TGR
50 (source
51 (origin
52 (method git-fetch)
53 (uri (git-reference
b0e7b699 54 (url "https://github.com/chjj/compton")
9c2b56a3
TGR
55 (commit (string-append "v" upstream-version))))
56 (sha256
57 (base32
58 "0v65viilhnd2xgvmdpzc1srxszcg8kj1vhi5gy9292j48w0s2fx1"))
59 (file-name (git-file-name name version))))
cacf4e9d
JMSG
60 (build-system gnu-build-system)
61 (inputs
8394619b
LC
62 (list dbus
63 libconfig
64 libx11
65 libxcomposite
66 libxdamage
67 libxext
68 libxfixes
69 libxinerama
70 libxrandr
71 libxrender
72 mesa
73 xprop
74 xwininfo))
cacf4e9d 75 (native-inputs
8394619b 76 (list asciidoc libdrm pkg-config python xorgproto))
cacf4e9d
JMSG
77 (arguments
78 `(#:make-flags (list
79 "CC=gcc"
80 "NO_REGEX_PCRE=1" ; pcre makes build fail
81 (string-append "PREFIX=" (assoc-ref %outputs "out")))
82 #:tests? #f ; no tests
83 #:phases
84 (modify-phases %standard-phases
85 (delete 'configure))))
86 (home-page "https://github.com/chjj/compton")
87 (synopsis "Compositor for X11")
88 (description
89 "Compton is a compositor for the Xorg display server and a for of
90xcompmgr-dana, which implements some changes like:
91
92@itemize
93@item OpenGL backend (@command{--backend glx}), in addition to the old X Render
94backend.
95@item Inactive window transparency (@command{-i}) and dimming
96(@command{--inactive-dim}).
97@item Menu transparency (@command{-m}, thanks to Dana).
98@item Shadows are now enabled for argb windows, e.g terminals with transparency
99@item Removed serverside shadows (and simple compositing) to clean the code,
100the only option that remains is clientside shadows.
101@item Configuration files (see the man page for more details).
102@item Colored shadows (@command{--shadow-[red/green/blue]}).
103@item A new fade system.
104@item VSync support (not always working).
105@item Blur of background of transparent windows, window color inversion (bad in
106performance).
107@item Some more options...
108@end itemize\n")
109 (license license:expat))))
5fecb7b7
ASM
110
111(define-public picom
112 (package
113 (name "picom")
03533629 114 (version "9.1")
5fecb7b7
ASM
115 (source
116 (origin
117 (method git-fetch)
118 (uri (git-reference
b0e7b699 119 (url "https://github.com/yshui/picom")
5fecb7b7
ASM
120 (commit (string-append "v" version))))
121 (sha256
122 (base32
03533629 123 "0q7j6kh9k7i201cwhnfc3bmp0hqrx7ngk3v4qsp8k0qfy1n3ma8n"))
5fecb7b7
ASM
124 (file-name (string-append "picom-" version))))
125 (build-system meson-build-system)
126 (inputs
8394619b
LC
127 (list dbus
128 libconfig
129 libx11
130 libxext
131 libev
132 mesa
133 xprop
134 xcb-util-renderutil
135 xcb-util-image
136 pixman
137 uthash
138 libxdg-basedir
139 pcre))
5fecb7b7 140 (native-inputs
8394619b 141 (list asciidoc pkg-config xorgproto))
5fecb7b7
ASM
142 (arguments
143 `(#:build-type "release"
34f2a608 144 #:configure-flags '("-Dwith_docs=true")))
5fecb7b7
ASM
145 (home-page "https://github.com/yshui/picom")
146 (synopsis "Compositor for X11, forked from Compton")
147 (description
148 "Picom is a standalone compositor for Xorg, suitable for use
149with window managers that do not provide compositing.
150
151Picom is a fork of compton, which is a fork of xcompmgr-dana,
152which in turn is a fork of xcompmgr.")
7298f558 153 (license (list license:expat ; The original compton license.
5fecb7b7 154 license:mpl2.0)))) ; License used by new picom files.