new bblfs: app-misc/fastfetch-2.56.1 with leaf support

This commit is contained in:
2025-12-24 15:30:10 -05:00
parent 02251c40a9
commit c9d38eb015
2 changed files with 128 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
pkgname=fastfetch
pkgver=2.56.1
pkgdesc="A feature-rich and performance oriented neofetch like system information tool"
homepage="https://github.com/fastfetch-cli/fastfetch"
arch=('x86_64')
license=('MIT')
sources=("${pkgname}-${pkgver}.tar.gz"
"fastfetch-2.56.1-leaf.patch"
)
urls=("https://github.com/fastfetch-cli/fastfetch/archive/refs/tags/${pkgver}.tar.gz"
"fastfetch-2.56.1-leaf.patch"
)
md5sums=("352542c153e59434dcedd0aa23d63ebf"
"12924e7da723d89453d0c53ae4287a99"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -p1 -i ${distdir}/${sources[1]}
}
src_build() {
cmake -B build \
-DCMAKE_BUILD_TYPE='RelWithDebInfo' \
-DCMAKE_INSTALL_PREFIX='/usr' \
-DBUILD_FLASHFETCH='OFF' \
-DBUILD_TESTS='ON' \
-DENABLE_IMAGEMAGICK6='OFF' \
-DENABLE_SYSTEM_YYJSON='ON' \
-DPACKAGES_DISABLE_APK='ON' \
-DPACKAGES_DISABLE_DPKG='ON' \
-DPACKAGES_DISABLE_EMERGE='ON' \
-DPACKAGES_DISABLE_EOPKG='ON' \
-DPACKAGES_DISABLE_GUIX='ON' \
-DPACKAGES_DISABLE_LINGLONG='ON' \
-DPACKAGES_DISABLE_LPKG='ON' \
-DPACKAGES_DISABLE_LPKGBUILD='ON' \
-DPACKAGES_DISABLE_OPKG='ON' \
-DPACKAGES_DISABLE_PACSTALL='ON' \
-DPACKAGES_DISABLE_PALUDIS='ON' \
-DPACKAGES_DISABLE_PKG='ON' \
-DPACKAGES_DISABLE_PKGTOOL='ON' \
-DPACKAGES_DISABLE_RPM='ON' \
-DPACKAGES_DISABLE_SORCERY='ON' \
-DPACKAGES_DISABLE_XBPS='ON' \
-Wno-dev
cmake --build build
}
src_check() {
ctest --test-dir build --output-on-failure
}
src_install() {
DESTDIR="${pkgdir}" cmake --install build
}

View File

@@ -0,0 +1,72 @@
diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h
index 12e98793..b1552761 100644
--- a/src/detection/packages/packages.h
+++ b/src/detection/packages/packages.h
@@ -22,6 +22,7 @@ typedef struct FFPackagesResult
uint32_t hpkgSystem;
uint32_t hpkgUser;
uint32_t kiss;
+ uint32_t leaf;
uint32_t linglong;
uint32_t lpkg;
uint32_t lpkgbuild;
diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c
index fc5a0cf2..f4a3fca1 100644
--- a/src/detection/packages/packages_linux.c
+++ b/src/detection/packages/packages_linux.c
@@ -418,6 +418,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts,
if (!(options->disabled & FF_PACKAGES_FLAG_DPKG_BIT)) packageCounts->dpkg += getNumStrings(baseDir, "/var/lib/dpkg/status", "Status: install ok installed", "dpkg");
if (!(options->disabled & FF_PACKAGES_FLAG_LPKG_BIT)) packageCounts->lpkg += getNumStrings(baseDir, "/opt/Loc-OS-LPKG/installed-lpkg/Listinstalled-lpkg.list", "\n", "lpkg");
if (!(options->disabled & FF_PACKAGES_FLAG_EMERGE_BIT)) packageCounts->emerge += countFilesRecursive(baseDir, "/var/db/pkg", "SIZE");
+ if (!(options->disabled & FF_PACKAGES_FLAG_LEAF_BIT)) packageCounts->leaf += countFilesRecursive(baseDir, "/var/lib/leaf/trace", "FILES");
if (!(options->disabled & FF_PACKAGES_FLAG_EOPKG_BIT)) packageCounts->eopkg += getNumElements(baseDir, "/var/lib/eopkg/package", true);
if (!(options->disabled & FF_PACKAGES_FLAG_FLATPAK_BIT)) packageCounts->flatpakSystem += getFlatpakPackages(baseDir, "/var/lib");
if (!(options->disabled & FF_PACKAGES_FLAG_KISS_BIT)) packageCounts->kiss += getNumElements(baseDir, "/var/db/kiss/installed", true);
diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h
index f3954138..a7a9991c 100644
--- a/src/modules/packages/option.h
+++ b/src/modules/packages/option.h
@@ -37,6 +37,7 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags
FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 29,
FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30,
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
+ FF_PACKAGES_FLAG_LEAF_BIT = 1ULL << 32,
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
} FFPackagesFlags;
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c
index 5f78a052..5628edd9 100644
--- a/src/modules/packages/packages.c
+++ b/src/modules/packages/packages.c
@@ -147,6 +147,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
FF_PRINT_PACKAGE(mport)
FF_PRINT_PACKAGE(pisi)
FF_PRINT_PACKAGE(soar)
+ FF_PRINT_PACKAGE(leaf)
putchar('\n');
}
@@ -196,6 +197,7 @@ bool ffPrintPackages(FFPackagesOptions* options)
FF_FORMAT_ARG(counts.pisi, "pisi"),
FF_FORMAT_ARG(counts.soar, "soar"),
FF_FORMAT_ARG(counts.kiss, "kiss"),
+ FF_FORMAT_ARG(counts.leaf, "leaf"),
FF_FORMAT_ARG(nixAll, "nix-all"),
FF_FORMAT_ARG(flatpakAll, "flatpak-all"),
FF_FORMAT_ARG(brewAll, "brew-all"),
@@ -435,6 +437,7 @@ bool ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy
FF_APPEND_PACKAGE_COUNT(sorcery)
FF_APPEND_PACKAGE_COUNT(winget)
FF_APPEND_PACKAGE_COUNT(xbps)
+ FF_APPEND_PACKAGE_COUNT(leaf)
yyjson_mut_obj_add_strbuf(doc, obj, "pacmanBranch", &counts.pacmanBranch);
return true;
@@ -506,6 +509,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = {
{"Number of pisi packages", "pisi"},
{"Number of soar packages", "soar"},
{"Number of kiss packages", "kiss"},
+ {"Number of leaf packages", "leaf"},
{"Total number of all nix packages", "nix-all"},
{"Total number of all flatpak app packages", "flatpak-all"},
{"Total number of all brew packages", "brew-all"},