mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 23:09:26 -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
|
esac
|
||||||
|
|
||||||
# Development-tools installation
|
# 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
|
# COPR repositories
|
||||||
v sudo dnf copr enable solopasha/hyprland -y
|
v sudo dnf copr enable solopasha/hyprland -y
|
||||||
@@ -42,17 +42,12 @@ v sudo dnf install ${themes_deps[@]} -y
|
|||||||
|
|
||||||
# Hyprland
|
# Hyprland
|
||||||
hyprland_deps=(
|
hyprland_deps=(
|
||||||
hypridle hyprland hyprlock hyprpicker
|
hypridle hyprland hyprlock hyprpicker hyprsunset
|
||||||
hyprsunset xdg-desktop-portal-hyprland wl-clipboard
|
xdg-desktop-portal-hyprland wl-clipboard
|
||||||
)
|
)
|
||||||
v sudo dnf install --setopt="install_weak_deps=False" "${hyprland_deps[@]}" -y
|
v sudo dnf install --setopt="install_weak_deps=False" "${hyprland_deps[@]}" -y
|
||||||
|
# hyprland-qt-support's build deps
|
||||||
## About `hyprland-qtutils` and `hyprland-qt-support`
|
v sudo dnf install hyprlang-devel -y
|
||||||
# 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
|
|
||||||
|
|
||||||
# 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
|
||||||
@@ -79,17 +74,15 @@ quickshell_custom_deps=(
|
|||||||
qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations
|
qt6-qtquicktimeline qt6-qtsensors qt6-qttools qt6-qttranslations
|
||||||
qt6-qtvirtualkeyboard qt6-qtwayland kdialog kf6-syntax-highlighting
|
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_deps[@]}" -y
|
||||||
v sudo dnf install "${quickshell_custom_deps[@]}" -y
|
v sudo dnf install "${quickshell_custom_deps[@]}" -y
|
||||||
# Dynamically control the version of quickshell
|
v sudo dnf install "${quickshell_build_deps[@]}" -y
|
||||||
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
|
|
||||||
|
|
||||||
# Screencapture
|
# Screencapture
|
||||||
v sudo dnf install hyprshot slurp swappy tesseract tesseract-langpack-eng tesseract-langpack-chi_sim wf-recorder -y
|
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
|
x rpmbuild -bb --define "_topdir $rpmbuildroot" $spec_file
|
||||||
done
|
done
|
||||||
mapfile -t -d '' local_rpms < <(find "$rpmbuildroot/RPMS" -maxdepth 2 -type f -name '*.rpm' -not -name '*debug*' -print0)
|
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 sudo dnf install "${local_rpms[@]}" -y
|
||||||
x cd ${REPO_ROOT}
|
x cd ${REPO_ROOT}
|
||||||
}
|
}
|
||||||
|
|
||||||
showfun install_RPMS
|
showfun install_RPMS
|
||||||
v 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()
|
# Used by register_temp_file()
|
||||||
declare -a TEMP_FILES_TO_CLEANUP=()
|
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