From 33ea6994924de53db5f5d54aabbac76bc72bc113 Mon Sep 17 00:00:00 2001 From: pongo1231 Date: Tue, 12 Dec 2023 17:41:21 +0100 Subject: [PATCH] distrobox: 1.5.0.2 -> 1.6.0.1 --- .../distrobox/always-mount-nix.patch | 137 ++++++++++++++++++ .../virtualization/distrobox/default.nix | 11 +- 2 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/virtualization/distrobox/always-mount-nix.patch diff --git a/pkgs/applications/virtualization/distrobox/always-mount-nix.patch b/pkgs/applications/virtualization/distrobox/always-mount-nix.patch new file mode 100644 index 000000000000..c5df13294e92 --- /dev/null +++ b/pkgs/applications/virtualization/distrobox/always-mount-nix.patch @@ -0,0 +1,137 @@ +diff --git a/distrobox-create b/distrobox-create +index 64e9911..136659d 100755 +--- a/distrobox-create ++++ b/distrobox-create +@@ -74,6 +74,10 @@ unshare_ipc=0 + unshare_netns=0 + unshare_process=0 + unshare_devsys=0 ++ ++self_dir="$(dirname "$(realpath "$0")")" ++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")" ++ + # Use cd + dirname + pwd so that we do not have relative paths in mount points + # We're not using "realpath" here so that symlinks are not resolved this way + # "realpath" would break situations like Nix or similar symlink based package +@@ -98,6 +102,7 @@ version="1.6.0.1" + # priority over system defaults + # leave priority to environment variables. + config_files=" ++ $nix_config_file + /usr/share/distrobox/distrobox.conf + /usr/share/defaults/distrobox/distrobox.conf + /usr/etc/distrobox/distrobox.conf +diff --git a/distrobox-enter b/distrobox-enter +index 6d8998a..bb05437 100755 +--- a/distrobox-enter ++++ b/distrobox-enter +@@ -75,10 +75,14 @@ skip_workdir=0 + verbose=0 + version="1.6.0.1" + ++self_dir="$(dirname "$(realpath "$0")")" ++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")" ++ + # Source configuration files, this is done in an hierarchy so local files have + # priority over system defaults + # leave priority to environment variables. + config_files=" ++ $nix_config_file + /usr/share/distrobox/distrobox.conf + /usr/share/defaults/distrobox/distrobox.conf + /usr/etc/distrobox/distrobox.conf +diff --git a/distrobox-generate-entry b/distrobox-generate-entry +index 3243691..6a7910a 100755 +--- a/distrobox-generate-entry ++++ b/distrobox-generate-entry +@@ -45,10 +45,14 @@ icon_default="${HOME}/.local/share/icons/terminal-distrobox-icon.svg" + verbose=0 + version="1.6.0.1" + ++self_dir="$(dirname "$(realpath "$0")")" ++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")" ++ + # Source configuration files, this is done in an hierarchy so local files have + # priority over system defaults + # leave priority to environment variables. + config_files=" ++ $nix_config_file + /usr/share/distrobox/distrobox.conf + /usr/share/defaults/distrobox/distrobox.conf + /usr/etc/distrobox/distrobox.conf +diff --git a/distrobox-list b/distrobox-list +index aaec85e..235e529 100755 +--- a/distrobox-list ++++ b/distrobox-list +@@ -44,10 +44,14 @@ verbose=0 + version="1.6.0.1" + container_manager="autodetect" + ++self_dir="$(dirname "$(realpath "$0")")" ++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")" ++ + # Source configuration files, this is done in an hierarchy so local files have + # priority over system defaults + # leave priority to environment variables. + config_files=" ++ $nix_config_file + /usr/share/distrobox/distrobox.conf + /usr/share/defaults/distrobox/distrobox.conf + /usr/etc/distrobox/distrobox.conf +diff --git a/distrobox-rm b/distrobox-rm +index 702c1dd..2e37538 100755 +--- a/distrobox-rm ++++ b/distrobox-rm +@@ -54,10 +54,14 @@ rm_home=0 + response_rm_home="N" + version="1.6.0.1" + ++self_dir="$(dirname "$(realpath "$0")")" ++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")" ++ + # Source configuration files, this is done in an hierarchy so local files have + # priority over system defaults + # leave priority to environment variables. + config_files=" ++ $nix_config_file + /usr/share/distrobox/distrobox.conf + /usr/share/defaults/distrobox/distrobox.conf + /usr/etc/distrobox/distrobox.conf +diff --git a/distrobox-stop b/distrobox-stop +index fd17cc1..e0dbc8f 100755 +--- a/distrobox-stop ++++ b/distrobox-stop +@@ -52,10 +52,14 @@ non_interactive=0 + verbose=0 + version="1.6.0.1" + ++self_dir="$(dirname "$(realpath "$0")")" ++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")" ++ + # Source configuration files, this is done in an hierarchy so local files have + # priority over system defaults + # leave priority to environment variables. + config_files=" ++ $nix_config_file + /usr/share/distrobox/distrobox.conf + /usr/share/defaults/distrobox/distrobox.conf + /usr/etc/distrobox/distrobox.conf +diff --git a/distrobox-upgrade b/distrobox-upgrade +index ab5e96f..dc8d295 100755 +--- a/distrobox-upgrade ++++ b/distrobox-upgrade +@@ -39,10 +39,14 @@ rootful=0 + verbose=0 + version="1.6.0.1" + ++self_dir="$(dirname "$(realpath "$0")")" ++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")" ++ + # Source configuration files, this is done in an hierarchy so local files have + # priority over system defaults + # leave priority to environment variables. + config_files=" ++ $nix_config_file + /usr/share/distrobox/distrobox.conf + /usr/share/defaults/distrobox/distrobox.conf + /usr/etc/distrobox/distrobox.conf diff --git a/pkgs/applications/virtualization/distrobox/default.nix b/pkgs/applications/virtualization/distrobox/default.nix index 163910237a37..f89aeec40c6e 100644 --- a/pkgs/applications/virtualization/distrobox/default.nix +++ b/pkgs/applications/virtualization/distrobox/default.nix @@ -2,19 +2,23 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "distrobox"; - version = "1.5.0.2"; + version = "1.6.0.1"; src = fetchFromGitHub { owner = "89luca89"; repo = finalAttrs.pname; rev = finalAttrs.version; - hash = "sha256-ss8049D6n1V/gDzEMjywDnoke5s2we9j3mO8yta72UA="; + hash = "sha256-UWrXpb20IHcwadPpwbhSjvOP1MBXic5ay+nP+OEVQE4="; }; dontConfigure = true; dontBuild = true; nativeBuildInputs = [ makeWrapper ]; + + # https://github.com/89luca89/distrobox/pull/1080 + patches = [ ./always-mount-nix.patch ]; + installPhase = '' runHook preInstall @@ -30,6 +34,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { postFixup = '' wrapProgram "$out/bin/distrobox-generate-entry" \ --prefix PATH ":" ${lib.makeBinPath [ wget ]} + + mkdir -p $out/share/distrobox + echo 'container_additional_volumes="/nix:/nix"' > $out/share/distrobox/distrobox.conf ''; meta = with lib; {