# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-lang/fpc/fpc-1.9.4.ebuild,v 1.1 2004/09/08 04:26:44 chriswhite Exp $ # fpc eclass #FPC_IS_BASE_MODULE="1" #FPC_MODULE="packages/base/ibase" #FPC_PATCHES="" #FPC_EXTRA_BINS="" #inherit rpm cvs eutils #DESCRIPTION="Free Pascal: Utilities (fpdoc, fpcmake, ...)" HOMEPAGE="http://www.freepascal.org/" LICENSE="LGPL-2.1+staticlibs GPL-2" SLOT="0" KEYWORDS="x86 -*" #IUSE="gpm" # inofficial KEYWORDS="x86 -*" RDEPEND="virtual/libc =dev-lang/fpc-${PV} !dev-lang/fpc-source !dev-lang/fpc-bin gpm? ( >=sys-libs/gpm-1.20.1 ) " # fileutils # cp --preserve # or is that coreutils ? DEPEND="${RDEPEND} >=sys-apps/findutils-4.1.20 >=sys-apps/fileutils-4.1 " pb="${FPC_MODULE##*/}" if [ -z "${FPC_IS_BASE_MODULE}" ] then DEPEND="${DEPEND} >=dev-util/fpc-utils-${PV} " fi S="${WORKDIR}/fpc" fpc_src_unpack() { export ECVS_MODULE="${ECVS_MODULE}/${FPC_MODULE}" cvs_src_unpack || die #epatch "${FILESDIR}/fpcmake-cputarget.patch" || die #epatch "${FILESDIR}/fpc-1.9.7-variant-interface.patch" || die # TODO handle FPC_PATCHES } fpc_src_compile() { #opts="" #use gpm || opts="${opts} -dNOGPM" UDIR="i386-linux" FPLIBSEARCHDIR="/usr/lib/fpc/${PV}/units/${UDIR}" if [ "${FPC_MODULE}" = "fcl" ] then absdir="$(pwd)/${FPC_MODULE}" export UNITDIR="${UNITDIR} ${absdir}/ ${absdir}/db/units/${UDIR} ${absdir}/db/sqldb/units/${UDIR} ${absdir}/units/${UDIR} ${absdir}/xml/units/${UDIR} ${absdir}/passrc/units/${UDIR} ${FPLIBSEARCHDIR}/netdb" export COMPILER_TARGETDIR="${absdir}/units/${UDIR}" /bin/mkdir -p "${COMPILER_TARGETDIR}" || die fi if [ "${pb}" = "netdb" ] then echo "set opt" export FPCOPT="${FPCOPT} -S2" fi cd "${S}/${FPC_MODULE}" || die #unitdir='UNITDIR='${UNITDIR}'' make -j1 ${unitdir} || die } fpc_src_install() { cd "${S}" || die #cd "${S}/${FPC_MODULE}" || die #make INSTALL_PREFIX=${D}/usr install || die FPLIBTOPDIR="${D}/usr/lib/fpc/${PV}" #/bin/mkdir -p "${FPLIBTOPDIR}/msg" || die #/bin/cp --preserve=timestamps -f "compiler/msg/"*.msg "${FPLIBTOPDIR}/msg" || die FPLIBDIR="${FPLIBTOPDIR}/units/${ARCH/x86/i386}-linux" if [ "${FPC_MODULE}" = "rtl" ] then /bin/mkdir -p "${FPLIBDIR}/rtl" || die /bin/cp --preserve=timestamps -f rtl/inc/*.inc \ rtl/unix/*.inc \ rtl/linux/i386/*.{inc,as} \ rtl/i386/*.{inc,pp} \ rtl/linux/*.{inc,pp} \ rtl/objpas/*.inc \ rtl/objpas/sysutils/*.inc \ "${FPLIBDIR}/rtl/" || die /bin/cp --preserve=timestamps -f rtl/units/i386-linux/*.{o,ppu,a} "${FPLIBDIR}/rtl/" || die fi [ ! -d "${FPC_MODULE}" ] && continue cd "${FPC_MODULE}" || die dd="${FPLIBDIR}/${pb}" /bin/mkdir -p "${dd}" || die /usr/bin/find . -name "*.rst" -exec /bin/cp --preserve=timestamps -f "{}" "${dd}" ';' || die #/usr/bin/find . -name "*.inc" -exec /bin/cp --preserve=timestamps -f "{}" "${dd}" ';' || die /usr/bin/find . -name "*.o" -exec /bin/cp --preserve=timestamps -f "{}" "${dd}" ';' || die /usr/bin/find . -name "*.ppu" -exec /bin/cp --preserve=timestamps -f "{}" "${dd}" ';' || die /usr/bin/find . -name "*.a" -exec /bin/cp --preserve=timestamps -f "{}" "${dd}" ';' || die if [ -f "Makefile.fpc" -a -z "${FPC_IS_BASE_MODULE}" ] then # paszlib is used by fcl which is used by fpc-utils which is needed for all # (fpc-utils contains fpcmake) /usr/bin/fpcmake -p -Tlinux Makefile.fpc || die /bin/cp Package.fpc "${dd}" || die else echo "skipped $(pwd)">&2 fi #if [ "${FPC_MODULE}" = "packages/base/paszlib" ] #then # /bin/cp --preserve=timestamps -f *.pas "${dd}" || die # /bin/cp --preserve=timestamps -f *.inc "${dd}" || die #fi #if [ "${FPC_MODULE}" = "fcl" ] #then # #/bin/cp --preserve=timestamps fcl/inc/*.{pp,inc} "${FPLIBDIR}/fcl/" || die # /bin/cp --preserve=timestamps -f fcl/inc/*.inc "${FPLIBDIR}/fcl/" || die # /bin/cp --preserve=timestamps -f fcl/units/i386-linux/*.{o,ppu} "${FPLIBDIR}/fcl/" || die # /bin/cp --preserve=timestamps -f fcl/linux/*.pp "${FPLIBDIR}/fcl/" || die #fi if [ ! -z "${FPC_EXTRA_BINS}" ] then /bin/mkdir -p "${D}/usr/bin" || die /bin/cp --preserve=timestamps -f "${FPC_EXTRA_BINS}" "${D}/usr/bin/" || die fi } #pkg_postinst() { # # dfl_pkg_postinst # how is that called # # /usr/sbin/env-update #} src_unpack() { fpc_src_unpack || die } src_compile() { fpc_src_compile || die } src_install() { fpc_src_install || die }