compton.scm 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
  3. ;;;
  4. ;;; This file is part of GNU Guix.
  5. ;;;
  6. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  7. ;;; under the terms of the GNU General Public License as published by
  8. ;;; the Free Software Foundation; either version 3 of the License, or (at
  9. ;;; your option) any later version.
  10. ;;;
  11. ;;; GNU Guix is distributed in the hope that it will be useful, but
  12. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;;; GNU General Public License for more details.
  15. ;;;
  16. ;;; You should have received a copy of the GNU General Public License
  17. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  18. (define-module (gnu packages compton)
  19. #:use-module ((guix licenses) #:prefix license:)
  20. #:use-module (guix packages)
  21. #:use-module (guix download)
  22. #:use-module (guix build-system gnu)
  23. #:use-module (gnu packages docbook)
  24. #:use-module (gnu packages documentation)
  25. #:use-module (gnu packages gl)
  26. #:use-module (gnu packages glib)
  27. #:use-module (gnu packages pkg-config)
  28. #:use-module (gnu packages python)
  29. #:use-module (gnu packages textutils)
  30. #:use-module (gnu packages xdisorg)
  31. #:use-module (gnu packages xml)
  32. #:use-module (gnu packages xorg))
  33. (define-public compton
  34. (let ((upstream-version "0.1_beta2"))
  35. (package
  36. (name "compton")
  37. (version (string-filter (char-set-complement (char-set #\_))
  38. upstream-version))
  39. (source (origin
  40. (method url-fetch)
  41. (uri (string-append
  42. "https://github.com/chjj/" name "/archive/v"
  43. upstream-version ".tar.gz"))
  44. (sha256
  45. (base32
  46. "02dhlqqcwnmlf2dxg7rd4lapgqahgndzixdkbpxicq9jawmdb73v"))
  47. (file-name (string-append name "-" version "-checkout"))))
  48. (build-system gnu-build-system)
  49. (inputs
  50. `(("dbus" ,dbus)
  51. ("libconfig" ,libconfig)
  52. ("libx11" ,libx11)
  53. ("libxcomposite" ,libxcomposite)
  54. ("libxdamage" ,libxdamage)
  55. ("libxext" ,libxext)
  56. ("libxfixes" ,libxfixes)
  57. ("libxinerama" ,libxinerama)
  58. ("libxrandr" ,libxrandr)
  59. ("libxrender" ,libxrender)
  60. ("mesa" ,mesa)
  61. ("xprop" ,xprop)
  62. ("xwininfo" ,xwininfo)))
  63. (native-inputs
  64. `(("asciidoc" ,asciidoc)
  65. ("libdrm" ,libdrm)
  66. ("pkg-config" ,pkg-config)
  67. ("python" ,python)
  68. ("xproto" ,xproto)))
  69. (arguments
  70. `(#:make-flags (list
  71. "CC=gcc"
  72. "NO_REGEX_PCRE=1" ; pcre makes build fail
  73. (string-append "PREFIX=" (assoc-ref %outputs "out")))
  74. #:tests? #f ; no tests
  75. #:phases
  76. (modify-phases %standard-phases
  77. (delete 'configure))))
  78. (home-page "https://github.com/chjj/compton")
  79. (synopsis "Compositor for X11")
  80. (description
  81. "Compton is a compositor for the Xorg display server and a for of
  82. xcompmgr-dana, which implements some changes like:
  83. @itemize
  84. @item OpenGL backend (@command{--backend glx}), in addition to the old X Render
  85. backend.
  86. @item Inactive window transparency (@command{-i}) and dimming
  87. (@command{--inactive-dim}).
  88. @item Menu transparency (@command{-m}, thanks to Dana).
  89. @item Shadows are now enabled for argb windows, e.g terminals with transparency
  90. @item Removed serverside shadows (and simple compositing) to clean the code,
  91. the only option that remains is clientside shadows.
  92. @item Configuration files (see the man page for more details).
  93. @item Colored shadows (@command{--shadow-[red/green/blue]}).
  94. @item A new fade system.
  95. @item VSync support (not always working).
  96. @item Blur of background of transparent windows, window color inversion (bad in
  97. performance).
  98. @item Some more options...
  99. @end itemize\n")
  100. (license license:expat))))