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 |
} |