Compare commits

..

3 Commits

Author SHA1 Message Date
madomado dd124b0b3e Update gradle.spec
Signed-off-by: madomado <madonuko@outlook.com>
2024-07-12 14:18:21 +08:00
madomado ec5f2b54db Update gradle.spec
Signed-off-by: madomado <madonuko@outlook.com>
2024-07-12 14:05:45 +08:00
madomado 19f3c5a588 fix: gradle
Signed-off-by: madomado <madonuko@outlook.com>
2024-07-12 01:26:57 +08:00
1134 changed files with 14538 additions and 34986 deletions
+3 -2
View File
@@ -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
+11 -23
View File
@@ -18,7 +18,8 @@ on:
jobs:
manifest:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
outputs:
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
container:
@@ -41,35 +42,24 @@ jobs:
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
version: ["rawhide"]
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-22.04' }}
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
uses: actions/checkout@v4
with:
fetch-depth: 0
- 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 anda/terra/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 anda/terra/mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
- name: Generating artifact name
id: art
@@ -89,24 +79,22 @@ jobs:
- name: Upload packages to subatomic
if: github.event_name == 'push'
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }} anda-build/rpm/rpms/*
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
terra${{ matrix.version }}-source anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success)
if: success() && github.event_name == 'push'
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
- name: Notify Madoguchi (Failure)
if: ( cancelled() || failure() ) && github.event_name == 'push'
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
+6 -8
View File
@@ -10,15 +10,13 @@ jobs:
version: ["rawhide"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-22.04' }}
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
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: |
+28 -21
View File
@@ -14,6 +14,8 @@ on:
required: false
default: all
type: string
jobs:
parse:
@@ -21,23 +23,23 @@ jobs:
pkgs: ${{ steps.parsing.outputs.pkgs }}
builder: ${{ inputs.custom_builder }}
arch: ${{ steps.parsing.outputs.arch }}
runs-on: ubuntu-22.04
runs-on: "ubuntu-latest"
steps:
- name: Parse Input
id: parsing
run: |
echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $GITHUB_OUTPUT
echo "builder=${{ inputs.custom_builder }}" >> $GITHUB_OUTPUT
arch="${{ inputs.architecture }}"
# Convert to json array using jq
# if arch is not all, convert to array
if [ "$arch" != "all" ]; then
# jq, array with single element as string
arch=$(echo $arch | sed 's/,/\n/g')
echo "arch=$(echo $arch | jq -Rs 'split("\n")' | jq 'map(select(length > 0))' | jq -c .)" >> $GITHUB_OUTPUT
else
echo "arch=$(echo '["aarch64", "x86_64"]' | jq -c .)" >> $GITHUB_OUTPUT
fi
echo "${{ inputs.packages }}" | sed 's/ /\n/g' | sed 's/$/\//g' | jq -R . | jq -s . | jq -c . | sed 's/^/pkgs=/' >> $GITHUB_OUTPUT
echo "builder=${{ inputs.custom_builder }}" >> $GITHUB_OUTPUT
arch="${{ inputs.architecture }}"
# Convert to json array using jq
# if arch is not all, convert to array
if [ "$arch" != "all" ]; then
# jq, array with single element as string
arch=$(echo $arch | sed 's/,/\n/g')
echo "arch=$(echo $arch | jq -Rs 'split("\n")' | jq 'map(select(length > 0))' | jq -c .)" >> $GITHUB_OUTPUT
else
echo "arch=$(echo '["aarch64", "x86_64"]' | jq -c .)" >> $GITHUB_OUTPUT
fi
build:
needs: parse
@@ -47,7 +49,7 @@ jobs:
version: ["rawhide"]
arch: ${{ fromJson(needs.parse.outputs.arch) }}
fail-fast: false
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-22.04' }}
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
@@ -56,12 +58,18 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Cache buildroot
id: br-cache
uses: actions/cache@v4
with:
path: /var/cache
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.arch }}-${{ matrix.pkg }}
- name: Build with Andaman
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/${{ matrix.pkg }}pkg
run: anda build anda/${{ matrix.pkg }}pkg --package rpm -c anda/terra/mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.cfg
- name: Generating artifact name
id: art
@@ -69,7 +77,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:
@@ -84,18 +91,18 @@ 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()
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
- name: Notify Madoguchi (Failure)
if: cancelled() || failure()
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
+13 -22
View File
@@ -13,7 +13,7 @@ jobs:
pkg: ${{ fromJson(inputs.packages) }}
version: ["rawhide"]
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-22.04' }}
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
@@ -22,26 +22,18 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: CI Setup Script
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
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
- name: Cache buildroot
id: br-cache
uses: actions/cache@v4
with:
path: /var/cache
key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }}
- 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 anda/terra/mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
- name: Generating artifact name
id: art
@@ -60,23 +52,22 @@ jobs:
- name: Upload packages to subatomic
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }} anda-build/rpm/rpms/*
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
terra${{ matrix.version }}-source anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success)
if: success()
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
- name: Notify Madoguchi (Failure)
if: cancelled() || failure()
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}}
+22
View File
@@ -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)
+2 -2
View File
@@ -2,7 +2,7 @@ set -x
dirs=$2
dirs=${dirs/\/pkg/}
export p="{\"id\":\"$5\",\"ver\":\"%v\",\"rel\":\"%r\",\"arch\":\"$4\",\"dirs\":\"$dirs\",\"succ\":$1,\"commit\":\"$7\"}"
export p="{\"id\":\"$5\",\"ver\":\"%v\",\"rel\":\"%r\",\"arch\":\"$4\",\"dirs\":\"$dirs\",\"succ\":$1}"
if [[ $1 == false ]]; then
d=${p/\%v/?}
@@ -17,5 +17,5 @@ for f in anda-build/rpm/rpms/*; do
r=$(lesspipe.sh $f | grep -E "Release\s*: " | sed "s@Release\s*: @@")
d=${p/\%v/$v}
d=${d/\%r/$r}
curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci5/terra$3/builds/$n -X PUT -H "Content-Type: application/json" -d $d --fail-with-body
curl -H "Authorization: Bearer $6" https://madoguchi.fyralabs.com/ci/terra$3/builds/$n -X PUT -H "Content-Type: application/json" -d $d --fail-with-body
done
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
backport:
name: Backport/sync PR
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
if: github.event.pull_request.merged
steps:
- name: Install SSH signing key
-54
View File
@@ -1,54 +0,0 @@
name: Update per branch
on:
schedule:
- cron: "*/30 * * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-22.04
strategy:
matrix:
branch:
- frawhide
- f40
- f41
- el10
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: |
nbranch="${{ matrix.branch }}"
[ "$nbranch" = 'frawhide' ] && nbranch='f42'
anda update --filters updbranch=1 --labels branch=${{ matrix.branch }},nbranch=$nbranch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(branch): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git push -u origin --all
fi
+2 -3
View File
@@ -4,16 +4,15 @@ on:
push:
branches:
- frawhide
- f41
- f40
- el10
- f39
paths:
- comps.xml
workflow_dispatch:
jobs:
update-comps:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
steps:
+6 -7
View File
@@ -6,7 +6,7 @@ on:
jobs:
autoupdate:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
@@ -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,15 @@ 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
-53
View File
@@ -1,53 +0,0 @@
name: Weekly Update
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-22.04
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=$(date "+%w")
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
+6 -6
View File
@@ -6,7 +6,7 @@ on:
jobs:
autoupdate:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
@@ -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
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
RUST_BACKTRACE: full
@@ -39,15 +39,15 @@ 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
View File
@@ -1,2 +1 @@
anda-build/
**/*.tar*
-1
View File
@@ -1 +0,0 @@
https://fyralabs.com/funding.json
+6 -4
View File
@@ -1,7 +1,9 @@
# Contributing
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/).
First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please contact us on [Discord](https://discord.gg/5fdPuxTg5Q).
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
## Documentations
* [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
* [FAQ](https://developer.fyralabs.com/terra/faq)
* [Policy](https://developer.fyralabs.com/terra/policy)
+5 -20
View File
@@ -1,37 +1,22 @@
# Terra Sources
[![Repository status](https://repology.org/badge/repository-big/terra_39.svg?header=Terra+39)](https://repology.org/repository/terra_39)
[![Repository status](https://repology.org/badge/repository-big/terra_40.svg?header=Terra+40)](https://repology.org/repository/terra_40)
[![Repository status](https://repology.org/badge/repository-big/terra_41.svg?header=Terra+41)](https://repology.org/repository/terra_41)
[![Repository status](https://repology.org/badge/repository-big/terra_rawhide.svg?header=Terra+Rawhide)](https://repology.org/repository/terra_rawhide)
Terra is a rolling-release Fedora repository for all the software you need.
With Terra, you can install the latest packages knowing that quality and security are assured.
See the introduction at [our website](https://terra.fyralabs.com).
This monorepo contains the package manifests for all packages in Terra.
## Installation
```bash
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
```
If you are using immutable/atomic editions of Fedora, run the following commands instead:
```bash
curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo
sudo rpm-ostree install terra-release
sudo dnf install --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' --setopt='terra.gpgkey=https://repos.fyralabs.com/terra$releasever/key.asc' terra-release
```
You should also install the `terra-release` package so that when our infrastructure has any migrations, you can be assured that your Terra installation will still work as-is.
## Documentation
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/). Alternatively, the GitHub Wiki contains older versions of the documentations.
## Questions?
Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help!
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Policy](https://developer.fyralabs.com/terra/policy)
Feel free to reach out on [Discord](https://discord.gg/5fdPuxTg5Q). We're always happy to help!
-3
View File
@@ -3,7 +3,4 @@ project pkg {
rpm {
spec = "anki-bin.spec"
}
labels {
subrepo = "extras"
}
}
+11 -22
View File
@@ -1,32 +1,21 @@
%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
Name: anki-bin
Version: 24.11
Release: 2%?dist
Version: 24.06.3
Release: 1%?dist
Summary: Flashcard program for using space repetition learning (Installed with wheel)
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
URL: https://apps.ankiweb.net/
BuildRequires: python3-pip rpm_macro(fdupes) cargo
Requires: python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-orjson
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine python3-send2trash
Requires: python3-protobuf >= 4.21
Requires: libxcrypt-compat hicolor-icon-theme sox
Requires: (mpv or mpv-nightly)
ExclusiveArch: x86_64
BuildRequires: python3-pip rpm_macro(fdupes)
Requires: python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-orjson
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema
Requires: python3-flask-cors python3-protobuf python3-requests python3-waitress python3-pyqt6-webengine python3-send2trash
Requires: libxcrypt-compat hicolor-icon-theme sox mpv
ExclusiveArch: x86_64
Conflicts: anki
%ifarch x86_64
Source0: %xurl
%elifarch aarch64
Source0: %aurl
%endif
Source1: %qurl
Source0: https://files.pythonhosted.org/packages/cp39/a/anki/anki-%{version}-cp39-abi3-manylinux_2_28_%{_arch}.whl
Source1: https://files.pythonhosted.org/packages/py3/a/aqt/aqt-%{version}-py3-none-any.whl
Source2: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/runanki.py
Source3: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.desktop
Source4: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.png
Source4: https://raw.githubusercontent.com/ankitects/anki/%{version}/qt/bundle/lin/anki.png
Source5: https://raw.githubusercontent.com/ankitects/anki/%{version}/LICENSE
Source6: https://raw.githubusercontent.com/ankitects/anki/%{version}/README.md
+1 -15
View File
@@ -1,15 +1 @@
let aarch64_regex = `<a href="https://files\.pythonhosted\.org/packages/(..)/(..)/(.{60})/anki-([\d.]+)-cp(\d+)-abi3-manylinux_.+?_aarch64.whl">`;
let html = get("https://pypi.org/project/anki/");
let relevant = find(aarch64_regex, html, 0);
let ver = find(aarch64_regex, relevant, 4);
rpm.version(ver);
if rpm.changed() {
rpm.release();
rpm.global("aurl", find(`"(.+)"`, relevant, 1));
let cp = find(aarch64_regex, relevant, 5);
let x86_64_regex = `<a href="https://files\.pythonhosted\.org/packages/(..)/(..)/(.{60})/anki-${ver}-cp${cp}-abi3-manylinux_.+?_x86_64.whl">`;
let relevant1 = find(x86_64_regex, html, 0);
rpm.global("xurl", find(`"(.+)"`, relevant1, 1));
let qhtml = get("https://pypi.org/project/aqt/");
rpm.global("qurl", find(`<a href="(https://files\.pythonhosted\.org/packages/../../.{60}/aqt-${ver}-py3-none.any.whl)">`, qhtml, 1));
}
rpm.version(gh("ankitects/anki"));
+1 -2
View File
@@ -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
@@ -20,7 +20,6 @@ phrases in a foreign language) as easily, quickly and efficiently as possible.
Anki is based on a theory called spaced repetition.
%prep
rm -rf ./*
git clone https://github.com/ankitects/anki .
git checkout %version
%patch 1 -p1
-3
View File
@@ -3,7 +3,4 @@ project pkg {
rpm {
spec = "anki.spec"
}
labels {
subrepo = "extras"
}
}
+2 -3
View File
@@ -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
@@ -9,7 +9,7 @@ BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-sen
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine
Recommends: (mpv or mpv-nightly)
Recommends: mpv
Obsoletes: anki <= 2.1.15
Conflicts: anki-qt5
Patch0: 0001-No-update.patch
@@ -30,7 +30,6 @@ git checkout %{version}
%build
export RELEASE=1
export PYTHONPATH=%_libdir/python3/dist-packages
cargo update
mold -run ./tools/build
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "armcord-bin.spec"
}
}
+78
View File
@@ -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.7
Release: 1%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/ArmCord/ArmCord
Group: Applications/Internet
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

+1
View File
@@ -0,0 +1 @@
rpm.version(gh("ArmCord/ArmCord"));
@@ -1,6 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "legcord.spec"
spec = "armcord.spec"
}
}
+67
View File
@@ -0,0 +1,67 @@
%define debug_package %nil
Name: armcord
Version: 3.2.7
Release: 1%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/ArmCord/ArmCord
Group: Applications/Internet
Source1: launch.sh
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
+1
View File
@@ -0,0 +1 @@
rpm.version(gh("ArmCord/ArmCord"));
-5
View File
@@ -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
View File
@@ -1 +0,0 @@
rpm.version(gh("audacity/audacity"));
+3 -6
View File
@@ -1,8 +1,5 @@
project pkg {
rpm {
spec = "blackbox-terminal.spec"
}
labels {
subrepo = "extras"
}
rpm {
spec = "blackbox-terminal.spec"
}
}
@@ -1,17 +1,10 @@
%global commit d5fff0dd5bfb8bda19b050f66610d19370c5fd39
%global commit_date 20241019
%global shortcommit %{sub %{commit} 1 7}
Name: blackbox-terminal
Version: 0.14.0^%{commit_date}.%{shortcommit}
Version: 0.14.0
Release: 1%{?dist}
Summary: A beautiful GTK 4 terminal
License: GPL-3.0
URL: https://gitlab.gnome.org/raggesilver/blackbox
Source0: %{url}/-/archive/%{commit}/blackbox-%{commit}.tar.gz
BuildRequires: vala meson gettext
BuildRequires: vala meson gettext
BuildRequires: pkgconfig(gtk4) >= 4.6.2
BuildRequires: pkgconfig(gio-2.0) >= 2.50
BuildRequires: libadwaita-devel >= 1.1
@@ -24,12 +17,13 @@ BuildRequires: pkgconfig(libpcre2-8)
BuildRequires: pkgconfig(graphene-gobject-1.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: desktop-file-utils libappstream-glib cmake
Source0: %url/-/archive/v%version/blackbox-v%version.tar.gz
%description
An elegant and customizable terminal for GNOME.
%{summary}.
%prep
%autosetup -n blackbox-%{commit}
%autosetup -p1 -n blackbox-v%version
%build
%meson
@@ -39,7 +33,7 @@ An elegant and customizable terminal for GNOME.
%meson_install
%check
appstream-util validate-relax --nonet %buildroot%_datadir/metainfo/com.raggesilver.BlackBox.metainfo.xml
appstream-util validate-relax --nonet %buildroot/%_datadir/metainfo/com.raggesilver.BlackBox.metainfo.xml
%files
%doc README.md
@@ -58,6 +52,7 @@ appstream-util validate-relax --nonet %buildroot%_datadir/metainfo/com.raggesilv
%_datadir/locale/*/LC_MESSAGES/blackbox.mo
%changelog
* Sun Oct 23 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Initial package
+4 -5
View File
@@ -1,5 +1,4 @@
rpm.global("commit", gitlab_commit("gitlab.gnome.org", "20397", "main"));
if rpm.changed {
rpm.global("commit_date", date());
rpm.release();
}
let txt = get("https://gitlab.gnome.org/api/v4/projects/20397/releases/");
let ver = txt.json_arr()[0].tag_name;
ver.crop(1);
rpm.version(ver);
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "coolercontrol.spec"
}
labels {
large = 1
}
}
-159
View File
@@ -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
View File
@@ -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.574
Version: 0.0.452
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -34,7 +34,6 @@ sed "s@Discord Canary@Discord Canary OpenAsar@g" a > discord-canary.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-canary-openasar
cp -rv * %{buildroot}%{_datadir}/discord-canary-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
@@ -43,11 +42,9 @@ ln -s %_datadir/discord-canary-openasar/discord-canary.desktop %{buildroot}%{_da
ln -s %_datadir/discord-canary-openasar/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-canary-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-canary-openasar/resources -R
ln -s %_datadir/discord-canary-openasar/DiscordCanary %buildroot%_bindir/discord-canary-openasar
%files
%_bindir/discord-canary-openasar
%{_datadir}/discord-canary-openasar/
%{_datadir}/applications/discord-canary-openasar.desktop
%{_datadir}/pixmaps/discord-canary-openasar.png
@@ -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);
+4 -6
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.574
Version: 0.0.452
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -16,8 +16,9 @@ Requires: glibc GConf2 nspr >= 4.13 nss >= 3.27 libX11 >= 1.6 libXtst >= 1
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a
worldwide art community. Where just you and a handful of friends can spend time
together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n DiscordCanary
@@ -26,17 +27,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-canary
cp -rv * %{buildroot}%{_datadir}/discord-canary
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-canary/discord-canary.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-canary/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png
ln -s %_datadir/discord/DiscordCanary %buildroot%_bindir/discord-canary
%files
%_bindir/discord-canary
%{_datadir}/discord-canary/
%{_datadir}/applications/discord-canary.desktop
%{_datadir}/pixmaps/discord-canary.png
+3 -1
View File
@@ -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.81
Version: 0.0.59
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -34,7 +34,6 @@ sed "s@Discord@Discord OpenAsar@g" a > discord.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-openasar
cp -rv * %{buildroot}%{_datadir}/discord-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
@@ -43,11 +42,9 @@ ln -s %_datadir/discord-openasar/discord.desktop %{buildroot}%{_datadir}/applica
ln -s %_datadir/discord-openasar/discord.png %{buildroot}%{_datadir}/pixmaps/discord-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-openasar/resources -R
ln -s %_datadir/discord-openasar/Discord %buildroot%_bindir/discord-openasar
%files
%_bindir/discord-openasar
%{_datadir}/discord-openasar/
%{_datadir}/applications/discord-openasar.desktop
%{_datadir}/pixmaps/discord-openasar.png
+3 -1
View File
@@ -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.127
Version: 0.0.93
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -34,7 +34,6 @@ sed "s@Discord Ptb@Discord Ptb OpenAsar@g" a > discord-ptb.desktop
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-ptb-openasar
cp -rv * %{buildroot}%{_datadir}/discord-ptb-openasar
mkdir -p %{buildroot}%{_datadir}/applications/
@@ -45,11 +44,9 @@ install discord-ptb.desktop %{buildroot}%{_datadir}/applications/discord-ptb-ope
install discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb-openasar.png
cp -v %{SOURCE1} %{buildroot}%{_datadir}/discord-ptb-openasar/resources/app.asar
chmod o+w %{buildroot}%{_datadir}/discord-ptb-openasar/resources -R
ln -s %_datadir/discord-ptb-openasar/Discord %buildroot%_bindir/discord-ptb-openasar
%files
%_bindir/discord-ptb-openasar
%{_datadir}/discord-ptb-openasar/
%{_datadir}/applications/discord-ptb-openasar.desktop
%{_datadir}/pixmaps/discord-ptb-openasar.png
+3 -1
View File
@@ -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);
+4 -6
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.127
Version: 0.0.93
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
@@ -20,8 +20,9 @@ Requires: libXtst >= 1.2
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a
worldwide art community. Where just you and a handful of friends can spend time
together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n DiscordPTB
@@ -30,17 +31,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord-ptb
cp -rv * %{buildroot}%{_datadir}/discord-ptb
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-ptb/discord-ptb.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-ptb/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png
ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb
%files
%_bindir/discord-ptb
%{_datadir}/discord-ptb/
%{_datadir}/applications/discord-ptb.desktop
%{_datadir}/pixmaps/discord-ptb.png
+3 -1
View File
@@ -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);
+4 -6
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.81
Version: 0.0.59
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
@@ -20,8 +20,9 @@ Requires: libXtst >= 1.2
Group: Applications/Internet
ExclusiveArch: x86_64
%description
All-in-one voice and text chat for gamers that's free, secure, and works on
both your desktop and phone.
Imagine a place where you can belong to a school club, a gaming group, or a
worldwide art community. Where just you and a handful of friends can spend time
together. A place that makes it easy to talk every day and hang out more often.
%prep
%autosetup -n Discord
@@ -30,17 +31,14 @@ both your desktop and phone.
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/discord
cp -rv * %{buildroot}%{_datadir}/discord
mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord/discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop
ln -s %_datadir/discord/discord.png %{buildroot}%{_datadir}/pixmaps/discord.png
ln -s %_datadir/discord/Discord %buildroot%_bindir/discord
%files
%_bindir/discord
%{_datadir}/discord/
%{_datadir}/applications/discord.desktop
%{_datadir}/pixmaps/discord.png
+3 -1
View File
@@ -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);
-3
View File
@@ -2,7 +2,4 @@ project pkg {
rpm {
spec = "envision.spec"
}
labels {
nightly = 1
}
}
+8 -11
View File
@@ -1,8 +1,8 @@
%global commit 2bec37ee24d404a7b3f27aae499be13d5873b56f
%global commit_date 20250122
%global commit 6cf5e40b96d1cbd99a3cfcef1f03899356e79448
%global commit_date 20240703
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision-nightly
Name: envision
Version: %commit_date.%shortcommit
Release: 1%?dist
Summary: UI for building, configuring and running Monado, the open source OpenXR runtime
@@ -16,14 +16,11 @@ BuildRequires: pkgconfig(gtk4) >= 4.10.0
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0
BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: openssl-devel-engine
BuildRequires: openxr-devel
BuildRequires: openssl-devel
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: glib2-devel
BuildRequires: git-core
Recommends: android-tools
Conflicts: envision
%description
%summary.
@@ -42,8 +39,8 @@ Conflicts: envision
%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
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin
Version: 0.12.1
Version: 0.7.1
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "fontviewer.spec"
}
}
-40
View File
@@ -1,40 +0,0 @@
Name: fontviewer
Epoch: 1
Version: 1.1.0
Release: 1%?dist
Summary: View and install fonts
License: GPL-2.0
URL: https://github.com/chocolateimage/%{name}
Source0: %{url}/archive/v%{version}.tar.gz
BuildRequires: gcc-c++
BuildRequires: meson
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gtkmm-3.0)
BuildRequires: pkgconfig(libcurl)
BuildRequires: json-glib-devel
Requires: gtk3 fontconfig
Packager: sadlerm <sad_lerm@hotmail.com>
%description
A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
%prep
%autosetup
%build
%meson
%meson_build
%install
%meson_install
%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/actions/%{name}-google-symbolic.svg
-4
View File
@@ -1,4 +0,0 @@
rpm.version(gh("chocolateimage/fontviewer"));
if rpm.changed() {
rpm.release();
}
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "komikku.spec"
}
}
-109
View File
@@ -1,109 +0,0 @@
%global appname Komikku
%global uuid info.febvre.%{appname}
%global gtk4_version 4.14.4
%global libadwaita_version 1.5.1
%global pure_protobuf_version 2.0.0
Name: komikku
Version: 1.68.0
%forgemeta
Release: 1%?dist
Summary: A manga reader for GNOME
BuildArch: noarch
License: GPL-3.0-or-later
URL: https://valos.gitlab.io/Komikku
Source0: https://codeberg.org/valos/%{appname}/archive/v%{version}.tar.gz#/%{name}-v%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: intltool
BuildRequires: libappstream-glib
BuildRequires: meson >= 0.59.0
BuildRequires: python3-devel >= 3.8
BuildRequires: blueprint-compiler
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.35.9
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
BuildRequires: pkgconfig(libadwaita-1) >= %{libadwaita_version}
Requires: hicolor-icon-theme
Requires: gtk4 >= %{gtk4_version}
Requires: libadwaita >= %{libadwaita_version}
Requires: libnotify
Requires: webkitgtk6.0
Requires: python3-beautifulsoup4
Requires: python3-brotli
Requires: python3-colorthief
Requires: python3-dateparser %dnl >= 1.1.4 | https://bugzilla.redhat.com/show_bug.cgi?id=2115204
Requires: python3-emoji
Requires: python3-gobject
Requires: python3-keyring >= 21.6.0
Requires: python3-lxml
Requires: python3-natsort
Requires: python3-file-magic
Requires: python3-piexif
Requires: python3-pillow
Requires: python3-pillow-heif
Requires: python3-pure-protobuf >= %{pure_protobuf_version}
Requires: python3-rarfile
Requires: python3-requests
Requires: python3-unidecode
%description
Komikku is a manga reader for GNOME. It focuses on providing a clean, intuitive
and adaptive interface.
Keys features
* Online reading from dozens of servers
* Offline reading of downloaded comics
* Categories to organize your library
* RTL, LTR, Vertical and Webtoon reading modes
* Several types of navigation:
* Keyboard arrow keys
* Right and left navigation layout via mouse click or tapping
(touchpad/touch screen)
* Mouse wheel
* 2-fingers swipe gesture (touchpad)
* Swipe gesture (touch screen)
* Automatic update of comics
* Automatic download of new chapters
* Reading history
* Light and dark themes
%prep
%autosetup -n %{name} -p1
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{name}
%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%files -f %{name}.lang
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/applications/*.desktop
%{_datadir}/glib-2.0/schemas/*.gschema.xml
%{_datadir}/icons/hicolor/scalable/*/*.svg
%{_datadir}/icons/hicolor/symbolic/*/*.svg
%{_metainfodir}/*.xml
%{python3_sitelib}/%{name}/
%changelog
* Thu Jul 11 2024 Trung Lê <8@tle.id.au> - 1.51.1-0
- Initial RPM package
-3
View File
@@ -1,3 +0,0 @@
let latest_tag = get("https://codeberg.org/api/v1/repos/valos/Komikku/tags").json_arr()[0].name;
let new_version = find("([\\.\\d]+)", latest_tag, 1);
rpm.version(new_version);
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "legcord-bin.spec"
}
}
-95
View File
@@ -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.8
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
View File
@@ -1 +0,0 @@
rpm.version(gh("LegCord/LegCord"));
-5
View File
@@ -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.8
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"));
-9
View File
@@ -1,9 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "legcord-nightly.spec"
}
labels {
nightly = 1
}
}
@@ -1,91 +0,0 @@
%global commit b8b5bcb6f48531ef55800b63b7b567db831be105
%global commit_date 20250124
%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
-5
View File
@@ -1,5 +0,0 @@
rpm.global("commit", gh_commit("Legcord/Legcord"));
if rpm.changed() {
rpm.release();
rpm.global("commit_date", date());
}
-13
View File
@@ -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 "$@"
-88
View File
@@ -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.8
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
View File
@@ -1 +0,0 @@
rpm.version(gh("LegCord/LegCord"));
+4 -4
View File
@@ -1,7 +1,7 @@
%global commit df3872e318ff7dd1ad9a4f6ca0822014e2c3f439
%global commit 14571f0f7793fe60ca14a25fc45adbe1e5b6a1e8
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250123
%global ver 0.39.0
%global commit_date 20240711
%global ver v0.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 -5
View File
@@ -1,11 +1,7 @@
if filters.contains("nightly") {
rpm.global("commit", gh_commit("mpv-player/mpv"));
if rpm.changed() {
let v = gh("mpv-player/mpv");
if v.starts_with("v") {
v.crop(1);
}
rpm.global("ver", v);
rpm.global("ver", gh("mpv-player/mpv"));
rpm.global("commit_date", date());
rpm.release();
}
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "ruffle-nightly.spec"
}
}
-11
View File
@@ -1,11 +0,0 @@
--- a/desktop/packages/linux/rs.ruffle.Ruffle.desktop
+++ b/desktop/packages/linux/rs.ruffle.Ruffle.desktop
@@ -54,7 +54,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;مشغل;محاكي
-56
View File
@@ -1,56 +0,0 @@
%global ver 2025-01-24
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
%global _description %{expand:
Ruffle is an Adobe Flash Player emulator written in the Rust programming
language. Ruffle targets both the desktop and the web using WebAssembly.}
Name: ruffle-nightly
Version: %goodver
Release: 1%?dist
Summary: A Flash Player emulator written in Rust
License: Apache-2.0 OR MIT
URL: https://ruffle.rs/
Source0: https://github.com/ruffle-rs/ruffle/archive/refs/tags/nightly-%ver.tar.gz
Patch0: desktop_file_patch.diff
Provides: ruffle
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: anda-srpm-macros mold
BuildRequires: gcc-c++ cmake java
BuildRequires: java-latest-openjdk-headless
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(xcb-cursor)
Packager: madonuko <mado@fyralabs.com>
%description %_description
%files
%doc README.md
%license LICENSE.md
%license LICENSE.dependencies
%_bindir/ruffle_desktop
%_datadir/applications/rs.ruffle.Ruffle.desktop
%_iconsdir/hicolor/scalable/apps/rs.ruffle.Ruffle.svg
%_metainfodir/rs.ruffle.Ruffle.metainfo.xml
%prep
%autosetup -n ruffle-nightly-%ver -p1
%cargo_prep_online
%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
%changelog
* Mon Jul 29 2024 madonuko <mado@fyralabs.com>
- Initial package
-13
View File
@@ -1,13 +0,0 @@
let releases = "https://api.github.com/repos/ruffle-rs/ruffle/releases".get().json_arr();
for release in releases {
let tag = release.tag_name;
if !tag.starts_with("nightly-") {
continue;
}
tag.crop(8); // remove "nightly-"
rpm.global("ver", tag);
break;
}
if rpm.changed() {
rpm.release();
}
@@ -1,4 +1,4 @@
# Generated by rust2rpm 26
# Generated by rust2rpm 25
%bcond_with check
# aarch64 dist is not available
%ifarch aarch64
@@ -13,7 +13,7 @@
%global crate sccache
Name: rust-sccache
Version: 0.9.1
Version: 0.8.1
Release: 1%?dist
Summary: Ccache-like tool
@@ -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
@@ -92,6 +89,17 @@ use the "default" feature of the "%{crate}" crate.
%package -n %{name}+all-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/all) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
Requires: crate(sccache/azure) = 0.7.4
Requires: crate(sccache/dist-client) = 0.7.4
Requires: crate(sccache/gcs) = 0.7.4
Requires: crate(sccache/gha) = 0.7.4
Requires: crate(sccache/memcached) = 0.7.4
Requires: crate(sccache/redis) = 0.7.4
Requires: crate(sccache/s3) = 0.7.4
Requires: crate(sccache/webdav) = 0.7.4
%description -n %{name}+all-devel %{_description}
@@ -104,6 +112,9 @@ use the "all" feature of the "%{crate}" crate.
%package -n %{name}+azure-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/azure) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+azure-devel %{_description}
@@ -116,6 +127,9 @@ use the "azure" feature of the "%{crate}" crate.
%package -n %{name}+dist-client-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/dist-client) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+dist-client-devel %{_description}
@@ -124,10 +138,13 @@ use the "dist-client" feature of the "%{crate}" crate.
%files -n %{name}+dist-client-devel
%ghost %{crate_instdir}/Cargo.toml
%if %{with dist_server}
%package -n %{name}+dist-server-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/dist-server) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+dist-server-devel %{_description}
@@ -140,6 +157,11 @@ use the "dist-server" feature of the "%{crate}" crate.
%package -n %{name}+dist-tests-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/dist-tests) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
Requires: crate(sccache/dist-client) = 0.7.4
Requires: crate(sccache/dist-server) = 0.7.4
%description -n %{name}+dist-tests-devel %{_description}
@@ -148,10 +170,15 @@ use the "dist-tests" feature of the "%{crate}" crate.
%files -n %{name}+dist-tests-devel
%ghost %{crate_instdir}/Cargo.toml
%endif
%package -n %{name}+flate2-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/flate2) = 0.7.4
Requires: (crate(flate2) >= 1.0.0 with crate(flate2) < 2.0.0~)
Requires: (crate(flate2/rust_backend) >= 1.0.0 with crate(flate2/rust_backend) < 2.0.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+flate2-devel %{_description}
@@ -164,6 +191,9 @@ use the "flate2" feature of the "%{crate}" crate.
%package -n %{name}+gcs-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/gcs) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+gcs-devel %{_description}
@@ -176,6 +206,10 @@ use the "gcs" feature of the "%{crate}" crate.
%package -n %{name}+gha-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/gha) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
Requires: crate(sccache/opendal) = 0.7.4
%description -n %{name}+gha-devel %{_description}
@@ -185,21 +219,14 @@ use the "gha" feature of the "%{crate}" crate.
%files -n %{name}+gha-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+http-body-util-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+http-body-util-devel %{_description}
This package contains library source intended for building other packages which
use the "http-body-util" feature of the "%{crate}" crate.
%files -n %{name}+http-body-util-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+hyper-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/hyper) = 0.7.4
Requires: (crate(hyper/default) >= 0.14.27 with crate(hyper/default) < 0.15.0~)
Requires: (crate(hyper/server) >= 0.14.27 with crate(hyper/server) < 0.15.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+hyper-devel %{_description}
@@ -209,21 +236,13 @@ use the "hyper" feature of the "%{crate}" crate.
%files -n %{name}+hyper-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+hyper-util-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+hyper-util-devel %{_description}
This package contains library source intended for building other packages which
use the "hyper-util" feature of the "%{crate}" crate.
%files -n %{name}+hyper-util-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+jwt-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/jwt) = 0.7.4
Requires: (crate(jsonwebtoken/default) >= 8.0.0 with crate(jsonwebtoken/default) < 9.0.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+jwt-devel %{_description}
@@ -236,6 +255,10 @@ use the "jwt" feature of the "%{crate}" crate.
%package -n %{name}+libmount-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/libmount) = 0.7.4
Requires: (crate(libmount/default) >= 0.1.10 with crate(libmount/default) < 0.2.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+libmount-devel %{_description}
@@ -248,6 +271,11 @@ use the "libmount" feature of the "%{crate}" crate.
%package -n %{name}+memcached-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/memcached) = 0.7.4
Requires: (crate(opendal/default) >= 0.40.0 with crate(opendal/default) < 0.41.0~)
Requires: (crate(opendal/services-memcached) >= 0.40.0 with crate(opendal/services-memcached) < 0.41.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+memcached-devel %{_description}
@@ -260,6 +288,9 @@ use the "memcached" feature of the "%{crate}" crate.
%package -n %{name}+native-zlib-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/native-zlib) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+native-zlib-devel %{_description}
@@ -272,6 +303,10 @@ use the "native-zlib" feature of the "%{crate}" crate.
%package -n %{name}+nix-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/nix) = 0.7.4
Requires: (crate(nix/default) >= 0.26.2 with crate(nix/default) < 0.27.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+nix-devel %{_description}
@@ -284,6 +319,10 @@ use the "nix" feature of the "%{crate}" crate.
%package -n %{name}+opendal-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/opendal) = 0.7.4
Requires: (crate(opendal/default) >= 0.40.0 with crate(opendal/default) < 0.41.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+opendal-devel %{_description}
@@ -296,6 +335,10 @@ use the "opendal" feature of the "%{crate}" crate.
%package -n %{name}+openssl-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/openssl) = 0.7.4
Requires: (crate(openssl/default) >= 0.10.55 with crate(openssl/default) < 0.11.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+openssl-devel %{_description}
@@ -305,21 +348,16 @@ use the "openssl" feature of the "%{crate}" crate.
%files -n %{name}+openssl-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+oss-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+oss-devel %{_description}
This package contains library source intended for building other packages which
use the "oss" feature of the "%{crate}" crate.
%files -n %{name}+oss-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+redis-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/redis) = 0.7.4
Requires: (crate(opendal/default) >= 0.40.0 with crate(opendal/default) < 0.41.0~)
Requires: (crate(opendal/services-redis) >= 0.40.0 with crate(opendal/services-redis) < 0.41.0~)
Requires: (crate(opendal/services-redis-rustls) >= 0.40.0 with crate(opendal/services-redis-rustls) < 0.41.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
Requires: crate(sccache/url) = 0.7.4
%description -n %{name}+redis-devel %{_description}
@@ -332,6 +370,10 @@ use the "redis" feature of the "%{crate}" crate.
%package -n %{name}+reqsign-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/reqsign) = 0.7.4
Requires: (crate(reqsign/default) >= 0.14.1 with crate(reqsign/default) < 0.15.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+reqsign-devel %{_description}
@@ -344,6 +386,15 @@ use the "reqsign" feature of the "%{crate}" crate.
%package -n %{name}+reqwest-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/reqwest) = 0.7.4
Requires: (crate(reqwest/blocking) >= 0.11.0 with crate(reqwest/blocking) < 0.12.0~)
Requires: (crate(reqwest/default) >= 0.11.0 with crate(reqwest/default) < 0.12.0~)
Requires: (crate(reqwest/json) >= 0.11.0 with crate(reqwest/json) < 0.12.0~)
Requires: (crate(reqwest/rustls-tls) >= 0.11.0 with crate(reqwest/rustls-tls) < 0.12.0~)
Requires: (crate(reqwest/stream) >= 0.11.0 with crate(reqwest/stream) < 0.12.0~)
Requires: (crate(reqwest/trust-dns) >= 0.11.0 with crate(reqwest/trust-dns) < 0.12.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+reqwest-devel %{_description}
@@ -356,6 +407,11 @@ use the "reqwest" feature of the "%{crate}" crate.
%package -n %{name}+rouille-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/rouille) = 0.7.4
Requires: (crate(rouille) >= 3.6.0 with crate(rouille) < 4.0.0~)
Requires: (crate(rouille/ssl) >= 3.6.0 with crate(rouille/ssl) < 4.0.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+rouille-devel %{_description}
@@ -368,6 +424,11 @@ use the "rouille" feature of the "%{crate}" crate.
%package -n %{name}+s3-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/s3) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
Requires: crate(sccache/opendal) = 0.7.4
Requires: crate(sccache/reqsign) = 0.7.4
%description -n %{name}+s3-devel %{_description}
@@ -380,6 +441,10 @@ use the "s3" feature of the "%{crate}" crate.
%package -n %{name}+sha2-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/sha2) = 0.7.4
Requires: (crate(sha2/default) >= 0.10.6 with crate(sha2/default) < 0.11.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+sha2-devel %{_description}
@@ -392,6 +457,10 @@ use the "sha2" feature of the "%{crate}" crate.
%package -n %{name}+syslog-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/syslog) = 0.7.4
Requires: (crate(syslog/default) >= 6.0.0 with crate(syslog/default) < 7.0.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+syslog-devel %{_description}
@@ -401,9 +470,29 @@ use the "syslog" feature of the "%{crate}" crate.
%files -n %{name}+syslog-devel
%ghost %{crate_instdir}/Cargo.toml
%{dnl ## BEGIN: multiline comment
%package -n %{name}+trust-dns-resolver-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/trust-dns-resolver) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+trust-dns-resolver-devel %{_description}
This package contains library source intended for building other packages which
use the "trust-dns-resolver" feature of the "%{crate}" crate.
%files -n %{name}+trust-dns-resolver-devel
%ghost %{crate_instdir}/Cargo.toml
} ## END OF multiline comment
%package -n %{name}+unstable-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/unstable) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+unstable-devel %{_description}
@@ -416,6 +505,10 @@ use the "unstable" feature of the "%{crate}" crate.
%package -n %{name}+url-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/url) = 0.7.4
Requires: (crate(url/default) >= 2.0.0 with crate(url/default) < 3.0.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+url-devel %{_description}
@@ -428,6 +521,9 @@ use the "url" feature of the "%{crate}" crate.
%package -n %{name}+vendored-openssl-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/vendored-openssl) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+vendored-openssl-devel %{_description}
@@ -440,6 +536,10 @@ use the "vendored-openssl" feature of the "%{crate}" crate.
%package -n %{name}+version-compare-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/version-compare) = 0.7.4
Requires: (crate(version-compare/default) >= 0.1.1 with crate(version-compare/default) < 0.2.0~)
Requires: cargo
Requires: crate(sccache) = 0.7.4
%description -n %{name}+version-compare-devel %{_description}
@@ -452,6 +552,10 @@ use the "version-compare" feature of the "%{crate}" crate.
%package -n %{name}+webdav-devel
Summary: %{summary}
BuildArch: noarch
Provides: crate(sccache/webdav) = 0.7.4
Requires: cargo
Requires: crate(sccache) = 0.7.4
Requires: crate(sccache/opendal) = 0.7.4
%description -n %{name}+webdav-devel %{_description}
@@ -474,7 +578,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,14 @@
--- sccache-0.7.6/Cargo.toml 1970-01-01T00:00:01+00:00
+++ sccache-0.7.6/Cargo.toml 2024-02-02T06:05:53.548100+00:00
@@ -378,11 +378,3 @@
[target."cfg(unix)".dependencies.daemonize]
version = "0.5"
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3"
-features = [
- "fileapi",
- "handleapi",
- "stringapiset",
- "winnls",
-]
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "sticky.spec"
}
}
@@ -1,9 +0,0 @@
diff --git a/usr/bin/sticky b/usr/bin/sticky
index 7425e9c..a00e755 100755
--- a/usr/bin/sticky
+++ b/usr/bin/sticky
@@ -1,3 +1,3 @@
#!/bin/bash
-/usr/lib/sticky/sticky.py $*
+/usr/lib/python3*/site-packages/sticky/sticky.py $*
@@ -1,9 +0,0 @@
diff --git a/meson.build b/meson.build
index b25d642..435a6f0 100644
--- a/meson.build
+++ b/meson.build
@@ -17,4 +17,3 @@ subdir('po')
install_subdir('etc', install_dir: sysconfdir, strip_directory: true)
install_subdir('usr', install_dir: prefix, strip_directory: true)
-meson.add_install_script('meson/meson-postinstall.sh')
-62
View File
@@ -1,62 +0,0 @@
%global debug_package %{nil}
Name: sticky
Version: 1.24
Release: 1%{?dist}
Summary: A sticky notes app for the Linux desktop
License: GPL-2.0
URL: https://github.com/linuxmint/sticky
Source0: %{url}/archive/%{version}.tar.gz
Patch0: remove-meson-postinstall-script.patch
Patch1: point-executable-to-sitepackages-directory.patch
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: meson
BuildRequires: gettext-devel
Requires: python3
Requires: glib2
Requires: gspell
Requires: gtk3
Requires: python3-gobject-base
Requires: python3-xapp
Requires: xapps
Packager: sadlerm <sad_lerm@hotmail.com>
%description
Sticky is a note-taking app for the Linux desktop that simulates traditional "sticky note" style stationery on your desktop. Some of its features include basic text formatting (bold, italics, monospaced, etc.), spell-checking, a tray icon for controlling note visibility, color notes, manual and automatic backups, and a manager to organize your notes into groups.
%prep
%autosetup -p1
%build
%meson
%meson_build
%install
%meson_install
mkdir -p %{buildroot}%{python3_sitelib}
mv -v %{buildroot}%{_prefix}/lib/%{name} %{buildroot}%{python3_sitelib}/%{name}
%files
%license COPYING
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/glib-2.0/schemas/org.x.%{name}.gschema.xml
%{_datadir}/icons/hicolor/scalable/apps/%{name}*.svg
%{_datadir}/icons/hicolor/scalable/status/%{name}*.svg
%{_datadir}/locale/*/LC_MESSAGES/%{name}.mo
%{_datadir}/%{name}/*
%{_sysconfdir}/xdg/autostart/%{name}.desktop
%{_datadir}/dbus-1/services/org.x.%{name}.service
%{python3_sitelib}/%{name}/*.py
%{python3_sitelib}/%{name}/__pycache__/*.pyc
%changelog
* Thu Jan 16 2025 sadlerm4 <sad_lerm@hotmail.com>
- Initial package
@@ -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
@@ -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
@@ -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
@@ -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
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "switcheroo-control.spec"
}
labels {
subrepo = "extras"
}
}
@@ -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

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