Subject: Re: customize-kernel does not accept inferior package

From: Ricardo Wurmus <[email-masked]>
Date: Wed, 17 Apr 2024 10:37:42 +0200

Ricardo Wurmus <[email-masked]> writes:

> Especially on underpowered aarch64 systems with custom kernels it may be
> desirable to avoid rebuilding the kernel on "guix deploy" or "guix
> system reconfigure".  It's possible to use an inferior to pin the kernel
> to a known good version.
>
> Unfortunately, this doesn't work when attempting to customize the kernel
> with "customize-kernel" as that procedure doesn't accept an inferior as
> an input package.

"customize-kernel" works by inheriting from a base package.  It then
augments the arguments.

Inheriting from an inferior package does not work, though.  Nor is there
a procedure to obtain the arguments of an inferior package.  The naïve
approach of simply defining inferior-package-arguments fails:

--8<---------------cut here---------------start------------->8---
    (define (inferior-package-arguments package)
      "Return the arguments field of PACKAGE."
      (inferior-package-field package 'package-arguments))

    ...

    (inferior-package-arguments linux-libre-arm64-generic/fixed)
    ice-9/boot-9.scm:1685:16: In procedure raise-exception:
    socket:20:156: Unknown # object: "#<"
--8<---------------cut here---------------end--------------->8---

-- 
Ricardo