forked from tribes/guix
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aa34d4d28d | |||
| 6110751b53 | |||
| a8509d8d43 | |||
| 0961807915 | |||
| fb5d04d363 | |||
| 771b866c55 | |||
| a0178d34f5 | |||
| 21fcced608 | |||
| abff6f0fac | |||
| 63d26e81ee | |||
| b507a0e38c | |||
| 80dc6ad4a8 | |||
| ed2d4d52dd | |||
| 7418a20074 | |||
| 945ad48cd8 | |||
| 3a0fcaa0fe | |||
| 8a154c2915 | |||
| 9562a2eb61 | |||
| dde0291476 | |||
| 566982bc71 |
@@ -1,6 +1,7 @@
|
||||
*.eps
|
||||
*.go
|
||||
*.log
|
||||
*.mo
|
||||
*.pdf
|
||||
*.png
|
||||
*.tar.xz
|
||||
|
||||
@@ -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>)
|
||||
*** Installer’s kmscon no longer uses up 100% CPU
|
||||
(<https://issues.guix.gnu.org/39341>)
|
||||
*** Git checkouts can be updated to the remote’s 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
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ Please email <help-guix@gnu.org> for questions and <bug-guix@gnu.org> for bug
|
||||
reports; email <gnu-system-discuss@gnu.org> for general issues regarding the
|
||||
GNU system.
|
||||
|
||||
Join #guix on irc.freenode.net.
|
||||
Join #guix on irc.libera.chat.
|
||||
|
||||
* Guix & Nix
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ There will be a few 0.x releases by then to give the new features more
|
||||
exposure and testing.
|
||||
|
||||
You're welcome to discuss this road map on guix-devel@gnu.org or #guix on
|
||||
Freenode!
|
||||
the Libera Chat IRC network!
|
||||
|
||||
* Features scheduled for 1.0
|
||||
|
||||
|
||||
@@ -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)))
|
||||
|
||||
+1
-1
@@ -948,7 +948,7 @@ from SOURCE."
|
||||
(div
|
||||
(ul
|
||||
(li (a (@ (href "html_node"))
|
||||
"HTML, with one page per node"))
|
||||
"HTML, with a separate page per node"))
|
||||
(li (a (@ (href
|
||||
,(string-append
|
||||
#$manual
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
This project is a cooperative effort, and we need your help to make it
|
||||
grow! Please get in touch with us on @email{guix-devel@@gnu.org} and
|
||||
@code{#guix} on the Freenode IRC network. We welcome ideas, bug
|
||||
@code{#guix} on the Libera Chat IRC network. We welcome ideas, bug
|
||||
reports, patches, and anything that may be helpful to the project. We
|
||||
particularly welcome help on packaging (@pxref{Packaging Guidelines}).
|
||||
|
||||
|
||||
+1
-1
@@ -2627,7 +2627,7 @@ root's login shell, you'll need to @command{guix pull} separately.
|
||||
@end quotation
|
||||
|
||||
Now, @pxref{Getting Started}, and
|
||||
join us on @code{#guix} on the Freenode IRC network or on
|
||||
join us on @code{#guix} on the Libera Chat IRC network or on
|
||||
@email{guix-devel@@gnu.org} to share your experience!
|
||||
|
||||
|
||||
|
||||
+60
-34
@@ -66,9 +66,14 @@
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (%core-packages
|
||||
#:export (derivation->job
|
||||
image->job
|
||||
|
||||
%core-packages
|
||||
%cross-targets
|
||||
channel-source->package
|
||||
|
||||
arguments->systems
|
||||
cuirass-jobs))
|
||||
|
||||
;;; Commentary:
|
||||
@@ -87,6 +92,9 @@ MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when
|
||||
building the derivation."
|
||||
`((#:job-name . ,name)
|
||||
(#:derivation . ,(derivation-file-name drv))
|
||||
(#:inputs . ,(map (compose derivation-file-name
|
||||
derivation-input-derivation)
|
||||
(derivation-inputs drv)))
|
||||
(#:outputs . ,(filter-map
|
||||
(lambda (res)
|
||||
(match res
|
||||
@@ -232,43 +240,48 @@ SYSTEM."
|
||||
(define (hours hours)
|
||||
(* 3600 hours))
|
||||
|
||||
(define* (image->job store image
|
||||
#:key name system)
|
||||
"Return the job for IMAGE on SYSTEM. If NAME is passed, use it as job name,
|
||||
otherwise use the IMAGE name."
|
||||
(let* ((image-name (or name
|
||||
(symbol->string (image-name image))))
|
||||
(name (string-append image-name "." system))
|
||||
(drv (run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(lower-object (system-image image))))))
|
||||
(parameterize ((%graft? #f))
|
||||
(derivation->job name drv))))
|
||||
|
||||
(define (image-jobs store system)
|
||||
"Return a list of jobs that build images for SYSTEM."
|
||||
(define (->job name drv)
|
||||
(let ((name (string-append name "." system)))
|
||||
(parameterize ((%graft? #f))
|
||||
(derivation->job name drv))))
|
||||
|
||||
(define (build-image image)
|
||||
(run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(lower-object (system-image image)))))
|
||||
|
||||
(define MiB
|
||||
(expt 2 20))
|
||||
|
||||
(if (member system %guix-system-supported-systems)
|
||||
`(,(->job "usb-image"
|
||||
(build-image
|
||||
(image
|
||||
(inherit efi-disk-image)
|
||||
(operating-system installation-os))))
|
||||
,(->job "iso9660-image"
|
||||
(build-image
|
||||
(image
|
||||
(inherit (image-with-label
|
||||
iso9660-image
|
||||
(string-append "GUIX_" system "_"
|
||||
(if (> (string-length %guix-version) 7)
|
||||
(substring %guix-version 0 7)
|
||||
%guix-version))))
|
||||
(operating-system installation-os))))
|
||||
`(,(image->job store
|
||||
(image
|
||||
(inherit efi-disk-image)
|
||||
(operating-system installation-os))
|
||||
#:name "usb-image"
|
||||
#:system system)
|
||||
,(image->job
|
||||
store
|
||||
(image
|
||||
(inherit (image-with-label
|
||||
iso9660-image
|
||||
(string-append "GUIX_" system "_"
|
||||
(if (> (string-length %guix-version) 7)
|
||||
(substring %guix-version 0 7)
|
||||
%guix-version))))
|
||||
(operating-system installation-os))
|
||||
#:name "iso9660-image"
|
||||
#:system system)
|
||||
;; Only cross-compile Guix System images from x86_64-linux for now.
|
||||
,@(if (string=? system "x86_64-linux")
|
||||
(map (lambda (image)
|
||||
(->job (symbol->string (image-name image))
|
||||
(build-image image)))
|
||||
(map (cut image->job store <>
|
||||
#:system system)
|
||||
%guix-system-images)
|
||||
'()))
|
||||
'()))
|
||||
@@ -435,6 +448,13 @@ valid."
|
||||
load-manifest)
|
||||
manifests))))
|
||||
|
||||
(define (arguments->systems arguments)
|
||||
"Return the systems list from ARGUMENTS."
|
||||
(match (assoc-ref arguments 'systems)
|
||||
(#f %cuirass-supported-systems)
|
||||
((lst ...) lst)
|
||||
((? string? str) (call-with-input-string str read))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Cuirass entry point.
|
||||
@@ -446,10 +466,7 @@ valid."
|
||||
(assoc-ref arguments 'subset))
|
||||
|
||||
(define systems
|
||||
(match (assoc-ref arguments 'systems)
|
||||
(#f %cuirass-supported-systems)
|
||||
((lst ...) lst)
|
||||
((? string? str) (call-with-input-string str read))))
|
||||
(arguments->systems arguments))
|
||||
|
||||
(define channels
|
||||
(let ((channels (assq-ref arguments 'channels)))
|
||||
@@ -514,6 +531,15 @@ valid."
|
||||
('tarball
|
||||
;; Build Guix tarball only.
|
||||
(tarball-jobs store system))
|
||||
(('custom . modules)
|
||||
;; Build custom modules jobs only.
|
||||
(append-map
|
||||
(lambda (module)
|
||||
(let ((proc (module-ref
|
||||
(resolve-interface module)
|
||||
'cuirass-jobs)))
|
||||
(proc store arguments)))
|
||||
modules))
|
||||
(('channels . channels)
|
||||
;; Build only the packages from CHANNELS.
|
||||
(let ((all (all-packages)))
|
||||
|
||||
@@ -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.0")
|
||||
(commit "771b866c55e5f992df60f6c32f5fdd78b64e17f6")
|
||||
(revision 1))
|
||||
(package
|
||||
(name "guix")
|
||||
@@ -149,7 +149,7 @@
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0b92w6lqp4h75dds3fbxdp5shvfpkcdin809f8v94l4a2fbxkais"))
|
||||
"0w8w05w6v3lc6478vfw67jzn0hbd9nsncpx9i9ch1lck53r8vs44"))
|
||||
(file-name (string-append "guix-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
@@ -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)))
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
+10690
-10716
File diff suppressed because it is too large
Load Diff
+10785
-11561
File diff suppressed because it is too large
Load Diff
+10670
-10734
File diff suppressed because it is too large
Load Diff
+10691
-10719
File diff suppressed because it is too large
Load Diff
+10666
-10730
File diff suppressed because it is too large
Load Diff
+10667
-10731
File diff suppressed because it is too large
Load Diff
+10665
-10728
File diff suppressed because it is too large
Load Diff
+10679
-11789
File diff suppressed because it is too large
Load Diff
+10713
-10774
File diff suppressed because it is too large
Load Diff
+10678
-11461
File diff suppressed because it is too large
Load Diff
@@ -12,9 +12,11 @@ hu
|
||||
it
|
||||
ko
|
||||
nl
|
||||
oc
|
||||
pl
|
||||
pt_BR
|
||||
ru
|
||||
si
|
||||
sk
|
||||
sr
|
||||
sv
|
||||
|
||||
+283
-279
File diff suppressed because it is too large
Load Diff
+294
-285
File diff suppressed because it is too large
Load Diff
+292
-283
File diff suppressed because it is too large
Load Diff
+283
-279
File diff suppressed because it is too large
Load Diff
+294
-285
File diff suppressed because it is too large
Load Diff
+295
-284
File diff suppressed because it is too large
Load Diff
+283
-279
File diff suppressed because it is too large
Load Diff
+289
-285
File diff suppressed because it is too large
Load Diff
+289
-285
File diff suppressed because it is too large
Load Diff
+701
-540
File diff suppressed because it is too large
Load Diff
+6628
File diff suppressed because it is too large
Load Diff
+317
-312
File diff suppressed because it is too large
Load Diff
+811
-1096
File diff suppressed because it is too large
Load Diff
+298
-295
File diff suppressed because it is too large
Load Diff
+6628
File diff suppressed because it is too large
Load Diff
+321
-310
File diff suppressed because it is too large
Load Diff
+283
-279
File diff suppressed because it is too large
Load Diff
+283
-279
File diff suppressed because it is too large
Load Diff
+294
-285
File diff suppressed because it is too large
Load Diff
+283
-279
File diff suppressed because it is too large
Load Diff
+283
-279
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,8 @@ fa
|
||||
fr
|
||||
hu
|
||||
ko
|
||||
nl
|
||||
oc
|
||||
pl
|
||||
pt_BR
|
||||
sk
|
||||
|
||||
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+20927
File diff suppressed because it is too large
Load Diff
+20916
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+590
-558
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
+584
-556
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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)))
|
||||
|
||||
Reference in New Issue
Block a user