Changeset - dbad9746015c
[Not reviewed]
0 0 2
Chel Sea (chain) - 12 years ago 2013-02-01 16:06:08
chain@rpgfiction.net
add ebuild for lapack-reference
2 files changed with 91 insertions and 0 deletions:
0 comments (0 inline, 0 general)
sci-libs/lapack-reference/Manifest
Show inline comments
 
new file 100644
 
DIST lapack-lite-3.1.1.tgz 5332509 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 SHA512 492b932ef313339ce6b4e63ac8f778489e6870b0eb85f7b086f3c844e75f98e7f85382c7556dfa368ab8320b6f02d1df8ccfcb40b5c0b7c2d74518b7c309e75c WHIRLPOOL 11145043d16b8c2972229e17a24e92e62987c08e84d91b81a7f4767b80f13844faffb2a2798b321a78c7127d849a0fd60cbb1605f03e150b4eaa6c230f0e7fdd
 
DIST lapack-reference-3.1.1-autotools.patch.bz2 7233 SHA256 63e2c0b64118ca20aed3ca52dbc553ba924c242d3a0b07e6236dee99ede16802 SHA512 3ae61a9d569bdbe3d416652feedf1ae26fe85b23d919fb9d493e1474e616eeb23e87738ecb4970dde5f320812d3bb71c0f3c432548ab8e978941d90afe4cb418 WHIRLPOOL 449d9bf9c7f58c019804708b10f902919e55a722af6fe31904cd7b941074c66c68ef809e56fcce99e6f946da8e69be383b838a6a866ede6ee925268d6b24d423
 
EBUILD lapack-reference-3.1.1-r1.ebuild 2654 SHA256 8c8eb15efd3dfbc4b4861c17ce98e874b99c54eea6a41e3d55edb66478042d79 SHA512 a975188e9a9df369883d6b4bad5673920dbd1f8f1f636975fb0208f879aa4c30e247013a9669a36328ada78771b95bb498f9772b1ed2da895b7b7521f2036128 WHIRLPOOL a91f9e51d1105ecea43a686c7c277a6a7da989aadaaa8cc614e93d0f97b427fe0d9e6f86b04a2700334ea216b1b9fa7417e224992897b815b61094ea41aa6260
sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild
Show inline comments
 
new file 100644
 
# Copyright 1999-2010 Gentoo Foundation
 
# Distributed under the terms of the GNU General Public License v2
 
# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild,v 1.24 2010/12/19 19:14:02 jlec Exp $
 

	
 
inherit eutils autotools flag-o-matic multilib toolchain-funcs
 

	
 
MyPN="${PN/-reference/}"
 

	
 
DESCRIPTION="FORTRAN reference implementation of LAPACK Linear Algebra PACKage"
 
HOMEPAGE="http://www.netlib.org/lapack/index.html"
 
SRC_URI="http://www.netlib.org/lapack/${MyPN}-lite-${PV}.tgz
 
	mirror://gentoo/${P}-autotools.patch.bz2"
 

	
 
LICENSE="BSD"
 
SLOT="0"
 
KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 s390 sparc x86 ~x86-fbsd"
 
IUSE="doc"
 

	
 
DEPEND="virtual/blas
 
	dev-util/pkgconfig
 
	app-admin/eselect-lapack"
 
RDEPEND="virtual/blas
 
	app-admin/eselect-lapack
 
	doc? ( app-doc/lapack-docs )"
 

	
 
S="${WORKDIR}/${MyPN}-lite-${PV}"
 

	
 
pkg_setup() {
 
	if  [[ $(tc-getFC) =~ if ]]; then
 
		ewarn "Using Intel Fortran at your own risk"
 
		export LDFLAGS="$(raw-ldflags)"
 
		export NOOPT_FFLAGS=-O
 
	fi
 
	ESELECT_PROF=reference
 
}
 

	
 
src_unpack() {
 
	unpack ${A}
 
	cd "${S}"
 
	epatch "${WORKDIR}"/${P}-autotools.patch
 
	epatch "${FILESDIR}"/${P}-test-fix.patch
 
	eautoreconf
 

	
 
	# set up the testing routines
 
	sed -e "s:g77:$(tc-getFC):" \
 
		-e "s:-funroll-all-loops -O3:${FFLAGS} $(pkg-config --cflags blas):" \
 
		-e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas):" \
 
		-e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \
 
		-e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" \
 
		make.inc.example > make.inc \
 
		|| die "Failed to set up make.inc"
 
}
 

	
 
src_compile() {
 
	econf \
 
		--libdir="/usr/$(get_libdir)/lapack/reference" \
 
		--with-blas="$(pkg-config --libs blas)"
 
	emake || die "emake failed"
 
}
 

	
 
src_install() {
 
	emake DESTDIR="${D}" install || die "emake install failed"
 
	dodoc README || die "dodoc failed"
 
	eselect lapack add $(get_libdir) "${FILESDIR}"/eselect.lapack.reference ${ESELECT_PROF}
 
}
 

	
 
src_test() {
 
	cd "${S}"/TESTING/MATGEN
 
	emake || die "Failed to create tmglib.a"
 
	cd "${S}"/TESTING
 
	emake || die "lapack-reference tests failed."
 
}
 

	
 
pkg_postinst() {
 
	local p=lapack
 
	local current_lib=$(eselect ${p} show | cut -d' ' -f2)
 
	if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then
 
		# work around eselect bug #189942
 
		local configfile="${ROOT}"/etc/env.d/${p}/$(get_libdir)/config
 
		[[ -e ${configfile} ]] && rm -f ${configfile}
 
		eselect ${p} set ${ESELECT_PROF}
 
		elog "${p} has been eselected to ${ESELECT_PROF}"
 
	else
 
		elog "Current eselected ${p} is ${current_lib}"
 
		elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
 
		elog "\t eselect ${p} set ${ESELECT_PROF}"
 
	fi
 
}
0 comments (0 inline, 0 general)