commit: 1a4437b03fa847f421a30a19e67c39270958d309 Author: Michal Privoznik <michal.privoznik <AT> gmail <DOT> com> AuthorDate: Tue Feb 28 12:41:02 2023 +0000 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org> CommitDate: Mon Apr 17 15:04:24 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a4437b0
app-emulation/virtiofsd: Add live ebuild This is new package. virtiofsd allows sharing files between virtual machines and host. app-emulation/qemu used to ship a C implementation, but it was dropped recently [1] in favor of Rust implementation. Package the latter then. The list of crates was generated by 'cargo ebuild' helper. 1: https://gitlab.com/qemu-project/qemu/-/commit/0aaf44776e00d9008806a4731a03271f039515a1 Closes: https://bugs.gentoo.org/show_bug.cgi?id=897892 Signed-off-by: Michal Privoznik <michal.privoznik <AT> gmail.com> Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org> app-emulation/virtiofsd/metadata.xml | 15 +++ app-emulation/virtiofsd/virtiofsd-9999.ebuild | 126 ++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) diff --git a/app-emulation/virtiofsd/metadata.xml b/app-emulation/virtiofsd/metadata.xml new file mode 100644 index 000000000000..1a78f9677df7 --- /dev/null +++ b/app-emulation/virtiofsd/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>michal.privoz...@gmail.com</email> + <name>Michal Privoznik</name> + </maintainer> + <maintainer type="project"> + <email>virtualizat...@gentoo.org</email> + <name>Gentoo Virtualization Project</name> + </maintainer> + <upstream> + <remote-id type="gitlab">virtio-fs/virtiofsd</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-emulation/virtiofsd/virtiofsd-9999.ebuild b/app-emulation/virtiofsd/virtiofsd-9999.ebuild new file mode 100644 index 000000000000..3352892e3b9a --- /dev/null +++ b/app-emulation/virtiofsd/virtiofsd-9999.ebuild @@ -0,0 +1,126 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick-0.7.18 + ansi_term-0.12.1 + arc-swap-1.5.0 + atty-0.2.14 + autocfg-1.1.0 + bitflags-1.3.2 + capng-0.2.2 + cc-1.0.78 + cfg-if-1.0.0 + clap-2.34.0 + env_logger-0.10.0 + errno-0.2.8 + 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.3.3 + hermit-abi-0.1.19 + hermit-abi-0.2.6 + hostname-0.3.1 + humantime-2.1.0 + io-lifetimes-1.0.4 + is-terminal-0.4.2 + itoa-1.0.2 + lazy_static-1.4.0 + libc-0.2.139 + libseccomp-sys-0.2.1 + linux-raw-sys-0.1.4 + log-0.4.17 + match_cfg-0.1.0 + memchr-2.5.0 + num_cpus-1.13.1 + num_threads-0.1.6 + pin-project-lite-0.2.9 + pin-utils-0.1.0 + proc-macro-error-1.0.4 + proc-macro-error-attr-1.0.4 + proc-macro2-1.0.40 + quote-1.0.20 + regex-1.6.0 + regex-syntax-0.6.27 + rustix-0.36.7 + slab-0.4.7 + strsim-0.8.0 + structopt-0.3.26 + structopt-derive-0.4.18 + syn-1.0.98 + syslog-6.0.1 + termcolor-1.1.3 + textwrap-0.11.0 + time-0.3.11 + unicode-ident-1.0.2 + unicode-segmentation-1.9.0 + unicode-width-0.1.9 + vec_map-0.8.2 + version_check-0.9.4 + vhost-0.6.0 + vhost-user-backend-0.8.0 + virtio-bindings-0.1.0 + virtio-queue-0.7.0 + vm-memory-0.10.0 + vmm-sys-util-0.11.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.42.0 + windows_aarch64_gnullvm-0.42.1 + windows_aarch64_msvc-0.42.1 + windows_i686_gnu-0.42.1 + windows_i686_msvc-0.42.1 + windows_x86_64_gnu-0.42.1 + windows_x86_64_gnullvm-0.42.1 + windows_x86_64_msvc-0.42.1 +" + +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.gz + $(cargo_crate_uris ${CRATES})" + KEYWORDS="~amd64" + S="${WORKDIR}/${PN}-v${PV}" +fi + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD 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/bin/${PN}" + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +}