app-arch/fuse-archive - 1.16 (guru)

Search

Install

Install this version:

emerge -a =app-arch/fuse-archive-1.16

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =app-arch/fuse-archive-1.16

Or alternatively:

emerge --autounmask-write -a =app-arch/fuse-archive-1.16

Package Information

Description:
Read-only FUSE file system for mounting archives and compressed files
Homepage:
https://github.com/google/fuse-archive
License:
Apache-2.0

Ebuild Details

Version EAPI Keywords Slot
1.16 8 ~amd64 0
View Raw Ebuild
# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit toolchain-funcs flag-o-matic optfeature

DESCRIPTION="Read-only FUSE file system for mounting archives and compressed files"
HOMEPAGE="https://github.com/google/fuse-archive"

# Only uses some header-only library from boost-intrusive
# Just vendor it to avoid bringing in entirety of boost as a dependency
BOOST_VERSION="boost-1.87.0"
SRC_URI="
	https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
	https://github.com/boostorg/intrusive/archive/refs/tags/${BOOST_VERSION}.tar.gz -> intrusive-${BOOST_VERSION}.tar.gz
	https://github.com/boostorg/config/archive/refs/tags/${BOOST_VERSION}.tar.gz -> config-${BOOST_VERSION}.tar.gz
	https://github.com/boostorg/assert/archive/refs/tags/${BOOST_VERSION}.tar.gz -> assert-${BOOST_VERSION}.tar.gz
	https://github.com/boostorg/move/archive/refs/tags/${BOOST_VERSION}.tar.gz -> move-${BOOST_VERSION}.tar.gz
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="fuse2"

DEPEND="
	fuse2? ( >=sys-fs/fuse-2.9:0 )
	!fuse2? ( >=sys-fs/fuse-3.1:3 )
	>=app-arch/libarchive-3.7
"
BDEPEND="virtual/pkgconfig"
RDEPEND="${DEPEND}"
# TODO(NRK): enable tests. requires python + a lot of format support.
# also takes a lot of disk space (and time) by generating big.zip.
RESTRICT="test"

src_configure() {
	sed -i 's|-O2||g' Makefile || die "sed failed"
	sed -i 's|-O0 -g||g' Makefile || die "sed failed"
}

src_compile() {
	append-cppflags "-I../intrusive-${BOOST_VERSION}/include"
	append-cppflags "-I../config-${BOOST_VERSION}/include"
	append-cppflags "-I../assert-${BOOST_VERSION}/include"
	append-cppflags "-I../move-${BOOST_VERSION}/include"
	emake CXX="$(tc-getCXX)" PKG_CONFIG="$(tc-getPKG_CONFIG)" \
		FUSE_MAJOR_VERSION="$(usex fuse2 2 3)"
}

src_install() {
	dobin out/fuse-archive
	doman fuse-archive.1
}

pkg_postinst() {
	optfeature "mounting brotli compressed files" "app-arch/brotli"
	optfeature "mounting LZO compressed files" "app-arch/lzop"
	optfeature "mounting compress (.Z) files" "app-arch/ncompress" "app-arch/nix-compress"
}

USE Flags

Manage flags for this package: euse -i <flag> -p app-arch/fuse-archive | euse -E <flag> -p app-arch/fuse-archive | euse -D <flag> -p app-arch/fuse-archive

Global/Standard Flags

Inherited Eclasses

Dependencies

DEPEND

	fuse2? ( >=sys-fs/fuse-2.9:0 )
	!fuse2? ( >=sys-fs/fuse-3.1:3 )
	>=app-arch/libarchive-3.7

RDEPEND

	fuse2? ( >=sys-fs/fuse-2.9:0 )
	!fuse2? ( >=sys-fs/fuse-3.1:3 )
	>=app-arch/libarchive-3.7

BDEPEND

virtual/pkgconfig

Manifest for 1.16

Type File Size Source URLs
DIST assert-boost-1.87.0.tar.gz 20645 bytes https://github.com/boostorg/assert/archive/refs/tags/boost-1.87.0.tar.gz
DIST config-boost-1.87.0.tar.gz 386554 bytes https://github.com/boostorg/config/archive/refs/tags/boost-1.87.0.tar.gz
DIST fuse-archive-1.16.tar.gz 634488 bytes https://github.com/google/fuse-archive/archive/v1.16.tar.gz
DIST intrusive-boost-1.87.0.tar.gz 342888 bytes https://github.com/boostorg/intrusive/archive/refs/tags/boost-1.87.0.tar.gz
DIST move-boost-1.87.0.tar.gz 133396 bytes https://github.com/boostorg/move/archive/refs/tags/boost-1.87.0.tar.gz