commit: 49bf91cb6d8c71e1589dd9240ebf46d12181401b Author: Horea Christian <horea.christ <AT> yandex <DOT> com> AuthorDate: Tue Sep 4 09:39:50 2018 +0000 Commit: Horea Christian <horea.christ <AT> gmail <DOT> com> CommitDate: Tue Sep 4 09:39:50 2018 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=49bf91cb
sci-libs/spams-python: new package Package-Manager: Portage-2.3.48, Repoman-2.3.10 sci-libs/spams-python/metadata.xml | 24 ++++++++++++ sci-libs/spams-python/spams-python-2.6.ebuild | 55 +++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/sci-libs/spams-python/metadata.xml b/sci-libs/spams-python/metadata.xml new file mode 100644 index 000000000..d1fbb3db3 --- /dev/null +++ b/sci-libs/spams-python/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>horea.chr...@gmail.com</email> + <name>Horea Christian</name> + </maintainer> + <maintainer type="project"> + <email>s...@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> + SPAMS (SPArse Modeling Software) is an optimization toolbox for solving + various sparse estimation problems, such as: Dictionary learning and + matrix factorization (NMF, sparse PCA, ...); solving sparse decomposition + problems with LARS, coordinate descent, OMP, SOMP, proximal methods; and + Solving structured sparse decomposition problems (l1/l2, l1/linf, sparse + group lasso, tree-structured regularization, structured sparsity with + overlapping groups,...). + </longdescription> + <upstream> + <remote-id type="github">samuelstjean/spams-python</remote-id> + </upstream> +</pkgmetadata> diff --git a/sci-libs/spams-python/spams-python-2.6.ebuild b/sci-libs/spams-python/spams-python-2.6.ebuild new file mode 100644 index 000000000..eb5d40777 --- /dev/null +++ b/sci-libs/spams-python/spams-python-2.6.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) + +inherit distutils-r1 toolchain-funcs + +DESCRIPTION="Optimization toolbox for solving various sparse estimation problems" +HOMEPAGE="http://spams-devel.gforge.inria.fr/index.html" +SRC_URI="https://github.com/samuelstjean/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +IUSE="" +KEYWORDS="~amd64" + +DEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + virtual/blas + virtual/lapack + " +RDEPEND="${DEPEND} + sci-libs/scipy[${PYTHON_USEDEP}] + " + +pc_libdir() { + $(tc-getPKG_CONFIG) --libs-only-L $@ | \ + sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^,||' +} + +pc_libs() { + $(tc-getPKG_CONFIG) --libs-only-l $@ | \ + sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \ + -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \ + | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||' +} +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp +} + +python_prepare_all() { + local libdir="${EPREFIX}"/usr/$(get_libdir) + MY_LAPACK=$(pc_libs lapack) + MY_BLAS=$(pc_libs blas) + MY_LIBDIRS="$(pc_libdir blas lapack)'${libdir}'" + sed -i -e "s/'blas', 'lapack'/'${MY_BLAS}', '${MY_LAPACK}'/g" setup.py || die + sed -i -e "s|libdirs = \[\]|libdirs = [${MY_LIBDIRS}]|g" setup.py || die + distutils-r1_python_prepare_all +}