# 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 $ inherit rpm cvs DESCRIPTION="The Free Pascal compiler" HOMEPAGE="http://www.freepascal.org/" SRC_URI="ftp://ftp.freepascal.org/pub/fpc/beta/linux-i386-${PV}/fpc-1.9.4-0.i586.rpm" # bootstrap LICENSE="LGPL-2.1+staticlibs GPL-2" SLOT="0" KEYWORDS="x86 -*" IUSE="gpm" # inofficial RDEPEND="virtual/libc !dev-lang/fpc-source >=sys-apps/findutils-4.1.20 >=sys-apps/fileutils-4.1 gpm? ( >=sys-libs/gpm-1.20.1 ) app-arch/rpm2targz " # fileutils # cp --preserve # or is that coreutils ? DEPEND="${RDEPEND} >=sys-apps/diffutils-2.8.4 >=sys-apps/sed-4.0 " ECVS_SERVER="cvs.freepascal.org:/FPC/CVS" ECVS_MODULE="fpc" ECVS_USER="cvs" ECVS_PASS="cvs" # LibGDB was not found, IDE has no Debugger support ?? S="${WORKDIR}/fpc" src_unpack() { cvs_src_unpack || die /bin/mkdir -p "${WORKDIR}/bootstrap" || die cd "${WORKDIR}/bootstrap" || die rpm_unpack ${DISTDIR}/fpc-1.9.4-0.i586.rpm || die /bin/cp -f "${WORKDIR}/usr/lib/fpc/1.9.4/ppc386" "${WORKDIR}/bootstrap/ppc386" /bin/rm -rf "${WORKDIR}/usr" } src_compile() { make distclean opts="" use gpm || opts="${opts} -dNOGPM" make PP="${WORKDIR}/bootstrap/ppc386" OPTS="${opts}" all || die #(cd fcl ; make) || die # emake PP="${WORKDIR}/bootstrap/usr/bin/ppc386" compiler || die # emake PP="${WORKDIR}/bootstrap/usr/bin/ppc386" rtl utils fcl fv packages ide installer || die } src_install() { make INSTALL_PREFIX=${D}/usr install || die /bin/mkdir -p "${D}/usr/bin" || die for s in compiler/ppc386 \ compiler/utils/ppudump \ compiler/utils/ppufiles \ compiler/utils/ppumove \ utils/bin2obj utils/data2inc utils/delp \ packages/extra/forms/fd2pascal \ compiler/utils/fpc utils/fpcm/fpcmake utils/fpdoc/fpdoc \ utils/fprcp/fprcp utils/h2pas/h2pas utils/h2pas/h2paspp \ utils/fpdoc/makeskel fcl/net/mkxmlrpc \ utils/tply/plex \ utils/tply/pyacc \ utils/postw32 \ utils/ppdep \ utils/ptop \ utils/rstconv \ ide/fp do t="${s##*/}" /bin/cp --preserve=timestamps -f "${WORKDIR}/fpc/$s" "${D}/usr/bin/$t" || die done 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" /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 for p in packages/base/* packages/extra/* fcl do [ ! -d "$p" ] && continue pb="${p##*/}" dd="${FPLIBDIR}/${pb}" /bin/mkdir -p "${dd}" || die /usr/bin/find "$p" -name "*.rst" -o -name "*.inc" -o \ -name "*.o" -o -name "*.ppu" -o \ -name "*.a" \ -exec /bin/cp --preserve=timestamps -f "{}" "${dd}" ';' || die if [ -f "Makefile.fpc" ] then utils/fpcm/fpcmake -p -Tlinux Makefile.fpc || die cp Package.fpc "${dd}" || die else echo "skipped $(pwd)">&2 fi if [ "$p" = "packages/base/paszlib" ] then /bin/cp --preserve=timestamps -f "${p}/"*.pas "${dd}" || die /bin/cp --preserve=timestamps -f "$p"/*.inc "${dd}" || die fi done #/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 /bin/cp --preserve=timestamps -f packages/base/pthreads/units/i386-linux/*.{o,ppu,a} "${FPLIBDIR}/pthreads" || die /bin/cp --preserve=timestamps -f packages/base/pthreads/*.{pp,inc} "${FPLIBDIR}/pthreads/" || die #mv usr/share/doc/packages/${P} usr/share/doc/${P} #rmdir usr/share/doc/packages #chmod -R 755 usr/lib/* usr/share/* /bin/mkdir -p "${D}/usr/share/pixmaps" || die /bin/cp --preserve=timestamps -f "${WORKDIR}/fpc/install/unix/fp32x32.xpm" "${D}/usr/share/pixmaps" || die # 'fpc -S2cdgi -CX -Og3 -XX -WG -vewnhi -l aa' still complains # system.pp(3,1) Hint: File /usr/lib/fpc/1.9.9/units/linux/rtl/typefile.inc is newer than Release PPU file /usr/lib/fpc/1.9.9/units/linux/rtl/system.ppu /usr/bin/diff /etc/fpc.cfg "${FILESDIR}/fpc.cfg" >/dev/null || { mkdir -p "${D}/etc" || die /bin/cat "${FILESDIR}/fpc.cfg" |/bin/sed -e 's;$target;'"${ARCH/x86/i386}-linux"';' > "${D}/etc/fpc.cfg" || die } /bin/mkdir -p "${D}/etc/env.d" || die /bin/cp "${FILESDIR}/50fpc" "${D}/etc/env.d/50fpc" || die } pkg_postinst() { # dfl_pkg_postinst # how is that called /usr/sbin/env-update }