Compare commits

..

20 Commits

Author SHA1 Message Date
madomado e926c6dd41 Update obs-studio.spec
Signed-off-by: madomado <wboy111@outlook.com>
2023-07-08 22:57:24 +08:00
madomado c8091f850a Update obs-studio.spec
Signed-off-by: madomado <wboy111@outlook.com>
2023-07-08 22:30:42 +08:00
madomado 192497390c Update obs-studio.spec
Signed-off-by: madomado <wboy111@outlook.com>
2023-07-08 22:06:54 +08:00
madomado 8fcb83275c add deps for websocket plug
Signed-off-by: madomado <wboy111@outlook.com>
2023-06-30 15:09:29 +08:00
madomado 8971a68ee9 Merge branch 'f38' into w/obs-studio-freeworld 2023-06-25 09:49:50 +08:00
madomado c76938e62d Update obs-studio.spec 2023-06-24 13:46:45 +08:00
madomado 61bfdcbf06 rm patches
Signed-off-by: madomado <wboy111@outlook.com>
2023-06-24 13:11:22 +08:00
madomado 5b33aa3bca ffmpeg-free? 2023-06-24 12:37:57 +08:00
windowsboy111 c1040c660a Merge branch 'f38' into w/obs-studio-freeworld 2023-06-22 18:54:10 +08:00
windowsboy111 ab0db08561 feat: rm kmod-v4l2loopback 2023-06-22 18:53:56 +08:00
madomado 5964ab9bdf Update obs-studio.spec
Signed-off-by: madomado <wboy111@outlook.com>
2023-06-11 22:48:56 +08:00
windowsboy111 83abd7038a fix: kmod~ 2023-05-23 20:58:24 +08:00
windowsboy111 2cfe9082a4 fix: kmod-~~
forgot name fix
2023-05-23 20:49:36 +08:00
windowsboy111 f99b4b57d4 fix: kmod~~ 2023-05-23 20:41:02 +08:00
windowsboy111 70ef28b702 fix: ~ 2023-05-23 20:24:01 +08:00
windowsboy111 126235dc70 Revert "fix: ~"
This reverts commit c699fad604.
2023-05-23 20:23:27 +08:00
windowsboy111 c699fad604 fix: ~ 2023-05-23 20:17:55 +08:00
windowsboy111 4ccf14150e fix: ~ 2023-05-23 19:45:46 +08:00
windowsboy111 2859fb526e add: obs-studio kmod-v4l2loopback 2023-05-23 19:03:56 +08:00
madomado 35c0d89a6c wip add obs-studio 2023-05-23 12:39:42 +08:00
220 changed files with 2368 additions and 2530 deletions
+67 -7
View File
@@ -6,13 +6,13 @@ on:
paths:
- anda/**
branches:
- f39
- f38
pull_request:
branches:
- f39
- f38
merge_group:
branches:
- f39
- f38
workflow_dispatch:
workflow_call:
@@ -23,7 +23,7 @@ jobs:
outputs:
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
container:
image: ghcr.io/terrapkg/builder:f39
image: ghcr.io/terrapkg/builder:f38
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Set workspace as safe
@@ -40,11 +40,11 @@ jobs:
strategy:
matrix:
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
version: ["39"]
version: ["38"]
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version}}
image: ghcr.io/terrapkg/builder:f38
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
@@ -59,7 +59,7 @@ jobs:
uses: actions/cache@v3
with:
path: /var/cache
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }}
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
- name: Include custom build template instead of package default
run: |
@@ -94,3 +94,63 @@ jobs:
- 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}}
- name: Lint RPMs and SRPMs
id: lint
if: success()
run: |
echo 'LINT_ERR=false' >> $GITHUB_ENV
rpmlint anda-build/ > rpmlint.txt || f=1
if [[ $f -eq 1 ]]; then
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "ESC_LINT_OUT<<$EOF" >> $GITHUB_ENV
cat rpmlint.txt | sed 's/`/\\`/g' >> $GITHUB_ENV
echo $EOF >> $GITHUB_ENV
echo "lint_out<<$EOF" >> $GITHUB_ENV
echo '```' >> $GITHUB_ENV
cat rpmlint.txt >> $GITHUB_ENV
echo '```' >> $GITHUB_ENV
echo $EOF >> $GITHUB_ENV
echo 'LINT_ERR=true' >> $GITHUB_ENV
fi
- name: Try to install package
id: dnf
if: success()
run: |
echo 'INSTALL_ERR=false' >> $GITHUB_ENV
touch out
for f in anda-build/rpm/rpms/*.rpm; do
dnf in --downloadonly -y $f > $f.dnfout.txt 2>&1 || fail=1
if [[ $fail -eq 1 ]]; then
echo "### $f" >> out
echo '```' >> out
cat $f.dnfout.txt >> out
echo '```' >> out
echo >> out
echo 'INSTALL_ERR=true' >> $GITHUB_ENV
fi
done
cat out
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "ESC_DNF_OUT<<$EOF" >> $GITHUB_ENV
cat out | sed 's/`/\\`/g' >> $GITHUB_ENV
echo $EOF >> $GITHUB_ENV
echo "dnf_out<<$EOF" >> $GITHUB_ENV
cat out >> $GITHUB_ENV
echo $EOF >> $GITHUB_ENV
- name: Generate RPMLint/DNF summary
if: success()
run: |
# Remind me to make all of this not weird later ~ lleyton
if [[ $LINT_ERR == "true" ]]; then
echo -e "## ❌ Lint: [${{matrix.pkg.pkg}} (${{matrix.pkg.arch}})](https://github.com/terrapkg/packages/actions/runs/${{github.run_id}})\n" >> $GITHUB_STEP_SUMMARY
echo -e "```\n${{ env.ESC_LINT_OUT }}\n```\n" >> $GITHUB_STEP_SUMMARY
fi
if [[ $INSTALL_ERR == "true" ]]; then
echo -e "## ❌ DNF: [${{matrix.pkg.pkg}} (${{matrix.pkg.arch}})](https://github.com/terrapkg/packages/actions/runs/${{github.run_id}})\n" >> $GITHUB_STEP_SUMMARY
echo "${{ env.ESC_DNF_OUT }}" >> $GITHUB_STEP_SUMMARY
fi
+29 -20
View File
@@ -7,43 +7,52 @@ jobs:
bootstrap:
strategy:
matrix:
version: ["39"]
version: ["38"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
image: fedora:38
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Install repositories
run: dnf5 install -y --setopt=install_weak_deps=False mock curl wget git-core openssl-devel cargo podman fuse-overlayfs
- uses: actions/setup-go@v3
with:
go-version: "^1.19"
- name: Install Anda
run: cargo install anda
- name: Install repositories
run: |
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://github.com/terrapkg/subatomic-repos/raw/main/terra${{ matrix.version }}.repo
sudo dnf install -y mock createrepo_c rpm-build terra-mock-configs gcc curl wget git-core openssl-devel
- uses: actions/checkout@v3
with:
ref: f${{ matrix.version }}
repository: FyraLabs/subatomic
set-safe-directory: true
fetch-depth: 1
- name: Build terra-mock-configs
run: |
echo "PATH=$PATH:/github/home/.cargo/bin" >> $GITHUB_ENV
export PATH=$PATH:/github/home/.cargo/bin
git config --global --add safe.directory "$GITHUB_WORKSPACE"
anda build -c fedora-${{ matrix.version }}-${{ matrix.arch }} anda/mock-configs/pkg -p rpm
- name: Install terra-mock-configs
run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm
- name: Build anda-srpm-macros
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/srpm-macros/pkg
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Anda
uses: actions-rs/cargo@v1
with:
command: install
args: anda
- name: Build Subatomic
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/tools/subatomic/pkg
run: |
git config --global --add safe.directory "$GITHUB_WORKSPACE"
anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} subatomic -p rpm -D "autogitcommit $(git log -1 --format='%H')"
- name: Install Subatomic
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
run: sudo dnf install -y ./anda-build/rpm/rpms/subatomic-*.rpm
- uses: actions/checkout@v3
with:
repository: FyraLabs/anda
- name: Build Andaman
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/tools/anda/pkg
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda -p rpm
- name: Upload to Subatomic
run: |
+6 -6
View File
@@ -21,12 +21,12 @@ jobs:
strategy:
matrix:
pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
version: ["39"]
version: ["38"]
arch: ["x86_64", "aarch64"]
fail-fast: false
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
image: ghcr.io/terrapkg/builder:f38
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
@@ -41,10 +41,10 @@ jobs:
uses: actions/cache@v3
with:
path: /var/cache
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.arch }}-${{ matrix.pkg }}
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
- name: Build with Andaman
run: anda build anda/${{ matrix.pkg }}pkg --package rpm -c anda/mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.cfg
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c anda/mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
- name: Generating artifact name
id: art
@@ -66,8 +66,8 @@ jobs:
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Notify Madoguchi (Success)
if: success()
if: success() && github.event_name == 'push'
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
- name: Notify Madoguchi (Failure)
if: cancelled() || failure()
if: ( cancelled() || failure() ) && github.event_name == 'push'
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
+4 -4
View File
@@ -11,11 +11,11 @@ jobs:
strategy:
matrix:
pkg: ${{ fromJson(inputs.packages) }}
version: ["39"]
version: ["38"]
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
image: ghcr.io/terrapkg/builder:f38
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
@@ -55,8 +55,8 @@ jobs:
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Notify Madoguchi (Success)
if: 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}}
- name: Notify Madoguchi (Failure)
if: cancelled() || 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}}
+4 -4
View File
@@ -3,18 +3,18 @@ name: Lint
on:
push:
branches:
- f39
- f38
pull_request:
branches:
- f39
- f38
merge_group:
branches:
- f39
- f38
jobs:
lint:
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:f39
image: ghcr.io/terrapkg/builder:f38
steps:
- name: Checkout repository
uses: actions/checkout@v3
+4 -3
View File
@@ -3,7 +3,6 @@ name: Push comps updates
on:
push:
branches:
- f39
- f38
- f37
paths:
@@ -14,12 +13,14 @@ jobs:
update-comps:
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:f39
image: ghcr.io/terrapkg/builder:38
steps:
- uses: actions/checkout@v3
- id: get-branch
uses: grandmasterdev/github-action-get-branch@latest
- name: Push to subatomic
run: |
branch=${{ github.ref_name }}
branch=${{steps.get-branch.outputs.branch-name}}
ver=${branch/f/}
subatomic-cli upload-comps \
--server https://subatomic.fyralabs.com \
+8 -8
View File
@@ -39,13 +39,13 @@ jobs:
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump: $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
# f37 () {
# git format-patch HEAD^
# git checkout f37
# git apply *.patch || true
# git add *
# git commit -S -a -m "$msg"
# }
# f37 || true
f37 () {
git format-patch HEAD^
git checkout f37
git apply *.patch || true
git add *
git commit -S -a -m "$msg"
}
f37 || true
git push -u origin --all
fi
+1 -1
View File
@@ -1,7 +1,7 @@
# Terra Sources
[![Repository status](https://repology.org/badge/repository-big/terra_37.svg?header=Terra+37)](https://repology.org/repository/terra_37)
[![Repository status](https://repology.org/badge/repository-big/terra_38.svg?header=Terra+38)](https://repology.org/repository/terra_38)
[![Repository status](https://repology.org/badge/repository-big/terra_39.svg?header=Terra+39)](https://repology.org/repository/terra_39)
Terra is a rolling-release Fedora repository for all the software you need.
With Terra, you can install the latest packages knowing that quality and security are assured.
+3 -3
View File
@@ -1,13 +1,13 @@
Name: anki-bin
Version: 2.1.66
Release: 2%{?dist}
Version: 2.1.65
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-installer python3.11 rpm_macro(fdupes)
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress
ExclusiveArch: x86_64
Conflicts: anki
Source0: https://files.pythonhosted.org/packages/cp39/a/anki/anki-%{version}-cp39-abi3-manylinux_2_28_%{_arch}.whl
+3 -3
View File
@@ -1,6 +1,6 @@
Name: anki-qt5
Version: 2.1.66
Release: 2%{?dist}
Version: 2.1.65
Release: 1%{?dist}
Summary: Flashcard program for using space repetition learning
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/
@@ -8,7 +8,7 @@ BuildRequires: python3-devel python3-setuptools python3-waitress python3-protob
BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson python3-pyqt5-sip
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt5-sip
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat
ExclusiveArch: x86_64
Conflicts: anki
Patch0: 0001-No-update.patch
-1
View File
@@ -1,5 +1,4 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "anki.spec"
}
+4 -4
View File
@@ -1,14 +1,14 @@
Name: anki
Version: 2.1.66
Release: 2%{?dist}
Version: 2.1.65
Release: 1%{?dist}
Summary: Flashcard program for using space repetition learning
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-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes)
BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-devel python3-pyqt6
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-qt5-webengine python3-pyqt6
Recommends: mpv
Obsoletes: anki <= 2.1.15
Conflicts: anki-qt5
+2 -7
View File
@@ -1,5 +1,4 @@
%define debug_package %nil
%global _build_id_links none
%ifarch x86_64
%global src ArmCord-%version
@@ -9,13 +8,9 @@
%global src ArmCord-%version-armv7l
%endif
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/armcord/.*\\.so
Name: armcord-bin
Version: 3.2.5
Release: 1%{?dist}
Version: 3.2.0
Release: 2%{?dist}
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/ArmCord/ArmCord
+15 -15
View File
@@ -1,25 +1,25 @@
%define debug_package %nil
Name: armcord
Version: 3.2.5
Release: 1%{?dist}
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/ArmCord/ArmCord
Group: Applications/Internet
Source1: launch.sh
Requires: electron xdg-utils
BuildRequires: nodejs-npm git
Conflicts: armcord-bin
BuildArch: noarch
Name: armcord
Version: 3.2.0
Release: 2%{?dist}
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/ArmCord/ArmCord
Group: Applications/Internet
Source0: %url/archive/refs/tags/v%version.tar.gz
Source1: launch.sh
Requires: electron xdg-utils
BuildRequires: nodejs-npm
Conflicts: armcord-bin
BuildArch: noarch
%description
ArmCord is a custom client designed to enhance your Discord experience
while keeping everything lightweight.
%prep
git clone %url .
git checkout v%version
%autosetup -n ArmCord-%version
cat <<EOF > armcord.desktop
[Desktop Entry]
@@ -36,7 +36,7 @@ EOF
%build
npx pnpm@7 install --no-frozen-lockfile
npx pnpm@7 install --frozen-lockfile --ignore-scripts
npm run packageQuick
+3 -10
View File
@@ -1,17 +1,10 @@
%define debug_package %nil
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: authy
Version: 2.4.1
Release: 1%{?dist}
Version: 2.3.0
Release: 2%{?dist}
Summary: Two factor authentication desktop application
License: Unlicense
URL: https://authy.com/
Source0: https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_21.snap
Source0: https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_19.snap
Requires: gtk3
Requires: nss
BuildRequires: squashfs-tools desktop-file-utils
@@ -1,12 +1,7 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar
Version: 0.0.172
Version: 0.0.161
Release: 1%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -57,4 +52,4 @@ chmod o+w %{buildroot}%{_datadir}/discord-canary-openasar/resources -R
- Bundle discord-canary
* Thu Oct 20 2022 Cappy Ishihara <cappy@cappuchino.xyz>
-
-
+1 -6
View File
@@ -1,12 +1,7 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.172
Version: 0.0.161
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -1,13 +1,8 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.32
Release: 1%{?dist}
Version: 0.0.27
Release: 2%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
URL: https://github.com/GooseMod/OpenAsar
@@ -1,12 +1,7 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 0.0.52
Version: 0.0.43
Release: 1%{?dist}
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -6
View File
@@ -1,12 +1,7 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.52
Version: 0.0.43
Release: 1%{?dist}
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
+2 -7
View File
@@ -1,13 +1,8 @@
%define debug_package %{nil}
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.32
Release: 1%{?dist}
Version: 0.0.27
Release: 2%{?dist}
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
Source0: https://dl.discordapp.net/apps/linux/%{version}/discord-%{version}.tar.gz
@@ -1,10 +1,10 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 2968405ebf0f4abca2b06c2bdae26ff9f58aa991
%global commit 890b72e8689a90289522f374534b06f85cde9ddb
%forgemeta
Name: lomiri-system-settings
Version: 1.0.2
Release: 1%{?dist}
Version: 1.0.1
Release: %autorelease
Summary: The system settings application for Lomiri
License: GPLv3
URL: https://gitlab.com/ubports/development/core/lomiri-system-settings
@@ -20,7 +20,6 @@ BuildRequires: pkgconfig(geonames)
BuildRequires: pkgconfig(icu-i18n)
#BuildRequires: pkgconfig(libandroid-properties)
BuildRequires: pkgconfig(click-0.4)
BuildRequires: pkgconfig(deviceinfo)
BuildRequires: pkgconfig(gsettings-qt)
BuildRequires: pkgconfig(QtGui)
BuildRequires: pkgconfig(gnome-desktop-3.0)
@@ -0,0 +1,103 @@
From 04d3a21c6e72cd5574f7333adf548012d912c1ee Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Sat, 7 Jan 2023 23:15:13 -0500
Subject: [PATCH 1/3] UI: Consistently reference the software H264 encoder
properly
The code here assumes that the only software encoder is the x264-based
H.264 encoder. That may not always remain true. This change adjusts
the encoder string to indicate that it's an H.264 encoder from x264.
---
UI/data/locale/en-US.ini | 4 ++--
UI/window-basic-auto-config-test.cpp | 6 +++---
UI/window-basic-settings-stream.cpp | 2 +-
UI/window-basic-settings.cpp | 7 ++++---
4 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
index 4c03aa7db..e44d99660 100644
--- a/UI/data/locale/en-US.ini
+++ b/UI/data/locale/en-US.ini
@@ -980,7 +980,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available."
Basic.Settings.Output.Simple.Warn.Lossless.Msg="Are you sure you want to use lossless quality?"
Basic.Settings.Output.Simple.Warn.Lossless.Title="Lossless quality warning!"
-Basic.Settings.Output.Simple.Encoder.Software="Software (x264)"
+Basic.Settings.Output.Simple.Encoder.Software.X264.H264="Software (x264)"
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="Hardware (QSV, H.264)"
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.AV1="Hardware (QSV, AV1)"
Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hardware (AMD, H.264)"
@@ -991,7 +991,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardware (NVENC, AV1)"
Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardware (NVENC, HEVC)"
Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hardware (Apple, H.264)"
Basic.Settings.Output.Simple.Encoder.Hardware.Apple.HEVC="Hardware (Apple, HEVC)"
-Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU="Software (x264 low CPU usage preset, increases file size)"
+Basic.Settings.Output.Simple.Encoder.SoftwareLowCPU.X264.H264="Software (x264 low CPU usage preset, increases file size)"
Basic.Settings.Output.Simple.Codec.AAC="AAC"
Basic.Settings.Output.Simple.Codec.AAC.Default="AAC (Default)"
Basic.Settings.Output.Simple.Codec.Opus="Opus"
diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp
index 2d89d7347..09979c031 100644
--- a/UI/window-basic-auto-config-test.cpp
+++ b/UI/window-basic-auto-config-test.cpp
@@ -993,7 +993,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
}
#define ENCODER_TEXT(x) "Basic.Settings.Output.Simple.Encoder." x
-#define ENCODER_SOFTWARE ENCODER_TEXT("Software")
+#define ENCODER_X264 ENCODER_TEXT("Software.X264.H264")
#define ENCODER_NVENC ENCODER_TEXT("Hardware.NVENC.H264")
#define ENCODER_QSV ENCODER_TEXT("Hardware.QSV.H264")
#define ENCODER_AMD ENCODER_TEXT("Hardware.AMD.H264")
@@ -1033,7 +1033,7 @@ void AutoConfigTestPage::FinalizeResults()
auto encName = [](AutoConfig::Encoder enc) -> QString {
switch (enc) {
case AutoConfig::Encoder::x264:
- return QTStr(ENCODER_SOFTWARE);
+ return QTStr(ENCODER_X264);
case AutoConfig::Encoder::NVENC:
return QTStr(ENCODER_NVENC);
case AutoConfig::Encoder::QSV:
@@ -1046,7 +1046,7 @@ void AutoConfigTestPage::FinalizeResults()
return QTStr(QUALITY_SAME);
}
- return QTStr(ENCODER_SOFTWARE);
+ return QTStr(ENCODER_X264);
};
auto newLabel = [this](const char *str) -> QLabel * {
diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp
index f6e0817a0..b056938e7 100644
--- a/UI/window-basic-settings-stream.cpp
+++ b/UI/window-basic-settings-stream.cpp
@@ -1585,7 +1585,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
- ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software"),
+ ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software.X264.H264"),
QString(SIMPLE_ENCODER_X264));
if (service_supports_encoder(vcodecs, "obs_qsv11"))
ui->simpleOutStrEncoder->addItem(
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index fb170bfc1..48bb4bac6 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -5286,10 +5286,11 @@ void OBSBasicSettings::FillSimpleRecordingValues()
ADD_QUALITY("HQ");
ADD_QUALITY("Lossless");
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software"),
+ ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software.X264.H264"),
QString(SIMPLE_ENCODER_X264));
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("SoftwareLowCPU"),
- QString(SIMPLE_ENCODER_X264_LOWCPU));
+ ui->simpleOutRecEncoder->addItem(
+ ENCODER_STR("SoftwareLowCPU.X264.H264"),
+ QString(SIMPLE_ENCODER_X264_LOWCPU));
if (EncoderAvailable("obs_qsv11"))
ui->simpleOutRecEncoder->addItem(
ENCODER_STR("Hardware.QSV.H264"),
--
2.39.2
@@ -0,0 +1,345 @@
From 4517d8d8bb4c43af1f5b757773a5f9550bd23d37 Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Sun, 26 Mar 2023 06:06:31 -0400
Subject: [PATCH 2/3] obs-ffmpeg: Add initial support for the OpenH264 H.264
software codec
This allows users to leverage the OpenH264 codec from Cisco to encode
H.264 video content. It is significantly reduced in capability from
alternatives, but it does the job.
This also provides a framework for adding support for other H.264
software codecs provided through FFmpeg.
---
plugins/obs-ffmpeg/CMakeLists.txt | 1 +
plugins/obs-ffmpeg/cmake/legacy.cmake | 1 +
plugins/obs-ffmpeg/data/locale/en-US.ini | 3 +
plugins/obs-ffmpeg/obs-ffmpeg-h264.c | 260 +++++++++++++++++++++++
plugins/obs-ffmpeg/obs-ffmpeg.c | 2 +
5 files changed, 267 insertions(+)
create mode 100644 plugins/obs-ffmpeg/obs-ffmpeg-h264.c
diff --git a/plugins/obs-ffmpeg/CMakeLists.txt b/plugins/obs-ffmpeg/CMakeLists.txt
index 3eba00932..f97622c22 100644
--- a/plugins/obs-ffmpeg/CMakeLists.txt
+++ b/plugins/obs-ffmpeg/CMakeLists.txt
@@ -34,6 +34,7 @@ target_sources(
obs-ffmpeg-video-encoders.c
obs-ffmpeg-audio-encoders.c
obs-ffmpeg-av1.c
+ obs-ffmpeg-h264.c
obs-ffmpeg-nvenc.c
obs-ffmpeg-output.c
obs-ffmpeg-mux.c
diff --git a/plugins/obs-ffmpeg/cmake/legacy.cmake b/plugins/obs-ffmpeg/cmake/legacy.cmake
index 5540676ea..62f2cc7a1 100644
--- a/plugins/obs-ffmpeg/cmake/legacy.cmake
+++ b/plugins/obs-ffmpeg/cmake/legacy.cmake
@@ -40,6 +40,7 @@ target_sources(
obs-ffmpeg-video-encoders.c
obs-ffmpeg-audio-encoders.c
obs-ffmpeg-av1.c
+ obs-ffmpeg-h264.c
obs-ffmpeg-nvenc.c
obs-ffmpeg-output.c
obs-ffmpeg-mux.c
diff --git a/plugins/obs-ffmpeg/data/locale/en-US.ini b/plugins/obs-ffmpeg/data/locale/en-US.ini
index 55bbe919d..0363ed82b 100644
--- a/plugins/obs-ffmpeg/data/locale/en-US.ini
+++ b/plugins/obs-ffmpeg/data/locale/en-US.ini
@@ -109,4 +109,7 @@ NVENC.CheckDrivers="Try installing the latest <a href=\"https://obsproject.com/g
AV1.8bitUnsupportedHdr="OBS does not support 8-bit output of Rec. 2100."
+H264.UnsupportedVideoFormat="Only video formats using 8-bit color are supported."
+H264.UnsupportedColorSpace="Only the Rec. 709 color space is supported."
+
ReconnectDelayTime="Reconnect Delay"
diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-h264.c b/plugins/obs-ffmpeg/obs-ffmpeg-h264.c
new file mode 100644
index 000000000..179a61ccf
--- /dev/null
+++ b/plugins/obs-ffmpeg/obs-ffmpeg-h264.c
@@ -0,0 +1,260 @@
+/******************************************************************************
+ Copyright (C) 2023 by Neal Gompa <neal@gompa.dev>
+ Partly derived from obs-ffmpeg-av1.c by Hugh Bailey <obs.jim@gmail.com>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+******************************************************************************/
+
+#include "obs-ffmpeg-video-encoders.h"
+
+#define do_log(level, format, ...) \
+ blog(level, "[H.264 encoder: '%s'] " format, \
+ obs_encoder_get_name(enc->ffve.encoder), ##__VA_ARGS__)
+
+#define error(format, ...) do_log(LOG_ERROR, format, ##__VA_ARGS__)
+#define warn(format, ...) do_log(LOG_WARNING, format, ##__VA_ARGS__)
+#define info(format, ...) do_log(LOG_INFO, format, ##__VA_ARGS__)
+#define debug(format, ...) do_log(LOG_DEBUG, format, ##__VA_ARGS__)
+
+enum h264_encoder_type {
+ H264_ENCODER_TYPE_OH264,
+};
+
+struct h264_encoder {
+ struct ffmpeg_video_encoder ffve;
+ enum h264_encoder_type type;
+
+ DARRAY(uint8_t) header;
+};
+
+static const char *oh264_getname(void *unused)
+{
+ UNUSED_PARAMETER(unused);
+ return "OpenH264";
+}
+
+static void h264_video_info(void *data, struct video_scale_info *info)
+{
+ UNUSED_PARAMETER(data);
+
+ // OpenH264 only supports I420
+ info->format = VIDEO_FORMAT_I420;
+}
+
+static bool h264_update(struct h264_encoder *enc, obs_data_t *settings)
+{
+ const char *profile = obs_data_get_string(settings, "profile");
+ int bitrate = (int)obs_data_get_int(settings, "bitrate");
+ int keyint_sec = 0; // This is not supported by OpenH264
+ const char *rc_mode = "quality"; // We only want to use quality mode
+ int allow_skip_frames = 1; // This is required for quality mode
+
+ video_t *video = obs_encoder_video(enc->ffve.encoder);
+ const struct video_output_info *voi = video_output_get_info(video);
+ struct video_scale_info info;
+
+ info.format = voi->format;
+ info.colorspace = voi->colorspace;
+ info.range = voi->range;
+
+ enc->ffve.context->thread_count = 0;
+
+ h264_video_info(enc, &info);
+
+ av_opt_set(enc->ffve.context->priv_data, "rc_mode", rc_mode, 0);
+ av_opt_set(enc->ffve.context->priv_data, "profile", profile, 0);
+ av_opt_set_int(enc->ffve.context->priv_data, "allow_skip_frames",
+ allow_skip_frames, 0);
+
+ const char *ffmpeg_opts = obs_data_get_string(settings, "ffmpeg_opts");
+ ffmpeg_video_encoder_update(&enc->ffve, bitrate, keyint_sec, voi, &info,
+ ffmpeg_opts);
+ info("settings:\n"
+ "\tencoder: %s\n"
+ "\trc_mode: %s\n"
+ "\tbitrate: %d\n"
+ "\tprofile: %s\n"
+ "\twidth: %d\n"
+ "\theight: %d\n"
+ "\tffmpeg opts: %s\n",
+ enc->ffve.enc_name, rc_mode, bitrate, profile,
+ enc->ffve.context->width, enc->ffve.height, ffmpeg_opts);
+
+ enc->ffve.context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ return ffmpeg_video_encoder_init_codec(&enc->ffve);
+}
+
+static void h264_destroy(void *data)
+{
+ struct h264_encoder *enc = data;
+
+ ffmpeg_video_encoder_free(&enc->ffve);
+ da_free(enc->header);
+ bfree(enc);
+}
+
+static void on_first_packet(void *data, AVPacket *pkt, struct darray *da)
+{
+ struct h264_encoder *enc = data;
+
+ da_copy_array(enc->header, enc->ffve.context->extradata,
+ enc->ffve.context->extradata_size);
+
+ darray_copy_array(1, da, pkt->data, pkt->size);
+}
+
+static void *h264_create_internal(obs_data_t *settings, obs_encoder_t *encoder,
+ const char *enc_lib, const char *enc_name)
+{
+ video_t *video = obs_encoder_video(encoder);
+ const struct video_output_info *voi = video_output_get_info(video);
+
+ switch (voi->format) {
+ // planar 4:2:0 formats
+ case VIDEO_FORMAT_I420: // three-plane
+ case VIDEO_FORMAT_NV12: // two-plane, luma and packed chroma
+ // packed 4:2:2 formats
+ case VIDEO_FORMAT_YVYU:
+ case VIDEO_FORMAT_YUY2: // YUYV
+ case VIDEO_FORMAT_UYVY:
+ // packed uncompressed formats
+ case VIDEO_FORMAT_RGBA:
+ case VIDEO_FORMAT_BGRA:
+ case VIDEO_FORMAT_BGRX:
+ case VIDEO_FORMAT_BGR3:
+ case VIDEO_FORMAT_Y800: // grayscale
+ // planar 4:4:4
+ case VIDEO_FORMAT_I444:
+ // planar 4:2:2
+ case VIDEO_FORMAT_I422:
+ // planar 4:2:0 with alpha
+ case VIDEO_FORMAT_I40A:
+ // planar 4:2:2 with alpha
+ case VIDEO_FORMAT_I42A:
+ // planar 4:4:4 with alpha
+ case VIDEO_FORMAT_YUVA:
+ // packed 4:4:4 with alpha
+ case VIDEO_FORMAT_AYUV:
+ break;
+ default:; // Make the compiler do the right thing
+ const char *const text =
+ obs_module_text("H264.UnsupportedVideoFormat");
+ obs_encoder_set_last_error(encoder, text);
+ blog(LOG_ERROR, "[H.264 encoder] %s", text);
+ return NULL;
+ }
+
+ switch (voi->colorspace) {
+ case VIDEO_CS_DEFAULT:
+ case VIDEO_CS_709:
+ break;
+ default:; // Make the compiler do the right thing
+ const char *const text =
+ obs_module_text("H264.UnsupportedColorSpace");
+ obs_encoder_set_last_error(encoder, text);
+ blog(LOG_ERROR, "[H.264 encoder] %s", text);
+ return NULL;
+ }
+
+ struct h264_encoder *enc = bzalloc(sizeof(*enc));
+
+ if (strcmp(enc_lib, "libopenh264") == 0)
+ enc->type = H264_ENCODER_TYPE_OH264;
+
+ if (!ffmpeg_video_encoder_init(&enc->ffve, enc, encoder, enc_lib, NULL,
+ enc_name, NULL, on_first_packet))
+ goto fail;
+ if (!h264_update(enc, settings))
+ goto fail;
+
+ return enc;
+
+fail:
+ h264_destroy(enc);
+ return NULL;
+}
+
+static void *oh264_create(obs_data_t *settings, obs_encoder_t *encoder)
+{
+ return h264_create_internal(settings, encoder, "libopenh264",
+ "OpenH264");
+}
+
+static bool h264_encode(void *data, struct encoder_frame *frame,
+ struct encoder_packet *packet, bool *received_packet)
+{
+ struct h264_encoder *enc = data;
+ return ffmpeg_video_encode(&enc->ffve, frame, packet, received_packet);
+}
+
+void h264_defaults(obs_data_t *settings)
+{
+ obs_data_set_default_int(settings, "bitrate", 2500);
+ obs_data_set_default_string(settings, "profile", "main");
+}
+
+obs_properties_t *h264_properties(enum h264_encoder_type type)
+{
+ UNUSED_PARAMETER(type); // Only one encoder right now...
+ obs_properties_t *props = obs_properties_create();
+ obs_property_t *p;
+
+ p = obs_properties_add_list(props, "profile",
+ obs_module_text("Profile"),
+ OBS_COMBO_TYPE_LIST,
+ OBS_COMBO_FORMAT_STRING);
+ obs_property_list_add_string(p, "constrained_baseline",
+ "constrained_baseline");
+ obs_property_list_add_string(p, "main", "main");
+ obs_property_list_add_string(p, "high", "high");
+
+ p = obs_properties_add_int(props, "bitrate", obs_module_text("Bitrate"),
+ 50, 300000, 50);
+ obs_property_int_set_suffix(p, " Kbps");
+
+ obs_properties_add_text(props, "ffmpeg_opts",
+ obs_module_text("FFmpegOpts"),
+ OBS_TEXT_DEFAULT);
+
+ return props;
+}
+
+obs_properties_t *oh264_properties(void *unused)
+{
+ UNUSED_PARAMETER(unused);
+ return h264_properties(H264_ENCODER_TYPE_OH264);
+}
+
+static bool h264_extra_data(void *data, uint8_t **extra_data, size_t *size)
+{
+ struct h264_encoder *enc = data;
+
+ *extra_data = enc->header.array;
+ *size = enc->header.num;
+ return true;
+}
+
+struct obs_encoder_info oh264_encoder_info = {
+ .id = "ffmpeg_openh264",
+ .type = OBS_ENCODER_VIDEO,
+ .codec = "h264",
+ .get_name = oh264_getname,
+ .create = oh264_create,
+ .destroy = h264_destroy,
+ .encode = h264_encode,
+ .get_defaults = h264_defaults,
+ .get_properties = oh264_properties,
+ .get_extra_data = h264_extra_data,
+ .get_video_info = h264_video_info,
+};
diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c
index da0b2c2b4..a01a729c8 100644
--- a/plugins/obs-ffmpeg/obs-ffmpeg.c
+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c
@@ -39,6 +39,7 @@ extern struct obs_encoder_info pcm24_encoder_info;
extern struct obs_encoder_info pcm32_encoder_info;
extern struct obs_encoder_info alac_encoder_info;
extern struct obs_encoder_info flac_encoder_info;
+extern struct obs_encoder_info oh264_encoder_info;
extern struct obs_encoder_info h264_nvenc_encoder_info;
#ifdef ENABLE_HEVC
extern struct obs_encoder_info hevc_nvenc_encoder_info;
@@ -387,6 +388,7 @@ bool obs_module_load(void)
obs_register_output(&ffmpeg_hls_muxer);
obs_register_output(&replay_buffer);
obs_register_encoder(&aac_encoder_info);
+ register_encoder_if_available(&oh264_encoder_info, "libopenh264");
register_encoder_if_available(&svt_av1_encoder_info, "libsvtav1");
register_encoder_if_available(&aom_av1_encoder_info, "libaom-av1");
obs_register_encoder(&opus_encoder_info);
--
2.39.2
@@ -0,0 +1,544 @@
From 30f84455969071ff9aa826a44438a0402dd15123 Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Tue, 28 Mar 2023 05:08:49 -0400
Subject: [PATCH 3/3] UI: Add support for OpenH264 as the worst-case fallback
OpenH264 exists as the codec of last resort, so it is implemented
such that it is only used as the software codec if x264 is not
available.
---
UI/data/locale/en-US.ini | 1 +
UI/window-basic-auto-config-test.cpp | 50 +++++++++++++++++++---------
UI/window-basic-auto-config.cpp | 15 ++++++++-
UI/window-basic-auto-config.hpp | 3 ++
UI/window-basic-main-outputs.cpp | 6 ++--
UI/window-basic-main-profiles.cpp | 34 +++++++++++--------
UI/window-basic-main.cpp | 20 +++++++----
UI/window-basic-main.hpp | 3 +-
UI/window-basic-settings-stream.cpp | 16 ++++++---
UI/window-basic-settings.cpp | 23 ++++++++++---
10 files changed, 123 insertions(+), 48 deletions(-)
diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
index e44d99660..a5ba5d661 100644
--- a/UI/data/locale/en-US.ini
+++ b/UI/data/locale/en-US.ini
@@ -980,6 +980,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available."
Basic.Settings.Output.Simple.Warn.Lossless.Msg="Are you sure you want to use lossless quality?"
Basic.Settings.Output.Simple.Warn.Lossless.Title="Lossless quality warning!"
+Basic.Settings.Output.Simple.Encoder.Software.OpenH264.H264="Software (OpenH264)"
Basic.Settings.Output.Simple.Encoder.Software.X264.H264="Software (x264)"
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="Hardware (QSV, H.264)"
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.AV1="Hardware (QSV, AV1)"
diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp
index 09979c031..c791c8b8b 100644
--- a/UI/window-basic-auto-config-test.cpp
+++ b/UI/window-basic-auto-config-test.cpp
@@ -199,7 +199,8 @@ void AutoConfigTestPage::TestBandwidthThread()
: "rtmp_common";
OBSEncoderAutoRelease vencoder = obs_video_encoder_create(
- "obs_x264", "test_x264", nullptr, nullptr);
+ (wiz->x264Available ? "obs_x264" : "ffmpeg_openh264"),
+ "test_h264", nullptr, nullptr);
OBSEncoderAutoRelease aencoder = obs_audio_encoder_create(
"ffmpeg_aac", "test_aac", nullptr, 0, nullptr);
OBSServiceAutoRelease service = obs_service_create(
@@ -238,10 +239,11 @@ void AutoConfigTestPage::TestBandwidthThread()
obs_data_set_string(service_settings, "key", key.c_str());
obs_data_set_int(vencoder_settings, "bitrate", wiz->startingBitrate);
- obs_data_set_string(vencoder_settings, "rate_control", "CBR");
- obs_data_set_string(vencoder_settings, "preset", "veryfast");
- obs_data_set_int(vencoder_settings, "keyint_sec", 2);
-
+ if (wiz->x264Available) {
+ obs_data_set_string(vencoder_settings, "rate_control", "CBR");
+ obs_data_set_string(vencoder_settings, "preset", "veryfast");
+ obs_data_set_int(vencoder_settings, "keyint_sec", 2);
+ }
obs_data_set_int(aencoder_settings, "bitrate", 32);
OBSBasic *main = reinterpret_cast<OBSBasic *>(App()->GetMainWindow());
@@ -567,7 +569,8 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
/* create obs objects */
OBSEncoderAutoRelease vencoder = obs_video_encoder_create(
- "obs_x264", "test_x264", nullptr, nullptr);
+ (wiz->x264Available ? "obs_x264" : "ffmpeg_openh264"),
+ "test_h264", nullptr, nullptr);
OBSEncoderAutoRelease aencoder = obs_audio_encoder_create(
"ffmpeg_aac", "test_aac", nullptr, 0, nullptr);
OBSOutputAutoRelease output =
@@ -581,17 +584,25 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
obs_data_set_int(aencoder_settings, "bitrate", 32);
if (wiz->type != AutoConfig::Type::Recording) {
- obs_data_set_int(vencoder_settings, "keyint_sec", 2);
+ if (wiz->x264Available) {
+ obs_data_set_int(vencoder_settings, "keyint_sec", 2);
+ obs_data_set_string(vencoder_settings, "rate_control",
+ "CBR");
+ obs_data_set_string(vencoder_settings, "preset",
+ "veryfast");
+ }
obs_data_set_int(vencoder_settings, "bitrate",
wiz->idealBitrate);
- obs_data_set_string(vencoder_settings, "rate_control", "CBR");
obs_data_set_string(vencoder_settings, "profile", "main");
- obs_data_set_string(vencoder_settings, "preset", "veryfast");
} else {
- obs_data_set_int(vencoder_settings, "crf", 20);
- obs_data_set_string(vencoder_settings, "rate_control", "CRF");
+ if (wiz->x264Available) {
+ obs_data_set_int(vencoder_settings, "crf", 20);
+ obs_data_set_string(vencoder_settings, "rate_control",
+ "CRF");
+ obs_data_set_string(vencoder_settings, "preset",
+ "veryfast");
+ }
obs_data_set_string(vencoder_settings, "profile", "high");
- obs_data_set_string(vencoder_settings, "preset", "veryfast");
}
/* -----------------------------------*/
@@ -944,7 +955,10 @@ void AutoConfigTestPage::TestStreamEncoderThread()
else
wiz->streamingEncoder = AutoConfig::Encoder::AMD;
} else {
- wiz->streamingEncoder = AutoConfig::Encoder::x264;
+ if (wiz->x264Available)
+ wiz->streamingEncoder = AutoConfig::Encoder::x264;
+ else
+ wiz->streamingEncoder = AutoConfig::Encoder::OpenH264;
}
if (preferHardware && !softwareTested && wiz->hardwareEncodingAvailable)
@@ -979,7 +993,10 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
else
wiz->recordingEncoder = AutoConfig::Encoder::AMD;
} else {
- wiz->recordingEncoder = AutoConfig::Encoder::x264;
+ if (wiz->x264Available)
+ wiz->streamingEncoder = AutoConfig::Encoder::x264;
+ else
+ wiz->streamingEncoder = AutoConfig::Encoder::OpenH264;
}
if (wiz->recordingEncoder != AutoConfig::Encoder::NVENC) {
@@ -993,6 +1010,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
}
#define ENCODER_TEXT(x) "Basic.Settings.Output.Simple.Encoder." x
+#define ENCODER_OPENH264 ENCODER_TEXT("Software.OpenH264.H264")
#define ENCODER_X264 ENCODER_TEXT("Software.X264.H264")
#define ENCODER_NVENC ENCODER_TEXT("Hardware.NVENC.H264")
#define ENCODER_QSV ENCODER_TEXT("Hardware.QSV.H264")
@@ -1032,6 +1050,8 @@ void AutoConfigTestPage::FinalizeResults()
auto encName = [](AutoConfig::Encoder enc) -> QString {
switch (enc) {
+ case AutoConfig::Encoder::OpenH264:
+ return QTStr(ENCODER_OPENH264);
case AutoConfig::Encoder::x264:
return QTStr(ENCODER_X264);
case AutoConfig::Encoder::NVENC:
@@ -1046,7 +1066,7 @@ void AutoConfigTestPage::FinalizeResults()
return QTStr(QUALITY_SAME);
}
- return QTStr(ENCODER_X264);
+ return QTStr(ENCODER_OPENH264);
};
auto newLabel = [this](const char *str) -> QLabel * {
diff --git a/UI/window-basic-auto-config.cpp b/UI/window-basic-auto-config.cpp
index 3e9c36685..eace18067 100644
--- a/UI/window-basic-auto-config.cpp
+++ b/UI/window-basic-auto-config.cpp
@@ -961,6 +961,7 @@ AutoConfig::AutoConfig(QWidget *parent) : QWizard(parent)
streamPage->ui->bitrate->setValue(bitrate);
streamPage->ServiceChanged();
+ TestSoftwareEncoding();
TestHardwareEncoding();
if (!hardwareEncodingAvailable) {
delete streamPage->ui->preferHardware;
@@ -989,6 +990,16 @@ AutoConfig::~AutoConfig()
EnableThreadedMessageBoxes(false);
}
+void AutoConfig::TestSoftwareEncoding()
+{
+ size_t idx = 0;
+ const char *id;
+ while (obs_enum_encoder_types(idx++, &id)) {
+ if (strcmp(id, "obs_x264") == 0)
+ x264Available = true;
+ }
+}
+
void AutoConfig::TestHardwareEncoding()
{
size_t idx = 0;
@@ -1061,8 +1072,10 @@ inline const char *AutoConfig::GetEncoderId(Encoder enc)
return SIMPLE_ENCODER_AMD;
case Encoder::Apple:
return SIMPLE_ENCODER_APPLE_H264;
- default:
+ case Encoder::x264:
return SIMPLE_ENCODER_X264;
+ default:
+ return SIMPLE_ENCODER_OPENH264;
}
};
diff --git a/UI/window-basic-auto-config.hpp b/UI/window-basic-auto-config.hpp
index eb50701ff..e581791dd 100644
--- a/UI/window-basic-auto-config.hpp
+++ b/UI/window-basic-auto-config.hpp
@@ -43,6 +43,7 @@ class AutoConfig : public QWizard {
};
enum class Encoder {
+ OpenH264,
x264,
NVENC,
QSV,
@@ -91,6 +92,7 @@ class AutoConfig : public QWizard {
bool qsvAvailable = false;
bool vceAvailable = false;
bool appleAvailable = false;
+ bool x264Available = false;
int startingBitrate = 2500;
bool customServer = false;
@@ -106,6 +108,7 @@ class AutoConfig : public QWizard {
int specificFPSNum = 0;
int specificFPSDen = 0;
+ void TestSoftwareEncoding();
void TestHardwareEncoding();
bool CanTestServer(const char *server);
diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp
index 737ab966d..a4df630c4 100644
--- a/UI/window-basic-main-outputs.cpp
+++ b/UI/window-basic-main-outputs.cpp
@@ -515,7 +515,9 @@ void SimpleOutput::LoadStreamingPreset_Lossy(const char *encoderId)
/* mistakes have been made to lead us to this. */
const char *get_simple_output_encoder(const char *encoder)
{
- if (strcmp(encoder, SIMPLE_ENCODER_X264) == 0) {
+ if (strcmp(encoder, SIMPLE_ENCODER_OPENH264) == 0) {
+ return "ffmpeg_openh264";
+ } else if (strcmp(encoder, SIMPLE_ENCODER_X264) == 0) {
return "obs_x264";
} else if (strcmp(encoder, SIMPLE_ENCODER_X264_LOWCPU) == 0) {
return "obs_x264";
@@ -549,7 +551,7 @@ const char *get_simple_output_encoder(const char *encoder)
#endif
}
- return "obs_x264";
+ return "ffmpeg_openh264";
}
void SimpleOutput::LoadRecordingPreset()
diff --git a/UI/window-basic-main-profiles.cpp b/UI/window-basic-main-profiles.cpp
index 4941359ea..1f3ffdc1d 100644
--- a/UI/window-basic-main-profiles.cpp
+++ b/UI/window-basic-main-profiles.cpp
@@ -794,7 +794,7 @@ void OBSBasic::ChangeProfile()
Auth::Load();
- CheckForSimpleModeX264Fallback();
+ CheckForSimpleModeH264Fallback();
blog(LOG_INFO, "Switched to profile '%s' (%s)", newName, newDir);
blog(LOG_INFO, "------------------------------------------------");
@@ -815,12 +815,13 @@ void OBSBasic::ChangeProfile()
}
}
-void OBSBasic::CheckForSimpleModeX264Fallback()
+void OBSBasic::CheckForSimpleModeH264Fallback()
{
const char *curStreamEncoder =
config_get_string(basicConfig, "SimpleOutput", "StreamEncoder");
const char *curRecEncoder =
config_get_string(basicConfig, "SimpleOutput", "RecEncoder");
+ bool x264_supported = false;
bool qsv_supported = false;
bool qsv_av1_supported = false;
bool amd_supported = false;
@@ -837,7 +838,9 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
const char *id;
while (obs_enum_encoder_types(idx++, &id)) {
- if (strcmp(id, "amd_amf_h264") == 0)
+ if (strcmp(id, "obs_x264") == 0)
+ x264_supported = true;
+ else if (strcmp(id, "amd_amf_h264") == 0)
amd_supported = true;
else if (strcmp(id, "obs_qsv11") == 0)
qsv_supported = true;
@@ -865,68 +868,73 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
#endif
}
+ // Check to see whether x264 is available
+ const char *fallback_encoder_name = (x264_supported
+ ? SIMPLE_ENCODER_X264
+ : SIMPLE_ENCODER_OPENH264);
+
auto CheckEncoder = [&](const char *&name) {
if (strcmp(name, SIMPLE_ENCODER_QSV) == 0) {
if (!qsv_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
} else if (strcmp(name, SIMPLE_ENCODER_QSV_AV1) == 0) {
if (!qsv_av1_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
} else if (strcmp(name, SIMPLE_ENCODER_NVENC) == 0) {
if (!nve_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
} else if (strcmp(name, SIMPLE_ENCODER_NVENC_AV1) == 0) {
if (!nve_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
#ifdef ENABLE_HEVC
} else if (strcmp(name, SIMPLE_ENCODER_AMD_HEVC) == 0) {
if (!amd_hevc_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
} else if (strcmp(name, SIMPLE_ENCODER_NVENC_HEVC) == 0) {
if (!nve_hevc_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
#endif
} else if (strcmp(name, SIMPLE_ENCODER_AMD) == 0) {
if (!amd_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
} else if (strcmp(name, SIMPLE_ENCODER_AMD_AV1) == 0) {
if (!amd_av1_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
} else if (strcmp(name, SIMPLE_ENCODER_APPLE_H264) == 0) {
if (!apple_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
#ifdef ENABLE_HEVC
} else if (strcmp(name, SIMPLE_ENCODER_APPLE_HEVC) == 0) {
if (!apple_hevc_supported) {
changed = true;
- name = SIMPLE_ENCODER_X264;
+ name = fallback_encoder_name;
return false;
}
#endif
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
index 6d9375eb4..c6aae8c7b 100644
--- a/UI/window-basic-main.cpp
+++ b/UI/window-basic-main.cpp
@@ -1379,6 +1379,8 @@ extern void CheckExistingCookieId();
#define DEFAULT_CONTAINER "fragmented_mp4"
#endif
+extern bool EncoderAvailable(const char *encoder);
+
bool OBSBasic::InitBasicConfigDefaults()
{
QList<QScreen *> screens = QGuiApplication::screens();
@@ -1549,7 +1551,10 @@ bool OBSBasic::InitBasicConfigDefaults()
config_set_default_bool(basicConfig, "AdvOut", "UseRescale", false);
config_set_default_uint(basicConfig, "AdvOut", "TrackIndex", 1);
config_set_default_uint(basicConfig, "AdvOut", "VodTrackIndex", 2);
- config_set_default_string(basicConfig, "AdvOut", "Encoder", "obs_x264");
+
+ bool useX264 = EncoderAvailable("obs_x264");
+ config_set_default_string(basicConfig, "AdvOut", "Encoder",
+ (useX264 ? "obs_x264" : "ffmpeg_openh264"));
config_set_default_string(basicConfig, "AdvOut", "RecType", "Standard");
@@ -1672,7 +1677,6 @@ bool OBSBasic::InitBasicConfigDefaults()
return true;
}
-extern bool EncoderAvailable(const char *encoder);
extern bool update_nvenc_presets(ConfigFile &config);
void OBSBasic::InitBasicConfigDefaults2()
@@ -1681,12 +1685,14 @@ void OBSBasic::InitBasicConfigDefaults2()
"Pre23Defaults");
bool useNV = EncoderAvailable("ffmpeg_nvenc") && !oldEncDefaults;
+ bool useX264 = EncoderAvailable("obs_x264");
+ const char *h264_fallback =
+ (useX264 ? SIMPLE_ENCODER_X264 : SIMPLE_ENCODER_OPENH264);
+
config_set_default_string(basicConfig, "SimpleOutput", "StreamEncoder",
- useNV ? SIMPLE_ENCODER_NVENC
- : SIMPLE_ENCODER_X264);
+ useNV ? SIMPLE_ENCODER_NVENC : h264_fallback);
config_set_default_string(basicConfig, "SimpleOutput", "RecEncoder",
- useNV ? SIMPLE_ENCODER_NVENC
- : SIMPLE_ENCODER_X264);
+ useNV ? SIMPLE_ENCODER_NVENC : h264_fallback);
const char *aac_default = "ffmpeg_aac";
if (EncoderAvailable("CoreAudio_AAC"))
@@ -1967,7 +1973,7 @@ void OBSBasic::OBSInit()
InitBasicConfigDefaults2();
- CheckForSimpleModeX264Fallback();
+ CheckForSimpleModeH264Fallback();
blog(LOG_INFO, STARTUP_SEPARATOR);
diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp
index cbce69832..74c6eb144 100644
--- a/UI/window-basic-main.hpp
+++ b/UI/window-basic-main.hpp
@@ -66,6 +66,7 @@ class OBSBasicVCamConfig;
#define SIMPLE_ENCODER_X264 "x264"
#define SIMPLE_ENCODER_X264_LOWCPU "x264_lowcpu"
+#define SIMPLE_ENCODER_OPENH264 "ffmpeg_openh264"
#define SIMPLE_ENCODER_QSV "qsv"
#define SIMPLE_ENCODER_QSV_AV1 "qsv_av1"
#define SIMPLE_ENCODER_NVENC "nvenc"
@@ -434,7 +435,7 @@ private:
void DeleteProfile(const char *profile_name, const char *profile_dir);
void RefreshProfiles();
void ChangeProfile();
- void CheckForSimpleModeX264Fallback();
+ void CheckForSimpleModeH264Fallback();
void SaveProjectNow();
diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp
index b056938e7..548e5f45f 100644
--- a/UI/window-basic-settings-stream.cpp
+++ b/UI/window-basic-settings-stream.cpp
@@ -1362,7 +1362,9 @@ static QString get_adv_fallback(const QString &enc)
return "com.apple.videotoolbox.videoencoder.ave.avc";
if (enc == "obs_qsv11_av1")
return "obs_qsv11";
- return "obs_x264";
+ if (EncoderAvailable("obs_x264"))
+ return "obs_x264";
+ return "ffmpeg_openh264";
}
static QString get_adv_audio_fallback(const QString &enc)
@@ -1391,7 +1393,9 @@ static QString get_simple_fallback(const QString &enc)
return SIMPLE_ENCODER_APPLE_H264;
if (enc == SIMPLE_ENCODER_QSV_AV1)
return SIMPLE_ENCODER_QSV;
- return SIMPLE_ENCODER_X264;
+ if (EncoderAvailable("obs_x264"))
+ return SIMPLE_ENCODER_X264;
+ return SIMPLE_ENCODER_OPENH264;
}
bool OBSBasicSettings::ServiceSupportsCodecCheck()
@@ -1585,8 +1589,12 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
- ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software.X264.H264"),
- QString(SIMPLE_ENCODER_X264));
+ ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software.OpenH264.H264"),
+ QString(SIMPLE_ENCODER_OPENH264));
+ if (service_supports_encoder(vcodecs, "obs_x264"))
+ ui->simpleOutStrEncoder->addItem(
+ ENCODER_STR("Software.X264.H264"),
+ QString(SIMPLE_ENCODER_X264));
if (service_supports_encoder(vcodecs, "obs_qsv11"))
ui->simpleOutStrEncoder->addItem(
ENCODER_STR("Hardware.QSV.H264"),
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index 48bb4bac6..51fe280db 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -3831,6 +3831,11 @@ void OBSBasicSettings::SaveOutputSettings()
do. This only exists to make sure that the x264 preset doesn't
get overwritten with empty data. */
presetType = "ApplePreset";
+ else if (encoder == SIMPLE_ENCODER_OPENH264)
+ /* The OpenH264 encoder does not have presets like the other encoders
+ do. This only exists to make sure that the x264 preset doesn't
+ get overwritten with empty data. */
+ presetType = "OpenH264Preset";
else
presetType = "Preset";
@@ -5286,11 +5291,16 @@ void OBSBasicSettings::FillSimpleRecordingValues()
ADD_QUALITY("HQ");
ADD_QUALITY("Lossless");
- ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software.X264.H264"),
- QString(SIMPLE_ENCODER_X264));
- ui->simpleOutRecEncoder->addItem(
- ENCODER_STR("SoftwareLowCPU.X264.H264"),
- QString(SIMPLE_ENCODER_X264_LOWCPU));
+ ui->simpleOutRecEncoder->addItem(ENCODER_STR("Software.OpenH264.H264"),
+ QString(SIMPLE_ENCODER_OPENH264));
+ if (EncoderAvailable("obs_x264")) {
+ ui->simpleOutRecEncoder->addItem(
+ ENCODER_STR("Software.X264.H264"),
+ QString(SIMPLE_ENCODER_X264));
+ ui->simpleOutRecEncoder->addItem(
+ ENCODER_STR("SoftwareLowCPU.X264.H264"),
+ QString(SIMPLE_ENCODER_X264_LOWCPU));
+ }
if (EncoderAvailable("obs_qsv11"))
ui->simpleOutRecEncoder->addItem(
ENCODER_STR("Hardware.QSV.H264"),
@@ -5463,6 +5473,9 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged()
defaultPreset = "balanced";
preset = curAMDAV1Preset;
+ } else if (encoder == SIMPLE_ENCODER_OPENH264) {
+ ui->simpleOutPreset->setVisible(false);
+ ui->simpleOutPresetLabel->setVisible(false);
} else {
#define PRESET_STR(val) \
--
2.39.2
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "obs-studio.spec"
}
}
@@ -0,0 +1,106 @@
From 1e2fc3ade587a7a7c24e4238996ca382c4c0f719 Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa@fedoraproject.org>
Date: Tue, 27 Dec 2022 09:15:08 -0500
Subject: [PATCH] CMake: Use the system version of QRCodeGenCPP dependency
---
CMakeLists.txt | 9 +++++++--
cmake/legacy.cmake | 12 ++++++++----
src/forms/ConnectInfo.cpp | 2 +-
3 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/plugins/obs-websocket/CMakeLists.txt b/plugins/obs-websocket/CMakeLists.txt
index 871f92b..288cc87 100644
--- a/plugins/obs-websocket/CMakeLists.txt
+++ b/plugins/obs-websocket/CMakeLists.txt
@@ -13,7 +13,7 @@ endif()
# Submodule deps check
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp")
- message(FATAL_ERROR "obs-websocket submodule deps not available.")
+ message(INFO "obs-websocket submodule deps not available.")
endif()
# Find Qt
@@ -22,6 +22,9 @@ find_qt(COMPONENTS Core Widgets Svg Network)
# Find nlohmann JSON
find_package(nlohmann_json 3 REQUIRED)
+# Find qrcodegencpp
+find_package(qrcodegencpp REQUIRED)
+
# Find WebSocket++
find_package(Websocketpp 0.8 REQUIRED)
@@ -157,7 +160,9 @@ target_link_libraries(
Qt::Network
nlohmann_json::nlohmann_json
Websocketpp::Websocketpp
- Asio::Asio)
+ Asio::Asio
+ qrcodegencpp
+ )
set_target_properties_obs(
obs-websocket
diff --git a/plugins/obs-websocket/cmake/legacy.cmake b/plugins/obs-websocket/cmake/legacy.cmake
index ab25ec7..98ca704 100644
--- a/plugins/obs-websocket/cmake/legacy.cmake
+++ b/plugins/obs-websocket/cmake/legacy.cmake
@@ -10,7 +10,7 @@ endif()
# Submodule deps check
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp)
- obs_status(FATAL_ERROR "obs-websocket submodule deps not available.")
+ obs_status(INFO "obs-websocket submodule deps not available.")
endif()
# Plugin tests flag
@@ -22,6 +22,9 @@ find_qt(COMPONENTS Core Widgets Svg Network)
# Find nlohmann JSON
find_package(nlohmann_json 3 REQUIRED)
+# Find qrcodegencpp
+find_package(qrcodegencpp REQUIRED)
+
# Find WebSocket++
find_package(Websocketpp 0.8 REQUIRED)
@@ -129,8 +132,7 @@ target_sources(
src/utils/Compat.cpp
src/utils/Compat.h
src/utils/Utils.h
- deps/qr/cpp/QrCode.cpp
- deps/qr/cpp/QrCode.hpp)
+ )
target_link_libraries(
obs-websocket
@@ -142,7 +144,9 @@ target_link_libraries(
Qt::Network
nlohmann_json::nlohmann_json
Websocketpp::Websocketpp
- Asio::Asio)
+ Asio::Asio
+ qrcodegencpp
+ )
target_compile_features(obs-websocket PRIVATE cxx_std_17)
diff --git a/plugins/obs-websocket/src/forms/ConnectInfo.cpp b/plugins/obs-websocket/src/forms/ConnectInfo.cpp
index ddb979d..89a04c4 100644
--- a/plugins/obs-websocket/src/forms/ConnectInfo.cpp
+++ b/plugins/obs-websocket/src/forms/ConnectInfo.cpp
@@ -21,9 +21,9 @@ with this program. If not, see <https://www.gnu.org/licenses/>
#include <QPainter>
#include <QUrl>
#include <obs-module.h>
+#include <qrcodegencpp/QrCode.hpp>
#include "ConnectInfo.h"
-#include "../../deps/qr/cpp/QrCode.hpp"
#include "../obs-websocket.h"
#include "../Config.h"
#include "../utils/Platform.h"
--
2.39.2
+151
View File
@@ -0,0 +1,151 @@
%global obswebsocketver 5.2.2
Name: obs-studio
Version: 29.1.1
Release: 1%?dist
Summary: Open Broadcaster Software Studio
License: GPL-2.0-or-later and ISC and MIT and BSD-1-Clause and BSD-2-Clause and BSD-3-Clause and BSL-1.0 and LGPL-2.1-or-later and CC0-1.0 and (CC0-1.0 or OpenSSL or Apache-2.0) and LicenseRef-Fedora-Public-Domain and (BSD-3-Clause or GPL-2.0-only)
URL: https://obsproject.com/
Source0: https://github.com/obsproject/obs-studio/archive/refs/tags/%version.tar.gz
Source1: https://github.com/obsproject/obs-websocket/archive/%obswebsocketver/obs-websocket-%obswebsocketver.tar.gz
BuildRequires: gcc
BuildRequires: cmake >= 3.16
BuildRequires: ninja-build
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: alsa-lib-devel
BuildRequires: asio-devel
BuildRequires: fdk-aac-free-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: jansson-devel >= 2.5
BuildRequires: json-devel
BuildRequires: libcurl-devel
BuildRequires: libdrm-devel
BuildRequires: libGL-devel
BuildRequires: libglvnd-devel
BuildRequires: librist-devel
BuildRequires: srt-devel
BuildRequires: libuuid-devel
BuildRequires: libv4l-devel
BuildRequires: libva-devel
BuildRequires: libX11-devel
BuildRequires: libxcb-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXinerama-devel
BuildRequires: libxkbcommon-devel
BuildRequires: luajit-devel
BuildRequires: mbedtls-devel
BuildRequires: pciutils-devel
BuildRequires: pipewire-devel
BuildRequires: pipewire-jack-audio-connection-kit-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: python3-devel
BuildRequires: libqrcodegencpp-devel
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtbase-private-devel
BuildRequires: qt6-qtsvg-devel
BuildRequires: qt6-qtwayland-devel
BuildRequires: speexdsp-devel
BuildRequires: swig
BuildRequires: systemd-devel
BuildRequires: wayland-devel
BuildRequires: websocketpp-devel
BuildRequires: ffmpeg-free-devel
BuildRequires: x264-devel
BuildRequires: vlc-devel
# websocket deps
BuildRequires: nlohmann-json-devel websocketpp-devel asio-devel
# Ensure QtWayland is installed when libwayland-client is installed
Requires: (qt6-qtwayland%{?_isa} if libwayland-client%{?_isa})
# For icon folder heirarchy
Requires: hicolor-icon-theme
# Virtual camera support
Recommends: kmod-v4l2loopback
# NVIDIA Hardware accelerated encoding: CUDA
Suggests: xorg-x11-drv-nvidia-cuda
# obs-studio-plugin-vlc-video
# We dlopen() libvlc
Requires: libvlc.so.%{libvlc_soversion}%{?lib64_suffix}
# These are modified sources that can't be easily unbundled
## License: MIT and CC0-1.0
## Newer version in Fedora with the same licensing
## Request filed upstream for fixing it: https://github.com/simd-everywhere/simde/issues/999
Provides: bundled(simde) = 0.7.1
## License: BSL-1.0
Provides: bundled(decklink-sdk)
## License: CC0-1.0 or OpenSSL or Apache-2.0
Provides: bundled(blake2)
## License: MIT
Provides: bundled(json11)
## License: MIT
Provides: bundled(libcaption)
## License: ISC
Provides: bundled(libff)
## License: BSD-1-Clause
Provides: bundled(uthash)
## License: BSD-3-Clause
Provides: bundled(rnnoise)
## License: LGPL-2.1-or-later and LicenseRef-Fedora-Public-Domain
Provides: bundled(librtmp)
## License: MIT
Provides: bundled(libnsgif)
## License: MIT
## Windows only dependency
## Support for Linux will also unbundle it
## Cf. https://github.com/obsproject/obs-studio/pull/8327
Provides: bundled(intel-mediasdk)
%description
Open Broadcaster Software is free and open source
software for video recording and live streaming.
%prep
%autosetup -p1 -n obs-studio-%{?snapdate:%{commit}}%{!?snapdate:%{version_no_tilde}}
# Prepare plugins/obs-websocket
tar -xf %SOURCE1 --strip-components=1 -C plugins/obs-websocket/
ls plugins/obs-websocket/
sed -e 's|OBS_MULTIARCH_SUFFIX|LIB_SUFFIX|g' -i cmake/Modules/ObsHelpers.cmake
# Kill rpath settings
sed -e '\|set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OBS_LIBRARY_DESTINATION}")|d' -i cmake/Modules/ObsHelpers_Linux.cmake
# touch the missing submodules
touch plugins/obs-browser/CMakeLists.txt
# remove -Werror flag to mitigate FTBFS with ffmpeg 5.1
sed -e 's|-Werror-implicit-function-declaration||g' -i cmake/Modules/CompilerConfig.cmake
sed -e '/-Werror/d' -i cmake/Modules/CompilerConfig.cmake
%build
%cmake -B build -S . \
-DUNIX_STRUCTURE=1 -GNinja \
-DCMAKE_SKIP_RPATH=1 \
-DBUILD_BROWSER=OFF \
-DENABLE_JACK=ON \
-DENABLE_LIBFDK=ON \
-DENABLE_AJA=OFF \
-DOBS_VERSION_OVERRIDE="%version-%release" \
-Wno-dev \
-DOpenGL_GL_PREFERENCE=GLVND
%cmake_build
%install
%cmake_install
%files
%doc README.rst
%license COPYING plugins/{{enc-amf,obs-websocket}/LICENSE,obs-{browser,filters,outputs}/COPYING}
%changelog
* Tue May 23 2023 windowsboy111 <windowsboy111@fyralabs.com> - 29.1.1-1
- Initial package
- Ref: https://pkgs.rpmfusion.org/cgit/free/obs-studio-freeworld.git/tree/obs-studio-freeworld.spec
- Ref: https://gitlab.archlinux.org/archlinux/packaging/packages/obs-studio/-/blob/main/PKGBUILD
+2
View File
@@ -0,0 +1,2 @@
rpm.version(gh("obsproject/obs-studio"));
rpm.global("obswebsocketver", gh("obsproject/obs-websocket"));
+8 -4
View File
@@ -1,5 +1,9 @@
let v = gh("VOICEVOX/voicevox");
rpm.global("ver", v);
// let v = gh("VOICEVOX/voicevox");
// rpm.version(v);
// let engines = get(`https://raw.githubusercontent.com/VOICEVOX/voicevox/${v}/package.json`).json().engines;
// rpm.define("nodev", find(">=([\\d.]+)", engines.node, 1));
// rpm.define("nodev", find(">=([\\d.]+)", engines.npm, 1));
let v = "0.14.7";
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));
print(find(">=([\\d.]+)", engines.node, 1));
print(find(">=([\\d.]+)", engines.npm, 1));
+2 -8
View File
@@ -1,16 +1,10 @@
%global nodev 16.17.0
%global npmv 8.11.0
%global ver 0.14.8
%define debug_package %nil
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: voicevox
Version: %ver
Release: 4%?dist
Version: 0.14.7
Release: 1%?dist
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
URL: https://voicevox.hiroshiba.jp
+2 -2
View File
@@ -1,13 +1,13 @@
%define debug_package %nil
Name: blahaj
Version: 2.1.0
Version: 2.0.2
Release: 1%{?dist}
Summary: Gay sharks at your local terminal - lolcat-like CLI tool
License: BSD-2-Clause
URL: https://blahaj.queer.software
Source0: https://github.com/GeopJr/BLAHAJ/archive/refs/tags/v%version.tar.gz
BuildRequires: crystal gcc libyaml-devel pcre-devel libgc-devel libevent-devel
BuildRequires: crystal gcc libyaml-devel pcre-devel
ExclusiveArch: x86_64
%description
+2 -2
View File
@@ -1,8 +1,8 @@
%define debug_package %nil
Name: crystal
Version: 1.10.1
Release: 1%{?dist}
Version: 1.8.2
Release: 2%{?dist}
Summary: The Crystal Programming Language
License: Apache-2.0
URL: https://crystal-lang.org/
+1 -1
View File
@@ -1,7 +1,7 @@
%define debug_package %{nil}
Name: dart
Version: 3.1.5
Version: 3.0.5
Release: 1%{?dist}
Summary: The Dart Language
License: BSD-3-Clause
@@ -1,6 +1,6 @@
Name: budgie-extras
Version: 1.7.0
Release: 1%{?dist}
Version: 1.6.0
Release: 2%{?dist}
License: GPL-3.0
Summary: Additional Budgie Desktop enhancements for user experience
@@ -51,6 +51,7 @@ Requires: budgie-applet-recentlyused
Requires: budgie-applet-rotation-lock
Requires: budgie-applet-showtime
Requires: budgie-applet-takeabreak
Requires: budgie-applet-trash
Requires: budgie-applet-visualspace
Requires: budgie-applet-wallstreet
Requires: budgie-applet-window-shuffler
@@ -207,6 +208,14 @@ upside down, dim the screen, lock screen or show a countdown message on break
time. The applet can be accessed quickly from the panel to temporarily switch
it off.
%package -n budgie-applet-trash
Requires: budgie-extras-common
Summary: Applet allows access to trash capabilities for the Budgie Desktop
%description -n budgie-applet-trash
The trash applet allows the user access the desktop trash capabilities
from the panel including the ability to delete and restore files stored
in the trash folder.
%package -n budgie-applet-visualspace
Requires: budgie-extras-common
Summary: Shows the current workspace(s), as bullet(s)
@@ -384,6 +393,9 @@ rm -f %{buildroot}%{_bindir}/quickchar
%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.takeabreak.gschema.xml
%{_datadir}/pixmaps/takeabreak*.svg
%files -n budgie-applet-trash
%{_libdir}/budgie-desktop/plugins/budgie-trash
%files -n budgie-applet-visualspace
%config %{_sysconfdir}/xdg/autostart/visualspace-autostart.desktop
%{_libdir}/budgie-desktop/plugins/budgie-visualspace
+2 -2
View File
@@ -1,4 +1,4 @@
%define _ubuntu_rel 22.10.20220822-0ubuntu4
%define _ubuntu_rel 22.10.20220822-0ubuntu3
%global _hardened_build 0
Name: compiz9
@@ -77,7 +77,7 @@ Compiz Config Manager helps configure Compiz Window Manager, version 0.9 series
Compiz 9 branch, which is newer then what Fedora packages and required by Unity 7.6 and higher.
%prep
%autosetup -p1 -n compiz-%version+%(echo %_ubuntu_rel | sed 's@-0ubuntu.@@')
%autosetup -p1 -n compiz
%build
# The driver blacklist hack is obselete
@@ -1,99 +0,0 @@
diff --git a/src/Core/Package.vala b/src/Core/Package.vala
index 62d206fa..cbf05983 100644
--- a/src/Core/Package.vala
+++ b/src/Core/Package.vala
@@ -42,8 +42,29 @@ public enum RuntimeStatus {
}
public class AppCenterCore.Package : Object {
+ // locally installed packages
public const string APPCENTER_PACKAGE_ORIGIN = "appcenter";
- private const string ELEMENTARY_STABLE_PACKAGE_ORIGIN = "elementary-stable-jammy-main";
+
+ // Fedora repositories
+ private const string FEDORA_STABLE_PACKAGE_ORIGIN = "fedora";
+ private const string FEDORA_UPDATES_PACKAGE_ORIGIN = "updates";
+ private const string FEDORA_TESTING_PACKAGE_ORIGIN = "updates-testing";
+
+ // RPMFusion repositories
+ private const string RPMFUSION_FREE_STABLE_PACKAGE_ORIGIN = "rpmfusion-free";
+ private const string RPMFUSION_FREE_UPDATES_PACKAGE_ORIGIN = "rpmfusion-free-updates";
+ private const string RPMFUSION_FREE_TESTING_PACKAGE_ORIGIN = "rpmfusion-free-updates-testing";
+ private const string RPMFUSION_NONFREE_STABLE_PACKAGE_ORIGIN = "rpmfusion-nonfree";
+ private const string RPMFUSION_NONFREE_UPDATES_PACKAGE_ORIGIN = "rpmfusion-nonfree-updates";
+ private const string RPMFUSION_NONFREE_TESTING_PACKAGE_ORIGIN = "rpmfusion-nonfree-updates-testing";
+
+ // Ultramarine repositories
+ private const string ULTRAMARINE_PACKAGE_ORIGIN = "ultramarine";
+ private const string AKMODS_SECUREBOOT_PACKAGE_ORIGIN = "copr::egeretto:akmods-secureboot";
+ private const string KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN = "copr::egeretto:kmodtool-secureboot";
+
+ // Terra repositories
+ private const string TERRA_PACKAGE_ORIGIN = "terra";
public RuntimeStatus runtime_status { get; set; default = RuntimeStatus.UP_TO_DATE; }
@@ -216,8 +237,12 @@ public class AppCenterCore.Package : Object {
public bool is_native {
get {
switch (component.get_origin ()) {
- case APPCENTER_PACKAGE_ORIGIN:
- case ELEMENTARY_STABLE_PACKAGE_ORIGIN:
+ case FEDORA_STABLE_PACKAGE_ORIGIN:
+ case FEDORA_UPDATES_PACKAGE_ORIGIN:
+ case FEDORA_TESTING_PACKAGE_ORIGIN:
+ case ULTRAMARINE_PACKAGE_ORIGIN:
+ case AKMODS_SECUREBOOT_PACKAGE_ORIGIN:
+ case KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN:
return true;
default:
return false;
@@ -328,12 +353,33 @@ public class AppCenterCore.Package : Object {
owned get {
unowned string origin = component.get_origin ();
if (backend is PackageKitBackend) {
- if (origin == APPCENTER_PACKAGE_ORIGIN) {
- return _("AppCenter");
- } else if (origin == ELEMENTARY_STABLE_PACKAGE_ORIGIN) {
- return _("elementary Updates");
- } else if (origin.has_prefix ("ubuntu-")) {
- return _("Ubuntu (non-curated)");
+ switch (origin) {
+ case FEDORA_STABLE_PACKAGE_ORIGIN:
+ return "Fedora";
+ case FEDORA_UPDATES_PACKAGE_ORIGIN:
+ return "Fedora Updates";
+ case FEDORA_TESTING_PACKAGE_ORIGIN:
+ return "Fedora Updates (Testing)";
+ case RPMFUSION_FREE_STABLE_PACKAGE_ORIGIN:
+ return "RPMFusion";
+ case RPMFUSION_FREE_UPDATES_PACKAGE_ORIGIN:
+ return "RPMFusion Updates";
+ case RPMFUSION_FREE_TESTING_PACKAGE_ORIGIN:
+ return "RPMFusion Updates (Testing)";
+ case RPMFUSION_NONFREE_STABLE_PACKAGE_ORIGIN:
+ return "RPMFusion (Non-free Software)";
+ case RPMFUSION_NONFREE_UPDATES_PACKAGE_ORIGIN:
+ return "RPMFusion (Non-free Software) Updates";
+ case RPMFUSION_NONFREE_TESTING_PACKAGE_ORIGIN:
+ return "RPMFusion (Non-free Software) Updates (Testing)";
+ case ULTRAMARINE_PACKAGE_ORIGIN:
+ return "Ultramarine";
+ case AKMODS_SECUREBOOT_PACKAGE_ORIGIN:
+ return "Secureboot support for akmods";
+ case KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN:
+ return "Secureboot support for kmodtool";
+ case TERRA_PACKAGE_ORIGIN:
+ return "Terra";
}
} else if (backend is FlatpakBackend) {
var fp_package = this as FlatpakPackage;
@@ -342,8 +388,6 @@ public class AppCenterCore.Package : Object {
}
return fp_package.remote_title;
- } else if (backend is UbuntuDriversBackend) {
- return _("Ubuntu Drivers");
}
return _("Unknown Origin (non-curated)");
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "elementary-appcenter.spec"
}
}
@@ -1,10 +0,0 @@
# false positives
addFilter("E: invalid-lc-messages-dir /usr/share/locale/bh*")
addFilter("E: invalid-lc-messages-dir /usr/share/locale/mo*")
# don't care about manpages
addFilter("W: no-manual-page-for-binary io.elementary.appcenter*")
# don't care about no documentation for sub-packages
addFilter("W: no-documentation*")
@@ -1,313 +0,0 @@
%global appname io.elementary.appcenter
Name: elementary-appcenter
Summary: Software Center from elementary
Version: 7.4.0
Release: 1%{?dist}
License: GPL-3.0
Provides: appcenter = %{version}-%{release}
Obsoletes: appcenter < 7.2.1-2
URL: https://github.com/elementary/appcenter
Source0: %url/archive/%{version}/appcenter-%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala
BuildRequires: appstream-vala
BuildRequires: pkgconfig(appstream) >= 0.10.0
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(flatpak)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(granite) >= 6.0.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(packagekit-glib2)
BuildRequires: pkgconfig(polkit-gobject-1)
Requires: PackageKit
Requires: hicolor-icon-theme
%description
AppCenter is a native Gtk+ app store built on AppStream and Packagekit.
%package gnome-shell-search-provider
Summary: Software Center from elementary (gnome-shell search provider)
Provides: appcenter-gnome-shell-search-provider = %{version}-%{release}
Obsoletes: appcenter-gnome-shell-search-provider < 7.2.1-2
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: gnome-shell
Supplements: (%{name} and gnome-shell)
%description gnome-shell-search-provider
AppCenter is a native Gtk+ app store built on AppStream and Packagekit.
This package contains the gnome-shell search provider.
%prep
%autosetup -p1 -n appcenter-%version
%build
%meson -Dpayments=false -Dcurated=false -Dhide_upstream_distro_apps=false
%meson_build
%install
%meson_install
%find_lang %{appname}
# remove empty hidden apps file
rm -r %{buildroot}/%{_sysconfdir}/%{appname}/appcenter.hiddenapps
# create autostart entry symlink
mkdir -p %{buildroot}/%{_sysconfdir}/xdg/autostart/
ln -s %{_datadir}/applications/%{appname}-daemon.desktop \
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
%check
desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}*.desktop
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%files -f %{appname}.lang
%doc README.md
%license COPYING
%dir %{_sysconfdir}/%{appname}
%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
%{_bindir}/%{appname}
%{_datadir}/applications/%{appname}*.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}{,-symbolic}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/polkit-1/actions/%{appname}.policy
%files gnome-shell-search-provider
%{_datadir}/gnome-shell/search-providers/%{appname}.search-provider.ini
%changelog
* Tue Jun 07 2022 Fabio Valentini <decathorpe@gmail.com> - 3.10.0-1
- Update to version 3.10.0.
* Tue Dec 14 2021 Fabio Valentini <decathorpe@gmail.com> - 3.9.1-1
- Update to version 3.9.1.
* Wed Nov 24 2021 Fabio Valentini <decathorpe@gmail.com> - 3.9.0-1
- Update to version 3.9.0.
* Sat Oct 30 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.2-1
- Update to version 3.8.2.
* Wed Oct 27 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.1-1
- Update to version 3.8.1.
* Tue Sep 28 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.0-1
- Update to version 3.8.0.
* Fri Sep 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-3
- Mark flatpak sources in the UI.
* Fri Sep 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-2
- Hard-code Fedora instead of ubuntu repository names.
* Tue Aug 31 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-1
- Update to version 3.7.1.
* Fri Aug 27 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.0-1
- Update to version 3.7.0.
* Tue Aug 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.3-1
- Update to version 3.6.3.
* Wed Aug 11 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.2-1
- Update to version 3.6.2.
* Thu Aug 05 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.1-1
- Update to version 3.6.1.
* Fri Jul 16 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.0-1
- Update to version 3.6.0.
* Fri Oct 09 2020 Fabio Valentini <decathorpe@gmail.com> - 3.5.1-1
- Update to version 3.5.1.
* Wed Oct 07 2020 Fabio Valentini <decathorpe@gmail.com> - 3.5.0-1
- Update to version 3.5.0.
* Fri Aug 07 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.2-1
- Update to version 3.4.2.
* Thu Jul 02 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.1-1
- Update to version 3.4.1.
* Thu May 28 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.0-1
- Update to version 3.4.0.
* Thu Apr 30 2020 Fabio Valentini <decathorpe@gmail.com> - 3.3.0-1
- Update to version 3.3.0.
* Thu Apr 09 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.4-1
- Update to version 3.2.4.
* Thu Apr 02 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.3-1
- Update to version 3.2.3.
* Mon Mar 23 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.2-1
- Update to version 3.2.2.
* Fri Feb 28 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.1-1
- Update to version 3.2.1.
* Fri Feb 15 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.1-1
- Update to version 3.1.1.
* Wed Jan 02 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.0-1
- Update to version 3.1.0.
- Remove empty blacklist file.
* Fri Nov 30 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0.1-2
- Drop elementaryOS blacklist in favor of the version shipped with appcenter.
* Thu Oct 25 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0.1-1
- Update to version 3.0.1.
* Tue Oct 16 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0-2
- Add missing autostart entry symlink for the daemon.
* Tue Oct 16 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0-1
- Update to version 3.0.
- Add gnome-shell search provider sub-package.
- Explicitly disable payment system and curated applications.
- Update blacklist file to current version from elementaryOS.
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Jun 13 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.9-2
- Rebuild for granite5 soname bump.
* Thu Mar 08 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.9-1
- Update to version 0.2.9.
- Add patch to fix build with the newer vala and PackageKit on f28+.
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 26 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.8-1
- Update to version 0.2.8.
* Tue Nov 07 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.7-1
- Update to version 0.2.7.
* Fri Nov 03 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.6-2
- Rebuild for granite soname bump.
* Mon Sep 18 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.6-1
- Update to version 0.2.6.
* Sat Aug 05 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.5-1
- Update to version 0.2.5.
- Include fedora-specific blacklist adapted from elementaryOS.
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jul 04 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.4-1
- Update to version 0.2.4.
* Thu Jun 01 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.3-1
- Update to version 0.2.3.
* Mon May 22 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.2-1
- Update to version 0.2.2.
* Sat May 20 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.1-1
- Update to version 0.2.1.
* Wed May 17 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2-1
- Update to version 0.2.
* Thu Mar 16 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.4-1
- Update to version 0.1.4.
- Depend on generic icon again, since it _should_ work.
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-7
- Add patch to rename generic icon to something branded.
* Wed Jan 25 2017 Fabio Valentini <decathorpe@gmail.com>
- Remove explicit BR: /usr/bin/pkgconfig.
* Mon Jan 23 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-6
- Explicitly depend on /usr/bin/pkg-config.
* Mon Jan 23 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-5
- Add missing scriptlets.
* Sat Jan 21 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-4
- Include icon to fix appdata metadata generation.
* Tue Jan 10 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-3
- Clean up spec file.
* Sat Dec 24 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-2
- Enable libunity support.
* Mon Dec 05 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-1
- Update to version 0.1.3.
* Sun Nov 20 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.2-2
- Build out of tree.
* Sat Oct 29 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.2-1
- Update to version 0.1.2.
* Fri Oct 07 2016 Neal Gompa <ngompa13@gmail.com> - 0.1.1-4
- Add patch to support AppStream 0.10.0 in F25 (LP#1626398)
* Thu Sep 29 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-3
- Mass rebuild.
* Wed Sep 28 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-2
- Spec file cleanups.
* Tue Sep 27 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-1
- Update to version 0.1.1.
* Sat Sep 17 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1-2
- Require PackageKit.
* Thu Aug 18 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1-1
- Update to version 0.1.
@@ -1 +0,0 @@
rpm.version(gh("elementary/appcenter"));
@@ -5,13 +5,15 @@
Name: elementary-calendar
Summary: Desktop calendar app designed for elementary
Version: 7.0.0
Release: 1%{?dist}
Version: 6.1.2
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/calendar
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
Patch0: https://patch-diff.githubusercontent.com/raw/elementary/calendar/pull/758.patch
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
@@ -19,8 +21,6 @@ BuildRequires: pkgconfig(champlain-0.12)
BuildRequires: pkgconfig(libecal-2.0)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(libhandy-1)
# BuildRequires: pkgconfig(libportal)
BuildRequires: pkgconfig(libportal-gtk3)
BuildRequires: folks-devel
BuildRequires: libgee-devel
BuildRequires: pkgconfig(geocode-glib-2.0)
@@ -69,17 +69,20 @@ This package contains the development files.
%check
%dnl desktop-file-validate %{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{appname}.desktop
desktop-file-validate \
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%files -f %{appname}.lang
%doc README.md
%license COPYING
%dnl %config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
%{_bindir}/%{appname}
@@ -89,7 +92,7 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appnam
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%files devel
%{_includedir}/%{name}/
@@ -5,8 +5,8 @@
Name: elementary-code
Summary: Code editor from elementary
Version: 7.1.0
Release: 1%{?dist}
Version: 7.0.0
Release: 3%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/%{srcname}
@@ -90,7 +90,6 @@ This package contains the development headers.
%{_datadir}/gtksourceview-4/styles/elementary-light.xml
%{_datadir}/metainfo/io.elementary.code.metainfo.xml
%{_datadir}/polkit-1/actions/%{appname}.policy
%{_mandir}/man1/%{appname}.1.gz
%files devel
%{_includedir}/codecore.h
@@ -5,8 +5,8 @@
Name: elementary-files
Summary: File manager from elementary
Version: 6.5.2
Release: 1%{?dist}
Version: 6.3.1
Release: 2%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/%{srcname}
@@ -101,7 +101,7 @@ desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%post portal
@@ -127,7 +127,7 @@ appstream-util validate-relax --nonet \
%{_datadir}/dbus-1/services/%{appname}.service
%{_datadir}/dbus-1/services/%{appname}.Filemanager1.service
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%{_datadir}/polkit-1/actions/%{appname}.policy
%files portal
@@ -3,15 +3,14 @@
Name: elementary-greeter
Summary: LightDM Login Screen for the elementary desktop
Version: 7.0.0
Release: 1%{?dist}
Version: 6.1.1
Release: 3%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/greeter
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
Source1: 40-%{appname}.conf
Patch0: https://github.com/elementary/greeter/commit/dbd9b6f9701f5992c3b3257c025b9cd80d041cc8.patch
Patch0: https://github.com/elementary/greeter/compare/93bbca3..1b3879d.patch
BuildRequires: desktop-file-utils
BuildRequires: gettext
@@ -36,9 +35,9 @@ BuildRequires: pkgconfig(granite) >= 5.0
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(liblightdm-gobject-1)
BuildRequires: pkgconfig(mutter-clutter-13)
BuildRequires: pkgconfig(mutter-cogl-13)
BuildRequires: pkgconfig(mutter-cogl-pango-13)
BuildRequires: pkgconfig(mutter-clutter-12)
BuildRequires: pkgconfig(mutter-cogl-12)
BuildRequires: pkgconfig(mutter-cogl-pango-12)
BuildRequires: pkgconfig(x11)
Provides: pantheon-greeter = %{version}-%{release}
@@ -70,7 +69,7 @@ The elementary Greeter is a styled Login Screen for LightDM.
%prep
%autosetup -p1 -n %{srcname}-%{version}
%autosetup -n %{srcname}-%{version} -p1
%build
@@ -91,7 +90,8 @@ install -pm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/lightdm/lightdm.conf.d/
%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%files -f %{appname}.lang
@@ -105,7 +105,7 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appnam
%{_sbindir}/%{appname}
%{_datadir}/xgreeters/%{appname}.desktop
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%{_datadir}/lightdm/lightdm.conf.d/40-%appname.conf
@@ -3,8 +3,8 @@
Name: elementary-icon-theme
Summary: Icons from the Elementary Project
Version: 7.3.1
Release: 1%{?dist}
Version: 7.3.0
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/icons
@@ -72,7 +72,7 @@ touch %{buildroot}/%{_datadir}/icons/elementary/icon-theme.cache
%check
# ignore validation until appstream-glib knows the "icon-theme" component type
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml || :
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml || :
%transfiletriggerin -- %{_datadir}/icons/elementary
@@ -96,7 +96,7 @@ gtk-update-icon-cache --force %{_datadir}/icons/elementary &>/dev/null || :
%{_datadir}/icons/elementary/cursor.theme
%{_datadir}/icons/elementary/index.theme
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%files gimp-palette
%{_datadir}/gimp/2.0/palettes/elementary.gpl
@@ -3,8 +3,8 @@
Name: elementary-notifications
Version: 7.0.1
Release: 1%{?dist}
Version: 6.0.3
Release: 2%{?dist}
Summary: GTK Notification server for Pantheon
License: GPL-3.0
@@ -42,10 +42,6 @@ Provides: %{name} = %{version}-%{release}
%meson_install
%check
appstream-util validate-relax --nonet %buildroot%_datadir/metainfo/%appname.metainfo.xml
%files
%license LICENSE
%doc README.md
@@ -56,7 +52,7 @@ appstream-util validate-relax --nonet %buildroot%_datadir/metainfo/%appname.meta
%config %{_sysconfdir}/xdg/autostart/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_metainfodir}/%{appname}.metainfo.xml
%{_metainfodir}/%{appname}.appdata.xml
%changelog
@@ -3,8 +3,8 @@
Name: elementary-onboarding
Summary: Onboarding app for new users
Version: 7.2.0
Release: 1%{?dist}
Version: 7.1.0
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/onboarding
@@ -12,19 +12,15 @@ License: LGPL-2.0-or-later
URL: https://github.com/elementary/photos
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
# RIP the publishing plugins (sorry for the "wide" patch, having issues with just the relevant commits)
Patch0: https://github.com/elementary/photos/compare/7261606a05d1f41116aba5c86b62d1f739419ed1..09e55943b266bc2861b913251cb834169d81743e.patch
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson >= 0.46.0
BuildRequires: vala
BuildRequires: fdupes
BuildRequires: git-core
BuildRequires: pkgconfig(gee-0.8) >= 0.8.5
BuildRequires: pkgconfig(geocode-glib-2.0)
BuildRequires: pkgconfig(geocode-glib-1.0)
BuildRequires: pkgconfig(gexiv2) >= 0.4.90
BuildRequires: pkgconfig(gio-2.0) >= 2.20
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.20
@@ -37,12 +33,17 @@ BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.0.0
BuildRequires: pkgconfig(gstreamer-pbutils-1.0) >= 1.0.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.6.0
BuildRequires: pkgconfig(gudev-1.0) >= 145
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libexif) >= 0.6.16
BuildRequires: pkgconfig(libgphoto2) >= 2.4.2
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(libraw) >= 0.13.2
BuildRequires: pkgconfig(libsoup-2.4) >= 2.26.0
BuildRequires: pkgconfig(libwebp) >= 0.4.4
BuildRequires: pkgconfig(libxml-2.0) >= 2.6.32
BuildRequires: pkgconfig(rest-0.7) >= 0.7
BuildRequires: pkgconfig(sqlite3) >= 3.5.9
BuildRequires: pkgconfig(webkit2gtk-4.0) >= 2.0.0
Requires: hicolor-icon-theme
@@ -52,8 +53,7 @@ Foundation.
%prep
%autosetup -n %{srcname}-%{version} -N
git apply %PATCH0 # The .patch file has Git binary patches, so we need to apply it manually with Git
%autosetup -n %{srcname}-%{version} -p1
%build
@@ -94,6 +94,7 @@ appstream-util validate-relax --nonet \
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/applications/%{appname}-viewer.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/glib-2.0/schemas/%{appname}-extras.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/icons/hicolor/*/apps/%{appname}-viewer.svg
%{_datadir}/metainfo/%{appname}.appdata.xml
@@ -3,8 +3,8 @@
%global iface io.elementary.SettingsDaemon.AccountsService
Name: elementary-settings-daemon
Version: 1.3.1
Release: 1%{?dist}
Version: 1.2.0
Release: 2%{?dist}
Summary: Settings Daemon and Portal for Pantheon
License: GPL-3.0-or-later
@@ -25,7 +25,6 @@ BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(granite) >= 5.3.0
BuildRequires: pkgconfig(libgeoclue-2.0)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(fwupd)
Requires: xdg-desktop-portal
@@ -48,27 +47,25 @@ Requires: xdg-desktop-portal
%check
desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}.desktop
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%post
%systemd_user_post %{appname}.xdg-desktop-portal.service
%systemd_post %{appname}.check-for-firmware-updates.timer
%preun
%systemd_user_preun %{appname}.xdg-desktop-portal.service
%systemd_preun %{appname}.check-for-firmware-updates.timer
%files
%license LICENSE
%doc README.md
%config(noreplace) %{_datadir}/applications/%{appname}.desktop
%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}.desktop
%{_bindir}/%{appname}
@@ -78,16 +75,10 @@ appstream-util validate-relax --nonet \
%{_datadir}/dbus-1/interfaces/%{iface}.xml
%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.elementary.settings-daemon.service
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%{_datadir}/xdg-desktop-portal/portals/%{appname}.portal
%{_userunitdir}/%{appname}.xdg-desktop-portal.service
%{_unitdir}/%{appname}.check-for-firmware-updates.service
%{_unitdir}/%{appname}.check-for-firmware-updates.timer
%{_sysconfdir}/xdg/autostart/%appname.desktop
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%changelog
@@ -3,8 +3,8 @@
Name: elementary-sideload
Summary: Sideload flatpaks on Pantheon
Version: 6.2.1
Release: 1%{?dist}
Version: 6.2.0
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/sideload
@@ -3,8 +3,8 @@
Name: elementary-videos
Summary: Video player and library app from elementary
Version: 3.0.0
Release: 1%{?dist}
Version: 2.9.1
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/%{srcname}
+4 -4
View File
@@ -2,8 +2,8 @@
Name: gala
Summary: Gala window manager
Version: 7.1.2
Release: 1%{?dist}
Version: 7.0.3
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/gala
@@ -92,7 +92,7 @@ desktop-file-validate \
%{buildroot}/%{_datadir}/applications/gala*.desktop
#appstream-util validate-relax --nonet \
# %%{buildroot}/%%{_datadir}/metainfo/%%{name}.metainfo.xml
# %%{buildroot}/%%{_datadir}/metainfo/%%{name}.appdata.xml
%files -f gala.lang
@@ -108,7 +108,7 @@ desktop-file-validate \
%{_datadir}/applications/gala*.desktop
%{_datadir}/glib-2.0/schemas/20_elementary.pantheon.wm.gschema.override
%{_datadir}/glib-2.0/schemas/org.pantheon.desktop.gala.gschema.xml
%{_datadir}/metainfo/%{name}.metainfo.xml
%{_datadir}/metainfo/%{name}.appdata.xml
%files libs
%doc AUTHORS README.md
@@ -1,5 +1,5 @@
Name: pantheon-tweaks
Version: 1.1.1
Version: 1.1.0
Release: 1%{?dist}
Summary: A system settings panel for the Pantheon desktop environment
License: GPL-3.0
@@ -9,7 +9,7 @@
Name: switchboard-plug-a11y
Summary: Switchboard Accessibility plug
Version: 2.3.0
Release: 1%{?dist}
Release: 5%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-a11y
@@ -8,8 +8,8 @@
Name: switchboard-plug-applications
Summary: Switchboard Applications plug
Version: 7.0.1
Release: 1%{?dist}
Version: 6.0.1
Release: 4%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-applications
@@ -25,9 +25,7 @@ BuildRequires: pkgconfig(flatpak) >= 1.1.2
BuildRequires: pkgconfig(glib-2.0) >= 2.34
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(switchboard-2.0)
BuildRequires: pkgconfig(libhandy-1)
Requires: switchboard%{?_isa}
Supplements: switchboard%{?_isa}
@@ -49,16 +47,15 @@ that allows the user to manage application settings.
%install
%meson_install
%fdupes %buildroot%_datadir/locale/
mv %buildroot%_datadir/metainfo/%plug_rdnn.appdata.xml %buildroot%_datadir/metainfo/%plug_rdnn.metainfo.xml || true
%find_lang %{plug_name}-plug
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%check
appstream-util validate-relax --nonet \
%{buildroot}%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_name}-plug.lang
@@ -67,8 +64,7 @@ appstream-util validate-relax --nonet \
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/icons/hicolor/*/apps/io.elementary.settings.applications.svg
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -9,7 +9,7 @@
Name: switchboard-plug-bluetooth
Summary: Switchboard Bluetooth plug
Version: 2.3.6
Release: 1%{?dist}
Release: 4%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-bluetooth
@@ -9,7 +9,7 @@
Name: switchboard-plug-datetime
Summary: Switchboard Date & Time Plug
Version: 2.2.0
Release: 1%{?dist}
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-datetime
@@ -8,8 +8,8 @@
Name: switchboard-plug-display
Summary: Switchboard Display plug
Version: 7.0.0
Release: 1%{?dist}
Version: 2.3.3
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-display
@@ -52,7 +52,7 @@ them.
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_name}-plug.lang
@@ -61,7 +61,7 @@ appstream-util validate-relax --nonet \
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -8,8 +8,8 @@
Name: switchboard-plug-keyboard
Summary: Switchboard Keyboard plug
Version: 3.2.1
Release: 1%{?dist}
Version: 3.1.1
Release: 2%?dist
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-keyboard
@@ -59,7 +59,7 @@ same time. Keyboard shortcuts are also part of this plug.
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_name}-plug.lang
@@ -67,8 +67,8 @@ appstream-util validate-relax --nonet \
%license COPYING
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/glib-2.0/schemas/keyboard.gschema.xml
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -15,8 +15,6 @@ License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-network
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
Patch0: https://github.com/elementary/switchboard-plug-network/pull/357.patch
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
@@ -6,8 +6,8 @@
Name: switchboard-plug-onlineaccounts
Summary: Switchboard Online Accounts plug
Version: 6.5.3
Release: 1%{?dist}
Version: 6.5.2
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/switchboard-plug-onlineaccounts
@@ -53,19 +53,19 @@ Manage online accounts and connected applications.
%find_lang %{plug_name}-plug
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_name}-plug.lang
%license LICENSE
%doc README.md
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
@@ -8,8 +8,8 @@
Name: switchboard-plug-pantheon-shell
Summary: Switchboard Pantheon Shell plug
Version: 6.5.0
Release: 1%{?dist}
Version: 6.4.0
Release: 2%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/switchboard-plug-pantheon-shell
@@ -8,8 +8,8 @@
Name: switchboard-plug-security-privacy
Summary: Switchboard Security & Privacy Plug
Version: 7.1.0
Release: 1%{?dist}
Version: 7.0.0
Release: 1%?dist
License: GPL-3.0-or-later
URL: https://github.com/elementary/%name
@@ -8,8 +8,8 @@
Name: switchboard-plug-sound
Summary: Switchboard Sound Plug
Version: 2.3.3
Release: 1%{?dist}
Version: 2.3.2
Release: 2%?dist
License: LGPL-2.0-or-later
URL: https://github.com/elementary/switchboard-plug-sound
@@ -27,7 +27,6 @@ BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libcanberra-gtk)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(libpulse-mainloop-glib)
BuildRequires: pkgconfig(switchboard-2.0)
@@ -53,11 +52,12 @@ A sound plug for Switchboard.
%find_lang %{plug_name}-plug
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%files -f %{plug_name}-plug.lang
@@ -66,7 +66,7 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{plug_r
%{_libdir}/switchboard/%{plug_type}/lib%{plug_name}.so
%{_datadir}/metainfo/%{plug_rdnn}.metainfo.xml
%{_datadir}/metainfo/%{plug_rdnn}.appdata.xml
%changelog
@@ -5,7 +5,7 @@
Name: switchboard-plug-tweaks
Summary: Switchboard Tweaks Plug
Version: 1.1.1
Version: 1.1.0
Release: 1%{?dist}
License: GPL-3.0-or-later
@@ -6,7 +6,7 @@
%global plug_name wallet
%global plug_rdnn io.elementary.switchboard.wallet
%global commit 50582fc7ee43a4b47647d04786dcf1d0eb45af36
%global commit bfe73dfb95d9b46a0a34e0db35a178233c8552b0
Name: switchboard-plug-wallet
Summary: Switchboard Wallet Plug
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-bluetooth
Summary: Bluetooth Indicator for wingpanel
Version: 7.0.1
Release: 1%{?dist}
Version: 2.1.8
Release: 4%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/%{name}
@@ -48,13 +48,13 @@ A bluetooth indicator for wingpanel.
%fdupes %buildroot%_datadir/locale/
%find_lang bluetooth-indicator
# remove the specified stock icon from metainfo (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%files -f bluetooth-indicator.lang
@@ -63,11 +63,8 @@ appstream-util validate-relax --nonet \
%{_libdir}/wingpanel/libbluetooth.so
%_bindir/io.elementary.bluetooth
%{_datadir}/glib-2.0/schemas/io.elementary.desktop.wingpanel.bluetooth.gschema.xml
%{_datadir}/applications/io.elementary.bluetooth.desktop
%{_datadir}/metainfo/%{appname}.metainfo.xml
%_sysconfdir/xdg/autostart/io.elementary.bluetooth-daemon.desktop
%{_datadir}/metainfo/%{appname}.appdata.xml
%changelog
@@ -6,7 +6,7 @@
Name: wingpanel-indicator-datetime
Summary: Datetime Indicator for wingpanel
Version: 2.4.1
Release: 1%{?dist}
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-datetime
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-network
Summary: Network Indicator for wingpanel
Version: 7.0.2
Release: 1%{?dist}
Version: 7.0.1
Release: 2%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-network
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-nightlight
Summary: Night Light Indicator for wingpanel
Version: 2.1.2
Release: 1%{?dist}
Version: 2.1.1
Release: 2%{?dist}
License: GPL-2.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-nightlight
@@ -48,8 +48,8 @@ A wingpanel indicator for Night Light.
%check
%dnl appstream-util validate-relax --nonet \
%dnl %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%files -f nightlight-indicator.lang
@@ -58,7 +58,7 @@ A wingpanel indicator for Night Light.
%{_libdir}/wingpanel/libnightlight.so
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%changelog
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-notifications
Summary: Notifications Indicator for wingpanel
Version: 7.1.0
Release: 1%{?dist}
Version: 6.0.7
Release: 2%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-notifications
@@ -52,7 +52,7 @@ A notifications indicator for wingpanel.
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%files -f notifications-indicator.lang
@@ -61,8 +61,7 @@ appstream-util validate-relax --nonet \
%{_libdir}/wingpanel/libnotifications.so
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%changelog
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-power
Summary: Power indicator for wingpanel
Version: 6.2.1
Release: 1%{?dist}
Version: 6.2.0
Release: 2%?dist
License: GPL-2.0-or-later
URL: https://github.com/elementary/wingpanel-indicator-power
@@ -5,8 +5,8 @@
Name: wingpanel-indicator-sound
Summary: Sound Indicator for wingpanel
Version: 7.0.0
Release: 1%{?dist}
Version: 6.0.2
Release: 2%?dist
License: GPL-3.0
URL: https://github.com/elementary/%{name}
@@ -50,12 +50,12 @@ A sound indicator for wingpanel.
%find_lang sound-indicator
# remove the specified stock icon from appdata (invalid in libappstream-glib)
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
sed -i '/icon type="stock"/d' %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%check
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml
%files -f sound-indicator.lang
@@ -65,7 +65,7 @@ appstream-util validate-relax --nonet \
%{_libdir}/wingpanel/libsound.so
%{_datadir}/glib-2.0/schemas/io.elementary.desktop.wingpanel.sound.gschema.xml
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/metainfo/%{appname}.appdata.xml
%changelog
@@ -6,12 +6,13 @@ launcher.}
Name: wingpanel
Summary: Stylish top panel
Version: 3.0.5
Release: 1%{?dist}
Version: 3.0.3
Release: %autorelease
License: GPL-2.0-or-later
URL: https://github.com/elementary/wingpanel
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch0: https://github.com/elementary/wingpanel/compare/f8b98a5..0cbf289.patch
BuildRequires: desktop-file-utils
BuildRequires: gettext
@@ -27,9 +28,9 @@ BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(granite) >= 5.4.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10
BuildRequires: pkgconfig(mutter-clutter-13)
BuildRequires: pkgconfig(mutter-cogl-13)
BuildRequires: pkgconfig(mutter-cogl-pango-13)
BuildRequires: pkgconfig(mutter-clutter-12)
BuildRequires: pkgconfig(mutter-cogl-12)
BuildRequires: pkgconfig(mutter-cogl-pango-12)
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@@ -1,8 +1,8 @@
%define debug_package %{nil}
Name: xdg-desktop-portal-pantheon
Version: 7.1.1
Release: 1%{?dist}
Version: 7.0.0
Release: 1%?dist
Summary: Pantheon XDG Desktop Portals
License: GPL-3.0
URL: https://github.com/elementary/portals
@@ -1,12 +1,17 @@
%global forgeurl https://invent.kde.org/system/liquidshell
%global commit 9b14b9766f5d8db2b81c9bc7d4163dc07534402c
%global scm git
%forgemeta
Name: kde-liquidshell
Version: 1.9.0
Version: 1.8.1
Release: %autorelease
Summary: Basic desktop shell using QtWidgets
Provides: liquidshell = %version
License: GPL-3.0
URL: https://invent.kde.org/system/liquidshell
Source0: https://download.kde.org/stable/liquidshell/liquidshell-%version.tar.xz
URL: %{forgeurl}
Source0: %{forgeurl}/-/archive/%{commit}/liquidshell-%{commit}.tar.gz
BuildRequires: cmake
BuildRequires: libappstream-glib
@@ -44,7 +49,7 @@ Recommends: polkit-kde
liquidshell is a basic Desktop Shell implemented using QtWidgets.
%prep
%autosetup -n liquidshell-%version
%autosetup -n liquidshell-%{commit}
%build
%cmake_kf5 -DWITH_PACKAGEKIT=true
@@ -64,7 +69,6 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml
%{_datadir}/knotifications5/liquidshell.notifyrc
%{_metainfodir}/org.kde.liquidshell.appdata.xml
%{_datadir}/xsessions/liquidshell-session.desktop
%{_datadir}/locale/*/LC_MESSAGES/liquidshell.mo
%changelog
%autochangelog
@@ -1,2 +0,0 @@
let html = get("https://download.kde.org/stable/liquidshell/");
rpm.version(find(`>liquidshell-([.\d]+)\.tar\.xz</a>`, html, 1));
@@ -1,6 +1,6 @@
%global forgeurl https://github.com/KDE/latte-dock/
%global commit 7b210a9970360c3cde833e8b76f9231b4db5ae29
%global commit 6532af166f2c6524827c8e1c22af6b9c2accc11f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date %(date '+%Y%m%d')
%global snapshot_info %{commit_date}.%{shortcommit}
-52
View File
@@ -1,52 +0,0 @@
Name: abacus
Version: 0.1.0
Release: %autorelease
Summary: Calculate Stuff
URL: https://github.com/tau-OS/abacus
Source0: %url/archive/refs/tags/v%{version}.tar.gz
License: GPL-3.0
BuildRequires: meson
BuildRequires: gcc
BuildRequires: gettext
BuildRequires: cmake
BuildRequires: vala
BuildRequires: ninja-build
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(libhelium-1)
BuildRequires: pkgconfig(json-glib-1.0)
Requires: libhelium
BuildRequires: desktop-file-utils
%description
%{summary}.
%prep
%forgeautosetup
%build
%meson
%meson_build
%install
%meson_install
%find_lang com.fyralabs.Abacus
%post
/usr/bin/update-desktop-database &> /dev/null || :
%postun
/usr/bin/update-desktop-database &> /dev/null || :
%files -f com.fyralabs.Abacus.lang
%license LICENSE
%{_bindir}/com.fyralabs.Abacus
%{_datadir}/applications/com.fyralabs.Abacus.desktop
%{_datadir}/icons/hicolor/scalable/apps/com.fyralabs.Abacus*
%{_datadir}/icons/hicolor/symbolic/apps/com.fyralabs.Abacus*
%changelog
%autochangelog
-5
View File
@@ -1,5 +0,0 @@
project "pkg" {
rpm {
spec = "abacus.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("tau-OS/abacus"));
-5
View File
@@ -1,5 +0,0 @@
project "pkg" {
rpm {
spec = "kairos.spec"
}
}
-59
View File
@@ -1,59 +0,0 @@
Name: kairos
Version: 0.1.0
Release: %autorelease
Summary: Check the weather outside
URL: https://github.com/tau-OS/kairos
Source0: %url/archive/refs/tags/v%{version}.tar.gz
License: GPL-3.0
BuildRequires: meson
BuildRequires: gcc
BuildRequires: gettext
BuildRequires: cmake
BuildRequires: vala
BuildRequires: ninja-build
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(libgeoclue-2.0)
BuildRequires: pkgconfig(geocode-glib-2.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(libbismuth-1)
BuildRequires: pkgconfig(libhelium-1)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(gweather4)
Requires: libhelium
BuildRequires: desktop-file-utils
%description
%{summary}.
%prep
%forgeautosetup
%build
%meson
%meson_build
%install
%meson_install
%post
/usr/bin/update-desktop-database &> /dev/null || :
%postun
/usr/bin/update-desktop-database &> /dev/null || :
%files
%license COPYING
%{_bindir}/com.fyralabs.Kairos
%{_datadir}/applications/com.fyralabs.Kairos.desktop
%{_datadir}/dbus-1/services/com.fyralabs.Kairos.service
%{_datadir}/icons/hicolor/*/apps/com.fyralabs.Kairos*
%{_datadir}/metainfo/com.fyralabs.Kairos.appdata.xml
%{_datadir}/glib-2.0/schemas/com.fyralabs.Kairos.gschema.xml
%changelog
%autochangelog
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("tau-OS/kairos"));
+3 -12
View File
@@ -1,10 +1,10 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri
%global commit 4ea3c0ce0ac7a51c41ac015c7973db703d20c7d3
%global commit 8a2f908c306ec63a7a0f14c247fa1676c655c7ce
%forgemeta
Name: lomiri
Version: 0.1.4
Release: 1%{?dist}
Version: 0.1.2
Release: 2%?dist
Summary: A convergent desktop environment by Ubports
License: GPLv3 AND LGPLv3
@@ -87,7 +87,6 @@ Lomiri, Previously Unity8 is a convergent desktop environment built with Qt.
%package tests
Summary: Test files for %{name}
Requires: dbus-test-runner
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tests
@@ -95,10 +94,6 @@ The %{name}-tests package contains test files for %{name}.
%prep
%autosetup -n lomiri-%commit -p1
# Ubuntu specific, may have to be updated every background image change on Gnome or Ubuntu
for i in $(grep -rl warty-final-ubuntu); do
sed -i 's!warty-final-ubuntu.png!f38/default/f38-01-day.png!' $i
done
%build
%cmake -DWerror=OFF -DDEB_HOST_MULTIARCH=%{_arch} -DCMAKE_INSTALL_LOCALSTATEDIR="%{_localstatedir}" -DDISPLAYED_DISTRO_NAME="Fedora" -DUSE_MIROIL=1
@@ -135,8 +130,6 @@ install -Dm644 data/test.sensors %{buildroot}%{_sysconfdir}/lomirisensors
%{_libdir}/lomiri/qml/LightDM/
%{_libdir}/lomiri/qml/Lomiri/
%{_libdir}/lomiri/qml/Powerd/
%{_libdir}/lomiri/qml/ProcessControl/libProcessControl-qml.so
%{_libdir}/lomiri/qml/ProcessControl/qmldir
%{_libdir}/lomiri/qml/ScreenshotDirectory/
%{_libdir}/lomiri/qml/SessionBroadcast/
%{_libdir}/lomiri/qml/UInput/
@@ -148,7 +141,6 @@ install -Dm644 data/test.sensors %{buildroot}%{_sysconfdir}/lomirisensors
%{_datadir}/accountsservice/interfaces/com.lomiri.shell.AccountsService.xml
%{_datadir}/applications/*.desktop
%{_datadir}/dbus-1/interfaces/com.lomiri.shell.AccountsService.xml
%{_datadir}/dbus-1/interfaces/com.lomiri.ProcessControl.xml
%{_datadir}/lightdm/greeters/lomiri-greeter.desktop
%{_datadir}/lightdm/lightdm.conf.d/51-lomiri-greeter.conf
%dir %{_datadir}/lomiri
@@ -170,7 +162,6 @@ install -Dm644 data/test.sensors %{buildroot}%{_sysconfdir}/lomirisensors
%{_sharedstatedir}/lomiri/version
%{_sharedstatedir}/polkit-1/localauthority/10-vendor.d/50-com.lomiri.wizard.pkla
%files tests
%{_bindir}/lomiri-mock-indicator-service
%{_libdir}/lomiri/qml/mocks/
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "mate-tweak.spec"
}
}
-47
View File
@@ -1,47 +0,0 @@
%define debug_package %nil
Name: mate-tweak
Version: 22.10.0
Release: 1%?dist
Summary: Tweak tool for the MATE Desktop
License: GPL-2.0
URL: https://github.com/ubuntu-mate/mate-tweak
Source0: %url/archive/refs/tags/%version.tar.gz
Requires: python3
BuildRequires: python3dist(setuptools) rpm_macro(py3_build) intltool desktop-file-utils
%description
This is MATE Tweak, a fork of mintDesktop.
%prep
%autosetup
python3 -m ensurepip
python3 -m pip install distutils-extra-python
%build
%py3_build
%install
%py3_install
%check
desktop-file-validate %buildroot%_datadir/applications/*.desktop
%files
%doc README.md
%license COPYING
%_bindir/%name
%_bindir/marco-{compton,xrender,picom,glx,xr_glx_hybrid,no-composite}
%_prefix/lib/%name/
%_datadir/locale/*/LC_MESSAGES/%name.mo
%_mandir/man1/marco-{glx,no-composite,xr_glx_hybrid,xrender}.1.gz
%_mandir/man1/%name.1.gz
%_datadir/applications/%name.desktop
%_datadir/applications/marco-{glx,no-composite,xr_glx_hybrid,xrender}.desktop
%_datadir/polkit-1/actions/org.mate.%name.policy
%ghost %_prefix/lib/python3.11/site-packages/__pycache__
%ghost %_prefix/lib/python3.11/site-packages/setup.py
%ghost %_prefix/lib/python3.11/site-packages/mate_tweak-%version-py%python3_version.egg-info/
%changelog
%autochangelog
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("ubuntu-mate/mate-tweak"));
@@ -2,7 +2,7 @@
%global debug_package %{nil}
Name: iosevka-fusion-fonts
Version: 27.3.1
Version: 24.1.4
Release: 1%{?dist}
Summary: A custom font based on iosevka
+34 -34
View File
@@ -46,28 +46,28 @@ cv57 = 6 # ι iota serified flat tailed
cv58 = 2 # λ lambda top tailed
cv59 = 1 # μ me tailless
cv60 = 2 # ξ xe flat top
cv77 = 13 # 0 oval dashed forward slash
cv80 = 2 # 3 arched
cv82 = 2 # 5 open contour
cv84 = 1 # 7 straight
cv85 = 3 # 8 two asymmetric circles
cv89 = 2 # ~ tilde low
cv90 = 3 # * asterisk five-pointed low
cv91 = 1 # _ underscore right below baseline
cv92 = 1 # ^ uptick high
cv93 = 1 # ( parentheses normal slope
cv94 = 2 # { braces curly
cv95 = 1 # # column straight
cv97 = 4 # @ three-fold, tall height
cv98 = 2 # $ dollar strike through
VXSF = 2 # ¢ cent strike through
cv99 = 1 # % percent dots
VXSA = 1 # | bar natural slope
VXSB = 1 # ' single quote straight
VXSC = 1 # ` grave/backtick straight
VXSD = 1 # ? smooth
cv88 = 2 # .:; square punctuation marks
cv87 = 2 # ijäöü square diacretics
cv76 = 13 # 0 oval dashed forward slash
cv79 = 2 # 3 arched
cv81 = 2 # 5 open contour
cv83 = 1 # 7 straight
cv84 = 3 # 8 two asymmetric circles
cv88 = 2 # ~ tilde low
cv89 = 2 # * asterisk five-pointed low
cv90 = 1 # _ underscore right below baseline
cv91 = 1 # ^ uptick high
cv92 = 1 # ( parentheses normal slope
cv93 = 2 # { braces curly
cv94 = 1 # # column straight
cv96 = 4 # @ three-fold, tall height
cv97 = 2 # $ dollar strike through
VXSE = 2 # ¢ cent strike through
cv98 = 1 # % percent dots
cv99 = 1 # | bar natural slope
VXSA = 1 # ' single quote straight
VXSB = 1 # ` grave/backtick straight
VXSC = 1 # ? smooth
cv87 = 2 # .:; square punctuation marks
cv86 = 2 # ijäöü square diacretics
[buildPlans.iosevka-fusion.variants.upright]
cv26 = 3 # a double storey rounded
@@ -86,12 +86,12 @@ cv46 = 1 # v straight
cv47 = 1 # w straight
cv48 = 1 # x straight
cv50 = 1 # z straight
cv78 = 3 # 1 serified with base
cv79 = 1 # 2 straight
cv81 = 3 # 4 semi-open contour
cv83 = 3 # 6 straight
cv86 = 3 # 9 straight
cv96 = 2 # & et open top (ampersand)
cv72 = 3 # 1 serified with base
cv73 = 1 # 2 straight
cv75 = 3 # 4 semi-open contour
cv77 = 3 # 6 straight
cv80 = 3 # 9 straight
cv89 = 2 # & et open top (ampersand)
[buildPlans.iosevka-fusion.variants.italic]
cv26 = 1 # a double storey straight
@@ -110,12 +110,12 @@ cv46 = 2 # v curly
cv47 = 2 # w curly short middle top
cv48 = 2 # x curly
cv50 = 4 # z curly
cv78 = 2 # 1 serified no base
cv79 = 2 # 2 curly
cv81 = 1 # 4 closed contour crossing
cv83 = 1 # 6 closed contour
cv86 = 1 # 9 closed contour
cv96 = 4 # & et open top toothed (ampersand)
cv72 = 2 # 1 serified no base
cv73 = 2 # 2 curly
cv75 = 1 # 4 closed contour crossing
cv77 = 1 # 6 closed contour
cv80 = 1 # 9 closed contour
cv89 = 4 # & et open top toothed (ampersand)
[buildPlans.iosevka-fusion.weights.thin]
shape = 100
+1 -1
View File
@@ -1,6 +1,6 @@
let readme = get("https://raw.githubusercontent.com/sharanda/manrope/master/README.md");
let ver = find("## Changelog\n- v (.+?) \\/", readme, 1);
if ver != find("Version:\\s*([\\d.]+)\n", rpm.f, 1) {
if ver != find("Version:\\s*([\\d.]+)\n" rpm.f, 1) {
let req = new_req("https://api.github.com/repos/sharanda/manrope/commits/HEAD");
let sha = req.get().json().sha;
rpm.global("commit", sha);
@@ -1,5 +1,5 @@
Name: sarasa-gothic-fonts
Version: 0.42.3
Version: 0.41.3
Release: 1%{?dist}
URL: https://github.com/be5invis/Sarasa-Gothic
Source0: %url/releases/download/v%version/sarasa-gothic-ttc-%version.7z
@@ -57,5 +57,5 @@ install -Dm644 %SOURCE3 %buildroot/%_datadir/doc/sarasa-gothic-super-fonts/
/%{_datadir}/fonts/sarasa-gothic-super/
%changelog
* Wed Apr 26 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.40.6-1
* Wed Apr 26 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.40.6
- Initial package
+2 -2
View File
@@ -1,8 +1,8 @@
%define osuresver 2023.1023.0
%define osuresver 2023.605.0
%global debug_package %{nil}
Name: osu-lazer
Version: 2023.1026.0
Version: 2023.621.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,79 +0,0 @@
From 5a38fc2c9a329e88c8337af541dfeccaeff1fefb Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Sun, 15 Jan 2023 14:47:49 -0500
Subject: [PATCH] find cmark with pkgconfig
Signed-off-by: seth <getchoo@tuta.io>
---
cmake/Findcmark.cmake | 59 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100755 cmake/Findcmark.cmake
diff --git a/cmake/Findcmark.cmake b/cmake/Findcmark.cmake
new file mode 100755
index 00000000..9858e5df
--- /dev/null
+++ b/cmake/Findcmark.cmake
@@ -0,0 +1,59 @@
+# SPDX-FileCopyrightText: 2019 Black Hat <bhat@encom.eu.org>
+# SPDX-License-Identifier: GPL-3.0-only
+
+#
+# CMake module to search for the cmark library
+#
+
+# first try to find cmark-config.cmake
+# path to a file not in the search path can be set with 'cmake -Dcmark_DIR=some/path/'
+find_package(cmark CONFIG QUIET)
+if(cmark_FOUND AND TARGET cmark::cmark)
+ # found it!
+ return()
+endif()
+
+find_package(PkgConfig QUIET)
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_CMARK QUIET cmark)
+endif()
+
+if(NOT CMARK_INCLUDE_DIR)
+ find_path(CMARK_INCLUDE_DIR
+ NAMES cmark.h
+ PATHS
+ ${PC_CMARK_INCLUDEDIR}
+ ${PC_CMARK_INCLUDE_DIRS}
+ /usr/include
+ /usr/local/include)
+endif()
+
+if(NOT CMARK_LIBRARY)
+ find_library(CMARK_LIBRARY
+ NAMES cmark
+ HINTS
+ ${PC_CMARK_LIBDIR}
+ ${PC_CMARK_LIBRARY_DIRS}
+ /usr/lib
+ /usr/local/lib)
+endif()
+
+if(NOT TARGET cmark::cmark)
+ add_library(cmark::cmark UNKNOWN IMPORTED)
+ set_target_properties(cmark::cmark
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+ ${CMARK_INCLUDE_DIR})
+ set_property(TARGET cmark::cmark APPEND
+ PROPERTY IMPORTED_LOCATION ${CMARK_LIBRARY})
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(cmark
+ DEFAULT_MSG
+ CMARK_INCLUDE_DIR
+ CMARK_LIBRARY)
+
+mark_as_advanced(CMARK_LIBRARY CMARK_INCLUDE_DIR)
+
+set(CMARK_LIBRARIES ${CMARK_LIBRARY})
+set(CMARK_INCLUDE_DIRS ${CMARK_INCLUDE_DIR})
--
2.39.0
@@ -1,11 +1,10 @@
%global real_name prismlauncher
%global nice_name PrismLauncher
%global commit 3719ea21b090dd58d897b7bd5c8db4e4c54f488c
%global commit 12cd8a7bea991c2a8d4b59b1cfc9f7c246819fc9
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f
%global libnbtplusplus_commit 2203af7eeb48c45398139b583615134efd8d407f
%global quazip_commit 6117161af08e366c37499895b00ef62f93adc345
%global tomlplusplus_commit 7eb2ffcc09f8e9890dc0b77ff8ab00fc53b1f2b8
%global tomlplusplus_commit 0a90913abf9390b9e08ab6d3b40ac11634553f38
%global commit_date %(date '+%Y%m%d')
%global snapshot_info %{commit_date}.%{shortcommit}
@@ -25,14 +24,26 @@
%global min_qt_version 5.12
%endif
%global build_platform terra
%global build_platform unknown
%if 0%{?fedora}
%global build_platform Fedora
%endif
%if 0%{?rhel}
%global build_platform RedHat
%endif
%if 0%{?centos}
%global build_platform CentOS
%endif
%if %{with qt6}
Name: prismlauncher-nightly
%else
Name: prismlauncher-qt5-nightly
%endif
Version: 8.0^%{snapshot_info}
Version: 7.1^%{snapshot_info}
Release: 1%{?dist}
Summary: Minecraft launcher with ability to manage multiple instances
License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND ISC AND OFL-1.1 AND LGPL-2.1-only AND MIT AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LGPL-3.0-or-later
@@ -42,7 +53,6 @@ Source0: https://github.com/PrismLauncher/PrismLauncher/archive/%{commi
Source1: https://github.com/PrismLauncher/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_commit}.tar.gz
Source2: https://github.com/stachenov/quazip/archive/%{quazip_commit}/quazip-%{quazip_commit}.tar.gz
Source3: https://github.com/marzer/tomlplusplus/archive/%{tomlplusplus_commit}/tomlplusplus-%{tomlplusplus_commit}.tar.gz
Patch0: 0001-find-cmark-with-pkgconfig.patch
BuildRequires: cmake >= 3.15
BuildRequires: extra-cmake-modules
@@ -64,9 +74,6 @@ BuildRequires: cmake(Qt6Core5Compat)
%endif
BuildRequires: pkgconfig(libcmark)
%if 0%{fedora} < 38
BuildRequires: cmark
%endif
BuildRequires: pkgconfig(scdoc)
BuildRequires: pkgconfig(zlib)
@@ -86,6 +93,8 @@ Recommends: flite
# Prism supports enabling gamemode
Suggests: gamemode
Recommends: terra-fractureiser-detector
Conflicts: %{real_name}
Conflicts: %{real_name}-qt5
%if %{without qt6}
@@ -136,32 +145,27 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt
%check
%ctest
appstream-util validate-relax --nonet %buildroot%_metainfodir/org.prismlauncher.PrismLauncher.metainfo.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
%files
%doc README.md
%license LICENSE COPYING.md
%dir %{_datadir}/%{nice_name}
%dir %{_datadir}/%{real_name}
%{_bindir}/%{real_name}
%{_datadir}/%{nice_name}/NewLaunch.jar
%{_datadir}/%{nice_name}/JavaCheck.jar
%{_datadir}/%{nice_name}/qtlogging.ini
%{_datadir}/%{nice_name}/NewLaunchLegacy.jar
%{_datadir}/%{real_name}/NewLaunch.jar
%{_datadir}/%{real_name}/JavaCheck.jar
%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
%{_metainfodir}/org.prismlauncher.PrismLauncher.metainfo.xml
%{_datadir}/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg
%{_datadir}/mime/packages/modrinth-mrpack-mime.xml
%{_datadir}/PrismLauncher/qtlogging.ini
%{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories
%{_mandir}/man?/prismlauncher.*
%changelog
* Wed Jul 26 2023 seth <getchoo at tuta dot io> - 8.0^20230726.4f00012-1
- remove terra-fractureiser-detector from recommends, use proper build platform,
and add patches for epel/older fedora versions
* Sun Jul 23 2023 seth <getchoo at tuta dot io> - 8.0^20230722.273d75f-1
- update submodules, version, & use autorelease
* Wed Jun 07 2023 seth <getchoo at tuta dot io> - 7.0^20230603.954d4d7-1
- specify jdk 17 + cleanup outdated patches/scriptlets
+1 -4
View File
@@ -4,8 +4,5 @@ if filters.contains("nightly") {
let sha = req.get().json().sha;
rpm.global("commit", sha);
rpm.release();
let cmake = get("https://raw.githubusercontent.com/PrismLauncher/PrismLauncher/develop/CMakeLists.txt");
let maj = find("set\\(Launcher_VERSION_MAJOR\\s+(\\d+)\\)", cmake, 1);
let min = find("set\\(Launcher_VERSION_MINOR\\s+(\\d+)\\)", cmake, 1);
rpm.version(`${maj}.${min}^%{snapshot_info}`);
rpm.version(`${gh("PrismLauncher/PrismLauncher")}^%{snapshot_info}`);
}
@@ -1,79 +0,0 @@
From 5a38fc2c9a329e88c8337af541dfeccaeff1fefb Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Sun, 15 Jan 2023 14:47:49 -0500
Subject: [PATCH] find cmark with pkgconfig
Signed-off-by: seth <getchoo@tuta.io>
---
cmake/Findcmark.cmake | 59 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100755 cmake/Findcmark.cmake
diff --git a/cmake/Findcmark.cmake b/cmake/Findcmark.cmake
new file mode 100755
index 00000000..9858e5df
--- /dev/null
+++ b/cmake/Findcmark.cmake
@@ -0,0 +1,59 @@
+# SPDX-FileCopyrightText: 2019 Black Hat <bhat@encom.eu.org>
+# SPDX-License-Identifier: GPL-3.0-only
+
+#
+# CMake module to search for the cmark library
+#
+
+# first try to find cmark-config.cmake
+# path to a file not in the search path can be set with 'cmake -Dcmark_DIR=some/path/'
+find_package(cmark CONFIG QUIET)
+if(cmark_FOUND AND TARGET cmark::cmark)
+ # found it!
+ return()
+endif()
+
+find_package(PkgConfig QUIET)
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_CMARK QUIET cmark)
+endif()
+
+if(NOT CMARK_INCLUDE_DIR)
+ find_path(CMARK_INCLUDE_DIR
+ NAMES cmark.h
+ PATHS
+ ${PC_CMARK_INCLUDEDIR}
+ ${PC_CMARK_INCLUDE_DIRS}
+ /usr/include
+ /usr/local/include)
+endif()
+
+if(NOT CMARK_LIBRARY)
+ find_library(CMARK_LIBRARY
+ NAMES cmark
+ HINTS
+ ${PC_CMARK_LIBDIR}
+ ${PC_CMARK_LIBRARY_DIRS}
+ /usr/lib
+ /usr/local/lib)
+endif()
+
+if(NOT TARGET cmark::cmark)
+ add_library(cmark::cmark UNKNOWN IMPORTED)
+ set_target_properties(cmark::cmark
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+ ${CMARK_INCLUDE_DIR})
+ set_property(TARGET cmark::cmark APPEND
+ PROPERTY IMPORTED_LOCATION ${CMARK_LIBRARY})
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(cmark
+ DEFAULT_MSG
+ CMARK_INCLUDE_DIR
+ CMARK_LIBRARY)
+
+mark_as_advanced(CMARK_LIBRARY CMARK_INCLUDE_DIR)
+
+set(CMARK_LIBRARIES ${CMARK_LIBRARY})
+set(CMARK_INCLUDE_DIRS ${CMARK_INCLUDE_DIR})
--
2.39.0
@@ -1,11 +1,10 @@
%global real_name prismlauncher
%global nice_name PrismLauncher
%global commit 3719ea21b090dd58d897b7bd5c8db4e4c54f488c
%global commit 12cd8a7bea991c2a8d4b59b1cfc9f7c246819fc9
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f
%global libnbtplusplus_commit 2203af7eeb48c45398139b583615134efd8d407f
%global quazip_commit 6117161af08e366c37499895b00ef62f93adc345
%global tomlplusplus_commit 7eb2ffcc09f8e9890dc0b77ff8ab00fc53b1f2b8
%global tomlplusplus_commit 0a90913abf9390b9e08ab6d3b40ac11634553f38
%global commit_date %(date '+%Y%m%d')
%global snapshot_info %{commit_date}.%{shortcommit}
@@ -25,14 +24,26 @@
%global min_qt_version 5.12
%endif
%global build_platform terra
%global build_platform unknown
%if 0%{?fedora}
%global build_platform Fedora
%endif
%if 0%{?rhel}
%global build_platform RedHat
%endif
%if 0%{?centos}
%global build_platform CentOS
%endif
%if %{with qt6}
Name: prismlauncher-nightly
%else
Name: prismlauncher-qt5-nightly
%endif
Version: 8.0^%{snapshot_info}
Version: 7.1^%{snapshot_info}
Release: 1%{?dist}
Summary: Minecraft launcher with ability to manage multiple instances
License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND ISC AND OFL-1.1 AND LGPL-2.1-only AND MIT AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LGPL-3.0-or-later
@@ -42,7 +53,6 @@ Source0: https://github.com/PrismLauncher/PrismLauncher/archive/%{commi
Source1: https://github.com/PrismLauncher/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_commit}.tar.gz
Source2: https://github.com/stachenov/quazip/archive/%{quazip_commit}/quazip-%{quazip_commit}.tar.gz
Source3: https://github.com/marzer/tomlplusplus/archive/%{tomlplusplus_commit}/tomlplusplus-%{tomlplusplus_commit}.tar.gz
Patch0: 0001-find-cmark-with-pkgconfig.patch
BuildRequires: cmake >= 3.15
BuildRequires: extra-cmake-modules
@@ -64,9 +74,6 @@ BuildRequires: cmake(Qt6Core5Compat)
%endif
BuildRequires: pkgconfig(libcmark)
%if 0%{fedora} < 38
BuildRequires: cmark
%endif
BuildRequires: pkgconfig(scdoc)
BuildRequires: pkgconfig(zlib)
@@ -83,6 +90,8 @@ Requires: java-1.8.0-openjdk
Recommends: xrandr
# libflite needed for using narrator in minecraft
Recommends: flite
Recommends: terra-fractureiser-detector
# Prism supports enabling gamemode
Suggests: gamemode
@@ -136,32 +145,27 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt
%check
%ctest
appstream-util validate-relax --nonet %buildroot%_metainfodir/org.prismlauncher.PrismLauncher.metainfo.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
%files
%doc README.md
%license LICENSE COPYING.md
%dir %{_datadir}/%{nice_name}
%dir %{_datadir}/%{real_name}
%{_bindir}/%{real_name}
%{_datadir}/%{nice_name}/NewLaunch.jar
%{_datadir}/%{nice_name}/JavaCheck.jar
%{_datadir}/%{nice_name}/qtlogging.ini
%{_datadir}/%{nice_name}/NewLaunchLegacy.jar
%{_datadir}/%{real_name}/NewLaunch.jar
%{_datadir}/%{real_name}/JavaCheck.jar
%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop
%{_metainfodir}/org.prismlauncher.PrismLauncher.metainfo.xml
%{_datadir}/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg
%{_datadir}/mime/packages/modrinth-mrpack-mime.xml
%{_datadir}/PrismLauncher/qtlogging.ini
%{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories
%{_mandir}/man?/prismlauncher.*
%changelog
* Wed Jul 26 2023 seth <getchoo at tuta dot io> - 8.0^20230726.4f00012-1
- remove terra-fractureiser-detector from recommends, use proper build platform,
and add patches for epel/older fedora versions
* Sun Jul 23 2023 seth <getchoo at tuta dot io> - 8.0^20230722.273d75f-1
- update submodules, version, & use autorelease
* Wed Jun 07 2023 seth <getchoo at tuta dot io> - 7.0^20230603.954d4d7-1
- specify jdk 17 + cleanup outdated patches/scriptlets
@@ -4,8 +4,5 @@ if filters.contains("nightly") {
let sha = req.get().json().sha;
rpm.global("commit", sha);
rpm.release();
let cmake = get("https://raw.githubusercontent.com/PrismLauncher/PrismLauncher/develop/CMakeLists.txt");
let maj = find("set\\(Launcher_VERSION_MAJOR\\s+(\\d+)\\)", cmake, 1);
let min = find("set\\(Launcher_VERSION_MINOR\\s+(\\d+)\\)", cmake, 1);
rpm.version(`${maj}.${min}^%{snapshot_info}`);
rpm.version(`${gh("PrismLauncher/PrismLauncher")}^%{snapshot_info}`);
}

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