Skip to content

Commit 6aefb02

Browse files
authored
Merge pull request #56 from fastfetch-cli/dev
upd
2 parents acaaa4f + 0ac0100 commit 6aefb02

File tree

136 files changed

+2819
-446
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+2819
-446
lines changed

.github/workflows/ci.yml

Lines changed: 125 additions & 72 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,100 @@
1+
# 2.38.0
2+
3+
Bugfixes:
4+
* Fix empty battery slots handling (Battery, Haiku, #1575)
5+
* Fix `{day-pretty}` output in custom format (DateTime, Windows)
6+
* Fix VanillaOS detection (OS, Linux)
7+
* Fix secure boot testing (Bootmgr, Linux, #1584)
8+
* Fix the SI unit "kB" in help message (#1589)
9+
* Fix segfault on macOS 10.15 when using the binary downloaded from Github Releases (Camera, macOS, #1594)
10+
11+
Features:
12+
* Support Chassis module in macOS (Chassis, macOS)
13+
* Allow customize key format with kernel name and distro name (OS)
14+
* Add missing `{icon}` in custom key format (Battery)
15+
* Add missing `{mountpoint}` and `{mount-from}` in custom output format (Disk, #1577)
16+
* Support percentage num & bar in custom format (GPU, #1583)
17+
* Support `pisi` package manager detection (Packages, Linux)
18+
* Support termite terminal font detection (TerminalFont, Linux)
19+
* Report monitor type in Brightness module (Brightness)
20+
21+
Logo:
22+
* Add `opensuse-tumbleweed_small`
23+
* Add `Bedrock_small`
24+
* Add `fastfetch`
25+
* Remove some unnecessary distro names
26+
27+
# 2.37.0
28+
29+
Changes:
30+
* Option `--escape-bedrock` is removed. The function is always enabled now.
31+
32+
Features:
33+
* Support for Haiku is greatly improved (Haiku)
34+
* CPU, GPU, Disk, Sound, Terminal, Terminal Font, Init System, Battery, Mouse, Keyboard, NetIO, CPU Usage, Physical Disk and OpenGL should work on Haiku now
35+
* SMBIOS related modules (Host, Bios, Board, Chassis, Physical Memory) should work in platforms with legacy BIOS system.
36+
* Support for Gamepad and Bluetooth are WIP.
37+
* Some bugs are found and fixed.
38+
* Remove `python-requests` dependency in `scripts/gen-*.py`.
39+
* Add cmake option `-DENABLE_EMBEDDED_AMDGPUIDS=BOOL` (disabled by default)
40+
* If enabled, fastfetch will embed the newest [`amdgpu.ids`](https://gitlab.freedesktop.org/mesa/drm/-/blob/main/data/amdgpu.ids?ref_type=heads) file into fastfetch binary.
41+
* Weather module now honors `display.temp.unit` option (#1560, Weather)
42+
* Support Physical Memory module in NetBSD (PhysicalMemory, NetBSD)
43+
* Requires root permission
44+
* Improve non-intel CPU detection in NetBSD (#1573, CPU, NetBSD)
45+
46+
Bugfixes:
47+
* Fix building in macOS 10.13 (GPU, macOS)
48+
* Properly round percent values when detecting volume (#1558, Sound)
49+
* Fix Physical Memory module doesn't work in `--format json` mode
50+
* Add some missing variable inits (GPU, Linux)
51+
* Fix `--localip-default-route-only false` not working with `--gen-config` (#1570, LocalIP)
52+
53+
Logo:
54+
* Update Rosa linux
55+
* Add Haiku2
56+
57+
# 2.36.1
58+
59+
Changes:
60+
* To use [the native arm64 runner of Github Action](https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/), Linux aarch64 binary is built with Ubuntu 22.04 (Glibc 2.35, Debian 12).
61+
62+
Bugfixes:
63+
* Chimera Linux logo is now displayed correctly (#1554, Logo)
64+
* Regression of 2.36.0
65+
* Fix building on Haiku
66+
67+
Logo:
68+
* Fix ALT Linux
69+
70+
# 2.36.0
71+
72+
Bugfixes:
73+
* Trim leading slash for login shells (Shell, OpenBSD)
74+
* Prefer SOC name if available over CPU name (CPU, Linux)
75+
76+
Features:
77+
* Use kernel API to detect sound devices (Sound, NetBSD)
78+
* Use sndio for sound server detection on OpenBSD (Sound, OpenBSD)
79+
* Add minimal implementation for Haiku (#1538, Haiku)
80+
* Support CPU & GPU temperature detection for M4x (CPU / GPU, macOS)
81+
* Support VMEM size detection for old Nvidia cards (GPU, Linux)
82+
* Use [recommendedMaxWorkingSetSize](https://developer.apple.com/documentation/metal/mtldevice/recommendedmaxworkingsetsize) as total GPU mem size (GPU, macOS)
83+
* Support Physical core count and CPU package count detection for loongarch (CPU, Linux)
84+
* Split ID_LIKE when used for distro matching (#1540, Logo)
85+
* Capitalize `{type}`'s first letter in custom format (#1543, Display)
86+
* Support model name detection for s390x (CPU, Linux)
87+
* Support more Armbian variants detection (#1547, OS, Linux)
88+
* Support the syntax of `{$ENV_VAR}` in custom format, which will be replaced by the value of the environment variable `ENV_VAR` (#1541)
89+
* This is another way to pass 3rd-party data to fastfetch besides `Custom` module.
90+
* Improve performance of Tilix version detection (Terminal, Linux)
91+
92+
Logo:
93+
* Update arch_old
94+
* Add Nexa Linux
95+
* Add filotimo
96+
* Update some distro names
97+
198
# 2.35.0
299

3100
Bugfixes:

CMakeLists.txt

Lines changed: 135 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url
22

33
project(fastfetch
4-
VERSION 2.35.0
4+
VERSION 2.38.0
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -30,6 +30,8 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")
3030
set(DragonFly TRUE CACHE BOOL "..." FORCE)
3131
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")
3232
set(SunOS TRUE CACHE BOOL "..." FORCE)
33+
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Haiku")
34+
set(Haiku TRUE CACHE BOOL "..." FORCE)
3335
elseif(NOT APPLE AND NOT WIN32)
3436
message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}")
3537
endif()
@@ -54,31 +56,31 @@ include(CheckIncludeFile)
5456

5557
include(CMakeDependentOption)
5658

57-
cmake_dependent_option(ENABLE_VULKAN "Enable vulkan" ON "LINUX OR APPLE OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS" OFF)
59+
cmake_dependent_option(ENABLE_VULKAN "Enable vulkan" ON "LINUX OR APPLE OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS OR Haiku" OFF)
5860
cmake_dependent_option(ENABLE_WAYLAND "Enable wayland-client" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD" OFF)
5961
cmake_dependent_option(ENABLE_XCB_RANDR "Enable xcb-randr" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
6062
cmake_dependent_option(ENABLE_XRANDR "Enable xrandr" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
6163
cmake_dependent_option(ENABLE_DRM "Enable libdrm" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
6264
cmake_dependent_option(ENABLE_DRM_AMDGPU "Enable libdrm_amdgpu" ON "LINUX" OFF)
6365
cmake_dependent_option(ENABLE_GIO "Enable gio-2.0" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
6466
cmake_dependent_option(ENABLE_DCONF "Enable dconf" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
65-
cmake_dependent_option(ENABLE_DBUS "Enable dbus-1" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
67+
cmake_dependent_option(ENABLE_DBUS "Enable dbus-1" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS OR Haiku" OFF)
6668
cmake_dependent_option(ENABLE_XFCONF "Enable libxfconf-0" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
6769
cmake_dependent_option(ENABLE_SQLITE3 "Enable sqlite3" ON "LINUX OR FreeBSD OR APPLE OR OpenBSD OR NetBSD OR SunOS" OFF)
6870
cmake_dependent_option(ENABLE_RPM "Enable rpm" ON "LINUX" OFF)
69-
cmake_dependent_option(ENABLE_IMAGEMAGICK7 "Enable imagemagick 7" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR APPLE OR WIN32 OR SunOS" OFF)
71+
cmake_dependent_option(ENABLE_IMAGEMAGICK7 "Enable imagemagick 7" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR APPLE OR WIN32 OR SunOS OR Haiku" OFF)
7072
cmake_dependent_option(ENABLE_IMAGEMAGICK6 "Enable imagemagick 6" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR APPLE OR SunOS" OFF)
7173
cmake_dependent_option(ENABLE_CHAFA "Enable chafa" ON "ENABLE_IMAGEMAGICK6 OR ENABLE_IMAGEMAGICK7" OFF)
7274
cmake_dependent_option(ENABLE_ZLIB "Enable zlib" ON "ENABLE_IMAGEMAGICK6 OR ENABLE_IMAGEMAGICK7" OFF)
73-
cmake_dependent_option(ENABLE_EGL "Enable egl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR ANDROID OR WIN32 OR SunOS" OFF)
75+
cmake_dependent_option(ENABLE_EGL "Enable egl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR ANDROID OR WIN32 OR SunOS OR Haiku" OFF)
7476
cmake_dependent_option(ENABLE_GLX "Enable glx" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR ANDROID OR SunOS" OFF)
75-
cmake_dependent_option(ENABLE_OSMESA "Enable osmesa" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
76-
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS" OFF)
77+
cmake_dependent_option(ENABLE_OSMESA "Enable osmesa" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS OR Haiku" OFF)
78+
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS OR Haiku" OFF)
7779
cmake_dependent_option(ENABLE_FREETYPE "Enable freetype" ON "ANDROID" OFF)
7880
cmake_dependent_option(ENABLE_PULSE "Enable pulse" ON "LINUX OR SunOS" OFF)
7981
cmake_dependent_option(ENABLE_DDCUTIL "Enable ddcutil" ON "LINUX" OFF)
8082
cmake_dependent_option(ENABLE_DIRECTX_HEADERS "Enable DirectX headers for WSL" ON "LINUX" OFF)
81-
cmake_dependent_option(ENABLE_ELF "Enable libelf" ON "LINUX OR ANDROID OR DragonFly" OFF)
83+
cmake_dependent_option(ENABLE_ELF "Enable libelf" ON "LINUX OR ANDROID OR DragonFly OR Haiku" OFF)
8284
cmake_dependent_option(ENABLE_THREADS "Enable multithreading" ON "Threads_FOUND" OFF)
8385
cmake_dependent_option(ENABLE_LIBZFS "Enable libzfs" ON "LINUX OR FreeBSD OR SunOS" OFF)
8486
cmake_dependent_option(ENABLE_PCIACCESS "Enable libpciaccess" ON "NetBSD OR OpenBSD OR SunOS" OFF)
@@ -92,6 +94,7 @@ option(SET_TWEAK "Add tweak to project version" ON) # This is set to off by gith
9294
option(IS_MUSL "Build with musl libc" OFF) # Used by Github Actions
9395
option(INSTALL_LICENSE "Install license into /usr/share/licenses" ON)
9496
option(ENABLE_EMBEDDED_PCIIDS "Embed pci.ids into fastfetch, requires `python`" OFF)
97+
option(ENABLE_EMBEDDED_AMDGPUIDS "Embed amdgpu.ids into fastfetch, requires `python`" OFF)
9598

9699
set(BINARY_LINK_TYPE_OPTIONS dlopen dynamic static)
97100
set(BINARY_LINK_TYPE dlopen CACHE STRING "How to link fastfetch")
@@ -100,7 +103,7 @@ if(NOT BINARY_LINK_TYPE IN_LIST BINARY_LINK_TYPE_OPTIONS)
100103
message(FATAL_ERROR "BINARY_LINK_TYPE must be one of ${BINARY_LINK_TYPE_OPTIONS}")
101104
endif()
102105

103-
set(PACKAGE_MANAGERS AM APK BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PKG PKGTOOL RPM SCOOP SNAP SORCERY WINGET XBPS)
106+
set(PACKAGE_MANAGERS AM APK BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PISI PKG PKGTOOL RPM SCOOP SNAP SORCERY WINGET XBPS)
104107
foreach(package_manager ${PACKAGE_MANAGERS})
105108
if(package_manager STREQUAL "WINGET")
106109
option(PACKAGES_DISABLE_${package_manager} "Disable ${package_manager} package manager detection by default" ON)
@@ -139,7 +142,7 @@ set(WARNING_FLAGS "-Wall -Wextra -Wconversion -Werror=uninitialized -Werror=retu
139142
set(CMAKE_C_STANDARD 11)
140143
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=incompatible-pointer-types -Werror=implicit-function-declaration -Werror=int-conversion")
141144

142-
if(WIN32 OR ENABLE_DIRECTX_HEADERS)
145+
if(WIN32 OR Haiku OR ENABLE_DIRECTX_HEADERS)
143146
enable_language(CXX)
144147
set(CMAKE_CXX_STANDARD 17)
145148
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
@@ -269,11 +272,16 @@ endif()
269272

270273
if(ENABLE_EMBEDDED_PCIIDS AND NOT EXISTS "${PROJECT_BINARY_DIR}/fastfetch_pciids.c.inc")
271274
if(Python_FOUND)
275+
if(NOT EXISTS "${PROJECT_BINARY_DIR}/pci.ids")
276+
message(STATUS "'${PROJECT_BINARY_DIR}/pci.ids' is missing, downloading...")
277+
file(DOWNLOAD "https://pci-ids.ucw.cz/v2.2/pci.ids" "${PROJECT_BINARY_DIR}/pci.ids")
278+
endif()
272279
message(STATUS "Generating 'fastfetch_pciids.c.inc'")
273-
execute_process(COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen-pciids.py"
280+
execute_process(COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen-pciids.py" "${PROJECT_BINARY_DIR}/pci.ids"
274281
OUTPUT_FILE "${PROJECT_BINARY_DIR}/fastfetch_pciids.c.inc"
275282
RESULT_VARIABLE PYTHON_PCIIDS_RETCODE)
276283
if(NOT PYTHON_PCIIDS_RETCODE EQUAL 0)
284+
file(REMOVE "${PROJECT_BINARY_DIR}/fastfetch_pciids.c.inc")
277285
message(FATAL_ERROR "Failed to generate 'fastfetch_pciids.c.inc'")
278286
endif()
279287
else()
@@ -282,6 +290,26 @@ if(ENABLE_EMBEDDED_PCIIDS AND NOT EXISTS "${PROJECT_BINARY_DIR}/fastfetch_pciids
282290
endif()
283291
endif()
284292

293+
if(ENABLE_EMBEDDED_AMDGPUIDS AND NOT EXISTS "${PROJECT_BINARY_DIR}/fastfetch_amdgpuids.c.inc")
294+
if(Python_FOUND)
295+
if(NOT EXISTS "${PROJECT_BINARY_DIR}/amdgpu.ids")
296+
message(STATUS "'${PROJECT_BINARY_DIR}/amdgpu.ids' is missing, downloading...")
297+
file(DOWNLOAD "https://gitlab.freedesktop.org/mesa/drm/-/raw/main/data/amdgpu.ids" "${PROJECT_BINARY_DIR}/amdgpu.ids")
298+
endif()
299+
message(STATUS "Generating 'fastfetch_amdgpuids.c.inc'")
300+
execute_process(COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen-amdgpuids.py" "${PROJECT_BINARY_DIR}/amdgpu.ids"
301+
OUTPUT_FILE "${PROJECT_BINARY_DIR}/fastfetch_amdgpuids.c.inc"
302+
RESULT_VARIABLE PYTHON_AMDGPUIDS_RETCODE)
303+
if(NOT PYTHON_AMDGPUIDS_RETCODE EQUAL 0)
304+
file(REMOVE "${PROJECT_BINARY_DIR}/fastfetch_amdgpuids.c.inc")
305+
message(FATAL_ERROR "Failed to generate 'fastfetch_amdgpuids.c.inc'")
306+
endif()
307+
else()
308+
message(WARNING "Python3 is not found, 'fastfetch_amdgpuids.c.inc' will not be generated")
309+
set(ENABLE_EMBEDDED_AMDGPUIDS OFF)
310+
endif()
311+
endif()
312+
285313
if(Python_FOUND)
286314
message(STATUS "Generating 'fastfetch.1'")
287315
execute_process(COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/gen-man.py"
@@ -716,13 +744,13 @@ elseif(NetBSD)
716744
src/detection/btrfs/btrfs_nosupport.c
717745
src/detection/chassis/chassis_nbsd.c
718746
src/detection/cpu/cpu_nbsd.c
719-
src/detection/cpucache/cpucache_nosupport.c
747+
src/detection/cpucache/cpucache_shared.c
720748
src/detection/cpuusage/cpuusage_bsd.c
721749
src/detection/cursor/cursor_linux.c
722750
src/detection/disk/disk_bsd.c
723751
src/detection/dns/dns_linux.c
724752
src/detection/physicaldisk/physicaldisk_nosupport.c
725-
src/detection/physicalmemory/physicalmemory_nosupport.c
753+
src/detection/physicalmemory/physicalmemory_linux.c
726754
src/detection/diskio/diskio_nbsd.c
727755
src/detection/displayserver/linux/displayserver_linux.c
728756
src/detection/displayserver/linux/drm.c
@@ -877,7 +905,7 @@ elseif(APPLE)
877905
src/detection/bootmgr/bootmgr_apple.c
878906
src/detection/brightness/brightness_apple.c
879907
src/detection/btrfs/btrfs_nosupport.c
880-
src/detection/chassis/chassis_nosupport.c
908+
src/detection/chassis/chassis_apple.c
881909
src/detection/cpu/cpu_apple.c
882910
src/detection/cpucache/cpucache_apple.c
883911
src/detection/cpuusage/cpuusage_apple.c
@@ -1088,6 +1116,76 @@ elseif(SunOS)
10881116
src/util/platform/FFPlatform_unix.c
10891117
src/util/binary_linux.c
10901118
)
1119+
elseif(Haiku)
1120+
list(APPEND LIBFASTFETCH_SRC
1121+
src/common/dbus.c
1122+
src/common/io/io_unix.c
1123+
src/common/netif/netif_haiku.c
1124+
src/common/networking_linux.c
1125+
src/common/processing_linux.c
1126+
src/detection/battery/battery_haiku.c
1127+
src/detection/bios/bios_windows.c
1128+
src/detection/board/board_windows.c
1129+
src/detection/bootmgr/bootmgr_nosupport.c
1130+
src/detection/brightness/brightness_nosupport.c
1131+
src/detection/btrfs/btrfs_nosupport.c
1132+
src/detection/chassis/chassis_windows.c
1133+
src/detection/cpu/cpu_haiku.c
1134+
src/detection/cpucache/cpucache_shared.c
1135+
src/detection/cpuusage/cpuusage_haiku.c
1136+
src/detection/cursor/cursor_nosupport.c
1137+
src/detection/bluetooth/bluetooth_haiku.cpp
1138+
src/detection/bluetoothradio/bluetoothradio_nosupport.c
1139+
src/detection/disk/disk_haiku.cpp
1140+
src/detection/dns/dns_linux.c
1141+
src/detection/physicaldisk/physicaldisk_haiku.c
1142+
src/detection/physicalmemory/physicalmemory_linux.c
1143+
src/detection/diskio/diskio_nosupport.c
1144+
src/detection/displayserver/displayserver_haiku.cpp
1145+
src/detection/font/font_haiku.cpp
1146+
src/detection/gpu/gpu_haiku.c
1147+
src/detection/gpu/gpu_pci.c
1148+
src/detection/gtk_qt/gtk.c
1149+
src/detection/host/host_windows.c
1150+
src/detection/icons/icons_nosupport.c
1151+
src/detection/initsystem/initsystem_haiku.c
1152+
src/detection/keyboard/keyboard_haiku.cpp
1153+
src/detection/libc/libc_nosupport.c
1154+
src/detection/lm/lm_nosupport.c
1155+
src/detection/loadavg/loadavg_nosupport.c
1156+
src/detection/locale/locale_linux.c
1157+
src/detection/localip/localip_linux.c
1158+
src/detection/gamepad/gamepad_haiku.cpp
1159+
src/detection/media/media_linux.c
1160+
src/detection/memory/memory_haiku.c
1161+
src/detection/mouse/mouse_haiku.cpp
1162+
src/detection/netio/netio_haiku.cpp
1163+
src/detection/opengl/opengl_haiku.cpp
1164+
src/detection/os/os_haiku.c
1165+
src/detection/packages/packages_haiku.c
1166+
src/detection/poweradapter/poweradapter_nosupport.c
1167+
src/detection/processes/processes_haiku.c
1168+
src/detection/gtk_qt/qt.c
1169+
src/detection/sound/sound_haiku.cpp
1170+
src/detection/swap/swap_haiku.c
1171+
src/detection/terminalfont/terminalfont_linux.c
1172+
src/detection/terminalshell/terminalshell_linux.c
1173+
src/detection/terminalsize/terminalsize_linux.c
1174+
src/detection/theme/theme_nosupport.c
1175+
src/detection/tpm/tpm_nosupport.c
1176+
src/detection/uptime/uptime_haiku.c
1177+
src/detection/users/users_linux.c
1178+
src/detection/wallpaper/wallpaper_nosupport.c
1179+
src/detection/wifi/wifi_nosupport.c
1180+
src/detection/wm/wm_nosupport.c
1181+
src/detection/de/de_nosupport.c
1182+
src/detection/wmtheme/wmtheme_nosupport.c
1183+
src/detection/camera/camera_nosupport.c
1184+
src/detection/zpool/zpool_nosupport.c
1185+
src/util/platform/FFPlatform_unix.c
1186+
src/util/binary_linux.c
1187+
src/util/haiku/version.cpp
1188+
)
10911189
endif()
10921190

10931191
if(ENABLE_DIRECTX_HEADERS)
@@ -1112,6 +1210,9 @@ endif()
11121210
if(LINUX)
11131211
check_function_exists(statx HAVE_STATX)
11141212
endif()
1213+
if(NOT WIN32)
1214+
check_function_exists(pipe2 HAVE_PIPE2)
1215+
endif()
11151216

11161217
if(ENABLE_SYSTEM_YYJSON)
11171218
find_package(yyjson)
@@ -1206,6 +1307,8 @@ elseif(NetBSD)
12061307
target_compile_definitions(libfastfetch PUBLIC _GNU_SOURCE)
12071308
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-char-subscripts")
12081309
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,/usr/X11R7/lib -Wl,-rpath,/usr/pkg/lib") # ditto
1310+
elseif(Haiku)
1311+
target_compile_definitions(libfastfetch PUBLIC _GNU_SOURCE)
12091312
endif()
12101313

12111314
if(FreeBSD OR OpenBSD OR NetBSD)
@@ -1226,6 +1329,10 @@ if(HAVE_WCWIDTH)
12261329
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_WCWIDTH)
12271330
endif()
12281331

1332+
if(HAVE_PIPE2)
1333+
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_PIPE2)
1334+
endif()
1335+
12291336
if(NOT "${CUSTOM_PCI_IDS_PATH}" STREQUAL "")
12301337
message(STATUS "Custom file path of pci.ids: ${CUSTOM_PCI_IDS_PATH}")
12311338
target_compile_definitions(libfastfetch PRIVATE FF_CUSTOM_PCI_IDS_PATH=${CUSTOM_PCI_IDS_PATH})
@@ -1432,6 +1539,9 @@ endif()
14321539
if(ENABLE_EMBEDDED_PCIIDS)
14331540
target_compile_definitions(libfastfetch PRIVATE FF_HAVE_EMBEDDED_PCIIDS=1)
14341541
endif()
1542+
if(ENABLE_EMBEDDED_AMDGPUIDS)
1543+
target_compile_definitions(libfastfetch PRIVATE FF_HAVE_EMBEDDED_AMDGPUIDS=1)
1544+
endif()
14351545

14361546
if(LINUX)
14371547
target_link_libraries(libfastfetch
@@ -1534,6 +1644,17 @@ elseif(ANDROID)
15341644
)
15351645
endif()
15361646
endif()
1647+
elseif(Haiku)
1648+
target_link_libraries(libfastfetch
1649+
PRIVATE "network"
1650+
PRIVATE "bnetapi"
1651+
PRIVATE "media"
1652+
PRIVATE "device"
1653+
PRIVATE "bluetooth"
1654+
PRIVATE "GL"
1655+
PRIVATE "be"
1656+
PRIVATE "gnu"
1657+
)
15371658
endif()
15381659

15391660
target_include_directories(libfastfetch

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
MIT License
22

33
Copyright (c) 2021-2023 Linus Dierheimer
4-
Copyright (c) 2022-2024 Carter Li
4+
Copyright (c) 2022-2025 Carter Li
55

66
Permission is hereby granted, free of charge, to any person obtaining a copy
77
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)