summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-06-10 00:08:04 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-06-10 00:08:04 +0100
commit0aad4cd3e3fe3db90904ffc51b35e4ff160b53c5 (patch)
treea522875f946841ad0790b8170c9201bb145e09bc /sys-fs
parent4fe228ee9aa3b9b825d54ace549a5517e153e8bd (diff)
gentoo auto-resync : 10:06:2024 - 00:08:04
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/Manifest.gzbin22091 -> 22076 bytes
-rw-r--r--sys-fs/cryfs/Manifest3
-rw-r--r--sys-fs/cryfs/cryfs-0.11.4.ebuild171
-rw-r--r--sys-fs/cryfs/files/cryfs-0.11.4-unbundle-vendored-libs.patch315
-rw-r--r--sys-fs/e2fsprogs/Manifest2
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild5
-rw-r--r--sys-fs/ncdu-bin/Manifest9
-rw-r--r--sys-fs/ncdu-bin/ncdu-bin-2.4.ebuild36
-rw-r--r--sys-fs/ncdu/Manifest3
-rw-r--r--sys-fs/ncdu/ncdu-1.20.ebuild26
10 files changed, 569 insertions, 1 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 70e51a6e910a..6f477f088d52 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/cryfs/Manifest b/sys-fs/cryfs/Manifest
index 1efda3aff675..b8c33d16037c 100644
--- a/sys-fs/cryfs/Manifest
+++ b/sys-fs/cryfs/Manifest
@@ -3,6 +3,9 @@ AUX cryfs-0.10.2-unbundle-libs.patch 15634 BLAKE2B dc484cc722cf80e605f52f3b193b1
AUX cryfs-0.10.3-fix-build-with-boost-1-77.patch 639 BLAKE2B c03de4feed91e4182bcc9e68c294b15bf5715f06e38e21ced9e27a0bb96f9cb4546ec2eca5b0ae106724e797cbe0f734fb311bd13361248043f590e5a2c61c8f SHA512 e67f0dd1c0b08c062db75ff354124cc2f346efd0141439af78c9ade1019937af91ccd5c5c06ade89889d9b2a9ac5d01afbcec33a22ec454120918329a9ee60e2
AUX cryfs-0.10.3-gcc11.patch 14590 BLAKE2B c6541d1e211c9ae503ee83be18dd2283f2ac5785f5a975fcd155b02759f6180eb96b8673d98c71e20c101ac4afa4ceaab4c6ece14c6605e32f5c020f260568bc SHA512 4fa2817c9f10df4e371deb7fb4acc423dd8260277216cf959ace47d64bebe394db71c79cd72098c6b11ac27b88d98eab8b5cde5af5095a63d57dc88d7dea7085
AUX cryfs-0.10.3-gcc13.patch 258 BLAKE2B ca97032f8545c83ba717efc12a3563a8efa8353c478fe600cb94480fc0d358bad0482432283f9192824ba3c444bafba7f9b94109ec20007a687c6fb52303ecf2 SHA512 aaf0dd6698c833598b212c07e6c954d245f20da23a3edc967b0615504d83ea18994e446cf29cd3b5c08590f25bf8c9d4115e164f8ea0472a17ab897793fa2dc1
+AUX cryfs-0.11.4-unbundle-vendored-libs.patch 9924 BLAKE2B b4503d9a9f64fc2b0b0cd2dddc22df0227b882e7b1e09447fb3f0c8ef42f137f616121c004f08d512b4d1b28d951bc51379b8abdf8cad57b268831a5f7adb844 SHA512 dc7db5ace13837f2254377b97418b3fe77577fc6dcb6121e3f3b276a10e3644f5315047853f2b3f35f6b3c99b5d726abe22e5c62b4dc470865b24bf587fa79a5
DIST cryfs-0.10.3.tar.xz 7908228 BLAKE2B e1c816bd2ceb125573f5385c6ddb316a600275f0b907d89d3ab32f2050f1a0874ebbfd3db7b452b41d20dcbdd01bf59210a0a96c5bfee079ce222307d4c55596 SHA512 a1325c79cb253219bb092fd68399d6ec68aaf3d78bc95608582ab0c239dfaa0361416531cd1051661e4699b1e79867547710ea55d23e5697ebd4421c937d5b87
+DIST cryfs-0.11.4.tar.gz 10420508 BLAKE2B 3b096180f204b90774c2dee5a8bbfa2305fad62fdb86cfa03e802d6a01f3d7a01005c411a16cc3693f2c858e1be9313ba42ab2883daae993220049b34622e391 SHA512 a1aa9377cb0881f08f536f4b2116b27aeef71739e6a1362b209f38f1b54a9ae9e11a2a47ceaa28dcabd74d1ac57f0c92e3d1d8060eabeef4e7efd3d62cc7feea
EBUILD cryfs-0.10.3-r1.ebuild 2764 BLAKE2B 926491581856295cc3577ee2e02ae24e7c55fdd4e38ec6c1bd87abab1da07a48a83f9d89a3d97fafbc9c21afccc5160d87fa4bb213bec73ad92c7df773b3dd66 SHA512 b40529a01188897d9b5d977cd3ae8f6dd4db1d9de5aab2c8387169c4af1b31e669e4a1a64eb7e14cd352329f9d4fadae0e00bc4f9d6b7219496e1e4bb343f46e
+EBUILD cryfs-0.11.4.ebuild 5743 BLAKE2B 690a22f0b33e81df5dd4dad158ac69d2f7edfe8bc6d4854c472ce738d8ebd3a66513528271ceeae13c66ee2f231326132ec1911b813958476a9baf9f6789dd0a SHA512 89f0d1ad067e8584df2be5571fa628bb0a99357f0d1405e5eccdf2bddf59032dc8ae3d2f1350f461973846a75eb6b1ceeaf1d11a00cf0dd309f150b07577c2c1
MISC metadata.xml 496 BLAKE2B 409cff030d8c45472ea6baa2abdcf736fda7d1229b7fc69e7a9280d05fe4b0ca29cb7be9836b862d940af3035cb9f02791407bcd1e176b1ea69dc2038542bc13 SHA512 9308ee717a85ac37a7264269d364ec60eac713bbfbc771019364d6b9ada5691d03d05e34981670e839f4d9a9b5b65268970e18645ab3ccce5cf4f501fe2d147a
diff --git a/sys-fs/cryfs/cryfs-0.11.4.ebuild b/sys-fs/cryfs/cryfs-0.11.4.ebuild
new file mode 100644
index 000000000000..ca45e29b9e1b
--- /dev/null
+++ b/sys-fs/cryfs/cryfs-0.11.4.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake flag-o-matic linux-info python-any-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cryfs/cryfs"
+else
+ SRC_URI="
+ https://github.com/cryfs/cryfs/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Encrypted FUSE filesystem that conceals metadata"
+HOMEPAGE="https://www.cryfs.org/"
+
+LICENSE="LGPL-3 MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/crypto++:=
+ dev-libs/libfmt:=
+ dev-libs/spdlog:=
+ net-misc/curl
+ >=sys-fs/fuse-2.8.6:0
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/range-v3
+ test? (
+ dev-cpp/gtest
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ ')
+"
+
+PATCHES=(
+ # TODO: upstream:
+ "${FILESDIR}"/cryfs-0.11.4-unbundle-vendored-libs.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/versioneer[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ local CONFIG_CHECK="~FUSE_FS"
+ local WARNING_FUSE_FS="CONFIG_FUSE_FS is required for cryfs support."
+
+ check_extra_config
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # don't install compressed manpage
+ cmake_comment_add_subdirectory doc
+
+ # We use the package instead for >=py3.12 compat, bug #908997
+ rm src/gitversion/versioneer.py || die
+
+ # Hook up ctest properly for better maintainer quality of life
+ sed -i -e '/option(BUILD_TESTING/aenable_testing()' CMakeLists.txt || die
+ sed -i -e '/BUILD_TESTING/a include(GoogleTest)' test/CMakeLists.txt || die
+ sed -i -e 's/add_test/gtest_discover_tests/' test/*/CMakeLists.txt || die
+}
+
+src_configure() {
+ # ODR violations (bug #880563)
+ # ./CMakeLists.txt
+ # """
+ # We don't use LTO because crypto++ has problems with it,
+ # see https://github.com/weidai11/cryptopp/issues/1031 and
+ # https://www.cryptopp.com/wiki/Link_Time_Optimization
+ # """
+ filter-lto
+
+ local mycmakeargs=(
+ # Upstream inconsistently specifies their libraries as STATIC
+ # Leading to issues when static libraries without PIC are linked
+ # with PIC shared libraries.
+ -DBUILD_SHARED_LIBS=OFF
+ -DBUILD_TESTING=$(usex test)
+ -DCRYFS_UPDATE_CHECKS=OFF
+ -DUSE_SYSTEM_LIBS=ON
+ # Upstream offered method of using system packages for packages installed via conan
+ # This only affects those fetched via Conan not those bundled in /vendor.
+ # "Note that this is only provided as an example and not officially supported."
+ # bug #631196
+ -DDEPENDENCY_CONFIG="${S}/cmake-utils/DependenciesFromLocalSystem.cmake"
+ )
+
+ append-cppflags -DNDEBUG
+
+ # bug 907096
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
+ cmake_src_configure
+}
+
+src_test() {
+ local TMPDIR="${T}"
+
+ local CMAKE_SKIP_TESTS=(
+ # Breaks network sanbox
+ CurlHttpClientTest
+ FakeHttpClientTest
+ # Filesystem did not call onMounted callback, probably wasn't successfully mounted.
+ # bug #808849
+ CliTest.WorksWithCommasInBasedir
+ CliTest_IntegrityCheck.givenIncorrectFilesystemId_thenFails
+ CliTest_IntegrityCheck.givenIncorrectFilesystemKey_thenFails
+ CliTest_Setup.AutocreateBasedir
+ CliTest_Setup.AutocreateMountpoint
+ CliTest_Setup.ConfigfileGiven
+ CliTest_Setup.ExistingLogfileGiven
+ CliTest_Setup.NoSpecialOptions
+ CliTest_Setup.NotexistingLogfileGiven
+ CliTest_Unmount.givenMountedFilesystem_whenUnmounting_thenSucceeds
+ RunningInForeground/CliTest_WrongEnvironment.BaseDir_AllPermissions
+ RunningInForeground/CliTest_WrongEnvironment.BaseDir_DoesntExist_Create
+ RunningInForeground/CliTest_WrongEnvironment.MountDir_AllPermissions
+ RunningInForeground/CliTest_WrongEnvironment.MountDir_DoesntExist_Create
+ RunningInForeground/CliTest_WrongEnvironment.NoErrorCondition
+ RunningInForeground_ExternalConfigfile/CliTest_WrongEnvironment.BaseDir_AllPermissions
+ RunningInForeground_ExternalConfigfile/CliTest_WrongEnvironment.BaseDir_DoesntExist_Create
+ RunningInForeground_ExternalConfigfile/CliTest_WrongEnvironment.MountDir_AllPermissions
+ RunningInForeground_ExternalConfigfile/CliTest_WrongEnvironment.MountDir_DoesntExist_Create
+ RunningInForeground_ExternalConfigfile/CliTest_WrongEnvironment.NoErrorCondition
+ RunningInForeground_ExternalConfigfile_LogIsNotStderr/CliTest_WrongEnvironment.BaseDir_AllPermissions
+ RunningInForeground_ExternalConfigfile_LogIsNotStderr/CliTest_WrongEnvironment.BaseDir_DoesntExist_Create
+ RunningInForeground_ExternalConfigfile_LogIsNotStderr/CliTest_WrongEnvironment.MountDir_AllPermissions
+ RunningInForeground_ExternalConfigfile_LogIsNotStderr/CliTest_WrongEnvironment.MountDir_DoesntExist_Create
+ RunningInForeground_ExternalConfigfile_LogIsNotStderr/CliTest_WrongEnvironment.NoErrorCondition
+ RunningInForeground_LogIsNotStderr/CliTest_WrongEnvironment.BaseDir_AllPermissions
+ RunningInForeground_LogIsNotStderr/CliTest_WrongEnvironment.BaseDir_DoesntExist_Create
+ RunningInForeground_LogIsNotStderr/CliTest_WrongEnvironment.MountDir_AllPermissions
+ RunningInForeground_LogIsNotStderr/CliTest_WrongEnvironment.MountDir_DoesntExist_Create
+ RunningInForeground_LogIsNotStderr/CliTest_WrongEnvironment.NoErrorCondition
+ # Filesystem did not call onMounted callback, probably wasn't successfully mounted.
+ # fuse: failed to open /dev/fuse: Permission denied
+ CliTest_IntegrityCheck.givenFilesystemWithRolledBackBasedir_whenMounting_thenFails
+ CliTest_IntegrityCheck.whenRollingBackBasedirWhileMounted_thenUnmounts
+ # Tests that hang due being unable to open fuse
+ # bug #699044
+ # fuse: failed to open /dev/fuse: Permission denied
+ Fuse*
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ doman doc/man/cryfs.1
+}
diff --git a/sys-fs/cryfs/files/cryfs-0.11.4-unbundle-vendored-libs.patch b/sys-fs/cryfs/files/cryfs-0.11.4-unbundle-vendored-libs.patch
new file mode 100644
index 000000000000..352d15042144
--- /dev/null
+++ b/sys-fs/cryfs/files/cryfs-0.11.4-unbundle-vendored-libs.patch
@@ -0,0 +1,315 @@
+https://bugs.gentoo.org/631196
+
+From 00ddc58b11ec76641f6f9b96584de1b0c2b57390 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Mon, 3 Jun 2024 15:05:01 +0300
+Subject: [PATCH] Add USE_SYSTEM_LIBS option to build without bundled libs
+
+* Based on a patch by Andreas Sturmlechner.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -19,6 +19,7 @@ require_clang_version(7.0)
+ option(BUILD_TESTING "build test cases" OFF)
+ option(CRYFS_UPDATE_CHECKS "let cryfs check for updates and security vulnerabilities" ON)
+ option(DISABLE_OPENMP "allow building without OpenMP libraries. This will cause performance degradations." OFF)
++option(USE_SYSTEM_LIBS "build with system libs instead of bundled libs" OFF)
+
+ # The following options are helpful for development and/or CI
+ option(USE_WERROR "build with -Werror flag")
+@@ -46,7 +47,20 @@ endif()
+
+ include(${DEPENDENCY_CONFIG})
+
+-add_subdirectory(vendor EXCLUDE_FROM_ALL)
++if(USE_SYSTEM_LIBS)
++ include(FindPkgConfig)
++ pkg_check_modules(CRYPTOPP REQUIRED libcryptopp>=8.2)
++ if(BUILD_TESTING)
++ find_package(GTest CONFIG REQUIRED)
++ set(GOOGLETEST_LIBS GTest::gtest GTest::gmock)
++ endif()
++
++ add_definitions(-DUSE_SYSTEM_LIBS)
++else()
++ add_subdirectory(vendor EXCLUDE_FROM_ALL)
++ set(GOOGLETEST_LIBS googletest)
++endif()
++
+ add_subdirectory(src)
+ add_subdirectory(doc)
+ add_subdirectory(test)
+--- a/src/blockstore/implementations/compressing/compressors/Gzip.cpp
++++ b/src/blockstore/implementations/compressing/compressors/Gzip.cpp
+@@ -1,5 +1,9 @@
+ #include "Gzip.h"
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/gzip.h>
++#else
+ #include <vendor_cryptopp/gzip.h>
++#endif
+
+ using cpputils::Data;
+
+--- a/src/cpp-utils/crypto/hash/Hash.cpp
++++ b/src/cpp-utils/crypto/hash/Hash.cpp
+@@ -1,6 +1,10 @@
+ #include "Hash.h"
+ #include <cpp-utils/random/Random.h>
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/sha.h>
++#else
+ #include <vendor_cryptopp/sha.h>
++#endif
+
+ using cpputils::Random;
+ using CryptoPP::SHA512;
+--- a/src/cpp-utils/crypto/kdf/Scrypt.cpp
++++ b/src/cpp-utils/crypto/kdf/Scrypt.cpp
+@@ -1,5 +1,9 @@
+ #include "Scrypt.h"
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/scrypt.h>
++#else
+ #include <vendor_cryptopp/scrypt.h>
++#endif
+
+ using std::string;
+
+--- a/src/cpp-utils/crypto/symmetric/CFB_Cipher.h
++++ b/src/cpp-utils/crypto/symmetric/CFB_Cipher.h
+@@ -6,7 +6,11 @@
+ #include "../../data/Data.h"
+ #include "../../random/Random.h"
+ #include <boost/optional.hpp>
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/modes.h>
++#else
+ #include <vendor_cryptopp/modes.h>
++#endif
+ #include "Cipher.h"
+ #include "EncryptionKey.h"
+
+--- a/src/cpp-utils/crypto/symmetric/GCM_Cipher.h
++++ b/src/cpp-utils/crypto/symmetric/GCM_Cipher.h
+@@ -3,7 +3,12 @@
+ #define MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_GCMCIPHER_H_
+
+ #include "AEAD_Cipher.h"
++
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/gcm.h>
++#else
+ #include <vendor_cryptopp/gcm.h>
++#endif
+
+ namespace cpputils {
+
+--- a/src/cpp-utils/crypto/symmetric/ciphers.h
++++ b/src/cpp-utils/crypto/symmetric/ciphers.h
+@@ -2,12 +2,21 @@
+ #ifndef MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CIPHERS_H_
+ #define MESSMER_CPPUTILS_CRYPTO_SYMMETRIC_CIPHERS_H_
+
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/aes.h>
++#include <cryptopp/twofish.h>
++#include <cryptopp/serpent.h>
++#include <cryptopp/cast.h>
++#include <cryptopp/mars.h>
++#include <cryptopp/chachapoly.h>
++#else
+ #include <vendor_cryptopp/aes.h>
+ #include <vendor_cryptopp/twofish.h>
+ #include <vendor_cryptopp/serpent.h>
+ #include <vendor_cryptopp/cast.h>
+ #include <vendor_cryptopp/mars.h>
+ #include <vendor_cryptopp/chachapoly.h>
++#endif
+ #include "GCM_Cipher.h"
+ #include "CFB_Cipher.h"
+
+--- a/src/cpp-utils/data/Data.cpp
++++ b/src/cpp-utils/data/Data.cpp
+@@ -1,6 +1,10 @@
+ #include "Data.h"
+ #include <stdexcept>
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/hex.h>
++#else
+ #include <vendor_cryptopp/hex.h>
++#endif
+
+ using std::istream;
+ using std::ofstream;
+--- a/src/cpp-utils/data/FixedSizeData.h
++++ b/src/cpp-utils/data/FixedSizeData.h
+@@ -2,7 +2,11 @@
+ #ifndef MESSMER_CPPUTILS_DATA_FIXEDSIZEDATA_H_
+ #define MESSMER_CPPUTILS_DATA_FIXEDSIZEDATA_H_
+
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/hex.h>
++#else
+ #include <vendor_cryptopp/hex.h>
++#endif
+ #include <string>
+ #include <array>
+ #include <cstring>
+--- a/src/cpp-utils/random/OSRandomGenerator.h
++++ b/src/cpp-utils/random/OSRandomGenerator.h
+@@ -3,7 +3,11 @@
+ #define MESSMER_CPPUTILS_RANDOM_OSRANDOMGENERATOR_H
+
+ #include "RandomGenerator.h"
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/osrng.h>
++#else
+ #include <vendor_cryptopp/osrng.h>
++#endif
+
+ namespace cpputils {
+ class OSRandomGenerator final : public RandomGenerator {
+--- a/src/cpp-utils/random/RandomGeneratorThread.h
++++ b/src/cpp-utils/random/RandomGeneratorThread.h
+@@ -4,7 +4,11 @@
+
+ #include "../thread/LoopThread.h"
+ #include "ThreadsafeRandomDataBuffer.h"
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/osrng.h>
++#else
+ #include <vendor_cryptopp/osrng.h>
++#endif
+
+ namespace cpputils {
+ //TODO Test
+--- a/src/cryfs/impl/localstate/BasedirMetadata.cpp
++++ b/src/cryfs/impl/localstate/BasedirMetadata.cpp
+@@ -1,7 +1,11 @@
+ #include "BasedirMetadata.h"
+ #include <boost/property_tree/ptree.hpp>
+ #include <boost/property_tree/json_parser.hpp>
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/sha.h>
++#else
+ #include <vendor_cryptopp/sha.h>
++#endif
+ #include <boost/filesystem/operations.hpp>
+ #include "LocalStateDir.h"
+ #include <cpp-utils/logging/logging.h>
+--- a/test/blobstore/CMakeLists.txt
++++ b/test/blobstore/CMakeLists.txt
+@@ -27,7 +27,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest blobstore)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} blobstore)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--- a/test/blockstore/CMakeLists.txt
++++ b/test/blockstore/CMakeLists.txt
+@@ -42,7 +42,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest blockstore)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} blockstore)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--- a/test/cpp-utils/CMakeLists.txt
++++ b/test/cpp-utils/CMakeLists.txt
+@@ -71,7 +71,7 @@ target_activate_cpp14(${PROJECT_NAME}_exit_signal)
+ target_link_libraries(${PROJECT_NAME}_exit_signal cpp-utils)
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest cpp-utils)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} cpp-utils)
+ add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_exit_status ${PROJECT_NAME}_exit_signal)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+--- a/test/cryfs-cli/CMakeLists.txt
++++ b/test/cryfs-cli/CMakeLists.txt
+@@ -16,7 +16,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest cryfs-cli cryfs-unmount fspp-fuse)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} cryfs-cli cryfs-unmount fspp-fuse)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--- a/test/cryfs/CMakeLists.txt
++++ b/test/cryfs/CMakeLists.txt
+@@ -24,7 +24,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest cryfs)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} cryfs)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--- a/test/cryfs/impl/config/CompatibilityTest.cpp
++++ b/test/cryfs/impl/config/CompatibilityTest.cpp
+@@ -2,7 +2,11 @@
+ #include <vector>
+ #include <boost/filesystem.hpp>
+ #include <cpp-utils/data/Data.h>
++#if defined(USE_SYSTEM_LIBS)
++#include <cryptopp/hex.h>
++#else
+ #include <vendor_cryptopp/hex.h>
++#endif
+ #include <cpp-utils/crypto/symmetric/ciphers.h>
+ #include <cpp-utils/tempfile/TempFile.h>
+ #include <cryfs/impl/config/CryConfigFile.h>
+--- a/test/fspp/CMakeLists.txt
++++ b/test/fspp/CMakeLists.txt
+@@ -103,7 +103,7 @@ set(SOURCES
+ testutils/OpenFileHandle.cpp testutils/OpenFileHandle.h)
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest fspp-interface fspp-fuse)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} fspp-interface fspp-fuse)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--- a/test/gitversion/CMakeLists.txt
++++ b/test/gitversion/CMakeLists.txt
+@@ -6,7 +6,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest gitversion)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} gitversion)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--- a/test/my-gtest-main/CMakeLists.txt
++++ b/test/my-gtest-main/CMakeLists.txt
+@@ -5,7 +5,7 @@ set(SOURCES
+ )
+
+ add_library(${PROJECT_NAME} STATIC ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} PUBLIC googletest cpp-utils)
++target_link_libraries(${PROJECT_NAME} PUBLIC ${GOOGLETEST_LIBS} cpp-utils)
+ target_add_boost(${PROJECT_NAME} filesystem system)
+ target_include_directories(${PROJECT_NAME} PUBLIC .)
+
+--- a/test/parallelaccessstore/CMakeLists.txt
++++ b/test/parallelaccessstore/CMakeLists.txt
+@@ -6,7 +6,7 @@ set(SOURCES
+ )
+
+ add_executable(${PROJECT_NAME} ${SOURCES})
+-target_link_libraries(${PROJECT_NAME} my-gtest-main googletest parallelaccessstore)
++target_link_libraries(${PROJECT_NAME} my-gtest-main ${GOOGLETEST_LIBS} parallelaccessstore)
+ add_test(${PROJECT_NAME} ${PROJECT_NAME})
+
+ target_enable_style_warnings(${PROJECT_NAME})
+--
+2.45.2
+
diff --git a/sys-fs/e2fsprogs/Manifest b/sys-fs/e2fsprogs/Manifest
index d9d4086caa3e..57086cacb06f 100644
--- a/sys-fs/e2fsprogs/Manifest
+++ b/sys-fs/e2fsprogs/Manifest
@@ -5,5 +5,5 @@ AUX e2fsprogs-1.47.0-parallel-make.patch 3491 BLAKE2B b3848202f038cc86a07e784bfe
DIST e2fsprogs-1.47.0.tar.xz 7059372 BLAKE2B 84f58b05a9f0e14e1a66c6e5171ff23b022f51c4e9a02d4d6d1d26c91909f3c7ec9c9f0462663a4457b4479043774502b8891f691e58a61f4ef6bf9ba33f33aa SHA512 0e6d64c565b455becb84166b6a5c7090724bac5cfe69098657a31bf0481b4e2cace3de1363121b7d84820fbae85b7c83ac5f2a2b02bb36280f0e3ae83a934cec
DIST e2fsprogs-1.47.1.tar.xz 7271444 BLAKE2B 67924c38a6b688e0db5ee77b0e11a8b34ec602a729d48516668e9fdf7f36964c8a9369295f0313bfacdc8e5f3f5a27d79a8d99a1aca3b4fe0ced98a4db4884ea SHA512 2ac51f7654a44adf3ee5a5e32cecd7f129e423bdf3074c60b22a7acdba131e7dd0bb2964c107a06ae133f51836272be166f5da1f996f67ceb6c22e2636117beb
EBUILD e2fsprogs-1.47.0-r3.ebuild 4461 BLAKE2B 3ad15e552e74f7d9c49465feb39b00af95fdd60c15ea6020b47269275dcf0750934e6c923aaf5cb5f8eb25f7386802e8c7a855a914102452c55ce80ca5c5fbb5 SHA512 2f2e32e2feca64f58d23f8fe6b64b684fce0e8fba8086ae615259a23c99db8279193df099105e34baf1bcd1f89c5accff5344dc7262b6c1586ce622973818650
-EBUILD e2fsprogs-1.47.1.ebuild 4407 BLAKE2B f31ce213f8075f953b9a40dfbfe71d7e418dcb9e4f2d7e69f5cbe67ed6d17553faecfcfdd4c39cf455bb66fd314bb59e1459c0b2517367b3b4a06981330c50f2 SHA512 663c9942b4fe8627f892fe7f826aa3b0410d6e99bc1870b0a73cba2ba75014db77c13803c626b0c8f6bc715c1f6dd72a038fedcb13e102f0c0819cf25360b82f
+EBUILD e2fsprogs-1.47.1.ebuild 4549 BLAKE2B 69fd8930912877cdf3a4a96a2f34979e2ac40c88e0e06682f2a71a5a0f0ae8c3ae387b387c194583552697cc7a10812cfba641d4bdd7072c16012105f818cb38 SHA512 fc014231141e8701ce4329625f81ff71d3570ae1cabebc132aedbd2de758bab04b5c005c822b2fa9955ae08d3d94eb5641380361d325730b8101daab67fbf1ef
MISC metadata.xml 870 BLAKE2B bf57e8f24b302ed91357fb10dbc9b15656002983281fd287ee241a9a097d00e6af56d4a42de4109728dbb826ea58e58eba26ec1840299e43f7728495b1a133f4 SHA512 fa0ea6b3db855719976d3c627dcf88f62cf7fdacc132686ea06bcdfce03bb9ccef035d9aa674fc43844a0a111198c34921016183966be5f887aabed06bf0f369
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
index 300fe7548c64..2ccc0b3b1d41 100644
--- a/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
@@ -57,6 +57,11 @@ src_prepare() {
# violation due to mktexfmt invocation
rm -r doc || die "Failed to remove doc dir"
+ cat <<-'EOF' > tests/m_rootdir_acl/script || die
+ echo "$test_name: $test_description: skipped (bgo#905221, fails on btrfs)"
+ return 0
+ EOF
+
# Prevent included intl cruft from building, bug #81096
sed -i -r \
-e 's:@LIBINTL@:@LTLIBINTL@:' \
diff --git a/sys-fs/ncdu-bin/Manifest b/sys-fs/ncdu-bin/Manifest
index f82ef68cb524..71f8194e8e7a 100644
--- a/sys-fs/ncdu-bin/Manifest
+++ b/sys-fs/ncdu-bin/Manifest
@@ -6,5 +6,14 @@ DIST ncdu-2.3-linux-x86.tar.gz 315771 BLAKE2B 10319febbb8cd9c88e0c0677eb53be9a93
DIST ncdu-2.3-linux-x86.tar.gz.asc 833 BLAKE2B b4dcb755252287556019f15677b02922a0597baa20c176c105a4a47831b82365ee88d82f2f807dda43ce3c25e07e6510b96867e4b2fc2db4eab7b91af9ddc703 SHA512 e618db337ab4afa9dcd0cc743430af3ff17393d9cde9d1623667767e15b32d97310664507dbcc783008d5bb9842c6a6474c21bfce08a19241e5992da863840ea
DIST ncdu-2.3-linux-x86_64.tar.gz 293280 BLAKE2B 871f9c1f6860d83fe3c8ad8e7ffd2157389427b98d3232aaffc9ce983c4b98b9d562d39e94adb667ffaa4745aa4fb1caedd1f9f9b3ca5a756db922a8229f22b7 SHA512 9a1c17a971dc422342e5f42d4f6be4195239411bd529f81d0b0225bdef27e3112561cb1b8c699fb805bd766fb074fc0d93331d83af79d95235533899ac90de5a
DIST ncdu-2.3-linux-x86_64.tar.gz.asc 833 BLAKE2B 85d09c438c3a51fceb0e81252ccd184e3b7b7a1770c423b61efceb3728b1bfa68c26ef852084231a6fbd88d147ccaad655135007cdd8d850bb34aede465c3ab8 SHA512 a130f2f4d623cff7f0256437443fcdf8c0fc073f6c7bd27cc924e3a464dea5ea17f717cc2c700bc67356578d4e7eab342c444926cb14a6610f6e9be329d781f7
+DIST ncdu-2.4-linux-aarch64.tar.gz 278214 BLAKE2B 77429a554b05b1873012817c917b282f78fb3946d1521aa3a1c90362db1c4bfc9f8355e87b46dc795effb46312fa81297ec0b4777bcfb8f54a40df556c884b8f SHA512 3caaae21f4de4185da01ab55d466a2fb4321608ffed044688240a590a53753473719050777d48015703914769b7c60b59d2b218e96fd3f7c7655f5315b8daf96
+DIST ncdu-2.4-linux-aarch64.tar.gz.asc 833 BLAKE2B e00328f455a31fc4b5915afca6a98e3817ae94f92e7e4eca0655dc4db6dda3fdeb9d7aa6a5b6e20c9f39cba12cb9666ae3462e4f0caaef5415112afa80e6a602 SHA512 9b5a4b55afaf541763e9992a6f15de18cc7cb52b8004e3833b5e75ec0e79787c3693e924b326451caa6c9014d7c3b49eeed36eb9c120ca4aec96f5af9a8d94d6
+DIST ncdu-2.4-linux-arm.tar.gz 273717 BLAKE2B 599fdd716d72009d01e2b9f3022440760772471ebcd75e15c43eff382fa178065154e5d58710f6d16cff02a75f18f7d82239cd43da9d448f14a3fcb43c9353f1 SHA512 70a48564480d861ff3ea4be5bed650163444d34b1e7ed834f0d769e90fea3b69df8c3348273efe34f3fc052384288effad1ed69ff6b995afa92fc930a9f39f0a
+DIST ncdu-2.4-linux-arm.tar.gz.asc 833 BLAKE2B 1af1cd305e86bce890e527dd50673e6d4572cf7983be249ed6d9ded97927b14045a46f20dfee54029a821e9a4754190074dcef6ec1ba523ab68a804b744551eb SHA512 b2bb42714cb1c07916581702b83cc64db663b0bc6342549d5350213beab608307ab34ace0cc8fab9bb9a0949a044cf3d9a46e39813046ff7f50735dc785d8ea1
+DIST ncdu-2.4-linux-x86.tar.gz 297477 BLAKE2B 2d1b7d4b775bfdfc7c0563d40ecbbd0a6d91ef40a49093c6c732d5cc07d5046cb295271d4552cb9ed629646f6dccd4a41c1ce3077b82f8e143e40027c42c51cf SHA512 f52878e302448a10e5720bc572dcb981a8be63b7b4e81c1e03371d89e0fb4075e2c9e2eacd3d6d2a173ed07ec2dd0d4a3d27660bd0f3038884262e2797e602f8
+DIST ncdu-2.4-linux-x86.tar.gz.asc 833 BLAKE2B f13a87ab6ccf98167adfbf98a43e1baad06f6344161ac45911e81ce2bf0637a8b381f22f1bd5ef1ec8aec44e56a4c13a0fceccec613359b44f01044ca39309de SHA512 da3e3b534656fb4d8589937322e2c6cf49227f0ec0ef5d3d00149f60b8c17122b7b026bfcb2a0e0de3893c71cc3adf2f301327782ff28ee94024f584f116c7b2
+DIST ncdu-2.4-linux-x86_64.tar.gz 286824 BLAKE2B 0a0c8ffed0b0bda6b77013ca348d43e508aaace419476fd9eaeaddaaa0656e803684bb493552f09ff94e6097e2d4ac8a261d7d64d13022976e1041d49e256338 SHA512 a7e026adf351a23457377f9f6524af709022ef4f3a0646cb875a98abf5dd7487222fd79b538debff66a851eb71135743987ffc8729189698e26e1f1c728136ed
+DIST ncdu-2.4-linux-x86_64.tar.gz.asc 833 BLAKE2B 5501bbeda29ee15df09a50d64720b72c681f5aec89b05a9362b327d0b28cccb2537d5d9382e188e07a0c19e727fdcad5ddc6ce28937468e98125a18c318f6ac2 SHA512 8a70c1a76a3137c3b91b522cb6a703b566b426338cc794c6389693351cb61bb103af8ce49b5eda2f5732df490ed844fe3898499fc11a63478ee18c5e5c26533d
EBUILD ncdu-bin-2.3.ebuild 1103 BLAKE2B 075ef4fbd0dbc80495cee7ae5143d1d6a158f4e15222cb2ff0534cfb3d35361efab6221d1ec5a2f697f75f86b90bd07a63ed7092e948283ebb3a22923b4af79e SHA512 de6e73136559525dd63fb91c43f9af213eb4f78e5cda79f14174ef89710f137e9ed7b154748cdbc379880f99884ce9d4f438584df3d6adb01a77815c22acaed2
+EBUILD ncdu-bin-2.4.ebuild 1103 BLAKE2B 1066d04d40e1a3e528f78120c43486a97a3e6b5cb4d85cbd059af5f8a37b06ac48a01dfa98394c335681383b4c0f9df9e783e610b322470e5acfcfb51791d56f SHA512 7db69b449aae19cc541201ef5930a54bd728eeef0eab71fc1391812cf0a7deca71364921abf3a699b451abb62c5e9df3771a47d369a447d6dc41b9d3ddbc28c9
MISC metadata.xml 862 BLAKE2B aecbc2cfec9351b2be9087d297016826f9bea5f81ea690e480cbe0dce5c627f554875fb9db5b19f21373391ef4fb28c7cea3129d911e80b7be007a9a0a79ac0a SHA512 2c722040961b930791780f704edddd4cdf010df05e462a0d333f2fbf4966c0ecac08eef3b1e05baf34013c95a91cc79dc38ef5616e07ffcb4e386b8760f89683
diff --git a/sys-fs/ncdu-bin/ncdu-bin-2.4.ebuild b/sys-fs/ncdu-bin/ncdu-bin-2.4.ebuild
new file mode 100644
index 000000000000..76fc2f6bba95
--- /dev/null
+++ b/sys-fs/ncdu-bin/ncdu-bin-2.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit verify-sig
+
+DESCRIPTION="NCurses Disk Usage"
+HOMEPAGE="https://dev.yorhel.nl/ncdu"
+SRC_URI="
+ amd64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86_64.tar.gz )
+ arm? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-arm.tar.gz )
+ arm64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-aarch64.tar.gz )
+ x86? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86.tar.gz )
+ verify-sig? (
+ amd64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86_64.tar.gz.asc )
+ arm? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-arm.tar.gz.asc )
+ arm64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-aarch64.tar.gz.asc )
+ x86? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86.tar.gz.asc )
+ )
+"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm ~arm64 ~x86"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-yorhel )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/yoranheling.asc
+
+QA_PREBUILT="usr/bin/ncdu-bin"
+
+src_install() {
+ newbin ncdu ncdu-bin
+}
diff --git a/sys-fs/ncdu/Manifest b/sys-fs/ncdu/Manifest
index 47b7453290f6..5d23054a4115 100644
--- a/sys-fs/ncdu/Manifest
+++ b/sys-fs/ncdu/Manifest
@@ -1,7 +1,10 @@
DIST ncdu-1.19.tar.gz 159917 BLAKE2B 0f2022c031b4e00129525c0f4f800ed8feb8d3de3ae2c4baf06050886fb16ad4381c5439b64868abfdb66907d36e38a87ec3c8ddcd16f756da75439dc08ae6e6 SHA512 2bbfe2bab101f92674e13bef5260a39b32c127a310ae59c045f3684aaa8dab6f767c0162dc8f868d8adfaa17d597d0b3d2c134fe97bbaf205da0f8272e96c5d6
DIST ncdu-1.19.tar.gz.asc 833 BLAKE2B ede22114375b31deb9a00de55982f145a1d1eaa911ef205e3c1a61a6382a9ea9d42977b5c1c41e3aafbfaec29e473d0ed428bb50f2e3cf799e204415b0ad2bf7 SHA512 2fb0d23c59b4f98b0080617792853de08380f769de13398f7649c082de330a4c917b6bbd846e3175f20eadbc9e4acf03d959ab828e3707ef1a9992be40b2b4ce
+DIST ncdu-1.20.tar.gz 150835 BLAKE2B 0bb6576ecbb3df281c67a48409db2118521760f378defd9c082f732519c9828451b77897ca49e777674ae73a5aac0fd975b94d5a95b1689cd552b5840ac3b5de SHA512 af9a45cc27bb3cdee7fd65236b9b48cb604f9e54208a762ed7b3b18333e07e87a8ae5a4cd0071496e7e382c60a7760734cad1f68fb69423a79fa3f050d2c09bb
+DIST ncdu-1.20.tar.gz.asc 833 BLAKE2B 487e3b4b1e83a2211e91307ff1ca1778059cc3f923e04b57bc5d4780d0108589a062861a25bafa58c357ad4495edce814a58eeb24087e06b958d8e23a02bbf22 SHA512 168bcc4255bbb7a576af39422797804726f84134dc342f59abfc825f93c5ee4e9fcaa9e0c18626ee87b96b2d19a7c57beaa8e1b3dc57eff2bd659add18027140
DIST ncdu-2.3.tar.gz 56608 BLAKE2B 9fd73fba83c57195f8ffbad5b954140a776d1cd1d7b3e458f832255ee9c07eb8af9888a23ed3c671f508d6ba3795e2361f79e64b4b24630d744470efc5bfaded SHA512 283f78761b225883e090c4d0d1325bffc70049477087df3e8d1afcebc3136930c2636b2bba4aa6e43d53626668519c26a1528ba5c75489d3b5924e8974184e47
DIST ncdu-2.3.tar.gz.asc 833 BLAKE2B fd5b6b4b6e14b8bf66f5053c637598c3a0a9ad16d29c20805d62418fb69a22fa1155c8591dac35514d088c57853043c7d6c8b94abdff793a3f7b0a53cb41fd65 SHA512 698d8f1c0a7e0267fdfcfc7823803012ab7faae6eee75af406ecc9a73244463521de851c3f2b116ae7f6d7e567ea17a7ef6aae75e135a8efbb02333525455b20
EBUILD ncdu-1.19.ebuild 673 BLAKE2B 0d8a2758bb4e30d68b24c20bb6053c177b15dd191378091b618299aeec19f9dcc8a155a3374fd3a7ec90f389ef461d44c06c5f16621fa780da916c8767303a5a SHA512 319a81be8ef82e2c553a74328fa4c619e5ca3c6974f0d73f7772eaaa7a22b5162fcf3a14283856be49a32ca038b99bc7862812a69b4c087b7b5258d50bc3ad0a
+EBUILD ncdu-1.20.ebuild 664 BLAKE2B cdf9a7bfa92bda9793df816192e56fdb17ecfbf66d745f24e6e06828858d13e5df2e61667b61e7e2fa9b38502d65a374f05bb761c4ed09ade11c3f4c77cec1d0 SHA512 922f69ccb8701600af59dad8abd063b25e40104cd40b918df1aa84ad406da4c86c1a1e7d51804be5682d66871d252de7ad68f27e7e4cff7ccefe1064bdbb308b
EBUILD ncdu-2.3.ebuild 2995 BLAKE2B b86cc7995305064cc5673f45b075b1c90033a5cf9bde3edf297f3412f89728088103b7d61876121ffd741eefb5e5e497244153598a37583ba52e4b0f64b5ab63 SHA512 28c36e5307d4483896cd3c3e067a8d050e7e5aa35b8e47fb43d02743f7268b35225d7d8a692be4956153600dd72a11ea074e1f7a611aff168eb951a5ce0c0e21
MISC metadata.xml 862 BLAKE2B aecbc2cfec9351b2be9087d297016826f9bea5f81ea690e480cbe0dce5c627f554875fb9db5b19f21373391ef4fb28c7cea3129d911e80b7be007a9a0a79ac0a SHA512 2c722040961b930791780f704edddd4cdf010df05e462a0d333f2fbf4966c0ecac08eef3b1e05baf34013c95a91cc79dc38ef5616e07ffcb4e386b8760f89683
diff --git a/sys-fs/ncdu/ncdu-1.20.ebuild b/sys-fs/ncdu/ncdu-1.20.ebuild
new file mode 100644
index 000000000000..4b1045a565df
--- /dev/null
+++ b/sys-fs/ncdu/ncdu-1.20.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit verify-sig
+
+DESCRIPTION="NCurses Disk Usage"
+HOMEPAGE="https://dev.yorhel.nl/ncdu"
+SRC_URI="
+ https://dev.yorhel.nl/download/${P}.tar.gz
+ verify-sig? ( https://dev.yorhel.nl/download/${P}.tar.gz.asc )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-yorhel )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/yoranheling.asc