Merge branch 'version-1.1.0'

This commit is contained in:
Ludovic Courtès 2020-04-15 16:09:18 +02:00
commit b4440de133
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
23 changed files with 36574 additions and 28883 deletions

View File

@ -662,11 +662,16 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-daemon \
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
# Name of the 'guix' package shipped in the binary tarball.
GUIX_FOR_BINARY_TARBALL = guile3.0-guix
# The self-contained tarball.
guix-binary.%.tar.xz:
$(AM_V_GEN)GUIX_PACKAGE_PATH= \
tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \
-s "$*" --localstatedir --profile-name=current-guix guix` ; \
--fallback \
-s "$*" --localstatedir --profile-name=current-guix \
$(GUIX_FOR_BINARY_TARBALL)` ; \
cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
@ -700,6 +705,16 @@ gen-AUTHORS:
"$(top_srcdir)" "$(distdir)/AUTHORS"; \
fi
# Like 'dist', but regenerate 'configure' so we get an up-to-date
# 'PACKAGE_VERSION' string. (In Gnulib, 'GNUmakefile' has a special trick to
# do that whenever a 'dist' target is used.)
dist-with-updated-version:
@echo "Running './bootstrap' for new version string..."
$(top_srcdir)/bootstrap
$(MAKE) $(AM_MAKEFLAGS) $(top_srcdir)/.version dist
.PHONY: dist-with-updated-version
#
# Release management.
@ -755,7 +770,7 @@ system_flags = $(foreach system,$(1),-s $(system))
#
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
release: dist
release: dist-with-updated-version
cd po; git checkout .
@if ! git diff-index --quiet HEAD; then \
echo "There are uncommitted changes; stopping." >&2 ; \
@ -769,9 +784,9 @@ release: dist
"`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)."
$(top_builddir)/pre-inst-env guix build guix \
$(top_builddir)/pre-inst-env guix build $(GUIX_FOR_BINARY_TARBALL) \
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
-v1 --no-grafts -K
-v1 --no-grafts --fallback
rm -f $(BINARY_TARBALLS)
$(MAKE) $(BINARY_TARBALLS)
for system in $(SUPPORTED_SYSTEMS) ; do \
@ -785,12 +800,12 @@ release: dist
git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS)) \
-v1 --no-grafts -K
-v1 --no-grafts --fallback
for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system disk-image \
--file-system-type=iso9660 \
--system=$$system \
--system=$$system --fallback \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produced Guix installation image for $$system" >&2 ; \
@ -803,7 +818,7 @@ release: dist
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
--system=$$system \
--system=$$system --fallback \
gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produced Guix VM image for $$system" >&2 ; \

146
NEWS
View File

@ -2,7 +2,7 @@
#+TITLE: Guix NEWS history of user-visible changes
#+STARTUP: content hidestars
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Copying and distribution of this file, with or without modification,
@ -11,6 +11,150 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.1.0 (since 1.0.1)
** Package management
*** New guix deploy command to deploy several machines at once
*** Channels can now provide news, viewed with guix pull --news
*** guix system reconfigure saves provenance data
*** New guix system describe command to view system provenance info
*** New /run/current-system/{channels,configuration}.scm files
*** New guix time-machine command
*** guix pack has a new --entry-point option
*** guix pack saves environment variables for docker and singularity
*** guix pack provides a meaningful repository name for docker
*** New --target option for guix system
*** --no-build-hook was renamed to --no-offload
*** --keep-failed now implies --no-offload
*** --dry-run no longer implies --no-grafts
*** guix import crate has a new --recursive option
*** guix import crate can import a specific package version
*** guix pull returns Guix on Guile 3.0
*** guix pull and --with-git-url can clone repositories over SSH
*** --with-commit now accepts tags
*** guix challenge has a new --diff option to show differences
*** guix weather has a new --display-missing option
*** Guix can now fetch lzip-compressed substitutes in addition to gzip
*** guix publish supports lzip compression via -C
*** guix lint -c archival queries Software Heritage
*** guix archive has a new -t option to list archive contents
*** guix describe and similar commands emit terminal hyperlinks
*** guix build now attempts to substitute missing .drv files
*** guix package etc. now lock the profile they operate on
*** guix pull honors /etc/guix/channels.scm when it exists
*** New guix show command, synonymous with guix package --show
*** The --manifest option can be repeated to combine manifests
*** Some commands previously lacking --load-path now support it
** Distribution
*** The set of pre-built bootstrap “binary seeds” has been halved
*** Graphical installer has better support for non-Latin keyboard layouts
*** Graphical installer allows users to choose an HTTP/HTTPS proxy
*** Graphical installer allows users to edit the system configuration
*** New kernel-loadable-modules field in operating-system
*** rottlog service is now part of %base-services
*** %base-services now includes /usr/bin/env as a “special file”
*** herd set-http-proxy guix-daemon URL can be used to set a proxy
*** qemu-binfmt service now supports riscv32 and riscv64
*** File system UUIDs and labels are now supported for JFS
*** New services
auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
knot-resolver, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
polkit-wheel, provenance, pulseaudio, sane, singularity, usb-modeswitch
*** 3514 new packages
*** 3368 package updates
Noteworthy updates:
bash 5.0.7, binutils 2.32, cups 2.3.1, emacs 26.3, enlightenment 0.23.1,
gcc-toolchain 9.3.0, gdb 9.1, ghc 8.6.5, gimp 2.10.18, glibc 2.29,
gnome 3.32.2, gnupg 2.2.20, go 1.13.9, guile 2.2.7,
icecat 68.7.0-guix0-preview1, icedtea 3.7.0, julia 1.3.1,
libreoffice 6.4.2.2, linux-libre 5.4.31, mate 1.24.0, ocaml 4.09.0,
octave 5.2.0, openjdk 12.33, perl 5.30.0, python2 2.7.16, python 3.7.4,
racket 7.6, rust 1.39.0, r 3.6.3, sbcl 2.0.3, shepherd 0.7.0, xfce 4.14.0,
xorg-server 1.20.7
** Programming interfaces
*** New build systems
copy-build-system, julia-build-system, node-build-system, qt-build-system
*** New with-build-handler and map/accumulate-builds in (guix store)
*** (guix gexp) has a new with-parameters form
*** New (guix remote) module for remote evaluation of gexps
*** New eval/container procedure in (gnu system linux-container)
*** (guix inferior) now reifies exceptions as &inferior-exception
*** (guix cve) uses the new NIST-provided JSON files instead of XML
*** New (guix json) module to map JSON objects to Scheme records
*** New (gnu installer tests) module to drive the graphical installer
*** New (guix diagnostics) module for consistent diagnostic messages
*** “Checkers” now live in (guix lint)
** Notewothy bug fixes
*** Grafts leads to inefficient substitute info retrieval
(<https://issues.guix.gnu.org/issue/22990>)
*** Grafting prevents build plan from being displayed upfront
(https://issues.guix.gnu.org/issue/28310)
*** Changing the HTTP/FTP proxy used by the daemon is inconvenient
(<https://issues.guix.gnu.org/issue/25569>)
*** guix system disk-image successfully builds a bad image
(<https://issues.guix.gnu.org/issue/34276>)
*** Installer cannot be restarted after a failed install
(<https://issues.guix.gnu.org/issue/35543>)
*** Null pointer error when partitioning with the graphical installer
(<https://issues.guix.gnu.org/issue/35858>)
*** 'guix upgrade' misdiagnoses upgrades in the presence of propagated inputs
(<https://issues.guix.gnu.org/issue/35872>)
*** mcron randomly stops running jobs
(<https://issues.guix.gnu.org/issue/37237>)
*** Mistaken warning "guix pull was never run"
(<https://issues.guix.gnu.org/issue/38196>)
*** `guix pack --format=squashfs` fails on CentOS7
(<https://issues.guix.gnu.org/issue/40043>)
*** installer: No way to input Latin characters with non-Latin keyboard layouts
(<https://issues.guix.gnu.org/issue/40273>)
*** installer: Always add '%base-initrd-modules' to 'initrd-modules'
(<https://issues.guix.gnu.org/issue/36099>)
*** [MATE] shutdown and reboot not possible from UI
(<https://issues.guix.gnu.org/issue/40327>)
*** 'guix-daemon' honors %localstatedir, %sysconfdir, and %storedir
(<https://issues.guix.gnu.org/issue/35874>)
*** Fix GUIX_LOCPATH quoting in guix-daemon.service (systemd)
(<https://issues.guix.gnu.org/issue/36074>)
*** Include USB_ModeSwitch in %desktop-services
(<https://issues.guix.gnu.org/issue/35640>)
*** linux-container: Mount a new /dev/pts instance in the container
(<https://issues.guix.gnu.org/issue/36463>)
*** system: Write the timezone to /etc/timezone
(<https://issues.guix.gnu.org/issue/35746>)
*** linux-modules: Define and use a module name database
(<https://issues.guix.gnu.org/issue/34902>)
*** pack: Create /tmp in Docker images
(<https://issues.guix.gnu.org/issue/37161>)
*** guix system: Reinstalling the bootloader preserves extra menu entries
(<https://issues.guix.gnu.org/issue/36876>)
*** system: Add 'mount' and 'umount' to '%setuid-programs'
(<https://issues.guix.gnu.org/issue/37569>)
*** linux-libre: Try to aggressively gather entropy during boot
(<https://issues.guix.gnu.org/issue/37501>)
*** daemon: Make 'profiles/per-user' non-world-writable
(<https://issues.guix.gnu.org/issue/37744>)
*** linux-boot: Don't ignore options when mounting root file system
(<https://issues.guix.gnu.org/issue/37977>)
*** Files produced by syslogd are no longer world-readable
(<https://issues.guix.gnu.org/issue/40405>)
** Native language support
*** Updated translations of the manual
The manual is fully translated into Spanish, more than 85% complete in French
and German, and has preliminary translations into Russian and Chinese.
*** Updated translations of messages
This version of Guix is fully translated in Brazilian Portuguese, French,
German, and Spanish, and partially translated in 10 other languages.
* Changes in 1.0.1 (since 1.0.0)
** Package management
*** The https_proxy environment variable is now honored

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -79,6 +79,14 @@ to 'make'."
(current-processor-count))))
(loop tail)))))))))
(define (parallel-job-count*)
;; XXX: Work around memory requirements not sustainable on i686 above '-j4'
;; or so: <https://bugs.gnu.org/40522>.
(let ((count (parallel-job-count)))
(if (string-prefix? "i686" %host-type)
(min count 4)
count)))
(define (% completed total)
"Return the completion percentage of COMPLETED over TOTAL as an integer."
(inexact->exact (round (* 100. (/ completed total)))))
@ -95,7 +103,7 @@ to 'make'."
(lambda ()
(compile-files srcdir (getcwd)
(filter file-needs-compilation? files)
#:workers (parallel-job-count)
#:workers (parallel-job-count*)
#:host host
#:report-load (lambda (file total completed)
(when file

View File

@ -23,6 +23,7 @@
(guix packages)
(guix profiles)
((gnu ci) #:select (%cross-targets))
((gnu services xorg) #:select (%default-xorg-modules))
(guix utils)
(srfi srfi-1)
(srfi srfi-26))
@ -49,16 +50,17 @@ TARGET."
(define %system-packages
;; Key packages proposed by the Guix System installer.
(map specification->package
'("xorg-server" "xfce" "gnome" "mate" "enlightenment"
"openbox" "awesome" "i3-wm" "ratpoison"
"xlockmore" "slock" "libreoffice"
"connman" "network-manager" "network-manager-applet"
"openssh" "ntp" "tor"
"linux-libre" "grub-hybrid"
;; FIXME: Add IceCat when Rust is available on i686.
;;"icecat"
)))
(append (map specification->package
'("xorg-server" "xfce" "gnome" "mate" "enlightenment"
"openbox" "awesome" "i3-wm" "ratpoison"
"xlockmore" "slock" "libreoffice"
"connman" "network-manager" "network-manager-applet"
"openssh" "ntp" "tor"
"linux-libre" "grub-hybrid"
;; FIXME: Add IceCat when Rust is available on i686.
;;"icecat"
))
%default-xorg-modules))
(define %packages-to-cross-build
;; Packages that must be cross-buildable from x86_64-linux.
@ -93,6 +95,13 @@ TARGET."
%base-packages))
%hydra-supported-systems)))
(define %system-manifest
(manifest
(append-map (lambda (system)
(map (cut package->manifest-entry* <> system)
%system-packages))
'("x86_64-linux" "i686-linux")))) ;Guix System
(define %cross-manifest
(manifest
(append-map (lambda (target)
@ -115,5 +124,6 @@ TARGET."
;; Return the union of all three manifests.
(concatenate-manifests (list %base-manifest
%system-manifest
%cross-manifest
%cross-bootstrap-manifest))

View File

@ -118,9 +118,8 @@ version of this file."
;; printed on the console.
(parameterize ((shepherd-message-port
(%make-void-port "w")))
(lambda ()
(stop-service 'term-tty2)
(start-service 'term-tty2 (list locale)))))))
(stop-service 'term-tty2)
(start-service 'term-tty2 (list locale))))))
(define* (compute-locale-step #:key
locales-name

View File

@ -932,6 +932,7 @@ dist_patch_DATA = \
%D%/packages/patches/gd-CVE-2019-6978.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/gdm-default-session.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-diff-swap-cover-args.patch \

View File

@ -6776,7 +6776,8 @@ libxml2.")
name "-" version ".tar.xz"))
(sha256
(base32
"12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
"12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))
(patches (search-patches "gdm-default-session.patch"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags

View File

@ -109,9 +109,9 @@
;; 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.0.1")
(commit "09844816c77caaa60f4149f99a34733966724627")
(revision 15))
(let ((version "1.1.0")
(commit "d62c9b2671be55ae0305bebfda17b595f33797f2")
(revision 0))
(package
(name "guix")
@ -127,7 +127,7 @@
(commit commit)))
(sha256
(base32
"1fciffls6cw9zz13vig5x37r73qxc0irzyh0caimciddlksvabf7"))
"0v76hb0pidfgvxa22gq6hqf5yc3m527gl7hpzykazgjh881g2vmy"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@ -0,0 +1,91 @@
This patch ensures '.desktop' files are picked up in the system profile
and not in the directories listed in $XDG_DATA_DIRS. The latter includes
'gnome-session.desktop', which should be used if it's in
/run/current-system/profile, and only then.
Fixes <https://bugs.gnu.org/37831>.
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 6a116a8..02c1458 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -348,24 +348,18 @@ get_system_session_dirs (GdmSession *self)
GArray *search_array = NULL;
char **search_dirs;
int i;
- const gchar * const *system_data_dirs = g_get_system_data_dirs ();
static const char *x_search_dirs[] = {
"/etc/X11/sessions/",
DMCONFDIR "/Sessions/",
DATADIR "/gdm/BuiltInSessions/",
- DATADIR "/xsessions/",
+ "/run/current-system/profile/share/xsessions/"
};
static const char *wayland_search_dir = DATADIR "/wayland-sessions/";
search_array = g_array_new (TRUE, TRUE, sizeof (char *));
- for (i = 0; system_data_dirs[i]; i++) {
- gchar *dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
- g_array_append_val (search_array, dir);
- }
-
g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs));
#ifdef ENABLE_WAYLAND_SUPPORT
@@ -373,16 +367,7 @@ get_system_session_dirs (GdmSession *self)
#ifdef ENABLE_USER_DISPLAY_SERVER
g_array_prepend_val (search_array, wayland_search_dir);
- for (i = 0; system_data_dirs[i]; i++) {
- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
- g_array_insert_val (search_array, i, dir);
- }
#else
- for (i = 0; system_data_dirs[i]; i++) {
- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
- g_array_append_val (search_array, dir);
- }
-
g_array_append_val (search_array, wayland_search_dir);
#endif
}
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
index afbc5c0..bb5e3e6 100644
--- a/libgdm/gdm-sessions.c
+++ b/libgdm/gdm-sessions.c
@@ -238,19 +238,11 @@ collect_sessions (void)
"/etc/X11/sessions/",
DMCONFDIR "/Sessions/",
DATADIR "/gdm/BuiltInSessions/",
- DATADIR "/xsessions/",
- NULL
+ "/run/current-system/profile/share/xsessions/"
};
xorg_search_array = g_array_new (TRUE, TRUE, sizeof (char *));
- const gchar * const *system_data_dirs = g_get_system_data_dirs ();
-
- for (i = 0; system_data_dirs[i]; i++) {
- session_dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
- g_array_append_val (xorg_search_array, session_dir);
- }
-
g_array_append_vals (xorg_search_array, xorg_search_dirs, G_N_ELEMENTS (xorg_search_dirs));
#ifdef ENABLE_WAYLAND_SUPPORT
@@ -261,11 +253,6 @@ collect_sessions (void)
wayland_search_array = g_array_new (TRUE, TRUE, sizeof (char *));
- for (i = 0; system_data_dirs[i]; i++) {
- session_dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
- g_array_append_val (wayland_search_array, session_dir);
- }
-
g_array_append_vals (wayland_search_array, wayland_search_dirs, G_N_ELEMENTS (wayland_search_dirs));
#endif

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018. 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
@ -129,9 +129,15 @@
"1w38hzlw7xp05gcq1nhga7hxvndxy6dfcnzi7q2il8ff110isj6k"))))
(build-system gnu-build-system)
(arguments
'(;; Running tests in parallel can occasionally lead to failures, like:
`(;; Running tests in parallel can occasionally lead to failures, like:
;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead)
#:parallel-tests? #f
;; FIXME: Disable tests on i686 to work around
;; <https://bugs.gnu.org/40527>.
#:tests? ,(or (%current-target-system)
(not (string=? "i686-linux" (%current-system))))
#:configure-flags (list "--enable-usb-redir" "--enable-opengl"
"--enable-docs"
(string-append "--smbd="

View File

@ -142,7 +142,6 @@ representation."
(documentation "Load kernel modules.")
(provision '(kernel-module-loader))
(requirement '(file-systems))
(respawn? #f)
(one-shot? #t)
(modules `((srfi srfi-1)
(srfi srfi-34)

View File

@ -291,6 +291,13 @@ and return the resulting '.go' file."
(default-environment-variables
'("PATH=/run/current-system/profile/bin"))
;; Booting off a DVD, especially on a slow machine, can make
;; everything slow. Thus, increase the timeout compared to the
;; default 5s in the Shepherd 0.7.0. See
;; <https://bugs.gnu.org/40572>.
;; XXX: Use something better when the next Shepherd is out.
(set! (@@ (shepherd service) %pid-file-timeout) 30)
;; Arrange to spawn a REPL if something goes wrong. This is better
;; than a kernel panic.
(call-with-error-handling

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,6 +28,7 @@
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix modules)
#:use-module ((guix packages) #:select (package-version))
#:use-module ((guix store) #:select (%store-prefix))
#:use-module (gnu installer)
@ -50,6 +52,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression)
#:use-module (gnu packages nvi)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-26)
#:export (installation-os
@ -287,6 +290,38 @@ the user's target storage device rather than on the RAM disk."
(persistent? #f)
(max-database-size (* 5 (expt 2 20)))))) ;5 MiB
;; These define a service to load the uvesafb kernel module with the
;; appropriate options. The GUI installer needs it when the machine does not
;; support Kernel Mode Setting. Otherwise kmscon is missing /dev/fb0.
(define (uvesafb-shepherd-service _)
(list (shepherd-service
(documentation "Load the uvesafb kernel module.")
(provision '(uvesafb))
(requirement '(file-systems))
(start #~(lambda ()
;; uvesafb is only supported on x86 and x86_64.
(or (not (and (string-suffix? "linux-gnu" %host-type)
(or (string-prefix? "x86_64" %host-type)
(string-prefix? "i686" %host-type))))
(file-exists? "/dev/fb0")
(invoke #+(file-append kmod "/bin/modprobe")
"uvesafb"
(string-append "v86d=" #$v86d "/sbin/v86d")
"mode_option=1024x768"))))
(respawn? #f)
(one-shot? #t))))
(define uvesafb-service-type
(service-type
(name 'uvesafb)
(extensions
(list (service-extension shepherd-root-service-type
uvesafb-shepherd-service)))
(description
"Load the @code{uvesafb} kernel module with the right options.")
(default-value #t)))
(define %installation-services
;; List of services of the installation system.
(let ((motd (plain-file "motd" "
@ -408,7 +443,13 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
(list bare-bones-os
glibc-utf8-locales
texinfo
(canonical-package guile-2.2))))))
(canonical-package guile-2.2)))
;; Machines without Kernel Mode Setting (those with many old and
;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI
;; installer. Some may also need a kernel parameter like nomodeset
;; or vga=793, but we leave that for the user to specify in GRUB.
(service uvesafb-service-type))))
(define %issue
;; Greeting.

View File

@ -339,8 +339,9 @@ Report the availability of substitutes.\n"))
"Load the manifest from FILE and return the list of packages it refers to."
(let* ((user-module (make-user-module '((guix profiles) (gnu))))
(manifest (load* file user-module)))
(map manifest-entry-item
(manifest-transitive-entries manifest))))
(delete-duplicates (map manifest-entry-item
(manifest-transitive-entries manifest))
eq?)))
;;;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff