├── .gitignore ├── hyprland-git ├── macros.hyprland ├── update.sh └── hyprland-git.spec ├── astal ├── aylurs-gtk-shell2 │ ├── go-vendor-tools.toml │ └── aylurs-gtk-shell2.spec ├── astal-lua │ └── astal-lua.spec ├── astal-gjs │ └── astal-gjs.spec ├── astal-io │ └── astal-io.spec ├── astal-gtk4 │ └── astal-gtk4.spec ├── appmenu-glib-translator │ └── appmenu-glib-translator.spec ├── astal │ └── astal.spec ├── hyprpanel │ └── hyprpanel.spec └── astal-libs │ └── astal-libs.spec ├── hyprland-plugins ├── plugins_update.sh └── hyprland-plugins.spec ├── material-icons-fonts ├── 65-material-icons-fonts.conf └── material-icons-fonts.spec ├── hyprqt6engine ├── fix-build.diff └── hyprqt6engine.spec ├── hyprsysteminfo ├── fix-build.diff └── hyprsysteminfo.spec ├── hyprland-qtutils ├── fix-build.diff └── hyprland-qtutils.spec ├── hellwal ├── hellwal.patch └── hellwal.spec ├── nwg-clipman └── nwg-clipman.spec ├── hyprland-qt-support ├── cmake.patch └── hyprland-qt-support.spec ├── hyprland-protocols └── hyprland-protocols.spec ├── eww-git ├── update.sh └── eww-git.spec ├── waybar-git ├── update.sh └── waybar-git.spec ├── hyprland-contrib ├── update.sh └── hyprland-contrib.spec ├── xcur2png ├── xcur2png.spec └── 0001-fix-wrong-math.patch ├── .github └── workflows │ ├── update.yml │ └── repoclosure.yml ├── hyprshot └── hyprshot.spec ├── matugen └── matugen.spec ├── python-imageio-ffmpeg └── python-imageio-ffmpeg.spec ├── hyprwayland-scanner └── hyprwayland-scanner.spec ├── hyprland-autoname-workspaces └── hyprland-autoname-workspaces.spec ├── python-screeninfo └── python-screeninfo.spec ├── glaze └── glaze.spec ├── mpvpaper └── mpvpaper.spec ├── pyprland └── pyprland.spec ├── hyprutils └── hyprutils.spec ├── waypaper └── waypaper.spec ├── hyprpwcenter └── hyprpwcenter.spec ├── hyprlang └── hyprlang.spec ├── hyprsunset └── hyprsunset.spec ├── hyprlauncher └── hyprlauncher.spec ├── hyprpicker └── hyprpicker.spec ├── hyprcursor └── hyprcursor.spec ├── hyprpolkitagent └── hyprpolkitagent.spec ├── hyprwire └── hyprwire.spec ├── cliphist ├── cliphist.spec └── bundle_go_deps_for_rpm.sh ├── swaylock-effects └── swaylock-effects.spec ├── .copr └── Makefile ├── aquamarine └── aquamarine.spec ├── hyprpaper └── hyprpaper.spec ├── hyprgraphics └── hyprgraphics.spec ├── hypridle └── hypridle.spec ├── hyprtoolkit └── hyprtoolkit.spec ├── hyprnome └── hyprnome.spec ├── hyprlock └── hyprlock.spec ├── hyprdim └── hyprdim.spec ├── kitty ├── kitty.appdata.xml ├── bundle_go_deps_for_rpm.sh └── kitty.spec ├── uwsm └── uwsm.spec ├── xdg-desktop-portal-hyprland └── xdg-desktop-portal-hyprland.spec ├── aylurs-gtk-shell └── aylurs-gtk-shell.spec ├── nwg-look ├── nwg-look.spec └── bundle_go_deps_for_rpm.sh ├── swww └── swww.spec ├── satty └── satty.spec └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.tar.* 2 | *.rpm 3 | results_* 4 | -------------------------------------------------------------------------------- /hyprland-git/macros.hyprland: -------------------------------------------------------------------------------- 1 | %_hyprland_version @@HYPRLAND_VERSION@@ 2 | -------------------------------------------------------------------------------- /astal/aylurs-gtk-shell2/go-vendor-tools.toml: -------------------------------------------------------------------------------- 1 | [archive] 2 | 3 | [licensing] 4 | detector = "askalono" 5 | [[licensing.licenses]] 6 | path = "vendor/github.com/titanous/json5/LICENSE" 7 | sha256sum = "598015380703f97d5729581fde8f78e4c75af5ab0fd0aa18b6e6b75813302a4f" 8 | expression = "BSD-3-Clause AND MIT" 9 | -------------------------------------------------------------------------------- /hyprland-plugins/plugins_update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | set -euxo pipefail 3 | 4 | SPEC=hyprland-plugins.spec 5 | 6 | oldCommit="$(sed -n 's/.*\bcommit0\b \(.*\)/\1/p' $SPEC)" 7 | newCommit="$(curl -s -H "Accept: application/vnd.github.VERSION.sha" "https://api.github.com/repos/hyprwm/hyprland-plugins/commits/main")" 8 | 9 | sed -i "s/$oldCommit/$newCommit/" $SPEC 10 | 11 | perl -pe 's/(?<=bumpver\s)(\d+)/$1 + 1/ge' -i $SPEC 12 | -------------------------------------------------------------------------------- /material-icons-fonts/65-material-icons-fonts.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | fantasy 7 | 8 | Material Icons 9 | 10 | 11 | 12 | Material Icons 13 | 14 | fantasy 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /hyprqt6engine/fix-build.diff: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index 94ecfef..19e9380 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -14,6 +14,10 @@ find_package(KF6Config) 6 | find_package(KF6ColorScheme) 7 | find_package(KF6IconThemes) 8 | 9 | +if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.9.0") 10 | + find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) 11 | +endif() 12 | + 13 | get_target_property(QT_QTPATHS_EXECUTABLE Qt6::qtpaths IMPORTED_LOCATION) 14 | 15 | if(NOT PLUGINDIR) 16 | -------------------------------------------------------------------------------- /hyprsysteminfo/fix-build.diff: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index f0cf66f..8016c97 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -10,6 +10,9 @@ set(CMAKE_CXX_STANDARD 23) 6 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 7 | 8 | find_package(Qt6 6.5 REQUIRED COMPONENTS Widgets Quick QuickControls2 WaylandClient) 9 | +if(Qt6WaylandClient_VERSION VERSION_GREATER_EQUAL "6.10.0") 10 | + find_package(Qt6WaylandClientPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) 11 | +endif() 12 | find_package(PkgConfig REQUIRED) 13 | 14 | pkg_check_modules(hyprutils REQUIRED IMPORTED_TARGET hyprutils) 15 | -------------------------------------------------------------------------------- /hyprland-qtutils/fix-build.diff: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index c825644..b4659a2 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -10,6 +10,9 @@ set(CMAKE_CXX_STANDARD 23) 6 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 7 | 8 | find_package(Qt6 6.5 REQUIRED COMPONENTS Widgets Quick QuickControls2 WaylandClient) 9 | +if(Qt6WaylandClient_VERSION VERSION_GREATER_EQUAL "6.10.0") 10 | + find_package(Qt6WaylandClientPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) 11 | +endif() 12 | find_package(PkgConfig REQUIRED) 13 | 14 | pkg_check_modules(hyprutils REQUIRED IMPORTED_TARGET hyprutils) 15 | -------------------------------------------------------------------------------- /hellwal/hellwal.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index 3b59d05..4197cc6 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -1,9 +1,9 @@ 6 | VERSION := $(shell cat VERSION) 7 | 8 | -CFLAGS = -Wall -Wextra -O3 9 | -LDFLAGS = -lm 10 | +CFLAGS += -Wall -Wextra -O3 11 | +LDFLAGS += -lm 12 | 13 | -DESTDIR = /usr/local/bin 14 | +DESTDIR ?= /usr/local/bin 15 | 16 | hellwal: hellwal.c 17 | $(CC) $(CFLAGS) hellwal.c -o hellwal $(LDFLAGS) -DVERSION=\"$(VERSION)\" 18 | @@ -14,10 +14,8 @@ debug: hellwal.c 19 | clean: 20 | rm hellwal 21 | 22 | -install: hellwal 23 | - mkdir -p $(DESTDIR) 24 | - cp -f hellwal $(DESTDIR) 25 | - chmod 755 $(DESTDIR)/hellwal # chmod u=rwx,g=rx,o=rx 26 | +install: 27 | + install -Dpm0755 hellwal -t $(DESTDIR)/usr/bin 28 | 29 | uninstall: 30 | rm -f $(DESTDIR)/hellwal 31 | -------------------------------------------------------------------------------- /hellwal/hellwal.spec: -------------------------------------------------------------------------------- 1 | Name: hellwal 2 | Version: 1.0.7 3 | Release: %autorelease 4 | Summary: Pywal-like color palette generator, but faster and in C 5 | 6 | License: MIT 7 | URL: https://github.com/danihek/hellwal 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | Patch: hellwal.patch 10 | 11 | BuildRequires: gcc 12 | 13 | %description 14 | %{summary}. 15 | 16 | %prep 17 | %autosetup -p1 18 | 19 | %build 20 | %make_build hellwal 21 | 22 | %install 23 | %make_install 24 | install -Dpm0644 assets/hellwal-completion.bash %{buildroot}%{bash_completions_dir}/%{name} 25 | 26 | %files 27 | %license LICENSE 28 | %doc templates 29 | %doc themes 30 | %{_bindir}/%{name} 31 | %{bash_completions_dir}/%{name} 32 | 33 | %changelog 34 | %autochangelog 35 | -------------------------------------------------------------------------------- /nwg-clipman/nwg-clipman.spec: -------------------------------------------------------------------------------- 1 | Name: nwg-clipman 2 | Version: 0.2.7 3 | Release: %autorelease -b4 4 | Summary: GTK3-based GUI for cliphist 5 | 6 | License: MIT 7 | URL: https://github.com/nwg-piotr/nwg-clipman 8 | Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | BuildArch: noarch 11 | 12 | BuildRequires: python3-devel 13 | BuildRequires: python3-setuptools 14 | 15 | Requires: cliphist 16 | Requires: gtk-layer-shell 17 | Requires: python3-gobject 18 | 19 | %description 20 | %{summary}. 21 | 22 | %prep 23 | %autosetup 24 | 25 | %build 26 | %py3_build 27 | 28 | %install 29 | %py3_install 30 | 31 | %files 32 | %license LICENSE 33 | %doc README.md 34 | %{_bindir}/%{name} 35 | %{python3_sitelib}/nwg_clipman/ 36 | %{python3_sitelib}/nwg_clipman-*.egg-info/ 37 | 38 | %changelog 39 | %autochangelog 40 | -------------------------------------------------------------------------------- /hyprland-qt-support/cmake.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index a10b688..3c20875 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -1,5 +1,11 @@ 6 | cmake_minimum_required(VERSION 3.20) 7 | 8 | +# Get version 9 | +file(READ "${CMAKE_SOURCE_DIR}/VERSION" VER_RAW) 10 | +string(STRIP ${VER_RAW} VER) 11 | + 12 | +project(hyprland-qt-support VERSION ${VER} LANGUAGES CXX) 13 | + 14 | set(CMAKE_CXX_STANDARD 23) 15 | set(CMAKE_CXX_STANDARD_REQUIRED ON) 16 | 17 | @@ -8,12 +14,6 @@ include(cmake/install-qml-module.cmake) 18 | 19 | option(BUILD_TESTER "Build style tester" OFF) 20 | 21 | -# Get version 22 | -file(READ "${CMAKE_SOURCE_DIR}/VERSION" VER_RAW) 23 | -string(STRIP ${VER_RAW} VER) 24 | - 25 | -project(hyprland-qt-support VERSION ${VER} LANGUAGES CXX) 26 | - 27 | find_package(Qt6 6.6 REQUIRED COMPONENTS Qml Quick QuickControls2) 28 | find_package(PkgConfig REQUIRED) 29 | 30 | -------------------------------------------------------------------------------- /hyprland-protocols/hyprland-protocols.spec: -------------------------------------------------------------------------------- 1 | Name: hyprland-protocols 2 | Version: 0.7.0 3 | Release: %autorelease 4 | Summary: Wayland protocol extensions for Hyprland 5 | BuildArch: noarch 6 | 7 | License: BSD-3-Clause 8 | URL: https://github.com/hyprwm/hyprland-protocols 9 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 10 | 11 | BuildRequires: meson 12 | 13 | %description 14 | %{summary}. 15 | 16 | %package devel 17 | Summary: Wayland protocol extensions for Hyprland 18 | 19 | %description devel 20 | %{summary}. 21 | 22 | 23 | %prep 24 | %autosetup -p1 25 | 26 | 27 | %build 28 | %meson 29 | %meson_build 30 | 31 | 32 | %install 33 | %meson_install 34 | 35 | 36 | %files devel 37 | %license LICENSE 38 | %doc README.md 39 | %{_datadir}/pkgconfig/%{name}.pc 40 | %{_datadir}/%{name}/ 41 | 42 | 43 | %changelog 44 | %autochangelog 45 | -------------------------------------------------------------------------------- /eww-git/update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | set -euxo pipefail 3 | 4 | ec=0 5 | 6 | SPEC=eww-git.spec 7 | 8 | oldTag="$(rpmspec -q --qf "%{version}\n" $SPEC | head -1 | sed 's/\^.*//')" 9 | newTag="$(curl "https://api.github.com/repos/elkowar/eww/tags" | jq -r '.[0].name' | sed 's/^v//')" 10 | 11 | oldCommit="$(sed -n 's/.*\bcommit0\b \(.*\)/\1/p' $SPEC)" 12 | newCommit="$(curl -s -H "Accept: application/vnd.github.VERSION.sha" "https://api.github.com/repos/elkowar/eww/commits/master")" 13 | 14 | 15 | sed -i "s/$oldCommit/$newCommit/" $SPEC 16 | 17 | rpmdev-vercmp "$oldTag" "$newTag" || ec=$? 18 | case $ec in 19 | 0) ;; 20 | 12) 21 | perl -pe 's/(?<=bumpver\s)(\d+)/0/' -i $SPEC 22 | sed -i "/^Version:/s/$oldTag/$newTag/" $SPEC ;; 23 | *) exit 1 24 | esac 25 | 26 | git diff --quiet || \ 27 | { perl -pe 's/(?<=bumpver\s)(\d+)/$1 + 1/ge' -i $SPEC && \ 28 | git commit -am "up rev eww-git-${newTag}+${newCommit:0:7}" && \ 29 | git push; } 30 | -------------------------------------------------------------------------------- /waybar-git/update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | set -euxo pipefail 3 | 4 | ec=0 5 | 6 | SPEC=waybar-git.spec 7 | 8 | oldTag="$(rpmspec -q --qf "%{version}\n" $SPEC | head -1 | sed 's/\^.*//')" 9 | newTag="$(curl "https://api.github.com/repos/Alexays/Waybar/tags" | jq -r '.[0].name' | sed 's/^v//')" 10 | 11 | oldCommit="$(sed -n 's/.*\bcommit0\b \(.*\)/\1/p' $SPEC)" 12 | newCommit="$(curl -s -H "Accept: application/vnd.github.VERSION.sha" "https://api.github.com/repos/Alexays/Waybar/commits/master")" 13 | 14 | 15 | sed -i "s/$oldCommit/$newCommit/" $SPEC 16 | 17 | rpmdev-vercmp "$oldTag" "$newTag" || ec=$? 18 | case $ec in 19 | 0) ;; 20 | 12) 21 | perl -pe 's/(?<=bumpver\s)(\d+)/0/' -i $SPEC 22 | sed -i "/^Version:/s/$oldTag/$newTag/" $SPEC ;; 23 | *) exit 1 24 | esac 25 | 26 | git diff --quiet || \ 27 | { perl -pe 's/(?<=bumpver\s)(\d+)/$1 + 1/ge' -i $SPEC && \ 28 | git commit -am "up rev waybar-git-${newTag}+${newCommit:0:7}" && \ 29 | git push; } 30 | -------------------------------------------------------------------------------- /hyprland-contrib/update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | set -euxo pipefail 3 | 4 | ec=0 5 | 6 | SPEC=hyprland-contrib.spec 7 | 8 | oldTag="$(rpmspec -q --qf "%{version}\n" $SPEC | head -1 | sed 's/\^.*//')" 9 | newTag="$(curl "https://api.github.com/repos/hyprwm/contrib/tags" | jq -r '.[0].name' | sed 's/^v//')" 10 | 11 | oldCommit="$(sed -n 's/.*\bcommit0\b \(.*\)/\1/p' $SPEC)" 12 | newCommit="$(curl -s -H "Accept: application/vnd.github.VERSION.sha" "https://api.github.com/repos/hyprwm/contrib/commits/main")" 13 | 14 | 15 | sed -i "s/$oldCommit/$newCommit/" $SPEC 16 | 17 | rpmdev-vercmp "$oldTag" "$newTag" || ec=$? 18 | case $ec in 19 | 0) ;; 20 | 12) 21 | perl -pe 's/(?<=bumpver\s)(\d+)/0/' -i $SPEC 22 | sed -i "/^Version:/s/$oldTag/$newTag/" $SPEC ;; 23 | *) exit 1 24 | esac 25 | 26 | git diff --quiet || \ 27 | { perl -pe 's/(?<=bumpver\s)(\d+)/$1 + 1/ge' -i $SPEC && \ 28 | git commit -am "up rev hyprland-contrib-${newTag}+${newCommit:0:7}" && \ 29 | git push; } 30 | -------------------------------------------------------------------------------- /xcur2png/xcur2png.spec: -------------------------------------------------------------------------------- 1 | %global build_type_safety_c 0 2 | 3 | Name: xcur2png 4 | Version: 0.7.1 5 | Release: %autorelease -b2 6 | Summary: Convert X cursors to PNG images 7 | 8 | License: GPL-3.0-or-later 9 | URL: https://github.com/eworm-de/xcur2png 10 | Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 11 | Patch: 0001-fix-wrong-math.patch 12 | 13 | BuildRequires: gcc 14 | BuildRequires: pkgconfig(libpng) 15 | BuildRequires: pkgconfig(xcursor) 16 | 17 | %description 18 | xcur2png is a program which let you take PNG image from X cursor, and generate 19 | config-file which is reusable by xcursorgen. To put it simply, it is 20 | converter from X cursor to PNG image. 21 | 22 | %prep 23 | %autosetup 24 | 25 | %build 26 | %configure 27 | %make_build 28 | 29 | %install 30 | %make_install 31 | 32 | %files 33 | %license COPYING 34 | %{_bindir}/%{name} 35 | %{_mandir}/man1/%{name}.1.* 36 | 37 | %changelog 38 | %autochangelog 39 | -------------------------------------------------------------------------------- /.github/workflows/update.yml: -------------------------------------------------------------------------------- 1 | name: Update revisions 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '45 */6 * * *' 7 | 8 | jobs: 9 | main: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | contents: write 13 | container: 14 | image: 'registry.fedoraproject.org/fedora-minimal:latest' 15 | 16 | steps: 17 | - name: Prepare 18 | run: | 19 | dnf -y install --nodocs --setopt=install_weak_deps=0 \ 20 | git-core rpm-build curl perl-interpreter jq rpmdevtools copr-cli parallel 21 | 22 | - uses: actions/checkout@v4 23 | 24 | - name: Run updaters 25 | env: 26 | COPR_WEBHOOK: ${{ secrets.COPR_WEBHOOK }} 27 | run: | 28 | git config --global --add safe.directory "$GITHUB_WORKSPACE" 29 | git config --local user.name "github-actions[bot]" 30 | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" 31 | find -name "update.sh" -execdir {} \; 32 | -------------------------------------------------------------------------------- /hyprshot/hyprshot.spec: -------------------------------------------------------------------------------- 1 | Name: hyprshot 2 | Version: 1.3.0 3 | Release: %autorelease 4 | Summary: Utility to easily take screenshots in Hyprland using your mouse 5 | BuildArch: noarch 6 | 7 | License: GPL-3.0-only 8 | URL: https://github.com/Gustash/Hyprshot 9 | Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 10 | 11 | Requires: jq grim slurp wl-clipboard /usr/bin/notify-send 12 | Recommends: hyprpicker 13 | 14 | %description 15 | Hyprshot is an utility to easily take screenshot in Hyprland using your mouse. 16 | It allows taking screenshots of windows, regions and monitors which are saved 17 | to a folder of your choosing and copied to your clipboard. 18 | 19 | %prep 20 | %autosetup -n Hyprshot-%{version} 21 | 22 | 23 | %build 24 | 25 | 26 | %install 27 | install -Dpm0755 %{name} -t %{buildroot}/%{_bindir} 28 | 29 | 30 | %files 31 | %license LICENSE 32 | %doc README.md 33 | %{_bindir}/%{name} 34 | 35 | 36 | %changelog 37 | %autochangelog 38 | -------------------------------------------------------------------------------- /matugen/matugen.spec: -------------------------------------------------------------------------------- 1 | %bcond_with check 2 | 3 | Name: matugen 4 | Version: 2.4.1 5 | Release: %autorelease 6 | Summary: A material you color generation tool with templates 7 | License: GPL-2.0-only 8 | 9 | URL: https://github.com/InioX/matugen 10 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 11 | 12 | BuildRequires: cargo-rpm-macros >= 24 13 | 14 | %global _description %{expand: 15 | %{summary}.} 16 | 17 | %description %{_description} 18 | 19 | %prep 20 | %autosetup -p1 21 | cargo vendor 22 | %cargo_prep -v vendor 23 | 24 | %build 25 | %cargo_build 26 | %{cargo_license_summary} 27 | %{cargo_license} > LICENSE.dependencies 28 | %{cargo_vendor_manifest} 29 | 30 | %install 31 | install -Dpm755 target/release/matugen %{buildroot}%{_bindir}/matugen 32 | 33 | %if %{with check} 34 | %check 35 | %cargo_test 36 | %endif 37 | 38 | %files 39 | %license LICENSE 40 | %license LICENSE.dependencies 41 | %license cargo-vendor.txt 42 | %doc CHANGELOG.md 43 | %doc README.md 44 | %{_bindir}/matugen 45 | 46 | %changelog 47 | %autochangelog 48 | -------------------------------------------------------------------------------- /python-imageio-ffmpeg/python-imageio-ffmpeg.spec: -------------------------------------------------------------------------------- 1 | Name: python-imageio-ffmpeg 2 | Version: 0.6.0 3 | Release: %autorelease -b4 4 | Summary: FFMPEG wrapper for Python 5 | 6 | License: BSD-2-Clause 7 | URL: https://github.com/imageio/imageio-ffmpeg 8 | Source: %{url}/archive/v%{version}/screeninfo-%{version}.tar.gz 9 | 10 | BuildArch: noarch 11 | BuildRequires: python3-devel 12 | BuildRequires: python3-setuptools 13 | 14 | %global _description %{expand: 15 | FFMPEG wrapper for Python.} 16 | 17 | %description %_description 18 | 19 | %package -n python3-imageio-ffmpeg 20 | Summary: %{summary} 21 | Requires: /usr/bin/ffmpeg 22 | 23 | %description -n python3-imageio-ffmpeg %_description 24 | 25 | %prep 26 | %autosetup -p1 -n imageio-ffmpeg-%{version} 27 | 28 | %build 29 | %py3_build 30 | 31 | %install 32 | %py3_install 33 | 34 | %files -n python3-imageio-ffmpeg 35 | %doc README.md 36 | %license LICENSE 37 | %{python3_sitelib}/imageio_ffmpeg-*.egg-info/ 38 | %{python3_sitelib}/imageio_ffmpeg/ 39 | 40 | %changelog 41 | %autochangelog 42 | -------------------------------------------------------------------------------- /hyprwayland-scanner/hyprwayland-scanner.spec: -------------------------------------------------------------------------------- 1 | Name: hyprwayland-scanner 2 | Version: 0.4.5 3 | Release: %autorelease 4 | Summary: A Hyprland implementation of wayland-scanner, in and for C++ 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprwayland-scanner 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: cmake(pugixml) 15 | BuildRequires: gcc-c++ 16 | 17 | %description 18 | %{summary}. 19 | 20 | %package devel 21 | Summary: A Hyprland implementation of wayland-scanner, in and for C++ 22 | 23 | %description devel 24 | %{summary}. 25 | 26 | %prep 27 | %autosetup -p1 28 | 29 | %build 30 | %cmake 31 | %cmake_build 32 | 33 | %install 34 | %cmake_install 35 | 36 | %files devel 37 | %license LICENSE 38 | %doc README.md 39 | %{_bindir}/%{name} 40 | %{_libdir}/pkgconfig/%{name}.pc 41 | %{_libdir}/cmake/%{name}/ 42 | 43 | %changelog 44 | %autochangelog 45 | -------------------------------------------------------------------------------- /astal/astal-lua/astal-lua.spec: -------------------------------------------------------------------------------- 1 | %global astal_commit 7f2292f0792ffc9b127d4788b3dd3f104b5374b2 2 | %global astal_shortcommit %(c=%{astal_commit}; echo ${c:0:7}) 3 | %global bumpver 6 4 | 5 | %global debug_package %{nil} 6 | %global _vpath_srcdir lang/lua 7 | 8 | Name: astal-lua 9 | Version: 0~%{bumpver}.git%{astal_shortcommit} 10 | Release: %autorelease 11 | Summary: Lua bindings for libastal 12 | 13 | License: LGPL-2.1-only 14 | URL: https://github.com/Aylur/astal 15 | Source0: %{url}/archive/%{astal_commit}/%{name}-%{astal_shortcommit}.tar.gz 16 | BuildArch: noarch 17 | 18 | BuildRequires: lua-devel 19 | 20 | Requires: astal 21 | Requires: astal-io 22 | Requires: lua-lgi 23 | %{?lua_requires} 24 | 25 | %description 26 | %{summary}. 27 | 28 | %prep 29 | %autosetup -n astal-%{astal_commit} -p1 30 | 31 | %build 32 | 33 | %install 34 | pushd %{_vpath_srcdir} 35 | mkdir -p %{buildroot}%{lua_pkgdir} 36 | cp -pr astal %{buildroot}%{lua_pkgdir} 37 | 38 | %files 39 | %license LICENSE 40 | %{lua_pkgdir}/astal/ 41 | 42 | %changelog 43 | %autochangelog 44 | -------------------------------------------------------------------------------- /hyprland-autoname-workspaces/hyprland-autoname-workspaces.spec: -------------------------------------------------------------------------------- 1 | Name: hyprland-autoname-workspaces 2 | Version: 1.1.15 3 | Release: %autorelease -b2 4 | Summary: Hyprland autoname workspaces 5 | 6 | License: ISC 7 | URL: https://github.com/hyprland-community/hyprland-autoname-workspaces 8 | Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 9 | 10 | BuildRequires: rust-packaging >= 21 11 | BuildRequires: systemd-rpm-macros 12 | 13 | %description 14 | This app automatically rename workspaces with icons of started 15 | applications - tested with waybar. 16 | 17 | 18 | %prep 19 | %autosetup -p1 20 | sed '/LICENSE.md$/d' -i Makefile 21 | 22 | 23 | %build 24 | export RUSTFLAGS="%{build_rustflags}" 25 | make build 26 | 27 | 28 | %install 29 | %make_install 30 | 31 | 32 | %files 33 | %license LICENSE.md 34 | %doc README.md 35 | %{_bindir}/%{name} 36 | %{_userunitdir}/%{name}.service 37 | %{_datadir}/%{name}/ 38 | 39 | 40 | %post 41 | %systemd_user_post %{name}.service 42 | 43 | %preun 44 | %systemd_user_preun %{name}.service 45 | 46 | %changelog 47 | %autochangelog 48 | -------------------------------------------------------------------------------- /python-screeninfo/python-screeninfo.spec: -------------------------------------------------------------------------------- 1 | Name: python-screeninfo 2 | Version: 0.8.1 3 | Release: %autorelease -b5 4 | Summary: Fetch location and size of physical screens 5 | 6 | License: MIT 7 | URL: https://github.com/rr-/screeninfo 8 | Source: %{url}/archive/%{version}/screeninfo-%{version}.tar.gz 9 | 10 | BuildArch: noarch 11 | BuildRequires: python3-devel 12 | BuildRequires: %{py3_dist pytest} 13 | 14 | %global _description %{expand: 15 | Fetch location and size of physical screens.} 16 | 17 | %description %_description 18 | 19 | %package -n python3-screeninfo 20 | Summary: %{summary} 21 | 22 | %description -n python3-screeninfo %_description 23 | 24 | %prep 25 | %autosetup -p1 -n screeninfo-%{version} 26 | 27 | %generate_buildrequires 28 | %pyproject_buildrequires 29 | 30 | %build 31 | %pyproject_wheel 32 | 33 | %install 34 | %pyproject_install 35 | %pyproject_save_files screeninfo 36 | 37 | %check 38 | %pytest 39 | 40 | %files -n python3-screeninfo -f %{pyproject_files} 41 | %doc README.md 42 | %license LICENSE.md 43 | 44 | %changelog 45 | %autochangelog 46 | -------------------------------------------------------------------------------- /xcur2png/0001-fix-wrong-math.patch: -------------------------------------------------------------------------------- 1 | From cda8f7af382f5c5f1e9a395eb03e2b819770d499 Mon Sep 17 00:00:00 2001 2 | From: Yuji Saeki <44311901+YujiSaeki@users.noreply.github.com> 3 | Date: Mon, 1 Jun 2020 22:32:16 +0200 4 | Subject: [PATCH 1/1] fix wrong math 5 | 6 | Signed-off-by: Christian Hesse 7 | --- 8 | xcur2png.c | 6 +++--- 9 | 1 file changed, 3 insertions(+), 3 deletions(-) 10 | 11 | diff --git a/xcur2png.c b/xcur2png.c 12 | index 8723a10..f7dd95d 100644 13 | --- a/xcur2png.c 14 | +++ b/xcur2png.c 15 | @@ -586,9 +586,9 @@ int writePngFileFromXcur (const XcursorDim width, const XcursorDim height, 16 | unsigned int red = (pixels[i]>>16) & 0xff; 17 | unsigned int green = (pixels[i]>>8) & 0xff; 18 | unsigned int blue = pixels[i] & 0xff; 19 | - red = (div (red * 256, alpha).quot) & 0xff; 20 | - green = (div (green * 256, alpha).quot) & 0xff; 21 | - blue = (div (blue * 256, alpha).quot) & 0xff; 22 | + red = (div (red * 255, alpha).quot) & 0xff; 23 | + green = (div (green * 255, alpha).quot) & 0xff; 24 | + blue = (div (blue * 255, alpha).quot) & 0xff; 25 | pix[i] = (alpha << 24) + (red << 16) + (green << 8) + blue; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /glaze/glaze.spec: -------------------------------------------------------------------------------- 1 | %global debug_package %{nil} 2 | 3 | Name: glaze 4 | Version: 5.5.2 5 | Release: %autorelease 6 | Summary: Extremely fast, in memory, JSON and interface library 7 | 8 | License: MIT 9 | URL: https://github.com/stephenberry/glaze 10 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 11 | 12 | BuildRequires: cmake 13 | BuildRequires: gcc-c++ 14 | 15 | %description 16 | %{summary}. 17 | 18 | %package devel 19 | Summary: Development files for %{name} 20 | BuildArch: noarch 21 | Provides: %{name}-static = %{version}-%{release} 22 | %description devel 23 | Development files for %{name}. 24 | 25 | %prep 26 | %autosetup -p1 27 | 28 | %build 29 | %cmake \ 30 | -Dglaze_INSTALL_CMAKEDIR=%{_datadir}/cmake/%{name} \ 31 | -Dglaze_DISABLE_SIMD_WHEN_SUPPORTED:BOOL=ON \ 32 | -Dglaze_DEVELOPER_MODE:BOOL=OFF \ 33 | -Dglaze_ENABLE_FUZZING:BOOL=OFF 34 | %cmake_build 35 | 36 | %install 37 | %cmake_install 38 | 39 | %files devel 40 | %license LICENSE 41 | %doc README.md 42 | %{_datadir}/cmake/%{name}/ 43 | %{_includedir}/%{name}/ 44 | 45 | %changelog 46 | %autochangelog 47 | -------------------------------------------------------------------------------- /hyprland-qt-support/hyprland-qt-support.spec: -------------------------------------------------------------------------------- 1 | Name: hyprland-qt-support 2 | Version: 0.1.0 3 | Release: %autorelease -b8 4 | Summary: A Qt6 Qml style provider for hypr* apps 5 | License: BSD-3-Clause 6 | URL: https://github.com/hyprwm/hyprland-qt-support 7 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 8 | Patch: cmake.patch 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | BuildRequires: qt6-rpm-macros 16 | 17 | BuildRequires: cmake(Qt6Quick) 18 | BuildRequires: cmake(Qt6QuickControls2) 19 | BuildRequires: cmake(Qt6Qml) 20 | 21 | BuildRequires: pkgconfig(hyprlang) 22 | 23 | %description 24 | %{summary}. 25 | 26 | %prep 27 | %autosetup -p1 28 | 29 | %build 30 | %cmake -DINSTALL_QMLDIR=%{_qt6_qmldir} 31 | %cmake_build 32 | 33 | %install 34 | %cmake_install 35 | 36 | %files 37 | %license LICENSE 38 | %doc README.md 39 | %{_libdir}/libhyprland-quick-style-impl.so 40 | %{_libdir}/libhyprland-quick-style.so 41 | %{_qt6_qmldir}/org/hyprland/ 42 | 43 | %changelog 44 | %autochangelog 45 | -------------------------------------------------------------------------------- /mpvpaper/mpvpaper.spec: -------------------------------------------------------------------------------- 1 | Name: mpvpaper 2 | Version: 1.8 3 | Release: %autorelease 4 | Summary: A video wallpaper program 5 | 6 | License: GPL-3.0-or-later 7 | URL: https://github.com/GhostNaN/mpvpaper 8 | Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 9 | 10 | BuildRequires: gcc 11 | BuildRequires: meson 12 | BuildRequires: pkgconfig(egl) 13 | BuildRequires: pkgconfig(mpv) 14 | BuildRequires: pkgconfig(wayland-client) 15 | BuildRequires: pkgconfig(wayland-egl) 16 | BuildRequires: pkgconfig(wayland-protocols) 17 | BuildRequires: pkgconfig(wayland-scanner) 18 | 19 | %description 20 | mpvpaper is a wallpaper program for wlroots based wayland compositors, 21 | such as sway. That allows you to play videos with mpv as your wallpaper. 22 | 23 | %prep 24 | %autosetup -p1 25 | 26 | %build 27 | %meson 28 | %meson_build 29 | 30 | %install 31 | %meson_install 32 | 33 | install -Dpm0644 %{name}.man %{buildroot}/%{_mandir}/man1/%{name}.1 34 | 35 | %files 36 | %license LICENSE 37 | %doc README.md 38 | %{_bindir}/%{name} 39 | %{_bindir}/%{name}-holder 40 | %{_mandir}/man1/%{name}.1.* 41 | 42 | %changelog 43 | %autochangelog 44 | -------------------------------------------------------------------------------- /pyprland/pyprland.spec: -------------------------------------------------------------------------------- 1 | Name: pyprland 2 | Version: 2.4.7 3 | Release: %autorelease -b4 4 | Summary: Hyprland extensions made easy 5 | 6 | License: MIT 7 | URL: https://github.com/hyprland-community/pyprland 8 | Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 9 | 10 | BuildRequires: gcc 11 | BuildRequires: python3-devel 12 | 13 | %description 14 | Pyprland is a host process for multiple Hyprland extensions, aiming at 15 | simplicity and efficiency. 16 | It provides a variety of plugins you can enable to your liking. 17 | 18 | %prep 19 | %autosetup -p1 20 | find -type f -exec sed -i '1s|^#!/bin/env python$|#!%{python3}|' {} + 21 | 22 | %generate_buildrequires 23 | %pyproject_buildrequires 24 | 25 | %build 26 | %pyproject_wheel 27 | pushd client 28 | gcc %{build_cflags} %{build_ldflags} -o pypr-client pypr-client.c 29 | 30 | %install 31 | %pyproject_install 32 | %pyproject_save_files pyprland 33 | install -Dpm0755 client/pypr-client -t %{buildroot}%{_bindir} 34 | 35 | %files -f %{pyproject_files} 36 | %license LICENSE 37 | %doc README.md 38 | %{_bindir}/pypr 39 | %{_bindir}/pypr-client 40 | 41 | %changelog 42 | %autochangelog 43 | -------------------------------------------------------------------------------- /hyprutils/hyprutils.spec: -------------------------------------------------------------------------------- 1 | Name: hyprutils 2 | Version: 0.10.0 3 | Release: %autorelease 4 | Summary: Hyprland utilities library used across the ecosystem 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprutils 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | BuildRequires: pkgconfig(pixman-1) 16 | 17 | %description 18 | %{summary}. 19 | 20 | %package devel 21 | Summary: Development files for %{name} 22 | Requires: %{name}%{?_isa} = %{version}-%{release} 23 | %description devel 24 | Development files for %{name}. 25 | 26 | %prep 27 | %autosetup -p1 28 | 29 | %build 30 | %cmake 31 | %cmake_build 32 | 33 | %install 34 | %cmake_install 35 | 36 | %check 37 | %ctest 38 | 39 | %files 40 | %license LICENSE 41 | %doc README.md 42 | %{_libdir}/lib%{name}.so.%{version} 43 | %{_libdir}/lib%{name}.so.9 44 | 45 | %files devel 46 | %{_includedir}/%{name}/ 47 | %{_libdir}/lib%{name}.so 48 | %{_libdir}/pkgconfig/%{name}.pc 49 | 50 | %changelog 51 | %autochangelog 52 | -------------------------------------------------------------------------------- /waypaper/waypaper.spec: -------------------------------------------------------------------------------- 1 | Name: waypaper 2 | Version: 2.7 3 | Release: %autorelease 4 | Summary: GUI wallpaper setter for Wayland 5 | 6 | License: GPL-3.0-or-later 7 | URL: https://github.com/anufrievroman/waypaper 8 | Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 9 | BuildArch: noarch 10 | 11 | BuildRequires: desktop-file-utils 12 | BuildRequires: python3-devel 13 | 14 | Recommends: swww 15 | 16 | %description 17 | GUI wallpaper setter for Wayland and Xorg window managers. It works as 18 | a frontend for popular wallpaper backends like swaybg, swww, wallutils and feh. 19 | 20 | %prep 21 | %autosetup -p1 22 | 23 | %generate_buildrequires 24 | %pyproject_buildrequires 25 | 26 | %build 27 | %pyproject_wheel 28 | 29 | %install 30 | %pyproject_install 31 | %pyproject_save_files waypaper 32 | 33 | %check 34 | desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop 35 | 36 | %files -f %{pyproject_files} 37 | %license LICENSE 38 | %doc README.md 39 | %{_bindir}/waypaper 40 | %{_datadir}/applications/waypaper.desktop 41 | %{_datadir}/icons/hicolor/scalable/apps/waypaper.svg 42 | %{_datadir}/man/man1/waypaper.1.* 43 | 44 | %changelog 45 | %autochangelog 46 | -------------------------------------------------------------------------------- /hyprland-qtutils/hyprland-qtutils.spec: -------------------------------------------------------------------------------- 1 | Name: hyprland-qtutils 2 | Version: 0.1.5 3 | Release: %autorelease -b3 4 | Summary: Hyprland Qt/qml utility apps 5 | License: BSD-3-Clause 6 | URL: https://github.com/hyprwm/hyprland-qtutils 7 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 8 | Patch: fix-build.diff 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | 16 | BuildRequires: cmake(Qt6Quick) 17 | BuildRequires: cmake(Qt6QuickControls2) 18 | BuildRequires: cmake(Qt6WaylandClient) 19 | BuildRequires: cmake(Qt6Widgets) 20 | BuildRequires: qt6-qtbase-private-devel 21 | 22 | BuildRequires: pkgconfig(hyprutils) 23 | BuildRequires: wayland-devel 24 | 25 | Requires: hyprland-qt-support%{?_isa} 26 | 27 | %description 28 | %{summary}. 29 | 30 | %prep 31 | %autosetup -p1 32 | 33 | %build 34 | %cmake 35 | %cmake_build 36 | 37 | %install 38 | %cmake_install 39 | 40 | %files 41 | %license LICENSE 42 | %doc README.md 43 | %{_bindir}/hyprland-dialog 44 | %{_bindir}/hyprland-donate-screen 45 | %{_bindir}/hyprland-update-screen 46 | 47 | %changelog 48 | %autochangelog 49 | -------------------------------------------------------------------------------- /hyprpwcenter/hyprpwcenter.spec: -------------------------------------------------------------------------------- 1 | Name: hyprpwcenter 2 | Version: 0.1.1 3 | Release: %autorelease 4 | Summary: A GUI Pipewire control center 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprpwcenter 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: desktop-file-utils 15 | BuildRequires: gcc-c++ 16 | BuildRequires: ninja-build 17 | BuildRequires: pkgconfig(hyprtoolkit) 18 | BuildRequires: pkgconfig(hyprutils) 19 | BuildRequires: pkgconfig(libdrm) 20 | BuildRequires: pkgconfig(libpipewire-0.3) 21 | BuildRequires: pkgconfig(pixman-1) 22 | 23 | %description 24 | %{summary}. 25 | 26 | %prep 27 | %autosetup -p1 28 | 29 | %build 30 | %cmake \ 31 | -GNinja \ 32 | -DCMAKE_BUILD_TYPE=Release 33 | %cmake_build 34 | 35 | %install 36 | %cmake_install 37 | 38 | %check 39 | desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop 40 | 41 | %files 42 | %license LICENSE 43 | %doc README.md 44 | %{_bindir}/hyprpwcenter 45 | %{_datadir}/applications/hyprpwcenter.desktop 46 | 47 | %changelog 48 | %autochangelog 49 | -------------------------------------------------------------------------------- /hyprlang/hyprlang.spec: -------------------------------------------------------------------------------- 1 | Name: hyprlang 2 | Version: 0.6.4 3 | Release: %autorelease -b12 4 | Summary: The official implementation library for the hypr config language 5 | 6 | License: LGPL-3.0-only 7 | URL: https://github.com/hyprwm/hyprlang 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | BuildRequires: pkgconfig(hyprutils) 16 | 17 | %description 18 | %{summary}. 19 | 20 | %package devel 21 | Summary: Development files for %{name} 22 | Requires: %{name}%{?_isa} = %{version}-%{release} 23 | %description devel 24 | Development files for %{name}. 25 | 26 | %prep 27 | %autosetup -p1 28 | sed 's/.*/%{version}/' -i VERSION 29 | 30 | %build 31 | %cmake 32 | %cmake_build 33 | 34 | %install 35 | %cmake_install 36 | 37 | %check 38 | %ctest 39 | 40 | %files 41 | %license LICENSE 42 | %doc README.md 43 | %{_libdir}/libhyprlang.so.2 44 | %{_libdir}/libhyprlang.so.%{version} 45 | 46 | %files devel 47 | %{_includedir}/hyprlang.hpp 48 | %{_libdir}/libhyprlang.so 49 | %{_libdir}/pkgconfig/hyprlang.pc 50 | 51 | %changelog 52 | %autochangelog 53 | -------------------------------------------------------------------------------- /hyprsunset/hyprsunset.spec: -------------------------------------------------------------------------------- 1 | Name: hyprsunset 2 | Version: 0.3.3 3 | Release: %autorelease -b2 4 | Summary: An application to enable a blue-light filter on Hyprland 5 | License: BSD-3-Clause 6 | URL: https://github.com/hyprwm/hyprsunset 7 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 8 | 9 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 10 | ExcludeArch: %{ix86} 11 | 12 | BuildRequires: cmake 13 | BuildRequires: gcc-c++ 14 | BuildRequires: systemd-rpm-macros 15 | 16 | BuildRequires: pkgconfig(hyprland-protocols) 17 | BuildRequires: pkgconfig(hyprlang) 18 | BuildRequires: pkgconfig(hyprutils) 19 | BuildRequires: pkgconfig(hyprwayland-scanner) 20 | BuildRequires: pkgconfig(wayland-client) 21 | BuildRequires: pkgconfig(wayland-protocols) 22 | 23 | %description 24 | %{summary}. 25 | 26 | %prep 27 | %autosetup -p1 28 | 29 | %build 30 | %cmake -DCMAKE_BUILD_TYPE=Release 31 | %cmake_build 32 | 33 | %install 34 | %cmake_install 35 | 36 | %post 37 | %systemd_user_post %{name}.service 38 | 39 | %preun 40 | %systemd_user_preun %{name}.service 41 | 42 | %files 43 | %license LICENSE 44 | %doc README.md 45 | %{_bindir}/%{name} 46 | %{_userunitdir}/%{name}.service 47 | 48 | %changelog 49 | %autochangelog 50 | -------------------------------------------------------------------------------- /hyprlauncher/hyprlauncher.spec: -------------------------------------------------------------------------------- 1 | Name: hyprlauncher 2 | Version: 0.1.1 3 | Release: %autorelease 4 | Summary: A multipurpose and versatile launcher / picker for Hyprland 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprlauncher 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | BuildRequires: ninja-build 16 | BuildRequires: pkgconfig(hyprlang) 17 | BuildRequires: pkgconfig(hyprtoolkit) 18 | BuildRequires: pkgconfig(hyprutils) 19 | BuildRequires: pkgconfig(hyprwire) 20 | BuildRequires: pkgconfig(icu-uc) 21 | BuildRequires: pkgconfig(libdrm) 22 | BuildRequires: pkgconfig(libqalculate) 23 | BuildRequires: pkgconfig(pixman-1) 24 | BuildRequires: pkgconfig(xkbcommon) 25 | 26 | Requires: wl-clipboard 27 | 28 | %description 29 | %{summary}. 30 | 31 | %prep 32 | %autosetup -p1 33 | 34 | %build 35 | %cmake \ 36 | -GNinja \ 37 | -DCMAKE_BUILD_TYPE=Release 38 | %cmake_build 39 | 40 | %install 41 | %cmake_install 42 | 43 | %files 44 | %license LICENSE 45 | %doc README.md 46 | %{_bindir}/%{name} 47 | 48 | %changelog 49 | %autochangelog 50 | -------------------------------------------------------------------------------- /hyprpicker/hyprpicker.spec: -------------------------------------------------------------------------------- 1 | Name: hyprpicker 2 | Version: 0.4.5 3 | Release: %autorelease -b4 4 | Summary: A wlroots-compatible Wayland color picker 5 | # LICENSE: BSD-3-Clause 6 | # protocols/wlr-layer-shell-unstable-v1.xml: HPND-sell-variant 7 | License: BSD-3-Clause AND HPND-sell-variant 8 | URL: https://github.com/hyprwm/hyprpicker 9 | Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 10 | 11 | BuildRequires: cmake 12 | BuildRequires: gcc-c++ 13 | 14 | BuildRequires: pkgconfig(cairo) 15 | BuildRequires: pkgconfig(hyprutils) 16 | BuildRequires: pkgconfig(hyprwayland-scanner) 17 | BuildRequires: pkgconfig(libjpeg) 18 | BuildRequires: pkgconfig(pango) 19 | BuildRequires: pkgconfig(pangocairo) 20 | BuildRequires: pkgconfig(wayland-client) 21 | BuildRequires: pkgconfig(wayland-protocols) 22 | BuildRequires: pkgconfig(xkbcommon) 23 | 24 | Recommends: wl-clipboard 25 | 26 | %description 27 | %{summary}. 28 | 29 | 30 | %prep 31 | %autosetup -p1 32 | 33 | 34 | %build 35 | %cmake \ 36 | -DCMAKE_BUILD_TYPE=Release \ 37 | -DCMAKE_INSTALL_MANDIR=%{_mandir} 38 | %cmake_build 39 | 40 | 41 | %install 42 | %cmake_install 43 | 44 | 45 | %files 46 | %license LICENSE 47 | %doc README.md 48 | %{_bindir}/%{name} 49 | %{_mandir}/man1/%{name}.1.* 50 | 51 | 52 | %changelog 53 | %autochangelog 54 | -------------------------------------------------------------------------------- /hyprqt6engine/hyprqt6engine.spec: -------------------------------------------------------------------------------- 1 | Name: hyprqt6engine 2 | Version: 0.1.0 3 | Release: %autorelease -b6 4 | Summary: Qt6 Theme Provider for Hyprland 5 | License: BSD-3-Clause 6 | URL: https://github.com/hyprwm/hyprqt6engine 7 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 8 | Patch: fix-build.diff 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | BuildRequires: qt6-rpm-macros 16 | 17 | BuildRequires: pkgconfig(hyprlang) 18 | BuildRequires: pkgconfig(hyprutils) 19 | 20 | BuildRequires: cmake(KF6ColorScheme) 21 | BuildRequires: cmake(KF6Config) 22 | BuildRequires: cmake(KF6IconThemes) 23 | BuildRequires: cmake(Qt6BuildInternals) 24 | BuildRequires: cmake(Qt6Core) 25 | BuildRequires: cmake(Qt6Widgets) 26 | BuildRequires: qt6-qtbase-private-devel 27 | 28 | %description 29 | %{summary}. 30 | 31 | %prep 32 | %autosetup -p1 33 | 34 | %build 35 | %cmake -DCMAKE_BUILD_TYPE=Release 36 | %cmake_build 37 | 38 | %install 39 | %cmake_install 40 | 41 | %files 42 | %license LICENSE 43 | %doc README.md 44 | %{_libdir}/libhyprqt6engine-common.so 45 | %{_qt6_plugindir}/platformthemes/libhyprqt6engine.so 46 | %{_qt6_plugindir}/styles/libhypr-style.so 47 | 48 | %changelog 49 | %autochangelog 50 | -------------------------------------------------------------------------------- /astal/astal-gjs/astal-gjs.spec: -------------------------------------------------------------------------------- 1 | %global astal_commit 7f2292f0792ffc9b127d4788b3dd3f104b5374b2 2 | %global astal_shortcommit %(c=%{astal_commit}; echo ${c:0:7}) 3 | %global bumpver 11 4 | 5 | %global debug_package %{nil} 6 | %global _vpath_srcdir lang/gjs 7 | 8 | Name: astal-gjs 9 | Version: 0~%{bumpver}.git%{astal_shortcommit} 10 | Release: %autorelease 11 | Summary: Astal GJS pacakge 12 | 13 | License: LGPL-2.1-only 14 | URL: https://github.com/Aylur/astal 15 | Source0: %{url}/archive/%{astal_commit}/%{name}-%{astal_shortcommit}.tar.gz 16 | 17 | BuildRequires: meson 18 | BuildRequires: pkgconfig(astal-io-0.1) 19 | BuildRequires: pkgconfig(astal-3.0) 20 | 21 | Requires: gjs%{?_isa} 22 | Requires: astal-io%{?_isa} 23 | Requires: astal%{?_isa} 24 | 25 | Supplements: astal 26 | 27 | %package devel 28 | Summary: Development files for %{name} 29 | Requires: %{name}%{?_isa} = %{version}-%{release} 30 | %description devel 31 | Development files for %{name}. 32 | 33 | %description 34 | %{summary}. 35 | 36 | %prep 37 | %autosetup -n astal-%{astal_commit} -p1 38 | 39 | %build 40 | %meson 41 | %meson_build 42 | 43 | %install 44 | %meson_install 45 | 46 | %files 47 | %license LICENSE 48 | %dir %{_datadir}/astal 49 | %{_datadir}/astal/gjs/ 50 | 51 | %files devel 52 | %{_libdir}/pkgconfig/%{name}.pc 53 | 54 | %changelog 55 | %autochangelog 56 | -------------------------------------------------------------------------------- /hyprcursor/hyprcursor.spec: -------------------------------------------------------------------------------- 1 | Name: hyprcursor 2 | Version: 0.1.13 3 | Release: %autorelease 4 | Summary: The hyprland cursor format, library and utilities 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprcursor 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | 16 | BuildRequires: pkgconfig(cairo) 17 | BuildRequires: pkgconfig(hyprlang) 18 | BuildRequires: pkgconfig(librsvg-2.0) 19 | BuildRequires: pkgconfig(libzip) 20 | BuildRequires: pkgconfig(tomlplusplus) 21 | 22 | %description 23 | %{summary}. 24 | 25 | %package devel 26 | Summary: Development files for %{name} 27 | Requires: %{name}%{?_isa} = %{version}-%{release} 28 | %description devel 29 | Development files for %{name}. 30 | 31 | %prep 32 | %autosetup -p1 33 | 34 | %build 35 | %cmake -DCMAKE_BUILD_TYPE=Release 36 | %cmake_build 37 | 38 | %install 39 | %cmake_install 40 | 41 | %files 42 | %license LICENSE 43 | %doc README.md 44 | %{_bindir}/hyprcursor-util 45 | %{_libdir}/lib%{name}.so.%{version} 46 | %{_libdir}/lib%{name}.so.0 47 | 48 | %files devel 49 | %{_includedir}/%{name}.hpp 50 | %{_includedir}/%{name}/ 51 | %{_libdir}/lib%{name}.so 52 | %{_libdir}/pkgconfig/%{name}.pc 53 | 54 | %changelog 55 | %autochangelog 56 | -------------------------------------------------------------------------------- /hyprpolkitagent/hyprpolkitagent.spec: -------------------------------------------------------------------------------- 1 | Name: hyprpolkitagent 2 | Version: 0.1.3 3 | Release: %autorelease 4 | Summary: A simple polkit authentication agent for Hyprland 5 | License: BSD-3-Clause 6 | URL: https://github.com/hyprwm/hyprpolkitagent 7 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 8 | 9 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 10 | ExcludeArch: %{ix86} 11 | 12 | BuildRequires: cmake 13 | BuildRequires: desktop-file-utils 14 | BuildRequires: gcc-c++ 15 | BuildRequires: systemd-rpm-macros 16 | 17 | BuildRequires: cmake(Qt6Quick) 18 | BuildRequires: cmake(Qt6QuickControls2) 19 | BuildRequires: cmake(Qt6Widgets) 20 | BuildRequires: pkgconfig(hyprutils) 21 | BuildRequires: pkgconfig(polkit-agent-1) 22 | BuildRequires: pkgconfig(polkit-qt6-1) 23 | 24 | Requires: hyprland-qt-support%{?_isa} 25 | 26 | %description 27 | A simple polkit authentication agent for Hyprland, written in QT/QML. 28 | 29 | %prep 30 | %autosetup -p1 31 | 32 | %build 33 | %cmake 34 | %cmake_build 35 | 36 | %install 37 | %cmake_install 38 | 39 | %post 40 | %systemd_user_post %{name}.service 41 | 42 | %preun 43 | %systemd_user_preun %{name}.service 44 | 45 | %files 46 | %license LICENSE 47 | %doc README.md 48 | %{_datadir}/dbus-1/services/org.hyprland.%{name}.service 49 | %{_libexecdir}/%{name} 50 | %{_userunitdir}/%{name}.service 51 | 52 | %changelog 53 | %autochangelog 54 | -------------------------------------------------------------------------------- /hyprwire/hyprwire.spec: -------------------------------------------------------------------------------- 1 | Name: hyprwire 2 | Version: 0.1.1 3 | Release: %autorelease 4 | Summary: A fast and consistent wire protocol for IPC 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprwire 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | BuildRequires: ninja-build 16 | BuildRequires: pkgconfig(hyprutils) 17 | BuildRequires: pkgconfig(libffi) 18 | BuildRequires: pkgconfig(pugixml) 19 | 20 | %description 21 | %{summary}. 22 | 23 | %package devel 24 | Summary: Development files for %{name} 25 | Requires: %{name}%{?_isa} = %{version}-%{release} 26 | %description devel 27 | Development files for %{name}. 28 | 29 | %prep 30 | %autosetup -p1 31 | 32 | %build 33 | %cmake -GNinja \ 34 | -DCMAKE_BUILD_TYPE=Release \ 35 | -DBUILD_TESTING=OFF 36 | %cmake_build 37 | 38 | %install 39 | %cmake_install 40 | 41 | %files 42 | %license LICENSE 43 | %doc README.md 44 | %{_libdir}/lib%{name}.so.%{version} 45 | %{_libdir}/lib%{name}.so.1 46 | 47 | %files devel 48 | %{_bindir}/%{name}-scanner 49 | %{_includedir}/%{name}/ 50 | %{_libdir}/cmake/%{name}-scanner/ 51 | %{_libdir}/lib%{name}.so 52 | %{_libdir}/pkgconfig/%{name}.pc 53 | %{_libdir}/pkgconfig/%{name}-scanner.pc 54 | 55 | %changelog 56 | %autochangelog 57 | -------------------------------------------------------------------------------- /.github/workflows/repoclosure.yml: -------------------------------------------------------------------------------- 1 | name: Repoclosure 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '25 9 * * *' 7 | 8 | jobs: 9 | repoclosure: 10 | runs-on: ubuntu-latest 11 | strategy: 12 | fail-fast: false 13 | matrix: 14 | version: 15 | - rawhide 16 | - 43 17 | - 42 18 | - 41 19 | container: 20 | image: registry.fedoraproject.org/fedora:${{ matrix.version }} 21 | steps: 22 | - name: Prepare 23 | run: | 24 | cat << 'EOF' >> /etc/yum.repos.d/coprs.repo 25 | [copr:copr.fedorainfracloud.org:solopasha:hyprland] 26 | name=Copr repo for hyprland owned by solopasha 27 | baseurl=https://download.copr.fedorainfracloud.org/results/solopasha/hyprland/fedora-$releasever-$basearch/ 28 | type=rpm-md 29 | skip_if_unavailable=True 30 | gpgcheck=1 31 | gpgkey=https://download.copr.fedorainfracloud.org/results/solopasha/hyprland/pubkey.gpg 32 | repo_gpgcheck=0 33 | enabled=1 34 | enabled_metadata=1 35 | EOF 36 | 37 | - name: Repoclosure 38 | run: | 39 | dnf repoclosure \ 40 | --check copr:copr.fedorainfracloud.org:solopasha:hyprland \ 41 | --newest 42 | 43 | - name: Repoclosure (with --best) 44 | run: | 45 | dnf repoclosure \ 46 | --check copr:copr.fedorainfracloud.org:solopasha:hyprland \ 47 | --newest --best 48 | -------------------------------------------------------------------------------- /cliphist/cliphist.spec: -------------------------------------------------------------------------------- 1 | # Generated by go2rpm 1.10.0 2 | %bcond_without check 3 | 4 | # https://github.com/sentriz/cliphist 5 | %global goipath go.senan.xyz/cliphist 6 | %global forgeurl https://github.com/sentriz/cliphist 7 | Version: 0.7.0 8 | 9 | %gometa -L -f 10 | 11 | %global goname cliphist 12 | 13 | %global common_description %{expand: 14 | Wayland clipboard manager with support for multimedia.} 15 | 16 | %global golicenses LICENSE 17 | %global godocs CHANGELOG.md version.txt readme.md 18 | 19 | Name: cliphist 20 | Release: %autorelease 21 | Summary: Wayland clipboard manager with support for multimedia 22 | 23 | License: GPL-3.0-only 24 | URL: %{gourl} 25 | Source: %{gosource} 26 | Source: vendor-%{version}.tar.gz 27 | Source: bundle_go_deps_for_rpm.sh 28 | 29 | Requires: wl-clipboard 30 | Recommends: xdg-utils 31 | 32 | %description %{common_description} 33 | 34 | %prep 35 | %goprep -k 36 | %setup -q -T -D -a 1 37 | %autopatch -p1 38 | 39 | %build 40 | %gobuild -o %{gobuilddir}/bin/cliphist %{goipath} 41 | 42 | %install 43 | install -m 0755 -vd %{buildroot}%{_bindir} 44 | install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ 45 | 46 | %if %{with check} 47 | %check 48 | %gocheck 49 | %endif 50 | 51 | %files 52 | %license LICENSE 53 | %license vendor/modules.txt 54 | %doc CHANGELOG.md readme.md 55 | %{_bindir}/cliphist 56 | 57 | %changelog 58 | %autochangelog 59 | -------------------------------------------------------------------------------- /hyprsysteminfo/hyprsysteminfo.spec: -------------------------------------------------------------------------------- 1 | Name: hyprsysteminfo 2 | Version: 0.1.3 3 | Release: %autorelease -b14 4 | Summary: An application to display information about the running system 5 | License: BSD-3-Clause 6 | URL: https://github.com/hyprwm/hyprsysteminfo 7 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 8 | Patch: fix-build.diff 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: desktop-file-utils 15 | BuildRequires: gcc-c++ 16 | 17 | BuildRequires: cmake(Qt6Quick) 18 | BuildRequires: cmake(Qt6QuickControls2) 19 | BuildRequires: cmake(Qt6WaylandClient) 20 | BuildRequires: cmake(Qt6Widgets) 21 | BuildRequires: qt6-qtbase-private-devel 22 | BuildRequires: wayland-devel 23 | BuildRequires: pkgconfig(hyprutils) 24 | 25 | Requires: /usr/bin/lscpu 26 | Requires: /usr/bin/lspci 27 | Requires: /usr/bin/free 28 | Requires: hyprland-qt-support%{?_isa} 29 | 30 | %description 31 | A tiny qt6/qml application to display information about the running system, 32 | or copy diagnostics data, without the terminal. 33 | 34 | %prep 35 | %autosetup -p1 36 | 37 | %build 38 | %cmake 39 | %cmake_build 40 | 41 | %install 42 | %cmake_install 43 | 44 | %check 45 | desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop 46 | 47 | %files 48 | %license LICENSE 49 | %doc README.md 50 | %{_bindir}/%{name} 51 | %{_datadir}/applications/%{name}.desktop 52 | 53 | %changelog 54 | %autochangelog 55 | -------------------------------------------------------------------------------- /swaylock-effects/swaylock-effects.spec: -------------------------------------------------------------------------------- 1 | %global program_name swaylock 2 | 3 | Name: swaylock-effects 4 | Version: 1.7.0.0 5 | Release: %autorelease -b2 6 | Summary: Swaylock, with fancy effects 7 | 8 | License: MIT 9 | URL: https://github.com/jirutka/swaylock-effects 10 | Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 11 | 12 | BuildRequires: gcc 13 | BuildRequires: meson 14 | BuildRequires: pkgconfig(cairo) 15 | BuildRequires: pkgconfig(gdk-pixbuf-2.0) 16 | BuildRequires: pkgconfig(pam) 17 | BuildRequires: pkgconfig(wayland-client) 18 | BuildRequires: pkgconfig(wayland-protocols) 19 | BuildRequires: pkgconfig(wayland-scanner) 20 | BuildRequires: pkgconfig(xkbcommon) 21 | BuildRequires: scdoc 22 | 23 | Conflicts: %{program_name} 24 | Provides: %{program_name} 25 | Provides: %{program_name}%{?_isa} 26 | 27 | %description 28 | Swaylock-effects is a fork of swaylock which adds built-in screenshots and 29 | image manipulation effects like blurring. It's inspired by i3lock-color, 30 | although the feature sets aren't perfectly overlapping. 31 | 32 | %prep 33 | %autosetup -p1 34 | 35 | %build 36 | %meson 37 | %meson_build 38 | 39 | %install 40 | %meson_install 41 | 42 | %files 43 | %license LICENSE 44 | %doc README.md 45 | %config(noreplace) %{_sysconfdir}/pam.d/%{program_name} 46 | %{_bindir}/%{program_name} 47 | %{_mandir}/man1/%{program_name}.1* 48 | %{bash_completions_dir}/%{program_name} 49 | %{fish_completions_dir}/%{program_name}.fish 50 | %{zsh_completions_dir}/_%{program_name} 51 | 52 | %changelog 53 | %autochangelog 54 | -------------------------------------------------------------------------------- /astal/astal-io/astal-io.spec: -------------------------------------------------------------------------------- 1 | %global astal_commit 7f2292f0792ffc9b127d4788b3dd3f104b5374b2 2 | %global astal_shortcommit %(c=%{astal_commit}; echo ${c:0:7}) 3 | %global bumpver 6 4 | 5 | %global _vpath_srcdir lib/astal/io 6 | 7 | Name: astal-io 8 | Version: 0~%{bumpver}.git%{astal_shortcommit} 9 | Release: %autorelease 10 | Summary: Building blocks for creating custom desktop shells 11 | 12 | License: LGPL-2.1-only 13 | URL: https://github.com/Aylur/astal 14 | Source0: %{url}/archive/%{astal_commit}/%{name}-%{astal_shortcommit}.tar.gz 15 | 16 | BuildRequires: gcc 17 | BuildRequires: meson 18 | BuildRequires: python3 19 | BuildRequires: vala 20 | BuildRequires: valadoc 21 | BuildRequires: pkgconfig(gio-2.0) 22 | BuildRequires: pkgconfig(gio-unix-2.0) 23 | BuildRequires: pkgconfig(glib-2.0) 24 | BuildRequires: pkgconfig(gobject-2.0) 25 | 26 | %package devel 27 | Summary: Development files for %{name} 28 | Requires: %{name}%{?_isa} = %{version}-%{release} 29 | %description devel 30 | Development files for %{name}. 31 | 32 | %description 33 | %{summary}. 34 | 35 | %prep 36 | %autosetup -n astal-%{astal_commit} -p1 37 | 38 | %build 39 | %meson 40 | %meson_build 41 | 42 | %install 43 | %meson_install 44 | 45 | %files 46 | %license LICENSE 47 | %{_bindir}/astal 48 | %{_libdir}/girepository-1.0/AstalIO-0.1.typelib 49 | %{_libdir}/libastal-io.so.0{,.*} 50 | 51 | %files devel 52 | %{_datadir}/gir-1.0/AstalIO-0.1.gir 53 | %{_datadir}/vala/vapi/astal-io-0.1.vapi 54 | %{_includedir}/astal-io.h 55 | %{_libdir}/libastal-io.so 56 | %{_libdir}/pkgconfig/astal-io-0.1.pc 57 | 58 | %changelog 59 | %autochangelog 60 | -------------------------------------------------------------------------------- /eww-git/eww-git.spec: -------------------------------------------------------------------------------- 1 | %global commit0 fddb4a09b107237819e661151e007b99b5cab36d 2 | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) 3 | %global bumpver 37 4 | 5 | Name: eww-git 6 | Version: 0.6.0%{?bumpver:^%{bumpver}.git%{shortcommit0}} 7 | Release: %autorelease 8 | Summary: ElKowars wacky widgets 9 | 10 | License: MIT 11 | URL: https://github.com/elkowar/eww 12 | Source: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz 13 | 14 | BuildRequires: cargo-rpm-macros 15 | BuildRequires: gcc 16 | BuildRequires: git-core 17 | BuildRequires: pkgconfig(dbusmenu-glib-0.4) 18 | BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) 19 | BuildRequires: pkgconfig(glib-2.0) 20 | BuildRequires: pkgconfig(gobject-2.0) 21 | BuildRequires: pkgconfig(gtk-layer-shell-0) 22 | 23 | Obsoletes: eww-wayland-git < 0.5.0^5.gitf1ec00a-2 24 | Provides: eww-wayland-git = %{version}-%{release} 25 | 26 | Provides: eww 27 | Provides: eww-wayland 28 | 29 | %description 30 | Elkowars Wacky Widgets is a standalone widget system made in Rust that 31 | allows you to implement your own, custom widgets in any window manager. 32 | 33 | %prep 34 | %autosetup -n eww-%{commit0} 35 | cargo vendor 36 | %cargo_prep -v vendor 37 | 38 | %build 39 | %cargo_build 40 | %{cargo_license_summary} 41 | %{cargo_license} > LICENSE.dependencies 42 | %{cargo_vendor_manifest} 43 | 44 | %install 45 | install -Dm755 target/release/eww -t %{buildroot}%{_bindir} 46 | 47 | %files 48 | %license LICENSE 49 | %license LICENSE.dependencies 50 | %license cargo-vendor.txt 51 | %doc examples/ README.md 52 | %{_bindir}/eww 53 | 54 | %changelog 55 | %autochangelog 56 | -------------------------------------------------------------------------------- /.copr/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: prepare goprep srpm aylurs-gtk-shell2.spec 2 | specfile = $(notdir $(spec)) 3 | 4 | prepare: 5 | dnf install --nodocs -y rpm-build rpmdevtools 6 | 7 | goprep: 8 | # dnf install --nodocs -y --repofrompath 'golang-rawhide,https://download.copr.fedorainfracloud.org/results/@go-sig/golang-rawhide/fedora-$$releasever-$$basearch/' \ 9 | # --setopt='golang-rawhide.gpgcheck=1' \ 10 | # --setopt='golang-rawhide.gpgkey=https://download.copr.fedorainfracloud.org/results/@go-sig/golang-rawhide/pubkey.gpg' golang git-core 11 | dnf install --nodocs -y golang git-core 12 | go env -w GOPROXY=https://proxy.golang.org,direct 13 | go env -w GOSUMDB=sum.golang.org 14 | bash bundle_go_deps_for_rpm.sh $(specfile) 15 | 16 | hyprland-plugins-git.spec: 17 | sed -e '/%global build_for/s/release/git/' hyprland-plugins.spec > $(specfile) 18 | 19 | hyprland%spec: 20 | sed -e "/Name:/s/hyprland-git/$(basename $(specfile))/" hyprland-git.spec > $(specfile) 21 | ifneq ($(findstring git,$(specfile)),git) 22 | sed 's/%global bumpver/#%&/' -i $(specfile) 23 | endif 24 | 25 | kitty.spec: goprep 26 | 27 | cliphist.spec: goprep 28 | 29 | nwg-look.spec: goprep 30 | 31 | aylurs-gtk-shell2.spec: 32 | dnf install --nodocs -y golang git-core go-vendor-tools python3-specfile 33 | spectool -g ./$(specfile) 34 | go_vendor_archive create --config ./go-vendor-tools.toml ./aylurs-gtk-shell2.spec 35 | 36 | srpm: prepare $(specfile) 37 | spectool -g ./$(specfile) 38 | rpmbuild -bs --define "_sourcedir ${PWD}" --define "_specdir ${PWD}" \ 39 | --define "_builddir ${PWD}" --define "_srcrpmdir $(outdir)" --define \ 40 | "_rpmdir ${PWD}" --define "_buildrootdir ${PWD}/.build" $(specfile) 41 | -------------------------------------------------------------------------------- /aquamarine/aquamarine.spec: -------------------------------------------------------------------------------- 1 | Name: aquamarine 2 | Version: 0.9.5 3 | Release: %autorelease -b2 4 | Summary: A very light linux rendering backend library 5 | License: BSD-3-Clause 6 | URL: https://github.com/hyprwm/aquamarine 7 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 8 | 9 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 10 | ExcludeArch: %{ix86} 11 | 12 | BuildRequires: cmake 13 | BuildRequires: gcc-c++ 14 | BuildRequires: mesa-libEGL-devel 15 | 16 | BuildRequires: pkgconfig(gbm) 17 | BuildRequires: pkgconfig(hwdata) 18 | BuildRequires: pkgconfig(hyprutils) 19 | BuildRequires: pkgconfig(hyprwayland-scanner) 20 | BuildRequires: pkgconfig(libdisplay-info) 21 | BuildRequires: pkgconfig(libdrm) 22 | BuildRequires: pkgconfig(libinput) 23 | BuildRequires: pkgconfig(libseat) 24 | BuildRequires: pkgconfig(libudev) 25 | BuildRequires: pkgconfig(pixman-1) 26 | BuildRequires: pkgconfig(wayland-client) 27 | BuildRequires: pkgconfig(wayland-protocols) 28 | 29 | %description 30 | %{summary}. 31 | 32 | %package devel 33 | Summary: Development files for %{name} 34 | Requires: %{name}%{?_isa} = %{version}-%{release} 35 | %description devel 36 | Development files for %{name}. 37 | 38 | %prep 39 | %autosetup -p1 40 | 41 | %build 42 | %cmake -DCMAKE_BUILD_TYPE=Release 43 | %cmake_build 44 | 45 | %install 46 | %cmake_install 47 | 48 | %files 49 | %license LICENSE 50 | %doc README.md 51 | %{_libdir}/lib%{name}.so.%{version} 52 | %{_libdir}/lib%{name}.so.8 53 | 54 | %files devel 55 | %{_includedir}/%{name}/ 56 | %{_libdir}/lib%{name}.so 57 | %{_libdir}/pkgconfig/%{name}.pc 58 | 59 | %changelog 60 | %autochangelog 61 | -------------------------------------------------------------------------------- /hyprpaper/hyprpaper.spec: -------------------------------------------------------------------------------- 1 | Name: hyprpaper 2 | Version: 0.7.6 3 | Release: %autorelease 4 | Summary: Blazing fast wayland wallpaper utility with IPC controls 5 | # LICENSE: BSD-3-Clause 6 | # protocols/wlr-layer-shell-unstable-v1.xml: HPND-sell-variant 7 | License: BSD-3-Clause AND HPND-sell-variant 8 | URL: https://github.com/hyprwm/hyprpaper 9 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 10 | 11 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 12 | ExcludeArch: %{ix86} 13 | 14 | BuildRequires: cmake 15 | BuildRequires: gcc-c++ 16 | BuildRequires: systemd-rpm-macros 17 | 18 | BuildRequires: pkgconfig(cairo) 19 | BuildRequires: pkgconfig(glesv2) 20 | BuildRequires: pkgconfig(hyprgraphics) 21 | BuildRequires: pkgconfig(hyprlang) 22 | BuildRequires: pkgconfig(hyprutils) 23 | BuildRequires: pkgconfig(hyprwayland-scanner) 24 | BuildRequires: pkgconfig(libmagic) 25 | BuildRequires: pkgconfig(pango) 26 | BuildRequires: pkgconfig(pangocairo) 27 | BuildRequires: pkgconfig(wayland-client) 28 | BuildRequires: pkgconfig(wayland-protocols) 29 | 30 | %description 31 | Hyprpaper is a blazing fast wallpaper utility for Hyprland with the ability 32 | to dynamically change wallpapers through sockets. It will work on all 33 | wlroots-based compositors, though. 34 | 35 | %prep 36 | %autosetup -p1 37 | 38 | %build 39 | %cmake 40 | %cmake_build 41 | 42 | %install 43 | %cmake_install 44 | 45 | %post 46 | %systemd_user_post %{name}.service 47 | 48 | %preun 49 | %systemd_user_preun %{name}.service 50 | 51 | %files 52 | %license LICENSE 53 | %doc README.md 54 | %{_bindir}/%{name} 55 | %{_userunitdir}/%{name}.service 56 | 57 | %changelog 58 | %autochangelog 59 | -------------------------------------------------------------------------------- /astal/astal-gtk4/astal-gtk4.spec: -------------------------------------------------------------------------------- 1 | %global astal_commit 7f2292f0792ffc9b127d4788b3dd3f104b5374b2 2 | %global astal_shortcommit %(c=%{astal_commit}; echo ${c:0:7}) 3 | %global bumpver 7 4 | 5 | %bcond bootstrap 0 6 | 7 | %global _vpath_srcdir lib/astal/gtk4 8 | 9 | Name: astal-gtk4 10 | Version: 0~%{bumpver}.git%{astal_shortcommit} 11 | Release: %autorelease 12 | Summary: Building blocks for creating custom desktop shells 13 | 14 | License: LGPL-2.1-only 15 | URL: https://github.com/Aylur/astal 16 | Source0: %{url}/archive/%{astal_commit}/%{name}-%{astal_shortcommit}.tar.gz 17 | 18 | BuildRequires: gcc 19 | BuildRequires: meson 20 | BuildRequires: python3 21 | BuildRequires: vala 22 | BuildRequires: valadoc 23 | BuildRequires: pkgconfig(astal-io-0.1) 24 | BuildRequires: pkgconfig(glib-2.0) 25 | BuildRequires: pkgconfig(gtk4) 26 | BuildRequires: pkgconfig(gtk4-layer-shell-0) 27 | 28 | %if %{without bootstrap} 29 | Requires: astal-libs%{?_isa} 30 | %endif 31 | 32 | %package devel 33 | Summary: Development files for %{name} 34 | Requires: %{name}%{?_isa} = %{version}-%{release} 35 | %description devel 36 | Development files for %{name}. 37 | 38 | %description 39 | %{summary}. 40 | 41 | %prep 42 | %autosetup -n astal-%{astal_commit} -p1 43 | 44 | %build 45 | %meson 46 | %meson_build 47 | 48 | %install 49 | %meson_install 50 | 51 | %files 52 | %license LICENSE 53 | %{_libdir}/girepository-1.0/Astal-4.0.typelib 54 | %{_libdir}/libastal-4.so.4{,.*} 55 | 56 | %files devel 57 | %{_datadir}/gir-1.0/Astal-4.0.gir 58 | %{_datadir}/vala/vapi/astal-4-4.0.vapi 59 | %{_includedir}/astal-4.h 60 | %{_libdir}/libastal-4.so 61 | %{_libdir}/pkgconfig/astal-4-4.0.pc 62 | 63 | %changelog 64 | %autochangelog 65 | -------------------------------------------------------------------------------- /hyprgraphics/hyprgraphics.spec: -------------------------------------------------------------------------------- 1 | Name: hyprgraphics 2 | Version: 0.2.0 3 | Release: %autorelease -b11 4 | Summary: Hyprland graphics / resource utilities 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprgraphics 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: gcc-c++ 15 | 16 | BuildRequires: pkgconfig(cairo) 17 | BuildRequires: pkgconfig(hyprutils) 18 | BuildRequires: pkgconfig(libjpeg) 19 | %if 0%{?fedora} >= 41 20 | BuildRequires: pkgconfig(libjxl_cms) 21 | BuildRequires: pkgconfig(libjxl_threads) 22 | BuildRequires: pkgconfig(libjxl) 23 | %endif 24 | BuildRequires: pkgconfig(libmagic) 25 | BuildRequires: pkgconfig(libwebp) 26 | BuildRequires: pkgconfig(pixman-1) 27 | BuildRequires: pkgconfig(libpng) 28 | BuildRequires: pkgconfig(pangocairo) 29 | BuildRequires: pkgconfig(libheif) 30 | BuildRequires: pkgconfig(librsvg-2.0) 31 | 32 | %description 33 | %{summary}. 34 | 35 | %package devel 36 | Summary: Development files for %{name} 37 | Requires: %{name}%{?_isa} = %{version}-%{release} 38 | %description devel 39 | Development files for %{name}. 40 | 41 | %prep 42 | %autosetup -p1 43 | 44 | %build 45 | %cmake -DCMAKE_BUILD_TYPE=Release 46 | %cmake_build 47 | 48 | %install 49 | %cmake_install 50 | 51 | %check 52 | %ifnarch ppc64le 53 | %ctest 54 | %endif 55 | 56 | %files 57 | %license LICENSE 58 | %doc README.md 59 | %{_libdir}/lib%{name}.so.1 60 | %{_libdir}/lib%{name}.so.%{version} 61 | 62 | %files devel 63 | %{_includedir}/%{name}/ 64 | %{_libdir}/lib%{name}.so 65 | %{_libdir}/pkgconfig/%{name}.pc 66 | 67 | %changelog 68 | %autochangelog 69 | -------------------------------------------------------------------------------- /hypridle/hypridle.spec: -------------------------------------------------------------------------------- 1 | %global sdbus_version 2.1.0 2 | 3 | Name: hypridle 4 | Version: 0.1.7 5 | Release: %autorelease -b3 6 | Summary: Hyprland's idle daemon 7 | License: BSD-3-Clause 8 | URL: https://github.com/hyprwm/hypridle 9 | Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 10 | Source1: https://github.com/Kistler-Group/sdbus-cpp/archive/v%{sdbus_version}/sdbus-%{sdbus_version}.tar.gz 11 | 12 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 13 | ExcludeArch: %{ix86} 14 | 15 | BuildRequires: cmake 16 | BuildRequires: gcc-c++ 17 | BuildRequires: systemd-rpm-macros 18 | 19 | BuildRequires: cmake(hyprwayland-scanner) 20 | BuildRequires: pkgconfig(hyprland-protocols) 21 | BuildRequires: pkgconfig(hyprlang) 22 | BuildRequires: pkgconfig(hyprutils) 23 | BuildRequires: pkgconfig(libsystemd) 24 | BuildRequires: pkgconfig(systemd) 25 | BuildRequires: pkgconfig(wayland-client) 26 | BuildRequires: pkgconfig(wayland-protocols) 27 | 28 | %description 29 | %{summary}. 30 | 31 | %prep 32 | %autosetup -p1 -a1 33 | 34 | %build 35 | pushd sdbus-cpp-%{sdbus_version} 36 | %cmake \ 37 | -DCMAKE_INSTALL_PREFIX=%{_builddir}/sdbus \ 38 | -DCMAKE_BUILD_TYPE=Release \ 39 | -DBUILD_SHARED_LIBS=OFF 40 | %cmake_build 41 | cmake --install %{__cmake_builddir} 42 | popd 43 | export PKG_CONFIG_PATH=%{_builddir}/sdbus/lib64/pkgconfig 44 | 45 | %cmake 46 | %cmake_build 47 | 48 | %install 49 | %cmake_install 50 | rm %{buildroot}%{_datadir}/hypr/hypridle.conf 51 | 52 | %files 53 | %license LICENSE 54 | %doc README.md assets/example.conf 55 | %{_bindir}/%{name} 56 | %{_userunitdir}/%{name}.service 57 | 58 | %post 59 | %systemd_user_post %{name}.service 60 | 61 | %preun 62 | %systemd_user_preun %{name}.service 63 | 64 | %postun 65 | %systemd_user_postun %{name}.service 66 | 67 | %changelog 68 | %autochangelog 69 | -------------------------------------------------------------------------------- /astal/appmenu-glib-translator/appmenu-glib-translator.spec: -------------------------------------------------------------------------------- 1 | %global commit0 f05d28d805a22a7564895aa178772361c44b6b7a 2 | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) 3 | 4 | %global _vpath_srcdir subprojects/appmenu-glib-translator 5 | 6 | Name: appmenu-glib-translator 7 | Version: 25.04^1.git%{shortcommit0} 8 | Release: %autorelease 9 | Summary: appmenu-glib-translator 10 | 11 | License: LGPL-3.0-or-later 12 | URL: https://github.com/rilian-la-te/vala-panel-appmenu/blob/master/subprojects/appmenu-glib-translator 13 | Source: https://github.com/rilian-la-te/vala-panel-appmenu/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz 14 | 15 | BuildRequires: meson 16 | BuildRequires: gcc 17 | BuildRequires: /usr/bin/vapigen 18 | 19 | BuildRequires: pkgconfig(gdk-pixbuf-2.0) 20 | BuildRequires: pkgconfig(gio-unix-2.0) 21 | BuildRequires: pkgconfig(gobject-introspection-1.0) 22 | 23 | %package devel 24 | Summary: Development files for %{name} 25 | Requires: %{name}%{?_isa} = %{version}-%{release} 26 | %description devel 27 | Development files for %{name}. 28 | 29 | %description 30 | %{summary}. 31 | 32 | %prep 33 | %autosetup -n vala-panel-appmenu-%{commit0} -p1 34 | 35 | %build 36 | %meson 37 | %meson_build 38 | 39 | %install 40 | %meson_install 41 | 42 | %files 43 | %license LICENSE 44 | %{_libdir}/girepository-1.0/AppmenuGLibTranslator-25.04.typelib 45 | %{_libdir}/libappmenu-glib-translator.so.0 46 | %{_libdir}/libappmenu-glib-translator.so.25.04 47 | 48 | %files devel 49 | %{_datadir}/gir-1.0/AppmenuGLibTranslator-25.04.gir 50 | %{_datadir}/vala/vapi/appmenu-glib-translator.deps 51 | %{_datadir}/vala/vapi/appmenu-glib-translator.vapi 52 | %{_includedir}/appmenu-glib-translator/ 53 | %{_libdir}/libappmenu-glib-translator.so 54 | %{_libdir}/pkgconfig/appmenu-glib-translator.pc 55 | 56 | %changelog 57 | %autochangelog 58 | -------------------------------------------------------------------------------- /material-icons-fonts/material-icons-fonts.spec: -------------------------------------------------------------------------------- 1 | %global commit0 b2c0f61d8a99224bd99924f3d0471d9f146c9a54 2 | %global shortcommit0 %{sub %{commit0} 1 7} 3 | %global bumpver 1 4 | 5 | Version: 4.0.0%{?bumpver:^%{bumpver}.git%{shortcommit0}} 6 | Release: %autorelease 7 | URL: https://google.github.io/material-design-icons/ 8 | 9 | %global fontlicense Apache-2.0 10 | %global fontlicenses LICENSE 11 | %global fontdocs README.md 12 | %global fontfamily Material Icons 13 | %global fontsummary Google material design system icons 14 | %global fonts font/*.otf font/*.ttf variablefont/*.ttf 15 | %global fontorg com.google 16 | %global fontconfs %{SOURCE1} 17 | 18 | %global fontdescription %{expand: 19 | Material design icons is the official icon set from Google. The icons 20 | are designed under the material design guidelines.} 21 | 22 | Source1: 65-%{fontpkgname}.conf 23 | 24 | BuildRequires: git-core 25 | 26 | %fontpkg 27 | 28 | %prep 29 | %setup -c 30 | git clone --single-branch --branch=master --filter=blob:none --sparse --depth=1 https://github.com/google/material-design-icons.git . 31 | git sparse-checkout init --cone 32 | git sparse-checkout set font variablefont 33 | git checkout %{commit0} 34 | 35 | %build 36 | %fontbuild 37 | 38 | %install 39 | %fontinstall 40 | metainfo=%{buildroot}%{_metainfodir}/%{fontorg}.%{name}.metainfo.xml 41 | 42 | # The Fedora font macros generate invalid metainfo; see bz 1943727. 43 | sed -e 's,updatecontact,update_contact,g' \ 44 | -e 's,,\1,' \ 45 | -e 's,,Material Icons Outlined Regular\n Material Icons Round Regular\n Material Icons Sharp Regular\n Material Icons Two Tone Regular,' \ 46 | -i $metainfo 47 | 48 | %check 49 | %fontcheck 50 | 51 | %fontfiles 52 | 53 | %changelog 54 | %autochangelog 55 | -------------------------------------------------------------------------------- /hyprtoolkit/hyprtoolkit.spec: -------------------------------------------------------------------------------- 1 | Name: hyprtoolkit 2 | Version: 0.2.0 3 | Release: %autorelease 4 | Summary: A modern C++ Wayland-native GUI toolkit 5 | 6 | License: BSD-3-Clause 7 | URL: https://github.com/hyprwm/hyprtoolkit 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | 10 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 11 | ExcludeArch: %{ix86} 12 | 13 | BuildRequires: cmake 14 | BuildRequires: cmake(hyprwayland-scanner) 15 | BuildRequires: gcc-c++ 16 | BuildRequires: mesa-libEGL-devel 17 | BuildRequires: ninja-build 18 | BuildRequires: pkgconfig(aquamarine) 19 | BuildRequires: pkgconfig(egl) 20 | BuildRequires: pkgconfig(gbm) 21 | BuildRequires: pkgconfig(hyprgraphics) 22 | BuildRequires: pkgconfig(hyprlang) 23 | BuildRequires: pkgconfig(hyprutils) 24 | BuildRequires: pkgconfig(hyprutils) 25 | BuildRequires: pkgconfig(iniparser) 26 | BuildRequires: pkgconfig(libdrm) 27 | BuildRequires: pkgconfig(pango) 28 | BuildRequires: pkgconfig(pixman-1) 29 | BuildRequires: pkgconfig(wayland-client) 30 | BuildRequires: pkgconfig(wayland-protocols) 31 | BuildRequires: pkgconfig(xkbcommon) 32 | 33 | %description 34 | %{summary}. 35 | 36 | %package devel 37 | Summary: Development files for %{name} 38 | Requires: %{name}%{?_isa} = %{version}-%{release} 39 | Requires: pkgconfig(aquamarine) 40 | Requires: pkgconfig(cairo) 41 | Requires: pkgconfig(hyprgraphics) 42 | %description devel 43 | Development files for %{name}. 44 | 45 | %prep 46 | %autosetup -p1 47 | 48 | %build 49 | %cmake -GNinja \ 50 | -DCMAKE_BUILD_TYPE=Release \ 51 | -DBUILD_TESTING=OFF 52 | %cmake_build 53 | 54 | %install 55 | %cmake_install 56 | 57 | %files 58 | %license LICENSE 59 | %doc README.md 60 | %{_libdir}/lib%{name}.so.%{version} 61 | %{_libdir}/lib%{name}.so.2 62 | 63 | %files devel 64 | %{_includedir}/%{name}/ 65 | %{_libdir}/lib%{name}.so 66 | %{_libdir}/pkgconfig/%{name}.pc 67 | 68 | %changelog 69 | %autochangelog 70 | -------------------------------------------------------------------------------- /astal/astal/astal.spec: -------------------------------------------------------------------------------- 1 | %global astal_commit 7f2292f0792ffc9b127d4788b3dd3f104b5374b2 2 | %global astal_shortcommit %(c=%{astal_commit}; echo ${c:0:7}) 3 | %global bumpver 10 4 | 5 | %global _vpath_srcdir lib/astal/gtk3 6 | 7 | %bcond bootstrap 0 8 | 9 | Name: astal 10 | Version: 0~%{bumpver}.git%{astal_shortcommit} 11 | Release: %autorelease 12 | Summary: Building blocks for creating custom desktop shells 13 | 14 | License: LGPL-2.1-only 15 | URL: https://github.com/Aylur/astal 16 | Source0: %{url}/archive/%{astal_commit}/%{name}-%{astal_shortcommit}.tar.gz 17 | 18 | BuildRequires: gcc 19 | BuildRequires: meson 20 | BuildRequires: python3 21 | BuildRequires: vala 22 | BuildRequires: valadoc 23 | BuildRequires: pkgconfig(astal-io-0.1) 24 | BuildRequires: pkgconfig(gdk-pixbuf-2.0) 25 | BuildRequires: pkgconfig(gio-2.0) 26 | BuildRequires: pkgconfig(gio-unix-2.0) 27 | BuildRequires: pkgconfig(glib-2.0) 28 | BuildRequires: pkgconfig(gobject-2.0) 29 | BuildRequires: pkgconfig(gtk-layer-shell-0) 30 | BuildRequires: pkgconfig(gtk+-3.0) 31 | BuildRequires: pkgconfig(wayland-client) 32 | BuildRequires: pkgconfig(wayland-protocols) 33 | BuildRequires: pkgconfig(wayland-scanner) 34 | 35 | %if %{without bootstrap} 36 | Requires: astal-libs%{?_isa} 37 | %endif 38 | 39 | %package devel 40 | Summary: Development files for %{name} 41 | Requires: %{name}%{?_isa} = %{version}-%{release} 42 | %description devel 43 | Development files for %{name}. 44 | 45 | %description 46 | %{summary}. 47 | 48 | %prep 49 | %autosetup -n %{name}-%{astal_commit} -p1 50 | 51 | %build 52 | %meson 53 | %meson_build 54 | 55 | %install 56 | %meson_install 57 | 58 | %files 59 | %license LICENSE 60 | %{_libdir}/girepository-1.0/Astal-3.0.typelib 61 | %{_libdir}/libastal.so.3{,.*} 62 | 63 | %files devel 64 | %{_datadir}/gir-1.0/Astal-3.0.gir 65 | %{_datadir}/vala/vapi/astal-3.0.vapi 66 | %{_includedir}/astal.h 67 | %{_libdir}/libastal.so 68 | %{_libdir}/pkgconfig/astal-3.0.pc 69 | 70 | %changelog 71 | %autochangelog 72 | -------------------------------------------------------------------------------- /astal/hyprpanel/hyprpanel.spec: -------------------------------------------------------------------------------- 1 | %global commit0 20532ee760fdf492afcf987ae091497a37878197 2 | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) 3 | %global bumpver 9 4 | 5 | %global debug_package %{nil} 6 | 7 | Name: hyprpanel 8 | Version: 0~%{bumpver}.git%{shortcommit0} 9 | Release: %autorelease 10 | Summary: A panel built for Hyprland with Astal 11 | 12 | License: MIT 13 | URL: https://github.com/Jas-SinghFSU/HyprPanel 14 | Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz 15 | 16 | BuildRequires: /usr/bin/sass 17 | BuildRequires: aylurs-gtk-shell2 18 | BuildRequires: meson 19 | 20 | Requires: /usr/bin/bluetoothctl 21 | Requires: /usr/bin/sass 22 | Requires: /usr/bin/wireplumber 23 | Requires: /usr/bin/wl-copy 24 | Requires: /usr/bin/wl-paste 25 | Requires: aylurs-gtk-shell2 26 | Requires: bluez 27 | Requires: gnome-bluetooth 28 | Requires: gtksourceview3 29 | Requires: gvfs 30 | Requires: libgtop2 31 | Requires: libsoup3 32 | Requires: NetworkManager 33 | Requires: upower 34 | 35 | Recommends: ppd-service 36 | %if 0%{?fedora} && 0%{?fedora} < 41 37 | Suggests: power-profiles-daemon 38 | %else 39 | Suggests: tuned-ppd 40 | %endif 41 | Recommends: brightnessctl 42 | Recommends: btop 43 | Recommends: grimblast 44 | Recommends: hypridle 45 | Recommends: hyprpicker 46 | Recommends: hyprsunset 47 | Recommends: jq 48 | Recommends: matugen 49 | Recommends: swww 50 | Recommends: wf-recorder 51 | 52 | Provides: HyprPanel 53 | 54 | %description 55 | %{summary}. 56 | 57 | %prep 58 | %autosetup -n HyprPanel-%{commit0} -p1 59 | 60 | %build 61 | %meson 62 | %meson_build 63 | 64 | %install 65 | %meson_install 66 | mkdir -p %{buildroot}%{_fontbasedir} 67 | mv %{buildroot}%{_datadir}/%{name}/assets/fonts %{buildroot}%{_fontbasedir}/nf-hyprpanel 68 | 69 | %files 70 | %doc README.md 71 | %license LICENSE 72 | %{_bindir}/%{name} 73 | %{_datadir}/%{name}/ 74 | %{_fontbasedir}/nf-hyprpanel/ 75 | 76 | %changelog 77 | %autochangelog 78 | -------------------------------------------------------------------------------- /hyprnome/hyprnome.spec: -------------------------------------------------------------------------------- 1 | # Generated by rust2rpm 25 2 | %bcond_with check 3 | 4 | %global crate hyprnome 5 | 6 | Name: hyprnome 7 | Version: 0.3.1 8 | Release: %autorelease -b2 9 | Summary: GNOME-like workspace switching in Hyprland 10 | # 0BSD OR MIT OR Apache-2.0 11 | # Apache-2.0 OR BSL-1.0 12 | # Apache-2.0 OR MIT 13 | # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT 14 | # GPL-3.0-or-later 15 | # MIT 16 | # MIT OR Apache-2.0 17 | # MIT OR Zlib OR Apache-2.0 18 | # Unlicense OR MIT 19 | License: GPL-3.0-or-later AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND MIT AND (MIT OR Zlib OR Apache-2.0) AND (Unlicense OR MIT) 20 | # LICENSE.dependencies contains a full license breakdown 21 | 22 | URL: https://github.com/donovanglover/hyprnome 23 | Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 24 | 25 | BuildRequires: cargo-rpm-macros >= 24 26 | BuildRequires: gcc-c++ 27 | 28 | %global _description %{expand: 29 | GNOME-like workspace switching in Hyprland.} 30 | 31 | %description %{_description} 32 | 33 | %prep 34 | %autosetup -p1 35 | cargo vendor 36 | %cargo_prep -v vendor 37 | 38 | %build 39 | %cargo_build 40 | %{cargo_license_summary} 41 | %{cargo_license} > LICENSE.dependencies 42 | %{cargo_vendor_manifest} 43 | 44 | %install 45 | install -Dpm755 target/release/%{name} %{buildroot}%{_bindir}/%{name} 46 | install -Dpm644 target/completions/_%{name} %{buildroot}%{zsh_completions_dir}/_%{name} 47 | install -Dpm644 target/completions/%{name}.bash %{buildroot}%{bash_completions_dir}/%{name} 48 | install -Dpm644 target/completions/%{name}.fish %{buildroot}%{fish_completions_dir}/%{name}.fish 49 | install -Dpm644 target/man/%{name}.1 -t %{buildroot}%{_mandir}/man1 50 | 51 | %if %{with check} 52 | %check 53 | %cargo_test 54 | %endif 55 | 56 | %files 57 | %license LICENSE 58 | %license LICENSE.dependencies 59 | %license cargo-vendor.txt 60 | %doc CHANGELOG.md 61 | %doc README.md 62 | %{_bindir}/%{name} 63 | %{_mandir}/man1/%{name}.1.* 64 | %{bash_completions_dir}/%{name} 65 | %{fish_completions_dir}/%{name}.fish 66 | %{zsh_completions_dir}/_%{name} 67 | 68 | %changelog 69 | %autochangelog 70 | -------------------------------------------------------------------------------- /hyprlock/hyprlock.spec: -------------------------------------------------------------------------------- 1 | %global sdbus_version 2.1.0 2 | 3 | Name: hyprlock 4 | Version: 0.9.2 5 | Release: %autorelease -b3 6 | Summary: Hyprland's GPU-accelerated screen locking utility 7 | License: BSD-3-Clause 8 | URL: https://github.com/hyprwm/hyprlock 9 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 10 | Source: https://github.com/Kistler-Group/sdbus-cpp/archive/v%{sdbus_version}/sdbus-%{sdbus_version}.tar.gz 11 | 12 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 13 | ExcludeArch: %{ix86} 14 | 15 | BuildRequires: cmake 16 | BuildRequires: gcc-c++ 17 | 18 | BuildRequires: cmake(hyprwayland-scanner) 19 | BuildRequires: pkgconfig(cairo) 20 | BuildRequires: pkgconfig(egl) 21 | BuildRequires: pkgconfig(gbm) 22 | BuildRequires: pkgconfig(hyprgraphics) 23 | BuildRequires: pkgconfig(hyprlang) 24 | BuildRequires: pkgconfig(hyprutils) 25 | BuildRequires: pkgconfig(libdrm) 26 | BuildRequires: pkgconfig(libsystemd) 27 | BuildRequires: pkgconfig(opengl) 28 | BuildRequires: pkgconfig(pam) 29 | BuildRequires: pkgconfig(pangocairo) 30 | BuildRequires: pkgconfig(systemd) 31 | BuildRequires: pkgconfig(wayland-client) 32 | BuildRequires: pkgconfig(wayland-egl) 33 | BuildRequires: pkgconfig(wayland-protocols) 34 | BuildRequires: pkgconfig(xkbcommon) 35 | 36 | Provides: bundled(sdbus-cpp) = %{sdbus_version} 37 | 38 | %description 39 | %{summary}. 40 | 41 | %prep 42 | %autosetup -p1 43 | mkdir -p subprojects/sdbus-cpp 44 | tar -xf %{SOURCE1} -C subprojects/sdbus-cpp --strip=1 45 | 46 | %build 47 | pushd subprojects/sdbus-cpp 48 | %cmake \ 49 | -DCMAKE_INSTALL_PREFIX=%{_builddir}/sdbus \ 50 | -DCMAKE_BUILD_TYPE=Release \ 51 | -DSDBUSCPP_BUILD_DOCS=OFF \ 52 | -DBUILD_SHARED_LIBS=OFF 53 | %cmake_build 54 | cmake --install %{_vpath_builddir} 55 | popd 56 | export PKG_CONFIG_PATH=%{_builddir}/sdbus/%{_lib}/pkgconfig 57 | 58 | %cmake -DCMAKE_BUILD_TYPE=Release 59 | %cmake_build 60 | 61 | %install 62 | %cmake_install 63 | rm %{buildroot}%{_datadir}/hypr/%{name}.conf 64 | 65 | %files 66 | %license LICENSE 67 | %doc README.md assets/example.conf 68 | %{_bindir}/%{name} 69 | %config(noreplace) %{_sysconfdir}/pam.d/%{name} 70 | 71 | %changelog 72 | %autochangelog 73 | -------------------------------------------------------------------------------- /hyprdim/hyprdim.spec: -------------------------------------------------------------------------------- 1 | # Generated by rust2rpm 25 2 | %bcond_with check 3 | 4 | %global crate hyprdim 5 | 6 | Name: hyprdim 7 | Version: 3.0.1 8 | Release: %autorelease -b2 9 | Summary: Automatically dim windows in Hyprland when switching between them 10 | # 0BSD OR MIT OR Apache-2.0 11 | # Apache-2.0 OR BSL-1.0 12 | # Apache-2.0 OR MIT 13 | # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT 14 | # BSD-2-Clause OR Apache-2.0 OR MIT 15 | # GPL-3.0-or-later 16 | # MIT 17 | # MIT OR Apache-2.0 18 | # MIT OR Zlib OR Apache-2.0 19 | # Unlicense OR MIT 20 | License: GPL-3.0-or-later AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND MIT AND (MIT OR Zlib OR Apache-2.0) AND (Unlicense OR MIT) 21 | # LICENSE.dependencies contains a full license breakdown 22 | 23 | URL: https://github.com/donovanglover/hyprdim 24 | Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz 25 | 26 | BuildRequires: cargo-rpm-macros >= 24 27 | 28 | %global _description %{expand: 29 | Automatically dim windows in Hyprland when switching between them.} 30 | 31 | %description %{_description} 32 | 33 | %prep 34 | %autosetup -p1 35 | cargo vendor 36 | %cargo_prep -v vendor 37 | 38 | %build 39 | %cargo_build 40 | %{cargo_license_summary} 41 | %{cargo_license} > LICENSE.dependencies 42 | %{cargo_vendor_manifest} 43 | 44 | %install 45 | install -Dpm755 target/release/%{name} %{buildroot}%{_bindir}/%{name} 46 | install -Dpm644 target/completions/_%{name} %{buildroot}%{zsh_completions_dir}/_%{name} 47 | install -Dpm644 target/completions/%{name}.bash %{buildroot}%{bash_completions_dir}/%{name} 48 | install -Dpm644 target/completions/%{name}.fish %{buildroot}%{fish_completions_dir}/%{name}.fish 49 | install -Dpm644 target/man/%{name}.1 -t %{buildroot}%{_mandir}/man1 50 | 51 | %if %{with check} 52 | %check 53 | %cargo_test 54 | %endif 55 | 56 | %files 57 | %license LICENSE 58 | %license LICENSE.dependencies 59 | %license cargo-vendor.txt 60 | %doc README.md 61 | %{_bindir}/%{name} 62 | %{_mandir}/man1/%{name}.1.* 63 | %{bash_completions_dir}/%{name} 64 | %{fish_completions_dir}/%{name}.fish 65 | %{zsh_completions_dir}/_%{name} 66 | 67 | %changelog 68 | %autochangelog 69 | -------------------------------------------------------------------------------- /kitty/kitty.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | kitty 5 | CC0 6 | GPL-3.0-or-later 7 | kitty 8 | Cross-platform, fast, feature full, GPU based terminal emulator 9 | 10 |

- Offloads rendering to the GPU for lower system load and buttery smooth 11 | scrolling. Uses threaded rendering to minimize input latency. 12 | 13 | - Supports all modern terminal features: graphics (images), unicode, true-color, 14 | OpenType ligatures, mouse protocol, focus tracking, bracketed paste and 15 | several new terminal protocol extensions. 16 | 17 | - Supports tiling multiple terminal windows side by side in different layouts 18 | without needing to use an extra program like tmux. 19 | 20 | - Can be controlled from scripts or the shell prompt, even over SSH. 21 | 22 | - Has a framework for Kittens, small terminal programs that can be used to 23 | extend kitty's functionality. For example, they are used for Unicode input, 24 | Hints and Side-by-side diff. 25 | 26 | - Supports startup sessions which allow you to specify the window/tab layout, 27 | working directories and programs to run on startup. 28 | 29 | - Cross-platform: kitty works on Linux and macOS, but because it uses only 30 | OpenGL for rendering, it should be trivial to port to other Unix-like 31 | platforms. 32 | 33 | - Allows you to open the scrollback buffer in a separate window using arbitrary 34 | programs of your choice. This is useful for browsing the history comfortably 35 | in a pager or editor. 36 | 37 | - Has multiple copy/paste buffers, like vim.

38 |
39 | 40 | kitty 41 | 42 | 43 | 44 | https://sw.kovidgoyal.net/kitty/_images/screenshot.png 45 | 46 | 47 | Kovid Goyal 48 | https://sw.kovidgoyal.net/kitty 49 | https://github.com/kovidgoyal/kitty/issues 50 | https://sw.kovidgoyal.net/kitty/support.html 51 |
52 | -------------------------------------------------------------------------------- /uwsm/uwsm.spec: -------------------------------------------------------------------------------- 1 | Name: uwsm 2 | Version: 0.23.3 3 | Release: %autorelease -b3 4 | Summary: Universal Wayland Session Manager 5 | 6 | License: MIT 7 | URL: https://github.com/Vladimir-csp/uwsm 8 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 9 | BuildArch: noarch 10 | 11 | BuildRequires: desktop-file-utils 12 | BuildRequires: meson 13 | BuildRequires: python-rpm-macros 14 | BuildRequires: python3 15 | BuildRequires: python3-dbus 16 | BuildRequires: python3-pyxdg 17 | BuildRequires: scdoc 18 | BuildRequires: systemd-rpm-macros 19 | 20 | Requires: python3 21 | Requires: python3-dbus 22 | Requires: python3-pyxdg 23 | Requires: util-linux 24 | 25 | Recommends: /usr/bin/notify-send 26 | Recommends: /usr/bin/whiptail 27 | Recommends: wofi 28 | 29 | %description 30 | Wraps standalone Wayland compositors into a set of Systemd units on the fly. 31 | This provides robust session management including environment, XDG autostart 32 | support, bi-directional binding with login session, and clean shutdown. 33 | For compositors this is an opportunity to offload Systemd integration and 34 | session/XDG autostart management in Systemd-managed environments. 35 | 36 | %prep 37 | %autosetup -p1 38 | 39 | %build 40 | %meson -Duuctl=enabled -Dfumon=enabled -Duwsm-app=enabled 41 | %meson_build 42 | 43 | %install 44 | %meson_install 45 | %py_byte_compile %{python3} %{buildroot}%{_datadir}/%{name}/modules 46 | 47 | %check 48 | desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop 49 | 50 | %post 51 | %systemd_user_post fumon.service 52 | 53 | %preun 54 | %systemd_user_preun fumon.service 55 | 56 | %postun 57 | %systemd_user_postun fumon.service 58 | 59 | %files 60 | %doc %{_docdir}/%{name}/ 61 | %license LICENSE 62 | %{_bindir}/%{name} 63 | %{_bindir}/%{name}-app 64 | %{_bindir}/%{name}-terminal 65 | %{_bindir}/%{name}-terminal-scope 66 | %{_bindir}/%{name}-terminal-service 67 | %{_bindir}/fumon 68 | %{_bindir}/uuctl 69 | %{_datadir}/%{name}/ 70 | %{_datadir}/applications/uuctl.desktop 71 | %{_mandir}/man1/%{name}.1.* 72 | %{_mandir}/man1/fumon.1.* 73 | %{_mandir}/man1/uuctl.1.* 74 | %{_mandir}/man1/uwsm-app.1.* 75 | %{_mandir}/man3/%{name}-plugins.3.* 76 | %{_userunitdir}/fumon.service 77 | %{_userunitdir}/*-graphical.slice 78 | %{_userunitdir}/wayland-*.service 79 | %{_userunitdir}/wayland-*.target 80 | 81 | %changelog 82 | %autochangelog 83 | -------------------------------------------------------------------------------- /xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland.spec: -------------------------------------------------------------------------------- 1 | %global sdbus_version 2.1.0 2 | 3 | Name: xdg-desktop-portal-hyprland 4 | Epoch: 1 5 | Version: 1.3.11 6 | Release: %autorelease 7 | Summary: xdg-desktop-portal backend for hyprland 8 | 9 | License: BSD-3-Clause 10 | URL: https://github.com/hyprwm/xdg-desktop-portal-hyprland 11 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 12 | Source: https://github.com/Kistler-Group/sdbus-cpp/archive/v%{sdbus_version}/sdbus-%{sdbus_version}.tar.gz 13 | 14 | BuildRequires: cmake 15 | BuildRequires: gcc-c++ 16 | BuildRequires: systemd-rpm-macros 17 | 18 | BuildRequires: pkgconfig(gbm) 19 | BuildRequires: pkgconfig(hyprland-protocols) 20 | BuildRequires: pkgconfig(hyprlang) 21 | BuildRequires: pkgconfig(hyprutils) 22 | BuildRequires: pkgconfig(hyprwayland-scanner) 23 | BuildRequires: pkgconfig(libdrm) 24 | BuildRequires: pkgconfig(libpipewire-0.3) 25 | BuildRequires: pkgconfig(libsystemd) 26 | BuildRequires: pkgconfig(Qt6Widgets) 27 | BuildRequires: pkgconfig(systemd) 28 | BuildRequires: pkgconfig(wayland-client) 29 | BuildRequires: pkgconfig(wayland-protocols) 30 | BuildRequires: pkgconfig(wayland-scanner) 31 | 32 | Requires: dbus 33 | # required for Screenshot portal implementation 34 | Requires: grim 35 | Recommends: hyprpicker 36 | Requires: xdg-desktop-portal 37 | # required for hyprland-share-picker 38 | Requires: slurp 39 | Requires: qt6-qtwayland 40 | 41 | Enhances: hyprland 42 | Supplements: hyprland 43 | Supplements: hyprland-git 44 | 45 | Provides: bundled(sdbus-cpp) = %{sdbus_version} 46 | 47 | %description 48 | %{summary}. 49 | 50 | 51 | %prep 52 | %autosetup -p1 53 | tar -xf %{SOURCE1} -C subprojects/sdbus-cpp --strip=1 54 | 55 | 56 | %build 57 | %cmake -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release 58 | %cmake_build 59 | 60 | 61 | %install 62 | %cmake_install 63 | 64 | 65 | %post 66 | %systemd_user_post %{name}.service 67 | 68 | %preun 69 | %systemd_user_preun %{name}.service 70 | 71 | 72 | %files 73 | %license LICENSE 74 | %doc README.md 75 | %{_bindir}/hyprland-share-picker 76 | %{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service 77 | %{_datadir}/xdg-desktop-portal/portals/hyprland.portal 78 | %{_libexecdir}/%{name} 79 | %{_userunitdir}/%{name}.service 80 | 81 | 82 | %changelog 83 | %autochangelog 84 | -------------------------------------------------------------------------------- /aylurs-gtk-shell/aylurs-gtk-shell.spec: -------------------------------------------------------------------------------- 1 | %global __provides_exclude_from ^(%{_libdir}/ags/.*\\.so)$ 2 | 3 | %global gvc_commit 8e7a5a4c3e51007ce6579292642517e3d3eb9c50 4 | %global gvc_shortcommit %(c=%{gvc_commit}; echo ${c:0:7}) 5 | 6 | Name: aylurs-gtk-shell 7 | Version: 1.9.0 8 | Release: %autorelease -b2 9 | Summary: A customizable and extensible shell 10 | 11 | License: GPL-3.0-or-later 12 | URL: https://github.com/Aylur/ags 13 | Source0: %{url}/archive/v%{version_no_tilde}/%{name}-%{version_no_tilde}.tar.gz 14 | Source2: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/%{gvc_commit}/gvc-%{gvc_shortcommit}.tar.gz 15 | 16 | BuildRequires: gcc 17 | BuildRequires: meson 18 | BuildRequires: nodejs-npm 19 | BuildRequires: pkgconfig(gio-2.0) 20 | BuildRequires: pkgconfig(gjs-1.0) 21 | BuildRequires: pkgconfig(gobject-introspection-1.0) 22 | BuildRequires: pkgconfig(gtk+-3.0) 23 | BuildRequires: pkgconfig(libpulse) 24 | BuildRequires: pkgconfig(pam) 25 | BuildRequires: typescript 26 | 27 | Obsoletes: aylurs-gtk-shell-git < 1.9.0 28 | 29 | Requires: gjs%{?_isa} 30 | Requires: gtk-layer-shell%{?_isa} 31 | Requires: libsoup3%{?_isa} 32 | 33 | Recommends: libdbusmenu-gtk3%{?_isa} 34 | Recommends: gnome-bluetooth-libs%{?_isa} 35 | 36 | Provides: bundled(libgnome-volume-control) = 0^1.git%{gvc_shortcommit} 37 | 38 | %description 39 | This program is essentially a library for gjs which allows defining GTK widgets 40 | in a declarative way in JavaScript. It also provides services to interact with 41 | the system so that these widgets can have functionality. 42 | 43 | %prep 44 | %autosetup -n ags-%{version_no_tilde} -p1 45 | tar -xf %{SOURCE2} -C subprojects/gvc --strip=1 46 | 47 | %build 48 | npm install 49 | %meson \ 50 | -Dbuild_types=true \ 51 | --libdir=%{_libdir}/ags 52 | %meson_build 53 | 54 | %install 55 | %meson_install 56 | # RPM build errors: 57 | # Symlink points to BuildRoot: /usr/bin/ags -> /builddir/build/BUILDROOT/aylurs-gtk-shell-1.7.4-1.fc39.x86_64//usr/share/com.github.Aylur.ags/com.github.Aylur.ags 58 | rm %{buildroot}%{_bindir}/ags 59 | ln -s %{_datadir}/com.github.Aylur.ags/com.github.Aylur.ags %{buildroot}%{_bindir}/ags 60 | 61 | %files 62 | %license LICENSE 63 | %doc README.md 64 | %doc example/ 65 | %{_bindir}/ags 66 | %{_datadir}/com.github.Aylur.ags/ 67 | %{_libdir}/ags/ 68 | %{_sysconfdir}/pam.d/ags 69 | 70 | %changelog 71 | %autochangelog 72 | -------------------------------------------------------------------------------- /nwg-look/nwg-look.spec: -------------------------------------------------------------------------------- 1 | # Generated by go2rpm 1.14.0 2 | %bcond check 1 3 | %bcond bootstrap 0 4 | 5 | %if %{with bootstrap} 6 | %global debug_package %{nil} 7 | %endif 8 | 9 | # https://github.com/nwg-piotr/nwg-look 10 | %global goipath github.com/nwg-piotr/nwg-look 11 | Version: 1.0.6 12 | 13 | %gometa -L -f 14 | 15 | %global common_description %{expand: 16 | GTK3 settings editor adapted to work in the wlroots environment.} 17 | 18 | %global golicenses LICENSE 19 | %global godocs README.md 20 | 21 | Name: nwg-look 22 | Release: %autorelease 23 | Summary: GTK3 settings editor adapted to work in the wlroots environment 24 | 25 | License: MIT 26 | URL: %{gourl} 27 | Source: %{gosource} 28 | Source: vendor-%{version}.tar.gz 29 | Source: bundle_go_deps_for_rpm.sh 30 | 31 | BuildRequires: desktop-file-utils 32 | BuildRequires: pkgconfig(cairo-gobject) 33 | BuildRequires: pkgconfig(cairo) 34 | BuildRequires: pkgconfig(gdk-3.0) 35 | BuildRequires: pkgconfig(gio-2.0) 36 | BuildRequires: pkgconfig(glib-2.0) 37 | BuildRequires: pkgconfig(gobject-2.0) 38 | BuildRequires: pkgconfig(gtk+-3.0) 39 | BuildRequires: pkgconfig(pango) 40 | 41 | Requires: /usr/bin/gsettings 42 | Requires: xcur2png 43 | 44 | %description %{common_description} 45 | 46 | 47 | %prep 48 | %goprep -A 49 | %setup -q -T -D -a 1 50 | %autopatch -p1 51 | 52 | %if %{without bootstrap} 53 | %build 54 | %gobuild -o %{gobuilddir}/bin/nwg-look %{goipath} 55 | %endif 56 | 57 | %install 58 | %if %{without bootstrap} 59 | install -m 0755 -vd %{buildroot}%{_bindir} 60 | install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ 61 | install -Dpm0644 stuff/main.glade -t %{buildroot}%{_datadir}/nwg-look 62 | install -Dpm0644 langs/* -t %{buildroot}%{_datadir}/nwg-look/langs 63 | install -Dpm0644 stuff/nwg-look.desktop -t %{buildroot}%{_datadir}/applications 64 | install -Dpm0644 stuff/nwg-look.svg -t %{buildroot}%{_datadir}/pixmaps 65 | %endif 66 | 67 | %if %{without bootstrap} 68 | %if %{with check} 69 | %check 70 | %gocheck 71 | desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop 72 | %endif 73 | %endif 74 | 75 | %if %{without bootstrap} 76 | %files 77 | %license vendor/modules.txt 78 | %license LICENSE 79 | %doc README.md 80 | %{_bindir}/nwg-look 81 | %{_datadir}/%{name}/ 82 | %{_datadir}/applications/nwg-look.desktop 83 | %{_datadir}/pixmaps/nwg-look.svg 84 | %endif 85 | 86 | %changelog 87 | %autochangelog 88 | -------------------------------------------------------------------------------- /astal/aylurs-gtk-shell2/aylurs-gtk-shell2.spec: -------------------------------------------------------------------------------- 1 | # Generated by go2rpm 1.14.0 2 | %bcond check 1 3 | 4 | %global gomodulesmode GO111MODULE=on 5 | 6 | # https://github.com/Aylur/ags 7 | %global goipath ags 8 | %global forgeurl https://github.com/Aylur/ags 9 | Version: 2.3.0 10 | 11 | %gometa -L -f 12 | 13 | %global common_description %{expand: 14 | Scaffoling CLI for Astal+TypeScript.} 15 | 16 | Name: aylurs-gtk-shell2 17 | Release: %autorelease 18 | Summary: Scaffoling CLI for Astal+TypeScript 19 | 20 | # Generated by go-vendor-tools 21 | License: Apache-2.0 AND BSD-3-Clause AND GPL-3.0-only AND MIT 22 | URL: %{gourl} 23 | Source0: %{gosource} 24 | # Generated by go-vendor-tools 25 | Source1: %{archivename}-vendor.tar.bz2 26 | Source2: go-vendor-tools.toml 27 | 28 | BuildRequires: go-vendor-tools 29 | BuildRequires: pkgconfig(astal-gjs) 30 | 31 | Requires: astal-gjs%{?_isa} 32 | Requires: astal-libs%{?_isa} 33 | Requires: gtk4-layer-shell%{?_isa} 34 | 35 | Supplements: astal 36 | Recommends: astal-gtk4 37 | 38 | %description %{common_description} 39 | 40 | %prep 41 | %goprep -A 42 | %setup -q -T -D -a1 %{forgesetupargs} 43 | %autopatch -p1 44 | 45 | %generate_buildrequires 46 | %go_vendor_license_buildrequires -c %{S:2} 47 | 48 | %build 49 | %define currentgoldflags %{shrink:-X ags/main.gtk4LayerShell=/usr/lib64/libgtk4-layer-shell.so.0 50 | -X ags/main.astalGjs=$(pkg-config --variable=srcdir astal-gjs)} 51 | %gobuild -o %{gobuilddir}/bin/ags %{goipath} 52 | 53 | %install 54 | %go_vendor_license_install -c %{S:2} 55 | install -m 0755 -vd %{buildroot}%{_bindir} 56 | install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ 57 | 58 | %{gobuilddir}/bin/ags completion bash > %{name}.bash 59 | %{gobuilddir}/bin/ags completion fish > %{name}.fish 60 | %{gobuilddir}/bin/ags completion zsh > %{name}.zsh 61 | 62 | install -Dpm0644 %{name}.bash %{buildroot}%{bash_completions_dir}/ags 63 | install -Dpm0644 %{name}.fish %{buildroot}%{fish_completions_dir}/ags.fish 64 | install -Dpm0644 %{name}.zsh %{buildroot}%{zsh_completions_dir}/_ags 65 | 66 | %check 67 | %go_vendor_license_check -c %{S:2} 68 | %if %{with check} 69 | %gocheck 70 | %endif 71 | 72 | %files -f %{go_vendor_license_filelist} 73 | %license vendor/modules.txt 74 | %doc docs README.md 75 | %{_bindir}/ags 76 | %{bash_completions_dir}/ags 77 | %{fish_completions_dir}/ags.fish 78 | %{zsh_completions_dir}/_ags 79 | 80 | %changelog 81 | %autochangelog 82 | -------------------------------------------------------------------------------- /swww/swww.spec: -------------------------------------------------------------------------------- 1 | # Generated by rust2rpm 25 2 | %bcond_with check 3 | 4 | Name: swww 5 | Version: 0.11.2 6 | Release: %autorelease 7 | Summary: Efficient animated wallpaper daemon for wayland, controlled at runtime 8 | # 0BSD OR MIT OR Apache-2.0 9 | # Apache-2.0 10 | # Apache-2.0 OR MIT 11 | # Apache-2.0 WITH LLVM-exception 12 | # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT 13 | # BSD-2-Clause 14 | # BSD-3-Clause 15 | # CC0-1.0 OR Apache-2.0 16 | # ISC 17 | # MIT 18 | # MIT OR Apache-2.0 19 | # MIT OR Apache-2.0 OR NCSA 20 | # MIT OR Apache-2.0 OR Zlib 21 | # MIT OR Zlib OR Apache-2.0 22 | # Unlicense OR MIT 23 | # Zlib OR Apache-2.0 OR MIT 24 | License: GPL-3.0-only AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) AND Zlib 25 | 26 | URL: https://github.com/LGFae/swww 27 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 28 | 29 | BuildRequires: cargo-rpm-macros >= 24 30 | BuildRequires: pkgconfig(dav1d) 31 | BuildRequires: pkgconfig(liblz4) 32 | BuildRequires: pkgconfig(wayland-client) 33 | BuildRequires: pkgconfig(wayland-protocols) 34 | BuildRequires: scdoc 35 | 36 | %global _description %{expand: 37 | %{summary}.} 38 | 39 | %description %{_description} 40 | 41 | %prep 42 | %autosetup -p1 43 | cargo vendor 44 | %cargo_prep -v vendor 45 | 46 | %build 47 | %cargo_build -f avif 48 | ./doc/gen.sh 49 | %{cargo_license_summary} 50 | %{cargo_license} > LICENSE.dependencies 51 | %{cargo_vendor_manifest} 52 | 53 | %install 54 | install -Dpm755 target/release/swww %{buildroot}%{_bindir}/swww 55 | install -Dpm755 target/release/swww-daemon %{buildroot}%{_bindir}/swww-daemon 56 | install -Dpm644 completions/_swww %{buildroot}%{zsh_completions_dir}/_%{name} 57 | install -Dpm644 completions/swww.bash %{buildroot}%{bash_completions_dir}/%{name} 58 | install -Dpm644 completions/swww.fish %{buildroot}%{fish_completions_dir}/%{name}.fish 59 | install -Dpm644 ./doc/generated/*.1 -t %{buildroot}%{_mandir}/man1 60 | 61 | %if %{with check} 62 | %check 63 | %cargo_test 64 | %endif 65 | 66 | %files 67 | %license LICENSE 68 | %license LICENSE.dependencies 69 | %license cargo-vendor.txt 70 | %doc CHANGELOG.md 71 | %doc README.md 72 | %{_bindir}/swww 73 | %{_bindir}/swww-daemon 74 | %{_mandir}/man1/swww*.1.* 75 | %{bash_completions_dir}/%{name} 76 | %{fish_completions_dir}/%{name}.fish 77 | %{zsh_completions_dir}/_%{name} 78 | 79 | %changelog 80 | %autochangelog 81 | -------------------------------------------------------------------------------- /hyprland-plugins/hyprland-plugins.spec: -------------------------------------------------------------------------------- 1 | %global commit0 e689220b1740aa99ca67fa06055792f82fa9ed85 2 | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) 3 | %global bumpver 1345 4 | 5 | %global __provides_exclude_from ^(%{_libdir}/hyprland/.*\\.so)$ 6 | 7 | %global plugins %{shrink: 8 | borders-plus-plus 9 | csgo-vulkan-fix 10 | hyprbars 11 | hyprexpo 12 | hyprfocus 13 | hyprscrolling 14 | hyprtrails 15 | hyprwinwrap 16 | xtra-dispatchers 17 | } 18 | 19 | %if !%{defined build_for} 20 | %global build_for release 21 | %endif 22 | 23 | %define pluginsmeta %{lua: 24 | if rpm.expand("%build_for") == "git" then 25 | rpm.define("pluginssuffix -git") 26 | rpm.define(rpm.expand("pluginsmetaname hyprland-plugins%pluginssuffix")) 27 | rpm.define(rpm.expand("hyprlandpkg hyprland%pluginssuffix")) 28 | else 29 | rpm.define("pluginsmetaname hyprland-plugins") 30 | rpm.define("hyprlandpkg hyprland") 31 | end 32 | } 33 | 34 | %pluginsmeta 35 | 36 | Name: %{pluginsmetaname} 37 | Version: 0.1^%{bumpver}.git%{shortcommit0} 38 | Release: %autorelease 39 | Summary: Official plugins for Hyprland 40 | 41 | License: BSD-3-Clause 42 | URL: https://github.com/hyprwm/hyprland-plugins 43 | Source: %{url}/archive/%{commit0}/%{name}-%{commit0}.tar.gz 44 | 45 | BuildRequires: gcc-c++ 46 | BuildRequires: meson 47 | BuildRequires: %{hyprlandpkg}-devel 48 | 49 | Requires: %{hyprlandpkg} = %_hyprland_version 50 | 51 | # print Recommends: for each plugin 52 | %{lua:for w in rpm.expand('%plugins'):gmatch("%S+") do print("Recommends: hyprland-plugin-"..w..(rpm.expand("%build_for") == "git" and "-git" or "")..'\n') end} 53 | 54 | %description 55 | %{summary}. 56 | 57 | %define _package() \%package -n hyprland-plugin-%1%{?pluginssuffix:%{pluginssuffix}}\ 58 | Summary: %1 plugin for %{hyprlandpkg}\ 59 | Requires: %{hyprlandpkg} = %_hyprland_version\ 60 | \%description -n hyprland-plugin-%1%{?pluginssuffix:%{pluginssuffix}}\ 61 | \%1 plugin for %{hyprlandpkg}.\ 62 | \%files -n hyprland-plugin-%1%{?pluginssuffix:%{pluginssuffix}}\ 63 | \%%license LICENSE\ 64 | \%dir %{_libdir}/hyprland\ 65 | \%{_libdir}/hyprland/lib%1.so\ 66 | 67 | # expand %%_package for each plugin 68 | %{lua:for w in rpm.expand('%plugins'):gmatch("%S+") do print(rpm.expand("%_package "..w)..'\n\n') end} 69 | 70 | 71 | %prep 72 | %autosetup -n hyprland-plugins-%{commit0} -p1 73 | 74 | 75 | %build 76 | for plugin in %{plugins} 77 | do 78 | pushd $plugin 79 | %meson --libdir=%{_libdir}/hyprland 80 | %meson_build 81 | popd 82 | done 83 | 84 | 85 | %install 86 | for plugin in %{plugins} 87 | do 88 | pushd $plugin 89 | %meson_install 90 | popd 91 | done 92 | 93 | 94 | %files 95 | 96 | 97 | %changelog 98 | %autochangelog 99 | -------------------------------------------------------------------------------- /hyprland-contrib/hyprland-contrib.spec: -------------------------------------------------------------------------------- 1 | %global commit0 32e1a75b65553daefb419f0906ce19e04815aa3a 2 | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) 3 | %global bumpver 80 4 | 5 | Name: hyprland-contrib 6 | Version: 0.1%{?bumpver:^%{bumpver}.git%{shortcommit0}} 7 | Release: %autorelease 8 | Summary: Community scripts and utilities for Hypr projects 9 | BuildArch: noarch 10 | 11 | License: MIT 12 | URL: https://github.com/hyprwm/contrib 13 | Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz 14 | 15 | BuildRequires: make 16 | BuildRequires: scdoc 17 | 18 | Recommends: try_swap_workspace 19 | Recommends: shellevents 20 | Recommends: scratchpad 21 | Recommends: hyprprop 22 | Recommends: grimblast 23 | Recommends: hdrop 24 | 25 | %description 26 | %{summary}. 27 | 28 | %package -n grimblast 29 | Summary: A helper for screenshots within hyprland 30 | Requires: grim slurp wl-clipboard jq /usr/bin/notify-send hyprpicker /usr/bin/gdbus 31 | 32 | %description -n grimblast 33 | %{summary}. 34 | 35 | %files -n grimblast 36 | %{_bindir}/grimblast 37 | %{_mandir}/man1/grimblast.1.* 38 | 39 | 40 | %package -n hyprprop 41 | Summary: An xprop replacement for hyprland 42 | Requires: slurp jq 43 | 44 | %description -n hyprprop 45 | %{summary}. 46 | 47 | %files -n hyprprop 48 | %{_bindir}/hyprprop 49 | %{_mandir}/man1/hyprprop.1.* 50 | 51 | 52 | %package -n scratchpad 53 | Summary: Send focused window to a special workspace named scratchpad 54 | Requires: jq 55 | Recommends: /usr/bin/notify-send 56 | 57 | %description -n scratchpad 58 | %{summary}. 59 | 60 | %files -n scratchpad 61 | %{_bindir}/scratchpad 62 | 63 | 64 | %package -n shellevents 65 | Summary: Invoke shell functions in response to hyprland socket2 events 66 | Requires: socat 67 | 68 | %description -n shellevents 69 | %{summary}. 70 | 71 | %files -n shellevents 72 | %{_bindir}/shellevents 73 | %{_bindir}/shellevents_default.sh 74 | 75 | 76 | %package -n try_swap_workspace 77 | Summary: Move arbitrary workspace to arbritrary monitor and swap workspaces 78 | Recommends: /usr/bin/notify-send 79 | 80 | %description -n try_swap_workspace 81 | %{summary}. 82 | 83 | %files -n try_swap_workspace 84 | %{_bindir}/try_swap_workspace 85 | 86 | 87 | %package -n hdrop 88 | Summary: This script emulates the main feature of tdrop (https://github.com/noctuid/tdrop) in Hyprland 89 | Requires: jq 90 | Recommends: /usr/bin/notify-send 91 | 92 | %description -n hdrop 93 | %{summary}. 94 | 95 | %files -n hdrop 96 | %{_bindir}/hdrop 97 | %{_mandir}/man1/hdrop.1.* 98 | 99 | 100 | %prep 101 | %autosetup -n contrib-%{commit0} 102 | 103 | 104 | %install 105 | for script in grimblast hyprprop scratchpad shellevents try_swap_workspace hdrop 106 | do 107 | pushd $script 108 | %make_install DESTDIR=%{buildroot} PREFIX=%{buildroot}%{_prefix} 109 | popd 110 | done 111 | 112 | 113 | %files 114 | %license LICENSE 115 | %doc README.md 116 | 117 | 118 | %changelog 119 | %autochangelog 120 | -------------------------------------------------------------------------------- /satty/satty.spec: -------------------------------------------------------------------------------- 1 | # Generated by rust2rpm 27 2 | %bcond check 0 3 | 4 | # prevent library files from being installed 5 | %global cargo_install_lib 0 6 | 7 | Name: satty 8 | Version: 0.20.0 9 | Release: %autorelease 10 | Summary: Modern Screenshot Annotation 11 | 12 | # 0BSD OR MIT OR Apache-2.0 13 | # Apache-2.0 14 | # Apache-2.0 OR MIT 15 | # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT 16 | # CC0-1.0 17 | # CC0-1.0 OR Apache-2.0 18 | # ISC 19 | # MIT 20 | # MIT AND (MIT OR Apache-2.0) 21 | # MIT OR Apache-2.0 22 | # MIT OR Apache-2.0 OR Zlib 23 | # MIT OR Zlib OR Apache-2.0 24 | # MPL-2.0 25 | # Unlicense OR MIT 26 | # Zlib 27 | # Zlib OR Apache-2.0 OR MIT 28 | License: %{shrink: 29 | Apache-2.0 AND 30 | (Apache-2.0 OR MIT) AND 31 | (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND 32 | CC0-1.0 AND 33 | (CC0-1.0 OR Apache-2.0) AND 34 | ISC AND 35 | MIT AND 36 | (MIT AND (MIT OR Apache-2.0)) AND 37 | (MIT OR Apache-2.0) AND 38 | (MIT OR Apache-2.0 OR Zlib) AND 39 | (MIT OR Zlib OR Apache-2.0) AND 40 | MPL-2.0 AND 41 | (Unlicense OR MIT) AND 42 | Zlib 43 | } 44 | # LICENSE.dependencies contains a full license breakdown 45 | 46 | URL: https://github.com/gabm/satty 47 | Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz 48 | 49 | BuildRequires: cargo-rpm-macros >= 26 50 | BuildRequires: desktop-file-utils 51 | BuildRequires: pkgconfig(cairo-gobject) 52 | BuildRequires: pkgconfig(epoxy) 53 | BuildRequires: pkgconfig(fontconfig) 54 | BuildRequires: pkgconfig(gtk4) 55 | BuildRequires: pkgconfig(libadwaita-1) 56 | 57 | %if 0%{?fedora} < 43 58 | Recommends: gdk-pixbuf2-modules-extra 59 | %endif 60 | 61 | %global _description %{expand: 62 | Modern Screenshot Annotation. A Screenshot Annotation Tool inspired by 63 | Swappy and Flameshot.} 64 | 65 | %description %{_description} 66 | 67 | %prep 68 | %autosetup -n Satty-%{version} -p1 69 | cargo vendor 70 | %cargo_prep -v vendor 71 | 72 | %build 73 | %cargo_build 74 | %{cargo_license_summary} 75 | %{cargo_license} > LICENSE.dependencies 76 | %{cargo_vendor_manifest} 77 | 78 | %install 79 | install -Dpm755 target/release/%{name} %{buildroot}%{_bindir}/%{name} 80 | 81 | install -Dpm644 %{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop 82 | install -Dpm644 assets/%{name}.svg %{buildroot}%{_datadir}/hicolor/scalable/apps/%{name}.svg 83 | 84 | install -Dpm644 completions/%{name}.bash %{buildroot}%{bash_completions_dir}/%{name} 85 | install -Dpm644 completions/%{name}.fish %{buildroot}%{fish_completions_dir}/%{name}.fish 86 | install -Dpm644 completions/_%{name} %{buildroot}%{zsh_completions_dir}/_%{name} 87 | 88 | %check 89 | %if %{with check} 90 | %cargo_test 91 | %endif 92 | desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop 93 | 94 | %files 95 | %license LICENSE 96 | %license LICENSE.dependencies 97 | %license cargo-vendor.txt 98 | %doc README.md 99 | %{_bindir}/%{name} 100 | %{_datadir}/applications/%{name}.desktop 101 | %{_datadir}/hicolor/scalable/apps/%{name}.svg 102 | %{bash_completions_dir}/%{name} 103 | %{fish_completions_dir}/%{name}.fish 104 | %{zsh_completions_dir}/_%{name} 105 | 106 | %changelog 107 | %autochangelog 108 | -------------------------------------------------------------------------------- /hyprland-git/update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | set -euxo pipefail 3 | 4 | ec=0 5 | newRelease=0 6 | curl_opts=(--connect-timeout 10 --retry 7 --retry-connrefused -Ss -X POST) 7 | 8 | oldTag="$(rpmspec -q --qf "%{version}\n" hyprland-git.spec | head -1 | sed 's/\^.*//')" 9 | newTag="$(curl "https://api.github.com/repos/hyprwm/Hyprland/tags" | jq -r '.[0].name' | sed 's/^v//')" 10 | 11 | oldHyprlandCommit="$(sed -n 's/.*hyprland_commit \(.*\)/\1/p' hyprland-git.spec)" 12 | newHyprlandCommit="$(curl -s -H "Accept: application/vnd.github.VERSION.sha" "https://api.github.com/repos/hyprwm/Hyprland/commits/main")" 13 | 14 | oldCommitsCount="$(sed -n 's/.*commits_count \(.*\)/\1/p' hyprland-git.spec)" 15 | newCommitsCount="$(curl -I -k \ 16 | "https://api.github.com/repos/hyprwm/Hyprland/commits?per_page=1&sha=$newHyprlandCommit" | \ 17 | sed -n '/^[Ll]ink:/ s/.*"next".*page=\([0-9]*\).*"last".*/\1/p')" 18 | 19 | oldCommitDate="$(sed -n 's/.*commit_date \(.*\)/\1/p' hyprland-git.spec)" 20 | newCommitDate="$(env TZ=Etc/GMT+12 date -d "$(curl -s "https://api.github.com/repos/hyprwm/Hyprland/commits?per_page=1&ref=$newHyprlandCommit" | \ 21 | jq -r '.[].commit.author.date')" +"%a %b %d %T %Y")" 22 | 23 | oldProtocolsCommit="$(sed -n 's/.*protocols_commit \(.*\)/\1/p' hyprland-git.spec)" 24 | newProtocolsCommit="$(curl -L \ 25 | -H "Accept: application/vnd.github+json" \ 26 | -H "X-GitHub-Api-Version: 2022-11-28" \ 27 | "https://api.github.com/repos/hyprwm/Hyprland/contents/subprojects/hyprland-protocols?ref=$newHyprlandCommit" | jq -r '.sha')" 28 | 29 | oldUdis86Commit="$(sed -n 's/.*udis86_commit \(.*\)/\1/p' hyprland-git.spec)" 30 | newUdis86Commit="$(curl -L \ 31 | -H "Accept: application/vnd.github+json" \ 32 | -H "X-GitHub-Api-Version: 2022-11-28" \ 33 | "https://api.github.com/repos/hyprwm/Hyprland/contents/subprojects/udis86?ref=$newHyprlandCommit" | jq -r '.sha')" 34 | 35 | sed -e "s/$oldHyprlandCommit/$newHyprlandCommit/" \ 36 | -e "/%global commits_count/s/$oldCommitsCount/$newCommitsCount/" \ 37 | -e "s/$oldCommitDate/$newCommitDate/" \ 38 | -e "s/$oldProtocolsCommit/$newProtocolsCommit/" \ 39 | -e "s/$oldUdis86Commit/$newUdis86Commit/" \ 40 | -i hyprland-git.spec 41 | 42 | rpmdev-vercmp $oldTag $newTag || ec=$? 43 | case $ec in 44 | 0) ;; 45 | 12) 46 | perl -pe 's/(?<=bumpver\s)(\d+)/0/' -i hyprland-git.spec 47 | sed -i "/^Version:/s/$oldTag/$newTag/" hyprland-git.spec 48 | newRelease=1 ;; 49 | *) exit 1 50 | esac 51 | 52 | git diff --quiet || \ 53 | { perl -pe 's/(?<=bumpver\s)(\d+)/$1 + 1/ge' -i hyprland-git.spec && \ 54 | pushd ../hyprland-plugins && \ 55 | bash plugins_update.sh; 56 | popd && \ 57 | git commit -am "up rev hyprland-git-${newTag}+${newHyprlandCommit:0:7}" && \ 58 | git push && \ 59 | hyprlandGitBuildId=$(curl "${curl_opts[@]}" "https://copr.fedorainfracloud.org/webhooks/custom/77569/${COPR_WEBHOOK}/hyprland-git") && \ 60 | copr watch-build "${hyprlandGitBuildId}" && \ 61 | curl "${curl_opts[@]}" "https://copr.fedorainfracloud.org/webhooks/custom/77569/${COPR_WEBHOOK}/hyprland-plugins-git"; } 62 | 63 | if [[ $newRelease == "1" ]]; then 64 | hyprlandBuildId=$(curl "${curl_opts[@]}" "https://copr.fedorainfracloud.org/webhooks/custom/77569/${COPR_WEBHOOK}/hyprland") 65 | copr watch-build "${hyprlandBuildId}" 66 | curl "${curl_opts[@]}" "https://copr.fedorainfracloud.org/webhooks/custom/77569/${COPR_WEBHOOK}/hyprland-plugins" 67 | git branch "$newTag" 68 | git push origin "$newTag" 69 | fi 70 | -------------------------------------------------------------------------------- /cliphist/bundle_go_deps_for_rpm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Description: 3 | # This script creates an archive with vendored dependencies from a Go SPEC file. 4 | 5 | # License: 6 | # MIT License 7 | # 8 | # Copyright (c) 2023 Robert-André Mauchin 9 | # 10 | # Permission is hereby granted, free of charge, to any person obtaining a copy 11 | # of this software and associated documentation files (the "Software"), to deal 12 | # in the Software without restriction, including without limitation the rights 13 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | # copies of the Software, and to permit persons to whom the Software is 15 | # furnished to do so, subject to the following conditions: 16 | # 17 | # The above copyright notice and this permission notice shall be included in all 18 | # copies or substantial portions of the Software. 19 | # 20 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | # SOFTWARE. 27 | 28 | # Check if the RPM SPEC file is given as an argument 29 | if [[ $# -ne 1 ]]; then 30 | echo "Usage: $0 " 31 | exit 1 32 | fi 33 | 34 | RPM_SPEC_FILE=$1 35 | 36 | # Extract the directory from the RPM SPEC file path 37 | SPEC_DIR=$(dirname "$(realpath "$RPM_SPEC_FILE")") 38 | 39 | # Extract the URL, commit, tag, and version from the RPM SPEC file 40 | FORGEURL=$(awk '/^%global forgeurl/ {print $NF}' "$RPM_SPEC_FILE") 41 | GOIPATH=$(awk '/^%global goipath/ {print $NF}' "$RPM_SPEC_FILE") 42 | PLAINURL=$(awk '/^URL:/ {print $NF}' "$RPM_SPEC_FILE") 43 | COMMIT=$(awk '/^%global commit0/ {print $NF}' "$RPM_SPEC_FILE") 44 | COMMIT_UNNEEDED=$(grep -q "%global bumpver" "$RPM_SPEC_FILE"; echo $?) 45 | TAG=$(awk '/^%global tag/ {print $NF}' "$RPM_SPEC_FILE") 46 | VERSION=$(rpmspec -q --srpm --qf "%{version}\n" "$RPM_SPEC_FILE" | sed 's/\^.*//') 47 | 48 | # Decide which URL to use 49 | if [[ -n "$FORGEURL" ]]; then 50 | REPO_URL="$FORGEURL" 51 | elif [[ -n "$GOIPATH" ]]; then 52 | REPO_URL="https://$GOIPATH" 53 | elif [[ -n "$PLAINURL" ]]; then 54 | REPO_URL="${PLAINURL}.git" 55 | else 56 | echo "No repository URL found in the RPM SPEC file." 57 | exit 2 58 | fi 59 | 60 | # Create a temporary directory and clone the repository 61 | TMP_DIR=$(mktemp -d) 62 | trap "rm -rf $TMP_DIR" EXIT 63 | git clone "$REPO_URL" "$TMP_DIR" 64 | if [[ $? -ne 0 ]]; then 65 | echo "Failed to clone repository." 66 | exit 3 67 | fi 68 | 69 | # Change to the directory 70 | pushd "$TMP_DIR" > /dev/null 71 | 72 | # Checkout based on priority: commit > tag > Version 73 | CHECKOUT_SUCCESS=0 74 | if [[ -n "$COMMIT" && "$COMMIT_UNNEEDED" != "1" ]]; then 75 | CHECKOUT_IDENTIFIER="$COMMIT" 76 | git checkout "$CHECKOUT_IDENTIFIER" && CHECKOUT_SUCCESS=1; CHECKOUT_IDENTIFIER="${COMMIT:0:7}" 77 | elif [[ -n "$TAG" ]]; then 78 | CHECKOUT_IDENTIFIER="$TAG" 79 | git checkout "$CHECKOUT_IDENTIFIER" && CHECKOUT_SUCCESS=1 80 | elif [[ -n "$VERSION" ]]; then 81 | CHECKOUT_IDENTIFIER="$VERSION" 82 | git checkout "$VERSION" || git checkout "v$VERSION" 83 | if [ $? -eq 0 ]; then 84 | CHECKOUT_SUCCESS=1 85 | fi 86 | else 87 | echo "No commit, tag, or version found in the RPM SPEC file." 88 | exit 4 89 | fi 90 | 91 | if [ $CHECKOUT_SUCCESS -eq 0 ]; then 92 | echo "Failed to checkout using commit, tag, or version." 93 | exit 5 94 | fi 95 | 96 | # Run go mod vendor 97 | go mod vendor 98 | if [[ $? -ne 0 ]]; then 99 | echo "Failed to run 'go mod vendor'." 100 | exit 6 101 | fi 102 | 103 | # Create a tar.gz of the vendor directory 104 | tar czf "vendor-$CHECKOUT_IDENTIFIER.tar.gz" vendor/ 105 | if [[ $? -ne 0 ]]; then 106 | echo "Failed to create tar.gz of the vendor directory." 107 | exit 7 108 | fi 109 | 110 | # Move the tar.gz to the SPEC directory 111 | mv "vendor-$CHECKOUT_IDENTIFIER.tar.gz" "$SPEC_DIR/" 112 | 113 | # Go back to the original directory 114 | popd > /dev/null 115 | 116 | echo "Created vendor-$CHECKOUT_IDENTIFIER.tar.gz successfully." 117 | -------------------------------------------------------------------------------- /kitty/bundle_go_deps_for_rpm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Description: 3 | # This script creates an archive with vendored dependencies from a Go SPEC file. 4 | 5 | # License: 6 | # MIT License 7 | # 8 | # Copyright (c) 2023 Robert-André Mauchin 9 | # 10 | # Permission is hereby granted, free of charge, to any person obtaining a copy 11 | # of this software and associated documentation files (the "Software"), to deal 12 | # in the Software without restriction, including without limitation the rights 13 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | # copies of the Software, and to permit persons to whom the Software is 15 | # furnished to do so, subject to the following conditions: 16 | # 17 | # The above copyright notice and this permission notice shall be included in all 18 | # copies or substantial portions of the Software. 19 | # 20 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | # SOFTWARE. 27 | 28 | # Check if the RPM SPEC file is given as an argument 29 | if [[ $# -ne 1 ]]; then 30 | echo "Usage: $0 " 31 | exit 1 32 | fi 33 | 34 | RPM_SPEC_FILE=$1 35 | 36 | # Extract the directory from the RPM SPEC file path 37 | SPEC_DIR=$(dirname "$(realpath "$RPM_SPEC_FILE")") 38 | 39 | # Extract the URL, commit, tag, and version from the RPM SPEC file 40 | FORGEURL=$(awk '/^%global forgeurl/ {print $NF}' "$RPM_SPEC_FILE") 41 | GOIPATH=$(awk '/^%global goipath/ {print $NF}' "$RPM_SPEC_FILE") 42 | PLAINURL=$(awk '/^URL:/ {print $NF}' "$RPM_SPEC_FILE") 43 | COMMIT=$(awk '/^%global commit0/ {print $NF}' "$RPM_SPEC_FILE") 44 | COMMIT_UNNEEDED=$(grep -q "%global bumpver" "$RPM_SPEC_FILE"; echo $?) 45 | TAG=$(awk '/^%global tag/ {print $NF}' "$RPM_SPEC_FILE") 46 | VERSION=$(rpmspec -q --srpm --qf "%{version}\n" "$RPM_SPEC_FILE" | sed 's/\^.*//') 47 | 48 | # Decide which URL to use 49 | if [[ -n "$FORGEURL" ]]; then 50 | REPO_URL="$FORGEURL" 51 | elif [[ -n "$GOIPATH" ]]; then 52 | REPO_URL="https://$GOIPATH" 53 | elif [[ -n "$PLAINURL" ]]; then 54 | REPO_URL="${PLAINURL}.git" 55 | else 56 | echo "No repository URL found in the RPM SPEC file." 57 | exit 2 58 | fi 59 | 60 | # Create a temporary directory and clone the repository 61 | TMP_DIR=$(mktemp -d) 62 | trap "rm -rf $TMP_DIR" EXIT 63 | git clone "$REPO_URL" "$TMP_DIR" 64 | if [[ $? -ne 0 ]]; then 65 | echo "Failed to clone repository." 66 | exit 3 67 | fi 68 | 69 | # Change to the directory 70 | pushd "$TMP_DIR" > /dev/null 71 | 72 | # Checkout based on priority: commit > tag > Version 73 | CHECKOUT_SUCCESS=0 74 | if [[ -n "$COMMIT" && "$COMMIT_UNNEEDED" != "1" ]]; then 75 | CHECKOUT_IDENTIFIER="$COMMIT" 76 | git checkout "$CHECKOUT_IDENTIFIER" && CHECKOUT_SUCCESS=1; CHECKOUT_IDENTIFIER="${COMMIT:0:7}" 77 | elif [[ -n "$TAG" ]]; then 78 | CHECKOUT_IDENTIFIER="$TAG" 79 | git checkout "$CHECKOUT_IDENTIFIER" && CHECKOUT_SUCCESS=1 80 | elif [[ -n "$VERSION" ]]; then 81 | CHECKOUT_IDENTIFIER="$VERSION" 82 | git checkout "$VERSION" || git checkout "v$VERSION" 83 | if [ $? -eq 0 ]; then 84 | CHECKOUT_SUCCESS=1 85 | fi 86 | else 87 | echo "No commit, tag, or version found in the RPM SPEC file." 88 | exit 4 89 | fi 90 | 91 | if [ $CHECKOUT_SUCCESS -eq 0 ]; then 92 | echo "Failed to checkout using commit, tag, or version." 93 | exit 5 94 | fi 95 | 96 | # Run go mod vendor 97 | go mod vendor 98 | if [[ $? -ne 0 ]]; then 99 | echo "Failed to run 'go mod vendor'." 100 | exit 6 101 | fi 102 | 103 | # Create a tar.gz of the vendor directory 104 | tar czf "vendor-$CHECKOUT_IDENTIFIER.tar.gz" vendor/ 105 | if [[ $? -ne 0 ]]; then 106 | echo "Failed to create tar.gz of the vendor directory." 107 | exit 7 108 | fi 109 | 110 | # Move the tar.gz to the SPEC directory 111 | mv "vendor-$CHECKOUT_IDENTIFIER.tar.gz" "$SPEC_DIR/" 112 | 113 | # Go back to the original directory 114 | popd > /dev/null 115 | 116 | echo "Created vendor-$CHECKOUT_IDENTIFIER.tar.gz successfully." 117 | -------------------------------------------------------------------------------- /nwg-look/bundle_go_deps_for_rpm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Description: 3 | # This script creates an archive with vendored dependencies from a Go SPEC file. 4 | 5 | # License: 6 | # MIT License 7 | # 8 | # Copyright (c) 2023 Robert-André Mauchin 9 | # 10 | # Permission is hereby granted, free of charge, to any person obtaining a copy 11 | # of this software and associated documentation files (the "Software"), to deal 12 | # in the Software without restriction, including without limitation the rights 13 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | # copies of the Software, and to permit persons to whom the Software is 15 | # furnished to do so, subject to the following conditions: 16 | # 17 | # The above copyright notice and this permission notice shall be included in all 18 | # copies or substantial portions of the Software. 19 | # 20 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | # SOFTWARE. 27 | 28 | # Check if the RPM SPEC file is given as an argument 29 | if [[ $# -ne 1 ]]; then 30 | echo "Usage: $0 " 31 | exit 1 32 | fi 33 | 34 | RPM_SPEC_FILE=$1 35 | 36 | # Extract the directory from the RPM SPEC file path 37 | SPEC_DIR=$(dirname "$(realpath "$RPM_SPEC_FILE")") 38 | 39 | # Extract the URL, commit, tag, and version from the RPM SPEC file 40 | FORGEURL=$(awk '/^%global forgeurl/ {print $NF}' "$RPM_SPEC_FILE") 41 | GOIPATH=$(awk '/^%global goipath/ {print $NF}' "$RPM_SPEC_FILE") 42 | PLAINURL=$(awk '/^URL:/ {print $NF}' "$RPM_SPEC_FILE") 43 | COMMIT=$(awk '/^%global commit0/ {print $NF}' "$RPM_SPEC_FILE") 44 | COMMIT_UNNEEDED=$(grep -q "%global bumpver" "$RPM_SPEC_FILE"; echo $?) 45 | TAG=$(awk '/^%global tag/ {print $NF}' "$RPM_SPEC_FILE") 46 | VERSION=$(rpmspec -q --srpm --qf "%{version}\n" "$RPM_SPEC_FILE" | sed 's/\^.*//') 47 | 48 | # Decide which URL to use 49 | if [[ -n "$FORGEURL" ]]; then 50 | REPO_URL="$FORGEURL" 51 | elif [[ -n "$GOIPATH" ]]; then 52 | REPO_URL="https://$GOIPATH" 53 | elif [[ -n "$PLAINURL" ]]; then 54 | REPO_URL="${PLAINURL}.git" 55 | else 56 | echo "No repository URL found in the RPM SPEC file." 57 | exit 2 58 | fi 59 | 60 | # Create a temporary directory and clone the repository 61 | TMP_DIR=$(mktemp -d) 62 | trap "rm -rf $TMP_DIR" EXIT 63 | git clone "$REPO_URL" "$TMP_DIR" 64 | if [[ $? -ne 0 ]]; then 65 | echo "Failed to clone repository." 66 | exit 3 67 | fi 68 | 69 | # Change to the directory 70 | pushd "$TMP_DIR" > /dev/null 71 | 72 | # Checkout based on priority: commit > tag > Version 73 | CHECKOUT_SUCCESS=0 74 | if [[ -n "$COMMIT" && "$COMMIT_UNNEEDED" != "1" ]]; then 75 | CHECKOUT_IDENTIFIER="$COMMIT" 76 | git checkout "$CHECKOUT_IDENTIFIER" && CHECKOUT_SUCCESS=1; CHECKOUT_IDENTIFIER="${COMMIT:0:7}" 77 | elif [[ -n "$TAG" ]]; then 78 | CHECKOUT_IDENTIFIER="$TAG" 79 | git checkout "$CHECKOUT_IDENTIFIER" && CHECKOUT_SUCCESS=1 80 | elif [[ -n "$VERSION" ]]; then 81 | CHECKOUT_IDENTIFIER="$VERSION" 82 | git checkout "$VERSION" || git checkout "v$VERSION" 83 | if [ $? -eq 0 ]; then 84 | CHECKOUT_SUCCESS=1 85 | fi 86 | else 87 | echo "No commit, tag, or version found in the RPM SPEC file." 88 | exit 4 89 | fi 90 | 91 | if [ $CHECKOUT_SUCCESS -eq 0 ]; then 92 | echo "Failed to checkout using commit, tag, or version." 93 | exit 5 94 | fi 95 | 96 | go mod tidy 97 | # Run go mod vendor 98 | go mod vendor 99 | if [[ $? -ne 0 ]]; then 100 | echo "Failed to run 'go mod vendor'." 101 | exit 6 102 | fi 103 | 104 | # Create a tar.gz of the vendor directory 105 | tar czf "vendor-$CHECKOUT_IDENTIFIER.tar.gz" vendor/ 106 | if [[ $? -ne 0 ]]; then 107 | echo "Failed to create tar.gz of the vendor directory." 108 | exit 7 109 | fi 110 | 111 | # Move the tar.gz to the SPEC directory 112 | mv "vendor-$CHECKOUT_IDENTIFIER.tar.gz" "$SPEC_DIR/" 113 | 114 | # Go back to the original directory 115 | popd > /dev/null 116 | 117 | echo "Created vendor-$CHECKOUT_IDENTIFIER.tar.gz successfully." 118 | -------------------------------------------------------------------------------- /astal/astal-libs/astal-libs.spec: -------------------------------------------------------------------------------- 1 | %global astal_commit 7f2292f0792ffc9b127d4788b3dd3f104b5374b2 2 | %global astal_shortcommit %(c=%{astal_commit}; echo ${c:0:7}) 3 | %global bumpver 13 4 | 5 | %global _lto_cflags %{nil} 6 | 7 | Name: astal-libs 8 | Version: 0~%{bumpver}.git%{astal_shortcommit} 9 | Release: %autorelease 10 | Summary: Astal libraries 11 | 12 | License: LGPL-2.1-only 13 | URL: https://github.com/Aylur/astal 14 | Source0: %{url}/archive/%{astal_commit}/%{name}-%{astal_shortcommit}.tar.gz 15 | Source1: https://github.com/LukashonakV/cava/archive/0.10.3.tar.gz 16 | 17 | BuildRequires: gcc 18 | BuildRequires: iniparser-devel 19 | BuildRequires: meson 20 | BuildRequires: pkgconfig(alsa) 21 | BuildRequires: pkgconfig(appmenu-glib-translator) 22 | BuildRequires: pkgconfig(astal-3.0) 23 | BuildRequires: pkgconfig(astal-io-0.1) 24 | BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) 25 | BuildRequires: pkgconfig(fftw3) 26 | BuildRequires: pkgconfig(gdk-pixbuf-2.0) 27 | BuildRequires: pkgconfig(gio-2.0) 28 | BuildRequires: pkgconfig(gio-unix-2.0) 29 | BuildRequires: pkgconfig(glib-2.0) 30 | BuildRequires: pkgconfig(gobject-2.0) 31 | BuildRequires: pkgconfig(gobject-introspection-1.0) 32 | BuildRequires: pkgconfig(json-glib-1.0) 33 | BuildRequires: pkgconfig(libnm) 34 | BuildRequires: pkgconfig(libpipewire-0.3) 35 | BuildRequires: pkgconfig(libpulse) 36 | BuildRequires: pkgconfig(ncursesw) 37 | BuildRequires: pkgconfig(pam) 38 | BuildRequires: pkgconfig(sdl2) 39 | BuildRequires: pkgconfig(wireplumber-0.5) 40 | BuildRequires: python3 41 | BuildRequires: vala 42 | BuildRequires: valadoc 43 | 44 | %package devel 45 | Summary: Development files for %{name} 46 | Requires: %{name}%{?_isa} = %{version}-%{release} 47 | %description devel 48 | Development files for %{name}. 49 | 50 | %description 51 | %{summary}. 52 | 53 | %prep 54 | %autosetup -n astal-%{astal_commit} -p1 55 | tar -xf %{SOURCE1} -C lib/cava/subprojects 56 | 57 | %build 58 | cd lib 59 | for lib in $(find -maxdepth 1 -mindepth 1 -type d -not -path ./astal); do 60 | pushd $lib 61 | %meson --auto-features=auto 62 | %meson_build 63 | popd 64 | done 65 | 66 | %install 67 | cd lib 68 | for lib in $(find -maxdepth 1 -mindepth 1 -type d -not -path ./astal); do 69 | pushd $lib 70 | %meson_install 71 | popd 72 | done 73 | sed -i 's/ cava,//' %{buildroot}%{_libdir}/pkgconfig/astal-cava-0.1.pc 74 | rm -rf %{buildroot}%{_includedir}/cava 75 | rm -rf %{buildroot}%{_datadir}/consolefonts/cava.psf 76 | rm -rf %{buildroot}%{_libdir}/pkgconfig/cava.pc 77 | 78 | %files 79 | %license LICENSE 80 | %config(noreplace) /etc/pam.d/astal-auth 81 | %{_bindir}/astal-apps 82 | %{_bindir}/astal-auth 83 | %{_bindir}/astal-battery 84 | %{_bindir}/astal-greet 85 | %{_bindir}/astal-hyprland 86 | %{_bindir}/astal-mpris 87 | %{_bindir}/astal-notifd 88 | %{_bindir}/astal-power-profiles 89 | %{_bindir}/astal-river 90 | %{_bindir}/astal-tray 91 | %{_libdir}/girepository-1.0/AstalApps-0.1.typelib 92 | %{_libdir}/girepository-1.0/AstalAuth-0.1.typelib 93 | %{_libdir}/girepository-1.0/AstalBattery-0.1.typelib 94 | %{_libdir}/girepository-1.0/AstalBluetooth-0.1.typelib 95 | %{_libdir}/girepository-1.0/AstalCava-0.1.typelib 96 | %{_libdir}/girepository-1.0/AstalGreet-0.1.typelib 97 | %{_libdir}/girepository-1.0/AstalHyprland-0.1.typelib 98 | %{_libdir}/girepository-1.0/AstalMpris-0.1.typelib 99 | %{_libdir}/girepository-1.0/AstalNetwork-0.1.typelib 100 | %{_libdir}/girepository-1.0/AstalNotifd-0.1.typelib 101 | %{_libdir}/girepository-1.0/AstalPowerProfiles-0.1.typelib 102 | %{_libdir}/girepository-1.0/AstalRiver-0.1.typelib 103 | %{_libdir}/girepository-1.0/AstalTray-0.1.typelib 104 | %{_libdir}/girepository-1.0/AstalWp-0.1.typelib 105 | %{_libdir}/libastal-apps.so.0{,.*} 106 | %{_libdir}/libastal-auth.so.0{,.*} 107 | %{_libdir}/libastal-battery.so.0{,.*} 108 | %{_libdir}/libastal-bluetooth.so.0{,.*} 109 | %{_libdir}/libastal-cava.so.0{,.*} 110 | %{_libdir}/libastal-greet.so.0{,.*} 111 | %{_libdir}/libastal-hyprland.so.0{,.*} 112 | %{_libdir}/libastal-mpris.so.0{,.*} 113 | %{_libdir}/libastal-network.so.0{,.*} 114 | %{_libdir}/libastal-notifd.so.0{,.*} 115 | %{_libdir}/libastal-power-profiles.so.0{,.*} 116 | %{_libdir}/libastal-river.so.0{,.*} 117 | %{_libdir}/libastal-tray.so.0{,.*} 118 | %{_libdir}/libastal-wireplumber.so.0{,.*} 119 | %{_libdir}/libcava.so 120 | 121 | %files devel 122 | %{_datadir}/gir-1.0/Astal*-0.1.gir 123 | %{_datadir}/vala/vapi/astal-*-0.1.deps 124 | %{_datadir}/vala/vapi/astal-*-0.1.vapi 125 | %{_includedir}/astal-*.h 126 | %{_includedir}/astal/ 127 | %{_libdir}/libastal-apps.so 128 | %{_libdir}/libastal-auth.so 129 | %{_libdir}/libastal-battery.so 130 | %{_libdir}/libastal-bluetooth.so 131 | %{_libdir}/libastal-cava.so 132 | %{_libdir}/libastal-greet.so 133 | %{_libdir}/libastal-hyprland.so 134 | %{_libdir}/libastal-mpris.so 135 | %{_libdir}/libastal-network.so 136 | %{_libdir}/libastal-notifd.so 137 | %{_libdir}/libastal-power-profiles.so 138 | %{_libdir}/libastal-river.so 139 | %{_libdir}/libastal-tray.so 140 | %{_libdir}/libastal-wireplumber.so 141 | %{_libdir}/pkgconfig/astal-*.pc 142 | 143 | %changelog 144 | %autochangelog 145 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 0.49.0 → last version for Fedora 41 2 | 3 | 0.51.0 → likely the last version for Fedora 42 (as of 2025-09-15, hyprland-git fails to build on F42) 4 | 5 | 0.51.0+ → would require Fedora 43 6 | 7 | A collection of Hyprland and related packages: 8 | 9 | * **[hyprland](https://wiki.hyprland.org/)** – A highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks. 10 | * **[xdg-desktop-portal-hyprland](https://wiki.hyprland.org/Useful-Utilities/Hyprland-desktop-portal/)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland.spec) – xdg-desktop-portal backend for hyprland. 11 | * **hyprland-git** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprland-git/hyprland-git.spec) – Hyprland git snapshots. 12 | * **[hyprland-contrib](https://github.com/hyprwm/contrib)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprland-contrib/hyprland-contrib.spec) – Community scripts and utilities for Hypr projects. 13 | * **[hyprland-plugins](https://github.com/hyprwm/hyprland-plugins)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprland-plugins/hyprland-plugins.spec) – Official [plugins](https://wiki.hyprland.org/Plugins/Using-Plugins/) for the hyprland package. (Installed in /usr/lib64/hyprland) 14 | * **hyprland-plugins-git** – Official [plugins](https://wiki.hyprland.org/Plugins/Using-Plugins/) for the hyprland-git package. (Installed in /usr/lib64/hyprland) 15 | * **[hyprpaper](https://github.com/hyprwm/hyprpaper)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprpaper/hyprpaper.spec) – A blazing fast wayland [wallpaper](https://wiki.hyprland.org/hyprland-wiki/pages/Useful-Utilities/Wallpapers/) utility with IPC controls. 16 | * **[hyprpicker](https://github.com/hyprwm/hyprpicker)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprpicker/hyprpaper.spec) – A wlroots-compatible Wayland color picker. 17 | * **[hypridle](https://github.com/hyprwm/hypridle)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hypridle/hypridle.spec) - Hyprland's idle daemon. 18 | * **[hyprlock](https://github.com/hyprwm/hyprlock)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprlock/hyprlock.spec) - Hyprland's GPU-accelerated screen locking utility. 19 | * **[hyprsunset](https://github.com/hyprwm/hyprsunset)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprsunset/hyprsunset.spec) - An application to enable a blue-light filter on Hyprland. 20 | * **[hyprpolkitagent](https://github.com/hyprwm/hyprpolkitagent)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprpolkitagent/hyprpolkitagent.spec) - A simple polkit authentication agent for Hyprland. 21 | * **[hyprsysteminfo](https://github.com/hyprwm/hyprsysteminfo)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprsysteminfo/hyprsysteminfo.spec) - An application to display information about the running system. 22 | * **[hyprland-autoname-workspaces](https://github.com/hyprland-community/hyprland-autoname-workspaces)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprland-autoname-workspaces/hyprland-autoname-workspaces.spec) – Automatically rename workspaces with icons of started applications. 23 | * **[hyprshot](https://github.com/Gustash/Hyprshot)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprshot/hyprshot.spec) – A utility to easily take screenshots in Hyprland using your mouse. 24 | * **[satty](https://github.com/gabm/Satty)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/satty/satty.spec) – A screenshot annotation tool inspired by Swappy and Flameshot. 25 | * **[aylurs-gtk-shell](https://github.com/Aylur/ags)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/aylurs-gtk-shell/aylurs-gtk-shell.spec) - Aylurs's Gtk Shell (AGS), An eww inspired gtk widget system (legacy version). 26 | * **[aylurs-gtk-shell2](https://github.com/Aylur/ags)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/astal/aylurs-gtk-shell2/aylurs-gtk-shell2.spec) - CLI around [Astal](https://github.com/aylur/astal) to scaffold and run projects. 27 | * **[hyprpanel](https://hyprpanel.com/)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/astal/hyprpanel/hyprpanel.spec) - A Bar/Panel for Hyprland with extensive customizability. 28 | * **[waybar-git](https://github.com/Alexays/Waybar)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/waybar-git/waybar-git.spec) – waybar git snapshots. 29 | * **[eww-git](https://elkowar.github.io/eww/eww.html)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/eww-git/eww-git.spec) – A widget system made in Rust (git snapshots). 30 | * **[cliphist](https://github.com/sentriz/cliphist)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/cliphist/cliphist.spec) – Wayland clipboard manager. 31 | * **[nwg-clipman](https://github.com/nwg-piotr/nwg-clipman)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/nwg-clipman/nwg-clipman.spec) - GTK3-based GUI for cliphist. 32 | * **[swww](https://github.com/Horus645/swww)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/swww/swww.spec) – Efficient animated wallpaper daemon for wayland, controlled at runtime. 33 | * **[waypaper](https://github.com/anufrievroman/waypaper)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/waypaper/waypaper.spec) - GUI wallpaper manager. 34 | * **[hyprnome](https://github.com/donovanglover/hyprnome)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprnome/hyprnome.spec) – GNOME-like workspace switching in Hyprland. 35 | * **[hyprdim](https://github.com/donovanglover/hyprdim)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprdim/hyprdim.spec) – Automatically dim windows in Hyprland when switching between them. 36 | * **[swaylock-effects](https://github.com/jirutka/swaylock-effects)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/swaylock-effects/swaylock-effects.spec) - Swaylock, with fancy effects. 37 | * **[pyprland](https://github.com/hyprland-community/pyprland)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/pyprland/pyprland.spec) - Hyprland extensions. 38 | * **[mpvpaper](https://github.com/GhostNaN/mpvpaper)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/mpvpaper/mpvpaper.spec) - A video wallpaper program for wlroots based wayland compositors. 39 | * **[uwsm](https://github.com/Vladimir-csp/uwsm)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/uwsm/uwsm.spec) - Universal Wayland Session Manager. 40 | * **[qt6ct-kde](https://github.com/ilya-fedin/qt6ct)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/qt6ct-kde/qt6ct.spec) - Qt6 Configuration Utility, patched for proper integration with KDE applications. 41 | * **[hyprqt6engine](https://github.com/hyprwm/hyprqt6engine)** [(spec)](https://github.com/solopasha/hyprlandRPM/blob/master/hyprqt6engine/hyprqt6engine.spec) - Qt6 Theme Provider for Hyprland. 42 | 43 | ## If you find this repository helpful, please consider supporting it with a donation 44 | 45 | TJWXhcsoGQbbJTe9uxHd5QjdDu9yU7b2S3 (USDT TRC20) 46 | 47 | TJWXhcsoGQbbJTe9uxHd5QjdDu9yU7b2S3 (Tron) 48 | 49 | 0x03b1C69d364119441c6a6B41Aeb4859E62dFc366 (USDT Ethereum) 50 | 51 | bc1qna5rg328tdufshjhtjtkq69nraclqy4x77jr7w (BTC) 52 | 53 | 0x03b1C69d364119441c6a6B41Aeb4859E62dFc366 (ETH) 54 | -------------------------------------------------------------------------------- /waybar-git/waybar-git.spec: -------------------------------------------------------------------------------- 1 | %bcond wireplumber %[0%{?fedora} > 39] 2 | 3 | %global commit0 161367d9617673a4ef9caf8299411dc5153464d1 4 | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) 5 | %global bumpver 5 6 | 7 | Name: waybar-git 8 | Version: 0.14.0%{?bumpver:^%{bumpver}.git%{shortcommit0}} 9 | Release: 1%{?dist} 10 | Summary: Highly customizable Wayland bar for Sway and Wlroots based compositors, with workspaces support for Hyprland 11 | # Source files/overall project licensed as MIT, but 12 | # - BSL-1.0 13 | # * include/util/clara.hpp 14 | # - HPND-sell-variant 15 | # * protocol/ext-workspace-unstable-v1.xml 16 | # * protocol/wlr-foreign-toplevel-management-unstable-v1.xml 17 | # * protocol/wlr-layer-shell-unstable-v1.xml 18 | # - ISC 19 | # * protocol/river-control-unstable-v1.xml 20 | # * protocol/river-status-unstable-v1.xml 21 | # * src/util/rfkill.cpp 22 | License: MIT AND BSL-1.0 AND ISC 23 | URL: https://github.com/Alexays/Waybar 24 | Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz 25 | 26 | BuildRequires: gcc 27 | BuildRequires: gcc-c++ 28 | BuildRequires: meson >= 0.49.0 29 | BuildRequires: scdoc 30 | BuildRequires: systemd-rpm-macros 31 | %if %{fedora} >= 40 32 | BuildRequires: pkgconfig(catch2) 33 | %endif 34 | BuildRequires: pkgconfig(date) 35 | BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) 36 | BuildRequires: pkgconfig(fmt) >= 8.1.1 37 | BuildRequires: pkgconfig(gdk-pixbuf-2.0) 38 | BuildRequires: pkgconfig(gio-unix-2.0) 39 | BuildRequires: pkgconfig(gtk-layer-shell-0) 40 | BuildRequires: pkgconfig(gtkmm-3.0) 41 | BuildRequires: pkgconfig(jack) 42 | BuildRequires: pkgconfig(jsoncpp) 43 | BuildRequires: pkgconfig(libevdev) 44 | BuildRequires: pkgconfig(libinput) 45 | BuildRequires: pkgconfig(libmpdclient) 46 | BuildRequires: pkgconfig(libnl-3.0) 47 | BuildRequires: pkgconfig(libnl-genl-3.0) 48 | BuildRequires: pkgconfig(libpulse) 49 | BuildRequires: pkgconfig(libudev) 50 | BuildRequires: pkgconfig(playerctl) 51 | BuildRequires: pkgconfig(sigc++-2.0) 52 | BuildRequires: pkgconfig(spdlog) >= 1.10.0 53 | BuildRequires: pkgconfig(systemd) 54 | BuildRequires: pkgconfig(upower-glib) 55 | BuildRequires: pkgconfig(wayland-client) 56 | BuildRequires: pkgconfig(wayland-cursor) 57 | BuildRequires: pkgconfig(wayland-protocols) 58 | %if %{with wireplumber} 59 | BuildRequires: pkgconfig(wireplumber-0.5) 60 | %endif 61 | BuildRequires: pkgconfig(libpipewire-0.3) 62 | BuildRequires: pkgconfig(xkbregistry) 63 | BuildRequires: python3dist(packaging) 64 | BuildRequires: pkgconfig(libgps) 65 | 66 | Conflicts: waybar 67 | Provides: waybar 68 | 69 | Enhances: hyprland 70 | Recommends: (font(fontawesome6free) or font(fontawesome5free)) 71 | 72 | %description 73 | %{summary}. 74 | 75 | %prep 76 | %autosetup -p1 -n Waybar-%{commit0} 77 | 78 | %build 79 | %meson \ 80 | %if %{fedora} < 40 81 | -Dtests=disabled \ 82 | %endif 83 | -Dsndio=disabled \ 84 | -Dcava=disabled \ 85 | %{!?with_wireplumber:-Dwireplumber=disabled} 86 | %meson_build 87 | 88 | %install 89 | %meson_install 90 | # remove man pages for disabled modules 91 | for module in cava sndio %{!?with_wireplumber:wireplumber} wlr-workspaces; do 92 | rm -f %{buildroot}%{_mandir}/man5/%{name}-${module}.5 93 | done 94 | 95 | %check 96 | %meson_test 97 | 98 | %post 99 | %systemd_user_post waybar.service 100 | 101 | %preun 102 | %systemd_user_preun waybar.service 103 | 104 | 105 | %files 106 | %license LICENSE 107 | %doc README.md 108 | %dir %{_sysconfdir}/xdg/waybar 109 | %config(noreplace) %{_sysconfdir}/xdg/waybar/config.jsonc 110 | %config(noreplace) %{_sysconfdir}/xdg/waybar/style.css 111 | %{_bindir}/waybar 112 | %{_mandir}/man5/waybar* 113 | %{_userunitdir}/waybar.service 114 | 115 | %changelog 116 | * Sat Jan 21 2023 Fedora Release Engineering - 0.9.17-2 117 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild 118 | 119 | * Wed Jan 11 2023 Aleksei Bavshin - 0.9.17-1 120 | - Update to 0.9.17 121 | - Convert License tag to SPDX 122 | 123 | * Thu Nov 24 2022 Aleksei Bavshin - 0.9.16-1 124 | - Update to 0.9.16 (#2139998) 125 | 126 | * Thu Nov 03 2022 Vitaly Zaitsev - 0.9.13-4 127 | - Rebuilt due to spdlog update. 128 | 129 | * Sat Jul 23 2022 Fedora Release Engineering - 0.9.13-3 130 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild 131 | 132 | * Sat Jul 16 2022 Aleksei Bavshin - 0.9.13-2 133 | - Rebuild for fmt 9.0.0 134 | 135 | * Mon May 23 2022 Aleksei Bavshin - 0.9.13-1 136 | - Update to 0.9.13 (#2089525) 137 | 138 | * Thu Mar 10 2022 Aleksei Bavshin - 0.9.12-1 139 | - Update to 0.9.12 (#2062615) 140 | 141 | * Sun Mar 06 2022 Aleksei Bavshin - 0.9.10-1 142 | - Update to 0.9.10 (#2061176) 143 | 144 | * Sat Jan 22 2022 Fedora Release Engineering - 0.9.9-2 145 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild 146 | 147 | * Mon Jan 10 2022 Aleksei Bavshin - 0.9.9-1 148 | - Update to 0.9.9 149 | - Install systemd user service 150 | 151 | * Wed Nov 03 2021 Björn Esser - 0.9.8-3 152 | - Rebuild (jsoncpp) 153 | 154 | * Tue Nov 02 2021 Aleksei Bavshin - 0.9.8-2 155 | - Add patch for 'river/tags' protocol error on River 156 | 157 | * Mon Aug 16 2021 Aleksei Bavshin - 0.9.8-1 158 | - Update to 0.9.8 159 | 160 | * Fri Jul 23 2021 Fedora Release Engineering - 0.9.7-4 161 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild 162 | 163 | * Mon Jul 05 2021 Richard Shaw - 0.9.7-3 164 | - Rebuild for new fmt version. 165 | 166 | * Tue Jun 15 2021 Aleksei Bavshin - 0.9.7-2 167 | - Add patch for waybar crash on disabling outputs 168 | 169 | * Thu Apr 15 2021 Aleksei Bavshin - 0.9.7-1 170 | - Update to 0.9.7 171 | 172 | * Thu Apr 15 2021 Aleksei Bavshin - 0.9.6-1 173 | - Update to 0.9.6 174 | 175 | * Wed Feb 10 2021 Aleksei Bavshin - 0.9.5-4 176 | - Add patch for rfkill exception with kernel 5.11 177 | - Fixes rhbz#1927821 178 | 179 | * Wed Jan 27 2021 Fedora Release Engineering - 0.9.5-3 180 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild 181 | 182 | * Mon Jan 11 2021 Aleksei Bavshin - 0.9.5-2 183 | - Fix build with spdlog 1.5 (f32) 184 | - Add patch for possible crashes in 'wlr/taskbar' 185 | 186 | * Wed Dec 23 2020 Aleksei Bavshin - 0.9.5-1 187 | - Update to 0.9.5 188 | 189 | * Fri Nov 13 2020 Aleksei Bavshin - 0.9.4-3 190 | - Add patch for 'wlr/taskbar' protocol error with wlroots 0.12.0 191 | 192 | * Tue Nov 03 2020 Jeff Law - 0.9.4-2 193 | - Fix mising #includes for gcc-11 194 | 195 | * Mon Sep 21 2020 Aleksei Bavshin - 0.9.4-1 196 | - Update to 0.9.4 197 | 198 | * Sun Sep 20 2020 Aleksei Bavshin - 0.9.3-2 199 | - Add patch for custom module signal handling regression 200 | - Add patch for network module crash with fmt 7.0 201 | - Add patch for broken updates in mpd and network modules 202 | 203 | * Wed Aug 05 2020 Aleksei Bavshin - 0.9.3-1 204 | - Update to 0.9.3 (closes rhbz#1866571) 205 | - Add patch for wlr/taskbar config strings 206 | 207 | * Mon Aug 03 2020 Aleksei Bavshin - 0.9.2-4 208 | - Rebuild (date) 209 | 210 | * Wed Jul 29 2020 Fedora Release Engineering - 0.9.2-3 211 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild 212 | 213 | * Sat May 30 2020 Björn Esser - 0.9.2-2 214 | - Rebuild (jsoncpp) 215 | 216 | * Sat Apr 11 2020 Aleksei Bavshin - 0.9.2-1 217 | - Update to 0.9.2 218 | 219 | * Mon Feb 10 2020 Aleksei Bavshin - 0.9.1-1 220 | - Update to 0.9.1 221 | - Remove upstreamed patch 222 | - Add BuildRequires: pkgconfig(date) 223 | 224 | * Sat Feb 08 2020 Aleksei Bavshin - 0.9.0-1 225 | - Initial import (#1798811) 226 | -------------------------------------------------------------------------------- /hyprland-git/hyprland-git.spec: -------------------------------------------------------------------------------- 1 | %global hyprland_commit ff50dc36e912b6ad764802d51be838bc7f6ed323 2 | %global hyprland_shortcommit %(c=%{hyprland_commit}; echo ${c:0:7}) 3 | %global bumpver 58 4 | %global commits_count 6545 5 | %global commit_date Wed Oct 29 00:53:42 2025 6 | 7 | %global protocols_commit 3a5c2bda1c1a4e55cc1330c782547695a93f05b2 8 | %global protocols_shortcommit %(c=%{protocols_commit}; echo ${c:0:7}) 9 | 10 | %global udis86_commit 5336633af70f3917760a6d441ff02d93477b0c86 11 | %global udis86_shortcommit %(c=%{udis86_commit}; echo ${c:0:7}) 12 | 13 | %global libxkbcommon_version 1.11.0 14 | 15 | Name: hyprland-git 16 | Version: 0.51.1%{?bumpver:^%{bumpver}.git%{hyprland_shortcommit}} 17 | Release: %autorelease 18 | Summary: Dynamic tiling Wayland compositor that doesn't sacrifice on its looks 19 | 20 | # hyprland: BSD-3-Clause 21 | # subprojects/hyprland-protocols: BSD-3-Clause 22 | # subproject/udis86: BSD-2-Clause 23 | # protocols/ext-workspace-unstable-v1.xml: HPND-sell-variant 24 | # protocols/wlr-foreign-toplevel-management-unstable-v1.xml: HPND-sell-variant 25 | # protocols/wlr-layer-shell-unstable-v1.xml: HPND-sell-variant 26 | # protocols/idle.xml: LGPL-2.1-or-later 27 | License: BSD-3-Clause AND BSD-2-Clause AND HPND-sell-variant AND LGPL-2.1-or-later 28 | URL: https://github.com/hyprwm/Hyprland 29 | %if 0%{?bumpver} 30 | Source0: %{url}/archive/%{hyprland_commit}/%{name}-%{hyprland_shortcommit}.tar.gz 31 | Source2: https://github.com/hyprwm/hyprland-protocols/archive/%{protocols_commit}/protocols-%{protocols_shortcommit}.tar.gz 32 | Source3: https://github.com/canihavesomecoffee/udis86/archive/%{udis86_commit}/udis86-%{udis86_shortcommit}.tar.gz 33 | %else 34 | Source0: %{url}/releases/download/v%{version}/source-v%{version}.tar.gz 35 | %endif 36 | Source4: macros.hyprland 37 | Source5: https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-%{libxkbcommon_version}/libxkbcommon-%{libxkbcommon_version}.tar.gz 38 | 39 | %{lua: 40 | hyprdeps = { 41 | "cmake", 42 | "gcc-c++", 43 | "meson", 44 | "glaze-static", 45 | "pkgconfig(aquamarine)", 46 | "pkgconfig(cairo)", 47 | "pkgconfig(egl)", 48 | "pkgconfig(gbm)", 49 | "pkgconfig(gio-2.0)", 50 | "pkgconfig(glesv2)", 51 | "pkgconfig(hwdata)", 52 | "pkgconfig(hyprcursor)", 53 | "pkgconfig(hyprgraphics)", 54 | "pkgconfig(hyprlang)", 55 | "pkgconfig(hyprutils)", 56 | "pkgconfig(hyprwayland-scanner)", 57 | "pkgconfig(libdisplay-info)", 58 | "pkgconfig(libdrm)", 59 | "pkgconfig(libinput) >= 1.28", 60 | "pkgconfig(libliftoff)", 61 | "pkgconfig(libseat)", 62 | "pkgconfig(libudev)", 63 | "pkgconfig(pango)", 64 | "pkgconfig(pangocairo)", 65 | "pkgconfig(pixman-1)", 66 | "pkgconfig(re2)", 67 | "pkgconfig(systemd)", 68 | "pkgconfig(tomlplusplus)", 69 | "pkgconfig(uuid)", 70 | "pkgconfig(wayland-client)", 71 | "pkgconfig(wayland-protocols) >= 1.45", 72 | "pkgconfig(wayland-scanner)", 73 | "pkgconfig(wayland-server)", 74 | "pkgconfig(xcb-composite)", 75 | "pkgconfig(xcb-dri3)", 76 | "pkgconfig(xcb-errors)", 77 | "pkgconfig(xcb-ewmh)", 78 | "pkgconfig(xcb-icccm)", 79 | "pkgconfig(xcb-present)", 80 | "pkgconfig(xcb-render)", 81 | "pkgconfig(xcb-renderutil)", 82 | "pkgconfig(xcb-res)", 83 | "pkgconfig(xcb-shm)", 84 | "pkgconfig(xcb-util)", 85 | "pkgconfig(xcb-xfixes)", 86 | "pkgconfig(xcb-xinput)", 87 | "pkgconfig(xcb)", 88 | "pkgconfig(xcursor)", 89 | "pkgconfig(xwayland)", 90 | } 91 | } 92 | %if 0%{?fedora} > 42 93 | BuildRequires: pkgconfig(xkbcommon) 94 | %endif 95 | 96 | %define printbdeps(r) %{lua: 97 | for _, dep in ipairs(hyprdeps) do 98 | print((rpm.expand("%{-r}") ~= "" and "Requires: " or "BuildRequires: ")..dep.."\\n") 99 | end 100 | } 101 | 102 | %printbdeps 103 | 104 | %if 0%{?rhel} == 10 105 | BuildRequires: gcc-toolset-15 106 | BuildRequires: gcc-toolset-15-gcc-c++ 107 | BuildRequires: gcc-toolset-15-annobin-plugin-gcc 108 | %endif 109 | 110 | %if 0%{?fedora} < 43 111 | BuildRequires: byacc flex bison 112 | BuildRequires: xorg-x11-proto-devel libX11-devel 113 | BuildRequires: xkeyboard-config-devel 114 | BuildRequires: pkgconfig(xcb-xkb) 115 | BuildRequires: libxml2-devel 116 | %endif 117 | 118 | # udis86 is packaged in Fedora, but the copy bundled here is actually a 119 | # modified fork. 120 | Provides: bundled(udis86) = 1.7.2^1.%{udis86_shortcommit} 121 | %if 0%{?fedora} < 43 122 | Provides: bundled(libxkbcommon) = %{libxkbcommon_version} 123 | %endif 124 | 125 | Requires: xorg-x11-server-Xwayland%{?_isa} 126 | Requires: aquamarine%{?_isa} >= 0.9.2 127 | Requires: hyprcursor%{?_isa} >= 0.1.13 128 | Requires: hyprgraphics%{?_isa} >= 0.1.6 129 | Requires: hyprlang%{?_isa} >= 0.6.3 130 | Requires: hyprutils%{?_isa} >= 0.8.4 131 | 132 | %{lua:do 133 | if string.match(rpm.expand('%{name}'), '%-git$') then 134 | print('Conflicts: hyprland'..'\n') 135 | print('Obsoletes: hyprland-nvidia-git < 0.32.3^30.gitad3f688-2'..'\n') 136 | print(rpm.expand('Provides: hyprland-nvidia-git = %{version}-%{release}')..'\n') 137 | print('Obsoletes: hyprland-aquamarine-git < 0.41.2^20.git4b84029-2'..'\n') 138 | elseif not string.match(rpm.expand('%{name}'), 'hyprland$') then 139 | print(rpm.expand('Provides: hyprland = %{version}-%{release}')..'\n') 140 | print('Conflicts: hyprland'..'\n') 141 | else 142 | print('Obsoletes: hyprland-nvidia < 1:0.32.3-2'..'\n') 143 | print(rpm.expand('Provides: hyprland-nvidia = %{version}-%{release}')..'\n') 144 | print('Obsoletes: hyprland-legacyrenderer < 0.49.0'..'\n') 145 | end 146 | end} 147 | 148 | # Used in the default configuration 149 | Recommends: kitty 150 | Recommends: wofi 151 | Recommends: playerctl 152 | Recommends: brightnessctl 153 | Recommends: hyprland-qtutils 154 | # Lack of graphical drivers may hurt the common use case 155 | Recommends: mesa-dri-drivers 156 | # Logind needs polkit to create a graphical session 157 | Recommends: polkit 158 | # https://wiki.hyprland.org/Useful-Utilities/Systemd-start 159 | Recommends: %{name}-uwsm 160 | 161 | Recommends: (qt5-qtwayland if qt5-qtbase-gui) 162 | Recommends: (qt6-qtwayland if qt6-qtbase-gui) 163 | 164 | %description 165 | Hyprland is a dynamic tiling Wayland compositor that doesn't sacrifice 166 | on its looks. It supports multiple layouts, fancy effects, has a 167 | very flexible IPC model allowing for a lot of customization, a powerful 168 | plugin system and more. 169 | 170 | %package uwsm 171 | Summary: Files for a uwsm-managed session 172 | Requires: uwsm 173 | %description uwsm 174 | Files for a uwsm-managed session. 175 | 176 | %package devel 177 | Summary: Header and protocol files for %{name} 178 | License: BSD-3-Clause 179 | Requires: %{name}%{?_isa} = %{version}-%{release} 180 | Requires: cpio 181 | %{lua:do 182 | if string.match(rpm.expand('%{name}'), 'hyprland%-git$') then 183 | print('Obsoletes: hyprland-nvidia-git-devel < 0.32.3^30.gitad3f688-2'..'\n') 184 | print(rpm.expand('Provides: hyprland-nvidia-git-devel = %{version}-%{release}')..'\n') 185 | print('Obsoletes: hyprland-aquamarine-git-devel < 0.41.2^20.git4b84029-2'..'\n') 186 | elseif string.match(rpm.expand('%{name}'), 'hyprland$') then 187 | print('Obsoletes: hyprland-nvidia-devel < 1:0.32.3-2'..'\n') 188 | print(rpm.expand('Provides: hyprland-nvidia-devel = %{version}-%{release}')..'\n') 189 | print('Obsoletes: hyprland-legacyrenderer-devel < 0.49.0'..'\n') 190 | end 191 | end} 192 | %printbdeps -r 193 | Requires: git-core 194 | Requires: pkgconfig(xkbcommon) 195 | 196 | %description devel 197 | %{summary}. 198 | 199 | 200 | %prep 201 | %autosetup -n %{?bumpver:Hyprland-%{hyprland_commit}} %{!?bumpver:hyprland-source} -N 202 | %if 0%{?fedora} < 43 203 | mkdir -p subprojects/libxkbcommon 204 | tar -xf %{SOURCE5} -C subprojects/libxkbcommon --strip=1 205 | %endif 206 | 207 | %if 0%{?bumpver} 208 | tar -xf %{SOURCE2} -C subprojects/hyprland-protocols --strip=1 209 | tar -xf %{SOURCE3} -C subprojects/udis86 --strip=1 210 | sed -e '/GIT_COMMIT_HASH/s/unknown/%{hyprland_commit}/' \ 211 | -e '/GIT_BRANCH/s/unknown/main/' \ 212 | -e '/GIT_COMMIT_DATE/s/unknown/%{commit_date}/' \ 213 | -e '/GIT_TAG/s/unknown/%{lua:print((macros.version:gsub('[%^~].*', '')))}/' \ 214 | -e '/GIT_DIRTY/s/unknown/clean/' \ 215 | -e '/GIT_COMMITS/s/0/%{commits_count}/' \ 216 | -i CMakeLists.txt 217 | %endif 218 | 219 | cp -p subprojects/hyprland-protocols/LICENSE LICENSE-hyprland-protocols 220 | cp -p subprojects/udis86/LICENSE LICENSE-udis86 221 | 222 | sed -i \ 223 | -e "s|@@HYPRLAND_VERSION@@|%{version}|g" \ 224 | %{SOURCE4} 225 | 226 | 227 | %build 228 | 229 | %if 0%{?rhel} == 10 230 | source /usr/lib/gcc-toolset/15-env.source 231 | %endif 232 | 233 | %if 0%{?fedora} < 43 234 | pushd subprojects/libxkbcommon > /dev/null 235 | %meson -Denable-tools=false -Ddefault_library=static 236 | %meson_build 237 | DESTDIR=%{_builddir}/libxkbcommon-build meson install -C %{_vpath_builddir} --no-rebuild 238 | popd > /dev/null 239 | export PKG_CONFIG_PATH=%{_builddir}/libxkbcommon-build/%{_libdir}/pkgconfig 240 | %global optflags %{optflags} -I%{_builddir}/libxkbcommon-build/%{_includedir} -L%{_builddir}/libxkbcommon-build/%{_libdir} 241 | %endif 242 | 243 | %cmake \ 244 | -GNinja \ 245 | -DCMAKE_BUILD_TYPE=Release \ 246 | -DNO_TESTS=TRUE \ 247 | -DBUILD_TESTING=FALSE 248 | %cmake_build 249 | 250 | 251 | %install 252 | 253 | %if 0%{?rhel} == 10 254 | source /usr/lib/gcc-toolset/15-env.source 255 | %endif 256 | 257 | %cmake_install 258 | install -Dpm644 %{SOURCE4} -t %{buildroot}%{_rpmconfigdir}/macros.d 259 | 260 | 261 | %files 262 | %license LICENSE LICENSE-udis86 LICENSE-hyprland-protocols 263 | %{_bindir}/[Hh]yprland 264 | %{_bindir}/hyprctl 265 | %{_bindir}/hyprpm 266 | %{_datadir}/hypr/ 267 | %{_datadir}/wayland-sessions/hyprland.desktop 268 | %{_datadir}/xdg-desktop-portal/hyprland-portals.conf 269 | %{_mandir}/man1/hyprctl.1* 270 | %{_mandir}/man1/Hyprland.1* 271 | %{bash_completions_dir}/hypr* 272 | %{fish_completions_dir}/hypr*.fish 273 | %{zsh_completions_dir}/_hypr* 274 | 275 | %files uwsm 276 | %{_datadir}/wayland-sessions/hyprland-uwsm.desktop 277 | 278 | %files devel 279 | %{_datadir}/pkgconfig/hyprland.pc 280 | %{_includedir}/hyprland/ 281 | %{_rpmconfigdir}/macros.d/macros.hyprland 282 | 283 | 284 | %changelog 285 | %autochangelog 286 | -------------------------------------------------------------------------------- /kitty/kitty.spec: -------------------------------------------------------------------------------- 1 | %global forgeurl https://github.com/kovidgoyal/kitty 2 | %global commit0 e9c4e73103ac52cb170cf157803b54381a332203 3 | %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) 4 | #global bumpver 1 5 | 6 | %define go_vendor_archive %{lua: print("vendor-"..(macros.bumpver and macros.shortcommit0 or macros.version)..".tar.gz")} 7 | 8 | %bcond test 1 9 | %bcond bundled 1 10 | 11 | %if %{with bundled} 12 | %global gomodulesmode GO111MODULE=on 13 | %endif 14 | 15 | %global goipath kitty 16 | 17 | Name: kitty 18 | Version: 0.38.1%{?bumpver:^%{bumpver}.git%{shortcommit0}} 19 | Release: %autorelease 20 | Summary: Cross-platform, fast, feature full, GPU based terminal emulator 21 | 22 | # GPL-3.0-only: kitty 23 | # Zlib: glfw 24 | # LGPL-2.1-or-later: kitty/iqsort.h 25 | # MIT: docs/_static/custom.css, shell-integration/ssh/bootstrap-utils.sh 26 | # MIT AND CC0-1.0: simde 27 | # CC0-1.0: c-ringbuf 28 | # BSD-2-Clause: base64simd 29 | # MIT: NerdFontsSymbolsOnly 30 | # Go dependencies: 31 | # github.com/alecthomas/chroma: MIT 32 | # github.com/ALTree/bigfloat: MIT 33 | # github.com/bmatcuk/doublestar: MIT 34 | # github.com/disintegration/imaging: MIT 35 | # github.com/dlclark/regexp2: MIT 36 | # github.com/google/go-cmp/cmp: BSD-3-Clause 37 | # github.com/google/uuid: BSD-3-Clause 38 | # github.com/klauspost/cpuid: MIT 39 | # github.com/go-ole/go-ole: MIT 40 | # github.com/lufia/plan9stats: BSD-3-Clause 41 | # github.com/power-devops/perfstat: MIT 42 | # github.com/seancfoley/bintree: Apache-2.0 43 | # github.com/seancfoley/ipaddress-go/ipaddr: Apache-2.0 44 | # github.com/shirou/gopsutil: BSD-3-Clause 45 | # github.com/shoenig/go-m1cpu: MPL-2.0 46 | # github.com/tklauser/go-sysconf: BSD-3-Clause 47 | # github.com/tklauser/numcpus: Apache-2.0 48 | # github.com/zeebo/xxh3: BSD-2-Clause 49 | # golang.org/x/exp: BSD-3-Clause 50 | # golang.org/x/image: BSD-3-Clause 51 | # golang.org/x/sys: BSD-3-Clause 52 | # howett.net/plist: BSD-2-Clause AND BSD-3-Clause 53 | License: GPL-3.0-only AND LGPL-2.1-or-later AND Zlib AND (MIT AND CC0-1.0) AND BSD-2-Clause AND CC0-1.0 54 | URL: https://github.com/kovidgoyal/kitty 55 | %if 0%{?bumpver} 56 | Source0: https://github.com/kovidgoyal/kitty/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz 57 | %else 58 | Source0: https://github.com/kovidgoyal/kitty/releases/download/v%{version}/%{name}-%{version}.tar.xz 59 | Source4: https://github.com/kovidgoyal/kitty/releases/download/v%{version}/%{name}-%{version}.tar.xz.sig 60 | Source5: https://calibre-ebook.com/signatures/kovid.gpg 61 | %endif 62 | # bash bundle_go_deps_for_rpm.sh kitty.spec 63 | %if ! 0%{?epel} 64 | Source6: %{go_vendor_archive} 65 | %else 66 | Source6: vendor-%{version}.tar.gz 67 | %endif 68 | # Add AppData manifest file 69 | # * https://github.com/kovidgoyal/kitty/pull/2088 70 | Source1: https://raw.githubusercontent.com/kovidgoyal/kitty/46c0951751444e4f4994008f0d2dcb41e49389f4/kitty/data/%{name}.appdata.xml 71 | 72 | Source2: https://github.com/ryanoasis/nerd-fonts/releases/latest/download/NerdFontsSymbolsOnly.tar.xz 73 | 74 | # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 75 | ExcludeArch: %{ix86} 76 | 77 | BuildRequires: golang >= 1.22.0 78 | BuildRequires: go-rpm-macros 79 | BuildRequires: git-core 80 | 81 | BuildRequires: gnupg2 82 | BuildRequires: desktop-file-utils 83 | BuildRequires: gcc 84 | BuildRequires: go-rpm-macros 85 | BuildRequires: python3-devel 86 | BuildRequires: lcms2-devel 87 | BuildRequires: libappstream-glib 88 | BuildRequires: ncurses 89 | BuildRequires: wayland-devel 90 | BuildRequires: simde-static 91 | 92 | BuildRequires: pkgconfig(dbus-1) 93 | BuildRequires: pkgconfig(fontconfig) 94 | BuildRequires: pkgconfig(gl) 95 | BuildRequires: pkgconfig(harfbuzz) 96 | BuildRequires: pkgconfig(libcanberra) 97 | BuildRequires: pkgconfig(libpng) 98 | BuildRequires: pkgconfig(wayland-protocols) 99 | BuildRequires: pkgconfig(xcursor) 100 | BuildRequires: pkgconfig(xi) 101 | BuildRequires: pkgconfig(xinerama) 102 | BuildRequires: pkgconfig(xkbcommon-x11) 103 | BuildRequires: pkgconfig(xrandr) 104 | BuildRequires: pkgconfig(zlib) 105 | BuildRequires: pkgconfig(libcrypto) 106 | BuildRequires: pkgconfig(libxxhash) 107 | 108 | %if %{with test} 109 | # For tests: 110 | BuildRequires: fish 111 | BuildRequires: glibc-common 112 | %if 0%{?epel} 113 | BuildRequires: glibc-langpack-en 114 | %endif 115 | BuildRequires: openssh-clients 116 | BuildRequires: python3dist(pillow) 117 | BuildRequires: ripgrep 118 | BuildRequires: zsh 119 | %endif 120 | 121 | Requires: python3%{?_isa} 122 | Requires: hicolor-icon-theme 123 | 124 | Obsoletes: %{name}-bash-integration < 0.28.1-3 125 | Obsoletes: %{name}-fish-integration < 0.28.1-3 126 | Provides: %{name}-bash-integration = %{version}-%{release} 127 | Provides: %{name}-fish-integration = %{version}-%{release} 128 | 129 | # Terminfo file has been split from the main program and is required for use 130 | # without errors. It has been separated to support SSH into remote machines using 131 | # kitty as per the maintainers suggestion. Install the terminfo file on the remote 132 | # machine. 133 | Requires: %{name}-terminfo = %{version}-%{release} 134 | Requires: %{name}-shell-integration = %{version}-%{release} 135 | Requires: %{name}-kitten%{?_isa} = %{version}-%{release} 136 | 137 | # For the "Hyperlinked grep" feature 138 | Recommends: ripgrep 139 | 140 | # Very weak dependencies, these are required to enable all features of kitty's 141 | # "kittens" functions install separately 142 | Suggests: ImageMagick%{?_isa} 143 | 144 | Provides: bundled(font(SymbolsNFM)) 145 | 146 | Provides: bundled(Verstable) = 2.1.1 147 | # modified version of https://github.com/dhess/c-ringbuf 148 | Provides: bundled(c-ringbuf) 149 | # heavily modified 150 | Provides: bundled(glfw) 151 | # https://github.com/aklomp/base64 152 | Provides: bundled(base64simd) 153 | 154 | %description 155 | - Offloads rendering to the GPU for lower system load and buttery smooth 156 | scrolling. Uses threaded rendering to minimize input latency. 157 | 158 | - Supports all modern terminal features: graphics (images), unicode, true-color, 159 | OpenType ligatures, mouse protocol, focus tracking, bracketed paste and 160 | several new terminal protocol extensions. 161 | 162 | - Supports tiling multiple terminal windows side by side in different layouts 163 | without needing to use an extra program like tmux. 164 | 165 | - Can be controlled from scripts or the shell prompt, even over SSH. 166 | 167 | - Has a framework for Kittens, small terminal programs that can be used to 168 | extend kitty's functionality. For example, they are used for Unicode input, 169 | Hints and Side-by-side diff. 170 | 171 | - Supports startup sessions which allow you to specify the window/tab layout, 172 | working directories and programs to run on startup. 173 | 174 | - Cross-platform: kitty works on Linux and macOS, but because it uses only 175 | OpenGL for rendering, it should be trivial to port to other Unix-like 176 | platforms. 177 | 178 | - Allows you to open the scrollback buffer in a separate window using arbitrary 179 | programs of your choice. This is useful for browsing the history comfortably 180 | in a pager or editor. 181 | 182 | - Has multiple copy/paste buffers, like vim. 183 | 184 | 185 | # terminfo package 186 | %package terminfo 187 | Summary: The terminfo file for Kitty Terminal 188 | License: GPL-3.0-only 189 | BuildArch: noarch 190 | 191 | Requires: ncurses-base 192 | 193 | %description terminfo 194 | Cross-platform, fast, feature full, GPU based terminal emulator. 195 | 196 | The terminfo file for Kitty Terminal. 197 | 198 | # shell-integration package 199 | %package shell-integration 200 | Summary: Shell integration scripts for %{name} 201 | License: GPL-3.0-only AND MIT 202 | BuildArch: noarch 203 | 204 | Recommends: %{name}-kitten 205 | 206 | %description shell-integration 207 | %{summary}. 208 | 209 | # kitten package 210 | %package kitten 211 | Summary: The kitten executable 212 | License: GPL-3.0-only AND MIT AND BSD-3-Clause AND BSD-2-Clause AND Apache-2.0 AND MPL-2.0 AND (BSD-2-Clause AND BSD-3-Clause) 213 | 214 | %description kitten 215 | %{summary}. 216 | 217 | # doc package 218 | %package doc 219 | Summary: Documentation for %{name} 220 | License: GPL-3.0-only AND MIT 221 | BuildArch: noarch 222 | 223 | BuildRequires: python3dist(sphinx) 224 | %if ! 0%{?epel} 225 | BuildRequires: python3dist(sphinx-copybutton) 226 | BuildRequires: python3dist(sphinx-inline-tabs) 227 | BuildRequires: python3dist(sphinxext-opengraph) 228 | %endif 229 | 230 | %description doc 231 | This package contains the documentation for %{name}. 232 | 233 | 234 | %prep 235 | %if ! 0%{?bumpver} 236 | %{gpgverify} --keyring='%{SOURCE5}' --signature='%{SOURCE4}' --data='%{SOURCE0}' 237 | %endif 238 | %autosetup -p1 %{?bumpver:-n %{name}-%{commit0}} %{?with_bundled:-a6} 239 | mkdir fonts 240 | tar -xf %{SOURCE2} -C fonts 241 | 242 | # Changing sphinx theme to classic 243 | sed "s/html_theme = 'furo'/html_theme = 'classic'/" -i docs/conf.py 244 | 245 | # Replace python shebangs to make them compatible with fedora 246 | find -type f -name "*.py" -exec sed -e 's|/usr/bin/env python3|%{python3}|g' \ 247 | -e 's|/usr/bin/env python|%{python3}|g' \ 248 | -e 's|/usr/bin/env -S kitty|/usr/bin/kitty|g' \ 249 | -i "{}" \; 250 | 251 | mkdir src 252 | ln -s ../ src/kitty 253 | 254 | %if 0%{?epel} 255 | sed '1i \#define XKB_KEY_XF86Fn 0x100811d0' -i kitty/keys.c 256 | %endif 257 | 258 | %if %{without bundled} 259 | %generate_buildrequires 260 | export GOPATH=$(pwd):%{gopath} 261 | %go_generate_buildrequires 262 | %endif 263 | 264 | %build 265 | %set_build_flags 266 | %{python3} setup.py linux-package \ 267 | --libdir-name=%{_lib} \ 268 | --update-check-interval=0 \ 269 | --skip-building-kitten \ 270 | --verbose \ 271 | --ignore-compiler-warnings 272 | 273 | %if %{without bundled} 274 | export GOPATH=$(pwd):%{gopath} 275 | %endif 276 | unset LDFLAGS 277 | mkdir -p _build/bin 278 | %gobuild -o _build/bin/kitten %{?with_bundled:./tools/cmd}%{!?with_bundled:./src/kitty/tools/cmd} 279 | 280 | %if 0%{?bumpver} 281 | ln -sr _build/bin/kitten kitty/launcher/ 282 | make docs 283 | %endif 284 | 285 | 286 | %install 287 | # rpmlint fixes 288 | find linux-package -type f ! -executable -name "*.py" -exec sed -i '1{\@^#!%{python3}@d}' "{}" \; 289 | find linux-package/%{_lib}/%{name}/shell-integration -type f ! -executable -exec sed -r -i '1{\@^#!/bin/(fish|zsh|sh|bash)@d}' "{}" \; 290 | 291 | cp -r linux-package %{buildroot}%{_prefix} 292 | install -m0755 -Dp _build/bin/kitten %{buildroot}%{_bindir}/kitten 293 | 294 | install -m0644 -Dp %{SOURCE1} %{buildroot}%{_metainfodir}/%{name}.appdata.xml 295 | 296 | %if 0%{?bumpver} 297 | install -m 0755 -vd %{buildroot}%{_mandir}/man{1,5} 298 | install -m 0644 -p docs/_build/man/*.1 %{buildroot}%{_mandir}/man1 299 | install -m 0644 -p docs/_build/man/*.5 %{buildroot}%{_mandir}/man5 300 | install -m 0755 -vd %{buildroot}%{_docdir}/%{name} 301 | cp -r docs/_build/html %{buildroot}%{_docdir}/%{name} 302 | %endif 303 | 304 | # rpmlint fixes 305 | rm %{buildroot}%{_datadir}/doc/%{name}/html/.buildinfo \ 306 | %{buildroot}%{_datadir}/doc/%{name}/html/.nojekyll 307 | 308 | 309 | %check 310 | %if %{with test} 311 | sed '/def test_ssh_shell_integration/a \ 312 | \ self.skipTest("Skipping a flaky test")' -i kitty_tests/ssh.py 313 | %if 0%{?epel} 314 | sed '/def test_ssh_leading_data/a \ 315 | \ self.skipTest("Skipping a failing test")' -i kitty_tests/ssh.py 316 | 317 | for test in "TestRgArgParsing" \ 318 | ; do 319 | awk -i inplace '/^func.*'"$test"'\(/ { print; print "\tt.Skip(\"disabled failing test\")"; next}1' $(grep -rl $test) 320 | done 321 | export LC_ALL=en_US.UTF-8 322 | export LANG=en_US.UTF-8 323 | %endif 324 | %ifarch ppc64le 325 | for test in test_transfer_receive test_transfer_send; do 326 | sed "/def $test/a \ 327 | \ self.skipTest(\"Skipping a failing test\")" -i kitty_tests/file_transmission.py 328 | done 329 | %endif 330 | export %{gomodulesmode} 331 | %if %{without bundled} 332 | export GOPATH=$(pwd):%{gopath} 333 | %endif 334 | # Some tests ignores PATH env... 335 | mkdir -p kitty/launcher 336 | ln -s %{buildroot}%{_bindir}/%{name} kitty/launcher/ 337 | export PATH=%{buildroot}%{_bindir}:$PATH 338 | export PYTHONPATH=$(pwd) 339 | %{python3} setup.py test \ 340 | --prefix=%{buildroot}%{_prefix} 341 | %endif 342 | 343 | appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml 344 | desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop 345 | 346 | 347 | %files 348 | %license LICENSE 349 | %{_bindir}/%{name} 350 | %{_datadir}/applications/*.desktop 351 | %{_datadir}/icons/hicolor/*/*/*.{png,svg} 352 | %{_libdir}/%{name}/ 353 | %exclude %{_libdir}/%{name}/shell-integration 354 | %{_mandir}/man{1,5}/*.{1,5}* 355 | %{_metainfodir}/*.xml 356 | 357 | %files kitten 358 | %if %{with bundled} 359 | # Go bundled provides generator 360 | %license vendor/modules.txt 361 | %endif 362 | %license LICENSE 363 | %{_bindir}/kitten 364 | 365 | %files terminfo 366 | %license LICENSE 367 | %{_datadir}/terminfo/x/xterm-%{name} 368 | 369 | %files shell-integration 370 | %license LICENSE 371 | %{_libdir}/%{name}/shell-integration/ 372 | 373 | %files doc 374 | %license LICENSE 375 | %doc CONTRIBUTING.md CHANGELOG.rst INSTALL.md 376 | %{_docdir}/%{name}/html 377 | %dir %{_docdir}/%{name} 378 | 379 | 380 | %changelog 381 | %autochangelog 382 | --------------------------------------------------------------------------------