diff options
author | V3n3RiX <venerix@koprulu.sector> | 2021-12-05 02:47:11 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2021-12-05 02:47:11 +0000 |
commit | 2771f79232c273bc2a57d23bf335dd81ccf6af28 (patch) | |
tree | c8af0fd04194aed03cf067d44e53c7edd3e9ab84 /sci-libs/coinor-csdp | |
parent | e9d044d4b9b71200a96adfa280848858c0f468c9 (diff) |
gentoo resync : 05.12.2021
Diffstat (limited to 'sci-libs/coinor-csdp')
-rw-r--r-- | sci-libs/coinor-csdp/Manifest | 5 | ||||
-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.patch | 63 |
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. + # |