-
Notifications
You must be signed in to change notification settings - Fork 45
Use conda for building (and consequently drop Py 2.6, 3.2, add 3.4, 3.5). #4
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
Conversation
|
I haven't looked closely at this, but at first glance, this looks great. Here are some initial thoughts. It's a minor point, but I don't understand the reason for separating the 2-line build script into a separate file. If this script were used elsewhere, then sure, but it isn't, so creating another file for this seems like it just makes things more complicated. The reason explained in the commit message is that it "might make life slightly easier for anyone attempting to build on Windows," which I suppose is possible, but I think we should worry about that once somebody tries to build on Windows. If somebody is going to build on Windows, I'd think the 2-line build script would be the least of their problems. Another comment is about the GPL license. If the license for slycot is GPL, doesn't that conflict with the BSD license for python-control? Maybe that just means the two packages can never be bundled together? |
|
On the script separation: I guess the reasoning was half wishful-thinking about Windows, half fig-leaf for my own preferences. I'll revert this change. On the license: looks like "current" SLICOT is released under GPLv3 [1]. The first commit of Slycot dates from 5 Feb 2010, under GPLv2-or-later [2]. Hm, I just noticed the [1] http://slicot.org/20-site/31-gpl-3-0-standalone edit: setup.py changed w.r.t. license here jgoppert/Slycot@f6a2789/setup.py |
Build with "conda build" instead of setup.py Conda only supports Python 2.7, and 3.3 and up, so drop 2.6 and 3.2, and add 3.4 and 3.5. Install gfortran for compiling, and nose for tests. Don't install scipy; get matrix class from numpy instead. Scipy is still needed for one example for generalized eigenvalues. Use the python-control channel for lapack. Correct license in meta.yaml; the intended license of Slycot seems to GPLv2 (see gpl-2.0.txt in root). Change meta.yaml project URL to python-control Slycot project page. Removed from meta.yaml some comments that look like they were inherited from a cookie-cutter template.
|
@roryyorke Thanks for commenting that the license listed in setup.py had been modified. The change was made in commit f6a27896b6346f7418fb97bf3edb7f3b06ce3b04 (the relevant link to the repository of jgoppert/Slycot is jgoppert/Slycot@f6a2789/setup.py). I will revert it back to GPLv2, because we cannot switch the license as such. |
|
@cwrowley Regarding that [1] https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean |
|
The changes proposed in this pull request are good. |
|
@roryyorke On line 1 of .travis.yml, should it be "cargo-culled"? If so, I can apply the change directly on |
|
It's a reference to [1](apologies if I'm missing the joke). Regarding conda difficulties, which I too have had: we could consider [1] https://en.m.wikipedia.org/wiki/Cargo_cult_programming On 20 Oct 2016 6:31 PM, "Scott C. Livingston" notifications@github.com
|
Build with "conda build" instead of setup.py
Conda only supports Python 2.7, and 3.3 and up, so drop 2.6 and 3.2, and
add 3.4 and 3.5.
Install gfortran for compiling, and nose for tests.
Don't install scipy; get matrix class from numpy instead. Scipy is
still needed for one example for generalized eigenvalues.
Use the python-control channel for lapack.
Correct license in meta.yaml; the intended license of Slycot seems to GPLv2 (see
gpl-2.0.txt in root).
Change meta.yaml project URL to python-control Slycot project page.
Split out the build script from meta.yaml; this might make life slightly
easier for anyone attempting to build this on Windows.
Removed from meta.yaml some comments that look like they were inherited
from a cookie-cutter template.