Made some progress and I'll rework on the patches tonight.

Current workflow is the following :

In a guix with v2 patches and current guix-local:
cd /tmp
mkdir -p hello
cd hello
guix local instantiate hello --> downloads and unpacks hello's source
cd hello*
guix local build hello --> builds locally and installs in ./out

This should work for any package except when there are patches or
snippets, I'll work on fixing that too (probably the simplest is to drop
the functionality since it's also done in guix local instantiate).

I'll work on a v3 and clarify the situation for patches/snippets
tonight.


On 2025-03-19 13:44, ngraves--- via "Development of GNU Guix and the GNU System 
distribution." wrote:

> Hi Sergio,
>
> I worked towards it quite recently ! Latest efforts are from yesterday even ;)
>
> The latest working example on my side is (used in guile-emacs repo as 
> guix.scm with command guix build -f guix.scm) : 
> https://git.sr.ht/~ngraves/guix-stack/tree/master/item/examples/guile-emacs.scm
>
> The code is in this channel guix-stack, which is not promoted since it's not 
> ready. Please don't hesitate to contribute and report any error to 
> https://lists.sr.ht/~ngraves/devel
>
> Cheers,
>
> Nicolas
> Mar 19, 2025, 13:36 by sergio.pastorpe...@gmail.com:
>
>> Hello Nicolas!
>>
>> I've been looking forward to this early 2024 effort to
>> allow partial builds.
>>
>> Today I've decided to try it out. I got some issues when running the
>> 'guix.scm' example you provided with your patch series applied over
>> `412f411d4f8780e6b60b448caae17f01c09be0eb`.
>> --8<---------------cut here---------------start------------->8---
>> ../guix/pre-inst-env guix build -f guix.scm
>>
>> [...]
>>
>> not running as PID 1 (PID: 11958)
>> phase `separate-from-pid1' succeeded after 0.0 seconds
>> sh: line 1: /environment-variables: Permission denied
>> starting phase `set-SOURCE-DATE-EPOCH'
>> phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
>> sh: line 1: /environment-variables: Permission denied
>> starting phase `set-paths'
>>
>> [...]
>>
>> starting phase `patch-source'
>> applying 
>> '/gnu/store/s3ngalq85wrlhc8wy4d74p6bn768645n-emacs-disable-jit-compilation.patch'...
>> patching file src/comp.c
>> Hunk #1 FAILED at 5648.
>> 1 out of 1 hunk FAILED -- saving rejects to file src/comp.c.rej
>> error: in phase 'patch-source': uncaught exception:
>> %exception #<&invoke-error program: 
>> "/gnu/store/h6mhlky6wnrn68q4ksmmy39rjkzwl22l-patch-2.7.6-0.f144b35/bin/patch"
>>  arguments: ("--force" "--no-backup-if-mismatch" "-p1" "--input" 
>> "/gnu/store/s3ngalq85wrlhc8wy4d74p6bn768645n-emacs-disable-jit-compilation.patch")
>>  exit-status: 1 term-signal: #f stop-signal: #f> 
>> phase `patch-source' failed after 0.0 seconds
>> sh: line 1: /environment-variables: Permission denied
>> command 
>> "/gnu/store/h6mhlky6wnrn68q4ksmmy39rjkzwl22l-patch-2.7.6-0.f144b35/bin/patch"
>>  "--force" "--no-backup-if-mismatch" "-p1" "--input" 
>> "/gnu/store/s3ngalq85wrlhc8wy4d74p6bn768645n-emacs-disable-jit-compilation.patch"
>>  failed with status 1
>> guix build: error: exception thrown: #<&invoke-error program: 
>> "/gnu/store/xv4cd7qz4yan93zkjisbmbpxfz78hah2-guile-3.0.9/bin/guile" 
>> arguments: ("--no-auto-compile" "-L" 
>> "/gnu/store/q7lrzwpnhjp4s1jrgg78vikqk8gx5mgq-module-import" "-C" 
>> "/gnu/store/qafn8iflzfq18j8wn9pz0z4ycrsply0v-module-import-compiled" 
>> "/gnu/store/rrxc0kv0k1mblr660smligw4scrab7yl-emacs-pgtk-29.4-builder") 
>> exit-status: 1 term-signal: #f stop-signal: #f>
>> --8<---------------cut here---------------end--------------->8---
>>
>> I've seen that the latest patch series revision is from last month. Is
>> the provided 'guix.scm' example outdated?
>>
>> Is there any way we can help you to bring this feature to Guix proper?
>>
>>
>> Best regards,
>> Sergio.
>>
>

-- 
Best regards,
Nicolas Graves

Reply via email to