guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Maintaining GNU Jami package for Guix


From: Pierre Neidhardt
Subject: Re: Maintaining GNU Jami package for Guix
Date: Sun, 20 Oct 2019 13:48:09 +0200

Jan Wielkiewicz <address@hidden> 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/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]