app-editors/zed: add 0.142.5, drop 0.141.3
[gentoo-zh.git] / sys-boot / ventoy-bin / ventoy-bin-1.0.98.ebuild
blobd76efef2ccdaa42ac84a2de29fdbbbd349e419b9
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 S=${WORKDIR}/ventoy-${PV}
13 LICENSE="GPL-3"
14 SLOT="0"
15 KEYWORDS="~amd64"
17 RESTRICT="strip mirror"
19 DEPEND="
20         sys-fs/dosfstools
21         sys-fs/exfat-utils
22         sys-block/parted
24 RDEPEND="${DEPEND}"
26 CARCH="x86_64"
28 src_prepare() {
29         # Decompress tools
30         pushd tool/$CARCH || die
31         for file in *.xz; do
32                 xzcat "$file" >"${file%.xz}" || die
33                 chmod +x "${file%.xz}" || die
34         done
36         # Cleanup .xz crap
37         rm -fv ./*.xz || die
38         popd || die
40         # Apply sanitize patch
41         eapply -p0 "${FILESDIR}/sanitize.patch"
43         # Log location
44         sed -i 's|log\.txt|/var/log/ventoy.log|g' WebUI/static/js/languages.js tool/languages.json || die
46         # Non-POSIX compliant scripts
47         sed -i 's|bin/sh|usr/bin/env bash|g' tool/{ventoy_lib.sh,VentoyWorker.sh} || die
49         # Clean up unused binaries
50         # Preserving mkexfatfs and mount.exfat-fuse because exfatprogs is incompatible
51         for binary in xzcat hexdump; do
52                 rm -fv tool/$CARCH/$binary || die
53         done
54         default
57 src_install() {
58         insopts -m0644
59         insinto /opt/ventoy/boot/
60         doins boot/*
61         insinto /opt/ventoy/ventoy/
62         doins ventoy/*
63         insopts -m0755
64         insinto /opt/ventoy/tool/
65         doins tool/*.{cer,glade,json,sh,xz}
66         insinto /opt/ventoy/tool/$CARCH/
67         doins tool/$CARCH/*
68         insinto /opt/ventoy/
69         doins ./*.sh plugin WebUI "VentoyGUI.$CARCH"
71         # Install .desktop
72         insopts -m0644
73         insinto /usr/share/pixmaps/
74         newins WebUI/static/img/VentoyLogo.png ventoy.png
75         domenu "${FILESDIR}/ventoy.desktop"
77         # Link system binaries
78         for binary in xzcat hexdump; do
79                 dosym -r /usr/bin/$binary /opt/ventoy/tool/$CARCH/$binary
80         done
82         dobin "${FILESDIR}"/ventoy{,gui,web,plugson,-{,extend-}persistent}
84         rm "${D}"/opt/ventoy/tool/x86_64/Ventoy2Disk.gtk2 || die