diff --git a/pkgs/tools/misc/pipectl/default.nix b/pkgs/tools/misc/pipectl/default.nix new file mode 100644 index 000000000000..c5fb8c124f8a --- /dev/null +++ b/pkgs/tools/misc/pipectl/default.nix @@ -0,0 +1,26 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +}: + +stdenv.mkDerivation rec { + pname = "pipectl"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "Ferdi265"; + repo = pname; + rev = "v${version}"; + hash = "sha256-wa/SKKNXkl8XxE7XORodoAlrMc2QNGXGPE+/yya209Y="; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + homepage = "https://github.com/Ferdi265/pipectl"; + license = licenses.gpl3; + description = "a simple named pipe management utility"; + maintainers = with maintainers; [ synthetica ]; + }; +} diff --git a/pkgs/tools/wayland/wl-mirror/default.nix b/pkgs/tools/wayland/wl-mirror/default.nix index 0836723760e7..4476c5be93c7 100644 --- a/pkgs/tools/wayland/wl-mirror/default.nix +++ b/pkgs/tools/wayland/wl-mirror/default.nix @@ -8,17 +8,31 @@ , wayland-scanner , wlr-protocols , libGL +, installExampleScripts ? true +, makeWrapper +, pipectl +, slurp +, rofi }: +let + wl-present-binpath = lib.makeBinPath [ + pipectl + rofi + slurp + (placeholder "out") + ]; +in + stdenv.mkDerivation rec { pname = "wl-mirror"; - version = "0.5.0"; + version = "0.8.1"; src = fetchFromGitHub { owner = "Ferdi265"; repo = "wl-mirror"; rev = "v${version}"; - sha256 = "1wjdjzj6h1q51yg70gdrq2yrgg6ihamcwhizxfrjq8955yy2y6ly"; + hash = "sha256-P5rvZPpIStlOSGj3PaiXAMPWqgWpkC+4IrixEMwoGJU="; }; patchPhase = '' @@ -27,19 +41,22 @@ stdenv.mkDerivation rec { --replace 'WLR_PROTOCOL_DIR "/usr' 'WLR_PROTOCOL_DIR "${wlr-protocols}' ''; - nativeBuildInputs = [ cmake pkg-config wayland-scanner ]; - buildInputs = [ - libGL - wayland - wayland-protocols - wlr-protocols + cmakeFlags = [ + "-DINSTALL_EXAMPLE_SCRIPTS=${if installExampleScripts then "ON" else "OFF"}" ]; + postInstall = lib.optionalString installExampleScripts '' + wrapProgram $out/bin/wl-present --prefix PATH ":" ${wl-present-binpath} + ''; + + nativeBuildInputs = [ cmake pkg-config wayland-scanner makeWrapper ]; + buildInputs = [ libGL wayland wayland-protocols wlr-protocols ]; + meta = with lib; { homepage = "https://github.com/Ferdi265/wl-mirror"; description = "Mirrors an output onto a Wayland surface."; license = licenses.gpl3; - maintainers = with maintainers; [ twitchyliquid64 ]; + maintainers = with maintainers; [ synthetica twitchyliquid64 ]; platforms = platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa3b8b9f7337..deddae7994af 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8625,6 +8625,8 @@ with pkgs; pipe-rename = callPackage ../tools/misc/pipe-rename { }; + pipectl = callPackage ../tools/misc/pipectl { }; + pitivi = callPackage ../applications/video/pitivi { }; prism = callPackage ../applications/video/prism { };