aboutsummaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/dwarfs/dwarfs-0.10.1-r1.ebuild110
1 files changed, 110 insertions, 0 deletions
diff --git a/sys-fs/dwarfs/dwarfs-0.10.1-r1.ebuild b/sys-fs/dwarfs/dwarfs-0.10.1-r1.ebuild
new file mode 100644
index 000000000..ca689e9c8
--- /dev/null
+++ b/sys-fs/dwarfs/dwarfs-0.10.1-r1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs cmake flag-o-matic
+
+DESCRIPTION="A fast high compression read-only file system for Linux, Windows and macOS"
+HOMEPAGE="https://github.com/mhx/dwarfs"
+SRC_URI="https://github.com/mhx/dwarfs/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+jemalloc test +tools +fuse +perfmon flac ricepp stacktrace"
+S="${WORKDIR}/dwarfs-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/dwarfs-libfmt9.patch
+)
+
+RDEPEND="
+ >=app-arch/libarchive-3.6.0
+ >=app-arch/brotli-1.0.9
+ >=app-arch/lz4-1.9.3
+ >=app-arch/xz-utils-5.2.5
+ >=app-arch/zstd-1.4.8
+ dev-cpp/gflags
+ dev-cpp/glog[gflags]
+ >=dev-cpp/parallel-hashmap-1.3.8
+ dev-libs/boost[context]
+ dev-libs/double-conversion
+ dev-libs/libevent
+ >=dev-libs/libfmt-9.1.0
+ dev-libs/utfcpp
+ >=dev-libs/xxhash-0.8.1
+ flac? ( >=media-libs/flac-1.4.2 )
+ fuse? ( sys-fs/fuse:3 )
+ sys-libs/binutils-libs
+ stacktrace? ( sys-libs/libunwind )
+ sys-libs/zlib
+ jemalloc? ( >=dev-libs/jemalloc-5.2.1 )
+ test? ( >=dev-cpp/gtest-1.13.0 )
+ >=dev-cpp/range-v3-0.12.0
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+FEATURES="
+ stacktrace? ( nostrip )
+"
+
+DOCS=( "README.md" "CHANGES.md" "TODO" )
+RESTRICT="!test? ( test )"
+
+CHECKREQS_DISK_BUILD="500M"
+CMAKE_WARN_UNUSED_CLI=0
+
+src_prepare(){
+ cmake_src_prepare
+ sed "s/DESTINATION lib/DESTINATION $(get_libdir)/" -i cmake/libdwarfs.cmake || die
+}
+
+src_configure(){
+ mycmakeargs=(
+ -DUSE_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_TESTS=$(usex test ON OFF)
+ -DWITH_MAN_PAGES=ON
+ -DWITH_MAN_OPTION=ON
+ -DWITH_LIBDWARFS=ON
+ -DWITH_TOOLS=$(usex tools ON OFF)
+ -DWITH_FUSE_DRIVER=$(usex fuse ON OFF)
+ -DENABLE_PERFMON=$(usex perfmon ON OFF)
+ -DTRY_ENABLE_FLAC=$(usex flac ON OFF)
+ -DENABLE_RICEPP=$(usex ricepp ON OFF)
+ -DENABLE_STACKTRACE=$(usex stacktrace ON OFF)
+ -DWITH_LEGACY_FUSE=OFF
+ -DPREFER_SYSTEM_GTEST=ON
+ )
+ cmake_src_configure
+}
+
+src_test(){
+ export DWARFS_SKIP_FUSE_TESTS=1
+ local CMAKE_SKIP_TESTS=(
+ # Perfmon is not working within sandbox
+ dwarfsextract_test.perfmon
+ )
+
+ cmake_src_test
+}
+
+pkg_postinst(){
+ elog "More information: ${HOMEPAGE}"
+ if use tools ; then
+ elog " creating images: mkdwarfs --man"
+ elog " creating images: man mkdwarfs"
+ elog " creating images: ${HOMEPAGE}/blob/main/doc/mkdwarfs.md"
+ fi
+ if use fuse ; then
+ elog " mounting images: dwarfs --man"
+ elog " mounting images: man dwarfs"
+ elog " mounting images: ${HOMEPAGE}/blob/main/doc/dwarfs.md"
+ fi
+}