Skip to content

Commit

Permalink
sysutils/fastfetch: Like neofetch, but much faster because written in C
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
pkubaj committed Jul 6, 2023
1 parent 8ea04d0 commit 22387af
Show file tree
Hide file tree
Showing 5 changed files with 121 additions and 0 deletions.
1 change: 1 addition & 0 deletions sysutils/Makefile
Expand Up @@ -375,6 +375,7 @@
SUBDIR += faketty
SUBDIR += fand
SUBDIR += fanout
SUBDIR += fastfetch
SUBDIR += fatback
SUBDIR += fcode-utils
SUBDIR += fconfig
Expand Down
95 changes: 95 additions & 0 deletions 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>
3 changes: 3 additions & 0 deletions 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
4 changes: 4 additions & 0 deletions 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.
18 changes: 18 additions & 0 deletions 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

0 comments on commit 22387af

Please sign in to comment.