summaryrefslogtreecommitdiffstats
path: root/pkgs-temp/wlroots/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs-temp/wlroots/default.nix')
-rw-r--r--pkgs-temp/wlroots/default.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs-temp/wlroots/default.nix b/pkgs-temp/wlroots/default.nix
new file mode 100644
index 0000000..26c548f
--- /dev/null
+++ b/pkgs-temp/wlroots/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig
+, wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman
+, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
+, libpng, ffmpeg_4, freerdp
+}:
+
+stdenv.mkDerivation rec {
+ pname = "wlroots";
+ version = "6bb7639a0f35317cc8f29034577710c2387ebcd1";
+
+ src = fetchFromGitHub {
+ owner = "swaywm";
+ repo = "wlroots";
+ rev = version;
+ sha256 = "1dx5ghfcvl4d3mjnhm36x9zgsamlv9llq884560p4a65ygydlx02";
+ };
+
+ # $out for the library and $examples for the example programs (in examples):
+ outputs = [ "out" "examples" ];
+
+ nativeBuildInputs = [ meson ninja pkgconfig ];
+
+ buildInputs = [
+ wayland libGL wayland-protocols libinput libxkbcommon pixman
+ xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
+ libpng ffmpeg_4 freerdp
+ ];
+
+ mesonFlags = [
+ "-Dlibcap=enabled" "-Dlogind=enabled" "-Dxwayland=enabled" "-Dx11-backend=enabled"
+ "-Dxcb-icccm=enabled" "-Dxcb-errors=enabled"
+ ];
+
+ postInstall = ''
+ # Copy the library to $examples
+ mkdir -p $examples/lib
+ cp -P libwlroots* $examples/lib/
+ '';
+
+ postFixup = ''
+ # Install ALL example programs to $examples:
+ # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
+ # screenshot output-layout multi-pointer rotation tablet touch pointer
+ # simple
+ mkdir -p $examples/bin
+ cd ./examples
+ for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
+ cp "$binary" "$examples/bin/wlroots-$binary"
+ done
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A modular Wayland compositor library";
+ inherit (src.meta) homepage;
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ primeos ];
+ };
+}