From f5c56100d62d315c3ed860898998a7c8afc78d50 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Mon, 10 Jan 2022 17:58:35 -0500 Subject: [PATCH] gnu: bubblewrap: Update to 0.5.0. * gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch: Add it. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/virtualization.scm (bubblewrap): Update to 0.5.0. [source]: Add patch. [arguments]: Adjust test substitutions. [inputs]: Remove labels. [native-inputs]: Remove labels. --- gnu/local.mk | 1 + .../bubblewrap-fix-locale-in-tests.patch | 34 +++++++++++++++++++ gnu/packages/virtualization.scm | 24 ++++++++----- 3 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index fe21cf8062..c511d78c07 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -910,6 +910,7 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-mingw-w64-deterministic.patch \ %D%/packages/patches/bpftrace-disable-bfd-disasm.patch \ %D%/packages/patches/byobu-writable-status.patch \ + %D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \ %D%/packages/patches/cabal-install-base16-bytestring1.0.patch \ %D%/packages/patches/cabal-install-ghc8.10.patch \ %D%/packages/patches/cairo-CVE-2018-19876.patch \ diff --git a/gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch b/gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch new file mode 100644 index 0000000000..bd5924ef87 --- /dev/null +++ b/gnu/packages/patches/bubblewrap-fix-locale-in-tests.patch @@ -0,0 +1,34 @@ +From 9282223de4b511aeda3b7d2caf3810a56a865710 Mon Sep 17 00:00:00 2001 +From: kiasoc5 +Date: Mon, 10 Jan 2022 14:16:32 -0500 +Subject: [PATCH] Use C locale unconditionally for tests. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The ‘en_US.utf8’ locale is available. However, the ‘locale -a’ command won’t list it. +--- + tests/libtest-core.sh | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/tests/libtest-core.sh b/tests/libtest-core.sh +index 9632e90..82951dd 100644 +--- a/tests/libtest-core.sh ++++ b/tests/libtest-core.sh +@@ -41,12 +41,7 @@ assert_not_reached () { + # + # If we can't find the locale command assume we have support for C.UTF-8 + # (e.g. musl based systems) +-if type -p locale >/dev/null; then +- export LC_ALL=$(locale -a | grep -iEe '^(C|en_US)\.(UTF-8|utf8)$' | head -n1 || true) +- if [ -z "${LC_ALL}" ]; then fatal "Can't find suitable UTF-8 locale"; fi +-else +- export LC_ALL=C.UTF-8 +-fi ++export LC_ALL=en_US.utf8 + # A GNU extension, used whenever LC_ALL is not C + unset LANGUAGE + +-- +2.34.1 + diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 6a40955dbb..39acb90570 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1927,7 +1927,7 @@ (define-public python-vagrant (define-public bubblewrap (package (name "bubblewrap") - (version "0.4.1") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/containers/bubblewrap/" @@ -1935,7 +1935,8 @@ (define-public bubblewrap version ".tar.xz")) (sha256 (base32 - "00ycgi6q2yngh06bnz50wkvar6r2jnjf3j158grhi9k13jdrpimr")))) + "0608l2sjwhnb1c0mslah1h6yjvqr17wk60by6i710qwxg4rszz8n")) + (patches (search-patches "bubblewrap-fix-locale-in-tests.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1951,7 +1952,9 @@ (define-public bubblewrap (substitute* "tests/test-run.sh" (("/var/tmp") tmp-dir) ;; Tests create a temporary python script, so fix its shebang. - (("/usr/bin/env python") (which "python")) + (("/usr/bin/env python3") (which "python3")) + ;; Tests call /usr/bin/env, so fix its path. + (("/usr/bin/env") (which "env")) ;; Some tests try to access /usr, but that doesn't exist. ;; Give them /gnu instead. (("/usr") "/gnu") @@ -1960,18 +1963,21 @@ (define-public bubblewrap (("--ro-bind /lib /lib") "--ro-bind /gnu /lib") ((" */bin/bash") (which "bash")) (("/bin/sh") (which "sh")) - (("findmnt") (which "findmnt")))) + (("findmnt") (which "findmnt"))) + (substitute* "tests/libtest.sh" + (("/var/tmp") tmp-dir) + (("/usr") "/gnu") + (("--ro-bind /bin /bin") "--ro-bind /gnu /bin") + (("--ro-bind /sbin /sbin") "--ro-bind /gnu /sbin") + (("--ro-bind /lib /lib") "--ro-bind /gnu /lib"))) #t)) ;; Remove the directory we gave to tests to have a clean package. (add-after 'check 'remove-tmp-dir (lambda* (#:key outputs #:allow-other-keys) (delete-file-recursively (string-append (assoc-ref outputs "out") "/tmp")) #t))))) - (inputs - (list libcap)) - (native-inputs - `(("python" ,python-wrapper) - ("util-linux" ,util-linux))) + (inputs (list libcap)) + (native-inputs (list python-wrapper util-linux)) (home-page "https://github.com/containers/bubblewrap") (synopsis "Unprivileged sandboxing tool") (description "Bubblewrap is aimed at running applications in a sandbox, base-commit: 19a4759cadf601f40d2a32efdbf6190d7341a8ca -- 2.34.1