matt1432
286211b5c5
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs: • Updated input 'custom-sidebar-src': 'github:elchininet/custom-sidebar' (2024-11-29) rev: 16d609cacba09038c348fbc55b7a5337e9e9f789 → 'github:elchininet/custom-sidebar' (2024-11-30) rev: dbae5ac3288d00e11abcb7c0535adaf7369a4419 • Updated input 'discord-overlay': 'github:matt1432/discord-nightly-overlay' (2024-11-26) rev: 0ea4f4d291ffa32a16a9a82153a23d049f700372 → 'github:matt1432/discord-nightly-overlay' (2024-11-30) rev: bc1e938628f7b3408473c1c3723e972cc01d7710 • Updated input 'discord-overlay/Vencord-src': 'github:Vendicated/vencord' (2024-11-25) rev: 60b776669bb2775e561b9a3a670d6e33eef72a48 → 'github:Vendicated/vencord' (2024-11-29) rev: fcece6199511108f7f9eeec65a6d9120f720deb2 • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder' (2024-11-28) rev: 0ae3c1f82702b07e5356a8e271e617c7dfe7135c → 'git+https://repo.dec05eba.com/gpu-screen-recorder' (2024-11-30) rev: 508934b14a78f420174c1953ee8460384444e72b • Updated input 'hyprland': 'github:hyprwm/Hyprland' (2024-11-28) rev: 8f83d29f00bfa89d1e8fe94b4dda98fe898b6b0e → 'github:hyprwm/Hyprland' (2024-11-30) rev: d26439a0fe5594fb26d5a3c01571f9490a9a2d2c • Updated input 'hyprland/aquamarine': 'github:hyprwm/aquamarine' (2024-11-16) rev: b31a6a4da8199ae3489057db7d36069a70749a56 → 'github:hyprwm/aquamarine' (2024-11-18) rev: 4468981c1c50999f315baa1508f0e53c4ee70c52 • Updated input 'hyprland/pre-commit-hooks': 'github:cachix/git-hooks.nix' (2024-11-11) rev: cd1af27aa85026ac759d5d3fccf650abe7e1bbf0 → 'github:cachix/git-hooks.nix' (2024-11-19) rev: 3308484d1a443fc5bc92012435d79e80458fe43c • Updated input 'nix-gaming': 'github:fufexan/nix-gaming' (2024-11-28) rev: effe1d54e23f430d3e803f63e9e47aba33acfb63 → 'github:fufexan/nix-gaming' (2024-12-01) rev: 59363ec701ee3e994a6c8afc88b61d1fab40c66a • Updated input 'nixpkgs': 'github:NixOS/nixpkgs' (2024-11-25) rev: 4633a7c72337ea8fd23a4f2ba3972865e3ec685d → 'github:NixOS/nixpkgs' (2024-11-28) rev: 970e93b9f82e2a0f3675757eb0bfc73297cc6370 • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland' (2024-11-30) rev: ebf97a67a38cd2a1026943b8b8e95664d86379a1 → 'github:nix-community/nixpkgs-wayland' (2024-11-30) rev: 712cdbcfa5868076354ae62ed8beb3beb2d42df9 • Updated input 'tuya-local-src': 'github:make-all/tuya-local' (2024-11-29) rev: 30140964a0056887a5380062a13b1f0ab86a9dbe → 'github:make-all/tuya-local' (2024-12-01) rev: de6244161aee9a22f7132c2ebc7a9aa7c63d2b3e Firefox Addons: floccus: 5.3.4 -> 5.4.0 Node modules: @eslint/js: 9.15.0 -> 9.16.0 @types/node: 22.9.1 -> 22.10.1 eslint: 9.15.0 -> 9.16.0 eslint-plugin-jsdoc: 50.5.0 -> 50.6.0 jiti: 2.4.0 -> 2.4.1 typescript: 5.6.3 -> 5.7.2 typescript-eslint: 8.15.0 -> 8.16.0
102 lines
1.9 KiB
Nix
102 lines
1.9 KiB
Nix
{
|
|
lib,
|
|
gpu-screen-recorder-src,
|
|
addDriverRunpath,
|
|
dbus,
|
|
ffmpeg,
|
|
libdrm,
|
|
libglvnd,
|
|
libpulseaudio,
|
|
libva,
|
|
makeWrapper,
|
|
meson,
|
|
ninja,
|
|
pipewire,
|
|
pkg-config,
|
|
stdenv,
|
|
vulkan-headers,
|
|
wayland,
|
|
xorg,
|
|
pname,
|
|
...
|
|
}: let
|
|
inherit (lib) makeLibraryPath;
|
|
inherit (builtins) fromTOML readFile;
|
|
|
|
tag =
|
|
(fromTOML (readFile "${gpu-screen-recorder-src}/project.conf"))
|
|
.package
|
|
.version;
|
|
in
|
|
stdenv.mkDerivation {
|
|
inherit pname;
|
|
version = "${tag}+${gpu-screen-recorder-src.shortRev}";
|
|
|
|
src = gpu-screen-recorder-src;
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
makeWrapper
|
|
meson
|
|
ninja
|
|
];
|
|
|
|
buildInputs = [
|
|
dbus
|
|
libpulseaudio
|
|
pipewire
|
|
ffmpeg
|
|
wayland
|
|
libdrm
|
|
libva
|
|
vulkan-headers
|
|
xorg.libXcomposite
|
|
xorg.libXdamage
|
|
xorg.libXi
|
|
xorg.libXrandr
|
|
];
|
|
|
|
mesonFlags = [
|
|
"-Dcapabilities=false"
|
|
"-Dnvidia_suspend_fix=false"
|
|
"-Dsystemd=false"
|
|
];
|
|
|
|
fixupPhase = ''
|
|
runHook preFixup
|
|
|
|
wrapProgram $out/bin/gpu-screen-recorder \
|
|
--prefix LD_LIBRARY_PATH : "${
|
|
makeLibraryPath [
|
|
addDriverRunpath.driverLink
|
|
libglvnd
|
|
]
|
|
}"
|
|
|
|
runHook postFixup
|
|
'';
|
|
|
|
# This is needed to force gsr to lookup kms in PATH
|
|
# to get the security wrapper
|
|
postFixup =
|
|
if pname == "gpu-screen-recorder"
|
|
then
|
|
# bash
|
|
''
|
|
rm $out/bin/gsr-kms-server
|
|
''
|
|
else
|
|
# bash
|
|
''
|
|
rm $out/bin/gpu-screen-recorder
|
|
rm $out/bin/.gpu-screen-recorder-wrapped
|
|
'';
|
|
|
|
meta = {
|
|
description = "Screen recorder that has minimal impact on system performance by recording a window using the GPU only";
|
|
homepage = "https://git.dec05eba.com/gpu-screen-recorder/about/";
|
|
license = lib.licenses.gpl3Only;
|
|
platforms = ["x86_64-linux"];
|
|
mainProgram = pname;
|
|
};
|
|
}
|