diff options
Diffstat (limited to 'media-gfx/librecad/librecad-2.2.0.ebuild')
-rw-r--r-- | media-gfx/librecad/librecad-2.2.0.ebuild | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/media-gfx/librecad/librecad-2.2.0.ebuild b/media-gfx/librecad/librecad-2.2.0.ebuild new file mode 100644 index 000000000000..6764913d807a --- /dev/null +++ b/media-gfx/librecad/librecad-2.2.0.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2023 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 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 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" + 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 +" + +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 + insinto /usr/share/${PN} + doins -r unix/resources/* + use doc && docinto html && dodoc -r librecad/support/doc/* + insinto /usr/share/metainfo + doins unix/appdata/org.librecad.librecad.appdata.xml + doicon librecad/res/main/${PN}.png + make_desktop_entry ${PN} LibreCAD ${PN} Graphics +} |