Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / compton.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
3 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
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 compton)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix packages)
23 #:use-module (guix git-download)
24 #:use-module (guix build-system gnu)
25 #:use-module (gnu packages docbook)
26 #:use-module (gnu packages documentation)
27 #:use-module (gnu packages gl)
28 #:use-module (gnu packages glib)
29 #:use-module (gnu packages pkg-config)
30 #:use-module (gnu packages python)
31 #:use-module (gnu packages textutils)
32 #:use-module (gnu packages xdisorg)
33 #:use-module (gnu packages xml)
34 #:use-module (gnu packages xorg))
35
36 (define-public compton
37 (let ((upstream-version "0.1_beta2"))
38 (package
39 (name "compton")
40 (version (string-filter (char-set-complement (char-set #\_))
41 upstream-version))
42 (source
43 (origin
44 (method git-fetch)
45 (uri (git-reference
46 (url "https://github.com/chjj/compton.git")
47 (commit (string-append "v" upstream-version))))
48 (sha256
49 (base32
50 "0v65viilhnd2xgvmdpzc1srxszcg8kj1vhi5gy9292j48w0s2fx1"))
51 (file-name (git-file-name name version))))
52 (build-system gnu-build-system)
53 (inputs
54 `(("dbus" ,dbus)
55 ("libconfig" ,libconfig)
56 ("libx11" ,libx11)
57 ("libxcomposite" ,libxcomposite)
58 ("libxdamage" ,libxdamage)
59 ("libxext" ,libxext)
60 ("libxfixes" ,libxfixes)
61 ("libxinerama" ,libxinerama)
62 ("libxrandr" ,libxrandr)
63 ("libxrender" ,libxrender)
64 ("mesa" ,mesa)
65 ("xprop" ,xprop)
66 ("xwininfo" ,xwininfo)))
67 (native-inputs
68 `(("asciidoc" ,asciidoc)
69 ("libdrm" ,libdrm)
70 ("pkg-config" ,pkg-config)
71 ("python" ,python)
72 ("xorgproto" ,xorgproto)))
73 (arguments
74 `(#:make-flags (list
75 "CC=gcc"
76 "NO_REGEX_PCRE=1" ; pcre makes build fail
77 (string-append "PREFIX=" (assoc-ref %outputs "out")))
78 #:tests? #f ; no tests
79 #:phases
80 (modify-phases %standard-phases
81 (delete 'configure))))
82 (home-page "https://github.com/chjj/compton")
83 (synopsis "Compositor for X11")
84 (description
85 "Compton is a compositor for the Xorg display server and a for of
86 xcompmgr-dana, which implements some changes like:
87
88 @itemize
89 @item OpenGL backend (@command{--backend glx}), in addition to the old X Render
90 backend.
91 @item Inactive window transparency (@command{-i}) and dimming
92 (@command{--inactive-dim}).
93 @item Menu transparency (@command{-m}, thanks to Dana).
94 @item Shadows are now enabled for argb windows, e.g terminals with transparency
95 @item Removed serverside shadows (and simple compositing) to clean the code,
96 the only option that remains is clientside shadows.
97 @item Configuration files (see the man page for more details).
98 @item Colored shadows (@command{--shadow-[red/green/blue]}).
99 @item A new fade system.
100 @item VSync support (not always working).
101 @item Blur of background of transparent windows, window color inversion (bad in
102 performance).
103 @item Some more options...
104 @end itemize\n")
105 (license license:expat))))