naddy d159f8d1ad Make use of "find -exec {} +" (which is POSIX) and "find -delete"
(which is not) throughout the ports Makefiles.

* Replace find|xargs with find -exec {} +
* Replace -exec {} \; with -exec {} + if applicable.
* Use the -delete operator to remove files and empty directories.
* Combine and tweak some find(1) invocations while here.

ok kn@ rsadowski@ espie@
2020-03-20 16:44:21 +00:00

87 lines
2.3 KiB
Makefile

# $OpenBSD: Makefile,v 1.20 2020/03/20 16:44:24 naddy Exp $
BROKEN = syscalls from main program
ONLY_FOR_ARCHS = amd64 i386
COMMENT = open source compiler for Pascal/Object Pascal
V = 3.0.4
DISTNAME = fpcbuild-${V}
PKGNAME = fpc-${V}
REVISION = 0
BOOT_GEN = 1
CATEGORIES = lang
HOMEPAGE = http://www.freepascal.org/
MAINTAINER = Pascal Stumpf <pascal@stumpf.co>
# compiler: GPLv2+, packages/rtl: modified LGPLv2
PERMIT_PACKAGE = Yes
WANTLIB += c iconv pthread
LIB_DEPENDS = converters/libiconv
MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=freepascal/}
MASTER_SITES0 = https://distfiles.stumpf.co/
DIST_SUBDIR = fpc
BOOTSTRAP = fpcboot-openbsd-$V-${BOOT_GEN}${EXTRACT_SUFX}
DISTFILES = ${DISTNAME}${EXTRACT_SUFX} ${BOOTSTRAP}:0
.if ${MACHINE_ARCH} == "amd64"
COMPNAME = ppcx64
CONFIG = x86_64-openbsd
PKG_ARGS += -Damd64=1
PKG_ARGS += -Di386=0
.else
COMPNAME = ppc386
CONFIG = i386-openbsd
PKG_ARGS += -Di386=1
PKG_ARGS += -Damd64=0
.endif
SUBST_VARS += V CONFIG
TEST_DEPENDS = devel/nasm
MAKE_FLAGS = NOGDB=1
COMMON_ENV = MKDIRPROG=/bin/mkdir ECHO=/bin/echo \
GINSTALL=/usr/bin/install DATE=/bin/date \
TARPROG=/bin/tar
MAKE_ENV = ${COMMON_ENV} FPC="${WRKDIR}/bin/${COMPNAME}"
TEST_ENV = ${COMMON_ENV}
FAKE_FLAGS = INSTALLEXE="${INSTALL_PROGRAM}" \
MKDIR="${INSTALL_DATA_DIR}" \
INSTALL="${INSTALL_DATA}"
TEST_FLAGS = TEST_FPC="${WRKSRC}/fpcsrc/compiler/${COMPNAME}" \
FPC="${WRKSRC}/fpcsrc/compiler/${COMPNAME}" \
FPCOPT="-Fu${WRKSRC}/fpcsrc/rtl/units/${CONFIG}"
USE_GMAKE = Yes
post-patch:
${SUBST_CMD} ${WRKSRC}/fpcsrc/compiler/systems/t_bsd.pas
post-install:
cd ${PREFIX}/bin && ln -s ../lib/fpc/${V}/${COMPNAME} .
chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/lib/fpc/lexyacc
chmod ${DIRMODE} ${PREFIX}/lib/fpc/lexyacc/
chmod ${SHAREMODE} ${PREFIX}/lib/fpc/lexyacc/*
chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/doc/fpc-${V}/fpc
chmod ${DIRMODE} ${PREFIX}/share/doc/fpc-${V}/fpc/
chmod ${SHAREMODE} ${PREFIX}/share/doc/fpc-${V}/fpc/*
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/fpc-$V
# generate sample config file
${PREFIX}/bin/fpcmkcfg -d "basepath=${TRUEPREFIX}/lib/fpc/$V" \
-o ${PREFIX}/share/examples/fpc-$V/fpc.cfg.sample
do-test:
find ${WRKSRC} -name Package.fpc -delete
cd ${WRKSRC}/fpcsrc/tests && \
env -i ${ALL_TEST_ENV} ${MAKE_PROGRAM} ${ALL_TEST_FLAGS} full
.include <bsd.port.mk>