Changeset View
Changeset View
Standalone View
Standalone View
editors/lazarus/Makefile
# Created by: Shaun Amott <shaun@inerd.com> | # Created by: Shaun Amott <shaun@inerd.com> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= lazarus | PORTNAME= lazarus | ||||
PORTVERSION= 1.8.0 | PORTVERSION= 1.8.2 | ||||
PKGNAMESUFFIX?= -gtk2 | |||||
PORTREVISION?= 0 | PORTREVISION?= 0 | ||||
CATEGORIES= editors devel | CATEGORIES= editors devel | ||||
MASTER_SITES= SF/${PORTNAME}/Lazarus%20Zip%20_%20GZip/Lazarus%20${PORTVERSION} \ | MASTER_SITES= SF/${PORTNAME}/Lazarus%20Zip%20_%20GZip/Lazarus%20${PORTVERSION} \ | ||||
LOCAL/acm/freepascal | LOCAL/acm/freepascal | ||||
DIST_SUBDIR= freepascal | DIST_SUBDIR= freepascal | ||||
MAINTAINER?= acm@FreeBSD.org | MAINTAINER?= acm@FreeBSD.org | ||||
COMMENT?= Portable Delphi-like IDE for the FreePascal compiler | COMMENT?= Portable Delphi-like IDE for the FreePascal compiler (GTK2) | ||||
BUILD_DEPENDS?= # | CONFLICTS?= ${PORTNAME}-qt4-* ${PORTNAME}-qt5-* | ||||
RUN_DEPENDS?= # | |||||
BUILD_DEPENDS?= fpcres:lang/fpc-utils | |||||
RUN_DEPENDS?= fpcres:lang/fpc-utils | |||||
ONLY_FOR_ARCHS= i386 amd64 | ONLY_FOR_ARCHS= i386 amd64 | ||||
USES= gmake | USES= fpc gettext gmake iconv | ||||
USE_GNOME= # | USE_FPC?= chm cairo dblib fcl-base fcl-db fcl-fpcunit fcl-image fcl-json fcl-net \ | ||||
USE_FPC?= cairo dblib fcl-base fcl-db fcl-fpcunit fcl-image fcl-json fcl-net \ | |||||
fcl-registry fcl-res fcl-web fcl-xml gtk2 ibase iconvenc mysql \ | fcl-registry fcl-res fcl-web fcl-xml gtk2 ibase iconvenc mysql \ | ||||
numlib odbc openssl oracle pasjpeg postgres regexpr rtl-extra \ | numlib odbc openssl oracle pasjpeg postgres regexpr rtl-extra \ | ||||
sqlite x11 | sqlite x11 | ||||
USE_XORG= x11 | |||||
OPT?= "-Sgic " | OPT?= "-Sgic " | ||||
MAKE_ENV= OPT=${OPT} | MAKE_ENV= OPT=${OPT} | ||||
PLIST= ${WRKDIR}/pkg-plist | PLIST= ${WRKDIR}/pkg-plist | ||||
WRKSRC?= ${WRKDIR}/${PORTNAME} | WRKSRC?= ${WRKDIR}/${PORTNAME} | ||||
DATADIR?= ${PREFIX}/share/${PORTNAME}-${PORTVERSION} | DATADIR?= ${PREFIX}/share/${PORTNAME}-${PORTVERSION} | ||||
.if !defined(PKGNAMESUFFIX) | |||||
OPTIONS_DEFINE= GDB | OPTIONS_DEFINE= GDB | ||||
OPTIONS_SINGLE= LCL | |||||
OPTIONS_SINGLE_LCL= GTK2 QT4 QT5 | |||||
GDB_DESC= Install a newest version of gdb | GDB_DESC= Install a newest version of gdb | ||||
GTK2_DESC= Use gtk20 interface | |||||
QT4_DESC= Use qt4 interface | |||||
QT5_DESC= Use qt5 interface | |||||
OPTIONS_DEFAULT= GTK2 GDB | OPTIONS_DEFAULT= GTK2 GDB | ||||
.endif | |||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
LAZARUS_ARCH= ${ARCH:S,amd64,x86_64,} | LAZARUS_ARCH= ${ARCH:S,amd64,x86_64,} | ||||
BUILDNAME= ${LAZARUS_ARCH}-${OPSYS:tl} | BUILDNAME= ${LAZARUS_ARCH}-${OPSYS:tl} | ||||
LCL_UNITS_DIR= ${LOCALBASE}/share/${PORTNAME}-${PORTVERSION}/lcl/units/${BUILDNAME} | LCL_PLATFORM?= gtk2 | ||||
.if !defined(PKGNAMESUFFIX) | |||||
BUILD_DEPENDS+= fpcres:lang/fpc-utils \ | |||||
${LCL_UNITS_DIR}/alllclunits.ppu:editors/lazarus-lcl-units \ | |||||
${LCL_UNITS_DIR}/nogui/interfaces.ppu:editors/lazarus-lcl-nogui | |||||
RUN_DEPENDS+= fpcres:lang/fpc-utils \ | |||||
${LCL_UNITS_DIR}/alllclunits.ppu:editors/lazarus-lcl-units \ | |||||
${LCL_UNITS_DIR}/nogui/interfaces.ppu:editors/lazarus-lcl-nogui | |||||
USES+= gettext iconv | |||||
USE_FPC+= chm | |||||
MAN1S= lazarus-ide.1 lazbuild.1 startlazarus.1 | MAN1S= lazarus-ide.1 lazbuild.1 startlazarus.1 | ||||
SUB_FILES= pkg-message | SUB_FILES= pkg-message | ||||
SUB_LIST+= PORTSDIR="${PORTSDIR}" | SUB_LIST+= PORTSDIR="${PORTSDIR}" | ||||
.if ${PORT_OPTIONS:MGDB} | .if ${PORT_OPTIONS:MGDB} | ||||
RUN_DEPENDS+= ${LOCALBASE}/bin/gdb:devel/gdb | RUN_DEPENDS+= ${LOCALBASE}/bin/gdb:devel/gdb | ||||
.endif | .endif | ||||
.if ${PORT_OPTIONS:MGTK2} | .if ${PKGNAMESUFFIX} == "-gtk2" | ||||
USE_GNOME= gtk20 gdkpixbuf | USES+= gnome | ||||
LCL_PLATFORM= gtk2 | USE_GNOME= cairo gtk20 gdkpixbuf2 | ||||
BUILD_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-lcl-gtk2 | |||||
RUN_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-lcl-gtk2 | |||||
.endif | .endif | ||||
.if ${PORT_OPTIONS:MQT4} | |||||
LIB_DEPENDS+= libQt4Pas.so:x11-toolkits/qt4pas | |||||
LCL_PLATFORM= qt | |||||
BUILD_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-lcl-qt | |||||
RUN_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-lcl-qt | |||||
.endif | |||||
.if ${PORT_OPTIONS:MQT5} | |||||
LIB_DEPENDS+= libQt5Pas.so:x11-toolkits/qt5pas | |||||
LCL_PLATFORM= qt5 | |||||
BUILD_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-lcl-qt5 | |||||
RUN_DEPENDS+= ${LCL_UNITS_DIR}/${LCL_PLATFORM}/interfaces.ppu:editors/lazarus-lcl-qt5 | |||||
.endif | |||||
post-extract: | post-extract: | ||||
@${MKDIR} ${WRKDIR}/man1 | @${MKDIR} ${WRKDIR}/man1 | ||||
@${MV} ${WRKSRC}/install/man/man1/lazarus-ide.1 ${WRKDIR}/man1/ | @${MV} ${WRKSRC}/install/man/man1/lazarus-ide.1 ${WRKDIR}/man1/ | ||||
@${MV} ${WRKSRC}/install/man/man1/lazbuild.1 ${WRKDIR}/man1/ | @${MV} ${WRKSRC}/install/man/man1/lazbuild.1 ${WRKDIR}/man1/ | ||||
@${MV} ${WRKSRC}/install/man/man1/startlazarus.1 ${WRKDIR}/man1/ | @${MV} ${WRKSRC}/install/man/man1/startlazarus.1 ${WRKDIR}/man1/ | ||||
@${MV} ${WRKSRC}/examples ${WRKDIR}/examples | @${MV} ${WRKSRC}/examples ${WRKDIR}/examples | ||||
@${MV} ${WRKSRC}/docs ${WRKDIR}/docs | @${MV} ${WRKSRC}/docs ${WRKDIR}/docs | ||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' -e 's|%%DATADIR%%|${DATADIR}|g' \ | @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' -e 's|%%DATADIR%%|${DATADIR}|g' ${WRKSRC}/${MAKEFILE} | ||||
-e 's|tools: lcl|tools:|g' -e '3267d' -e '3269d' -e '3270d' -e '3271d' -e '3272d' -e '3273d' ${WRKSRC}/${MAKEFILE} | |||||
pre-build: | |||||
@${LN} -sf ${LOCALBASE}/share/${PORTNAME}-${PORTVERSION}/lcl/units ${WRKSRC}/lcl/units | |||||
@${LN} -sf ${LOCALBASE}/share/${PORTNAME}-${PORTVERSION}/components/debuggerintf/lib ${WRKSRC}/components/debuggerintf/lib | |||||
@${LN} -sf ${LOCALBASE}/share/${PORTNAME}-${PORTVERSION}/components/ideintf/units ${WRKSRC}/components/ideintf/units | |||||
@${LN} -sf ${LOCALBASE}/share/${PORTNAME}-${PORTVERSION}/components/synedit/units ${WRKSRC}/components/synedit/units | |||||
@${LN} -sf ${LOCALBASE}/share/${PORTNAME}-${PORTVERSION}/components/lazcontrols/lib ${WRKSRC}/components/lazcontrols/lib | |||||
@${LN} -sf ${LOCALBASE}/share/${PORTNAME}-${PORTVERSION}/components/lazdebuggergdbmi/lib ${WRKSRC}/components/lazdebuggergdbmi/lib | |||||
do-build: | do-build: | ||||
@cd ${WRKSRC} && \ | @cd ${WRKSRC} && \ | ||||
${SETENV} ${MAKE_ENV} ${MAKE_CMD} registration lazutils codetools bigide starter lazbuild LCL_PLATFORM=${LCL_PLATFORM} | ${SETENV} ${MAKE_ENV} ${MAKE_CMD} bigide LCL_PLATFORM=${LCL_PLATFORM} | ||||
@cd ${WRKSRC} && \ | @cd ${WRKSRC} && \ | ||||
${SETENV} ${MAKE_ENV} ${MAKE_CMD} tools LCL_PLATFORM=${LCL_PLATFORM} | ${SETENV} ${MAKE_ENV} ${MAKE_CMD} tools LCL_PLATFORM=${LCL_PLATFORM} | ||||
post-build: | post-build: | ||||
@cd ${WRKSRC} && \ | @cd ${WRKSRC} && \ | ||||
${RM} -R COPYING* README* debian localize.bat test *.orig *.bak startlazarus.app \ | ${RM} -R COPYING* README* debian localize.bat test *.orig *.bak startlazarus.app \ | ||||
ide/Makefile*.orig ide/Makefile*.bak lcl/units components/ideintf/units \ | ide/Makefile*.orig ide/Makefile*.bak | ||||
components/synedit/units components/lazcontrols/lib | |||||
pre-install: | pre-install: | ||||
@${ECHO} "#!/bin/sh" > ${WRKDIR}/lazarus-wrapper | @${ECHO} "#!/bin/sh" > ${WRKDIR}/lazarus-wrapper | ||||
@${ECHO} "cd ${DATADIR} || exit 1 " >> ${WRKDIR}/lazarus-wrapper | @${ECHO} "cd ${DATADIR} || exit 1 " >> ${WRKDIR}/lazarus-wrapper | ||||
@${ECHO} "exec ./startlazarus" >> ${WRKDIR}/lazarus-wrapper | @${ECHO} "exec ./startlazarus" >> ${WRKDIR}/lazarus-wrapper | ||||
@${RM} ${PLIST} | @${RM} ${PLIST} | ||||
@${RM} ${WRKSRC}/lcl/units | |||||
@${RM} -r ${WRKSRC}/components/chmhelp/lhelp/lhelp.app/Contents/MacOS \ | @${RM} -r ${WRKSRC}/components/chmhelp/lhelp/lhelp.app/Contents/MacOS \ | ||||
${WRKSRC}/lazarus.app/Contents/MacOS \ | ${WRKSRC}/lazarus.app/Contents/MacOS \ | ||||
${WRKSRC}/lazarus.app/Contents/Resources/startlazarus.app/Contents/MacOS | ${WRKSRC}/lazarus.app/Contents/Resources/startlazarus.app/Contents/MacOS | ||||
. for FILE in bin/lazarus bin/lazbuild | . for FILE in bin/lazarus bin/lazbuild | ||||
@${ECHO_CMD} ${FILE} >> ${PLIST} | @${ECHO_CMD} ${FILE} >> ${PLIST} | ||||
. endfor | . endfor | ||||
. for m in ${MAN1S} | . for m in ${MAN1S} | ||||
Show All 40 Lines | .endfor | ||||
${INSTALL_SCRIPT} ${WRKSRC}/localize.sh ${STAGEDIR}${DATADIR} | ${INSTALL_SCRIPT} ${WRKSRC}/localize.sh ${STAGEDIR}${DATADIR} | ||||
${INSTALL_SCRIPT} ${WRKDIR}/lazarus-wrapper ${STAGEDIR}${PREFIX}/bin/${PORTNAME} | ${INSTALL_SCRIPT} ${WRKDIR}/lazarus-wrapper ${STAGEDIR}${PREFIX}/bin/${PORTNAME} | ||||
${INSTALL_DATA} ${WRKSRC}/Makefile* ${WRKSRC}/fpmake* ${STAGEDIR}${DATADIR} | ${INSTALL_DATA} ${WRKSRC}/Makefile* ${WRKSRC}/fpmake* ${STAGEDIR}${DATADIR} | ||||
.for FILE in ${MAN1S} | .for FILE in ${MAN1S} | ||||
${INSTALL_MAN} ${WRKDIR}/man1/${FILE} ${STAGEDIR}${MAN1PREFIX}/man/man1 | ${INSTALL_MAN} ${WRKDIR}/man1/${FILE} ${STAGEDIR}${MAN1PREFIX}/man/man1 | ||||
.endfor | .endfor | ||||
${LN} -s ${DATADIR}/lazbuild ${STAGEDIR}${PREFIX}/bin/lazbuild | ${LN} -s ${DATADIR}/lazbuild ${STAGEDIR}${PREFIX}/bin/lazbuild | ||||
.else | |||||
.include "${MASTERDIR}/Makefile.common" | |||||
.endif | |||||
.include <bsd.port.mk> | .include <bsd.port.mk> |