Package Details: python-spams-svn 20170104-1

Git Clone URL: https://aur.archlinux.org/python-spams-svn.git (read-only)
Package Base: python-spams-svn
Description: Optimization toolbox for solving various sparse estimation problems with Python interface
Upstream URL: http://spams-devel.gforge.inria.fr/
Licenses: GPL3
Submitter: chadvoegele
Maintainer: chadvoegele
Last Packager: chadvoegele
Votes: 0
Popularity: 0.000000
First Submitted: 2014-12-21 23:59
Last Updated: 2017-01-05 00:08

Latest Comments

dekece commented on 2016-08-30 16:19

Sorry also for not responding earlier!

Unfortunately, it seems like the patch does not apply, as I get this error.
(My comment is too long, but you can scroll down)

patching file trunk/linalg/linalg.h
patching file trunk/swig/python/mkpy
Hunk #2 FAILED at 88.
1 out of 2 hunks FAILED -- saving rejects to file trunk/swig/python/mkpy.rej
patching file trunk/swig/python/numpy.i
patching file trunk/swig/python/py_typemaps.i
Hunk #1 FAILED at 64.
Hunk #2 FAILED at 142.
2 out of 3 hunks FAILED -- saving rejects to file trunk/swig/python/py_typemaps.i.rej
patching file trunk/swig/python/setup.py.in
patch unexpectedly ends in middle of line
Hunk #2 succeeded at 79 with fuzz 1.

Fortunately though, it seems like the right python include path is already searched by default, as this builds on both python2 and 3 without any special modification, even though the patch removes the python 2 reference. So maybe we are just trying to fix an unexistant problem (at least on arch).

There is also another guy trying to get it to build with any blas version and is including your patches over there https://github.com/conda-forge/python-spams-feedstock/pull/1 so maybe he got it figured out also.

chadvoegele commented on 2016-08-19 05:09

Sorry for getting back late! I took a look at your patches and cleaned them up a bit. Can you see if these work for you? And then I'll commit them to the AUR.

Git patch: https://gist.github.com/chadvoegele/7b67e334c64139c6c9490706053aacfc
Updated python-spams.patch: https://gist.github.com/chadvoegele/2cf681c34be609ea1be135bf624208b5

dekece commented on 2016-07-24 10:05

Well, I am terrible at this if someone wants to try. Here is what should be the final patch file (which does not apply correctly) http://pastebin.com/XMirdahw

Here is what I actually changed on top of the patch http://pastebin.com/YSufguP6

I guess that merging back my new patch with the current one is not correct and I can't figure out the syntax properly. Tried git adding all files, then editing, then git diff > patch, and I can't figure out how to merge this new patch with the old one unfortunately without breaking everything syntaxwise.

chadvoegele commented on 2016-07-23 03:40

Ya, patches can be tricky but if you made your changes in the git repo, `git diff > patch.txt` and git appy patch.txt` can be very handy. Would be easy for me as well.

I don't think we can do a PR in the AUR. You would need write access to the repo and it only lets me put in one SSH key in the admin panel.

dekece commented on 2016-07-22 07:09

One week later ~~~
Yes no problem, I'll try to get it right this time, the patch thing is not cooperative with me so far, should get around fixing it this weekend. Can we PR stuff against aur btw? Can't find an easy answer to that, so I'll probably just end up posting it as a github gist when I have it ready.

chadvoegele commented on 2016-07-15 15:21

Thanks for the suggestion dekece!

Would you mind to throw together a patch for the PKGBUILD and python-spams.patch to incorporate this?

I think swapping out the '-I/usr/include/python3.5m' for '${PY_INC}' and then using something in the PKGBUILD like

export PY_INC=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")
envsubst '${PY_INC}' < python-spams.patch.template > python-spams.patch

should work.

dekece commented on 2016-07-14 22:02

If you want to make it more robust for future versions of python, I would change these lines from the patch file

+INC="-I. -Ispams/linalg -Ispams/prox -Ispams/decomp -Ispams/dictLearn
-I/usr/include/python3.5m/"
+INC_PYTHON=-I/usr/include/python3.5m

To something which is using
from distutils.sysconfig import get_python_inc

In [4]: get_python_inc()
Out[4]: '/usr/include/python3.5m'


Also, it would probably build as-is for python2 as an added bonus (and future py3 versions of course)

dekece commented on 2016-04-27 17:37

It builds and import fine, all seems good. Many thanks!

chadvoegele commented on 2016-04-24 13:45

I updated the checksums and the patch. Can you try again and see if it works for you?

dekece commented on 2016-04-24 09:28

Unfortunately, I get some error. Seems like the md5sum does not fit for the patch in the pkgbuild (tried downloading twice). Skipping the check make the file fail to apply with something like

patching file trunk/swig/python/mkpy
patching file trunk/swig/python/numpy.i
patching file trunk/swig/python/py_typemaps.i
Hunk #1 FAILED at 64.
Hunk #2 FAILED at 142.
Hunk #3 succeeded at 328 with fuzz 2.
2 out of 3 hunks FAILED -- saving rejects to file trunk/swig/python/py_typemaps.i.rej
patching file trunk/swig/python/setup.py.in
==> ERREUR : Une erreur s’est produite dans build().
Abandon...

Anyone else has some problems or I broke something?

dekece commented on 2016-04-08 07:13

Might be worth it to ask them to check if it builds officially with the latest swig if possible (or submit them the patch here), that would help everyone in the long run for the python 3 compatibility as python 2 death is not that far by now.

chadvoegele commented on 2016-02-18 20:54

The nice INRIA guys got back to me and made the SVN public again. I had to make one update but the package is building again and a spams.lasso call is working for me in Python. You might want to give it a try.

anntzer commented on 2016-02-15 19:38

I tried manually building the latest version (2.5 svn 2014-04-07) with Py3 (download the tarball and python setup.py build_ext --inplace); currently the result is not importable (ImportError: /tmp/makepkg/python-spams/src/spams-python/_spams_wrap.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _Py_ZeroStruct)

(_Py_ZeroStruct disappeared at the same time as the 2->3 transition.)

Any ideas? Do you know if some changes (unavailable to the public, right now) between 2014-04-07 and 2014-12-21 fixed this?

chadvoegele commented on 2016-02-15 14:43

The upstream folks at INRIA made the SVN private. I messaged them a while back to see if it could be switched back to public but it couldn't be switched back then. I will reach out again.

anntzer commented on 2016-02-15 08:32

This currently fails to fetch the sources:


==> Retrieving sources...
-> Found python-spams.patch
-> Cloning trunk svn repo...
svn: E170013: Unable to connect to a repository at URL 'svn://scm.gforge.inria.fr/svnroot/spams-devel/trunk'
svn: E000013: Can't open file '/svnroot/spams-devel/trunk/format': Permission denied
==> ERROR: Failure while downloading trunk svn repo
Aborting...
The build failed.

chadvoegele commented on 2014-12-22 00:03

Python tests not yet upgraded for Python 3. Build works fine and I checked the spams.lasso call from Python.