mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 17:11:56 +00:00
Compare commits
261 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eacaa051be | |||
| d8fe736849 | |||
| 0340b40ee6 | |||
| cb2092f9d4 | |||
| 98abd0786a | |||
| ff3b3d0890 | |||
| a4d3e844d2 | |||
| 0ac6602c05 | |||
| b99b98d8d4 | |||
| b08ae6eb9c | |||
| fd3ea2a778 | |||
| 6afa6e4f01 | |||
| 96380b33a7 | |||
| b8d0770377 | |||
| 2f996da8a7 | |||
| e4d3e4d5e5 | |||
| 8074e4a17f | |||
| 03a366201c | |||
| 529258d462 | |||
| ebaed9b737 | |||
| 2cdabd5848 | |||
| 3df95c1a92 | |||
| fb012ca1c5 | |||
| fa5ebf6274 | |||
| f1236f5bf9 | |||
| b15e75b472 | |||
| 666c1e587a | |||
| 8fb48ac169 | |||
| 1b82dd049d | |||
| 2eace812e1 | |||
| a69cc4f10a | |||
| 7f29442920 | |||
| b27e5840d2 | |||
| 389c4abd5d | |||
| 9b0baaf26e | |||
| 02f40d4b81 | |||
| 15e10a71d8 | |||
| 529b2312ed | |||
| 949a63f38b | |||
| 0394017878 | |||
| d7d3bf64ed | |||
| bd053c567b | |||
| 9db7470f11 | |||
| 6ed310e12e | |||
| 7854fd5910 | |||
| 694757dbb9 | |||
| b6e10a6637 | |||
| 3dd4a238be | |||
| b90e576c1a | |||
| ae247913ab | |||
| e334d5d927 | |||
| 36362e035c | |||
| 1e3ef94120 | |||
| 879c1368c0 | |||
| 3e816913e1 | |||
| 88ca80fc5d | |||
| 578487b844 | |||
| c19a7a9491 | |||
| 3d99c411dc | |||
| 5875bb0e0c | |||
| 95d43bc184 | |||
| 2ed7fe8fd7 | |||
| a6b2fecdb0 | |||
| 0f1adac5cf | |||
| d8c185ed39 | |||
| 9d71fcbd14 | |||
| 3f35de4a02 | |||
| 0b4dada4ea | |||
| 9a45f37d3a | |||
| d00714c1f2 | |||
| 6d20c57c35 | |||
| 46eb234531 | |||
| 8db8b66443 | |||
| d7565b236e | |||
| 89d985d7e9 | |||
| bd8d78423f | |||
| 49aa21c5ad | |||
| 1008d2d393 | |||
| 399bb3ff80 | |||
| 6dca9ad5d5 | |||
| a09b485bbf | |||
| 9c877b4d96 | |||
| e30313f292 | |||
| 5a82401d7f | |||
| 76ce2fb3cf | |||
| 904602d351 | |||
| 6cfd1ff7c6 | |||
| 3138e25788 | |||
| dd79054b62 | |||
| 39733a1be3 | |||
| 9a62d35658 | |||
| 9a80c66a70 | |||
| 5ffcc071f3 | |||
| 1085a4e8bc | |||
| 26b5993987 | |||
| e3411f6597 | |||
| 97d5347c6e | |||
| 3424e20626 | |||
| 16edc65c3b | |||
| b49c9d3afa | |||
| c69995e7e1 | |||
| 974ef19f79 | |||
| d00b31705b | |||
| b6bea227fc | |||
| 4fc0fbb432 | |||
| fb102674fa | |||
| 24ad29f75d | |||
| 0067e85e08 | |||
| d225ba8ca4 | |||
| 0b3e46c529 | |||
| 6e9b162f08 | |||
| 8bee77dc50 | |||
| 2eab51a6d1 | |||
| d8c5842660 | |||
| 63a2d376e8 | |||
| 54f027b897 | |||
| 066d3bfc31 | |||
| 2558a34596 | |||
| 59dbd6f8f3 | |||
| 6759bdfbf9 | |||
| d07757e7bb | |||
| 8ecd29c7fa | |||
| 4cabc4cbe0 | |||
| ea326fd8ea | |||
| 1f7f838354 | |||
| daef48c6b6 | |||
| b2e26275a8 | |||
| 1e4f438a36 | |||
| 8fb8d8f8e0 | |||
| e6b2135253 | |||
| 24d7508f36 | |||
| 708becfff9 | |||
| 5c6be905c6 | |||
| f179d855bf | |||
| 2e174a59b1 | |||
| 10eded1422 | |||
| 2fc002217d | |||
| 085d0b2d52 | |||
| d9f4bfa6d9 | |||
| adf807785a | |||
| 33600955c2 | |||
| 2d3315f197 | |||
| 2f1041a272 | |||
| 60e66babbd | |||
| 01c88f10b5 | |||
| 281205c884 | |||
| 4fcf2081f3 | |||
| f59908b235 | |||
| 328feb84c4 | |||
| 1e395137d7 | |||
| a341dd4c34 | |||
| a186aba3ab | |||
| 5795b186c5 | |||
| 5bdc8cb3fa | |||
| 42b6c6b067 | |||
| 321fd1966f | |||
| d3affb6243 | |||
| 85596260d5 | |||
| bbdd6371ce | |||
| c334a0c0df | |||
| 36f0abfc87 | |||
| 9b818a522f | |||
| 0b2ee9e5ad | |||
| 2eaaad88b9 | |||
| 36ba73e2ba | |||
| bd13622e1c | |||
| b3c0da3e77 | |||
| 23ddc312eb | |||
| baaa0be079 | |||
| aacf13ae72 | |||
| 88e95ca604 | |||
| f4af79fdc4 | |||
| e7b39e7e2c | |||
| 23052b3ace | |||
| 130412db85 | |||
| 750d9e535c | |||
| a9aee82e6a | |||
| 03ff25d3da | |||
| 9826c480b6 | |||
| 7f8f0f076b | |||
| 7bb1147645 | |||
| 0a54c6edbc | |||
| c52c0f5a81 | |||
| a3c1967ce8 | |||
| cfd04c6c97 | |||
| bc2d102cb8 | |||
| fb87f2eae9 | |||
| 755dd08769 | |||
| d9af35021c | |||
| ca61fe6e54 | |||
| e08b319082 | |||
| 973714a4ee | |||
| 0aacc1965a | |||
| 1fcca3a56f | |||
| 17fceac96f | |||
| 51e644d91e | |||
| 93c3542e8d | |||
| 7065679f2c | |||
| 4767e5b956 | |||
| c39f0d467e | |||
| aa2b8290fb | |||
| ed673bec68 | |||
| 045606c831 | |||
| 70d3836c99 | |||
| 9224889290 | |||
| 9c856fdf59 | |||
| ebef13fac5 | |||
| 4302efd5a8 | |||
| 545f6e24c6 | |||
| 5a2e81ac23 | |||
| 9fefc1b45a | |||
| ad296daf7d | |||
| b4214918d1 | |||
| 9b9546524f | |||
| 320c66228c | |||
| 6df605117f | |||
| 79d48d5d03 | |||
| 1bcbff366c | |||
| 35c40d5d2c | |||
| 6b23128d2e | |||
| e67db073a3 | |||
| 9aa6d3393d | |||
| db597f5ca4 | |||
| 71123cdee4 | |||
| 7a03abb583 | |||
| bb8f98befd | |||
| 1f0c6361ce | |||
| 56746cb0ff | |||
| 003c53209b | |||
| b11c8b8141 | |||
| ce86e2f98b | |||
| ebd4c26116 | |||
| 6ae5c4879d | |||
| 1e21ae7180 | |||
| 6567f59c62 | |||
| ee13af1ac5 | |||
| 2125b6f6a4 | |||
| 6658a74eb6 | |||
| ba106302cd | |||
| f7ddfdf7e2 | |||
| 846f35f597 | |||
| df1c8eeb10 | |||
| 3a99990eb4 | |||
| fa7f96db4b | |||
| 886c8cb028 | |||
| 72e4664a24 | |||
| 539cb5c241 | |||
| 175d7319b5 | |||
| 2a0ee494d5 | |||
| c994524882 | |||
| 3ca853a449 | |||
| 890be0a832 | |||
| e2588cd58a | |||
| e8edc0b58f | |||
| d0251473f7 | |||
| f7a8a76553 | |||
| 2497712261 | |||
| f50e30ac64 | |||
| f6bba760eb | |||
| f3073fd357 | |||
| 7dbff988a4 |
@@ -0,0 +1,52 @@
|
||||
name: Update per branch
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/30 * * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
branch:
|
||||
- frawhide
|
||||
- f39
|
||||
- f40
|
||||
- f41
|
||||
- el9
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ matrix.branch }}
|
||||
fetch-depth: 0
|
||||
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
|
||||
|
||||
- name: Install SSH signing key & Set up git repository
|
||||
run: |
|
||||
mkdir -p ${{ runner.temp }}
|
||||
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
|
||||
chmod 0700 ${{ runner.temp }}/signing_key
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Run Update
|
||||
run: anda update -vv --filters updbranch=1 --labels branch=${{ matrix.branch }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RUST_BACKTRACE: full
|
||||
|
||||
- name: Save
|
||||
run: |
|
||||
if [[ `git status --porcelain` ]]; then
|
||||
git config user.name "Raboneko"
|
||||
git config user.email "raboneko@fyralabs.com"
|
||||
git config gpg.format "ssh"
|
||||
git config user.signingkey "${{ runner.temp }}/signing_key"
|
||||
msg="bump(branch): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
|
||||
git commit -S -a -m "$msg"
|
||||
git push -u origin --all
|
||||
fi
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Run Update
|
||||
run: anda update -vv --excludes nightly=1
|
||||
run: anda update -vv --excludes nightly=1 --excludes updbranch=1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
|
||||
RUST_BACKTRACE: full
|
||||
|
||||
+4
-6
@@ -1,9 +1,7 @@
|
||||
# Contributing
|
||||
|
||||
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please contact us on [Discord](https://discord.gg/5fdPuxTg5Q).
|
||||
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/).
|
||||
|
||||
## Documentations
|
||||
|
||||
* [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
|
||||
* [FAQ](https://developer.fyralabs.com/terra/faq)
|
||||
* [Policy](https://developer.fyralabs.com/terra/policy)
|
||||
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
|
||||
- [FAQ](https://developer.fyralabs.com/terra/faq)
|
||||
- [Policy](https://developer.fyralabs.com/terra/policy)
|
||||
|
||||
@@ -7,16 +7,31 @@
|
||||
Terra is a rolling-release Fedora repository for all the software you need.
|
||||
With Terra, you can install the latest packages knowing that quality and security are assured.
|
||||
|
||||
See the introduction at [our website](https://terra.fyralabs.com).
|
||||
|
||||
This monorepo contains the package manifests for all packages in Terra.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
sudo dnf install --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' --setopt='terra.gpgkey=https://repos.fyralabs.com/terra$releasever/key.asc' terra-release
|
||||
```
|
||||
You should also install the `terra-release` package so that when our infrastructure has any migrations, you can be assured that your Terra installation will still work as-is.
|
||||
|
||||
If you are using immutable/atomic editions of Fedora, run the following commands instead:
|
||||
|
||||
```bash
|
||||
curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo
|
||||
sudo rpm-ostree install terra-release
|
||||
```
|
||||
|
||||
## Documentation
|
||||
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/). Alternatively, the GitHub Wiki contains older versions of the documentations.
|
||||
|
||||
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
|
||||
|
||||
## Questions?
|
||||
Feel free to reach out on [Discord](https://discord.gg/5fdPuxTg5Q). We're always happy to help!
|
||||
|
||||
Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help!
|
||||
|
||||
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
|
||||
- [FAQ](https://developer.fyralabs.com/terra/faq)
|
||||
- [Policy](https://developer.fyralabs.com/terra/policy)
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
%global _build_id_links none
|
||||
|
||||
%ifarch x86_64
|
||||
%global src ArmCord-%version
|
||||
%global src ArmCord-%version-linux-x64
|
||||
%elifarch aarch64
|
||||
%global src ArmCord-%version-arm64
|
||||
%global src ArmCord-%version-linux-arm64
|
||||
%elifarch armv7l
|
||||
%global src ArmCord-%version-armv7l
|
||||
%global src ArmCord-%version-linux-armv7l
|
||||
%endif
|
||||
|
||||
# Exclude private libraries
|
||||
@@ -14,7 +14,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/armcord/.*\\.so
|
||||
|
||||
Name: armcord-bin
|
||||
Version: 3.2.7
|
||||
Version: 3.3.0
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: armcord
|
||||
Version: 3.2.7
|
||||
Version: 3.3.0
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/ArmCord/ArmCord
|
||||
Group: Applications/Internet
|
||||
Source1: launch.sh
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
Requires: electron xdg-utils
|
||||
BuildRequires: nodejs-npm git add-determinism
|
||||
BuildRequires: git-core add-determinism pnpm
|
||||
Conflicts: armcord-bin
|
||||
BuildArch: noarch
|
||||
|
||||
@@ -37,8 +38,8 @@ EOF
|
||||
|
||||
|
||||
%build
|
||||
npx pnpm@7 install --no-frozen-lockfile
|
||||
npm run packageQuick
|
||||
pnpm install --no-frozen-lockfile
|
||||
pnpm run packageQuick
|
||||
|
||||
|
||||
%install
|
||||
@@ -50,13 +51,16 @@ install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/armcord.png
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%license license.txt
|
||||
/usr/bin/armcord
|
||||
/usr/share/applications/ArmCord.desktop
|
||||
/usr/share/pixmaps/armcord.png
|
||||
/usr/share/armcord/app.asar
|
||||
|
||||
%changelog
|
||||
* Mon Aug 26 2024 madonuko <mado@fyralabs.com> - 3.3.0-1
|
||||
- Update to license.txt
|
||||
|
||||
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
|
||||
- Remove libnotify dependency.
|
||||
- Fix desktop entry.
|
||||
@@ -64,4 +68,3 @@ install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/armcord.png
|
||||
|
||||
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
|
||||
- Initial package
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 0.0.464
|
||||
Version: 0.0.479
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary
|
||||
Version: 0.0.464
|
||||
Version: 0.0.479
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-openasar
|
||||
Version: 0.0.62
|
||||
Version: 0.0.66
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb-openasar
|
||||
Version: 0.0.97
|
||||
Version: 0.0.101
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb
|
||||
Version: 0.0.97
|
||||
Version: 0.0.101
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord
|
||||
Version: 0.0.62
|
||||
Version: 0.0.66
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 5eb42335e0ccbf3558b1d285348d7c02906c931d
|
||||
%global commit_date 20240801
|
||||
%global commit 943fc151f7c1927cb450456de9bb838311d9cc24
|
||||
%global commit_date 20240831
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: envision
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
%global pure_protobuf_version 2.0.0
|
||||
|
||||
Name: komikku
|
||||
Version: 1.51.1
|
||||
Version: 1.56.0
|
||||
%forgemeta
|
||||
Release: %autorelease
|
||||
Release: 1%?dist
|
||||
Summary: A manga reader for GNOME
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit dcb4b491b2077be370cf5295ff4021d1e6182817
|
||||
%global commit 7c672e33a5eab0564383127c8837b1034a84357b
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240801
|
||||
%global commit_date 20240831
|
||||
%global ver 0.38.0
|
||||
|
||||
Name: mpv-nightly
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2024-08-01
|
||||
%global ver 2024-08-31
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
@@ -59,7 +59,7 @@ EOF
|
||||
%install
|
||||
cd desktop
|
||||
%cargo_install
|
||||
install -Dm644 assets/logo.svg %buildroot%_iconsdir/hicolor/scalable/apps/ruffle_desktop.svg
|
||||
install -Dm644 assets/icon.svg %buildroot%_iconsdir/hicolor/scalable/apps/ruffle_desktop.svg
|
||||
install -Dm644 ../ruffle_desktop.desktop %buildroot%_datadir/applications/ruffle_desktop.desktop
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -1,19 +1,27 @@
|
||||
%define debug_package %nil
|
||||
%global _build_id_links none
|
||||
|
||||
# do not strip binaries
|
||||
%define __strip /bin/true
|
||||
|
||||
# do not perform compression in cpio
|
||||
%define _source_payload w0.ufdio
|
||||
%define _binary_payload w0.gzdio
|
||||
|
||||
# Exclude private libraries
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: voicevox
|
||||
Version: 0.19.2
|
||||
Release: 4%?dist
|
||||
Version: 0.20.0
|
||||
Release: 1%?dist
|
||||
Summary: Free Japanese text-to-speech editor
|
||||
License: LGPL-3.0
|
||||
URL: https://voicevox.hiroshiba.jp
|
||||
Source0: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.001
|
||||
Source1: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.002
|
||||
Source2: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.003
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
BuildRequires: p7zip-plugins
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
@@ -28,7 +36,7 @@ Summary: Documentation files for voicevox (Japanese)
|
||||
|
||||
%prep
|
||||
cat<<EOF > voicevox.sh
|
||||
#!/bin/sh
|
||||
#!/usr/bin/sh
|
||||
/usr/share/voicevox/VOICEVOX.AppImage
|
||||
EOF
|
||||
7z x %SOURCE0
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "youtube-music.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("th-ch/youtube-music"));
|
||||
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=YouTube Music
|
||||
Exec=/usr/bin/youtube-music --no-sandbox %U
|
||||
TryExec=/usr/bin/youtube-music
|
||||
Icon=youtube-music
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupWMClass=YouTube Music
|
||||
Comment=YouTube Music Desktop App - including custom plugins
|
||||
Categories=AudioVideo;
|
||||
@@ -0,0 +1,91 @@
|
||||
%define debug_package %nil
|
||||
|
||||
|
||||
# macro shorthand for calling pnpm
|
||||
%global pnpm npx pnpm@%{pnpm_version}
|
||||
|
||||
Name: youtube-music
|
||||
Version: 3.5.1
|
||||
Release: 1%{?dist}
|
||||
Summary: YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
|
||||
Source1: youtube-music.desktop
|
||||
License: MIT
|
||||
URL: https://github.com/th-ch/youtube-music
|
||||
Packager: Cappy Ishihara <cappy@fyralabs.com>
|
||||
|
||||
# For some unknown reason, PNPM is not working with Node.js 22 on Aarch64 devices.
|
||||
# todo: investigate why
|
||||
#ExclusiveArch: x86_64
|
||||
|
||||
BuildRequires: git-core gcc make
|
||||
# Required for usocket native module built with node-gyp
|
||||
BuildRequires: python3 gcc-c++
|
||||
|
||||
%description
|
||||
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
|
||||
|
||||
|
||||
%prep
|
||||
rm -rf ./*
|
||||
git clone --recursive %{url} .
|
||||
git checkout v%{version}
|
||||
|
||||
|
||||
|
||||
%build
|
||||
# Vendor PNPM directly instead of installing from packages, because we need to somehow force PNPM to use Node.js 20
|
||||
# We are not using Fedora's PNPM because we need to use `pnpm env`, which PNPM does not support when not vendored directly from upstream
|
||||
curl -fsSL https://get.pnpm.io/install.sh | sh -
|
||||
source /builddir/.bashrc
|
||||
pnpm env use --global 20
|
||||
pnpm install
|
||||
pnpm build
|
||||
pnpm electron-builder --linux --dir
|
||||
|
||||
|
||||
|
||||
%install
|
||||
|
||||
# Install assets
|
||||
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps
|
||||
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
|
||||
|
||||
# Copy icon files
|
||||
ls -laR pack
|
||||
%ifarch aarch64
|
||||
pushd pack/linux-arm64-unpacked/resources/app.asar.unpacked/assets
|
||||
%else
|
||||
pushd pack/linux-unpacked/resources/app.asar.unpacked/assets
|
||||
%endif
|
||||
install -m 0644 youtube-music.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music.png
|
||||
install -m 0644 youtube-music.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/youtube-music.svg
|
||||
install -m 0644 youtube-music-tray-paused.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music-tray-paused.png
|
||||
install -m 0644 youtube-music-tray.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music-tray.png
|
||||
popd
|
||||
|
||||
# Actually install the app
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_datadir}/youtube-music
|
||||
# Delete unpacked asar files before copying
|
||||
rm -rfv pack/linux*-unpacked/resources/app.asar.unpacked
|
||||
cp -rv pack/linux*-unpacked/* %{buildroot}%{_datadir}/youtube-music
|
||||
install -d -m 0755 %{buildroot}%{_bindir}
|
||||
ln -svf %{_datadir}/youtube-music/youtube-music %{buildroot}%{_bindir}/youtube-music
|
||||
|
||||
# Install desktop file
|
||||
install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/applications/youtube-music.desktop
|
||||
|
||||
%files
|
||||
%license license
|
||||
%doc README.md
|
||||
%doc docs
|
||||
%{_bindir}/youtube-music
|
||||
%{_datadir}/youtube-music
|
||||
%{_datadir}/icons/hicolor/*/apps/youtube-music*
|
||||
%{_datadir}/applications/youtube-music.desktop
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Aug 03 2024 Cappy Ishihara <cappy@cappuchino.xyz>
|
||||
- Initial Release
|
||||
@@ -20,7 +20,7 @@ BuildRequires: fdupes
|
||||
BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(gio-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(granite) >= 6.0.0
|
||||
BuildRequires: pkgconfig(granite-7)
|
||||
BuildRequires: pkgconfig(gstreamer-1.0)
|
||||
BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: elementary-files
|
||||
Summary: File manager from elementary
|
||||
Version: 6.5.3
|
||||
Release: 1%{?dist}
|
||||
Version: 7.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/%{srcname}
|
||||
@@ -42,6 +42,8 @@ BuildRequires: pkgconfig(pango) >= 1.1.2
|
||||
BuildRequires: pkgconfig(plank) >= 0.10.9
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
BuildRequires: pkgconfig(systemd) >= 206
|
||||
BuildRequires: pkgconfig(libportal)
|
||||
BuildRequires: pkgconfig(libportal-gtk3)
|
||||
|
||||
Requires: contractor
|
||||
Requires: file-roller
|
||||
@@ -76,6 +78,7 @@ This package contains the development headers.
|
||||
|
||||
|
||||
%build
|
||||
CFLAGS="$CFLAGS -Wno-implicit-function-declaration"
|
||||
%meson -Dwith-zeitgeist=disabled
|
||||
%meson_build
|
||||
|
||||
@@ -85,11 +88,6 @@ This package contains the development headers.
|
||||
|
||||
%find_lang %{appname}
|
||||
|
||||
%fdupes %buildroot%_datadir/icons/hicolor/
|
||||
|
||||
# remove unused pixmaps
|
||||
rm -r %{buildroot}/%{_datadir}/pixmaps
|
||||
|
||||
# install file-roller contracts
|
||||
mkdir -p %{buildroot}/%{_datadir}/contractor
|
||||
cp -pav %{SOURCE1} %{buildroot}/%{_datadir}/contractor/
|
||||
@@ -120,7 +118,7 @@ appstream-util validate-relax --nonet \
|
||||
%{_bindir}/%{appname}-pkexec
|
||||
|
||||
%{_libdir}/%{appname}/
|
||||
%{_libdir}/libpantheon-files-core.so.6*
|
||||
%{_libdir}/libpantheon-files-core.so.*
|
||||
|
||||
%{_datadir}/applications/%{appname}.desktop
|
||||
%{_datadir}/contractor/*.contract
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Name: elementary-onboarding
|
||||
Summary: Onboarding app for new users
|
||||
Version: 7.2.0
|
||||
Release: 2%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/onboarding
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
%global iface io.elementary.SettingsDaemon.AccountsService
|
||||
|
||||
Name: elementary-settings-daemon
|
||||
Version: 8.0.0
|
||||
Version: 8.1.0
|
||||
Release: 1%?dist
|
||||
Summary: Settings Daemon and Portal for Pantheon
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
Name: elementary-shortcut-overlay
|
||||
Summary: Native, OS-wide shortcut overlay
|
||||
Version: 8.0.0
|
||||
Version: 8.0.1
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
Name: elementary-videos
|
||||
Summary: Video player and library app from elementary
|
||||
Version: 8.0.0
|
||||
Version: 8.0.1
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
Name: gala
|
||||
Summary: Gala window manager
|
||||
Version: 7.1.3
|
||||
Release: 2%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
Epoch: 1
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-bluetooth
|
||||
Summary: Switchboard Bluetooth plug
|
||||
Version: 2.3.6
|
||||
Release: 1%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-bluetooth
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
Name: switchboard-plug-display
|
||||
Summary: Switchboard Display plug
|
||||
Version: 7.0.0
|
||||
Release: 1%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/switchboard-plug-display
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
Name: switchboard-plug-keyboard
|
||||
Summary: Switchboard Keyboard plug
|
||||
Version: 8.0.0
|
||||
Version: 8.0.1
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
|
||||
Name: switchboard-plug-mouse-touchpad
|
||||
Summary: Switchboard Mouse and Touchpad plug
|
||||
Version: 8.0.0
|
||||
Version: 8.0.1
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
|
||||
Name: switchboard-plug-pantheon-shell
|
||||
Summary: Switchboard Pantheon Shell plug
|
||||
Version: 8.0.0
|
||||
Version: 8.0.1
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-applications-menu
|
||||
Summary: Lightweight and stylish app launcher
|
||||
Version: 2.11.1
|
||||
Release: 2%?dist
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/applications-menu
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-bluetooth
|
||||
Summary: Bluetooth Indicator for wingpanel
|
||||
Version: 7.0.1
|
||||
Release: 1%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: LGPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/%{name}
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-datetime
|
||||
Summary: Datetime Indicator for wingpanel
|
||||
Version: 2.4.1
|
||||
Release: 1%{?dist}
|
||||
Version: 2.4.2
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-datetime
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-keyboard
|
||||
Summary: Keyboard Indicator for wingpanel
|
||||
Version: 2.4.1
|
||||
Release: 2%{?dist}
|
||||
Version: 2.4.2
|
||||
Release: 1%?dist
|
||||
License: LGPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/%{name}
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-network
|
||||
Summary: Network Indicator for wingpanel
|
||||
Version: 7.1.0
|
||||
Release: 1%{?dist}
|
||||
Version: 7.1.1
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-network
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-nightlight
|
||||
Summary: Night Light Indicator for wingpanel
|
||||
Version: 2.1.2
|
||||
Release: 1%{?dist}
|
||||
Version: 2.1.3
|
||||
Release: 1%?dist
|
||||
License: GPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-nightlight
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-notifications
|
||||
Summary: Notifications Indicator for wingpanel
|
||||
Version: 7.1.0
|
||||
Release: 1%{?dist}
|
||||
Version: 7.1.1
|
||||
Release: 1%?dist
|
||||
License: LGPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-notifications
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-power
|
||||
Summary: Power indicator for wingpanel
|
||||
Version: 6.2.1
|
||||
Release: 1%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-2.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/wingpanel-indicator-power
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
Name: wingpanel-indicator-sound
|
||||
Summary: Sound Indicator for wingpanel
|
||||
Version: 7.0.0
|
||||
Release: 1%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/%{name}
|
||||
|
||||
@@ -6,8 +6,8 @@ launcher.}
|
||||
|
||||
Name: wingpanel
|
||||
Summary: Stylish top panel
|
||||
Version: 3.0.5
|
||||
Release: 1%{?dist}
|
||||
Version: 8.0.0
|
||||
Release: 1%?dist
|
||||
License: GPL-2.0-or-later
|
||||
Epoch: 1
|
||||
|
||||
|
||||
+3
-2
@@ -11,15 +11,16 @@ URL: https://github.com/fthx/appmenu-is-back
|
||||
BuildArch: noarch
|
||||
|
||||
Source0: https://github.com/fthx/appmenu-is-back/archive/refs/tags/v%{version}.tar.gz
|
||||
Patch0: https://github.com/fthx/appmenu-is-back/compare/v2..703a31acf900eb7bcab3462baeefa815ec7f13ab.patch
|
||||
|
||||
Requires: (gnome-shell >= 45~ with gnome-shell < 46~)
|
||||
Requires: (gnome-shell >= 46~ with gnome-shell < 48~)
|
||||
Recommends: gnome-extensions-app
|
||||
|
||||
%description
|
||||
This extension brings back the app menu in the top panel, for GNOME 45 and later.
|
||||
|
||||
%prep
|
||||
%autosetup -n appmenu-is-back-%{version}
|
||||
%autosetup -n appmenu-is-back-%{version} -p1
|
||||
|
||||
%install
|
||||
install -Dm644 metadata.json %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/metadata.json
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global forgeurl https://github.com/KDE/latte-dock/
|
||||
|
||||
%global commit 31a6135fd9942a492fefecc69339b0802ecdce3b
|
||||
%global commit 3f43a2ec5e6ef3d1c28636b420f49fd96f5d83a0
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date %(date '+%Y%m%d')
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch
|
||||
%global commit af441bdb31bb76b207119a8c91eef3fa93c0c078
|
||||
%global commit a057a37b56b96efddc7f42577407a3a08a0575cf
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-app-launch
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit 0f9ce94e628a245cb3a7e97a7a169cb94e04c9ea
|
||||
%global commit 849214f4bb1a40fae692e18fed5d599e0d8c7af1
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%define _ubuntu_rel 1ubuntu4
|
||||
%define _ubuntu_rel 7ubuntu1
|
||||
|
||||
Name: unity-session
|
||||
Summary: Lightdm profile for Unity 7
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: terra-blueprint-compiler
|
||||
Version: 0.12.0
|
||||
Version: 0.14.0
|
||||
Release: 1%?dist
|
||||
License: LGPL-3.0-or-later
|
||||
Summary: Markup language for GTK user interfaces
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
%endif
|
||||
|
||||
Name: codium
|
||||
Version: 1.91.1.24193
|
||||
Version: 1.92.2.24228
|
||||
Release: 1%?dist
|
||||
Summary: Code editing. Redefined.
|
||||
License: MIT
|
||||
@@ -52,7 +52,7 @@ cat <<EOF > vscodium-bin.desktop
|
||||
Name=VSCodium
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=/usr/bin/codium --no-sandbox --unity-launch %F
|
||||
Exec=/usr/bin/codium --no-sandbox %F
|
||||
Icon=vscodium
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit 3400554f57b770760cb4cb58f15963399d13848e
|
||||
%global commit 267ccdd069df388d0cfd80146c03fe13e1491c5d
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240801
|
||||
%global commit_date 20240831
|
||||
|
||||
Name: flow-control-nightly
|
||||
Version: %commit_date.%shortcommit
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: flutter
|
||||
Version: 3.22.3
|
||||
Version: 3.24.1
|
||||
Release: 1%?dist
|
||||
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
|
||||
License: BSD-3-Clause
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 518d106d6d54bc65d37116e3c5bc940b5c93fb0e Mon Sep 17 00:00:00 2001
|
||||
From: Philipp Trulson <der-eismann@users.noreply.github.com>
|
||||
Date: Tue, 13 Aug 2024 10:22:14 +0200
|
||||
Subject: [PATCH] Change path in systemd service to use package binary
|
||||
|
||||
---
|
||||
utils/systemd/kvrocks.service | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/utils/systemd/kvrocks.service b/utils/systemd/kvrocks.service
|
||||
index c0180b7c..17482b7a 100644
|
||||
--- a/utils/systemd/kvrocks.service
|
||||
+++ b/utils/systemd/kvrocks.service
|
||||
@@ -6,7 +6,7 @@ After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
-ExecStart=/usr/local/bin/kvrocks -c /etc/kvrocks/kvrocks.conf
|
||||
+ExecStart=/usr/bin/kvrocks -c /etc/kvrocks/kvrocks.conf
|
||||
Restart=on-failure
|
||||
ExecStop=/bin/kill -s TERM $MAINPID
|
||||
RestartSec=10s
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
Name: kvrocks
|
||||
Version: 2.9.0
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: Distributed key value NoSQL database that uses RocksDB
|
||||
License: Apache-2.0
|
||||
URL: https://kvrocks.apache.org/
|
||||
Source0: https://github.com/apache/kvrocks/archive/refs/tags/v%version.tar.gz
|
||||
Patch0: 0001-Change-path-in-systemd-service-to-use-package-binary.patch
|
||||
Requires: openssl
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: cmake
|
||||
@@ -19,7 +20,7 @@ Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as st
|
||||
engine and is compatible with Redis protocol.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
unset LDFLAGS
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global _desc Tracy is a real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
|
||||
|
||||
Name: tracy
|
||||
Version: 0.11.0
|
||||
Version: 0.11.1
|
||||
Release: 1%?dist
|
||||
Summary: A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
|
||||
License: BSD-3-Clause
|
||||
@@ -27,7 +27,7 @@ This package contains the development files for the tracy package.
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
for project in capture csvexport import-chrome import-fuchsia update profiler
|
||||
for project in capture csvexport import update profiler
|
||||
do
|
||||
pushd $project
|
||||
%cmake -DDOWNLOAD_CAPSTONE=0
|
||||
@@ -41,8 +41,8 @@ done
|
||||
# NOTE: the subprojects don't have install targets so we do it manually
|
||||
install -Dm755 capture/%__cmake_builddir/tracy-capture %buildroot%_bindir/tracy-capture
|
||||
install -Dm755 csvexport/%__cmake_builddir/tracy-csvexport %buildroot%_bindir/tracy-csvexport
|
||||
install -Dm755 import-chrome/%__cmake_builddir/tracy-import-chrome %buildroot%_bindir/tracy-import-chrome
|
||||
install -Dm755 import-fuchsia/%__cmake_builddir/tracy-import-fuchsia %buildroot%_bindir/tracy-import-fuchsia
|
||||
install -Dm755 import/%__cmake_builddir/tracy-import-chrome %buildroot%_bindir/tracy-import-chrome
|
||||
install -Dm755 import/%__cmake_builddir/tracy-import-fuchsia %buildroot%_bindir/tracy-import-fuchsia
|
||||
install -Dm755 update/%__cmake_builddir/tracy-update %buildroot%_bindir/tracy-update
|
||||
install -Dm755 profiler/%__cmake_builddir/tracy-profiler %buildroot%_bindir/tracy
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 33d06c4d9603b37885e7ddcc82fa06f4dcd83943
|
||||
%global commit a850731b0ed61b0ef2a0173843b6daedf45327e8
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240801
|
||||
%global ver 0.148.0
|
||||
%global commit_date 20240831
|
||||
%global ver 0.152.0
|
||||
|
||||
%bcond_with check
|
||||
|
||||
@@ -79,6 +79,8 @@ script/generate-licenses
|
||||
install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor
|
||||
install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed
|
||||
|
||||
%__cargo clean
|
||||
|
||||
install -Dm644 %app_id.desktop %{buildroot}%{_datadir}/applications/%app_id.desktop
|
||||
install -Dm644 crates/zed/resources/app-icon-nightly.png %{buildroot}%{_datadir}/pixmaps/%app_id.png
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
let releases = "https://api.github.com/repos/zed-industries/zed/releases".get().json_arr();
|
||||
for release in releases {
|
||||
let tag = release.tag_name;
|
||||
tag.pop(4); // remove the "-pre" suffix
|
||||
tag.crop(1); // remove "v"
|
||||
rpm.global("ver", tag);
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%bcond_with check
|
||||
|
||||
%global ver 0.147.0
|
||||
%global ver 0.151.1-pre
|
||||
# Exclude input files from mangling
|
||||
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
|
||||
# Use Mold as the linker
|
||||
@@ -10,13 +10,13 @@
|
||||
%global app_id dev.zed.Zed-Preview
|
||||
|
||||
Name: zed-preview
|
||||
Version: %ver
|
||||
Version: %(echo %ver | sed 's/-/~/')
|
||||
Release: pre1%?dist
|
||||
Summary: Zed is a high-performance, multiplayer code editor
|
||||
|
||||
License: MIT
|
||||
URL: https://zed.dev/
|
||||
Source0: https://github.com/zed-industries/zed/archive/refs/tags/v%{ver}-pre.tar.gz
|
||||
Source0: https://github.com/zed-industries/zed/archive/refs/tags/v%{ver}.tar.gz
|
||||
|
||||
Conflicts: zed
|
||||
Provides: zed
|
||||
@@ -44,7 +44,7 @@ BuildRequires: vulkan-loader
|
||||
Code at the speed of thought - Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{ver}-pre -p1
|
||||
%autosetup -n %{crate}-%{ver} -p1
|
||||
%cargo_prep_online
|
||||
|
||||
export DO_STARTUP_NOTIFY="true"
|
||||
@@ -75,6 +75,8 @@ script/generate-licenses
|
||||
install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor
|
||||
install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed
|
||||
|
||||
%__cargo clean
|
||||
|
||||
install -Dm644 %app_id.desktop %{buildroot}%{_datadir}/applications/%app_id.desktop
|
||||
install -Dm644 crates/zed/resources/app-icon-preview.png %{buildroot}%{_datadir}/pixmaps/%app_id.png
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
%global app_id dev.zed.Zed
|
||||
|
||||
Name: zed
|
||||
Version: 0.146.3
|
||||
Version: 0.150.4
|
||||
Release: 1%?dist
|
||||
Summary: Zed is a high-performance, multiplayer code editor
|
||||
|
||||
@@ -75,6 +75,8 @@ script/generate-licenses
|
||||
install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor
|
||||
install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed
|
||||
|
||||
%__cargo clean
|
||||
|
||||
install -Dm644 %app_id.desktop %{buildroot}%{_datadir}/applications/%app_id.desktop
|
||||
install -Dm644 crates/zed/resources/app-icon.png %{buildroot}%{_datadir}/pixmaps/%app_id.png
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
# https://github.com/containerd/containerd
|
||||
%global goipath github.com/containerd/containerd
|
||||
Version: 1.7.20
|
||||
Version: 1.7.21
|
||||
|
||||
%gometa
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: moby-compose
|
||||
Version: 2.29.1
|
||||
Version: 2.29.2
|
||||
Release: 1%?dist
|
||||
Summary: Define and run multi-container applications with Docker
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: sarasa-gothic-fonts
|
||||
Version: 1.0.16
|
||||
Version: 1.0.20
|
||||
Release: 1%?dist
|
||||
URL: https://github.com/be5invis/Sarasa-Gothic
|
||||
Source0: %url/releases/download/v%version/Sarasa-TTC-%version.7z
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 5529e8ac8f3232ec6233e33286834548e1d8018d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||
Date: Sun, 8 Oct 2023 22:10:33 +0200
|
||||
Subject: [PATCH] <cstdint>
|
||||
|
||||
---
|
||||
src/reshade/source/effect_parser_stmt.cpp | 1 +
|
||||
src/reshade/source/effect_token.hpp | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/reshade/source/effect_parser_stmt.cpp b/src/reshade/source/effect_parser_stmt.cpp
|
||||
index 7829729..f126be2 100644
|
||||
--- a/src/reshade/source/effect_parser_stmt.cpp
|
||||
+++ b/src/reshade/source/effect_parser_stmt.cpp
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <cctype> // std::toupper
|
||||
#include <cassert>
|
||||
#include <functional>
|
||||
+#include <limits>
|
||||
#include <string_view>
|
||||
|
||||
struct on_scope_exit
|
||||
diff --git a/src/reshade/source/effect_token.hpp b/src/reshade/source/effect_token.hpp
|
||||
index 072d439..e4bb633 100644
|
||||
--- a/src/reshade/source/effect_token.hpp
|
||||
+++ b/src/reshade/source/effect_token.hpp
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--
|
||||
2.41.0
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "gamescope-legacy.spec"
|
||||
}
|
||||
labels {
|
||||
multilib = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
%global libliftoff_minver 0.4.1
|
||||
%global reshade_commit 4245743a8c41abbe3dc73980c1810fe449359bf1
|
||||
%global reshade_shortcommit %(c=%{reshade_commit}; echo ${c:0:7})
|
||||
%global _default_patch_fuzz 2
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# IMPORTANT: This package should *not* have an update script, at least not one that
|
||||
# tracks upstream Gamescope from Valve. This package is intended to be a legacy
|
||||
# build for Polaris and older GPUs from AMD, and should not be updated to the
|
||||
# latest version.
|
||||
#
|
||||
# This package however, should be obsoleted once https://github.com/ValveSoftware/gamescope/issues/1218
|
||||
# is finally resolved, and Gamescope's Wayland backend has a fallback for GPUs without Vulkan DRM modifiers.
|
||||
# =============================================================================
|
||||
|
||||
|
||||
Name: gamescope-legacy
|
||||
Version: 3.14.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Legacy builds of gamescope, a micro-compositor for video games on Wayland
|
||||
Packager: Cappy Ishihara <cappy@fyralabs.com>
|
||||
License: BSD
|
||||
URL: https://github.com/ValveSoftware/gamescope
|
||||
Source0: %{url}/archive/%{version}/gamescope-%{version}.tar.gz
|
||||
# Create stb.pc to satisfy dependency('stb')
|
||||
Source1: stb.pc
|
||||
Source2: https://github.com/Joshua-Ashton/reshade/archive/%{reshade_commit}/reshade-%{reshade_shortcommit}.tar.gz
|
||||
|
||||
Patch0: 0001-cstdint.patch
|
||||
|
||||
# https://hhd.dev/
|
||||
Patch1: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
|
||||
|
||||
# ChimeraOS
|
||||
Patch2: legacy-720p.patch
|
||||
|
||||
BuildRequires: meson >= 0.54.0
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glm-devel
|
||||
BuildRequires: google-benchmark-devel
|
||||
BuildRequires: libXmu-devel
|
||||
BuildRequires: libXcursor-devel
|
||||
BuildRequires: pkgconfig(libdisplay-info)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xdamage)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
BuildRequires: pkgconfig(xrender)
|
||||
BuildRequires: pkgconfig(xext)
|
||||
BuildRequires: pkgconfig(xfixes)
|
||||
BuildRequires: pkgconfig(xxf86vm)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
BuildRequires: pkgconfig(xres)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(wayland-server)
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.17
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||
BuildRequires: pkgconfig(libavif)
|
||||
BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18)
|
||||
BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
|
||||
BuildRequires: pkgconfig(libcap)
|
||||
BuildRequires: pkgconfig(hwdata)
|
||||
BuildRequires: spirv-headers-devel
|
||||
# Enforce the the minimum EVR to contain fixes for all of:
|
||||
# CVE-2021-28021 CVE-2021-42715 CVE-2021-42716 CVE-2022-28041 CVE-2023-43898
|
||||
# CVE-2023-45661 CVE-2023-45662 CVE-2023-45663 CVE-2023-45664 CVE-2023-45666
|
||||
# CVE-2023-45667
|
||||
BuildRequires: stb_image-devel >= 2.28^20231011gitbeebb24-12
|
||||
# Header-only library: -static is for tracking per guidelines
|
||||
BuildRequires: stb_image-static
|
||||
BuildRequires: stb_image_resize-devel
|
||||
BuildRequires: stb_image_resize-static
|
||||
BuildRequires: stb_image_write-devel
|
||||
BuildRequires: stb_image_write-static
|
||||
BuildRequires: vkroots-devel
|
||||
BuildRequires: /usr/bin/glslangValidator
|
||||
|
||||
# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release
|
||||
Requires: libliftoff%{?_isa} >= %{libliftoff_minver}
|
||||
Requires: xorg-x11-server-Xwayland
|
||||
|
||||
Requires: terra-gamescope-libs
|
||||
Requires: terra-gamescope-libs(x86-32)
|
||||
|
||||
Recommends: mesa-dri-drivers
|
||||
Recommends: mesa-vulkan-drivers
|
||||
|
||||
%description
|
||||
%{name} is the micro-compositor optimized for running video games on Wayland. This is a legacy build primarily intended for use by Polaris GPUs.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -a2 -N -n gamescope-%{version}
|
||||
# Install stub pkgconfig file
|
||||
mkdir -p pkgconfig
|
||||
cp %{SOURCE1} pkgconfig/stb.pc
|
||||
|
||||
# Replace spirv-headers include with the system directory
|
||||
sed -i 's^../thirdparty/SPIRV-Headers/include/spirv/^/usr/include/spirv/^' src/meson.build
|
||||
|
||||
# Push in reshade from sources instead of submodule
|
||||
rm -rf src/reshade && mv reshade-%{reshade_commit} src/reshade
|
||||
|
||||
%autopatch -p1
|
||||
|
||||
%build
|
||||
export PKG_CONFIG_PATH=pkgconfig
|
||||
%meson -Dpipewire=enabled -Denable_gamescope_wsi_layer=false -Denable_openvr_support=false -Dforce_fallback_for=[]
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
# Rename to not conflict with the base package
|
||||
mv %{buildroot}%{_bindir}/gamescope %{buildroot}%{_bindir}/gamescope-legacy
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/gamescope-legacy
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 072ebb67cd4a88fd0f5db22a92a46f8316f28a46 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Anderson <ruinairas1992@gmail.com>
|
||||
Date: Tue, 25 Jul 2023 18:05:05 -0500
|
||||
Subject: [PATCH] Set default to native resolution of display if Steam tries to
|
||||
force 720p/800p
|
||||
|
||||
You can select 720p/800p still in game or via Steam's resolution setting
|
||||
Steam > Settings > Display > Resolution
|
||||
|
||||
This effectively reverts the changes Valve made a year ago forcing us to
|
||||
720p.
|
||||
---
|
||||
src/steamcompmgr.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
|
||||
index 52dd8d1cf..5b0fa6e52 100644
|
||||
--- a/src/steamcompmgr.cpp
|
||||
+++ b/src/steamcompmgr.cpp
|
||||
@@ -5202,6 +5202,13 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
|
||||
size_t server_idx = size_t{ xwayland_mode_ctl[ 0 ] };
|
||||
int width = xwayland_mode_ctl[ 1 ];
|
||||
int height = xwayland_mode_ctl[ 2 ];
|
||||
+
|
||||
+ if ( g_nOutputWidth != 1280 && width == 1280 )
|
||||
+ {
|
||||
+ width = g_nOutputWidth;
|
||||
+ height = g_nOutputHeight;
|
||||
+ }
|
||||
+
|
||||
bool allowSuperRes = !!xwayland_mode_ctl[ 3 ];
|
||||
|
||||
if ( !allowSuperRes )
|
||||
@@ -0,0 +1,7 @@
|
||||
prefix=/usr
|
||||
includedir=${prefix}/include/stb
|
||||
|
||||
Name: stb
|
||||
Description: Single-file public domain libraries for C/C++
|
||||
Version: 0.1.0
|
||||
Cflags: -I${includedir}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
From 35e001dc59a44227d670c667a85a6ef5472eee58 Mon Sep 17 00:00:00 2001
|
||||
From: antheas <git@antheas.dev>
|
||||
Date: Sat, 20 Jul 2024 01:23:19 +0300
|
||||
Subject: [PATCH v2] always send ctrl+1/2 to steam's wayland session
|
||||
|
||||
---
|
||||
src/wlserver.cpp | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/wlserver.cpp b/src/wlserver.cpp
|
||||
index 1852be9..7de737d 100644
|
||||
--- a/src/wlserver.cpp
|
||||
+++ b/src/wlserver.cpp
|
||||
@@ -369,7 +369,12 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
|
||||
keysym == XKB_KEY_XF86AudioLowerVolume ||
|
||||
keysym == XKB_KEY_XF86AudioRaiseVolume ||
|
||||
keysym == XKB_KEY_XF86PowerOff;
|
||||
- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key )
|
||||
+
|
||||
+ // Check for steam keys (ctrl + 1/2)
|
||||
+ bool is_steamshortcut = (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL) && (keysym == XKB_KEY_1 ||
|
||||
+ keysym == XKB_KEY_2);
|
||||
+
|
||||
+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) )
|
||||
{
|
||||
// Always send volume+/- to root server only, to avoid it reaching the game.
|
||||
struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface;
|
||||
@@ -378,6 +383,9 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
|
||||
{
|
||||
wlserver_keyboardfocus( new_kb_surf, false );
|
||||
wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard->wlr );
|
||||
+ // Send modifiers to steam for it to work
|
||||
+ if (is_steamshortcut)
|
||||
+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &keyboard->wlr->modifiers);
|
||||
wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state );
|
||||
wlserver_keyboardfocus( old_kb_surf, false );
|
||||
return;
|
||||
--
|
||||
2.45.2
|
||||
@@ -1,8 +1,8 @@
|
||||
%define debug_package %nil
|
||||
|
||||
%global commit 26818c6cd574c74ab9dfd2c89f081f30430e212b
|
||||
%global commit aa57bda3f17f660064c1e63f9497fa0a46df1e86
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240801
|
||||
%global commit_date 20240821
|
||||
|
||||
Name: gamescope-session
|
||||
Version: %commit_date.%shortcommit
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 5529e8ac8f3232ec6233e33286834548e1d8018d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||
Date: Sun, 8 Oct 2023 22:10:33 +0200
|
||||
Subject: [PATCH] <cstdint>
|
||||
|
||||
---
|
||||
src/reshade/source/effect_parser_stmt.cpp | 1 +
|
||||
src/reshade/source/effect_token.hpp | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/reshade/source/effect_parser_stmt.cpp b/src/reshade/source/effect_parser_stmt.cpp
|
||||
index 7829729..f126be2 100644
|
||||
--- a/src/reshade/source/effect_parser_stmt.cpp
|
||||
+++ b/src/reshade/source/effect_parser_stmt.cpp
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <cctype> // std::toupper
|
||||
#include <cassert>
|
||||
#include <functional>
|
||||
+#include <limits>
|
||||
#include <string_view>
|
||||
|
||||
struct on_scope_exit
|
||||
diff --git a/src/reshade/source/effect_token.hpp b/src/reshade/source/effect_token.hpp
|
||||
index 072d439..e4bb633 100644
|
||||
--- a/src/reshade/source/effect_token.hpp
|
||||
+++ b/src/reshade/source/effect_token.hpp
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--
|
||||
2.41.0
|
||||
@@ -0,0 +1,21 @@
|
||||
From 88ce1e5de62886aa14c74421cde6130e16e70d7d Mon Sep 17 00:00:00 2001
|
||||
From: psykose <alice@ayaya.dev>
|
||||
Date: Sat, 6 Jul 2024 20:52:50 +0200
|
||||
Subject: [PATCH] utils: include limits.h for PATH_MAX
|
||||
|
||||
---
|
||||
src/Utils/Process.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/Utils/Process.cpp b/src/Utils/Process.cpp
|
||||
index e71786f75..3e748e0d3 100644
|
||||
--- a/src/Utils/Process.cpp
|
||||
+++ b/src/Utils/Process.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <pthread.h>
|
||||
#include <stdlib.h>
|
||||
#include <dirent.h>
|
||||
+#include <limits.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@@ -1,239 +0,0 @@
|
||||
From ab115896be1a448bde0eb7673c26300ea4ca5040 Mon Sep 17 00:00:00 2001
|
||||
From: sharkautarch <128002472+sharkautarch@users.noreply.github.com>
|
||||
Date: Sun, 19 May 2024 20:15:36 -0400
|
||||
Subject: [PATCH 1/2] QueuePresent: canBypassXWayland(): fetch multiple xcb
|
||||
cookies initially before waiting on any of them
|
||||
|
||||
---
|
||||
layer/VkLayer_FROG_gamescope_wsi.cpp | 1 +
|
||||
layer/xcb_helpers.hpp | 105 +++++++++++++++++++++++----
|
||||
2 files changed, 93 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
index 5844c2a63..ca44849f2 100644
|
||||
--- a/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
@@ -975,6 +975,7 @@ namespace GamescopeWSILayer {
|
||||
continue;
|
||||
}
|
||||
|
||||
+ xcb::Prefetcher prefetcher(gamescopeSurface->connection, gamescopeSurface->window);
|
||||
const bool canBypass = gamescopeSurface->canBypassXWayland();
|
||||
if (canBypass != gamescopeSwapchain->isBypassingXWayland)
|
||||
UpdateSwapchainResult(canBypass ? VK_SUBOPTIMAL_KHR : VK_ERROR_OUT_OF_DATE_KHR);
|
||||
diff --git a/layer/xcb_helpers.hpp b/layer/xcb_helpers.hpp
|
||||
index 8fac5635b..72d0ec092 100644
|
||||
--- a/layer/xcb_helpers.hpp
|
||||
+++ b/layer/xcb_helpers.hpp
|
||||
@@ -4,22 +4,106 @@
|
||||
#include <xcb/composite.h>
|
||||
#include <cstdio>
|
||||
#include <optional>
|
||||
+#include <pthread.h>
|
||||
|
||||
namespace xcb {
|
||||
+ inline static constinit pthread_t g_cache_tid; //incase g_cache could otherwise be accessed by one thread, while it is being deleted by another thread
|
||||
+ inline static constinit struct cookie_cache_t {
|
||||
+ xcb_window_t window;
|
||||
+ std::tuple<xcb_get_geometry_cookie_t, xcb_query_tree_cookie_t> cached_cookies;
|
||||
+ std::tuple<xcb_get_geometry_reply_t*, xcb_query_tree_reply_t*> cached_replies;
|
||||
+ } g_cache = {};
|
||||
+
|
||||
+ //Note: this class is currently only meant to be used within GamescopeWSILayer::VkDeviceOverrides::QueuePresentKHR:
|
||||
+ struct Prefetcher {
|
||||
+ explicit Prefetcher(xcb_connection_t* connection, const xcb_window_t window) {
|
||||
+ g_cache = {
|
||||
+ .window = window,
|
||||
+ .cached_cookies = {
|
||||
+ xcb_get_geometry(connection, window),
|
||||
+ xcb_query_tree(connection, window)
|
||||
+ }
|
||||
+ };
|
||||
+ g_cache_tid = pthread_self();
|
||||
+ }
|
||||
|
||||
+ ~Prefetcher() {
|
||||
+ g_cache_tid = {};
|
||||
+ free(std::get<0>(g_cache.cached_replies));
|
||||
+ free(std::get<1>(g_cache.cached_replies));
|
||||
+ g_cache.cached_replies = {nullptr,nullptr};
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
struct ReplyDeleter {
|
||||
+ const bool m_bOwning = true;
|
||||
+ consteval ReplyDeleter(bool bOwning = true) : m_bOwning{bOwning} {}
|
||||
template <typename T>
|
||||
void operator()(T* ptr) const {
|
||||
- free(const_cast<std::remove_const_t<T>*>(ptr));
|
||||
+ if (m_bOwning)
|
||||
+ free(const_cast<std::remove_const_t<T>*>(ptr));
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
using Reply = std::unique_ptr<T, ReplyDeleter>;
|
||||
+
|
||||
+ template <typename Cookie_RetType, typename Reply_RetType, typename XcbConn=xcb_connection_t*, typename... Args>
|
||||
+ class XcbFetch {
|
||||
+ using cookie_f_ptr_t = Cookie_RetType (*)(XcbConn, Args...);
|
||||
+ using reply_f_ptr_t = Reply_RetType* (*)(XcbConn, Cookie_RetType, xcb_generic_error_t**);
|
||||
+
|
||||
+ const cookie_f_ptr_t m_cookieFunc;
|
||||
+ const reply_f_ptr_t m_replyFunc;
|
||||
+
|
||||
+ public:
|
||||
+ consteval XcbFetch(cookie_f_ptr_t cookieFunc, reply_f_ptr_t replyFunc) : m_cookieFunc{cookieFunc}, m_replyFunc{replyFunc} {}
|
||||
+
|
||||
+ inline Reply<Reply_RetType> operator()(XcbConn conn, auto... args) { //have to use auto for argsTwo, since otherwise there'd be a type deduction conflict
|
||||
+ return Reply<Reply_RetType> { m_replyFunc(conn, m_cookieFunc(conn, args...), nullptr) };
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
+ template <typename CookieType>
|
||||
+ concept CacheableCookie = std::is_same<CookieType, xcb_get_geometry_cookie_t>::value
|
||||
+ || std::is_same<CookieType, xcb_query_tree_cookie_t>::value;
|
||||
+
|
||||
+ template <CacheableCookie Cookie_RetType, typename Reply_RetType>
|
||||
+ class XcbFetch<Cookie_RetType, Reply_RetType, xcb_connection_t*, xcb_window_t> {
|
||||
+ using cookie_f_ptr_t = Cookie_RetType (*)(xcb_connection_t*, xcb_window_t);
|
||||
+ using reply_f_ptr_t = Reply_RetType* (*)(xcb_connection_t*, Cookie_RetType, xcb_generic_error_t**);
|
||||
+
|
||||
+ const cookie_f_ptr_t m_cookieFunc;
|
||||
+ const reply_f_ptr_t m_replyFunc;
|
||||
+
|
||||
+ inline Reply<Reply_RetType> getCachedReply(xcb_connection_t* connection) {
|
||||
+ if (std::get<Reply_RetType*>(g_cache.cached_replies) == nullptr) {
|
||||
+ std::get<Reply_RetType*>(g_cache.cached_replies) = m_replyFunc(connection, std::get<Cookie_RetType>(g_cache.cached_cookies), nullptr);
|
||||
+ }
|
||||
|
||||
+ return Reply<Reply_RetType>{std::get<Reply_RetType*>(g_cache.cached_replies), ReplyDeleter{false}}; // return 'non-owning' unique_ptr
|
||||
+ }
|
||||
+
|
||||
+ public:
|
||||
+ consteval XcbFetch(cookie_f_ptr_t cookieFunc, reply_f_ptr_t replyFunc) : m_cookieFunc{cookieFunc}, m_replyFunc{replyFunc} {}
|
||||
+
|
||||
+ inline Reply<Reply_RetType> operator()(xcb_connection_t* conn, xcb_window_t window) {
|
||||
+ const bool tryCached = pthread_equal(g_cache_tid, pthread_self())
|
||||
+ && g_cache.window == window;
|
||||
+ if (!tryCached) [[unlikely]]
|
||||
+ return Reply<Reply_RetType> { m_replyFunc(conn, m_cookieFunc(conn, window), nullptr) };
|
||||
+
|
||||
+ auto ret = getCachedReply(conn);
|
||||
+ #if !defined(NDEBUG) || NDEBUG == 0
|
||||
+ if (!ret)
|
||||
+ fprintf(stderr, "[Gamescope WSI] getCachedReply() failed.\n");
|
||||
+ #endif
|
||||
+ return ret;
|
||||
+ }
|
||||
+ };
|
||||
+
|
||||
static std::optional<xcb_atom_t> getAtom(xcb_connection_t* connection, std::string_view name) {
|
||||
- xcb_intern_atom_cookie_t cookie = xcb_intern_atom(connection, false, name.length(), name.data());
|
||||
- auto reply = Reply<xcb_intern_atom_reply_t>{ xcb_intern_atom_reply(connection, cookie, nullptr) };
|
||||
+ auto reply = XcbFetch{xcb_intern_atom, xcb_intern_atom_reply}(connection, false, name.length(), name.data());
|
||||
if (!reply) {
|
||||
fprintf(stderr, "[Gamescope WSI] Failed to get xcb atom.\n");
|
||||
return std::nullopt;
|
||||
@@ -34,8 +118,7 @@ namespace xcb {
|
||||
|
||||
xcb_screen_t* screen = xcb_setup_roots_iterator(xcb_get_setup(connection)).data;
|
||||
|
||||
- xcb_get_property_cookie_t cookie = xcb_get_property(connection, false, screen->root, atom, XCB_ATOM_CARDINAL, 0, sizeof(T) / sizeof(uint32_t));
|
||||
- auto reply = Reply<xcb_get_property_reply_t>{ xcb_get_property_reply(connection, cookie, nullptr) };
|
||||
+ auto reply = XcbFetch{xcb_get_property, xcb_get_property_reply}(connection, false, screen->root, atom, XCB_ATOM_CARDINAL, 0, sizeof(T) / sizeof(uint32_t));
|
||||
if (!reply) {
|
||||
fprintf(stderr, "[Gamescope WSI] Failed to read T root window property.\n");
|
||||
return std::nullopt;
|
||||
@@ -61,8 +144,7 @@ namespace xcb {
|
||||
|
||||
static std::optional<xcb_window_t> getToplevelWindow(xcb_connection_t* connection, xcb_window_t window) {
|
||||
for (;;) {
|
||||
- xcb_query_tree_cookie_t cookie = xcb_query_tree(connection, window);
|
||||
- auto reply = Reply<xcb_query_tree_reply_t>{ xcb_query_tree_reply(connection, cookie, nullptr) };
|
||||
+ auto reply = XcbFetch{xcb_query_tree, xcb_query_tree_reply}(connection, window);
|
||||
|
||||
if (!reply) {
|
||||
fprintf(stderr, "[Gamescope WSI] getToplevelWindow: xcb_query_tree failed for window 0x%x.\n", window);
|
||||
@@ -77,8 +159,7 @@ namespace xcb {
|
||||
}
|
||||
|
||||
static std::optional<VkRect2D> getWindowRect(xcb_connection_t* connection, xcb_window_t window) {
|
||||
- xcb_get_geometry_cookie_t cookie = xcb_get_geometry(connection, window);
|
||||
- auto reply = Reply<xcb_get_geometry_reply_t>{ xcb_get_geometry_reply(connection, cookie, nullptr) };
|
||||
+ auto reply = XcbFetch{xcb_get_geometry, xcb_get_geometry_reply}(connection, window);
|
||||
if (!reply) {
|
||||
fprintf(stderr, "[Gamescope WSI] getWindowRect: xcb_get_geometry failed for window 0x%x.\n", window);
|
||||
return std::nullopt;
|
||||
@@ -112,8 +193,7 @@ namespace xcb {
|
||||
static std::optional<VkExtent2D> getLargestObscuringChildWindowSize(xcb_connection_t* connection, xcb_window_t window) {
|
||||
VkExtent2D largestExtent = {};
|
||||
|
||||
- xcb_query_tree_cookie_t cookie = xcb_query_tree(connection, window);
|
||||
- auto reply = Reply<xcb_query_tree_reply_t>{ xcb_query_tree_reply(connection, cookie, nullptr) };
|
||||
+ auto reply = XcbFetch{xcb_query_tree, xcb_query_tree_reply}(connection, window);
|
||||
|
||||
if (!reply) {
|
||||
fprintf(stderr, "[Gamescope WSI] getLargestObscuringWindowSize: xcb_query_tree failed for window 0x%x.\n", window);
|
||||
@@ -130,8 +210,7 @@ namespace xcb {
|
||||
for (uint32_t i = 0; i < reply->children_len; i++) {
|
||||
xcb_window_t child = children[i];
|
||||
|
||||
- xcb_get_window_attributes_cookie_t attributeCookie = xcb_get_window_attributes(connection, child);
|
||||
- auto attributeReply = Reply<xcb_get_window_attributes_reply_t>{ xcb_get_window_attributes_reply(connection, attributeCookie, nullptr) };
|
||||
+ auto attributeReply = XcbFetch{xcb_get_window_attributes, xcb_get_window_attributes_reply}(connection, child);
|
||||
|
||||
const bool obscuring =
|
||||
attributeReply &&
|
||||
|
||||
From 1b59621f4de5c05096d1f279cba2e04264124154 Mon Sep 17 00:00:00 2001
|
||||
From: sharkautarch <128002472+sharkautarch@users.noreply.github.com>
|
||||
Date: Tue, 18 Jun 2024 22:21:23 -0400
|
||||
Subject: [PATCH 2/2] WSI: prefetcher: fix issue w/ attempting to prefetch xcb
|
||||
stuff for pure wayland surfaces
|
||||
|
||||
---
|
||||
layer/VkLayer_FROG_gamescope_wsi.cpp | 2 +-
|
||||
layer/xcb_helpers.hpp | 9 ++++++++-
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
index f26819a60..ce011dcd7 100644
|
||||
--- a/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp
|
||||
@@ -1234,7 +1234,7 @@ namespace GamescopeWSILayer {
|
||||
continue;
|
||||
}
|
||||
|
||||
- xcb::Prefetcher prefetcher(gamescopeSurface->connection, gamescopeSurface->window);
|
||||
+ auto prefetcher = xcb::Prefetcher::GetPrefetcherIf(!gamescopeSurface->isWayland(), gamescopeSurface->connection, gamescopeSurface->window);
|
||||
const bool canBypass = gamescopeSurface->canBypassXWayland();
|
||||
if (canBypass != gamescopeSwapchain->isBypassingXWayland)
|
||||
UpdateSwapchainResult(canBypass ? VK_SUBOPTIMAL_KHR : VK_ERROR_OUT_OF_DATE_KHR);
|
||||
diff --git a/layer/xcb_helpers.hpp b/layer/xcb_helpers.hpp
|
||||
index 72d0ec092..f26aef38b 100644
|
||||
--- a/layer/xcb_helpers.hpp
|
||||
+++ b/layer/xcb_helpers.hpp
|
||||
@@ -16,6 +16,13 @@ namespace xcb {
|
||||
|
||||
//Note: this class is currently only meant to be used within GamescopeWSILayer::VkDeviceOverrides::QueuePresentKHR:
|
||||
struct Prefetcher {
|
||||
+ static std::optional<Prefetcher> GetPrefetcherIf(bool bCond, xcb_connection_t* connection, const xcb_window_t window) {
|
||||
+ if (bCond)
|
||||
+ return std::optional<Prefetcher>(std::in_place_t{}, connection, window);
|
||||
+
|
||||
+ return std::nullopt;
|
||||
+ }
|
||||
+
|
||||
explicit Prefetcher(xcb_connection_t* connection, const xcb_window_t window) {
|
||||
g_cache = {
|
||||
.window = window,
|
||||
@@ -90,7 +97,7 @@ namespace xcb {
|
||||
inline Reply<Reply_RetType> operator()(xcb_connection_t* conn, xcb_window_t window) {
|
||||
const bool tryCached = pthread_equal(g_cache_tid, pthread_self())
|
||||
&& g_cache.window == window;
|
||||
- if (!tryCached) [[unlikely]]
|
||||
+ if (!tryCached)
|
||||
return Reply<Reply_RetType> { m_replyFunc(conn, m_cookieFunc(conn, window), nullptr) };
|
||||
|
||||
auto ret = getCachedReply(conn);
|
||||
@@ -0,0 +1,34 @@
|
||||
From ca58cb2453e6d9ef44d799e394ee9950b7a35b30 Mon Sep 17 00:00:00 2001
|
||||
From: Cappy Ishihara <cappy@cappuchino.xyz>
|
||||
Date: Wed, 21 Aug 2024 03:56:53 +0700
|
||||
Subject: [PATCH] Check if current GPU supports Vulkan DRM modifiers when
|
||||
`--backend=auto` is used.
|
||||
|
||||
This works around #1218 by making use of the new backend option added in #1321,
|
||||
but adds a check to automatically fall back to the SDL backend if the current
|
||||
GPU does not support Vulkan DRM modifiers.
|
||||
---
|
||||
src/main.cpp | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/main.cpp b/src/main.cpp
|
||||
index ca4001249..bc6b16904 100644
|
||||
--- a/src/main.cpp
|
||||
+++ b/src/main.cpp
|
||||
@@ -817,9 +817,13 @@ int main(int argc, char **argv)
|
||||
if ( eCurrentBackend == gamescope::GamescopeBackend::Auto )
|
||||
{
|
||||
if ( g_pOriginalWaylandDisplay != NULL )
|
||||
- eCurrentBackend = gamescope::GamescopeBackend::Wayland;
|
||||
- else if ( g_pOriginalDisplay != NULL )
|
||||
- eCurrentBackend = gamescope::GamescopeBackend::SDL;
|
||||
+ // Additional check if the current GPU supports Vulkan DRM modifiers
|
||||
+ // Fallback to SDL if not supported (e.g Older AMD GPUs like Polaris 10/20)
|
||||
+ if ( vulkan_supports_modifiers() )
|
||||
+ eCurrentBackend = gamescope::GamescopeBackend::Wayland;
|
||||
+ else
|
||||
+ eCurrentBackend = gamescope::GamescopeBackend::SDL;
|
||||
+
|
||||
else
|
||||
eCurrentBackend = gamescope::GamescopeBackend::DRM;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,136 +0,0 @@
|
||||
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
|
||||
index 85e5126..be418b4 100644
|
||||
--- a/src/Backends/DRMBackend.cpp
|
||||
+++ b/src/Backends/DRMBackend.cpp
|
||||
@@ -2149,6 +2149,7 @@ namespace gamescope
|
||||
( m_Mutable.szMakePNP == "WLC"sv && m_Mutable.szModel == "ANX7530 U"sv ) ||
|
||||
( m_Mutable.szMakePNP == "ANX"sv && m_Mutable.szModel == "ANX7530 U"sv ) ||
|
||||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "ANX7530 U"sv ) ||
|
||||
+ ( m_Mutable.szMakePNP == "DHD"sv && m_Mutable.szModel == "DeckHD-1200p"sv ) ||
|
||||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Jupiter"sv ) ||
|
||||
( m_Mutable.szMakePNP == "VLV"sv && m_Mutable.szModel == "Galileo"sv );
|
||||
|
||||
@@ -2160,6 +2161,7 @@ namespace gamescope
|
||||
{
|
||||
static constexpr uint32_t kPIDGalileoSDC = 0x3003;
|
||||
static constexpr uint32_t kPIDGalileoBOE = 0x3004;
|
||||
+ static constexpr uint32_t kPIDJupiterDHD = 0x4001;
|
||||
|
||||
if ( pProduct->product == kPIDGalileoSDC )
|
||||
{
|
||||
@@ -2171,6 +2173,10 @@ namespace gamescope
|
||||
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE;
|
||||
m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates );
|
||||
}
|
||||
+ else if (pProduct-> product == kPIDJupiterDHD ) {
|
||||
+ m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD;
|
||||
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckLCDRates );
|
||||
+ }
|
||||
else
|
||||
{
|
||||
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD;
|
||||
@@ -2200,7 +2206,8 @@ namespace gamescope
|
||||
drm_log.infof( "[colorimetry]: Steam Deck LCD detected. Using known colorimetry" );
|
||||
m_Mutable.DisplayColorimetry = displaycolorimetry_steamdeck_measured;
|
||||
}
|
||||
- else
|
||||
+ else if (m_Mutable.eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE ||
|
||||
+ m_Mutable.eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC )
|
||||
{
|
||||
// Steam Deck OLED has calibrated chromaticity coordinates in the EDID
|
||||
// for each unit.
|
||||
@@ -2330,7 +2337,7 @@ namespace gamescope
|
||||
.uMinContentLightLevel = nits_to_u16_dark( 0 ),
|
||||
};
|
||||
}
|
||||
- else if ( eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD )
|
||||
+ else if ( eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD || eKnownDisplay == GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD )
|
||||
{
|
||||
// Set up some HDR fallbacks for undocking
|
||||
return BackendConnectorHDRInfo
|
||||
diff --git a/src/gamescope_shared.h b/src/gamescope_shared.h
|
||||
index ed30d8c..3b60774 100644
|
||||
--- a/src/gamescope_shared.h
|
||||
+++ b/src/gamescope_shared.h
|
||||
@@ -8,6 +8,7 @@ namespace gamescope
|
||||
{
|
||||
GAMESCOPE_KNOWN_DISPLAY_UNKNOWN,
|
||||
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD, // Jupiter
|
||||
+ GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD, // Jupiter Deck HD
|
||||
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC, // Galileo SDC
|
||||
GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE, // Galileo BOE
|
||||
};
|
||||
diff --git a/src/modegen.cpp b/src/modegen.cpp
|
||||
index d174c2d..5dd1136 100644
|
||||
--- a/src/modegen.cpp
|
||||
+++ b/src/modegen.cpp
|
||||
@@ -293,13 +293,32 @@ unsigned int galileo_boe_vfp[] =
|
||||
172,152,136,120,100,84,68,52,36,20,8
|
||||
};
|
||||
|
||||
-#define GALILEO_MIN_REFRESH 45
|
||||
+//SD LCD Stock Timings
|
||||
+#define JUPITER_BOE_PID 0x3001
|
||||
+#define JUPITER_B_PID 0x3002
|
||||
+#define JUPITER_HFP 40
|
||||
+#define JUPITER_HSYNC 4
|
||||
+#define JUPITER_HBP 40
|
||||
+#define JUPITER_VFP 30
|
||||
+#define JUPITER_VSYNC 4
|
||||
+#define JUPITER_VBP 8
|
||||
+//SD LCD DeckHD Timings
|
||||
+#define JUPITER_DHD_PID 0x4001
|
||||
+#define JUPITER_DHD_HFP 40
|
||||
+#define JUPITER_DHD_HSYNC 20
|
||||
+#define JUPITER_DHD_HBP 40
|
||||
+#define JUPITER_DHD_VFP 18
|
||||
+#define JUPITER_DHD_VSYNC 2
|
||||
+#define JUPITER_DHD_VBP 20
|
||||
+//SD OLED SDC Timings
|
||||
#define GALILEO_SDC_PID 0x3003
|
||||
#define GALILEO_SDC_VSYNC 1
|
||||
#define GALILEO_SDC_VBP 22
|
||||
+//SD OLED BOE Timings
|
||||
#define GALILEO_BOE_PID 0x3004
|
||||
#define GALILEO_BOE_VSYNC 2
|
||||
#define GALILEO_BOE_VBP 30
|
||||
+#define GALILEO_MIN_REFRESH 45
|
||||
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
|
||||
|
||||
unsigned int get_galileo_vfp( int vrefresh, unsigned int * vfp_array, unsigned int num_rates )
|
||||
@@ -344,17 +363,28 @@ void generate_fixed_mode(drmModeModeInfo *mode, const drmModeModeInfo *base, int
|
||||
mode->vsync_end = mode->vsync_start + vsync;
|
||||
mode->vtotal = mode->vsync_end + vbp;
|
||||
} else {
|
||||
- if ( eKnownDisplay == gamescope::GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD )
|
||||
+ if ( eKnownDisplay == gamescope::GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD_DHD ) {
|
||||
+ mode->hdisplay = 1200;
|
||||
+ mode->hsync_start = mode->hdisplay + JUPITER_DHD_HFP;
|
||||
+ mode->hsync_end = mode->hsync_start + JUPITER_DHD_HSYNC;
|
||||
+ mode->htotal = mode->hsync_end + JUPITER_DHD_HBP;
|
||||
+
|
||||
+ mode->vdisplay = 1920;
|
||||
+ mode->vsync_start = mode->vdisplay + JUPITER_DHD_VFP;
|
||||
+ mode->vsync_end = mode->vsync_start + JUPITER_DHD_VSYNC;
|
||||
+ mode->vtotal = mode->vsync_end + JUPITER_DHD_VBP;
|
||||
+ }
|
||||
+ else if ( eKnownDisplay == gamescope::GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_LCD )
|
||||
{
|
||||
mode->hdisplay = 800;
|
||||
- mode->hsync_start = 840;
|
||||
- mode->hsync_end = 844;
|
||||
- mode->htotal = 884;
|
||||
+ mode->hsync_start = mode->hdisplay + JUPITER_HFP;
|
||||
+ mode->hsync_end = mode->hsync_start + JUPITER_HSYNC;
|
||||
+ mode->htotal = mode->hsync_end + JUPITER_HBP;
|
||||
|
||||
mode->vdisplay = 1280;
|
||||
- mode->vsync_start = 1310;
|
||||
- mode->vsync_end = 1314;
|
||||
- mode->vtotal = 1322;
|
||||
+ mode->vsync_start = mode->vdisplay + JUPITER_VFP;
|
||||
+ mode->vsync_end = mode->vsync_start + JUPITER_VSYNC;
|
||||
+ mode->vtotal = mode->vsync_end + JUPITER_VBP;
|
||||
}
|
||||
|
||||
mode->clock = ( ( mode->htotal * mode->vtotal * vrefresh ) + 999 ) / 1000;
|
||||
@@ -48,4 +48,4 @@ index 92bf617..d7498e5 100644
|
||||
+ cv_disable_touch_click = true;
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
case '?':
|
||||
@@ -1,63 +0,0 @@
|
||||
From 2e4d7ad1bf2cb98eb67ff8f9385cf6657cf2e912 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Schwartz <njtransit215@gmail.com>
|
||||
Date: Wed, 3 Jul 2024 15:20:08 -0700
|
||||
Subject: [PATCH] drm: Separate BOE and SDC OLED Deck panel valid refresh rates
|
||||
|
||||
OLED Decks with BOE panels seem to struggle with a few different
|
||||
specific modesets (51hz/55hz/65hz) that SDC panels have no issues with.
|
||||
To work around this, let's make use of Gamescope recognizing each
|
||||
display manufacturer to correct the bad modesets while leaving
|
||||
SDC panel units alone. This can be reverted if an underlying cause can
|
||||
be found in the kernel in the future.
|
||||
---
|
||||
src/Backends/DRMBackend.cpp | 16 +++++++++++++---
|
||||
1 file changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp
|
||||
index 97ef446..9f93c7f 100644
|
||||
--- a/src/Backends/DRMBackend.cpp
|
||||
+++ b/src/Backends/DRMBackend.cpp
|
||||
@@ -554,7 +554,7 @@ static constexpr uint32_t s_kSteamDeckLCDRates[] =
|
||||
60,
|
||||
};
|
||||
|
||||
-static constexpr uint32_t s_kSteamDeckOLEDRates[] =
|
||||
+static constexpr uint32_t s_kSteamDeckOLEDSDCRates[] =
|
||||
{
|
||||
45, 47, 48, 49,
|
||||
50, 51, 53, 55, 56, 59,
|
||||
@@ -564,6 +564,16 @@ static constexpr uint32_t s_kSteamDeckOLEDRates[] =
|
||||
90,
|
||||
};
|
||||
|
||||
+static constexpr uint32_t s_kSteamDeckOLEDBOERates[] =
|
||||
+{
|
||||
+ 45, 47, 48, 49,
|
||||
+ 50, 53, 56, 59,
|
||||
+ 60, 62, 64, 66, 68,
|
||||
+ 72, 73, 76, 77, 78,
|
||||
+ 80, 81, 82, 84, 85, 86, 87, 88,
|
||||
+ 90,
|
||||
+};
|
||||
+
|
||||
static void update_connector_display_info_wl(struct drm_t *drm)
|
||||
{
|
||||
wlserver_lock();
|
||||
@@ -2128,12 +2138,12 @@ namespace gamescope
|
||||
if ( pProduct->product == kPIDGalileoSDC )
|
||||
{
|
||||
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_SDC;
|
||||
- m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates );
|
||||
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDSDCRates );
|
||||
}
|
||||
else if ( pProduct->product == kPIDGalileoBOE )
|
||||
{
|
||||
m_Mutable.eKnownDisplay = GAMESCOPE_KNOWN_DISPLAY_STEAM_DECK_OLED_BOE;
|
||||
- m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDRates );
|
||||
+ m_Mutable.ValidDynamicRefreshRates = std::span( s_kSteamDeckOLEDBOERates );
|
||||
}
|
||||
else
|
||||
{
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Wrapper script to run Gamescope with legacy options for older GPUs
|
||||
|
||||
gamescope_path="/usr/bin/gamescope"
|
||||
|
||||
|
||||
# check if $BACKEND is already defined
|
||||
# todo: Probably want to patch gamescope-session-plus for this instead meow
|
||||
|
||||
# For compatibility, let's add the argument for nested backends too
|
||||
|
||||
LEGACY_BACKEND_ARGS=""
|
||||
NESTED_BACKEND_ARGS=""
|
||||
if [ -z "$BACKEND" ]; then
|
||||
LEGACY_BACKEND_ARGS="--backend=sdl"
|
||||
NESTED_BACKEND_ARGS="--backend=sdl"
|
||||
else
|
||||
# Only added for nested sessions, as $BACKEND should be defined only for legacy
|
||||
NESTED_BACKEND_ARGS="--backend=$BACKEND"
|
||||
fi
|
||||
|
||||
|
||||
if [ -z "$DISPLAY" ]; then
|
||||
$gamescope_path $LEGACY_BACKEND_ARGS $@
|
||||
else
|
||||
$gamescope_path $NESTED_BACKEND_ARGS $@
|
||||
fi
|
||||
|
||||
@@ -4,4 +4,4 @@ includedir=${prefix}/include/stb
|
||||
Name: stb
|
||||
Description: Single-file public domain libraries for C/C++
|
||||
Version: 0.1.0
|
||||
Cflags: -I${includedir}
|
||||
Cflags: -I${includedir}
|
||||
@@ -1,37 +1,43 @@
|
||||
%if 0%{?fedora} >= 41
|
||||
%global libliftoff_minver 0.5.0
|
||||
%else
|
||||
%global libliftoff_minver 0.4.1
|
||||
%endif
|
||||
|
||||
%global toolchain clang
|
||||
%global _default_patch_fuzz 2
|
||||
%global gamescope_tag 3.14.26
|
||||
%global gamescope_tag 3.15.4-beta-for-steamos-main
|
||||
|
||||
Name: terra-gamescope
|
||||
Version: 100.%{gamescope_tag}
|
||||
Release: 1%?dist
|
||||
Summary: Micro-compositor for video games on Wayland
|
||||
Summary: Micro-compositor for video games on Wayland - Terra patch, please read the full description
|
||||
|
||||
License: BSD
|
||||
URL: https://github.com/ValveSoftware/gamescope
|
||||
|
||||
# Create stb.pc to satisfy dependency('stb')
|
||||
Source0: stb.pc
|
||||
Source1: gamescope-legacy.sh
|
||||
|
||||
Patch0: 0001-cstdint.patch
|
||||
|
||||
# https://github.com/ChimeraOS/gamescope
|
||||
Patch0: chimeraos.patch
|
||||
Patch1: chimeraos.patch
|
||||
# https://hhd.dev/
|
||||
Patch1: disable-steam-touch-click-atom.patch
|
||||
# https://github.com/ValveSoftware/gamescope/pull/1281
|
||||
# Patch2: deckhd.patch
|
||||
# https://github.com/ValveSoftware/gamescope/issues/1398
|
||||
Patch3: drm-Separate-BOE-and-SDC-OLED-Deck-panel-rates.patch
|
||||
# https://github.com/ValveSoftware/gamescope/issues/1369
|
||||
Patch4: revert-299bc34.patch
|
||||
# https://github.com/ValveSoftware/gamescope/pull/1231
|
||||
Patch5: 1231.patch
|
||||
Patch2: disable-steam-touch-click-atom.patch
|
||||
Patch3: v2-0001-always-send-ctrl-1-2-to-steam-s-wayland-session.patch
|
||||
|
||||
# Set default backend to SDL instead of Wayland, to avoid issues with GPUs that do not support
|
||||
# Vulkan DRM modifiers.
|
||||
# See also: gamescope-legacy package
|
||||
# https://github.com/ValveSoftware/gamescope/issues/1218#issuecomment-2123801764
|
||||
Patch6: 1483.patch
|
||||
|
||||
BuildRequires: meson >= 0.54.0
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: clang
|
||||
BuildRequires: glm-devel
|
||||
BuildRequires: google-benchmark-devel
|
||||
BuildRequires: libXmu-devel
|
||||
@@ -52,22 +58,16 @@ BuildRequires: pkgconfig(xres)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(wayland-server)
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.23.0
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.17
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||
BuildRequires: pkgconfig(libavif)
|
||||
#BuildRequires: (pkgconfig(wlroots) >= 0.18.0 with pkgconfig(wlroots) < 0.19.0)
|
||||
#BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
|
||||
BuildRequires: pkgconfig(libliftoff)
|
||||
BuildRequires: pkgconfig(wlroots)
|
||||
BuildRequires: pkgconfig(libliftoff) >= 0.4.1
|
||||
BuildRequires: pkgconfig(libcap)
|
||||
BuildRequires: pkgconfig(hwdata)
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: pkgconfig(libseat)
|
||||
BuildRequires: pkgconfig(libinput)
|
||||
BuildRequires: xcb-util-wm-devel
|
||||
BuildRequires: pkgconfig(xcb-errors)
|
||||
BuildRequires: pkgconfig(lcms2)
|
||||
BuildRequires: spirv-headers-devel
|
||||
# Enforce the the minimum EVR to contain fixes for all of:
|
||||
@@ -90,16 +90,21 @@ BuildRequires: git
|
||||
# libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release
|
||||
Requires: libliftoff%{?_isa} >= %{libliftoff_minver}
|
||||
Requires: xorg-x11-server-Xwayland
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
%ifarch %{ix86}
|
||||
Requires: %{name}-libs(x86-32) = %{version}-%{release}
|
||||
%endif
|
||||
Requires: terra-gamescope-libs = %{version}-%{release}
|
||||
Requires: terra-gamescope-libs(x86-32) = %{version}-%{release}
|
||||
Recommends: mesa-dri-drivers
|
||||
Recommends: mesa-vulkan-drivers
|
||||
|
||||
Provides: gamescope-legacy
|
||||
Obsoletes: gamescope-legacy < 3.14.2
|
||||
|
||||
%description
|
||||
Gamescope is the micro-compositor optimized for running video games on Wayland.
|
||||
|
||||
This specific build of Gamescope is patched to use SDL as the default backend instead of Wayland, and
|
||||
includes a legacy wrapper script for older GPUs and extra configuration options. Please see
|
||||
https://developer.fyralabs.com/terra/gamescope for more information.
|
||||
|
||||
%package libs
|
||||
Summary: libs for Gamescope
|
||||
%description libs
|
||||
@@ -120,21 +125,35 @@ sed -i 's^../thirdparty/SPIRV-Headers/include/spirv/^/usr/include/spirv/^' src/m
|
||||
%build
|
||||
cd gamescope
|
||||
export PKG_CONFIG_PATH=pkgconfig
|
||||
%meson -Dpipewire=enabled -Dinput_emulation=enabled -Ddrm_backend=enabled -Drt_cap=enabled -Davif_screenshots=enabled -Dsdl2_backend=enabled
|
||||
%if %{__isa_bits} == 64
|
||||
%meson --auto-features=enabled -Dforce_fallback_for=vkroots,wlroots,libliftoff
|
||||
%else
|
||||
%meson -Denable_gamescope=false -Denable_gamescope_wsi_layer=true
|
||||
%endif
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
cd gamescope
|
||||
%meson_install --skip-subprojects
|
||||
|
||||
%if %{__isa_bits} == 64
|
||||
install -Dm755 %{SOURCE1} %{buildroot}%{_bindir}/gamescope-legacy
|
||||
%endif
|
||||
|
||||
%files
|
||||
%license gamescope/LICENSE
|
||||
%doc gamescope/README.md
|
||||
%if %{__isa_bits} == 64
|
||||
%caps(cap_sys_nice=eip) %{_bindir}/gamescope
|
||||
%{_bindir}/gamescopectl
|
||||
%{_bindir}/gamescopestream
|
||||
%{_bindir}/gamescopereaper
|
||||
%{_bindir}/gamescope-legacy
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
%{_libdir}/libVkLayer_FROG_gamescope_wsi_*.so
|
||||
%{_datadir}/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.*.json
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
curl -o ./1483.patch https://patch-diff.githubusercontent.com/raw/ValveSoftware/gamescope/pull/1483.patch
|
||||
@@ -0,0 +1,39 @@
|
||||
From 35e001dc59a44227d670c667a85a6ef5472eee58 Mon Sep 17 00:00:00 2001
|
||||
From: antheas <git@antheas.dev>
|
||||
Date: Sat, 20 Jul 2024 01:23:19 +0300
|
||||
Subject: [PATCH v2] always send ctrl+1/2 to steam's wayland session
|
||||
|
||||
---
|
||||
src/wlserver.cpp | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/wlserver.cpp b/src/wlserver.cpp
|
||||
index 1852be9..7de737d 100644
|
||||
--- a/src/wlserver.cpp
|
||||
+++ b/src/wlserver.cpp
|
||||
@@ -369,7 +369,12 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
|
||||
keysym == XKB_KEY_XF86AudioLowerVolume ||
|
||||
keysym == XKB_KEY_XF86AudioRaiseVolume ||
|
||||
keysym == XKB_KEY_XF86PowerOff;
|
||||
- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key )
|
||||
+
|
||||
+ // Check for steam keys (ctrl + 1/2)
|
||||
+ bool is_steamshortcut = (keyboard->wlr->modifiers.depressed & WLR_MODIFIER_CTRL) && (keysym == XKB_KEY_1 ||
|
||||
+ keysym == XKB_KEY_2);
|
||||
+
|
||||
+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) )
|
||||
{
|
||||
// Always send volume+/- to root server only, to avoid it reaching the game.
|
||||
struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface;
|
||||
@@ -378,6 +383,9 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data)
|
||||
{
|
||||
wlserver_keyboardfocus( new_kb_surf, false );
|
||||
wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard->wlr );
|
||||
+ // Send modifiers to steam for it to work
|
||||
+ if (is_steamshortcut)
|
||||
+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &keyboard->wlr->modifiers);
|
||||
wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state );
|
||||
wlserver_keyboardfocus( old_kb_surf, false );
|
||||
return;
|
||||
--
|
||||
2.45.2
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "modrinth.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
Name: modrinth
|
||||
Version: 1.2.3
|
||||
Release: 1%?dist
|
||||
Summary: Desktop app for managing mods and modpacks from Modrinth
|
||||
URL: https://github.com/modrinth/code
|
||||
License: GPL-3.0-or-later
|
||||
BuildRequires: git-core rust tauri
|
||||
Packager: Willow Reed <willow@willowidk.dev>
|
||||
|
||||
%description
|
||||
Desktop app for managing mods and modpacks from Modrinth
|
||||
|
||||
%prep
|
||||
rm -rf ./*
|
||||
git clone --recursive %{url} .
|
||||
git checkout v%{version}
|
||||
|
||||
%build
|
||||
# Vendor PNPM directly instead of installing from packages, because we need to somehow force PNPM to use Node.js 20
|
||||
# We are not using Fedora's PNPM because we need to use `pnpm env`, which PNPM does not support when not vendored directly from upstream
|
||||
curl -fsSL https://get.pnpm.io/install.sh | sh -
|
||||
source /builddir/.bashrc
|
||||
pnpm env use --global 20
|
||||
pnpm install
|
||||
pnpm build
|
||||
pnpm electron-builder --linux --dir
|
||||
|
||||
%install
|
||||
echo "this will also run when building pkg but for installing it into %{buildroot} so that anda (mock) can package it"
|
||||
|
||||
%files
|
||||
/usr/bin/pkgname-binary
|
||||
/path/to/more/files/*/package
|
||||
|
||||
%changelog
|
||||
* Wed Jan 11 2006 your-username-here <your_email@idk.xyz>
|
||||
- Description on what you've done
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(find(`https://launcher-files.modrinth.com/versions/([/d/.]+)/linux/Modrinth%20App_.+?_amd64.AppImage`, get("https://modrinth.com/app"), 1));
|
||||
@@ -1,9 +1,9 @@
|
||||
%define osuresver 2024.731.0
|
||||
%define osuresver 2024.810.0
|
||||
%global debug_package %{nil}
|
||||
%define __strip /bin/true
|
||||
|
||||
Name: osu-lazer
|
||||
Version: 2024.731.0
|
||||
Version: 2024.817.0
|
||||
Release: 1%?dist
|
||||
Summary: The future of osu! and the beginning of an open era! Commonly known by the codename osu!lazer. Pew pew.
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
%global real_name prismlauncher
|
||||
%global nice_name PrismLauncher
|
||||
|
||||
%global commit 6352362907149d297684473f3d606b08ce1b93f5
|
||||
%global commit 828acef7e938800a693343a0bb51e5fcd7349680
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f
|
||||
|
||||
%global commit_date 20240721
|
||||
%global commit_date 20240830
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
|
||||
%bcond_without qt6
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: crystal
|
||||
Version: 1.13.1
|
||||
Version: 1.13.2
|
||||
Release: 1%?dist
|
||||
Summary: The Crystal Programming Language
|
||||
License: Apache-2.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: dart
|
||||
Version: 3.4.4
|
||||
Version: 3.5.2
|
||||
Release: 1%?dist
|
||||
Summary: The Dart Language
|
||||
License: BSD-3-Clause
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%define debug_package %nil
|
||||
%global commit cee36c6db378c380900fc7b901e2f7d0ea596cc0
|
||||
%global commit_date 20240724
|
||||
%global commit f7a1c8106dbc70020aa9e9df27efef81ed394139
|
||||
%global commit_date 20240811
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: albius
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
# https://github.com/charmbracelet/glow
|
||||
%global goipath github.com/charmbracelet/glow
|
||||
Version: 1.5.1
|
||||
Version: 2.0.0
|
||||
|
||||
%gometa -f
|
||||
|
||||
@@ -15,7 +15,7 @@ Render markdown on the CLI, with pizzazz! 💅🏻.}
|
||||
%global godocs README.md
|
||||
|
||||
Name: %{goname}
|
||||
Release: 1%{?dist}
|
||||
Release: 1%?dist
|
||||
Summary: Render markdown on the CLI, with pizzazz! 💅🏻
|
||||
|
||||
License: MIT
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
# https://github.com/xyproto/env
|
||||
%global goipath github.com/xyproto/env
|
||||
Version: 2.2.5
|
||||
Version: 2.5.0
|
||||
|
||||
%gometa -f
|
||||
|
||||
@@ -15,7 +15,7 @@ Provide default values when fetching environment variables.}
|
||||
%global godocs README.md
|
||||
|
||||
Name: golang-%{goname}
|
||||
Release: 1%{?dist}
|
||||
Release: 1%?dist
|
||||
Summary: Provide default values when fetching environment variables
|
||||
|
||||
License: BSD-3-Clause
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
# https://github.com/xyproto/textoutput
|
||||
%global goipath github.com/xyproto/textoutput
|
||||
Version: 1.16.4
|
||||
Version: 1.16.6
|
||||
|
||||
%gometa -f
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
# https://github.com/xyproto/vt100
|
||||
%global goipath github.com/xyproto/vt100
|
||||
Version: 1.14.4
|
||||
Version: 1.14.5
|
||||
|
||||
%gometa -f
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Name: kotlin-native
|
||||
Version: 1.9.25
|
||||
Version: 2.0.20
|
||||
Release: 1%?dist
|
||||
Summary: LLVM backend for the Kotlin compiler
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
License: ASL 2.0
|
||||
URL: https://kotlinlang.org/docs/reference/native-overview.html
|
||||
Source0: https://github.com/JetBrains/kotlin/releases/download/v%version/kotlin-native-linux-x86_64-%version.tar.gz
|
||||
Source0: https://github.com/JetBrains/kotlin/releases/download/v%version/kotlin-native-prebuilt-linux-x86_64-%version.tar.gz
|
||||
|
||||
BuildRequires: tar
|
||||
BuildRequires: sed
|
||||
@@ -28,7 +28,7 @@ Kotlin compiler and native implementation of the Kotlin standard library.
|
||||
|
||||
|
||||
%prep
|
||||
tar -xf %{SOURCE0} && cd kotlin-native-linux-x86_64-%{version}
|
||||
tar -xf %{SOURCE0} && cd kotlin-native-prebuilt-linux-x86_64-%{version}
|
||||
sed -i "s|\(DIR *= *\).*|\1%{_bindir}|" bin/*
|
||||
sed -i "s|\(KONAN_HOME *= *\).*|\1%{_datadir}/%{name}|" bin/*
|
||||
|
||||
@@ -36,7 +36,7 @@ sed -i "s|\(KONAN_HOME *= *\).*|\1%{_datadir}/%{name}|" bin/*
|
||||
%build
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot} && mkdir -p %{buildroot}%{_bindir}/ && cd kotlin-native-linux-x86_64-%{version}
|
||||
rm -rf %{buildroot} && mkdir -p %{buildroot}%{_bindir}/ && cd kotlin-native-prebuilt-linux-x86_64-%{version}
|
||||
install -m 0755 bin/cinterop %{buildroot}%{_bindir}/
|
||||
install -m 0755 bin/generate-platform %{buildroot}%{_bindir}/
|
||||
install -m 0755 bin/jsinterop %{buildroot}%{_bindir}/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildArch: noarch
|
||||
Name: kotlin
|
||||
Version: 1.9.25
|
||||
Version: 2.0.20
|
||||
Release: 1%?dist
|
||||
Summary: Statically typed programming language
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10
|
||||
%global commit cb156648d69fd0c21ee5d041a98ddc69294eaa96
|
||||
%global commit fc853cb7268b74d87932fb08553dfbd5864d8f81
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver 2.1.9
|
||||
%global commit_date 20240730
|
||||
%global ver 2.1.99
|
||||
%global commit_date 20240831
|
||||
%global debug_package %nil
|
||||
|
||||
Name: nim-nightly
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "nph.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: nph
|
||||
Version: 0.6.0
|
||||
Release: 1%?dist
|
||||
Summary: An opinionated code formatter for Nim
|
||||
License: MIT
|
||||
URL: https://github.com/arnetheduck/nph
|
||||
Source0: %url/archive/refs/tags/v%version.tar.gz
|
||||
SourceLicense: MIT
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: nim
|
||||
|
||||
%description
|
||||
nph is an opinionated source code formatter for the Nim language, aiming to take the drudgery of manual formatting out of your coding day.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
%nim_prep -t:"%nim_tflags" -l:"%nim_lflags"
|
||||
|
||||
%build
|
||||
nimble c -d:release -t:"%nim_tflags" -l:"%nim_lflags" src/nph
|
||||
|
||||
%install
|
||||
install -Dpm755 src/nph %buildroot%_bindir/nph
|
||||
|
||||
%files
|
||||
%_bindir/nph
|
||||
%license copying.txt
|
||||
%doc README.md
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("arnetheduck/nph"));
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user