commit:     2551a092b4df2ab1f06f4d486d6b3f3049f0efc1
Author:     Gerhard Bräunlich <wippbox <AT> gmx <DOT> net>
AuthorDate: Mon Sep  5 16:16:24 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Sep  6 20:12:39 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2551a092

sci-libs/dsdp: revbump (EAPI 4 -> 6)

Package-Manager: portage-2.2.28
Closes: https://github.com/gentoo/gentoo/pull/2249

Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sci-libs/dsdp/dsdp-5.8-r3.ebuild            | 80 +++++++++++++++++++++++++++++
 sci-libs/dsdp/files/dsdp-5.8-malloc.patch   |  4 +-
 sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch |  4 +-
 3 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/sci-libs/dsdp/dsdp-5.8-r3.ebuild b/sci-libs/dsdp/dsdp-5.8-r3.ebuild
new file mode 100644
index 00000000..625dc23
--- /dev/null
+++ b/sci-libs/dsdp/dsdp-5.8-r3.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit multilib toolchain-funcs versionator
+
+MYP=DSDP${PV}
+
+DESCRIPTION="Software for interior-point for semidefinite programming"
+HOMEPAGE="http://www.mcs.anl.gov/hs/software/DSDP/";
+SRC_URI="http://www.mcs.anl.gov/hs/software/DSDP//${MYP}.tar.gz";
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+RDEPEND="virtual/lapack"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-readsdpa.patch
+       "${FILESDIR}"/${P}-malloc.patch
+       "${FILESDIR}"/${P}-gold.patch
+)
+
+make_shared_lib() {
+       local soname=$(basename "${1%.a}")$(get_libname $(get_major_version))
+       einfo "Making ${soname}"
+       ${2:-$(tc-getCC)} ${LDFLAGS}  \
+               -shared -Wl,-soname="${soname}" \
+               $([[ ${CHOST} == *-darwin* ]] && echo "-Wl,-install_name 
-Wl,${EPREFIX}/usr/$(get_libdir)/${soname}") \
+               -Wl,--whole-archive "${1}" -Wl,--no-whole-archive \
+               -o $(dirname "${1}")/"${soname}" \
+               -lm $($(tc-getPKG_CONFIG) --libs blas lapack) || return 1
+}
+
+src_prepare() {
+       default
+       # to do proper parallel compilation
+       while IFS="" read -d $'\0' -r file; do
+               sed -i -e 's:make :$(MAKE) :g' "${file}" || die
+       done < <(find . -name Makefile -print0)
+       sed -i -e 's:make clean:$(MAKE) clean:g' make.include || die
+       sed -i \
+               -e "s|#\(DSDPROOT[[:space:]]*=\).*|\1${S}|" \
+               -e "s|\(CC[[:space:]]*=\).*|\1$(tc-getCC)|" \
+               -e "s|\(OPTFLAGS[[:space:]]*=\).*|\1${CFLAGS}|" \
+               -e "s|\(CLINKER[[:space:]]*=\).*|\1 \${CC} ${LDFLAGS}|" \
+               -e "s|\(LAPACKBLAS[[:space:]]*=\).*|\1 $($(tc-getPKG_CONFIG) 
--libs blas lapack)|" \
+               -e "s|\(^ARCH[[:space:]]*=\).*|\1$(tc-getAR) cr|" \
+               -e "s|\(^RANLIB[[:space:]]*=\).*|\1$(tc-getRANLIB)|" \
+               make.include || die
+}
+
+src_compile() {
+       emake OPTFLAGS="${CFLAGS} -fPIC" dsdplibrary
+       make_shared_lib lib/lib${PN}.a || die "doing shared lib failed"
+}
+
+src_test() {
+       emake -j1 example test
+}
+
+src_install() {
+       dolib.so lib/lib${PN}$(get_libname $(get_major_version))
+       dosym lib${PN}$(get_libname $(get_major_version)) \
+               /usr/$(get_libdir)/lib${PN}$(get_libname)
+
+       doheader include/*.h src/sdp/*.h
+
+       use doc && DOCS+=( docs/*.pdf )
+       use examples && DOCS+=( examples/. )
+       einstalldocs
+}

diff --git a/sci-libs/dsdp/files/dsdp-5.8-malloc.patch 
b/sci-libs/dsdp/files/dsdp-5.8-malloc.patch
index 48e067d..487c2a6 100644
--- a/sci-libs/dsdp/files/dsdp-5.8-malloc.patch
+++ b/sci-libs/dsdp/files/dsdp-5.8-malloc.patch
@@ -1,5 +1,5 @@
---- src/sys/dsdploginfo.c.orig 2012-04-04 09:59:25.212518434 +1200
-+++ src/sys/dsdploginfo.c      2012-04-04 10:00:05.676522161 +1200
+--- a/src/sys/dsdploginfo.c
++++ b/src/sys/dsdploginfo.c
 @@ -6,7 +6,6 @@
  #include <stdarg.h>
  #include <sys/types.h>

diff --git a/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch 
b/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch
index f555e50..799db6a 100644
--- a/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch
+++ b/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch
@@ -1,5 +1,5 @@
---- examples/readsdpa.c.orig   2011-03-14 16:49:10.000000000 +0000
-+++ examples/readsdpa.c        2011-03-14 17:05:52.000000000 +0000
+--- a/examples/readsdpa.c
++++ b/examples/readsdpa.c
 @@ -87,7 +87,7 @@
    double   ddobj,ppobj,scl,dpot;
    char     problemname[100],thisline[100], filename[300],savefile[100];

Reply via email to