Jan Wielkiewicz writes: >> Jami used to depend on their own fork of pjproject (as packaged in >> Guix). >> However it seems that recent versions have dropped the fork to use >> upstream instead. _This needs to be confirmed._ > It seems the latest version still has patches for pjproject in the > source code, but I can ask the devs about it. Don't hesitate to post on the issue tracker, in my experience they are responsive and helpful. >> If this is the case, switching the pjproject input to use upstream >> should work when updating Jami. > I've tried updating Jami, but pjproject seems to be a problem - > don't know what have changed, but now even the currently packaged > version of pjproject won't compile. Here's the log: > > starting phase `autoconf' > autoconf: error: invalid option `-vfi' > Try `autoconf --help' for more information. > command "autoconf" "-vfi" "-o" "aconfigure" "aconfigure.ac" failed with > status 1 I remember this error, but I don't know if it was for Jami or some unrelated package. It's an issue with some versions of autoconf. I think you have to use '-v -f -i' instead, and maybe leave out one offending option. > I've also tried updating pjproject to the current version Jami uses - > 2.8, it throws the same error. I managed to skip that by removing the > "-vfi" options by commenting it out like this: > > (add-before 'patch-source-shebangs 'autoconf > (lambda _ > (invoke "autoconf" "-o" ;"-vfi" > "aconfigure" "aconfigure.ac"))) See above, don't leave out everything. > But then it fails later, while doing "make dep": > > make[2]: Entering directory > '/tmp/guix-build-pjproject-2.8.drv-0/pjproject-2.8/third_party/build' > make[2]: *** gsm: No such file or directory. Stop. make[2]: Leaving > directory > '/tmp/guix-build-pjproject-2.8.drv-0/pjproject-2.8/third_party/build' > make[1]: *** [Makefile:7: dep] Error 1 make[1]: Leaving directory > '/tmp/guix-build-pjproject-2.8.drv-0/pjproject-2.8/third_party/build' > make: *** [Makefile:14: dep] Error 1 command "make" "dep" failed with > status 2 > > Why are third party directories removed if they're necessary to build > pjproject? Should I package contents of these folders as separate > package? This is the whole trick about packaging Jami: we remove all the embedded dependencies, and instead build against our own. If you look at the package definitions, you'll see that we explicitly skip building the third_party, and instead we expose them as inputs. > Also something is causing builds of Jami to be irreproducible > - every time I run guix upgrade, Jami gets upgraded to the same > version. Is there a way to check what exactly is unstable? Try running `guix build --check ...` against Jami specific-inputs, like pjproject, libring, libring-client, etc. -- Pierre Neidhardt https://ambrevar.xyz/