From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 4D36F158020 for ; Mon, 28 Nov 2022 07:05:40 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5D883E091A; Mon, 28 Nov 2022 07:05:39 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 440F2E091A for ; Mon, 28 Nov 2022 07:05:39 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 4DF0033BF5B for ; Mon, 28 Nov 2022 07:05:38 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id DCCB5756 for ; Mon, 28 Nov 2022 07:05:36 +0000 (UTC) From: "Joonas Niilola" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Joonas Niilola" Message-ID: <1669619129.ae3b58318840afcd6c3dfa9d8b9310c68136527f.juippis@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/librecad/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-gfx/librecad/Manifest media-gfx/librecad/librecad-2.1.3-r7.ebuild media-gfx/librecad/librecad-9999.ebuild X-VCS-Directories: media-gfx/librecad/ X-VCS-Committer: juippis X-VCS-Committer-Name: Joonas Niilola X-VCS-Revision: ae3b58318840afcd6c3dfa9d8b9310c68136527f X-VCS-Branch: master Date: Mon, 28 Nov 2022 07:05:36 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 6c120334-0649-4913-9a5c-fd09fbee73d9 X-Archives-Hash: 850f99068b89705a84dacec50679182a commit: ae3b58318840afcd6c3dfa9d8b9310c68136527f Author: Alexander Golubev gmail com> AuthorDate: Mon Nov 7 08:11:20 2022 +0000 Commit: Joonas Niilola gentoo 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 gmail.com> Closes: https://github.com/gentoo/gentoo/pull/28164 Signed-off-by: Joonas Niilola 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 }