summaryrefslogtreecommitdiff
path: root/sci-libs/libbufr/libbufr-000405.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/libbufr/libbufr-000405.ebuild')
-rw-r--r--sci-libs/libbufr/libbufr-000405.ebuild196
1 files changed, 0 insertions, 196 deletions
diff --git a/sci-libs/libbufr/libbufr-000405.ebuild b/sci-libs/libbufr/libbufr-000405.ebuild
deleted file mode 100644
index 85febe3abf26..000000000000
--- a/sci-libs/libbufr/libbufr-000405.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit epatch fortran-2 toolchain-funcs
-
-MY_P="${PN/lib/}dc_${PV}"
-
-DESCRIPTION="ECMWF BUFR library - includes both C and Fortran example utilities"
-HOMEPAGE="https://software.ecmwf.int/wiki/display/BUFR/BUFRDC+Home"
-SRC_URI="https://software.ecmwf.int/wiki/download/attachments/35752466/${MY_P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-# needs someone to test on these: ~alpha ~hppa ~ia64 ~sparc etc ...
-
-IUSE="debug doc examples"
-
-RDEPEND="
- virtual/fortran
- "
-
-DEPEND="sys-apps/findutils"
-
-S=${WORKDIR}/${MY_P}
-
-pkg_setup() {
- fortran-2_pkg_setup
- case "$(tc-getFC)" in
- *gfortran)
- export CNAME="_gfortran"
- ;;
- *g77)
- export CNAME="_gnu"
- ;;
- *pgf90|*pgf77)
- export CNAME=""
- ;;
- ifc|ifort)
- export CNAME="_intel"
- ;;
- esac
-
- elog "Note non-GNU compilers are not currently supported on non-x86"
- elog "architectures. If you need it, please submit a patch..."
-
- export target="linux"
- export A64=""
- export R64=""
- case "${ARCH}" in
- amd64)
- export R64="R64"
- export A64="A64"
- ;;
- ppc64)
- export target="ppc_G5"
- ;;
- ppc)
- export target="ppc"
- ;;
- *)
- ;;
- esac
-}
-
-src_prepare() {
- update_configs
- epatch "${FILESDIR}"/${P}-makefile.patch
-
- local config="config/config.$target$CNAME$R64$A64"
-
- if [[ "${ARCH}" == "ppc" ]] ; then
- sed -i -e "s|= -mcpu=G4 -mtune=G4|= |" ${config}
- elif [[ "${ARCH}" == "ppc64" ]] ; then
- sed -i -e "s|= -mcpu=G5 -mtune=G5|= |" \
- -e "s|-fdefault-real-8|-fdefault-real-8 -fdefault-double-8|" \
- ${config}
- elif [[ "${ARCH}" == "amd64" ]] ; then
- cp ${config}.in ${config}
- sed -i -e "s|-fdefault-real-8|-fdefault-real-8 -fdefault-double-8|" \
- ${config}
- else
- cp ${config}.in ${config} || die "Error updating config!"
- fi
-
- sed -i -e "s:DEBUG = -O2:DEBUG = -g:g" ${config}
- use debug || sed -i -e "s:DEBUG = -g:DEBUG =:g" ${config}
-
- # add local CFLAGS to build flags
- sed -i -e "s|\$(DEBUG)|${CFLAGS} \$(DEBUG) -fPIC|" \
- -e 's|emos|/usr/share/bufrtables|g' ${config}
-
- # add local LDFLAGS to bins
- sed -i \
- -e "s|-o|${LDFLAGS} -fPIC -o|" \
- examples/Makefile \
- bufrtables/Makefile
-}
-
-src_compile() {
- export BUFR_TABLES="${S}"/bufrtables
- EBUILD_ARCH="${ARCH}"
- EBUILD_CFLAGS="${CFLAGS}"
- unset ARCH CFLAGS
-
- tc-export CC FC AR NM RANLIB
- export STRIP="/bin/true"
- TC_FLAGS="CC=$CC FC=$FC AR=$AR RANLIB=$RANLIB"
- ARFLAGS="rv"
-
- # emake won't work with this fossil...
- BUFRFLAGS="ARCH=$target R64=$R64 CNAME=$CNAME"
- make $TC_FLAGS ARFLAGS="${ARFLAGS}" $BUFRFLAGS || die "make failed"
-
- generate_files
-
- ARCH="${EBUILD_ARCH}"
- CFLAGS="${EBUILD_CFLAGS}"
-}
-
-src_test() {
- unset ARCH CFLAGS
- BUFRFLAGS="ARCH=$target R64=$R64 CNAME=$CNAME"
- make $BUFRFLAGS test || die "make test failed"
-
- ARCH="${EBUILD_ARCH}"
- CFLAGS="${EBUILD_CFLAGS}"
-}
-
-src_install() {
- # install library
- dolib.a libbufr$R64.a
-
- dosbin bufrtables/{bufr2txt_tables,bufr_split_tables,txt2bufr_tables}
- dobin examples/{bufr_decode_all,create_bufr,decode_bufr,decode_bufr_image,tdexp}
-
- keepdir /usr/share/bufrtables
- insinto /usr/share/bufrtables
- doins -r bufrtables/{B,C,D}*.*
-
- # files generated above
- doenvd 20${PN}
-
- dodoc README
- if use doc ; then
- insinto /usr/share/doc/${PF}
- doins doc/*.pdf
- fi
-
- if use examples ; then
- newdoc examples/README README.examples
- insinto /usr/share/doc/${PF}/examples
- doins examples/{*.F,*.c,Makefile}
- fi
-}
-
-pkg_postinst() {
- elog
- elog "This is the only GPL'd BUFR decoder library written in C/Fortran"
- elog "but the build system is an old kluge that pre-dates the discovery"
- elog "of fire. File bugs as usual if you have build/runtime problems."
- elog ""
- elog "The default BUFR tables are stored in /usr/share/bufrtables, so"
- elog "add your local tables there if needed. Only a static lib is"
- elog "installed currently, as shared lib support is incomplete (feel"
- elog "free to submit a patch :)"
- elog ""
- elog "The installed user-land bufr utilities are just the examples;"
- elog "the main library is really all there is (and there are no man"
- elog "pages either). Install the examples and use the source, Luke..."
- elog
-}
-
-generate_files() {
- ## Do not remove blank lines from the response file
- cat <<-EOF > 20${PN}
- BUFR_TABLES="/usr/share/bufrtables"
- EOF
-}
-
-update_configs() {
- find . -type f -name \*.distinct -o -name \*.f -o -name \*.in \
- | xargs chmod -x
- cp options/options_linux options/options_ppc
- cp options/options_linux options/options_ppc_G5
- cp pbio/sources.linux pbio/sources.ppc
- cp pbio/sources.linux pbio/sources.ppc_G5
- pushd config > /dev/null
- cp config.ppc_gfortran.in config.ppc_gfortran
- cp config.ppc_gfortranR64.in config.ppc_gfortranR64
- cp config.ppc_gfortran_G5.in config.ppc_gfortran_G5
- cp config.ppc_gfortranR64_G5.in config.ppc_gfortranR64_G5
- popd > /dev/null
-}