# NOTE: Adapted from nixpkgs xdg-desktop-portal-wlr derivation { lib , stdenv , fetchFromGitHub , fetchpatch , makeWrapper , meson , ninja , pkg-config , wayland-protocols , wayland-scanner # , grim , inih , libdrm , mesa , pipewire , scdoc # , slurp , systemd , wayland }: stdenv.mkDerivation rec { pname = "xdg-desktop-portal-termfilechooser"; version = "0.1.0"; src = fetchFromGitHub { owner = "GermainZ"; repo = pname; rev = "71dc7ab06751e51de392b9a7af2b50018e40e062"; # Was last commit on 17.04.2023 sha256 = "sha256-645hoLhQNncqfLKcYCgWLbSrTRUNELh6EAdgUVq3ypM="; }; # scdoc: mark as build-time dependency # https://github.com/emersion/xdg-desktop-portal-wlr/pull/248 # patches = [(fetchpatch { # url = "https://github.com/emersion/xdg-desktop-portal-wlr/commit/92ccd62428082ba855e359e83730c4370cd1aac7.patch"; # hash = "sha256-mU1whfp7BoSylaS3y+YwfABImZFOeuItSXCon0C7u20="; # })]; # Add hyprland to portal metainformation patches = [(fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/GermainZ/xdg-desktop-portal-termfilechooser/pull/6.patch"; hash = "sha256-GjK6GL15liHYm5U0XBSIf5H8Cc4RIWBD0O47lLWcep0="; })]; strictDeps = true; depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner makeWrapper ]; buildInputs = [ inih libdrm mesa pipewire systemd wayland wayland-protocols ]; mesonFlags = [ "-Dsd-bus-provider=libsystemd" ]; # postInstall = '' # wrapProgram $out/libexec/xdg-desktop-portal-termfilechooser --prefix PATH ":" ${lib.makeBinPath [ grim slurp ]} # ''; meta = with lib; { homepage = "https://github.com/GermainZ/xdg-desktop-portal-termfilechooser"; platforms = platforms.linux; license = licenses.mit; }; }