From 33ea6994924de53db5f5d54aabbac76bc72bc113 Mon Sep 17 00:00:00 2001 From: pongo1231 Date: Tue, 12 Dec 2023 17:41:21 +0100 Subject: [PATCH 1/3] 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; { From 713713b6f4d1874458c982c8069ecf3cde3c98dd Mon Sep 17 00:00:00 2001 From: pongo1231 Date: Mon, 18 Dec 2023 13:33:50 +0100 Subject: [PATCH 2/3] distrobox: update homepage --- pkgs/applications/virtualization/distrobox/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/distrobox/default.nix b/pkgs/applications/virtualization/distrobox/default.nix index f89aeec40c6e..6f5dda0b9260 100644 --- a/pkgs/applications/virtualization/distrobox/default.nix +++ b/pkgs/applications/virtualization/distrobox/default.nix @@ -46,7 +46,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { forward compatibility with software and freedom to use whatever distribution you’re more comfortable with ''; - homepage = "https://distrobox.privatedns.org/"; + homepage = "https://distrobox.it/"; license = licenses.gpl3Only; platforms = platforms.linux; maintainers = with maintainers; [ atila ]; From 3755aefcb91129fcab9608f2864d2b77781ce685 Mon Sep 17 00:00:00 2001 From: pongo1231 Date: Sun, 14 Jan 2024 20:40:19 +0100 Subject: [PATCH 3/3] distrobox: hardcode source repo name --- pkgs/applications/virtualization/distrobox/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/distrobox/default.nix b/pkgs/applications/virtualization/distrobox/default.nix index 6f5dda0b9260..912117a016ed 100644 --- a/pkgs/applications/virtualization/distrobox/default.nix +++ b/pkgs/applications/virtualization/distrobox/default.nix @@ -6,7 +6,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "89luca89"; - repo = finalAttrs.pname; + repo = "distrobox"; rev = finalAttrs.version; hash = "sha256-UWrXpb20IHcwadPpwbhSjvOP1MBXic5ay+nP+OEVQE4="; };