all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#64399] [PATCH] installer: Restore LatGrkCyr-8x16 console font depending on language.
@ 2023-07-01 13:19 Denys Nykula
  2023-07-01 17:03 ` pelzflorian (Florian Pelz)
  2023-07-01 20:48 ` [bug#64399] [PATCH v2] " Denys Nykula
  0 siblings, 2 replies; 6+ messages in thread
From: Denys Nykula @ 2023-07-01 13:19 UTC (permalink / raw)
  To: 64399; +Cc: Denys Nykula

Partially-Fixes: <https://issues.guix.gnu.org/64006>

* gnu/installer/services.scm (system-services->configuration): When the
LANGUAGE environment variable matches a known native console font, wrap the
%desktop-services or %base-services with modify-services, configuring
console-font-service-type to set the native console font on every tty instead
of the default console font.
---
This makes console messages, such as errors and help texts, readable (like they
were in Guix System 1.4.0) if the user chooses the Belarusian, Bulgarian,
Greek, Esperanto, Kazakh, Kyrgyz, Macedonian, Mongolian, Russian, Serbian,
Tajik or Ukrainian language at the beginning of a new installation.  For other
languages, this keeps the default font, which is Unifont-APL8x16 in the latest
development snapshots.  Thanks to Florian Pelz and Josselin Poiret for tips
about editing the installer and testing it using a virtual machine.

 gnu/installer/services.scm | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index d08bab47fd..fb66f2248c 100644
--- a/gnu/installer/services.scm
+++ b/gnu/installer/services.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2023 Denys Nykula <vegan@libre.net.ua>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@
 (define-module (gnu installer services)
   #:use-module (guix records)
   #:use-module (guix read-print)
+  #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
   #:export (system-service?
             system-service-name
@@ -156,9 +158,22 @@ (define (system-services->configuration services)
   (let* ((snippets (append-map system-service-snippet services))
          (packages (append-map system-service-packages services))
          (desktop? (find desktop-system-service? services))
-         (base     (if desktop?
-                       '%desktop-services
-                       '%base-services))
+         (base-with-default-console-font (if desktop?
+					     '%desktop-services
+					     '%base-services))
+	 (native-console-font (match (getenv "LANGUAGE")
+				((or "be" "bg" "el" "eo" "kk" "ky"
+				     "mk" "mn" "ru" "sr" "tg" "uk")
+				 "LatGrkCyr-8x16.psfu.gz")
+				(_ #f)))
+	 (base (if native-console-font
+		   `(modify-services
+		     ,base-with-default-console-font
+		     (console-font-service-type
+		      config => (map (lambda (tty)
+				       (cons (car tty) ,native-console-font))
+				     config)))
+		   base-with-default-console-font))
          (service-heading (list (vertical-space 1)
                                 (comment (G_ "\
 ;; Below is the list of system services.  To search for available

base-commit: b24a05830d11e3011eee4bc5f60a41e26188cde1
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#64399] [PATCH] installer: Restore LatGrkCyr-8x16 console font depending on language.
  2023-07-01 13:19 [bug#64399] [PATCH] installer: Restore LatGrkCyr-8x16 console font depending on language Denys Nykula
@ 2023-07-01 17:03 ` pelzflorian (Florian Pelz)
  2023-07-01 20:48 ` [bug#64399] [PATCH v2] " Denys Nykula
  1 sibling, 0 replies; 6+ messages in thread
From: pelzflorian (Florian Pelz) @ 2023-07-01 17:03 UTC (permalink / raw)
  To: Denys Nykula; +Cc: 64399, Mathieu Othacehe, Josselin Poiret

Hello Denys,

this patch looks good mostly good to me, except in my opinion,
`base-with-default-console-font' should be called `base' and
what is called `base' in your patch should be called `services'.
Consequently within the `let' body, the services field then could be set
as (services ,services) instead of (services ,base).

The one who commits the patch can fix it, but perhaps you could also
indent properly and untabify your change and then resend a v2 of the
patch?  In the manual’s Contributing section, the recommended way is to
use Emacs for automatic formatting, where you can press the tab key for
automatic indentation.

I have not tested yet.

I put the installer team in Cc.  If noone disagrees, I will make the
above changes, test, and commit this patch next weekend.

Regards,
Florian




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#64399] [PATCH v2] installer: Restore LatGrkCyr-8x16 console font depending on language.
  2023-07-01 13:19 [bug#64399] [PATCH] installer: Restore LatGrkCyr-8x16 console font depending on language Denys Nykula
  2023-07-01 17:03 ` pelzflorian (Florian Pelz)
@ 2023-07-01 20:48 ` Denys Nykula
  2023-07-05 19:55   ` pelzflorian (Florian Pelz)
  1 sibling, 1 reply; 6+ messages in thread
From: Denys Nykula @ 2023-07-01 20:48 UTC (permalink / raw)
  To: 64399; +Cc: Denys Nykula

Partially-Fixes: <https://issues.guix.gnu.org/64006>

* gnu/installer/services.scm (system-services->configuration): When the
LANGUAGE environment variable matches a known native console font, wrap the
base services with modify-services, configuring console-font-service-type to
set the native console font on every tty instead of the default console font.
---
Untabified version 2 with suggested naming changes.  Version 1 was in fact
written in Emacs and formatted using the tab key, but I was editing remotely
and hadn't customized enable-remote-dir-locals, so .dir-locals.el
wasn't applied.

 gnu/installer/services.scm | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index d08bab47fd..a0ac2f35d3 100644
--- a/gnu/installer/services.scm
+++ b/gnu/installer/services.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2023 Denys Nykula <vegan@libre.net.ua>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@
 (define-module (gnu installer services)
   #:use-module (guix records)
   #:use-module (guix read-print)
+  #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
   #:export (system-service?
             system-service-name
@@ -159,6 +161,19 @@ (define (system-services->configuration services)
          (base     (if desktop?
                        '%desktop-services
                        '%base-services))
+         (native-console-font (match (getenv "LANGUAGE")
+                                ((or "be" "bg" "el" "eo" "kk" "ky"
+                                     "mk" "mn" "ru" "sr" "tg" "uk")
+                                 "LatGrkCyr-8x16.psfu.gz")
+                                (_ #f)))
+         (services (if native-console-font
+                       `(modify-services ,base
+                          (console-font-service-type
+                           config => (map (lambda (tty)
+                                            (cons (car tty)
+                                                  ,native-console-font))
+                                          config)))
+                       base))
          (service-heading (list (vertical-space 1)
                                 (comment (G_ "\
 ;; Below is the list of system services.  To search for available
@@ -177,7 +192,7 @@ (define (system-services->configuration services)
                                     %base-packages))))
 
           ,@service-heading
-          (services ,base))
+          (services ,services))
         `(,@(if (null? packages)
                 '()
                 `(,@package-heading
@@ -199,4 +214,4 @@ (define (system-services->configuration services)
                             ,(comment (G_ "\
 ;; This is the default list of services we
 ;; are appending to.\n"))
-                            ,base))))))
+                            ,services))))))

base-commit: b24a05830d11e3011eee4bc5f60a41e26188cde1
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#64399] [PATCH v2] installer: Restore LatGrkCyr-8x16 console font depending on language.
  2023-07-01 20:48 ` [bug#64399] [PATCH v2] " Denys Nykula
@ 2023-07-05 19:55   ` pelzflorian (Florian Pelz)
  2023-07-06  8:56     ` Josselin Poiret via Guix-patches via
  0 siblings, 1 reply; 6+ messages in thread
From: pelzflorian (Florian Pelz) @ 2023-07-05 19:55 UTC (permalink / raw)
  To: Denys Nykula; +Cc: 64399

Pryvit Denys,

Denys Nykula <vegan@libre.net.ua> writes:
> +         (native-console-font (match (getenv "LANGUAGE")
> +                                ((or "be" "bg" "el" "eo" "kk" "ky"
> +                                     "mk" "mn" "ru" "sr" "tg" "uk")
> +                                 "LatGrkCyr-8x16.psfu.gz")

Works very well.  I prefer however to change this to just
"LatGrkCyr-8x16" which works too and is what’s used in the Guix manual’s
example for configuring console-font-service-type.

Will push on Friday.

Regards,
Florian




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#64399] [PATCH v2] installer: Restore LatGrkCyr-8x16 console font depending on language.
  2023-07-05 19:55   ` pelzflorian (Florian Pelz)
@ 2023-07-06  8:56     ` Josselin Poiret via Guix-patches via
  2023-07-06 14:27       ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 6+ messages in thread
From: Josselin Poiret via Guix-patches via @ 2023-07-06  8:56 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz), Denys Nykula; +Cc: 64399

[-- Attachment #1: Type: text/plain, Size: 711 bytes --]

Hi Florian,

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:

> Pryvit Denys,
>
> Denys Nykula <vegan@libre.net.ua> writes:
>> +         (native-console-font (match (getenv "LANGUAGE")
>> +                                ((or "be" "bg" "el" "eo" "kk" "ky"
>> +                                     "mk" "mn" "ru" "sr" "tg" "uk")
>> +                                 "LatGrkCyr-8x16.psfu.gz")
>
> Works very well.  I prefer however to change this to just
> "LatGrkCyr-8x16" which works too and is what’s used in the Guix manual’s
> example for configuring console-font-service-type.

Tested this as well, works quite nice!  Please go ahead :)

Best,
-- 
Josselin Poiret

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 682 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#64399] [PATCH v2] installer: Restore LatGrkCyr-8x16 console font depending on language.
  2023-07-06  8:56     ` Josselin Poiret via Guix-patches via
@ 2023-07-06 14:27       ` pelzflorian (Florian Pelz)
  0 siblings, 0 replies; 6+ messages in thread
From: pelzflorian (Florian Pelz) @ 2023-07-06 14:27 UTC (permalink / raw)
  To: Denys Nykula; +Cc: 64399, Josselin Poiret

Pushed as 961ffca1c75141cbb351d143b22b673638e9659d.

Great work. :)

Regards,
Florian




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-07-06 14:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-01 13:19 [bug#64399] [PATCH] installer: Restore LatGrkCyr-8x16 console font depending on language Denys Nykula
2023-07-01 17:03 ` pelzflorian (Florian Pelz)
2023-07-01 20:48 ` [bug#64399] [PATCH v2] " Denys Nykula
2023-07-05 19:55   ` pelzflorian (Florian Pelz)
2023-07-06  8:56     ` Josselin Poiret via Guix-patches via
2023-07-06 14:27       ` pelzflorian (Florian Pelz)

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.