diff --git a/lang/Makefile b/lang/Makefile index 2cdcd6bc44d4..4155dbdcf588 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -101,6 +101,7 @@ SUBDIR += gnustep-base SUBDIR += gnustep-guile SUBDIR += gnustep-objc + SUBDIR += gpc SUBDIR += gprolog SUBDIR += groovy SUBDIR += guile diff --git a/lang/gpc/Makefile b/lang/gpc/Makefile new file mode 100644 index 000000000000..4beadbb125c5 --- /dev/null +++ b/lang/gpc/Makefile @@ -0,0 +1,69 @@ +# New ports collection makefile for: gpc +# Date created: 28 Jun 2006 +# Whom: alepulver +# +# $FreeBSD$ +# + +PORTNAME= gpc +PORTVERSION= 20050331 +CATEGORIES= lang +MASTER_SITES= http://www.gnu-pascal.de/alpha/:gpc \ + ${MASTER_SITE_GCC} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:gpc \ + gcc-core-${GCC_VERSION}${EXTRACT_SUFX} + +MAINTAINER= alepulver@FreeBSD.org +COMMENT= GNU Pascal compiler + +BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \ + help2man:${PORTSDIR}/misc/help2man + +USE_BISON= yes +USE_BZIP2= yes +USE_GMAKE= yes +#USE_PERL5_BUILD=yes +GNU_CONFIGURE= yes +CONFIGURE_ARGS+=--disable-nls --enable-languages=pascal +WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION} +INSTALL_WRKSRC= ${WRKSRC}/gcc +INSTALL_TARGET= pascal.install + +MAN1= binobj.1 gpc.1 gpc-run.1 gpidump.1 +INFO= gpc gpcs gpcs-de gpcs-es gpcs-hr + +# This port can be compiled with the GCC versions 2.8.1-2.95 and 3.2-3.4.3. +GCC_VERSION?= 3.4.3 + +.include + +.if ${ARCH} == "amd64" +CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} +.endif + +post-extract: + @${MV} ${WRKDIR}/p ${WRKSRC}/gcc + +post-patch: + @${REINPLACE_CMD} -Ee \ + 's|^(lib(exec)?subdir =).*|\1 $$\(lib\2dir\)/gpc|; \ + s|(\$$\(lib(exec)?dir\))/gcc|\1/gpc|; \ + s|(-DDEFAULT_TARGET_(VERSION\|MACHINE)=\\").*(\\")|\1\3|' \ + ${WRKSRC}/Makefile.in ${WRKSRC}/gcc/Makefile.in + @${REINPLACE_CMD} -e 's|read junk||' \ + ${WRKSRC}/gcc/p/config-lang.in + @${REINPLACE_CMD} -Ee 's|^(sed=)"`.*`"|\1sed|' \ + ${WRKSRC}/gcc/p/script/extract-doc-demos +.if defined(NOPORTDOCS) + @${REINPLACE_CMD} -Ee 's|^(PASCAL_INSTALL_DOC=).*|\1|' \ + ${WRKSRC}/gcc/p/Make-lang.in +.else + @${REINPLACE_CMD} -Ee 's|^(P_DOC_DIR=).*|\1${DOCSDIR:S/${PREFIX}\///}|' \ + ${WRKSRC}/gcc/p/Make-lang.in +.endif + +post-install: + ${INSTALL_DATA} ${WRKSRC}/gcc/libgcc_eh.a ${PREFIX}/lib/gpc + @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD} + +.include diff --git a/lang/gpc/distinfo b/lang/gpc/distinfo new file mode 100644 index 000000000000..35c861751a7b --- /dev/null +++ b/lang/gpc/distinfo @@ -0,0 +1,6 @@ +MD5 (gpc-20050331.tar.bz2) = cdc1460ba7b3cc099d404c5fa1202f8a +SHA256 (gpc-20050331.tar.bz2) = 8e3fdf78a7cee1fb6d313a21f0ca07ac64e8434881bea389dccb44ea6d0aa878 +SIZE (gpc-20050331.tar.bz2) = 2670786 +MD5 (gcc-core-3.4.3.tar.bz2) = d2cbfe8fc3205c1d7969b26377405778 +SHA256 (gcc-core-3.4.3.tar.bz2) = 42e1259c15a59096e3115eec4d0b87afd04d39567a07665ca5d9b358fd02bce0 +SIZE (gcc-core-3.4.3.tar.bz2) = 13040222 diff --git a/lang/gpc/files/patch-gcc__p__Make-lang.in b/lang/gpc/files/patch-gcc__p__Make-lang.in new file mode 100644 index 000000000000..a3d3f242f32b --- /dev/null +++ b/lang/gpc/files/patch-gcc__p__Make-lang.in @@ -0,0 +1,11 @@ +--- ./gcc/p/Make-lang.in.orig Thu Mar 31 15:21:55 2005 ++++ ./gcc/p/Make-lang.in Thu Jun 29 20:30:11 2006 +@@ -928,7 +928,7 @@ + chmod a+x $(DESTDIR)$(bindir)/$(GPC_INSTALL_NAME)$(exeext); \ + fi + rm -f $(DESTDIR)$(bindir)/gpc-run +- $(INSTALL_PROGRAM) gpc-run $(DESTDIR)$(bindir)/gpc-run ++ $(INSTALL_SCRIPT) gpc-run $(DESTDIR)$(bindir)/gpc-run + chmod a+x $(DESTDIR)$(bindir)/gpc-run + + pascal.install-utils: pascal.utils diff --git a/lang/gpc/pkg-descr b/lang/gpc/pkg-descr new file mode 100644 index 000000000000..e40fde953e93 --- /dev/null +++ b/lang/gpc/pkg-descr @@ -0,0 +1,4 @@ +The GNU Pascal Compiler (GPC) is, as the name says, the Pascal compiler of the +GNU family. + +WWW: http://www.gnu-pascal.de/ diff --git a/lang/gpc/pkg-message b/lang/gpc/pkg-message new file mode 100644 index 000000000000..2549803acbcc --- /dev/null +++ b/lang/gpc/pkg-message @@ -0,0 +1,17 @@ +============================================================================== + +The GNU Pascal Compiler has been installed. + +In order to use some units you need additional libraries: + +CRT devel/ncurses (in the base system) or devel/pdcurses (for X11) +GMP math/libgmp4 +GRAPH graphics/grx +GRX graphics/grx +INTL devel/libintl +REGEX devel/rx + +The documentation also recommends ElectricFence (devel/ElectricFence) to be a +useful library (not GPC unit) for debugging memory allocation bugs. + +============================================================================== diff --git a/lang/gpc/pkg-plist b/lang/gpc/pkg-plist new file mode 100644 index 000000000000..4f915556488b --- /dev/null +++ b/lang/gpc/pkg-plist @@ -0,0 +1,124 @@ +bin/binobj +bin/gpc +bin/gpc-run +bin/gpidump +%%PORTDOCS%%%%DOCSDIR%%/AUTHORS +%%PORTDOCS%%%%DOCSDIR%%/BUGS +%%PORTDOCS%%%%DOCSDIR%%/COPYING +%%PORTDOCS%%%%DOCSDIR%%/COPYING.DEMO +%%PORTDOCS%%%%DOCSDIR%%/COPYING.LIB +%%PORTDOCS%%%%DOCSDIR%%/FAQ +%%PORTDOCS%%%%DOCSDIR%%/INSTALL +%%PORTDOCS%%%%DOCSDIR%%/NEWS +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/demos/README +%%PORTDOCS%%%%DOCSDIR%%/demos/absdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/arrayslicedemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/bigmemdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/bigsetsdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/binobjdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/c_gpc.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/c_gpc_c.c +%%PORTDOCS%%%%DOCSDIR%%/demos/conformantdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/crtdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/crtscreen.c +%%PORTDOCS%%%%DOCSDIR%%/demos/datetimedemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/demoproc.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/dosunixdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/dynamicarraydemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/endiandemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/factorial.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/fexpanddemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/fibonacci.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/filebuf1demo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/filebuf2demo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/filelockdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/findfilesdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/formattimedemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/getoptdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/gettextdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/gpc_c_c.c +%%PORTDOCS%%%%DOCSDIR%%/demos/gpc_c_pas.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/gpc_c_unit.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/gradient.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/hello.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/initvardemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/intfiledemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/iteratordemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/localedemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/mandelbrot.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/md5demo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/packdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/parserdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/pexec2demo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/pexecutedemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/pi.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/pipedemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/portdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/power.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/procvardemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/readdirdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/realpower.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/regexdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/resultvardemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/rwstringdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/schemademo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/statfsdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/stringhashdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/stringschemademo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/tfdddemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/trapdemo.pas +%%PORTDOCS%%%%DOCSDIR%%/demos/variantdemo.pas +lib/gpc/crtbegin.o +lib/gpc/crtbeginS.o +lib/gpc/crtend.o +lib/gpc/crtendS.o +lib/gpc/include/gpc-in-c.h +lib/gpc/libgcc_eh.a +lib/gpc/libgpc.a +lib/gpc/specs +lib/gpc/units/crt.inc +lib/gpc/units/crt.pas +lib/gpc/units/crtc.c +lib/gpc/units/crtc.h +lib/gpc/units/crtdjgpp.h +lib/gpc/units/crtlinux386.h +lib/gpc/units/crtx.c +lib/gpc/units/dos.pas +lib/gpc/units/dosunix.pas +lib/gpc/units/fileutils.pas +lib/gpc/units/gmp.pas +lib/gpc/units/gpc-bp.pas +lib/gpc/units/gpc.pas +lib/gpc/units/gpcutil.pas +lib/gpc/units/heapmon.pas +lib/gpc/units/intl.pas +lib/gpc/units/intlc.c +lib/gpc/units/md5.pas +lib/gpc/units/overlay.pas +lib/gpc/units/pipes.pas +lib/gpc/units/pipesc.c +lib/gpc/units/ports.pas +lib/gpc/units/printer.pas +lib/gpc/units/regex.pas +lib/gpc/units/regexc.c +lib/gpc/units/rts-config.inc +lib/gpc/units/strings.pas +lib/gpc/units/stringutils.pas +lib/gpc/units/system.pas +lib/gpc/units/tfdd.pas +lib/gpc/units/trap.pas +lib/gpc/units/trapc.c +lib/gpc/units/turbo3.pas +lib/gpc/units/wincrt.pas +lib/gpc/units/windos.pas +libexec/gpc/collect2 +libexec/gpc/gpc1 +libexec/gpc/gpcpp +%%PORTDOCS%%@dirrm %%DOCSDIR%%/docdemos +%%PORTDOCS%%@dirrm %%DOCSDIR%%/demos +%%PORTDOCS%%@dirrm %%DOCSDIR%% +@dirrm libexec/gpc +@dirrm lib/gpc/units +@dirrm lib/gpc/include +@dirrm lib/gpc