nixpkgs/pkgs/applications/misc/1password/default.nix
Jeffery Utter 360f43277f _1password: Fix Darwin Builds
The latest update to 1.9.1 broke builds on darwin, due to some paths
changing in the unpacked darwin package.

This updates the darwin unpackPhase to use the updated path.
2021-05-11 20:08:42 -05:00

54 lines
1.9 KiB
Nix

{ lib, stdenv, fetchzip, autoPatchelfHook, fetchurl, xar, cpio }:
stdenv.mkDerivation rec {
pname = "1password";
version = "1.9.1";
src =
if stdenv.isLinux then fetchzip {
url = {
"i686-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
"x86_64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
"aarch64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_arm_v${version}.zip";
}.${stdenv.hostPlatform.system};
sha256 = {
"i686-linux" = "1x5khnp6yqrjf513x3y6l38rb121nib7d4aiz4cz7fh029kxjhd1";
"x86_64-linux" = "1ar8lzkndl7xzcinv93rzg8q25vb23fggbjkhgchgc5x9wkwk8hw";
"aarch64-linux" = "1q81pk6qmp96p1dbhx1ijln8f54rac8r81d4ghqx9v756s9szrr1";
}.${stdenv.hostPlatform.system};
stripRoot = false;
} else fetchurl {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.pkg";
sha256 = "0904wwy3wdhfvbkvpdap8141a9gqmn0dw45ikrzsqpg7pv1r2zch";
};
buildInputs = lib.optionals stdenv.isDarwin [ xar cpio ];
unpackPhase = lib.optionalString stdenv.isDarwin ''
xar -xf $src
zcat op.pkg/Payload | cpio -i
'';
installPhase = ''
install -D op $out/bin/op
'';
dontStrip = stdenv.isDarwin;
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/op --version
'';
meta = with lib; {
description = "1Password command-line tool";
homepage = "https://support.1password.com/command-line/";
downloadPage = "https://app-updates.agilebits.com/product_history/CLI";
maintainers = with maintainers; [ joelburget marsam ];
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
};
}