Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 761924

Summary: dev-libs/igraph: bundled libraries
Product: Gentoo Linux Reporter: Michael Orlitzky <mjo>
Component: Current packagesAssignee: Gentoo Science Biology related packages <sci-biology>
Status: CONFIRMED ---    
Severity: normal CC: esigra, szhorvat
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 251464    

Description Michael Orlitzky gentoo-dev 2020-12-27 13:12:30 UTC
The 0.8.x versions of igraph contain additional bundled libraries not covered by the unbundling patch:

  * AMD
  * bliss
  * CHOLMOD
  * cliquer
  * COLAMD
  * plfit
  * prpack

plfit and prpack aren't packaged in Gentoo yet, but the others are.
Comment 1 Szabolcs Horvát 2021-03-31 19:52:34 UTC
igraph developer here.

igraph 0.9 support using external versions of dependencies where it makes sense. See the new installation docs on how to do this: https://igraph.org/c/doc/igraph-Installation.html

For the rest (notably: bliss, cliquer, plfit, prpack), do NOT attempt to unbundle them. igraph contains modified versions, with either fixes or adaptations.
Comment 2 Szabolcs Horvát 2023-01-30 21:07:58 UTC
plfit is unbundled in the latest igraph (0.10.4 as of this writing). What I wrote above still applies for the rest of the packages, and they cannot be unbundled.
Comment 3 Michael Orlitzky gentoo-dev 2023-01-30 22:36:37 UTC
(In reply to Szabolcs Horvát from comment #2)
> plfit is unbundled in the latest igraph (0.10.4 as of this writing). What I
> wrote above still applies for the rest of the packages, and they cannot be
> unbundled.

I'm sure you're busy enough as it is, but it would be really helpful to have some notes on what modifications were made to these packages and why.

For example, bliss has made some new releases recently. If you have custom fixes for it, it should be possible to get them merged upstream and into the next release. Similarly, we have a fork of cliquer that we use in SageMath:

  https://github.com/dimpase/autocliquer

If there are bugfixes available, we'd be happy to have them, because the original upstream really is moribund.

"Adaptations" are a trickier problem, but if there's e.g. an API that's missing features you need, the first step to getting it would be to ask the upstream project what they think.

We (your downstreams) could help with some of that but it's difficult without knowing what modifications were made and why.
Comment 4 Szabolcs Horvát 2023-02-13 13:39:29 UTC
Generally, adaptations are along the lines of:

 - computations should be interactively interruptible
 - when errors occur, it should be possible to escape cleanly without terminating the process
 - matching integer sizes with what igraph supports natively

Bugfixes are contributed upstream when possible. For prpack, they go here: https://github.com/dgleich/prpack Note that prpack doesn't have a standardized packaging that we can rely on.

Bliss integration in igraph is a work in progress. The recent release was in response igraph's requirements, but I have not had time to make progress on this.  Again, bliss doesn't really have a fully standardized way to build it into a library _yet_ that we can rely on, though 0.77 does provide most features igraph needs.

As for Cliquer, the changes we made are now too deep to make unbundling practical. Cliquer's author told me that no new releases are planned. We did not fix any bugs in Cliquer, except for using larger integer types in some places to prevent very rare occurrences of overflow. Are there any fixes in autocliquer, or is it all about packaging?
Comment 5 Michael Orlitzky gentoo-dev 2023-02-21 23:30:54 UTC
Thanks, that's helpful. Your first two bullet points align closely with what sage wants from its dependencies.

I have plfit on my rainy day list and it doesn't look like prpack would be too much trouble to package. I know Debian, Fedora, Arch, etc. would prefer to have separate packages where possible, so the lack of a standard prpack package may just be a chicken-and-egg problem (i.e. they don't know about prpack).

The fork of cliquer was mainly to fix the build system and support shared libraries, but SageMath still uses it and everyone involved is still actively working on Sage, so bug reports would be welcome.
Comment 6 Larry the Git Cow gentoo-dev 2023-05-22 20:12:01 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b2d22ddfcc3f65087d07a3f55408e652cd21dd0

commit 7b2d22ddfcc3f65087d07a3f55408e652cd21dd0
Author:     Michael Orlitzky <mjo@gentoo.org>
AuthorDate: 2023-05-22 19:47:50 +0000
Commit:     Michael Orlitzky <mjo@gentoo.org>
CommitDate: 2023-05-22 20:05:16 +0000

    dev-libs/igraph: new revision to unbundle plfit.
    
    Bug: https://bugs.gentoo.org/761924
    Signed-off-by: Michael Orlitzky <mjo@gentoo.org>

 dev-libs/igraph/igraph-0.10.4-r1.ebuild | 48 +++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)