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:51:20 UTC
El jue, 6 jul 2023, 22:40, Piotr Kubaj <pkubaj@anongoth.pl> escribió:

> I actually quite like it, because it's not just a simple shell script,
> of which there are many similar that do the same, but actually quite
> advanced program that can display much more than all the rest I saw.
>

Fair enough. I was not really complaining, just pointing out that this kind
of ports are specially prone to have clones in the spirit of "like *fetch
but written in $language" which in general does not add any value.

Thank you anyway for showing the output!

Here's an example (running Linux, because DRM (GPU acceleration) doesn't
> work on FreeBSD :/):
> pkubaj@talos:$~$ fastfetch --load-config /usr/share/fastfetch/presets/all
>          -/oyddmdhs+:.                 pkubaj@talos
>      -odNMMMMMMMMNNmhy+-`              ------------
>    -yNMMMMMMMMMMMNNNmmdhy+-            OS: Gentoo 2.13 ppc64le
>  `omMMMMMMMMMMMMNmdmmmmddhhy/`         Host: T2P9D01 REV 1.01
>  omMMMMMMMMMMMNhhyyyohmdddhhhdo`       Kernel: 6.3.7-gentoo-ppc64le
> .ydMMMMMMMMMMdhs++so/smdddhhhhdm+`     Uptime: 23 days, 4 hours, 33 mins
>  oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.    Processes: 1423
>   :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh    Packages: 1104 (emerge)
>     .:+sydNMMMMMNNNmmmdddhhhhhhmMmy    Shell: ksh @
>        /mMMMMMMNNNmmmdddhhhhhmMNhs:    Display 1: 3840x2160 @ 60Hz
>     `oNMMMMMMMNNNmmmddddhhdmMNhs+`     Display 2: 1920x1080 @ 60Hz
>   `sNMMMMMMMMNNNmmmdddddmNMmhs/.       WM: dwm (X11)
>  /NMMMMMMMMNNNNmmmdddmNMNdso:`         Theme: Adwaita [GTK3]
> +MMMMMMMNNNNNmmmmdmNMNdso/-            Icons: gnome [GTK3]
> yMMNNNNNNNmmmmmNNMmhs+/-`              Cursor: Adwaita
> /hMMNNNNNNNNMNdhs++/-`                 Terminal: tmux: server 3.3a
> `/ohdmmddhys+++/:.`                    CPU: CPU (64) @ 3.8 GHz
>   `-//////:--.                         CPU Usage: 1%
>                                        GPU: AMD Radeon HD 7700 Series
> (RADV BONAIRE) (1.00 GiB)
>                                        Memory: 210 GiB / 251 GiB (83%)
>                                        Swap: Disabled
>                                        Disk (/): 181 GiB / 227 GiB (79%)
>                                        Disk (/home): 3 TiB / 4 TiB (95%)
>                                        Public IP: X.X.X.X
>                                        Local IP (br0): 192.168.1.2
>                                        Date & Time: 2023-07-06 22:36:05
>                                        Locale: ja_JP.utf8
>                                        Vulkan: 1.3.246 - radv [Mesa 23.1.3]
>                                        OpenGL: 4.6 (Compatibility Profile)
> Mesa 23.1.3
>                                        Users: pkubaj
>                                        Weather: +15��C - Clear (XXX, XXX)
>
> On 23-07-06 22:25:09, Fernando Apesteguía wrote:
> > 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
> > >
>