[refactor] Updated some Fedora-related content (#2496)

This commit is contained in:
Celestial.y
2025-11-16 21:49:22 +08:00
committed by GitHub
13 changed files with 44 additions and 427 deletions
@@ -1,36 +0,0 @@
Name: Bibata-Modern-Classic
Version: 2.0.7
Release: %autorelease
Summary: Open source, compact, and material designed cursor set.
License: GPL-3.0
URL: https://github.com/ful1e5/Bibata_Cursor
Source0: %{name}.tar.xz
BuildArch: noarch
%description
Open source, compact, and material designed cursor set.
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/releases/download/v%{version}/Bibata-Modern-Classic.tar.xz
wget -q -O %{_buildrootdir}/LICENSE %{url}/raw/refs/heads/main/LICENSE
%setup -q -n %{name}
%build
:
%install
install -d -m 0755 %{buildroot}%{_iconsdir}/Bibata-Modern-Classic
cp -r * %{buildroot}%{_iconsdir}/Bibata-Modern-Classic
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 %{_buildrootdir}/LICENSE %{buildroot}%{_licensedir}/%{name}/
%files
%{_iconsdir}/Bibata-Modern-Classic
%license %{_licensedir}/%{name}/LICENSE
%changelog
%autochangelog
@@ -1,42 +0,0 @@
Name: JetBrainsMonoNerdFont-Regular
Version: 1.2
Release: %autorelease
Summary: JetBrainsMonoNerdFonts (TrueType Outlines) (Regulear)
License: MIT
URL: https://github.com/Zhaopudark/JetBrainsMonoNerdFonts
Source0: %{name}
BuildRequires: fonts-rpm-macros
BuildArch: noarch
%description
An auto-updated compiling version of JetBrains Mono that has been patched with Nerd Fonts.
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/releases/download/v%{version}/JetBrainsMonoNerdFont-Regular-v%{version}.ttf
wget -q -P %{_sourcedir} %{url}/raw/refs/heads/main/LICENSE
%build
:
%install
install -d -m 0755 %{buildroot}%{_fontdir}
install -m 0644 %{_sourcedir}/JetBrainsMonoNerdFont*ttf %{buildroot}%{_fontdir}
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 %{_sourcedir}/LICENSE %{buildroot}%{_licensedir}/%{name}/
%post
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%postun
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%files
%{_fontdir}/JetBrainsMonoNerdFont*ttf
%license %{_licensedir}/%{name}/LICENSE
%changelog
%autochangelog
-50
View File
@@ -1,50 +0,0 @@
%global commit0 0e3707f6dafebb121d98b53c64364d16fefe481d
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%global bumpver 100
Name: MicroTeX
Version: 0.0.1%{?bumpver:^%{bumpver}.git%{shortcommit0}}
Release: %autorelease
Summary: A dynamic, cross-platform, and embeddable LaTeX rendering library
License: MIT
URL: https://github.com/NanoMichael/MicroTeX
Source0: %{name}-%{shortcommit0}.tar.gz
BuildRequires: gcc-c++ cmake
BuildRequires: pkgconfig(tinyxml2)
BuildRequires: gtkmm3.0-devel gtksourceviewmm3-devel cairomm-devel
%description
MicroTeX is a library for rendering LaTeX mathematical formulas, supporting multiple backends
such as GTK+, Qt, and Skia. It provides both library components and demo applications for
testing LaTeX rendering.
%prep
curl -fsSL --retry 3 \
https://codeload.github.com/NanoMichael/MicroTeX/tar.gz/%{shortcommit0} \
-o %{_sourcedir}/%{name}-%{shortcommit0}.tar.gz
%setup -q -n %{name}-%{shortcommit0}
%build
mkdir -p build
cd build
cmake ..
make -j$(nproc)
%install
mkdir -p %{buildroot}/opt/MicroTeX
cp build/LaTeX %{buildroot}/opt/MicroTeX/
cp -r build/res %{buildroot}/opt/MicroTeX/
install -Dpm 0644 LICENSE %{buildroot}%{_licensedir}/%{name}/LICENSE
install -Dpm 0644 res/greek/LICENSE %{buildroot}%{_licensedir}/%{name}/LICENSE-greek
install -Dpm 0644 res/cyrillic/LICENSE %{buildroot}%{_licensedir}/%{name}/LICENSE-cyrillic
%files
/opt/MicroTeX/
%license %{_licensedir}/%{name}/
%changelog
%autochangelog
-38
View File
@@ -1,38 +0,0 @@
Name: breeze-plus
Version: 6.19.0
Release: %autorelease
Summary: Breeze theme with additional icons
License: LGPL-2.1
URL: https://github.com/mjkim0727/breeze-plus
Source0: %{name}-%{version}.tar.gz
BuildArch: noarch
%description
Breeze icon theme with additional icons for applications not covered by the
official Breeze theme. Includes icons for Wine, third-party apps, and more.
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/archive/refs/tags/%{version}.tar.gz
%setup -q
%build
:
%install
install -d -m 0755 %{buildroot}%{_iconsdir}/breeze-plus
cp -r src/breeze-plus %{buildroot}%{_iconsdir}/
cp -r src/breeze-plus-dark %{buildroot}%{_iconsdir}/
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 LICENSE %{buildroot}%{_licensedir}/%{name}/
%files
%{_iconsdir}/breeze-plus/
%{_iconsdir}/breeze-plus-dark/
%license %{_licensedir}/%{name}/LICENSE
%changelog
%autochangelog
@@ -25,7 +25,6 @@ BuildRequires: pkgconfig(hyprlang)
%{summary}.
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
%autosetup -p1
%build
@@ -1,44 +0,0 @@
Name: otf-SpaceGrotesk
Version: 2.0.0
Release: %autorelease
Summary: Space Grotesk: a proportional variant of the original fixed-width Space Mono family
License: OFL-1.1
URL: https://github.com/floriankarsten/space-grotesk
Source0: %{name}-%{version}
BuildRequires: fonts-rpm-macros
BuildArch: noarch
%description
Space Grotesk is a proportional sans-serif typeface variant based on Colophon Foundry's fixed-width Space Mono family (2016).
Originally designed by Florian Karsten in 2018,
Space Grotesk retains the monospace's idiosyncratic details while optimizing for improved readability at non-display sizes.
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/releases/download/%{version}/SpaceGrotesk-%{version}.zip
unzip %{_sourcedir}/SpaceGrotesk-%{version}.zip
%build
:
%install
install -d -m 0755 %{buildroot}%{_fontdir}
install -m 0644 %{_buildrootdir}/SpaceGrotesk-%{version}/otf/SpaceGrotesk*otf %{buildroot}%{_fontdir}
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 %{_buildrootdir}/SpaceGrotesk-%{version}/OFL.txt %{buildroot}%{_licensedir}/%{name}/
%post
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%postun
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%files
%{_fontdir}/SpaceGrotesk*otf
%license %{_licensedir}/%{name}/OFL.txt
%changelog
%autochangelog
+3 -3
View File
@@ -3,18 +3,19 @@
%bcond_with asan
%global commit db1777c20b936a86528c1095cbcb1ebd92801402
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commits 699
%global snapdate 20251030
%global tag 0.2.1
Name: quickshell-git
Version: %{tag}^%{commits}.git%(c=%{commit}; echo ${c:0:7})
Version: %{tag}^%{commits}.git%{shortcommit}
Release: 0%{?dist}
Summary: Flexible QtQuick based desktop shell toolkit
License: LGPL-3.0-only AND GPL-3.0-only
URL: https://github.com/quickshell-mirror/quickshell
Source0: %{url}/archive/%{commit}/quickshell-%{commit}.tar.gz
Source0: %{url}/archive/%{commit}/quickshell-%{shortcommit}.tar.gz
Conflicts: quickshell <= %{tag}
@@ -53,7 +54,6 @@ Flexible toolkit for making desktop shells with QtQuick, targeting
Wayland and X11.
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/archive/%{commit}/quickshell-%{commit}.tar.gz
%autosetup -n quickshell-%{commit} -p1
%build
-46
View File
@@ -1,46 +0,0 @@
%global commit0 1f3fb39d6449eefa880543f109f33ede0cd4064f
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%global bumpver 100
Name: ttf-gabarito
Version: 1.000%{?bumpver:^%{bumpver}.git%{shortcommit0}}
Release: %autorelease
Summary: Gabarito Font
License: OFL-1.1
URL: https://github.com/naipefoundry/gabarito
Source0: gabarito-%{shortcommit0}.tar.gz
BuildRequires: fonts-rpm-macros
BuildArch: noarch
%description
Gabarito is a light-hearted geometric sans typeface with 6 weights ranging from Regular to Black originally designed for an online learning platform in Brazil.
%prep
wget --content-disposition -q -N -P %{_sourcedir} https://codeload.github.com/naipefoundry/gabarito/tar.gz/%{shortcommit0}
%setup -q -n gabarito-%{shortcommit0}
%build
:
%install
install -d -m 0755 %{buildroot}%{_fontdir}
install -m 0644 fonts/ttf/Gabarito*.ttf %{buildroot}%{_fontdir}
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 OFL.txt %{buildroot}%{_licensedir}/%{name}/
%post
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%postun
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%files
%{_fontdir}/Gabarito*ttf
%license %{_licensedir}/%{name}/OFL.txt
%changelog
%autochangelog
@@ -1,42 +0,0 @@
Name: ttf-material-symbols-variable
Version: 4.0.0
Release: %autorelease
Summary: Material Design icons by Google (Material Symbols)
License: Apache-2.0
URL: https://github.com/google/material-design-icons
Source0: %{name}-%{version}
BuildRequires: fonts-rpm-macros
BuildArch: noarch
%description
Google Material Symbols Rounded
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/raw/refs/heads/master/variablefont/MaterialSymbolsRounded%5BFILL,GRAD,opsz,wght%5D.ttf
wget -q -N -P %{_sourcedir} %{url}/raw/refs/heads/master/LICENSE
%build
:
%install
install -d -m 0755 %{buildroot}%{_fontdir}/variable-fonts
install -m 0644 %{_sourcedir}/MaterialSymbolsRounded*ttf %{buildroot}%{_fontdir}/variable-fonts/
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 %{_sourcedir}/LICENSE %{buildroot}%{_licensedir}/%{name}/
%post
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%postun
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%files
%{_fontdir}/variable-fonts/MaterialSymbolsRounded*ttf
%license %{_licensedir}/%{name}/LICENSE
%changelog
%autochangelog
@@ -1,42 +0,0 @@
Name: ttf-roboto-flex
Version: 3.200
Release: %autorelease
Summary: Roboto Flex
License: OFL-1.1
URL: https://github.com/googlefonts/roboto-flex
Source0: %{name}
BuildRequires: fonts-rpm-macros
BuildArch: noarch
%description
:
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/raw/refs/heads/main/fonts/RobotoFlex%5BGRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght%5D.ttf
wget -q -O %{_sourcedir}/OFL.txt %{url}/raw/refs/heads/main/OFL.txt
%build
:
%install
install -d -m 0755 %{buildroot}%{_fontdir}
install -m 0644 %{_sourcedir}/RobotoFlex*ttf %{buildroot}%{_fontdir}
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 %{_sourcedir}/OFL.txt %{buildroot}%{_licensedir}/%{name}/
%post
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%postun
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%files
%{_fontdir}/RobotoFlex*ttf
%license %{_licensedir}/%{name}/OFL.txt
%changelog
%autochangelog
@@ -1,46 +0,0 @@
%global commit0 e337a5f69a9bea30e58d05bd40184d79cc099628
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%global bumpver 100
Name: ttf-rubik-variable
Version: 1.0%{?bumpver:^%{bumpver}.git%{shortcommit0}}
Release: %autorelease
Summary: Rubik fonts variable
License: OFL-1.1
URL: https://github.com/googlefonts/rubik
Source0: rubik-%{shortcommit0}.tar.gz
BuildRequires: fonts-rpm-macros
BuildArch: noarch
%description
:
%prep
wget --content-disposition -q -N -P %{_sourcedir} https://codeload.github.com/googlefonts/rubik/tar.gz/%{shortcommit0}
%setup -q -n rubik-%{shortcommit0}
%build
:
%install
install -d -m 0755 %{buildroot}%{_fontdir}/variable-fonts
install -m 0644 fonts/variable/Rubik*ttf %{buildroot}%{_fontdir}/variable-fonts/
install -d -m 0755 %{buildroot}%{_licensedir}/%{name}
install -m 0644 OFL.txt %{buildroot}%{_licensedir}/%{name}/
%post
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%postun
/usr/bin/fc-cache -fv >/dev/null 2>&1 || :
%files
%{_fontdir}/variable-fonts/Rubik*ttf
%license %{_licensedir}/%{name}/OFL.txt
%changelog
%autochangelog
+30 -28
View File
@@ -8,8 +8,8 @@ fi
# Update System
case $SKIP_SYSUPDATE in
true) sleep 0;;
*) v sudo dnf upgrade --refresh -y;;
true) sleep 0 ;;
*) v sudo dnf upgrade --refresh -y ;;
esac
# Remove version lock
@@ -19,9 +19,8 @@ v sudo dnf versionlock delete quickshell-git 2>/dev/null
v sudo dnf install @development-tools fedora-packager rpmdevtools fonts-rpm-macros qt6-rpm-macros -y
# COPR repositories
v sudo dnf copr enable ririko66z/dots-hyprland -y
v sudo dnf copr enable solopasha/hyprland -y
v sudo dnf copr enable errornointernet/quickshell -y
v sudo dnf copr enable errornointernet/packages -y
v sudo dnf copr enable deltacopy/darkly -y
v sudo dnf copr enable alternateved/eza -y
v sudo dnf copr enable atim/starship -y
@@ -35,15 +34,19 @@ v sudo dnf install geoclue2 brightnessctl ddcutil -y
# Basic
v sudo dnf install bc coreutils cliphist cmake curl wget2 ripgrep jq xdg-utils rsync yq -y
# Cursor themes
v sudo dnf install bibata-cursor-theme -y
# Fonts & Themes
themes_deps=(
adw-gtk3-theme breeze-cursor-theme grub2-breeze-theme breeze-icon-theme{,-fedora}
kf6-breeze-icons sddm-breeze darkly eza fish fontconfig kitty matugen starship
jetbrains-mono-nl-fonts material-icons-fonts twitter-twemoji-fonts
adw-gtk3-theme breeze-cursor-theme grub2-breeze-theme breeze-icon-theme{,-fedora} kf6-breeze-icons
sddm-breeze breeze-plus-icon-theme darkly eza fish fontconfig kitty matugen florian-karsten-space-grotesk-fonts
starship gabarito-fonts jetbrains-mono-nerd-fonts google-material-symbols-vf-rounded-fonts material-icons-fonts
readex-pro-fonts-all google-roboto-flex-fonts google-rubik-vf-fonts twitter-twemoji-fonts
)
v sudo dnf install ${themes_deps[@]} -y
# Hyprland
# Hyprland
hyprland_deps=(
hyprland
hyprsunset
@@ -56,8 +59,8 @@ v sudo dnf install hyprlang-devel -y
# KDE
v sudo dnf install bluedevil gnome-keyring NetworkManager plasma-nm polkit-kde dolphin plasma-systemsettings -y
# Microtex-git
v sudo dnf install --setopt="install_weak_deps=False" tinyxml2-devel gtkmm3.0-devel gtksourceviewmm3-devel cairomm-devel -y
# MicroTeX-git
v sudo dnf install microtex -y
# Portal
v sudo dnf install xdg-desktop-portal{,-gtk,-kde,-hyprland} -y
@@ -69,14 +72,13 @@ v sudo dnf install python3{,.12}{,-devel} -y
# Quickshell-git
quickshell_deps=(
qt6-qtdeclarative qt6-qtbase jemalloc qt6-qtsvg pipewire-libs
libxcb wayland-devel qt6-qtwayland qt5-qtwayland libdrm breakpad
qt6-qtdeclarative qt6-qtbase jemalloc qt6-qtsvg pipewire-libs libxcb wayland-devel qt6-qtwayland
qt5-qtwayland libdrm breakpad
)
# NOTE: Below are custom dependencies of illogical-impulse
quickshell_custom_deps=(
qt6-qt5compat qt6-qtimageformats qt6-qtpositioning
qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations
qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting
qt6-qt5compat qt6-qtimageformats qt6-qtpositioning qt6-qtquicktimeline qt6-qtsensors qt6-qttools
qt6-qttranslations qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting kf6-kirigami
)
quickshell_build_deps=(
breakpad-static breakpad-devel gcc-c++ ninja-build mesa-libgbm-devel cli11-devel glib2-devel
@@ -102,24 +104,24 @@ v sudo dnf install --setopt="install_weak_deps=False" mpvpaper plasma-systemmoni
# Start building the missing RPM package locally.
install_RPMS() {
rpmbuildroot=${REPO_ROOT}/cache/rpmbuild
x mkdir -p $rpmbuildroot/{BUILD,RPMS,SOURCES}
x cp -r ${REPO_ROOT}/sdata/dist-fedora/SPECS $rpmbuildroot/
x cd $rpmbuildroot/SPECS
mapfile -t -d '' local_specs < <(find "$rpmbuildroot/SPECS" -maxdepth 1 -type f -name "*.spec" -print0)
for spec_file in ${local_specs[@]}; do
x rpmbuild -bb --define "_topdir $rpmbuildroot" $spec_file
done
mapfile -t -d '' local_rpms < <(find "$rpmbuildroot/RPMS" -maxdepth 2 -type f -name '*.rpm' -not -name '*debug*' -print0)
echo -e "${STY_BLUE}Next command:${STY_RST} sudo dnf install ${local_rpms[@]} -y"
x sudo dnf install "${local_rpms[@]}" -y
x cd ${REPO_ROOT}
rpmbuildroot=${REPO_ROOT}/cache/rpmbuild
x mkdir -p $rpmbuildroot/{BUILD,RPMS,SOURCES}
x cp -r ${REPO_ROOT}/sdata/dist-fedora/SPECS $rpmbuildroot/
x cd $rpmbuildroot/SPECS
mapfile -t -d '' local_specs < <(find "$rpmbuildroot/SPECS" -maxdepth 1 -type f -name "*.spec" -print0)
for spec_file in ${local_specs[@]}; do
x spectool -g -C "$rpmbuildroot/SOURCES" $spec_file
x rpmbuild -bb --define "_topdir $rpmbuildroot" $spec_file
done
mapfile -t -d '' local_rpms < <(find "$rpmbuildroot/RPMS" -maxdepth 2 -type f -name '*.rpm' -not -name '*debug*' -print0)
echo -e "${STY_BLUE}Next command:${STY_RST} sudo dnf install ${local_rpms[@]} -y"
x sudo dnf install "${local_rpms[@]}" -y
x cd ${REPO_ROOT}
}
showfun install_RPMS
v install_RPMS
# hyprland-qtutils depends on hyprland-qt-support
v sudo dnf install hyprland-qtutils -y
+11 -9
View File
@@ -2,19 +2,22 @@
# It's not for directly running.
function prepare_systemd_user_service(){
if [[ ! -d "${XDG_CONFIG_HOME}/systemd/user" ]]; then
x mkdir -p "${XDG_CONFIG_HOME}/systemd/user"
fi
if [[ ! -e "${XDG_CONFIG_HOME}/systemd/user/ydotool.service" ]]; then
x ln -s /usr/lib/systemd/system/ydotool.service "${XDG_CONFIG_HOME}/systemd/user/ydotool.service"
if [[ ! -e "/usr/lib/systemd/user/ydotool.service" ]]; then
x sudo ln -s /usr/lib/systemd/{system,user}/ydotool.service
fi
}
function setup_user_group(){
if [[ -z $(getent group i2c) ]]; then
if [[ -z $(getent group i2c) ]] && [[ "$OS_GROUP_ID" != "fedora" ]]; then
# On Fedora this is not needed. Tested with desktop computer with NVIDIA video card.
x sudo groupadd i2c
fi
x sudo usermod -aG video,i2c,input "$(whoami)"
if [[ "$OS_GROUP_ID" == "fedora" ]]; then
x sudo usermod -aG video,input "$(whoami)"
else
x sudo usermod -aG video,i2c,input "$(whoami)"
fi
}
#####################################################################################
# These python packages are installed using uv into the venv (virtual environment). Once the folder of the venv gets deleted, they are all gone cleanly. So it's considered as setups, not dependencies.
@@ -25,8 +28,7 @@ showfun setup_user_group
v setup_user_group
if [[ ! -z $(systemctl --version) ]]; then
# TODO: Why fedora does not add i2c-dev?
# TODO: Why fedora add uinput and udev rules?
# For Fedora, uinput is required for the virtual keyboard to function, and udev rules enable input group users to utilize it.
if [[ "$OS_GROUP_ID" == "fedora" ]]; then
v bash -c "echo uinput | sudo tee /etc/modules-load.d/uinput.conf"
v bash -c 'echo SUBSYSTEM==\"misc\", KERNEL==\"uinput\", MODE=\"0660\", GROUP=\"input\" | sudo tee /etc/udev/rules.d/99-uinput.rules'