dev-lang/lazarus: Added Python binding support
authorHorea Christian <horea.christ@yandex.com>
Wed, 19 Sep 2018 07:39:49 +0000 (09:39 +0200)
committerAmy Liffey <amynka@gentoo.org>
Thu, 20 Sep 2018 13:24:49 +0000 (15:24 +0200)
- handled by USE flag

Closes: https://github.com/gentoo/gentoo/pull/9910
Signed-off-by: Horea Christian <horea.christ@gmail.com>
Signed-off-by: Amy Liffey <amynka@gentoo.org>
Package-Manager: Portage-2.3.49, Repoman-2.3.10

dev-lang/lazarus/Manifest
dev-lang/lazarus/lazarus-1.8.4-r1.ebuild [new file with mode: 0644]

index 9f88fd302ef3d79f18a4b533f6e081d6c16e8775..ba0072068ae9e57675d55dedb8fd76abcd6c10b6 100644 (file)
@@ -3,4 +3,5 @@ DIST lazarus-1.6.2-0.tar.gz 55949169 BLAKE2B e8d4c4f786bffea4eec9ed326ba00acca93
 DIST lazarus-1.6.4-0.tar.gz 57180961 BLAKE2B 930beda6ad04999e749fe4b76a64ab00b0138c18b0f3aea0cbac089ecb3f419aa4165d06757d6ee2d3c6e43401f2be5e154947d07f892a6bc5f4bb8831bad62d SHA512 d7d498483ef9e1eebd0d8ca2325d1984cb1297837ebe2f9547e67f26fc049c2168e2feeac739b8403c08a8251040e9161c962d25951545384ffbdbb076fda2aa
 DIST lazarus-1.8.0.tar.gz 62114372 BLAKE2B 8593e384ef5e311f3a777422a255e292d2d4c240baac0cb12778bb23e59d76301d75c9133585fd45af3ad0290b242ed5640a6dd9b27e1197d325e2ae5845495f SHA512 dd5e02e9c0a057cf9a6b2c15605969cf4cb743aa78fc81bfdc7c566434127893cf32bab5bd1729f79b51c611bf9ae015bea8d774e0544ead42a064f1224ffd7b
 DIST lazarus-1.8.2.tar.gz 62935678 BLAKE2B f993e9630ab932a7a7f7bcf488d179d33a6dfef6c1de749d01c12f91f894bccd05a784ec2e2b89a9565421a192abce6c1675df2676bfff2fd8307d2ab4828db5 SHA512 3dddbf3bfacb0b04c427086c911a4ff67be0d5b291d23c1efce2d813e2cbd2e26b54b2851b5ad223f8df8c2652c002bc684a54c936a0a77c85ccdce08651531b
+DIST lazarus-1.8.4-python.tar.gz 1060859 BLAKE2B 4d6f7dc275aacd0f70d9f7c85aba99a7722b02165a5bf287bfeed46f28e3b36c5abeac19bd7c6555250102dce169f7c9c213b634ce1b634c24dadc84171aed10 SHA512 f244b4e86410fdb2ffe8ccba7fcb51c270286172b6102f757118827cac3b652210a625d65dd6c017c1992983527792ed64334291ab0e0b824f187316452c56b5
 DIST lazarus-1.8.4.tar.gz 63130653 BLAKE2B f9b2ba9971f1a9a9c3b8d2004bd3516c12db5384bb6243ef275c2fc0d458634fba0c1c23e7ecd5c160c1204d6cc2b4ebc340ce8bb5cfdd9c531f8c36ae59d1e2 SHA512 82cdc3c32dddf8e67c0bed9292a9a924227bab50f22ca479f5e98ecccbf60dd66c7f886ecb8e2979d9d8fccc3d25462ee8c55fcab085aa4194b4704660e0b95d
diff --git a/dev-lang/lazarus/lazarus-1.8.4-r1.ebuild b/dev-lang/lazarus/lazarus-1.8.4-r1.ebuild
new file mode 100644 (file)
index 0000000..4564a94
--- /dev/null
@@ -0,0 +1,94 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop
+
+FPCVER="3.0.4"
+PYTHON_HASH="586eec1a5ea609ef9df2bf586be06825d9fbd50f"
+
+DESCRIPTION="Lazarus IDE is a feature rich visual programming environment emulating Delphi"
+HOMEPAGE="https://www.lazarus-ide.org/"
+SRC_URI="
+       python? ( https://github.com/Alexey-T/Python-for-Lazarus/archive/${PYTHON_HASH}.tar.gz ->\
+               ${P}-python.tar.gz )
+       https://sourceforge.net/projects/${PN}/files/Lazarus%20Zip%20_%20GZip/Lazarus%20${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
+SLOT="0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND.
+KEYWORDS="~amd64 ~x86"
+IUSE="minimal python"
+
+DEPEND=">=dev-lang/fpc-${FPCVER}[source]
+       net-misc/rsync
+       x11-libs/gtk+:2
+       >=sys-devel/binutils-2.19.1-r1:="
+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() {
+       LCL_PLATFORM=gtk2 emake \
+               $(usex minimal "" "bigide") \
+               -j1
+       if use python; then
+               addpredict ide/exttools.pas
+               ./lazbuild -B --lazarusdir="." --pcp="with-packages" --build-ide= \
+                       --add-package ../Python-for-Lazarus-${PYTHON_HASH}/python4lazarus/python4lazarus_package.lpk \
+                       || die
+               sed -i -e "s:${WORKDIR}/Python-for-Lazarus-${PYTHON_HASH}:/usr/share/lazarus/with-packages:g" \
+                       with-packages/packagefiles.xml \
+                       with-packages/idemake.cfg \
+                       ../Python-for-Lazarus-${PYTHON_HASH}/python4lazarus/lib/x86_64-linux/python4lazarus_package.compiled \
+                       || die
+       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!"
+
+       dosym ../share/lazarus/startlazarus /usr/bin/startlazarus
+       dosym ../share/lazarus/startlazarus /usr/bin/lazarus
+       dosym ../share/lazarus/lazbuild /usr/bin/lazbuild
+       use minimal || dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp
+       dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png
+
+       if use python; then
+               cp -rf ../Python-for-Lazarus-${PYTHON_HASH}/python4lazarus \
+                       "${ED%/}"/usr/share/lazarus/with-packages || die
+       fi
+
+       make_desktop_entry startlazarus "Lazarus IDE" "lazarus"
+}