%bcond check 0 Name: dwarfs Version: 0.15.3 Release: 1%{?dist} Summary: A fast high compression read-only file system for Linux, Windows and macOS License: GPL-3.0-or-later URL: https://github.com/mhx/%{name} Source: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.xz BuildRequires: binutils-devel BuildRequires: bison BuildRequires: boost-devel BuildRequires: cmake BuildRequires: flex BuildRequires: fuse3 BuildRequires: gcc-c++ BuildRequires: ninja-build BuildRequires: parallel-hashmap-devel BuildRequires: python3-devel BuildRequires: rubygem(ronn-ng) BuildRequires: upx BuildRequires: cmake(benchmark) BuildRequires: cmake(date) BuildRequires: cmake(flac) BuildRequires: cmake(fmt) BuildRequires: cmake(gtest) BuildRequires: cmake(nlohmann_json) BuildRequires: cmake(range-v3) BuildRequires: cmake(utf8cpp) BuildRequires: pkgconfig(benchmark) BuildRequires: pkgconfig(fuse3) BuildRequires: pkgconfig(gmock) BuildRequires: pkgconfig(jemalloc) BuildRequires: pkgconfig(libacl) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libbrotlicommon) BuildRequires: pkgconfig(libdw) BuildRequires: pkgconfig(libdwarf) BuildRequires: pkgconfig(libevent) BuildRequires: pkgconfig(libglog) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libmagic) BuildRequires: pkgconfig(libunwind) BuildRequires: pkgconfig(libxxhash) BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(mimalloc) BuildRequires: pkgconfig(openssl) # BuildRequires: # BuildRequires: ccache # BuildRequires: clang # BuildRequires: cmake(double-conversion) # BuildRequires: git # BuildRequires: make # BuildRequires: pkgconf Requires: bzip2-libs Requires: fuse3 Requires: gflags Requires: libattr Requires: lib%{name} Requires: libxml2 Requires: libzstd Requires: zlib-ng-compat %global _description %{expand: The Deduplicating Warp-speed Advanced Read-only File System. DwarFS is a deduplicating compressed read-only file system particularly suited for very redundant data. Compared to SquashFS, it is typically more efficient.} %description %{_description} %files %doc CHANGES.md README.md %license LICENSE %{_bindir}/%{name}ck %{_bindir}/%{name}extract %{_bindir}/mk%{name} %{_sbindir}/%{name} %{_sbindir}/mount.%{name} %{_datadir}/applications/%{name}-mount-handler.desktop %{_datadir}/mime/packages/%{name}.xml %{_mandir}/man1/%{name}.1.gz %{_mandir}/man1/%{name}ck.1.gz %{_mandir}/man1/%{name}extract.1.gz %{_mandir}/man1/mk%{name}.1.gz %{_mandir}/man5/%{name}-format.5.gz %{_mandir}/man7/%{name}-env.7.gz #------------------------------------------------------------------------------- %package devel Summary: Development files for DwarFS. Requires: %{name} %description devel %{_description} This package contains the development files for DwarFS. %files devel %{_includedir}/%{name} %{_libdir}/cmake/%{name} %{_libdir}/lib%{name}_{common,compressor,decompressor,reader,writer,extractor,rewrite}.so #------------------------------------------------------------------------------- %package -n lib%{name} Summary: DwarFS dynamic library Enhances: %{name} %description -n lib%{name} %{_description} This package contains the dynamic library for DwarFS. %files -n lib%{name} %{_libdir}/lib%{name}_{common,compressor,decompressor,reader,writer,extractor,rewrite}.so.%{version} #------------------------------------------------------------------------------- %package bash-completion Summary: Bash completion for DwarFS. Requires: %{name} %description bash-completion This package contains the development files for DwarFS. %files bash-completion %{bash_completions_dir}/%{name} %{bash_completions_dir}/%{name}ck %{bash_completions_dir}/%{name}extract %{bash_completions_dir}/mk%{name} #------------------------------------------------------------------------------- %package zsh-completion Summary: zsh completion for DWARFS. Requires: %{name} %description zsh-completion This package contains the development files for DWARFS. %files zsh-completion %{zsh_completions_dir}/_%{name} %{zsh_completions_dir}/_%{name}ck %{zsh_completions_dir}/_%{name}extract %{zsh_completions_dir}/_mk%{name} #------------------------------------------------------------------------------- %prep %autosetup -p1 -n %{name}-%{version} %build %cmake -GNinja -DPREFER_SYSTEM_GTEST=ON -DPREFER_SYSTEM_LIBFMT=ON \ -DPREFER_SYSTEM_XXHASH=ON -DPREFER_SYSTEM_ZSTD=ON -DWITH_FUSE_DRIVER=ON \ -DWITH_LIBDWARFS=ON -DWITH_TESTS=ON -DWITH_TOOLS=ON -DDISABLE_MOLD=ON # -DNIXPKGS_DWARFS_VERSION_OVERRIDE=v%%{version} %cmake_build %install %cmake_install %if %{with check} %check # Sparse file tests fail in build environments where the filesystem does not # support holes (e.g. tmpfs), so exclude them. %ctest --exclude-regex 'sparse|os_access_generic\.symlink_info' %endif #------------------------------------------------------------------------------- %changelog * Fri Apr 17 2026 Hazel Bunny - 0.15.3-1 - Initial package