diff --git a/.backportrc.json b/.backportrc.json index db209de85f..1c7b5305f4 100644 --- a/.backportrc.json +++ b/.backportrc.json @@ -1,7 +1,8 @@ { "repoOwner": "terrapkg", "repoName": "packages", - "targetBranchChoices": ["f38", "f39", "f40", "frawhide"], + "resetAuthor": true, + "targetBranchChoices": ["f39", "f40", "frawhide"], "branchLabelMapping": { "^sync-(.+)$": "$1" } diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 97bdb28677..67cfb1eb56 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -ARG VARIANT="38" +ARG VARIANT="rawhide" FROM fedora:${VARIANT} RUN useradd -m vscode diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 8deec02a20..ed271bdb32 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,7 @@ "name": "Fedora", "build": { "dockerfile": "Dockerfile", - "args": { "VARIANT": "38" } + "args": { "VARIANT": "rawhide" } }, "remoteUser": "vscode", "runArgs": [ diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index 814aa3fb44..f18136ffb5 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -40,9 +40,9 @@ jobs: strategy: matrix: pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }} - version: ["39"] + version: ["rawhide"] fail-fast: false - runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }} + runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-latest' }} container: image: ghcr.io/terrapkg/builder:f${{ matrix.version}} options: --cap-add=SYS_ADMIN --privileged @@ -54,13 +54,6 @@ jobs: - name: Set up git repository run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - - name: Cache buildroot - id: br-cache - uses: actions/cache@v4 - with: - path: /var/cache - key: ${{ runner.os }}-br-${{ matrix.version }}-${{ matrix.pkg.arch }} - - name: Include custom build template instead of package default run: | cp -v anda/terra/mock-configs/terra.tpl /etc/mock/templates/terra.tpl diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index 556a50c132..3fdf3b0a07 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -8,11 +8,24 @@ jobs: backport: name: Backport/sync PR runs-on: ubuntu-latest + if: github.event.pull_request.merged steps: + - name: Install SSH signing key + run: | + mkdir -p ${{ runner.temp }} + echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key + chmod 0700 ${{ runner.temp }}/signing_key + + - name: Setup Raboneko Signing + run: | + git config --global gpg.format "ssh" + git config --global user.signingkey "${{ runner.temp }}/signing_key" + git config --global commit.gpgsign true + - name: Backport Action uses: sorenlouv/backport-github-action@v9.3.0 with: - github_token: ${{ secrets.GITHUB_TOKEN }} + github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }} auto_backport_label_prefix: sync- - name: Info log @@ -22,4 +35,3 @@ jobs: - name: Debug log if: ${{ failure() }} run: cat ~/.backport/backport.debug.log - diff --git a/.github/workflows/update-comps.yml b/.github/workflows/update-comps.yml index 5be8e2e8bd..40c20d9c2a 100644 --- a/.github/workflows/update-comps.yml +++ b/.github/workflows/update-comps.yml @@ -4,9 +4,8 @@ on: push: branches: - frawhide + - f40 - f39 - - f38 - - f37 paths: - comps.xml workflow_dispatch: diff --git a/.github/workflows/update-nightly.yml b/.github/workflows/update-nightly.yml index c0786a3c6c..3496031287 100644 --- a/.github/workflows/update-nightly.yml +++ b/.github/workflows/update-nightly.yml @@ -17,11 +17,12 @@ jobs: fetch-depth: 0 ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} - - name: Install SSH signing 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 Nightly Update run: anda update -vv --filters nightly=1 @@ -30,7 +31,6 @@ jobs: - name: Save run: | - git config --global --add safe.directory "*" if [[ `git status --porcelain` ]]; then git config user.name "Raboneko" git config user.email "raboneko@fyralabs.com" @@ -46,7 +46,6 @@ jobs: git add * git commit -S -a -m "$msg" } - copy_over f38 || true copy_over f39 || true copy_over f40 || true git push -u origin --all diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index 358716c0fb..47f81d5820 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -17,11 +17,12 @@ jobs: fetch-depth: 0 ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} - - name: Install SSH signing 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 @@ -31,7 +32,6 @@ jobs: - name: Save run: | - git config --global --add safe.directory "*" if [[ `git status --porcelain` ]]; then git config user.name "Raboneko" git config user.email "raboneko@fyralabs.com" @@ -47,7 +47,6 @@ jobs: git add * git commit -S -a -m "$msg" } - copy_over f38 || true copy_over f39 || true copy_over f40 || true git push -u origin --all diff --git a/README.md b/README.md index 56f67cb2af..a8cc101566 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # Terra Sources -[![Repository status](https://repology.org/badge/repository-big/terra_38.svg?header=Terra+38)](https://repology.org/repository/terra_38) [![Repository status](https://repology.org/badge/repository-big/terra_39.svg?header=Terra+39)](https://repology.org/repository/terra_39) [![Repository status](https://repology.org/badge/repository-big/terra_40.svg?header=Terra+40)](https://repology.org/repository/terra_40) [![Repository status](https://repology.org/badge/repository-big/terra_rawhide.svg?header=Terra+Rawhide)](https://repology.org/repository/terra_rawhide) diff --git a/anda/apps/anki-bin/anki-bin.spec b/anda/apps/anki-bin/anki-bin.spec index 1ed3181654..677ef037ce 100644 --- a/anda/apps/anki-bin/anki-bin.spec +++ b/anda/apps/anki-bin/anki-bin.spec @@ -1,5 +1,5 @@ Name: anki-bin -Version: 24.04 +Version: 24.06.2 Release: 1%?dist Summary: Flashcard program for using space repetition learning (Installed with wheel) License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 diff --git a/anda/apps/anki-qt5/anki-qt5.spec b/anda/apps/anki-qt5/anki-qt5.spec index 0af8f57eb8..65f9cbc920 100644 --- a/anda/apps/anki-qt5/anki-qt5.spec +++ b/anda/apps/anki-qt5/anki-qt5.spec @@ -1,5 +1,5 @@ Name: anki-qt5 -Version: 24.04 +Version: 24.06.2 Release: 1%?dist Summary: Flashcard program for using space repetition learning License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 @@ -22,7 +22,7 @@ Anki is based on a theory called spaced repetition. %prep git clone https://github.com/ankitects/anki . git checkout %version -%patch1 -p1 +%patch 1 -p1 # See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki-qt5 diff --git a/anda/apps/anki/anki.spec b/anda/apps/anki/anki.spec index 6a139a9b09..48ab98209d 100644 --- a/anda/apps/anki/anki.spec +++ b/anda/apps/anki/anki.spec @@ -1,5 +1,5 @@ Name: anki -Version: 24.04 +Version: 24.06.2 Release: 1%?dist Summary: Flashcard program for using space repetition learning License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5 @@ -20,8 +20,10 @@ phrases in a foreign language) as easily, quickly and efficiently as possible. Anki is based on a theory called spaced repetition. %prep +rm -rf * git clone https://github.com/ankitects/anki . git checkout %{version} +%patch 0 -p1 # See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki diff --git a/anda/apps/armcord-bin/armcord-bin.spec b/anda/apps/armcord-bin/armcord-bin.spec index 2388618de8..4c1cfa9459 100644 --- a/anda/apps/armcord-bin/armcord-bin.spec +++ b/anda/apps/armcord-bin/armcord-bin.spec @@ -14,8 +14,8 @@ %global __provides_exclude_from %{_datadir}/armcord/.*\\.so Name: armcord-bin -Version: 3.2.6 -Release: 1%{?dist} +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 @@ -26,6 +26,7 @@ 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 diff --git a/anda/apps/armcord/armcord.spec b/anda/apps/armcord/armcord.spec index af5421cdd6..7779369ac8 100644 --- a/anda/apps/armcord/armcord.spec +++ b/anda/apps/armcord/armcord.spec @@ -1,15 +1,15 @@ %define debug_package %nil Name: armcord -Version: 3.2.6 -Release: 1%{?dist} +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 +BuildRequires: nodejs-npm git add-determinism Conflicts: armcord-bin BuildArch: noarch @@ -18,6 +18,7 @@ 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 diff --git a/anda/apps/discord-canary-openasar/discord-canary-openasar.spec b/anda/apps/discord-canary-openasar/discord-canary-openasar.spec index 05bd79b6b9..5043d216b9 100644 --- a/anda/apps/discord-canary-openasar/discord-canary-openasar.spec +++ b/anda/apps/discord-canary-openasar/discord-canary-openasar.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-canary-openasar -Version: 0.0.328 +Version: 0.0.438 Release: 1%?dist Summary: A snappier Discord rewrite with features like further customization and theming License: MIT AND https://discord.com/terms diff --git a/anda/apps/discord-canary/discord-canary.spec b/anda/apps/discord-canary/discord-canary.spec index c6d21a21d9..717552ea4d 100644 --- a/anda/apps/discord-canary/discord-canary.spec +++ b/anda/apps/discord-canary/discord-canary.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-canary -Version: 0.0.328 +Version: 0.0.438 Release: 1%?dist Summary: Free Voice and Text Chat for Gamers URL: discord.com diff --git a/anda/apps/discord-openasar/discord-openasar.spec b/anda/apps/discord-openasar/discord-openasar.spec index 587a2ad1d8..75bb5c5301 100644 --- a/anda/apps/discord-openasar/discord-openasar.spec +++ b/anda/apps/discord-openasar/discord-openasar.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-openasar -Version: 0.0.47 +Version: 0.0.58 Release: 1%?dist Summary: A snappier Discord rewrite with features like further customization and theming License: MIT AND https://discord.com/terms diff --git a/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec b/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec index 557e1d5181..a037d5af42 100644 --- a/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec +++ b/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-ptb-openasar -Version: 0.0.76 +Version: 0.0.92 Release: 1%?dist Summary: A snappier Discord rewrite with features like further customization and theming License: MIT AND https://discord.com/terms diff --git a/anda/apps/discord-ptb/discord-ptb.spec b/anda/apps/discord-ptb/discord-ptb.spec index 19298a1909..10f1b34aa7 100644 --- a/anda/apps/discord-ptb/discord-ptb.spec +++ b/anda/apps/discord-ptb/discord-ptb.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-ptb -Version: 0.0.76 +Version: 0.0.92 Release: 1%?dist Summary: Free Voice and Text Chat for Gamers. URL: https://discord.com diff --git a/anda/apps/discord/discord.spec b/anda/apps/discord/discord.spec index 8089164cc6..7d402e9983 100644 --- a/anda/apps/discord/discord.spec +++ b/anda/apps/discord/discord.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord -Version: 0.0.47 +Version: 0.0.58 Release: 1%?dist Summary: Free Voice and Text Chat for Gamers URL: https://discord.com diff --git a/anda/apps/envision/anda.hcl b/anda/apps/envision/anda.hcl new file mode 100644 index 0000000000..f32f6eeee0 --- /dev/null +++ b/anda/apps/envision/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "envision.spec" + } +} diff --git a/anda/apps/envision/envision.spec b/anda/apps/envision/envision.spec new file mode 100644 index 0000000000..4c25cad234 --- /dev/null +++ b/anda/apps/envision/envision.spec @@ -0,0 +1,46 @@ +%global commit b594f75778961c281daca398011914e9ac14b753 +%global commit_date 20240625 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: envision +Version: %commit_date.%commit +Release: 1%?dist +Summary: UI for building, configuring and running Monado, the open source OpenXR runtime +License: AGPL-3.0-or-later +URL: https://gitlab.com/gabmus/envision/ +Source0: %url/-/archive/%commit/envision-%commit.tar.gz +BuildRequires: meson ninja-build cargo +BuildRequires: pkgconfig(glib-2.0) >= 2.66 +BuildRequires: pkgconfig(gio-2.0) >= 2.66 +BuildRequires: pkgconfig(gtk4) >= 4.10.0 +BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0 +BuildRequires: pkgconfig(libadwaita-1) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: openssl-devel +BuildRequires: libappstream-glib +BuildRequires: desktop-file-utils +BuildRequires: glib2-devel +Recommends: android-tools + +%description +%summary. + +%prep +%autosetup -n envision-%commit + +%build +%meson +%meson_build + +%install +%meson_install + +%files +%doc README.md +%license LICENSE +%_bindir/envision +%_datadir/applications/org.gabmus.envision.desktop +%_datadir/envision/ +%_iconsdir/hicolor/scalable/apps/org.gabmus.envision.svg +%_iconsdir/hicolor/symbolic/apps/org.gabmus.envision-symbolic.svg +%_metainfodir/org.gabmus.envision.appdata.xml diff --git a/anda/apps/envision/update.rhai b/anda/apps/envision/update.rhai new file mode 100644 index 0000000000..6de2eb33ce --- /dev/null +++ b/anda/apps/envision/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gitlab_commit("gitlab.com", "46446166", "main")); +if rpm.changed() { + rpm.global("commit_date", date()); + rpm.release(); +} diff --git a/anda/apps/feishin/feishin.spec b/anda/apps/feishin/feishin.spec index 9815191298..818ab600d8 100644 --- a/anda/apps/feishin/feishin.spec +++ b/anda/apps/feishin/feishin.spec @@ -6,7 +6,7 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: feishin -Version: 0.6.1 +Version: 0.7.1 Release: 1%?dist Summary: A modern self-hosted music player License: GPL-3.0 diff --git a/anda/apps/mpv/mpv-nightly.spec b/anda/apps/mpv/mpv-nightly.spec index 43c4aa1210..2a54033c6d 100644 --- a/anda/apps/mpv/mpv-nightly.spec +++ b/anda/apps/mpv/mpv-nightly.spec @@ -1,7 +1,7 @@ -%global commit 6179995dd7ef576073e184abd01fd34890e1b59f +%global commit 4574644b7ad79363a77c479b73f3e888e8ea6d04 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20240403 -%global ver v0.37.0 +%global commit_date 20240627 +%global ver v0.38.0 Name: mpv-nightly Version: %ver^%commit_date.%shortcommit diff --git a/anda/apps/sccache/rust-sccache.spec b/anda/apps/sccache/rust-sccache.spec index 8ee7f4ec2d..3111ff65b7 100644 --- a/anda/apps/sccache/rust-sccache.spec +++ b/anda/apps/sccache/rust-sccache.spec @@ -13,8 +13,8 @@ %global crate sccache Name: rust-sccache -Version: 0.7.7 -Release: 1%{?dist} +Version: 0.8.1 +Release: 1%?dist Summary: Ccache-like tool License: Apache-2.0 diff --git a/anda/apps/tuxclocker/anda.hcl b/anda/apps/tuxclocker/anda.hcl new file mode 100644 index 0000000000..9989eae358 --- /dev/null +++ b/anda/apps/tuxclocker/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "tuxclocker.spec" + } +} diff --git a/anda/apps/tuxclocker/tuxclocker.spec b/anda/apps/tuxclocker/tuxclocker.spec new file mode 100644 index 0000000000..94a0d2d3e2 --- /dev/null +++ b/anda/apps/tuxclocker/tuxclocker.spec @@ -0,0 +1,42 @@ +Name: tuxclocker +Version: 1.5.1 +Release: 1%?dist +Summary: Qt overclocking tool for GNU/Linux +License: GPL-3.0 +URL: https://github.com/Lurkki14/tuxclocker +# boost qt5-qtbase qt5-qtcharts +Requires: hicolor-icon-theme +BuildRequires: git-core meson hwdata qt5-qttools gettext anda-srpm-macros +BuildRequires: boost-devel qt5-qtbase-devel qt5-qtcharts-devel libdrm-devel libXNVCtrl-devel openssl-devel +Recommends: xorg-x11-drv-nvidia libdrm libXNVCtrl hwdata + +%description +TuxClocker is a hardware controlling and monitoring program. +TuxClocker consists of a DBus daemon and a Qt GUI that uses the daemon. + +%prep +git clone --recursive %url . +git checkout %version + +%build +%meson +%meson_build + +%install +%meson_install + +%files +%doc README.md +%license LICENSE +%_bindir/tuxclocker-qt +%_bindir/tuxclockerd +%_libdir/libtuxclocker.so +%_libdir/tuxclocker/ +%_datadir/applications/tuxclocker.desktop +%_datadir/dbus-1/system-services/org.tuxclocker.service +%_datadir/dbus-1/system.d/org.tuxclocker.conf +%_datadir/locale/*/LC_MESSAGES/tuxclocker.mo +%_iconsdir/hicolor/scalable/apps/tuxclocker-logo.svg + +%changelog +%autochangelog diff --git a/anda/apps/tuxclocker/update.rhai b/anda/apps/tuxclocker/update.rhai new file mode 100644 index 0000000000..c9c48ad0cf --- /dev/null +++ b/anda/apps/tuxclocker/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Lurkki14/tuxclocker")); diff --git a/anda/apps/vencord-desktop/vencord-desktop.spec b/anda/apps/vencord-desktop/vencord-desktop.spec index fe89112a94..d235730d7d 100644 --- a/anda/apps/vencord-desktop/vencord-desktop.spec +++ b/anda/apps/vencord-desktop/vencord-desktop.spec @@ -6,7 +6,7 @@ Name: vencord-desktop Provides: VencordDesktop = %{version}-%{release} -Version: 1.5.1 +Version: 1.5.2 Release: 1%?dist License: GPL-3.0 Summary: Vesktop is a cross platform desktop app aiming to give you a snappier Discord experience with Vencord pre-installed diff --git a/anda/apps/voicevox/voicevox.spec b/anda/apps/voicevox/voicevox.spec index 32ca06d290..647a305bfa 100644 --- a/anda/apps/voicevox/voicevox.spec +++ b/anda/apps/voicevox/voicevox.spec @@ -1,6 +1,6 @@ -%global nodev 18.13.0 -%global npmv 8.19.3 -%global ver 0.18.0 +%global nodev 20.12.2 +%global npmv 10.5.0 +%global ver 0.19.2 %define debug_package %nil %global _build_id_links none diff --git a/anda/desktops/elementary/appcenter/elementary-appcenter.spec b/anda/desktops/elementary/appcenter/elementary-appcenter.spec index fedcec6239..d6b4376a17 100644 --- a/anda/desktops/elementary/appcenter/elementary-appcenter.spec +++ b/anda/desktops/elementary/appcenter/elementary-appcenter.spec @@ -3,7 +3,7 @@ Name: elementary-appcenter Summary: Software Center from elementary Version: 7.4.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-3.0 Provides: appcenter = %{version}-%{release} @@ -12,6 +12,8 @@ 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 diff --git a/anda/desktops/elementary/appcenter/pr2099.patch b/anda/desktops/elementary/appcenter/pr2099.patch new file mode 100644 index 0000000000..94925fdb68 --- /dev/null +++ b/anda/desktops/elementary/appcenter/pr2099.patch @@ -0,0 +1,311 @@ +commit fce55d9373bfb82953191b32e276a2129ffcb8c1 +Author: Marius Meisenzahl +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 (); + 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 (); +@@ -417,13 +422,21 @@ public class AppCenterCore.FlatpakBackend : Backend, Object { + var apps = new Gee.TreeSet (); + 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 (); + 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 (); + 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 (); + 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 (); +@@ -465,7 +482,11 @@ public class AppCenterCore.PackageKitBackend : Backend, Object { + var apps = new Gee.TreeSet (); + 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', diff --git a/anda/desktops/elementary/elementary-calculator/elementary-calculator.spec b/anda/desktops/elementary/elementary-calculator/elementary-calculator.spec index 22b802a20c..963637b0bb 100644 --- a/anda/desktops/elementary/elementary-calculator/elementary-calculator.spec +++ b/anda/desktops/elementary/elementary-calculator/elementary-calculator.spec @@ -3,8 +3,8 @@ Name: elementary-calculator Summary: Calculator app designed for elementary -Version: 2.0.3 -Release: 1%{?dist} +Version: 8.0.0 +Release: 1%?dist License: GPL-3.0-or-later URL: https://github.com/elementary/%{srcname} diff --git a/anda/desktops/elementary/elementary-capnet-assist/elementary-capnet-assist.spec b/anda/desktops/elementary/elementary-capnet-assist/elementary-capnet-assist.spec index 161398c650..6b0927c5e2 100644 --- a/anda/desktops/elementary/elementary-capnet-assist/elementary-capnet-assist.spec +++ b/anda/desktops/elementary/elementary-capnet-assist/elementary-capnet-assist.spec @@ -3,8 +3,8 @@ Name: elementary-capnet-assist Summary: Captive Portal Assistant for elementary -Version: 2.4.4 -Release: 2%{?dist} +Version: 8.0.0 +Release: 1%?dist License: GPL-3.0-or-later URL: https://github.com/elementary/capnet-assist @@ -21,10 +21,13 @@ BuildRequires: pkgconfig(gcr-ui-3) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(granite) +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 diff --git a/anda/desktops/elementary/elementary-greeter/elementary-greeter.spec b/anda/desktops/elementary/elementary-greeter/elementary-greeter.spec index fa2b04a3cd..f431aac0d7 100644 --- a/anda/desktops/elementary/elementary-greeter/elementary-greeter.spec +++ b/anda/desktops/elementary/elementary-greeter/elementary-greeter.spec @@ -11,7 +11,7 @@ URL: https://github.com/elementary/greeter Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz Source1: 40-%{appname}.conf -Patch0: https://github.com/elementary/greeter/commit/dbd9b6f9701f5992c3b3257c025b9cd80d041cc8.patch +Patch0: https://github.com/elementary/greeter/compare/7.0.0..42320c266395606b0c20782603e7407124c3f7a4.patch BuildRequires: desktop-file-utils BuildRequires: gettext diff --git a/anda/desktops/elementary/elementary-icon-theme/elementary-icon-theme.spec b/anda/desktops/elementary/elementary-icon-theme/elementary-icon-theme.spec index 7a3bbb3242..99bea0da45 100644 --- a/anda/desktops/elementary/elementary-icon-theme/elementary-icon-theme.spec +++ b/anda/desktops/elementary/elementary-icon-theme/elementary-icon-theme.spec @@ -3,8 +3,8 @@ Name: elementary-icon-theme Summary: Icons from the Elementary Project -Version: 7.3.1 -Release: 2%{?dist} +Version: 8.0.0 +Release: 1%?dist License: GPL-3.0-or-later URL: https://github.com/elementary/icons diff --git a/anda/desktops/elementary/elementary-photos/elementary-photos.spec b/anda/desktops/elementary/elementary-photos/elementary-photos.spec index 8d533c0138..f70987ce23 100644 --- a/anda/desktops/elementary/elementary-photos/elementary-photos.spec +++ b/anda/desktops/elementary/elementary-photos/elementary-photos.spec @@ -5,16 +5,13 @@ Name: elementary-photos Summary: Photo manager and viewer from elementary -Version: 2.8.0 -Release: 2%?dist +Version: 8.0.0 +Release: 1%?dist License: LGPL-2.0-or-later URL: https://github.com/elementary/photos Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz -# RIP the publishing plugins (sorry for the "wide" patch, having issues with just the relevant commits) -Patch0: https://github.com/elementary/photos/compare/7261606a05d1f41116aba5c86b62d1f739419ed1..09e55943b266bc2861b913251cb834169d81743e.patch - BuildRequires: desktop-file-utils BuildRequires: gettext BuildRequires: libappstream-glib @@ -22,6 +19,7 @@ BuildRequires: meson >= 0.46.0 BuildRequires: vala BuildRequires: fdupes BuildRequires: git-core +BuildRequires: cmake BuildRequires: pkgconfig(gee-0.8) >= 0.8.5 BuildRequires: pkgconfig(geocode-glib-2.0) @@ -43,6 +41,8 @@ BuildRequires: pkgconfig(libhandy-1) BuildRequires: pkgconfig(libraw) >= 0.13.2 BuildRequires: pkgconfig(libwebp) >= 0.4.4 BuildRequires: pkgconfig(sqlite3) >= 3.5.9 +BuildRequires: pkgconfig(libportal) +BuildRequires: pkgconfig(libportal-gtk3) Requires: hicolor-icon-theme @@ -53,7 +53,6 @@ Foundation. %prep %autosetup -n %{srcname}-%{version} -N -git apply %PATCH0 # The .patch file has Git binary patches, so we need to apply it manually with Git %build @@ -75,10 +74,10 @@ desktop-file-validate \ %{buildroot}/%{_datadir}/applications/%{appname}.desktop desktop-file-validate \ - %{buildroot}/%{_datadir}/applications/%{appname}-viewer.desktop + %{buildroot}/%{_datadir}/applications/%{appname}.viewer.desktop appstream-util validate-relax --nonet \ - %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml + %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml %files -f %{appname}.lang @@ -92,11 +91,11 @@ appstream-util validate-relax --nonet \ %{_libexecdir}/%{appname}/ %{_datadir}/applications/%{appname}.desktop -%{_datadir}/applications/%{appname}-viewer.desktop +%{_datadir}/applications/%{appname}.viewer.desktop %{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml %{_datadir}/icons/hicolor/*/apps/%{appname}.svg -%{_datadir}/icons/hicolor/*/apps/%{appname}-viewer.svg -%{_datadir}/metainfo/%{appname}.appdata.xml +%{_datadir}/icons/hicolor/*/apps/%{appname}.viewer.svg +%{_datadir}/metainfo/%{appname}.metainfo.xml %changelog diff --git a/anda/desktops/elementary/elementary-shortcut-overlay/elementary-shortcut-overlay.spec b/anda/desktops/elementary/elementary-shortcut-overlay/elementary-shortcut-overlay.spec index f33c3c6803..818a8e5d62 100644 --- a/anda/desktops/elementary/elementary-shortcut-overlay/elementary-shortcut-overlay.spec +++ b/anda/desktops/elementary/elementary-shortcut-overlay/elementary-shortcut-overlay.spec @@ -3,8 +3,8 @@ Name: elementary-shortcut-overlay Summary: Native, OS-wide shortcut overlay -Version: 2.0.1 -Release: %autorelease +Version: 8.0.0 +Release: 1%?dist License: GPL-3.0 URL: https://github.com/elementary/shortcut-overlay @@ -49,7 +49,7 @@ desktop-file-validate \ %{buildroot}/%{_datadir}/applications/%{appname}.desktop appstream-util validate-relax --nonet \ - %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml + %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml %files -f %{appname}.lang @@ -59,7 +59,7 @@ appstream-util validate-relax --nonet \ %{_bindir}/%{appname} %{_datadir}/applications/%{appname}.desktop -%{_datadir}/metainfo/%{appname}.appdata.xml +%{_datadir}/metainfo/%{appname}.metainfo.xml %changelog diff --git a/anda/desktops/elementary/elementary-theme/elementary-theme.spec b/anda/desktops/elementary/elementary-theme/elementary-theme.spec index 34c42b2f8c..98379503c8 100644 --- a/anda/desktops/elementary/elementary-theme/elementary-theme.spec +++ b/anda/desktops/elementary/elementary-theme/elementary-theme.spec @@ -3,8 +3,8 @@ Name: elementary-theme Summary: Elementary GTK+ Stylesheet -Version: 7.3.0 -Release: 1%{?dist} +Version: 8.0.0 +Release: 1%?dist License: GPL-3.0 URL: https://github.com/elementary/stylesheet diff --git a/anda/desktops/elementary/gala/gala.spec b/anda/desktops/elementary/gala/gala.spec index fb96d0c0d3..6272ed3de9 100644 --- a/anda/desktops/elementary/gala/gala.spec +++ b/anda/desktops/elementary/gala/gala.spec @@ -3,14 +3,16 @@ Name: gala Summary: Gala window manager Version: 7.1.3 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-3.0-or-later +Epoch: 1 URL: https://github.com/elementary/gala Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz # patch some default settings to better match Fedora Patch0: 0000-Modify-default-settings-for-Fedora.patch +Patch: https://github.com/elementary/gala/compare/7.1.3..43d1e6a01b56a84a4e752e1970a35c19402941eb.patch BuildRequires: desktop-file-utils BuildRequires: gettext @@ -31,11 +33,13 @@ BuildRequires: pkgconfig(granite) >= 5.4.0 BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libbamf3) BuildRequires: pkgconfig(libcanberra) +BuildRequires: pkgconfig(libhandy-1) +BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(mutter-clutter-14) BuildRequires: pkgconfig(mutter-cogl-14) BuildRequires: pkgconfig(mutter-cogl-pango-14) -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} # gala provides a generic icon (apps/multitasking-view) Requires: hicolor-icon-theme @@ -61,7 +65,7 @@ This package contains the shared libraries. %package devel Summary: Gala window manager development files -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} %description devel Gala is Pantheon's Window Manager, part of the elementary project. @@ -85,8 +89,8 @@ This package contains the development headers. %check -desktop-file-validate \ - %{buildroot}/%{_sysconfdir}/xdg/autostart/gala-daemon.desktop +%dnl desktop-file-validate \ +%dnl %{buildroot}/%{_sysconfdir}/xdg/autostart/gala-daemon.desktop desktop-file-validate \ %{buildroot}/%{_datadir}/applications/gala*.desktop @@ -98,7 +102,7 @@ desktop-file-validate \ %files -f gala.lang %doc README.md %license COPYING -%config(noreplace) %{_sysconfdir}/xdg/autostart/gala-daemon.desktop +%dnl %config(noreplace) %{_sysconfdir}/xdg/autostart/gala-daemon.desktop %{_bindir}/gala %{_bindir}/gala-daemon diff --git a/anda/desktops/elementary/granite-7/granite-7.spec b/anda/desktops/elementary/granite-7/granite-7.spec index d9ecfc465c..9325f09d87 100644 --- a/anda/desktops/elementary/granite-7/granite-7.spec +++ b/anda/desktops/elementary/granite-7/granite-7.spec @@ -5,8 +5,8 @@ apps built for elementary.} Name: granite-7 Summary: Elementary companion library for GTK+ and GLib -Version: 7.4.0 -Release: 1%{?dist} +Version: 7.5.0 +Release: 1%?dist License: LGPL-3.0-or-later URL: https://github.com/elementary/granite @@ -82,6 +82,7 @@ desktop-file-validate \ %{_datadir}/metainfo/granite-7.metainfo.xml %{_datadir}/icons/hicolor/*/apps/io.elementary.granite-7.svg +%{_datadir}/themes/Granite/ %files devel diff --git a/anda/desktops/elementary/pantheon-agent-polkit/pantheon-agent-polkit.spec b/anda/desktops/elementary/pantheon-agent-polkit/pantheon-agent-polkit.spec index 609db115e2..82359f738f 100644 --- a/anda/desktops/elementary/pantheon-agent-polkit/pantheon-agent-polkit.spec +++ b/anda/desktops/elementary/pantheon-agent-polkit/pantheon-agent-polkit.spec @@ -3,8 +3,8 @@ Name: pantheon-agent-polkit Summary: Pantheon Polkit Agent -Version: 1.0.5 -Release: 1%{?dist} +Version: 8.0.0 +Release: 1%?dist License: LGPL-2.0-or-later URL: https://github.com/elementary/%{name} @@ -18,10 +18,12 @@ BuildRequires: vala >= 0.34.1 BuildRequires: fdupes BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 -BuildRequires: pkgconfig(granite) >= 6.0.0 -BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(polkit-agent-1) BuildRequires: pkgconfig(polkit-gobject-1) +BuildRequires: pkgconfig(libadwaita-1) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(granite-7) +BuildRequires: pkgconfig(gtk4) %description An agent for Polkit authorization designed for Pantheon. @@ -50,7 +52,7 @@ desktop-file-validate \ %{buildroot}/%{_datadir}/applications/%{appname}.desktop appstream-util validate-relax --nonet \ - %{buildroot}/%{_datadir}/metainfo/%{appname}.appdata.xml + %{buildroot}/%{_datadir}/metainfo/%{appname}.metainfo.xml %files -f %{appname}.lang @@ -62,7 +64,7 @@ appstream-util validate-relax --nonet \ %{_libexecdir}/policykit-1-pantheon/ %{_datadir}/applications/%{appname}.desktop -%{_datadir}/metainfo/%{appname}.appdata.xml +%{_datadir}/metainfo/%{appname}.metainfo.xml %changelog diff --git a/anda/desktops/elementary/pantheon-tweaks/pantheon-tweaks.spec b/anda/desktops/elementary/pantheon-tweaks/pantheon-tweaks.spec index 20b265481a..3252f78cab 100644 --- a/anda/desktops/elementary/pantheon-tweaks/pantheon-tweaks.spec +++ b/anda/desktops/elementary/pantheon-tweaks/pantheon-tweaks.spec @@ -1,6 +1,6 @@ Name: pantheon-tweaks -Version: 1.1.2 -Release: 1%{?dist} +Version: 2.0.2 +Release: 1%?dist Summary: A system settings panel for the Pantheon desktop environment License: GPL-3.0 URL: https://github.com/pantheon-tweaks/pantheon-tweaks diff --git a/anda/desktops/elementary/switchboard-plug-about/switchboard-plug-about.spec b/anda/desktops/elementary/switchboard-plug-about/switchboard-plug-about.spec index 466c1890cd..515971412c 100644 --- a/anda/desktops/elementary/switchboard-plug-about/switchboard-plug-about.spec +++ b/anda/desktops/elementary/switchboard-plug-about/switchboard-plug-about.spec @@ -9,12 +9,14 @@ Name: switchboard-plug-about Summary: Switchboard System Information plug Version: 6.2.0 -Release: 2%{?dist} +Release: 3%{?dist} License: GPL-3.0-or-later URL: https://github.com/elementary/switchboard-plug-about Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz +Patch0: https://github.com/elementary/switchboard-plug-about/compare/6.2.0..72d7da13da2824812908276751fd3024db2dd0f8.patch + BuildRequires: gettext BuildRequires: libappstream-glib BuildRequires: meson diff --git a/anda/desktops/elementary/switchboard-plug-tweaks/switchboard-plug-tweaks.spec b/anda/desktops/elementary/switchboard-plug-tweaks/switchboard-plug-tweaks.spec index ffaf9643a1..ed60704818 100644 --- a/anda/desktops/elementary/switchboard-plug-tweaks/switchboard-plug-tweaks.spec +++ b/anda/desktops/elementary/switchboard-plug-tweaks/switchboard-plug-tweaks.spec @@ -5,8 +5,8 @@ Name: switchboard-plug-tweaks Summary: Switchboard Tweaks Plug -Version: 1.1.2 -Release: 1%{?dist} +Version: 2.0.2 +Release: 1%?dist License: GPL-3.0-or-later URL: https://github.com/pantheon-tweaks/pantheon-tweaks diff --git a/anda/desktops/elementary/switchboard/switchboard.spec b/anda/desktops/elementary/switchboard/switchboard.spec index 8e79cfee21..cd3a9bbe41 100644 --- a/anda/desktops/elementary/switchboard/switchboard.spec +++ b/anda/desktops/elementary/switchboard/switchboard.spec @@ -3,8 +3,8 @@ Name: switchboard Summary: Modular Desktop Settings Hub -Version: 6.0.2 -Release: 1%{?dist} +Version: 8.0.0 +Release: 1%?dist License: LGPL-2.0-or-later URL: https://github.com/elementary/%{name} diff --git a/anda/desktops/elementary/wingpanel/wingpanel.spec b/anda/desktops/elementary/wingpanel/wingpanel.spec index 9465129346..2bc195d247 100644 --- a/anda/desktops/elementary/wingpanel/wingpanel.spec +++ b/anda/desktops/elementary/wingpanel/wingpanel.spec @@ -9,10 +9,11 @@ Summary: Stylish top panel Version: 3.0.5 Release: 1%{?dist} License: GPL-2.0-or-later +Epoch: 1 URL: https://github.com/elementary/wingpanel Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz -Patch0: https://github.com/elementary/wingpanel/commit/d6009d9f0d5c7479172093447ccceccba86ff1f3.patch +Patch0: https://github.com/elementary/wingpanel/compare/23a3eb7c2448b4f35398116df7d01b075361ef1f..5d22d436b45decfb2a50d9a7c27f2c961f1dd39f.patch BuildRequires: desktop-file-utils BuildRequires: gettext @@ -32,7 +33,7 @@ BuildRequires: pkgconfig(mutter-clutter-14) BuildRequires: pkgconfig(mutter-cogl-14) BuildRequires: pkgconfig(mutter-cogl-pango-14) -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} # wingpanel ayatana appindicator support was abandoned by upstream # wingpanel-indicator-ayatana-2.0.3-10.fc32 retired for fedora 33+ @@ -43,8 +44,8 @@ Obsoletes: wingpanel-indicator-ayatana < 2.0.3-11 %package libs Summary: Stylish top panel (shared library) -Enhances: %{name} = %{version}-%{release} -Enhances: %{name}-devel = %{version}-%{release} +Enhances: %{name} = %{epoch}:%{version}-%{release} +Enhances: %{name}-devel = %{epoch}:%{version}-%{release} %description libs %{common_description} @@ -53,7 +54,7 @@ This package contains the shared library. %package devel Summary: Stylish top panel (development files) -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} %description devel %{common_description} diff --git a/anda/desktops/gnome/gnome-shell-extension-pop-shell/terra-gnome-shell-extension-pop-shell.spec b/anda/desktops/gnome/gnome-shell-extension-pop-shell/terra-gnome-shell-extension-pop-shell.spec index 586928afa6..5c65531bb1 100644 --- a/anda/desktops/gnome/gnome-shell-extension-pop-shell/terra-gnome-shell-extension-pop-shell.spec +++ b/anda/desktops/gnome/gnome-shell-extension-pop-shell/terra-gnome-shell-extension-pop-shell.spec @@ -1,9 +1,9 @@ # from Fedora upstream %global extension pop-shell %global uuid %{extension}@system76.com -%global commit 9418d0a9af7c9b30b61ac3eeb5ca432a3ad3e651 +%global commit cfa0c55e84b7ce339e5ce83832f76fee17e99d51 %global shortcommit %{lua:print(macros.commit:sub(1,7))} -%global commit_date 20240401 +%global commit_date 20240404 %global ver 1.2.0 Name: terra-gnome-shell-extension-%{extension} diff --git a/anda/desktops/kde/latte-dock-nightly/latte-dock-nightly.spec b/anda/desktops/kde/latte-dock-nightly/latte-dock-nightly.spec index 5d91c92813..0b50934ea4 100644 --- a/anda/desktops/kde/latte-dock-nightly/latte-dock-nightly.spec +++ b/anda/desktops/kde/latte-dock-nightly/latte-dock-nightly.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/KDE/latte-dock/ -%global commit b4b16f61f1d69c994701f149e54335c40b9b201d +%global commit 30b3d4c761881590f8b9695e4f979d346502b340 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global commit_date %(date '+%Y%m%d') %global snapshot_info %{commit_date}.%{shortcommit} diff --git a/anda/desktops/lomiri-unity/lomiri-app-launch/lomiri-app-launch.spec b/anda/desktops/lomiri-unity/lomiri-app-launch/lomiri-app-launch.spec index 40c2be7621..c3b609e136 100644 --- a/anda/desktops/lomiri-unity/lomiri-app-launch/lomiri-app-launch.spec +++ b/anda/desktops/lomiri-unity/lomiri-app-launch/lomiri-app-launch.spec @@ -1,5 +1,5 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch -%global commit 0011f74e9377fcde3166374b05301444131ac0e5 +%global commit 99fa99c6e8af868f64dbfdb973eebeb2ca3ad14a %forgemeta Name: lomiri-app-launch diff --git a/anda/desktops/lomiri-unity/lomiri-download-manager/lomiri-download-manager.spec b/anda/desktops/lomiri-unity/lomiri-download-manager/lomiri-download-manager.spec index 357a12815d..ba57eccb1c 100644 --- a/anda/desktops/lomiri-unity/lomiri-download-manager/lomiri-download-manager.spec +++ b/anda/desktops/lomiri-unity/lomiri-download-manager/lomiri-download-manager.spec @@ -1,9 +1,9 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-download-manager -%global commit 6e4342ae0ef3710343e2dbf0b8da586853625e2e +%global commit 682c4928a91da598767e0be2496d9c35af7db035 %forgemeta Name: lomiri-download-manager -Version: 0.5.2 +Version: 0.1.3 Release: 1%?dist Summary: Upload Download Manager for Lomiri License: LGPLv3 diff --git a/anda/desktops/lomiri-unity/lomiri-download-manager/update.rhai b/anda/desktops/lomiri-unity/lomiri-download-manager/update.rhai index 8afb40a9b2..c472c4a27f 100644 --- a/anda/desktops/lomiri-unity/lomiri-download-manager/update.rhai +++ b/anda/desktops/lomiri-unity/lomiri-download-manager/update.rhai @@ -1,4 +1,4 @@ -let o = get("https://gitlab.com/api/v4/projects/25034025/repository/tags").json_arr()[0]; +let o = get("https://gitlab.com/api/v4/projects/17088252/repository/tags").json_arr()[0]; let f = rpm.f; rpm.version(o.name); // check if changed diff --git a/anda/desktops/lomiri-unity/lomiri-system-settings/lomiri-system-settings.spec b/anda/desktops/lomiri-unity/lomiri-system-settings/lomiri-system-settings.spec index 2dc9ac034c..d7004f8120 100644 --- a/anda/desktops/lomiri-unity/lomiri-system-settings/lomiri-system-settings.spec +++ b/anda/desktops/lomiri-unity/lomiri-system-settings/lomiri-system-settings.spec @@ -1,5 +1,5 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings -%global commit a38142e39a6e9b9312e79dbcf5fad11daa1d1b04 +%global commit 1fffef0fffc7006c5f95cf6c3e3f087b074a1760 %forgemeta Name: lomiri-system-settings diff --git a/anda/desktops/lomiri-unity/lomiri-url-dispatcher/lomiri-url-dispatcher.spec b/anda/desktops/lomiri-unity/lomiri-url-dispatcher/lomiri-url-dispatcher.spec index 8181cc05ce..d8e74dad10 100644 --- a/anda/desktops/lomiri-unity/lomiri-url-dispatcher/lomiri-url-dispatcher.spec +++ b/anda/desktops/lomiri-unity/lomiri-url-dispatcher/lomiri-url-dispatcher.spec @@ -4,7 +4,7 @@ Name: lomiri-url-dispatcher Version: 0.1.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A small library for handling URLs over dbus License: LGPL-3.0 diff --git a/anda/desktops/lomiri-unity/unity-session/unity-session.spec b/anda/desktops/lomiri-unity/unity-session/unity-session.spec index 04cfaef03f..01391e75cf 100644 --- a/anda/desktops/lomiri-unity/unity-session/unity-session.spec +++ b/anda/desktops/lomiri-unity/unity-session/unity-session.spec @@ -1,4 +1,4 @@ -%define _ubuntu_rel 1ubuntu2 +%define _ubuntu_rel 1ubuntu4 Name: unity-session Summary: Lightdm profile for Unity 7 diff --git a/anda/desktops/mate/indicators/datetime/ayatana-indicator-datetime.spec b/anda/desktops/mate/indicators/datetime/ayatana-indicator-datetime.spec index 9700919e63..3baeddcd5e 100644 --- a/anda/desktops/mate/indicators/datetime/ayatana-indicator-datetime.spec +++ b/anda/desktops/mate/indicators/datetime/ayatana-indicator-datetime.spec @@ -1,7 +1,7 @@ Name: ayatana-indicator-datetime Summary: A GTK implementation of the StatusNotifierItem Specification -Version: 24.2.0 -Release: 1%{?dist} +Version: 24.5.0 +Release: 1%?dist License: GPL-3.0 URL: https://github.com/AyatanaIndicators/ayatana-indicator-datetime Source0: %{url}/archive/refs/tags/%{version}.tar.gz diff --git a/anda/desktops/mate/indicators/messages/ayatana-indicator-messages.spec b/anda/desktops/mate/indicators/messages/ayatana-indicator-messages.spec index 47087b4f63..2e2b00a231 100644 --- a/anda/desktops/mate/indicators/messages/ayatana-indicator-messages.spec +++ b/anda/desktops/mate/indicators/messages/ayatana-indicator-messages.spec @@ -1,7 +1,7 @@ Name: ayatana-indicator-messages Summary: Ayatana Indicator Messages Applet -Version: 23.10.0 -Release: %autorelease +Version: 24.5.0 +Release: 1%?dist License: GPLv3 URL: https://github.com/AyatanaIndicators/ayatana-indicator-messages Source0: %{url}/archive/refs/tags/%{version}.tar.gz diff --git a/anda/desktops/mate/indicators/notifications/ayatana-indicator-notifications.spec b/anda/desktops/mate/indicators/notifications/ayatana-indicator-notifications.spec index 85235ab012..866c4e4ec8 100644 --- a/anda/desktops/mate/indicators/notifications/ayatana-indicator-notifications.spec +++ b/anda/desktops/mate/indicators/notifications/ayatana-indicator-notifications.spec @@ -1,7 +1,7 @@ Name: ayatana-indicator-notifications Summary: Ayatana Indicator Notifications Applet -Version: 23.10.0 -Release: 1%{?dist} +Version: 23.10.1 +Release: 1%?dist License: GPL-3.0 URL: https://github.com/AyatanaIndicators/ayatana-indicator-notifications Source0: %{url}/archive/refs/tags/%{version}.tar.gz diff --git a/anda/desktops/mate/indicators/session/ayatana-indicator-session.spec b/anda/desktops/mate/indicators/session/ayatana-indicator-session.spec index 119c009c38..c35f995bc6 100644 --- a/anda/desktops/mate/indicators/session/ayatana-indicator-session.spec +++ b/anda/desktops/mate/indicators/session/ayatana-indicator-session.spec @@ -1,6 +1,6 @@ Name: ayatana-indicator-session Summary: Ayatana Indicator Session Applet -Version: 24.2.0 +Version: 24.5.0 Release: 1%?dist License: GPL-3.0 URL: https://github.com/AyatanaIndicators/ayatana-indicator-session diff --git a/anda/desktops/mate/indicators/sound/ayatana-indicator-sound.spec b/anda/desktops/mate/indicators/sound/ayatana-indicator-sound.spec index 8c72dd37e0..d4622d8a62 100644 --- a/anda/desktops/mate/indicators/sound/ayatana-indicator-sound.spec +++ b/anda/desktops/mate/indicators/sound/ayatana-indicator-sound.spec @@ -1,7 +1,7 @@ Name: ayatana-indicator-sound Summary: Ayatana Indicator Sound Applet -Version: 23.10.3 -Release: 1%{?dist} +Version: 24.5.0 +Release: 1%?dist License: GPLv3 URL: https://github.com/AyatanaIndicators/ayatana-indicator-sound Source0: %{url}/archive/refs/tags/%{version}.tar.gz diff --git a/anda/desktops/sddm/0001-Delay-for-logind-and-fallback-to-seat0.patch b/anda/desktops/sddm/0001-Delay-for-logind-and-fallback-to-seat0.patch new file mode 100644 index 0000000000..e6292da34b --- /dev/null +++ b/anda/desktops/sddm/0001-Delay-for-logind-and-fallback-to-seat0.patch @@ -0,0 +1,142 @@ +From 4d44531c8f624f5b479c3ff23e8fecc67eb848ab Mon Sep 17 00:00:00 2001 +From: Jeremy Linton +Date: Fri, 22 Oct 2021 14:51:54 -0500 +Subject: [PATCH] Delay for logind, and fallback to seat0 + +There is systemd/logind race with when restarting +sddm that causes logind1 not to be available. Previously +this meant the seat0 was immediately created regardless +of the state of CanGraphical. + +Fixing this, though we still want seat0 to be started +if none of the seats appear to be graphical. Presumably +there are some graphics on the machine, otherwise +why run sddm? Wait a bit, and create seat0 anyway. If +this fails the output from Xorg should tell us why. This +is generally a better strategy than what happens a good +amount of time now, where sddm is started and silent about +why the screen is blank. + +References: +* https://bugzilla.redhat.com/2011991 +* https://bugzilla.redhat.com/2016310 + +Signed-off-by: Jeremy Linton +--- + src/daemon/LogindDBusTypes.cpp | 31 +++++++++++++++++++++---------- + src/daemon/SeatManager.cpp | 22 ++++++++++++++++++++++ + src/daemon/SeatManager.h | 1 + + 3 files changed, 44 insertions(+), 10 deletions(-) + +diff --git a/src/daemon/LogindDBusTypes.cpp b/src/daemon/LogindDBusTypes.cpp +index 011bb7f..6255c69 100644 +--- a/src/daemon/LogindDBusTypes.cpp ++++ b/src/daemon/LogindDBusTypes.cpp +@@ -8,6 +8,8 @@ + + #include + ++#include ++ + class LogindPathInternal { + public: + LogindPathInternal(); +@@ -46,17 +48,26 @@ LogindPathInternal::LogindPathInternal() + qRegisterMetaType("UserInfoList"); + qDBusRegisterMetaType(); + +- if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.login1"))) { +- qDebug() << "Logind interface found"; +- available = true; +- serviceName = QStringLiteral("org.freedesktop.login1"); +- managerPath = QStringLiteral("/org/freedesktop/login1"); +- managerIfaceName = QStringLiteral("org.freedesktop.login1.Manager"); +- seatIfaceName = QStringLiteral("org.freedesktop.login1.Seat"); +- sessionIfaceName = QStringLiteral("org.freedesktop.login1.Session"); +- userIfaceName = QStringLiteral("org.freedesktop.login1.User"); +- return; ++#ifdef HAVE_SYSTEMD ++ // systemd-logind should be running, although because it takes a few moments to restart after ++ // systemctl isolate calls, it may not yet be running. Wait a few seconds for it, while blocking everything else. ++ int logind_wait_seconds = 50; ++ while (logind_wait_seconds--) { ++ if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.login1"))) { ++ qDebug() << "Logind interface found"; ++ available = true; ++ serviceName = QStringLiteral("org.freedesktop.login1"); ++ managerPath = QStringLiteral("/org/freedesktop/login1"); ++ managerIfaceName = QStringLiteral("org.freedesktop.login1.Manager"); ++ seatIfaceName = QStringLiteral("org.freedesktop.login1.Seat"); ++ sessionIfaceName = QStringLiteral("org.freedesktop.login1.Session"); ++ userIfaceName = QStringLiteral("org.freedesktop.login1.User"); ++ return; ++ } ++ qDebug() << "Sleeping for systemd-logind"; ++ usleep(100000); + } ++#endif + + if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) { + qDebug() << "Console kit interface found"; +diff --git a/src/daemon/SeatManager.cpp b/src/daemon/SeatManager.cpp +index bd207e6..39d8b85 100644 +--- a/src/daemon/SeatManager.cpp ++++ b/src/daemon/SeatManager.cpp +@@ -26,6 +26,9 @@ + #include + #include + #include ++#include ++#include ++#include + + #include "LogindDBusTypes.h" + +@@ -115,6 +118,8 @@ namespace SDDM { + + QDBusConnection::systemBus().connect(Logind::serviceName(), Logind::managerPath(), Logind::managerIfaceName(), QStringLiteral("SeatNew"), this, SLOT(logindSeatAdded(QString,QDBusObjectPath))); + QDBusConnection::systemBus().connect(Logind::serviceName(), Logind::managerPath(), Logind::managerIfaceName(), QStringLiteral("SeatRemoved"), this, SLOT(logindSeatRemoved(QString,QDBusObjectPath))); ++ ++ QTimer::singleShot(5000, this, &SeatManager::checkSeat); + } + + void SeatManager::createSeat(const QString &name) { +@@ -152,6 +157,23 @@ namespace SDDM { + m_seats.value(name)->createDisplay(Display::defaultDisplayServerType()); + } + ++ // this is a bit hacky, but linux DRM drivers ++ // won't initially be available so there is a race ++ // between determing if a efifb/etc graphical object ++ // is the only graphics on the machine, or a DRM driver ++ // will take over the display. So we will hang out for a few ++ // seconds and if none of the seats are declared cangraphical ++ // its possible the only graphics on the machine don't have ++ // a drm driver. ++ void SeatManager::checkSeat(void) { ++ if (m_seats.isEmpty()) { ++ //if (QFileInfo::exists(QStringLiteral("/dev/fb0"))) { ++ qWarning() << "No graphical seats found, attempt to start one on the main console anyway..."; ++ createSeat(QStringLiteral("seat0")); ++ //} ++ } ++ } ++ + void SDDM::SeatManager::logindSeatAdded(const QString& name, const QDBusObjectPath& objectPath) + { + auto logindSeat = new LogindSeat(name, objectPath); +diff --git a/src/daemon/SeatManager.h b/src/daemon/SeatManager.h +index b2f9796..aa43047 100644 +--- a/src/daemon/SeatManager.h ++++ b/src/daemon/SeatManager.h +@@ -49,6 +49,7 @@ namespace SDDM { + private: + QHash m_seats; //these will exist only for graphical seats + QHash m_systemSeats; //these will exist for all seats ++ void checkSeat(void); + }; + } + +-- +2.39.2 + diff --git a/anda/desktops/sddm/README.scripts b/anda/desktops/sddm/README.scripts new file mode 100644 index 0000000000..70b5243104 --- /dev/null +++ b/anda/desktops/sddm/README.scripts @@ -0,0 +1,2 @@ +This scripts dir contains only samples, but are generally not used directly. +In practice, sddm runtime uses items under /etc/sddm by default diff --git a/anda/desktops/sddm/anda.hcl b/anda/desktops/sddm/anda.hcl new file mode 100644 index 0000000000..3c3e12cf82 --- /dev/null +++ b/anda/desktops/sddm/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "terra-sddm.spec" + } +} diff --git a/anda/desktops/sddm/sddm-0.18.0-environment_file.patch b/anda/desktops/sddm/sddm-0.18.0-environment_file.patch new file mode 100644 index 0000000000..6f89c36b18 --- /dev/null +++ b/anda/desktops/sddm/sddm-0.18.0-environment_file.patch @@ -0,0 +1,11 @@ +diff -up sddm-0.18.0/services/sddm.service.in.env sddm-0.18.0/services/sddm.service.in +--- sddm-0.18.0/services/sddm.service.in.env 2018-07-18 05:31:40.000000000 -0500 ++++ sddm-0.18.0/services/sddm.service.in 2019-03-14 08:23:22.095498405 -0500 +@@ -7,6 +7,7 @@ After=systemd-user-sessions.service gett + [Service] + ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/sddm + Restart=always ++EnvironmentFile=-/etc/sysconfig/sddm + + [Install] + Alias=display-manager.service diff --git a/anda/desktops/sddm/sddm-0.20.0-fedora_config.patch b/anda/desktops/sddm/sddm-0.20.0-fedora_config.patch new file mode 100644 index 0000000000..ec6c1b6c88 --- /dev/null +++ b/anda/desktops/sddm/sddm-0.20.0-fedora_config.patch @@ -0,0 +1,53 @@ +diff --git a/src/common/Configuration.h b/src/common/Configuration.h +index 54bcace..9b8fa22 100644 +--- a/src/common/Configuration.h ++++ b/src/common/Configuration.h +@@ -37,9 +37,8 @@ namespace SDDM { + enum NumState { NUM_NONE, NUM_SET_ON, NUM_SET_OFF }; + + // Name Type Default value Description +- // TODO: Change default to x11-user in a future release +- Entry(DisplayServer, QString, _S("x11"), _S("Which display server should be used.\n" +- "Valid values are: x11, x11-user, wayland. Wayland support is experimental")); ++ Entry(DisplayServer, QString, _S("wayland"), _S("Which display server should be used.\n" ++ "Valid values are: x11, x11-user, wayland.")); + Entry(HaltCommand, QString, _S(HALT_COMMAND), _S("Halt command")); + Entry(RebootCommand, QString, _S(REBOOT_COMMAND), _S("Reboot command")); + Entry(Numlock, NumState, NUM_NONE, _S("Initial NumLock state. Can be on, off or none.\n" +@@ -51,7 +50,7 @@ namespace SDDM { + // Name Entries (but it's a regular class again) + Section(Theme, + Entry(ThemeDir, QString, _S(DATA_INSTALL_DIR "/themes"), _S("Theme directory path")); +- Entry(Current, QString, _S(""), _S("Current theme name")); ++ Entry(Current, QString, _S("01-breeze-fedora"), _S("Current theme name")); + Entry(FacesDir, QString, _S(DATA_INSTALL_DIR "/faces"), _S("Global directory for user avatars\n" + "The files should be named .face.icon")); + Entry(CursorTheme, QString, QString(), _S("Cursor theme used in the greeter")); +@@ -71,9 +70,9 @@ namespace SDDM { + Entry(SessionDir, QStringList, {_S("/usr/local/share/xsessions"), + _S("/usr/share/xsessions")}, _S("Comma-separated list of directories containing available X sessions")); + Entry(SessionCommand, QString, _S(SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session")); +- Entry(SessionLogFile, QString, _S(".local/share/sddm/xorg-session.log"), _S("Path to the user session log file")); +- Entry(DisplayCommand, QString, _S(DATA_INSTALL_DIR "/scripts/Xsetup"), _S("Path to a script to execute when starting the display server")); +- Entry(DisplayStopCommand, QString, _S(DATA_INSTALL_DIR "/scripts/Xstop"), _S("Path to a script to execute when stopping the display server")); ++ Entry(SessionLogFile, QString, _S(".cache/xsession-errors"), _S("Path to the user session log file")); ++ Entry(DisplayCommand, QString, _S(SYS_CONFIG_DIR "/sddm/Xsetup"), _S("Path to a script to execute when starting the display server")); ++ Entry(DisplayStopCommand, QString, _S(SYS_CONFIG_DIR "/sddm/Xstop"), _S("Path to a script to execute when stopping the display server")); + Entry(EnableHiDPI, bool, true, _S("Enable Qt's automatic high-DPI scaling")); + ); + +@@ -82,12 +81,12 @@ namespace SDDM { + Entry(SessionDir, QStringList, {_S("/usr/local/share/wayland-sessions"), + _S("/usr/share/wayland-sessions")}, _S("Comma-separated list of directories containing available Wayland sessions")); + Entry(SessionCommand, QString, _S(WAYLAND_SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session")); +- Entry(SessionLogFile, QString, _S(".local/share/sddm/wayland-session.log"),_S("Path to the user session log file")); ++ Entry(SessionLogFile, QString, _S(".cache/wayland-errors"), _S("Path to the user session log file")); + Entry(EnableHiDPI, bool, true, _S("Enable Qt's automatic high-DPI scaling")); + ); + + Section(Users, +- Entry(DefaultPath, QString, _S("/usr/local/bin:/usr/bin:/bin"), _S("Default $PATH for logged in users")); ++ Entry(DefaultPath, QString, _S("/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"), _S("Default $PATH for logged in users")); + Entry(MinimumUid, int, UID_MIN, _S("Minimum user id for displayed users")); + Entry(MaximumUid, int, UID_MAX, _S("Maximum user id for displayed users")); + Entry(HideUsers, QStringList, QStringList(), _S("Comma-separated list of users that should not be listed")); diff --git a/anda/desktops/sddm/sddm-0.21.0-qt6greeter.patch b/anda/desktops/sddm/sddm-0.21.0-qt6greeter.patch new file mode 100644 index 0000000000..b9e95a5a36 --- /dev/null +++ b/anda/desktops/sddm/sddm-0.21.0-qt6greeter.patch @@ -0,0 +1,67 @@ +From 52175648f4e1b415f93b24a3ef970983024659f2 Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Wed, 28 Feb 2024 16:47:16 -0500 +Subject: [PATCH] Default to Qt6 and always use versioned greeters + +Distributors can handle creating an unversioned name if necessary. +--- + src/common/ThemeMetadata.cpp | 4 ++-- + src/daemon/Greeter.cpp | 3 +-- + src/greeter/CMakeLists.txt | 9 +-------- + 3 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/src/common/ThemeMetadata.cpp b/src/common/ThemeMetadata.cpp +index 2cb3762..003056a 100644 +--- a/src/common/ThemeMetadata.cpp ++++ b/src/common/ThemeMetadata.cpp +@@ -28,7 +28,7 @@ namespace SDDM { + QString mainScript { QStringLiteral("Main.qml") }; + QString configFile; + QString translationsDirectory { QStringLiteral(".") }; +- int qtVersion = 5; ++ int qtVersion = 6; + }; + + ThemeMetadata::ThemeMetadata(const QString &path, QObject *parent) : QObject(parent), d(new ThemeMetadataPrivate()) { +@@ -61,6 +61,6 @@ namespace SDDM { + d->mainScript = settings.value(QStringLiteral("SddmGreeterTheme/MainScript"), QStringLiteral("Main.qml")).toString(); + d->configFile = settings.value(QStringLiteral("SddmGreeterTheme/ConfigFile"), QStringLiteral("theme.conf")).toString(); + d->translationsDirectory = settings.value(QStringLiteral("SddmGreeterTheme/TranslationsDirectory"), QStringLiteral(".")).toString(); +- d->qtVersion = settings.value(QStringLiteral("SddmGreeterTheme/QtVersion"), 5).toInt(); ++ d->qtVersion = settings.value(QStringLiteral("SddmGreeterTheme/QtVersion"), 6).toInt(); + } + } +diff --git a/src/daemon/Greeter.cpp b/src/daemon/Greeter.cpp +index 07fccde..5a956b6 100644 +--- a/src/daemon/Greeter.cpp ++++ b/src/daemon/Greeter.cpp +@@ -82,8 +82,7 @@ namespace SDDM { + + QString Greeter::greeterPathForQt(int qtVersion) + { +- const QString suffix = qtVersion == 5 ? QString() : QStringLiteral("-qt%1").arg(qtVersion); +- return QStringLiteral(BIN_INSTALL_DIR "/sddm-greeter%1").arg(suffix); ++ return QStringLiteral(BIN_INSTALL_DIR "/sddm-greeter-qt%1").arg(qtVersion); + } + + bool Greeter::start() { +diff --git a/src/greeter/CMakeLists.txt b/src/greeter/CMakeLists.txt +index 72769e4..524368d 100644 +--- a/src/greeter/CMakeLists.txt ++++ b/src/greeter/CMakeLists.txt +@@ -1,11 +1,4 @@ +-if(QT_MAJOR_VERSION EQUAL "5") +- # Keep the unversioned name for Qt5. When upgrading SDDM, the old daemon +- # might still be running and only know about "sddm-greeter". Keeping the +- # previous name around also helps users calling it directly. +- set(GREETER_TARGET sddm-greeter) +-else() +- set(GREETER_TARGET sddm-greeter-qt${QT_MAJOR_VERSION}) +-endif() ++set(GREETER_TARGET sddm-greeter-qt${QT_MAJOR_VERSION}) + + message(STATUS "Building greeter for Qt ${QT_MAJOR_VERSION} as ${GREETER_TARGET}") + +-- +2.43.0 + diff --git a/anda/desktops/sddm/sddm-PR1876.patch b/anda/desktops/sddm/sddm-PR1876.patch new file mode 100644 index 0000000000..c0a89faa52 --- /dev/null +++ b/anda/desktops/sddm/sddm-PR1876.patch @@ -0,0 +1,1018 @@ +From 6831a26862e15347296a48a9b7825c7db7b5b957 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 30 Jan 2024 20:16:25 -0800 +Subject: [PATCH 1/7] Mark keyboard backend as disabled on Wayland + +8c370d9 already cleared the list of layouts, but Num/Caps indicators +are also not supported on Wayland. Let's communicate that clearly by +marking the KeyboardModel as disabled. +--- + src/greeter/waylandkeyboardbackend.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/greeter/waylandkeyboardbackend.cpp b/src/greeter/waylandkeyboardbackend.cpp +index fcea53614..c42bee6f2 100644 +--- a/src/greeter/waylandkeyboardbackend.cpp ++++ b/src/greeter/waylandkeyboardbackend.cpp +@@ -95,6 +95,7 @@ void WaylandKeyboardBackend::init() + // TODO: We can't actually switch keyboard layout yet, so don't populate a list of layouts + // so that themes can know to not show the option to change layout + // d->layouts = parseRules(QStringLiteral("/usr/share/X11/xkb/rules/evdev.xml"), d->layout_id); ++ d->enabled = false; + } + + void WaylandKeyboardBackend::disconnect() + +From e490bb994ada2a565e95fd32fb18818b1f05ff82 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 30 Jan 2024 21:10:15 -0800 +Subject: [PATCH 2/7] Themes: hide LayoutBox when keyboard model is empty or + disabled + +--- + data/themes/elarun/Main.qml | 4 ++++ + data/themes/maldives/Main.qml | 2 ++ + data/themes/maya/Main.qml | 4 ++++ + src/greeter/theme/Main.qml | 4 ++++ + 4 files changed, 14 insertions(+) + +diff --git a/data/themes/elarun/Main.qml b/data/themes/elarun/Main.qml +index e559b741b..523dab7b3 100644 +--- a/data/themes/elarun/Main.qml ++++ b/data/themes/elarun/Main.qml +@@ -270,6 +270,8 @@ Rectangle { + height: parent.height + anchors.verticalCenter: parent.verticalCenter + ++ visible: layoutBox.visible ++ + text: textConstants.layout + font.pixelSize: 14 + verticalAlignment: Text.AlignVCenter +@@ -281,6 +283,8 @@ Rectangle { + anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 14 + ++ visible: keyboard.enabled && keyboard.layouts.length > 0 ++ + arrowIcon: "angle-down.png" + + KeyNavigation.backtab: session; KeyNavigation.tab: user_entry +diff --git a/data/themes/maldives/Main.qml b/data/themes/maldives/Main.qml +index 4fac9f3c5..7f1959a5f 100644 +--- a/data/themes/maldives/Main.qml ++++ b/data/themes/maldives/Main.qml +@@ -201,6 +201,8 @@ Rectangle { + spacing : 4 + anchors.bottom: parent.bottom + ++ visible: keyboard.enabled && keyboard.layouts.length > 0 ++ + Text { + id: lblLayout + width: parent.width +diff --git a/data/themes/maya/Main.qml b/data/themes/maya/Main.qml +index d8e470b39..d166b718c 100644 +--- a/data/themes/maya/Main.qml ++++ b/data/themes/maya/Main.qml +@@ -239,6 +239,8 @@ Rectangle { + width : spUnit * 2 + height : parent.height + ++ visible : keyboard.enabled && keyboard.layouts.length > 0 ++ + color : primaryHue1 + borderColor : primaryHue3 + focusColor : accentLight +@@ -261,6 +263,8 @@ Rectangle { + + text : textConstants.layout + ++ visible : maya_layout.visible ++ + color : normalText + + font.family : opensans_cond_light.name +diff --git a/src/greeter/theme/Main.qml b/src/greeter/theme/Main.qml +index 0a2ab9c84..2106f6004 100644 +--- a/src/greeter/theme/Main.qml ++++ b/src/greeter/theme/Main.qml +@@ -236,6 +236,8 @@ Rectangle { + height: parent.height + anchors.verticalCenter: parent.verticalCenter + ++ visible: layoutBox.visible ++ + text: textConstants.layout + font.pixelSize: 16 + verticalAlignment: Text.AlignVCenter +@@ -247,6 +249,8 @@ Rectangle { + anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 14 + ++ visible: keyboard.enabled && keyboard.layouts.length > 0 ++ + arrowIcon: "angle-down.png" + + KeyNavigation.backtab: session; KeyNavigation.tab: btnShutdown + +From a8dad084766a31d92252b2c2707c778dca1f30cc Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Wed, 31 Jan 2024 02:08:47 -0800 +Subject: [PATCH 3/7] Themes: explicitly resolve image URLs + +Qt6 no longer resolves relative URLs on assignment to a property of type +url[^1]. The resolution now happens late, in the context of the item that +uses the URL. In our case, it would be a QML component containing Image. +However, the themes shipped with SDDM contain resources in the theme +directories and rely on the previous algorithm of the URL resolution. + +The only documented[^2] way to address that is to resolve the paths in +advance with `Qt.resolvedUrl` to avoid any ambiguity. `Qt.resolvedUrl` +is supported in Qt5, so that should be a safe, albeit a bit verbose, +conversion. + +Fixes following error: +``` +file:///usr/lib64/qt6/qml/SddmComponents/ComboBox.qml:105:9: QML Image: Cannot open: file:///usr/lib64/qt6/qml/SddmComponents/angle-down.png +``` + +[^1]: https://doc.qt.io/qt-6/qml-url.html +[^2]: `QQmlAbstractUrlInterceptor` exists in Qt5, but + `QQmlEngine::setUrlInterceptor` is undocumented and has potential +negative side-effects. It also receives already resolved absolute URLs. +--- + data/themes/elarun/Main.qml | 29 +++++++++++++++-------------- + data/themes/maldives/Main.qml | 13 +++++++------ + data/themes/maya/Main.qml | 10 +++++----- + docs/THEMING.md | 2 +- + src/greeter/theme/Main.qml | 14 +++++++------- + 5 files changed, 35 insertions(+), 33 deletions(-) + +diff --git a/data/themes/elarun/Main.qml b/data/themes/elarun/Main.qml +index 523dab7b3..8151bb52a 100644 +--- a/data/themes/elarun/Main.qml ++++ b/data/themes/elarun/Main.qml +@@ -50,11 +50,12 @@ Rectangle { + + Background { + anchors.fill: parent +- source: config.background ++ source: Qt.resolvedUrl(config.background) + fillMode: Image.PreserveAspectCrop + onStatusChanged: { +- if (status == Image.Error && source != config.defaultBackground) { +- source = config.defaultBackground ++ var defaultBackground = Qt.resolvedUrl(config.defaultBackground) ++ if (status == Image.Error && source != defaultBackground) { ++ source = defaultBackground + } + } + } +@@ -72,12 +73,12 @@ Rectangle { + + Image { + anchors.fill: parent +- source: "images/rectangle.png" ++ source: Qt.resolvedUrl("images/rectangle.png") + } + + Image { + anchors.fill: parent +- source: "images/rectangle_overlay.png" ++ source: Qt.resolvedUrl("images/rectangle_overlay.png") + opacity: 0.1 + } + +@@ -103,7 +104,7 @@ Rectangle { + anchors.centerIn: parent + + Row { +- Image { source: "images/user_icon.png" } ++ Image { source: Qt.resolvedUrl("images/user_icon.png") } + + TextBox { + id: user_entry +@@ -121,7 +122,7 @@ Rectangle { + + Row { + +- Image { source: "images/lock.png" } ++ Image { source: Qt.resolvedUrl("images/lock.png") } + + PasswordBox { + id: pw_entry +@@ -150,7 +151,7 @@ Rectangle { + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 20 + +- source: "images/login_normal.png" ++ source: Qt.resolvedUrl("images/login_normal.png") + + onClicked: sddm.login(user_entry.text, pw_entry.text, sessionIndex) + +@@ -171,7 +172,7 @@ Rectangle { + + ImageButton { + id: system_button +- source: "images/system_shutdown.png" ++ source: Qt.resolvedUrl("images/system_shutdown.png") + onClicked: sddm.powerOff() + + KeyNavigation.backtab: session; KeyNavigation.tab: reboot_button +@@ -179,7 +180,7 @@ Rectangle { + + ImageButton { + id: reboot_button +- source: "images/system_reboot.png" ++ source: Qt.resolvedUrl("images/system_reboot.png") + onClicked: sddm.reboot() + + KeyNavigation.backtab: system_button; KeyNavigation.tab: suspend_button +@@ -187,7 +188,7 @@ Rectangle { + + ImageButton { + id: suspend_button +- source: "images/system_suspend.png" ++ source: Qt.resolvedUrl("images/system_suspend.png") + visible: sddm.canSuspend + onClicked: sddm.suspend() + +@@ -196,7 +197,7 @@ Rectangle { + + ImageButton { + id: hibernate_button +- source: "images/system_hibernate.png" ++ source: Qt.resolvedUrl("images/system_hibernate.png") + visible: sddm.canHibernate + onClicked: sddm.hibernate() + +@@ -256,7 +257,7 @@ Rectangle { + width: 245 + anchors.verticalCenter: parent.verticalCenter + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + model: sessionModel + index: sessionModel.lastIndex +@@ -285,7 +286,7 @@ Rectangle { + + visible: keyboard.enabled && keyboard.layouts.length > 0 + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + KeyNavigation.backtab: session; KeyNavigation.tab: user_entry + } +diff --git a/data/themes/maldives/Main.qml b/data/themes/maldives/Main.qml +index 7f1959a5f..f346829e8 100644 +--- a/data/themes/maldives/Main.qml ++++ b/data/themes/maldives/Main.qml +@@ -58,11 +58,12 @@ Rectangle { + + Background { + anchors.fill: parent +- source: config.background ++ source: Qt.resolvedUrl(config.background) + fillMode: Image.PreserveAspectCrop + onStatusChanged: { +- if (status == Image.Error && source != config.defaultBackground) { +- source = config.defaultBackground ++ var defaultBackground = Qt.resolvedUrl(config.defaultBackground) ++ if (status == Image.Error && source != defaultBackground) { ++ source = defaultBackground + } + } + } +@@ -87,7 +88,7 @@ Rectangle { + width: Math.max(320, mainColumn.implicitWidth + 50) + height: Math.max(320, mainColumn.implicitHeight + 50) + +- source: "rectangle.png" ++ source: Qt.resolvedUrl("rectangle.png") + + Column { + id: mainColumn +@@ -186,7 +187,7 @@ Rectangle { + width: parent.width; height: 30 + font.pixelSize: 14 + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + model: sessionModel + index: sessionModel.lastIndex +@@ -217,7 +218,7 @@ Rectangle { + width: parent.width; height: 30 + font.pixelSize: 14 + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + KeyNavigation.backtab: session; KeyNavigation.tab: loginButton + } +diff --git a/data/themes/maya/Main.qml b/data/themes/maya/Main.qml +index d166b718c..30bb530ca 100644 +--- a/data/themes/maya/Main.qml ++++ b/data/themes/maya/Main.qml +@@ -251,7 +251,7 @@ Rectangle { + font.family : opensans_cond_light.name + font.pixelSize : spFontNormal + +- arrowIcon: "images/ic_arrow_drop_down_white_24px.svg" ++ arrowIcon: Qt.resolvedUrl("images/ic_arrow_drop_down_white_24px.svg") + arrowColor: primaryHue3 + + KeyNavigation.tab : maya_username +@@ -296,7 +296,7 @@ Rectangle { + font.family : opensans_cond_light.name + font.pixelSize : spFontNormal + +- arrowIcon: "images/ic_arrow_drop_down_white_24px.svg" ++ arrowIcon: Qt.resolvedUrl("images/ic_arrow_drop_down_white_24px.svg") + arrowColor: primaryHue3 + + KeyNavigation.tab : maya_layout +@@ -355,7 +355,7 @@ Rectangle { + label : textConstants.shutdown + labelColor : normalText + +- icon : "images/ic_power_settings_new_white_24px.svg" ++ icon : Qt.resolvedUrl("images/ic_power_settings_new_white_24px.svg") + iconColor : accentShade + + hoverIconColor : powerColor +@@ -381,7 +381,7 @@ Rectangle { + label : textConstants.reboot + labelColor : normalText + +- icon : "images/ic_refresh_white_24px.svg" ++ icon : Qt.resolvedUrl("images/ic_refresh_white_24px.svg") + iconColor : accentLight + + hoverIconColor : rebootColor +@@ -492,7 +492,7 @@ Rectangle { + hoverColor : accentLight + textColor : normalText + +- image : "images/ic_warning_white_24px.svg" ++ image : Qt.resolvedUrl("images/ic_warning_white_24px.svg") + + tooltipEnabled : true + tooltipText : textConstants.capslockWarning +diff --git a/docs/THEMING.md b/docs/THEMING.md +index bc69be003..873172192 100644 +--- a/docs/THEMING.md ++++ b/docs/THEMING.md +@@ -8,7 +8,7 @@ We also provide models containing information about the screens, available sessi + + ComboBox { + id: session +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedPath("angle-down.png") + model: sessionModel + index: sessionModel.lastIndex + } +diff --git a/src/greeter/theme/Main.qml b/src/greeter/theme/Main.qml +index 2106f6004..b799670ac 100644 +--- a/src/greeter/theme/Main.qml ++++ b/src/greeter/theme/Main.qml +@@ -55,7 +55,7 @@ Rectangle { + + Background { + anchors.fill: parent +- source: "qrc:/theme/background.png" ++ source: "qrc:///theme/background.png" + fillMode: Image.PreserveAspectCrop + onStatusChanged: { + if (status == Image.Error && source != config.defaultBackground) { +@@ -131,7 +131,7 @@ Rectangle { + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 10 +- source: "angle-left.png" ++ source: "qrc:///theme/angle-left.png" + onClicked: listView.decrementCurrentIndex() + + KeyNavigation.backtab: btnShutdown; KeyNavigation.tab: listView +@@ -162,7 +162,7 @@ Rectangle { + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 10 +- source: "angle-right.png" ++ source: "qrc:///theme/angle-right.png" + onClicked: listView.incrementCurrentIndex() + KeyNavigation.backtab: listView; KeyNavigation.tab: session + } +@@ -222,7 +222,7 @@ Rectangle { + width: 245 + anchors.verticalCenter: parent.verticalCenter + +- arrowIcon: "angle-down.png" ++ arrowIcon: "qrc:///theme/angle-down.png" + + model: sessionModel + index: sessionModel.lastIndex +@@ -251,7 +251,7 @@ Rectangle { + + visible: keyboard.enabled && keyboard.layouts.length > 0 + +- arrowIcon: "angle-down.png" ++ arrowIcon: "qrc:///theme/angle-down.png" + + KeyNavigation.backtab: session; KeyNavigation.tab: btnShutdown + } +@@ -266,7 +266,7 @@ Rectangle { + ImageButton { + id: btnReboot + height: parent.height +- source: "reboot.png" ++ source: "qrc:///theme/reboot.png" + + visible: sddm.canReboot + +@@ -278,7 +278,7 @@ Rectangle { + ImageButton { + id: btnShutdown + height: parent.height +- source: "shutdown.png" ++ source: "qrc:///theme/shutdown.png" + + visible: sddm.canPowerOff + + +From fb6849312dd5eddf312b7bdb660162f23a2bdab8 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Mon, 26 Feb 2024 19:39:53 -0800 +Subject: [PATCH 4/7] Components: use Transitions instead of Behaviors + +It's not recommended[^1] to use Behaviors with States, but the specific +examples in SDDM weren't causing any problems previously (on Qt5). + +Now, with Qt6 support, we can finally observe the promised bugs from the +referenced article in the wild: + +* ComboBox can be closed only once. On a second activation it stays open +* Button color transitions on focus out are abruptly stopped on a wrong + color +* ... (this is where I noticed a pattern and decided to convert + everything else preemptively). + +This commit essentially reverts 930fa07bf24d391d42abcfb981f145117292d49d + +[^1]: https://doc.qt.io/qt-5/qtquick-statesanimations-behaviors.html +--- + components/2.0/Button.qml | 4 +++- + components/2.0/ComboBox.qml | 12 ++++++++---- + components/2.0/ImageButton.qml | 4 +++- + components/2.0/Menu.qml | 6 ++++-- + components/2.0/PictureBox.qml | 6 ++++-- + components/2.0/TextBox.qml | 6 ++++-- + 6 files changed, 26 insertions(+), 12 deletions(-) + +diff --git a/components/2.0/Button.qml b/components/2.0/Button.qml +index cedc8356e..7c74f1ded 100644 +--- a/components/2.0/Button.qml ++++ b/components/2.0/Button.qml +@@ -67,7 +67,9 @@ Rectangle { + } + ] + +- Behavior on color { NumberAnimation { duration: 200 } } ++ transitions: Transition { ++ ColorAnimation { duration: 200 } ++ } + + clip: true + smooth: true +diff --git a/components/2.0/ComboBox.qml b/components/2.0/ComboBox.qml +index 26bbef35e..e7fdb3362 100644 +--- a/components/2.0/ComboBox.qml ++++ b/components/2.0/ComboBox.qml +@@ -70,8 +70,6 @@ FocusScope { + border.color: container.borderColor + border.width: container.borderWidth + +- Behavior on border.color { ColorAnimation { duration: 100 } } +- + states: [ + State { + name: "hover"; when: mouseArea.containsMouse +@@ -82,6 +80,10 @@ FocusScope { + PropertyChanges { target: main; border.width: container.borderWidth; border.color: container.focusColor } + } + ] ++ ++ transitions: Transition { ++ ColorAnimation { property: "border.color"; duration: 100 } ++ } + } + + Loader { +@@ -157,8 +159,6 @@ FocusScope { + + clip: true + +- Behavior on height { NumberAnimation { duration: 100 } } +- + Component { + id: myDelegate + +@@ -214,6 +214,10 @@ FocusScope { + PropertyChanges { target: dropDown; height: (container.height - 2*container.borderWidth) * listView.count + container.borderWidth} + } + ] ++ ++ transitions: Transition { ++ NumberAnimation { property: "height"; duration: 100 } ++ } + } + + function toggle() { +diff --git a/components/2.0/ImageButton.qml b/components/2.0/ImageButton.qml +index 6277148ab..28bc940be 100644 +--- a/components/2.0/ImageButton.qml ++++ b/components/2.0/ImageButton.qml +@@ -53,7 +53,9 @@ Image { + } + ] + +- Behavior on opacity { NumberAnimation { duration: 200 } } ++ transitions: Transition { ++ NumberAnimation { property: "opacity"; duration: 200 } ++ } + + clip: true + smooth: true +diff --git a/components/2.0/Menu.qml b/components/2.0/Menu.qml +index 8ef29841e..9acecb9e2 100644 +--- a/components/2.0/Menu.qml ++++ b/components/2.0/Menu.qml +@@ -34,8 +34,6 @@ Rectangle { + property alias model: menuList.model + property alias index: menuList.currentIndex + +- Behavior on height { NumberAnimation { duration: 100 } } +- + states: [ + State { + name: "visible"; +@@ -43,6 +41,10 @@ Rectangle { + } + ] + ++ transitions: Transition { ++ NumberAnimation { property: "height"; duration: 100 } ++ } ++ + Component { + id: listViewItem + +diff --git a/components/2.0/PictureBox.qml b/components/2.0/PictureBox.qml +index eb2fbfee8..b9571f04e 100644 +--- a/components/2.0/PictureBox.qml ++++ b/components/2.0/PictureBox.qml +@@ -37,8 +37,6 @@ FocusScope { + + signal login() + +- Behavior on height { NumberAnimation { duration: 100 } } +- + states: [ + State { + name: "" +@@ -50,6 +48,10 @@ FocusScope { + } + ] + ++ transitions: Transition { ++ NumberAnimation { property: "height"; duration: 100 } ++ } ++ + Rectangle { + id: shadow + anchors.fill: parent +diff --git a/components/2.0/TextBox.qml b/components/2.0/TextBox.qml +index a8d89afd5..0db8ce885 100644 +--- a/components/2.0/TextBox.qml ++++ b/components/2.0/TextBox.qml +@@ -47,8 +47,6 @@ FocusScope { + border.color: container.borderColor + border.width: 1 + +- Behavior on border.color { ColorAnimation { duration: 100 } } +- + states: [ + State { + name: "hover"; when: mouseArea.containsMouse +@@ -59,6 +57,10 @@ FocusScope { + PropertyChanges { target: main; border.width: 1; border.color: container.focusColor } + } + ] ++ ++ transitions: Transition { ++ ColorAnimation { duration: 100 } ++ } + } + + MouseArea { + +From 5c9a8b7d479f8bf019c5fa1a5d9a78ca12db5793 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Mon, 26 Feb 2024 21:11:01 -0800 +Subject: [PATCH 5/7] Themes: fix deprecated signal handler declarations + +Fixes following warnings: +``` +QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } +Parameter "event" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead. +``` +--- + components/2.0/Button.qml | 4 ++-- + components/2.0/ComboBox.qml | 2 +- + components/2.0/ImageButton.qml | 4 ++-- + components/2.0/LayoutBox.qml | 8 ++++++-- + components/2.0/PictureBox.qml | 2 +- + data/themes/elarun/Main.qml | 8 ++++---- + data/themes/maldives/Main.qml | 11 +++++------ + data/themes/maya/Main.qml | 10 +++++----- + src/greeter/theme/Main.qml | 6 +++--- + 9 files changed, 29 insertions(+), 26 deletions(-) + +diff --git a/components/2.0/Button.qml b/components/2.0/Button.qml +index 7c74f1ded..4d6d40a76 100644 +--- a/components/2.0/Button.qml ++++ b/components/2.0/Button.qml +@@ -111,7 +111,7 @@ Rectangle { + onReleased: { container.focus = true; container.released() } + } + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = true; + container.pressed() +@@ -122,7 +122,7 @@ Rectangle { + } + } + +- Keys.onReleased: { ++ Keys.onReleased: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = false; + container.released() +diff --git a/components/2.0/ComboBox.qml b/components/2.0/ComboBox.qml +index e7fdb3362..997a3886e 100644 +--- a/components/2.0/ComboBox.qml ++++ b/components/2.0/ComboBox.qml +@@ -134,7 +134,7 @@ FocusScope { + } + } + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Up) { + listView.decrementCurrentIndex() + } else if (event.key === Qt.Key_Down) { +diff --git a/components/2.0/ImageButton.qml b/components/2.0/ImageButton.qml +index 28bc940be..b2c267d2b 100644 +--- a/components/2.0/ImageButton.qml ++++ b/components/2.0/ImageButton.qml +@@ -77,7 +77,7 @@ Image { + onReleased: { container.focus = true; container.released() } + } + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = true; + container.pressed() +@@ -88,7 +88,7 @@ Image { + } + } + +- Keys.onReleased: { ++ Keys.onReleased: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = false; + container.released() +diff --git a/components/2.0/LayoutBox.qml b/components/2.0/LayoutBox.qml +index b992f28de..5e62acd3f 100644 +--- a/components/2.0/LayoutBox.qml ++++ b/components/2.0/LayoutBox.qml +@@ -30,12 +30,16 @@ ComboBox { + model: keyboard.layouts + index: keyboard.currentLayout + +- onValueChanged: keyboard.currentLayout = id ++ function onValueChanged(id) { ++ keyboard.currentLayout = id ++ } + + Connections { + target: keyboard + +- onCurrentLayoutChanged: combo.index = keyboard.currentLayout ++ function onCurrentLayoutChanged() { ++ combo.index = keyboard.currentLayout ++ } + } + + rowDelegate: Rectangle { +diff --git a/components/2.0/PictureBox.qml b/components/2.0/PictureBox.qml +index b9571f04e..560556e40 100644 +--- a/components/2.0/PictureBox.qml ++++ b/components/2.0/PictureBox.qml +@@ -105,7 +105,7 @@ FocusScope { + focus: true + visible: showPassword + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + container.login(); + event.accepted = true +diff --git a/data/themes/elarun/Main.qml b/data/themes/elarun/Main.qml +index 8151bb52a..d0caadaea 100644 +--- a/data/themes/elarun/Main.qml ++++ b/data/themes/elarun/Main.qml +@@ -39,11 +39,11 @@ Rectangle { + + Connections { + target: sddm +- onLoginSucceeded: { ++ function onLoginSucceeded() { + } +- onInformationMessage: { ++ function onInformationMessage(message) { + } +- onLoginFailed: { ++ function onLoginFailed() { + pw_entry.text = "" + } + } +@@ -135,7 +135,7 @@ Rectangle { + + KeyNavigation.backtab: user_entry; KeyNavigation.tab: login_button + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + sddm.login(user_entry.text, pw_entry.text, sessionIndex) + event.accepted = true +diff --git a/data/themes/maldives/Main.qml b/data/themes/maldives/Main.qml +index f346829e8..17b1b8aff 100644 +--- a/data/themes/maldives/Main.qml ++++ b/data/themes/maldives/Main.qml +@@ -40,17 +40,16 @@ Rectangle { + Connections { + target: sddm + +- onLoginSucceeded: { ++ function onLoginSucceeded() { + errorMessage.color = "steelblue" + errorMessage.text = textConstants.loginSucceeded + } +- +- onLoginFailed: { ++ function onLoginFailed() { + password.text = "" + errorMessage.color = "red" + errorMessage.text = textConstants.loginFailed + } +- onInformationMessage: { ++ function onInformationMessage(message) { + errorMessage.color = "red" + errorMessage.text = message + } +@@ -126,7 +125,7 @@ Rectangle { + + KeyNavigation.backtab: rebootButton; KeyNavigation.tab: password + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + sddm.login(name.text, password.text, sessionIndex) + event.accepted = true +@@ -153,7 +152,7 @@ Rectangle { + + KeyNavigation.backtab: name; KeyNavigation.tab: session + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + sddm.login(name.text, password.text, sessionIndex) + event.accepted = true +diff --git a/data/themes/maya/Main.qml b/data/themes/maya/Main.qml +index 30bb530ca..60473a473 100644 +--- a/data/themes/maya/Main.qml ++++ b/data/themes/maya/Main.qml +@@ -75,7 +75,7 @@ Rectangle { + Connections { + target: sddm + +- onLoginSucceeded: { ++ function onLoginSucceeded() { + prompt_bg.color = successText + prompt_txt.text = textConstants.loginSucceeded + +@@ -84,7 +84,7 @@ Rectangle { + + anim_success.start() + } +- onLoginFailed: { ++ function onLoginFailed() { + prompt_bg.color = failureText + prompt_txt.text = textConstants.loginFailed + +@@ -93,7 +93,7 @@ Rectangle { + + anim_failure.start() + } +- onInformationMessage: { ++ function onInformationMessage(message) { + prompt_bg.color = failureText + prompt_txt.text = message + +@@ -505,7 +505,7 @@ Rectangle { + KeyNavigation.tab : maya_login + KeyNavigation.backtab : maya_username + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if ((event.key === Qt.Key_Return) || (event.key === Qt.Key_Enter)) { + maya_root.tryLogin() + +@@ -546,7 +546,7 @@ Rectangle { + + onClicked: maya_root.tryLogin() + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if ((event.key === Qt.Key_Return) || (event.key === Qt.Key_Enter)) { + maya_root.tryLogin() + +diff --git a/src/greeter/theme/Main.qml b/src/greeter/theme/Main.qml +index b799670ac..257153b16 100644 +--- a/src/greeter/theme/Main.qml ++++ b/src/greeter/theme/Main.qml +@@ -40,15 +40,15 @@ Rectangle { + + Connections { + target: sddm +- onLoginSucceeded: { ++ function onLoginSucceeded() { + } + +- onLoginFailed: { ++ function onLoginFailed() { + txtMessage.text = textConstants.loginFailed + listView.currentItem.password = "" + } + +- onInformationMessage: { ++ function onInformationMessage(message) { + txtMessage.text = message + } + } + +From ae6313e7433acff4e8bbbfd431a44d715cb306a9 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 27 Feb 2024 00:00:04 -0800 +Subject: [PATCH 6/7] Themes: set QtVersion=@QT_MAJOR_VERSION@ + +--- + data/themes/CMakeLists.txt | 12 +++++++++--- + .../elarun/{metadata.desktop => metadata.desktop.in} | 2 +- + .../{metadata.desktop => metadata.desktop.in} | 1 + + .../maya/{metadata.desktop => metadata.desktop.in} | 1 + + src/greeter/CMakeLists.txt | 1 + + src/greeter/theme.qrc | 2 +- + .../theme/{metadata.desktop => metadata.desktop.in} | 1 + + 7 files changed, 15 insertions(+), 5 deletions(-) + rename data/themes/elarun/{metadata.desktop => metadata.desktop.in} (97%) + rename data/themes/maldives/{metadata.desktop => metadata.desktop.in} (92%) + rename data/themes/maya/{metadata.desktop => metadata.desktop.in} (92%) + rename src/greeter/theme/{metadata.desktop => metadata.desktop.in} (92%) + +diff --git a/data/themes/CMakeLists.txt b/data/themes/CMakeLists.txt +index 60b29be2e..a18fe8926 100644 +--- a/data/themes/CMakeLists.txt ++++ b/data/themes/CMakeLists.txt +@@ -10,9 +10,15 @@ foreach(THEME ${THEMES}) + + qt_add_translation(QM_FILES "${TRANSLATION_SOURCES}") + +- install(DIRECTORY "${THEME}" DESTINATION "${DATA_INSTALL_DIR}/themes" PATTERN "${THEME}/*.ts" +- EXCLUDE PATTERN "${THEME}/.gitattributes" +- EXCLUDE) ++ configure_file("${THEME}/metadata.desktop.in" "${THEME}/metadata.desktop" @ONLY) ++ ++ install(DIRECTORY "${THEME}" DESTINATION "${DATA_INSTALL_DIR}/themes" ++ PATTERN "${THEME}/*.in" EXCLUDE ++ PATTERN "${THEME}/*.ts" EXCLUDE ++ PATTERN "${THEME}/.gitattributes" EXCLUDE) ++ ++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${THEME}/metadata.desktop" ++ DESTINATION "${DATA_INSTALL_DIR}/themes/${THEME}/") + + list(APPEND THEMES_QM_FILES ${QM_FILES}) + endforeach(THEME) +diff --git a/data/themes/elarun/metadata.desktop b/data/themes/elarun/metadata.desktop.in +similarity index 97% +rename from data/themes/elarun/metadata.desktop +rename to data/themes/elarun/metadata.desktop.in +index 50455880a..a992a6102 100644 +--- a/data/themes/elarun/metadata.desktop ++++ b/data/themes/elarun/metadata.desktop.in +@@ -46,4 +46,4 @@ TranslationsDirectory=translations + Theme-Id=elarun + Theme-API=2.0 + Website=https://github.com/sddm/sddm +- ++QtVersion=@QT_MAJOR_VERSION@ +diff --git a/data/themes/maldives/metadata.desktop b/data/themes/maldives/metadata.desktop.in +similarity index 92% +rename from data/themes/maldives/metadata.desktop +rename to data/themes/maldives/metadata.desktop.in +index acd0fa47d..8931da6cd 100644 +--- a/data/themes/maldives/metadata.desktop ++++ b/data/themes/maldives/metadata.desktop.in +@@ -14,3 +14,4 @@ TranslationsDirectory=translations + Email=abdurrahmanavci@gmail.com + Theme-Id=maldives + Theme-API=2.0 ++QtVersion=@QT_MAJOR_VERSION@ +diff --git a/data/themes/maya/metadata.desktop b/data/themes/maya/metadata.desktop.in +similarity index 92% +rename from data/themes/maya/metadata.desktop +rename to data/themes/maya/metadata.desktop.in +index 0c2ab2623..ccda38bfb 100644 +--- a/data/themes/maya/metadata.desktop ++++ b/data/themes/maya/metadata.desktop.in +@@ -14,3 +14,4 @@ TranslationsDirectory=translations + Email=spremi@ymail.com + Theme-Id=maya + Theme-API=2.0 ++QtVersion=@QT_MAJOR_VERSION@ +diff --git a/src/greeter/CMakeLists.txt b/src/greeter/CMakeLists.txt +index 72769e4d0..b9159c53d 100644 +--- a/src/greeter/CMakeLists.txt ++++ b/src/greeter/CMakeLists.txt +@@ -36,6 +36,7 @@ set(GREETER_SOURCES + ) + + configure_file("theme.qrc" "theme.qrc") ++configure_file("theme/metadata.desktop.in" "theme/metadata.desktop" @ONLY) + + qt_add_resources(RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/theme.qrc) + +diff --git a/src/greeter/theme.qrc b/src/greeter/theme.qrc +index efed01179..299169ec1 100644 +--- a/src/greeter/theme.qrc ++++ b/src/greeter/theme.qrc +@@ -7,7 +7,7 @@ + ${CMAKE_CURRENT_SOURCE_DIR}/theme/Main.qml + ${CMAKE_CURRENT_SOURCE_DIR}/theme/reboot.png + ${CMAKE_CURRENT_SOURCE_DIR}/theme/shutdown.png +- ${CMAKE_CURRENT_SOURCE_DIR}/theme/metadata.desktop ++ ${CMAKE_CURRENT_BINARY_DIR}/theme/metadata.desktop + ${CMAKE_CURRENT_SOURCE_DIR}/theme/theme.conf + + +diff --git a/src/greeter/theme/metadata.desktop b/src/greeter/theme/metadata.desktop.in +similarity index 92% +rename from src/greeter/theme/metadata.desktop +rename to src/greeter/theme/metadata.desktop.in +index a1c22ce93..0a4c9f349 100644 +--- a/src/greeter/theme/metadata.desktop ++++ b/src/greeter/theme/metadata.desktop.in +@@ -14,3 +14,4 @@ TranslationsDirectory=translations + Email=abdurrahmanavci@gmail.com + Theme-Id=maui + Theme-API=2.0 ++QtVersion=@QT_MAJOR_VERSION@ + +From ed30ef9f3897dd14ef1d7d04674166171f646fce Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 27 Feb 2024 07:07:26 -0800 +Subject: [PATCH 7/7] Docs: add QtVersion information to THEMING + +--- + docs/THEMING.md | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/docs/THEMING.md b/docs/THEMING.md +index 873172192..69997e88a 100644 +--- a/docs/THEMING.md ++++ b/docs/THEMING.md +@@ -13,6 +13,8 @@ We also provide models containing information about the screens, available sessi + index: sessionModel.lastIndex + } + ++Themes are run by a Qt 5 built sddm-greeter, unless the `QtVersion` property in metadata.desktop specifies a different version, such as `QtVersion=6` for using `sddm-greeter-qt6`. ++ + ## Proxy Object + + We provide a proxy object, called as `sddm` to the themes as a context property. This object holds some useful properties about the host system. It also acts as a proxy between the greeter and the daemon. All of the methods called on this object will be transferred to the daemon through a local socket to be executed there. diff --git a/anda/desktops/sddm/sddm-autologin.pam b/anda/desktops/sddm/sddm-autologin.pam new file mode 100644 index 0000000000..f62fad0baf --- /dev/null +++ b/anda/desktops/sddm/sddm-autologin.pam @@ -0,0 +1,20 @@ + #%PAM-1.0 +auth required pam_env.so +auth required pam_permit.so +auth include postlogin + +account required pam_nologin.so +account include system-auth + +password include system-auth + +session required pam_selinux.so close +session required pam_loginuid.so +session required pam_selinux.so open +session optional pam_keyinit.so force revoke +session required pam_namespace.so +session include system-auth +-session optional pam_gnome_keyring.so auto_start +-session optional pam_kwallet5.so auto_start +-session optional pam_kwallet.so auto_start +session include postlogin diff --git a/anda/desktops/sddm/sddm-greeter.pam b/anda/desktops/sddm/sddm-greeter.pam new file mode 100644 index 0000000000..44e209e904 --- /dev/null +++ b/anda/desktops/sddm/sddm-greeter.pam @@ -0,0 +1,17 @@ +#%PAM-1.0 + +# Load environment from /etc/environment and ~/.pam_environment +auth required pam_env.so + +# Always let the greeter start without authentication +auth required pam_permit.so + +# No action required for account management +account required pam_permit.so + +# Can't change password +password required pam_deny.so + +# Setup session +session required pam_unix.so +session optional pam_systemd.so diff --git a/anda/desktops/sddm/sddm-rpmostree-tmpfiles-hack.patch b/anda/desktops/sddm/sddm-rpmostree-tmpfiles-hack.patch new file mode 100644 index 0000000000..4f06aa1946 --- /dev/null +++ b/anda/desktops/sddm/sddm-rpmostree-tmpfiles-hack.patch @@ -0,0 +1,12 @@ +diff --git a/services/sddm-tmpfiles.conf.in b/services/sddm-tmpfiles.conf.in +index fb45553..6acfb6c 100644 +--- a/services/sddm-tmpfiles.conf.in ++++ b/services/sddm-tmpfiles.conf.in +@@ -1,5 +1,7 @@ + # Home dir of the sddm user, also contains state.conf + d ${STATE_DIR} 0750 sddm sddm ++# Workaround for https://pagure.io/fedora-kde/SIG/issue/87 ++Z ${STATE_DIR} - sddm sddm + # This contains X11 auth files passed to Xorg and the greeter + d ${RUNTIME_DIR} 0711 root root + # Sockets for IPC diff --git a/anda/desktops/sddm/sddm-systemd-sysusers.conf b/anda/desktops/sddm/sddm-systemd-sysusers.conf new file mode 100644 index 0000000000..05fcb1c076 --- /dev/null +++ b/anda/desktops/sddm/sddm-systemd-sysusers.conf @@ -0,0 +1,2 @@ +#Type Name ID GECOS Home directory Shell +u sddm - "SDDM Greeter Account" /var/lib/sddm - diff --git a/anda/desktops/sddm/sddm-x11.conf b/anda/desktops/sddm/sddm-x11.conf new file mode 100644 index 0000000000..6d16a4a0b2 --- /dev/null +++ b/anda/desktops/sddm/sddm-x11.conf @@ -0,0 +1,2 @@ +[General] +DisplayServer=x11 diff --git a/anda/desktops/sddm/sddm.conf b/anda/desktops/sddm/sddm.conf new file mode 100644 index 0000000000..c4696b5878 --- /dev/null +++ b/anda/desktops/sddm/sddm.conf @@ -0,0 +1,122 @@ +[Autologin] +# Whether sddm should automatically log back into sessions when they exit +#Relogin=false + +# Name of session file for autologin session +#Session= + +# Username for autologin session +#User= + + +[General] +# Enable Qt's automatic high-DPI scaling +#EnableHiDPI=false + +# Halt command +#HaltCommand=/usr/bin/systemctl poweroff + +# Initial NumLock state. Can be on, off or none. +# If property is set to none, numlock won't be changed +# NOTE: Currently ignored if autologin is enabled. +#Numlock=none + +# Reboot command +#RebootCommand=/usr/bin/systemctl reboot + +# Control x11/wayland startup +# DisplayServer=wayland + +[Theme] +# Current theme name +#Current=01-breeze-fedora + +# Cursor theme used in the greeter +#CursorTheme= + +# Number of users to use as threshold +# above which avatars are disabled +# unless explicitly enabled with EnableAvatars +#DisableAvatarsThreshold=7 + +# Enable display of custom user avatars +#EnableAvatars=true + +# Global directory for user avatars +# The files should be named .face.icon +#FacesDir=/usr/share/sddm/faces + +# Theme directory path +#ThemeDir=/usr/share/sddm/themes + + +[Users] +# Default $PATH for logged in users +#DefaultPath=/usr/local/bin:/usr/bin:/bin + +# Comma-separated list of shells. +# Users with these shells as their default won't be listed +#HideShells= + +# Comma-separated list of users that should not be listed +#HideUsers= + +# Maximum user id for displayed users +#MaximumUid=60000 + +# Minimum user id for displayed users +#MinimumUid=1000 + +# Remember the session of the last successfully logged in user +#RememberLastSession=true + +# Remember the last successfully logged in user +#RememberLastUser=true + + +[Wayland] +# Path to a script to execute when starting the desktop session +#SessionCommand=/etc/sddm/wayland-session + +# Directory containing available Wayland sessions +#SessionDir=/usr/share/wayland-sessions + +# Path to the user session log file +#SessionLogFile=.cache/wayland-errors + + +[X11] +# Path to a script to execute when starting the display server +#DisplayCommand=/etc/sddm/Xsetup + +# Path to a script to execute when stopping the display server +#DisplayStopCommand=/etc/sddm/Xstop + +# The lowest virtual terminal number that will be used. +#MinimumVT=1 + +# Arguments passed to the X server invocation +#ServerArguments=-nolisten tcp + +# Path to X server binary +#ServerPath=/usr/bin/X + +# Path to a script to execute when starting the desktop session +#SessionCommand=/etc/X11/xinit/Xsession + +# Directory containing available X sessions +#SessionDir=/usr/share/xsessions + +# Path to the user session log file +#SessionLogFile=.cache/xsession-errors + +# Path to the Xauthority file +#UserAuthFile=.Xauthority + +# Path to xauth binary +#XauthPath=/usr/bin/xauth + +# Path to Xephyr binary +#XephyrPath=/usr/bin/Xephyr + + diff --git a/anda/desktops/sddm/sddm.pam b/anda/desktops/sddm/sddm.pam new file mode 100644 index 0000000000..34c0777516 --- /dev/null +++ b/anda/desktops/sddm/sddm.pam @@ -0,0 +1,23 @@ +auth [success=done ignore=ignore default=bad] pam_selinux_permit.so +auth substack password-auth +-auth optional pam_gnome_keyring.so +-auth optional pam_kwallet5.so +-auth optional pam_kwallet.so +auth include postlogin + +account required pam_nologin.so +account include password-auth + +password include password-auth + +session required pam_selinux.so close +session required pam_loginuid.so +-session optional pam_ck_connector.so +session required pam_selinux.so open +session optional pam_keyinit.so force revoke +session required pam_namespace.so +session include password-auth +-session optional pam_gnome_keyring.so auto_start +-session optional pam_kwallet5.so auto_start +-session optional pam_kwallet.so auto_start +session include postlogin diff --git a/anda/desktops/sddm/sddm.sysconfig b/anda/desktops/sddm/sddm.sysconfig new file mode 100644 index 0000000000..4911cb4af3 --- /dev/null +++ b/anda/desktops/sddm/sddm.sysconfig @@ -0,0 +1,5 @@ +# workaround https://bugzilla.redhat.com/1686675 +# see also https://bugreports.qt.io/browse/QTBUG-58508 +QML_DISABLE_DISK_CACHE=1 +# enable qDebug messages for debug build +# QT_LOGGING_RULES="*.debug=true" diff --git a/anda/desktops/sddm/terra-sddm.spec b/anda/desktops/sddm/terra-sddm.spec new file mode 100644 index 0000000000..7e5e82ceb2 --- /dev/null +++ b/anda/desktops/sddm/terra-sddm.spec @@ -0,0 +1,293 @@ +# Disable X11 for RHEL 10+ +%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10] + +Name: terra-sddm +Version: 0.21.0 +Release: 5%{?dist} +License: GPL-2.0-or-later +Summary: QML based desktop and login manager +Provides: sddm = %version-%release + +URL: https://github.com/sddm/sddm +Source0: %{url}/archive/v%{version}/sddm-%{version}.tar.gz + +## upstream patches +# Port all themes to Qt 6 +# Submitted: https://github.com/sddm/sddm/pull/1876 +Patch1: sddm-PR1876.patch + +## upstreamable patches +# Fix race with logind restart, and start seat0 if !CanGraphical on timer +# https://bugzilla.redhat.com/show_bug.cgi?id=2011991 +# https://bugzilla.redhat.com/show_bug.cgi?id=2016310 +# Submmited: https://github.com/sddm/sddm/pull/1494 +Patch11: 0001-Delay-for-logind-and-fallback-to-seat0.patch + +## downstream patches +Patch101: sddm-0.20.0-fedora_config.patch + +# sddm.service: +EnvironmentFile=-/etc/sysconfig/sddm +Patch103: sddm-0.18.0-environment_file.patch + +# Workaround for https://pagure.io/fedora-kde/SIG/issue/87 +Patch104: sddm-rpmostree-tmpfiles-hack.patch + +# Workaround lack of Qt 5 greeter build +Patch105: sddm-0.21.0-qt6greeter.patch + +# https://github.com/sddm/sddm/pull/1779 +Patch106: https://github.com/sddm/sddm/pull/1779.patch + +# Shamelessly stolen from gdm +Source10: sddm.pam +# Shamelessly stolen from gdm +Source11: sddm-autologin.pam +# Previously included in sddm sources +Source12: sddm-greeter.pam +# sample sddm.conf generated with sddm --example-config, and entries commented-out +Source13: sddm.conf +# README.scripts +Source14: README.scripts +# sysconfig snippet +Source15: sddm.sysconfig +# sddm x11 override config +Source16: sddm-x11.conf +# sysusers config file. note these are shipped in the upstream tarball +# but we cannot use the files from the tarball for %pre scriptlet +# generation, so we duplicate them as source files for that purpose; +# this is an ugly hack that should be removed if it becomes possible. +# see https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/TFDMAU7KLMSQTKPJELHSM6PFVXIZ56GK/ +Source17: sddm-systemd-sysusers.conf + + +Provides: service(graphical-login) = sddm + +BuildRequires: cmake >= 2.8.8 +BuildRequires: extra-cmake-modules +BuildRequires: pam-devel +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-xkb) +# sometimes python-docutils, sometimes python2-docutils, sometimes python3-docutils. +# use path then for sanity +BuildRequires: /usr/bin/rst2man +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6DBus) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6Quick) +BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: cmake(Qt6Test) +BuildRequires: cmake(Qt6QuickTest) +# verify presence to pull defaults from /etc/login.defs +BuildRequires: shadow-utils +BuildRequires: systemd +BuildRequires: systemd-rpm-macros + +Obsoletes: kde-settings-sddm < 20-5 + +%if 0%{?fedora} +# for /usr/share/backgrounds/default.png +BuildRequires: desktop-backgrounds-compat +BuildRequires: GraphicsMagick +Requires: desktop-backgrounds-compat +# for /usr/share/pixmaps/system-logo-white.png +Requires: system-logos +%endif +Requires: systemd +%if %{with x11} +Requires: xorg-x11-xinit +%endif +%{?systemd_requires} + +Requires(pre): shadow-utils + +# Virtual dependency for sddm greeter setup +Requires: sddm-greeter-displayserver +Suggests: sddm-wayland-generic + +%description +SDDM is a modern graphical display manager aiming to be fast, simple and +beautiful. It uses modern technologies like QtQuick, which in turn gives the +designer the ability to create smooth, animated user interfaces. + +%package wayland-generic +Summary: Generic Wayland SDDM greeter configuration +Provides: sddm-greeter-displayserver +Conflicts: sddm-greeter-displayserver +Requires: weston +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description wayland-generic +This package contains configuration and dependencies for SDDM +to use Weston for the greeter display server. + +This is the generic default Wayland configuration provided +by SDDM. + +%if %{with x11} +%package x11 +Summary: X11 SDDM greeter configuration +Provides: sddm-greeter-displayserver +Conflicts: sddm-greeter-displayserver +# This will eventually go away... +Provides: deprecated() +Requires: xorg-x11-server-Xorg +Requires: %{name} = %{version}-%{release} +Recommends: qt6-qtvirtualkeyboard +BuildArch: noarch + +%description x11 +This package contains configuration and dependencies for SDDM +to use X11 for the greeter display server. +%endif + +%package themes +Summary: SDDM Themes +# for upgrade path +Obsoletes: sddm < 0.2.0-0.12 +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +%description themes +A collection of sddm themes, including: elarun, maldives, maya + + +%prep +%autosetup -p1 %{?commitdate:-n sddm-%{commit}} -n sddm-%version + +%if 0%{?fedora} +#FIXME/TODO: use version on filesystem instead of using a bundled copy +cp -v /usr/share/backgrounds/default.png \ + src/greeter/theme/background.png +ls -sh src/greeter/theme/background.png +gm mogrify -resize 1920x1200 src/greeter/theme/background.png +ls -sh src/greeter/theme/background.png +%endif + + +%build +%cmake \ + -DBUILD_WITH_QT6:BOOL=ON \ + -DBUILD_MAN_PAGES:BOOL=ON \ + -DCMAKE_BUILD_TYPE:STRING="Release" \ + -DENABLE_JOURNALD:BOOL=ON \ + -DSESSION_COMMAND:PATH=/etc/X11/xinit/Xsession \ + -DWAYLAND_SESSION_COMMAND:PATH=/etc/sddm/wayland-session + +%cmake_build + + +%install +%cmake_install + +mkdir -p %{buildroot}%{_sysconfdir}/sddm.conf.d +mkdir -p %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d +install -Dpm 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/sddm +install -Dpm 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/pam.d/sddm-autologin +install -Dpm 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/sddm-greeter +install -Dpm 644 %{SOURCE13} %{buildroot}%{_sysconfdir}/sddm.conf +install -Dpm 644 %{SOURCE14} %{buildroot}%{_datadir}/sddm/scripts/README.scripts +install -Dpm 644 %{SOURCE15} %{buildroot}%{_sysconfdir}/sysconfig/sddm +%if %{with x11} +install -Dpm 644 %{SOURCE16} %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d/x11.conf +%endif +mkdir -p %{buildroot}/run/sddm +mkdir -p %{buildroot}%{_localstatedir}/lib/sddm +mkdir -p %{buildroot}%{_sysconfdir}/sddm/ +cp -a %{buildroot}%{_datadir}/sddm/scripts/* \ + %{buildroot}%{_sysconfdir}/sddm/ +# we're using /etc/X11/xinit/Xsession (by default) instead +rm -fv %{buildroot}%{_sysconfdir}/sddm/Xsession + +# De-conflict the dbus file +mv %{buildroot}%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf \ + %{buildroot}%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager-sddm.conf + +%if 0%{?fedora} && 0%{?fedora} < 43 +# Provide unversioned greeter until F40 is EOL +ln -sr %{buildroot}%{_bindir}/sddm-greeter-qt6 %{buildroot}%{_bindir}/sddm-greeter +%endif + + +%pre +%sysusers_create_compat %{SOURCE17} + +%post +%systemd_post sddm.service +# handle incompatible configuration changes +(grep \ + -e '^Current=fedora$' \ + -e '^\[XDisplay\]$' \ + -e '^\[WaylandDisplay\]$' \ + %{_sysconfdir}/sddm.conf > /dev/null && \ + sed -i.rpmsave \ + -e 's|^Current=fedora$|#Current=01-breeze-fedora|' \ + -e 's|^\[XDisplay\]$|\[X11\]|' \ + -e 's|^\[WaylandDisplay\]$|\[Wayland\]|' \ + %{_sysconfdir}/sddm.conf +) ||: + + +%preun +%systemd_preun sddm.service + + +%postun +%systemd_postun sddm.service + + +%files +%license LICENSE +%doc README.md CONTRIBUTORS +%dir %{_sysconfdir}/sddm/ +%dir %{_sysconfdir}/sddm.conf.d +%dir %{_prefix}/lib/sddm/sddm.conf.d +%config(noreplace) %{_sysconfdir}/sddm/* +%config(noreplace) %{_sysconfdir}/sddm.conf +%config(noreplace) %{_sysconfdir}/sysconfig/sddm +%config(noreplace) %{_sysconfdir}/pam.d/sddm* +%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager-sddm.conf +%{_bindir}/sddm +%{_bindir}/sddm-greeter* +%{_libexecdir}/sddm-helper +%{_libexecdir}/sddm-helper-start-wayland +%{_libexecdir}/sddm-helper-start-x11user +%{_tmpfilesdir}/sddm.conf +%{_sysusersdir}/sddm.conf +%attr(0711, root, sddm) %dir /run/sddm +%attr(1770, sddm, sddm) %dir %{_localstatedir}/lib/sddm +%{_unitdir}/sddm.service +%{_qt6_archdatadir}/qml/SddmComponents/ +%dir %{_datadir}/sddm +%{_datadir}/sddm/faces/ +%{_datadir}/sddm/flags/ +%{_datadir}/sddm/scripts/ +%dir %{_datadir}/sddm/themes/ +# %%lang'ify? they're small, probably not worth it -- rex +%{_datadir}/sddm/translations*/ +%{_mandir}/man1/sddm.1* +%{_mandir}/man1/sddm-greeter.1* +%{_mandir}/man5/sddm.conf.5* +%{_mandir}/man5/sddm-state.conf.5* + + +%files wayland-generic +# No files since default configuration + + +%if %{with x11} +%files x11 +%{_prefix}/lib/sddm/sddm.conf.d/x11.conf +%endif + + +%files themes +%{_datadir}/sddm/themes/elarun/ +%{_datadir}/sddm/themes/maldives/ +%{_datadir}/sddm/themes/maya/ + + +%changelog +%autochangelog diff --git a/anda/desktops/sddm/update.rhai b/anda/desktops/sddm/update.rhai new file mode 100644 index 0000000000..857392fd70 --- /dev/null +++ b/anda/desktops/sddm/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("sddm/sddm")); diff --git a/anda/devs/asar/anda.hcl b/anda/devs/asar/anda.hcl new file mode 100644 index 0000000000..eaf218b61a --- /dev/null +++ b/anda/devs/asar/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "asar.spec" + } +} diff --git a/anda/devs/asar/asar.spec b/anda/devs/asar/asar.spec new file mode 100644 index 0000000000..48f0e1a2cf --- /dev/null +++ b/anda/devs/asar/asar.spec @@ -0,0 +1,41 @@ +%define debug_package %nil +%define __strip /bin/true +%global _build_id_links none + +# Exclude private libraries +%global __requires_exclude libffmpeg.so +%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so + +Name: asar +Version: 3.2.10 +Release: 1%?dist +Summary: Simple extensive tar-like archive format with indexing +License: MIT +URL: https://github.com/electron/asar +Source0: %url/archive/refs/tags/v%version.tar.gz +Requires: nodejs +BuildRequires: nodejs-npm +BuildArch: noarch + +%description +Asar is a simple extensive archive format, it works like `tar` that concatenates all files +together without compression, while having random access support. + +%prep +%autosetup + +%build + +%install +mkdir -p %buildroot%_bindir +PATH="$PATH:%buildroot%_bindir" +npm install -g --prefix %buildroot%_prefix %SOURCE0 + +%files +%doc README.md +%license LICENSE.md +%_bindir/asar +%_prefix/lib/node_modules/@electron/asar/ + +%changelog +%autochangelog diff --git a/anda/devs/asar/update.rhai b/anda/devs/asar/update.rhai new file mode 100644 index 0000000000..d9787c3ac5 --- /dev/null +++ b/anda/devs/asar/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("electron/asar")); diff --git a/anda/devs/codium/codium.spec b/anda/devs/codium/codium.spec index cb046dff6b..dba3cf967e 100644 --- a/anda/devs/codium/codium.spec +++ b/anda/devs/codium/codium.spec @@ -12,7 +12,7 @@ %endif Name: codium -Version: 1.87.2.24072 +Version: 1.90.2.24171 Release: 1%?dist Summary: Code editing. Redefined. License: MIT @@ -28,6 +28,8 @@ VSCodium is a new choice of tool that combines the simplicity of a code editor with what developers need for the core edit-build-debug cycle. %prep +mkdir stuff +cd stuff tar xf %SOURCE0 cat < vscodium-bin-uri-handler.desktop @@ -70,6 +72,7 @@ EOF %build %install +cd stuff mkdir -p %buildroot%_datadir/doc/%name/ %buildroot%_datadir/licenses/%name install -Dm644 %SOURCE1 %buildroot%_docdir/%name/ install -Dm644 %SOURCE2 %buildroot%_datadir/licenses/%name/ diff --git a/anda/devs/flutter/flutter.spec b/anda/devs/flutter/flutter.spec index 45d02c72d7..23e2d41f8f 100644 --- a/anda/devs/flutter/flutter.spec +++ b/anda/devs/flutter/flutter.spec @@ -1,5 +1,5 @@ Name: flutter -Version: 3.19.5 +Version: 3.22.2 Release: 1%?dist Summary: SDK for crafting beautiful, fast user experiences from a single codebase License: BSD-3-Clause diff --git a/anda/devs/neovide/neovide.spec b/anda/devs/neovide/neovide.spec index f57476da27..ed53686314 100644 --- a/anda/devs/neovide/neovide.spec +++ b/anda/devs/neovide/neovide.spec @@ -1,13 +1,14 @@ %define debug_package %nil Name: neovide -Version: 0.12.2 -Release: 1%{?dist} +Version: 0.13.1 +Release: 1%?dist Summary: No Nonsense Neovim Client in Rust License: MIT URL: https://neovide.dev/ Source0: https://github.com/neovide/neovide/archive/refs/tags/%version.tar.gz -Requires: neovim fontconfig freetype libglvnd +Requires: fontconfig freetype libglvnd +Requires: neovim > 0.9.5 BuildRequires: anda-srpm-macros cargo-rpm-macros >= 24 cmake gtk3 python3 SDL2 BuildRequires: fontconfig-devel freetype-devel libX11-xcb libX11-devel libstdc++-static libstdc++-devel ExclusiveArch: x86_64 diff --git a/anda/devs/zed/nightly/anda.hcl b/anda/devs/zed/nightly/anda.hcl new file mode 100644 index 0000000000..e92820997f --- /dev/null +++ b/anda/devs/zed/nightly/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "zed-nightly.spec" + } + labels { + nightly = 1 + large = 1 + } +} diff --git a/anda/devs/zed/nightly/update.rhai b/anda/devs/zed/nightly/update.rhai new file mode 100644 index 0000000000..ac2e45147e --- /dev/null +++ b/anda/devs/zed/nightly/update.rhai @@ -0,0 +1,9 @@ +if filters.contains("nightly") { + rpm.global("commit", gh_commit("zed-industries/zed")); + if rpm.changed() { + let v = find("(\\d+\\.\\d+\\d+\\.\\d+)", find("\nversion = \"(\\d+\\.\\d+\\d+\\.\\d+)\"\n", gh_rawfile("zed-industries/zed", "main", "crates/zed/Cargo.toml"), 1), 1); + rpm.global("ver", v); + rpm.global("commit_date", date()); + rpm.release(); + } +} diff --git a/anda/devs/zed/nightly/zed-nightly.spec b/anda/devs/zed/nightly/zed-nightly.spec new file mode 100644 index 0000000000..594e233c84 --- /dev/null +++ b/anda/devs/zed/nightly/zed-nightly.spec @@ -0,0 +1,97 @@ +%global commit 0129d4e2506d5ec5e50ef0968382770b9abec390 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commit_date 20240619 +%global ver 0.142.0 + +%bcond_without check + +# Exclude input files from mangling +%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ + +%global crate zed +%global app_id dev.zed.Zed-Nightly + +Name: zed-nightly +Version: %ver^%commit_date.%shortcommit +Release: 1%?dist +Summary: Zed is a high-performance, multiplayer code editor + +License: MIT +URL: https://zed.dev/ +Source0: https://github.com/zed-industries/zed/archive/%{commit}.zip + +Conflicts: zed +Provides: zed + +BuildRequires: cargo-rpm-macros >= 24 +BuildRequires: anda-srpm-macros +BuildRequires: gcc +BuildRequires: g++ +BuildRequires: clang +BuildRequires: mold +BuildRequires: alsa-lib-devel +BuildRequires: fontconfig-devel +BuildRequires: wayland-devel +BuildRequires: libxkbcommon-x11-devel +BuildRequires: openssl-devel +BuildRequires: libzstd-devel +BuildRequires: perl-FindBin +BuildRequires: perl-IPC-Cmd +BuildRequires: perl-File-Compare +BuildRequires: perl-File-Copy +BuildRequires: perl-lib +BuildRequires: vulkan-loader + +%description +Code at the speed of thought - Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. + +%prep +%autosetup -n %{crate}-%{commit} -p1 +%cargo_prep_online + +export DO_STARTUP_NOTIFY="true" +export APP_ID="%app_id" +export APP_ICON="%app_id" +export APP_NAME="Zed Nightly" +export APP_CLI="zed" +export ZED_UPDATE_EXPLANATION="Run dnf up to update Zed Nightly from Terra." +export ZED_RELEASE_CHANNEL=nightly +export BRANDING_LIGHT="#e9aa6a" +export BRANDING_DARK="#1a5fb4" + +echo "StartupWMClass=$APP_ID" >> crates/zed/resources/zed.desktop.in +envsubst < "crates/zed/resources/zed.desktop.in" > $APP_ID.desktop # from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zed-git#n52 + +envsubst < "crates/zed/resources/flatpak/zed.metainfo.xml.in" > $APP_ID.metainfo.xml + +%build +export ZED_UPDATE_EXPLANATION="Run dnf up to update Zed Nightly from Terra." +echo "nightly" > crates/zed/RELEASE_CHANNEL + +%cargo_build -- --package zed --package cli +script/generate-licenses + +%install +install -Dm755 target/rpm/zed %{buildroot}%{_libexecdir}/zed-editor +install -Dm755 target/rpm/cli %{buildroot}%{_bindir}/zed + +install -Dm644 %app_id.desktop %{buildroot}%{_datadir}/applications/%app_id.desktop +install -Dm644 crates/zed/resources/app-icon-nightly.png %{buildroot}%{_datadir}/pixmaps/%app_id.png + +install -Dm644 %app_id.metainfo.xml %{buildroot}%{_metainfodir}/%app_id.metainfo.xml + +%if %{with check} +%check +%cargo_test +%endif + +%files +%{_libexecdir}/zed-editor +%{_bindir}/zed +%{_datadir}/applications/%app_id.desktop +%{_datadir}/pixmaps/%app_id.png +%{_metainfodir}/%app_id.metainfo.xml +%license assets/licenses.md + +%changelog +%autochangelog diff --git a/anda/docker/containerd/containerd.spec b/anda/docker/containerd/containerd.spec index 4925e2ee35..ddfcdce3d0 100644 --- a/anda/docker/containerd/containerd.spec +++ b/anda/docker/containerd/containerd.spec @@ -7,7 +7,7 @@ # https://github.com/containerd/containerd %global goipath github.com/containerd/containerd -Version: 1.7.14 +Version: 1.7.18 %gometa diff --git a/anda/docker/moby-buildx/moby-buildx.spec b/anda/docker/moby-buildx/moby-buildx.spec index f69fe47e14..6c738d99f9 100644 --- a/anda/docker/moby-buildx/moby-buildx.spec +++ b/anda/docker/moby-buildx/moby-buildx.spec @@ -1,7 +1,7 @@ %define debug_package %nil Name: moby-buildx -Version: 0.13.1 +Version: 0.15.1 Release: 1%?dist Summary: Docker CLI plugin for extended build capabilities with BuildKit diff --git a/anda/docker/moby-compose/moby-compose.spec b/anda/docker/moby-compose/moby-compose.spec index 0b3324fb09..fe6a4af9d7 100644 --- a/anda/docker/moby-compose/moby-compose.spec +++ b/anda/docker/moby-compose/moby-compose.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: moby-compose -Version: 2.26.1 +Version: 2.28.1 Release: 1%?dist Summary: Define and run multi-container applications with Docker diff --git a/anda/fonts/iosevka-fusion/iosevka-fusion-fonts.spec b/anda/fonts/iosevka-fusion/iosevka-fusion-fonts.spec deleted file mode 100644 index ed44aee3d2..0000000000 --- a/anda/fonts/iosevka-fusion/iosevka-fusion-fonts.spec +++ /dev/null @@ -1,142 +0,0 @@ -%global source_name Iosevka -%global debug_package %{nil} - -Name: iosevka-fusion-fonts -Version: 29.0.5 -Release: 1%?dist -Summary: A custom font based on iosevka - -License: OFL-1.1 -URL: https://github.com/be5invis/Iosevka -Source0: %{url}/archive/v%{version}.tar.gz -Source1: iosevka-fusion.toml - -BuildArch: noarch - -BuildRequires: clang -BuildRequires: nodejs-npm -BuildRequires: ttfautohint - -%description -Based on Iosevka font, https://github.com/be5invis/Iosevka, -this font mixes elements from various fonts tailored to my personal taste. - -%prep -%autosetup -n %{source_name}-%{version} -%__cp %SOURCE1 %{_builddir}/%{source_name}-%{version}/private-build-plans.toml - -%build -npm install -npm run build -- ttf::iosevka-fusion - -%install -%__mkdir -p %{buildroot}%{_datadir}/fonts/%{name} - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-bold.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Bold.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-bolditalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-BoldItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-book.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Book.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-bookitalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-BookItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-extrabold.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraBold.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-extrabolditalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraBoldItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-extralight.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraLight.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-extralightitalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ExtraLightItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-heavy.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Heavy.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-heavyitalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-HeavyItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-italic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Italic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-light.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Light.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-lightitalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-LightItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-medium.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Medium.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-mediumitalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-MediumItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-regular.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Regular.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-semibold.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-SemiBold.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-semibolditalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-SemiBoldItalic.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-thin.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-Thin.ttf - -%__install -m 0644 \ - dist/iosevka-fusion/ttf/iosevka-fusion-thinitalic.ttf \ - -T \ - %{buildroot}%{_datadir}/fonts/%{name}/IosevkaFusion-ThinItalic.ttf - -%files -%license LICENSE.md -%doc README.md -%{_datadir}/fonts/* - -%changelog -* Wed Dec 28 2022 windowsboy111 - 16.8.4 -- Initial package diff --git a/anda/fonts/iosevka-fusion/iosevka-fusion.toml b/anda/fonts/iosevka-fusion/iosevka-fusion.toml deleted file mode 100644 index c3586586ab..0000000000 --- a/anda/fonts/iosevka-fusion/iosevka-fusion.toml +++ /dev/null @@ -1,190 +0,0 @@ -[buildPlans.iosevka-fusion] -family = "Iosevka Fusion" -spacing = "fixed" -serifs = "sans" - -[buildPlans.iosevka-fusion.variants.design] -cv01 = 1 # A cap straight -cv02 = 1 # B cap straight -cv03 = 1 # C cap serifless -cv04 = 1 # D cap serifless -cv05 = 1 # E cap serifless -cv06 = 1 # F cap serifless -cv07 = 6 # G cap toothless rounded serifless hooked -cv08 = 1 # H cap serifless -cv09 = 1 # I cap long serifs -cv10 = 2 # J cap serified -cv11 = 2 # K cap curly -cv12 = 1 # L cap serifless -cv13 = 1 # M cap short middle leg -cv14 = 1 # N cap symmetric -cv15 = 1 # P cap straight -cv16 = 4 # Q cap crossing tail -cv17 = 1 # R cap straight -cv18 = 1 # S cap serifless -cv19 = 1 # T cap serifless -cv20 = 3 # U cap serifless -cv21 = 1 # V cap straight -cv22 = 1 # W straight -cv23 = 1 # X cap straight -cv24 = 1 # Y cap straight -cv25 = 1 # Z cap straight -cv28 = 1 # c serifless -cv33 = 1 # h straight -cv34 = 10 # i serified flat tailed -cv35 = 6 # j flat hook serified -cv37 = 10 # l serified flat tailed -cv42 = 9 # r compact -cv43 = 1 # s serifless -cv44 = 2 # t flat hook -cv49 = 6 # y cursive flat terminal hook -cv53 = 1 # Λ, Δ lambda and delta cap straight -cv54 = 2 # α alpha straight tailed -cv55 = 1 # δ delta rounded top -cv56 = 1 # Γ gamma cap straight -cv57 = 6 # ι iota serified flat tailed -cv58 = 2 # λ lambda top tailed -cv59 = 1 # μ me tailless -cv60 = 2 # ξ xe flat top -cv77 = 13 # 0 oval dashed forward slash -cv80 = 2 # 3 arched -cv82 = 2 # 5 open contour -cv84 = 1 # 7 straight -cv85 = 3 # 8 two asymmetric circles -cv89 = 2 # ~ tilde low -cv90 = 3 # * asterisk five-pointed low -cv91 = 1 # _ underscore right below baseline -cv92 = 1 # ^ uptick high -cv93 = 1 # ( parentheses normal slope -cv94 = 2 # { braces curly -cv95 = 1 # # column straight -cv97 = 4 # @ three-fold, tall height -cv98 = 2 # $ dollar strike through -VXSF = 2 # ¢ cent strike through -cv99 = 1 # % percent dots -VXSA = 1 # | bar natural slope -VXSB = 1 # ' single quote straight -VXSC = 1 # ` grave/backtick straight -VXSD = 1 # ? smooth -cv88 = 2 # .:; square punctuation marks -cv87 = 2 # ijäöü square diacretics - -[buildPlans.iosevka-fusion.variants.upright] -cv26 = 3 # a double storey rounded -cv27 = 2 # b rounded -cv29 = 2 # d rounded -cv30 = 1 # e straight -cv31 = 16 # f serifless bottom flat top crossbar at x height -cv32 = 9 # g single storey flat hook earless cornered top -cv36 = 1 # k straight -cv38 = 5 # m earless normal middle leg -cv39 = 3 # n earless straight -cv40 = 2 # p earless -cv41 = 2 # q earless -cv45 = 2 # u rounded -cv46 = 1 # v straight -cv47 = 1 # w straight -cv48 = 1 # x straight -cv50 = 1 # z straight -cv78 = 3 # 1 serified with base -cv79 = 1 # 2 straight -cv81 = 3 # 4 semi-open contour -cv83 = 3 # 6 straight -cv86 = 3 # 9 straight -cv96 = 2 # & et open top (ampersand) - -[buildPlans.iosevka-fusion.variants.italic] -cv26 = 1 # a double storey straight -cv27 = 1 # b straight -cv29 = 1 # d straight -cv30 = 2 # e curly -cv31 = 18 # f flat hook tailed crossbar at x height -cv32 = 7 # g single storey flat hook -cv36 = 2 # k curly -cv38 = 1 # m straight normal middle leg -cv39 = 1 # n straight -cv40 = 1 # p straight -cv41 = 1 # q straight -cv45 = 1 # u straight -cv46 = 2 # v curly -cv47 = 2 # w curly short middle top -cv48 = 2 # x curly -cv50 = 4 # z curly -cv78 = 2 # 1 serified no base -cv79 = 2 # 2 curly -cv81 = 1 # 4 closed contour crossing -cv83 = 1 # 6 closed contour -cv86 = 1 # 9 closed contour -cv96 = 4 # & et open top toothed (ampersand) - -[buildPlans.iosevka-fusion.weights.thin] -shape = 100 -menu = 100 -css = 100 - -[buildPlans.iosevka-fusion.weights.extralight] -shape = 200 -menu = 200 -css = 200 - -[buildPlans.iosevka-fusion.weights.light] -shape = 300 -menu = 300 -css = 300 - -[buildPlans.iosevka-fusion.weights.regular] -shape = 400 -menu = 400 -css = 400 - -[buildPlans.iosevka-fusion.weights.book] -shape = 450 -menu = 450 -css = 450 - -[buildPlans.iosevka-fusion.weights.medium] -shape = 500 -menu = 500 -css = 500 - -[buildPlans.iosevka-fusion.weights.semibold] -shape = 600 -menu = 600 -css = 600 - -[buildPlans.iosevka-fusion.weights.bold] -shape = 700 -menu = 700 -css = 700 - -[buildPlans.iosevka-fusion.weights.extrabold] -shape = 800 -menu = 800 -css = 800 - -[buildPlans.iosevka-fusion.weights.heavy] -shape = 900 -menu = 900 -css = 900 - -[buildPlans.iosevka-fusion.slopes.upright] -angle = 0 -shape = "upright" -menu = "upright" -css = "normal" - -[buildPlans.iosevka-fusion.slopes.italic] -angle = 9.4 -shape = "italic" -menu = "italic" -css = "italic" - -[buildPlans.iosevka-fusion.widths.normal] -shape = 600 -menu = 5 -css = "normal" - -[buildPlans.iosevka-fusion.metric-override] -leading = 1350 -sb = 60 -xHeight = 530 diff --git a/anda/fonts/iosevka-fusion/update.rhai b/anda/fonts/iosevka-fusion/update.rhai deleted file mode 100644 index e9a39b4a9e..0000000000 --- a/anda/fonts/iosevka-fusion/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("be5invis/Iosevka")); diff --git a/anda/fonts/nerd-fonts/nerd-fonts.spec b/anda/fonts/nerd-fonts/nerd-fonts.spec index c91d8ec8d7..b24589be1b 100644 --- a/anda/fonts/nerd-fonts/nerd-fonts.spec +++ b/anda/fonts/nerd-fonts/nerd-fonts.spec @@ -4,8 +4,8 @@ Nerd Fonts is a project that patches developer targeted fonts with a high number of glyphs (icons).} Name: nerd-fonts -Version: 3.1.1 -Release: 1%{?dist} +Version: 3.2.1 +Release: 1%?dist URL: https://nerdfonts.com/ Source0: https://raw.githubusercontent.com/ryanoasis/nerd-fonts/v%version/readme.md Source1: https://raw.githubusercontent.com/ryanoasis/nerd-fonts/v%version/LICENSE diff --git a/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec b/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec index 5654cdbd96..7a949d9cbe 100644 --- a/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec +++ b/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec @@ -1,5 +1,5 @@ Name: sarasa-gothic-fonts -Version: 1.0.9 +Version: 1.0.14 Release: 1%?dist URL: https://github.com/be5invis/Sarasa-Gothic Source0: %url/releases/download/v%version/Sarasa-TTC-%version.7z diff --git a/anda/games/osu-lazer/osu-lazer.spec b/anda/games/osu-lazer/osu-lazer.spec index a159b0406e..36b34cb86b 100644 --- a/anda/games/osu-lazer/osu-lazer.spec +++ b/anda/games/osu-lazer/osu-lazer.spec @@ -1,9 +1,9 @@ -%define osuresver 2024.321.0 +%define osuresver 2024.622.0 %global debug_package %{nil} %define __strip /bin/true Name: osu-lazer -Version: 2024.312.1 +Version: 2024.625.2 Release: 1%?dist Summary: The future of osu! and the beginning of an open era! Commonly known by the codename osu!lazer. Pew pew. ExclusiveArch: x86_64 diff --git a/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec b/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec index f71c849458..722092100a 100644 --- a/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec +++ b/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec @@ -1,13 +1,11 @@ %global real_name prismlauncher %global nice_name PrismLauncher -%global commit 90097f130963c77280aa88de794c6cb2bc5cc102 +%global commit 3aaa36a2bc334b8a85a17b04da4629c9f70394c0 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f -%global quazip_commit 6117161af08e366c37499895b00ef62f93adc345 -%global tomlplusplus_commit 7eb2ffcc09f8e9890dc0b77ff8ab00fc53b1f2b8 -%global commit_date 20240403 +%global commit_date 20240627 %global snapshot_info %{commit_date}.%{shortcommit} %bcond_without qt6 @@ -40,8 +38,6 @@ Group: Amusements/Games URL: https://prismlauncher.org/ Source0: https://github.com/PrismLauncher/PrismLauncher/archive/%{commit}/%{real_name}-%{shortcommit}.tar.gz Source1: https://github.com/PrismLauncher/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_commit}.tar.gz -Source2: https://github.com/stachenov/quazip/archive/%{quazip_commit}/quazip-%{quazip_commit}.tar.gz -Source3: https://github.com/marzer/tomlplusplus/archive/%{tomlplusplus_commit}/tomlplusplus-%{tomlplusplus_commit}.tar.gz Patch0: 0001-find-cmark-with-pkgconfig.patch BuildRequires: cmake >= 3.15 @@ -50,6 +46,7 @@ BuildRequires: gcc-c++ BuildRequires: java-17-openjdk-devel BuildRequires: desktop-file-utils BuildRequires: libappstream-glib +BuildRequires: tomlplusplus-devel BuildRequires: cmake(ghc_filesystem) BuildRequires: cmake(Qt%{qt_version}Concurrent) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Core) >= %{min_qt_version} @@ -58,9 +55,13 @@ BuildRequires: cmake(Qt%{qt_version}Network) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Test) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Widgets) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Xml) >= %{min_qt_version} +BuildRequires: cmake(Qt%{qt_version}NetworkAuth) >= %{min_qt_version} %if %{with qt6} BuildRequires: cmake(Qt6Core5Compat) +BuildRequires: quazip-qt6-devel +%else +BuildRequires: quazip-qt5-devel %endif BuildRequires: pkgconfig(libcmark) @@ -76,8 +77,9 @@ Requires(postun): desktop-file-utils Requires: qt%{qt_version}-qtimageformats Requires: qt%{qt_version}-qtsvg Requires: javapackages-filesystem -Requires: java-17-openjdk -Requires: java-1.8.0-openjdk +Recommends: java-21-openjdk +Recommends: java-17-openjdk +Suggests: java-1.8.0-openjdk # xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 Recommends: xrandr @@ -102,13 +104,9 @@ multiple installations of Minecraft at once (Fork of MultiMC) %autosetup -p1 -n PrismLauncher-%{commit} tar -xzf %{SOURCE1} -C libraries -tar -xvf %{SOURCE2} -C libraries -tar -xvf %{SOURCE3} -C libraries -rmdir libraries/{extra-cmake-modules,filesystem,libnbtplusplus,quazip,tomlplusplus,zlib}/ +rmdir libraries/{extra-cmake-modules,filesystem,libnbtplusplus,zlib}/ mv -f libraries/libnbtplusplus-%{libnbtplusplus_commit} libraries/libnbtplusplus -mv -f libraries/quazip-%{quazip_commit} libraries/quazip -mv -f libraries/tomlplusplus-%{tomlplusplus_commit} libraries/tomlplusplus # Do not set RPATH sed -i "s|\$ORIGIN/||" CMakeLists.txt @@ -155,6 +153,9 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt %changelog +* Wed Jun 19 2024 Trung Lê <8 at tle dot id dot au> - 9.0^20240619.8014283-1 +- use system quazip-qt and tomlplusplus + * Wed Jul 26 2023 seth - 8.0^20230726.4f00012-1 - remove terra-fractureiser-detector from recommends, use proper build platform, and add patches for epel/older fedora versions diff --git a/anda/games/prismlauncher-qt5-nightly/0001-find-cmark-with-pkgconfig.patch b/anda/games/prismlauncher-qt5-nightly/0001-find-cmark-with-pkgconfig.patch deleted file mode 100644 index d41ef66bec..0000000000 --- a/anda/games/prismlauncher-qt5-nightly/0001-find-cmark-with-pkgconfig.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 5a38fc2c9a329e88c8337af541dfeccaeff1fefb Mon Sep 17 00:00:00 2001 -From: seth -Date: Sun, 15 Jan 2023 14:47:49 -0500 -Subject: [PATCH] find cmark with pkgconfig - -Signed-off-by: seth ---- - cmake/Findcmark.cmake | 59 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 59 insertions(+) - create mode 100755 cmake/Findcmark.cmake - -diff --git a/cmake/Findcmark.cmake b/cmake/Findcmark.cmake -new file mode 100755 -index 00000000..9858e5df ---- /dev/null -+++ b/cmake/Findcmark.cmake -@@ -0,0 +1,59 @@ -+# SPDX-FileCopyrightText: 2019 Black Hat -+# SPDX-License-Identifier: GPL-3.0-only -+ -+# -+# CMake module to search for the cmark library -+# -+ -+# first try to find cmark-config.cmake -+# path to a file not in the search path can be set with 'cmake -Dcmark_DIR=some/path/' -+find_package(cmark CONFIG QUIET) -+if(cmark_FOUND AND TARGET cmark::cmark) -+ # found it! -+ return() -+endif() -+ -+find_package(PkgConfig QUIET) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PC_CMARK QUIET cmark) -+endif() -+ -+if(NOT CMARK_INCLUDE_DIR) -+ find_path(CMARK_INCLUDE_DIR -+ NAMES cmark.h -+ PATHS -+ ${PC_CMARK_INCLUDEDIR} -+ ${PC_CMARK_INCLUDE_DIRS} -+ /usr/include -+ /usr/local/include) -+endif() -+ -+if(NOT CMARK_LIBRARY) -+ find_library(CMARK_LIBRARY -+ NAMES cmark -+ HINTS -+ ${PC_CMARK_LIBDIR} -+ ${PC_CMARK_LIBRARY_DIRS} -+ /usr/lib -+ /usr/local/lib) -+endif() -+ -+if(NOT TARGET cmark::cmark) -+ add_library(cmark::cmark UNKNOWN IMPORTED) -+ set_target_properties(cmark::cmark -+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES -+ ${CMARK_INCLUDE_DIR}) -+ set_property(TARGET cmark::cmark APPEND -+ PROPERTY IMPORTED_LOCATION ${CMARK_LIBRARY}) -+endif() -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(cmark -+ DEFAULT_MSG -+ CMARK_INCLUDE_DIR -+ CMARK_LIBRARY) -+ -+mark_as_advanced(CMARK_LIBRARY CMARK_INCLUDE_DIR) -+ -+set(CMARK_LIBRARIES ${CMARK_LIBRARY}) -+set(CMARK_INCLUDE_DIRS ${CMARK_INCLUDE_DIR}) --- -2.39.0 - diff --git a/anda/games/prismlauncher-qt5-nightly/anda.hcl b/anda/games/prismlauncher-qt5-nightly/anda.hcl deleted file mode 100644 index 3f85a804ff..0000000000 --- a/anda/games/prismlauncher-qt5-nightly/anda.hcl +++ /dev/null @@ -1,8 +0,0 @@ -project pkg { - rpm { - spec = "prismlauncher-qt5-nightly.spec" - } - labels { - nightly = "1" - } -} diff --git a/anda/games/prismlauncher-qt5-nightly/prismlauncher-qt5-nightly.spec b/anda/games/prismlauncher-qt5-nightly/prismlauncher-qt5-nightly.spec deleted file mode 100644 index da66b98dbb..0000000000 --- a/anda/games/prismlauncher-qt5-nightly/prismlauncher-qt5-nightly.spec +++ /dev/null @@ -1,197 +0,0 @@ -%global real_name prismlauncher -%global nice_name PrismLauncher - -%global commit 90097f130963c77280aa88de794c6cb2bc5cc102 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global libnbtplusplus_commit a5e8fd52b8bf4ab5d5bcc042b2a247867589985f -%global quazip_commit 6117161af08e366c37499895b00ef62f93adc345 -%global tomlplusplus_commit 7eb2ffcc09f8e9890dc0b77ff8ab00fc53b1f2b8 - -%global commit_date 20240403 -%global snapshot_info %{commit_date}.%{shortcommit} - -%bcond_with qt6 - -# Change this variables if you want to use custom keys -# Leave blank if you want to build Prism Launcher without MSA id or curseforge api key -%define msa_id default -%define curseforge_key default - -%if %{with qt6} -%global qt_version 6 -%global min_qt_version 6 -%else -%global qt_version 5 -%global min_qt_version 5.12 -%endif - -%global build_platform terra - -%if %{with qt6} -Name: prismlauncher-nightly -%else -Name: prismlauncher-qt5-nightly -%endif -Version: 9.0^%{snapshot_info} -Release: 1%?dist -Summary: Minecraft launcher with ability to manage multiple instances -License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND ISC AND OFL-1.1 AND LGPL-2.1-only AND MIT AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LGPL-3.0-or-later -Group: Amusements/Games -URL: https://prismlauncher.org/ -Source0: https://github.com/PrismLauncher/PrismLauncher/archive/%{commit}/%{real_name}-%{shortcommit}.tar.gz -Source1: https://github.com/PrismLauncher/libnbtplusplus/archive/%{libnbtplusplus_commit}/libnbtplusplus-%{libnbtplusplus_commit}.tar.gz -Source2: https://github.com/stachenov/quazip/archive/%{quazip_commit}/quazip-%{quazip_commit}.tar.gz -Source3: https://github.com/marzer/tomlplusplus/archive/%{tomlplusplus_commit}/tomlplusplus-%{tomlplusplus_commit}.tar.gz -Patch0: 0001-find-cmark-with-pkgconfig.patch - -BuildRequires: cmake >= 3.15 -BuildRequires: extra-cmake-modules -BuildRequires: gcc-c++ -BuildRequires: java-17-openjdk-devel -BuildRequires: desktop-file-utils -BuildRequires: libappstream-glib -BuildRequires: cmake(ghc_filesystem) -BuildRequires: cmake(Qt%{qt_version}Concurrent) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Core) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Gui) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Network) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Test) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Widgets) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Xml) >= %{min_qt_version} - -%if %{with qt6} -BuildRequires: cmake(Qt6Core5Compat) -%endif - -BuildRequires: pkgconfig(libcmark) -%if 0%{fedora} < 38 -BuildRequires: cmark -%endif -BuildRequires: pkgconfig(scdoc) -BuildRequires: pkgconfig(zlib) - -Requires(post): desktop-file-utils -Requires(postun): desktop-file-utils - -Requires: qt%{qt_version}-qtimageformats -Requires: qt%{qt_version}-qtsvg -Requires: javapackages-filesystem -Requires: java-17-openjdk -Requires: java-1.8.0-openjdk - -# xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 -Recommends: xrandr -# libflite needed for using narrator in minecraft -Recommends: flite -# Prism supports enabling gamemode -Suggests: gamemode - -Conflicts: %{real_name} -Conflicts: %{real_name}-qt5 -%if %{without qt6} -Conflicts: %{real_name}-nightly -%endif - - -%description -A custom launcher for Minecraft that allows you to easily manage -multiple installations of Minecraft at once (Fork of MultiMC) - - -%prep -%autosetup -p1 -n PrismLauncher-%{commit} - -tar -xzf %{SOURCE1} -C libraries -tar -xvf %{SOURCE2} -C libraries -tar -xvf %{SOURCE3} -C libraries - -rmdir libraries/{extra-cmake-modules,filesystem,libnbtplusplus,quazip,tomlplusplus,zlib}/ -mv -f libraries/libnbtplusplus-%{libnbtplusplus_commit} libraries/libnbtplusplus -mv -f libraries/quazip-%{quazip_commit} libraries/quazip -mv -f libraries/tomlplusplus-%{tomlplusplus_commit} libraries/tomlplusplus - -# Do not set RPATH -sed -i "s|\$ORIGIN/||" CMakeLists.txt - - -%build -%cmake \ - -DLauncher_QT_VERSION_MAJOR="%{qt_version}" \ - -DLauncher_BUILD_PLATFORM="%{build_platform}" \ - %if "%{msa_id}" != "default" - -DLauncher_MSA_CLIENT_ID="%{msa_id}" \ - %endif - %if "%{curseforge_key}" != "default" - -DLauncher_CURSEFORGE_API_KEY="%{curseforge_key}" \ - %endif - -DBUILD_TESTING=OFF - -%cmake_build - - -%install -%cmake_install - - -%check -%ctest - - -%files -%doc README.md -%license LICENSE COPYING.md -%dir %{_datadir}/%{nice_name} -%{_bindir}/%{real_name} -%{_datadir}/%{nice_name}/NewLaunch.jar -%{_datadir}/%{nice_name}/JavaCheck.jar -%{_datadir}/%{nice_name}/qtlogging.ini -%{_datadir}/%{nice_name}/NewLaunchLegacy.jar -%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop -%{_metainfodir}/org.prismlauncher.PrismLauncher.metainfo.xml -%{_datadir}/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg -%{_datadir}/mime/packages/modrinth-mrpack-mime.xml -%{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories -%{_mandir}/man?/prismlauncher.* - - -%changelog -* Wed Jul 26 2023 seth - 8.0^20230726.4f00012-1 -- remove terra-fractureiser-detector from recommends, use proper build platform, - and add patches for epel/older fedora versions - -* Sun Jul 23 2023 seth - 8.0^20230722.273d75f-1 -- update submodules, version, & use autorelease - -* Wed Jun 07 2023 seth - 7.0^20230603.954d4d7-1 -- specify jdk 17 + cleanup outdated patches/scriptlets - -* Sun May 14 2023 seth - 7.0^20230513.c5aff7c-1 -- add qtlogging.ini to files list - -* Mon Mar 20 2023 seth - 7.0^20230319.6dcf34a-1 -- recommend flite to support narrator in minecraft - -* Fri Feb 03 2023 seth - 7.0^20230203.58d9ced-1 -- disable tests and explicitly require cmark - -* Sun Jan 15 2023 seth - 7.0^20230115.f1247d2-1 -- add 0001-find-cmark-with-pkgconfig.patch - -* Fri Jan 13 2023 seth - 7.0^20230113.3de681d-1 -- add cmark as a build dep - -* Tue Jan 03 2023 seth - 7.0^20230102.4b12c85-1 -- add qlogging categories - -* Mon Dec 05 2022 seth - 6.0^20221204.79d5bef-1 -- revise file to better follow fedora packaging guidelines and add java 8 as a - dependency - -* Thu Nov 10 2022 seth - 5.1-0.1.20221110.e6d057f -- add package to Amusements/Games - -* Sun Nov 06 2022 seth - 5.0-0.1.20221105.9fb80a2 -- update installed files - -* Thu Oct 27 2022 seth - 5.0-0.1.20221027.610b971 -- initial commit diff --git a/anda/games/prismlauncher-qt5-nightly/update.rhai b/anda/games/prismlauncher-qt5-nightly/update.rhai deleted file mode 100644 index a7437e7cae..0000000000 --- a/anda/games/prismlauncher-qt5-nightly/update.rhai +++ /dev/null @@ -1,11 +0,0 @@ -if filters.contains("nightly") { - rpm.global("commit", gh_commit("PrismLauncher/PrismLauncher")); - if rpm.changed() { - rpm.release(); - let cmake = get("https://raw.githubusercontent.com/PrismLauncher/PrismLauncher/develop/CMakeLists.txt"); - let maj = find("set\\(Launcher_VERSION_MAJOR\\s+(\\d+)\\)", cmake, 1); - let min = find("set\\(Launcher_VERSION_MINOR\\s+(\\d+)\\)", cmake, 1); - rpm.global("commit_date", date()); - rpm.version(`${maj}.${min}^%{snapshot_info}`); - } -} diff --git a/anda/games/prismlauncher-qt5/anda.hcl b/anda/games/prismlauncher-qt5/anda.hcl deleted file mode 100644 index 11769d102b..0000000000 --- a/anda/games/prismlauncher-qt5/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project pkg { - rpm { - spec = "prismlauncher-qt5.spec" - } -} diff --git a/anda/games/prismlauncher-qt5/prismlauncher-qt5.spec b/anda/games/prismlauncher-qt5/prismlauncher-qt5.spec deleted file mode 100644 index a3476f26f6..0000000000 --- a/anda/games/prismlauncher-qt5/prismlauncher-qt5.spec +++ /dev/null @@ -1,184 +0,0 @@ -%global real_name prismlauncher -%global nice_name PrismLauncher -%bcond_with qt6 - -# Change this variables if you want to use custom keys -# Leave blank if you want to build Prism Launcher without MSA id or curseforge api key -%define msa_id default -%define curseforge_key default - -%if %{with qt6} -%global qt_version 6 -%global min_qt_version 6 -%else -%global qt_version 5 -%global min_qt_version 5.12 -%endif - -%global build_platform terra - -%if %{with qt6} -Name: prismlauncher -%else -Name: prismlauncher-qt5 -%endif -Version: 8.2 -Release: 1%?dist -Summary: Minecraft launcher with ability to manage multiple instances -# see COPYING.md for more information -# each file in the source also contains a SPDX-License-Identifier header that declares its license -License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND ISC AND OFL-1.1 AND LGPL-2.1-only AND MIT AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LGPL-3.0-or-later -Group: Amusements/Games -URL: https://prismlauncher.org/ -Source0: https://github.com/PrismLauncher/PrismLauncher/releases/download/%{version}/%{real_name}-%{version}.tar.gz - -BuildRequires: cmake >= 3.15 -BuildRequires: extra-cmake-modules -BuildRequires: gcc-c++ -BuildRequires: java-17-openjdk-devel -BuildRequires: desktop-file-utils -BuildRequires: libappstream-glib -BuildRequires: cmake(ghc_filesystem) -BuildRequires: cmake(Qt%{qt_version}Concurrent) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Core) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Gui) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Network) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Test) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Widgets) >= %{min_qt_version} -BuildRequires: cmake(Qt%{qt_version}Xml) >= %{min_qt_version} - -%if %{with qt6} -BuildRequires: cmake(Qt6Core5Compat) -%endif - -BuildRequires: pkgconfig(libcmark) -BuildRequires: pkgconfig(scdoc) -BuildRequires: pkgconfig(zlib) - -Requires(post): desktop-file-utils -Requires(postun): desktop-file-utils - -Requires: qt%{qt_version}-qtimageformats -Requires: qt%{qt_version}-qtsvg -Requires: javapackages-filesystem -Requires: java-17-openjdk -Requires: java-1.8.0-openjdk - -# xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 -Recommends: xrandr -# libflite needed for using narrator in minecraft -Recommends: flite - -# Prism supports enabling gamemode -Suggests: gamemode - -%if %{without qt6} -Conflicts: %{real_name} -%endif - -%description -A custom launcher for Minecraft that allows you to easily manage -multiple installations of Minecraft at once (Fork of MultiMC) - - -%prep -%autosetup -n PrismLauncher-%{version} - -rm -rf libraries/{extra-cmake-modules,filesystem,zlib} - -# Do not set RPATH -sed -i "s|\$ORIGIN/||" CMakeLists.txt - - -%build -%cmake \ - -DLauncher_QT_VERSION_MAJOR="%{qt_version}" \ - -DLauncher_BUILD_PLATFORM="%{build_platform}" \ - %if "%{msa_id}" != "default" - -DLauncher_MSA_CLIENT_ID="%{msa_id}" \ - %endif - %if "%{curseforge_key}" != "default" - -DLauncher_CURSEFORGE_API_KEY="%{curseforge_key}" \ - %endif - -DBUILD_TESTING=OFF - -%cmake_build - - -%install -%cmake_install - - -%check -%ctest - - -%files -%doc README.md -%license LICENSE COPYING.md -%dir %{_datadir}/%{nice_name} -%{_bindir}/prismlauncher -%{_datadir}/%{nice_name}/NewLaunch.jar -%{_datadir}/%{nice_name}/JavaCheck.jar -%{_datadir}/%{nice_name}/qtlogging.ini -%{_datadir}/%{nice_name}/NewLaunchLegacy.jar -%{_datadir}/applications/org.prismlauncher.PrismLauncher.desktop -%{_datadir}/icons/hicolor/scalable/apps/org.prismlauncher.PrismLauncher.svg -%{_datadir}/mime/packages/modrinth-mrpack-mime.xml -%{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories -%{_mandir}/man?/prismlauncher.* -%{_metainfodir}/org.prismlauncher.PrismLauncher.metainfo.xml - - -%changelog -* Wed Jul 26 2023 seth - 7.2-2 -- remove terra-fractureiser-detector from recommends, use proper build platform - -* Thu Jun 08 2023 seth - 6.3-3 -- specify jdk 17 + cleanup outdated patches/scriptlets - -* Mon Mar 20 2023 seth - 6.3-2 -- recommend flite to support narrator in minecraft - -* Sat Feb 04 2023 seth - 6.3-1 -- update to 6.3 - -* Mon Dec 19 2022 seth - 6.1-2 -- start using non-headless java deps - -* Mon Dec 12 2022 seth - 6.0-1 -- update to 6.0 - -* Mon Dec 05 2022 seth - 5.2-3 -- revise file to better follow fedora packaging guidelines and add java 8 as a - dependency - -* Tue Nov 15 2022 seth - 5.2-2 -- use newer version of toml++ to fix issues on aarch64 - -* Tue Nov 15 2022 seth - 5.2-1 -- update to 5.2 - -* Thu Nov 10 2022 seth - 5.1-2 -- add package to Amusements/Games - -* Tue Nov 01 2022 seth - 5.1-1 -- update to 5.1 - -* Wed Oct 19 2022 seth - 5.0-3 -- add missing deps and build with qt6 by default - -* Wed Oct 19 2022 seth - 5.0-2 -- add change-jars-path.patch to allow for package-specific jar path - -* Wed Oct 19 2022 seth - 5.0-1 -- update to version 5.0 - -* Tue Oct 18 2022 Cappy Ishihara - 1.4.2.git981e9cf-0.2.20221018.981e9cf -- Update provides and obsoletes - -* Tue Oct 18 2022 seth - 1.4.2.git981e9cf-0.1.20221018.981e9cf -- start using qt6 - -* Tue Oct 18 2022 Cappy Ishihara - 1.4.2-1 -- Repackaged as Prism Launcher diff --git a/anda/games/prismlauncher-qt5/update.rhai b/anda/games/prismlauncher-qt5/update.rhai deleted file mode 100644 index 67913ff0b4..0000000000 --- a/anda/games/prismlauncher-qt5/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("PrismLauncher/PrismLauncher")); diff --git a/anda/games/prismlauncher/prismlauncher.spec b/anda/games/prismlauncher/prismlauncher.spec index 7b76e82a66..a0c338278e 100644 --- a/anda/games/prismlauncher/prismlauncher.spec +++ b/anda/games/prismlauncher/prismlauncher.spec @@ -22,8 +22,8 @@ Name: prismlauncher %else Name: prismlauncher-qt5 %endif -Version: 8.2 -Release: 1%?dist +Version: 8.4 +Release: 2%?dist Summary: Minecraft launcher with ability to manage multiple instances # see COPYING.md for more information # each file in the source also contains a SPDX-License-Identifier header that declares its license @@ -46,11 +46,16 @@ BuildRequires: cmake(Qt%{qt_version}Network) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Test) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Widgets) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Xml) >= %{min_qt_version} +BuildRequires: tomlplusplus-devel %if %{with qt6} BuildRequires: cmake(Qt6Core5Compat) +BuildRequires: quazip-qt6-devel +%else +BuildRequires: quazip-qt5-devel %endif + BuildRequires: pkgconfig(libcmark) BuildRequires: pkgconfig(scdoc) BuildRequires: pkgconfig(zlib) @@ -61,8 +66,9 @@ Requires(postun): desktop-file-utils Requires: qt%{qt_version}-qtimageformats Requires: qt%{qt_version}-qtsvg Requires: javapackages-filesystem -Requires: java-17-openjdk -Requires: java-1.8.0-openjdk +Recommends: java-21-openjdk +Recommends: java-17-openjdk +Suggests: java-1.8.0-openjdk # xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 Recommends: xrandr @@ -131,6 +137,12 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt %changelog +* Sun Jun 23 2024 Trung Lê <8@tle.id.au> - 8.2-2 +- update to 8.4. Add quazip-qt deps + +* Wed Apr 03 2024 seth - 8.2-2 +- move JREs to weak deps, add java 21 for snapshots + * Wed Jul 26 2023 seth - 7.2-2 - remove terra-fractureiser-detector from recommends, use proper build platform diff --git a/anda/langs/crystal/crystal/crystal.spec b/anda/langs/crystal/crystal/crystal.spec index e0eb21669c..9ebcf8a289 100644 --- a/anda/langs/crystal/crystal/crystal.spec +++ b/anda/langs/crystal/crystal/crystal.spec @@ -1,8 +1,8 @@ %define debug_package %nil Name: crystal -Version: 1.11.2 -Release: 1%{?dist} +Version: 1.12.2 +Release: 1%?dist Summary: The Crystal Programming Language License: Apache-2.0 URL: https://crystal-lang.org/ diff --git a/anda/langs/dart/dart.spec b/anda/langs/dart/dart.spec index 57146e7497..de3968957a 100644 --- a/anda/langs/dart/dart.spec +++ b/anda/langs/dart/dart.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: dart -Version: 3.3.3 +Version: 3.4.4 Release: 1%?dist Summary: The Dart Language License: BSD-3-Clause diff --git a/anda/langs/go/albius/albius.spec b/anda/langs/go/albius/albius.spec new file mode 100644 index 0000000000..d382a6ad9b --- /dev/null +++ b/anda/langs/go/albius/albius.spec @@ -0,0 +1,38 @@ +%define debug_package %nil +%global commit 688ca6ae29de89174794a48be61ecd0fb1111c96 +%global commit_date 20240430 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: albius +Version: %commit_date.%shortcommit +Release: 1%?dist +Summary: A Linux installer backend with support for SquashFS and OCI installations +License: GPL-3.0 +URL: https://github.com/Vanilla-OS/Albius +Source0: %url/archive/%commit/albius-%commit.tar.gz +BuildRequires: go anda-srpm-macros btrfs-progs-devel pkgconfig(devmapper) pkgconfig(gpgme) lvm2 gcc + +%description +Albius is a Linux installer backend originally designed for Vanilla OS, +but capable of handling any Linux distribution that uses either Squashfs +or OCI images for distributing the base system. Albius is written entirely +in Go and uses a recipe system (see "recipes" subsection) for describing +operations, mountpoints and options. + +%prep +%autosetup -n Albius-%commit +go mod download + +%build +mkdir -p build/bin +go build -ldflags "-B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -s -w" -buildmode=pie -o build/bin/albius . + +%install +mkdir -p %{buildroot}%{_bindir}/ +install -pm755 build/bin/albius %{buildroot}%{_bindir}/ + +%files +%_bindir/albius + +%changelog +%autochangelog diff --git a/anda/langs/go/albius/anda.hcl b/anda/langs/go/albius/anda.hcl new file mode 100644 index 0000000000..c7692fe7ce --- /dev/null +++ b/anda/langs/go/albius/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "albius.spec" + } +} diff --git a/anda/langs/go/albius/update.rhai b/anda/langs/go/albius/update.rhai new file mode 100644 index 0000000000..87582dfdbd --- /dev/null +++ b/anda/langs/go/albius/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Vanilla-OS/Albius")); diff --git a/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec b/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec index e39b45b0fb..c8792a89e2 100644 --- a/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec +++ b/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec @@ -5,7 +5,7 @@ # https://github.com/xyproto/gendesk %global goipath github.com/xyproto/gendesk -Version: 1.0.9 +Version: 1.0.10 %global tag 1.0.9 %global commit f074161864697100fdc21a99e09b567e82aeb1b9 @@ -20,7 +20,7 @@ of information.} %global godocs README.md Name: %{goname} -Release: 2%{?dist} +Release: 1%?dist Summary: Generate .desktop files and download .png icons License: BSD-3-Clause diff --git a/anda/langs/go/xyproto-textoutput/golang-github-xyproto-textoutput.spec b/anda/langs/go/xyproto-textoutput/golang-github-xyproto-textoutput.spec index 5aaf2e2854..03bd07fe32 100644 --- a/anda/langs/go/xyproto-textoutput/golang-github-xyproto-textoutput.spec +++ b/anda/langs/go/xyproto-textoutput/golang-github-xyproto-textoutput.spec @@ -3,7 +3,7 @@ # https://github.com/xyproto/textoutput %global goipath github.com/xyproto/textoutput -Version: 1.16.3 +Version: 1.16.4 %gometa -f diff --git a/anda/langs/go/xyproto-vt100/golang-github-xyproto-vt100.spec b/anda/langs/go/xyproto-vt100/golang-github-xyproto-vt100.spec index 0b84423247..08d0ec9741 100644 --- a/anda/langs/go/xyproto-vt100/golang-github-xyproto-vt100.spec +++ b/anda/langs/go/xyproto-vt100/golang-github-xyproto-vt100.spec @@ -3,7 +3,7 @@ # https://github.com/xyproto/vt100 %global goipath github.com/xyproto/vt100 -Version: 1.14.3 +Version: 1.14.4 %gometa -f diff --git a/anda/langs/groovy/groovy-docs/groovy-docs.spec b/anda/langs/groovy/groovy-docs/groovy-docs.spec index e26aa57c81..d11409087e 100644 --- a/anda/langs/groovy/groovy-docs/groovy-docs.spec +++ b/anda/langs/groovy/groovy-docs/groovy-docs.spec @@ -1,5 +1,5 @@ Name: groovy-docs -Version: 4.0.20 +Version: 4.0.21 Release: 1%?dist Summary: Documentation for the Groovy programming language URL: https://groovy-lang.org/ diff --git a/anda/langs/groovy/groovy.spec b/anda/langs/groovy/groovy.spec index 3ea3e8eb29..147d3c8757 100644 --- a/anda/langs/groovy/groovy.spec +++ b/anda/langs/groovy/groovy.spec @@ -1,5 +1,5 @@ Name: groovy -Version: 4.0.20 +Version: 4.0.21 Release: 1%?dist Summary: A multi-faceted language for the Java platform BuildArch: noarch diff --git a/anda/langs/kotlin/kotlin-native/kotlin-native.spec b/anda/langs/kotlin/kotlin-native/kotlin-native.spec index a167b2d53f..fce3fc1e08 100644 --- a/anda/langs/kotlin/kotlin-native/kotlin-native.spec +++ b/anda/langs/kotlin/kotlin-native/kotlin-native.spec @@ -2,14 +2,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Name: kotlin-native -Version: 1.9.23 +Version: 2.0.0 Release: 1%?dist Summary: LLVM backend for the Kotlin compiler ExclusiveArch: x86_64 License: ASL 2.0 URL: https://kotlinlang.org/docs/reference/native-overview.html -Source0: https://github.com/JetBrains/kotlin/releases/download/v%{version}/kotlin-native-linux-x86_64-%{version}.tar.gz +Source0: https://github.com/JetBrains/kotlin/releases/download/v%version/kotlin-native-prebuilt-linux-x86_64-%version.tar.gz BuildRequires: tar BuildRequires: sed @@ -28,7 +28,7 @@ Kotlin compiler and native implementation of the Kotlin standard library. %prep -tar -xf %{SOURCE0} && cd kotlin-native-linux-x86_64-%{version} +tar -xf %{SOURCE0} && cd kotlin-native-prebuilt-linux-x86_64-%{version} sed -i "s|\(DIR *= *\).*|\1%{_bindir}|" bin/* sed -i "s|\(KONAN_HOME *= *\).*|\1%{_datadir}/%{name}|" bin/* @@ -36,7 +36,7 @@ sed -i "s|\(KONAN_HOME *= *\).*|\1%{_datadir}/%{name}|" bin/* %build %install -rm -rf %{buildroot} && mkdir -p %{buildroot}%{_bindir}/ && cd kotlin-native-linux-x86_64-%{version} +rm -rf %{buildroot} && mkdir -p %{buildroot}%{_bindir}/ && cd kotlin-native-prebuilt-linux-x86_64-%{version} install -m 0755 bin/cinterop %{buildroot}%{_bindir}/ install -m 0755 bin/generate-platform %{buildroot}%{_bindir}/ install -m 0755 bin/jsinterop %{buildroot}%{_bindir}/ @@ -79,65 +79,5 @@ kotlinc-native test.kt -o test %changelog -* Mon Apr 03 2023 Gonçalo Silva -- Update to 1.8.20 -* Thu Feb 02 2023 Gonçalo Silva -- Update to 1.8.10 -* Wed Dec 28 2022 Gonçalo Silva -- Update to 1.8.0 -* Wed Nov 09 2022 Gonçalo Silva -- Update to 1.7.21 -* Thu Sep 29 2022 Gonçalo Silva -- Update to 1.7.20 -* Fri Jul 08 2022 Gonçalo Silva -- Update to 1.7.10 -* Mon Jun 13 2022 Gonçalo Silva -- Update to 1.7.0 -* Mon Jun 13 2022 Gonçalo Silva -- Update to 1.6.21 -* Thu Jun 09 2022 Gonçalo Silva -- Update to 1.7.0 -* Wed Apr 20 2022 Gonçalo Silva -- Update to 1.6.21 -* Mon Apr 04 2022 Gonçalo Silva -- Update to 1.6.20 -* Tue Dec 14 2021 Gonçalo Silva -- Update to 1.6.10 -* Fri Dec 10 2021 Gonçalo Silva -- Update to 1.6.0 -* Mon Nov 29 2021 Gonçalo Silva -- Update to 1.5.32 -* Tue Nov 16 2021 Gonçalo Silva -- Update to 1.6.0 -* Mon Sep 20 2021 Gonçalo Silva -- Update to 1.5.31 -* Tue Aug 24 2021 Gonçalo Silva -- Update to 1.5.30 -* Tue Jul 13 2021 Gonçalo Silva -- Update to 1.5.21 -* Thu Jun 24 2021 Gonçalo Silva -- Update to 1.5.20 -* Mon May 24 2021 Gonçalo Silva -- Update to 1.5.10 -* Wed May 05 2021 Gonçalo Silva -- Update to 1.5.0 -* Tue Mar 30 2021 Gonçalo Silva -- Update to 1.4.32 -* Fri Feb 26 2021 Gonçalo Silva -- Update to 1.4.31 -* Wed Feb 03 2021 Gonçalo Silva -- Update to 1.4.30 -* Mon Jan 18 2021 Gonçalo Silva -- Update to 1.4.30-RC -* Mon Dec 07 2020 Gonçalo Silva -- Update to 1.4.21 -* Thu Nov 19 2020 Gonçalo Silva -- Update to 1.4.20 -* Thu Sep 10 2020 Gonçalo Silva -- Update to 1.4.10 -* Fri Aug 14 2020 Gonçalo Silva -- Update to 1.4.0 -* Sat Apr 18 2020 Gonçalo Silva -- Update to 1.3.72 -* Mon Apr 13 2020 Gonçalo Silva +%autochangelog - Kotlin/Native 1.3.71 diff --git a/anda/langs/kotlin/kotlin/kotlin.spec b/anda/langs/kotlin/kotlin/kotlin.spec index bfe9cc6074..f4ae3089a7 100644 --- a/anda/langs/kotlin/kotlin/kotlin.spec +++ b/anda/langs/kotlin/kotlin/kotlin.spec @@ -1,7 +1,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Name: kotlin -Version: 1.9.23 +Version: 2.0.0 Release: 1%?dist Summary: Statically typed programming language diff --git a/anda/langs/nim/dive/anda.hcl b/anda/langs/nim/dive/anda.hcl new file mode 100644 index 0000000000..d6f76e2751 --- /dev/null +++ b/anda/langs/nim/dive/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "umdive.spec" + } +} diff --git a/anda/langs/nim/dive/umdive.spec b/anda/langs/nim/dive/umdive.spec new file mode 100644 index 0000000000..913474b2cf --- /dev/null +++ b/anda/langs/nim/dive/umdive.spec @@ -0,0 +1,29 @@ +Name: umdive +Version: 0.1.1 +Release: 1%?dist +Summary: Chroot utility (just like arch-chroot) +License: MIT +URL: https://github.com/Ultramarine-Linux/dive +Source0: %url/archive/refs/tags/v%version.tar.gz +Requires: (%_bindir/chroot or %_sbindir/chroot) +Requires: %_bindir/mount +BuildRequires: anda-srpm-macros nim +Provides: dive = %version-%release + +%description +%summary. + +%prep +%autosetup -n dive-%version + +%build +nimble setup -y +nim c %nim_c src/dive + +%install +install -Dpm755 src/dive %buildroot%_bindir/dive + +%files +%doc README.md +%license LICENSE +%_bindir/dive diff --git a/anda/langs/nim/dive/update.rhai b/anda/langs/nim/dive/update.rhai new file mode 100644 index 0000000000..183a57fe11 --- /dev/null +++ b/anda/langs/nim/dive/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Ultramarine-Linux/dive")); diff --git a/anda/langs/nim/mkfstab/anda.hcl b/anda/langs/nim/mkfstab/anda.hcl new file mode 100644 index 0000000000..8adec4b82d --- /dev/null +++ b/anda/langs/nim/mkfstab/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "mkfstab.spec" + } +} diff --git a/anda/langs/nim/mkfstab/mkfstab.spec b/anda/langs/nim/mkfstab/mkfstab.spec new file mode 100644 index 0000000000..74b3cb1f83 --- /dev/null +++ b/anda/langs/nim/mkfstab/mkfstab.spec @@ -0,0 +1,26 @@ +Name: mkfstab +Version: 0.1.1 +Release: 1%?dist +Summary: An alternative to genfstab: generate output suitable for addition to /etc/fstab +License: MIT +URL: https://github.com/Ultramarine-Linux/mkfstab +Source0: %url/archive/refs/tags/v%version.tar.gz +BuildRequires: nim anda-srpm-macros + +%description +An alternative to genfstab from Arch Linux. This is a dead simple but faster implementation of genfstab. + +%prep +%autosetup + +%build +nimble setup -y +nim c %nim_c src/%name + +%install +install -Dpm755 src/%name %buildroot%_bindir/%name + +%files +%doc README.md +%license LICENSE +%_bindir/%name diff --git a/anda/langs/nim/mkfstab/update.rhai b/anda/langs/nim/mkfstab/update.rhai new file mode 100644 index 0000000000..cc12b58ddb --- /dev/null +++ b/anda/langs/nim/mkfstab/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Ultramarine-Linux/mkfstab")); diff --git a/anda/langs/nim/nim-nightly/nim-nightly.spec b/anda/langs/nim/nim-nightly/nim-nightly.spec index e6a47999a3..2733a01d28 100644 --- a/anda/langs/nim/nim-nightly/nim-nightly.spec +++ b/anda/langs/nim/nim-nightly/nim-nightly.spec @@ -1,11 +1,11 @@ %global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10 -%global commit 9ad4309ca433cf62197c64a83aef1b678287cfc7 +%global commit 828cd58d8a0376a5b7a6ad58d73d66617b37629a %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver 2.1.1 -%global commit_date 20240403 +%global commit_date 20240627 %global debug_package %nil -Name: nim-nighlty +Name: nim-nightly Version: %ver^%commit_date.%shortcommit Release: 1%?dist Summary: Imperative, multi-paradigm, compiled programming language @@ -19,6 +19,9 @@ Source4: nimsuggest.1 BuildRequires: gcc mold git gcc-c++ nodejs openssl-devel pkgconfig(bash-completion) gc-devel pcre pcre-devel Requires: redhat-rpm-config gcc Conflicts: choosenim +# somehow wrong name and never noticed +Provides: nim-nightly = %version-%release +Obsoletes: nim-nighlty < 2.1.1^20240404.9e1b170-2 %description @@ -29,6 +32,9 @@ order of priority). %package tools Summary: Tools for Nim programming language +Provides: nim-nightly-tools = %version-%release +Obsoletes: nim-nighlty-tools < 2.1.1^20240404.9e1b170-2 + %description tools Nim is a compiled, garbage-collected systems programming language with a design that focuses on efficiency, expressiveness, and elegance (in that @@ -41,6 +47,8 @@ This package provides various tools, which help Nim programmers. %package doc Summary: Documentation for Nim programming language BuildArch: noarch +Provides: nim-nightly-doc = %version-%release +Obsoletes: nim-nighlty-doc < 2.1.1^20240404.9e1b170-2 %description doc Nim is a compiled, garbage-collected systems programming language with a design that focuses on efficiency, expressiveness, and elegance (in that @@ -92,16 +100,18 @@ mold -run bin/nim cc -d:nimCallDepthLimit=10000 -r tools/niminst/niminst --var:v sh ./install.sh %buildroot/usr/bin -mkdir -p %buildroot/%_bindir %buildroot/%_datadir/bash-completion/completions %buildroot/usr/lib/nim +mkdir -p %buildroot/%_bindir %buildroot/%_datadir/bash-completion/completions %buildroot/usr/lib/nim %buildroot%_datadir install -Dpm755 bin/nim{grep,suggest,pretty} %buildroot/%_bindir install -Dpm644 tools/nim.bash-completion %buildroot/%_datadir/bash-completion/completions/nim install -Dpm644 dist/nimble/nimble.bash-completion %buildroot/%_datadir/bash-completion/completions/nimble install -Dpm644 -t%buildroot/%_mandir/man1 %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4 +mv %buildroot%_bindir/nim %buildroot%_datadir/ +ln -s %_datadir/nim/bin/nim %buildroot%_bindir/nim %ifarch x86_64 -mkdir -p %buildroot/%_docdir/%name/html -cp -a doc/html/*.html %buildroot/%_docdir/%name/html/ -cp tools/dochack/dochack.js %buildroot/%_docdir/%name/ +mkdir -p %buildroot/%_docdir/%name/html || true +cp -a doc/html/*.html %buildroot/%_docdir/%name/html/ || true +cp tools/dochack/dochack.js %buildroot/%_docdir/%name/ || true %endif cp -r lib/* %buildroot%_prefix/lib/nim/ @@ -121,6 +131,7 @@ rm %buildroot%_bindir/*.bat || true %_bindir/nim{,ble} %_mandir/man1/nim{,ble}.1* %_datadir/bash-completion/completions/nim{,ble} +%_datadir/nim/ %_prefix/lib/nim/ %_sysconfdir/nim/ diff --git a/anda/langs/nim/nim/nim.spec b/anda/langs/nim/nim/nim.spec index bbf7132f31..6131581e0f 100644 --- a/anda/langs/nim/nim/nim.spec +++ b/anda/langs/nim/nim/nim.spec @@ -2,8 +2,8 @@ %global debug_package %{nil} Name: nim -Version: 2.0.2 -Release: 3%{?dist} +Version: 2.0.6 +Release: 1%?dist Summary: Imperative, multi-paradigm, compiled programming language License: MIT and BSD URL: https://nim-lang.org diff --git a/anda/langs/python/mpv/python-mpv.spec b/anda/langs/python/mpv/python-mpv.spec index 779d243f44..9e42548f52 100644 --- a/anda/langs/python/mpv/python-mpv.spec +++ b/anda/langs/python/mpv/python-mpv.spec @@ -1,8 +1,8 @@ %define debug_package %nil Name: python3-mpv -Version: 1.0.5 -Release: 1%{?dist} +Version: 1.0.7 +Release: 1%?dist Summary: Python interface to the awesome mpv media player License: GPL-2.0+ OR LGPL-2.1+ URL: https://github.com/jaseg/python-mpv diff --git a/anda/langs/python/pip-system-certs/anda.hcl b/anda/langs/python/pip-system-certs/anda.hcl new file mode 100644 index 0000000000..c480550cba --- /dev/null +++ b/anda/langs/python/pip-system-certs/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "python-pip-system-certs.spec" + } +} diff --git a/anda/langs/python/pip-system-certs/python-pip-system-certs.spec b/anda/langs/python/pip-system-certs/python-pip-system-certs.spec new file mode 100644 index 0000000000..6dfc694f2c --- /dev/null +++ b/anda/langs/python/pip-system-certs/python-pip-system-certs.spec @@ -0,0 +1,56 @@ +# Created by pyp2rpm-3.3.10 +%global pypi_name pip-system-certs +%global pypi_version 4.0 + +Name: python-%{pypi_name} +Version: %{pypi_version} +Release: 1%{?dist} +Summary: Live patches pip to use system certs by default + +License: BSD-2-Clause +URL: https://gitlab.com/alelec/pip-system-certs +Source0: https://files.pythonhosted.org/packages/source/p/%{pypi_name}/pip_system_certs-%{pypi_version}.tar.gz +BuildArch: noarch + +BuildRequires: python3-devel python3-pip python3dist(setuptools) python3dist(wheel) git + + +%description +This package patches pip and requests at runtime to use +certificates from the default system store (rather than the bundled certs +ca). This will allow pip to verify tls/ssl connections to servers who's cert is +trusted by your system install. + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +Requires: python3dist(wrapt) >= 1.10.4 +%description -n python3-%{pypi_name} +This package patches pip and requests at runtime to use +certificates from the default system store (rather than the bundled certs +ca). This will allow pip to verify tls/ssl connections to servers who's cert is +trusted by your system install. + +%prep +%autosetup -n pip_system_certs-%{pypi_version} +# Remove bundled egg-info +rm -rf %{pypi_name}.egg-info + +%build +pip install git-versioner +%pyproject_wheel + +%install +%pyproject_install + +%pyproject_save_files pip_system_certs + +%files -n python3-%{pypi_name} -f %pyproject_files +%license LICENSE +%doc README.rst +%python3_sitelib/pip_system_certs.pth + +%changelog +* Thu Apr 04 2024 madomado - 4.0-1 +- Initial package. diff --git a/anda/langs/python/pip-system-certs/update.rhai b/anda/langs/python/pip-system-certs/update.rhai new file mode 100644 index 0000000000..a08ae89c6a --- /dev/null +++ b/anda/langs/python/pip-system-certs/update.rhai @@ -0,0 +1 @@ +rpm.global("pypi_version", pypi("pip-system-certs")); diff --git a/anda/langs/python/protobuf/python3-protobuf.spec b/anda/langs/python/protobuf/python3-protobuf.spec index 4260ef3e64..563dafdce4 100644 --- a/anda/langs/python/protobuf/python3-protobuf.spec +++ b/anda/langs/python/protobuf/python3-protobuf.spec @@ -2,7 +2,7 @@ %global pypi_name protobuf Name: python-%{pypi_name} -Version: 5.26.1 +Version: 5.27.2 Release: 1%?dist Summary: Protocol Buffers diff --git a/anda/langs/python/ruff/python3-ruff.spec b/anda/langs/python/ruff/python3-ruff.spec index d188e82167..2d5969d30d 100644 --- a/anda/langs/python/ruff/python3-ruff.spec +++ b/anda/langs/python/ruff/python3-ruff.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: python3-ruff -Version: 0.3.5 +Version: 0.5.0 Release: 1%?dist Summary: An extremely fast Python linter, written in Rust License: MIT diff --git a/anda/langs/rust/bat-extras/bat-extras.spec b/anda/langs/rust/bat-extras/bat-extras.spec index fcd6089128..59cdd8f3a3 100644 --- a/anda/langs/rust/bat-extras/bat-extras.spec +++ b/anda/langs/rust/bat-extras/bat-extras.spec @@ -1,8 +1,8 @@ %define debug_package %{nil} Name: bat-extras -Version: 2024.02.12 -Release: 1%{?dist} +Version: 2024.07.10 +Release: 1%?dist Summary: Bash scripts that integrate bat with various command line tools License: MIT diff --git a/anda/langs/rust/felix/rust-felix.spec b/anda/langs/rust/felix/rust-felix.spec index 9d952c96c1..2b66a23fdd 100644 --- a/anda/langs/rust/felix/rust-felix.spec +++ b/anda/langs/rust/felix/rust-felix.spec @@ -2,8 +2,8 @@ %global crate felix Name: rust-felix -Version: 2.12.1 -Release: 1%{?dist} +Version: 2.13.0 +Release: 1%?dist Summary: Tui file manager with vim-like key mapping License: MIT diff --git a/anda/langs/rust/gitoxide/rust-gitoxide.spec b/anda/langs/rust/gitoxide/rust-gitoxide.spec index 0dfbd281bc..f6dad5beec 100644 --- a/anda/langs/rust/gitoxide/rust-gitoxide.spec +++ b/anda/langs/rust/gitoxide/rust-gitoxide.spec @@ -1,10 +1,11 @@ # Generated by rust2rpm 24 %bcond_without check +%global __brp_mangle_shebangs %{nil} %global crate gitoxide Name: rust-gitoxide -Version: 0.33.0 +Version: 0.36.0 Release: 1%?dist Summary: Command-line application for interacting with git repositories diff --git a/anda/langs/rust/maturin/rust-terra-maturin.spec b/anda/langs/rust/maturin/rust-terra-maturin.spec index 965a3abe48..9d80a663be 100644 --- a/anda/langs/rust/maturin/rust-terra-maturin.spec +++ b/anda/langs/rust/maturin/rust-terra-maturin.spec @@ -1,8 +1,8 @@ -# Generated by rust2rpm 24 +# Generated by rust2rpm 26 %global crate maturin Name: rust-terra-maturin -Version: 1.5.1 +Version: 1.6.0 Release: 1%?dist Summary: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages @@ -296,40 +296,40 @@ use the "tracing-subscriber" feature of the "%{crate}" crate. %files -n %{name}+tracing-subscriber-devel %ghost %{crate_instdir}/Cargo.toml -%package -n %{name}+upload-devel +%package -n %{name}+unicode-xid-devel Summary: %{summary} BuildArch: noarch -%description -n %{name}+upload-devel %{_description} +%description -n %{name}+unicode-xid-devel %{_description} This package contains library source intended for building other packages which -use the "upload" feature of the "%{crate}" crate. +use the "unicode-xid" feature of the "%{crate}" crate. -%files -n %{name}+upload-devel +%files -n %{name}+unicode-xid-devel %ghost %{crate_instdir}/Cargo.toml -%package -n %{name}+ureq-devel +%package -n %{name}+upload-devel Summary: %{summary} BuildArch: noarch -%description -n %{name}+ureq-devel %{_description} +%description -n %{name}+upload-devel %{_description} This package contains library source intended for building other packages which -use the "ureq" feature of the "%{crate}" crate. +use the "upload" feature of the "%{crate}" crate. -%files -n %{name}+ureq-devel +%files -n %{name}+upload-devel %ghost %{crate_instdir}/Cargo.toml -%package -n %{name}+url-devel +%package -n %{name}+ureq-devel Summary: %{summary} BuildArch: noarch -%description -n %{name}+url-devel %{_description} +%description -n %{name}+ureq-devel %{_description} This package contains library source intended for building other packages which -use the "url" feature of the "%{crate}" crate. +use the "ureq" feature of the "%{crate}" crate. -%files -n %{name}+url-devel +%files -n %{name}+ureq-devel %ghost %{crate_instdir}/Cargo.toml %package -n %{name}+wild-devel @@ -369,7 +369,7 @@ use the "zig" feature of the "%{crate}" crate. %ghost %{crate_instdir}/Cargo.toml %prep -%autosetup -n %{crate}-%{version_no_tilde} -p1 +%autosetup -n %{crate}-%{version} -p1 %cargo_prep_online %build diff --git a/anda/langs/rust/nushell/nushell.spec b/anda/langs/rust/nushell/nushell.spec index 9fd015c08c..f856f441ba 100644 --- a/anda/langs/rust/nushell/nushell.spec +++ b/anda/langs/rust/nushell/nushell.spec @@ -1,5 +1,5 @@ Name: nushell -Version: 0.92.0 +Version: 0.95.0 Release: 1%?dist Summary: A new type of shell License: MIT @@ -16,10 +16,11 @@ Requires: glibc openssl zlib %cargo_prep_online %build -%{cargo_build -f extra,dataframe} --workspace +%{cargo_build -f extra} --workspace %install -%cargo_install -f extra,dataframe +mkdir -p %buildroot%_bindir +cp target/rpm/nu* %buildroot%_bindir/ rm -rf .cargo %post diff --git a/anda/langs/rust/oxipng/rust-oxipng.spec b/anda/langs/rust/oxipng/rust-oxipng.spec index 5257611025..35635f792c 100644 --- a/anda/langs/rust/oxipng/rust-oxipng.spec +++ b/anda/langs/rust/oxipng/rust-oxipng.spec @@ -4,8 +4,8 @@ %global crate oxipng Name: rust-oxipng -Version: 9.0.0 -Release: %autorelease +Version: 9.1.1 +Release: 1%?dist Summary: Lossless PNG compression optimizer License: MIT diff --git a/anda/langs/rust/rnote/rnote.spec b/anda/langs/rust/rnote/rnote.spec index da10fdf0fd..884e5fd67f 100644 --- a/anda/langs/rust/rnote/rnote.spec +++ b/anda/langs/rust/rnote/rnote.spec @@ -1,5 +1,5 @@ Name: rnote -Version: 0.10.1 +Version: 0.10.2 Release: 1%?dist Summary: Sketch and take handwritten notes. License: GPL-3.0 diff --git a/anda/langs/rust/starship/rust-starship.spec b/anda/langs/rust/starship/rust-starship.spec index ed1d750aa8..9e279815b3 100644 --- a/anda/langs/rust/starship/rust-starship.spec +++ b/anda/langs/rust/starship/rust-starship.spec @@ -4,15 +4,15 @@ %global crate starship Name: rust-starship -Version: 1.18.2 -Release: 1%?dist +Version: 1.19.0 +Release: %autorelease Summary: Minimal, blazing-fast, and infinitely customizable prompt for any shell! ☄🌌️ License: ISC URL: https://crates.io/crates/starship Source: %{crates_source} # Automatically generated patch to strip dependencies and normalize metadata -Patch0: starship-fix-metadata-auto.diff +Patch: starship-fix-metadata-auto.diff BuildRequires: cargo-rpm-macros >= 24 BuildRequires: anda-srpm-macros @@ -175,10 +175,10 @@ use the "starship-battery" feature of the "%{crate}" crate. %cargo_prep_online %build -%{cargo_build} +%cargo_build %install -%{cargo_install} +%cargo_install %if %{with check} %check diff --git a/anda/langs/rust/starship/starship-fix-metadata-auto.diff b/anda/langs/rust/starship/starship-fix-metadata-auto.diff index a3d883dfd4..586bceeb50 100644 --- a/anda/langs/rust/starship/starship-fix-metadata-auto.diff +++ b/anda/langs/rust/starship/starship-fix-metadata-auto.diff @@ -1,5 +1,5 @@ ---- starship-1.18.1/Cargo.toml 1970-01-01T00:00:01+00:00 -+++ starship-1.18.1/Cargo.toml 2024-03-24T13:14:24.022475+00:00 +--- starship-1.19.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ starship-1.19.0/Cargo.toml 2024-05-16T10:47:19.540098+00:00 @@ -263,18 +263,3 @@ ] default-features = false @@ -8,7 +8,7 @@ -version = "0.2.0" - -[target."cfg(windows)".dependencies.windows] --version = "0.54.0" +-version = "0.56.0" -features = [ - "Win32_Foundation", - "Win32_UI_Shell", diff --git a/anda/langs/rust/youki/youki.spec b/anda/langs/rust/youki/youki.spec index d459ea9da2..470cf96f8b 100644 --- a/anda/langs/rust/youki/youki.spec +++ b/anda/langs/rust/youki/youki.spec @@ -1,6 +1,6 @@ Name: youki -Version: 0.3.2 -Release: 1%{?dist} +Version: 0.3.3 +Release: 1%?dist Summary: A container runtime written in Rust License: Apache-2.0 diff --git a/anda/langs/rust/zellij/rust-zellij.spec b/anda/langs/rust/zellij/rust-zellij.spec index af75cf782e..de6f4a5fdc 100644 --- a/anda/langs/rust/zellij/rust-zellij.spec +++ b/anda/langs/rust/zellij/rust-zellij.spec @@ -5,8 +5,8 @@ %global crate zellij Name: rust-zellij -Version: 0.39.2 -Release: 1%{?dist} +Version: 0.40.1 +Release: 1%?dist Summary: Terminal workspace with batteries included License: MIT diff --git a/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec b/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec index 4dd93a8131..e2ad4311e8 100644 --- a/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec +++ b/anda/langs/vala/vala-language-server-nightly/vala-language-server-nightly.spec @@ -1,9 +1,9 @@ %global real_name vala-language-server -%global commit a49292758922160244d1842cdcba0a5154d1cb27 +%global commit 31cb5116a4a138365feb709ebb7b8670db604991 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20240330 +%global commit_date 20240605 %global snapshot_info %{commit_date}.%{shortcommit} %global verrel 0.48.7 diff --git a/anda/langs/vala/vala-nightly/vala-nightly.spec b/anda/langs/vala/vala-nightly/vala-nightly.spec index a0ed0b85f5..74bb37b441 100644 --- a/anda/langs/vala/vala-nightly/vala-nightly.spec +++ b/anda/langs/vala/vala-nightly/vala-nightly.spec @@ -3,11 +3,11 @@ %global priority 90 %global real_name vala -%global commit 86984c59734f975c9778251dddf80d247ade28a7 +%global commit a2a52c52d8e7ee9a388edf69ed3e9931035f3fcf %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global repo https://gitlab.gnome.org/GNOME/%{real_name}.git -%global commit_date 20240327 +%global commit_date 20240625 %global snapshot_info %{commit_date}.%{shortcommit} Name: vala-nightly diff --git a/anda/langs/vala/vala-panel-appmenu/vala-panel-appmenu.spec b/anda/langs/vala/vala-panel-appmenu/vala-panel-appmenu.spec index f1d1d16987..fb9479117d 100644 --- a/anda/langs/vala/vala-panel-appmenu/vala-panel-appmenu.spec +++ b/anda/langs/vala/vala-panel-appmenu/vala-panel-appmenu.spec @@ -1,9 +1,9 @@ %global forgeurl https://gitlab.com/vala-panel-project/vala-panel-appmenu -%global commit 49aa4247d155fa98b306063782b718ef846c78e7 +%global commit 7631683adb35cd4fae387abf7ff1552aab4d2249 %forgemeta Name: vala-panel-appmenu -Version: 24.02 +Version: 24.05 Release: 1%?dist License: LGPL-3.0-or-later Summary: Application Menu plugin for vala-panel @@ -118,9 +118,9 @@ Vala appmenu support for Java Swing applications. %{_datadir}/glib-2.0/schemas/org.valapanel.appmenu.gschema.xml %{_datadir}/vala-panel/applets/org.valapanel.appmenu.plugin %{_datadir}/vala/vapi/appmenu-glib-translator.* -%{_datadir}/gir-1.0/AppmenuGLibTranslator-%version.gir +%{_datadir}/gir-1.0/AppmenuGLibTranslator-*.gir %{_includedir}/appmenu-glib-translator/importer.h -%{_libdir}/girepository-1.0/AppmenuGLibTranslator-%version.typelib +%{_libdir}/girepository-1.0/AppmenuGLibTranslator-*.typelib %{_libdir}/libappmenu-glib-translator.* %files -n vala-panel-appmenu-gtk-module diff --git a/anda/langs/vala/vala-panel/vala-panel.spec b/anda/langs/vala/vala-panel/vala-panel.spec index fbfc716872..7ebd3c8fee 100644 --- a/anda/langs/vala/vala-panel/vala-panel.spec +++ b/anda/langs/vala/vala-panel/vala-panel.spec @@ -1,5 +1,5 @@ Name: vala-panel -Version: 24.03 +Version: 24.05 %global forgeurl https://gitlab.com/vala-panel-project/vala-panel %forgemeta @@ -72,7 +72,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.valapanel.applica %{_datadir}/vala-panel/applets/*.plugin %dir %{_datadir}/vala-panel/images %{_datadir}/vala-panel/images/background.png -%{_libdir}/girepository-1.0/ValaPanel-%version.typelib +%{_libdir}/girepository-1.0/ValaPanel-*.typelib %files devel %doc README.md @@ -82,7 +82,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.valapanel.applica %{_libdir}/libvalapanel.so %{_libdir}/pkgconfig/vala-panel.pc %{_datadir}/vala/vapi/vala-panel.* -%{_datadir}/gir-1.0/ValaPanel-%version.gir +%{_datadir}/gir-1.0/ValaPanel-*.gir %changelog %autochangelog diff --git a/anda/lib/apparmor/apparmor.spec b/anda/lib/apparmor/apparmor.spec index 112275b0d4..0f2fb2c1be 100644 --- a/anda/lib/apparmor/apparmor.spec +++ b/anda/lib/apparmor/apparmor.spec @@ -4,14 +4,15 @@ Name: apparmor Version: 4.0.0~alpha3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: AppArmor userspace components %define baseversion %(echo %{version} | cut -d. -f-2) +%global normver %(echo %version | sed 's/~/-/') License: GPL-2.0 URL: https://launchpad.net/apparmor -Source0: %{url}/%{baseversion}/%(echo %version | sed 's/~/-/')/+download/%{name}-%{version}.tar.gz +Source0: %{url}/%{baseversion}/%normver/+download/%{name}-%{version}.tar.gz Source1: apparmor.preset Patch01: 0001-fix-avahi-daemon-authselect-denial-in-fedora.patch @@ -138,6 +139,8 @@ changehat abilities exposed through libapparmor. %prep %autosetup -p1 -n %{name}-%{version} +sed -i 's/@VERSION@/%normver/g' libraries/libapparmor/swig/python/setup.py.in +sed -i 's/${VERSION}/%normver/g' utils/Makefile %build export PYTHON=%{__python3} @@ -149,7 +152,7 @@ pushd libraries/libapparmor %configure \ --with-python \ -%make_build +%make_build VERSION=%normver popd %make_build -C binutils diff --git a/anda/lib/libappimage/libappimage.spec b/anda/lib/libappimage/libappimage.spec index 63797c4507..4ebe50ea02 100644 --- a/anda/lib/libappimage/libappimage.spec +++ b/anda/lib/libappimage/libappimage.spec @@ -7,7 +7,7 @@ Name: libappimage Version: %{libver_format} -Release: 2%{?dist} +Release: 3%{?dist} Summary: Implements functionality for dealing with AppImage files License: MIT diff --git a/anda/lib/libappimageupdate/libappimageupdate.spec b/anda/lib/libappimageupdate/libappimageupdate.spec index f2be4a8dd8..cb5f2d506f 100644 --- a/anda/lib/libappimageupdate/libappimageupdate.spec +++ b/anda/lib/libappimageupdate/libappimageupdate.spec @@ -23,7 +23,7 @@ BuildRequires: cmake3 BuildRequires: cpr-devel BuildRequires: gcc-c++ BuildRequires: libappimage-devel curl-devel libX11-devel zlib-devel fuse-devel librsvg2-devel cairo-devel git-core -BuildRequires: nlohmann-json-devel +BuildRequires: json-devel BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(gpgme) BuildRequires: pkgconfig(Qt5) diff --git a/anda/lib/libayatana-common/libayatana-common.spec b/anda/lib/libayatana-common/libayatana-common.spec index e2c1367b5c..d323d61f4e 100644 --- a/anda/lib/libayatana-common/libayatana-common.spec +++ b/anda/lib/libayatana-common/libayatana-common.spec @@ -1,7 +1,7 @@ Name: libayatana-common Summary: Common functions for Ayatana System Indicators Version: 0.9.10 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-3.0 URL: https://github.com/AyatanaIndicators/libayatana-common Source0: %{url}/archive/refs/tags/%{version}.tar.gz diff --git a/anda/lib/libindicator/terra-libindicator.spec b/anda/lib/libindicator/terra-libindicator.spec index 669f39e316..611037c11a 100644 --- a/anda/lib/libindicator/terra-libindicator.spec +++ b/anda/lib/libindicator/terra-libindicator.spec @@ -57,7 +57,7 @@ developing applications that use %{name}-gtk3. %prep %setup -q -c -%patch1 -p1 -b .orig +%patch 1 -p1 -b .orig # Remove all IDO references # This is only needed for tools/indicator-loader.c sed -i '6d' ./Makefile.am diff --git a/anda/lib/nlohmann-json/anda.hcl b/anda/lib/nlohmann-json/anda.hcl deleted file mode 100644 index 90d7b3a597..0000000000 --- a/anda/lib/nlohmann-json/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project pkg { - rpm { - spec = "nlohmann-json.spec" - } -} diff --git a/anda/lib/nlohmann-json/nlohmann-json.spec b/anda/lib/nlohmann-json/nlohmann-json.spec deleted file mode 100644 index ebe2564a1b..0000000000 --- a/anda/lib/nlohmann-json/nlohmann-json.spec +++ /dev/null @@ -1,104 +0,0 @@ -%global debug_package %{nil} - -Name: nlohmann-json -Version: 3.11.3 -Release: 1%{?dist} - -Summary: JSON for Modern C++ (c++11) ("single header file") - - -%define desc %{expand: -There are myriads of JSON libraries out there, and each may even have its -reason to exist. Our class had these design goals: -- intuitive syntax. -- Trivial integration. -- Serious testing} - -License: MIT -Url: https://github.com/nlohmann/json - -Source: https://github.com/nlohmann/json/archive/refs/tags/v%{version}.tar.gz - -BuildRequires: cmake gcc-c++ - -%description -%{desc} - -%package devel -Summary: JSON for Modern C++ (c++11) ("single header file") -Group: Development/C++ - -%description devel -%{desc} - -This package contains the single header C++ file and CMake dependency files. - -%prep -%autosetup -n json-%{version} - -%build -%cmake - - -%install -%cmake_install - -%files devel -%doc README.md -%license LICENSE.MIT -%{_includedir}/nlohmann -%{_datadir}/cmake/nlohmann_json/ -%{_datadir}/pkgconfig/nlohmann_json.pc - -%changelog -* Mon Dec 26 2022 Cappy Ishihara - 3.11.2-1.um37 -- Rebuild for Terra, dependency of libappimageupdate - -* Fri Dec 10 2021 Ilya Kurdyukov 3.10.4-alt1.1 -- Fixed build for Elbrus. - -* Mon Nov 15 2021 Paul Wolneykien 3.10.4-alt1 -- new version 3.10.4 - -* Thu Sep 16 2021 Ivan A. Melnikov 3.10.2-alt2 -- Disable slower tests on %%mips and riscv64 to avoid timeouts. - -* Tue Sep 14 2021 Paul Wolneykien 3.10.2-alt1 -- Updated to v3.10.2. - -* Wed Apr 28 2021 Arseny Maslennikov 3.8.0-alt3.1 -- NMU: spec: adapted to new cmake macros. - -* Thu Sep 10 2020 Ivan A. Melnikov 3.8.0-alt3 -- Skip test-unicode on mips*, as it timeouts. - -* Fri Jul 03 2020 Paul Wolneykien 3.8.0-alt2 -- Added the test data bundle. -- Fix: Run the tests with CMake. -- Skip the cmake_fetch_content test. - -* Thu Jul 02 2020 Paul Wolneykien 3.8.0-alt1 -- Freshed up to v3.8.0. - -* Tue Mar 31 2020 Paul Wolneykien 3.7.2-alt2 -- Run the auto-tests. -- Package CMake dependency files. -- This is now an arch package'nlohmann-json' providing nlohmann-json-devel - and replacing json-cpp. -- Fixed project lincense: MIT. - -* Tue Mar 31 2020 Paul Wolneykien 3.7.2-alt1 -- Upstream version 3.7.2. -- Also install %%_includedir/nlohmann/json.hpp symlink. - -* Mon Nov 26 2018 Pavel Vainerman 3.4.0-alt1 -- new version - -* Sun Mar 19 2017 Pavel Vainerman 2.1.1-alt1 -- new version - -* Tue Nov 08 2016 Pavel Vainerman 2.0.7-alt1 -- new version - -* Sun Oct 30 2016 Pavel Vainerman 2.0.6-alt0.1 -- initial commit diff --git a/anda/lib/nlohmann-json/update.rhai b/anda/lib/nlohmann-json/update.rhai deleted file mode 100644 index 3357c0919d..0000000000 --- a/anda/lib/nlohmann-json/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("nlohmann/json")); diff --git a/anda/lib/openh264/anda.hcl b/anda/lib/openh264/anda.hcl index e652be253d..b62df13d06 100644 --- a/anda/lib/openh264/anda.hcl +++ b/anda/lib/openh264/anda.hcl @@ -1,5 +1,5 @@ project pkg { rpm { - spec = "openh264.spec" + spec = "openh264.spec" } } diff --git a/anda/lib/openh264/gst-p-bad-cleanup.sh b/anda/lib/openh264/gst-p-bad-cleanup.sh deleted file mode 100644 index 92211717e0..0000000000 --- a/anda/lib/openh264/gst-p-bad-cleanup.sh +++ /dev/null @@ -1,201 +0,0 @@ -#!/bin/sh - -# Process a gst-plugins-bad tarball to remove -# unwanted GStreamer plugins. -# -# This script here is taken from Fedora gstreamer1-plugins-bad-free repo, with -# only change being openh264 addition. -# -# See https://bugzilla.redhat.com/show_bug.cgi?id=532470 -# for details -# -# Bastien Nocera - 2010 -# - -SOURCE="$1" -NEW_SOURCE=`echo $SOURCE | sed 's/bad-/bad-openh264-/'` -DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'` - -ALLOWED=" -aacparse -accurip -adpcmdec -adpcmenc -aiff -aiffparse -amrparse -asfmux -audiobuffersplit -audiofxbad -audiolatency -audiomixer -audiomixmatrix -audioparsers -audiovisualizers -autoconvert -bayer -camerabin -camerabin2 -cdxaparse -codecalpha -codectimestamper -coloreffects -colorspace -compositor -dataurisrc -dccp -debugutils -dtmf -dvbsubenc -faceoverlay -festival -fieldanalysis -freeverb -freeze -frei0r -gaudieffects -gdp -geometrictransform -h264parse -hdvparse -hls -id3tag -inter -interlace -invtelecine -ivfparse -ivtc -jpegformat -jp2kdecimator -legacyresample -librfb -liveadder -midi -mve -mpegdemux -mpeg4videoparse -mpegpsmux -mpegtsdemux -mpegtsmux -mpegvideoparse -mxf -netsim -nsf -nuvdemux -onvif -openh264 -patchdetect -pcapparse -pnm -proxy -qtmux -rawparse -removesilence -rist -rtmp2 -rtp -rtpmux -rtpvp8 -scaletempo -sdi -sdp -segmentclip -selector -smooth -speed -stereo -subenc -switchbin -timecode -transcode -tta -valve -videofilters -videoframe_audiolevel -videomaxrate -videomeasure -videoparsers -videosignal -vmnc -yadif -y4m -" - -NOT_ALLOWED=" -dvbsuboverlay -dvdspu -real -siren -" - -error() -{ - MESSAGE=$1 - echo $MESSAGE - exit 1 -} - -check_allowed() -{ - MODULE=$1 - for i in $ALLOWED ; do - if test x$MODULE = x$i ; then - return 0; - fi - done - # Ignore errors coming from ext/ directory - # they require external libraries so are ineffective anyway - return 1; -} - -check_not_allowed() -{ - MODULE=$1 - for i in $NOT_ALLOWED ; do - if test x$MODULE = x$i ; then - return 0; - fi - done - return 1; -} - -rm -rf $DIRECTORY -tar xJf $SOURCE || error "Cannot unpack $SOURCE" -pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\"" - -unknown="" -for subdir in gst ext sys; do - for dir in $subdir/* ; do - # Don't touch non-directories - if ! [ -d $dir ] ; then - continue; - fi - MODULE=`basename $dir` - if ( check_not_allowed $MODULE ) ; then - echo "**** Removing $MODULE ****" - echo "Removing directory $dir" - rm -r $dir || error "Cannot remove $dir" - echo - elif test $subdir = ext || test $subdir = sys; then - # Ignore library or system non-blacklisted plugins - continue; - elif ! ( check_allowed $MODULE ) ; then - echo "Unknown module in $dir" - unknown="$unknown $dir" - fi - done -done - -echo - -if test "x$unknown" != "x"; then - echo -n "Aborting due to unkown modules: " - echo "$unknown" | sed "s/ /\n /g" - exit 1 -fi - -popd > /dev/null - -tar cJf $NEW_SOURCE $DIRECTORY -echo "$NEW_SOURCE is ready to use" - diff --git a/anda/lib/openh264/hardcode-openh264-dep.patch b/anda/lib/openh264/hardcode-openh264-dep.patch deleted file mode 100644 index fbedcd96e1..0000000000 --- a/anda/lib/openh264/hardcode-openh264-dep.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up gst-plugins-bad-1.18.2/ext/openh264/meson.build.orig gst-plugins-bad-1.18.2/ext/openh264/meson.build ---- gst-plugins-bad-1.18.2/ext/openh264/meson.build.orig 2020-12-06 14:24:13.000000000 +0100 -+++ gst-plugins-bad-1.18.2/ext/openh264/meson.build 2021-02-11 11:48:58.660450319 +0100 -@@ -4,9 +4,7 @@ openh264_sources = [ - 'gstopenh264plugin.c', - ] - --openh264_dep = dependency('openh264', version : '>= 1.3.0', -- required : get_option('openh264'), -- fallback: ['openh264', 'openh264_dep']) -+openh264_dep = cc.find_library('openh264') - - if openh264_dep.found() - gstopenh264 = library('gstopenh264', diff --git a/anda/lib/openh264/openh264.spec b/anda/lib/openh264/openh264.spec index 91177c9020..27e0bb42c8 100644 --- a/anda/lib/openh264/openh264.spec +++ b/anda/lib/openh264/openh264.spec @@ -2,31 +2,20 @@ %global commit1 e7d30b921df736a1121a0c8e0cf3ab1ce5b8a4b7 %global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) -%global openh264_version 2.4.1 -%global gst_version 1.24.1 - Name: openh264 -Version: %{openh264_version} +Version: 2.4.1 # Also bump the Release tag for gstreamer1-plugin-openh264 down below Release: 1%{?dist} Summary: H.264 codec library License: BSD URL: https://www.openh264.org/ -Source0: https://github.com/cisco/openh264/archive/v%{openh264_version}/openh264-%{openh264_version}.tar.gz +Source0: https://github.com/cisco/openh264/archive/v%version/openh264-%version.tar.gz Source1: https://github.com/mozilla/gmp-api/archive/%{commit1}/gmp-api-%{shortcommit1}.tar.gz -# The source is: -# http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%%{gst_version}.tar.xz -# modified with gst-p-bad-cleanup.sh from SOURCE3 -Source2: gst-plugins-bad-openh264-%{gst_version}.tar.xz -Source3: gst-p-bad-cleanup.sh - -# Don't use pkg-config for finding openh264 as we are building against an in-tree copy -Patch2: hardcode-openh264-dep.patch BuildRequires: gcc-c++ -BuildRequires: gstreamer1-devel >= %{gst_version} -BuildRequires: gstreamer1-plugins-base-devel >= %{gst_version} +BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-plugins-base-devel BuildRequires: make BuildRequires: meson BuildRequires: nasm @@ -38,7 +27,7 @@ suitable for use in real time applications such as WebRTC. %package devel Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{openh264_version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for @@ -47,7 +36,7 @@ developing applications that use %{name}. %package -n mozilla-openh264 Summary: H.264 codec support for Mozilla browsers -Requires: %{name}%{?_isa} = %{openh264_version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: mozilla-filesystem%{?_isa} %description -n mozilla-openh264 @@ -55,18 +44,6 @@ The mozilla-openh264 package contains a H.264 codec plugin for Mozilla browsers. -%package -n gstreamer1-plugin-openh264 -Version: %{gst_version} -Release: 2%{?dist} -Summary: GStreamer H.264 plugin - -%description -n gstreamer1-plugin-openh264 -GStreamer is a streaming media framework, based on graphs of elements which -operate on media data. - -This package contains the H.264 plugin. - - %prep %setup -q @@ -74,12 +51,6 @@ This package contains the H.264 plugin. tar -xf %{S:1} mv gmp-api-%{commit1} gmp-api -# Extract gst-plugins-bad-free archive -tar -xf %{S:2} -pushd gst-plugins-bad-%{gst_version} -%patch2 -p1 -popd - %build # Update the makefile with our build options @@ -96,20 +67,6 @@ make %{?_smp_mflags} # ... then build the mozilla plugin make plugin %{?_smp_mflags} -# ... and finally build the gstreamer plugin against the previously built -# openh264 libraries -pushd gst-plugins-bad-%{gst_version} -CFLAGS="%{build_cflags} -I`pwd`/../codec/api" \ -CXXFLAGS="%{build_cflags} -I`pwd`/../codec/api" \ -LDFLAGS="%{build_ldflags} -L`pwd`/.." \ -%meson \ - --auto-features=disabled \ - -D package-name="Fedora gstreamer1-plugin-openh264 package" \ - -D package-origin="http://www.openh264.org/" \ - -D openh264=enabled -%meson_build -popd - %install %make_install @@ -133,63 +90,12 @@ EOF # Remove static libraries rm $RPM_BUILD_ROOT%{_libdir}/*.a -# Install the gstreamer plugin -pushd gst-plugins-bad-%{gst_version} -%meson_install - -# Register as an AppStream component to be visible in the software center -# -# NOTE: It would be *awesome* if this file was maintained by the upstream -# project, translated and installed into the right place during `make install`. -# -# See http://www.freedesktop.org/software/appstream/docs/ for more details. -# -mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -cat > $RPM_BUILD_ROOT%{_datadir}/appdata/gstreamer-openh264.appdata.xml < - - - gstreamer-openh264 - CC0-1.0 - GStreamer Multimedia Codecs - H.264 - Multimedia playback for H.264 - -

- This addon includes a codec for H.264 playback and encoding. -

-

- These codecs can be used to encode and decode media files where the - format is not patent encumbered. -

-

- A codec decodes audio and video for playback or editing and is also - used for transmission or storage. - Different codecs are used in video-conferencing, streaming media and - video editing applications. -

-
- http://gstreamer.freedesktop.org/ - https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer - http://gstreamer.freedesktop.org/documentation/ - http://www.gnome.org/friends/ - -
-EOF - -# Remove unwanted gst-plugins-bad files -rm -rf $RPM_BUILD_ROOT%{_bindir}/gst-transcoder-1.0 -rm -rf $RPM_BUILD_ROOT%{_includedir}/gstreamer-1.0/ -rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gstreamer-*.pc -rm -rf $RPM_BUILD_ROOT%{_libdir}/libgst*.so* -rm -rf $RPM_BUILD_ROOT%{_datadir}/gstreamer-1.0/ -popd - %files %license LICENSE %doc README.md %{_libdir}/libopenh264.so.7 -%{_libdir}/libopenh264.so.%{openh264_version} +%{_libdir}/libopenh264.so.%{version} %files devel %{_includedir}/wels/ @@ -204,10 +110,5 @@ popd %{_libdir}/firefox/defaults/pref/gmpopenh264.js %{_libdir}/mozilla/plugins/gmp-gmpopenh264/ -%files -n gstreamer1-plugin-openh264 -%{_datadir}/appdata/*.appdata.xml -%{_libdir}/gstreamer-1.0/libgstopenh264.so - - %changelog %autochangelog diff --git a/anda/lib/openh264/pre.rhai b/anda/lib/openh264/pre.rhai deleted file mode 100644 index 6cfc5a8b63..0000000000 --- a/anda/lib/openh264/pre.rhai +++ /dev/null @@ -1,14 +0,0 @@ -let cwd = "anda/lib/openh264"; -let spec = open_file("anda/lib/openh264/openh264.spec").read_string(); -let gst = find("%global gst_version ([\\d.]+)", spec, 1); -print(`:: found gst version ${gst}`); -let out = sh(`wget https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${gst}.tar.xz`, cwd); -//print(":: wget stdout below"); -//print(out.sh_stdout()); -//print(":: wget stderr below"); -//print(out.sh_stderr()); -out = sh(`sh gst-p-bad-cleanup.sh gst-plugins-bad-${gst}.tar.xz`, cwd); -//print(":: script stdout below"); -//print(out.sh_stdout()); -//print(":: script stderr below"); -//print(out.sh_stderr()); diff --git a/anda/lib/openh264/update.rhai b/anda/lib/openh264/update.rhai index 82c75d7110..49357985c5 100644 --- a/anda/lib/openh264/update.rhai +++ b/anda/lib/openh264/update.rhai @@ -1,6 +1,4 @@ rpm.global("commit1", gh_commit("mozilla/gmp-api")); let h264 = gh("cisco/openh264"); h264.crop(1); -rpm.global("openh264_version", h264); -let html = get("https://gstreamer.freedesktop.org/src/gst-plugins-bad/?C=N;O=D"); -rpm.global("gst_version", find("gst-plugins-bad-([\\d.]+).tar.xz", html, 1)); +rpm.version(h264); diff --git a/anda/lib/tdlib/tdlib-nightly.spec b/anda/lib/tdlib/tdlib-nightly.spec index 6f9593b014..6adc400ff8 100644 --- a/anda/lib/tdlib/tdlib-nightly.spec +++ b/anda/lib/tdlib/tdlib-nightly.spec @@ -1,5 +1,5 @@ -%global commit d7203eb719304866a7eb7033ef03d421459335b8 -%global ver 1.8.27 +%global commit 63c7d0301825b78c30dc7307f1f1466be049eb79 +%global ver 1.8.31 %global commit_date 20240219 %global shortcommit %(c=%{commit}; echo ${c:0:7}) diff --git a/anda/lib/zsync2/update.rhai b/anda/lib/zsync2/update.rhai new file mode 100644 index 0000000000..6ab9f4746e --- /dev/null +++ b/anda/lib/zsync2/update.rhai @@ -0,0 +1,4 @@ +rpm.global("ver", gh("AppImageCommunity/zsync2")); +if rpm.changed() { + rpm.global("git_commit", gh_commit("AppImageCommunity/zsync2")); +} diff --git a/anda/lib/zsync2/zsync2.spec b/anda/lib/zsync2/zsync2.spec index ea8d0c5147..5d9b970f72 100644 --- a/anda/lib/zsync2/zsync2.spec +++ b/anda/lib/zsync2/zsync2.spec @@ -1,8 +1,9 @@ -%global git_commit 1608115705047d6826bcd7b35a6988deaf3dbfec +%global git_commit 87fb5a0f3c14d3cf35aa6547cc60d099c89ca532 %global commit_short %(c=%{git_commit}; echo ${c:0:7}) -%global libver 2.0.0-alpha-1-20220304.git%{commit_short} +%global ver 2.0.0-alpha-1-20230304 +%global libver %ver.git%{commit_short} # replace - with ~ %global libver_format %(v=%{libver}; sed 's/-/~/g' <<< $v) @@ -17,7 +18,6 @@ License: Artistic-2.0 URL: https://github.com/AppImageCommunity/zsync2 #Source0: %%{url}/archive/refs/%%{libver}.tar.gz Source0: %{url}/archive/%{git_commit}.tar.gz -Patch0: https://github.com/AppImageCommunity/zsync2/commit/e57e1fce68194fa920542fd334488de5123e4832.patch BuildRequires: make BuildRequires: cmake3 @@ -47,6 +47,7 @@ developing applications that use %{name}. %autosetup -n zsync2-%{git_commit} -p1 %build +export CFLAGS="$CFLAGS -Wno-incompatible-pointer-types" %cmake -DCPR_FORCE_USE_SYSTEM_CURL=ON \ -DUSE_SYSTEM_CURL=ON \ -DUSE_SYSTEM_CPR=ON diff --git a/anda/misc/alsa-ucm-cros/alsa-ucm-cros.spec b/anda/misc/alsa-ucm-cros/alsa-ucm-cros.spec index 1d4961a44f..6b45e9e075 100644 --- a/anda/misc/alsa-ucm-cros/alsa-ucm-cros.spec +++ b/anda/misc/alsa-ucm-cros/alsa-ucm-cros.spec @@ -1,8 +1,8 @@ %define debug_package %nil Name: alsa-ucm-cros -Version: 0.4 -Release: 1%{?dist} +Version: 0.5 +Release: 1%?dist Summary: ALSA Use Case Manager configuration License: BSD-3-Clause URL: https://github.com/WeirdTreeThing/alsa-ucm-conf-cros/tree/standalone diff --git a/anda/misc/arrpc/0001-fix-support-esbuild.patch b/anda/misc/arrpc/0001-fix-support-esbuild.patch new file mode 100644 index 0000000000..28e7183fae --- /dev/null +++ b/anda/misc/arrpc/0001-fix-support-esbuild.patch @@ -0,0 +1,31 @@ +From db29e1ce9f1a2b6b2ac3ef9df8b8b8524ab895f9 Mon Sep 17 00:00:00 2001 +From: madomado +Date: Mon, 29 Apr 2024 21:29:01 +0800 +Subject: [PATCH] fix: support esbuild + +--- + src/process/index.js | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/src/process/index.js b/src/process/index.js +index 97ea651..f5486ca 100644 +--- a/src/process/index.js ++++ b/src/process/index.js +@@ -1,13 +1,7 @@ + const rgb = (r, g, b, msg) => `\x1b[38;2;${r};${g};${b}m${msg}\x1b[0m`; + const log = (...args) => console.log(`[${rgb(88, 101, 242, 'arRPC')} > ${rgb(237, 66, 69, 'process')}]`, ...args); + +-import fs from 'node:fs'; +-import { dirname, join } from 'path'; +-import { fileURLToPath } from 'url'; +- +-const __dirname = dirname(fileURLToPath(import.meta.url)); +-const DetectableDB = JSON.parse(fs.readFileSync(join(__dirname, 'detectable.json'), 'utf8')); +- ++import DetectableDB from './detectable.json' with { type: "json" }; + import * as Natives from './native/index.js'; + const Native = Natives[process.platform]; + +-- +2.44.0 + diff --git a/anda/misc/arrpc/arrpc.spec b/anda/misc/arrpc/arrpc.spec index 643d739797..f08773510a 100644 --- a/anda/misc/arrpc/arrpc.spec +++ b/anda/misc/arrpc/arrpc.spec @@ -1,14 +1,16 @@ %define debug_package %nil -%global commit c6e23e7eb733ad396d3eebc328404cc656fed581 +%define __strip /bin/true +%global commit cca93db585dedf8acc1423f5e2db215de95c4c3b Name: arrpc -Version: 3.3.1 -Release: 1%?dist +Version: 3.4.0 +Release: 2%?dist Summary: Open Discord RPC server for atypical setups License: MIT URL: https://arrpc.openasar.dev Source0: https://github.com/OpenAsar/arrpc/archive/%commit.tar.gz Source1: arrpc.service +Patch0: 0001-fix-support-esbuild.patch Requires: glibc BuildRequires: nodejs-npm systemd-rpm-macros @@ -20,15 +22,15 @@ server which messages the JSON of exactly what to dispatch with in the client wi allowing small and simple mods or plugins. arRPC is experimental and a work in progress, so expect bugs, etc. %prep -%autosetup -n arrpc-%commit +%autosetup -n arrpc-%commit -p1 # patch for using esbuild sed -i -E 's@const server[^\n]+;@async function main() {\0@' src/index.js sed -i -E 's@server\.on[^\n]+;@\0}\nmain();@' src/index.js %build -npm i esbuild pkg -npx esbuild --bundle --platform=node --target=node18 --outdir=dist ./src/index.js -npx pkg -t node18-linux-x64 -o arrpc ./dist/index.js +npm i esbuild @yao-pkg/pkg +npx esbuild --bundle --platform=node --target=node20 --outdir=dist ./src/index.js +npx pkg -t node20-linux-x64 -o arrpc ./dist/index.js %install install -D -m755 arrpc %buildroot%_bindir/arrpc diff --git a/anda/misc/click/click.spec b/anda/misc/click/click.spec index 577372e490..77ed103e23 100644 --- a/anda/misc/click/click.spec +++ b/anda/misc/click/click.spec @@ -11,7 +11,6 @@ URL: https://gitlab.com/ubports/development/core/click Source0: %{url}/-/archive/%commit/click-%commit.tar.gz BuildRequires: automake libtool -BuildRequires: pkgconfig BuildRequires: make BuildRequires: g++ BuildRequires: gcc @@ -63,6 +62,7 @@ Provides HTML and Manpage (documentation) for Click. NOCONFIGURE=1 \ ./autogen.sh +export CFLAGS="$CFLAGS -Wno-implicit-function-declaration" %configure %make_build diff --git a/anda/misc/kwin-system76-scheduler-integration/kwin-system76-scheduler-integration.spec b/anda/misc/kwin-system76-scheduler-integration/kwin-system76-scheduler-integration.spec index c88f435a20..8c27a54be3 100644 --- a/anda/misc/kwin-system76-scheduler-integration/kwin-system76-scheduler-integration.spec +++ b/anda/misc/kwin-system76-scheduler-integration/kwin-system76-scheduler-integration.spec @@ -1,17 +1,23 @@ %global debug_package %nil -Name: kwin-system76-scheduler-integration -Version: 0.1 -Release: 4%?dist -Summary: Notify the System76 Scheduler which app has focus so it can be prioritized -License: MIT -URL: https://github.com/maxiberta/kwin-system76-scheduler-integration -Source0: %url/archive/refs/tags/%version.tar.gz -Source1: system76-scheduler-dbus-proxy.sh -Source2: com.system76.Scheduler.dbusproxy.service -Requires: bash dbus-tools system76-scheduler kde-cli-tools systemd kf5-kconfig-core qt +Name: kwin-system76-scheduler-integration + +%global forgeurl https://github.com/maxiberta/%{name} +%global commit e00f1b74998d6513552633c791ea23ffa3fe78a0 +%global date 20240425 +%forgemeta + +Version: 0.1 +Release: 2%?dist +Summary: Notify the System76 Scheduler which app has focus so it can be prioritized +License: MIT +URL: %forgeurl +Source0: %forgesource +Source1: com.system76.Scheduler.dbusproxy.service +Requires: bash dbus-tools system76-scheduler kde-cli-tools systemd kf6-kconfig BuildRequires: systemd-rpm-macros - +# We require the Qt 4 package to provide the `qdbus` command +Requires: qt %description System76 Scheduler is a service which optimizes Linux's CPU scheduler and automatically assigns process priorities for improved desktop responsiveness. @@ -20,21 +26,24 @@ This KWin Script interactively notifies System76 Scheduler which app has focus via D-Bus, so it is prioritized. %prep -%autosetup +%forgeautosetup %build %install -mkdir -p %buildroot%_datadir/kwin/scripts/kwin-system76-scheduler-integration/ -cp -r * %buildroot%_datadir/kwin/scripts/kwin-system76-scheduler-integration/ -install -Dm755 %SOURCE1 %buildroot%_libexecdir/system76-scheduler-dbus-proxy.sh -install -Dm644 %SOURCE2 %buildroot%_userunitdir/com.system76.Scheduler.dbusproxy.service -install -Dm644 metadata.desktop %buildroot%_datadir/kservices5/kwin-system76-scheduler-integration.desktop +mkdir -p %buildroot%_datadir/kwin/scripts/%{name}/ +mkdir -p %buildroot%_libexecdir/ +mkdir -p %buildroot%_userunitdir/ + +cp -r contents %buildroot%_datadir/kwin/scripts/%{name}/ +cp -r metadata.json %buildroot%_datadir/kwin/scripts/%{name}/ +cp -r system76-scheduler-dbus-proxy.sh %buildroot%_libexecdir/ + +install -Dm644 %SOURCE1 %buildroot%_userunitdir/com.system76.Scheduler.dbusproxy.service %post %systemd_user_post com.system76.Scheduler.dbusproxy.service - %preun %systemd_user_preun com.system76.Scheduler.dbusproxy.service @@ -42,10 +51,11 @@ install -Dm644 metadata.desktop %buildroot%_datadir/kservices5/kwin-system76-sch %systemd_user_postun_with_restart com.system76.Scheduler.dbusproxy.service %files +%license LICENSE +%doc README.md %config %_userunitdir/com.system76.Scheduler.dbusproxy.service %_libexecdir/system76-scheduler-dbus-proxy.sh -%_datadir/kwin/scripts/kwin-system76-scheduler-integration/ -%_datadir/kservices5/kwin-system76-scheduler-integration.desktop +%_datadir/kwin/scripts/%{name}/ %changelog %autochangelog diff --git a/anda/misc/kwin-system76-scheduler-integration/system76-scheduler-dbus-proxy.sh b/anda/misc/kwin-system76-scheduler-integration/system76-scheduler-dbus-proxy.sh deleted file mode 100644 index 850f5612e8..0000000000 --- a/anda/misc/kwin-system76-scheduler-integration/system76-scheduler-dbus-proxy.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -DBUS_SERVICE="com.system76.Scheduler" -DBUS_PATH="/com/system76/Scheduler" -DBUS_INTERFACE="com.system76.Scheduler" -DBUS_METHOD="SetForegroundProcess" - -while true; do - read method call time sender _ dest serial path interface member - read type pid - [ "$member" = "member=$DBUS_METHOD" ] && qdbus --system $DBUS_SERVICE $DBUS_PATH $DBUS_INTERFACE.$DBUS_METHOD $pid -done < <(dbus-monitor "destination=$DBUS_SERVICE,path=$DBUS_PATH,interface=$DBUS_INTERFACE,member=$DBUS_METHOD") diff --git a/anda/misc/kwin-system76-scheduler-integration/update.rhai b/anda/misc/kwin-system76-scheduler-integration/update.rhai index c9403e0162..1737f94453 100644 --- a/anda/misc/kwin-system76-scheduler-integration/update.rhai +++ b/anda/misc/kwin-system76-scheduler-integration/update.rhai @@ -1 +1,5 @@ -rpm.version(gh("maxiberta/kwin-system76-scheduler-integration")); +rpm.global("commit", gh_commit("maxiberta/kwin-system76-scheduler-integration")); +if rpm.changed() { + rpm.global("date", date()); // remove if we don't need the `date` macro + rpm.release(); +} diff --git a/anda/misc/openbangla-keyboard/anda.hcl b/anda/misc/openbangla-keyboard/anda.hcl new file mode 100644 index 0000000000..94ff71f8c3 --- /dev/null +++ b/anda/misc/openbangla-keyboard/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + rpm { + spec = "openbangla-keyboard-nightly.spec" + } + labels { nightly = "1" } +} diff --git a/anda/misc/openbangla-keyboard/openbangla-keyboard-nightly.spec b/anda/misc/openbangla-keyboard/openbangla-keyboard-nightly.spec new file mode 100644 index 0000000000..de55e25547 --- /dev/null +++ b/anda/misc/openbangla-keyboard/openbangla-keyboard-nightly.spec @@ -0,0 +1,84 @@ +%global ver 2.0.0 +%global commit c7aeeda40f528d647af0a019984897543ebb6d5e +%global commit_date 20240505 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: openbangla-keyboard-nightly +Version: %ver^%commit_date.%shortcommit +Release: 1%?dist +Summary: An OpenSource, Unicode compliant Bengali Input Method +License: GPL-3.0-or-later +URL: https://openbangla.github.io/ +Source0: https://github.com/OpenBangla/OpenBangla-Keyboard/archive/%commit.tar.gz +Source1: https://github.com/OpenBangla/riti/archive/master.tar.gz +BuildRequires: cmake anda-srpm-macros rust-packaging git-core gcc-c++ +BuildRequires: qt5-qtbase-devel pkgconfig(ibus-1.0) fcitx5-devel pkgconfig(libzstd) +Requires: qt5-qtbase hicolor-icon-theme zstd +Requires: openbangla-im = %version-%release +Provides: openbangla-keyboard = %version-%release +Conflicts: openbangla-keyboard + +%description +OpenBangla Keyboard is an open source, Unicode compliant, Bangla input method for GNU/Linux systems. +It’s a full-fledged Bangla input method with typing automation tools, includes many famous typing +methods such as Avro Phonetic, Probhat, Munir Optima, National (Jatiya) etc. + + +%package -n ibus-openbangla +Summary: OpenBangla Keyboard for IBus +Requires: ibus +Requires: openbangla-keyboard = %version-%release +Provides: openbangla-im = %version-%release +Conflicts: openbangla-im + +%description -n ibus-openbangla +OpenBangla Keyboard for IBus. + + +%package -n fcitx5-openbangla +Summary: OpenBangla Keyboard for Fcitx5 +Requires: fcitx5 +Requires: openbangla-keyboard = %version-%release +Provides: openbangla-im = %version-%release +Conflicts: openbangla-im + +%description -n fcitx5-openbangla +OpenBangla Keyboard for Fcitx5. + + +%prep +%autosetup -n OpenBangla-Keyboard-%commit +rmdir src/engine/riti +tar xf %SOURCE1 -C src/engine/ +mv src/engine/riti-master src/engine/riti + +%build +if [[ -d build ]]; then rm -rf build; fi +%cmake -DENABLE_FCITX=YES -DENABLE_IBUS=YES +%cmake_build + +%install +%cmake_install + +%files +%doc README.adoc +%license LICENSE +%_bindir/openbangla-gui +%_datadir/applications/openbangla-keyboard.desktop +%_datadir/icons/hicolor/*/apps/openbangla-keyboard.png +%_datadir/metainfo/io.github.openbangla.keyboard.metainfo.xml +%_datadir/openbangla-keyboard/ +%_datadir/pixmaps/openbangla-keyboard.png + +%files -n ibus-openbangla +%_libexecdir/ibus-engine-openbangla +%_datadir/ibus/component/openbangla.xml + +%files -n fcitx5-openbangla +%_libdir/fcitx5/openbangla.so +%_datadir/fcitx5/addon/openbangla.conf +%_datadir/fcitx5/inputmethod/openbangla.conf + + +%changelog +%autochangelog diff --git a/anda/misc/openbangla-keyboard/update.rhai b/anda/misc/openbangla-keyboard/update.rhai new file mode 100644 index 0000000000..a4267383ce --- /dev/null +++ b/anda/misc/openbangla-keyboard/update.rhai @@ -0,0 +1,8 @@ +if filters.contains("nightly") { + rpm.global("commit", get("https://api.github.com/repos/OpenBangla/OpenBangla-Keyboard/commits/develop").json().sha); + if rpm.changed() { + rpm.global("ver", gh("OpenBangla/OpenBangla-Keyboard")); + rpm.global("commit_date", date()); + rpm.release(); + } +} diff --git a/anda/misc/sass/sass.spec b/anda/misc/sass/sass.spec index 863f4fb620..1c366aaf9a 100644 --- a/anda/misc/sass/sass.spec +++ b/anda/misc/sass/sass.spec @@ -4,7 +4,7 @@ %define _build_id_links none Name: sass -Version: 1.72.0 +Version: 1.77.5 Release: 1%?dist Summary: The reference implementation of Sass, written in Dart License: MIT diff --git a/anda/misc/uxplay/uxplay.spec b/anda/misc/uxplay/uxplay.spec index f763d219d9..d226cc2e3a 100644 --- a/anda/misc/uxplay/uxplay.spec +++ b/anda/misc/uxplay/uxplay.spec @@ -1,6 +1,6 @@ Name: uxplay -Version: 1.68.2 -Release: 1%{?dist} +Version: 1.68.3 +Release: 1%?dist Summary: AirPlay Unix mirroring server License: GPL-3.0 URL: https://github.com/FDH2/UxPlay diff --git a/anda/system/cros-keyboard-map/anda.hcl b/anda/system/cros-keyboard-map/anda.hcl new file mode 100644 index 0000000000..137fe0fbf1 --- /dev/null +++ b/anda/system/cros-keyboard-map/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "cros-keyboard-map.spec" + } + labels { + nightly = "1" + } +} \ No newline at end of file diff --git a/anda/system/cros-keyboard-map/cros-keyboard-map.spec b/anda/system/cros-keyboard-map/cros-keyboard-map.spec new file mode 100644 index 0000000000..ff4a2c9467 --- /dev/null +++ b/anda/system/cros-keyboard-map/cros-keyboard-map.spec @@ -0,0 +1,89 @@ +%global commit 1889baff16c08ddf2382d95ca18caa37001d5971 +%global commit_date 20240418 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global debug_package %{nil} +%define __os_install_post %{nil} + +Name: cros-keyboard-map +Version: %commit_date.%shortcommit +Release: 1%?dist + +License: BSD-3-Clause +Summary: Utility to generate keyd configurations for use on Chromebooks +URL: https://github.com/WeirdTreeThing/cros-keyboard-map +Source0: https://github.com/WeirdTreeThing/cros-keyboard-map/archive/%commit/cros-keyboard-map-%commit.tar.gz + +%{?systemd_requires} +BuildRequires: systemd-rpm-macros +Requires: keyd python3 + +%description +Set of tools designed to help develop and debug software and firmware on Intel platforms with AudioDSP onboard. + +Related to alsa-utils which is also set of utilities but targets AdvancedLinuxSoundArchitecture (ALSA) audience in more general fashion. + +%prep +%autosetup -n cros-keyboard-map-%commit + +%install +mkdir -p %buildroot/etc/cros-keyboard-map/configs +install -Dm755 cros-keyboard-map.py %buildroot/etc/cros-keyboard-map/cros-keyboard-map.py +cp configs/* %buildroot/etc/cros-keyboard-map/configs + +mkdir -p %buildroot/usr/bin +tee %buildroot/usr/bin/um-generate-cros-keymap < /dev/null) +then + cp /etc/cros-keyboard-map/configs/cros-pixel.conf /etc/cros-keyboard-map/current.config +elif (grep -E "^(Sarien|Arcada)$" /sys/class/dmi/id/product_name &> /dev/null) +then + cp /etc/cros-keyboard-map/configs/cros-sarien.conf /etc/cros-keyboard-map/current.config +else + python3 /etc/cros-keyboard-map/cros-keyboard-map.py --file /etc/cros-keyboard-map/current.config +fi + +mkdir -p /etc/keyd +if [[ -f /etc/keyd/default.conf ]]; then + rm /etc/keyd/default.conf +fi +ln -s /etc/cros-keyboard-map/current.config /etc/keyd/default.conf +EOF + +mkdir -p %buildroot/etc/systemd/system +tee %buildroot/etc/systemd/system/cros-keyboard-map.service < +- Initial package. diff --git a/anda/system/cros-keyboard-map/update.rhai b/anda/system/cros-keyboard-map/update.rhai new file mode 100644 index 0000000000..46a9eeca30 --- /dev/null +++ b/anda/system/cros-keyboard-map/update.rhai @@ -0,0 +1,7 @@ +if filters.contains("nightly") { + rpm.global("commit", gh_commit("WeirdTreeThing/cros-keyboard-map")); + if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + } +} diff --git a/anda/system/kernel-mt8183/source b/anda/system/kernel-mt8183/source deleted file mode 160000 index 849dc4a1bb..0000000000 --- a/anda/system/kernel-mt8183/source +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 849dc4a1bb18e8b535e478573c0ea0c639e96e68 diff --git a/anda/system/limine/limine.spec b/anda/system/limine/limine.spec index 8ea034ecff..95029d48b5 100644 --- a/anda/system/limine/limine.spec +++ b/anda/system/limine/limine.spec @@ -1,10 +1,11 @@ Name: limine -Version: 7.3.0 +Version: 7.8.0 Release: 1%?dist Summary: Modern, advanced, portable, multiprotocol bootloader License: BSD-2-Clause URL: https://limine-bootloader.org -Source0: https://github.com/limine-bootloader/limine/releases/download/v%version/limine-%version.tar.xz +Source0: https://github.com/limine-bootloader/limine/releases/download/v%version/limine-%version.tar.gz +Source1: https://raw.githubusercontent.com/limine-bootloader/limine/v%version/README.md BuildRequires: nasm mtools llvm lld clang make %description @@ -13,6 +14,7 @@ the reference implementation for the Limine boot protocol. %prep %autosetup +cp %SOURCE1 . %build %configure --enable-all TOOLCHAIN_FOR_TARGET=llvm @@ -22,7 +24,7 @@ the reference implementation for the Limine boot protocol. %make_install %files -%doc README.md CONFIG.md PHILOSOPHY.md PROTOCOL.md COPYING +%doc README.md CONFIG.md PHILOSOPHY.md PROTOCOL.md COPYING USAGE.md %license COPYING %_bindir/limine %_includedir/limine.h diff --git a/anda/system/submarine/submarine.spec b/anda/system/submarine/submarine.spec index 04dbe49b52..d20fb4a0c9 100644 --- a/anda/system/submarine/submarine.spec +++ b/anda/system/submarine/submarine.spec @@ -5,7 +5,7 @@ %endif Name: submarine -Version: 0.2.0 +Version: 0.2.1 Release: 1%?dist Summary: Experimental bootloader for ChomeOS's depthcharge License: GPL-3.0 diff --git a/anda/system/uutils-coreutils/uutils-coreutils.spec b/anda/system/uutils-coreutils/uutils-coreutils.spec index 08026254b7..674f97124b 100644 --- a/anda/system/uutils-coreutils/uutils-coreutils.spec +++ b/anda/system/uutils-coreutils/uutils-coreutils.spec @@ -1,7 +1,7 @@ %global coreutils_ver 9.3 Name: uutils-coreutils -Version: 0.0.25 +Version: 0.0.27 Release: 1%?dist Summary: Cross-platform Rust rewrite of the GNU coreutils License: MIT diff --git a/anda/fonts/iosevka-fusion/anda.hcl b/anda/system/wineasio/anda.hcl similarity index 55% rename from anda/fonts/iosevka-fusion/anda.hcl rename to anda/system/wineasio/anda.hcl index 1eaf96866d..9e38716a27 100644 --- a/anda/fonts/iosevka-fusion/anda.hcl +++ b/anda/system/wineasio/anda.hcl @@ -1,6 +1,6 @@ project pkg { arches = ["x86_64"] rpm { - spec = "iosevka-fusion-fonts.spec" + spec = "wineasio.spec" } } diff --git a/anda/system/wineasio/update.rhai b/anda/system/wineasio/update.rhai new file mode 100644 index 0000000000..768b53858c --- /dev/null +++ b/anda/system/wineasio/update.rhai @@ -0,0 +1 @@ +rpm.global("tag", gh("wineasio/wineasio")) diff --git a/anda/system/wineasio/wineasio.spec b/anda/system/wineasio/wineasio.spec new file mode 100644 index 0000000000..bec7cf4402 --- /dev/null +++ b/anda/system/wineasio/wineasio.spec @@ -0,0 +1,74 @@ +Name: wineasio + +%global tag v1.2.0 +# macro to remove the v from version +%global version_tag %(echo %{tag} | sed 's/^v//') +%global forgeurl https://github.com/wineasio/%{name} + + +# While this package should have debug headers, we have build issues with them + +%define debug_package %{nil} + +Version: %{version_tag} +Release: %autorelease +Summary: Wine ASIO driver + +License: GPL-2.0-or-later AND LGPL-2.1-or-later +URL: %{forgeurl} +Source: %{forgeurl}/releases/download/%{tag}/wineasio-%{version_tag}.tar.gz + +BuildRequires: make +BuildRequires: pkgconfig +BuildRequires: pkgconfig(alsa) +BuildRequires: gcc-c++ +BuildRequires: gcc +BuildRequires: pkgconfig(jack) +BuildRequires: wine-devel +ExclusiveArch: x86_64 + +%description +WineASIO provides an ASIO to JACK driver for WINE. +ASIO is the most common Windows low-latency driver, so is commonly used in audio workstation programs. + +You can, for example, use with FLStudio under GNU/Linux systems (together with JACK). + +%prep +%autosetup + +%build + +# remove all cflags because it builds just fine without them, causes issues with asm when the default ones are +# present though + +export CFLAGS="" + +make clean +make 64 + + +%install +install -Dm755 build64/wineasio64.dll.so %{buildroot}%{_libdir}/wine/%{_arch}-unix/wineasio64.dll.so +install -Dm755 build64/wineasio64.dll %{buildroot}%{_libdir}/wine/%{_arch}-windows/wineasio64.dll +install -Dm755 wineasio-register %{buildroot}%{_bindir}/wineasio-register + +pushd gui + +%make_install + +popd + +%files +%license COPYING.LIB COPYING.GUI +%doc README.md + +%{_libdir}/wine/%{_arch}-unix/wineasio64.dll.so +%{_libdir}/wine/%{_arch}-windows/wineasio64.dll +%{_bindir}/wineasio-register +%{_bindir}/wineasio-settings +%{_datadir}/wineasio/ + + +%changelog +* Thu Apr 11 2024 Cappy Ishihara +- Initial Release diff --git a/anda/system/xpadneo/io.github.xpadneo.metainfo.xml b/anda/system/xpadneo/io.github.xpadneo.metainfo.xml new file mode 100644 index 0000000000..f11f630d07 --- /dev/null +++ b/anda/system/xpadneo/io.github.xpadneo.metainfo.xml @@ -0,0 +1,26 @@ + + io.github.xpadneo + xpadneo + xpadneo + Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S) + +

+ Wireless Drivers for the Xbox One and Series S|X controllers. + + Across all models, xpadneo won't support audio features of the controllers because the firmware doesn't support audio in Bluetooth mode. In the future, xpadneo may support audio when USB and dongle support will be added. +

+
+ https://atar-axis.github.io/xpadneo/ + CC0-1.0 + + GPL-3.0 + + + Florian Dollinger + + + + + usb:v045Ep02FDd0008dc00dsc00dp00ic03isc00ip00in00 + +
\ No newline at end of file diff --git a/anda/system/xpadneo/xpadneo.spec b/anda/system/xpadneo/xpadneo.spec index 7ce203671f..dd1e9c21c0 100644 --- a/anda/system/xpadneo/xpadneo.spec +++ b/anda/system/xpadneo/xpadneo.spec @@ -12,6 +12,7 @@ License: GPL-3.0 URL: https://github.com/atar-axis/xpadneo Source0: %url/archive/v%version/%name-%version.tar.gz Source1: modules-load-d-xpadneo.conf +Source2: io.github.xpadneo.metainfo.xml %global srcname hid-%name @@ -69,6 +70,7 @@ done install -Dm644 hid-xpadneo/etc-modprobe.d/xpadneo.conf %{buildroot}%{_modprobedir}/60-xpadneo.conf install -Dm644 %{SOURCE1} %{buildroot}%{_modulesloaddir}/xpadneo.conf install -Dm644 hid-xpadneo/etc-udev-rules.d/60-xpadneo.rules %{buildroot}%{_udevrulesdir}/60-xpadneo.rules +install -Dm644 %{SOURCE2} %{buildroot}%{_datadir}/metainfo/io.github.xpadneo.metainfo.xml %files %doc NEWS.md docs/README.md docs/CONFIGURATION.md @@ -76,6 +78,7 @@ install -Dm644 hid-xpadneo/etc-udev-rules.d/60-xpadneo.rules %{buildroot}%{_udev %{_modprobedir}/60-xpadneo.conf %{_modulesloaddir}/xpadneo.conf %{_udevrulesdir}/60-xpadneo.rules +%{_datadir}/metainfo/io.github.xpadneo.metainfo.xml %changelog * Wed Oct 12 2022 Jan Drögehoff - 0.9.5-1 diff --git a/anda/terra/obsolete/terra-obsolete.spec b/anda/terra/obsolete/terra-obsolete.spec index c012234b3b..477e9bd660 100644 --- a/anda/terra/obsolete/terra-obsolete.spec +++ b/anda/terra/obsolete/terra-obsolete.spec @@ -4,7 +4,7 @@ Version: 40 # The dist number is the version here, it is intentionally not repeated in the release %global dist %nil -Release: 2 +Release: 3 Summary: A package to obsolete retired packages, based on Fedora's equivalent package License: LicenseRef-Fedora-Public-Domain @@ -118,8 +118,11 @@ BuildArch: noarch %obsolete katsu-systemd-sysusers-presets-polkit 1.0-2 %obsolete katsu-systemd-sysusers-presets-rpcbind 1.0-2 -%description +%obsolete_ticket https://github.com/terrapkg/packages/issues/991 +%obsolete iosevka-fusion-fonts 25.1.1-2 + +%description Currently obsoleted packages: %list_obsoletes diff --git a/anda/terra/release/terra-release.spec b/anda/terra/release/terra-release.spec index 7b4aa72fd6..ddbddd6f12 100644 --- a/anda/terra/release/terra-release.spec +++ b/anda/terra/release/terra-release.spec @@ -1,6 +1,6 @@ Name: terra-release Version: 40 -Release: 1 +Release: 3 Summary: Release package for Terra License: MIT diff --git a/anda/terra/release/terra.repo b/anda/terra/release/terra.repo index 37f5e5266f..c1f4d3eccd 100644 --- a/anda/terra/release/terra.repo +++ b/anda/terra/release/terra.repo @@ -1,9 +1,9 @@ [terra] name=Terra $releasever -baseurl=https://repos.fyralabs.com/terra$releasever +#baseurl=https://repos.fyralabs.com/terra$releasever +metalink=https://tetsudou.fyralabs.com/metalink?repo=terra$releasever&arch=$basearch metadata_expire=6h type=rpm -skip_if_unavailable=True gpgcheck=1 gpgkey=https://repos.fyralabs.com/terra$releasever/key.asc repo_gpgcheck=1 @@ -12,12 +12,12 @@ enabled_metadata=1 [terra-source] name=Terra $releasever - Source -baseurl=https://repos.fyralabs.com/terra$releasever-source +#baseurl=https://repos.fyralabs.com/terra$releasever-source +metalink=https://tetsudou.fyralabs.com/metalink?repo=terra$releasever-source&arch=$basearch metadata_expire=6h type=rpm -skip_if_unavailable=True gpgcheck=1 gpgkey=https://repos.fyralabs.com/terra$releasever-source/key.asc repo_gpgcheck=1 enabled=0 -enabled_metadata=0 \ No newline at end of file +enabled_metadata=0 diff --git a/anda/terra/srpm-macros/anda-srpm-macros.spec b/anda/terra/srpm-macros/anda-srpm-macros.spec index a70153f249..c5f338c01c 100644 --- a/anda/terra/srpm-macros/anda-srpm-macros.spec +++ b/anda/terra/srpm-macros/anda-srpm-macros.spec @@ -1,5 +1,5 @@ Name: anda-srpm-macros -Version: 0.1.6 +Version: 0.1.7 Release: 1%{?dist} Summary: SRPM macros for extra Fedora packages diff --git a/anda/terra/srpm-macros/macros.cargo_extra b/anda/terra/srpm-macros/macros.cargo_extra index c2ca56f1ef..de6d21fc76 100644 --- a/anda/terra/srpm-macros/macros.cargo_extra +++ b/anda/terra/srpm-macros/macros.cargo_extra @@ -30,7 +30,6 @@ verbose = true\ directory = "%{cargo_registry}"\ \ EOF\ -%{__rm} -f Cargo.lock \ %{__rm} -f Cargo.toml.orig \ ) diff --git a/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec b/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec index ae68ddda09..8a21b4a597 100644 --- a/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec +++ b/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec @@ -1,6 +1,6 @@ Name: bibata-cursor-theme -Version: 2.0.6 -Release: 1%{?dist} +Version: 2.0.7 +Release: 1%?dist URL: https://github.com/ful1e5/Bibata_Cursor Source0: %{url}/releases/download/v%{version}/Bibata.tar.xz Source1: https://raw.githubusercontent.com/ful1e5/Bibata_Cursor/v%{version}/README.md diff --git a/anda/themes/fluent-theme/fluent-theme.spec b/anda/themes/fluent-theme/fluent-theme.spec index c2949d5656..8f0d302773 100644 --- a/anda/themes/fluent-theme/fluent-theme.spec +++ b/anda/themes/fluent-theme/fluent-theme.spec @@ -1,8 +1,8 @@ -%global tag 2023-06-20 +%global tag 2024-06-12 Name: fluent-theme -Version: 20230620 -Release: 1%{?dist} +Version: 20240612 +Release: 1%?dist Summary: Fluent design theme for GNOME/GTK based desktop environments License: GPL-3.0 diff --git a/anda/themes/klassy/anda.hcl b/anda/themes/klassy/anda.hcl new file mode 100644 index 0000000000..42b047c968 --- /dev/null +++ b/anda/themes/klassy/anda.hcl @@ -0,0 +1,6 @@ +project "pkg" { + arches = ["x86_64", "aarch64"] + rpm { + spec = "klassy.spec" + } +} diff --git a/anda/themes/klassy/klassy.spec b/anda/themes/klassy/klassy.spec new file mode 100644 index 0000000000..449962b61b --- /dev/null +++ b/anda/themes/klassy/klassy.spec @@ -0,0 +1,124 @@ +Name: klassy + +%global forgeurl https://github.com/paulmcauley/%{name} +%global tag 6.1.breeze6.0.3 +%global date 20240411 +%forgemeta + +Version: %{tag} +Release: 1%?dist +Summary: Window Decoration, Application Style and Global Theme plugin for recent versions of the KDE Plasma desktop. +License: GPL-2.0-or-later +Group: System/GUI/KDE +URL: %{forgeurl} +Source: %{forgesource} + +Obsoletes: classikstyles <= %{version} +Obsoletes: classik <= %{version} + +BuildRequires: cmake >= 3.16 +BuildRequires: extra-cmake-modules >= 5.102.0 + +BuildRequires: kf5-rpm-macros +BuildRequires: kf5-filesystem + +BuildRequires: kf6-rpm-macros +BuildRequires: kf6-filesystem + +BuildRequires: cmake(Qt5Widgets) +BuildRequires: cmake(Qt5DBus) +BuildRequires: cmake(Qt5Quick) +BuildRequires: cmake(Qt5X11Extras) + +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6DBus) +BuildRequires: cmake(Qt6Quick) +BuildRequires: cmake(Qt6Svg) +BuildRequires: cmake(Qt6Xml) + +BuildRequires: cmake(KF5CoreAddons) +BuildRequires: cmake(KF5Config) +BuildRequires: cmake(KF5ConfigWidgets) +BuildRequires: cmake(KF5FrameworkIntegration) +BuildRequires: cmake(KF5GuiAddons) +BuildRequires: cmake(KF5I18n) +BuildRequires: cmake(KF5IconThemes) +BuildRequires: cmake(KF5KCMUtils) +BuildRequires: cmake(KF5Kirigami2) +BuildRequires: cmake(KF5Package) +BuildRequires: cmake(KF5Plasma) +BuildRequires: cmake(KF5Wayland) +BuildRequires: cmake(KF5WindowSystem) + +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6ColorScheme) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6FrameworkIntegration) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6KirigamiPlatform) +BuildRequires: cmake(KF6Package) +BuildRequires: cmake(KF6WindowSystem) + +BuildRequires: cmake(KDecoration2) +BuildRequires: cmake(Plasma) +BuildRequires: cmake(Plasma5Support) + +BuildRequires: pkgconfig(x11-xcb) +BuildRequires: pkgconfig(xcb) + +%description +Klassy (formerly ClassiK/ClassikStyles) is a highly customizable binary Window Decoration, Application Style and Global Theme plugin for recent versions of the KDE Plasma desktop. Initially taking inspiration from the iconography of KDE 1, the Klassy defaults are an attempt to create a usable and appealing look for the modern Plasma desktop. + +%prep +%forgeautosetup -p1 + +%build +%cmake +%cmake_build + +%install +%cmake_install + +%files +%license LICENSES/*.txt + +%{_bindir}/%{name}-settings + +%{_libdir}/cmake/Klassy/ + +%{_libdir}/libklassycommon5.so.* +%{_libdir}/libklassycommon6.so.* + +%{_kf5_qtplugindir}/styles/klassy5.so +%{_kf6_qtplugindir}/styles/klassy6.so + +%{_kf6_qtplugindir}/kstyle_config/klassystyleconfig.so +%{_kf6_qtplugindir}/org.kde.kdecoration2/org.kde.klassy.so +%{_kf6_qtplugindir}/org.kde.kdecoration2.kcm/kcm_klassydecoration.so +%{_kf6_qtplugindir}/org.kde.kdecoration2.kcm/klassydecoration/presets/ + +%{_kf6_datadir}/applications/kcm_klassydecoration.desktop +%{_kf6_datadir}/applications/klassystyleconfig.desktop +%{_kf6_datadir}/applications/klassy-settings.desktop + +%{_kf6_datadir}/color-schemes/Klassy*.colors + +%{_datadir}/icons/hicolor/ +%{_datadir}/icons/%{name}/ +%{_datadir}/icons/%{name}-dark/ +%{_datadir}/plasma/desktoptheme/%{name}/ + +%{_kf6_datadir}/kstyle/themes/%{name}.themerc + +%{_kf6_datadir}/plasma/layout-templates/org.kde.klassy.* +%{_kf6_datadir}/plasma/look-and-feel/org.kde.klassy* + +%changelog +%autochangelog + diff --git a/anda/themes/klassy/update.rhai b/anda/themes/klassy/update.rhai new file mode 100644 index 0000000000..4a612be92d --- /dev/null +++ b/anda/themes/klassy/update.rhai @@ -0,0 +1,5 @@ +rpm.global("tag", gh("paulmcauley/klassy")); +if rpm.changed() { + rpm.global("date", date()); // remove if we don't need the `date` macro + rpm.release(); +} diff --git a/anda/themes/lightly-qt5/VER5.txt b/anda/themes/lightly-qt5/VER5.txt new file mode 100644 index 0000000000..60d3b2f4a4 --- /dev/null +++ b/anda/themes/lightly-qt5/VER5.txt @@ -0,0 +1 @@ +15 diff --git a/anda/themes/lightly-qt5/anda.hcl b/anda/themes/lightly-qt5/anda.hcl new file mode 100644 index 0000000000..9527c9c5df --- /dev/null +++ b/anda/themes/lightly-qt5/anda.hcl @@ -0,0 +1,6 @@ +project "pkg" { + arches = ["x86_64", "aarch64"] + rpm { + spec = "lightly-qt5.spec" + } +} diff --git a/anda/themes/lightly-qt5/lightly-qt5.spec b/anda/themes/lightly-qt5/lightly-qt5.spec new file mode 100644 index 0000000000..b7669805ea --- /dev/null +++ b/anda/themes/lightly-qt5/lightly-qt5.spec @@ -0,0 +1,103 @@ +%global style Lightly +%global _style lightly +%global dev boehs +%global _qt_major_version 5 + +%global forgeurl https://github.com/%{dev}/%{style} +%global commit be5adc66bf3c7fe5038a42ba4dd6d5aed7544a46 +%global date 20240217 + +%forgemeta + +Name: %{_style}-qt%{_qt_major_version} +Version: 0.43 +Release: %autorelease +Summary: A modern style for qt applications +License: GPL-2.0-or-later +Group: System/GUI/KDE + +URL: %{forgeurl} +Source: %{forgesource} + + +BuildRequires: gcc-c++ +BuildRequires: cmake >= 3.0 +BuildRequires: extra-cmake-modules >= 5.78.0 + +BuildRequires: kf%{_qt_major_version}-rpm-macros +BuildRequires: kf%{_qt_major_version}-filesystem + +BuildRequires: cmake(Qt%{_qt_major_version}Core) +BuildRequires: cmake(Qt%{_qt_major_version}DBus) +BuildRequires: cmake(Qt%{_qt_major_version}Gui) +BuildRequires: cmake(Qt%{_qt_major_version}Quick) +BuildRequires: cmake(Qt%{_qt_major_version}UiTools) +BuildRequires: cmake(Qt%{_qt_major_version}Widgets) +BuildRequires: cmake(Qt%{_qt_major_version}X11Extras) + +BuildRequires: cmake(KF%{_qt_major_version}CoreAddons) +BuildRequires: cmake(KF%{_qt_major_version}Config) +BuildRequires: cmake(KF%{_qt_major_version}ConfigWidgets) +BuildRequires: cmake(KF%{_qt_major_version}Crash) +BuildRequires: cmake(KF%{_qt_major_version}FrameworkIntegration) +BuildRequires: cmake(KF%{_qt_major_version}GuiAddons) +BuildRequires: cmake(KF%{_qt_major_version}GlobalAccel) +BuildRequires: cmake(KF%{_qt_major_version}I18n) +BuildRequires: cmake(KF%{_qt_major_version}IconThemes) +BuildRequires: cmake(KF%{_qt_major_version}Init) +BuildRequires: cmake(KF%{_qt_major_version}KCMUtils) +BuildRequires: cmake(KF%{_qt_major_version}KIO) +BuildRequires: cmake(KF%{_qt_major_version}Kirigami2) +BuildRequires: cmake(KF%{_qt_major_version}Notifications) +BuildRequires: cmake(KF%{_qt_major_version}Package) +BuildRequires: cmake(KF%{_qt_major_version}Plasma) +BuildRequires: cmake(KF%{_qt_major_version}Wayland) +BuildRequires: cmake(KF%{_qt_major_version}WindowSystem) +BuildRequires: cmake(KDecoration2) + +BuildRequires: pkgconfig(x11-xcb) +BuildRequires: pkgconfig(xcb) + +BuildRequires: kwin-devel +BuildRequires: libepoxy-devel +BuildRequires: kf%{_qt_major_version}-kpackage-devel + +Obsoletes: %{_style} <= %{version} + +%description +%{style} is a fork of breeze theme style that aims to be visually modern and minimalistic. + +%prep +%forgeautosetup -p1 + +%build +%cmake_kf5 -DQT_MAJOR_VERSION=%{_qt_major_version} -DWITH_DECORATIONS=OFF +%cmake_build + +%install +%cmake_install + +# Remove files present in lightly-qt6 +rm -rf %{buildroot}%{_datadir}/color-schemes +rm -rf %{buildroot}%{_datadir}/icons +rm -rf %{buildroot}%{_datadir}/kstyle +rm -rf %{buildroot}%{_libdir}/cmake/%{style} + +%files +%license COPYING +%doc AUTHORS README.md + +%{_bindir}/lightly-settings%{_qt_major_version} + +%{_libdir}/kconf_update_bin/kde4%{_style} +%{_libdir}/lib%{_style}common%{_qt_major_version}.so.* + +%{_qt5_plugindir}/kstyle_%{_style}_config.so +%{_qt5_plugindir}/styles/%{_style}.so + +%{_datadir}/kconf_update/kde4%{_style}.upd +%{_datadir}/kservices%{_qt_major_version}/%{_style}styleconfig.desktop + +%changelog +%autochangelog +%autochangelog diff --git a/anda/themes/lightly-qt5/update.rhai b/anda/themes/lightly-qt5/update.rhai new file mode 100644 index 0000000000..4b04183e7c --- /dev/null +++ b/anda/themes/lightly-qt5/update.rhai @@ -0,0 +1,7 @@ +let repos = get("https://repology.org/api/v1/project/qt").json_arr(); +let branch = sh("git rev-parse --abbrev-ref HEAD", #{"stdout": "piped"}).ctx.stdout; +branch.crop(1); +branch.trim(); +let vers = repos.filter(|r| r.repo == `fedora_${branch}`).map(|r| [find("^(\\d+)\\.(\\d+)\\..+$", r.version, 1), find("^(\\d+)\\.(\\d+)\\..+$", r.version, 2)]); +let ver = vers.find(|v| v[0] == "5")[1]; // assume there is only 1 package for v5.x +open_file("anda/themes/lightly-qt5/VER5.txt").write(`${ver}`); // will trig rebuild when changed diff --git a/anda/themes/lightly-qt6/VER6.txt b/anda/themes/lightly-qt6/VER6.txt new file mode 100644 index 0000000000..7f8f011eb7 --- /dev/null +++ b/anda/themes/lightly-qt6/VER6.txt @@ -0,0 +1 @@ +7 diff --git a/anda/themes/lightly-qt6/add-missing-files.patch b/anda/themes/lightly-qt6/add-missing-files.patch new file mode 100644 index 0000000000..fc73038841 --- /dev/null +++ b/anda/themes/lightly-qt6/add-missing-files.patch @@ -0,0 +1,186 @@ +diff --git a/kdecoration/config/CMakeLists.txt b/kdecoration/config/CMakeLists.txt +new file mode 100644 +index 00000000..e4b08f0a +--- /dev/null ++++ b/kdecoration/config/CMakeLists.txt +@@ -0,0 +1,37 @@ ++##### config classes ææææææ ++ ++set(lightlydecoration_config_SRCS ++ ../lightlyexceptionlist.cpp ++ lightlyconfigwidget.cpp ++ lightlydetectwidget.cpp ++ lightlyexceptiondialog.cpp ++ lightlyexceptionlistwidget.cpp ++ lightlyexceptionmodel.cpp ++ lightlyitemmodel.cpp ++) ++ki18n_wrap_ui(lightlydecoration_config_SRCS ++ ui/lightlyconfigurationui.ui ++ ui/lightlydetectwidget.ui ++ ui/lightlyexceptiondialog.ui ++ ui/lightlyexceptionlistwidget.ui ++) ++ ++kcoreaddons_add_plugin(kcm_lightlydecoration SOURCES kcm_lightlydecoration.cpp ${lightlydecoration_config_SRCS} INSTALL_NAMESPACE "${KDECORATION_KCM_PLUGIN_DIR}") ++kconfig_add_kcfg_files(kcm_lightlydecoration ../lightlysettings.kcfgc) ++target_include_directories(kcm_lightlydecoration PRIVATE ${CMAKE_SOURCE_DIR}/kdecoration ${CMAKE_BINARY_DIR}/kdecoration/) ++target_link_libraries(kcm_lightlydecoration ++ PUBLIC ++ Qt6::Core ++ Qt6::Gui ++ Qt6::DBus ++ KDecoration2::KDecoration ++ PRIVATE ++ KF6::CoreAddons ++ KF6::ConfigWidgets ++ KF6::GuiAddons ++ KF6::I18n ++ KF6::IconThemes ++ KF6::WindowSystem ++ KF6::KCMUtils ++) ++kcmutils_generate_desktop_file(kcm_lightlydecoration) +diff --git a/kdecoration/config/kcm_lightlydecoration.cpp b/kdecoration/config/kcm_lightlydecoration.cpp +new file mode 100644 +index 00000000..de9ac802 +--- /dev/null ++++ b/kdecoration/config/kcm_lightlydecoration.cpp +@@ -0,0 +1,6 @@ ++#include "lightlyconfigwidget.h" ++#include ++ ++K_PLUGIN_CLASS_WITH_JSON(Lightly::ConfigWidget, "kcm_lightlydecoration.json") ++ ++#include "kcm_lightlydecoration.moc" +diff --git a/kdecoration/config/kcm_lightlydecoration.json b/kdecoration/config/kcm_lightlydecoration.json +new file mode 100644 +index 00000000..d2013276 +--- /dev/null ++++ b/kdecoration/config/kcm_lightlydecoration.json +@@ -0,0 +1,60 @@ ++{ ++ "KPlugin": { ++ "Description": "Modify the appearance of window decorations", ++ "Description[ar]": "عدّل مظهر زخرفات النّوافذ", ++ "Description[az]": "Pəncərə tərtibatının görünüşünü dəyişdirin", ++ "Description[bg]": "Настройване на външния изглед на прозорците", ++ "Description[ca@valencia]": "Modifica l'aparença de les decoracions de les finestres", ++ "Description[ca]": "Modifica l'aparença de les decoracions de les finestres", ++ "Description[cs]": "Změnit vzhled dekorace oken", ++ "Description[da]": "Ændr vinduesdekorationers udseende", ++ "Description[de]": "Das Erscheinungsbild der Fensterdekoration ändern", ++ "Description[el]": "Τροποποίηση εμφάνισης της διακόσμησης παραθύρου", ++ "Description[en_GB]": "Modify the appearance of window decorations", ++ "Description[es]": "Modificar el aspecto de las decoraciones de las ventanas", ++ "Description[et]": "Akna dekoratsioonide välimuse muutmine", ++ "Description[eu]": "Aldatu leiho apainduren itxura", ++ "Description[fi]": "Muuta ikkunoiden kehysten ulkoasua", ++ "Description[fr]": "Modifier l'apparence des décorations des fenêtres", ++ "Description[gl]": "Modifica a aparencia da decoración da xanela", ++ "Description[he]": "התאם את מראה מסגרות החלונות", ++ "Description[hi]": "विंडो सजावटों की दिखावट को परिवर्तित करें", ++ "Description[hu]": "Az ablakdekorációk megjelenésének módosítása", ++ "Description[ia]": "Modifica le apparentia de decorationes de fenestra", ++ "Description[id]": "Memodifikasi penampilan dekorasi window", ++ "Description[it]": "Modifica l'aspetto delle decorazioni delle finestre", ++ "Description[ja]": "ウィンドウ装飾の外観を編集", ++ "Description[ko]": "창 장식의 모습을 수정합니다", ++ "Description[lt]": "Keisti lango dekoracijų išvaizdą", ++ "Description[nb]": "Endre utseende for vindusdekorasjoner", ++ "Description[nl]": "Wijzig het uiterlijk van vensterdecoraties", ++ "Description[nn]": "Endra utsjånad på vindaugspynt", ++ "Description[pa]": "ਵਿੰਡੋ ਸਜਾਵਟ ਦੀ ਦਿੱਖ ਨੂੰ ਸੋਧੋ", ++ "Description[pl]": "Zmień wygląd i wystrój okien", ++ "Description[pt]": "Modificar a aparência das decorações das janelas", ++ "Description[pt_BR]": "Modifica a aparência das decorações da janela", ++ "Description[ro]": "Modifică aspectul decorațiilor pentru ferestre", ++ "Description[ru]": "Настройка заголовков окон в стиле Breeze", ++ "Description[sk]": "Zmena vzhľadu dekorácie okien", ++ "Description[sl]": "Spremenite videz okrasitve oken", ++ "Description[sr@ijekavian]": "Измијените изглед декорација прозора", ++ "Description[sr@ijekavianlatin]": "Izmijenite izgled dekoracija prozora", ++ "Description[sr@latin]": "Izmenite izgled dekoracija prozora", ++ "Description[sr]": "Измените изглед декорација прозора", ++ "Description[sv]": "Ändra utseendet hos fönsterdekorationer", ++ "Description[tg]": "Тағйир додани ороиши намуди зоҳирии равзанаҳо", ++ "Description[tr]": "Pencere dekorasyonlarının görünümünü değiştir", ++ "Description[uk]": "Зміна вигляду декорацій вікон", ++ "Description[x-test]": "xxModify the appearance of window decorationsxx", ++ "Description[zh_CN]": "修改窗口装饰外观", ++ "Description[zh_TW]": "變更視窗裝飾外觀", ++ "Icon": "preferences-system-windows", ++ "Name": "Lightly: Window Decoration", ++ "ServiceTypes": [ ++ "KCModule" ++ ] ++ }, ++ "X-KDE-Keywords": "Lightly,decoration", ++ "X-KDE-ParentApp": "kcontrol", ++ "X-KDE-Weight": 50 ++} +diff --git a/kstyle/config/lightlystyleconfig.json b/kstyle/config/lightlystyleconfig.json +new file mode 100644 +index 00000000..f4f58aeb +--- /dev/null ++++ b/kstyle/config/lightlystyleconfig.json +@@ -0,0 +1,59 @@ ++{ ++ "KPlugin": { ++ "Description": "Modify the appearance of widgets", ++ "Description[ar]": "عدّل مظهر الودجات", ++ "Description[az]": "Vidjetin görünüşünü dəyişin", ++ "Description[bg]": "Настройване на външния изглед на приставките", ++ "Description[ca@valencia]": "Modifica l'aparença dels ginys", ++ "Description[ca]": "Modifica l'aparença dels ginys", ++ "Description[cs]": "Změnit vzhled widgetů", ++ "Description[da]": "Ændr kontrollers udseende", ++ "Description[de]": "Das Erscheinungsbild der Bedienelemente ändern", ++ "Description[el]": "Τροποποίηση εμφάνισης συστατικών", ++ "Description[en_GB]": "Modify the appearance of widgets", ++ "Description[es]": "Modificar el aspecto de los elementos gráficos", ++ "Description[et]": "Vidinate välimuse muutmine", ++ "Description[eu]": "Aldatu trepeten itxura", ++ "Description[fi]": "Muuta elementtien ulkoasua", ++ "Description[fr]": "Modifier l'apparence des composants graphiques", ++ "Description[gl]": "Modifica a aparencia dos trebellos", ++ "Description[he]": "התאם את המראה של היישומונים", ++ "Description[hi]": "विजेट की दिखावट को परिवर्तित करें", ++ "Description[hu]": "Az elemek megjelenésének módosítása", ++ "Description[ia]": "Modifica le apparentia de widgets", ++ "Description[id]": "Memodifikasi penampilan widget", ++ "Description[it]": "Modifica l'aspetto degli oggetti", ++ "Description[ja]": "ウィジェットの外観を編集", ++ "Description[ko]": "위젯의 모습을 수정합니다", ++ "Description[lt]": "Keisti valdiklių išvaizdą", ++ "Description[nb]": "Endre utseende for skjermelementer", ++ "Description[nl]": "Wijzig het uiterlijk van widgets", ++ "Description[nn]": "Endra utsjånaden på skjermkontrollar", ++ "Description[pl]": "Zmień wygląd interfejsu", ++ "Description[pt]": "Modificar a aparência dos elementos gráficos", ++ "Description[pt_BR]": "Modifica a aparência dos widgets", ++ "Description[ro]": "Modifică aspectul controalelor", ++ "Description[ru]": "Настройка элементов интерфейса в стиле Breeze", ++ "Description[sk]": "Zmena vzhľadu miniaplikácií", ++ "Description[sl]": "Spremenite videz gradnikov", ++ "Description[sr@ijekavian]": "Измијените изглед виџета̂", ++ "Description[sr@ijekavianlatin]": "Izmijenite izgled vidžetâ̂", ++ "Description[sr@latin]": "Izmenite izgled vidžetâ̂", ++ "Description[sr]": "Измените изглед виџета̂", ++ "Description[sv]": "Ändra utseende hos grafiska komponenter", ++ "Description[tg]": "Тағйир додани намуди зоҳирии виҷетҳо", ++ "Description[tr]": "Araç takımlarının görünümünü değiştir", ++ "Description[uk]": "Зміна вигляду віджетів", ++ "Description[x-test]": "xxModify the appearance of widgetsxx", ++ "Description[zh_CN]": "调整窗口部件外观", ++ "Description[zh_TW]": "變更元件外觀", ++ "Icon": "preferences-desktop-theme", ++ "Name": "Lightly: Widget Style", ++ "ServiceTypes": [ ++ "KCModule" ++ ] ++ }, ++ "X-KDE-Keywords": "lightly,widget,style", ++ "X-KDE-ParentApp": "kcontrol", ++ "X-KDE-Weight": 60 ++} diff --git a/anda/themes/lightly-qt6/anda.hcl b/anda/themes/lightly-qt6/anda.hcl new file mode 100644 index 0000000000..a58b705652 --- /dev/null +++ b/anda/themes/lightly-qt6/anda.hcl @@ -0,0 +1,6 @@ +project "pkg" { + arches = ["x86_64", "aarch64"] + rpm { + spec = "lightly-qt6.spec" + } +} diff --git a/anda/themes/lightly-qt6/lightly-qt6.spec b/anda/themes/lightly-qt6/lightly-qt6.spec new file mode 100644 index 0000000000..ae5a5462fb --- /dev/null +++ b/anda/themes/lightly-qt6/lightly-qt6.spec @@ -0,0 +1,102 @@ +%global style Lightly +%global _style lightly +%global dev boehs +%global _qt_major_version 6 + +%global forgeurl https://github.com/%{dev}/%{style} +%global commit 00ca23447844114d41bfc0d37cf8823202c082e8 +%global date 20240229 + +%forgemeta + +Name: %{_style}-qt%{_qt_major_version} +Version: 6.80 +Release: %autorelease +Summary: A modern style for qt applications +License: GPL-2.0-or-later +Group: System/GUI/KDE + +URL: %{forgeurl} +Source: %{forgesource} +Patch0: add-missing-files.patch + +BuildRequires: gcc-c++ +BuildRequires: cmake >= 3.16 +BuildRequires: extra-cmake-modules >= 5.240.0 + +BuildRequires: kf%{_qt_major_version}-rpm-macros +BuildRequires: kf%{_qt_major_version}-filesystem + +BuildRequires: cmake(Qt%{_qt_major_version}Core) +BuildRequires: cmake(Qt%{_qt_major_version}DBus) +BuildRequires: cmake(Qt%{_qt_major_version}Gui) +BuildRequires: cmake(Qt%{_qt_major_version}Quick) +BuildRequires: cmake(Qt%{_qt_major_version}UiTools) +BuildRequires: cmake(Qt%{_qt_major_version}Widgets) + +BuildRequires: cmake(KF%{_qt_major_version}CoreAddons) +BuildRequires: cmake(KF%{_qt_major_version}Config) +BuildRequires: cmake(KF%{_qt_major_version}ConfigWidgets) +BuildRequires: cmake(KF%{_qt_major_version}Crash) +BuildRequires: cmake(KF%{_qt_major_version}FrameworkIntegration) +BuildRequires: cmake(KF%{_qt_major_version}GuiAddons) +BuildRequires: cmake(KF%{_qt_major_version}GlobalAccel) +BuildRequires: cmake(KF%{_qt_major_version}I18n) +BuildRequires: cmake(KF%{_qt_major_version}IconThemes) +BuildRequires: cmake(KF%{_qt_major_version}KCMUtils) +BuildRequires: cmake(KF%{_qt_major_version}KIO) +BuildRequires: cmake(KF%{_qt_major_version}Kirigami2) +BuildRequires: cmake(KF%{_qt_major_version}Notifications) +BuildRequires: cmake(KF%{_qt_major_version}Package) +BuildRequires: cmake(KF%{_qt_major_version}WindowSystem) + +BuildRequires: cmake(KDecoration2) +BuildRequires: cmake(KWayland) +BuildRequires: cmake(Plasma) +BuildRequires: cmake(Plasma5Support) + +BuildRequires: pkgconfig(x11-xcb) +BuildRequires: pkgconfig(xcb) + +BuildRequires: kwin-devel +BuildRequires: libepoxy-devel +BuildRequires: kf%{_qt_major_version}-kpackage-devel + +Obsoletes: %{_style} <= %{version} + +%description +Lightly is a fork of breeze theme style that aims to be visually modern and minimalistic. + +%prep +%forgeautosetup -p1 + +%build +%cmake_kf6 -DQT_MAJOR_VERSION=%{_qt_major_version} +%cmake_build + +%install +%cmake_install + +%files +%license COPYING +%doc AUTHORS README.md + +%{_bindir}/lightly-settings%{_qt_major_version} + +%{_libdir}/cmake/%{style}/ +%{_libdir}/lib%{_style}common%{_qt_major_version}.so.* + +%{_qt6_plugindir}/kstyle_config/%{_style}styleconfig.so +%{_qt6_plugindir}/org.kde.kdecoration2/org.kde.%{_style}.so +%{_qt6_plugindir}/org.kde.kdecoration2.kcm/kcm_%{_style}decoration.so +%{_qt6_plugindir}/styles/%{_style}%{_qt_major_version}.so + +%{_datadir}/applications/kcm_%{_style}decoration.desktop +%{_datadir}/applications/%{_style}styleconfig.desktop +%{_datadir}/color-schemes/%{style}.colors +%{_datadir}/icons/hicolor/scalable/apps/%{_style}-settings.svgz +%{_datadir}/kservices%{_qt_major_version}/%{_style}decorationconfig.desktop +%{_datadir}/kstyle/themes/%{_style}.themerc + +%changelog +%autochangelog diff --git a/anda/themes/lightly-qt6/update.rhai b/anda/themes/lightly-qt6/update.rhai new file mode 100644 index 0000000000..a6588ef415 --- /dev/null +++ b/anda/themes/lightly-qt6/update.rhai @@ -0,0 +1,7 @@ +let repos = get("https://repology.org/api/v1/project/qt").json_arr(); +let branch = sh("git rev-parse --abbrev-ref HEAD", #{"stdout": "piped"}).ctx.stdout; +branch.crop(1); +branch.trim(); +let vers = repos.filter(|r| r.repo == `fedora_${branch}`).map(|r| [find("^(\\d+)\\.(\\d+)\\..+$", r.version, 1), find("^(\\d+)\\.(\\d+)\\..+$", r.version, 2)]); +let ver = vers.find(|v| v[0] == "6")[1]; // assume there is only 1 package for v6.x +open_file("anda/themes/lightly-qt6/VER6.txt").write(`${ver}`); // will trig rebuild when changed diff --git a/anda/themes/tau-helium/tau-helium.spec b/anda/themes/tau-helium/tau-helium.spec index ccfa24a1a7..d3b193c8de 100644 --- a/anda/themes/tau-helium/tau-helium.spec +++ b/anda/themes/tau-helium/tau-helium.spec @@ -1,4 +1,4 @@ -%global ver 1.8.10-6 +%global ver 1.8.10-11 Summary: tauOS GTK/GNOME Shell Themes Name: tau-helium diff --git a/anda/themes/tau-hydrogen/tau-hydrogen.spec b/anda/themes/tau-hydrogen/tau-hydrogen.spec index e43c56d992..397cdc274b 100644 --- a/anda/themes/tau-hydrogen/tau-hydrogen.spec +++ b/anda/themes/tau-hydrogen/tau-hydrogen.spec @@ -1,7 +1,7 @@ Summary: tauOS Icon Theme Name: tau-hydrogen -Version: 1.0.14 -Release: 1%{?dist} +Version: 1.0.16 +Release: 1%?dist License: GPL-3.0 URL: https://github.com/tau-OS/tau-hydrogen Source0: https://github.com/tau-OS/tau-hydrogen/archive/refs/tags/%{version}.tar.gz diff --git a/anda/tools/buildsys/anda/rust-anda.spec b/anda/tools/buildsys/anda/rust-anda.spec index 2d09fa4b96..38ab338d32 100644 --- a/anda/tools/buildsys/anda/rust-anda.spec +++ b/anda/tools/buildsys/anda/rust-anda.spec @@ -5,7 +5,7 @@ %global crate anda Name: rust-anda -Version: 0.1.28 +Version: 0.2.0 Release: 1%?dist Summary: Andaman Build toolchain @@ -19,6 +19,8 @@ BuildRequires: rust-packaging >= 21 BuildRequires: anda-srpm-macros BuildRequires: openssl-devel BuildRequires: git-core +BuildRequires: libgit2-devel +BuildRequires: libssh2-devel Requires: mock Requires: rpm-build diff --git a/anda/tools/buildsys/gradle/gradle.spec b/anda/tools/buildsys/gradle/gradle.spec index 88ddfeb6c3..532180dd0e 100644 --- a/anda/tools/buildsys/gradle/gradle.spec +++ b/anda/tools/buildsys/gradle/gradle.spec @@ -1,5 +1,5 @@ Name: gradle -Version: 8.7.0 +Version: 8.8.0 Release: 1%?dist Summary: Powerful build system for the JVM URL: https://gradle.org/ diff --git a/anda/tools/buildsys/katsu/katsu.spec b/anda/tools/buildsys/katsu/katsu.spec index 9187321272..33af2daea2 100644 --- a/anda/tools/buildsys/katsu/katsu.spec +++ b/anda/tools/buildsys/katsu/katsu.spec @@ -1,13 +1,13 @@ %define debug_package %nil Name: katsu -Version: 0.2.0 -Release: 1%{?dist} +Version: 0.7.0 +Release: 1%?dist Summary: The vicious image builder License: MIT URL: https://github.com/FyraLabs/katsu Source0: %url/archive/refs/tags/v%version.tar.gz -Requires: xorriso dracut limine grub2 systemd-devel squashfs-tools +Requires: xorriso dracut limine grub2 systemd-devel squashfs-tools parted gdisk Requires: dracut-live dracut-config-generic dracut-config-rescue grub2-tools-extra dracut-squash BuildRequires: cargo rust-packaging pkgconfig(libudev) clang-devel diff --git a/anda/tools/buildsys/subatomic/subatomic.spec b/anda/tools/buildsys/subatomic/subatomic.spec index 02520cc5f1..6f72eb298e 100644 --- a/anda/tools/buildsys/subatomic/subatomic.spec +++ b/anda/tools/buildsys/subatomic/subatomic.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: subatomic -Version: 0.8.0 +Version: 0.8.1 Release: 1%?dist Summary: A modern package delivery system diff --git a/anda/tools/electron/electron.spec b/anda/tools/electron/electron.spec index fb12d462c8..4e0b1a2011 100644 --- a/anda/tools/electron/electron.spec +++ b/anda/tools/electron/electron.spec @@ -12,7 +12,7 @@ %global __provides_exclude_from %{_libdir}/%{name}/.*\\.so Name: electron -Version: 29.1.6 +Version: 31.1.0 Release: 1%?dist Summary: Build cross platform desktop apps with web technologies License: MIT diff --git a/anda/tools/espanso-wayland/anda.hcl b/anda/tools/espanso-wayland/anda.hcl new file mode 100644 index 0000000000..1ec502274e --- /dev/null +++ b/anda/tools/espanso-wayland/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "espanso-wayland.spec" + } +} diff --git a/anda/tools/espanso-wayland/espanso-wayland.spec b/anda/tools/espanso-wayland/espanso-wayland.spec new file mode 100644 index 0000000000..1d7249030b --- /dev/null +++ b/anda/tools/espanso-wayland/espanso-wayland.spec @@ -0,0 +1,43 @@ +Name: espanso-wayland +Version: 2.2.1 +Release: 2%?dist +Summary: Cross-platform Text Expander written in Rust for Wayland +License: GPL-3.0 +URL: https://espanso.org +Source0: https://github.com/espanso/espanso/archive/refs/tags/v%version.tar.gz +Requires: libxkbcommon dbus libnotify wxGTK wl-clipboard +Conflicts: espanso-x11 +BuildRequires: anda-srpm-macros cargo-rpm-macros gcc gcc-c++ +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: wxGTK-devel +BuildRequires: openssl-devel + +%description +A cross-platform Text Expander written in Rust. A text expander is a program +that detects when you type a specific keyword and replaces it with something +else. + +This package includes the Wayland version of espanso. + + +%prep +%autosetup -n espanso-%version +cd espanso +%cargo_prep_online + +%build +cd espanso +%cargo_build -n -f vendored-tls,"wayland" -- --package={espanso,espanso-clipboard,espanso-config,espanso-detect,espanso-engine,espanso-info,espanso-inject,espanso-ipc,espanso-kvs,espanso-mac-utils,espanso-match,espanso-migrate,espanso-modulo,espanso-package,espanso-path,espanso-render,espanso-ui} + +%install +mkdir -p %buildroot%_bindir +install -Dm755 target/rpm/espanso %buildroot%_bindir + +%files +%caps(cap_dac_override=pe) %_bindir/espanso + +%changelog +%autochangelog diff --git a/anda/tools/espanso-wayland/update.rhai b/anda/tools/espanso-wayland/update.rhai new file mode 100644 index 0000000000..51e9bbde1b --- /dev/null +++ b/anda/tools/espanso-wayland/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("espanso/espanso")); diff --git a/anda/tools/espanso-x11/anda.hcl b/anda/tools/espanso-x11/anda.hcl new file mode 100644 index 0000000000..a0402813bd --- /dev/null +++ b/anda/tools/espanso-x11/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "espanso-x11.spec" + } +} diff --git a/anda/tools/espanso-x11/espanso-x11.spec b/anda/tools/espanso-x11/espanso-x11.spec new file mode 100644 index 0000000000..542672fa8f --- /dev/null +++ b/anda/tools/espanso-x11/espanso-x11.spec @@ -0,0 +1,43 @@ +Name: espanso-x11 +Version: 2.2.1 +Release: 2%?dist +Summary: Cross-platform Text Expander written in Rust for X11 +License: GPL-3.0 +URL: https://espanso.org +Source0: https://github.com/espanso/espanso/archive/refs/tags/v%version.tar.gz +Requires: libxkbcommon dbus libnotify wxGTK xdotool xclip libxcb +Conflicts: espanso-wayland +BuildRequires: anda-srpm-macros cargo-rpm-macros gcc gcc-c++ +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: wxGTK-devel +BuildRequires: openssl-devel + +%description +A cross-platform Text Expander written in Rust. A text expander is a program +that detects when you type a specific keyword and replaces it with something +else. + +This package includes the X11 version of espanso. + + +%prep +%autosetup -n espanso-%version +cd espanso +%cargo_prep_online + +%build +cd espanso +%cargo_build -n -f vendored-tls,"default" -- --package={espanso,espanso-clipboard,espanso-config,espanso-detect,espanso-engine,espanso-info,espanso-inject,espanso-ipc,espanso-kvs,espanso-mac-utils,espanso-match,espanso-migrate,espanso-modulo,espanso-package,espanso-path,espanso-render,espanso-ui} + +%install +mkdir -p %buildroot%_bindir +install -Dm755 target/rpm/espanso %buildroot%_bindir + +%files +%caps(cap_dac_override=pe) %_bindir/espanso + +%changelog +%autochangelog diff --git a/anda/tools/espanso-x11/update.rhai b/anda/tools/espanso-x11/update.rhai new file mode 100644 index 0000000000..51e9bbde1b --- /dev/null +++ b/anda/tools/espanso-x11/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("espanso/espanso")); diff --git a/anda/tools/fuc/fuc.spec b/anda/tools/fuc/fuc.spec index b7083cc7d0..44742bc74c 100644 --- a/anda/tools/fuc/fuc.spec +++ b/anda/tools/fuc/fuc.spec @@ -1,8 +1,8 @@ %global debug_package %{nil} Name: fuc -Version: 2.0.0 -Release: 1%{?dist} +Version: 2.1.0 +Release: 1%?dist Summary: Modern, performance focused unix commands URL: https://github.com/SUPERCILEX/fuc Source0: https://raw.githubusercontent.com/SUPERCILEX/fuc/%{version}/README.md diff --git a/anda/tools/gcm-core/gcm-core.spec b/anda/tools/gcm-core/gcm-core.spec index 4778865dea..838de50c32 100644 --- a/anda/tools/gcm-core/gcm-core.spec +++ b/anda/tools/gcm-core/gcm-core.spec @@ -6,9 +6,9 @@ %global forgeurl https://github.com/GitCredentialManager/git-credential-manager Name: gcm-core -Version: 2.4.1 +Version: 2.5.0 %forgemeta -Release: 1%{?dist} +Release: 1%?dist Summary: Secure, cross-platform Git credential storage License: MIT @@ -18,7 +18,7 @@ Source0: %{forgesource} Provides: %{long_name} = %{version}-%{release} Provides: %{long_name}-core = %{version}-%{release} -BuildRequires: dotnet-sdk-7.0 +BuildRequires: dotnet-sdk-8.0 # Require DPKG, so that we can use the `dpkg-architecture` command. which makes the build script happy. # TODO: Better solution: Patch out the debian-specific packaging code. BuildRequires: dpkg-dev diff --git a/anda/tools/sbctl/anda.hcl b/anda/tools/sbctl/anda.hcl new file mode 100644 index 0000000000..85845deea1 --- /dev/null +++ b/anda/tools/sbctl/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "sbctl.spec" + } +} diff --git a/anda/tools/sbctl/sbctl.spec b/anda/tools/sbctl/sbctl.spec new file mode 100644 index 0000000000..ee226fd775 --- /dev/null +++ b/anda/tools/sbctl/sbctl.spec @@ -0,0 +1,85 @@ +Name: sbctl +Version: 0.14 +Release: 1%?dist +Summary: Secure Boot key manager + +License: MIT +URL: https://github.com/Foxboron/sbctl +Source0: https://github.com/Foxboron/sbctl/releases/download/%{version}/sbctl-%{version}.tar.gz + +ExclusiveArch: %{golang_arches} + +Requires: binutils +Requires: util-linux + +Recommends: systemd-udev + +BuildRequires: asciidoc +BuildRequires: git +BuildRequires: go-rpm-macros + +%description +sbctl intends to be a user-friendly secure boot key manager capable of setting +up secure boot, offer key management capabilities, and keep track of files that +needs to be signed in the boot chain. + + +%prep +%autosetup -p1 + +sed -i '/go build/d' Makefile + + +%build +export GOPATH=%{_builddir}/go +%global gomodulesmode GO111MODULE=on +%gobuild -o sbctl ./cmd/sbctl +%make_build + + +%install +%make_install PREFIX=%{_prefix} + + +%transfiletriggerin -P 1 -- /boot /efi /usr/lib /usr/libexec +if grep -q -m 1 -e '\.efi$' -e '/vmlinuz$'; then + exec - 0.13-1 +- Push to Terra + +* Tue Dec 26 2023 Andrew Gunnerson - 0.13-1 +- Update to version 0.13 + +* Sun Nov 12 2023 Andrew Gunnerson - 0.12-2 +- Switch to upstream 91-sbctl.install kernel-install script + +* Fri Oct 20 2023 Andrew Gunnerson - 0.12-1 +- Update to version 0.12 + +* Sat Mar 25 2023 Andrew Gunnerson - 0.11-1 +- Update to version 0.11 + +* Mon Dec 12 2022 Andrew Gunnerson - 0.10-1 +- Update to version 0.10 + +* Tue May 3 2022 Andrew Gunnerson - 0.9-1 +- Update to version 0.9 + +* Thu Jan 27 2022 Andrew Gunnerson - 0.8-1 +- Initial release diff --git a/anda/tools/sbctl/update.rhai b/anda/tools/sbctl/update.rhai new file mode 100644 index 0000000000..603627aa65 --- /dev/null +++ b/anda/tools/sbctl/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Foxboron/sbctl")); diff --git a/anda/tools/yt-dlp/yt-dlp-nightly.spec b/anda/tools/yt-dlp/yt-dlp-nightly.spec index f5986ae417..e126b7f1e7 100644 --- a/anda/tools/yt-dlp/yt-dlp-nightly.spec +++ b/anda/tools/yt-dlp/yt-dlp-nightly.spec @@ -1,8 +1,8 @@ #bcond_without tests -%global commit c59de48e2bb4c681b03b93b584a05f52609ce4a0 +%global commit 0953209a857c51648aee89d205c086b0e1dd3864 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20240402 -%global ver 2024.03.10 +%global commit_date 20240627 +%global ver 2024.05.27 Name: yt-dlp-nightly Version: %ver^%commit_date.%shortcommit diff --git a/comps.xml b/comps.xml index 70c1d8382c..58fc168b97 100644 --- a/comps.xml +++ b/comps.xml @@ -73,4 +73,16 @@ pantheon-tweaks + + helium + Helium Theme and libhelium + The Application Framework and Theme for tauOS. + false + true + + libhelium + tau-helium + tau-hydrogen + +