Skip to content

Commit

Permalink
editors/lazarus-*: Update to 3.0.0 and 3.1.0
Browse files Browse the repository at this point in the history
- Add editors/lazarus-qt6
- Add new CONFLICTS
- Change default lazarus and lazarus-devel to 3.0.0 and 3.1.0
- Change lazarus.mk file. Now stable and devel version support qt6 interface
  • Loading branch information
alonsobsd committed Dec 23, 2023
1 parent 97616b0 commit 4a05009
Show file tree
Hide file tree
Showing 14 changed files with 85 additions and 54 deletions.
10 changes: 1 addition & 9 deletions Mk/Uses/lazarus.mk
Expand Up @@ -48,10 +48,6 @@ _INCLUDE_USES_LAZARUS_MK= yes
WARNING+= "DEFAULT_LAZARUS_VER is defined, consider using DEFAULT_VERSIONS=lazarus=${DEFAULT_LAZARUS_VER} instead"
. endif

. if ${lazarus_ARGS:Mqt6} && !defined(WANT_LAZARUS_DEVEL)
IGNORE= "DEFAULT_LAZARUS_VER not support qt6 flavor, consider using: gtk2 or qt5 instead"
. endif

. if ${lazarus_ARGS:Ngtk2:Nqt5:Nqt6:Nflavors}
IGNORE= Unknown argument for USES=lazarus: ${lazarus_ARGS:Ngtk2:Nqt5:Nqt6:Nflavors}
. endif
Expand Down Expand Up @@ -88,11 +84,7 @@ MKINSTDIR= ${LOCALBASE}/lib/fpc/${FPC_VER}/fpmkinst/${BUILDNAME}
BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils \
${MKINSTDIR}/utils-lexyacc.fpm:lang/fpc${FPC_DEVELSUFFIX}

LAZARUS_FLAVORS= gtk2 qt5

. if defined(WANT_LAZARUS_DEVEL)
LAZARUS_FLAVORS+= qt6
. endif
LAZARUS_FLAVORS= gtk2 qt5 qt6

. if ${lazarus_ARGS:Mflavors}
. if defined(LAZARUS_NO_FLAVORS)
Expand Down
6 changes: 3 additions & 3 deletions Mk/bsd.default-versions.mk
Expand Up @@ -79,11 +79,11 @@ GUILE_DEFAULT?= 2.2
IMAGEMAGICK_DEFAULT?= 7
# Possible values: 8, 11, 17, 18, 19, 20, 21
JAVA_DEFAULT?= 8
# Possible values: 2.2.6, 3.0.0
# Possible values: 3.0.0, 3.1.0
. if !defined(WANT_LAZARUS_DEVEL)
LAZARUS_DEFAULT?= 2.2.6
. else
LAZARUS_DEFAULT?= 3.0.0
. else
LAZARUS_DEFAULT?= 3.1.0
. endif
# Possible values: rust, legacy
. if empty(ARCH:Naarch64:Namd64:Narmv7:Ni386:Npowerpc64:Npowerpc64le:Npowerpc:Nriscv64)
Expand Down
1 change: 1 addition & 0 deletions editors/Makefile
Expand Up @@ -87,6 +87,7 @@
SUBDIR += lazarus-devel
SUBDIR += lazarus-qt5
SUBDIR += lazarus-qt5-devel
SUBDIR += lazarus-qt6
SUBDIR += lazarus-qt6-devel
SUBDIR += le
SUBDIR += leafpad
Expand Down
9 changes: 5 additions & 4 deletions editors/lazarus-devel/Makefile
@@ -1,7 +1,7 @@
PORTNAME= lazarus
DISTVERSION= 3.0.0.20231028
DISTVERSION= 3.1.0.20231222
PKGNAMESUFFIX?= -gtk2-devel
PORTREVISION?= 3
PORTREVISION?= 0
CATEGORIES= editors devel
DIST_SUBDIR= freepascal

Expand All @@ -21,7 +21,7 @@ ONLY_FOR_ARCHS= i386 amd64
USE_GITLAB= yes
GL_ACCOUNT= freepascal.org/lazarus
GL_PROJECT= ${PORTNAME}
GL_COMMIT= da69f50a82ed2c57fdecc26023f75431bffe3d42
GL_COMMIT= 5cbbd5956a4d9ab55b6c30810ea7c5f55cc5c444

USES= desktop-file-utils fpc:run gettext gmake iconv shared-mime-info xorg
USE_XORG= x11
Expand All @@ -39,7 +39,7 @@ OPTIONS_DEFAULT= GDB
.include <bsd.port.options.mk>

LAZARUS_ARCH= ${ARCH:S,amd64,x86_64,}
LAZARUS_BASE= 3.0.0
LAZARUS_BASE= 3.1.0

BUILDNAME= ${LAZARUS_ARCH}-${OPSYS:tl}
LCL_PLATFORM?= gtk2
Expand All @@ -66,6 +66,7 @@ post-extract:
@${MV} ${WRKSRC}/docs ${WRKDIR}/docs
@${RM} ${WRKSRC}/tools/.gitignore
@${RM} ${WRKSRC}/Dockerfile.buildenv
@${RM} ${WRKSRC}/buildenv.Dockerfile

post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' -e 's|%%DATADIR%%|${DATADIR}|g' ${WRKSRC}/${MAKEFILE}
Expand Down
6 changes: 3 additions & 3 deletions editors/lazarus-devel/distinfo
@@ -1,3 +1,3 @@
TIMESTAMP = 1698534530
SHA256 (freepascal/freepascal.org/lazarus-lazarus-da69f50a82ed2c57fdecc26023f75431bffe3d42_GL0.tar.gz) = 2976846d842e5812bd225c33a34fc21562e044d22064c6dc7edf45db87784985
SIZE (freepascal/freepascal.org/lazarus-lazarus-da69f50a82ed2c57fdecc26023f75431bffe3d42_GL0.tar.gz) = 56191429
TIMESTAMP = 1703291193
SHA256 (freepascal/freepascal.org/lazarus-lazarus-5cbbd5956a4d9ab55b6c30810ea7c5f55cc5c444_GL0.tar.gz) = 96bd76d61af602cc5db7a31acf86bd710fc6178ce318e5a39a2641352ec01e09
SIZE (freepascal/freepascal.org/lazarus-lazarus-5cbbd5956a4d9ab55b6c30810ea7c5f55cc5c444_GL0.tar.gz) = 56232072
1 change: 1 addition & 0 deletions editors/lazarus-devel/files/pkg-message.in
Expand Up @@ -27,6 +27,7 @@ The Lazarus RAD devel was installed
editors/lazarus-devel
editors/lazarus-qt5
editors/lazarus-qt5-devel
editors/lazarus-qt6
editors/lazarus-qt6-devel

You can added those ports if you want support for gtk2, qt5 or qt6
Expand Down
3 changes: 2 additions & 1 deletion editors/lazarus-qt5-devel/Makefile
Expand Up @@ -2,7 +2,8 @@ PKGNAMESUFFIX?= -qt5-devel

COMMENT= Portable Delphi-like IDE for the FreePascal compiler (QT5 devel)

CONFLICTS= lazarus-gtk2 lazarus-gtk2-devel lazarus-qt5 lazarus-qt6-devel
CONFLICTS= lazarus-gtk2 lazarus-gtk2-devel lazarus-qt5 lazarus-qt6 \
lazarus-qt6-devel

LIB_DEPENDS= libQt5Pas.so:x11-toolkits/qt5pas

Expand Down
5 changes: 3 additions & 2 deletions editors/lazarus-qt5/Makefile
@@ -1,10 +1,11 @@
PORTREVISION= 4
PORTREVISION= 0

PKGNAMESUFFIX?= -qt5

COMMENT= Portable Delphi-like IDE for the FreePascal compiler (QT5)

CONFLICTS= lazarus-gtk2 lazarus-gtk2-devel lazarus-qt5-devel lazarus-qt6-devel
CONFLICTS= lazarus-gtk2 lazarus-gtk2-devel lazarus-qt5-devel lazarus-qt6 \
lazarus-qt6-devel

LIB_DEPENDS= libQt5Pas.so:x11-toolkits/qt5pas

Expand Down
5 changes: 2 additions & 3 deletions editors/lazarus-qt6-devel/Makefile
@@ -1,10 +1,9 @@
PORTREVISION= 4

PKGNAMESUFFIX?= -qt6-devel

COMMENT= Portable Delphi-like IDE for the FreePascal compiler (QT6 devel)

CONFLICTS= lazarus-gtk2 lazarus-gtk2-devel lazarus-qt5 lazarus-qt5-devel
CONFLICTS= lazarus-gtk2 lazarus-gtk2-devel lazarus-qt5 lazarus-qt5-devel \
lazarus-qt6

LIB_DEPENDS= libQt6Pas.so:x11-toolkits/qt6pas

Expand Down
16 changes: 16 additions & 0 deletions editors/lazarus-qt6/Makefile
@@ -0,0 +1,16 @@
PORTREVISION= 0

PKGNAMESUFFIX?= -qt6

COMMENT= Portable Delphi-like IDE for the FreePascal compiler (QT6)

CONFLICTS= lazarus-gtk2 lazarus-gtk2-devel lazarus-qt5 lazarus-qt5-devel \
lazarus-qt6-devel

LIB_DEPENDS= libQt6Pas.so:x11-toolkits/qt6pas

LCL_PLATFORM= qt6

MASTERDIR= ${.CURDIR}/../../editors/lazarus

.include "${MASTERDIR}/Makefile"
45 changes: 25 additions & 20 deletions editors/lazarus/Makefile
@@ -1,18 +1,16 @@
PORTNAME= lazarus
PORTVERSION= 2.2.6
DISTVERSIONSUFFIX= -0
DISTVERSION= 3.0.0
PKGNAMESUFFIX?= -gtk2
PORTREVISION?= 3
PORTREVISION?= 0
CATEGORIES= editors devel
MASTER_SITES= SF/${PORTNAME}/Lazarus%20Zip%20_%20GZip/Lazarus%20${PORTVERSION} \
LOCAL/acm/freepascal
DIST_SUBDIR= freepascal

MAINTAINER?= acm@FreeBSD.org
COMMENT?= Portable Delphi-like IDE for the FreePascal compiler (GTK2)
WWW= https://www.lazarus-ide.org/

CONFLICTS?= lazarus-gtk2-devel lazarus-qt5 lazarus-qt5-devel lazarusqt6-devel
CONFLICTS?= lazarus-gtk2-devel lazarus-qt5 lazarus-qt5-devel lazarus-qt6 \
lazarus-qt6-devel

BUILD_DEPENDS?= ${LOCALBASE}/bin/as:devel/binutils
RUN_DEPENDS?= ${LOCALBASE}/bin/as:devel/binutils \
Expand All @@ -21,14 +19,19 @@ RUN_DEPENDS?= ${LOCALBASE}/bin/as:devel/binutils \

ONLY_FOR_ARCHS= i386 amd64

USES= cpe desktop-file-utils fpc:run gettext gmake iconv shared-mime-info xorg
USE_GITLAB= yes
GL_ACCOUNT= freepascal.org/lazarus
GL_PROJECT= ${PORTNAME}
GL_COMMIT= f771d54e4a3a6e35697e662aa2e0b954762b56cb

USES= desktop-file-utils fpc:run gettext gmake iconv shared-mime-info xorg
USE_XORG= x11
OPT?= "-Sgic "

MAKE_ENV= OPT=${OPT}
PLIST= ${WRKDIR}/pkg-plist
WRKSRC?= ${WRKDIR}/${PORTNAME}
DATADIR?= ${PREFIX}/share/${PORTNAME}-${PORTVERSION}
#WRKSRC?= ${WRKDIR}/${PORTNAME}
DATADIR?= ${PREFIX}/share/${PORTNAME}-${LAZARUS_BASE}

OPTIONS_DEFINE= GDB
GDB_DESC= Install a newest version of gdb
Expand All @@ -37,6 +40,7 @@ OPTIONS_DEFAULT= GDB
.include <bsd.port.options.mk>

LAZARUS_ARCH= ${ARCH:S,amd64,x86_64,}
LAZARUS_BASE= 3.0.0

BUILDNAME= ${LAZARUS_ARCH}-${OPSYS:tl}
LCL_PLATFORM?= gtk2
Expand All @@ -61,6 +65,10 @@ post-extract:
@${MV} ${WRKSRC}/install/man/man1/startlazarus.1 ${WRKDIR}/man1/
@${MV} ${WRKSRC}/examples ${WRKDIR}/examples
@${MV} ${WRKSRC}/docs ${WRKDIR}/docs
@${RM} ${WRKSRC}/tools/.gitignore
@${RM} ${WRKSRC}/Dockerfile.buildenv
@${RM} ${WRKSRC}/buildenv.Dockerfile
@${RM} ${WRKSRC}/.git*

post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' -e 's|%%DATADIR%%|${DATADIR}|g' ${WRKSRC}/${MAKEFILE}
Expand All @@ -69,17 +77,14 @@ post-patch:
do-build:
@cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} bigide LCL_PLATFORM=${LCL_PLATFORM}
@cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} tools LCL_PLATFORM=${LCL_PLATFORM}

post-build:
@cd ${WRKSRC} && \
${RM} -R COPYING* README* debian localize.bat test *.orig *.bak startlazarus.app \
ide/Makefile*.orig ide/Makefile*.bak lcl/interfaces/qt5/qtobjects.pas.orig
@cd ${WRKDIR} && \
${RM} -R docs/chm/.gitignore docs/html/.gitignore lazarus/tools/install/rpm/.gitignore \
lazarus/tools/.gitignore lazarus/components/chmhelp/lhelp/.gitignore \
lazarus/.git*
ide/Makefile*.orig ide/Makefile*.bak lcl/interfaces/qt5/qtobjects.pas.orig \
.git*
@cd ${WRKSRC} && \
${FIND} . -name ".gitignore" -exec ${RM} "{}" \;

pre-install:
@${ECHO} "#!/bin/sh" > ${WRKDIR}/lazarus-wrapper
Expand Down Expand Up @@ -134,19 +139,19 @@ do-install:
@${CHMOD} +x ${STAGEDIR}${DATADIR}/tools/svn2revisioninc ${STAGEDIR}${DATADIR}/tools/lazres ${STAGEDIR}${DATADIR}/tools/lrstolfm \
${STAGEDIR}${DATADIR}/tools/updatepofiles

.for FILE in lazarus startlazarus lazbuild
.for FILE in lazarus lazbuild startlazarus
${INSTALL_PROGRAM} ${WRKSRC}/${FILE} ${STAGEDIR}${DATADIR}
.endfor

@cd ${WRKDIR}/docs && \
${FIND} * -type d -exec ${MKDIR} "${STAGEDIR}${DOCSDIR}/{}" \; && \
${FIND} * -type f -exec ${INSTALL_DATA} {} "${STAGEDIR}${DOCSDIR}/{}" \;
@${LN} -s ${DOCSDIR} ${STAGEDIR}${DATADIR}/docs
@${LN} -sf ${DOCSDIR} ${STAGEDIR}${DATADIR}/docs

@cd ${WRKDIR}/examples && \
${FIND} * -type d -exec ${MKDIR} "${STAGEDIR}${EXAMPLESDIR}/{}" \; && \
${FIND} * -type f -exec ${INSTALL_DATA} {} "${STAGEDIR}${EXAMPLESDIR}/{}" \;
@${LN} -s ${EXAMPLESDIR} ${STAGEDIR}${DATADIR}/examples
@${LN} -sf ${EXAMPLESDIR} ${STAGEDIR}${DATADIR}/examples

.for RESO in 128 16 256 32 48 64
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${RESO}x${RESO}/apps
Expand All @@ -171,6 +176,6 @@ do-install:
.for FILE in ${MAN1S}
${INSTALL_MAN} ${WRKDIR}/man1/${FILE} ${STAGEDIR}${MAN1PREFIX}/man/man1
.endfor
${LN} -s ${DATADIR}/lazbuild ${STAGEDIR}${PREFIX}/bin/lazbuild
${LN} -sf ${DATADIR}/lazbuild ${STAGEDIR}${PREFIX}/bin/lazbuild

.include <bsd.port.mk>
6 changes: 3 additions & 3 deletions editors/lazarus/distinfo
@@ -1,3 +1,3 @@
TIMESTAMP = 1678764524
SHA256 (freepascal/lazarus-2.2.6-0.tar.gz) = 39f4cf98c0a94b39a058e733baa62f1c1d5dcfa6599dc57bc5efc4c0d08c485c
SIZE (freepascal/lazarus-2.2.6-0.tar.gz) = 78351752
TIMESTAMP = 1703276514
SHA256 (freepascal/freepascal.org/lazarus-lazarus-f771d54e4a3a6e35697e662aa2e0b954762b56cb_GL0.tar.gz) = 350dc07a4b0eb04e7dd06479375f3f54f46203dfa468730965982a14aade0e20
SIZE (freepascal/freepascal.org/lazarus-lazarus-f771d54e4a3a6e35697e662aa2e0b954762b56cb_GL0.tar.gz) = 56234280
24 changes: 19 additions & 5 deletions editors/lazarus/files/pkg-message.in
Expand Up @@ -11,27 +11,41 @@ The Lazarus RAD was installed
source directory at lazarus configuration environment. Also it could be
setting later.

3) Now you can obtain freepascal source installing lang/fpc-source port or
3) Now you can obtain freepascal source installing lang/fpc-source port or
package

It will be extracted to %%LOCALBASE%%/share/fpc-source-X.X.X

4) You can use %%LOCALBASE%%/bin/gdb debugger instead of gdb installed debugger
installed from base system. Lazarus works better with this version.

5) The lazbuild.cfg file has been removed, it is not necessary anymore. Now
we can use the following ports for aplications that depend of lazarus
5) We can use the following ports for aplications that depend of lazarus
and these can be built with an interface different than lazarus has compiled
by default:

editors/lazarus
editors/lazarus-devel
editors/lazarus-qt5
editors/lazarus-qt5-devel
editors/lazarus-qt6
editors/lazarus-qt6-devel

You can added those ports if you want support for gtk2, or qt5
You can added those ports if you want support for gtk2, qt5 or qt6
interfaces. Please look at net-p2p/transmission-remote-gui like a example of
how use it

6) Enjoy it ;)
6) If you want built apps using devel version of lazarus, you must add the
following into /etc/make.conf file

WANT_LAZARUS_DEVEL= yes

It is neccesary for use devel version of lazarus (gtk2, qt5 or qt6)

editors/lazarus-devel
editors/lazarus-qt5-devel
editors/lazarus-qt6-devel

7) Enjoy it ;)
EOM
}
]
2 changes: 1 addition & 1 deletion editors/lazarus/pkg-descr
@@ -1,5 +1,5 @@
Lazarus is the class libraries for Free Pascal that emulate Delphi.
Free Pascal is a GPL'ed compiler that runs on Linux, Win32, OS/2, 68K
Free Pascal is a GPL'ed compiler that runs on FreeBSD, Linux, Win32, OS/2, 68K
and more. Free Pascal is designed to be able to understand and compile
Delphi syntax, which is of course OOP.

Expand Down

0 comments on commit 4a05009

Please sign in to comment.