New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch from PolyBoRi to BRiAl #18437
Comments
comment:1
Reposted from #15530: fyi, I started working on an autotools based build system for polybori at https://github.com/ohanar/PolyBoRi/tree/autotools. I'll probably work on it a bit more next weekend during SD 64.25, but the important bits (the c++ libraries) are currently working with only a couple of hacks. What remains (for sage at least) is just a little cleanup and throwing in the bit of the python bindings we use. I also don't know how we should handle this with regards to upstream, since upstream is dead. I certainly don't want to take over maintenance for polybori, but we'll probably need to make some sort of fork. |
comment:2
I think there are two separate issues:
We could package the libraries properly and then have a separate python binding package, unless |
comment:3
Current version of |
comment:4
Replying to @kiwifb:
Polybori has made some real modifications to cudd (I don't think that they are too significant though). From looking at the code it seems like they at least tried to support using an unmodified version, however I don't know if it actually works. Also, cudd's build system looks to be a joke (e.g. assumes |
comment:5
Doesn't sound good. Autotooling something like that is definitely a good idea. But that puts the burden of maintenance on us. Mind you in Gentoo we have patches to autotool all the individual components of |
comment:6
So I looked a bit more into how exactly polybori modifies cudd, and other than the build system changes, it appears to be just one of two things:
Given this, I don't think it would be hard to make polybori work with a vanilla version of cudd. Also, since upstream cudd is not completely dead, the author might be receptive to a better build system if we provide it. |
Author: R. Andrew Ohana |
comment:7
I contacted the author of Cudd on Tuesday and have yet to hear back from him. Given that, I think I would prefer not packaging Cudd separately, since maintaining one autotools based system (for polybori) is easier than two (for polybori and for cudd). I've posted a branch, which uses the tarball at https://github.com/ohanar/PolyBoRi/releases/download/0.8.4/polybori-0.8.4.tar.gz. It doesn't include any of the python bindings, nor any of the tests, so beyond the build system, it is a bit of a fork of polybori. (Maybe we should rename it to something like cropped-polybori.) New commits:
|
Commit: |
Branch: u/ohanar/polybori |
comment:8
I can easily test the new stuff in Gentoo. I can even test your stuff from git master if that helps. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:10
Yes, I that would be good (at the very least to make sure that I haven't somehow made things work with old artifacts lying around). Point in fact, I just realized that I pushed a little prematurely, as I forgot to include a few headers in the dist. The new tarball is https://github.com/ohanar/PolyBoRi/releases/download/0.8.5/polybori-0.8.5.tar.bz2. I'm actually using the autotools branch, but at the moment the tip is the new release I just cut. Since this is new, I can squash the history at some point if desired. |
This comment has been minimized.
This comment has been minimized.
comment:12
Exactly what does this patch do? It looks like you're moving part of |
comment:14
Extraordinary measures (forking polybori???) need extraordinary justification... |
comment:15
Upstream being dead is ample justification. We had that conversation elsewhere and decided that it was the way to go. |
comment:16
Replying to @kiwifb:
Pointers please... |
comment:17
We had some talk over at #15530 comment:32 but I think the confirmation that Alexander and Michael had completely abandoned ship were posted on a thread on sage-devel. I'll dig that up. |
comment:18
From sage-devel "Python 3 focused Sage Days" thread: Subject: Re: [Polybori-discuss] Fwd: Re: [sage-devel] Re: Python 3 focused Hi Martin, Best regards, |
comment:19
Even if upstream |
comment:20
Fair point. The question then is "does anyone care to have to install sage to get polybori instead of having it as stand alone package?". If it has users as a stand alone package then it should be kept split. If not, that's at the discretion of whoever actually maintains the code. |
comment:21
Replying to @kiwifb:
I don't think that's "the question". All the packaging effort in Sage is really converging towards separating packages from the Sage library proper. At the very least, moving |
comment:71
If that's the case, yes I do have an idea. But I'll look at the log more in depth first. It looks like missing sse2 instruction but the build is i486 so it shouldn't have them either. |
comment:72
I think I know what to do, expect a pull request shortly. |
comment:73
Here is what I do in M4RIE https://bitbucket.org/malb/m4rie/src/HEAD/m4/ax_m4ri_flags.m4?at=master but I think this should be replaced by pkg-config like this |
comment:74
Funny, I wrote what I called a vile hack but at some point it was looking very very close to that. I just didn't have the step to use |
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:76
ok, hopefully now fixed |
comment:78
Isn't this a typo? + $(INST)/$(BRAIL) \ |
comment:79
Replying to @jdemeyer:
Looks like one. I wonder how I got it to build "without that problem" on two different machines. |
comment:80
Replying to @kiwifb:
The problem would start if you upgrade |
comment:81
Here is a build failure because the dependencies are not correct, looks like the Sage library is built before brial: |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:84
OK, positive review - take 3. |
Changed branch from u/ohanar/brial to |
Right now PolyBoRi relies on scons (which is still Python 2 only), and has some Python 2 specific syntax in its bindings. These issues will need to be resolved before Sage can support Python 3.
On this ticket we update to the first version of BRiAl which includes a new (incomplete, but sufficient for our purposes) autotools based system.
To achieve this, we fork upstream
polybori
, see https://github.com/BRiAl/BRiAlTarball: https://github.com/BRiAl/BRiAl/releases/download/0.8.4.3/brial-0.8.4.3.tar.bz2
Depends on #19085
CC: @malb
Component: packages: standard
Author: R. Andrew Ohana
Branch/Commit:
7ff3b09
Reviewer: François Bissey
Issue created by migration from https://trac.sagemath.org/ticket/18437
The text was updated successfully, but these errors were encountered: