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.