mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 14:59:27 -05:00
fix: Change quickshell-git and hyprland-qt-support to local builds. (#2412)
This commit is contained in:
@@ -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
|
||||
@@ -0,0 +1,89 @@
|
||||
# Original-Spec: https://copr-dist-git.fedorainfracloud.org/packages/errornointernet/quickshell/quickshell-git.git/plain/quickshell-git.spec?h=master
|
||||
|
||||
%bcond_with asan
|
||||
|
||||
%global commit db1777c20b936a86528c1095cbcb1ebd92801402
|
||||
%global commits 699
|
||||
%global snapdate 20251030
|
||||
%global tag 0.2.1
|
||||
|
||||
Name: quickshell-git
|
||||
Version: %{tag}^%{commits}.git%(c=%{commit}; echo ${c:0:7})
|
||||
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
|
||||
|
||||
Conflicts: quickshell <= %{tag}
|
||||
|
||||
%if 0%{fedora} >= 43
|
||||
BuildRequires: breakpad-static
|
||||
%endif
|
||||
BuildRequires: cmake
|
||||
BuildRequires: cmake(Qt6Core)
|
||||
BuildRequires: cmake(Qt6Qml)
|
||||
BuildRequires: cmake(Qt6ShaderTools)
|
||||
BuildRequires: cmake(Qt6WaylandClient)
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: pkgconfig(breakpad)
|
||||
BuildRequires: pkgconfig(CLI11)
|
||||
BuildRequires: pkgconfig(gbm)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(jemalloc)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||
BuildRequires: pkgconfig(pam)
|
||||
BuildRequires: pkgconfig(polkit-agent-1)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-protocols)
|
||||
BuildRequires: qt6-qtbase-private-devel
|
||||
BuildRequires: spirv-tools
|
||||
|
||||
%if %{with asan}
|
||||
BuildRequires: libasan
|
||||
%endif
|
||||
|
||||
Provides: desktop-notification-daemon
|
||||
|
||||
%description
|
||||
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
|
||||
%cmake -GNinja \
|
||||
%if %{with asan}
|
||||
-DASAN=ON \
|
||||
%endif
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DDISTRIBUTOR="Fedora COPR (errornointernet/quickshell)" \
|
||||
-DDISTRIBUTOR_DEBUGINFO_AVAILABLE=YES \
|
||||
-DGIT_REVISION=%{commit} \
|
||||
-DINSTALL_QML_PREFIX=%{_lib}/qt6/qml
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%license LICENSE-GPL
|
||||
%doc BUILD.md
|
||||
%doc CONTRIBUTING.md
|
||||
%doc README.md
|
||||
%doc changelog/v%{tag}.md
|
||||
%{_bindir}/qs
|
||||
%{_bindir}/quickshell
|
||||
%{_datadir}/applications/org.quickshell.desktop
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.quickshell.svg
|
||||
%{_libdir}/qt6/qml/Quickshell
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -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 -y
|
||||
|
||||
# KDE
|
||||
v sudo dnf install bluedevil gnome-keyring NetworkManager plasma-nm polkit-kde dolphin plasma-systemsettings -y
|
||||
@@ -79,17 +74,15 @@ quickshell_custom_deps=(
|
||||
qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations
|
||||
qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting
|
||||
)
|
||||
quickshell_build_deps=(
|
||||
breakpad-static 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-qtdeclarative-devel qt6-qtshadertools-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
|
||||
@@ -114,10 +107,13 @@ install_RPMS() {
|
||||
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 "${STY_BLUE}Next command:${STY_RST} sudo dnf install ${local_rpms[@]} -y"
|
||||
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
|
||||
@@ -26,6 +26,4 @@ STY_RST='\e[00m'
|
||||
# Used by register_temp_file()
|
||||
declare -a TEMP_FILES_TO_CLEANUP=()
|
||||
|
||||
# Pinned commit for quickshell
|
||||
_qs_commit='db1777c20b936a86528c1095cbcb1ebd92801402'
|
||||
_qs_shortcommit=$(echo ${_qs_commit} | cut -c1-7)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user