From 942fe94bc3c871713977690413aac26c5c42ebe0 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Wed, 3 Nov 2021 20:37:50 +0100 Subject: [PATCH] bitwarden: 1.28.1 -> 1.29.1 --- pkgs/tools/security/bitwarden/default.nix | 112 ++++++++++------------ 1 file changed, 48 insertions(+), 64 deletions(-) diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix index 7d7afa624931..050621cd20ef 100644 --- a/pkgs/tools/security/bitwarden/default.nix +++ b/pkgs/tools/security/bitwarden/default.nix @@ -4,6 +4,7 @@ , fetchurl , lib , libsecret +, libxshmfence , makeDesktopItem , makeWrapper , stdenv @@ -11,18 +12,55 @@ , wrapGAppsHook }: -let - inherit (stdenv.hostPlatform) system; - +stdenv.mkDerivation rec { pname = "bitwarden"; + version = "1.29.1"; - version = { - x86_64-linux = "1.28.1"; - }.${system} or ""; + src = fetchurl { + url = "https://github.com/bitwarden/desktop/releases/download/v${version}/Bitwarden-${version}-amd64.deb"; + sha256 = "0rxy19bazi7a6m2bpx6wadg5d9p0k324h369vgr5ppmxb69d6zp8"; + }; - sha256 = { - x86_64-linux = "sha256-vyEbISZDTN+CHqSEtElzfg4M4i+2RjUux5vzwJw8/dc="; - }.${system} or ""; + desktopItem = makeDesktopItem { + name = "bitwarden"; + exec = "bitwarden %U"; + icon = "bitwarden"; + comment = "A secure and free password manager for all of your devices"; + desktopName = "Bitwarden"; + categories = "Utility"; + }; + + dontBuild = true; + dontConfigure = true; + dontPatchELF = true; + dontWrapGApps = true; + + nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ]; + + buildInputs = [ libsecret libxshmfence ] ++ atomEnv.packages; + + unpackPhase = "dpkg-deb -x $src ."; + + installPhase = '' + mkdir -p "$out/bin" + cp -R "opt" "$out" + cp -R "usr/share" "$out/share" + chmod -R g-w "$out" + + # Desktop file + mkdir -p "$out/share/applications" + cp "${desktopItem}/share/applications/"* "$out/share/applications" + ''; + + runtimeDependencies = [ + (lib.getLib udev) + ]; + + postFixup = '' + makeWrapper $out/opt/Bitwarden/bitwarden $out/bin/bitwarden \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsecret stdenv.cc.cc ] }" \ + "''${gappsWrapperArgs[@]}" + ''; meta = with lib; { description = "A secure and free password manager for all of your devices"; @@ -31,58 +69,4 @@ let maintainers = with maintainers; [ kiwi ]; platforms = [ "x86_64-linux" ]; }; - - linux = stdenv.mkDerivation rec { - inherit pname version meta; - - src = fetchurl { - url = "https://github.com/bitwarden/desktop/releases/download/" - + "v${version}/Bitwarden-${version}-amd64.deb"; - inherit sha256; - }; - - desktopItem = makeDesktopItem { - name = "bitwarden"; - exec = "bitwarden %U"; - icon = "bitwarden"; - comment = "A secure and free password manager for all of your devices"; - desktopName = "Bitwarden"; - categories = "Utility"; - }; - - dontBuild = true; - dontConfigure = true; - dontPatchELF = true; - dontWrapGApps = true; - - buildInputs = [ libsecret ] ++ atomEnv.packages; - - nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ]; - - unpackPhase = "dpkg-deb -x $src ."; - - installPhase = '' - mkdir -p "$out/bin" - cp -R "opt" "$out" - cp -R "usr/share" "$out/share" - chmod -R g-w "$out" - - # Desktop file - mkdir -p "$out/share/applications" - cp "${desktopItem}/share/applications/"* "$out/share/applications" - ''; - - runtimeDependencies = [ - (lib.getLib udev) - ]; - - postFixup = '' - makeWrapper $out/opt/Bitwarden/bitwarden $out/bin/bitwarden \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsecret stdenv.cc.cc ] }" \ - "''${gappsWrapperArgs[@]}" - ''; - }; - -in if stdenv.isDarwin -then throw "Bitwarden has not been packaged for macOS yet" -else linux +}