diff --git a/src/detection/packages/packages_apple.c b/src/detection/packages/packages_apple.c index 43de97df8f..78d16a020a 100644 --- a/src/detection/packages/packages_apple.c +++ b/src/detection/packages/packages_apple.c @@ -46,6 +46,20 @@ void ffDetectPackagesImpl(FFPackagesResult* result, FFPackagesOptions* options) result->macports = getMacPortsPackages(&baseDir); } + if (FF_PACKAGES_IS_ENABLED(options, PKGSRC)) { + const char* prefix = getenv("PKG_DBDIR"); + if (ffStrSet(prefix)) { + result->pkgsrc = ffPackagesGetNumElements(prefix, true); + } else { + result->pkgsrc = ffPackagesGetNumElements(FASTFETCH_TARGET_DIR_ROOT "/opt/pkg/pkgdb", true); + if (result->pkgsrc == 0) { + result->pkgsrc = ffPackagesGetNumElements(FASTFETCH_TARGET_DIR_ROOT "/usr/pkg/pkgdb", true); + if (result->pkgsrc == 0) { + result->pkgsrc = ffPackagesGetNumElements(FASTFETCH_TARGET_DIR_ROOT "/var/db/pkg", true); + } + } + } + } if (FF_PACKAGES_IS_ENABLED(options, NIX)) { ffStrbufSetS(&baseDir, FASTFETCH_TARGET_DIR_ROOT); result->nixDefault += ffPackagesGetNix(&baseDir, "/nix/var/nix/profiles/default"); @@ -54,3 +68,4 @@ void ffDetectPackagesImpl(FFPackagesResult* result, FFPackagesOptions* options) result->nixUser = ffPackagesGetNix(&baseDir, "/.nix-profile"); } } +