Skip to content

Commit 9d8a833

Browse files
authored
Merge pull request #1551 from fastfetch-cli/dev
Release: v2.36.0
2 parents 865929b + 3bc6be9 commit 9d8a833

Some content is hidden

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

53 files changed

+1095
-173
lines changed

.github/workflows/ci.yml

Lines changed: 51 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
run: ldd fastfetch
5757

5858
- name: run tests
59-
run: ctest
59+
run: ctest --output-on-failure
6060

6161
linux-amd64:
6262
name: Linux-amd64
@@ -111,7 +111,7 @@ jobs:
111111
run: ldd fastfetch
112112

113113
- name: run tests
114-
run: ctest
114+
run: ctest --output-on-failure
115115

116116
- name: get fastfetch version
117117
id: ffversion
@@ -150,7 +150,7 @@ jobs:
150150
time ./fastfetch -c presets/ci.jsonc --format json
151151
time ./flashfetch
152152
ldd fastfetch
153-
ctest
153+
ctest --output-on-failure
154154
155155
- name: upload artifacts
156156
uses: actions/upload-artifact@v4
@@ -189,7 +189,7 @@ jobs:
189189
time ./fastfetch -c presets/ci.jsonc --format json
190190
time ./flashfetch
191191
ldd fastfetch
192-
ctest
192+
ctest --output-on-failure
193193
194194
- name: upload artifacts
195195
uses: actions/upload-artifact@v4
@@ -225,7 +225,7 @@ jobs:
225225
time ./fastfetch -c presets/ci.jsonc --format json
226226
time ./flashfetch
227227
ldd fastfetch
228-
ctest
228+
ctest --output-on-failure
229229
230230
- name: upload artifacts
231231
uses: actions/upload-artifact@v4
@@ -260,7 +260,7 @@ jobs:
260260
time ./fastfetch -c presets/ci.jsonc --format json
261261
time ./flashfetch
262262
ldd fastfetch
263-
ctest
263+
ctest --output-on-failure
264264
265265
- name: upload artifacts
266266
uses: actions/upload-artifact@v4
@@ -295,14 +295,49 @@ jobs:
295295
time ./fastfetch -c presets/ci.jsonc --format json
296296
time ./flashfetch
297297
ldd fastfetch
298-
ctest
298+
ctest --output-on-failure
299299
300300
- name: upload artifacts
301301
uses: actions/upload-artifact@v4
302302
with:
303303
name: fastfetch-linux-ppc64le
304304
path: ./fastfetch-*.*
305305

306+
linux-s390x:
307+
name: Linux-s390x
308+
runs-on: ubuntu-22.04
309+
permissions:
310+
security-events: write
311+
contents: read
312+
steps:
313+
- name: checkout repository
314+
uses: actions/checkout@v4
315+
316+
- name: run VM
317+
uses: uraimo/run-on-arch-action@v2
318+
id: runcmd
319+
with:
320+
arch: s390x
321+
distro: ubuntu20.04
322+
githubToken: ${{ github.token }}
323+
run: |
324+
uname -a
325+
apt-get update && apt-get install -y cmake make g++ libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libxfconf-0-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev libosmesa6-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libchafa-dev libelf-dev directx-headers-dev rpm
326+
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
327+
cmake --build . --target package --verbose -j4
328+
./fastfetch --list-features
329+
time ./fastfetch -c presets/ci.jsonc --stat false
330+
time ./fastfetch -c presets/ci.jsonc --format json
331+
time ./flashfetch
332+
ldd fastfetch
333+
ctest --output-on-failure
334+
335+
- name: upload artifacts
336+
uses: actions/upload-artifact@v4
337+
with:
338+
name: fastfetch-linux-s390x
339+
path: ./fastfetch-*.*
340+
306341
musl-amd64:
307342
name: Musl-amd64
308343
runs-on: ubuntu-latest
@@ -334,7 +369,7 @@ jobs:
334369
time ./fastfetch -c presets/ci.jsonc --format json
335370
time ./flashfetch
336371
ldd fastfetch
337-
ctest
372+
ctest --output-on-failure
338373
shell: alpine.sh {0}
339374

340375
- name: upload artifacts
@@ -390,7 +425,7 @@ jobs:
390425
run: otool -L fastfetch
391426

392427
- name: run tests
393-
run: ctest
428+
run: ctest --output-on-failure
394429

395430
- name: upload artifacts
396431
uses: actions/upload-artifact@v4
@@ -422,7 +457,7 @@ jobs:
422457
time ./fastfetch -c presets/ci.jsonc --format json
423458
time ./flashfetch
424459
ldd fastfetch
425-
ctest
460+
ctest --output-on-failure
426461
cpack
427462
428463
- name: upload artifacts
@@ -460,7 +495,7 @@ jobs:
460495
time ./fastfetch -c presets/ci.jsonc --format json
461496
time ./flashfetch
462497
ldd fastfetch
463-
ctest
498+
ctest --output-on-failure
464499
465500
- name: upload artifacts
466501
uses: actions/upload-artifact@v4
@@ -495,7 +530,7 @@ jobs:
495530
time ./fastfetch -c presets/ci.jsonc --format json
496531
time ./flashfetch
497532
ldd fastfetch
498-
ctest
533+
ctest --output-on-failure
499534
500535
- name: upload artifacts
501536
uses: actions/upload-artifact@v4
@@ -531,7 +566,7 @@ jobs:
531566
time ./fastfetch -c presets/ci.jsonc --format json
532567
time ./flashfetch
533568
ldd fastfetch
534-
ctest
569+
ctest --output-on-failure
535570
536571
- name: upload artifacts
537572
uses: actions/upload-artifact@v4
@@ -567,7 +602,7 @@ jobs:
567602
time ./fastfetch -c presets/ci.jsonc --format json
568603
time ./flashfetch
569604
ldd fastfetch
570-
ctest
605+
ctest --output-on-failure
571606
572607
- name: upload artifacts
573608
uses: actions/upload-artifact@v4
@@ -626,7 +661,7 @@ jobs:
626661
run: ldd fastfetch
627662

628663
- name: run tests
629-
run: ctest
664+
run: ctest --output-on-failure
630665

631666
- name: create zip archive
632667
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-amd64.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
@@ -651,6 +686,7 @@ jobs:
651686
- linux-armv6
652687
- linux-riscv64
653688
- linux-ppc64le
689+
- linux-s390x
654690
- musl-amd64
655691
- macos-universal
656692
- freebsd-amd64

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
# 2.36.0
2+
3+
Bugfixes:
4+
* Trim leading slash for login shells (Shell, OpenBSD)
5+
* Prefer SOC name if available over CPU name (CPU, Linux)
6+
7+
Features:
8+
* Use kernel API to detect sound devices (Sound, NetBSD)
9+
* Use sndio for sound server detection on OpenBSD (Sound, OpenBSD)
10+
* Add minimal implementation for Haiku (#1538, Haiku)
11+
* Support CPU & GPU temperature detection for M4x (CPU / GPU, macOS)
12+
* Support VMEM size detection for old Nvidia cards (GPU, Linux)
13+
* Use [recommendedMaxWorkingSetSize](https://developer.apple.com/documentation/metal/mtldevice/recommendedmaxworkingsetsize) as total GPU mem size (GPU, macOS)
14+
* Support Physical core count and CPU package count detection for loongarch (CPU, Linux)
15+
* Split ID_LIKE when used for distro matching (#1540, Logo)
16+
* Capitalize `{type}`'s first letter in custom format (#1543, Display)
17+
* Support model name detection for s390x (CPU, Linux)
18+
* Support more Armbian variants detection (#1547, OS, Linux)
19+
* Support the syntax of `{$ENV_VAR}` in custom format, which will be replaced by the value of the environment variable `ENV_VAR` (#1541)
20+
* This is another way to pass 3rd-party data to fastfetch besides `Custom` module.
21+
* Improve performance of Tilix version detection (Terminal, Linux)
22+
23+
Logo:
24+
* Update arch_old
25+
* Add Nexa Linux
26+
* Add filotimo
27+
* Update some distro names
28+
129
# 2.35.0
230

331
Bugfixes:

CMakeLists.txt

Lines changed: 91 additions & 7 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.36.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()
@@ -70,12 +72,12 @@ cmake_dependent_option(ENABLE_IMAGEMAGICK7 "Enable imagemagick 7" ON "LINUX OR F
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)
74-
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_EGL "Enable egl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR ANDROID OR WIN32 OR SunOS OR Haiku" OFF)
76+
cmake_dependent_option(ENABLE_GLX "Enable glx" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR ANDROID OR SunOS OR Haiku" OFF)
7577
cmake_dependent_option(ENABLE_OSMESA "Enable osmesa" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR SunOS" OFF)
7678
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR FreeBSD OR OpenBSD OR NetBSD OR WIN32 OR ANDROID OR SunOS" OFF)
7779
cmake_dependent_option(ENABLE_FREETYPE "Enable freetype" ON "ANDROID" OFF)
78-
cmake_dependent_option(ENABLE_PULSE "Enable pulse" ON "LINUX OR OpenBSD OR NetBSD OR SunOS" OFF)
80+
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)
8183
cmake_dependent_option(ENABLE_ELF "Enable libelf" ON "LINUX OR ANDROID OR DragonFly" OFF)
@@ -139,7 +141,7 @@ set(WARNING_FLAGS "-Wall -Wextra -Wconversion -Werror=uninitialized -Werror=retu
139141
set(CMAKE_C_STANDARD 11)
140142
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=incompatible-pointer-types -Werror=implicit-function-declaration -Werror=int-conversion")
141143

142-
if(WIN32 OR ENABLE_DIRECTX_HEADERS)
144+
if(WIN32 OR HAIKU OR ENABLE_DIRECTX_HEADERS)
143145
enable_language(CXX)
144146
set(CMAKE_CXX_STANDARD 17)
145147
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
@@ -761,7 +763,7 @@ elseif(NetBSD)
761763
src/detection/poweradapter/poweradapter_nosupport.c
762764
src/detection/processes/processes_nbsd.c
763765
src/detection/gtk_qt/qt.c
764-
src/detection/sound/sound_linux.c
766+
src/detection/sound/sound_nbsd.c
765767
src/detection/swap/swap_obsd.c
766768
src/detection/terminalfont/terminalfont_linux.c
767769
src/detection/terminalshell/terminalshell_linux.c
@@ -843,7 +845,7 @@ elseif(OpenBSD)
843845
src/detection/poweradapter/poweradapter_nosupport.c
844846
src/detection/processes/processes_obsd.c
845847
src/detection/gtk_qt/qt.c
846-
src/detection/sound/sound_linux.c
848+
src/detection/sound/sound_obsd.c
847849
src/detection/swap/swap_obsd.c
848850
src/detection/terminalfont/terminalfont_linux.c
849851
src/detection/terminalshell/terminalshell_linux.c
@@ -1088,6 +1090,74 @@ elseif(SunOS)
10881090
src/util/platform/FFPlatform_unix.c
10891091
src/util/binary_linux.c
10901092
)
1093+
elseif(Haiku)
1094+
list(APPEND LIBFASTFETCH_SRC
1095+
src/common/io/io_unix.c
1096+
src/common/netif/netif_haiku.c
1097+
src/common/networking_linux.c
1098+
src/common/processing_linux.c
1099+
src/detection/battery/battery_nosupport.c
1100+
src/detection/bios/bios_nosupport.c
1101+
src/detection/board/board_nosupport.c
1102+
src/detection/bootmgr/bootmgr_nosupport.c
1103+
src/detection/brightness/brightness_nosupport.c
1104+
src/detection/btrfs/btrfs_nosupport.c
1105+
src/detection/chassis/chassis_nosupport.c
1106+
src/detection/cpu/cpu_nosupport.c
1107+
src/detection/cpucache/cpucache_nosupport.c
1108+
src/detection/cpuusage/cpuusage_nosupport.c
1109+
src/detection/cursor/cursor_nosupport.c
1110+
src/detection/bluetooth/bluetooth_nosupport.c
1111+
src/detection/bluetoothradio/bluetoothradio_nosupport.c
1112+
src/detection/disk/disk_nosupport.c
1113+
src/detection/dns/dns_linux.c
1114+
src/detection/physicaldisk/physicaldisk_nosupport.c
1115+
src/detection/physicalmemory/physicalmemory_nosupport.c
1116+
src/detection/diskio/diskio_nosupport.c
1117+
src/detection/displayserver/displayserver_haiku.cpp
1118+
src/detection/font/font_haiku.cpp
1119+
src/detection/gpu/gpu_nosupport.c
1120+
src/detection/gpu/gpu_pci.c
1121+
src/detection/gtk_qt/gtk.c
1122+
src/detection/host/host_nosupport.c
1123+
src/detection/icons/icons_nosupport.c
1124+
src/detection/initsystem/initsystem_nosupport.c
1125+
src/detection/keyboard/keyboard_nosupport.c
1126+
src/detection/libc/libc_nosupport.c
1127+
src/detection/lm/lm_nosupport.c
1128+
src/detection/loadavg/loadavg_nosupport.c
1129+
src/detection/locale/locale_linux.c
1130+
src/detection/localip/localip_linux.c
1131+
src/detection/gamepad/gamepad_nosupport.c
1132+
src/detection/media/media_nosupport.c
1133+
src/detection/memory/memory_haiku.c
1134+
src/detection/mouse/mouse_nosupport.c
1135+
src/detection/netio/netio_nosupport.c
1136+
src/detection/opengl/opengl_linux.c
1137+
src/detection/os/os_haiku.c
1138+
src/detection/packages/packages_haiku.c
1139+
src/detection/poweradapter/poweradapter_nosupport.c
1140+
src/detection/processes/processes_haiku.c
1141+
src/detection/gtk_qt/qt.c
1142+
src/detection/sound/sound_nosupport.c
1143+
src/detection/swap/swap_haiku.c
1144+
src/detection/terminalfont/terminalfont_linux.c
1145+
src/detection/terminalshell/terminalshell_linux.c
1146+
src/detection/terminalsize/terminalsize_linux.c
1147+
src/detection/theme/theme_nosupport.c
1148+
src/detection/tpm/tpm_nosupport.c
1149+
src/detection/uptime/uptime_haiku.c
1150+
src/detection/users/users_linux.c
1151+
src/detection/wallpaper/wallpaper_nosupport.c
1152+
src/detection/wifi/wifi_nosupport.c
1153+
src/detection/wm/wm_nosupport.c
1154+
src/detection/de/de_nosupport.c
1155+
src/detection/wmtheme/wmtheme_nosupport.c
1156+
src/detection/camera/camera_nosupport.c
1157+
src/detection/zpool/zpool_nosupport.c
1158+
src/util/platform/FFPlatform_unix.c
1159+
src/util/binary_linux.c
1160+
)
10911161
endif()
10921162

10931163
if(ENABLE_DIRECTX_HEADERS)
@@ -1112,6 +1182,9 @@ endif()
11121182
if(LINUX)
11131183
check_function_exists(statx HAVE_STATX)
11141184
endif()
1185+
if(NOT WIN32)
1186+
check_function_exists(pipe2 HAVE_PIPE2)
1187+
endif()
11151188

11161189
if(ENABLE_SYSTEM_YYJSON)
11171190
find_package(yyjson)
@@ -1226,6 +1299,10 @@ if(HAVE_WCWIDTH)
12261299
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_WCWIDTH)
12271300
endif()
12281301

1302+
if(HAVE_PIPE2)
1303+
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_PIPE2)
1304+
endif()
1305+
12291306
if(NOT "${CUSTOM_PCI_IDS_PATH}" STREQUAL "")
12301307
message(STATUS "Custom file path of pci.ids: ${CUSTOM_PCI_IDS_PATH}")
12311308
target_compile_definitions(libfastfetch PRIVATE FF_CUSTOM_PCI_IDS_PATH=${CUSTOM_PCI_IDS_PATH})
@@ -1504,6 +1581,7 @@ elseif(OpenBSD)
15041581
target_link_libraries(libfastfetch
15051582
PRIVATE "m"
15061583
PRIVATE "kvm"
1584+
PRIVATE "sndio"
15071585
)
15081586
elseif(NetBSD)
15091587
target_link_libraries(libfastfetch
@@ -1533,6 +1611,12 @@ elseif(ANDROID)
15331611
)
15341612
endif()
15351613
endif()
1614+
elseif(Haiku)
1615+
target_link_libraries(libfastfetch
1616+
PRIVATE "network"
1617+
PRIVATE "be"
1618+
PRIVATE "gnu"
1619+
)
15361620
endif()
15371621

15381622
target_include_directories(libfastfetch

0 commit comments

Comments
 (0)