summaryrefslogtreecommitdiff
path: root/sci-libs/coinor-csdp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-05 02:47:11 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-05 02:47:11 +0000
commit2771f79232c273bc2a57d23bf335dd81ccf6af28 (patch)
treec8af0fd04194aed03cf067d44e53c7edd3e9ab84 /sci-libs/coinor-csdp
parente9d044d4b9b71200a96adfa280848858c0f468c9 (diff)
gentoo resync : 05.12.2021
Diffstat (limited to 'sci-libs/coinor-csdp')
-rw-r--r--sci-libs/coinor-csdp/Manifest5
-rw-r--r--sci-libs/coinor-csdp/coinor-csdp-6.2.0.ebuild (renamed from sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild)82
-rw-r--r--sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch63
3 files changed, 114 insertions, 36 deletions
diff --git a/sci-libs/coinor-csdp/Manifest b/sci-libs/coinor-csdp/Manifest
index fc3bdcbe79f4..0779c7b4a691 100644
--- a/sci-libs/coinor-csdp/Manifest
+++ b/sci-libs/coinor-csdp/Manifest
@@ -1,3 +1,4 @@
-DIST Csdp-6.1.1.tgz 441574 BLAKE2B 0f8dbea26e64c5854a877e89b51d6b0c7a19af31c967f665bb27b20df872c32905882703537b67c6df3dd5f3335afdb30f9145a620f4176acb73b90204e626a2 SHA512 ba5dc0faea223bad6293f131ee63daee0a395a6e84c76fe108dbbefb3ab0696b2a59f435766c78a2d22244801a9abda2719798cbfe30dd9e1c32317e0283fd2e
-EBUILD coinor-csdp-6.1.1-r1.ebuild 2924 BLAKE2B 0124cc078130b000c3d70d6155e035370edddb09a2261fad96b9c566a0d947ce0364ff946615cb4aa3d384094bc95c07de024c8bb9dceb8ea3437247dabdcc16 SHA512 40f824fc2ec8fcc3d2c0bbfbd8425a7153d19b7fc70979c8ea75c60c1bedae14dfbc92604bc28bf5a3340308b2c6747e2fadac6860928a98459ccb902bf8035b
+AUX coinor-csdp-6.2.0_toolchain-vars.patch 2795 BLAKE2B 4a3278cab9ddd6991a78dfea8a82df6cd572f761517208d0dd861b2681f0ec31e341305882bdb1215253920508fd09d9373b59c700a1137d019ff71ab265a935 SHA512 c8c58cfc511076067795be183795c3519fc93572d44756671ba6ef58a65662782d413559e6f8b38a9c6e166d23ef5bc884d4209f849fe766e1d803ccaacc5f65
+DIST coinor-csdp-6.2.0.tar.gz 526179 BLAKE2B af2ac8cb4268aef006cf68fb85d344a0f9eb9f47b78c38e176c24f87ac1c88059cf47eb40cf638d131e093b6d469b6a458a1eb59fa8eb33c53b49d1a4c50aae2 SHA512 6362e174f2935645dac359c48879c42cfd387c403fc264974922322de2f02f5ffac5a35f991eb793cf8ba5516a144f5e107d1cddd0ec0da79e7ebb9c1375269f
+EBUILD coinor-csdp-6.2.0.ebuild 2717 BLAKE2B d90a47d9a029d7ac8560c4f7820ed0822f44280723f7be020167718ed0653e8a308023574ed46099bb5593de8d013f29afdd6a41fdea15a9f1f6659e238afc5e SHA512 71ee5aae32bb60a3a4557ebc2e028ab38b9b80b146a23513f94a83621001dbd53a6b4f89ed05ca0f9d5e09330b2b51d05d88ddfc9473fe9be849468935f27eec
MISC metadata.xml 884 BLAKE2B ebe74eef2755e5db041a0da7b9f422f25b0862522d96503c8e3ca73851ab87af72d433723a463ca100253bde856a02fda9f82d116f54569272894c7b59602a14 SHA512 07b7fd9ba383cae23255d7e6dd3955f498c62b0ba200ceed34552950925ae590c985413fbdf3a5ae1d7b2964f6799a881e0fb6d56136533aa76b8c8da347a165
diff --git a/sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild b/sci-libs/coinor-csdp/coinor-csdp-6.2.0.ebuild
index bc7b2d55620f..a00b0d8e16f1 100644
--- a/sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild
+++ b/sci-libs/coinor-csdp/coinor-csdp-6.2.0.ebuild
@@ -1,33 +1,43 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
-inherit versionator toolchain-funcs flag-o-matic multilib
+inherit flag-o-matic multilib toolchain-funcs
-MYPN=Csdp
+MY_PN="Csdp"
+MY_P="${MY_PN}-${PV}"
DESCRIPTION="COIN-OR C Library for Semi-Definite Programming"
HOMEPAGE="https://projects.coin-or.org/Csdp/"
-SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+SRC_URI="https://www.coin-or.org/download/source/${MY_PN}/${MY_P}.tgz -> ${P}.tar.gz"
-LICENSE="CPL-1.0"
+LICENSE="EPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples openmp static-libs"
+IUSE="doc examples openmp"
-RDEPEND="
- virtual/blas
+RDEPEND="virtual/blas
virtual/lapack"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/${MYPN}-${PV}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2.0_toolchain-vars.patch
+)
+
+S="${WORKDIR}"/${MY_P}
+
+_get_version_component_count() {
+ local cnt=( $(ver_rs 1- ' ') )
+ echo ${#cnt[@]} || die
+}
static_to_shared() {
- local libstatic=${1}; shift
+ local libstatic=${1}
+ shift
local libname=$(basename ${libstatic%.a})
- local soname=${libname}$(get_libname $(get_version_component_range 1-2))
+ local soname=${libname}$(get_libname $(ver_cut 1-2))
local libdir=$(dirname ${libstatic})
einfo "Making ${soname} from ${libstatic}"
@@ -41,43 +51,48 @@ static_to_shared() {
-shared -Wl,-soname=${soname} \
-Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
"$@" -o ${libdir}/${soname} || die "${soname} failed"
- [[ $(get_version_component_count) -gt 1 ]] && \
- ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
- ln -s ${soname} ${libdir}/${libname}$(get_libname)
+
+ if [[ $(_get_version_component_count) -ge 1 ]] ; then
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(ver_cut 1)) || die
+ fi
+
+ ln -s ${soname} ${libdir}/${libname}$(get_libname) || die
fi
}
pkg_setup() {
- if use openmp && [[ $(tc-getCC) == *gcc* ]] && ! tc-has-openmp; then
- eerror "Your selected gcc compiler does not support OpenMP"
- die "OpenMP non capable gcc"
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ use openmp && tc-check-openmp
fi
}
src_prepare() {
- find . -name Makefile -exec sed -i -e 's:make:$(MAKE):g' '{}' + || die
+ default
+
append-cflags -DNOSHORTS -DUSEGETTIME -I../include
+
if use openmp; then
- [[ $(tc-getCC) == *gcc* ]] && append-cflags -fopenmp \
- && append-ldflags -fopenmp
- [[ $(tc-getCC) == *icc* ]] && append-cflags -openmp
- append-cflags -DUSEOPENMP
+ append-cflags -DUSEOPENMP
+
+ if [[ $(tc-getCC) == *icc* ]]; then
+ append-cflags -openmp
+ else
+ append-cflags -fopenmp
+ append-ldflags -fopenmp
+ fi
fi
+
use amd64 && append-cflags -DBIT64
+
[[ $($(tc-getPKG_CONFIG) --libs blas) =~ atlas ]] && append-cflags -DUSEATLAS
- sed -i \
- -e "s:-O3:${CFLAGS} ${LDFLAGS}:" \
- -e "s:ar :$(tc-getAR) :" \
- */Makefile || die
tc-export CC
}
src_compile() {
emake CFLAGS="${CFLAGS} -fPIC" -C lib
- local libs="$($(tc-getPKG_CONFIG) --libs blas lapack)"
+ local libs="$($(tc-getPKG_CONFIG) --libs blas lapack)" || die
static_to_shared lib/libsdp.a ${libs}
- use static-libs && emake -C lib clean && emake -C lib
emake -C solver LIBS="${libs} -L../lib -lsdp -lm"
emake -C theta LIBS="${libs} -L../lib -lsdp -lm"
}
@@ -89,13 +104,12 @@ src_test() {
src_install() {
dobin solver/csdp theta/{theta,graphtoprob,complement,rand_graph}
dolib.so lib/libsdp$(get_libname)*
- use static-libs && dolib.a lib/libsdp.a
insinto /usr/include/${PN}
doins include/*
dodoc AUTHORS README
use doc && dodoc doc/csdpuser.pdf
if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins example/*
+ docinto examples
+ dodoc example/*
fi
}
diff --git a/sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch b/sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch
new file mode 100644
index 000000000000..d00528f66fe1
--- /dev/null
+++ b/sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch
@@ -0,0 +1,63 @@
+--- a/example/Makefile
++++ b/example/Makefile
+@@ -6,7 +6,7 @@
+ # This builds the example code.
+ #
+ example: example.o
+- $(CC) $(CFLAGS) example.o $(LIBS) -o example
++ $(CC) $(CFLAGS) $(LDFLAGS) example.o $(LIBS) -o example
+ #
+ # To clean up the directory.
+ #
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -2,7 +2,7 @@
+ # Build the library.
+ #
+ libsdp.a: readprob.o sdp.o op_o.o psd_feas.o op_a.o op_at.o Fnorm.o calc_pobj.o calc_dobj.o trace_prod.o zero_mat.o mat_mult.o sym_mat.o copy_mat.o addscaledmat.o user_exit.o make_i.o allocmat.o initsoln.o initparams.o add_mat.o writesol.o readsol.o easysdp.o writeprob.o solvesys.o makefill.o mat_multsp.o norms.o linesearch.o matvec.o chol.o qreig.o tweakgap.o freeprob.o packed.o sortentries.o
+- ar cr libsdp.a readprob.o sdp.o op_o.o psd_feas.o op_a.o op_at.o Fnorm.o calc_pobj.o calc_dobj.o trace_prod.o zero_mat.o mat_mult.o sym_mat.o copy_mat.o addscaledmat.o user_exit.o make_i.o allocmat.o initsoln.o initparams.o add_mat.o writesol.o readsol.o easysdp.o writeprob.o solvesys.o makefill.o mat_multsp.o norms.o linesearch.o matvec.o chol.o qreig.o tweakgap.o freeprob.o packed.o sortentries.o
++ $(AR) cr libsdp.a readprob.o sdp.o op_o.o psd_feas.o op_a.o op_at.o Fnorm.o calc_pobj.o calc_dobj.o trace_prod.o zero_mat.o mat_mult.o sym_mat.o copy_mat.o addscaledmat.o user_exit.o make_i.o allocmat.o initsoln.o initparams.o add_mat.o writesol.o readsol.o easysdp.o writeprob.o solvesys.o makefill.o mat_multsp.o norms.o linesearch.o matvec.o chol.o qreig.o tweakgap.o freeprob.o packed.o sortentries.o
+ #
+ # On some systems, you might need to add after "ar cr libsdp.a ..."
+ # ranlib libsdp.a
+--- a/solver/Makefile
++++ b/solver/Makefile
+@@ -2,7 +2,7 @@
+ # This builds the stand alone solver.
+ #
+ csdp: csdp.o
+- $(CC) $(CFLAGS) csdp.o $(LIBS) -o csdp
++ $(CC) $(CFLAGS) $(LDFLAGS) csdp.o $(LIBS) -o csdp
+ #
+ # To clean out the directory:
+ #
+--- a/theta/Makefile
++++ b/theta/Makefile
+@@ -6,23 +6,23 @@
+ # This builds the theta number code.
+ #
+ theta: theta.o
+- $(CC) $(CFLAGS) theta.o $(LIBS) -o theta
++ $(CC) $(CFLAGS) $(LDFLAGS) theta.o $(LIBS) -o theta
+ #
+ # Complement computes the complement of a graph.
+ #
+ complement: complement.o
+- $(CC) $(CFLAGS) complement.o $(LIBS) -o complement
++ $(CC) $(CFLAGS) $(LDFLAGS) complement.o $(LIBS) -o complement
+ #
+ # rand_graph generates a random graph.
+ #
+ rand_graph: rand_graph.o
+- $(CC) $(CFLAGS) rand_graph.o $(LIBS) -o rand_graph
++ $(CC) $(CFLAGS) $(LDFLAGS) rand_graph.o $(LIBS) -o rand_graph
+ #
+ # graphtoprob converts a file in the graph format to an SDP problem in our
+ # SDP format.
+ #
+ graphtoprob: graphtoprob.o
+- $(CC) $(CFLAGS) graphtoprob.o $(LIBS) -o graphtoprob
++ $(CC) $(CFLAGS) $(LDFLAGS) graphtoprob.o $(LIBS) -o graphtoprob
+ #
+ # To clean up the directory.
+ #