mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 09:01:55 +00:00
Compare commits
140 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bbd9846e43 | |||
| 7e6c8e50a4 | |||
| 4a8ce403d0 | |||
| ec5448b96d | |||
| d91a705426 | |||
| 193b5f0705 | |||
| a3545be262 | |||
| 5e7cbd1bc0 | |||
| 0d495044d6 | |||
| 5b9f395889 | |||
| 0f683747c0 | |||
| adaef9aa28 | |||
| 91ad29ade1 | |||
| 517d1259ae | |||
| a8d27b3b85 | |||
| 4c682a1b68 | |||
| b50d5ae179 | |||
| b30d71317e | |||
| 9f2d74d6a9 | |||
| eecfb3d46d | |||
| d2e807b9e8 | |||
| c8ec913e16 | |||
| 404c598885 | |||
| aa5352c4ae | |||
| 2347204c3c | |||
| 6d8499b8f8 | |||
| 24b8a294df | |||
| 22edeaa138 | |||
| 22059805b4 | |||
| 50c6084c26 | |||
| 28f53f3124 | |||
| 487b2d3fb6 | |||
| 17e7d807fa | |||
| e0831f3401 | |||
| 4098ed07d7 | |||
| f9f49d5e25 | |||
| 76fb757094 | |||
| 4d34575972 | |||
| d5d1bed869 | |||
| 68e4c86d71 | |||
| 417da16955 | |||
| 8b5e75f4a3 | |||
| df79f497bb | |||
| 372f512c56 | |||
| 5c33a7deee | |||
| 0c37ae038e | |||
| fda915b0d3 | |||
| 049328657f | |||
| 4ca23d4317 | |||
| 2f5e5855b0 | |||
| 82834bbc83 | |||
| c41290f658 | |||
| 34f55bafba | |||
| 670981ab54 | |||
| 2abdca4329 | |||
| 40d99014a4 | |||
| 3decb051d7 | |||
| 41e358e842 | |||
| e3b854bccb | |||
| 203a2f7353 | |||
| 316811c860 | |||
| 3ff5c78ff1 | |||
| fe632fcbb1 | |||
| 69e7e8b868 | |||
| 79a67cfa39 | |||
| 4c81264cb7 | |||
| 9754cbeb87 | |||
| 1c86b6f969 | |||
| fb3ba6c002 | |||
| 2239dc48c2 | |||
| d0662be981 | |||
| 1aaacb5410 | |||
| eb9e0263c7 | |||
| de321682d8 | |||
| bd97867f5c | |||
| b73e78925d | |||
| d7820129a7 | |||
| 25f0bed3a3 | |||
| 2c3fd888b1 | |||
| 2a6c6b30d3 | |||
| c891d9b963 | |||
| a7df1de622 | |||
| 2823e967c0 | |||
| fd1bc4f96b | |||
| 7ad02ffc21 | |||
| c3b769ed7b | |||
| f6571a8be7 | |||
| 58ddf76290 | |||
| 59aeb2e57f | |||
| 8df98fe1ea | |||
| 74639dbc35 | |||
| 6088711bec | |||
| 1b6b9fb92b | |||
| 17f149c1a5 | |||
| 9c6eda5d9e | |||
| 31e5b2be7f | |||
| f29d408be0 | |||
| 859a3bf5ab | |||
| 3d5fd30c32 | |||
| cc89e2f243 | |||
| 766ab49ebe | |||
| 1879797994 | |||
| a91016b1a6 | |||
| eed353ab37 | |||
| 3115afa549 | |||
| 5db23ec3af | |||
| d6af42083c | |||
| 995bd8aed0 | |||
| 7991182fc9 | |||
| 127f736636 | |||
| b1f33cbf4a | |||
| 4da543d721 | |||
| acc804ebe3 | |||
| 5d384c83c5 | |||
| e1841bfc88 | |||
| 510834f4e6 | |||
| fbe232b4f1 | |||
| 1ea388e860 | |||
| 7cc3cbf4df | |||
| 8ac454d8e8 | |||
| d195906e60 | |||
| 494c843722 | |||
| 2b3912a9fd | |||
| 9d0afe095c | |||
| 6e2287f098 | |||
| c8679dada7 | |||
| cc46576a58 | |||
| 4404bab36c | |||
| c2676b7a1a | |||
| 169224b364 | |||
| 47c1779a02 | |||
| c327e150c1 | |||
| 745d2b4870 | |||
| 77c4002994 | |||
| 5f438fa6f2 | |||
| 7b667bbc5a | |||
| 10696e1b10 | |||
| b3dda3e0a0 | |||
| 3f8e328cb0 | |||
| 9a4907ddf2 |
@@ -94,7 +94,7 @@ jobs:
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success() && github.event_name == 'push'
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: ( cancelled() || failure() ) && github.event_name == 'push'
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
|
||||
|
||||
@@ -5,16 +5,39 @@ on:
|
||||
packages:
|
||||
description: "Packages to Build"
|
||||
required: true
|
||||
custom_builder:
|
||||
description: "Custom Builder"
|
||||
required: false
|
||||
default: ""
|
||||
architecture:
|
||||
description: "Architecture"
|
||||
required: false
|
||||
default: all
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
parse:
|
||||
outputs:
|
||||
pkgs: ${{ steps.parsing.outputs.pkgs }}
|
||||
builder: ${{ inputs.custom_builder }}
|
||||
arch: ${{ steps.parsing.outputs.arch }}
|
||||
runs-on: "ubuntu-latest"
|
||||
steps:
|
||||
- name: Parse Input
|
||||
id: parsing
|
||||
run: echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $GITHUB_OUTPUT
|
||||
run: |
|
||||
echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $GITHUB_OUTPUT
|
||||
echo "builder=${{ inputs.custom_builder }}" >> $GITHUB_OUTPUT
|
||||
arch="${{ inputs.architecture }}"
|
||||
# Convert to json array using jq
|
||||
# if arch is not all, convert to array
|
||||
if [ "$arch" != "all" ]; then
|
||||
# jq, array with single element as string
|
||||
arch=$(echo $arch | sed 's/,/\n/g')
|
||||
echo "arch=$(echo $arch | jq -Rs 'split("\n")' | jq 'map(select(length > 0))' | jq -c .)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "arch=$(echo '["aarch64", "x86_64"]' | jq -c .)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
build:
|
||||
needs: parse
|
||||
@@ -22,9 +45,9 @@ jobs:
|
||||
matrix:
|
||||
pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
|
||||
version: ["rawhide"]
|
||||
arch: ["x86_64", "aarch64"]
|
||||
arch: ${{ fromJson(needs.parse.outputs.arch) }}
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
|
||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
@@ -77,7 +100,7 @@ jobs:
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success()
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: cancelled() || failure()
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success()
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
|
||||
- name: Notify Madoguchi (Failure)
|
||||
if: cancelled() || failure()
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
|
||||
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
|
||||
|
||||
@@ -2,7 +2,7 @@ set -x
|
||||
|
||||
dirs=$2
|
||||
dirs=${dirs/\/pkg/}
|
||||
export p="{\"id\":\"$5\",\"ver\":\"%v\",\"rel\":\"%r\",\"arch\":\"$4\",\"dirs\":\"$dirs\",\"succ\":$1}"
|
||||
export p="{\"id\":\"$5\",\"ver\":\"%v\",\"rel\":\"%r\",\"arch\":\"$4\",\"dirs\":\"$dirs\",\"succ\":$1,\"commit\":\"%6\"}"
|
||||
|
||||
if [[ $1 == false ]]; then
|
||||
d=${p/\%v/?}
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
%global xurl https://files.pythonhosted.org/packages/51/5f/6f52b958fe38a36a0799c01fbd56a742ebdfcf41f89438dbee998b8ce692/anki-24.06.3-cp39-abi3-manylinux_2_28_x86_64.whl
|
||||
%global aurl https://files.pythonhosted.org/packages/df/bb/b0bfbc6a06a598b0b614d18dd8c4f40827828649f9742f1f44a4e44d6a2c/anki-24.06.3-cp39-abi3-manylinux_2_31_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/21/2a/d8e22a9521be04ef29a30d21a2c3008783ab03b6f07cc14696a040f747a4/aqt-24.06.3-py3-none-any.whl
|
||||
|
||||
Name: anki-bin
|
||||
Version: 24.06.3
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning (Installed with wheel)
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
URL: https://apps.ankiweb.net/
|
||||
BuildRequires: python3-pip rpm_macro(fdupes)
|
||||
BuildRequires: python3-pip rpm_macro(fdupes) cargo
|
||||
Requires: python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-orjson
|
||||
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema
|
||||
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine python3-send2trash
|
||||
Requires: libxcrypt-compat hicolor-icon-theme sox mpv
|
||||
ExclusiveArch: x86_64
|
||||
Conflicts: anki
|
||||
Source0: https://files.pythonhosted.org/packages/cp39/a/anki/anki-%{version}-cp39-abi3-manylinux_2_28_%{_arch}.whl
|
||||
Source1: https://files.pythonhosted.org/packages/py3/a/aqt/aqt-%{version}-py3-none-any.whl
|
||||
%ifarch x86_64
|
||||
Source0: %xurl
|
||||
%elifarch aarch64
|
||||
Source0: %aurl
|
||||
%endif
|
||||
Source1: %qurl
|
||||
Source2: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/runanki.py
|
||||
Source3: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.desktop
|
||||
Source4: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.png
|
||||
|
||||
@@ -1 +1,15 @@
|
||||
rpm.version(gh("ankitects/anki"));
|
||||
let aarch64_regex = `<a href="https://files\.pythonhosted\.org/packages/(..)/(..)/(.{60})/anki-([\d.]+)-cp(\d+)-abi3-manylinux_.+?_aarch64.whl">`;
|
||||
let html = get("https://pypi.org/project/anki/");
|
||||
let relevant = find(aarch64_regex, html, 0);
|
||||
let ver = find(aarch64_regex, relevant, 4);
|
||||
rpm.version(ver);
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("aurl", find(`"(.+)"`, relevant, 1));
|
||||
let cp = find(aarch64_regex, relevant, 5);
|
||||
let x86_64_regex = `<a href="https://files\.pythonhosted\.org/packages/(..)/(..)/(.{60})/anki-${ver}-cp${cp}-abi3-manylinux_.+?_x86_64.whl">`;
|
||||
let relevant1 = find(x86_64_regex, html, 0);
|
||||
rpm.global("xurl", find(`"(.+)"`, relevant1, 1));
|
||||
let qhtml = get("https://pypi.org/project/aqt/");
|
||||
rpm.global("qurl", find(`<a href="(https://files\.pythonhosted\.org/packages/../../.{60}/aqt-${ver}-py3-none.any.whl)">`, qhtml, 1));
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ phrases in a foreign language) as easily, quickly and efficiently as possible.
|
||||
Anki is based on a theory called spaced repetition.
|
||||
|
||||
%prep
|
||||
rm -rf ./*
|
||||
git clone https://github.com/ankitects/anki .
|
||||
git checkout %version
|
||||
%patch 1 -p1
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 0.0.444
|
||||
Version: 0.0.454
|
||||
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.444
|
||||
Version: 0.0.454
|
||||
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.58
|
||||
Version: 0.0.60
|
||||
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.93
|
||||
Version: 0.0.95
|
||||
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.93
|
||||
Version: 0.0.95
|
||||
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.58
|
||||
Version: 0.0.60
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: envision
|
||||
Version: %commit_date.%commit
|
||||
Version: %commit_date.%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: UI for building, configuring and running Monado, the open source OpenXR runtime
|
||||
License: AGPL-3.0-or-later
|
||||
@@ -16,7 +16,7 @@ BuildRequires: pkgconfig(gtk4) >= 4.10.0
|
||||
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0
|
||||
BuildRequires: pkgconfig(libadwaita-1)
|
||||
BuildRequires: pkgconfig(libusb-1.0)
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: openssl-devel-engine
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: glib2-devel
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "komikku.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
%global appname Komikku
|
||||
%global uuid info.febvre.%{appname}
|
||||
%global gtk4_version 4.14.4
|
||||
%global libadwaita_version 1.5.1
|
||||
%global pure_protobuf_version 2.0.0
|
||||
|
||||
Name: komikku
|
||||
Version: 1.51.1
|
||||
%forgemeta
|
||||
Release: %autorelease
|
||||
Summary: A manga reader for GNOME
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://valos.gitlab.io/Komikku
|
||||
Source0: https://codeberg.org/valos/%{appname}/archive/v%{version}.tar.gz#/%{name}-v%{version}.tar.gz
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: intltool
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: meson >= 0.59.0
|
||||
BuildRequires: python3-devel >= 3.8
|
||||
BuildRequires: blueprint-compiler
|
||||
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.35.9
|
||||
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
|
||||
BuildRequires: pkgconfig(libadwaita-1) >= %{libadwaita_version}
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: gtk4 >= %{gtk4_version}
|
||||
Requires: libadwaita >= %{libadwaita_version}
|
||||
Requires: libnotify
|
||||
Requires: webkitgtk6.0
|
||||
Requires: python3-beautifulsoup4
|
||||
Requires: python3-brotli
|
||||
Requires: python3-colorthief
|
||||
Requires: python3-dateparser %dnl >= 1.1.4 | https://bugzilla.redhat.com/show_bug.cgi?id=2115204
|
||||
Requires: python3-emoji
|
||||
Requires: python3-gobject
|
||||
Requires: python3-keyring >= 21.6.0
|
||||
Requires: python3-lxml
|
||||
Requires: python3-natsort
|
||||
Requires: python3-file-magic
|
||||
Requires: python3-piexif
|
||||
Requires: python3-pillow
|
||||
Requires: python3-pillow-heif
|
||||
Requires: python3-pure-protobuf >= %{pure_protobuf_version}
|
||||
Requires: python3-rarfile
|
||||
Requires: python3-requests
|
||||
Requires: python3-unidecode
|
||||
|
||||
%description
|
||||
Komikku is a manga reader for GNOME. It focuses on providing a clean, intuitive
|
||||
and adaptive interface.
|
||||
|
||||
Keys features
|
||||
|
||||
* Online reading from dozens of servers
|
||||
* Offline reading of downloaded comics
|
||||
* Categories to organize your library
|
||||
* RTL, LTR, Vertical and Webtoon reading modes
|
||||
* Several types of navigation:
|
||||
* Keyboard arrow keys
|
||||
* Right and left navigation layout via mouse click or tapping
|
||||
(touchpad/touch screen)
|
||||
* Mouse wheel
|
||||
* 2-fingers swipe gesture (touchpad)
|
||||
* Swipe gesture (touch screen)
|
||||
* Automatic update of comics
|
||||
* Automatic download of new chapters
|
||||
* Reading history
|
||||
* Light and dark themes
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name} -p1
|
||||
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
%find_lang %{name}
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
||||
|
||||
|
||||
%files -f %{name}.lang
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/%{name}/
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/glib-2.0/schemas/*.gschema.xml
|
||||
%{_datadir}/icons/hicolor/scalable/*/*.svg
|
||||
%{_datadir}/icons/hicolor/symbolic/*/*.svg
|
||||
%{_metainfodir}/*.xml
|
||||
%{python3_sitelib}/%{name}/
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jul 11 2024 Trung Lê <8@tle.id.au> - 1.51.1-0
|
||||
- Initial RPM package
|
||||
@@ -0,0 +1,3 @@
|
||||
let latest_tag = get("https://codeberg.org/api/v1/repos/valos/Komikku/tags").json_arr()[0].name;
|
||||
let new_version = find("([\\.\\d]+)", latest_tag, 1);
|
||||
rpm.version(new_version);
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit bcc72f97ef1106b8ed028ebcdd1897351f10caa7
|
||||
%global commit e509ec0aaffce74e520702e16e3e21ea0f168940
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240706
|
||||
%global commit_date 20240720
|
||||
%global ver v0.38.0
|
||||
|
||||
Name: mpv-nightly
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "mugshot.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
%global app org.bluesabre.Mugshot
|
||||
%global _description %{expand:
|
||||
Mugshot is a lightweight user configuration utility for Linux designed for simplicity and ease of
|
||||
use. Quickly update your personal profile and sync your updates across applications.}
|
||||
|
||||
|
||||
Name: python-mugshot
|
||||
Version: 0.4.3
|
||||
Release: 1%?dist
|
||||
Summary: User Management Utility for Linux
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/bluesabre/mugshot
|
||||
Source0: %url/archive/refs/tags/mugshot-%version.tar.gz
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-pip
|
||||
BuildRequires: python3-distutils-extra
|
||||
BuildRequires: python3-wheel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: glib2
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: libappstream-glib
|
||||
|
||||
%description %_description
|
||||
|
||||
%package -n mugshot
|
||||
Requires: util-linux-user
|
||||
Requires: python3-cairo
|
||||
Requires: python3-pexpect
|
||||
Requires: python3-gobject
|
||||
Summary: User Management Utility for Linux
|
||||
|
||||
%description -n mugshot %_description
|
||||
|
||||
%prep
|
||||
%autosetup -n mugshot-mugshot-%version
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files -L 'mugshot*'
|
||||
install -Dm644 data/glib-2.0/schemas/%{lower:%app}.gschema.xml %buildroot%_datadir/glib-2.0/schemas/
|
||||
|
||||
%find_lang mugshot
|
||||
|
||||
%check
|
||||
#pyproject_check_import
|
||||
desktop-file-validate %buildroot%_datadir/applications/%app.desktop
|
||||
appstream-util validate-relax --nonet %buildroot%_metainfodir/mugshot.appdata.xml
|
||||
|
||||
%files -n mugshot -f %{pyproject_files} -f mugshot.lang
|
||||
%doc README.md NEWS
|
||||
%license COPYING
|
||||
%_bindir/mugshot
|
||||
%_datadir/glib-2.0/schemas/%{lower:%app}.gschema.xml
|
||||
%_datadir/applications/%app.desktop
|
||||
%_datadir/mugshot/
|
||||
%_metainfodir/mugshot.appdata.xml
|
||||
%_mandir/man1/mugshot.1.gz
|
||||
%_iconsdir/hicolor/*/apps/mugshot.svg
|
||||
@@ -0,0 +1,3 @@
|
||||
let v = gh("bluesabre/mugshot");
|
||||
v.crop(8);
|
||||
rpm.version(v);
|
||||
@@ -1,4 +1,4 @@
|
||||
# Generated by rust2rpm 25
|
||||
# Generated by rust2rpm 26
|
||||
%bcond_with check
|
||||
# aarch64 dist is not available
|
||||
%ifarch aarch64
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
Name: rust-sccache
|
||||
Version: 0.8.1
|
||||
Release: 1%?dist
|
||||
Release: %autorelease
|
||||
Summary: Ccache-like tool
|
||||
|
||||
License: Apache-2.0
|
||||
@@ -89,17 +89,6 @@ use the "default" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+all-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/all) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
Requires: crate(sccache/azure) = 0.7.4
|
||||
Requires: crate(sccache/dist-client) = 0.7.4
|
||||
Requires: crate(sccache/gcs) = 0.7.4
|
||||
Requires: crate(sccache/gha) = 0.7.4
|
||||
Requires: crate(sccache/memcached) = 0.7.4
|
||||
Requires: crate(sccache/redis) = 0.7.4
|
||||
Requires: crate(sccache/s3) = 0.7.4
|
||||
Requires: crate(sccache/webdav) = 0.7.4
|
||||
|
||||
%description -n %{name}+all-devel %{_description}
|
||||
|
||||
@@ -112,9 +101,6 @@ use the "all" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+azure-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/azure) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+azure-devel %{_description}
|
||||
|
||||
@@ -127,9 +113,6 @@ use the "azure" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+dist-client-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/dist-client) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+dist-client-devel %{_description}
|
||||
|
||||
@@ -138,13 +121,10 @@ use the "dist-client" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+dist-client-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
%if %{with dist_server}
|
||||
|
||||
%package -n %{name}+dist-server-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/dist-server) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+dist-server-devel %{_description}
|
||||
|
||||
@@ -157,11 +137,6 @@ use the "dist-server" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+dist-tests-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/dist-tests) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
Requires: crate(sccache/dist-client) = 0.7.4
|
||||
Requires: crate(sccache/dist-server) = 0.7.4
|
||||
|
||||
%description -n %{name}+dist-tests-devel %{_description}
|
||||
|
||||
@@ -170,15 +145,10 @@ use the "dist-tests" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+dist-tests-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
%endif
|
||||
|
||||
%package -n %{name}+flate2-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/flate2) = 0.7.4
|
||||
Requires: (crate(flate2) >= 1.0.0 with crate(flate2) < 2.0.0~)
|
||||
Requires: (crate(flate2/rust_backend) >= 1.0.0 with crate(flate2/rust_backend) < 2.0.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+flate2-devel %{_description}
|
||||
|
||||
@@ -191,9 +161,6 @@ use the "flate2" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+gcs-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/gcs) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+gcs-devel %{_description}
|
||||
|
||||
@@ -206,10 +173,6 @@ use the "gcs" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+gha-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/gha) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
Requires: crate(sccache/opendal) = 0.7.4
|
||||
|
||||
%description -n %{name}+gha-devel %{_description}
|
||||
|
||||
@@ -219,14 +182,21 @@ use the "gha" feature of the "%{crate}" crate.
|
||||
%files -n %{name}+gha-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+http-body-util-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+http-body-util-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "http-body-util" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+http-body-util-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+hyper-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/hyper) = 0.7.4
|
||||
Requires: (crate(hyper/default) >= 0.14.27 with crate(hyper/default) < 0.15.0~)
|
||||
Requires: (crate(hyper/server) >= 0.14.27 with crate(hyper/server) < 0.15.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+hyper-devel %{_description}
|
||||
|
||||
@@ -236,13 +206,21 @@ use the "hyper" feature of the "%{crate}" crate.
|
||||
%files -n %{name}+hyper-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+hyper-util-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+hyper-util-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "hyper-util" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+hyper-util-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+jwt-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/jwt) = 0.7.4
|
||||
Requires: (crate(jsonwebtoken/default) >= 8.0.0 with crate(jsonwebtoken/default) < 9.0.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+jwt-devel %{_description}
|
||||
|
||||
@@ -255,10 +233,6 @@ use the "jwt" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+libmount-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/libmount) = 0.7.4
|
||||
Requires: (crate(libmount/default) >= 0.1.10 with crate(libmount/default) < 0.2.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+libmount-devel %{_description}
|
||||
|
||||
@@ -271,11 +245,6 @@ use the "libmount" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+memcached-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/memcached) = 0.7.4
|
||||
Requires: (crate(opendal/default) >= 0.40.0 with crate(opendal/default) < 0.41.0~)
|
||||
Requires: (crate(opendal/services-memcached) >= 0.40.0 with crate(opendal/services-memcached) < 0.41.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+memcached-devel %{_description}
|
||||
|
||||
@@ -288,9 +257,6 @@ use the "memcached" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+native-zlib-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/native-zlib) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+native-zlib-devel %{_description}
|
||||
|
||||
@@ -303,10 +269,6 @@ use the "native-zlib" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+nix-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/nix) = 0.7.4
|
||||
Requires: (crate(nix/default) >= 0.26.2 with crate(nix/default) < 0.27.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+nix-devel %{_description}
|
||||
|
||||
@@ -319,10 +281,6 @@ use the "nix" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+opendal-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/opendal) = 0.7.4
|
||||
Requires: (crate(opendal/default) >= 0.40.0 with crate(opendal/default) < 0.41.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+opendal-devel %{_description}
|
||||
|
||||
@@ -335,10 +293,6 @@ use the "opendal" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+openssl-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/openssl) = 0.7.4
|
||||
Requires: (crate(openssl/default) >= 0.10.55 with crate(openssl/default) < 0.11.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+openssl-devel %{_description}
|
||||
|
||||
@@ -348,16 +302,21 @@ use the "openssl" feature of the "%{crate}" crate.
|
||||
%files -n %{name}+openssl-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+oss-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+oss-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "oss" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+oss-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+redis-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/redis) = 0.7.4
|
||||
Requires: (crate(opendal/default) >= 0.40.0 with crate(opendal/default) < 0.41.0~)
|
||||
Requires: (crate(opendal/services-redis) >= 0.40.0 with crate(opendal/services-redis) < 0.41.0~)
|
||||
Requires: (crate(opendal/services-redis-rustls) >= 0.40.0 with crate(opendal/services-redis-rustls) < 0.41.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
Requires: crate(sccache/url) = 0.7.4
|
||||
|
||||
%description -n %{name}+redis-devel %{_description}
|
||||
|
||||
@@ -370,10 +329,6 @@ use the "redis" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+reqsign-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/reqsign) = 0.7.4
|
||||
Requires: (crate(reqsign/default) >= 0.14.1 with crate(reqsign/default) < 0.15.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+reqsign-devel %{_description}
|
||||
|
||||
@@ -386,15 +341,6 @@ use the "reqsign" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+reqwest-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/reqwest) = 0.7.4
|
||||
Requires: (crate(reqwest/blocking) >= 0.11.0 with crate(reqwest/blocking) < 0.12.0~)
|
||||
Requires: (crate(reqwest/default) >= 0.11.0 with crate(reqwest/default) < 0.12.0~)
|
||||
Requires: (crate(reqwest/json) >= 0.11.0 with crate(reqwest/json) < 0.12.0~)
|
||||
Requires: (crate(reqwest/rustls-tls) >= 0.11.0 with crate(reqwest/rustls-tls) < 0.12.0~)
|
||||
Requires: (crate(reqwest/stream) >= 0.11.0 with crate(reqwest/stream) < 0.12.0~)
|
||||
Requires: (crate(reqwest/trust-dns) >= 0.11.0 with crate(reqwest/trust-dns) < 0.12.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+reqwest-devel %{_description}
|
||||
|
||||
@@ -407,11 +353,6 @@ use the "reqwest" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+rouille-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/rouille) = 0.7.4
|
||||
Requires: (crate(rouille) >= 3.6.0 with crate(rouille) < 4.0.0~)
|
||||
Requires: (crate(rouille/ssl) >= 3.6.0 with crate(rouille/ssl) < 4.0.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+rouille-devel %{_description}
|
||||
|
||||
@@ -424,11 +365,6 @@ use the "rouille" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+s3-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/s3) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
Requires: crate(sccache/opendal) = 0.7.4
|
||||
Requires: crate(sccache/reqsign) = 0.7.4
|
||||
|
||||
%description -n %{name}+s3-devel %{_description}
|
||||
|
||||
@@ -441,10 +377,6 @@ use the "s3" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+sha2-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/sha2) = 0.7.4
|
||||
Requires: (crate(sha2/default) >= 0.10.6 with crate(sha2/default) < 0.11.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+sha2-devel %{_description}
|
||||
|
||||
@@ -457,10 +389,6 @@ use the "sha2" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+syslog-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/syslog) = 0.7.4
|
||||
Requires: (crate(syslog/default) >= 6.0.0 with crate(syslog/default) < 7.0.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+syslog-devel %{_description}
|
||||
|
||||
@@ -470,29 +398,9 @@ use the "syslog" feature of the "%{crate}" crate.
|
||||
%files -n %{name}+syslog-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%{dnl ## BEGIN: multiline comment
|
||||
%package -n %{name}+trust-dns-resolver-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/trust-dns-resolver) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+trust-dns-resolver-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "trust-dns-resolver" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+trust-dns-resolver-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
} ## END OF multiline comment
|
||||
|
||||
%package -n %{name}+unstable-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/unstable) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+unstable-devel %{_description}
|
||||
|
||||
@@ -505,10 +413,6 @@ use the "unstable" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+url-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/url) = 0.7.4
|
||||
Requires: (crate(url/default) >= 2.0.0 with crate(url/default) < 3.0.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+url-devel %{_description}
|
||||
|
||||
@@ -521,9 +425,6 @@ use the "url" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+vendored-openssl-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/vendored-openssl) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+vendored-openssl-devel %{_description}
|
||||
|
||||
@@ -536,10 +437,6 @@ use the "vendored-openssl" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+version-compare-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/version-compare) = 0.7.4
|
||||
Requires: (crate(version-compare/default) >= 0.1.1 with crate(version-compare/default) < 0.2.0~)
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
|
||||
%description -n %{name}+version-compare-devel %{_description}
|
||||
|
||||
@@ -552,10 +449,6 @@ use the "version-compare" feature of the "%{crate}" crate.
|
||||
%package -n %{name}+webdav-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
Provides: crate(sccache/webdav) = 0.7.4
|
||||
Requires: cargo
|
||||
Requires: crate(sccache) = 0.7.4
|
||||
Requires: crate(sccache/opendal) = 0.7.4
|
||||
|
||||
%description -n %{name}+webdav-devel %{_description}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- sccache-0.7.6/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||
+++ sccache-0.7.6/Cargo.toml 2024-02-02T06:05:53.548100+00:00
|
||||
@@ -378,11 +378,3 @@
|
||||
--- sccache-0.8.1/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||
+++ sccache-0.8.1/Cargo.toml 2024-07-10T16:31:31.705674+00:00
|
||||
@@ -403,13 +403,3 @@
|
||||
[target."cfg(unix)".dependencies.daemonize]
|
||||
version = "0.5"
|
||||
|
||||
@@ -11,4 +11,6 @@
|
||||
- "handleapi",
|
||||
- "stringapiset",
|
||||
- "winnls",
|
||||
- "processenv",
|
||||
- "std",
|
||||
-]
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
From 6b8c81d1d4ac0ac562b69e7f8164c8a92dafe13a Mon Sep 17 00:00:00 2001
|
||||
From: windowsboy111 <wboy111@outlook.com>
|
||||
Date: Mon, 19 Jun 2023 10:33:20 +0800
|
||||
Subject: [PATCH] feat: add repository entry in package.json
|
||||
|
||||
---
|
||||
package.json | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/package.json b/package.json
|
||||
index 622756a..b3d3dfa 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
+ "repository": "github:VOICEVOX/voicevox",
|
||||
"name": "voicevox",
|
||||
"version": "999.999.999",
|
||||
"author": "Hiroshiba Kazuyuki",
|
||||
--
|
||||
2.40.1
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "voicevox.spec"
|
||||
}
|
||||
|
||||
@@ -1,5 +1 @@
|
||||
let v = gh("VOICEVOX/voicevox");
|
||||
rpm.global("ver", v);
|
||||
let engines = get(`https://raw.githubusercontent.com/VOICEVOX/voicevox/${v}/package.json`).json().engines;
|
||||
rpm.global("nodev", find(">=([\\d.]+)", engines.node, 1));
|
||||
rpm.global("npmv", find(">=([\\d.]+)", engines.npm, 1));
|
||||
rpm.version(gh("VOICEVOX/voicevox"));
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
%global nodev 20.12.2
|
||||
%global npmv 10.5.0
|
||||
%global ver 0.19.2
|
||||
%define debug_package %nil
|
||||
%global _build_id_links none
|
||||
|
||||
@@ -9,20 +6,16 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: voicevox
|
||||
Version: %ver
|
||||
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/archive/refs/tags/%version.tar.gz
|
||||
# requires specific node and npm version
|
||||
%ifarch x86_64
|
||||
%global a x64
|
||||
%elifarch aarch64
|
||||
%global a arm64
|
||||
%endif
|
||||
Source1: https://nodejs.org/download/release/v%nodev/node-v%nodev-linux-%a.tar.xz
|
||||
Patch0: 0001-feat-add-repository-entry-in-package.json.patch
|
||||
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
|
||||
BuildRequires: p7zip-plugins
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%description
|
||||
VOICEVOX is a free Japanese text-to-speech software with medium output quality.
|
||||
@@ -34,33 +27,28 @@ Summary: Documentation files for voicevox (Japanese)
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
tar xf %SOURCE1
|
||||
PATH="$PATH:$PWD/node-v%nodev-linux-%a/bin/"
|
||||
npx npm@%npmv i
|
||||
cat<<EOF > voicevox.sh
|
||||
#!/bin/sh
|
||||
/usr/share/voicevox/VOICEVOX.AppImage
|
||||
EOF
|
||||
7z x %SOURCE0
|
||||
chmod a+x VOICEVOX.AppImage
|
||||
|
||||
./VOICEVOX.AppImage --appimage-extract '*.desktop'
|
||||
./VOICEVOX.AppImage --appimage-extract 'usr/share/icons/**'
|
||||
|
||||
sed -i "s|Exec=.*|Exec=/usr/share/voicevox/VOICEVOX.AppImage|" squashfs-root/voicevox.desktop
|
||||
|
||||
%build
|
||||
PATH="$PATH:$PWD/node-v%nodev-linux-%a/bin/"
|
||||
npx browserslist@latest --update-db
|
||||
PATH="$PATH:$PWD/node-v%nodev-linux-%a/bin/"
|
||||
npm run electron:build
|
||||
|
||||
%install
|
||||
rm dist_electron/linux-unpacked/README.txt # dummy
|
||||
mkdir -p %buildroot%_datadir/%name %buildroot%_bindir %buildroot%_docdir/%name/res
|
||||
mv dist_electron/linux-unpacked/* %buildroot%_datadir/%name/
|
||||
ln -s %_datadir/%name/%name %buildroot%_bindir/%name
|
||||
install -Dm644 docs/*.md %buildroot%_docdir/%name/
|
||||
install -Dm644 docs/res/* %buildroot%_docdir/%name/res/
|
||||
install -Dm755 VOICEVOX.AppImage %buildroot%_datadir/voicevox/VOICEVOX.AppImage
|
||||
install -Dm755 voicevox.sh %buildroot%_bindir/voicevox
|
||||
install -Dm644 squashfs-root%_iconsdir/hicolor/0x0/apps/voicevox.png %buildroot%_iconsdir/hicolor/256x256/apps/voicevox.png
|
||||
install -Dm644 squashfs-root/voicevox.desktop %buildroot%_datadir/applications/voicevox.desktop
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE LGPL_LICENSE
|
||||
%_bindir/%name
|
||||
%_datadir/%name/
|
||||
|
||||
%files doc
|
||||
%doc %_docdir/%name/
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
%_bindir/voicevox
|
||||
%_datadir/applications/voicevox.desktop
|
||||
%_datadir/voicevox/VOICEVOX.AppImage
|
||||
%_iconsdir/hicolor/256x256/apps/voicevox.png
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Name: elementary-sideload
|
||||
Summary: Sideload flatpaks on Pantheon
|
||||
Version: 6.2.1
|
||||
Release: 1%{?dist}
|
||||
Version: 6.2.2
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/elementary/sideload
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Name: elementary-terminal
|
||||
Summary: The terminal of the 21st century
|
||||
Version: 6.1.2
|
||||
Release: 2%{?dist}
|
||||
Version: 6.2.0
|
||||
Release: 1%?dist
|
||||
License: LGPL-3.0
|
||||
|
||||
URL: https://github.com/elementary/%{srcname}
|
||||
@@ -90,16 +90,9 @@ appstream-util validate-relax --nonet \
|
||||
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
|
||||
%{_datadir}/%{appname}/
|
||||
%{_datadir}/metainfo/%{appname}.appdata.xml
|
||||
%{_mandir}/man1/%{appname}.1.gz
|
||||
|
||||
%files fish
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
%{_datadir}/fish/vendor_conf.d/pantheon_terminal_process_completion_notifications.fish
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 6.1.1-1
|
||||
- new version
|
||||
|
||||
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
|
||||
- Repackaged for Terra
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "pantheon-tweaks.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
Name: pantheon-tweaks
|
||||
Version: 2.0.2
|
||||
Release: 1%?dist
|
||||
Summary: A system settings panel for the Pantheon desktop environment
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/pantheon-tweaks/pantheon-tweaks
|
||||
Source0: %{url}/archive/refs/tags/%{version}.tar.gz
|
||||
BuildRequires: vala switchboard-devel pkgconfig(gee-0.8) pkgconfig(glib-2.0)
|
||||
BuildRequires: granite-devel >= 6.0.0 pkgconfig(gtk+-3.0) meson vala
|
||||
Requires: gtk3 granite
|
||||
|
||||
%description
|
||||
A system settings panel for the Pantheon Desktop that
|
||||
lets you easily and safely customise your desktop's appearance.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
/usr/lib64/switchboard/personal/libpantheon-tweaks.so
|
||||
%{_datadir}/icons/hicolor/32x32/categories/preferences-desktop-tweaks.svg
|
||||
%{_datadir}/locale/*/LC_MESSAGES/pantheon-tweaks-plug.mo
|
||||
%{_datadir}/metainfo/pantheon-tweaks.metainfo.xml
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Jan 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 1.0.4-1
|
||||
- Initial package
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("pantheon-tweaks/pantheon-tweaks"));
|
||||
@@ -2,16 +2,20 @@
|
||||
|
||||
%global plug_type personal
|
||||
%global plug_name pantheon-tweaks
|
||||
%global app io.github.pantheon_tweaks.pantheon-tweaks
|
||||
|
||||
Name: switchboard-plug-tweaks
|
||||
Summary: Switchboard Tweaks Plug
|
||||
Version: 2.0.2
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
URL: https://github.com/pantheon-tweaks/pantheon-tweaks
|
||||
Source0: %{url}/archive/%{version}/%{plug_name}-%{version}.tar.gz
|
||||
|
||||
Provides: pantheon-tweaks = %version-%release
|
||||
Obsoletes: pantheon-tweaks < 2.0.2-2
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gettext
|
||||
BuildRequires: libappstream-glib
|
||||
@@ -22,7 +26,7 @@ BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(granite) >= 6.0.0
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(switchboard-2.0)
|
||||
BuildRequires: pkgconfig(switchboard-3)
|
||||
|
||||
Requires: switchboard%{?_isa}
|
||||
|
||||
@@ -63,28 +67,22 @@ de trabalho.
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%find_lang %{plug_name}-plug
|
||||
%find_lang %{plug_name}
|
||||
|
||||
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
|
||||
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_name}.metainfo.xml
|
||||
sed -i '/icon type="stock"/d' %buildroot%_metainfodir/%app.metainfo.xml
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet \
|
||||
%{buildroot}/%{_datadir}/metainfo/%{plug_name}.metainfo.xml
|
||||
appstream-util validate-relax --nonet %buildroot%_metainfodir/%app.metainfo.xml
|
||||
|
||||
|
||||
%files -f %{plug_name}-plug.lang
|
||||
%files -f %{plug_name}.lang
|
||||
%license COPYING
|
||||
%doc README.md
|
||||
%doc AUTHORS
|
||||
%doc CONTRIBUTORS
|
||||
|
||||
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
|
||||
|
||||
%{_datadir}/metainfo/%{plug_name}.metainfo.xml
|
||||
%{_datadir}/icons/hicolor/*/categories/preferences-*.svg
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
|
||||
- Repackaged for Terra
|
||||
%_bindir/pantheon-tweaks
|
||||
%_datadir/applications/%app.desktop
|
||||
%_iconsdir/hicolor/*/apps/%app.svg
|
||||
%_metainfodir/io.github.pantheon_tweaks.pantheon-tweaks.metainfo.xml
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
%global plug_type hardware
|
||||
%global plug_name wacom
|
||||
%global plug_rdnn io.elementary.switchboard.wacom
|
||||
%global plug_rdnn io.elementary.settings.wacom
|
||||
|
||||
Name: switchboard-plug-wacom
|
||||
Summary: Switchboard Wacom Plug
|
||||
@@ -25,7 +25,7 @@ BuildRequires: pkgconfig(libwacom)
|
||||
BuildRequires: pkgconfig(gudev-1.0)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xi)
|
||||
BuildRequires: switchboard-devel
|
||||
BuildRequires: pkgconfig(switchboard-3)
|
||||
|
||||
Requires: switchboard%{?_isa}
|
||||
Supplements: switchboard%{?_isa}
|
||||
@@ -45,22 +45,18 @@ Supplements: switchboard%{?_isa}
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%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_name}.so
|
||||
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
|
||||
|
||||
%changelog
|
||||
* Tue Jun 13 2023 windowsboy111 <windowsboy111@fyralabs.com> - 1.0.1-1
|
||||
- Initial package.
|
||||
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch
|
||||
%global commit 99fa99c6e8af868f64dbfdb973eebeb2ca3ad14a
|
||||
%global commit af441bdb31bb76b207119a8c91eef3fa93c0c078
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-app-launch
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-schemas
|
||||
%global commit 6acdde9e890685bd5a5d6fbd4446d9e8b3e6c698
|
||||
%global commit 814c0b16b3753fef918bfe624710cb4809a690fa
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-schemas
|
||||
Version: 0.1.4
|
||||
Release: 1%{?dist}
|
||||
Version: 0.1.5
|
||||
Release: 1%?dist
|
||||
Summary: Configuration schemas for lomiri
|
||||
License: LGPL-2.0-or-later
|
||||
URL: https://gitlab.com/ubports/development/core/lomiri-schemas
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit 1a80200cd84b1b71715f91bf9e278ef46a8cbb6b
|
||||
%global commit 1530c1fcfd8b8b7eec3a30e2db20cfc9946fa34a
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
Version: 1.1.0
|
||||
Version: 1.2.0
|
||||
Release: 1%?dist
|
||||
Summary: The system settings application for Lomiri
|
||||
License: GPLv3
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
|
||||
%global commit 28178b0be8fc2c66934da155dee1c6238ecc98c0
|
||||
%global commit 8f490672f9853278b0aec6435a68d56b9eaf8207
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-ui-toolkit
|
||||
Version: 1.3.5012
|
||||
Release: 1%{?dist}
|
||||
Version: 1.3.5100
|
||||
Release: 1%?dist
|
||||
Summary: QML components to ease the creation of beautiful applications in QML for Lomiri
|
||||
|
||||
License: LGPL-3.0
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
rpm.version(gitlab_tag("19057685"));
|
||||
if rpm.changed() {
|
||||
rpm.global("commit", gitlab_commit("19057685"));
|
||||
rpm.global("commit", gitlab_commit("19057685", "main"));
|
||||
rpm.release();
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
%endif
|
||||
|
||||
Name: codium
|
||||
Version: 1.90.2.24171
|
||||
Version: 1.91.1.24193
|
||||
Release: 1%?dist
|
||||
Summary: Code editing. Redefined.
|
||||
License: MIT
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "flow-control-nightly.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
%global commit 787bf3c6585701ec718c740ccb424794c39a2b43
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240714
|
||||
|
||||
Name: flow-control-nightly
|
||||
Version: %commit_date.%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: A programmer's text editor
|
||||
License: MIT
|
||||
URL: https://github.com/neurocyte/flow
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
BuildRequires: zig
|
||||
Provides: flow = %version-%release
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -n flow-%commit
|
||||
|
||||
%build
|
||||
zig build -Doptimize=ReleaseFast --release=fast
|
||||
|
||||
%install
|
||||
install -Dpm755 zig-out/bin/flow %buildroot%_bindir/flow
|
||||
|
||||
%files
|
||||
%doc README.md help.md
|
||||
%license LICENSE
|
||||
%_bindir/flow
|
||||
@@ -0,0 +1,7 @@
|
||||
if filters.contains("nightly") {
|
||||
rpm.global("commit", gh_commit("neurocyte/flow"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: flutter
|
||||
Version: 3.22.2
|
||||
Version: 3.22.3
|
||||
Release: 1%?dist
|
||||
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
|
||||
License: BSD-3-Clause
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64", "aarch64"]
|
||||
rpm {
|
||||
spec = "kvrocks.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
Name: kvrocks
|
||||
Version: 2.9.0
|
||||
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
|
||||
Requires: openssl
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: git
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: python3
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
||||
%description
|
||||
Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as storage
|
||||
engine and is compatible with Redis protocol.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
unset LDFLAGS
|
||||
./x.py build -DPORTABLE=1 -DENABLE_STATIC_LIBSTDCXX=OFF -DENABLE_OPENSSL=ON -DCMAKE_BUILD_TYPE=Release --ghproxy -j $(nproc)
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}
|
||||
|
||||
install -pm755 build/%{name} %{buildroot}%{_bindir}/%{name}
|
||||
install -pm755 build/kvrocks2redis %{buildroot}%{_bindir}/kvrocks2redis
|
||||
|
||||
install -pDm640 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
|
||||
install -pDm644 utils/systemd/%{name}.service %{buildroot}%{_unitdir}/%{name}.service
|
||||
|
||||
%files
|
||||
%{_bindir}/%{name}
|
||||
%{_bindir}/kvrocks2redis
|
||||
%attr(0750, root, root) %dir %{_sysconfdir}/%{name}
|
||||
%attr(0640, root, root) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
|
||||
%{_unitdir}/%{name}.service
|
||||
%license LICENSE
|
||||
%license NOTICE
|
||||
%license licenses/LICENSE-*
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("apache/kvrocks"));
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: neovide
|
||||
Version: 0.13.1
|
||||
Version: 0.13.3
|
||||
Release: 1%?dist
|
||||
Summary: No Nonsense Neovim Client in Rust
|
||||
License: MIT
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
if filters.contains("nightly") {
|
||||
rpm.global("commit", gh_commit("zed-industries/zed"));
|
||||
rpm.global("commit_date", date());
|
||||
if rpm.changed() {
|
||||
let v = find("(\\d+\\.\\d+\\d+\\.\\d+)", find("\nversion = \"(\\d+\\.\\d+\\d+\\.\\d+)\"\n", gh_rawfile("zed-industries/zed", "main", "crates/zed/Cargo.toml"), 1), 1);
|
||||
let v = find("\nversion = \"([.\\d]+)\"\n", gh_rawfile("zed-industries/zed", "main", "crates/zed/Cargo.toml"), 1);
|
||||
rpm.global("ver", v);
|
||||
rpm.global("commit_date", date());
|
||||
rpm.release();
|
||||
|
||||
@@ -54,6 +54,8 @@ export APP_ID="%app_id"
|
||||
export APP_ICON="%app_id"
|
||||
export APP_NAME="Zed Nightly"
|
||||
export APP_CLI="zed"
|
||||
export APP="%{_libexecdir}/zed-editor"
|
||||
export APP_ARGS="%U"
|
||||
export ZED_UPDATE_EXPLANATION="Run dnf up to update Zed Nightly from Terra."
|
||||
export ZED_RELEASE_CHANNEL=nightly
|
||||
export BRANDING_LIGHT="#e9aa6a"
|
||||
|
||||
@@ -5,6 +5,10 @@ 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);
|
||||
terminate();
|
||||
break;
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%bcond_without check
|
||||
%global debug_package %{nil}
|
||||
%global ver 0.142.1
|
||||
%global ver 0.145.1
|
||||
|
||||
%global crate zed
|
||||
%global app_id dev.zed.Zed-Preview
|
||||
@@ -27,7 +27,7 @@ BuildRequires: alsa-lib-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: wayland-devel
|
||||
BuildRequires: libxkbcommon-x11-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: openssl-devel-engine
|
||||
BuildRequires: libzstd-devel
|
||||
BuildRequires: perl-FindBin
|
||||
BuildRequires: perl-IPC-Cmd
|
||||
@@ -48,6 +48,8 @@ export APP_ID="%app_id"
|
||||
export APP_ICON="%app_id"
|
||||
export APP_NAME="Zed Preview"
|
||||
export APP_CLI="zed"
|
||||
export APP="%{_libexecdir}/zed-editor"
|
||||
export APP_ARGS="%U"
|
||||
export ZED_UPDATE_EXPLANATION="Run dnf up to update Zed Preview from Terra."
|
||||
export ZED_RELEASE_CHANNEL=preview
|
||||
export BRANDING_LIGHT="#99c1f1"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "zed.spec"
|
||||
}
|
||||
labels {
|
||||
large = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("zed-industries/zed"));
|
||||
Binary file not shown.
@@ -0,0 +1,95 @@
|
||||
%bcond_without check
|
||||
|
||||
# Exclude input files from mangling
|
||||
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
|
||||
|
||||
%global crate zed
|
||||
%global app_id dev.zed.Zed
|
||||
|
||||
Name: zed
|
||||
Version: 0.144.4
|
||||
Release: 1%?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%{version}.tar.gz
|
||||
|
||||
Conflicts: zed
|
||||
Provides: zed
|
||||
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: gcc
|
||||
BuildRequires: g++
|
||||
BuildRequires: clang
|
||||
BuildRequires: mold
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: wayland-devel
|
||||
BuildRequires: libxkbcommon-x11-devel
|
||||
BuildRequires: openssl-devel-engine
|
||||
BuildRequires: libzstd-devel
|
||||
BuildRequires: perl-FindBin
|
||||
BuildRequires: perl-IPC-Cmd
|
||||
BuildRequires: perl-File-Compare
|
||||
BuildRequires: perl-File-Copy
|
||||
BuildRequires: perl-lib
|
||||
BuildRequires: vulkan-loader
|
||||
BuildRequires: libcurl-devel
|
||||
|
||||
%description
|
||||
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}-%{version} -p1
|
||||
%cargo_prep_online
|
||||
|
||||
export DO_STARTUP_NOTIFY="true"
|
||||
export APP_ID="%app_id"
|
||||
export APP_ICON="%app_id"
|
||||
export APP_NAME="Zed Editor"
|
||||
export APP_CLI="zed"
|
||||
export APP="%{_libexecdir}/zed-editor"
|
||||
export APP_ARGS="%U"
|
||||
export ZED_UPDATE_EXPLANATION="Run dnf up to update Zed from Terra."
|
||||
export ZED_RELEASE_CHANNEL=stable
|
||||
export BRANDING_LIGHT="#e9aa6a"
|
||||
export BRANDING_DARK="#1a5fb4"
|
||||
|
||||
echo "StartupWMClass=$APP_ID" >> crates/zed/resources/zed.desktop.in
|
||||
envsubst < "crates/zed/resources/zed.desktop.in" > $APP_ID.desktop # from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zed-git#n52
|
||||
|
||||
envsubst < "crates/zed/resources/flatpak/zed.metainfo.xml.in" > $APP_ID.metainfo.xml
|
||||
|
||||
%build
|
||||
export ZED_UPDATE_EXPLANATION="Run dnf up to update Zed from Terra."
|
||||
echo "stable" > crates/zed/RELEASE_CHANNEL
|
||||
|
||||
%cargo_build -- --package zed --package cli
|
||||
script/generate-licenses
|
||||
|
||||
%install
|
||||
install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor
|
||||
install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed
|
||||
|
||||
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
|
||||
|
||||
install -Dm644 %app_id.metainfo.xml %{buildroot}%{_metainfodir}/%app_id.metainfo.xml
|
||||
|
||||
%if %{with check}
|
||||
%check
|
||||
%cargo_test
|
||||
%endif
|
||||
|
||||
%files
|
||||
%{_libexecdir}/zed-editor
|
||||
%{_bindir}/zed
|
||||
%{_datadir}/applications/%app_id.desktop
|
||||
%{_datadir}/pixmaps/%app_id.png
|
||||
%{_metainfodir}/%app_id.metainfo.xml
|
||||
%license assets/licenses.md
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
# https://github.com/containerd/containerd
|
||||
%global goipath github.com/containerd/containerd
|
||||
Version: 1.7.19
|
||||
Version: 1.7.20
|
||||
|
||||
%gometa
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: moby-buildx
|
||||
Version: 0.15.1
|
||||
Version: 0.16.1
|
||||
Release: 1%?dist
|
||||
Summary: Docker CLI plugin for extended build capabilities with BuildKit
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: moby-compose
|
||||
Version: 2.28.1
|
||||
Version: 2.29.0
|
||||
Release: 1%?dist
|
||||
Summary: Define and run multi-container applications with Docker
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "gamescope-session-steam.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
%define debug_package %nil
|
||||
|
||||
%global commit 015e09825d4f9a2dfdbc20fc2711e2dcee2af68a
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240719
|
||||
|
||||
Name: gamescope-session-steam
|
||||
Version: %commit_date.%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: gamescope-session-steam
|
||||
License: MIT
|
||||
URL: https://github.com/ChimeraOS/gamescope-session-steam
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup -n %name-%commit
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
mkdir -p %buildroot
|
||||
cp -r usr %buildroot/
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%_bindir/steamos-polkit-helpers/
|
||||
%_bindir/jupiter-biosupdate
|
||||
%_bindir/steam-http-loader
|
||||
%_bindir/steamos-select-branch
|
||||
%_bindir/steamos-session-select
|
||||
%_bindir/steamos-update
|
||||
%_datadir/applications/gamescope-mimeapps.list
|
||||
%_datadir/applications/steam_http_loader.desktop
|
||||
%_datadir/gamescope-session-plus/sessions.d/steam
|
||||
%_datadir/polkit-1/actions/org.chimeraos.update.policy
|
||||
%_datadir/wayland-sessions/gamescope-session-steam.desktop
|
||||
%_datadir/wayland-sessions/gamescope-session.desktop
|
||||
@@ -0,0 +1,7 @@
|
||||
if filters.contains("nightly") {
|
||||
rpm.global("commit", gh_commit("ChimeraOS/gamescope-session-steam"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "gamescope-session.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
%define debug_package %nil
|
||||
|
||||
%global commit 4aa204e6ef332457d277488ffa61959f2dcde470
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20240719
|
||||
|
||||
Name: gamescope-session
|
||||
Version: %commit_date.%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: ChimeraOS session on Gamescope
|
||||
License: MIT
|
||||
URL: https://github.com/ChimeraOS/gamescope-session
|
||||
Source0: %url/archive/%commit.tar.gz
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
||||
%description
|
||||
Gamescope session plus based on Valve's gamescope.
|
||||
|
||||
%prep
|
||||
%autosetup -n gamescope-session-%commit
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
mkdir -p %buildroot
|
||||
cp -r usr %buildroot/
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%_bindir/export-gpu
|
||||
%_bindir/gamescope-session-plus
|
||||
%_userunitdir/gamescope-session-plus@.service
|
||||
%_datadir/gamescope-session-plus/device-quirks
|
||||
%_datadir/gamescope-session-plus/gamescope-session-plus
|
||||
@@ -0,0 +1,7 @@
|
||||
if filters.contains("nightly") {
|
||||
rpm.global("commit", gh_commit("ChimeraOS/gamescope-session"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "terra-gamescope.spec"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
@@ -0,0 +1,51 @@
|
||||
diff --git a/src/main.cpp b/src/main.cpp
|
||||
index 119e043..6c46d97 100644
|
||||
--- a/src/main.cpp
|
||||
+++ b/src/main.cpp
|
||||
@@ -148,6 +148,8 @@ const struct option *gamescope_options = (struct option[]){
|
||||
{ "reshade-effect", required_argument, nullptr, 0 },
|
||||
{ "reshade-technique-idx", required_argument, nullptr, 0 },
|
||||
|
||||
+ { "disable-touch-click", no_argument, nullptr, 0 },
|
||||
+
|
||||
// Steam Deck options
|
||||
{ "mura-map", required_argument, nullptr, 0 },
|
||||
|
||||
@@ -193,6 +195,7 @@ const char usage[] =
|
||||
" -e, --steam enable Steam integration\n"
|
||||
" --bypass-steam-resolution bypass Steam's default 720p/800p default resolution\n"
|
||||
" --touch-gestures enable touch gestures for Steam menus\n"
|
||||
+ " --disable-touch-click disable touchscreen tap acting as a click\n"
|
||||
" --xwayland-count create N xwayland servers\n"
|
||||
" --prefer-vk-device prefer Vulkan device for compositing (ex: 1002:7300)\n"
|
||||
" --force-orientation rotate the internal display (left, right, normal, upsidedown)\n"
|
||||
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
|
||||
index 92bf617..d7498e5 100644
|
||||
--- a/src/steamcompmgr.cpp
|
||||
+++ b/src/steamcompmgr.cpp
|
||||
@@ -347,6 +347,7 @@ bool g_bHDRItmEnable = false;
|
||||
int g_nCurrentRefreshRate_CachedValue = 0;
|
||||
gamescope::ConVar<bool> cv_bypass_steam_resolution{ "bypass_steam_resolution", false, "Workaround the 720p/800p limits Steam uses for games" };
|
||||
|
||||
+gamescope::ConVar<bool> cv_disable_touch_click{ "disable_touch_click", false, "Prevents touchscreen taps acting as clicks" };
|
||||
|
||||
static void
|
||||
update_color_mgmt()
|
||||
@@ -5128,7 +5129,7 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
|
||||
MakeFocusDirty();
|
||||
}
|
||||
}
|
||||
- if (ev->atom == ctx->atoms.steamTouchClickModeAtom )
|
||||
+ if (ev->atom == ctx->atoms.steamTouchClickModeAtom && !cv_disable_touch_click)
|
||||
{
|
||||
gamescope::cv_touch_click_mode = (gamescope::TouchClickMode) get_prop(ctx, ctx->root, ctx->atoms.steamTouchClickModeAtom, 0u );
|
||||
}
|
||||
@@ -7301,6 +7302,8 @@ steamcompmgr_main(int argc, char **argv)
|
||||
g_reshade_technique_idx = atoi(optarg);
|
||||
} else if (strcmp(opt_name, "mura-map") == 0) {
|
||||
set_mura_overlay(optarg);
|
||||
+ } else if (strcmp(opt_name, "disable-touch-click") == 0) {
|
||||
+ cv_disable_touch_click = true;
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
@@ -0,0 +1,63 @@
|
||||
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,65 @@
|
||||
diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp
|
||||
index d7498e5..d1800a8 100644
|
||||
--- a/src/steamcompmgr.cpp
|
||||
+++ b/src/steamcompmgr.cpp
|
||||
@@ -3271,7 +3271,7 @@ found:;
|
||||
if ( window_has_commits( focus ) )
|
||||
out->focusWindow = focus;
|
||||
else
|
||||
- focus->outdatedInteractiveFocus = true;
|
||||
+ out->outdatedInteractiveFocus = true;
|
||||
|
||||
// Always update X's idea of focus, but still dirty
|
||||
// the it being outdated so we can resolve that globally later.
|
||||
@@ -5995,28 +5995,37 @@ bool handle_done_commit( steamcompmgr_win_t *w, xwayland_ctx_t *ctx, uint64_t co
|
||||
// Window just got a new available commit, determine if that's worth a repaint
|
||||
|
||||
// If this is an overlay that we're presenting, repaint
|
||||
- if ( w == global_focus.overlayWindow && w->opacity != TRANSLUCENT )
|
||||
+ if ( gameFocused )
|
||||
{
|
||||
- hasRepaintNonBasePlane = true;
|
||||
- }
|
||||
+ if ( w == global_focus.overlayWindow && w->opacity != TRANSLUCENT )
|
||||
+ {
|
||||
+ hasRepaintNonBasePlane = true;
|
||||
+ }
|
||||
|
||||
- if ( w == global_focus.notificationWindow && w->opacity != TRANSLUCENT )
|
||||
- {
|
||||
- hasRepaintNonBasePlane = true;
|
||||
+ if ( w == global_focus.notificationWindow && w->opacity != TRANSLUCENT )
|
||||
+ {
|
||||
+ hasRepaintNonBasePlane = true;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
- // If this is an external overlay, repaint
|
||||
- if ( w == global_focus.externalOverlayWindow && w->opacity != TRANSLUCENT )
|
||||
+ if ( ctx )
|
||||
{
|
||||
- hasRepaintNonBasePlane = true;
|
||||
+ if ( ctx->focus.outdatedInteractiveFocus )
|
||||
+ {
|
||||
+ MakeFocusDirty();
|
||||
+ ctx->focus.outdatedInteractiveFocus = false;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
- if ( w->outdatedInteractiveFocus )
|
||||
+ if ( global_focus.outdatedInteractiveFocus )
|
||||
{
|
||||
MakeFocusDirty();
|
||||
- w->outdatedInteractiveFocus = false;
|
||||
- }
|
||||
+ global_focus.outdatedInteractiveFocus = false;
|
||||
|
||||
+ // If this is an external overlay, repaint
|
||||
+ if ( w == global_focus.externalOverlayWindow && w->opacity != TRANSLUCENT )
|
||||
+ {
|
||||
+ hasRepaintNonBasePlane = true;
|
||||
+ }
|
||||
+ }
|
||||
// If this is the main plane, repaint
|
||||
if ( w == global_focus.focusWindow && !w->isSteamStreamingClient )
|
||||
{
|
||||
@@ -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}
|
||||
@@ -0,0 +1,137 @@
|
||||
%global libliftoff_minver 0.4.1
|
||||
|
||||
%global _default_patch_fuzz 2
|
||||
%global gamescope_tag 3.14.24
|
||||
|
||||
Name: terra-gamescope
|
||||
Version: 100.%{gamescope_tag}
|
||||
Release: 1%?dist
|
||||
Summary: Micro-compositor for video games on Wayland
|
||||
|
||||
License: BSD
|
||||
URL: https://github.com/ValveSoftware/gamescope
|
||||
|
||||
# Create stb.pc to satisfy dependency('stb')
|
||||
Source0: stb.pc
|
||||
|
||||
# https://github.com/ChimeraOS/gamescope
|
||||
Patch0: 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
|
||||
|
||||
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: libeis-devel
|
||||
BuildRequires: pixman-devel
|
||||
BuildRequires: pkgconfig(libdisplay-info)
|
||||
BuildRequires: pkgconfig(pixman-1)
|
||||
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.18.0 with pkgconfig(wlroots) < 0.19.0)
|
||||
#BuildRequires: (pkgconfig(libliftoff) >= 0.4.1 with pkgconfig(libliftoff) < 0.5)
|
||||
BuildRequires: pkgconfig(libliftoff)
|
||||
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: 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: /usr/bin/glslangValidator
|
||||
BuildRequires: libdecor-devel
|
||||
BuildRequires: libXdamage-devel
|
||||
BuildRequires: xorg-x11-server-Xwayland-devel
|
||||
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: gamescope-libs = %{version}-%{release}
|
||||
Requires: gamescope-libs(x86-32) = %{version}-%{release}
|
||||
Recommends: mesa-dri-drivers
|
||||
Recommends: mesa-vulkan-drivers
|
||||
|
||||
%description
|
||||
Gamescope is the micro-compositor optimized for running video games on Wayland.
|
||||
|
||||
%package libs
|
||||
Summary: libs for Gamescope
|
||||
%description libs
|
||||
%summary
|
||||
|
||||
%prep
|
||||
git clone --depth 1 --branch %{gamescope_tag} %{url}.git
|
||||
cd gamescope
|
||||
git submodule update --init --recursive
|
||||
mkdir -p pkgconfig
|
||||
cp %{SOURCE0} 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
|
||||
|
||||
%autopatch -p1
|
||||
|
||||
%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
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
cd gamescope
|
||||
%meson_install --skip-subprojects
|
||||
|
||||
%files
|
||||
%license gamescope/LICENSE
|
||||
%doc gamescope/README.md
|
||||
%caps(cap_sys_nice=eip) %{_bindir}/gamescope
|
||||
%{_bindir}/gamescopectl
|
||||
%{_bindir}/gamescopestream
|
||||
%{_bindir}/gamescopereaper
|
||||
|
||||
%files libs
|
||||
%{_libdir}/libVkLayer_FROG_gamescope_wsi_*.so
|
||||
%{_datadir}/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.*.json
|
||||
@@ -0,0 +1 @@
|
||||
rpm.global("gamescope_tag", gh_tag("ValveSoftware/gamescope"));
|
||||
@@ -1,9 +1,9 @@
|
||||
%define osuresver 2024.705.0
|
||||
%define osuresver 2024.713.0
|
||||
%global debug_package %{nil}
|
||||
%define __strip /bin/true
|
||||
|
||||
Name: osu-lazer
|
||||
Version: 2024.625.2
|
||||
Version: 2024.718.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 5973c1c45e8afef8ca19da80ef216b3cac89df4d
|
||||
%global commit 0041d2a126ae6f35ce1ca2bb5c793ec5853c4343
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f
|
||||
|
||||
%global commit_date 20240706
|
||||
%global commit_date 20240720
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
|
||||
%bcond_without qt6
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: crystal
|
||||
Version: 1.12.2
|
||||
Version: 1.13.1
|
||||
Release: 1%?dist
|
||||
Summary: The Crystal Programming Language
|
||||
License: Apache-2.0
|
||||
|
||||
@@ -1,2 +1,9 @@
|
||||
let html = get("https://crystal-lang.org/");
|
||||
rpm.version(find("Latest release: <strong>(.+?)</strong>", html, 1))
|
||||
let v = gh("crystal-lang/crystal");
|
||||
let url = `crystal-${v}-1-linux-x86_64-bundled.tar.gz`;
|
||||
|
||||
if get(`https://github.com/crystal-lang/crystal/releases/expanded_assets/${v}`).contains(url) {
|
||||
rpm.version(v);
|
||||
} else {
|
||||
print(`crystal: ${v} (waiting for bundle)`);
|
||||
terminate();
|
||||
}
|
||||
|
||||
@@ -2,4 +2,7 @@ project pkg {
|
||||
rpm {
|
||||
spec = "albius.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,7 @@
|
||||
rpm.version(gh("Vanilla-OS/Albius"));
|
||||
if filters.contains("nightly") {
|
||||
rpm.global("commit", gh_commit("Vanilla-OS/Albius"));
|
||||
if rpm.changed() {
|
||||
rpm.global("commit_date", date());
|
||||
rpm.release();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Name: kotlin-native
|
||||
Version: 2.0.0
|
||||
Version: 1.9.25
|
||||
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-prebuilt-linux-x86_64-%version.tar.gz
|
||||
Source0: https://github.com/JetBrains/kotlin/releases/download/v%version/kotlin-native-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-prebuilt-linux-x86_64-%{version}
|
||||
tar -xf %{SOURCE0} && cd kotlin-native-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-prebuilt-linux-x86_64-%{version}
|
||||
rm -rf %{buildroot} && mkdir -p %{buildroot}%{_bindir}/ && cd kotlin-native-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: 2.0.0
|
||||
Version: 1.9.25
|
||||
Release: 1%?dist
|
||||
Summary: Statically typed programming language
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10
|
||||
%global commit 05df263b84de9008266b3d53e2c28b009890ca61
|
||||
%global commit 97f54745459b8651b7a38c174b3a8135224ebd09
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver 2.1.1
|
||||
%global commit_date 20240704
|
||||
%global ver 2.1.9
|
||||
%global commit_date 20240720
|
||||
%global debug_package %nil
|
||||
|
||||
Name: nim-nightly
|
||||
|
||||
+46
-30
@@ -7,12 +7,12 @@ Release: 1%?dist
|
||||
Summary: Imperative, multi-paradigm, compiled programming language
|
||||
License: MIT and BSD
|
||||
URL: https://nim-lang.org
|
||||
Source0: https://nim-lang.org/download/nim-%{version}-linux_x64.tar.xz
|
||||
Source1: nim.1
|
||||
Source2: nimgrep.1
|
||||
Source3: nimble.1
|
||||
Source4: nimsuggest.1
|
||||
BuildRequires: gcc mold git gcc-c++ nodejs openssl-devel pkgconfig(bash-completion) gc-devel pcre-devel
|
||||
BuildRequires: gcc mold git-core gcc-c++ nodejs openssl-devel pkgconfig(bash-completion) gc-devel pcre-devel
|
||||
BuildRequires: redhat-rpm-config
|
||||
Requires: gcc
|
||||
|
||||
|
||||
@@ -46,7 +46,11 @@ and its standard library.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n nim-%{version}
|
||||
rm -rf ./*
|
||||
# using git clone to include submodules
|
||||
git clone --recurse-submodules -j8 https://github.com/nim-lang/Nim -b v%version --depth 1 .
|
||||
# hack
|
||||
cp /usr/bin/mold /usr/bin/ld
|
||||
|
||||
|
||||
%build
|
||||
@@ -57,15 +61,18 @@ export FCFLAGS="${FCFLAGS} -Ofast"
|
||||
|
||||
export PATH="$(pwd):$(pwd)/bin:${PATH}"
|
||||
|
||||
mold -run nim c -d:danger koch.nim
|
||||
mold -run koch boot -d:useLinenoise -t:-fPIE -l:-pie -d:release -d:nativeStacktrace -d:useGnuReadline
|
||||
. ci/funs.sh
|
||||
nimBuildCsourcesIfNeeded CFLAGS="${CFLAGS} -Ic_code -w -O3 -fno-strict-aliasing -fPIE" LDFLAGS="-ldl -lm -lrt -pie"
|
||||
|
||||
nim c --noNimblePath --skipUserCfg --skipParentCfg --hints:off -d:danger koch.nim
|
||||
koch boot -d:release -d:nimStrictMode --lib:lib
|
||||
|
||||
%ifarch x86_64
|
||||
mold -run koch docs &
|
||||
koch docs &
|
||||
%endif
|
||||
(cd lib && nim c --app:lib -d:createNimRtl -d:release nimrtl.nim) &
|
||||
mold -run koch tools -t:-fPIE -l:-pie &
|
||||
mold -run nim c -t:-fPIE -l:-pie -d:release nimsuggest/nimsuggest.nim &
|
||||
koch tools -t:-fPIE -l:-pie &
|
||||
nim c -d:danger -t:-fPIE -l:-pie nimsuggest/nimsuggest.nim &
|
||||
wait
|
||||
|
||||
%ifarch x86_64
|
||||
@@ -75,24 +82,24 @@ sed -i '/<link.*fonts.googleapis.com/d' doc/html/*.html
|
||||
|
||||
%install
|
||||
export PATH="$(pwd):$(pwd)/bin:${PATH}"
|
||||
sh install.sh %{buildroot}usr/bin
|
||||
|
||||
mkdir -p %buildroot{%_bindir,%_prefix/lib/nim}
|
||||
install -Dp -m755 bin/nim{,ble,grep,suggest,pretty} %buildroot/%_bindir
|
||||
install -Dp -m644 dist/nimble/nimble.bash-completion %{buildroot}%{bashcompdir}/nimble
|
||||
install -Dp -m644 -t%{buildroot}%{_mandir}/man1 %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4
|
||||
# completions
|
||||
for comp in tools/*.bash-completion; do
|
||||
install -Dm644 $comp %bashcompdir/$(basename "${comp/.bash-completion}")
|
||||
done
|
||||
for comp in tools/*.zsh-completion; do
|
||||
install -Dm644 $comp %zshcompdir/_$(basename "${comp/.zsh-completion}")
|
||||
done
|
||||
# --main:compiler/nim.nim
|
||||
bin/nim cc -d:nimCallDepthLimit=10000 -r tools/niminst/niminst --var:version=%ver --var:mingw=none scripts compiler/installer.ini
|
||||
|
||||
sh ./install.sh %buildroot/usr/bin
|
||||
|
||||
mkdir -p %buildroot/%_bindir %buildroot/%_datadir/bash-completion/completions %buildroot/usr/lib/nim %buildroot%_datadir
|
||||
install -Dpm755 bin/nim{grep,suggest,pretty} %buildroot/%_bindir
|
||||
install -Dpm644 tools/nim.bash-completion %buildroot/%_datadir/bash-completion/completions/nim
|
||||
install -Dpm644 dist/nimble/nimble.bash-completion %buildroot/%_datadir/bash-completion/completions/nimble
|
||||
install -Dpm644 -t%buildroot/%_mandir/man1 %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4
|
||||
mv %buildroot%_bindir/nim %buildroot%_datadir/
|
||||
ln -s %_datadir/nim/bin/nim %buildroot%_bindir/nim
|
||||
|
||||
%ifarch x86_64
|
||||
mkdir -p %buildroot%_docdir/%name/html
|
||||
cp -a doc/html/*.html %buildroot%_docdir/%name/html/
|
||||
cp tools/dochack/dochack.js %{buildroot}%{_docdir}/%{name}/
|
||||
mkdir -p %buildroot/%_docdir/%name/html || true
|
||||
cp -a doc/html/*.html %buildroot/%_docdir/%name/html/ || true
|
||||
cp tools/dochack/dochack.js %buildroot/%_docdir/%name/ || true
|
||||
ln -s %_datadir/nim/doc %buildroot%_prefix/lib/nim/doc
|
||||
%endif
|
||||
|
||||
@@ -109,32 +116,41 @@ ln -s %_prefix/lib/nim %buildroot%_prefix/lib/nim/lib # compiler needs lib from
|
||||
ln -s %_prefix/lib/nim/system.nim %_prefix/lib/system.nim # nimsuggest bug
|
||||
rm -rf %buildroot/nim || true
|
||||
rm %buildroot%_bindir/*.bat || true
|
||||
rm -rf %buildroot%_bindir/empty.txt
|
||||
|
||||
|
||||
%files
|
||||
%license copying.txt dist/nimble/license.txt
|
||||
%doc doc/readme.txt
|
||||
/etc/nim/
|
||||
%_sysconfdir/nim/
|
||||
%_bindir/atlas
|
||||
%_bindir/nim_dbg
|
||||
%_bindir/nim-gdb
|
||||
%_bindir/testament
|
||||
%_bindir/nim
|
||||
%_bindir/nimble
|
||||
%_bindir/nim_csources_*
|
||||
%_mandir/man1/nim.1*
|
||||
%_mandir/man1/nimble.1*
|
||||
%_prefix/lib/nim/
|
||||
%_prefix/lib/libnimrtl.so
|
||||
%{_bindir}/nim{,ble}
|
||||
%{_mandir}/man1/nim{,ble}.1*
|
||||
%_includedir/cycle.h
|
||||
%_includedir/nimbase.h
|
||||
%_datadir/nim
|
||||
%bash_completions_dir/nim
|
||||
%bash_completions_dir/nimble
|
||||
|
||||
%files tools
|
||||
%license copying.txt
|
||||
%_prefix/lib/nim/
|
||||
%{_bindir}/nim{grep,suggest,pretty}
|
||||
%{_mandir}/man1/nim{grep,suggest}.1*
|
||||
%_bindir/nimgrep
|
||||
%_bindir/nimsuggest
|
||||
%_bindir/nimpretty
|
||||
%_mandir/man1/nimgrep.1*
|
||||
%_mandir/man1/nimsuggest.1*
|
||||
|
||||
%ifarch x86_64
|
||||
%files doc
|
||||
%doc %{_docdir}/nim
|
||||
%doc %_docdir/nim
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "python3-pillow-heif.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
%global py3_incdir %(RPM_BUILD_ROOT= %{python3} -Ic 'import sysconfig; print(sysconfig.get_path("include"))')
|
||||
|
||||
%global srcname pillow-heif
|
||||
|
||||
# Dependencies are missing to build the documentation
|
||||
%bcond_with doc
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 0.17.0
|
||||
Release: 0%{?dist}
|
||||
Summary: Python library for working with HEIF images and plugin for Pillow
|
||||
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/bigcat88/pillow_heif
|
||||
Source0: https://github.com/bigcat88/pillow_heif/archive/refs/tags/v%{version}/pillow-heif-%{version}.tar.gz
|
||||
Source1: test.py
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: python%{python3_pkgversion}-pytest
|
||||
BuildRequires: python%{python3_pkgversion}
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
BuildRequires: python%{python3_pkgversion}-pillow-devel
|
||||
BuildRequires: libheif-devel
|
||||
%if %{with doc}
|
||||
BuildRequires: make
|
||||
BuildRequires: python%{python3_pkgversion}-sphinx
|
||||
BuildRequires: python%{python3_pkgversion}-sphinx-copybutton
|
||||
BuildRequires: python%{python3_pkgversion}-sphinx-issues
|
||||
BuildRequires: python%{python3_pkgversion}-sphinx_rtd_theme
|
||||
%endif
|
||||
|
||||
%description
|
||||
Python library for working with HEIF images and plugin for Pillow
|
||||
|
||||
There are two subpackages: devel (development) and doc (documentation).
|
||||
|
||||
%package -n python%{python3_pkgversion}-%{srcname}
|
||||
Summary: Python library for working with HEIF images and plugin for Pillow
|
||||
Requires: python%{python3_pkgversion}-pillow
|
||||
Requires: libheif
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{srcname}
|
||||
Python library for working with HEIF images and plugin for Pillow
|
||||
|
||||
There are two subpackages: devel (development) and doc (documentation).
|
||||
|
||||
%package -n python%{python3_pkgversion}-%{srcname}-devel
|
||||
Summary: Development files for %{srcname}
|
||||
Requires: python%{python3_pkgversion}-devel, libheif-devel
|
||||
Requires: python%{python3_pkgversion}-%{srcname}%{?_isa} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}-devel}
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{srcname}-devel
|
||||
Development files for %{srcname}.
|
||||
|
||||
|
||||
%package -n python%{python3_pkgversion}-%{srcname}-doc
|
||||
Summary: Documentation for %{srcname}
|
||||
BuildArch: noarch
|
||||
Requires: python%{python3_pkgversion}-%{srcname} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}-doc}
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{srcname}-doc
|
||||
Documentation for %{srcname}.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n pillow_heif-%{version}
|
||||
|
||||
|
||||
%build
|
||||
# Native build
|
||||
%py3_build
|
||||
|
||||
# Doc build
|
||||
%if %{with doc}
|
||||
PYTHONPATH=$(echo $PWD/build/lib.linux-*) make -C docs html BUILDDIR=_build_py3 SPHINXBUILD=sphinx-build-%python3_version
|
||||
rm -f docs/_build_py3/html/.buildinfo
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
# Native build
|
||||
%py3_install
|
||||
|
||||
%check
|
||||
# Check Python 3 modules
|
||||
cp %{SOURCE1} $(echo $PWD/build/lib.linux-*)/
|
||||
pushd build/lib.linux-*
|
||||
PYTHONPATH=$PWD %{__python3} test.py
|
||||
pytest pillow_heif && echo "Test done"
|
||||
popd
|
||||
|
||||
%files -n python%{python3_pkgversion}-%{srcname}
|
||||
%doc README.md CHANGELOG.md
|
||||
%license LICENSE.txt
|
||||
%{python3_sitearch}/pillow_heif/
|
||||
%{python3_sitearch}/pillow_heif-%{version}-py%{python3_version}.egg-info/
|
||||
%{python3_sitearch}/_pillow_heif.*.so
|
||||
|
||||
%files -n python%{python3_pkgversion}-%{srcname}-devel
|
||||
|
||||
%if %{with doc}
|
||||
%files -n python%{python3_pkgversion}-%{srcname}-doc
|
||||
%doc docs/_build_py3/html
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Jul 10 2024 Trung Lê <8@tle.id.au> - 0.17.0-0
|
||||
- New upstream release
|
||||
|
||||
* Thu Jun 27 2024 Trung Lê <8@tle.id.au> - 0.16.0-1
|
||||
- Initial RPM package
|
||||
@@ -0,0 +1,2 @@
|
||||
import pillow_heif;
|
||||
print(pillow_heif.libheif_info());
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(pypi("pillow-heif"));
|
||||
@@ -1,12 +1,12 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: python3-ruff
|
||||
Version: 0.5.1
|
||||
Version: 0.5.3
|
||||
Release: 1%?dist
|
||||
Summary: An extremely fast Python linter, written in Rust
|
||||
License: MIT
|
||||
URL: https://beta.ruff.rs/
|
||||
Source0: https://github.com/astral-sh/ruff/archive/refs/tags/v%{version}.tar.gz
|
||||
Source0: https://github.com/astral-sh/ruff/archive/refs/tags/%{version}.tar.gz
|
||||
BuildRequires: python3-installer python3-pip maturin cargo
|
||||
Provides: python3.11dist(ruff) = %{version}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%global crate maturin
|
||||
|
||||
Name: rust-terra-maturin
|
||||
Version: 1.6.0
|
||||
Version: 1.7.0
|
||||
Release: 1%?dist
|
||||
Summary: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages
|
||||
|
||||
|
||||
@@ -4,19 +4,20 @@ Release: 1%?dist
|
||||
Summary: A new type of shell
|
||||
License: MIT
|
||||
URL: https://www.nushell.sh/
|
||||
Source0: https://github.com/nushell/nushell/archive/refs/tags/%version.tar.gz
|
||||
BuildRequires: anda-srpm-macros rust-packaging openssl-devel
|
||||
BuildRequires: anda-srpm-macros rust-packaging git-core
|
||||
BuildRequires: openssl-devel-engine
|
||||
Requires: glibc openssl zlib
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
rm -rf ./*
|
||||
git clone https://github.com/nushell/nushell -b %version --depth 1 .
|
||||
%cargo_prep_online
|
||||
|
||||
%build
|
||||
%{cargo_build -f extra} --workspace
|
||||
%{cargo_build} --workspace
|
||||
|
||||
%install
|
||||
mkdir -p %buildroot%_bindir
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
--- oxipng-9.0.0/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||
+++ oxipng-9.0.0/Cargo.toml 2023-10-30T06:36:01.294365+00:00
|
||||
@@ -116,7 +116,6 @@
|
||||
--- oxipng-9.1.2/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||
+++ oxipng-9.1.2/Cargo.toml 2024-07-13T07:08:09.478330+00:00
|
||||
@@ -150,7 +150,6 @@
|
||||
[features]
|
||||
binary = [
|
||||
"clap",
|
||||
- "glob",
|
||||
"env_logger",
|
||||
"dep:clap",
|
||||
- "dep:glob",
|
||||
"dep:env_logger",
|
||||
]
|
||||
default = [
|
||||
@@ -133,13 +132,10 @@
|
||||
]
|
||||
sanity-checks = ["image"]
|
||||
@@ -169,13 +168,10 @@
|
||||
sanity-checks = ["dep:image"]
|
||||
zopfli = ["dep:zopfli"]
|
||||
|
||||
-[target."cfg(windows)".dependencies.glob]
|
||||
-version = "0.3.1"
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
# Generated by rust2rpm 25
|
||||
# Generated by rust2rpm 26
|
||||
%bcond_without check
|
||||
# don't mangle shebangs
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
%global crate oxipng
|
||||
|
||||
Name: rust-oxipng
|
||||
Version: 9.1.1
|
||||
Release: 1%?dist
|
||||
Version: 9.1.2
|
||||
Release: %autorelease
|
||||
Summary: Lossless PNG compression optimizer
|
||||
|
||||
License: MIT
|
||||
@@ -77,42 +79,6 @@ use the "binary" feature of the "%{crate}" crate.
|
||||
%files -n %{name}+binary-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+clap-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+clap-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "clap" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+clap-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+crossbeam-channel-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+crossbeam-channel-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "crossbeam-channel" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+crossbeam-channel-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+env_logger-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+env_logger-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "env_logger" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+env_logger-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+filetime-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
@@ -137,18 +103,6 @@ use the "freestanding" feature of the "%{crate}" crate.
|
||||
%files -n %{name}+freestanding-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+image-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+image-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "image" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+image-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+parallel-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
@@ -161,18 +115,6 @@ use the "parallel" feature of the "%{crate}" crate.
|
||||
%files -n %{name}+parallel-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+rayon-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n %{name}+rayon-devel %{_description}
|
||||
|
||||
This package contains library source intended for building other packages which
|
||||
use the "rayon" feature of the "%{crate}" crate.
|
||||
|
||||
%files -n %{name}+rayon-devel
|
||||
%ghost %{crate_instdir}/Cargo.toml
|
||||
|
||||
%package -n %{name}+sanity-checks-devel
|
||||
Summary: %{summary}
|
||||
BuildArch: noarch
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
%bcond_with tests
|
||||
|
||||
Name: apparmor
|
||||
Version: 4.0.0~alpha3
|
||||
Version: 4.0.1
|
||||
Release: 2%{?dist}
|
||||
Summary: AppArmor userspace components
|
||||
|
||||
@@ -11,8 +11,8 @@ Summary: AppArmor userspace components
|
||||
%global normver %(echo %version | sed 's/~/-/')
|
||||
|
||||
License: GPL-2.0
|
||||
URL: https://launchpad.net/apparmor
|
||||
Source0: %{url}/%{baseversion}/%normver/+download/%{name}-%{version}.tar.gz
|
||||
URL: https://gitlab.com/apparmor/apparmor
|
||||
Source0: %url/-/archive/v%version/apparmor-v%version.tar.gz
|
||||
Source1: apparmor.preset
|
||||
Patch01: 0001-fix-avahi-daemon-authselect-denial-in-fedora.patch
|
||||
|
||||
@@ -32,6 +32,7 @@ BuildRequires: gettext
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: httpd-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: autoconf-archive
|
||||
BuildRequires: gawk
|
||||
BuildRequires: which
|
||||
%if %{with tests}
|
||||
@@ -138,7 +139,7 @@ confinement policies when running virtual hosts in the webserver by using the
|
||||
changehat abilities exposed through libapparmor.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
%autosetup -p1 -n %name-v%version
|
||||
sed -i 's/@VERSION@/%normver/g' libraries/libapparmor/swig/python/setup.py.in
|
||||
sed -i 's/${VERSION}/%normver/g' utils/Makefile
|
||||
|
||||
@@ -265,7 +266,6 @@ make -C utils check
|
||||
%doc parser/README
|
||||
%doc parser/*.[1-9].html
|
||||
%doc common/apparmor.css
|
||||
%doc parser/techdoc.pdf
|
||||
%{_sbindir}/apparmor_parser
|
||||
%{_bindir}/aa-enabled
|
||||
%{_bindir}/aa-exec
|
||||
@@ -276,8 +276,8 @@ make -C utils check
|
||||
%{_presetdir}/70-apparmor.preset
|
||||
%{_prefix}/lib/apparmor
|
||||
%dir %{_sysconfdir}/apparmor
|
||||
%config(noreplace) %{_sysconfdir}/apparmor.d/
|
||||
%config(noreplace) %{_sysconfdir}/apparmor/parser.conf
|
||||
%{_sharedstatedir}/apparmor
|
||||
%{_mandir}/man1/aa-enabled.1.gz
|
||||
%{_mandir}/man1/aa-exec.1.gz
|
||||
%{_mandir}/man1/aa-features-abi.1.gz
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
let html = get("https://launchpad.net/apparmor");
|
||||
let v = find("Latest version is ([\\d.\\w\\-]+)", html, 1);
|
||||
v.replace('-', '~');
|
||||
rpm.version(v);
|
||||
rpm.version(gitlab_tag("4484878"));
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
%global ver 1.8.12-10
|
||||
%global sanitized_ver %(echo %{ver} | sed -E 's/-/~/g')
|
||||
Summary: The Application Framework for tauOS apps
|
||||
Name: libhelium
|
||||
Version: 1.8.12
|
||||
Version: %{sanitized_ver}
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/tau-OS/libhelium
|
||||
Source0: https://github.com/tau-OS/libhelium/archive/refs/tags/%{version}.tar.gz
|
||||
Source0: https://github.com/tau-OS/libhelium/archive/refs/tags/%{ver}.tar.gz
|
||||
|
||||
BuildRequires: sass
|
||||
BuildRequires: meson
|
||||
@@ -21,6 +23,7 @@ Requires: gtk4 >= 4.4
|
||||
Requires: glib2 >= 2.66.0
|
||||
Requires: libgee >= 0.20
|
||||
Requires: tau-helium >= 1.1.25
|
||||
Requires: tau-hydrogen
|
||||
|
||||
%description
|
||||
The Application Framework for tauOS apps
|
||||
@@ -34,7 +37,7 @@ This package contains the libraries and header files that are needed
|
||||
for writing applications with libhelium.
|
||||
|
||||
%prep
|
||||
%autosetup -n libhelium-%{version}
|
||||
%autosetup -n libhelium-%{ver}
|
||||
|
||||
%build
|
||||
%meson \
|
||||
|
||||
@@ -1 +1 @@
|
||||
rpm.version(gh("tau-OS/libhelium"));
|
||||
rpm.global("ver",gh("tau-OS/libhelium"));
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user