From 7c7e93bb8661a8d41d7eb69def77f96612f4e7ca Mon Sep 17 00:00:00 2001 From: Adrien 'neox' Bourmault Date: Fri, 13 Oct 2023 20:32:48 +0200 Subject: [PATCH] Ajout d'une nouvelle version d'icecat-custom et nitrocli et nouvelle liste des paquets --- .../defs/{icecustom.scm => icecat-custom.scm} | 58 ++-- packages/defs/nitrocli-nk3.scm | 314 ++++++++++++++++++ packages/manifest.scm | 130 +++++--- 3 files changed, 421 insertions(+), 81 deletions(-) rename packages/defs/{icecustom.scm => icecat-custom.scm} (97%) create mode 100644 packages/defs/nitrocli-nk3.scm diff --git a/packages/defs/icecustom.scm b/packages/defs/icecat-custom.scm similarity index 97% rename from packages/defs/icecustom.scm rename to packages/defs/icecat-custom.scm index 5123674..2639e32 100644 --- a/packages/defs/icecustom.scm +++ b/packages/defs/icecat-custom.scm @@ -35,7 +35,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (icecustom) +(define-module (icecat-custom) #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (ice-9 match) #:use-module (gnu packages) @@ -93,9 +93,9 @@ #:use-module (gnu packages readline) #:use-module (gnu packages sqlite)) -(define mozjs +(define mozjs-custom (package - (name "mozjs") + (name "mozjs-custom") (version "102.2.0") (source (origin (method url-fetch) @@ -215,9 +215,9 @@ fractional-second-digits-append-item.js") in C/C++.") (license license:mpl2.0))) ; and others for some files -(define mozjs-91 +(define mozjs-custom-91 (package - (inherit mozjs) + (inherit mozjs-custom) (version "91.13.0") (source (origin (method url-fetch) @@ -228,7 +228,7 @@ in C/C++.") (base32 "0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk")))) (arguments - (substitute-keyword-arguments (package-arguments mozjs) + (substitute-keyword-arguments (package-arguments mozjs-custom) ((#:phases phases) #~(modify-phases #$phases (add-before 'check 'disable-timezone-tests @@ -243,13 +243,13 @@ in C/C++.") (delete-file-recursively "non262/Date") (delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")))))))) - (inputs (modify-inputs (package-inputs mozjs) + (inputs (modify-inputs (package-inputs mozjs-custom) (replace "icu4c" icu4c-69))))) -(define mozjs-78 +(define mozjs-custom-78 (package - (inherit mozjs) - (name "mozjs") + (inherit mozjs-custom) + (name "mozjs-custom") (version "78.15.0") (source (origin (method url-fetch) @@ -261,7 +261,7 @@ in C/C++.") "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4")))) (build-system gnu-build-system) (arguments - (substitute-keyword-arguments (package-arguments mozjs) + (substitute-keyword-arguments (package-arguments mozjs-custom) ((#:phases phases) #~(modify-phases #$phases (replace 'configure @@ -348,31 +348,31 @@ in C/C++.") (inputs (list icu4c-69 readline zlib)))) -(define mozilla-compare-locales +(define mozilla-compare-locales-custom (origin (method hg-fetch) (uri (hg-reference (url "https://hg.mozilla.org/l10n/compare-locales/") (changeset "RELEASE_8_1_0"))) - (file-name "mozilla-compare-locales") + (file-name "mozilla-compare-locales-custom") (sha256 (base32 "00bpkaqf2ng1nn9ajyb5mli0jq58q5fm2n3yy90jy0hp4q2gbs50")))) -(define (mozilla-locale locale changeset hash-string) +(define (mozilla-locale-custom locale changeset hash-string) (origin (method hg-fetch) (uri (hg-reference (url (string-append "https://hg.mozilla.org/l10n-central/" locale)) (changeset changeset))) - (file-name (string-append "mozilla-locale-" locale)) + (file-name (string-append "mozilla-locale-custom-" locale)) (sha256 (base32 hash-string)))) -(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...) - (list (mozilla-locale locale changeset hash-string) +(define-syntax-rule (mozilla-locale-customs (hash-string changeset locale) ...) + (list (mozilla-locale-custom locale changeset hash-string) ...)) -(define all-mozilla-locales - (mozilla-locales +(define all-mozilla-locale-customs + (mozilla-locale-customs ;; sha256 changeset locale ;;--------------------------------------------------------------------------- ("1y562h0dg33vhhhwfk6jl7xbr67gng21vcf3rpm96zzcgbnf8rjj" "503a7baec899" "ach") @@ -477,14 +477,14 @@ in C/C++.") ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-version "102.7.0-guix0-preview1") -(define %icecat-build-id "20230117000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-custom-version "102.7.0-guix0-preview1") +(define %icecat-custom-build-id "20230117000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' ;; script from the upstream IceCat project. (define-public icecat-custom-source - (let* ((base-version (first (string-split %icecat-version #\-))) + (let* ((base-version (first (string-split %icecat-custom-version #\-))) (major-version (first (string-split base-version #\.))) (minor-version (second (string-split base-version #\.))) @@ -526,7 +526,7 @@ in C/C++.") (origin (method computed-origin-method) - (file-name (string-append "icecat-" %icecat-version ".tar.xz")) + (file-name (string-append "icecat-" %icecat-custom-version ".tar.xz")) (sha256 #f) (uri (delay @@ -536,7 +536,7 @@ in C/C++.") (let ((firefox-dir (string-append "firefox-" #$base-version)) (icecat-dir - (string-append "icecat-" #$%icecat-version))) + (string-append "icecat-" #$%icecat-custom-version))) (set-path-environment-variable "PATH" '("bin") @@ -613,7 +613,7 @@ in C/C++.") (let ((locale (string-drop (basename locale-dir) (+ 32 ; length of hash - (string-length "-mozilla-locale-"))))) + (string-length "-mozilla-locale-custom-"))))) (format #t " ~a~%" locale) (force-output) (copy-recursively locale-dir locale @@ -626,8 +626,8 @@ in C/C++.") (call-with-output-file "browser/chrome/browser/preferences/advanced-scripts.dtd" (lambda (port) #f))))) - '#+all-mozilla-locales) - (copy-recursively #+mozilla-compare-locales + '#+all-mozilla-locale-customs) + (copy-recursively #+mozilla-compare-locales-custom "compare-locales" #:log (%make-void-port "w")) (delete-file "compare-locales/.gitignore") @@ -656,7 +656,7 @@ in C/C++.") (define-public icecat-custom (package (name "icecat-custom") - (version %icecat-version) + (version %icecat-custom-version) (source icecat-custom-source) (build-system gnu-build-system) (inputs @@ -977,7 +977,7 @@ in C/C++.") #$output "/lib/icecat")) (setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system") - (setenv "MOZ_BUILD_DATE" #$%icecat-build-id) ; avoid timestamp + (setenv "MOZ_BUILD_DATE" #$%icecat-custom-build-id) ; avoid timestamp ;; XXX TODO: Fix this to work on systems other than x86_64-linux. (setenv "GUIX_PYTHONPATH" diff --git a/packages/defs/nitrocli-nk3.scm b/packages/defs/nitrocli-nk3.scm new file mode 100644 index 0000000..1f81eba --- /dev/null +++ b/packages/defs/nitrocli-nk3.scm @@ -0,0 +1,314 @@ +(define-module (nitrocli-nk3) + #:use-module (gnu packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix git-download) + #:use-module (guix build-system cargo) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) + #:use-module (guix build-system qt) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages curl) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) + #:use-module (gnu packages dns) + #:use-module (gnu packages flex) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages gtk) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages lua) + #:use-module (gnu packages man) + #:use-module (gnu packages networking) + #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages popt) + #:use-module (gnu packages readline) + #:use-module (gnu packages qt) + #:use-module (gnu packages tls) + #:use-module (gnu packages tex) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages swig) + #:use-module (gnu packages suckless) + #:use-module (gnu packages web) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml)) + +(define-public rust-libudev-sys-custom + (package + (name "rust-libudev-sys-custom") + (version "0.1.4") + (source (origin + (method url-fetch) + (uri (crate-uri "libudev-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09236fdzlx9l0dlrsc6xx21v5x8flpfm3d5rjq9jr5ivlas6k11w")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want font files. + #:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-libc-0.2" ,rust-libc-0.2)))) + (inputs + (list eudev pkg-config)) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli-nk3 is a program that provides a command line interface +for interaction with Nitrokey 3") + (license license:gpl3+))) + +(define-public rust-udev-custom + (package + (name "rust-udev-custom") + (version "0.7.0") + (source (origin + (method url-fetch) + (uri (crate-uri "udev" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06hr927z0fdn7ay0p817b9x19i5fagmpmvz95yhl4d1pf3bbpgaf")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want font files. + #:cargo-inputs + (("rust-io-lifetimes" ,rust-io-lifetimes-1) + ("rust-mio" ,rust-mio-0.8) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-libudev-sys-custom" ,rust-libudev-sys-custom) + ("rust-libc-0.2" ,rust-libc-0.2)))) + (inputs + (list pkg-config eudev)) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli-nk3 is a program that provides a command line interface +for interaction with Nitrokey 3") + (license license:gpl3+))) + + +(define-public rust-hidapi-custom + (package + (name "rust-hidapi-custom") + (version "1.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "hidapi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08kqkz9vcayylfsp0w63svaz0vff3p6vyrhpp3g9h6b98drp3c9q")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want font files. + #:cargo-inputs + (("rust-cc" ,rust-cc-1) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-nix" ,rust-nix-0.26) + ("rust-udev-custom" ,rust-udev-custom) + ("rust-libc-0.2" ,rust-libc-0.2)))) + (inputs + (list hidapi gnupg eudev pkg-config libusb)) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli-nk3 is a program that provides a command line interface +for interaction with Nitrokey 3") + (license license:gpl3+))) + +(define-public rust-ctaphid-types-custom + (package + (name "rust-ctaphid-types-custom") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ctaphid-types" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l4k4gry2aik77ra55kys3n52s0avds6gapcklmm6d2idpccs527")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want font files. + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-quickcheck" ,rust-quickcheck-1)))) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli-nk3 is a program that provides a command line interface +for interaction with Nitrokey 3") + (license license:gpl3+))) + +(define-public rust-ctaphid-custom + (package + (name "rust-ctaphid-custom") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (crate-uri "ctaphid" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04gyyxgplp3wwlr6g6m34lqpbp1x5dalp1bha794hzklw51jfqma")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want font files. + #:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-hidapi-custom" ,rust-hidapi-custom) + ("rust-log" ,rust-log-0.4) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-ctaphid-types-custom" ,rust-ctaphid-types-custom) + ("rust-hex" ,rust-hex-0.4) + ("rust-env-logger" ,rust-env-logger-0.9) + ("rust-tap" ,rust-tap-1) + ("rust-serde-cbor" ,rust-serde-cbor-0.11) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-libc-0.2" ,rust-libc-0.2)))) + (inputs + (list eudev pkg-config)) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli-nk3 is a program that provides a command line interface +for interaction with Nitrokey 3") + (license license:gpl3+))) + +(define-public rust-nitrokey3-custom + (package + (name "rust-nitrokey3-custom") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (crate-uri "nitrokey3" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g75qfwvbfl4dg3zq2pdf06n5lwhmvqnl64jmisqvynqncksh4w0")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests want font files. + #:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-hidapi-custom" ,rust-hidapi-custom) + ("rust-ctaphid-custom" ,rust-ctaphid-custom) + ("rust-log" ,rust-log-0.4) + ("rust-tap" ,rust-tap-1)))) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli-nk3 is a program that provides a command line interface +for interaction with Nitrokey 3") + (license license:gpl3+))) + +(define-public nitrocli-nk3 + (package + (name "nitrocli-nk3") + (version "main") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~ireas/nitrocli-nk3") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pipwxf166lkc3kjrnl6qfmjavwbhx4l7l9qk86l6g51l8qzq15d")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-base32" ,rust-base32-0.4) + ("rust-directories" ,rust-directories-3) + ("rust-envy" ,rust-envy-0.4) + ("rust-libc-0.2" ,rust-libc-0.2) + ("rust-merge" ,rust-merge-0.1) + ("rust-nitrokey3-custom" ,rust-nitrokey3-custom) + ("rust-progressing" ,rust-progressing-3) + ("rust-serde" ,rust-serde-1) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-termion" ,rust-termion-1) + ("rust-hex" ,rust-hex-0.4) + ("rust-hidapi-custom" ,rust-hidapi-custom) + ("rust-toml" ,rust-toml-0.5)) + #:cargo-development-inputs + (("rust-nitrokey-test" ,rust-nitrokey-test-0.5) + ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1) + ("rust-regex" ,rust-regex-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + (list hidapi gnupg pkg-config)) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli-nk3 is a program that provides a command line interface +for interaction with Nitrokey 3") + (license license:gpl3+))) + +(define-public nitrocli-custom + (package + (name "nitrocli-custom") + (version "devel") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/d-e-s-o/nitrocli") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xy169qf5vckvzx48lmkcpd83pw5crnvfl8a7p5wp2cbkrl60pnc")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-base32" ,rust-base32-0.4) + ("rust-directories" ,rust-directories-4) + ("rust-envy" ,rust-envy-0.4) + ("rust-libc-0.2" ,rust-libc-0.2) + ("rust-merge" ,rust-merge-0.1) + ("rust-nitrokey" ,rust-nitrokey-0.9) + ("rust-progressing" ,rust-progressing-3) + ("rust-serde" ,rust-serde-1) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-termion" ,rust-termion-1) + ("rust-toml" ,rust-toml-0.5)) + #:cargo-development-inputs + (("rust-nitrokey-test" ,rust-nitrokey-test-0.5) + ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1) + ("rust-regex" ,rust-regex-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + (list hidapi gnupg)) + (home-page "https://github.com/d-e-s-o/nitrocli") + (synopsis "Command line tool for Nitrokey devices") + (description + "nitrocli is a program that provides a command line interface +for interaction with Nitrokey Pro, Nitrokey Storage, and Librem Key +devices.") + (license license:gpl3+))) diff --git a/packages/manifest.scm b/packages/manifest.scm index a8e7dc7..fc97815 100644 --- a/packages/manifest.scm +++ b/packages/manifest.scm @@ -5,30 +5,33 @@ ;; Voir la section « Répliquer Guix » dans le manuel. (specifications->manifest - (list "texlive-xetex" - "texlive-biber" - "texlive-texdoc" - "texlive-tabularray" - "texlive-babel-french" - "texlive-collection-fontsrecommended" - "texlive-collection-latexrecommended" - "texlive-scheme-basic" - "texlive-latex" - "rubber" - "texlive-graphics" - "texlive-geometry" - "texlive-xcolor" - "texlive-listings" - "texlive-babel" - "texlive-titlesec" - "texlive-tocloft" - "texlive-biblatex" - "texlive-setspace" - "texlive-hyperref" - "texlive-fontspec" - "texlive-float" - "texlive-url" - "texlive-latex-uni8" + (list "texlive-transparent" + "texlive-beamertheme-metropolis" + "texlive-fira" + "texlive-silence" + "texlive-beamertheme-pure-minimalistic" + "texlive-ly1" + "texlive-sourcesanspro" + "texlive-pgfopts" + "texlive-beamertheme-trigon" + "texlive-hypdoc" + "texlive-beamer" + "xonotic" + "gnuplot" + "texlive-raleway" + "texlive-xstring" + "texlive-smartdiagram" + "texlive-tikz-3dplot" + "font-awesome" + "texlive-paracol" + "texlive-fontawesome5" + "texlive-fontawesome" + "kcachegrind" + "icecat-custom" + "gnome-shell-extension-dash-to-dock" + "claws-mail" + "meld" + "evolution" "texmaker" "nmap" "simplescreenrecorder" @@ -37,25 +40,19 @@ "ffmpeg" "mediainfo" "kdenlive" - "cmatrix" "python2" "profanity" - "meld" - "icedove" "audacity" "xdg-desktop-portal" "xdg-desktop-portal-gtk" "ungoogled-chromium" - "cambalache" "libreoffice" "hexchat" "ardour" "gnome-tweaks" "linux-libre-documentation" "cpupower" - "recutils" "git-lfs" - "icecat-custom" "transmission" "mpv" "pavucontrol" @@ -63,7 +60,6 @@ "qjackctl" "gnome-font-viewer" "flatpak" - "sysprof" "vlc" "qbittorrent" "mumble" @@ -89,31 +85,66 @@ "git" "inkscape" "gparted" - "nbd" "bmaptools" + "xdotool" + "python-markdown" + "gdb" + "fastboot" + "openssh" + "speedtest-cli" + "python" + "bind:utils" + "flashrom" + "parted" + "cryptsetup" + "powertop" + "gnupg" + "minicom" + "font-openmoji" + "neofetch" + "xauth" + "exfatprogs" + "gpgme" + "nitrocli-nk3" + "nitrocli" + "microcom" + "screen" + "texlive-xetex" + "texlive-biber" + "texlive-texdoc" + "texlive-tabularray" + "texlive-babel-french" + "texlive-collection-fontsrecommended" + "texlive-collection-latexrecommended" + "texlive-scheme-basic" + "texlive-latex" + "rubber" + "texlive-graphics" + "texlive-geometry" + "texlive-xcolor" + "texlive-listings" + "texlive-babel" + "texlive-titlesec" + "texlive-tocloft" + "texlive-biblatex" + "texlive-setspace" + "texlive-hyperref" + "texlive-fontspec" + "texlive-float" + "texlive-url" + "texlive-latex-uni8" + "cmatrix" + "recutils" + "nbd" "cvs" "qpdf" "libtree" "binutils" "python-logutils" "rsync" - "xdotool" - "python-markdown" "pandoc" - "gdb" - "fastboot" "testdisk" - "openssh" - "speedtest-cli" - "python" "adb" - "bind:utils" - "flashrom" - "gnome-shell-extension-dash-to-dock" - "parted@3.5" - "cryptsetup" - "powertop" - "gnupg" "htop" "man-pages" "jack" @@ -125,15 +156,10 @@ "make" "pkg-config" "patchelf" - "minicom" - "font-openmoji" "gnome-shell-extension-transparent-window" "gnome-shell-extension-topicons-redux" "gnome-shell-extension-burn-my-windows" "gnome-shell-extension-blur-my-shell" "tree" - "neofetch" "bash-completion" - "sl" - "xauth" - "exfatprogs")) + "sl"))