commit: d19192494cdf514e77ca321a038b5b57a0097ebb Author: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> AuthorDate: Mon Jan 1 17:26:56 2024 +0000 Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> CommitDate: Mon Jan 1 17:54:17 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1919249
app-misc/fastfetch: add 2.5.0 Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org> app-misc/fastfetch/Manifest | 1 + app-misc/fastfetch/fastfetch-2.5.0.ebuild | 118 +++++++++++++++++++++ .../fastfetch/files/fastfetch-2.5.0-nvidia.patch | 83 +++++++++++++++ app-misc/fastfetch/metadata.xml | 1 + 4 files changed, 203 insertions(+) diff --git a/app-misc/fastfetch/Manifest b/app-misc/fastfetch/Manifest index 93c10e1259e5..3b7689e55f48 100644 --- a/app-misc/fastfetch/Manifest +++ b/app-misc/fastfetch/Manifest @@ -1,3 +1,4 @@ DIST fastfetch-2.2.3.tar.gz 901203 BLAKE2B d6d097b72ce2f252e42b3e59cbd26b43a4f17ae974382f986270fbf91b457cf3c49e78a3c775e713d9302d536fb5a363e809005b9174d1a27622e6b6ed666709 SHA512 81e051b7555d56415c723606c0b6dfc3ad7ed91fb2c7b36c07465f4dfbdb91da5c8d216e46df36863888448de0a7bd63e28c6aa701995bf1165e0d7c33c4f724 DIST fastfetch-2.3.4.tar.gz 909105 BLAKE2B 132f88681f9133cdeae8126c4dabf4e8805865fe506a005f938bcda487750a874ab59deebdf2fc348c2a469cf4771fe5916f594a5a408769c1e49fba417ab113 SHA512 fe1e6465380e513e4e75092bc737b23adca4c9dd42de8adb888bad1ce173f1fa9c93e9cbd7b2ca648058503b7cfb72c2ba1d70abf63b8f1497e94ce6eb349524 DIST fastfetch-2.4.0.tar.gz 913193 BLAKE2B 88df9a8cb641596855cbd539d0be7f9270cd234dc060612ee6c52f5d47b2deb0d95608bdc496c81ac5e0e74c0c403f373fdcf7c17303eebab1f3b32ee0a41270 SHA512 00130ad3825cff039dc9ab3efd9f3431b36357e0ae144148872ab761f8b07a8d95c2413450d000b0181e9424d490ad55e6af928d1b7b2efdc7d5842ead8ab028 +DIST fastfetch-2.5.0.tar.gz 984182 BLAKE2B 5185cce0e5933524835093a2f730cac8a9262cb6ec2c422fff60a4c6daec4f2a8ba11eab4323f00eaeebf2d946da9767f125b265e87cda6714d50e1c5e1383de SHA512 a69f4e839acf8897a9cd8f6c017a4d7657a8dc0b3c58e645c88fc8e47e0a7bd3411d1a3e1e916628a948cb7e1688a200f7ac1eabd090f5eb42ce4b0030e342b4 diff --git a/app-misc/fastfetch/fastfetch-2.5.0.ebuild b/app-misc/fastfetch/fastfetch-2.5.0.ebuild new file mode 100644 index 000000000000..8facae65cd7b --- /dev/null +++ b/app-misc/fastfetch/fastfetch-2.5.0.ebuild @@ -0,0 +1,118 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="Fast neofetch-like system information tool" +HOMEPAGE="https://github.com/fastfetch-cli/fastfetch" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/fastfetch-cli/fastfetch.git" + [[ ${PV} == *0.1.9999 ]] && EGIT_BRANCH=master + [[ ${PV} == *0.2.9999 ]] && EGIT_BRANCH=dev + [[ "${EGIT_BRANCH}" == "" ]] && die "Please set a git branch" +else + SRC_URI="https://github.com/fastfetch-cli/fastfetch/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="MIT nvidia-gpu? ( NVIDIA-NVLM )" +SLOT="0" +IUSE="X chafa dbus ddcutil drm gnome imagemagick networkmanager nvidia-gpu opencl opengl osmesa pci pulseaudio sqlite test vulkan wayland xcb xfce xrandr" +RESTRICT="!test? ( test )" + +# note - qa-vdb will always report errors because fastfetch loads the libs dynamically +# make sure to crank yyjson minimum version to match bundled version +RDEPEND=" + >=dev-libs/yyjson-0.8.0:= + sys-libs/zlib + X? ( x11-libs/libX11 ) + chafa? ( media-gfx/chafa ) + dbus? ( sys-apps/dbus ) + ddcutil? ( app-misc/ddcutil:= ) + drm? ( x11-libs/libdrm ) + gnome? ( + dev-libs/glib + gnome-base/dconf + ) + imagemagick? ( media-gfx/imagemagick:= ) + networkmanager? ( net-misc/networkmanager ) + opencl? ( virtual/opencl ) + opengl? ( media-libs/libglvnd[X] ) + osmesa? ( media-libs/mesa[osmesa] ) + pci? ( sys-apps/pciutils ) + pulseaudio? ( media-libs/libpulse ) + sqlite? ( dev-db/sqlite:3 ) + vulkan? ( + media-libs/vulkan-loader + sys-apps/pciutils + ) + wayland? ( dev-libs/wayland ) + xcb? ( x11-libs/libxcb ) + xfce? ( xfce-base/xfconf ) + xrandr? ( x11-libs/libXrandr ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +REQUIRED_USE=" + xrandr? ( X ) + chafa? ( imagemagick ) +" + +PATCHES=( + "${FILESDIR}"/${P}-nvidia.patch +) + +src_configure() { + local fastfetch_enable_imagemagick7=no + local fastfetch_enable_imagemagick6=no + if use imagemagick; then + fastfetch_enable_imagemagick7=$(has_version '>=media-gfx/imagemagick-7.0.0' && echo yes || echo no) + fastfetch_enable_imagemagick6=$(has_version '<media-gfx/imagemagick-7.0.0' && echo yes || echo no) + fi + + local mycmakeargs=( + -DENABLE_RPM=no + -DENABLE_ZLIB=yes + -DENABLE_SYSTEM_YYJSON=yes + + -DENABLE_CHAFA=$(usex chafa) + -DENABLE_DBUS=$(usex dbus) + -DENABLE_DCONF=$(usex gnome) + -DENABLE_DDCUTIL=$(usex ddcutil) + -DENABLE_DRM=$(usex drm) + -DENABLE_EGL=$(usex opengl) + -DENABLE_GIO=$(usex gnome) + -DENABLE_GLX=$(usex opengl) + -DENABLE_IMAGEMAGICK6=${fastfetch_enable_imagemagick6} + -DENABLE_IMAGEMAGICK7=${fastfetch_enable_imagemagick7} + -DENABLE_LIBNM=$(usex networkmanager) + -DENABLE_LIBPCI=$(usex pci) + -DENABLE_NVIDIA_GPU=$(usex nvidia-gpu) + -DENABLE_OPENCL=$(usex opencl) + -DENABLE_OSMESA=$(usex osmesa) + -DENABLE_PULSE=$(usex pulseaudio) + -DENABLE_SQLITE3=$(usex sqlite) + -DENABLE_VULKAN=$(usex vulkan) + -DENABLE_WAYLAND=$(usex wayland) + -DENABLE_X11=$(usex X) + -DENABLE_XCB=$(usex xcb) + -DENABLE_XCB_RANDR=$(usex xcb) + -DENABLE_XFCONF=$(usex xfce) + -DENABLE_XRANDR=$(usex xrandr) + -DBUILD_TESTS=$(usex test) + ) + + append-cppflags -DNDEBUG + + cmake_src_configure +} + +src_install() { + cmake_src_install + + rm -r "${ED}"/usr/share/licenses || die +} diff --git a/app-misc/fastfetch/files/fastfetch-2.5.0-nvidia.patch b/app-misc/fastfetch/files/fastfetch-2.5.0-nvidia.patch new file mode 100644 index 000000000000..263604bdf2fb --- /dev/null +++ b/app-misc/fastfetch/files/fastfetch-2.5.0-nvidia.patch @@ -0,0 +1,83 @@ +https://github.com/fastfetch-cli/fastfetch/commit/0a1de91a29b802962e123966e370befd3894cb6d.patch + +Option to opt out of Nvidia GPU support. + +From: Viorel <[email protected]> +Date: Mon, 1 Jan 2024 12:38:06 +0200 +Subject: [PATCH] Add option for NVIDIA GPU support + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,6 +76,7 @@ option(ENABLE_SYSTEM_YYJSON "Use system provided (instead of fastfetch embedded) + option(ENABLE_ASAN "Build fastfetch with ASAN (address sanitizer)" OFF) + option(BUILD_TESTS "Build tests" OFF) # Also create test executables + option(SET_TWEAK "Add tweak to project version" ON) # This is set to off by github actions for release builds ++option(ENABLE_NVIDIA_GPU "Enable Nvidia NVML" ON) + + #################### + # Compiler options # +@@ -405,7 +406,6 @@ if(LINUX) + src/detection/displayserver/linux/xlib.c + src/detection/font/font_linux.c + src/detection/gpu/gpu_linux.c +- src/detection/gpu/gpu_nvidia.c + src/detection/gtk_qt/gtk.c + src/detection/host/host_linux.c + src/detection/icons/icons_linux.c +@@ -519,7 +519,6 @@ elseif(BSD) + src/detection/displayserver/linux/xlib.c + src/detection/font/font_linux.c + src/detection/gpu/gpu_linux.c +- src/detection/gpu/gpu_nvidia.c + src/detection/gtk_qt/gtk.c + src/detection/host/host_bsd.c + src/detection/lm/lm_linux.c +@@ -630,7 +629,6 @@ elseif(WIN32) + src/detection/displayserver/displayserver_windows.c + src/detection/font/font_windows.c + src/detection/gpu/gpu_windows.c +- src/detection/gpu/gpu_nvidia.c + src/detection/gpu/gpu_intel.c + src/detection/gpu/gpu_amd.c + src/detection/host/host_windows.c +@@ -676,6 +674,11 @@ if(ENABLE_DIRECTX_HEADERS) + list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_wsl.cpp) + endif() + ++if(ENABLE_NVIDIA_GPU AND (LINUX OR BSD OR WIN32)) ++ message(STATUS "Enabling Nvidia NVML") ++ list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_nvidia.c) ++endif() ++ + include(CheckFunctionExists) + check_function_exists(wcwidth HAVE_WCWIDTH) + if(NOT HAVE_WCWIDTH) +@@ -699,6 +702,10 @@ add_library(libfastfetch OBJECT + ${LIBFASTFETCH_SRC} + ) + ++if(ENABLE_NVIDIA_GPU AND (LINUX OR BSD OR WIN32)) ++ target_compile_definitions(libfastfetch PRIVATE FF_HAVE_NVIDIA_GPU=1) ++endif() ++ + if(yyjson_FOUND) + target_compile_definitions(libfastfetch PRIVATE FF_USE_SYSTEM_YYJSON) + target_link_libraries(libfastfetch PRIVATE yyjson) +--- a/src/detection/gpu/gpu_linux.c ++++ b/src/detection/gpu/gpu_linux.c +@@ -245,6 +245,7 @@ static void pciHandleDevice(FF_MAYBE_UNUSED const FFGPUOptions* options, FFlist* + gpu->temperature = FF_GPU_TEMP_UNSET; + gpu->frequency = FF_GPU_FREQUENCY_UNSET; + ++ #ifdef FF_HAVE_NVIDIA_GPU + if (gpu->vendor.chars == FF_GPU_VENDOR_NAME_NVIDIA && (options->temp || options->driverSpecific)) + { + ffDetectNvidiaGpuInfo(&(FFGpuDriverCondition) { +@@ -266,6 +267,7 @@ static void pciHandleDevice(FF_MAYBE_UNUSED const FFGPUOptions* options, FFlist* + if (gpu->dedicated.total != FF_GPU_VMEM_SIZE_UNSET) + gpu->type = gpu->dedicated.total > (uint64_t)1024 * 1024 * 1024 ? FF_GPU_TYPE_DISCRETE : FF_GPU_TYPE_INTEGRATED; + } ++ #endif + + #ifdef __linux__ + if(options->temp && gpu->temperature != gpu->temperature) diff --git a/app-misc/fastfetch/metadata.xml b/app-misc/fastfetch/metadata.xml index 52543767b237..9285504b61fa 100644 --- a/app-misc/fastfetch/metadata.xml +++ b/app-misc/fastfetch/metadata.xml @@ -12,6 +12,7 @@ <flag name="chafa">Enables text/graphics renderer with <pkg>media-gfx/chafa</pkg></flag> <flag name="ddcutil">Use <pkg>app-misc/ddcutil</pkg> to query monitor settings</flag> <flag name="drm">Enables support for X.org's <pkg>x11-libs/libdrm</pkg></flag> + <flag name="nvidia-gpu">Enables extra support for NVIDIA GPU</flag> <flag name="osmesa">Enables offscreen rendering support from <pkg>media-libs/mesa</pkg></flag> <flag name="pci">Enables reading GPU via <pkg>sys-apps/pciutils</pkg></flag> <flag name="vulkan">Enables reading GPU via <pkg>media-libs/vulkan-loader</pkg></flag>
