# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sci-libs/udunits/udunits-1.12.3.ebuild,v 1.3 2008/11/25 07:35:36 nerdboy Exp $ inherit eutils flag-o-matic fortran perl-module toolchain-funcs IUSE="" S=${WORKDIR}/${P}/src SP=${WORKDIR}/${P}/src/perl DESCRIPTION="The UCAR/Unidata Units library" HOMEPAGE="http://www.unidata.ucar.edu/packages/udunits/" SRC_URI="ftp://unidata.ucar.edu/pub/udunits/udunits-${PV}.tar.Z" SLOT="0" LICENSE="UCAR-Unidata" KEYWORDS="~x86 ~amd64 ~ppc ~sparc ~alpha ~mips ~hppa" DEPEND="dev-lang/perl sys-apps/sed" RDEPEND="dev-lang/perl" src_unpack() { unpack ${A} cd "${S}" sed -i -e "s:\${prefix}/etc:/etc:g" \ -i -e "s:\${prefix}/man:\${prefix}/share/man:g" \ -i -e "s:\${exec_prefix}/lib:\${exec_prefix}/$(get_libdir):g" \ configure || die "sed 1 failed" } src_compile() { export CPPFLAGS="-Df2cFortran -D_POSIX_SOURCE" export CFLAGS="${CFLAGS}" export FC="${FORTRANC}" export CC="$(tc-getCC)" export CXX="$(tc-getCXX)" export LD_MATH="-lm" # This is needed for the perl shared object build append-flags -fPIC econf || die "econf failed" cd "${S}"/lib emake || die "emake lib failed" cd "${S}" cd "${S}"/perl perl-module_src_prep perl-module_src_compile cd "${S}" # random compile failures with -jN (when N > 1) emake -j1 || die "emake died" } src_test() { make check || die "make test failed" } src_install() { # The configure sucks, and so do the makefiles; this pretty much # needs to be done manually... dobin udunits/udunits dolib.a lib/libudunits.a port/misc/libudport.a doman udunits/udunits.1 lib/udunits.3 perl/udunitsperl.1 insinto /etc doins lib/udunits.dat insinto /usr/include doins lib/{udunits.h,udunits.inc} # doman still doesn't put this in the right place insinto /usr/share/man/man3f doins lib/udunits.3f dodoc README RELEASE_NOTES fixlocalpod cd "${S}"/perl perl-module_src_install cd "${S}" # Clean up left-over cruft... (yes, this is still needed) find "${D}" -type f -a \( -name perllocal.pod -o -name .packlist \ -o \( -name '*.bs' -a -empty \) \) -exec rm -f {} ';' find "${D}" -type d -depth -exec rmdir {} 2>/dev/null ';' chmod -R u+w "${D}"/* } pkg_postinst() { ewarn "This package requires a Fortran compiler for maximum utility." ewarn "For now, make sure you have at least g77 for the f77 interface." ewarn "The internal configure should detect many f77 compilers, however," ewarn "if you have the PG compiler you will need to change the above" ewarn "preprocessor macro to something like -Dpgifortran." }