Compare commits

..

50 Commits

Author SHA1 Message Date
3bfa60d835 Added start-hyprland to files for update, removed unnecessary package
All checks were successful
Build hyprland-git / Build and push image (push) Successful in 23m16s
requirement for hyprwire on package install
2025-12-06 01:18:22 -05:00
5110902a66 Change hyprland release version, add hyprwire to dependencies
All checks were successful
Build hyprland-git / Build and push image (push) Successful in 22m34s
2025-12-04 16:34:39 -05:00
cc4b742eff Introduce hyprpaper package
All checks were successful
Build hyprpaper / Build and push image (push) Successful in 2m1s
2025-12-04 16:05:35 -05:00
36e264ee3a Introduce hyprwire packages
All checks were successful
Build hyprwire / Build and push image (push) Successful in 2m10s
2025-12-04 15:43:25 -05:00
35d1acdf6c Update hyprland-git.spec
Some checks failed
Build hyprland-git / Build and push image (push) Failing after 2m24s
2025-12-04 15:16:42 -05:00
35b1169e18 Corrected naming for matugen spec file
All checks were successful
Build matugen / Build and push image (push) Successful in 9m13s
2025-12-03 22:10:16 -05:00
e4a9a1d8b8 Use copr nwg shell for nwg look, dropping nwg-look packaging 2025-12-03 22:09:12 -05:00
c96f7f8ffc Introduce matugen package
Some checks failed
Build matugen / Build and push image (push) Failing after 37s
2025-12-03 22:01:05 -05:00
b0848ba644 Introduce nwg-look package
Some checks failed
Build nwg-look / Build and push image (push) Failing after 4m7s
2025-12-03 21:53:51 -05:00
996d3dd1cf Introduce xcur2png package
All checks were successful
Build xcur2png / Build and push image (push) Successful in 1m26s
2025-12-03 21:44:43 -05:00
9882633633 Move material icons fonts spec file into directory, and added needed
All checks were successful
Build material-icons-fonts / Build and push image (push) Successful in 3m10s
conf file
2025-12-03 21:22:22 -05:00
96058c5dd9 Introduce awww package
All checks were successful
Build awww / Build and push image (push) Successful in 10m0s
2025-12-03 21:19:32 -05:00
a9bbe93c6f Introduce material icons fonts package
Some checks failed
Build material-icons-fonts / Build and push image (push) Failing after 2m25s
2025-12-03 20:15:42 -05:00
183e60665d Introduce uwsm package
All checks were successful
Build uwsm / Build and push image (push) Successful in 1m8s
2025-12-03 20:11:33 -05:00
8d77232b5b Introduce hyprpolkitagent package
All checks were successful
Build hyprpolkitagent / Build and push image (push) Successful in 2m15s
2025-12-03 20:05:45 -05:00
39905d4370 Introduce Hyprland protocols packages
All checks were successful
Build hyprland-protocols / Build and push image (push) Successful in 1m3s
2025-12-03 19:54:42 -05:00
0127446e9e Introduce Hyprland xdg desktop portal package
Some checks failed
Build xdg-desktop-portal-hyprland / Build and push image (push) Failing after 2m37s
2025-12-03 19:33:07 -05:00
27451693e1 Introduce glaze-static package
Some checks failed
Build glaze / Build and push image (push) Failing after 1m25s
2025-12-03 18:29:49 -05:00
2d8cd3b476 Introduce hyprland-git
Some checks failed
Build hyprland-git / Build and push image (push) Failing after 1m5s
2025-12-03 18:24:33 -05:00
c0c2c28951 Introduce Hyprland GUI utils package
All checks were successful
Build hyprland-guiutils / Build and push image (push) Successful in 2m26s
2025-12-03 16:53:43 -05:00
2586e7bed2 Introduce hyprtoolkit package
All checks were successful
Build hyprtoolkit / Build and push image (push) Successful in 4m22s
2025-12-03 16:47:52 -05:00
4a7c7da1f9 Updated so file version
All checks were successful
Build aquamarine / Build and push image (push) Successful in 3m11s
2025-12-03 16:33:46 -05:00
bad6b1ea72 Introduce aquamarine package
Some checks failed
Build aquamarine / Build and push image (push) Failing after 3m8s
2025-12-03 16:26:41 -05:00
098201a3c7 Return patch, add ending new line to patch
All checks were successful
Build hyprqt6engine / Build and push image (push) Successful in 3m2s
2025-12-03 16:04:37 -05:00
ef51e66d70 Remove patch for hyprqt6engine
Some checks failed
Build hyprqt6engine / Build and push image (push) Failing after 2m17s
2025-12-03 15:38:03 -05:00
3ce872affb Return to how patch was on hyprlandRPM repo from solopasha
Some checks failed
Build hyprqt6engine / Build and push image (push) Failing after 2m25s
2025-12-03 15:31:37 -05:00
132af03510 Introduced hyprqt6engine package
Some checks failed
Build hyprqt6engine / Build and push image (push) Failing after 2m14s
2025-12-03 15:24:50 -05:00
38346d953c Introduce hyprland-qt-support package
All checks were successful
Build hyprland-qt-support / Build and push image (push) Successful in 3m16s
2025-12-03 14:57:12 -05:00
f327ba844f Introduce hyprcursor
All checks were successful
Build hyprcursor / Build and push image (push) Successful in 3m4s
2025-12-03 13:33:59 -05:00
5e8ff937a9 Introduced hyprlang
All checks were successful
Build hyprlang / Build and push image (push) Successful in 1m47s
2025-12-03 13:05:50 -05:00
17a5346b2f Corrected so file name for release
All checks were successful
Build hyprgraphics / Build and push image (push) Successful in 2m5s
2025-12-03 12:26:44 -05:00
25fd89beff Corrected workflow name
Some checks failed
Build hyprutils / Build and push image (push) Has been cancelled
Build hyprgraphics / Build and push image (push) Failing after 3m17s
2025-12-01 12:39:19 -05:00
1784be5963 Add hyprgraphics 2025-12-01 12:39:04 -05:00
643d77c3f6 Introduce hyprutils building
All checks were successful
Build hyprwayland-scanner / Build and push image (push) Successful in 1m55s
2025-11-30 20:48:15 -05:00
a01561fdb3 Updated readme for more information 2025-11-30 20:47:52 -05:00
7594725c85 Merge upload into composite action, move spec out of folder
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Has been cancelled
2025-11-30 20:39:13 -05:00
8a8e650e07 Need to close off exec
All checks were successful
Build hyprwayland-scanner / Build and push image (push) Successful in 2m35s
2025-11-30 15:29:36 -05:00
dad81782f6 Re-add iptables to solve netavark issue
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Failing after 1m39s
2025-11-30 15:07:42 -05:00
a056cab9b6 Add https to tell runner that action is on our servers
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Has been cancelled
2025-11-30 14:59:54 -05:00
a707dfc5c1 Remove entrypoint, use build-rpm action. Once done, upload all in
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Failing after 14s
buildrpm rpms folder to rpm repo
2025-11-30 14:58:14 -05:00
3bd50f8135 Add repo to entrypoint 2025-11-30 14:21:13 -05:00
6132d5112f Fixed typo for parent directory, also use globs for adaptability
All checks were successful
Build hyprwayland-scanner / Build and push image (push) Successful in 2m8s
2025-11-29 22:01:20 -05:00
b1eb9aa1ec Only ls for x86_64 in rpms
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Failing after 1m30s
2025-11-29 21:57:44 -05:00
67d60675bd Also use location where the rpms actually are
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Failing after 1m28s
2025-11-29 20:56:36 -05:00
d4da191bbc Copy over to new correct directory
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Failing after 1m28s
2025-11-29 20:53:31 -05:00
b981b458a7 Use local path rather than using workspace
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Failing after 31s
2025-11-29 20:52:17 -05:00
4e2c5b28e1 Add line to install build dependencies from specfile
Some checks failed
Build hyprwayland-scanner / Build and push image (push) Failing after 41s
2025-11-29 19:17:36 -05:00
2211488b8d Use z for permissions and move entrypoint to root home. Also set
workspace to root home
2025-11-29 18:56:26 -05:00
6494ee0084 Use env bash instead of sh 2025-11-29 18:55:17 -05:00
c019d99d46 Make sure to just ignore rpmbuild local in case 2025-11-29 18:54:39 -05:00
53 changed files with 2247 additions and 33 deletions

View File

@@ -0,0 +1,32 @@
name: Build aquamarine
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-aquamarine.yml
- "aquamarine.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./aquamarine.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build awww
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-awww.yml
- "awww.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./awww.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build glaze
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-glaze.yml
- "glaze.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./glaze.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build hyprcursor
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprcursor.yml
- "hyprcursor.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprcursor.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build hyprgraphics
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprgraphics.yml
- "hyprgraphics.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprgraphics.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,33 @@
name: Build hyprland-git
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprland-git.yml
- "hyprland-git/**"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprland-git/hyprland-git.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}
extra-source-directory: ./hyprland-git

View File

@@ -0,0 +1,32 @@
name: Build hyprland-guiutils
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprland-guiutils.yml
- "hyprland-guiutils.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprland-guiutils.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build hyprland-protocols
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprland-protocols.yml
- "hyprland-protocols.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprland-protocols.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,33 @@
name: Build hyprland-qt-support
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprland-qt-support.yml
- "hyprland-qt-support/**"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprland-qt-support/hyprland-qt-support.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}
extra-source-directory: ./hyprland-qt-support

View File

@@ -0,0 +1,32 @@
name: Build hyprlang
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprlang.yml
- "hyprlang.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprlang.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build hyprpaper
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprpaper.yml
- "hyprpaper.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprpaper.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build hyprpolkitagent
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprpolkitagent.yml
- "hyprpolkitagent.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprpolkitagent.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,33 @@
name: Build hyprqt6engine
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprqt6engine.yml
- "hyprqt6engine/**"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprqt6engine/hyprqt6engine.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}
extra-source-directory: ./hyprqt6engine

View File

@@ -0,0 +1,32 @@
name: Build hyprtoolkit
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprtoolkit.yml
- "hyprtoolkit.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprtoolkit.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build hyprutils
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprutils.yml
- "hyprutils.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprutils.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -5,7 +5,7 @@ on:
- main - main
paths: paths:
- .gitea/workflows/build-hyprwayland-scanner.yml - .gitea/workflows/build-hyprwayland-scanner.yml
- "hyprwayland-scanner/**" - "hyprwayland-scanner.spec"
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -18,33 +18,15 @@ jobs:
shell: bash shell: bash
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y podman skopeo iptables sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate # These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout - name: Checkout
uses: actions/checkout@v6 # v5 uses: actions/checkout@v6 # v5
- name: Setup workspace - name: Build RPM and Upload
shell: bash uses: https://git.hydrosaber.com/hydros/build-rpm@main
run: | with:
mkdir -p ${GITEA_WORKSPACE}/rpmbuild/{RPMS,SPECS} spec-file-path: ./hyprwayland-scanner.spec
cp ./hyprwayland-scanner/hyprwayland-scanner.spec ${GITEA_WORKSPACE}/rpmbuild/SPECS repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}
- name: Build RPM
shell: bash
run: |
podman run --rm \
-v ${GITEA_WORKSPACE}/rpmbuild:/root/rpmbuild:rw \
-v ./entrypoint.sh:/entrypoint.sh \
fedora:latest \
/entrypoint.sh /root/rpmbuild/SPECS/hyprwayland-scanner.spec
- name: List everything
shell: bash
run: |
echo "Home directory"
ls ~
echo "Current directory"
ls .
echo "Supposed rpm location"
ls ~/buildrpm/RPMS

View File

@@ -0,0 +1,32 @@
name: Build hyprwire
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-hyprwire.yml
- "hyprwire.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./hyprwire.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,33 @@
name: Build material-icons-fonts
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-material-icons-fonts.yml
- "material-icons-fonts/**"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./material-icons-fonts/material-icons-fonts.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}
extra-source-directory: ./material-icons-fonts

View File

@@ -0,0 +1,32 @@
name: Build matugen
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-matugen.yml
- "matugen.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./matugen.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,32 @@
name: Build uwsm
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-uwsm.yml
- "uwsm.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./uwsm.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

View File

@@ -0,0 +1,33 @@
name: Build xcur2png
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-xcur2png.yml
- "xcur2png/**"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./xcur2png/xcur2png.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}
extra-source-directory: ./xcur2png

View File

@@ -0,0 +1,32 @@
name: Build xdg-desktop-portal-hyprland
on:
push:
branches:
- main
paths:
- .gitea/workflows/build-xdg-desktop-portal-hyprland.yml
- "xdg-desktop-portal-hyprland.spec"
workflow_dispatch:
jobs:
build_push:
name: Build and push image
runs-on: ubuntu-latest
steps:
- name: Setup environment
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y podman iptables
# These stage versions are pinned by https://github.com/renovatebot/renovate
- name: Checkout
uses: actions/checkout@v6 # v5
- name: Build RPM and Upload
uses: https://git.hydrosaber.com/hydros/build-rpm@main
with:
spec-file-path: ./xdg-desktop-portal-hyprland.spec
repository-user: eriq12
repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }}

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
rpmbuild

View File

@@ -1,2 +1,3 @@
# HyprlandRPM # HyprlandRPM
A personal spec repo for building hyprland related packages, mostly taken from [solopasha's hyprlandRPM github repo](https://github.com/solopasha/hyprlandRPM).

60
aquamarine.spec Normal file
View File

@@ -0,0 +1,60 @@
Name: aquamarine
Version: 0.10.0
Release: %autorelease -b1
Summary: A very light linux rendering backend library
License: BSD-3-Clause
URL: https://github.com/hyprwm/aquamarine
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: mesa-libEGL-devel
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(hwdata)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(hyprwayland-scanner)
BuildRequires: pkgconfig(libdisplay-info)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libinput)
BuildRequires: pkgconfig(libseat)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(pixman-1)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%cmake -DCMAKE_BUILD_TYPE=Release
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_libdir}/lib%{name}.so.%{version}
%{_libdir}/lib%{name}.so.9
%files devel
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog
%autochangelog

85
awww.spec Normal file
View File

@@ -0,0 +1,85 @@
# Generated by rust2rpm 25
%bcond_with check
Name: awww
Version: 0.11.2
Release: %autorelease
Summary: Efficient animated wallpaper daemon for wayland, controlled at runtime
# 0BSD OR MIT OR Apache-2.0
# Apache-2.0
# Apache-2.0 OR MIT
# Apache-2.0 WITH LLVM-exception
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# BSD-2-Clause
# BSD-3-Clause
# CC0-1.0 OR Apache-2.0
# ISC
# MIT
# MIT OR Apache-2.0
# MIT OR Apache-2.0 OR NCSA
# MIT OR Apache-2.0 OR Zlib
# MIT OR Zlib OR Apache-2.0
# Unlicense OR MIT
# Zlib OR Apache-2.0 OR MIT
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
URL: https://codeberg.org/LGFae/awww/
Source: %{url}/archive/v%{version}.tar.gz
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: pkgconfig(dav1d)
BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: scdoc
Obsoletes: swww <= 0.11.2
%global _description %{expand:
%{summary}.}
%description %{_description}
%prep
%autosetup -n %{name}
cargo vendor
%cargo_prep -v vendor
%build
%cargo_build -f avif
./doc/gen.sh
%{cargo_license_summary}
%{cargo_license} > LICENSE.dependencies
%{cargo_vendor_manifest}
%install
install -Dpm755 target/release/swww %{buildroot}%{_bindir}/swww
install -Dpm755 target/release/swww-daemon %{buildroot}%{_bindir}/swww-daemon
install -Dpm644 completions/_swww %{buildroot}%{zsh_completions_dir}/_swww
install -Dpm644 completions/swww.bash %{buildroot}%{bash_completions_dir}/swww
install -Dpm644 completions/swww.fish %{buildroot}%{fish_completions_dir}/swww.fish
install -Dpm644 ./doc/generated/*.1 -t %{buildroot}%{_mandir}/man1
%if %{with check}
%check
%cargo_test
%endif
%files
%license LICENSE
%license LICENSE.dependencies
%license cargo-vendor.txt
%doc CHANGELOG.md
%doc README.md
%{_bindir}/swww
%{_bindir}/swww-daemon
%{_mandir}/man1/swww*.1.*
%{bash_completions_dir}/swww
%{fish_completions_dir}/swww.fish
%{zsh_completions_dir}/_swww
%changelog
## START: Generated by rpmautospec
* Mon Nov 24 2025 John Doe <packager@example.com> - 0.11.2-1
- Uncommitted changes
## END: Generated by rpmautospec

View File

@@ -1,7 +0,0 @@
#!/bin/sh -l
dnf -y install rpmdevtools
rpmdev-setuptree
rpmdev-spectool -g -C ~/rpmbuild/SOURCES $1
rpmbuild --nodebuginfo --bb $1

46
glaze.spec Normal file
View File

@@ -0,0 +1,46 @@
%global debug_package %{nil}
Name: glaze
Version: 6.0.3
Release: %autorelease
Summary: Extremely fast, in memory, JSON and interface library
License: MIT
URL: https://github.com/stephenberry/glaze
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: gcc-c++
%description
%{summary}.
%package devel
Summary: Development files for %{name}
BuildArch: noarch
Provides: %{name}-static = %{version}-%{release}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%cmake \
-Dglaze_INSTALL_CMAKEDIR=%{_datadir}/cmake/%{name} \
-Dglaze_DISABLE_SIMD_WHEN_SUPPORTED:BOOL=ON \
-Dglaze_DEVELOPER_MODE:BOOL=OFF \
-Dglaze_ENABLE_FUZZING:BOOL=OFF
%cmake_build
%install
%cmake_install
%files devel
%license LICENSE
%doc README.md
%{_datadir}/cmake/%{name}/
%{_includedir}/%{name}/
%changelog
%autochangelog

55
hyprcursor.spec Normal file
View File

@@ -0,0 +1,55 @@
Name: hyprcursor
Version: 0.1.13
Release: %autorelease
Summary: The hyprland cursor format, library and utilities
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprcursor
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(hyprlang)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libzip)
BuildRequires: pkgconfig(tomlplusplus)
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%cmake -DCMAKE_BUILD_TYPE=Release
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_bindir}/hyprcursor-util
%{_libdir}/lib%{name}.so.%{version}
%{_libdir}/lib%{name}.so.0
%files devel
%{_includedir}/%{name}.hpp
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog
%autochangelog

66
hyprgraphics.spec Normal file
View File

@@ -0,0 +1,66 @@
Name: hyprgraphics
Version: 0.4.0
Release: %autorelease -b11
Summary: Hyprland graphics / resource utilities
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprgraphics
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libjxl_cms)
BuildRequires: pkgconfig(libjxl_threads)
BuildRequires: pkgconfig(libjxl)
BuildRequires: pkgconfig(libmagic)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(pixman-1)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(libheif)
BuildRequires: pkgconfig(librsvg-2.0)
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%cmake -DCMAKE_BUILD_TYPE=Release
%cmake_build
%install
%cmake_install
%check
%ifnarch ppc64le
%ctest
%endif
%files
%license LICENSE
%doc README.md
%{_libdir}/lib%{name}.so.3
%{_libdir}/lib%{name}.so.%{version}
%files devel
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog
%autochangelog

View File

@@ -0,0 +1,288 @@
%global hyprland_commit cedadf4fdc63e04ab41cab00c0417ba248ce748e
%global hyprland_shortcommit %(c=%{hyprland_commit}; echo ${c:0:7})
%global bumpver 2
%global commits_count 6685
%global commit_date Fri Dec 05 12:48:38 2025
%global protocols_commit 3a5c2bda1c1a4e55cc1330c782547695a93f05b2
%global protocols_shortcommit %(c=%{protocols_commit}; echo ${c:0:7})
%global udis86_commit 5336633af70f3917760a6d441ff02d93477b0c86
%global udis86_shortcommit %(c=%{udis86_commit}; echo ${c:0:7})
%global libxkbcommon_version 1.11.0
Name: hyprland-git
Version: 0.52.2%{?bumpver:^%{bumpver}.git%{hyprland_shortcommit}}
Release: %autorelease
Summary: Dynamic tiling Wayland compositor that doesn't sacrifice on its looks
# hyprland: BSD-3-Clause
# subprojects/hyprland-protocols: BSD-3-Clause
# subproject/udis86: BSD-2-Clause
# protocols/ext-workspace-unstable-v1.xml: HPND-sell-variant
# protocols/wlr-foreign-toplevel-management-unstable-v1.xml: HPND-sell-variant
# protocols/wlr-layer-shell-unstable-v1.xml: HPND-sell-variant
# protocols/idle.xml: LGPL-2.1-or-later
License: BSD-3-Clause AND BSD-2-Clause AND HPND-sell-variant AND LGPL-2.1-or-later
URL: https://github.com/hyprwm/Hyprland
%if 0%{?bumpver}
Source0: %{url}/archive/%{hyprland_commit}/%{name}-%{hyprland_shortcommit}.tar.gz
Source2: https://github.com/hyprwm/hyprland-protocols/archive/%{protocols_commit}/protocols-%{protocols_shortcommit}.tar.gz
Source3: https://github.com/canihavesomecoffee/udis86/archive/%{udis86_commit}/udis86-%{udis86_shortcommit}.tar.gz
%else
Source0: %{url}/releases/download/v%{version}/source-v%{version}.tar.gz
%endif
Source4: macros.hyprland
Source5: https://github.com/xkbcommon/libxkbcommon/archive/xkbcommon-%{libxkbcommon_version}/libxkbcommon-%{libxkbcommon_version}.tar.gz
%{lua:
hyprdeps = {
"cmake",
"gcc-c++",
"meson",
"muParser-devel",
"glaze-static",
"pkgconfig(aquamarine)",
"pkgconfig(cairo)",
"pkgconfig(egl)",
"pkgconfig(gbm)",
"pkgconfig(gio-2.0)",
"pkgconfig(glesv2)",
"pkgconfig(hwdata)",
"pkgconfig(hyprcursor)",
"pkgconfig(hyprgraphics)",
"pkgconfig(hyprlang)",
"pkgconfig(hyprutils)",
"pkgconfig(hyprwayland-scanner)",
"pkgconfig(libdisplay-info)",
"pkgconfig(libdrm)",
"pkgconfig(libinput) >= 1.28",
"pkgconfig(libliftoff)",
"pkgconfig(libseat)",
"pkgconfig(libudev)",
"pkgconfig(pango)",
"pkgconfig(pangocairo)",
"pkgconfig(pixman-1)",
"pkgconfig(re2)",
"pkgconfig(systemd)",
"pkgconfig(tomlplusplus)",
"pkgconfig(uuid)",
"pkgconfig(wayland-client)",
"pkgconfig(wayland-protocols) >= 1.45",
"pkgconfig(wayland-scanner)",
"pkgconfig(wayland-server)",
"pkgconfig(xcb-composite)",
"pkgconfig(xcb-dri3)",
"pkgconfig(xcb-errors)",
"pkgconfig(xcb-ewmh)",
"pkgconfig(xcb-icccm)",
"pkgconfig(xcb-present)",
"pkgconfig(xcb-render)",
"pkgconfig(xcb-renderutil)",
"pkgconfig(xcb-res)",
"pkgconfig(xcb-shm)",
"pkgconfig(xcb-util)",
"pkgconfig(xcb-xfixes)",
"pkgconfig(xcb-xinput)",
"pkgconfig(xcb)",
"pkgconfig(xcursor)",
"pkgconfig(xwayland)",
"pkgconfig(hyprwire)",
}
}
%if 0%{?fedora} > 42
BuildRequires: pkgconfig(xkbcommon)
%endif
%define printbdeps(r) %{lua:
for _, dep in ipairs(hyprdeps) do
print((rpm.expand("%{-r}") ~= "" and "Requires: " or "BuildRequires: ")..dep.."\\n")
end
}
%printbdeps
%if 0%{?rhel} == 10
BuildRequires: gcc-toolset-15
BuildRequires: gcc-toolset-15-gcc-c++
BuildRequires: gcc-toolset-15-annobin-plugin-gcc
%endif
%if 0%{?fedora} < 43
BuildRequires: byacc flex bison
BuildRequires: xorg-x11-proto-devel libX11-devel
BuildRequires: xkeyboard-config-devel
BuildRequires: pkgconfig(xcb-xkb)
BuildRequires: libxml2-devel
%endif
# udis86 is packaged in Fedora, but the copy bundled here is actually a
# modified fork.
Provides: bundled(udis86) = 1.7.2^1.%{udis86_shortcommit}
%if 0%{?fedora} < 43
Provides: bundled(libxkbcommon) = %{libxkbcommon_version}
%endif
Requires: xorg-x11-server-Xwayland%{?_isa}
Requires: aquamarine%{?_isa} >= 0.9.2
Requires: hyprcursor%{?_isa} >= 0.1.13
Requires: hyprgraphics%{?_isa} >= 0.1.6
Requires: hyprlang%{?_isa} >= 0.6.3
Requires: hyprutils%{?_isa} >= 0.8.4
%{lua:do
if string.match(rpm.expand('%{name}'), '%-git$') then
print('Conflicts: hyprland'..'\n')
print('Obsoletes: hyprland-nvidia-git < 0.32.3^30.gitad3f688-2'..'\n')
print(rpm.expand('Provides: hyprland-nvidia-git = %{version}-%{release}')..'\n')
print('Obsoletes: hyprland-aquamarine-git < 0.41.2^20.git4b84029-2'..'\n')
elseif not string.match(rpm.expand('%{name}'), 'hyprland$') then
print(rpm.expand('Provides: hyprland = %{version}-%{release}')..'\n')
print('Conflicts: hyprland'..'\n')
else
print('Obsoletes: hyprland-nvidia < 1:0.32.3-2'..'\n')
print(rpm.expand('Provides: hyprland-nvidia = %{version}-%{release}')..'\n')
print('Obsoletes: hyprland-legacyrenderer < 0.49.0'..'\n')
end
end}
# Used in the default configuration
Recommends: kitty
Recommends: wofi
Recommends: playerctl
Recommends: brightnessctl
Recommends: hyprland-qtutils
# Lack of graphical drivers may hurt the common use case
Recommends: mesa-dri-drivers
# Logind needs polkit to create a graphical session
Recommends: polkit
# https://wiki.hyprland.org/Useful-Utilities/Systemd-start
Recommends: %{name}-uwsm
Recommends: (qt5-qtwayland if qt5-qtbase-gui)
Recommends: (qt6-qtwayland if qt6-qtbase-gui)
%description
Hyprland is a dynamic tiling Wayland compositor that doesn't sacrifice
on its looks. It supports multiple layouts, fancy effects, has a
very flexible IPC model allowing for a lot of customization, a powerful
plugin system and more.
%package uwsm
Summary: Files for a uwsm-managed session
Requires: uwsm
%description uwsm
Files for a uwsm-managed session.
%package devel
Summary: Header and protocol files for %{name}
License: BSD-3-Clause
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: cpio
%{lua:do
if string.match(rpm.expand('%{name}'), 'hyprland%-git$') then
print('Obsoletes: hyprland-nvidia-git-devel < 0.32.3^30.gitad3f688-2'..'\n')
print(rpm.expand('Provides: hyprland-nvidia-git-devel = %{version}-%{release}')..'\n')
print('Obsoletes: hyprland-aquamarine-git-devel < 0.41.2^20.git4b84029-2'..'\n')
elseif string.match(rpm.expand('%{name}'), 'hyprland$') then
print('Obsoletes: hyprland-nvidia-devel < 1:0.32.3-2'..'\n')
print(rpm.expand('Provides: hyprland-nvidia-devel = %{version}-%{release}')..'\n')
print('Obsoletes: hyprland-legacyrenderer-devel < 0.49.0'..'\n')
end
end}
%printbdeps -r
Requires: git-core
Requires: pkgconfig(xkbcommon)
%description devel
%{summary}.
%prep
%autosetup -n %{?bumpver:Hyprland-%{hyprland_commit}} %{!?bumpver:hyprland-source} -N
%if 0%{?fedora} < 43
mkdir -p subprojects/libxkbcommon
tar -xf %{SOURCE5} -C subprojects/libxkbcommon --strip=1
%endif
%if 0%{?bumpver}
tar -xf %{SOURCE2} -C subprojects/hyprland-protocols --strip=1
tar -xf %{SOURCE3} -C subprojects/udis86 --strip=1
sed -e '/GIT_COMMIT_HASH/s/unknown/%{hyprland_commit}/' \
-e '/GIT_BRANCH/s/unknown/main/' \
-e '/GIT_COMMIT_DATE/s/unknown/%{commit_date}/' \
-e '/GIT_TAG/s/unknown/%{lua:print((macros.version:gsub('[%^~].*', '')))}/' \
-e '/GIT_DIRTY/s/unknown/clean/' \
-e '/GIT_COMMITS/s/0/%{commits_count}/' \
-i CMakeLists.txt
%endif
cp -p subprojects/hyprland-protocols/LICENSE LICENSE-hyprland-protocols
cp -p subprojects/udis86/LICENSE LICENSE-udis86
sed -i \
-e "s|@@HYPRLAND_VERSION@@|%{version}|g" \
%{SOURCE4}
%build
%if 0%{?rhel} == 10
source /usr/lib/gcc-toolset/15-env.source
%endif
%if 0%{?fedora} < 43
pushd subprojects/libxkbcommon > /dev/null
%meson -Denable-tools=false -Ddefault_library=static
%meson_build
DESTDIR=%{_builddir}/libxkbcommon-build meson install -C %{_vpath_builddir} --no-rebuild
popd > /dev/null
export PKG_CONFIG_PATH=%{_builddir}/libxkbcommon-build/%{_libdir}/pkgconfig
%global optflags %{optflags} -I%{_builddir}/libxkbcommon-build/%{_includedir} -L%{_builddir}/libxkbcommon-build/%{_libdir}
%endif
%cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DNO_TESTS=TRUE \
-DBUILD_TESTING=FALSE
%cmake_build
%install
%if 0%{?rhel} == 10
source /usr/lib/gcc-toolset/15-env.source
%endif
%cmake_install
install -Dpm644 %{SOURCE4} -t %{buildroot}%{_rpmconfigdir}/macros.d
%files
%license LICENSE LICENSE-udis86 LICENSE-hyprland-protocols
%{_bindir}/[Hh]yprland
%{_bindir}/hyprctl
%{_bindir}/hyprpm
%{_bindir}/start-hyprland
%{_datadir}/hypr/
%{_datadir}/wayland-sessions/hyprland.desktop
%{_datadir}/xdg-desktop-portal/hyprland-portals.conf
%{_mandir}/man1/hyprctl.1*
%{_mandir}/man1/Hyprland.1*
%{bash_completions_dir}/hypr*
%{fish_completions_dir}/hypr*.fish
%{zsh_completions_dir}/_hypr*
%files uwsm
%{_datadir}/wayland-sessions/hyprland-uwsm.desktop
%files devel
%{_datadir}/pkgconfig/hyprland.pc
%{_includedir}/hyprland/
%{_rpmconfigdir}/macros.d/macros.hyprland
%changelog
%autochangelog

View File

@@ -0,0 +1 @@
%_hyprland_version @@HYPRLAND_VERSION@@

35
hyprland-git/update.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/usr/bin/bash
set -euxo pipefail
curl_opts=(--connect-timeout 10 --retry 7 --retry-connrefused -Ss -X POST)
oldHyprlandCommit="$(sed -n 's/.*hyprland_commit \(.*\)/\1/p' hyprland-git.spec)"
newHyprlandCommit="$(curl -s -H "Accept: application/vnd.github.VERSION.sha" "https://api.github.com/repos/hyprwm/Hyprland/commits/main")"
oldCommitsCount="$(sed -n 's/.*commits_count \(.*\)/\1/p' hyprland-git.spec)"
newCommitsCount="$(curl -I -k \
"https://api.github.com/repos/hyprwm/Hyprland/commits?per_page=1&sha=$newHyprlandCommit" | \
sed -n '/^[Ll]ink:/ s/.*"next".*page=\([0-9]*\).*"last".*/\1/p')"
oldCommitDate="$(sed -n 's/.*commit_date \(.*\)/\1/p' hyprland-git.spec)"
newCommitDate="$(env TZ=Etc/GMT+12 date -d "$(curl -s "https://api.github.com/repos/hyprwm/Hyprland/commits?per_page=1&ref=$newHyprlandCommit" | \
jq -r '.[].commit.author.date')" +"%a %b %d %T %Y")"
oldProtocolsCommit="$(sed -n 's/.*protocols_commit \(.*\)/\1/p' hyprland-git.spec)"
newProtocolsCommit="$(curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/hyprwm/Hyprland/contents/subprojects/hyprland-protocols?ref=$newHyprlandCommit" | jq -r '.sha')"
oldUdis86Commit="$(sed -n 's/.*udis86_commit \(.*\)/\1/p' hyprland-git.spec)"
newUdis86Commit="$(curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/hyprwm/Hyprland/contents/subprojects/udis86?ref=$newHyprlandCommit" | jq -r '.sha')"
sed -e "s/$oldHyprlandCommit/$newHyprlandCommit/" \
-e "/%global commits_count/s/$oldCommitsCount/$newCommitsCount/" \
-e "s/$oldCommitDate/$newCommitDate/" \
-e "s/$oldProtocolsCommit/$newProtocolsCommit/" \
-e "s/$oldUdis86Commit/$newUdis86Commit/" \
-i hyprland-git.spec

54
hyprland-guiutils.spec Normal file
View File

@@ -0,0 +1,54 @@
Name: hyprland-guiutils
Version: 0.2.0
Release: %autorelease
Summary: Hyprland Qt/qml utility apps
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprland-guiutils
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6WaylandClient)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: qt6-qtbase-private-devel
BuildRequires: pkgconfig(hyprlang)
BuildRequires: pkgconfig(hyprtoolkit)
BuildRequires: pkgconfig(pixman-1)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: wayland-devel
Requires: hyprland-qt-support%{?_isa}
Obsoletes: hyprland-qtutils <= 0.1.5
%description
%{summary}.
%prep
%autosetup
%build
%cmake
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_bindir}/hyprland-dialog
%{_bindir}/hyprland-donate-screen
%{_bindir}/hyprland-run
%{_bindir}/hyprland-update-screen
%{_bindir}/hyprland-welcome
%changelog
%autochangelog

44
hyprland-protocols.spec Normal file
View File

@@ -0,0 +1,44 @@
Name: hyprland-protocols
Version: 0.7.0
Release: %autorelease
Summary: Wayland protocol extensions for Hyprland
BuildArch: noarch
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprland-protocols
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
BuildRequires: meson
%description
%{summary}.
%package devel
Summary: Wayland protocol extensions for Hyprland
%description devel
%{summary}.
%prep
%autosetup -p1
%build
%meson
%meson_build
%install
%meson_install
%files devel
%license LICENSE
%doc README.md
%{_datadir}/pkgconfig/%{name}.pc
%{_datadir}/%{name}/
%changelog
%autochangelog

View File

@@ -0,0 +1,29 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a10b688..3c20875 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,11 @@
cmake_minimum_required(VERSION 3.20)
+# Get version
+file(READ "${CMAKE_SOURCE_DIR}/VERSION" VER_RAW)
+string(STRIP ${VER_RAW} VER)
+
+project(hyprland-qt-support VERSION ${VER} LANGUAGES CXX)
+
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -8,12 +14,6 @@ include(cmake/install-qml-module.cmake)
option(BUILD_TESTER "Build style tester" OFF)
-# Get version
-file(READ "${CMAKE_SOURCE_DIR}/VERSION" VER_RAW)
-string(STRIP ${VER_RAW} VER)
-
-project(hyprland-qt-support VERSION ${VER} LANGUAGES CXX)
-
find_package(Qt6 6.6 REQUIRED COMPONENTS Qml Quick QuickControls2)
find_package(PkgConfig REQUIRED)

View File

@@ -0,0 +1,44 @@
Name: hyprland-qt-support
Version: 0.1.0
Release: %autorelease -b8
Summary: A Qt6 Qml style provider for hypr* apps
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprland-qt-support
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch: cmake.patch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: qt6-rpm-macros
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Qml)
BuildRequires: pkgconfig(hyprlang)
%description
%{summary}.
%prep
%autosetup -p1
%build
%cmake -DINSTALL_QMLDIR=%{_qt6_qmldir}
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_libdir}/libhyprland-quick-style-impl.so
%{_libdir}/libhyprland-quick-style.so
%{_qt6_qmldir}/org/hyprland/
%changelog
%autochangelog

52
hyprlang.spec Normal file
View File

@@ -0,0 +1,52 @@
Name: hyprlang
Version: 0.6.7
Release: %autorelease -b12
Summary: The official implementation library for the hypr config language
License: LGPL-3.0-only
URL: https://github.com/hyprwm/hyprlang
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig(hyprutils)
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
sed 's/.*/%{version}/' -i VERSION
%build
%cmake
%cmake_build
%install
%cmake_install
%check
%ctest
%files
%license LICENSE
%doc README.md
%{_libdir}/libhyprlang.so.2
%{_libdir}/libhyprlang.so.%{version}
%files devel
%{_includedir}/hyprlang.hpp
%{_libdir}/libhyprlang.so
%{_libdir}/pkgconfig/hyprlang.pc
%changelog
%autochangelog

58
hyprpaper.spec Normal file
View File

@@ -0,0 +1,58 @@
Name: hyprpaper
Version: 0.7.6
Release: %autorelease
Summary: Blazing fast wayland wallpaper utility with IPC controls
# LICENSE: BSD-3-Clause
# protocols/wlr-layer-shell-unstable-v1.xml: HPND-sell-variant
License: BSD-3-Clause AND HPND-sell-variant
URL: https://github.com/hyprwm/hyprpaper
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(hyprgraphics)
BuildRequires: pkgconfig(hyprlang)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(hyprwayland-scanner)
BuildRequires: pkgconfig(libmagic)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
%description
Hyprpaper is a blazing fast wallpaper utility for Hyprland with the ability
to dynamically change wallpapers through sockets. It will work on all
wlroots-based compositors, though.
%prep
%autosetup -p1
%build
%cmake
%cmake_build
%install
%cmake_install
%post
%systemd_user_post %{name}.service
%preun
%systemd_user_preun %{name}.service
%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%{_userunitdir}/%{name}.service
%changelog
%autochangelog

53
hyprpolkitagent.spec Normal file
View File

@@ -0,0 +1,53 @@
Name: hyprpolkitagent
Version: 0.1.3
Release: %autorelease
Summary: A simple polkit authentication agent for Hyprland
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprpolkitagent
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: systemd-rpm-macros
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(polkit-agent-1)
BuildRequires: pkgconfig(polkit-qt6-1)
Requires: hyprland-qt-support%{?_isa}
%description
A simple polkit authentication agent for Hyprland, written in QT/QML.
%prep
%autosetup -p1
%build
%cmake
%cmake_build
%install
%cmake_install
%post
%systemd_user_post %{name}.service
%preun
%systemd_user_preun %{name}.service
%files
%license LICENSE
%doc README.md
%{_datadir}/dbus-1/services/org.hyprland.%{name}.service
%{_libexecdir}/%{name}
%{_userunitdir}/%{name}.service
%changelog
%autochangelog

View File

@@ -0,0 +1,16 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 94ecfef..19e9380 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,6 +14,10 @@ find_package(KF6Config)
find_package(KF6ColorScheme)
find_package(KF6IconThemes)
+if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.9.0")
+ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
+endif()
+
get_target_property(QT_QTPATHS_EXECUTABLE Qt6::qtpaths IMPORTED_LOCATION)
if(NOT PLUGINDIR)

View File

@@ -0,0 +1,49 @@
Name: hyprqt6engine
Version: 0.1.0
Release: %autorelease -b6
Summary: Qt6 Theme Provider for Hyprland
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprqt6engine
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch: fix-build.diff
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: qt6-rpm-macros
BuildRequires: pkgconfig(hyprlang)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: cmake(KF6ColorScheme)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6IconThemes)
BuildRequires: cmake(Qt6BuildInternals)
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: qt6-qtbase-private-devel
%description
%{summary}.
%prep
%autosetup -p1
%build
%cmake -DCMAKE_BUILD_TYPE=Release
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_libdir}/libhyprqt6engine-common.so
%{_qt6_plugindir}/platformthemes/libhyprqt6engine.so
%{_qt6_plugindir}/styles/libhypr-style.so
%changelog
%autochangelog

70
hyprtoolkit.spec Normal file
View File

@@ -0,0 +1,70 @@
Name: hyprtoolkit
Version: 0.4.1
Release: %autorelease
Summary: A modern C++ Wayland-native GUI toolkit
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprtoolkit
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: cmake(hyprwayland-scanner)
BuildRequires: gcc-c++
BuildRequires: mesa-libEGL-devel
BuildRequires: ninja-build
BuildRequires: pkgconfig(aquamarine)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(hyprgraphics)
BuildRequires: pkgconfig(hyprlang)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(iniparser)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pixman-1)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: gtest-devel
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig(aquamarine)
Requires: pkgconfig(cairo)
Requires: pkgconfig(hyprgraphics)
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%cmake -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTING=OFF
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_libdir}/lib%{name}.so.%{version}
%{_libdir}/lib%{name}.so.4
%files devel
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog
%autochangelog

51
hyprutils.spec Normal file
View File

@@ -0,0 +1,51 @@
Name: hyprutils
Version: 0.10.4
Release: %autorelease
Summary: Hyprland utilities library used across the ecosystem
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprutils
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig(pixman-1)
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%cmake
%cmake_build
%install
%cmake_install
%check
%ctest
%files
%license LICENSE
%doc README.md
%{_libdir}/lib%{name}.so.%{version}
%{_libdir}/lib%{name}.so.9
%files devel
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog
%autochangelog

56
hyprwire.spec Normal file
View File

@@ -0,0 +1,56 @@
Name: hyprwire
Version: 0.2.1
Release: %autorelease
Summary: A fast and consistent wire protocol for IPC
License: BSD-3-Clause
URL: https://github.com/hyprwm/hyprwire
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(pugixml)
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%cmake -GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTING=OFF
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%doc README.md
%{_libdir}/lib%{name}.so.%{version}
%{_libdir}/lib%{name}.so.2
%files devel
%{_bindir}/%{name}-scanner
%{_includedir}/%{name}/
%{_libdir}/cmake/%{name}-scanner/
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{name}-scanner.pc
%changelog
%autochangelog

View File

@@ -0,0 +1,17 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- SPDX-License-Identifier: MIT -->
<fontconfig>
<alias>
<family>fantasy</family>
<default>
<family>Material Icons</family>
</default>
</alias>
<alias>
<family>Material Icons</family>
<default>
<family>fantasy</family>
</default>
</alias>
</fontconfig>

View File

@@ -0,0 +1,54 @@
%global commit0 b2c0f61d8a99224bd99924f3d0471d9f146c9a54
%global shortcommit0 %{sub %{commit0} 1 7}
%global bumpver 1
Version: 4.0.0%{?bumpver:^%{bumpver}.git%{shortcommit0}}
Release: %autorelease
URL: https://google.github.io/material-design-icons/
%global fontlicense Apache-2.0
%global fontlicenses LICENSE
%global fontdocs README.md
%global fontfamily Material Icons
%global fontsummary Google material design system icons
%global fonts font/*.otf font/*.ttf variablefont/*.ttf
%global fontorg com.google
%global fontconfs %{SOURCE1}
%global fontdescription %{expand:
Material design icons is the official icon set from Google. The icons
are designed under the material design guidelines.}
Source1: 65-%{fontpkgname}.conf
BuildRequires: git-core
%fontpkg
%prep
%setup -c
git clone --single-branch --branch=master --filter=blob:none --sparse --depth=1 https://github.com/google/material-design-icons.git .
git sparse-checkout init --cone
git sparse-checkout set font variablefont
git checkout %{commit0}
%build
%fontbuild
%install
%fontinstall
metainfo=%{buildroot}%{_metainfodir}/%{fontorg}.%{name}.metainfo.xml
# The Fedora font macros generate invalid metainfo; see bz 1943727.
sed -e 's,updatecontact,update_contact,g' \
-e 's,<!\[CDATA\[\(.*\)\]\]>,\1,' \
-e 's,<font></font>,<font>Material Icons Outlined Regular</font>\n <font>Material Icons Round Regular</font>\n <font>Material Icons Sharp Regular</font>\n <font>Material Icons Two Tone Regular</font>,' \
-i $metainfo
%check
%fontcheck
%fontfiles
%changelog
%autochangelog

47
matugen.spec Normal file
View File

@@ -0,0 +1,47 @@
%bcond_with check
Name: matugen
Version: 3.1.0
Release: %autorelease
Summary: A material you color generation tool with templates
License: GPL-2.0-only
URL: https://github.com/InioX/matugen
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
%{summary}.}
%description %{_description}
%prep
%autosetup -p1
cargo vendor
%cargo_prep -v vendor
%build
%cargo_build
%{cargo_license_summary}
%{cargo_license} > LICENSE.dependencies
%{cargo_vendor_manifest}
%install
install -Dpm755 target/release/matugen %{buildroot}%{_bindir}/matugen
%if %{with check}
%check
%cargo_test
%endif
%files
%license LICENSE
%license LICENSE.dependencies
%license cargo-vendor.txt
%doc CHANGELOG.md
%doc README.md
%{_bindir}/matugen
%changelog
%autochangelog

82
uwsm.spec Normal file
View File

@@ -0,0 +1,82 @@
Name: uwsm
Version: 0.24.3
Release: %autorelease
Summary: Universal Wayland Session Manager
License: MIT
URL: https://github.com/Vladimir-csp/uwsm
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: desktop-file-utils
BuildRequires: meson
BuildRequires: python-rpm-macros
BuildRequires: python3
BuildRequires: python3-dbus
BuildRequires: python3-pyxdg
BuildRequires: scdoc
BuildRequires: systemd-rpm-macros
Requires: python3
Requires: python3-dbus
Requires: python3-pyxdg
Requires: util-linux
Recommends: /usr/bin/notify-send
Recommends: /usr/bin/whiptail
Recommends: wofi
%description
Wraps standalone Wayland compositors into a set of Systemd units on the fly.
This provides robust session management including environment, XDG autostart
support, bi-directional binding with login session, and clean shutdown.
For compositors this is an opportunity to offload Systemd integration and
session/XDG autostart management in Systemd-managed environments.
%prep
%autosetup -p1
%build
%meson -Duuctl=enabled -Dfumon=enabled -Duwsm-app=enabled
%meson_build
%install
%meson_install
%py_byte_compile %{python3} %{buildroot}%{_datadir}/%{name}/modules
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%post
%systemd_user_post fumon.service
%preun
%systemd_user_preun fumon.service
%postun
%systemd_user_postun fumon.service
%files
%doc %{_docdir}/%{name}/
%license LICENSE
%{_bindir}/%{name}
%{_bindir}/%{name}-app
%{_bindir}/%{name}-terminal
%{_bindir}/%{name}-terminal-scope
%{_bindir}/%{name}-terminal-service
%{_bindir}/fumon
%{_bindir}/uuctl
%{_datadir}/%{name}/
%{_datadir}/applications/uuctl.desktop
%{_mandir}/man1/%{name}.1.*
%{_mandir}/man1/fumon.1.*
%{_mandir}/man1/uuctl.1.*
%{_mandir}/man1/uwsm-app.1.*
%{_mandir}/man3/%{name}-plugins.3.*
%{_userunitdir}/fumon.service
%{_userunitdir}/*-graphical.slice
%{_userunitdir}/wayland-*.service
%{_userunitdir}/wayland-*.target
%changelog
%autochangelog

View File

@@ -0,0 +1,27 @@
From cda8f7af382f5c5f1e9a395eb03e2b819770d499 Mon Sep 17 00:00:00 2001
From: Yuji Saeki <44311901+YujiSaeki@users.noreply.github.com>
Date: Mon, 1 Jun 2020 22:32:16 +0200
Subject: [PATCH 1/1] fix wrong math
Signed-off-by: Christian Hesse <mail@eworm.de>
---
xcur2png.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/xcur2png.c b/xcur2png.c
index 8723a10..f7dd95d 100644
--- a/xcur2png.c
+++ b/xcur2png.c
@@ -586,9 +586,9 @@ int writePngFileFromXcur (const XcursorDim width, const XcursorDim height,
unsigned int red = (pixels[i]>>16) & 0xff;
unsigned int green = (pixels[i]>>8) & 0xff;
unsigned int blue = pixels[i] & 0xff;
- red = (div (red * 256, alpha).quot) & 0xff;
- green = (div (green * 256, alpha).quot) & 0xff;
- blue = (div (blue * 256, alpha).quot) & 0xff;
+ red = (div (red * 255, alpha).quot) & 0xff;
+ green = (div (green * 255, alpha).quot) & 0xff;
+ blue = (div (blue * 255, alpha).quot) & 0xff;
pix[i] = (alpha << 24) + (red << 16) + (green << 8) + blue;
}

38
xcur2png/xcur2png.spec Normal file
View File

@@ -0,0 +1,38 @@
%global build_type_safety_c 0
Name: xcur2png
Version: 0.7.1
Release: %autorelease -b2
Summary: Convert X cursors to PNG images
License: GPL-3.0-or-later
URL: https://github.com/eworm-de/xcur2png
Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch: 0001-fix-wrong-math.patch
BuildRequires: gcc
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(xcursor)
%description
xcur2png is a program which let you take PNG image from X cursor, and generate
config-file which is reusable by xcursorgen. To put it simply, it is
converter from X cursor to PNG image.
%prep
%autosetup
%build
%configure
%make_build
%install
%make_install
%files
%license COPYING
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1.*
%changelog
%autochangelog

View File

@@ -0,0 +1,83 @@
%global sdbus_version 2.1.0
Name: xdg-desktop-portal-hyprland
Epoch: 1
Version: 1.3.11
Release: %autorelease
Summary: xdg-desktop-portal backend for hyprland
License: BSD-3-Clause
URL: https://github.com/hyprwm/xdg-desktop-portal-hyprland
Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Source: https://github.com/Kistler-Group/sdbus-cpp/archive/v%{sdbus_version}/sdbus-%{sdbus_version}.tar.gz
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(hyprland-protocols)
BuildRequires: pkgconfig(hyprlang)
BuildRequires: pkgconfig(hyprutils)
BuildRequires: pkgconfig(hyprwayland-scanner)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(Qt6Widgets)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wayland-scanner)
Requires: dbus
# required for Screenshot portal implementation
Requires: grim
Recommends: hyprpicker
Requires: xdg-desktop-portal
# required for hyprland-share-picker
Requires: slurp
Requires: qt6-qtwayland
Enhances: hyprland
Supplements: hyprland
Supplements: hyprland-git
Provides: bundled(sdbus-cpp) = %{sdbus_version}
%description
%{summary}.
%prep
%autosetup -p1
tar -xf %{SOURCE1} -C subprojects/sdbus-cpp --strip=1
%build
%cmake -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release
%cmake_build
%install
%cmake_install
%post
%systemd_user_post %{name}.service
%preun
%systemd_user_preun %{name}.service
%files
%license LICENSE
%doc README.md
%{_bindir}/hyprland-share-picker
%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service
%{_datadir}/xdg-desktop-portal/portals/hyprland.portal
%{_libexecdir}/%{name}
%{_userunitdir}/%{name}.service
%changelog
%autochangelog