#!/bin/sh # GNU Guix --- Functional package management for GNU # Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès # Copyright © 2017 Eric Bavier # # 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 . # Usage: ./pre-inst-env COMMAND ARG... # # Run COMMAND in a pre-installation environment. Typical use is # "./pre-inst-env guix build hello". # By default we may end up with absolute directory names that contain '..', # which get into $GUILE_LOAD_PATH, leading to '..' in the module file names # recorded by Guile. To avoid that, make sure we get a real absolute # directory name. Additionally, use '-P' to get the canonical directory name # so that Guile's 'relative' %file-port-name-canonicalization can actually # work (see .) abs_top_srcdir="`cd "@abs_top_srcdir@" > /dev/null; pwd -P`" abs_top_builddir="`cd "@abs_top_builddir@" > /dev/null; pwd -P`" GUILE_LOAD_COMPILED_PATH="$abs_top_builddir${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH" GUILE_LOAD_PATH="$abs_top_builddir:$abs_top_srcdir${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH" export GUILE_LOAD_COMPILED_PATH GUILE_LOAD_PATH # Define $PATH so that `guix' and friends are easily found. PATH="$abs_top_builddir/scripts:$abs_top_builddir:$PATH" export PATH # Daemon helpers. NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots" NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'authenticate', etc. export NIX_ROOT_FINDER NIX_LIBEXEC_DIR NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload" @BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK @BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support. @BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK # The following variables need only be defined when compiling Guix # modules, but we define them to be on the safe side in case of # auto-compilation. NIX_HASH="@NIX_HASH@" export NIX_HASH # Define $GUIX_UNINSTALLED to prevent `guix' from # prepending @guilemoduledir@ to the Guile load paths. GUIX_UNINSTALLED=1 export GUIX_UNINSTALLED exec "$@" ader.scm?id=ede4117f7f18e118003f2599f5c8e985dfbdf9a5'>gnu: bootloader: efi-bootloader-chain: Allow multiple HOOKS....* gnu/bootloader.scm (efi-bootloader-profile): Allow multiple HOOKS. (efi-bootloader-chain): Allow multiple HOOKS. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Stefan 2020-11-16gnu: bootloader: Support chain loading to an EFI bootloader....* gnu/bootloader.scm (efi-bootloader-profile): New function. (efi-bootloader-chain): New function. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Stefan 2020-06-08bootloader: Extend `<menu-entry>' for multiboot....* gnu/bootloader.scm (<menu-entry>)[multiboot-kernel,multiboot-arguments, multiboot-modules]: New fields. [linux,initrd]: Add default value '#f'. (menu-entry->sexp, sexp->menu-entry): Support multiboot entry. * doc/guix.texi (Bootloader Configuration): Document them. Jan (janneke) Nieuwenhuizen 2020-05-29bootloader: Add 'disk-image-installer'....* gnu/bootloader.scm (<bootloader>)[disk-image-installer]: New field, (bootloader-disk-image-installer): export it. * gnu/bootloader/grub.scm (install-grub-disk-image): New procedure ... (grub-bootloader): ... used as "disk-image-installer" here. (grub-efi-bootloader): set "disk-image-installer" to #f. * gnu/system/image.scm (root-partition?, find-root-partition): Move to "Helpers" section. (root-partition-index): New procedure. (system-disk-image): Honor disk-image-installer, and use it to install the bootloader directly on the disk-image, if supported. Mathieu Othacehe 2019-08-30system: Add 'bootloader-menu-entries' field to <boot-parameters>....This allows us to keep track of the extra menu entries specified in the OS configuration. * gnu/system.scm (<boot-parameters>)[bootloader-menu-entries]: New field. (read-boot-parameters): Initialize it. (operating-system-boot-parameters): Likewise. (operating-system-boot-parameters-file): Serialize it. * gnu/bootloader.scm (menu-entry->sexp, sexp->menu-entry): New procedures. Ludovic Courtès 2019-08-30bootloader: Fix comment about 'menu-entries'....* gnu/bootloader.scm (<bootloader-configuration>)[menu-entries]: Fix margin comment. Ludovic Courtès 2019-03-24bootloader: Add a 'keyboard-layout' field....* gnu/bootloader/grub.scm (keyboard-layout-file): New procedure. (grub-configuration-file)[keyboard-layout-file]: New variable. [builder]: Use it. * gnu/bootloader.scm (<bootloader-configuration>)[keyboard-layout]: New field. * doc/guix.texi (Bootloader Configuration): Document it. Co-authored-by: nee <nee-git@hidamari.blue> Ludovic Courtès 2019-03-24bootloader: Reindent record type definition....* gnu/bootloader.scm (<bootloader-configuration>): Reindent. Ludovic Courtès 2019-03-24bootloader: Remove unused 'additional-configuration' field....* gnu/bootloader.scm (<bootloader-configuration>)[additional-configuration]: Remove. Ludovic Courtès