Compare commits

..

1 Commits

Author SHA1 Message Date
madonuko 01259b79ff fix: switchboard-plug-printers 2024-07-28 01:16:34 +08:00
203 changed files with 1384 additions and 2961 deletions
+1 -1
View File
@@ -71,7 +71,7 @@ jobs:
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
- name: Build with Andaman
run: anda build anda/${{ matrix.pkg }}pkg --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.cfg
run: anda build anda/${{ matrix.pkg }}pkg --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.pkg
- name: Generating artifact name
id: art
+1 -1
View File
@@ -37,7 +37,7 @@ jobs:
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
- name: Build with Andaman
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.pkg
- name: Generating artifact name
id: art
-52
View File
@@ -1,52 +0,0 @@
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
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: anda update -vv --excludes nightly=1 --excludes updbranch=1
run: anda update -vv --filters nightly=0
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
RUST_BACKTRACE: full
+6 -4
View File
@@ -1,7 +1,9 @@
# Contributing
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/).
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).
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
## Documentations
* [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
* [FAQ](https://developer.fyralabs.com/terra/faq)
* [Policy](https://developer.fyralabs.com/terra/policy)
+3 -18
View File
@@ -7,31 +7,16 @@
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
```
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
```
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.
## Documentation
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/). Alternatively, the GitHub Wiki contains older versions of the documentations.
## Questions?
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)
Feel free to reach out on [Discord](https://discord.gg/5fdPuxTg5Q). We're always happy to help!
+4 -4
View File
@@ -2,11 +2,11 @@
%global _build_id_links none
%ifarch x86_64
%global src ArmCord-%version-linux-x64
%global src ArmCord-%version
%elifarch aarch64
%global src ArmCord-%version-linux-arm64
%global src ArmCord-%version-arm64
%elifarch armv7l
%global src ArmCord-%version-linux-armv7l
%global src ArmCord-%version-armv7l
%endif
# Exclude private libraries
@@ -14,7 +14,7 @@
%global __provides_exclude_from %{_datadir}/armcord/.*\\.so
Name: armcord-bin
Version: 3.3.0
Version: 3.2.7
Release: 1%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
+6 -9
View File
@@ -1,16 +1,15 @@
%define debug_package %nil
Name: armcord
Version: 3.3.0
Version: 3.2.7
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: git-core add-determinism pnpm
BuildRequires: nodejs-npm git add-determinism
Conflicts: armcord-bin
BuildArch: noarch
@@ -38,8 +37,8 @@ EOF
%build
pnpm install --no-frozen-lockfile
pnpm run packageQuick
npx pnpm@7 install --no-frozen-lockfile
npm run packageQuick
%install
@@ -51,16 +50,13 @@ install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/armcord.png
%files
%doc README.md
%license license.txt
%license LICENSE
/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.
@@ -68,3 +64,4 @@ 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.479
Version: 0.0.462
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -34,7 +34,6 @@ sed "s@Discord Canary@Discord Canary OpenAsar@g" a > discord-canary.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-canary-openasar
cp -rv * %{buildroot}%{_datadir}/discord-canary-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
@@ -43,11 +42,9 @@ ln -s %_datadir/discord-canary-openasar/discord-canary.desktop %{buildroot}%{_da
ln -s %_datadir/discord-canary-openasar/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-canary-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-canary-openasar/resources -R
ln -s %_datadir/discord-canary-openasar/DiscordCanary %buildroot%_bindir/discord-canary-openasar
%files
%_bindir/discord-canary-openasar
%{_datadir}/discord-canary-openasar/
%{_datadir}/applications/discord-canary-openasar.desktop
%{_datadir}/pixmaps/discord-canary-openasar.png
+4 -6
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.479
Version: 0.0.462
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -16,8 +16,9 @@ Requires: glibc GConf2 nspr >= 4.13 nss >= 3.27 libX11 >= 1.6 libXtst >= 1
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a
worldwide art community. Where just you and a handful of friends can spend time
together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n DiscordCanary
@@ -26,17 +27,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-canary
cp -rv * %{buildroot}%{_datadir}/discord-canary
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-canary/discord-canary.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-canary/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png
ln -s %_datadir/discord/DiscordCanary %buildroot%_bindir/discord-canary
%files
%_bindir/discord-canary
%{_datadir}/discord-canary/
%{_datadir}/applications/discord-canary.desktop
%{_datadir}/pixmaps/discord-canary.png
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.66
Version: 0.0.61
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -34,7 +34,6 @@ sed "s@Discord@Discord OpenAsar@g" a > discord.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-openasar
cp -rv * %{buildroot}%{_datadir}/discord-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
@@ -43,11 +42,9 @@ ln -s %_datadir/discord-openasar/discord.desktop %{buildroot}%{_datadir}/applica
ln -s %_datadir/discord-openasar/discord.png %{buildroot}%{_datadir}/pixmaps/discord-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-openasar/resources -R
ln -s %_datadir/discord-openasar/Discord %buildroot%_bindir/discord-openasar
%files
%_bindir/discord-openasar
%{_datadir}/discord-openasar/
%{_datadir}/applications/discord-openasar.desktop
%{_datadir}/pixmaps/discord-openasar.png
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 0.0.101
Version: 0.0.96
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -34,7 +34,6 @@ sed "s@Discord Ptb@Discord Ptb OpenAsar@g" a > discord-ptb.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-ptb-openasar
cp -rv * %{buildroot}%{_datadir}/discord-ptb-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
@@ -45,11 +44,9 @@ install discord-ptb.desktop %{buildroot}%{_datadir}/applications/discord-ptb-ope
install discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-ptb-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-ptb-openasar/resources -R
ln -s %_datadir/discord-ptb-openasar/Discord %buildroot%_bindir/discord-ptb-openasar
%files
%_bindir/discord-ptb-openasar
%{_datadir}/discord-ptb-openasar/
%{_datadir}/applications/discord-ptb-openasar.desktop
%{_datadir}/pixmaps/discord-ptb-openasar.png
+4 -6
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.101
Version: 0.0.96
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
@@ -20,8 +20,9 @@ Requires: libXtst >= 1.2
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a
worldwide art community. Where just you and a handful of friends can spend time
together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n DiscordPTB
@@ -30,17 +31,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-ptb
cp -rv * %{buildroot}%{_datadir}/discord-ptb
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-ptb/discord-ptb.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-ptb/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png
ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb
%files
%_bindir/discord-ptb
%{_datadir}/discord-ptb/
%{_datadir}/applications/discord-ptb.desktop
%{_datadir}/pixmaps/discord-ptb.png
+4 -6
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.66
Version: 0.0.61
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
@@ -20,8 +20,9 @@ Requires: libXtst >= 1.2
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a
worldwide art community. Where just you and a handful of friends can spend time
together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n Discord
@@ -30,17 +31,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord
cp -rv * %{buildroot}%{_datadir}/discord
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord/discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop
ln -s %_datadir/discord/discord.png %{buildroot}%{_datadir}/pixmaps/discord.png
ln -s %_datadir/discord/Discord %buildroot%_bindir/discord
%files
%_bindir/discord
%{_datadir}/discord/
%{_datadir}/applications/discord.desktop
%{_datadir}/pixmaps/discord.png
-3
View File
@@ -2,7 +2,4 @@ project pkg {
rpm {
spec = "envision.spec"
}
labels {
nightly = 1
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit 943fc151f7c1927cb450456de9bb838311d9cc24
%global commit_date 20240831
%global commit 5d0131a00c52b791cad3543e33017c28e021cb92
%global commit_date 20240727
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin
Version: 0.7.3
Version: 0.7.1
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
+2 -2
View File
@@ -5,9 +5,9 @@
%global pure_protobuf_version 2.0.0
Name: komikku
Version: 1.56.0
Version: 1.51.1
%forgemeta
Release: 1%?dist
Release: %autorelease
Summary: A manga reader for GNOME
BuildArch: noarch
+2 -2
View File
@@ -1,6 +1,6 @@
%global commit 7c672e33a5eab0564383127c8837b1034a84357b
%global commit 6107112b32e748c55dd2d344b8871ad60c0c504c
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240831
%global commit_date 20240727
%global ver 0.38.0
Name: mpv-nightly
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "ruffle-nightly.spec"
}
}
-67
View File
@@ -1,67 +0,0 @@
%global ver 2024-08-31
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
%global _description %{expand:
Ruffle is an Adobe Flash Player emulator written in the Rust programming
language. Ruffle targets both the desktop and the web using WebAssembly.}
Name: ruffle-nightly
Version: %goodver
Release: 1%?dist
Summary: A Flash Player emulator written in Rust
License: Apache-2.0 OR MIT
URL: https://ruffle.rs/
Source0: https://github.com/ruffle-rs/ruffle/archive/refs/tags/nightly-%ver.tar.gz
Provides: ruffle
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: anda-srpm-macros
BuildRequires: gcc-c++ cmake java
BuildRequires: java-latest-openjdk-headless
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(xcb-cursor)
Packager: madonuko <mado@fyralabs.com>
%description %_description
%files
%doc README.md
%license LICENSE.md
%license LICENSE.dependencies
%_bindir/ruffle_desktop
%_datadir/applications/ruffle_desktop.desktop
%_iconsdir/hicolor/scalable/apps/ruffle_desktop.svg
%prep
%autosetup -n ruffle-nightly-%ver
%cargo_prep_online
cat<<EOF > ruffle_desktop.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Ruffle Desktop
Comment=%summary
Exec=%_bindir/ruffle_desktop
Icon=ruffle_desktop
Terminal=false
StartupNotify=false
Categories=Application;
MimeType=application/x-shockwave-flash;
EOF
%build
%{cargo_license_online} > LICENSE.dependencies
%install
cd desktop
%cargo_install
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
* Mon Jul 29 2024 madonuko <mado@fyralabs.com>
- Initial package
-13
View File
@@ -1,13 +0,0 @@
let releases = "https://api.github.com/repos/ruffle-rs/ruffle/releases".get().json_arr();
for release in releases {
let tag = release.tag_name;
if !tag.starts_with("nightly-") {
continue;
}
tag.crop(8); // remove "nightly-"
rpm.global("ver", tag);
break;
}
if rpm.changed() {
rpm.release();
}
+3 -11
View File
@@ -1,27 +1,19 @@
%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.20.0
Release: 1%?dist
Version: 0.19.2
Release: 4%?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
@@ -36,7 +28,7 @@ Summary: Documentation files for voicevox (Japanese)
%prep
cat<<EOF > voicevox.sh
#!/usr/bin/sh
#!/bin/sh
/usr/share/voicevox/VOICEVOX.AppImage
EOF
7z x %SOURCE0
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "youtube-music.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("th-ch/youtube-music"));
@@ -1,10 +0,0 @@
[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;
@@ -1,91 +0,0 @@
%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
@@ -2,8 +2,8 @@
Name: elementary-appcenter
Summary: Software Center from elementary
Version: 8.0.0
Release: 1%?dist
Version: 7.4.0
Release: 2%{?dist}
License: GPL-3.0
Provides: appcenter = %{version}-%{release}
@@ -3,8 +3,8 @@
Name: elementary-camera
Summary: Camera app designed for elementary
Version: 8.0.0
Release: 1%?dist
Version: 6.2.2
Release: 2%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/camera
@@ -20,7 +20,7 @@ BuildRequires: fdupes
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(granite-7)
BuildRequires: pkgconfig(granite) >= 6.0.0
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: 7.0.0
Release: 1%?dist
Version: 6.5.3
Release: 1%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/%{srcname}
@@ -42,8 +42,6 @@ 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
@@ -78,7 +76,6 @@ This package contains the development headers.
%build
CFLAGS="$CFLAGS -Wno-implicit-function-declaration"
%meson -Dwith-zeitgeist=disabled
%meson_build
@@ -88,6 +85,11 @@ CFLAGS="$CFLAGS -Wno-implicit-function-declaration"
%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/
@@ -118,7 +120,7 @@ appstream-util validate-relax --nonet \
%{_bindir}/%{appname}-pkexec
%{_libdir}/%{appname}/
%{_libdir}/libpantheon-files-core.so.*
%{_libdir}/libpantheon-files-core.so.6*
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/contractor/*.contract
@@ -3,8 +3,8 @@
Name: elementary-onboarding
Summary: Onboarding app for new users
Version: 8.0.0
Release: 1%?dist
Version: 7.2.0
Release: 2%{?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.1.0
Version: 8.0.0
Release: 1%?dist
Summary: Settings Daemon and Portal for Pantheon
License: GPL-3.0-or-later
@@ -3,7 +3,7 @@
Name: elementary-shortcut-overlay
Summary: Native, OS-wide shortcut overlay
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0
@@ -3,7 +3,7 @@
Name: elementary-theme
Summary: Elementary GTK+ Stylesheet
Version: 8.1.0
Version: 8.0.0
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.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
+2 -2
View File
@@ -2,8 +2,8 @@
Name: gala
Summary: Gala window manager
Version: 8.0.0
Release: 1%?dist
Version: 7.1.3
Release: 2%{?dist}
License: GPL-3.0-or-later
Epoch: 1
@@ -3,8 +3,8 @@
%global srcname switchboard-plug-about
%global plug_type hardware
%global plug_name system
%global plug_rdnn io.elementary.settings.system
%global plug_name about
%global plug_rdnn io.elementary.switchboard.about
Name: switchboard-plug-about
Summary: Switchboard System Information plug
@@ -15,19 +15,26 @@ License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-about
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
Patch0: https://github.com/elementary/switchboard-plug-about/compare/6.2.0..72d7da13da2824812908276751fd3024db2dd0f8.patch
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala >= 0.22.0
BuildRequires: fdupes
BuildRequires: pkgconfig(appstream) >= 0.12.10
BuildRequires: pkgconfig(fwupd)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.64.0
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libgtop-2.0)
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(udisks2)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(switchboard-2.0)
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(packagekit-glib2)
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(udisks2)
Requires: switchboard%{?_isa}
Supplements: switchboard%{?_isa}
@@ -50,25 +57,24 @@ This switchboard plug shows system information.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
mv %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml{.in,}
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -4,7 +4,7 @@
%global plug_type personal
%global plug_name applications
%global plug_rdnn io.elementary.settings.%{plug_name}
%global plug_rdnn io.elementary.switchboard.%{plug_name}
Name: switchboard-plug-applications
Summary: Switchboard Applications plug
@@ -18,11 +18,16 @@ Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala >= 0.22.0
BuildRequires: fdupes
BuildRequires: pkgconfig(flatpak)
BuildRequires: pkgconfig(flatpak) >= 1.1.2
BuildRequires: pkgconfig(glib-2.0) >= 2.34
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(switchboard-2.0)
BuildRequires: pkgconfig(libhandy-1)
Requires: switchboard%{?_isa}
Supplements: switchboard%{?_isa}
@@ -44,10 +49,10 @@ that allows the user to manage application settings.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
mv %buildroot%_datadir/metainfo/%plug_rdnn.metainfo.xml %buildroot%_datadir/metainfo/%plug_rdnn.metainfo.xml || true
%find_lang %{plug_rdnn}
mv %buildroot%_datadir/metainfo/%plug_rdnn.appdata.xml %buildroot%_datadir/metainfo/%plug_rdnn.metainfo.xml || true
%find_lang %{plug_name}-plug
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
@@ -56,11 +61,11 @@ appstream-util validate-relax --nonet \
%{buildroot}%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/icons/hicolor/*/apps/io.elementary.settings.applications.svg
@@ -8,8 +8,8 @@
Name: switchboard-plug-bluetooth
Summary: Switchboard Bluetooth plug
Version: 8.0.0
Release: 1%?dist
Version: 2.3.6
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-bluetooth
@@ -4,7 +4,7 @@
%global plug_type system
%global plug_name datetime
%global plug_rdnn io.elementary.settings.datetime
%global plug_rdnn io.elementary.switchboard.datetime
Name: switchboard-plug-datetime
Summary: Switchboard Date & Time Plug
@@ -18,8 +18,11 @@ Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala
BuildRequires: fdupes
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: switchboard-devel
Requires: switchboard%{?_isa}
@@ -41,24 +44,24 @@ Supplements: switchboard%{?_isa}
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -8,8 +8,8 @@
Name: switchboard-plug-display
Summary: Switchboard Display plug
Version: 8.0.0
Release: 1%?dist
Version: 7.0.0
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-display
@@ -4,11 +4,11 @@
%global plug_type hardware
%global plug_name keyboard
%global plug_rdnn io.elementary.settings.keyboard
%global plug_rdnn io.elementary.switchboard.keyboard
Name: switchboard-plug-keyboard
Summary: Switchboard Keyboard plug
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
@@ -21,8 +21,14 @@ BuildRequires: meson
BuildRequires: vala >= 0.22.0
BuildRequires: fdupes
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(granite) >= 6.0.0
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(ibus-1.0) >= 1.5.19
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(libgnomekbd)
BuildRequires: pkgconfig(libgnomekbdui)
BuildRequires: pkgconfig(libhandy-1) >= 0.90.0
BuildRequires: pkgconfig(switchboard-2.0)
BuildRequires: pkgconfig(xkeyboard-config)
Requires: gala
@@ -48,7 +54,7 @@ same time. Keyboard shortcuts are also part of this plug.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
%check
@@ -56,12 +62,12 @@ appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_datadir}/glib-2.0/schemas/%{plug_rdnn}.gschema.xml
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/glib-2.0/schemas/keyboard.gschema.xml
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
@@ -4,7 +4,7 @@
%global plug_type personal
%global plug_name locale
%global plug_rdnn io.elementary.settings.locale
%global plug_rdnn io.elementary.switchboard.locale
Name: switchboard-plug-locale
Summary: Switchboard Locale Plug
@@ -23,7 +23,9 @@ BuildRequires: fdupes
BuildRequires: pkgconfig(accountsservice)
BuildRequires: pkgconfig(ibus-1.0)
BuildRequires: pkgconfig(gnome-desktop-4)
BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: pkgconfig(granite)
BuildRequires: polkit-devel
BuildRequires: switchboard-devel
Requires: switchboard%?_isa
@@ -44,7 +46,7 @@ Supplements: switchboard%?_isa
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %plug_rdnn
%find_lang %plug_name-plug
%check
@@ -52,13 +54,13 @@ appstream-util validate-relax --nonet \
%buildroot/%_datadir/metainfo/%plug_rdnn.appdata.xml
%files -f %plug_rdnn.lang
%files -f %plug_name-plug.lang
%doc README.md
%license COPYING
%_libdir/switchboard-3/%plug_type/lib%plug_rdnn.so
%_libdir/switchboard-3/%plug_type/pantheon-locale/languagelist
%_libdir/switchboard-3/%plug_type/pantheon-locale/packages_blocklist
%_libdir/switchboard/%plug_type/lib%plug_name-plug.so
%_libdir/switchboard/personal/pantheon-locale/languagelist
%_libdir/switchboard/personal/pantheon-locale/packages_blacklist
%_datadir/glib-2.0/schemas/%plug_rdnn.gschema.xml
%_datadir/polkit-1/actions/%plug_rdnn.policy
@@ -4,11 +4,11 @@
%global plug_type hardware
%global plug_name mouse-touchpad
%global plug_rdnn io.elementary.settings.mouse-touchpad
%global plug_rdnn io.elementary.switchboard.mouse-touchpad
Name: switchboard-plug-mouse-touchpad
Summary: Switchboard Mouse and Touchpad plug
Version: 8.0.1
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
@@ -18,9 +18,13 @@ Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala >= 0.22.0
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(switchboard-2.0)
BuildRequires: pkgconfig(libxml-2.0)
Requires: switchboard%{?_isa}
Supplements: switchboard%{?_isa}
@@ -41,21 +45,21 @@ A switchboard plug to configure the behavior of mice and touchpads.
%install
%meson_install
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -4,7 +4,7 @@
%global plug_type network
%global plug_name networking
%global plug_rdnn io.elementary.settings.network
%global plug_rdnn io.elementary.switchboard.network
Name: switchboard-plug-networking
Summary: Switchboard Networking plug
@@ -22,9 +22,13 @@ BuildRequires: vala >= 0.22.0
BuildRequires: fdupes
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(libnm)
BuildRequires: pkgconfig(libnma-gtk4)
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libnm) >= 1.20.6
BuildRequires: pkgconfig(libnma)
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(switchboard-2.0)
Requires: network-manager-applet%{?_isa}
Requires: switchboard%{?_isa}
@@ -48,21 +52,21 @@ A switchboard plug for configuring available networks.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/libnetwork.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -4,7 +4,7 @@
%global plug_type personal
%global plug_name notifications
%global plug_rdnn io.elementary.settings.notifications
%global plug_rdnn io.elementary.switchboard.notifications
Name: switchboard-plug-notifications
Summary: Switchboard Notifications plug
@@ -18,10 +18,13 @@ Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala >= 0.22.0
BuildRequires: fdupes
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.12
BuildRequires: pkgconfig(switchboard-2.0)
Requires: gala%{?_isa}
Requires: switchboard%{?_isa}
@@ -47,21 +50,21 @@ related to the Notifications plugin for Gala.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -8,8 +8,8 @@
Name: switchboard-plug-pantheon-shell
Summary: Switchboard Pantheon Shell plug
Version: 8.0.1
Release: 1%?dist
Version: 6.5.0
Release: 1%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/switchboard-plug-pantheon-shell
@@ -3,8 +3,8 @@
%global srcname switchboard-plug-parental-controls
%global plug_type system
%global plug_name screentime-limits
%global plug_rdnn io.elementary.settings.screentime-limits
%global plug_name parental-controls
%global plug_rdnn io.elementary.switchboard.parental-controls
Name: switchboard-plug-parental-controls
Summary: Switchboard Screen Time & Limits Plug
@@ -25,8 +25,12 @@ BuildRequires: pkgconfig(accountsservice)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(flatpak)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(libhandy-1) >= 0.90.0
BuildRequires: pkgconfig(malcontent-0)
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: polkit-devel
BuildRequires: switchboard-devel
BuildRequires: rpm_macro(_unitdir)
Requires: switchboard%{?_isa}
Supplements: switchboard%{?_isa}
@@ -47,25 +51,24 @@ Supplements: switchboard%{?_isa}
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%_iconsdir/hicolor/*/apps/%plug_rdnn.svg
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%_sysconfdir/pantheon-parental-controls/daemon.conf
%_bindir/pantheon-parental-controls-daemon
@@ -73,8 +76,8 @@ appstream-util validate-relax --nonet \
%_datadir/applications/pantheon-parental-controls-client.desktop
%_datadir/dbus-1/system-services/org.pantheon.ParentalControls.service
%_datadir/dbus-1/system.d/org.pantheon.ParentalControls.conf
%_datadir/polkit-1/actions/%plug_rdnn.policy
%_unitdir/pantheon-parental-controls.service
%_datadir/polkit-1/actions/io.elementary.switchboard.screentime-limits.policy
/usr/lib/systemd/system/pantheon-parental-controls.service
%changelog
* Tue Jun 13 2023 windowsboy111 <windowsboy111@fyralabs.com> - 6.0.1-1
@@ -4,7 +4,7 @@
%global plug_type hardware
%global plug_name power
%global plug_rdnn io.elementary.settings.power
%global plug_rdnn io.elementary.switchboard.power
Name: switchboard-plug-power
Summary: Switchboard Power Plug
@@ -18,10 +18,13 @@ Source0: %url/archive/%version/%srcname-%version.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala
BuildRequires: fdupes
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: polkit-devel
BuildRequires: switchboard-devel
Requires: switchboard%?_isa
@@ -42,24 +45,24 @@ Supplements: switchboard%?_isa
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %plug_rdnn
%find_lang %plug_name-plug
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%check
appstream-util validate-relax --nonet \
%buildroot/%_datadir/metainfo/%plug_rdnn.metainfo.xml
%buildroot/%_datadir/metainfo/%plug_rdnn.appdata.xml
%files -f %plug_rdnn.lang
%files -f %plug_name-plug.lang
%doc README.md
%license COPYING
%_libdir/switchboard-3/%plug_type/lib%plug_name.so
%_libdir/switchboard/%plug_type/lib%plug_name.so
%_datadir/metainfo/%plug_rdnn.metainfo.xml
%_datadir/metainfo/%plug_rdnn.appdata.xml
%_libexecdir/io.elementary.logind.helper
%_datadir/dbus-1/system-services/io.elementary.logind.helper.service
@@ -4,7 +4,7 @@
%global plug_type hardware
%global plug_name printers
%global plug_rdnn io.elementary.switchboard.printers
%global plug_rdnn io.elementary.settings.printers
Name: switchboard-plug-printers
Summary: Switchboard Printers Plug
@@ -18,15 +18,15 @@ Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala >= 0.22.0
#BuildRequires: vala >= 0.22.0
BuildRequires: fdupes
BuildRequires: cups-devel
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(granite) >= 6.0.0
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(switchboard-2.0)
BuildRequires: pkgconfig(glib-2.0)
#BuildRequires: pkgconfig(granite) >= 6.0.0
#BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(switchboard-3)
Requires: cups%{?_isa}
Requires: switchboard%{?_isa}
@@ -49,21 +49,21 @@ A printers plug for Switchboard.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_name}-plug
%find_lang %{plug_rdnn}
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%files -f %{plug_name}-plug.lang
%files -f %{plug_rdnn}.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_rdnn}.so
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%changelog
@@ -4,12 +4,12 @@
%global plug_type personal
%global plug_name security-privacy
%global plug_rdnn io.elementary.settings.security-privacy
%global plug_rdnn io.elementary.switchboard.security-privacy
Name: switchboard-plug-security-privacy
Summary: Switchboard Security & Privacy Plug
Version: 8.0.0
Release: 1%?dist
Version: 7.1.0
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/%name
@@ -17,11 +17,11 @@ Source0: %url/archive/%version/%srcname-%version.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
#BuildRequires: vala
BuildRequires: vala
#BuildRequires: granite-devel
#BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: granite-devel
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(switchboard-2.0)
BuildRequires: pkgconfig(zeitgeist-2.0)
BuildRequires: meson >= 0.46.1
BuildRequires: polkit-devel
@@ -46,7 +46,7 @@ Supplements: switchboard%{?_isa}
%install
%meson_install
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
%check
@@ -54,15 +54,15 @@ appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_name}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%_libdir/switchboard-3/personal/security-privacy-plug-helper
%_libdir/switchboard/personal/security-privacy-plug-helper
%_datadir/glib-2.0/schemas/%plug_rdnn.gschema.xml
%_datadir/polkit-1/actions/%plug_rdnn.policy
@@ -4,7 +4,7 @@
%global plug_type network
%global plug_name sharing
%global plug_rdnn io.elementary.settings.sharing
%global plug_rdnn io.elementary.switchboard.sharing
Name: switchboard-plug-sharing
Summary: Switchboard Sharing Plug
@@ -18,9 +18,12 @@ Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala >= 0.22.0
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(switchboard-2.0)
Requires: rygel
Requires: switchboard%{?_isa}
@@ -43,21 +46,21 @@ Configure the sharing of system services.
%install
%meson_install
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_rdnn}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -4,7 +4,7 @@
%global plug_type system
%global plug_name sound
%global plug_rdnn io.elementary.settings.sound
%global plug_rdnn io.elementary.switchboard.sound
Name: switchboard-plug-sound
Summary: Switchboard Sound Plug
@@ -18,12 +18,18 @@ Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala >= 0.34.1
BuildRequires: fdupes
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libcanberra-gtk)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(switchboard-3)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(libpulse-mainloop-glib)
BuildRequires: pkgconfig(switchboard-2.0)
Requires: switchboard%{?_isa}
Supplements: switchboard%{?_isa}
@@ -44,9 +50,9 @@ A sound plug for Switchboard.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %{plug_rdnn}
%find_lang %{plug_name}-plug
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
@@ -54,14 +60,13 @@ sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.met
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%files -f %{plug_rdnn}.lang
%files -f %{plug_name}-plug.lang
%doc README.md
%license COPYING
%{_libdir}/switchboard-3/%{plug_type}/lib%{plug_rdnn}.so
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/glib-2.0/schemas/%{plug_name}.gschema.xml
%changelog
@@ -4,7 +4,7 @@
%global plug_type system
%global plug_name useraccounts
%global plug_rdnn io.elementary.settings.useraccounts
%global plug_rdnn io.elementary.switchboard.useraccounts
Name: switchboard-plug-useraccounts
Summary: Switchboard User Accounts Plug
@@ -18,11 +18,18 @@ Source0: %url/archive/%version/%srcname-%version.tar.gz
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson >= 0.46.1
BuildRequires: vala
BuildRequires: fdupes
BuildRequires: pkgconfig(accountsservice)
BuildRequires: pkgconfig(gnome-desktop-4)
BuildRequires: gobject-introspection-devel
BuildRequires: gnome-desktop3-devel
BuildRequires: pkgconfig(granite) >= 0.5
BuildRequires: pkgconfig(libhandy-1) >= 0.90.0
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(pwquality)
BuildRequires: polkit-devel
BuildRequires: gtk3-devel
BuildRequires: switchboard-devel
Requires: switchboard%?_isa
@@ -43,21 +50,21 @@ Supplements: switchboard%?_isa
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
%find_lang %plug_rdnn
%find_lang %plug_name-plug
%check
appstream-util validate-relax --nonet \
%buildroot/%_datadir/metainfo/%plug_rdnn.metainfo.xml
%buildroot/%_datadir/metainfo/%plug_rdnn.appdata.xml
%files -f %plug_rdnn.lang
%files -f %plug_name-plug.lang
%doc README.md
%license COPYING
%_libdir/switchboard-3/%plug_type/lib%plug_name.so
%_libdir/switchboard-3/system/useraccounts/guest-session-toggle
%_datadir/metainfo/%plug_rdnn.metainfo.xml
%_libdir/switchboard/%plug_type/lib%plug_name.so
%_libdir/switchboard/system/pantheon-useraccounts/guest-session-toggle
%_datadir/metainfo/%plug_rdnn.appdata.xml
%_datadir/polkit-1/actions/%plug_rdnn.policy
@@ -5,8 +5,8 @@
Name: wingpanel-applications-menu
Summary: Lightweight and stylish app launcher
Version: 8.0.0
Release: 1%?dist
Version: 2.11.1
Release: 2%?dist
License: GPL-3.0-or-later
URL: https://github.com/elementary/applications-menu
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-bluetooth
Summary: Bluetooth Indicator for wingpanel
Version: 8.0.0
Release: 1%?dist
Version: 7.0.1
Release: 1%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/%{name}
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-datetime
Summary: Datetime Indicator for wingpanel
Version: 2.4.2
Release: 1%?dist
Version: 2.4.1
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-datetime
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-keyboard
Summary: Keyboard Indicator for wingpanel
Version: 2.4.2
Release: 1%?dist
Version: 2.4.1
Release: 2%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/%{name}
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-network
Summary: Network Indicator for wingpanel
Version: 7.1.1
Release: 1%?dist
Version: 7.1.0
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-network
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-nightlight
Summary: Night Light Indicator for wingpanel
Version: 2.1.3
Release: 1%?dist
Version: 2.1.2
Release: 1%{?dist}
License: GPL-2.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-nightlight
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-notifications
Summary: Notifications Indicator for wingpanel
Version: 7.1.1
Release: 1%?dist
Version: 7.1.0
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: 8.0.0
Release: 1%?dist
Version: 6.2.1
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: 8.0.0
Release: 1%?dist
Version: 7.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: 8.0.0
Release: 1%?dist
Version: 3.0.5
Release: 1%{?dist}
License: GPL-2.0-or-later
Epoch: 1
@@ -11,16 +11,15 @@ 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 >= 46~ with gnome-shell < 48~)
Requires: (gnome-shell >= 45~ with gnome-shell < 46~)
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} -p1
%autosetup -n appmenu-is-back-%{version}
%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 3f43a2ec5e6ef3d1c28636b420f49fd96f5d83a0
%global commit 4f1c08054b1f975176375f615cf9d2470f7ec7ed
%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 a057a37b56b96efddc7f42577407a3a08a0575cf
%global commit af441bdb31bb76b207119a8c91eef3fa93c0c078
%forgemeta
Name: lomiri-app-launch
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 849214f4bb1a40fae692e18fed5d599e0d8c7af1
%global commit 0f9ce94e628a245cb3a7e97a7a169cb94e04c9ea
%forgemeta
Name: lomiri-system-settings
@@ -1,4 +1,4 @@
%define _ubuntu_rel 7ubuntu1
%define _ubuntu_rel 1ubuntu4
Name: unity-session
Summary: Lightdm profile for Unity 7
@@ -1,5 +1,5 @@
Name: terra-blueprint-compiler
Version: 0.14.0
Version: 0.12.0
Release: 1%?dist
License: LGPL-3.0-or-later
Summary: Markup language for GTK user interfaces
+2 -2
View File
@@ -12,7 +12,7 @@
%endif
Name: codium
Version: 1.92.2.24228
Version: 1.91.1.24193
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 %F
Exec=/usr/bin/codium --no-sandbox --unity-launch %F
Icon=vscodium
Type=Application
StartupNotify=false
+2 -2
View File
@@ -1,6 +1,6 @@
%global commit 267ccdd069df388d0cfd80146c03fe13e1491c5d
%global commit fb1d91585f8b7e72bc5776085a36205652a0adec
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240831
%global commit_date 20240724
Name: flow-control-nightly
Version: %commit_date.%shortcommit
+1 -1
View File
@@ -1,5 +1,5 @@
Name: flutter
Version: 3.24.1
Version: 3.22.3
Release: 1%?dist
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
License: BSD-3-Clause
@@ -1,25 +0,0 @@
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
+2 -3
View File
@@ -1,11 +1,10 @@
Name: kvrocks
Version: 2.9.0
Release: 2%?dist
Release: 1%?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
@@ -20,7 +19,7 @@ Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as st
engine and is compatible with Redis protocol.
%prep
%autosetup -p1
%autosetup
%build
unset LDFLAGS
+4 -4
View File
@@ -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.1
Version: 0.11.0
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 update profiler
for project in capture csvexport import-chrome import-fuchsia 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/%__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 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 update/%__cmake_builddir/tracy-update %buildroot%_bindir/tracy-update
install -Dm755 profiler/%__cmake_builddir/tracy-profiler %buildroot%_bindir/tracy
+1
View File
@@ -4,5 +4,6 @@ project pkg {
}
labels {
nightly = 1
large = 1
}
}
+4 -6
View File
@@ -1,9 +1,9 @@
%global commit a850731b0ed61b0ef2a0173843b6daedf45327e8
%global commit e9d0768e3c081d9c328f9c1811f783007e8bb489
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240831
%global ver 0.152.0
%global commit_date 20240727
%global ver 0.147.0
%bcond_with check
%bcond_without check
# Exclude input files from mangling
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
@@ -79,8 +79,6 @@ 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
+3
View File
@@ -2,4 +2,7 @@ project pkg {
rpm {
spec = "zed-preview.spec"
}
labels {
large = 1
}
}
+4
View File
@@ -1,6 +1,10 @@
let releases = "https://api.github.com/repos/zed-industries/zed/releases".get().json_arr();
for release in releases {
if !release.prerelease {
continue;
}
let tag = release.tag_name;
tag.pop(4); // remove the "-pre" suffix
tag.crop(1); // remove "v"
rpm.global("ver", tag);
break;
+5 -7
View File
@@ -1,6 +1,6 @@
%bcond_with check
%bcond_without check
%global ver 0.151.1-pre
%global ver 0.146.1
# 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: %(echo %ver | sed 's/-/~/')
Version: %ver
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}.tar.gz
Source0: https://github.com/zed-industries/zed/archive/refs/tags/v%{ver}-pre.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} -p1
%autosetup -n %{crate}-%{ver}-pre -p1
%cargo_prep_online
export DO_STARTUP_NOTIFY="true"
@@ -75,8 +75,6 @@ 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
+3
View File
@@ -2,4 +2,7 @@ project pkg {
rpm {
spec = "zed.spec"
}
labels {
large = 1
}
}
+2 -4
View File
@@ -1,4 +1,4 @@
%bcond_with check
%bcond_without check
# Exclude input files from mangling
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
@@ -9,7 +9,7 @@
%global app_id dev.zed.Zed
Name: zed
Version: 0.150.4
Version: 0.145.1
Release: 1%?dist
Summary: Zed is a high-performance, multiplayer code editor
@@ -75,8 +75,6 @@ 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
+1 -1
View File
@@ -7,7 +7,7 @@
# https://github.com/containerd/containerd
%global goipath github.com/containerd/containerd
Version: 1.7.21
Version: 1.7.20
%gometa
+1 -1
View File
@@ -1,7 +1,7 @@
%define debug_package %{nil}
Name: moby-compose
Version: 2.29.2
Version: 2.29.1
Release: 1%?dist
Summary: Define and run multi-container applications with Docker
@@ -1,5 +1,5 @@
Name: sarasa-gothic-fonts
Version: 1.0.20
Version: 1.0.16
Release: 1%?dist
URL: https://github.com/be5invis/Sarasa-Gothic
Source0: %url/releases/download/v%version/Sarasa-TTC-%version.7z
@@ -1,36 +0,0 @@
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
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "gamescope-legacy.spec"
}
labels {
multilib = 1
}
}
@@ -1,129 +0,0 @@
%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
@@ -1,33 +0,0 @@
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 )
-7
View File
@@ -1,7 +0,0 @@
prefix=/usr
includedir=${prefix}/include/stb
Name: stb
Description: Single-file public domain libraries for C/C++
Version: 0.1.0
Cflags: -I${includedir}
@@ -1,39 +0,0 @@
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 aa57bda3f17f660064c1e63f9497fa0a46df1e86
%global commit c9a2b14de1831edf45207610289a439a50c55485
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20240821
%global commit_date 20240724
Name: gamescope-session
Version: %commit_date.%shortcommit
@@ -30,7 +30,6 @@ cp -r usr %buildroot/
%license LICENSE
%_bindir/export-gpu
%_bindir/gamescope-session-plus
%_libexecdir/gamescope-sdl-workaround
%_userunitdir/gamescope-session-plus@.service
%_datadir/gamescope-session-plus/device-quirks
%_datadir/gamescope-session-plus/gamescope-session-plus
-36
View File
@@ -1,36 +0,0 @@
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
-21
View File
@@ -1,21 +0,0 @@
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>
+239
View File
@@ -0,0 +1,239 @@
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);
-34
View File
@@ -1,34 +0,0 @@
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
+136
View File
@@ -0,0 +1,136 @@
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 '?':

Some files were not shown because too many files have changed in this diff Show More