diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/completion/bash/guix | 24 | ||||
-rwxr-xr-x | etc/git/pre-push | 33 | ||||
-rw-r--r-- | etc/guix-daemon.cil.in | 4 | ||||
-rwxr-xr-x | etc/guix-install.sh | 45 | ||||
-rw-r--r-- | etc/news.scm | 86 | ||||
-rw-r--r-- | etc/snippets/scheme-mode/guix-package | 10 | ||||
-rw-r--r-- | etc/snippets/text-mode/guix-commit-message-add-package | 6 | ||||
-rw-r--r-- | etc/snippets/text-mode/guix-commit-message-update-package | 8 |
8 files changed, 170 insertions, 46 deletions
diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix index fdbdf46810..26480e5863 100644 --- a/etc/completion/bash/guix +++ b/etc/completion/bash/guix @@ -111,6 +111,24 @@ _guix_is_removing () $result } +_guix_is_dash_f () +{ + [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-f" ] \ + || { case "${COMP_WORDS[$COMP_CWORD]}" in + --file=*|--install-from-file=*) true;; + *) false;; + esac } +} + +_guix_is_dash_l () +{ + [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-l" ] \ + || { case "${COMP_WORDS[$COMP_CWORD]}" in + --load=*) true;; + *) false;; + esac } +} + _guix_is_dash_L () { [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-L" ] \ @@ -182,7 +200,7 @@ _guix_complete () *) if _guix_is_command "package" then - if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p + if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_f then _guix_complete_file elif _guix_is_removing @@ -217,7 +235,7 @@ _guix_complete () fi elif _guix_is_command "build" then - if _guix_is_dash_L || _guix_is_dash_m + if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_f then _guix_complete_file else @@ -225,7 +243,7 @@ _guix_complete () fi elif _guix_is_command "environment" then - if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p + if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_l then _guix_complete_file else diff --git a/etc/git/pre-push b/etc/git/pre-push index 415345fc75..59671b0d58 100755 --- a/etc/git/pre-push +++ b/etc/git/pre-push @@ -20,13 +20,26 @@ # # <local ref> <local sha1> <remote ref> <remote sha1> -# Only use the hook when pushing to Savannah. -case "$2" in - *.gnu.org*) - exec make authenticate check-channel-news - exit 127 - ;; - *) - exit 0 - ;; -esac +# This is the "empty hash" used by Git when pushing a branch deletion. +z40=0000000000000000000000000000000000000000 + +while read local_ref local_hash remote_ref remote_hash +do + # When deleting a remote branch, no commits are pushed to the remote, and + # thus there are no signatures to be verified. + if [ "$local_hash" != $z40 ] + then + # Only use the hook when pushing to Savannah. + case "$2" in + *.gnu.org*) + exec make authenticate check-channel-news + exit 127 + ;; + *) + exit 0 + ;; + esac + fi +done + +exit 0 diff --git a/etc/guix-daemon.cil.in b/etc/guix-daemon.cil.in index cc8999d9a8..4f52157354 100644 --- a/etc/guix-daemon.cil.in +++ b/etc/guix-daemon.cil.in @@ -167,7 +167,9 @@ (process (fork execmem setrlimit setpgid setsched))) (allow guix_daemon_t guix_daemon_exec_t - (file (execute execute_no_trans read open entrypoint map))) + (file (execute + execute_no_trans read write open entrypoint map + getattr link unlink))) ;; TODO: unknown (allow guix_daemon_t diff --git a/etc/guix-install.sh b/etc/guix-install.sh index f0a1550a74..94c04aa646 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -7,6 +7,7 @@ # Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> # Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> # Copyright © 2020 Daniel Brooks <db48x@db48x.net> +# Copyright © 2021 Jakub Kądziołka <kuba@kadziolka.net> # # This file is part of GNU Guix. # @@ -183,9 +184,9 @@ chk_sys_arch() aarch64) local arch=aarch64 ;; - armv7l) - local arch=armhf - ;; + armv7l) + local arch=armhf + ;; *) _err "${ERR}Unsupported CPU type: ${arch}" exit 1 @@ -233,7 +234,7 @@ guix_get_bin_list() | sed -n -e 's/.*guix-binary-\([0-9.]*[a-z0-9]*\)\..*.tar.xz.*/\1/p' \ | sort -Vu)") - latest_ver="$(echo "$bin_ver_ls" \ + latest_ver="$(echo "${bin_ver_ls[0]}" \ | grep -oE "([0-9]{1,2}\.){2}[0-9]{1,2}[a-z0-9]*" \ | tail -n1)" @@ -247,7 +248,7 @@ guix_get_bin_list() fi # Use default to download according to the list and local ARCH_OS. - BIN_VER="$default_ver" + BIN_VER="${default_ver}" } guix_get_bin() @@ -271,7 +272,7 @@ guix_get_bin() exit 1 fi - pushd $dl_path >/dev/null + pushd "${dl_path}" >/dev/null gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1 if [[ "$?" -eq 0 ]]; then _msg "${PAS}Signature is valid." @@ -379,15 +380,15 @@ sys_enable_guix_daemon() /etc/systemd/system/; chmod 664 /etc/systemd/system/guix-daemon.service; - # Work around <https://bugs.gnu.org/36074>, present in 1.0.1. - sed -i /etc/systemd/system/guix-daemon.service \ - -e "s/GUIX_LOCPATH='/'GUIX_LOCPATH=/"; + # Work around <https://bugs.gnu.org/36074>, present in 1.0.1. + sed -i /etc/systemd/system/guix-daemon.service \ + -e "s/GUIX_LOCPATH='/'GUIX_LOCPATH=/"; - # Work around <https://bugs.gnu.org/35671>, present in 1.0.1. - if ! grep en_US /etc/systemd/system/guix-daemon.service >/dev/null; - then sed -i /etc/systemd/system/guix-daemon.service \ - -e 's/^Environment=\(.*\)$/Environment=\1 LC_ALL=en_US.UTF-8'; - fi; + # Work around <https://bugs.gnu.org/35671>, present in 1.0.1. + if ! grep en_US /etc/systemd/system/guix-daemon.service >/dev/null; + then sed -i /etc/systemd/system/guix-daemon.service \ + -e 's/^Environment=\(.*\)$/Environment=\1 LC_ALL=en_US.UTF-8'; + fi; systemctl daemon-reload && systemctl enable guix-daemon && @@ -427,7 +428,7 @@ sys_enable_guix_daemon() ln -sf "${var_guix}/bin/guix" "$local_bin" [ -e "$info_path" ] || mkdir -p "$info_path" - for i in ${var_guix}/share/info/*; do + for i in "${var_guix}"/share/info/*; do ln -sf "$i" "$info_path" done } @@ -454,14 +455,12 @@ sys_create_init_profile() cat <<"EOF" > /etc/profile.d/guix.sh # _GUIX_PROFILE: `guix pull` profile _GUIX_PROFILE="$HOME/.config/guix/current" -if [ -L $_GUIX_PROFILE ]; then - export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH" - # Export INFOPATH so that the updated info pages can be found - # and read by both /usr/bin/info and/or $GUIX_PROFILE/bin/info - # When INFOPATH is unset, add a trailing colon so that Emacs - # searches 'Info-default-directory-list'. - export INFOPATH="$_GUIX_PROFILE/share/info:$INFOPATH" -fi +export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH" +# Export INFOPATH so that the updated info pages can be found +# and read by both /usr/bin/info and/or $GUIX_PROFILE/bin/info +# When INFOPATH is unset, add a trailing colon so that Emacs +# searches 'Info-default-directory-list'. +export INFOPATH="$_GUIX_PROFILE/share/info:$INFOPATH" # GUIX_PROFILE: User's default profile GUIX_PROFILE="$HOME/.guix-profile" diff --git a/etc/news.scm b/etc/news.scm index 9fabb8ff45..0df018af0b 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -18,9 +18,77 @@ (channel-news (version 0) + (entry (commit "e38d90d497e19e00263fa28961c688a433154386") + (title (en "New @option{--with-patch} package transformation option") + (de "Neue Paketumwandlungsoption @option{--with-patch}") + (fr "Nouvelle option de transformation @option{--with-patch}")) + (body + (en "The new @option{--with-patch} package transformation option +applies patches to the specified packages before building them. The example +below builds the GNU Core Utilities against a patched C library (glibc): + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (de "Die neue Paketumwandlungsoption @option{--with-patch} wendet +Patches auf die angegebenen Pakete an, bevor sie erstellt werden. Das folgende +Beispiel lässt die GNU Core Utilities mit einer gepatchten +C-Bibliothek (glibc) erstellen: + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Führen Sie für mehr Informationen @command{info \"(guix.de) +Paketumwandlungsoptionen\"} aus.") + (fr "La nouvelle option de transformation de paquets +@option{--with-patch} applique des modifications (@i{patches}) aux paquets +spécifiés avant de les compiler. L'exemple suivant compile les utilitaires de +base GNU avec une bibliothèque C (glibc) modifiée : + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + + (entry (commit "79f9dee3c4c0e6d21066f142116a537207ae7ba4") + (title (en "Local substitute servers discovery is now supported") + (de "Substitutserver können jetzt im lokalen Netz erkannt werden") + (es "Los servidores de sustituciones se pueden descubrir localmente") + (fr "La découverte des serveurs de substituts locaux est désormais supportée")) + (body + (en "The @command{guix-daemon} can now discover local substitute +servers when the @option{--discover} option is passed. Only the substitute +servers started with the @option{--advertise} option will be discovered. The +network discovery is based on mDNS and DNS-SD protocols, using Guile-Avahi +library for now.") + (de "Mit dem @command{guix-daemon} können jetzt lokal laufende +Substitutserver erkannt werden, wenn die Befehlszeilenoption +@option{--discover} übergeben wurde. Nur solche Substitutserver werden +gefunden, die mit der Befehlszeilenoption @option{--advertise} gestartet +wurden. Die Ermittlung im Netzwerk verfügbarer Substitutserver baut auf den +Protokollen mDNS und DNS-SD auf. Derzeit wird dazu die Bibliothek Guile-Avahi +benutzt.") + (es "El daemon @command{guix-daemon} ahora puede descubrir servidores +de sustituciones locales cuando se le proporciona la opción +@option{--discover}. Únicamente se descubrirán los servidores de +sustituciones que se hayan arrancado con la opción @option{--advertise}. La +búsqueda en la red se basa en los protocolos mDNS y DNS-SD, actualmente +mediante el uso de la biblioteca Guile-Avahi.") + (fr "Le @command{guix-daemon} peut désormais découvrir les serveurs +de substituts locaux lorsque l'option @option{--discover} est passée. Seuls +les serveurs de substituts démarrés avec l'option @option{--advertise} seront +découverts. La découverte réseau utilise les protocoles mDNS et DNS-SD, pour +l'instant grâce à la librairie Guile-Avahi."))) + (entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90") (title (en "Logical Volume Manager (LVM) now supported on Guix System") - (de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt")) + (de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt") + (es "El sistema Guix ahora implementa también volúmenes lógicos LVM")) (body (en "On Guix System, the new @code{lvm-device-mapping} variable allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume @@ -48,7 +116,21 @@ Datenträgergruppe (Volume Group) „vg0“ wie folgt deklariert werden: (type lvm-device-mapping)) @end lisp -Siehe @command{info \"(guix.de) Zugeordnete Geräte\"} für nähere Informationen."))) +Siehe @command{info \"(guix.de) Zugeordnete Geräte\"} für nähere Informationen.") + (es "En el sistema Guix, la nueva variable @code{lvm-device-mapping} +le permite declarar «dispositivos traducidos» para LVM, el gestor de volúmenes +lógicos de Linux. A continuación se muestra un ejemplo con la declaración de +los volúmenes lógicos «alfa» y «beta» del grupo de volúmenes «vg0»: + +@lisp +(mapped-device + (source \"vg0\") + (target (list \"vg0-alfa\" \"vg0-beta\")) + (type lvm-device-mapping)) +@end lisp + +Véase @command{info \"(guix.es) Dispositivos traducidos\"} para obtener más +información."))) (entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6") (title (en "List of substitute keys is now declarative on Guix System") diff --git a/etc/snippets/scheme-mode/guix-package b/etc/snippets/scheme-mode/guix-package index 48b87e3599..9ff6f997d1 100644 --- a/etc/snippets/scheme-mode/guix-package +++ b/etc/snippets/scheme-mode/guix-package @@ -11,20 +11,30 @@ "ant-build-system" "asdf-build-system" "cargo-build-system" + "clojure-build-system" "cmake-build-system" + "copy-build-system" "dub-build-system" + "dune-build-system" "emacs-build-system" "font-build-system" "glib-or-gtk-build-system" "gnu-build-system" "go-build-system" + "guile-build-system" "haskell-build-system" + "julia-build-system" + "linux-module-build-system" + "maven-build-system" "meson-build-system" "minify-build-system" + "node-build-system" "ocaml-build-system" "perl-build-system" "python-build-system" + "qt-build-system" "r-build-system" + "rakudo-build-system" "ruby-build-system" "scons-build-system" "texlive-build-system" diff --git a/etc/snippets/text-mode/guix-commit-message-add-package b/etc/snippets/text-mode/guix-commit-message-add-package index e54a06de7e..7cebd4023a 100644 --- a/etc/snippets/text-mode/guix-commit-message-add-package +++ b/etc/snippets/text-mode/guix-commit-message-add-package @@ -6,8 +6,8 @@ gnu: Add ${1:`(with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") - (beginning-of-buffer) - (when (search-forward "+(define-public " nil 'noerror) - (thing-at-point 'sexp 'no-properties)))`}. + (goto-char (point-min)) + (when (re-search-forward "\\+(define-public \\(\\S-+\\)" nil 'noerror) + (match-string-no-properties 1)))`}. * `(car (magit-staged-files))` ($1): New variable. \ No newline at end of file diff --git a/etc/snippets/text-mode/guix-commit-message-update-package b/etc/snippets/text-mode/guix-commit-message-update-package index 2cdb6ea28d..f187419aa2 100644 --- a/etc/snippets/text-mode/guix-commit-message-update-package +++ b/etc/snippets/text-mode/guix-commit-message-update-package @@ -7,12 +7,12 @@ gnu: ${1:`(with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") - (beginning-of-buffer) - (when (search-forward "(define-public " nil 'noerror) - (thing-at-point 'sexp 'no-properties)))`}: Update to ${2:`(with-temp-buffer + (goto-char (point-min)) + (when (re-search-forward "(define-public \\(\\S-+\\)" nil 'noerror) + (match-string-no-properties 1)))`}: Update to ${2:`(with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") - (beginning-of-buffer) + (goto-char (point-min)) (search-forward "name" nil 'noerror) (search-forward "+" nil 'noerror) ; first change (when (and (search-forward "version " nil 'noerror) |