uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
77
pkgs/tools/admin/acme-sh/default.nix
Normal file
77
pkgs/tools/admin/acme-sh/default.nix
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, coreutils
|
||||
, curl
|
||||
, dnsutils
|
||||
, gnugrep
|
||||
, gnused
|
||||
, iproute2
|
||||
, makeWrapper
|
||||
, openssl
|
||||
, socat
|
||||
, unixtools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "acme.sh";
|
||||
version = "3.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "acmesh-official";
|
||||
repo = "acme.sh";
|
||||
rev = version;
|
||||
sha256 = "sha256-PHxL48Gj6CJG4r3LXKQCU0KARmTu7DQrC29oLi7gvU8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
installPhase = let
|
||||
binPath = lib.makeBinPath [
|
||||
coreutils
|
||||
curl
|
||||
dnsutils
|
||||
gnugrep
|
||||
gnused
|
||||
openssl
|
||||
socat
|
||||
(if stdenv.isLinux then iproute2 else unixtools.netstat)
|
||||
];
|
||||
in
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out $out/bin $out/libexec
|
||||
cp -R $src/* $_
|
||||
makeWrapper $out/libexec/acme.sh $out/bin/acme.sh \
|
||||
--prefix PATH : "${binPath}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://acme.sh/";
|
||||
description = "A pure Unix shell script implementing ACME client protocol";
|
||||
longDescription = ''
|
||||
An ACME Shell script: acme.sh
|
||||
|
||||
- An ACME protocol client written purely in Shell (Unix shell) language.
|
||||
- Full ACME protocol implementation.
|
||||
- Support ECDSA certs
|
||||
- Support SAN and wildcard certs
|
||||
- Simple, powerful and very easy to use. You only need 3 minutes to learn it.
|
||||
- Bash, dash and sh compatible.
|
||||
- Purely written in Shell with no dependencies on python.
|
||||
- Just one script to issue, renew and install your certificates automatically.
|
||||
- DOES NOT require root/sudoer access.
|
||||
- Docker ready
|
||||
- IPv6 ready
|
||||
- Cron job notifications for renewal or error etc.
|
||||
'';
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = teams.serokell.members;
|
||||
inherit (coreutils.meta) platforms;
|
||||
};
|
||||
}
|
||||
46
pkgs/tools/admin/adtool/default.nix
Normal file
46
pkgs/tools/admin/adtool/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ lib, stdenv, fetchurl, openldap }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "adtool";
|
||||
version = "1.3.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gp2x.org/adtool/${pname}-${version}.tar.gz";
|
||||
sha256 = "1awmpjamrwivi69i0j2fyrziy9s096ckviqd9c4llc3990mfsn4n";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--sysconfdir=/etc"
|
||||
];
|
||||
|
||||
installFlags = [
|
||||
"sysconfdir=$(out)/etc"
|
||||
];
|
||||
|
||||
buildInputs = [ openldap ];
|
||||
|
||||
# Workaround build failure on -fno-common toolchains like upstream
|
||||
# gcc-10. Otherwise build fails as:
|
||||
# ld: ../../src/lib/libactive_directory.a(active_directory.o):/build/adtool-1.3.3/src/lib/active_directory.h:31:
|
||||
# multiple definition of `system_config_file'; adtool.o:/build/adtool-1.3.3/src/tools/../../src/lib/active_directory.h:31: first defined here
|
||||
NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/doc/adtool
|
||||
mv $out/etc/* $out/share/doc/adtool
|
||||
rmdir $out/etc
|
||||
'';
|
||||
|
||||
# It requires an LDAP server for tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Active Directory administration utility for Unix";
|
||||
homepage = "https://gp2x.org/adtool";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
broken = true; # does not link against recent libldap versions and unmaintained since 2017
|
||||
};
|
||||
}
|
||||
37
pkgs/tools/admin/afterburn/default.nix
Normal file
37
pkgs/tools/admin/afterburn/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, openssl, pkg-config, fetchFromGitHub, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "afterburn";
|
||||
version = "5.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coreos";
|
||||
repo = "afterburn";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-yX95qmcyouSSjEHorMpRJjZyrxIjQorwTpGtGZN4s6s=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-DweJ608aJChn2ezAM7Ly0cwtLAvM1DZ5gc4WUVyKIco=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./systemd/afterburn-checkin.service --replace /usr/bin $out/bin
|
||||
substituteInPlace ./systemd/afterburn-firstboot-checkin.service --replace /usr/bin $out/bin
|
||||
substituteInPlace ./systemd/afterburn-sshkeys@.service.in --replace /usr/bin $out/bin
|
||||
substituteInPlace ./systemd/afterburn.service --replace /usr/bin $out/bin
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
DEFAULT_INSTANCE=root PREFIX= DESTDIR=$out make install-units
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/coreos/ignition";
|
||||
description = "This is a small utility, typically used in conjunction with Ignition, which reads metadata from a given cloud-provider and applies it to the system.";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.arianvp ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
33
pkgs/tools/admin/aliyun-cli/default.nix
Normal file
33
pkgs/tools/admin/aliyun-cli/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aliyun-cli";
|
||||
version = "3.0.121";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "aliyun";
|
||||
repo = pname;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-1D1JZZ/KMC4oZRaYvWpUazTk7llvX5WHPBxWEGCiKrI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-f3GXkAvTe8rPFWCR5TM4mDK/VOQWt2lrZrfJ/Wvw8Uc=";
|
||||
|
||||
subPackages = [ "main" ];
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/aliyun/aliyun-cli/cli.Version=${version}" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/main $out/bin/aliyun
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to manage and use Alibaba Cloud resources through a command line interface";
|
||||
homepage = "https://github.com/aliyun/aliyun-cli";
|
||||
changelog = "https://github.com/aliyun/aliyun-cli/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ ornxka ];
|
||||
mainProgram = "aliyun";
|
||||
};
|
||||
}
|
||||
72
pkgs/tools/admin/amazon-ec2-utils/default.nix
Normal file
72
pkgs/tools/admin/amazon-ec2-utils/default.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, curl
|
||||
, gawk
|
||||
, python3
|
||||
, installShellFiles
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "amazon-ec2-utils";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "amazon-ec2-utils";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-u1rHBV8uVcCywvQNYagtDleYB12tmhyqDbXTBzt45dk=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
strictDeps = true;
|
||||
buildInputs = [
|
||||
python3
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 -t $out/bin/ ebsnvme-id
|
||||
install -Dm755 -t $out/bin/ ec2-metadata
|
||||
install -Dm755 -t $out/bin/ ec2nvme-nsid
|
||||
install -Dm755 -t $out/bin/ ec2udev-vbd
|
||||
|
||||
install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-hvm-devices.rules
|
||||
install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-xen-vbd-devices.rules
|
||||
install -Dm644 -t $out/lib/udev/rules.d/ 53-ec2-read-ahead-kb.rules
|
||||
install -Dm644 -t $out/lib/udev/rules.d/ 70-ec2-nvme-devices.rules
|
||||
install -Dm644 -t $out/lib/udev/rules.d/ 60-cdrom_id.rules
|
||||
|
||||
installManPage doc/*.8
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for i in $out/etc/udev/rules.d/*.rules $out/lib/udev/rules.d/*.rules ; do
|
||||
substituteInPlace "$i" \
|
||||
--replace '/usr/sbin' "$out/bin" \
|
||||
--replace '/bin/awk' '${gawk}/bin/awk'
|
||||
done
|
||||
|
||||
substituteInPlace "$out/bin/ec2-metadata" \
|
||||
--replace 'curl' '${curl}/bin/curl'
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
# We cannot run
|
||||
# ec2-metadata --help
|
||||
# because it actually checks EC2 metadata even if --help is given
|
||||
# so it won't work in the test sandbox.
|
||||
installCheckPhase = ''
|
||||
$out/bin/ebsnvme-id --help
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/aws/amazon-ec2-utils";
|
||||
description = "Contains a set of utilities and settings for Linux deployments in EC2";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ketzacoatl thefloweringash ];
|
||||
};
|
||||
}
|
||||
24
pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
Normal file
24
pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ buildGoPackage, fetchFromGitHub, lib, ... }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "amazon-ecr-credential-helper";
|
||||
version = "0.6.0";
|
||||
|
||||
goPackagePath = "github.com/awslabs/amazon-ecr-credential-helper";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "amazon-ecr-credential-helper";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lkc8plWWmth8SjeWBCf1HTnCfg09QNIsN3xPePqnv6Y=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Amazon ECR Docker Credential Helper is a credential helper for the Docker daemon that makes it easier to use Amazon Elastic Container Registry";
|
||||
homepage = "https://github.com/awslabs/amazon-ecr-credential-helper";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ kalbasit ];
|
||||
mainProgram = "docker-credential-ecr-login";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
38
pkgs/tools/admin/analog/default.nix
Normal file
38
pkgs/tools/admin/analog/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ stdenv, lib, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "analog";
|
||||
version = "6.0.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "c-amie";
|
||||
repo = "analog-ce";
|
||||
rev = version;
|
||||
sha256 = "sha256-89nNkIUKzlcKKy0TfthA9T27A446Fqv9hYllGjYkDP4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i src/anlghead.h \
|
||||
-e "s|#define DEFAULTCONFIGFILE .*|#define DEFAULTCONFIGFILE \"$out/etc/analog.cfg\"|g" \
|
||||
-e "s|#define LANGDIR .*|#define LANGDIR \"$out/share/${pname}/lang/\"|g"
|
||||
substituteInPlace src/Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/etc $out/share/doc/$pname $out/share/man/man1 $out/share/$pname
|
||||
mv analog $out/bin/
|
||||
cp examples/big.cfg $out/etc/analog.cfg
|
||||
mv analog.man $out/share/man/man1/analog.1
|
||||
mv docs $out/share/doc/$pname/manual
|
||||
mv how-to $out/share/doc/$pname/
|
||||
mv lang images examples $out/share/$pname/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.c-amie.co.uk/software/analog/";
|
||||
license = lib.licenses.gpl2;
|
||||
description = "Powerful tool to generate web server statistics";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
|
||||
}
|
||||
25
pkgs/tools/admin/aws-env/default.nix
Normal file
25
pkgs/tools/admin/aws-env/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ buildGoPackage, fetchFromGitHub, lib }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "aws-env";
|
||||
version = "0.4";
|
||||
rev = "v${version}";
|
||||
|
||||
goPackagePath = "github.com/Droplr/aws-env";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Droplr";
|
||||
repo = pname;
|
||||
inherit rev;
|
||||
sha256 = "0pw1qz1nn0ig90p8d8c1qcwsdz0m9w63ib07carhh86gw55425j7";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Secure way to handle environment variables in Docker and envfile with AWS Parameter Store";
|
||||
homepage = "https://github.com/Droplr/aws-env";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ srhb ];
|
||||
};
|
||||
}
|
||||
12
pkgs/tools/admin/aws-env/deps.nix
generated
Normal file
12
pkgs/tools/admin/aws-env/deps.nix
generated
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
|
||||
[
|
||||
{
|
||||
goPackagePath = "github.com/aws/aws-sdk-go";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/aws/aws-sdk-go";
|
||||
rev = "5f03c87445c9dcd6aa831a76a77170919265aa97";
|
||||
sha256 = "146rwinw2x4r0f2pixv62b7mmhvnnfvvjmfaj6dqjxrhp0imcxdi";
|
||||
};
|
||||
}
|
||||
]
|
||||
64
pkgs/tools/admin/aws-google-auth/default.nix
Normal file
64
pkgs/tools/admin/aws-google-auth/default.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, beautifulsoup4
|
||||
, boto3
|
||||
, configparser
|
||||
, filelock
|
||||
, keyring
|
||||
, keyrings-alt
|
||||
, lxml
|
||||
, pillow
|
||||
, requests
|
||||
, six
|
||||
, tabulate
|
||||
, tzlocal
|
||||
, nose
|
||||
, mock
|
||||
, withU2F ? false, python-u2flib-host
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "aws-google-auth";
|
||||
version = "0.0.38";
|
||||
|
||||
# Pypi doesn't ship the tests, so we fetch directly from GitHub
|
||||
# https://github.com/cevoaustralia/aws-google-auth/issues/120
|
||||
src = fetchFromGitHub {
|
||||
owner = "cevoaustralia";
|
||||
repo = "aws-google-auth";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-/Xe4RDA9sBEsBBV1VP91VX0VfO8alK8L70m9WrB7qu4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
beautifulsoup4
|
||||
boto3
|
||||
configparser
|
||||
filelock
|
||||
keyring
|
||||
keyrings-alt
|
||||
lxml
|
||||
pillow
|
||||
requests
|
||||
six
|
||||
tabulate
|
||||
tzlocal
|
||||
] ++ lib.optional withU2F python-u2flib-host;
|
||||
|
||||
checkInputs = [
|
||||
mock
|
||||
nose
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Acquire AWS STS (temporary) credentials via Google Apps SAML Single Sign On";
|
||||
homepage = "https://github.com/cevoaustralia/aws-google-auth";
|
||||
maintainers = [ maintainers.marsam ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aws-lambda-runtime-interface-emulator";
|
||||
version = "1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "aws-lambda-runtime-interface-emulator";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-h4T4Go5gzKF1g1jSNZkx5U0icFxEZMYyS4L6cZMTFEY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ncUtJKJnWiut0ZVKm3MLWKq8eyHrTgv6Nva8xcvvqSI=";
|
||||
|
||||
# disabled because I lack the skill
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "To locally test their Lambda function packaged as a container image.";
|
||||
homepage = "https://github.com/aws/aws-lambda-runtime-interface-emulator";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ teto ];
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/admin/aws-mfa/default.nix
Normal file
34
pkgs/tools/admin/aws-mfa/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, boto3
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "aws-mfa";
|
||||
version = "0.0.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "broamski";
|
||||
repo = "aws-mfa";
|
||||
rev = version;
|
||||
sha256 = "1blcpa13zgyac3v8inc7fh9szxq2avdllx6w5ancfmyh5spc66ay";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
boto3
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"awsmfa"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Manage AWS MFA Security Credentials";
|
||||
homepage = "https://github.com/broamski/aws-mfa";
|
||||
license = [ licenses.mit ];
|
||||
maintainers = [ maintainers.srapenne ];
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/admin/aws-nuke/default.nix
Normal file
36
pkgs/tools/admin/aws-nuke/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aws-nuke";
|
||||
version = "2.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rebuy-de";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-e5EtIRIM0Gz2BXGaZx3jiO+MNdD1Eh9h7U+aZSBVFGc=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-tRFYZ0GBJDumvfOYMJDcYqTlTn5do3trZ1gXafuDVi4=";
|
||||
|
||||
preBuild = ''
|
||||
if [ "x$outputHashAlgo" != "x" ]; then
|
||||
# Only `go generate` when fetching the go mod vendor code
|
||||
go generate ./...
|
||||
fi
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Nuke a whole AWS account and delete all its resources";
|
||||
homepage = "https://github.com/rebuy-de/aws-nuke";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ grahamc ];
|
||||
};
|
||||
}
|
||||
29
pkgs/tools/admin/aws-rotate-key/default.nix
Normal file
29
pkgs/tools/admin/aws-rotate-key/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, testers, aws-rotate-key }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aws-rotate-key";
|
||||
version = "1.0.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Fullscreen";
|
||||
repo = "aws-rotate-key";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5kV87uQDSc/qpm79Pd2nXo/EcbMlhZqFYaw+gJQa2uo=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-h7tmJx/Um1Cy/ojiFjoKCH/LcOwhGU8ADb5WwmrkkJM=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = aws-rotate-key;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Easily rotate your AWS key";
|
||||
homepage = "https://github.com/Fullscreen/aws-rotate-key";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.mbode ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
54
pkgs/tools/admin/aws-vault/default.nix
Normal file
54
pkgs/tools/admin/aws-vault/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, lib
|
||||
, makeWrapper
|
||||
, xdg-utils
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "aws-vault";
|
||||
version = "6.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "99designs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wJVbB1MPSKX8/gTX29ThPDxJJRW79+PDwhGDGODtRko=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-h9qGrb2UxtdKewBsWNcir4YfjUNczYP+WiNoWx45w30=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/aws-vault --prefix PATH : ${lib.makeBinPath [ xdg-utils ]}
|
||||
installShellCompletion --cmd aws-vault \
|
||||
--bash $src/contrib/completions/bash/aws-vault.bash \
|
||||
--fish $src/contrib/completions/fish/aws-vault.fish \
|
||||
--zsh $src/contrib/completions/zsh/aws-vault.zsh
|
||||
'';
|
||||
|
||||
|
||||
doCheck = false;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
# set the version. see: aws-vault's Makefile
|
||||
ldflags = [
|
||||
"-X main.Version=v${version}"
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/aws-vault --version 2>&1 | grep ${version} > /dev/null
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"A vault for securely storing and accessing AWS credentials in development environments";
|
||||
homepage = "https://github.com/99designs/aws-vault";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ zimbatm ];
|
||||
};
|
||||
}
|
||||
95
pkgs/tools/admin/awscli/default.nix
Normal file
95
pkgs/tools/admin/awscli/default.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, groff
|
||||
, less
|
||||
}:
|
||||
let
|
||||
py = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
# TODO: https://github.com/aws/aws-cli/pull/5712
|
||||
colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.4.3";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9";
|
||||
};
|
||||
});
|
||||
pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "5.4.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "yaml";
|
||||
repo = "pyyaml";
|
||||
rev = version;
|
||||
hash = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM=";
|
||||
};
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all
|
||||
runHook postCheck
|
||||
'';
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
with py.pkgs; buildPythonApplication rec {
|
||||
pname = "awscli";
|
||||
version = "1.22.88"; # N.B: if you change this, change botocore and boto3 to a matching version too
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-fwbejwcT4piC8Zr6+ubxMd+TuF9O4icOentI2GlhYrc=";
|
||||
};
|
||||
|
||||
# https://github.com/aws/aws-cli/issues/4837
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "docutils>=0.10,<0.16" "docutils>=0.10" \
|
||||
--replace "rsa>=3.1.2,<4.8" "rsa<5,>=3.1.2"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
botocore
|
||||
bcdoc
|
||||
s3transfer
|
||||
six
|
||||
colorama
|
||||
docutils
|
||||
rsa
|
||||
pyyaml
|
||||
groff
|
||||
less
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/bash-completion/completions
|
||||
echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/awscli
|
||||
|
||||
mkdir -p $out/share/zsh/site-functions
|
||||
mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
|
||||
|
||||
rm $out/bin/aws.cmd
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
python = py; # for aws_shell
|
||||
};
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
$out/bin/aws --version | grep "${py.pkgs.botocore.version}"
|
||||
$out/bin/aws --version | grep "${version}"
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://aws.amazon.com/cli/";
|
||||
description = "Unified tool to manage your AWS services";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ muflax ];
|
||||
};
|
||||
}
|
||||
105
pkgs/tools/admin/awscli2/default.nix
Normal file
105
pkgs/tools/admin/awscli2/default.nix
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
{ lib
|
||||
, python3
|
||||
, groff
|
||||
, less
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
let
|
||||
py = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
awscrt = super.awscrt.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.13.5";
|
||||
src = self.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-dUNljMKsbl6eByhEYivWgRJczTBw3N1RVl8r3e898mg=";
|
||||
};
|
||||
});
|
||||
jmespath = super.jmespath.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.10.0";
|
||||
src = self.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-uF0FZ7hmYUmpMXJxLmiSBzQzPAzn6Jt4s+mH9x5e1Pk=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
with py.pkgs; buildPythonApplication rec {
|
||||
pname = "awscli2";
|
||||
version = "2.7.3"; # N.B: if you change this, check if overrides are still up-to-date
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "aws-cli";
|
||||
rev = version;
|
||||
sha256 = "sha256-CM20zBuby1X+XOiphDDtWHUB08Mw7IYf0aZUWIvEAqI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
awscrt
|
||||
bcdoc
|
||||
colorama
|
||||
cryptography
|
||||
distro
|
||||
docutils
|
||||
groff
|
||||
less
|
||||
prompt-toolkit
|
||||
pyyaml
|
||||
rsa
|
||||
ruamel-yaml
|
||||
wcwidth
|
||||
python-dateutil
|
||||
jmespath
|
||||
urllib3
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
jsonschema
|
||||
mock
|
||||
pytestCheckHook
|
||||
pytest-xdist
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "colorama>=0.2.5,<0.4.4" "colorama" \
|
||||
--replace "docutils>=0.10,<0.16" "docutils" \
|
||||
--replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml" \
|
||||
--replace "wcwidth<0.2.0" "wcwidth" \
|
||||
--replace "distro>=1.5.0,<1.6.0" "distro"
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
export PATH=$PATH:$out/bin
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/16144#issuecomment-225422439
|
||||
export HOME=$TMP
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/${python3.sitePackages}/awscli/data
|
||||
${python3.interpreter} scripts/gen-ac-index --index-location $out/${python3.sitePackages}/awscli/data/ac.index
|
||||
|
||||
mkdir -p $out/share/bash-completion/completions
|
||||
echo "complete -C $out/bin/aws_completer aws" > $out/share/bash-completion/completions/aws
|
||||
|
||||
mkdir -p $out/share/zsh/site-functions
|
||||
mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
|
||||
|
||||
rm $out/bin/aws.cmd
|
||||
'';
|
||||
|
||||
passthru.python = py; # for aws_shell
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html";
|
||||
changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst";
|
||||
description = "Unified tool to manage your AWS services";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ bhipple davegallant bryanasdev000 ];
|
||||
};
|
||||
}
|
||||
58
pkgs/tools/admin/awslimitchecker/default.nix
Normal file
58
pkgs/tools/admin/awslimitchecker/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ lib, python3Packages, fetchFromGitHub }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "awslimitchecker";
|
||||
version = "12.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jantman";
|
||||
repo = "awslimitchecker";
|
||||
rev = version;
|
||||
sha256 = "1p6n4kziyl6sfq7vgga9v88ddwh3sgnfb1m1cx6q25n0wyl7phgv";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
boto3
|
||||
botocore
|
||||
pytz
|
||||
termcolor
|
||||
versionfinder
|
||||
];
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
freezegun
|
||||
onetimepass
|
||||
pytestCheckHook
|
||||
pyotp
|
||||
testfixtures
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix the version lookup to use only the hardcoded version in the source package
|
||||
./version.patch
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"awslimitchecker/tests"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# AWS tests that use the network
|
||||
"awslimitchecker/tests/services"
|
||||
"awslimitchecker/tests/test_checker.py"
|
||||
"awslimitchecker/tests/test_runner.py"
|
||||
|
||||
# the version lookup tests as patched above
|
||||
"awslimitchecker/tests/test_version.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "awslimitchecker.checker" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://awslimitchecker.readthedocs.org";
|
||||
changelog = "https://github.com/jantman/awslimitchecker/blob/${version}/CHANGES.rst";
|
||||
description = "A script and python package to check your AWS service limits and usage via boto3";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ zakame ];
|
||||
};
|
||||
}
|
||||
35
pkgs/tools/admin/awslimitchecker/version.patch
Normal file
35
pkgs/tools/admin/awslimitchecker/version.patch
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
--- a/awslimitchecker/version.py
|
||||
+++ b/awslimitchecker/version.py
|
||||
@@ -111,32 +106,5 @@ def _get_version_info():
|
||||
:returns: awslimitchecker version
|
||||
:rtype: str
|
||||
"""
|
||||
- if os.environ.get('VERSIONCHECK_DEBUG', '') != 'true':
|
||||
- for lname in ['versionfinder', 'pip', 'git']:
|
||||
- l = logging.getLogger(lname)
|
||||
- l.setLevel(logging.CRITICAL)
|
||||
- l.propagate = True
|
||||
- try:
|
||||
- vinfo = find_version('awslimitchecker')
|
||||
- dirty = ''
|
||||
- if vinfo.git_is_dirty:
|
||||
- dirty = '*'
|
||||
- tag = vinfo.git_tag
|
||||
- if tag is not None:
|
||||
- tag += dirty
|
||||
- commit = vinfo.git_commit
|
||||
- if commit is not None:
|
||||
- if len(commit) > 7:
|
||||
- commit = commit[:8]
|
||||
- commit += dirty
|
||||
- return AWSLimitCheckerVersion(
|
||||
- vinfo.version,
|
||||
- vinfo.url,
|
||||
- tag=tag,
|
||||
- commit=commit
|
||||
- )
|
||||
- except Exception:
|
||||
- logger.exception("Error checking installed version; this installation "
|
||||
- "may not be in compliance with the AGPLv3 license:")
|
||||
# fall back to returning just the hard-coded release information
|
||||
return AWSLimitCheckerVersion(_VERSION, _PROJECT_URL)
|
||||
51
pkgs/tools/admin/awslogs/default.nix
Normal file
51
pkgs/tools/admin/awslogs/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "awslogs";
|
||||
version = "0.14.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jorgebastida";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-DrW8s0omQqLp1gaoR6k/YR11afRjUbGYrFtfYhby2b8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
boto3
|
||||
termcolor
|
||||
python-dateutil
|
||||
docutils
|
||||
setuptools
|
||||
jmespath
|
||||
];
|
||||
|
||||
checkInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "jmespath>=0.7.1,<1.0.0" "jmespath>=0.7.1"
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
"test_main_get_query"
|
||||
"test_main_get_with_color"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"awslogs"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "AWS CloudWatch logs for Humans";
|
||||
homepage = "https://github.com/jorgebastida/awslogs";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ dbrock ];
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/admin/awsweeper/default.nix
Normal file
26
pkgs/tools/admin/awsweeper/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "awsweeper";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jckuester";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5D/4Z8ADlA+4+2EINmP5OfX5exzhfbq2TydPRlJDA6Y=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-jzK56x5mzQkD3tSs6X0Z2Zn1OLXFHgWHz0YLZ3m3NS4=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/jckuester/awsweeper/internal.version=${version}" "-X github.com/jckuester/awsweeper/internal.commit=${src.rev}" "-X github.com/jckuester/awsweeper/internal.date=unknown" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to clean out your AWS account";
|
||||
homepage = "https://github.com/jckuester/awsweeper";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [ maintainers.marsam ];
|
||||
};
|
||||
}
|
||||
273
pkgs/tools/admin/azure-cli/default.nix
Normal file
273
pkgs/tools/admin/azure-cli/default.nix
Normal file
|
|
@ -0,0 +1,273 @@
|
|||
{ stdenv, lib, python3, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
let
|
||||
version = "2.34.1";
|
||||
srcName = "azure-cli-${version}-src";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = srcName;
|
||||
owner = "Azure";
|
||||
repo = "azure-cli";
|
||||
rev = "azure-cli-${version}";
|
||||
sha256 = "sha256-BEEwxf3UTShKi3K/uBK1yMxyPCvybL/BbKsu8XAwu0M=";
|
||||
};
|
||||
|
||||
# put packages that needs to be overriden in the py package scope
|
||||
py = import ./python-packages.nix {
|
||||
inherit stdenv lib src version python3;
|
||||
};
|
||||
in
|
||||
py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
|
||||
pname = "azure-cli";
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "${srcName}/src/azure-cli";
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "chardet~=3.0.4" "chardet" \
|
||||
--replace "javaproperties~=0.5.1" "javaproperties" \
|
||||
--replace "pytz==2019.1" "pytz" \
|
||||
--replace "scp~=0.13.2" "scp" \
|
||||
--replace "PyNaCl~=1.4.0" "PyNaCl" \
|
||||
--replace "jsondiff~=1.2.0" "jsondiff~=1.2" \
|
||||
--replace "antlr4-python3-runtime~=4.7.2" "antlr4-python3-runtime~=4.7" \
|
||||
--replace "mock~=4.0" "mock"
|
||||
|
||||
# remove namespace hacks
|
||||
# remove urllib3 because it was added as 'urllib3[secure]', which doesn't get handled well
|
||||
sed -i setup.py \
|
||||
-e '/azure-cli-command_modules-nspkg/d' \
|
||||
-e '/azure-cli-nspkg/d' \
|
||||
-e '/urllib3/d'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
propagatedBuildInputs = with py.pkgs; [
|
||||
azure-appconfiguration
|
||||
azure-batch
|
||||
azure-cli-core
|
||||
azure-cli-telemetry
|
||||
azure-cosmos
|
||||
azure-datalake-store
|
||||
azure-functions-devops-build
|
||||
azure-graphrbac
|
||||
azure-identity
|
||||
azure-keyvault
|
||||
azure-keyvault-administration
|
||||
azure-keyvault-keys
|
||||
azure-loganalytics
|
||||
azure-mgmt-advisor
|
||||
azure-mgmt-apimanagement
|
||||
azure-mgmt-applicationinsights
|
||||
azure-mgmt-appconfiguration
|
||||
azure-mgmt-authorization
|
||||
azure-mgmt-batch
|
||||
azure-mgmt-batchai
|
||||
azure-mgmt-billing
|
||||
azure-mgmt-botservice
|
||||
azure-mgmt-cdn
|
||||
azure-mgmt-cognitiveservices
|
||||
azure-mgmt-compute
|
||||
azure-mgmt-consumption
|
||||
azure-mgmt-containerinstance
|
||||
azure-mgmt-containerregistry
|
||||
azure-mgmt-containerservice
|
||||
azure-mgmt-cosmosdb
|
||||
azure-mgmt-databoxedge
|
||||
azure-mgmt-datalake-analytics
|
||||
azure-mgmt-datalake-store
|
||||
azure-mgmt-datamigration
|
||||
azure-mgmt-deploymentmanager
|
||||
azure-mgmt-devtestlabs
|
||||
azure-mgmt-dns
|
||||
azure-mgmt-eventgrid
|
||||
azure-mgmt-eventhub
|
||||
azure-mgmt-extendedlocation
|
||||
azure-mgmt-hdinsight
|
||||
azure-mgmt-imagebuilder
|
||||
azure-mgmt-iotcentral
|
||||
azure-mgmt-iothub
|
||||
azure-mgmt-iothubprovisioningservices
|
||||
azure-mgmt-keyvault
|
||||
azure-mgmt-kusto
|
||||
azure-mgmt-loganalytics
|
||||
azure-mgmt-managedservices
|
||||
azure-mgmt-managementgroups
|
||||
azure-mgmt-maps
|
||||
azure-mgmt-marketplaceordering
|
||||
azure-mgmt-media
|
||||
azure-mgmt-monitor
|
||||
azure-mgmt-msi
|
||||
azure-mgmt-network
|
||||
azure-mgmt-netapp
|
||||
azure-mgmt-policyinsights
|
||||
azure-mgmt-privatedns
|
||||
azure-mgmt-rdbms
|
||||
azure-mgmt-recoveryservices
|
||||
azure-mgmt-recoveryservicesbackup
|
||||
azure-mgmt-redhatopenshift
|
||||
azure-mgmt-redis
|
||||
azure-mgmt-relay
|
||||
azure-mgmt-reservations
|
||||
azure-mgmt-resource
|
||||
azure-mgmt-search
|
||||
azure-mgmt-security
|
||||
azure-mgmt-servicebus
|
||||
azure-mgmt-servicefabric
|
||||
azure-mgmt-servicefabricmanagedclusters
|
||||
azure-mgmt-servicelinker
|
||||
azure-mgmt-signalr
|
||||
azure-mgmt-sql
|
||||
azure-mgmt-sqlvirtualmachine
|
||||
azure-mgmt-storage
|
||||
azure-mgmt-synapse
|
||||
azure-mgmt-trafficmanager
|
||||
azure-mgmt-web
|
||||
azure-multiapi-storage
|
||||
azure-storage-blob
|
||||
azure-synapse-accesscontrol
|
||||
azure-synapse-artifacts
|
||||
azure-synapse-managedprivateendpoints
|
||||
azure-synapse-spark
|
||||
colorama
|
||||
cryptography
|
||||
distro
|
||||
Fabric
|
||||
jsmin
|
||||
knack
|
||||
mock
|
||||
paramiko
|
||||
pydocumentdb
|
||||
PyGithub
|
||||
pygments
|
||||
pynacl
|
||||
pyopenssl
|
||||
pytz
|
||||
pyyaml
|
||||
psutil
|
||||
requests
|
||||
scp
|
||||
semver
|
||||
six
|
||||
sshtunnel
|
||||
urllib3
|
||||
vsts-cd-manager
|
||||
websocket-client
|
||||
xmltodict
|
||||
javaproperties
|
||||
jsondiff
|
||||
# urllib3[secure]
|
||||
# shell completion
|
||||
argcomplete
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace az.completion.sh \
|
||||
--replace register-python-argcomplete ${py.pkgs.argcomplete}/bin/register-python-argcomplete
|
||||
installShellCompletion --bash --name az.bash az.completion.sh
|
||||
installShellCompletion --zsh --name _az az.completion.sh
|
||||
|
||||
# remove garbage
|
||||
rm $out/bin/az.bat
|
||||
rm $out/bin/az.completion.sh
|
||||
'';
|
||||
|
||||
# wrap the executable so that the python packages are available
|
||||
# it's just a shebang script which calls `python -m azure.cli "$@"`
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/az \
|
||||
--set PYTHONPATH $PYTHONPATH
|
||||
'';
|
||||
|
||||
# almost the entire test suite requires an azure account setup and networking
|
||||
# ensure that the azure namespaces are setup correctly and that azure.cli can be accessed
|
||||
checkPhase = ''
|
||||
HOME=$TMPDIR $out/bin/az --help > /dev/null
|
||||
'';
|
||||
|
||||
# ensure these namespaces are able to be accessed
|
||||
pythonImportsCheck = [
|
||||
"azure.batch"
|
||||
"azure.cli.core"
|
||||
"azure.cli.telemetry"
|
||||
"azure.cosmos"
|
||||
"azure.datalake.store"
|
||||
"azure_functions_devops_build"
|
||||
"azure.graphrbac"
|
||||
"azure.keyvault"
|
||||
"azure.loganalytics"
|
||||
"azure.mgmt.advisor"
|
||||
"azure.mgmt.apimanagement"
|
||||
"azure.mgmt.applicationinsights"
|
||||
"azure.mgmt.appconfiguration"
|
||||
"azure.mgmt.authorization"
|
||||
"azure.mgmt.batch"
|
||||
"azure.mgmt.batchai"
|
||||
"azure.mgmt.billing"
|
||||
"azure.mgmt.botservice"
|
||||
"azure.mgmt.cdn"
|
||||
"azure.mgmt.cognitiveservices"
|
||||
"azure.mgmt.compute"
|
||||
"azure.mgmt.consumption"
|
||||
"azure.mgmt.containerinstance"
|
||||
"azure.mgmt.containerregistry"
|
||||
"azure.mgmt.containerservice"
|
||||
"azure.mgmt.cosmosdb"
|
||||
"azure.mgmt.datalake.analytics"
|
||||
"azure.mgmt.datalake.store"
|
||||
"azure.mgmt.datamigration"
|
||||
"azure.mgmt.deploymentmanager"
|
||||
"azure.mgmt.devtestlabs"
|
||||
"azure.mgmt.dns"
|
||||
"azure.mgmt.eventgrid"
|
||||
"azure.mgmt.eventhub"
|
||||
"azure.mgmt.hdinsight"
|
||||
"azure.mgmt.imagebuilder"
|
||||
"azure.mgmt.iotcentral"
|
||||
"azure.mgmt.iothub"
|
||||
"azure.mgmt.iothubprovisioningservices"
|
||||
"azure.mgmt.keyvault"
|
||||
"azure.mgmt.kusto"
|
||||
"azure.mgmt.loganalytics"
|
||||
"azure.mgmt.managedservices"
|
||||
"azure.mgmt.managementgroups"
|
||||
"azure.mgmt.maps"
|
||||
"azure.mgmt.marketplaceordering"
|
||||
"azure.mgmt.media"
|
||||
"azure.mgmt.monitor"
|
||||
"azure.mgmt.msi"
|
||||
"azure.mgmt.network"
|
||||
"azure.mgmt.netapp"
|
||||
"azure.mgmt.policyinsights"
|
||||
"azure.mgmt.privatedns"
|
||||
"azure.mgmt.rdbms"
|
||||
"azure.mgmt.recoveryservices"
|
||||
"azure.mgmt.recoveryservicesbackup"
|
||||
"azure.mgmt.redis"
|
||||
"azure.mgmt.relay"
|
||||
"azure.mgmt.reservations"
|
||||
"azure.mgmt.resource"
|
||||
"azure.mgmt.search"
|
||||
"azure.mgmt.security"
|
||||
"azure.mgmt.servicebus"
|
||||
"azure.mgmt.servicefabric"
|
||||
"azure.mgmt.signalr"
|
||||
"azure.mgmt.sql"
|
||||
"azure.mgmt.sqlvirtualmachine"
|
||||
"azure.mgmt.storage"
|
||||
"azure.mgmt.trafficmanager"
|
||||
"azure.mgmt.web"
|
||||
"azure.storage.blob"
|
||||
"azure.storage.common"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/Azure/azure-cli";
|
||||
description = "Next generation multi-platform command line experience for Azure";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
})
|
||||
|
||||
542
pkgs/tools/admin/azure-cli/python-packages.nix
Normal file
542
pkgs/tools/admin/azure-cli/python-packages.nix
Normal file
|
|
@ -0,0 +1,542 @@
|
|||
{ stdenv, python3, lib, src, version }:
|
||||
|
||||
let
|
||||
buildAzureCliPackage = with py.pkgs; attrs: buildPythonPackage attrs;
|
||||
|
||||
overrideAzureMgmtPackage = package: version: extension: sha256:
|
||||
# check to make sure overriding is even necessary
|
||||
if version == package.version then
|
||||
package
|
||||
else package.overrideAttrs(oldAttrs: rec {
|
||||
inherit version;
|
||||
|
||||
src = py.pkgs.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version sha256 extension;
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
rm -f azure_bdist_wheel.py
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "azure-namespace-package = azure-mgmt-nspkg" ""
|
||||
'';
|
||||
|
||||
# force PEP420
|
||||
pythonNamespaces = [ "azure.mgmt" ];
|
||||
});
|
||||
|
||||
py = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
inherit buildAzureCliPackage;
|
||||
|
||||
# core and the actual application are highly coupled
|
||||
azure-cli-core = buildAzureCliPackage {
|
||||
pname = "azure-cli-core";
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "${src.name}/src/azure-cli-core";
|
||||
|
||||
propagatedBuildInputs = with self; [
|
||||
adal
|
||||
antlr4-python3-runtime
|
||||
argcomplete
|
||||
azure-common
|
||||
azure-cli-telemetry
|
||||
azure-mgmt-core
|
||||
azure-mgmt-resource
|
||||
colorama
|
||||
cryptography
|
||||
humanfriendly
|
||||
jmespath
|
||||
knack
|
||||
msal
|
||||
msal-extensions
|
||||
msrest
|
||||
msrestazure
|
||||
paramiko
|
||||
pkginfo
|
||||
psutil
|
||||
pygments
|
||||
pyjwt
|
||||
pyopenssl
|
||||
pyperclip
|
||||
pyyaml
|
||||
requests
|
||||
six
|
||||
tabulate
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "requests[socks]~=2.25.1" "requests[socks]~=2.25" \
|
||||
--replace "cryptography>=3.2,<3.4" "cryptography" \
|
||||
--replace "msal-extensions>=0.3.1,<0.4" "msal-extensions"
|
||||
'';
|
||||
|
||||
checkInputs = with self; [ pytest ];
|
||||
doCheck = stdenv.isLinux;
|
||||
# ignore tests that does network call, or assume powershell
|
||||
checkPhase = ''
|
||||
rm azure/{,cli/}__init__.py
|
||||
python -c 'import azure.common; print(azure.common)'
|
||||
PYTHONPATH=$PWD:${src}/src/azure-cli-testsdk:$PYTHONPATH HOME=$TMPDIR pytest \
|
||||
azure/cli/core/tests \
|
||||
--ignore=azure/cli/core/tests/test_profile.py \
|
||||
--ignore=azure/cli/core/tests/test_generic_update.py \
|
||||
-k 'not metadata_url and not test_send_raw_requests and not test_format_styled_text_legacy_powershell'
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"azure.cli.telemetry"
|
||||
"azure.cli.core"
|
||||
];
|
||||
};
|
||||
|
||||
azure-cli-telemetry = buildAzureCliPackage {
|
||||
pname = "azure-cli-telemetry";
|
||||
version = "1.0.4"; # might be wrong, but doesn't really matter
|
||||
inherit src;
|
||||
|
||||
sourceRoot = "${src.name}/src/azure-cli-telemetry";
|
||||
|
||||
propagatedBuildInputs = with super; [
|
||||
applicationinsights
|
||||
portalocker
|
||||
];
|
||||
|
||||
# upstream doesn't update this requirement probably because they use pip
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "portalocker~=1.6" "portalocker"
|
||||
'';
|
||||
|
||||
checkInputs = [ py.pkgs.pytest ];
|
||||
# ignore flaky test
|
||||
checkPhase = ''
|
||||
cd azure
|
||||
HOME=$TMPDIR pytest -k 'not test_create_telemetry_note_file_from_scratch'
|
||||
'';
|
||||
};
|
||||
|
||||
azure-batch = overrideAzureMgmtPackage super.azure-batch "12.0.0" "zip"
|
||||
"sha256-GpseF4mEp79JWvZ7zOUfDbHkqKlXr7KeM1VKFKlnTes=";
|
||||
|
||||
azure-mgmt-apimanagement = overrideAzureMgmtPackage super.azure-mgmt-apimanagement "3.0.0" "zip"
|
||||
"9262f54ed387eb083d8dae66d32a8df35647319b902bd498cdc376f50a12d154";
|
||||
|
||||
azure-mgmt-batch = overrideAzureMgmtPackage super.azure-mgmt-batch "16.0.0" "zip"
|
||||
"1b3cecd6f16813879c6ac1a1bb01f9a6f2752cd1f9157eb04d5e41e4a89f3c34";
|
||||
|
||||
azure-mgmt-batchai = overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip"
|
||||
"sha256-mT6vvjWbq0RWQidugR229E8JeVEiobPD3XA/nDM3I6Y=";
|
||||
|
||||
azure-mgmt-billing = overrideAzureMgmtPackage super.azure-mgmt-billing "6.0.0" "zip"
|
||||
"d4f5c5a4188a456fe1eb32b6c45f55ca2069c74be41eb76921840b39f2f5c07f";
|
||||
|
||||
azure-mgmt-botservice = overrideAzureMgmtPackage super.azure-mgmt-botservice "0.3.0" "zip"
|
||||
"f8318878a66a0685a01bf27b7d1409c44eb90eb72b0a616c1a2455c72330f2f1";
|
||||
|
||||
azure-mgmt-policyinsights = overrideAzureMgmtPackage super.azure-mgmt-policyinsights "1.0.0" "zip"
|
||||
"75103fb4541aeae30bb687dee1fedd9ca65530e6b97b2d9ea87f74816905202a";
|
||||
|
||||
azure-mgmt-rdbms = overrideAzureMgmtPackage super.azure-mgmt-rdbms "10.0.0" "zip"
|
||||
"bdc479b3bbcac423943d63e746a81dd5fc80b46a4dbb4393e760016e3fa4f74a";
|
||||
|
||||
azure-mgmt-recoveryservices = overrideAzureMgmtPackage super.azure-mgmt-recoveryservices "2.0.0" "zip"
|
||||
"sha256-p9MTfVxGD1CsLUQGHWCnC08nedTKhEt3QZtXJeZeCb4=";
|
||||
|
||||
azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "4.0.0" "zip"
|
||||
"a848ac1d99c935e61dfb91ca3e1577904a3eff5820fce179eb6937df8e1019ec";
|
||||
|
||||
azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "20.0.0" "zip"
|
||||
"622dca4484be64f9f5ce335d327dffabf3e71e14e8a3f4a1051dc85a5c3ebbca";
|
||||
|
||||
azure-mgmt-appconfiguration = overrideAzureMgmtPackage super.azure-mgmt-appconfiguration "2.0.0" "zip"
|
||||
"b58bbe82a7429ba589292024896b58d96fe9fa732c578569cac349928dc2ca5f";
|
||||
|
||||
azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "13.0.0" "zip"
|
||||
"dc6116e8394d45312c7ad5a9098ce0dd2370bd92d43afd33d8b3bfab724fa498";
|
||||
|
||||
azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "25.0.0" "zip"
|
||||
"sha256-Y0WNBtQ9v0yhTVFfTvfcudWHOjzGagGB+/b++3Ie5Kk=";
|
||||
|
||||
azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
|
||||
"12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
|
||||
|
||||
azure-mgmt-containerinstance = overrideAzureMgmtPackage super.azure-mgmt-containerinstance "9.1.0" "zip"
|
||||
"sha256-N+zUTEnOyn18lDHlkUj+vRXX/sJhZR7XLd1YdV50ULA=";
|
||||
|
||||
azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "17.0.0" "zip"
|
||||
"sha256-oUbWdZryabCCg/gTujchT7p1nS7IDoU5W9MQ4ekJYH8=";
|
||||
|
||||
azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "7.0.0b2" "zip"
|
||||
"sha256-hVvYW9gkfTVMwis3IdD0JXYDxdKcyyzIFx3hNk7VMLI=";
|
||||
|
||||
azure-mgmt-databoxedge = overrideAzureMgmtPackage super.azure-mgmt-databoxedge "1.0.0" "zip"
|
||||
"04090062bc1e8f00c2f45315a3bceb0fb3b3479ec1474d71b88342e13499b087";
|
||||
|
||||
azure-mgmt-deploymentmanager = overrideAzureMgmtPackage super.azure-mgmt-deploymentmanager "0.2.0" "zip"
|
||||
"0c6pyr36n9snx879vas5r6l25db6nlp2z96xn759mz4kg4i45qs6";
|
||||
|
||||
azure-mgmt-eventgrid = overrideAzureMgmtPackage super.azure-mgmt-eventgrid "9.0.0" "zip"
|
||||
"aecbb69ecb010126c03668ca7c9a2be8e965568f5b560f0e7b5bc152b157b510";
|
||||
|
||||
azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "1.0.0" "zip"
|
||||
"634e398de9a23e712aa27a4a59f9ea5d5091d1dfcfed5ac977230918872c4430";
|
||||
|
||||
azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "2.2.0" "zip"
|
||||
"sha256-nsAeVhs5N8bpwYenmRwJmqF/IAqz/ulSoYIeOU5l0eM=";
|
||||
|
||||
azure-mgmt-iothubprovisioningservices = overrideAzureMgmtPackage super.azure-mgmt-iothubprovisioningservices "1.1.0" "zip"
|
||||
"sha256-04OoJuff93L62G6IozpmHpEaUbHHHD6nKlkMHVoJvJ4=";
|
||||
|
||||
azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "9.0.0" "zip"
|
||||
"64df73df449a6f3717f3d0963e5869224ed3e6216c79de571493bea7c1b52cb6";
|
||||
|
||||
azure-mgmt-kusto = overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip"
|
||||
"1pmcdgimd66h964a3d5m2j2fbydshcwhrk87wblhwhfl3xwbgf4y";
|
||||
|
||||
azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip"
|
||||
"1397ksrd61jv7400mgn8sqngp6ahir55fyq9n5k69wk88169qm2r";
|
||||
|
||||
azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "6.0.1" "zip"
|
||||
"6ce683587be1638d8d77620b7af118060b8b7dfc4fd23d46a623a66edcb388e1";
|
||||
|
||||
azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "8.0.0" "zip"
|
||||
"407c2dacb33513ffbe9ca4be5addb5e9d4bae0cb7efa613c3f7d531ef7bf8de8";
|
||||
|
||||
azure-mgmt-loganalytics = overrideAzureMgmtPackage super.azure-mgmt-loganalytics "13.0.0b2" "zip"
|
||||
"sha256-j8CyWZGF7Z/5szJ+CD96E0EbNsceJ1SScrlPqWVLjnk=";
|
||||
|
||||
azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "19.3.0" "zip"
|
||||
"0b6a1ccdffd76e057ab16a6c319740a0ca68d59fedf7e9c02f2437396e72aa11";
|
||||
|
||||
azure-mgmt-maps = overrideAzureMgmtPackage super.azure-mgmt-maps "2.0.0" "zip"
|
||||
"384e17f76a68b700a4f988478945c3a9721711c0400725afdfcb63cf84e85f0e";
|
||||
|
||||
azure-mgmt-managedservices = overrideAzureMgmtPackage super.azure-mgmt-managedservices "1.0.0" "zip"
|
||||
"sha256-/tg5n8Z3Oq2jfB0ElqRvWUENd8lJTQyllnxTHDN2rRk=";
|
||||
|
||||
azure-mgmt-managementgroups = overrideAzureMgmtPackage super.azure-mgmt-managementgroups "1.0.0" "zip"
|
||||
"bab9bd532a1c34557f5b0ab9950e431e3f00bb96e8a3ce66df0f6ce2ae19cd73";
|
||||
|
||||
azure-mgmt-marketplaceordering = overrideAzureMgmtPackage super.azure-mgmt-marketplaceordering "1.1.0" "zip"
|
||||
"68b381f52a4df4435dacad5a97e1c59ac4c981f667dcca8f9d04453417d60ad8";
|
||||
|
||||
azure-mgmt-media = overrideAzureMgmtPackage super.azure-mgmt-media "7.0.0" "zip"
|
||||
"sha256-tF6CpZTtkc1ap6XNXQHwOLesPPEiM+e6K+qqNHeQDo4=";
|
||||
|
||||
azure-mgmt-msi = super.azure-mgmt-msi.overridePythonAttrs (old: rec {
|
||||
version = "0.2.0";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
|
||||
};
|
||||
propagatedBuildInputs = with self; [
|
||||
msrest
|
||||
msrestazure
|
||||
azure-common
|
||||
azure-mgmt-nspkg
|
||||
];
|
||||
});
|
||||
|
||||
azure-mgmt-privatedns = overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip"
|
||||
"b60f16e43f7b291582c5f57bae1b083096d8303e9d9958e2c29227a55cc27c45";
|
||||
|
||||
azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "6.1.0" "zip"
|
||||
"c26635089276515b0488fcf014aab50a0446f54800c6e0e5583cc493ac8d738f";
|
||||
|
||||
azure-mgmt-redhatopenshift = overrideAzureMgmtPackage super.azure-mgmt-redhatopenshift "1.0.0" "zip"
|
||||
"94cd41f1ebd82e40620fd3e6d88f666b5c19ac7cf8b4e8edadb9721bd7c80980";
|
||||
|
||||
azure-mgmt-redis = overrideAzureMgmtPackage super.azure-mgmt-redis "13.1.0" "zip"
|
||||
"ece913e5fc7f157e945809e557443f79ff7691cabca4bbc5ecb266352f843179";
|
||||
|
||||
azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.6.0" "zip"
|
||||
"16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
|
||||
|
||||
azure-mgmt-search = overrideAzureMgmtPackage super.azure-mgmt-search "8.0.0" "zip"
|
||||
"a96d50c88507233a293e757202deead980c67808f432b8e897c4df1ca088da7e";
|
||||
|
||||
azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "2.0.0b1" "zip"
|
||||
"sha256-8Ksa08w8EeZEKXIk2AQ4zHCmfvTDwzV/k9I67CVusIQ=";
|
||||
|
||||
azure-mgmt-signalr = overrideAzureMgmtPackage super.azure-mgmt-signalr "1.0.0b2" "zip"
|
||||
"sha256-FTxY8qoihHG4OZuKT3sRRlKfORbIoqDqug9Ko+6S9dw=";
|
||||
|
||||
azure-mgmt-sql = overrideAzureMgmtPackage super.azure-mgmt-sql "3.0.1" "zip"
|
||||
"129042cc011225e27aee6ef2697d585fa5722e5d1aeb0038af6ad2451a285457";
|
||||
|
||||
azure-mgmt-sqlvirtualmachine = overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "1.0.0b1" "zip"
|
||||
"sha256-SrFTvU+67U3CpMLPZMawXuRdSIbTsfav2jFZIsZWPmw=";
|
||||
|
||||
azure-mgmt-synapse = overrideAzureMgmtPackage super.azure-mgmt-synapse "2.1.0b2" "zip"
|
||||
"sha256-/BAxKDttp/tS/X45y8X4KBm5qxtNuVXhrc5qB3A+wRE=";
|
||||
|
||||
azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "10.0.0" "zip"
|
||||
"5cee70f97fe3a093c3cb70c2a190c2df936b772e94a09ef7e3deb1ed177c9f32";
|
||||
|
||||
azure-mgmt-relay = overrideAzureMgmtPackage super.azure-mgmt-relay "0.1.0" "zip"
|
||||
"1jss6qhvif8l5s0lblqw3qzijjf0h88agciiydaa7f4q577qgyfr";
|
||||
|
||||
azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "9.1.0" "zip"
|
||||
"0ba9f10e1e8d03247a316e777d6f27fabf268d596dda2af56ac079fcdf5e7afe";
|
||||
|
||||
azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "9.3.0" "zip"
|
||||
"54156422e618b686d52232a7989594b240bd18afd0fa381e12e4772ed4ab5ea8";
|
||||
|
||||
azure-mgmt-cdn = overrideAzureMgmtPackage super.azure-mgmt-cdn "11.0.0" "zip"
|
||||
"28e7070001e7208cdb6c2ad253ec78851abdd73be482230d2c0874eed5bc0907";
|
||||
|
||||
azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "8.2.0" "zip"
|
||||
"f2bcdbcf0b9fdc2df0df9eccb77cb489091d3c670ed53cba77e5ffd734e9539b";
|
||||
|
||||
azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "3.0.0" "zip"
|
||||
"91ddb7333bf2b9541a53864cc8d2501e3694a03a9c0e41cbfae3348558675ce6";
|
||||
|
||||
azure-mgmt-advisor = overrideAzureMgmtPackage super.azure-mgmt-advisor "9.0.0" "zip"
|
||||
"fc408b37315fe84781b519124f8cb1b8ac10b2f4241e439d0d3e25fd6ca18d7b";
|
||||
|
||||
azure-mgmt-applicationinsights = overrideAzureMgmtPackage super.azure-mgmt-applicationinsights "1.0.0" "zip"
|
||||
"c287a2c7def4de19f92c0c31ba02867fac6f5b8df71b5dbdab19288bb455fc5b";
|
||||
|
||||
azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.61.0" "zip"
|
||||
"0xfvx2dvfj3fbz4ngn860ipi4v6gxqajyjc8x92r8knhmniyxk7m";
|
||||
|
||||
azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "19.1.0" "zip"
|
||||
"sha256-Seoi8A4JZaNVCvNKQcGh06SBaQ9lAMeOhUCIAvVtdBY=";
|
||||
|
||||
azure-mgmt-servicebus = overrideAzureMgmtPackage super.azure-mgmt-servicebus "7.1.0" "zip"
|
||||
"d8ae7905fb7d3e24822daa20aa7bc5014f41aa18b48ea2d0161e997fc11a3d36";
|
||||
|
||||
azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "1.0.0" "zip"
|
||||
"de35e117912832c1a9e93109a8d24cab94f55703a9087b2eb1c5b0655b3b1913";
|
||||
|
||||
azure-mgmt-servicelinker = overrideAzureMgmtPackage super.azure-mgmt-servicelinker "1.0.0b1" "zip"
|
||||
"sha256-T3DTvNmLpTm/74cOPEl+vcXv7TIAwmJ6YXGLqpqyGmE=";
|
||||
|
||||
azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "9.0.0" "zip"
|
||||
"41ebdc69c0d1f81d25dd30438c14fff4331f66639f55805b918b9649eaffe78a";
|
||||
|
||||
azure-multiapi-storage = overrideAzureMgmtPackage super.azure-multiapi-storage "0.7.0" "tar.gz"
|
||||
"cd4f184be8c9ca8aca969f93ed50dc7fe556d28ca11520440fc182cf876abdf9";
|
||||
|
||||
azure-appconfiguration = super.azure-appconfiguration.overrideAttrs(oldAttrs: rec {
|
||||
version = "1.1.1";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-uDzSy2PZMiXehOJ6u/wFkhL43id2b0xY3Tq7g53/C+Q=";
|
||||
extension = "zip";
|
||||
};
|
||||
});
|
||||
|
||||
azure-graphrbac = super.azure-graphrbac.overrideAttrs(oldAttrs: rec {
|
||||
version = "0.60.0";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "1zna5vb887clvpyfp5439vhlz3j4z95blw9r7y86n6cfpzc65fyh";
|
||||
extension = "zip";
|
||||
};
|
||||
});
|
||||
|
||||
azure-storage-blob = super.azure-storage-blob.overrideAttrs(oldAttrs: rec {
|
||||
version = "1.5.0";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "0b15dzy75fml994gdfmaw5qcyij15gvh968mk3hg94d1wxwai1zi";
|
||||
};
|
||||
});
|
||||
|
||||
azure-storage-common = super.azure-storage-common.overrideAttrs(oldAttrs: rec {
|
||||
version = "1.4.2";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "00g41b5q4ijlv02zvzjgfwrwy71cgr3lc3if4nayqmyl6xsprj2f";
|
||||
};
|
||||
});
|
||||
|
||||
azure-synapse-artifacts = super.azure-synapse-artifacts.overrideAttrs(oldAttrs: rec {
|
||||
version = "0.10.0";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-P3gsm1kLiuQ2eMbgA9+MqMymdYMgOdJwsLdDf/AVV/0=";
|
||||
extension = "zip";
|
||||
};
|
||||
});
|
||||
|
||||
azure-synapse-accesscontrol = super.azure-synapse-accesscontrol.overrideAttrs(oldAttrs: rec {
|
||||
version = "0.5.0";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-g14ySiByqPgkJGRH8EnIRJO9Q6H2usS5FOeMCQiUuwQ=";
|
||||
extension = "zip";
|
||||
};
|
||||
});
|
||||
|
||||
azure-synapse-managedprivateendpoints = super.azure-synapse-managedprivateendpoints.overrideAttrs(oldAttrs: rec {
|
||||
version = "0.3.0";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-fN1IuZ9fjxgRZv6qh9gg6v6KYpnKlXfnoLqfZCDXoRY=";
|
||||
extension = "zip";
|
||||
};
|
||||
});
|
||||
|
||||
azure-synapse-spark = super.azure-synapse-spark.overrideAttrs(oldAttrs: rec {
|
||||
version = "0.2.0";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "1qijqp6llshqas422lnqvpv45iv99n7f13v86znql40y3jp5n3ir";
|
||||
extension = "zip";
|
||||
};
|
||||
});
|
||||
|
||||
azure-keyvault = super.azure-keyvault.overrideAttrs(oldAttrs: rec {
|
||||
version = "1.1.0";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
extension = "zip";
|
||||
sha256 = "0jfxm8lx8dzs3v2b04ljizk8gfckbm5l2v86rm7k0npbfvryba1p";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with self; [
|
||||
azure-common azure-nspkg msrest msrestazure cryptography
|
||||
];
|
||||
pythonNamespaces = [ "azure" ];
|
||||
pythonImportsCheck = [ ];
|
||||
});
|
||||
|
||||
azure-keyvault-administration = super.azure-keyvault-administration.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "4.0.0b3";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
extension = "zip";
|
||||
sha256 = "sha256-d3tJWObM3plRurzfqWmHkn5CqVL9ekQfn9AeDc/KxLQ=";
|
||||
};
|
||||
});
|
||||
|
||||
azure-keyvault-keys = super.azure-keyvault-keys.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "4.5.0b6";
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
extension = "zip";
|
||||
sha256 = "sha256-WFSRJaia0+WnvGxoMYZIvf81ue51VPYXzTp8huUh1fc=";
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
# part of azure.mgmt.datalake namespace
|
||||
azure-mgmt-datalake-analytics = super.azure-mgmt-datalake-analytics.overrideAttrs(oldAttrs: rec {
|
||||
version = "0.2.1";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "192icfx82gcl3igr18w062744376r2ivh63c8nd7v17mjk860yac";
|
||||
extension = "zip";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
rm azure_bdist_wheel.py
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "azure-namespace-package = azure-mgmt-datalake-nspkg" ""
|
||||
'';
|
||||
});
|
||||
|
||||
azure-mgmt-datalake-store = super.azure-mgmt-datalake-store.overrideAttrs(oldAttrs: rec {
|
||||
version = "0.5.0";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-k3bTVJVmHRn4rMVgT2ewvFlJOxg1u8SA+aGVL5ABekw=";
|
||||
extension = "zip";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
rm azure_bdist_wheel.py
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "azure-namespace-package = azure-mgmt-datalake-nspkg" ""
|
||||
'';
|
||||
});
|
||||
|
||||
adal = super.adal.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "1.2.7";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-109FuBMXRU2W6YL9HFDm+1yZrCIjcorqh2RDOjn1ZvE=";
|
||||
};
|
||||
|
||||
# sdist doesn't provide tests
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
semver = super.semver.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "2.13.0";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-+g/ici7hw/V+rEeIIMOlri9iSvgmTL35AAyYD/f3Xj8=";
|
||||
};
|
||||
});
|
||||
|
||||
knack = super.knack.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "0.9.0";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "7fcab17585c0236885eaef311c01a1e626d84c982aabcac81703afda3f89c81f";
|
||||
};
|
||||
});
|
||||
|
||||
argcomplete = super.argcomplete.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "1.8.0";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "sha256-SreailmO/AgRBGv3dnj4VkMnbokAzWT5xPEPEQ4QEb0=";
|
||||
};
|
||||
});
|
||||
|
||||
sshtunnel = super.sshtunnel.overridePythonAttrs(oldAttrs: rec {
|
||||
name = "sshtunnel-${version}";
|
||||
version = "0.1.5";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "0jcjppp6mdfsqrbfc3ddfxg1ybgvkjv7ri7azwv3j778m36zs4y8";
|
||||
};
|
||||
});
|
||||
|
||||
websocket-client = super.websocket-client.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "0.56.0";
|
||||
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "0fpxjyr74klnyis3yf6m54askl0h5dchxcwbfjsq92xng0455m8z";
|
||||
};
|
||||
});
|
||||
|
||||
};
|
||||
};
|
||||
in
|
||||
py
|
||||
76
pkgs/tools/admin/bash-my-aws/default.nix
Normal file
76
pkgs/tools/admin/bash-my-aws/default.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ lib, stdenv
|
||||
, makeWrapper
|
||||
, awscli
|
||||
, jq
|
||||
, unixtools
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, bashInteractive
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bash-my-aws";
|
||||
version = "unstable-2020-01-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bash-my-aws";
|
||||
repo = "bash-my-aws";
|
||||
rev = "5a97ce2c22affca1299022a5afa109d7b62242ba";
|
||||
sha256 = "sha256-RZvaiyRK8FnZbHyLkWz5VrAcsnMtHCiIo64GpNZgvqY=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
awscli
|
||||
jq
|
||||
unixtools.column
|
||||
bashInteractive
|
||||
];
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
checkPhase = ''
|
||||
pushd test
|
||||
./shared-spec.sh
|
||||
./stack-spec.sh
|
||||
popd
|
||||
'';
|
||||
installPhase=''
|
||||
mkdir -p $out
|
||||
cp -r . $out
|
||||
'';
|
||||
postFixup = ''
|
||||
pushd $out
|
||||
substituteInPlace scripts/build \
|
||||
--replace '~/.bash-my-aws' $out
|
||||
substituteInPlace scripts/build-completions \
|
||||
--replace "{HOME}" $out \
|
||||
--replace '~/.bash-my-aws' $out
|
||||
./scripts/build
|
||||
./scripts/build-completions
|
||||
substituteInPlace bash_completion.sh \
|
||||
--replace "{HOME}" $out \
|
||||
--replace .bash-my-aws ""
|
||||
substituteInPlace bin/bma \
|
||||
--replace '~/.bash-my-aws' $out
|
||||
wrapProgram $out/bin/bma --prefix PATH : ${lib.makeBinPath [awscli jq unixtools.column bashInteractive ]}
|
||||
installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh
|
||||
chmod +x $out/lib/*
|
||||
patchShebangs --host $out/lib
|
||||
installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh
|
||||
cat > $out/bin/bma-init <<EOF
|
||||
echo source $out/aliases
|
||||
echo source $out/bash_completion.sh
|
||||
EOF
|
||||
chmod +x $out/bin/bma-init
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://bash-my-aws.org";
|
||||
description = "CLI commands for AWS";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ tomberek ];
|
||||
};
|
||||
}
|
||||
49
pkgs/tools/admin/berglas/default.nix
Normal file
49
pkgs/tools/admin/berglas/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
skipTests = {
|
||||
access = "Access";
|
||||
create = "Create";
|
||||
delete = "Delete";
|
||||
list = "List";
|
||||
read = "Read";
|
||||
replace = "Replace";
|
||||
resolver = "Resolve";
|
||||
revoke = "Revoke";
|
||||
update = "Update";
|
||||
};
|
||||
|
||||
skipTestsCommand =
|
||||
builtins.foldl' (acc: goFileName:
|
||||
let testName = builtins.getAttr goFileName skipTests; in
|
||||
''
|
||||
${acc}
|
||||
substituteInPlace pkg/berglas/${goFileName}_test.go \
|
||||
--replace "TestClient_${testName}_storage" "SkipClient_${testName}_storage" \
|
||||
--replace "TestClient_${testName}_secretManager" "SkipClient_${testName}_secretManager"
|
||||
''
|
||||
) "" (builtins.attrNames skipTests);
|
||||
in
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "berglas";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleCloudPlatform";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aLsrrK+z080qn7L2zggA8yD+QqLaSRJLTjWQnFKFogQ=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-HjZT0jezJzoEvXuzrjoTv/zSex+xDuGoP1h82CIlX14=";
|
||||
|
||||
postPatch = skipTestsCommand;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool for managing secrets on Google Cloud";
|
||||
homepage = "https://github.com/GoogleCloudPlatform/berglas";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
39
pkgs/tools/admin/bluemix-cli/default.nix
Normal file
39
pkgs/tools/admin/bluemix-cli/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bluemix-cli";
|
||||
version = "0.8.0";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchurl {
|
||||
name = "linux32-${version}.tar.gz";
|
||||
url = "https://clis.ng.bluemix.net/download/bluemix-cli/${version}/linux32";
|
||||
sha256 = "1ryngbjlw59x33rfd32bcz49r93a1q1g92jh7xmi9vydgqnzsifh";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
name = "linux64-${version}.tar.gz";
|
||||
url = "https://clis.ng.bluemix.net/download/bluemix-cli/${version}/linux64";
|
||||
sha256 = "056zbaca430ldcn0s86vy40m5abvwpfrmvqybbr6fjwfv9zngywx";
|
||||
}
|
||||
;
|
||||
|
||||
installPhase = ''
|
||||
install -m755 -D -t $out/bin bin/ibmcloud bin/ibmcloud-analytics
|
||||
install -m755 -D -t $out/bin/cfcli bin/cfcli/cf
|
||||
ln -sv $out/bin/ibmcloud $out/bin/bx
|
||||
ln -sv $out/bin/ibmcloud $out/bin/bluemix
|
||||
install -D -t "$out/share/bash-completion/completions" bx/bash_autocomplete
|
||||
install -D -t "$out/share/zsh/site-functions" bx/zsh_autocomplete
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Administration CLI for IBM BlueMix";
|
||||
homepage = "https://console.bluemix.net/docs/cli/index.html";
|
||||
downloadPage = "https://console.bluemix.net/docs/cli/reference/bluemix_cli/download_cli.html#download_install";
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.tazjin maintainers.jensbin ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/admin/boulder/default.nix
Normal file
30
pkgs/tools/admin/boulder/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ buildGoPackage
|
||||
, libtool
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
buildGoPackage rec{
|
||||
|
||||
pname = "boulder";
|
||||
version = "release-2019-10-13";
|
||||
|
||||
goPackagePath = "github.com/letsencrypt/boulder";
|
||||
|
||||
buildInputs = [ libtool ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letsencrypt";
|
||||
repo = "boulder";
|
||||
rev = version;
|
||||
sha256 = "0kis23dnjja6jp192rjpv2m9m2zmzfwhs93440nxg354k6fp8jdg";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/letsencrypt/boulder";
|
||||
description = "An ACME-based CA, written in Go";
|
||||
license = [ lib.licenses.mpl20 ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
|
||||
}
|
||||
54
pkgs/tools/admin/bubblewrap/default.nix
Normal file
54
pkgs/tools/admin/bubblewrap/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, docbook_xsl
|
||||
, libxslt
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, bash-completion
|
||||
, libcap
|
||||
, libselinux
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bubblewrap";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "bubblewrap";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-J+VFla3sWO+DfB2IxxrKzbiG+KWFJr9caf8sTHyWXY4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace tests/libtest.sh \
|
||||
--replace "/var/tmp" "$TMPDIR"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
docbook_xsl
|
||||
libxslt
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bash-completion
|
||||
libcap
|
||||
libselinux
|
||||
];
|
||||
|
||||
# incompatible with Nix sandbox
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Unprivileged sandboxing tool";
|
||||
homepage = "https://github.com/containers/bubblewrap";
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/admin/certigo/default.nix
Normal file
36
pkgs/tools/admin/certigo/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, buildGoModule, fetchFromGitHub, fetchpatch }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "certigo";
|
||||
version = "1.15.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "square";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-XGR6xIXdFLnJTFd+mJneRb/WkLmi0Jscta9Bj3paM1M=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "backport_TestConnect-Apple-Fixes.patch";
|
||||
url = "https://github.com/square/certigo/commit/5332ac7ca20bdea63657cc8319e8b8fda4326938.patch";
|
||||
sha256 = "sha256-mSNuiui2dxkXnCrXJ/asIzC8F1mtPecOVOIu6mE5jq4=";
|
||||
})
|
||||
|
||||
(fetchpatch {
|
||||
name = "backport_TestConnect-Expected-CipherSuite-Fixes.patch";
|
||||
url = "https://github.com/square/certigo/commit/7ef0417bde4aafc69cbb72f0dd6d3577a56054a1.patch";
|
||||
sha256 = "sha256-TUQ8B23HKheaPUjj4NkvjmZBAAhDNTyo2c8jf4qukds=";
|
||||
})
|
||||
];
|
||||
|
||||
vendorSha256 = "sha256-qS/tIi6umSuQcl43SI4LyL0k5eWfRWs7kVybRPGKcbs=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A utility to examine and validate certificates in a variety of formats";
|
||||
homepage = "https://github.com/square/certigo";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.marsam ];
|
||||
};
|
||||
}
|
||||
23
pkgs/tools/admin/cf-vault/default.nix
Normal file
23
pkgs/tools/admin/cf-vault/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{buildGoModule, fetchFromGitHub, lib}:
|
||||
buildGoModule rec {
|
||||
pname = "cf-vault";
|
||||
version = "0.0.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jacobbednarz";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Imd9qeT4xg5ujVPLHSSqoteSPl9t97q3Oc4C/vzHphg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-PkmbVg5HnsUaSL/Kp3YJVdyzpjgvr/p9mKNmOubwXQA=";
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
A tool for managing your Cloudflare credentials, securely..
|
||||
'';
|
||||
homepage = "https://github.com/jacobbednarz/cf-vault/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ viraptor ];
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/admin/chamber/default.nix
Normal file
27
pkgs/tools/admin/chamber/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ buildGoModule, lib, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "chamber";
|
||||
version = "2.10.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "segmentio";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-W/yuCQ1kE300//if/H73ZEJh/r2vttJ0GotZkBZNM+4=";
|
||||
};
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
vendorSha256 = "sha256-XpLLolxWu9aMp1cyG4dUQk4YtknbIRMmBUdSeyY4PNk=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.Version=v${version}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"A tool for managing secrets by storing them in AWS SSM Parameter Store";
|
||||
homepage = "https://github.com/segmentio/chamber";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ kalekseev ];
|
||||
};
|
||||
}
|
||||
20
pkgs/tools/admin/chkcrontab/default.nix
Normal file
20
pkgs/tools/admin/chkcrontab/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ python3, lib }:
|
||||
|
||||
with python3.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "chkcrontab";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0gmxavjkjkvjysgf9cf5fcpk589gb75n1mn20iki82wifi1pk1jn";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to detect crontab errors";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
homepage = "https://github.com/lyda/chkcrontab";
|
||||
};
|
||||
}
|
||||
46
pkgs/tools/admin/cjdns-tools/default.nix
Normal file
46
pkgs/tools/admin/cjdns-tools/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ stdenv
|
||||
, cjdns
|
||||
, nodejs
|
||||
, makeWrapper
|
||||
, lib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "cjdns-tools";
|
||||
version = cjdns.version;
|
||||
|
||||
src = cjdns.src;
|
||||
|
||||
buildInputs = [
|
||||
nodejs
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
patchShebangs tools
|
||||
|
||||
sed -e "s|'password': 'NONE'|'password': Fs.readFileSync('/etc/cjdns.keys').toString().split('\\\\n').map(v => v.split('=')).filter(v => v[0] === 'CJDNS_ADMIN_PASSWORD').map(v => v[1])[0]|g" \
|
||||
-i tools/lib/cjdnsadmin/cjdnsadmin.js
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cat ${./wrapper.sh} | sed "s|@@out@@|$out|g" > $out/bin/cjdns-tools
|
||||
chmod +x $out/bin/cjdns-tools
|
||||
|
||||
cp -r tools $out/tools
|
||||
find $out/tools -maxdepth 1 -type f -exec chmod -v a+x {} \;
|
||||
cp -r node_modules $out/node_modules
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/cjdelisle/cjdns";
|
||||
description = "Tools for cjdns managment";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ mkg20001 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
29
pkgs/tools/admin/cjdns-tools/wrapper.sh
Normal file
29
pkgs/tools/admin/cjdns-tools/wrapper.sh
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
export PATH="@@out@@/tools:$PATH"
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
if ! cat /etc/cjdns.keys >/dev/null 2>&1; then
|
||||
echo "ERROR: No permission to read /etc/cjdns.keys (use sudo)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
echo "Cjdns admin"
|
||||
|
||||
echo "Usage: $0 <command> <args..>"
|
||||
|
||||
echo
|
||||
echo "Commands:" $(find @@out@@/tools -maxdepth 1 -type f | sed -r "s|.+/||g")
|
||||
|
||||
_sh=$(which sh)
|
||||
PATH="@@out@@/tools" PS1="cjdns\$ " "$_sh"
|
||||
else
|
||||
if [[ ! -e @@out@@/tools/$1 ]]; then
|
||||
echo "ERROR: '$1' is not a valid tool" >&2
|
||||
exit 2
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
fi
|
||||
34
pkgs/tools/admin/clair/default.nix
Normal file
34
pkgs/tools/admin/clair/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, makeWrapper, rpm, xz }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "clair";
|
||||
version = "4.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quay";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6nlVcuWAp9lWji4ruAZ//D6iEbL+zSjLDX9bYyRfTQ8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-35rUeDi+7xSI2kSk9FvtubxhZq5LePNoXC66dIy6gs8=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
subPackages = [ "cmd/clair" "cmd/clairctl" ];
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/clair \
|
||||
--prefix PATH : "${lib.makeBinPath [ rpm xz ]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Vulnerability Static Analysis for Containers";
|
||||
homepage = "https://github.com/quay/clair";
|
||||
changelog = "https://github.com/quay/clair/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ marsam ];
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/admin/cli53/default.nix
Normal file
32
pkgs/tools/admin/cli53/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, testers, cli53 }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cli53";
|
||||
version = "0.8.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "barnybug";
|
||||
repo = "cli53";
|
||||
rev = version;
|
||||
sha256 = "sha256-RgU4+/FQEqNpVxBktZUwoVD9ilLrTm5ZT7D8jbt2sRM=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-uqBa2YrQwXdTemP9yB2otkSFWJqDxw/NAvIvlEbhk90=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/barnybug/cli53.version=${version}"
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = cli53;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool for the Amazon Route 53 DNS service";
|
||||
homepage = "https://github.com/barnybug/cli53";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ benley ];
|
||||
};
|
||||
}
|
||||
47
pkgs/tools/admin/colmena/default.nix
Normal file
47
pkgs/tools/admin/colmena/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, nix-eval-jobs
|
||||
, colmena, testers }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "colmena";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zhaofengli";
|
||||
repo = "colmena";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aGpMiY9pS2616AfAVWA87tULKatDYF2kCKxwYstK8V0=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-ckCArDFjVwVWWK0Ffj0AYe411b9xU33CBc1zeCh2kns=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
buildInputs = [ nix-eval-jobs ];
|
||||
|
||||
NIX_EVAL_JOBS = "${nix-eval-jobs}/bin/nix-eval-jobs";
|
||||
|
||||
postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||
installShellCompletion --cmd colmena \
|
||||
--bash <($out/bin/colmena gen-completions bash) \
|
||||
--zsh <($out/bin/colmena gen-completions zsh) \
|
||||
--fish <($out/bin/colmena gen-completions fish)
|
||||
'';
|
||||
|
||||
# Recursive Nix is not stable yet
|
||||
doCheck = false;
|
||||
|
||||
passthru = {
|
||||
# We guarantee CLI and Nix API stability for the same minor version
|
||||
apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitString "." version));
|
||||
|
||||
tests.version = testers.testVersion { package = colmena; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple, stateless NixOS deployment tool";
|
||||
homepage = "https://zhaofengli.github.io/colmena/${passthru.apiVersion}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ zhaofengli ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
43
pkgs/tools/admin/credhub-cli/default.nix
Normal file
43
pkgs/tools/admin/credhub-cli/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "credhub-cli";
|
||||
version = "2.9.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudfoundry-incubator";
|
||||
repo = "credhub-cli";
|
||||
rev = version;
|
||||
sha256 = "1wjj14gx2phpbxs1433k3jkkc0isx5mzbm62rpvxbfd8a7f6n1l5";
|
||||
};
|
||||
|
||||
# these tests require network access that we're not going to give them
|
||||
postPatch = ''
|
||||
rm commands/api_test.go
|
||||
rm commands/socks5_test.go
|
||||
'';
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X code.cloudfoundry.org/credhub-cli/version.Version=${version}"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ln -s $out/bin/credhub-cli $out/bin/credhub
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Provides a command line interface to interact with CredHub servers";
|
||||
homepage = "https://github.com/cloudfoundry-incubator/credhub-cli";
|
||||
maintainers = with maintainers; [ ris ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
45
pkgs/tools/admin/daemontools/default.nix
Normal file
45
pkgs/tools/admin/daemontools/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ fetchurl, bash, glibc, lib, stdenv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "daemontools";
|
||||
version = "0.76";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cr.yp.to/daemontools/daemontools-${version}.tar.gz";
|
||||
sha256 = "07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5";
|
||||
};
|
||||
|
||||
patches = [ ./fix-nix-usernamespace-build.patch ];
|
||||
|
||||
configurePhase = ''
|
||||
cd daemontools-${version}
|
||||
|
||||
sed -ie '1 s_$_ -include ${glibc.dev}/include/errno.h_' src/conf-cc
|
||||
|
||||
substituteInPlace src/Makefile \
|
||||
--replace '/bin/sh' '${bash}/bin/bash -oxtrace'
|
||||
|
||||
sed -ie "s_^PATH=.*_PATH=$src/daemontools-${version}/compile:''${PATH}_" src/rts.tests
|
||||
|
||||
cat ${glibc.dev}/include/errno.h
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
package/compile
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
for cmd in $(cat package/commands); do
|
||||
install -Dm755 "command/$cmd" "$out/bin/$cmd"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
license = lib.licenses.publicDomain;
|
||||
homepage = "https://cr.yp.to/daemontools.html";
|
||||
description = "A collection of tools for managing UNIX services";
|
||||
|
||||
maintainers = with lib.maintainers; [ kevincox ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
--- admin.org/daemontools-0.76/src/chkshsgr.c 2001-07-12 17:49:49.000000000 +0100
|
||||
+++ admin/daemontools-0.76/src/chkshsgr.c 2017-05-31 23:54:56.662174028 +0100
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
int main()
|
||||
{
|
||||
+ return 0;
|
||||
short x[4];
|
||||
|
||||
x[0] = x[1] = 0;
|
||||
22
pkgs/tools/admin/damon/default.nix
Normal file
22
pkgs/tools/admin/damon/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "damon";
|
||||
version = "unstable-2021-10-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hashicorp";
|
||||
repo = "damon";
|
||||
rev = "542c79aecc44b1d0500f9cb9b2e13f07db1e2f35";
|
||||
sha256 = "sha256-vg5PISNqk8N2nn7eABm+/7qzePDbKPkvovdZk2sZYsg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-/ZZxw6qEUJQUz3J0TxUYJECCcX276r74g0N2tV77+8I=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/hashicorp/damon";
|
||||
license = licenses.mpl20;
|
||||
description = "A terminal UI (TUI) for HashiCorp Nomad";
|
||||
maintainers = teams.iog.members;
|
||||
};
|
||||
}
|
||||
35
pkgs/tools/admin/dehydrated/default.nix
Normal file
35
pkgs/tools/admin/dehydrated/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, coreutils, curl, diffutils, gawk, gnugrep, gnused, openssl, makeWrapper, fetchFromGitHub, installShellFiles }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dehydrated";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lukas2511";
|
||||
repo = "dehydrated";
|
||||
rev = "v${version}";
|
||||
sha256 = "09jhmkjvnj98zbf92qwdr5rr7pc6v63xzyk2fbi177r7szb2yg09";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
installPhase = ''
|
||||
installManPage docs/man/dehydrated.1
|
||||
|
||||
mkdir -p "$out/share/docs/dehydrated"
|
||||
cp docs/*.md "$out/share/docs/dehydrated"
|
||||
cp -r docs/examples "$out/share/docs/dehydrated"
|
||||
cp {CHANGELOG,LICENSE,README.md} "$out/share/docs/dehydrated"
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -a dehydrated $out/bin
|
||||
wrapProgram "$out/bin/dehydrated" --prefix PATH : "${lib.makeBinPath [ openssl coreutils gnused gnugrep diffutils curl gawk ]}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Letsencrypt/acme client implemented as a shell-script";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.pstn ];
|
||||
};
|
||||
}
|
||||
52
pkgs/tools/admin/docker-credential-gcr/default.nix
Normal file
52
pkgs/tools/admin/docker-credential-gcr/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, fetchpatch, testers, docker-credential-gcr }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "docker-credential-gcr";
|
||||
version = "2.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleCloudPlatform";
|
||||
repo = "docker-credential-gcr";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1AUs8Gt2Qw8BJk2zwRcazVl+POkPSy9e1jW9Mk/0rx8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "fix-TestGet_GCRCredentials.patch";
|
||||
url = "https://github.com/GoogleCloudPlatform/docker-credential-gcr/commit/a0c080e58bbfdeb0aa24e66551c4e8b0359bf178.patch";
|
||||
sha256 = "sha256-aXp/1kNaxqQDPszC7pO+qP7ZBWHjpVljUHiKFnnDWuM=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
rm -rf ./test
|
||||
'';
|
||||
|
||||
vendorSha256 = "sha256-e7XNTizZYp/tS7KRvB9KxY3Yurphnm6Ehz4dHZNReK8=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/GoogleCloudPlatform/docker-credential-gcr/config.Version=${version}"
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = docker-credential-gcr;
|
||||
command = "docker-credential-gcr version";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Docker credential helper for GCR (https://gcr.io) users";
|
||||
longDescription = ''
|
||||
docker-credential-gcr is Google Container Registry's Docker credential
|
||||
helper. It allows for Docker clients v1.11+ to easily make
|
||||
authenticated requests to GCR's repositories (gcr.io, eu.gcr.io, etc.).
|
||||
'';
|
||||
homepage = "https://github.com/GoogleCloudPlatform/docker-credential-gcr";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ suvash ];
|
||||
};
|
||||
}
|
||||
51
pkgs/tools/admin/docker-credential-helpers/default.nix
Normal file
51
pkgs/tools/admin/docker-credential-helpers/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, stdenv, buildGoPackage, fetchFromGitHub, pkg-config, libsecret }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "docker-credential-helpers";
|
||||
version = "0.6.3";
|
||||
|
||||
goPackagePath = "github.com/docker/docker-credential-helpers";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "docker";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0xgmwjva3j1s0cqkbajbamj13bgzh5jkf2ir54m9a7w8gjnsh6dx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [ libsecret ];
|
||||
|
||||
buildPhase =
|
||||
if stdenv.isDarwin
|
||||
then ''
|
||||
cd go/src/${goPackagePath}
|
||||
go build -ldflags -s -o bin/docker-credential-osxkeychain osxkeychain/cmd/main_darwin.go
|
||||
''
|
||||
else ''
|
||||
cd go/src/${goPackagePath}
|
||||
go build -o bin/docker-credential-secretservice secretservice/cmd/main_linux.go
|
||||
go build -o bin/docker-credential-pass pass/cmd/main_linux.go
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
if stdenv.isDarwin
|
||||
then ''
|
||||
install -Dm755 -t $out/bin bin/docker-credential-osxkeychain
|
||||
''
|
||||
else ''
|
||||
install -Dm755 -t $out/bin bin/docker-credential-pass
|
||||
install -Dm755 -t $out/bin bin/docker-credential-secretservice
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Suite of programs to use native stores to keep Docker credentials safe";
|
||||
homepage = "https://github.com/docker/docker-credential-helpers";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.marsam ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
} // lib.optionalAttrs stdenv.isDarwin {
|
||||
mainProgram = "docker-credential-osxkeychain";
|
||||
};
|
||||
}
|
||||
37
pkgs/tools/admin/drawterm/default.nix
Normal file
37
pkgs/tools/admin/drawterm/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchgit
|
||||
, xorg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drawterm";
|
||||
version = "unstable-2021-10-02";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.9front.org/plan9front/drawterm";
|
||||
rev = "c6f547e1a46ebbf7a290427fe3a0b66932d671a0";
|
||||
sha256 = "09v2vk5s23q0islfz273pqy696zhzh3gqi25hadr54lif0511wsl";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
xorg.libX11
|
||||
xorg.libXt
|
||||
];
|
||||
|
||||
# TODO: macos
|
||||
makeFlags = [ "CONF=unix" ];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 -t $out/bin/ drawterm
|
||||
install -Dm644 -t $out/man/man1/ drawterm.1
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Connect to Plan9 CPU servers from other operating systems.";
|
||||
homepage = "https://drawterm.9front.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ luc65r ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/admin/ejson2env/default.nix
Normal file
26
pkgs/tools/admin/ejson2env/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ buildGoModule, fetchFromGitHub, lib }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ejson2env";
|
||||
version = "2.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Shopify";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HcUmFajbOUZ0T5Th6OA9WBtfTz646qLbXx8NVeJsVng=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-agWcD8vFNde1SCdkRovMNPf+1KODxV8wW1mXvE0w/CI=";
|
||||
|
||||
ldflags = [
|
||||
"-X main.version=${version}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to simplify storing secrets that should be accessible in the shell environment in your git repo.";
|
||||
homepage = "https://github.com/Shopify/ejson2env";
|
||||
maintainers = with maintainers; [ viraptor ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
44
pkgs/tools/admin/eksctl/default.nix
Normal file
44
pkgs/tools/admin/eksctl/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "eksctl";
|
||||
version = "0.99.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weaveworks";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-J2d3Uyc/gYciQaZJnOw0piO90ixtqgdnC0gprIoWmvs=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-sRtFfJ7umVK8ruCpZ7TcTVcY9gr3Fldcf3KEdmbgkX4=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
subPackages = [ "cmd/eksctl" ];
|
||||
|
||||
tags = [ "netgo" "release" ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/weaveworks/eksctl/pkg/version.gitCommit=${src.rev}"
|
||||
"-X github.com/weaveworks/eksctl/pkg/version.buildDate=19700101-00:00:00"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd eksctl \
|
||||
--bash <($out/bin/eksctl completion bash) \
|
||||
--fish <($out/bin/eksctl completion fish) \
|
||||
--zsh <($out/bin/eksctl completion zsh)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A CLI for Amazon EKS";
|
||||
homepage = "https://github.com/weaveworks/eksctl";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ xrelkd Chili-Man ];
|
||||
};
|
||||
}
|
||||
85
pkgs/tools/admin/elasticsearch-curator/default.nix
Normal file
85
pkgs/tools/admin/elasticsearch-curator/default.nix
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{ lib, fetchFromGitHub, python3 }:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
click = super.click.overridePythonAttrs (old: rec {
|
||||
version = "7.1.2";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
|
||||
};
|
||||
});
|
||||
requests-aws4auth = super.requests-aws4auth.overridePythonAttrs (old: {
|
||||
doCheck = false; # requires click>=8.0
|
||||
});
|
||||
};
|
||||
};
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "elasticsearch-curator";
|
||||
version = "5.8.4";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elastic";
|
||||
repo = "curator";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wSfd52jebUkgF5xhjcoUjI7j46eJF33pVb4Wrybq44g=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "urllib3==1.26.4" "urllib3"
|
||||
substituteInPlace setup.py \
|
||||
--replace "urllib3==1.26.4" "urllib3" \
|
||||
--replace "pyyaml==5.4.1" "pyyaml"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
elasticsearch
|
||||
urllib3
|
||||
requests
|
||||
boto3
|
||||
requests-aws4auth
|
||||
click
|
||||
pyyaml
|
||||
voluptuous
|
||||
certifi
|
||||
six
|
||||
];
|
||||
|
||||
checkInputs = with python.pkgs; [
|
||||
mock
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
"test/integration" # requires running elasticsearch
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# access network
|
||||
"test_api_key_not_set"
|
||||
"test_api_key_set"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elastic/curator";
|
||||
description = "Curate, or manage, your Elasticsearch indices and snapshots";
|
||||
license = licenses.asl20;
|
||||
longDescription = ''
|
||||
Elasticsearch Curator helps you curate, or manage, your Elasticsearch
|
||||
indices and snapshots by:
|
||||
|
||||
* Obtaining the full list of indices (or snapshots) from the cluster, as the
|
||||
actionable list
|
||||
|
||||
* Iterate through a list of user-defined filters to progressively remove
|
||||
indices (or snapshots) from this actionable list as needed.
|
||||
|
||||
* Perform various actions on the items which remain in the actionable list.
|
||||
'';
|
||||
maintainers = with maintainers; [ basvandijk ];
|
||||
};
|
||||
}
|
||||
46
pkgs/tools/admin/exoscale-cli/default.nix
Normal file
46
pkgs/tools/admin/exoscale-cli/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "exoscale-cli";
|
||||
version = "1.54.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "exoscale";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-uvPJ1cOKMpDf1KfEPkSTWMIMNojUlfpqI1ESomX1MlM=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
|
||||
|
||||
# we need to rename the resulting binary but can't use buildFlags with -o here
|
||||
# because these are passed to "go install" which does not recognize -o
|
||||
postBuild = ''
|
||||
mv $GOPATH/bin/cli $GOPATH/bin/exo
|
||||
|
||||
mkdir -p manpage
|
||||
$GOPATH/bin/docs --man-page
|
||||
rm $GOPATH/bin/docs
|
||||
|
||||
$GOPATH/bin/completion bash
|
||||
$GOPATH/bin/completion zsh
|
||||
rm $GOPATH/bin/completion
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installManPage manpage/*
|
||||
installShellCompletion --cmd exo --bash bash_completion --zsh zsh_completion
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Command-line tool for everything at Exoscale: compute, storage, dns";
|
||||
homepage = "https://github.com/exoscale/cli";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ dramaturg viraptor ];
|
||||
mainProgram = "exo";
|
||||
};
|
||||
}
|
||||
2
pkgs/tools/admin/fastlane/Gemfile
Normal file
2
pkgs/tools/admin/fastlane/Gemfile
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
source 'https://rubygems.org'
|
||||
gem 'fastlane'
|
||||
218
pkgs/tools/admin/fastlane/Gemfile.lock
Normal file
218
pkgs/tools/admin/fastlane/Gemfile.lock
Normal file
|
|
@ -0,0 +1,218 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.5)
|
||||
rexml
|
||||
addressable (2.8.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.595.0)
|
||||
aws-sdk-core (3.131.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.525.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.57.0)
|
||||
aws-sdk-core (~> 3, >= 3.127.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.114.0)
|
||||
aws-sdk-core (~> 3, >= 3.127.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.4)
|
||||
aws-sigv4 (1.5.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.4)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
dotenv (2.7.6)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.92.3)
|
||||
faraday (1.10.0)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
faraday-httpclient (~> 1.0)
|
||||
faraday-multipart (~> 1.0)
|
||||
faraday-net_http (~> 1.0)
|
||||
faraday-net_http_persistent (~> 1.0)
|
||||
faraday-patron (~> 1.0)
|
||||
faraday-rack (~> 1.0)
|
||||
faraday-retry (~> 1.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-cookie_jar (0.0.7)
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.0.3)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
faraday-net_http (1.0.1)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.6)
|
||||
fastlane (2.206.2)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
aws-sdk-s3 (~> 1.0)
|
||||
babosa (>= 1.0.3, < 2.0.0)
|
||||
bundler (>= 1.12.0, < 3.0.0)
|
||||
colored
|
||||
commander (~> 4.6)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
emoji_regex (>= 0.1, < 4.0)
|
||||
excon (>= 0.71.0, < 1.0.0)
|
||||
faraday (~> 1.0)
|
||||
faraday-cookie_jar (~> 0.0.6)
|
||||
faraday_middleware (~> 1.0)
|
||||
fastimage (>= 2.1.0, < 3.0.0)
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
json (< 3.0.0)
|
||||
jwt (>= 2.1.0, < 3)
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (~> 2.0.0)
|
||||
naturally (~> 2.2)
|
||||
optparse (~> 0.1.1)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.3)
|
||||
simctl (~> 1.6.3)
|
||||
terminal-notifier (>= 2.0.0, < 3.0.0)
|
||||
terminal-table (>= 1.4.5, < 2.0.0)
|
||||
tty-screen (>= 0.6.3, < 1.0.0)
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.21.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-apis-core (0.5.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
mini_mime (~> 1.0)
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.10.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.7.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-apis-storage_v1 (0.14.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
google-cloud-env (~> 1.0)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.2.0)
|
||||
google-cloud-storage (1.36.2)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.1)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (1.1.3)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
memoist (~> 0.16)
|
||||
multi_json (~> 1.11)
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.5)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.1)
|
||||
json (2.6.2)
|
||||
jwt (2.3.0)
|
||||
memoist (0.16.2)
|
||||
mini_magick (4.11.0)
|
||||
mini_mime (1.1.2)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.0.0)
|
||||
nanaimo (0.3.0)
|
||||
naturally (2.2.1)
|
||||
optparse (0.1.1)
|
||||
os (1.1.4)
|
||||
plist (3.6.0)
|
||||
public_suffix (4.0.7)
|
||||
rake (13.0.6)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.5)
|
||||
rouge (2.0.7)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
security (0.1.3)
|
||||
signet (0.16.1)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.0)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.8)
|
||||
CFPropertyList
|
||||
naturally
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
trailblazer-option (0.1.2)
|
||||
tty-cursor (0.7.1)
|
||||
tty-screen (0.8.1)
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.7.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.21.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.3.0)
|
||||
rexml (~> 3.2.4)
|
||||
xcpretty (0.3.0)
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
fastlane
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.9
|
||||
28
pkgs/tools/admin/fastlane/default.nix
Normal file
28
pkgs/tools/admin/fastlane/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, bundlerApp, bundlerUpdateScript, makeBinaryWrapper }:
|
||||
|
||||
bundlerApp {
|
||||
pname = "fastlane";
|
||||
gemdir = ./.;
|
||||
exes = [ "fastlane" ];
|
||||
|
||||
buildInputs = [ makeBinaryWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/fastlane --set FASTLANE_SKIP_UPDATE_CHECK 1
|
||||
'';
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "fastlane";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to automate building and releasing iOS and Android apps";
|
||||
longDescription = "fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.";
|
||||
homepage = "https://github.com/fastlane/fastlane";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
peterromfeldhk
|
||||
nicknovitski
|
||||
shahrukh330
|
||||
marsam
|
||||
];
|
||||
};
|
||||
}
|
||||
925
pkgs/tools/admin/fastlane/gemset.nix
Normal file
925
pkgs/tools/admin/fastlane/gemset.nix
Normal file
|
|
@ -0,0 +1,925 @@
|
|||
{
|
||||
addressable = {
|
||||
dependencies = ["public_suffix"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.0";
|
||||
};
|
||||
artifactory = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0wify8rhjwr5bw5y6ary61vba290vk766cxw9a9mg05yswmaisls";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.15";
|
||||
};
|
||||
atomos = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.3";
|
||||
};
|
||||
aws-eventstream = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.0";
|
||||
};
|
||||
aws-partitions = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0vgm7l4nyj23sif850mfsh170jbkhm7j34686ygc0nfyzzm90c08";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.595.0";
|
||||
};
|
||||
aws-sdk-core = {
|
||||
dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0yiz3aaik62rxhxipwznb2bv8ywha13vdxg9nk6anq9bd0nn0728";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.131.1";
|
||||
};
|
||||
aws-sdk-kms = {
|
||||
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1m8vwm4cakfv3i4f723a6id07myx18fpdbq8ypa2j7r5njwxpmzz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.57.0";
|
||||
};
|
||||
aws-sdk-s3 = {
|
||||
dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1r6dxz3llgxbbm66jq5mkzk0i6qsxwv0d9s0ipwb23vv3bgp23yf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.114.0";
|
||||
};
|
||||
aws-sigv4 = {
|
||||
dependencies = ["aws-eventstream"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xp7diwq7nv4vvxrl9x3lis2l4x6bissrfzbfyy6rv5bmj5w109z";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.0";
|
||||
};
|
||||
babosa = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "16dwqn33kmxkqkv51cwiikdkbrdjfsymlnc0rgbjwilmym8a9phq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.4";
|
||||
};
|
||||
CFPropertyList = {
|
||||
dependencies = ["rexml"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "193l8r1ycd3dcxa7lsb4pqcghbk56dzc5244m6y8xmv88z6m31d7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.5";
|
||||
};
|
||||
claide = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
colored = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2";
|
||||
};
|
||||
colored2 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.2";
|
||||
};
|
||||
commander = {
|
||||
dependencies = ["highline"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1n8k547hqq9hvbyqbx2qi08g0bky20bbjca1df8cqq5frhzxq7bx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.6.0";
|
||||
};
|
||||
declarative = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1yczgnqrbls7shrg63y88g7wand2yp9h6sf56c9bdcksn5nds8c0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.20";
|
||||
};
|
||||
digest-crc = {
|
||||
dependencies = ["rake"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1czaak53w8n13y1fr0q23gp0fhklvxjac5n562qj3xk6sh5ad0x2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.4";
|
||||
};
|
||||
domain_name = {
|
||||
dependencies = ["unf"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.20190701";
|
||||
};
|
||||
dotenv = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.7.6";
|
||||
};
|
||||
emoji_regex = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jsnrkfy345v66jlm2xrz8znivfnamg3mfzkddn414bndf2vxn7c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.3";
|
||||
};
|
||||
excon = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1rv2hq29lx2337214a1p2qy70fi77ch6p0p77nw9h6x84q028qr0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.92.3";
|
||||
};
|
||||
faraday = {
|
||||
dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.0";
|
||||
};
|
||||
faraday-cookie_jar = {
|
||||
dependencies = ["faraday" "http-cookie"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.7";
|
||||
};
|
||||
faraday-em_http = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
faraday-em_synchrony = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
faraday-excon = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
faraday-httpclient = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
};
|
||||
faraday-multipart = {
|
||||
dependencies = ["multipart-post"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.3";
|
||||
};
|
||||
faraday-net_http = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
};
|
||||
faraday-net_http_persistent = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.0";
|
||||
};
|
||||
faraday-patron = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
faraday-rack = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
faraday-retry = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.3";
|
||||
};
|
||||
faraday_middleware = {
|
||||
dependencies = ["faraday"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.0";
|
||||
};
|
||||
fastimage = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0nnggg20za5vamdpkgrxxa32z33d8hf0g2bciswkhqnc6amb3yjr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.6";
|
||||
};
|
||||
fastlane = {
|
||||
dependencies = ["CFPropertyList" "addressable" "artifactory" "aws-sdk-s3" "babosa" "colored" "commander" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-apis-androidpublisher_v3" "google-apis-playcustomapp_v1" "google-cloud-storage" "highline" "json" "jwt" "mini_magick" "multipart-post" "naturally" "optparse" "plist" "rubyzip" "security" "simctl" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0plwdkdnxq5x59bc45f6978yys4r5m85wmw8daa5136l33iypl41";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.206.2";
|
||||
};
|
||||
gh_inspector = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.3";
|
||||
};
|
||||
google-apis-androidpublisher_v3 = {
|
||||
dependencies = ["google-apis-core"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "14ll3kbnb5glbb7qrqcsmy5rslb1hz9xdc16dl3a6j0a9nxrmiiv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.21.0";
|
||||
};
|
||||
google-apis-core = {
|
||||
dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "rexml" "webrick"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "06s6kcvc6k5vgqkxf9xw1yaklr7yqf9kfvirm6i9b0lfmjfv26xv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.0";
|
||||
};
|
||||
google-apis-iamcredentials_v1 = {
|
||||
dependencies = ["google-apis-core"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1yibminaffzz5npq605m0vqc024dcybiw7xk5vr0jxzlsh8nxvhn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.10.0";
|
||||
};
|
||||
google-apis-playcustomapp_v1 = {
|
||||
dependencies = ["google-apis-core"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15wnkbn6kzijbyqkqrh7s6apjf5630yvf2v8zy93zk0x87n2drcd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.0";
|
||||
};
|
||||
google-apis-storage_v1 = {
|
||||
dependencies = ["google-apis-core"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08qhbzxpnn278zlx79zzx27q66djksjym6jhwalb25qlcdnk6wvs";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.14.0";
|
||||
};
|
||||
google-cloud-core = {
|
||||
dependencies = ["google-cloud-env" "google-cloud-errors"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0amp8vd16pzbdrfbp7k0k38rqxpwd88bkyp35l3x719hbb6l85za";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.0";
|
||||
};
|
||||
google-cloud-env = {
|
||||
dependencies = ["faraday"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05gshdqscg4kil6ppfzmikyavsx449bxyj47j33r4n4p8swsqyb1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.0";
|
||||
};
|
||||
google-cloud-errors = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0nakfswnck6grjpyhckzl40qccyys3sy999h5axk0rldx96fnivd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.0";
|
||||
};
|
||||
google-cloud-storage = {
|
||||
dependencies = ["addressable" "digest-crc" "google-apis-iamcredentials_v1" "google-apis-storage_v1" "google-cloud-core" "googleauth" "mini_mime"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09d1bvxma4czbgay9lhcqsrhh6pd8s9i5djflzpsn00h4isdilw3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.36.2";
|
||||
};
|
||||
googleauth = {
|
||||
dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1y80y72bpz04piiskfn93i5rzfy02mjchp3ym77yf2811gzz33d9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.3";
|
||||
};
|
||||
highline = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.3";
|
||||
};
|
||||
http-cookie = {
|
||||
dependencies = ["domain_name"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.5";
|
||||
};
|
||||
httpclient = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.3";
|
||||
};
|
||||
jmespath = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.1";
|
||||
};
|
||||
json = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.6.2";
|
||||
};
|
||||
jwt = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0bg8pjx0mpvl10k6d8a6gc8dzlv2z5jkqcjbjcirnk032iriq838";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.0";
|
||||
};
|
||||
memoist = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0i9wpzix3sjhf6d9zw60dm4371iq8kyz7ckh2qapan2vyaim6b55";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.16.2";
|
||||
};
|
||||
mini_magick = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.11.0";
|
||||
};
|
||||
mini_mime = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.2";
|
||||
};
|
||||
multi_json = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.15.0";
|
||||
};
|
||||
multipart-post = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.0";
|
||||
};
|
||||
nanaimo = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xi36h3f7nm8bc2k0b6svpda1lyank2gf872lxjbhw3h95hdrbma";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.0";
|
||||
};
|
||||
naturally = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "04x1nkx6gkqzlc4phdvq05v3vjds6mgqhjqzqpcs6vdh5xyqrf59";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.1";
|
||||
};
|
||||
optparse = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0j9l5a1zszvrlggp1ldx82i4kkqx34g4g3amwp488s499w5l1cvj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.1";
|
||||
};
|
||||
os = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.4";
|
||||
};
|
||||
plist = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1whhr897z6z6av85x2cipyjk46bwh6s4wx6nbrcd3iifnzvbqs7l";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.6.0";
|
||||
};
|
||||
public_suffix = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.7";
|
||||
};
|
||||
rake = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
|
||||
type = "gem";
|
||||
};
|
||||
version = "13.0.6";
|
||||
};
|
||||
representable = {
|
||||
dependencies = ["declarative" "trailblazer-option" "uber"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1kms3r6w6pnryysnaqqa9fsn0v73zx1ilds9d1c565n3xdzbyafc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.0";
|
||||
};
|
||||
retriable = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.2";
|
||||
};
|
||||
rexml = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.5";
|
||||
};
|
||||
rouge = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.7";
|
||||
};
|
||||
ruby2_keywords = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.5";
|
||||
};
|
||||
rubyzip = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.2";
|
||||
};
|
||||
security = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1ryjxs0j66wrbky2c08yf0mllwalvpg12rpxzbdx2rdhj3cbrlxa";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.3";
|
||||
};
|
||||
signet = {
|
||||
dependencies = ["addressable" "faraday" "jwt" "multi_json"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1jwyggz80xb3yi2hycmmw214c4072g8i56y0b0gsmpkiyk5d0vh1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.16.1";
|
||||
};
|
||||
simctl = {
|
||||
dependencies = ["CFPropertyList" "naturally"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1v9rsdmg5c5kkf8ps47xnrfbvjnq11sbaifr186jwkh4npawz00x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.8";
|
||||
};
|
||||
terminal-notifier = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1slc0y8pjpw30hy21v8ypafi8r7z9jlj4bjbgz03b65b28i2n3bs";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.0";
|
||||
};
|
||||
terminal-table = {
|
||||
dependencies = ["unicode-display_width"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.0";
|
||||
};
|
||||
trailblazer-option = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "18s48fndi2kfvrfzmq6rxvjfwad347548yby0341ixz1lhpg3r10";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.2";
|
||||
};
|
||||
tty-cursor = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.1";
|
||||
};
|
||||
tty-screen = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.1";
|
||||
};
|
||||
tty-spinner = {
|
||||
dependencies = ["tty-cursor"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0hh5awmijnzw9flmh5ak610x1d00xiqagxa5mbr63ysggc26y0qf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.3";
|
||||
};
|
||||
uber = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.0";
|
||||
};
|
||||
unf = {
|
||||
dependencies = ["unf_ext"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.4";
|
||||
};
|
||||
unf_ext = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.8.2";
|
||||
};
|
||||
unicode-display_width = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.0";
|
||||
};
|
||||
webrick = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.7.0";
|
||||
};
|
||||
word_wrap = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1iyc5bc7dbgsd8j3yk1i99ral39f23l6wapi0083fbl19hid8mpm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
xcodeproj = {
|
||||
dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xmzb1mdsnkpf7v07whz0n2wc8kg6785sc7i5zyawd8dl8517rp4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.21.0";
|
||||
};
|
||||
xcpretty = {
|
||||
dependencies = ["rouge"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1xq47q2h5llj7b54rws4796904vnnjz7qqnacdv7wlp3gdbwrivm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.0";
|
||||
};
|
||||
xcpretty-travis-formatter = {
|
||||
dependencies = ["xcpretty"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "14rg4f70klrs910n7rsgfa4dn8s2qyny55194ax2qyyb2wpk7k5a";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/admin/fbvnc/default.nix
Normal file
30
pkgs/tools/admin/fbvnc/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{lib, stdenv, fetchFromGitHub}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "fbvnc";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zohead";
|
||||
repo = pname;
|
||||
sha256 = "0lkr4j1wsa05av2g9w99rr9w4j4k7a21vp36x0a3h50y8bmgwgm1";
|
||||
rev = "783204ff6c92afec33d6d36f7e74f1fcf2b1b601";
|
||||
};
|
||||
|
||||
buildInputs = [];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
cp fbvnc "$out/bin"
|
||||
mkdir -p "$out/share/doc/${pname}"
|
||||
cp README* "$out/share/doc/${pname}"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Framebuffer VNC client";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = [lib.maintainers.raskin];
|
||||
platforms = lib.platforms.linux;
|
||||
homepage = "https://github.com/zohead/fbvnc/";
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/admin/fioctl/default.nix
Normal file
26
pkgs/tools/admin/fioctl/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fioctl";
|
||||
version = "0.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foundriesio";
|
||||
repo = "fioctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wRjSg0jOXDfzF4kZboFawVvujCmAeB9xDOGE0tGYl4g=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-B3VL2ZHPdx9iWK++ckzz2H8zV7ESQZCw39AEffXNu+w=";
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w" "-X github.com/foundriesio/fioctl/subcommands/version.Commit=${src.rev}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple CLI to manage your Foundries Factory ";
|
||||
homepage = "https://github.com/foundriesio/fioctl";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ nixinator matthewcroughan ];
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/admin/fits-cloudctl/default.nix
Normal file
26
pkgs/tools/admin/fits-cloudctl/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fits-cloudctl";
|
||||
version = "0.10.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fi-ts";
|
||||
repo = "cloudctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-cC6qPPRrMUMpwQ/FH+H6LuwC35dfgcZyB2yqz7tvSIg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-nNzmecvTAIno6+OkpmlQ0eHfNfQGUH+ICLumvLswlWA=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command-line client for FI-TS Finance Cloud Native services";
|
||||
homepage = "https://github.com/fi-ts/cloudctl";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ j0xaf ];
|
||||
mainProgram = "cloudctl";
|
||||
};
|
||||
}
|
||||
58
pkgs/tools/admin/gixy/default.nix
Normal file
58
pkgs/tools/admin/gixy/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ lib, fetchFromGitHub, python3 }:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
pyparsing = super.pyparsing.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.4.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pyparsing";
|
||||
repo = "pyparsing";
|
||||
rev = "pyparsing_${version}";
|
||||
sha256 = "14pfy80q2flgzjcx8jkracvnxxnr59kjzp3kdm5nh232gk1v6g6h";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "gixy";
|
||||
version = "0.1.20";
|
||||
|
||||
# package is only compatible with python 2.7 and 3.5+
|
||||
disabled = with python.pkgs; !(pythonAtLeast "3.5" || isPy27);
|
||||
|
||||
# fetching from GitHub because the PyPi source is missing the tests
|
||||
src = fetchFromGitHub {
|
||||
owner = "yandex";
|
||||
repo = "gixy";
|
||||
rev = "v${version}";
|
||||
sha256 = "14arz3fjidb8z37m08xcpih1391varj8s0v3gri79z3qb4zq5k6b";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -ie '/argparse/d' setup.py
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
cached-property
|
||||
configargparse
|
||||
pyparsing
|
||||
jinja2
|
||||
nose
|
||||
setuptools
|
||||
six
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Nginx configuration static analyzer";
|
||||
longDescription = ''
|
||||
Gixy is a tool to analyze Nginx configuration.
|
||||
The main goal of Gixy is to prevent security misconfiguration and automate flaw detection.
|
||||
'';
|
||||
homepage = "https://github.com/yandex/gixy";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [ maintainers.willibutz ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
23
pkgs/tools/admin/google-cloud-sdk/alpha__init__.py
Executable file
23
pkgs/tools/admin/google-cloud-sdk/alpha__init__.py
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
# Copyright 2013 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Auth for the Google Cloud SDK.
|
||||
"""
|
||||
|
||||
from googlecloudsdk.calliope import base
|
||||
|
||||
|
||||
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
|
||||
class Alpha(base.Group):
|
||||
"""Alpha versions of gcloud commands."""
|
||||
23
pkgs/tools/admin/google-cloud-sdk/beta__init__.py
Executable file
23
pkgs/tools/admin/google-cloud-sdk/beta__init__.py
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
# Copyright 2013 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Auth for the Google Cloud SDK.
|
||||
"""
|
||||
|
||||
from googlecloudsdk.calliope import base
|
||||
|
||||
|
||||
@base.ReleaseTracks(base.ReleaseTrack.BETA)
|
||||
class Beta(base.Group):
|
||||
"""Beta versions of gcloud commands."""
|
||||
36
pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch
Normal file
36
pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
diff --git a/lib/googlecloudsdk/api_lib/sql/instances.py b/lib/googlecloudsdk/api_lib/sql/instances.py
|
||||
index 0d88ffe..814a436 100644
|
||||
--- a/lib/googlecloudsdk/api_lib/sql/instances.py
|
||||
+++ b/lib/googlecloudsdk/api_lib/sql/instances.py
|
||||
@@ -85,18 +85,19 @@ def GetRegionFromZone(gce_zone):
|
||||
def _GetCloudSqlProxyPath():
|
||||
"""Determines the path to the cloud_sql_proxy binary."""
|
||||
sdk_bin_path = config.Paths().sdk_bin_path
|
||||
- if not sdk_bin_path:
|
||||
- # Check if cloud_sql_proxy is located on the PATH.
|
||||
- proxy_path = file_utils.FindExecutableOnPath('cloud_sql_proxy')
|
||||
- if proxy_path:
|
||||
- log.debug(
|
||||
- 'Using cloud_sql_proxy found at [{path}]'.format(path=proxy_path))
|
||||
- return proxy_path
|
||||
- else:
|
||||
- raise sql_exceptions.SqlProxyNotFound(
|
||||
- 'A Cloud SQL Proxy SDK root could not be found. Please check your '
|
||||
- 'installation.')
|
||||
- return os.path.join(sdk_bin_path, 'cloud_sql_proxy')
|
||||
+ if sdk_bin_path and os.path.isfile(os.path.join(sdk_bin_path, 'cloud_sql_proxy')):
|
||||
+ return os.path.join(sdk_bin_path, 'cloud_sql_proxy')
|
||||
+
|
||||
+ # Check if cloud_sql_proxy is located on the PATH.
|
||||
+ proxy_path = file_utils.FindExecutableOnPath('cloud_sql_proxy')
|
||||
+ if proxy_path:
|
||||
+ log.debug(
|
||||
+ 'Using cloud_sql_proxy found at [{path}]'.format(path=proxy_path))
|
||||
+ return proxy_path
|
||||
+
|
||||
+ raise sql_exceptions.SqlProxyNotFound(
|
||||
+ 'A Cloud SQL Proxy SDK root could not be found. Please check your '
|
||||
+ 'installation.')
|
||||
|
||||
|
||||
def _RaiseProxyError(error_msg=None):
|
||||
32
pkgs/tools/admin/google-cloud-sdk/data.nix
Normal file
32
pkgs/tools/admin/google-cloud-sdk/data.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# DO NOT EDIT! This file is generated automatically by update.sh
|
||||
{ }:
|
||||
{
|
||||
version = "387.0.0";
|
||||
googleCloudSdkPkgs = {
|
||||
x86_64-linux =
|
||||
{
|
||||
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-387.0.0-linux-x86_64.tar.gz";
|
||||
sha256 = "1hsp575xg7caxhldxmqxsds99mr0gs2qxgk7x7mr9jnjdq6nqmdg";
|
||||
};
|
||||
x86_64-darwin =
|
||||
{
|
||||
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-387.0.0-darwin-x86_64.tar.gz";
|
||||
sha256 = "0qyd6z5clnd0slhsn9hc1xiic5rbssrps1n97jq94mv90rjp94jx";
|
||||
};
|
||||
aarch64-linux =
|
||||
{
|
||||
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-387.0.0-linux-arm.tar.gz";
|
||||
sha256 = "0drxv1dzlnzmrs92j7a48iwvzfvdl9dl4hk688lj7cl51yndbyyz";
|
||||
};
|
||||
aarch64-darwin =
|
||||
{
|
||||
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-387.0.0-darwin-arm.tar.gz";
|
||||
sha256 = "0244k34lwj29smyds8qs7qdrvwwnvwh0v6giifbwzhlb40nw4k72";
|
||||
};
|
||||
i686-linux =
|
||||
{
|
||||
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-387.0.0-linux-x86.tar.gz";
|
||||
sha256 = "0fb6qx1qjm9y013glinxdaf1x9ppwrb7szjx96maqb90zvq1jdcz";
|
||||
};
|
||||
};
|
||||
}
|
||||
119
pkgs/tools/admin/google-cloud-sdk/default.nix
Normal file
119
pkgs/tools/admin/google-cloud-sdk/default.nix
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# Make sure that the "with-gce" flag is set when building `google-cloud-sdk`
|
||||
# for GCE hosts. This flag prevents "google-compute-engine" from being a
|
||||
# default dependency which is undesirable because this package is
|
||||
#
|
||||
# 1) available only on GNU/Linux (requires `systemd` in particular)
|
||||
# 2) intended only for GCE guests (and is useless elsewhere)
|
||||
# 3) used by `google-cloud-sdk` only on GCE guests
|
||||
#
|
||||
|
||||
{ stdenv, lib, fetchurl, makeWrapper, nixosTests, python, openssl, jq, with-gce ? false }:
|
||||
|
||||
let
|
||||
pythonEnv = python.withPackages (p: with p; [
|
||||
cffi
|
||||
cryptography
|
||||
openssl
|
||||
crcmod
|
||||
] ++ lib.optional (with-gce) google-compute-engine);
|
||||
|
||||
data = import ./data.nix { };
|
||||
sources = system:
|
||||
data.googleCloudSdkPkgs.${system} or (throw "Unsupported system: ${system}");
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "google-cloud-sdk";
|
||||
inherit (data) version;
|
||||
|
||||
src = fetchurl (sources stdenv.hostPlatform.system);
|
||||
|
||||
buildInputs = [ python ];
|
||||
|
||||
nativeBuildInputs = [ jq makeWrapper ];
|
||||
|
||||
patches = [
|
||||
# For kubectl configs, don't store the absolute path of the `gcloud` binary as it can be garbage-collected
|
||||
./gcloud-path.patch
|
||||
# Disable checking for updates for the package
|
||||
./gsutil-disable-updates.patch
|
||||
# Try to use cloud_sql_proxy from SDK only if it actually exists, otherwise, search for one in PATH
|
||||
./cloud_sql_proxy_path.patch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/google-cloud-sdk
|
||||
cp -R * .install $out/google-cloud-sdk/
|
||||
|
||||
mkdir -p $out/google-cloud-sdk/lib/surface/{alpha,beta}
|
||||
cp ${./alpha__init__.py} $out/google-cloud-sdk/lib/surface/alpha/__init__.py
|
||||
cp ${./beta__init__.py} $out/google-cloud-sdk/lib/surface/beta/__init__.py
|
||||
|
||||
# create wrappers with correct env
|
||||
for program in gcloud bq gsutil git-credential-gcloud.sh docker-credential-gcloud; do
|
||||
programPath="$out/google-cloud-sdk/bin/$program"
|
||||
binaryPath="$out/bin/$program"
|
||||
wrapProgram "$programPath" \
|
||||
--set CLOUDSDK_PYTHON "${pythonEnv}/bin/python" \
|
||||
--prefix PYTHONPATH : "${pythonEnv}/${python.sitePackages}" \
|
||||
--prefix PATH : "${openssl.bin}/bin"
|
||||
|
||||
mkdir -p $out/bin
|
||||
ln -s $programPath $binaryPath
|
||||
done
|
||||
|
||||
# disable component updater and update check
|
||||
substituteInPlace $out/google-cloud-sdk/lib/googlecloudsdk/core/config.json \
|
||||
--replace "\"disable_updater\": false" "\"disable_updater\": true"
|
||||
echo "
|
||||
[component_manager]
|
||||
disable_update_check = true" >> $out/google-cloud-sdk/properties
|
||||
|
||||
# setup bash completion
|
||||
mkdir -p $out/share/bash-completion/completions
|
||||
mv $out/google-cloud-sdk/completion.bash.inc $out/share/bash-completion/completions/gcloud
|
||||
ln -s $out/share/bash-completion/completions/gcloud $out/share/bash-completion/completions/gsutil
|
||||
|
||||
# setup zsh completion
|
||||
mkdir -p $out/share/zsh/site-functions
|
||||
mv $out/google-cloud-sdk/completion.zsh.inc $out/share/zsh/site-functions/_gcloud
|
||||
ln -s $out/share/zsh/site-functions/_gcloud $out/share/zsh/site-functions/_gsutil
|
||||
# zsh doesn't load completions from $FPATH without #compdef as the first line
|
||||
sed -i '1 i #compdef gcloud' $out/share/zsh/site-functions/_gcloud
|
||||
|
||||
# This directory contains compiled mac binaries. We used crcmod from
|
||||
# nixpkgs instead.
|
||||
rm -r $out/google-cloud-sdk/platform/gsutil/third_party/crcmod \
|
||||
$out/google-cloud-sdk/platform/gsutil/third_party/crcmod_osx
|
||||
|
||||
# remove tests and test data
|
||||
find $out -name tests -type d -exec rm -rf '{}' +
|
||||
rm $out/google-cloud-sdk/platform/gsutil/gslib/commands/test.py
|
||||
|
||||
# compact all the JSON
|
||||
find $out -name \*.json | while read path; do
|
||||
jq -c . $path > $path.min
|
||||
mv $path.min $path
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/gcloud version --format json | jq '."Google Cloud SDK"' | grep "${version}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tools for the google cloud platform";
|
||||
longDescription = "The Google Cloud SDK. This package has the programs: gcloud, gsutil, and bq";
|
||||
# This package contains vendored dependencies. All have free licenses.
|
||||
license = licenses.free;
|
||||
homepage = "https://cloud.google.com/sdk/";
|
||||
changelog = "https://cloud.google.com/sdk/docs/release-notes";
|
||||
maintainers = with maintainers; [ iammrinal0 pradyuman stephenmw zimbatm ];
|
||||
platforms = builtins.attrNames data.googleCloudSdkPkgs;
|
||||
mainProgram = "gcloud";
|
||||
};
|
||||
}
|
||||
46
pkgs/tools/admin/google-cloud-sdk/gcloud-path.patch
Normal file
46
pkgs/tools/admin/google-cloud-sdk/gcloud-path.patch
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
From b69fee70154a861637c82e98e18be01bbb96423b Mon Sep 17 00:00:00 2001
|
||||
From: Florian Klink <flokli@flokli.de>
|
||||
Date: Wed, 12 Jun 2019 17:03:09 +0200
|
||||
Subject: [PATCH] kubeconfig: don't store absolute path to gcloud binary
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The `gcloud beta container clusters get-credentials $cluster \
|
||||
--region $region --project $project`
|
||||
command can be used to write kubectl config files.
|
||||
|
||||
In that file, normally the absolute path to the `gcloud` binary is
|
||||
stored.
|
||||
|
||||
This is a bad idea in NixOS. We might eventually garbage-collect that
|
||||
specific gcloud binary - and in general, would expect a nix-shell
|
||||
provided gcloud to be used.
|
||||
|
||||
In its current state, token renewal would just start to break with the
|
||||
following error message:
|
||||
|
||||
Unable to connect to the server: error executing access token command "/nix/store/…/gcloud config config-helper --format=json": err=fork/exec /nix/store/…/gcloud: no such file or directory output= stderr=
|
||||
|
||||
Avoid this by storing just `gcloud` inside `cmd-path`, which causes
|
||||
kubectl to lookup the gcloud command from $PATH, which is more likely to
|
||||
keep working.
|
||||
---
|
||||
lib/googlecloudsdk/api_lib/container/kubeconfig.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/googlecloudsdk/api_lib/container/kubeconfig.py b/lib/googlecloudsdk/api_lib/container/kubeconfig.py
|
||||
index 4330988d6..37424b841 100644
|
||||
--- a/lib/googlecloudsdk/api_lib/container/kubeconfig.py
|
||||
+++ b/lib/googlecloudsdk/api_lib/container/kubeconfig.py
|
||||
@@ -352,7 +352,7 @@ def _AuthProvider(name='gcp',
|
||||
if sdk_bin_path is None:
|
||||
log.error(SDK_BIN_PATH_NOT_FOUND)
|
||||
raise Error(SDK_BIN_PATH_NOT_FOUND)
|
||||
- cmd_path = os.path.join(sdk_bin_path, bin_name)
|
||||
+ cmd_path = bin_name
|
||||
|
||||
cfg = {
|
||||
# Command for gcloud credential helper
|
||||
--
|
||||
2.21.0
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
diff --git a/platform/gsutil/gslib/command_runner.py b/platform/gsutil/gslib/command_runner.py
|
||||
index f490bb3..dc6bbcc 100644
|
||||
--- a/platform/gsutil/gslib/command_runner.py
|
||||
+++ b/platform/gsutil/gslib/command_runner.py
|
||||
@@ -330,18 +330,6 @@ class CommandRunner(object):
|
||||
Returns:
|
||||
Return value(s) from Command that was run.
|
||||
"""
|
||||
- command_changed_to_update = False
|
||||
- if (not skip_update_check and
|
||||
- self.MaybeCheckForAndOfferSoftwareUpdate(command_name, debug)):
|
||||
- command_name = 'update'
|
||||
- command_changed_to_update = True
|
||||
- args = [_StringToSysArgType('-n')]
|
||||
-
|
||||
- # Check for opt-in analytics.
|
||||
- if system_util.IsRunningInteractively() and collect_analytics:
|
||||
- metrics.CheckAndMaybePromptForAnalyticsEnabling()
|
||||
-
|
||||
- self.MaybePromptForPythonUpdate(command_name)
|
||||
|
||||
if not args:
|
||||
args = []
|
||||
@@ -415,15 +403,6 @@ class CommandRunner(object):
|
||||
ShutDownGsutil()
|
||||
if GetFailureCount() > 0:
|
||||
return_code = 1
|
||||
- if command_changed_to_update:
|
||||
- # If the command changed to update, the user's original command was
|
||||
- # not executed.
|
||||
- return_code = 1
|
||||
- print('\n'.join(
|
||||
- textwrap.wrap(
|
||||
- 'Update was successful. Exiting with code 1 as the original command '
|
||||
- 'issued prior to the update was not executed and should be re-run.'
|
||||
- )))
|
||||
return return_code
|
||||
|
||||
def SkipUpdateCheck(self):
|
||||
@@ -467,6 +446,7 @@ class CommandRunner(object):
|
||||
return True
|
||||
|
||||
def MaybeCheckForAndOfferSoftwareUpdate(self, command_name, debug):
|
||||
+ return False
|
||||
"""Checks the last time we checked for an update and offers one if needed.
|
||||
|
||||
Offer is made if the time since the last update check is longer
|
||||
47
pkgs/tools/admin/google-cloud-sdk/update.sh
Executable file
47
pkgs/tools/admin/google-cloud-sdk/update.sh
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p nix
|
||||
|
||||
BASE_URL="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk"
|
||||
|
||||
# Version of Google Cloud SDK from
|
||||
# https://cloud.google.com/sdk/docs/release-notes
|
||||
VERSION="387.0.0"
|
||||
|
||||
function genMainSrc() {
|
||||
local url="${BASE_URL}-${VERSION}-${1}-${2}.tar.gz"
|
||||
local sha256
|
||||
sha256=$(nix-prefetch-url "$url")
|
||||
echo " {"
|
||||
echo " url = \"${url}\";"
|
||||
echo " sha256 = \"${sha256}\";"
|
||||
echo " };"
|
||||
}
|
||||
|
||||
{
|
||||
cat <<EOF
|
||||
# DO NOT EDIT! This file is generated automatically by update.sh
|
||||
{ }:
|
||||
{
|
||||
version = "${VERSION}";
|
||||
googleCloudSdkPkgs = {
|
||||
EOF
|
||||
|
||||
echo " x86_64-linux ="
|
||||
genMainSrc "linux" "x86_64"
|
||||
|
||||
echo " x86_64-darwin ="
|
||||
genMainSrc "darwin" "x86_64"
|
||||
|
||||
echo " aarch64-linux ="
|
||||
genMainSrc "linux" "arm"
|
||||
|
||||
echo " aarch64-darwin ="
|
||||
genMainSrc "darwin" "arm"
|
||||
|
||||
echo " i686-linux ="
|
||||
genMainSrc "linux" "x86"
|
||||
|
||||
echo " };"
|
||||
echo "}"
|
||||
|
||||
} >data.nix
|
||||
72
pkgs/tools/admin/gtk-vnc/default.nix
Normal file
72
pkgs/tools/admin/gtk-vnc/default.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, gobject-introspection
|
||||
, gnutls
|
||||
, cairo
|
||||
, glib
|
||||
, pkg-config
|
||||
, cyrus_sasl
|
||||
, libpulseaudio
|
||||
, libgcrypt
|
||||
, gtk3
|
||||
, vala
|
||||
, gettext
|
||||
, perl
|
||||
, python3
|
||||
, gnome
|
||||
, gdk-pixbuf
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtk-vnc";
|
||||
version = "1.3.0";
|
||||
|
||||
outputs = [ "out" "bin" "man" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "X6qlgjuMvowLC6HkVsTnDEsa5mhcn+gaQoLZjPAKIR0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
vala
|
||||
gettext
|
||||
perl # for pod2man
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnutls
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
zlib
|
||||
glib
|
||||
libgcrypt
|
||||
cyrus_sasl
|
||||
libpulseaudio
|
||||
gtk3
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "none";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK VNC widget";
|
||||
homepage = "https://wiki.gnome.org/Projects/gtk-vnc";
|
||||
license = licenses.lgpl2Plus;
|
||||
maintainers = with maintainers; [ raskin offline ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/admin/iamy/default.nix
Normal file
26
pkgs/tools/admin/iamy/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "iamy";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "99designs";
|
||||
repo = "iamy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-oH3ijZaWXI0TdVQN9gzp5ypWzY7OqSxDh7VBoZo42Cs=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-/IUYM3pTvcHXw8t5MW6JUEWdxegFuQC8zkiySp8VEgE=";
|
||||
|
||||
ldflags = [
|
||||
"-X main.Version=v${version}" "-s" "-w"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A cli tool for importing and exporting AWS IAM configuration to YAML files";
|
||||
homepage = "https://github.com/99designs/iamy";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ suvash ];
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/admin/lego/default.nix
Normal file
32
pkgs/tools/admin/lego/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, fetchFromGitHub, buildGoModule, nixosTests }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lego";
|
||||
version = "4.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-acme";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FisQS/qbl7f4aszc2Ft6nmuHNrDreOQdN0jrWMOvaAk=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-cLM4YGguQf7lO5PUPmd/at1Aqrp9m8zFG6GWqcduJmw=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
subPackages = [ "cmd/lego" ];
|
||||
|
||||
ldflags = [
|
||||
"-X main.version=${version}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Let's Encrypt client and ACME library written in Go";
|
||||
license = licenses.mit;
|
||||
homepage = "https://go-acme.github.io/lego/";
|
||||
maintainers = teams.acme.members;
|
||||
};
|
||||
|
||||
passthru.tests.lego = nixosTests.acme;
|
||||
}
|
||||
64
pkgs/tools/admin/lexicon/default.nix
Normal file
64
pkgs/tools/admin/lexicon/default.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
with python3.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "lexicon";
|
||||
version = "3.9.4";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AnalogJ";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-TySgIxBEl2RolndAkEN4vCIDKaI48vrh2ocd+CTn7Ow=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
beautifulsoup4
|
||||
boto3
|
||||
cryptography
|
||||
dnspython
|
||||
future
|
||||
localzone
|
||||
oci
|
||||
pynamecheap
|
||||
pyyaml
|
||||
requests
|
||||
softlayer
|
||||
tldextract
|
||||
transip
|
||||
xmltodict
|
||||
zeep
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
mock
|
||||
pytestCheckHook
|
||||
pytest-xdist
|
||||
vcrpy
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Tests require network access
|
||||
"lexicon/tests/providers/test_auto.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"lexicon"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Manipulate DNS records of various DNS providers in a standardized way";
|
||||
homepage = "https://github.com/AnalogJ/lexicon";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ flyfloh ];
|
||||
};
|
||||
}
|
||||
67
pkgs/tools/admin/lxd/default.nix
Normal file
67
pkgs/tools/admin/lxd/default.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{ lib, hwdata, pkg-config, lxc, buildGo118Package, fetchurl, fetchpatch
|
||||
, makeWrapper, acl, rsync, gnutar, xz, btrfs-progs, gzip, dnsmasq, attr
|
||||
, squashfsTools, iproute2, iptables, libcap
|
||||
, dqlite, raft-canonical, sqlite-replication, udev
|
||||
, writeShellScriptBin, apparmor-profiles, apparmor-parser
|
||||
, criu
|
||||
, bash
|
||||
, installShellFiles
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
buildGo118Package rec {
|
||||
pname = "lxd";
|
||||
version = "5.2";
|
||||
|
||||
goPackagePath = "github.com/lxc/lxd";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz"
|
||||
"https://github.com/lxc/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "sha256-4i0rNKGEjTOyCAsrHII1WvttNv3+SeZ/RLN0ntvALkw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace shared/usbid/load.go \
|
||||
--replace "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids"
|
||||
'';
|
||||
|
||||
excludedPackages = [ "test" "lxd/db/generate" ];
|
||||
|
||||
preBuild = ''
|
||||
# required for go-dqlite. See: https://github.com/lxc/lxd/pull/8939
|
||||
export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
|
||||
|
||||
makeFlagsArray+=("-tags libsqlite3")
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/lxd --prefix PATH : ${lib.makeBinPath (
|
||||
[ iptables ]
|
||||
++ [ acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute2 bash criu attr ]
|
||||
++ [ (writeShellScriptBin "apparmor_parser" ''
|
||||
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
|
||||
'') ]
|
||||
)
|
||||
}
|
||||
|
||||
installShellCompletion --bash --name lxd go/src/github.com/lxc/lxd/scripts/bash/lxd-client
|
||||
'';
|
||||
|
||||
passthru.tests.lxd = nixosTests.lxd;
|
||||
passthru.tests.lxd-nftables = nixosTests.lxd-nftables;
|
||||
|
||||
nativeBuildInputs = [ installShellFiles pkg-config makeWrapper ];
|
||||
buildInputs = [ lxc acl libcap dqlite.dev raft-canonical.dev
|
||||
sqlite-replication udev.dev ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Daemon based on liblxc offering a REST API to manage containers";
|
||||
homepage = "https://linuxcontainers.org/lxd/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fpletz marsam ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
39
pkgs/tools/admin/meshcentral/default.nix
Normal file
39
pkgs/tools/admin/meshcentral/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, fetchpatch, fetchzip, yarn2nix-moretea, nodejs, jq, dos2unix }:
|
||||
|
||||
yarn2nix-moretea.mkYarnPackage rec {
|
||||
version = "1.0.18";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/meshcentral/-/meshcentral-${version}.tgz";
|
||||
sha256 = "03bs7c2n4cxpsjkrcwinmjarcfwxvkg10xvnjk5r1rnkzlrsy8pm";
|
||||
};
|
||||
|
||||
packageJSON = ./package.json;
|
||||
yarnLock = ./yarn.lock;
|
||||
yarnNix = ./yarn.nix;
|
||||
|
||||
# Tarball has CRLF line endings. This makes patching difficult, so let's convert them.
|
||||
nativeBuildInputs = [ dos2unix ];
|
||||
prePatch = ''
|
||||
find . -name '*.js' -exec dos2unix {} +
|
||||
ln -snf meshcentral.js bin/meshcentral
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
mkdir -p $out/bin
|
||||
chmod a+x $out/libexec/meshcentral/deps/meshcentral/meshcentral.js
|
||||
sed -i '1i#!${nodejs}/bin/node' $out/libexec/meshcentral/deps/meshcentral/meshcentral.js
|
||||
ln -s $out/libexec/meshcentral/deps/meshcentral/meshcentral.js $out/bin/meshcentral
|
||||
'';
|
||||
|
||||
publishBinsFor = [ ];
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Computer management web app";
|
||||
homepage = "https://meshcentral.com/info/";
|
||||
maintainers = [ maintainers.lheckemann ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
128
pkgs/tools/admin/meshcentral/package.json
Normal file
128
pkgs/tools/admin/meshcentral/package.json
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
{
|
||||
"name": "meshcentral",
|
||||
"version": "1.0.18",
|
||||
"keywords": [
|
||||
"Remote Device Management",
|
||||
"Remote Device Monitoring",
|
||||
"Remote Desktop",
|
||||
"Remote Terminal",
|
||||
"Remote File Access",
|
||||
"KVM",
|
||||
"2FA",
|
||||
"Two-Factor Authentication",
|
||||
"Intel Active Management Technology",
|
||||
"Intel AMT"
|
||||
],
|
||||
"homepage": "https://meshcentral.com",
|
||||
"description": "Web based remote computer management server",
|
||||
"author": "Ylian Saint-Hilaire <ylianst@gmail.com>",
|
||||
"main": "meshcentral.js",
|
||||
"bin": {
|
||||
"meshcentral": "bin/meshcentral"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"files": [
|
||||
"*.js",
|
||||
"amt",
|
||||
"bin",
|
||||
"rdp",
|
||||
"views",
|
||||
"emails",
|
||||
"agents",
|
||||
"public",
|
||||
"translate",
|
||||
"readme.txt",
|
||||
"license.txt",
|
||||
"sample-config.json",
|
||||
"sample-config-advanced.json"
|
||||
],
|
||||
"dependencies": {
|
||||
"body-parser": "^1.19.0",
|
||||
"cbor": "~5.2.0",
|
||||
"compression": "^1.7.4",
|
||||
"cookie-session": "^1.4.0",
|
||||
"express": "^4.17.0",
|
||||
"express-handlebars": "^5.3.5",
|
||||
"express-ws": "^4.0.0",
|
||||
"ipcheck": "^0.1.0",
|
||||
"minimist": "^1.2.5",
|
||||
"multiparty": "^4.2.1",
|
||||
"@yetzt/nedb": "^1.8.0",
|
||||
"node-forge": "^1.0.0",
|
||||
"ws": "^5.2.3",
|
||||
"yauzl": "^2.10.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Ylianst/MeshCentral.git"
|
||||
},
|
||||
"readme": "readme.txt",
|
||||
"optionalDependencies": {
|
||||
"passport": "*",
|
||||
"passport-twitter": "*",
|
||||
"passport-google-oauth20": "*",
|
||||
"passport-github2": "*",
|
||||
"passport-reddit": "*",
|
||||
"passport-azure-oauth2": "*",
|
||||
"jwt-simple": "*",
|
||||
"@mstrhakr/passport-generic-oidc": "*",
|
||||
"passport-saml": "*",
|
||||
"ws": "5.2.3",
|
||||
"cbor": "5.2.0",
|
||||
"@yetzt/nedb": "*",
|
||||
"https": "*",
|
||||
"yauzl": "*",
|
||||
"ipcheck": "*",
|
||||
"express": "*",
|
||||
"archiver": "4.0.2",
|
||||
"multiparty": "*",
|
||||
"node-forge": "*",
|
||||
"express-ws": "4.0.0",
|
||||
"compression": "*",
|
||||
"body-parser": "*",
|
||||
"cookie-session": "1.4.0",
|
||||
"express-handlebars": "*",
|
||||
"node-windows": "0.1.4",
|
||||
"loadavg-windows": "*",
|
||||
"node-sspi": "*",
|
||||
"ldapauth-fork": "*",
|
||||
"ssh2": "*",
|
||||
"image-size": "*",
|
||||
"acme-client": "*",
|
||||
"aedes": "0.39.0",
|
||||
"mysql": "*",
|
||||
"@mysql/xdevapi": "*",
|
||||
"mongodb": "4.1.0",
|
||||
"saslprep": "*",
|
||||
"pg": "8.7.1",
|
||||
"pgtools": "0.3.2",
|
||||
"mariadb": "*",
|
||||
"node-vault": "*",
|
||||
"semver": "*",
|
||||
"https-proxy-agent": "*",
|
||||
"mongojs": "*",
|
||||
"nodemailer": "*",
|
||||
"@sendgrid/mail": "*",
|
||||
"jsdom": "*",
|
||||
"esprima": "*",
|
||||
"minify-js": "*",
|
||||
"html-minifier": "*",
|
||||
"archiver-zip-encrypted": "*",
|
||||
"googleapis": "*",
|
||||
"webdav": "*",
|
||||
"wildleek": "2.0.0",
|
||||
"yubikeyotp": "*",
|
||||
"otplib": "10.2.3",
|
||||
"twilio": "*",
|
||||
"plivo": "*",
|
||||
"telnyx": "*",
|
||||
"web-push": "*",
|
||||
"node-xcs": "*",
|
||||
"modern-syslog": "*",
|
||||
"syslog": "*",
|
||||
"heapdump": "*"
|
||||
}
|
||||
}
|
||||
50
pkgs/tools/admin/meshcentral/update.sh
Executable file
50
pkgs/tools/admin/meshcentral/update.sh
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p nodejs yarn yarn2nix jq rsync common-updater-scripts moreutils
|
||||
|
||||
set -exuo pipefail
|
||||
|
||||
expr_dir=$(cd "$(dirname "$0")"; pwd)
|
||||
tmp=$(mktemp -dt update-meshcentral.XXXXXX)
|
||||
|
||||
npm show --json meshcentral > "$tmp/npm.json"
|
||||
version=$(<"$tmp/npm.json" jq -r .version)
|
||||
tarball=$(<"$tmp/npm.json" jq -r .dist.tarball)
|
||||
|
||||
prefetch=$(nix-prefetch-url --unpack --print-path "$tarball" | tr '\n' ' ')
|
||||
read -r hash storePath <<<"$prefetch"
|
||||
cd "$tmp"
|
||||
rsync -r --chmod=u=rwX "$storePath/" package/
|
||||
cd package
|
||||
|
||||
# Very crude way of discovering optional dependencies. These are
|
||||
# fetched at runtime by stock upstream, but we don't allow that kind
|
||||
# of thing in nix :)
|
||||
awk <meshcentral.js "
|
||||
BEGIN { RS=\"[\n;]\" }
|
||||
match(\$0, /(modules|passport) = (\[.*\])$/, a) { print a[2] }
|
||||
match(\$0, /(modules|passport).push\(('[^']+')\)/, a) { print a[2] }
|
||||
" |
|
||||
tr \' \" |
|
||||
jq --slurp '[if type == "array" then .[] else . end] | flatten' |
|
||||
# And an equally crude way of adding them to package.json. We
|
||||
# can't use yarn add here, because that will blow up on
|
||||
# dependencies which don't support the current platform. Even with
|
||||
# --optional.
|
||||
jq --slurpfile package package.json \
|
||||
'(. | map(. | capture("(?<name>@?[^@]+)(@(?<version>.+))?") | { key: .name, value: (.version // "*")}) | from_entries) as $optionalDependencies | $package | .[] | .optionalDependencies |= . + $optionalDependencies' |
|
||||
sponge package.json
|
||||
|
||||
# Fetch all the optional dependencies, so we have them available in
|
||||
# yarn.lock/yarn.nix
|
||||
yarn install --ignore-scripts
|
||||
|
||||
cp package.json "$expr_dir"
|
||||
cp yarn.lock "$expr_dir/yarn.lock"
|
||||
yarn2nix > "$expr_dir/yarn.nix"
|
||||
|
||||
cd "$expr_dir/../../../.."
|
||||
update-source-version meshcentral "$version" "$hash" "$tarball"
|
||||
|
||||
# Only clean up if everything worked
|
||||
cd /
|
||||
rm -rf "$tmp"
|
||||
7717
pkgs/tools/admin/meshcentral/yarn.lock
Normal file
7717
pkgs/tools/admin/meshcentral/yarn.lock
Normal file
File diff suppressed because it is too large
Load diff
8421
pkgs/tools/admin/meshcentral/yarn.nix
Normal file
8421
pkgs/tools/admin/meshcentral/yarn.nix
Normal file
File diff suppressed because it is too large
Load diff
59
pkgs/tools/admin/mycli/default.nix
Normal file
59
pkgs/tools/admin/mycli/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ lib
|
||||
, python3
|
||||
, glibcLocales
|
||||
}:
|
||||
|
||||
with python3.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "mycli";
|
||||
version = "1.25.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-/vEu2BJf0T7fSgSXflq56Ilaih7RAhhilZUgbNzZYQg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cli-helpers
|
||||
click
|
||||
configobj
|
||||
importlib-resources
|
||||
paramiko
|
||||
prompt-toolkit
|
||||
pyaes
|
||||
pycrypto
|
||||
pygments
|
||||
pymysql
|
||||
pyperclip
|
||||
sqlparse
|
||||
];
|
||||
|
||||
checkInputs = [ pytest glibcLocales ];
|
||||
|
||||
checkPhase = ''
|
||||
export HOME=.
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
py.test \
|
||||
--ignore=mycli/packages/paramiko_stub/__init__.py
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "sqlparse>=0.3.0,<0.4.0" "sqlparse" \
|
||||
--replace "importlib_resources >= 5.0.0" "importlib_resources"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
inherit version;
|
||||
description = "Command-line interface for MySQL";
|
||||
longDescription = ''
|
||||
Rich command-line interface for MySQL with auto-completion and
|
||||
syntax highlighting.
|
||||
'';
|
||||
homepage = "http://mycli.net";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ jojosch ];
|
||||
};
|
||||
}
|
||||
69
pkgs/tools/admin/netplan/default.nix
Normal file
69
pkgs/tools/admin/netplan/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, glib
|
||||
, pandoc
|
||||
, systemd
|
||||
, libyaml
|
||||
, python3
|
||||
, libuuid
|
||||
, bash-completion
|
||||
, lib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "netplan";
|
||||
version = "0.103";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "canonical";
|
||||
repo = "netplan";
|
||||
rev = version;
|
||||
hash = "sha256-d8Ze8S/w2nyJkATzLfizMqmr7ad2wrK1mjADClee6WE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
glib
|
||||
pandoc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
systemd
|
||||
glib
|
||||
libyaml
|
||||
(python3.withPackages (p: with p; [ pyyaml netifaces ]))
|
||||
libuuid
|
||||
bash-completion
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace netplan/cli/utils.py \
|
||||
--replace "/lib/netplan/generate" "$out/lib/netplan/generate" \
|
||||
--replace "ctypes.util.find_library('netplan')" "\"$out/lib/libnetplan.so\""
|
||||
|
||||
substituteInPlace Makefile \
|
||||
--replace 'SYSTEMD_GENERATOR_DIR=' 'SYSTEMD_GENERATOR_DIR ?= ' \
|
||||
--replace 'SYSTEMD_UNIT_DIR=' 'SYSTEMD_UNIT_DIR ?= ' \
|
||||
--replace 'BASH_COMPLETIONS_DIR=' 'BASH_COMPLETIONS_DIR ?= '
|
||||
|
||||
# from upstream https://github.com/canonical/netplan/blob/ee0d5df7b1dfbc3197865f02c724204b955e0e58/rpm/netplan.spec#L81
|
||||
sed -e "s/-Werror//g" -i Makefile
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX="
|
||||
"DESTDIR=$(out)"
|
||||
"SYSTEMD_GENERATOR_DIR=lib/systemd/system-generators/"
|
||||
"SYSTEMD_UNIT_DIR=lib/systemd/units/"
|
||||
"BASH_COMPLETIONS_DIR=share/bash-completion/completions"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Backend-agnostic network configuration in YAML";
|
||||
homepage = "https://netplan.io";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ mkg20001 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
92
pkgs/tools/admin/nomachine-client/default.nix
Normal file
92
pkgs/tools/admin/nomachine-client/default.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{ lib, stdenv, file, fetchurl, makeWrapper,
|
||||
autoPatchelfHook, jsoncpp, libpulseaudio }:
|
||||
let
|
||||
versionMajor = "7.9";
|
||||
versionMinor = "2";
|
||||
versionBuild_x86_64 = "1";
|
||||
versionBuild_i686 = "1";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nomachine-client";
|
||||
version = "${versionMajor}.${versionMinor}";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz";
|
||||
sha256 = "sha256-Gsi0Hj6cfpxzr0zbWfsq0ZJvCPATQn9YvHbx0Cziia4=";
|
||||
}
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz";
|
||||
sha256 = "sha256-zmXOLzFePAD+oH00bAkNsEFviQwkjjqC/gAv87E1qX4=";
|
||||
}
|
||||
else
|
||||
throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
||||
# nxusb-legacy is only needed for kernel versions < 3
|
||||
postUnpack = ''
|
||||
mv $(find . -type f -name nxclient.tar.gz) .
|
||||
mv $(find . -type f -name nxplayer.tar.gz) .
|
||||
rm -r NX/
|
||||
tar xf nxclient.tar.gz
|
||||
tar xf nxplayer.tar.gz
|
||||
rm $(find . -maxdepth 1 -type f)
|
||||
rm -r NX/share/src/nxusb-legacy
|
||||
rm NX/bin/nxusbd-legacy NX/lib/libnxusb-legacy.so
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ file makeWrapper autoPatchelfHook ];
|
||||
buildInputs = [ jsoncpp libpulseaudio ];
|
||||
|
||||
installPhase = ''
|
||||
rm bin/nxplayer bin/nxclient
|
||||
|
||||
mkdir -p $out/NX
|
||||
cp -r bin lib share $out/NX/
|
||||
|
||||
ln -s $out/NX/bin $out/bin
|
||||
|
||||
for i in share/icons/*; do
|
||||
if [[ -d "$i" ]]; then
|
||||
mkdir -p "$out/share/icons/hicolor/$(basename $i)/apps"
|
||||
cp "$i"/* "$out/share/icons/hicolor/$(basename $i)/apps/"
|
||||
fi
|
||||
done
|
||||
|
||||
mkdir $out/share/applications
|
||||
cp share/applnk/player/xdg/*.desktop $out/share/applications/
|
||||
cp share/applnk/client/xdg-mime/*.desktop $out/share/applications/
|
||||
|
||||
mkdir -p $out/share/mime/packages
|
||||
cp share/applnk/client/xdg-mime/*.xml $out/share/mime/packages/
|
||||
|
||||
for i in $out/share/applications/*.desktop; do
|
||||
substituteInPlace "$i" --replace /usr/NX/bin $out/bin
|
||||
done
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper $out/bin/nxplayer.bin $out/bin/nxplayer --set NX_SYSTEM $out/NX
|
||||
makeWrapper $out/bin/nxclient.bin $out/bin/nxclient --set NX_SYSTEM $out/NX
|
||||
|
||||
# libnxcau.so needs libpulse.so.0 for audio to work, but doesn't
|
||||
# have a DT_NEEDED entry for it.
|
||||
patchelf --add-needed libpulse.so.0 $out/NX/lib/libnxcau.so
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
dontStrip = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "NoMachine remote desktop client (nxplayer)";
|
||||
homepage = "https://www.nomachine.com/";
|
||||
license = {
|
||||
fullName = "NoMachine 7 End-User License Agreement";
|
||||
url = "https://www.nomachine.com/licensing-7";
|
||||
free = false;
|
||||
};
|
||||
maintainers = with maintainers; [ talyz ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
};
|
||||
}
|
||||
82
pkgs/tools/admin/oci-cli/default.nix
Normal file
82
pkgs/tools/admin/oci-cli/default.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
}:
|
||||
|
||||
let
|
||||
py = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
|
||||
click = super.click.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "7.1.2";
|
||||
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo=";
|
||||
};
|
||||
});
|
||||
|
||||
jmespath = super.jmespath.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.10.0";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9";
|
||||
};
|
||||
});
|
||||
|
||||
};
|
||||
};
|
||||
in
|
||||
with py.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "oci-cli";
|
||||
version = "3.7.2";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oracle";
|
||||
repo = "oci-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-20Tnn0s+sfLEsAG9S6f61OVGpRf53wFPtt4a2/TJbCg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
arrow
|
||||
certifi
|
||||
click
|
||||
configparser
|
||||
cryptography
|
||||
jmespath
|
||||
oci
|
||||
pyopenssl
|
||||
python-dateutil
|
||||
pytz
|
||||
pyyaml
|
||||
retrying
|
||||
six
|
||||
terminaltables
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "cryptography>=3.2.1,<=3.4.7" "cryptography" \
|
||||
--replace "pyOpenSSL==19.1.0" "pyOpenSSL" \
|
||||
--replace "PyYAML>=5.4,<6" "PyYAML" \
|
||||
--replace "terminaltables==3.1.0" "terminaltables"
|
||||
'';
|
||||
|
||||
# https://github.com/oracle/oci-cli/issues/187
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
" oci_cli "
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command Line Interface for Oracle Cloud Infrastructure";
|
||||
homepage = "https://docs.cloud.oracle.com/iaas/Content/API/Concepts/cliconcepts.htm";
|
||||
license = with licenses; [ asl20 /* or */ upl ];
|
||||
maintainers = with maintainers; [ ilian ];
|
||||
};
|
||||
}
|
||||
33
pkgs/tools/admin/ossutil/default.nix
Normal file
33
pkgs/tools/admin/ossutil/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
|
||||
|
||||
buildGoModule rec {
|
||||
version = "1.7.6";
|
||||
pname = "ossutil";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aliyun";
|
||||
repo = "ossutil";
|
||||
rev = version;
|
||||
sha256 = "1hkdk0hidnm7vz320i7s4z7jngx2j70acc93agii2b3r2bb91l3d";
|
||||
};
|
||||
|
||||
# this patch is required to add go mods to fetch dependencies
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/aliyun/ossutil/commit/64067e979fb24ffb198a0c4eca718e81b63f514e.patch";
|
||||
sha256 = "2pn0BcbNNL+iMema54LRpG/ca5kyDugLIZQ/TMhYG/8=";
|
||||
})
|
||||
];
|
||||
|
||||
vendorSha256 = "lem9Jg4Ywv3qcIwhiZHNi1VH5HxxNr6mnefOLCzPL70=";
|
||||
|
||||
# don't run tests as they require secret access keys that only travis has
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/aliyun/ossutil";
|
||||
description = "A user friendly command line tool to access Alibaba Cloud OSS";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jpetrucciani ];
|
||||
};
|
||||
}
|
||||
5
pkgs/tools/admin/oxidized/Gemfile
Normal file
5
pkgs/tools/admin/oxidized/Gemfile
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'oxidized', '0.26.3'
|
||||
gem 'oxidized-web', '0.13.1'
|
||||
gem 'oxidized-script', '0.6.0'
|
||||
80
pkgs/tools/admin/oxidized/Gemfile.lock
Normal file
80
pkgs/tools/admin/oxidized/Gemfile.lock
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
asetus (0.3.0)
|
||||
backports (3.14.0)
|
||||
charlock_holmes (0.7.6)
|
||||
emk-sinatra-url-for (0.2.1)
|
||||
sinatra (>= 0.9.1.1)
|
||||
ffi (1.10.0)
|
||||
git (1.5.0)
|
||||
haml (5.0.4)
|
||||
temple (>= 0.8.0)
|
||||
tilt
|
||||
htmlentities (4.3.4)
|
||||
json (2.2.0)
|
||||
multi_json (1.13.1)
|
||||
net-ssh (5.2.0)
|
||||
net-telnet (0.1.1)
|
||||
oxidized (0.26.3)
|
||||
asetus (~> 0.1)
|
||||
git (~> 1)
|
||||
net-ssh (~> 5)
|
||||
net-telnet (~> 0.1.1)
|
||||
rugged (~> 0.21, >= 0.21.4)
|
||||
slop (~> 3.5)
|
||||
oxidized-script (0.6.0)
|
||||
oxidized (~> 0.25)
|
||||
slop (~> 3.5)
|
||||
oxidized-web (0.13.1)
|
||||
charlock_holmes (~> 0.7.5)
|
||||
emk-sinatra-url-for (~> 0.2)
|
||||
haml (~> 5.0)
|
||||
htmlentities (~> 4.3)
|
||||
json (>= 1.7.0)
|
||||
oxidized (~> 0.26)
|
||||
puma (~> 3.11.4)
|
||||
rack-test (~> 0.7.0)
|
||||
sass (~> 3.3)
|
||||
sinatra (~> 1.4, >= 1.4.6)
|
||||
sinatra-contrib (~> 1.4, >= 1.4.6)
|
||||
puma (3.11.4)
|
||||
rack (1.6.11)
|
||||
rack-protection (1.5.5)
|
||||
rack
|
||||
rack-test (0.7.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.10.0)
|
||||
ffi (~> 1.0)
|
||||
rugged (0.28.1)
|
||||
sass (3.7.4)
|
||||
sass-listen (~> 4.0.0)
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
sinatra (1.4.8)
|
||||
rack (~> 1.5)
|
||||
rack-protection (~> 1.4)
|
||||
tilt (>= 1.3, < 3)
|
||||
sinatra-contrib (1.4.7)
|
||||
backports (>= 2.0)
|
||||
multi_json
|
||||
rack-protection
|
||||
rack-test
|
||||
sinatra (~> 1.4.0)
|
||||
tilt (>= 1.3, < 3)
|
||||
slop (3.6.0)
|
||||
temple (0.8.1)
|
||||
tilt (2.0.9)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
oxidized (= 0.26.3)
|
||||
oxidized-script (= 0.6.0)
|
||||
oxidized-web (= 0.13.1)
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
20
pkgs/tools/admin/oxidized/default.nix
Normal file
20
pkgs/tools/admin/oxidized/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ lib, ruby, bundlerApp, bundlerUpdateScript }:
|
||||
|
||||
bundlerApp {
|
||||
pname = "oxidized";
|
||||
gemdir = ./.;
|
||||
|
||||
inherit ruby;
|
||||
|
||||
exes = [ "oxidized" "oxidized-web" "oxidized-script" ];
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "oxidized";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A network device configuration backup tool. It's a RANCID replacement!";
|
||||
homepage = "https://github.com/ytti/oxidized";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ willibutz nicknovitski ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
304
pkgs/tools/admin/oxidized/gemset.nix
Normal file
304
pkgs/tools/admin/oxidized/gemset.nix
Normal file
|
|
@ -0,0 +1,304 @@
|
|||
{
|
||||
asetus = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1zkr8cbp8klanqmhzz7qmimzlxh6zmsy98zb3s75af34l7znq790";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.0";
|
||||
};
|
||||
backports = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17j5pf0b69bkn043wi4xd530ky53jbbnljr4bsjzlm4k8bzlknfn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.14.0";
|
||||
};
|
||||
charlock_holmes = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.6";
|
||||
};
|
||||
emk-sinatra-url-for = {
|
||||
dependencies = ["sinatra"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0rd5b1lraklv0hblzdnmw2z3dragfg0qqk7wxbpn58f8y7jxzjgj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.2.1";
|
||||
};
|
||||
ffi = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.0";
|
||||
};
|
||||
git = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0bf83icwypi3p3pd97vlqbnp3hvf31ncd440m9kh9y7x6yk74wyh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.0";
|
||||
};
|
||||
haml = {
|
||||
dependencies = ["temple" "tilt"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.0.4";
|
||||
};
|
||||
htmlentities = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.3.4";
|
||||
};
|
||||
json = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.0";
|
||||
};
|
||||
multi_json = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.13.1";
|
||||
};
|
||||
net-ssh = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "101wd2px9lady54aqmkibvy4j62zk32w0rjz4vnigyg974fsga40";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.2.0";
|
||||
};
|
||||
net-telnet = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "13qxznpwmc3hs51b76wqx2w29r158gzzh8719kv2gpi56844c8fx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.1";
|
||||
};
|
||||
oxidized = {
|
||||
dependencies = ["asetus" "git" "net-ssh" "net-telnet" "rugged" "slop"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "07hpxmdjkfpkc00ln3hhh5qkj0lyhcmgbi0jza2c8cnjyy9sc73x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.26.3";
|
||||
};
|
||||
oxidized-script = {
|
||||
dependencies = ["oxidized" "slop"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15cxsyaz2mwd7jj63gfv3lzyqkvb3gz29wxfy7xyjdzkc19c7vk6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.0";
|
||||
};
|
||||
oxidized-web = {
|
||||
dependencies = ["charlock_holmes" "emk-sinatra-url-for" "haml" "htmlentities" "json" "oxidized" "puma" "rack-test" "sass" "sinatra" "sinatra-contrib"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "07qmal83h1h5dqapgirq5yrnclbm3xhcjqkj80lla3dq18jmjhqs";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.13.1";
|
||||
};
|
||||
puma = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "06qiqx1pcfwq4gi9pdrrq8r6hgh3rwl7nl51r67zpm5xmqlp0g10";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.11.4";
|
||||
};
|
||||
rack = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.6.11";
|
||||
};
|
||||
rack-protection = {
|
||||
dependencies = ["rack"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.5";
|
||||
};
|
||||
rack-test = {
|
||||
dependencies = ["rack"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0f50ljlbg38g21q242him0n12r0fz7r3rs9n6p8ppahzh7k22x11";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.7.0";
|
||||
};
|
||||
rb-fsevent = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.10.3";
|
||||
};
|
||||
rb-inotify = {
|
||||
dependencies = ["ffi"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.10.0";
|
||||
};
|
||||
rugged = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.28.1";
|
||||
};
|
||||
sass = {
|
||||
dependencies = ["sass-listen"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.7.4";
|
||||
};
|
||||
sass-listen = {
|
||||
dependencies = ["rb-fsevent" "rb-inotify"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.0";
|
||||
};
|
||||
sinatra = {
|
||||
dependencies = ["rack" "rack-protection" "tilt"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.8";
|
||||
};
|
||||
sinatra-contrib = {
|
||||
dependencies = ["backports" "multi_json" "rack-protection" "rack-test" "sinatra" "tilt"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0vi3i0icbi2figiayxpvxbqpbn1syma7w4p4zw5mav1ln4c7jnfr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.7";
|
||||
};
|
||||
slop = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.6.0";
|
||||
};
|
||||
temple = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "158d7ygbwcifqnvrph219p7m78yjdjazhykv5darbkms7bxm5y09";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.1";
|
||||
};
|
||||
tilt = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.9";
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/admin/pebble/default.nix
Normal file
30
pkgs/tools/admin/pebble/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ buildGoPackage
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "pebble";
|
||||
version = "2.3.1";
|
||||
|
||||
goPackagePath = "github.com/letsencrypt/${pname}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "letsencrypt";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-S9+iRaTSRt4F6yMKK0OJO6Zto9p0dZ3q/mULaipudVo=";
|
||||
};
|
||||
|
||||
passthru.tests = {
|
||||
smoke-test = nixosTests.acme;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/letsencrypt/pebble";
|
||||
description = "A miniature version of Boulder, Pebble is a small RFC 8555 ACME test server not suited for a production CA";
|
||||
license = [ lib.licenses.mpl20 ];
|
||||
maintainers = lib.teams.acme.members;
|
||||
};
|
||||
}
|
||||
206
pkgs/tools/admin/pgadmin/default.nix
Normal file
206
pkgs/tools/admin/pgadmin/default.nix
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
{ lib
|
||||
, python3
|
||||
, fetchurl
|
||||
, zlib
|
||||
, mkYarnModules
|
||||
, sphinx
|
||||
, nixosTests
|
||||
, pkgs
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "pgadmin";
|
||||
version = "6.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
|
||||
sha256 = "sha256-wl7qC0p1NLX4+ulb4AGNPU6D0r838t6t/IYwJZcDnVQ=";
|
||||
};
|
||||
|
||||
yarnDeps = mkYarnModules {
|
||||
pname = "${pname}-yarn-deps";
|
||||
inherit version;
|
||||
packageJSON = ./package.json;
|
||||
yarnLock = ./yarn.lock;
|
||||
yarnNix = ./yarn.nix;
|
||||
};
|
||||
|
||||
# move buildDeps here to easily pass to test suite
|
||||
buildDeps = with pythonPackages; [
|
||||
flask
|
||||
flask-gravatar
|
||||
flask_login
|
||||
flask_mail
|
||||
flask_migrate
|
||||
flask_sqlalchemy
|
||||
flask-wtf
|
||||
flask-compress
|
||||
passlib
|
||||
pytz
|
||||
simplejson
|
||||
six
|
||||
sqlparse
|
||||
wtforms
|
||||
flask-paranoid
|
||||
psutil
|
||||
psycopg2
|
||||
python-dateutil
|
||||
sqlalchemy
|
||||
itsdangerous
|
||||
flask-security-too
|
||||
bcrypt
|
||||
cryptography
|
||||
sshtunnel
|
||||
ldap3
|
||||
flask-babelex
|
||||
flask-babel
|
||||
gssapi
|
||||
flask-socketio
|
||||
eventlet
|
||||
httpagentparser
|
||||
user-agents
|
||||
wheel
|
||||
authlib
|
||||
qrcode
|
||||
pillow
|
||||
pyotp
|
||||
botocore
|
||||
boto3
|
||||
];
|
||||
|
||||
# override necessary on pgadmin4 6.10
|
||||
pythonPackages = python3.pkgs.overrideScope (final: prev: rec {
|
||||
flask = prev.flask.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.0.3";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "sha256-4RIMIoyi9VO0cN9KX6knq2YlhGdSYGmYGz6wqRkCaH0=";
|
||||
};
|
||||
disabledTests = (oldAttrs.disabledTests or [ ]) ++ [
|
||||
"test_aborting"
|
||||
];
|
||||
});
|
||||
flask-paranoid = prev.flask-paranoid.overridePythonAttrs (oldAttrs: rec {
|
||||
# tests fail due to downgrades here
|
||||
doCheck = false;
|
||||
});
|
||||
werkzeug = prev.werkzeug.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.0.3";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "sha256-uGP4/wV8UiFktgZ8niiwQRYbS+W6TQ2s7qpQoWOCLTw=";
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
in
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
inherit pname version src;
|
||||
|
||||
# from Dockerfile
|
||||
CPPFLAGS = "-DPNG_ARM_NEON_OPT=0";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
patches = [
|
||||
# Expose setup.py for later use
|
||||
./expose-setup.py.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# patching Makefile, so it doesn't try to build sphinx documentation here
|
||||
# (will do so later)
|
||||
substituteInPlace Makefile \
|
||||
--replace 'LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx html' "true"
|
||||
|
||||
# fix document which refers a non-existing document and fails
|
||||
substituteInPlace docs/en_US/contributions.rst \
|
||||
--replace "code_snippets" ""
|
||||
patchShebangs .
|
||||
|
||||
# relax dependencies
|
||||
substituteInPlace requirements.txt \
|
||||
--replace "eventlet==0.33.0" "eventlet>=0.33.0" \
|
||||
--replace "psycopg2==2.9.*" "psycopg2>=2.9" \
|
||||
--replace "cryptography==3.*" "cryptography>=3.0" \
|
||||
--replace "requests==2.25.*" "requests>=2.25.0" \
|
||||
--replace "boto3==1.20.*" "boto3>=1.20" \
|
||||
--replace "botocore==1.23.*" "botocore>=1.23" \
|
||||
--replace "pytz==2021.*" "pytz" \
|
||||
--replace "Werkzeug==2.0.3" "werkzeug>=2.*"
|
||||
# don't use Server Mode (can be overridden later)
|
||||
substituteInPlace pkg/pip/setup_pip.py \
|
||||
--replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req" \
|
||||
--replace "builtins.SERVER_MODE = None" "builtins.SERVER_MODE = False"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
# Adapted from pkg/pip/build.sh
|
||||
echo Creating required directories...
|
||||
mkdir -p pip-build/pgadmin4/docs
|
||||
|
||||
# build the documentation
|
||||
cd docs/en_US
|
||||
${sphinx}/bin/sphinx-build -W -b html -d _build/doctrees . _build/html
|
||||
|
||||
# Build the clean tree
|
||||
cd ../../web
|
||||
cp -r * ../pip-build/pgadmin4
|
||||
cd ../docs
|
||||
cp -r * ../pip-build/pgadmin4/docs
|
||||
for DIR in `ls -d ??_??/`
|
||||
do
|
||||
if [ -d ''${DIR}_build/html ]; then
|
||||
mkdir -p ../pip-build/pgadmin4/docs/''${DIR}_build
|
||||
cp -Rv ''${DIR}_build/html ../pip-build/pgadmin4/docs/''${DIR}_build
|
||||
fi
|
||||
done
|
||||
cd ../
|
||||
|
||||
cp -r ${yarnDeps}/* pip-build/pgadmin4
|
||||
|
||||
echo Creating distro config...
|
||||
echo HELP_PATH = \'../../docs/en_US/_build/html/\' > pip-build/pgadmin4/config_distro.py
|
||||
echo MINIFY_HTML = False >> pip-build/pgadmin4/config_distro.py
|
||||
|
||||
echo Creating manifest...
|
||||
echo recursive-include pgadmin4 \* > pip-build/MANIFEST.in
|
||||
|
||||
echo Building wheel...
|
||||
cd pip-build
|
||||
# copy non-standard setup.py to local directory
|
||||
# so setuptools-build-hook can call it
|
||||
cp -v ../pkg/pip/setup_pip.py setup.py
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with pythonPackages; [ cython pip ];
|
||||
buildInputs = [
|
||||
zlib
|
||||
pythonPackages.wheel
|
||||
];
|
||||
|
||||
# tests need an own data, log directory
|
||||
# and a working and correctly setup postgres database
|
||||
# checks will be run through nixos/tests
|
||||
doCheck = false;
|
||||
|
||||
# speaklater3 is seperate because when passing buildDeps
|
||||
# to the test, it fails there due to a collision with speaklater
|
||||
propagatedBuildInputs = buildDeps ++ [ pythonPackages.speaklater3 ];
|
||||
|
||||
passthru.tests = {
|
||||
standalone = nixosTests.pgadmin4-standalone;
|
||||
# regression and function tests of the package itself
|
||||
package = import ../../../../nixos/tests/pgadmin4.nix { inherit pkgs buildDeps; pythonEnv = pythonPackages; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Administration and development platform for PostgreSQL";
|
||||
homepage = "https://www.pgadmin.org/";
|
||||
license = licenses.mit;
|
||||
changelog = "https://www.pgadmin.org/docs/pgadmin4/latest/release_notes_${lib.versions.major version}_${lib.versions.minor version}.html";
|
||||
maintainers = with maintainers; [ gador ];
|
||||
mainProgram = "pgadmin4";
|
||||
};
|
||||
}
|
||||
65
pkgs/tools/admin/pgadmin/expose-setup.py.patch
Normal file
65
pkgs/tools/admin/pgadmin/expose-setup.py.patch
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
From 391433d020da52fba28ad08beb2cc85ffd852044 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
|
||||
Date: Wed, 23 Feb 2022 14:40:11 +0100
|
||||
Subject: [PATCH] Expose setup.py as pgadmin4-setup
|
||||
|
||||
---
|
||||
pkg/pip/setup_pip.py | 5 ++++-
|
||||
web/setup.py | 14 ++++++++------
|
||||
2 files changed, 12 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/pkg/pip/setup_pip.py b/pkg/pip/setup_pip.py
|
||||
index 5592d1b04..131eaa1ed 100644
|
||||
--- a/pkg/pip/setup_pip.py
|
||||
+++ b/pkg/pip/setup_pip.py
|
||||
@@ -95,7 +95,10 @@ setup(
|
||||
},
|
||||
|
||||
entry_points={
|
||||
- 'console_scripts': ['pgadmin4=pgadmin4.pgAdmin4:main'],
|
||||
+ 'console_scripts': [
|
||||
+ 'pgadmin4=pgadmin4.pgAdmin4:main',
|
||||
+ 'pgadmin4-setup=pgadmin4.setup:main'
|
||||
+ ],
|
||||
},
|
||||
|
||||
)
|
||||
diff --git a/web/setup.py b/web/setup.py
|
||||
index 5f4257e86..df970f049 100644
|
||||
--- a/web/setup.py
|
||||
+++ b/web/setup.py
|
||||
@@ -32,6 +32,10 @@ from pgadmin import create_app
|
||||
from pgadmin.utils import clear_database_servers, dump_database_servers,\
|
||||
load_database_servers
|
||||
|
||||
+# Configuration settings
|
||||
+import config
|
||||
+from pgadmin.model import SCHEMA_VERSION
|
||||
+from pgadmin.setup import db_upgrade, create_app_data_directory
|
||||
|
||||
def dump_servers(args):
|
||||
"""Dump the server groups and servers.
|
||||
@@ -139,12 +143,7 @@ def clear_servers():
|
||||
clear_database_servers(load_user, True)
|
||||
|
||||
|
||||
-if __name__ == '__main__':
|
||||
- # Configuration settings
|
||||
- import config
|
||||
- from pgadmin.model import SCHEMA_VERSION
|
||||
- from pgadmin.setup import db_upgrade, create_app_data_directory
|
||||
-
|
||||
+def main():
|
||||
parser = argparse.ArgumentParser(description='Setup the pgAdmin config DB')
|
||||
|
||||
exp_group = parser.add_argument_group('Dump server config')
|
||||
@@ -194,3 +193,6 @@ if __name__ == '__main__':
|
||||
print(str(e))
|
||||
else:
|
||||
setup_db()
|
||||
+
|
||||
+if __name__ == '__main__':
|
||||
+ main()
|
||||
--
|
||||
2.35.1
|
||||
|
||||
205
pkgs/tools/admin/pgadmin/package.json
Normal file
205
pkgs/tools/admin/pgadmin/package.json
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
{
|
||||
"//": [
|
||||
"IMPORTANT:",
|
||||
"If runtime or build time dependencies are changed in this file, the ",
|
||||
"committer *must* ensure the DEB and RPM package maintainers are informed ",
|
||||
"as soon as possible."
|
||||
],
|
||||
"license": "PostgreSQL",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.10.2",
|
||||
"@babel/eslint-parser": "^7.17.0",
|
||||
"@babel/eslint-plugin": "^7.17.7",
|
||||
"@babel/plugin-proposal-object-rest-spread": "^7.10.1",
|
||||
"@babel/plugin-syntax-jsx": "^7.16.0",
|
||||
"@babel/preset-env": "^7.10.2",
|
||||
"@babel/preset-typescript": "^7.8.3",
|
||||
"@emotion/core": "^10.0.14",
|
||||
"@emotion/memoize": "^0.7.5",
|
||||
"@emotion/react": "^11.1.5",
|
||||
"@emotion/styled": "^10.0.14",
|
||||
"@emotion/utils": "^1.0.0",
|
||||
"@svgr/webpack": "^5.5.0",
|
||||
"@wojtekmaj/enzyme-adapter-react-17": "^0.4.1",
|
||||
"autoprefixer": "^10.2.4",
|
||||
"axios-mock-adapter": "^1.17.0",
|
||||
"babel-loader": "^8.1.0",
|
||||
"browserify": "^17.0.0",
|
||||
"buffer": "^6.0.3",
|
||||
"copy-webpack-plugin": "^7.0.0",
|
||||
"core-js": "^3.2.1",
|
||||
"cross-env": "^7.0.3",
|
||||
"css-minimizer-webpack-plugin": "^3.0.0",
|
||||
"enzyme": "^3.11.0",
|
||||
"eslint": "^7.19.0",
|
||||
"eslint-plugin-react": "^7.20.5",
|
||||
"eslint-plugin-react-hooks": "^4.3.0",
|
||||
"exports-loader": "^2.0.0",
|
||||
"html-react-parser": "^1.2.7",
|
||||
"image-minimizer-webpack-plugin": "^2.2.0",
|
||||
"imagemin-mozjpeg": "^9.0.0",
|
||||
"imagemin-optipng": "^8.0.0",
|
||||
"imagemin-pngquant": "^9.0.1",
|
||||
"imagemin-svgo": "^8.0.0",
|
||||
"is-docker": "^2.1.1",
|
||||
"istanbul-instrumenter-loader": "^3.0.1",
|
||||
"jasmine-core": "^3.6.0",
|
||||
"jasmine-enzyme": "^7.1.2",
|
||||
"karma": "^6.3.15",
|
||||
"karma-babel-preprocessor": "^8.0.0",
|
||||
"karma-browserify": "^8.0.0",
|
||||
"karma-chrome-launcher": "^3.1.0",
|
||||
"karma-jasmine": "^4.0.1",
|
||||
"karma-jasmine-html-reporter": "^1.4.0",
|
||||
"karma-requirejs": "~1.1.0",
|
||||
"karma-source-map-support": "^1.4.0",
|
||||
"karma-sourcemap-loader": "^0.3.7",
|
||||
"karma-webpack": "^5.0.0",
|
||||
"mini-css-extract-plugin": "^1.3.5",
|
||||
"popper.js": "^1.16.1",
|
||||
"postcss-loader": "^5.0.0",
|
||||
"process": "^0.11.10",
|
||||
"prop-types": "^15.7.2",
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"sass": "^1.24.4",
|
||||
"sass-loader": "^11.0.0",
|
||||
"sass-resources-loader": "^2.2.1",
|
||||
"style-loader": "^2.0.0",
|
||||
"stylis": "^4.0.7",
|
||||
"svgo": "^2.7.0",
|
||||
"svgo-loader": "^2.2.0",
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"typescript": "^3.2.2",
|
||||
"webfonts-loader": "^7.3.0",
|
||||
"webpack": "^5.21.2",
|
||||
"webpack-bundle-analyzer": "^4.4.0",
|
||||
"webpack-cli": "^4.5.0",
|
||||
"yarn-audit-html": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/plugin-proposal-class-properties": "^7.10.4",
|
||||
"@babel/preset-react": "^7.12.13",
|
||||
"@date-io/core": "^1.3.6",
|
||||
"@date-io/date-fns": "1.x",
|
||||
"@emotion/sheet": "^1.0.1",
|
||||
"@material-ui/core": "4.11.0",
|
||||
"@material-ui/icons": "^4.11.2",
|
||||
"@material-ui/lab": "4.0.0-alpha.58",
|
||||
"@material-ui/pickers": "^3.2.10",
|
||||
"@mui/icons-material": "^5.4.2",
|
||||
"@mui/material": "^5.4.3",
|
||||
"@projectstorm/react-diagrams": "^6.6.1",
|
||||
"@simonwep/pickr": "^1.5.1",
|
||||
"@szhsin/react-menu": "^2.2.0",
|
||||
"@tippyjs/react": "^4.2.0",
|
||||
"@types/classnames": "^2.2.6",
|
||||
"@types/react": "^16.7.18",
|
||||
"@types/react-dom": "^16.0.11",
|
||||
"ajv": "^8.8.2",
|
||||
"alertifyjs": "git+https://github.com/EnterpriseDB/AlertifyJS/#72c1d794f5b6d4ec13a68d123c08f19021afe263",
|
||||
"anti-trojan-source": "^1.4.0",
|
||||
"aspen-decorations": "^1.0.2",
|
||||
"axios": "^0.21.1",
|
||||
"babelify": "~10.0.0",
|
||||
"backbone": "1.4.0",
|
||||
"backform": "^0.2.0",
|
||||
"backgrid-filter": "^0.3.7",
|
||||
"backgrid-select-all": "^0.3.5",
|
||||
"bignumber.js": "^9.0.1",
|
||||
"bootstrap": "^4.3.1",
|
||||
"bootstrap-datepicker": "^1.8.0",
|
||||
"bootstrap4-toggle": "^3.6.1",
|
||||
"brace": "^0.11.1",
|
||||
"browserfs": "^1.4.3",
|
||||
"chart.js": "^2.9.3",
|
||||
"classnames": "^2.2.6",
|
||||
"closest": "^0.0.1",
|
||||
"codemirror": "^5.59.2",
|
||||
"context-menu": "^2.0.0",
|
||||
"css-loader": "^5.0.1",
|
||||
"cssnano": "^5.0.2",
|
||||
"dagre": "^0.8.4",
|
||||
"date-fns": "^2.24.0",
|
||||
"diff-arrays-of-objects": "^1.1.8",
|
||||
"dropzone": "^5.9.3",
|
||||
"html2canvas": "^1.0.0-rc.7",
|
||||
"immutability-helper": "^3.0.0",
|
||||
"imports-loader": "^2.0.0",
|
||||
"insert-if": "^1.1.0",
|
||||
"ip-address": "^7.1.0",
|
||||
"jquery": "^3.6.0",
|
||||
"jquery-contextmenu": "^2.9.2",
|
||||
"jquery-ui": "^1.13.0",
|
||||
"json-bignumber": "^1.0.1",
|
||||
"jsoneditor": "^9.5.4",
|
||||
"jsoneditor-react": "^3.1.1",
|
||||
"karma-coverage": "^2.0.3",
|
||||
"leaflet": "^1.5.1",
|
||||
"lodash": "4.*",
|
||||
"ml-matrix": "^6.5.0",
|
||||
"moment": "^2.29.3",
|
||||
"moment-timezone": "^0.5.34",
|
||||
"mousetrap": "^1.6.3",
|
||||
"notificar": "^1.0.1",
|
||||
"notistack": "^2.0.0",
|
||||
"path-fx": "^2.0.0",
|
||||
"pathfinding": "^0.4.18",
|
||||
"paths-js": "^0.4.9",
|
||||
"pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#b0287d39b54de28cb2a83f0c19a95ce823f6feae",
|
||||
"postcss": "^8.2.15",
|
||||
"raf": "^3.4.1",
|
||||
"rc-dock": "^3.2.9",
|
||||
"react": "^17.0.1",
|
||||
"react-aspen": "^1.1.0",
|
||||
"react-checkbox-tree": "^1.7.2",
|
||||
"react-data-grid": "git+https://github.com/adityatoshniwal/react-data-grid.git/#8d9bc16ddd7c419acfbbd1c1cc2b70eb9f5b453c",
|
||||
"react-dom": "^17.0.1",
|
||||
"react-draggable": "^4.4.4",
|
||||
"react-leaflet": "^3.2.2",
|
||||
"react-rnd": "^10.3.5",
|
||||
"react-router-dom": "^6.2.2",
|
||||
"react-select": "^4.2.1",
|
||||
"react-table": "^7.6.3",
|
||||
"react-timer-hook": "^3.0.5",
|
||||
"react-virtualized-auto-sizer": "^1.0.6",
|
||||
"react-window": "^1.8.5",
|
||||
"select2": "^4.0.13",
|
||||
"shim-loader": "^1.0.1",
|
||||
"slickgrid": "git+https://github.com/6pac/SlickGrid.git#2.3.16",
|
||||
"snapsvg-cjs": "^0.0.6",
|
||||
"socket.io-client": "^4.0.0",
|
||||
"split.js": "^1.5.10",
|
||||
"styled-components": "^5.2.1",
|
||||
"tablesorter": "^2.31.2",
|
||||
"tempusdominus-bootstrap-4": "^5.1.2",
|
||||
"tempusdominus-core": "^5.19.3",
|
||||
"underscore": "^1.13.1",
|
||||
"url-loader": "^1.1.2",
|
||||
"valid-filename": "^2.0.1",
|
||||
"webcabin-docker": "git+https://github.com/EnterpriseDB/wcDocker/#40d025e0d86ee3cf058a52e01d2042113f134cdd",
|
||||
"wkx": "^0.5.0",
|
||||
"xterm": "^4.11.0",
|
||||
"xterm-addon-fit": "^0.5.0",
|
||||
"xterm-addon-search": "^0.8.0",
|
||||
"xterm-addon-web-links": "^0.4.0"
|
||||
},
|
||||
"scripts": {
|
||||
"linter": "yarn eslint --no-eslintrc -c .eslintrc.js --ext .js --ext .jsx .",
|
||||
"webpacker": "yarn run webpack --config webpack.config.js --progress",
|
||||
"webpacker:watch": "yarn run webpack --config webpack.config.js --progress --watch",
|
||||
"bundle:watch": "yarn run linter && yarn run webpacker:watch",
|
||||
"bundle:dev": "yarn run linter && yarn run webpacker",
|
||||
"bundle:analyze": "cross-env NODE_ENV=production ANALYZE=true yarn run bundle:dev",
|
||||
"bundle": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=8192 yarn run bundle:dev",
|
||||
"test:karma-once": "yarn run linter && yarn run karma start --single-run",
|
||||
"test:karma": "yarn run linter && yarn run karma start",
|
||||
"test:karma-coverage": "yarn run test:karma-once --reporters coverage,progress",
|
||||
"test:feature": "yarn run bundle && python regression/runtests.py --pkg feature_tests",
|
||||
"test": "yarn run test:karma-once && yarn run bundle && python regression/runtests.py",
|
||||
"pep8": "pycodestyle --config=../.pycodestyle ../docs && pycodestyle --config=../.pycodestyle ../pkg && pycodestyle --config=../.pycodestyle ../tools && pycodestyle --config=../.pycodestyle ../web",
|
||||
"auditjs-html": "yarn audit --json | yarn run yarn-audit-html --output ../auditjs.html",
|
||||
"auditjs": "yarn audit --groups dependencies",
|
||||
"auditpy": "safety check --full-report -i 40493",
|
||||
"audit": "yarn run auditjs && yarn run auditpy"
|
||||
}
|
||||
}
|
||||
11346
pkgs/tools/admin/pgadmin/yarn.lock
Normal file
11346
pkgs/tools/admin/pgadmin/yarn.lock
Normal file
File diff suppressed because it is too large
Load diff
12189
pkgs/tools/admin/pgadmin/yarn.nix
Normal file
12189
pkgs/tools/admin/pgadmin/yarn.nix
Normal file
File diff suppressed because it is too large
Load diff
37
pkgs/tools/admin/procs/default.nix
Normal file
37
pkgs/tools/admin/procs/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security, libiconv }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "procs";
|
||||
version = "0.12.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dalance";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-XR6HhMu5AN1vkR3YtDlogTN9/aEExFQtATyKUqWjyAM=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-U1ewV/t66jrFRMdu5ddPWyg08C2IGFr6rudPFRIkPsg=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
LIBCLANG_PATH = lib.optionals stdenv.isDarwin "${stdenv.cc.cc.lib}/lib/";
|
||||
|
||||
postInstall = ''
|
||||
for shell in bash fish zsh; do
|
||||
$out/bin/procs --completion $shell
|
||||
done
|
||||
installShellCompletion procs.{bash,fish} --zsh _procs
|
||||
'';
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern replacement for ps written in Rust";
|
||||
homepage = "https://github.com/dalance/procs";
|
||||
changelog = "https://github.com/dalance/procs/raw/v${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Br1ght0ne SuperSandro2000 sciencentistguy ];
|
||||
broken = stdenv.isDarwin && stdenv.isx86_64;
|
||||
};
|
||||
}
|
||||
639
pkgs/tools/admin/pulumi/data.nix
Normal file
639
pkgs/tools/admin/pulumi/data.nix
Normal file
|
|
@ -0,0 +1,639 @@
|
|||
# DO NOT EDIT! This file is generated automatically by update.sh
|
||||
{ }:
|
||||
{
|
||||
version = "3.31.0";
|
||||
pulumiPkgs = {
|
||||
x86_64-linux = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-linux-x64.tar.gz";
|
||||
sha256 = "195jqrgax3sy9bz9i36d60x5y3j47bp43453yhs2zdcllh29jfn2";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-linux-amd64.tar.gz";
|
||||
sha256 = "10vn054iia68rn37ibrri150k795hr3vdvwgsxdkr2qyp8rna6mx";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-linux-amd64.tar.gz";
|
||||
sha256 = "1xsrskiw91izjvj1xqfhaf4728vl28wcq4dsinh232g7gfm862r3";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.19.0-linux-amd64.tar.gz";
|
||||
sha256 = "16vg56vyxqid566nzdvcnx0fm70nif31wr71mrx1n6ibk767l00i";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v2.0.0-linux-amd64.tar.gz";
|
||||
sha256 = "1nfga7mqrb62vf96cfrwdwc41a82fm1xmjby01l3074y6nzb45mg";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.8.0-linux-amd64.tar.gz";
|
||||
sha256 = "1x1fvnxhnhhv9fhqp4syhqcybjqpa2rq8d9nb8yvm9rxgcjllr0n";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-linux-amd64.tar.gz";
|
||||
sha256 = "0srdq0blsm5p10kxds64ybh0pmy7n6v4sdd2s0555gc6w9l1ir40";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-linux-amd64.tar.gz";
|
||||
sha256 = "1mla2lc639w5shlih3nsf6hp696h7n592bwbhn9hl3xlpxvmwhdz";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-linux-amd64.tar.gz";
|
||||
sha256 = "06sp11azls8agqcrww3pgk19232ngbd19v9czp55321xpmgs0d6h";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-linux-amd64.tar.gz";
|
||||
sha256 = "1z8f287mm2mqfa76021fp5a1bj9045iwxcy8xs1ygh48b1890j49";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-linux-amd64.tar.gz";
|
||||
sha256 = "0hbrjydkw32xfks636pcfh00w0crn9ivhk0nw0a62812gvdafm9f";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.6.0-linux-amd64.tar.gz";
|
||||
sha256 = "0a5nav53dg3j4rrx7747a7bk90krfg9fxj0kw0wahcnjijbv1255";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-linux-amd64.tar.gz";
|
||||
sha256 = "0hy6j7n1jdqxmd6wq5lab1f31zzb3pkvali882fsgjvjw9clbk6a";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.12.0-linux-amd64.tar.gz";
|
||||
sha256 = "10v7rsd0k0zbkk4i0drhnv8c2wkjahgzy6niai00sk3kcd0c5p92";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-linux-amd64.tar.gz";
|
||||
sha256 = "08hy3qcf8dg36s3p9jm1mbknqp139izjdnr5ic4i8c3vycid0r1i";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
|
||||
sha256 = "0hnardid0kbzy65dmn7vz8ddy5hq78nf2871zz6srf2hfyiv7qa4";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v4.0.1-linux-amd64.tar.gz";
|
||||
sha256 = "0n1xqsfsqi773lwg9xbvglrd4pfb060fq8llxf06qj8h2imlxx34";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-linux-amd64.tar.gz";
|
||||
sha256 = "18m3c22lgh1byj3va8mxv8dk6ivaphmf4azqz8ndvva7jmiqayyb";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-linux-amd64.tar.gz";
|
||||
sha256 = "0m6rz6mljdz5w921gzmr3b20g6fpdhd1n9y8cplhdgpg1jvg1405";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-linux-amd64.tar.gz";
|
||||
sha256 = "17v460kbghvrvhxgckzg2bq556amy5hwmks4m1idkcz8akh6vlni";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-linux-amd64.tar.gz";
|
||||
sha256 = "010jm1x4id53wx8jwabqglyvkv73j8bnhksk5jcg20wbf1864hli";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-amd64.tar.gz";
|
||||
sha256 = "1gfiiwgb51ylwns3mqgnbgm2knrdzvy9r9v23yx0z03ba189d3m9";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-linux-amd64.tar.gz";
|
||||
sha256 = "1bs8bdkaa6qrrzddppar7yzcn3ml9rfvdmd72fcgvz1hw5vp7gzn";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-amd64.tar.gz";
|
||||
sha256 = "0nrpxd2hnpd3r17938vjkx36fs7bgli4gmzbz5lz27666zzizhmz";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-amd64.tar.gz";
|
||||
sha256 = "0nri27c71kf3pjivd0w9ymkl4rn39flh5n2rphi4gn6v4kfb1192";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-amd64.tar.gz";
|
||||
sha256 = "0lj01hyjyq3qazkryvvxkx6nwai3bac9shqxb6hcqv4pfdjzzxhr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.8.0-linux-amd64.tar.gz";
|
||||
sha256 = "111q7jxkjni1091m3kp9c2n1zqlkiy7lrfsrqk4bzpcf67krk9vj";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.4.0-linux-amd64.tar.gz";
|
||||
sha256 = "156wmbxm8c15lzqj2mx4mm14p569skfddfbq9rjyjlvxljklx2fd";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-linux-amd64.tar.gz";
|
||||
sha256 = "0fs68z18lmhl46dl45fnavhycysfbfkparvq9irhcc679icwn5id";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-linux-amd64.tar.gz";
|
||||
sha256 = "1jx9ngzk3k8ab5s1ms2j8k7sb2zfcxkwhjj7zwvdna5x2lxrvq20";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-linux-amd64.tar.gz";
|
||||
sha256 = "1abgvb6bqdpy4rh94rq94bjcvz7ksd0f4ywzwxh02f7qv9lacsx9";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-linux-amd64.tar.gz";
|
||||
sha256 = "014aqs91gyzsi413v6f6npnmx72yflhxc6ybxngybkphc6hzx5y2";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-linux-amd64.tar.gz";
|
||||
sha256 = "0yhsidz5mi6xznmrkvlg1jxyykhg3kccqd4fxg9zj9yv4l8ih2rw";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-linux-amd64.tar.gz";
|
||||
sha256 = "14kgn1xz3i5lh096chd1bqac0391g13zma0nkraynnaqziqw5xgf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-linux-amd64.tar.gz";
|
||||
sha256 = "1n780mk61vshxyf7h9wdx3rddnrmjljzzx979c4hw1ycq40iwxkh";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-linux-amd64.tar.gz";
|
||||
sha256 = "1l3iplqqndvx98bcil1z2vhnmaldvrgyggbs2f15jyz4iv2k822k";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-amd64.tar.gz";
|
||||
sha256 = "1yg18l0dhljy841gi47k63wq7qxg51zds2w59hw0x3i8lgaz0m2f";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-amd64.tar.gz";
|
||||
sha256 = "0vwlpczrzpgh274r300ilmm0z3vhg1fdlbx8p5j91p3cp86sj2s1";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz";
|
||||
sha256 = "14qsnjafhd8ppachxr7j9541p5rbf1cakqlr7mra86fli1r49z9p";
|
||||
}
|
||||
];
|
||||
x86_64-darwin = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-darwin-x64.tar.gz";
|
||||
sha256 = "1n1c05dpv1xhj7wsy4vxh31mzppmiz1qvjz9vhjnpjhcp9r949gr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-darwin-amd64.tar.gz";
|
||||
sha256 = "0i43sspz7bcg6nhdf3ncj6mcs087qn2z0fkfcylj7nsvvvwcacyr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0xnlj48lgjhb3cf0yp958j7js5akxygd6034r4fa26kzhqq6rnl6";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.19.0-darwin-amd64.tar.gz";
|
||||
sha256 = "14skymvy5mf0509v3b8wrmi7n390la9nr859l7afbhxk4cwvq3av";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v2.0.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0zjcbaflcbm52bjfpsr9pbg4jddf9y8zq4i1w8ki46bdcvyi998g";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.8.0-darwin-amd64.tar.gz";
|
||||
sha256 = "15a89ydv8yp71aamd9kciz9yggxza5njdikch5pvmd24jvar03gm";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-darwin-amd64.tar.gz";
|
||||
sha256 = "1qqbqjr0yh5ipyj074a86hjga126dib9x0c3rp40x7q03avsii3g";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0pig9hcmhig7ygx43fj0jjpv1js9kgdryhak62sfdvbsvcaqzp44";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-darwin-amd64.tar.gz";
|
||||
sha256 = "18b63y3wiw99wmkna5zv8k7bkrnnzm9nv4k14f93lg22jcmnhrkc";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-darwin-amd64.tar.gz";
|
||||
sha256 = "1shc7m4xlsmcjnrlbi2jyvmnvf9bg1cs6knfkl82jfs65ya5iidf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-darwin-amd64.tar.gz";
|
||||
sha256 = "11g07qp5b4p7ak5lrc1jaxlngfappba56lk9z8c6rlfs6ajkrfmq";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.6.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0pvq5mwl8scsyvkqgy32v1qs4060w0m12z0f1cw0aw34wd3zs67a";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-darwin-amd64.tar.gz";
|
||||
sha256 = "159h2l7dzj2bfzvifsq5vnsvp2z86bivim65pp0w8gf460n9v8b0";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.12.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0ywycfl0arsfqjirk3b56i8kpx7c9wpbisadmcz0m5fahi47j2v8";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-darwin-amd64.tar.gz";
|
||||
sha256 = "1s5zkdf6zf1l4nkmd8pl1mvr2sjj4bw3vcqnr4y9xmmxicjz9d0d";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
|
||||
sha256 = "1m5lh59h7nck1flzxs9m4n0ag0klk3jmnpf7hc509vffxs89xnjq";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v4.0.1-darwin-amd64.tar.gz";
|
||||
sha256 = "0i3aysdy7i13fx2a2kpnvd3qpn7vmc2mbln718kks3mikiz26aii";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-darwin-amd64.tar.gz";
|
||||
sha256 = "1zqbxqyv4x1fsyrdjpy2ham5fjs1yzjly0i3jpqrrkxfxw68z7an";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0bgznj8569m2zzx9qjmnbcn0c3zbz12iyiffp4kg1c7g7chrlvy6";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-darwin-amd64.tar.gz";
|
||||
sha256 = "08b6p6gliay66bd7687kjc9n3n7xdgbrrcnbjbqi7a3am14mf5p6";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-darwin-amd64.tar.gz";
|
||||
sha256 = "0828lrq07586liz2k7pjk7hnz4nxawkq03nw8x2s4j8paszrz295";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-amd64.tar.gz";
|
||||
sha256 = "11r73jfqkc0wgdf66zp6pmgq5packlm4dkjp12a00z6l2s4f0w4h";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-darwin-amd64.tar.gz";
|
||||
sha256 = "0ffnl6mbh9wpfb384zbv5v1sss4vvn0hqrcsy6v585984v1pays2";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-amd64.tar.gz";
|
||||
sha256 = "15zf53m0mgrk11qp3dvkrrh86j48hqs1p7x552gkqfqkn291d5z8";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-amd64.tar.gz";
|
||||
sha256 = "06s58xlwm3wf7895bzsqx4jsfb0kbxanzlaf21jff45y62nk1f1p";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0fhhc2k0g8mpxzcgci4jl3m59q3n8w3nka94l0n7r9cvs81099n6";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.8.0-darwin-amd64.tar.gz";
|
||||
sha256 = "13qxwzfsy0hmvgazry0q3qna0jk7llharcvdwz302fj4ad98s71j";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.4.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0zjha6vv6j386h2gfhvwicpqz53v13v7zdfl6bydjzh3mw2x7bcg";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-darwin-amd64.tar.gz";
|
||||
sha256 = "1fnv2d4b458blx5k2s861lj8zc0fcxkw5jfjcm25nhdc7694v04w";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0z5w42m0229gjlbp36aqh8cfd0l47nv5jh6gcjqfp5pkgwh37gnj";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-darwin-amd64.tar.gz";
|
||||
sha256 = "119a3dfrri8qdbianml7i2fm6yr8rrq1q0cnpk9r8qsyja2vsvp7";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-darwin-amd64.tar.gz";
|
||||
sha256 = "11zhgrljwqkj3a200kdh8gyzvxm6jcbwm71929a87wqppgwvcbag";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-darwin-amd64.tar.gz";
|
||||
sha256 = "1n6w6da58crv2dyi0s7pjzjk3y85qlz6qaa77r0lm58f8wcj4a9d";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-darwin-amd64.tar.gz";
|
||||
sha256 = "0whh7br959dc4hz47iskgkcxf4d6zg9lv9jvx1b9lyplra7iwyv0";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-darwin-amd64.tar.gz";
|
||||
sha256 = "0l89yiwjs39nhicln0bbwb8j1dajc1r1gdbqrl3zjpq6mnhanphb";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-darwin-amd64.tar.gz";
|
||||
sha256 = "1gxk3gcyqk688m9dv2p4flbm1dw0z9478xip6jqaiw4awkrzbnns";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-amd64.tar.gz";
|
||||
sha256 = "06sws30nxmhkcgg6ag01b32l4vi4c6sr9rdwdc3sy27abqhsmhgn";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-amd64.tar.gz";
|
||||
sha256 = "1ldksyxgwbg6fswfakgy3gdm5y50kc0bk74pxcza7w7ncirr9cvg";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz";
|
||||
sha256 = "11wm9c125154brisncm9cgb41nbjl9q9h4bq6z0ym8v681qq0fc4";
|
||||
}
|
||||
];
|
||||
aarch64-linux = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-linux-arm64.tar.gz";
|
||||
sha256 = "1p3c7ks1q6i9frz8ljjf7jn00sr6bgqm53hxxwxkim7hkr614ndp";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-linux-arm64.tar.gz";
|
||||
sha256 = "0c55b6jn7xxkvpcbgc4l8nxbjpdlpy6xhrk8j65ch27jhn3nwags";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-linux-arm64.tar.gz";
|
||||
sha256 = "0vn6rdqfl79p666v2h72dsqgwqfag5k3hh4abb7hdz2kzqrl7l9k";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.19.0-linux-arm64.tar.gz";
|
||||
sha256 = "1g6ymjsmxp149cv93sn5843pxlih1dbw16nvv4sn3prl360c4lxa";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v2.0.0-linux-arm64.tar.gz";
|
||||
sha256 = "08qjb17rpxmpl5waq6dsza28aa9lj8blf3x59xv3dv4ngzzymh07";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.8.0-linux-arm64.tar.gz";
|
||||
sha256 = "0j5wa27zhqf4vvpxgs4cmay8n3a74jsif4sr9x60mhkrhr0s117k";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-linux-arm64.tar.gz";
|
||||
sha256 = "051lksfn7na30y6r7qn24wg222kf4bsvd26ga3y7i2xh00nh82kp";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-linux-arm64.tar.gz";
|
||||
sha256 = "0g41dc6q42rr81167n4319llznjvb9i6zgfs5hrlxgz622grmax0";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-linux-arm64.tar.gz";
|
||||
sha256 = "1wyryxfmahcr668cp8kqc7l1spa6c1pzhxkwscd8payar78rswls";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-linux-arm64.tar.gz";
|
||||
sha256 = "0w55pk3ham08lrg3vq0hg3p23qipz21ln01g61xd0cpl79aysbq4";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-linux-arm64.tar.gz";
|
||||
sha256 = "1b1w886m6glpq49baj6zhyb2rcyi4y0kh4sl19ni3afmn9bw6xn3";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.6.0-linux-arm64.tar.gz";
|
||||
sha256 = "085flnzp062p6ankfl77p1y7n8ijrhmknnb4r46x6b3lrw891pgd";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-linux-arm64.tar.gz";
|
||||
sha256 = "00y77pyxnish3zym103al5z3r881p7nf9d1aqh887nnz6i5jw7nq";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.12.0-linux-arm64.tar.gz";
|
||||
sha256 = "1iwckjvbhrbic64yj8ydnn1ml19lw4k164xkkc4066dpxbjz128q";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-linux-arm64.tar.gz";
|
||||
sha256 = "1a935hi2zdd7bis2d1y818l1gl2dcq9dclbakvzczabksjdf731q";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
|
||||
sha256 = "111pia2f5xwkwaqs6p90ri29l5b3ivmahsa1bji4fwyyjyp22h4r";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v4.0.1-linux-arm64.tar.gz";
|
||||
sha256 = "0qpan6zvny2h2ckigwnf4dhsgmnywam1m4d2jp0nj9pm3628pldv";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-linux-arm64.tar.gz";
|
||||
sha256 = "0zwlr58wyd9aly58shffr24vsbna8bj2igl8l0j8gsf2g310n513";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-linux-arm64.tar.gz";
|
||||
sha256 = "1lnc40lgc2rgrbhw54gc3g24zp1v3vspr4c0bryjq21yrhisppdd";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-linux-arm64.tar.gz";
|
||||
sha256 = "0i6qxrdijf653nj6yqhdikbj3spzzwr5rbgngkc0v7yxkphlzlnj";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-linux-arm64.tar.gz";
|
||||
sha256 = "1q5fxlrfiqlwib5bwwinmghq3j25rv14ldklpxihviyz1b5sdiyk";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-arm64.tar.gz";
|
||||
sha256 = "1vrz3pm14i5zdmk3yibny2sghxk8kzwb2qi77mjbiyfhbvciy97q";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-linux-arm64.tar.gz";
|
||||
sha256 = "1ydmpcf13yj8jiw72nzzvnzpg3qwnwfr8j2qhr2jdwp1wxw46658";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-arm64.tar.gz";
|
||||
sha256 = "1glpxiq8v1fgjnh0r9hkl89s81iv44r24pha2jfvk1ww2jf54gwq";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-linux-arm64.tar.gz";
|
||||
sha256 = "14v7wm2gkhd064drw2l894dacdsm5lnndii5qzl5hsl6p9a5m970";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-linux-arm64.tar.gz";
|
||||
sha256 = "17iaf72dzy108v1njan21n72a5gzxbycq396hjh293a141kppn1m";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.8.0-linux-arm64.tar.gz";
|
||||
sha256 = "0dh28hhg2lbvbgw2yadw0ig68z2pcg51h38v74yczblm24k97jvq";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.4.0-linux-arm64.tar.gz";
|
||||
sha256 = "11y6vbmhrjqdlgzg9px1sm2p058v6mvk69gzhy2ix1c1a2sh6c56";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-linux-arm64.tar.gz";
|
||||
sha256 = "16wshr4q9wfp7gi09n2c2ckvybg28adw429mghzmcs13aws1cycp";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-linux-arm64.tar.gz";
|
||||
sha256 = "0k5ic9i7cd6ccl3v20sj7jgpdrcc4bkv697p0pslb7i3fnhdcawf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-linux-arm64.tar.gz";
|
||||
sha256 = "1ssrqxf1gss0fcpffgh40hasbgh4cc4ysqkk0lxdl90avb7lf2zr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-linux-arm64.tar.gz";
|
||||
sha256 = "10sb3lm8m90fwf20nqy6yzfwbxxlwf13hmygrqnyicvfmiajihkn";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-linux-arm64.tar.gz";
|
||||
sha256 = "0zkmkg9bivf5hlcbdj2aqyszpsqk7x8ag99z0x2yd00v72x2qcb5";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-linux-arm64.tar.gz";
|
||||
sha256 = "06djcfard6yq6qd98gbsnkry0jv3nnlgmwr90d818vbf923z0b1h";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-linux-arm64.tar.gz";
|
||||
sha256 = "08rxnqdvpb7lrknhlnyhnfnvsmbdi7cxds7dc5zdslx27fcywz8a";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-linux-arm64.tar.gz";
|
||||
sha256 = "1ivbdpls45zjzw4v2hi7g3zfhy0nlnnh026bkzzfnfan1isnpp87";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-arm64.tar.gz";
|
||||
sha256 = "1wbx83fc5v4n57rjn5xn4y7iiv8z4fdx1inj9w1ibqlij5hf0xra";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-arm64.tar.gz";
|
||||
sha256 = "13ys3i7anpvbmikzxlj44kw8shp9x4cg6nlqijx80vwl3hwk5qpw";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz";
|
||||
sha256 = "0fd3hgvkr3ch2r5hpmi7h70w4hkbjdyc7z534h151pyc5ssxw8bd";
|
||||
}
|
||||
];
|
||||
aarch64-darwin = [
|
||||
{
|
||||
url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0ixqqvzigq9l8xr2rcdf1ln7a3xhf9f52qz0zkabr8kq7l11vz3v";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-darwin-arm64.tar.gz";
|
||||
sha256 = "0l2xmaybgrbln3zgpdx6pmrg05hm08maigr62hpj2q6l8z06gsfk";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-darwin-arm64.tar.gz";
|
||||
sha256 = "14qf3y7nz4dd6qf9fq49f90415dn5hcjymm86rmcgyw1w1dkjpqi";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.19.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1n061d8phk6cjvr24138vqzxs5midfadqgrpmaaknbpykcd3vym3";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v2.0.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1s9affk1y1bzg44rz6cahnvzln4sc8ycwvmskqwrfqankrzk5730";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.8.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1qx9717a5qajn3dp4i0gswd2pb80dq98igfad9nbz1f9sbbax2dv";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0miqrbsivw7r4sw9q25lkn9z8fxq00sdx0l88agvzjp6rgsggbsl";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0nxmcssbsn2yqbndaz50xj7jmd7ynjak13yicmli0l7jcrw7ksyp";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1a7psd9l3rpf6sfil3wjc55mfdz856h5ixnsbjkpjy9zfblv42nv";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0ivwpfhknhyidpafm2347g1pair7vk055ajhhyg631vizx53hrr9";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1i7n2yvvsijhhxrdd6i9vvrlmrn382qyrs258kbrza5zckxshdwq";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.6.0-darwin-arm64.tar.gz";
|
||||
sha256 = "11b8dr2ycn3p4k06y2f4pj19hy7zpq0glh8npqixmvn66flp3wa7";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0payziqwl9f1xja001mymaabxd5524b6ksanfr5jifcfchy9zq47";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.12.0-darwin-arm64.tar.gz";
|
||||
sha256 = "19cqahnk217cr5pz6jp4d8v1hpxma0x4igvccgm2i02sfqlyr65y";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0ayg0w61lqv22nln95vd02kjhhqi5k3ncpdcxbh2rd09b74bbxvf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
|
||||
sha256 = "12bzicm43l7yvh02v5fx3z8v46l9i7a9f677735xi5rjbmd2an4c";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v4.0.1-darwin-arm64.tar.gz";
|
||||
sha256 = "0jj35mj57sivi5qsbwv8qm2jginppi192qlx6ashvgm352gia9r1";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0k3cyflqnf5n72lg02my28mmclacrnxpyjkakl4gj8qknsj7q94r";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0vvdbk778dlpwkadllm911f71vz1i1v48wmyws9z780nky6zrbii";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1gvzjf5mp3iy43srvx3blxfwcg20gqbqvycysnl2p8g8sg3scx5f";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-darwin-arm64.tar.gz";
|
||||
sha256 = "0gjxk12z2ww31nhvnyvjgr0kxn80sn3i1x4a3f5w9mk7xc1y7bhk";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-arm64.tar.gz";
|
||||
sha256 = "058f1j40ar4xh860c3qrm0qaagm69fdmbw14avvrhsmw245cyyzc";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-darwin-arm64.tar.gz";
|
||||
sha256 = "1smhffxxr9kfpx1czd5c2sx4srgnp2yafrqv7r4y7xqdxi92x2k0";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-arm64.tar.gz";
|
||||
sha256 = "0287l9snqwq801h44vxqawk0bpniszd41rw600jb1vp5h7qpksgf";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.3.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0n60fk2nyb1idf4rdc61jxjpzpw4v9106gwn6r1by10g8f1712yr";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.1.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0kym9f36h8b7s1smlmgazbzv8jjfpwxk6wv036bhx2xm3ysc7rgp";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.8.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0xqxk9xp49s0l5cxxz9wg26fg4fj57h4yjpvs4xs8fpaqa1saynd";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.4.0-darwin-arm64.tar.gz";
|
||||
sha256 = "14qp5vlmny68hjca1xykc06z2f740q1flkn9d7n2k6knzp1db9xq";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1m6rbisrfh6im9l9c5kfmi0fqp1ndr8wayc33ay18yikrnpfiibj";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0yqwxkd1rby0q7isxxyx1nn0vrz72znrms2d220haj1482gacj0a";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1j985hv5qmjvmh4vr978z3d6bpmj4mg3pil57402rifgdz3q7i17";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1j9128vmm70mhdhl8rxgz1p7vf6ywbaq906jldm0izr7yi119k76";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-darwin-arm64.tar.gz";
|
||||
sha256 = "1vbbca4z6z92yk2y6g15s0cyvs5n6vx84h30ldnn4mn3gdfdi7gg";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-darwin-arm64.tar.gz";
|
||||
sha256 = "16rnbbzx6fsck769sqghb9gqkkpl6vwbpczm8wrfa5ya90743mcm";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-darwin-arm64.tar.gz";
|
||||
sha256 = "0h423svxl2qfpgv4xl4kf3y2zsjz5lwndmvxjm9g8i01k9mn3v30";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-darwin-arm64.tar.gz";
|
||||
sha256 = "1iabwi9cf0pvfhhhxbhp8283bzhd58rwwfcrhgh1wh9kgr0icqlx";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-arm64.tar.gz";
|
||||
sha256 = "0r399sqs15knbq1h1p9qixzm3836whskpk9i91ag5h7kg5xjvnin";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-arm64.tar.gz";
|
||||
sha256 = "02zj0d1cc9qmmql27licsm33ygvgcmj19blxkhn8zxwr666jf6kw";
|
||||
}
|
||||
{
|
||||
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz";
|
||||
sha256 = "1qaccfqw24g862ij2p49m78hnymg0j2nghshszqrg45v0d0qnknm";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
38
pkgs/tools/admin/pulumi/default.nix
Normal file
38
pkgs/tools/admin/pulumi/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, stdenv, fetchurl, autoPatchelfHook, makeWrapper }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
data = import ./data.nix {};
|
||||
in stdenv.mkDerivation {
|
||||
pname = "pulumi";
|
||||
version = data.version;
|
||||
|
||||
postUnpack = ''
|
||||
mv pulumi-* pulumi
|
||||
'';
|
||||
|
||||
srcs = map (x: fetchurl x) data.pulumiPkgs.${stdenv.hostPlatform.system};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp * $out/bin/
|
||||
'' + optionalString stdenv.isLinux ''
|
||||
wrapProgram $out/bin/pulumi --set LD_LIBRARY_PATH "${stdenv.cc.cc.lib}/lib"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = optionals stdenv.isLinux [ autoPatchelfHook makeWrapper ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://pulumi.io/";
|
||||
description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
|
||||
license = with licenses; [ asl20 ];
|
||||
platforms = builtins.attrNames data.pulumiPkgs;
|
||||
maintainers = with maintainers; [
|
||||
ghuntley
|
||||
peterromfeldhk
|
||||
jlesquembre
|
||||
cpcloud
|
||||
];
|
||||
};
|
||||
}
|
||||
8
pkgs/tools/admin/pulumi/update-pulumi-shell.nix
Normal file
8
pkgs/tools/admin/pulumi/update-pulumi-shell.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ nixpkgs ? import ../../../.. { } }:
|
||||
with nixpkgs;
|
||||
mkShell {
|
||||
packages = [
|
||||
pkgs.gh
|
||||
];
|
||||
}
|
||||
|
||||
162
pkgs/tools/admin/pulumi/update.sh
Executable file
162
pkgs/tools/admin/pulumi/update.sh
Executable file
|
|
@ -0,0 +1,162 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell update-pulumi-shell.nix -i bash
|
||||
# shellcheck shell=bash
|
||||
# Bash 3 compatible for Darwin
|
||||
|
||||
if [ -z "${GITHUB_TOKEN}" ]; then
|
||||
echo >&2 "usage: GITHUB_TOKEN=… ./update.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
# Version of Pulumi from
|
||||
# https://www.pulumi.com/docs/get-started/install/versions/
|
||||
VERSION="3.31.0"
|
||||
|
||||
# An array of plugin names. The respective repository inside Pulumi's
|
||||
# Github organization is called pulumi-$name by convention.
|
||||
|
||||
declare -a pulumi_repos
|
||||
pulumi_repos=(
|
||||
"aiven"
|
||||
"akamai"
|
||||
"alicloud"
|
||||
"artifactory"
|
||||
"auth0"
|
||||
"aws"
|
||||
"azure"
|
||||
"azuread"
|
||||
"azuredevops"
|
||||
"cloudflare"
|
||||
"consul"
|
||||
"datadog"
|
||||
"digitalocean"
|
||||
"docker"
|
||||
"equinix-metal"
|
||||
"fastly"
|
||||
"gcp"
|
||||
"github"
|
||||
"gitlab"
|
||||
"google-native"
|
||||
"hcloud"
|
||||
"kubernetes"
|
||||
"linode"
|
||||
"mailgun"
|
||||
"mysql"
|
||||
"openstack"
|
||||
"postgresql"
|
||||
"random"
|
||||
"snowflake"
|
||||
"spotinst"
|
||||
"sumologic"
|
||||
"tailscale"
|
||||
"tls"
|
||||
"vault"
|
||||
"venafi"
|
||||
"vsphere"
|
||||
"wavefront"
|
||||
"yandex"
|
||||
)
|
||||
|
||||
# Contains latest release ${VERSION} from
|
||||
# https://github.com/pulumi/pulumi-${NAME}/releases
|
||||
|
||||
# Dynamically builds the plugin array, using the GitHub API for getting the
|
||||
# latest version.
|
||||
plugin_num=1
|
||||
plugins=()
|
||||
for key in "${pulumi_repos[@]}"; do
|
||||
plugin="${key}=$(gh api "repos/pulumi/pulumi-${key}/releases/latest" --jq '.tag_name | sub("^v"; "")')"
|
||||
printf "%20s: %s of %s\r" "${plugin}" "${plugin_num}" "${#pulumi_repos[@]}"
|
||||
plugins+=("${plugin}")
|
||||
sleep 1
|
||||
((++plugin_num))
|
||||
done
|
||||
printf "\n"
|
||||
|
||||
function genMainSrc() {
|
||||
local url="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-${1}-${2}.tar.gz"
|
||||
local sha256
|
||||
sha256=$(nix-prefetch-url "$url")
|
||||
echo " {"
|
||||
echo " url = \"${url}\";"
|
||||
echo " sha256 = \"$sha256\";"
|
||||
echo " }"
|
||||
}
|
||||
|
||||
function genSrc() {
|
||||
local url="${1}"
|
||||
local plug="${2}"
|
||||
local tmpdir="${3}"
|
||||
|
||||
local sha256
|
||||
sha256=$(nix-prefetch-url "$url")
|
||||
|
||||
{
|
||||
if [ -n "$sha256" ]; then # file exists
|
||||
echo " {"
|
||||
echo " url = \"${url}\";"
|
||||
echo " sha256 = \"$sha256\";"
|
||||
echo " }"
|
||||
else
|
||||
echo " # pulumi-resource-${plug} skipped (does not exist on remote)"
|
||||
fi
|
||||
} > "${tmpdir}/${plug}.nix"
|
||||
}
|
||||
|
||||
function genSrcs() {
|
||||
local tmpdir
|
||||
tmpdir="$(mktemp -d)"
|
||||
|
||||
local i=0
|
||||
|
||||
for plugVers in "${plugins[@]}"; do
|
||||
local plug=${plugVers%=*}
|
||||
local version=${plugVers#*=}
|
||||
# url as defined here
|
||||
# https://github.com/pulumi/pulumi/blob/06d4dde8898b2a0de2c3c7ff8e45f97495b89d82/pkg/workspace/plugins.go#L197
|
||||
local url="https://api.pulumi.com/releases/plugins/pulumi-resource-${plug}-v${version}-${1}-${2}.tar.gz"
|
||||
genSrc "${url}" "${plug}" "${tmpdir}" &
|
||||
((++i))
|
||||
done
|
||||
|
||||
wait
|
||||
|
||||
find "${tmpdir}" -name '*.nix' -print0 | sort -z | xargs -r0 cat
|
||||
rm -r "${tmpdir}"
|
||||
}
|
||||
|
||||
{
|
||||
cat << EOF
|
||||
# DO NOT EDIT! This file is generated automatically by update.sh
|
||||
{ }:
|
||||
{
|
||||
version = "${VERSION}";
|
||||
pulumiPkgs = {
|
||||
EOF
|
||||
|
||||
echo " x86_64-linux = ["
|
||||
genMainSrc "linux" "x64"
|
||||
genSrcs "linux" "amd64"
|
||||
echo " ];"
|
||||
|
||||
echo " x86_64-darwin = ["
|
||||
genMainSrc "darwin" "x64"
|
||||
genSrcs "darwin" "amd64"
|
||||
echo " ];"
|
||||
|
||||
echo " aarch64-linux = ["
|
||||
genMainSrc "linux" "arm64"
|
||||
genSrcs "linux" "arm64"
|
||||
echo " ];"
|
||||
|
||||
echo " aarch64-darwin = ["
|
||||
genMainSrc "darwin" "arm64"
|
||||
genSrcs "darwin" "arm64"
|
||||
echo " ];"
|
||||
|
||||
echo " };"
|
||||
echo "}"
|
||||
|
||||
} > "${SCRIPT_DIR}/data.nix"
|
||||
3
pkgs/tools/admin/puppet/puppet-bolt/Gemfile
Normal file
3
pkgs/tools/admin/puppet/puppet-bolt/Gemfile
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'bolt'
|
||||
176
pkgs/tools/admin/puppet/puppet-bolt/Gemfile.lock
Normal file
176
pkgs/tools/admin/puppet/puppet-bolt/Gemfile.lock
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (2.3.6)
|
||||
addressable (2.8.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.516.0)
|
||||
aws-sdk-core (3.121.2)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.239.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
jmespath (~> 1.0)
|
||||
aws-sdk-ec2 (1.271.0)
|
||||
aws-sdk-core (~> 3, >= 3.121.2)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sigv4 (1.4.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
bindata (2.4.10)
|
||||
bolt (3.19.0)
|
||||
CFPropertyList (~> 2.2)
|
||||
addressable (~> 2.5)
|
||||
aws-sdk-ec2 (~> 1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
ffi (>= 1.9.25, < 2.0.0)
|
||||
hiera-eyaml (~> 3)
|
||||
jwt (~> 2.2)
|
||||
logging (~> 2.2)
|
||||
minitar (~> 0.6)
|
||||
net-scp (~> 1.2)
|
||||
net-ssh (>= 4.0)
|
||||
net-ssh-krb (~> 0.5)
|
||||
orchestrator_client (~> 0.5)
|
||||
puppet (>= 6.18.0)
|
||||
puppet-resource_api (>= 1.8.1)
|
||||
puppet-strings (~> 2.3)
|
||||
puppetfile-resolver (~> 0.5)
|
||||
r10k (~> 3.10)
|
||||
ruby_smb (~> 1.0)
|
||||
terminal-table (~> 1.8)
|
||||
winrm (~> 2.0)
|
||||
winrm-fs (~> 1.3)
|
||||
builder (3.2.4)
|
||||
colored2 (3.1.2)
|
||||
concurrent-ruby (1.1.9)
|
||||
connection_pool (2.2.5)
|
||||
cri (2.15.10)
|
||||
deep_merge (1.2.1)
|
||||
erubi (1.10.0)
|
||||
facter (4.2.5)
|
||||
hocon (~> 1.3)
|
||||
thor (>= 1.0.1, < 2.0)
|
||||
faraday (0.17.4)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
faraday_middleware (0.14.0)
|
||||
faraday (>= 0.7.4, < 1.0)
|
||||
fast_gettext (1.1.2)
|
||||
ffi (1.15.4)
|
||||
gettext (3.2.9)
|
||||
locale (>= 2.0.5)
|
||||
text (>= 1.3.0)
|
||||
gettext-setup (0.34)
|
||||
fast_gettext (~> 1.1.0)
|
||||
gettext (>= 3.0.2, < 3.3.0)
|
||||
locale
|
||||
gssapi (1.3.1)
|
||||
ffi (>= 1.0.1)
|
||||
gyoku (1.3.1)
|
||||
builder (>= 2.1.2)
|
||||
hiera (3.7.0)
|
||||
hiera-eyaml (3.2.2)
|
||||
highline
|
||||
optimist
|
||||
highline (2.0.3)
|
||||
hocon (1.3.1)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.4.0)
|
||||
jwt (2.2.3)
|
||||
little-plugger (1.1.4)
|
||||
locale (2.1.3)
|
||||
log4r (1.1.10)
|
||||
logging (2.3.0)
|
||||
little-plugger (~> 1.1)
|
||||
multi_json (~> 1.14)
|
||||
minitar (0.9)
|
||||
molinillo (0.8.0)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.1.1)
|
||||
net-http-persistent (4.0.1)
|
||||
connection_pool (~> 2.2)
|
||||
net-scp (1.2.1)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (6.1.0)
|
||||
net-ssh-krb (0.5.1)
|
||||
gssapi (~> 1.3.0)
|
||||
net-ssh (>= 2.0)
|
||||
nori (2.6.0)
|
||||
optimist (3.0.1)
|
||||
orchestrator_client (0.5.2)
|
||||
faraday
|
||||
net-http-persistent
|
||||
public_suffix (4.0.6)
|
||||
puppet (7.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
deep_merge (~> 1.0)
|
||||
facter (> 2.0.1, < 5)
|
||||
fast_gettext (~> 1.1)
|
||||
hiera (>= 3.2.1, < 4)
|
||||
locale (~> 2.1)
|
||||
multi_json (~> 1.10)
|
||||
puppet-resource_api (~> 1.5)
|
||||
scanf (~> 1.0)
|
||||
semantic_puppet (~> 1.0)
|
||||
puppet-resource_api (1.8.14)
|
||||
hocon (>= 1.0)
|
||||
puppet-strings (2.8.0)
|
||||
rgen
|
||||
yard (~> 0.9.5)
|
||||
puppet_forge (2.3.4)
|
||||
faraday (>= 0.9.0, < 0.18.0, != 0.13.1)
|
||||
faraday_middleware (>= 0.9.0, < 0.15.0)
|
||||
gettext-setup (~> 0.11)
|
||||
minitar
|
||||
semantic_puppet (~> 1.0)
|
||||
puppetfile-resolver (0.5.0)
|
||||
molinillo (~> 0.6)
|
||||
semantic_puppet (~> 1.0)
|
||||
r10k (3.12.1)
|
||||
colored2 (= 3.1.2)
|
||||
cri (= 2.15.10)
|
||||
fast_gettext (~> 1.1.0)
|
||||
gettext (>= 3.0.2, < 3.3.0)
|
||||
gettext-setup (~> 0.24)
|
||||
jwt (~> 2.2.3)
|
||||
log4r (= 1.1.10)
|
||||
multi_json (~> 1.10)
|
||||
puppet_forge (~> 2.3.0)
|
||||
rgen (0.9.0)
|
||||
ruby_smb (1.1.0)
|
||||
bindata
|
||||
rubyntlm
|
||||
windows_error
|
||||
rubyntlm (0.6.3)
|
||||
rubyzip (2.3.2)
|
||||
scanf (1.0.0)
|
||||
semantic_puppet (1.0.4)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
text (1.3.1)
|
||||
thor (1.1.0)
|
||||
unicode-display_width (1.8.0)
|
||||
windows_error (0.1.2)
|
||||
winrm (2.3.6)
|
||||
builder (>= 2.1.2)
|
||||
erubi (~> 1.8)
|
||||
gssapi (~> 1.2)
|
||||
gyoku (~> 1.0)
|
||||
httpclient (~> 2.2, >= 2.2.0.2)
|
||||
logging (>= 1.6.1, < 3.0)
|
||||
nori (~> 2.0)
|
||||
rubyntlm (~> 0.6.0, >= 0.6.3)
|
||||
winrm-fs (1.3.5)
|
||||
erubi (~> 1.8)
|
||||
logging (>= 1.6.1, < 3.0)
|
||||
rubyzip (~> 2.0)
|
||||
winrm (~> 2.0)
|
||||
yard (0.9.26)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
bolt
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
13
pkgs/tools/admin/puppet/puppet-bolt/default.nix
Normal file
13
pkgs/tools/admin/puppet/puppet-bolt/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ bundlerApp, makeWrapper }:
|
||||
|
||||
bundlerApp {
|
||||
pname = "bolt";
|
||||
gemdir = ./.;
|
||||
exes = [ "bolt" ];
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
# Set BOLT_GEM=1 to remove warning
|
||||
wrapProgram $out/bin/bolt --set BOLT_GEM 1
|
||||
'';
|
||||
}
|
||||
710
pkgs/tools/admin/puppet/puppet-bolt/gemset.nix
Normal file
710
pkgs/tools/admin/puppet/puppet-bolt/gemset.nix
Normal file
|
|
@ -0,0 +1,710 @@
|
|||
{
|
||||
addressable = {
|
||||
dependencies = ["public_suffix"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.0";
|
||||
};
|
||||
aws-eventstream = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.0";
|
||||
};
|
||||
aws-partitions = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1jx44f1hc41712k8fqmzrbpqs2j9yl0msdqcmmfp0pirkbqw6ri0";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.516.0";
|
||||
};
|
||||
aws-sdk-core = {
|
||||
dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0d44wgbzlwc6gb2ql9cayljdwhlvz9byp2grk0n9favb7rq42fwc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.121.2";
|
||||
};
|
||||
aws-sdk-ec2 = {
|
||||
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0k85khm2c53y2sq29c9rg5kmjm1fnw2glgpjsl6hbh8cq3ciaain";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.271.0";
|
||||
};
|
||||
aws-sigv4 = {
|
||||
dependencies = ["aws-eventstream"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1wh1y79v0s4zgby2m79bnifk65hwf5pvk2yyrxzn2jkjjq8f8fqa";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.0";
|
||||
};
|
||||
bindata = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "06lqi4svq5qls9f7nnvd2zmjdqmi2sf82sq78ci5d78fq0z5x2vr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.4.10";
|
||||
};
|
||||
bolt = {
|
||||
dependencies = ["CFPropertyList" "addressable" "aws-sdk-ec2" "concurrent-ruby" "ffi" "hiera-eyaml" "jwt" "logging" "minitar" "net-scp" "net-ssh" "net-ssh-krb" "orchestrator_client" "puppet" "puppet-resource_api" "puppet-strings" "puppetfile-resolver" "r10k" "ruby_smb" "terminal-table" "winrm" "winrm-fs"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jmknsa10zazwba1mi19awywk14vj0danppx1hqzmmrpp0af98if";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.19.0";
|
||||
};
|
||||
builder = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.4";
|
||||
};
|
||||
CFPropertyList = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0hadm41xr1fq3qp74jd9l5q8l0j9083rgklgzsilllwaav7qrrid";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.6";
|
||||
};
|
||||
colored2 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.2";
|
||||
};
|
||||
concurrent-ruby = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.9";
|
||||
};
|
||||
connection_pool = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ffdxhgirgc86qb42yvmfj6v1v0x4lvi0pxn9zhghkff44wzra0k";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.5";
|
||||
};
|
||||
cri = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1h45kw2s4bjwgbfsrncs30av0j4zjync3wmcc6lpdnzbcxs7yms2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.15.10";
|
||||
};
|
||||
deep_merge = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1q3picw7zx1xdkybmrnhmk2hycxzaa0jv4gqrby1s90dy5n7fmsb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.1";
|
||||
};
|
||||
erubi = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.0";
|
||||
};
|
||||
facter = {
|
||||
dependencies = ["hocon" "thor"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1mhq4rmyc60ijzw6f6sbphyb76vlwcgbaqyqw6y7wb8qdisn19wc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.2.5";
|
||||
};
|
||||
faraday = {
|
||||
dependencies = ["multipart-post"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "172dirvq89zk57rv42n00rhbc2qwv1w20w4zjm6zvfqz4rdpnrqi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.17.4";
|
||||
};
|
||||
faraday_middleware = {
|
||||
dependencies = ["faraday"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1x7jgvpzl1nm7hqcnc8carq6yj1lijq74jv8pph4sb3bcpfpvcsc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.14.0";
|
||||
};
|
||||
fast_gettext = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ci71w9jb979c379c7vzm88nc3k6lf68kbrsgw9nlx5g4hng0s78";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.2";
|
||||
};
|
||||
ffi = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.15.4";
|
||||
};
|
||||
gettext = {
|
||||
dependencies = ["locale" "text"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.9";
|
||||
};
|
||||
gettext-setup = {
|
||||
dependencies = ["fast_gettext" "gettext" "locale"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1vfnayz20xd8q0sz27816kvgia9z2dpj9fy7z15da239wmmnz7ga";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.34";
|
||||
};
|
||||
gssapi = {
|
||||
dependencies = ["ffi"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
gyoku = {
|
||||
dependencies = ["builder"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
hiera = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1g1bagbb4lvs334gpqyylvcrs7h6q2kn1h162dnvhzqa4rzxap8a";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.7.0";
|
||||
};
|
||||
hiera-eyaml = {
|
||||
dependencies = ["highline" "optimist"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0fqn73wdh0ar63f863bda3wj1ii5p8gc3vqzv39l2cwkax6vcqgj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.2";
|
||||
};
|
||||
highline = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.3";
|
||||
};
|
||||
hocon = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0mifv4vfvppfdpkd0cwgy634sj0aplz6ys84sp8s11qrnm6vlnmn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
httpclient = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.3";
|
||||
};
|
||||
jmespath = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.0";
|
||||
};
|
||||
jwt = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "036i5fc09275ms49mw43mh4i9pwaap778ra2pmx06ipzyyjl6bfs";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.2.3";
|
||||
};
|
||||
little-plugger = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.4";
|
||||
};
|
||||
locale = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0997465kxvpxm92fiwc2b16l49mngk7b68g5k35ify0m3q0yxpdn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.3";
|
||||
};
|
||||
log4r = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.10";
|
||||
};
|
||||
logging = {
|
||||
dependencies = ["little-plugger" "multi_json"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pkmhcxi8lp74bq5gz9lxrvaiv5w0745kk7s4bw2b1x07qqri0n9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.0";
|
||||
};
|
||||
minitar = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9";
|
||||
};
|
||||
molinillo = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.0";
|
||||
};
|
||||
multi_json = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.15.0";
|
||||
};
|
||||
multipart-post = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.1";
|
||||
};
|
||||
net-http-persistent = {
|
||||
dependencies = ["connection_pool"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1yfypmfg1maf20yfd22zzng8k955iylz7iip0mgc9lazw36g8li7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.1";
|
||||
};
|
||||
net-scp = {
|
||||
dependencies = ["net-ssh"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.1";
|
||||
};
|
||||
net-ssh = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.1.0";
|
||||
};
|
||||
net-ssh-krb = {
|
||||
dependencies = ["gssapi" "net-ssh"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "120mns6drrapn8i63cbgxngjql4cyclv6asyrkgc87bv5prlh50c";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.1";
|
||||
};
|
||||
nori = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.6.0";
|
||||
};
|
||||
optimist = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1vg2chy1cfmdj6c1gryl8zvjhhmb3plwgyh1jfnpq4fnfqv7asrk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.1";
|
||||
};
|
||||
orchestrator_client = {
|
||||
dependencies = ["faraday" "net-http-persistent"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1a0yd89bflsgn7apai7ar76h39jbk56pbhd86x68wnwfbib32nmc";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.2";
|
||||
};
|
||||
public_suffix = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.6";
|
||||
};
|
||||
puppet = {
|
||||
dependencies = ["concurrent-ruby" "deep_merge" "facter" "fast_gettext" "hiera" "locale" "multi_json" "puppet-resource_api" "scanf" "semantic_puppet"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "02d9rqbqlmdbw6zh89zwh27ra6pqspcv5afqbpj1yrvg1k6cliri";
|
||||
type = "gem";
|
||||
};
|
||||
version = "7.12.0";
|
||||
};
|
||||
puppet-resource_api = {
|
||||
dependencies = ["hocon"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1dchnnrrx0wd0pcrry5aaqwnbbgvp81g6f3brqhgvkc397kly3lj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.14";
|
||||
};
|
||||
puppet-strings = {
|
||||
dependencies = ["rgen" "yard"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1pfxccfyl7i565x95kbaz574scrd5vrrlhx3x5kbcpalps9b06b1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.8.0";
|
||||
};
|
||||
puppet_forge = {
|
||||
dependencies = ["faraday" "faraday_middleware" "gettext-setup" "minitar" "semantic_puppet"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1jp9jczc11vxr6y57lxhxxd59vqa763h4qbsbjh1j0yhfagcv877";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.4";
|
||||
};
|
||||
puppetfile-resolver = {
|
||||
dependencies = ["molinillo" "semantic_puppet"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1npaafsafvi2mhcz76gycnshxwrrqq33fl2493v7grq6jw0bsann";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.0";
|
||||
};
|
||||
r10k = {
|
||||
dependencies = ["colored2" "cri" "fast_gettext" "gettext" "gettext-setup" "jwt" "log4r" "multi_json" "puppet_forge"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05qwvwgh08g5pw1cxikb7hpg0ia6nisva1gwpj0d9gb9wacml2qh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.12.1";
|
||||
};
|
||||
rgen = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "18ryflbkc2pvbb7jwl35pnyb1mlx9fby85dnqi7hsbz78mzsf87n";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.0";
|
||||
};
|
||||
ruby_smb = {
|
||||
dependencies = ["bindata" "rubyntlm" "windows_error"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "125pimmaskp13nkk5j138nfk1kd8n91sfdlx4dhj2j9zk342wsf4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
rubyntlm = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.6.3";
|
||||
};
|
||||
rubyzip = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.2";
|
||||
};
|
||||
scanf = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "000vxsci3zq8m1wl7mmppj7sarznrqlm6v2x2hdfmbxcwpvvfgak";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
semantic_puppet = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0gg1bizlgb8wswxwy3irgppqvd6mlr27qsp0fzpm459wffzq10sx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.4";
|
||||
};
|
||||
terminal-table = {
|
||||
dependencies = ["unicode-display_width"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.0";
|
||||
};
|
||||
text = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
thor = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
unicode-display_width = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.0";
|
||||
};
|
||||
windows_error = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0kbcv9j5sc7pvjzf1dkp6h69i6lmj205zyy2arxcfgqg11bsz2kp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.2";
|
||||
};
|
||||
winrm = {
|
||||
dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.6";
|
||||
};
|
||||
winrm-fs = {
|
||||
dependencies = ["erubi" "logging" "rubyzip" "winrm"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0gb91k6s1yjqw387x4w1nkpnxblq3pjdqckayl0qvz5n3ygdsb0d";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.5";
|
||||
};
|
||||
yard = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0qzr5j1a1cafv81ib3i51qyl8jnmwdxlqi3kbiraldzpbjh4ln9h";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.26";
|
||||
};
|
||||
}
|
||||
51
pkgs/tools/admin/realvnc-vnc-viewer/default.nix
Normal file
51
pkgs/tools/admin/realvnc-vnc-viewer/default.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{ lib, stdenv, fetchurl, autoPatchelfHook, rpmextract, libX11, libXext }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "realvnc-vnc-viewer";
|
||||
version = "6.22.207";
|
||||
|
||||
src = {
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm";
|
||||
sha256 = "0jybfqj1svkb297ahyp07xf4b8qyb5h1l2kp50a50ivb6flqd3jr";
|
||||
};
|
||||
"i686-linux" = fetchurl {
|
||||
url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x86.rpm";
|
||||
sha256 = "06jmkd474nql6p3hnqwnwj5ac29m2021flnvf44mfhrhaa5wnpz6";
|
||||
};
|
||||
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook rpmextract ];
|
||||
buildInputs = [ libX11 libXext ];
|
||||
|
||||
unpackPhase = ''
|
||||
rpmextract $src
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./usr/share/applications/realvnc-vncviewer.desktop \
|
||||
--replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
|
||||
substituteInPlace ./usr/share/mimelnk/application/realvnc-vncviewer-mime.desktop \
|
||||
--replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mv usr $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "VNC remote desktop client software by RealVNC";
|
||||
homepage = "https://www.realvnc.com/en/connect/download/viewer/";
|
||||
license = {
|
||||
fullName = "VNC Connect End User License Agreement";
|
||||
url = "https://static.realvnc.com/media/documents/LICENSE-4.0a_en.pdf";
|
||||
free = false;
|
||||
};
|
||||
maintainers = with maintainers; [ emilytrau ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue