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>

Reply via email to