commit:     403a49314fc5375fd7f775581c7868d3b0d5c41b
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Fri Jun 24 07:58:30 2022 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Fri Jun 24 07:58:30 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=403a4931

media-gfx/zwcad: add 2023.23.0.3.4

Signed-off-by: Huang Rui <vowstar <AT> gmail.com>

 media-gfx/zwcad/Manifest                   |   1 +
 media-gfx/zwcad/zwcad-2023.23.0.3.4.ebuild | 129 +++++++++++++++++++++++++++++
 2 files changed, 130 insertions(+)

diff --git a/media-gfx/zwcad/Manifest b/media-gfx/zwcad/Manifest
index d159e473d..2fe1ceda9 100644
--- a/media-gfx/zwcad/Manifest
+++ b/media-gfx/zwcad/Manifest
@@ -1,2 +1,3 @@
 DIST zwcad-2022.22.2.2.3.deb 159631816 BLAKE2B 
39892032de774e85b472c238caed6c3f09992bc55c967a954099275925bb5c967c887d0bdf3b03d7cdb6cedb6725089a98828dbfdb6aebe82f34c3688373b0c7
 SHA512 
9d5e9a694f459643a7ad2d20cbafbb5847a39e88ab7fef4c7d6c5cbcc61628dda7138b537c3a9b5aec36b430289dd0814395e0e89cc1aacaef75bb5029c5d10d
+DIST zwcad-2023.23.0.3.4.deb 187029904 BLAKE2B 
257c0ff67718d56fadd63e01c47e249d999f5ba1f1425f010ad295009aabfe2d8a6df5fadd78726bbc80efa6d01aa5ee4addba39a19018f0e099de504c4fc30b
 SHA512 
95be727f0474b1c649ea714ec937ea70bac614f86036729b092edd9e5f6d944a8054601743734e54337eaa4b6251c15acd36b8f853f25e0d0bb66e208947ecae
 DIST zwcad-python-3.7.13.tar.bz2 56117484 BLAKE2B 
b81d58d4c8854c4c014276ef7e03e7a2cc16cd6e5aa50c69ac63346087d527e7083f36ab489530aea59a8e07828e315f53bd5075223471471134842f3c09c084
 SHA512 
22eaff6624f6dacbc903a033e99738f67faf2e221ba75cd13f201dfb0ec6f1d09e31e7fe82677d8f1f4f5ae732306213c9864c2615d61827316b782dfacceac4

diff --git a/media-gfx/zwcad/zwcad-2023.23.0.3.4.ebuild 
b/media-gfx/zwcad/zwcad-2023.23.0.3.4.ebuild
new file mode 100644
index 000000000..e1cec7c63
--- /dev/null
+++ b/media-gfx/zwcad/zwcad-2023.23.0.3.4.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV_YEAR="$(ver_cut 1)"
+MY_PV="$(ver_cut 2).$(ver_cut 3).$(ver_cut 4).$(ver_cut 5)"
+MY_PGK_NAME="com.zwsoft.${PN}${MY_PV_YEAR}"
+inherit desktop unpacker xdg
+
+DESCRIPTION="CAD software for 2D drawing, reviewing and printing work"
+HOMEPAGE="https://www.zwsoft.cn/product/zwcad/linux";
+
+SRC_URI="
+       
https://home-store-packages.uniontech.com/appstore/pool/appstore/c/${MY_PGK_NAME}/${MY_PGK_NAME}_${MY_PV}_amd64.deb
 -> ${P}.deb
+       
https://anaconda.org/anaconda/python/3.7.13/download/linux-64/python-3.7.13-h12debd9_0.tar.bz2
 -> ${PN}-python-3.7.13.tar.bz2
+"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+RESTRICT="strip mirror bindist"
+
+RDEPEND="
+       media-libs/fontconfig
+       media-libs/libglvnd
+       sys-apps/util-linux
+       sys-libs/zlib
+       virtual/libcrypt:=
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="dev-util/patchelf"
+
+S=${WORKDIR}
+
+QA_PREBUILT="*"
+
+src_unpack() {
+       unpack_deb "${DISTDIR}/${P}.deb"
+       tar -xf "${DISTDIR}/${PN}-python-3.7.13.tar.bz2" -C 
"${S}/opt/apps/"${MY_PGK_NAME}"/files/ZwPyRuntime/python3.7/" || die
+}
+
+src_install() {
+       # Install scalable icons
+       doicon -s scalable "${S}"/opt/apps/${MY_PGK_NAME}/files/Icons/ZWCAD.svg
+
+       # Fix python and QA problems about python
+       rm -rf "${S}/opt/apps/"${MY_PGK_NAME}"/files/ZwPyRuntime/python3.6/" || 
die
+       rm -rf "${S}/opt/apps/"${MY_PGK_NAME}"/files/libZwPythonLoad6.so" || die
+       rm -rf "${S}/opt/apps/"${MY_PGK_NAME}"/files/ZwPyRuntime/python3.5/" || 
die
+       rm -rf "${S}/opt/apps/"${MY_PGK_NAME}"/files/libZwPythonLoad5.so" || die
+       rm -rf "${S}/opt/apps/"${MY_PGK_NAME}"/files/ZwPyRuntime/python3.4/" || 
die
+       rm -rf "${S}/opt/apps/"${MY_PGK_NAME}"/files/libZwPythonLoad4.so" || die
+       rm -rf 
"${S}/opt/apps/"${MY_PGK_NAME}"/files/ZwPyRuntime/python3.7/compiler_compat" || 
die
+
+       # Set RPATH for preserve-libs handling
+       pushd "${S}"/opt/apps/${MY_PGK_NAME}/files || die
+       local x
+       for x in $(find) ; do
+               # Use \x7fELF header to separate ELF executables and libraries
+               [[ -f "${x}" && "${x: -2}" != ".o" && $(od -t x1 -N 4 "${x}") 
== *"7f 45 4c 46"* ]] || continue
+               local RPATH_ROOT="/opt/apps/${MY_PGK_NAME}/files"
+               local 
RPATH_S="${RPATH_ROOT}/:${RPATH_ROOT}/lib/:${RPATH_ROOT}/lib/mono/lib/:${RPATH_ROOT}/plugins/:${RPATH_ROOT}/zh-CN/:${RPATH_ROOT}/ZwPyRuntime/python3.7/lib"
+               patchelf --set-rpath "${RPATH_S}" "${x}" || \
+                       die "patchelf failed on ${x}"
+       done
+       popd || die
+
+       # Fix desktop files
+       sed -E -i 's/^Exec=.*$/Exec=zwcad %F/g' 
"${S}/opt/apps/${MY_PGK_NAME}/entries/applications/${MY_PGK_NAME}.desktop" || 
die
+       sed -E -i 's/^Icon=.*$/Icon=ZWCAD/g' 
"${S}/opt/apps/${MY_PGK_NAME}/entries/applications/${MY_PGK_NAME}.desktop" || 
die
+       sed -E -i 's/Application;//g' 
"${S}/opt/apps/${MY_PGK_NAME}/entries/applications/${MY_PGK_NAME}.desktop" || 
die
+       # The Version entry in a .desktop file doesn't refer to the version of 
the
+       # target program. It's the version of the desktop file specification 
that
+       # this desktop file conforms to.
+       sed -E -i 's/^Version=.*$/Version=1.0/g' 
"${S}/opt/apps/${MY_PGK_NAME}/entries/applications/${MY_PGK_NAME}.desktop" || 
die
+       sed -E -i 
's/^Categories=.*$/Categories=Graphics;VectorGraphics;Engineering;Construction;2DGraphics;/g'
 "${S}/opt/apps/${MY_PGK_NAME}/entries/applications/${MY_PGK_NAME}.desktop" || 
die
+       domenu 
"${S}/opt/apps/${MY_PGK_NAME}/entries/applications/${MY_PGK_NAME}.desktop"
+
+       sed -i "1i\\export 
MONO_PATH=/opt/apps/${MY_PGK_NAME}/files/lib/mono/lib/mono/4.5\n" 
"${S}/opt/apps/${MY_PGK_NAME}/files/ZWCADRUN.sh" || die
+       sed -E -i 's/export QT_IM_MODULE=fcitx//g' 
"${S}/opt/apps/${MY_PGK_NAME}/files/ZWCADRUN.sh" || die
+
+       # Add zw3d command
+       mkdir -p "${S}"/usr/bin/ || die
+
+       cat >> "${S}"/opt/apps/${MY_PGK_NAME}/zwcad <<- EOF || die
+#!/bin/sh
+if [ -z "\${QT_IM_MODULE}" ]
+then
+       if [ -n "\$(pidof fcitx5)" ]
+       then
+               export XMODIFIERS="@im=fcitx"
+               export QT_IM_MODULE=fcitx
+       elif [ -n "\$(pidof ibus-daemon)" ]
+       then
+               export XMODIFIERS="@im=ibus"
+               export QT_IM_MODULE=ibus
+       elif [ -n "\$(pidof fcitx)" ]
+       then
+               export XMODIFIERS="@im=fcitx"
+               export QT_IM_MODULE=fcitx
+       fi
+fi
+export MONO_PATH=/opt/apps/${MY_PGK_NAME}/files/lib/mono/lib/mono/4.5
+sh /opt/apps/${MY_PGK_NAME}/files/ZWCADRUN.sh \$*
+       EOF
+
+       ln -s /opt/apps/${MY_PGK_NAME}/zwcad "${S}"/usr/bin/zwcad || die
+
+       # Install package and fix permissions
+       insinto /opt/apps/
+       doins -r opt/apps/${MY_PGK_NAME}
+       insinto /usr
+       doins -r usr/*
+
+       fperms 0755 /opt/apps/${MY_PGK_NAME}/zwcad
+
+       pushd "${S}" || die
+       for x in $(find "opt/apps/${MY_PGK_NAME}") ; do
+               # Fix shell script permissions
+               [[ "${x: -3}" == ".sh" ]] && fperms 0755 "/${x}"
+               # Use \x7fELF header to separate ELF executables and libraries
+               [[ -f ${x} && $(od -t x1 -N 4 "${x}") == *"7f 45 4c 46"* ]] && 
fperms 0755 "/${x}"
+       done
+       popd || die
+}

Reply via email to