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
700 changed files with 9295 additions and 16454 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
+7 -20
View File
@@ -44,35 +44,22 @@ jobs:
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
image: ghcr.io/terrapkg/builder:f${{ matrix.version}}
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Checkout latest Mock configs
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: terrapkg/mock-configs
path: mock-configs
- name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Include custom build template instead of package default
run: |
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
cp -v anda/terra/mock-configs/terra.tpl /etc/mock/templates/terra.tpl
- name: Build with Andaman
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
- name: Build with Andaman (alternate arch)
if: |
matrix.pkg.arch == 'x86_64' && matrix.pkg.labels['multilib']
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c mock-configs/terra-${{ matrix.version }}-i386.cfg
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
@@ -95,7 +82,7 @@ jobs:
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }} anda-build/rpm/rpms/*
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
@@ -103,11 +90,11 @@ jobs:
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
terra${{ matrix.version }}-source anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success)
if: success() && github.event_name == 'push'
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}}
+23 -25
View File
@@ -14,6 +14,8 @@ on:
required: false
default: all
type: string
jobs:
parse:
@@ -26,18 +28,18 @@ jobs:
- 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
@@ -56,22 +58,18 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Checkout latest Mock configs
uses: actions/checkout@v4
with:
repository: terrapkg/mock-configs
path: mock-configs
- name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Include custom build template instead of package default
run: |
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
- 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 anda/${{ matrix.pkg }}pkg --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.cfg
run: anda build anda/${{ matrix.pkg }}pkg --package rpm -c anda/terra/mock-configs/terra-${{ matrix.version }}-${{ matrix.arch }}.cfg
- name: Generating artifact name
id: art
@@ -104,7 +102,7 @@ jobs:
- name: Notify Madoguchi (Success)
if: success()
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $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}}
+9 -13
View File
@@ -22,22 +22,18 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Checkout latest Mock configs
uses: actions/checkout@v4
with:
repository: terrapkg/mock-configs
path: mock-configs
- name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Include custom build template instead of package default
run: |
cp -v mock-configs/terra.tpl /etc/mock/templates/terra.tpl
- 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 }} --package rpm -c mock-configs/terra-${{ matrix.version }}-${{ matrix.pkg.arch }}.cfg
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
@@ -71,7 +67,7 @@ jobs:
- name: Notify Madoguchi (Success)
if: success()
run: ./.github/workflows/mg.sh true ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $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}}
+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
-54
View File
@@ -1,54 +0,0 @@
name: Update per branch
on:
schedule:
- cron: "*/30 * * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
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
+1 -2
View File
@@ -4,9 +4,8 @@ on:
push:
branches:
- frawhide
- f41
- f40
- el10
- f39
paths:
- comps.xml
workflow_dispatch:
+5 -6
View File
@@ -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 * * 0"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Weekly Update
run: anda update --filters weekly=1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(weekly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
git checkout $1
git apply *.patch || true
git add anda
git commit -S -a -m "$msg"
}
copy_over f40 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
+5 -5
View File
@@ -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!
+4 -12
View File
@@ -1,26 +1,18 @@
%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
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
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
+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
+1
View File
@@ -1,4 +1,5 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "anki.spec"
}
+13 -31
View File
@@ -1,15 +1,12 @@
%define debug_package %nil
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
URL: https://apps.ankiweb.net/
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes)
BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson
BuildRequires: python3-installer python-unversioned-command python3-pyqt6-webengine python3-pyqt6
BuildRequires: anda-srpm-macros make mold cargo git protobuf-compiler rsync yarnpkg ninja-build pnpm libxcrypt-compat nodejs gcc
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
@@ -23,37 +20,19 @@ phrases in a foreign language) as easily, quickly and efficiently as possible.
Anki is based on a theory called spaced repetition.
%prep
%git_clone https://github.com/ankitects/anki
rm -rf *
git clone https://github.com/ankitects/anki .
git checkout %{version}
%patch 0 -p1
# See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki
# See https://git.alpinelinux.org/aports/tree/testing/anki/APKBUILD
export CARGO_HOME="./.cargo}" # do not litter in ~
export YARN_CACHE_FOLDER="./.yarn}" # do not litter in ~
# fetch rust packages
cargo fetch --locked --target "%_arch-unknown-linux-gnu" &
# fetch node packages already in prepare()
yarn install --immutable --modules-folder out/node_modules --ignore-scripts
ln -sf out/node_modules ./
wait
%build
export RELEASE=2
export PYTHONPATH=%python3_sitelib
export PYTHON_BINARY=%__python3
export PROTOC_BINARY=$(which protoc)
export NODE_BINARY=$(which node)
export YARN_BINARY=$(which pnpm)
export CARGO_HOME="./.cargo}" # do not litter in ~
export YARN_CACHE_FOLDER="./.yarn}" # do not litter in ~
cargo update
export RELEASE=1
export PYTHONPATH=%_libdir/python3/dist-packages
mold -run ./tools/build
%install
for file in out/wheels/*.whl; do
python -m installer --destdir="%{buildroot}" $file
@@ -62,7 +41,9 @@ done
install -Dm644 qt/bundle/lin/anki.desktop %{buildroot}/%{_datadir}/applications/anki.desktop
install -Dm644 qt/bundle/lin/anki.png %{buildroot}/%{_datadir}/pixmaps/anki.png
sed -i "s*^#!/usr/bin/python\$*#!/usr/bin/python3*" %{buildroot}/%{_bindir}/anki
sed "s*^#!/usr/bin/python\$*#!/usr/bin/python3*" %{buildroot}/%{_bindir}/anki > %{buildroot}/%{_bindir}/anki1
rm %{buildroot}/%{_bindir}/anki
mv %{buildroot}/%{_bindir}/anki1 %{buildroot}/%{_bindir}/anki
find %{buildroot} -iname __pycache__ | xargs -r rm -rf
find %{buildroot} -iname direct_url.json | xargs -r rm -rf
@@ -84,6 +65,7 @@ chmod 755 %{buildroot}%{_bindir}/anki
%_libdir/python*/site-packages/anki/
%_libdir/python*/site-packages/anki-%{version}.dist-info/
%changelog
* Tue Jan 3 2023 madonuko <mado@fyralabs.com> - 2.1.60
* Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
- Initial package
+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"));
-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.550
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.550
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.78
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.124
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.124
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.78
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
}
}
+7 -9
View File
@@ -1,5 +1,5 @@
%global commit e69a7a9bd62bef27f3d84b8d037bafe55bbed483
%global commit_date 20241222
%global commit 6cf5e40b96d1cbd99a3cfcef1f03899356e79448
%global commit_date 20240703
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision
@@ -16,12 +16,10 @@ 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
%description
@@ -41,8 +39,8 @@ Recommends: android-tools
%doc README.md
%license LICENSE
%_bindir/envision
%_datadir/applications/org.gabmus.envision.Devel.desktop
%_datadir/applications/org.gabmus.envision.desktop
%_datadir/envision/
%_iconsdir/hicolor/scalable/apps/org.gabmus.envision.Devel.svg
%_iconsdir/hicolor/symbolic/apps/org.gabmus.envision.Devel-symbolic.svg
%_metainfodir/org.gabmus.envision.Devel.appdata.xml
%_iconsdir/hicolor/scalable/apps/org.gabmus.envision.svg
%_iconsdir/hicolor/symbolic/apps/org.gabmus.envision-symbolic.svg
%_metainfodir/org.gabmus.envision.appdata.xml
+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"
}
}
-43
View File
@@ -1,43 +0,0 @@
%global commit 03864bcad5c751646404bbe14e489dd67c9d1582
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20241224
Name: fontviewer
Version: %{commit_date}.git~%{shortcommit}
Release: 1%?dist
Summary: View and install fonts
License: GPL-2.0
URL: https://github.com/chocolateimage/%{name}
Source0: %{url}/archive/%{commit}.tar.gz
BuildRequires: gcc-c++
BuildRequires: meson
BuildRequires: pkgconfig(cairomm-1.0)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtkmm-3.0)
Requires: gtk3 fontconfig
Packager: sadlerm <sad_lerm@hotmail.com>
%description
A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
%prep
%autosetup -n %{name}-%{commit} -p1
%build
%meson
%meson_build
%install
%meson_install
%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
-5
View File
@@ -1,5 +0,0 @@
rpm.global("commit", gh_commit("chocolateimage/fontviewer"));
if rpm.changed() {
rpm.release();
rpm.global("commit_date", date());
}
-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.66.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.5
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.5
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 fa72d91d14e538bd0054ab7793f912aa0de64e0f
%global commit_date 20241218
%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.5
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 d82701962f99051a18d65c215b70d41ebadd9a22
%global commit 14571f0f7793fe60ca14a25fc45adbe1e5b6a1e8
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20241222
%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
@@ -47,7 +47,7 @@ Comment[zh_CN]=播放 Flash 游戏和动画
Comment[zh_TW]=播放 Flash 遊戲和動畫
Comment=Play Flash games & movies
Icon=rs.ruffle.Ruffle
-Exec=ruffle %u
+Exec=ruffle_desktop %u
MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie
Categories=AudioVideo;Player;Graphics;Viewer;VectorGraphics;Game
Keywords[ar]=الفلاش;swf;مشغل;محاكي;رَسْت
-56
View File
@@ -1,56 +0,0 @@
%global ver 2024-12-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.0
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",
-]
@@ -6,7 +6,7 @@
Name: vencord-desktop
Provides: VencordDesktop = %{version}-%{release}
Version: 1.5.4
Version: 1.5.3
Release: 1%?dist
License: GPL-3.0
Summary: Vesktop is a cross platform desktop app aiming to give you a snappier Discord experience with Vencord pre-installed
@@ -0,0 +1,22 @@
From 6b8c81d1d4ac0ac562b69e7f8164c8a92dafe13a Mon Sep 17 00:00:00 2001
From: windowsboy111 <wboy111@outlook.com>
Date: Mon, 19 Jun 2023 10:33:20 +0800
Subject: [PATCH] feat: add repository entry in package.json
---
package.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/package.json b/package.json
index 622756a..b3d3dfa 100644
--- a/package.json
+++ b/package.json
@@ -1,4 +1,5 @@
{
+ "repository": "github:VOICEVOX/voicevox",
"name": "voicevox",
"version": "999.999.999",
"author": "Hiroshiba Kazuyuki",
--
2.40.1
-1
View File
@@ -1,5 +1,4 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "voicevox.spec"
}
+5 -1
View File
@@ -1 +1,5 @@
rpm.version(gh("VOICEVOX/voicevox"));
let v = gh("VOICEVOX/voicevox");
rpm.global("ver", v);
let engines = get(`https://raw.githubusercontent.com/VOICEVOX/voicevox/${v}/package.json`).json().engines;
rpm.global("nodev", find(">=([\\d.]+)", engines.node, 1));
rpm.global("npmv", find(">=([\\d.]+)", engines.npm, 1));
+38 -34
View File
@@ -1,29 +1,28 @@
%global nodev 20.12.2
%global npmv 10.5.0
%global ver 0.19.2
%define debug_package %nil
%global _build_id_links none
# do not strip binaries
%define __strip /bin/true
# do not perform compression in cpio
%define _source_payload w0.ufdio
%define _binary_payload w19.zstdio
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: voicevox
Version: 0.21.1
Release: 1%?dist
Version: %ver
Release: 4%?dist
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
URL: https://voicevox.hiroshiba.jp
Source0: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.001
Source1: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.002
Source2: https://github.com/VOICEVOX/voicevox/releases/download/%version/VOICEVOX.AppImage.7z.003
Packager: madonuko <mado@fyralabs.com>
BuildRequires: p7zip-plugins
ExclusiveArch: x86_64
Source0: https://github.com/VOICEVOX/voicevox/archive/refs/tags/%version.tar.gz
# requires specific node and npm version
%ifarch x86_64
%global a x64
%elifarch aarch64
%global a arm64
%endif
Source1: https://nodejs.org/download/release/v%nodev/node-v%nodev-linux-%a.tar.xz
Patch0: 0001-feat-add-repository-entry-in-package.json.patch
%description
VOICEVOX is a free Japanese text-to-speech software with medium output quality.
@@ -35,28 +34,33 @@ Summary: Documentation files for voicevox (Japanese)
%summary.
%prep
cat<<EOF > voicevox.sh
#!/usr/bin/sh
/usr/share/voicevox/VOICEVOX.AppImage
EOF
7z x %SOURCE0
chmod a+x VOICEVOX.AppImage
./VOICEVOX.AppImage --appimage-extract '*.desktop'
./VOICEVOX.AppImage --appimage-extract 'usr/share/icons/**'
sed -i "s|Exec=.*|Exec=/usr/share/voicevox/VOICEVOX.AppImage|" squashfs-root/voicevox.desktop
%autosetup -p1
tar xf %SOURCE1
PATH="$PATH:$PWD/node-v%nodev-linux-%a/bin/"
npx npm@%npmv i
%build
PATH="$PATH:$PWD/node-v%nodev-linux-%a/bin/"
npx browserslist@latest --update-db
PATH="$PATH:$PWD/node-v%nodev-linux-%a/bin/"
npm run electron:build
%install
install -Dm755 VOICEVOX.AppImage %buildroot%_datadir/voicevox/VOICEVOX.AppImage
install -Dm755 voicevox.sh %buildroot%_bindir/voicevox
install -Dm644 squashfs-root%_iconsdir/hicolor/0x0/apps/voicevox.png %buildroot%_iconsdir/hicolor/256x256/apps/voicevox.png
install -Dm644 squashfs-root/voicevox.desktop %buildroot%_datadir/applications/voicevox.desktop
rm dist_electron/linux-unpacked/README.txt # dummy
mkdir -p %buildroot%_datadir/%name %buildroot%_bindir %buildroot%_docdir/%name/res
mv dist_electron/linux-unpacked/* %buildroot%_datadir/%name/
ln -s %_datadir/%name/%name %buildroot%_bindir/%name
install -Dm644 docs/*.md %buildroot%_docdir/%name/
install -Dm644 docs/res/* %buildroot%_docdir/%name/res/
%files
%_bindir/voicevox
%_datadir/applications/voicevox.desktop
%_datadir/voicevox/VOICEVOX.AppImage
%_iconsdir/hicolor/256x256/apps/voicevox.png
%doc README.md
%license LICENSE LGPL_LICENSE
%_bindir/%name
%_datadir/%name/
%files doc
%doc %_docdir/%name/
%changelog
%autochangelog
-50
View File
@@ -1,50 +0,0 @@
Name: WoeUSB-ng
Version: 0.2.12
Release: 1%?dist
Summary: Simple tool that enable you to create your own usb stick with Windows installer
License: GPL-3.0-only
Requires: parted dosfstools ntfsprogs p7zip p7zip-plugins xdg-utils grub2-tools
URL: https://github.com/WoeUSB/WoeUSB-ng
Source: https://github.com/WoeUSB/WoeUSB-ng/archive/refs/tags/v%version.tar.gz
Patch0: https://patch-diff.githubusercontent.com/raw/WoeUSB/WoeUSB-ng/pull/79.patch
BuildArch: noarch
BuildRequires: python3-devel python3-installer
%global _description %{expand:
WoeUSB-ng is a simple tool that enable you to create your own usb stick windows installer from an iso image or a real DVD. This is a rewrite of original WoeUSB.}
%description %_description
%prep
%autosetup -p1
%generate_buildrequires
%pyproject_buildrequires
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files WoeUSB
install -Dpm644 miscellaneous/WoeUSB-ng.desktop %buildroot%_datadir/applications/WoeUSB-ng.desktop
install -Dpm644 miscellaneous/com.github.woeusb.woeusb-ng.policy %buildroot%_datadir/polkit-1/actions/com.github.woeusb.woeusb-ng.policy
%check
#pyproject_check_import
%files -f %{pyproject_files}
%_bindir/woeusb
%_bindir/woeusbgui
%_datadir/applications/WoeUSB-ng.desktop
%_iconsdir/hicolor/scalable/apps/woeusb-logo.png
%_datadir/polkit-1/actions/com.github.woeusb.woeusb-ng.policy
%changelog
%autochangelog
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "WoeUSB-ng.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh_tag("WoeUSB/WoeUSB-ng"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "youtube-music.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("th-ch/youtube-music"));
@@ -1,10 +0,0 @@
[Desktop Entry]
Name=YouTube Music
Exec=/usr/bin/youtube-music --no-sandbox %U
TryExec=/usr/bin/youtube-music
Icon=youtube-music
Terminal=false
Type=Application
StartupWMClass=YouTube Music
Comment=YouTube Music Desktop App - including custom plugins
Categories=AudioVideo;
@@ -1,91 +0,0 @@
%define debug_package %nil
# macro shorthand for calling pnpm
%global pnpm npx pnpm@%{pnpm_version}
Name: youtube-music
Version: 3.6.2
Release: 1%?dist
Summary: YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Source1: youtube-music.desktop
License: MIT
URL: https://github.com/th-ch/youtube-music
Packager: Cappy Ishihara <cappy@fyralabs.com>
# For some unknown reason, PNPM is not working with Node.js 22 on Aarch64 devices.
# todo: investigate why
#ExclusiveArch: x86_64
BuildRequires: git-core gcc make
# Required for usocket native module built with node-gyp
BuildRequires: python3 gcc-c++
%description
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
%prep
rm -rf ./*
git clone --recursive %{url} .
git checkout v%{version}
%build
# Vendor PNPM directly instead of installing from packages, because we need to somehow force PNPM to use Node.js 20
# We are not using Fedora's PNPM because we need to use `pnpm env`, which PNPM does not support when not vendored directly from upstream
curl -fsSL https://get.pnpm.io/install.sh | sh -
source /builddir/.bashrc
pnpm env use --global 20
pnpm install
pnpm build
pnpm electron-builder --linux --dir
%install
# Install assets
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
# Copy icon files
ls -laR pack
%ifarch aarch64
pushd pack/linux-arm64-unpacked/resources/app.asar.unpacked/assets
%else
pushd pack/linux-unpacked/resources/app.asar.unpacked/assets
%endif
install -m 0644 youtube-music.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music.png
install -m 0644 youtube-music.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/youtube-music.svg
install -m 0644 youtube-music-tray-paused.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music-tray-paused.png
install -m 0644 youtube-music-tray.png %{buildroot}%{_datadir}/icons/hicolor/1024x1024/apps/youtube-music-tray.png
popd
# Actually install the app
install -d -m 0755 %{buildroot}%{_datadir}/youtube-music
# Delete unpacked asar files before copying
rm -rfv pack/linux*-unpacked/resources/app.asar.unpacked
cp -rv pack/linux*-unpacked/* %{buildroot}%{_datadir}/youtube-music
install -d -m 0755 %{buildroot}%{_bindir}
ln -svf %{_datadir}/youtube-music/youtube-music %{buildroot}%{_bindir}/youtube-music
# Install desktop file
install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/applications/youtube-music.desktop
%files
%license license
%doc README.md
%doc docs
%{_bindir}/youtube-music
%{_datadir}/youtube-music
%{_datadir}/icons/hicolor/*/apps/youtube-music*
%{_datadir}/applications/youtube-music.desktop
%changelog
* Sat Aug 03 2024 Cappy Ishihara <cappy@cappuchino.xyz>
- Initial Release
@@ -1,114 +1,115 @@
Name: budgie-extras
Version: 1.8.0
Release: 2%{?dist}
Name: budgie-extras
Version: 1.8.0
Release: 1%{?dist}
License: GPL-3.0
Summary: Additional Budgie Desktop enhancements for user experience
URL: https://ubuntubudgie.org/
License: GPL-3.0
Summary: Additional Budgie Desktop enhancements for user experience
URL: https://ubuntubudgie.org/
Source0: https://github.com/UbuntuBudgie/budgie-extras/releases/download/v%{version}/budgie-extras-%{version}.tar.xz
Patch0: 0001-fix-weathershow-desktop-widget-icon-path.patch
Source0: https://github.com/UbuntuBudgie/budgie-extras/releases/download/v%{version}/budgie-extras-%{version}.tar.xz
Patch0: 0001-fix-weathershow-desktop-widget-icon-path.patch
BuildRequires: rpm_macro(fdupes)
BuildRequires: cmake
BuildRequires: meson
BuildRequires: vala
BuildRequires: intltool
BuildRequires: rpm_macro(fdupes)
BuildRequires: cmake
BuildRequires: meson
BuildRequires: vala
BuildRequires: intltool
BuildRequires: pkgconfig(budgie-1.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gnome-settings-daemon)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(keybinder-3.0)
BuildRequires: pkgconfig(libgnome-menu-3.0)
BuildRequires: pkgconfig(libnm)
BuildRequires: pkgconfig(libnma)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libwnck-3.0)
BuildRequires: pkgconfig(budgie-1.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gnome-settings-daemon)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(keybinder-3.0)
BuildRequires: pkgconfig(libgnome-menu-3.0)
BuildRequires: pkgconfig(libnm)
BuildRequires: pkgconfig(libnma)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libwnck-3.0)
BuildRequires: pkgconfig(appstream)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(zeitgeist-2.0)
BuildRequires: pkgconfig(appstream)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(zeitgeist-2.0)
Requires: budgie-applet-app-launcher
Requires: budgie-applet-applications-menu
Requires: budgie-applet-brightness-controller
Requires: budgie-applet-clockworks
Requires: budgie-applet-countdown
Requires: budgie-applet-dropby
Requires: budgie-applet-fuzzyclock
Requires: budgie-applet-hotcorners
Requires: budgie-applet-kangaroo
Requires: budgie-applet-keyboard-autoswitch
Requires: budgie-applet-network-manager
Requires: budgie-applet-quickchar
Requires: budgie-applet-quicknote
Requires: budgie-applet-recentlyused
Requires: budgie-applet-rotation-lock
Requires: budgie-applet-showtime
Requires: budgie-applet-takeabreak
Requires: budgie-applet-visualspace
Requires: budgie-applet-wallstreet
Requires: budgie-applet-weathershow
Requires: budgie-applet-window-shuffler
Requires: budgie-applet-workspace-stopwatch
Requires: budgie-applet-wpreviews
Requires: budgie-applet-wswitcher
Requires: budgie-applet-applications-menu
Requires: budgie-applet-weathershow
Requires: budgie-applet-app-launcher
Requires: budgie-applet-brightness-controller
Requires: budgie-applet-clockworks
Requires: budgie-applet-countdown
Requires: budgie-applet-dropby
Requires: budgie-applet-fuzzyclock
Requires: budgie-applet-hotcorners
Requires: budgie-applet-kangaroo
Requires: budgie-applet-keyboard-autoswitch
Requires: budgie-applet-network-manager
Requires: budgie-applet-quickchar
Requires: budgie-applet-quicknote
Requires: budgie-applet-recentlyused
Requires: budgie-applet-rotation-lock
Requires: budgie-applet-showtime
Requires: budgie-applet-takeabreak
Requires: budgie-applet-visualspace
Requires: budgie-applet-wallstreet
Requires: budgie-applet-window-shuffler
Requires: budgie-applet-workspace-stopwatch
Requires: budgie-applet-wpreviews
Requires: budgie-applet-wswitcher
# Fix for https://github.com/UbuntuBudgie/budgie-extras/issues/233, don't know how stenstorp did not notice this
Requires: xinput
Requires: xinput
%description
This is part of a suite of python3 and Vala based applets for the Budgie
Desktop that provide additional user orientated capabilities.
The applets can be used individually or as a set.
%package common
Requires: budgie-desktop
Summary: Shared component of budgie-extras applets
BuildArch: noarch
%description common
%package common
Requires: budgie-desktop
Summary: Shared component of budgie-extras applets
BuildArch: noarch
%description common
The shared component provides for capabilities that are utilised between
budgie-extra applets.
%package daemon
Summary: Manages keyboard shortcuts
Requires: budgie-extras-common
%description daemon
%package daemon
Summary: Manages keyboard shortcuts
Requires: budgie-extras-common
%description daemon
This on logon process manages keyboard shortcuts delivered via .bde files for
various extras-plugins.
%package -n budgie-applet-app-launcher
Requires: budgie-extras-common
Summary: Applet to provide an alternative means to launch applications
Requires: budgie-extras-common
Summary: Applet to provide an alternative means to launch applications
%description -n budgie-applet-app-launcher
The app-launcher applet allows the ability to add favorite apps to the
panel as well as finding and launching applications. The list of
applications listed can be easily configured to be visible or hidden.
%package -n budgie-applet-applications-menu
Requires: budgie-extras-common
Summary: Lightweight and stylish app launcher
Requires: budgie-extras-common
Summary: Lightweight and stylish app launcher
%description -n budgie-applet-applications-menu
%{summary}
%package -n budgie-applet-brightness-controller
Requires: budgie-extras-common
Summary: A Budgie Desktop applet for productivity
Requires: budgie-extras-common
Summary: A Budgie Desktop applet for productivity
%description -n budgie-applet-brightness-controller
%{summary}
%package -n budgie-applet-clockworks
Requires: budgie-extras-common
Summary: Applet to display clock across multiple time zones
Requires: budgie-extras-common
Summary: Applet to display clock across multiple time zones
%description -n budgie-applet-clockworks
The Clockworks applet displays the current time across multiple
time zones.
%package -n budgie-applet-countdown
Requires: budgie-extras-common
Summary: Applet providing a countdown capability on the Budgie Desktop
Requires: budgie-extras-common
Summary: Applet providing a countdown capability on the Budgie Desktop
%description -n budgie-applet-countdown
The Countdown applet provides the user the ability to start an
action when the countdown reaches 0 seconds. Actions include flashing
@@ -116,8 +117,8 @@ an icon in the panel, opening a notification window, sounding a
bell or running a custom command.
%package -n budgie-applet-dropby
Requires: budgie-extras-common
Summary: Applet to popup when a USB device is connected
Requires: budgie-extras-common
Summary: Applet to popup when a USB device is connected
%description -n budgie-applet-dropby
The DropBy applet pops up in the panel when connecting a usb device.
The applet subsequently offers the option(s) to mount, unmount/eject
@@ -125,29 +126,29 @@ and in case of a flash drive, to make a local copy of the drive's
content. The info shows the free space on the volume.
%package -n budgie-applet-fuzzyclock
Requires: budgie-extras-common
Summary: Shows the time in a Fuzzy Way
Requires: budgie-extras-common
Summary: Shows the time in a Fuzzy Way
%description -n budgie-applet-fuzzyclock
%{summary}
%package -n budgie-applet-hotcorners
Requires: budgie-extras-common
Summary: Applet providing hotcorners capabilities for the Budgie Desktop
Requires: budgie-extras-common
Summary: Applet providing hotcorners capabilities for the Budgie Desktop
%description -n budgie-applet-hotcorners
The hotcorners applet allow user defined commands to be executed
when the mouse cursor is pushed into a corner of the main desktop.
%package -n budgie-applet-kangaroo
Requires: budgie-extras-common
Summary: Applet to allow quick file-browsing
Requires: budgie-extras-common
Summary: Applet to allow quick file-browsing
%description -n budgie-applet-kangaroo
The kangaroo applet allows for quick & easy browsing, across
(possibly) many directory layers, without having to do a single mouse
click.
%package -n budgie-applet-keyboard-autoswitch
Requires: budgie-extras-common
Summary: Applet adding the ability to set a different keyboard layout per application
Requires: budgie-extras-common
Summary: Applet adding the ability to set a different keyboard layout per application
%description -n budgie-applet-keyboard-autoswitch
The Keyboard Auto Switcher applet provides the user the ability to set
a different keyboard layout per application. Exceptions to the default
@@ -155,51 +156,50 @@ layout can be set by simply choosing a different layout using the
Keyboard Layout applet.
%package -n budgie-applet-network-manager
Requires: budgie-extras-common
Summary: A fork of Wingpanel Network Indicator, ported to budgie desktop
Requires: budgie-extras-common
Summary: A fork of Wingpanel Network Indicator, ported to budgie desktop
%description -n budgie-applet-network-manager
%{summary}
%package -n budgie-applet-quickchar
Requires: budgie-extras-common
Requires: budgie-extras-daemon
Summary: A mini-app to quickly choose and insert equivalents of ascii characters
Requires: budgie-extras-common
Summary: A mini-app to quickly choose and insert equivalents of ascii characters
%description -n budgie-applet-quickchar
QuickChar is a mini-app to quickly choose and insert equivalents of ascii
characters. QuickChar is activated via the Budgie Menu.
%package -n budgie-applet-quicknote
Requires: budgie-extras-common
Summary: Applet providing simple notes capability for the Budgie Desktop
Requires: budgie-extras-common
Summary: Applet providing simple notes capability for the Budgie Desktop
%description -n budgie-applet-quicknote
The quicknote applet allows a user to record a text based note.
The applet supports multiple undo and redo capabilities.
%package -n budgie-applet-recentlyused
Requires: budgie-extras-common
Summary: Applet displays files recently accessed for the Budgie Desktop
Requires: budgie-extras-common
Summary: Applet displays files recently accessed for the Budgie Desktop
%description -n budgie-applet-recentlyused
The recentlyused applet displays the users files that have been opened
or created within a configurable period of time.
%package -n budgie-applet-rotation-lock
Requires: budgie-extras-common
Summary: Applet to lock or unlock the screen rotation
Requires: budgie-extras-common
Summary: Applet to lock or unlock the screen rotation
%description -n budgie-applet-rotation-lock
The Rotation Lock applet provides the user an easy way to lock or
unlock the screen rotation.
%package -n budgie-applet-showtime
Requires: budgie-extras-common
Summary: Applet displaying date and time on the Budgie Desktop
Requires: budgie-extras-common
Summary: Applet displaying date and time on the Budgie Desktop
%description -n budgie-applet-showtime
The ShowTime applet is a digital desktop clock, showing time and/or
date. Text color of both the displayed time and date can be set
separately from the applet's menu
%package -n budgie-applet-takeabreak
Requires: budgie-extras-common
Summary: A pomodoro-like applet, to make sure to take regular breaks from working
Requires: budgie-extras-common
Summary: A pomodoro-like applet, to make sure to take regular breaks from working
%description -n budgie-applet-takeabreak
Budgie TakeaBreak is a pomodoro- like applet, to make sure to take regular
breaks from working. Options from Budgie Settings include turning the screen
@@ -208,36 +208,35 @@ time. The applet can be accessed quickly from the panel to temporarily switch
it off.
%package -n budgie-applet-visualspace
Requires: budgie-extras-common
Summary: Shows the current workspace(s), as bullet(s)
Requires: budgie-extras-common
Summary: Shows the current workspace(s), as bullet(s)
%description -n budgie-applet-visualspace
Budgie VisualSpace shows the current workspace(s), as bullet(s). The applet
includes a menu to navigate to either one of the windows or their
corresponding workspace.
%package -n budgie-applet-wallstreet
Requires: budgie-extras-common
Summary: A mini-app to switch wallpapers on regular intervalls
Requires: budgie-extras-common
Summary: A mini-app to switch wallpapers on regular intervalls
%description -n budgie-applet-wallstreet
Budgie WallStreet is a mini-app to switch wallpapers on regular intervalls.
%package -n budgie-applet-weathershow
Requires: budgie-extras-common
Summary: Applet to display the weather and forecast
Requires: budgie-extras-common
Summary: Applet to display the weather and forecast
%description -n budgie-applet-weathershow
The weathershow applet displays daily and three hourly weather
forecasts on both the desktop and a Popover.
%package -n budgie-applet-window-shuffler
Requires: budgie-extras-common
Requires: budgie-extras-daemon
Summary: Budgie Window Shuffler
Requires: budgie-extras-common
Summary: Budgie Window Shuffler
%description -n budgie-applet-window-shuffler
%{summary}
%package -n budgie-applet-workspace-stopwatch
Requires: budgie-extras-common
Summary: An applet to keep track of usage per workspace
Requires: budgie-extras-common
Summary: An applet to keep track of usage per workspace
%description -n budgie-applet-workspace-stopwatch
Workspace Timer Applet is an applet to keep track of usage per workspace, e.g.
to find out how much minutes/hours were actually spent on a job. Workspaces can
@@ -247,16 +246,14 @@ onworkspace switch/clicking the icon for popup or else every 30 seconds. Time
during suspend is automatically retracted from a workspace' time.
%package -n budgie-applet-wpreviews
Requires: budgie-extras-common
Requires: budgie-extras-daemon
Requires: budgie-extras-common
Summary: Applet providing window previews capabilities for the Budgie Desktop
%description -n budgie-applet-wpreviews
The Previews applet shows an overview of windows in an expose like way.
%package -n budgie-applet-wswitcher
Requires: budgie-extras-common
Requires: budgie-extras-daemon
Summary: An applet to show a different wallpaper on each of the workspaces
Requires: budgie-extras-common
Summary: An applet to show a different wallpaper on each of the workspaces
%description -n budgie-applet-wswitcher
Budgie Wallpaper Workspace Switcher is an application (applet) to show a
different wallpaper on each of the workspaces. Usage is simple: add the applet
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "ctwm.spec"
}
}
-7
View File
@@ -1,7 +0,0 @@
[Desktop Entry]
Name=CTWM
Comment=Claude's Tab Window Manager
TryExec=ctwm
Exec=ctwm
Type=Xsession
Encoding=UTF-8
-55
View File
@@ -1,55 +0,0 @@
Summary: Lightweight window manager with virtual workspaces
Name: ctwm
Version: 4.1.0
Release: 1%?dist
URL: https://ctwm.org
BuildRequires: libjpeg-turbo-devel libX11-devel libXext-devel libXmu-devel libXpm-devel libXt-devel libXrandr-devel cmake gcc m4
Source0: https://www.ctwm.org/dist/%{name}-%{version}.tar.xz
Source1: %{name}.desktop
License: MIT
Requires: m4
# Derived from RPMSphere's packaging
%description
CTWM is a window manager based on TWM (with virtual workspaces added).
%prep
%setup -q
%build
%cmake
%cmake_build
%install
%cmake_install
%{__install} -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/xsessions/%{name}.desktop
%files
%doc README.md CHANGES.md
%license COPYRIGHT
%{_bindir}/%{name}
%{_mandir}/man1/%{name}*
%{_datadir}/xsessions/%{name}.desktop
%{_datadir}/ctwm
%{_datadir}/doc/ctwm/ctwm.1.html
%{_datadir}/examples/ctwm/system.ctwmrc
%changelog
* Tue Dec 17 2024 Owen Zimmerman <owen@fyralabs.com>
- Add .desktop and .rhai file, fix dependancies, and switch to .tar.xz source (smaller download)
* Thu Jun 27 2024 Jaiden Riordan <jade@fyralabs.com> - 4.1.0
- Rewrite for Terra, Thanks RPMSphere
* Tue Dec 24 2019 Wei-Lun Chao <bluebat@member.fsf.org> - 4.0.3
- Rebuilt for Fedora
* Sat Apr 9 2011 Agnelo de la Crotche <agnelo@unixversal.com>
- package for openSUSE 11.3/11.4
* Thu Feb 16 2006 Richard Levitte <richard@levitte.org>
- Release ctwm 3.8a.
* Wed May 4 2005 Rudolph T Maceyko <rm55@pobox.com>
- Tweaks. Added all .ctwmrc files as well as sound and VMS docs.
* Wed May 4 2005 Richard Levitte <richard@levitte.org>
- Changed some directory specifications to RedHat-ish standards.
* Tue May 3 2005 Richard Levitte <richard@levitte.org>
- Received the original from Johan Vromans. Adjusted it to become
an official .spec file.
-1
View File
@@ -1 +0,0 @@
rpm.version(find("<p>Current release: ([\\d.]+)</p>", get("https://www.ctwm.org/download.html"), 1));
@@ -0,0 +1,99 @@
diff --git a/src/Core/Package.vala b/src/Core/Package.vala
index 62d206fa..cbf05983 100644
--- a/src/Core/Package.vala
+++ b/src/Core/Package.vala
@@ -42,8 +42,29 @@ public enum RuntimeStatus {
}
public class AppCenterCore.Package : Object {
+ // locally installed packages
public const string APPCENTER_PACKAGE_ORIGIN = "appcenter";
- private const string ELEMENTARY_STABLE_PACKAGE_ORIGIN = "elementary-stable-jammy-main";
+
+ // Fedora repositories
+ private const string FEDORA_STABLE_PACKAGE_ORIGIN = "fedora";
+ private const string FEDORA_UPDATES_PACKAGE_ORIGIN = "updates";
+ private const string FEDORA_TESTING_PACKAGE_ORIGIN = "updates-testing";
+
+ // RPMFusion repositories
+ private const string RPMFUSION_FREE_STABLE_PACKAGE_ORIGIN = "rpmfusion-free";
+ private const string RPMFUSION_FREE_UPDATES_PACKAGE_ORIGIN = "rpmfusion-free-updates";
+ private const string RPMFUSION_FREE_TESTING_PACKAGE_ORIGIN = "rpmfusion-free-updates-testing";
+ private const string RPMFUSION_NONFREE_STABLE_PACKAGE_ORIGIN = "rpmfusion-nonfree";
+ private const string RPMFUSION_NONFREE_UPDATES_PACKAGE_ORIGIN = "rpmfusion-nonfree-updates";
+ private const string RPMFUSION_NONFREE_TESTING_PACKAGE_ORIGIN = "rpmfusion-nonfree-updates-testing";
+
+ // Ultramarine repositories
+ private const string ULTRAMARINE_PACKAGE_ORIGIN = "ultramarine";
+ private const string AKMODS_SECUREBOOT_PACKAGE_ORIGIN = "copr::egeretto:akmods-secureboot";
+ private const string KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN = "copr::egeretto:kmodtool-secureboot";
+
+ // Terra repositories
+ private const string TERRA_PACKAGE_ORIGIN = "terra";
public RuntimeStatus runtime_status { get; set; default = RuntimeStatus.UP_TO_DATE; }
@@ -216,8 +237,12 @@ public class AppCenterCore.Package : Object {
public bool is_native {
get {
switch (component.get_origin ()) {
- case APPCENTER_PACKAGE_ORIGIN:
- case ELEMENTARY_STABLE_PACKAGE_ORIGIN:
+ case FEDORA_STABLE_PACKAGE_ORIGIN:
+ case FEDORA_UPDATES_PACKAGE_ORIGIN:
+ case FEDORA_TESTING_PACKAGE_ORIGIN:
+ case ULTRAMARINE_PACKAGE_ORIGIN:
+ case AKMODS_SECUREBOOT_PACKAGE_ORIGIN:
+ case KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN:
return true;
default:
return false;
@@ -328,12 +353,33 @@ public class AppCenterCore.Package : Object {
owned get {
unowned string origin = component.get_origin ();
if (backend is PackageKitBackend) {
- if (origin == APPCENTER_PACKAGE_ORIGIN) {
- return _("AppCenter");
- } else if (origin == ELEMENTARY_STABLE_PACKAGE_ORIGIN) {
- return _("elementary Updates");
- } else if (origin.has_prefix ("ubuntu-")) {
- return _("Ubuntu (non-curated)");
+ switch (origin) {
+ case FEDORA_STABLE_PACKAGE_ORIGIN:
+ return "Fedora";
+ case FEDORA_UPDATES_PACKAGE_ORIGIN:
+ return "Fedora Updates";
+ case FEDORA_TESTING_PACKAGE_ORIGIN:
+ return "Fedora Updates (Testing)";
+ case RPMFUSION_FREE_STABLE_PACKAGE_ORIGIN:
+ return "RPMFusion";
+ case RPMFUSION_FREE_UPDATES_PACKAGE_ORIGIN:
+ return "RPMFusion Updates";
+ case RPMFUSION_FREE_TESTING_PACKAGE_ORIGIN:
+ return "RPMFusion Updates (Testing)";
+ case RPMFUSION_NONFREE_STABLE_PACKAGE_ORIGIN:
+ return "RPMFusion (Non-free Software)";
+ case RPMFUSION_NONFREE_UPDATES_PACKAGE_ORIGIN:
+ return "RPMFusion (Non-free Software) Updates";
+ case RPMFUSION_NONFREE_TESTING_PACKAGE_ORIGIN:
+ return "RPMFusion (Non-free Software) Updates (Testing)";
+ case ULTRAMARINE_PACKAGE_ORIGIN:
+ return "Ultramarine";
+ case AKMODS_SECUREBOOT_PACKAGE_ORIGIN:
+ return "Secureboot support for akmods";
+ case KMODTOOL_SECUREBOOT_PACKAGE_ORIGIN:
+ return "Secureboot support for kmodtool";
+ case TERRA_PACKAGE_ORIGIN:
+ return "Terra";
}
} else if (backend is FlatpakBackend) {
var fp_package = this as FlatpakPackage;
@@ -342,8 +388,6 @@ public class AppCenterCore.Package : Object {
}
return fp_package.remote_title;
- } else if (backend is UbuntuDriversBackend) {
- return _("Ubuntu Drivers");
}
return _("Unknown Origin (non-curated)");
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-appcenter.spec"
}
}
@@ -0,0 +1,10 @@
# false positives
addFilter("E: invalid-lc-messages-dir /usr/share/locale/bh*")
addFilter("E: invalid-lc-messages-dir /usr/share/locale/mo*")
# don't care about manpages
addFilter("W: no-manual-page-for-binary io.elementary.appcenter*")
# don't care about no documentation for sub-packages
addFilter("W: no-documentation*")
@@ -0,0 +1,315 @@
%global appname io.elementary.appcenter
Name: elementary-appcenter
Summary: Software Center from elementary
Version: 7.4.0
Release: 2%{?dist}
License: GPL-3.0
Provides: appcenter = %{version}-%{release}
Obsoletes: appcenter < 7.2.1-2
URL: https://github.com/elementary/appcenter
Source0: %url/archive/%{version}/appcenter-%{version}.tar.gz
Patch0: pr2099.patch
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala
BuildRequires: appstream-vala
BuildRequires: pkgconfig(appstream) >= 0.10.0
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(flatpak)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(granite) >= 6.0.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(packagekit-glib2)
BuildRequires: pkgconfig(polkit-gobject-1)
Requires: PackageKit
Requires: hicolor-icon-theme
%description
AppCenter is a native Gtk+ app store built on AppStream and Packagekit.
%package gnome-shell-search-provider
Summary: Software Center from elementary (gnome-shell search provider)
Provides: appcenter-gnome-shell-search-provider = %{version}-%{release}
Obsoletes: appcenter-gnome-shell-search-provider < 7.2.1-2
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: gnome-shell
Supplements: (%{name} and gnome-shell)
%description gnome-shell-search-provider
AppCenter is a native Gtk+ app store built on AppStream and Packagekit.
This package contains the gnome-shell search provider.
%prep
%autosetup -p1 -n appcenter-%version
%build
%meson -Dpayments=false -Dcurated=false -Dhide_upstream_distro_apps=false
%meson_build
%install
%meson_install
%find_lang %{appname}
# remove empty hidden apps file
rm -r %{buildroot}/%{_sysconfdir}/%{appname}/appcenter.hiddenapps
# create autostart entry symlink
mkdir -p %{buildroot}/%{_sysconfdir}/xdg/autostart/
ln -s %{_datadir}/applications/%{appname}-daemon.desktop \
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
%check
desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}*.desktop
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%files -f %{appname}.lang
%doc README.md
%license COPYING
%dir %{_sysconfdir}/%{appname}
%config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
%{_bindir}/%{appname}
%{_datadir}/applications/%{appname}*.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}{,-symbolic}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/polkit-1/actions/%{appname}.policy
%files gnome-shell-search-provider
%{_datadir}/gnome-shell/search-providers/%{appname}.search-provider.ini
%changelog
* Tue Jun 07 2022 Fabio Valentini <decathorpe@gmail.com> - 3.10.0-1
- Update to version 3.10.0.
* Tue Dec 14 2021 Fabio Valentini <decathorpe@gmail.com> - 3.9.1-1
- Update to version 3.9.1.
* Wed Nov 24 2021 Fabio Valentini <decathorpe@gmail.com> - 3.9.0-1
- Update to version 3.9.0.
* Sat Oct 30 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.2-1
- Update to version 3.8.2.
* Wed Oct 27 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.1-1
- Update to version 3.8.1.
* Tue Sep 28 2021 Fabio Valentini <decathorpe@gmail.com> - 3.8.0-1
- Update to version 3.8.0.
* Fri Sep 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-3
- Mark flatpak sources in the UI.
* Fri Sep 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-2
- Hard-code Fedora instead of ubuntu repository names.
* Tue Aug 31 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.1-1
- Update to version 3.7.1.
* Fri Aug 27 2021 Fabio Valentini <decathorpe@gmail.com> - 3.7.0-1
- Update to version 3.7.0.
* Tue Aug 17 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.3-1
- Update to version 3.6.3.
* Wed Aug 11 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.2-1
- Update to version 3.6.2.
* Thu Aug 05 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.1-1
- Update to version 3.6.1.
* Fri Jul 16 2021 Fabio Valentini <decathorpe@gmail.com> - 3.6.0-1
- Update to version 3.6.0.
* Fri Oct 09 2020 Fabio Valentini <decathorpe@gmail.com> - 3.5.1-1
- Update to version 3.5.1.
* Wed Oct 07 2020 Fabio Valentini <decathorpe@gmail.com> - 3.5.0-1
- Update to version 3.5.0.
* Fri Aug 07 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.2-1
- Update to version 3.4.2.
* Thu Jul 02 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.1-1
- Update to version 3.4.1.
* Thu May 28 2020 Fabio Valentini <decathorpe@gmail.com> - 3.4.0-1
- Update to version 3.4.0.
* Thu Apr 30 2020 Fabio Valentini <decathorpe@gmail.com> - 3.3.0-1
- Update to version 3.3.0.
* Thu Apr 09 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.4-1
- Update to version 3.2.4.
* Thu Apr 02 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.3-1
- Update to version 3.2.3.
* Mon Mar 23 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.2-1
- Update to version 3.2.2.
* Fri Feb 28 2020 Fabio Valentini <decathorpe@gmail.com> - 3.2.1-1
- Update to version 3.2.1.
* Fri Feb 15 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.1-1
- Update to version 3.1.1.
* Wed Jan 02 2019 Fabio Valentini <decathorpe@gmail.com> - 3.1.0-1
- Update to version 3.1.0.
- Remove empty blacklist file.
* Fri Nov 30 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0.1-2
- Drop elementaryOS blacklist in favor of the version shipped with appcenter.
* Thu Oct 25 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0.1-1
- Update to version 3.0.1.
* Tue Oct 16 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0-2
- Add missing autostart entry symlink for the daemon.
* Tue Oct 16 2018 Fabio Valentini <decathorpe@gmail.com> - 3.0-1
- Update to version 3.0.
- Add gnome-shell search provider sub-package.
- Explicitly disable payment system and curated applications.
- Update blacklist file to current version from elementaryOS.
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Jun 13 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.9-2
- Rebuild for granite5 soname bump.
* Thu Mar 08 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.9-1
- Update to version 0.2.9.
- Add patch to fix build with the newer vala and PackageKit on f28+.
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 26 2018 Fabio Valentini <decathorpe@gmail.com> - 0.2.8-1
- Update to version 0.2.8.
* Tue Nov 07 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.7-1
- Update to version 0.2.7.
* Fri Nov 03 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.6-2
- Rebuild for granite soname bump.
* Mon Sep 18 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.6-1
- Update to version 0.2.6.
* Sat Aug 05 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.5-1
- Update to version 0.2.5.
- Include fedora-specific blacklist adapted from elementaryOS.
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jul 04 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.4-1
- Update to version 0.2.4.
* Thu Jun 01 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.3-1
- Update to version 0.2.3.
* Mon May 22 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.2-1
- Update to version 0.2.2.
* Sat May 20 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2.1-1
- Update to version 0.2.1.
* Wed May 17 2017 Fabio Valentini <decathorpe@gmail.com> - 0.2-1
- Update to version 0.2.
* Thu Mar 16 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.4-1
- Update to version 0.1.4.
- Depend on generic icon again, since it _should_ work.
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-7
- Add patch to rename generic icon to something branded.
* Wed Jan 25 2017 Fabio Valentini <decathorpe@gmail.com>
- Remove explicit BR: /usr/bin/pkgconfig.
* Mon Jan 23 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-6
- Explicitly depend on /usr/bin/pkg-config.
* Mon Jan 23 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-5
- Add missing scriptlets.
* Sat Jan 21 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-4
- Include icon to fix appdata metadata generation.
* Tue Jan 10 2017 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-3
- Clean up spec file.
* Sat Dec 24 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-2
- Enable libunity support.
* Mon Dec 05 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.3-1
- Update to version 0.1.3.
* Sun Nov 20 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.2-2
- Build out of tree.
* Sat Oct 29 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.2-1
- Update to version 0.1.2.
* Fri Oct 07 2016 Neal Gompa <ngompa13@gmail.com> - 0.1.1-4
- Add patch to support AppStream 0.10.0 in F25 (LP#1626398)
* Thu Sep 29 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-3
- Mass rebuild.
* Wed Sep 28 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-2
- Spec file cleanups.
* Tue Sep 27 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1.1-1
- Update to version 0.1.1.
* Sat Sep 17 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1-2
- Require PackageKit.
* Thu Aug 18 2016 Fabio Valentini <decathorpe@gmail.com> - 0.1-1
- Update to version 0.1.
@@ -0,0 +1,311 @@
commit fce55d9373bfb82953191b32e276a2129ffcb8c1
Author: Marius Meisenzahl <meisenzahl@users.noreply.github.com>
Date: Wed Feb 7 00:14:43 2024 +0100
Add support for AppStream 1.0 (#2099)
diff --git a/src/Core/FlatpakBackend.vala b/src/Core/FlatpakBackend.vala
index 98931505..10f2baab 100644
--- a/src/Core/FlatpakBackend.vala
+++ b/src/Core/FlatpakBackend.vala
@@ -400,8 +400,13 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
var category_array = new GLib.GenericArray<AppStream.Category> ();
category_array.add (category);
+#if HAS_APPSTREAM_1_0
+ AppStream.utils_sort_components_into_categories (user_appstream_pool.get_components ().as_array (), category_array, false);
+ AppStream.utils_sort_components_into_categories (system_appstream_pool.get_components ().as_array (), category_array, false);
+#else
AppStream.utils_sort_components_into_categories (user_appstream_pool.get_components (), category_array, false);
AppStream.utils_sort_components_into_categories (system_appstream_pool.get_components (), category_array, false);
+#endif
components = category.get_components ();
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
@@ -417,13 +422,21 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
var comps = user_appstream_pool.search (query);
if (category == null) {
+#if HAS_APPSTREAM_1_0
+ comps.as_array ().foreach ((comp) => {
+#else
comps.foreach ((comp) => {
+#endif
var packages = get_packages_for_component_id (comp.get_id ());
apps.add_all (packages);
});
} else {
var cat_packages = get_applications_for_category (category);
+#if HAS_APPSTREAM_1_0
+ comps.as_array ().foreach ((comp) => {
+#else
comps.foreach ((comp) => {
+#endif
var packages = get_packages_for_component_id (comp.get_id ());
foreach (var package in packages) {
if (package in cat_packages) {
@@ -435,13 +448,21 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
comps = system_appstream_pool.search (query);
if (category == null) {
+#if HAS_APPSTREAM_1_0
+ comps.as_array ().foreach ((comp) => {
+#else
comps.foreach ((comp) => {
+#endif
var packages = get_packages_for_component_id (comp.get_id ());
apps.add_all (packages);
});
} else {
var cat_packages = get_applications_for_category (category);
+#if HAS_APPSTREAM_1_0
+ comps.as_array ().foreach ((comp) => {
+#else
comps.foreach ((comp) => {
+#endif
var packages = get_packages_for_component_id (comp.get_id ());
foreach (var package in packages) {
if (package in cat_packages) {
@@ -510,7 +531,11 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
continue;
}
+#if HAS_APPSTREAM_1_0
+ if (package.component.get_developer ().get_name () == author) {
+#else
if (package.component.developer_name == author) {
+#endif
package_ids.add (package.component.id);
AppCenterCore.Package? user_package = null;
@@ -1095,7 +1120,11 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
warning ("Errors found in flatpak appdata, some components may be incomplete/missing: %s", e.message);
} finally {
var comp_validator = ComponentValidator.get_default ();
+#if HAS_APPSTREAM_1_0
+ user_appstream_pool.get_components ().as_array ().foreach ((comp) => {
+#else
user_appstream_pool.get_components ().foreach ((comp) => {
+#endif
if (!comp_validator.validate (comp)) {
return;
}
@@ -1133,7 +1162,11 @@ public class AppCenterCore.FlatpakBackend : Backend, Object {
warning ("Errors found in flatpak appdata, some components may be incomplete/missing: %s", e.message);
} finally {
var comp_validator = ComponentValidator.get_default ();
+#if HAS_APPSTREAM_1_0
+ system_appstream_pool.get_components ().as_array ().foreach ((comp) => {
+#else
system_appstream_pool.get_components ().foreach ((comp) => {
+#endif
if (!comp_validator.validate (comp)) {
return;
}
diff --git a/src/Core/Package.vala b/src/Core/Package.vala
index 0f9a90c4..ed141292 100644
--- a/src/Core/Package.vala
+++ b/src/Core/Package.vala
@@ -306,7 +306,11 @@ public class AppCenterCore.Package : Object {
return _author;
}
+#if HAS_APPSTREAM_1_0
+ _author = component.get_developer ().get_name ();
+#else
_author = component.developer_name;
+#endif
if (_author == null) {
var project_group = component.project_group;
@@ -677,7 +681,11 @@ public class AppCenterCore.Package : Object {
}
try {
+#if HAS_APPSTREAM_1_0
+ description = AppStream.markup_convert (description, TEXT);
+#else
description = AppStream.markup_convert_simple (description);
+#endif
} catch (Error e) {
warning ("Failed to convert description to markup: %s", e.message);
}
@@ -919,7 +927,11 @@ public class AppCenterCore.Package : Object {
}
public AppStream.Release? get_newest_release () {
+#if HAS_APPSTREAM_1_0
+ var releases = component.get_releases_plain ().get_entries ();
+#else
var releases = component.get_releases ();
+#endif
releases.sort_with_data ((a, b) => {
if (a.get_version () == null || b.get_version () == null) {
if (a.get_version () != null) {
diff --git a/src/Core/PackageKitBackend.vala b/src/Core/PackageKitBackend.vala
index 09da4074..a108831e 100644
--- a/src/Core/PackageKitBackend.vala
+++ b/src/Core/PackageKitBackend.vala
@@ -275,7 +275,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
} finally {
var new_package_list = new Gee.HashMap<string, Package> ();
var comp_validator = ComponentValidator.get_default ();
+#if HAS_APPSTREAM_1_0
+ appstream_pool.get_components ().as_array ().foreach ((comp) => {
+#else
appstream_pool.get_components ().foreach ((comp) => {
+#endif
if (!comp_validator.validate (comp)) {
return;
}
@@ -317,7 +321,12 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
component.set_id (id);
component.set_origin (Package.APPCENTER_PACKAGE_ORIGIN);
-#if HAS_APPSTREAM_0_15
+#if HAS_APPSTREAM_1_0
+ var components = new AppStream.ComponentBox (AppStream.ComponentBoxFlags.NONE);
+ components.add (component);
+
+ appstream_pool.add_components (components);
+#elif HAS_APPSTREAM_0_15
var components = new GenericArray<AppStream.Component> ();
components.add (component);
@@ -430,7 +439,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
break;
}
+#if HAS_APPSTREAM_1_0
+ if (package.component.get_developer ().get_name () == author) {
+#else
if (package.component.developer_name == author) {
+#endif
packages.add (package);
}
}
@@ -447,7 +460,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
var category_array = new GLib.GenericArray<AppStream.Category> ();
category_array.add (category);
+#if HAS_APPSTREAM_1_0
+ AppStream.utils_sort_components_into_categories (appstream_pool.get_components ().as_array (), category_array, true);
+#else
AppStream.utils_sort_components_into_categories (appstream_pool.get_components (), category_array, true);
+#endif
components = category.get_components ();
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
@@ -465,7 +482,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
var apps = new Gee.TreeSet<AppCenterCore.Package> ();
var comps = appstream_pool.search (query);
if (category == null) {
+#if HAS_APPSTREAM_1_0
+ comps.as_array ().foreach ((comp) => {
+#else
comps.foreach ((comp) => {
+#endif
var package = get_package_for_component_id (comp.get_id ());
if (package != null) {
apps.add (package);
@@ -473,7 +494,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object {
});
} else {
var cat_packages = get_applications_for_category (category);
+#if HAS_APPSTREAM_1_0
+ comps.as_array ().foreach ((comp) => {
+#else
comps.foreach ((comp) => {
+#endif
var package = get_package_for_component_id (comp.get_id ());
if (package != null && package in cat_packages) {
apps.add (package);
diff --git a/src/Views/AppInfoView.vala b/src/Views/AppInfoView.vala
index 5a3a361a..bef37f0e 100644
--- a/src/Views/AppInfoView.vala
+++ b/src/Views/AppInfoView.vala
@@ -310,8 +310,16 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
oars_flowbox.add (uncurated);
}
#endif
+
+#if HAS_APPSTREAM_1_0
+ var active_locale = "en-US";
+ if (package_component.get_context () != null) {
+ active_locale = package_component.get_context ().get_locale () ?? "en-US";
+ }
+#else
var active_locale = package_component.get_active_locale ();
- if (active_locale != "en_US") {
+#endif
+ if (active_locale != "en_US" && active_locale != "en-US") {
var percent_translated = package_component.get_language (
// Expects language without locale
active_locale.split ("_")[0]
@@ -492,7 +500,11 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
}
}
+#if HAS_APPSTREAM_1_0
+ screenshots = package_component.get_screenshots_all ();
+#else
screenshots = package_component.get_screenshots ();
+#endif
if (screenshots.length > 0) {
screenshot_carousel = new Hdy.Carousel () {
@@ -1030,7 +1042,11 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
get_app_download_size.begin ();
Idle.add (() => {
+#if HAS_APPSTREAM_1_0
+ var releases = package.component.get_releases_plain ().get_entries ();
+#else
var releases = package.component.get_releases ();
+#endif
foreach (unowned var release in releases) {
if (release.get_version () == null) {
@@ -1049,7 +1065,11 @@ public class AppCenter.Views.AppInfoView : AppCenter.AbstractAppContainer {
release_carousel.add (release_row);
+#if HAS_APPSTREAM_1_0
+ if (package.installed && AppStream.vercmp_simple (release.get_version (), package.get_version ()) <= 0) {
+#else
if (package.installed && AppStream.utils_compare_versions (release.get_version (), package.get_version ()) <= 0) {
+#endif
break;
}
}
diff --git a/src/Widgets/ReleaseRow.vala b/src/Widgets/ReleaseRow.vala
index 3b487914..36fcbc76 100644
--- a/src/Widgets/ReleaseRow.vala
+++ b/src/Widgets/ReleaseRow.vala
@@ -116,7 +116,11 @@ public class AppCenter.Widgets.ReleaseRow : Gtk.Box {
private string format_release_description (string? description ) {
if (description != null) {
try {
+#if HAS_APPSTREAM_1_0
+ var markup = AppStream.markup_convert (description, TEXT);
+#else
var markup = AppStream.markup_convert_simple (description);
+#endif
if (markup.strip () != "") {
return markup;
diff --git a/src/meson.build b/src/meson.build
index d3d558ef..df69a0bf 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -78,6 +78,10 @@ if appstream.version().version_compare('>=0.16')
args += '--define=HAS_APPSTREAM_0_16'
endif
+if appstream.version().version_compare('>=1.0')
+ args += '--define=HAS_APPSTREAM_1_0'
+endif
+
if get_option('packagekit_backend')
appcenter_files += files(
'Core/PackageKitBackend.vala',
@@ -0,0 +1 @@
rpm.version(gh("elementary/appcenter"));
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "contractor.spec"
}
}
@@ -0,0 +1,58 @@
Name: contractor
Version: 0.3.5
Release: 1%{?dist}
Summary: Desktop-wide extension service
License: GPL-3.0-or-later
URL: https://github.com/elementary/contractor
Source0: %{url}/archive/%{version}/contractor-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: vala
BuildRequires: meson
# data/meson.build
BuildRequires: pkgconfig(dbus-1)
# src/meson.build
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0)
# For %%{_datadir}/dbus-1/services/ directory:
Requires: dbus-common
%description
An extension service that allows apps to use the exposed functionality
of registered apps. This way, apps don't have to have the functions hard
coded into them.
%prep
%autosetup
%build
%meson
%meson_build
%install
%meson_install
# Create the the directory where other programs put their contracts
mkdir -p %{buildroot}/%{_datadir}/contractor
%files
%doc README.md
%license COPYING
%{_bindir}/contractor
%dir %{_datadir}/contractor
%{_datadir}/dbus-1/services/org.elementary.contractor.service
%changelog
%autochangelog
@@ -0,0 +1 @@
rpm.version(gh("elementary/contractor"))

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