public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/librecad/
Date: Mon, 28 Nov 2022 07:05:36 +0000 (UTC)	[thread overview]
Message-ID: <1669619129.ae3b58318840afcd6c3dfa9d8b9310c68136527f.juippis@gentoo> (raw)

commit:     ae3b58318840afcd6c3dfa9d8b9310c68136527f
Author:     Alexander Golubev <fatzer2 <AT> gmail <DOT> com>
AuthorDate: Mon Nov  7 08:11:20 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Nov 28 07:05:29 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae3b5831

media-gfx/librecad: several improvements

* bump to EAPI=8
* fix tranlation install
* fix live ebuild installation
* patch several CVEs

Bug: https://bugs.gentoo.org/847394
Bug: https://bugs.gentoo.org/852941
Bug: https://bugs.gentoo.org/825362
Bug: https://bugs.gentoo.org/832210
Closes: https://bugs.gentoo.org/878925
Signed-off-by: Alexander Golubev <fatzer2 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/28164
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 media-gfx/librecad/Manifest                 |  1 +
 media-gfx/librecad/librecad-2.1.3-r7.ebuild | 99 +++++++++++++++++++++++++++++
 media-gfx/librecad/librecad-9999.ebuild     | 37 +++++++++--
 3 files changed, 133 insertions(+), 4 deletions(-)

diff --git a/media-gfx/librecad/Manifest b/media-gfx/librecad/Manifest
index fcff5ba5ec8f..2a3edced4862 100644
--- a/media-gfx/librecad/Manifest
+++ b/media-gfx/librecad/Manifest
@@ -1 +1,2 @@
 DIST librecad-2.1.3.tar.gz 22415288 BLAKE2B fb920113a7e4b2e9e7e3425f77364c36f6be676a3cd109798786b06d31698fd11437bc7f50cb843ca02d761730e83db7fde475d1bce6a65336a845b5b0114918 SHA512 246cffcc1ea3389997b4a738ab5e3d78e8c1096817ecb1ca28f38d601bc5d1a95f60798ac82308914a34da7b5dbc302b8363cf8b58a97221fdc8ee63010adc6c
+DIST librecad-gentoo-CVE-patches-2.1.3.tar.gz 11687 BLAKE2B 4676fa60033e6d0ace35bbebfae569366a50ec46c2dc5b90bace9564e1f6c2020f733f63981788b6f5288fb0c57760215e7b35f294656c21787ebdefa8447fa0 SHA512 b485b41ab1d6eb61750c11a9b327fc70d28cd0cf689b3cd815b4982d3d800737f402522d9c3d416f1e43422166e7de4f97055de238cc2fe80cc45f11fa3377e6

diff --git a/media-gfx/librecad/librecad-2.1.3-r7.ebuild b/media-gfx/librecad/librecad-2.1.3-r7.ebuild
new file mode 100644
index 000000000000..3f3a914a5304
--- /dev/null
+++ b/media-gfx/librecad/librecad-2.1.3-r7.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+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 hi hu id_ID it ja ko lv nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sv ta 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/${PV/_/}.tar.gz -> ${P}.tar.gz
+		https://github.com/Fat-Zer/librecad-gentoo-CVE-patches/archive/v${PV/_/}.tar.gz -> librecad-gentoo-CVE-patches-${PV}.tar.gz
+	"
+	S="${WORKDIR}/LibreCAD-${PV}"
+	KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug doc tools"
+
+RDEPEND="
+	dev-cpp/muParser
+	dev-libs/boost:=
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtprintsupport:5
+	dev-qt/qtsvg:5
+	dev-qt/qtwidgets:5
+	media-libs/freetype:2
+"
+DEPEND="${RDEPEND}
+	dev-qt/qthelp:5
+	dev-qt/qtxml:5
+"
+BDEPEND="
+	dev-qt/linguist-tools:5
+"
+
+PATCHES=(
+	"${FILESDIR}/${P}-qt-5.11.patch"
+	"${FILESDIR}/${P}-gcc-9.patch"
+	"${FILESDIR}/${P}-qt-5.15.patch"
+	"${FILESDIR}/${P}-boost-1.76.patch" # bug 788706, upstream PR#1345
+)
+
+src_prepare() {
+	default
+
+	# Note: the CVE patches are borrowed from debian packaging; some of the
+	# patches are too big for the tree; move them to a separate repo/
+	# see bug #825362 and bug #832210
+	eapply "${WORKDIR}/librecad-gentoo-CVE-patches-${PV}"
+
+	# 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() {
+	eqmake5 -r
+}
+
+src_compile() {
+	default
+
+	build_locale() {
+		local lrelease="$(qt5_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/librecad.appdata.xml
+	doicon librecad/res/main/${PN}.png
+	make_desktop_entry ${PN} LibreCAD ${PN} Graphics
+}

diff --git a/media-gfx/librecad/librecad-9999.ebuild b/media-gfx/librecad/librecad-9999.ebuild
index 445cd8eabb8a..dd55eaef5195 100644
--- a/media-gfx/librecad/librecad-9999.ebuild
+++ b/media-gfx/librecad/librecad-9999.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
+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 hi hu id_ID it ja ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sv ta tr uk zh_cn zh_tw"
 
-inherit desktop qmake-utils
+inherit desktop edo plocale qmake-utils
 
 DESCRIPTION="Generic 2D CAD program"
 HOMEPAGE="https://www.librecad.org/"
@@ -39,10 +40,38 @@ BDEPEND="
 	dev-qt/linguist-tools:5
 "
 
+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() {
 	eqmake5 -r
 }
 
+src_compile() {
+	default
+
+	build_locale() {
+		local lrelease="$(qt5_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
@@ -50,7 +79,7 @@ src_install() {
 	doins -r unix/resources/*
 	use doc && docinto html && dodoc -r librecad/support/doc/*
 	insinto /usr/share/metainfo
-	doins unix/appdata/librecad.appdata.xml
+	doins unix/appdata/org.librecad.librecad.appdata.xml
 	doicon librecad/res/main/${PN}.png
 	make_desktop_entry ${PN} LibreCAD ${PN} Graphics
 }


             reply	other threads:[~2022-11-28  7:05 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-28  7:05 Joonas Niilola [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-10-25  7:31 [gentoo-commits] repo/gentoo:master commit in: media-gfx/librecad/ Yixun Lan
2024-09-22  7:20 Sam James
2024-09-22  7:20 Sam James
2024-06-30  0:00 Conrad Kostecki
2023-03-17 18:26 Sam James
2023-03-17 17:22 Sam James
2023-02-05  9:13 Joonas Niilola
2023-01-25  4:29 John Helmert III
2022-01-22  8:41 Yixun Lan
2021-05-09 19:12 Andreas Sturmlechner
2020-06-05  9:43 Andreas Sturmlechner
2020-05-29  7:39 Agostino Sarubbo
2020-05-20 12:25 Andreas Sturmlechner
2020-05-20 12:25 Andreas Sturmlechner
2019-08-15 19:47 Slawek Lis
2019-02-02 21:07 Sergei Trofimovich
2018-12-16 23:53 Andreas Sturmlechner
2018-09-09  8:27 Mikle Kolyada
2018-09-02 23:46 Thomas Deutschmann
2018-07-01  0:03 Andreas Sturmlechner
2018-06-03 13:49 Aaron Bauman
2018-01-22  8:40 Jeroen Roovers
2018-01-15 22:01 Andreas Sturmlechner
2018-01-15 22:01 Andreas Sturmlechner
2018-01-15 22:01 Andreas Sturmlechner
2018-01-15 19:03 Tobias Klausmann
2017-11-27  6:50 Slawek Lis
2017-11-18 13:08 Jeroen Roovers
2017-10-31 18:07 Andreas Hüttel
2017-10-26 18:54 Thomas Deutschmann
2016-11-22  6:37 Slawek Lis
2016-11-22  6:37 Slawek Lis
2016-04-07 20:25 Sergei Trofimovich
2016-01-19  8:34 Patrice Clement
2016-01-19  8:34 Patrice Clement
2016-01-19  8:34 Patrice Clement
2015-09-13 20:27 Anthony G. Basile
2015-09-13 19:24 Slawek Lis
2015-09-08  6:30 Slawek Lis
2015-09-02  5:56 Slawek Lis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1669619129.ae3b58318840afcd6c3dfa9d8b9310c68136527f.juippis@gentoo \
    --to=juippis@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox