commit:     349e548fb1da90708db88da3fd524f939211a79f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu May  1 09:51:17 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu May  1 10:05:41 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=349e548f

media-gfx/librecad: add Qt6-based 2.2.2_alpha1_pre20250501

Testing would be much appreciated, if anyone is reading this.

Bug: https://bugs.gentoo.org/955171
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/librecad/Manifest                        |  1 +
 .../librecad-2.2.2_alpha1_pre20250501.ebuild       | 83 ++++++++++++++++++++++
 2 files changed, 84 insertions(+)

diff --git a/media-gfx/librecad/Manifest b/media-gfx/librecad/Manifest
index 6369e57c7732..402e83eb47e4 100644
--- a/media-gfx/librecad/Manifest
+++ b/media-gfx/librecad/Manifest
@@ -1,2 +1,3 @@
 DIST librecad-2.2.1.1.tar.gz 18597136 BLAKE2B 
ecb6a2576d606dd56fc1945fc435533beda09f2eb3d187cc348f9a27b23ff0b5cc3173a6ded9661e73baeab82f353478f7b89b445e34bb8202b9060c05f46dce
 SHA512 
7fccbd697d4b48143681a7c0c5f988ff0e30e05453c6d3a8cb61496df01b5dd81ccd6205fe9dd560dd6c7cf92ff106eaf95fc27e897d712902ae7ec65d1a4ead
 DIST librecad-2.2.1.tar.gz 14107087 BLAKE2B 
44c7960b79348515661fb59ae9c04949e8ff51282e80ce8335ca4679c74880552d229afcd3cc63d36fe75e06ce7d2dfce399c75f3cb1786448b487765b8966db
 SHA512 
6a76d846e812fbed185c87e0e8362f7c429f9bd78bf739f19bcb12f1f88e5be944e48a38427820907826adec8d33204b7ce51ca2fbacecd0f7b39c6cab09687c
+DIST librecad-2.2.2_alpha1_pre20250501-2f5b68f3.tar.gz 18797706 BLAKE2B 
6cd9ed76a9d8a2430c1eaa775d3bcc722fcdac75eca8ada94ba265bce4b2162ac22968b801bcc56f3a58e530e749bad821f29dde5c1cdcc09c65481e0bf89fed
 SHA512 
7bb94ad2ec19cf79b4f669f78b6abcfbd8e41b04b6aaf7fd8d764f18895c87fad113b719665fe7685d70a450e241571faeaf6c4981fd68a8f7810704d02bb944

diff --git a/media-gfx/librecad/librecad-2.2.2_alpha1_pre20250501.ebuild 
b/media-gfx/librecad/librecad-2.2.2_alpha1_pre20250501.ebuild
new file mode 100644
index 000000000000..a4e69b392ee1
--- /dev/null
+++ b/media-gfx/librecad/librecad-2.2.2_alpha1_pre20250501.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=2f5b68f347ba50fd8d6c4fee437cfedff63848b4
+PLOCALES="ar ca cs da de el en en_au es es_ar es_bo es_cl es_co es_cr es_do 
es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es_us es_uy es_ve 
et eu fi fr gl he hi hu id_ID it ja ka ko lv mk nl no pa pl pt_br pt_pt ro_ro 
ru sk sl sq_al sr sv ta th tr uk zh_cn zh_tw"
+inherit desktop edo plocale qmake-utils
+
+DESCRIPTION="Generic 2D CAD program"
+HOMEPAGE="https://www.librecad.org/";
+
+if [[ ${PV} == *9999* ]]; then
+       EGIT_REPO_URI="https://github.com/LibreCAD/LibreCAD.git";
+       inherit git-r3
+else
+       SRC_URI="https://github.com/LibreCAD/LibreCAD/archive/${COMMIT}.tar.gz 
-> ${P}-${COMMIT:0:8}.tar.gz"
+       S="${WORKDIR}/LibreCAD-${COMMIT}"
+       # KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc tools"
+
+RDEPEND="
+       dev-cpp/muParser
+       dev-libs/boost:=
+       dev-qt/qtbase:6[gui,network,widgets]
+       dev-qt/qtsvg:6
+       media-libs/freetype:2
+"
+DEPEND="${RDEPEND}
+       dev-qt/qtbase:6[xml]
+       dev-qt/qttools:6[assistant]
+"
+BDEPEND="
+       dev-qt/qttools:6[linguist]
+"
+
+src_prepare() {
+       default
+
+       # Stock script doesn't work correctly on gentoo (see bug #847394)
+       # and also it compiles all translations regardles of selected locales.
+       # To avoid this just comment out locale building and do it manually
+       sed -i -e '/LRELEASE/s!^!# !' scripts/postprocess-unix.sh || die
+
+       plocale_find_changes 'librecad/ts' 'librecad_' '.ts'
+}
+
+src_configure() {
+       eqmake6 -r
+}
+
+src_compile() {
+       default
+
+       build_locale() {
+               local lrelease="$(qt6_get_bindir)/lrelease"
+               edo "${lrelease}" "librecad/ts/librecad_${1}.ts" \
+                       -qm "unix/resources/qm/librecad_${1}.qm"
+               edo "${lrelease}" "plugins/ts/plugins_${1}.ts" \
+                       -qm "unix/resources/qm/plugins_${1}.qm"
+       }
+
+       plocale_for_each_locale build_locale
+       # We want the en locale to be always present. Otherwise it could
+       # be impossible to select the English command set which is quite 
crucial.
+       has en $(plocale_get_locales) || build_locale en
+}
+
+src_install() {
+       dobin unix/librecad
+       use tools && dobin unix/ttf2lff
+       insinto /usr/share/${PN}
+       doins -r unix/resources/*
+       use doc && docinto html && dodoc -r librecad/support/doc/*
+       insinto /usr/share/metainfo
+       doins unix/appdata/org.librecad.librecad.appdata.xml
+       doicon librecad/res/images/${PN}.png
+       make_desktop_entry ${PN} LibreCAD ${PN} Graphics
+}

Reply via email to