summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/virtiofsd/virtiofsd-9999.ebuild')
-rw-r--r--app-emulation/virtiofsd/virtiofsd-9999.ebuild148
1 files changed, 148 insertions, 0 deletions
diff --git a/app-emulation/virtiofsd/virtiofsd-9999.ebuild b/app-emulation/virtiofsd/virtiofsd-9999.ebuild
new file mode 100644
index 000000000000..8eaeb54ded93
--- /dev/null
+++ b/app-emulation/virtiofsd/virtiofsd-9999.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@0.7.18
+ anstream@0.3.2
+ anstyle@1.0.1
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@1.0.1
+ arc-swap@1.5.0
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.1
+ capng@0.2.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ clap@4.3.11
+ clap_builder@4.3.11
+ clap_derive@4.3.2
+ clap_lex@0.5.0
+ colorchoice@1.0.0
+ env_logger@0.8.4
+ errno@0.3.1
+ errno-dragonfly@0.1.2
+ error-chain@0.12.4
+ futures@0.3.21
+ futures-channel@0.3.21
+ futures-core@0.3.21
+ futures-executor@0.3.21
+ futures-io@0.3.21
+ futures-macro@0.3.21
+ futures-sink@0.3.21
+ futures-task@0.3.21
+ futures-util@0.3.21
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.2
+ hostname@0.3.1
+ humantime@2.1.0
+ is-terminal@0.4.9
+ itoa@1.0.2
+ libc@0.2.147
+ libseccomp-sys@0.2.1
+ linux-raw-sys@0.4.5
+ log@0.4.17
+ match_cfg@0.1.0
+ memchr@2.5.0
+ num_cpus@1.13.1
+ num_threads@0.1.6
+ once_cell@1.18.0
+ pin-project-lite@0.2.9
+ pin-utils@0.1.0
+ proc-macro2@1.0.63
+ quote@1.0.29
+ regex@1.6.0
+ regex-syntax@0.6.27
+ rustix@0.38.7
+ slab@0.4.7
+ strsim@0.10.0
+ syn@1.0.98
+ syn@2.0.23
+ syslog@6.0.1
+ termcolor@1.1.3
+ thiserror@1.0.41
+ thiserror-impl@1.0.41
+ time@0.3.11
+ unicode-ident@1.0.2
+ utf8parse@0.2.1
+ version_check@0.9.4
+ vhost@0.10.0
+ vhost-user-backend@0.13.1
+ virtio-bindings@0.2.2
+ virtio-queue@0.11.0
+ vm-memory@0.14.0
+ vmm-sys-util@0.12.1
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ windows-sys@0.48.0
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo
+
+DESCRIPTION="Shared file system for virtual machines"
+HOMEPAGE="https://virtio-fs.gitlab.io/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/virtio-fs/virtiofsd.git"
+ EGIT_BRANCH="main"
+else
+ SRC_URI="https://gitlab.com/virtio-fs/virtiofsd/-/archive/v${PV}/virtiofsd-v${PV}.tar.bz2"
+ SRC_URI+=" ${CARGO_CRATE_URIS}"
+ KEYWORDS="~amd64 ~ppc64"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="Apache-2.0 BSD"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 Unlicense"
+SLOT="0"
+
+DEPEND="
+ sys-libs/libcap-ng
+ sys-libs/libseccomp
+"
+RDEPEND="${DEPEND}"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+# update with proper path to binaries this crate installs, omit leading /
+QA_FLAGS_IGNORED="usr/libexec/${PN}"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_install() {
+ cargo_src_install
+
+ mkdir "${ED}/usr/libexec" || die
+ mv "${ED}/usr/"{bin,libexec}/${PN} || die
+
+ # Install 50-virtiofsd.json but to avoid conflicts with
+ # <app-emulation/qemu-8.0.0 install it under different name. In this case,
+ # smaller number means higher priority, but that's probably what users want
+ # anyway if they install this package on top of app-emulation/qemu.
+ # TODO: remove once old QEMUs are removed from the portage.
+ insinto "/usr/share/qemu/vhost-user"
+ newins "50-virtiofsd.json" "40-virtiofsd.json"
+}