compton: 0.1_beta2.5 -> 6.2 (#61681)

* compton-git: 5.1-rc2 -> 6.2

vsync is now a boolean option, see:
https://github.com/yshui/compton/pull/130

menu-opacity is deprecated and there's a warning that says:
Please use the wintype option `opacity` of `popup_menu` and
`dropdown_menu` instead.

* nixos/compton: Keep vSync option backwards compatible

The new upstream option tries to make the best choice for the user.
Therefore the behaviour should stay the same with this backwards
compatibility patch.

* compton-git: Remove DRM option

It's deprecated and shouldn't be used.
https://github.com/yshui/compton/pull/130/files#r285505456

* compton-git: Remove new_backends option

Was removed in "Let old/new backends co-exist"
b0c5db9f5aa500dc3568cc6fe68493df98794d4d

* compton: 0.1_beta2.5 -> 6.2

Drop the legacy, unmaintained version and use the fork for real.
This commit is contained in:
Daniel Schaefer 2019-05-28 13:37:14 +02:00 committed by Renaud
parent 53b08beea6
commit eccb90a2d9
4 changed files with 75 additions and 105 deletions

View file

@ -37,7 +37,12 @@ let
# opacity
active-opacity = ${cfg.activeOpacity};
inactive-opacity = ${cfg.inactiveOpacity};
menu-opacity = ${cfg.menuOpacity};
wintypes:
{
popup_menu = { opacity = ${cfg.menuOpacity}; }
dropdown_menu = { opacity = ${cfg.menuOpacity}; }
};
opacity-rule = [
${opacityRules}
@ -45,7 +50,7 @@ let
# other options
backend = ${toJSON cfg.backend};
vsync = ${toJSON cfg.vSync};
vsync = ${lib.boolToString cfg.vSync};
refresh-rate = ${toString cfg.refreshRate};
'' + cfg.extraOptions);
@ -189,15 +194,22 @@ in {
};
vSync = mkOption {
type = types.enum [
"none" "drm" "opengl"
"opengl-oml" "opengl-swc" "opengl-mswc"
];
default = "none";
example = "opengl-swc";
type = with types; either bool
(enum [ "none" "drm" "opengl" "opengl-oml" "opengl-swc" "opengl-mswc" ]);
default = false;
apply = x:
let
res = x != "none";
msg = "The type of services.compton.vSync has changed to bool:"
+ " interpreting ${x} as ${lib.boolToString res}";
in
if isBool x then x
else warn msg res;
description = ''
Enable vertical synchronization using the specified method.
See <literal>compton(1)</literal> man page an explanation.
Enable vertical synchronization. Chooses the best method
(drm, opengl, opengl-oml, opengl-swc, opengl-mswc) automatically.
The bool value should be used, the others are just for backwards compatibility.
'';
};

View file

@ -3,110 +3,67 @@
, xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev
, dbus, libconfig, libdrm, libGL, pcre, libX11, libXcomposite, libXdamage
, libXinerama, libXrandr, libXrender, libXext, xwininfo, libxdg_basedir }:
stdenv.mkDerivation rec {
pname = "compton";
version = "6.2";
let
common = source: stdenv.mkDerivation (source // rec {
name = "${source.pname}-${source.version}";
COMPTON_VERSION = "v${version}";
nativeBuildInputs = (source.nativeBuildInputs or []) ++ [
pkgconfig
asciidoc
docbook_xml_dtd_45
docbook_xsl
makeWrapper
];
installFlags = [ "PREFIX=$(out)" ];
postInstall = ''
wrapProgram $out/bin/compton-trans \
--prefix PATH : ${lib.makeBinPath [ xwininfo ]}
'';
meta = with lib; {
description = "A fork of XCompMgr, a sample compositing manager for X servers";
longDescription = ''
A fork of XCompMgr, which is a sample compositing manager for X
servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
extensions. It enables basic eye-candy effects. This fork adds
additional features, such as additional effects, and a fork at a
well-defined and proper place.
'';
license = licenses.mit;
maintainers = with maintainers; [ ertes enzime twey ];
platforms = platforms.linux;
};
});
stableSource = rec {
pname = "compton";
version = "0.1_beta2.5";
COMPTON_VERSION = version;
buildInputs = [
dbus libX11 libXcomposite libXdamage libXrender libXrandr libXext
libXinerama libdrm pcre libxml2 libxslt libconfig libGL
];
src = fetchFromGitHub {
owner = "chjj";
repo = "compton";
rev = "b7f43ee67a1d2d08239a2eb67b7f50fe51a592a8";
sha256 = "1p7ayzvm3c63q42na5frznq3rlr1lby2pdgbvzm1zl07wagqss18";
};
meta = {
homepage = https://github.com/chjj/compton/;
};
src = fetchFromGitHub {
owner = "yshui";
repo = "compton";
rev = COMPTON_VERSION;
sha256 = "03fi9q8zw2qrwpkmy1bnavgfh91ci9in5fdi17g4s5s0n2l7yil7";
};
gitSource = rec {
pname = "compton-git";
version = "5.1-rc2";
nativeBuildInputs = [
meson ninja
pkgconfig
asciidoc
docbook_xml_dtd_45
docbook_xsl
makeWrapper
];
COMPTON_VERSION = "v${version}";
buildInputs = [
dbus libX11 libXext
xorgproto
libXinerama libdrm pcre libxml2 libxslt libconfig libGL
libxcb xcbutilrenderutil xcbutilimage
pixman libev
libxdg_basedir
];
nativeBuildInputs = [ meson ninja ];
NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ];
src = fetchFromGitHub {
owner = "yshui";
repo = "compton";
rev = COMPTON_VERSION;
sha256 = "1qpy76kkhz8gfby842ry7lanvxkjxh4ckclkcjk4xi2wsmbhyp08";
};
mesonFlags = [
"-Dbuild_docs=true"
];
buildInputs = [
dbus libX11 libXext
xorgproto
libXinerama libdrm pcre libxml2 libxslt libconfig libGL
# Removed:
# libXcomposite libXdamage libXrender libXrandr
preBuild = ''
git() { echo "v${version}"; }
export -f git
'';
# New:
libxcb xcbutilrenderutil xcbutilimage
pixman libev
libxdg_basedir
];
installFlags = [ "PREFIX=$(out)" ];
preBuild = ''
git() { echo "v${version}"; }
export -f git
postInstall = ''
wrapProgram $out/bin/compton-trans \
--prefix PATH : ${lib.makeBinPath [ xwininfo ]}
'';
meta = with lib; {
description = "A fork of XCompMgr, a sample compositing manager for X servers";
longDescription = ''
A fork of XCompMgr, which is a sample compositing manager for X
servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
extensions. It enables basic eye-candy effects. This fork adds
additional features, such as additional effects, and a fork at a
well-defined and proper place.
'';
NIX_CFLAGS_COMPILE = [ "-fno-strict-aliasing" ];
mesonFlags = [
"-Dvsync_drm=true"
"-Dnew_backends=true"
"-Dbuild_docs=true"
];
meta = {
homepage = https://github.com/yshui/compton/;
};
license = licenses.mit;
homepage = "https://github.com/yshui/compton";
maintainers = with maintainers; [ ertes enzime twey ];
platforms = platforms.linux;
};
in {
compton = common stableSource;
compton-git = common gitSource;
}

View file

@ -59,6 +59,7 @@ mapAliases ({
clawsMail = claws-mail; # added 2016-04-29
clutter_gtk = clutter-gtk; # added 2018-02-25
conkerorWrapper = conkeror; # added 2015-01
compton-git = compton; # added 2019-05-20
conntrack_tools = conntrack-tools; # added 2018-05
cool-old-term = cool-retro-term; # added 2015-01-31
cupsBjnp = cups-bjnp; # added 2016-01-02

View file

@ -20953,7 +20953,7 @@ in
inherit (xorg) xcompmgr;
inherit (callPackage ../applications/window-managers/compton {}) compton compton-git;
compton = callPackage ../applications/window-managers/compton {};
xdaliclock = callPackage ../tools/misc/xdaliclock {};