summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Corvinus <voron1@gmail.com>2022-12-12 18:49:41 +0400
committerAmy Liffey <amynka@gentoo.org>2022-12-12 19:39:59 +0100
commite9c183aa7b01e8a994bc18ebb3a0d4b74402b45b (patch)
tree23f4f1086b8d398854daf6d4bd010a1559ea4156 /dev-lang
parentdev-libs/libqt5pas: new package, add 1.2.9 (diff)
downloadgentoo-e9c183aa7b01e8a994bc18ebb3a0d4b74402b45b.tar.gz
gentoo-e9c183aa7b01e8a994bc18ebb3a0d4b74402b45b.tar.bz2
gentoo-e9c183aa7b01e8a994bc18ebb3a0d4b74402b45b.zip
dev-lang/lazarus: add 2.2.4
Make GUI optional, switch to Qt5. Closes: https://github.com/gentoo/gentoo/pull/28622 Closes: https://bugs.gentoo.org/818142 Closes: https://bugs.gentoo.org/885283 Signed-off-by: Amy Liffey <amynka@gentoo.org> Signed-off-by: Michael Corvinus <voron1@gmail.com>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/lazarus/Manifest1
-rw-r--r--dev-lang/lazarus/lazarus-2.2.4.ebuild91
-rw-r--r--dev-lang/lazarus/metadata.xml11
3 files changed, 103 insertions, 0 deletions
diff --git a/dev-lang/lazarus/Manifest b/dev-lang/lazarus/Manifest
index 52f9514f5fb0..472e3d95c033 100644
--- a/dev-lang/lazarus/Manifest
+++ b/dev-lang/lazarus/Manifest
@@ -1,2 +1,3 @@
DIST lazarus-2.0.12.tar.gz 69560778 BLAKE2B ff6c9414483b0d50dbbb30c8fbf626c81d9c71ef0329aa1d58b37aa4288a500e1ab55d06bad27f637e3f09b9d062af1896720b9cb7367b092fc872cf613f8a3d SHA512 dfd22b2b96fca9d0f672f03b9120c4294a7e640737a09b26c274d304025c61566a8504a5484638c108e42a322b21992229451d95e38d7e491a1c2f07a663483e
DIST lazarus-2.2.0-0.tar.gz 76777421 BLAKE2B 29a7ed3285e3fbb6f72fe932d72d71edfd6903a8a5eb24f9534a12a4d1ccf5e40c61ce3cc1cbd8eef6dd7700f6e29fb640e35510b23a1ca1b02f7df0a4a738cc SHA512 4ebd8b4b7c6dfea491a30b1253e604646109d208c237e59be2fd9f6be3fb1e29443dd4e482076d77100678d0e4085b998398fca0532aa6122b59db7157af0ce4
+DIST lazarus-2.2.4-0.tar.gz 77272959 BLAKE2B 2d7b2872a7399eb1a3a7d9fb20fed209900603ae433db75ac2c4244edf5e5981314ed3d8e39143ff30764e7ccbf1286edace9c38505df1cd28b44250bdd07224 SHA512 1a2fbc8451f1954df1d0071c586662ebc3cd0e9a7db5d910e0af86a3095252a5796d4c7abcf3861ad723af26974ac416c5bf919cd77ad5f406295ad7cdf47eb1
diff --git a/dev-lang/lazarus/lazarus-2.2.4.ebuild b/dev-lang/lazarus/lazarus-2.2.4.ebuild
new file mode 100644
index 000000000000..2f36b89e352c
--- /dev/null
+++ b/dev-lang/lazarus/lazarus-2.2.4.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop
+
+# See https://wiki.freepascal.org/Lazarus_2.0_fixes_branch for notes and
+# changes in FPCVER. It *does* change between minor versions of lazarus.
+FPCVER="3.2.2"
+
+DESCRIPTION="feature rich visual programming environment emulating Delphi"
+HOMEPAGE="https://www.lazarus-ide.org/"
+SRC_URI="mirror://sourceforge/lazarus/${P}-0.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
+SLOT="0/2.2" # Note: Slotting Lazarus needs slotting fpc, see DEPEND.
+KEYWORDS="~amd64 ~x86"
+IUSE="gtk2 +gui extras"
+REQUIRED_USE="gtk2? ( gui ) extras? ( gui )"
+
+DEPEND="
+ >=dev-lang/fpc-${FPCVER}[source]
+ >=sys-devel/binutils-2.19.1-r1:=
+ gui? (
+ !gtk2? ( dev-libs/libqt5pas:0/2.2 )
+ gtk2? ( x11-libs/gtk+:2 )
+)"
+BDEPEND="net-misc/rsync"
+RDEPEND="${DEPEND}"
+
+RESTRICT="strip" #269221
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.9.26-fpcsrc.patch )
+
+src_prepare() {
+ default
+ # Use default configuration (minus stripping) unless specifically requested otherwise
+ if ! test ${PPC_CONFIG_PATH+set} ; then
+ local FPCVER=$(fpc -iV)
+ export PPC_CONFIG_PATH="${WORKDIR}"
+ sed -e 's/^FPBIN=/#&/' /usr/lib/fpc/${FPCVER}/samplecfg |
+ sh -s /usr/lib/fpc/${FPCVER} "${PPC_CONFIG_PATH}" || die
+ fi
+}
+
+src_compile() {
+ # TODO: Change to LCL_PLATFORM=qt5?
+ # bug #732758
+ if ( use gui ) && ( use !gtk2 ) ; then
+ export LCL_PLATFORM=qt5
+ fi
+ use gtk2 && export LCL_PLATFORM=gtk2
+ if ( use gui ) ; then
+ emake all $(usex extras "bigide lhelp" "") -j1 || die "make failed!"
+ else
+ emake lazbuild -j1 || die "make failed!"
+ fi
+}
+
+src_install() {
+ diropts -m0755
+ dodir /usr/share
+ # Using rsync to avoid unnecessary copies and cleaning...
+ # Note: *.o and *.ppu are needed
+ rsync -a \
+ --exclude="CVS" --exclude=".cvsignore" \
+ --exclude="*.ppw" --exclude="*.ppl" \
+ --exclude="*.ow" --exclude="*.a"\
+ --exclude="*.rst" --exclude=".#*" \
+ --exclude="*.~*" --exclude="*.bak" \
+ --exclude="*.orig" --exclude="*.rej" \
+ --exclude=".xvpics" --exclude="*.compiled" \
+ --exclude="killme*" --exclude=".gdb_hist*" \
+ --exclude="debian" --exclude="COPYING*" \
+ --exclude="*.app" \
+ "${S}" "${ED}"/usr/share \
+ || die "Unable to copy files!"
+
+ if ( use gui ) ; then
+ dosym ../share/lazarus/startlazarus /usr/bin/startlazarus
+ dosym ../share/lazarus/startlazarus /usr/bin/lazarus
+ fi
+ dosym ../share/lazarus/lazbuild /usr/bin/lazbuild
+ use extras && dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp
+ dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png
+
+ use gui && make_desktop_entry startlazarus "Lazarus IDE" "lazarus"
+}
diff --git a/dev-lang/lazarus/metadata.xml b/dev-lang/lazarus/metadata.xml
index 3cb7a52b758a..e7fb1364df58 100644
--- a/dev-lang/lazarus/metadata.xml
+++ b/dev-lang/lazarus/metadata.xml
@@ -4,8 +4,19 @@
<maintainer type="person">
<email>amynka@gentoo.org</email>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>voron1@gmail.com</email>
+ <name>Michael Corvinus</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="minimal">Don't build extra packages from the bigide component</flag>
+ <flag name="gui">Build GUI IDE.</flag>
+ <flag name="gtk2">Use gtk:2 for widgets.</flag>
+ <flag name="extras">Build a lot of extra packages, including lhelp chm viewer program.</flag>
</use>
<upstream>
<remote-id type="sourceforge">downloads</remote-id>