;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Timothy Sample ;;; ;;; 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 . (define-module (gnu bootloader depthcharge) #:use-module (gnu bootloader extlinux) #:use-module (gnu bootloader) #:use-module (gnu packages bootloaders) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (ice-9 match) #:export (depthcharge-bootloader)) (define (signed-kernel kernel kernel-arguments initrd) (define builder (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils) (ice-9 binary-ports) (rnrs bytevectors)) (set-path-environment-variable "PATH" '("bin") (list #$dtc)) ;; TODO: These files have to be writable, so we copy them. ;; This can probably be fixed by using a ".its" file, just ;; be careful not to break initrd loading. (copy-file #$kernel "zImage") (chmod "zImage" #o755) (copy-file (string-append (dirname #$kernel) "/lib/dtbs/" "rk3288-veyron-speedy.dtb") "rk3288-veyron-speedy.dtb") (chmod "rk3288-veyron-speedy.dtb" #o644) (copy-file #$initrd "initrd") (chmod "initrd" #o644) (invoke (string-append #$u-boot-tools "/bin/mkimage") "-D" "-I dts -O dtb -p 2048" "-f" "auto" "-A" "arm" "-O" "linux" "-T" "kernel" "-C" "None" "-d" "zImage" "-a" "0" "-b" "rk3288-veyron-speedy.dtb" "-i" "initrd" "image.itb") (call-with-output-file "bootloader.bin" (lambda (port) (put-bytevector port (make-bytevector 512 0)))) (with-output-to-file "kernel-arguments" (lambda () (display (string-join (list #$@kernel-arguments))))) (invoke (string-append #$vboot-utils "/bin/vbutil_kernel") "--pack" #$output "--version" "1" "--vmlinuz" "image.itb" "--arch" "arm" "--keyblock" (string-append #$vboot-utils "/share/vboot-utils/devkeys/" "kernel.keyblock") "--signprivate" (string-append #$vboot-utils "/share/vboot-utils/devkeys/" "kernel_data_key.vbprivk") "--config" "kernel-arguments" "--bootloader" "bootloader.bin")))) (computed-file "vmlinux.kpart" builder)) (define* (depthcharge-configuration-file config entries #:key (system (%current-system)) (old-entries '()) #:allow-other-keys) (match entries ((entry) (let ((kernel (menu-entry-linux entry)) (kernel-arguments (menu-entry-linux-arguments entry)) (initrd (menu-entry-initrd entry))) ;; XXX: Make this a symlink. (signed-kernel kernel kernel-arguments initrd))) (_ (error "Too many bootloader menu entries!")))) (define install-depthcharge #~(lambda (bootloader device mount-point) (let ((kpart (string-append mount-point "/boot/depthcharge/vmlinux.kpart"))) (write-file-on-device kpart (stat:size (stat kpart)) device 0)))) (define depthcharge-bootloader (bootloader (name 'depthcharge) (package #f) (installer install-depthcharge) (configuration-file "/boot/depthcharge/vmlinux.kpart") (configuration-file-generator depthcharge-configuration-file))) guix/commit/gnu/packages/ibus.scm?id=2b9c730833cb7287981e1cc4f3398de73373cbab'>gnu: ibus-minimal: Fix wrapping phase name....* gnu/packages/ibus.scm (ibus-minimal): Use actual name 'glib-or-gtk-wrap instead of bogus 'wrap-program. Change-Id: Ia0088260e9005ce25e6147b58a82a94f4b73f70b Josselin Poiret 2024-08-31gnu: ibus: Add 'bash' input for 'wrap-program'....It is required for cross-compilation. * gnu/packages/ibus.scm (ibus-libpinyin)[inputs]: Add 'bash-minimal'. (ibus-anthy)[inputs]: Likewise. (ibus-libhangul)[inputs]: Likewise. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I50ef48da68dd048aba243b013a7b66e504697dc7 Maxime Devos 2024-08-31gnu: rime-data: Import the correct set of modules....* gnu/packages/ibus.scm (rime-data) [arguments] <modules>: Replace %default-gnu-imported-modules with %default-gnu-modules. Change-Id: Ifb5a008b91908beb62566731f097c0616796b583 Maxim Cournoyer 2024-08-31build-systems: gnu: Export %default-gnu-imported-modules and %default-gnu-mod......Until now users would have to cargo cult or inspect the private %default-modules variable of (guix build-systems gnu) to discover which modules to include when extending the used modules via the #:modules argument. The renaming was automated via the command: $ git grep -l %gnu-build-system-modules | xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i * guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to... (%default-gnu-imported-modules): ... this. (%default-modules): Rename to... (%default-gnu-modules): ... this. Export. (dist-package, gnu-build, gnu-cross-build): Adjust accordingly. Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee Maxim Cournoyer 2024-06-23gnu: ibus-minimal: Graft to 1.5.29....This fixes an issue, where IBus was not able to query emoji lists. See also <https://github.com/ibus/ibus/issues/2476>. * gnu/packages/ibus.scm (ibus-minimal/fixed): New variable. (ibus-minimal): Add ibus-minimal/fixed as replacement. Liliana Marie Prikler