Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This
is quite fragile, very slow, and almost unusable without KVM.
For all these reasons, add support for host image generation. This implies the
use new image generation mechanisms.
- Raw disk images: images of partitions are created using tools such as mke2fs
and mkdosfs depending on the partition file-system type. The partition
images are then assembled into a final image using genimage.
- ISO9660 images: the ISO root directory is populated within the store. GNU
xorriso is then called on that directory, in the exact same way as this is
done in (gnu build vm) module.
Those mechanisms are built upon the new (gnu image) module.
* gnu/image.scm: New file.
* gnu/system/image.scm: New file.
* gnu/build/image: New file.
* gnu/local.mk: Add them.
* gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm.
* gnu/ci.scm (qemu-jobs): Adapt to new API.
* gnu/tests/install.scm (run-install): Ditto.
* guix/scripts/system.scm (system-derivation-for-action): Ditto.
* gnu/packages/crates-io.scm (rust-nettle-sys-2): New variable.
* gnu/packages/patches/rust-nettle-sys-disable-vendor.patch: New file.
* gnu/local.mk: Add it.
* gnu/packages/bioinformatics.scm (grocsvs): New variable.
* gnu/packages/patches/grocsvs-dont-use-admiral.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Add a patch based on an upstream commit [1].
1: c000c88eb5239b87f299c85e83b349b0ef387ae7
* gnu/packages/patches/behave-skip-a-couple-of-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/check.scm (behave)[source]: Use the patch.
* gnu/packages/music.scm (extempore): Update to 0.8.6.
[snippets]: Delete bundled dependencies.
[patches]: Add it.
* gnu/packages/patches/extempore-unbundle-external-dependencies.patch: Patch
CMakeLists.txt to use system libraries.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/llvm.scm (llvm-for-extempore): Update to 3.8.
[source]: Use upstream patched source.
* gnu/packages/patches/llvm-for-extempore.patch: Delete due to source being
already patched.
* gnu/local.mk (dist_patch_DATA): Remove it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Add a patch based on an upstream commit [1].
1: 10707f437f2fc3632067c6a0efa4432f7ebaf362
* gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gstreamer.scm (python-gst)[source]: Use the patch.
Jami is a massive package and its developers modify many libraries. Keeping
them in a single file makes maintenance easier.
* gnu/packages/telephony.scm (%jami-version, jami-source,
pjproject-jami, libring, libringclient,
jami, jami-client-gnome): Move to ...
* gnu/packages/jami.scm: ... this new file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
* gnu/packages/patches/guile-2.2-default-utf8.patch: New file, extracted from
commit 2acfe022a7.
* gnu/packages/patches/guile-3.0-linux-syscalls.patch,
gnu/packages/patches/guile-3.0-relocatable.patch: New files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly. Move all Guile patches
together while at it.
* gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): New public variable.
* gnu/packages/openldap.scm (openldap)[replacement]: New field.
(openldap/fixed): New variable.
* gnu/packages/patches/openldap-CVE-2020-12243.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Print a more helpful error message when someone attempts to run Telega on an
incompatible Emacs (e.g a 32-bit Emacs without wide ints).
* gnu/packages/patches/emacs-telega-test-env.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/emacs-xyz.scm (emacs-telega)[source]: Use it.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This is no longer required since the update to 8.4.0 in 60ce496ad8.
* gnu/packages/patches/gcc-8-libsanitizer-mode-size.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/gcc.scm (gcc-8)[source](patches): Remove it.
* gnu/packages/maths.scm (dune-*): Update to version 2.7.
(dune-uggrid)[source] Download from Git, as no release tarball for
version 2.7 exists.
(dune-alugrid,dune-subgrid,dune-pdelab)[source] Use commit hashes as no
tags for version 2.7 exist (yet?).
(dune-istl)[source](patches) Add patch required to build version 2.7
without openmpi.
* gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/bootloaders (u-boot-pinebook-pro-rk3399): New variable.
* gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch: New file.
* gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch: New file.
* gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch: New file.
* gnu/packages/patches/u-boot-leds-common-binding-con.patch: New file.
* gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch: New file.
* gnu/packages/patches/u-boot-video-rockchip-fix-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add new patches.
* gnu/bootloader/u-boot.scm (install-pinebook-pro-rk3399-u-boot,
u-boot-pinebook-pro-rk3399-bootloader): New variable.
Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
* gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/maths.scm (libqalculate)[source]: Use it.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* gnu/packages/patches/perl-cross.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/perl.scm (perl)[native-inputs]: When cross-compiling, add
`perl-cross' input and perl-cross.patch.
[arguments]: When cross-compiling, use them to produce binary for host.
The application was crashing when clicking on the Preferences menu or the
conference icon.
* gnu/packages/patches/linphoneqt-tabbutton.patch: Add file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/linphone.scm (linphoneqt)[source]: Use it.
[inputs]: Add qtquickcontrols.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reported by sirgazil on #guix.
* gnu/packages/patches/python-jedi-sort-project-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/python-xyz.scm (python-jedi)[source](patches): Add it.
[arguments]: Run tests more verbosely while at it.
Fixes <https://bugs.gnu.org/37831>.
Reported by Pierre Neidhardt <mail@ambrevar.xyz>.
* gnu/packages/patches/gdm-default-session.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm)[source]: Use it.
* gnu/packages/patches/gnutls-cross.patch: New file.
* gnu/packages/tls.scm (gnutls-3.6.13)[source]: Use it.
[native-inputs]: If cross-compiling, add native guile-3.0. This
actually cross compiles .go modules.
* gnu/packages/patches/guile-json-cross.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/guile.scm (guile-json-3)[source]: Use it.
[arguments]: Remove configure to trigger bootstrap phase.
* gnu/packages/patches/openssh-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ssh.scm (openssh)[source]: Use it.
[inputs]: If hurd-target? is true, omit xauth.
* gnu/packages/patches/glibc-hurd-gettyent.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cross-base.scm (cross-libc): Add it in 'patch-libc/hurd' phase
when 'hurd-target?' is true.
* gnu/packages/patches/glibc-hurd-mach-print.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cross-base.scm (cross-libc): Add 'patch-libc/hurd' phase
when 'hurd-target?' is true.
* gnu/packages/textutils.scm (dbacl): Update to 1.14.1.
[source]: Add patch to fix build with current glibc.
[arguments]: (Try to) bootstrap only once.
* gnu/packages/patches/dbacl-include-locale.h.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/installer/proxy.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer/newt/parameters.scm (run-proxy-page): New procedure,
(run-parameters-page): add the previous procedure to the parameters menu.
* gnu/installer/newt/help.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer/record.scm (<installer>): Add 'help-menu' and 'help-page'
fields,
(installer-help-menu, installer-help-page): new exported procedures.
* gnu/installer/newt.scm (init): Set the help line,
(help-menu, help-page): new procedures used ...
(newt-installer): ... here.
* gnu/installer/newt/keymap.scm (run-layout-page): Add a context argument to
differenciate the help context from the main one,
(run-keymap-page): add a context argument and pass it to run-layout-page.
* gnu/installer.scm (compute-keymap-step): Add a context argument and pass it
to 'installer-keymap-page',
(installer-steps): set the help menu and pass the appropriate context to
compute-keymap-step calls,
(guile-newt): update to revision 2.
The tester binary generated gets installed with about 20 MiB of data files,
and the HTML documentation weighs another 500 KiB or so. Move them to
separate outputs.
* gnu/packages/patches/mediastreamer-srtp2.patch: Rename to...
* gnu/packages/patches/mediastreamer2-srtp2.patch: ...this, to please 'guix
lint'.
* gnu/local.mk (dist_patch_DATA): Adapt.
* gnu/packages/linphone.scm (mediastreamer2)[patches]: Likewise.
[outputs]: Add the "doc" and "tester" outputs.
[phases]: Add a phase to move the HTML doc and tester binary and data to the
'doc' and 'tester' outputs, respectively.
[description]: Remove the unicode characters surrounding the word 'powerful'.
* gnu/packages/patches/mediastreamer-srtp2.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/linphone.scm (mediastreamer2)[source]: Use it.
These patches were originally found at the debian mingw-w64 team's
mingw-w64 repo, and should improve the reproducibility of our mingw-w64
toolchain.
* gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch: New file.
* gnu/packages/patches/mingw-w64-reproducible-gendef.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/mingw.scm (make-mingw-w64): Apply patches.
These patches were originally found at the debian mingw-w64 team's
binutils repo, and should improve the reproducibility of our mingw-w64
toolchain.
* gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch:
New file.
* gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/cross-base.scm (cross-binutils): Apply relevant patches
if target is mingw-w64.
(package-with-extra-patches): New procedure.
* gnu/packages/patches/sdl2-mesa-compat.patch: Delete file.
* gnu/packages/sdl.scm (sdl2): Update to 2.0.12.
[source]: Drop patch that was included in this release.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* gnu/packages/finance.scm (beancount): New variable.
* gnu/packages/patches/beancount-disable-googleapis-fonts.patch: New file.
* gnu/local.mk: Add it.
* gnu/packages/patches/python-3-arm-alignment.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/python.scm (python-3.8)[source](patches): Add it when the
current system is ARM.
* gnu/packages/patches/pam-krb5-CVE-2020-10595.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (pam-krb5)[source]: Use it.
Fixes <https://bugs.gnu.org/24076>.
* gnu/packages/patches/gnupg-default-pinentry.patch: New file. Use $HOME to find
the user's Guix profile and installed pinentry.
* gnu/local.mk (dist_patch_DATA): Add the patch.
* gnu/packages/gnupg.scm (gnupg)[source]: Use it.
* gnu/packages/crypto.scm (hash-extender): Update to newer commit.
* gnu/packages/patches/hash-extender-test-suite.patch: The patch
was merged upstream, no need to apply it anymore.
* gnu/local.mk (dist_patch_DATA): Unregister the patch file.
This is a follow-up to ad8254c23a, which
unexpectedly caused a test failure in the Python test suite.
* gnu/packages/patches/openssl-1.1.1e-revert-detect-eof.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/tls.scm (openssl)[source](patches): Add it.
Fixes <https://bugs.gnu.org/24076>.
Reported by Danny Milosavljevic <dannym@scratchpost.org>.
* gnu/packages/patches/gnupg-default-pinentry.patch: New file.
* gnu/packages/gnupg.scm (gnupg)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (net-tools)[supported-systems]: Remove the Hurd.
* gnu/packages/patches/inetutils-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (inetutils): Use it. Disable some features on the
Hurd.
[native-inputs]: Include net-tools only on supported systems
* gnu/packages/linux.scm (kmod)[supported-systems]: Remove the Hurd.
* gnu/packages/patches/pciutils-hurd-configure.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/pciutils.scm (pciutils): Use it.
[inputs]: Include kmod only for supported systems.
* gnu/packages/patches/fontconfig-hurd-path-max.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/fontutils.scm (fontconfig): Use it.
* gnu/packages/patches/icu4c-CVE-2020-10531.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/icu4c.scm (icu4c)[replacement]: New field.
(icu4c/fixed): New variable.
* gnu/packages/make-bootstrap.scm (gcc-static): Use gcc-5. This fixes
building libstdc++-boot0 with a newly built %bootstrap-gcc.
(%gcc-stripped): Likewise.
(gcc-for-bootstrap): Likewise.
* gnu/packages/patches/gcc-5-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-5): Use it.
As discussed on IRC, keeping bootstrap Guile on 2.0 simplifies adding new
architectures and removes the need for parameterizing
gnu/packages/bootstrap.scm.
This reverts commit 2acfe022a7.
* gnu/packages/make-bootstrap.scm (%guile-static): Revert to guile-2.0. Retain
build recipe.
* gnu/packages/patches/guile-relocatable.patch: Update for Guile 2.0.14.
* gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (glibc): Use it.
This follows up commit 2e9c43aa9a, which was
incomplete. Fixes <https://bugs.gnu.org/39358>.
* gnu/packages/patches/ghc-testsuite-dlopen-pie.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly. Also use tabs instead
of spaces on surrounding patches.
* gnu/packages/haskell.scm (ghc-8.6)[native-inputs]: Add patch for
"ghc-testsuite".
[arguments]: Remove incomplete workaround for the same issue.
Add a "lib" output to cross-gcc. This requires an upstream GCC patch adding
support for --with-toolexeclibdir configure option. This option allows to
install cross-built GCC libraries in a specific location.
This also fixes the computation of TOOLDIR_BASE_PREFIX, that fails when
/gnu/store/... directories are involved.
* gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cross-base.scm (cross-gcc)[source]: Apply it,
[outputs]: add a "lib" output,
(cross-gcc-snippet): fix TOOLDIR_BASE_PREFIX.
* gnu/packages/crypto.scm (hash-extender): New variable.
* gnu/packages/patches/hash-extender-test-suite.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register the new file.
* gnu/packages/patches/ffmpeg-prefer-dav1d.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/video.scm (ffmpeg)[source]: Use it.
* gnu/packages/games.scm (foobillard++): New variable.
* gnu/packages/patches/foobillard++-pkg-config.patch: New file.
* gnu/local.mk: Reference new file.
* gnu/packages/kde-pim.scm (kdepim-runtime): New variable.
* gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch:
New file.
* gnu/local.mk: Add it.
* gnu/packages/kde-pim.scm (libksieve): New variable.
* gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch:
New file.
* gnu/local.mk: Add it.
This patch became obsolete when the update to 9.3.0 was merged (commit 3dade1d59e).
* gnu/packages/patches/gcc-9-libsanitizer-mode-size.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/gcc.scm (gcc-9)[source](patches): Remove it.