bug#61646: Bandwidth-induced offload timeout abort whole operating

2023-02-19 Thread Maxim Cournoyer
Hi Guix,

I can reproduce this rather easily on my system:

--8<---cut here---start->8---
$ ./pre-inst-env guix build icedove
The following derivations will be built:
  /gnu/store/l6r93asndd0kwv7024iyrl71zd0lbpbq-icedove-102.7.2.drv
  /gnu/store/8zi808086b3vlfjrhdm87fgljziwdqx2-icedove-l10n-102.7.2.drv
  /gnu/store/v0sq7rb8fk36kjasb27a71z1a27wxb1s-icedove-minimal-102.7.2.drv
process 19542 acquired build slot '/var/guix/offload/localhost:/0'
normalized load on machine 'localhost' is 0.08
building /gnu/store/8zi808086b3vlfjrhdm87fgljziwdqx2-icedove-l10n-102.7.2.drv...
process 19548 acquired build slot '/var/guix/offload/localhost:/1'
normalized load on machine 'localhost' is 0.08
building 
/gnu/store/v0sq7rb8fk36kjasb27a71z1a27wxb1s-icedove-minimal-102.7.2.drv...
guix offload: sending 1 store item (558 MiB) to 'localhost'...
exporting path 
`/gnu/store/bwb5hcdyzgq16kmbsva7ax0zq6lzg78z-icedove-102.7.2.tar.xz'
guix offload: error: failed to connect to 'localhost': Timeout connecting to 
localhost
cannot build derivation 
`/gnu/store/l6r93asndd0kwv7024iyrl71zd0lbpbq-icedove-102.7.2.drv': 1 
dependencies couldn't be built
guix build: error: build of
  `/gnu/store/l6r93asndd0kwv7024iyrl71zd0lbpbq-icedove-102.7.2.drv' failed
--8<---cut here---end--->8---

The third derivation tries to get a build slot and times out, because
the first two have already saturated the bandwidth of the link and it
takes more time than expected to get a reply.

The workaround is to use '-k', for "--keep-continuing", and retry the
3rd failing derivation after the first two completed.

I don't have a clear idea on how to improve the situation other than use
longer timeouts... but perhaps these timeouts could be dynamic based on
the load of the network/CPU/ ?

-- 
Thanks,
Maxim





bug#32026: [PATCH 03/10] gnu: Define UPSTREAM-FIREFOX-SOURCE at the top level.

2023-02-19 Thread Maxim Cournoyer
Hi Mark,

I believe I've addressed all your comments; I've now pushed the series
to master (taking care to update the gnuzilla commit to f23f8b6 for the
language pack reproducibility fix).

Thank you for the review, and let me know if I missed anything!

Closing.

-- 
Thanks,
Maxim





bug#61642: intermittent write_wait_fd error when updating

2023-02-19 Thread Nathan Dehnel
guix v 636b771536b95d15a2fd68b468deeebac97d6bee

substitute: updating substitutes from
'https://substitutes.nonguix.org'...   0.0%Backtrace:
substitute: In ice-9/boot-9.scm:
substitute:   1752:10 17 (with-exception-handler _ _ #:unwind? _ # _)
substitute: In unknown file:
substitute:   16 (apply-smob/0 #)
substitute: In ice-9/boot-9.scm:
substitute: 724:2 15 (call-with-prompt _ _ #)
substitute: In ice-9/eval.scm:
substitute: 619:8 14 (_ #(#(#)))
substitute: In guix/ui.scm:
substitute:2279:7 13 (run-guix . _)
substitute:   2242:10 12 (run-guix-command _ . _)
substitute: In ice-9/boot-9.scm:
substitute:   1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
substitute:   1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
substitute: In guix/scripts/substitute.scm:
substitute:844:18  9 (_)
substitute:348:26  8 (process-query # _
#:cache-urls _ #:acl _)
substitute: In guix/substitutes.scm:
substitute:382:27  7 (lookup-narinfos/diverse _ _ # …)
substitute:339:31  6 (lookup-narinfos
"https://substitutes.nonguix.org; _ # _ …)
substitute:262:26  5 (fetch-narinfos _ _ #:open-connection _ # _)
substitute: In ice-9/boot-9.scm:
substitute:   1685:16  4 (raise-exception _ #:continuable? _)
substitute:   1685:16  3 (raise-exception _ #:continuable? _)
substitute:   1780:13  2 (_ #< components:
(#<> #<…>)
substitute:   1685:16  1 (raise-exception _ #:continuable? _)
substitute:   1685:16  0 (raise-exception _ #:continuable? _)
substitute:
substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
substitute: In procedure write_wait_fd: unimplemented
guix upgrade: error:
`/gnu/store/263q5qr1dcs4j7vxqk10gilv5py06r49-guix-1.4.0-3.d5fece6/bin/guix
substitute' died unexpectedly





bug#32026: [PATCH v4 1/9] gnu: Add a 'update-mozilla-locales' helper for maintenance.

2023-02-19 Thread Maxim Cournoyer
Hi!

Mark H Weaver  writes:

> Hi Maxim,
>
> Maxim Cournoyer  writes:
>> * gnu/packages/gnuzilla.scm (update-mozilla-locales): New procedure.
>> (all-mozilla-locales): Comment how to proceed to update it.
>
> The second line above should be removed to reflect the updated patch.
>
>> +(define (update-mozilla-locales changesets.json)
>> +  "Output a new list of Mozilla locales, to update the ALL-MOZILLA-LOCALES
>> +variable defined bellow.  It requires guile-json to be installed."
>
> s/bellow/below/
>
> Otherwise, it looks good to me.

Adjusted locally, thanks!

-- 
Thanks,
Maxim





bug#32026: [PATCH v4 3/9] gnu: Define %icecat-base-version at the top level.

2023-02-19 Thread Maxim Cournoyer
Hi Mark,

Mark H Weaver  writes:

> Hi Maxim,
>
> Maxim Cournoyer  writes:
>> * gnu/packages/gnuzilla.scm (%icecat-base-version): New variable.
>> (%icecat-version): Define in terms of %icecat-base-version.
>> (icecat-source): Adjust to use the above newly introduced variables.
>
> What's the rationale for this?  I couldn't find any uses of
> '%icecat-base-version' in your patch set outside of 'icecat-source'.
> I don't have a strong objection, but it seems unjustified.
>
>   Thanks,
> Mark

Not much anymore, but I just thought it was cleaner than having to do
(base-version (first (string-split %icecat-version #\-))) later on to
retrieve this information.

-- 
Thanks,
Maxim





bug#32026: [PATCH v4 1/9] gnu: Add a 'update-mozilla-locales' helper for maintenance.

2023-02-19 Thread Mark H Weaver
Hi Maxim,

Maxim Cournoyer  writes:
> * gnu/packages/gnuzilla.scm (update-mozilla-locales): New procedure.
> (all-mozilla-locales): Comment how to proceed to update it.

The second line above should be removed to reflect the updated patch.

> +(define (update-mozilla-locales changesets.json)
> +  "Output a new list of Mozilla locales, to update the ALL-MOZILLA-LOCALES
> +variable defined bellow.  It requires guile-json to be installed."

s/bellow/below/

Otherwise, it looks good to me.

  Thanks!
Mark





bug#32026: [PATCH v4 3/9] gnu: Define %icecat-base-version at the top level.

2023-02-19 Thread Mark H Weaver
Hi Maxim,

Maxim Cournoyer  writes:
> * gnu/packages/gnuzilla.scm (%icecat-base-version): New variable.
> (%icecat-version): Define in terms of %icecat-base-version.
> (icecat-source): Adjust to use the above newly introduced variables.

What's the rationale for this?  I couldn't find any uses of
'%icecat-base-version' in your patch set outside of 'icecat-source'.
I don't have a strong objection, but it seems unjustified.

  Thanks,
Mark





bug#32026: [PATCH v4 9/9] gnu: icecat: Unbundle nss and nspr.

2023-02-19 Thread Maxim Cournoyer
* gnu/packages/gnuzilla.scm (icecat-minimal) [inputs]: Add nspr-next and
nss-next.
[configure-flags]: Re-instate the "--with-system-nspr" and "--with-system-nss"
configure flags.
[phases] {remove-bundled-libraries}: Update comment.

---

(no changes since v2)

Changes in v2:
- New commit

 gnu/packages/gnuzilla.scm | 23 +++
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index daffc97771..f4723d683c 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -715,10 +715,8 @@ (define-public icecat-minimal
mit-krb5
hunspell
libnotify
-   ;; See 
-   ;;   and related comments in the 'remove-bundled-libraries' phase.
-   ;; UNBUNDLE-ME! nspr
-   ;; UNBUNDLE-ME! nss
+   nspr-next
+   nss-next
shared-mime-info
sqlite
eudev
@@ -813,12 +811,8 @@ (define-public icecat-minimal
  ;; UNBUNDLE-ME! "--with-system-theora" ; wants theora-1.2, not yet 
released
  ;; UNBUNDLE-ME! "--with-system-libvpx"
  "--with-system-icu"
-
- ;; See 
- ;;   and related comments in the
- ;;   'remove-bundled-libraries' phase below.
- ;; UNBUNDLE-ME! "--with-system-nspr"
- ;; UNBUNDLE-ME! "--with-system-nss"
+ "--with-system-nspr"
+ "--with-system-nss"
 
  ;; UNBUNDLE-ME! "--with-system-harfbuzz"
  ;; UNBUNDLE-ME! "--with-system-graphite2"
@@ -867,12 +861,9 @@ (define-public icecat-minimal
   ;; FIXME: A script from the bundled nspr is used.
   ;;"nsprpub"
   ;;
-  ;; FIXME: With the update to IceCat 60, using system 
NSS
-  ;;broke certificate validation.  See
-  ;;.  For now, we 
use
-  ;;the bundled NSPR and NSS.  TODO: 
Investigate,
-  ;;and try to unbundle these libraries again.
-  ;; UNBUNDLE-ME! "security/nss"
+  ;; FIXME: Some of the bundled NSS sources are used
+  ;; to build third_party/prio.
+  ;;"security/nss"
   ;;
   ;; TODO: Use more system media libraries.  See:
   ;; 

-- 
2.39.1






bug#32026: [PATCH v4 5/9] gnu: icedove: Automatically load system-provided extensions.

2023-02-19 Thread Maxim Cournoyer
* gnu/packages/gnuzilla.scm
(icedove-source): Set the extensions.autoDisableScopes preference value to 3.
(icedove-minimal) [phases]: Add the --allow-addon-sideload and
--with-unsigned-addon-scopes=app,system ac options to the configure phase.
---

(no changes since v1)

 gnu/packages/gnuzilla.scm | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 01fc974805..38c34251ab 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1273,7 +1273,15 @@ (define icedove-source
  (("(pref\\(\"extensions.systemAddon.update.enabled\").*" _ m)
   (string-append m ", false);"))
  (("(pref\\(\"lightweightThemes.update.enabled\").*" _ m)
-  (string-append m ", false);")))
+  (string-append m ", false);"))
+
+ ;; XXX: The autoDisableScopes is tweaked by the makeicecat
+ ;; script, but it doesn't know about Thunderbird.  This is
+ ;; necessary to allow picking up the extensions found in the
+ ;; system global application directory, such as the language
+ ;; packs.
+ (("\"extensions.autoDisableScopes\", 15")
+  "\"extensions.autoDisableScopes\", 3"))
 
;; Step out of the directory and create the tarball.
(chdir "..")
@@ -1386,6 +1394,8 @@ (define-public icedove
   (lambda ()
 (display
  (string-append
+  "ac_add_options --allow-addon-sideload\n"
+  "ac_add_options 
--with-unsigned-addon-scopes=app,system\n"
   "ac_add_options --disable-crashreporter\n"
   "ac_add_options --disable-debug\n"
   "ac_add_options --disable-debug-symbols\n"
-- 
2.39.1






bug#32026: [PATCH v4 6/9] gnu: Add language packs to icecat and icedove.

2023-02-19 Thread Maxim Cournoyer
Fixes .

* gnu/packages/gnuzilla.scm (icecat): Rename to...
(icecat-minimal): ... this.
(icedove: Rename to...
(icedove-minimal): ... this.
(make-mozilla-with-l10n): New procedure.
(icecat, icedove): New variables.

---

(no changes since v3)

Changes in v3:
- Make make-l10n-package more functional, taking inputs as arguments
- Validate the PROJECT argument in make-l10n-package

Changes in v2:
- Do not clear native-inputs and inputs in make-mozilla-with-l10n, for 'guix
shell -D icecat'

 gnu/packages/gnuzilla.scm | 133 --
 1 file changed, 100 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 38c34251ab..ab2065054a 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -671,9 +671,9 @@ (define icecat-source
 "--sort=name"
 icecat-dir)
 
-(define-public icecat
+(define-public icecat-minimal
   (package
-(name "icecat")
+(name "icecat-minimal")
 (version %icecat-version)
 (source icecat-source)
 (build-system gnu-build-system)
@@ -1295,9 +1295,9 @@ (define icedove-source
"--sort=name"
#$name
 
-(define-public icedove
+(define-public icedove-minimal
   (package
-(name "icedove")
+(name "icedove-minimal")
 (version %icedove-version)
 (source icedove-source)
 (properties
@@ -1547,35 +1547,6 @@ (define-public icedove
 Thunderbird.  It supports email, news feeds, chat, calendar and contacts.")
 (license license:mpl2.0)))
 
-(define-public icedove/wayland
-  (package
-(inherit icedove)
-(name "icedove-wayland")
-(build-system trivial-build-system)
-(arguments
- (list
-  #:modules '((guix build utils))
-  #:builder
-  #~(begin
-  (use-modules (guix build utils))
-  (let* ((exe (string-append #$output "/bin/icedove")))
-(mkdir-p (dirname exe))
-(call-with-output-file exe
-  (lambda (port)
-(format port "#!~a
- MOZ_ENABLE_WAYLAND=1 exec ~a $@"
-#$(file-append bash-minimal "/bin/bash")
-#$(file-append icedove "/bin/icedove"
-(chmod exe #o555)
-;; Provide the manual and .desktop file.
-(copy-recursively (string-append #$icedove "/share")
-  (string-append #$output "/share"))
-(substitute* (string-append #$output
-"/share/applications/icedove.desktop")
-  ((#$icedove) #$output))
-(native-inputs '())
-(inputs '(
-
 (define (make-l10n-package project version source locales)
   "Return a package for PROJECT, a symbol (either icecat or icedove), with
 their corresponding VERSION, SOURCE and LOCALES variables."
@@ -1698,6 +1669,102 @@ (define-public icecat-l10n
 (define-public icedove-l10n
   (make-l10n-package 'icedove %icedove-version icedove-source 
%icedove-locales))
 
+;;; This hack exists because there's no way to configure extra extension
+;;; search paths for IceCat or Icedove.  The global extensions directory is
+;;; constructed relatively to the executable file name.
+(define (make-mozilla-with-l10n project base l10n-package)
+  "Return a package definition for PROJECT (a symbol such as 'icecat or
+'icedove) that combines the BASE package with L10N-PACKAGE."
+
+  (unless (member project '(icecat icedove))
+(error "only icecat or icedove components are currently supported"))
+
+  (let ((name (symbol->string project))
+(icecat? (eq? 'icecat project)))
+(package
+  (inherit base)
+  (name (symbol->string project))
+  (build-system trivial-build-system)
+  (arguments
+   (list
+#:modules '((guix build union)
+(guix build utils))
+#:builder
+#~(begin
+(use-modules (guix build union)
+ (guix build utils))
+
+(union-build #$output (list #$base #$l10n-package)
+ #:create-all-directories? #t)
+
+(define* (expose name #:optional (proc copy-file)
+ #:key (source #$base))
+  (let ((dest (string-append #$output "/" name)))
+(mkdir-p (dirname dest))
+(proc (string-append source "/" name) dest)))
+
+(let ((wrapper (string-append "lib/" #$name "/" #$name))
+  (real-binary (string-append "lib/" #$name "/." #$name
+  "-real"))
+  (desktop-file (string-append "share/applications/"
+   #$name ".desktop")))
+  ;; Copy wrapper file.
+  (delete-file (string-append #$output "/" wrapper))
+  (expose wrapper)
+
+  ;; Recreate bin symlink.
+

bug#32026: [PATCH v4 3/9] gnu: Define %icecat-base-version at the top level.

2023-02-19 Thread Maxim Cournoyer
* gnu/packages/gnuzilla.scm (%icecat-base-version): New variable.
(%icecat-version): Define in terms of %icecat-base-version.
(icecat-source): Adjust to use the above newly introduced variables.

---

Changes in v4:
- Re-obfuscate upstream-firefox-source

 gnu/packages/gnuzilla.scm | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 3a742d06c6..bb379a7fb1 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -496,20 +496,19 @@ (define all-mozilla-locales
 ;; : Workaround 'snippet' limitations.
 (define computed-origin-method (@@ (guix packages) computed-origin-method))
 
-(define %icecat-version "102.8.0-guix0-preview1")
+(define %icecat-base-version "102.8.0")
+(define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
 (define %icecat-build-id "2023021400") ;must be of the form MMDDhhmmss
 
 ;; '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 icecat-source
-  (let* ((base-version (first (string-split %icecat-version #\-)))
+  (let* ((major-version (first  (string-split %icecat-base-version #\.)))
+ (minor-version (second (string-split %icecat-base-version #\.)))
+ (sub-version   (third  (string-split %icecat-base-version #\.)))
 
- (major-version (first  (string-split base-version #\.)))
- (minor-version (second (string-split base-version #\.)))
- (sub-version   (third  (string-split base-version #\.)))
-
- (upstream-firefox-version (string-append base-version "esr"))
+ (upstream-firefox-version (string-append %icecat-base-version "esr"))
  (upstream-firefox-source
   (origin
 (method url-fetch)
@@ -521,8 +520,9 @@ (define icecat-source
  (base32
   "0j6afrgfsmd0adbbmffw4p1f2hznpck9d36z3bsjx36f7cjgdy27"
 
- (upstream-icecat-base-version "102.8.0") ; maybe older than 
base-version
- ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
+ ;; The upstream-icecat-base-version may be older than the
+ ;; %icecat-base-version.
+ (upstream-icecat-base-version "102.8.0")
  (gnuzilla-commit "03d9e3db5affe21db077c410ec08c313d6aa280e")
  (gnuzilla-source
   (origin
@@ -553,7 +553,7 @@ (define icecat-source
   #~(begin
   (use-modules (guix build utils))
   (let ((firefox-dir
- (string-append "firefox-" #$base-version))
+ (string-append "firefox-" #$%icecat-base-version))
 (icecat-dir
  (string-append "icecat-" #$%icecat-version)))
 
-- 
2.39.1






bug#32026: [PATCH v4 2/9] gnu: icedove: Compute a self-contained source.

2023-02-19 Thread Maxim Cournoyer
This refactoring work is to prepare for adding a icedove-l10n package, which
will reuse that source.

* gnu/packages/gnuzilla.scm (comm-source->locales+changset): New procedure.
(thunderbird-source): Rename to...
(thunderbird-comm-source): ... here.
(icedove-source): New variable.
(icedove) [source]: Use it.
[phases]: Remove the prepare-thunderbird-sources and rename-to-icedove phases.

---

(no changes since v2)

Changes in v2:
- Fix typo in comm-source->locales+changset
- Reword comment

 gnu/packages/gnuzilla.scm | 210 +-
 1 file changed, 140 insertions(+), 70 deletions(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 16e2208426..3a742d06c6 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -47,6 +47,7 @@ (define-module (gnu packages gnuzilla)
   #:use-module (guix hg-download)
   #:use-module (guix gexp)
   #:use-module (guix store)
+  #:use-module (guix modules)
   #:use-module (guix monads)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
@@ -1119,7 +1120,7 @@ (define %icedove-version "102.7.2")
 
 ;; Provides the "comm" folder which is inserted into the icecat source.
 ;; Avoids the duplication of Icecat's source tarball.
-(define thunderbird-source
+(define thunderbird-comm-source
   (origin
 (method hg-fetch)
 (uri (hg-reference
@@ -1130,11 +1131,148 @@ (define thunderbird-source
  (base32
   "071q0pcfvfpzx741ly1sl8anlmzx02h17w4ylfnrkwrpaclq3p6p"
 
+(define (comm-source->locales+changeset source)
+  "Given SOURCE, a checkout of the Thunderbird 'comm' component, return the
+list of languages supported as well as the currently used changeset."
+  (match (update-mozilla-locales
+  (string-append source "/mail/locales/l10n-changesets.json"))
+(((_ changeset locale) ...)
+ (values locale (first changeset)
+
+;;; To find out which changeset to use for the comm-l10n repo, use the
+;;; 'comm-source->locales+changeset' procedure on the thunderbird-comm-source
+;;; checkout directory.  The complete localization data should be released as
+;;; a tarball in the next release (see:
+;;; https://bugzilla.mozilla.org/show_bug.cgi?id=1817086).  When this tarball
+;;; is available, it should replace the complete 'l10n' directory at the root
+;;; of the IceCat source, instead of only the 'calendar', chat and mail
+;;; directories that it provides.
+(define thunderbird-comm-l10n
+  (let* ((changeset "5b6788295358")
+ (version (git-version %icedove-version "0" changeset)))
+(origin
+  (method hg-fetch)
+  (uri (hg-reference
+(url "https://hg.mozilla.org/projects/comm-l10n;)
+(changeset changeset)))
+  (file-name (git-file-name "comm-l10n" version))
+  (sha256
+   (base32
+"1jrsmkscjjllcfawi3788vwm53wn25inbhdis5nk4vfpr7wk5ill")
+
+(define icedove-source
+  (let ((name (string-append "icedove-" %icedove-version)))
+(origin
+  (method computed-origin-method)
+  (file-name (string-append name ".tar.xz"))
+  (sha256 #f)
+  (uri
+   (delay
+ (with-imported-modules (source-module-closure '((guix build utils)))
+   #~(begin
+   (use-modules (guix build utils)
+(sxml simple))
+
+   (set-path-environment-variable
+"PATH" '("bin")
+(list #+(canonical-package tar)
+  #+(canonical-package xz)))
+
+   ;; Extract the base Icecat tarball, renaming its top-level
+   ;; directory.
+   (invoke "tar" "--transform" (string-append "s,[^/]*," #$name 
",")
+   "-xf" #$icecat-source)
+   (chdir #$name)
+
+   ;; Merge the Thunderdbird localization data.
+   (copy-recursively #$thunderbird-comm-l10n "l10n")
+
+   ;; Add the Thunderbird-specific "comm" directory..
+   (mkdir "comm")
+   (copy-recursively #$thunderbird-comm-source "comm")
+   (delete-file "sourcestamp.txt")
+
+   ;; Adjust the application name.
+   (substitute* "comm/mail/confvars.sh"
+ (("MOZ_APP_NAME=thunderbird")
+  "MOZ_APP_NAME=icedove")
+ (("MOZ_UPDATER=1")
+  "MOZ_UPDATER=0"))
+
+   ;; Remove branding to comply with Mozilla's trademark policy
+   (with-directory-excursion "comm/mail/branding/nightly"
+ (delete-file "content/about-wordmark.svg")
+ (call-with-output-file "content/about-wordmark.svg"
+   (lambda (port)
+ (sxml->xml '(svg (@ (xmlns "http://www.w3.org/2000/svg;)
+ (viewBox "0 0 789.1 90.78")
+ (width "333")
+ (height "48")
+ (fill 

bug#32026: [PATCH v4 7/9] gnu: icedove: Use the locale of the system.

2023-02-19 Thread Maxim Cournoyer
* gnu/packages/gnuzilla.scm (icedove-source): Set the intl.locale.requested
option to the empty string.
---

(no changes since v1)

 gnu/packages/gnuzilla.scm | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ab2065054a..f12b1fd64d 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1281,7 +1281,12 @@ (define icedove-source
  ;; system global application directory, such as the language
  ;; packs.
  (("\"extensions.autoDisableScopes\", 15")
-  "\"extensions.autoDisableScopes\", 3"))
+  "\"extensions.autoDisableScopes\", 3")
+
+ ;; Set the default locale to that of the operating system.
+ ((".*extensions.autoDisableScopes.*" anchor)
+  (string-append anchor
+ "pref(\"intl.locale.requested\", \"\");\n")))
 
;; Step out of the directory and create the tarball.
(chdir "..")
-- 
2.39.1






bug#32026: [PATCH v4 8/9] gnu: icecat: Remove gtk+-2 input.

2023-02-19 Thread Maxim Cournoyer
* gnu/packages/gnuzilla.scm (icecat-minimal) [inputs]: Remove gtk+-2.

---

(no changes since v2)

Changes in v2:
- New commit

 gnu/packages/gnuzilla.scm | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index f12b1fd64d..daffc97771 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -685,7 +685,6 @@ (define-public icecat-minimal
gdk-pixbuf
glib
gtk+
-   gtk+-2
;; UNBUNDLE-ME! graphite2
cairo
pango
-- 
2.39.1






bug#32026: [PATCH v4 4/9] gnu: Add icecat-l10n and icedove-l10n.

2023-02-19 Thread Maxim Cournoyer
* gnu/packages/gnuzilla.scm (%icecat-locales, %icedove-locales): New variable.
(make-l10n-package): New procedure.
(icecat-l10n, icedove-l10n): New variables.
---

(no changes since v1)

 gnu/packages/gnuzilla.scm | 143 +-
 1 file changed, 142 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index bb379a7fb1..01fc974805 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2020, 2022 Marius Bakke 
 ;;; Copyright © 2021 Brice Waegeneire 
 ;;; Copyright © 2021 Maxime Devos 
-;;; Copyright © 2021, 2022 Maxim Cournoyer 
+;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer 
 ;;; Copyright © 2021 Baptiste Strazzul 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -1115,6 +1115,16 @@ (define (runpaths-of-input label)
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))
 
+(define %icecat-locales
+  '("ach" "af" "an" "ar" "ast" "az" "be" "bg" "bn" "br" "bs" "ca" "cak"
+"ca-valencia" "cs" "cy" "da" "de" "dsb" "el" "en-CA" "en-GB" "eo" "es-AR"
+"es-CL" "es-ES" "es-MX" "et" "eu" "fa" "ff" "fi" "fr" "fy-NL" "ga-IE" "gd"
+"gl" "gn" "gu-IN" "he" "hi-IN" "hr" "hsb" "hu" "hy-AM" "ia" "id" "is" "it"
+"ja" "ja-JP-mac" "ka" "kab" "kk" "km" "kn" "ko" "lij" "lt" "lv" "mk" "mr" 
"ms"
+"my" "nb-NO" "ne-NP" "nl" "nn-NO" "oc" "pa-IN" "pl" "pt-BR" "pt-PT" "rm" 
"ro"
+"ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl"
+"tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW"))
+
 (define %icedove-build-id "2023020700") ;must be of the form MMDDhhmmss
 (define %icedove-version "102.7.2")
 
@@ -1139,6 +1149,15 @@ (define (comm-source->locales+changeset source)
 (((_ changeset locale) ...)
  (values locale (first changeset)
 
+;;; Generated with comm-source->locales+changeset.
+(define %icedove-locales
+  '("af" "ar" "ast" "be" "bg" "br" "ca" "cak" "cs" "cy" "da" "de" "dsb" "el"
+"en-CA" "en-GB" "es-AR" "es-ES" "es-MX" "et" "eu" "fi" "fr" "fy-NL" "ga-IE"
+"gd" "gl" "he" "hr" "hsb" "hu" "hy-AM" "id" "is" "it" "ja" "ja-JP-mac" "ka"
+"kab" "kk" "ko" "lt" "lv" "ms" "nb-NO" "nl" "nn-NO" "pa-IN" "pl" "pt-BR"
+"pt-PT" "rm" "ro" "ru" "sk" "sl" "sq" "sr" "sv-SE" "th" "tr" "uk" "uz" "vi"
+"zh-CN" "zh-TW"))
+
 ;;; To find out which changeset to use for the comm-l10n repo, use the
 ;;; 'comm-source->locales+changeset' procedure on the thunderbird-comm-source
 ;;; checkout directory.  The complete localization data should be released as
@@ -1547,6 +1566,128 @@ (define-public icedove/wayland
 (native-inputs '())
 (inputs '(
 
+(define (make-l10n-package project version source locales)
+  "Return a package for PROJECT, a symbol (either icecat or icedove), with
+their corresponding VERSION, SOURCE and LOCALES variables."
+  (unless (member project '(icecat icedove))
+(error "only icecat or icedove components are currently supported"))
+
+  (let ((name (if (eq? 'icecat project)
+  "IceCat"
+  "Icedove")))
+(package
+  (name (format #f "~a-l10n" project))
+  (version version)
+  (source source)
+  (outputs (cons "out" locales))
+  (build-system gnu-build-system)
+  (arguments
+   (list
+#:modules '((guix build gnu-build-system)
+(guix build utils)
+(ice-9 format)
+(ice-9 ftw)
+(srfi srfi-1)
+(srfi srfi-26))
+#:tests? #f ;no tests, this is data
+#:phases
+#~(modify-phases %standard-phases
+(delete 'bootstrap)
+(delete 'install)
+(replace 'configure
+  (lambda _
+;; The following configuration is inspired by guidance at
+;; 
https://firefox-source-docs.mozilla.org/build/buildsystem/locales.html.
+(call-with-output-file ".mozconfig"
+  (lambda (p)
+(format p "~{~a~%~}"
+(list (if (eq? 'icecat '#$project)
+  "ac_add_options --enable-project=browser"
+  "ac_add_options 
--enable-project=comm/mail")
+  "ac_add_options 
--disable-compile-environment"
+  (string-append
+   "ac_add_options --with-l10n-base="
+   (getcwd) "/l10n")
+  ;; Hack, otherwise the build system throws:
+  ;; 'RuntimeError: File "brand.dtd" not 
found'.
+  "ac_add_options --enable-official-branding"
+  "mk_add_options MOZ_OBJDIR=obj"
+(setenv "CONFIG_SHELL" (which "bash"))
+(setenv 

bug#32026: [PATCH v4 1/9] gnu: Add a 'update-mozilla-locales' helper for maintenance.

2023-02-19 Thread Maxim Cournoyer
* gnu/packages/gnuzilla.scm (update-mozilla-locales): New procedure.
(all-mozilla-locales): Comment how to proceed to update it.

---

Changes in v4:
- Strip useful comments, in the name of non-free source obfuscation

 gnu/packages/gnuzilla.scm | 20 +++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index b2e0870fea..16e2208426 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -37,6 +37,7 @@
 
 (define-module (gnu packages gnuzilla)
   #:use-module ((srfi srfi-1) #:hide (zip))
+  #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:use-module (gnu packages)
   #:use-module ((guix licenses) #:prefix license:)
@@ -91,7 +92,8 @@ (define-module (gnu packages gnuzilla)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages readline)
-  #:use-module (gnu packages sqlite))
+  #:use-module (gnu packages sqlite)
+  #:autoload (json parser) (json->scm))
 
 (define-public mozjs
   (package
@@ -348,6 +350,10 @@ (define-public mozjs-78
 (inputs
  (list icu4c readline zlib
 
+
+;;;
+;;; Localization helper procedures.
+;;;
 (define mozilla-compare-locales
   (origin
 (method hg-fetch)
@@ -371,6 +377,18 @@ (define-syntax-rule (mozilla-locales (hash-string 
changeset locale) ...)
   (list (mozilla-locale locale changeset hash-string)
 ...))
 
+(define (update-mozilla-locales changesets.json)
+  "Output a new list of Mozilla locales, to update the ALL-MOZILLA-LOCALES
+variable defined bellow.  It requires guile-json to be installed."
+  (match (call-with-input-file changesets.json json->scm)
+(((lang ("revision" . revision) platforms pin) ...)
+ (let ((data (reverse (map (lambda (rev lang)
+ `(,(list->string (make-list 40 #\0))
+   ,(string-take rev 12) ,lang))
+   revision lang
+   (format #t "~{~s~%~}" data)
+   data
+
 (define all-mozilla-locales
   (mozilla-locales
;;  sha256changeset
locale

base-commit: 636b771536b95d15a2fd68b468deeebac97d6bee
-- 
2.39.1






bug#32026: [PATCH 03/10] gnu: Define UPSTREAM-FIREFOX-SOURCE at the top level.

2023-02-19 Thread Maxim Cournoyer
Hello,

Mark H Weaver  writes:

> Hi Maxim,
>
> Maxim Cournoyer  writes:
>
>> Mark H Weaver  writes:
>>
>>> Maxim Cournoyer  writes:
>>>
 * gnu/packages/gnuzilla.scm (%icecat-base-version): New variable.
 (%upstream-firefox-version): Likewise.
 (%icecat-version): Define in terms of %icecat-base-version.
 (upstream-firefox-source): New variable.
 (icecat-source): Adjust to use the above newly introduced variables.
>>>
>>> I'm deeply uncomfortable binding toplevel variables, even unexported
>>> ones, that provide non-FSDG-complaint software.  I guess that the
>>> primary motivation for this commit was to make it easier to use the
>>> 'update-mozilla-locales' helper.
>>
>> While I appreciate your concern, I think "hiding" the upstream source
>> would be akin to putting our head in the sand.  We do need that upstream
>> source to produce GNU IceCat from source, so it may as well be
>> convenient to handle while hacking on the GNU IceCat package.  As you've
>> noted, it isn't exported, so I think it'd be a stretch to say that this
>> private binding "steers" users toward non-FSDG software.  Note that we
>> also have a %upstream-linux-source procedure in (gnu packages linux).
>
> The '%upstream-linux-source' procedure was not easily avoidable, and
> it's not at all convenient to use because it requires passing in the
> nix-formatted hash.
>
> In contrast, the argument for adding 'unstream-firefox-source' as a
> toplevel binding is a very slender thread, and it would immediately
> enable users to type commands like:
>
>   guix build -e '(@@ (gnu packages gnuzilla) upstream-firefox-source)'

> At which point Guix would dutifully provide non-FSDG-compliant software
> to the user.
>
> Moreover, in another of your proposed commits ("gnu: Add a
> 'update-mozilla-locales' helper for maintenance"), in a comment, you
> literally steer the user to download the Firefox source and provide the
> precise command to do it.
>
> This is a slippery slope.  It is not the role of core Guix to facilitate
> downloading Firefox source code for purposes of IceCat development.
> That is the domain of the IceCat project itself.

We're already on a slippery slope for fetching the non-free source
ourselves to process them, but I'd argue that this doesn't steer users
toward non-free software, but rather empowers them to free the original
source of the software they use.

In an ideal GNU FSDG world put forward by some proponents, we'd not even
let users' machine fetch the non-free source and instead host it
somewhere else, ready to be used.

> I feel very strongly about this.

I don't really see how "obsfuscating" the non-free source we process
makes it much different, or how having an easier access to that non-free
source from the CLI would steer users toward "using" non-free software.
A source is not a usable (executable) form.

But anyway, with that opinion of mine expressed, I've reverted the
offending bits so that we can move on, knowing that once we get the
strings_all.tar.zst locales data planned in future releases, it won't
matter much anyway.

See the result in v4.

-- 
Thanks,
Maxim





bug#32026: [PATCH v3 04/11] gnu: icecat: Make language packs reproducible.

2023-02-19 Thread Maxim Cournoyer
Hi Mark,

Mark H Weaver  writes:

> Hi Maxim,
>
> Maxim Cournoyer  writes:
>> * gnu/packages/patches/icecat-reproducible-langpacks.patch: New file.
>> * gnu/local.mk (dist_patch_DATA): Register. it.
>> * gnu/packages/gnuzilla.scm (icecat-source): Apply it.
>
> Instead of adding this patch in Guix, let's make the change in upstream
> IceCat.
>
> Among other things, adding a 'patches' field to 'icecat-source' has the
> unfortunate consequence of forcing an additional 'patch-and-repack'
> phase during the build, which unpacks the entire multigigabyte source
> code, applies the patch, and repacks it all again.
>
> Would you like to submit a commit to the gnuzilla repo that simply adds
> the 'icecat-reproducible-langpacks.patch' file to the data/patches/
> directory?  I guess the file names in the patch also need a component
> added to the front (e.g. "a/" and "b/").
>
> If you don't want to do it, I'll do it.  In any case, it should be
> removed from this series of commits for Guix.

Done!  The issue number of the patch sent is: #61633

I tested it with this:

--8<---cut here---start->8---
modified   gnu/packages/gnuzilla.scm
@@ -43,6 +43,7 @@ (define-module (gnu packages gnuzilla)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git)
   #:use-module (guix git-download)
   #:use-module (guix hg-download)
   #:use-module (guix gexp)
@@ -523,19 +524,22 @@ (define icecat-source
  ;; The upstream-icecat-base-version may be older than the
  ;; %icecat-base-version.
  (upstream-icecat-base-version "102.8.0")
- (gnuzilla-commit "03d9e3db5affe21db077c410ec08c313d6aa280e")
+ (gnuzilla-commit "fffdd8891c641a9f84a298c0a5ea42f75caec203")
  (gnuzilla-source
-  (origin
-(method git-fetch)
-(uri (git-reference
-  (url "git://git.savannah.gnu.org/gnuzilla.git")
-  (commit gnuzilla-commit)))
-(file-name (git-file-name "gnuzilla"
-  ;;upstream-icecat-base-version
-  (string-take gnuzilla-commit 8)))
-(sha256
- (base32
-  "12id87nsdwm6kra0gm3d3ww8kr0xxb4yllw9wcqmnrlnmspdc1n8"
+  (git-checkout
+   (url "file:///home/maxim/src/gnuzilla")
+   (commit gnuzilla-commit))
+  ;; (method git-fetch)
+  ;; (uri (git-reference
+  ;;   (url "file:///home/maxim/src/gnuzilla")
+  ;;   (commit gnuzilla-commit)))
+  ;; (file-name (git-file-name "gnuzilla"
+  ;;   ;;upstream-icecat-base-version
+  ;;   (string-take gnuzilla-commit 8)))
+  ;; (sha256
+  ;;  (base32
+  ;;   "12id87nsdwm6kra0gm3d3ww8kr0xxb4yllw9wcqmnrlnmspdc1n8"))
+  )
--8<---cut here---end--->8---

-- 
Thanks,
Maxim





bug#61627: Cannot start a container built with `guix system container --network'.

2023-02-19 Thread Pierre Langlois

Pierre Langlois  writes:

> [[PGP Signed Part:Undecided]]
> Hi Guix!
>
> There seems to be a bug with the --network flag to `guix system
> container', if we try to use docker-image.tmpl as an example we get the
> following failure:
>
> $ sudo `guix system container -v3 --network 
> gnu/system/examples/docker-image.tmpl`
> Password:
> system container is running as PID 17630
> WARNING: (guile-user): imported module (guix build utils) overrides core 
> binding `delete'
> Run 'sudo guix container exec 17630 /run/current-system/profile/bin/bash 
> --login'
> or run 'sudo nsenter -a -t 17630' to get a shell into it.
>
> WARNING: (guile-user): imported module (guix build utils) overrides core 
> binding `delete'
> making '/gnu/store/2w0c609is7iilv6r2l1vrchb9qsbfgkp-system' the current 
> system...
> WARNING: (guile-user): imported module (guix build utils) overrides core 
> binding `delete'
> setting up setuid programs in '/run/setuid-programs'...
> populating /etc from /gnu/store/ywsdjyq161a2clhvz6kx5m4ppz5ziqp1-etc...
> Backtrace:
>   11 (primitive-load "/gnu/store/5wdqg0jpiw1zd9pn13wmzy3f85g…")
> In gnu/build/linux-container.scm:
> 300:8 10 (call-with-temporary-directory #)
>397:16  9 (_ "/tmp/guix-directory.KgjoQ6")
>  62:6  8 (call-with-clean-exit #)
> In unknown file:
>7 (primitive-load "/gnu/store/2w0c609is7iilv6r2l1vrchb9qs…")
> In ice-9/eval.scm:
> 619:8  6 (_ #f)
> In unknown file:
>5 (primitive-load "/gnu/store/xfd58fw9x65n7wr5kw2gnciszkl…")
> In srfi/srfi-1.scm:
> 634:9  4 (for-each # _)
> In unknown file:
>3 (primitive-load "/gnu/store/3gwb0jydx90f61a6kizawsjdi6h…")
> In srfi/srfi-1.scm:
> 634:9  2 (for-each # …)
> In gnu/build/activation.scm:
>268:20  1 (_ "hosts")
> In unknown file:
>0 (copy-file "/etc/static/hosts" "/etc/hosts")
>
> ERROR: In procedure copy-file:
> In procedure copy-file: Read-only file system
>
>
> Doing a git bisect, the problem started with this commit it seems:
> 802ea1f3a43e5fb8d0b8bd2882954d8a6e49cde6
>
> system: Deprecate hosts-file.
>
> * gnu/system.scm (operating-system-hosts-file): Deprecate procedure.
> (warn-hosts-file-field-deprecation): New procedure, helper for
> deprecated variable.
> (operating-system)[hosts-file]: Use helper to warn deprecated field.
> (local-host-aliases): Mark as deprecated.
> (local-host-entries): New procedure.
> (operating-system-default-essential-services,
> hurd-default-essential-services): Use hosts-service-type.  Use
> '%operating-system-hosts-file' and 'local-host-entries'.
> (default-/etc/hosts): Remove procedure.
> (operating-system-etc-service): Remove hosts file.
> * doc/guix.texi (operating-system Reference)
> (Networking Services) (Virtualization Services): Rewrite documentation
> entries to use hosts-service-type.

Digging into the container script code, I think the reason is that when
sharing the network, it's supposed to remove any network-related
services from the containerized operating system. And it's not aware of
the new hosts-service-type. The following diff seems to fix the issue:

--8<---cut here---start->8---
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index c2fd55d48e..9190d013bc 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -49,9 +49,12 @@ (define* (container-essential-services os #:key 
shared-network?)
   (define base
 (remove (lambda (service)
   (memq (service-kind service)
-(list (service-kind %linux-bare-metal-service)
-  firmware-service-type
-  system-service-type)))
+(cons* (service-kind %linux-bare-metal-service)
+   firmware-service-type
+   system-service-type
+   (if shared-network?
+   (list hosts-service-type)
+   '()
 (operating-system-default-essential-services os)))

   (cons (service system-service-type
--8<---cut here---end--->8---

I wonder if this is a full fix though, I see that we also remove network
related configuration files, using `%network-configuration-files', and I
wonder if "/etc/hosts" is still supposed to be there?

--8<---cut here---start->8---
(define %network-configuration-files
  ;; List of essential network configuration files.
  '("/etc/resolv.conf"
"/etc/nsswitch.conf"
"/etc/services"
"/etc/hosts"))
--8<---cut here---end--->8---


signature.asc
Description: PGP signature


bug#61628: Graphical installer: network check not working if date is wrong

2023-02-19 Thread Denis 'GNUtoo' Carikli
Hi,

With an old date, the network isn't detected in the graphical installer.

I'm unsure if it's related to bug 35630[1] or not though.

Running date by hand to set an approximate date and retrying to detect
the network makes it work.

References:
---
[1]https://issues.guix.gnu.org/35630

Denis.


pgpsTIYJucFWX.pgp
Description: OpenPGP digital signature


bug#61627: Cannot start a container built with `guix system container --network'.

2023-02-19 Thread Pierre Langlois
Hi Guix!

There seems to be a bug with the --network flag to `guix system
container', if we try to use docker-image.tmpl as an example we get the
following failure:

--8<---cut here---start->8---
$ sudo `guix system container -v3 --network 
gnu/system/examples/docker-image.tmpl`
Password:
system container is running as PID 17630
WARNING: (guile-user): imported module (guix build utils) overrides core 
binding `delete'
Run 'sudo guix container exec 17630 /run/current-system/profile/bin/bash 
--login'
or run 'sudo nsenter -a -t 17630' to get a shell into it.

WARNING: (guile-user): imported module (guix build utils) overrides core 
binding `delete'
making '/gnu/store/2w0c609is7iilv6r2l1vrchb9qsbfgkp-system' the current 
system...
WARNING: (guile-user): imported module (guix build utils) overrides core 
binding `delete'
setting up setuid programs in '/run/setuid-programs'...
populating /etc from /gnu/store/ywsdjyq161a2clhvz6kx5m4ppz5ziqp1-etc...
Backtrace:
  11 (primitive-load "/gnu/store/5wdqg0jpiw1zd9pn13wmzy3f85g…")
In gnu/build/linux-container.scm:
300:8 10 (call-with-temporary-directory #)
   397:16  9 (_ "/tmp/guix-directory.KgjoQ6")
 62:6  8 (call-with-clean-exit #)
In unknown file:
   7 (primitive-load "/gnu/store/2w0c609is7iilv6r2l1vrchb9qs…")
In ice-9/eval.scm:
619:8  6 (_ #f)
In unknown file:
   5 (primitive-load "/gnu/store/xfd58fw9x65n7wr5kw2gnciszkl…")
In srfi/srfi-1.scm:
634:9  4 (for-each # _)
In unknown file:
   3 (primitive-load "/gnu/store/3gwb0jydx90f61a6kizawsjdi6h…")
In srfi/srfi-1.scm:
634:9  2 (for-each # …)
In gnu/build/activation.scm:
   268:20  1 (_ "hosts")
In unknown file:
   0 (copy-file "/etc/static/hosts" "/etc/hosts")

ERROR: In procedure copy-file:
In procedure copy-file: Read-only file system
--8<---cut here---end--->8---

Doing a git bisect, the problem started with this commit it seems:
802ea1f3a43e5fb8d0b8bd2882954d8a6e49cde6

--8<---cut here---start->8---
system: Deprecate hosts-file.

* gnu/system.scm (operating-system-hosts-file): Deprecate procedure.
(warn-hosts-file-field-deprecation): New procedure, helper for
deprecated variable.
(operating-system)[hosts-file]: Use helper to warn deprecated field.
(local-host-aliases): Mark as deprecated.
(local-host-entries): New procedure.
(operating-system-default-essential-services,
hurd-default-essential-services): Use hosts-service-type.  Use
'%operating-system-hosts-file' and 'local-host-entries'.
(default-/etc/hosts): Remove procedure.
(operating-system-etc-service): Remove hosts file.
* doc/guix.texi (operating-system Reference)
(Networking Services) (Virtualization Services): Rewrite documentation
entries to use hosts-service-type.
--8<---cut here---end--->8---

Thanks!
Pierre


signature.asc
Description: PGP signature


bug#61570: [PATCH] services: mpd: Use proper records.

2023-02-19 Thread Bruno Victal
Hi Maxim, Liliana

On 2023-02-18 17:42, Liliana Marie Prikler wrote:> This patch fixes the issue 
of not being able to insert actual users and
> groups into MPD service.  Sadly, as define-configuration lacks proper
> support for sanitizers, it's a backwards-incompatible change.
> Perhaps it makes sense to extend define-configuration to support this
> case?

I'd like to ask to hold merging this patch yet. I've got a few additional 
patches that addresses
some usability issues and IMO we can get a nicer patch by fixing 
define-configuration directly (whilst preserving API compatibility).
My intention is to patch define-configuration to accept a custom-sanitizer if 
specified.


Cheers,
Bruno





bug#61625: Package download speed calculation, spurious results?

2023-02-19 Thread francismb

Dear Maintainers team,
I've notice that the package download speed (is that the measure?),
seems to have some special edges/cases giving IMHO not realistic values,
see for e.g. the value calculated for 'graphviz' on my current
(~2023.02.19T12:00UTC) pull and upgrade iteration:

guix pull && guix upgrade
Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 57495d0 (286 new
commits)...
Building from this channel:
  guix  https://git.savannah.gnu.org/git/guix.git   57495d0
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
 config.scm  501B
   19KiB/s 00:00 [##] 100.0%
 git.scm  101B
   64KiB/s 00:00 [##] 100.0%
 hash.scm  132B
   13KiB/s 00:00 [##] 100.0%
 module-import  2KiB
  367KiB/s 00:00 [##] 100.0%
 module-import  2KiB
  316KiB/s 00:00 [##] 100.0%
 module-import-compiled  1.2MiB
  5.3MiB/s 00:00 [##] 100.0%
 module-import-compiled  1.2MiB
  6.0MiB/s 00:00 [##] 100.0%
building
/gnu/store/h3lx1r3canrrfy2km329bzqdhq1l6bz2-compute-guix-derivation.drv...
 graphviz-2.49.0-doc  2.0MiB
 6.33GiB/s 00:00 [##] 100.0%
 dbus-1.12.20  266KiB
412.0MiB/s 00:00 [##] 100.0%
 fribidi-1.0.9  71KiB
175.0MiB/s 00:00 [##] 100.0%
 avahi-0.8  349KiB
  1.8MiB/s 00:00 [##] 100.0%
 gd-2.3.2  124KiB
  376KiB/s 00:00 [##] 100.0%
 gettext-minimal-0.21  3.4MiB
  8.2MiB/s 00:00 [##] 100.0%
 gnutls-3.7.7  1.6MiB
 4.97GiB/s 00:00 [##] 100.0%
 gettext-minimal-0.21-doc  1.0MiB
  5.5MiB/s 00:00 [##] 100.0%
 graphite2-1.3.13  90KiB
  875KiB/s 00:00 [##] 100.0%
 gts-0.7.6  273KiB
  1.8MiB/s 00:00 [##] 100.0%
 guile-avahi-0.4.1  57KiB
  323KiB/s 00:00 [##] 100.0%
 guile-git-0.5.2  416KiB
  2.9MiB/s 00:00 [##] 100.0%
 guile-gnutls-3.7.11  98KiB
  642KiB/s 00:00 [##] 100.0%
 guix-daemon-1.4.0-3.d5fece6  260KiB
  820KiB/s 00:00 [##] 100.0%
 icu4c-69.1  9.1MiB
  7.0MiB/s 00:01 [##] 100.0%
 libdatrie-0.2.13  38KiB
  200KiB/s 00:00 [##] 100.0%
 harfbuzz-2.8.2  813KiB
  5.7MiB/s 00:00 [##] 100.0%
 libice-1.0.10  72KiB
  519KiB/s 00:00 [##] 100.0%
 libssh-0.9.6  236KiB
  2.1MiB/s 00:00 [##] 100.0%
 libsm-1.2.3  41KiB
  282KiB/s 00:00 [##] 100.0%
 guile-ssh-0.16.3  217KiB
  1.4MiB/s 00:00 [##] 100.0%
 libthai-0.1.28  162KiB
  1.1MiB/s 00:00 [##] 100.0%
 guile-ssh-0.16.3-debug  223KiB
  1.3MiB/s 00:00 [##] 100.0%
 libxext-1.3.4  33KiB
  227KiB/s 00:00 [##] 100.0%
 libxt-1.2.1  181KiB
  713KiB/s 00:00 [##] 100.0%
 perl-gettext-1.07  11KiB
  142KiB/s 00:00 [##] 100.0%
 libxmu-1.1.3  68KiB
  519KiB/s 00:00 [##] 100.0%
 libxpm-3.5.13  50KiB
  350KiB/s 00:00 [##] 100.0%
 perl-pod-parser-1.65  75KiB
  456KiB/s 00:00 [##] 100.0%
 libxaw-1.0.14  322KiB
  1.0MiB/s 00:00 [##] 100.0%
 perl-sgmls-1.1  33KiB
  529KiB/s 00:00 [##] 100.0%
 perl-syntax-keyword-try-0.28  29KiB
  244KiB/s 00:00 [##] 100.0%
 perl-text-wrapi18n-0.06  5KiB
   32KiB/s 00:00 [##] 100.0%
 perl-unicode-linebreak-2019.001  105KiB
  853KiB/s 00:00 [##] 100.0%
 perl-xs-parse-keyword-0.06  32KiB
  242KiB/s 00:00 [##] 100.0%