From e3affdf6a1cab49366db95002d6f37f99784dd7e Mon Sep 17 00:00:00 2001 From: EnumDev Date: Fri, 19 Sep 2025 17:48:27 +0300 Subject: [PATCH] Initial commit --- .gitignore | 2 + check-version.sh | 9 + pkg.info | 10 + source-files/add-tide-bpm-detection.patch | 216 ++++++++++++++++++++++ source.sh | 64 +++++++ 5 files changed, 301 insertions(+) create mode 100644 .gitignore create mode 100644 check-version.sh create mode 100644 pkg.info create mode 100644 source-files/add-tide-bpm-detection.patch create mode 100644 source.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e58e5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Exclude bpm archives +*.bpm \ No newline at end of file diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..eb7b6e3 --- /dev/null +++ b/check-version.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Github repository +REPO="fastfetch-cli/fastfetch" + +# Get tag name using Github Rest API +TAG_NAME=$(curl -s -L -H "X-GitHub-Api-Version: 2022-11-28" -H "Authorization: token ${GITHUB_API_TOKEN}" https://api.github.com/repos/"$REPO"/releases/latest | jq -r '.tag_name') + +echo "$TAG_NAME" diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..de9e95d --- /dev/null +++ b/pkg.info @@ -0,0 +1,10 @@ +name: fastfetch +description: A maintained, feature-rich and performance oriented, neofetch like system information tool +version: 2.52.0 +url: https://github.com/fastfetch-cli/fastfetch +license: MIT +architecture: any +depends: ["glibc","yyjson"] +optional_depends: ["dbus","glib","hwdata","imagemagick","libdrm","libelf","libpulse","libxrandr","python3","sqlite","vulkan-loader","zlib"] +make_depends: ["cmake","dbus","imagemagick","libpulse","libxcb","libxrandr","sqlite","vulkan-headers","vulkan-loader","wayland","xfconf","zlib"] +type: source diff --git a/source-files/add-tide-bpm-detection.patch b/source-files/add-tide-bpm-detection.patch new file mode 100644 index 0000000..c7e4725 --- /dev/null +++ b/source-files/add-tide-bpm-detection.patch @@ -0,0 +1,216 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 045b8f7b..9342c677 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -103,7 +103,7 @@ if(NOT BINARY_LINK_TYPE IN_LIST BINARY_LINK_TYPE_OPTIONS) + message(FATAL_ERROR "BINARY_LINK_TYPE must be one of ${BINARY_LINK_TYPE_OPTIONS}") + endif() + +-set(PACKAGE_MANAGERS AM APK BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PISI PKG PKGTOOL RPM SCOOP SNAP SOAR SORCERY WINGET XBPS) ++set(PACKAGE_MANAGERS AM APK BPM BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PISI PKG PKGTOOL RPM SCOOP SNAP SOAR SORCERY WINGET XBPS) + foreach(package_manager ${PACKAGE_MANAGERS}) + if(package_manager STREQUAL "WINGET") + option(PACKAGES_DISABLE_${package_manager} "Disable ${package_manager} package manager detection by default" ON) +diff --git a/doc/json_schema.json b/doc/json_schema.json +index d32269bd..a4ab7be1 100644 +--- a/doc/json_schema.json ++++ b/doc/json_schema.json +@@ -442,7 +442,7 @@ + "type": "string" + }, + "packagesFormat": { +- "description": "Output format of the module `Packages`. See Wiki for formatting syntax\n 1. {all}: Number of all packages\n 2. {pacman}: Number of pacman packages\n 3. {pacman-branch}: Pacman branch on manjaro\n 4. {dpkg}: Number of dpkg packages\n 5. {rpm}: Number of rpm packages\n 6. {emerge}: Number of emerge packages\n 7. {eopkg}: Number of eopkg packages\n 8. {xbps}: Number of xbps packages\n 9. {nix-system}: Number of nix-system packages\n 10. {nix-user}: Number of nix-user packages\n 11. {nix-default}: Number of nix-default packages\n 12. {apk}: Number of apk packages\n 13. {pkg}: Number of pkg packages\n 14. {flatpak-system}: Number of flatpak-system app packages\n 15. {flatpak-user}: Number of flatpak-user app packages\n 16. {snap}: Number of snap packages\n 17. {brew}: Number of brew packages\n 18. {brew-cask}: Number of brew-cask packages\n 19. {macports}: Number of macports packages\n 20. {scoop-user}: Number of scoop-user packages\n 21. {scoop-global}: Number of scoop-global packages\n 22. {choco}: Number of choco packages\n 23. {pkgtool}: Number of pkgtool packages\n 24. {paludis}: Number of paludis packages\n 25. {winget}: Number of winget packages\n 26. {opkg}: Number of opkg packages\n 27. {am-system}: Number of am-system packages\n 28. {sorcery}: Number of sorcery packages\n 29. {lpkg}: Number of lpkg packages\n 30. {lpkgbuild}: Number of lpkgbuild packages\n 31. {guix-system}: Number of guix-system packages\n 32. {guix-user}: Number of guix-user packages\n 33. {guix-home}: Number of guix-home packages\n 34. {linglong}: Number of linglong packages\n 35. {pacstall}: Number of pacstall packages\n 36. {mport}: Number of mport packages\n 37. {am-user}: Number of am-user (aka appman) packages\n 38. {pkgsrc}: Number of pkgsrc packages\n 39. {hpkg-system}: Number of hpkg-system packages\n 40. {hpkg-user}: Number of hpkg-user packages\n 41. {pisi}: Number of pisi packages\n 42. {soar}: Number of soar packages\n 43. {nix-all}: Total number of all nix packages\n 44. {flatpak-all}: Total number of all flatpak app packages\n 45. {brew-all}: Total number of all brew packages\n 46. {guix-all}: Total number of all guix packages\n 47. {hpkg-all}: Total number of all hpkg packages", ++ "description": "Output format of the module `Packages`. See Wiki for formatting syntax\n 1. {all}: Number of all packages\n 2. {pacman}: Number of pacman packages\n 3. {pacman-branch}: Pacman branch on manjaro\n 4. {dpkg}: Number of dpkg packages\n 5. {rpm}: Number of rpm packages\n 6. {emerge}: Number of emerge packages\n 7. {eopkg}: Number of eopkg packages\n 8. {xbps}: Number of xbps packages\n 9. {bpm}: Total number of all bpm packages\n 10. {nix-system}: Number of nix-system packages\n 11. {nix-user}: Number of nix-user packages\n 12. {nix-default}: Number of nix-default packages\n 13. {apk}: Number of apk packages\n 14. {pkg}: Number of pkg packages\n 15. {flatpak-system}: Number of flatpak-system app packages\n 16. {flatpak-user}: Number of flatpak-user app packages\n 17. {snap}: Number of snap packages\n 18. {brew}: Number of brew packages\n 19. {brew-cask}: Number of brew-cask packages\n 20. {macports}: Number of macports packages\n 21. {scoop-user}: Number of scoop-user packages\n 22. {scoop-global}: Number of scoop-global packages\n 23. {choco}: Number of choco packages\n 24. {pkgtool}: Number of pkgtool packages\n 25. {paludis}: Number of paludis packages\n 26. {winget}: Number of winget packages\n 27. {opkg}: Number of opkg packages\n 28. {am-system}: Number of am-system packages\n 29. {sorcery}: Number of sorcery packages\n 30. {lpkg}: Number of lpkg packages\n 31. {lpkgbuild}: Number of lpkgbuild packages\n 32. {guix-system}: Number of guix-system packages\n 33. {guix-user}: Number of guix-user packages\n 34. {guix-home}: Number of guix-home packages\n 35. {linglong}: Number of linglong packages\n 36. {pacstall}: Number of pacstall packages\n 37. {mport}: Number of mport packages\n 38. {am-user}: Number of am-user (aka appman) packages\n 39. {pkgsrc}: Number of pkgsrc packages\n 40. {hpkg-system}: Number of hpkg-system packages\n 41. {hpkg-user}: Number of hpkg-user packages\n 42. {pisi}: Number of pisi packages\n 43. {soar}: Number of soar packages\n 44. {nix-all}: Total number of all nix packages\n 45. {flatpak-all}: Total number of all flatpak app packages\n 46. {brew-all}: Total number of all brew packages\n 47. {guix-all}: Total number of all guix packages\n 48. {hpkg-all}: Total number of all hpkg packages", + "type": "string" + }, + "physicaldiskFormat": { +diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h +index 7464a30c..c684d33b 100644 +--- a/src/detection/packages/packages.h ++++ b/src/detection/packages/packages.h +@@ -8,6 +8,7 @@ typedef struct FFPackagesResult + uint32_t amSystem; + uint32_t amUser; + uint32_t apk; ++ uint32_t bpm; + uint32_t brew; + uint32_t brewCask; + uint32_t choco; +diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c +index 3d83f3a5..42acc3c8 100644 +--- a/src/detection/packages/packages_linux.c ++++ b/src/detection/packages/packages_linux.c +@@ -452,6 +452,7 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts, + if (!(options->disabled & FF_PACKAGES_FLAG_PACSTALL_BIT)) packageCounts->pacstall += getNumElements(baseDir, "/var/lib/pacstall/metadata", false); + if (!(options->disabled & FF_PACKAGES_FLAG_PISI_BIT)) packageCounts->pisi += getNumElements(baseDir, "/var/lib/pisi/package", true); + if (!(options->disabled & FF_PACKAGES_FLAG_PKGSRC_BIT)) packageCounts->pkgsrc += getNumElements(baseDir, "/usr/pkg/pkgdb", DT_DIR); ++ if (!(options->disabled & FF_PACKAGES_FLAG_BPM_BIT)) packageCounts->bpm += getNumElements(baseDir, "/var/lib/bpm/installed", true); + } + + static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options) +diff --git a/src/logo/ascii/tidelinux.txt b/src/logo/ascii/tidelinux.txt +new file mode 100644 +index 00000000..2d8b44e3 +--- /dev/null ++++ b/src/logo/ascii/tidelinux.txt +@@ -0,0 +1,14 @@ ++ $1@@@@ $1@@@$2* ++ $1@@$2~~~~$1@@ $1@@$2~~~ ++ $1@@$2~~ $2~~$1@ $1@@$2~~ ++ $1@@$2~~ $2~$1@ $1@@@$2~~ ++ $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2* ++ $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~ ++ $1@@$2~~ $2~~$1@ $1@@$2~~ ++ $1@@$2~~ $2~$1@ $1@@@$2~~ ++ $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2* ++ $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~ ++ $1@@$2~~ $2~~$1@ $1@@$2~~ ++ $1@@$2~~ $2~$1@ $1@@@$2~~ ++ $2*$1@@$2~~ $2~$1@@@@$2~~~ ++ $2~~ $2~~~~ +diff --git a/src/logo/builtin.c b/src/logo/builtin.c +index 26bce146..cb74ad59 100644 +--- a/src/logo/builtin.c ++++ b/src/logo/builtin.c +@@ -4788,6 +4788,17 @@ static const FFlogo T[] = { + FF_COLOR_FG_GREEN, + }, + }, ++ // TideLinux ++ { ++ .names = {"Tide Linux"}, ++ .lines = FASTFETCH_DATATEXT_LOGO_TIDELINUX, ++ .colors = { ++ FF_COLOR_FG_256 "27", ++ FF_COLOR_FG_256 "39", ++ FF_COLOR_FG_BLUE, ++ FF_COLOR_FG_256 "12", ++ }, ++ }, + // Torizon OS + { + .names = {"Torizon OS", "TorizonCore"}, +diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h +index 240ca666..5b1d9e98 100644 +--- a/src/modules/packages/option.h ++++ b/src/modules/packages/option.h +@@ -6,36 +6,37 @@ typedef enum __attribute__((__packed__)) FFPackagesFlags + { + FF_PACKAGES_FLAG_NONE = 0, + FF_PACKAGES_FLAG_APK_BIT = 1ULL << 0, +- FF_PACKAGES_FLAG_BREW_BIT = 1ULL << 1, +- FF_PACKAGES_FLAG_CHOCO_BIT = 1ULL << 2, +- FF_PACKAGES_FLAG_DPKG_BIT = 1ULL << 3, +- FF_PACKAGES_FLAG_EMERGE_BIT = 1ULL << 4, +- FF_PACKAGES_FLAG_EOPKG_BIT = 1ULL << 5, +- FF_PACKAGES_FLAG_FLATPAK_BIT = 1ULL << 6, +- FF_PACKAGES_FLAG_NIX_BIT = 1ULL << 7, +- FF_PACKAGES_FLAG_OPKG_BIT = 1ULL << 8, +- FF_PACKAGES_FLAG_PACMAN_BIT = 1ULL << 9, +- FF_PACKAGES_FLAG_PALUDIS_BIT = 1ULL << 10, +- FF_PACKAGES_FLAG_PKG_BIT = 1ULL << 11, +- FF_PACKAGES_FLAG_PKGTOOL_BIT = 1ULL << 12, +- FF_PACKAGES_FLAG_MACPORTS_BIT = 1ULL << 13, +- FF_PACKAGES_FLAG_RPM_BIT = 1ULL << 14, +- FF_PACKAGES_FLAG_SCOOP_BIT = 1ULL << 15, +- FF_PACKAGES_FLAG_SNAP_BIT = 1ULL << 16, +- FF_PACKAGES_FLAG_WINGET_BIT = 1ULL << 17, +- FF_PACKAGES_FLAG_XBPS_BIT = 1ULL << 18, +- FF_PACKAGES_FLAG_AM_BIT = 1ULL << 19, +- FF_PACKAGES_FLAG_SORCERY_BIT = 1ULL << 20, +- FF_PACKAGES_FLAG_LPKG_BIT = 1ULL << 21, +- FF_PACKAGES_FLAG_LPKGBUILD_BIT = 1ULL << 22, +- FF_PACKAGES_FLAG_GUIX_BIT = 1ULL << 23, +- FF_PACKAGES_FLAG_LINGLONG_BIT = 1ULL << 24, +- FF_PACKAGES_FLAG_PACSTALL_BIT = 1ULL << 25, +- FF_PACKAGES_FLAG_MPORT_BIT = 1ULL << 26, +- FF_PACKAGES_FLAG_PKGSRC_BIT = 1ULL << 27, +- FF_PACKAGES_FLAG_HPKG_BIT = 1ULL << 28, +- FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 29, +- FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30, ++ FF_PACKAGES_FLAG_BPM_BIT = 1ULL << 1, ++ FF_PACKAGES_FLAG_BREW_BIT = 1ULL << 2, ++ FF_PACKAGES_FLAG_CHOCO_BIT = 1ULL << 3, ++ FF_PACKAGES_FLAG_DPKG_BIT = 1ULL << 4, ++ FF_PACKAGES_FLAG_EMERGE_BIT = 1ULL << 5, ++ FF_PACKAGES_FLAG_EOPKG_BIT = 1ULL << 6, ++ FF_PACKAGES_FLAG_FLATPAK_BIT = 1ULL << 7, ++ FF_PACKAGES_FLAG_NIX_BIT = 1ULL << 8, ++ FF_PACKAGES_FLAG_OPKG_BIT = 1ULL << 9, ++ FF_PACKAGES_FLAG_PACMAN_BIT = 1ULL << 10, ++ FF_PACKAGES_FLAG_PALUDIS_BIT = 1ULL << 11, ++ FF_PACKAGES_FLAG_PKG_BIT = 1ULL << 12, ++ FF_PACKAGES_FLAG_PKGTOOL_BIT = 1ULL << 13, ++ FF_PACKAGES_FLAG_MACPORTS_BIT = 1ULL << 14, ++ FF_PACKAGES_FLAG_RPM_BIT = 1ULL << 15, ++ FF_PACKAGES_FLAG_SCOOP_BIT = 1ULL << 16, ++ FF_PACKAGES_FLAG_SNAP_BIT = 1ULL << 17, ++ FF_PACKAGES_FLAG_WINGET_BIT = 1ULL << 18, ++ FF_PACKAGES_FLAG_XBPS_BIT = 1ULL << 19, ++ FF_PACKAGES_FLAG_AM_BIT = 1ULL << 20, ++ FF_PACKAGES_FLAG_SORCERY_BIT = 1ULL << 21, ++ FF_PACKAGES_FLAG_LPKG_BIT = 1ULL << 22, ++ FF_PACKAGES_FLAG_LPKGBUILD_BIT = 1ULL << 23, ++ FF_PACKAGES_FLAG_GUIX_BIT = 1ULL << 24, ++ FF_PACKAGES_FLAG_LINGLONG_BIT = 1ULL << 25, ++ FF_PACKAGES_FLAG_PACSTALL_BIT = 1ULL << 26, ++ FF_PACKAGES_FLAG_MPORT_BIT = 1ULL << 27, ++ FF_PACKAGES_FLAG_PKGSRC_BIT = 1ULL << 28, ++ FF_PACKAGES_FLAG_HPKG_BIT = 1ULL << 29, ++ FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 30, ++ FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 31, + 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 1d1094ae..a0b90137 100644 +--- a/src/modules/packages/packages.c ++++ b/src/modules/packages/packages.c +@@ -63,6 +63,7 @@ bool ffPrintPackages(FFPackagesOptions* options) + FF_PRINT_PACKAGE(emerge) + FF_PRINT_PACKAGE(eopkg) + FF_PRINT_PACKAGE(xbps) ++ FF_PRINT_PACKAGE(bpm) + if (options->combined) + { + FF_PRINT_PACKAGE_ALL(nix); +@@ -160,6 +161,7 @@ bool ffPrintPackages(FFPackagesOptions* options) + FF_FORMAT_ARG(counts.emerge, "emerge"), + FF_FORMAT_ARG(counts.eopkg, "eopkg"), + FF_FORMAT_ARG(counts.xbps, "xbps"), ++ FF_FORMAT_ARG(counts.bpm, "bpm"), + FF_FORMAT_ARG(counts.nixSystem, "nix-system"), + FF_FORMAT_ARG(counts.nixUser, "nix-user"), + FF_FORMAT_ARG(counts.nixDefault, "nix-default"), +@@ -247,6 +249,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) + FF_TEST_PACKAGE_NAME(AM) + break; + case 'B': if (false); ++ FF_TEST_PACKAGE_NAME(BPM) + FF_TEST_PACKAGE_NAME(BREW) + break; + case 'C': if (false); +@@ -338,6 +341,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do + if (false); + FF_TEST_PACKAGE_NAME(AM) + FF_TEST_PACKAGE_NAME(APK) ++ FF_TEST_PACKAGE_NAME(BPM) + FF_TEST_PACKAGE_NAME(BREW) + FF_TEST_PACKAGE_NAME(CHOCO) + FF_TEST_PACKAGE_NAME(DPKG) +@@ -393,6 +397,7 @@ bool ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy + FF_APPEND_PACKAGE_COUNT(amSystem) + FF_APPEND_PACKAGE_COUNT(amUser) + FF_APPEND_PACKAGE_COUNT(apk) ++ FF_APPEND_PACKAGE_COUNT(bpm) + FF_APPEND_PACKAGE_COUNT(brew) + FF_APPEND_PACKAGE_COUNT(brewCask) + FF_APPEND_PACKAGE_COUNT(choco) +@@ -464,6 +469,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = { + {"Number of emerge packages", "emerge"}, + {"Number of eopkg packages", "eopkg"}, + {"Number of xbps packages", "xbps"}, ++ {"Number of bpm packages", "bpm"}, + {"Number of nix-system packages", "nix-system"}, + {"Number of nix-user packages", "nix-user"}, + {"Number of nix-default packages", "nix-default"}, diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..8ae6b71 --- /dev/null +++ b/source.sh @@ -0,0 +1,64 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +DOWNLOAD="https://github.com/fastfetch-cli/fastfetch/archive/refs/tags/${BPM_PKG_VERSION}.tar.gz" +FILENAME="${DOWNLOAD##*/}" + +# The prepare function is executed in the root of the temp directory +# This function is used for downloading files and putting them into the correct location +prepare() { + wget "$DOWNLOAD" + tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" + + cd "$BPM_SOURCE" + # Adds Tide Linux and BPM detection + patch -Np1 -i "$BPM_WORKDIR"/add-tide-bpm-detection.patch +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + cmake -B build \ + -DCMAKE_BUILD_TYPE='RelWithDebInfo' \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_FLASHFETCH='OFF' \ + -DBUILD_TESTS='ON' \ + -DENABLE_SQLITE3='ON' \ + -DENABLE_RPM='OFF' \ + -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' \ + -DPACKAGES_DISABLE_PACMAN='ON' + cmake --build build +} + +# The check function is executed in the source directory +# This function is used to run tests to verify the package has been compiled correctly +check() { + ctest --test-dir build +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + DESTDIR="$BPM_OUTPUT" cmake --install build + + # Install package license + install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/fastfetch/LICENSE +}