Re: git: 22387af7f781 - main - sysutils/fastfetch: Like neofetch, but much faster because written in C

From: Fernando_Apesteguía <fernando.apesteguia_at_gmail.com>
Date: Thu, 06 Jul 2023 20:25:09 UTC
El jue, 6 jul 2023, 22:17, Piotr Kubaj <pkubaj@freebsd.org> escribió:

> The branch main has been updated by pkubaj:
>
> URL:
> https://cgit.FreeBSD.org/ports/commit/?id=22387af7f781f85ef2ef0d0438e96fedc29b1c9f
>
> commit 22387af7f781f85ef2ef0d0438e96fedc29b1c9f
> Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
> AuthorDate: 2023-07-06 13:37:48 +0000
> Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
> CommitDate: 2023-07-06 20:16:45 +0000
>
>     sysutils/fastfetch: Like neofetch, but much faster because written in C
>

Oh boy :-)

I'm going to coin the YAFP acronym if it does not exist. Yet Another Fetch
Port. Does any keep the count of how many *fetch ports do we have?



>     Fastfetch is a neofetch-like tool for fetching system information and
> displaying them in a pretty way. It is written mainly in C, with
> performance and customizability in mind. Currently, Linux, Android,
> FreeBSD, MacOS and Windows 7+ are supported.
> ---
>  sysutils/Makefile            |  1 +
>  sysutils/fastfetch/Makefile  | 95
> ++++++++++++++++++++++++++++++++++++++++++++
>  sysutils/fastfetch/distinfo  |  3 ++
>  sysutils/fastfetch/pkg-descr |  4 ++
>  sysutils/fastfetch/pkg-plist | 18 +++++++++
>  5 files changed, 121 insertions(+)
>
> diff --git a/sysutils/Makefile b/sysutils/Makefile
> index 2b9d74a710e2..6eff501db8c9 100644
> --- a/sysutils/Makefile
> +++ b/sysutils/Makefile
> @@ -375,6 +375,7 @@
>      SUBDIR += faketty
>      SUBDIR += fand
>      SUBDIR += fanout
> +    SUBDIR += fastfetch
>      SUBDIR += fatback
>      SUBDIR += fcode-utils
>      SUBDIR += fconfig
> diff --git a/sysutils/fastfetch/Makefile b/sysutils/fastfetch/Makefile
> new file mode 100644
> index 000000000000..d84e70de2cb7
> --- /dev/null
> +++ b/sysutils/fastfetch/Makefile
> @@ -0,0 +1,95 @@
> +PORTNAME=      fastfetch
> +DISTVERSION=   1.12.2
> +CATEGORIES=    sysutils
> +
> +MAINTAINER=    pkubaj@FreeBSD.org
> +COMMENT=       Like neofetch, but much faster because written in C
> +WWW=           https://github.com/fastfetch-cli/fastfetch
> +
> +LICENSE=       MIT
> +LICENSE_FILE=  ${WRKSRC}/LICENSE
> +
> +FLAVORS=       full lite
> +FLAVOR?=       ${FLAVORS:[1]}
> +lite_PKGNAMESUFFIX=    -lite
> +
> +USES=          cmake pkgconfig
> +USE_GITHUB=    yes
> +GH_ACCOUNT=    fastfetch-cli
> +
> +OPTIONS_DEFINE=        LIBPCI VULKAN WAYLAND XCB GIO DCONF DBUS XFCONF \
> +               SQLITE3 IMAGEMAGICK CHAFA GLX OPENCL PULSEAUDIO
> +
> +.if ${FLAVOR} == full
> +OPTIONS_DEFAULT=       VULKAN WAYLAND XCB GIO DCONF DBUS XFCONF \
> +               SQLITE3 IMAGEMAGICK CHAFA GLX OPENCL PULSEAUDIO
> +.endif
> +
> +DCONF_DESC=    Needed for values that are only stored in DConf + Fallback
> for GSettings
> +CHAFA_DESC=    Image output as ascii art
> +LIBPCI_DESC=   GPU output
> +VULKAN_DESC=   Vulkan module & fallback for GPU output
> +XCB_DESC=      Needed for display and WM detection in X11
> +XFCONF_DESC=   Needed for XFWM theme and XFCE Terminal font
> +
> +LIBPCI_CMAKE_BOOL=     ENABLE_LIBPCI
> +LIBPCI_BUILD_DEPENDS=  ${LOCALBASE}/lib/libpci.so:devel/libpci
> +LIBPCI_RUN_DEPENDS=    ${LOCALBASE}/lib/libpci.so:devel/libpci
> +
> +VULKAN_CMAKE_BOOL=     ENABLE_VULKAN
> +VULKAN_BUILD_DEPENDS=
> ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader \
> +
>  ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
> +VULKAN_RUN_DEPENDS=
> ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader
> +
> +WAYLAND_CMAKE_BOOL=    ENABLE_WAYLAND
> +WAYLAND_BUILD_DEPENDS=
> ${LOCALBASE}/lib/libwayland-server.so:graphics/wayland
> +WAYLAND_RUN_DEPENDS=
>  ${LOCALBASE}/lib/libwayland-server.so:graphics/wayland
> +
> +XCB_CMAKE_BOOL=        ENABLE_XCB ENABLE_XCB_RANDR
> +XCB_BUILD_DEPENDS=     ${LOCALBASE}/lib/libxcb-randr.so:x11/libxcb
> +XCB_RUN_DEPENDS=       ${LOCALBASE}/lib/libxcb-randr.so:x11/libxcb
> +
> +GIO_CMAKE_BOOL=        ENABLE_GIO
> +GIO_BUILD_DEPENDS=     ${LOCALBASE}/lib/libgio-2.0.so:devel/glib20
> +GIO_RUN_DEPENDS=       ${LOCALBASE}/lib/libgio-2.0.so:devel/glib20
> +
> +DBUS_CMAKE_BOOL=       ENABLE_DBUS
> +DBUS_BUILD_DEPENDS=    ${LOCALBASE}/lib/libdbus-1.so:devel/dbus
> +DBUS_RUN_DEPENDS=      ${LOCALBASE}/lib/libdbus-1.so:devel/dbus
> +
> +DCONF_CMAKE_BOOL=      ENABLE_DCONF
> +DCONF_BUILD_DEPENDS=   ${LOCALBASE}/lib/libdconf.so:devel/dconf
> +DCONF_RUN_DEPENDS=     ${LOCALBASE}/lib/libdconf.so:devel/dconf
> +
> +XFCONF_CMAKE_BOOL=     ENABLE_XFCONF
> +XFCONF_BUILD_DEPENDS=  ${LOCALBASE}/lib/libxfconf-0.so:x11/xfce4-conf
> +XFCONF_RUN_DEPENDS=    ${LOCALBASE}/lib/libxfconf-0.so:x11/xfce4-conf
> +
> +SQLITE3_CMAKE_BOOL=    ENABLE_SQLITE3
> +SQLITE3_BUILD_DEPENDS= ${LOCALBASE}/lib/libsqlite3.so:databases/sqlite3
> +SQLITE3_RUN_DEPENDS=   ${LOCALBASE}/lib/libsqlite3.so:databases/sqlite3
> +
> +IMAGEMAGICK_CMAKE_BOOL=        ENABLE_IMAGEMAGICK7
> +IMAGEMAGICK_USES=      magick:7,build,run
> +
> +CHAFA_IMPLIES= IMAGEMAGICK
> +CHAFA_CMAKE_BOOL=      ENABLE_CHAFA
> +CHAFA_BUILD_DEPENDS=   ${LOCALBASE}/lib/libchafa.so:graphics/chafa
> +CHAFA_RUN_DEPENDS=     ${LOCALBASE}/lib/libchafa.so:graphics/chafa
> +
> +GLX_CMAKE_BOOL=        ENABLE_GLX
> +GLX_BUILD_DEPENDS=     ${LOCALBASE}/lib/libGLX.so:graphics/libglvnd
> +GLX_RUN_DEPENDS=       ${LOCALBASE}/lib/libGLX.so:graphics/libglvnd
> +
> +OPENCL_CMAKE_BOOL=     ENABLE_OPENCL
> +OPENCL_BUILD_DEPENDS=  ${LOCALBASE}/lib/libOpenCL.so:devel/ocl-icd \
> +                       ${LOCALBASE}/include/CL/cl.h:devel/opencl
> +OPENCL_RUN_DEPENDS=    ${LOCALBASE}/lib/libOpenCL.so:devel/ocl-icd
> +
> +PULSEAUDIO_CMAKE_BOOL= ENABLE_PULSE
> +PULSEAUDIO_BUILD_DEPENDS=
> ${LOCALBASE}/lib/libpulse.so:audio/pulseaudio
> +PULSEAUDIO_RUN_DEPENDS=
> ${LOCALBASE}/lib/libpulse.so:audio/pulseaudio
> +
> +CMAKE_ARGS=    -DTARGET_DIR_ETC:NHCITF="${LOCALBASE}/etc"
> +
> +.include <bsd.port.mk>
> diff --git a/sysutils/fastfetch/distinfo b/sysutils/fastfetch/distinfo
> new file mode 100644
> index 000000000000..d8ff220d47cc
> --- /dev/null
> +++ b/sysutils/fastfetch/distinfo
> @@ -0,0 +1,3 @@
> +TIMESTAMP = 1688639146
> +SHA256 (fastfetch-cli-fastfetch-1.12.2_GH0.tar.gz) =
> e3d7384de0aa306effdcbe1b7e8095b40649773086b838d925fbfc2ec5027ab0
> +SIZE (fastfetch-cli-fastfetch-1.12.2_GH0.tar.gz) = 538194
> diff --git a/sysutils/fastfetch/pkg-descr b/sysutils/fastfetch/pkg-descr
> new file mode 100644
> index 000000000000..16d8c0b74713
> --- /dev/null
> +++ b/sysutils/fastfetch/pkg-descr
> @@ -0,0 +1,4 @@
> +Fastfetch is a neofetch-like tool for fetching system information and
> +displaying them in a pretty way. It is written mainly in C, with
> performance
> +and customizability in mind. Currently, Linux, Android, FreeBSD, MacOS and
> +Windows 7+ are supported.
> diff --git a/sysutils/fastfetch/pkg-plist b/sysutils/fastfetch/pkg-plist
> new file mode 100644
> index 000000000000..44d7beb23173
> --- /dev/null
> +++ b/sysutils/fastfetch/pkg-plist
> @@ -0,0 +1,18 @@
> +%%ETCDIR%%/config.conf
> +bin/fastfetch
> +bin/flashfetch
> +share/bash-completion/completions/fastfetch
> +%%DATADIR%%/presets/all
> +%%DATADIR%%/presets/btw
> +%%DATADIR%%/presets/devinfo
> +%%DATADIR%%/presets/devinfo-verbose
> +%%DATADIR%%/presets/examples/1
> +%%DATADIR%%/presets/examples/2
> +%%DATADIR%%/presets/examples/3
> +%%DATADIR%%/presets/examples/4
> +%%DATADIR%%/presets/examples/5
> +%%DATADIR%%/presets/hardware
> +%%DATADIR%%/presets/neofetch
> +%%DATADIR%%/presets/paleofetch
> +%%DATADIR%%/presets/software
> +%%DATADIR%%/presets/verbose
>