1
0
forked from tribes/guix

Compare commits

..

14 Commits

Author SHA1 Message Date
Maxim Cournoyer a0178d34f5 nls: Update translations. 2021-05-11 09:17:00 -04:00
Maxim Cournoyer 21fcced608 nls: Update translations. 2021-05-10 22:34:43 -04:00
Maxim Cournoyer abff6f0fac .gitignore: Ignore .mo files.
* .gitignore: Ignore files matching the *.mo pattern.
2021-05-10 22:33:08 -04:00
Maxim Cournoyer 63d26e81ee nls: New nl and oc translations for the 'packages' component.
* po/packages/nl.po: New file.
* po/packages/oc.po: Likewise.
* po/packages/LINGUAS: Register them.
2021-05-10 22:27:53 -04:00
Maxim Cournoyer b507a0e38c nls: New oc and si translations for the 'guix' component.
* po/guix/oc.po: New file.
* po/guix/si.po: Likewise.
* po/guix/LINGUAS: Register them.
2021-05-10 22:25:36 -04:00
Maxim Cournoyer 80dc6ad4a8 Update NEWS. 2021-05-10 13:48:30 -04:00
Maxim Cournoyer ed2d4d52dd maint: update-NEWS: Sort packages prior writing to the data file.
* build-aux/update-NEWS.scm (main): Sort packages.
2021-05-10 13:48:02 -04:00
Leo Famulari 7418a20074 Update NEWS. 2021-05-10 11:21:02 -04:00
Maxim Cournoyer 945ad48cd8 system: vm-image.tmpl: Add a crutch to allow refreshing the resolution.
Inspired by
https://github.com/jollheef/appvm/commit/1270b2e209bc002e69bbe6351ad5b04b7facfcc8.
The price to pay is about 5% of a CPU core usage in the guest in the worst
scenario.

* gnu/system/examples/vm-image.tmpl
(auto-update-resolution-crutch): New mcron job.
[services]: Extend the mcron-service with it.
2021-05-10 10:18:19 -04:00
Ludovic Courtès 3a0fcaa0fe Update NEWS. 2021-05-10 11:42:03 +02:00
Ludovic Courtès 8a154c2915 describe: Gracefully handle profiles that lack provenance info.
Fixes <https://bugs.gnu.org/48313>.

Previously, 'current-channels' would return the empty list when
'current-profile' is true but the profile lacks provenance info.

* guix/describe.scm (current-channels)[build-time-metadata]: New
procedure.  Call it when 'manifest-entry-channel' returns #f for all of
ENTRIES.
* guix/scripts/describe.scm (guix-describe): When PROFILE is true, pass
third argument to 'display-profile-info'.
2021-05-09 23:46:46 +02:00
Ludovic Courtès 9562a2eb61 diagnostics, ui: Adjust to 'read-error' and 'syntax-error' in Guile 3.0.6.
* guix/diagnostics.scm (source-properties->location): Add clause for
vectors.
* guix/ui.scm (report-load-error): Tweak 'read-error' handling for 3.0.6.
* tests/guix-package.sh: Relax regexp for the "unbound variable"
diagnostic check.
* tests/guix-system.sh: Adjust "missing closing paren" check for 3.0.6.
* tests/records.scm (location-alist): New procedure.
("define-record-type* & wrong field specifier")
("define-record-type* & wrong field specifier, identifier")
("define-record-type* & duplicate initializers"): Use it.
2021-05-09 23:45:36 +02:00
Maxim Cournoyer dde0291476 gnu: guix: Update to 566982b. 2021-05-08 00:33:14 -04:00
Maxim Cournoyer 566982bc71 gnu: guix: Update to 1.3.0rc2. 2021-05-08 00:29:22 -04:00
62 changed files with 176064 additions and 123256 deletions
+1
View File
@@ -1,6 +1,7 @@
*.eps
*.go
*.log
*.mo
*.pdf
*.png
*.tar.xz
+48
View File
@@ -35,12 +35,40 @@ Please send Guix bug reports to bug-guix@gnu.org.
*** Offloading no longer requires guile to be in $PATH on build machines
*** GUIX_EXTENSIONS_PATH is honored when looking for extensions such as GWL
*** New --format option for guix processes
*** guix upgrade can now be passed several regexps
** Distribution
*** The Guix System demonstration VM now supports the SPICE protocol
*** The installation script can now run in a fully automated manner
*** qemu-binfmt-service-type now relies on statically-linked QEMU
*** sysctl-service-type enables Linux protected hardlinks/symlinks by default
*** %base-services now includes a default sysctl-service-type instance
*** Linux Logical Volumne Manager (LVM) now supported, via lvm-device-mapping
*** guix system init has been optimized
*** guix system warns when users/groups appear more than once
*** guix system image -t rock64-raw produces images for Rock64 devices
*** herd discover guix-daemon on turns on substitute server discovery
*** Default initrd now supports bcachefs
*** CUPS service includes brlaser extension by default
*** “lp” group is no longer included in %base-groups
*** New --graph-backend option for guix system {extension,shepherd}-graph
*** New services
agate, cuirass-remote-worker, ipfs, keepalived, laminar, radicale, syncthing,
transmission-daemon, wireguard, xorg-server
*** 2009 new packages
*** 3100 package updates
Noteworthy updates:
emacs 27.2, gcc-toolchain 10.3.0, ghc 8.8.3, glibc 2.31, gnome 3.34.5,
gnupg 2.2.27, go 1.14.15, guile 3.0.5, icecat 78.10.0-guix0-preview1,
icedtea 3.7.0, inkscape 1.0.2, julia 1.5.3, libreoffice 6.4.7.2,
linux-libre 5.11.15, ocaml 4.11.1, octave 6.2.0, openjdk 14.0,
python 3.8.2, racket 8.0, rust 1.51.0, r 4.0.4, sbcl 2.1.3, xfce 4.16.0,
xorg-server 1.20.10
** Programming interfaces
@@ -67,6 +95,26 @@ Please send Guix bug reports to bug-guix@gnu.org.
(<https://issues.guix.gnu.org/46330>)
*** Update GnuTLS to 3.6.15, addressing a time-dependent test failure
(<https://issues.guix.gnu.org/44559>)
*** Booted system is fully protected from garbage collection
(<https://issues.guix.gnu.org/46767>)
*** Add MSDOS disk label support on UEFI systems
(<https://issues.guix.gnu.org/47889>)
*** Installers kmscon no longer uses up 100% CPU
(<https://issues.guix.gnu.org/39341>)
*** Git checkouts can be updated to the remotes default HEAD
(<https://issues.guix.gnu.org/45187>)
*** guix pull correctly displays early builds and downloads
(<https://issues.guix.gnu.org/41930>)
*** Fix OpenRC init scripts for guix-daemon
(<https://issues.guix.gnu.org/46871>)
*** Activate system when switching generations
(<https://issues.guix.gnu.org/38884>)
*** guix environment -C preserves original mount flags
(<https://issues.guix.gnu.org/46292>)
*** Remove duplicates in profile transactions
(<https://issues.guix.gnu.org/23874>)
*** Fix sound problems with ALSA plugins on foreign distros
(<https://issues.guix.gnu.org/40832>)
** Native language support
+10 -4
View File
@@ -166,16 +166,22 @@ paragraph."
(string-append data-directory "/packages-"
version ".txt"))
(define (package<? p1 p2)
(string<? (package-full-name p1) (package-full-name p2)))
(let-values (((previous-version new-version)
(call-with-input-file news-file NEWS->versions)))
(format (current-error-port) "Updating NEWS for ~a to ~a...~%"
previous-version new-version)
(let* ((old (call-with-input-file (package-file previous-version)
read))
(new (fold-packages (lambda (p r)
(alist-cons (package-name p) (package-version p)
r))
'())))
(all-packages/sorted (sort (fold-packages (lambda (p r)
(cons p r))
'())
package<?))
(new (map (lambda (p)
(cons (package-name p) (package-version p)))
all-packages/sorted)))
(call-with-output-file (package-file new-version)
(lambda (port)
(pretty-print new port)))
+3 -3
View File
@@ -131,8 +131,8 @@
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.3.0rc1")
(commit "6fd7f161d7cd6248e99e9ba44424b162d443cd61")
(let ((version "1.3.0rc2")
(commit "566982bc7133173ed863b543fa2fd38d8fab9af7")
(revision 1))
(package
(name "guix")
@@ -149,7 +149,7 @@
(commit commit)))
(sha256
(base32
"0b92w6lqp4h75dds3fbxdp5shvfpkcdin809f8v94l4a2fbxkais"))
"0ys8sjckp1a9hmisvjwjr34w7bzi9pskgkwiiqhjm36fs0z8ks30"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
+16 -1
View File
@@ -5,7 +5,7 @@
;;
(use-modules (gnu) (guix) (srfi srfi-1))
(use-service-modules desktop networking spice ssh xorg)
(use-service-modules desktop mcron networking spice ssh xorg)
(use-package-modules bootloaders certs fonts nvi
package-management wget xorg)
@@ -24,6 +24,18 @@ Run '\x1b[1;37minfo guix\x1b[0m' to browse documentation.
accounts.\x1b[0m
"))
;;; XXX: Xfce does not implement what is needed for the SPICE dynamic
;;; resolution to work (see:
;;; https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/142). Workaround it
;;; by manually invoking xrandr every second.
(define auto-update-resolution-crutch
#~(job '(next-second)
(lambda ()
(setenv "DISPLAY" ":0.0")
(setenv "XAUTHORITY" "/home/guest/.Xauthority")
(execl (string-append #$xrandr "/bin/xrandr") "xrandr" "-s" "0"))
#:user "guest"))
(operating-system
(host-name "gnu")
(timezone "Etc/UTC")
@@ -89,6 +101,9 @@ root ALL=(ALL) ALL
;; integration with the host, etc.
(service spice-vdagent-service-type)
(simple-service 'cron-jobs mcron-service-type
(list auto-update-resolution-crutch))
;; Use the DHCP client service rather than NetworkManager.
(service dhcp-client-service-type))
+13 -4
View File
@@ -122,15 +122,24 @@ lives in, or the empty list if this is not applicable."
(mlambda ()
"Return the list of channels currently available, including the 'guix'
channel. Return the empty list if this information is missing."
(define (build-time-metadata)
(match (channel-metadata)
(#f '())
(sexp (or (and=> (sexp->channel sexp 'guix) list) '()))))
(match (current-profile-entries)
(()
;; As a fallback, if we're not running from a profile, use 'guix'
;; channel metadata from (guix config).
(match (channel-metadata)
(#f '())
(sexp (or (and=> (sexp->channel sexp 'guix) list) '()))))
(build-time-metadata))
(entries
(filter-map manifest-entry-channel entries)))))
(match (filter-map manifest-entry-channel entries)
(()
;; This profile lacks provenance metadata, so fall back to
;; build-time metadata as returned by 'channel-metadata'.
(build-time-metadata))
(lst
lst))))))
(define (package-path-entries)
"Return two values: the list of package path entries to be added to the
+5 -1
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -233,6 +233,10 @@ etc."
(make-location file (+ line 1) col)))
(#f
#f)
(#(file line column)
;; Guile >= 3.0.6 uses vectors instead of alists internally, which can be
;; seen in the arguments to 'syntax-error' exceptions.
(location file (+ 1 line) column))
(_
(let ((file (assq-ref loc 'filename))
(line (assq-ref loc 'line))
+8 -1
View File
@@ -301,4 +301,11 @@ text. The hyperlink links to a web view of COMMIT, when available."
(channels
(display-profile-info #f format channels))))
(profile
(display-profile-info (canonicalize-profile profile) format))))))
;; For the current profile, resort to 'current-channels', which has a
;; fallback to metadata from (guix config) in case PROFILE lacks it.
(let ((channels (if (and (current-profile)
(string=? profile (current-profile)))
(current-channels)
(profile-channels profile))))
(display-profile-info (canonicalize-profile profile)
format channels)))))))
+6 -4
View File
@@ -376,12 +376,14 @@ ARGS is the list of arguments received by the 'throw' handler."
(('system-error . rest)
(let ((err (system-error-errno args)))
(report-error (G_ "failed to load '~a': ~a~%") file (strerror err))))
(('read-error "scm_i_lreadparen" message _ ...)
(('read-error _ message args ...)
;; Guile's missing-paren messages are obscure so we make them more
;; intelligible here.
(if (string-suffix? "end of file" message)
(let ((location (string-drop-right message
(string-length "end of file"))))
(if (or (string-suffix? "end of file" message) ;Guile < 3.0.6
(and (string-contains message "unexpected end of input")
(member '(#\)) args)))
(let ((location (string-take message
(+ 2 (string-contains message ": ")))))
(format (current-error-port) (G_ "~amissing closing parenthesis~%")
location))
(apply throw args)))
+3 -3
View File
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: guix manual checkout\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2021-01-25 00:00+0100\n"
"PO-Revision-Date: 2021-02-19 10:40+0000\n"
"PO-Revision-Date: 2021-05-03 02:58+0000\n"
"Last-Translator: Soheil Khanalipur <soheil@disroot.org>\n"
"Language-Team: Persian <https://translate.fedoraproject.org/projects/guix/documentation-cookbook/fa/>\n"
"Language: fa\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.4.2\n"
"X-Generator: Weblate 4.6.1\n"
#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:7
@@ -154,7 +154,7 @@ msgstr ""
#. type: menuentry
#: guix-git/doc/guix-cookbook.texi:74
msgid "Thanks!"
msgstr "سپاس"
msgstr "سِپاس!"
#. type: appendix
#: guix-git/doc/guix-cookbook.texi:74 guix-git/doc/guix-cookbook.texi:2941
+463 -145
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -71,7 +71,7 @@ msgstr "GNU Guix 개발자"
#: guix-git/doc/guix-cookbook.texi:48
#, no-wrap
msgid "Top"
msgstr "Top"
msgstr "정상"
#. type: Plain text
#: guix-git/doc/guix-cookbook.texi:55
+10686 -10712
View File
File diff suppressed because it is too large Load Diff
+10781 -11557
View File
File diff suppressed because it is too large Load Diff
+10668 -10732
View File
File diff suppressed because it is too large Load Diff
+10687 -10715
View File
File diff suppressed because it is too large Load Diff
+10664 -10728
View File
File diff suppressed because it is too large Load Diff
+10664 -10728
View File
File diff suppressed because it is too large Load Diff
+10662 -10725
View File
File diff suppressed because it is too large Load Diff
+10675 -11785
View File
File diff suppressed because it is too large Load Diff
+10710 -10771
View File
File diff suppressed because it is too large Load Diff
+10675 -11458
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -12,9 +12,11 @@ hu
it
ko
nl
oc
pl
pt_BR
ru
si
sk
sr
sv
+283 -279
View File
File diff suppressed because it is too large Load Diff
+294 -285
View File
File diff suppressed because it is too large Load Diff
+292 -283
View File
File diff suppressed because it is too large Load Diff
+283 -279
View File
File diff suppressed because it is too large Load Diff
+294 -285
View File
File diff suppressed because it is too large Load Diff
+295 -284
View File
File diff suppressed because it is too large Load Diff
+283 -279
View File
File diff suppressed because it is too large Load Diff
+289 -285
View File
File diff suppressed because it is too large Load Diff
+289 -285
View File
File diff suppressed because it is too large Load Diff
+701 -540
View File
File diff suppressed because it is too large Load Diff
+6628
View File
File diff suppressed because it is too large Load Diff
+317 -312
View File
File diff suppressed because it is too large Load Diff
+811 -1096
View File
File diff suppressed because it is too large Load Diff
+298 -295
View File
File diff suppressed because it is too large Load Diff
+6628
View File
File diff suppressed because it is too large Load Diff
+321 -310
View File
File diff suppressed because it is too large Load Diff
+283 -279
View File
File diff suppressed because it is too large Load Diff
+283 -279
View File
File diff suppressed because it is too large Load Diff
+294 -285
View File
File diff suppressed because it is too large Load Diff
+283 -279
View File
File diff suppressed because it is too large Load Diff
+283 -279
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -10,6 +10,8 @@ fa
fr
hu
ko
nl
oc
pl
pt_BR
sk
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+20927
View File
File diff suppressed because it is too large Load Diff
+20916
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+590 -558
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+584 -556
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -459,7 +459,7 @@ if guix package --bootstrap -n -m "$module_dir/manifest.scm" \
then false
else
cat "$module_dir/stderr"
grep "manifest.scm:[1-3]:.*wonderful-package.*: unbound variable" \
grep "manifest.scm:[1-4]:.*wonderful-package.*: unbound variable" \
"$module_dir/stderr"
fi
+7 -1
View File
@@ -51,6 +51,7 @@ then
# This must not succeed.
exit 1
else
cat "$errorfile"
grep "$tmpfile:2:3:.*missing.* initializers" "$errorfile"
fi
@@ -66,7 +67,12 @@ then
# This must not succeed.
exit 1
else
grep "$tmpfile:4:1: missing closing paren" "$errorfile"
cat "$errorfile"
# Guile 3.0.6 gets line/column numbers for 'read-error' wrong
# (zero-indexed): <https://bugs.gnu.org/48089>.
grep "$tmpfile:4:1: missing closing paren" "$errorfile" || \
grep "$tmpfile:3:0: missing closing paren" "$errorfile"
fi
+14 -4
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +29,16 @@
(module-use! module (resolve-interface '(guix records)))
module))
(define (location-alist loc)
;; Return a location alist. In Guile < 3.0.6, LOC is always an alist, but
;; starting with 3.0.6, LOC is a vector (at least when it comes from
;; 'syntax-error' exceptions), hence this conversion.
(match loc
(#(file line column)
`((line . ,line) (column . ,column)
(filename . ,file)))
(_ loc)))
(test-begin "records")
@@ -298,7 +308,7 @@
(pk 'expected-loc
`((line . ,(- (assq-ref loc 'line) 1))
,@(alist-delete 'line loc)))
(pk 'actual-loc location)))))))
(pk 'actual-loc (location-alist location))))))))
(test-assert "define-record-type* & wrong field specifier, identifier"
(let ((exp '(begin
@@ -325,7 +335,7 @@
(pk 'expected-loc
`((line . ,(- (assq-ref loc 'line) 2))
,@(alist-delete 'line loc)))
(pk 'actual-loc location)))))))
(pk 'actual-loc (location-alist location))))))))
(test-assert "define-record-type* & missing initializers"
(catch 'syntax-error
@@ -396,7 +406,7 @@
(pk 'expected-loc
`((line . ,(- (assq-ref loc 'line) 1))
,@(alist-delete 'line loc)))
(pk 'actual-loc location)))))))
(pk 'actual-loc (location-alist location))))))))
(test-assert "ABI checks"
(let ((module (test-module)))