diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2011-03-07 05:33:34 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2011-03-07 05:33:34 +0000 |
commit | 6c8e62013531fb49de408e872c994b25b63ee4b9 (patch) | |
tree | 6358811b360cfb004f54327781e97df53c627192 /sci-libs/dsdp | |
parent | Version bump. Added static-libs flag. (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | sci-libs/dsdp/dsdp-5.8.ebuild | 63 | ||||
-rw-r--r-- | sci-libs/dsdp/metadata.xml | 21 |
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> |