Vincent Legoll <vincent.leg...@gmail.com> skribis: > On Thu, Jul 21, 2016 at 2:06 PM, Ludovic Courtès <l...@gnu.org> wrote: >> Here’s a more complete example that works for me. >> >> First, I have this linux-libre.scm file in my GUIX_PACKAGE_PATH: >> >> --8<---------------cut here---------------start------------->8--- >> (define-module (linux-libre) >> #:use-module (guix gexp) >> #:use-module (guix packages) >> #:use-module (gnu packages linux) >> #:use-module (srfi srfi-1)) >> >> (define-public my-own-linux-libre >> (package >> (inherit linux-libre) >> (name "linux-libre-for-myself") >> (native-inputs >> `(("kconfig" ,(local-file "./my-kernel.conf")) >> ,@(alist-delete "kconfig" (package-native-inputs linux-libre)))))) >> --8<---------------cut here---------------end--------------->8--- >> >> In the same directory lies the file ‘my-kernel.conf’. >> >> With this, I can do: >> >> --8<---------------cut here---------------start------------->8--- >> $ guix build linux-libre-for-myself -n --no-grafts >> The following derivation would be built: >> >> /gnu/store/23b25z660ahglylv5blm2l9cbrc639c2-linux-libre-for-myself-4.6.4.drv >> $ guix gc --references >> /gnu/store/23b25z660ahglylv5blm2l9cbrc639c2-linux-libre-for-myself-4.6.4.drv >> | grep my-kernel >> /gnu/store/pq885cy0bi73acwh1wdx4agn5y5vrf2z-my-kernel.conf >> $ cat /gnu/store/pq885cy0bi73acwh1wdx4agn5y5vrf2z-my-kernel.conf >> Fake kernel conf. >> --8<---------------cut here---------------end--------------->8--- >> >> Does something similar works for you? > > No, I get: > > guix build: error: /home/vince/guix-packages/linux-libre.scm:8:2: > package `linux-libre-for-myself-4.5' has an invalid input: ("kconfig" > #<<local-file> file: "./my-kernel.conf" absolute: #<promise > #<procedure 55079f0 at ice-9/eval.scm:416:20 ()>> name: > "my-kernel.conf" recursive?: #f>)
Support for using ‘local-file’ and similar in package inputs was added by commit da675305ddf2ba574e309e515d18ae1f778297be (June 15th). Could it be that you’re using an older Guix? Thanks, Ludo’.