Running nixpkgs-update (https://nix-community.org/update-bot/) with UPDATE_INFO: dwarfs 0.14.0 -> 0.15.7 https://repology.org/project/dwarfs/versions attrpath: dwarfs Checking auto update branch... No auto update branch exists Old version 0.14.0" not present in master derivation file with contents: { lib, fetchFromGitHub, stdenv, bison, boost, brotli, cmake, double-conversion, fmt, fuse3, flac, glog, gtest, jemalloc, libarchive, libevent, libunwind, lz4, openssl, pkg-config, python3, range-v3, ronn, xxhash, utf8cpp, zstd, parallel-hashmap, nlohmann_json, libdwarf, versionCheckHook, }: stdenv.mkDerivation (finalAttrs: { pname = "dwarfs"; version = "0.15.7"; src = fetchFromGitHub { owner = "mhx"; repo = "dwarfs"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-oC5Ki0Fc8c+PD39rRTzc2WErXkxEBZM+k9Ac5Xptats="; }; cmakeFlags = [ "-DNIXPKGS_DWARFS_VERSION_OVERRIDE=v${finalAttrs.version}" # see https://github.com/mhx/dwarfs/issues/155 # Needs to be set so `dwarfs` does not try to download `gtest`; it is not # a submodule, see: https://github.com/mhx/dwarfs/issues/188#issuecomment-1907657083 "-DPREFER_SYSTEM_GTEST=ON" # Upstream composes DESTDIR + CMAKE_INSTALL_PREFIX + CMAKE_INSTALL_SBINDIR # in a create_link() install script. Keep SBINDIR relative to avoid # nested nix/store path creation in the output. "-DCMAKE_INSTALL_SBINDIR=sbin" "-DWITH_LEGACY_FUSE=ON" "-DWITH_TESTS=ON" ]; nativeBuildInputs = [ bison cmake pkg-config range-v3 # header-only library ronn (python3.withPackages (ps: [ ps.mistletoe ])) # for man pages ]; buildInputs = [ # dwarfs parallel-hashmap nlohmann_json boost brotli flac # optional; allows automatic audio compression fmt fuse3 jemalloc libarchive lz4 xxhash utf8cpp zstd # folly double-conversion glog libevent libunwind openssl libdwarf # DWARFS_STACKTRACE_ENABLED relies on FOLLY_USE_SYMBOLIZER, which needs FOLLY_HAVE_DWARF ]; doCheck = true; nativeCheckInputs = [ # https://github.com/mhx/dwarfs/issues/188#issuecomment-1907574427 # `dwarfs` sets C++20 as the minimum, see # https://github.com/mhx/dwarfs/blob/2cb5542a5d4274225c5933370adcf00035f6c974/CMakeLists.txt#L129 # Thus the `gtest` headers, when included, # refer to symbols that only exist in `.so` files compiled with that version. (gtest.override { cxx_standard = "20"; }) ]; # these fail inside of the sandbox due to missing access # to the FUSE device env.GTEST_FILTER = let disabledTests = [ "dwarfs/tools_test.end_to_end/*" "dwarfs/tools_test.mutating_and_error_ops/*" "dwarfs/tools_test.categorize/*" # Requires a working FUSE device and fusermount3, unavailable in sandbox. "dwarfs/fuse_driver_test*" "tools_test.dwarfs_obsolete_options*" "sparse_files_test.random_large_files*" "sparse_files_test.random_small_files_fuse*" "sparse_files_test.huge_holes_fuse*" # Requires xattr support unavailable in sandbox. "xattr_test.portable_xattr" ]; in "-${lib.concatStringsSep ":" disabledTests}"; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgram = "${placeholder "out"}/bin/dwarfs"; dontMoveSbin = true; meta = { description = "Fast high compression read-only file system"; homepage = "https://github.com/mhx/dwarfs"; changelog = "https://github.com/mhx/dwarfs/blob/v${finalAttrs.version}/CHANGES.md"; license = lib.licenses.gpl3Plus; maintainers = [ lib.maintainers.luftmensch-luftmensch ]; platforms = lib.platforms.linux; }; })