diff options
author | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-12-09 02:28:27 +0000 |
---|---|---|
committer | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-12-09 02:28:27 +0000 |
commit | 36da4a1c414406164ded3da593ac84911d46c715 (patch) | |
tree | 3b9b7a79d5f09f9f442930fee35f0c835d677bbe /lang/fpc/Makefile | |
parent | 04186cfdb011b919bdf844a1a397b5aa18ee383a (diff) | |
download | ports-36da4a1c414406164ded3da593ac84911d46c715.tar.gz ports-36da4a1c414406164ded3da593ac84911d46c715.zip |
Notes
Diffstat (limited to 'lang/fpc/Makefile')
-rw-r--r-- | lang/fpc/Makefile | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/lang/fpc/Makefile b/lang/fpc/Makefile new file mode 100644 index 000000000000..f26640ff4d44 --- /dev/null +++ b/lang/fpc/Makefile @@ -0,0 +1,149 @@ +# New ports collection makefile for: Free Pascal Compiler +# Date created: 28 November 2001 +# Whom: John Merryweather Cooper et al +# +# $FreeBSD$ +# + +PORTNAME= fpc +PORTVERSION= 1.0.4 +CATEGORIES= lang +MASTER_SITES= ftp://ftp.freepascal.org/pub/fpc/dist/Freebsd/ \ + ftp://ftp.epix.net/pub/languages/pascal/dist/Freebsd/ \ + http://gd.tuwien.ac.at/languages/pascal/dist/Freebsd/ \ + http://www.zeus.rug.ac.be/freepascal/files/dist/Freebsd/ \ + ftp://ftp.darklands.cx/pub/fpc/dist/Freebsd/ \ + ftp://ftp.jp.freepascal.org/mirror/fpc/dist/Freebsd/ \ + ftp://deadlock.et.tudelft.nl/pub/fpc/dist/Freebsd/ \ + ftp://ftp.no.freepascal.org/pub/fpc/dist/Freebsd/ +DISTNAME= ${PORTNAME}-${PORTVERSION}.freebsd4 +EXTRACT_SUFX= .tar + +MAINTAINER= jmcoopr@webmail.bmi.net + +BUILD_DEPENDS= ${LOCALBASE}/bin/gtar:${PORTSDIR}/archivers/gtar +RUN_DEPENDS= ${LOCALBASE}/bin/nasm:${PORTSDIR}/devel/nasm +.if !defined(NOPORTDOCS) +RUN_DEPENDS+= ${LOCALBASE}/bin/acroread4:${PORTSDIR}/print/acroread4 +.endif + +ONLY_FOR_ARCHS= i386 +NO_WRKSUBDIR= yes +NO_BUILD= yes +PKGDEINSTALL= ${PKGINSTALL} + +MAN1= delp.1 fpc.1 fpcmake.1 h2pas.1 plex.1 ppc386.1 ppdep.1 \ + ppudump.1 ppufiles.1 ppumove.1 ptop.1 pyacc.1 rstconv.1 +MAN5= fpcmake.5 ppc386.cfg.5 ptop.cfg.5 + +# programs +SORT?= /usr/bin/sort +TAR= ${LOCALBASE}/bin/gtar +# macro for creating directory with DATA perms +INSTALL_DATA_DIR= ${INSTALL} -d -o ${SHAREOWN} -g ${SHAREGRP} -m 0755 + +.include <bsd.port.pre.mk> + +LIBDIR= ${PREFIX}/lib/fpc/${PORTVERSION} +DOCSDIR= ${PREFIX}/share/doc/fpc-${PORTVERSION} +TEMP_PREFIX= ${WRKSRC}/temp +TEMP_DOCSDIR= ${TEMP_PREFIX}/share/doc/fpc-${PORTVERSION} +TEMP_LIBDIR= ${TEMP_PREFIX}/lib/fpc/${PORTVERSION} +TEMP_EXMPDIR= ${TEMP_PREFIX}/share/examples + +PLIST_SUB= LIBDIR=${LIBDIR} + +# install staging area +pre-install: + @${TAR} xf ${WRKSRC}/binary.tar --directory ${WRKSRC} + @${TAR} xf ${WRKSRC}/sources.tar --directory ${WRKSRC} + @${MKDIR} ${TEMP_PREFIX} +#unpack base system + @${TAR} zxf ${WRKSRC}/basefreebsd.tar.gz \ + --exclude-from ${FILESDIR}/tar-xlist \ + --directory ${TEMP_PREFIX} + @${MKDIR} ${TEMP_DOCSDIR} + @${TAR} zxf ${WRKSRC}/basefreebsd.tar.gz \ + --files-from ${FILESDIR}/tar-xlist \ + --directory ${TEMP_PREFIX}/share + @${RM} -f ${TEMP_EXECDIR}/ppc386 +#unpack units + @${TAR} zxf ${WRKSRC}/utilfreebsd.tar.gz --directory ${TEMP_PREFIX} + @${TAR} zxf ${WRKSRC}/unitsfclfreebsd.tar.gz --directory ${TEMP_PREFIX} + @${TAR} zxf ${WRKSRC}/unitsapifreebsd.tar.gz --directory ${TEMP_PREFIX} + @${TAR} zxf ${WRKSRC}/unitsbasefreebsd.tar.gz --directory ${TEMP_PREFIX} + @${TAR} zxf ${WRKSRC}/unitsnetfreebsd.tar.gz --directory ${TEMP_PREFIX} + @${TAR} zxf ${WRKSRC}/unitsdbfreebsd.tar.gz --directory ${TEMP_PREFIX} + @${TAR} zxf ${WRKSRC}/unitsgfxfreebsd.tar.gz --directory ${TEMP_PREFIX} + @${TAR} zxf ${WRKSRC}/unitsmiscfreebsd.tar.gz --directory ${TEMP_PREFIX} +.ifndef(NOPORTDOCS) +#unpack documentation, examples, and sources + @${TAR} zxf ${WRKSRC}/basesrc.tar.gz --directory ${TEMP_PREFIX}/share + @${TAR} zxf ${WRKSRC}/compilersrc.tar.gz \ + --exclude-from ${FILESDIR}/tar-xlist2 \ + --directory ${TEMP_PREFIX}/share + @${TAR} zxf ${WRKSRC}/rtlsrc.tar.gz \ + --exclude-from ${FILESDIR}/tar-xlist3 \ + --directory ${TEMP_PREFIX}/share + @${TAR} zxf ${WRKSRC}/fclsrc.tar.gz \ + --exclude-from ${FILESDIR}/tar-xlist4 \ + --directory ${TEMP_PREFIX}/share + @${TAR} zxf ${WRKSRC}/apisrc.tar.gz --directory ${TEMP_PREFIX}/share + @${TAR} zxf ${WRKSRC}/packagessrc.tar.gz --directory ${TEMP_PREFIX}/share + @${TAR} zxf ${WRKSRC}/utilsrc.tar.gz --directory ${TEMP_PREFIX}/share + + @${TAR} zxf ${WRKSRC}/docs.tar.gz --directory ${TEMP_PREFIX}/share + @${MKDIR} ${TEMP_EXMPDIR} + @${TAR} zxf ${WRKSRC}/demo.tar.gz --directory ${TEMP_EXMPDIR} + @${MV} ${TEMP_EXMPDIR}/src/fpc-${PORTVERSION} \ + ${TEMP_PREFIX}/share/examples + @${RM} -rfd ${TEMP_EXMPDIR}/src +.endif +#unpack and patch sample (working) configuration file + @${PATCH} --dir ${TEMP_LIBDIR} < ${FILESDIR}/fix-samplecfg + +do-install: install-parse-plist install-run-scripts run-pkg-install-script + +# Contributed by <lioux@FreeBSD.org> +install-parse-plist: generate-plist + @${PERL} -e 'open(FHANDLER,"${TMPPLIST}");' \ + -e 'open(FDIR,">${WRKDIR}/dirs.sh.tmp");' \ + -e 'open(FFILES,">${WRKDIR}/files.sh");' \ + -e 'while (!eof(FHANDLER)) {' \ + -e 'chop($$file = <FHANDLER>);' \ + -e '$$dir = $$file_partial = $$file;' \ + -e '$$file_partial =~ s!^${HLDSDIR:S!^/!!}!!;' \ + -e 'if ($$dir =~ s!(^\@dirrm\s+)!!) {' \ + -e 'print FDIR "${INSTALL_DATA_DIR}", \ + " ", "\"${PREFIX}/$$dir\"", \ + "\n";' \ + -e '} elsif ($$file !~ m!^\@!) {' \ + -e 'if ($$dir =~ m!^bin!) {' \ + -e 'print FFILES "${INSTALL_PROGRAM}";' \ + -e '} elsif ($$dir =~ m!^(lib|share)!) {' \ + -e 'print FFILES "${INSTALL_DATA}";' \ + -e '} elsif ($$dir =~ m!^man!) {' \ + -e 'print FFILES "${INSTALL_MAN}";' \ + -e '($$file_partial =~ s!${MANEXT}$$!!);' \ + -e '($$file =~ s!${MANEXT}$$!!);' \ + -e '}' \ + -e 'print FFILES " ", "\"${TEMP_PREFIX}/$$file_partial\"", \ + " ", "\"${PREFIX}/$$file\"", \ + "\n";' \ + -e '}' \ + -e '}' \ + -e 'close(FFILES);' \ + -e 'close(FDIR);' \ + -e 'close(FHANDLER);' + @${SORT} ${WRKDIR}/dirs.sh.tmp > ${WRKDIR}/dirs.sh + +install-run-scripts: +.for script in dirs files + @${SH} ${WRKDIR}/${script}.sh +.endfor + +run-pkg-install-script: + @${SETENV} PKG_PREFIX=${PREFIX} ${SH} \ + ${PKGINSTALL} ${PKGNAME} POST-INSTALL + +.include <bsd.port.post.mk> |