Skip to content

Commit 46c4a71

Browse files
authored
Merge pull request #2012 from fastfetch-cli/dev
Release: v2.54.0
2 parents 9ab5c33 + f0759ac commit 46c4a71

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

+982
-371
lines changed

.github/FUNDING.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
github: LinusDierheimer
2+
ko_fi: carterli
3+
custom: https://paypal.me/zhangsongcui

.github/ISSUE_TEMPLATE/logo_request.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ body:
3636
required: true
3737
- label: The ASCII art contains color codes, or the color codes are available in `os-release`
3838
required: true
39+
- label: The ASCII art contains no internal paddings (spaces at the start and the end of lines)
40+
required: true

.github/workflows/ci.yml

Lines changed: 116 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,11 @@ jobs:
8989
- name: cat /proc/cpuinfo
9090
run: cat /proc/cpuinfo
9191

92+
- name: add gcc-13 repo
93+
run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
94+
9295
- name: install required packages
93-
run: sudo apt-get update && sudo apt-get install -y libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev libddcutil-dev libchafa-dev directx-headers-dev rpm ninja-build
96+
run: sudo apt-get update && sudo apt-get install -y gcc-13 g++-13 libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev libddcutil-dev libchafa-dev directx-headers-dev rpm ninja-build
9497

9598
- name: install linuxbrew packages
9699
run: |
@@ -104,7 +107,7 @@ jobs:
104107
languages: c
105108

106109
- name: configure project
107-
run: PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:$PKG_CONFIG_PATH cmake -GNinja -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On -DCMAKE_INSTALL_PREFIX=/usr .
110+
run: CC=gcc-13 CXX=g++-13 PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:$PKG_CONFIG_PATH cmake -GNinja -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On -DCMAKE_INSTALL_PREFIX=/usr .
108111

109112
- name: build project
110113
run: cmake --build . --target package --verbose -j4
@@ -142,14 +145,80 @@ jobs:
142145
strip fastfetch && ./polyfill-glibc fastfetch --target-glibc=2.17
143146
strip flashfetch && ./polyfill-glibc flashfetch --target-glibc=2.17
144147
echo 'set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-polyfilled")' >> CPackConfig.cmake
145-
cpack
148+
echo 'set(CPACK_PACKAGE_RELOCATABLE OFF)' >> CPackConfig.cmake
149+
echo 'set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.17)")' >> CPackConfig.cmake
150+
echo 'set(CPACK_RPM_SPEC_MORE_DEFINE "%global __os_install_post %{nil}")' >> CPackConfig.cmake
151+
cpack -V
146152
147153
- name: upload artifacts
148154
uses: actions/upload-artifact@v4
149155
with:
150156
name: fastfetch-linux-${{ matrix.arch }}
151157
path: ./fastfetch-*.*
152158

159+
linux-i686:
160+
name: Linux-i686
161+
runs-on: ubuntu-22.04
162+
permissions:
163+
security-events: write
164+
contents: read
165+
steps:
166+
- name: checkout repository
167+
uses: actions/checkout@v5
168+
169+
- name: uname -a
170+
run: uname -a
171+
172+
- name: cat /etc/os-release
173+
run: cat /etc/os-release
174+
175+
- name: cat /proc/cpuinfo
176+
run: cat /proc/cpuinfo
177+
178+
- name: add gcc-13 repo
179+
run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
180+
181+
- name: install required packages
182+
run: sudo apt-get update && sudo apt-get install -y gcc-13 gcc-13-multilib libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev libddcutil-dev rpm ninja-build
183+
184+
- name: install linuxbrew packages
185+
run: |
186+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
187+
/home/linuxbrew/.linuxbrew/bin/brew install imagemagick chafa --ignore-dependencies
188+
189+
- name: cmake version
190+
run: cmake --version
191+
192+
- name: configure project
193+
run: CC=gcc-13 PKG_CONFIG_PATH=/home/linuxbrew/.linuxbrew/lib/pkgconfig:$PKG_CONFIG_PATH cmake -DCMAKE_C_FLAGS="-m32 -march=i686 -mtune=i686" -DCMAKE_SYSTEM_PROCESSOR_OVERRIDE=i686 -GNinja -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_DIRECTX_HEADERS=Off .
194+
195+
- name: build project
196+
run: cmake --build . --target package --verbose -j4
197+
198+
- name: list features
199+
run: ./fastfetch --list-features
200+
201+
- name: run fastfetch
202+
run: time ./fastfetch -c presets/ci.jsonc --stat false
203+
204+
- name: run fastfetch --format json
205+
run: time ./fastfetch -c presets/ci.jsonc --format json
206+
207+
- name: run flashfetch
208+
run: time ./flashfetch
209+
210+
- name: print dependencies
211+
run: ldd fastfetch
212+
213+
- name: run tests
214+
run: ctest --output-on-failure
215+
216+
- name: upload artifacts
217+
uses: actions/upload-artifact@v4
218+
with:
219+
name: fastfetch-linux-i686
220+
path: ./fastfetch-*.*
221+
153222
linux-armv7l:
154223
name: Linux-armv7l
155224
runs-on: ubuntu-24.04
@@ -169,12 +238,13 @@ jobs:
169238
githubToken: ${{ github.token }}
170239
run: |
171240
uname -a
172-
apt-get update && apt-get install -y ca-certificates gpg curl
241+
apt-get update && apt-get install -y software-properties-common ca-certificates gpg curl
242+
add-apt-repository -y ppa:ubuntu-toolchain-r/test
173243
curl -L https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
174244
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
175245
echo -e 'Acquire::https::Verify-Peer "false";\nAcquire::https::Verify-Host "false";' >> /etc/apt/apt.conf.d/99ignore-certificates
176-
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 libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev rpm
177-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
246+
apt-get update && apt-get install -y cmake make gcc-13 libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev rpm
247+
CC=gcc-13 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_DIRECTX_HEADERS=Off -DCMAKE_INSTALL_PREFIX=/usr .
178248
cmake --build . --target package --verbose -j4
179249
./fastfetch --list-features
180250
time ./fastfetch -c presets/ci.jsonc --stat false
@@ -209,8 +279,8 @@ jobs:
209279
run: |
210280
uname -a
211281
apt-get update && apt-get install -y wget
212-
apt-get install -y cmake make g++ libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev rpm
213-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
282+
apt-get install -y cmake make gcc libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev rpm
283+
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_DIRECTX_HEADERS=Off -DCMAKE_INSTALL_PREFIX=/usr .
214284
cmake --build . --target package --verbose -j4
215285
./fastfetch --list-features
216286
time ./fastfetch -c presets/ci.jsonc --stat false
@@ -246,12 +316,14 @@ jobs:
246316
id: runcmd
247317
with:
248318
arch: ${{ matrix.arch }}
249-
distro: ubuntu20.04
319+
distro: ubuntu22.04
250320
githubToken: ${{ github.token }}
251321
run: |
252322
uname -a
253-
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 libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libchafa-dev libelf-dev rpm
254-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DCMAKE_INSTALL_PREFIX=/usr .
323+
apt-get update && apt-get install -y software-properties-common
324+
add-apt-repository -y ppa:ubuntu-toolchain-r/test
325+
apt-get update && apt-get install -y cmake make gcc-13 libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libchafa-dev libelf-dev rpm
326+
CC=gcc-13 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_DIRECTX_HEADERS=Off -DCMAKE_INSTALL_PREFIX=/usr .
255327
cmake --build . --target package --verbose -j4
256328
./fastfetch --list-features
257329
time ./fastfetch -c presets/ci.jsonc --stat false
@@ -449,8 +521,9 @@ jobs:
449521
version: '7.7'
450522
run: |
451523
uname -a
452-
sudo pkg_add -r cmake git pkgconf wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 imagemagick chafa
453-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
524+
sudo pkg_add -u
525+
sudo pkg_add -r llvm-19.1.7p3 cmake git pkgconf wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 imagemagick chafa
526+
CC=clang-19 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
454527
cmake --build . --target package --verbose -j4
455528
./fastfetch --list-features
456529
time ./fastfetch -c presets/ci.jsonc --stat false
@@ -485,8 +558,8 @@ jobs:
485558
version: '10.1'
486559
run: |
487560
uname -a
488-
sudo pkgin -y install cmake git pkgconf wayland vulkan-headers dconf dbus sqlite3 ImageMagick
489-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
561+
sudo pkgin -y install clang cmake git pkgconf wayland vulkan-headers dconf dbus sqlite3 ImageMagick
562+
CC=clang cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
490563
cmake --build . --target package --verbose -j4
491564
./fastfetch --list-features
492565
time ./fastfetch -c presets/ci.jsonc --stat false
@@ -518,10 +591,10 @@ jobs:
518591
prepare: |
519592
uname -a
520593
pkg update
521-
pkg install -y cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl egl opencl ocl-icd v4l_compat chafa libelf
594+
pkg install -y llvm cmake git pkgconf binutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl egl opencl ocl-icd v4l_compat chafa libelf
522595
523596
run: |
524-
cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
597+
env CC=clang cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
525598
cmake --build . --target package --verbose -j4
526599
./fastfetch --list-features
527600
time ./fastfetch -c presets/ci.jsonc --stat false
@@ -634,24 +707,49 @@ jobs:
634707
- name: run tests
635708
run: ctest --output-on-failure
636709

710+
- if: github.event_name == 'push' && github.repository == 'fastfetch-cli/fastfetch'
711+
id: upload-unsigned-artifact
712+
name: upload artifacts for signing
713+
uses: actions/upload-artifact@v4
714+
with:
715+
name: fastfetch-windows-${{ matrix.arch }}
716+
path: |
717+
*.dll
718+
fastfetch.exe
719+
flashfetch.exe
720+
721+
- if: github.event_name == 'push' && github.repository == 'fastfetch-cli/fastfetch'
722+
name: submit signing request
723+
uses: signpath/github-action-submit-signing-request@v1
724+
with:
725+
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
726+
organization-id: '${{ vars.SIGNPATH_ORG_ID }}'
727+
project-slug: 'fastfetch'
728+
signing-policy-slug: ${{ github.ref == 'refs/heads/master' && 'release-signing' || 'test-signing' }}
729+
github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}'
730+
wait-for-completion: true
731+
output-artifact-directory: '.'
732+
637733
- name: create zip archive
638734
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
639735

640736
- name: create 7z archive
641737
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
642738

643-
- name: upload artifacts
739+
- name: upload true artifacts
644740
uses: actions/upload-artifact@v4
645741
with:
646742
name: fastfetch-windows-${{ matrix.arch }}
647743
path: ./fastfetch-windows-${{ matrix.arch }}.*
744+
overwrite: true
648745

649746
release:
650747
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'fastfetch-cli/fastfetch'
651748
name: Release
652749
runs-on: ubuntu-latest
653750
needs:
654751
- linux-hosts
752+
- linux-i686
655753
- linux-armv7l
656754
- linux-armv6l
657755
- linux-vms

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,47 @@
1+
# 2.54.0
2+
3+
Windows binaries in Release page are now signed using SignPath.
4+
5+
Changes:
6+
* Moves macOS and Windows design language detection from the DE module to the Theme module
7+
8+
Features:
9+
* Adds `--json` and `-j` command line flags as a shortcut for `--format json`
10+
* Various improvements to the OS module (OS)
11+
* Displays point releases for Debian
12+
* Displays code names for Ubuntu
13+
* Displays build ID for macOS
14+
* Displays code names for Windows (previously shown in the Kernel module)
15+
* Adds basic support for Wine (Windows)
16+
* Adds basic support for hppa and sh architectures (CPU, Linux)
17+
* Improves T-Head SoC name detection from the device tree (#1997, CPU, Linux)
18+
* Supports glob patterns in `Disk.hideFolders` (Disk)
19+
* For example, `/boot/*` will match both `/boot/efi` and `/boot/firmware`
20+
* Adds brightness-level detection for external monitor support on Intel macOS (Brightness, macOS)
21+
* Adds configurable spacing between icon and text in keys
22+
* `display.key.type: "both-N"` where N is `0-4`
23+
* Useful for non-monospaced Nerd Fonts
24+
* Adds detection support for modern Samsung Exynos SoCs (CPU, Android)
25+
* Adds a new CMake option `-DENABLE_WORDEXP=<ON|OFF>` to enable or disable using `wordexp(3)` for acquiring logo file paths (`logo.source`)
26+
* Enabled by default for compatibility
27+
* Disabling this option reverts to using `glob(3)`, which is less functional but more secure
28+
29+
Bugfixes:
30+
* Avoids integer overflow when calculating swap size (#1988, Swap, Windows)
31+
* Trims whitespace from full user name (Title, macOS)
32+
* Fixes default font size for Ghostty (#1986, TerminalFont, Linux)
33+
* Works around an issue that could report impossibly high memory usage in rare cases (#1988, Memory, Linux)
34+
* Fixes incorrect glibc dependency in polyfilled DEB packages (#1983, Linux)
35+
* Fixes corrupted binaries in polyfilled RPM packages (#1990, Linux)
36+
* Fixes crashes on ancient Android kernels (#1993, Disk, Android)
37+
* Fixes incorrect usage of `glob(3)` (OpenBSD)
38+
* Prefers resolutions reported by RandR mode info, fixing incorrect resolutions on XFCE when DPI scaling is enabled (Display, Linux)
39+
* Various code cleanups and minor fixes
40+
41+
Logos:
42+
* Adds secureblue, PrismLinux, EmperorOS and Zraxyl
43+
* Updates T2
44+
145
# 2.53.0
246

347
Changes:

0 commit comments

Comments
 (0)