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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View 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;
};
}

View 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
};
}

View 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" ];
};
}

View 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";
};
}

View 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 ];
};
}

View 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;
};
}

View 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;
};
}

View 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
View 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";
};
}
]

View 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;
};
}

View file

@ -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 ];
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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;
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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)

View 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 ];
};
}

View 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 ];
};
}

View 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 ];
};
})

View 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

View 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 ];
};
}

View 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;
};
}

View 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" ];
};
}

View 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 = [ ];
};
}

View 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;
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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";
};
}

View 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;
};
}

View 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

View 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 ];
};
}

View 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 ];
};
}

View 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;
};
}

View 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;
};
}

View 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;
};
}

View file

@ -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;

View 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;
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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";
};
}

View 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;
};
}

View 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;
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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";
};
}

View file

@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'fastlane'

View 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

View 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
];
};
}

View 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";
};
}

View 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/";
};
}

View 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 ];
};
}

View 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";
};
}

View 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;
};
}

View 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."""

View 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."""

View 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):

View 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";
};
};
}

View 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";
};
}

View 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

View file

@ -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

View 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

View 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;
};
}

View 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 ];
};
}

View 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;
}

View 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 ];
};
}

View 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;
};
}

View 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;
};
}

View 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": "*"
}
}

View 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"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View 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 ];
};
}

View 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;
};
}

View 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" ];
};
}

View 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 ];
};
}

View 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 ];
};
}

View 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'

View 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

View 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;
};
}

View 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";
};
}

View 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;
};
}

View 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";
};
}

View 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

View 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"
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View 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;
};
}

View 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";
}
];
};
}

View 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
];
};
}

View file

@ -0,0 +1,8 @@
{ nixpkgs ? import ../../../.. { } }:
with nixpkgs;
mkShell {
packages = [
pkgs.gh
];
}

162
pkgs/tools/admin/pulumi/update.sh Executable file
View 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"

View file

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'bolt'

View 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

View 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
'';
}

View 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";
};
}

View 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