* How to bump a package version locally?
@ 2023-10-18 18:24 Hiep Pham
2023-10-18 19:00 ` wolf
2023-10-20 13:15 ` Simon Tournier
0 siblings, 2 replies; 6+ messages in thread
From: Hiep Pham @ 2023-10-18 18:24 UTC (permalink / raw)
To: help-guix
Hi,
I want to bump `jsonnet` version from 0.17.0 to 0.20.0 from the master
branch of the `guix` repository. I edited the version in
`gnu/packages/cpp.scm`:
(define-public jsonnet
(package
(name "jsonnet")
(version "0.20.0")
[snip]
))
*How do I test building/installing this change locally?*
Here what I tried so far:
1. Standing at the root of the `guix` repository, build with:
guix build -L . jsonnet
This failed:
```
guix build: warning: failed to load '(build-aux build-self)':
no code for module (build-aux build-self)
./build-aux/build-self.scm:19:0: warning: module name (build-self) does
not match file name 'build-aux/build-self.scm'
hint: File `./build-aux/build-self.scm' should probably start with:
(define-module (build-aux build-self))
guix build: All 92 channel news entries are valid.
guix build: warning: failed to load '(build-aux check-channel-news)':
no code for module (build-aux check-channel-news)
hint: File `./build-aux/check-channel-news.scm' should probably start
with:
(define-module (build-aux check-channel-news))
[snip]
guix build: warning: failed to load '(build-aux compile-all)':
```
2. Followed the contributing guide [1], I created a shell instead:
guix shell -C -D guix git help2man strace
./bootstrap
./configure --localstatedir=/var
This generated `pre-inst-env`, but `make` step failed with:
```
MAKEINFO doc/guix.de.info
contributing.de.texi:1659: @menu reference to nonexistent node
`Configuring Git'
contributing.de.texi:1660: @menu reference to nonexistent node `Sending
a Patch Series'
make[2]: *** [Makefile:5003: doc/guix.de.info] Error 1
```
So I was blocked to progress further :(
[1] https://guix.gnu.org/manual/en/guix.html#Contributing
--
Hiep
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to bump a package version locally?
2023-10-18 18:24 How to bump a package version locally? Hiep Pham
@ 2023-10-18 19:00 ` wolf
2023-10-19 16:47 ` Hiep Pham
2023-10-20 13:15 ` Simon Tournier
1 sibling, 1 reply; 6+ messages in thread
From: wolf @ 2023-10-18 19:00 UTC (permalink / raw)
To: Hiep Pham; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 4261 bytes --]
On 2023-10-18 18:24:48 +0000, Hiep Pham wrote:
> Hi,
>
> I want to bump `jsonnet` version from 0.17.0 to 0.20.0 from the master
> branch of the `guix` repository. I edited the version in
> `gnu/packages/cpp.scm`:
>
> (define-public jsonnet
> (package
> (name "jsonnet")
> (version "0.20.0")
> [snip]
> ))
FYI You will need to do some more changes, just version bump sadly does not
build:
$ guix shell jsonnet --no-offload --with-version=jsonnet=0.20.0
guix shell: warning: cannot authenticate source of 'jsonnet', version 0.20.0
updating checkout of 'https://github.com/google/jsonnet'...
retrieved commit f45e01d632b29e4c0757ec7ba188ce759298e6d3
The following derivation will be built:
/gnu/store/d5pndfws378w22c7580fm4w517hfrn1r-jsonnet-0.20.0.drv
building /gnu/store/d5pndfws378w22c7580fm4w517hfrn1r-jsonnet-0.20.0.drv...
63% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉ ▏builder for `/gnu/store/d5pndfws378w22c7580fm4w517hfrn1r-jsonnet-0.20.0.drv' failed with exit code 1
build of /gnu/store/d5pndfws378w22c7580fm4w517hfrn1r-jsonnet-0.20.0.drv failed
View build log at '/var/log/guix/drvs/d5/pndfws378w22c7580fm4w517hfrn1r-jsonnet-0.20.0.drv.gz'.
guix shell: error: build of `/gnu/store/d5pndfws378w22c7580fm4w517hfrn1r-jsonnet-0.20.0.drv' failed
>
> *How do I test building/installing this change locally?*
> Here what I tried so far:
>
> 1. Standing at the root of the `guix` repository, build with:
>
> guix build -L . jsonnet
>
> This failed:
>
> ```
> guix build: warning: failed to load '(build-aux build-self)':
>
>
> no code for module (build-aux build-self)
>
>
> ./build-aux/build-self.scm:19:0: warning: module name (build-self) does
> not match file name 'build-aux/build-self.scm'
>
> hint: File `./build-aux/build-self.scm' should probably start with:
>
>
>
>
>
> (define-module (build-aux build-self))
>
>
>
>
>
> guix build: All 92 channel news entries are valid.
>
>
> guix build: warning: failed to load '(build-aux check-channel-news)':
>
>
> no code for module (build-aux check-channel-news)
>
>
> hint: File `./build-aux/check-channel-news.scm' should probably start
> with:
>
>
>
>
> (define-module (build-aux check-channel-news))
>
>
>
> [snip]
>
>
> guix build: warning: failed to load '(build-aux compile-all)':
> ```
>
> 2. Followed the contributing guide [1], I created a shell instead:
I believe this is the preferred way.
>
> guix shell -C -D guix git help2man strace
> ./bootstrap
> ./configure --localstatedir=/var
I would recommend to use
./configure --localstatedir=/var --sysconfdir=/etc
as described in the latest version of the manual:
https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
(notice the /devel/ in the path). Your version is from 1.4.0 version of the
manual and it has some limitations.
>
> This generated `pre-inst-env`, but `make` step failed with:
>
> ```
> MAKEINFO doc/guix.de.info
> contributing.de.texi:1659: @menu reference to nonexistent node
> `Configuring Git'
> contributing.de.texi:1660: @menu reference to nonexistent node `Sending
> a Patch Series'
> make[2]: *** [Makefile:5003: doc/guix.de.info] Error 1
> ```
Yes, this happens when you try to build guix source using too old guix version.
So try to run `guix pull' first and then attempt to compile it again. It should
succeed.
>
> So I was blocked to progress further :(
>
After that the pre-inst-env should work.
>
> [1] https://guix.gnu.org/manual/en/guix.html#Contributing
>
> --
> Hiep
>
>
W.
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to bump a package version locally?
2023-10-18 19:00 ` wolf
@ 2023-10-19 16:47 ` Hiep Pham
2023-10-19 23:39 ` Tomas Volf
0 siblings, 1 reply; 6+ messages in thread
From: Hiep Pham @ 2023-10-19 16:47 UTC (permalink / raw)
To: help-guix
On 10/18/23 21:00, wolf wrote:
> On 2023-10-18 18:24:48 +0000, Hiep Pham wrote:
>> Hi,
>>
>> I want to bump `jsonnet` version from 0.17.0 to 0.20.0 from the master
>> branch of the `guix` repository. I edited the version in
>> `gnu/packages/cpp.scm`:
>>
>> (define-public jsonnet
>> (package
>> (name "jsonnet")
>> (version "0.20.0")
>> [snip]
>> ))
> [trim]
>>
>> 2. Followed the contributing guide [1], I created a shell instead:
>
> I believe this is the preferred way.
>
>>
>> guix shell -C -D guix git help2man strace
>> ./bootstrap
>> ./configure --localstatedir=/var
>
> I would recommend to use
>
> ./configure --localstatedir=/var --sysconfdir=/etc
>
> as described in the latest version of the manual:
>
> https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
>
> (notice the /devel/ in the path). Your version is from 1.4.0 version of the
> manual and it has some limitations.
Okay, so I followed exactly this, and ...
>>
>> This generated `pre-inst-env`, but `make` step failed with:
>>
>> ```
>> MAKEINFO doc/guix.de.info
>> contributing.de.texi:1659: @menu reference to nonexistent node
>> `Configuring Git'
>> contributing.de.texi:1660: @menu reference to nonexistent node `Sending
>> a Patch Series'
>> make[2]: *** [Makefile:5003: doc/guix.de.info] Error 1
>> ```
>
> Yes, this happens when you try to build guix source using too old guix version.
> So try to run `guix pull' first and then attempt to compile it again. It should
> succeed.
I ran `guix pull` but no luck for me. I still met the same error when I
was running `make`:
```
contributing.de.texi:1659: @menu reference to nonexistent node
`Configuring Git'
contributing.de.texi:1660: @menu reference to nonexistent node `Sending
a Patch Series'
```
My `guix describe` (on my Fedora machine):
```
guix c065da0
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: c065da01ff956d3c2bdfc45a33d910e509a211d9
```
c065da01ff956d3c2bdfc45a33d910e509a211d9 is the latest commit on Oct 19,
2023.
And my `which guix` is:
/home/[username]/.config/guix/current/bin/guix
>>
>> So I was blocked to progress further :(
>>
>
> After that the pre-inst-env should work.
>
>>
>> [1] https://guix.gnu.org/manual/en/guix.html#Contributing
>>
>> --
>> Hiep
>>
>>
>
> W.
>
--
Hiep
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to bump a package version locally?
2023-10-19 16:47 ` Hiep Pham
@ 2023-10-19 23:39 ` Tomas Volf
2023-10-21 19:20 ` Hiep Pham
0 siblings, 1 reply; 6+ messages in thread
From: Tomas Volf @ 2023-10-19 23:39 UTC (permalink / raw)
To: Hiep Pham; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 3448 bytes --]
On 2023-10-19 16:47:13 +0000, Hiep Pham wrote:
> On 10/18/23 21:00, wolf wrote:
> > On 2023-10-18 18:24:48 +0000, Hiep Pham wrote:
> >> Hi,
> >>
> >> I want to bump `jsonnet` version from 0.17.0 to 0.20.0 from the master
> >> branch of the `guix` repository. I edited the version in
> >> `gnu/packages/cpp.scm`:
> >>
> >> (define-public jsonnet
> >> (package
> >> (name "jsonnet")
> >> (version "0.20.0")
> >> [snip]
> >> ))
> > [trim]
> >>
> >> 2. Followed the contributing guide [1], I created a shell instead:
> >
> > I believe this is the preferred way.
> >
> >>
> >> guix shell -C -D guix git help2man strace
> >> ./bootstrap
> >> ./configure --localstatedir=/var
> >
> > I would recommend to use
> >
> > ./configure --localstatedir=/var --sysconfdir=/etc
> >
> > as described in the latest version of the manual:
> >
> > https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
> >
> > (notice the /devel/ in the path). Your version is from 1.4.0 version of the
> > manual and it has some limitations.
>
> Okay, so I followed exactly this, and ...
>
> >>
> >> This generated `pre-inst-env`, but `make` step failed with:
> >>
> >> ```
> >> MAKEINFO doc/guix.de.info
> >> contributing.de.texi:1659: @menu reference to nonexistent node
> >> `Configuring Git'
> >> contributing.de.texi:1660: @menu reference to nonexistent node `Sending
> >> a Patch Series'
> >> make[2]: *** [Makefile:5003: doc/guix.de.info] Error 1
> >> ```
> >
> > Yes, this happens when you try to build guix source using too old guix version.
> > So try to run `guix pull' first and then attempt to compile it again. It should
> > succeed.
>
>
> I ran `guix pull` but no luck for me. I still met the same error when I
> was running `make`:
What version of makeinfo is present? For me:
$ guix shell -D guix -- makeinfo --version
texi2any (GNU texinfo) 6.8
>
> ```
> contributing.de.texi:1659: @menu reference to nonexistent node
> `Configuring Git'
> contributing.de.texi:1660: @menu reference to nonexistent node `Sending
> a Patch Series'
> ```
>
> My `guix describe` (on my Fedora machine):
>
> ```
> guix c065da0
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: c065da01ff956d3c2bdfc45a33d910e509a211d9
> ```
>
> c065da01ff956d3c2bdfc45a33d910e509a211d9 is the latest commit on Oct 19,
> 2023.
>
> And my `which guix` is:
>
> /home/[username]/.config/guix/current/bin/guix
I have to admit, I am unsure what the problem exactly is. Unless someone else
comes with a better idea, what you could try:
1. Clean up the git worktree (I use `git clean -xffd')
2. Do the whole process step-by-step again
3. Send here the full output (commands executed and their output); also include
both guix describe output and git commit of the guix repository you are on
Maybe there will be more ideas based on that. Sorry I cannot be of more use.
>
> >>
> >> So I was blocked to progress further :(
> >>
> >
> > After that the pre-inst-env should work.
> >
> >>
> >> [1] https://guix.gnu.org/manual/en/guix.html#Contributing
> >>
> >> --
> >> Hiep
> >>
> >>
> >
> > W.
> >
>
> --
> Hiep
>
>
>
W.
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to bump a package version locally?
2023-10-18 18:24 How to bump a package version locally? Hiep Pham
2023-10-18 19:00 ` wolf
@ 2023-10-20 13:15 ` Simon Tournier
1 sibling, 0 replies; 6+ messages in thread
From: Simon Tournier @ 2023-10-20 13:15 UTC (permalink / raw)
To: Hiep Pham, help-guix
Hi,
On Wed, 18 Oct 2023 at 18:24, Hiep Pham <hiepph9@proton.me> wrote:
> I want to bump `jsonnet` version from 0.17.0 to 0.20.0 from the master
> branch of the `guix` repository. I edited the version in
> `gnu/packages/cpp.scm`:
>
> (define-public jsonnet
> (package
> (name "jsonnet")
> (version "0.20.0")
> [snip]
> ))
>
> *How do I test building/installing this change locally?*
> Here what I tried so far:
>
> 1. Standing at the root of the `guix` repository, build with:
>
> guix build -L . jsonnet
>
> This failed:
What is the content of the folder ’.’?
I guess the command above “guix build -L .” is run from the Guix
checkout, right? If yes, the failure is expected. Here, you are
loading too much and conflicting definitions.
> 2. Followed the contributing guide [1], I created a shell instead:
>
> guix shell -C -D guix git help2man strace
> ./bootstrap
> ./configure --localstatedir=/var
>
> This generated `pre-inst-env`, but `make` step failed with:
>
> ```
> MAKEINFO doc/guix.de.info
> contributing.de.texi:1659: @menu reference to nonexistent node
> `Configuring Git'
> contributing.de.texi:1660: @menu reference to nonexistent node `Sending
> a Patch Series'
> make[2]: *** [Makefile:5003: doc/guix.de.info] Error 1
> ```
Before running “guix shell”, what is your revision of Guix? What is the
output of “guix describe”?
Well, I recommend to run first “guix pull”. Then, if the error still
happens, maybe try “make distclean” before running “./bootstrap”,
“./configure” and “make”.
Hope that helps,
simon
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to bump a package version locally?
2023-10-19 23:39 ` Tomas Volf
@ 2023-10-21 19:20 ` Hiep Pham
0 siblings, 0 replies; 6+ messages in thread
From: Hiep Pham @ 2023-10-21 19:20 UTC (permalink / raw)
To: help-guix
On 10/20/23 01:39, Tomas Volf wrote:
> On 2023-10-19 16:47:13 +0000, Hiep Pham wrote:
>> On 10/18/23 21:00, wolf wrote:
>>> On 2023-10-18 18:24:48 +0000, Hiep Pham wrote:
>>>> Hi,
>>>>
>>>> I want to bump `jsonnet` version from 0.17.0 to 0.20.0 from the master
>>>> branch of the `guix` repository. I edited the version in
>>>> `gnu/packages/cpp.scm`:
>>>>
>>>> (define-public jsonnet
>>>> (package
>>>> (name "jsonnet")
>>>> (version "0.20.0")
>>>> [snip]
>>>> ))
>>> [trim]
>>>>
>>>> 2. Followed the contributing guide [1], I created a shell instead:
>>>
>>> I believe this is the preferred way.
>>>
>>>>
>>>> guix shell -C -D guix git help2man strace
>>>> ./bootstrap
>>>> ./configure --localstatedir=/var
>>>
>>> I would recommend to use
>>>
>>> ./configure --localstatedir=/var --sysconfdir=/etc
>>>
>>> as described in the latest version of the manual:
>>>
>>> https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
>>>
>>> (notice the /devel/ in the path). Your version is from 1.4.0 version of the
>>> manual and it has some limitations.
>>
>> Okay, so I followed exactly this, and ...
>>
>>>>
>>>> This generated `pre-inst-env`, but `make` step failed with:
>>>>
>>>> ```
>>>> MAKEINFO doc/guix.de.info
>>>> contributing.de.texi:1659: @menu reference to nonexistent node
>>>> `Configuring Git'
>>>> contributing.de.texi:1660: @menu reference to nonexistent node `Sending
>>>> a Patch Series'
>>>> make[2]: *** [Makefile:5003: doc/guix.de.info] Error 1
>>>> ```
>>>
>>> Yes, this happens when you try to build guix source using too old guix version.
>>> So try to run `guix pull' first and then attempt to compile it again. It should
>>> succeed.
>>
>>
>> I ran `guix pull` but no luck for me. I still met the same error when I
>> was running `make`:
>
> What version of makeinfo is present? For me:
>
> $ guix shell -D guix -- makeinfo --version
> texi2any (GNU texinfo) 6.8
>
>
>>
>> ```
>> contributing.de.texi:1659: @menu reference to nonexistent node
>> `Configuring Git'
>> contributing.de.texi:1660: @menu reference to nonexistent node `Sending
>> a Patch Series'
>> ```
>>
>> My `guix describe` (on my Fedora machine):
>>
>> ```
>> guix c065da0
>> repository URL: https://git.savannah.gnu.org/git/guix.git
>> branch: master
>> commit: c065da01ff956d3c2bdfc45a33d910e509a211d9
>> ```
>>
>> c065da01ff956d3c2bdfc45a33d910e509a211d9 is the latest commit on Oct 19,
>> 2023.
>>
>> And my `which guix` is:
>>
>> /home/[username]/.config/guix/current/bin/guix
>
> I have to admit, I am unsure what the problem exactly is. Unless someone else
> comes with a better idea, what you could try:
>
> 1. Clean up the git worktree (I use `git clean -xffd')
> 2. Do the whole process step-by-step again
I ran `git clean -xffd`, and started anew in a container.
guix shell --container --network --nesting --development guix help2man \
git strace font-ghostscript fontconfig guile-gnutls
Things now work!!
./bootstrap
./configure --localstatedir=/var --sysconfdir=/etc
make
make check
I now can build `jsonnet` with a new version (0.17.0 -> 0.20.0):
/pre-inst-env guix build jsonnet
Of course, the build failed, since *there should be more work than just
bumping the version*. But this is a good start for me to start
contributing to the master tree. Long way to go, though.
Developing in a foreign distro (Fedora in my case) was difficult.
Luckily, I discovered `--container`, `--network` and most importantly,
`--nesting` so that Guix _inside_ the container can interact with the
build daemon that runs _outside_ the container.
Anyway, thanks a lot for your help!
--
Hiep
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-10-21 19:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-18 18:24 How to bump a package version locally? Hiep Pham
2023-10-18 19:00 ` wolf
2023-10-19 16:47 ` Hiep Pham
2023-10-19 23:39 ` Tomas Volf
2023-10-21 19:20 ` Hiep Pham
2023-10-20 13:15 ` Simon Tournier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).