unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* 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).