summary refs log tree commit diff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/completion/bash/guix24
-rwxr-xr-xetc/git/pre-push33
-rw-r--r--etc/guix-daemon.cil.in4
-rwxr-xr-xetc/guix-install.sh45
-rw-r--r--etc/news.scm86
-rw-r--r--etc/snippets/scheme-mode/guix-package10
-rw-r--r--etc/snippets/text-mode/guix-commit-message-add-package6
-rw-r--r--etc/snippets/text-mode/guix-commit-message-update-package8
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)