summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2017-05-01 19:27:30 +0200
committerGitHub <noreply@github.com>2017-05-01 19:27:30 +0200
commit208fa65256f9c7c732a3e15685727ae5e0b9516d (patch)
treeae27197631f1b0d995c2126dffed107326944e42 /pkgs
parentee790bf944c35536ecf4c9736131d8a22df7a6c6 (diff)
parent61668b036a39f04ce033eec775ac17a93a1e8d73 (diff)
downloadnixlib-208fa65256f9c7c732a3e15685727ae5e0b9516d.tar
nixlib-208fa65256f9c7c732a3e15685727ae5e0b9516d.tar.gz
nixlib-208fa65256f9c7c732a3e15685727ae5e0b9516d.tar.bz2
nixlib-208fa65256f9c7c732a3e15685727ae5e0b9516d.tar.lz
nixlib-208fa65256f9c7c732a3e15685727ae5e0b9516d.tar.xz
nixlib-208fa65256f9c7c732a3e15685727ae5e0b9516d.tar.zst
nixlib-208fa65256f9c7c732a3e15685727ae5e0b9516d.zip
Merge pull request #23080 from nixy/init/linode-cli
linode-cli: init at 1.4.7
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/virtualization/linode-cli/default.nix42
-rw-r--r--pkgs/top-level/all-packages.nix1
-rw-r--r--pkgs/top-level/perl-packages.nix15
3 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
new file mode 100644
index 000000000000..f74492b7727e
--- /dev/null
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, buildPerlPackage, perlPackages, makeWrapper}:
+
+buildPerlPackage rec {
+  name = "linode-cli-${version}";
+  version = "1.4.7";
+
+  src = fetchFromGitHub {
+    owner = "linode";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "1wiz067wgxi4z4rz4n9p7dlvx5z4hkl2nxpfvhikl6dri4m2nkkp";
+  };
+
+  buildInputs = [ makeWrapper ];
+  propagatedBuildInputs = with perlPackages; [
+    JSON
+    LWPUserAgent
+    MozillaCA
+    TryTiny
+    WebServiceLinode
+  ];
+
+  # Wrap perl scripts so they can find libraries
+  postInstall = ''
+    for n in "$out/bin"/*; do
+      wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB"
+    done
+  '';
+
+  # Has no tests
+  doCheck = false;
+
+  # Has no "doc" or "devdoc" outputs
+  outputs = [ "out" ];
+
+  meta = with stdenv.lib; {
+    description = "Command-line interface to the Linode platform";
+    homepage = "https://github.com/linode/cli";
+    license = with licenses; [ artistic2 gpl2 ];
+    maintainers = with maintainers; [ nixy ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e2e8952999a0..c3746fb9ef94 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18655,4 +18655,5 @@ with pkgs;
 
   xib2nib = callPackage ../development/tools/xib2nib {};
 
+  linode-cli = callPackage ../tools/virtualization/linode-cli { };
 }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 66339589e486..e48e1269166f 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -15513,4 +15513,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  WebServiceLinode = buildPerlModule rec {
+    name = "WebService-Linode-0.28";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MI/MIKEGRB/${name}.tar.gz";
+      sha256 = "66a315016999c0d2043caae86e664dad10c6613708f33a2f56aae8030326c509";
+    };
+    buildInputs = [ ModuleBuildTiny ];
+    propagatedBuildInputs = [ JSON LWP LWPProtocolhttps ];
+    meta = {
+      homepage = https://github.com/mikegrb/WebService-Linode;
+      description = "Perl Interface to the Linode.com API";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
 }; in self