1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-07 02:54:04 +02:00

Compare commits

...

41 Commits

Author SHA1 Message Date
Ludovic Courtès 0c7c84407d doc: Remove one use of 'file-append*'.
* doc/build.scm (texinfo-manual-source)[build]: Use 'file-append', not
'file-append*', for 'htmlxref.cnf', to ensure it has the right basename.
2020-08-26 22:59:39 +02:00
Ludovic Courtès 3601d8112c doc: Inherit md5.scm fix in custom 'guile-lib' variant.
* doc/build.scm (guile-lib/htmlprag-fixed)[source]: Remove.
[arguments]: Add 'fix-htmlprag' phase.
2020-06-29 21:22:39 +02:00
Ludovic Courtès f25e71e89f doc: Work around lack of /etc/config.scm in the VM image.
* doc/guix.texi (Running Guix in a VM): Replace reference to
/etc/config.scm with a link to the repo.
2020-04-20 12:18:28 +02:00
Ludovic Courtès 442fa22d9e gnu: guix: Update to 33ff35d. 2020-04-15 10:17:49 +02:00
Ludovic Courtès 33ff35d570 gnu: guix: Update to 1.1.0. 2020-04-15 09:58:26 +02:00
Ludovic Courtès d62c9b2671 Update NEWS. 2020-04-15 00:02:23 +02:00
Ludovic Courtès 8aa752ba22 services: shepherd: Increase the PID file timeout to 30s.
When running the installation image off a DVD, early I/O operations are
extremely slow, to the point that something like dbus-daemon would need
~20s to start.  This change works around the issue.

Fixes <https://bugs.gnu.org/40572>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.

* gnu/services/shepherd.scm (shepherd-configuration-file): Set
%pid-file-timeout to 30.
2020-04-15 00:02:23 +02:00
Ludovic Courtès bd4c345ef7 doc: Improve anchor collection.
This allows us to catch "operating_002dsystem-1", for instance.

* doc/build.scm (syntax-highlighted-html)[build](anchor-id->key): Drop
"-1" & co. from ID.
2020-04-14 16:01:53 +02:00
Ludovic Courtès 4487e42cba doc: Avoid invalid 'match' pattern in 'syntax-highlighted-html'.
This is a followup to da9deba13d.

Last-minute modification of the 'match' pattern would lead to an error:

  "multiple ellipsis patterns not allowed at same level"

* doc/build.scm (syntax-highlighted-html)[build](collect-anchors):
Add 'worthy-entry?' procedure and use it instead of the unsupported
pattern for ('dt ...).
2020-04-14 16:01:45 +02:00
Ludovic Courtès f37789a523 doc: Emit hyperlinks in HTML output for @lisp snippets.
This makes it easier to jump to the definition of a procedure or
variable when looking at a code snippet.  There can be false-positive
because scoping rules are ignored, for example, but it should be a good
approximation.

* doc/build.scm (syntax-highlighted-html)[build](highlights->sxml*): Add
'anchors' parameter.  Add clause for ('symbol text).
(syntax-highlight): Add 'anchors' parameter.  Wrap body in named let and
use it in recursive calls.  Pass ANCHORS to 'highlights->sxml*'.
(underscore-decode, anchor-id->key, collect-anchors, html?): New procedures.
(process-file): Add 'anchors' parameter. and honor it.
Rewrite mono-node and multi-node HTML files separately.
2020-04-14 16:01:39 +02:00
Ludovic Courtès 1ae7a9251b weather: Delete duplicate entries coming from '--manifest'.
* guix/scripts/weather.scm (load-manifest): Call 'delete-duplicates'.
2020-04-14 16:01:05 +02:00
Ludovic Courtès bab1f340b3 maint: Ensure substitutes are available for '%default-xorg-modules'.
* etc/release-manifest.scm (%system-packages): Append
%DEFAULT-XORG-MODULES.
2020-04-14 16:01:05 +02:00
Ludovic Courtès 8e8d984fd6 maint: Actually check for the availablility of system packages.
* etc/release-manifest.scm (%system-manifest): New variable.
<top level>: Add it in 'concatenate-manifests' call.
2020-04-14 16:01:05 +02:00
Florian Pelz 0ad60b2a89 installer: Only load uvesafb kernel module when needed.
This is a follow-up to commit 557e6820a7.

* gnu/system/install.scm (uvesafb-shepherd-service): Check
that /dev/fb0 is not already present.
2020-04-14 13:05:57 +00:00
Ludovic Courtès 2b29219370 nls: Update. 2020-04-14 13:01:58 +02:00
Ludovic Courtès 893651af3e installer: Open manual in the selected language on tty2.
Fixes <https://bugs.gnu.org/40624>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.

Regression introduced in b5c2d93d7a.

* gnu/installer.scm (apply-locale): Remove 'lambda' around
'stop-service' and 'start-service' calls.
2020-04-14 13:01:58 +02:00
Florian Pelz 8e4d1493f1 services: kernel-module-loader: Clean up.
Suggested by Efraim Flashner <efraim@flashner.co.il>.
See <https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00237.html>.

* gnu/services/linux.scm (kernel-module-loader-shepherd-service):
Remove unneeded 'respawn?' field.
2020-04-12 18:24:27 +00:00
Ludovic Courtès 6945c43754 Update NEWS. 2020-04-12 17:05:21 +02:00
Ludovic Courtès 2033cf19e6 gnu: guix: Update to 9d0d27f. 2020-04-12 03:33:13 +02:00
Ludovic Courtès 9d0d27fd88 gnu: guix: Update to 1.1.0rc2. 2020-04-12 00:38:43 +02:00
Ludovic Courtès 935ef44b39 nls: Update. 2020-04-12 00:18:05 +02:00
Ludovic Courtès 27a1e4fd10 build: Cap build parallelism on i686.
Works around <https://bugs.gnu.org/40522>.

* build-aux/compile-all.scm (parallel-job-count*): New procedure.
<top level>: Use it instead of 'parallel-job-count'.
2020-04-12 00:00:59 +02:00
Ludovic Courtès f4ec5e1a98 gnu: gdm: Don't offer GNOME when it's not in the system profile.
Fixes <https://bugs.gnu.org/37831>.
Reported by Pierre Neidhardt <mail@ambrevar.xyz>.

* gnu/packages/patches/gdm-default-session.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm)[source]: Use it.
2020-04-11 23:58:49 +02:00
Florian Pelz 557e6820a7 installer: Load uvesafb kernel module.
Fixes <https://bugs.gnu.org/40538>.

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.

* gnu/system/install.scm (uvesafb-shepherd-service): New procedure.
(uvesafb-service-type): New variable.
(%installation-services): Add it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-04-11 22:59:35 +02:00
Ludovic Courtès c635610bc6 tests: Run guided installation tests from an ISO image.
* gnu/tests/install.scm (guided-installation-test): Pass
 #:installation-disk-image-file-system-type to 'run-install'.
2020-04-10 16:06:41 +02:00
Ludovic Courtès 66b53c2c72 installer: tests: Don't install to a CD/DVD.
* gnu/installer/tests.scm (choose-partitioning): Use 'find' to select
the disk.
2020-04-10 16:06:32 +02:00
Ludovic Courtès 74f01059cb vm: 'system-disk-image' honors #:substitutable? for ISO9660 images.
This is a followup to a328f66a9e.

* gnu/system/vm.scm (iso9660-image): Add #:substitutable? and pass it to
'expression->derivation-in-linux-vm'.
(system-disk-image): Pass #:substitutable? to 'iso9660-image'.
2020-04-10 16:06:23 +02:00
Ludovic Courtès abc33218f1 gnu: sdl-pango: Shorten file name of patch.
* gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch:
Rename to...
* gnu/packages/patches/sdl-pango-header-guard.patch: ... this.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/sdl.scm (sdl-pango):
Likewise.
2020-04-10 16:06:14 +02:00
Ludovic Courtès 17edf577d5 gnu: akonadi: Shorten file name of patch.
This ensures we stay below the POSIX tar file name length limit.

* gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch:
Rename to...
* gnu/packages/patches/akonadi-not-relocatable.patch: ... this.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/kde-pim.scm (akonadi): Likewise.
2020-04-10 16:06:03 +02:00
Ludovic Courtès 18ffd2f968 gnu: binutils: Shorten file names of MinGW patches.
This ensures we stay below the POSIX tar file name length limit.

* gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch:
Rename to...
* gnu/packages/patches/binutils-mingw-w64-deterministic.patch: ... this.
* gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch:
Rename to...
* gnu/packages/patches/binutils-mingw-w64-timestamp.patch: ... this.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/cross-base.scm (cross-binutils): Likewise.
2020-04-10 16:05:57 +02:00
Mathieu Othacehe 0bd7a6bad9 gnu: installer: Fix issue with "Esperanto" locale.
According to glibc manual, locale are under the following form:
          language[_territory[.codeset]][@modifier]

The esperanto locale "epo" does not have a territory. Modify run-command to
take this into account.

Reported by Alex Sassmannshausen here:
https://lists.gnu.org/archive/html/guix-devel/2020-04/msg00192.html.

* gnu/installer/utils.scm (run-command): Handle locale without territory such
as "epo".
2020-04-10 16:05:38 +02:00
Tobias Geerinckx-Rice 2281a77a3c gnu: xfce: Fix typo.
* gnu/packages/xfce.scm (xfce)[inputs]: Re-spell ‘tumlber’.
2020-04-10 16:05:30 +02:00
Tobias Geerinckx-Rice 325707fabe services: gnome: Fix ‘gnome’ field name.
To match its own documentation & other similar services.

* gnu/services/desktop.scm (gnome-desktop-configuration)[gnome-package]:
Rename to…
[gnome]: …this.
2020-04-10 16:05:25 +02:00
Tobias Geerinckx-Rice e830c2a8de vm: Transparently compress iso9660 images.
* gnu/build/vm.scm (make-iso9660-image): Use the ‘--zisofs’ xorriso
filter at the highest compression settings for supported directories.
2020-04-10 16:05:19 +02:00
Ludovic Courtès 08b14ab20e maint: 'release' targets runs ./bootstrap for new version string.
Reported by Vagrant Cascadian <vagrant@debian.org>.

* Makefile.am (dist-with-updated-version): New target.
(release): Depend on 'dist-with-updated-version'.
2020-04-10 12:26:21 +02:00
Vagrant Cascadian eb0352e5b0 Add missing services/linux.scm to gnu/local.mk.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add linux.scm.
2020-04-10 11:18:08 +02:00
Ludovic Courtès f9adf35595 Update NEWS. 2020-04-09 22:56:56 +02:00
Ludovic Courtès 4fc2132741 gnu: qemu: Skip tests on i686-linux.
* gnu/packages/virtualization.scm (qemu)[arguments]: Add #:tests?.
2020-04-09 22:27:06 +02:00
Ludovic Courtès 98148830c0 maint: 'release' builds with '--fallback'.
* Makefile.am (guix-binary.%.tar.xz): Pass '--fallback' to 'guix pack'.
(release): Pass '--fallback' to 'guix build' and 'guix system'.
2020-04-09 16:32:38 +02:00
Ludovic Courtès 8b292ffd3c maint: 'release' target no longer uses -K, to allow for offloading.
This is a followup to 2ce08a5d79.

* Makefile.am (release): Remove -K flag.
2020-04-09 13:18:13 +02:00
Ludovic Courtès 808084e9d1 maint: Binary tarball uses "guile3.0-guix", not "guix".
* Makefile.am (GUIX_FOR_BINARY_TARBALL): New variable.
(guix-binary.%.tar.xz): Use $(GUIX_FOR_BINARY_TARBALL) instead of
"guix".
(release): Likewise.
2020-04-09 11:52:23 +02:00
39 changed files with 36795 additions and 28962 deletions
+22 -7
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 ; \
+145 -1
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
+10 -2
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
+162 -53
View File
@@ -137,7 +137,7 @@ as well as images, OS examples, and translations."
(date->string date "~B ~Y")
version version))))))
(install-file #$(file-append* documentation "/htmlxref.cnf")
(install-file #$(file-append documentation "/htmlxref.cnf")
#$output)
(for-each (lambda (texi)
@@ -178,30 +178,27 @@ content=\"width=device-width, initial-scale=1\" />"))
;; Guile-Lib with a hotfix for (htmlprag).
(package
(inherit guile-lib)
(source (origin
(inherit (package-source guile-lib))
(modules '(( guix build utils)))
(snippet
'(begin
;; When parsing
;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
;; 'html->shtml' would mistakenly close 'blockquote' right
;; before <p>. This patch removes 'p' from the
;; 'parent-constraints' alist to fix that.
(substitute* "src/htmlprag.scm"
(("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*")
""))
#t))))
(arguments
(substitute-keyword-arguments (package-arguments guile-lib)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-before 'check 'skip-known-failure
(lambda _
;; XXX: The above change causes one test failure among
;; the htmlprag tests.
(setenv "XFAIL_TESTS" "htmlprag.scm")
#t))))))))
(add-before 'build 'fix-htmlprag
(lambda _
;; When parsing
;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
;; 'html->shtml' would mistakenly close 'blockquote' right
;; before <p>. This patch removes 'p' from the
;; 'parent-constraints' alist to fix that.
(substitute* "src/htmlprag.scm"
(("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*")
""))
#t))
(add-before 'check 'skip-known-failure
(lambda _
;; XXX: The above change causes one test failure among
;; the htmlprag tests.
(setenv "XFAIL_TESTS" "htmlprag.scm")
#t))))))))
(define* (syntax-highlighted-html input
#:key
@@ -220,8 +217,11 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(syntax-highlight scheme)
(syntax-highlight lexers)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 threads))
(ice-9 threads)
(ice-9 vlist))
(define (pair-open/close lst)
;; Pair 'open' and 'close' tags produced by 'highlights' and
@@ -255,10 +255,11 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
level (reverse result)))
(values (reverse result) "" '())))))
(define (highlights->sxml* highlights)
(define (highlights->sxml* highlights anchors)
;; Like 'highlights->sxml', but handle nested 'paren tags. This
;; allows for paren matching highlights via appropriate CSS
;; "hover" properties.
;; "hover" properties. When a symbol is encountered, look it up
;; in ANCHORS, a vhash, and emit the corresponding href, if any.
(define (tag->class tag)
(string-append "syntax-" (symbol->string tag)))
@@ -269,8 +270,16 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(number->string level))))
,open
(span (@ (class "syntax-symbol"))
,@(highlights->sxml* body))
,@(highlights->sxml* body anchors))
,close))
(('symbol text)
;; Check whether we can emit a hyperlink for TEXT.
(match (vhash-assoc text anchors)
(#f
`(span (@ (class ,(tag->class 'symbol))) ,text))
((_ . target)
`(a (@ (class ,(tag->class 'symbol)) (href ,target))
,text))))
((tag text)
`(span (@ (class ,(tag->class tag))) ,text)))
highlights))
@@ -301,35 +310,109 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(pk 'unsupported-code-snippet something)
(primitive-exit 1)))))
(define (syntax-highlight sxml)
(define (syntax-highlight sxml anchors)
;; Recurse over SXML and syntax-highlight code snippets.
(match sxml
(('*TOP* decl body ...)
`(*TOP* ,decl ,@(map syntax-highlight body)))
(('head things ...)
`(head ,@things
(link (@ (rel "stylesheet")
(type "text/css")
(href #$syntax-css-url)))))
(('pre ('@ ('class "lisp")) code-snippet ...)
`(pre (@ (class "lisp"))
,@(highlights->sxml*
(pair-open/close
(highlight lex-scheme
(concatenate-snippets code-snippet))))))
((tag ('@ attributes ...) body ...)
`(,tag (@ ,@attributes) ,@(map syntax-highlight body)))
((tag body ...)
`(,tag ,@(map syntax-highlight body)))
((? string? str)
str)))
(let loop ((sxml sxml))
(match sxml
(('*TOP* decl body ...)
`(*TOP* ,decl ,@(map loop body)))
(('head things ...)
`(head ,@things
(link (@ (rel "stylesheet")
(type "text/css")
(href #$syntax-css-url)))))
(('pre ('@ ('class "lisp")) code-snippet ...)
`(pre (@ (class "lisp"))
,@(highlights->sxml*
(pair-open/close
(highlight lex-scheme
(concatenate-snippets code-snippet)))
anchors)))
((tag ('@ attributes ...) body ...)
`(,tag (@ ,@attributes) ,@(map loop body)))
((tag body ...)
`(,tag ,@(map loop body)))
((? string? str)
str))))
(define (process-html file)
(define (underscore-decode str)
;; Decode STR, an "underscore-encoded" string as produced by
;; makeinfo for indexes, such as "_0025base_002dservices" for
;; "%base-services".
(let loop ((str str)
(result '()))
(match (string-index str #\_)
(#f
(string-concatenate-reverse (cons str result)))
(index
(let ((char (string->number
(substring str (+ index 1) (+ index 5))
16)))
(loop (string-drop str (+ index 5))
(append (list (string (integer->char char))
(string-take str index))
result)))))))
(define (anchor-id->key id)
;; Convert ID, an anchor ID such as
;; "index-pam_002dlimits_002dservice" to the corresponding key,
;; "pam-limits-service" in this example. Drop the suffix of
;; duplicate anchor IDs like "operating_002dsystem-1".
(let ((id (if (any (cut string-suffix? <> id)
'("-1" "-2" "-3" "-4" "-5"))
(string-drop-right id 2)
id)))
(underscore-decode
(string-drop id (string-length "index-")))))
(define* (collect-anchors file #:optional (vhash vlist-null))
;; Collect the anchors that appear in FILE, a makeinfo-generated
;; file. Grab those from <dt> tags, which corresponds to
;; Texinfo @deftp, @defvr, etc. Return VHASH augmented with
;; more name/reference pairs.
(define string-or-entity?
(match-lambda
((? string?) #t)
(('*ENTITY* _ ...) #t)
(_ #f)))
(define (worthy-entry? lst)
;; Attempt to match:
;; Scheme Variable: <strong>x</strong>
;; but not:
;; <code>cups-configuration</code> parameter: …
(let loop ((lst lst))
(match lst
(((? string-or-entity?) rest ...)
(loop rest))
((('strong _ ...) _ ...)
#t)
(_ #f))))
(let ((shtml (call-with-input-file file html->shtml)))
(let loop ((shtml shtml)
(vhash vhash))
(match shtml
(('dt ('@ ('id id)) rest ...)
(if (and (string-prefix? "index-" id)
(worthy-entry? rest))
(vhash-cons (anchor-id->key id)
(string-append (basename file)
"#" id)
vhash)
vhash))
((tag ('@ _ ...) body ...)
(fold loop vhash body))
((tag body ...)
(fold loop vhash body))
(_ vhash)))))
(define (process-html file anchors)
;; Parse FILE and perform syntax highlighting for its Scheme
;; snippets. Install the result to #$output.
(format (current-error-port) "processing ~a...~%" file)
(let* ((shtml (call-with-input-file file html->shtml))
(highlighted (syntax-highlight shtml))
(highlighted (syntax-highlight shtml anchors))
(base (string-drop file (string-length #$input)))
(target (string-append #$output base)))
(mkdir-p (dirname target))
@@ -352,17 +435,43 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(pk 'error-link file target (strerror errno))
(primitive-exit 3))))))
(define (html? file stat)
(string-suffix? ".html" file))
;; Install a UTF-8 locale so we can process UTF-8 files.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
;; First process the mono-node 'guix.html' files.
(n-par-for-each (parallel-job-count)
(lambda (file)
(if (string-suffix? ".html" file)
(process-html file)
(copy-as-is file)))
(find-files #$input))))))
(lambda (mono)
(let ((anchors (collect-anchors mono)))
(process-html mono anchors)))
(find-files #$input "^guix(\\.[a-zA-Z_-]+)?\\.html$"))
;; Next process the multi-node HTML files in two phases: (1)
;; collect the list of anchors, and (2) perform
;; syntax-highlighting.
(let* ((multi (find-files #$input "^html_node$"
#:directories? #t))
(anchors (n-par-map (parallel-job-count)
(lambda (multi)
(cons multi
(fold collect-anchors vlist-null
(find-files multi html?))))
multi)))
(n-par-for-each (parallel-job-count)
(lambda (file)
(let ((anchors (assoc-ref anchors (dirname file))))
(process-html file anchors)))
(append-map (lambda (multi)
(find-files multi html?))
multi)))
;; Last, copy non-HTML files as is.
(for-each copy-as-is
(find-files #$input (negate html?)))))))
(computed-file name build))
+5 -1
View File
@@ -27229,7 +27229,11 @@ This image boots the Xfce graphical environment and it contains some
commonly-used tools. You can install more software in the image by running
@command{guix package} in a terminal (@pxref{Invoking guix package}). You can
also reconfigure the system based on its initial configuration file available
as @file{/etc/config.scm} (@pxref{Using the Configuration System}).
@c Work around the lack of /etc/config.scm in the image, as fixed on
@c 'master' with commit 9d0b9c7c6c0b0d45653dea80b499314ea415d3c7.
@uref{https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples/vm-image.tmpl?h=v1.1.0&id=d62c9b2671be55ae0305bebfda17b595f33797f2,
in the repository}
(@pxref{Using the Configuration System}).
Instead of using this pre-built image, one can also build their own virtual
machine image using @command{guix system vm-image} (@pxref{Invoking guix
+20 -10
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))
+19
View File
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -533,6 +534,24 @@ GRUB configuration and OS-DRV as the stuff in it."
;; Set all timestamps to 1.
"-volume_date" "all_file_dates" "=1"
;; zisofs compression reduces the total image size by ~60%.
"-zisofs" "level=9:block_size=128k" ; highest compression
;; It's transparent to our Linux-Libre kernel but not to GRUB.
;; Don't compress the kernel, initrd, and other files read by
;; grub.cfg, as well as common already-compressed file names.
"-find" "/" "-type" "f"
;; XXX Even after "--" above, and despite documentation claiming
;; otherwise, "-or" is stolen by grub-mkrescue which then chokes
;; on it (as -o …’) and dies. Don't use "-or".
"-not" "-wholename" "/boot/*"
"-not" "-wholename" "/System/*"
"-not" "-name" "unicode.pf2"
"-not" "-name" "bzImage"
"-not" "-name" "*.gz" ; initrd & all man pages
"-not" "-name" "*.png" ; includes grub-image.png
"-exec" "set_filter" "--zisofs"
"--"
"-volid" (string-upcase volume-id)
(if volume-uuid
`("-volume_date" "uuid"
+2 -3
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
+7 -2
View File
@@ -296,8 +296,13 @@ file, actually starting the installation process."
encrypted
not-encrypted))
((list-selection (title "Disk") (multiple-choices? #f)
(items (,disk _ ...)))
disk)
(items (,disks ...)))
;; When running the installation from an ISO image, the CD/DVD drive
;; shows up in the list. Avoid it.
(find (lambda (disk)
(not (or (string-contains disk "DVD")
(string-contains disk "CD-ROM"))))
disks))
;; The "Partition table" dialog pops up only if there's not already a
;; partition table.
+3 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -93,7 +93,8 @@ COMMAND exited successfully, #f otherwise."
(setenv "LC_ALL" locale)
(setenv "LANGUAGE"
(string-take locale
(string-index locale #\_))))))
(or (string-index locale #\_)
(string-length locale)))))))
(guard (c ((invoke-error? c)
(newline)
+6 -4
View File
@@ -569,6 +569,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/getmail.scm \
%D%/services/guix.scm \
%D%/services/kerberos.scm \
%D%/services/linux.scm \
%D%/services/lirc.scm \
%D%/services/virtualization.scm \
%D%/services/mail.scm \
@@ -725,7 +726,7 @@ dist_patch_DATA = \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/akonadi-paths.patch \
%D%/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/amule-crypto-6.patch \
@@ -775,8 +776,8 @@ dist_patch_DATA = \
%D%/packages/patches/bidiv-update-fribidi.patch \
%D%/packages/patches/binutils-boot-2.20.1a.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mingw-w64-specify-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch \
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
%D%/packages/patches/bluez-CVE-2020-0556.patch \
@@ -931,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 \
@@ -1287,7 +1289,7 @@ dist_patch_DATA = \
%D%/packages/patches/sdl-pango-api_additions.patch \
%D%/packages/patches/sdl-pango-blit_overflow.patch \
%D%/packages/patches/sdl-pango-fillrect_crash.patch \
%D%/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch \
%D%/packages/patches/sdl-pango-header-guard.patch \
%D%/packages/patches/sdl-pango-matrix_declarations.patch \
%D%/packages/patches/sdl-pango-sans-serif.patch \
%D%/packages/patches/patchutils-test-perms.patch \
+2 -3
View File
@@ -98,9 +98,8 @@
((target-mingw? target)
(package-with-extra-patches
binutils
(search-patches
"binutils-mingw-w64-specify-timestamp.patch"
"binutils-mingw-w64-reproducible-import-libraries.patch")))
(search-patches "binutils-mingw-w64-timestamp.patch"
"binutils-mingw-w64-deterministic.patch")))
(else binutils))
target)))
+2 -1
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
+1 -1
View File
@@ -53,7 +53,7 @@
(patches (search-patches
"akonadi-paths.patch"
"akonadi-timestamps.patch"
"akonadi-Revert-Make-installation-properly-relo.patch"))))
"akonadi-not-relocatable.patch"))))
(build-system qt-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
+4 -4
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 "33ff35d57095bb1283e9fb40edc24556f9a43682")
(revision 1))
(package
(name "guix")
@@ -127,7 +127,7 @@
(commit commit)))
(sha256
(base32
"1fciffls6cw9zz13vig5x37r73qxc0irzyh0caimciddlksvabf7"))
"049f4ycfyfahkaykdifwwisv8w3lsmkcn6hmpf0cg381ks89zwrl"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -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
+6 -8
View File
@@ -345,14 +345,12 @@ SDL.")
"SDL_Pango-" version ".tar.gz"))
(sha256
(base32 "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz"))
(patches
(search-patches
"sdl-pango-api_additions.patch"
"sdl-pango-blit_overflow.patch"
"sdl-pango-fillrect_crash.patch"
"sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch"
"sdl-pango-matrix_declarations.patch"
"sdl-pango-sans-serif.patch"))))
(patches (search-patches "sdl-pango-api_additions.patch"
"sdl-pango-blit_overflow.patch"
"sdl-pango-fillrect_crash.patch"
"sdl-pango-header-guard.patch"
"sdl-pango-matrix_declarations.patch"
"sdl-pango-sans-serif.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--disable-static")
+8 -2
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="
+2 -2
View File
@@ -854,7 +854,7 @@ on your desktop.")
("shared-mime-info" ,shared-mime-info)
("thunar" ,thunar)
("thunar-volman" ,thunar-volman)
("tumlber" ,tumbler)
("tumbler" ,tumbler)
("xfce4-appfinder" ,xfce4-appfinder)
("xfce4-panel" ,xfce4-panel)
("xfce4-power-manager" ,xfce4-power-manager)
@@ -868,7 +868,7 @@ on your desktop.")
("xfce4-battery-plugin" ,xfce4-battery-plugin)
("xfce4-clipman-plugin" ,xfce4-clipman-plugin)
("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
(native-search-paths
;; For finding panel plugins.
(package-native-search-paths xfce4-panel))
+2 -1
View File
@@ -10,6 +10,7 @@
;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -892,7 +893,7 @@ rules.")
(define-record-type* <gnome-desktop-configuration> gnome-desktop-configuration
make-gnome-desktop-configuration
gnome-desktop-configuration?
(gnome-package gnome-package (default gnome)))
(gnome gnome-package (default gnome)))
(define (gnome-polkit-settings config)
"Return the list of GNOME dependencies that provide polkit actions and
-1
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)
+7
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
+42 -1
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.
+5 -2
View File
@@ -283,7 +283,8 @@ substitutable."
bootloader
(register-closures? (has-guix-service-type? os))
(inputs '())
(grub-mkrescue-environment '()))
(grub-mkrescue-environment '())
(substitutable? #t))
"Return a bootable, stand-alone iso9660 image.
INPUTS is a list of inputs (as for packages)."
@@ -354,6 +355,7 @@ INPUTS is a list of inputs (as for packages)."
#:make-disk-image? #f
#:single-file-output? #t
#:references-graphs inputs
#:substitutable? substitutable?
;; Xorriso seems to be quite memory-hungry, so increase the VM's RAM size.
#:memory-size 512))
@@ -735,7 +737,8 @@ substitutable."
#:inputs `(("system" ,os)
("bootcfg" ,bootcfg))
#:grub-mkrescue-environment
'(("MKRESCUE_SED_MODE" . "mbr_hfs")))
'(("MKRESCUE_SED_MODE" . "mbr_hfs"))
#:substitutable? substitutable?)
(qemu-image #:name name
#:os os
#:bootcfg-drv bootcfg
+2
View File
@@ -1125,6 +1125,8 @@ build (current-guix) and then store a couple of full system images.")
#:os installation-os-for-gui-tests
#:install-size install-size
#:target-size target-size
#:installation-disk-image-file-system-type
"iso9660"
#:gui-test
(lambda (marionette)
(gui-test-program
+3 -2
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?)))
;;;
+9846 -9069
View File
File diff suppressed because it is too large Load Diff
+9866 -9073
View File
File diff suppressed because it is too large Load Diff
+221 -281
View File
File diff suppressed because it is too large Load Diff
+670 -592
View File
File diff suppressed because it is too large Load Diff
+673 -593
View File
File diff suppressed because it is too large Load Diff
+670 -592
View File
File diff suppressed because it is too large Load Diff
+672 -594
View File
File diff suppressed because it is too large Load Diff
+5197 -4134
View File
File diff suppressed because it is too large Load Diff
+8402 -3921
View File
File diff suppressed because it is too large Load Diff