# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header$ RESTRICT="nostrip nomirror" IUSE="" HOMEPAGE="http://wwwasd.web.cern.ch/wwwasd/cernlib" SRC_PATH="http://cernlib.web.cern.ch/cernlib/download/${PV}_source/tar" SRC_URI="${SRC_PATH}/src_Imakefile.tar.gz ${SRC_PATH}/src_car.tar.gz ${SRC_PATH}/src_cfortran.tar.gz ${SRC_PATH}/src_cmz.tar.gz ${SRC_PATH}/src_config.tar.gz ${SRC_PATH}/src_geant321.tar.gz ${SRC_PATH}/src_graflib.tar.gz ${SRC_PATH}/src_include.tar.gz ${SRC_PATH}/src_mathlib.tar.gz ${SRC_PATH}/src_mclibs.tar.gz ${SRC_PATH}/src_packlib.tar.gz ${SRC_PATH}/src_patchy.tar.gz ${SRC_PATH}/src_pawlib.tar.gz ${SRC_PATH}/src_phtools.tar.gz ${SRC_PATH}/src_scripts.tar.gz " PROVIDE="virtual/cernlib" LICENSE="LGPL-BSD-as-is" SLOT="0" KEYWORDS="~x86 ~amd64" DEPEND="virtual/lapack !app-sci/cernlib-bin x11-libs/openmotif" DESCRIPTION="CERN Program Library for Particle Physics: paw, mathlib, packlib, geant,.." S=${WORKDIR}/${PV} CERNDEST=/usr/lib/cern # # Note from cernlib source install web site: # "There are a number of products, mainly in "bin", which are # not part of the standard build procedures. # These include old stable products which are # simply copied from previous releases as long as they keep working. # There are the Patchy 4 programs (ypatchy etc.) # and the Patchy 5 suite (nypatchy etc.). # Other special programs may also be added as a # convenience to certain users or as a backup. # There may also be packages (e.g. Stdhep) which are # not compiled at CERN and Cernlib is then only a distributor." # src_compile() { # env variables for local build. export CERN=${WORKDIR} export CERN_LEVEL=${PV} export CERN_ROOT=$CERN/$CERN_LEVEL export CVSCOSRC=$CERN_ROOT/src export PATH=${CERN_ROOT}/bin:${CERN_ROOT}/src/scripts:$PATH echo CERN=${CERN} echo CERN_LEVEL=${CERN_LEVEL} mkdir -p ${CERN_ROOT}/lib ${CERN_ROOT}/bin ${CERN_ROOT}/build # get blas/lapack libraries. ln -sv /usr/lib/liblapack.a ${CERN_ROOT}/lib/liblapack3.a ln -sv /usr/lib/libblas.a ${CERN_ROOT}/lib/libblas.a # compile and install locally cd $CERN_ROOT/build $CVSCOSRC/config/imake_boot make bin/kuipc make scripts/Makefile cd scripts make -k install.bin # make sure the install worked for those 3 execs. install -m 755 scripts/{cernlib,paw,gxint} ${CERN_ROOT}/bin cd $CERN_ROOT/build make || die "make failed" for cerndir in cfortran geant321 graflib mathlib mclibs mgr packlib patchy pawlib phtools scripts; do make -C ${cerndir} install.bin done # prepare the includes for the install cp -rL ${CVSCOSRC}/include ${CERN_ROOT} rm -r ${CERN_ROOT}/include/*/CVS # test packlib and mathlib cd $CERN_ROOT/build/packlib make test cd $CERN_ROOT/build/mathlib make test # clean up ready for install rm ${CERN_ROOT}/lib/xsneut95.dat rm ${CERN_ROOT}/lib/liblapack3.a rm ${CERN_ROOT}/lib/libblas.a } src_install() { dodir ${CERNDEST} dodir ${CERNDEST}/${PV} dosym ${PV} ${CERNDEST}/pro # use copy to preserve the links. modes should be fine already cp -Rd include ${D}${CERNDEST}/pro cp -Rd bin ${D}${CERNDEST}/pro cp -Rd lib ${D}${CERNDEST}/pro dodir /etc/env.d echo -e "CERN=${CERNDEST}\nCERN_LEVEL=pro\nCERN_ROOT=${CERNDEST}/pro\nPATH=${CERNDEST}/pro/bin\nLDPATH=${CERNDEST}/pro/lib" \ > ${D}etc/env.d/99cernlib } pkg_postinst () { einfo einfo " The cernlib is organized in ${CERNDEST}. " einfo " Some wrappers as shell scripts exist such as paw and cernlib" einfo " To link a piece of code with a cern library, use the cernlib script" einfo }