1
0
forked from tribes/guix

Compare commits

..

7 Commits

Author SHA1 Message Date
Brett Gilio 9fdef4d61a gnu: ocaml-4.11: Add comment about check phase.
* gnu/packages/ocaml.scm (ocaml-4.11): The check phase is currently
skipping all tests with an error. Add a comment to fix this.
2020-08-30 19:13:25 -05:00
Brett Gilio 5180552e98 gnu: ocaml-ounit: Update to 2.2.3 and rename.
* gnu/packages/ocaml.scm (ocaml-ounit): Update to 2.2.3 and rename.

[definition]: Rename to ocaml-ounit2.
[source]: Replace url-fetch with git-fetch.
[native-inputs]: Remove comment.
[build-system]: Change to dune-build-system.
[arguments]: Remove deletion of check phase, and specify package field.
[description]: Respace to align with column-width.
2020-08-30 18:36:08 -05:00
Brett Gilio f2feb9b9df gnu: ocaml-extlib: Adjust indentation.
* gnu/packages/ocaml.scm (ocaml-extlib): Adjust indentation.
2020-08-30 18:15:30 -05:00
Brett Gilio c9f4cb161d gnu: ocamlbuild: Revise license.
* gnu/packages/ocaml.scm (ocamlbuild)[license]: License is actually LGPL2.0.
2020-08-30 18:11:44 -05:00
Brett Gilio 63a6145828 gnu: ocaml-4.07: Inherit from ocaml-4.11
* gnu/packages/ocaml.scm (ocaml-4.07): Update inheritance to reflect latest
OCaml.
2020-08-30 18:10:57 -05:00
Brett Gilio f8bfd4aa45 gnu: ocaml: Use ocaml-4.11.
* gnu/packages/ocaml.scm (ocaml): Update reference package to ocaml-4.11.
2020-08-30 18:03:05 -05:00
Brett Gilio 9f48b55252 gnu: ocaml-4.09: Update to 4.11.0.
* gnu/packages/ocaml.scm (ocaml-4.09): Update to 4.11.0.

[definition]: Rename to match current OCaml version.
[arguments]: Remove patch-/bin/sh-references phase.
[arguments]: Run "make tests" in check phase.
[arguments]: Have all phases return #t
2020-08-30 18:00:54 -05:00
571 changed files with 86048 additions and 212590 deletions
+4 -35
View File
@@ -8,38 +8,7 @@
;; For use with 'bug-reference-prog-mode'.
(bug-reference-url-format . "http://bugs.gnu.org/%s")
(bug-reference-bug-regexp
. "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")
;; Emacs-Guix
(eval . (setq-local guix-directory
(locate-dominating-file default-directory
".dir-locals.el")))
;; Geiser
;; This allows automatically setting the `geiser-guile-load-path'
;; variable when using various Guix checkouts (e.g., via git worktrees).
(eval . (let ((root-dir-unexpanded (locate-dominating-file
default-directory ".dir-locals.el")))
;; While Guix should in theory always have a .dir-locals.el
;; (we are reading this file, after all) there seems to be a
;; strange problem where this code "escapes" to some other buffers,
;; at least vc-mode. See:
;; https://lists.gnu.org/archive/html/guix-devel/2020-11/msg00296.html
;; Upstream report: <https://bugs.gnu.org/44698>
;; Hence the following "when", which might otherwise be unnecessary;
;; it prevents causing an error when root-dir-unexpanded is nil.
(when root-dir-unexpanded
(let* ((root-dir (expand-file-name root-dir-unexpanded))
;; Workaround for bug https://issues.guix.gnu.org/43818.
(root-dir* (directory-file-name root-dir)))
(unless (boundp 'geiser-guile-load-path)
(defvar geiser-guile-load-path '()))
(make-local-variable 'geiser-guile-load-path)
(require 'cl-lib)
(cl-pushnew root-dir* geiser-guile-load-path
:test #'string-equal)))))))
. "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))
(c-mode . ((c-file-style . "gnu")))
(scheme-mode
.
@@ -68,7 +37,7 @@
(eval . (put 'with-file-lock 'scheme-indent-function 1))
(eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1))
(eval . (put 'with-profile-lock 'scheme-indent-function 1))
(eval . (put 'with-writable-file 'scheme-indent-function 2))
(eval . (put 'with-writable-file 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'package/inherit 'scheme-indent-function 1))
@@ -121,9 +90,9 @@
(eval . (put 'let-system 'scheme-indent-function 1))
(eval . (put 'with-database 'scheme-indent-function 2))
(eval . (put 'call-with-transaction 'scheme-indent-function 1))
(eval . (put 'call-with-transaction 'scheme-indent-function 2))
(eval . (put 'with-statement 'scheme-indent-function 3))
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 1))
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 2))
(eval . (put 'call-with-savepoint 'scheme-indent-function 1))
(eval . (put 'call-with-retrying-savepoint 'scheme-indent-function 1))
-5
View File
@@ -74,7 +74,6 @@
/etc/guix-publish.conf
/etc/guix-publish.service
/etc/init.d/guix-daemon
/etc/openrc/guix-daemon
/guix-daemon
/guix/config.scm
/libformat.a
@@ -140,13 +139,9 @@ Makefile
Makefile.in
config.cache
stamp-h[0-9]
.dirstamp
.deps
tmp
/doc/os-config-lightweight-desktop.texi
/nix/scripts/download
/.version
/doc/stamp-[0-9]
/gnu/packages/bootstrap
/gnu/packages/aux-files/guile-guile-launcher.o
/guile
+2 -7
View File
@@ -1,5 +1,5 @@
;; This file, which is best viewed as -*- Scheme -*-, lists the OpenPGP keys
;; currently authorized to sign commits in this repository.
;; This is the list of OpenPGP keys currently authorized to sign commits in
;; this repository.
(authorizations
(version 0)
@@ -84,8 +84,6 @@
(name "lfam"))
("2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC"
(name "lsl88"))
("8887 84C4 1459 ACCB 83E7 E84C 634C 6E89 79FA BEC2"
(name "m1gu3l"))
("CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D"
(name "marusich"))
("BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
@@ -103,9 +101,6 @@
(name "ngz"))
("CEF4 CB91 4856 BA38 0A20 A7E2 3008 88CB 39C6 3817"
(name "pelzflorian"))
(;; primary: "41CA 12EA DE0C F33F 6885 A58F 5719 6E37 E00B 77FD"
"72D5 3D81 8CB6 F4A1 7258 374C A8FC 9E44 7F4F 7D54"
(name "planglois"))
(;; primary: "B68B DF22 73F9 DA0E 63C1 8A32 515B F416 9242 D600"
"C699 ED09 E51B CE89 FD1D A078 AAC7 E891 896B 568A"
(name "pgarlick"))
+1 -1
View File
@@ -13,7 +13,7 @@ Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
* Contributing
See the manual for useful hacking information, either by running
See the manual for useful hacking informations, either by running
info -f doc/guix.info "Contributing"
+18 -39
View File
@@ -47,18 +47,6 @@ scripts/guix: scripts/guix.in Makefile
$(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t"
$(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@"
# This is our variant of the 'guile' executable, one that doesn't complain
# about locales.
pkglibexec_PROGRAMS = guile
guile_SOURCES = gnu/packages/aux-files/guile-launcher.c
guile_LDADD = $(GUILE_LIBS)
guile_CFLAGS = $(GUILE_CFLAGS)
# Have the 'guix' command refer to our 'guile'.
install-exec-hook:
$(SED) -i "$(DESTDIR)$(bindir)/guix" \
-e 's,^#![[:graph:]]\+,#!$(pkglibexecdir)/guile,g'
nodist_noinst_SCRIPTS = \
pre-inst-env \
test-env
@@ -80,6 +68,7 @@ MODULES = \
guix/cpio.scm \
guix/deprecation.scm \
guix/docker.scm \
guix/json.scm \
guix/records.scm \
guix/openpgp.scm \
guix/pki.scm \
@@ -91,7 +80,6 @@ MODULES = \
guix/modules.scm \
guix/download.scm \
guix/discovery.scm \
guix/android-repo-download.scm \
guix/bzr-download.scm \
guix/git-download.scm \
guix/hg-download.scm \
@@ -105,7 +93,6 @@ MODULES = \
guix/derivations.scm \
guix/grafts.scm \
guix/repl.scm \
guix/transformations.scm \
guix/inferior.scm \
guix/describe.scm \
guix/quirks.scm \
@@ -183,7 +170,6 @@ MODULES = \
guix/build/minify-build-system.scm \
guix/build/font-build-system.scm \
guix/build/go-build-system.scm \
guix/build/android-repo.scm \
guix/build/asdf-build-system.scm \
guix/build/bzr.scm \
guix/build/copy-build-system.scm \
@@ -345,10 +331,10 @@ dist_noinst_DATA = \
AUX_FILES = \
gnu/packages/aux-files/chromium/master-preferences.json \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/linux-libre/5.9-arm.conf \
gnu/packages/aux-files/linux-libre/5.9-arm64.conf \
gnu/packages/aux-files/linux-libre/5.9-i686.conf \
gnu/packages/aux-files/linux-libre/5.9-x86_64.conf \
gnu/packages/aux-files/linux-libre/5.8-arm.conf \
gnu/packages/aux-files/linux-libre/5.8-arm64.conf \
gnu/packages/aux-files/linux-libre/5.8-i686.conf \
gnu/packages/aux-files/linux-libre/5.8-x86_64.conf \
gnu/packages/aux-files/linux-libre/5.4-arm.conf \
gnu/packages/aux-files/linux-libre/5.4-arm64.conf \
gnu/packages/aux-files/linux-libre/5.4-i686.conf \
@@ -408,7 +394,6 @@ SCM_TESTS = \
tests/base16.scm \
tests/base32.scm \
tests/base64.scm \
tests/boot-parameters.scm \
tests/bournish.scm \
tests/builders.scm \
tests/build-utils.scm \
@@ -457,6 +442,7 @@ SCM_TESTS = \
tests/pypi.scm \
tests/records.scm \
tests/scripts.scm \
tests/scripts-build.scm \
tests/search-paths.scm \
tests/services.scm \
tests/services/linux.scm \
@@ -473,7 +459,6 @@ SCM_TESTS = \
tests/syscalls.scm \
tests/system.scm \
tests/texlive.scm \
tests/transformations.scm \
tests/ui.scm \
tests/union.scm \
tests/upstream.scm \
@@ -562,7 +547,7 @@ dist_zshcompletion_DATA = etc/completion/zsh/_guix
dist_fishcompletion_DATA = etc/completion/fish/guix.fish
# SELinux policy
nodist_selinux_policy_DATA = etc/guix-daemon.cil
dist_selinux_policy_DATA = etc/guix-daemon.cil
EXTRA_DIST += \
HACKING \
@@ -570,7 +555,6 @@ EXTRA_DIST += \
TODO \
CODE-OF-CONDUCT \
.dir-locals.el \
.guix-authorizations \
.guix-channel \
scripts/guix.in \
etc/guix-install.sh \
@@ -586,7 +570,6 @@ EXTRA_DIST += \
build-aux/hydra/guix-modular.scm \
build-aux/cuirass/gnu-system.scm \
build-aux/cuirass/guix-modular.scm \
build-aux/cuirass/hurd-manifest.scm \
build-aux/cuirass/hydra-to-cuirass.scm \
build-aux/check-final-inputs-self-contained.scm \
build-aux/check-channel-news.scm \
@@ -668,11 +651,9 @@ channel_intro_commit = 9edb3f66fd807b096b48283debdcddccfea34bad
channel_intro_signer = BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA
# Authenticate the current Git checkout by checking signatures on every commit.
GUIX_GIT_KEYRING = origin/keyring
authenticate:
$(AM_V_at)echo "Authenticating Git checkout..." ; \
guix git authenticate \
--keyring=$(GUIX_GIT_KEYRING) \
--cache-key=channels/guix --stats \
"$(channel_intro_commit)" "$(channel_intro_signer)"
@@ -711,7 +692,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
# Name of the 'guix' package shipped in the binary tarball.
GUIX_FOR_BINARY_TARBALL = guix
GUIX_FOR_BINARY_TARBALL = guile3.0-guix
# The self-contained tarball.
guix-binary.%.tar.xz:
@@ -731,8 +712,8 @@ distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
EXTRA_DIST += $(top_srcdir)/.version
BUILT_SOURCES += $(top_srcdir)/.version
$(top_srcdir)/.version: config.status
$(AM_V_GEN)echo $(VERSION) > "$@-t" && mv "$@-t" "$@"
$(top_srcdir)/.version:
echo $(VERSION) > "$@-t" && mv "$@-t" "$@"
gen-tarball-version:
echo $(VERSION) > "$(distdir)/.tarball-version"
@@ -827,10 +808,9 @@ release: dist-with-updated-version
$(MKDIR_P) "$(releasedir)"
rm -f "$(releasedir)"/*
mv $(SOURCE_TARBALLS) "$(releasedir)"
GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes \
$(top_builddir)/pre-inst-env "$(GUILE)" \
$(top_srcdir)/build-aux/update-guix-package.scm \
"`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
$(top_builddir)/pre-inst-env "$(GUILE)" \
$(top_srcdir)/build-aux/update-guix-package.scm \
"`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_FOR_BINARY_TARBALL) \
@@ -842,10 +822,9 @@ release: dist-with-updated-version
mv "guix-binary.$$system.tar.xz" \
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
done
GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes \
$(top_builddir)/pre-inst-env "$(GUILE)" \
$(top_srcdir)/build-aux/update-guix-package.scm \
"`git rev-parse HEAD`"
$(top_builddir)/pre-inst-env "$(GUILE)" \
$(top_srcdir)/build-aux/update-guix-package.scm \
"`git rev-parse HEAD`"
git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
$(top_builddir)/pre-inst-env guix build guix \
@@ -853,8 +832,8 @@ release: dist-with-updated-version
-v1 --no-grafts --fallback
for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system disk-image -t iso9660 \
--label="GUIX_$${system}_$(VERSION)" \
guix system disk-image \
--file-system-type=iso9660 \
--system=$$system --fallback \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
-154
View File
@@ -11,160 +11,6 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.2.0 (since 1.1.0)
** Package management
*** guix pull now crytographically authenticates channels
*** guix describe -f channels now shows “channel introductions”
*** guix describe -f channels-sans-intro omits channel introductions
*** New guix git authenticate command, to authenticate Git checkouts
*** guix pull and guix system reconfigure detect attempts to downgrade
*** New --allow-downgrades option for guix pull and guix system
*** Guix build time reduced thanks to Guile 3.0.4s “baseline compiler”
*** New --with-debug-info package transformation option
*** New --with-c-toolchain package transformation option
*** New --without-tests package transformation option
*** --with-input & co. now also apply to implicit dependencies
*** Package transformation options are now recorded in profiles
*** New fakechroot “execution engine” for packs produced by guix pack -RR
*** New --cache-bypass-threshold option for guix publish
*** New --diff option for guix challenge, to compare substitutes
*** New --exclude option for guix lint, to exclude checkers
*** New check-for-collisions checker in guix lint
*** All of Guix and Guix System now runs on Guile 3.0
*** guix pull and --with-git-url now support authenticated SSH repos
*** guix pull now honors $http_proxy and $https_proxy
*** New --path option for guix graph, showing the shortest path
*** guix repl can now be passed a script to execute
*** guix help finally shows command descriptions
*** guix install etc. no longer list items to download by default
*** guix search etc. now automatically invoke the pager
*** New --hash option for guix hash
*** New --list-formats option for guix describe
*** New “Getting Started” section in the manual
** Distribution
*** Bootstrap binary seeds reduced to 60 MiB on x86_64/i686
*** New --target option for guix system, for cross-compilation
*** New --image-type option for guix system disk-image
*** New --label option for guix system disk-image
*** Guix System can now boot from a Btrfs subvolume
*** New hurd field of operating-system, for GNU/Hurd support
*** Guix System can be cross-compiled to GNU/Hurd with --target=i586-pc-gnu
*** New hurd-vm-service-type to spawn a GNU/Hurd VM on GNU/Linux
*** /etc/guix/acl on Guix System is now built from the OS configuration
*** rottlog-service-type is now part of %base-services
*** Linux-libre modules are now gzip-compressed
*** The efivarfs file system is now part of %base-file-systems
*** mcron job specs are now statically checked at OS build time
*** swap-devices field of operating-system can contains UUIDs and labels
*** Graphical installer uses UUIDs for unencrypted swap partitions
*** Graphical installer now supports NTFS file systems
*** File systems UUIDs and labels now recognized for F2FS and NTFS
*** Root file system can now be on NFS
*** New services
autossh, ganeti, gmnisrv, guix-build-coordinator,
guix-build-coordinator-agent, guix-build-coordinator-queue-builds, hostapd,
hurd-console, hurd-getty, hurd-vm, lxqt, rshiny, secret-service,
simulated-wifi, udev-rules, unattended-upgrade, webssh, zram
*** 1999 new packages
*** 3652 package updates
Noteworthy updates:
bash 5.0.16, binutils 2.34, cups 2.3.3, emacs 27.1, enlightenment 0.24.2,
gcc-toolchain 10.2.0, gdb 10.1, ghc 8.8.3, gimp 2.10.22, glibc 2.31,
gnome 3.34.2, gnupg 2.2.23, go 1.14.10, guile 3.0.4,
icecat 78.4.0-guix0-preview1, inkscape 1.0.1, julia 1.5.2,
libreoffice 6.4.6.2, linux-libre 5.9.3, mate 1.24.1, ocaml 4.09.0,
openjdk 14.0, perl 5.30.2, python2 2.7.17, python 3.8.2, racket 7.8,
rust 1.46.0, r 4.0.3, sbcl 2.0.10, shepherd 0.8.1, xfce 4.14.2,
xorg-server 1.20.8
** Programming interfaces
*** New maven-build-system, for packages built with Maven
*** haskell-build-system now always adds a “static” output
*** New (gnu image) module, to build system images
*** New (guix git-authenticate) module, for Git checkout authentication
*** New (guix openpgp) module with a minimal OpenPGP implementation
*** New (guix transformations) module, for package transformations
*** New (gnu services hurd) module providing GNU/Hurd services
*** (guix json) removed in favor of Guile-JSONs (json) module
*** (guix zlib) and (guix lzlib) removed in favor of Guile-{Zlib,Lzlib}
*** local-file warns about non-literal relative file names
*** Daemon now supports more hash algorithms: SHA3 and BLAKE2s
*** New <content-hash> record type for use in origin
*** New let-system for in (guix gexp), for system-dependent code
*** New lowerable <profile> record type in (guix profiles)
*** (gnu build secret-service) can share secrets with a guest OS
*** “Programming Interface” section of the manual greatly expounded
** Noteworthy bug fixes
*** guix pull now shows a progress bar while fetching from Git
(<https://bugs.gnu.org/39260>)
*** guix copy and guix deploy show a progress bar while copying
*** Bootloader messages are now localized
(<https://issues.guix.gnu.org/35394>)
*** guix system reconfigure now starts services not currently running
(<https://bugs.gnu.org/43720>)
*** Desktop environments now detect newly installed applications
(<https://bugs.gnu.org/35594>)
*** Offloading and copying small items is now much faster
(<https://issues.guix.gnu.org/43340>)
*** GCC switched back to C_INCLUDE_PATH & co. from CPATH
(<https://bugs.gnu.org/30756>)
*** Graphical installer no longer hangs while connecting to WiFi network
(<https://issues.guix.gnu.org/40682>)
*** GNU Aspell truly honors ASPELL_DICT_DIR (<https://bugs.gnu.org/29686>)
*** Fix overly aggressive memoization of “commencement” packages
(<https://bugs.gnu.org/40482>)
*** Duplicate /etc entries are now reported (<https://bugs.gnu.org/40729>)
*** guix pack -R wrapper correctly reports exit code
(<https://bugs.gnu.org/40816>)
*** Fix time travel to pre-Guile 3.0 revisions
(<https://bugs.gnu.org/41028>)
*** package-grafts returns grafts for all the relevant outputs
(<https://bugs.gnu.org/41796>)
*** guix pull and related commands authenticate Git checkouts
(<https://bugs.gnu.org/22883>)
*** Fix GNU libstdc++ misconfiguration in recent gcc-toolchain versions
(<https://bugs.gnu.org/42392>)
*** guix pack -R wraps propagated inputs as well
(<https://bugs.gnu.org/42510>)
*** guix pack -R wrapper leaves root available to child processes
(<https://bugs.gnu.org/44261>)
*** lib/guix/package.cache generated by guix pull is now bit-reproducible
(<https://bugs.gnu.org/42009>)
*** Graphical installer now properly detects disks containing an LVM partition
(<https://issues.guix.gnu.org/42683>)
*** Fix possible crash when copying store items over SSH
(<https://bugs.gnu.org/42740>)
*** gcc is now a “deprecated” alias for gcc-toolchain
(<https://bugs.gnu.org/43303>)
*** package-input-rewriting & co. no longer yield unnecessary rebuilds
(<https://bugs.gnu.org/42156>)
*** Offloading better normalizes build machine load
(<https://issues.guix.gnu.org/43773>)
*** guix build --check now honors --rounds
(<https://issues.guix.gnu.org/40144>)
*** guix-install.sh now installs shell completion files
(<https://bugs.gnu.org/43744>)
*** guix-install.sh now warns about lack of nscd
(<https://bugs.gnu.org/43744>)
** Native language support
*** Updated translations of the manual
The manual is fully translated into French, German, and Spanish, and has
preliminary translations into Chinese and Russian.
*** Updated translations of messages
This version of Guix is fully translated in French, German, and Spanish, and
partially translated in 11 other languages.
* Changes in 1.1.0 (since 1.0.1)
** Package management
*** New guix deploy command to deploy several machines at once
+16 -5
View File
@@ -33,14 +33,25 @@ See the manual for the installation instructions, either by running
or by checking the [[https://guix.gnu.org/manual/en/html_node/Installation.html][web copy of the manual]].
* Building from Git
For information on installation from a Git checkout, please see the section
"Building from Git" in the manual.
For information on building Guix from a Git checkout, please see the relevant
section in the manual, either by running
* Installing Guix from Guix
info -f doc/guix.info "Building from Git"
You can re-build and re-install Guix using a system that already runs Guix.
To do so:
or by checking the [[https://guix.gnu.org/manual/en/html_node/Building-from-Git.html][web_copy of the manual]].
- Start a shell with the development environment for Guix:
guix environment guix
- Re-run the 'configure' script passing it the option
'--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir'
value of the currently installed Guix (failing to do that would lead the
new Guix to consider the store to be empty!). We recommend to use the
value '/var'.
- Run "make", "make check", and "make install".
* How It Works
-74
View File
@@ -1,74 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;;
;;; This file defines a manifest with a selection of packages for Cuirass to
;;; build for GNU/Hurd.
;;;
;;; Code:
(use-modules (gnu)
(gnu system hurd)
(guix packages)
(guix utils)
(ice-9 match)
(srfi srfi-1))
(use-package-modules
base commencement compression file gawk gdb gettext guile
hurd less m4 package-management python ssh version-control)
(define (input->package input)
"Return the INPUT as package, or #f."
(match input
((label (and (? package?) package))
package)
((label (and (? package?) package . output))
(cons package output))
(_ #f)))
(define guix-dependencies
(filter-map input->package
(fold alist-delete (package-direct-inputs guix)
'("glibc-utf8-locales" "graphviz" "po4a"))))
(define (package-without-tests p)
(package/inherit p
(arguments
(substitute-keyword-arguments (package-arguments p)
((#:tests? _ #f) #f)))))
(packages->manifest
(cons*
;; where it all starts
hello
;; development utililities
diffutils file findutils gawk grep gzip less m4 openssh-sans-x tar xz
;; development packages
gcc-toolchain gdb-minimal git-minimal gnu-make
;; guix environment guix --without-tests=python-minimal --without-tests=gettext-minimal
(package-without-tests gettext-minimal)
(package-without-tests python-minimal)
(append
guix-dependencies
(delete guile-3.0 %base-packages/hurd))))
+11 -19
View File
@@ -43,25 +43,17 @@ for SYSTEM. Use VERSION as the version identifier."
(define build
(primitive-load (string-append source "/build-aux/build-self.scm")))
(let ((drv (run-with-store store
(build source #:version version #:system system
#:pull-version 1
#:guile-version "2.2"))))
`((derivation . ,(derivation-file-name drv)) ;the latest 2.2.x
(log . ,(log-file store (derivation-file-name drv)))
(outputs . ,(filter-map (lambda (res)
(match res
((name . path)
`(,name . ,path))))
(derivation->output-paths drv)))
(nix-name . ,(derivation-name drv))
(system . ,(derivation-system drv))
(description . "Modular Guix")
(long-description
. "This is the modular Guix package as produced by 'guix pull'.")
(license . ,license:gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . (,%guix-bug-report-address))))))
`((derivation . ,(derivation-file-name
(run-with-store store
(build source #:version version #:system system
#:pull-version 1
#:guile-version "2.2")))) ;the latest 2.2.x
(description . "Modular Guix")
(long-description
. "This is the modular Guix package as produced by 'guix pull'.")
(license . ,license:gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . (,%guix-bug-report-address)))))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
+38 -107
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,25 +24,20 @@
;;; Code:
(use-modules (guix)
(guix ui)
(guix git-download)
(guix upstream)
(guix utils)
(guix base32)
(guix build utils)
(guix scripts hash)
(gnu packages package-management)
(ice-9 match)
(ice-9 popen)
(ice-9 regex)
(ice-9 textual-ports)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-26))
(ice-9 match))
(define %top-srcdir
(string-append (current-source-directory) "/.."))
(define version-controlled?
(git-predicate %top-srcdir))
(define (package-definition-location)
"Return the source properties of the definition of the 'guix' package."
(call-with-input-file (location-file (package-location guix))
@@ -107,107 +101,44 @@ COMMIT."
(exp
(error "'guix' package definition is not as expected" exp)))))
(define (git-add-worktree directory commit)
"Create a new git worktree at DIRECTORY, detached on commit COMMIT."
(invoke "git" "worktree" "add" "--detach" directory commit))
(define (call-with-temporary-git-worktree commit proc)
"Execute PROC in the context of a temporary git worktree created from
COMMIT. PROC receives the temporary directory file name as an argument."
(call-with-temporary-directory
(lambda (tmp-directory)
(dynamic-wind
(lambda ()
#t)
(lambda ()
(git-add-worktree tmp-directory commit)
(proc tmp-directory))
(lambda ()
(invoke "git" "worktree" "remove" "--force" tmp-directory))))))
(define %savannah-guix-git-repo-push-url-regexp
"git.(savannah|sv).gnu.org:?/srv/git/guix.git \\(push\\)")
(define-syntax-rule (with-input-pipe-to-string prog arg ...)
(let* ((input-pipe (open-pipe* OPEN_READ prog arg ...))
(output (get-string-all input-pipe))
(exit-val (status:exit-val (close-pipe input-pipe))))
(unless (zero? exit-val)
(error (format #f "Command ~s exited with non-zero exit status: ~s"
(string-join (list prog arg ...)) exit-val)))
(string-trim-both output)))
(define (find-origin-remote)
"Find the name of the git remote with the Savannah Guix git repo URL."
(and-let* ((remotes (string-split (with-input-pipe-to-string
"git" "remote" "-v")
#\newline))
(origin-entry (find (cut string-match
%savannah-guix-git-repo-push-url-regexp
<>)
remotes)))
(first (string-split origin-entry #\tab))))
(define (commit-already-pushed? remote commit)
"True if COMMIT is found in the REMOTE repository."
(not (string-null? (with-input-pipe-to-string
"git" "branch" "-r" "--contains" commit
(string-append remote "/master")))))
(define (keep-source-in-store store source)
"Add SOURCE to the store under the name that the 'guix' package expects."
;; Add SOURCE to the store, but this time under the real name used in the
;; 'origin'. This allows us to build the package without having to make a
;; real checkout; thus, it also works when working on a private branch.
(reload-module
(resolve-module '(gnu packages package-management)))
(let* ((source (add-to-store store
(origin-file-name (package-source guix))
#t "sha256" source
#:select? (git-predicate source)))
(root (store-path-package-name source)))
;; Add an indirect GC root for SOURCE in the current directory.
(false-if-exception (delete-file root))
(symlink source root)
(add-indirect-root store
(string-append (getcwd) "/" root))
(info (G_ "source code kept in ~a (GC root: ~a)~%")
source root)))
(define (main . args)
(match args
((commit version)
(with-directory-excursion %top-srcdir
(or (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
(let ((remote (find-origin-remote)))
(unless remote
(leave (G_ "Failed to find the origin git remote.~%")))
(commit-already-pushed? remote commit))
(leave (G_ "Commit ~a is not pushed upstream. Aborting.~%") commit))
(call-with-temporary-git-worktree commit
(lambda (tmp-directory)
(let* ((hash (nix-base32-string->bytevector
(string-trim-both
(with-output-to-string
(lambda ()
(guix-hash "-rx" tmp-directory))))))
(location (package-definition-location))
(old-hash (content-hash-value
(origin-hash (package-source guix)))))
(edit-expression location
(update-definition commit hash
#:old-hash old-hash
#:version version))
;; When GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set, the sources are
;; added to the store. This is used as part of 'make release'.
(when (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
(with-store store
(keep-source-in-store store tmp-directory))))))))
(with-store store
(let* ((source (add-to-store store
"guix-checkout" ;dummy name
#t "sha256" %top-srcdir
#:select? version-controlled?))
(hash (query-path-hash store source))
(location (package-definition-location))
(old-hash (content-hash-value
(origin-hash (package-source guix)))))
(edit-expression location
(update-definition commit hash
#:old-hash old-hash
#:version version))
;; Re-add SOURCE to the store, but this time under the real name used
;; in the 'origin'. This allows us to build the package without
;; having to make a real checkout; thus, it also works when working
;; on a private branch.
(reload-module
(resolve-module '(gnu packages package-management)))
(let* ((source (add-to-store store
(origin-file-name (package-source guix))
#t "sha256" source))
(root (store-path-package-name source)))
;; Add an indirect GC root for SOURCE in the current directory.
(false-if-exception (delete-file root))
(symlink source root)
(add-indirect-root store
(string-append (getcwd) "/" root))
(format #t "source code for commit ~a: ~a (GC root: ~a)~%"
commit source root)))))
((commit)
;; Automatically deduce the version and revision numbers.
(main commit #f))))
-8
View File
@@ -105,9 +105,6 @@ if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then
PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3])
fi
dnl Get CFLAGS and LDFLAGS for libguile.
GUILE_FLAGS
dnl Installation directories for .scm and .go files.
guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"
@@ -144,11 +141,6 @@ if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then
AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.])
fi
GUIX_CHECK_GUILE_GIT
if test "x$guix_cv_have_recent_guile_git" != "xyes"; then
AC_MSG_ERROR([A recent Guile-Git could not be found; please install it.])
fi
dnl Check for Guile-zlib.
GUILE_MODULE_AVAILABLE([have_guile_zlib], [(zlib)])
if test "x$have_guile_zlib" != "xyes"; then
+129 -386
View File
@@ -33,7 +33,6 @@
(guix utils)
(git)
(gnu packages base)
(gnu packages compression)
(gnu packages gawk)
(gnu packages gettext)
(gnu packages guile)
@@ -41,10 +40,7 @@
(gnu packages iso-codes)
(gnu packages texinfo)
(gnu packages tex)
(ice-9 match)
(srfi srfi-1)
(srfi srfi-19)
(srfi srfi-26)
(srfi srfi-71))
(define file-append*
@@ -182,181 +178,42 @@ as well as images, OS examples, and translations."
"-c" "EXTRA_HEAD=<meta name=\"viewport\" \
content=\"width=device-width, initial-scale=1\" />"))
(define (normalize-language-code language) ;XXX: deduplicate
;; Normalize LANGUAGE. For instance, "zh_CN" becomes "zh-cn".
(string-map (match-lambda
(#\_ #\-)
(chr chr))
(string-downcase language)))
(define* (html-manual-identifier-index manual base-url
#:key
(name "html-manual-identifier-index"))
"Return an index of all the identifiers that appear in MANUAL, a
makeinfo-generated manual. The index is a file that contains an alist; each
key is an identifier and the associated value is the URL reference pointing to
that identifier. The URL is constructed by concatenating BASE-URL to the
actual file name."
(define build
(with-extensions (list guile-lib)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils)
(htmlprag)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 ftw)
(ice-9 match)
(ice-9 threads)
(ice-9 pretty-print))
(%strict-tokenizer? #t)
(define file-url
(let ((prefix (string-append #$manual "/")))
(lambda (file)
;; Return the URL for FILE.
(let ((file (string-drop file (string-length prefix)))
(base #$base-url))
(if (string-null? base)
file
(string-append base "/" 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 (anchors '()))
;; Collect the anchors that appear in FILE, a makeinfo-generated
;; file. Grab those from <dt> tags, which corresponds to
;; Texinfo @deftp, @defvr, etc. Return ANCHORS 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)
((('span ('@ ('class "symbol-definition-category"))
(? string-or-entity?) ...) rest ...)
#t)
(x
#f))))
(let ((shtml (call-with-input-file file html->shtml)))
(let loop ((shtml shtml)
(anchors anchors))
(match shtml
(('dt ('@ ('id id) _ ...) rest ...)
(if (and (string-prefix? "index-" id)
(worthy-entry? rest))
(alist-cons (anchor-id->key id)
(string-append (file-url file)
"#" id)
anchors)
anchors))
((tag ('@ _ ...) body ...)
(fold loop anchors body))
((tag body ...)
(fold loop anchors body))
(_ anchors)))))
(define (html-files directory)
;; Return the list of HTML files under DIRECTORY.
(map (cut string-append directory "/" <>)
(scandir #$manual (lambda (file)
(string-suffix? ".html" file)))))
(define anchors
(sort (concatenate
(n-par-map (parallel-job-count)
(cut collect-anchors <>)
(html-files #$manual)))
(match-lambda*
(((key1 . url1) (key2 . url2))
(if (string=? key1 key2)
(string<? url1 url2)
(string<? key1 key2))))))
(call-with-output-file #$output
(lambda (port)
(display ";; Identifier index for the manual.\n\n"
port)
(pretty-print anchors port)))))))
(computed-file name build))
(define* (html-identifier-indexes manual directory-suffix
#:key (languages %languages)
(manual-name %manual)
(base-url (const "")))
(map (lambda (language)
(let ((language (normalize-language-code language)))
(list language
(html-manual-identifier-index
(file-append manual "/" language directory-suffix)
(base-url language)
#:name (string-append manual-name "-html-index-"
language)))))
languages))
(define guile-lib/htmlprag-fixed
;; Guile-Lib with a hotfix for (htmlprag).
(package
(inherit guile-lib)
(arguments
(substitute-keyword-arguments (package-arguments guile-lib)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(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
(name "highlighted-syntax")
(languages %languages)
(mono-node-indexes
(html-identifier-indexes input ""
#:languages
languages))
(split-node-indexes
(html-identifier-indexes input
"/html_node"
#:languages
languages))
(syntax-css-url
"/static/base/css/code.css"))
"Return a derivation called NAME that processes all the HTML files in INPUT
to (1) add them a link to SYNTAX-CSS-URL, and (2) highlight the syntax of all
its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(define build
(with-extensions (list guile-lib guile-syntax-highlight)
(with-extensions (list guile-lib/htmlprag-fixed guile-syntax-highlight)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (htmlprag)
@@ -370,8 +227,6 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(ice-9 threads)
(ice-9 vlist))
(%strict-tokenizer? #t)
(define (pair-open/close lst)
;; Pair 'open' and 'close' tags produced by 'highlights' and
;; produce nested 'paren' tags instead.
@@ -455,25 +310,10 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(loop rest (cons (entity->string entity) strings)))
((('span _ lst ...) . rest) ;for <span class="roman">
(loop (append lst rest) strings))
((('var name) . rest) ;for @var{name} within @lisp
(loop rest (cons name strings))) ;XXX: losing formatting
(something
(pk 'unsupported-code-snippet something)
(primitive-exit 1)))))
(define (highlight-definition id category symbol args)
;; Produce stylable HTML for the given definition (an @deftp,
;; @deffn, or similar).
`(dt (@ (id ,id) (class "symbol-definition"))
(span (@ (class "symbol-definition-category"))
,@category)
(span (@ (class "symbol-definition-prototype"))
,symbol " " ,@args)))
(define (space? obj)
(and (string? obj)
(string-every char-set:whitespace obj)))
(define (syntax-highlight sxml anchors)
;; Recurse over SXML and syntax-highlight code snippets.
(let loop ((sxml sxml))
@@ -492,15 +332,6 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(highlight lex-scheme
(concatenate-snippets code-snippet)))
anchors)))
;; Replace the ugly <strong> used for @deffn etc., which
;; translate to <dt>, with more stylable markup.
(('dt (@ ('id id)) category ... ('strong thing))
(highlight-definition id category thing '()))
(('dt (@ ('id id)) category ... ('strong thing)
(? space?) ('em args ...))
(highlight-definition id category thing args))
((tag ('@ attributes ...) body ...)
`(,tag (@ ,@attributes) ,@(map loop body)))
((tag body ...)
@@ -508,6 +339,78 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
((? string? str)
str))))
(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.
@@ -539,59 +442,38 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(define (html? file stat)
(string-suffix? ".html" file))
(define language+node-anchors
(match-lambda
((language files ...)
(cons language
(fold (lambda (file vhash)
(let ((alist (call-with-input-file file read)))
;; Use 'fold-right' so that the first entry
;; wins (e.g., "car" from "Pairs" rather than
;; from "rnrs base" in the Guile manual).
(fold-right (match-lambda*
(((key . value) vhash)
(vhash-cons key value vhash)))
vhash
alist)))
vlist-null
files)))))
(define mono-node-anchors
;; List of language/vhash pairs, where each vhash maps an
;; identifier to the corresponding URL in a single-page manual.
(map language+node-anchors '#$mono-node-indexes))
(define multi-node-anchors
;; Likewise for split-node manuals.
(map language+node-anchors '#$split-node-indexes))
;; 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.
(for-each (match-lambda
((language . anchors)
(let ((files (find-files
(string-append #$input "/" language)
"^guix(-cookbook|)(\\.[a-zA-Z_-]+)?\\.html$")))
(n-par-for-each (parallel-job-count)
(cut process-html <> anchors)
files))))
mono-node-anchors)
(n-par-for-each (parallel-job-count)
(lambda (mono)
(let ((anchors (collect-anchors mono)))
(process-html mono anchors)))
(find-files
#$input
"^guix(-cookbook|)(\\.[a-zA-Z_-]+)?\\.html$"))
;; Process the multi-node HTML files.
(for-each (match-lambda
((language . anchors)
(let ((files (find-files
(string-append #$input "/" language
"/html_node")
"\\.html$")))
(n-par-for-each (parallel-job-count)
(cut process-html <> anchors)
files))))
multi-node-anchors)
;; 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
@@ -602,8 +484,6 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(define* (html-manual source #:key (languages %languages)
(version "0.0")
(manual %manual)
(mono-node-indexes (map list languages))
(split-node-indexes (map list languages))
(date 1)
(options %makeinfo-html-options))
"Return the HTML manuals built from SOURCE for all LANGUAGES, with the given
@@ -692,8 +572,6 @@ makeinfo OPTIONS."
(let* ((name (string-append manual "-html-manual"))
(manual (computed-file name build)))
(syntax-highlighted-html manual
#:mono-node-indexes mono-node-indexes
#:split-node-indexes split-node-indexes
#:name (string-append name "-highlighted"))))
(define* (pdf-manual source #:key (languages %languages)
@@ -1040,8 +918,6 @@ languages:\n"
#:key (languages %languages)
(version "0.0")
(date (time-second (current-time time-utc)))
(mono-node-indexes (map list %languages))
(split-node-indexes (map list %languages))
(manual %manual))
"Return the union of the HTML and PDF manuals, as well as the indexes."
(directory-union (string-append manual "-manual")
@@ -1052,12 +928,7 @@ languages:\n"
#:version version
#:manual manual))
(list html-manual-indexes
(lambda (source . args)
(apply html-manual source
#:mono-node-indexes mono-node-indexes
#:split-node-indexes split-node-indexes
args))
pdf-manual))
html-manual pdf-manual))
#:copy? #t))
(define (latest-commit+date directory)
@@ -1070,146 +941,18 @@ commit date (an integer)."
;; TODO: Use (git describe) when it's widely available.
(values (oid->string oid) (commit-time commit))))
;;;
;;; Guile manual.
;;;
(define guile-manual
;; The Guile manual as HTML, including both the mono-node "guile.html" and
;; the split-node "html_node" directory.
(let ((guile guile-3.0-latest))
(computed-file (string-append "guile-manual-" (package-version guile))
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils)
(ice-9 match))
(setenv "PATH"
(string-append #+tar "/bin:"
#+xz "/bin:"
#+texinfo "/bin"))
(invoke "tar" "xf" #$(package-source guile))
(mkdir-p (string-append #$output "/en/html_node"))
(let* ((texi (find-files "." "^guile\\.texi$"))
(documentation (match texi
((file) (dirname file)))))
(with-directory-excursion documentation
(invoke "makeinfo" "--html" "--no-split"
"-o" (string-append #$output
"/en/guile.html")
"guile.texi")
(invoke "makeinfo" "--html" "-o" "split"
"guile.texi")
(copy-recursively
"split"
(string-append #$output "/en/html_node")))))))))
(define %guile-manual-base-url
"https://www.gnu.org/software/guile/manual")
(define (for-all-languages index)
(map (lambda (language)
(list language index))
%languages))
(define guile-mono-node-indexes
;; The Guile manual is only available in English so use the same index in
;; all languages.
(for-all-languages
(html-manual-identifier-index (file-append guile-manual "/en")
%guile-manual-base-url
#:name "guile-html-index-en")))
(define guile-split-node-indexes
(for-all-languages
(html-manual-identifier-index (file-append guile-manual "/en/html_node")
(string-append %guile-manual-base-url
"/html_node")
#:name "guile-html-index-en")))
(define (merge-index-alists alist1 alist2)
"Merge ALIST1 and ALIST2, both of which are list of tuples like:
(LANGUAGE INDEX1 INDEX2 ...)
where LANGUAGE is a string like \"en\" and INDEX1 etc. are indexes as returned
by 'html-identifier-indexes'."
(let ((languages (delete-duplicates
(append (match alist1
(((languages . _) ...)
languages))
(match alist2
(((languages . _) ...)
languages))))))
(map (lambda (language)
(cons language
(append (or (assoc-ref alist1 language) '())
(or (assoc-ref alist2 language) '()))))
languages)))
(let* ((root (canonicalize-path
(string-append (current-source-directory) "/..")))
(commit date (latest-commit+date root))
(version (or (getenv "GUIX_MANUAL_VERSION")
(string-take commit 7)))
(select? (let ((vcs? (git-predicate root)))
(lambda (file stat)
(and (vcs? file stat)
;; Filter out this file.
(not (string=? (basename file) "build.scm"))))))
(source (local-file root "guix" #:recursive? #t
#:select? select?)))
(define guix-manual
(html-manual source
#:manual "guix"
#:version version
#:date date))
(define guix-mono-node-indexes
;; Alist of indexes for GUIX-MANUAL, where each key is a language code and
;; each value is a file-like object containing the identifier index.
(html-identifier-indexes guix-manual ""
#:manual-name "guix"
#:base-url (if (string=? %manual "guix")
(const "")
(cut string-append
"/manual/devel/" <>))
#:languages %languages))
(define guix-split-node-indexes
;; Likewise for the split-node variant of GUIX-MANUAL.
(html-identifier-indexes guix-manual "/html_node"
#:manual-name "guix"
#:base-url (if (string=? %manual "guix")
(const "")
(cut string-append
"/manual/devel/" <>
"/html_node"))
#:languages %languages))
(define mono-node-indexes
(merge-index-alists guix-mono-node-indexes guile-mono-node-indexes))
(define split-node-indexes
(merge-index-alists guix-split-node-indexes guile-split-node-indexes))
(commit date (latest-commit+date root)))
(format (current-error-port)
"building manual from work tree around commit ~a, ~a~%"
commit
(let* ((time (make-time time-utc 0 date))
(date (time-utc->date time)))
(date->string date "~e ~B ~Y")))
(pdf+html-manual source
;; Always use the identifier indexes of GUIX-MANUAL and
;; GUILE-MANUAL. Both "guix" and "guix-cookbook" can
;; contain links to definitions that appear in either of
;; these two manuals.
#:mono-node-indexes mono-node-indexes
#:split-node-indexes split-node-indexes
#:version version
(pdf+html-manual (local-file root "guix" #:recursive? #t
#:select? (git-predicate root))
#:version (or (getenv "GUIX_MANUAL_VERSION")
(string-take commit 7))
#:date date))
+11 -84
View File
@@ -28,7 +28,6 @@ choice.
* Submitting Patches:: Share your work.
* Tracking Bugs and Patches:: Using Debbugs.
* Commit Access:: Pushing to the official repository.
* Updating the Guix Package:: Updating the Guix package definition.
@end menu
@node Building from Git
@@ -122,9 +121,8 @@ more information.
Then, run @command{./configure} as usual. Make sure to pass
@code{--localstatedir=@var{directory}} where @var{directory} is the
@code{localstatedir} value used by your current installation (@pxref{The
Store}, for information about this), usually @file{/var}. Note that you
will probably not run @command{make install} at the end (you don't have
to) but it's still important to pass the right @code{localstatedir}.
Store}, for information about this). We recommend to use the value
@code{/var}.
Finally, you have to invoke @code{make check} to run tests
(@pxref{Running the Test Suite}). If anything
@@ -140,16 +138,6 @@ make authenticate
The first run takes a couple of minutes, but subsequent runs are faster.
Or, when your configuration for your local Git repository doesn't match
the default one, you can provide the reference for the @code{keyring}
branch through the variable @code{GUIX_GIT_KEYRING}. The following
example assumes that you have a Git remote called @samp{myremote}
pointing to the official repository:
@example
make authenticate GUIX_GIT_KEYRING=myremote/keyring
@end example
@quotation Note
You are advised to run @command{make authenticate} after every
@command{git pull} invocation. This ensures you keep receiving valid
@@ -171,11 +159,13 @@ with all the dependencies available (@pxref{Building from Git}), and then
simply prefix each command with
@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
top build tree of Guix; it is generated by @command{./configure}).
As an example, here is how you would build the @code{hello} package as
defined in your working tree (this assumes @command{guix-daemon} is
already running on your system; it's OK if it's a different version):
An example@footnote{The @option{-E} flag to
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set
such that @command{guix-daemon} and the tools it uses can find the Guile
modules they need.}:
@example
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
$ ./pre-inst-env guix build hello
@end example
@@ -210,17 +200,6 @@ scheme@@(guile-user)> (length snakes)
$1 = 361
@end example
If you are hacking on the daemon and its supporting code or if
@command{guix-daemon} is not already running on your system, you can
launch it straight from the build tree@footnote{The @option{-E} flag to
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set
such that @command{guix-daemon} and the tools it uses can find the Guile
modules they need.}:
@example
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
@end example
The @command{pre-inst-env} script sets up all the environment variables
necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}.
@@ -374,7 +353,7 @@ Once your package builds correctly, please send us a patch
(@pxref{Submitting Patches}). Well, if you need help, we will be happy to
help you too. Once the patch is committed in the Guix repository, the
new package automatically gets built on the supported platforms by
@url{@value{SUBSTITUTE-URL}, our continuous integration system}.
@url{@value{SUBSTITUTE-SERVER}, our continuous integration system}.
@cindex substituter
Users can obtain the new package definition simply by running
@@ -390,7 +369,6 @@ needed is to review and apply the patch.
* Package Naming:: What's in a name?
* Version Numbers:: When the name is not enough.
* Synopses and Descriptions:: Helping users find the right package.
* Snippets versus Phases:: Whether to use a snippet, or a build phase.
* Python Modules:: A touch of British comedy.
* Perl Modules:: Little pearls.
* Java Packages:: Coffee break.
@@ -615,26 +593,12 @@ to make recommendations or instructions visible to them by inserting
special comments like this (@pxref{xgettext Invocation,,, gettext, GNU
Gettext}):
@lisp
@example
;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
(description "ARandR is designed to provide a simple visual front end
for the X11 resize-and-rotate (RandR) extension. @dots{}")
@end lisp
@end example
@node Snippets versus Phases
@subsection Snippets versus Phases
@cindex snippets, when to use
The boundary between using an origin snippet versus a build phase to
modify the sources of a package can be elusive. Origin snippets are
typically used to remove unwanted files such as bundled libraries,
nonfree sources, or to apply simple substitutions. The source derived
from an origin should produce a source that can be used to build the
package on any system that the upstream package supports (i.e., act as
the corresponding source). In particular, origin snippets must not
embed store items in the sources; such patching should rather be done
using build phases. Refer to the @code{origin} record documentation for
more information (@pxref{origin Reference}).
@node Python Modules
@subsection Python Modules
@@ -1037,7 +1001,7 @@ changes). This branch is intended to be merged in @code{master} every
6 months or so.
@end table
All these branches are @uref{@value{SUBSTITUTE-URL},
All these branches are @uref{@value{SUBSTITUTE-SERVER},
tracked by our build farm} and merged into @code{master} once
everything has been successfully built. This allows us to fix issues
before they hit users, and to reduce the window during which pre-built
@@ -1334,40 +1298,3 @@ only push their own awesome changes, but also offer some of their time
@emph{reviewing} and pushing other people's changes. As a committer,
you're welcome to use your expertise and commit rights to help other
contributors, too!
@node Updating the Guix Package
@section Updating the Guix Package
@cindex update-guix-package, updating the guix package
It is sometimes desirable to update the @code{guix} package itself (the
package defined in @code{(gnu packages package-management)}), for
example to make new daemon features available for use by the
@code{guix-service-type} service type. In order to simplify this task,
the following command can be used:
@example
make update-guix-package
@end example
The @code{update-guix-package} make target will use the last known
@emph{commit} corresponding to @code{HEAD} in your Guix checkout,
compute the hash of the Guix sources corresponding to that commit and
update the @code{commit}, @code{revision} and hash of the @code{guix}
package definition.
To validate that the updated @code{guix} package hashes are correct and
that it can be built successfully, the following command can be run from
the directory of your Guix checkout:
@example
./pre-inst-env guix build guix
@end example
To guard against accidentally updating the @code{guix} package to a
commit that others can't refer to, a check is made that the commit used
has already been pushed to the Savannah-hosted Guix git repository.
This check can be disabled, @emph{at your own peril}, by setting the
@code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable. When
this variable is set, the updated package source is also added to the
store. This is used as part of the release process of Guix.
+31 -337
View File
@@ -16,7 +16,6 @@ Copyright @copyright{} 2020 Matthew Brooks@*
Copyright @copyright{} 2020 Marcin Karpezo@*
Copyright @copyright{} 2020 Brice Waegeneire@*
Copyright @copyright{} 2020 André Batista@*
Copyright @copyright{} 2020 Christopher Lemmer Webber
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -128,9 +127,8 @@ REPL.
@item
Scheme syntax boils down to a tree of expressions (or @emph{s-expression} in
Lisp lingo). An expression can be a literal such as numbers and strings, or a
compound which is a parenthesized list of compounds and literals. @code{#true}
and @code{#false} (abbreviated @code{#t} and @code{#f}) stand for the
Booleans ``true'' and ``false'', respectively.
compound which is a parenthesized list of compounds and literals. @code{#t}
and @code{#f} stand for the Booleans ``true'' and ``false'', respectively.
Examples of valid expressions:
@@ -250,10 +248,8 @@ definitions.
@end lisp
@item
@dfn{Keywords} are typically used to identify the named parameters of a
procedure. They are prefixed by @code{#:} (hash, colon) followed by
alphanumeric characters: @code{#:like-this}.
@xref{Keywords,,, guile, GNU Guile Reference Manual}.
The keyword syntax is @code{#:}; it is used to create unique identifiers.
@pxref{Keywords,,, guile, GNU Guile Reference Manual}.
@item
The percentage @code{%} is typically used for read-only global variables in
@@ -794,11 +790,11 @@ another, more sophisticated package (slightly modified from the source):
(snippet '(begin
;; Remove bundled software.
(delete-file-recursively "deps")
#true))))
#t))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
`(#:tests? #true ; Run the test suite (this is the default)
`(#:tests? #t ; Run the test suite (this is the default)
#:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection
#:phases
(modify-phases %standard-phases
@@ -809,12 +805,12 @@ another, more sophisticated package (slightly modified from the source):
(substitute* "tests/clar/fs.h"
(("/bin/cp") (which "cp"))
(("/bin/rm") (which "rm")))
#true))
#t))
;; Run checks more verbosely.
(replace 'check
(lambda _ (invoke "./libgit2_clar" "-v" "-Q")))
(add-after 'unpack 'make-files-writable-for-tests
(lambda _ (for-each make-file-writable (find-files "." ".*")))))))
(lambda _ (for-each make-file-writable (find-files "." ".*")))))))
(inputs
`(("libssh2" ,libssh2)
("http-parser" ,http-parser)
@@ -1032,7 +1028,7 @@ If you want to know more about what happens during those phases, consult the
associated procedures.
For instance, as of this writing the definition of @code{unpack} for the GNU build
system is:
system is
@lisp
(define* (unpack #:key source #:allow-other-keys)
@@ -1047,13 +1043,13 @@ working directory."
;; Preserve timestamps (set to the Epoch) on the copied tree so that
;; things work deterministically.
(copy-recursively source "."
#:keep-mtime? #true))
#:keep-mtime? #t))
(begin
(if (string-suffix? ".zip" source)
(invoke "unzip" source)
(invoke "tar" "xvf" source))
(chdir (first-subdirectory "."))))
#true)
#t)
@end lisp
Note the @code{chdir} call: it changes the working directory to where the source was
@@ -1069,16 +1065,16 @@ the following forms:
@itemize
@item
@code{(add-before @var{phase} @var{new-phase} @var{procedure})}: Run @var{procedure} named @var{new-phase} before @var{phase}.
@code{(add-before PHASE NEW-PHASE PROCEDURE)}: Run @code{PROCEDURE} named @code{NEW-PHASE} before @code{PHASE}.
@item
@code{(add-after @var{phase} @var{new-phase} @var{procedure})}: Same, but afterwards.
@code{(add-after PHASE NEW-PHASE PROCEDURE)}: Same, but afterwards.
@item
@code{(replace @var{phase} @var{procedure})}.
@code{(replace PHASE PROCEDURE)}.
@item
@code{(delete @var{phase})}.
@code{(delete PHASE)}.
@end itemize
The @var{procedure} supports the keyword arguments @code{inputs} and @code{outputs}. Each
The @code{PROCEDURE} supports the keyword arguments @code{inputs} and @code{outputs}. Each
input (whether @emph{native}, @emph{propagated} or not) and output directory is referenced
by their name in those variables. Thus @code{(assoc-ref outputs "out")} is the store
directory of the main output of the package. A phase procedure may look like
@@ -1086,16 +1082,16 @@ this:
@lisp
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bash-directory (assoc-ref inputs "bash"))
(output-directory (assoc-ref outputs "out"))
(doc-directory (assoc-ref outputs "doc")))
;; ...
#true))
(let (((bash-directory (assoc-ref inputs "bash"))
(output-directory (assoc-ref outputs "out"))
(doc-directory (assoc-ref outputs "doc"))
; ...
#t)
@end lisp
The procedure must return @code{#true} on success. It's brittle to rely on the return
The procedure must return @code{#t} on success. It's brittle to rely on the return
value of the last expression used to tweak the phase because there is no
guarantee it would be a @code{#true}. Hence the trailing @code{#true} to ensure the right value
guarantee it would be a @code{#t}. Hence the trailing @code{#t} to ensure the right value
is returned on success.
@subsubsection Code staging
@@ -1121,7 +1117,7 @@ Some of those functions can be found in
@samp{$GUIX_CHECKOUT/guix/guix/build/utils.scm}. Most of them mirror the behaviour
of the traditional Unix system commands:
@table @code
@table @asis
@item which
Like the @samp{which} system command.
@item find-files
@@ -1145,9 +1141,6 @@ then restore the previous working directory.
A ``@command{sed}-like'' function.
@end table
@xref{Build Utilities,,, guix, GNU Guix Reference Manual}, for more
information on these utilities.
@subsubsection Module prefix
The license in our last example needs a prefix: this is because of how the
@@ -1355,10 +1348,8 @@ reference.
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
* Running Guix on a Linode Server:: Running Guix on a Linode Server
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
@end menu
@node Customizing the Kernel
@@ -1391,8 +1382,8 @@ creates a package.
#:key
;; A function that takes an arch and a variant.
;; See kernel-config for an example.
(extra-version #false)
(configuration-file #false)
(extra-version #f)
(configuration-file #f)
(defconfig "defconfig")
(extra-options %default-extra-linux-options)
(patches (list %boot-logo-patch)))
@@ -1435,7 +1426,7 @@ the @code{make-linux-libre} package definition:
(begin
(copy-file config ".config")
(chmod ".config" #o666))
(invoke "make" ,defconfig)))
(invoke "make" ,defconfig))
@end lisp
Below is a sample kernel package. The @code{linux-libre} package is nothing
@@ -1466,7 +1457,7 @@ it:
@lisp
(define %default-extra-linux-options
`(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #true)
("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)
;; Modules required for initrd:
("CONFIG_NET_9P" . m)
("CONFIG_NET_9P_VIRTIO" . m)
@@ -1483,9 +1474,9 @@ it:
(string-join (map (match-lambda
((option . 'm)
(string-append option "=m"))
((option . #true)
((option . #t)
(string-append option "=y"))
((option . #false)
((option . #f)
(string-append option "=n")))
options)
"\n"))
@@ -1501,7 +1492,7 @@ And in the custom configure script from the `make-linux-libre` package:
(display extra-configuration port)
(close-port port))
(invoke "make" "oldconfig")
(invoke "make" "oldconfig"))))
@end lisp
So by not providing a configuration-file the @file{.config} starts blank, and
@@ -1769,246 +1760,6 @@ your screen but not suspend it, it's a good idea to notify xss-lock about this s
confusion occurs. This can be done by executing @code{xset s activate} immediately
before you execute slock.
@node Running Guix on a Linode Server
@section Running Guix on a Linode Server
@cindex linode, Linode
To run Guix on a server hosted by @uref{https://www.linode.com, Linode},
start with a recommended Debian server. We recommend using the default
distro as a way to bootstrap Guix. Create your SSH keys.
@example
ssh-keygen
@end example
Be sure to add your SSH key for easy login to the remote server.
This is trivially done via Linode's graphical interface for adding
SSH keys. Go to your profile and click add SSH Key.
Copy into it the output of:
@example
cat ~/.ssh/<username>_rsa.pub
@end example
Power the Linode down. In the Linode's Disks/Configurations tab, resize
the Debian disk to be smaller. 30 GB is recommended.
In the Linode settings, "Add a disk", with the following:
@itemize @bullet
@item
Label: "Guix"
@item
Filesystem: ext4
@item
Set it to the remaining size
@end itemize
On the "configuration" field that comes with the default image, press
"..." and select "Edit", then on that menu add to @file{/dev/sdc} the "Guix"
label.
Now "Add a Configuration", with the following:
@itemize @bullet
@item
Label: Guix
@item
Kernel:GRUB 2 (it's at the bottom! This step is @b{IMPORTANT!})
@item
Block device assignment:
@item
@file{/dev/sda}: Guix
@item
@file{/dev/sdb}: swap
@item
Root device: @file{/dev/sda}
@item
Turn off all the filesystem/boot helpers
@end itemize
Now power it back up, picking the Debian configuration. Once it's
booted up, ssh in your server via @code{ssh
root@@@var{<your-server-IP-here>}}. (You can find your server IP address in
your Linode Summary section.) Now you can run the "install guix from
@pxref{Binary Installation,,, guix, GNU Guix}" steps:
@example
sudo apt-get install gpg
wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull
@end example
Now it's time to write out a config for the server. The key information
is below. Save the resulting file as @file{guix-config.scm}.
@lisp
(use-modules (gnu)
(guix modules))
(use-service-modules networking
ssh)
(use-package-modules admin
certs
package-management
ssh
tls)
(operating-system
(host-name "my-server")
(timezone "America/New_York")
(locale "en_US.UTF-8")
;; This goofy code will generate the grub.cfg
;; without installing the grub bootloader on disk.
(bootloader (bootloader-configuration
(bootloader
(bootloader
(inherit grub-bootloader)
(installer #~(const #true))))))
(file-systems (cons (file-system
(device "/dev/sda")
(mount-point "/")
(type "ext4"))
%base-file-systems))
(swap-devices (list "/dev/sdb"))
(initrd-modules (cons "virtio_scsi" ; Needed to find the disk
%base-initrd-modules))
(users (cons (user-account
(name "janedoe")
(group "users")
;; Adding the account to the "wheel" group
;; makes it a sudoer.
(supplementary-groups '("wheel"))
(home-directory "/home/janedoe"))
%base-user-accounts))
(packages (cons* nss-certs ;for HTTPS access
openssh-sans-x
%base-packages))
(services (cons*
(service dhcp-client-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(password-authentication? #false)
(authorized-keys
`(("janedoe" ,(local-file "janedoe_rsa.pub"))
("root" ,(local-file "janedoe_rsa.pub"))))))
%base-services)))
@end lisp
Replace the following fields in the above configuration:
@lisp
(host-name "my-server") ; replace with your server name
; if you chose a linode server outside the U.S., then
; use tzselect to find a correct timezone string
(timezone "America/New_York") ; if needed replace timezone
(name "janedoe") ; replace with your username
("janedoe" ,(local-file "janedoe_rsa.pub")) ; replace with your ssh key
("root" ,(local-file "janedoe_rsa.pub")) ; replace with your ssh key
@end lisp
The last line in the above example lets you log into the server as root
and set the initial root password. After you have done this, you may
delete that line from your configuration and reconfigure to prevent root
login.
Save your ssh public key (eg: @file{~/.ssh/id_rsa.pub}) as
@file{@var{<your-username-here>}_rsa.pub} and your
@file{guix-config.scm} in the same directory. In a new terminal run
these commands.
@example
sftp root@@<remote server ip address>
put /home/<username>/ssh/id_rsa.pub .
put /path/to/linode/guix-config.scm .
@end example
In your first terminal, mount the guix drive:
@example
mkdir /mnt/guix
mount /dev/sdc /mnt/guix
@end example
Due to the way we set things up above, we do not install GRUB
completely. Instead we install only our grub configuration file. So we
need to copy over some of the other GRUB stuff that is already there:
@example
mkdir -p /mnt/guix/boot/grub
cp -r /boot/grub/* /mnt/guix/boot/grub/
@end example
Now initialize the Guix installation:
@example
guix system init guix-config.scm /mnt/guix
@end example
Ok, power it down!
Now from the Linode console, select boot and select "Guix".
Once it boots, you should be able to log in via SSH! (The server config
will have changed though.) You may encounter an error like:
@example
$ ssh root@@<server ip address>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:0B+wp33w57AnKQuHCvQP0+ZdKaqYrI/kyU7CfVbS7R4.
Please contact your system administrator.
Add correct host key in /home/joshua/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/joshua/.ssh/known_hosts:3
ECDSA host key for 198.58.98.76 has changed and you have requested strict checking.
Host key verification failed.
@end example
Either delete @file{~/.ssh/known_hosts} file, or delete the offending line
starting with your server IP address.
Be sure to set your password and root's password.
@example
ssh root@@<remote ip address>
passwd ; for the root password
passwd <username> ; for the user password
@end example
You may not be able to run the above commands at this point. If you
have issues remotely logging into your linode box via SSH, then you may
still need to set your root and user password initially by clicking on
the ``Launch Console'' option in your linode. Choose the ``Glish''
instead of ``Weblish''. Now you should be able to ssh into the machine.
Horray! At this point you can shut down the server, delete the
Debian disk, and resize the Guix to the rest of the size.
Congratulations!
By the way, if you save it as a disk image right at this point, you'll
have an easy time spinning up new Guix images! You may need to
down-size the Guix image to 6144MB, to save it as an image. Then you
can resize it again to the max size.
@node Setting up a bind mount
@section Setting up a bind mount
@@ -2120,63 +1871,6 @@ sudo herd set-http-proxy guix-daemon http://localhost:9250
guix build --substitute-urls=https://bp7o7ckwlewr4slm.onion …
@end example
@node Setting up NGINX with Lua
@section Setting up NGINX with Lua
@cindex nginx, lua, openresty, resty
NGINX could be extended with Lua scripts.
Guix provides NGINX service with ability to load Lua module and specific
Lua packages, and reply to requests by evaluating Lua scripts.
The following example demonstrates system definition with configuration
to evaluate @file{index.lua} Lua script on HTTP request to
@uref{http://localhost/hello} endpoint:
@example
local shell = require "resty.shell"
local stdin = ""
local timeout = 1000 -- ms
local max_size = 4096 -- byte
local ok, stdout, stderr, reason, status =
shell.run([[/run/current-system/profile/bin/ls /tmp]], stdin, timeout, max_size)
ngx.say(stdout)
@end example
@lisp
(use-modules (gnu))
(use-service-modules #;… web)
(use-package-modules #;… lua)
(operating-system
;; …
(services
;; …
(service nginx-service-type
(nginx-configuration
(modules
(list
(file-append nginx-lua-module "/etc/nginx/modules/ngx_http_lua_module.so")))
(lua-package-path (list lua-resty-core
lua-resty-lrucache
lua-resty-signal
lua-tablepool
lua-resty-shell))
(lua-package-cpath (list lua-resty-signal))
(server-blocks
(list (nginx-server-configuration
(server-name '("localhost"))
(listen '("80"))
(root "/etc")
(locations (list
(nginx-location-configuration
(uri "/hello")
(body (list #~(format #f "content_by_lua_file ~s;"
#$(local-file "index.lua"))))))))))))))
@end lisp
@c *********************************************************************
@node Advanced package management
@chapter Advanced package management
+777 -2933
View File
File diff suppressed because it is too large Load Diff
+8 -10
View File
@@ -96,16 +96,14 @@ define xref_command
cat "$@.tmp" | egrep '@p?x?ref' -A1 | sed 'N;s|--\n||g;P;D' | sed 's|^| |g' | \
tr -d '\012' | sed 's|\(@p\?x\?ref\)|\n\1|g' | egrep '@p?x?ref' | \
sed 's|^.*@p\?x\?ref{\([^,}]*\).*$$|\1|g' | sort | uniq | while read e; do \
if [ -n "$$e" ]; then \
line=$$(grep -n "^msgid \"$$e\"" "$<" | cut -f1 --delimiter=":") ;\
((line++)) ;\
if [ "$$line" != "1" ]; then \
translation=$$(head -n "$$line" "$<" | tail -1 | grep msgstr | sed 's|msgstr "\(.*\)"|\1|') ;\
if [ "$$translation" != "" ]; then \
sed "N;s@\(p\?x\?ref\){$$(echo $$e | sed 's| |[\\n ]|g')\(,\|}\)@\1{$$translation\2@g;P;D" -i "$@.tmp" ;\
fi ;\
fi ;\
fi ;\
line=$$(grep -n "^msgid \"$$e\"" "$<" | cut -f1 --delimiter=":") ;\
((line++)) ;\
if [ "$$line" != "1" ]; then \
translation=$$(head -n $$line "$<" | tail -1 | grep msgstr | sed 's|msgstr "\(.*\)"|\1|') ;\
if [ "$$translation" != "" ]; then \
sed "N;s@\(p\?x\?ref\){$$(echo $$e | sed 's| |[\\n ]|g')\(,\|}\)@\1{$$translation\2@g;P;D" -i "$@.tmp" ;\
fi ;\
fi ;\
done
endef
+2 -2
View File
@@ -175,8 +175,8 @@ corresponding to the top-level definition containing the staged changes."
(let ((old-values (get-values old field))
(new-values (get-values new field)))
(or (equal? old-values new-values)
(let ((removed (lset-difference equal? old-values new-values))
(added (lset-difference equal? new-values old-values)))
(let ((removed (lset-difference eq? old-values new-values))
(added (lset-difference eq? new-values old-values)))
(format port
"[~a]: ~a~%" field
(match (list (map symbol->string removed)
+16 -17
View File
@@ -19,20 +19,6 @@
# Bash completion for Guix commands.
declare _guix_available_packages
declare _guix_commands
_guix_complete_command ()
{
local word_at_point="${COMP_WORDS[$COMP_CWORD]}"
if [ -z "$_guix_commands" ]
then
# Cache the list of commands to speed things up.
_guix_commands="$(guix --help 2> /dev/null \
| grep '^ ' \
| sed '-es/^ *\([a-z-]\+\).*$/\1/g')"
fi
COMPREPLY=($(compgen -W "$_guix_commands" -- "$word_at_point"))
}
_guix_complete_subcommand ()
{
@@ -160,6 +146,19 @@ _guix_complete_pid ()
COMPREPLY=($(compgen -W "$pids" -- "$1"))
}
declare _guix_subcommands
_guix_complete_subcommand ()
{
if [ -z "$_guix_subcommands" ]
then
# Cache the list of subcommands to speed things up.
_guix_subcommands="$(guix --help 2> /dev/null \
| grep '^ ' | cut -c 2-)"
fi
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
}
_guix_complete ()
{
local word_count=${#COMP_WORDS[*]}
@@ -177,12 +176,12 @@ _guix_complete ()
case $COMP_CWORD in
1)
_guix_complete_command
_guix_complete_subcommand
;;
*)
if _guix_is_command "package"
then
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
if _guix_is_dash_L || _guix_is_dash_m
then
_guix_complete_file
elif _guix_is_removing
@@ -252,7 +251,7 @@ _guix_complete ()
then
_guix_complete_file
else
_guix_complete_command
_guix_complete_subcommand
fi
elif _guix_is_command "container"
then
+18 -162
View File
@@ -1,8 +1,6 @@
; -*- lisp -*-
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Daniel Brooks <db48x@db48x.net>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,18 +21,6 @@
;; Intermediate Language (CIL). It refers to types that must be defined in
;; the system's base policy.
;; If you, like me, need advice about fixing an SELinux policy, I recommend
;; reading https://danwalsh.livejournal.com/55324.html
;; In particular, you can run semanage permissive -a guix_daemon.guix_daemon_t
;; to allow guix-daemon to do whatever it wants. SELinux will still check its
;; permissions, and when it doesn't have permission it will still send an
;; audit message to your system logs. This lets you know what permissions it
;; ought to have. Use ausearch --raw to find the permissions violations, then
;; pipe that to audit2allow to generate an updated policy. You'll still need
;; to translate that policy into CIL in order to update this file, but that's
;; fairly straight-forward. Annoying, but easy.
(block guix_daemon
;; Require existing types
(typeattributeset cil_gen_require init_t)
@@ -48,19 +34,14 @@
(roletype object_r guix_daemon_t)
(type guix_daemon_conf_t)
(roletype object_r guix_daemon_conf_t)
(typeattributeset file_type guix_daemon_conf_t)
(type guix_daemon_exec_t)
(roletype object_r guix_daemon_exec_t)
(typeattributeset file_type guix_daemon_exec_t)
(type guix_daemon_socket_t)
(roletype object_r guix_daemon_socket_t)
(typeattributeset file_type guix_daemon_socket_t)
(type guix_store_content_t)
(roletype object_r guix_store_content_t)
(typeattributeset file_type guix_store_content_t)
(type guix_profiles_t)
(roletype object_r guix_profiles_t)
(typeattributeset file_type guix_profiles_t)
;; These types are domains, thereby allowing process rules
(typeattributeset domain (guix_daemon_t guix_daemon_exec_t))
@@ -74,30 +55,6 @@
(typetransition guix_store_content_t guix_daemon_exec_t
process guix_daemon_t)
(roletype system_r guix_daemon_t)
;; allow init_t to read and execute guix files
(allow init_t
guix_profiles_t
(lnk_file (read)))
(allow init_t
guix_daemon_exec_t
(file (execute)))
(allow init_t
guix_daemon_t
(process (transition)))
(allow init_t
guix_store_content_t
(lnk_file (read)))
(allow init_t
guix_store_content_t
(file (open read execute)))
;; guix-daemon needs to know the names of users
(allow guix_daemon_t
passwd_file_t
(file (getattr open read)))
;; Permit communication with NSCD
(allow guix_daemon_t
nscd_var_run_t
@@ -114,44 +71,25 @@
(allow guix_daemon_t
nscd_t
(unix_stream_socket (connectto)))
(allow guix_daemon_t nscd_t
(nscd (getgrp gethost getpwd getserv shmemgrp shmemhost shmempwd shmemserv)))
;; permit downloading packages via HTTP(s)
(allow guix_daemon_t http_port_t
(tcp_socket (name_connect)))
(allow guix_daemon_t ftp_port_t
(tcp_socket (name_connect)))
(allow guix_daemon_t ephemeral_port_t
(tcp_socket (name_connect)))
;; Permit logging and temp file access
(allow guix_daemon_t
tmp_t
(lnk_file (create rename setattr unlink)))
(lnk_file (setattr unlink)))
(allow guix_daemon_t
tmp_t
(file (link rename create execute execute_no_trans write unlink setattr map relabelto)))
(allow guix_daemon_t
tmp_t
(fifo_file (open read write create getattr ioctl setattr unlink)))
(allow guix_daemon_t
tmp_t
(dir (create rename
rmdir relabelto
(dir (create
rmdir
add_name remove_name
open read write
getattr setattr
search)))
(allow guix_daemon_t
tmp_t
(sock_file (create getattr setattr unlink write)))
(allow guix_daemon_t
var_log_t
(file (create getattr open write)))
(allow guix_daemon_t
var_log_t
(dir (getattr create write add_name)))
(dir (getattr write add_name)))
(allow guix_daemon_t
var_run_t
(lnk_file (read)))
@@ -162,10 +100,10 @@
;; Spawning processes, execute helpers
(allow guix_daemon_t
self
(process (fork execmem setrlimit setpgid setsched)))
(process (fork)))
(allow guix_daemon_t
guix_daemon_exec_t
(file (execute execute_no_trans read open entrypoint map)))
(file (execute execute_no_trans read open)))
;; TODO: unknown
(allow guix_daemon_t
@@ -181,51 +119,38 @@
;; Build isolation
(allow guix_daemon_t
guix_store_content_t
(file (ioctl mounton)))
(file (mounton)))
(allow guix_store_content_t
fs_t
(filesystem (associate)))
(allow guix_daemon_t
guix_store_content_t
(dir (read mounton)))
(dir (mounton)))
(allow guix_daemon_t
guix_daemon_t
(capability (net_admin
fsetid fowner
chown setuid setgid
dac_override dac_read_search
sys_chroot
sys_admin)))
sys_chroot)))
(allow guix_daemon_t
fs_t
(filesystem (unmount)))
(allow guix_daemon_t
devpts_t
(dir (search)))
(allow guix_daemon_t
devpts_t
(filesystem (mount)))
(allow guix_daemon_t
devpts_t
(chr_file (ioctl open read write setattr getattr)))
(chr_file (setattr getattr)))
(allow guix_daemon_t
tmpfs_t
(filesystem (getattr mount)))
(filesystem (mount)))
(allow guix_daemon_t
tmpfs_t
(file (create open read unlink write)))
(allow guix_daemon_t
tmpfs_t
(dir (getattr add_name remove_name write)))
(dir (getattr)))
(allow guix_daemon_t
proc_t
(file (getattr open read)))
(allow guix_daemon_t
proc_t
(dir (read)))
(allow guix_daemon_t
proc_t
(filesystem (associate mount)))
(filesystem (mount)))
(allow guix_daemon_t
null_device_t
(chr_file (getattr open read write)))
@@ -254,7 +179,7 @@
search rename
add_name remove_name
open write
rmdir relabelfrom)))
rmdir)))
(allow guix_daemon_t
guix_store_content_t
(file (create
@@ -264,7 +189,7 @@
link unlink
map
rename
open read write relabelfrom)))
open read write)))
(allow guix_daemon_t
guix_store_content_t
(lnk_file (create
@@ -272,23 +197,17 @@
link unlink
read
rename)))
(allow guix_daemon_t
guix_store_content_t
(fifo_file (create getattr open read unlink write)))
(allow guix_daemon_t
guix_store_content_t
(sock_file (create getattr unlink write)))
;; Access to configuration files and directories
(allow guix_daemon_t
guix_daemon_conf_t
(dir (search create
(dir (search
setattr getattr
add_name remove_name
open read write)))
(allow guix_daemon_t
guix_daemon_conf_t
(file (create rename
(file (create
lock
map
getattr setattr
@@ -297,17 +216,11 @@
(allow guix_daemon_t
guix_daemon_conf_t
(lnk_file (create getattr rename unlink)))
(allow guix_daemon_t net_conf_t
(file (getattr open read)))
(allow guix_daemon_t net_conf_t
(lnk_file (read)))
(allow guix_daemon_t NetworkManager_var_run_t
(dir (search)))
;; Access to profiles
(allow guix_daemon_t
guix_profiles_t
(dir (search getattr setattr read write open create add_name)))
(dir (getattr setattr read open)))
(allow guix_daemon_t
guix_profiles_t
(lnk_file (read getattr)))
@@ -320,22 +233,8 @@
(allow guix_daemon_t
user_home_t
(dir (search)))
(allow guix_daemon_t
cache_home_t
(dir (search)))
;; self upgrades
(allow guix_daemon_t
self
(dir (add_name write)))
(allow guix_daemon_t
self
(netlink_route_socket (bind create getattr nlmsg_read read write)))
;; Socket operations
(allow guix_daemon_t
guix_daemon_socket_t
(sock_file (unlink)))
(allow guix_daemon_t
init_t
(fd (use)))
@@ -354,53 +253,12 @@
read write
connect bind accept
getopt setopt)))
(allow guix_daemon_t
self
(tcp_socket (accept listen bind connect create setopt getopt getattr ioctl read write shutdown)))
(allow guix_daemon_t
unreserved_port_t
(tcp_socket (name_bind name_connect accept listen)))
(allow guix_daemon_t
self
(udp_socket (connect getattr bind getopt setopt)))
(allow guix_daemon_t
self
(fifo_file (write read)))
(allow guix_daemon_t
self
(udp_socket (ioctl create)))
(allow guix_daemon_t
self
(unix_stream_socket (connectto)))
(allow guix_daemon_t
node_t
(tcp_socket (node_bind)))
(allow guix_daemon_t
node_t
(udp_socket (node_bind)))
(allow guix_daemon_t
port_t
(tcp_socket (name_connect)))
(allow guix_daemon_t
rtp_media_port_t
(udp_socket (name_bind)))
(allow guix_daemon_t
vnc_port_t
(tcp_socket (name_bind)))
;; I guess sometimes it needs random numbers
(allow guix_daemon_t
random_device_t
(chr_file (read)))
;; guix system vm
(allow guix_daemon_t
kvm_device_t
(chr_file (ioctl open read write)))
(allow guix_daemon_t
kernel_t
(system (ipc_info)))
;; Label file system
(filecon "@guix_sysconfdir@/guix(/.*)?"
@@ -419,7 +277,5 @@
file (system_u object_r guix_daemon_exec_t (low low)))
(filecon "@storedir@/.+-(guix-.+|profile)/bin/guix-daemon"
file (system_u object_r guix_daemon_exec_t (low low)))
(filecon "@storedir@/[a-z0-9]+-guix-daemon"
file (system_u object_r guix_daemon_exec_t (low low)))
(filecon "@guix_localstatedir@/guix/daemon-socket/socket"
any (system_u object_r guix_daemon_socket_t (low low))))
+5 -58
View File
@@ -4,9 +4,6 @@
# Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
# Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
# Copyright © 2020 Daniel Brooks <db48x@db48x.net>
#
# This file is part of GNU Guix.
#
@@ -56,12 +53,10 @@ REQUIRE=(
PAS=$'[ \033[32;1mPASS\033[0m ] '
ERR=$'[ \033[31;1mFAIL\033[0m ] '
WAR=$'[ \033[33;1mWARN\033[0m ] '
INF="[ INFO ] "
DEBUG=0
GNU_URL="https://ftp.gnu.org/gnu/guix/"
#GNU_URL="https://alpha.gnu.org/gnu/guix/"
OPENPGP_SIGNING_KEY_ID="3CE464558A84FDC69DB40CFB090B11993D9AEBB5"
# This script needs to know where root's home directory is. However, we
@@ -116,7 +111,7 @@ chk_gpg_keyring()
# systems where gpg has never been used, causing errors and confusion.
gpg --dry-run --list-keys ${OPENPGP_SIGNING_KEY_ID} >/dev/null 2>&1 || (
_err "${ERR}Missing OpenPGP public key. Fetch it with this command:"
echo " wget 'https://sv.gnu.org/people/viewgpg.php?user_id=15145' -qO - | sudo -i gpg --import -"
echo " wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | sudo -i gpg --import -"
exit 1
)
}
@@ -155,10 +150,6 @@ chk_init_sys()
_msg "${INF}init system is: sysv-init"
INIT_SYS="sysv-init"
return 0
elif [[ $(openrc --version 2>/dev/null) =~ \(OpenRC\) ]]; then
_msg "${INF}init system is: OpenRC"
INIT_SYS="openrc"
return 0
else
INIT_SYS="NA"
_err "${ERR}Init system could not be detected."
@@ -203,19 +194,6 @@ chk_sys_arch()
ARCH_OS="${arch}-${os}"
}
chk_sys_nscd()
{ # Check if nscd is up and suggest to start it or install it
if [ "$(type -P pidof)" ]; then
if [ ! "$(pidof nscd)" ]; then
_msg "${WAR}We recommend installing and/or starting your distribution 'nscd' service"
_msg "${WAR}Please read 'info guix \"Application Setup\"' about \"Name Service Switch\""
fi
else
_msg "${INF}We cannot determine if your distribution 'nscd' service is running"
_msg "${INF}Please read 'info guix \"Application Setup\"' about \"Name Service Switch\""
fi
}
# ------------------------------------------------------------------------------
#+MAIN
@@ -230,11 +208,11 @@ guix_get_bin_list()
# Filter only version and architecture
bin_ver_ls=("$(wget -qO- "$gnu_url" \
| sed -n -e 's/.*guix-binary-\([0-9.]*[a-z0-9]*\)\..*.tar.xz.*/\1/p' \
| sed -n -e 's/.*guix-binary-\([0-9.]*\)\..*.tar.xz.*/\1/p' \
| sort -Vu)")
latest_ver="$(echo "$bin_ver_ls" \
| grep -oE "([0-9]{1,2}\.){2}[0-9]{1,2}[a-z0-9]*" \
| grep -oP "([0-9]{1,2}\.){2}[0-9]{1,2}" \
| tail -n1)"
default_ver="guix-binary-${latest_ver}.${ARCH_OS}"
@@ -290,7 +268,8 @@ sys_create_store()
_debug "--- [ $FUNCNAME ] ---"
cd "$tmp_path"
tar --extract \
tar --warning=no-timestamp \
--extract \
--file "$pkg" &&
_msg "${PAS}unpacked archive"
@@ -405,16 +384,6 @@ sys_enable_guix_daemon()
service guix-daemon start; } &&
_msg "${PAS}enabled Guix daemon via sysv"
;;
openrc)
{ mkdir -p /etc/init.d;
cp "${ROOT_HOME}/.config/guix/current/etc/openrc/guix-daemon" \
/etc/init.d/guix-daemon;
chmod 775 /etc/init.d/guix-daemon;
rc-update add guix-daemon default &&
rc-service guix-daemon start; } &&
_msg "${PAS}enabled Guix daemon via OpenRC"
;;
NA|*)
_msg "${ERR}unsupported init system; run the daemon manually:"
echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
@@ -476,26 +445,6 @@ export XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:-/usr/local/share/:/us
EOF
}
sys_create_shell_completion()
{ # Symlink supported shell completions system-wide
var_guix=/var/guix/profiles/per-user/root/current-guix
bash_completion=/etc/bash_completion.d
zsh_completion=/usr/share/zsh/site-functions
fish_completion=/usr/share/fish/vendor_completions.d
{ # Just in case
for dir_shell in $bash_completion $zsh_completion $fish_completion; do
[ -d "$dir_shell" ] || mkdir -p $dir_shell
done;
ln -sf ${var_guix}/etc/bash_completion.d/* "$bash_completion";
ln -sf ${var_guix}/share/zsh/site-functions/* "$zsh_completion";
ln -sf ${var_guix}/share/fish/vendor_completions.d/* "$fish_completion"; } &&
_msg "${PAS}installed shell completion"
}
welcome()
{
cat<<"EOF"
@@ -539,7 +488,6 @@ main()
chk_gpg_keyring
chk_init_sys
chk_sys_arch
chk_sys_nscd
_msg "${INF}system is ${ARCH_OS}"
@@ -554,7 +502,6 @@ main()
sys_enable_guix_daemon
sys_authorize_build_farms
sys_create_init_profile
sys_create_shell_completion
_msg "${INF}cleaning up ${tmp_path}"
rm -r "${tmp_path}"
-534
View File
@@ -2,11 +2,6 @@
;;
;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;; Copyright © 2019, 2020 Julien Lepiller <julien@lepiller.eu>
;; Copyright © 2019, 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -18,458 +13,8 @@
(channel-news
(version 0)
(entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6")
(title (en "List of substitute keys is now declarative on Guix System")
(de "Liste der Substitutschlüssel auf Guix System ist jetzt deklarativ")
(es "Claves para sustituciones del sistema Guix en formato declarativo")
(fr "Liste des clefs de substituts désormais déclarative sur Guix System"))
(body
(en "The list of authorized substitute keys, available in
@file{/etc/guix/acl}, is now built by default in a purely declarative fashion
on Guix System based on the @code{authorized-keys} field of the configuration
of @code{guix-service-type}. This means that manual changes to
@file{/etc/guix/acl} are now @emph{discarded} upon reconfiguration or
reboot (a backup is made as @file{/etc/guix/acl.bak} in that case).
We recommend updating your operating system configuration to explicitly list
all the authorized substitute keys. See @command{info \"(guix) Base
Services\"}, for more info about @code{guix-configuration} and
@code{authorized-keys}.
Alternatively, you can set the @code{authorize-key?} field of
@code{guix-configuration} to @code{#f} to restore previous behavior.")
(de "Die Liste von autorisierten Substitutschlüsseln, die in
@file{/etc/guix/acl} steht, wird auf Guix System nach Vorgabe jetzt auf rein
deklarative Weise erstellt, je nach Inhalt des @code{authorized-keys}-Feldes
der Konfiguration des @code{guix-service-type}. Das hat zur Folge, dass
manuelle Änderungen an @file{/etc/guix/acl} von jetzt an nach jedem
Rekonfigurieren oder Neustarten @emph{verworfen} werden (in diesem Fall wird
eine Sicherheitskopie namens @file{/etc/guix/acl.bak} angelegt).
Wir empfehlen, dass Sie Ihre Betriebssystemkonfiguration aktualisieren, damit
dort alle autorisierten Substitutschlüssel ausdrücklich aufgeführt
werden. Siehe @command{info \"(guix.de) Basisdienste\"} für mehr Informationen
zur @code{guix-configuration} und @code{authorized-keys}.
Alternativ können Sie das @code{authorize-key?}-Feld der
@code{guix-configuration} auf @code{#f} setzen, um zum alten Verhalten
zurückzugehen.")
(es "El listado de claves autorizadas para la obtención de
sustituciones, disponible en @file{/etc/guix/acl}, ahora se genera de manera
predeterminada en el sistema Guix de forma completamente declarativa en base
al campo @code{authorized-keys} del la configuración para el servicio
@code{guix-service-type}. Esto significa que los cambios que se hayan
realizado de manera manual en @file{/etc/guix/acl} @emph{se descartan} tras
una reconfiguración del sistema o tras un reinicio (se realiza una copia de
seguridad en la ruta @file{/etc/guix/acl.bak} en este caso).
Le recomendamos que actualice su configuración del sistema operativo para que
enumere explícitamente todas las claves que desea autorizar para la obtención
de sustituciones. Véase @command{info \"(guix.es) Servicios base\"}, para
obtener más información sobre @code{guix-configuration} y
@code{authorized-keys}.
También puede proporcionar el valor @code{#f} en el campo
@code{authorize-key?} de @code{guix-configuration} para volver al
comportamiento que se obtenía con versiones previas.")
(fr "La liste des clefs de substituts autorisées, stockée dans
@file{/guix/guix/acl}, est dorénavant construite par défaut de manière
déclarative sur Guix System, en se basant sur le champs @code{authorized-keys}
de la configuration de @code{guix-service-type}. Cela signifie que les
modifications apportées manuellement à @file{/etc/guix/acl} seront désormais
@emph{perdues} lors d'une reconfiguration ou d'un redémarrage (dans ce cas une
sauvegarde est faite dans @file{/etc/guix/acl.bak}).
Nous recommandons de mettre à jour sa configuration de système d'exploitation
pour y lister explicitement les clefs autorisées. Lancez @command{info
\"(guix.fr) Services de base\"} pour plus d'informations sur
@code{guix-configuration} et @code{authorized-keys}.
Il est également possible de mettre le champs @code{authorize-key?} de
@code{guix-configuration} à @code{#f} pour restaurer le comportement qui
prévalait jusqu'à maintenant.")))
(entry (commit "6aeda81602555fbeac0c0a209e74f5262093b513")
(title (en "New @option{--with-debug-info} package transformation option")
(de "Neue Paketumwandlungsoption @option{--with-debug-info}")
(es "Nueva opción de transformación @option{--with-debug-info}")
(fr "Nouvelle option de transformation @option{--with-debug-info}"))
(body
(en "The new @option{--with-debug-info} option builds a variant of a
package that includes debug info and grafts it onto the application you want
to debug. Thus, only the package for which you want debug info needs to be
recompiled. This is useful for packages that do not already have a
@code{debug} output.
For example, here is how you would obtain debug info for the @code{glib}
library so you can inspect it while debugging Inkscape:
@example
guix build --with-debug-info=glib inkscape
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(de "Die neue Paketumwandlungsoption @option{--with-debug-info} lässt
eine Variante eines Pakets erstellen, die auch Informationen zur Fehlersuche
enthält. Damit wird die Anwendung veredelt, wo Sie Fehler nachvollziehen
möchten. Somit muss nur das Paket, für das Sie die Informationen brauchen, neu
kompiliert werden. Das ist hilfreich bei Paketen, die noch nicht über eine
@code{debug}-Ausgabe verfügen.
Zum Beispiel würden Sie so Informationen zur Fehlersuche für die
@code{glib}-Bibliothek bekommen, um sie inspizieren zu können, wenn Sie Fehler
in Inkscape nachvollziehen möchten:
@example
guix build --with-debug-info=glib inkscape
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(es "La nueva opción @option{--with-debug-info} construye una
variante del paquete que incluye la información de depuración y la injerta
en la aplicación que desee depurar. Por tanto, únicamente el paquete del
que desee información de depuración debe construirse de nuevo. Es útil
para paquetes que no tienen ya una salida @code{debug}.
El siguiente ejemplo muestra como obtener información de depuración
para la biblioteca @code{glib} de modo que pueda inspeccionarla mientras
depura Inkscape:
@example
guix build --with-debug-info=glib inkscape
@end example
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(fr "La nouvelle option de transformation de paquets
@option{--with-debug-info} compile une variante d'un paquet avec les
informations de déboguage et la greffe sur l'application que l'on veut
déboguer. Ainsi seul le paquet pour lequel on demande des informations de
déboguage a besoin d'être recompilé. C'est utile pour les paquets n'ayant pas
déjà un résultat @code{debug}.
Voici par exemple comment obtenir des informations de déboguage pour la
bibliothèque @code{glib} de manière à pouvoir l'inspecter quand on débuggue
Inkscape :
@example
guix build --with-debug-info=glib inkscape
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "abd7a474615353149a44f4504f0b4b248dcc0716")
(title (en "New @option{--with-c-toolchain} package transformation option")
(de "Neue Paketumwandlungsoption @option{--with-c-toolchain}")
(es "Nueva opción de transformación @option{--with-c-toolchain}")
(fr "Nouvelle option de transformation @option{--with-c-toolchain}"))
(body
(en "The new @option{--with-c-toolchain} package transformation
options provides an easy way for developers to rebuild their favorite packages
with the C/C++ tool chain of their choice instead of the default one.
For example, the following command rebuilds the @code{fftw} and @code{fftwf}
packages as well as every package that depends on them, up to and including
@code{octave-cli}, using GCC version 10 (currently GCC 7.5 is used by
default):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(de "Die neue Paketumwandlungsoption @option{--with-c-toolchain}
bietet Entwicklern die Möglichkeit, leicht ihre Lieblingspakete mit der
selbstgewählten Toolchain für C/C++ anstelle der vorgegebenen neu zu
erstellen.
Zum Beispiel werden mit folgendem Befehl die Pakete @code{fftw} und
@code{fftwf} sowie alle davon abhängigen Pakete bis einschließlich
@code{octave-cli} mit Version 10 der GCC erstellt (vorgegeben wäre zurzeit,
GCC 7.5 zu benutzen):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(es "La nueva opción de transformación de paquetes
@option{--with-c-toolchain} proporciona a las desarrolladoras una manera
fácil de reconstruir sus paquetes favoritos con la cadena de herramientas
de compilación de C/C++ que elijan en vez de la predeterminada.
Por ejemplo, la siguiente orden reconstruye los paquetes @code{fftw} y
@code{fftwf} así como todos los paquetes que dependen de ellos hasta
@code{octave-cli}, usando la versión 10 de GCC (el compilador
predeterminado en estos momentos es GCC 7.5):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(fr "La nouvelle option de transformation de paquets
@option{--with-c-toolchain} permet aux développeur·euses de recompiler leurs
paquets préférés avec la chaîne d'outils C/C++ de leur choix à la place de
celle par défaut.
Par exemple, la commande ci-dessous recompile @code{fftw}, @code{fftwf} et
tous les paquets qui en dépendent, jusqu'à @code{octave-cli} inclus, avec GCC
10 (actuellement c'est GCC 7.5 qui est utilisé par défaut):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "8e1907a72430aa989125b053573ef0897c480697")
(title (en "Package transformation options now recorded in profiles")
(es "Las opciones de transformación de paquetes ahora se
quedan registradas en el perfil")
(de "Paketumwandlungsoptionen werden nun in Profilen gesichert")
(fr "Options de transformation sauvegardées dans les profils"))
(body
(en "When installing packages in a profile, package transformation
options such as @option{--with-input} are now recorded in the profile. When
you eventually run @command{guix upgrade}, those transformations will be
automatically applied to the upgraded packages.
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(es "Si durante la instalación de paquetes en un perfil se utilizaron
opciones de transformación de paquetes, como por ejemplo
@option{--with-input}, éstas se registran en el perfil. Cuando vuelva a
ejecutar @command{guix upgrade}, dichas transformaciones se aplicarán
automáticamente a los paquetes actualizados.
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(de "Wenn Sie ein Paket in ein Profil installieren, werden nun
Paketumwandlungsoptionen wie @option{--with-input} im Profil gespeichert.
Sobald Sie später @command{guix upgrade} ausführen, werden dieselben
Umwandlungen automatisch auf die aktualisierten Pakete angewandt.
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "Lorsqu'on installe des paquets dans un profil, les options de
transformation telles que @option{--with-input} sont désormais enregistrées
dans le profil. Quand on le met plus tard à jour avec @command{guix upgrade},
ces transformations sont automatiquement appliquées aux nouveaux paquets.
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "313f492657f1d0863c641fa5ee7f5b7028e27c94")
(title (en "New @option{--image-type} option for @command{guix system disk-image}.")
(es "Nueva opción @option{--image-type} para @command{guix system disk-image}.")
(de "Neue Option @option{--image-type} für @command{guix system disk-image}.")
(fr "Nouvelle option @option{--image-type} pour @command{guix system disk-image}."))
(body
(en "The @option{--file-system-type} option for @command{guix system
disk-image} command has been replaced by the new @option{--image-type} option.
By default, @code{raw} disk images are produced, but @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} and @code{iso9660} image types
are also available.
The @option{--list-image-types} option lists all the available image types.")
(es "La opción @option{--file-system-type} de @command{guix system
disk-image} se ha sustituido por la nueva opción @option{--image-type}. De
manera predeterminada se producen imágenes en formato crudo (@code{raw}) pero
también están disponibles los tipos de imagen @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} y @code{iso9660}.
La opción @option{--list-image-types} muestra una lista con todos los tipos
de imagen disponibles.")
(de "Anstelle der Befehlszeilenoption @option{--file-system-type} für
@command{guix system disk-image} gibt es nun die neue Option
@option{--image-type}. In der Vorgabeeinstellung @code{raw} werden rohe
Disk-Images erzeugt, aber es können auch die Abbildtypen @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} und @code{iso9660} ausgewählt
werden.
Mit der Option @option{--list-image-types} werden alle verfügbaren Abbildtypen
aufgelistet.")
(fr "L'option @option{--file-system-type} pour la commande
@command{guix system disk-image} a été remplacée par la nouvelle option
@option{--image-type}. Par défaut, l'option @code{raw}, produisant des images
disque brutes est sélectionnée. Les options @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} et @code{iso9660} sont également
disponibles.
La nouvelle option @option{--list-image-types} énumère les types d'image
disponibles.")))
(entry (commit "8819551c8d2a12cd4e84e09b51e434d05a012c9d")
(title (en "Package transformations now apply to implicit inputs")
(es "Las transformaciones de paquetes ahora afectan también
a las dependencias implícitas")
(de "Paketumwandlungen betreffen jetzt auch implizite Eingaben")
(fr "Les transformations de paquets s'appliquent aux
dépendances implicites"))
(body
(en "Package transformation options such as @option{--with-branch},
@option{--with-input}, and so on now apply to implicit inputs---previously
only a package's explicit inputs would be affected. This allows for things
such as replacing the Python dependency of a package that uses
@code{python-build-system}:
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Another example is grafting a different version of the GNU C
Library (@code{glibc} is an implicit input of almost all the packages and is
``deep down'' in the dependency graph):
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more
info.")
(es "Las opciones de transformación de paquetes como
@option{--with-branch}, @option{--with-input}, etcétera, ahora también
influyen en las entradas implícitas---antes únicamente las entradas explícitas
del paquete se veían afectadas. Esto permite, por ejemplo, sustituir la
dependencia en python de un paquete que use @code{python-build-system}:
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Otro ejemplo podría ser el injerto de una versión diferente de la biblioteca
de C de GNU (@code{glibc} es una entrada implícita de casi todos los paquetes
y ``muy abajo'' en el grafo de dependencias):
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(de "Paketumwandlungsoptionen wie @option{--with-branch},
@option{--with-input} und so weiter betreffen nun auch implizite Eingaben —
zuvor haben sie sich nur auf die expliziten Eingaben eines Pakets
ausgewirkt. Dadurch kann jetzt zum Beispiel die Python-Abhängigkeit eines
Pakets, welches @code{python-build-system} benutzt, ersetzt werden:
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Ein weiteres Beispiel ist, mit einer anderen Version der GNU-C-Bibliothek zu
veredeln (@code{glibc} ist eine implizite Eingabe fast aller Pakete und steckt
„ganz tief“ im Abhängigkeitsgraphen):
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "Les options de transformation de paquets telles que
@option{--with-branch} et @option{--with-input} s'appliquent désormais aux
dépendances implicites — jusque là seules les dépendances explicites des
paquets étaient prises en compte. Cela permet certaines choses telles que
remplacer la dépendance sur Python d'un paquet utilisant
@code{python-build-system} :
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Un autre exemple est la possibilité de greffer une version différente de la
bibliothèque C GNU (la @code{glibc} est une dépendance implicite de tous les
paquets et se trouve « tout en bas » du graphe de dépendance) :
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "f458cfbcc54ed87b1a87dd9e150ea276f17eab74")
(title (en "New @option{--without-tests} transformation option")
(es "Nueva opción de transformación @option{--without-tests}")
(de "Neue Paketumwandlungsoption @option{--without-tests}")
(fr "Nouvelle option de transformation @option{--without-tests}"))
(body
(en "The new @option{--without-tests} package transformation option
instructs Guix to skip the test suite of a given package. In the example
below, @code{guile-gcrypt} is built using a variant of @code{automake} itself
built without running its (lengthy) test suite:
@example
guix build guile-gcrypt --without-tests=automake
@end example
This is primarily useful as a way to speed up development cycles, or to work
around flaky test suites---skipping tests can hide real issues, so use with
care. Run @command{info \"(guix) Package Transformation Options\"} for more
info.")
(es "La nueva opción de transformación de paquetes
@option{--without-tests} indica a Guix que omita la batería de pruebas del
paquete proporcionado. En el siguiente ejemplo @code{guile-gcrypt} se
construye usando una variación de @code{automake}, la cual se ha construido
sin ejecutar su (larga) batería de pruebas:
@example
guix build guile-gcrypt --without-tests=automake
@end example
Esto es principalmente útil como una forma de acelerar ciclos de desarrollo o
de omitir temporalmente baterías de pruebas problemáticas---omitir las pruebas
puede ocultar problemas reales, por lo que debe usarse con precaución.
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(de "Mit der neuen Paketumwandlungsoption @option{--without-tests}
wird Guix angewiesen, den Testkatalog des angegebenen Pakets zu
überspringen. Im folgenden Beispiel wird @code{guile-gcrypt} mit einer
Variante von @code{automake} erstellt, die wiederum ohne Durchlauf ihres (viel
Zeit in Anspruch nehmenden) Testkatalogs erstellt wird:
@example
guix build guile-gcrypt --without-tests=automake
@end example
Der hauptsächliche Nutzen liegt in der Beschleunigung von Entwicklungszyklen
oder im Umgehen unzuverlässiger Testkataloge. Allerdings kann das Überspringen
dazu führen, dass echte Probleme verborgen bleiben. Setzen Sie es mit Bedacht
ein. Führen Sie @command{info \"(guix.de) Paketumwandlungsoptionen\"} aus, um
mehr Informationen zu erhalten.")
(fr "La nouvelle option de transformation de paquets
@option{--without-tests} demande à Guix de sauter la suite de tests d'un
paquet. Dans l'exemple ci-dessous, @code{guile-gcrypt} est construit en
utilisant une variante de @code{automake} construite sans lancer sa suite de
tests :
@example
guix build guile-gcrypt --without-tests=automake
@end example
Cette option est surtout intéressante pour raccourcir le cycle de
développement ou pour contourner une suite de tests qui n'est pas
fiable — sauter les tests peut cacher des vrais problèmes, à utiliser avec
précaution donc. Voir @command{info \"(guix.fr) Options de transformation de
paquets\"} pour plus de détails.")))
(entry (commit "a98712785e0b042a290420fd74e5a4a5da4fc68f")
(title (en "New @command{guix git authenticate} command")
(es "Nueva orden @command{guix git authenticate}")
(de "Neuer Befehl @command{guix git authenticate}")
(fr "Nouvelle commande @command{guix git authenticate}"))
(body
@@ -485,20 +30,6 @@ to allow people to authenticate code fetched from your repository.
Run @command{info \"(guix) Invoking guix git authenticate\"} for more info,
and see @uref{https://guix.gnu.org/blog/2020/securing-updates/} for details on
these mechanisms.")
(es "La nueva orden @command{guix git authenticate} comprueba la
validez de un repositorio git verificando las firmas de las revisiones y
comprobando que todas las firmas están autorizadas, exactamente igual que
@command{guix pull}.
Esta orden es principalmente útil para desarrolladoras de canales. Permite
asegurar, antes de subir nada al repositorio remoto, que el canal contiene
únicamente revisiones firmadas por claves autorizadas. No obstante esta orden
es útil siempre que use git y quiera que otras personas puedan verificar el
código obtenido de su repositorio.
Ejecute @command{info \"(guix.es) Invocación de guix git authenticate\"}
para obtener más información y vea detalles sobre estos mecanismos en
@uref{https://guix.gnu.org/blog/2020/securing-updates/}.")
(de "Mit dem neuen Befehl @command{guix git authenticate} können Sie
ein Git-Repository authentifizieren. Dazu werden alle Commit-Signaturen
verifiziert und geprüft, dass jede von einer autorisierten Quelle kommt, genau
@@ -531,7 +62,6 @@ pour en savoir plus sur ces mécanismes.")))
(entry (commit "43badf261f4688c8a7a7a9004a4bff8acb205835")
(title (en "@command{guix pull} authenticates channels")
(es "@command{guix pull} verifica los canales")
(de "@command{guix pull} authentifiziert Kanäle")
(fr "@command{guix pull} authentifie les canaux"))
(body
@@ -544,16 +74,6 @@ repository and from attempts to ship malicious code to users.
This feature is currently limited to the @code{guix} channel but will soon be
available to third-party channel authors.")
(es "Las ordenes @command{guix pull} y @command{guix time-machine}
ahora verifican el código fuente que obtienen, a menos que se proporcione la
opción @option{--disable-authentication}. Lo que esto significa es que Guix se
asegura de que cada revisión que recibe está firmada criptográficamente por
una desarrolladora autorizada. Esto le protege de intentos de modificación del
repositorio de Guix y de entregas de código con malas intenciones sobre las
usuarias.
Esta característica está limitada actualmente al canal @code{guix} pero pronto
estará disponible para autoras de canales independientes.")
(de "Die Befehle @command{guix pull} und @command{guix time-machine}
prüfen nun die Authentizität des heruntergeladenen Quellcodes, außer wenn die
neue Befehlszeilenoption @option{--disable-authentication} angegeben
@@ -577,7 +97,6 @@ Cette fonctionnalité n'est actuellement disponible que pour le canal
(entry (commit "c924e541390f9595d819edc33c19d979917c15ec")
(title (en "@command{guix repl} adds support for running Guile scripts")
(es "@command{guix repl} puede ejecutar guiones de Guile")
(de "@command{guix repl} kann Guile-Skripte ausführen")
(fr "@command{guix repl} permet d'exécuter des scripts en langage Guile"))
(body
@@ -591,18 +110,6 @@ guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
@end example
Run @command{info \"(guix) Invoking guix repl\"} for more information.")
(es "La orden @command{guix repl} ahora se puede usar para
ejecutar guiones de Guile. En comparación con únicamente la ejecución
de la orden @command{guile}, @command{guix repl} garantiza que todos
los módulos de Guix y sus dependencias están disponibles en la ruta
de búsqueda. Los guiones se ejecutan de este modo:
@example
guix repl -- mi-guion.scm --opcion1 --opcion2=param-op2 param1 param2
@end example
Ejecute @command{info \"(guix.es) Invocación de guix repl\"} para obtener
más información.")
(de "Der Befehl @command{guix repl} kann jetzt zur Ausführung von
Guile-Skripten verwendet werden. Im Vergleich zum Befehl
@command{guile} garantiert @command{guix repl}, dass alle Guix-Module und
@@ -629,7 +136,6 @@ Exécutez @command{info \"(guix.fr) Invoquer guix repl\"} pour plus d'informatio
(entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
(title (en "Add support to boot from a Btrfs subvolume")
(es "Implementado el arranque desde un subvolumen de Btrfs")
(de "Unterstützung für Systemstart von einem
Btrfs-Unterlaufwerk hinzugefügt")
(fr "Ajout du support pour démarrer depuis un sous-volume Btrfs")
@@ -640,11 +146,6 @@ operating system declaration now takes into account the use of a Btrfs
subvolume for the partition holding @file{/gnu/store}. Run the command
@command{info \"(guix) Btrfs file system\"} for more information and
examples.")
(es "El fichero de configuración de GRUB producido por la
declaración de sistema operativo ahora tiene en cuenta el uso de
subvolúmenes de Btrfs en la partición que contiene @file{/gnu/store}.
Ejecute la orden @command{info \"(guix.es) Sistema de ficheros Btrfs\"}
para obtener más información y ejemplos.")
(de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer
Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für
die Partition mit @file{/gnu/store} angegeben werden. Führen Sie
@@ -664,8 +165,6 @@ voorbeelden.")))
(entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
(title (en "@command{guix pack -RR} introduces a new execution
engine")
(es "@command{guix pack -RR} introduce un nuevo motor
de ejecución")
(de "@command{guix pack -RR} führt neuen Ausführungstreiber
ein"))
(body
@@ -686,26 +185,6 @@ export GUIX_EXECUTION_ENGINE
@end example
Run @command{info \"(guix) Invoking guix pack\"} for more information.")
(es "La orden @command{guix pack -RR} le permite crear un
archivador tar que contiene @dfn{binarios reposicionables}. Hasta ahora
dichos binarios dependían o bien de los ``espacios de nombres de usuarias
sin privilegios'' de Linux o en PRoot, cuando estos no estaban
implementados. No obstante, PRoot introduce una sobrecarga significativa
en algunos escenarios de trabajo.
Para estos casos @command{guix pack -RR} introduce una tercera opción
basada en una extensión al enlazador de tiempo de ejecución de GNU (ld.so)
y en Fakechroot, lo que conlleva muy poca sobrecarga. Puede seleccionar
la opción más rápida cuando ejecute un binario reposicionable de esta
manera:
@example
GUIX_EXECUTION_ENGINE=performance
export GUIX_EXECUTION_ENGINE
@end example
Ejecute @command{info \"(guix.es) Invocación de guix pack\"} para
obtener más información.")
(de "Mit dem Befehl @command{guix pack -RR} können Sie einen Tarball
mit @dfn{verschieblichen Binärdateien} erzeugen (englisch „Relocatable
Binaries“). Bisher wurden diese entweder in „unprivilegierten
@@ -730,7 +209,6 @@ mehr wissen wollen.")))
(entry (commit "88a96c568c47c97d05d883ada5afbc4e1200b10f")
(title (en "New @option{--path} option for @command{guix graph}")
(es "Nueva opción @option{--path} para @command{guix graph}")
(de "Neue Option @option{--path} für @command{guix graph}"))
(body
(en "The @command{guix graph} command has a new @option{--path}
@@ -743,18 +221,6 @@ guix graph --path libreoffice libunistring
@end example
Run @code{info \"(guix) Invoking guix graph\"} for more information.")
(es "La orden @command{guix graph} tiene una nueva opción
@option{--path} que le indica que debe mostrar la ruta más corta entre dos
paquetes, derivaciones o elementos del almacén. Por ejemplo, la siguiente
orden muestra la ruta más corta desde el paquete @code{libreoffice} hasta
@code{libunistring}:
@example
guix graph --path libreoffice libunistring
@end example
Ejecute @code{info \"(guix.es) Invocación de guix graph\"} para obtener más
información.")
(de "Der Befehl @command{guix graph} verfügt über eine neue
Befehlszeilenoption @option{--path}, die ihn den kürzesten Pfad zwischen zwei
Paketen, Ableitungen oder Store-Objekten ausgeben lässt. Zum Beispiel zeigt
-28
View File
@@ -1,28 +0,0 @@
#!/sbin/openrc-run
# GNU Guix --- Functional package management for GNU
# Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
export GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
export LC_ALL=en_US.utf8
command="@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon"
command_args="--build-users-group=guixbuild"
command_background="yes"
pidfile="/var/run/guix-daemon.pid"
output_log="/var/log/guix-daemon-stdout.log"
error_log="/var/log/guix-daemon-stderr.log"
+1 -11
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,18 +48,11 @@ TARGET."
'("bootstrap-tarballs" "gcc-toolchain" "nss-certs"
"openssh" "emacs" "vim" "python" "guile" "guix")))
(define %base-packages/hurd
;; XXX: For now we are less demanding of "i586-gnu".
(map specification->package
'("coreutils" "grep" "findutils" "gawk" "make"
"gcc-toolchain" "tar" "xz")))
(define %system-packages
;; Key packages proposed by the Guix System installer.
(append (map specification->package
'("xorg-server" "xfce" "gnome" "mate" "enlightenment"
"openbox" "awesome" "i3-wm" "ratpoison"
"emacs" "emacs-exwm" "emacs-desktop-environment"
"xlockmore" "slock" "libreoffice"
"connman" "network-manager" "network-manager-applet"
"openssh" "ntp" "tor"
@@ -100,9 +92,7 @@ TARGET."
(manifest
(append-map (lambda (system)
(map (cut package->manifest-entry* <> system)
(if (string=? system "i586-gnu")
%base-packages/hurd
%base-packages)))
%base-packages))
%hydra-supported-systems)))
(define %system-manifest
+11 -202
View File
@@ -4,7 +4,6 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
;;;
@@ -24,17 +23,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu bootloader grub)
#:use-module (guix build union)
#:use-module (guix records)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module ((guix utils) #:select (%current-system))
#:use-module (guix gexp)
#:use-module (gnu artwork)
#:use-module (gnu bootloader)
#:use-module (gnu system uuid)
#:use-module (gnu system file-systems)
#:use-module (gnu system keyboard)
#:use-module (gnu system locale)
#:use-module (gnu packages bootloaders)
#:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
#:autoload (gnu packages xorg) (xkeyboard-config)
@@ -50,11 +46,8 @@
grub-theme-color-highlight
grub-theme-gfxmode
install-grub-efi-netboot
grub-bootloader
grub-efi-bootloader
grub-efi-netboot-bootloader
grub-mkrescue-bootloader
grub-minimal-bootloader
@@ -142,24 +135,6 @@ file with the resolution provided in CONFIG."
(image->png image #:width width #:height height))
(_ #f)))))
(define (grub-locale-directory grub)
"Generate a directory with the locales from GRUB."
(define builder
#~(begin
(use-modules (ice-9 ftw))
(let ((locale (string-append #$grub "/share/locale"))
(out #$output))
(mkdir out)
(chdir out)
(for-each (lambda (lang)
(let ((file (string-append locale "/" lang
"/LC_MESSAGES/grub.mo"))
(dest (string-append lang ".mo")))
(when (file-exists? file)
(copy-file file dest))))
(scandir locale)))))
(computed-file "grub-locales" builder))
(define* (eye-candy config store-device store-mount-point
#:key store-directory-prefix port)
"Return a gexp that writes to PORT (a port-valued gexp) the 'grub.cfg' part
@@ -189,11 +164,9 @@ fi~%"
(symbol->string (assoc-ref colors 'bg)))))
(define font-file
(let* ((bootloader (bootloader-configuration-bootloader config))
(grub (bootloader-package bootloader)))
(normalize-file (file-append grub "/share/grub/unicode.pf2")
store-mount-point
store-directory-prefix)))
(normalize-file (file-append grub "/share/grub/unicode.pf2")
store-mount-point
store-directory-prefix))
(define image
(normalize-file (grub-background-image config)
@@ -322,41 +295,11 @@ code."
((? file-system-label? label)
(format #f "search --label --set ~a"
(file-system-label->string label)))
((? (lambda (device)
(and (string? device) (string-contains device ":/"))) nfs-uri)
;; If the device is an NFS share, then we assume that the expected
;; file on that device (e.g. the GRUB background image or the kernel)
;; has to be loaded over the network. Otherwise we would need an
;; additional device information for some local disk to look for that
;; file, which we do not have.
;;
;; We explicitly set "root=(tftp)" here even though if grub.cfg
;; had been loaded via TFTP, Grub would have set "root=(tftp)"
;; automatically anyway. The reason is if you have a system that
;; used to be on NFS but now is local, root would be set to local
;; disk. If you then selected an older system generation that is
;; supposed to boot from network in the Grub boot menu, Grub still
;; wouldn't load those files from network otherwise.
;;
;; TFTP is preferred to HTTP because it is used more widely and
;; specified in standards more widely--especially BOOTP/DHCPv4
;; defines a TFTP server for DHCP option 66, but not HTTP.
;;
;; Note: DHCPv6 specifies option 59 to contain a boot-file-url,
;; which can contain a HTTP or TFTP URL.
;;
;; Note: It is assumed that the file paths are of a similar
;; setup on both the TFTP server and the NFS server (it is
;; not possible to search for files on TFTP).
;;
;; TODO: Allow HTTP.
"set root=(tftp)")
((or #f (? string?))
#~(format #f "search --file --set ~a" #$file)))))
(define* (grub-configuration-file config entries
#:key
(locale #f)
(system (%current-system))
(old-entries '())
store-directory-prefix)
@@ -421,47 +364,17 @@ menuentry ~s {
#:store-directory-prefix store-directory-prefix
#:port #~port)))
(define locale-config
(let* ((entry (first all-entries))
(device (menu-entry-device entry))
(mount-point (menu-entry-device-mount-point entry))
(bootloader (bootloader-configuration-bootloader config))
(grub (bootloader-package bootloader)))
#~(let ((locale #$(and locale
(locale-definition-source
(locale-name->definition locale))))
(locales #$(and locale
(normalize-file (grub-locale-directory grub)
mount-point
store-directory-prefix))))
(when locale
(format port "\
# Localization configuration.
~asearch --file --set ~a/en@quot.mo
set locale_dir=~a
set lang=~a~%"
;; Skip the search if there is an image, as it has already
;; been performed by eye-candy and traversing the store is
;; an expensive operation.
#$(if (grub-theme-image (bootloader-theme config))
"# "
"")
locales
locales
locale)))))
(define keyboard-layout-config
(let* ((layout (bootloader-configuration-keyboard-layout config))
(grub (bootloader-package
(bootloader-configuration-bootloader config)))
(keymap* (and layout
(keyboard-layout-file layout #:grub grub)))
(entry (first all-entries))
(device (menu-entry-device entry))
(mount-point (menu-entry-device-mount-point entry))
(keymap (and keymap*
(normalize-file keymap* mount-point
store-directory-prefix))))
(if store-directory-prefix
#~(string-append #$store-directory-prefix
#$keymap*)
keymap*))))
#~(when #$keymap
(format port "\
insmod keylayouts
@@ -475,7 +388,6 @@ keymap ~a~%" #$keymap))))
# will be lost upon reconfiguration.
")
#$(sugar)
#$locale-config
#$keyboard-layout-config
(format port "
set default=~a
@@ -589,108 +501,11 @@ fi~%"))))
"--bootloader-id=Guix"
"--efi-directory" target-esp))))
(define (install-grub-efi-netboot subdir)
"Define a grub-efi-netboot bootloader installer for installation in SUBDIR,
which is usually efi/Guix or efi/boot."
(let* ((system (string-split (nix-system->gnu-triplet
(or (%current-target-system)
(%current-system)))
#\-))
(arch (first system))
(boot-efi-link (match system
;; These are the supportend systems and the names
;; defined by the UEFI standard for removable media.
(("i686" _ ...) "/bootia32.efi")
(("x86_64" _ ...) "/bootx64.efi")
(("arm" _ ...) "/bootarm.efi")
(("aarch64" _ ...) "/bootaa64.efi")
(("riscv" _ ...) "/bootriscv32.efi")
(("riscv64" _ ...) "/bootriscv64.efi")
;; Other systems are not supported, although defined.
;; (("riscv128" _ ...) "/bootriscv128.efi")
;; (("ia64" _ ...) "/bootia64.efi")
((_ ...) #f)))
(core-efi (string-append
;; This is the arch dependent file name of GRUB, e.g.
;; i368-efi/core.efi or arm64-efi/core.efi.
(match arch
("i686" "i386")
("aarch64" "arm64")
("riscv" "riscv32")
(_ arch))
"-efi/core.efi")))
(with-imported-modules
'((guix build union))
#~(lambda (bootloader target mount-point)
"Install the BOOTLOADER, which must be the package grub, as e.g.
bootx64.efi or bootaa64.efi into SUBDIR, which is usually efi/Guix or efi/boot,
below the directory TARGET for the system whose root is mounted at MOUNT-POINT.
MOUNT-POINT is the last argument in 'guix system init /etc/config.scm mnt/point'
or '/' for other 'guix system' commands.
TARGET is the target argument given to the bootloader-configuration in
(operating-system
(bootloader (bootloader-configuration
(target \"/boot\")
…))
…)
TARGET is required to be an absolute directory name, usually mounted via NFS,
and finally needs to be provided by a TFTP server as the TFTP root directory.
GRUB will load tftp://server/SUBDIR/grub.cfg and this file will instruct it to
load more files from the store like tftp://server/gnu/store/…-linux…/Image.
To make this possible two symlinks will be created. The first symlink points
relatively form MOUNT-POINT/TARGET/SUBDIR/grub.cfg to
MOUNT-POINT/boot/grub/grub.cfg, and the second symlink points relatively from
MOUNT-POINT/TARGET/%store-prefix to MOUNT-POINT/%store-prefix.
It is important to note that these symlinks need to be relativ, as the absolute
paths on the TFTP server side are unknown.
It is also important to note that both symlinks will point outside the TFTP root
directory and that the TARGET/%store-prefix symlink makes the whole store
accessible via TFTP. Possibly the TFTP server must be configured
to allow accesses outside its TFTP root directory. This may need to be
considered for security aspects."
(use-modules ((guix build union) #:select (symlink-relative)))
(let* ((net-dir (string-append mount-point target "/"))
(sub-dir (string-append net-dir #$subdir "/"))
(store (string-append mount-point (%store-prefix)))
(store-link (string-append net-dir (%store-prefix)))
(grub-cfg (string-append mount-point "/boot/grub/grub.cfg"))
(grub-cfg-link (string-append sub-dir (basename grub-cfg)))
(boot-efi-link (string-append sub-dir #$boot-efi-link)))
;; Prepare the symlink to the store.
(mkdir-p (dirname store-link))
(false-if-exception (delete-file store-link))
(symlink-relative store store-link)
;; Prepare the symlink to the grub.cfg, which points into the store.
(mkdir-p (dirname grub-cfg-link))
(false-if-exception (delete-file grub-cfg-link))
(symlink-relative grub-cfg grub-cfg-link)
;; Install GRUB, which refers to the grub.cfg, with support for
;; encrypted partitions,
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
(invoke/quiet (string-append bootloader "/bin/grub-mknetdir")
(string-append "--net-directory=" net-dir)
(string-append "--subdir=" #$subdir))
;; Prepare the bootloader symlink, which points to core.efi of GRUB.
(false-if-exception (delete-file boot-efi-link))
(symlink #$core-efi boot-efi-link))))))
;;;
;;; Bootloader definitions.
;;;
;;; For all these grub-bootloader variables the path to /boot/grub/grub.cfg
;;; is fixed. Inheriting and overwriting the field 'configuration-file' will
;;; break 'guix system delete-generations', 'guix system switch-generation',
;;; and 'guix system roll-back'.
(define grub-bootloader
(bootloader
@@ -701,12 +516,12 @@ considered for security aspects."
(configuration-file "/boot/grub/grub.cfg")
(configuration-file-generator grub-configuration-file)))
(define grub-minimal-bootloader
(define* grub-minimal-bootloader
(bootloader
(inherit grub-bootloader)
(package grub-minimal)))
(define grub-efi-bootloader
(define* grub-efi-bootloader
(bootloader
(inherit grub-bootloader)
(installer install-grub-efi)
@@ -714,13 +529,7 @@ considered for security aspects."
(name 'grub-efi)
(package grub-efi)))
(define grub-efi-netboot-bootloader
(bootloader
(inherit grub-efi-bootloader)
(name 'grub-efi-netboot-bootloader)
(installer (install-grub-efi-netboot "efi/Guix"))))
(define grub-mkrescue-bootloader
(define* grub-mkrescue-bootloader
(bootloader
(inherit grub-efi-bootloader)
(package grub-hybrid)))
+34 -35
View File
@@ -45,7 +45,7 @@
u-boot-wandboard-bootloader))
(define install-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(if bootloader
(error "Failed to install U-Boot"))))
@@ -56,74 +56,74 @@
;; the MLO and is expected at 0x60000. Write both first stage ("MLO") and
;; second stage ("u-boot.img") images, read in BOOTLOADER directory, to the
;; specified DEVICE.
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((mlo (string-append bootloader "/libexec/MLO"))
(u-boot (string-append bootloader "/libexec/u-boot.img")))
(write-file-on-device mlo (* 256 512)
image (* 256 512))
device (* 256 512))
(write-file-on-device u-boot (* 1024 512)
image (* 768 512)))))
device (* 768 512)))))
(define install-allwinner-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((u-boot (string-append bootloader
"/libexec/u-boot-sunxi-with-spl.bin")))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 8 1024)))))
device (* 8 1024)))))
(define install-allwinner64-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((spl (string-append bootloader "/libexec/spl/sunxi-spl.bin"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device spl (stat:size (stat spl))
image (* 8 1024))
device (* 8 1024))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 40 1024)))))
device (* 40 1024)))))
(define install-imx-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((spl (string-append bootloader "/libexec/SPL"))
(u-boot (string-append bootloader "/libexec/u-boot.img")))
(write-file-on-device spl (stat:size (stat spl))
image (* 1 1024))
device (* 1 1024))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 69 1024)))))
device (* 69 1024)))))
(define install-puma-rk3399-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((spl (string-append bootloader "/libexec/u-boot-spl.rksd"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device spl (stat:size (stat spl))
image (* 64 512))
device (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 512 512)))))
device (* 512 512)))))
(define install-firefly-rk3399-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device idb (stat:size (stat idb))
image (* 64 512))
device (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 16384 512)))))
device (* 16384 512)))))
(define install-rock64-rk3328-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device idb (stat:size (stat idb))
image (* 64 512))
device (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 16384 512)))))
device (* 16384 512)))))
(define install-rockpro64-rk3399-u-boot
#~(lambda (bootloader root-index image)
#~(lambda (bootloader device mount-point)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device idb (stat:size (stat idb))
image (* 64 512))
device (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 16384 512)))))
device (* 16384 512)))))
(define install-pinebook-pro-rk3399-u-boot install-rockpro64-rk3399-u-boot)
@@ -138,29 +138,28 @@
(inherit extlinux-bootloader)
(name 'u-boot)
(package #f)
(installer #f)
(disk-image-installer install-u-boot)))
(installer install-u-boot)))
(define u-boot-beaglebone-black-bootloader
(bootloader
(inherit u-boot-bootloader)
(package u-boot-am335x-boneblack)
(disk-image-installer install-beaglebone-black-u-boot)))
(installer install-beaglebone-black-u-boot)))
(define u-boot-allwinner-bootloader
(bootloader
(inherit u-boot-bootloader)
(disk-image-installer install-allwinner-u-boot)))
(installer install-allwinner-u-boot)))
(define u-boot-allwinner64-bootloader
(bootloader
(inherit u-boot-bootloader)
(disk-image-installer install-allwinner64-u-boot)))
(installer install-allwinner64-u-boot)))
(define u-boot-imx-bootloader
(bootloader
(inherit u-boot-bootloader)
(disk-image-installer install-imx-u-boot)))
(installer install-imx-u-boot)))
(define u-boot-nintendo-nes-classic-edition-bootloader
(bootloader
@@ -197,7 +196,7 @@
(bootloader
(inherit u-boot-bootloader)
(package u-boot-firefly-rk3399)
(disk-image-installer install-firefly-rk3399-u-boot)))
(installer install-firefly-rk3399-u-boot)))
(define u-boot-mx6cuboxi-bootloader
(bootloader
@@ -233,25 +232,25 @@
(bootloader
(inherit u-boot-bootloader)
(package u-boot-puma-rk3399)
(disk-image-installer install-puma-rk3399-u-boot)))
(installer install-puma-rk3399-u-boot)))
(define u-boot-rock64-rk3328-bootloader
;; SD and eMMC use the same format
(bootloader
(inherit u-boot-bootloader)
(package u-boot-rock64-rk3328)
(disk-image-installer install-rock64-rk3328-u-boot)))
(installer install-rock64-rk3328-u-boot)))
(define u-boot-rockpro64-rk3399-bootloader
;; SD and eMMC use the same format
(bootloader
(inherit u-boot-bootloader)
(package u-boot-rockpro64-rk3399)
(disk-image-installer install-rockpro64-rk3399-u-boot)))
(installer install-rockpro64-rk3399-u-boot)))
(define u-boot-pinebook-pro-rk3399-bootloader
;; SD and eMMC use the same format
(bootloader
(inherit u-boot-bootloader)
(package u-boot-pinebook-pro-rk3399)
(disk-image-installer install-pinebook-pro-rk3399-u-boot)))
(installer install-pinebook-pro-rk3399-u-boot)))
+5 -13
View File
@@ -22,8 +22,6 @@
#:use-module (guix utils)
#:use-module (ice-9 binary-ports)
#:use-module (ice-9 format)
#:use-module (rnrs io ports)
#:use-module (rnrs io simple)
#:export (write-file-on-device
install-efi-loader))
@@ -37,17 +35,11 @@
(call-with-input-file file
(lambda (input)
(let ((bv (get-bytevector-n input size)))
(call-with-port
;; Do not use "call-with-output-file" that would truncate the file.
(open-file-output-port device
(file-options no-truncate no-fail)
(buffer-mode block)
;; Use the binary-friendly ISO-8859-1
;; encoding.
(make-transcoder (latin-1-codec)))
(lambda (output)
(seek output offset SEEK_SET)
(put-bytevector output bv)))))))
(call-with-output-file device
(lambda (output)
(seek output offset SEEK_SET)
(put-bytevector output bv))
#:binary #t)))))
;;;
+2 -47
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
@@ -179,46 +179,6 @@ if DEVICE does not contain an ext2 file system."
(2 'reboot-required)
(_ 'fatal-error)))
;;;
;;; Linux swap.
;;;
;; Linux "swap space" is not a file system but it has a UUID and volume name,
;; like actual file systems, and we want to be able to look up swap partitions
;; by UUID and by label.
(define %linux-swap-magic
(string->utf8 "SWAPSPACE2"))
;; Like 'PAGE_SIZE' in Linux, arch/x86/include/asm/page.h.
;; XXX: This is always 4K on x86_64, i386, and ARMv7. However, on AArch64,
;; this is determined by 'CONFIG_ARM64_PAGE_SHIFT' in the kernel, which is 12
;; by default (4K) but can be 14 or 16.
(define %page-size 4096)
(define (linux-swap-superblock? sblock)
"Return #t when SBLOCK is an linux-swap superblock."
(and (= (bytevector-length sblock) %page-size)
(bytevector=? (sub-bytevector sblock (- %page-size 10) 10)
%linux-swap-magic)))
(define (read-linux-swap-superblock device)
"Return the raw contents of DEVICE's linux-swap superblock as a bytevector, or #f
if DEVICE does not contain an linux-swap file system."
(read-superblock device 0 %page-size linux-swap-superblock?))
;; See 'union swap_header' in 'include/linux/swap.h'.
(define (linux-swap-superblock-uuid sblock)
"Return the UUID of Linux-swap superblock SBLOCK as a 16-byte bytevector."
(sub-bytevector sblock (+ 1024 4 4 4) 16))
(define (linux-swap-superblock-volume-name sblock)
"Return the label of Linux-swap superblock SBLOCK as a string."
(null-terminated-latin1->string
(sub-bytevector sblock (+ 1024 4 4 4 16) 16)))
;;;
;;; Btrfs file systems.
@@ -636,8 +596,6 @@ partition field reader that returned a value."
iso9660-superblock-volume-name)
(partition-field-reader read-ext2-superblock
ext2-superblock-volume-name)
(partition-field-reader read-linux-swap-superblock
linux-swap-superblock-volume-name)
(partition-field-reader read-btrfs-superblock
btrfs-superblock-volume-name)
(partition-field-reader read-fat32-superblock
@@ -654,8 +612,6 @@ partition field reader that returned a value."
iso9660-superblock-uuid)
(partition-field-reader read-ext2-superblock
ext2-superblock-uuid)
(partition-field-reader read-linux-swap-superblock
linux-swap-superblock-uuid)
(partition-field-reader read-btrfs-superblock
btrfs-superblock-uuid)
(partition-field-reader read-fat32-superblock
@@ -719,8 +675,7 @@ were found."
(define (canonicalize-device-spec spec)
"Return the device name corresponding to SPEC, which can be a <uuid>, a
<file-system-label>, or a string (typically a /dev file name or an nfs-root
containing ':/')."
<file-system-label>, or a string (typically a /dev file name)."
(define max-trials
;; Number of times we retry partition label resolution, 1 second per
;; trial. Note: somebody reported a delay of 16 seconds (!) before their
+1 -4
View File
@@ -211,9 +211,6 @@ set."
("dev/vcs" ("/hurd/console"))
("dev/tty" ("/hurd/magic" "tty") #o666)
;; 'fd_to_filename' in libc expects it.
("dev/fd" ("/hurd/magic" "--directory" "fd") #o555)
("dev/tty1" ("/hurd/term" "/dev/tty1" "hurdio" "/dev/vcs/1/console")
#o666)
("dev/tty2" ("/hurd/term" "/dev/tty2" "hurdio" "/dev/vcs/2/console")
@@ -243,10 +240,10 @@ set."
(for-each scope-set-translator devices)
(false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom")))
(mkdir* "dev/fd")
(false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin")))
(false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout")))
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr")))
(false-if-EEXIST (symlink "crash-dump-core" (scope "servers/crash")))
;; Make sure /etc/mtab is a symlink to /proc/mounts.
(false-if-exception (delete-file (scope "etc/mtab")))
+5 -15
View File
@@ -37,7 +37,6 @@
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:export (make-partition-image
convert-disk-image
genimage
initialize-efi-partition
initialize-root-partition
@@ -118,25 +117,16 @@ ROOT directory to populate the image."
((string=? type "vfat")
(make-vfat-image partition target root))
(else
(raise (condition
(&message
(message "unsupported partition type"))))))))
(format (current-error-port)
"Unsupported partition type~%.")))))
(define (convert-disk-image image format output)
"Convert IMAGE to OUTPUT according to the given FORMAT."
(case format
((compressed-qcow2)
(invoke "qemu-img" "convert" "-c" "-f" "raw"
"-O" "qcow2" image output))
(else
(copy-file image output))))
(define* (genimage config)
(define* (genimage config target)
"Use genimage to generate in TARGET directory, the image described in the
given CONFIG file."
;; genimage needs a 'root' directory.
(mkdir "root")
(invoke "genimage" "--config" config))
(invoke "genimage" "--config" config
"--outputpath" target))
(define* (register-closure prefix closure
#:key
+1 -43
View File
@@ -18,7 +18,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu build install)
#:use-module (guix build syscalls)
#:use-module (guix build utils)
#:use-module (guix build store-copy)
#:use-module (srfi srfi-26)
@@ -27,9 +26,7 @@
evaluate-populate-directive
populate-root-file-system
install-database-and-gc-roots
populate-single-profile-directory
mount-cow-store
unmount-cow-store))
populate-single-profile-directory))
;;; Commentary:
;;;
@@ -232,43 +229,4 @@ This is used to create the self-contained tarballs with 'guix pack'."
(_
#t)))
(define (mount-cow-store target backing-directory)
"Make the store copy-on-write, using TARGET as the backing store. This is
useful when TARGET is on a hard disk, whereas the current store is on a RAM
disk."
(define (set-store-permissions directory)
"Set the right perms on DIRECTORY to use it as the store."
(chown directory 0 30000) ;use the fixed 'guixbuild' GID
(chmod directory #o1775))
(let ((tmpdir (string-append target "/tmp")))
(mkdir-p tmpdir)
(mount tmpdir "/tmp" "none" MS_BIND))
(let* ((rw-dir (string-append target backing-directory))
(work-dir (string-append rw-dir "/../.overlayfs-workdir")))
(mkdir-p rw-dir)
(mkdir-p work-dir)
(mkdir-p "/.rw-store")
(set-store-permissions rw-dir)
(set-store-permissions "/.rw-store")
;; Mount the overlay, then atomically make it the store.
(mount "none" "/.rw-store" "overlay" 0
(string-append "lowerdir=" (%store-directory) ","
"upperdir=" rw-dir ","
"workdir=" work-dir))
(mount "/.rw-store" (%store-directory) "" MS_MOVE)
(rmdir "/.rw-store")))
(define (unmount-cow-store target backing-directory)
"Unmount copy-on-write store."
(let ((tmp-dir "/remove"))
(mkdir-p tmp-dir)
(mount (%store-directory) tmp-dir "" MS_MOVE)
(umount tmp-dir)
(rmdir tmp-dir)
(delete-file-recursively
(string-append target backing-directory))))
;;; install.scm ends here
+2 -3
View File
@@ -469,10 +469,9 @@ upon error."
(define (device-string->file-system-device device-string)
;; The "--root=SPEC" kernel command-line option always provides a
;; string, but the string can represent a device, an nfs-root, a UUID, or a
;; label. So check for all four.
;; string, but the string can represent a device, a UUID, or a
;; label. So check for all three.
(cond ((string-prefix? "/" device-string) device-string)
((string-contains device-string ":/") device-string) ; nfs-root
((uuid device-string) => identity)
(else (file-system-label device-string))))
+2 -4
View File
@@ -170,8 +170,7 @@ for the process."
(pivot-root root put-old)
(chdir "/")
(umount "real-root" MNT_DETACH)
(rmdir "real-root")
(chmod "/" #o755)))
(rmdir "real-root")))
(define* (initialize-user-namespace pid host-uids
#:key (guest-uid 0) (guest-gid 0))
@@ -244,8 +243,7 @@ that host UIDs (respectively GIDs) map to in the namespace."
(match (read child)
('ready
(purify-environment)
(when (and (memq 'mnt namespaces)
(not (string=? root "/")))
(when (memq 'mnt namespaces)
(catch #t
(lambda ()
(mount-file-systems root mounts
-190
View File
@@ -1,190 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu build secret-service)
#:use-module (guix build utils)
#:use-module (srfi srfi-26)
#:use-module (rnrs bytevectors)
#:use-module (ice-9 binary-ports)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:export (secret-service-receive-secrets
secret-service-send-secrets))
;;; Commentary:
;;;
;;; Utility procedures for copying secrets into a VM.
;;;
;;; Code:
(define-syntax log
(lambda (s)
"Log the given message."
(syntax-case s ()
((_ fmt args ...)
(with-syntax ((fmt (string-append "secret service: "
(syntax->datum #'fmt))))
;; Log to the current output port. That way, when
;; 'secret-service-send-secrets' is called from shepherd, output goes
;; to syslog.
#'(format (current-output-port) fmt args ...))))))
(define* (secret-service-send-secrets port secret-root
#:key (retry 60)
(handshake-timeout 120))
"Copy all files under SECRET-ROOT using TCP to secret-service listening at
local PORT. If connect fails, sleep 1s and retry RETRY times; once connected,
wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
#f on failure."
(define (file->file+size+mode file-name)
(let ((stat (stat file-name))
(target (substring file-name (string-length secret-root))))
(list target (stat:size stat) (stat:mode stat))))
(define (send-files sock)
(let* ((files (if secret-root (find-files secret-root) '()))
(files-sizes-modes (map file->file+size+mode files))
(secrets `(secrets
(version 0)
(files ,files-sizes-modes))))
(write secrets sock)
(for-each (lambda (file)
(call-with-input-file file
(lambda (input)
(dump-port input sock))))
files)))
(log "sending secrets to ~a~%" port)
(let ((sock (socket AF_INET SOCK_STREAM 0))
(addr (make-socket-address AF_INET INADDR_LOOPBACK port)))
;; Connect to QEMU on the forwarded port. The 'connect' call succeeds as
;; soon as QEMU is ready, even if there's no server listening on the
;; forward port inside the guest.
(let loop ((retry retry))
(catch 'system-error
(cute connect sock addr)
(lambda (key . args)
(when (zero? retry)
(apply throw key args))
(log "retrying connection [~a attempts left]~%"
(- retry 1))
(sleep 1)
(loop (1- retry)))))
(log "connected; waiting for handshake...~%")
;; Wait for "hello" message from the server. This is the only way to know
;; that we're really connected to the server inside the guest.
(match (select (list sock) '() '() handshake-timeout)
(((_) () ())
(match (read sock)
(('secret-service-server ('version version ...))
(log "sending files from ~s...~%" secret-root)
(send-files sock)
(log "done sending files to port ~a~%" port)
(close-port sock)
secret-root)
(x
(log "invalid handshake ~s~%" x)
(close-port sock)
#f)))
((() () ()) ;timeout
(log "timeout while sending files to ~a~%" port)
(close-port sock)
#f))))
(define (secret-service-receive-secrets port)
"Listen to local PORT and wait for a secret service client to send secrets.
Write them to the file system. Return the list of files installed on success,
and #f otherwise."
(define (wait-for-client port)
;; Wait for a TCP connection on PORT. Note: We cannot use the
;; virtio-serial ports, which would be safer, because they are
;; (presumably) unsupported on GNU/Hurd.
(let ((sock (socket AF_INET SOCK_STREAM 0)))
(bind sock AF_INET INADDR_ANY port)
(listen sock 1)
(log "waiting for secrets on port ~a...~%" port)
(match (select (list sock) '() '() 60)
(((_) () ())
(match (accept sock)
((client . address)
(log "client connection from ~a~%"
(inet-ntop (sockaddr:fam address)
(sockaddr:addr address)))
;; Send a "hello" message. This allows the client running on the
;; host to know that it's now actually connected to server running
;; in the guest.
(write '(secret-service-server (version 0)) client)
(force-output client)
(close-port sock)
client)))
((() () ())
(log "did not receive any secrets; time out~%")
(close-port sock)
#f))))
;; TODO: Remove when (@ (guix build utils) dump-port) has a 'size'
;; parameter.
(define (dump in out size)
;; Copy SIZE bytes from IN to OUT.
(define buf-size 65536)
(define buf (make-bytevector buf-size))
(let loop ((left size))
(if (<= left 0)
0
(let ((read (get-bytevector-n! in buf 0 (min left buf-size))))
(if (eof-object? read)
left
(begin
(put-bytevector out buf 0 read)
(loop (- left read))))))))
(define (read-secrets port)
;; Read secret files from PORT and install them.
(match (false-if-exception (read port))
(('secrets ('version 0)
('files ((files sizes modes) ...)))
(for-each (lambda (file size mode)
(log "installing file '~a' (~a bytes)...~%"
file size)
(mkdir-p (dirname file))
(call-with-output-file file
(lambda (output)
(dump port output size)
(chmod file mode))))
files sizes modes)
(log "received ~a secret files~%" (length files))
files)
(_
(log "invalid secrets received~%")
#f)))
(let* ((port (wait-for-client port))
(result (and=> port read-secrets)))
(when port
(close-port port))
result))
;;; secret-service.scm ends here
+2 -34
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,8 +23,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (make-forkexec-constructor/container
fork+exec-command/container))
#:export (make-forkexec-constructor/container))
;;; Commentary:
;;;
@@ -95,8 +93,7 @@
;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency.
(module-autoload! (current-module)
'(shepherd service)
'(fork+exec-command read-pid-file exec-command
%precious-signals))
'(read-pid-file exec-command %precious-signals))
(module-autoload! (current-module)
'(shepherd system) '(unblock-signals))
@@ -191,35 +188,6 @@ namespace, in addition to essential bind-mounts such /proc."
(read-pid-file pid-file #:max-delay pid-file-timeout))
pid))))
(define* (fork+exec-command/container command
#:key pid
#:allow-other-keys
#:rest args)
"This is a variant of 'fork+exec-command' procedure, that joins the
namespaces of process PID beforehand. If there is no support for containers,
on Hurd systems for instance, fallback to direct forking."
(define (strip-pid args)
;; TODO: Replace with 'strip-keyword-arguments' when that no longer pulls
;; in (guix config).
(let loop ((args args)
(result '()))
(match args
(()
(reverse result))
((#:pid _ . rest)
(loop rest result))
((head . rest)
(loop rest (cons head result))))))
(let ((container-support?
(file-exists? "/proc/self/ns"))
(fork-proc (lambda ()
(apply fork+exec-command command
(strip-pid args)))))
(if container-support?
(container-excursion* pid fork-proc)
(fork-proc))))
;; Local Variables:
;; eval: (put 'container-excursion* 'scheme-indent-function 1)
;; End:
+228 -314
View File
@@ -1,9 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,15 +19,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu ci)
#:use-module (guix channels)
#:use-module (guix config)
#:use-module (guix describe)
#:use-module (guix store)
#:use-module (guix grafts)
#:use-module (guix profiles)
#:use-module (guix packages)
#:use-module (guix channels)
#:use-module (guix config)
#:use-module (guix derivations)
#:use-module (guix build-system)
#:use-module (guix monads)
@@ -37,8 +32,7 @@
#:use-module (guix ui)
#:use-module ((guix licenses)
#:select (gpl3+ license? license-name))
#:use-module ((guix utils) #:select (%current-system
location-file))
#:use-module ((guix utils) #:select (%current-system))
#:use-module ((guix scripts system) #:select (read-operating-system))
#:use-module ((guix scripts pack)
#:select (lookup-compressor self-contained-tarball))
@@ -60,134 +54,69 @@
#:use-module (gnu system vm)
#:use-module (gnu system install)
#:use-module (gnu system images hurd)
#:use-module (gnu system images pine64)
#:use-module (gnu tests)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (derivation->job
image->job
%core-packages
%cross-targets
#:export (%cross-targets
channel-source->package
arguments->systems
cuirass-jobs))
hydra-jobs))
;;; Commentary:
;;;
;;; This file defines build jobs for Cuirass.
;;; This file defines build jobs for the Hydra and Cuirass continuation
;;; integration tools.
;;;
;;; Code:
;; Backport from (guix channels) module.
(define* (sexp->channel sexp #:optional (name 'channel))
"Read SEXP, a provenance sexp as created by 'channel-instance->sexp'; use
NAME as the channel name if SEXP does not specify it. Return #f if the sexp
does not have the expected structure."
(match sexp
(('repository ('version 0)
('url url)
('branch branch)
('commit commit)
rest ...)
;; Historically channel sexps did not include the channel name. It's OK
;; for channels created by 'channel-instances->manifest' because the
;; entry name is the channel name, but it was missing for entries created
;; by 'manifest-entry-with-provenance'.
(channel (name (match (assq 'name rest)
(#f name)
(('name name) name)))
(url url)
(branch branch)
(commit commit)
(introduction
(match (assq 'introduction rest)
(#f #f)
(('introduction intro)
(sexp->channel-introduction intro))))))
(_ #f)))
;; Backport from (guix describe) module.
(define (package-channels package)
"Return the list of channels providing PACKAGE or an empty list if it could
not be determined."
(match (and=> (package-location package) location-file)
(#f '())
(file
(let ((file (if (string-prefix? "/" file)
file
(search-path %load-path file))))
(if (and file
(string-prefix? (%store-prefix) file))
(filter-map
(lambda (entry)
(let ((item (manifest-entry-item entry)))
(and (or (string-prefix? item file)
(string=? "guix" (manifest-entry-name entry)))
(manifest-entry-channel entry))))
(current-profile-entries))
'())))))
(define* (derivation->job name drv
#:key
(max-silent-time 3600)
(timeout 3600))
"Return a Cuirass job called NAME and describing DRV.
MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when
building the derivation."
`((#:job-name . ,name)
(#:derivation . ,(derivation-file-name drv))
(#:inputs . ,(map (compose derivation-file-name
derivation-input-derivation)
(derivation-inputs drv)))
(#:outputs . ,(filter-map
(lambda (res)
(match res
((name . path)
`(,name . ,path))))
(derivation->output-paths drv)))
(#:nix-name . ,(derivation-name drv))
(#:system . ,(derivation-system drv))
(#:max-silent-time . ,max-silent-time)
(#:timeout . ,timeout)))
(define* (package-job store job-name package system
#:key cross? target)
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
(let ((job-name (string-append job-name "." system)))
(parameterize ((%graft? #f))
(let* ((drv (if cross?
(package-cross-derivation store package target system
#:graft? #f)
(define* (package->alist store package system
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
(parameterize ((%graft? #f))
`((derivation . ,(derivation-file-name
(package-derivation store package system
#:graft? #f)))
(max-silent-time (or (assoc-ref (package-properties package)
'max-silent-time)
3600))
(timeout (or (assoc-ref (package-properties package)
'timeout)
72000)))
(derivation->job job-name drv
#:max-silent-time max-silent-time
#:timeout timeout)))))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
;; XXX: Hydra ignores licenses that are not a <license> structure or a
;; list thereof.
(license . ,(let loop ((license (package-license package)))
(match license
((? license?)
(license-name license))
((lst ...)
(map loop license)))))
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))
(max-silent-time . ,(or (assoc-ref (package-properties package)
'max-silent-time)
3600)) ;1 hour by default
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
72000))))) ;20 hours by default
(define (package-job store job-name package system)
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
(let ((job-name (symbol-append job-name (string->symbol ".")
(string->symbol system))))
`(,job-name . ,(cut package->alist store package system))))
(define (package-cross-job store job-name package target system)
"Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on
SYSTEM."
(let ((name (string-append target "." job-name "." system)))
(package-job store name package system
#:cross? #t
#:target target)))
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
(string->symbol ".") (string->symbol system)) .
,(cute package->alist store package system
(lambda* (store package system #:key graft?)
(package-cross-derivation store package target system
#:graft? graft?)))))
(define %core-packages
;; Note: Don't put the '-final' package variants because (1) that's
;; implicit, and (2) they cannot be cross-built (due to the explicit input
;; chain.)
(list gcc-7 gcc-8 gcc-9 gcc-10 glibc binutils
(list gcc-4.8 gcc-4.9 gcc-5 glibc binutils
gmp mpfr mpc coreutils findutils diffutils patch sed grep
gawk gnu-gettext hello guile-2.0 guile-2.2 zlib gzip xz
%bootstrap-binaries-tarball
@@ -209,7 +138,6 @@ SYSTEM."
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
"powerpc64le-linux-gnu"
"riscv64-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32"
@@ -258,22 +186,6 @@ SYSTEM."
(remove (either from-32-to-64? same? pointless?)
%cross-targets)))
(define* (guix-jobs store systems #:key source commit)
"Return a list of jobs for Guix itself."
(define build
(primitive-load (string-append source "/build-aux/build-self.scm")))
(map
(lambda (system)
(let ((name (string->symbol
(string-append "guix." system)))
(drv (run-with-store store
(build source #:version commit #:system system
#:pull-version 1
#:guile-version "2.2"))))
(derivation->job name drv)))
systems))
;; Architectures that are able to build or cross-build Guix System images.
;; This does not mean that other architectures are not supported, only that
;; they are often not fast enough to support Guix System images building.
@@ -281,54 +193,52 @@ SYSTEM."
'("x86_64-linux" "i686-linux"))
(define %guix-system-images
(list hurd-barebones-qcow2-image
pine64-barebones-raw-image))
(define (hours hours)
(* 3600 hours))
(define* (image->job store image
#:key name system)
"Return the job for IMAGE on SYSTEM. If NAME is passed, use it as job name,
otherwise use the IMAGE name."
(let* ((image-name (or name
(symbol->string (image-name image))))
(name (string-append image-name "." system))
(drv (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object (system-image image))))))
(parameterize ((%graft? #f))
(derivation->job name drv))))
(list hurd-barebones-disk-image))
(define (image-jobs store system)
"Return a list of jobs that build images for SYSTEM."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone image of the GNU system")
(long-description . "This is a demo stand-alone image of the GNU
system.")
(license . ,(license-name gpl3+))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
(define (build-image image)
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object (system-image image)))))
(define MiB
(expt 2 20))
(if (member system %guix-system-supported-systems)
`(,(image->job store
(image
(inherit efi-disk-image)
(operating-system installation-os))
#:name "usb-image"
#:system system)
,(image->job
store
(image
(inherit (image-with-label
iso9660-image
(string-append "GUIX_" system "_"
(if (> (string-length %guix-version) 7)
(substring %guix-version 0 7)
%guix-version))))
(operating-system installation-os))
#:name "iso9660-image"
#:system system)
`(,(->job 'usb-image
(build-image
(image
(inherit efi-disk-image)
(operating-system installation-os))))
,(->job 'iso9660-image
(build-image
(image
(inherit iso9660-image)
(operating-system installation-os))))
;; Only cross-compile Guix System images from x86_64-linux for now.
,@(if (string=? system "x86_64-linux")
(map (cut image->job store <>
#:system system)
(map (lambda (image)
(->job (image-name image) (build-image image)))
%guix-system-images)
'()))
'()))
@@ -376,17 +286,31 @@ otherwise use the IMAGE name."
(define* (system-test-jobs store system
#:key source commit)
"Return a list of jobs for the system tests."
(define (->job test)
(let ((name (string-append "test." (system-test-name test)
"." system))
(drv (run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(set-guile-for-build (default-guile))
(system-test-value test)))))
(define (test->thunk test)
(lambda ()
(define drv
(run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(set-guile-for-build (default-guile))
(system-test-value test))))
(derivation->job name drv)))
`((derivation . ,(derivation-file-name drv))
(description . ,(format #f "Guix '~a' system test"
(system-test-name test)))
(long-description . ,(system-test-description test))
(license . ,(license-name gpl3+))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org")))))
(define (->job test)
(let ((name (string->symbol
(string-append "test." (system-test-name test)
"." system))))
(cons name (test->thunk test))))
(if (member system %guix-system-supported-systems)
;; Override the value of 'current-guix' used by system tests. Using a
@@ -399,45 +323,55 @@ otherwise use the IMAGE name."
'()))
(define (tarball-jobs store system)
"Return jobs to build the self-contained Guix binary tarball."
"Return Hydra jobs to build the self-contained Guix binary tarball."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone binary Guix tarball")
(long-description . "This is a tarball containing binaries of Guix and
all its dependencies, and ready to be installed on \"foreign\" distributions.")
(license . ,(license-name gpl3+))
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (string-append name "." system)))
(parameterize ((%graft? #f))
(derivation->job name drv))))
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
;; XXX: Add a job for the stable Guix?
(list
(->job "binary-tarball"
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:profile-name "current-guix"
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system))))
(list (->job 'binary-tarball
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system))))
(define job-name
;; Return the name of a package's job.
package-name)
(compose string->symbol
(cut package-full-name <> "-")))
(define package->job
(let ((base-packages
(delete-duplicates
(append-map (match-lambda
((_ package _ ...)
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
((_ package _ ...)
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
(%final-inputs)))))
(lambda (store package system)
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid."
(cond ((member package base-packages)
(package-job store (string-append "base." (job-name package))
(package-job store (symbol-append 'base. (job-name package))
package system))
((supported-package? package system)
(let ((drv (package-derivation store package system
@@ -471,15 +405,14 @@ valid."
packages)))
#:select? (const #t))) ;include hidden packages
(define (arguments->manifests arguments channels)
(define (arguments->manifests arguments)
"Return the list of manifests extracted from ARGUMENTS."
(map (lambda (manifest)
(any (lambda (checkout)
(let ((path (in-vicinity checkout manifest)))
(and (file-exists? path)
path)))
(map channel-url channels)))
arguments))
(map (match-lambda
((input-name . relative-path)
(let* ((checkout (assq-ref arguments (string->symbol input-name)))
(base (assq-ref checkout 'file-name)))
(in-vicinity base relative-path))))
(assq-ref arguments 'manifests)))
(define (manifests->packages store manifests)
"Return the list of packages found in MANIFESTS."
@@ -495,123 +428,104 @@ valid."
load-manifest)
manifests))))
(define (arguments->systems arguments)
"Return the systems list from ARGUMENTS."
(match (assoc-ref arguments 'systems)
(#f %cuirass-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
(define (find-current-checkout arguments)
"Find the first checkout of ARGUMENTS that provided the current file.
Return #f if no such checkout is found."
(let ((current-root
(canonicalize-path
(string-append (dirname (current-filename)) "/.."))))
(find (lambda (argument)
(and=> (assq-ref argument 'file-name)
(lambda (name)
(string=? name current-root)))) arguments)))
;;;
;;; Cuirass entry point.
;;; Hydra entry point.
;;;
(define (cuirass-jobs store arguments)
"Register Cuirass jobs."
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define subset
(assoc-ref arguments 'subset))
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
("hello" 'hello) ; only build hello
(((? string?) (? string?) ...) 'list) ; only build selected list of packages
("manifests" 'manifests) ; only build packages in the list of manifests
(_ 'all))) ; build everything
(define systems
(arguments->systems arguments))
(match (assoc-ref arguments 'systems)
(#f %hydra-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
(define channels
(let ((channels (assq-ref arguments 'channels)))
(map sexp->channel channels)))
(define guix
(find guix-channel? channels))
(define checkout
(or (find-current-checkout arguments)
(assq-ref arguments 'superior-guix-checkout)))
(define commit
(channel-commit guix))
(assq-ref checkout 'revision))
(define source
(channel-url guix))
(assq-ref checkout 'file-name))
;; Turn off grafts. Grafting is meant to happen on the user's machines.
(parameterize ((%graft? #f))
;; Return one job for each package, except bootstrap packages.
(append-map
(lambda (system)
(format (current-error-port)
"evaluating for '~a' (heap size: ~a MiB)...~%"
system
(round
(/ (assoc-ref (gc-stats) 'heap-size)
(expt 2. 20))))
(invalidate-derivation-caches!)
(match subset
('all
;; Build everything, including replacements.
(let ((all (all-packages))
(job (lambda (package)
(package->job store package system))))
(append
(filter-map job all)
(cross-jobs store system))))
('core
;; Build core packages only.
(append
(map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs store system)))
('guix
;; Build Guix modules only.
(guix-jobs store systems
#:source source
#:commit commit))
('hello
;; Build hello package only.
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello)
hello system))))
('images
;; Build Guix System images only.
(image-jobs store system))
('system-tests
;; Build Guix System tests only.
(system-test-jobs store system
#:source source
#:commit commit))
('tarball
;; Build Guix tarball only.
(tarball-jobs store system))
(('custom . modules)
;; Build custom modules jobs only.
(append-map
(lambda (module)
(let ((proc (module-ref
(resolve-interface module)
'cuirass-jobs)))
(proc store arguments)))
modules))
(('channels . channels)
;; Build only the packages from CHANNELS.
(let ((all (all-packages)))
(filter-map
(lambda (package)
(any (lambda (channel)
(and (member (channel-name channel) channels)
(package->job store package system)))
(package-channels package)))
all)))
(('packages . rest)
;; Build selected list of packages only.
(let ((packages (map specification->package rest)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(('manifests . rest)
;; Build packages in the list of manifests.
(let* ((manifests (arguments->manifests rest channels))
(packages (manifests->packages store manifests)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(else
(error "unknown subset" subset))))
systems)))
(append-map (lambda (system)
(format (current-error-port)
"evaluating for '~a' (heap size: ~a MiB)...~%"
system
(round
(/ (assoc-ref (gc-stats) 'heap-size)
(expt 2. 20))))
(invalidate-derivation-caches!)
(case subset
((all)
;; Build everything, including replacements.
(let ((all (all-packages))
(job (lambda (package)
(package->job store package
system))))
(append (filter-map job all)
(image-jobs store system)
(system-test-jobs store system
#:source source
#:commit commit)
(tarball-jobs store system)
(cross-jobs store system))))
((core)
;; Build core packages only.
(append (map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs store system)))
((hello)
;; Build hello package only.
(if (string=? system (%current-system))
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello) hello system)))
'()))
((list)
;; Build selected list of packages only.
(if (string=? system (%current-system))
(let* ((names (assoc-ref arguments 'subset))
(packages (map specification->package names)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages))
'()))
((manifests)
;; Build packages in the list of manifests.
(let* ((manifests (arguments->manifests arguments))
(packages (manifests->packages store manifests)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(else
(error "unknown subset" subset))))
systems)))
+1 -28
View File
@@ -39,14 +39,7 @@
image-partitions
image-compression?
image-volatile-root?
image-substitutable?
image-type
image-type?
image-type-name
image-type-constructor
os->image))
image-substitutable?))
;;;
@@ -91,23 +84,3 @@
(default #t))
(substitutable? image-substitutable? ;boolean
(default #t)))
;;;
;;; Image type.
;;;
(define-record-type* <image-type>
image-type make-image-type
image-type?
(name image-type-name) ;symbol
(constructor image-type-constructor)) ;<operating-system> -> <image>
;;;
;;; Image creation.
;;;
(define* (os->image os #:key type)
(let ((constructor (image-type-constructor type)))
(constructor os)))
+2 -3
View File
@@ -71,7 +71,7 @@
(_ #f)))
(define* (build-compiled-file name locale-builder)
"Return a file-like object that evaluates the gexp LOCALE-BUILDER and store
"Return a file-like object that evalutes the gexp LOCALE-BUILDER and store
its result in the scheme file NAME. The derivation will also build a compiled
version of this file."
(define set-utf8-locale
@@ -308,8 +308,7 @@ selected keymap."
;; translated.
#~(begin
(bindtextdomain "guix" (string-append #$guix "/share/locale"))
(textdomain "guix")
(setlocale LC_ALL "")))
(textdomain "guix")))
(define set-installer-path
;; Add the specified binary to PATH for later use by the installer.
+1 -1
View File
@@ -180,7 +180,7 @@ Return the corresponding association list of '((KEY . VALUE) (KEY2 . VALUE2)
(define (connman-state)
"Return the state of connman. The nominal states are 'offline, 'idle,
'ready, 'oneline. If an unexpected state is read, 'unknown is
returned. Finally, an error is raised if the connman output could not be
returned. Finally, an error is raised if the comman output could not be
parsed, usually because the connman daemon is not responding."
(let* ((output (connman "state"))
(state-keys (parse-keys output)))
+61 -72
View File
@@ -26,8 +26,6 @@
#:use-module (guix build syscalls)
#:use-module (guix build utils)
#:use-module (gnu build accounts)
#:use-module (gnu build install)
#:use-module (gnu build linux-container)
#:use-module ((gnu system shadow) #:prefix sys:)
#:use-module (rnrs io ports)
#:use-module (srfi srfi-1)
@@ -135,32 +133,49 @@ USERS."
(_ #f))))))
pids)))
(define (call-with-mnt-container thunk)
"This is a variant of call-with-container. Run THUNK in a new container
process, within a separate MNT namespace. The container is not jailed so that
it can interact with the rest of the system."
(let ((pid (run-container "/" '() '(mnt) 1 thunk)))
;; Catch SIGINT and kill the container process.
(sigaction SIGINT
(lambda (signum)
(false-if-exception
(kill pid SIGKILL))))
(define (umount-cow-store)
"Remove the store overlay and the bind-mount on /tmp created by the
cow-store service. This procedure is very fragile and a better approach would
be much appreciated."
(catch #t
(lambda ()
(let ((tmp-dir "/remove"))
(syslog "Unmounting cow-store.~%")
(match (waitpid pid)
((_ . status) status))))
(mkdir-p tmp-dir)
(mount (%store-directory) tmp-dir "" MS_MOVE)
;; The guix-daemon has possibly opened files from the cow-store,
;; restart it.
(restart-service 'guix-daemon)
(syslog "Killing cow users.")
;; Kill all processes started while the cow-store was active (logins
;; on other TTYs for instance).
(kill-cow-users tmp-dir)
;; Try to umount the store overlay. Some process such as udevd
;; workers might still be active, so do some retries.
(let loop ((try 5))
(syslog "Umount try ~a~%" (- 5 try))
(sleep 1)
(let ((umounted? (false-if-exception (umount tmp-dir))))
(if (and (not umounted?) (> try 0))
(loop (- try 1))
(if umounted?
(syslog "Umounted ~a successfully.~%" tmp-dir)
(syslog "Failed to umount ~a.~%" tmp-dir)))))
(umount "/tmp")))
(lambda args
(syslog "~a~%" args))))
(define* (install-system locale #:key (users '()))
"Create /etc/shadow and /etc/passwd on the installation target for USERS.
Start COW-STORE service on target directory and launch guix install command in
a subshell. LOCALE must be the locale name under which that command will run,
or #f. Return #t on success and #f on failure."
(define backing-directory
;; Sub-directory used as the backing store for copy-on-write.
"/tmp/guix-inst")
(define (assert-exit x)
(primitive-exit (if x 0 1)))
(let* ((options (catch 'system-error
(lambda ()
;; If this file exists, it can provide
@@ -173,11 +188,7 @@ or #f. Return #t on success and #f on failure."
"--fallback")
options
(list (%installer-configuration-file)
(%installer-target-dir))))
(database-dir "/var/guix/db")
(database-file (string-append database-dir "/db.sqlite"))
(saved-database (string-append database-dir "/db.save"))
(ret #f))
(%installer-target-dir)))))
(mkdir-p (%installer-target-dir))
;; We want to initialize user passwords but we don't want to store them in
@@ -187,49 +198,27 @@ or #f. Return #t on success and #f on failure."
;; passwords that we've put in there.
(create-user-database users (%installer-target-dir))
;; When the store overlay is mounted, other processes such as kmscon, udev
;; and guix-daemon may open files from the store, preventing the
;; underlying install support from being umounted. See:
;; https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.
;;
;; To avoid this situation, mount the store overlay inside a container,
;; and run the installation from within that container.
(zero?
(call-with-mnt-container
(lambda ()
(dynamic-wind
(lambda ()
;; Save the database, so that it can be restored once the
;; cow-store is umounted.
(copy-file database-file saved-database)
(mount-cow-store (%installer-target-dir) backing-directory))
(lambda ()
;; We need to drag the guix-daemon to the container MNT
;; namespace, so that it can operate on the cow-store.
(stop-service 'guix-daemon)
(start-service 'guix-daemon (list (number->string (getpid))))
(setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) 'none)
;; If there are any connected clients, assume that we are running
;; installation tests. In that case, dump the standard and error
;; outputs to syslog.
(set! ret
(if (not (null? (current-clients)))
(with-output-to-file "/dev/console"
(lambda ()
(with-error-to-file "/dev/console"
(lambda ()
(run-command install-command
#:locale locale)))))
(run-command install-command #:locale locale))))
(lambda ()
;; Restart guix-daemon so that it does no keep the MNT namespace
;; alive.
(restart-service 'guix-daemon)
(copy-file saved-database database-file)
;; Finally umount the cow-store and exit the container.
(unmount-cow-store (%installer-target-dir) backing-directory)
(assert-exit ret))))))))
(dynamic-wind
(lambda ()
(start-service 'cow-store (list (%installer-target-dir))))
(lambda ()
;; If there are any connected clients, assume that we are running
;; installation tests. In that case, dump the standard and error
;; outputs to syslog.
(if (not (null? (current-clients)))
(with-output-to-file "/dev/console"
(lambda ()
(with-error-to-file "/dev/console"
(lambda ()
(setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) 'none)
(run-command install-command #:locale locale)))))
(run-command install-command #:locale locale)))
(lambda ()
(stop-service 'cow-store)
;; Remove the store overlay created at cow-store service start.
;; Failing to do that will result in further umount calls to fail
;; because the target device is seen as busy. See:
;; https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.
(umount-cow-store)
#f))))
+1 -2
View File
@@ -46,7 +46,6 @@
(newt-init)
(clear-screen)
(set-screen-size!)
(syslog "Display is ~ax~a.~%" (screen-columns) (screen-rows))
(push-help-line
(format #f (G_ "Press <F1> for installation parameters."))))
@@ -108,7 +107,7 @@ problem. The backtrace is displayed below. Please report it by email to \
(run-user-page))
(define (partition-page)
(run-partitioning-page))
(run-partioning-page))
(define (services-page)
(run-services-page))
+1 -1
View File
@@ -77,7 +77,7 @@ connection is pending."
#:title (G_ "Ethernet connection")
#:listbox-items services
#:listbox-item->text ethernet-service->text
#:listbox-height (min (+ (length services) 2) 5)
#:listbox-height (min (+ (length services) 2) 10)
#:button-text (G_ "Exit")
#:button-callback-procedure
(lambda _
+10 -16
View File
@@ -29,7 +29,6 @@
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:use-module ((ice-9 rdelim) #:select (read-line))
#:use-module (newt)
#:export (run-final-page))
@@ -40,8 +39,9 @@
file))
(define* (run-config-display-page #:key locale)
(let ((width (max 70 (- (screen-columns) 20)))
(height (default-listbox-height)))
(let ((width (%configuration-file-width))
(height (nearest-exact-integer
(/ (screen-rows) 2))))
(run-file-textbox-page
#:info-text (format #f (G_ "\
We're now ready to proceed with the installation! \
@@ -102,24 +102,18 @@ a specific step, or restart the installer."))
#:key (users '()))
(clear-screen)
(newt-suspend)
;; XXX: Force loading 'bold' font files before mouting the
;; cow-store. Otherwise, if the file is loaded by kmscon after the cow-store
;; in mounted, it will be necessary to kill kmscon to umount to cow-store.
(display
(colorize-string
(format #f (G_ "Installing Guix System ...~%"))
(color BOLD)))
(let ((install-ok? (install-system locale #:users users)))
(newt-resume)
install-ok?))
(define (run-final-page result prev-steps)
(define (wait-for-clients)
(unless (null? (current-clients))
(syslog "waiting with clients before starting final step~%")
(send-to-clients '(starting-final-step))
(match (select (current-clients) '() '())
(((port _ ...) _ _)
(read-line port)))))
;; Before generating the configuration file, give clients a chance to do
;; things such as changing the swap partition label.
(wait-for-clients)
(syslog "proceeding with final step~%")
(let* ((configuration (format-configuration prev-steps result))
(user-partitions (result-step result 'partition))
(locale (result-step result 'locale))
+1 -1
View File
@@ -106,7 +106,7 @@ symbol.")
territory, codeset and modifier. Use SUPPORTED-LOCALES as the list of glibc
available locales. ISO639-LANGUAGES is an association list associating a
locale code to a locale name. ISO3166-TERRITORIES is an association list
associating a territory code with a territory name. The formatted locale, under
associating a territory code with a territory name. The formated locale, under
glibc format is returned."
(define (break-on-locale-found locales)
+1 -1
View File
@@ -80,7 +80,7 @@ network devices were found. Do you want to continue anyway?"))
#:title (G_ "Internet access")
#:listbox-items items
#:listbox-item->text technology->text
#:listbox-height (min (+ (length items) 2) 5)
#:listbox-height (min (+ (length items) 2) 10)
#:button-text (G_ "Exit")
#:button-callback-procedure
(lambda _
+2 -9
View File
@@ -32,9 +32,7 @@
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (newt)
#:export (default-listbox-height
draw-info-page
#:export (draw-info-page
draw-connecting-page
run-input-page
run-error-page
@@ -170,10 +168,6 @@ Like 'run-form', return two values: the exit reason, and an \"argument\"."
(_
(values reason argument))))))
(define (default-listbox-height)
"Return the default listbox height."
(max 5 (- (screen-rows) 20)))
(define (draw-info-page text title)
"Draw an informative page with the given TEXT as content. Set the title of
this page to TITLE."
@@ -345,8 +339,7 @@ of the page is set to TITLE."
(info-textbox-width 50)
listbox-items
listbox-item->text
(listbox-height
(default-listbox-height))
(listbox-height 20)
(listbox-default-item #f)
(listbox-allow-multiple? #f)
(sort-listbox-items? #t)
+7 -17
View File
@@ -25,7 +25,6 @@
#:use-module (gnu installer newt page)
#:use-module (gnu installer newt utils)
#:use-module (guix i18n)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
@@ -33,7 +32,7 @@
#:use-module (srfi srfi-35)
#:use-module (newt)
#:use-module (parted)
#:export (run-partitioning-page))
#:export (run-partioning-page))
(define (button-exit-action)
"Raise the &installer-step-abort condition."
@@ -57,17 +56,11 @@
#:button-callback-procedure button-exit-action)))
(car result)))
(define (draw-formatting-page partitions)
(define (draw-formatting-page)
"Draw a page asking for confirmation, and then indicating that partitions
are being formatted."
;; TRANSLATORS: The ~{ and ~} format specifiers are used to iterate the list
;; of device names of the user partitions that will be formatted.
(run-confirmation-page (format #f (G_ "We are about to write the configured \
partition table to the disk and format the partitions listed below. Their \
data will be lost. Do you wish to continue?~%~{ - ~a~%~}")
(map user-partition-file-name
(filter user-partition-need-formatting?
partitions)))
(run-confirmation-page (G_ "We are about to format your hard disk. All \
its data will be lost. Do you wish to continue?")
(G_ "Format disk?")
#:exit-button-procedure button-exit-action)
(draw-info-page
@@ -681,7 +674,7 @@ by pressing the Exit button.~%~%")))
(G_ "Guided partitioning")
(G_ "Manual partitioning"))
#:info-textbox-width 76 ;we need a lot of room for INFO-TEXT
#:listbox-height (max 5 (- (screen-rows) 30))
#:listbox-height 12
#:listbox-items (disk-items)
#:listbox-item->text cdr
#:sort-listbox-items? #f
@@ -732,7 +725,7 @@ by pressing the Exit button.~%~%")))
(run-disk-page result-disks new-user-partitions
#:guided? guided?)))))
(define (run-partitioning-page)
(define (run-partioning-page)
"Run a page asking the user for a partitioning method."
(define (run-page devices)
(let* ((items
@@ -780,12 +773,9 @@ by pressing the Exit button.~%~%")))
(user-partitions (run-page non-install-devices))
(user-partitions-with-pass (prompt-luks-passwords
user-partitions))
(form (draw-formatting-page user-partitions)))
(form (draw-formatting-page)))
;; Make sure the disks are not in use before proceeding to formatting.
(free-parted non-install-devices)
(format-user-partitions user-partitions-with-pass)
(syslog "formatted ~a user partitions~%"
(length user-partitions-with-pass))
(destroy-form-and-pop form)
user-partitions))
+2 -4
View File
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,7 +40,7 @@ choose the one to use on the log-in screen.")
#:items items
#:selection (map system-service-recommended? items)
#:item->text system-service-name ;no i18n for DE names
#:checkbox-tree-height 9
#:checkbox-tree-height 8
#:exit-button-callback-procedure
(lambda ()
(raise
@@ -77,7 +76,6 @@ system.")
We recommend NetworkManager or Connman for a WiFi-capable laptop; the DHCP \
client may be enough for a server.")
#:info-textbox-width 70
#:listbox-height 7
#:listbox-items (filter (lambda (service)
(eq? 'network-management
(system-service-type service)))
+1 -7
View File
@@ -38,9 +38,6 @@
(define info-textbox-width (make-parameter 70))
(define options-listbox-height (make-parameter 5))
(define (display-logo?)
(> (screen-rows) 35))
(define* (run-menu-page title info-text logo
#:key
listbox-items
@@ -58,10 +55,7 @@ we want this page to occupy all the screen space available."
items))
(let* ((logo-textbox
(make-textbox -1 -1
(if (display-logo?) (logo-width) 0)
(if (display-logo?) (logo-height) 0)
0))
(make-textbox -1 -1 (logo-width) (logo-height) 0))
(info-textbox
(make-reflowed-textbox -1 -1
info-text
+1 -2
View File
@@ -165,8 +165,7 @@ of <service-item> records present in LISTBOX."
(define service-name-max-length (make-parameter 20))
;; Height of the listbox displaying wifi services.
(define wifi-listbox-height (make-parameter
(default-listbox-height)))
(define wifi-listbox-height (make-parameter 20))
;; Information textbox width.
(define info-textbox-width (make-parameter 40))
+46 -73
View File
@@ -36,12 +36,10 @@
#:use-module (guix utils)
#:use-module (guix i18n)
#:use-module (parted)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (rnrs io ports)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
@@ -319,7 +317,7 @@ PARTED-OBJECT field equals PARTITION, return #f if not found."
fail. See rereadpt function in wipefs.c of util-linux for an explanation."
;; Kernel always return EINVAL for BLKRRPART on loopdevices.
(and (not (string-match "/dev/loop*" file-name))
(let loop ((try 16))
(let loop ((try 4))
(usleep 250000)
(let ((in-use? (device-in-use? file-name)))
(if (and in-use? (> try 0))
@@ -340,12 +338,15 @@ fail. See rereadpt function in wipefs.c of util-linux for an explanation."
(define (non-install-devices)
"Return all the available devices, except the busy one, allegedly the
install device. DEVICE-IS-BUSY? is a parted call, checking if the device is
mounted."
;; FIXME: The install image uses an overlayfs so the install device does not
;; appear as mounted and won't be considered as busy.
mounted. The install image uses an overlayfs so the install device does not
appear as mounted and won't be considered as busy. So use also DEVICE-IN-USE?
from (guix build syscalls) module, who will try to re-read the device's
partition table to determine whether or not it is already used (like sfdisk
from util-linux)."
(remove (lambda (device)
(let ((file-name (device-path device)))
(device-is-busy? device)))
(or (device-is-busy? device)
(with-delay-device-in-use? file-name))))
(devices)))
@@ -525,54 +526,56 @@ determined by MAX-LENGTH-COLUMN procedure."
(size (user-partition-size user-partition))
(mount-point (user-partition-mount-point user-partition)))
`(,@(if has-name?
`((name . ,(format #f (G_ "Name: ~a")
(or name (G_ "None")))))
`((name . ,(string-append "Name: " (or name "None"))))
'())
,@(if (and has-extended?
(freespace-partition? partition)
(not (eq? type 'logical)))
`((type . ,(format #f (G_ "Type: ~a") type-name)))
`((type . ,(string-append "Type: " type-name)))
'())
,@(if (eq? type 'extended)
'()
`((fs-type . ,(format #f (G_ "File system type: ~a")
fs-type-name))))
`((fs-type . ,(string-append "Filesystem type: " fs-type-name))))
,@(if (or (eq? type 'extended)
(eq? fs-type 'swap)
(not has-extended?))
'()
`((bootable . ,(format #f (G_ "Bootable flag: ~:[off~;on~]")
bootable?))))
`((bootable . ,(string-append "Bootable flag: "
(if bootable? "On" "Off")))))
,@(if (and (not has-extended?)
(not (eq? fs-type 'swap)))
`((esp? . ,(format #f (G_ "ESP flag: ~:[off~;on~]") esp?)))
`((esp? . ,(string-append "ESP flag: "
(if esp? "On" "Off"))))
'())
,@(if (freespace-partition? partition)
(let ((size-formatted
(or size (unit-format device ;XXX: i18n
(or size (unit-format device
(partition-length partition)))))
`((size . ,(format #f (G_ "Size: ~a") size-formatted))))
`((size . ,(string-append "Size : " size-formatted))))
'())
,@(if (or (eq? type 'extended)
(eq? fs-type 'swap))
'()
`((crypt-label
. ,(format #f (G_ "Encryption: ~:[No~a~;Yes (label '~a')~]")
crypt-label (or crypt-label "")))))
. ,(string-append
"Encryption: "
(if crypt-label
(format #f "Yes (label ~a)" crypt-label)
"No")))))
,@(if (or (freespace-partition? partition)
(eq? fs-type 'swap))
'()
`((need-formatting?
. ,(format #f (G_ "Format the partition? ~:[No~;Yes~]")
need-formatting?))))
. ,(string-append "Format the partition? : "
(if need-formatting? "Yes" "No")))))
,@(if (or (eq? type 'extended)
(eq? fs-type 'swap))
'()
`((mount-point
. ,(format #f (G_ "Mount point: ~a")
(or mount-point
(and esp? (default-esp-mount-point))
(G_ "None")))))))))
. ,(string-append "Mount point : "
(or mount-point
(and esp? (default-esp-mount-point))
"None"))))))))
;;
@@ -756,33 +759,11 @@ cause them to cross."
dev-constraint))
(no-constraint (constraint-any device))
;; Try to create a partition with an optimal alignment
;; constraint. If it fails, fallback to creating a partition
;; with no specific constraint.
(partition-constraint-ok?
(disk-add-partition disk partition final-constraint))
(partition-no-contraint-ok?
(or partition-constraint-ok?
(disk-add-partition disk partition no-constraint)))
;; constraint. If it fails, fallback to creating a partition with
;; no specific constraint.
(partition-ok?
(or partition-constraint-ok? partition-no-contraint-ok?)))
(syslog "Creating partition:
~/type: ~a
~/filesystem-type: ~a
~/start: ~a
~/end: ~a
~/start-range: [~a, ~a]
~/end-range: [~a, ~a]
~/constraint: ~a
~/no-constraint: ~a
"
partition-type
(filesystem-type-name filesystem-type)
start-sector*
end-sector
(geometry-start start-range) (geometry-end start-range)
(geometry-start end-range) (geometry-end end-range)
partition-constraint-ok?
partition-no-contraint-ok?)
(or (disk-add-partition disk partition final-constraint)
(disk-add-partition disk partition no-constraint))))
;; Set the partition name if supported.
(when (and partition-ok? has-name? name)
(partition-set-name partition name))
@@ -930,13 +911,13 @@ exists."
(let* ((start-partition
(and (not has-extended?)
(not esp-partition)
(if (efi-installation?)
(and (not esp-partition)
(user-partition
(fs-type 'fat32)
(esp? #t)
(size new-esp-size)
(mount-point (default-esp-mount-point))))
(user-partition
(fs-type 'fat32)
(esp? #t)
(size new-esp-size)
(mount-point (default-esp-mount-point)))
(user-partition
(fs-type 'ext4)
(bootable? #t)
@@ -1220,13 +1201,13 @@ the FS-TYPE field set to 'swap, return the empty list if none found."
user-partitions))
(define (start-swapping user-partitions)
"Start swapping on <user-partition> records with FS-TYPE equal to 'swap."
"Start swaping on <user-partition> records with FS-TYPE equal to 'swap."
(let* ((swap-user-partitions (find-swap-user-partitions user-partitions))
(swap-devices (map user-partition-file-name swap-user-partitions)))
(for-each swapon swap-devices)))
(define (stop-swapping user-partitions)
"Stop swapping on <user-partition> records with FS-TYPE equal to 'swap."
"Stop swaping on <user-partition> records with FS-TYPE equal to 'swap."
(let* ((swap-user-partitions (find-swap-user-partitions user-partitions))
(swap-devices (map user-partition-file-name swap-user-partitions)))
(for-each swapoff swap-devices)))
@@ -1346,12 +1327,7 @@ USER-PARTITIONS, or return nothing."
,@(initrd-configuration user-partitions)
,@(if (null? swap-devices)
'()
(let* ((uuids (map (lambda (file)
(uuid->string (read-partition-uuid file)))
swap-devices)))
`((swap-devices (list ,@(map (lambda (uuid)
`(uuid ,uuid))
uuids))))))
`((swap-devices (list ,@swap-devices))))
,@(if (null? encrypted-partitions)
'()
`((mapped-devices
@@ -1388,12 +1364,9 @@ the devices not to be used before returning."
(let ((device-file-names (map device-path devices)))
(for-each force-device-sync devices)
(for-each (lambda (file-name)
(let/time ((time in-use?
(with-delay-device-in-use? file-name)))
(if in-use?
(error
(format #f (G_ "Device ~a is still in use.")
file-name))
(syslog "Syncing ~a took ~a seconds.~%"
file-name (time-second time)))))
(let ((in-use? (with-delay-device-in-use? file-name)))
(and in-use?
(error
(format #f (G_ "Device ~a is still in use.")
file-name)))))
device-file-names)))
-6
View File
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -83,11 +82,6 @@
(name "ratpoison")
(packages '((specification->package "ratpoison")
(specification->package "xterm"))))
(desktop-environment
(name "Emacs EXWM")
(packages '((specification->package "emacs")
(specification->package "emacs-exwm")
(specification->package "emacs-desktop-environment"))))
;; Networking.
(system-service
+3 -1
View File
@@ -50,6 +50,7 @@
%installer-configuration-file
%installer-target-dir
%configuration-file-width
format-configuration
configuration->file))
@@ -87,7 +88,7 @@
(rewind-strategy 'previous)
(menu-proc (const #f)))
"Run the COMPUTE procedure of all <installer-step> records in STEPS
sequentially. If the &installer-step-abort condition is raised, fallback to a
sequencially. If the &installer-step-abort condition is raised, fallback to a
previous install-step, accordingly to the specified REWIND-STRATEGY.
REWIND-STRATEGY possible values are 'previous, 'menu and 'start. If 'previous
@@ -217,6 +218,7 @@ stored in RESULTS. Return #f otherwise."
(define %installer-configuration-file (make-parameter "/mnt/etc/config.scm"))
(define %installer-target-dir (make-parameter "/mnt"))
(define %configuration-file-width (make-parameter 79))
(define (format-configuration steps results)
"Return the list resulting from the application of the procedure defined in
+8 -23
View File
@@ -286,9 +286,8 @@ instrumented for further testing."
edit-configuration-file))
"Converse over PORT to choose the partitioning method. When ENCRYPTED? is
true, choose full-disk encryption with PASSPHRASE as the LUKS passphrase.
This conversation stops when the user partitions have been formatted, right
before the installer generates the configuration file and shows it in a dialog
box."
This conversation goes past the final dialog box that shows the configuration
file, actually starting the installation process."
(converse port
((list-selection (title "Partitioning method")
(multiple-choices? #f)
@@ -331,29 +330,15 @@ box."
#t)
((info (title "Preparing partitions") _ ...)
(values)) ;nothing to return
((starting-final-step)
;; Do not return anything. The reply will be sent by
;; 'conclude-installation' and in the meantime the installer just waits
;; for us, giving us a chance to do things such as changing partition
;; UUIDs before it generates the configuration file.
(values))))
(define (conclude-installation port)
"Conclude the installation by checking over PORT that we get the generated
configuration file, accepting it and starting the installation, and then
receiving the final messages once the 'guix system init' process has
completed."
;; Assume the previous message received was 'starting-final-step'; here we
;; send the reply to that message, which lets the installer continue.
(write #t port)
(newline port)
(force-output port)
(converse port
((file-dialog (title "Configuration file")
(text _)
(file ,configuration-file))
(edit-configuration-file configuration-file))
(edit-configuration-file configuration-file))))
(define (conclude-installation port)
"Conclude the installation by checking over PORT that we get the final
messages once the 'guix system init' process has completed."
(converse port
((pause) ;"Press Enter to continue."
#t)
((installation-complete) ;congratulations!
-14
View File
@@ -22,7 +22,6 @@
#:use-module (guix build utils)
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-34)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
@@ -37,8 +36,6 @@
syslog-port
syslog
call-with-time
let/time
with-server-socket
current-server-socket
@@ -120,17 +117,6 @@ COMMAND exited successfully, #f otherwise."
;;; Logging.
;;;
(define (call-with-time thunk kont)
"Call THUNK and pass KONT the elapsed time followed by THUNK's return
values."
(let* ((start (current-time time-monotonic))
(result (call-with-values thunk list))
(end (current-time time-monotonic)))
(apply kont (time-difference end start) result)))
(define-syntax-rule (let/time ((time result exp)) body ...)
(call-with-time (lambda () exp) (lambda (time result) body ...)))
(define (open-syslog-port)
"Return an open port (a socket) to /dev/log or #f if that wasn't possible."
(let ((sock (socket AF_UNIX SOCK_DGRAM 0)))
+20 -60
View File
@@ -20,7 +20,7 @@
# Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
# Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
@@ -36,8 +36,6 @@
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
#
# This file is part of GNU Guix.
#
@@ -145,8 +143,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cppi.scm \
%D%/packages/cran.scm \
%D%/packages/crates-io.scm \
%D%/packages/crates-graphics.scm \
%D%/packages/crates-gtk.scm \
%D%/packages/cross-base.scm \
%D%/packages/crypto.scm \
%D%/packages/cryptsetup.scm \
@@ -346,7 +342,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/lout.scm \
%D%/packages/logging.scm \
%D%/packages/logo.scm \
%D%/packages/loko.scm \
%D%/packages/lolcode.scm \
%D%/packages/lsof.scm \
%D%/packages/lua.scm \
@@ -435,7 +430,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/photo.scm \
%D%/packages/phabricator.scm \
%D%/packages/php.scm \
%D%/packages/piet.scm \
%D%/packages/pkg-config.scm \
%D%/packages/plotutils.scm \
%D%/packages/poedit.scm \
@@ -466,7 +460,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/radio.scm \
%D%/packages/ragel.scm \
%D%/packages/rails.scm \
%D%/packages/raspberry-pi.scm \
%D%/packages/ratpoison.scm \
%D%/packages/rcm.scm \
%D%/packages/rdesktop.scm \
@@ -650,7 +643,6 @@ GNU_SYSTEM_MODULES = \
%D%/system/vm.scm \
\
%D%/system/images/hurd.scm \
%D%/system/images/pine64.scm \
\
%D%/machine.scm \
\
@@ -667,7 +659,6 @@ GNU_SYSTEM_MODULES = \
%D%/build/linux-initrd.scm \
%D%/build/linux-modules.scm \
%D%/build/marionette.scm \
%D%/build/secret-service.scm \
%D%/build/vm.scm \
\
%D%/tests.scm \
@@ -800,14 +791,14 @@ dist_patch_DATA = \
%D%/packages/patches/audiofile-CVE-2015-7747.patch \
%D%/packages/patches/audiofile-CVE-2018-13440.patch \
%D%/packages/patches/audiofile-CVE-2018-17095.patch \
%D%/packages/patches/audiofile-check-number-of-coefficients.patch \
%D%/packages/patches/audiofile-Check-the-number-of-coefficients.patch \
%D%/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch \
%D%/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch \
%D%/packages/patches/audiofile-multiply-overflow.patch \
%D%/packages/patches/audiofile-overflow-in-MSADPCM.patch \
%D%/packages/patches/audiofile-division-by-zero.patch \
%D%/packages/patches/audiofile-hurd.patch \
%D%/packages/patches/audiofile-function-signature.patch \
%D%/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch \
%D%/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch \
%D%/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch \
%D%/packages/patches/audiofile-hurd.patch \
%D%/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch \
%D%/packages/patches/automake-skip-amhello-tests.patch \
%D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avogadro-boost148.patch \
@@ -822,21 +813,11 @@ dist_patch_DATA = \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/bc-fix-cross-compilation.patch \
%D%/packages/patches/bsd-games-2.17-64bit.patch \
%D%/packages/patches/bsd-games-add-configure-config.patch \
%D%/packages/patches/bsd-games-add-wrapper.patch \
%D%/packages/patches/bsd-games-bad-ntohl-cast.patch \
%D%/packages/patches/bsd-games-dont-install-empty-files.patch \
%D%/packages/patches/bsd-games-gamescreen.h.patch \
%D%/packages/patches/bsd-games-getline.patch \
%D%/packages/patches/bsd-games-null-check.patch \
%D%/packages/patches/bsd-games-number.c-and-test.patch \
%D%/packages/patches/bsd-games-prevent-name-collisions.patch \
%D%/packages/patches/bsd-games-stdio.h.patch \
%D%/packages/patches/beancount-disable-googleapis-fonts.patch \
%D%/packages/patches/beets-werkzeug-compat.patch \
%D%/packages/patches/behave-skip-a-couple-of-tests.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/benchmark-unbundle-googletest.patch \
%D%/packages/patches/biber-fix-encoding-write.patch \
%D%/packages/patches/biber-sortinithash.patch \
%D%/packages/patches/bidiv-update-fribidi.patch \
@@ -873,7 +854,6 @@ dist_patch_DATA = \
%D%/packages/patches/clang-7.0-libc-search-path.patch \
%D%/packages/patches/clang-9.0-libc-search-path.patch \
%D%/packages/patches/clang-10.0-libc-search-path.patch \
%D%/packages/patches/clang-11.0-libc-search-path.patch \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
%D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \
@@ -965,7 +945,6 @@ dist_patch_DATA = \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
%D%/packages/patches/farstream-make.patch \
%D%/packages/patches/fastcap-mulGlobal.patch \
%D%/packages/patches/fastcap-mulSetup.patch \
%D%/packages/patches/fasthenry-spAllocate.patch \
@@ -985,7 +964,6 @@ dist_patch_DATA = \
%D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \
%D%/packages/patches/fontconfig-hurd-path-max.patch \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fplll-std-fenv.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
@@ -1035,8 +1013,8 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-9-strmov-store-file-names.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
%D%/packages/patches/gdb-hurd.patch \
%D%/packages/patches/gdm-default-session.patch \
%D%/packages/patches/genimage-signedness.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-testsuite-dlopen-pie.patch \
@@ -1050,7 +1028,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2018-11236.patch \
%D%/packages/patches/glibc-CVE-2018-11237.patch \
@@ -1086,7 +1063,6 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-shell-theme.patch \
%D%/packages/patches/gnome-shell-disable-test.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
%D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
@@ -1097,12 +1073,10 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/go-skip-gc-test.patch \
%D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpodder-disable-updater.patch \
%D%/packages/patches/gpsbabel-minizip.patch \
%D%/packages/patches/gpsbabel-qstring.patch \
%D%/packages/patches/grantlee-merge-theme-dirs.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/grim-revert-output-rotation.patch \
%D%/packages/patches/grocsvs-dont-use-admiral.patch \
%D%/packages/patches/gromacs-tinyxml2.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
@@ -1151,7 +1125,6 @@ dist_patch_DATA = \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-cross.patch \
%D%/packages/patches/hurd-xattr.patch \
%D%/packages/patches/hplip-fix-bug-1898438.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-makeicecat.patch \
@@ -1178,8 +1151,6 @@ dist_patch_DATA = \
%D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \
%D%/packages/patches/jamvm-arm.patch \
%D%/packages/patches/java-antlr4-Add-standalone-generator.patch \
%D%/packages/patches/java-antlr4-fix-code-too-large.java \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
@@ -1195,7 +1166,6 @@ dist_patch_DATA = \
%D%/packages/patches/jsoncpp-fix-inverted-case.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
@@ -1211,7 +1181,6 @@ dist_patch_DATA = \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
%D%/packages/patches/kpackage-allow-external-paths.patch \
%D%/packages/patches/kpackage-fix-KF5PackageMacros.cmake.patch \
%D%/packages/patches/kmplayer-aarch64.patch \
%D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \
%D%/packages/patches/kobodeluxe-paths.patch \
@@ -1223,6 +1192,7 @@ dist_patch_DATA = \
%D%/packages/patches/kodi-increase-test-timeout.patch \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
%D%/packages/patches/konversation-Fix-build-with-Qt-5.11.patch \
%D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/lcalc-default-parameters-1.patch \
%D%/packages/patches/lcalc-default-parameters-2.patch \
@@ -1243,7 +1213,6 @@ dist_patch_DATA = \
%D%/packages/patches/libbase-use-own-logging.patch \
%D%/packages/patches/libbonobo-activation-test-race.patch \
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
%D%/packages/patches/libcanberra-wayland-crash.patch \
%D%/packages/patches/libdrm-realpath-virtio.patch \
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
@@ -1251,6 +1220,7 @@ dist_patch_DATA = \
%D%/packages/patches/libgnomeui-utf8.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/liblouisutdml-fix-tests.patch \
%D%/packages/patches/libofa-ftbfs-1.diff \
%D%/packages/patches/libofa-curl.diff \
%D%/packages/patches/libofa-ftbfs-2.diff \
@@ -1307,7 +1277,6 @@ dist_patch_DATA = \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
%D%/packages/patches/lrcalc-includes.patch \
%D%/packages/patches/lrzip-CVE-2017-8842.patch \
%D%/packages/patches/lsh-fix-x11-forwarding.patch \
%D%/packages/patches/lua-CVE-2014-5461.patch \
%D%/packages/patches/lua-pkgconfig.patch \
%D%/packages/patches/lua51-liblua-so.patch \
@@ -1316,7 +1285,6 @@ dist_patch_DATA = \
%D%/packages/patches/luajit-no_ldconfig.patch \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \
%D%/packages/patches/mars-install.patch \
@@ -1368,6 +1336,7 @@ dist_patch_DATA = \
%D%/packages/patches/m4-gnulib-libio.patch \
%D%/packages/patches/ncompress-fix-softlinks.patch \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netcdf-tst_h_par.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
@@ -1377,17 +1346,16 @@ dist_patch_DATA = \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/network-manager-plugin-path.patch \
%D%/packages/patches/nginx-socket-cloexec.patch \
%D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-pkgconfig.patch \
%D%/packages/patches/nss-3.56-pkgconfig.patch \
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/oath-toolkit-glibc-compat.patch \
%D%/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch \
%D%/packages/patches/ocaml-bitstring-fix-configure.patch \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
@@ -1405,6 +1373,7 @@ dist_patch_DATA = \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/openssh-hurd.patch \
%D%/packages/patches/openresolv-restartcmd-guix.patch \
%D%/packages/patches/openscad-parser-boost-1.72.patch \
@@ -1425,9 +1394,7 @@ dist_patch_DATA = \
%D%/packages/patches/pam-mount-luks2-support.patch \
%D%/packages/patches/pango-skip-libthai-test.patch \
%D%/packages/patches/pciutils-hurd-configure.patch \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/samba-fix-fcntl-hint-detection.patch \
%D%/packages/patches/sdl-pango-api_additions.patch \
%D%/packages/patches/sdl-pango-blit_overflow.patch \
%D%/packages/patches/sdl-pango-fillrect_crash.patch \
@@ -1435,7 +1402,6 @@ dist_patch_DATA = \
%D%/packages/patches/sdl-pango-matrix_declarations.patch \
%D%/packages/patches/sdl-pango-sans-serif.patch \
%D%/packages/patches/sqlite-hurd.patch \
%D%/packages/patches/sunxi-tools-remove-sys-io.patch \
%D%/packages/patches/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
@@ -1450,7 +1416,6 @@ dist_patch_DATA = \
%D%/packages/patches/perl-module-pluggable-search.patch \
%D%/packages/patches/perl-reproducible-build-date.patch \
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
%D%/packages/patches/picard-fix-id3-rename-test.patch \
%D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \
%D%/packages/patches/pidgin-libnm.patch \
@@ -1525,9 +1490,9 @@ dist_patch_DATA = \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python-pycrypto-time-clock.patch \
%D%/packages/patches/python2-pygobject-2-deprecation.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python-robotframework-source-date-epoch.patch \
%D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
%D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
%D%/packages/patches/python-tinycss2-flake8-compat.patch \
@@ -1535,7 +1500,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/pypy3-7.3.1-fix-tests.patch \
%D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qt4-ldflags.patch \
@@ -1554,12 +1518,11 @@ dist_patch_DATA = \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoints-sturm_and_rp_private.patch \
%D%/packages/patches/ratpoison-shell.patch \
%D%/packages/patches/rcs-5.10.0-no-stdin.patch \
%D%/packages/patches/rcs-5.9.4-noreturn.patch \
%D%/packages/patches/rct-add-missing-headers.patch \
%D%/packages/patches/readline-link-ncurses.patch \
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/r-httpuv-1.5.4-unvendor-libuv.patch \
%D%/packages/patches/ri-li-modernize_cpp.patch \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
@@ -1585,7 +1548,6 @@ dist_patch_DATA = \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rust-openssl-sys-no-vendor.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/sbcl-geco-fix-organism-class.patch \
%D%/packages/patches/sbcl-graph-asdf-definitions.patch \
%D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \
%D%/packages/patches/scheme48-tests.patch \
@@ -1606,6 +1568,7 @@ dist_patch_DATA = \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slim-display.patch \
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/sssd-fix-samba.patch \
%D%/packages/patches/sssd-system-directories.patch \
@@ -1648,6 +1611,7 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tomb-fix-errors-on-open.patch \
%D%/packages/patches/tup-unbundle-dependencies.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
@@ -1655,9 +1619,7 @@ dist_patch_DATA = \
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
%D%/packages/patches/unison-fix-ocaml-4.08.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
@@ -1695,7 +1657,6 @@ dist_patch_DATA = \
%D%/packages/patches/webkitgtk-share-store.patch \
%D%/packages/patches/webkitgtk-bind-all-fonts.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wgetpaste-update-bpaste.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \
@@ -1711,17 +1672,16 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
%D%/packages/patches/xf86-video-savage-xorg-compat.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xf86-video-sis-xorg-compat.patch \
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xmonad-dynamic-linking.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
%D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
%D%/packages/patches/xpra-4.0.1-systemd-run.patch \
%D%/packages/patches/xpra-4.0.4-norequests.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
+2 -12
View File
@@ -37,7 +37,6 @@
#:use-module (guix ssh)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (gcrypt pk-crypto)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
@@ -173,8 +172,6 @@ exist on the machine."
(and (file-system-mount? fs)
(not (member (file-system-type fs)
%pseudo-file-system-types))
;; Don't try to validate network file systems.
(not (string-prefix? "nfs" (file-system-type fs)))
(not (memq 'bind-mount (file-system-flags fs)))))
(operating-system-file-systems (machine-operating-system machine))))
@@ -354,9 +351,8 @@ of MACHINE's system profile, ordered from most recent to oldest."
(define remote-exp
(with-extensions (list guile-gcrypt)
(with-imported-modules (source-module-closure
`(((guix config) => ,(make-config.scm))
(guix profiles)))
(with-imported-modules (source-module-closure '((guix config)
(guix profiles)))
#~(begin
(use-modules (guix config)
(guix profiles)
@@ -482,10 +478,6 @@ an environment type of 'managed-host."
(raise roll-back-failure)))
(entries -> (map boot-parameters->menu-entry
(list (second boot-parameters))))
(locale -> (boot-parameters-locale
(second boot-parameters)))
(store-dir -> (boot-parameters-store-directory-prefix
(second boot-parameters)))
(old-entries -> (map boot-parameters->menu-entry
(drop boot-parameters 2)))
(bootloader -> (operating-system-bootloader
@@ -495,8 +487,6 @@ an environment type of 'managed-host."
(bootloader-configuration-bootloader
bootloader))
bootloader entries
#:locale locale
#:store-directory-prefix store-dir
#:old-entries old-entries)))
(remote-result (machine-remote-eval machine remote-exp)))
(when (eqv? 'error remote-result)
+1 -2
View File
@@ -19,7 +19,6 @@
(define-module (gnu packages abduco)
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix packages))
@@ -38,7 +37,7 @@
"1x1m58ckwsprljgmdy93mvgjyg9x3cqrzdf3mysp0mx97zhhj2f9"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC=" ,(cc-for-target))
`(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure)
+2 -3
View File
@@ -3,7 +3,6 @@
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -273,7 +272,7 @@ available to help to click.")
`(("hidapi" ,hidapi)))
(arguments
`(#:tests? #f ; no tests
#:make-flags (list (string-append "CC=" ,(cc-for-target)))
#:make-flags (list "CC=gcc")
#:phases (modify-phases %standard-phases
(delete 'configure)
;; Install target in the Makefile does not work for Guix
@@ -309,7 +308,7 @@ devices have vendorId:productId = 0c45:7403 or 0c45:7404.")
(arguments
`(#:tests? #f ; none included
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(list "CC=gcc"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
-4
View File
@@ -5,7 +5,6 @@
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,7 +25,6 @@
#:use-module (guix licenses)
#:use-module (gnu packages attr)
#:use-module (gnu packages base)
#:use-module (gnu packages hurd)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (guix packages)
@@ -51,8 +49,6 @@
`(#:modules ((ice-9 ftw)
,@%gnu-build-system-modules)
#:configure-flags '("--disable-static")
#:tests? ,(not (or (%current-target-system)
(hurd-target?)))
#:phases
(modify-phases %standard-phases
;; XXX After repacking the sources the timestamps are reset to the
+85 -163
View File
@@ -6,10 +6,10 @@
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016, 2017, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
@@ -313,7 +313,7 @@ interface and is based on GNU Guile.")
(define-public cloud-utils
(package
(name "cloud-utils")
(version "0.32")
(version "0.31")
(source
(origin
(method url-fetch)
@@ -322,7 +322,7 @@ interface and is based on GNU Guile.")
version "/+download/cloud-utils-" version ".tar.gz"))
(sha256
(base32
"0xxdi55lzw7j91zfajw7jhd2ilsqj2dy04i9brlk8j3pvb5ma8hk"))))
"07fl3dlqwdzw4xx7mcxhpkks6dnmaxha80zgs9f6wmibgzni8z0r"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
@@ -443,7 +443,7 @@ graphs and can export its output to different formats.")
(define-public facter
(package
(name "facter")
(version "4.0.44")
(version "4.0.34")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -452,7 +452,7 @@ graphs and can export its output to different formats.")
(file-name (git-file-name name version))
(sha256
(base32
"0cs4cr5xc3yvnln9k3gdhypnq6iw4zfrhqrhslvli11l9mwdbjwn"))))
"19lcmmcnxkbirvh5bn5xa9a99z48zmb1b8845cp5r598y019gxqp"))))
(build-system ruby-build-system)
(arguments
`(#:phases
@@ -514,7 +514,7 @@ or via the @code{facter} Ruby library.")
(define-public htop
(package
(name "htop")
(version "3.0.2")
(version "3.0.0")
(source
(origin
(method git-fetch)
@@ -522,14 +522,15 @@ or via the @code{facter} Ruby library.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "1qmqhbnc5yw4brd24yrp85k09770c1c00nl03mkv5pdz2bvqivk7"))
(base32 "096gdnpaszs5rfp7qj8npi2jkvdqpp8mznn89f97ykrg6pgagwq4"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
("automake" ,automake)
("python" ,python-wrapper))) ; for scripts/MakeHeader.py
(home-page "https://htop.dev")
(synopsis "Interactive process viewer")
(description
@@ -827,7 +828,7 @@ would need and has several interesting built-in capabilities.")
(define-public netcat-openbsd
(package
(name "netcat-openbsd")
(version "1.217-2")
(version "1.217-1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -836,12 +837,12 @@ would need and has several interesting built-in capabilities.")
(file-name (git-file-name name version))
(sha256
(base32
"19sr52ix14w344pv13ppb0c1wyg5dxhic1fw2q0s3qfmx57b9hhp"))))
"0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:make-flags
(list (string-append "CC=" ,(cc-for-target)))
(list "CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
@@ -1397,7 +1398,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.9.3p1")
(version "1.9.2")
(source (origin
(method url-fetch)
(uri
@@ -1407,19 +1408,25 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"17mldsg5d08s23cskmjxfa81ibnqw3slgf3l4023j72ywi9xxffw"))
"05432672iilb7s52j9l9xzrlambb1wg3k7qvf5973i41y40x563w"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "lib/zlib")
#t))))
(build-system gnu-build-system)
(outputs (list "out"))
(outputs (list "out" "python"))
(arguments
`(#:configure-flags
(list (string-append "--docdir=" (assoc-ref %outputs "out")
"/share/doc/" ,name "-" ,version)
;; XXX: Disable Python support when cross-compiling because
;; 'configure' tries to run 'python', which fails.
,(if (%current-target-system)
"--disable-python"
"--enable-python") ; for plug-ins written in ~
"--with-logpath=/var/log/sudo.log"
"--with-rundir=/var/run/sudo" ; must be cleaned up at boot time
"--with-vardir=/var/db/sudo"
@@ -1466,19 +1473,34 @@ system administrator.")
(substitute* "plugins/sudoers/Makefile.in"
(("^pre-install:" match)
(string-append match "\ndisabled-" match)))
#t)))
#t))
(add-after 'install 'separate-python-output
(lambda* (#:key target outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(out:python (assoc-ref outputs "python")))
(if target
(mkdir-p (string-append out:python "/empty"))
(for-each
(lambda (file)
(let ((old (string-append out "/" file))
(new (string-append out:python "/" file)))
(mkdir-p (dirname new))
(rename-file old new)))
(list "libexec/sudo/python_plugin.so"
"libexec/sudo/python_plugin.la")))
#t))))
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
#:tests? #f))
(native-inputs
;; XXX TODO: Remove on next rebuild cycle.
(if (hurd-target?)
'()
`(("groff" ,groff))))
`(("groff" ,groff)))
(inputs
`(("coreutils" ,coreutils)
("linux-pam" ,linux-pam)
,@(if (%current-target-system)
'()
`(("python" ,python)))
("zlib" ,zlib)))
(home-page "https://www.sudo.ws/")
(synopsis "Run commands as root")
@@ -1809,24 +1831,21 @@ network, which causes enabled computers to power on.")
(define-public dmidecode
(package
(name "dmidecode")
(version "3.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/dmidecode/dmidecode-"
version ".tar.xz"))
(sha256
(base32 "0m8lzg9rf1qssasiix672bxk5qwms90561g8hfkkhk31h2kkgiw2"))))
(version "3.2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://savannah/dmidecode/dmidecode-"
version ".tar.xz"))
(sha256
(base32
"1pcfhcgs2ifdjwp7amnsr3lq95pgxpr150bjhdinvl505px0cw07"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no 'check' target
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "prefix="
(assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
'(#:phases (modify-phases %standard-phases (delete 'configure))
#:tests? #f ; no 'check' target
#:make-flags (list (string-append "prefix="
(assoc-ref %outputs "out")))))
(home-page "https://www.nongnu.org/dmidecode/")
(synopsis "Read hardware information from the BIOS")
(description
@@ -2062,7 +2081,7 @@ track changes in important system configuration files.")
(define-public libcap-ng
(package
(name "libcap-ng")
(version "0.8")
(version "0.7.11")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2070,7 +2089,7 @@ track changes in important system configuration files.")
version ".tar.gz"))
(sha256
(base32
"08cy59iassiwbmfxa5v0kb374r80290vv32f5q1mnip11av26kgi"))))
"1s8akhnnazk0b5c6z5i3x54rjb26p8pz2wdl1m21ml3231qmr0c5"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -2588,14 +2607,14 @@ done with the @code{auditctl} utility.")
(define-public nmap
(package
(name "nmap")
(version "7.91")
(version "7.80")
(source (origin
(method url-fetch)
(uri (string-append "https://nmap.org/dist/nmap-" version
".tar.bz2"))
(sha256
(base32
"001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q"))
"1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2673,7 +2692,7 @@ advanced netcat implementation (ncat), a utility for comparing scan
results (ndiff), and a packet generation and response analysis tool (nping).")
;; This package uses nmap's bundled versions of libdnet and liblinear, which
;; both use a 3-clause BSD license.
(license (list license:npsl license:bsd-3))))
(license (list license:nmap license:bsd-3))))
(define-public dstat
(package
@@ -2683,7 +2702,7 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dstat-real/dstat")
(url "https://github.com/dagwieers/dstat")
(commit (string-append "v" version))))
(file-name (git-file-name "dstat" version))
(sha256
@@ -2693,8 +2712,9 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no make check
#:make-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "DESTDIR=" out)
"prefix=/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-python3-DeprecationWarning
@@ -2875,13 +2895,9 @@ shortcut syntax and completion options.")
(version "4.8")
(source (origin
(method url-fetch)
(uri
(list (string-append
"https://archives.eyrie.org/software/kerberos/"
"pam-krb5-" version ".tar.xz")
(string-append
"https://archives.eyrie.org/software/ARCHIVE/"
"pam-krb5/pam-krb5-" version ".tar.xz")))
(uri (string-append
"https://archives.eyrie.org/software/kerberos/"
"pam-krb5-" version ".tar.xz"))
(patches (search-patches "pam-krb5-CVE-2020-10595.patch"))
(sha256
(base32
@@ -2915,7 +2931,7 @@ with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation}
enabled, and supports extensive configuration either by PAM options or in
krb5.conf or both. PKINIT is supported with recent versions of both MIT
Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(home-page "https://www.eyrie.org/~eagle/software/pam-krb5/")
(home-page "https://www.eyrie.org/~eagle/software/pam-krb5")
;; Dual licenced under a homebrew non-copyleft OR GPL (any version)
;; However, the tarball does not contain a copy of the GPL, so unless
;; we put one in, we cannot distribute it under GPL without violating
@@ -2930,8 +2946,6 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(commit (string-append "v" version))))
(sha256
(base32 "04f3jqg8ww4jxsf9c6ddcdgy2xbhkyp0b3l5f1hvvbv94p81rjxd"))
(patches
(search-patches "sunxi-tools-remove-sys-io.patch"))
(modules '((guix build utils)))
(snippet
;; Remove binaries contained in the tarball which are only for the
@@ -3393,26 +3407,27 @@ make it a perfect utility on modern distros.")
(define-public thermald
(package
(name "thermald")
(version "2.2")
(version "1.9.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/intel/thermal_daemon")
(url "https://github.com/01org/thermal_daemon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1nrhv3bypyc48h9smj5cpq63rawm6vqyg3cwkhpz69rgjnf1283m"))))
(base32 "0iagc3jqpnh6q2fa1gx4wx6r8qg0556j60xr159zqg95djr4dv99"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--with-dbus-sys-dir="
(list (string-append "--sysconfdir="
out "/etc")
(string-append "--with-dbus-sys-dir="
out "/etc/dbus-1/system.d")
"--localstatedir=/var"))))
(native-inputs
`(("autoconf" ,autoconf)
("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
@@ -3574,7 +3589,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
(version "3.1.08-1")
(version "3.1.05-2")
(source
(origin
(method git-fetch)
@@ -3583,7 +3598,7 @@ Python loading in HPC environments.")
(commit version)))
(file-name (git-file-name real-name version))
(sha256
(base32 "15b0fn8kv09k7kzyzix1pr1wmjw5yinzgw01v8pf9p547m4a899a"))))
(base32 "1a7nl2wk49yz5hcrph692xh5phv1mdg1m5cbvgv3ya12c6r32pa2"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash-minimal)
@@ -3753,20 +3768,26 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(define-public solaar
(package
(name "solaar")
(version "1.0.4")
(version "0.9.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pwr-Solaar/Solaar")
(url "https://github.com/pwr/Solaar")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15wzxxr2m5349kkvcs3k5clg1rsmvh6by2066qm4hlgvjwmigggy"))))
"085mfa13dap3wqik1dqlad0d7kff4rv7j4ljh99c7l8nhczkqgwm"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-prefix-detection
(lambda _
(substitute* "setup.py"
(("'--prefix' in sys\\.argv")
"len([x.startswith('--prefix=') for x in sys.argv]) > 0"))
#t))
(add-before 'build 'setenv-PATH
(lambda _
(setenv "PYTHONPATH" (string-append "lib:" (getenv "PYTHONPATH")))
@@ -4078,102 +4099,3 @@ the system configuration; hosts only works when using the Guix package manager
on a foreign distro. @command{hosts} works with existing hosts files and
entries, providing commands to add, remove, comment, and search.")
(license license:expat)))
(define-public nmrpflash
(package
(name "nmrpflash")
(version "0.9.14")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/jclehner/nmrpflash.git")
(commit (string-append "v" version))))
(sha256
(base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libnl" ,libnl)
("libpcap" ,libpcap)))
(arguments
`(#:tests? #f ; None exist
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'prepare-install
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/bin"))
#t)))))
(home-page "https://github.com/jclehner/nmrpflash")
(synopsis "Netgear unbrick utility")
(description "This package provides a utility to flash a new firmware
image to a Netgear device. It has been tested on Netgear EX2700, EX6120,
EX6150v2, DNG3700v2, R6100, R6220, R7000, D7000, WNR3500, R6400, R6800,
R8000, R8500, WNDR3800, but is likely to be compatible with many other
Netgear devices.")
(license license:gpl3+)))
(define-public atop
(package
(name "atop")
(version "2.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.atoptool.nl/download/atop-"
version ".tar.gz"))
(sha256
(base32
"0crzz4i2nabyh7d6xg7fvl65qls87nbca5ihidp3nijhrrbi14ab"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
;; The installer requires a choice between systemd or SysV.
"systemdinstall"
(string-append "DESTDIR=" (assoc-ref %outputs "out"))
(string-append "BINPATH=/bin")
(string-append "SBINPATH=/sbin")
(string-append "SYSDPATH=/etc/systemd/system")
(string-append "PMPATHD=/etc/systemd/system-sleep")
(string-append "MAN1PATH=/share/man/man1")
(string-append "MAN5PATH=/share/man/man5")
(string-append "MAN8PATH=/share/man/man8")
;; Or else it tries to create /var/log/atop...
(string-append "LOGPATH="))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; No ./configure script
(add-before 'build 'patch-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
;; We don't need to chown things in the build environment.
(("chown.*$") "")
;; We can't toggle the setuid bit in the build environment.
(("chmod 04711") "chmod 0711")
;; Otherwise, it creates a blank configuration file as a "default".
(("touch.*DEFPATH)/atop") "")
(("chmod.*DEFPATH)/atop") ""))
#t)))))
(inputs
`(("ncurses" ,ncurses)
("python" ,python-wrapper) ; for `atopgpud`
("zlib" ,zlib)))
(home-page "https://www.atoptool.nl/")
(synopsis "Linux performance monitoring console")
(description "Atop is an ASCII full-screen performance monitor for Linux
that is capable of reporting the activity of all processes (even processes have
finished during the monitoring interval), daily logging of system and process
activity for long-term analysis, highlighting overloaded system resources by
using colors, etc. At regular intervals, it shows system-level activity related
to the CPU, memory, swap, disks (including LVM) and network layers, and for
every process (and thread) it shows e.g. the CPU utilization, memory growth,
disk utilization, priority, username, state, and exit code.")
(license license:gpl2+)))
+91 -62
View File
@@ -48,7 +48,6 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
@@ -124,15 +123,15 @@ greatest common divisor operations.")
(define-public cm
(package
(name "cm")
(version "0.3.1")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.multiprecision.org/downloads/cm-"
"http://www.multiprecision.org/cm/download/cm-"
version ".tar.gz"))
(sha256
(base32
"0qq6b1kwb1byj8ws33ya5awq0ilkpm32037pi1l4cf2737fg9m42"))))
"1nf5kr0nqmhbzrsrinky18z0ighjpsmb5cr8zyg8jf04bfbyrfmc"))))
(build-system gnu-build-system)
(propagated-inputs
`(("mpfrcx" ,mpfrcx)
@@ -152,7 +151,12 @@ line applications.")
(define-public fplll
(package
(name "fplll")
(version "5.3.3")
;; The most recent version 5.3.3 fails in the configure phase:
;; ./configure: line 12956: syntax error near unexpected token `LIBQD,'
;; ./configure: line 12956: ` PKG_CHECK_MODULES(LIBQD, qd, have_libqd="yes",'
;; The error disappears when adding qd as an input; but this is
;; supposed to be an optional input.
(version "5.3.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -161,15 +165,13 @@ line applications.")
(file-name (git-file-name name version))
(sha256
(base32
"06nyfidagp8pc2kfcw88ldgb2b1xm0a8z31n0sln7j72ihlmd8zj"))
(patches (search-patches "fplll-std-fenv.patch"))))
"00iyz218ywspizjiimrjdcqvdqmrsb2367zyy3vkmypnf9i9l680"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(propagated-inputs ; header files pulled in by fplll/defs.h
("libtool" ,libtool)))
(inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)))
(home-page "https://github.com/fplll/fplll")
@@ -234,7 +236,7 @@ the real span of the lattice.")
(define-public pari-gp
(package
(name "pari-gp")
(version "2.13.0")
(version "2.11.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -242,7 +244,7 @@ the real span of the lattice.")
version ".tar.gz"))
(sha256
(base32
"14xs90wrw8mbdx08hxlbhiahp6kgjq6yh27zjw7fvhfjx5nr84f8"))))
"070bjw4kg7r6lqs1hfs08n5fmjv90cpwflp3wr04hbrmyz28zj5z"))))
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,(texlive-union
@@ -355,7 +357,7 @@ precision.")
(define-public giac
(package
(name "giac")
(version "1.6.0-25")
(version "1.6.0-7")
(source
(origin
(method url-fetch)
@@ -367,7 +369,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
(base32 "11kik2csdg9wy0npiih21kaag0nc89i9ldgk7ak7gvf9ycddm6mh"))))
(base32 "1pvgp137zcl0rbhdn1j41xxfml7fp771a7x4ph8qrhhlx0hxzn3p"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@@ -378,8 +380,7 @@ precision.")
(add-after 'unpack 'patch-bin-cp
;; Some Makefiles contain hard-coded "/bin/cp".
(lambda _
(substitute* (cons "micropython-1.12/xcas/Makefile"
(find-files "doc" "^Makefile"))
(substitute* (find-files "doc" "^Makefile")
(("/bin/cp") (which "cp")))
#t))
(add-after 'unpack 'disable-failing-test
@@ -408,7 +409,7 @@ precision.")
(delete-file (string-append out "/bin/xcasnew"))
#t))))))
(inputs
;; TODO: Add libnauty, unbundle "libmicropython.a".
;;; TODO: Add libnauty.
`(("fltk" ,fltk)
("glpk" ,glpk)
("gmp" ,gmp)
@@ -432,8 +433,6 @@ precision.")
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("hevea" ,hevea)
("python" ,python-wrapper)
("readline" ,readline)
("texlive" ,texlive-tiny)))
(home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html")
@@ -1119,17 +1118,17 @@ xtensor provides:
(define-public gap
(package
(name "gap")
(version "4.11.0")
(version "4.10.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.gap-system.org/gap-"
(uri (string-append "https://www.gap-system.org/pub/gap/gap-"
(version-major+minor version)
"/tar.bz2/gap-"
version
".tar.bz2"))
(sha256
(base32 "00l6hvy4iggnlrib4vp805sxdm3j7n3hzpv5zs9hbiiavh80l1xz"))
(base32 "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"))
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
(snippet
'(begin
@@ -1141,46 +1140,41 @@ xtensor provides:
;; FIXME: This might be fixed in the next release, see
;; https://github.com/gap-system/gap/issues/3292
(delete-file "tst/testinstall/dir.tst")
;; Delete all packages except for a fixed list,
;; given by their names up to version numbers.
;; Delete all packages except for a fixed list.
(with-directory-excursion "pkg"
(for-each delete-file-recursively
(lset-difference
(lambda (all keep) (string-prefix? keep all))
(scandir ".")
(lset-difference string=? (scandir ".")
'("." ".."
;; Necessary packages.
"GAPDoc-"
"primgrp-"
"SmallGrp-" ; artistic2.0
"transgrp" ; artistic2.0 for data,
; gpl2 or gpl3 for code
;; Recommended package.
"io-" ; gpl3+
"GAPDoc-1.6.2"
"primgrp-3.3.2"
"SmallGrp-1.3" ; artistic2.0
"transgrp" ; artistic2.0 for data,
; gpl2 or gpl3 for code
;; Recommanded package.
"io-4.5.4" ; gpl3+
;; Optional packages, searched for at start,
;; and their depedencies.
"alnuth-"
"autpgrp-"
"crisp-" ; bsd-2
"ctbllib" ; gpl3+, clarified in the next release;
; see
; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
"FactInt-"
"alnuth-3.1.0"
"autpgrp-1.10"
"crisp-1.4.4" ; bsd-2
"ctbllib" ; gpl3+ according to doc/chap0.txt
"FactInt-1.6.2"
"fga"
"irredsol-" ; bsd-2
"laguna-"
"polenta-"
"polycyclic-"
"radiroot-"
"resclasses-"
"sophus-"
"tomlib-"
"utils-"))))
"irredsol-1.4" ; bsd-2
"laguna-3.9.2"
"polenta-1.3.8"
"polycyclic-2.14"
"radiroot-2.8"
"resclasses-4.7.1"
"sophus-1.24"
"tomlib-1.2.7" ; gpl2+, clarified in the git repository
; and the next release
"utils-0.59"))))
#t))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)
("readline" ,readline)
("zlib" ,zlib)))
(arguments
`(#:modules ((ice-9 ftw)
@@ -1207,14 +1201,15 @@ xtensor provides:
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(prog (string-append bin "/gap"))
(prog-real (string-append bin "/.gap-real"))
(share (string-append out "/share/gap")))
(share (string-append out "/share/gap"))
(include (string-append out "/include/gap"))
(include-hpc (string-append include "/hpc")))
;; Install only the gap binary; the gac compiler is left
;; for maybe later. "Wrap" it in a shell script that calls
;; the binary with the correct parameter.
;; The make target install-bin is supposed to do that, but
;; is not currently working.
(mkdir-p bin)
(copy-file "gap" prog-real)
(call-with-output-file prog
@@ -1225,18 +1220,52 @@ xtensor provides:
prog-real
share)))
(chmod prog #o755)
;; Install the headers and library, which are needed by Sage.
(invoke "make" "install-headers")
(invoke "make" "install-libgap")
;; Install the headers, which are needed by Sage. The
;; Makefile target "install-headers" was available in
;; gap-4.10.0, but has been commented out in gap-4.10.1.
(mkdir-p include-hpc)
(install-file "gen/config.h" include)
(let ((file-name-predicate-without-stat
(lambda (regex)
(cut (file-name-predicate regex) <> #f))))
(with-directory-excursion "src"
(for-each
(cut install-file <> include)
(scandir "."
(file-name-predicate-without-stat ".*\\.h$"))))
(with-directory-excursion "src/hpc"
(for-each
(cut install-file <> include-hpc)
(scandir "."
(file-name-predicate-without-stat ".*\\.h$")))))
;; Install the library, which is needed by Sage. The
;; Makefile target "install-libgap" was available in
;; gap-4.10.0, but has been commented out in gap-4.10.1.
;; Compared to the Makefile, which used libtool, the
;; following approach of copying files and making symlinks
;; is rather pedestrian. There is hope that some later
;; version of gap reinstates and completes the install
;; targets.
(invoke "make" "libgap.la")
(install-file "libgap.la" lib)
(install-file ".libs/libgap.so.0.0.0" lib)
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so"))
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so.0"))
;; Install a certain number of files and directories to
;; SHARE, where the wrapped shell script expects them.
;; Remove information on the build directory from sysinfo.gap.
(substitute* "sysinfo.gap"
(("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
(("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
(("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
(invoke "make" "install-gaproot")
;; Copy the directory of compiled packages; the make target
;; install-pkg is currently empty.
(copy-recursively "pkg" (string-append share "/pkg")))
(install-file "sysinfo.gap" share)
(copy-recursively "grp" (string-append share "/grp"))
(copy-recursively "pkg" (string-append share "/pkg"))
;; The following is not the C library libgap.so, but a
;; library of GAP code.
(copy-recursively "lib" (string-append share "/lib"))
;; The gap binary looks for documentation inside SHARE.
(copy-recursively "doc" (string-append share "/doc")))
#t)))))
(home-page "https://www.gap-system.org/")
(synopsis
@@ -1555,7 +1584,7 @@ structure constants of Schubert polynomials.")
"0akwhhz9b40bz6lrfxpamp7r7wkk48p455qbn04mfnl9a1l6db8x"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)
`(("gmp", gmp)
("cblas" ,openblas))) ; or any other BLAS library; the documentation
; mentions ATLAS in particular
(arguments
+2 -35
View File
@@ -10,7 +10,6 @@
;;; Copyright © 2019, 2020 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Sergey Trofimov <sarg@sarg.org.ru>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,9 +30,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system android-ndk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system android-ndk)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:)
@@ -43,7 +41,6 @@
#:use-module (gnu packages docker)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages java)
#:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
@@ -947,7 +944,7 @@ useful for reverse engineering, analysis of Android applications and more.")
("python-apache-libcloud" ,python-apache-libcloud)
("python-clint" ,python-clint)
("python-defusedxml" ,python-defusedxml)
("python-docker" ,python-docker)
("python-docker-py" ,python-docker-py)
("python-gitpython" ,python-gitpython)
("python-mwclient" ,python-mwclient)
("python-paramiko" ,python-paramiko)
@@ -975,36 +972,6 @@ publishing, or to assist in creating, testing and submitting metadata to the
main repository.")
(license license:agpl3+)))
(define-public fdroidcl
(package
(name "fdroidcl")
(version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rxcdyy2j34z0ql9d62w7ivsch9xihjnpb1z9kgy9q46vl8zhhy0"))))
(build-system go-build-system)
(arguments
`(#:import-path "mvdan.cc/fdroidcl"
#:tests? #f ; TODO: Inputs missing.
#:install-source? #f))
(inputs
`(("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
;(native-inputs
; `(("go-github-com-rogpeppe-go-internal-testscript"
; ,go-github-com-rogpeppe-go-internal-testscript)))
(synopsis "F-Droid desktop client")
(description
"While the Android client integrates with the system with regular update
checks and notifications, this is a simple command line client that talks to
connected devices via ADB.")
(home-page "https://github.com/mvdan/fdroidcl")
(license license:bsd-3)))
(define-public enjarify
(package
(name "enjarify")
+2 -2
View File
@@ -44,14 +44,14 @@
(define-public clamav
(package
(name "clamav")
(version "0.103.0")
(version "0.102.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz"))
(sha256
(base32
"0ih5x1rscg2m64y0z20njj7435q8k7ss575cfw7aipdzfx979a9j"))
"06rrzyrhnr0rswryijpbbzywr6387rv8qjq8sb8cl3h2d1m45ggf"))
(modules '((guix build utils)))
(snippet
'(begin
-51
View File
@@ -9,8 +9,6 @@
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,9 +33,7 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (ice-9 match))
@@ -461,50 +457,3 @@ under permissive licensing terms. See the 'Copyright' file."))))
(define-word-list-dictionary hunspell-dict-en-us
"en_US"
(synopsis "Hunspell dictionary for United States English"))
(define-public ispell
(package
(name "ispell")
(version "3.4.00")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.cs.hmc.edu/~geoff/tars/ispell-"
version ".tar.gz"))
(sha256
(base32
"1hmfnz55qzfpz7lz0r3m4kkv31smir92ks9s5l1iiwimhr2jxi2x"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Based on local.h.linux
(let* ((grep (assoc-ref inputs "grep"))
(out (assoc-ref outputs "out")))
(call-with-output-file "local.h"
(lambda (port)
(format port "#define MINIMENU~%")
(format port "#define USG~%")
(format port "#define HAS_RENAME~%")
(format port "#define CC \"gcc\"~%")
(format port "#define POUNDBANG \"#!~a\"~%" (which "sh"))
(format port "#define EGREPCMD \"~a/bin/grep -Ei\"~%" grep)
(format port "#define BINDIR \"~a/bin\"~%" out)
(format port "#define LIBDIR \"~a/lib/ispell\"~%" out)
(format port "#define MAN1DIR \"~a/share/man/man1\"~%" out)
(format port "#define MAN45DIR \"~a/share/man/man5\"~%" out))))
#t)))))
(inputs
`(("grep" ,grep)
("ncurses" ,ncurses)))
(native-inputs
`(("bison" ,bison)))
(synopsis "Interactive spell-checking tool for Unix")
(description "Ispell is an interactive spell-checking tool supporting many
European languages.")
(home-page "https://www.cs.hmc.edu/~geoff/ispell.html")
(license bsd-3)))
+2 -2
View File
@@ -151,14 +151,14 @@ to the clients.")
(define-public fasm
(package
(name "fasm")
(version "1.73.25")
(version "1.73.24")
(source
(origin
(method url-fetch)
(uri (string-append "https://flatassembler.net/fasm-"
version ".tgz"))
(sha256
(base32 "0k3h61mfwslyb34kf4dnapfwl8jxlmrp4dv666wc057hkj047knn"))))
(base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests exist
+5 -5
View File
@@ -128,7 +128,7 @@ header.")
(define-public gnuastro
(package
(name "gnuastro")
(version "0.13")
(version "0.12")
(source
(origin
(method url-fetch)
@@ -136,7 +136,7 @@ header.")
version ".tar.lz"))
(sha256
(base32
"07di6zx2irc5q0zyymx2951ydzxdfjmzd3az5qnk67ncf3hknvj5"))))
"0ypk1c72q778cixfa52vjxzbd5m4qc6hfjgnipy16sfa7mnspmyf"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
@@ -159,7 +159,7 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium
(package
(name "stellarium")
(version "0.20.3")
(version "0.20.2")
(source
(origin
(method url-fetch)
@@ -167,7 +167,7 @@ programs for the manipulation and analysis of astronomical data.")
"/releases/download/v" version
"/stellarium-" version ".tar.gz"))
(sha256
(base32 "0z5r7b1ac43l330xphxnw54xg7jm87ajix8yl4hkq82cs5ja7097"))))
(base32 "16symz212vjvhfabh39a68qf7d0rm574c6djlibj2qd1q9jgj3j0"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@@ -328,7 +328,7 @@ Mechanics, Astrometry and Astrodynamics library.")
("freetype" ,freetype)
("pango" ,pango)
("giflib" ,giflib)
("libjpeg" ,libjpeg-turbo)
("libjpeg", libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
("netpbm" ,netpbm)
+61 -189
View File
@@ -33,7 +33,6 @@
;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -109,7 +108,6 @@
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
#:use-module (gnu packages vim) ;xxd
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xiph)
@@ -300,7 +298,7 @@ Linux kernel.")
(define-public libopenmpt
(package
(name "libopenmpt")
(version "0.5.3")
(version "0.5.1")
(source
(origin
(method url-fetch)
@@ -308,20 +306,8 @@ Linux kernel.")
(string-append "https://download.openmpt.org/archive/libopenmpt/src/"
"libopenmpt-" version "+release.autotools.tar.gz"))
(sha256
(base32 "1f155yf5v57dwhzb7z0kh67lckr3yq4x8040dm54qgbxw582la77"))))
(base32 "1vpalfsrkbx4vyrh1qy564lr91jwdxlbjivv5gzf8zcywxasf0xa"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--docdir=" (assoc-ref %outputs "out")
"/share/doc/" ,name "-" ,version))
#:phases
(modify-phases %standard-phases
(add-after 'install 'delete-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
(for-each delete-file (find-files lib "\\.a$"))
#t))))))
(native-inputs
`(("doxygen" ,doxygen)
("perl" ,perl)
@@ -862,30 +848,18 @@ tools.")
"audiofile-Fix-index-overflow-in-IMA.cpp.patch"
;; CVE-2017-6827, CVE-2017-6828, CVE-2017-6832, CVE-2017-6835,
;; CVE-2017-6837:
"audiofile-check-number-of-coefficients.patch"
"audiofile-Check-the-number-of-coefficients.patch"
;; CVE-2017-6839:
"audiofile-overflow-in-MSADPCM.patch"
"audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch"
;; CVE-2017-6830, CVE-2017-6834, CVE-2017-6836, CVE-2017-6838:
"audiofile-multiply-overflow.patch"
"audiofile-function-signature.patch"
"audiofile-Fix-multiply-overflow-sfconvert.patch"
"audiofile-signature-of-multiplyCheckOverflow.patch"
;; CVE-2017-6831:
"audiofile-Fail-on-error-in-parseFormat.patch"
;; CVE-2017-6833:
"audiofile-division-by-zero.patch"
"audiofile-division-by-zero-BlockCodec-runPull.patch"
"audiofile-CVE-2018-13440.patch"
"audiofile-CVE-2018-17095.patch"))))
(properties `((lint-hidden-cve . ("CVE-2017-6829"
"CVE-2017-6827" "CVE-2017-6828"
"CVE-2017-6832" "CVE-2017-6835"
"CVE-2017-6837"
"CVE-2017-6839"
"CVE-2017-6830" "CVE-2017-6834"
"CVE-2017-6836" "CVE-2017-6838"
"CVE-2017-6831" "CVE-2017-6833"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)))
@@ -1059,7 +1033,7 @@ tools (analyzer, mono/stereo tools, crossovers).")
`(("lv2" ,lv2)))
;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html
(home-page "https://github.com/moddevices/caps-lv2")
(synopsis "LV2 port of the CAPS audio plugin collection")
(synopsis "LV2 port of the CAPS audio plugin colection")
(description
"LV2 port of CAPS, a collection of audio plugins comprising basic virtual
guitar amplification and a small range of classic effects, signal processors and
@@ -1644,7 +1618,7 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
(version "2.1.5")
(version "2.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1653,7 +1627,7 @@ follower.")
(file-name (git-file-name name version))
(sha256
(base32
"0ccpq4p1h1g53ng3961g3lh590qnwvpzwdzpl6ai4j6iazq0bh73"))))
"1r3khwyw57ybg5m4x0rvdzq7hgw2484sd52k6bm19akbw8yicfna"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
@@ -1836,7 +1810,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
(version "0.41.0")
(version "0.38.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1844,14 +1818,28 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.xz"))
(sha256
(base32
"0qsfbyrrpb3bbdyq68k28mjql7kglxh8nqcw9jvja28x6x9ik5a0"))))
"0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:python ,python-2
#:configure-flags
(list
;; Add the output lib directory to the RUNPATH.
(string-append "--ldflags=-Wl,-rpath=" %output "/lib"))))
(string-append "--ldflags=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-boost-includes
(lambda _
(substitute* "src/headers/gx_internal_plugins.h"
(("namespace gx_jack" m)
(string-append "#include <boost/noncopyable.hpp>\n" m)))
(substitute* '("src/headers/gx_system.h"
"src/headers/gx_parameter.h"
"src/headers/gx_json.h")
(("namespace gx_system" m)
(string-append "#include <boost/noncopyable.hpp>\n" m)))
#t)))))
(inputs
`(("libsndfile" ,libsndfile)
("boost" ,boost)
@@ -1862,8 +1850,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
("lilv" ,lilv)
("ladspa" ,ladspa)
("jack" ,jack-1)
("gtkmm" ,gtkmm)
("gtk+" ,gtk+)
("gtkmm" ,gtkmm-2)
("gtk+" ,gtk+-2)
("fftwf" ,fftwf)
("lrdf" ,lrdf)
("zita-resampler" ,zita-resampler)
@@ -1873,8 +1861,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
("faust" ,faust)
("intltool" ,intltool)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("sassc" ,sassc)))
("pkg-config" ,pkg-config)))
(native-search-paths
(list (search-path-specification
(variable "LV2_PATH")
@@ -2043,7 +2030,7 @@ synchronous execution of all clients, and low latency operation.")
(define-public jack-2
(package (inherit jack-1)
(name "jack2")
(version "1.9.14")
(version "1.9.13")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jackaudio/jack2/releases/"
@@ -2052,7 +2039,7 @@ synchronous execution of all clients, and low latency operation.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0z11hf55a6mi8h50hfz5wry9pshlwl4mzfwgslghdh40cwv342m2"))))
"1d1d403jn4366mqig6g8ghr8057b3rn7gs26b5p3rkal34j20qw2"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
@@ -2062,10 +2049,6 @@ synchronous execution of all clients, and low latency operation.")
(modify-phases %standard-phases
(add-before 'configure 'set-linkflags
(lambda _
;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp
;; will not link with undefined reference to symbol
;; '__gxx_personality_v0@@CXXABI_1.3'
(setenv "LDFLAGS" "-lstdc++")
;; Add $libdir to the RUNPATH of all the binaries.
(substitute* "wscript"
((".*CFLAGS.*-Wall.*" m)
@@ -2693,21 +2676,20 @@ different audio devices such as ALSA or PulseAudio.")
(define-public qjackctl
(package
(name "qjackctl")
(version "0.6.3")
(version "0.5.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
"0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x"))))
"1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no check target
(inputs
`(("jack" ,jack-1)
("alsa-lib" ,alsa-lib)
("portaudio" ,portaudio)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)))
(native-inputs
@@ -2938,7 +2920,7 @@ aimed at audio/musical applications.")
(description "This package contains the @command{resample} and
@command{windowfilter} command line utilities. The @command{resample} command
allows changing the sampling rate of a sound file, while the
@command{windowfilter} command allows designing Finite Impulse Response (FIR)
@command{windowfilter} command allows to design Finite Impulse Response (FIR)
filters using the so-called @emph{window method}.")
(home-page "https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html")
(license license:lgpl2.1+)))
@@ -3072,32 +3054,6 @@ that toolkit will work in all hosts that use Suil automatically.
Suil currently supports every combination of Gtk, Qt, and X11.")
(license license:isc)))
(define-public libebur128
(package
(name "libebur128")
(version "1.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jiixyj/libebur128")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0n81rnm8dm1zmibkr2v3q79rsd609y0dbbsrbay18njcjva88p0g"))))
(build-system cmake-build-system)
(arguments
`(;; Tests require proprietary .wav files. See
;; https://github.com/jiixyj/libebur128/issues/82.
#:tests? #f
#:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
(home-page "https://github.com/jiixyj/libebur128")
(synopsis "Library implementing the EBU R 128 loudness standard")
(description
"@code{libebur128} is a C library that implements the EBU R 128 standard
for loudness normalisation.")
(license license:expat)))
(define-public timidity++
(package
(name "timidity++")
@@ -3342,7 +3298,7 @@ Tracker 3 S3M and Impulse Tracker IT files.")
(define-public soundtouch
(package
(name "soundtouch")
(version "2.2")
(version "2.1.2")
(source
(origin
(method git-fetch)
@@ -3351,7 +3307,7 @@ Tracker 3 S3M and Impulse Tracker IT files.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "12i6yg8vvqwyk412lxl2krbfby6hnxld8qxy0k4m5xp4g94jiq4p"))))
(base32 "174wgm3s0inmbnkrlnspxjwm2014qhjhkbdqa5r8rbfi0nzqxzsz"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -4003,31 +3959,10 @@ mixers.")
(define-public python2-pyalsaaudio
(package-with-python2 python-pyalsaaudio))
(define-public ldacbt
(package
(name "ldacbt")
(version "2.0.2.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/EHfive/ldacBT"
"/releases/download/v" version
"/ldacBT-" version ".tar.gz"))
(sha256
(base32
"1d65dms4klzql29abi15i90f41h523kl6mxrz9hi6p5vg37fxn2b"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no check target
(home-page "https://github.com/EHfive/ldacBT/")
(synopsis "LDAC Bluetooth encoder and ABR library")
(description "This package provides an encoder for the LDAC
high-resolution Bluetooth audio streaming codec for streaming at up to 990
kbps at 24 bit/96 kHz.")
(license license:asl2.0)))
(define-public bluez-alsa
(package
(name "bluez-alsa")
(version "3.0.0")
(version "2.0.0")
(source (origin
;; The tarballs are mere snapshots and don't contain a
;; bootstrapped build system.
@@ -4038,12 +3973,11 @@ kbps at 24 bit/96 kHz.")
(file-name (git-file-name name version))
(sha256
(base32
"1jlsgxyqfhncfhx1sy3ry0dp6p95kd4agh7g2b7g51h0c4cv74h8"))))
"08mppgnjf1j2733bk9yf0cny6rfxxwiys0s62lz2zd2lpdl6d9lz"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--enable-ldac"
(string-append "--with-alsaplugindir="
(list (string-append "--with-alsaplugindir="
(assoc-ref %outputs "out")
"/lib/alsa-lib")
(string-append "--with-dbusconfdir="
@@ -4059,7 +3993,6 @@ kbps at 24 bit/96 kHz.")
("bluez" ,bluez)
("dbus" ,dbus)
("glib" ,glib)
("ldacbt" ,ldacbt)
("libbsd" ,libbsd)
("ncurses" ,ncurses)
("ortp" ,ortp)
@@ -4080,14 +4013,14 @@ on the ALSA software PCM plugin.")
(define-public snd
(package
(name "snd")
(version "20.8")
(version "20.6")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"1hw81innyyiwiyb8jkpq9aj7idmcb41yvgd1blac997023h78sss"))))
"1h4dsq5xcvwjbnayhn719cln0lg199w3xm59sl9d2jz8bq78gqgj"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -4531,40 +4464,10 @@ supports both of ID3v1/v2 and APEv2 tags.")
(home-page "http://tausoft.org/")
(license license:gpl2+)))
(define-public libsoundio
(package
(name "libsoundio")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/andrewrk/libsoundio")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"12l4rvaypv87vigdrmjz48d4d6sq4gfxf5asvnc4adyabxb73i4x"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests included
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
("pulseaudio" ,pulseaudio)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://libsound.io")
(synopsis "C library for real-time audio input and output")
(description "@code{libsoundio} is a C library providing audio input and
output. The API is suitable for real-time software such as digital audio
workstations as well as consumer software such as music players.")
(license license:expat)))
(define-public redkite
(package
(name "redkite")
(version "1.0.3")
(version "0.8.1")
(source
(origin
(method git-fetch)
@@ -4573,14 +4476,14 @@ workstations as well as consumer software such as music players.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m2db7c791fi33snkjwnvlxapmf879g5r8azlkx7sr6vp2s0jq2k"))))
(base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests included
(inputs
`(("cairo" ,cairo)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config", pkg-config)))
(synopsis "Small GUI toolkit")
(description "Redkite is a small GUI toolkit developed in C++17 and
inspired from other well known GUI toolkits such as Qt and GTK. It is
@@ -4707,7 +4610,7 @@ in the package.")
(define-public libaudec
(package
(name "libaudec")
(version "0.2.3")
(version "0.2.2")
(source
(origin
(method git-fetch)
@@ -4717,16 +4620,16 @@ in the package.")
(file-name (git-file-name name version))
(sha256
(base32
"04hw61db8wscj28qjyiaiafx8xl87njgmvqszxyhs4gmg8xgjip7"))))
"04mpmfmqc43asw0m3zxhb6jj4qms7x4jw7mx4xb1d3lh16xllniz"))))
(build-system meson-build-system)
(arguments
;; Compile tests.
`(#:configure-flags `("-Dtests=true")))
`(#:configure-flags `("-Denable_tests=true -Denable_ffmpeg=true")))
(inputs
`(("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)))
("libsndfile" ,libsndfile)
("ffmpeg" ,ffmpeg)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config", pkg-config)))
(synopsis "Library for reading and resampling audio files")
(description "libaudec is a wrapper library over ffmpeg, sndfile and
libsamplerate for reading and resampling audio files, based on Robin Gareus'
@@ -4737,7 +4640,7 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus'
(define-public lv2lint
(package
(name "lv2lint")
(version "0.8.0")
(version "0.4.0")
(source
(origin
(method git-fetch)
@@ -4747,18 +4650,18 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus'
(file-name (git-file-name name version))
(sha256
(base32
"1jrka0hsn4n1clri7zfkcl3c2vi52144lkpjm81l51ff8rqy8ks1"))))
"1pspwqpzl2dw1hd9ra9yr53arqbbqjn7d7j0f7p9g3iqa76vblpi"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
`("-Delf-tests=true" ; for checking symbol visibility
"-Donline-tests=true"))) ; for checking URI existence
(inputs
`(("curl" ,curl)
("libelf" ,libelf)
("lilv" ,lilv)))
`(("curl", curl)
("libelf", libelf)
("lilv", lilv)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config", pkg-config)))
(synopsis "LV2 plugin lint tool")
(description "lv2lint is an LV2 lint-like tool that checks whether a
given plugin and its UI(s) match up with the provided metadata and adhere
@@ -4789,11 +4692,11 @@ to well-known best practices.")
(modify-phases %standard-phases
(delete 'configure))))
(inputs
`(("jalv" ,jalv)
("lilv" ,lilv)))
`(("jalv", jalv)
("lilv", lilv)))
(native-inputs
`(("help2man" ,help2man)
("pkg-config" ,pkg-config)))
`(("help2man", help2man)
("pkg-config", pkg-config)))
(synopsis "Documentation generator for LV2 plugins")
(description
"lv2toweb allows the user to create an xhtml page with information
@@ -4875,37 +4778,6 @@ edited, converted, compressed and saved.")
,@(package-inputs ztoolkit)))
(synopsis "ZToolkit with SVG support")))
(define-public lsp-dsp-lib
(package
(name "lsp-dsp-lib")
(version "0.5.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/sadko4u/lsp-dsp-lib/"
"releases/download/lsp-dsp-lib-" version
"/lsp-dsp-lib-" version "-src.tar.gz"))
(sha256
(base32
"07w3d2i0z0xmvi1ngcgs7lc5a0da8jvf7rv4dnjk01md43b7fkh1"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags
(list (string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "config"
(string-append "PREFIX=" (assoc-ref outputs "out"))))))))
(home-page "https://github.com/sadko4u/lsp-dsp-lib")
(synopsis "Digital signal processing library")
(description "The LSP DSP library provides a set of functions that perform
SIMD-optimized computing on several hardware architectures. All functions
currently operate on IEEE-754 single-precision floating-point numbers.")
(license license:lgpl3+)))
(define-public codec2
(package
(name "codec2")
-46
View File
@@ -1,46 +0,0 @@
/* GNU Guix --- Functional package management for GNU
Copyright 1996-1997,2000-2001,2006,2008,2011,2013,2018
Free Software Foundation, Inc.
Copyright (C) 2020 Ludovic Courtès <ludo@gnu.org>
This file is part of GNU Guix.
GNU Guix is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
GNU Guix is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
/* This file implements a variant of the 'guile' executable that does not
complain about locale issues. */
#include <locale.h>
#include <libguile.h>
static void
inner_main (void *unused, int argc, char **argv)
{
scm_shell (argc, argv);
}
int
main (int argc, char **argv)
{
/* Try to install the current locale; remain silent if it fails. */
if (setlocale (LC_ALL, "") == NULL)
/* The 'guix pull'-provided 'guix' includes at least en_US.utf8 so use
that. That gives us UTF-8 support for 'scm_to_locale_string', etc.,
which is always preferable over the C locale. */
setlocale (LC_ALL, "en_US.utf8");
scm_install_gmp_memory_functions = 1;
scm_boot_guile (argc, argv, inner_main, 0);
return 0; /* never reached */
}
@@ -1023,8 +1023,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -966,8 +966,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1053,8 +1053,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1063,8 +1063,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1034,8 +1034,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1008,8 +1008,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1027,8 +1027,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1044,8 +1044,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 5.9.2 Kernel Configuration
# Linux/arm 5.8.0-gnu Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y
@@ -173,7 +173,6 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -232,7 +231,6 @@ CONFIG_SLAB=y
# CONFIG_SLOB is not set
CONFIG_SLAB_MERGE_DEFAULT=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
@@ -395,9 +393,6 @@ CONFIG_SOC_IMX6Q=y
# CONFIG_ARCH_MESON is not set
# CONFIG_ARCH_MILBEAUT is not set
# CONFIG_ARCH_MMP is not set
CONFIG_ARCH_MSTARV7=y
CONFIG_MACH_INFINITY=y
CONFIG_MACH_MERCURY=y
CONFIG_ARCH_MVEBU=y
CONFIG_MACH_MVEBU_ANY=y
CONFIG_MACH_MVEBU_V7=y
@@ -784,7 +779,6 @@ CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_ARM_PSCI_FW=y
CONFIG_HAVE_ARM_SMCCC=y
CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
CONFIG_ARM_SMCCC_SOC_ID=y
#
# Tegra firmware driver
@@ -839,6 +833,7 @@ CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_CONTEXT_TRACKING=y
@@ -851,6 +846,7 @@ CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=8
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y
@@ -1060,8 +1056,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1150,8 +1145,8 @@ CONFIG_IPV6_PIMSM_V2=y
# CONFIG_IPV6_RPL_LWTUNNEL is not set
# CONFIG_NETLABEL is not set
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=m
CONFIG_MPTCP_IPV6=y
# CONFIG_MPTCP_HMAC_TEST is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
@@ -1574,7 +1569,6 @@ CONFIG_NET_DSA_TAG_DSA=m
CONFIG_NET_DSA_TAG_EDSA=m
CONFIG_NET_DSA_TAG_MTK=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_RTL4_A=m
CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_QCA=m
CONFIG_NET_DSA_TAG_LAN9303=m
@@ -2022,7 +2016,6 @@ CONFIG_PCIE_CADENCE=y
CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_CADENCE_PLAT=y
CONFIG_PCIE_CADENCE_PLAT_HOST=y
# CONFIG_PCI_J721E_HOST is not set
# end of Cadence PCIe controllers support
# end of PCI controller drivers
@@ -2193,9 +2186,6 @@ CONFIG_MTD_SST25L=m
# CONFIG_MTD_DOCG3 is not set
# end of Self-contained MTD device drivers
#
# NAND
#
CONFIG_MTD_NAND_CORE=m
CONFIG_MTD_ONENAND=y
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
@@ -2238,7 +2228,6 @@ CONFIG_MTD_NAND_NANDSIM=m
CONFIG_MTD_NAND_RICOH=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
CONFIG_MTD_SPI_NAND=m
# end of NAND
#
# LPDDR & LPDDR2 PCM memory drivers
@@ -2250,6 +2239,7 @@ CONFIG_MTD_QINFO_PROBE=m
CONFIG_MTD_SPI_NOR=m
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
# CONFIG_SPI_CADENCE_QUADSPI is not set
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
@@ -2318,7 +2308,6 @@ CONFIG_NVME_RDMA=m
# CONFIG_NVME_FC is not set
# CONFIG_NVME_TCP is not set
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_PASSTHRU is not set
# CONFIG_NVME_TARGET_LOOP is not set
CONFIG_NVME_TARGET_RDMA=m
# CONFIG_NVME_TARGET_FC is not set
@@ -2473,7 +2462,6 @@ CONFIG_SCSI_UFSHCD_PCI=m
# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
# CONFIG_SCSI_UFSHCD_PLATFORM is not set
# CONFIG_SCSI_UFS_BSG is not set
CONFIG_SCSI_UFS_CRYPTO=y
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
@@ -2634,7 +2622,7 @@ CONFIG_MD_FAULTY=m
CONFIG_BCACHE=m
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
# CONFIG_BCACHE_ASYNC_REGISTRAION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
@@ -2964,8 +2952,8 @@ CONFIG_ENC28J60=m
# CONFIG_ENCX24J600 is not set
# CONFIG_LAN743X is not set
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_MSCC_OCELOT_SWITCH_LIB=m
CONFIG_MSCC_OCELOT_SWITCH=m
CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_FEALNX=m
@@ -3086,7 +3074,6 @@ CONFIG_SKFP=m
# CONFIG_HIPPI is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVRES=y
CONFIG_MDIO_BCM_UNIMAC=m
# CONFIG_MDIO_BITBANG is not set
CONFIG_MDIO_BUS_MUX=m
@@ -3382,11 +3369,7 @@ CONFIG_MT7601U=m
# CONFIG_MT7603E is not set
# CONFIG_MT7615E is not set
# CONFIG_MT7663U is not set
# CONFIG_MT7663S is not set
# CONFIG_MT7915E is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -3823,7 +3806,6 @@ CONFIG_SERIAL_TEGRA=y
# CONFIG_SERIAL_MAX310X is not set
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
CONFIG_SERIAL_IMX_EARLYCON=y
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
@@ -3873,7 +3855,6 @@ CONFIG_VIRTIO_CONSOLE=m
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_BA431=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_OMAP=m
@@ -4025,7 +4006,6 @@ CONFIG_SPI_BCM2835AUX=m
CONFIG_SPI_BITBANG=y
CONFIG_SPI_BUTTERFLY=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_DESIGNWARE is not set
# CONFIG_SPI_FSL_LPSPI is not set
# CONFIG_SPI_FSL_QUADSPI is not set
@@ -4067,7 +4047,6 @@ CONFIG_SPI_SPIDEV=y
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
CONFIG_HSI=m
CONFIG_HSI_BOARDINFO=y
@@ -4225,7 +4204,6 @@ CONFIG_GPIO_XILINX=m
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA9570=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
@@ -4321,7 +4299,6 @@ CONFIG_POWER_RESET_AS3722=y
# CONFIG_POWER_RESET_BRCMSTB is not set
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_GPIO_RESTART=y
# CONFIG_POWER_RESET_LINKSTATION is not set
# CONFIG_POWER_RESET_LTC2952 is not set
# CONFIG_POWER_RESET_QNAP is not set
CONFIG_POWER_RESET_RESTART=y
@@ -4375,7 +4352,6 @@ CONFIG_CHARGER_BQ2415X=m
# CONFIG_CHARGER_BQ24190 is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
@@ -4413,7 +4389,6 @@ CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_ARM_SCMI=m
# CONFIG_SENSORS_ASPEED is not set
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_CORSAIR_CPRO=m
CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS620=m
# CONFIG_SENSORS_DS1621 is not set
@@ -4539,7 +4514,6 @@ CONFIG_SENSORS_W83L786NG=m
# CONFIG_SENSORS_W83627HF is not set
CONFIG_SENSORS_W83627EHF=m
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
@@ -4555,6 +4529,7 @@ CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
CONFIG_CPU_THERMAL=y
CONFIG_CPU_FREQ_THERMAL=y
# CONFIG_CLOCK_THERMAL is not set
# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_MMIO is not set
@@ -4595,7 +4570,6 @@ CONFIG_TEGRA_SOCTHERM=y
# end of NVIDIA Tegra thermal drivers
# CONFIG_GENERIC_ADC_THERMAL is not set
CONFIG_KHADAS_MCU_FAN_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -4759,6 +4733,7 @@ CONFIG_MFD_SEC_CORE=y
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_ABX500_CORE is not set
CONFIG_MFD_STMPE=y
@@ -4816,7 +4791,6 @@ CONFIG_MFD_ROHM_BD70528=m
CONFIG_MFD_ROHM_BD71828=m
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
CONFIG_MFD_KHADAS_MCU=m
CONFIG_MFD_VEXPRESS_SYSREG=y
# end of Multifunction device drivers
@@ -4837,12 +4811,10 @@ CONFIG_REGULATOR_BD70528=m
CONFIG_REGULATOR_BD71828=m
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_BD9571MWV=m
CONFIG_REGULATOR_CROS_EC=m
CONFIG_REGULATOR_DA9052=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
CONFIG_REGULATOR_FAN53555=m
CONFIG_REGULATOR_FAN53880=m
CONFIG_REGULATOR_GPIO=m
# CONFIG_REGULATOR_ISL9305 is not set
# CONFIG_REGULATOR_ISL6271A is not set
@@ -4871,7 +4843,6 @@ CONFIG_REGULATOR_MPQ7920=m
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PBIAS=m
CONFIG_REGULATOR_PCA9450=m
CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
@@ -4886,7 +4857,6 @@ CONFIG_REGULATOR_SLG51000=m
CONFIG_REGULATOR_TI_ABB=m
CONFIG_REGULATOR_SY8106A=m
CONFIG_REGULATOR_SY8824X=m
CONFIG_REGULATOR_SY8827N=m
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS65023 is not set
@@ -4933,12 +4903,10 @@ CONFIG_IR_SUNXI=m
# CONFIG_IR_SERIAL is not set
# CONFIG_IR_SIR is not set
CONFIG_RC_XBOX_DVD=m
CONFIG_IR_TOY=m
CONFIG_CEC_CORE=m
CONFIG_CEC_NOTIFIER=y
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
CONFIG_CEC_CH7322=m
CONFIG_CEC_CROS_EC=m
CONFIG_CEC_SAMSUNG_S5P=m
CONFIG_CEC_TEGRA=m
@@ -5402,7 +5370,6 @@ CONFIG_VIDEO_TW9903=m
CONFIG_VIDEO_TW9906=m
CONFIG_VIDEO_TW9910=m
CONFIG_VIDEO_VPX3220=m
CONFIG_VIDEO_MAX9286=m
#
# Video and audio decoders
@@ -5472,6 +5439,7 @@ CONFIG_VIDEO_OV2640=m
CONFIG_VIDEO_OV2659=m
CONFIG_VIDEO_OV2680=m
CONFIG_VIDEO_OV2685=m
CONFIG_VIDEO_OV2740=m
CONFIG_VIDEO_OV5640=m
CONFIG_VIDEO_OV5645=m
CONFIG_VIDEO_OV5647=m
@@ -5501,7 +5469,6 @@ CONFIG_VIDEO_MT9V111=m
CONFIG_VIDEO_SR030PC30=m
CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_M5MOLS=m
CONFIG_VIDEO_RDACM20=m
CONFIG_VIDEO_RJ54N1=m
CONFIG_VIDEO_S5K6AA=m
CONFIG_VIDEO_S5K6A3=m
@@ -5518,7 +5485,6 @@ CONFIG_VIDEO_S5C73M3=m
CONFIG_VIDEO_AD5820=m
CONFIG_VIDEO_AK7375=m
CONFIG_VIDEO_DW9714=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
# end of Lens drivers
@@ -5927,6 +5893,7 @@ CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
@@ -5939,7 +5906,6 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
CONFIG_DRM_PANEL_SONY_ACX424AKP=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -6114,6 +6080,7 @@ CONFIG_FB_SIMPLE=y
#
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_DA9052 is not set
CONFIG_BACKLIGHT_QCOM_WLED=m
@@ -6270,7 +6237,6 @@ CONFIG_SND_VIRTUOSO=m
# HD-Audio
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_GENERIC_LEDS=y
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDA_HWDEP=y
@@ -6407,11 +6373,6 @@ CONFIG_SND_SOC_TEGRA20_I2S=m
CONFIG_SND_SOC_TEGRA20_SPDIF=m
CONFIG_SND_SOC_TEGRA30_AHUB=m
CONFIG_SND_SOC_TEGRA30_I2S=m
# CONFIG_SND_SOC_TEGRA210_AHUB is not set
# CONFIG_SND_SOC_TEGRA210_DMIC is not set
# CONFIG_SND_SOC_TEGRA210_I2S is not set
# CONFIG_SND_SOC_TEGRA186_DSPK is not set
# CONFIG_SND_SOC_TEGRA210_ADMAIF is not set
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA_WM8753=m
CONFIG_SND_SOC_TEGRA_WM8903=m
@@ -6515,8 +6476,7 @@ CONFIG_SND_SOC_MAX98090=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9867 is not set
# CONFIG_SND_SOC_MAX98927 is not set
CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX98373_I2C=m
# CONFIG_SND_SOC_MAX98373 is not set
# CONFIG_SND_SOC_MAX98390 is not set
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
@@ -6781,8 +6741,8 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=m
@@ -7232,7 +7192,6 @@ CONFIG_MEMSTICK_REALTEK_USB=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
CONFIG_LEDS_CLASS_MULTICOLOR=m
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
#
@@ -7244,7 +7203,6 @@ CONFIG_LEDS_CLASS_MULTICOLOR=m
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_CR0014114 is not set
# CONFIG_LEDS_EL15203000 is not set
# CONFIG_LEDS_TURRIS_OMNIA is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
@@ -7310,30 +7268,13 @@ CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_LEDS_TRIGGER_PANIC=y
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=m
# CONFIG_LEDS_TRIGGER_AUDIO is not set
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
#
# Speakup console speech
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
# end of Speakup console speech
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
@@ -7529,7 +7470,6 @@ CONFIG_MX3_IPU_IRQS=4
CONFIG_PL330_DMA=y
CONFIG_PLX_DMA=m
CONFIG_TEGRA20_APB_DMA=y
CONFIG_XILINX_ZYNQMP_DPDMA=m
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_DW_DMAC is not set
@@ -7573,7 +7513,6 @@ CONFIG_UIO_NETX=m
# CONFIG_UIO_PRUSS is not set
CONFIG_UIO_MF624=m
# CONFIG_VFIO is not set
CONFIG_IRQ_BYPASS_MANAGER=m
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=m
CONFIG_VIRTIO_MENU=y
@@ -7587,8 +7526,6 @@ CONFIG_VIRTIO_MMIO=m
CONFIG_VDPA=m
# CONFIG_VDPA_SIM is not set
CONFIG_IFCVF=m
CONFIG_MLX5_VDPA=y
CONFIG_MLX5_VDPA_NET=m
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST=m
CONFIG_VHOST_MENU=y
@@ -7698,6 +7635,24 @@ CONFIG_88EU_AP_MODE=y
# end of IIO staging drivers
# CONFIG_FB_SM750 is not set
#
# Speakup console speech
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
# end of Speakup console speech
# CONFIG_MFD_NVEC is not set
# CONFIG_STAGING_MEDIA is not set
@@ -7711,13 +7666,15 @@ CONFIG_88EU_AP_MODE=y
# CONFIG_FIREWIRE_SERIAL is not set
# CONFIG_GS_FPGABOOT is not set
# CONFIG_UNISYSSPAR is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_FB_TFT is not set
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set
# CONFIG_KS7010 is not set
CONFIG_BCM_VIDEOCORE=y
# CONFIG_BCM2835_VCHIQ is not set
# CONFIG_SND_BCM2835 is not set
# CONFIG_VIDEO_BCM2835 is not set
# CONFIG_BCM2835_VCHIQ_MMAL is not set
CONFIG_PI433=m
#
@@ -7759,7 +7716,6 @@ CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
# end of Clock driver for ARM Reference designs
# CONFIG_CLK_HSDK is not set
CONFIG_COMMON_CLK_MAX77686=m
CONFIG_COMMON_CLK_MAX9485=m
CONFIG_COMMON_CLK_RK808=m
@@ -7780,7 +7736,6 @@ CONFIG_COMMON_CLK_PALMAS=m
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_BD718XX is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
CONFIG_CLK_BCM2711_DVP=y
# CONFIG_CLK_BCM2835 is not set
CONFIG_CLK_RASPBERRYPI=m
CONFIG_MXC_CLK=y
@@ -7791,13 +7746,11 @@ CONFIG_MXC_CLK=y
CONFIG_MVEBU_CLK_COMMON=y
CONFIG_MVEBU_CLK_CPU=y
CONFIG_MVEBU_CLK_COREDIV=y
CONFIG_ARMADA_AP_CP_HELPER=y
CONFIG_ARMADA_370_CLK=y
CONFIG_ARMADA_375_CLK=y
CONFIG_ARMADA_38X_CLK=y
CONFIG_ARMADA_39X_CLK=y
CONFIG_ARMADA_XP_CLK=y
CONFIG_ARMADA_AP_CPU_CLK=y
CONFIG_COMMON_CLK_SAMSUNG=y
CONFIG_EXYNOS_AUDSS_CLK_CON=y
CONFIG_CLK_SUNXI=y
@@ -7953,7 +7906,6 @@ CONFIG_EXYNOS_CHIPID=y
CONFIG_EXYNOS_PMU=y
CONFIG_EXYNOS_PMU_ARM_DRIVERS=y
CONFIG_EXYNOS_PM_DOMAINS=y
CONFIG_EXYNOS_REGULATOR_COUPLER=y
CONFIG_SUNXI_SRAM=y
# CONFIG_ARCH_TEGRA_2x_SOC is not set
# CONFIG_ARCH_TEGRA_3x_SOC is not set
@@ -8044,7 +7996,6 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_BMA220 is not set
CONFIG_BMA400=m
CONFIG_BMA400_I2C=m
CONFIG_BMA400_SPI=m
# CONFIG_BMC150_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
@@ -8166,8 +8117,6 @@ CONFIG_XILINX_XADC=m
# CONFIG_BME680 is not set
CONFIG_CCS811=m
# CONFIG_IAQCORE is not set
CONFIG_SCD30_CORE=m
CONFIG_SCD30_I2C=m
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SPS30 is not set
# CONFIG_VZ89X is not set
@@ -8309,9 +8258,6 @@ CONFIG_HID_SENSOR_GYRO_3D=m
# CONFIG_FXOS8700_I2C is not set
# CONFIG_FXOS8700_SPI is not set
# CONFIG_KMX61 is not set
CONFIG_INV_ICM42600=m
CONFIG_INV_ICM42600_I2C=m
CONFIG_INV_ICM42600_SPI=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
@@ -8598,7 +8544,6 @@ CONFIG_PHY_ROCKCHIP_USB=m
CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
# CONFIG_PHY_EXYNOS_PCIE is not set
CONFIG_PHY_SAMSUNG_UFS=m
CONFIG_PHY_SAMSUNG_USB2=m
CONFIG_PHY_EXYNOS4210_USB2=y
CONFIG_PHY_EXYNOS4X12_USB2=y
@@ -8640,7 +8585,7 @@ CONFIG_DAX=m
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
# CONFIG_NVMEM_IMX_IIM is not set
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_IMX_OCOTP is not set
CONFIG_ROCKCHIP_EFUSE=m
CONFIG_ROCKCHIP_OTP=m
CONFIG_NVMEM_SUNXI_SID=m
@@ -8674,7 +8619,6 @@ CONFIG_PM_OPP=y
CONFIG_COUNTER=m
CONFIG_TI_EQEP=m
CONFIG_FTM_QUADDEC=m
CONFIG_MICROCHIP_TCB_CAPTURE=m
# CONFIG_MOST is not set
# end of Device Drivers
@@ -8933,7 +8877,6 @@ CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_SCSILAYOUT is not set
# CONFIG_NFSD_FLEXFILELAYOUT is not set
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
@@ -9402,7 +9345,7 @@ CONFIG_LZ4_COMPRESS=m
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_ZSTD_DECOMPRESS=m
CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
@@ -9418,7 +9361,6 @@ CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC16=y
@@ -9431,7 +9373,6 @@ CONFIG_INTERVAL_TREE=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
@@ -9531,7 +9472,6 @@ CONFIG_STRIP_ASM_SYMS=y
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -9545,9 +9485,6 @@ CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_UBSAN is not set
@@ -9581,6 +9518,7 @@ CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN_STACK=1
# end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set
@@ -9652,7 +9590,6 @@ CONFIG_BUG_ON_DATA_CORRUPTION=y
#
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
@@ -9785,7 +9722,6 @@ CONFIG_TEST_STATIC_KEYS=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_STACKINIT is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage
# end of Kernel hacking
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 5.9.2 Kernel Configuration
# Linux/arm64 5.8.0-gnu Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y
@@ -158,7 +158,6 @@ CONFIG_CGROUP_BPF=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
@@ -175,7 +174,6 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -290,12 +288,10 @@ CONFIG_ARCH_BCM2835=y
CONFIG_ARCH_BITMAIN=y
# CONFIG_ARCH_BRCMSTB is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_SPARX5 is not set
# CONFIG_ARCH_K3 is not set
# CONFIG_ARCH_LAYERSCAPE is not set
# CONFIG_ARCH_LG1K is not set
CONFIG_ARCH_HISI=y
CONFIG_ARCH_KEEMBAY=y
# CONFIG_ARCH_MEDIATEK is not set
CONFIG_ARCH_MESON=y
CONFIG_ARCH_MVEBU=y
@@ -408,6 +404,7 @@ CONFIG_XEN=y
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_UNMAP_KERNEL_AT_EL0=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
CONFIG_HARDEN_EL2_VECTORS=y
CONFIG_ARM64_SSBD=y
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
# CONFIG_ARM64_SW_TTBR0_PAN is not set
@@ -567,7 +564,6 @@ CONFIG_ARM_SCMI_CPUFREQ=m
CONFIG_ARM_TEGRA20_CPUFREQ=m
CONFIG_ARM_TEGRA124_CPUFREQ=y
# CONFIG_ARM_TEGRA186_CPUFREQ is not set
CONFIG_ARM_TEGRA194_CPUFREQ=m
# end of CPU Frequency scaling
# end of CPU Power Management
@@ -619,7 +615,6 @@ CONFIG_ARM_PSCI_FW=y
# CONFIG_ARM_PSCI_CHECKER is not set
CONFIG_HAVE_ARM_SMCCC=y
CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
CONFIG_ARM_SMCCC_SOC_ID=y
#
# Tegra firmware driver
@@ -751,6 +746,7 @@ CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_CONTEXT_TRACKING=y
@@ -766,6 +762,7 @@ CONFIG_ARCH_MMAP_RND_BITS=18
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
@@ -959,6 +956,7 @@ CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
@@ -1050,8 +1048,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1141,8 +1138,8 @@ CONFIG_IPV6_SEG6_BPF=y
# CONFIG_IPV6_RPL_LWTUNNEL is not set
# CONFIG_NETLABEL is not set
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=m
CONFIG_MPTCP_IPV6=y
# CONFIG_MPTCP_HMAC_TEST is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
@@ -1565,7 +1562,6 @@ CONFIG_NET_DSA_TAG_DSA=m
CONFIG_NET_DSA_TAG_EDSA=m
CONFIG_NET_DSA_TAG_MTK=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_RTL4_A=m
CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_QCA=m
CONFIG_NET_DSA_TAG_LAN9303=m
@@ -1945,7 +1941,6 @@ CONFIG_GRO_CELLS=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
CONFIG_FAILOVER=m
CONFIG_ETHTOOL_NETLINK=y
CONFIG_HAVE_EBPF_JIT=y
#
@@ -2039,7 +2034,6 @@ CONFIG_PCIE_TEGRA194_HOST=m
# Cadence PCIe controllers support
#
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
# CONFIG_PCI_J721E_HOST is not set
# end of Cadence PCIe controllers support
# end of PCI controller drivers
@@ -2209,9 +2203,6 @@ CONFIG_MTD_SST25L=m
# CONFIG_MTD_DOCG3 is not set
# end of Self-contained MTD device drivers
#
# NAND
#
CONFIG_MTD_NAND_CORE=m
CONFIG_MTD_ONENAND=m
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
@@ -2255,7 +2246,6 @@ CONFIG_MTD_NAND_DISKONCHIP=m
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
CONFIG_MTD_SPI_NAND=m
# end of NAND
#
# LPDDR & LPDDR2 PCM memory drivers
@@ -2266,6 +2256,7 @@ CONFIG_MTD_QINFO_PROBE=m
CONFIG_MTD_SPI_NOR=m
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
# CONFIG_SPI_CADENCE_QUADSPI is not set
CONFIG_SPI_HISI_SFC=m
CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
@@ -2341,7 +2332,6 @@ CONFIG_NVME_RDMA=m
CONFIG_NVME_FC=m
CONFIG_NVME_TCP=m
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_PASSTHRU is not set
# CONFIG_NVME_TARGET_LOOP is not set
CONFIG_NVME_TARGET_RDMA=m
CONFIG_NVME_TARGET_FC=m
@@ -2508,7 +2498,6 @@ CONFIG_SCSI_UFSHCD_PCI=m
# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
# CONFIG_SCSI_UFSHCD_PLATFORM is not set
# CONFIG_SCSI_UFS_BSG is not set
CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_SCSI_HPTIOP=m
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
@@ -2676,7 +2665,7 @@ CONFIG_MD_FAULTY=m
CONFIG_BCACHE=m
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
# CONFIG_BCACHE_ASYNC_REGISTRAION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
@@ -2993,7 +2982,6 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX4_CORE_GEN2=y
CONFIG_MLX5_CORE=m
CONFIG_MLX5_ACCEL=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_EN_ARFS=y
@@ -3003,8 +2991,6 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_CLS_ACT=y
CONFIG_MLX5_CORE_EN_DCB=y
# CONFIG_MLX5_CORE_IPOIB is not set
CONFIG_MLX5_IPSEC=y
CONFIG_MLX5_EN_IPSEC=y
CONFIG_MLX5_SW_STEERING=y
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
@@ -3018,8 +3004,8 @@ CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENCX24J600 is not set
# CONFIG_LAN743X is not set
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_MSCC_OCELOT_SWITCH_LIB=m
CONFIG_MSCC_OCELOT_SWITCH=m
CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_FEALNX=m
@@ -3145,7 +3131,6 @@ CONFIG_SKFP=m
# CONFIG_NET_SB1000 is not set
CONFIG_MDIO_DEVICE=m
CONFIG_MDIO_BUS=m
CONFIG_MDIO_DEVRES=m
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_MDIO_BUS_MUX=m
@@ -3448,11 +3433,7 @@ CONFIG_MT7601U=m
# CONFIG_MT7603E is not set
# CONFIG_MT7615E is not set
# CONFIG_MT7663U is not set
# CONFIG_MT7663S is not set
# CONFIG_MT7915E is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -3788,8 +3769,6 @@ CONFIG_SERIAL_TEGRA_TCU=m
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
CONFIG_SERIAL_IMX=m
CONFIG_SERIAL_IMX_CONSOLE=m
CONFIG_SERIAL_IMX_EARLYCON=y
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
@@ -3844,7 +3823,6 @@ CONFIG_IPMI_SSIF=m
# CONFIG_IPMI_POWEROFF is not set
CONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_BA431=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_IPROC_RNG200=m
# CONFIG_HW_RANDOM_OMAP is not set
@@ -4005,7 +3983,6 @@ CONFIG_SPI_BCM2835AUX=m
CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
@@ -4053,7 +4030,6 @@ CONFIG_SPI_MUX=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
CONFIG_SPMI=y
CONFIG_SPMI_MSM_PMIC_ARB=y
# CONFIG_HSI is not set
@@ -4227,7 +4203,6 @@ CONFIG_GPIO_XLP=y
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA9570=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders
@@ -4316,7 +4291,6 @@ CONFIG_POWER_RESET=y
# CONFIG_POWER_RESET_GPIO is not set
# CONFIG_POWER_RESET_GPIO_RESTART is not set
CONFIG_POWER_RESET_HISI=y
# CONFIG_POWER_RESET_LINKSTATION is not set
CONFIG_POWER_RESET_MSM=y
CONFIG_POWER_RESET_QCOM_PON=m
# CONFIG_POWER_RESET_LTC2952 is not set
@@ -4366,7 +4340,6 @@ CONFIG_CHARGER_QCOM_SMBB=m
# CONFIG_CHARGER_BQ24190 is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
@@ -4404,7 +4377,6 @@ CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_ARM_SCMI=m
# CONFIG_SENSORS_ASPEED is not set
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_CORSAIR_CPRO=m
CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS620=m
# CONFIG_SENSORS_DS1621 is not set
@@ -4536,7 +4508,6 @@ CONFIG_SENSORS_XGENE=m
#
# CONFIG_SENSORS_ACPI_POWER is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
@@ -4552,6 +4523,7 @@ CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
CONFIG_CPU_THERMAL=y
CONFIG_CPU_FREQ_THERMAL=y
# CONFIG_CLOCK_THERMAL is not set
# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_MMIO is not set
@@ -4589,7 +4561,6 @@ CONFIG_QCOM_TSENS=m
CONFIG_QCOM_SPMI_TEMP_ALARM=m
# end of Qualcomm thermal drivers
CONFIG_KHADAS_MCU_FAN_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -4748,6 +4719,7 @@ CONFIG_MFD_RK808=m
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SUN6I_PRCM=y
@@ -4791,7 +4763,6 @@ CONFIG_MFD_ROHM_BD70528=m
CONFIG_MFD_ROHM_BD71828=m
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
CONFIG_MFD_KHADAS_MCU=m
CONFIG_MFD_VEXPRESS_SYSREG=y
# CONFIG_RAVE_SP_CORE is not set
# end of Multifunction device drivers
@@ -4811,11 +4782,9 @@ CONFIG_REGULATOR_AXP20X=m
CONFIG_REGULATOR_BD70528=m
CONFIG_REGULATOR_BD71828=m
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_CROS_EC=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
CONFIG_REGULATOR_FAN53555=m
CONFIG_REGULATOR_FAN53880=m
CONFIG_REGULATOR_GPIO=m
CONFIG_REGULATOR_HI655X=m
# CONFIG_REGULATOR_ISL9305 is not set
@@ -4839,7 +4808,6 @@ CONFIG_REGULATOR_MP8859=m
CONFIG_REGULATOR_MP886X=m
CONFIG_REGULATOR_MPQ7920=m
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PCA9450=m
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
@@ -4848,13 +4816,11 @@ CONFIG_REGULATOR_PWM=m
CONFIG_REGULATOR_QCOM_RPM=m
CONFIG_REGULATOR_QCOM_SMD_RPM=m
CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_REGULATOR_QCOM_USB_VBUS=m
CONFIG_REGULATOR_RK808=m
CONFIG_REGULATOR_ROHM=m
CONFIG_REGULATOR_SLG51000=m
CONFIG_REGULATOR_SY8106A=m
CONFIG_REGULATOR_SY8824X=m
CONFIG_REGULATOR_SY8827N=m
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS65023 is not set
@@ -4864,7 +4830,6 @@ CONFIG_REGULATOR_SY8827N=m
# CONFIG_REGULATOR_VCTRL is not set
# CONFIG_REGULATOR_VEXPRESS is not set
# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR_QCOM_LABIBB=m
CONFIG_RC_CORE=m
CONFIG_RC_MAP=m
CONFIG_LIRC=y
@@ -4905,12 +4870,10 @@ CONFIG_RC_LOOPBACK=m
# CONFIG_IR_SERIAL is not set
# CONFIG_IR_SIR is not set
CONFIG_RC_XBOX_DVD=m
CONFIG_IR_TOY=m
CONFIG_CEC_CORE=m
CONFIG_CEC_NOTIFIER=y
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
CONFIG_CEC_CH7322=m
CONFIG_CEC_CROS_EC=m
CONFIG_CEC_MESON_AO=m
CONFIG_CEC_MESON_G12A_AO=m
@@ -5361,7 +5324,6 @@ CONFIG_VIDEO_TW9903=m
CONFIG_VIDEO_TW9906=m
CONFIG_VIDEO_TW9910=m
CONFIG_VIDEO_VPX3220=m
CONFIG_VIDEO_MAX9286=m
#
# Video and audio decoders
@@ -5459,7 +5421,6 @@ CONFIG_VIDEO_MT9V111=m
CONFIG_VIDEO_SR030PC30=m
CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_M5MOLS=m
CONFIG_VIDEO_RDACM20=m
CONFIG_VIDEO_RJ54N1=m
CONFIG_VIDEO_S5K6AA=m
CONFIG_VIDEO_S5K6A3=m
@@ -5476,7 +5437,6 @@ CONFIG_VIDEO_S5C73M3=m
CONFIG_VIDEO_AD5820=m
CONFIG_VIDEO_AK7375=m
CONFIG_VIDEO_DW9714=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
# end of Lens drivers
@@ -5792,7 +5752,6 @@ CONFIG_NOUVEAU_PLATFORM_DRIVER=y
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
# CONFIG_NOUVEAU_DEBUG_MMU is not set
# CONFIG_NOUVEAU_DEBUG_PUSH is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_VGEM=m
# CONFIG_DRM_VKMS is not set
@@ -5855,6 +5814,7 @@ CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
@@ -5867,7 +5827,6 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
CONFIG_DRM_PANEL_SONY_ACX424AKP=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -6039,6 +5998,7 @@ CONFIG_LCD_LMS501KF03=m
CONFIG_LCD_HX8357=m
CONFIG_LCD_OTM3225A=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PWM=m
CONFIG_BACKLIGHT_QCOM_WLED=m
# CONFIG_BACKLIGHT_ADP8860 is not set
@@ -6197,7 +6157,6 @@ CONFIG_SND_VIRTUOSO=m
# HD-Audio
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDA_HWDEP=y
@@ -6219,7 +6178,6 @@ CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y
# end of HD-Audio
CONFIG_SND_HDA_CORE=m
@@ -6296,7 +6254,6 @@ CONFIG_SND_SOC_IMX_AUDMIX=m
CONFIG_SND_I2S_HI6210_I2S=m
# CONFIG_SND_KIRKWOOD_SOC is not set
# CONFIG_SND_SOC_IMG is not set
CONFIG_SND_SOC_INTEL_KEEMBAY=m
# CONFIG_SND_SOC_MTK_BTCVSD is not set
#
@@ -6361,11 +6318,6 @@ CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA20_SPDIF=m
# CONFIG_SND_SOC_TEGRA30_AHUB is not set
# CONFIG_SND_SOC_TEGRA30_I2S is not set
# CONFIG_SND_SOC_TEGRA210_AHUB is not set
# CONFIG_SND_SOC_TEGRA210_DMIC is not set
# CONFIG_SND_SOC_TEGRA210_I2S is not set
# CONFIG_SND_SOC_TEGRA186_DSPK is not set
# CONFIG_SND_SOC_TEGRA210_ADMAIF is not set
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA_WM8753=m
CONFIG_SND_SOC_TEGRA_WM8903=m
@@ -6443,8 +6395,7 @@ CONFIG_SND_SOC_MAX98090=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9867 is not set
CONFIG_SND_SOC_MAX98927=m
CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX98373_I2C=m
# CONFIG_SND_SOC_MAX98373 is not set
# CONFIG_SND_SOC_MAX98390 is not set
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
@@ -6536,7 +6487,6 @@ CONFIG_SND_SOC_WM8904=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# end of CODEC drivers
CONFIG_SND_SIMPLE_CARD_UTILS=m
# CONFIG_SND_SIMPLE_CARD is not set
# CONFIG_SND_AUDIO_GRAPH_CARD is not set
CONFIG_SND_SYNTH_EMUX=m
@@ -6706,8 +6656,8 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=m
@@ -7152,7 +7102,6 @@ CONFIG_MEMSTICK_REALTEK_USB=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
CONFIG_LEDS_CLASS_MULTICOLOR=m
CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
#
@@ -7172,7 +7121,6 @@ CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP3952 is not set
CONFIG_LEDS_LP55XX_COMMON=m
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_LP5562 is not set
@@ -7229,27 +7177,10 @@ CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGER_AUDIO=m
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
#
# Speakup console speech
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
# end of Speakup console speech
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
@@ -7450,7 +7381,6 @@ CONFIG_TEGRA210_ADMA=y
CONFIG_XGENE_DMA=m
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_ZYNQMP_DMA is not set
CONFIG_XILINX_ZYNQMP_DPDMA=m
CONFIG_QCOM_BAM_DMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_HIDMA=m
@@ -7513,8 +7443,6 @@ CONFIG_VIRTIO_MMIO=m
CONFIG_VDPA=m
# CONFIG_VDPA_SIM is not set
CONFIG_IFCVF=m
CONFIG_MLX5_VDPA=y
CONFIG_MLX5_VDPA_NET=m
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST=m
CONFIG_VHOST_MENU=y
@@ -7624,6 +7552,24 @@ CONFIG_88EU_AP_MODE=y
# end of IIO staging drivers
# CONFIG_FB_SM750 is not set
#
# Speakup console speech
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
# end of Speakup console speech
# CONFIG_MFD_NVEC is not set
# CONFIG_STAGING_MEDIA is not set
@@ -7637,13 +7583,15 @@ CONFIG_88EU_AP_MODE=y
# CONFIG_FIREWIRE_SERIAL is not set
# CONFIG_GS_FPGABOOT is not set
# CONFIG_UNISYSSPAR is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_FB_TFT is not set
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set
# CONFIG_KS7010 is not set
CONFIG_BCM_VIDEOCORE=y
# CONFIG_BCM2835_VCHIQ is not set
# CONFIG_SND_BCM2835 is not set
# CONFIG_VIDEO_BCM2835 is not set
# CONFIG_BCM2835_VCHIQ_MMAL is not set
# CONFIG_PI433 is not set
#
@@ -7689,7 +7637,6 @@ CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
# end of Clock driver for ARM Reference designs
# CONFIG_CLK_HSDK is not set
# CONFIG_COMMON_CLK_MAX77686 is not set
CONFIG_COMMON_CLK_MAX9485=m
CONFIG_COMMON_CLK_RK808=m
@@ -7710,7 +7657,6 @@ CONFIG_COMMON_CLK_XGENE=y
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_BD718XX is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
CONFIG_CLK_BCM2711_DVP=y
# CONFIG_CLK_BCM2835 is not set
CONFIG_CLK_RASPBERRYPI=m
CONFIG_COMMON_CLK_HI3516CV300=y
@@ -7752,13 +7698,10 @@ CONFIG_QCOM_RPMCC=y
CONFIG_COMMON_CLK_QCOM=y
CONFIG_QCOM_A53PLL=y
CONFIG_QCOM_CLK_APCS_MSM8916=m
CONFIG_QCOM_CLK_APCC_MSM8996=m
CONFIG_QCOM_CLK_RPM=m
CONFIG_QCOM_CLK_SMD_RPM=m
# CONFIG_APQ_GCC_8084 is not set
# CONFIG_APQ_MMCC_8084 is not set
# CONFIG_IPQ_APSS_PLL is not set
# CONFIG_IPQ_APSS_6018 is not set
# CONFIG_IPQ_GCC_4019 is not set
# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
@@ -7782,8 +7725,7 @@ CONFIG_MSM_MMCC_8996=y
# CONFIG_MSM_MMCC_8998 is not set
# CONFIG_QCS_GCC_404 is not set
# CONFIG_SC_DISPCC_7180 is not set
CONFIG_SC_GCC_7180=m
CONFIG_SC_LPASS_CORECC_7180=m
# CONFIG_SC_GCC_7180 is not set
# CONFIG_SC_GPUCC_7180 is not set
# CONFIG_SC_MSS_7180 is not set
# CONFIG_SC_VIDEOCC_7180 is not set
@@ -7798,8 +7740,6 @@ CONFIG_SDM_DISPCC_845=m
CONFIG_SDM_LPASSCC_845=m
# CONFIG_SM_GCC_8150 is not set
# CONFIG_SM_GCC_8250 is not set
# CONFIG_SM_GPUCC_8150 is not set
# CONFIG_SM_GPUCC_8250 is not set
# CONFIG_SPMI_PMIC_CLKDIV is not set
# CONFIG_QCOM_HFPLL is not set
# CONFIG_KPSS_XCC is not set
@@ -7945,6 +7885,7 @@ CONFIG_FSL_RCPM=y
# i.MX SoC drivers
#
CONFIG_IMX_GPCV2_PM_DOMAINS=y
# CONFIG_IMX_SCU_SOC is not set
CONFIG_SOC_IMX8M=y
# end of i.MX SoC drivers
@@ -7956,7 +7897,6 @@ CONFIG_QCOM_COMMAND_DB=y
CONFIG_QCOM_GENI_SE=m
CONFIG_QCOM_GSBI=m
CONFIG_QCOM_LLCC=m
CONFIG_QCOM_KRYO_L2_ACCESSORS=y
CONFIG_QCOM_MDT_LOADER=m
# CONFIG_QCOM_OCMEM is not set
CONFIG_QCOM_PDR_HELPERS=m
@@ -8026,8 +7966,6 @@ CONFIG_EXTCON_USB_GPIO=m
CONFIG_MEMORY=y
# CONFIG_ARM_PL172_MPMC is not set
CONFIG_TEGRA_MC=y
CONFIG_TEGRA210_EMC_TABLE=y
CONFIG_TEGRA210_EMC=m
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
# CONFIG_IIO_BUFFER_CB is not set
@@ -8053,7 +7991,6 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_BMA220 is not set
CONFIG_BMA400=m
CONFIG_BMA400_I2C=m
CONFIG_BMA400_SPI=m
# CONFIG_BMC150_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
@@ -8173,9 +8110,6 @@ CONFIG_XILINX_XADC=m
# CONFIG_CCS811 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
CONFIG_SCD30_CORE=m
CONFIG_SCD30_I2C=m
CONFIG_SCD30_SERIAL=m
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SPS30 is not set
# CONFIG_VZ89X is not set
@@ -8313,9 +8247,6 @@ CONFIG_DHT11=m
# CONFIG_FXOS8700_I2C is not set
# CONFIG_FXOS8700_SPI is not set
# CONFIG_KMX61 is not set
CONFIG_INV_ICM42600=m
CONFIG_INV_ICM42600_I2C=m
CONFIG_INV_ICM42600_SPI=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
@@ -8612,12 +8543,13 @@ CONFIG_PHY_QCOM_IPQ806X_SATA=m
CONFIG_PHY_QCOM_PCIE2=m
CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_UFS=m
CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS_28NM=m
CONFIG_PHY_QCOM_USB_SS=m
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
# CONFIG_PHY_ROCKCHIP_DP is not set
CONFIG_PHY_ROCKCHIP_EMMC=m
# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set
@@ -8871,7 +8803,6 @@ CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_MEMFD_CREATE=y
@@ -9006,7 +8937,6 @@ CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_SCSILAYOUT is not set
# CONFIG_NFSD_FLEXFILELAYOUT is not set
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
@@ -9489,7 +9419,7 @@ CONFIG_LZ4_COMPRESS=m
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_ZSTD_DECOMPRESS=m
CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
@@ -9504,7 +9434,6 @@ CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_ENC8=y
@@ -9522,7 +9451,6 @@ CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
@@ -9568,7 +9496,6 @@ CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
@@ -9628,7 +9555,6 @@ CONFIG_STRIP_ASM_SYMS=y
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -9642,9 +9568,6 @@ CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
@@ -9688,6 +9611,7 @@ CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
# CONFIG_KASAN is not set
CONFIG_KASAN_STACK=1
# end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set
@@ -9760,7 +9684,6 @@ CONFIG_BUG_ON_DATA_CORRUPTION=y
#
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
@@ -9889,7 +9812,6 @@ CONFIG_TEST_STATIC_KEYS=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_STACKINIT is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage
# end of Kernel hacking
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 5.9.2 Kernel Configuration
# Linux/i386 5.8.0-gnu Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y
@@ -27,14 +27,12 @@ CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
@@ -78,8 +76,6 @@ CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
#
# Timers subsystem
@@ -101,6 +97,7 @@ CONFIG_PREEMPT_VOLUNTARY=y
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
@@ -183,7 +180,6 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -311,10 +307,14 @@ CONFIG_X86_32_IRIS=m
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_XXL=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
CONFIG_XEN=y
CONFIG_XEN_PV=y
CONFIG_XEN_PV_SMP=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVHVM_SMP=y
CONFIG_XEN_SAVE_RESTORE=y
@@ -511,6 +511,7 @@ CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=m
@@ -719,7 +720,6 @@ CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_WERROR=y
@@ -737,7 +737,6 @@ CONFIG_AS_TPAUSE=y
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HOTPLUG_SMT=y
CONFIG_GENERIC_ENTRY=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
@@ -791,6 +790,7 @@ CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
@@ -805,6 +805,7 @@ CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=8
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_ISA_BUS_API=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
@@ -946,6 +947,7 @@ CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_MEMORY_ISOLATION=y
@@ -1033,8 +1035,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1126,8 +1127,8 @@ CONFIG_IPV6_PIMSM_V2=y
# CONFIG_IPV6_RPL_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=m
CONFIG_MPTCP_IPV6=y
# CONFIG_MPTCP_HMAC_TEST is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
@@ -1555,7 +1556,6 @@ CONFIG_NET_DSA_TAG_DSA=m
CONFIG_NET_DSA_TAG_EDSA=m
CONFIG_NET_DSA_TAG_MTK=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_RTL4_A=m
CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_QCA=m
CONFIG_NET_DSA_TAG_LAN9303=m
@@ -2297,9 +2297,6 @@ CONFIG_BCH_CONST_M=14
CONFIG_BCH_CONST_T=4
# end of Self-contained MTD device drivers
#
# NAND
#
CONFIG_MTD_NAND_CORE=m
CONFIG_MTD_ONENAND=m
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
@@ -2334,7 +2331,6 @@ CONFIG_MTD_NAND_DISKONCHIP=m
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
CONFIG_MTD_SPI_NAND=m
# end of NAND
#
# LPDDR & LPDDR2 PCM memory drivers
@@ -2450,7 +2446,6 @@ CONFIG_NVME_RDMA=m
CONFIG_NVME_FC=m
CONFIG_NVME_TCP=m
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_RDMA=m
CONFIG_NVME_TARGET_FC=m
@@ -2633,7 +2628,6 @@ CONFIG_SCSI_UFSHCD_PLATFORM=m
CONFIG_SCSI_UFS_CDNS_PLATFORM=m
# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
# CONFIG_SCSI_UFS_BSG is not set
CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_FLASHPOINT=y
@@ -2826,7 +2820,7 @@ CONFIG_MD_CLUSTER=m
CONFIG_BCACHE=m
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
# CONFIG_BCACHE_ASYNC_REGISTRAION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
@@ -3175,7 +3169,6 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX4_CORE_GEN2=y
CONFIG_MLX5_CORE=m
CONFIG_MLX5_ACCEL=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_EN_ARFS=y
@@ -3185,8 +3178,6 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_CLS_ACT=y
CONFIG_MLX5_CORE_EN_DCB=y
# CONFIG_MLX5_CORE_IPOIB is not set
CONFIG_MLX5_IPSEC=y
CONFIG_MLX5_EN_IPSEC=y
CONFIG_MLX5_SW_STEERING=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_HWMON=y
@@ -3210,6 +3201,7 @@ CONFIG_ENC28J60=m
CONFIG_ENCX24J600=m
CONFIG_LAN743X=m
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_MSCC_OCELOT_SWITCH=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_FEALNX=m
@@ -3341,7 +3333,6 @@ CONFIG_SKFP=m
CONFIG_NET_SB1000=m
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVRES=y
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_GPIO=m
@@ -3653,13 +3644,7 @@ CONFIG_MT7601U=m
# CONFIG_MT7603E is not set
# CONFIG_MT7615E is not set
# CONFIG_MT7663U is not set
# CONFIG_MT7663S is not set
# CONFIG_MT7915E is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
CONFIG_WILC1000=m
CONFIG_WILC1000_SDIO=m
CONFIG_WILC1000_SPI=m
# CONFIG_WILC1000_HW_OOB_INTR is not set
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -4285,7 +4270,6 @@ CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_BA431=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
@@ -4472,7 +4456,6 @@ CONFIG_SPI_DLN2=m
CONFIG_SPI_NXP_FLEXSPI=m
CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
CONFIG_SPI_LANTIQ_SSC=m
CONFIG_SPI_OC_TINY=m
CONFIG_SPI_PXA2XX=m
CONFIG_SPI_PXA2XX_PCI=m
@@ -4498,7 +4481,6 @@ CONFIG_SPI_SPIDEV=m
# CONFIG_SPI_LOOPBACK_TEST is not set
CONFIG_SPI_TLE62X0=m
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
CONFIG_SPMI=m
CONFIG_HSI=m
CONFIG_HSI_BOARDINFO=y
@@ -4560,7 +4542,6 @@ CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_EMMITSBURG=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
CONFIG_PINCTRL_JASPERLAKE=m
@@ -4612,7 +4593,6 @@ CONFIG_GPIO_MAX7300=m
CONFIG_GPIO_MAX732X=m
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA9570=m
CONFIG_GPIO_PCF857X=m
CONFIG_GPIO_TPIC2810=m
# end of I2C GPIO expanders
@@ -4780,7 +4760,6 @@ CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
CONFIG_CHARGER_BQ24257=m
CONFIG_CHARGER_BQ24735=m
CONFIG_CHARGER_BQ2515X=m
CONFIG_CHARGER_BQ25890=m
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
@@ -4827,7 +4806,6 @@ CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_CORSAIR_CPRO=m
CONFIG_SENSORS_DRIVETEMP=y
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
@@ -4993,7 +4971,6 @@ CONFIG_SENSORS_XGENE=m
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
@@ -5005,6 +4982,7 @@ CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_CLOCK_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
CONFIG_THERMAL_EMULATION=y
@@ -5230,6 +5208,7 @@ CONFIG_MFD_SI476X_CORE=m
CONFIG_MFD_SM501=m
CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SKY81452=m
CONFIG_MFD_SMSC=y
CONFIG_ABX500_CORE=y
CONFIG_AB3100_CORE=y
CONFIG_AB3100_OTP=m
@@ -5335,7 +5314,6 @@ CONFIG_REGULATOR_MT6323=m
CONFIG_REGULATOR_MT6358=m
CONFIG_REGULATOR_MT6397=m
CONFIG_REGULATOR_PALMAS=m
CONFIG_REGULATOR_PCA9450=m
CONFIG_REGULATOR_PCAP=m
CONFIG_REGULATOR_PCF50633=m
CONFIG_REGULATOR_PFUZE100=m
@@ -5344,7 +5322,6 @@ CONFIG_REGULATOR_PV88080=m
CONFIG_REGULATOR_PV88090=m
CONFIG_REGULATOR_PWM=m
CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_REGULATOR_QCOM_USB_VBUS=m
CONFIG_REGULATOR_RC5T583=m
CONFIG_REGULATOR_RT5033=m
CONFIG_REGULATOR_S2MPA01=m
@@ -5370,7 +5347,6 @@ CONFIG_REGULATOR_WM831X=m
CONFIG_REGULATOR_WM8350=m
CONFIG_REGULATOR_WM8400=m
CONFIG_REGULATOR_WM8994=m
CONFIG_REGULATOR_QCOM_LABIBB=m
CONFIG_RC_CORE=m
CONFIG_RC_MAP=m
CONFIG_LIRC=y
@@ -5406,12 +5382,10 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SIR=m
CONFIG_RC_XBOX_DVD=m
CONFIG_IR_TOY=m
CONFIG_CEC_CORE=m
CONFIG_CEC_NOTIFIER=y
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
CONFIG_CEC_CH7322=m
CONFIG_CEC_CROS_EC=m
CONFIG_CEC_SECO=m
CONFIG_CEC_SECO_RC=y
@@ -5974,7 +5948,6 @@ CONFIG_VIDEO_MT9V111=m
CONFIG_VIDEO_SR030PC30=m
CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_M5MOLS=m
CONFIG_VIDEO_RDACM20=m
CONFIG_VIDEO_RJ54N1=m
CONFIG_VIDEO_S5K6AA=m
CONFIG_VIDEO_S5K6A3=m
@@ -5991,7 +5964,6 @@ CONFIG_VIDEO_S5C73M3=m
CONFIG_VIDEO_AD5820=m
CONFIG_VIDEO_AK7375=m
CONFIG_VIDEO_DW9714=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
# end of Lens drivers
@@ -6303,7 +6275,6 @@ CONFIG_DRM_AMDGPU_USERPTR=y
#
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMD_DC_DCN=y
CONFIG_DRM_AMD_DC_DCN3_0=y
# CONFIG_DRM_AMD_DC_HDCP is not set
# CONFIG_DEBUG_KERNEL_DC is not set
# end of Display Engine Configuration
@@ -6313,7 +6284,6 @@ CONFIG_DRM_NOUVEAU=m
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
# CONFIG_NOUVEAU_DEBUG_MMU is not set
# CONFIG_NOUVEAU_DEBUG_PUSH is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I915=m
CONFIG_DRM_I915_FORCE_PROBE=""
@@ -6529,6 +6499,7 @@ CONFIG_LCD_LMS501KF03=m
CONFIG_LCD_HX8357=m
CONFIG_LCD_OTM3225A=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_LM3533=m
CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_PWM=m
@@ -6567,6 +6538,7 @@ CONFIG_HDMI=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_MDA_CONSOLE=m
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
@@ -6744,7 +6716,6 @@ CONFIG_SND_YMFPCI=m
# HD-Audio
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
@@ -6765,7 +6736,6 @@ CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y
# end of HD-Audio
CONFIG_SND_HDA_CORE=m
@@ -7034,7 +7004,6 @@ CONFIG_SND_SOC_MAX98504=m
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX98373_I2C=m
CONFIG_SND_SOC_MAX98390=m
CONFIG_SND_SOC_MAX9860=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
@@ -7326,8 +7295,8 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=m
@@ -7762,7 +7731,6 @@ CONFIG_MEMSTICK_REALTEK_USB=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS_MULTICOLOR=m
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
#
@@ -7784,6 +7752,11 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
CONFIG_LEDS_LP55XX_COMMON=m
CONFIG_LEDS_LP5521=m
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_LP5562=m
CONFIG_LEDS_LP8501=m
CONFIG_LEDS_LP8788=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
@@ -7848,6 +7821,7 @@ CONFIG_LEDS_TRIGGER_AUDIO=m
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
@@ -8052,7 +8026,6 @@ CONFIG_INTEL_IDMA64=m
CONFIG_PCH_DMA=m
CONFIG_PLX_DMA=m
CONFIG_TIMB_DMA=m
CONFIG_XILINX_ZYNQMP_DPDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_HIDMA=m
CONFIG_DW_DMAC_CORE=m
@@ -8135,8 +8108,6 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VDPA=m
# CONFIG_VDPA_SIM is not set
CONFIG_IFCVF=m
CONFIG_MLX5_VDPA=y
CONFIG_MLX5_VDPA_NET=m
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST_RING=m
CONFIG_VHOST=m
@@ -8176,8 +8147,13 @@ CONFIG_XEN_PVCALLS_FRONTEND=m
# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_MCE_LOG=y
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
CONFIG_XEN_SYMS=y
CONFIG_XEN_HAVE_VPMU=y
CONFIG_XEN_FRONT_PGDIR_SHBUF=m
# end of Xen driver support
@@ -8399,9 +8375,35 @@ CONFIG_AD2S1210=m
# end of IIO staging drivers
CONFIG_FB_SM750=m
#
# Speakup console speech
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_ACNTPC=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_DECPC=m
CONFIG_SPEAKUP_SYNTH_DTLK=m
CONFIG_SPEAKUP_SYNTH_KEYPC=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
# end of Speakup console speech
CONFIG_STAGING_MEDIA=y
CONFIG_INTEL_ATOMISP=y
CONFIG_VIDEO_IPU3_IMGU=m
#
# soc_camera sensor drivers
#
CONFIG_VIDEO_USBVISION=m
#
@@ -8448,12 +8450,17 @@ CONFIG_FB_TFT_UC1611=m
CONFIG_FB_TFT_UC1701=m
CONFIG_FB_TFT_UPD161704=m
CONFIG_FB_TFT_WATTEROTT=m
CONFIG_WILC1000=m
CONFIG_WILC1000_SDIO=m
CONFIG_WILC1000_SPI=m
# CONFIG_WILC1000_HW_OOB_INTR is not set
CONFIG_MOST_COMPONENTS=m
CONFIG_MOST_CDEV=m
CONFIG_MOST_NET=m
CONFIG_MOST_SOUND=m
CONFIG_MOST_VIDEO=m
CONFIG_MOST_I2C=m
CONFIG_MOST_USB=m
CONFIG_KS7010=m
# CONFIG_PI433 is not set
@@ -8516,7 +8523,6 @@ CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_INTEL_ATOMISP2_LED=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_INT0002_VGPIO=m
@@ -8763,7 +8769,6 @@ CONFIG_ADXL372_I2C=m
CONFIG_BMA220=m
CONFIG_BMA400=m
CONFIG_BMA400_I2C=m
CONFIG_BMA400_SPI=m
CONFIG_BMC150_ACCEL=m
CONFIG_BMC150_ACCEL_I2C=m
CONFIG_BMC150_ACCEL_SPI=m
@@ -8893,9 +8898,6 @@ CONFIG_BME680_SPI=m
CONFIG_CCS811=m
CONFIG_IAQCORE=m
CONFIG_PMS7003=m
CONFIG_SCD30_CORE=m
CONFIG_SCD30_I2C=m
CONFIG_SCD30_SERIAL=m
CONFIG_SENSIRION_SGP30=m
CONFIG_SPS30=m
CONFIG_VZ89X=m
@@ -9055,9 +9057,6 @@ CONFIG_FXOS8700=m
CONFIG_FXOS8700_I2C=m
CONFIG_FXOS8700_SPI=m
CONFIG_KMX61=m
CONFIG_INV_ICM42600=m
CONFIG_INV_ICM42600_I2C=m
CONFIG_INV_ICM42600_SPI=m
CONFIG_INV_MPU6050_IIO=m
CONFIG_INV_MPU6050_I2C=m
CONFIG_INV_MPU6050_SPI=m
@@ -9438,7 +9437,6 @@ CONFIG_PM_OPP=y
# CONFIG_INTERCONNECT is not set
CONFIG_COUNTER=m
CONFIG_MOST=m
CONFIG_MOST_USB_HDM=m
# end of Device Drivers
#
@@ -9723,7 +9721,6 @@ CONFIG_NFSD_V4=y
# CONFIG_NFSD_BLOCKLAYOUT is not set
# CONFIG_NFSD_SCSILAYOUT is not set
# CONFIG_NFSD_FLEXFILELAYOUT is not set
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
@@ -10214,7 +10211,7 @@ CONFIG_LZ4_COMPRESS=m
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_ZSTD_DECOMPRESS=m
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
@@ -10230,7 +10227,6 @@ CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_ENC8=y
@@ -10249,7 +10245,6 @@ CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
@@ -10309,8 +10304,6 @@ CONFIG_OBJAGG=m
# CONFIG_STRING_SELFTEST is not set
# end of Library routines
CONFIG_PLDMFW=y
#
# Kernel hacking
#
@@ -10341,7 +10334,6 @@ CONFIG_FRAME_WARN=1024
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options
@@ -10354,9 +10346,6 @@ CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
@@ -10404,6 +10393,7 @@ CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN_STACK=1
# end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set
@@ -10480,7 +10470,6 @@ CONFIG_STACKTRACE=y
CONFIG_TORTURE_TEST=m
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
@@ -10559,7 +10548,6 @@ CONFIG_IO_STRICT_DEVMEM=y
# x86 Debugging
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_EARLY_PRINTK_USB=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
@@ -10637,8 +10625,6 @@ CONFIG_TEST_STATIC_KEYS=m
CONFIG_TEST_OBJAGG=m
# CONFIG_TEST_STACKINIT is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_FPU is not set
CONFIG_MEMTEST=y
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 5.9.2 Kernel Configuration
# Linux/x86 5.8.0-gnu Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0"
CONFIG_CC_IS_GCC=y
@@ -29,14 +29,12 @@ CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
@@ -81,8 +79,6 @@ CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
#
# Timers subsystem
@@ -106,6 +102,7 @@ CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
@@ -193,7 +190,6 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -525,6 +521,7 @@ CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=m
@@ -716,7 +713,6 @@ CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_WERROR=y
@@ -735,7 +731,6 @@ CONFIG_AS_TPAUSE=y
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HOTPLUG_SMT=y
CONFIG_GENERIC_ENTRY=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
@@ -789,6 +784,7 @@ CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
@@ -810,6 +806,7 @@ CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_ISA_BUS_API=y
@@ -956,6 +953,7 @@ CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
@@ -1063,8 +1061,7 @@ CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -1156,8 +1153,8 @@ CONFIG_IPV6_PIMSM_V2=y
# CONFIG_IPV6_RPL_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=m
CONFIG_MPTCP_IPV6=y
# CONFIG_MPTCP_HMAC_TEST is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
@@ -1585,7 +1582,6 @@ CONFIG_NET_DSA_TAG_DSA=m
CONFIG_NET_DSA_TAG_EDSA=m
CONFIG_NET_DSA_TAG_MTK=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_RTL4_A=m
CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_QCA=m
CONFIG_NET_DSA_TAG_LAN9303=m
@@ -2315,9 +2311,6 @@ CONFIG_BCH_CONST_M=14
CONFIG_BCH_CONST_T=4
# end of Self-contained MTD device drivers
#
# NAND
#
CONFIG_MTD_NAND_CORE=m
CONFIG_MTD_ONENAND=m
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
@@ -2351,7 +2344,6 @@ CONFIG_MTD_NAND_DISKONCHIP=m
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
CONFIG_MTD_SPI_NAND=m
# end of NAND
#
# LPDDR & LPDDR2 PCM memory drivers
@@ -2464,7 +2456,6 @@ CONFIG_NVME_RDMA=m
CONFIG_NVME_FC=m
CONFIG_NVME_TCP=m
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_RDMA=m
CONFIG_NVME_TARGET_FC=m
@@ -2651,7 +2642,6 @@ CONFIG_SCSI_UFSHCD_PLATFORM=m
CONFIG_SCSI_UFS_CDNS_PLATFORM=m
# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
# CONFIG_SCSI_UFS_BSG is not set
CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_FLASHPOINT=y
@@ -2831,7 +2821,7 @@ CONFIG_MD_CLUSTER=m
CONFIG_BCACHE=m
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
# CONFIG_BCACHE_ASYNC_REGISTRAION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
@@ -3182,7 +3172,6 @@ CONFIG_MLX4_CORE=m
CONFIG_MLX4_DEBUG=y
CONFIG_MLX4_CORE_GEN2=y
CONFIG_MLX5_CORE=m
CONFIG_MLX5_ACCEL=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_EN_ARFS=y
@@ -3192,8 +3181,6 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_CLS_ACT=y
CONFIG_MLX5_CORE_EN_DCB=y
# CONFIG_MLX5_CORE_IPOIB is not set
CONFIG_MLX5_IPSEC=y
CONFIG_MLX5_EN_IPSEC=y
CONFIG_MLX5_SW_STEERING=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_HWMON=y
@@ -3217,6 +3204,7 @@ CONFIG_ENC28J60=m
CONFIG_ENCX24J600=m
CONFIG_LAN743X=m
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_MSCC_OCELOT_SWITCH=m
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=m
CONFIG_MYRI10GE_DCA=y
@@ -3346,7 +3334,6 @@ CONFIG_SKFP=m
CONFIG_NET_SB1000=m
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVRES=y
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_CAVIUM=m
@@ -3660,13 +3647,7 @@ CONFIG_MT7601U=m
# CONFIG_MT7603E is not set
# CONFIG_MT7615E is not set
# CONFIG_MT7663U is not set
# CONFIG_MT7663S is not set
# CONFIG_MT7915E is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
CONFIG_WILC1000=m
CONFIG_WILC1000_SDIO=m
CONFIG_WILC1000_SPI=m
# CONFIG_WILC1000_HW_OOB_INTR is not set
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -4274,7 +4255,6 @@ CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_BA431=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_APPLICOM=m
@@ -4453,7 +4433,6 @@ CONFIG_SPI_DLN2=m
CONFIG_SPI_NXP_FLEXSPI=m
CONFIG_SPI_GPIO=m
CONFIG_SPI_LM70_LLP=m
CONFIG_SPI_LANTIQ_SSC=m
CONFIG_SPI_OC_TINY=m
CONFIG_SPI_PXA2XX=m
CONFIG_SPI_PXA2XX_PCI=m
@@ -4478,7 +4457,6 @@ CONFIG_SPI_SPIDEV=m
# CONFIG_SPI_LOOPBACK_TEST is not set
CONFIG_SPI_TLE62X0=m
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
CONFIG_SPMI=m
CONFIG_HSI=m
CONFIG_HSI_BOARDINFO=y
@@ -4539,7 +4517,6 @@ CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_EMMITSBURG=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
CONFIG_PINCTRL_JASPERLAKE=m
@@ -4590,7 +4567,6 @@ CONFIG_GPIO_MAX7300=m
CONFIG_GPIO_MAX732X=m
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA9570=m
CONFIG_GPIO_PCF857X=m
CONFIG_GPIO_TPIC2810=m
# end of I2C GPIO expanders
@@ -4755,7 +4731,6 @@ CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
CONFIG_CHARGER_BQ24257=m
CONFIG_CHARGER_BQ24735=m
CONFIG_CHARGER_BQ2515X=m
CONFIG_CHARGER_BQ25890=m
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
@@ -4802,7 +4777,6 @@ CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_CORSAIR_CPRO=m
CONFIG_SENSORS_DRIVETEMP=y
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
@@ -4968,7 +4942,6 @@ CONFIG_SENSORS_XGENE=m
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
@@ -4980,6 +4953,7 @@ CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_CLOCK_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
CONFIG_THERMAL_EMULATION=y
@@ -5193,6 +5167,7 @@ CONFIG_MFD_SI476X_CORE=m
CONFIG_MFD_SM501=m
CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SKY81452=m
CONFIG_MFD_SMSC=y
CONFIG_ABX500_CORE=y
CONFIG_AB3100_CORE=y
CONFIG_AB3100_OTP=m
@@ -5296,7 +5271,6 @@ CONFIG_REGULATOR_MT6323=m
CONFIG_REGULATOR_MT6358=m
CONFIG_REGULATOR_MT6397=m
CONFIG_REGULATOR_PALMAS=m
CONFIG_REGULATOR_PCA9450=m
CONFIG_REGULATOR_PCAP=m
CONFIG_REGULATOR_PCF50633=m
CONFIG_REGULATOR_PFUZE100=m
@@ -5305,7 +5279,6 @@ CONFIG_REGULATOR_PV88080=m
CONFIG_REGULATOR_PV88090=m
CONFIG_REGULATOR_PWM=m
CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_REGULATOR_QCOM_USB_VBUS=m
CONFIG_REGULATOR_RC5T583=m
CONFIG_REGULATOR_RT5033=m
CONFIG_REGULATOR_S2MPA01=m
@@ -5331,7 +5304,6 @@ CONFIG_REGULATOR_WM831X=m
CONFIG_REGULATOR_WM8350=m
CONFIG_REGULATOR_WM8400=m
CONFIG_REGULATOR_WM8994=m
CONFIG_REGULATOR_QCOM_LABIBB=m
CONFIG_RC_CORE=m
CONFIG_RC_MAP=m
CONFIG_LIRC=y
@@ -5367,12 +5339,10 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SIR=m
CONFIG_RC_XBOX_DVD=m
CONFIG_IR_TOY=m
CONFIG_CEC_CORE=m
CONFIG_CEC_NOTIFIER=y
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
CONFIG_CEC_CH7322=m
CONFIG_CEC_CROS_EC=m
CONFIG_CEC_SECO=m
CONFIG_CEC_SECO_RC=y
@@ -5919,7 +5889,6 @@ CONFIG_VIDEO_MT9V111=m
CONFIG_VIDEO_SR030PC30=m
CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_M5MOLS=m
CONFIG_VIDEO_RDACM20=m
CONFIG_VIDEO_RJ54N1=m
CONFIG_VIDEO_S5K6AA=m
CONFIG_VIDEO_S5K6A3=m
@@ -5936,7 +5905,6 @@ CONFIG_VIDEO_S5C73M3=m
CONFIG_VIDEO_AD5820=m
CONFIG_VIDEO_AK7375=m
CONFIG_VIDEO_DW9714=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
# end of Lens drivers
@@ -6242,7 +6210,6 @@ CONFIG_DRM_AMDGPU_USERPTR=y
#
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMD_DC_DCN=y
CONFIG_DRM_AMD_DC_DCN3_0=y
# CONFIG_DRM_AMD_DC_HDCP is not set
# CONFIG_DEBUG_KERNEL_DC is not set
# end of Display Engine Configuration
@@ -6253,7 +6220,6 @@ CONFIG_DRM_NOUVEAU=m
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
# CONFIG_NOUVEAU_DEBUG_MMU is not set
# CONFIG_NOUVEAU_DEBUG_PUSH is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I915=m
CONFIG_DRM_I915_FORCE_PROBE=""
@@ -6464,6 +6430,7 @@ CONFIG_LCD_LMS501KF03=m
CONFIG_LCD_HX8357=m
CONFIG_LCD_OTM3225A=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_LM3533=m
CONFIG_BACKLIGHT_CARILLO_RANCH=m
CONFIG_BACKLIGHT_PWM=m
@@ -6502,6 +6469,7 @@ CONFIG_HDMI=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
@@ -6636,7 +6604,6 @@ CONFIG_SND_YMFPCI=m
# HD-Audio
#
CONFIG_SND_HDA=m
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
@@ -6657,7 +6624,6 @@ CONFIG_SND_HDA_CODEC_CMEDIA=m
CONFIG_SND_HDA_CODEC_SI3054=m
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y
# end of HD-Audio
CONFIG_SND_HDA_CORE=m
@@ -6926,7 +6892,6 @@ CONFIG_SND_SOC_MAX98504=m
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX98373_I2C=m
CONFIG_SND_SOC_MAX98390=m
CONFIG_SND_SOC_MAX9860=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
@@ -7224,8 +7189,8 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_DYNAMIC_MINORS=y
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=m
@@ -7660,7 +7625,6 @@ CONFIG_MEMSTICK_REALTEK_USB=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS_MULTICOLOR=m
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
#
@@ -7680,6 +7644,11 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
CONFIG_LEDS_LP55XX_COMMON=m
CONFIG_LEDS_LP5521=m
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_LP5562=m
CONFIG_LEDS_LP8501=m
CONFIG_LEDS_LP8788=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
@@ -7743,6 +7712,7 @@ CONFIG_LEDS_TRIGGER_AUDIO=m
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
@@ -7957,7 +7927,6 @@ CONFIG_INTEL_IDXD=m
CONFIG_INTEL_IOATDMA=m
CONFIG_INTEL_MIC_X100_DMA=m
CONFIG_PLX_DMA=m
CONFIG_XILINX_ZYNQMP_DPDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_HIDMA=m
CONFIG_DW_DMAC_CORE=m
@@ -8043,8 +8012,6 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VDPA=m
# CONFIG_VDPA_SIM is not set
CONFIG_IFCVF=m
CONFIG_MLX5_VDPA=y
CONFIG_MLX5_VDPA_NET=m
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST_RING=m
CONFIG_VHOST=m
@@ -8095,7 +8062,6 @@ CONFIG_XEN_ACPI=y
CONFIG_XEN_SYMS=y
CONFIG_XEN_HAVE_VPMU=y
CONFIG_XEN_FRONT_PGDIR_SHBUF=m
CONFIG_XEN_UNPOPULATED_ALLOC=y
# end of Xen driver support
# CONFIG_GREYBUS is not set
@@ -8315,9 +8281,31 @@ CONFIG_AD2S1210=m
# end of IIO staging drivers
CONFIG_FB_SM750=m
#
# Speakup console speech
#
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
CONFIG_SPEAKUP_SYNTH_DUMMY=m
# end of Speakup console speech
CONFIG_STAGING_MEDIA=y
CONFIG_INTEL_ATOMISP=y
CONFIG_VIDEO_IPU3_IMGU=m
#
# soc_camera sensor drivers
#
CONFIG_VIDEO_USBVISION=m
#
@@ -8367,12 +8355,17 @@ CONFIG_FB_TFT_UC1611=m
CONFIG_FB_TFT_UC1701=m
CONFIG_FB_TFT_UPD161704=m
CONFIG_FB_TFT_WATTEROTT=m
CONFIG_WILC1000=m
CONFIG_WILC1000_SDIO=m
CONFIG_WILC1000_SPI=m
# CONFIG_WILC1000_HW_OOB_INTR is not set
CONFIG_MOST_COMPONENTS=m
CONFIG_MOST_CDEV=m
CONFIG_MOST_NET=m
CONFIG_MOST_SOUND=m
CONFIG_MOST_VIDEO=m
CONFIG_MOST_I2C=m
CONFIG_MOST_USB=m
CONFIG_KS7010=m
# CONFIG_PI433 is not set
@@ -8436,7 +8429,6 @@ CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_INTEL_ATOMISP2_LED=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_INT0002_VGPIO=m
@@ -8697,7 +8689,6 @@ CONFIG_ADXL372_I2C=m
CONFIG_BMA220=m
CONFIG_BMA400=m
CONFIG_BMA400_I2C=m
CONFIG_BMA400_SPI=m
CONFIG_BMC150_ACCEL=m
CONFIG_BMC150_ACCEL_I2C=m
CONFIG_BMC150_ACCEL_SPI=m
@@ -8827,9 +8818,6 @@ CONFIG_BME680_SPI=m
CONFIG_CCS811=m
CONFIG_IAQCORE=m
CONFIG_PMS7003=m
CONFIG_SCD30_CORE=m
CONFIG_SCD30_I2C=m
CONFIG_SCD30_SERIAL=m
CONFIG_SENSIRION_SGP30=m
CONFIG_SPS30=m
CONFIG_VZ89X=m
@@ -8989,9 +8977,6 @@ CONFIG_FXOS8700=m
CONFIG_FXOS8700_I2C=m
CONFIG_FXOS8700_SPI=m
CONFIG_KMX61=m
CONFIG_INV_ICM42600=m
CONFIG_INV_ICM42600_I2C=m
CONFIG_INV_ICM42600_SPI=m
CONFIG_INV_MPU6050_IIO=m
CONFIG_INV_MPU6050_I2C=m
CONFIG_INV_MPU6050_SPI=m
@@ -9384,7 +9369,6 @@ CONFIG_UNISYS_VISORBUS=m
# CONFIG_INTERCONNECT is not set
CONFIG_COUNTER=m
CONFIG_MOST=m
CONFIG_MOST_USB_HDM=m
# end of Device Drivers
#
@@ -9538,7 +9522,6 @@ CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_MEMFD_CREATE=y
@@ -9674,7 +9657,6 @@ CONFIG_NFSD_V4=y
# CONFIG_NFSD_BLOCKLAYOUT is not set
# CONFIG_NFSD_SCSILAYOUT is not set
# CONFIG_NFSD_FLEXFILELAYOUT is not set
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
@@ -10194,7 +10176,7 @@ CONFIG_LZ4_COMPRESS=m
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_ZSTD_DECOMPRESS=m
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
@@ -10210,7 +10192,6 @@ CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_ENC8=y
@@ -10229,7 +10210,6 @@ CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
@@ -10292,8 +10272,6 @@ CONFIG_OBJAGG=m
# CONFIG_STRING_SELFTEST is not set
# end of Library routines
CONFIG_PLDMFW=y
#
# Kernel hacking
#
@@ -10324,7 +10302,6 @@ CONFIG_FRAME_WARN=1024
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
CONFIG_FRAME_POINTER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -10338,9 +10315,6 @@ CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
@@ -10353,7 +10327,6 @@ CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_ARCH_HAS_EARLY_DEBUG=y
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
# end of Generic Kernel Debugging Instruments
CONFIG_DEBUG_KERNEL=y
@@ -10392,6 +10365,7 @@ CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
# CONFIG_KASAN is not set
CONFIG_KASAN_STACK=1
# end of Memory Debugging
# CONFIG_DEBUG_SHIRQ is not set
@@ -10469,7 +10443,6 @@ CONFIG_STACKTRACE=y
CONFIG_TORTURE_TEST=m
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
@@ -10540,6 +10513,7 @@ CONFIG_SYNTH_EVENTS=y
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
CONFIG_IO_STRICT_DEVMEM=y
@@ -10548,7 +10522,6 @@ CONFIG_IO_STRICT_DEVMEM=y
# x86 Debugging
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_EARLY_PRINTK_USB=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
@@ -10630,8 +10603,6 @@ CONFIG_TEST_STATIC_KEYS=m
CONFIG_TEST_OBJAGG=m
# CONFIG_TEST_STACKINIT is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_FPU is not set
CONFIG_MEMTEST=y
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage
+9 -45
View File
@@ -41,7 +41,6 @@
#include <fcntl.h>
#include <dirent.h>
#include <sys/syscall.h>
#include <sys/prctl.h>
/* Whether we're building the ld.so/libfakechroot wrapper. */
#define HAVE_EXEC_WITH_LOADER \
@@ -259,20 +258,11 @@ exec_in_user_namespace (const char *store, int argc, char *argv[])
{
/* Spawn @WRAPPED_PROGRAM@ in a separate namespace where STORE is
bind-mounted in the right place. */
int err, is_tmpfs;
int err;
char *new_root = mkdtemp (strdup ("/tmp/guix-exec-XXXXXX"));
char *new_store = concat (new_root, original_store);
char *cwd = get_current_dir_name ();
/* Become the new parent of grand-children when their parent dies. */
prctl (PR_SET_CHILD_SUBREAPER, 1);
/* Optionally, make NEW_ROOT a tmpfs. That way, if we have to leave it
behind because there are sub-processes still running when this wrapper
exits, it's OK. */
err = mount ("none", new_root, "tmpfs", 0, NULL);
is_tmpfs = (err == 0);
/* Create a child with separate namespaces and set up bind-mounts from
there. That way, bind-mounts automatically disappear when the child
exits, which simplifies cleanup for the parent. Note: clone is more
@@ -310,7 +300,6 @@ exec_in_user_namespace (const char *store, int argc, char *argv[])
/* Failure: user namespaces not supported. */
fprintf (stderr, "%s: error: 'clone' failed: %m\n", argv[0]);
rm_rf (new_root);
free (new_root);
break;
default:
@@ -323,25 +312,10 @@ exec_in_user_namespace (const char *store, int argc, char *argv[])
write_id_map (child, "uid_map", getuid ());
write_id_map (child, "gid_map", getgid ());
int status, status_other;
int status;
waitpid (child, &status, 0);
chdir ("/"); /* avoid EBUSY */
if (is_tmpfs)
{
/* NEW_ROOT lives on in child processes and we no longer need it
to exist as an empty directory in the global namespace. */
umount (new_root);
rmdir (new_root);
}
/* Check whether there are child processes left. If there are none,
we can remove NEW_ROOT just fine. Conversely, if there are
processes left (for example because this wrapper's child forked),
we have to leave NEW_ROOT behind so that those processes can still
access their root file system (XXX). */
else if (waitpid (-1 , &status_other, WNOHANG) == -1)
rm_rf (new_root);
chdir ("/"); /* avoid EBUSY */
rm_rf (new_root);
free (new_root);
if (WIFEXITED (status))
@@ -516,9 +490,6 @@ exec_with_loader (const char *store, int argc, char *argv[])
setenv ("FAKECHROOT_BASE", new_root, 1);
/* Become the new parent of grand-children when their parent dies. */
prctl (PR_SET_CHILD_SUBREAPER, 1);
pid_t child = fork ();
switch (child)
{
@@ -536,19 +507,12 @@ exec_with_loader (const char *store, int argc, char *argv[])
default:
{
int status, status_other;
int status;
waitpid (child, &status, 0);
/* If there are child processes still running, leave NEW_ROOT around
so they can still access it. XXX: In that case NEW_ROOT is left
behind. */
if (waitpid (-1 , &status_other, WNOHANG) == -1)
{
chdir ("/"); /* avoid EBUSY */
rm_rf (new_root);
}
chdir ("/"); /* avoid EBUSY */
rm_rf (new_root);
free (new_root);
close (2); /* flushing stderr should be silent */
if (WIFEXITED (status))
@@ -656,7 +620,7 @@ main (int argc, char *argv[])
/* SELF is something like "/home/ludo/.local/gnu/store/…-foo/bin/ls" and we
want to extract "/home/ludo/.local/gnu/store". */
size_t index = strlen (self)
- strlen (WRAPPER_PROGRAM) + strlen (original_store);
- strlen ("@WRAPPED_PROGRAM@") + strlen (original_store);
char *store = strdup (self);
store[index] = '\0';
+45 -22
View File
@@ -5,7 +5,6 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,8 +41,8 @@
(inherit (cross-binutils "avr"))
(name "avr-binutils")))
(define avr-gcc
(let ((xgcc (cross-gcc "avr" #:xgcc gcc #:xbinutils avr-binutils)))
(define-public avr-gcc-4.9
(let ((xgcc (cross-gcc "avr" #:xgcc gcc-4.9 #:xbinutils avr-binutils)))
(package
(inherit xgcc)
(name "avr-gcc")
@@ -95,10 +94,19 @@
(variable "CROSS_LIBRARY_PATH")
(files '("avr/lib")))))
(native-inputs
`(("gcc" ,gcc)
`(("gcc@5" ,gcc-5)
,@(package-native-inputs xgcc))))))
(define avr-libc
(define-public avr-gcc-5
(package
(inherit avr-gcc-4.9)
(version (package-version gcc-5))
(source (origin
(inherit (package-source gcc-5))
(patches (append (origin-patches (package-source gcc-5))
(search-patches "gcc-cross-environment-variables.patch")))))))
(define (avr-libc avr-gcc)
(package
(name "avr-libc")
(version "2.0.0")
@@ -112,7 +120,18 @@
(build-system gnu-build-system)
(arguments
'(#:out-of-source? #t
#:configure-flags '("--host=avr")))
#:configure-flags '("--host=avr")
#:phases
(modify-phases %standard-phases
(add-before 'unpack 'fix-cpath
(lambda _
;; C_INCLUDE_PATH and CPATH pose issues for cross-building,
;; leading to failures when building avr-libc on 64-bit systems.
;; Simply unsetting them allows the build to succeed because it
;; doesn't try to use any of the native system's headers.
(unsetenv "C_INCLUDE_PATH")
(unsetenv "CPATH")
#t)))))
(native-inputs `(("avr-binutils" ,avr-binutils)
("avr-gcc" ,avr-gcc)))
(home-page "https://www.nongnu.org/avr-libc/")
@@ -123,27 +142,31 @@ for use with GCC on Atmel AVR microcontrollers.")
(license
(license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
(define-public avr-toolchain
(define (avr-toolchain avr-gcc)
;; avr-libc checks the compiler version and passes "--enable-device-lib" for avr-gcc > 5.1.0.
;; It wouldn't install the library for atmega32u4 etc if we didn't use the corret avr-gcc.
(package
(name "avr-toolchain")
(version (package-version avr-gcc))
(source #f)
(build-system trivial-build-system)
(arguments '(#:builder (begin (mkdir %output) #t)))
(propagated-inputs
`(("avrdude" ,avrdude)
("binutils" ,avr-binutils)
("gcc" ,avr-gcc)
("libc" ,avr-libc)))
(synopsis "Complete GCC tool chain for AVR microcontroller development")
(description "This package provides a complete GCC tool chain for AVR
(let ((avr-libc (avr-libc avr-gcc)))
(package
(name "avr-toolchain")
(version (package-version avr-gcc))
(source #f)
(build-system trivial-build-system)
(arguments '(#:builder (begin (mkdir %output) #t)))
(propagated-inputs
`(("avrdude" ,avrdude)
("binutils" ,avr-binutils)
("gcc" ,avr-gcc)
("libc" ,avr-libc)))
(synopsis "Complete GCC tool chain for AVR microcontroller development")
(description "This package provides a complete GCC tool chain for AVR
microcontroller development. This includes the GCC AVR cross compiler and
avrdude for firmware flashing. The supported programming languages are C and
C++.")
(home-page (package-home-page avr-libc))
(license (package-license avr-gcc))))
(home-page (package-home-page avr-libc))
(license (package-license avr-gcc)))))
(define-public avr-toolchain-4.9 (avr-toolchain avr-gcc-4.9))
(define-public avr-toolchain-5 (avr-toolchain avr-gcc-5))
(define-public microscheme
(package
+2 -2
View File
@@ -527,7 +527,7 @@ patcher application.")))
(install-file "dist/Axoloti.jar" share)
;; Install old firmware
(let ((target (string-append share "/old_firmware/firmware-1.0.12"))
(let ((target (string-append share "/old_firmware/"))
(old-firmware
(string-append (assoc-ref inputs "axoloti-runtime")
"/share/axoloti/firmware/")))
@@ -557,7 +557,7 @@ patcher application.")))
toolchain
"/arm-none-eabi/include:"
toolchain
"/arm-none-eabi/include/arm-none-eabi/thumb/v7e-m")))
"/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
(display
(string-append "#!" (which "sh") "\n"
"export CROSS_CPATH=" includes "\n"
+9 -9
View File
@@ -94,7 +94,7 @@
(base32 "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal) ; for msgfmt
`(("gettext" ,gnu-gettext) ; for msgfmt
("util-linux" ,util-linux) ; setsid command, for the tests
("par2cmdline" ,par2cmdline)
("python-fasteners" ,python-fasteners)
@@ -569,13 +569,13 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
(version "1.1.14")
(version "1.1.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32 "1fpdj73cgp96xwasdcifxl7q2pr1my2f4vfdjpv771llri3hgfvx"))
(base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -606,7 +606,7 @@ detection, and lossless compression.")
#t))))
(build-system python-build-system)
(arguments
`(#:modules ((srfi srfi-26) ; for cut
`(#:modules ((srfi srfi-26) ; for cut
(guix build utils)
(guix build python-build-system))
#:phases
@@ -743,14 +743,14 @@ changes are stored.")
(define-public wimlib
(package
(name "wimlib")
(version "1.13.3")
(version "1.13.2")
(source (origin
(method url-fetch)
(uri (string-append "https://wimlib.net/downloads/"
"wimlib-" version ".tar.gz"))
(sha256
(base32
"0zpsbl9iicc6y81xfl6kf8farwfsyrl63shc0idp654kgp8421wa"))))
"0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1066,13 +1066,13 @@ other storage medium. Subsequent incremental backups can then be layered on
top of the full backup. The restore command performs the inverse function of
dump; it can restore a full backup of a file system. Single files and
directory subtrees may also be restored from full or partial backups in
interactive mode.")
interractive mode.")
(license license:bsd-3)))
(define-public burp
(package
(name "burp")
(version "2.3.36")
(version "2.3.32")
(source
(origin
(method git-fetch)
@@ -1080,7 +1080,7 @@ interactive mode.")
(url "https://github.com/grke/burp")
(commit version)))
(sha256
(base32 "18gj1sv1naql0xais01yniyzs8dxc8xk5sk8y9hsc0cd93mxgk17"))
(base32 "0cxxf9ni34c9662ffmr2qc8xmh4g9pmg3swqvhn49mqgr5ra6k2g"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+5 -38
View File
@@ -5,7 +5,6 @@
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,18 +22,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages bash)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
#:use-module (gnu packages elf)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages bison)
#:use-module (gnu packages linux)
#:use-module (gnu packages libffi)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages guile)
#:use-module (guix packages)
#:use-module (guix download)
@@ -215,7 +210,7 @@ from the Korn Shell and the C Shell and new improvements of its own. It
allows command-line editing, unlimited command history, shell functions and
aliases, and job control while still allowing most sh scripts to be run
without modification.")
(license license:gpl3+)
(license gpl3+)
(home-page "https://www.gnu.org/software/bash/"))))
(define-public bash-minimal
@@ -325,7 +320,7 @@ without modification.")
"This package provides extensions that allow Bash to provide adapted
completion for many common commands.")
(home-page "https://github.com/scop/bash-completion")
(license license:gpl2+)))
(license gpl2+)))
(define-public bash-tap
(package
@@ -369,7 +364,7 @@ test library")
for Bash shell scripts and functions. Along with the Test::More-style testing
helpers it provides helper functions for mocking commands and in-process output
capturing.")
(license license:expat)))
(license expat)))
(define-public bats
(package
@@ -419,32 +414,4 @@ capturing.")
framework for Bash. It provides a simple way to verify that the UNIX programs
you write behave as expected. Bats is most useful when testing software written
in Bash, but you can use it to test any UNIX program.")
(license license:expat)))
(define-public bash-ctypes
(package
(name "bash-ctypes")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/taviso/ctypes.sh/releases/download/v"
version "/ctypes-sh-" version ".tar.gz"))
(sha256
(base32 "0s1sifqzqmr0dnciv06yqrpzgj11d7n0gy5zaxh6b3x8bx7k75l8"))))
(build-system gnu-build-system)
(inputs
`(("elfutils" ,elfutils)
("libelf" ,libelf)
("libffi" ,libffi)
("zlib" ,zlib)
;; Require a bash with C plugin support to build.
("bash" ,bash)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/taviso/ctypes.sh")
(synopsis "Foreign function interface for Bash")
(description "Bash-ctypes is a Bash plugin that provides a foreign
function interface (FFI) directly in your shell. In other words, it allows
you to call routines in shared libraries from within Bash.")
(license license:expat)))
(license expat)))
+8 -17
View File
@@ -7,7 +7,6 @@
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,14 +46,14 @@
(define-public fio
(package
(name "fio")
(version "3.23")
(version "3.22")
(source (origin
(method url-fetch)
(uri (string-append "https://brick.kernel.dk/snaps/"
"fio-" version ".tar.bz2"))
(sha256
(base32
"0cy32431hv0i84yrryna5byj4r610n6i1rm8nfflnrznbf051axs"))))
"0f2x917600y6k0xs34ixgfjm4v1ylbh8svpkqi07xy3474g5s2rv"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
@@ -214,7 +213,7 @@ This can give a much better understanding of the command's performance.")
(define-public benchmark
(package
(name "benchmark")
(version "1.5.2")
(version "1.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -223,24 +222,16 @@ This can give a much better understanding of the command's performance.")
(file-name (git-file-name name version))
(sha256
(base32
"13rxagpzw6bal6ajlmrxlh9kgfvcixn6j734b2bvfqz7lch8n0pa"))))
"0r9dbg4cbk47gwmayys31a83m3y67k0kh1f6pl8i869rbd609ndh"))
(patches (search-patches "benchmark-unbundle-googletest.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("googletest-source" ,(package-source googletest))
("googletest" ,googletest)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-googletest
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "googletest-source")
"googletest")
#t)))))
`(("googletest" ,googletest)))
(home-page "https://github.com/google/benchmark")
(synopsis "Microbenchmark support library")
(description
"Benchmark is a library to benchmark code snippets, similar to unit
tests.")
"Benchmark is a library to benchmark code snippets,
similar to unit tests.")
(license license:asl2.0)))
(define-public bonnie++
+28 -625
View File
@@ -3,9 +3,6 @@
;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2020 Peter Lo <peterloleungyau@gmail.com>
;;; Copyright © 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1115,7 +1112,7 @@ how the coverage distributed across the genome.")
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-fastcluster" ,r-fastcluster)
("r-fastcluster", r-fastcluster)
("r-ggplot2" ,r-ggplot2)
("r-gviz" ,r-gviz)
("r-plyr" ,r-plyr)
@@ -1609,14 +1606,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
(define-public r-diffbind
(package
(name "r-diffbind")
(version "2.16.2")
(version "2.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DiffBind" version))
(sha256
(base32
"11y9kigdikqcd0cnksh306nsaadak0kgivk7773mv3yszrxxwzj1"))))
"1mwqgljya1c7r2dfrdds3nswn9bn1l3ak1wavbpv4lbv3nkmykn5"))))
(properties `((upstream-name . "DiffBind")))
(build-system r-build-system)
(inputs
@@ -1765,33 +1762,6 @@ expressed genes in DNA microarray experiments.")
fitting of some classes of graphical Markov models.")
(license license:gpl2+)))
;; This is a CRAN package, but it depends on a Bioconductor package, r-graph.
(define-public r-perfmeas
(package
(name "r-perfmeas")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "PerfMeas" version))
(sha256
(base32
"1x7ancmb41zd1js24rx94plgbssyc71z2bvpic6mg34xjkwdjw93"))))
(properties `((upstream-name . "PerfMeas")))
(build-system r-build-system)
(propagated-inputs
`(("r-graph" ,r-graph)
("r-limma" ,r-limma)
("r-rbgl" ,r-rbgl)))
(home-page "https://cran.r-project.org/web/packages/PerfMeas/")
(synopsis "Performance measures for ranking and classification tasks")
(description
"This package implements different performance measures for
classification and ranking tasks. @dfn{Area under curve} (AUC), precision at
a given recall, F-score for single and multiple classes are available.")
(license license:gpl2+)))
;; This is a CRAN package, but it depends on a Bioconductor package.
(define-public r-codedepends
(package
(name "r-codedepends")
@@ -1823,14 +1793,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
(version "3.22.4")
(version "3.22.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
"0wxgjdikinkqj7jvs2725ak0291q6zhikyf1c93w8cngwvd9i1gq"))))
"199mlg0gwjy39afyk0ah6lzcm759bzxla4hgcajj0ay9jiibjqpa"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
@@ -2733,13 +2703,13 @@ gene and isoform level using RNA-seq data")
(define-public r-karyoploter
(package
(name "r-karyoploter")
(version "1.14.1")
(version "1.14.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "karyoploteR" version))
(sha256
(base32
"1wlnzkq58baqj9854nzf5rbglchb2xy4wsp3s0q8xfq8v0p3baxf"))))
"0h0gk4xd95k5phy6qcsv7j931d7gk3p24i2fg4mz5dsk110lpifs"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@@ -2762,7 +2732,7 @@ gene and isoform level using RNA-seq data")
(home-page "https://bioconductor.org/packages/karyoploteR/")
(synopsis "Plot customizable linear genomes displaying arbitrary data")
(description "This package creates karyotype plots of arbitrary genomes and
offers a complete set of functions to plot arbitrary data on them. It mimics
offers a complete set of functions to plot arbitrary data on them. It mimicks
many R base graphics functions coupling them with a coordinate change function
automatically mapping the chromosome and data coordinates into the plot
coordinates.")
@@ -3482,14 +3452,14 @@ surface of a flowcell.")
(define-public r-gkmsvm
(package
(name "r-gkmsvm")
(version "0.81.0")
(version "0.80.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "gkmSVM" version))
(sha256
(base32
"119g5rhc7ffyviz04r04aj5z1g6abnj3ddd01g7db505sdr6lapj"))))
"0ljcga246ad0ql8x3drvrdsyp0f20mgp3p6lnl79xb76qgfdnm0p"))))
(properties `((upstream-name . "gkmSVM")))
(build-system r-build-system)
(propagated-inputs
@@ -3654,14 +3624,14 @@ information about samples and features can be added to the plot.")
(define-public r-gosemsim
(package
(name "r-gosemsim")
(version "2.14.2")
(version "2.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GOSemSim" version))
(sha256
(base32
"02r7m1x6g8bb7q8l0hpvakdzdv5v1nplhx5lbiy798a7c3xg895b"))))
"0v4q9xr1cm5xr08pgbzrss41kh3yz7xyh31n55l0sjmr1629ykln"))))
(properties `((upstream-name . "GOSemSim")))
(build-system r-build-system)
(propagated-inputs
@@ -3700,7 +3670,7 @@ sets of GO terms, gene products and gene clusters.")
(description
"Genome wide studies of translational control is emerging as a tool to
study various biological conditions. The output from such analysis is both
the mRNA level (e.g. cytosolic mRNA level) and the level of mRNA actively
the mRNA level (e.g. cytosolic mRNA level) and the levl of mRNA actively
involved in translation (the actively translating mRNA level) for each mRNA.
The standard analysis of such data strives towards identifying differential
translational between two or more sample classes - i.e. differences in
@@ -4390,14 +4360,14 @@ position-specific scores within R and Bioconductor.")
(define-public r-atacseqqc
(package
(name "r-atacseqqc")
(version "1.12.5")
(version "1.12.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ATACseqQC" version))
(sha256
(base32
"1103daz82k97vzmxjmf7jwm2nd3w8i0jwplrsi9996bkih11qwbf"))))
"12710c4024pndwwqiiqr6dhrd360z26fc8r3fxhs739gyd0ddk9r"))))
(properties `((upstream-name . "ATACseqQC")))
(build-system r-build-system)
(propagated-inputs
@@ -4869,7 +4839,7 @@ a more complex way than the simple GC content. Instead, the base types (A, T,
G or C) at each position along the probe determine the affinity of each probe.
The parameters of the position-specific base contributions to the probe
affinity is estimated in an NSB experiment in which only NSB but no
gene-specific binding is expected.")
gene-specific bidning is expected.")
;; Any version of the LGPL
(license license:lgpl2.1+)))
@@ -5088,14 +5058,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).")
(define-public r-xcms
(package
(name "r-xcms")
(version "3.10.2")
(version "3.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "xcms" version))
(sha256
(base32
"0sk53jcl7sjrpw2ncdpl8sw1b1j9mizlrj517rinr1qrbm6lsn8f"))))
"1aa11gy1v7kkamv3hsnvdx715q8f1saw9p664j6wifyjj0hx13kn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
@@ -6364,14 +6334,14 @@ self-organizing map clustering and minimal spanning trees.")
(define-public r-mixomics
(package
(name "r-mixomics")
(version "6.12.2")
(version "6.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mixOmics" version))
(sha256
(base32
"1nkqlvm9j1f4vfj3f3kyxqgan38rpa9imimvl9pwivvsfl647vvc"))))
"13kq9l5xwhwp30y5gfqfh5f11n63vn8rk195mb2y2mww4cwi6lv4"))))
(properties `((upstream-name . "mixOmics")))
(build-system r-build-system)
(propagated-inputs
@@ -6490,14 +6460,14 @@ genes in the gene-set that are ranked above the leading edge).")
(define-public r-cicero
(package
(name "r-cicero")
(version "1.6.2")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "cicero" version))
(sha256
(base32
"042ba6yfa7fksij2v7cwnp2sca3vmz7izn6fsxx9xswnncrkgcqh"))))
"0nf9yqg5krj26n4n82iyx3rsr84d46b17i9zfk35sh12l4xssbii"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@@ -7187,14 +7157,14 @@ data.")
(define-public r-activedriverwgs
(package
(name "r-activedriverwgs")
(version "1.1.1")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ActiveDriverWGS" version))
(sha256
(base32
"06mvakdc8d2pn91p0sr4ixc561s4ia5h1cvd1p7pqd6s50dy4say"))))
"08l9dj8d3cd74z1dqn8n4yqykwvqjxsfa067wnxyh7xnfvvnm5v1"))))
(properties
`((upstream-name . "ActiveDriverWGS")))
(build-system r-build-system)
@@ -7205,9 +7175,8 @@ data.")
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-plyr" ,r-plyr)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://cran.r-project.org/web/packages/ActiveDriverWGS/")
(synopsis "Driver discovery tool for cancer whole genomes")
(description
@@ -7273,14 +7242,14 @@ gene expression.")
(define-public r-bgx
(package
(name "r-bgx")
(version "1.54.1")
(version "1.54.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "bgx" version))
(sha256
(base32
"0a10fg9n5p024jrmbis102gqpbz23sc6vdn1sal2697hlxikzb46"))))
"0r67a6m5hrnsxgk0f57hl5yaagi2wai2kpfyjjlhrck4rlm1sjcx"))))
(properties `((upstream-name . "bgx")))
(build-system r-build-system)
(propagated-inputs
@@ -7504,7 +7473,7 @@ networks and estimated fluxes can be visualized with hypergraphs.")
safety and convenience features to the @code{filebacked.big.matrix} class from
the @code{bigmemory} package. @code{BigMatrix} protects against segfaults by
monitoring and gracefully restoring the connection to on-disk data and it also
protects against accidental data modification with a file-system-based
protects against accidental data modification with a filesystem-based
permissions system. Utilities are provided for using @code{BigMatrix}-derived
classes as @code{assayData} matrices within the @code{Biobase} package's
@code{eSet} family of classes. @code{BigMatrix} provides some optimizations
@@ -8184,569 +8153,3 @@ user's input and automatically retrieving results from GREAT web server.")
simulation to eliminate overestimation of @code{K} and can reject the null
hypothesis @code{K=1}.")
(license license:agpl3+)))
(define-public r-icens
(package
(name "r-icens")
(version "1.60.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Icens" version))
(sha256
(base32
"0fh7wgkrw20f61p06i87nccnbig9wv4m0jcg7cx1rw7g2ndnabgp"))))
(properties `((upstream-name . "Icens")))
(build-system r-build-system)
(propagated-inputs
`(("r-survival" ,r-survival)))
(home-page "https://bioconductor.org/packages/Icens")
(synopsis "NPMLE for censored and truncated data")
(description
"This package provides many functions for computing the
@dfn{nonparametric maximum likelihood estimator} (NPMLE) for censored and
truncated data.")
(license license:artistic2.0)))
;; This is a CRAN package but it depends on r-icens, which is published on
;; Bioconductor.
(define-public r-interval
(package
(name "r-interval")
(version "1.1-0.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "interval" version))
(sha256
(base32
"1b31lh0sv7lzy76230djipahxa10lblbr37kdiigr6hp3dd1xmz9"))))
(properties `((upstream-name . "interval")))
(build-system r-build-system)
(propagated-inputs
`(("r-icens" ,r-icens)
("r-mlecens" ,r-mlecens)
("r-perm" ,r-perm)
("r-survival" ,r-survival)))
(home-page "https://cran.r-project.org/web/packages/interval/")
(synopsis "Weighted Logrank tests and NPMLE for interval censored data")
(description
"This package provides functions to fit nonparametric survival curves,
plot them, and perform logrank or Wilcoxon type tests.")
(license license:gpl2+)))
;; This is a CRAN package, but it depends on r-interval, which depends on a
;; Bioconductor package.
(define-public r-fhtest
(package
(name "r-fhtest")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "FHtest" version))
(sha256
(base32
"00mql2r4f5hxhdqf27q3x9s5rz2zzakx2myym97b1w1s7c5znl4q"))))
(properties `((upstream-name . "FHtest")))
(build-system r-build-system)
(propagated-inputs
`(("r-interval" ,r-interval)
("r-kmsurv" ,r-kmsurv)
("r-mass" ,r-mass)
("r-perm" ,r-perm)
("r-survival" ,r-survival)))
(home-page "https://cran.r-project.org/web/packages/FHtest/")
(synopsis "Tests for survival data based on the Fleming-Harrington class")
(description
"This package provides functions to compare two or more survival curves
with:
@itemize
@item The Fleming-Harrington test for right-censored data based on
permutations and on counting processes.
@item An extension of the Fleming-Harrington test for interval-censored data
based on a permutation distribution and on a score vector distribution.
@end itemize
")
(license license:gpl2+)))
(define-public r-fourcseq
(package
(name "r-fourcseq")
(version "1.22.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "FourCSeq" version))
(sha256
(base32 "14q1ijnqnbd9xs60sfvyqjfiypjrvhacpwp2v85yfhcxw870cx5b"))))
(properties `((upstream-name . "FourCSeq")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biostrings" ,r-biostrings)
("r-deseq2" ,r-deseq2)
("r-fda" ,r-fda)
("r-genomicalignments" ,r-genomicalignments)
("r-genomicranges" ,r-genomicranges)
("r-ggbio" ,r-ggbio)
("r-ggplot2" ,r-ggplot2)
("r-gtools" ,r-gtools)
("r-lsd" ,r-lsd)
("r-matrix" ,r-matrix)
("r-reshape2" ,r-reshape2)
("r-rsamtools" ,r-rsamtools)
("r-rtracklayer" ,r-rtracklayer)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page
"https://bioconductor.org/packages/release/bioc/html/FourCSeq.html")
(synopsis "Analysis of multiplexed 4C sequencing data")
(description
"This package is an R package dedicated to the analysis of (multiplexed)
4C sequencing data. @code{r-fourcseq} provides a pipeline to detect specific
interactions between DNA elements and identify differential interactions
between conditions. The statistical analysis in R starts with individual bam
files for each sample as inputs. To obtain these files, the package contains
a Python script to demultiplex libraries and trim off primer sequences. With
a standard alignment software the required bam files can be then be
generated.")
(license license:gpl3+)))
(define-public r-preprocesscore
(package
(name "r-preprocesscore")
(version "1.50.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "preprocessCore" version))
(sha256
(base32
"0q1406kswylc8zn5k3wyd34p34pfzbhi1ggkfsh30zcjp6adbwjl"))))
(properties
`((upstream-name . "preprocessCore")))
(build-system r-build-system)
(home-page "https://github.com/bmbolstad/preprocessCore")
(synopsis "Collection of pre-processing functions")
(description
"This package provides a library of core pre-processing and normalization
routines.")
(license license:lgpl2.0+)))
;; This is a CRAN package, but it depends on preprocessorcore, which is a
;; Bioconductor package.
(define-public r-wgcna
(package
(name "r-wgcna")
(version "1.69")
(source
(origin
(method url-fetch)
(uri (cran-uri "WGCNA" version))
(sha256
(base32
"022hkprnrafvggi8pkjffkvk1qlnibmbbxxrni00wkrdbga5589f"))))
(properties `((upstream-name . "WGCNA")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-doparallel" ,r-doparallel)
("r-dynamictreecut" ,r-dynamictreecut)
("r-fastcluster" ,r-fastcluster)
("r-foreach" ,r-foreach)
("r-go-db" ,r-go-db)
("r-hmisc" ,r-hmisc)
("r-impute" ,r-impute)
("r-rcpp" ,r-rcpp)
("r-survival" ,r-survival)
("r-matrixstats" ,r-matrixstats)
("r-preprocesscore" ,r-preprocesscore)))
(home-page
"http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/")
(synopsis "Weighted correlation network analysis")
(description
"This package provides functions necessary to perform Weighted
Correlation Network Analysis on high-dimensional data. It includes functions
for rudimentary data cleaning, construction and summarization of correlation
networks, module identification and functions for relating both variables and
modules to sample traits. It also includes a number of utility functions for
data manipulation and visualization.")
(license license:gpl2+)))
(define-public r-rgraphviz
(package
(name "r-rgraphviz")
(version "2.32.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rgraphviz" version))
(sha256
(base32
"1calpvzgcz6v7s4x6bf35kj83sga95zjp7x87p5d3qnbv7q2wz5y"))))
(properties `((upstream-name . "Rgraphviz")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-reproducible
(lambda _
;; The replacement value is taken from src/graphviz/builddate.h
(substitute* "src/graphviz/configure"
(("VERSION_DATE=.*")
"VERSION_DATE=20200427.2341\n"))
#t)))))
;; FIXME: Rgraphviz bundles the sources of an older variant of
;; graphviz. It does not build with the latest version of graphviz, so
;; we do not add graphviz to the inputs.
(inputs `(("zlib" ,zlib)))
(propagated-inputs
`(("r-graph" ,r-graph)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://bioconductor.org/packages/Rgraphviz")
(synopsis "Plotting capabilities for R graph objects")
(description
"This package interfaces R with the graphviz library for plotting R graph
objects from the @code{graph} package.")
(license license:epl1.0)))
(define-public r-fithic
(package
(name "r-fithic")
(version "1.14.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "FitHiC" version))
(sha256
(base32
"1dffkdxm08wq4kjd9j2v2625x3p6vbrk33a2zx94pwpgkghr72yp"))))
(properties `((upstream-name . "FitHiC")))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-fdrtool" ,r-fdrtool)
("r-rcpp" ,r-rcpp)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/FitHiC")
(synopsis "Confidence estimation for intra-chromosomal contact maps")
(description
"Fit-Hi-C is a tool for assigning statistical confidence estimates to
intra-chromosomal contact maps produced by genome-wide genome architecture
assays such as Hi-C.")
(license license:gpl2+)))
(define-public r-hitc
(package
(name "r-hitc")
(version "1.32.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "HiTC" version))
(sha256
(base32
"1jx2pfa7sbdz7xi466lz1h5xv126g56z73n0a5l2wrq28k47qaxy"))))
(properties `((upstream-name . "HiTC")))
(build-system r-build-system)
(propagated-inputs
`(("r-biostrings" ,r-biostrings)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rtracklayer" ,r-rtracklayer)))
(home-page "https://bioconductor.org/packages/HiTC")
(synopsis "High throughput chromosome conformation capture analysis")
(description
"The HiTC package was developed to explore high-throughput \"C\" data
such as 5C or Hi-C. Dedicated R classes as well as standard methods for
quality controls, normalization, visualization, and further analysis are also
provided.")
(license license:artistic2.0)))
(define-public r-hdf5array
(package
(name "r-hdf5array")
(version "1.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
"01767v90nl0499jcicpxngbbs0af5p9c5aasi5va01w3v5bnqddn"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-delayedarray" ,r-delayedarray)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-rhdf5" ,r-rhdf5)
("r-rhdf5lib" ,r-rhdf5lib)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/HDF5Array")
(synopsis "HDF5 back end for DelayedArray objects")
(description "This package provides an array-like container for convenient
access and manipulation of HDF5 datasets. It supports delayed operations and
block processing.")
(license license:artistic2.0)))
(define-public r-rhdf5lib
(package
(name "r-rhdf5lib")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rhdf5lib" version))
(sha256
(base32
"0f45sqrvzj6x4mckalyp8366hm8v0rrmzklx3xd4gs6l2wallcn9"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled binaries
(delete-file-recursively "src/wininclude/")
(delete-file-recursively "src/winlib-4.9.3/")
(delete-file-recursively "src/winlib-8.3.0/")
(delete-file "src/hdf5small_cxx_hl_1.10.6.tar.gz")
#t))))
(properties `((upstream-name . "Rhdf5lib")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-use-bundled-hdf5
(lambda* (#:key inputs #:allow-other-keys)
(for-each delete-file '("configure" "configure.ac"))
;; Do not make other packages link with the proprietary libsz.
(substitute* "R/zzz.R"
((" \"%s/libsz.a\"") ""))
(with-directory-excursion "src"
(invoke "tar" "xvf" (assoc-ref inputs "hdf5-source"))
(rename-file (string-append "hdf5-" ,(package-version hdf5-1.10))
"hdf5")
;; Remove timestamp and host system information to make
;; the build reproducible.
(substitute* "hdf5/src/libhdf5.settings.in"
(("Configured on: @CONFIG_DATE@")
"Configured on: Guix")
(("Uname information:.*")
"Uname information: Linux\n")
;; Remove unnecessary store reference.
(("C Compiler:.*")
"C Compiler: GCC\n"))
(rename-file "Makevars.in" "Makevars")
(substitute* "Makevars"
(("@ZLIB_LIB@") "-lz")
(("@ZLIB_INCLUDE@") "")
(("HDF5_CXX_LIB=.*")
(string-append "HDF5_CXX_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5_cpp.a\n"))
(("HDF5_LIB=.*")
(string-append "HDF5_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5.a\n"))
(("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n")
(("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n")
(("HDF5_HL_INCLUDE=.*") "HDF5_HL_INCLUDE=./hdf5/hl/src\n")
(("HDF5_HL_CXX_INCLUDE=.*") "HDF5_HL_CXX_INCLUDE=./hdf5/hl/c++/src\n")
(("HDF5_HL_LIB=.*")
(string-append "HDF5_HL_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl.a\n"))
(("HDF5_HL_CXX_LIB=.*")
(string-append "HDF5_HL_CXX_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl_cpp.a\n"))
;; szip is non-free software
(("cp \"\\$\\{SZIP_LIB\\}.*") "")
(("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n")))
#t)))))
(inputs
`(("zlib" ,zlib)))
(propagated-inputs
`(("hdf5" ,hdf5-1.10)))
(native-inputs
`(("hdf5-source" ,(package-source hdf5-1.10))
("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/Rhdf5lib")
(synopsis "HDF5 library as an R package")
(description "This package provides C and C++ HDF5 libraries for use in R
packages.")
(license license:artistic2.0)))
(define-public r-beachmat
(package
(name "r-beachmat")
(version "2.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "beachmat" version))
(sha256
(base32
"1vl6jbf9ia78cm4ikdb8vz04jv4b46zhvg5i006c63a9pzw7zhxi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-delayedarray" ,r-delayedarray)
("r-matrix" ,r-matrix)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/beachmat")
(synopsis "Compiling Bioconductor to handle each matrix type")
(description "This package provides a consistent C++ class interface for a
variety of commonly used matrix types, including sparse and HDF5-backed
matrices.")
(license license:gpl3)))
(define-public r-singlecellexperiment
(package
(name "r-singlecellexperiment")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "SingleCellExperiment" version))
(sha256
(base32
"092wvk11n7pa234vlwhxm3gdi4k3sbnz1splhxalbdhz3jf02zfp"))))
(properties
`((upstream-name . "SingleCellExperiment")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-s4vectors" ,r-s4vectors)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/SingleCellExperiment")
(synopsis "S4 classes for single cell data")
(description "This package defines an S4 class for storing data from
single-cell experiments. This includes specialized methods to store and
retrieve spike-in information, dimensionality reduction coordinates and size
factors for each cell, along with the usual metadata for genes and
libraries.")
(license license:gpl3)))
(define-public r-scater
(package
(name "r-scater")
(version "1.16.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "scater" version))
(sha256
(base32
"1pa5wvgjb30rw1vsjwbnn07ss3sc5n8ck5d7khdby4r2s9177s33"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
("r-biocgenerics" ,r-biocgenerics)
("r-biocneighbors" ,r-biocneighbors)
("r-biocparallel" ,r-biocparallel)
("r-biocsingular" ,r-biocsingular)
("r-delayedarray" ,r-delayedarray)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-ggbeeswarm" ,r-ggbeeswarm)
("r-ggplot2" ,r-ggplot2)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-rlang" ,r-rlang)
("r-s4vectors" ,r-s4vectors)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-viridis" ,r-viridis)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/davismcc/scater")
(synopsis "Single-cell analysis toolkit for gene expression data in R")
(description "This package provides a collection of tools for doing
various analyses of single-cell RNA-seq gene expression data, with a focus on
quality control.")
(license license:gpl2+)))
(define-public r-scran
(package
(name "r-scran")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scran" version))
(sha256
(base32
"1gm4ys4aq8h1pn45k1rxk384wjyf55izivw8kgxbrflj6j4xvvsv"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
("r-bh" ,r-bh)
("r-biocgenerics" ,r-biocgenerics)
("r-biocneighbors" ,r-biocneighbors)
("r-biocparallel" ,r-biocparallel)
("r-biocsingular" ,r-biocsingular)
("r-delayedarray" ,r-delayedarray)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-dqrng" ,r-dqrng)
("r-edger" ,r-edger)
("r-igraph" ,r-igraph)
("r-iranges" ,r-iranges)
("r-limma" ,r-limma)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-s4vectors" ,r-s4vectors)
("r-scater" ,r-scater)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-statmod" ,r-statmod)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/scran")
(synopsis "Methods for single-cell RNA-Seq data analysis")
(description "This package implements a variety of low-level analyses of
single-cell RNA-seq data. Methods are provided for normalization of
cell-specific biases, assignment of cell cycle phase, and detection of highly
variable and significantly correlated genes.")
(license license:gpl3)))
(define-public r-delayedmatrixstats
(package
(name "r-delayedmatrixstats")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DelayedMatrixStats" version))
(sha256
(base32
"046sam0rz42ph0m7jz7v3bck7d3h2mp45gzywh5dvc1qkjq6fdxx"))))
(properties
`((upstream-name . "DelayedMatrixStats")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-delayedarray" ,r-delayedarray)
("r-hdf5array" ,r-hdf5array)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-matrixstats" ,r-matrixstats)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/PeteHaitch/DelayedMatrixStats")
(synopsis "Functions that apply to rows and columns of DelayedMatrix objects")
(description
"This package provides a port of the @code{matrixStats} API for use with
@code{DelayedMatrix} objects from the @code{DelayedArray} package. It
contains high-performing functions operating on rows and columns of
@code{DelayedMatrix} objects, e.g. @code{colMedians}, @code{rowMedians},
@code{colRanks}, @code{rowRanks}, @code{colSds}, and @code{rowSds}. Functions
are optimized per data type and for subsetted calculations such that both
memory usage and processing time is minimized.")
(license license:expat)))
+619 -46
View File
@@ -11,8 +11,8 @@
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018, 2019, 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@@ -313,7 +313,7 @@ BAM files.")
(define-public bcftools
(package
(name "bcftools")
(version "1.11")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/samtools/bcftools/"
@@ -321,11 +321,11 @@ BAM files.")
version "/bcftools-" version ".tar.bz2"))
(sha256
(base32
"0r508mp15pqzf8r1269kb4v5naw9zsvbwd3cz8s1yj7carsf9viw"))
"1j3h638i8kgihzyrlnpj82xg1b23sijibys9hvwari3fy7kd0dkg"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
(delete-file-recursively "htslib-1.11")
(delete-file-recursively "htslib-1.9")
#t))))
(build-system gnu-build-system)
(arguments
@@ -1894,7 +1894,7 @@ multiple sequence alignments.")
(define-public python-pysam
(package
(name "python-pysam")
(version "0.16.0.1")
(version "0.15.1")
(source (origin
(method git-fetch)
;; Test data is missing on PyPi.
@@ -1904,7 +1904,7 @@ multiple sequence alignments.")
(file-name (git-file-name name version))
(sha256
(base32
"168bwwm8c2k22m7paip8q0yajyl7xdxgnik0bgjl7rhqg0majz0f"))
"1vj367w6xbn9bpmksm162l1aipf7cj97h1q83y7jcpm33ihwpf7x"))
(modules '((guix build utils)))
(snippet '(begin
;; Drop bundled htslib. TODO: Also remove samtools
@@ -1934,13 +1934,8 @@ multiple sequence alignments.")
;; This file contains tests that require a connection to the
;; internet.
(delete-file "tests/tabix_test.py")
;; These tests fail (see:
;; https://github.com/pysam-developers/pysam/issues/939).
(delete-file "tests/compile_test.py")
;; FIXME: This test fails
(delete-file "tests/AlignmentFile_test.py")
(delete-file "tests/AlignmentFileHeader_test.py")
(delete-file "tests/StreamFiledescriptors_test.py")
(delete-file "tests/VariantRecord_test.py")
;; Add first subdirectory of "build" directory to PYTHONPATH.
(setenv "PYTHONPATH"
(string-append
@@ -1970,8 +1965,7 @@ multiple sequence alignments.")
;; Dependencies below are are for tests only.
("samtools" ,samtools)
("bcftools" ,bcftools)
("python-nose" ,python-nose)
("python-pytest" ,python-pytest)))
("python-nose" ,python-nose)))
(home-page "https://github.com/pysam-developers/pysam")
(synopsis "Python bindings to the SAMtools C API")
(description
@@ -2626,7 +2620,7 @@ with Python.")
(define-public delly
(package
(name "delly")
(version "0.8.3")
(version "0.7.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2634,7 +2628,7 @@ with Python.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ibnplgfzj96w8glkx17v7sld3pm402fr5ybmf3h0rlcryabxrqy"))
(base32 "034jqsxswy9gqdh2zkgc1js99qkv75ks4xvzgmh0284sraagv61z"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2658,9 +2652,9 @@ with Python.")
#t))))))
(inputs
`(("boost" ,boost)
("bzip2" ,bzip2)
("htslib" ,htslib)
("zlib" ,zlib)))
("zlib" ,zlib)
("bzip2" ,bzip2)))
(home-page "https://github.com/dellytools/delly")
(synopsis "Integrated structural variant prediction method")
(description "Delly is an integrated structural variant prediction method
@@ -4221,7 +4215,7 @@ performance.")
(define-public htslib
(package
(name "htslib")
(version "1.11")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4229,15 +4223,8 @@ performance.")
version "/htslib-" version ".tar.bz2"))
(sha256
(base32
"1mrq4mihzx37yqhj3sfz6da6mw49niia808bzsw2gkkgmadxvyng"))))
"16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0"))))
(build-system gnu-build-system)
;; Let htslib translate "gs://" and "s3://" to regular https links with
;; "--enable-gcs" and "--enable-s3". For these options to work, we also
;; need to set "--enable-libcurl".
(arguments
`(#:configure-flags '("--enable-gcs"
"--enable-libcurl"
"--enable-s3")))
(inputs
`(("curl" ,curl)
("openssl" ,openssl)))
@@ -4509,7 +4496,7 @@ sequencing tag position and orientation.")
(define-public mafft
(package
(name "mafft")
(version "7.471")
(version "7.394")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4518,7 +4505,7 @@ sequencing tag position and orientation.")
(file-name (string-append name "-" version ".tgz"))
(sha256
(base32
"0r1973fx2scq4712zdqfy67wkzqj0c0bhrdy4jxhvq40mdxyry30"))))
"0bacjkxfg944p5khhyh5rd4y7wkjc9qk4v2jjj442sqlq0f8ar7b"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no automated tests, though there are tests in the read me
@@ -4581,7 +4568,7 @@ sequencing tag position and orientation.")
("gawk" ,gawk)
("grep" ,grep)
("coreutils" ,coreutils)))
(home-page "https://mafft.cbrc.jp/alignment/software/")
(home-page "http://mafft.cbrc.jp/alignment/software/")
(synopsis "Multiple sequence alignment program")
(description
"MAFFT offers a range of multiple alignment methods for nucleotide and
@@ -4589,7 +4576,7 @@ protein sequences. For instance, it offers L-INS-i (accurate; for alignment
of <~200 sequences) and FFT-NS-2 (fast; for alignment of <~30,000
sequences).")
(license (license:non-copyleft
"https://mafft.cbrc.jp/alignment/software/license.txt"
"http://mafft.cbrc.jp/alignment/software/license.txt"
"BSD-3 with different formatting"))))
(define-public mash
@@ -5619,7 +5606,7 @@ to the user's query of interest.")
(define-public samtools
(package
(name "samtools")
(version "1.11")
(version "1.9")
(source
(origin
(method url-fetch)
@@ -5628,11 +5615,11 @@ to the user's query of interest.")
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
"1dp5wknak4arnw5ghhif9mmljlfnw5bgm91wib7z0j8wdjywx0z2"))
"10ilqbmm7ri8z431sn90lvbjwizd0hhkf9rcqw8j823hf26nhgq8"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
(delete-file-recursively "htslib-1.11")
(delete-file-recursively "htslib-1.9")
#t))))
(build-system gnu-build-system)
(arguments
@@ -6370,14 +6357,14 @@ bioinformatics file formats, sequence alignment, and more.")
(define-public seqmagick
(package
(name "seqmagick")
(version "0.8.0")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "seqmagick" version))
(sha256
(base32
"0pf98da7i59q47gwrbx0wjk6xlvbybiwphw80w7h4ydjj0579a2b"))))
"12bfyp8nqi0hd36rmj450aygafp01qy3hkbvlwn3bk39pyjjkgg5"))))
(build-system python-build-system)
(inputs
`(("python-biopython" ,python-biopython)))
@@ -7552,13 +7539,13 @@ also known as views, in a controlled vocabulary.")
(define-public r-biocstyle
(package
(name "r-biocstyle")
(version "2.16.1")
(version "2.16.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocStyle" version))
(sha256
(base32
"09sz2bnbfbj8wz16k0q8xrvag9fldxqyp5vbg9pvd9skh28hv7c7"))))
"07rjl2n4sazdg581zh7w3yykzphgr2gpz41ba4ryqs7347vh9nbf"))))
(properties
`((upstream-name . "BiocStyle")))
(build-system r-build-system)
@@ -8523,6 +8510,57 @@ Stephens (1990).")
throughput genetic sequencing data sets using regression methods.")
(license license:artistic2.0)))
(define-public r-qtl
(package
(name "r-qtl")
(version "1.46-2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cran/src/contrib/qtl_"
version ".tar.gz"))
(sha256
(base32
"0rbwcnvyy96gq1dsgpxx03pv423qya26h6ws5y0blj3blfdmj83a"))))
(build-system r-build-system)
(home-page "https://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics")
(description "R/qtl is an extension library for the R statistics
system. It is used to analyze experimental crosses for identifying
genes contributing to variation in quantitative traits (so-called
quantitative trait loci, QTLs).
Using a hidden Markov model, R/qtl estimates genetic maps, to
identify genotyping errors, and to perform single-QTL and two-QTL,
two-dimensional genome scans.")
(license license:gpl3)))
(define-public r-qtl2
(package
(name "r-qtl2")
(version "0.22-11")
(source (origin
(method url-fetch)
(uri (cran-uri "qtl2" version))
(sha256
(base32 "0dfdzjylqzc92dcszawc8cyinxccjm3p36v9vcq9ma818pqcanmr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-jsonlite" ,r-jsonlite)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-rsqlite" ,r-rsqlite)
("r-yaml" ,r-yaml)))
(home-page "https://kbroman.org/qtl2/")
(synopsis "Quantitative Trait Locus Mapping in Experimental Crosses")
(description
"This package provides a set of tools to perform @dfn{Quantitative Trait
Locus} (QTL) analysis in experimental crosses. It is a reimplementation of the
@code{R/qtl} package to better handle high-dimensional data and complex cross
designs. Broman et al. (2018) <doi:10.1534/genetics.118.301595>.")
(license license:gpl3)))
(define-public r-zlibbioc
(package
(name "r-zlibbioc")
@@ -8861,13 +8899,13 @@ of gene-level counts.")
(define-public r-rhdf5
(package
(name "r-rhdf5")
(version "2.32.3")
(version "2.32.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rhdf5" version))
(sha256
(base32
"0fnx60dpf6s2qwq48lg98g18g8k7wgm66pw0kamlbb7l2hnwycvf"))))
"1v6ygi0avh3gmaj2ld2nr7vww4ipw39b5kqci9w27i3ja985lb8j"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rhdf5lib" ,r-rhdf5lib)))
@@ -9406,6 +9444,28 @@ imaging data that can be used in subsequent analyses to adjust for unknown,
unmodeled, or latent sources of noise.")
(license license:artistic2.0)))
(define-public r-seqminer
(package
(name "r-seqminer")
(version "8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "seqminer" version))
(sha256
(base32
"00jzj8mwb0zaiwlifd41b26mrq9mzigj18nc29dydi0r42hxg16i"))))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
(home-page "http://seqminer.genomic.codes")
(synopsis "Read nucleotide sequence data (VCF, BCF, and METAL formats)")
(description
"This package provides tools to integrate nucleotide sequencing
data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.")
;; Any version of the GPL is acceptable
(license (list license:gpl2+ license:gpl3+))))
(define-public r-raremetals2
(package
(name "r-raremetals2")
@@ -9438,6 +9498,32 @@ for analyzing gene-level association tests in meta-analyses for binary
trait.")
(license license:gpl3)))
(define-public r-maldiquant
(package
(name "r-maldiquant")
(version "1.19.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "MALDIquant" version))
(sha256
(base32
"0b7kdz3x4sdq413h1q09l1qhcvdnnwv6fqsqwllks1cd3xy34c57"))))
(properties `((upstream-name . "MALDIquant")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/MALDIquant")
(synopsis "Quantitative analysis of mass spectrometry data")
(description
"This package provides a complete analysis pipeline for matrix-assisted
laser desorption/ionization-time-of-flight (MALDI-TOF) and other
two-dimensional mass spectrometry data. In addition to commonly used plotting
and processing methods it includes distinctive features, namely baseline
subtraction methods such as morphological filters (TopHat) or the
statistics-sensitive non-linear iterative peak-clipping algorithm (SNIP), peak
alignment using warping functions, handling of replicated measurements as well
as allowing spectra with different resolutions.")
(license license:gpl3+)))
(define-public r-protgenerics
(package
(name "r-protgenerics")
@@ -9748,6 +9834,71 @@ contains a number of utilities to explore the MS/MS results and assess missed
and irregular enzymatic cleavages, mass measurement accuracy, etc.")
(license license:artistic2.0)))
(define-public r-seurat
(package
(name "r-seurat")
(version "3.2.0")
(source (origin
(method url-fetch)
(uri (cran-uri "Seurat" version))
(sha256
(base32
"1vj3dlsqakgnn4x1jz9fkl2cy0jzc5s65h1c20fnamr7lk45pnf2"))))
(properties `((upstream-name . "Seurat")))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
("r-cluster" ,r-cluster)
("r-cowplot" ,r-cowplot)
("r-fitdistrplus" ,r-fitdistrplus)
("r-future" ,r-future)
("r-future-apply" ,r-future-apply)
("r-ggplot2" ,r-ggplot2)
("r-ggrepel" ,r-ggrepel)
("r-ggridges" ,r-ggridges)
("r-httr" ,r-httr)
("r-ica" ,r-ica)
("r-igraph" ,r-igraph)
("r-irlba" ,r-irlba)
("r-jsonlite" ,r-jsonlite)
("r-kernsmooth" ,r-kernsmooth)
("r-leiden" ,r-leiden)
("r-lmtest" ,r-lmtest)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-miniui" ,r-miniui)
("r-patchwork" ,r-patchwork)
("r-pbapply" ,r-pbapply)
("r-plotly" ,r-plotly)
("r-png" ,r-png)
("r-rann" ,r-rann)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rcpp" ,r-rcpp)
("r-rcppannoy" ,r-rcppannoy)
("r-rcppeigen" ,r-rcppeigen)
("r-rcppprogress" ,r-rcppprogress)
("r-reticulate" ,r-reticulate)
("r-rlang" ,r-rlang)
("r-rocr" ,r-rocr)
("r-rsvd" ,r-rsvd)
("r-rtsne" ,r-rtsne)
("r-scales" ,r-scales)
("r-sctransform" ,r-sctransform)
("r-shiny" ,r-shiny)
("r-spatstat" ,r-spatstat)
("r-tibble" ,r-tibble)
("r-uwot" ,r-uwot)))
(home-page "http://www.satijalab.org/seurat")
(synopsis "Seurat is an R toolkit for single cell genomics")
(description
"This package is an R package designed for QC, analysis, and
exploration of single cell RNA-seq data. It easily enables widely-used
analytical techniques, including the identification of highly variable genes,
dimensionality reduction; PCA, ICA, t-SNE, standard unsupervised clustering
algorithms; density clustering, hierarchical clustering, k-means, and the
discovery of differentially expressed genes and markers.")
(license license:gpl3)))
(define-public r-aroma-light
(package
(name "r-aroma-light")
@@ -10285,14 +10436,14 @@ interval to data view, mismatch pileup, and several splicing summaries.")
(define-public r-gqtlbase
(package
(name "r-gqtlbase")
(version "1.20.4")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "gQTLBase" version))
(sha256
(base32
"1ly14vhhqxjpbxjypi6ppd37dycabdhf4ny4nsvp9969k418zv41"))))
"06xvzp4fn3qfa46ggg8kxi267gbyd821vvx4040173xkqxpr0g5j"))))
(properties `((upstream-name . "gQTLBase")))
(build-system r-build-system)
(propagated-inputs
@@ -10612,6 +10763,371 @@ EMBL-EBI GWAS catalog.")
visualizations for publication-quality multi-panel figures.")
(license license:gpl2+)))
(define-public r-fithic
(package
(name "r-fithic")
(version "1.14.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "FitHiC" version))
(sha256
(base32
"1dffkdxm08wq4kjd9j2v2625x3p6vbrk33a2zx94pwpgkghr72yp"))))
(properties `((upstream-name . "FitHiC")))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-fdrtool" ,r-fdrtool)
("r-rcpp" ,r-rcpp)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/FitHiC")
(synopsis "Confidence estimation for intra-chromosomal contact maps")
(description
"Fit-Hi-C is a tool for assigning statistical confidence estimates to
intra-chromosomal contact maps produced by genome-wide genome architecture
assays such as Hi-C.")
(license license:gpl2+)))
(define-public r-hitc
(package
(name "r-hitc")
(version "1.32.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "HiTC" version))
(sha256
(base32
"1jx2pfa7sbdz7xi466lz1h5xv126g56z73n0a5l2wrq28k47qaxy"))))
(properties `((upstream-name . "HiTC")))
(build-system r-build-system)
(propagated-inputs
`(("r-biostrings" ,r-biostrings)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rtracklayer" ,r-rtracklayer)))
(home-page "https://bioconductor.org/packages/HiTC")
(synopsis "High throughput chromosome conformation capture analysis")
(description
"The HiTC package was developed to explore high-throughput \"C\" data
such as 5C or Hi-C. Dedicated R classes as well as standard methods for
quality controls, normalization, visualization, and further analysis are also
provided.")
(license license:artistic2.0)))
(define-public r-hdf5array
(package
(name "r-hdf5array")
(version "1.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
"01767v90nl0499jcicpxngbbs0af5p9c5aasi5va01w3v5bnqddn"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-delayedarray" ,r-delayedarray)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-rhdf5" ,r-rhdf5)
("r-rhdf5lib" ,r-rhdf5lib)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/HDF5Array")
(synopsis "HDF5 back end for DelayedArray objects")
(description "This package provides an array-like container for convenient
access and manipulation of HDF5 datasets. It supports delayed operations and
block processing.")
(license license:artistic2.0)))
(define-public r-rhdf5lib
(package
(name "r-rhdf5lib")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rhdf5lib" version))
(sha256
(base32
"0f45sqrvzj6x4mckalyp8366hm8v0rrmzklx3xd4gs6l2wallcn9"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled binaries
(delete-file-recursively "src/wininclude/")
(delete-file-recursively "src/winlib-4.9.3/")
(delete-file-recursively "src/winlib-8.3.0/")
(delete-file "src/hdf5small_cxx_hl_1.10.6.tar.gz")
#t))))
(properties `((upstream-name . "Rhdf5lib")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-use-bundled-hdf5
(lambda* (#:key inputs #:allow-other-keys)
(for-each delete-file '("configure" "configure.ac"))
;; Do not make other packages link with the proprietary libsz.
(substitute* "R/zzz.R"
((" \"%s/libsz.a\"") ""))
(with-directory-excursion "src"
(invoke "tar" "xvf" (assoc-ref inputs "hdf5-source"))
(rename-file (string-append "hdf5-" ,(package-version hdf5-1.10))
"hdf5")
;; Remove timestamp and host system information to make
;; the build reproducible.
(substitute* "hdf5/src/libhdf5.settings.in"
(("Configured on: @CONFIG_DATE@")
"Configured on: Guix")
(("Uname information:.*")
"Uname information: Linux\n")
;; Remove unnecessary store reference.
(("C Compiler:.*")
"C Compiler: GCC\n"))
(rename-file "Makevars.in" "Makevars")
(substitute* "Makevars"
(("@ZLIB_LIB@") "-lz")
(("@ZLIB_INCLUDE@") "")
(("HDF5_CXX_LIB=.*")
(string-append "HDF5_CXX_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5_cpp.a\n"))
(("HDF5_LIB=.*")
(string-append "HDF5_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5.a\n"))
(("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n")
(("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n")
(("HDF5_HL_INCLUDE=.*") "HDF5_HL_INCLUDE=./hdf5/hl/src\n")
(("HDF5_HL_CXX_INCLUDE=.*") "HDF5_HL_CXX_INCLUDE=./hdf5/hl/c++/src\n")
(("HDF5_HL_LIB=.*")
(string-append "HDF5_HL_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl.a\n"))
(("HDF5_HL_CXX_LIB=.*")
(string-append "HDF5_HL_CXX_LIB="
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl_cpp.a\n"))
;; szip is non-free software
(("cp \"\\$\\{SZIP_LIB\\}.*") "")
(("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n")))
#t)))))
(inputs
`(("zlib" ,zlib)))
(propagated-inputs
`(("hdf5" ,hdf5-1.10)))
(native-inputs
`(("hdf5-source" ,(package-source hdf5-1.10))
("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/Rhdf5lib")
(synopsis "HDF5 library as an R package")
(description "This package provides C and C++ HDF5 libraries for use in R
packages.")
(license license:artistic2.0)))
(define-public r-beachmat
(package
(name "r-beachmat")
(version "2.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "beachmat" version))
(sha256
(base32
"1vl6jbf9ia78cm4ikdb8vz04jv4b46zhvg5i006c63a9pzw7zhxi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-delayedarray" ,r-delayedarray)
("r-matrix" ,r-matrix)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/beachmat")
(synopsis "Compiling Bioconductor to handle each matrix type")
(description "This package provides a consistent C++ class interface for a
variety of commonly used matrix types, including sparse and HDF5-backed
matrices.")
(license license:gpl3)))
(define-public r-singlecellexperiment
(package
(name "r-singlecellexperiment")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "SingleCellExperiment" version))
(sha256
(base32
"092wvk11n7pa234vlwhxm3gdi4k3sbnz1splhxalbdhz3jf02zfp"))))
(properties
`((upstream-name . "SingleCellExperiment")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-s4vectors" ,r-s4vectors)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/SingleCellExperiment")
(synopsis "S4 classes for single cell data")
(description "This package defines an S4 class for storing data from
single-cell experiments. This includes specialized methods to store and
retrieve spike-in information, dimensionality reduction coordinates and size
factors for each cell, along with the usual metadata for genes and
libraries.")
(license license:gpl3)))
(define-public r-scater
(package
(name "r-scater")
(version "1.16.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "scater" version))
(sha256
(base32
"1pa5wvgjb30rw1vsjwbnn07ss3sc5n8ck5d7khdby4r2s9177s33"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
("r-biocgenerics" ,r-biocgenerics)
("r-biocneighbors" ,r-biocneighbors)
("r-biocparallel" ,r-biocparallel)
("r-biocsingular" ,r-biocsingular)
("r-delayedarray" ,r-delayedarray)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-ggbeeswarm" ,r-ggbeeswarm)
("r-ggplot2" ,r-ggplot2)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-rlang" ,r-rlang)
("r-s4vectors" ,r-s4vectors)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-viridis" ,r-viridis)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/davismcc/scater")
(synopsis "Single-cell analysis toolkit for gene expression data in R")
(description "This package provides a collection of tools for doing
various analyses of single-cell RNA-seq gene expression data, with a focus on
quality control.")
(license license:gpl2+)))
(define-public r-scran
(package
(name "r-scran")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scran" version))
(sha256
(base32
"1gm4ys4aq8h1pn45k1rxk384wjyf55izivw8kgxbrflj6j4xvvsv"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
("r-bh" ,r-bh)
("r-biocgenerics" ,r-biocgenerics)
("r-biocneighbors" ,r-biocneighbors)
("r-biocparallel" ,r-biocparallel)
("r-biocsingular" ,r-biocsingular)
("r-delayedarray" ,r-delayedarray)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-dqrng" ,r-dqrng)
("r-edger" ,r-edger)
("r-igraph" ,r-igraph)
("r-iranges" ,r-iranges)
("r-limma" ,r-limma)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-s4vectors" ,r-s4vectors)
("r-scater" ,r-scater)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-statmod" ,r-statmod)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/scran")
(synopsis "Methods for single-cell RNA-Seq data analysis")
(description "This package implements a variety of low-level analyses of
single-cell RNA-seq data. Methods are provided for normalization of
cell-specific biases, assignment of cell cycle phase, and detection of highly
variable and significantly correlated genes.")
(license license:gpl3)))
(define-public r-delayedmatrixstats
(package
(name "r-delayedmatrixstats")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DelayedMatrixStats" version))
(sha256
(base32
"046sam0rz42ph0m7jz7v3bck7d3h2mp45gzywh5dvc1qkjq6fdxx"))))
(properties
`((upstream-name . "DelayedMatrixStats")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-delayedarray" ,r-delayedarray)
("r-hdf5array" ,r-hdf5array)
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-matrixstats" ,r-matrixstats)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/PeteHaitch/DelayedMatrixStats")
(synopsis "Functions that apply to rows and columns of DelayedMatrix objects")
(description
"This package provides a port of the @code{matrixStats} API for use with
@code{DelayedMatrix} objects from the @code{DelayedArray} package. It
contains high-performing functions operating on rows and columns of
@code{DelayedMatrix} objects, e.g. @code{colMedians}, @code{rowMedians},
@code{colRanks}, @code{rowRanks}, @code{colSds}, and @code{rowSds}. Functions
are optimized per data type and for subsetted calculations such that both
memory usage and processing time is minimized.")
(license license:expat)))
(define-public r-phangorn
(package
(name "r-phangorn")
(version "2.5.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "phangorn" version))
(sha256
(base32
"0ihkaykqjmf80d8wrk3saphxvnv58zma6pd13633bd3cwanc33f5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
("r-fastmatch" ,r-fastmatch)
("r-igraph" ,r-igraph)
("r-magrittr" ,r-magrittr)
("r-matrix" ,r-matrix)
("r-quadprog" ,r-quadprog)
("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/KlausVigo/phangorn")
(synopsis "Phylogenetic analysis in R")
(description
"Phangorn is a package for phylogenetic analysis in R. It supports
estimation of phylogenetic trees and networks using Maximum Likelihood,
Maximum Parsimony, distance methods and Hadamard conjugation.")
(license license:gpl2+)))
(define-public r-dropbead
(let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
(revision "2"))
@@ -10960,7 +11476,7 @@ programs for inferring phylogenies (evolutionary trees).")
(define-public imp
(package
(name "imp")
(version "2.13.0")
(version "2.6.2")
(source
(origin
(method url-fetch)
@@ -10968,7 +11484,7 @@ programs for inferring phylogenies (evolutionary trees).")
version "/download/imp-" version ".tar.gz"))
(sha256
(base32
"1z1vcpwbylixk0zywngg5iw0jv083jj1bqphi817jpg3fb9fx2jj"))))
"0lxqx7vh79d771svr611dkilp6sn30qrbw8zvscbrm37v38d2j6h"))))
(build-system cmake-build-system)
(arguments
`(;; FIXME: Some tests fail because they produce warnings, others fail
@@ -10980,7 +11496,6 @@ programs for inferring phylogenies (evolutionary trees).")
("swig" ,swig)
("hdf5" ,hdf5)
("fftw" ,fftw)
("eigen" ,eigen)
("python" ,python-2)))
(propagated-inputs
`(("python2-numpy" ,python2-numpy)
@@ -12761,6 +13276,37 @@ analyses in addition to large-scale sequence-level searches.")
(supported-systems '("x86_64-linux"))
(license license:bsd-3))))
(define-public r-diversitree
(package
(name "r-diversitree")
(version "0.9-13")
(source
(origin
(method url-fetch)
(uri (cran-uri "diversitree" version))
(sha256
(base32
"00vi4klywi35hd170ksjv3xja3hqqbkcidcnrrlpgv4179k0azix"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(inputs `(("fftw" ,fftw) ("gsl" ,gsl)))
(propagated-inputs
`(("r-ape" ,r-ape)
("r-desolve" ,r-desolve)
("r-rcpp" ,r-rcpp)
("r-subplex" ,r-subplex)))
(home-page "https://www.zoology.ubc.ca/prog/diversitree")
(synopsis "Comparative 'phylogenetic' analyses of diversification")
(description "This package contains a number of comparative \"phylogenetic\"
methods, mostly focusing on analysing diversification and character evolution.
Contains implementations of \"BiSSE\" (Binary State Speciation and Extinction)
and its unresolved tree extensions, \"MuSSE\" (Multiple State Speciation and
Extinction), \"QuaSSE\", \"GeoSSE\", and \"BiSSE-ness\" Other included methods
include Markov models of discrete and continuous trait evolution and constant
rate speciation and extinction.")
(license license:gpl2+)))
(define-public sjcount
;; There is no tag for version 3.2, nor is there a release archive.
(let ((commit "292d3917cadb3f6834c81e509c30e61cd7ead6e5")
@@ -13760,6 +14306,33 @@ downstream analysis. Poretools operates directly on the native FAST5, a variant
of the Hierarchical Data Format (HDF5) standard.")
(license license:expat))))
(define-public r-absfiltergsea
(package
(name "r-absfiltergsea")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "AbsFilterGSEA" version))
(sha256
(base32 "15srxkxsvn38kd5frdrwfdf0ad8gskrd0h01wmdf9hglq8fjrp7w"))))
(properties `((upstream-name . "AbsFilterGSEA")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-deseq" ,r-deseq)
("r-limma" ,r-limma)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
(home-page "https://cran.r-project.org/web/packages/AbsFilterGSEA/")
(synopsis "Improved false positive control of gene-permuting with absolute filtering")
(description
"This package provides a function that performs gene-permuting of a gene-set
enrichment analysis (GSEA) calculation with or without the absolute filtering.
Without filtering, users can perform (original) two-tailed or one-tailed
absolute GSEA.")
(license license:gpl2)))
(define-public jamm
(package
(name "jamm")
+14 -52
View File
@@ -34,7 +34,6 @@
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages boost)
@@ -56,7 +55,6 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sqlite)
@@ -467,65 +465,29 @@ features.")
(define-public deluge
(package
(name "deluge")
(version "2.0.3")
(version "1.3.15")
(source
(origin
(method url-fetch)
(uri (string-append
"https://ftp.osuosl.org/pub/deluge/source/"
(version-major+minor version) "/deluge-" version ".tar.xz"))
"http://download.deluge-torrent.org/source/deluge-"
version ".tar.xz"))
(sha256
(base32
"14d8kn2pvr1qv8mwqrxmj85jycr73vwfqz12hzag0ararbkfhyky"))))
"0b7rri4x0wrcj7rjghrnw1kfrsd5i7i6aq85dsg5dg1w1qa0ar59"))))
(build-system python-build-system)
(propagated-inputs
`(("gtk+" ,gtk+)
("librsvg" ,librsvg)
("libtorrent" ,libtorrent-rasterbar)
("python-pycairo" ,python-pycairo)
("python-chardet" ,python-chardet)
("python-dbus" ,python-dbus)
("python-mako" ,python-mako)
("python-pygobject" ,python-pygobject)
("python-pillow" ,python-pillow)
("python-pyopenssl" ,python-pyopenssl)
("python-pyxdg" ,python-pyxdg)
("python-rencode" ,python-rencode)
("python-service-identity" ,python-service-identity)
("python-setproctitle" ,python-setproctitle)
("python-six" ,python-six)
("python-twisted" ,python-twisted)
("python-zope-interface" ,python-zope-interface)))
(inputs
`(("libtorrent" ,libtorrent-rasterbar)
("python2-chardet" ,python2-chardet)
("python2-pygtk" ,python2-pygtk)
("python2-pyopenssl" ,python2-pyopenssl)
("python2-pyxdg" ,python2-pyxdg)
("python2-service-identity" ,python2-service-identity)
("python2-twisted" ,python2-twisted)))
(native-inputs
`(("intltool" ,intltool)
("python-wheel" ,python-wheel)))
;; TODO: Enable tests.
;; After "pytest-twisted" is packaged, HOME is set, and an X server is
;; started, some of the tests still fail. There are likely some tests
;; that require a network connection.
`(("intltool" ,intltool)))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
;; Remove this phase when upgrading to version 2.0.4 or beyond, as
;; the issue is fixed upstream.
(add-after 'unpack 'fix-gettext-warning
(lambda _
(substitute* "deluge/i18n/util.py"
(("names='ngettext'") "names=['ngettext']"))
#t))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(for-each
(lambda (program)
(wrap-program program
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
(map (lambda (name)
(string-append out "/bin/" name))
'("deluge" "deluge-gtk"))))
#t)))))
`(#:python ,python-2))
(home-page "https://www.deluge-torrent.org/")
(synopsis "Fully-featured cross-platform BitTorrent client")
(description
+1 -11
View File
@@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -40,7 +40,6 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages hurd)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
@@ -139,15 +138,6 @@
,(%current-target-system)))))
'())
;; Change an #ifdef __MACH__ that really targets macOS.
;; TODO: Inline this on the next rebuild cycle.
,@(if (hurd-target?)
'((substitute* "boost/test/utils/timer.hpp"
(("defined\\(__MACH__\\)")
"(defined __MACH__ && !defined __GNU__)"))
#t)
'())
(invoke "./bootstrap.sh"
(string-append "--prefix=" out)
;; Auto-detection looks for ICU only in traditional
+15 -14
View File
@@ -446,7 +446,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2020.10")
(version "2020.07")
(source (origin
(method url-fetch)
(uri (string-append
@@ -454,7 +454,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"08m6f1bh4pdcqbxf983qdb66ccd5vak5cbzc114yf3jwq2yinj0d"))))
"0sjzy262x93aaqd6z24ziaq19xjjjk5f577ivf768vmvwsgbzxf1"))))
(native-inputs
`(("bc" ,bc)
("bison" ,bison)
@@ -465,6 +465,7 @@ tree binary files. These are board description files used by Linux and BSD.")
("python" ,python)
("python-coverage" ,python-coverage)
("python-pytest" ,python-pytest)
("sdl2" ,sdl2)
("swig" ,swig)))
(build-system gnu-build-system)
(home-page "https://www.denx.de/wiki/U-Boot/")
@@ -477,12 +478,9 @@ also initializes the boards (RAM etc).")
(package
(inherit u-boot)
(name "u-boot-tools")
(native-inputs
`(("sdl2" ,sdl2)
,@(package-native-inputs u-boot)))
(arguments
`(#:make-flags '("HOSTCC=gcc")
#:test-target "tcheck"
#:test-target "tests"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
@@ -493,8 +491,11 @@ also initializes the boards (RAM etc).")
(substitute* "tools/dtoc/fdt_util.py"
(("'cc'") "'gcc'"))
(substitute* "tools/patman/test_util.py"
;; python3-coverage is simply called coverage in guix.
(("python3-coverage") "coverage"))
;; python*-coverage is simply called coverage in guix.
(("%s-coverage") "coverage")
;; XXX Allow for only 99% test coverage.
;; TODO: Find out why that is needed.
(("if coverage != '100%':") "if not int(coverage.rstrip('%')) >= 99:"))
(substitute* "test/run"
;; Make it easier to find test failures.
(("#!/bin/bash") "#!/bin/bash -x")
@@ -504,6 +505,8 @@ also initializes the boards (RAM etc).")
(("run_test \"binman\"") ": run_test \"binman\"")
;; FIXME: code coverage not working
(("run_test \"binman code coverage\"") ": run_test \"binman code coverage\"")
(("run_test \"dtoc code coverage\"") ": run_test \"dtoc code coverage\"")
(("run_test \"fdt code coverage\"") ": run_test \"fdt code coverage\"")
;; This test would require internet access.
(("\\./tools/buildman/buildman") (which "true")))
(substitute* "test/py/tests/test_sandbox_exit.py"
@@ -516,12 +519,10 @@ def test_ctrl_c"))
(("BASEDIR=sandbox") "BASEDIR=."))
(for-each (lambda (file)
(substitute* file
;; Disable features that require OpenSSL due
;; to GPL/Openssl license incompatibilities.
;; See https://bugs.gnu.org/34717 for
;; details.
(("CONFIG_FIT_SIGNATURE=y")
"CONFIG_FIT_SIGNATURE=n\nCONFIG_UT_LIB_ASN1=n")
;; Disable signatures, due to GPL/Openssl
;; license incompatibilities. See
;; https://bugs.gnu.org/34717 for details.
(("CONFIG_FIT_SIGNATURE=y") "CONFIG_FIT_SIGNATURE=n")
;; This test requires a sound system, which is un-used
;; in u-boot-tools.
(("CONFIG_SOUND=y") "CONFIG_SOUND=n")))
+5 -20
View File
@@ -89,7 +89,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(define-public bear
(package
(name "bear")
(version "2.4.4")
(version "2.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -98,7 +98,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(file-name (git-file-name name version))
(sha256
(base32
"184dqjcpxiwcfziyi67zzran2c4fal1r3j8nhjdjadcmfxf4389d"))))
"19fk4flfykbzhb89ppmzqf0zlrkbjm6ajl9fsayndj9km5ys0041"))))
(build-system cmake-build-system)
(inputs
`(("python" ,python-wrapper)))
@@ -111,8 +111,8 @@ generate such a compilation database.")
(license license:gpl3+)))
(define-public gn
(let ((commit "e327ffdc503815916db2543ec000226a8df45163")
(revision "1819")) ;as returned by `git describe`, used below
(let ((commit "eb997b5ab9c3f1ba6a2c52072785884864a84eae")
(revision "1794")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
@@ -122,7 +122,7 @@ generate such a compilation database.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"0kvlfj3www84zp1vmxh76x8fdjm9hyk8lkh2vdsidafpmm75fphr"))
"1vfkcy34wqhg7wsk7jdzhgnnzwim10wgbxv5bnavxzjcs871i2xa"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -211,21 +211,6 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that
resembles Python.")
(license license:asl2.0)))
;; Added temporarily for packages that need it.
;; TODO: Remove when core-updates is merged.
(define-public meson-0.55
(package
(inherit meson)
(version "0.55.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
"releases/download/" version "/meson-"
version ".tar.gz"))
(sha256
(base32
"1070kjiirxxdfppmrhi3wsc6rykay1zlciqrzayjhjg0hkw42mrv"))))))
(define-public meson-for-build
(package
(inherit meson)
+1 -60
View File
@@ -8,7 +8,7 @@
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -40,7 +40,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages guile)
#:use-module (gnu packages lua)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
@@ -258,64 +257,6 @@ string formatting and autoresizing, option and config file parsing, type
checking casts and more.")
(license license:lgpl2.1+)))
(define-public libwuya
;; This commit is the one before "wuy_pool.h" was removed from libwuya,
;; which libleak currently requires.
(let ((revision "1")
(commit "883502041044f4616cfbf75c8f2bb60059f704a9"))
(package
(name "libwuya")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/WuBingzheng/libwuya")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1xrsqbgr13g2v0ag165ryp7xrwzv41xfygzk2a3445ca98c1qpdc"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test suite
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-lua-includes
(lambda _
(substitute* '("wuy_cflua.h" "wuy_cflua.c")
(("<lua5\\.1/") "<"))
#t))
(add-after 'unpack 'add--fPIC-to-CFLAGS
(lambda _
(substitute* "Makefile"
(("CFLAGS[^\n]*" all)
(string-append all " -fPIC")))
#t))
(add-before 'build 'set-CC
(lambda _
(setenv "CC" "gcc")
#t))
(delete 'configure) ;no configure script
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(include-dir (string-append out "/include"))
(headers (find-files "." "\\.h$")))
(for-each (lambda (h)
(install-file h include-dir))
headers)
(install-file "libwuya.a" (string-append out "/lib"))
#t))))))
(inputs `(("lua" ,lua)))
(home-page "https://github.com/WuBingzheng/libwuya/")
(synopsis "C library implementing various data structures")
(description "The @code{libwuya} library implements data structures such
as dictionaries, skip lists, and memory pools.")
;; There is no clear information as to what license this is distributed
;; under, but it is included (bundled) with libleak from the same author
;; under the GNU GPL v2 or later license, so use this here until it is
;; clarified (see: https://github.com/WuBingzheng/libwuya/issues/2).
(license license:gpl2+))))
(define-public packcc
(package
(name "packcc")
+38 -58
View File
@@ -9,7 +9,6 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -168,17 +167,26 @@ data units.")
(define-public khal
(package
(name "khal")
(version "0.10.2")
(version "0.10.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "khal" version))
(sha256
(base32
"11qhrga44knlnp88py9p547d4nr5kn041d2nszwa3dqw7mf22ks9"))))
(method url-fetch)
(uri (pypi-uri "khal" version))
(sha256
(base32
"1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l"))
(patches
(list
(origin
(method url-fetch)
;; This patch fixes an issue with python-urwid-2.1.0
(uri "https://github.com/pimutils/khal/commit/2c5990c2de2015b251ba23617faa40ee11b8c22a.patch")
(file-name "khal-compat-urwid-2.1.0.patch")
(sha256
(base32
"11nd8hkjz68imwqqn0p54zmb53z2pfxmzchaviy7jc1ky5s9l663")))))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; The test suite is unreliable. See <https://bugs.gnu.org/44197>
#:phases (modify-phases %standard-phases
`(#:phases (modify-phases %standard-phases
;; Building the manpage requires khal to be installed.
(add-after 'install 'manpage
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -188,9 +196,28 @@ data units.")
(install-file
"doc/build/man/khal.1"
(string-append (assoc-ref outputs "out") "/share/man/man1"))
#t)))))
#t))
(add-before 'check 'fix-tests
(lambda _
;; Reported upstream: <https://github.com/pimutils/khal/issues/947>.
(substitute* "tests/cli_test.py"
(("Invalid value for \"\\[ICS\\]\"") "Invalid value for \\'[ICS]\\'"))
#t))
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
;; The tests require us to choose a timezone.
(setenv "TZ"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo/Zulu"))
(invoke "py.test" "tests"))))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-setuptools-scm" ,python-setuptools-scm)
;; Required for tests
("python-freezegun" ,python-freezegun)
("tzdata" ,tzdata-for-tests)
("vdirsyncer" ,vdirsyncer)
;; Required to build manpage
("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
("python-sphinx" ,python-sphinx)))
@@ -201,11 +228,6 @@ data units.")
("python-icalendar" ,python-icalendar)
("python-tzlocal" ,python-tzlocal)
("python-urwid" ,python-urwid)
("python-pytz" ,python-pytz)
("python-setproctitle" ,python-setproctitle)
("python-atomicwrites" ,python-atomicwrites)
("python-click" ,python-click)
("python-click-log" ,python-click-log)
("python-pyxdg" ,python-pyxdg)))
(synopsis "Console calendar program")
(description "Khal is a standards based console calendar program,
@@ -317,45 +339,3 @@ DebConf, FrOSCon, Grazer LinuxTage, and the CCC congresses.
ConfClerk is targeted at mobile devices but works on any system running Qt.")
(license (list license:gpl2+
license:lgpl3)))) ; or cc-by3.0 for src/icons/*
(define-public ccal
(package
(name "ccal")
(version "2.5.3")
(source (origin
(method url-fetch)
(uri (string-append "http://ccal.chinesebay.com/ccal/ccal-"
version ".tar.gz"))
(sha256
(base32
"15nza1d1lvk3dp0wcl53wsd32yhbgyzznha092mh5kh5z74vsk1x"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("/usr/local/bin")
(string-append out "/bin"))
(("/usr/local/man")
(string-append out "/share/man"))))
#t))
(add-after 'install 'install-manuals
(lambda _
(invoke "make" "install-man"))))
;; no tests
#:tests? #f))
(home-page "http://ccal.chinesebay.com/ccal/ccal.htm")
(synopsis "Command line program for Chinese calendar")
(description "@command{ccal} is a command line program which writes a
Gregorian calendar together with Chinese calendar to standard output. Its
usage is similar to the @command{cal} program. In addition to console output,
it can also generate Encapsulated Postscript and HTML table outputs for use in
do-it-yourself calendars and web pages. It supports both simplified and
traditional Chinese characters.")
;; Both licenses are in use in various source files. Note that
;; COPYING.LESSER specifies LGPL 3.0, but all source files say
;; 'Lesser GPL version 2 or later'.
(license (list license:gpl2+ license:lgpl2.1+))))
+2 -2
View File
@@ -30,14 +30,14 @@
(define-public ccache
(package
(name "ccache")
(version "3.7.12")
(version "3.7.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ccache/ccache/releases/download/v"
version "/ccache-" version ".tar.xz"))
(sha256
(base32 "005liq8csgxdn7m9hj2ah07hishww855p8sc96y1hrnwc21lwbx0"))))
(base32 "0s1g0ylrayzax68xlqnxx46f5bhvr2pcm1yzswmj0kcs14404icd"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ; for test/run
("which" ,(@ (gnu packages base) which))))
+10 -9
View File
@@ -737,15 +737,16 @@ information is written to standard error.")
(define-public asunder
(package
(name "asunder")
(version "2.9.7")
(source
(origin
(method url-fetch)
(uri
(string-append "http://www.littlesvr.ca/asunder/releases/asunder-"
version ".tar.bz2"))
(sha256
(base32 "1x3l308ss0iqhz90qyjb94gyd8b4piyrm2nzjmg5kf049k9prjf1"))))
(version "2.9.6")
(source (origin
(method url-fetch)
(uri
(string-append "http://www.littlesvr.ca/asunder/releases/asunder-"
version
".tar.bz2"))
(sha256
(base32
"1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:out-of-source? #f
+4 -4
View File
@@ -337,7 +337,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
(define-public catch-framework2
(package
(name "catch2")
(version "2.13.2")
(version "2.13.0")
(home-page "https://github.com/catchorg/Catch2")
(source (origin
(method git-fetch)
@@ -347,7 +347,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
(file-name (git-file-name name version))
(sha256
(base32
"100r0kmra8jmra2hv92lzvwcmphpaiccwvq3lpdsa5b7hailhach"))))
"0i4w0c9280a5fyi00mvvf13wlnfzyifr487n1iyr30zvvj5s5f1h"))))
(build-system cmake-build-system)
(inputs
`(("python" ,python-wrapper)))
@@ -2681,7 +2681,7 @@ provides a simple way to achieve this.")
(define-public umockdev
(package
(name "umockdev")
(version "0.14.3")
(version "0.14.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/martinpitt/umockdev/"
@@ -2689,7 +2689,7 @@ provides a simple way to achieve this.")
"umockdev-" version ".tar.xz"))
(sha256
(base32
"15smnxwplk48nas2c8ji6a5fqcsh770f1yl5nc2j5iprjspbm4mg"))))
"1nh6xsssmssmk0lxp9c9dmq3wzlpbpkg77nmmd09csbpybibgxfp"))))
(build-system gnu-build-system)
(arguments
`(#:phases
+3 -7
View File
@@ -416,13 +416,9 @@ Chez Scheme.")
;; files.
(define (chez-make-flags name version)
`(let ((out (assoc-ref %outputs "out")))
(list
;; Set 'chezversion' so that libraries are installed in
;; 'lib/csvX.Y.Z-site' like Chez's 'native-search-paths' expects.
(string-append "chezversion=" ,(package-version chez-scheme))
(string-append "PREFIX=" out)
(string-append "DOCDIR=" out "/share/doc/"
,name "-" ,version))))
(list (string-append "PREFIX=" out)
(string-append "DOCDIR=" out "/share/doc/"
,name "-" ,version))))
(define-public chez-matchable
(package
+1 -1
View File
@@ -59,7 +59,7 @@
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(propagated-inputs `(("gcc-toolchain" ,gcc-toolchain)))
(propagated-inputs `(("gcc-toolchain", gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
+116 -109
View File
@@ -83,9 +83,6 @@
"base/third_party/symbolize" ;BSD-3
"base/third_party/xdg_mime" ;LGPL2.0+ or Academic 2.0
"base/third_party/xdg_user_dirs" ;Expat
;; XXX: Chromium requires a newer C++ standard library. Remove this when
;; the default GCC is 9 or later.
"buildtools/third_party/libc++" ;ASL2.0, with LLVM exceptions
"chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"courgette/third_party/bsdiff" ;BSD-2, BSD protection license
"courgette/third_party/divsufsort" ;Expat
@@ -114,6 +111,7 @@
"third_party/boringssl/src/third_party/fiat" ;Expat
"third_party/breakpad" ;BSD-3
"third_party/brotli" ;Expat
"third_party/cacheinvalidation" ;ASL2.0
"third_party/catapult" ;BSD-3
"third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0
"third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0
@@ -141,15 +139,9 @@
"third_party/depot_tools/owners.py" ;BSD-3
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/lit-html" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/lodash-isequal" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
"third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
@@ -167,8 +159,6 @@
"third_party/iccjpeg" ;IJG
"third_party/inspector_protocol" ;BSD-3
"third_party/jinja2" ;BSD-3
;; XXX: Unbundle this when switching back to libstdc++.
"third_party/jsoncpp" ;Public Domain or Expat
"third_party/jstemplate" ;ASL2.0
"third_party/khronos" ;Expat, SGI
"third_party/leveldatabase" ;BSD-3
@@ -185,11 +175,6 @@
"third_party/libsrtp" ;BSD-3
"third_party/libsync" ;ASL2.0
"third_party/libudev" ;LGPL2.1+
;; FIXME: build/linux/unbundle/libvpx.gn does not work for all users.
"third_party/libvpx" ;BSD-3
"third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat
"third_party/libwebm" ;BSD-3
"third_party/libxml/chromium" ;BSD-3
"third_party/libyuv" ;BSD-3
@@ -201,7 +186,6 @@
"third_party/metrics_proto" ;BSD-3
"third_party/modp_b64" ;BSD-3
"third_party/nasm" ;BSD-2
"third_party/nearby" ;ASL2.0
"third_party/node" ;Expat
"third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2
"third_party/one_euro_filter" ;BSD-3
@@ -224,13 +208,9 @@
"third_party/protobuf/third_party/six" ;Expat
"third_party/pyjson5" ;ASL2.0
"third_party/qcms" ;Expat
;; XXX: System re2 cannot be used when Chromium uses libc++ because the re2
;; ABI relies on libstdc++ internals. See build/linux/unbundle/re2.gn.
"third_party/re2" ;BSD-3
"third_party/rnnoise" ;BSD-3
"third_party/s2cellid" ;ASL2.0
"third_party/schema_org" ;CC-BY-SA3.0
"third_party/securemessage" ;ASL2.0
"third_party/skia" ;BSD-3
"third_party/skia/include/third_party/skcms" ;BSD-3
"third_party/skia/third_party/skcms" ;BSD-3
@@ -242,13 +222,12 @@
"third_party/sqlite" ;Public domain
"third_party/swiftshader" ;ASL2.0
"third_party/swiftshader/third_party/astc-encoder" ;ASL2.0
"third_party/swiftshader/third_party/llvm-10.0" ;ASL2.0, with LLVM exception
"third_party/swiftshader/third_party/llvm-7.0" ;NCSA
"third_party/swiftshader/third_party/llvm-subzero" ;NCSA
"third_party/swiftshader/third_party/marl" ;ASL2.0
"third_party/swiftshader/third_party/subzero" ;NCSA
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
"third_party/tcmalloc/chromium" ;BSD-3
"third_party/ukey2" ;ASL2.0
"third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2
"third_party/vulkan_memory_allocator" ;Expat
@@ -267,10 +246,8 @@
"third_party/widevine/cdm/widevine_cdm_version.h" ;BSD-3
"third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3
"third_party/woff2" ;ASL2.0
"third_party/xcbproto" ;X11
"third_party/xdg-utils" ;Expat
"third_party/zlib/google" ;BSD-3
"third_party/zxcvbn-cpp" ;Expat
"url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+
"v8/src/third_party/siphash" ;Public domain
"v8/src/third_party/utf8-decoder" ;Expat
@@ -281,9 +258,27 @@
(define %blacklisted-files
;; 'third_party/blink/perf_tests/resources/svg/HarveyRayner.svg' carries a
;; nonfree license according to LICENSES in the same directory. As we don't
;; run the Blink performance tests, just remove everything to save ~70MiB.
;; run the Blink performance tests, just remove everything to save ~24MiB.
'("third_party/blink/perf_tests"))
(define (gentoo-patch name revision hash)
(origin
(method url-fetch)
(uri (string-append "https://gitweb.gentoo.org/repo/gentoo.git/plain"
"/www-client/chromium/files/" name "?id=" revision))
(file-name (string-append "ungoogled-" name))
(sha256 (base32 hash))))
;; This repository contains libstdc++ compatibility patches for Chromium.
(define (chromium-gcc-patchset commit hash)
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stha09/chromium-patches")
(commit commit)))
(file-name (git-file-name "chromium-gcc-patches" commit))
(sha256 (base32 hash))))
(define (debian-patch name revision hash)
(origin
(method url-fetch)
@@ -294,34 +289,38 @@
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
(define (arch-patch name revision hash)
(origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/archlinux"
"/svntogit-packages/" revision "/trunk/" name))
(sha256 (base32 hash))))
(define %ungoogled-revision "57244cdfc21dc05910862152d91cc528103c988a")
(define %debian-revision "debian/83.0.4103.116-3")
(define %gentoo-revision "f3f649046d31ebdbc8c4a302b2384504eff78027")
(define %chromium-version "86.0.4240.183")
(define %ungoogled-revision "b68e17f32e9eff56615a07b44e457835bb9460c6")
(define %debian-revision "debian/84.0.4147.105-1")
(define %arch-revision "2cbe439471932d30ff2c8ded6b3dfd51b312bbc9")
(define %gentoo-patches
;; This patch is necessary for compatibility with FFmpeg 4.3.
(list (gentoo-patch "chromium-84-mediaalloc.patch" %gentoo-revision
"0snxdc4nb8ykzncz62vpsl8hgxpy24m17mycx67i2gckmrpslzzv")))
(define %chromium-gcc-patches
(chromium-gcc-patchset
"chromium-84-patchset-3"
"0l05gx3pn703n47anjwsl5sjcqw8kaxmivf7llax97kj3k6d127v"))
(define %debian-patches
(list (debian-patch "system/zlib.patch" %debian-revision
"09vqgs37w9ycc7par14wa7rnvmg9bm0z9pqg6fyl3iqvpghyjyr4")
"0bp2vh1cgmwjrn1zkpphkd3bs662s23xwdhy3abm9cfjvwrj117n")
(debian-patch "system/jsoncpp.patch" %debian-revision
"0d95brl4a5y5w142yd0rvf59z513h7chsz0vnm034d6lqf22ahwf")
(debian-patch "system/openjpeg.patch" %debian-revision
"0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j")))
(define %arch-patches
(list (arch-patch "check-for-enable-accelerated-video-decode-on-Linux.patch"
%arch-revision
"12qj23dcp2g2ivyfyj13m4fzf68nllb9djwcxf1h195gn8wkml03")
(arch-patch "only-fall-back-to-the-i965-driver-if-we-re-on-iHD.patch"
%arch-revision
"0073qjp0dp9kj2ix2j6cxrima01rpdpkcjj9crxlb9b43b4cc53m")
(arch-patch "fix-invalid-end-iterator-usage-in-CookieMonster.patch"
%arch-revision
"1p1wy3dfncw0hhz77a1km0xjhix69ksgbpa569qz86nv76jbgn39")))
(list (origin
(method url-fetch)
(uri "https://git.archlinux.org/svntogit/packages.git/plain/trunk/\
chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
&id=93b5b90621b4827084288197c6e0e09b987b372a")
(file-name "ungoogled-chromium-fix-vaapi-on-intel.patch")
(sha256
(base32
"16jbjjf4d9jp52rdrrxx5vm69nx3w0qrijgjpwapnmcif13z55g4")))))
(define %ungoogled-origin
(origin
@@ -332,15 +331,7 @@
(string-take %ungoogled-revision 7)))
(sha256
(base32
"0visyhz321ykrmbjndvx31yd8xlmha9gas0xbkavc2i45rpfahjq"))))
(define %guix-patches
(list (local-file
(assume-valid-file-name
(search-patch "ungoogled-chromium-system-nspr.patch")))
(local-file
(assume-valid-file-name
(search-patch "ungoogled-chromium-extension-search-path.patch")))))
"15a1xpmabdxr1mn61m0jm9a5l987rxdji8b1b6zy39mr636vcwfi"))))
;; This is a source 'snippet' that does the following:
;; *) Applies various patches for unbundling purposes and libstdc++ compatibility.
@@ -363,16 +354,20 @@
(for-each (lambda (patch)
(invoke "patch" "-p1" "--force" "--input"
patch "--no-backup-if-mismatch"))
(append '#+%debian-patches '#+%arch-patches
'#+%guix-patches))
(append
'#+%gentoo-patches '#+%debian-patches '#+%arch-patches
(find-files #$%chromium-gcc-patches "\\.patch$")
'#+(list (local-file
(search-patch
"ungoogled-chromium-system-nspr.patch")))))
(with-directory-excursion #+%ungoogled-origin
(format #t "Ungooglifying...~%")
(force-output)
(invoke "python" "utils/prune_binaries.py" chromium-dir
"pruning.list")
(invoke "python" "utils/patches.py" "apply" chromium-dir
"patches")
(invoke "python" "utils/patches.py" "apply"
chromium-dir "patches")
(invoke "python" "utils/domain_substitution.py" "apply" "-r"
"domain_regex.list" "-f" "domain_substitution.list"
"-c" "/tmp/domainscache.tar.gz" chromium-dir))
@@ -401,8 +396,8 @@
(invoke "python" "build/linux/unbundle/replace_gn_files.py"
"--system-libraries" "ffmpeg" "flac" "fontconfig"
"freetype" "harfbuzz-ng" "icu" "libdrm" "libevent"
"libjpeg" "libpng" "libwebp" "libxml" "libxslt"
"openh264" "opus" "snappy" "zlib")
"libjpeg" "libpng" "libvpx" "libwebp" "libxml"
"libxslt" "openh264" "opus" "re2" "snappy" "zlib")
#t))))
(define opus+custom
@@ -417,6 +412,16 @@
`(cons "--enable-custom-modes"
,flags))))))
;; Chromium still has Python2-only code, so we need this special Python 2
;; variant of xcb-proto.
(define xcb-proto/python2
(package/inherit
xcb-proto
(name "python2-xcb-proto")
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)))))
;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need
;; this trick to make it wrap 'lld'.
(define (make-lld-wrapper lld)
@@ -445,17 +450,17 @@
(define-public ungoogled-chromium
(package
(name "ungoogled-chromium")
(version (string-append %chromium-version "-0."
(version (string-append "84.0.4147.125-0."
(string-take %ungoogled-revision 7)))
(synopsis "Graphical web browser")
(source (origin
(method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-"
%chromium-version ".tar.xz"))
(car (string-split version #\-)) ".tar.xz"))
(sha256
(base32
"1g39i82js7fm4fqb8i66d6xs0kzqjxzi4vzvvwz5y9rkbikcc4ma"))
"1xdg9pnnvbzasmra09rl7wdrir61rfcqml46jj7kv39drwk9chwq"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -465,6 +470,8 @@
#:validate-runpath? #f
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 ftw)
(ice-9 regex)
(srfi srfi-26))
#:configure-flags
;; See tools/gn/docs/cookbook.md and
@@ -479,6 +486,7 @@
(string-append "max_jobs_per_link="
(number->string (parallel-job-count)))
"clang_use_chrome_plugins=false"
"use_custom_libcxx=false"
"use_sysroot=false"
"goma_dir=\"\""
"enable_nacl=false"
@@ -497,13 +505,16 @@
"enable_vr=false"
"enable_widevine=false"
;; Disable type-checking for the Web UI to avoid a Java dependency.
"enable_js_type_check=false"
"closure_compile=false"
;; Define a custom toolchain that simply looks up CC, AR and
;; friends from the environment.
"custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
"host_toolchain=\"//build/toolchain/linux/unbundle:default\""
(string-append "xcbproto_path=\""
(assoc-ref %build-inputs "xcb-proto") "/share/xcb\"")
;; Prefer system libraries.
"use_system_freetype=true"
"use_system_harfbuzz=true"
@@ -536,13 +547,16 @@
;; WebRTC stuff.
"rtc_use_h264=true"
;; Don't use bundled sources.
"rtc_build_json=true" ;FIXME: libc++ std::string ABI difference
"rtc_build_json=false"
"rtc_build_libevent=false"
"rtc_build_libvpx=false"
"rtc_build_opus=false"
"rtc_build_ssl=false"
"rtc_build_libsrtp=true" ;FIXME: fails to find headers
"rtc_build_usrsctp=true" ;TODO: package this
(string-append "rtc_jsoncpp_root=\""
(assoc-ref %build-inputs "jsoncpp")
"/include/jsoncpp/json\"")
(string-append "rtc_ssl_root=\""
(assoc-ref %build-inputs "openssl")
"/include/openssl\""))
@@ -550,6 +564,12 @@
(modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
(lambda _
;; Fix build with newer re2. Taken from:
;; https://chromium-review.googlesource.com/c/chromium/src/+/2145261
(substitute* "components/autofill/core/browser/address_rewriter.cc"
(("options\\.set_utf8\\(true\\)")
"options.set_encoding(RE2::Options::EncodingUTF8)"))
(substitute*
'("base/process/launch_posix.cc"
"base/third_party/dynamic_annotations/dynamic_annotations.c"
@@ -577,6 +597,11 @@
(find-files (string-append "third_party/webrtc/modules"
"/audio_coding/codecs/opus")))
(substitute* "chrome/common/chrome_paths.cc"
(("/usr/share/chromium/extensions")
;; TODO: Add ~/.guix-profile.
"/run/current-system/profile/share/chromium/extensions"))
;; Many files try to include ICU headers from "third_party/icu/...".
;; Remove the "third_party/" prefix to use system headers instead.
(substitute* (find-files "chrome" "\\.cc$")
@@ -590,8 +615,10 @@
(substitute*
"third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h"
(("include \"third_party/curl")
"include \"curl"))
(("include \"third_party/curl") "include \"curl"))
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
(("#include \"third_party/jsoncpp/") "#include \"json/"))
(substitute* '("components/viz/common/gpu/vulkan_context_provider.h"
"components/viz/common/resources/resource_format_utils.h"
@@ -601,6 +628,17 @@
(substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h"
(("include/third_party/vulkan/") ""))
;; Building chromedriver embeds some files using the ZIP
;; format which doesn't support timestamps before
;; 1980. Therefore, advance the timestamps of the files
;; which are included so that building chromedriver
;; works.
(let ((circa-1980 (* 10 366 24 60 60)))
(for-each (lambda (file)
(utime file circa-1980 circa-1980))
'("chrome/test/chromedriver/extension/background.js"
"chrome/test/chromedriver/extension/manifest.json")))
#t))
(add-after 'patch-stuff 'add-absolute-references
(lambda* (#:key inputs #:allow-other-keys)
@@ -618,39 +656,14 @@
(substitute* "device/udev_linux/udev1_loader.cc"
(("libudev\\.so\\.1")
(string-append udev "/lib/libudev.so.1")))
(substitute*
'("ui/ozone/platform/x11/gl_ozone_glx.cc"
"ui/ozone/common/egl_util.cc"
"ui/gl/init/gl_initializer_linux_x11.cc"
"third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp")
(("libGL\\.so\\.1")
(string-append mesa "/lib/libGL.so.1"))
(("libEGL\\.so\\.1")
(string-append mesa "/lib/libEGL.so.1"))
(("libGLESv2\\.so\\.2")
(string-append mesa "/lib/libGLESv2.so.2")))
#t)))
(add-before 'configure 'prepare-build-environment
(lambda* (#:key inputs #:allow-other-keys)
;; Define the GN toolchain.
;; Make sure the right build tools are used.
(setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm")
(setenv "CC" "clang") (setenv "CXX" "clang++")
(let ((gcc (assoc-ref inputs "gcc")))
;; Remove the default compiler from CPLUS_INCLUDE_PATH to
;; prevent header conflict with the bundled libcxx.
(setenv "CPLUS_INCLUDE_PATH"
(string-join
(delete (string-append gcc "/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH")
#\:))
":"))
(format #t
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH")))
(setenv "CXXFLAGS"
(string-join
'(;; Do not optimize away null pointer safety checks.
@@ -715,13 +728,7 @@
(lib (string-append out "/lib"))
(man (string-append out "/share/man/man1"))
(applications (string-append out "/share/applications"))
(libs '("chrome_100_percent.pak"
"chrome_200_percent.pak"
"resources.pak"
"v8_context_snapshot.bin"
;; Chromium ships its own libGL
;; implementation called ANGLE.
"libEGL.so" "libGLESv2.so"))
(install-regexp (make-regexp "\\.(bin|pak|so)$"))
(locales (string-append lib "/locales"))
(resources (string-append lib "/resources"))
(preferences (assoc-ref inputs "master-preferences"))
@@ -746,7 +753,9 @@
(copy-file preferences (string-append lib "/master_preferences"))
(with-directory-excursion "out/Release"
(for-each (cut install-file <> lib) libs)
(for-each (lambda (file)
(install-file file lib))
(scandir "." (cut regexp-exec install-regexp <>)))
(copy-file "chrome" (string-append lib "/chromium"))
(copy-recursively "locales" locales)
@@ -776,7 +785,7 @@
#t))))))
(native-inputs
`(("bison" ,bison)
("clang" ,clang-11)
("clang" ,clang-10)
("gn" ,gn)
("gperf" ,gperf)
("ld-wrapper" ,(make-lld-wrapper lld))
@@ -808,6 +817,7 @@
("gtk+" ,gtk+)
("harfbuzz" ,harfbuzz)
("icu4c" ,icu4c-67)
("jsoncpp" ,jsoncpp)
("lcms" ,lcms)
("libevent" ,libevent)
("libffi" ,libffi)
@@ -841,16 +851,13 @@
("pango" ,pango)
("pciutils" ,pciutils)
("pulseaudio" ,pulseaudio)
("re2" ,re2)
("snappy" ,snappy)
("speech-dispatcher" ,speech-dispatcher)
("udev" ,eudev)
("valgrind" ,valgrind)
("vulkan-headers" ,vulkan-headers)))
(native-search-paths
(list (search-path-specification
(variable "CHROMIUM_EXTENSION_DIRECTORY")
(separator #f) ;single entry
(files '("share/chromium/extensions")))))
("vulkan-headers" ,vulkan-headers)
("xcb-proto" ,xcb-proto/python2)))
;; Building Chromium takes ... a very long time. On a single core, a busy
;; mid-end x86 system may need more than 24 hours to complete the build.

Some files were not shown because too many files have changed in this diff Show More