summaryrefslogtreecommitdiff
path: root/media-gfx/librecad
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-11-28 13:19:25 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-11-28 13:19:25 +0000
commit7f273220431bac2cbbe19e52f95a2d33b16e66b4 (patch)
tree5dec949a6ca04a290db44192ef0d5681b4bc3ace /media-gfx/librecad
parentc1cdf388025eed22cca32ace0115377d0026e712 (diff)
gentoo auto-resync : 28:11:2022 - 13:19:24
Diffstat (limited to 'media-gfx/librecad')
-rw-r--r--media-gfx/librecad/Manifest4
-rw-r--r--media-gfx/librecad/librecad-2.1.3-r7.ebuild99
-rw-r--r--media-gfx/librecad/librecad-9999.ebuild37
3 files changed, 135 insertions, 5 deletions
diff --git a/media-gfx/librecad/Manifest b/media-gfx/librecad/Manifest
index 10f3c480fffa..d172c9d09e58 100644
--- a/media-gfx/librecad/Manifest
+++ b/media-gfx/librecad/Manifest
@@ -3,6 +3,8 @@ AUX librecad-2.1.3-gcc-9.patch 8494 BLAKE2B 85f7cfd7822d27c4b76b6cc9b71f9667b912
AUX librecad-2.1.3-qt-5.11.patch 1396 BLAKE2B 80e637b724df81dce60c17354bed56a2329dd4c3f445b40ea18a4a49614f2ee34114e1b6cc008b29e2dbd7b65c53340aaa447173f6f4d23d80e1a8809131aae7 SHA512 5e4ae43ac89fc8acf779fec9e062cac3896f0e41b0bf7fdab91ef128ab1a20a4ecda71ef332d9af7403f11a813323cc509e0682e5ffdf97786599271a2711f25
AUX librecad-2.1.3-qt-5.15.patch 1270 BLAKE2B 0947b13ff328e4f1c3ac04d846e7ed372d76d4858cecff5fe4ff8fc8c3c1558cd0e9ac53354e1f0b5b1d137db09c8205f034df9356b9b9e3206a611608fb8166 SHA512 b1a5afe1d22b7725c7d10a10bed5e52495cda7699ff20bd0f75bbfe28f7131a3d9cd5ec0a1ae7fd329196d2f88bb4b8336301fdb6efa073d773f31340a062ba0
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
EBUILD librecad-2.1.3-r6.ebuild 1254 BLAKE2B d6d75d7b1aadc436b633af6cd4134fffccf7571c3b8c065b80790986d025eb37adcd5afd66102d6bbe8aaa9d712eb28ebf54a293f57907e32ec55a2efff0bca3 SHA512 82b25277f0de277d7884d52520e67503c413ad8ad65b8df64024f5dcdf8704a481c11ede8185014964b7aaa9e0abe3e775043c6e976c5eae8c43cbc9e14e8e7a
-EBUILD librecad-9999.ebuild 1191 BLAKE2B 3e8277ba06d2de3b30f1e7325f01e4a9cc64538ff2a3fef3c2f844785a4a77db33993b2839c04e12c20808aa5307f000856dd1934276ff66eaaac4e938a8b378 SHA512 75d1796d6521cb3cc72eae6d0437d8548a315d538a13fd42cebd847fc7c4f671edf802377467af44322399ab2d1d0c2479944c1f5cc3d290aad40c90531e1200
+EBUILD librecad-2.1.3-r7.ebuild 2881 BLAKE2B 4ba5c21b94eca93d8f454581c8433a117a77ddc59e6224c51a98cd1346444f051d7cc5f801809f59eb81d09dcb3cae89de642b169528cfa7ce02359197c4b1e3 SHA512 0bf665ee3102468ef462e5d44f6198e32c6e88bb27e49f9c8eb11df73c1f3dd48bee451510b3f4e50e5143c2e17296baa9e196f2126efe94f1b1dcdc968dcd7b
+EBUILD librecad-9999.ebuild 2357 BLAKE2B f1b84cd8486d81b2a11216448be1e7c36d8d4347bfe09297a472b31278fa9e7aeeb4d9f325ed234ac05a0ae6065280efd159b7847195bd868d0991f6101f6c04 SHA512 ca46b07e00004e93ff1fcc2be9ea55049fa92154ce26eca11d033476d66b401653106dfe0fd835e07421d67d651a9af27a9cc505a440f85b43d3ba0c76d17d40
MISC metadata.xml 333 BLAKE2B 2790ea3fb043f1d8393fd715b4669edab3229e1de59e27cc70f3fd3cc13f83964ad1dc6a5534af981111b4ba1a2c7d29501015459e300905574fbc59fce88ee2 SHA512 bf932b64f53780d10e7e64845f4d50f1726f9d57e4625cb94ed2dcc761a0d7f409731b9e9cd1475880b283b43d7b0b979493b984cb243f09954a38f39baac5b9
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
}