summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2011-03-07 05:33:34 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2011-03-07 05:33:34 +0000
commit6c8e62013531fb49de408e872c994b25b63ee4b9 (patch)
tree6358811b360cfb004f54327781e97df53c627192 /sci-libs/dsdp
parentVersion bump. Added static-libs flag. (diff)
downloadgentoo-2-6c8e62013531fb49de408e872c994b25b63ee4b9.tar.gz
gentoo-2-6c8e62013531fb49de408e872c994b25b63ee4b9.tar.bz2
gentoo-2-6c8e62013531fb49de408e872c994b25b63ee4b9.zip
Initial import
(Portage version: 2.1.9.42/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs/dsdp')
-rw-r--r--sci-libs/dsdp/ChangeLog10
-rw-r--r--sci-libs/dsdp/dsdp-5.8.ebuild63
-rw-r--r--sci-libs/dsdp/metadata.xml21
3 files changed, 94 insertions, 0 deletions
diff --git a/sci-libs/dsdp/ChangeLog b/sci-libs/dsdp/ChangeLog
new file mode 100644
index 000000000000..70e69f3a195f
--- /dev/null
+++ b/sci-libs/dsdp/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sci-libs/dsdp
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/dsdp/ChangeLog,v 1.1 2011/03/07 05:33:34 bicatali Exp $
+
+*dsdp-5.8 (07 Mar 2011)
+
+ 07 Mar 2011; Sébastien Fabbro <bicatali@gentoo.org> +dsdp-5.8.ebuild,
+ +metadata.xml:
+ Initial import
+
diff --git a/sci-libs/dsdp/dsdp-5.8.ebuild b/sci-libs/dsdp/dsdp-5.8.ebuild
new file mode 100644
index 000000000000..5c8b8e42d2b5
--- /dev/null
+++ b/sci-libs/dsdp/dsdp-5.8.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/dsdp/dsdp-5.8.ebuild,v 1.1 2011/03/07 05:33:34 bicatali Exp $
+
+EAPI="4"
+inherit eutils 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="${HOMEPAGE}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="virtual/lapack"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+make_shared_lib() {
+ local soname=$(basename "${1%.a}").so.$(get_major_version)
+ einfo "Making ${soname}"
+ ${2:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname="${soname}" \
+ -Wl,--whole-archive "${1}" -Wl,--no-whole-archive \
+ -o $(dirname "${1}")/"${soname}" || return 1
+}
+
+src_prepare() {
+ # to do proper parallel compilation
+ find . -name Makefile -exec \
+ sed -i -e 's:make :$(MAKE) :g' '{}' \;
+ 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 $(pkg-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}.so.$(get_major_version)
+ dosym lib${PN}.so.$(get_major_version) /usr/$(get_libdir)/lib${PN}.so
+ insinto /usr/share/doc/${PF}
+ use doc && dodoc docs/*.pdf
+ use examples && doins -r examples
+}
diff --git a/sci-libs/dsdp/metadata.xml b/sci-libs/dsdp/metadata.xml
new file mode 100644
index 000000000000..e5d1e51d7219
--- /dev/null
+++ b/sci-libs/dsdp/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<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>