commit:     781f20b60cc838a868e597c0145d9fb146591e34
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 26 21:58:22 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Fri Nov 26 22:02:03 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=781f20b6

sci-libs/coinor-csdp: add 6.2.0, drop 6.1.1-r1

EAPI 8 + quite a few bug fixes, both ones with open Bugzilla tickets and
some that were not reported.

Closes: https://bugs.gentoo.org/710520
Closes: https://bugs.gentoo.org/731878
Closes: https://bugs.gentoo.org/792897
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 sci-libs/coinor-csdp/Manifest                      |  2 +-
 ...dp-6.1.1-r1.ebuild => coinor-csdp-6.2.0.ebuild} | 82 +++++++++++++---------
 .../files/coinor-csdp-6.2.0_toolchain-vars.patch   | 63 +++++++++++++++++
 3 files changed, 112 insertions(+), 35 deletions(-)

diff --git a/sci-libs/coinor-csdp/Manifest b/sci-libs/coinor-csdp/Manifest
index c1b820c5a266..c116a33ba755 100644
--- a/sci-libs/coinor-csdp/Manifest
+++ b/sci-libs/coinor-csdp/Manifest
@@ -1 +1 @@
-DIST Csdp-6.1.1.tgz 441574 BLAKE2B 
0f8dbea26e64c5854a877e89b51d6b0c7a19af31c967f665bb27b20df872c32905882703537b67c6df3dd5f3335afdb30f9145a620f4176acb73b90204e626a2
 SHA512 
ba5dc0faea223bad6293f131ee63daee0a395a6e84c76fe108dbbefb3ab0696b2a59f435766c78a2d22244801a9abda2719798cbfe30dd9e1c32317e0283fd2e
+DIST coinor-csdp-6.2.0.tar.gz 526179 BLAKE2B 
af2ac8cb4268aef006cf68fb85d344a0f9eb9f47b78c38e176c24f87ac1c88059cf47eb40cf638d131e093b6d469b6a458a1eb59fa8eb33c53b49d1a4c50aae2
 SHA512 
6362e174f2935645dac359c48879c42cfd387c403fc264974922322de2f02f5ffac5a35f991eb793cf8ba5516a144f5e107d1cddd0ec0da79e7ebb9c1375269f

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
similarity index 54%
rename from sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild
rename to 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.
+ #

Reply via email to