nix: wrap hyprland-share-picker with hyprland in PATH

This commit is contained in:
Mihai Fufezan 2022-12-09 15:37:23 +02:00
parent 756789211e
commit 5f7eecff55
No known key found for this signature in database
GPG key ID: 5899325F2F120900
3 changed files with 36 additions and 32 deletions

View file

@ -26,12 +26,15 @@
(builtins.substring 4 2 longDate)
(builtins.substring 6 2 longDate)
]);
version = "0.pre" + "+date=" + (mkDate (self.lastModifiedDate or "19700101")) + "_" + (self.shortRev or "dirty");
in {
overlays.default = _: prev: {
overlays.default = _: prev: rec {
xdg-desktop-portal-hyprland = prev.callPackage ./nix/default.nix {
version = "0.pre" + "+date=" + (mkDate (self.lastModifiedDate or "19700101")) + "_" + (self.shortRev or "dirty");
inherit (inputs) hyprland-protocols;
inherit hyprland-share-picker version;
};
hyprland-share-picker = prev.libsForQt5.callPackage ./nix/hyprland-share-picker.nix {inherit version;};
};
packages = genSystems (system:

View file

@ -8,6 +8,7 @@
pkg-config,
wayland-protocols,
wayland-scanner,
hyprland-share-picker,
hyprland-protocols,
inih,
libdrm,
@ -17,39 +18,38 @@
wayland,
libsForQt5,
version ? "git",
}: let
hyprland-share-picker = libsForQt5.callPackage ./hyprland-share-picker.nix {inherit version;};
in
stdenv.mkDerivation {
pname = "xdg-desktop-portal-hyprland";
inherit version;
}:
stdenv.mkDerivation {
pname = "xdg-desktop-portal-hyprland";
inherit version;
src = ../.;
src = ../.;
strictDeps = true;
depsBuildBuild = [pkg-config];
nativeBuildInputs = [meson ninja pkg-config wayland-scanner makeWrapper];
buildInputs = [inih libdrm mesa pipewire systemd wayland wayland-protocols];
strictDeps = true;
depsBuildBuild = [pkg-config];
nativeBuildInputs = [meson ninja pkg-config wayland-scanner makeWrapper];
buildInputs = [inih libdrm mesa pipewire systemd wayland wayland-protocols];
preConfigure = ''
rmdir protocols/hyprland-protocols
preConfigure = ''
# for some reason rmdir doesn't work in a dirty tree
rmdir protocols/hyprland-protocols || true
ln -s ${hyprland-protocols.outPath}/ protocols/hyprland-protocols
'';
ln -s ${hyprland-protocols.outPath}/ protocols/hyprland-protocols
'';
mesonFlags = [
"-Dsd-bus-provider=libsystemd"
];
mesonFlags = [
"-Dsd-bus-provider=libsystemd"
];
postInstall = ''
wrapProgram $out/libexec/xdg-desktop-portal-hyprland --prefix PATH ":" ${lib.makeBinPath [hyprland-share-picker]}
'';
postInstall = ''
wrapProgram $out/libexec/xdg-desktop-portal-hyprland --prefix PATH ":" ${lib.makeBinPath [hyprland-share-picker]}
'';
meta = with lib; {
homepage = "https://github.com/emersion/xdg-desktop-portal-hyprland";
description = "xdg-desktop-portal backend for Hyprland";
maintainers = with maintainers; [fufexan];
platforms = platforms.linux;
license = licenses.mit;
};
}
meta = with lib; {
homepage = "https://github.com/emersion/xdg-desktop-portal-hyprland";
description = "xdg-desktop-portal backend for Hyprland";
maintainers = with maintainers; [fufexan];
platforms = platforms.linux;
license = licenses.mit;
};
}

View file

@ -5,6 +5,7 @@
qtbase,
makeShellWrapper,
wrapQtAppsHook,
hyprland,
slurp,
version ? "git",
...
@ -22,6 +23,6 @@ stdenv.mkDerivation {
postInstall = ''
wrapProgramShell $out/bin/hyprland-share-picker \
"''${qtWrapperArgs[@]}" \
--prefix PATH ":" ${lib.makeBinPath [slurp]}
--prefix PATH ":" ${lib.makeBinPath [slurp hyprland]}
'';
}