googlecode.eclass: clean unused eclass
[gentoo-zh.git] / sys-boot / ventoy-bin / ventoy-bin-1.0.94.ebuild
blob8452640b5a4477d2392e02488cfe9be239fbd3d7
1 # Copyright 2023 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
6 inherit desktop xdg
8 DESCRIPTION="A new multiboot USB solution"
9 HOMEPAGE="http://www.ventoy.net"
10 SRC_URI="https://github.com/ventoy/Ventoy/releases/download/v${PV}/ventoy-${PV}-linux.tar.gz"
12 LICENSE="GPL-3"
13 SLOT="0"
14 KEYWORDS="~amd64"
15 IUSE=""
17 RESTRICT="strip mirror"
19 DEPEND="
20         sys-fs/dosfstools
21         sys-fs/exfat-utils
22         sys-block/parted
24 RDEPEND="${DEPEND}"
26 S=${WORKDIR}/ventoy-${PV}
28 CARCH="x86_64"
30 src_prepare() {
31         # Decompress tools
32         pushd tool/$CARCH || die
33         for file in *.xz; do
34                 xzcat "$file" >"${file%.xz}" || die
35                 chmod +x "${file%.xz}" || die
36         done
38         # Cleanup .xz crap
39         rm -fv ./*.xz || die
40         popd || die
42         # Apply sanitize patch
43         eapply -p0 "${FILESDIR}/sanitize.patch"
45         # Log location
46         sed -i 's|log\.txt|/var/log/ventoy.log|g' WebUI/static/js/languages.js tool/languages.json || die
48         # Non-POSIX compliant scripts
49         sed -i 's|bin/sh|usr/bin/env bash|g' tool/{ventoy_lib.sh,VentoyWorker.sh} || die
51         # Clean up unused binaries
52         # Preserving mkexfatfs and mount.exfat-fuse because exfatprogs is incompatible
53         for binary in xzcat hexdump; do
54                 rm -fv tool/$CARCH/$binary || die
55         done
56         default
59 src_install() {
60         insopts -m0644
61         insinto /opt/ventoy/boot/
62         doins boot/*
63         insinto /opt/ventoy/ventoy/
64         doins ventoy/*
65         insopts -m0755
66         insinto /opt/ventoy/tool/
67         doins tool/*.{cer,glade,json,sh,xz}
68         insinto /opt/ventoy/tool/$CARCH/
69         doins tool/$CARCH/*
70         insinto /opt/ventoy/
71         doins ./*.sh plugin WebUI "VentoyGUI.$CARCH"
73         # Install .desktop
74         insopts -m0644
75         insinto /usr/share/pixmaps/
76         newins WebUI/static/img/VentoyLogo.png ventoy.png
77         domenu "${FILESDIR}/ventoy.desktop"
79         # Link system binaries
80         for binary in xzcat hexdump; do
81                 dosym -r /usr/bin/$binary /opt/ventoy/tool/$CARCH/$binary
82         done
84         dobin "${FILESDIR}"/ventoy{,gui,web,plugson,-{,extend-}persistent}
86         rm "${D}"/opt/ventoy/tool/x86_64/Ventoy2Disk.gtk2 || die