Use copr repositories to replace local builds as much as possible.

This commit is contained in:
Elysia
2025-11-16 19:40:41 +08:00
parent 2a34831f87
commit 1271f147ed
3 changed files with 34 additions and 33 deletions
@@ -25,7 +25,6 @@ BuildRequires: pkgconfig(hyprlang)
%{summary}. %{summary}.
%prep %prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
%autosetup -p1 %autosetup -p1
%build %build
+3 -3
View File
@@ -3,18 +3,19 @@
%bcond_with asan %bcond_with asan
%global commit db1777c20b936a86528c1095cbcb1ebd92801402 %global commit db1777c20b936a86528c1095cbcb1ebd92801402
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commits 699 %global commits 699
%global snapdate 20251030 %global snapdate 20251030
%global tag 0.2.1 %global tag 0.2.1
Name: quickshell-git Name: quickshell-git
Version: %{tag}^%{commits}.git%(c=%{commit}; echo ${c:0:7}) Version: %{tag}^%{commits}.git%{shortcommit}
Release: 0%{?dist} Release: 0%{?dist}
Summary: Flexible QtQuick based desktop shell toolkit Summary: Flexible QtQuick based desktop shell toolkit
License: LGPL-3.0-only AND GPL-3.0-only License: LGPL-3.0-only AND GPL-3.0-only
URL: https://github.com/quickshell-mirror/quickshell 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} Conflicts: quickshell <= %{tag}
@@ -53,7 +54,6 @@ Flexible toolkit for making desktop shells with QtQuick, targeting
Wayland and X11. Wayland and X11.
%prep %prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/archive/%{commit}/quickshell-%{commit}.tar.gz
%autosetup -n quickshell-%{commit} -p1 %autosetup -n quickshell-%{commit} -p1
%build %build
+31 -29
View File
@@ -8,8 +8,8 @@ fi
# Update System # Update System
case $SKIP_SYSUPDATE in case $SKIP_SYSUPDATE in
true) sleep 0;; true) sleep 0 ;;
*) v sudo dnf upgrade --refresh -y;; *) v sudo dnf upgrade --refresh -y ;;
esac esac
# Remove version lock # 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 v sudo dnf install @development-tools fedora-packager rpmdevtools fonts-rpm-macros qt6-rpm-macros -y
# COPR repositories # COPR repositories
v sudo dnf copr enable ririko66z/dots-hyprland -y
v sudo dnf copr enable solopasha/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 deltacopy/darkly -y
v sudo dnf copr enable alternateved/eza -y v sudo dnf copr enable alternateved/eza -y
v sudo dnf copr enable atim/starship -y v sudo dnf copr enable atim/starship -y
@@ -35,15 +34,19 @@ v sudo dnf install geoclue2 brightnessctl ddcutil -y
# Basic # Basic
v sudo dnf install bc coreutils cliphist cmake curl wget2 ripgrep jq xdg-utils rsync yq -y 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 # Fonts & Themes
themes_deps=( themes_deps=(
adw-gtk3-theme breeze-cursor-theme grub2-breeze-theme breeze-icon-theme{,-fedora} adw-gtk3-theme breeze-cursor-theme grub2-breeze-theme breeze-icon-theme{,-fedora} kf6-breeze-icons
kf6-breeze-icons sddm-breeze darkly eza fish fontconfig kitty matugen starship sddm-breeze breeze-plus-icon-theme darkly eza fish fontconfig kitty matugen florian-karsten-space-grotesk-fonts
jetbrains-mono-nl-fonts material-icons-fonts twitter-twemoji-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 sudo dnf install ${themes_deps[@]} -y
# Hyprland # Hyprland
hyprland_deps=( hyprland_deps=(
hyprland hyprland
hyprsunset hyprsunset
@@ -56,8 +59,8 @@ v sudo dnf install hyprlang-devel -y
# KDE # KDE
v sudo dnf install bluedevil gnome-keyring NetworkManager plasma-nm polkit-kde dolphin plasma-systemsettings -y v sudo dnf install bluedevil gnome-keyring NetworkManager plasma-nm polkit-kde dolphin plasma-systemsettings -y
# Microtex-git # MicroTeX-git
v sudo dnf install --setopt="install_weak_deps=False" tinyxml2-devel gtkmm3.0-devel gtksourceviewmm3-devel cairomm-devel -y v sudo dnf install microtex -y
# Portal # Portal
v sudo dnf install xdg-desktop-portal{,-gtk,-kde,-hyprland} -y 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-git
quickshell_deps=( quickshell_deps=(
qt6-qtdeclarative qt6-qtbase jemalloc qt6-qtsvg pipewire-libs qt6-qtdeclarative qt6-qtbase jemalloc qt6-qtsvg pipewire-libs libxcb wayland-devel qt6-qtwayland
libxcb wayland-devel qt6-qtwayland qt5-qtwayland libdrm breakpad qt5-qtwayland libdrm breakpad
) )
# NOTE: Below are custom dependencies of illogical-impulse # NOTE: Below are custom dependencies of illogical-impulse
quickshell_custom_deps=( quickshell_custom_deps=(
qt6-qt5compat qt6-qtimageformats qt6-qtpositioning qt6-qt5compat qt6-qtimageformats qt6-qtpositioning qt6-qtquicktimeline qt6-qtsensors qt6-qttools
qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations qt6-qttranslations qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting
qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting
) )
quickshell_build_deps=( quickshell_build_deps=(
breakpad-static breakpad-devel gcc-c++ ninja-build mesa-libgbm-devel cli11-devel glib2-devel 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. # Start building the missing RPM package locally.
install_RPMS() { install_RPMS() {
rpmbuildroot=${REPO_ROOT}/cache/rpmbuild rpmbuildroot=${REPO_ROOT}/cache/rpmbuild
x mkdir -p $rpmbuildroot/{BUILD,RPMS,SOURCES} x mkdir -p $rpmbuildroot/{BUILD,RPMS,SOURCES}
x cp -r ${REPO_ROOT}/sdata/dist-fedora/SPECS $rpmbuildroot/ x cp -r ${REPO_ROOT}/sdata/dist-fedora/SPECS $rpmbuildroot/
x cd $rpmbuildroot/SPECS x cd $rpmbuildroot/SPECS
mapfile -t -d '' local_specs < <(find "$rpmbuildroot/SPECS" -maxdepth 1 -type f -name "*.spec" -print0) mapfile -t -d '' local_specs < <(find "$rpmbuildroot/SPECS" -maxdepth 1 -type f -name "*.spec" -print0)
for spec_file in ${local_specs[@]}; do for spec_file in ${local_specs[@]}; do
x rpmbuild -bb --define "_topdir $rpmbuildroot" $spec_file x spectool -g -C "$rpmbuildroot/SOURCES" $spec_file
done x rpmbuild -bb --define "_topdir $rpmbuildroot" $spec_file
mapfile -t -d '' local_rpms < <(find "$rpmbuildroot/RPMS" -maxdepth 2 -type f -name '*.rpm' -not -name '*debug*' -print0) done
echo -e "${STY_BLUE}Next command:${STY_RST} sudo dnf install ${local_rpms[@]} -y" mapfile -t -d '' local_rpms < <(find "$rpmbuildroot/RPMS" -maxdepth 2 -type f -name '*.rpm' -not -name '*debug*' -print0)
x sudo dnf install "${local_rpms[@]}" -y echo -e "${STY_BLUE}Next command:${STY_RST} sudo dnf install ${local_rpms[@]} -y"
x cd ${REPO_ROOT} x sudo dnf install "${local_rpms[@]}" -y
x cd ${REPO_ROOT}
} }
showfun install_RPMS showfun install_RPMS
v install_RPMS v install_RPMS
# hyprland-qtutils depends on hyprland-qt-support # hyprland-qtutils depends on hyprland-qt-support
v sudo dnf install hyprland-qtutils -y v sudo dnf install hyprland-qtutils -y