mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-25 07:08:13 -07:00
dev-python/cvxopt: Bump to 1.2.6
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1 +1,2 @@
|
||||
DIST cvxopt-1.2.5.tar.gz 6742389 BLAKE2B 32e872d13624250610e7eecf2a5755b7b2adbf98dd9b7d1b0d6e236d62677fcdef7c08a2365d7b511f755a38b34a29ff78b280fb7e92ec6256a71c63e022e003 SHA512 d21d9977941140e76d1619a1239fab5d93a3467c4cbeacca2003168c96e1bbec9698563dba07107f6e0a84a0af92124d5c868af599bd049b64f47a3cd3753afc
|
||||
DIST cvxopt-1.2.6.tar.gz 4114036 BLAKE2B d7516c06c00907a42bbcfa99611febd87fa8480ddb812b7abc0a3b6c5a642c87756fa36d6434b4933797a03d4d94bb2838341da6f00143b9f058710e8f625447 SHA512 7b1c092d970e726b262bb5b07d9c8ca6a7081902707a812a6b196e7cb76523bd67b346024b96087622d39d564f4f095485d4f875c88dcc8921ec2185734b0969
|
||||
|
||||
164
dev-python/cvxopt/cvxopt-1.2.6.ebuild
Normal file
164
dev-python/cvxopt/cvxopt-1.2.6.ebuild
Normal file
@@ -0,0 +1,164 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
|
||||
inherit distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Python package for convex optimization"
|
||||
HOMEPAGE="https://cvxopt.org/ https://github.com/cvxopt/cvxopt"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="+dsdp examples fftw +glpk gsl"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
virtual/blas
|
||||
virtual/lapack
|
||||
sci-libs/amd:0=
|
||||
sci-libs/cholmod:0=
|
||||
sci-libs/colamd:0=
|
||||
sci-libs/suitesparseconfig:0=
|
||||
sci-libs/umfpack:0=
|
||||
dsdp? ( sci-libs/dsdp:0= )
|
||||
fftw? ( sci-libs/fftw:3.0= )
|
||||
glpk? ( >=sci-mathematics/glpk-4.49:0= )
|
||||
gsl? ( sci-libs/gsl:0= )"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
distutils_enable_sphinx doc/source --no-autodoc
|
||||
distutils_enable_tests pytest
|
||||
|
||||
# The BLAS_LIB and LAPACK_LIB variables (among others) in cvxopt's
|
||||
# setup.py are passed in as colon-delimited strings. So, for example,
|
||||
# if your blas "l" flags are "-lblas -lcblas", then cvxopt wants
|
||||
# "blas;cblas" for BLAS_LIB.
|
||||
#
|
||||
# The following function takes a flag type ("l", "L", or "I") as its
|
||||
# first argument and a list of packages as its remaining arguments. It
|
||||
# outputs a list of libraries, library paths, or include paths,
|
||||
# respectively, for the given packages, retrieved using pkg-config and
|
||||
# deduplicated, in the appropriate format.
|
||||
#
|
||||
cvxopt_output() {
|
||||
local FLAGNAME="${1}"
|
||||
shift
|
||||
local PACKAGES="${@}"
|
||||
|
||||
local PKGCONFIG_MODE
|
||||
case "${FLAGNAME}" in
|
||||
l) PKGCONFIG_MODE="--libs-only-l";;
|
||||
L) PKGCONFIG_MODE="--libs-only-L";;
|
||||
I) PKGCONFIG_MODE="--cflags-only-I";;
|
||||
*) echo "invalid flag name: ${FLAGNAME}"; exit 1;;
|
||||
esac
|
||||
|
||||
local CVXOPT_OUTPUT=""
|
||||
local PKGCONFIG_ITEM
|
||||
for PKGCONFIG_ITEM in $($(tc-getPKG_CONFIG) ${PKGCONFIG_MODE} ${PACKAGES})
|
||||
do
|
||||
# First strip off the leading "-l", "-L", or "-I", and replace
|
||||
# it with a semicolon...
|
||||
PKGCONFIG_ITEM=";${PKGCONFIG_ITEM#-${FLAGNAME}}"
|
||||
|
||||
# Now check to see if this element is already present in the
|
||||
# list, and skip it if it is. This eliminates multiple entries
|
||||
# from winding up in the list when multiple package arguments are
|
||||
# passed to this function.
|
||||
if [[ "${CVXOPT_OUTPUT}" != "${CVXOPT_OUTPUT%${PKGCONFIG_ITEM}}" ]]
|
||||
then
|
||||
# It was already the last entry in the list, so skip it.
|
||||
continue
|
||||
elif [[ "${CVXOPT_OUTPUT}" != "${CVXOPT_OUTPUT%${PKGCONFIG_ITEM};*}" ]]
|
||||
then
|
||||
# It was an earlier entry in the list. These two cases are
|
||||
# separate to ensure that we can e.g. find ";m" at the end
|
||||
# of the list, but that we don't find ";metis" in the process.
|
||||
continue
|
||||
fi
|
||||
|
||||
# It isn't in the list yet, so append it.
|
||||
CVXOPT_OUTPUT+="${PKGCONFIG_ITEM}"
|
||||
done
|
||||
|
||||
# Strip the leading ";" from ";foo;bar" before output.
|
||||
echo "${CVXOPT_OUTPUT#;}"
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
# Mandatory dependencies.
|
||||
export CVXOPT_BLAS_LIB="$(cvxopt_output l blas)"
|
||||
export CVXOPT_BLAS_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L blas)"
|
||||
export CVXOPT_LAPACK_LIB="$(cvxopt_output l lapack)"
|
||||
export CVXOPT_SUITESPARSE_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L umfpack cholmod amd colamd suitesparseconfig)"
|
||||
|
||||
# Most of these CVXOPT_* variables can be blank or have "empty"
|
||||
# entries and the resulting command-line with e.g. "-L -L/some/path"
|
||||
# won't hurt anything. The INC_DIR variables, however, cause
|
||||
# problems, because at least gcc doesn't like a bare "-I". We
|
||||
# pre-populate these variable with something safe so that setup.py
|
||||
# doesn't look in the wrong place if pkg-config doesn't return any
|
||||
# extra -I directories. This is
|
||||
#
|
||||
# https://github.com/cvxopt/cvxopt/issues/167
|
||||
#
|
||||
CVXOPT_SUITESPARSE_INC_DIR="${EPREFIX}/usr/include"
|
||||
local SUITESPARSE_LOCAL_INCS="$(cvxopt_output I umfpack cholmod amd colamd suitesparseconfig)"
|
||||
if [[ -n "${SUITESPARSE_LOCAL_INCS}" ]]; then
|
||||
CVXOPT_SUITESPARSE_INC_DIR+=";${SUITESPARSE_LOCAL_INCS}"
|
||||
fi
|
||||
export CVXOPT_SUITESPARSE_INC_DIR
|
||||
|
||||
# optional dependencies
|
||||
if use dsdp; then
|
||||
# no pkg-config file at the moment
|
||||
export CVXOPT_BUILD_DSDP=1
|
||||
export CVXOPT_DSDP_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
|
||||
export CVXOPT_DSDP_INC_DIR="${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
if use fftw; then
|
||||
export CVXOPT_BUILD_FFTW=1
|
||||
export CVXOPT_FFTW_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L fftw3)"
|
||||
CVXOPT_FFTW_INC_DIR="${EPREFIX}/usr/include"
|
||||
FFTW_LOCAL_INCS="$(cvxopt_output I fftw3)"
|
||||
if [[ -n "${FFTW_LOCAL_INCS}" ]]; then
|
||||
CVXOPT_FFTW_INC_DIR+=";${FFTW_LOCAL_INCS}"
|
||||
fi
|
||||
export CVXOPT_FFTW_INC_DIR
|
||||
fi
|
||||
|
||||
if use glpk; then
|
||||
# no pkg-config file at the moment
|
||||
export CVXOPT_BUILD_GLPK=1
|
||||
export CVXOPT_GLPK_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
|
||||
export CVXOPT_GLPK_INC_DIR="${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
if use gsl; then
|
||||
export CVXOPT_BUILD_GSL=1
|
||||
export CVXOPT_GSL_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L gsl)"
|
||||
CVXOPT_GSL_INC_DIR="${EPREFIX}/usr/include"
|
||||
GSL_LOCAL_INCS="$(cvxopt_output I gsl)"
|
||||
if [[ -n "${GSL_LOCAL_INCS}" ]]; then
|
||||
CVXOPT_GSL_INC_DIR+=";${GSL_LOCAL_INCS}"
|
||||
fi
|
||||
export CVXOPT_GSL_INC_DIR
|
||||
fi
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
if use examples; then
|
||||
dodoc -r examples
|
||||
docompress -x "/usr/share/doc/${PF}/examples"
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user