mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-07 05:57:07 -08:00
sci-libs/acml: Remove from tree
This commit is contained in:
@@ -143,11 +143,6 @@ dev-perl/File-DirWalk
|
||||
# experimental features and accept a more unstable release.
|
||||
>=www-client/chromium-59
|
||||
|
||||
# David Seifert <soap@gentoo.org> (19 Mar 2017)
|
||||
# EOL'd upstream, fetch restricted, digests missing
|
||||
# Masked for removal in 30 days. Bug #612746.
|
||||
sci-libs/acml
|
||||
|
||||
# Kent Fredric <kentnl@gentoo.org> (18 Mar 2017)
|
||||
# ExtUtils::MakeMaker 7.18+ Block
|
||||
# Masked until strictly needed to avoid accidental conflicts later
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
DIST acml-4-1-0-gfortran-32bit.tgz 18258099 SHA256 52580576c3a425635eccb19fc5df38c3139fbc44fd669799bc8ffd0e2d82ccc7
|
||||
DIST acml-4-1-0-gfortran-64bit-int64.tgz 29351223 SHA256 825ae742df873cf6d41fbaaecff08941badb2b43a7021ba6c8af7abc75a6d14d
|
||||
DIST acml-4-1-0-gfortran-64bit.tgz 29995624 SHA256 50f64687b86556123538e1f2bd4c185ff1d018501a5a5834ec8acf7487c817c4
|
||||
DIST acml-4-1-0-ifort-32bit.tgz 18797527 SHA256 5dfa768c12e96d2d25678e85cf2e0eea3bd427ddd94f417bcad09abe25369375
|
||||
DIST acml-4-1-0-ifort-64bit-int64.tgz 36135363 SHA256 3da0ded50ab25e44f531ac58b469344fed0f6af4ae70aa58b1286cf8de9731a4
|
||||
DIST acml-4-1-0-ifort-64bit.tgz 36577689 SHA256 b5b60425fccb624e3baf48f5d51ae68ccdc3e9852a4a50661bb3e45a6f25be40
|
||||
@@ -1,199 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils fortran-2 multilib toolchain-funcs versionator
|
||||
|
||||
MY_P=${PN}-$(replace_all_version_separators -)
|
||||
|
||||
DESCRIPTION="AMD Core Math Library for x86 and amd64 CPUs"
|
||||
HOMEPAGE="http://developer.amd.com/acml.jsp"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
ifc? ( ${MY_P}-ifort-64bit.tgz
|
||||
int64? ( ${MY_P}-ifort-64bit-int64.tgz ) )
|
||||
gfortran? ( ${MY_P}-gfortran-64bit.tgz
|
||||
int64? ( ${MY_P}-gfortran-64bit-int64.tgz ) )
|
||||
!ifc? (
|
||||
!gfortran? ( ${MY_P}-gfortran-64bit.tgz
|
||||
int64? ( ${MY_P}-gfortran-64bit-int64.tgz ) ) ) )
|
||||
x86? (
|
||||
ifc? ( ${MY_P}-ifort-32bit.tgz )
|
||||
gfortran? ( ${MY_P}-gfortran-32bit.tgz )
|
||||
!ifc? ( !gfortran? ( ${MY_P}-gfortran-32bit.tgz ) ) )"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="ACML"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
IUSE="doc examples gfortran ifc int64 openmp test"
|
||||
|
||||
RESTRICT="strip fetch"
|
||||
|
||||
CDEPEND="
|
||||
ifc? ( dev-lang/ifc )
|
||||
gfortran? ( =sys-devel/gcc-4.2* )
|
||||
!gfortran? ( !ifc? ( =sys-devel/gcc-4.2* ) )"
|
||||
|
||||
DEPEND="
|
||||
app-eselect/eselect-blas
|
||||
app-eselect/eselect-lapack
|
||||
test? ( ${CDEPEND} )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
app-eselect/eselect-blas
|
||||
app-eselect/eselect-lapack
|
||||
doc? ( app-doc/blas-docs app-doc/lapack-docs )"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
pkg_nofetch() {
|
||||
einfo "Please download the ACML from:"
|
||||
einfo "${HOMEPAGE}"
|
||||
einfo "and place it in ${DISTDIR}."
|
||||
einfo "The previous versions could be found at"
|
||||
einfo "http://developer.amd.com/acmlarchive.jsp"
|
||||
einfo "SRC=${A} $SRC_URI"
|
||||
}
|
||||
|
||||
get_fcomp() {
|
||||
case $(tc-getFC) in
|
||||
*gfortran* )
|
||||
FCOMP="gfortran" ;;
|
||||
ifort )
|
||||
FCOMP="ifc" ;;
|
||||
* )
|
||||
FCOMP=$(tc-getFC) ;;
|
||||
esac
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use test; then
|
||||
# work around incomplete fortran eclass
|
||||
if use gfortran &&
|
||||
[[ $(tc-getFC) =~ gfortran ]] &&
|
||||
[[ $(gcc-version) != 4.2 ]]
|
||||
then
|
||||
eerror "You need gfortran-4.2 to test acml"
|
||||
eerror "Please use gcc-config to switch gcc version 4.2"
|
||||
die "gfortran check failed"
|
||||
fi
|
||||
fi
|
||||
if use openmp; then
|
||||
tc-has-openmp || die "Please ensure your compiler has openmp support"
|
||||
FORTRAN_NEED_OPENMP=1
|
||||
fi
|
||||
fortran-2_pkg_setup
|
||||
get_fcomp
|
||||
# construct default profile dprof from default ddir
|
||||
local ddir=gfortran
|
||||
use ifc && ddir=ifort
|
||||
use x86 && ddir=${ddir}32 || ddir=${ddir}64
|
||||
use openmp && ddir=${ddir}_mp
|
||||
use int64 && ddir=${ddir}_int64
|
||||
ACML_DEFAULT_DIR=${ddir}
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
unpack ./contents-acml-*.tgz
|
||||
use openmp || rm -rf *_mp*
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# only testing with current chosen compiler
|
||||
for fdir in ${ACML_DEFAULT_DIR/_mp}*; do
|
||||
einfo "Testing acml in ${fdir}"
|
||||
for d in . acml_mv; do
|
||||
cd "${S}"/${fdir}/examples/${d}
|
||||
emake \
|
||||
ACMLDIR="${S}"/${fdir} \
|
||||
F77=$(tc-getFC) \
|
||||
CC="$(tc-getCC)" \
|
||||
CPLUSPLUS="$(tc-getCXX)"
|
||||
emake clean
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
make_acml_profile_name() {
|
||||
local fort=${1%%[[:digit:]]*}
|
||||
local opt=${1#*[0-9][0-9]}
|
||||
echo ${PN}-${fort}${opt/mp/openmp} | tr '_' '-'
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# respect acml default install dir (and FHS)
|
||||
local instdir=/opt/${PN}${PV}
|
||||
dodir ${instdir}
|
||||
|
||||
for lib in */lib; do
|
||||
local fdir=${lib%/*}
|
||||
# install acml
|
||||
use examples || rm -rf "${S}"/${fdir}/examples
|
||||
cp -pPR "${S}"/${fdir} "${D}"${instdir} || die "copy ${fdir} failed"
|
||||
|
||||
# install profiles
|
||||
local prof=$(make_acml_profile_name ${fdir})
|
||||
local acmldir=${instdir}/${fdir}
|
||||
local acmllibs="-lacml"
|
||||
local libname=${acmldir}/lib/libacml
|
||||
local extlibs
|
||||
local extflags
|
||||
[[ ${fdir} =~ int64 ]] && extflags="${extflags} -fdefault-integer-8"
|
||||
[[ ${fdir} =~ gfortran ]] && extlibs="${extlibs} -lgfortran"
|
||||
if [[ ${fdir} =~ _mp ]]; then
|
||||
[[ ${fdir} =~ ifort ]] && extlibs="${extlibs} -lguide"
|
||||
extlibs="${extlibs} -lpthread"
|
||||
extflags="${extflags} -fopenmp"
|
||||
acmllibs="-lacml_mp"
|
||||
libname=${libname}_mp
|
||||
fi
|
||||
use amd64 && acmllibs="${acmllibs} -lacml_mv"
|
||||
for x in blas lapack; do
|
||||
# pkgconfig files
|
||||
sed -e "s:@LIBDIR@:$(get_libdir):" \
|
||||
-e "s:@PV@:${PV}:" \
|
||||
-e "s:@ACMLDIR@:${acmldir}:g" \
|
||||
-e "s:@ACMLLIBS@:${acmllibs}:g" \
|
||||
-e "s:@EXTLIBS@:${extlibs}:g" \
|
||||
-e "s:@EXTFLAGS@:${extflags}:g" \
|
||||
"${FILESDIR}"/${x}.pc.in > ${x}.pc \
|
||||
|| die "sed ${x}.pc failed"
|
||||
insinto ${acmldir}/lib
|
||||
doins ${x}.pc
|
||||
|
||||
# eselect files
|
||||
cat > eselect.${prof}.${x} <<-EOF
|
||||
${libname}.so /usr/@LIBDIR@/lib${x}.so.0
|
||||
${libname}.so /usr/@LIBDIR@/lib${x}.so
|
||||
${libname}.a /usr/@LIBDIR@/lib${x}.a
|
||||
${acmldir}/lib/${x}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc
|
||||
EOF
|
||||
eselect ${x} add $(get_libdir) eselect.${prof}.${x} ${prof}
|
||||
done
|
||||
done
|
||||
|
||||
echo "LDPATH=${instdir}/${ACML_DEFAULT_DIR}/lib" > 35acml
|
||||
doenvd "${S}"/35acml
|
||||
use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html
|
||||
cp -pPR "${S}"/Doc "${D}"${instdir} || die "copy doc failed"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local dprof="$(make_acml_profile_name ${ACML_DEFAULT_DIR})"
|
||||
for x in blas lapack; do
|
||||
local cprof=$(eselect ${x} show | cut -d' ' -f2)
|
||||
if [[ ${cprof} == ${dprof} || -z ${cprof} ]]; then
|
||||
# work around eselect bug #189942
|
||||
local configfile="${ROOT}"/etc/env.d/${x}/$(get_libdir)/config
|
||||
[[ -e ${configfile} ]] && rm -f ${configfile}
|
||||
eselect ${x} set ${dprof}
|
||||
elog "${x} has been eselected to ${dprof}"
|
||||
else
|
||||
elog "Current eselected ${x} implementation is ${cprof}"
|
||||
elog "To use you have one of ${PN}, issue (as root):"
|
||||
elog "\t eselect ${x} set <profile>"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
prefix=@ACMLDIR@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: blas
|
||||
Description: ACML implementations of the Basic Linear Algebra Subroutines
|
||||
Version: @PV@
|
||||
URL: http://developer.amd.com/acml.jsp
|
||||
Libs: -Wl,--no-as-needed -L${libdir} @ACMLLIBS@ @EXTLIBS@
|
||||
Cflags: @EXTFLAGS@
|
||||
@@ -1,11 +0,0 @@
|
||||
prefix=@ACMLDIR@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: lapack
|
||||
Description: ACML implementation of the F77 Linear Algebra PACKage
|
||||
Version: @PV@
|
||||
URL: http://developer.amd.com/acml.jsp
|
||||
Libs: -Wl,--no-as-needed -L${libdir} @ACMLLIBS@ @EXTLIBS@
|
||||
Cflags: @EXTFLAGS@
|
||||
@@ -1,26 +0,0 @@
|
||||
<?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 AMD(R) Core Math Library provides an implementation of the "Basic
|
||||
Linear Algebra Subprograms" (BLAS) and the "Linear Algebra PACKage"
|
||||
(LAPACK) as well as a set of "Fast Fourier Transformation" (FFT)
|
||||
routines, all highly optimized for AMD(R) x86 and amd64 CPUs.
|
||||
</longdescription>
|
||||
<longdescription lang="de">
|
||||
Die AMD(R) Core Math Library ist ein Ersatz für die "Basic Linear
|
||||
Algebra Subprograms" (BLAS) und das "Linear Algebra PACKage" (LAPACK).
|
||||
Außerdem enthält sie Routinen zur "Fast Fourier Tranformation" (FFT).
|
||||
Alle Routinen sind hoch optimiert für AMD(R) x86 und amd64 CPUs.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="gfortran">Fetch and install acml compiled with GNU gfortran</flag>
|
||||
<flag name="ifc">Fetch and install acml compiled with Intel Fortran Compiler
|
||||
(<pkg>dev-lang/ifc</pkg>)</flag>
|
||||
<flag name="int64">Install the 64 bits integer library</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user