Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/librecad/
Date: Mon, 28 Nov 2022 07:05:40
Message-Id: 1669619129.ae3b58318840afcd6c3dfa9d8b9310c68136527f.juippis@gentoo
1 commit: ae3b58318840afcd6c3dfa9d8b9310c68136527f
2 Author: Alexander Golubev <fatzer2 <AT> gmail <DOT> com>
3 AuthorDate: Mon Nov 7 08:11:20 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Mon Nov 28 07:05:29 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae3b5831
7
8 media-gfx/librecad: several improvements
9
10 * bump to EAPI=8
11 * fix tranlation install
12 * fix live ebuild installation
13 * patch several CVEs
14
15 Bug: https://bugs.gentoo.org/847394
16 Bug: https://bugs.gentoo.org/852941
17 Bug: https://bugs.gentoo.org/825362
18 Bug: https://bugs.gentoo.org/832210
19 Closes: https://bugs.gentoo.org/878925
20 Signed-off-by: Alexander Golubev <fatzer2 <AT> gmail.com>
21 Closes: https://github.com/gentoo/gentoo/pull/28164
22 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
23
24 media-gfx/librecad/Manifest | 1 +
25 media-gfx/librecad/librecad-2.1.3-r7.ebuild | 99 +++++++++++++++++++++++++++++
26 media-gfx/librecad/librecad-9999.ebuild | 37 +++++++++--
27 3 files changed, 133 insertions(+), 4 deletions(-)
28
29 diff --git a/media-gfx/librecad/Manifest b/media-gfx/librecad/Manifest
30 index fcff5ba5ec8f..2a3edced4862 100644
31 --- a/media-gfx/librecad/Manifest
32 +++ b/media-gfx/librecad/Manifest
33 @@ -1 +1,2 @@
34 DIST librecad-2.1.3.tar.gz 22415288 BLAKE2B fb920113a7e4b2e9e7e3425f77364c36f6be676a3cd109798786b06d31698fd11437bc7f50cb843ca02d761730e83db7fde475d1bce6a65336a845b5b0114918 SHA512 246cffcc1ea3389997b4a738ab5e3d78e8c1096817ecb1ca28f38d601bc5d1a95f60798ac82308914a34da7b5dbc302b8363cf8b58a97221fdc8ee63010adc6c
35 +DIST librecad-gentoo-CVE-patches-2.1.3.tar.gz 11687 BLAKE2B 4676fa60033e6d0ace35bbebfae569366a50ec46c2dc5b90bace9564e1f6c2020f733f63981788b6f5288fb0c57760215e7b35f294656c21787ebdefa8447fa0 SHA512 b485b41ab1d6eb61750c11a9b327fc70d28cd0cf689b3cd815b4982d3d800737f402522d9c3d416f1e43422166e7de4f97055de238cc2fe80cc45f11fa3377e6
36
37 diff --git a/media-gfx/librecad/librecad-2.1.3-r7.ebuild b/media-gfx/librecad/librecad-2.1.3-r7.ebuild
38 new file mode 100644
39 index 000000000000..3f3a914a5304
40 --- /dev/null
41 +++ b/media-gfx/librecad/librecad-2.1.3-r7.ebuild
42 @@ -0,0 +1,99 @@
43 +# Copyright 1999-2022 Gentoo Authors
44 +# Distributed under the terms of the GNU General Public License v2
45 +
46 +EAPI=8
47 +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"
48 +
49 +inherit desktop edo plocale qmake-utils
50 +
51 +DESCRIPTION="Generic 2D CAD program"
52 +HOMEPAGE="https://www.librecad.org/"
53 +
54 +if [[ ${PV} == *9999* ]]; then
55 + EGIT_REPO_URI="https://github.com/LibreCAD/LibreCAD.git"
56 + inherit git-r3
57 +else
58 + SRC_URI="https://github.com/LibreCAD/LibreCAD/archive/${PV/_/}.tar.gz -> ${P}.tar.gz
59 + https://github.com/Fat-Zer/librecad-gentoo-CVE-patches/archive/v${PV/_/}.tar.gz -> librecad-gentoo-CVE-patches-${PV}.tar.gz
60 + "
61 + S="${WORKDIR}/LibreCAD-${PV}"
62 + KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
63 +fi
64 +
65 +LICENSE="GPL-2"
66 +SLOT="0"
67 +IUSE="debug doc tools"
68 +
69 +RDEPEND="
70 + dev-cpp/muParser
71 + dev-libs/boost:=
72 + dev-qt/qtcore:5
73 + dev-qt/qtgui:5
74 + dev-qt/qtprintsupport:5
75 + dev-qt/qtsvg:5
76 + dev-qt/qtwidgets:5
77 + media-libs/freetype:2
78 +"
79 +DEPEND="${RDEPEND}
80 + dev-qt/qthelp:5
81 + dev-qt/qtxml:5
82 +"
83 +BDEPEND="
84 + dev-qt/linguist-tools:5
85 +"
86 +
87 +PATCHES=(
88 + "${FILESDIR}/${P}-qt-5.11.patch"
89 + "${FILESDIR}/${P}-gcc-9.patch"
90 + "${FILESDIR}/${P}-qt-5.15.patch"
91 + "${FILESDIR}/${P}-boost-1.76.patch" # bug 788706, upstream PR#1345
92 +)
93 +
94 +src_prepare() {
95 + default
96 +
97 + # Note: the CVE patches are borrowed from debian packaging; some of the
98 + # patches are too big for the tree; move them to a separate repo/
99 + # see bug #825362 and bug #832210
100 + eapply "${WORKDIR}/librecad-gentoo-CVE-patches-${PV}"
101 +
102 + # Stock script doesn't work correctly on gentoo (see bug #847394)
103 + # and also it compiles all translations regardles of selected locales.
104 + # To avoid this just comment out locale building and do it manually
105 + sed -i -e '/LRELEASE/s!^!# !' scripts/postprocess-unix.sh || die
106 +
107 + plocale_find_changes 'librecad/ts' 'librecad_' '.ts'
108 +}
109 +
110 +src_configure() {
111 + eqmake5 -r
112 +}
113 +
114 +src_compile() {
115 + default
116 +
117 + build_locale() {
118 + local lrelease="$(qt5_get_bindir)/lrelease"
119 + edo "${lrelease}" "librecad/ts/librecad_${1}.ts" \
120 + -qm "unix/resources/qm/librecad_${1}.qm"
121 + edo "${lrelease}" "plugins/ts/plugins_${1}.ts" \
122 + -qm "unix/resources/qm/plugins_${1}.qm"
123 + }
124 +
125 + plocale_for_each_locale build_locale
126 + # We want the en locale to be always present. Otherwise it could
127 + # be impossible to select the English command set which is quite crucial.
128 + has en $(plocale_get_locales) || build_locale en
129 +}
130 +
131 +src_install() {
132 + dobin unix/librecad
133 + use tools && dobin unix/ttf2lff
134 + insinto /usr/share/${PN}
135 + doins -r unix/resources/*
136 + use doc && docinto html && dodoc -r librecad/support/doc/*
137 + insinto /usr/share/metainfo
138 + doins unix/appdata/librecad.appdata.xml
139 + doicon librecad/res/main/${PN}.png
140 + make_desktop_entry ${PN} LibreCAD ${PN} Graphics
141 +}
142
143 diff --git a/media-gfx/librecad/librecad-9999.ebuild b/media-gfx/librecad/librecad-9999.ebuild
144 index 445cd8eabb8a..dd55eaef5195 100644
145 --- a/media-gfx/librecad/librecad-9999.ebuild
146 +++ b/media-gfx/librecad/librecad-9999.ebuild
147 @@ -1,9 +1,10 @@
148 -# Copyright 1999-2021 Gentoo Authors
149 +# Copyright 1999-2022 Gentoo Authors
150 # Distributed under the terms of the GNU General Public License v2
151
152 -EAPI=7
153 +EAPI=8
154 +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"
155
156 -inherit desktop qmake-utils
157 +inherit desktop edo plocale qmake-utils
158
159 DESCRIPTION="Generic 2D CAD program"
160 HOMEPAGE="https://www.librecad.org/"
161 @@ -39,10 +40,38 @@ BDEPEND="
162 dev-qt/linguist-tools:5
163 "
164
165 +src_prepare() {
166 + default
167 +
168 + # Stock script doesn't work correctly on gentoo (see bug #847394)
169 + # and also it compiles all translations regardles of selected locales.
170 + # To avoid this just comment out locale building and do it manually
171 + sed -i -e '/LRELEASE/s!^!# !' scripts/postprocess-unix.sh || die
172 +
173 + plocale_find_changes 'librecad/ts' 'librecad_' '.ts'
174 +}
175 +
176 src_configure() {
177 eqmake5 -r
178 }
179
180 +src_compile() {
181 + default
182 +
183 + build_locale() {
184 + local lrelease="$(qt5_get_bindir)/lrelease"
185 + edo "${lrelease}" "librecad/ts/librecad_${1}.ts" \
186 + -qm "unix/resources/qm/librecad_${1}.qm"
187 + edo "${lrelease}" "plugins/ts/plugins_${1}.ts" \
188 + -qm "unix/resources/qm/plugins_${1}.qm"
189 + }
190 +
191 + plocale_for_each_locale build_locale
192 + # We want the en locale to be always present. Otherwise it could
193 + # be impossible to select the English command set which is quite crucial.
194 + has en $(plocale_get_locales) || build_locale en
195 +}
196 +
197 src_install() {
198 dobin unix/librecad
199 use tools && dobin unix/ttf2lff
200 @@ -50,7 +79,7 @@ src_install() {
201 doins -r unix/resources/*
202 use doc && docinto html && dodoc -r librecad/support/doc/*
203 insinto /usr/share/metainfo
204 - doins unix/appdata/librecad.appdata.xml
205 + doins unix/appdata/org.librecad.librecad.appdata.xml
206 doicon librecad/res/main/${PN}.png
207 make_desktop_entry ${PN} LibreCAD ${PN} Graphics
208 }