aboutsummaryrefslogtreecommitdiff
path: root/lang/fpc
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2010-08-16 17:45:15 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2010-08-16 17:45:15 +0000
commit7bcde27b942b55999699e240530dc4119a428ba7 (patch)
treeaad0955b37f25d43394f2ef55d52f673969e82a8 /lang/fpc
parent67570e2a09da5af20a828865e5dc4709dc16e05d (diff)
downloadports-7bcde27b942b55999699e240530dc4119a428ba7.tar.gz
ports-7bcde27b942b55999699e240530dc4119a428ba7.zip
- Update to 2.4.0
- Add support for amd64 [1] - Add 23 new ports to to bsd.fpc.mk - Remove obsolete patch file patch-packages-fcl-db_Makefile - Turn off some optional dependencies like databases/unixODBC, graphics/svgalib, databases/oracle8-client for avoid break amd64 support - Clean up PR: ports/146001 Submmitted by: Christopher Key <cjk32__ at _cam.ac.uk> Patch reviewed by: marcov_ at _pascalprogramming.com (fpc developer)[1]
Notes
Notes: svn path=/head/; revision=259359
Diffstat (limited to 'lang/fpc')
-rw-r--r--lang/fpc/Makefile56
-rw-r--r--lang/fpc/Makefile.units124
-rw-r--r--lang/fpc/distinfo18
-rw-r--r--lang/fpc/files/patch-rtl-bsd-x86_64_syscall.inc89
-rw-r--r--lang/fpc/files/patch-rtl-bsd-x86_64_syscallh.inc10
-rw-r--r--lang/fpc/files/patch-rtl-bsd_ossysc.inc17
-rw-r--r--lang/fpc/pkg-plist25
7 files changed, 303 insertions, 36 deletions
diff --git a/lang/fpc/Makefile b/lang/fpc/Makefile
index 5b83da1555e7..242788740367 100644
--- a/lang/fpc/Makefile
+++ b/lang/fpc/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= fpc
-PORTVERSION= 2.2.4
+PORTVERSION= 2.4.0
PORTREVISION?= 0
CATEGORIES?= lang
MASTER_SITES= ftp://ftp.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:source \
@@ -16,8 +16,10 @@ MASTER_SITES= ftp://ftp.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:sourc
ftp://ftp.no.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:source \
ftp://ftp.us.freepascal.org/pub/fpc/dist/${PORTVERSION}/source/:source \
SF/freepascal/Source/${PORTVERSION}:source \
- ${MASTER_SITE_GOOGLE_CODE}:bin \
- ${MASTER_SITE_LOCAL:S|$|acm/freepascal/:bin|}
+ ${MASTER_SITE_GOOGLE_CODE}:bootstrap \
+ ${MASTER_SITE_LOCAL:S|$|acm/freepascal/:bootstrap|} \
+ ${MASTER_SITE_GOOGLE_CODE}:man \
+ ${MASTER_SITE_LOCAL:S|$|acm/freepascal/:man|}
DISTNAME= ${PORTNAME}-${PORTVERSION}
DISTFILES= ${DISTNAME:S/$/.source/}${EXTRACT_SUFX}:source
DIST_SUBDIR= freepascal
@@ -27,7 +29,7 @@ COMMENT?= Free Pascal compiler with Turbo and Delphi
PROJECTHOST= bsdistfiles
USE_GMAKE= yes
-ONLY_FOR_ARCHS= i386
+ONLY_FOR_ARCHS= i386 amd64
OPTIONSFILE= ${PORT_DBDIR}/${PORTNAME}${PKGNAMESUFFIX}/options
SUB_FILES= pkg-message
@@ -37,14 +39,28 @@ FPCSRCDIR= ${PORTNAME}-${PORTVERSION}
.include <bsd.port.pre.mk>
+.if ${ARCH} == "i386"
+PPNAME= ppc386
+FPC_ARCH= i386
+PLIST_SUB= FPC_I386="" \
+ FPC_AMD64="@comment "
+.elif ${ARCH} == "amd64"
+PPNAME= ppcx64
+FPC_ARCH= x86_64
+PLIST_SUB= FPC_I386="@comment " \
+ FPC_AMD64=""
+.endif
+
.if !defined(PKGNAMESUFFIX)
-BUILDNAME= ${ARCH}-freebsd
-PLIST_SUB= PORTVERSION=${PORTVERSION} \
+BUILDNAME= ${FPC_ARCH}-freebsd
+PLIST_SUB+= PORTVERSION=${PORTVERSION} \
BUILDNAME=${BUILDNAME}
-DISTFILES+= ${DISTNAME:S/$/.bin/}${EXTRACT_SUFX}:bin
-MAKE_ENV+= PP=${WRKDIR}/${PORTNAME}-${PORTVERSION:S/$/.bin/}/lib/${PORTNAME}/${PORTVERSION}/ppc386 \
- FPCMAKE=${WRKDIR}/${PORTNAME}-${PORTVERSION:S/$/.bin/}/bin/fpcmake \
+DISTFILES+= ${PPNAME}-${PORTVERSION}-${OPSYS:L}${EXTRACT_SUFX}:bootstrap \
+ ${DISTNAME:S/$/.man/}${EXTRACT_SUFX}:man
+MAKE_ENV+= PP=${WRKDIR}/${PPNAME}-${PORTVERSION}-${OPSYS:L} \
+ FPCMAKE=${WRKDIR}/${FPCSRCDIR}/utils/fpcm/fpcmake \
FPCTARGET=${BUILDNAME} \
+ ARCH=${FPC_ARCH} \
OPT="${OPT}" \
BSDHIER=1
@@ -89,7 +105,10 @@ MAN5= fpc.cfg.5 fpcmake.5 ptop.cfg.5
do-extract:
# unpack binary distribution
@${MKDIR} ${WRKDIR}
- @${TAR} xfz ${_DISTDIR}/${DISTNAME:S/$/.bin/}${EXTRACT_SUFX} --directory \
+ @${TAR} xfz ${_DISTDIR}/${PPNAME}-${PORTVERSION}-${OPSYS:L}${EXTRACT_SUFX} --directory \
+ ${WRKDIR} && ${CHMOD} +x ${WRKDIR}/${PPNAME}-${PORTVERSION}-${OPSYS:L}
+# unpack man files
+ @${TAR} xfz ${_DISTDIR}/${DISTNAME:S/$/.man/}${EXTRACT_SUFX} --directory \
${WRKDIR}
# unpack source distribution
@cd ${WRKDIR} && \
@@ -97,8 +116,13 @@ do-extract:
| ${TAR} xf - ${FPCSRCDIR}/compiler ${FPCSRCDIR}/rtl ${FPCSRCDIR}/utils/fpcm
post-patch:
-# patch fpc rtl
- @${REINPLACE_CMD} -i "" -e 's|504000|${OSVERSION}|g' ${WRKDIR}/${FPCSRCDIR}/rtl/freebsd/${ARCH}/cprt0.as
+.if ${ARCH} == "i386"
+ @${REINPLACE_CMD} -i "" -e 's|504000|${OSVERSION}|g' ${WRKDIR}/${FPCSRCDIR}/rtl/freebsd/${FPC_ARCH}/cprt0.as
+.elif ${ARCH} == "amd64"
+ @${REINPLACE_CMD} -i "" -e 's|700055|${OSVERSION}|g' ${WRKDIR}/${FPCSRCDIR}/rtl/freebsd/${FPC_ARCH}/cprt0.as
+ @${REINPLACE_CMD} -i "" -e 's|502110|${OSVERSION}|g' ${WRKDIR}/${FPCSRCDIR}/rtl/freebsd/${FPC_ARCH}/gprt0.as
+ @${REINPLACE_CMD} -i "" -e 's|700055|${OSVERSION}|g' ${WRKDIR}/${FPCSRCDIR}/rtl/freebsd/${FPC_ARCH}/prt0.as
+.endif
do-build:
# build fpc compiler
@@ -114,12 +138,12 @@ do-install:
# Installng fpcmake
@@cd ${WRKDIR}/${FPCSRCDIR}/utils/fpcm && ${GMAKE} install ${MAKE_ENV}
# Installing manpages
- ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/$/.bin/}/man/man1/* ${MAN1PREFIX}/man/man1
- ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/$/.bin/}/man/man5/* ${MAN1PREFIX}/man/man5
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/$/.man/}/man/man1/* ${MAN1PREFIX}/man/man1
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-${PORTVERSION:S/$/.man/}/man/man5/* ${MAN1PREFIX}/man/man5
post-install:
- if [ -e "${PREFIX}/bin/ppc386" ]; then ${RM} -f "${PREFIX}/bin/ppc386"; fi
- ${LN} -s "${PREFIX}/lib/fpc/${PORTVERSION}/ppc386" "${PREFIX}/bin"
+ if [ -e "${PREFIX}/bin/${PPNAME}" ]; then ${RM} -f "${PREFIX}/bin/${PPNAME}"; fi
+ ${LN} -s "${PREFIX}/lib/fpc/${PORTVERSION}/${PPNAME}" "${PREFIX}/bin"
${SH} "${PREFIX}/lib/fpc/${PORTVERSION}/samplecfg" "${PREFIX}/lib/fpc/${PORTVERSION}" "${PREFIX}/etc"
@if [ ! -f ${PREFIX}/etc/fpc.cfg ]; then \
${CP} ${PREFIX}/etc/fpc.cfg.sample ${PREFIX}/etc/fpc.cfg; \
diff --git a/lang/fpc/Makefile.units b/lang/fpc/Makefile.units
index 49b945c23ddb..e1aa56fef17b 100644
--- a/lang/fpc/Makefile.units
+++ b/lang/fpc/Makefile.units
@@ -1,4 +1,6 @@
-PLIST_SUB= PORTVERSION=${PORTVERSION} \
+BUILDNAME= ${FPC_ARCH}-freebsd
+
+PLIST_SUB+= PORTVERSION=${PORTVERSION} \
BUILDNAME=${BUILDNAME}
PLIST= ${.CURDIR}/pkg-plist
@@ -13,9 +15,10 @@ UNITDIR= lib/fpc/${PORTVERSION}/units/${BUILDNAME}
EXTRACT_AFTER_ARGS= | ${TAR} -xf - ${EXTRACTUNITDIR}
OPT=-CX
-MAKE_ENV+= PP=${LOCALBASE}/bin/ppc386 \
+MAKE_ENV+= PP=${LOCALBASE}/bin/${PPNAME} \
FPCMAKE=${LOCALBASE}/bin/fpcmake \
FPCTARGET=${BUILDNAME} \
+ ARCH=${FPC_ARCH} \
OPT="${OPT}" \
BSDHIER=1
@@ -82,8 +85,8 @@ HAVE_EXAMPLES= true
.endif
.if ${PKGNAMESUFFIX} == "-fcl-db"
-OPT+= -Fuunits/${ARCH}-freebsd -Fu../units/${ARCH}-freebsd -Fu../* \
- -Fu../../units/${ARCH}-freebsd -Fu../../../units/${ARCH}-freebsd \
+OPT+= -Fuunits/${BUILDNAME} -Fu../units/${BUILDNAME} -Fu../* \
+ -Fu../../units/${BUILDNAME} -Fu../../../units/${BUILDNAME} \
-Fu../sqldb/*
.endif
@@ -235,6 +238,117 @@ USE_XLIB= yes
USE_ICONV= yes
.endif
+.if ${PKGNAMESUFFIX} == "-a52"
+. if defined(WITH_LIBA52)
+LIB_DEPENDS= a52:${PORTSDIR}/audio/liba52
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-dbus"
+. if defined(WITH_DBUS)
+LIB_DEPENDS= dbus-1:${PORTSDIR}/devel/dbus
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-dts"
+. if defined(WITH_LIBDCA)
+LIB_DEPENDS= dca:${PORTSDIR}/multimedia/libdca
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-gmp"
+. if defined(WITH_GMP)
+LIB_DEPENDS= gmp:${PORTSDIR}/math/gmp
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-ldap"
+. if defined(WITH_OPENLDAP)
+USE_OPENLDAP= yes
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-libxml2"
+. if defined(WITH_LIBXML2)
+LIB_DEPENDS= xml2:${PORTSDIR}/textproc/libxml2
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-lua"
+. if defined(WITH_LUA)
+LIB_DEPENDS= lua-5.1:${PORTSDIR}/lang/lua
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-mad"
+. if defined(WITH_LIBMAD)
+LIB_DEPENDS= mad:${PORTSDIR}/audio/libmad
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-matroska"
+. if defined(WITH_LIBMATROSKA)
+LIB_DEPENDS= matroska:${PORTSDIR}/multimedia/libmatroska
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-modplug"
+. if defined(WITH_LIBMODPLUG)
+LIB_DEPENDS= modplug:${PORTSDIR}/audio/libmodplug
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-newt"
+. if defined(WITH_NEWT)
+LIB_DEPENDS= newt:${PORTSDIR}/devel/newt
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-oggvorbis"
+. if defined(WITH_LIBOGG)
+LIB_DEPENDS+= ogg:${PORTSDIR}/audio/libogg
+. endif
+. if defined(WITH_LIBVORBIS)
+LIB_DEPENDS+= vorbis:${PORTSDIR}/audio/libvorbis
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-openal"
+. if defined(WITH_OPENAL)
+LIB_DEPENDS= openal:${PORTSDIR}/audio/openal
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-proj4"
+. if defined(WITH_PROJ)
+LIB_DEPENDS= proj:${PORTSDIR}/graphics/proj
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-rexx"
+. if defined(WITH_REXX_REGINA)
+LIB_DEPENDS= regina:${PORTSDIR}/lang/rexx-regina
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-rsvg"
+. if defined(WITH_LIBRSVG2)
+LIB_DEPENDS= rsvg-2:${PORTSDIR}/graphics/librsvg2
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-sndfile"
+. if defined(WITH_LIBSNDFILE)
+LIB_DEPENDS= sndfile:${PORTSDIR}/audio/libsndfile
+. endif
+.endif
+
+.if ${PKGNAMESUFFIX} == "-hermes"
+. if defined(WITH_HERMES)
+LIB_DEPENDS= Hermes:${PORTSDIR}/graphics/Hermes
+. endif
+.endif
+
post-extract:
@cd ${WRKDIR}/${WRKUNITDIR} && \
${FIND} ${WRKSRC} -type d -name .svn | ${XARGS} ${RM} -rf
@@ -251,7 +365,7 @@ do-build:
@cd ${WRKDIR}/${WRKUNITDIR} && ${GMAKE} all ${MAKE_ENV}
do-install:
- @cd ${WRKDIR}/${WRKUNITDIR} && ${GMAKE} install ${MAKE_ENV}
+ @cd ${WRKDIR}/${WRKUNITDIR} && FPCDIR=${UNITDIR} ${GMAKE} install ${MAKE_ENV}
. if !defined(NOPORTSDOCS)
. if defined(HAVE_EXAMPLES)
@cd ${WRKDIR}/${WRKUNITDIR} && ${GMAKE} fpc_exampleinstall
diff --git a/lang/fpc/distinfo b/lang/fpc/distinfo
index 6aae983bda49..e12e08f8e140 100644
--- a/lang/fpc/distinfo
+++ b/lang/fpc/distinfo
@@ -1,6 +1,12 @@
-MD5 (freepascal/fpc-2.2.4.source.tar.gz) = ba75e0942f6ff6acc94f66ef2cc0a54e
-SHA256 (freepascal/fpc-2.2.4.source.tar.gz) = 40756e9eef16b68a4628dd2225e8eacee9a2e4c2015e4db59d2ef9319a0067c8
-SIZE (freepascal/fpc-2.2.4.source.tar.gz) = 22851265
-MD5 (freepascal/fpc-2.2.4.bin.tar.gz) = 249fb81a82585114c4213db45113af5d
-SHA256 (freepascal/fpc-2.2.4.bin.tar.gz) = c0f7c4dcedd95d172f6d24c4f1e3e66c460c0b32c655b8b46e2a30a350099cf5
-SIZE (freepascal/fpc-2.2.4.bin.tar.gz) = 8773896
+MD5 (freepascal/fpc-2.4.0.source.tar.gz) = d1c14576efc007efe876b95b3427df01
+SHA256 (freepascal/fpc-2.4.0.source.tar.gz) = 11bc81df2102325645955613737f2027a8acb0f2c9e8d564ad7318ca425e4f69
+SIZE (freepascal/fpc-2.4.0.source.tar.gz) = 25981207
+MD5 (freepascal/ppc386-2.4.0-freebsd.tar.gz) = 1fd7df3740d1758d2c58c1e276073904
+SHA256 (freepascal/ppc386-2.4.0-freebsd.tar.gz) = 870290e502c342d8eb56383bf717854cae38c84e66a4445d81efd7ea1a1166cd
+SIZE (freepascal/ppc386-2.4.0-freebsd.tar.gz) = 809641
+MD5 (freepascal/ppcx64-2.4.0-freebsd.tar.gz) = 513be074ddb5db8b82442aae5143caa6
+SHA256 (freepascal/ppcx64-2.4.0-freebsd.tar.gz) = 9ce78fda4560c541a9fe9e0230e6fad1833940115ca9771443f07292ccbdad7d
+SIZE (freepascal/ppcx64-2.4.0-freebsd.tar.gz) = 812761
+MD5 (freepascal/fpc-2.4.0.man.tar.gz) = 46d17eb2cfc63901ac44eedf0ee20aee
+SHA256 (freepascal/fpc-2.4.0.man.tar.gz) = ee5dee733c4dc5bedd8117a019f19217425629ca6cc6e5d8917d61d9639f6368
+SIZE (freepascal/fpc-2.4.0.man.tar.gz) = 30300
diff --git a/lang/fpc/files/patch-rtl-bsd-x86_64_syscall.inc b/lang/fpc/files/patch-rtl-bsd-x86_64_syscall.inc
new file mode 100644
index 000000000000..e024f7e44594
--- /dev/null
+++ b/lang/fpc/files/patch-rtl-bsd-x86_64_syscall.inc
@@ -0,0 +1,89 @@
+--- rtl/bsd/x86_64/syscall.inc 2008-09-13 19:17:13.000000000 +0100
++++ rtl/bsd/x86_64/syscall.inc 2010-08-12 11:35:15.000000000 +0100
+@@ -219,7 +219,6 @@
+ .LSyscOK:
+ end;
+
+-
+ function fpsysCall(sysnr,param1,param2,param3,param4,param5,param6 : TSysParam):TSysResult; assembler;[public,alias:'FPC_DOSYS6'];
+
+ asm
+@@ -232,7 +231,6 @@
+ movq param6,%r9
+ syscall { Do the system call. }
+ jnb .LSyscOK { branch to exit if ok, errorhandler otherwise}
+-
+ movq %rax,%rdx
+ {$ifdef FPC_PIC}
+ movq fpc_threadvar_relocate_proc@GOTPCREL(%rip),%rax
+@@ -257,50 +255,11 @@
+ .LSyscOK:
+
+ end;
+-// edi esi edx ecx r8 r9 stack
+-function fp_sysCall(sysnr,param1,param2,param3,param4,param5,param6 : TSysParam):TSysResult; assembler;[public,alias:'FPC__DOSYS'];
+
+-asm
+- movq sysnr,%rax { Syscall number -> rax. }
+- movq param1,%rdi { shift arg1 - arg6. }
+- movq param2,%rsi
+- movq param3,%rdx
+- movq param4,%r10
+- movq param5,%r8
+- movq param6,%r9
+- syscall { Do the system call. }
+- jnb .LSyscOK { branch to exit if ok, errorhandler otherwise}
+- movq %rax,%rdx
+-{$ifdef FPC_PIC}
+- movq fpc_threadvar_relocate_proc@GOTPCREL(%rip),%rax
+- movq (%rax),%rax
+- movq Errno@GOTPCREL(%rip),%r11
+-{$else FPC_PIC}
+- movq fpc_threadvar_relocate_proc,%rax
+- leaq Errno,%r11
+-{$endif FPC_PIC}
+- testq %rax,%rax
+- jne .LThread
+- movl %edx,8(%r11)
+- jmp .LNoThread
+-.LThread:
+- pushq %rdx
+- movq (%r11),%rdi
+- call *%rax
+- popq %rdx
+- movl %edx,(%rax)
+-.LNoThread:
+- movq $-1,%rax
+-.LSyscOK:
+- add $0x18,%rsp
+-end;
+-
+-
+-// edi esi edx ecx r8 r9 stack stack
+-function fp_sysCall(sysnr,param1,param2,param3,param4,param5,param6,param7 : TSysParam):TSysResult; assembler;[public,alias:'FPC__DOSYS7'];
++function fp_sysCall(sysnr,param1,param2,param3,param4,param5,param6,param7 : TSysParam):TSysResult; assembler;[public,alias:'FPC_DOSYS7'];
+
+ asm
+- sub $0x10,%rsp
++ subq $0x10,%rsp
+ movq sysnr,%rax { Syscall number -> rax. }
+ movq param1,%rdi { shift arg1 - arg6. }
+ movq param2,%rsi
+@@ -309,7 +268,7 @@
+ movq param5,%r8
+ movq param6,%r9
+ movq param7,%r11
+- movq %r11,(%rsp)
++ movq %r11,8(%rsp)
+ syscall { Do the system call. }
+ jnb .LSyscOK { branch to exit if ok, errorhandler otherwise}
+ movq %rax,%rdx
+@@ -334,6 +293,6 @@
+ .LNoThread:
+ movq $-1,%rax
+ .LSyscOK:
+- add $0x10,%rsp
++ addq $0x10,%rsp
+ end;
+
+
diff --git a/lang/fpc/files/patch-rtl-bsd-x86_64_syscallh.inc b/lang/fpc/files/patch-rtl-bsd-x86_64_syscallh.inc
new file mode 100644
index 000000000000..89f0fe567c90
--- /dev/null
+++ b/lang/fpc/files/patch-rtl-bsd-x86_64_syscallh.inc
@@ -0,0 +1,10 @@
+--- rtl/bsd/x86_64/syscallh.inc 2008-10-31 18:19:44.000000000 +0000
++++ rtl/bsd/x86_64/syscallh.inc 2010-08-12 11:35:15.000000000 +0100
+@@ -41,7 +41,5 @@
+ function do_sysCall(sysnr,param1,param2,param3,param4,param5,param6:TSysParam):int64; external name 'FPC_DOSYS6';
+ function do_sysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:TSysParam):int64; external name 'FPC_DOSYS7';
+
+-// special
+-function do__sysCall(sysnr,param1,param2,param3,param4,param5,param6,param7,Param8:TSysParam):TSysResult; external name 'FPC__DOSYS';
+ {$endif}
+
diff --git a/lang/fpc/files/patch-rtl-bsd_ossysc.inc b/lang/fpc/files/patch-rtl-bsd_ossysc.inc
new file mode 100644
index 000000000000..8dabd322eb68
--- /dev/null
+++ b/lang/fpc/files/patch-rtl-bsd_ossysc.inc
@@ -0,0 +1,17 @@
+--- rtl/bsd/ossysc.inc 2009-05-02 10:40:44.000000000 +0100
++++ rtl/bsd/ossysc.inc 2010-08-12 11:36:07.000000000 +0100
+@@ -94,11 +94,11 @@
+
+ begin
+ {$ifdef CPU64}
+- Fpmmap:=pointer(ptruint(do__syscall(TSysParam(syscall_nr_mmap),TSysParam(Start),TSysParam(Len),TSysParam(Prot),TSysParam(Flags),TSysParam(fd),TSysParam(offst),0,0)));
++ Fpmmap:=pointer(ptruint(do_syscall(TSysParam(syscall_nr_mmap),TSysParam(Start),TSysParam(Len),TSysParam(Prot),TSysParam(Flags),TSysParam(fd),0,TSysParam(offst))));
+ {$else}
+- Fpmmap:=pointer(ptruint(do_syscall(syscall_nr_mmap,TSysParam(Start),Len,Prot,Flags,fd,
++ Fpmmap:=pointer(ptruint(do_syscall(syscall_nr_mmap,TSysParam(Start),Len,Prot,Flags,fd,0,
+ {$ifdef FPC_BIG_ENDIAN} hi(offst),lo(offst){$endif}
+- {$ifdef FPC_LITTLE_ENDIAN} lo(offst),hi(offst){$endif},0
++ {$ifdef FPC_LITTLE_ENDIAN} lo(offst),hi(offst){$endif}
+ )));
+ {$endif}
+ end;
diff --git a/lang/fpc/pkg-plist b/lang/fpc/pkg-plist
index 291cf9b91bb8..bdb49eb2999e 100644
--- a/lang/fpc/pkg-plist
+++ b/lang/fpc/pkg-plist
@@ -1,4 +1,4 @@
-@comment $FreeBSD: /tmp/pcvs/ports/lang/fpc/pkg-plist,v 1.11 2009-01-14 06:12:03 acm Exp $
+@comment $FreeBSD: /tmp/pcvs/ports/lang/fpc/pkg-plist,v 1.12 2010-08-16 17:45:10 acm Exp $
@unexec if cmp -s %D/etc/fpc.cfg.sample %D/etc/fpc.cfg; then rm -f %D/etc/fpc.cfg; fi
etc/fpc.cfg.sample
@@ -7,10 +7,13 @@ bin/fpc
bin/fpcmake
bin/fpcmkcfg
bin/fpcsubst
+bin/mkarmins
+bin/mkx86ins
bin/ppudump
bin/ppufiles
bin/ppumove
-bin/ppc386
+%%FPC_I386%%bin/ppc386
+%%FPC_AMD64%%bin/ppcx64
lib/fpc/%%PORTVERSION%%/msg/errorct.msg
lib/fpc/%%PORTVERSION%%/msg/errord.msg
lib/fpc/%%PORTVERSION%%/msg/errorda.msg
@@ -30,7 +33,8 @@ lib/fpc/%%PORTVERSION%%/msg/errorptw.msg
lib/fpc/%%PORTVERSION%%/msg/errorues.msg
lib/fpc/%%PORTVERSION%%/msg/errorr.msg
lib/fpc/%%PORTVERSION%%/msg/errorrw.msg
-lib/fpc/%%PORTVERSION%%/ppc386
+%%FPC_I386%%lib/fpc/%%PORTVERSION%%/ppc386
+%%FPC_AMD64%%lib/fpc/%%PORTVERSION%%/ppcx64
lib/fpc/%%PORTVERSION%%/samplecfg
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/Package.fpc
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/baseunix.o
@@ -48,8 +52,8 @@ lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/console.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/convutils.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/convutils.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/cprt0.o
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/cpu.o
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/cpu.ppu
+%%FPC_I386%%lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/cpu.o
+%%FPC_I386%%lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/cpu.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/crt.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/crt.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/cthreads.o
@@ -76,6 +80,9 @@ lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/fgl.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/fgl.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/fmtbcd.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/fmtbcd.ppu
+lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/fpintres.o
+lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/fpintres.ppu
+lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpfpintres.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/freebsd.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/freebsd.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/getopts.o
@@ -96,7 +103,7 @@ lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpclocale.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpcmem.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpconsole.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpconvutils.a
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpcpu.a
+%%FPC_I386%%lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpcpu.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpcrt.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpcthreads.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpctypes.a
@@ -121,7 +128,7 @@ lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libplnfodwrf.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpmacpas.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpmath.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpmatrix.a
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpmmx.a
+%%FPC_I386%%lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpmmx.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpmouse.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpobjects.a
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/libpobjpas.a
@@ -160,8 +167,8 @@ lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/math.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/math.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/matrix.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/matrix.ppu
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/mmx.o
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/mmx.ppu
+%%FPC_I386%%lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/mmx.o
+%%FPC_I386%%lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/mmx.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/mouse.o
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/mouse.ppu
lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/rtl/objects.o