Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: ff7ba7a2dce6
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ff8311492284
Choose a head ref
  • 3 commits
  • 1 file changed
  • 2 contributors

Commits on Jan 24, 2021

  1. picom: apply nixpkgs-fmt

    jluttine committed Jan 24, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    33532c4 View commit details
  2. picom: add withDebug option

    jluttine committed Jan 24, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    e788a4a View commit details

Commits on Jan 25, 2021

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    ff83114 View commit details
Showing with 69 additions and 17 deletions.
  1. +69 −17 pkgs/applications/window-managers/picom/default.nix
86 changes: 69 additions & 17 deletions pkgs/applications/window-managers/picom/default.nix
Original file line number Diff line number Diff line change
@@ -1,51 +1,96 @@
{ stdenv, lib, fetchFromGitHub, pkg-config, uthash, asciidoc, docbook_xml_dtd_45
, docbook_xsl, libxslt, libxml2, makeWrapper, meson, ninja
, xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev
, dbus, libconfig, libdrm, libGL, pcre, libX11
, libXinerama, libXext, xwininfo, libxdg_basedir }:
{ asciidoc
, dbus
, docbook_xml_dtd_45
, docbook_xsl
, fetchFromGitHub
, lib
, libconfig
, libdrm
, libev
, libGL
, libX11
, libxcb
, libxdg_basedir
, libXext
, libXinerama
, libxml2
, libxslt
, makeWrapper
, meson
, ninja
, pcre
, pixman
, pkg-config
, stdenv
, uthash
, xcbutilimage
, xcbutilrenderutil
, xorgproto
, xwininfo
, withDebug ? false
}:

stdenv.mkDerivation rec {
pname = "picom";
version = "8.2";

src = fetchFromGitHub {
owner = "yshui";
repo = "picom";
rev = "v${version}";
owner = "yshui";
repo = "picom";
rev = "v${version}";
sha256 = "0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl";
fetchSubmodules = true;
};

nativeBuildInputs = [
meson ninja
pkg-config
uthash
asciidoc
docbook_xml_dtd_45
docbook_xsl
makeWrapper
meson
ninja
pkg-config
uthash
];

buildInputs = [
dbus libX11 libXext
xorgproto
libXinerama libdrm pcre libxml2 libxslt libconfig libGL
libxcb xcbutilrenderutil xcbutilimage
pixman libev
dbus
libconfig
libdrm
libev
libGL
libX11
libxcb
libxdg_basedir
libXext
libXinerama
libxml2
libxslt
pcre
pixman
xcbutilimage
xcbutilrenderutil
xorgproto
];

mesonBuildType = "release";
# Use "debugoptimized" instead of "debug" so perhaps picom works better in
# normal usage too, not just temporary debugging.
mesonBuildType = if withDebug then "debugoptimized" else "release";
dontStrip = withDebug;

mesonFlags = [
"-Dwith_docs=true"
];

installFlags = [ "PREFIX=$(out)" ];

# In debug mode, also copy src directory to store. If you then run `gdb picom`
# in the bin directory of picom store path, gdb finds the source files.
postInstall = ''
wrapProgram $out/bin/picom-trans \
--prefix PATH : ${lib.makeBinPath [ xwininfo ]}
'' + lib.optionalString withDebug ''
cp -r ../src $out/
'';

meta = with lib; {
@@ -56,6 +101,13 @@ stdenv.mkDerivation rec {
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.
The package can be installed in debug mode as:
picom.override { withDebug = true; }
For gdb to find the source files, you need to run gdb in the bin directory
of picom package in the nix store.
'';
license = licenses.mit;
homepage = "https://github.com/yshui/picom";