about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/virtualization
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-10-19 14:40:23 +0000
committerAlyssa Ross <hi@alyssa.is>2022-01-07 10:22:32 +0000
commitcc62bcb55359ba8c5e0fe3a48e778444c89060d8 (patch)
treeca0e21d44eaf8837b687395e614445f7761d7bbd /nixpkgs/pkgs/tools/virtualization
parentd6625e8d25efd829c3cfa227d025ca4e606ae4b7 (diff)
parenta323570a264da96a0b0bcc1c9aa017794acdc752 (diff)
downloadnixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.gz
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.bz2
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.lz
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.xz
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.tar.zst
nixlib-cc62bcb55359ba8c5e0fe3a48e778444c89060d8.zip
Merge commit 'a323570a264da96a0b0bcc1c9aa017794acdc752'
Diffstat (limited to 'nixpkgs/pkgs/tools/virtualization')
-rw-r--r--nixpkgs/pkgs/tools/virtualization/extra-container/default.nix37
-rwxr-xr-xnixpkgs/pkgs/tools/virtualization/linode-cli/update.sh4
-rw-r--r--nixpkgs/pkgs/tools/virtualization/mininet/default.nix16
3 files changed, 48 insertions, 9 deletions
diff --git a/nixpkgs/pkgs/tools/virtualization/extra-container/default.nix b/nixpkgs/pkgs/tools/virtualization/extra-container/default.nix
new file mode 100644
index 000000000000..ad0601a5243a
--- /dev/null
+++ b/nixpkgs/pkgs/tools/virtualization/extra-container/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, lib, nixos-container, openssh, glibcLocales, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "extra-container";
+  version = "0.8";
+
+  src = fetchFromGitHub {
+    owner = "erikarvstedt";
+    repo = pname;
+    rev = version;
+    hash = "sha256-/AetqDPkz32JMdjbSdzZCBVmGbvzjeAb8Wv82iTgHFE=";
+  };
+
+  buildCommand = ''
+    install -D $src/extra-container $out/bin/extra-container
+    patchShebangs $out/bin
+    share=$out/share/extra-container
+    install $src/eval-config.nix -Dt $share
+
+    # Use existing PATH for systemctl and machinectl
+    scriptPath="export PATH=${lib.makeBinPath [ nixos-container openssh ]}:\$PATH"
+
+    sed -i \
+      -e "s|evalConfig=.*|evalConfig=$share/eval-config.nix|" \
+      -e "s|LOCALE_ARCHIVE=.*|LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive|" \
+      -e "2i$scriptPath" \
+      $out/bin/extra-container
+  '';
+
+  meta = with lib; {
+    description = "Run declarative containers without full system rebuilds";
+    homepage = https://github.com/erikarvstedt/extra-container;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.earvstedt ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh b/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh
index 281d0e1df970..dd37e41c5373 100755
--- a/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh
+++ b/nixpkgs/pkgs/tools/virtualization/linode-cli/update.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i bash -p curl gnugrep gnused jq yq-go
 
-set -eu -o pipefail
+set -x -eu -o pipefail
 
 cd $(dirname "${BASH_SOURCE[0]}")
 
@@ -21,7 +21,7 @@ VERSION=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
 SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linode/linode-cli/archive/refs/tags/${VERSION}.tar.gz)
 
 setKV () {
-  sed -i "s/$1 = \".*\"/$1 = \"$2\"/" default.nix
+    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
 }
 
 setKV specVersion ${SPEC_VERSION}
diff --git a/nixpkgs/pkgs/tools/virtualization/mininet/default.nix b/nixpkgs/pkgs/tools/virtualization/mininet/default.nix
index 78ddc8e6dfd5..ccc79d36c8f6 100644
--- a/nixpkgs/pkgs/tools/virtualization/mininet/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/mininet/default.nix
@@ -1,15 +1,15 @@
 { stdenv, lib, fetchFromGitHub
 , which
-, python
+, python3
 , help2man
 }:
 
 let
-  pyEnv = python.withPackages(ps: [ ps.setuptools ]);
+  pyEnv = python3.withPackages(ps: [ ps.setuptools ]);
 in
 stdenv.mkDerivation rec {
   pname = "mininet";
-  version = "2.3.0d6";
+  version = "2.3.0";
 
   outputs = [ "out" "py" ];
 
@@ -17,14 +17,16 @@ stdenv.mkDerivation rec {
     owner = "mininet";
     repo = "mininet";
     rev = version;
-    sha256 = "0wc6gni9dxj9jjnw66a28jdvcfm8bxv1i776m5dh002bn5wjcl6x";
+    sha256 = "sha256-bCppmeB+zQMKTptnzhsXtl72XJXU3USo7cQgP1Z6SrY=";
   };
 
   buildFlags = [ "mnexec" ];
   makeFlags = [ "PREFIX=$(out)" ];
 
-  pythonPath = [ python.pkgs.setuptools ];
-  buildInputs = [ python which help2man ];
+  pythonPath = [ python3.pkgs.setuptools ];
+  nativeBuildInputs = [ help2man ];
+
+  propagatedBuildInputs = [ python3 which ];
 
   installTargets = [ "install-mnexec" "install-manpages" ];
 
@@ -40,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Emulator for rapid prototyping of Software Defined Networks";
     license = {
-      fullName = "Mininet 2.3.0d6 License";
+      fullName = "Mininet 2.3.0 License";
     };
     platforms = platforms.linux;
     homepage = "https://github.com/mininet/mininet";