You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sci-astronomy/healpix/healpix-3.31.ebuild

142 lines
3.1 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools toolchain-funcs java-pkg-opt-2 java-ant-2 ltprune
MYP="Healpix_${PV}"
MYPF=${MYP}_2016Aug26
DESCRIPTION="Hierarchical Equal Area isoLatitude Pixelization of a sphere"
HOMEPAGE="http://healpix.sourceforge.net/"
SRC_URI="mirror://sourceforge/healpix/${MYP}/${MYPF}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
# might add fortran in the future if requested
IUSE="cxx doc idl java openmp static-libs test"
RESTRICT="!test? ( test )"
RDEPEND="
>=sci-libs/cfitsio-3
idl? (
dev-lang/gdl
sci-astronomy/idlastro )
java? ( >=virtual/jre-1.6:* )"
DEPEND="${RDEPEND}
virtual/pkgconfig
java? ( >=virtual/jdk-1.6:* test? ( dev-java/ant-junit4:0 ) )"
S="${WORKDIR}/${MYP}"
pkg_pretend() {
if use cxx && use openmp && [[ $(tc-getCXX)$ == *g++* ]] && [[ ${MERGE_TYPE} != binary ]]; then
tc-has-openmp || \
die "You are using gcc but without OpenMP capabilities that you requested"
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
}
src_prepare() {
pushd src/C/autotools > /dev/null
eautoreconf
popd > /dev/null
# why was static-libtool-libs forced?
if use cxx; then
pushd src/cxx/autotools > /dev/null
sed -i -e '/-static-libtool-libs/d' Makefile.am || die
eautoreconf
popd > /dev/null
fi
# duplicate of idlastro (in rdeps)
rm -r src/idl/zzz_external/astron || die
mv src/idl/zzz_external/README src/idl/README.external || die
java-pkg-opt-2_src_prepare
default
}
src_configure() {
pushd src/C/autotools > /dev/null
econf $(use_enable static-libs static)
popd > /dev/null
if use cxx; then
pushd src/cxx/autotools > /dev/null
econf \
--disable-native-optimizations \
$(use_enable openmp) \
$(use_enable static-libs static)
popd > /dev/null
fi
}
src_compile() {
pushd src/C/autotools > /dev/null
emake
popd > /dev/null
if use cxx; then
pushd src/cxx/autotools > /dev/null
emake
popd > /dev/null
fi
if use java; then
pushd src/java > /dev/null
eant dist-notest
popd > /dev/null
fi
}
src_test() {
pushd src/C/autotools > /dev/null
emake check
popd > /dev/null
if use cxx; then
pushd src/cxx/autotools > /dev/null
emake check
popd > /dev/null
fi
if use java; then
pushd src/java > /dev/null
EANT_GENTOO_CLASSPATH="ant-junit4" ANT_TASKS="ant-junit4" eant test
popd > /dev/null
fi
}
src_install() {
dodoc READ_Copyrights_Licenses.txt
pushd src/C/autotools > /dev/null
emake install DESTDIR="${D}"
popd > /dev/null
if use cxx; then
pushd src/cxx/autotools > /dev/null
emake install DESTDIR="${D}"
docinto cxx
dodoc ../CHANGES
popd > /dev/null
fi
use static-libs || prune_libtool_files --all
if use idl; then
pushd src/idl > /dev/null
insinto /usr/share/gnudatalanguage/healpix
doins -r examples fits interfaces misc toolkit visu zzz_external
doins HEALPix_startup
docinto idl
dodoc README.*
popd > /dev/null
fi
if use java; then
pushd src/java > /dev/null
java-pkg_dojar dist/*.jar
docinto java
dodoc README CHANGES
popd > /dev/null
fi
use doc && dodoc -r doc/html
}