Compare commits

..

1 Commits

Author SHA1 Message Date
Cappy Ishihara bbd9846e43 remove mesa for now 2024-07-20 13:22:23 +07:00
553 changed files with 9365 additions and 9760 deletions
+6 -18
View File
@@ -51,27 +51,15 @@ 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
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
@@ -94,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'
@@ -102,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}} ${{github.sha}}
- name: Notify Madoguchi (Failure)
if: ( cancelled() || failure() ) && github.event_name == 'push'
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
+9 -13
View File
@@ -56,22 +56,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 +100,7 @@ jobs:
- name: Notify Madoguchi (Success)
if: success()
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
- name: Notify Madoguchi (Failure)
if: cancelled() || failure()
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
+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}} ${{github.sha}}
- name: Notify Madoguchi (Failure)
if: cancelled() || failure()
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
run: ./.github/workflows/mg.sh false ${{matrix.pkg.pkg}} ${{matrix.version}} ${{matrix.pkg.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} ${{github.sha}}
+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,\"commit\":\"%6\"}"
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
-52
View File
@@ -1,52 +0,0 @@
name: Update per branch
on:
schedule:
- cron: "*/30 * * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
strategy:
matrix:
branch:
- frawhide
- f39
- f40
- f41
- el9
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: anda update -vv --filters updbranch=1 --labels branch=${{ matrix.branch }}
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
View File
@@ -48,6 +48,5 @@ jobs:
}
copy_over f39 || true
copy_over f40 || true
copy_over f41 || true
git push -u origin --all
fi
+1 -2
View File
@@ -25,7 +25,7 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: anda update -vv --excludes nightly=1 --excludes updbranch=1
run: anda update -vv
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
RUST_BACKTRACE: full
@@ -49,6 +49,5 @@ jobs:
}
copy_over f39 || true
copy_over f40 || true
copy_over f41 || true
git push -u origin --all
fi
-1
View File
@@ -1,2 +1 @@
anda-build/
**/*.tar*
+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)
+3 -18
View File
@@ -7,31 +7,16 @@
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 --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' --setopt='terra.gpgkey=https://repos.fyralabs.com/terra$releasever/key.asc' terra-release
```
If you are using immutable/atomic editions of Fedora, run the following commands instead:
```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
```
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!
+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.2
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.507
Version: 0.0.454
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -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.507
Version: 0.0.454
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.72
Version: 0.0.60
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -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.112
Version: 0.0.95
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -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.112
Version: 0.0.95
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.72
Version: 0.0.60
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
}
}
+6 -8
View File
@@ -1,5 +1,5 @@
%global commit c40a4ad05a8e6ea99eed4a7d7d2098a08686e065
%global commit_date 20241021
%global commit 6cf5e40b96d1cbd99a3cfcef1f03899356e79448
%global commit_date 20240703
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision
@@ -17,11 +17,9 @@ 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: 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.11.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"
}
}
@@ -1,12 +0,0 @@
diff --git a/meson.build b/meson.build
index 4784ac2..2348b13 100644
--- a/meson.build
+++ b/meson.build
@@ -13,4 +13,5 @@ executable(
dependency('cairomm-1.0'),
dependency('freetype2'),
],
-)
\ No newline at end of file
+ install: true
+)
-47
View File
@@ -1,47 +0,0 @@
%global commit dc5cd1490235f8c19424b3345a89727199c86df3
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20241003
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
Patch0: fontviewer-meson.patch
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
install -m 0755 -vd %{buildroot}%{_datadir}/applications
install -m 0644 -vp data/%{name}.desktop %{buildroot}%{_datadir}/applications/
%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());
}
+2 -2
View File
@@ -5,9 +5,9 @@
%global pure_protobuf_version 2.0.0
Name: komikku
Version: 1.60.0
Version: 1.51.1
%forgemeta
Release: 1%?dist
Release: %autorelease
Summary: A manga reader for GNOME
BuildArch: noarch
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "legcord-bin.spec"
}
}
-85
View File
@@ -1,85 +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/.*\\.so
Name: legcord-bin
Version: 1.0.2
Release: 2%?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: electron xdg-utils
BuildRequires: unzip
ExclusiveArch: x86_64 aarch64 armv7l
Conflicts: legcord
BuildRequires: add-determinism
%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
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/
%files
%doc README.md
%_datadir/legcord
%_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"));
-75
View File
@@ -1,75 +0,0 @@
%define debug_package %nil
Name: legcord
Version: 1.0.2
Release: 2%?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
BuildRequires: git-core add-determinism pnpm
Provides: armcord
Obsoletes: armcord
Conflicts: legcord-bin
BuildArch: noarch
%description
legcord 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 > 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
%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
%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 -3
View File
@@ -1,7 +1,7 @@
%global commit 165159fdef3b38411627d875679323812276d819
%global commit e509ec0aaffce74e520702e16e3e21ea0f168940
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20241023
%global ver 0.39.0
%global commit_date 20240720
%global ver v0.38.0
Name: mpv-nightly
Version: %ver^%commit_date.%shortcommit
@@ -182,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"
}
}
-55
View File
@@ -1,55 +0,0 @@
%global ver 2024-10-23
%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
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
%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();
}
@@ -13,8 +13,8 @@
%global crate sccache
Name: rust-sccache
Version: 0.8.2
Release: 1%?dist
Version: 0.8.1
Release: %autorelease
Summary: Ccache-like tool
License: Apache-2.0
@@ -23,13 +23,14 @@ Source: %{crates_source}
# Automatically generated patch to strip dependencies and normalize metadata
Patch: sccache-fix-metadata-auto.diff
ExclusiveArch: %{rust_arches}
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: anda-srpm-macros
BuildRequires: openssl-devel
BuildRequires: gcc
BuildRequires: perl
BuildRequires: rust-packaging
BuildRequires: mold
%global _description %{expand:
Sccache is a ccache-like tool. It is used as a compiler wrapper and
@@ -47,7 +48,6 @@ License: MIT
%files -n %{crate}
%license LICENSE
#license LICENSE.dependencies
%doc CODE_OF_CONDUCT.md
%doc README.md
%{_bindir}/sccache
@@ -68,9 +68,6 @@ This package contains library source intended for building other packages which
use the "%{crate}" crate.
%files devel
%license %{crate_instdir}/LICENSE
%doc %{crate_instdir}/CODE_OF_CONDUCT.md
%doc %{crate_instdir}/README.md
%{crate_instdir}/
%package -n %{name}+default-devel
@@ -474,7 +471,6 @@ use the "webdav" feature of the "%{crate}" crate.
%endif
%install
rm -rf .git || true
%if %{with dist_server}
%cargo_install -f dist-server
%else
@@ -0,0 +1,16 @@
--- sccache-0.8.1/Cargo.toml 1970-01-01T00:00:01+00:00
+++ sccache-0.8.1/Cargo.toml 2024-07-10T16:31:31.705674+00:00
@@ -403,13 +403,3 @@
[target."cfg(unix)".dependencies.daemonize]
version = "0.5"
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3"
-features = [
- "fileapi",
- "handleapi",
- "stringapiset",
- "winnls",
- "processenv",
- "std",
-]
+3 -11
View File
@@ -1,27 +1,19 @@
%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 w0.gzdio
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: voicevox
Version: 0.21.0
Release: 1%?dist
Version: 0.19.2
Release: 4%?dist
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
URL: https://voicevox.hiroshiba.jp
Source0: https://github.com/VOICEVOX/voicevox/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
@@ -36,7 +28,7 @@ Summary: Documentation files for voicevox (Japanese)
%prep
cat<<EOF > voicevox.sh
#!/usr/bin/sh
#!/bin/sh
/usr/share/voicevox/VOICEVOX.AppImage
EOF
7z x %SOURCE0
-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
@@ -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"))
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-calculator.spec"
}
}
@@ -0,0 +1,74 @@
%global srcname calculator
%global appname io.elementary.calculator
Name: elementary-calculator
Summary: Calculator app designed for elementary
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
URL: https://github.com/elementary/%{srcname}
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson >= 0.49
BuildRequires: vala
BuildRequires: pkgconfig(granite-7) >= 7.0.0
BuildRequires: pkgconfig(gtk4)
BuildRequires: fdupes
Requires: hicolor-icon-theme
Provides: pantheon-calculator = %{version}-%{release}
Obsoletes: pantheon-calculator < 0.1.3-5
%description
A simple calculator for everyday use.
It supports basic and some scientific calculations, including trigonometry
functions (sin, cos, and tan).
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot/%_datadir/icons/hicolor
%check
desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%files -f %{appname}.lang
%license COPYING
%doc README.md
%{_bindir}/%{appname}
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%changelog
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com> - 1.7.2-1
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/calculator"));
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-calendar.spec"
}
}
@@ -0,0 +1,109 @@
%global srcname calendar
%global appname io.elementary.calendar
%global __provides_exclude_from ^%{_libdir}/%{appname}/.*\\.so$
Name: elementary-calendar
Summary: Desktop calendar app designed for elementary
Version: 7.0.0
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://github.com/elementary/calendar
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: pkgconfig(champlain-0.12)
BuildRequires: pkgconfig(libecal-2.0)
BuildRequires: pkgconfig(granite)
BuildRequires: pkgconfig(libhandy-1)
# BuildRequires: pkgconfig(libportal)
BuildRequires: pkgconfig(libportal-gtk3)
BuildRequires: folks-devel
BuildRequires: libgee-devel
BuildRequires: pkgconfig(geocode-glib-2.0)
BuildRequires: geoclue2-devel
BuildRequires: glib2-devel
BuildRequires: gtk+-devel
BuildRequires: libical
BuildRequires: libhandy >= 0.90.0
BuildRequires: meson
BuildRequires: vala
BuildRequires: evolution-data-server-devel
BuildRequires: fdupes
Requires: hicolor-icon-theme
%description
A slim, lightweight calendar app that syncs and manages multiple
calendars in one place, like Google Calendar, Outlook and CalDAV.
%package devel
Summary: The official elementary calendar (devel files)
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
A slim, lightweight calendar app that syncs and manages multiple
calendars in one place, like Google Calendar, Outlook and CalDAV.
This package contains the development files.
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot/%_datadir/icons/hicolor
%check
%dnl desktop-file-validate %{buildroot}/%{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{appname}.desktop
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%files -f %{appname}.lang
%doc README.md
%license COPYING
%dnl %config(noreplace) %{_sysconfdir}/xdg/autostart/%{appname}-daemon.desktop
%{_bindir}/%{appname}
%{_libdir}/lib%{name}.so.0*
%{_libdir}/%{appname}/
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%files devel
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/vala/vapi/%{name}.deps
%{_datadir}/vala/vapi/%{name}.vapi
%changelog
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 6.1.2-1
- new version
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/calendar"));
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-camera.spec"
}
}
@@ -0,0 +1,79 @@
%global srcname camera
%global appname io.elementary.camera
Name: elementary-camera
Summary: Camera app designed for elementary
Version: 6.2.2
Release: 2%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/camera
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson >= 0.46
BuildRequires: vala
BuildRequires: fdupes
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(granite) >= 6.0.0
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libhandy-1) >= 0.90.0
Requires: hicolor-icon-theme
%description
Camera is a simple app to take photos with a webcam.
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot/%_datadir/icons/hicolor
%check
desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%files -f %{appname}.lang
%license COPYING
%doc README.md
%{_bindir}/%{appname}
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%changelog
* Tue Dec 06 2022 root - 6.2.1-1
- new version
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/camera"));
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-capnet-assist.spec"
}
}
@@ -0,0 +1,86 @@
%global srcname capnet-assist
%global appname io.elementary.%{srcname}
Name: elementary-capnet-assist
Summary: Captive Portal Assistant for elementary
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
URL: https://github.com/elementary/capnet-assist
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala
BuildRequires: pkgconfig(gcr-3)
BuildRequires: pkgconfig(gcr-ui-3)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(granite-7)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libhandy-1) >= 1.0.0
BuildRequires: pkgconfig(webkit2gtk-4.1)
BuildRequires: pkgconfig(gcr-4)
BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: pkgconfig(webkitgtk-6.0)
BuildRequires: fdupes
Requires: NetworkManager
Requires: hicolor-icon-theme
%description
Assists users in connective to Captive Portals such as those found on
public access points in train stations, coffee shops, universities,
etc.
Upon detection, the assistant appears showing the captive portal. Once
a connection is known to have been established, it dismisses itself.
Written in Vala and using WebkitGtk+.
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot%_datadir/icons/hicolor/
%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
%{_bindir}/%{appname}
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%changelog
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com> - 2.4.2-1
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/capnet-assist"));
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-code.spec"
}
}
@@ -0,0 +1,107 @@
%global srcname code
%global appname io.elementary.code
%global __provides_exclude_from ^%{_libdir}/%{appname}/.*\\.so$
Name: elementary-code
Summary: Code editor from elementary
Version: 7.2.0
Release: 1%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/%{srcname}
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala
BuildRequires: polkit-devel
# keep in sync with the available version of vala
BuildRequires: pkgconfig(libvala-0.56)
BuildRequires: pkgconfig(editorconfig)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gee-0.8) >= 0.8.5
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.20
BuildRequires: pkgconfig(glib-2.0) >= 2.30.0
BuildRequires: pkgconfig(granite) >= 6.0.0
BuildRequires: pkgconfig(gtksourceview-4)
BuildRequires: pkgconfig(gtkspell3-3.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.6.0
BuildRequires: pkgconfig(libgit2-glib-1.0)
BuildRequires: pkgconfig(libhandy-1) >= 0.90.0
BuildRequires: pkgconfig(libpeas-1.0)
BuildRequires: pkgconfig(libpeas-gtk-1.0)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(pangoft2)
BuildRequires: pkgconfig(vte-2.91)
BuildRequires: fdupes
Requires: hicolor-icon-theme
%description
%{summary}.
%package devel
Summary: The text editor that works (development files)
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
%{summary}.
This package contains the development headers.
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot%_datadir/icons/hicolor/
%files -f %{appname}.lang
%doc README.md
%license COPYING
%{_bindir}/%{appname}
%{_libdir}/%{appname}/
%{_libdir}/libcodecore.so.0
%{_libdir}/libcodecore.so.0.0
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}*.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/%{appname}/
%{_datadir}/gtksourceview-4/styles/elementary-dark.xml
%{_datadir}/gtksourceview-4/styles/elementary-light.xml
%{_datadir}/metainfo/io.elementary.code.metainfo.xml
%{_datadir}/polkit-1/actions/%{appname}.policy
%{_mandir}/man1/%{appname}.1.gz
%files devel
%{_includedir}/codecore.h
%{_libdir}/libcodecore.so
%{_libdir}/pkgconfig/codecore.pc
%{_datadir}/vala/vapi/codecore.deps
%{_datadir}/vala/vapi/codecore.vapi
%changelog
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com> - 6.2.0-1
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/code"));
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-files.spec"
}
}
@@ -0,0 +1,153 @@
%global srcname files
%global appname io.elementary.files
%global __provides_exclude_from ^%{_libdir}/%{appname}/.*\\.so$
Name: elementary-files
Summary: File manager from elementary
Version: 6.5.3
Release: 1%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/%{srcname}
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
# contracts for compressing/uncompressing files with file-roller
Source1: file-roller-compress.contract
Source2: file-roller-extract-here.contract
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson >= 0.50.0
BuildRequires: vala >= 0.48.2
BuildRequires: fdupes
BuildRequires: pkgconfig(cloudproviders) >= 0.3.0
BuildRequires: pkgconfig(gdk-x11-3.0)
BuildRequires: pkgconfig(gdk-wayland-3.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0) >= 2.40
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.40
BuildRequires: pkgconfig(glib-2.0) >= 2.40
BuildRequires: pkgconfig(gmodule-2.0) >= 2.40
BuildRequires: pkgconfig(gobject-2.0) >= 2.40
BuildRequires: pkgconfig(granite) >= 6.1.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.25
BuildRequires: pkgconfig(libcanberra) >= 0.30
BuildRequires: pkgconfig(libgit2-glib-1.0)
BuildRequires: pkgconfig(libhandy-1) >= 0.83.0
BuildRequires: pkgconfig(libnotify) >= 0.7.2
BuildRequires: pkgconfig(pango) >= 1.1.2
BuildRequires: pkgconfig(plank) >= 0.10.9
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(systemd) >= 206
Requires: contractor
Requires: file-roller
%description
The simple, powerful, and sexy file manager from elementary.
%package portal
Summary: File manager from elementary (flatpak file chooser portal)
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: xdg-desktop-portal
%description portal
The simple, powerful, and sexy file manager from elementary.
This package contains a file chooser portal implementation for flatpak.
%package devel
Summary: File manager from elementary (development headers)
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The simple, powerful, and sexy file manager from elementary.
This package contains the development headers.
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
%meson -Dwith-zeitgeist=disabled
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot%_datadir/icons/hicolor/
# remove unused pixmaps
rm -r %{buildroot}/%{_datadir}/pixmaps
# install file-roller contracts
mkdir -p %{buildroot}/%{_datadir}/contractor
cp -pav %{SOURCE1} %{buildroot}/%{_datadir}/contractor/
cp -pav %{SOURCE2} %{buildroot}/%{_datadir}/contractor/
%check
desktop-file-validate \
%{buildroot}/%{_datadir}/applications/%{appname}.desktop
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%post portal
%systemd_user_post %{appname}.xdg-desktop-portal.service
%preun portal
%systemd_user_preun %{appname}.xdg-desktop-portal.service
%files -f %{appname}.lang
%doc AUTHORS README.md
%license COPYING
%{_bindir}/%{appname}
%{_bindir}/%{appname}-daemon
%{_bindir}/%{appname}-pkexec
%{_libdir}/%{appname}/
%{_libdir}/libpantheon-files-core.so.6*
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/contractor/*.contract
%{_datadir}/dbus-1/services/%{appname}.service
%{_datadir}/dbus-1/services/%{appname}.Filemanager1.service
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/polkit-1/actions/%{appname}.policy
%files portal
%{_libexecdir}/%{appname}.xdg-desktop-portal
%{_userunitdir}/%{appname}.xdg-desktop-portal.service
%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.elementary.files.service
%{_datadir}/xdg-desktop-portal/portals/io.elementary.files.portal
%files devel
%{_includedir}/pantheon-files-core/
%{_libdir}/libpantheon-files-core.so
%{_libdir}/pkgconfig/pantheon-files-core.pc
%{_datadir}/vala/vapi/pantheon-files-core.vapi
%changelog
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 6.2.1-1
- new version
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Repackaged for Terra
@@ -0,0 +1,7 @@
[Contractor Entry]
Name=Compress
Icon=add-files-to-archive
Description=Create a compressed archive with the selected objects
MimeType=!archive;inode/blockdevice;inode/chardevice;inode/fifo;inode/socket;
Exec=file-roller --add %U
Gettext-Domain=file-roller
@@ -0,0 +1,7 @@
[Contractor Entry]
Name=Extract Here
Icon=extract-archive
Description=Extract the contents of the archives in the archive folder and quit the program
MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;
Exec=file-roller --extract-here %U
Gettext-Domain=file-roller
@@ -0,0 +1 @@
rpm.version(gh("elementary/files"));
@@ -0,0 +1,3 @@
[Seat:*]
greeter-session=io.elementary.greeter
user-session=pantheon
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-greeter.spec"
}
}
@@ -0,0 +1,114 @@
%global srcname greeter
%global appname io.elementary.greeter
Name: elementary-greeter
Summary: LightDM Login Screen for the elementary desktop
Version: 7.0.0
Release: 1%{?dist}
License: GPL-3.0
URL: https://github.com/elementary/greeter
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
Source1: 40-%{appname}.conf
Patch0: https://github.com/elementary/greeter/compare/7.0.0..42320c266395606b0c20782603e7407124c3f7a4.patch
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libappstream-glib
BuildRequires: meson
BuildRequires: vala
BuildRequires: fdupes
BuildRequires: mesa-libEGL-devel
BuildRequires: pkgconfig(accountsservice)
BuildRequires: pkgconfig(clutter-gtk-1.0)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gdk-x11-3.0)
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: pkgconfig(granite) >= 5.0
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libhandy-1)
BuildRequires: pkgconfig(liblightdm-gobject-1)
BuildRequires: pkgconfig(mutter-clutter-14)
BuildRequires: pkgconfig(mutter-cogl-14)
BuildRequires: pkgconfig(mutter-cogl-pango-14)
BuildRequires: pkgconfig(x11)
Provides: pantheon-greeter = %{version}-%{release}
Obsoletes: pantheon-greeter < 3.2.0-7
Requires: lightdm%{?_isa}
Requires: wingpanel%{?_isa}
# runtime requirement for numlock capture
Requires: numlockx
# requirements for default artwork
Requires: elementary-icon-theme
Requires: elementary-theme-gtk3
Requires: elementary-wallpapers
# requirements for accountsservice extension
Requires: pantheon-session-settings >= 30.90
# all LightDM greeters provide this
Provides: lightdm-greeter = 1.2
# alternate descriptive names
Provides: lightdm-%{name} = %{version}-%{release}
Provides: lightdm-%{name}%{?_isa} = %{version}-%{release}
%description
The elementary Greeter is a styled Login Screen for LightDM.
%prep
%autosetup -p1 -n %{srcname}-%{version}
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot%_datadir/icons/hicolor/
# install LightDM configuration file
mkdir -p %{buildroot}%{_sysconfdir}/lightdm/lightdm.conf.d
install -pm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/lightdm/lightdm.conf.d/
%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml
%files -f %{appname}.lang
%doc README.md
%license LICENSE
%config(noreplace) %{_sysconfdir}/lightdm/%{appname}.conf
%config(noreplace) %{_sysconfdir}/lightdm/lightdm.conf.d/40-%{appname}.conf
%{_bindir}/%{appname}-compositor
%{_sbindir}/%{appname}
%{_datadir}/xgreeters/%{appname}.desktop
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/lightdm/lightdm.conf.d/40-%appname.conf
%changelog
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com> - 6.1.0-1
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/greeter"));
@@ -0,0 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "elementary-icon-theme.spec"
}
}
@@ -0,0 +1,111 @@
%global srcname icons
%global appname io.elementary.icons
Name: elementary-icon-theme
Summary: Icons from the Elementary Project
Version: 8.0.0
Release: 1%?dist
License: GPL-3.0-or-later
URL: https://github.com/elementary/icons
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: gettext
BuildRequires: libappstream-glib
# /usr/bin/rsvg-convert
BuildRequires: librsvg2-tools
BuildRequires: meson
BuildRequires: xcursorgen
BuildRequires: fdupes
%description
This is an icon theme designed to be smooth, sexy, clear, and efficient.
%package gimp-palette
Summary: Icons from the Elementary Project (GIMP palette)
Requires: %{name} = %{version}-%{release}
Requires: gimp
%description gimp-palette
This is an icon theme designed to be smooth, sexy, clear, and efficient.
This package contains a palette file for the GIMP.
%package inkscape-palette
Summary: Icons from the Elementary Project (inkscape palette)
Requires: %{name} = %{version}-%{release}
Requires: inkscape
%description inkscape-palette
This is an icon theme designed to be smooth, sexy, clear, and efficient.
This package contains a palette file for inkscape.
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
# Clean up executable permissions
for i in $(find -type f -executable); do
chmod a-x $i;
done
%meson -Dvolume_icons=false
%meson_build
%install
%meson_install
# Create icon cache file
touch %{buildroot}/%{_datadir}/icons/elementary/icon-theme.cache
%fdupes %buildroot%_datadir/icons/elementary/
%check
# ignore validation until appstream-glib knows the "icon-theme" component type
appstream-util validate-relax --nonet \
%{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml || :
%transfiletriggerin -- %{_datadir}/icons/elementary
gtk-update-icon-cache --force %{_datadir}/icons/elementary &>/dev/null || :
%transfiletriggerpostun -- %{_datadir}/icons/elementary
gtk-update-icon-cache --force %{_datadir}/icons/elementary &>/dev/null || :
%files
%doc README.md
%license COPYING
%dir %{_datadir}/icons/elementary
%ghost %{_datadir}/icons/elementary/icon-theme.cache
%{_datadir}/icons/elementary/*
%{_datadir}/icons/elementary/cursor.theme
%{_datadir}/icons/elementary/index.theme
%{_datadir}/metainfo/%{appname}.metainfo.xml
%files gimp-palette
%{_datadir}/gimp/2.0/palettes/elementary.gpl
%files inkscape-palette
%{_datadir}/inkscape/palettes/elementary.gpl
%changelog
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 7.1.0-1
- new version
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/icons"));
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "elementary-music.spec"
}
}
@@ -0,0 +1,111 @@
%global srcname music
%global appname io.elementary.music
%global __provides_exclude_from ^%{_libdir}/%{appname}/.*\\.so$
%global common_description %{expand:
Music is a fast and beautiful GTK3 audio player with a focus on music
and libraries. It handles external devices, CDs, and album art. Music
utilizes Granite for a consistent and slick UI.}
Name: elementary-music
Summary: Music player and library from elementary
Version: 7.1.0
Release: 2%{?dist}
License: LGPL-2.0-or-later
URL: https://github.com/elementary/%{srcname}
Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz
# meson: remove deprecated positional arguments from i18n.merge_file calls
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: meson
BuildRequires: libappstream-glib
BuildRequires: vala >= 0.26
BuildRequires: fdupes
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.40
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(granite-7) >= 7.0.0
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
BuildRequires: pkgconfig(gstreamer-tag-1.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22
BuildRequires: pkgconfig(libgda-5.0)
BuildRequires: pkgconfig(libgpod-1.0)
BuildRequires: pkgconfig(libhandy-1) >= 0.83.0
BuildRequires: pkgconfig(libpeas-1.0)
BuildRequires: pkgconfig(libpeas-gtk-1.0)
BuildRequires: pkgconfig(taglib_c)
BuildRequires: pkgconfig(zeitgeist-2.0)
Requires: hicolor-icon-theme
# elementary-music explicitly requires the sqlite libgda database provider
Requires: libgda-sqlite%{?_isa}
# Last.FM plugin was dropped in Fedora 34
Obsoletes: elementary-music-plugin-lastfm < 5.0.5-5
# iPod plugin was merged into the main package in Fedora 34
Obsoletes: elementary-music-plugin-ipod < 5.0.5-5
Provides: elementary-music-plugin-ipod = %{version}-%{release}
%description %{common_description}
%package devel
Summary: The official elementary music player (development headers)
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel %{common_description}
This package contains files needed for developing with Music.
%prep
%autosetup -n %{srcname}-%{version} -p1
%build
%meson
%meson_build
%install
%meson_install
%find_lang %{appname}
%fdupes %buildroot%_datadir/icons/hicolor/
%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 LICENSE
%{_bindir}/%{appname}
%{_datadir}/applications/%{appname}.desktop
%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml
%{_datadir}/icons/hicolor/*/apps/%{appname}.svg
%{_datadir}/metainfo/%{appname}.metainfo.xml
%{_datadir}/locale/*/LC_MESSAGES/%{appname}.mo
%files devel
%changelog
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 7.0.0-1
- new version
* Sat Oct 15 2022 windowsboy111 <windowsboy111@fyralabs.com>
- Repackaged for Terra
@@ -0,0 +1 @@
rpm.version(gh("elementary/music"));

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