summaryrefslogtreecommitdiff
path: root/sci-libs/dsdp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/dsdp
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/dsdp')
-rw-r--r--sci-libs/dsdp/Manifest8
-rw-r--r--sci-libs/dsdp/dsdp-5.8-r3.ebuild79
-rw-r--r--sci-libs/dsdp/files/dsdp-5.8-gold.patch13
-rw-r--r--sci-libs/dsdp/files/dsdp-5.8-malloc.patch10
-rw-r--r--sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch11
-rw-r--r--sci-libs/dsdp/metadata.xml24
6 files changed, 145 insertions, 0 deletions
diff --git a/sci-libs/dsdp/Manifest b/sci-libs/dsdp/Manifest
new file mode 100644
index 000000000000..af11f7a01bee
--- /dev/null
+++ b/sci-libs/dsdp/Manifest
@@ -0,0 +1,8 @@
+AUX dsdp-5.8-gold.patch 342 SHA256 5547f8feba4b6ceccdd4a3ff596c7a7a08e75d18859e8efdef83e08546e62285 SHA512 e0910628a1676f7a22eff29487a5f732c28a8d7a9f44f55d5b42e9abd8e65e798e577592c933133265a61c1be2df05ef1c019b86ee93aaa34199a7d0d32c7b03 WHIRLPOOL 09abb51a2445e94d168b4581c143368139d11dff55f658fa7bec8b47e8ec471679eebd6a56da5de1ea88fd282150c4b6088f939c9261f8ff5817b58a7dc9eabb
+AUX dsdp-5.8-malloc.patch 212 SHA256 2d446f7c5e3f6e2f77a5487dd64a67fcdc9472888e06cf1aba18a4082814d040 SHA512 a4c324beadb7298c9c8709115c83975d10b359b792042047439631f478fc99648b9348715645cd34d893fe9b6b49b6ba8e628771cde0e007eb0b1f474dd1fd7f WHIRLPOOL a03ae6685df10dbc03f11796664cec3795cd493c6877e16001079d5d70e2f46caf234ae6aac2b317514420f60e39522ffb4bcf9b312ab9ea470126ffdda4b06c
+AUX dsdp-5.8-readsdpa.patch 495 SHA256 e0cdcbe1e41e3ff05d50e668fc68ea5bd74e01ca9353f553fcbfe68c39df32f2 SHA512 43b329526f3b7d4761f7dfa44d62f94a843491bf9998f2f839edc880cdd8d04d1c8c7187213eda887025a9f3cdbff19afba6720cd2d70580b0e2dcb9512f8f90 WHIRLPOOL 6efa21b49970d2b6afe8526e6490c6af16122054c0786051cc825e63e6bfb31ff5c4fcd84e2f3886fc87542822dfc59b29cd71e03d2c4c2a4ed04967078b0ac1
+DIST DSDP5.8.tar.gz 2608518 SHA256 26aa624525a636de272c0b329e2dfd01a0d5b7827f1c1c76f393d71e37dead70 SHA512 0a32a34e33dcac151e95ed0f8cee62603bbe2b4ba1e448bba35324fe576376cb33c15908cde61ae5a7c0dcdea945f1ec544f19b3dd36524158573260182e080e WHIRLPOOL 63f5ce91d1c624b3c8f4d6ba61f8f386e739c0a5ad97515b4d36bb6026751ff4ca83b6a466deb5983e15eab3c84879bc3d87d7f2613e8070ab989e2607da9ddf
+EBUILD dsdp-5.8-r3.ebuild 2303 SHA256 e70a3164404e457f33e4d55f6a020d962793501f8a88a9993180415e25fd8f1d SHA512 1775122978bf6c17390a801656f30863d3e5bd939660aaece391475f67eacea897a0ef8b2fb61e1a8a718adbda9d1c9ac6084d2f0caeaff049f1414fb115b625 WHIRLPOOL da458f856ae1fdd39cf5779e4d16f0d3a3b5e1bdde11170266f4abdcd8a6484f52ac4254e5cef2e0de294f1a1a2cb001da9289dbb94f721fec79371cb61e7dd0
+MISC ChangeLog 3105 SHA256 87b90d0170b0398055889de6aefa26478f9aa3d378ca8ded7d2b190a4efabdb2 SHA512 49930c5573b0c348b0a62d1726d8ef4fb61c9ab3dcb4204211b4e947191fba7f23aa1285f87430e5b38b9160050546d952d6b846f468dd13a9404c83042735c5 WHIRLPOOL 40355ea13dad45195995c7ff767698fa7b6f701b53fad695b84e0daf23525359bd4fe8ef21ec22fd58422bd20b4a99cef5a53ee5a18ebeb340161ca1d8acb20e
+MISC ChangeLog-2015 1539 SHA256 420e8c0806187a9f1befdfbdbb76d58e33622d4330d06bd03d1291966207ae20 SHA512 e3979c1499075ca903b977ea420848f49bf1c8c31006b04260b28917308394751c6bef68b1dc54cd870b77b756b0e1cb2a9c0991d796c3de9c061e76880a81c5 WHIRLPOOL 25ed97b99dfa6f6fdf1297bd871dfe1f9da53f1a00182538cdd27a264d25172896b713a7ecc8fabbeb8971a552a78f7452c4c722b1994565e6845c5c06683ba8
+MISC metadata.xml 1244 SHA256 1dc56f6f03a14663e9ebe64dbfb135617b2ba2ee65944906baf3bc86969bc551 SHA512 7dfa5358092109c0441dc9453f9769e6e63ec2525817a7280fa30c68007a3e31f524ec8600f29b21ea28e585c2776d9264918f7e66243d1a8509f42f5339c3da WHIRLPOOL 697eff3e3fd67b1af37042bb839ffe1a5fbe82ad6b0eea08970fa090b16e0dbaa2c876a0e31f06486e0a4373c20218b69fa64f401b30b6b2251daa5b3f2cba31
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 000000000000..b5304b9065c0
--- /dev/null
+++ b/sci-libs/dsdp/dsdp-5.8-r3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib toolchain-funcs versionator
+
+MY_P="${PN^^}${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/${MY_P}.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}/${MY_P}"
+
+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-gold.patch b/sci-libs/dsdp/files/dsdp-5.8-gold.patch
new file mode 100644
index 000000000000..ae677820ffc3
--- /dev/null
+++ b/sci-libs/dsdp/files/dsdp-5.8-gold.patch
@@ -0,0 +1,13 @@
+diff --git a/examples/Makefile b/examples/Makefile
+index 8d7d433..11b9c8c 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -4,7 +4,7 @@ default:
+
+ include ../make.include
+
+-EXAMPLE_LIBS = ${DSDPLIB} ${LAPACKBLAS}
++EXAMPLE_LIBS = ${DSDPLIB} ${LAPACKBLAS} -lm
+
+ dsdp: exinfo clean
+ ${MEX} -I${DSDPROOT}/include dsdp.c ${DSDPLIB};
diff --git a/sci-libs/dsdp/files/dsdp-5.8-malloc.patch b/sci-libs/dsdp/files/dsdp-5.8-malloc.patch
new file mode 100644
index 000000000000..487c2a67d270
--- /dev/null
+++ b/sci-libs/dsdp/files/dsdp-5.8-malloc.patch
@@ -0,0 +1,10 @@
+--- a/src/sys/dsdploginfo.c
++++ b/src/sys/dsdploginfo.c
+@@ -6,7 +6,6 @@
+ #include <stdarg.h>
+ #include <sys/types.h>
+ #include <stdlib.h>
+-#include <malloc.h>
+ #include "dsdpsys.h"
+ #include "dsdpbasictypes.h"
+
diff --git a/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch b/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch
new file mode 100644
index 000000000000..799db6afd5ae
--- /dev/null
+++ b/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch
@@ -0,0 +1,11 @@
+--- 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];
+ char directory[100]="/home/benson/sdpexamples/sdplib/";
+- char outputfile[50]="",suffix[20]=".dat-s", tablename[20]="results-dsdp-5.8";
++ char outputfile[50]="",suffix[20]=".dat-s", tablename[100]="results-dsdp-5.8";
+ char success='s',sformat;
+ FILE *fp1=0,*fp2=0,*fout;
+ DSDPData dddd;
diff --git a/sci-libs/dsdp/metadata.xml b/sci-libs/dsdp/metadata.xml
new file mode 100644
index 000000000000..c7207ec72d72
--- /dev/null
+++ b/sci-libs/dsdp/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The DSDP software is a free open source implementation of an
+ interior-point method for semidefinite programming. It provides
+ primal and dual solutions, exploits low-rank structure and sparsity
+ in the data, and has relatively low memory requirements for an
+ interior-point method. It allows feasible and infeasible starting
+ points and provides approximate certificates of infeasibility when
+ no feasible solution exists. The dual-scaling algorithm implemented
+ in this package has a convergence proof and worst-case polynomial
+ complexity under mild assumptions on the data. Furthermore, the
+ solver offers scalable parallel performance for large problems and a
+ well documented interface. Some of the most popular applications of
+ semidefinite programming and linear matrix inequalities (LMI) are
+ model control, truss topology design, and semidefinite relaxations
+ of combinatorial and global optimization problems.
+</longdescription>
+</pkgmetadata>