mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 09:01:55 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d04536d882 | |||
| 6ff3041cf1 | |||
| 4bb1e6cd15 | |||
| b1009af93e |
@@ -5,5 +5,6 @@ RUN useradd -m vscode
|
||||
RUN groupadd mock
|
||||
RUN usermod -aG mock vscode
|
||||
RUN echo vscode ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/vscode
|
||||
RUN curl -Lo /etc/yum.repos.d/terra.repo https://raw.githubusercontent.com/terrapkg/subatomic-repos/main/terra.repo
|
||||
RUN dnf -y install git mock createrepo_c anda terra-mock-configs
|
||||
RUN dnf -y install git 'dnf-command(config-manager)' mock createrepo_c
|
||||
RUN dnf config-manager --add-repo='https://raw.githubusercontent.com/terrapkg/subatomic-repos/main/terra.repo'
|
||||
RUN dnf -y install anda terra-mock-configs
|
||||
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
fail-fast: false
|
||||
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-latest' }}
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
|
||||
image: ghcr.io/terrapkg/builder:f${{ matrix.version}}
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -52,25 +52,26 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Checkout latest Mock configs
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: terrapkg/mock-configs
|
||||
path: mock-configs
|
||||
|
||||
- name: Set up git repository
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: CI Setup Script
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
- name: Include custom build template instead of package default
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
if [ -f $dir/ci_setup.rhai ]; then
|
||||
anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
|
||||
fi
|
||||
|
||||
- name: Install Build Dependencies
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
|
||||
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
|
||||
|
||||
- name: Build with Andaman (alternate arch)
|
||||
if: |
|
||||
matrix.pkg.arch == 'x86_64' && matrix.pkg.labels['multilib']
|
||||
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c mock-configs/terra-${{ matrix.version }}-i386.cfg
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
@@ -93,7 +94,7 @@ jobs:
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }} anda-build/rpm/rpms/*
|
||||
terra${{ matrix.version }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Upload source packages to subatomic
|
||||
if: github.event_name == 'push'
|
||||
@@ -101,7 +102,7 @@ jobs:
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
|
||||
terra${{ matrix.version }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success() && github.event_name == 'push'
|
||||
|
||||
@@ -16,9 +16,7 @@ jobs:
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Install repositories
|
||||
run: |
|
||||
dnf5 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs
|
||||
dnf5 builddep -y anda/terra/{mock-configs,srpm-macros}/*.spec anda/tools/buildsys/{anda,subatomic}/*.spec
|
||||
run: dnf5 install -y --setopt=install_weak_deps=False mock curl wget git-core openssl-devel cargo podman fuse-overlayfs
|
||||
|
||||
- name: Install Anda
|
||||
run: cargo install anda
|
||||
@@ -32,20 +30,20 @@ jobs:
|
||||
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 -rrpmbuild anda/terra/mock-configs/pkg
|
||||
anda build -c fedora-${{ matrix.version }}-${{ matrix.arch }} anda/terra/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 -rrpmbuild anda/terra/srpm-macros/pkg
|
||||
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/terra/srpm-macros/pkg
|
||||
|
||||
- name: Build Subatomic
|
||||
run: anda build -rrpmbuild anda/tools/buildsys/subatomic/pkg
|
||||
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/tools/buildsys/subatomic/pkg
|
||||
- name: Install Subatomic
|
||||
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
|
||||
|
||||
- name: Build Andaman
|
||||
run: anda build -rrpmbuild anda/tools/buildsys/anda/pkg
|
||||
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/tools/buildsys/anda/pkg
|
||||
|
||||
- name: Upload packages to subatomic
|
||||
run: |
|
||||
|
||||
@@ -57,18 +57,21 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Checkout latest Mock configs
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: terrapkg/mock-configs
|
||||
path: mock-configs
|
||||
|
||||
- name: Set up git repository
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: CI Setup Script
|
||||
- name: Include custom build template instead of package default
|
||||
run: |
|
||||
dir=${{ matrix.pkg }}
|
||||
if [ -f $dir/ci_setup.rhai ]; then
|
||||
anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
|
||||
fi
|
||||
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build -rrpmbuild anda/${{ matrix.pkg }}pkg
|
||||
run: anda build anda/${{ matrix.pkg }}pkg --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.cfg
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
@@ -76,7 +79,6 @@ jobs:
|
||||
NAME=${{ matrix.pkg }}-${{ matrix.arch }}-${{ matrix.version }}
|
||||
x=${NAME//\//@}
|
||||
echo "name=$x" >> $GITHUB_OUTPUT
|
||||
echo "labels=$(anda run andax/get_proj_label.rhai -l project=anda/${{ matrix.pkg }}anda.hcl)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
@@ -91,14 +93,14 @@ jobs:
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ fromJson(steps.art.outputs.labels)['extra'] && '-extras' }} anda-build/rpm/rpms/*
|
||||
terra${{ matrix.version }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Upload source packages to subatomic
|
||||
run: |
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ fromJson(steps.art.outputs.labels)['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
|
||||
terra${{ matrix.version }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success()
|
||||
|
||||
@@ -23,25 +23,21 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Checkout latest Mock configs
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: terrapkg/mock-configs
|
||||
path: mock-configs
|
||||
|
||||
- name: Set up git repository
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: CI Setup Script
|
||||
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
|
||||
- name: Include custom build template instead of package default
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
if [ -f $dir/ci_setup.rhai ]; then
|
||||
anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
|
||||
fi
|
||||
|
||||
- name: Install Build Dependencies
|
||||
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ contains(matrix.pkg.labels, 'mock') && '' || '-rrpmbuild' }}
|
||||
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
@@ -63,14 +59,15 @@ jobs:
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }} anda-build/rpm/rpms/*
|
||||
terra${{ matrix.version }} anda-build/rpm/rpms/*
|
||||
|
||||
- name: Upload source packages to subatomic
|
||||
if: github.event_name == 'push'
|
||||
run: |
|
||||
subatomic-cli upload --prune \
|
||||
--server https://subatomic.fyralabs.com \
|
||||
--token ${{ secrets.SUBATOMIC_TOKEN }} \
|
||||
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
|
||||
terra${{ matrix.version }}-source anda-build/rpm/srpm/*
|
||||
|
||||
- name: Notify Madoguchi (Success)
|
||||
if: success()
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- frawhide
|
||||
pull_request:
|
||||
branches:
|
||||
- frawhide
|
||||
merge_group:
|
||||
branches:
|
||||
- frawhide
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Lint spec files
|
||||
run: rpmlint $(find anda -type f -name "*.spec" -type f)
|
||||
@@ -11,9 +11,10 @@ jobs:
|
||||
matrix:
|
||||
branch:
|
||||
- frawhide
|
||||
- f39
|
||||
- f40
|
||||
- f41
|
||||
- el10
|
||||
- el9
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
@@ -33,10 +34,7 @@ jobs:
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Run Update
|
||||
run: |
|
||||
nbranch="${{ matrix.branch }}"
|
||||
[ "$nbranch" = 'frawhide' ] && nbranch='f42'
|
||||
anda update --filters updbranch=1 --labels branch=${{ matrix.branch }},nbranch=$nbranch
|
||||
run: anda update -vv --filters updbranch=1 --labels branch=${{ matrix.branch }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RUST_BACKTRACE: full
|
||||
|
||||
@@ -4,9 +4,8 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- frawhide
|
||||
- f41
|
||||
- f40
|
||||
- el10
|
||||
- f39
|
||||
paths:
|
||||
- comps.xml
|
||||
workflow_dispatch:
|
||||
|
||||
@@ -25,10 +25,9 @@ jobs:
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Run Nightly Update
|
||||
run: anda update --filters nightly=1
|
||||
run: anda update -vv --filters nightly=1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RUST_BACKTRACE: full
|
||||
|
||||
- name: Save
|
||||
run: |
|
||||
@@ -39,15 +38,16 @@ jobs:
|
||||
git config user.signingkey "${{ runner.temp }}/signing_key"
|
||||
msg="bump(nightly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
|
||||
git commit -S -a -m "$msg"
|
||||
git format-patch HEAD^
|
||||
copy_over () {
|
||||
git format-patch HEAD^
|
||||
git checkout $1
|
||||
git apply *.patch || true
|
||||
git add anda
|
||||
rm *.patch
|
||||
git add *
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f39 || true
|
||||
copy_over f40 || true
|
||||
copy_over f41 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
name: Weekly Update
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * 0"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
autoupdate:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/terrapkg/builder:frawhide
|
||||
options: --cap-add=SYS_ADMIN --privileged
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
|
||||
|
||||
- name: Install SSH signing key & Set up git repository
|
||||
run: |
|
||||
mkdir -p ${{ runner.temp }}
|
||||
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
|
||||
chmod 0700 ${{ runner.temp }}/signing_key
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Run Weekly Update
|
||||
run: anda update --filters weekly=1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
RUST_BACKTRACE: full
|
||||
|
||||
- name: Save
|
||||
run: |
|
||||
if [[ `git status --porcelain` ]]; then
|
||||
git config user.name "Raboneko"
|
||||
git config user.email "raboneko@fyralabs.com"
|
||||
git config gpg.format "ssh"
|
||||
git config user.signingkey "${{ runner.temp }}/signing_key"
|
||||
msg="bump(weekly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
|
||||
git commit -S -a -m "$msg"
|
||||
git format-patch HEAD^
|
||||
copy_over () {
|
||||
git checkout $1
|
||||
git apply *.patch || true
|
||||
git add anda
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f40 || true
|
||||
copy_over f41 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: Run Update
|
||||
run: anda update --excludes nightly=1 --excludes weekly=1 --excludes updbranch=1
|
||||
run: anda update -vv --excludes nightly=1 --excludes updbranch=1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
|
||||
RUST_BACKTRACE: full
|
||||
@@ -39,15 +39,16 @@ 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"
|
||||
git format-patch HEAD^
|
||||
copy_over () {
|
||||
git format-patch HEAD^
|
||||
git checkout $1
|
||||
git apply *.patch || true
|
||||
git add anda
|
||||
rm *.patch
|
||||
git add *
|
||||
git commit -S -a -m "$msg"
|
||||
}
|
||||
copy_over f39 || true
|
||||
copy_over f40 || true
|
||||
copy_over f41 || true
|
||||
copy_over el10 || true
|
||||
git push -u origin --all
|
||||
fi
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
https://fyralabs.com/funding.json
|
||||
@@ -1,7 +1,7 @@
|
||||
# Terra Sources
|
||||
|
||||
[](https://repology.org/repository/terra_39)
|
||||
[](https://repology.org/repository/terra_40)
|
||||
[](https://repology.org/repository/terra_41)
|
||||
[](https://repology.org/repository/terra_rawhide)
|
||||
|
||||
Terra is a rolling-release Fedora repository for all the software you need.
|
||||
@@ -14,7 +14,7 @@ This monorepo contains the package manifests for all packages in Terra.
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
|
||||
sudo dnf install --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' --setopt='terra.gpgkey=https://repos.fyralabs.com/terra$releasever/key.asc' terra-release
|
||||
```
|
||||
|
||||
If you are using immutable/atomic editions of Fedora, run the following commands instead:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%global xurl https://files.pythonhosted.org/packages/ef/fa/6c86371d0e3b71129d2a79e63fc3fdc17733c9ebbf77345c62caad8c9fca/anki-24.11-cp39-abi3-manylinux_2_28_x86_64.whl
|
||||
%global aurl https://files.pythonhosted.org/packages/58/6e/9f2d4853a83e57cea48ccae3bc2d887bf7c0550042185e156bab23f524bf/anki-24.11-cp39-abi3-manylinux_2_31_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/40/3c/b70ef91f1dad8248332971c0cbb2922277512789cadc33cb16233e360a56/aqt-24.11-py3-none-any.whl
|
||||
%global xurl https://files.pythonhosted.org/packages/51/5f/6f52b958fe38a36a0799c01fbd56a742ebdfcf41f89438dbee998b8ce692/anki-24.06.3-cp39-abi3-manylinux_2_28_x86_64.whl
|
||||
%global aurl https://files.pythonhosted.org/packages/df/bb/b0bfbc6a06a598b0b614d18dd8c4f40827828649f9742f1f44a4e44d6a2c/anki-24.06.3-cp39-abi3-manylinux_2_31_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/21/2a/d8e22a9521be04ef29a30d21a2c3008783ab03b6f07cc14696a040f747a4/aqt-24.06.3-py3-none-any.whl
|
||||
|
||||
Name: anki-bin
|
||||
Version: 24.11
|
||||
Version: 24.06.3
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning (Installed with wheel)
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: anki-qt5
|
||||
Version: 24.11
|
||||
Version: 24.06.3
|
||||
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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: anki
|
||||
Version: 24.11
|
||||
Version: 24.06.3
|
||||
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
|
||||
@@ -30,7 +30,6 @@ git checkout %{version}
|
||||
%build
|
||||
export RELEASE=1
|
||||
export PYTHONPATH=%_libdir/python3/dist-packages
|
||||
cargo update
|
||||
mold -run ./tools/build
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "armcord-bin.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
%define debug_package %nil
|
||||
%global _build_id_links none
|
||||
|
||||
%ifarch x86_64
|
||||
%global src ArmCord-%version
|
||||
%elifarch aarch64
|
||||
%global src ArmCord-%version-arm64
|
||||
%elifarch armv7l
|
||||
%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.8
|
||||
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
|
||||
Source0: %url/releases/download/v%version/%src.tar.gz
|
||||
Source1: armcord.png
|
||||
Source2: https://raw.githubusercontent.com/ArmCord/ArmCord/v%version/README.md
|
||||
Requires: electron xdg-utils
|
||||
ExclusiveArch: x86_64 aarch64 armv7l
|
||||
Conflicts: armcord
|
||||
BuildRequires: add-determinism
|
||||
|
||||
%description
|
||||
ArmCord is a custom client designed to enhance your Discord experience
|
||||
while keeping everything lightweight.
|
||||
|
||||
%prep
|
||||
%autosetup -n %src
|
||||
|
||||
cat <<EOF > .armcord.desktop
|
||||
[Desktop Entry]
|
||||
Name=ArmCord
|
||||
Comment=%summary
|
||||
GenericName=Internet Messenger
|
||||
Type=Application
|
||||
Exec=%_bindir/armcord
|
||||
Icon=armcord
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=armcord
|
||||
Keywords=discord;armcord;vencord;shelter;electron;
|
||||
EOF
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
mkdir -p %buildroot%_bindir %buildroot%_datadir/applications %buildroot%_datadir/pixmaps %buildroot%_datadir/armcord %buildroot%_docdir/%name
|
||||
cp -a * %buildroot%_datadir/armcord/
|
||||
ln -s %_datadir/armcord/armcord %buildroot%_bindir/armcord
|
||||
chmod +x -R %buildroot%_datadir/armcord/*
|
||||
chmod 755 %buildroot%_datadir/armcord/armcord
|
||||
install -Dm644 .armcord.desktop %buildroot%_datadir/applications/ArmCord.desktop
|
||||
install -Dm644 %SOURCE1 %buildroot%_datadir/pixmaps/armcord.png
|
||||
install -Dm644 %SOURCE2 %buildroot%_docdir/%name/
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%_datadir/armcord
|
||||
%_bindir/armcord
|
||||
%_datadir/applications/ArmCord.desktop
|
||||
%_datadir/pixmaps/armcord.png
|
||||
|
||||
%changelog
|
||||
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
|
||||
- Remove libnotify dependency.
|
||||
- Fix desktop entry.
|
||||
- Set as noarch package because there are not binary files.
|
||||
- Use /usr/share/ instead of /opt/
|
||||
|
||||
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
|
||||
- Initial package
|
||||
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
@@ -0,0 +1 @@
|
||||
rpm.version(gh("ArmCord/ArmCord"));
|
||||
@@ -1,6 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "legcord.spec"
|
||||
spec = "armcord.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: armcord
|
||||
Version: 3.2.8
|
||||
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 add-determinism
|
||||
Conflicts: armcord-bin
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
ArmCord is a custom client designed to enhance your Discord experience
|
||||
while keeping everything lightweight.
|
||||
|
||||
%prep
|
||||
rm -rf *
|
||||
git clone %url .
|
||||
git checkout v%version
|
||||
|
||||
cat <<EOF > armcord.desktop
|
||||
[Desktop Entry]
|
||||
Name=ArmCord
|
||||
Comment=%summary
|
||||
GenericName=Internet Messenger
|
||||
Type=Application
|
||||
Exec=/usr/bin/armcord
|
||||
Icon=armcord
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=armcord
|
||||
Keywords=discord;armcord;vencord;shelter;electron;
|
||||
EOF
|
||||
|
||||
|
||||
%build
|
||||
npx pnpm@7 install --no-frozen-lockfile
|
||||
npm run packageQuick
|
||||
|
||||
|
||||
%install
|
||||
install -Dm644 dist/*-unpacked/resources/app.asar %buildroot/usr/share/armcord/app.asar
|
||||
|
||||
install -Dm755 %SOURCE1 %buildroot/usr/bin/armcord
|
||||
install -Dm644 armcord.desktop %buildroot/usr/share/applications/ArmCord.desktop
|
||||
install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/armcord.png
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
/usr/bin/armcord
|
||||
/usr/share/applications/ArmCord.desktop
|
||||
/usr/share/pixmaps/armcord.png
|
||||
/usr/share/armcord/app.asar
|
||||
|
||||
%changelog
|
||||
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
|
||||
- Remove libnotify dependency.
|
||||
- Fix desktop entry.
|
||||
- Set as noarch package because there are not binary files.
|
||||
|
||||
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
|
||||
- Initial package
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("ArmCord/ArmCord"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "audacity-freeworld.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,749 +0,0 @@
|
||||
%global __requires_exclude ^lib-.*.so
|
||||
%global __provides_exclude ^lib-.*.so
|
||||
|
||||
Name: audacity-freeworld
|
||||
Version: Audacity.3.7.1
|
||||
Release: 1%?dist
|
||||
Summary: Multitrack audio editor
|
||||
License: GPLv2
|
||||
URL: https://www.audacityteam.org/
|
||||
|
||||
%define realname audacity
|
||||
Conflicts: %{realname}
|
||||
|
||||
Source0: https://github.com/audacity/audacity/releases/download/Audacity-%{version}/audacity-sources-%{version}.tar.gz
|
||||
|
||||
# manual can be installed from the base Fedora Audacity package.
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: expat-devel
|
||||
BuildRequires: flac-devel
|
||||
BuildRequires: git
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: jack-audio-connection-kit-devel
|
||||
BuildRequires: ladspa-devel
|
||||
BuildRequires: lame-devel
|
||||
BuildRequires: libid3tag-devel
|
||||
BuildRequires: libjpeg-turbo-devel turbojpeg
|
||||
BuildRequires: libmad-devel
|
||||
BuildRequires: taglib-devel
|
||||
BuildRequires: twolame-devel
|
||||
BuildRequires: libogg-devel
|
||||
BuildRequires: libsndfile-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: libvorbis-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: lilv-devel
|
||||
BuildRequires: lv2-devel
|
||||
BuildRequires: mpg123-devel
|
||||
BuildRequires: opusfile-devel
|
||||
BuildRequires: portaudio-devel >= 19-16
|
||||
BuildRequires: portmidi-devel
|
||||
BuildRequires: rapidjson-devel
|
||||
BuildRequires: serd-devel
|
||||
BuildRequires: shared-mime-info
|
||||
BuildRequires: sord-devel
|
||||
BuildRequires: soundtouch-devel
|
||||
BuildRequires: soxr-devel
|
||||
# Use local sqlite as system fails
|
||||
BuildRequires: sqlite-devel
|
||||
BuildRequires: sratom-devel
|
||||
BuildRequires: suil-devel
|
||||
BuildRequires: vamp-plugin-sdk-devel >= 2.0
|
||||
BuildRequires: wavpack-devel
|
||||
BuildRequires: wxGTK-devel
|
||||
BuildRequires: zip
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: python3
|
||||
BuildRequires: libappstream-glib
|
||||
|
||||
Recommends: ffmpeg-libs
|
||||
|
||||
# For new symbols in portaudio
|
||||
Requires: portaudio%{?_isa} >= 19-16
|
||||
|
||||
ExcludeArch: s390x
|
||||
|
||||
%description
|
||||
Audacity is a cross-platform multitrack audio editor. It allows you to
|
||||
record sounds directly or to import files in various formats. It features
|
||||
a few s0mple effects, all of the editing features you should need, and
|
||||
unlimited undo. The GUI was built with wxWidgets and the audio I/O
|
||||
supports PulseAudio, OSS and ALSA under Linux.
|
||||
This build has support for mp3 and ffmpeg import/export.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{realname}-sources-%{version}
|
||||
|
||||
# Make sure we use the system versions.
|
||||
rm -rf lib-src/{libvamp,libsoxr}/
|
||||
|
||||
#Included in src/AboutDialog.cpp but not supplied
|
||||
touch include/RevisionIdent.h
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(wx-config --libs)" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(wx-config --libs)" \
|
||||
-DAUDACITY_BUILD_LEVEL:STRING=2 \
|
||||
-Daudacity_conan_enabled=Off \
|
||||
-Daudacity_has_networking=Off \
|
||||
-Daudacity_has_crashreports=Off \
|
||||
-Daudacity_has_updates_check=Off \
|
||||
-Daudacity_has_sentry_reporting=Off \
|
||||
-Daudacity_lib_preference:STRING=system \
|
||||
-Daudacity_use_libsndfile=system \
|
||||
-Daudacity_use_soxr=system \
|
||||
-Daudacity_use_lame=system \
|
||||
-Daudacity_use_twolame=system \
|
||||
-Daudacity_use_libflac=system \
|
||||
-Daudacity_use_ladspa=on \
|
||||
-Daudacity_use_libvorbis=system \
|
||||
-Daudacity_use_libid3tag=system \
|
||||
-Daudacity_use_expat=system \
|
||||
-Daudacity_use_soundtouch=system \
|
||||
-Daudacity_use_vamp=system \
|
||||
-Daudacity_use_lv2=system \
|
||||
-Daudacity_use_midi=system \
|
||||
-Daudacity_use_libogg=system \
|
||||
-Daudacity_has_vst3:BOOL=Off \
|
||||
-Daudacity_use_ffmpeg=loaded
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
# Remove the RPATH from all the private libraries provided with Audacity and
|
||||
# make them all executable so that debug symbol extraction happens.
|
||||
# CMake could do this on its own using the install target for the library,
|
||||
# but the Audacity build system manually copies around the libraries so it
|
||||
# doesn't use the install target. This is very involved to fix in the code,
|
||||
# so this work around is easier and more maintainable than patching the build
|
||||
# system.
|
||||
pushd %{buildroot}%{_libdir}/%{realname}
|
||||
for libFile in *;
|
||||
do
|
||||
if [[ ! -d $libFile ]];
|
||||
then
|
||||
chrpath --delete $libFile
|
||||
chmod 755 $libFile
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
pushd %{buildroot}%{_libdir}/%{realname}/modules
|
||||
for libFile in *;
|
||||
do
|
||||
if [[ ! -d $libFile ]];
|
||||
then
|
||||
chrpath --delete $libFile
|
||||
chmod 755 $libFile
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
if appstream-util --help | grep -q replace-screenshots ; then
|
||||
appstream-util replace-screenshots %{buildroot}%{_metainfodir}/audacity.appdata.xml \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/audacity/a.png
|
||||
fi
|
||||
|
||||
%{find_lang} %{realname}
|
||||
|
||||
desktop-file-install --dir %{buildroot}%{_datadir}/applications \
|
||||
%{buildroot}%{_datadir}/applications/audacity.desktop
|
||||
|
||||
mkdir %{buildroot}%{_datadir}/doc/%{realname}/nyquist
|
||||
cp -pr lib-src/libnyquist/nyquist/license.txt %{buildroot}%{_datadir}/doc/%{realname}/nyquist
|
||||
cp -pr lib-src/libnyquist/nyquist/Readme.txt %{buildroot}%{_datadir}/doc/%{realname}/nyquist
|
||||
rm %{buildroot}%{_datadir}/doc/%{realname}/LICENSE.txt
|
||||
rm -f %{buildroot}%{_prefix}/%{realname}
|
||||
|
||||
%files -f %{realname}.lang
|
||||
%{_bindir}/%{realname}
|
||||
%{_libdir}/%{realname}/
|
||||
%dir %{_datadir}/%{realname}
|
||||
%{_datadir}/%{realname}/EffectsMenuDefaults.xml
|
||||
%{_datadir}/%{realname}/nyquist/
|
||||
%{_datadir}/%{realname}/plug-ins/
|
||||
%{_mandir}/man*/*
|
||||
%{_datadir}/applications/*
|
||||
%{_metainfodir}/%{realname}.appdata.xml
|
||||
%{_datadir}/pixmaps/*
|
||||
%{_datadir}/icons/hicolor/*/%{realname}.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/%{realname}.svg
|
||||
%{_datadir}/mime/packages/*
|
||||
%{_datadir}/doc/%{realname}
|
||||
%license LICENSE.txt
|
||||
|
||||
%changelog
|
||||
* Thu Jan 03 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Port to Terra
|
||||
|
||||
* Thu Dec 12 2024 Leigh Scott <leigh123linux@gmail.com> - 3.7.1-1
|
||||
- Update to 3.7.1
|
||||
|
||||
* Wed Oct 30 2024 Leigh Scott <leigh123linux@gmail.com> - 3.7.0-1
|
||||
- Update to 3.7.0
|
||||
|
||||
* Sat Sep 14 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.3-1
|
||||
- Update to 3.6.3
|
||||
|
||||
* Wed Sep 04 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.2-1
|
||||
- Update to 3.6.2
|
||||
|
||||
* Mon Jul 29 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.1-1
|
||||
- Update to 3.6.1
|
||||
|
||||
* Wed Jul 17 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.0-1
|
||||
- Update to 3.6.0
|
||||
|
||||
* Fri Apr 26 2024 Leigh Scott <leigh123linux@gmail.com> - 3.5.1-1
|
||||
- Update to 3.5.1
|
||||
|
||||
* Sat Feb 03 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.4.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Nov 17 2023 Leigh Scott <leigh123linux@gmail.com> - 3.4.2-1
|
||||
- 3.4.2
|
||||
|
||||
* Fri Nov 03 2023 Leigh Scott <leigh123linux@gmail.com> - 3.4.0-1
|
||||
- 3.4.0
|
||||
|
||||
* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sun Jun 11 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.3-1
|
||||
- 3.3.3
|
||||
|
||||
* Sun May 07 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.2-1
|
||||
- 3.3.2
|
||||
|
||||
* Thu May 04 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.1-2
|
||||
- Fix crash on startup (rfbz#6669)
|
||||
|
||||
* Fri Apr 28 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.1-1
|
||||
- 3.3.1
|
||||
|
||||
* Mon Apr 24 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.0-1
|
||||
- 3.3.0
|
||||
|
||||
* Sat Apr 01 2023 Leigh Scott <leigh123linux@gmail.com> - 3.2.5-2
|
||||
- Add ffmpeg-6 support
|
||||
|
||||
* Tue Mar 14 2023 Leigh Scott <leigh123linux@gmail.com> - 3.2.5-1
|
||||
- 3.2.5
|
||||
- Use clang
|
||||
|
||||
* Tue Dec 06 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.2-1
|
||||
- 3.2.2
|
||||
|
||||
* Thu Oct 06 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.1-1
|
||||
- 3.2.1
|
||||
|
||||
* Fri Sep 23 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.0-1
|
||||
- 3.2.0
|
||||
|
||||
* Sat Aug 06 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.1.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
|
||||
5.1
|
||||
|
||||
* Thu Feb 24 2022 Leigh Scott <leigh123linux@gmail.com> - 3.1.3-3
|
||||
- Use compat-ffmpeg4 for f36+
|
||||
|
||||
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.1.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Dec 23 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.3-1
|
||||
- 3.1.3
|
||||
|
||||
* Sun Dec 12 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.2-1
|
||||
- 3.1.2
|
||||
|
||||
* Sat Nov 13 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.1-1
|
||||
- 3.1.1
|
||||
|
||||
* Wed Nov 10 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.0-1
|
||||
- 3.1.0
|
||||
|
||||
* Wed Nov 10 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-5
|
||||
- Rebuilt for new ffmpeg snapshot
|
||||
|
||||
* Tue Oct 26 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-4
|
||||
- Fix build level
|
||||
|
||||
* Tue Oct 26 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-3
|
||||
- Fix lang (rfbz#6117)
|
||||
|
||||
* Tue Oct 19 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-2
|
||||
- Filter internal libs from provides and requires (rfbz#6112)
|
||||
|
||||
* Thu Oct 14 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-1
|
||||
- 3.0.5
|
||||
|
||||
* Sat Oct 02 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.2-3
|
||||
- Add Fedora patches
|
||||
|
||||
* Mon Aug 02 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.0.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Apr 19 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.2-1
|
||||
- 3.0.2
|
||||
|
||||
* Sun Mar 21 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.0-2
|
||||
- Use local sqlite as system fails
|
||||
|
||||
* Thu Mar 18 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.0-1
|
||||
- 3.0.0
|
||||
- Use local wxwidgets, audacity isn't usable with gtk3
|
||||
|
||||
* Tue Feb 23 2021 Sérgio Basto <sergio@serjux.com> - 2.4.2-4
|
||||
- partial fedora sync
|
||||
|
||||
* Wed Feb 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.4.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jan 1 2021 Leigh Scott <leigh123linux@gmail.com> - 2.4.2-2
|
||||
- Rebuilt for new ffmpeg snapshot
|
||||
|
||||
* Wed Oct 21 2020 Leigh Scott <leigh123linux@gmail.com> - 2.4.2-1
|
||||
- Update to Audacity 2.4.2
|
||||
|
||||
* Wed Sep 02 2020 Leigh Scott <leigh123linux@gmail.com> - 2.3.3-5
|
||||
- Add GDK_BACKEND=x11 to audacity.desktop exec line (rfbz#5551)
|
||||
- Fix incorrect appdata.xml type tag (bug #1810509)
|
||||
|
||||
* Mon Aug 17 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Mar 26 2020 leigh123linux <leigh123linux@googlemail.com> - 2.3.3-3
|
||||
- Fix gcc-10 compile issue
|
||||
|
||||
* Tue Feb 04 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Nov 23 2019 David Timms <iinet.net.au@dtimms> - 2.3.3-1
|
||||
- Update to Audacity 2.3.3.
|
||||
- Modify wxWidgets build require to wxGTK3 (gtk3 version).
|
||||
- Modify libdir patch for 2.3.3.
|
||||
- Fix -manual file archive dropping the leading help/ in path.
|
||||
- Disable twolame for EPEL-8 as the -devel package isn't available.
|
||||
|
||||
* Wed Aug 07 2019 Leigh Scott <leigh123linux@gmail.com> - 2.3.2-2
|
||||
- Rebuild for new ffmpeg version
|
||||
|
||||
* Tue Jun 4 2019 David Timms <iinet.net.au@dtimms> - 2.3.2-1
|
||||
- Update to Audacity 2.3.2 release.
|
||||
- Rebase audacity-2.3.2-libdir.patch.
|
||||
|
||||
* Mon Mar 18 2019 Leigh Scott <leigh123linux@googlemail.com> - 2.3.1-1
|
||||
- Update to Audacity 2.3.1 release
|
||||
- Fixes Audacity 2.3.0 broken release (rfbz#5077)
|
||||
|
||||
* Mon Mar 04 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Oct 1 2018 David Timms <iinet.net.au@dtimms> - 2.3.0-1
|
||||
- Update to Audacity 2.3.0 release.
|
||||
- change mp3 capability to be always present rather than a compile option.
|
||||
- Modify audacity-2.2.1-libdir.patch and audacity-2.2.1-libmp3lame-default.patch
|
||||
to apply the rpm macro path directly.
|
||||
- Add grep check to fail if RPMLIB is found in modified source.
|
||||
- Fix libid3tag configure option.
|
||||
|
||||
* Thu Jul 26 2018 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.2.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Apr 27 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.2.2-5
|
||||
- Revert 'Use compat-ffmpeg28 on Fedora 28+'
|
||||
|
||||
* Thu Mar 08 2018 RPM Fusion Release Engineering <leigh123linux@googlemail.com> - 2.2.2-4
|
||||
- Rebuilt for new ffmpeg snapshot
|
||||
|
||||
* Mon Feb 26 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-3
|
||||
- Restore remove after configure
|
||||
- Remove obsolete scriptlets
|
||||
|
||||
* Sun Feb 25 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-2
|
||||
- Use compat-ffmpeg28 on Fedora 28+
|
||||
- Also add conditionals to be possible build with local ffmpeg (not in use)
|
||||
- Use autoconf before ./configure
|
||||
- Readd libmp3lame-default.patch and libdir.patch
|
||||
- Readd to configure --disable-dynamic-loading
|
||||
- General review of spec
|
||||
- Comment BR portmidi-devel and remove no-local-includes.patch
|
||||
|
||||
* Thu Feb 22 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-1
|
||||
- Update to 2.2.2
|
||||
- Readd no-local-includes.patch
|
||||
- Reorganize conditonal with_mp3, now have twolame, lame and libmad
|
||||
- Readd desktop.in.patch
|
||||
- Add to configure --with-lv2 --with-midi --with-portmidi with some commentaries
|
||||
- Temporary fix to portaudio became permanent (--with-portaudio=local)
|
||||
|
||||
* Thu Feb 01 2018 Sérgio Basto <sergio@serjux.com> - 2.2.1-1
|
||||
- Update to 2.2.1
|
||||
|
||||
* Sun Dec 03 2017 Sérgio Basto <sergio@serjux.com> - 2.2.0-1
|
||||
- Update to 2.2.0
|
||||
|
||||
* Mon Oct 16 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-5
|
||||
- Rebuild for ffmpeg update
|
||||
|
||||
* Sun Oct 08 2017 Sérgio Basto <sergio@serjux.com> - 2.1.3-4
|
||||
- Rebuild for soundtouch 2.0.0
|
||||
- Fix build for new wxBase
|
||||
- Sync with Fedora proper
|
||||
|
||||
* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.1.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Apr 29 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-2
|
||||
- Rebuild for ffmpeg update
|
||||
|
||||
* Fri Mar 24 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-1
|
||||
- 2.1.3 release.
|
||||
|
||||
* Sat Mar 18 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.1.3-0.10.20161109git53a5c93
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Nov 22 2016 Sérgio Basto <sergio@serjux.com> - 2.1.3-0.9.20161109git53a5c93
|
||||
- Use bcond_without correctly, fix wx-config-3.0-gtk2 detection, also simplify
|
||||
some comments
|
||||
|
||||
* Thu Nov 17 2016 David Timms <iinet.net.au@dtimms> - 2.1.3-0.8.20161109git53a5c93
|
||||
- fix mp3 build parameter by defining mp3importexport conditional.
|
||||
|
||||
* Wed Nov 9 2016 David Timms <iinet.net.au@dtimms> - 2.1.3-0.7.20161109git53a5c93
|
||||
- 2.1.3 Alpha git snapshot 2016-11-09.
|
||||
|
||||
* Sat Jul 30 2016 Julian Sikorski <belegdol@fedoraproject.org> - 2.1.2-3
|
||||
- Rebuilt for ffmpeg-3.1.1
|
||||
|
||||
* Wed Jun 22 2016 Nicolas Chauvet <kwizart@gmail.com> - 2.1.2-2
|
||||
- Backport fix for gcc6
|
||||
|
||||
* Thu Mar 03 2016 Sérgio Basto <sergio@serjux.com> - 2.1.2-1
|
||||
- Update audacity to 2.1.2 final
|
||||
|
||||
* Sun Jul 19 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-1
|
||||
- Release of Audacity 2.1.1.
|
||||
|
||||
* Sun Jun 28 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-0.2.dea351a
|
||||
- remove Source1 reference to manual (available in Fedora audacity build).
|
||||
|
||||
* Wed Jun 24 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-0.1.dea351a
|
||||
- Update to 2.1.1 pre-release git snapshot to prepare for release.
|
||||
- Conditionalize AppData out of EPEL <=7 release.
|
||||
- Use better AppData screenshots.
|
||||
|
||||
* Mon Jan 12 2015 David Timms <iinet.net.au@dtimms> - 2.0.6-1
|
||||
- update to upstream release 2.0.6
|
||||
- update non-dl-ffmpeg.patch to match this version
|
||||
|
||||
* Sat Aug 30 2014 Sérgio Basto <sergio@serjux.com> - 2.0.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Mon Sep 30 2013 Nicolas Chauvet <kwizart@gmail.com> - 2.0.4-3
|
||||
- Rebuilt
|
||||
|
||||
* Sun Sep 22 2013 David Timms <iinet.net.au@dtimms> - 2.0.4-2
|
||||
- Add upstream patch to avoid segfault when starting Effects|Equalization
|
||||
|
||||
* Sat Sep 14 2013 David Timms <iinet.net.au@dtimms> - 2.0.4-1
|
||||
- update to upstream release 2.0.4
|
||||
- rebase audacity-2.0.1-libmp3lame-default
|
||||
|
||||
* Sat May 4 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 2.0.3-1
|
||||
- New upstream release 2.0.3
|
||||
- Fix FTBFS by using ffmpeg-compat (rf#2707)
|
||||
- Disable dynamic loading to force proper Requires for the used libs
|
||||
|
||||
* Sun Mar 03 2013 Nicolas Chauvet <kwizart@gmail.com> - 2.0.1-2
|
||||
- Mass rebuilt for Fedora 19 Features
|
||||
|
||||
* Tue Jul 3 2012 David Timms <iinet.net.au@dtimms> - 2.0.1-1
|
||||
- update to 2.0.1 final
|
||||
- rebase libmp3lame-default.patch
|
||||
- rebase desktop.in.patch
|
||||
|
||||
* Tue Jun 26 2012 David Timms <iinet.net.au@dtimms> - 2.0.1-0.1.rc2
|
||||
- update to 2.0.1 release candidate 2
|
||||
|
||||
* Wed Mar 14 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-1
|
||||
- update to 2.0.0 final
|
||||
|
||||
* Sun Mar 11 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.9.rc9
|
||||
- update to 2.0.0 release candidate 9
|
||||
- drop upstreamed glib2 include patch
|
||||
|
||||
* Tue Mar 6 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.8.rc8
|
||||
- update to 2.0.0 release candidate 8 for testing only
|
||||
|
||||
* Wed Feb 22 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.3.rc3
|
||||
- update to 2.0.0 release candidate 3
|
||||
|
||||
* Sat Feb 18 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.2.rc1.20120218svn11513
|
||||
- update to release candidate from svn snapshot
|
||||
|
||||
* Sun Feb 5 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.1.alpha20120205svn11456
|
||||
- update to 2.0.0 alpha svn snapshot
|
||||
- delete accepted ffmpeg-0.8.y patch
|
||||
|
||||
* Tue Dec 13 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.5
|
||||
- fix Source1 help reference (again).
|
||||
|
||||
* Tue Dec 13 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.4
|
||||
- update to 1.3.14 beta release
|
||||
|
||||
* Thu Dec 8 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.3.alpha20111101svn11296
|
||||
- add ffmpeg-0.8 patch from Leland Lucius
|
||||
- add test patch to workaround gtypes-include problem
|
||||
|
||||
* Tue Nov 1 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.1.alpha20111101svn11296
|
||||
- update to 1.3.14 alpha svn snapshot
|
||||
|
||||
* Sat Apr 30 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.4.beta
|
||||
- fix files and dir ownership including -manual files in the main package
|
||||
|
||||
* Tue Apr 26 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.2.beta
|
||||
- delete help file Source reference; will be done in Fedora instead.
|
||||
|
||||
* Sun Apr 24 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.2.beta
|
||||
- upgrade to 1.3.13-beta
|
||||
- drop patches included in upstream release
|
||||
- convert desktop file to a patch against new upstream .desktop file.
|
||||
|
||||
* Wed Nov 10 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.11.beta
|
||||
- fix build failure compiling ffmpeg.cpp
|
||||
|
||||
* Wed Nov 10 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.10.beta
|
||||
- fix build failure in portmixer due to "Missing support in pa_mac_core.h"
|
||||
Applied svn trunk portmixer configure changes.
|
||||
- del previous patch attempt (unsuccessful)
|
||||
|
||||
* Sun Oct 31 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.9.beta
|
||||
- fix build failure due to portmixer configure problems
|
||||
|
||||
* Sun Oct 31 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.8.beta
|
||||
- fix hang when play at speed with ratio less than 0.09 is used (#637347)
|
||||
|
||||
* Sat Aug 7 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.7.beta
|
||||
- patch to suit APIChange introduced in ffmpeg-0.6. Resolves rfbz #1356.
|
||||
fixes ffmpeg import/export.
|
||||
|
||||
* Thu Jul 15 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.6.beta
|
||||
- drop vamp-plugin path patch to suit updated vamp-plugin-sdk-2.1
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.4.beta
|
||||
- mods to ease diffs between builds for fedora and full
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.3.beta
|
||||
- really package new icons found in icons/hicolor
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.2.beta
|
||||
- mod tartopdir to use package version macro
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.1.3.beta
|
||||
- fix icons glob to use realname
|
||||
- add more supported mimetypes and categories to the desktop file
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.1.2.beta
|
||||
- upgrade to 1.3.12-beta
|
||||
- package new icons found in icons/hicolor
|
||||
|
||||
* Sat Dec 5 2009 David Timms <iinet.net.au@dtimms> - 1.3.10-0.1.1.beta
|
||||
- upgrade to 1.3.10-beta
|
||||
- re-base spec to fedora devel and patches by mschwendt
|
||||
|
||||
* Thu Dec 3 2009 David Timms <iinet.net.au@dtimms> - 1.3.9-0.4.2.beta
|
||||
- continue with upgrade to f12 version
|
||||
|
||||
* Mon Nov 16 2009 David Timms <iinet.net.au@dtimms> - 1.3.9-0.4.1.beta
|
||||
- upgrade to 1.3.9-beta to match Fedora version.
|
||||
- resync to include new and updated patches from mschwendt
|
||||
- add conditional freeworld to allow minimal change from Fedora version
|
||||
|
||||
* Fri Oct 23 2009 Orcan Ogetbil <oged[DOT]fedora[AT]gmail[DOT]com> - 1.3.7-0.6.2.beta
|
||||
- Update desktop file according to F-12 FedoraStudio feature
|
||||
|
||||
* Tue May 26 2009 David Timms <iinet.net.au@dtimms> - 1.3.7-0.6.1.beta
|
||||
- match the 1.3.7.beta version in fedora proper
|
||||
- include new and updated patches from mschwendt
|
||||
- del no longer required patches
|
||||
|
||||
* Sun Mar 29 2009 Julian Sikorski <belegdol@fedoraproject.org> - 1.3.6-0.4.beta
|
||||
- wxGTK no longer provides wxGTK2 in Fedora 11
|
||||
|
||||
* Sun Mar 29 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.3.6-0.3.beta
|
||||
- rebuild for new F11 features
|
||||
- revert to 1.3.6.beta for now
|
||||
|
||||
* Sat Feb 7 2009 David Timms <iinet.net.au@dtimms> - 1.3.7-0.1.beta
|
||||
- update to new upstream beta release
|
||||
- drop beta release 1.3.2 from package
|
||||
|
||||
* Sun Dec 14 2008 David Timms <iinet.net.au@dtimms> - 1.3.6-0.2.beta
|
||||
- add Kevin Koflers portaudio patch to allow output via pulseaudio
|
||||
|
||||
* Sun Nov 23 2008 David Timms <iinet.net.au@dtimms> - 1.3.6-0.1.beta
|
||||
- update to new upstream beta release
|
||||
- drop libdir patch for now
|
||||
- drop upstreamed fr.po patch
|
||||
- add support for ffmpeg import and export via BR and --with-ffmpeg
|
||||
- add patch to allow selection of ffmpeg library on unix.
|
||||
|
||||
* Fri Aug 22 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.4.beta
|
||||
- mod patch2 apply command
|
||||
|
||||
* Fri Aug 22 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.3.beta
|
||||
- add Requires lame-libs
|
||||
- update 1.3.4-gcc43.patch to suit 1.3.5, since patch mostly upstreamed.
|
||||
|
||||
* Mon Aug 18 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.2.beta
|
||||
- rename spec and Name to audacity-freeworld.
|
||||
- add provides/obsoletes audacity-nonfree.
|
||||
- import livna package into rpmfusion.
|
||||
|
||||
* Sun Jun 8 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.5-0.1.beta
|
||||
- fix bad fr.po that makes Fichier>Open dialog too wide
|
||||
- sync with F-9 updates-testing
|
||||
- update to 1.3.5-beta
|
||||
- tmp patch merged upstream
|
||||
- expat2 patch merged upstream
|
||||
- desktop-file: drop deprecated Encoding, drop Icon file extension
|
||||
|
||||
* Fri May 9 2008 Michael Schwendt <mschwendt@users.sf.net>
|
||||
- scriptlets: run update-desktop-database without path
|
||||
- drop scriptlet dependencies
|
||||
|
||||
* Sat May 3 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.7.20080123cvs
|
||||
- check ownership of temporary files directory (#436260) (CVE-2007-6061)
|
||||
|
||||
* Sat Apr 12 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.6.20080123cvs
|
||||
- set a default location for libmp3lame.so.0 again
|
||||
|
||||
* Fri Mar 21 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.5.20080123cvs
|
||||
- package the old 1.3.2-beta and a post 1.3.4-beta snapshot in the
|
||||
same package -- users may stick to the older one, but please help
|
||||
with evaluating the newer one
|
||||
- merge packaging changes from my 1.3.3/1.3.4 test packages:
|
||||
- build newer release with wxGTK 2.8.x
|
||||
- BR soundtouch-devel and --with-soundtouch=system
|
||||
- drop obsolete patches: resample, mp3 export, destdir, FLAC, fr
|
||||
|
||||
* Fri Mar 21 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.9.beta
|
||||
- make soundtouch and allegro build with RPM optflags
|
||||
|
||||
* Sun Feb 10 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.8.beta
|
||||
- rawhide: patch for JACK 0.109.0 API changes (jack_port_lock/unlock removal).
|
||||
- rebuilt for GCC 4.3 as requested by Fedora Release Engineering
|
||||
- subst _libdir in ladspa plugin loader
|
||||
|
||||
* Thu Jan 3 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.7.beta
|
||||
- Patch for GCC 4.3.0 C++.
|
||||
|
||||
* Fri Nov 16 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.6.beta
|
||||
- rebuilt for FLAC 1.1.4 -> 1.2.x upgrade, which broke FLAC import
|
||||
|
||||
* Mon Mar 5 2007 Michael Schwendt <mschwendt@users.sf.net>
|
||||
- add umask 022 to scriptlets
|
||||
|
||||
* Sat Mar 3 2007 Michael Schwendt <mschwendt[ATusers.sf.net> - 1.3.2-0.5.beta
|
||||
- build with wxGTK 2.6 compatibility package
|
||||
|
||||
* Sat Feb 24 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.4.beta
|
||||
- patch for FLAC 1.1.4 API compatibility
|
||||
- patch ExportMP3.cpp (MPEG-2 Layer III bitrates resulted in
|
||||
broken/empty files)
|
||||
|
||||
* Tue Feb 20 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.3.beta
|
||||
- patch app init to set a default location for libmp3lame.so.0
|
||||
- fix the libmp3lame.so.0 subst
|
||||
- subst _libdir in libmp3lame search
|
||||
- use sed instead of perl
|
||||
|
||||
* Sun Feb 18 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.2.beta
|
||||
- patch the source to use libsamplerate actually and fix Resample.cpp
|
||||
|
||||
* Thu Feb 15 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.1.beta
|
||||
- sync with Fedora Extras 6 upgrade to 1.3.2-beta
|
||||
- add BR expat-devel jack-audio-connection-kit-devel alsa-lib-devel
|
||||
- built-in/patched: nyquist soundtouch
|
||||
- built-in/patched, n/a: twolame
|
||||
- adjust configure options accordingly
|
||||
- patches 1-3 unnecessary, add gemi's audacity-1.3.2-destdir.patch
|
||||
- make patch from iconv src/Languages.cpp conversion (ISO Latin-1 to UTF-8)
|
||||
- make patch for locale/fr.po (MAC to ISO Latin-1)
|
||||
|
||||
* Wed Oct 18 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.3.b.2
|
||||
- rename to "audacity-nonfree" and "Conflicts: audacity"
|
||||
|
||||
* Fri Oct 06 2006 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info>
|
||||
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
|
||||
|
||||
* Sun Sep 24 2006 Michael Schwendt <mschwendt[At]users.sf.net>
|
||||
- rebuild
|
||||
|
||||
* Sat Jun 3 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.2.b
|
||||
- bump and rebuild
|
||||
|
||||
* Fri Mar 17 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.1.b
|
||||
- Update to 1.2.4b (stable release).
|
||||
- Follow upstream recommendation and use the GTK+ 1.x wxGTK.
|
||||
This is because of various issues with fonts/layout/behaviour.
|
||||
- Build with compat-wxGTK-devel.
|
||||
- Modify build section to find wx-2.4-config instead of wx-config.
|
||||
|
||||
* Thu Mar 09 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
|
||||
- switch to new release field
|
||||
|
||||
* Tue Feb 28 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
|
||||
- add dist
|
||||
|
||||
* Wed Jul 20 2005 Michael Schwendt <mschwendt@users.sf.net> - 1.2.3-5.lvn.1
|
||||
- Sync with minor changes in Fedora Extras 4 package.
|
||||
- Drop Epoch and bump release so this is high enough for an upgrade.
|
||||
|
||||
* Fri May 20 2005 David Woodhouse <dwmw2@infradead.org> - 1.2.3-4
|
||||
- Add more possible MIME types for ogg which may be seen even though
|
||||
they're not standard.
|
||||
|
||||
* Sun Jan 30 2005 Michael Schwendt <mschwendt@users.sf.net> - 0:1.2.3-1.lvn.1
|
||||
- Build with mp3 and wxGTK2 by default,
|
||||
- Make the libmp3lame perl substitution in %%prep more robust.
|
||||
- s/Fedora/Livna/ in desktop file.
|
||||
|
||||
* Sat Nov 20 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.3-1
|
||||
- New Version 1.2.3
|
||||
|
||||
* Sat Oct 30 2004 Michael Schwendt <mschwendt@users.sf.net> - 0:1.2.2-0.fdr.1
|
||||
- Update to 1.2.2, patch aboutdialog to be readable with wxGTK.
|
||||
|
||||
* Mon May 10 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.1-0.fdr.1
|
||||
- New Version 1.2.1
|
||||
|
||||
* Sun Apr 11 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.2
|
||||
- Fix for Language.cpp restored
|
||||
|
||||
* Tue Mar 2 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.1
|
||||
- New Version 1.2.0
|
||||
|
||||
* Mon Nov 24 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.4.pre3
|
||||
- Added icon
|
||||
- Separated mp3 plugin
|
||||
|
||||
* Sun Nov 23 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.2.pre3
|
||||
- Changes to specfile
|
||||
|
||||
* Sun Nov 2 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.1.pre3
|
||||
- New upstream version 1.2.0-pre3
|
||||
|
||||
* Sat Oct 25 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-pre2.fdr.1
|
||||
- First Fedora release
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("audacity/audacity"));
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "coolercontrol.spec"
|
||||
}
|
||||
labels {
|
||||
large = 1
|
||||
}
|
||||
}
|
||||
@@ -1,159 +0,0 @@
|
||||
%bcond_without mold
|
||||
%global _desc %{expand:
|
||||
CoolerControl is a feature-rich cooling device control application for Linux. It has a system daemon
|
||||
for background device management, as well as a GUI to expertly customize your settings.
|
||||
}
|
||||
%global rdnn org.coolercontrol.CoolerControl
|
||||
# Don't mangle shebangs
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
Name: coolercontrol
|
||||
Version: 1.4.5
|
||||
Release: 1%?dist
|
||||
Summary: Cooling device control for Linux
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://gitlab.com/coolercontrol/coolercontrol
|
||||
Source0: %url/-/archive/%version/coolercontrol-%version.tar.gz
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
Provides: coolercontrol-ui
|
||||
Provides: coolercontrol-gui
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: webkit2gtk4.1
|
||||
Requires: libappindicator-gtk3
|
||||
Requires: coolercontrold
|
||||
BuildRequires: git-core make nodejs-npm libdrm-devel curl wget file mold
|
||||
BuildRequires: systemd-rpm-macros anda-srpm-macros cargo >= 1.75.0 cargo-rpm-macros
|
||||
BuildRequires: autoconf automake binutils bison flex gcc gcc-c++ gdb libtool pkgconf strace
|
||||
BuildRequires: pkgconfig(webkit2gtk-4.1) pkgconfig(openssl) pkgconfig(librsvg-2.0)
|
||||
BuildRequires: libappindicator-gtk3-devel
|
||||
BuildRequires: python3-devel python3-wheel python3-liquidctl python3-setproctitle python3-fastapi python3-uvicorn python3-pip
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
%description %_desc
|
||||
|
||||
%package liqctld
|
||||
Summary: CoolerControl daemon for interacting with liquidctl devices on a system level
|
||||
Requires: coolercontrold
|
||||
%description liqctld %_desc
|
||||
coolercontrol-liqctld is a CoolerControl daemon for interacting with liquidctl devices on a system level, and is
|
||||
installed as the coolercontrol-liqctld application. Its main purpose is to wrap the underlying
|
||||
liquidctl library providing an API interface that the main coolercontrol daemon interacts with.
|
||||
It also enables parallel device communication and access to specific device properties.
|
||||
|
||||
%package -n coolercontrold
|
||||
Summary: Monitor and control your cooling devices.
|
||||
Requires: coolercontrol-liqctld
|
||||
%description -n coolercontrold %_desc
|
||||
coolercontrold is the main daemon containing the core logic for interfacing with devices, and installed as
|
||||
"coolercontrold". It is meant to run in the background as a system daemon. It handles all device
|
||||
communication and data management, additionally connecting to the liqctld daemon for liquidctl
|
||||
supported devices. It has an API that services client programs like the coolercontrol-gui.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
pushd coolercontrold
|
||||
%cargo_prep_online &
|
||||
popd
|
||||
|
||||
pushd coolercontrol-ui
|
||||
npm ci --prefer-offline &
|
||||
pushd src-tauri
|
||||
%cargo_prep_online &
|
||||
popd
|
||||
popd
|
||||
|
||||
wait
|
||||
|
||||
|
||||
%build
|
||||
pushd coolercontrold
|
||||
%{cargo_license_online} > LICENSE.dependencies &
|
||||
%cargo_build -- &
|
||||
popd
|
||||
|
||||
pushd coolercontrol-liqctld
|
||||
%pyproject_wheel
|
||||
popd
|
||||
|
||||
pushd coolercontrol-ui
|
||||
npm run build &
|
||||
pushd src-tauri
|
||||
%{cargo_license_online} > LICENSE.dependencies &
|
||||
wait
|
||||
%cargo_build -f custom-protocol
|
||||
popd
|
||||
popd
|
||||
|
||||
|
||||
%install
|
||||
pushd coolercontrol-liqctld
|
||||
#define _pyproject_wheeldir .
|
||||
%pyproject_install
|
||||
%pyproject_save_files coolercontrol_liqctld
|
||||
popd
|
||||
|
||||
pushd coolercontrold
|
||||
install -Dpm755 target/rpm/coolercontrold %buildroot%_bindir/coolercontrold
|
||||
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/coolercontrold/LICENSE.dependencies
|
||||
popd
|
||||
|
||||
pushd coolercontrol-ui/src-tauri
|
||||
install -Dpm755 target/rpm/coolercontrol %buildroot%_bindir/coolercontrol
|
||||
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/%name/LICENSE.dependencies
|
||||
popd
|
||||
|
||||
install -Dpm644 packaging/systemd/coolercontrol-liqctld.service %buildroot%_unitdir/coolercontrol-liqctld.service
|
||||
desktop-file-install --dir=%buildroot%_datadir/applications packaging/metadata/%rdnn.desktop
|
||||
install -Dpm644 packaging/metadata/%rdnn.svg %buildroot%_iconsdir/hicolor/scalable/apps/%rdnn.svg
|
||||
install -Dpm644 packaging/metadata/%rdnn.png %buildroot%_iconsdir/hicolor/256x256/apps/%rdnn.svg
|
||||
for f in packaging/systemd/*.service; do
|
||||
install -Dpm644 $f %buildroot%_unitdir/$(basename $f)
|
||||
done
|
||||
install -Dpm644 packaging/metadata/%rdnn.metainfo.xml %buildroot%_metainfodir/%rdnn.metainfo.xml
|
||||
|
||||
|
||||
%check
|
||||
appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
|
||||
%pyproject_check_import
|
||||
|
||||
|
||||
%post -n coolercontrold
|
||||
%systemd_post coolercontrold.service
|
||||
|
||||
%preun -n coolercontrold
|
||||
%systemd_preun coolercontrold.service
|
||||
|
||||
%postun -n coolercontrold
|
||||
%systemd_postun_with_restart coolercontrold.service
|
||||
|
||||
# coolercontrold.service automatically uses the liqctld service, so there are
|
||||
# no scriptlets for liqctld.
|
||||
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%_bindir/coolercontrol
|
||||
%_datadir/applications/%rdnn.desktop
|
||||
%_datadir/metainfo/%rdnn.metainfo.xml
|
||||
%_iconsdir/hicolor/*/apps/%rdnn.svg
|
||||
|
||||
%files -n coolercontrold
|
||||
%doc coolercontrold/README.md
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%_bindir/coolercontrold
|
||||
%_unitdir/coolercontrold.service
|
||||
|
||||
%files liqctld -f %pyproject_files
|
||||
%doc coolercontrol-liqctld/README.md
|
||||
%license LICENSE
|
||||
%_bindir/coolercontrol-liqctld
|
||||
%_unitdir/coolercontrol-liqctld.service
|
||||
|
||||
%changelog
|
||||
* Thu Aug 15 2024 madonuko <mado@fyralabs.com> - 1.4.0-1
|
||||
- Initial package
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gitlab("30707566"));
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 0.0.555
|
||||
Version: 0.0.471
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
rpm.version(get("https://discord.com/api/canary/updates?platform=linux").json().name);
|
||||
let html = get("https://discordapp.com/api/download/canary?platform=linux&format=tar.gz");
|
||||
let newver = find("https://dl-canary\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
|
||||
rpm.version(newver);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary
|
||||
Version: 0.0.555
|
||||
Version: 0.0.471
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
rpm.version(get("https://discord.com/api/canary/updates?platform=linux").json().name);
|
||||
let html = get("https://discordapp.com/api/download/canary?platform=linux&format=tar.gz");
|
||||
let newver = find("https://dl-canary\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
|
||||
rpm.version(newver);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-openasar
|
||||
Version: 0.0.78
|
||||
Version: 0.0.64
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
rpm.version(get("https://discord.com/api/stable/updates?platform=linux").json().name);
|
||||
let html = get("https://discordapp.com/api/download?platform=linux&format=tar.gz");
|
||||
let newver = find("https://dl\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
|
||||
rpm.version(newver);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb-openasar
|
||||
Version: 0.0.124
|
||||
Version: 0.0.99
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
rpm.version(get("https://discord.com/api/ptb/updates?platform=linux").json().name);
|
||||
let html = get("https://discordapp.com/api/download/ptb?platform=linux&format=tar.gz");
|
||||
let newver = find("https://dl-ptb\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
|
||||
rpm.version(newver);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb
|
||||
Version: 0.0.124
|
||||
Version: 0.0.99
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
rpm.version(get("https://discord.com/api/ptb/updates?platform=linux").json().name);
|
||||
let html = get("https://discordapp.com/api/download/ptb?platform=linux&format=tar.gz");
|
||||
let newver = find("https://dl-ptb\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
|
||||
rpm.version(newver);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord
|
||||
Version: 0.0.78
|
||||
Version: 0.0.64
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
rpm.version(get("https://discord.com/api/stable/updates?platform=linux").json().name);
|
||||
let html = get("https://discordapp.com/api/download?platform=linux&format=tar.gz");
|
||||
let newver = find("https://dl\\.discordapp\\.net/apps/linux/([\\.\\d]+)/", html, 1);
|
||||
rpm.version(newver);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 1c3b4decb50593268c16cf8b47397fb3a7a87c9d
|
||||
%global commit_date 20250105
|
||||
%global commit 58ceb44984ffbace79ed5eddf5c426362ad23ae7
|
||||
%global commit_date 20240814
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: envision
|
||||
@@ -21,7 +21,6 @@ BuildRequires: openxr-devel
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: glib2-devel
|
||||
BuildRequires: git-core
|
||||
Recommends: android-tools
|
||||
|
||||
%description
|
||||
@@ -41,8 +40,8 @@ Recommends: android-tools
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%_bindir/envision
|
||||
%_datadir/applications/org.gabmus.envision.Devel.desktop
|
||||
%_datadir/applications/org.gabmus.envision.desktop
|
||||
%_datadir/envision/
|
||||
%_iconsdir/hicolor/scalable/apps/org.gabmus.envision.Devel.svg
|
||||
%_iconsdir/hicolor/symbolic/apps/org.gabmus.envision.Devel-symbolic.svg
|
||||
%_metainfodir/org.gabmus.envision.Devel.appdata.xml
|
||||
%_iconsdir/hicolor/scalable/apps/org.gabmus.envision.svg
|
||||
%_iconsdir/hicolor/symbolic/apps/org.gabmus.envision-symbolic.svg
|
||||
%_metainfodir/org.gabmus.envision.appdata.xml
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: feishin
|
||||
Version: 0.12.1
|
||||
Version: 0.7.3
|
||||
Release: 1%?dist
|
||||
Summary: A modern self-hosted music player
|
||||
License: GPL-3.0
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "fontviewer.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
%global commit d530f26d60dc105e44fdc8ac7f30a2f667bc1e4f
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20241224
|
||||
|
||||
Name: fontviewer
|
||||
Version: %{commit_date}.git~%{shortcommit}
|
||||
Release: 1%?dist
|
||||
Summary: View and install fonts
|
||||
|
||||
License: GPL-2.0
|
||||
URL: https://github.com/chocolateimage/%{name}
|
||||
Source0: %{url}/archive/%{commit}.tar.gz
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: meson
|
||||
BuildRequires: pkgconfig(cairomm-1.0)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(gtkmm-3.0)
|
||||
|
||||
Requires: gtk3 fontconfig
|
||||
|
||||
Packager: sadlerm <sad_lerm@hotmail.com>
|
||||
|
||||
%description
|
||||
A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{commit} -p1
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
@@ -1,5 +0,0 @@
|
||||
# rpm.global("commit", gh_commit("chocolateimage/fontviewer"));
|
||||
# if rpm.changed() {
|
||||
# rpm.release();
|
||||
# rpm.global("commit_date", date());
|
||||
# }
|
||||
@@ -5,7 +5,7 @@
|
||||
%global pure_protobuf_version 2.0.0
|
||||
|
||||
Name: komikku
|
||||
Version: 1.67.0
|
||||
Version: 1.53.0
|
||||
%forgemeta
|
||||
Release: 1%?dist
|
||||
Summary: A manga reader for GNOME
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "legcord-bin.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,95 +0,0 @@
|
||||
%define debug_package %nil
|
||||
%global _build_id_links none
|
||||
|
||||
%ifarch x86_64
|
||||
%global src LegCord-%version-linux-x64
|
||||
%elifarch aarch64
|
||||
%global src LegCord-%version-linux-arm64
|
||||
%elifarch armv7l
|
||||
%global src LegCord-%version-linux-armv7l
|
||||
%endif
|
||||
|
||||
# Exclude private libraries
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/(armcord|legcord)/.*\\.so
|
||||
|
||||
Name: legcord-bin
|
||||
Version: 1.0.6
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/LegCord/LegCord
|
||||
Group: Applications/Internet
|
||||
Source0: %url/releases/download/v%version/%src.zip
|
||||
Source1: legcord.png
|
||||
Source2: https://raw.githubusercontent.com/LegCord/LegCord/v%version/README.md
|
||||
Requires: xdg-utils
|
||||
BuildRequires: unzip
|
||||
ExclusiveArch: x86_64 aarch64 armv7l
|
||||
Conflicts: legcord
|
||||
BuildRequires: add-determinism
|
||||
Obsoletes: armcord < 3.3.2-1
|
||||
|
||||
%description
|
||||
LegCord is a custom client designed to enhance your Discord experience
|
||||
while keeping everything lightweight.
|
||||
|
||||
%prep
|
||||
mkdir legcord
|
||||
cd legcord
|
||||
unzip %SOURCE0
|
||||
|
||||
cat <<EOF > .legcord.desktop
|
||||
[Desktop Entry]
|
||||
Name=LegCord
|
||||
Comment=%summary
|
||||
GenericName=Internet Messenger
|
||||
Type=Application
|
||||
Exec=%_bindir/legcord
|
||||
Icon=legcord
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=legcord
|
||||
Keywords=discord;armcord;legcord;vencord;shelter;electron;
|
||||
EOF
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
cd legcord
|
||||
mkdir -p %buildroot%_bindir %buildroot%_datadir/applications %buildroot%_datadir/pixmaps %buildroot%_datadir/legcord %buildroot%_docdir/%name
|
||||
cp -a * %buildroot%_datadir/legcord/
|
||||
ln -s %_datadir/legcord/legcord %buildroot%_bindir/legcord
|
||||
ln -s %_datadir/legcord %buildroot%_datadir/armcord
|
||||
chmod +x -R %buildroot%_datadir/legcord/*
|
||||
chmod 755 %buildroot%_datadir/legcord/legcord
|
||||
install -Dm644 .legcord.desktop %buildroot%_datadir/applications/LegCord.desktop
|
||||
install -Dm644 %SOURCE1 %buildroot%_datadir/pixmaps/legcord.png
|
||||
install -Dm644 %SOURCE2 %buildroot%_docdir/%name/
|
||||
|
||||
# HACK: rpm bug for unability to replace existing files on system.
|
||||
%pre
|
||||
if [ -d %_datadir/armcord ] && [ ! -L %_datadir/armcord ]; then
|
||||
echo "Found old %_datadir/armcord directory, removing…"
|
||||
rm -rf %_datadir/armcord
|
||||
fi
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%_datadir/legcord
|
||||
%_datadir/armcord
|
||||
%_bindir/legcord
|
||||
%_datadir/applications/LegCord.desktop
|
||||
%_datadir/pixmaps/legcord.png
|
||||
|
||||
%changelog
|
||||
* Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2
|
||||
- Rename to LegCord.
|
||||
|
||||
* Sat Jun 17 2023 madonuko <mado@fyralabs.com> - 3.2.0-2
|
||||
- Remove libnotify dependency.
|
||||
- Fix desktop entry.
|
||||
- Set as noarch package because there are not binary files.
|
||||
- Use /usr/share/ instead of /opt/
|
||||
|
||||
* Sat May 6 2023 madonuko <mado@fyralabs.com> - 3.1.7-1
|
||||
- Initial package
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("LegCord/LegCord"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "legcord-bin.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
%define debug_package %nil
|
||||
%global _build_id_links none
|
||||
|
||||
%ifarch x86_64
|
||||
%global src LegCord-%version-linux-x64
|
||||
%elifarch aarch64
|
||||
%global src LegCord-%version-linux-arm64
|
||||
%elifarch armv7l
|
||||
%global src LegCord-%version-linux-armv7l
|
||||
%endif
|
||||
|
||||
# Exclude private libraries
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/(armcord|legcord)/.*\\.so
|
||||
|
||||
Name: legcord-bin
|
||||
Version: 1.0.6
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/LegCord/LegCord
|
||||
Group: Applications/Internet
|
||||
Source0: %url/releases/download/v%version/%src.zip
|
||||
Source1: legcord.png
|
||||
Source2: https://raw.githubusercontent.com/LegCord/LegCord/v%version/README.md
|
||||
Requires: xdg-utils
|
||||
BuildRequires: unzip
|
||||
ExclusiveArch: x86_64 aarch64 armv7l
|
||||
Conflicts: legcord
|
||||
Conflicts: legcord-nightly
|
||||
BuildRequires: add-determinism
|
||||
Obsoletes: armcord < 3.3.2-1
|
||||
|
||||
%description
|
||||
LegCord is a custom client designed to enhance your Discord experience
|
||||
while keeping everything lightweight.
|
||||
|
||||
%prep
|
||||
mkdir legcord
|
||||
cd legcord
|
||||
unzip %SOURCE0
|
||||
|
||||
cat <<EOF > .legcord.desktop
|
||||
[Desktop Entry]
|
||||
Name=LegCord
|
||||
Comment=%summary
|
||||
GenericName=Internet Messenger
|
||||
Type=Application
|
||||
Exec=%_bindir/legcord
|
||||
Icon=legcord
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=legcord
|
||||
Keywords=discord;armcord;legcord;vencord;shelter;electron;
|
||||
EOF
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
cd legcord
|
||||
mkdir -p %buildroot%_bindir %buildroot%_datadir/applications %buildroot%_datadir/pixmaps %buildroot%_datadir/legcord %buildroot%_docdir/%name
|
||||
cp -a * %buildroot%_datadir/legcord/
|
||||
ln -s %_datadir/legcord/legcord %buildroot%_bindir/legcord
|
||||
ln -s %_datadir/legcord %buildroot%_datadir/armcord
|
||||
chmod +x -R %buildroot%_datadir/legcord/*
|
||||
chmod 755 %buildroot%_datadir/legcord/legcord
|
||||
install -Dm644 .legcord.desktop %buildroot%_datadir/applications/LegCord.desktop
|
||||
install -Dm644 %SOURCE1 %buildroot%_datadir/pixmaps/legcord.png
|
||||
install -Dm644 %SOURCE2 %buildroot%_docdir/%name/
|
||||
|
||||
# HACK: rpm bug for unability to replace existing files on system.
|
||||
%pre
|
||||
if [ -d %_datadir/armcord ] && [ ! -L %_datadir/armcord ]; then
|
||||
echo "Found old %_datadir/armcord directory, removing…"
|
||||
rm -rf %_datadir/armcord
|
||||
fi
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%_datadir/legcord
|
||||
%_datadir/armcord
|
||||
%_bindir/legcord
|
||||
%_datadir/applications/LegCord.desktop
|
||||
%_datadir/pixmaps/legcord.png
|
||||
|
||||
%changelog
|
||||
* Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2
|
||||
- Rename to LegCord.
|
||||
|
||||
* Sat Jun 17 2023 madonuko <mado@fyralabs.com> - 3.2.0-2
|
||||
- Remove libnotify dependency.
|
||||
- Fix desktop entry.
|
||||
- Set as noarch package because there are not binary files.
|
||||
- Use /usr/share/ instead of /opt/
|
||||
|
||||
* Sat May 6 2023 madonuko <mado@fyralabs.com> - 3.1.7-1
|
||||
- Initial package
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 81 KiB |
@@ -1 +0,0 @@
|
||||
rpm.version(gh("LegCord/LegCord"));
|
||||
@@ -1,9 +0,0 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "legcord-nightly.spec"
|
||||
}
|
||||
labels {
|
||||
nightly = 1
|
||||
}
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
%global commit 106ae1ac4251239e56c848667f1e3ffbbb30c762
|
||||
%global commit_date 20250105
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%define debug_package %nil
|
||||
|
||||
Name: legcord-nightly
|
||||
Version: %commit_date.%shortcommit
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/LegCord/LegCord
|
||||
Group: Applications/Internet
|
||||
Source0: %url/archive/%commit/legcord-%commit.tar.gz
|
||||
Source1: launch.sh
|
||||
Packager: Owen <owen@fyralabs.com>
|
||||
Requires: electron xdg-utils
|
||||
Provides: armcord-nightly
|
||||
Obsoletes: armcord < 3.3.2-1
|
||||
Conflicts: legcord-bin
|
||||
Conflicts: legcord
|
||||
BuildArch: noarch
|
||||
BuildRequires: anda-srpm-macros pnpm
|
||||
|
||||
%description
|
||||
legcord is a custom client designed to enhance your Discord experience
|
||||
while keeping everything lightweight.
|
||||
|
||||
%prep
|
||||
%autosetup -n Legcord-%commit
|
||||
|
||||
cat <<EOF > legcord.desktop
|
||||
[Desktop Entry]
|
||||
Name=LegCord
|
||||
Comment=%summary
|
||||
GenericName=Internet Messenger
|
||||
Type=Application
|
||||
Exec=/usr/bin/legcord
|
||||
Icon=legcord
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=legcord
|
||||
Keywords=discord;armcord;legcord;vencord;shelter;electron;
|
||||
EOF
|
||||
|
||||
|
||||
%build
|
||||
pnpm install --no-frozen-lockfile
|
||||
pnpm run packageQuick
|
||||
|
||||
|
||||
%install
|
||||
install -Dm644 dist/*-unpacked/resources/app.asar %buildroot/usr/share/legcord/app.asar
|
||||
|
||||
install -Dm755 %SOURCE1 %buildroot/usr/bin/legcord
|
||||
install -Dm644 legcord.desktop %buildroot/usr/share/applications/LegCord.desktop
|
||||
install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/legcord.png
|
||||
|
||||
ln -s %_datadir/legcord %buildroot%_datadir/armcord
|
||||
|
||||
# HACK: rpm bug for unability to replace existing files on system.
|
||||
%pre
|
||||
if [ -d %_datadir/armcord ] && [ ! -L %_datadir/armcord ]; then
|
||||
echo "Found old %_datadir/armcord directory, removing…"
|
||||
rm -rf %_datadir/armcord
|
||||
fi
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license license.txt
|
||||
/usr/bin/legcord
|
||||
/usr/share/applications/LegCord.desktop
|
||||
/usr/share/pixmaps/legcord.png
|
||||
/usr/share/legcord/app.asar
|
||||
/usr/share/armcord
|
||||
|
||||
%changelog
|
||||
* Fri Nov 22 2024 owen <owen@fyralabs.com> - 1.0.2-2
|
||||
- Add nightly package.
|
||||
|
||||
* Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2
|
||||
- Rename to LegCord.
|
||||
|
||||
* Mon Aug 26 2024 madonuko <mado@fyralabs.com> - 3.3.0-1
|
||||
- Update to license.txt
|
||||
|
||||
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
|
||||
- Remove libnotify dependency.
|
||||
- Fix desktop entry.
|
||||
- Set as noarch package because there are not binary files.
|
||||
|
||||
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
|
||||
- Initial package
|
||||
@@ -1,5 +0,0 @@
|
||||
rpm.global("commit", gh_commit("Legcord/Legcord"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
rpm.global("commit_date", date());
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
electron=/usr/bin/electron
|
||||
|
||||
CONFIG=${XDG_CONFIG_HOME:-~/.config}
|
||||
FLAGS="$CONFIG/armcord-flags.conf"
|
||||
|
||||
# Allow users to override command-line options
|
||||
if [ -f "$FLAGS" ]; then
|
||||
USER_FLAGS="$(cat "$FLAGS")"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2086 # USER_FLAGS has to be unquoted
|
||||
"$electron" /usr/share/armcord/app.asar $USER_FLAGS "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
%define debug_package %nil
|
||||
|
||||
# Exclude private libraries
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/(armcord|legcord)/.*\\.so
|
||||
|
||||
Name: legcord
|
||||
Version: 1.0.6
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
URL: https://github.com/LegCord/LegCord
|
||||
Group: Applications/Internet
|
||||
Source1: launch.sh
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
Requires: electron xdg-utils
|
||||
Provides: armcord
|
||||
Obsoletes: armcord < 3.3.2-1
|
||||
Conflicts: legcord-bin
|
||||
Conflicts: legcord-nightly
|
||||
BuildArch: noarch
|
||||
BuildRequires: anda-srpm-macros pnpm
|
||||
|
||||
%description
|
||||
legcord is a custom client designed to enhance your Discord experience
|
||||
while keeping everything lightweight.
|
||||
|
||||
%prep
|
||||
%git_clone %url v%version
|
||||
|
||||
cat <<EOF > legcord.desktop
|
||||
[Desktop Entry]
|
||||
Name=Legcord
|
||||
Comment=%summary
|
||||
GenericName=Internet Messenger
|
||||
Type=Application
|
||||
Exec=/usr/bin/legcord
|
||||
Icon=legcord
|
||||
Categories=Network;InstantMessaging;
|
||||
StartupWMClass=legcord
|
||||
Keywords=discord;armcord;legcord;vencord;shelter;electron;
|
||||
EOF
|
||||
|
||||
|
||||
%build
|
||||
pnpm install --no-frozen-lockfile
|
||||
pnpm run packageQuick
|
||||
|
||||
|
||||
%install
|
||||
install -Dm644 dist/*-unpacked/resources/app.asar %buildroot/usr/share/legcord/app.asar
|
||||
|
||||
install -Dm755 %SOURCE1 %buildroot/usr/bin/legcord
|
||||
install -Dm644 legcord.desktop %buildroot/usr/share/applications/LegCord.desktop
|
||||
install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/legcord.png
|
||||
|
||||
ln -s %_datadir/legcord %buildroot%_datadir/armcord
|
||||
|
||||
# HACK: rpm bug for unability to replace existing files on system.
|
||||
%pre
|
||||
if [ -d %_datadir/armcord ] && [ ! -L %_datadir/armcord ]; then
|
||||
echo "Found old %_datadir/armcord directory, removing…"
|
||||
rm -rf %_datadir/armcord
|
||||
fi
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license license.txt
|
||||
/usr/bin/legcord
|
||||
/usr/share/applications/LegCord.desktop
|
||||
/usr/share/pixmaps/legcord.png
|
||||
/usr/share/legcord/app.asar
|
||||
/usr/share/armcord
|
||||
|
||||
%changelog
|
||||
* Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2
|
||||
- Rename to LegCord.
|
||||
|
||||
* Mon Aug 26 2024 madonuko <mado@fyralabs.com> - 3.3.0-1
|
||||
- Update to license.txt
|
||||
|
||||
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
|
||||
- Remove libnotify dependency.
|
||||
- Fix desktop entry.
|
||||
- Set as noarch package because there are not binary files.
|
||||
|
||||
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
|
||||
- Initial package
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("LegCord/LegCord"));
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 44384aad73da69b51c57fc7299457beecfcc1698
|
||||
%global commit acc69e082fff67398834de3045ef48d33d2f4d54
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20250105
|
||||
%global ver 0.39.0
|
||||
%global commit_date 20240814
|
||||
%global ver 0.38.0
|
||||
|
||||
Name: mpv-nightly
|
||||
Version: %ver^%commit_date.%shortcommit
|
||||
@@ -42,7 +42,6 @@ BuildRequires: pkgconfig(libavutil) >= 57.24.100
|
||||
BuildRequires: pkgconfig(libbluray)
|
||||
BuildRequires: pkgconfig(libcdio)
|
||||
BuildRequires: pkgconfig(libcdio_paranoia)
|
||||
BuildRequires: pkgconfig(libdisplay-info)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libjpeg)
|
||||
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.19
|
||||
@@ -183,6 +182,7 @@ sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
|
||||
-Dvdpau-gl-x11=enabled \
|
||||
-Dvdpau=enabled \
|
||||
-Dvector=enabled \
|
||||
-Dvulkan-interop=disabled \
|
||||
-Dvulkan=enabled \
|
||||
-Dwayland=enabled \
|
||||
-Dwerror=false \
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/desktop/packages/linux/rs.ruffle.Ruffle.desktop
|
||||
+++ b/desktop/packages/linux/rs.ruffle.Ruffle.desktop
|
||||
@@ -47,7 +47,7 @@ Comment[zh_CN]=播放 Flash 游戏和动画
|
||||
Comment[zh_TW]=播放 Flash 遊戲和動畫
|
||||
Comment=Play Flash games & movies
|
||||
Icon=rs.ruffle.Ruffle
|
||||
-Exec=ruffle %u
|
||||
+Exec=ruffle_desktop %u
|
||||
MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie
|
||||
Categories=AudioVideo;Player;Graphics;Viewer;VectorGraphics;Game
|
||||
Keywords[ar]=الفلاش;swf;مشغل;محاكي;رَسْت
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2025-01-05
|
||||
%global ver 2024-08-15
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
@@ -14,10 +14,9 @@ Summary: A Flash Player emulator written in Rust
|
||||
License: Apache-2.0 OR MIT
|
||||
URL: https://ruffle.rs/
|
||||
Source0: https://github.com/ruffle-rs/ruffle/archive/refs/tags/nightly-%ver.tar.gz
|
||||
Patch0: desktop_file_patch.diff
|
||||
Provides: ruffle
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: anda-srpm-macros mold
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: gcc-c++ cmake java
|
||||
BuildRequires: java-latest-openjdk-headless
|
||||
BuildRequires: pkgconfig(alsa)
|
||||
@@ -33,23 +32,35 @@ Packager: madonuko <mado@fyralabs.com>
|
||||
%license LICENSE.md
|
||||
%license LICENSE.dependencies
|
||||
%_bindir/ruffle_desktop
|
||||
%_datadir/applications/rs.ruffle.Ruffle.desktop
|
||||
%_iconsdir/hicolor/scalable/apps/rs.ruffle.Ruffle.svg
|
||||
%_metainfodir/rs.ruffle.Ruffle.metainfo.xml
|
||||
%_datadir/applications/ruffle_desktop.desktop
|
||||
%_iconsdir/hicolor/scalable/apps/ruffle_desktop.svg
|
||||
|
||||
%prep
|
||||
%autosetup -n ruffle-nightly-%ver -p1
|
||||
%autosetup -n ruffle-nightly-%ver
|
||||
%cargo_prep_online
|
||||
|
||||
cat<<EOF > ruffle_desktop.desktop
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=Ruffle Desktop
|
||||
Comment=%summary
|
||||
Exec=%_bindir/ruffle_desktop
|
||||
Icon=ruffle_desktop
|
||||
Terminal=false
|
||||
StartupNotify=false
|
||||
Categories=Application;
|
||||
MimeType=application/x-shockwave-flash;
|
||||
EOF
|
||||
|
||||
%build
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
|
||||
%install
|
||||
cd desktop
|
||||
%cargo_install
|
||||
install -Dm644 packages/linux/rs.ruffle.Ruffle.svg %buildroot%_iconsdir/hicolor/scalable/apps/rs.ruffle.Ruffle.svg
|
||||
install -Dm644 packages/linux/rs.ruffle.Ruffle.desktop %buildroot%_datadir/applications/rs.ruffle.Ruffle.desktop
|
||||
install -Dm644 packages/linux/rs.ruffle.Ruffle.metainfo.xml %buildroot%_metainfodir/rs.ruffle.Ruffle.metainfo.xml
|
||||
install -Dm644 assets/icon.svg %buildroot%_iconsdir/hicolor/scalable/apps/ruffle_desktop.svg
|
||||
install -Dm644 ../ruffle_desktop.desktop %buildroot%_datadir/applications/ruffle_desktop.desktop
|
||||
|
||||
%changelog
|
||||
* Mon Jul 29 2024 madonuko <mado@fyralabs.com>
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
%global crate sccache
|
||||
|
||||
Name: rust-sccache
|
||||
Version: 0.9.0
|
||||
Release: 1%?dist
|
||||
Version: 0.8.1
|
||||
Release: %autorelease
|
||||
Summary: Ccache-like tool
|
||||
|
||||
License: Apache-2.0
|
||||
@@ -23,13 +23,14 @@ Source: %{crates_source}
|
||||
# Automatically generated patch to strip dependencies and normalize metadata
|
||||
Patch: sccache-fix-metadata-auto.diff
|
||||
|
||||
ExclusiveArch: %{rust_arches}
|
||||
|
||||
BuildRequires: cargo-rpm-macros >= 24
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: perl
|
||||
BuildRequires: rust-packaging
|
||||
BuildRequires: mold
|
||||
|
||||
%global _description %{expand:
|
||||
Sccache is a ccache-like tool. It is used as a compiler wrapper and
|
||||
@@ -47,7 +48,6 @@ License: MIT
|
||||
|
||||
%files -n %{crate}
|
||||
%license LICENSE
|
||||
#license LICENSE.dependencies
|
||||
%doc CODE_OF_CONDUCT.md
|
||||
%doc README.md
|
||||
%{_bindir}/sccache
|
||||
@@ -68,9 +68,6 @@ This package contains library source intended for building other packages which
|
||||
use the "%{crate}" crate.
|
||||
|
||||
%files devel
|
||||
%license %{crate_instdir}/LICENSE
|
||||
%doc %{crate_instdir}/CODE_OF_CONDUCT.md
|
||||
%doc %{crate_instdir}/README.md
|
||||
%{crate_instdir}/
|
||||
|
||||
%package -n %{name}+default-devel
|
||||
@@ -474,7 +471,6 @@ use the "webdav" feature of the "%{crate}" crate.
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf .git || true
|
||||
%if %{with dist_server}
|
||||
%cargo_install -f dist-server
|
||||
%else
|
||||
@@ -0,0 +1,16 @@
|
||||
--- sccache-0.8.1/Cargo.toml 1970-01-01T00:00:01+00:00
|
||||
+++ sccache-0.8.1/Cargo.toml 2024-07-10T16:31:31.705674+00:00
|
||||
@@ -403,13 +403,3 @@
|
||||
[target."cfg(unix)".dependencies.daemonize]
|
||||
version = "0.5"
|
||||
|
||||
-[target."cfg(windows)".dependencies.winapi]
|
||||
-version = "0.3"
|
||||
-features = [
|
||||
- "fileapi",
|
||||
- "handleapi",
|
||||
- "stringapiset",
|
||||
- "winnls",
|
||||
- "processenv",
|
||||
- "std",
|
||||
-]
|
||||
@@ -1,27 +0,0 @@
|
||||
From 44046bfbcb30a19c45416113a2a82a4d17a1a998 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 14:06:45 +0200
|
||||
Subject: [PATCH 01/10] main: update GPUs comment for dbus property
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/net.hadess.SwitcherooControl.xml | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/net.hadess.SwitcherooControl.xml b/src/net.hadess.SwitcherooControl.xml
|
||||
index e52bc1a..59a8896 100644
|
||||
--- a/src/net.hadess.SwitcherooControl.xml
|
||||
+++ b/src/net.hadess.SwitcherooControl.xml
|
||||
@@ -38,7 +38,8 @@
|
||||
will contain a user-facing name for the GPU, the "Environment" (as) key will
|
||||
contain an array of even number of strings, each being an environment
|
||||
variable to set to use the GPU, followed by its value, the "Default" (b) key
|
||||
- will tag the default (usually integrated) GPU.
|
||||
+ will tag the default GPU, the "Discrete" (b) key tags if the GPU is a
|
||||
+ dedicated component.
|
||||
-->
|
||||
<property name="GPUs" type="aa{sv}" access="read"/>
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -1,379 +0,0 @@
|
||||
From 4f31415cb61a50c2bcba1510a7511518417d0970 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Mon, 11 Sep 2023 15:21:46 +0200
|
||||
Subject: [PATCH 02/10] main: add Discrete key
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
.gitlab-ci.yml | 1 +
|
||||
data/30-discrete-gpu.rules.in | 3 +
|
||||
data/meson.build | 7 ++
|
||||
meson.build | 9 +++
|
||||
meson_options.txt | 24 +++++++
|
||||
src/discrete-detection/amdgpu.c | 46 +++++++++++++
|
||||
src/discrete-detection/meson.build | 18 +++++
|
||||
src/discrete-detection/nouveau.c | 105 +++++++++++++++++++++++++++++
|
||||
src/meson.build | 4 +-
|
||||
src/switcheroo-control.c | 16 +++++
|
||||
10 files changed, 232 insertions(+), 1 deletion(-)
|
||||
create mode 100644 data/30-discrete-gpu.rules.in
|
||||
create mode 100644 src/discrete-detection/amdgpu.c
|
||||
create mode 100644 src/discrete-detection/meson.build
|
||||
create mode 100644 src/discrete-detection/nouveau.c
|
||||
|
||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||||
index a6aa3c7..a09fe20 100644
|
||||
--- a/.gitlab-ci.yml
|
||||
+++ b/.gitlab-ci.yml
|
||||
@@ -3,6 +3,7 @@ image: fedora:rawhide
|
||||
variables:
|
||||
DEPENDENCIES: glib2-devel
|
||||
libgudev-devel
|
||||
+ libdrm-devel
|
||||
gtk-doc
|
||||
gcc
|
||||
gcc-c++
|
||||
diff --git a/data/30-discrete-gpu.rules.in b/data/30-discrete-gpu.rules.in
|
||||
new file mode 100644
|
||||
index 0000000..a803ed4
|
||||
--- /dev/null
|
||||
+++ b/data/30-discrete-gpu.rules.in
|
||||
@@ -0,0 +1,3 @@
|
||||
+DRIVERS=="amdgpu", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-amdgpu $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nouveau", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-nouveau $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nvidia", TAG+="switcheroo-discrete-gpu"
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index 85e5c93..38cf96c 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -17,3 +17,10 @@ install_data(
|
||||
'30-pci-intel-gpu.hwdb',
|
||||
install_dir: hwdb_dir,
|
||||
)
|
||||
+
|
||||
+configure_file(
|
||||
+ input: '30-discrete-gpu.rules.in',
|
||||
+ output: '30-discrete-gpu.rules',
|
||||
+ configuration: data_conf,
|
||||
+ install_dir: rules_dir,
|
||||
+)
|
||||
diff --git a/meson.build b/meson.build
|
||||
index b8f4bff..b3aaf0c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -20,6 +20,9 @@ gnome = import('gnome')
|
||||
glib = dependency('glib-2.0', version: '>= 2.56.0')
|
||||
gio = dependency('gio-2.0', version: '>= 2.56.0')
|
||||
gudev = dependency('gudev-1.0', version: '>= 232')
|
||||
+libdrm = dependency('libdrm', version: '>= 2.4.97', required: get_option('libdrm'))
|
||||
+libdrm_nouveau = dependency('libdrm_nouveau', version: '>= 2.4.97', required: get_option('libdrm_nouveau'))
|
||||
+libdrm_amdgpu = dependency('libdrm_amdgpu', version: '>= 2.4.97', required: get_option('libdrm_amdgpu'))
|
||||
|
||||
systemd_systemunitdir = get_option('systemdsystemunitdir')
|
||||
if systemd_systemunitdir == ''
|
||||
@@ -32,6 +35,12 @@ if hwdb_dir == ''
|
||||
hwdb_dir = udevdir / 'hwdb.d'
|
||||
endif
|
||||
|
||||
+rules_dir = get_option('rulesdir')
|
||||
+if rules_dir == ''
|
||||
+ udevdir = dependency('udev').get_pkgconfig_variable('udevdir')
|
||||
+ rules_dir = udevdir / 'rules.d'
|
||||
+endif
|
||||
+
|
||||
# Make like license available in the build root for docs
|
||||
configure_file(
|
||||
input: 'COPYING',
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index c8d9619..b8d671a 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -10,6 +10,12 @@ option('hwdbdir',
|
||||
description: 'Directory for hwdb files',
|
||||
)
|
||||
|
||||
+option('rulesdir',
|
||||
+ type: 'string',
|
||||
+ value: '',
|
||||
+ description: 'Directory for ruke files',
|
||||
+)
|
||||
+
|
||||
option('gtk_doc',
|
||||
type: 'boolean',
|
||||
value: false,
|
||||
@@ -21,3 +27,21 @@ option('tests',
|
||||
type: 'boolean',
|
||||
value: false
|
||||
)
|
||||
+
|
||||
+option('libdrm',
|
||||
+ description: 'Whether libdrm should be used to probe GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
+
|
||||
+option('libdrm_nouveau',
|
||||
+ description: 'Whether libdrm_nouveau should be used to probe Nvidia GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
+
|
||||
+option('libdrm_amdgpu',
|
||||
+ description: 'Whether libdrm_amdgpu should be used to probe AMD GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
diff --git a/src/discrete-detection/amdgpu.c b/src/discrete-detection/amdgpu.c
|
||||
new file mode 100644
|
||||
index 0000000..2d9804f
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/amdgpu.c
|
||||
@@ -0,0 +1,46 @@
|
||||
+
|
||||
+#include <fcntl.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+#include <gio/gio.h>
|
||||
+#include <gudev/gudev.h>
|
||||
+
|
||||
+#include <amdgpu.h>
|
||||
+#include <amdgpu_drm.h>
|
||||
+
|
||||
+typedef int handle;
|
||||
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(amdgpu_device_handle, free);
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ puts ("check-discrete-amdgpu [DEVNAME]");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ const char *devname;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+ g_autoptr(GUdevDevice) parent = NULL;
|
||||
+ struct drm_amdgpu_info_device device_info = {0};
|
||||
+ amdgpu_device_handle device = NULL;
|
||||
+ uint32_t drm_major, drm_minor;
|
||||
+
|
||||
+ devname = argv[1];
|
||||
+ fd = open (devname, O_RDWR);
|
||||
+ if (fd < 0)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ if (amdgpu_device_initialize (fd, &drm_major, &drm_minor, &device))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ if (amdgpu_query_info (device, AMDGPU_INFO_DEV_INFO, sizeof(device_info), &device_info))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ /* AMDGPU_IDS_FLAGS_FUSION is set for all APUs */
|
||||
+ if (device_info.ids_flags & AMDGPU_IDS_FLAGS_FUSION)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ return EXIT_SUCCESS;
|
||||
+}
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..3a6c03f
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -0,0 +1,18 @@
|
||||
+
|
||||
+if libdrm_amdgpu.found()
|
||||
+ executable('check-discrete-amdgpu',
|
||||
+ files('amdgpu.c'),
|
||||
+ dependencies: deps,
|
||||
+ install: true,
|
||||
+ install_dir: libexecdir,
|
||||
+ )
|
||||
+endif
|
||||
+
|
||||
+if libdrm.found() and libdrm_nouveau.found()
|
||||
+ executable('check-discrete-nouveau',
|
||||
+ files('nouveau.c'),
|
||||
+ dependencies: deps,
|
||||
+ install: true,
|
||||
+ install_dir: libexecdir,
|
||||
+ )
|
||||
+endif
|
||||
diff --git a/src/discrete-detection/nouveau.c b/src/discrete-detection/nouveau.c
|
||||
new file mode 100644
|
||||
index 0000000..0a1f220
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/nouveau.c
|
||||
@@ -0,0 +1,105 @@
|
||||
+
|
||||
+#include <fcntl.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+#include <gio/gio.h>
|
||||
+#include <gudev/gudev.h>
|
||||
+
|
||||
+#include <xf86drm.h>
|
||||
+#include <nouveau_drm.h>
|
||||
+#include <nouveau/nvif/ioctl.h>
|
||||
+#include <nvif/cl0080.h>
|
||||
+#include <nvif/class.h>
|
||||
+
|
||||
+typedef int handle;
|
||||
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ puts ("check-discrete-nouveau [DEVNAME]");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ const char *devname;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+
|
||||
+ devname = argv[1];
|
||||
+ fd = open (devname, O_RDWR);
|
||||
+ if (fd < 0)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ g_autofree void *device = malloc(352);
|
||||
+
|
||||
+ /* Init device */
|
||||
+ {
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_new_v0 new;
|
||||
+ struct nv_device_v0 dev;
|
||||
+ } init_args = {
|
||||
+ .ioctl = {
|
||||
+ .object = 0,
|
||||
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
|
||||
+ .route = 0x00,
|
||||
+ .type = NVIF_IOCTL_V0_NEW,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .new = {
|
||||
+ .handle = 0,
|
||||
+ .object = (uintptr_t)device,
|
||||
+ .oclass = NV_DEVICE,
|
||||
+ .route = NVIF_IOCTL_V0_ROUTE_NVIF,
|
||||
+ .token = (uintptr_t)device,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .dev = {
|
||||
+ .device = ~0ULL,
|
||||
+ },
|
||||
+ };
|
||||
+
|
||||
+ if (drmCommandWrite (fd, DRM_NOUVEAU_NVIF, &init_args, sizeof(init_args)))
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ /* Query device info */
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_mthd_v0 mthd;
|
||||
+ struct nv_device_info_v0 info;
|
||||
+ } args = {
|
||||
+ .ioctl = {
|
||||
+ .object = (uintptr_t)device,
|
||||
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
|
||||
+ .route = 0x00,
|
||||
+ .type = NVIF_IOCTL_V0_MTHD,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .mthd = {
|
||||
+ .method = NV_DEVICE_V0_INFO,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .info = {
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ };
|
||||
+
|
||||
+ if (drmCommandWriteRead (fd, DRM_NOUVEAU_NVIF, &args, sizeof(args)))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+
|
||||
+ switch (args.info.platform)
|
||||
+ {
|
||||
+ case NV_DEVICE_INFO_V0_IGP:
|
||||
+ case NV_DEVICE_INFO_V0_SOC:
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ case NV_DEVICE_INFO_V0_PCI:
|
||||
+ case NV_DEVICE_INFO_V0_AGP:
|
||||
+ case NV_DEVICE_INFO_V0_PCIE:
|
||||
+ default:
|
||||
+ return EXIT_SUCCESS;
|
||||
+ }
|
||||
+ return EXIT_FAILURE;
|
||||
+}
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index ab3a77d..da4267f 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
-deps = [glib, gio, gudev]
|
||||
+deps = [glib, gio, gudev, libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
|
||||
sources = [
|
||||
'info-cleanup.c',
|
||||
@@ -34,3 +34,5 @@ configure_file(
|
||||
configuration: switcherooctl_conf,
|
||||
install_dir: get_option('bindir')
|
||||
)
|
||||
+
|
||||
+subdir('discrete-detection')
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index abd8154..e407bfb 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -31,6 +31,7 @@ typedef struct {
|
||||
char *name;
|
||||
GPtrArray *env;
|
||||
gboolean is_default;
|
||||
+ gboolean is_discrete;
|
||||
} CardData;
|
||||
|
||||
typedef struct {
|
||||
@@ -94,6 +95,8 @@ build_gpus_variant (ControlData *data)
|
||||
g_variant_new_strv ((const gchar * const *) card->env->pdata, card->env->len));
|
||||
g_variant_builder_add (&asv_builder, "{sv}", "Default",
|
||||
g_variant_new_boolean (card->is_default));
|
||||
+ g_variant_builder_add (&asv_builder, "{sv}", "Discrete",
|
||||
+ g_variant_new_boolean (card->is_discrete));
|
||||
|
||||
g_variant_builder_add (&builder, "a{sv}", &asv_builder);
|
||||
}
|
||||
@@ -312,6 +315,18 @@ get_card_is_default (GUdevDevice *d)
|
||||
return g_udev_device_get_sysfs_attr_as_boolean (parent, "boot_vga");
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+get_card_is_discrete (GUdevDevice *d)
|
||||
+{
|
||||
+ const char * const * tags;
|
||||
+ g_autoptr (GUdevDevice) platform_device = NULL;
|
||||
+
|
||||
+ tags = g_udev_device_get_tags (d);
|
||||
+ if (tags && g_strv_contains (tags, "switcheroo-discrete-gpu"))
|
||||
+ return TRUE;
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
static CardData *
|
||||
get_card_data (GUdevClient *client,
|
||||
GUdevDevice *d)
|
||||
@@ -328,6 +343,7 @@ get_card_data (GUdevClient *client,
|
||||
data->name = get_card_name (d);
|
||||
data->env = env;
|
||||
data->is_default = get_card_is_default (d);
|
||||
+ data->is_discrete = get_card_is_discrete (d);
|
||||
|
||||
return data;
|
||||
}
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From 1b115ed72e03ff1169cbfddd79ef10890baca133 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:53:40 +0200
|
||||
Subject: [PATCH 03/10] tests: fix integration tests without UMockdev
|
||||
`gi.require_version` throws ValueError if the dependency cannot be found
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
tests/integration-test.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/integration-test.py b/tests/integration-test.py
|
||||
index d8dea16..e3dd996 100755
|
||||
--- a/tests/integration-test.py
|
||||
+++ b/tests/integration-test.py
|
||||
@@ -37,7 +37,7 @@ except ImportError as e:
|
||||
try:
|
||||
gi.require_version('UMockdev', '1.0')
|
||||
from gi.repository import UMockdev
|
||||
-except ImportError:
|
||||
+except (ImportError, ValueError):
|
||||
sys.stderr.write('Skipping tests, umockdev not available (https://github.com/martinpitt/umockdev)\n')
|
||||
sys.exit(0)
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
-278
@@ -1,278 +0,0 @@
|
||||
From d933e96bdb15679ae7653f929461982aa66973ba Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:58:16 +0200
|
||||
Subject: [PATCH 04/10] tests: add tests for discrete detection with mock libs
|
||||
Both tests have 4 different ways of testing: - Invalid Device - Unexpected
|
||||
Device - Non Discrete GPU (iGPU/APU) - Discrete GPU
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/meson.build | 4 +-
|
||||
tests/discrete-detection/libdrm_amdgpu_mock.c | 57 +++++++++++++
|
||||
.../discrete-detection/libdrm_nouveau_mock.c | 68 ++++++++++++++++
|
||||
tests/discrete-detection/meson.build | 80 +++++++++++++++++++
|
||||
tests/meson.build | 2 +
|
||||
5 files changed, 209 insertions(+), 2 deletions(-)
|
||||
create mode 100644 tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
create mode 100644 tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
create mode 100644 tests/discrete-detection/meson.build
|
||||
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
index 3a6c03f..8eb8437 100644
|
||||
--- a/src/discrete-detection/meson.build
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
if libdrm_amdgpu.found()
|
||||
- executable('check-discrete-amdgpu',
|
||||
+ amdgpu_discrete = executable('check-discrete-amdgpu',
|
||||
files('amdgpu.c'),
|
||||
dependencies: deps,
|
||||
install: true,
|
||||
@@ -9,7 +9,7 @@ if libdrm_amdgpu.found()
|
||||
endif
|
||||
|
||||
if libdrm.found() and libdrm_nouveau.found()
|
||||
- executable('check-discrete-nouveau',
|
||||
+ nouveau_discrete = executable('check-discrete-nouveau',
|
||||
files('nouveau.c'),
|
||||
dependencies: deps,
|
||||
install: true,
|
||||
diff --git a/tests/discrete-detection/libdrm_amdgpu_mock.c b/tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
new file mode 100644
|
||||
index 0000000..20fa4aa
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
@@ -0,0 +1,57 @@
|
||||
+#include <string.h>
|
||||
+#include <stdint.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#include <amdgpu_drm.h>
|
||||
+
|
||||
+enum {
|
||||
+ OTHER_GPU,
|
||||
+ AMD_APU,
|
||||
+ AMD_GPU,
|
||||
+};
|
||||
+
|
||||
+/* Mock open(2) so we can test multiple devices configurations */
|
||||
+int open(const char *pathname, int flags)
|
||||
+{
|
||||
+ if (!strcmp(pathname, "OTHER_GPU"))
|
||||
+ return OTHER_GPU;
|
||||
+ if (!strcmp (pathname, "AMD_APU"))
|
||||
+ return AMD_APU;
|
||||
+ if (!strcmp (pathname, "AMD_GPU"))
|
||||
+ return AMD_GPU;
|
||||
+
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+/* open64 may be used for large file support */
|
||||
+int open64(const char *pathname, int flags)
|
||||
+{
|
||||
+ return open (pathname, flags);
|
||||
+}
|
||||
+
|
||||
+int amdgpu_device_initialize(int fd, uint32_t *major_version, uint32_t *minor_version, int *device_handle)
|
||||
+{
|
||||
+ // Store the fd in the device handle for access in query_info
|
||||
+ *device_handle = fd;
|
||||
+
|
||||
+ if (fd != AMD_GPU && fd != AMD_APU)
|
||||
+ return 1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int amdgpu_query_info(int device_handle, unsigned info_id, unsigned size, void *value)
|
||||
+{
|
||||
+ struct drm_amdgpu_info_device* device_info = value;
|
||||
+
|
||||
+ if (device_handle == AMD_GPU) {
|
||||
+ device_info->ids_flags = 0;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (device_handle == AMD_APU) {
|
||||
+ device_info->ids_flags = AMDGPU_IDS_FLAGS_FUSION;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
diff --git a/tests/discrete-detection/libdrm_nouveau_mock.c b/tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
new file mode 100644
|
||||
index 0000000..cdbfda8
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
@@ -0,0 +1,68 @@
|
||||
+#include <string.h>
|
||||
+#include <stdint.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#include <xf86drm.h>
|
||||
+#include <nouveau_drm.h>
|
||||
+#include <nouveau/nvif/ioctl.h>
|
||||
+#include <nvif/cl0080.h>
|
||||
+#include <nvif/class.h>
|
||||
+
|
||||
+enum {
|
||||
+ OTHER_GPU,
|
||||
+ NVIDIA_IGPU,
|
||||
+ NVIDIA_GPU,
|
||||
+};
|
||||
+
|
||||
+/* Mock open(2) so we can test multiple devices configurations */
|
||||
+int open(const char *pathname, int flags)
|
||||
+{
|
||||
+ if (!strcmp(pathname, "OTHER_GPU"))
|
||||
+ return OTHER_GPU;
|
||||
+ if (!strcmp (pathname, "NVIDIA_IGPU"))
|
||||
+ return NVIDIA_IGPU;
|
||||
+ if (!strcmp (pathname, "NVIDIA_GPU"))
|
||||
+ return NVIDIA_GPU;
|
||||
+
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+/* open64 may be used for large file support */
|
||||
+int open64(const char *pathname, int flags)
|
||||
+{
|
||||
+ return open (pathname, flags);
|
||||
+}
|
||||
+
|
||||
+int drmCommandWrite(int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
|
||||
+{
|
||||
+ if (drmCommandIndex != DRM_NOUVEAU_NVIF)
|
||||
+ return 1;
|
||||
+
|
||||
+ if (fd != NVIDIA_GPU && fd != NVIDIA_IGPU)
|
||||
+ return 1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int drmCommandWriteRead(int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
|
||||
+{
|
||||
+ if (drmCommandIndex != DRM_NOUVEAU_NVIF)
|
||||
+ return 1;
|
||||
+
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_mthd_v0 mthd;
|
||||
+ struct nv_device_info_v0 info;
|
||||
+ } *args = data;
|
||||
+
|
||||
+ if (fd == NVIDIA_GPU) {
|
||||
+ args->info.platform = NV_DEVICE_INFO_V0_PCIE;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (fd == NVIDIA_IGPU) {
|
||||
+ args->info.platform = NV_DEVICE_INFO_V0_IGP;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/tests/discrete-detection/meson.build b/tests/discrete-detection/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..f01a014
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/meson.build
|
||||
@@ -0,0 +1,80 @@
|
||||
+
|
||||
+if libdrm_amdgpu.found()
|
||||
+ amdgpu_mock_lib = shared_library(
|
||||
+ 'drm_amdgpu_mock',
|
||||
+ files('libdrm_amdgpu_mock.c'),
|
||||
+ dependencies: libdrm_amdgpu
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with invalid device',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['NO_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with non-AMD GPU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['OTHER_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with AMD APU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['AMD_APU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with AMD GPU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['AMD_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: false
|
||||
+ )
|
||||
+endif
|
||||
+
|
||||
+if libdrm.found() and libdrm_nouveau.found()
|
||||
+ nouveau_mock_lib = shared_library(
|
||||
+ 'drm_nouveau_mock',
|
||||
+ files('libdrm_nouveau_mock.c'),
|
||||
+ dependencies: [libdrm, libdrm_nouveau]
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with invalid device',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NO_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with non-Nvidia GPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['OTHER_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with Nvidia iGPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NVIDIA_IGPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with Nvidia GPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NVIDIA_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: false
|
||||
+ )
|
||||
+endif
|
||||
\ No newline at end of file
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index b0b7476..61ef00c 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -15,3 +15,5 @@ foreach ut: unit_tests
|
||||
env: envs,
|
||||
)
|
||||
endforeach
|
||||
+
|
||||
+subdir('discrete-detection')
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
From c102b643945dc076d881497dd2ca5865938f7053 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:57:47 +0200
|
||||
Subject: [PATCH 05/10] main: remove leftover and fix typo
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
meson_options.txt | 2 +-
|
||||
src/switcheroo-control.c | 1 -
|
||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index b8d671a..c77fea8 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -13,7 +13,7 @@ option('hwdbdir',
|
||||
option('rulesdir',
|
||||
type: 'string',
|
||||
value: '',
|
||||
- description: 'Directory for ruke files',
|
||||
+ description: 'Directory for rule files',
|
||||
)
|
||||
|
||||
option('gtk_doc',
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index e407bfb..0f6a548 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -319,7 +319,6 @@ static gboolean
|
||||
get_card_is_discrete (GUdevDevice *d)
|
||||
{
|
||||
const char * const * tags;
|
||||
- g_autoptr (GUdevDevice) platform_device = NULL;
|
||||
|
||||
tags = g_udev_device_get_tags (d);
|
||||
if (tags && g_strv_contains (tags, "switcheroo-discrete-gpu"))
|
||||
--
|
||||
2.46.0
|
||||
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
From f764db4eb565c19ba14155791fbfced3fb5d34c8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:58:27 +0200
|
||||
Subject: [PATCH 06/10] main: move discrete dependencies out of main deps
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/meson.build | 5 +++--
|
||||
src/meson.build | 2 +-
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
index 8eb8437..353316f 100644
|
||||
--- a/src/discrete-detection/meson.build
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -1,8 +1,9 @@
|
||||
+discrete_deps = deps + [libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
|
||||
if libdrm_amdgpu.found()
|
||||
amdgpu_discrete = executable('check-discrete-amdgpu',
|
||||
files('amdgpu.c'),
|
||||
- dependencies: deps,
|
||||
+ dependencies: discrete_deps,
|
||||
install: true,
|
||||
install_dir: libexecdir,
|
||||
)
|
||||
@@ -11,7 +12,7 @@ endif
|
||||
if libdrm.found() and libdrm_nouveau.found()
|
||||
nouveau_discrete = executable('check-discrete-nouveau',
|
||||
files('nouveau.c'),
|
||||
- dependencies: deps,
|
||||
+ dependencies: discrete_deps,
|
||||
install: true,
|
||||
install_dir: libexecdir,
|
||||
)
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index da4267f..22d69e7 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
-deps = [glib, gio, gudev, libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
+deps = [glib, gio, gudev]
|
||||
|
||||
sources = [
|
||||
'info-cleanup.c',
|
||||
--
|
||||
2.46.0
|
||||
|
||||
-137
@@ -1,137 +0,0 @@
|
||||
From d2ecc29469d5572fd171926c9d1dbb1b851c7b09 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 17:12:00 +0200
|
||||
Subject: [PATCH 07/10] main: use glib for discrete command-line arguments
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/amdgpu.c | 29 ++++++++++++++++++++---------
|
||||
src/discrete-detection/nouveau.c | 29 ++++++++++++++++++++---------
|
||||
2 files changed, 40 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/src/discrete-detection/amdgpu.c b/src/discrete-detection/amdgpu.c
|
||||
index 2d9804f..5a9a4ab 100644
|
||||
--- a/src/discrete-detection/amdgpu.c
|
||||
+++ b/src/discrete-detection/amdgpu.c
|
||||
@@ -1,9 +1,10 @@
|
||||
-
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <locale.h>
|
||||
#include <gio/gio.h>
|
||||
#include <gudev/gudev.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <amdgpu.h>
|
||||
#include <amdgpu_drm.h>
|
||||
@@ -12,22 +13,32 @@ typedef int handle;
|
||||
G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(amdgpu_device_handle, free);
|
||||
|
||||
-int main(int argc, char** argv)
|
||||
+int main (int argc, char** argv)
|
||||
{
|
||||
- if (argc < 2)
|
||||
- {
|
||||
- puts ("check-discrete-amdgpu [DEVNAME]");
|
||||
- return EXIT_FAILURE;
|
||||
- }
|
||||
-
|
||||
const char *devname;
|
||||
g_auto(handle) fd = -1;
|
||||
- g_autoptr(GUdevDevice) parent = NULL;
|
||||
struct drm_amdgpu_info_device device_info = {0};
|
||||
amdgpu_device_handle device = NULL;
|
||||
uint32_t drm_major, drm_minor;
|
||||
+ g_autoptr(GOptionContext) option_context = NULL;
|
||||
+ g_autoptr(GError) error = NULL;
|
||||
|
||||
+ setlocale (LC_ALL, "");
|
||||
+ option_context = g_option_context_new ("");
|
||||
+
|
||||
+ if (!g_option_context_parse (option_context, &argc, &argv, &error)) {
|
||||
+ g_print ("Failed to parse arguments: %s\n", error->message);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ g_print ("%s\n", g_option_context_get_help (option_context, TRUE, NULL));
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
devname = argv[1];
|
||||
+;
|
||||
+
|
||||
fd = open (devname, O_RDWR);
|
||||
if (fd < 0)
|
||||
return EXIT_FAILURE;
|
||||
diff --git a/src/discrete-detection/nouveau.c b/src/discrete-detection/nouveau.c
|
||||
index 0a1f220..1d61cbb 100644
|
||||
--- a/src/discrete-detection/nouveau.c
|
||||
+++ b/src/discrete-detection/nouveau.c
|
||||
@@ -1,9 +1,10 @@
|
||||
-
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <locale.h>
|
||||
#include <gio/gio.h>
|
||||
#include <gudev/gudev.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <xf86drm.h>
|
||||
#include <nouveau_drm.h>
|
||||
@@ -14,23 +15,34 @@
|
||||
typedef int handle;
|
||||
G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
|
||||
-int main(int argc, char** argv)
|
||||
+int main (int argc, char** argv)
|
||||
{
|
||||
+ const gchar *devname = NULL;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+ g_autofree void *device = NULL;
|
||||
+ g_autoptr(GOptionContext) option_context = NULL;
|
||||
+ g_autoptr(GError) error = NULL;
|
||||
+
|
||||
+ setlocale (LC_ALL, "");
|
||||
+ option_context = g_option_context_new ("");
|
||||
+
|
||||
+ if (!g_option_context_parse (option_context, &argc, &argv, &error)) {
|
||||
+ g_print ("Failed to parse arguments: %s\n", error->message);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
if (argc < 2)
|
||||
{
|
||||
- puts ("check-discrete-nouveau [DEVNAME]");
|
||||
+ g_print ("%s\n", g_option_context_get_help (option_context, TRUE, NULL));
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
-
|
||||
- const char *devname;
|
||||
- g_auto(handle) fd = -1;
|
||||
-
|
||||
devname = argv[1];
|
||||
+
|
||||
fd = open (devname, O_RDWR);
|
||||
if (fd < 0)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
- g_autofree void *device = malloc(352);
|
||||
+ device = malloc(352);
|
||||
|
||||
/* Init device */
|
||||
{
|
||||
@@ -88,7 +100,6 @@ int main(int argc, char** argv)
|
||||
if (drmCommandWriteRead (fd, DRM_NOUVEAU_NVIF, &args, sizeof(args)))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
-
|
||||
switch (args.info.platform)
|
||||
{
|
||||
case NV_DEVICE_INFO_V0_IGP:
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From 462b09f02de37dfd2965d23cc7c4137bcf45a4ae Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 20:25:42 +0100
|
||||
Subject: [PATCH 08/10] main: add udev rule for i915 checking a lot of systems
|
||||
has shown that the intel iGPU will always be available at `0000:00:02.0`.
|
||||
Using ID_PATH would have been cleaner, but I couldn't get it to work.
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
data/30-discrete-gpu.rules.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/30-discrete-gpu.rules.in b/data/30-discrete-gpu.rules.in
|
||||
index a803ed4..f30f315 100644
|
||||
--- a/data/30-discrete-gpu.rules.in
|
||||
+++ b/data/30-discrete-gpu.rules.in
|
||||
@@ -1,3 +1,4 @@
|
||||
DRIVERS=="amdgpu", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-amdgpu $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
DRIVERS=="nouveau", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-nouveau $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
-DRIVERS=="nvidia", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nvidia", SUBSYSTEM=="drm", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="i915", SUBSYSTEM=="drm", DEVPATH!="/devices/pci0000:00/0000:00:02.0/drm/*", TAG+="switcheroo-discrete-gpu"
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From 55db3aeaeb962952881f73e94432f750cfb64fc8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Thu, 15 Feb 2024 16:24:00 +0100
|
||||
Subject: [PATCH 09/10] main: use Discrete key in switcherooctl
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/switcherooctl.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/switcherooctl.in b/src/switcherooctl.in
|
||||
index 96c21cc..c0e3f07 100755
|
||||
--- a/src/switcherooctl.in
|
||||
+++ b/src/switcherooctl.in
|
||||
@@ -77,6 +77,7 @@ def print_gpu(gpu, index):
|
||||
print('Device:', index)
|
||||
print(' Name: ', gpu['Name'])
|
||||
print(' Default: ', "yes" if gpu['Default'] else "no")
|
||||
+ print(' Discrete: ', "yes" if gpu['Discrete'] else "no")
|
||||
print(' Environment:', env_to_str(gpu['Environment']))
|
||||
|
||||
def _list():
|
||||
@@ -126,7 +127,7 @@ def get_discrete_gpu():
|
||||
return None
|
||||
|
||||
try:
|
||||
- gpu = next(gpu for gpu in gpus if not gpu['Default'])
|
||||
+ gpu = next(gpu for gpu in gpus if gpu['Discrete'])
|
||||
except StopIteration:
|
||||
return None
|
||||
else:
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
From 4232c75fe41158bb5063d630d36b3ffd6a8a57ec Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Fri, 6 Sep 2024 22:31:56 +0200
|
||||
Subject: [PATCH 10/10] main: use new GPU list on uevent the amount of GPUs may
|
||||
still be the same but underlying attributes may have changed On the ASUS TUF
|
||||
Dash F15 running Fedora 40 6.10.7-200.fc40.x86_64 the udev tags are not
|
||||
applied at the time switcheroo-control starts but at a later uevent they are
|
||||
correct. Memory gets allocated anyways to check if the GPU count has changed,
|
||||
so this shouldn't affect memory usage.
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/switcheroo-control.c | 16 ++++++----------
|
||||
1 file changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index 0f6a548..01954c7 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -438,16 +438,12 @@ uevent_cb (GUdevClient *client,
|
||||
|
||||
cards = get_drm_cards (data);
|
||||
num_gpus = cards->len;
|
||||
- if (num_gpus != data->num_gpus) {
|
||||
- g_debug ("GPUs added or removed (old: %d new: %d)",
|
||||
- data->num_gpus, num_gpus);
|
||||
- g_ptr_array_free (data->cards, TRUE);
|
||||
- data->cards = cards;
|
||||
- data->num_gpus = cards->len;
|
||||
- send_dbus_event (data);
|
||||
- } else {
|
||||
- g_ptr_array_free (cards, TRUE);
|
||||
- }
|
||||
+ g_debug ("GPUs updated (old: %d new: %d)",
|
||||
+ data->num_gpus, num_gpus);
|
||||
+ g_ptr_array_free (data->cards, TRUE);
|
||||
+ data->cards = cards;
|
||||
+ data->num_gpus = cards->len;
|
||||
+ send_dbus_event (data);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "switcheroo-control.spec"
|
||||
}
|
||||
labels {
|
||||
extra = 1
|
||||
}
|
||||
}
|
||||
@@ -1,194 +0,0 @@
|
||||
Name: switcheroo-control
|
||||
Version: 2.6
|
||||
Release: 8%{?dist}
|
||||
Summary: D-Bus service to check the availability of dual-GPU
|
||||
|
||||
License: GPLv3
|
||||
URL: https://gitlab.freedesktop.org/hadess/switcheroo-control/
|
||||
# URL from https://gitlab.freedesktop.org/hadess/switcheroo-control/-/releases
|
||||
Source0: https://gitlab.freedesktop.org/hadess/switcheroo-control/uploads/86ea54ac7ddb901b6bf6e915209151f8/switcheroo-control-2.6.tar.xz
|
||||
Patch: 0001-main-update-GPUs-comment-for-dbus-property.patch
|
||||
Patch: 0002-main-add-Discrete-key.patch
|
||||
Patch: 0003-tests-fix-integration-tests-without-UMockdev.patch
|
||||
Patch: 0004-tests-add-tests-for-discrete-detection-with-mock-lib.patch
|
||||
Patch: 0005-main-remove-leftover-and-fix-typo.patch
|
||||
Patch: 0006-main-move-discrete-dependencies-out-of-main-deps.patch
|
||||
Patch: 0007-main-use-glib-for-discrete-command-line-arguments.patch
|
||||
Patch: 0008-main-add-udev-rule-for-i915.patch
|
||||
Patch: 0009-main-use-Discrete-key-in-switcherooctl.patch
|
||||
Patch: 0010-main-use-new-GPU-list-on-uevent.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: pkgconfig(gudev-1.0)
|
||||
BuildRequires: pkgconfig(gio-2.0)
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: meson
|
||||
BuildRequires: systemd
|
||||
BuildRequires: libdrm-devel
|
||||
BuildRequires: python3-dbusmock
|
||||
BuildRequires: umockdev
|
||||
|
||||
%{?systemd_requires}
|
||||
|
||||
%description
|
||||
D-Bus service to check the availability of dual-GPU.
|
||||
|
||||
%package docs
|
||||
Summary: Documentation for %{name}
|
||||
BuildArch: noarch
|
||||
|
||||
%description docs
|
||||
|
||||
This package contains the documentation for %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
|
||||
%build
|
||||
%meson -Dgtk_doc=true
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%post
|
||||
if [ $1 -eq 2 ] && [ -x /usr/bin/systemctl ] ; then
|
||||
/usr/bin/systemctl daemon-reload
|
||||
fi
|
||||
%systemd_post switcheroo-control.service
|
||||
%udev_hwdb_update
|
||||
|
||||
%preun
|
||||
%systemd_preun switcheroo-control.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart switcheroo-control.service
|
||||
%udev_hwdb_update
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc NEWS README.md
|
||||
%{_bindir}/switcherooctl
|
||||
%{_datadir}/dbus-1/system.d/net.hadess.SwitcherooControl.conf
|
||||
%{_unitdir}/switcheroo-control.service
|
||||
%{_libexecdir}/switcheroo-control
|
||||
%{_udevhwdbdir}/30-pci-intel-gpu.hwdb
|
||||
%{_mandir}/man1/switcherooctl.1*
|
||||
%{_libexecdir}/check-discrete-amdgpu
|
||||
%{_libexecdir}/check-discrete-nouveau
|
||||
%{_udevrulesdir}/30-discrete-gpu.rules
|
||||
|
||||
%files docs
|
||||
%dir %{_datadir}/gtk-doc/
|
||||
%dir %{_datadir}/gtk-doc/html/
|
||||
%{_datadir}/gtk-doc/html/%{name}/
|
||||
|
||||
%changelog
|
||||
* Fri Sep 06 2024 Jan200101 <sentrycraft123@gmail.com> - 2.6-8
|
||||
- Update discrete patch
|
||||
|
||||
* Thu Feb 15 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-7
|
||||
- Update discrete patch
|
||||
|
||||
* Wed Feb 14 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-6
|
||||
- Add discrete patch
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Jul 01 2022 Bastien Nocera <bnocera@redhat.com> - 2.6-1
|
||||
+ switcheroo-control-2.6-1
|
||||
- Update to 2.6
|
||||
|
||||
* Fri Apr 29 2022 Bastien Nocera <bnocera@redhat.com> - 2.5-1
|
||||
+ switcheroo-control-2.5-1
|
||||
- Update to 2.5
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.4-3
|
||||
- Rebuilt for updated systemd-rpm-macros
|
||||
See https://pagure.io/fesco/issue/2583.
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 04 2021 Bastien Nocera <bnocera@redhat.com> - 2.4-1
|
||||
+ switcheroo-control-2.4-1
|
||||
- Update to 2.4
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Apr 27 2020 Bastien Nocera <bnocera@redhat.com> - 2.2-1
|
||||
+ switcheroo-control-2.2-1
|
||||
- Update to 2.2
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jan 02 2020 Bastien Nocera <bnocera@redhat.com> - 2.1-1
|
||||
+ switcheroo-control-2.1-1
|
||||
- Update to 2.1
|
||||
- Fix crasher on startup (#1786846)
|
||||
|
||||
* Thu Nov 21 2019 Bastien Nocera <bnocera@redhat.com> - 2.0-2
|
||||
+ switcheroo-control-2.0-2
|
||||
- Fix post scripts not reloading service file
|
||||
|
||||
* Tue Nov 05 2019 Bastien Nocera <bnocera@redhat.com> - 2.0-1
|
||||
+ switcheroo-control-2.0-1
|
||||
- Update to 2.0
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Jun 17 2019 Bastien Nocera <bnocera@redhat.com> - 1.3.1-1
|
||||
+ switcheroo-control-1.3.1-1
|
||||
- Fix Secure Boot work-around
|
||||
|
||||
* Wed Jun 12 2019 Bastien Nocera <bnocera@redhat.com> - 1.3-1
|
||||
+ switcheroo-control-1.3-1
|
||||
- Update to 1.3
|
||||
- Fix operation with SecureBoot enabled
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Nov 04 2016 Bastien Nocera <bnocera@redhat.com> - 1.1-1
|
||||
+ switcheroo-control-1.1-1
|
||||
- Update to 1.1
|
||||
- Don't throw errors when the machine doesn't have dual-GPU (#1391212)
|
||||
|
||||
* Fri Oct 21 2016 Kalev Lember <klember@redhat.com> - 1.0-1
|
||||
- Initial Fedora packaging
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Name: vencord-desktop
|
||||
Provides: VencordDesktop = %{version}-%{release}
|
||||
Version: 1.5.4
|
||||
Version: 1.5.3
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
Summary: Vesktop is a cross platform desktop app aiming to give you a snappier Discord experience with Vencord pre-installed
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
# do not perform compression in cpio
|
||||
%define _source_payload w0.ufdio
|
||||
%define _binary_payload w19.zstdio
|
||||
%define _binary_payload w0.gzdio
|
||||
|
||||
# Exclude private libraries
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: voicevox
|
||||
Version: 0.22.3
|
||||
Version: 0.20.0
|
||||
Release: 1%?dist
|
||||
Summary: Free Japanese text-to-speech editor
|
||||
License: LGPL-3.0
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
Name: WoeUSB-ng
|
||||
Version: 0.2.12
|
||||
Release: 1%?dist
|
||||
Summary: Simple tool that enable you to create your own usb stick with Windows installer
|
||||
License: GPL-3.0-only
|
||||
Requires: parted dosfstools ntfsprogs p7zip p7zip-plugins xdg-utils grub2-tools
|
||||
URL: https://github.com/WoeUSB/WoeUSB-ng
|
||||
Source: https://github.com/WoeUSB/WoeUSB-ng/archive/refs/tags/v%version.tar.gz
|
||||
Patch0: https://patch-diff.githubusercontent.com/raw/WoeUSB/WoeUSB-ng/pull/79.patch
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel python3-installer
|
||||
|
||||
%global _description %{expand:
|
||||
WoeUSB-ng is a simple tool that enable you to create your own usb stick windows installer from an iso image or a real DVD. This is a rewrite of original WoeUSB.}
|
||||
|
||||
%description %_description
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files WoeUSB
|
||||
install -Dpm644 miscellaneous/WoeUSB-ng.desktop %buildroot%_datadir/applications/WoeUSB-ng.desktop
|
||||
install -Dpm644 miscellaneous/com.github.woeusb.woeusb-ng.policy %buildroot%_datadir/polkit-1/actions/com.github.woeusb.woeusb-ng.policy
|
||||
|
||||
|
||||
%check
|
||||
#pyproject_check_import
|
||||
|
||||
|
||||
%files -f %{pyproject_files}
|
||||
%_bindir/woeusb
|
||||
%_bindir/woeusbgui
|
||||
%_datadir/applications/WoeUSB-ng.desktop
|
||||
%_iconsdir/hicolor/scalable/apps/woeusb-logo.png
|
||||
%_datadir/polkit-1/actions/com.github.woeusb.woeusb-ng.policy
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "WoeUSB-ng.spec"
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh_tag("WoeUSB/WoeUSB-ng"));
|
||||
@@ -5,8 +5,8 @@
|
||||
%global pnpm npx pnpm@%{pnpm_version}
|
||||
|
||||
Name: youtube-music
|
||||
Version: 3.7.1
|
||||
Release: 1%?dist
|
||||
Version: 3.5.1
|
||||
Release: 1%{?dist}
|
||||
Summary: YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
|
||||
Source1: youtube-music.desktop
|
||||
License: MIT
|
||||
|
||||
@@ -1,114 +1,115 @@
|
||||
Name: budgie-extras
|
||||
Version: 1.8.0
|
||||
Release: 2%{?dist}
|
||||
Name: budgie-extras
|
||||
Version: 1.8.0
|
||||
Release: 1%{?dist}
|
||||
|
||||
License: GPL-3.0
|
||||
Summary: Additional Budgie Desktop enhancements for user experience
|
||||
URL: https://ubuntubudgie.org/
|
||||
License: GPL-3.0
|
||||
Summary: Additional Budgie Desktop enhancements for user experience
|
||||
URL: https://ubuntubudgie.org/
|
||||
|
||||
Source0: https://github.com/UbuntuBudgie/budgie-extras/releases/download/v%{version}/budgie-extras-%{version}.tar.xz
|
||||
Patch0: 0001-fix-weathershow-desktop-widget-icon-path.patch
|
||||
Source0: https://github.com/UbuntuBudgie/budgie-extras/releases/download/v%{version}/budgie-extras-%{version}.tar.xz
|
||||
Patch0: 0001-fix-weathershow-desktop-widget-icon-path.patch
|
||||
|
||||
BuildRequires: rpm_macro(fdupes)
|
||||
BuildRequires: cmake
|
||||
BuildRequires: meson
|
||||
BuildRequires: vala
|
||||
BuildRequires: intltool
|
||||
BuildRequires: rpm_macro(fdupes)
|
||||
BuildRequires: cmake
|
||||
BuildRequires: meson
|
||||
BuildRequires: vala
|
||||
BuildRequires: intltool
|
||||
|
||||
BuildRequires: pkgconfig(budgie-1.0)
|
||||
BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(gnome-settings-daemon)
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(keybinder-3.0)
|
||||
BuildRequires: pkgconfig(libgnome-menu-3.0)
|
||||
BuildRequires: pkgconfig(libnm)
|
||||
BuildRequires: pkgconfig(libnma)
|
||||
BuildRequires: pkgconfig(libnotify)
|
||||
BuildRequires: pkgconfig(libsoup-2.4)
|
||||
BuildRequires: pkgconfig(libwnck-3.0)
|
||||
BuildRequires: pkgconfig(budgie-1.0)
|
||||
BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(gnome-settings-daemon)
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
BuildRequires: pkgconfig(keybinder-3.0)
|
||||
BuildRequires: pkgconfig(libgnome-menu-3.0)
|
||||
BuildRequires: pkgconfig(libnm)
|
||||
BuildRequires: pkgconfig(libnma)
|
||||
BuildRequires: pkgconfig(libnotify)
|
||||
BuildRequires: pkgconfig(libsoup-2.4)
|
||||
BuildRequires: pkgconfig(libwnck-3.0)
|
||||
|
||||
BuildRequires: pkgconfig(appstream)
|
||||
BuildRequires: pkgconfig(granite)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
BuildRequires: pkgconfig(zeitgeist-2.0)
|
||||
BuildRequires: pkgconfig(appstream)
|
||||
BuildRequires: pkgconfig(granite)
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
BuildRequires: pkgconfig(zeitgeist-2.0)
|
||||
|
||||
Requires: budgie-applet-app-launcher
|
||||
Requires: budgie-applet-applications-menu
|
||||
Requires: budgie-applet-brightness-controller
|
||||
Requires: budgie-applet-clockworks
|
||||
Requires: budgie-applet-countdown
|
||||
Requires: budgie-applet-dropby
|
||||
Requires: budgie-applet-fuzzyclock
|
||||
Requires: budgie-applet-hotcorners
|
||||
Requires: budgie-applet-kangaroo
|
||||
Requires: budgie-applet-keyboard-autoswitch
|
||||
Requires: budgie-applet-network-manager
|
||||
Requires: budgie-applet-quickchar
|
||||
Requires: budgie-applet-quicknote
|
||||
Requires: budgie-applet-recentlyused
|
||||
Requires: budgie-applet-rotation-lock
|
||||
Requires: budgie-applet-showtime
|
||||
Requires: budgie-applet-takeabreak
|
||||
Requires: budgie-applet-visualspace
|
||||
Requires: budgie-applet-wallstreet
|
||||
Requires: budgie-applet-weathershow
|
||||
Requires: budgie-applet-window-shuffler
|
||||
Requires: budgie-applet-workspace-stopwatch
|
||||
Requires: budgie-applet-wpreviews
|
||||
Requires: budgie-applet-wswitcher
|
||||
Requires: budgie-applet-applications-menu
|
||||
Requires: budgie-applet-weathershow
|
||||
|
||||
Requires: budgie-applet-app-launcher
|
||||
Requires: budgie-applet-brightness-controller
|
||||
Requires: budgie-applet-clockworks
|
||||
Requires: budgie-applet-countdown
|
||||
Requires: budgie-applet-dropby
|
||||
Requires: budgie-applet-fuzzyclock
|
||||
Requires: budgie-applet-hotcorners
|
||||
Requires: budgie-applet-kangaroo
|
||||
Requires: budgie-applet-keyboard-autoswitch
|
||||
Requires: budgie-applet-network-manager
|
||||
Requires: budgie-applet-quickchar
|
||||
Requires: budgie-applet-quicknote
|
||||
Requires: budgie-applet-recentlyused
|
||||
Requires: budgie-applet-rotation-lock
|
||||
Requires: budgie-applet-showtime
|
||||
Requires: budgie-applet-takeabreak
|
||||
Requires: budgie-applet-visualspace
|
||||
Requires: budgie-applet-wallstreet
|
||||
Requires: budgie-applet-window-shuffler
|
||||
Requires: budgie-applet-workspace-stopwatch
|
||||
Requires: budgie-applet-wpreviews
|
||||
Requires: budgie-applet-wswitcher
|
||||
# Fix for https://github.com/UbuntuBudgie/budgie-extras/issues/233, don't know how stenstorp did not notice this
|
||||
Requires: xinput
|
||||
Requires: xinput
|
||||
|
||||
%description
|
||||
This is part of a suite of python3 and Vala based applets for the Budgie
|
||||
Desktop that provide additional user orientated capabilities.
|
||||
The applets can be used individually or as a set.
|
||||
|
||||
%package common
|
||||
Requires: budgie-desktop
|
||||
Summary: Shared component of budgie-extras applets
|
||||
BuildArch: noarch
|
||||
%description common
|
||||
%package common
|
||||
Requires: budgie-desktop
|
||||
Summary: Shared component of budgie-extras applets
|
||||
BuildArch: noarch
|
||||
%description common
|
||||
The shared component provides for capabilities that are utilised between
|
||||
budgie-extra applets.
|
||||
|
||||
%package daemon
|
||||
Summary: Manages keyboard shortcuts
|
||||
Requires: budgie-extras-common
|
||||
%description daemon
|
||||
%package daemon
|
||||
Summary: Manages keyboard shortcuts
|
||||
Requires: budgie-extras-common
|
||||
%description daemon
|
||||
This on logon process manages keyboard shortcuts delivered via .bde files for
|
||||
various extras-plugins.
|
||||
|
||||
%package -n budgie-applet-app-launcher
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to provide an alternative means to launch applications
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to provide an alternative means to launch applications
|
||||
%description -n budgie-applet-app-launcher
|
||||
The app-launcher applet allows the ability to add favorite apps to the
|
||||
panel as well as finding and launching applications. The list of
|
||||
applications listed can be easily configured to be visible or hidden.
|
||||
|
||||
%package -n budgie-applet-applications-menu
|
||||
Requires: budgie-extras-common
|
||||
Summary: Lightweight and stylish app launcher
|
||||
Requires: budgie-extras-common
|
||||
Summary: Lightweight and stylish app launcher
|
||||
%description -n budgie-applet-applications-menu
|
||||
%{summary}
|
||||
|
||||
%package -n budgie-applet-brightness-controller
|
||||
Requires: budgie-extras-common
|
||||
Summary: A Budgie Desktop applet for productivity
|
||||
Requires: budgie-extras-common
|
||||
Summary: A Budgie Desktop applet for productivity
|
||||
%description -n budgie-applet-brightness-controller
|
||||
%{summary}
|
||||
|
||||
%package -n budgie-applet-clockworks
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to display clock across multiple time zones
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to display clock across multiple time zones
|
||||
%description -n budgie-applet-clockworks
|
||||
The Clockworks applet displays the current time across multiple
|
||||
time zones.
|
||||
|
||||
%package -n budgie-applet-countdown
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet providing a countdown capability on the Budgie Desktop
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet providing a countdown capability on the Budgie Desktop
|
||||
%description -n budgie-applet-countdown
|
||||
The Countdown applet provides the user the ability to start an
|
||||
action when the countdown reaches 0 seconds. Actions include flashing
|
||||
@@ -116,8 +117,8 @@ an icon in the panel, opening a notification window, sounding a
|
||||
bell or running a custom command.
|
||||
|
||||
%package -n budgie-applet-dropby
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to popup when a USB device is connected
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to popup when a USB device is connected
|
||||
%description -n budgie-applet-dropby
|
||||
The DropBy applet pops up in the panel when connecting a usb device.
|
||||
The applet subsequently offers the option(s) to mount, unmount/eject
|
||||
@@ -125,29 +126,29 @@ and in case of a flash drive, to make a local copy of the drive's
|
||||
content. The info shows the free space on the volume.
|
||||
|
||||
%package -n budgie-applet-fuzzyclock
|
||||
Requires: budgie-extras-common
|
||||
Summary: Shows the time in a Fuzzy Way
|
||||
Requires: budgie-extras-common
|
||||
Summary: Shows the time in a Fuzzy Way
|
||||
%description -n budgie-applet-fuzzyclock
|
||||
%{summary}
|
||||
|
||||
%package -n budgie-applet-hotcorners
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet providing hotcorners capabilities for the Budgie Desktop
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet providing hotcorners capabilities for the Budgie Desktop
|
||||
%description -n budgie-applet-hotcorners
|
||||
The hotcorners applet allow user defined commands to be executed
|
||||
when the mouse cursor is pushed into a corner of the main desktop.
|
||||
|
||||
%package -n budgie-applet-kangaroo
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to allow quick file-browsing
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to allow quick file-browsing
|
||||
%description -n budgie-applet-kangaroo
|
||||
The kangaroo applet allows for quick & easy browsing, across
|
||||
(possibly) many directory layers, without having to do a single mouse
|
||||
click.
|
||||
|
||||
%package -n budgie-applet-keyboard-autoswitch
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet adding the ability to set a different keyboard layout per application
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet adding the ability to set a different keyboard layout per application
|
||||
%description -n budgie-applet-keyboard-autoswitch
|
||||
The Keyboard Auto Switcher applet provides the user the ability to set
|
||||
a different keyboard layout per application. Exceptions to the default
|
||||
@@ -155,51 +156,50 @@ layout can be set by simply choosing a different layout using the
|
||||
Keyboard Layout applet.
|
||||
|
||||
%package -n budgie-applet-network-manager
|
||||
Requires: budgie-extras-common
|
||||
Summary: A fork of Wingpanel Network Indicator, ported to budgie desktop
|
||||
Requires: budgie-extras-common
|
||||
Summary: A fork of Wingpanel Network Indicator, ported to budgie desktop
|
||||
%description -n budgie-applet-network-manager
|
||||
%{summary}
|
||||
|
||||
%package -n budgie-applet-quickchar
|
||||
Requires: budgie-extras-common
|
||||
Requires: budgie-extras-daemon
|
||||
Summary: A mini-app to quickly choose and insert equivalents of ascii characters
|
||||
Requires: budgie-extras-common
|
||||
Summary: A mini-app to quickly choose and insert equivalents of ascii characters
|
||||
%description -n budgie-applet-quickchar
|
||||
QuickChar is a mini-app to quickly choose and insert equivalents of ascii
|
||||
characters. QuickChar is activated via the Budgie Menu.
|
||||
|
||||
%package -n budgie-applet-quicknote
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet providing simple notes capability for the Budgie Desktop
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet providing simple notes capability for the Budgie Desktop
|
||||
%description -n budgie-applet-quicknote
|
||||
The quicknote applet allows a user to record a text based note.
|
||||
The applet supports multiple undo and redo capabilities.
|
||||
|
||||
%package -n budgie-applet-recentlyused
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet displays files recently accessed for the Budgie Desktop
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet displays files recently accessed for the Budgie Desktop
|
||||
%description -n budgie-applet-recentlyused
|
||||
The recentlyused applet displays the users files that have been opened
|
||||
or created within a configurable period of time.
|
||||
|
||||
%package -n budgie-applet-rotation-lock
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to lock or unlock the screen rotation
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to lock or unlock the screen rotation
|
||||
%description -n budgie-applet-rotation-lock
|
||||
The Rotation Lock applet provides the user an easy way to lock or
|
||||
unlock the screen rotation.
|
||||
|
||||
%package -n budgie-applet-showtime
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet displaying date and time on the Budgie Desktop
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet displaying date and time on the Budgie Desktop
|
||||
%description -n budgie-applet-showtime
|
||||
The ShowTime applet is a digital desktop clock, showing time and/or
|
||||
date. Text color of both the displayed time and date can be set
|
||||
separately from the applet's menu
|
||||
|
||||
%package -n budgie-applet-takeabreak
|
||||
Requires: budgie-extras-common
|
||||
Summary: A pomodoro-like applet, to make sure to take regular breaks from working
|
||||
Requires: budgie-extras-common
|
||||
Summary: A pomodoro-like applet, to make sure to take regular breaks from working
|
||||
%description -n budgie-applet-takeabreak
|
||||
Budgie TakeaBreak is a pomodoro- like applet, to make sure to take regular
|
||||
breaks from working. Options from Budgie Settings include turning the screen
|
||||
@@ -208,36 +208,35 @@ time. The applet can be accessed quickly from the panel to temporarily switch
|
||||
it off.
|
||||
|
||||
%package -n budgie-applet-visualspace
|
||||
Requires: budgie-extras-common
|
||||
Summary: Shows the current workspace(s), as bullet(s)
|
||||
Requires: budgie-extras-common
|
||||
Summary: Shows the current workspace(s), as bullet(s)
|
||||
%description -n budgie-applet-visualspace
|
||||
Budgie VisualSpace shows the current workspace(s), as bullet(s). The applet
|
||||
includes a menu to navigate to either one of the windows or their
|
||||
corresponding workspace.
|
||||
|
||||
%package -n budgie-applet-wallstreet
|
||||
Requires: budgie-extras-common
|
||||
Summary: A mini-app to switch wallpapers on regular intervalls
|
||||
Requires: budgie-extras-common
|
||||
Summary: A mini-app to switch wallpapers on regular intervalls
|
||||
%description -n budgie-applet-wallstreet
|
||||
Budgie WallStreet is a mini-app to switch wallpapers on regular intervalls.
|
||||
|
||||
%package -n budgie-applet-weathershow
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to display the weather and forecast
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet to display the weather and forecast
|
||||
%description -n budgie-applet-weathershow
|
||||
The weathershow applet displays daily and three hourly weather
|
||||
forecasts on both the desktop and a Popover.
|
||||
|
||||
%package -n budgie-applet-window-shuffler
|
||||
Requires: budgie-extras-common
|
||||
Requires: budgie-extras-daemon
|
||||
Summary: Budgie Window Shuffler
|
||||
Requires: budgie-extras-common
|
||||
Summary: Budgie Window Shuffler
|
||||
%description -n budgie-applet-window-shuffler
|
||||
%{summary}
|
||||
|
||||
%package -n budgie-applet-workspace-stopwatch
|
||||
Requires: budgie-extras-common
|
||||
Summary: An applet to keep track of usage per workspace
|
||||
Requires: budgie-extras-common
|
||||
Summary: An applet to keep track of usage per workspace
|
||||
%description -n budgie-applet-workspace-stopwatch
|
||||
Workspace Timer Applet is an applet to keep track of usage per workspace, e.g.
|
||||
to find out how much minutes/hours were actually spent on a job. Workspaces can
|
||||
@@ -247,16 +246,14 @@ onworkspace switch/clicking the icon for popup or else every 30 seconds. Time
|
||||
during suspend is automatically retracted from a workspace' time.
|
||||
|
||||
%package -n budgie-applet-wpreviews
|
||||
Requires: budgie-extras-common
|
||||
Requires: budgie-extras-daemon
|
||||
Requires: budgie-extras-common
|
||||
Summary: Applet providing window previews capabilities for the Budgie Desktop
|
||||
%description -n budgie-applet-wpreviews
|
||||
The Previews applet shows an overview of windows in an expose like way.
|
||||
|
||||
%package -n budgie-applet-wswitcher
|
||||
Requires: budgie-extras-common
|
||||
Requires: budgie-extras-daemon
|
||||
Summary: An applet to show a different wallpaper on each of the workspaces
|
||||
Requires: budgie-extras-common
|
||||
Summary: An applet to show a different wallpaper on each of the workspaces
|
||||
%description -n budgie-applet-wswitcher
|
||||
Budgie Wallpaper Workspace Switcher is an application (applet) to show a
|
||||
different wallpaper on each of the workspaces. Usage is simple: add the applet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%define _ubuntu_rel 22.10.20220822-0ubuntu13
|
||||
%define _ubuntu_rel 22.10.20220822-0ubuntu12
|
||||
%global _hardened_build 0
|
||||
|
||||
Name: compiz9
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "ctwm.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=CTWM
|
||||
Comment=Claude's Tab Window Manager
|
||||
TryExec=ctwm
|
||||
Exec=ctwm
|
||||
Type=Xsession
|
||||
Encoding=UTF-8
|
||||
@@ -1,55 +0,0 @@
|
||||
Summary: Lightweight window manager with virtual workspaces
|
||||
Name: ctwm
|
||||
Version: 4.1.0
|
||||
Release: 1%?dist
|
||||
URL: https://ctwm.org
|
||||
BuildRequires: libjpeg-turbo-devel libX11-devel libXext-devel libXmu-devel libXpm-devel libXt-devel libXrandr-devel cmake gcc m4
|
||||
Source0: https://www.ctwm.org/dist/%{name}-%{version}.tar.xz
|
||||
Source1: %{name}.desktop
|
||||
License: MIT
|
||||
Requires: m4
|
||||
# Derived from RPMSphere's packaging
|
||||
|
||||
%description
|
||||
CTWM is a window manager based on TWM (with virtual workspaces added).
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%cmake
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
%{__install} -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/xsessions/%{name}.desktop
|
||||
|
||||
%files
|
||||
%doc README.md CHANGES.md
|
||||
%license COPYRIGHT
|
||||
%{_bindir}/%{name}
|
||||
%{_mandir}/man1/%{name}*
|
||||
%{_datadir}/xsessions/%{name}.desktop
|
||||
%{_datadir}/ctwm
|
||||
%{_datadir}/doc/ctwm/ctwm.1.html
|
||||
%{_datadir}/examples/ctwm/system.ctwmrc
|
||||
|
||||
%changelog
|
||||
* Tue Dec 17 2024 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Add .desktop and .rhai file, fix dependancies, and switch to .tar.xz source (smaller download)
|
||||
* Thu Jun 27 2024 Jaiden Riordan <jade@fyralabs.com> - 4.1.0
|
||||
- Rewrite for Terra, Thanks RPMSphere
|
||||
* Tue Dec 24 2019 Wei-Lun Chao <bluebat@member.fsf.org> - 4.0.3
|
||||
- Rebuilt for Fedora
|
||||
* Sat Apr 9 2011 Agnelo de la Crotche <agnelo@unixversal.com>
|
||||
- package for openSUSE 11.3/11.4
|
||||
* Thu Feb 16 2006 Richard Levitte <richard@levitte.org>
|
||||
- Release ctwm 3.8a.
|
||||
* Wed May 4 2005 Rudolph T Maceyko <rm55@pobox.com>
|
||||
- Tweaks. Added all .ctwmrc files as well as sound and VMS docs.
|
||||
* Wed May 4 2005 Richard Levitte <richard@levitte.org>
|
||||
- Changed some directory specifications to RedHat-ish standards.
|
||||
* Tue May 3 2005 Richard Levitte <richard@levitte.org>
|
||||
- Received the original from Johan Vromans. Adjusted it to become
|
||||
an official .spec file.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(find("<p>Current release: ([\\d.]+)</p>", get("https://www.ctwm.org/download.html"), 1));
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
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)");
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "elementary-appcenter.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
# 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*")
|
||||
|
||||
@@ -0,0 +1,315 @@
|
||||
%global appname io.elementary.appcenter
|
||||
|
||||
Name: elementary-appcenter
|
||||
Summary: Software Center from elementary
|
||||
Version: 8.0.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
|
||||
|
||||
Patch0: pr2099.patch
|
||||
|
||||
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.
|
||||
|
||||
@@ -0,0 +1,311 @@
|
||||
commit fce55d9373bfb82953191b32e276a2129ffcb8c1
|
||||
Author: Marius Meisenzahl <meisenzahl@users.noreply.github.com>
|
||||
Date: Wed Feb 7 00:14:43 2024 +0100
|
||||
|
||||
Add support for AppStream 1.0 (#2099)
|
||||
|
||||
diff --git a/src/Core/FlatpakBackend.vala b/src/Core/FlatpakBackend.vala
|
||||
index 98931505..10f2baab 100644
|
||||
--- a/src/Core/FlatpakBackend.vala
|
||||
+++ b/src/Core/FlatpakBackend.vala
|
||||
@@ -400,8 +400,13 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
|
||||
|
||||
var category_array = new GLib.GenericArray<AppStream.Category> ();
|
||||
category_array.add (category);
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ AppStream.utils_sort_components_into_categories (user_appstream_pool.get_components ().as_array (), category_array, false);
|
||||
+ AppStream.utils_sort_components_into_categories (system_appstream_pool.get_components ().as_array (), category_array, false);
|
||||
+#else
|
||||
AppStream.utils_sort_components_into_categories (user_appstream_pool.get_components (), category_array, false);
|
||||
AppStream.utils_sort_components_into_categories (system_appstream_pool.get_components (), category_array, false);
|
||||
+#endif
|
||||
components = category.get_components ();
|
||||
|
||||
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
|
||||
@@ -417,13 +422,21 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
|
||||
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
|
||||
var comps = user_appstream_pool.search (query);
|
||||
if (category == null) {
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ comps.as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
comps.foreach ((comp) => {
|
||||
+#endif
|
||||
var packages = get_packages_for_component_id (comp.get_id ());
|
||||
apps.add_all (packages);
|
||||
});
|
||||
} else {
|
||||
var cat_packages = get_applications_for_category (category);
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ comps.as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
comps.foreach ((comp) => {
|
||||
+#endif
|
||||
var packages = get_packages_for_component_id (comp.get_id ());
|
||||
foreach (var package in packages) {
|
||||
if (package in cat_packages) {
|
||||
@@ -435,13 +448,21 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
|
||||
|
||||
comps = system_appstream_pool.search (query);
|
||||
if (category == null) {
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ comps.as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
comps.foreach ((comp) => {
|
||||
+#endif
|
||||
var packages = get_packages_for_component_id (comp.get_id ());
|
||||
apps.add_all (packages);
|
||||
});
|
||||
} else {
|
||||
var cat_packages = get_applications_for_category (category);
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ comps.as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
comps.foreach ((comp) => {
|
||||
+#endif
|
||||
var packages = get_packages_for_component_id (comp.get_id ());
|
||||
foreach (var package in packages) {
|
||||
if (package in cat_packages) {
|
||||
@@ -510,7 +531,11 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
|
||||
continue;
|
||||
}
|
||||
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ if (package.component.get_developer ().get_name () == author) {
|
||||
+#else
|
||||
if (package.component.developer_name == author) {
|
||||
+#endif
|
||||
package_ids.add (package.component.id);
|
||||
|
||||
AppCenterCore.Package? user_package = null;
|
||||
@@ -1095,7 +1120,11 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
|
||||
warning ("Errors found in flatpak appdata, some components may be incomplete/missing: %s", e.message);
|
||||
} finally {
|
||||
var comp_validator = ComponentValidator.get_default ();
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ user_appstream_pool.get_components ().as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
user_appstream_pool.get_components ().foreach ((comp) => {
|
||||
+#endif
|
||||
if (!comp_validator.validate (comp)) {
|
||||
return;
|
||||
}
|
||||
@@ -1133,7 +1162,11 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
|
||||
warning ("Errors found in flatpak appdata, some components may be incomplete/missing: %s", e.message);
|
||||
} finally {
|
||||
var comp_validator = ComponentValidator.get_default ();
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ system_appstream_pool.get_components ().as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
system_appstream_pool.get_components ().foreach ((comp) => {
|
||||
+#endif
|
||||
if (!comp_validator.validate (comp)) {
|
||||
return;
|
||||
}
|
||||
diff --git a/src/Core/Package.vala b/src/Core/Package.vala
|
||||
index 0f9a90c4..ed141292 100644
|
||||
--- a/src/Core/Package.vala
|
||||
+++ b/src/Core/Package.vala
|
||||
@@ -306,7 +306,11 @@ public class AppCenterCore.Package : Object {
|
||||
return _author;
|
||||
}
|
||||
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ _author = component.get_developer ().get_name ();
|
||||
+#else
|
||||
_author = component.developer_name;
|
||||
+#endif
|
||||
|
||||
if (_author == null) {
|
||||
var project_group = component.project_group;
|
||||
@@ -677,7 +681,11 @@ public class AppCenterCore.Package : Object {
|
||||
}
|
||||
|
||||
try {
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ description = AppStream.markup_convert (description, TEXT);
|
||||
+#else
|
||||
description = AppStream.markup_convert_simple (description);
|
||||
+#endif
|
||||
} catch (Error e) {
|
||||
warning ("Failed to convert description to markup: %s", e.message);
|
||||
}
|
||||
@@ -919,7 +927,11 @@ public class AppCenterCore.Package : Object {
|
||||
}
|
||||
|
||||
public AppStream.Release? get_newest_release () {
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ var releases = component.get_releases_plain ().get_entries ();
|
||||
+#else
|
||||
var releases = component.get_releases ();
|
||||
+#endif
|
||||
releases.sort_with_data ((a, b) => {
|
||||
if (a.get_version () == null || b.get_version () == null) {
|
||||
if (a.get_version () != null) {
|
||||
diff --git a/src/Core/PackageKitBackend.vala b/src/Core/PackageKitBackend.vala
|
||||
index 09da4074..a108831e 100644
|
||||
--- a/src/Core/PackageKitBackend.vala
|
||||
+++ b/src/Core/PackageKitBackend.vala
|
||||
@@ -275,7 +275,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
|
||||
} finally {
|
||||
var new_package_list = new Gee.HashMap<string, Package> ();
|
||||
var comp_validator = ComponentValidator.get_default ();
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ appstream_pool.get_components ().as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
appstream_pool.get_components ().foreach ((comp) => {
|
||||
+#endif
|
||||
if (!comp_validator.validate (comp)) {
|
||||
return;
|
||||
}
|
||||
@@ -317,7 +321,12 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
|
||||
component.set_id (id);
|
||||
component.set_origin (Package.APPCENTER_PACKAGE_ORIGIN);
|
||||
|
||||
-#if HAS_APPSTREAM_0_15
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ var components = new AppStream.ComponentBox (AppStream.ComponentBoxFlags.NONE);
|
||||
+ components.add (component);
|
||||
+
|
||||
+ appstream_pool.add_components (components);
|
||||
+#elif HAS_APPSTREAM_0_15
|
||||
var components = new GenericArray<AppStream.Component> ();
|
||||
components.add (component);
|
||||
|
||||
@@ -430,7 +439,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
|
||||
break;
|
||||
}
|
||||
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ if (package.component.get_developer ().get_name () == author) {
|
||||
+#else
|
||||
if (package.component.developer_name == author) {
|
||||
+#endif
|
||||
packages.add (package);
|
||||
}
|
||||
}
|
||||
@@ -447,7 +460,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
|
||||
|
||||
var category_array = new GLib.GenericArray<AppStream.Category> ();
|
||||
category_array.add (category);
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ AppStream.utils_sort_components_into_categories (appstream_pool.get_components ().as_array (), category_array, true);
|
||||
+#else
|
||||
AppStream.utils_sort_components_into_categories (appstream_pool.get_components (), category_array, true);
|
||||
+#endif
|
||||
components = category.get_components ();
|
||||
|
||||
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
|
||||
@@ -465,7 +482,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
|
||||
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
|
||||
var comps = appstream_pool.search (query);
|
||||
if (category == null) {
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ comps.as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
comps.foreach ((comp) => {
|
||||
+#endif
|
||||
var package = get_package_for_component_id (comp.get_id ());
|
||||
if (package != null) {
|
||||
apps.add (package);
|
||||
@@ -473,7 +494,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
|
||||
});
|
||||
} else {
|
||||
var cat_packages = get_applications_for_category (category);
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ comps.as_array ().foreach ((comp) => {
|
||||
+#else
|
||||
comps.foreach ((comp) => {
|
||||
+#endif
|
||||
var package = get_package_for_component_id (comp.get_id ());
|
||||
if (package != null && package in cat_packages) {
|
||||
apps.add (package);
|
||||
diff --git a/src/Views/AppInfoView.vala b/src/Views/AppInfoView.vala
|
||||
index 5a3a361a..bef37f0e 100644
|
||||
--- a/src/Views/AppInfoView.vala
|
||||
+++ b/src/Views/AppInfoView.vala
|
||||
@@ -310,8 +310,16 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
|
||||
oars_flowbox.add (uncurated);
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ var active_locale = "en-US";
|
||||
+ if (package_component.get_context () != null) {
|
||||
+ active_locale = package_component.get_context ().get_locale () ?? "en-US";
|
||||
+ }
|
||||
+#else
|
||||
var active_locale = package_component.get_active_locale ();
|
||||
- if (active_locale != "en_US") {
|
||||
+#endif
|
||||
+ if (active_locale != "en_US" && active_locale != "en-US") {
|
||||
var percent_translated = package_component.get_language (
|
||||
// Expects language without locale
|
||||
active_locale.split ("_")[0]
|
||||
@@ -492,7 +500,11 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
|
||||
}
|
||||
}
|
||||
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ screenshots = package_component.get_screenshots_all ();
|
||||
+#else
|
||||
screenshots = package_component.get_screenshots ();
|
||||
+#endif
|
||||
|
||||
if (screenshots.length > 0) {
|
||||
screenshot_carousel = new Hdy.Carousel () {
|
||||
@@ -1030,7 +1042,11 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
|
||||
get_app_download_size.begin ();
|
||||
|
||||
Idle.add (() => {
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ var releases = package.component.get_releases_plain ().get_entries ();
|
||||
+#else
|
||||
var releases = package.component.get_releases ();
|
||||
+#endif
|
||||
|
||||
foreach (unowned var release in releases) {
|
||||
if (release.get_version () == null) {
|
||||
@@ -1049,7 +1065,11 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
|
||||
|
||||
release_carousel.add (release_row);
|
||||
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ if (package.installed && AppStream.vercmp_simple (release.get_version (), package.get_version ()) <= 0) {
|
||||
+#else
|
||||
if (package.installed && AppStream.utils_compare_versions (release.get_version (), package.get_version ()) <= 0) {
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
diff --git a/src/Widgets/ReleaseRow.vala b/src/Widgets/ReleaseRow.vala
|
||||
index 3b487914..36fcbc76 100644
|
||||
--- a/src/Widgets/ReleaseRow.vala
|
||||
+++ b/src/Widgets/ReleaseRow.vala
|
||||
@@ -116,7 +116,11 @@ public class AppCenter.Widgets.ReleaseRow : Gtk.Box {
|
||||
private string format_release_description (string? description ) {
|
||||
if (description != null) {
|
||||
try {
|
||||
+#if HAS_APPSTREAM_1_0
|
||||
+ var markup = AppStream.markup_convert (description, TEXT);
|
||||
+#else
|
||||
var markup = AppStream.markup_convert_simple (description);
|
||||
+#endif
|
||||
|
||||
if (markup.strip () != "") {
|
||||
return markup;
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index d3d558ef..df69a0bf 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -78,6 +78,10 @@ if appstream.version().version_compare('>=0.16')
|
||||
args += '--define=HAS_APPSTREAM_0_16'
|
||||
endif
|
||||
|
||||
+if appstream.version().version_compare('>=1.0')
|
||||
+ args += '--define=HAS_APPSTREAM_1_0'
|
||||
+endif
|
||||
+
|
||||
if get_option('packagekit_backend')
|
||||
appcenter_files += files(
|
||||
'Core/PackageKitBackend.vala',
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("elementary/appcenter"));
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "contractor.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
Name: contractor
|
||||
Version: 0.3.5
|
||||
Release: 1%{?dist}
|
||||
Summary: Desktop-wide extension service
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://github.com/elementary/contractor
|
||||
Source0: %{url}/archive/%{version}/contractor-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: vala
|
||||
BuildRequires: meson
|
||||
|
||||
# data/meson.build
|
||||
BuildRequires: pkgconfig(dbus-1)
|
||||
# src/meson.build
|
||||
BuildRequires: pkgconfig(gee-0.8)
|
||||
BuildRequires: pkgconfig(gio-2.0)
|
||||
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
|
||||
# For %%{_datadir}/dbus-1/services/ directory:
|
||||
Requires: dbus-common
|
||||
|
||||
%description
|
||||
An extension service that allows apps to use the exposed functionality
|
||||
of registered apps. This way, apps don't have to have the functions hard
|
||||
coded into them.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
|
||||
%build
|
||||
%meson
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
# Create the the directory where other programs put their contracts
|
||||
mkdir -p %{buildroot}/%{_datadir}/contractor
|
||||
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license COPYING
|
||||
|
||||
%{_bindir}/contractor
|
||||
|
||||
%dir %{_datadir}/contractor
|
||||
%{_datadir}/dbus-1/services/org.elementary.contractor.service
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user