diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2020-05-13 21:07:57 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2020-05-13 21:07:57 +0000 |
commit | ba7353a42280bdf3bcb725631b8a15e91d4446aa (patch) | |
tree | 9a1cde6bfd026a079b49223bce0871368201c260 | |
parent | 2020-05-13 20:05:22 UTC (diff) | |
parent | dev-python/cvxopt: new revision to cleanup and re-messup some things. (diff) | |
download | gentoo-ba7353a42280bdf3bcb725631b8a15e91d4446aa.tar.gz gentoo-ba7353a42280bdf3bcb725631b8a15e91d4446aa.tar.bz2 gentoo-ba7353a42280bdf3bcb725631b8a15e91d4446aa.zip |
Merge updates from master
-rw-r--r-- | dev-python/cvxopt/cvxopt-1.2.5-r1.ebuild | 174 | ||||
-rw-r--r-- | dev-util/buildbot-worker/buildbot-worker-2.7.0.ebuild | 4 | ||||
-rw-r--r-- | dev-util/buildbot-worker/buildbot-worker-9999.ebuild | 4 | ||||
-rw-r--r-- | dev-util/buildbot-worker/files/buildbot.tac.sample | 6 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-2.7.0.ebuild | 4 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-9999.ebuild | 4 |
6 files changed, 189 insertions, 7 deletions
diff --git a/dev-python/cvxopt/cvxopt-1.2.5-r1.ebuild b/dev-python/cvxopt/cvxopt-1.2.5-r1.ebuild new file mode 100644 index 000000000000..c4670120832c --- /dev/null +++ b/dev-python/cvxopt/cvxopt-1.2.5-r1.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_6 python3_7 python3_8 ) + +inherit distutils-r1 toolchain-funcs + +DESCRIPTION="Python package for convex optimization" +HOMEPAGE="http://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="doc +dsdp examples fftw +glpk gsl test" +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 + doc? ( dev-python/sphinx ) + test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )" + +# 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_compile_all() { + use doc && VARTEXFONTS="${T}/fonts" emake -C doc -B html +} + +python_test() { + PYTHONPATH="${BUILD_DIR}"/lib nosetests -v || die +} + +python_install_all() { + use doc && HTML_DOCS=( doc/build/html/. ) + distutils-r1_python_install_all + if use examples; then + dodoc -r examples + docompress -x "/usr/share/doc/${PF}/examples" + fi +} diff --git a/dev-util/buildbot-worker/buildbot-worker-2.7.0.ebuild b/dev-util/buildbot-worker/buildbot-worker-2.7.0.ebuild index 4c141f7b3544..be5258cd9984 100644 --- a/dev-util/buildbot-worker/buildbot-worker-2.7.0.ebuild +++ b/dev-util/buildbot-worker/buildbot-worker-2.7.0.ebuild @@ -114,7 +114,7 @@ pkg_config() { if [[ ! -d "${instance_path}" ]]; then mkdir --parents "${instance_path}" || die "Unable to create directory ${buildworker_path}" fi - chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed" + chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed" cp "${buildworker_path}/buildbot.tac.sample" "${instance_path}/buildbot.tac" \ || die "Moving sample configuration failed" ln --symbolic --relative "/etc/init.d/buildbot_worker" "/etc/init.d/buildbot_worker.${instance_name}" \ @@ -122,6 +122,8 @@ pkg_config() { if [[ ! -d "${instance_log_path}" ]]; then mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}" + chown --recursive buildbot:buildbot "${instance_log_path}" \ + || die "Setting permissions for instance failed" fi ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \ || die "Unable to create link to log file" diff --git a/dev-util/buildbot-worker/buildbot-worker-9999.ebuild b/dev-util/buildbot-worker/buildbot-worker-9999.ebuild index 4c141f7b3544..be5258cd9984 100644 --- a/dev-util/buildbot-worker/buildbot-worker-9999.ebuild +++ b/dev-util/buildbot-worker/buildbot-worker-9999.ebuild @@ -114,7 +114,7 @@ pkg_config() { if [[ ! -d "${instance_path}" ]]; then mkdir --parents "${instance_path}" || die "Unable to create directory ${buildworker_path}" fi - chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed" + chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed" cp "${buildworker_path}/buildbot.tac.sample" "${instance_path}/buildbot.tac" \ || die "Moving sample configuration failed" ln --symbolic --relative "/etc/init.d/buildbot_worker" "/etc/init.d/buildbot_worker.${instance_name}" \ @@ -122,6 +122,8 @@ pkg_config() { if [[ ! -d "${instance_log_path}" ]]; then mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}" + chown --recursive buildbot:buildbot "${instance_log_path}" \ + || die "Setting permissions for instance failed" fi ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \ || die "Unable to create link to log file" diff --git a/dev-util/buildbot-worker/files/buildbot.tac.sample b/dev-util/buildbot-worker/files/buildbot.tac.sample index ee3d7ca3cef9..19bd941911bd 100644 --- a/dev-util/buildbot-worker/files/buildbot.tac.sample +++ b/dev-util/buildbot-worker/files/buildbot.tac.sample @@ -29,9 +29,9 @@ maxRotatedFiles = 10 port = 9989 # worker settings -worker_name = 'worker-1' -passwd = 'mypasswd' -buildmaster_host = 'mybuildbot.foobar.org' +worker_name = 'example-worker' +passwd = 'pass' +buildmaster_host = 'localhost' keepalive = 600 umask = None maxdelay = 300 diff --git a/dev-util/buildbot/buildbot-2.7.0.ebuild b/dev-util/buildbot/buildbot-2.7.0.ebuild index 1769ba6f1d19..01fd9b609492 100644 --- a/dev-util/buildbot/buildbot-2.7.0.ebuild +++ b/dev-util/buildbot/buildbot-2.7.0.ebuild @@ -173,7 +173,7 @@ pkg_config() { mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}" fi "${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed" - chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed" + chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed" mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \ || die "Moving sample configuration failed" ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \ @@ -181,6 +181,8 @@ pkg_config() { if [[ ! -d "${instance_log_path}" ]]; then mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}" + chown --recursive buildbot:buildbot "${instance_log_path}" \ + || die "Setting permissions for instance failed" fi ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \ || die "Unable to create link to log file" diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild index cdce9bbe8ff4..35a2e69c15ec 100644 --- a/dev-util/buildbot/buildbot-9999.ebuild +++ b/dev-util/buildbot/buildbot-9999.ebuild @@ -201,7 +201,7 @@ pkg_config() { mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}" fi "${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed" - chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed" + chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed" mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \ || die "Moving sample configuration failed" ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \ @@ -209,6 +209,8 @@ pkg_config() { if [[ ! -d "${instance_log_path}" ]]; then mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}" + chown --recursive buildbot:buildbot "${instance_log_path}" \ + || die "Setting permissions for instance failed" fi ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \ || die "Unable to create link to log file" |