diff --git a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix index 0fe1a24e1f09..c443f407d5cd 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-shana/package.nix @@ -1,25 +1,36 @@ { lib, + stdenv, rustPlatform, fetchFromGitHub, meson, + rustc, + cargo, ninja, xdg-desktop-portal, }: -rustPlatform.buildRustPackage rec { +stdenv.mkDerivation (finalAttrs: { pname = "xdg-desktop-portal-shana"; version = "0.3.14"; src = fetchFromGitHub { owner = "Decodetalkers"; repo = "xdg-desktop-portal-shana"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-9uie6VFyi7sO8DbthUTgpEc68MvvLA+bUwyV/DSpKkE="; }; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-f9kfCoH0YHVzzZC4rChJgz0yQqVVAYR7Gpa6HuXhQZY="; + }; + nativeBuildInputs = [ meson + rustc + rustPlatform.cargoSetupHook + cargo ninja ]; @@ -27,20 +38,14 @@ rustPlatform.buildRustPackage rec { xdg-desktop-portal ]; - # Needed for letting meson run. rustPackage will overwrite it otherwise. - configurePhase = ""; - - mesonBuildType = "release"; - - useFetchCargoVendor = true; - cargoHash = "sha256-f9kfCoH0YHVzzZC4rChJgz0yQqVVAYR7Gpa6HuXhQZY="; - - meta = with lib; { + meta = { description = "Filechooser portal backend for any desktop environment"; homepage = "https://github.com/Decodetalkers/xdg-desktop-portal-shana"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = [ maintainers.samuelefacenda ]; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + samuelefacenda + Rishik-Y + ]; }; - -} +})