* System-level inferiors.
@ 2019-11-19 20:02 brettg
2019-11-20 1:29 ` brettg
0 siblings, 1 reply; 7+ messages in thread
From: brettg @ 2019-11-19 20:02 UTC (permalink / raw)
To: help-guix
Hey all,
I am experimenting with the inferior system a little bit. I am
attempting to see if I can specify a specific version of the linux-libre
kernel to be taken from an inferior and applied to my system
configuration.
(define kernel-channel-inf
;; This is the old revision from which
;; we will obtain our desired kernel version.
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(commit
"fd41243c819635795f4e4bdef1e2823db5234e24"))))
(define kernel-inferior-proc
;; An inferior representing `kernel-channel-inf'.
(inferior-for-channels kernel-channel-inf))
(operating-system
...
(kernel (lookup-inferior-packages
kernel-inferior-proc "linux-libre" "4.19.81"))
It took me some experimenting to come up with this, in that
experimenting the channel revision was built and cached. However, when I
run `guix system build config.scm` with the above code snippet, the
process just hangs on
Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...
I am not sure how to proceed to achieve what I am hoping for. Any
thoughts?
Brett Gilio
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: System-level inferiors.
2019-11-19 20:02 System-level inferiors brettg
@ 2019-11-20 1:29 ` brettg
2019-11-20 1:35 ` brettg
0 siblings, 1 reply; 7+ messages in thread
From: brettg @ 2019-11-20 1:29 UTC (permalink / raw)
To: help-guix; +Cc: Help-Guix
On 19.11.2019 21:02, brettg@posteo.net wrote:
> Hey all,
>
> I am experimenting with the inferior system a little bit. I am
> attempting to see if I can specify a specific version of the
> linux-libre kernel to be taken from an inferior and applied to my
> system configuration.
>
> (define kernel-channel-inf
> ;; This is the old revision from which
> ;; we will obtain our desired kernel version.
> (list (channel
> (name 'guix)
> (url "https://git.savannah.gnu.org/git/guix.git")
> (commit
> "fd41243c819635795f4e4bdef1e2823db5234e24"))))
>
> (define kernel-inferior-proc
> ;; An inferior representing `kernel-channel-inf'.
> (inferior-for-channels kernel-channel-inf))
>
> (operating-system
>
> ...
>
> (kernel (lookup-inferior-packages
> kernel-inferior-proc "linux-libre" "4.19.81"))
>
> It took me some experimenting to come up with this, in that
> experimenting the channel revision was built and cached. However, when
> I run `guix system build config.scm` with the above code snippet, the
> process just hangs on
>
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'...
>
> I am not sure how to proceed to achieve what I am hoping for. Any
> thoughts?
>
> Brett Gilio
Update, I used guix time-machine to ensure that this specific build of
linux-libre 4.19.81 was available in the store, so now it is not
hanging:
Instead, it is telling me:
guix/gexp.scm:201:36: In procedure lookup-compiler:
In procedure struct_vtable: Wrong type argument in position 1 (expecting
struct): (#<inferior-package linux-libre@4.19.81 7f13870f8900>)
Will keep investigating a way to do this.
Brett Gilio
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: System-level inferiors.
2019-11-20 1:29 ` brettg
@ 2019-11-20 1:35 ` brettg
2019-11-20 1:55 ` brettg
0 siblings, 1 reply; 7+ messages in thread
From: brettg @ 2019-11-20 1:35 UTC (permalink / raw)
To: help-guix; +Cc: Help-Guix
On 20.11.2019 02:29, brettg@posteo.net wrote:
> On 19.11.2019 21:02, brettg@posteo.net wrote:
>> Hey all,
>>
>> I am experimenting with the inferior system a little bit. I am
>> attempting to see if I can specify a specific version of the
>> linux-libre kernel to be taken from an inferior and applied to my
>> system configuration.
>>
>> (define kernel-channel-inf
>> ;; This is the old revision from which
>> ;; we will obtain our desired kernel version.
>> (list (channel
>> (name 'guix)
>> (url "https://git.savannah.gnu.org/git/guix.git")
>> (commit
>> "fd41243c819635795f4e4bdef1e2823db5234e24"))))
>>
>> (define kernel-inferior-proc
>> ;; An inferior representing `kernel-channel-inf'.
>> (inferior-for-channels kernel-channel-inf))
>>
>> (operating-system
>>
>> ...
>>
>> (kernel (lookup-inferior-packages
>> kernel-inferior-proc "linux-libre" "4.19.81"))
>>
>> It took me some experimenting to come up with this, in that
>> experimenting the channel revision was built and cached. However, when
>> I run `guix system build config.scm` with the above code snippet, the
>> process just hangs on
>>
>> Updating channel 'guix' from Git repository at
>> 'https://git.savannah.gnu.org/git/guix.git'...
>>
>> I am not sure how to proceed to achieve what I am hoping for. Any
>> thoughts?
>>
>> Brett Gilio
>
> Update, I used guix time-machine to ensure that this specific build of
> linux-libre 4.19.81 was available in the store, so now it is not
> hanging:
>
> Instead, it is telling me:
>
> guix/gexp.scm:201:36: In procedure lookup-compiler:
> In procedure struct_vtable: Wrong type argument in position 1
> (expecting struct): (#<inferior-package linux-libre@4.19.81
> 7f13870f8900>)
>
> Will keep investigating a way to do this.
>
> Brett Gilio
brettg@oryx ~/Repos/cfg/machines/oryx$ guix system build config.scm
Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...
Backtrace:
18 (primitive-load
"/home/brettg/.config/guix/current/bin/guix")
In guix/ui.scm:
1774:12 17 (run-guix-command _ . _)
In ice-9/boot-9.scm:
829:9 16 (catch _ _ #<procedure 7f359bd3d1f8 at guix/ui.scm:647:2
(key …> …)
829:9 15 (catch _ _ #<procedure 7f359bd3d210 at guix/ui.scm:770:6
(key …> …)
In guix/scripts/system.scm:
1216:8 14 (_)
In guix/status.scm:
768:4 13 (call-with-status-report _ _)
In guix/scripts/system.scm:
1072:4 12 (process-action _ _ _)
In guix/store.scm:
623:10 11 (call-with-store _)
1834:24 10 (run-with-store #<store-connection 256.99 7f358c4d65a0> _ #
_ # …)
In guix/scripts/system.scm:
778:2 9 (_ _)
In gnu/services.scm:
320:2 8 (_ _)
In gnu/system.scm:
469:4 7 (_ _)
In guix/gexp.scm:
859:2 6 (_ _)
720:2 5 (_ _)
In ./guix/monads.scm:
482:9 4 (_ _)
In guix/gexp.scm:
590:13 3 (_ _)
In guix/store.scm:
1692:13 2 (_ _)
In guix/gexp.scm:
222:2 1 (lower-object (#<inferior-package linux-libre@4.19.81
7f358c6…>) …)
201:36 0 (lookup-compiler (#<inferior-package linux-libre@4.19.81
7f358…>))
guix/gexp.scm:201:36: In procedure lookup-compiler:
In procedure struct_vtable: Wrong type argument in position 1 (expecting
struct): (#<inferior-package linux-libre@4.19.81 7f358c651660>)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: System-level inferiors.
2019-11-20 1:35 ` brettg
@ 2019-11-20 1:55 ` brettg
2019-11-20 2:05 ` brettg
0 siblings, 1 reply; 7+ messages in thread
From: brettg @ 2019-11-20 1:55 UTC (permalink / raw)
To: help-guix; +Cc: Help-Guix
On 20.11.2019 02:35, brettg@posteo.net wrote:
> On 20.11.2019 02:29, brettg@posteo.net wrote:
>> On 19.11.2019 21:02, brettg@posteo.net wrote:
>>> Hey all,
>>>
>>> I am experimenting with the inferior system a little bit. I am
>>> attempting to see if I can specify a specific version of the
>>> linux-libre kernel to be taken from an inferior and applied to my
>>> system configuration.
>>>
>>> (define kernel-channel-inf
>>> ;; This is the old revision from which
>>> ;; we will obtain our desired kernel version.
>>> (list (channel
>>> (name 'guix)
>>> (url "https://git.savannah.gnu.org/git/guix.git")
>>> (commit
>>> "fd41243c819635795f4e4bdef1e2823db5234e24"))))
>>>
>>> (define kernel-inferior-proc
>>> ;; An inferior representing `kernel-channel-inf'.
>>> (inferior-for-channels kernel-channel-inf))
>>>
>>> (operating-system
>>>
>>> ...
>>>
>>> (kernel (lookup-inferior-packages
>>> kernel-inferior-proc "linux-libre" "4.19.81"))
>>>
>>> It took me some experimenting to come up with this, in that
>>> experimenting the channel revision was built and cached. However,
>>> when
>>> I run `guix system build config.scm` with the above code snippet, the
>>> process just hangs on
>>>
>>> Updating channel 'guix' from Git repository at
>>> 'https://git.savannah.gnu.org/git/guix.git'...
>>>
>>> I am not sure how to proceed to achieve what I am hoping for. Any
>>> thoughts?
>>>
>>> Brett Gilio
>>
>> Update, I used guix time-machine to ensure that this specific build of
>> linux-libre 4.19.81 was available in the store, so now it is not
>> hanging:
>>
>> Instead, it is telling me:
>>
>> guix/gexp.scm:201:36: In procedure lookup-compiler:
>> In procedure struct_vtable: Wrong type argument in position 1
>> (expecting struct): (#<inferior-package linux-libre@4.19.81
>> 7f13870f8900>)
>>
>> Will keep investigating a way to do this.
>>
>> Brett Gilio
>
> brettg@oryx ~/Repos/cfg/machines/oryx$ guix system build config.scm
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'...
> Backtrace:
> 18 (primitive-load
> "/home/brettg/.config/guix/current/bin/guix")
> In guix/ui.scm:
> 1774:12 17 (run-guix-command _ . _)
> In ice-9/boot-9.scm:
> 829:9 16 (catch _ _ #<procedure 7f359bd3d1f8 at guix/ui.scm:647:2
> (key …> …)
> 829:9 15 (catch _ _ #<procedure 7f359bd3d210 at guix/ui.scm:770:6
> (key …> …)
> In guix/scripts/system.scm:
> 1216:8 14 (_)
> In guix/status.scm:
> 768:4 13 (call-with-status-report _ _)
> In guix/scripts/system.scm:
> 1072:4 12 (process-action _ _ _)
> In guix/store.scm:
> 623:10 11 (call-with-store _)
> 1834:24 10 (run-with-store #<store-connection 256.99 7f358c4d65a0> _
> # _ # …)
> In guix/scripts/system.scm:
> 778:2 9 (_ _)
> In gnu/services.scm:
> 320:2 8 (_ _)
> In gnu/system.scm:
> 469:4 7 (_ _)
> In guix/gexp.scm:
> 859:2 6 (_ _)
> 720:2 5 (_ _)
> In ./guix/monads.scm:
> 482:9 4 (_ _)
> In guix/gexp.scm:
> 590:13 3 (_ _)
> In guix/store.scm:
> 1692:13 2 (_ _)
> In guix/gexp.scm:
> 222:2 1 (lower-object (#<inferior-package linux-libre@4.19.81
> 7f358c6…>) …)
> 201:36 0 (lookup-compiler (#<inferior-package linux-libre@4.19.81
> 7f358…>))
>
> guix/gexp.scm:201:36: In procedure lookup-compiler:
> In procedure struct_vtable: Wrong type argument in position 1
> (expecting struct): (#<inferior-package linux-libre@4.19.81
> 7f358c651660>)
https://lists.gnu.org/archive/html/bug-guix/2018-12/msg00153.html
Relevant bug issue.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: System-level inferiors.
2019-11-20 1:55 ` brettg
@ 2019-11-20 2:05 ` brettg
2019-11-20 10:57 ` Pierre Neidhardt
0 siblings, 1 reply; 7+ messages in thread
From: brettg @ 2019-11-20 2:05 UTC (permalink / raw)
To: help-guix; +Cc: Help-Guix
On 20.11.2019 02:55, brettg@posteo.net wrote:
> On 20.11.2019 02:35, brettg@posteo.net wrote:
>> On 20.11.2019 02:29, brettg@posteo.net wrote:
>>> On 19.11.2019 21:02, brettg@posteo.net wrote:
>>>> Hey all,
>>>>
>>>> I am experimenting with the inferior system a little bit. I am
>>>> attempting to see if I can specify a specific version of the
>>>> linux-libre kernel to be taken from an inferior and applied to my
>>>> system configuration.
>>>>
>>>> (define kernel-channel-inf
>>>> ;; This is the old revision from which
>>>> ;; we will obtain our desired kernel version.
>>>> (list (channel
>>>> (name 'guix)
>>>> (url "https://git.savannah.gnu.org/git/guix.git")
>>>> (commit
>>>> "fd41243c819635795f4e4bdef1e2823db5234e24"))))
>>>>
>>>> (define kernel-inferior-proc
>>>> ;; An inferior representing `kernel-channel-inf'.
>>>> (inferior-for-channels kernel-channel-inf))
>>>>
>>>> (operating-system
>>>>
>>>> ...
>>>>
>>>> (kernel (lookup-inferior-packages
>>>> kernel-inferior-proc "linux-libre" "4.19.81"))
>>>>
>>>> It took me some experimenting to come up with this, in that
>>>> experimenting the channel revision was built and cached. However,
>>>> when
>>>> I run `guix system build config.scm` with the above code snippet,
>>>> the
>>>> process just hangs on
>>>>
>>>> Updating channel 'guix' from Git repository at
>>>> 'https://git.savannah.gnu.org/git/guix.git'...
>>>>
>>>> I am not sure how to proceed to achieve what I am hoping for. Any
>>>> thoughts?
>>>>
>>>> Brett Gilio
>>>
>>> Update, I used guix time-machine to ensure that this specific build
>>> of
>>> linux-libre 4.19.81 was available in the store, so now it is not
>>> hanging:
>>>
>>> Instead, it is telling me:
>>>
>>> guix/gexp.scm:201:36: In procedure lookup-compiler:
>>> In procedure struct_vtable: Wrong type argument in position 1
>>> (expecting struct): (#<inferior-package linux-libre@4.19.81
>>> 7f13870f8900>)
>>>
>>> Will keep investigating a way to do this.
>>>
>>> Brett Gilio
>>
>> brettg@oryx ~/Repos/cfg/machines/oryx$ guix system build config.scm
>> Updating channel 'guix' from Git repository at
>> 'https://git.savannah.gnu.org/git/guix.git'...
>> Backtrace:
>> 18 (primitive-load
>> "/home/brettg/.config/guix/current/bin/guix")
>> In guix/ui.scm:
>> 1774:12 17 (run-guix-command _ . _)
>> In ice-9/boot-9.scm:
>> 829:9 16 (catch _ _ #<procedure 7f359bd3d1f8 at guix/ui.scm:647:2
>> (key …> …)
>> 829:9 15 (catch _ _ #<procedure 7f359bd3d210 at guix/ui.scm:770:6
>> (key …> …)
>> In guix/scripts/system.scm:
>> 1216:8 14 (_)
>> In guix/status.scm:
>> 768:4 13 (call-with-status-report _ _)
>> In guix/scripts/system.scm:
>> 1072:4 12 (process-action _ _ _)
>> In guix/store.scm:
>> 623:10 11 (call-with-store _)
>> 1834:24 10 (run-with-store #<store-connection 256.99 7f358c4d65a0> _
>> # _ # …)
>> In guix/scripts/system.scm:
>> 778:2 9 (_ _)
>> In gnu/services.scm:
>> 320:2 8 (_ _)
>> In gnu/system.scm:
>> 469:4 7 (_ _)
>> In guix/gexp.scm:
>> 859:2 6 (_ _)
>> 720:2 5 (_ _)
>> In ./guix/monads.scm:
>> 482:9 4 (_ _)
>> In guix/gexp.scm:
>> 590:13 3 (_ _)
>> In guix/store.scm:
>> 1692:13 2 (_ _)
>> In guix/gexp.scm:
>> 222:2 1 (lower-object (#<inferior-package linux-libre@4.19.81
>> 7f358c6…>) …)
>> 201:36 0 (lookup-compiler (#<inferior-package linux-libre@4.19.81
>> 7f358…>))
>>
>> guix/gexp.scm:201:36: In procedure lookup-compiler:
>> In procedure struct_vtable: Wrong type argument in position 1
>> (expecting struct): (#<inferior-package linux-libre@4.19.81
>> 7f358c651660>)
>
> https://lists.gnu.org/archive/html/bug-guix/2018-12/msg00153.html
>
> Relevant bug issue.
I figured it out, nevermind!
Final solution:
(define kernel-inferior-channel
;; This is the old revision from which
;; we will obtain our desired kernel version.
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(commit
"fd41243c819635795f4e4bdef1e2823db5234e24"))))
(define linux-libre-4.19.81-inf
(first
(lookup-inferior-packages
(inferior-for-channels kernel-inferior-channel)
"linux-libre" "4.19.81")))
... in operating-system ...
(kernel linux-libre-4.19.81-inf)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: System-level inferiors.
2019-11-20 2:05 ` brettg
@ 2019-11-20 10:57 ` Pierre Neidhardt
2019-11-20 16:13 ` brettg
0 siblings, 1 reply; 7+ messages in thread
From: Pierre Neidhardt @ 2019-11-20 10:57 UTC (permalink / raw)
To: brettg, help-guix; +Cc: Help-Guix
[-- Attachment #1: Type: text/plain, Size: 207 bytes --]
This is very nice.
As far as I know, the inferior interface is still "unstable", but this
would be a good start for a blog/cookbook article nonetheless! :)
--
Pierre Neidhardt
https://ambrevar.xyz/
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: System-level inferiors.
2019-11-20 10:57 ` Pierre Neidhardt
@ 2019-11-20 16:13 ` brettg
0 siblings, 0 replies; 7+ messages in thread
From: brettg @ 2019-11-20 16:13 UTC (permalink / raw)
To: Pierre Neidhardt; +Cc: help-guix, Help-Guix
On 20.11.2019 11:57, Pierre Neidhardt wrote:
> This is very nice.
> As far as I know, the inferior interface is still "unstable", but this
> would be a good start for a blog/cookbook article nonetheless! :)
Pierre,
I think something like this definitely should go in the cookbook
regarding inferiors and the time-machine mechanism.
Let me know what I can do to help.
Brett
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-11-20 16:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-19 20:02 System-level inferiors brettg
2019-11-20 1:29 ` brettg
2019-11-20 1:35 ` brettg
2019-11-20 1:55 ` brettg
2019-11-20 2:05 ` brettg
2019-11-20 10:57 ` Pierre Neidhardt
2019-11-20 16:13 ` brettg
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.