Change hyprland-qt-support to local build

This commit is contained in:
Elysia
2025-11-09 12:33:38 +08:00
parent 3187239175
commit 87f5bc5870
2 changed files with 62 additions and 19 deletions
@@ -0,0 +1,46 @@
# Original-Spec: https://copr-dist-git.fedorainfracloud.org/packages/solopasha/hyprland/hyprland-qt-support.git/plain/hyprland-qt-support.spec?h=master
Name: hyprland-qt-support
Version: 0.1.0
Release: %autorelease -b9
Summary: A Qt6 Qml style provider for hypr* apps
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprland-qt-support
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: qt6-rpm-macros
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Qml)
BuildRequires: pkgconfig(hyprlang)
%description
%{summary}.
%prep
wget --content-disposition -q -N -P %{_sourcedir} %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
%autosetup -p1
%build
%cmake -DINSTALL_QMLDIR=%{_qt6_qmldir}
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_prefix}/lib/libhyprland-quick-style-impl.so
%{_prefix}/lib/libhyprland-quick-style.so
%{_qt6_qmldir}/org/hyprland/
%changelog
%autochangelog
+16 -19
View File
@@ -13,7 +13,7 @@ case $SKIP_SYSUPDATE in
esac
# Development-tools installation
v sudo dnf install @development-tools fedora-packager rpmdevtools fonts-rpm-macros -y
v sudo dnf install @development-tools fedora-packager rpmdevtools fonts-rpm-macros qt6-rpm-macros -y
# COPR repositories
v sudo dnf copr enable solopasha/hyprland -y
@@ -42,17 +42,12 @@ v sudo dnf install ${themes_deps[@]} -y
# Hyprland
hyprland_deps=(
hypridle hyprland hyprlock hyprpicker
hyprsunset xdg-desktop-portal-hyprland wl-clipboard
hypridle hyprland hyprlock hyprpicker hyprsunset
xdg-desktop-portal-hyprland wl-clipboard
)
v sudo dnf install --setopt="install_weak_deps=False" "${hyprland_deps[@]}" -y
## About `hyprland-qtutils` and `hyprland-qt-support`
# The hyprland-qt-support's GitHub repository requires Qt 6.6 or higher, which I think makes DNF's requirement of Qt 6.9 too strict; it should also support Qt 6.10.
# On distro like Arch Linux, `hyprland-qtutils` and `hyprland-qt-support` are in dependency chain already so no need to add them as deps explicitly;
# However on Fedora, if this package is not installed, a yellow warning⚠️ will appear every time you log in to Hyprland.
v dnf download hyprland-qt-support && v sudo rpm -ivh --nodeps hyprland-qt-support-*.fc$(rpm -E %fedora).$(uname -m).rpm
v sudo dnf install hyprland-qtutils -y
# hyprland-qt-support's build deps
v sudo dnf install hyprlang-devel
# KDE
v sudo dnf install bluedevil gnome-keyring NetworkManager plasma-nm polkit-kde dolphin plasma-systemsettings -y
@@ -79,17 +74,16 @@ quickshell_custom_deps=(
qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations
qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting
)
quickshell_build_deps=(
breakpad-static qt6-qtdeclarative-devel qt6-qtshadertools-devel breakpad-devel
gcc-c++ ninja-build mesa-libgbm-devel cli11-devel glib2-devel jemalloc-devel
libdrm-devel pipewire-devel pam-devel polkit-devel wayland-devel wayland-protocols-devel
qt6-qtbase-private-devel spirv-tools
libasan
)
v sudo dnf install "${quickshell_deps[@]}" -y
v sudo dnf install "${quickshell_custom_deps[@]}" -y
# Dynamically control the version of quickshell
qs_version=$(dnf list --showduplicates quickshell-git 2>/dev/null |
grep -E "\.git${_qs_shortcommit}(-|$)" |
awk '{print $2}' |
sort -V |
tail -n1)
v sudo dnf versionlock delete quickshell-git 2>/dev/null
v sudo dnf install quickshell-git-${qs_version}
v sudo dnf versionlock add quickshell-git
v sudo dnf install "${quickshell_build_deps[@]}" -y
# Screencapture
v sudo dnf install hyprshot slurp swappy tesseract tesseract-langpack-eng tesseract-langpack-chi_sim wf-recorder -y
@@ -121,3 +115,6 @@ install_RPMS() {
showfun install_RPMS
v install_RPMS
# hyprland-qtutils depends on hyprland-qt-support
v sudo dnf install hyprland-qtutils -y