diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 965f6f203b..699a834a87 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,9 +2,6 @@ "name": "Terra Devcontainer", "image": "ghcr.io/terrapkg/builder:frawhide", "runArgs": ["--privileged"], - "features": { - "ghcr.io/devcontainers/features/common-utils:2": {} - }, "customizations": { "vscode": { "extensions": [ diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index 1eb90aaa12..e7e84fa87d 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -33,7 +33,7 @@ jobs: - name: Set workspace as safe run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 - name: Generate build matrix diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index b021a21ba5..330334f577 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -24,11 +24,20 @@ jobs: dnf5 swap -y --setopt=install_weak_deps=False systemd-standalone-sysusers systemd dnf5 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs dnf5-plugins rpmbuild script - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: f${{ matrix.version }} fetch-depth: 1 + - name: Setup build environment + run: | + sed -i 's/.fc%{fedora}/.fcrawhide/g' /usr/lib/rpm/macros.d/macros.dist + cat<> /etc/dnf/dnf.conf + gpgcheck=1 + install_weak_deps=0 + max_parallel_downloads=20 + EOF + - name: Build anda-srpm-macros run: | mkdir -p anda-build/rpm/rpms @@ -37,11 +46,11 @@ jobs: dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm - name: Install build dependencies - run: dnf5 builddep -y anda/terra/{mock-configs,srpm-macros}/*.spec anda/tools/buildsys/{anda,subatomic}/*.spec + run: dnf5 builddep -y anda/terra/{mock-configs,srpm-macros,appstream-helper}/*.spec anda/{buildsys/anda,tools/subatomic}/*.spec - name: Install Anda run: | - rpmbuild -bb anda/tools/buildsys/anda/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/tools/buildsys/anda/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/" + rpmbuild -bb anda/buildsys/anda/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/buildsys/anda/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/" mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/ dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm @@ -61,7 +70,7 @@ jobs: run: anda build -D "vendor Terra" -D "__python %{__python3}" -rrpmbuild anda/terra/appstream-helper/pkg - name: Build Subatomic - run: anda build -D "vendor Terra" -rrpmbuild anda/tools/buildsys/subatomic/pkg + run: anda build -D "vendor Terra" -rrpmbuild anda/tools/subatomic/pkg - name: Install Subatomic run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1e232af45f..3adab0003a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,7 +32,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 - name: Setup Git diff --git a/.github/workflows/json-build.yml b/.github/workflows/json-build.yml index 479de2b539..c9ca5186dc 100644 --- a/.github/workflows/json-build.yml +++ b/.github/workflows/json-build.yml @@ -51,7 +51,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 29e2e4ba34..6f888de5a3 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -34,7 +34,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false @@ -73,6 +73,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard (optional). # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4 + uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4 with: sarif_file: results.sarif diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index 6da91e59e6..f80e246eac 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -27,7 +27,7 @@ jobs: git config --global commit.gpgsign true - name: Backport Action - uses: sorenlouv/backport-github-action@85813678d776774a19ec5af56bd3a04305946f8a # v12.0.0 + uses: sorenlouv/backport-github-action@8a6c0381851f43f9f1fddc7303f0e9015eb57b62 # v12.0.4 with: github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }} auto_backport_label_prefix: sync- diff --git a/.github/workflows/update-branch.yml b/.github/workflows/update-branch.yml index 47b7ef26c1..be1ba9a5e0 100644 --- a/.github/workflows/update-branch.yml +++ b/.github/workflows/update-branch.yml @@ -24,7 +24,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ matrix.branch }} fetch-depth: 0 diff --git a/.github/workflows/update-comps.yml b/.github/workflows/update-comps.yml index f9f0dab48e..0e5cfa18eb 100644 --- a/.github/workflows/update-comps.yml +++ b/.github/workflows/update-comps.yml @@ -20,7 +20,7 @@ jobs: container: image: ghcr.io/terrapkg/builder:frawhide steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Push to subatomic run: | branch=${{ github.ref_name }} diff --git a/.github/workflows/update-nightly.yml b/.github/workflows/update-nightly.yml index 0e8d987fc8..8a68dfbcce 100644 --- a/.github/workflows/update-nightly.yml +++ b/.github/workflows/update-nightly.yml @@ -16,7 +16,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} diff --git a/.github/workflows/update-weekly.yml b/.github/workflows/update-weekly.yml index 4a5c328231..80c43b8022 100644 --- a/.github/workflows/update-weekly.yml +++ b/.github/workflows/update-weekly.yml @@ -16,7 +16,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index 24bddfa103..741623d0b3 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -16,7 +16,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }} diff --git a/.gitignore b/.gitignore index 9161afd3f9..4910acc325 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ anda-build/ **/*.nupkg **/*.rpm **/*.kate-swp +**/.DS_Store diff --git a/README.md b/README.md index 2c71d59f8c..c1347223a4 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This monorepo contains the package manifests for all packages in Terra. ## Installation -The latest detailed instructions are available in our Devdocs: https://developer.fyralabs.com/terra/installing +The latest detailed instructions are available in our docs: https://docs.terrapkg.com/usage/installing ### Fedora @@ -34,7 +34,7 @@ On Fedora, you can optionally install the Terra subrepos. Extra care and caution - Install `terra-release-extras` to enable the Extras subrepo. This repo contains packages which conflict with Fedora packages in some way, such as being a patched version of the same package. - Install `terra-release-mesa` to install the Mesa subrepo which contains a patched and codec complete Mesa. - Install `terra-release-nvidia` to install the NVIDIA subrepo which contains NVIDIA drivers. -- Install `terra-release-multimedia` for multimedia packages in Terra. This repository is currently considered a work in progress. +- Install `terra-release-multimedia` for multimedia packages in Terra. **This repository is currently considered unstable and a work in progress.** ### Enterprise Linux (EL) @@ -56,13 +56,13 @@ sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/t First of all, thanks for being interested in contributing to Terra! If you have any questions about contributing, please [join our chats](https://wiki.ultramarine-linux.org/en/community/community/). -- [Contribution Guide](https://developer.fyralabs.com/terra/contributing) -- [FAQ](https://developer.fyralabs.com/terra/faq) -- [Guidelines](https://developer.fyralabs.com/terra/guidelines) +- [Contribution Guide](https://docs.terrapkg.com/contributing/getting-started) +- [FAQ](https://docs.terrapkg.com/reference/faq) +- [Guidelines](https://docs.terrapkg.com/contributing/guidelines) ## Documentation -Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/). +Our documentation can be found on our [docs site](https://docs.terrapkg.com). ## Searching Packages @@ -72,6 +72,6 @@ Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/t Feel free to reach out by [joining our community](https://wiki.ultramarine-linux.org/en/community/community/). We're always happy to help! -- [Contribution Guide](https://developer.fyralabs.com/terra/contributing) -- [FAQ](https://developer.fyralabs.com/terra/faq) -- [Guidelines](https://developer.fyralabs.com/terra/guidelines) +- [Contribution Guide](https://docs.terrapkg.com/contributing/getting-started) +- [FAQ](https://docs.terrapkg.com/reference/faq) +- [Guidelines](https://docs.terrapkg.com/contributing/guidelines) diff --git a/anda/apps/1password-cli/1password-cli.spec b/anda/apps/1password-cli/1password-cli.spec new file mode 100644 index 0000000000..36a3863492 --- /dev/null +++ b/anda/apps/1password-cli/1password-cli.spec @@ -0,0 +1,49 @@ +%global debug_package %{nil} + +%ifarch x86_64 +%global op_arch amd64 +%elifarch aarch64 +%global op_arch arm64 +%endif + +Name: 1password-cli +Version: 2.34.1 +Release: 1%{?dist} +Summary: 1Password command-line tool + +Packager: Cappy Ishihara + +License: LicenseRef-1Password-Proprietary +URL: https://developer.1password.com/docs/cli/ +Source0: https://cache.agilebits.com/dist/1P/op2/pkg/v%{version}/op_linux_%{op_arch}_v%{version}.zip +Source1: 1password-cli.sysusers +ExclusiveArch: x86_64 aarch64 + +BuildRequires: systemd-rpm-macros +BuildRequires: unzip +Recommends: 1password +Recommends: polkit + +%description +1Password CLI brings 1Password to your terminal. + +%prep +%autosetup -c + +%build + +%install +install -Dm0755 op %{buildroot}%{_bindir}/op +chmod 2755 %{buildroot}%{_bindir}/op +install -Dm0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/%{name}.conf + +%pre +%sysusers_create_package %{name} %{SOURCE1} + +%files +%attr(2755,root,onepassword-cli) %{_bindir}/op +%{_sysusersdir}/%{name}.conf + +%changelog +* Fri Jun 19 2026 Cappy Ishihara +- Initial Package diff --git a/anda/apps/1password-cli/1password-cli.sysusers b/anda/apps/1password-cli/1password-cli.sysusers new file mode 100644 index 0000000000..14e7bc2f29 --- /dev/null +++ b/anda/apps/1password-cli/1password-cli.sysusers @@ -0,0 +1 @@ +g onepassword-cli - diff --git a/anda/apps/1password-cli/anda.hcl b/anda/apps/1password-cli/anda.hcl new file mode 100644 index 0000000000..a903e76e0c --- /dev/null +++ b/anda/apps/1password-cli/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64", "aarch64"] + rpm { + spec = "1password-cli.spec" + } +} diff --git a/anda/apps/1password-cli/update.rhai b/anda/apps/1password-cli/update.rhai new file mode 100644 index 0000000000..98af768ad3 --- /dev/null +++ b/anda/apps/1password-cli/update.rhai @@ -0,0 +1,37 @@ +let html = get("https://app-updates.agilebits.com/product_history/CLI2"); +let versions = []; + +for matches in find_all(`op_linux_amd64_v([\d]+\.[\d]+\.[\d]+)\.zip`, html) { + versions += matches[1]; +} + +versions.dedup(); + +let latest = ""; +let latest_major = 0; +let latest_minor = 0; +let latest_patch = 0; + +for version in versions { + let parts = version.split("."); + let major = parts[0].parse_int(); + let minor = parts[1].parse_int(); + let patch = parts[2].parse_int(); + + if latest == "" || + major > latest_major || + major == latest_major && minor > latest_minor || + major == latest_major && minor == latest_minor && patch > latest_patch { + latest = version; + latest_major = major; + latest_minor = minor; + latest_patch = patch; + } +} + +if latest == "" { + print("E: no 1Password CLI version found"); + terminate(); +} + +rpm.version(latest); diff --git a/anda/apps/1password/1password.spec b/anda/apps/1password/1password.spec new file mode 100644 index 0000000000..d6a346879f --- /dev/null +++ b/anda/apps/1password/1password.spec @@ -0,0 +1,125 @@ +%global debug_package %{nil} +%global policy_owners unix-group:wheel +%global appdir %{_datadir}/1password + +# Exclude private Electron libraries bundled in the app payload. +%global __provides_exclude libffmpeg.so|libvk_swiftshader.so|libvulkan.so|libEGL.so|libGLESv2.so +%global __requires_exclude libffmpeg.so|libvk_swiftshader.so|libvulkan.so|libEGL.so|libGLESv2.so + +%ifarch x86_64 +%global tararch x64 +%elifarch aarch64 +%global tararch arm64 +%endif + +Name: 1password +Version: 8.12.24 +Release: 2%{?dist} +Summary: Password manager and secure wallet + +Packager: Cappy Ishihara + +License: LicenseRef-1Password-Proprietary +URL: https://1password.com +Source0: https://downloads.1password.com/linux/tar/stable/%{_arch}/%{name}-%{version}.%{tararch}.tar.gz +Source1: https://downloads.1password.com/linux/tar/stable/%{_arch}/%{name}-%{version}.%{tararch}.tar.gz.sig +Source2: 1password.sysusers +ExclusiveArch: x86_64 aarch64 + +BuildRequires: desktop-file-utils +BuildRequires: systemd-rpm-macros +Requires: desktop-file-utils +Requires: gtk3 +Requires: hicolor-icon-theme +Requires: nss +Requires: polkit +Requires: xdg-utils + +%description +%{summary} + +%prep +%autosetup -n %{name}-%{version}.%{tararch} + + +%build + +%install +# Install icons +install -Dm0644 resources/icons/hicolor/32x32/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/ +install -Dm0644 resources/icons/hicolor/64x64/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/ +install -Dm0644 resources/icons/hicolor/256x256/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/ +install -Dm0644 resources/icons/hicolor/512x512/apps/1password.png -t %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ + +sed 's|${POLICY_OWNERS}|%{policy_owners}|g' \ + com.1password.1Password.policy.tpl > com.1password.1Password.policy +install -Dm0644 com.1password.1Password.policy -t %{buildroot}%{_datadir}/polkit-1/actions/ +install -Dm0644 resources/custom_allowed_browsers -t %{buildroot}%{_sysconfdir}/1password/ +install -Dm0644 resources/custom_allowed_browsers -t %{buildroot}%{_datadir}/doc/1password/examples/ +sed -i 's|^Exec=/opt/1Password/1password|Exec=%{_bindir}/1password|' resources/1password.desktop +desktop-file-install --dir=%{buildroot}%{_datadir}/applications resources/1password.desktop +install -Dm0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf + +# Install application payload under /usr for immutable-system compatibility. +mkdir -p %{buildroot}%{appdir} +cp -a . %{buildroot}%{appdir}/ +rm -f %{buildroot}%{appdir}/com.1password.1Password.policy \ + %{buildroot}%{appdir}/com.1password.1Password.policy.tpl \ + %{buildroot}%{appdir}/after-install.sh \ + %{buildroot}%{appdir}/after-remove.sh \ + %{buildroot}%{appdir}/install.sh \ + %{buildroot}%{appdir}/install_biometrics_policy.sh + +mkdir -p %{buildroot}%{_bindir} %{buildroot}%{_libexecdir} +ln -sr %{buildroot}%{appdir}/%{name} %{buildroot}%{_bindir}/%{name} +ln -sr %{buildroot}%{appdir}/1Password-Crash-Handler %{buildroot}%{_libexecdir}/1Password-Crash-Handler +ln -sr %{buildroot}%{appdir}/1Password-BrowserSupport %{buildroot}%{_libexecdir}/1Password-BrowserSupport +ln -sr %{buildroot}%{appdir}/1Password-LastPass-Exporter %{buildroot}%{_libexecdir}/1Password-LastPass-Exporter +ln -sr %{buildroot}%{appdir}/op-ssh-sign %{buildroot}%{_libexecdir}/op-ssh-sign +chmod 4755 %{buildroot}%{appdir}/chrome-sandbox +chmod 2755 %{buildroot}%{appdir}/1Password-BrowserSupport +if [ -f %{buildroot}%{appdir}/onepassword-mcp ]; then + ln -sr %{buildroot}%{appdir}/onepassword-mcp %{buildroot}%{_libexecdir}/onepassword-mcp + chmod 2755 %{buildroot}%{appdir}/onepassword-mcp +fi +find %{buildroot}%{appdir} -type f \ + ! -name chrome-sandbox \ + ! -name 1Password-Crash-Handler \ + ! -name 1Password-BrowserSupport \ + ! -name 1Password-LastPass-Exporter \ + ! -name op-ssh-sign \ + ! -name onepassword-mcp \ + -printf '/%%P\n' | sed "s|^/|%{appdir}/|" > app.files + +%pre +%sysusers_create_package %{name} %{SOURCE2} + +%files -f app.files +%{_bindir}/%{name} +%{_libexecdir}/1Password-Crash-Handler +%{_libexecdir}/1Password-BrowserSupport +%{_libexecdir}/1Password-LastPass-Exporter +%{_libexecdir}/op-ssh-sign +%{_libexecdir}/onepassword-mcp +%dir %{appdir} +%attr(4755,root,root) %{appdir}/chrome-sandbox +%{appdir}/1Password-Crash-Handler +%attr(2755,root,onepassword) %{appdir}/1Password-BrowserSupport +%{appdir}/1Password-LastPass-Exporter +%{appdir}/op-ssh-sign +%attr(2755,root,onepassword-mcp) %{appdir}/onepassword-mcp +%{_datadir}/icons/hicolor/32x32/apps/1password.png +%{_datadir}/icons/hicolor/64x64/apps/1password.png +%{_datadir}/icons/hicolor/256x256/apps/1password.png +%{_datadir}/icons/hicolor/512x512/apps/1password.png +%{_datadir}/applications/%{name}.desktop +%{_datadir}/polkit-1/actions/com.1password.1Password.policy +%{_sysusersdir}/%{name}.conf +%config(noreplace) %{_sysconfdir}/1password/custom_allowed_browsers +%{_datadir}/doc/1password/ + + + +%changelog +* Fri Jun 19 2026 Cappy Ishihara +- Initial Package diff --git a/anda/apps/1password/1password.sysusers b/anda/apps/1password/1password.sysusers new file mode 100644 index 0000000000..0830214e71 --- /dev/null +++ b/anda/apps/1password/1password.sysusers @@ -0,0 +1,2 @@ +g onepassword - +g onepassword-mcp - diff --git a/anda/apps/1password/anda.hcl b/anda/apps/1password/anda.hcl new file mode 100644 index 0000000000..91569c41cd --- /dev/null +++ b/anda/apps/1password/anda.hcl @@ -0,0 +1,7 @@ +project pkg { + arches = ["x86_64", "aarch64"] + rpm { + spec = "1password.spec" + } + +} diff --git a/anda/apps/1password/update.rhai b/anda/apps/1password/update.rhai new file mode 100644 index 0000000000..3a9e77bb1b --- /dev/null +++ b/anda/apps/1password/update.rhai @@ -0,0 +1,36 @@ +let xml = get("https://releases.1password.com/linux/stable/index.xml"); + +let latest = ""; +let latest_major = 0; +let latest_minor = 0; +let latest_patch = 0; + +for title in find_all(`[^<]*`, xml) { + let matches = find_all(`[\d]+\.[\d]+\.[\d]+`, title[0]); + if matches.len() == 0 { + continue; + } + + let version = matches[0][0]; + let parts = version.split("."); + let major = parts[0].parse_int(); + let minor = parts[1].parse_int(); + let patch = parts[2].parse_int(); + + if latest == "" || + major > latest_major || + major == latest_major && minor > latest_minor || + major == latest_major && minor == latest_minor && patch > latest_patch { + latest = version; + latest_major = major; + latest_minor = minor; + latest_patch = patch; + } +} + +if latest == "" { + print("E: no 1Password version found"); + terminate(); +} + +rpm.version(latest); diff --git a/anda/apps/Arctis-Sound-Manager/Arctis-Sound-Manager.spec b/anda/apps/Arctis-Sound-Manager/Arctis-Sound-Manager.spec new file mode 100644 index 0000000000..3a478a278f --- /dev/null +++ b/anda/apps/Arctis-Sound-Manager/Arctis-Sound-Manager.spec @@ -0,0 +1,128 @@ +%global pypi_name arctis-sound-manager +%global _desc Linux GUI for SteelSeries Arctis headsets — Nova Pro Wireless & Wired, Nova Pro Omni, Nova Elite, Nova 7/7P/5/3, Arctis 7/7+/9/Pro Wireless. Device settings, Sonar EQ, 4-channel Game/Chat/Media mixer, PipeWire routing. + +%global arctis_sound_manager_services arctis-manager.service arctis-video-router.service arctis-gui.service + +Name: python-%{pypi_name} +Version: 1.1.82 +Release: 1%{?dist} +Summary: GUI for SteelSeries Arctis headsets +License: GPL-3.0-or-later +# GitHub pages URL 404s +URL: https://github.com/loteran/Arctis-Sound-Manager +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: python3-devel +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-importlib-metadata +BuildRequires: python3-uv-build +BuildRequires: systemd-rpm-macros +BuildRequires: python3-ruamel-yaml +BuildRequires: desktop-file-utils + +Packager: Owen Zimmerman + +BuildArch: noarch + +Provides: Arctis-Sound-Manager + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%prep +%autosetup -n Arctis-Sound-Manager-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files arctis_sound_manager + +install -Dm644 /dev/null %{buildroot}%{_udevrulesdir}/91-steelseries-arctis.rules +python3 scripts/generate_udev_rules.py src/arctis_sound_manager/devices/ \ + > %{buildroot}%{_udevrulesdir}/91-steelseries-arctis.rules + +# Systemd user services (single source of truth in systemd/, not heredocs) +install -Dm644 systemd/arctis-manager.service %{buildroot}%{_userunitdir}/arctis-manager.service +install -Dm644 systemd/arctis-video-router.service %{buildroot}%{_userunitdir}/arctis-video-router.service +install -Dm644 systemd/arctis-gui.service %{buildroot}%{_userunitdir}/arctis-gui.service + +# dinit service templates +install -Dm644 dinit/arctis-manager %{buildroot}%{_datadir}/%{name}/dinit/arctis-manager +install -Dm644 dinit/arctis-video-router %{buildroot}%{_datadir}/%{name}/dinit/arctis-video-router +install -Dm644 dinit/arctis-gui %{buildroot}%{_datadir}/%{name}/dinit/arctis-gui +install -Dm644 dinit/pipewire-filter-chain %{buildroot}%{_datadir}/%{name}/dinit/pipewire-filter-chain +install -Dm755 scripts/asm-diag-dinit.py %{buildroot}%{_bindir}/asm-diag-dinit + +# Desktop entry +install -Dm644 src/arctis_sound_manager/desktop/ArctisManager.desktop \ + %{buildroot}%{_datadir}/applications/ArctisManager.desktop + +# Icon +install -Dm644 src/arctis_sound_manager/gui/images/steelseries_logo.svg \ + %{buildroot}%{_scalableiconsdir}/arctis-manager.svg + +# PipeWire configs +install -Dm644 scripts/pipewire/10-arctis-virtual-sinks.conf \ + %{buildroot}%{_datadir}/%{name}/pipewire/10-arctis-virtual-sinks.conf +install -Dm644 scripts/pipewire/sink-virtual-surround-7.1-hesuvi.conf \ + %{buildroot}%{_datadir}/%{name}/pipewire/sink-virtual-surround-7.1-hesuvi.conf + +# filter-chain.service (bundled for distros that don't ship one) +install -Dm644 scripts/filter-chain.service \ + %{buildroot}%{_datadir}/%{name}/filter-chain.service + +# First-run autostart (triggers asm-setup on first graphical login) +install -Dm644 debian/asm-first-run.desktop \ + %{buildroot}%{_sysconfdir}/xdg/autostart/asm-first-run.desktop + +%check +%desktop_file_validate %{buildroot}%{_appsdir}/ArctisManager.desktop + +%post +%systemd_user_post %{arctis_sound_manager_services} + +%preun +%systemd_user_preun %{arctis_sound_manager_services} + +%postun +%systemd_postun_with_restart %{arctis_sound_manager_services} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md CONTRIBUTING.md CHANGELOG.md +%license LICENSE +%{_bindir}/asm-cli +%{_bindir}/asm-daemon +%{_bindir}/asm-diag-dinit +%{_bindir}/asm-gui +%{_bindir}/asm-router +%{_bindir}/asm-setup +%{_udevrulesdir}/91-steelseries-arctis.rules +%{_userunitdir}/arctis-manager.service +%{_userunitdir}/arctis-video-router.service +%{_userunitdir}/arctis-gui.service +%{_datadir}/%{name}/dinit/arctis-manager +%{_datadir}/%{name}/dinit/arctis-video-router +%{_datadir}/%{name}/dinit/pipewire-filter-chain +%{_bindir}/asm-diag-dinit +%{_appsdir}/ArctisManager.desktop +%{_scalableiconsdir}/arctis-manager.svg +%{_datadir}/%{name}/pipewire/10-arctis-virtual-sinks.conf +%{_datadir}/%{name}/pipewire/sink-virtual-surround-7.1-hesuvi.conf +%{_datadir}/%{name}/filter-chain.service +%{_sysconfdir}/xdg/autostart/asm-first-run.desktop +%{_datadir}/python-arctis-sound-manager/dinit/arctis-gui + +%changelog +* Mon Jun 15 2026 Owen Zimmerman +- Initial commit diff --git a/anda/apps/Arctis-Sound-Manager/anda.hcl b/anda/apps/Arctis-Sound-Manager/anda.hcl new file mode 100644 index 0000000000..e45e6f47c7 --- /dev/null +++ b/anda/apps/Arctis-Sound-Manager/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "Arctis-Sound-Manager.spec" + } +} diff --git a/anda/apps/Arctis-Sound-Manager/update.rhai b/anda/apps/Arctis-Sound-Manager/update.rhai new file mode 100644 index 0000000000..8cee065dc8 --- /dev/null +++ b/anda/apps/Arctis-Sound-Manager/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("arctis-sound-manager")); diff --git a/anda/apps/anki-bin/anki-bin.spec b/anda/apps/anki-bin/anki-bin.spec index 10eb2e63c3..723a3a7111 100644 --- a/anda/apps/anki-bin/anki-bin.spec +++ b/anda/apps/anki-bin/anki-bin.spec @@ -1,9 +1,9 @@ -%global xurl https://files.pythonhosted.org/packages/2b/bc/36972ebb0c09effa41a1dc5f1e9c19b9fd85675cc3196f43559eeb3d0ceb/anki-25.9.4-cp39-abi3-manylinux_2_36_x86_64.whl -%global aurl https://files.pythonhosted.org/packages/cb/8e/42e0a2e8f8e6da78571ff8e79dd65eef1602390d03349839a2f4397fdcb5/anki-25.9.4-cp39-abi3-manylinux_2_36_aarch64.whl -%global qurl https://files.pythonhosted.org/packages/83/a1/a8e8c5bc7dda44c0decfdeb128ca308d65d7beca1a4131230e9abadef439/aqt-25.9.4-py3-none-any.whl +%global xurl https://files.pythonhosted.org/packages/9c/a2/05729090f54c5489c79dee9177fb1d99860850d311247256eebb360ec622/anki-26.5-cp310-abi3-manylinux_2_35_x86_64.whl +%global aurl https://files.pythonhosted.org/packages/67/ec/354efa779cb7293aa5feb460f552ff475063149523afc1099433bbe8e65f/anki-26.5-cp310-abi3-manylinux_2_35_aarch64.whl +%global qurl https://files.pythonhosted.org/packages/2b/a1/8978e8200afcc9a9b5440366e5d579f9fb1e959147004943cb0ec97cdf0f/aqt-26.5-py3-none-any.whl Name: anki-bin -Version: 25.9.4 +Version: 26.5 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 bcb1a19f23..af93738093 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: 25.09.4 +Version: 26.05 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 diff --git a/anda/apps/anki/anki.spec b/anda/apps/anki/anki.spec index d36cc32e69..5eeda8185e 100644 --- a/anda/apps/anki/anki.spec +++ b/anda/apps/anki/anki.spec @@ -1,5 +1,5 @@ Name: anki -Version: 25.09.4 +Version: 26.05 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 diff --git a/anda/apps/audacity-freeworld/audacity-freeworld.spec b/anda/apps/audacity-freeworld/audacity-freeworld.spec index aebd30e47e..d586ff07d4 100644 --- a/anda/apps/audacity-freeworld/audacity-freeworld.spec +++ b/anda/apps/audacity-freeworld/audacity-freeworld.spec @@ -1,12 +1,12 @@ %global __requires_exclude ^lib-.*.so %global __provides_exclude ^lib-.*.so -%global ver Audacity-3.7.7 +%global ver Audacity-3.7.8 %global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g') Name: audacity-freeworld Version: %{sanitized_ver} -Release: 1%?dist +Release: 1%{?dist} Summary: Multitrack audio editor License: GPLv2 URL: https://www.audacityteam.org/ diff --git a/anda/apps/auto-cpufreq/auto-cpufreq.spec b/anda/apps/auto-cpufreq/auto-cpufreq.spec index 501b88edf3..2930bb05b3 100644 --- a/anda/apps/auto-cpufreq/auto-cpufreq.spec +++ b/anda/apps/auto-cpufreq/auto-cpufreq.spec @@ -2,7 +2,7 @@ Name: python-auto-cpufreq Version: 3.0.0 -Release: 2%?dist +Release: 3%?dist Summary: Automatic CPU speed & power optimizer for Linux License: LGPL-3.0-or-later URL: https://foolcontrol.org/?p=4603 diff --git a/anda/apps/bazzite-updater/anda.hcl b/anda/apps/bazzite-updater/anda.hcl new file mode 100644 index 0000000000..05d4e66eac --- /dev/null +++ b/anda/apps/bazzite-updater/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "bazzite-updater.spec" + } +} diff --git a/anda/apps/bazzite-updater/bazzite-updater.spec b/anda/apps/bazzite-updater/bazzite-updater.spec new file mode 100644 index 0000000000..191c49f870 --- /dev/null +++ b/anda/apps/bazzite-updater/bazzite-updater.spec @@ -0,0 +1,77 @@ +%global appid io.github.rfrench3.bazzite-updater + +Name: bazzite-updater +Version: 0.7.3 +Release: 1%{?dist} +Summary: Update your Bazzite system + +License: GPL-2.0-or-later AND BSD-3-Clause AND CC0-1.0 +URL: https://github.com/rfrench3/bazzite-updater +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +Packager: Robert French + +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib +BuildRequires: systemd-rpm-macros + +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: kf6-rpm-macros +BuildRequires: cmake(SDL3) +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6QuickControls2) +BuildRequires: cmake(Qt6Svg) +BuildRequires: cmake(Qt6Widgets) + +BuildRequires: cmake(KF6Kirigami) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6KirigamiAddons) + +Requires: kf6-kirigami%{?_isa} +Requires: kf6-kirigami-addons%{?_isa} +Requires: kf6-qqc2-desktop-style%{?_isa} +Requires: which%{?_isa} +Requires: qt6-controllable%{?_isa} +Requires: uupd%{?_isa} +Requires: hicolor-icon-theme + +Provides: bazzite-updater = %{evr} + +%description +This is a convenient, easy-to-use interface for updating your Bazzite system. +- Simple and powerful +- Full support for all input types (keyboard/mouse, controller, touchscreen) + +%prep +%autosetup + +%conf +%cmake + +%build +%cmake_build + +%install +%cmake_install + +%check +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/%{appid}.*.xml || : +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/%{appid}.desktop + +%files +%license LICENSES/{BSD-3-Clause.txt,CC0-1.0.txt,GPL-2.0-or-later.txt} +%doc README.md +%{_bindir}/bazzite-updater +%{_appsdir}/%{appid}.desktop +%{_metainfodir}/%{appid}.*.xml +%{_scalableiconsdir}/%{appid}.svg + +%changelog +* Thu Feb 05 2026 Robert French +- Initial rpm build of Bazzite Updater diff --git a/anda/apps/bazzite-updater/update.rhai b/anda/apps/bazzite-updater/update.rhai new file mode 100644 index 0000000000..b5fc4f0b9f --- /dev/null +++ b/anda/apps/bazzite-updater/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("rfrench3/bazzite-updater")); \ No newline at end of file diff --git a/anda/apps/bitwarden/cli.bin/bitwarden-cli.bin.spec b/anda/apps/bitwarden/cli.bin/bitwarden-cli.bin.spec index ee5ef79f33..e92e227551 100644 --- a/anda/apps/bitwarden/cli.bin/bitwarden-cli.bin.spec +++ b/anda/apps/bitwarden/cli.bin/bitwarden-cli.bin.spec @@ -1,5 +1,5 @@ Name: bitwarden-cli.bin -Version: 2026.4.1 +Version: 2026.5.0 Release: 1%{?dist} Summary: Bitwarden command-line client License: GPL-3.0-only diff --git a/anda/apps/bitwarden/cli/bitwarden-cli.spec b/anda/apps/bitwarden/cli/bitwarden-cli.spec index a32c0bd6b9..e36b04eef3 100644 --- a/anda/apps/bitwarden/cli/bitwarden-cli.spec +++ b/anda/apps/bitwarden/cli/bitwarden-cli.spec @@ -6,7 +6,7 @@ %endif Name: bitwarden-cli -Version: 2026.4.1 +Version: 2026.5.0 Release: 1%{?dist} Summary: Bitwarden command-line client License: GPL-3.0-only diff --git a/anda/apps/chdig/chdig.spec b/anda/apps/chdig/chdig.spec index d61626ce29..bae5299c54 100644 --- a/anda/apps/chdig/chdig.spec +++ b/anda/apps/chdig/chdig.spec @@ -1,7 +1,7 @@ %undefine __brp_mangle_shebangs Name: chdig -Version: 26.4.3 +Version: 26.6.1 Release: 1%{?dist} Summary: Dig into ClickHouse with TUI interface URL: https://github.com/azat/chdig diff --git a/anda/apps/discord-canary-openasar/discord-canary-openasar.spec b/anda/apps/discord-canary-openasar/discord-canary-openasar.spec index 98c3162ddd..018c243137 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: 1.0.1140 +Version: 1.0.1334 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 9379330114..20bb104846 100644 --- a/anda/apps/discord-canary/discord-canary.spec +++ b/anda/apps/discord-canary/discord-canary.spec @@ -1,5 +1,5 @@ Name: discord-canary -Version: 1.0.1140 +Version: 1.0.1334 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 5efc6333ab..029bc1dc5b 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: 1.0.139 +Version: 1.0.144 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 52eae6e1fa..815665730f 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: 1.0.192 +Version: 1.0.196 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 f96ab37d90..077a69c467 100644 --- a/anda/apps/discord-ptb/discord-ptb.spec +++ b/anda/apps/discord-ptb/discord-ptb.spec @@ -1,5 +1,5 @@ Name: discord-ptb -Version: 1.0.192 +Version: 1.0.196 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 c1469e579a..c5c370e630 100644 --- a/anda/apps/discord/discord.spec +++ b/anda/apps/discord/discord.spec @@ -1,5 +1,5 @@ Name: discord -Version: 1.0.139 +Version: 1.0.144 Release: 1%{?dist} Summary: Free Voice and Text Chat for Gamers URL: https://discord.com diff --git a/anda/apps/envision/envision.spec b/anda/apps/envision/envision.spec index 3c9af6812d..7abed0752e 100644 --- a/anda/apps/envision/envision.spec +++ b/anda/apps/envision/envision.spec @@ -1,5 +1,5 @@ -%global commit 5704db300594aef6b7a38399c217eac5c704ccb8 -%global commit_date 20260519 +%global commit 373646a12620a82e9684d79c1066f9b48bf3eed1 +%global commit_date 20260613 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: envision-nightly diff --git a/anda/apps/falcond-gui/update.rhai b/anda/apps/falcond-gui/update.rhai index 9c81c2f668..7661da48e9 100644 --- a/anda/apps/falcond-gui/update.rhai +++ b/anda/apps/falcond-gui/update.rhai @@ -1 +1 @@ -rpm.version(get("https://git.pika-os.com/api/v1/repos/general-packages/falcond-gui/releases").json_arr()[0].tag_name); +rpm.version(gitea("git.pika-os.com", "general-packages/falcond-gui")); diff --git a/anda/apps/feishin/feishin.spec b/anda/apps/feishin/feishin.spec index 1ff803c0f0..f36b787f45 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: 1.11.0 +Version: 1.13.0 Release: 1%{?dist} Summary: A modern self-hosted music player License: GPL-3.0 diff --git a/anda/apps/flameshot/flameshot-nightly.spec b/anda/apps/flameshot/flameshot-nightly.spec index 28a3240b61..5502bba360 100644 --- a/anda/apps/flameshot/flameshot-nightly.spec +++ b/anda/apps/flameshot/flameshot-nightly.spec @@ -1,9 +1,9 @@ #? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec -%global ver 13.3.0 -%global commit 1ee047f1d9b0ca5bc88fcbfd8bea89f0f4d23b43 +%global ver 14.0.0 +%global commit 550d4fae96dbea937d92a236605538f489e7b413 %global shortcommit %{sub %{commit} 1 7} -%global commit_date 20260521 +%global commit_date 20260620 %global devel_name QtColorWidgets %global _distro_extra_cflags -fuse-ld=mold %global _distro_extra_cxxflags -fuse-ld=mold diff --git a/anda/apps/fontviewer/fontviewer.spec b/anda/apps/fontviewer/fontviewer.spec index 0911c2b911..590ee401f8 100644 --- a/anda/apps/fontviewer/fontviewer.spec +++ b/anda/apps/fontviewer/fontviewer.spec @@ -1,7 +1,7 @@ Name: fontviewer Epoch: 1 -Version: 1.2.0 -Release: 1%?dist +Version: 1.3.0 +Release: 1%{?dist} Summary: View and install fonts License: GPL-2.0 diff --git a/anda/apps/goofcord/nightly/goofcord-nightly.spec b/anda/apps/goofcord/nightly/goofcord-nightly.spec index 9c837a0782..e0973cfb08 100644 --- a/anda/apps/goofcord/nightly/goofcord-nightly.spec +++ b/anda/apps/goofcord/nightly/goofcord-nightly.spec @@ -1,6 +1,6 @@ -%global commit eebb15d3d940823883afa67bf62692874df7f2d1 +%global commit 7cd0395ebd3e0591c0ae4f850f22425b0be30a45 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260426 +%global commit_date 20260612 %global ver 2.2.1^ %global base_name goofcord %global git_name GoofCord diff --git a/anda/apps/halloy/halloy.spec b/anda/apps/halloy/halloy.spec index 723b17527b..7cbecb7a2c 100644 --- a/anda/apps/halloy/halloy.spec +++ b/anda/apps/halloy/halloy.spec @@ -4,7 +4,7 @@ %global crate halloy Name: halloy -Version: 2026.6 +Version: 2026.7.2 Release: 1%{?dist} Summary: An open-source IRC client written in Rust, with the Iced GUI library Packager: Yoong jin diff --git a/anda/apps/helium-browser-bin/helium-browser-bin.spec b/anda/apps/helium-browser-bin/helium-browser-bin.spec index 9e7b8ca887..2f86641eb9 100644 --- a/anda/apps/helium-browser-bin/helium-browser-bin.spec +++ b/anda/apps/helium-browser-bin/helium-browser-bin.spec @@ -11,7 +11,7 @@ %endif Name: helium-browser-bin -Version: 0.12.4.1 +Version: 0.13.4.1 Release: 1%{?dist} Summary: Private, fast, and honest web browser based on Chromium diff --git a/anda/apps/juce/juce.spec b/anda/apps/juce/juce.spec index 545ff2789b..91a3b48d5a 100644 --- a/anda/apps/juce/juce.spec +++ b/anda/apps/juce/juce.spec @@ -1,5 +1,5 @@ Name: juce -Version: 8.0.13 +Version: 8.0.14 Release: 1%{?dist} License: AGPL-3.0-or-later Summary: framework for audio application and plug-in development diff --git a/anda/apps/komikku/komikku.spec b/anda/apps/komikku/komikku.spec index 7204a610e4..610b225794 100644 --- a/anda/apps/komikku/komikku.spec +++ b/anda/apps/komikku/komikku.spec @@ -5,7 +5,7 @@ %global pure_protobuf_version 2.0.0 Name: komikku -Version: 50.4.0 +Version: 50.7.0 %forgemeta Release: 1%{?dist} Summary: A manga reader for GNOME diff --git a/anda/apps/kontainer/anda.hcl b/anda/apps/kontainer/anda.hcl new file mode 100644 index 0000000000..2660ba81ed --- /dev/null +++ b/anda/apps/kontainer/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "kontainer.spec" + } +} diff --git a/anda/apps/kontainer/kontainer.spec b/anda/apps/kontainer/kontainer.spec new file mode 100644 index 0000000000..aa8295aa53 --- /dev/null +++ b/anda/apps/kontainer/kontainer.spec @@ -0,0 +1,59 @@ +%global appid io.github.DenysMb.Kontainer + +Name: kontainer +Version: 1.4.1 +Release: 1%?dist +Summary: A Kirigami Distrobox GUI +URL: https://github.com/DenysMb/Kontainer +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +License: GPL-3.0-or-later AND MIT AND CC0-1.0 +BuildRequires: cmake >= 3.20 +BuildRequires: gcc-c++ +BuildRequires: extra-cmake-modules +BuildRequires: pkgconfig(Qt6Quick) +BuildRequires: kf6-kirigami-devel +BuildRequires: kf6-ki18n-devel +BuildRequires: kf6-kcoreaddons-devel +BuildRequires: kf6-kiconthemes-devel +BuildRequires: kf6-qqc2-desktop-style +BuildRequires: kf6-kio-devel +BuildRequires: kf6-kirigami-addons-devel +BuildRequires: kf6-kirigami-addons + +Requires: kf6-kirigami-addons +Requires: kf6-qqc2-desktop-style +Requires: distrobox + +Packager: Cayden Granger + +%description +Graphical user interface for Distrobox container management. + +A native KDE application for managing Distrobox containers with ease. + +%prep +%autosetup -n Kontainer-%{version} + +%conf +%cmake + +%build +%cmake_build + +%install +%cmake_install + +%find_lang kontainer + +%files -f kontainer.lang +%license LICENSES/ +%doc README.md +%{_bindir}/kontainer +%{_appsdir}/%{appid}.desktop +%{_scalableiconsdir}/%{appid}.svg +%{_metainfodir}/%{appid}.metainfo.xml + +%changelog +* Fri Jun 19 2026 Cayden Granger +- Initial package diff --git a/anda/apps/kontainer/update.rhai b/anda/apps/kontainer/update.rhai new file mode 100644 index 0000000000..20244a9e0f --- /dev/null +++ b/anda/apps/kontainer/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("DenysMb/Kontainer")) diff --git a/anda/apps/kopia/kopia.spec b/anda/apps/kopia/kopia.spec index 0a96a1b15d..22ee5b0030 100644 --- a/anda/apps/kopia/kopia.spec +++ b/anda/apps/kopia/kopia.spec @@ -3,7 +3,7 @@ Name: kopia %electronmeta -D -Version: 0.23.0 +Version: 0.23.1 Release: 1%{?dist} Summary: A backup/restore tool that allows you to create encrypted snapshots diff --git a/anda/apps/legcord/nightly/anda.hcl b/anda/apps/legcord/nightly/anda.hcl index 993068d0b8..bfbaa2b100 100644 --- a/anda/apps/legcord/nightly/anda.hcl +++ b/anda/apps/legcord/nightly/anda.hcl @@ -4,6 +4,5 @@ project pkg { } labels { nightly = 1 - mock = 1 } } diff --git a/anda/apps/legcord/nightly/legcord-nightly.spec b/anda/apps/legcord/nightly/legcord-nightly.spec index 1d6985b036..963ae515c3 100644 --- a/anda/apps/legcord/nightly/legcord-nightly.spec +++ b/anda/apps/legcord/nightly/legcord-nightly.spec @@ -1,19 +1,16 @@ -%global commit 089cff6792d604faba5127bc8f03d87959e5e062 -%global commit_date 20260522 +%global commit 158f537e7d4ce13ff7df49b6cb09c0cd27b8a517 +%global commit_date 20260616 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global debug_package %nil -%global __strip /bin/true -%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$ -%ifnarch aarch64 -%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$ -%elifarch aarch64 -%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$ -%endif +# terrible evil no good very bad hack +# fix one day +%global __requires_exclude_from (.*)lib(.*)so(.*) Name: legcord-nightly +%electronmeta -D Version: %commit_date.%shortcommit Release: 1%{?dist} -License: OSL-3.0 +License: OSL-3.0 AND %{electron_license} Summary: Custom lightweight Discord client designed to enhance your experience URL: https://github.com/Legcord/Legcord Group: Applications/Internet @@ -31,38 +28,21 @@ while keeping everything lightweight. %git_clone %{url}.git %{commit} %build -pnpm install -pnpm run build -pnpm run package --linux AppImage tar.gz +echo "Electron Builder" > %{rpmbuilddir}/webapp-tool.txt +%pnpm_build -r build %install -mkdir -p %{buildroot}%{_datadir}/legcord -%ifarch aarch64 -mv dist/linux-arm64-unpacked/* %{buildroot}%{_datadir}/legcord -%else -mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/legcord -%endif - -mkdir -p %{buildroot}%{_bindir} -ln -sf %{_datadir}/legcord/legcord %{buildroot}%{_bindir}/legcord -install -Dm644 dist/.icon-set/icon_16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/legcord.png -install -Dm644 dist/.icon-set/icon_32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/legcord.png -install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/legcord.png -install -Dm644 dist/.icon-set/icon_64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/legcord.png -install -Dm644 dist/.icon-set/icon_128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/legcord.png -install -Dm644 dist/.icon-set/icon_256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/legcord.png -install -Dm644 dist/.icon-set/icon_512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/legcord.png -install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/legcord.png +%electron_install -i legcord -l -I dist/.icon-set/icon_16.png -I dist/.icon-set/icon_32.png -I dist/.icon-set/icon_48x48.png -I dist/.icon-set/icon_64.png -I dist/.icon-set/icon_128.png -I dist/.icon-set/icon_256.png -I dist/.icon-set/icon_512.png -I dist/.icon-set/icon_1024.png dist/Legcord-*.AppImage --appimage-extract '*.desktop' -desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" squashfs-root/legcord.desktop +%desktop_file_install -k Exec,Icon -v "%{_libdir}/legcord-nightly/Legcord",legcord -u %U -f squashfs-root/Legcord.desktop %files %doc README.md %license license.txt -%{_bindir}/legcord -%{_datadir}/applications/legcord.desktop -%{_datadir}/legcord/ +%{_bindir}/legcord-nightly +%{_datadir}/applications/Legcord.desktop +%{_libdir}/legcord-nightly/ %{_iconsdir}/hicolor/16x16/apps/legcord.png %{_iconsdir}/hicolor/32x32/apps/legcord.png %{_iconsdir}/hicolor/48x48/apps/legcord.png @@ -73,6 +53,9 @@ desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" %{_iconsdir}/hicolor/1024x1024/apps/legcord.png %changelog +* Mon May 18 2026 june-fish - 1.2.4-1 +- Use electron macros + * Fri Nov 22 2024 owen - 1.0.2-2 - Add nightly package. diff --git a/anda/apps/legcord/stable/anda.hcl b/anda/apps/legcord/stable/anda.hcl index 3a5fd3890d..644535f337 100644 --- a/anda/apps/legcord/stable/anda.hcl +++ b/anda/apps/legcord/stable/anda.hcl @@ -2,7 +2,4 @@ project pkg { rpm { spec = "legcord.spec" } - labels { - mock =1 - } } diff --git a/anda/apps/legcord/stable/legcord.spec b/anda/apps/legcord/stable/legcord.spec index 445ae3002e..cf0ea0b736 100644 --- a/anda/apps/legcord/stable/legcord.spec +++ b/anda/apps/legcord/stable/legcord.spec @@ -1,17 +1,14 @@ -%define debug_package %nil +%global debug_package %nil -# Exclude private libraries -%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$ -%ifnarch aarch64 -%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$ -%elifarch aarch64 -%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$ -%endif +# terrible evil no good very bad hack +# fix one day +%global __requires_exclude_from (.*)lib(.*)so(.*) Name: legcord +%electronmeta -D Version: 1.2.4 Release: 1%{?dist} -License: OSL-3.0 +License: OSL-3.0 AND %{electron_license} Summary: Custom lightweight Discord client designed to enhance your experience URL: https://github.com/Legcord/Legcord Group: Applications/Internet @@ -30,38 +27,21 @@ while keeping everything lightweight. %git_clone %url v%version %build -pnpm install -pnpm run build -pnpm run package --linux AppImage tar.gz +echo "Electron Builder" > %{rpmbuilddir}/webapp-tool.txt +%pnpm_build -r build %install -mkdir -p %{buildroot}%{_datadir}/legcord -%ifarch aarch64 -mv dist/linux-arm64-unpacked/* %{buildroot}%{_datadir}/legcord -%else -mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/legcord -%endif - -mkdir -p %{buildroot}%{_bindir} -ln -sf %{_datadir}/legcord/legcord %{buildroot}%{_bindir}/legcord -install -Dm644 dist/.icon-set/icon_16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/legcord.png -install -Dm644 dist/.icon-set/icon_32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/legcord.png -install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/legcord.png -install -Dm644 dist/.icon-set/icon_64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/legcord.png -install -Dm644 dist/.icon-set/icon_128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/legcord.png -install -Dm644 dist/.icon-set/icon_256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/legcord.png -install -Dm644 dist/.icon-set/icon_512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/legcord.png -install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/legcord.png +%electron_install -i legcord -l -I dist/.icon-set/icon_16.png -I dist/.icon-set/icon_32.png -I dist/.icon-set/icon_48x48.png -I dist/.icon-set/icon_64.png -I dist/.icon-set/icon_128.png -I dist/.icon-set/icon_256.png -I dist/.icon-set/icon_512.png -I dist/.icon-set/icon_1024.png dist/Legcord-*.AppImage --appimage-extract '*.desktop' -desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" squashfs-root/legcord.desktop +%desktop_file_install -k Exec,Icon -v "%{_libdir}/legcord/Legcord",legcord -u %U -f squashfs-root/Legcord.desktop %files %doc README.md %license license.txt %{_bindir}/legcord -%{_datadir}/applications/legcord.desktop -%{_datadir}/legcord/ +%{_datadir}/applications/Legcord.desktop +%{_libdir}/legcord/ %{_iconsdir}/hicolor/16x16/apps/legcord.png %{_iconsdir}/hicolor/32x32/apps/legcord.png %{_iconsdir}/hicolor/48x48/apps/legcord.png @@ -72,6 +52,9 @@ desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" %{_iconsdir}/hicolor/1024x1024/apps/legcord.png %changelog +* Mon May 18 2026 june-fish - 1.2.4-1 +- Use electron macros + * Mon Oct 21 2024 madonuko - 1.0.2-2 - Rename to LegCord. diff --git a/anda/apps/mpv/mpv-nightly.spec b/anda/apps/mpv/mpv-nightly.spec index 0e5ed7ee8e..6e1b144468 100644 --- a/anda/apps/mpv/mpv-nightly.spec +++ b/anda/apps/mpv/mpv-nightly.spec @@ -1,9 +1,9 @@ # Disable X11 for RHEL 10+ %bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10] -%global commit 1ac687d791460736e16c0e0c2b17f422b4bdf1ee +%global commit 2339eb72767517fc5a113283939f59076946fbc1 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260525 +%global commit_date 20260624 %global ver 0.41.0 Name: mpv-nightly diff --git a/anda/apps/neohtop/neohtop-cli/anda.hcl b/anda/apps/neohtop/neohtop-cli/anda.hcl new file mode 100644 index 0000000000..c3c4347ee0 --- /dev/null +++ b/anda/apps/neohtop/neohtop-cli/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "neohtop-cli.spec" + } +} diff --git a/anda/apps/neohtop/neohtop-cli/neohtop-cli.spec b/anda/apps/neohtop/neohtop-cli/neohtop-cli.spec new file mode 100644 index 0000000000..186462f9eb --- /dev/null +++ b/anda/apps/neohtop/neohtop-cli/neohtop-cli.spec @@ -0,0 +1,44 @@ +%define debug_package %{nil} + +%global goipath github.com/abdenasser/neohtop-cli +Version: 0.1.13 + +%gometa -f + +Name: neohtop-cli +Release: 1%{?dist} +Summary: A cross-platform terminal process monitor with btop-style visualizations +License: MIT +URL: https://github.com/Abdenasser/neohtop-cli +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +Packager: Owen Zimmerman +BuildRequires: go-rpm-macros + +%description +%summary. + +%gopkg + +%prep +%autosetup + +%build +%define gomodulesmode GO111MODULE=on +pushd cli +%gobuild -o %{gobuilddir}/../neohtop-cli %{goipath}/ +popd + +%install +install -Dm 0755 cli/neohtop-cli %{buildroot}%{_bindir}/neohtop-cli + +%files +%doc README.md CONTRIBUTING.md +%license LICENSE +%{_bindir}/neohtop-cli + +%changelog +* Sun Jun 14 2026 Owen Zimmerman +- Use go packaging + +* Sun Mar 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/apps/neohtop/neohtop-cli/update.rhai b/anda/apps/neohtop/neohtop-cli/update.rhai new file mode 100644 index 0000000000..5b959ea4b8 --- /dev/null +++ b/anda/apps/neohtop/neohtop-cli/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Abdenasser/neohtop-cli")); diff --git a/anda/apps/neohtop/NeoHtop.desktop b/anda/apps/neohtop/neohtop/NeoHtop.desktop similarity index 100% rename from anda/apps/neohtop/NeoHtop.desktop rename to anda/apps/neohtop/neohtop/NeoHtop.desktop diff --git a/anda/apps/neohtop/anda.hcl b/anda/apps/neohtop/neohtop/anda.hcl similarity index 100% rename from anda/apps/neohtop/anda.hcl rename to anda/apps/neohtop/neohtop/anda.hcl diff --git a/anda/apps/neohtop/com.github.neohtop.metainfo.xml b/anda/apps/neohtop/neohtop/com.github.neohtop.metainfo.xml similarity index 100% rename from anda/apps/neohtop/com.github.neohtop.metainfo.xml rename to anda/apps/neohtop/neohtop/com.github.neohtop.metainfo.xml diff --git a/anda/apps/neohtop/neohtop.spec b/anda/apps/neohtop/neohtop/neohtop.spec similarity index 100% rename from anda/apps/neohtop/neohtop.spec rename to anda/apps/neohtop/neohtop/neohtop.spec diff --git a/anda/apps/neohtop/update.rhai b/anda/apps/neohtop/neohtop/update.rhai similarity index 100% rename from anda/apps/neohtop/update.rhai rename to anda/apps/neohtop/neohtop/update.rhai diff --git a/anda/apps/proton-vpn/proton-vpn.spec b/anda/apps/proton-vpn/proton-vpn.spec index 6eb9f75150..5b6f33dbff 100644 --- a/anda/apps/proton-vpn/proton-vpn.spec +++ b/anda/apps/proton-vpn/proton-vpn.spec @@ -1,8 +1,8 @@ -%global metainfo_commit f467512129f94bc4c90187e86192202ecc78e820 +%global metainfo_commit 47f57d55cc9897a31ac8d0a6411def15cddfe1c4 Name: proton-vpn-gtk-app -Version: 4.16.2 -Release: 1%{?dist} +Version: 4.16.5 +Release: 2%{?dist} Summary: Official ProtonVPN Linux app License: GPL-3.0-only URL: https://protonvpn.com/download-linux diff --git a/anda/apps/protontricks/protontricks.spec b/anda/apps/protontricks/protontricks.spec index d2f3ef4bae..a3ec316aa3 100644 --- a/anda/apps/protontricks/protontricks.spec +++ b/anda/apps/protontricks/protontricks.spec @@ -3,7 +3,7 @@ Name: terra-%{pypi_name} Version: 1.14.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple wrapper that does winetricks things for Proton enabled games BuildArch: noarch diff --git a/anda/apps/ruffle/ruffle-nightly.spec b/anda/apps/ruffle/ruffle-nightly.spec index 3dfe853771..04f684b5d0 100644 --- a/anda/apps/ruffle/ruffle-nightly.spec +++ b/anda/apps/ruffle/ruffle-nightly.spec @@ -1,4 +1,4 @@ -%global ver 2026-05-25 +%global ver 2026-06-24 %global goodver %(echo %ver | sed 's/-//g') %global __brp_mangle_shebangs %{nil} %bcond_without mold @@ -23,6 +23,7 @@ BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(xcb-cursor) +BuildRequires: pkgconfig(openssl) Packager: madonuko %description %_description diff --git a/anda/apps/rustnet/rustnet.spec b/anda/apps/rustnet/rustnet.spec index 50780caba2..ed98fade21 100644 --- a/anda/apps/rustnet/rustnet.spec +++ b/anda/apps/rustnet/rustnet.spec @@ -1,5 +1,5 @@ Name: rustnet -Version: 1.3.0 +Version: 1.4.0 Release: 1%{?dist} Summary: A cross-platform network monitoring terminal UI tool built with Rust License: Apache-2.0 AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-3-Clause OR Apache-2.0) AND BSL-1.0 AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib diff --git a/anda/apps/scrcpy/scrcpy.spec b/anda/apps/scrcpy/scrcpy.spec index c462f93e1a..215700a7ea 100644 --- a/anda/apps/scrcpy/scrcpy.spec +++ b/anda/apps/scrcpy/scrcpy.spec @@ -31,7 +31,7 @@ Source10: https://github.com/Genymobile/scrcpy/releases/download/v%{versio %endif Packager: madonuko BuildRequires: meson ninja-build cmake nasm gcc -BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(sdl3) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavdevice) BuildRequires: pkgconfig(libavformat) @@ -123,6 +123,7 @@ install -Dm 644 %{SOURCE1} %{buildroot}%{_datadir}/licenses/LICENSE.android-sdk- %_datadir/applications/scrcpy.desktop %_datadir/bash-completion/completions/scrcpy %_iconsdir/hicolor/*/apps/scrcpy.png +%_iconsdir/hicolor/256x256/apps/disconnected.png %_metainfodir/%{appid}.metainfo.xml %_mandir/man1/scrcpy.1.* diff --git a/anda/apps/signal-desktop/signal-desktop.spec b/anda/apps/signal-desktop/signal-desktop.spec index a936072e18..9c4866d12e 100644 --- a/anda/apps/signal-desktop/signal-desktop.spec +++ b/anda/apps/signal-desktop/signal-desktop.spec @@ -2,7 +2,7 @@ Name: signal-desktop %electronmeta -aD -Version: 8.11.0 +Version: 8.15.0 Release: 1%{?dist} Summary: A private messenger for Windows, macOS, and Linux URL: https://signal.org @@ -74,6 +74,7 @@ popd echo "Electron Builder" > %{rpmbuilddir}/webapp-tool.txt %install +mv ./packages/mute-state-change/LICENSE ./packages/mute-state-change/LICENSE.mute-state-change %electron_install -i signal -l -I build/icons/png %desktop_file_install %{SOURCE1} @@ -83,13 +84,15 @@ install -Dm644 $OUTDIR/resources/$policy %{buildroot}%{_datadir}/polkit-1/rules. rm $OUTDIR/resources/$policy done +mv LICENSE LICENSE.signal-desktop + %terra_appstream -o %{SOURCE2} %check %desktop_file_validate %{buildroot}%{_appsdir}/signal.desktop %files -%license LICENSE +%license LICENSE.signal-desktop %doc README.md CONTRIBUTING.md ACKNOWLEDGMENTS.md %license bundled_licenses/* %{_bindir}/signal-desktop @@ -101,6 +104,9 @@ done %{_metainfodir}/org.signal.Signal.metainfo.xml %changelog +* Sun Jun 14 2026 june-fish +- Fix license name conflicts + * Mon Dec 22 2025 Owen Zimmerman - Use more electron macros, correct build failures diff --git a/anda/apps/spotify-launcher/spotify-launcher.spec b/anda/apps/spotify-launcher/spotify-launcher.spec index 07e6b2b179..7fac3283da 100644 --- a/anda/apps/spotify-launcher/spotify-launcher.spec +++ b/anda/apps/spotify-launcher/spotify-launcher.spec @@ -1,6 +1,6 @@ Name: spotify-launcher -Version: 0.6.5 -Release: 3%?dist +Version: 0.6.6 +Release: 1%{?dist} Summary: Client for spotify's apt repository in Rust License: Apache-2.0 AND MIT AND ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CDLA-Permissive-2.0 AND ISC AND (ISC AND (Apache-2.0 OR ISC)) AND (ISC AND (Apache-2.0 OR ISC) AND OpenSSL) AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib Packager: veuxit diff --git a/anda/apps/subtitleedit/subtitleedit.spec b/anda/apps/subtitleedit/subtitleedit.spec index ef47f57046..32747b46e0 100644 --- a/anda/apps/subtitleedit/subtitleedit.spec +++ b/anda/apps/subtitleedit/subtitleedit.spec @@ -2,8 +2,8 @@ %global realname subtitleedit Name: %realname.bin -Version: 4.0.15 -Release: 1%?dist +Version: 5.0.0 +Release: 1%{?dist} Summary: An advanced subtitle editor and converter License: GPL-3.0-only URL: https://www.nikse.dk/SubtitleEdit diff --git a/anda/apps/tauon/remove-reqed-version.patch b/anda/apps/tauon/remove-reqed-version.patch deleted file mode 100644 index 11fc6854d8..0000000000 --- a/anda/apps/tauon/remove-reqed-version.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/requirements.txt b/requirements.txt -index a0471ddb..e8ca00a9 100644 ---- a/requirements.txt -+++ b/requirements.txt -@@ -18,7 +18,7 @@ keyboard; sys_platform == 'win32' - lynxtray; sys_platform == 'win32' - opencc; sys_platform != 'win32' # optional - opencc-python-reimplemented; sys_platform == 'win32' # optional --pypresence>=4.5.0 # optional -+pypresence # optional - tekore # optional - natsort # optional - #picard # optional diff --git a/anda/apps/tauon/tauon.spec b/anda/apps/tauon/tauon.spec index c0d6529b32..b7057f4e79 100644 --- a/anda/apps/tauon/tauon.spec +++ b/anda/apps/tauon/tauon.spec @@ -3,13 +3,12 @@ %undefine __brp_mangle_shebangs Name: python-tauon -Version: 10.0.0 -Release: 1%{?dist} +Version: 10.0.1 +Release: 2%{?dist} Summary: A music player for the desktop. Designed to be powerful and streamlined License: GPL-3.0-or-later URL: https://tauonmusicbox.rocks/ Source0: https://github.com/Taiko2k/Tauon/archive/refs/tags/v%{version}.tar.gz -Patch0: remove-reqed-version.patch BuildRequires: python3-devel BuildRequires: python3-wheel @@ -40,7 +39,8 @@ Summary: %{summary} %prep %git_clone https://github.com/Taiko2k/Tauon v%{version} -%patch -P0 -p1 + +%pyproject_patch_dependency pypresence:drop_constraints %build %pyproject_wheel diff --git a/anda/apps/throne/Sagernet.SingBox.Version.txt b/anda/apps/throne/Sagernet.SingBox.Version.txt index b9ee349d36..1bae8c2a79 100644 --- a/anda/apps/throne/Sagernet.SingBox.Version.txt +++ b/anda/apps/throne/Sagernet.SingBox.Version.txt @@ -1 +1 @@ -v1.13.12 \ No newline at end of file +v1.13.13 \ No newline at end of file diff --git a/anda/apps/throne/throne.spec b/anda/apps/throne/throne.spec index dc38e3a248..ae5bb67601 100644 --- a/anda/apps/throne/throne.spec +++ b/anda/apps/throne/throne.spec @@ -1,7 +1,7 @@ #? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git Name: throne -Version: 1.1.4 +Version: 1.1.6 Release: 1%{?dist} Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box) URL: https://github.com/throneproj/Throne diff --git a/anda/apps/winetricks/git/winetricks-git.spec b/anda/apps/winetricks/git/winetricks-git.spec index d75a454055..5d87f36b35 100644 --- a/anda/apps/winetricks/git/winetricks-git.spec +++ b/anda/apps/winetricks/git/winetricks-git.spec @@ -1,9 +1,9 @@ # Fedora sometimes sources the snapshots under stable versions and just bumps release # For user clarity I have separated these into different packages -%global commit 14b802e419aff260b9d630e71027d88855e224e7 +%global commit 08304e81f9ac9a83c552a6bd78689040d174bf95 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver 20260125 -%global commit_date 20260411 +%global commit_date 20260531 Name: winetricks-git Version: %{ver}^%{commit_date}git.%{shortcommit} diff --git a/anda/buildsys/anda/anda.spec b/anda/buildsys/anda/anda.spec index 2db4ec04ba..9e83d900ea 100644 --- a/anda/buildsys/anda/anda.spec +++ b/anda/buildsys/anda/anda.spec @@ -3,7 +3,7 @@ %global crate anda Name: anda -Version: 0.5.4 +Version: 0.7.1 Release: 2%{?dist} Summary: Andaman Build toolchain SourceLicense: MIT @@ -18,18 +18,14 @@ BuildRequires: gcc BuildRequires: rust-packaging >= 21 BuildRequires: anda-srpm-macros BuildRequires: openssl-devel -%if %{defined fedora} -BuildRequires: openssl-devel-engine -%endif BuildRequires: git-core -BuildRequires: libgit2-devel +BuildRequires: pkgconfig(libgit2) BuildRequires: libssh2-devel BuildRequires: mold Requires: mock Requires: rpm-build Requires: createrepo_c Requires: git-core -Requires: libgit2 %if 0%{?fedora} >= 42 Requires: mock-filesystem Requires: util-linux-script diff --git a/anda/buildsys/gradle/gradle.spec b/anda/buildsys/gradle/gradle.spec index 4bc6b6ff20..8e9aed4934 100644 --- a/anda/buildsys/gradle/gradle.spec +++ b/anda/buildsys/gradle/gradle.spec @@ -1,5 +1,5 @@ Name: gradle -Version: 9.5.1 +Version: 9.6.0 Release: 1%{?dist} Summary: Powerful build system for the JVM URL: https://gradle.org/ @@ -41,6 +41,7 @@ export PATH="/usr/lib/jvm/java-21-openjdk/bin:${PATH}" -Pgradle_installPath="$(pwd)/dist" \ -Porg.gradle.ignoreBuildJavaVersionCheck=true \ --warning-mode all \ + -Dorg.gradle.unsafe.isolated-projects=false \ --no-configuration-cache %install diff --git a/anda/buildsys/mise/rust-mise.spec b/anda/buildsys/mise/rust-mise.spec index 77fa35dc5a..ec2cf557c1 100644 --- a/anda/buildsys/mise/rust-mise.spec +++ b/anda/buildsys/mise/rust-mise.spec @@ -5,13 +5,13 @@ %global crate mise Name: rust-mise -Version: 2026.5.15 +Version: 2026.6.13 Release: 1%{?dist} Summary: Front-end to your dev env License: MIT URL: https://crates.io/crates/mise -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://raw.githubusercontent.com/jdx/mise/refs/tags/v%version/man/man1/mise.1 Source2: https://raw.githubusercontent.com/jdx/mise/refs/tags/v%version/completions/mise.bash Source3: https://raw.githubusercontent.com/jdx/mise/refs/tags/v%version/completions/mise.fish diff --git a/anda/buildsys/muon/muon.spec b/anda/buildsys/muon/muon.spec index 5a6538904d..1475ff9e69 100644 --- a/anda/buildsys/muon/muon.spec +++ b/anda/buildsys/muon/muon.spec @@ -1,6 +1,6 @@ Name: muon -Version: 0.5.0 -Release: 4%{?dist} +Version: 0.6.0 +Release: 1%{?dist} Summary: A meson-compatible build system # https://git.sr.ht/~lattis/muon/tree/master/item/LICENSES diff --git a/anda/buildsys/muon/update.rhai b/anda/buildsys/muon/update.rhai index 61177c274a..2497cb3059 100644 --- a/anda/buildsys/muon/update.rhai +++ b/anda/buildsys/muon/update.rhai @@ -1,4 +1 @@ -let versions = get("https://muon.build/releases/").json().keys(); -versions.sort(); -versions.pop(); -rpm.version(versions.pop()); +rpm.version(sourcehut("~lattis/muon")); diff --git a/anda/desktops/budgie/budgie-extras/budgie-extras.spec b/anda/desktops/budgie/budgie-extras/budgie-extras.spec index 7633934619..3b56342edc 100644 --- a/anda/desktops/budgie/budgie-extras/budgie-extras.spec +++ b/anda/desktops/budgie/budgie-extras/budgie-extras.spec @@ -1,8 +1,8 @@ Name: budgie-extras Version: 2.2.3 -Release: 1%{?dist} +Release: 3%{?dist} -License: GPL-3.0 +License: GPL-3.0-or-later Summary: Additional Budgie Desktop enhancements for user experience URL: https://ubuntubudgie.org/ @@ -14,7 +14,7 @@ BuildRequires: meson BuildRequires: vala BuildRequires: intltool -BuildRequires: pkgconfig(budgie-1.0) +BuildRequires: pkgconfig(budgie-3.0) BuildRequires: pkgconfig(gee-0.8) BuildRequires: pkgconfig(gnome-settings-daemon) BuildRequires: pkgconfig(json-glib-1.0) @@ -25,6 +25,9 @@ BuildRequires: pkgconfig(libnma) BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libwnck-3.0) +BuildRequires: pkgconfig(libpeas-2) +BuildRequires: pkgconfig(libxfce4windowing-0) +BuildRequires: pkgconfig(gtk-layer-shell-0) BuildRequires: pkgconfig(appstream) BuildRequires: pkgconfig(granite) @@ -38,22 +41,16 @@ Requires: budgie-applet-clockworks Requires: budgie-applet-countdown Requires: budgie-applet-dropby Requires: budgie-applet-fuzzyclock -Requires: budgie-applet-hotcorners Requires: budgie-applet-kangaroo -Requires: budgie-applet-keyboard-autoswitch Requires: budgie-applet-network-manager -Requires: budgie-applet-quickchar Requires: budgie-applet-quicknote Requires: budgie-applet-recentlyused -Requires: budgie-applet-rotation-lock +Requires: budgie-applet-screencast Requires: budgie-applet-showtime Requires: budgie-applet-takeabreak Requires: budgie-applet-visualspace Requires: budgie-applet-wallstreet Requires: budgie-applet-weathershow -Requires: budgie-applet-window-shuffler -Requires: budgie-applet-workspace-stopwatch -Requires: budgie-applet-wpreviews Requires: budgie-applet-wswitcher # Fix for https://github.com/UbuntuBudgie/budgie-extras/issues/233, don't know how stenstorp did not notice this Requires: xinput @@ -129,13 +126,6 @@ Summary: Shows the time in a Fuzzy Way %description -n budgie-applet-fuzzyclock %{summary} -%package -n budgie-applet-hotcorners -Requires: budgie-extras-common -Summary: Applet providing hotcorners capabilities for the Budgie Desktop -%description -n budgie-applet-hotcorners -The hotcorners applet allow user defined commands to be executed -when the mouse cursor is pushed into a corner of the main desktop. - %package -n budgie-applet-kangaroo Requires: budgie-extras-common Summary: Applet to allow quick file-browsing @@ -144,29 +134,12 @@ The kangaroo applet allows for quick & easy browsing, across (possibly) many directory layers, without having to do a single mouse click. -%package -n budgie-applet-keyboard-autoswitch -Requires: budgie-extras-common -Summary: Applet adding the ability to set a different keyboard layout per application -%description -n budgie-applet-keyboard-autoswitch -The Keyboard Auto Switcher applet provides the user the ability to set -a different keyboard layout per application. Exceptions to the default -layout can be set by simply choosing a different layout using the -Keyboard Layout applet. - %package -n budgie-applet-network-manager Requires: budgie-extras-common Summary: A fork of Wingpanel Network Indicator, ported to budgie desktop %description -n budgie-applet-network-manager %{summary} -%package -n budgie-applet-quickchar -Requires: budgie-extras-common -Requires: budgie-extras-daemon -Summary: A mini-app to quickly choose and insert equivalents of ascii characters -%description -n budgie-applet-quickchar -QuickChar is a mini-app to quickly choose and insert equivalents of ascii -characters. QuickChar is activated via the Budgie Menu. - %package -n budgie-applet-quicknote Requires: budgie-extras-common Summary: Applet providing simple notes capability for the Budgie Desktop @@ -181,12 +154,11 @@ Summary: Applet displays files recently accessed for the Budgie Desktop The recentlyused applet displays the users files that have been opened or created within a configurable period of time. -%package -n budgie-applet-rotation-lock +%package -n budgie-applet-screencast Requires: budgie-extras-common -Summary: Applet to lock or unlock the screen rotation -%description -n budgie-applet-rotation-lock -The Rotation Lock applet provides the user an easy way to lock or -unlock the screen rotation. +Summary: Applet wrapper around wf-recorder +%description -n budgie-applet-screencast +Applet wrapper around wf-recorder. Allows recording of whole screen displays or areas. %package -n budgie-applet-showtime Requires: budgie-extras-common @@ -227,31 +199,6 @@ Summary: Applet to display the weather and forecast The weathershow applet displays daily and three hourly weather forecasts on both the desktop and a Popover. -%package -n budgie-applet-window-shuffler -Requires: budgie-extras-common -Requires: budgie-extras-daemon -Summary: Budgie Window Shuffler -%description -n budgie-applet-window-shuffler -%{summary} - -%package -n budgie-applet-workspace-stopwatch -Requires: budgie-extras-common -Summary: An applet to keep track of usage per workspace -%description -n budgie-applet-workspace-stopwatch -Workspace Timer Applet is an applet to keep track of usage per workspace, e.g. -to find out how much minutes/hours were actually spent on a job. Workspaces can -be freely named, custom names and all data are rmembered, also after -logout/restart, until the RESET button is pressed. The log file is updated -onworkspace switch/clicking the icon for popup or else every 30 seconds. Time -during suspend is automatically retracted from a workspace' time. - -%package -n budgie-applet-wpreviews -Requires: budgie-extras-common -Requires: budgie-extras-daemon -Summary: Applet providing window previews capabilities for the Budgie Desktop -%description -n budgie-applet-wpreviews -The Previews applet shows an overview of windows in an expose like way. - %package -n budgie-applet-wswitcher Requires: budgie-extras-common Requires: budgie-extras-daemon @@ -266,23 +213,23 @@ workspaces. %prep %autosetup -p1 +find . -name "meson.build" -exec sed -i "s/dependency('budgie-1.0')/dependency('budgie-3.0')/g" {} + +find . -name "meson.build" -exec sed -i "s/dependency('libpeas-1.0')/dependency('libpeas-2')/g" {} + +find . -name "meson.build" -exec sed -i "s/dependency('libpeas-gtk-1.0')/dependency('libpeas-2')/g" {} + + +%conf +%meson -Dfor-wayland=true + %build -%meson %meson_build %install %meson_install -# Remove absolute symlink and replace with relative symlink -rm -f %{buildroot}%{_bindir}/quickchar - %fdupes %{buildroot}%{_datadir}/budgie-desktop/budgie-weathershow/weather_icons %post -%{__ln_s} -fv %{_bindir}/quickchar %{_libdir}/quickchar/quickchar - - %files %files common @@ -294,103 +241,88 @@ rm -f %{buildroot}%{_bindir}/quickchar %{_bindir}/budgie-extras-daemon %{_libdir}/budgie-extras-daemon/invoke.py %{_datadir}/budgie-desktop/layouts/*.layout -%{_datadir}/budgie-extras-daemon %{_mandir}/man1/budgie-extras-daemon.1.gz %files -n budgie-applet-app-launcher %{_datadir}/pixmaps/budgie-app-launcher*.svg %{_libdir}/budgie-desktop/plugins/budgie-app-launcher +%{_metainfodir}/org.ubuntubudgie.applauncher.metainfo.xml %files -n budgie-applet-applications-menu %{_libdir}/budgie-desktop/plugins/applications-menu %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-appmenu.gschema.xml -#%%{_datadir}/glib-2.0/schemas/io.elementary.desktop.wingpanel.applications-menu.gschema.xml %files -n budgie-applet-brightness-controller %{_libdir}/budgie-desktop/plugins/budgie-brightness-controller %{_datadir}/pixmaps/budgie-brightness-controller-1-symbolic.svg +%{_metainfodir}/org.ubuntubudgie.brightnesscontroller.metainfo.xml %files -n budgie-applet-clockworks %{_libdir}/budgie-desktop/plugins/budgie-clockworks %{_datadir}/glib-2.0/schemas/*budgie-clockworks*.xml %{_datadir}/pixmaps/budgie-clockworks*.svg +%{_metainfodir}/org.ubuntubudgie.clockworks.metainfo.xml %files -n budgie-applet-countdown %{_libdir}/budgie-desktop/plugins/budgie-countdown %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-countdown.gschema.xml %{_datadir}/pixmaps/budgie-countdown-symbolic.svg %{_datadir}/pixmaps/cr_*.png +%{_metainfodir}/org.ubuntubudgie.countdown.metainfo.xml %files -n budgie-applet-dropby %{_libdir}/budgie-desktop/plugins/budgie-dropby %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-dropby.gschema.xml %{_datadir}/pixmaps/budgie-dropby*.svg +%{_metainfodir}/org.ubuntubudgie.dropby.metainfo.xml %files -n budgie-applet-fuzzyclock %{_libdir}/budgie-desktop/plugins/budgie-fuzzyclock - -%files -n budgie-applet-hotcorners -%{_libdir}/budgie-desktop/plugins/budgie-hotcorners -%config %{_sysconfdir}/xdg/autostart/org.ubuntubudgie.budgie-extras.HotCorners-autostart.desktop -%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.budgie-extras.HotCorners.gschema.xml -%{_datadir}/applications/org.ubuntubudgie.budgie-extras.HotCorners.desktop -%{_datadir}/budgie-hotcorners -/usr/libexec/budgie-hotcorners/ - -%{_datadir}/pixmaps/budgie-hotcorners-symbolic.svg -%{_datadir}/pixmaps/budgie-hotcgui-*.svg -%{_datadir}/icons/hicolor/scalable/apps/org.ubuntubudgie.budgie-extras.hotcorners.svg +%{_metainfodir}/org.ubuntubudgie.fuzzyclock.metainfo.xml %files -n budgie-applet-kangaroo %{_libdir}/budgie-desktop/plugins/budgie-kangaroo %{_datadir}/pixmaps/budgie-foldertrack-symbolic.svg - -%files -n budgie-applet-keyboard-autoswitch -%{_libdir}/budgie-desktop/plugins/budgie-keyboard-autoswitch -%{_datadir}/pixmaps/budgie-keyboard-autoswitch-symbolic.svg +%{_metainfodir}/org.ubuntubudgie.kangaroo.metainfo.xml %files -n budgie-applet-network-manager %{_libdir}/budgie-desktop/plugins/budgie-network-manager -%files -n budgie-applet-quickchar -%config %{_sysconfdir}/xdg/autostart/quickchar-autostart.desktop -%ghost %{_bindir}/quickchar -%{_libdir}/quickchar -%{_datadir}/applications/org.ubuntubudgie.quickchar.desktop -%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.quickchar.gschema.xml -%{_datadir}/quickchar/chardata -%{_datadir}/icons/hicolor/scalable/apps/org.ubuntubudgie.quickchar.svg -%{_mandir}/man1/quickchar.1.gz -%{_datadir}/metainfo/org.ubuntubudgie.quickchar.metainfo.xml - %files -n budgie-applet-quicknote %{_libdir}/budgie-desktop/plugins/budgie-quicknote %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.quicknote.gschema.xml %{_datadir}/pixmaps/budgie-quicknote-symbolic.svg +%{_metainfodir}/org.ubuntubudgie.quicknote.metainfo.xml %files -n budgie-applet-recentlyused %{_libdir}/budgie-desktop/plugins/budgie-recentlyused %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-recentlyused.gschema.xml +%{_metainfodir}/org.ubuntubudgie.recentlyused.metainfo.xml -%files -n budgie-applet-rotation-lock -%{_libdir}/budgie-desktop/plugins/budgie-rotation-lock -%{_datadir}/pixmaps/budgie-rotation-*.svg +%files -n budgie-applet-screencast +%{_libdir}/budgie-desktop/plugins/budgie-screencast/BudgieScreencast.plugin +%{_libdir}/budgie-desktop/plugins/budgie-screencast/libbudgie-screencast.so +%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.budgie-screencast.gschema.xml +%{_datadir}/pixmaps/budgie-screencast-symbolic.svg %files -n budgie-applet-showtime -%{_libdir}/budgie-desktop/plugins/budgie-showtime -%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-showtime.gschema.xml +%{_libdir}/budgie-desktop/raven-plugins/org.ubuntubudgie.raven.widget.budgie-showtime/* %{_datadir}/pixmaps/showtimenew-symbolic.svg +%{_metainfodir}/org.ubuntubudgie.showtime.metainfo.xml %files -n budgie-applet-takeabreak %{_libdir}/budgie-desktop/plugins/budgie-takeabreak %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.takeabreak.gschema.xml +%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.raven.widget.budgie-showtime.gschema.xml %{_datadir}/pixmaps/takeabreak*.svg +%{_metainfodir}/org.ubuntubudgie.takeabreak.metainfo.xml %files -n budgie-applet-visualspace %config %{_sysconfdir}/xdg/autostart/visualspace-autostart.desktop %{_libdir}/budgie-desktop/plugins/budgie-visualspace %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-visualspace.gschema.xml %{_datadir}/pixmaps/visualspace-symbolic.svg +%{_metainfodir}/org.ubuntubudgie.visualspace.metainfo.xml %files -n budgie-applet-wallstreet %config %{_sysconfdir}/xdg/autostart/wallstreet-autostart.desktop @@ -406,42 +338,18 @@ rm -f %{buildroot}%{_bindir}/quickchar %{_datadir}/budgie-desktop/budgie-weathershow/weather_icons/* %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.weathershow.gschema.xml %{_datadir}/pixmaps/budgie-wticon-symbolic.svg - -%files -n budgie-applet-window-shuffler -%config %{_sysconfdir}/xdg/autostart/layoutspopup-autostart.desktop -%config %{_sysconfdir}/xdg/autostart/dragsnap-autostart.desktop -%config %{_sysconfdir}/xdg/autostart/shuffler*.desktop -%{_libdir}/budgie-window-shuffler -%{_datadir}/applications/org.ubuntubudgie.shufflercontrol.desktop -%{_datadir}/icons/hicolor/scalable/apps/org.ubuntubudgie.shuffler-control.svg -%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.windowshuffler.gschema.xml -%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-shufflerapplet.gschema.xml -%{_datadir}/pixmaps/shuffler-*.svg -%{_datadir}/pixmaps/shufflerapplet-*.svg -%{_datadir}/pixmaps/dragsnapimg*.svg -%{_libdir}/budgie-desktop/plugins/budgie-window-shuffler/ShufflerAPplet.plugin -%{_libdir}/budgie-desktop/plugins/budgie-window-shuffler/libshufflerapplet.so -%{_datadir}/metainfo/org.ubuntubudgie.shufflercontrol.metainfo.xml - -%files -n budgie-applet-workspace-stopwatch -%{_libdir}/budgie-desktop/plugins/budgie-workspace-stopwatch -%{_datadir}/pixmaps/budgie-wstopwatch-symbolic.svg - -%files -n budgie-applet-wpreviews -%config %{_sysconfdir}/xdg/autostart/previews-*.desktop -%{_libdir}/budgie-previews -%{_datadir}/applications/org.ubuntubudgie.previewscontrols.desktop -%{_datadir}/metainfo/org.ubuntubudgie.previewscontrols.metainfo.xml -%{_datadir}/glib-2.0/schemas/org.ubuntubudgie.budgie-wpreviews.gschema.xml -%{_datadir}/pixmaps/budgie_wpreviews_*.png -%{_datadir}/icons/hicolor/scalable/apps/org.ubuntubudgie.budgiewpreviews.svg +%{_metainfodir}/org.ubuntubudgie.weathershow.metainfo.xml %files -n budgie-applet-wswitcher -%{_libdir}/budgie-desktop/plugins/budgie-wswitcher +%{_libdir}/budgie-desktop/raven-plugins/org.ubuntubudgie.raven.widget.budgie-wswitcher/* %{_datadir}/glib-2.0/schemas/org.ubuntubudgie.plugins.budgie-wswitcher.gschema.xml %{_datadir}/pixmaps/budgie-wsw-symbolic.svg +%{_metainfodir}/org.ubuntubudgie.wswitcher.metainfo.xml %changelog +* Tue Jun 02 2026 Owen Zimmerman - 2.2.3-1 +- Update for 2.2.3 + * Thu Jun 09 2022 Cappy Ishihara - 1.4.0-1 - Updated to 1.4.0 - Added requirements for Workspace Overview diff --git a/anda/desktops/cagebreak/cagebreak.spec b/anda/desktops/cagebreak/cagebreak.spec index b178160160..c34a0927b5 100644 --- a/anda/desktops/cagebreak/cagebreak.spec +++ b/anda/desktops/cagebreak/cagebreak.spec @@ -1,4 +1,4 @@ -%global tag 3.2.0 +%global tag 3.2.1 %global forgeurl https://github.com/project-repo/cagebreak %forgemeta diff --git a/anda/desktops/driftwm/driftwm.spec b/anda/desktops/driftwm/driftwm.spec index 4420e6433e..4751d34373 100644 --- a/anda/desktops/driftwm/driftwm.spec +++ b/anda/desktops/driftwm/driftwm.spec @@ -1,5 +1,5 @@ Name: driftwm -Version: 0.8.1 +Version: 0.12.1 Release: 1%{?dist} Summary: A trackpad-first infinite canvas Wayland compositor License: GPL-3.0-or-later @@ -31,6 +31,15 @@ BuildRequires: mesa-libgbm-devel export PREFIX=/usr %make_install +%post +%systemd_user_post driftwm.service + +%preun +%systemd_user_preun driftwm.service + +%postun +%systemd_user_postun_with_restart driftwm.service + %files %doc README.md %license LICENSE LICENSE.dependencies @@ -41,7 +50,10 @@ export PREFIX=/usr %{_sysconfdir}/driftwm/config.reference.toml %{_datadir}/driftwm/wallpapers/animated/*.glsl %{_datadir}/driftwm/wallpapers/static/*.glsl +%{_datadir}/driftwm/wallpapers/textured/*.glsl %{_datadir}/driftwm/wallpapers/*.glsl +%{_userunitdir}/driftwm-shutdown.target +%{_userunitdir}/driftwm.service %changelog * Tue Mar 17 2026 Owen Zimmerman - 0.1.0-1 diff --git a/anda/desktops/gnome/gnome-shell-extension-battery_time/gnome-shell-extension-battery_time.spec b/anda/desktops/gnome/gnome-shell-extension-battery_time/gnome-shell-extension-battery_time.spec index 0c7d505196..cc519e905a 100644 --- a/anda/desktops/gnome/gnome-shell-extension-battery_time/gnome-shell-extension-battery_time.spec +++ b/anda/desktops/gnome/gnome-shell-extension-battery_time/gnome-shell-extension-battery_time.spec @@ -3,11 +3,11 @@ %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global extension battery_time -%global uuid %{extension}@pomoke +%global uuid %{extension}@typeof.pw Name: gnome-shell-extension-%{extension} Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%{?dist} +Release: 2%{?dist} Summary: Battery remaining time extension for GNOME Shell License: GPL-2.0-only URL: https://github.com/pomoke/battery_time diff --git a/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/gnome-shell-extension-grand-theft-focus.spec b/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/gnome-shell-extension-grand-theft-focus.spec index cef765fdd2..cf0c9db1ad 100644 --- a/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/gnome-shell-extension-grand-theft-focus.spec +++ b/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/gnome-shell-extension-grand-theft-focus.spec @@ -1,9 +1,9 @@ %global extension grand-theft-focus -%global uuid %{extension}@zalckos +%global uuid %{extension}@zalckos.github.com Name: gnome-shell-extension-%{extension} Version: 10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNOME extension that removes the 'Window is ready' notification and brings the window into focus instead License: AGPL-3.0-only URL: https://github.com/zalckos/GrandTheftFocus diff --git a/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/update.rhai b/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/update.rhai index 9c32bed9ab..d2933c6ae8 100644 --- a/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/update.rhai +++ b/anda/desktops/gnome/gnome-shell-extension-grand-theft-focus/update.rhai @@ -1 +1 @@ -rpm.version(gh_tag("zalckos/GrandTheftFocus")); +rpm.version(gnome_extensions("grand-theft-focus@zalckos.github.com")); diff --git a/anda/desktops/gnome/gnome-shell-extension-multi-monitors-bar/gnome-shell-extension-multi-monitors-bar.spec b/anda/desktops/gnome/gnome-shell-extension-multi-monitors-bar/gnome-shell-extension-multi-monitors-bar.spec index d59a26573c..15a270d2ce 100644 --- a/anda/desktops/gnome/gnome-shell-extension-multi-monitors-bar/gnome-shell-extension-multi-monitors-bar.spec +++ b/anda/desktops/gnome/gnome-shell-extension-multi-monitors-bar/gnome-shell-extension-multi-monitors-bar.spec @@ -1,5 +1,5 @@ -%global commit c9dde8ec3f9a027ee2080b4beda2af9bc20fc927 -%global commit_date 20260522 +%global commit 98e57dfcbedae4d88130f689d25d0dd0961731ba +%global commit_date 20260623 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global extension multi-monitors-bar diff --git a/anda/desktops/gnome/gnome-shell/gnome-shell.spec b/anda/desktops/gnome/gnome-shell/gnome-shell.spec index b835be6c66..f22b79af03 100644 --- a/anda/desktops/gnome/gnome-shell/gnome-shell.spec +++ b/anda/desktops/gnome/gnome-shell/gnome-shell.spec @@ -1,6 +1,6 @@ %global tarball_version %%(echo %{version} | tr '~' '.') %global major_version 50 -%global minor_version 1 +%global minor_version 2 %if 0%{?rhel} %global portal_helper 0 diff --git a/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec b/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec index c5fa593276..afdba988c4 100644 --- a/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec +++ b/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec @@ -3,8 +3,8 @@ %global realname hyprutils %global ver 0.13.1 -%global commit 3cd3972b2ee658a14d2610d8494e09259e530124 -%global commit_date 20260523 +%global commit 9d8bf6e810597152eef8906c670b96679af2faec +%global commit_date 20260622 %global shortcommit %{sub %commit 1 7} Name: %realname.nightly diff --git a/anda/desktops/kde/plasma6-applet-appgrid/plasma6-applet-appgrid.spec b/anda/desktops/kde/plasma6-applet-appgrid/plasma6-applet-appgrid.spec index 88ab775eb2..c51042a353 100644 --- a/anda/desktops/kde/plasma6-applet-appgrid/plasma6-applet-appgrid.spec +++ b/anda/desktops/kde/plasma6-applet-appgrid/plasma6-applet-appgrid.spec @@ -1,7 +1,7 @@ Name: plasma6-applet-appgrid -Version: 1.8.0 +Version: 1.9.2 Release: 1%{?dist} -Summary: A modern fullscreen application launcher for KDE Plasma +Summary: A modern application launcher for KDE Plasma # Main code: GPL-2.0-or-later # dev.xarbit.appgrid.metainfo.xml: CC0-1.0 License: GPL-2.0-or-later AND CC0-1.0 @@ -17,52 +17,61 @@ BuildRequires: kf6-rpm-macros BuildRequires: cmake(Qt6Quick) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6DBus) +BuildRequires: cmake(KF6Config) BuildRequires: cmake(KF6Service) BuildRequires: cmake(KF6I18n) BuildRequires: cmake(KF6CoreAddons) BuildRequires: cmake(KF6KIO) BuildRequires: cmake(KF6WindowSystem) -BuildRequires: cmake(KF6Package) BuildRequires: cmake(KF6Runner) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6GlobalAccel) +BuildRequires: cmake(KF6Svg) BuildRequires: cmake(Plasma) BuildRequires: cmake(PlasmaQuick) BuildRequires: cmake(LayerShellQt) -BuildRequires: cmake(KF6IconThemes) BuildRequires: cmake(PlasmaActivities) -BuildRequires: cmake(LibKWorkspace) +BuildRequires: cmake(PlasmaActivitiesStats) +BuildRequires: cmake(AppStreamQt) Requires: plasma-workspace Requires: plasma-desktop Requires: kf6-kiconthemes +Requires: kf6-ksvg %description -AppGrid is a modern application launcher for KDE Plasma 6, inspired by -macOS Launchpad, COSMIC, and Pantheon. +A modern application launcher for KDE Plasma. It offers unified +search, favorites, categories, and both a panel and a centered popup +presentation. %prep -%autosetup -n plasma6-applet-appgrid-%{version} +%autosetup -n %{name}-%{version} %conf -%cmake +%cmake -DAPPGRID_VERSION_OVERRIDE=%{version} %build %cmake_build %install %cmake_install -%find_lang dev.xarbit.appgrid --with-kde +%find_lang dev.xarbit.appgrid %files -f dev.xarbit.appgrid.lang %license LICENSE %doc README.md -%{_libdir}/qt6/plugins/plasma/applets/dev.xarbit.appgrid.so -%{_libdir}/qt6/plugins/plasma/applets/dev.xarbit.appgrid.panel.so -%{_datadir}/plasma/plasmoids/dev.xarbit.appgrid/ -%{_datadir}/plasma/plasmoids/dev.xarbit.appgrid.panel/ +%{_qt6_plugindir}/plasma/applets/dev.xarbit.appgrid.so +%{_qt6_plugindir}/plasma/applets/dev.xarbit.appgrid.panel.so %{_metainfodir}/dev.xarbit.appgrid.metainfo.xml %{_datadir}/icons/hicolor/scalable/apps/dev.xarbit.appgrid.svg %changelog +* Mon Jun 15 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.9.1-2 +- Sync with upstream + +* Fri May 29 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.8.5-1 +- pass version to cmake, update description + * Mon May 25 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.8.0-1 - fix: add cmake(PlasmaActivities) BuildRequires, add icon to files @@ -72,5 +81,5 @@ macOS Launchpad, COSMIC, and Pantheon. * Sat Apr 25 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.7.8-1 - Update to 1.7.8 -* Thu Apr 24 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.2.1-1 +* Fri Apr 24 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.2.1-1 - Initial package 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 4cf59a5276..dd9f918bc7 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,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch -%global commit c40aaeecbc1a1634f961ed6ce2b5f5cb0e5196e3 +%global commit d32f39df026806150ffcdc1dcabf08c74aa3f621 %forgemeta Name: lomiri-app-launch -Version: 0.1.12 -Release: 1%?dist +Version: 0.2.0 +Release: 1%{?dist} Summary: Provides the Lomiri App Launch user space daemon License: GPL-3.0 URL: https://gitlab.com/ubports/development/core/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 3c5b75197a..e2d202c543 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 0939d480c72871b3270cc529e16902fd41bfdda5 +%global commit 72b77e657d71f4a0b1b979d27321b7a909ff5ad7 %forgemeta Name: lomiri-download-manager -Version: 0.3.1 +Version: 0.3.2 Release: 1%{?dist} Summary: Upload Download Manager for Lomiri License: LGPLv3 diff --git a/anda/desktops/lomiri-unity/lomiri-indicator-network/lomiri-indicator-network.spec b/anda/desktops/lomiri-unity/lomiri-indicator-network/lomiri-indicator-network.spec index a42751424f..0022235a6f 100644 --- a/anda/desktops/lomiri-unity/lomiri-indicator-network/lomiri-indicator-network.spec +++ b/anda/desktops/lomiri-unity/lomiri-indicator-network/lomiri-indicator-network.spec @@ -1,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-indicator-network -%global commit 5c72fe38523e70377205cfa31c929d20fa8b29ac +%global commit 3a7597e25d13e587188a33c881caa6ed4f055267 %forgemeta Name: lomiri-indicator-network -Version: 1.2.0 -Release: 1%?dist +Version: 1.99.0 +Release: 1%{?dist} Summary: The Network indicator for Ubuntu Touch License: GPL-3.0 AND LGPL-3.0 URL: https://gitlab.com/ubports/development/core/lomiri-indicator-network diff --git a/anda/desktops/lomiri-unity/lomiri-schemas/lomiri-schemas.spec b/anda/desktops/lomiri-unity/lomiri-schemas/lomiri-schemas.spec index bc14a407ce..84f8e5bc8b 100644 --- a/anda/desktops/lomiri-unity/lomiri-schemas/lomiri-schemas.spec +++ b/anda/desktops/lomiri-unity/lomiri-schemas/lomiri-schemas.spec @@ -1,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-schemas -%global commit f24a7d2ebbf2847bf2a82235935af787ca05bf90 +%global commit 1e7766c845373fd4689dae9307274c3dc4f1ac2d %forgemeta Name: lomiri-schemas -Version: 0.1.10 -Release: 1%?dist +Version: 0.1.11 +Release: 1%{?dist} Summary: Configuration schemas for lomiri License: LGPL-2.0-or-later URL: https://gitlab.com/ubports/development/core/lomiri-schemas diff --git a/anda/desktops/lomiri-unity/lomiri-settings-components/lomiri-settings-components.spec b/anda/desktops/lomiri-unity/lomiri-settings-components/lomiri-settings-components.spec index 9aaa1fe248..7f2bf992a7 100644 --- a/anda/desktops/lomiri-unity/lomiri-settings-components/lomiri-settings-components.spec +++ b/anda/desktops/lomiri-unity/lomiri-settings-components/lomiri-settings-components.spec @@ -1,9 +1,9 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-settings-components -%global commit 7bfc33d16ca234af8c88477cfbb2a95f3b7d8c9a +%global commit 3fcff0a27374d675702671564018b10d3627bd1b %forgemeta Name: lomiri-settings-components -Version: 1.2.0 +Version: 1.2.1 Release: 1%{?dist} Summary: The system settings components for Lomiri License: GPLv3 AND LGPLv3 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 f9b5bf24e2..3da96a9eb8 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,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings -%global commit a89f1ddabe58351a5e4b4a3e3180ea84d8e6ff10 +%global commit a1bee4359f0544c9cea46d1744a7ff828b193725 %forgemeta Name: lomiri-system-settings -Version: 1.3.2 -Release: 1%?dist +Version: 1.4.0 +Release: 1%{?dist} Summary: The system settings application for Lomiri License: GPLv3 URL: https://gitlab.com/ubports/development/core/lomiri-system-settings diff --git a/anda/desktops/lomiri-unity/lomiri-ui-toolkit/lomiri-ui-toolkit.spec b/anda/desktops/lomiri-unity/lomiri-ui-toolkit/lomiri-ui-toolkit.spec index f21618a554..32362f670b 100644 --- a/anda/desktops/lomiri-unity/lomiri-ui-toolkit/lomiri-ui-toolkit.spec +++ b/anda/desktops/lomiri-unity/lomiri-ui-toolkit/lomiri-ui-toolkit.spec @@ -1,9 +1,9 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit -%global commit 32d39be4d36abc5de7dc3cc8ab2aecb74a7505ce +%global commit 74d94596a8b273dc02dc6d5a44d614a16bb2383b %forgemeta Name: lomiri-ui-toolkit -Version: 1.3.5906 +Version: 1.3.5907 Release: 1%{?dist} Summary: QML components to ease the creation of beautiful applications in QML for Lomiri 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 338303c598..073acfc758 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 @@ -1,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-url-dispatcher -%global commit 8aa052982ef67fdd130ee7b5d4731eb2162e4e47 +%global commit c8b423ef0e18ca7f57a40a00a8319cffbdfb000a %forgemeta Name: lomiri-url-dispatcher -Version: 0.1.4 -Release: 1%?dist +Version: 0.1.5 +Release: 1%{?dist} Summary: A small library for handling URLs over dbus License: LGPL-3.0 diff --git a/anda/desktops/lomiri-unity/lomiri/lomiri.spec b/anda/desktops/lomiri-unity/lomiri/lomiri.spec index 4b68a9d6e8..fea91d2a13 100644 --- a/anda/desktops/lomiri-unity/lomiri/lomiri.spec +++ b/anda/desktops/lomiri-unity/lomiri/lomiri.spec @@ -1,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri -%global commit 39840a77525e57f29cde9d6773bd2742feae2486 +%global commit d1bd01080e905154e9e8492673c8887ad5d87b7c %forgemeta Name: lomiri -Version: 0.5.0 -Release: 1%?dist +Version: 0.6.0 +Release: 1%{?dist} Summary: A convergent desktop environment by Ubports License: GPLv3 AND LGPLv3 diff --git a/anda/desktops/lomiri-unity/qtmir/qtmir.spec b/anda/desktops/lomiri-unity/qtmir/qtmir.spec index 64332e8627..8c32c7df73 100644 --- a/anda/desktops/lomiri-unity/qtmir/qtmir.spec +++ b/anda/desktops/lomiri-unity/qtmir/qtmir.spec @@ -5,10 +5,10 @@ Name: qtmir Version: 0.8.0 -Release: %autorelease +Release: 2%{?dist} Summary: Mir backed compositor using Qt -License: LGPLv3+ AND GPLv3+ +License: LGPL-3.0-or-later AND GPL-3.0-or-later URL: https://gitlab.com/ubports/development/core/qtmir Source0: %{url}/-/archive/%commit/qtmir-%commit.tar.gz Patch0: https://sources.debian.org/data/main/q/qtmir/0.8.0~git20230223.bd21224-3/debian/patches/1003_require-miroil-in-pkgconfig-file.patch diff --git a/anda/desktops/mangowm/mangowm.spec b/anda/desktops/mangowm/mangowm.spec index 6c33ef7ac9..2c7af73b4e 100644 --- a/anda/desktops/mangowm/mangowm.spec +++ b/anda/desktops/mangowm/mangowm.spec @@ -1,7 +1,7 @@ %global mangowc_ver 0.12.5-1 Name: mangowm -Version: 0.13.0 +Version: 0.14.4 Release: 1%{?dist} Summary: A modern, lightweight, high-performance Wayland compositor built on dwl License: GPL-3.0-or-later AND MIT AND X11 AND CC0-1.0 @@ -21,6 +21,7 @@ BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(libpcre2-8) +BuildRequires: pkgconfig(libcjson) BuildRequires: scenefx-devel Conflicts: mangowc < %{mangowc_ver} @@ -54,6 +55,7 @@ dwl — crafted for speed, flexibility, and a customizable desktop experience. %{_sysconfdir}/mango/config.conf %{_datadir}/wayland-sessions/mango.desktop %{_datadir}/xdg-desktop-portal/mango-portals.conf +%{_mandir}/man1/mmsg.1.* %changelog * Wed Mar 04 2026 metcya - 0.12.5-1 diff --git a/anda/desktops/mate/indicators/datetime/ayatana-indicator-datetime.spec b/anda/desktops/mate/indicators/datetime/ayatana-indicator-datetime.spec index d66ec12981..b6fcbafcfd 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: 25.4.0 -Release: 1%?dist +Version: 26.6.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/session/ayatana-indicator-session.spec b/anda/desktops/mate/indicators/session/ayatana-indicator-session.spec index 9ff7fc8609..75b464fb21 100644 --- a/anda/desktops/mate/indicators/session/ayatana-indicator-session.spec +++ b/anda/desktops/mate/indicators/session/ayatana-indicator-session.spec @@ -1,7 +1,7 @@ Name: ayatana-indicator-session Summary: Ayatana Indicator Session Applet -Version: 24.5.1 -Release: 1%?dist +Version: 26.6.1 +Release: 1%{?dist} License: GPL-3.0 URL: https://github.com/AyatanaIndicators/ayatana-indicator-session Source0: %{url}/archive/refs/tags/%{version}.tar.gz diff --git a/anda/desktops/mate/indicators/sound/ayatana-indicator-sound.spec b/anda/desktops/mate/indicators/sound/ayatana-indicator-sound.spec index 46730f6994..8e64e6f3de 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: 24.5.2 -Release: 1%?dist +Version: 24.5.3 +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/niri/iio-niri/iio-niri.spec b/anda/desktops/niri/iio-niri/iio-niri.spec index 4b688350f7..a4499a06b6 100644 --- a/anda/desktops/niri/iio-niri/iio-niri.spec +++ b/anda/desktops/niri/iio-niri/iio-niri.spec @@ -1,5 +1,5 @@ Name: iio-niri -Version: 2.0.0 +Version: 2.2.0 Release: 1%{?dist} Summary: Autorotation daemon for niri URL: https://github.com/Zhaith-Izaliel/iio-niri diff --git a/anda/desktops/niri/nirius/nirius.spec b/anda/desktops/niri/nirius/nirius.spec index d8e72bb9eb..1e59d2290a 100644 --- a/anda/desktops/niri/nirius/nirius.spec +++ b/anda/desktops/niri/nirius/nirius.spec @@ -1,5 +1,5 @@ Name: nirius -Version: 0.7.1 +Version: 0.7.3 Release: 1%{?dist} Summary: Utility commands for niri diff --git a/anda/desktops/niri/nirius/update.rhai b/anda/desktops/niri/nirius/update.rhai new file mode 100644 index 0000000000..df37c6fbd8 --- /dev/null +++ b/anda/desktops/niri/nirius/update.rhai @@ -0,0 +1 @@ +rpm.version(sourcehut("~tsdh/nirius")); diff --git a/anda/desktops/noctalia-git/anda.hcl b/anda/desktops/noctalia-git/anda.hcl new file mode 100644 index 0000000000..bb739e75cb --- /dev/null +++ b/anda/desktops/noctalia-git/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "noctalia-git.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/desktops/noctalia-git/noctalia-git.spec b/anda/desktops/noctalia-git/noctalia-git.spec new file mode 100644 index 0000000000..35bcb644a3 --- /dev/null +++ b/anda/desktops/noctalia-git/noctalia-git.spec @@ -0,0 +1,98 @@ +%global debug_package %{nil} + +%global ver 5.0.0 + +%global commit a5eeef13338167fb85ecf8ea7c2fabb4c5536010 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260623 + +Name: noctalia-git +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: A lightweight Wayland shell and bar built directly on Wayland + OpenGL ES, with no Qt or GTK dependency + +License: MIT +URL: https://github.com/noctalia-dev/noctalia +Source0: https://github.com/noctalia-dev/noctalia/archive/%{commit}/noctalia-%{commit}.tar.gz + +BuildRequires: meson +BuildRequires: gcc-c++ +BuildRequires: git +BuildRequires: desktop-file-utils +BuildRequires: pipewire-devel +BuildRequires: sdbus-cpp-devel +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(jemalloc) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libqalculate) +BuildRequires: pkgconfig(librsvg-2.0) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(pam) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(polkit-gobject-1) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(xkbcommon) + +Provides: desktop-notification-daemon +Provides: PolicyKit-authentication-agent + +Requires: hicolor-icon-theme +Requires: dejavu-sans-fonts +Requires: libwebp + +Recommends: ddcutil +Recommends: gpu-screen-recorder +Recommends: power-profiles-daemon + +Packager: Cypress Reed + +%description +A lightweight Wayland shell and bar built directly on Wayland + OpenGL ES, with no Qt or GTK dependency. + +%prep +%autosetup -n noctalia-%{commit} +# Manually insert commit hash +sed -i "s/'unknown'/'%{shortcommit}'/g" meson.build + +%conf +%meson + +%build +%meson_build + +%install +%meson_install +install -d %{buildroot}%{_licensedir}/%{name}/third_party +find third_party -type f \( -name "LICENSE*" -o -name "COPYING*" -o -name "NOTICE*" \) | while read -r file; do + # Create the destination subdirectory + dest_dir="%{buildroot}%{_licensedir}/%{name}/$(dirname "$file")" + install -d "$dest_dir" + # Copy the file to its specific subfolder + install -p -m 0644 "$file" "$dest_dir/" +done + +%check +%desktop_file_validate %{buildroot}%{_appsdir}/dev.noctalia.Noctalia.desktop + +%files +%doc README.md +%license LICENSE +%{_licensedir}/%{name}/third_party/ +%{_bindir}/noctalia +%{_datadir}/noctalia/ +%{_appsdir}/dev.noctalia.Noctalia.desktop +%{_scalableiconsdir}/noctalia.svg + +%changelog +* Wed Jun 24 2026 Cypress Reed +- Add desktop file and icon + +* Fri Jun 05 2026 Cypress Reed +- Port to terra from Fedora COPR lionheartp/Hyprland diff --git a/anda/desktops/noctalia-git/update.rhai b/anda/desktops/noctalia-git/update.rhai new file mode 100644 index 0000000000..9587f39bcf --- /dev/null +++ b/anda/desktops/noctalia-git/update.rhai @@ -0,0 +1,6 @@ +rpm.global("commit", gh_commit("noctalia-dev/noctalia")); +if rpm.changed() { + // rpm.global("ver", gh("noctalia-dev/noctalia")); + rpm.global("commitdate", date()); + rpm.release(); +} diff --git a/anda/desktops/noctalia-greeter/anda.hcl b/anda/desktops/noctalia-greeter/anda.hcl new file mode 100644 index 0000000000..e031ad89a2 --- /dev/null +++ b/anda/desktops/noctalia-greeter/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "noctalia-greeter.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/desktops/noctalia-greeter/noctalia-greeter.spec b/anda/desktops/noctalia-greeter/noctalia-greeter.spec new file mode 100644 index 0000000000..283a5abadf --- /dev/null +++ b/anda/desktops/noctalia-greeter/noctalia-greeter.spec @@ -0,0 +1,83 @@ +%global ver 1.0.0 + +%global commit fca79eb56d45370949d20beb6f740e7e5daaee5b +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260621 + +Name: noctalia-greeter +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 2%{?dist} +Summary: A minimal login greeter for greetd that matches the look and feel of Noctalia Shell. + +License: MIT +URL: https://github.com/noctalia-dev/%{name} +Source0: %{url}/archive/%{commit}/%{name}-%{commit}.tar.gz + +BuildRequires: dbus +BuildRequires: gcc-c++ +BuildRequires: greetd +BuildRequires: just +BuildRequires: meson +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(librsvg-2.0) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: polkit +BuildRequires: wlroots-devel >= 0.20 + +Requires: dbus +Requires: greetd +Requires: wlroots >= 0.20 + +Packager: Cypress Reed + +%description +Noctalia Greeter is the screen you see before your desktop session starts. +It lets you pick a user, enter your password, choose a Wayland session, and pick a color scheme - with the same visual language as Noctalia Shell. + +%prep +%autosetup -n noctalia-greeter-%{commit} + +%conf +%meson -Db_pie=true + +%build +%meson_build + +%install +%meson_install +install -d %{buildroot}%{_licensedir}/%{name}/third_party +find third_party -type f \( -name "LICENSE*" -o -name "COPYING*" -o -name "NOTICE*" \) | while read -r file; do + # Create the destination subdirectory + dest_dir="%{buildroot}%{_licensedir}/%{name}/$(dirname "$file")" + install -d "$dest_dir" + # Copy the file to its specific subfolder + install -p -m 0644 "$file" "$dest_dir/" +done + +%files +%doc README.md +%license LICENSE +%{_licensedir}/%{name}/third_party/ +%{_bindir}/%{name} +%{_bindir}/%{name}-apply-appearance +%{_bindir}/%{name}-compositor +%{_bindir}/%{name}-print-greetd-config +%{_bindir}/%{name}-session +%{_datadir}/%{name}/* +%{_datadir}/polkit-1/actions/org.noctalia.greeter.apply-appearance.policy + +%changelog +* Fri Jun 19 2026 Cypress Reed +- Update dependencies and files for built-in compositor + +* Tue Jun 09 2026 Cypress Reed +- Port to terra from Fedora COPR lionheartp/Hyprland diff --git a/anda/desktops/noctalia-greeter/update.rhai b/anda/desktops/noctalia-greeter/update.rhai new file mode 100644 index 0000000000..f52eef79c7 --- /dev/null +++ b/anda/desktops/noctalia-greeter/update.rhai @@ -0,0 +1,6 @@ +rpm.global("commit", gh_commit("noctalia-dev/noctalia-greeter")); +if rpm.changed() { + rpm.global("ver", gh("noctalia-dev/noctalia-greeter")); + rpm.global("commit_date", date()); + rpm.release(); +} diff --git a/anda/desktops/noctalia-legacy/anda.hcl b/anda/desktops/noctalia-legacy/anda.hcl new file mode 100644 index 0000000000..b967e6b830 --- /dev/null +++ b/anda/desktops/noctalia-legacy/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "noctalia-legacy.spec" + } +} diff --git a/anda/desktops/noctalia-shell/noctalia-shell.spec b/anda/desktops/noctalia-legacy/noctalia-legacy.spec similarity index 59% rename from anda/desktops/noctalia-shell/noctalia-shell.spec rename to anda/desktops/noctalia-legacy/noctalia-legacy.spec index 427439c761..192c35bc2b 100644 --- a/anda/desktops/noctalia-shell/noctalia-shell.spec +++ b/anda/desktops/noctalia-legacy/noctalia-legacy.spec @@ -1,13 +1,13 @@ %global debug_package %{nil} -Name: noctalia-shell +Name: noctalia-legacy Version: 4.7.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A Quickshell-based custom shell setup License: MIT -URL: https://github.com/noctalia-dev/noctalia-shell -Source0: https://github.com/noctalia-dev/noctalia-shell/releases/download/v%{version}/noctalia-v%{version}.tar.gz +URL: https://github.com/noctalia-dev/noctalia +Source0: https://github.com/noctalia-dev/noctalia/releases/download/v%{version}/noctalia-v%{version}.tar.gz Requires: brightnessctl Requires: dejavu-sans-fonts @@ -23,7 +23,9 @@ Recommends: power-profiles-daemon Recommends: wlsunset Recommends: gpu-screen-recorder -Packager: Willow Reed +Obsoletes: noctalia-shell <= 4.7.7-1 + +Packager: Cypress Reed %description A beautiful, minimal desktop shell for Wayland that actually gets out of your way. Built on Quickshell with a warm lavender aesthetic that you can easily customize to match your vibe. @@ -42,12 +44,19 @@ cp -r ./* %{buildroot}/etc/xdg/quickshell/noctalia-shell/ %license LICENSE %{_sysconfdir}/xdg/quickshell/noctalia-shell/ +%post +echo "noctalia-shell has been renamed to noctalia" +echo "noctalia v5 is coming soon! keep an eye out as this legacy package will become obsolete" + %changelog -* Mon Mar 09 2026 Willow C Reed +* Thu Jun 04 2026 Cypress Reed +- Update email and name (was Willow Reed or Willow C Reed) (I'm official now!) + +* Mon Mar 09 2026 Cypress Reed - switch gpu-screen-recorder to be recommended as it's a plugin and not required anymore. also switched source to be based on version. -* Fri Feb 27 2026 Willow C Reed +* Fri Feb 27 2026 Cypress Reed - Change required quickshell to Noctalia's version -* Fri Jan 02 2026 Willow Reed +* Fri Jan 02 2026 Cypress Reed - Initial commit \ No newline at end of file diff --git a/anda/desktops/noctalia-legacy/update.rhai b/anda/desktops/noctalia-legacy/update.rhai new file mode 100644 index 0000000000..76977136da --- /dev/null +++ b/anda/desktops/noctalia-legacy/update.rhai @@ -0,0 +1,6 @@ +let v = gh("noctalia-dev/noctalia"); +v.crop(1); + +if v < "5" { + rpm.version(v); +} diff --git a/anda/desktops/noctalia-qs/VERSION_qt6-qtbase.txt b/anda/desktops/noctalia-qs/VERSION_qt6-qtbase.txt new file mode 100644 index 0000000000..fac714a322 --- /dev/null +++ b/anda/desktops/noctalia-qs/VERSION_qt6-qtbase.txt @@ -0,0 +1 @@ +6.11.1 diff --git a/anda/desktops/noctalia-qs/anda.hcl b/anda/desktops/noctalia-qs/anda.hcl index 2f51b5f5ef..96830e8080 100644 --- a/anda/desktops/noctalia-qs/anda.hcl +++ b/anda/desktops/noctalia-qs/anda.hcl @@ -1,5 +1,8 @@ project pkg { - rpm { - spec = "noctalia-qs.spec" - } + rpm { + spec = "noctalia-qs.spec" + } + labels { + updbranch = 1 + } } diff --git a/anda/desktops/noctalia-qs/noctalia-qs.spec b/anda/desktops/noctalia-qs/noctalia-qs.spec index 8a86ee7e39..a7f26d713c 100644 --- a/anda/desktops/noctalia-qs/noctalia-qs.spec +++ b/anda/desktops/noctalia-qs/noctalia-qs.spec @@ -2,13 +2,13 @@ Name: noctalia-qs Version: 0.0.12 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Flexible QtQuick based desktop shell toolkit License: LGPL-3.0-only AND GPL-3.0-only URL: https://github.com/noctalia-dev/noctalia-qs Source0: https://github.com/noctalia-dev/noctalia-qs/archive/refs/tags/v%{version}.tar.gz -Packager: Willow C Reed +Packager: Cypress Reed BuildRequires: cmake BuildRequires: cmake(Qt6Core) @@ -73,12 +73,18 @@ Flexible QtQuick based desktop shell toolkit. %{_libdir}/qt6/qml/Quickshell %changelog -* Sun Mar 29 2026 Willow C Reed +* Thu Jun 04 2026 Cypress Reed +- Update email and name (was Willow Reed or Willow C Reed) (I'm official now!) + +* Thu May 21 2026 Cypress Reed +- Add update script so that release bumps when Qt updates its minor version, triggering a rebuild + +* Sun Mar 29 2026 Cypress Reed - Add provides for a polkit agent and desktop notification daemon (so gnome doesn't get installed) -* Thu Mar 05 2026 Willow C Reed -- Fix reision to actually be defined as a specific git commit since it never gets initialized rn +* Thu Mar 05 2026 Cypress Reed +- Fix revision to actually be defined as a specific git commit since it never gets initialized rn - Also fix that noctalia-qs is replacing quickshell overall and not just for noctlaia users -* Fri Feb 27 2026 Willow C Reed +* Fri Feb 27 2026 Cypress Reed - Initial commit based on quickshell spec diff --git a/anda/desktops/noctalia-qs/update.rhai b/anda/desktops/noctalia-qs/update.rhai index 7872e1741f..d54c2b9e2d 100644 --- a/anda/desktops/noctalia-qs/update.rhai +++ b/anda/desktops/noctalia-qs/update.rhai @@ -1,7 +1,19 @@ -let release = get(`https://api.github.com/repos/noctalia-dev/noctalia-qs/tags`).json_arr()[0]; +import "andax/bump_extras.rhai" as bump; +import "andax/spec.rhai" as spec; -rpm.version(release.name); +let version = find(`quickshell VERSION "([\d.]+)"`, gh_rawfile("noctalia-dev/noctalia-qs", "master", "CMakeLists.txt"), 1); + +rpm.version(version); if rpm.changed() { - rpm.global("commit", release.commit.sha); + let commit = get(`https://api.github.com/repos/noctalia-dev/noctalia-qs/tags`).json_arr()[0].commit.sha; + rpm.global("commit", commit); +} + +open_file("anda/desktops/noctalia-qs/VERSION_qt6-qtbase.txt", "w").write(bump::bodhi("qt6-qtbase", bump::as_bodhi_ver(labels.branch))); // will trig rebuild when changed + +let dir = sub(`/[^/]+$`, "", __script_path); +if sh("[[ `git status " + dir + " --porcelain` ]] && exit 1 || exit 0", #{}).ctx.rc == 1 { + let rel = spec::get_release(rpm).parse_int(); + rpm.release(rel + 1); } \ No newline at end of file diff --git a/anda/desktops/noctalia-shell/anda.hcl b/anda/desktops/noctalia-shell/anda.hcl deleted file mode 100644 index 40cee1a4b7..0000000000 --- a/anda/desktops/noctalia-shell/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project pkg { - rpm { - spec = "noctalia-shell.spec" - } -} diff --git a/anda/desktops/noctalia-shell/update.rhai b/anda/desktops/noctalia-shell/update.rhai deleted file mode 100644 index b80a58a4e6..0000000000 --- a/anda/desktops/noctalia-shell/update.rhai +++ /dev/null @@ -1,6 +0,0 @@ -let v = gh("noctalia-dev/noctalia-shell"); -v.crop(1); - -if v < "5" { - rpm.version(v); -} \ No newline at end of file diff --git a/anda/desktops/satty/satty.spec b/anda/desktops/satty/satty.spec index d6843f609e..e43cd2b270 100644 --- a/anda/desktops/satty/satty.spec +++ b/anda/desktops/satty/satty.spec @@ -1,5 +1,5 @@ Name: satty -Version: 0.20.1 +Version: 0.21.1 Release: 1%{?dist} Summary: Modern screenshot annotation tool URL: https://github.com/Satty-org/Satty @@ -7,38 +7,45 @@ Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildRequires: cargo-rpm-macros BuildRequires: libadwaita-devel BuildRequires: libepoxy-devel -License: MPL-2.0 AND (MIT OR Apache-2.0) AND Unicode-3.0 AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-3-Clause OR Apache-2.0) AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) +SourceLicense: MPL-2.0 +License: %{SourceLicense} AND (MIT OR Apache-2.0) AND Unicode-3.0 AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-3-Clause OR Apache-2.0) AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) Packager: Tulip Blossom %description %{summary}. -%pkg_completion -BNfz +%pkg_completion -BeNfz %prep %autosetup -n Satty-%{version} %cargo_prep_online %build -%cargo_build -%{cargo_license_online} > LICENSE.dependencies +%cargo_build -a +%{cargo_license_online -a} > LICENSE.dependencies %install -install -Dpm0755 -t %{buildroot}%{_bindir} ./target/rpm/satty -install -Dpm0644 -t %{buildroot}%{_datadir}/applications/ ./satty.desktop -install -Dpm0644 -t %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/ ./assets/satty.svg -install -Dpm0644 -t %{buildroot}%{_datadir}/fish/vendor_completions.d/ ./completions/satty.fish -install -Dpm0644 -t %{buildroot}%{_datadir}/zsh/site-functions/ ./completions/_satty -install -Dpm0644 ./completions/satty.bash %{buildroot}%{_datadir}/bash-completion/completions/satty -install -Dpm0644 -t %{buildroot}%{_datadir}/nushell/vendor/autoload/ ./completions/satty.nu +install -Dpm0755 -t %{buildroot}%{_bindir} ./target/rpm/satty +install -Dpm0644 -t %{buildroot}%{_appsdir}/ ./satty.desktop +install -Dpm0644 -t %{buildroot}%{_scalableiconsdir}/ ./assets/satty.svg +install -Dpm0644 -t %{buildroot}%{fish_completions_dir}/ ./completions/satty.fish +install -Dpm0644 -t %{buildroot}%{zsh_completions_dir}/ ./completions/_satty +install -Dpm0644 ./completions/satty.bash %{buildroot}%{bash_completions_dir}/satty +install -Dpm0644 -t %{buildroot}%{elvish_completions_dir}/ ./completions/satty.elv +install -Dpm0644 -t %{buildroot}%{nushell_completions_dir}/ ./completions/satty.nu +install -Dpm0644 -t %{buildroot}%{_metainfodir}/ ./org.satty.Satty.metainfo.xml %files %doc README.md %license LICENSE LICENSE.dependencies %{_bindir}/%{name} -%{_datadir}/applications/satty.desktop -%{_datadir}/icons/hicolor/scalable/apps/satty.svg +%{_appsdir}/satty.desktop +%{_scalableiconsdir}/satty.svg +%{_metainfodir}/org.satty.Satty.metainfo.xml %changelog +* Thu Jun 04 2026 Owen Zimmerman 0.21.0-1 +- Update for 0.21.0 + * Sun Mar 29 2026 Tulip Blossom - Initial commit diff --git a/anda/desktops/scroll/scroll.spec b/anda/desktops/scroll/scroll.spec index 12ad0240e1..2f7cee24fb 100644 --- a/anda/desktops/scroll/scroll.spec +++ b/anda/desktops/scroll/scroll.spec @@ -1,5 +1,5 @@ Name: scroll -Version: 1.12.14 +Version: 1.12.15 Release: 1%{?dist} Summary: i3-compatible Wayland compositor (sway) with a PaperWM layout like niri or hyprscroller License: MIT diff --git a/anda/desktops/singularity/libsingularity/libsingularity.spec b/anda/desktops/singularity/libsingularity/libsingularity.spec index 927f67c562..7fe6a95142 100644 --- a/anda/desktops/singularity/libsingularity/libsingularity.spec +++ b/anda/desktops/singularity/libsingularity/libsingularity.spec @@ -1,5 +1,5 @@ -%global commit 546ca2a939542c397b6668e1fc1883046126b6fe -%global commit_date 20260523 +%global commit a7e59124efa6eb174e7bc9b4dfa9e1ea5362669e +%global commit_date 20260621 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: libsingularity @@ -13,12 +13,14 @@ BuildRequires: meson BuildRequires: cmake BuildRequires: gcc BuildRequires: vala +BuildRequires: sassc BuildRequires: pkgconfig(gtk4) BuildRequires: pkgconfig(gtk4-layer-shell-0) BuildRequires: pkgconfig(gee-0.8) BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libpeas-2) BuildRequires: pkgconfig(libsoup-3.0) +BuildRequires: pkgconfig(gtksourceview-5) Packager: Owen Zimmerman @@ -49,6 +51,8 @@ A GTK4 application and widget framework for the Singularity Desktop Environment. %{_libdir}/libsingularity.so.0.1.0 %{_datadir}/vala/vapi/singularity-1.0.vapi %{_datadir}/vala/vapi/libsingularity-1.0.vapi +%{_datadir}/vala/vapi/singularity-1.0.deps +%{_datadir}/themes/Singularity/ %changelog * Sat May 16 2026 Owen Zimmerman diff --git a/anda/desktops/singularity/vetro/vetro.spec b/anda/desktops/singularity/vetro/vetro.spec index ee043a875c..8f83d0607a 100644 --- a/anda/desktops/singularity/vetro/vetro.spec +++ b/anda/desktops/singularity/vetro/vetro.spec @@ -1,5 +1,5 @@ -%global commit 751ccb251d9fb2c472e193bc478c3b928e3514c9 -%global commit_date 20260405 +%global commit 0a7bd367676f67e1c15a304ba135fe6fecdbc604 +%global commit_date 20260605 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global goipath github.com/singularityos-lab/vetro diff --git a/anda/desktops/somewm/somewm.spec b/anda/desktops/somewm/somewm.spec index 9caa130fed..fca9ed48cd 100644 --- a/anda/desktops/somewm/somewm.spec +++ b/anda/desktops/somewm/somewm.spec @@ -1,5 +1,5 @@ Name: somewm -Version: 1.4.1 +Version: 1.4.2 Release: 1%{?dist} Summary: Wayland compositor that brings AwesomeWM's Lua API to Wayland License: GPL-3.0-or-later diff --git a/anda/desktops/stardust/non-spatial-input/nightly/stardust-non-spatial-input-nightly.spec b/anda/desktops/stardust/non-spatial-input/nightly/stardust-non-spatial-input-nightly.spec index 5f58c41449..ee0b8cb2e0 100644 --- a/anda/desktops/stardust/non-spatial-input/nightly/stardust-non-spatial-input-nightly.spec +++ b/anda/desktops/stardust/non-spatial-input/nightly/stardust-non-spatial-input-nightly.spec @@ -1,5 +1,5 @@ -%global commit f14a78e4c572f24a63aa4e06629e42929f097388 -%global commit_date 20260320 +%global commit 9281c15fae057f82ffed44a36266f2a7d79bf641 +%global commit_date 20260612 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ diff --git a/anda/desktops/stardust/protostar/nightly/stardust-protostar-nightly.spec b/anda/desktops/stardust/protostar/nightly/stardust-protostar-nightly.spec index 68b1b6ad70..e01966c4d4 100644 --- a/anda/desktops/stardust/protostar/nightly/stardust-protostar-nightly.spec +++ b/anda/desktops/stardust/protostar/nightly/stardust-protostar-nightly.spec @@ -1,5 +1,5 @@ -%global commit 4f2f5b032280ea391bf5e7af9b13ab5e0eb21340 -%global commit_date 20260425 +%global commit 75fb2822c9a025acf373541998d603cbbf6536f1 +%global commit_date 20260617 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ diff --git a/anda/desktops/sway/swayosd/swayosd.spec b/anda/desktops/sway/swayosd/swayosd.spec index 76cf36b4b1..f2bd57d0f7 100644 --- a/anda/desktops/sway/swayosd/swayosd.spec +++ b/anda/desktops/sway/swayosd/swayosd.spec @@ -1,5 +1,5 @@ Name: SwayOSD -Version: 0.3.1 +Version: 0.3.2 Release: 1%{?dist} Summary: A GTK based on screen display for keyboard shortcuts like caps-lock and volume License: GPL-3.0-only diff --git a/anda/desktops/waylands/mangobar/mangobar.spec b/anda/desktops/waylands/mangobar/mangobar.spec index 00f93fbfce..ca6c69d62a 100644 --- a/anda/desktops/waylands/mangobar/mangobar.spec +++ b/anda/desktops/waylands/mangobar/mangobar.spec @@ -1,5 +1,5 @@ -%global commit e5e8e35953c03e07e163a4967feda7af6aba7803 -%global commit_date 20260509 +%global commit c0138d9067d6a779c753aa7da72ce85d44f528da +%global commit_date 20260527 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: mangobar diff --git a/anda/desktops/waylands/matugen/rust-matugen.spec b/anda/desktops/waylands/matugen/rust-matugen.spec index b5221cff5c..7f08476a90 100644 --- a/anda/desktops/waylands/matugen/rust-matugen.spec +++ b/anda/desktops/waylands/matugen/rust-matugen.spec @@ -8,7 +8,7 @@ Summary: Material you color generation tool with templates License: GPL-2.0-or-later URL: https://crates.io/crates/matugen -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://raw.githubusercontent.com/InioX/matugen/refs/tags/v%version/README.md Source2: https://raw.githubusercontent.com/InioX/matugen/refs/tags/v%version/CHANGELOG.md Source3: https://raw.githubusercontent.com/InioX/matugen/refs/tags/v%version/LICENSE diff --git a/anda/desktops/waylands/niri-taskbar/rust-niri-taskbar.spec b/anda/desktops/waylands/niri-taskbar/rust-niri-taskbar.spec index a2e53fc3f3..171834fe65 100644 --- a/anda/desktops/waylands/niri-taskbar/rust-niri-taskbar.spec +++ b/anda/desktops/waylands/niri-taskbar/rust-niri-taskbar.spec @@ -11,7 +11,7 @@ Summary: Niri taskbar module for Waybar License: MIT URL: https://crates.io/crates/niri-taskbar -Source: %{crates_source %{crate} %{crate_version}} +Source: https://static.crates.io/crates/%{crate}/%{crate}-%{crate_version}.crate # Automatically generated patch to strip dependencies and normalize metadata Patch: niri-taskbar-fix-metadata-auto.diff diff --git a/anda/desktops/waylands/vibepanel/vibepanel.spec b/anda/desktops/waylands/vibepanel/vibepanel.spec index 6c38da44a5..6b11bf2b65 100644 --- a/anda/desktops/waylands/vibepanel/vibepanel.spec +++ b/anda/desktops/waylands/vibepanel/vibepanel.spec @@ -1,6 +1,6 @@ Name: vibepanel -Version: 0.14.1 -Release: 2%{?dist} +Version: 0.15.0 +Release: 1%{?dist} Summary: GTK4 panel for Wayland with notifications, OSD, and quick settings – between a status bar and a desktop shell URL: https://github.com/prankstr/vibepanel Source0: %{url}/archive/refs/tags/v%{version}.tar.gz diff --git a/anda/desktops/waylands/wpaperd/wpaperd.spec b/anda/desktops/waylands/wpaperd/wpaperd.spec index 88e02a43a1..c3f1075cb6 100644 --- a/anda/desktops/waylands/wpaperd/wpaperd.spec +++ b/anda/desktops/waylands/wpaperd/wpaperd.spec @@ -1,8 +1,8 @@ %bcond check 0 Name: wpaperd -Version: 1.2.2 -Release: 2%?dist +Version: 1.3.0 +Release: 1%{?dist} Summary: Modern wallpaper daemon for Wayland License: (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR Artistic-2.0) AND GPL-3.0+ AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) SourceLicense: GPL-3.0-or-later diff --git a/anda/devs/android-studio/canary/android-studio-canary.spec b/anda/devs/android-studio/canary/android-studio-canary.spec index 33a8c50a77..1b48ece1eb 100644 --- a/anda/devs/android-studio/canary/android-studio-canary.spec +++ b/anda/devs/android-studio/canary/android-studio-canary.spec @@ -16,7 +16,7 @@ %global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$ Name: android-studio-canary -Version: 2026.1.2.2 +Version: 2026.1.3.1 Release: 1%{?dist} Summary: Official IDE for Android development (Canary build) License: Apache-2.0 @@ -24,7 +24,7 @@ Packager: veuxit ExclusiveArch: x86_64 URL: https://developer.android.com/studio/preview -%define suffixS quail2-canary2 +%define suffixS quail3-canary1 Source0: https://dl.google.com/dl/android/studio/ide-zips/%{version}/android-studio-%{suffixS}-linux.tar.gz diff --git a/anda/devs/android-studio/stable/android-studio.spec b/anda/devs/android-studio/stable/android-studio.spec index bff2ed2638..3f5ad6e516 100644 --- a/anda/devs/android-studio/stable/android-studio.spec +++ b/anda/devs/android-studio/stable/android-studio.spec @@ -16,7 +16,7 @@ %global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$ Name: android-studio -Version: 2025.3.4.7 +Version: 2026.1.1.10 Release: 1%{?dist} Summary: Official IDE for Android development License: Apache-2.0 @@ -24,7 +24,7 @@ Packager: veuxit , like-engels BuildRequires: anda-srpm-macros cargo-rpm-macros mold diff --git a/anda/devs/backport/nodejs-backport.spec b/anda/devs/backport/nodejs-backport.spec index 03e66f6320..d9835f2667 100644 --- a/anda/devs/backport/nodejs-backport.spec +++ b/anda/devs/backport/nodejs-backport.spec @@ -3,8 +3,8 @@ %bcond test 0 Name: nodejs-%{npm_name} -Version: 12.0.0 -Release: 2%{?dist} +Version: 12.0.4 +Release: 1%{?dist} Summary: Backport GitHub commits SourceLicense: Apache-2.0 License: MIT AND ISC AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause diff --git a/anda/devs/create-tauri-app/create-tauri-app.spec b/anda/devs/create-tauri-app/create-tauri-app.spec index b50b73344d..009d2ac8cc 100644 --- a/anda/devs/create-tauri-app/create-tauri-app.spec +++ b/anda/devs/create-tauri-app/create-tauri-app.spec @@ -1,12 +1,12 @@ %global crate create-tauri-app Name: rust-create-tauri-app -Version: 4.7.0 -Release: 2%?dist +Version: 4.7.3 +Release: 1%{?dist} Summary: Rapidly scaffold out a new tauri app project License: Apache-2.0 OR MIT URL: https://crates.io/crates/create-tauri-app -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: anda-srpm-macros BuildRequires: cargo-rpm-macros BuildRequires: mold diff --git a/anda/devs/deno/rust-deno.spec b/anda/devs/deno/rust-deno.spec index 2ac0167805..c18f9938ed 100644 --- a/anda/devs/deno/rust-deno.spec +++ b/anda/devs/deno/rust-deno.spec @@ -6,13 +6,13 @@ %global crate deno Name: rust-deno -Version: 2.8.0 +Version: 2.8.3 Release: 1%{?dist} Summary: Deno executable License: MIT URL: https://crates.io/crates/deno -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://raw.githubusercontent.com/denoland/deno/refs/tags/v%version/LICENSE.md Source2: gcc-wrapper.sh Source3: land.deno.deno.metainfo.xml diff --git a/anda/devs/edit/edit.spec b/anda/devs/edit/edit.spec index 5125c59d42..91a8538e1b 100644 --- a/anda/devs/edit/edit.spec +++ b/anda/devs/edit/edit.spec @@ -37,7 +37,9 @@ Packager: Gilver E. %install %crate_install_bin -%{cargo_license_online} > LICENSE.dependencies +pushd crates/edit +%{cargo_license_online} > ../../LICENSE.dependencies +popd install -Dm644 assets/edit.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{appid}.svg sed -i "s|^Icon=edit$|Icon=%{appid}|g" assets/%{appid}.desktop diff --git a/anda/devs/flutter/flutter.spec b/anda/devs/flutter/flutter.spec index 05ad53cf29..1a9cd555dc 100644 --- a/anda/devs/flutter/flutter.spec +++ b/anda/devs/flutter/flutter.spec @@ -1,5 +1,5 @@ Name: flutter -Version: 3.44.0 +Version: 3.44.3 Release: 1%{?dist} Summary: SDK for crafting beautiful, fast user experiences from a single codebase License: BSD-3-Clause diff --git a/anda/devs/ghostty/nightly/ghostty-nightly.spec b/anda/devs/ghostty/nightly/ghostty-nightly.spec index de6be6302d..bafe68310e 100644 --- a/anda/devs/ghostty/nightly/ghostty-nightly.spec +++ b/anda/devs/ghostty/nightly/ghostty-nightly.spec @@ -1,6 +1,6 @@ -%global commit b869a6e5ab0a50ce01e8eb5aa408a02b3cbe4f3a +%global commit 65744ffe358d883ae74aa67389dcbfa35f91a551 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global fulldate 2026-05-25 +%global fulldate 2026-06-20 %global commit_date %(echo %{fulldate} | sed 's/-//g') %global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV %global ver 1.3.2 diff --git a/anda/devs/git-biance/git-biance.spec b/anda/devs/git-biance/git-biance.spec index 3188598f56..b13553f2d4 100644 --- a/anda/devs/git-biance/git-biance.spec +++ b/anda/devs/git-biance/git-biance.spec @@ -7,7 +7,7 @@ Summary: Visualize code contributions in a GitHub-style graph. License: GPL-3.0 URL: https://crates.io/crates/git-biance -Source: %{crates_source} +Source: %{terra_crates_source} Packager: xiaoshihou BuildRequires: anda-srpm-macros cargo-rpm-macros mold diff --git a/anda/devs/kvrocks/kvrocks.spec b/anda/devs/kvrocks/kvrocks.spec index eac6b8437d..594e6a14e8 100644 --- a/anda/devs/kvrocks/kvrocks.spec +++ b/anda/devs/kvrocks/kvrocks.spec @@ -1,6 +1,6 @@ Name: kvrocks -Version: 2.15.0 -Release: 1%?dist +Version: 2.16.0 +Release: 1%{?dist} Summary: Distributed key value NoSQL database that uses RocksDB License: Apache-2.0 URL: https://kvrocks.apache.org/ diff --git a/anda/devs/linsh/anda.hcl b/anda/devs/linsh/anda.hcl new file mode 100644 index 0000000000..968deb06ee --- /dev/null +++ b/anda/devs/linsh/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "linsh.spec" + } +} diff --git a/anda/devs/linsh/linsh.spec b/anda/devs/linsh/linsh.spec new file mode 100644 index 0000000000..57a653e4fa --- /dev/null +++ b/anda/devs/linsh/linsh.spec @@ -0,0 +1,32 @@ +Name: linsh +Version: 0.02 +Release: 1%{?dist} +Summary: Linux shell +License: GPL-2.0-or-later +URL: https://github.com/maxskiier/linsh +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +Packager: Owen Zimmerman + +BuildRequires: make +BuildRequires: gcc + +%description +%{summary}. + +%prep +%autosetup + +%build +%make_build CC="%__cc %build_cflags %build_ldflags" + +%install +install -Dm755 linsh %{buildroot}%{_bindir}/linsh + +%files +%license LICENSE +%doc README.txt +%{_bindir}/linsh + +%changelog +* Mon Jun 15 2026 Owen Zimmerman - 0.02-1 +- Initial package diff --git a/anda/devs/linsh/update.rhai b/anda/devs/linsh/update.rhai new file mode 100644 index 0000000000..49e50898a5 --- /dev/null +++ b/anda/devs/linsh/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("maxskiier/linsh")); diff --git a/anda/devs/lowfi/rust-lowfi.spec b/anda/devs/lowfi/rust-lowfi.spec index 994e1c3922..d79c03af8f 100644 --- a/anda/devs/lowfi/rust-lowfi.spec +++ b/anda/devs/lowfi/rust-lowfi.spec @@ -2,13 +2,13 @@ %global crate lowfi Name: rust-lowfi -Version: 2.0.6 +Version: 2.0.7 Release: 1%{?dist} Summary: Extremely simple lofi player License: MIT URL: https://crates.io/crates/lowfi -Source: %{crates_source} +Source: %{terra_crates_source} Packager: sadlerm diff --git a/anda/devs/micro/micro-nightly.spec b/anda/devs/micro/micro-nightly.spec index 86ef60b850..472e6326bf 100644 --- a/anda/devs/micro/micro-nightly.spec +++ b/anda/devs/micro/micro-nightly.spec @@ -12,8 +12,8 @@ # Naming variable as something other than "commit" is necessary # to stop %%gometa from putting commit hash in release -%global commit_hash 85a3d79f97bda50a1a6121a9f20ff6482aa952a9 -%global commit_date 20260520 +%global commit_hash 363cd2bb4020c7b422260e40a11b1effcfbe462d +%global commit_date 20260612 %global shortcommit %{sub %{commit_hash} 1 7} %global ver 2.0.15 diff --git a/anda/devs/neovide/neovide.spec b/anda/devs/neovide/neovide.spec index 3bb5eb17cc..2fb2ba3601 100644 --- a/anda/devs/neovide/neovide.spec +++ b/anda/devs/neovide/neovide.spec @@ -8,7 +8,7 @@ Summary: No Nonsense Neovim Client in Rust License: MIT URL: https://crates.io/crates/neovide -Source0: %{crates_source} +Source0: %{terra_crates_source} Source1: %{raw_forgeurl}/%{version}/assets/%{crate}-16x16.png Source2: %{raw_forgeurl}/%{version}/assets/%{crate}-32x32.png Source3: %{raw_forgeurl}/%{version}/assets/%{crate}-48x48.png diff --git a/anda/devs/powershell/powershell.spec b/anda/devs/powershell/powershell.spec index 8d5139dae9..2dfcebc283 100644 --- a/anda/devs/powershell/powershell.spec +++ b/anda/devs/powershell/powershell.spec @@ -18,7 +18,7 @@ %bcond test 1 Name: powershell -Version: 7.6.2 +Version: 7.6.3 Release: 1%{?dist} Summary: A cross-platform automation and configuration tool/framework SourceLicense: MIT diff --git a/anda/devs/rio/rio.spec b/anda/devs/rio/rio.spec index 7cb8ae2d03..b8bd24f2d2 100644 --- a/anda/devs/rio/rio.spec +++ b/anda/devs/rio/rio.spec @@ -4,7 +4,7 @@ A hardware-accelerated terminal emulator focusing to run in desktops and browsers.} Name: rio -Version: 0.4.5 +Version: 0.4.7 Release: 1%{?dist} Summary: A hardware-accelerated terminal written in Rust. SourceLicense: MIT diff --git a/anda/devs/turbowarp/turbowarp.spec b/anda/devs/turbowarp/turbowarp.spec index 32785e8222..1d93897d70 100644 --- a/anda/devs/turbowarp/turbowarp.spec +++ b/anda/devs/turbowarp/turbowarp.spec @@ -94,6 +94,7 @@ Packager: junefish %build %npm_build -c -B -r fetch,webpack:prod +echo "Electron Builder" > %{rpmbuilddir}/webapp-tool.txt %install %electron_install -i %appid -I build/ diff --git a/anda/devs/yarn-berry/yarnpkg-berry.spec b/anda/devs/yarn-berry/yarnpkg-berry.spec index d5762c6329..ef403dc812 100644 --- a/anda/devs/yarn-berry/yarnpkg-berry.spec +++ b/anda/devs/yarn-berry/yarnpkg-berry.spec @@ -1,8 +1,8 @@ %bcond bootstrap 0 Name: yarnpkg-berry -Version: 4.15.0 -Release: 2%{?dist} +Version: 4.17.0 +Release: 1%{?dist} Summary: Active development version of Yarn License: BSD-2-Clause URL: https://yarnpkg.com diff --git a/anda/devs/zed/nightly/zed-nightly.spec b/anda/devs/zed/nightly/zed-nightly.spec index c5cd1ce262..11669973c6 100644 --- a/anda/devs/zed/nightly/zed-nightly.spec +++ b/anda/devs/zed/nightly/zed-nightly.spec @@ -1,7 +1,7 @@ -%global commit 13e7c1176804c790ec2971d2e592e5363c982d04 +%global commit c49a29f46179525358eb74dbce67fddb2aafa1f0 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260525 -%global ver 1.5.0 +%global commit_date 20260624 +%global ver 1.9.0 %bcond_with check %bcond_with debug_no_build @@ -25,8 +25,8 @@ Name: zed-nightly Version: %ver^%commit_date.%shortcommit Release: 1%{?dist} Summary: Zed is a high-performance, multiplayer code editor -SourceLicense: AGPL-3.0-only AND Apache-2.0 AND GPL-3.0-or-later -License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND AGPL.3.0-only AND AGPL-3.0-or-later AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CC0-1.0 AND GPL-3.0-or-later AND (ISC AND (Apache-2.0 OR ISC) AND OpenSSL) AND (ISC AND (Apache-2.0 OR ISC)) AND ISC AND (MIT AND (MIT OR Apache-2.0)) AND (MIT AND BSD-3-Clause) AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib +SourceLicense: Apache-2.0 AND GPL-3.0-or-later +License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND NCSA) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR GPL-2.0-only) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT/BSL-1.0/CC0-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CC0-1.0 AND GPL-3.0-or-later AND (ISC AND (Apache-2.0 OR ISC) AND OpenSSL) AND (ISC AND (Apache-2.0 OR ISC)) AND ISC AND (MIT AND (MIT OR Apache-2.0)) AND (MIT AND BSD-3-Clause) AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib URL: https://zed.dev/ Source0: https://github.com/zed-industries/zed/archive/%{commit}.tar.gz Source1: override.xml @@ -51,9 +51,6 @@ BuildRequires: fontconfig-devel BuildRequires: wayland-devel BuildRequires: libxkbcommon-x11-devel BuildRequires: openssl-devel -%if 0%{?fedora} -BuildRequires: openssl-devel-engine -%endif BuildRequires: libzstd-devel BuildRequires: perl-FindBin BuildRequires: perl-IPC-Cmd @@ -175,7 +172,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%appid.desktop %files %doc CODE_OF_CONDUCT.md %doc README.md -%license LICENSE-AGPL %license LICENSE-APACHE %license LICENSE-GPL %if %{without debug_no_build} diff --git a/anda/devs/zed/preview/zed-preview.spec b/anda/devs/zed/preview/zed-preview.spec index 205bacc7d6..1d5c52b465 100644 --- a/anda/devs/zed/preview/zed-preview.spec +++ b/anda/devs/zed/preview/zed-preview.spec @@ -7,7 +7,7 @@ %global debug_package %{nil} %endif -%global ver 1.4.1-pre +%global ver 1.8.2-pre # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ @@ -21,9 +21,8 @@ Name: zed-preview Version: %(echo %ver | sed 's/-/~/') Release: 1%{?dist} Summary: Zed is a high-performance, multiplayer code editor -SourceLicense: AGPL-3.0-only AND Apache-2.0 AND GPL-3.0-or-later -License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND AGPL.3.0-only AND AGPL-3.0-or-later AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CC0-1.0 AND GPL-3.0-or-later AND (ISC AND (Apache-2.0 OR ISC) AND OpenSSL) AND (ISC AND (Apache-2.0 OR ISC)) AND ISC AND (MIT AND (MIT OR Apache-2.0)) AND (MIT AND BSD-3-Clause) AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib -URL: https://zed.dev/ +SourceLicense: Apache-2.0 AND GPL-3.0-or-later +License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND NCSA) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR GPL-2.0-only) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT/BSL-1.0/CC0-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR MIT OR Apache-2.0) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CC0-1.0 AND GPL-3.0-or-later AND (ISC AND (Apache-2.0 OR ISC) AND OpenSSL) AND (ISC AND (Apache-2.0 OR ISC)) AND ISC AND (MIT AND (MIT OR Apache-2.0)) AND (MIT AND BSD-3-Clause) AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND ZlibURL: https://zed.dev/ Source0: https://github.com/zed-industries/zed/archive/refs/tags/v%{ver}.tar.gz Source1: override.xml @@ -166,7 +165,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%appid.desktop %files %doc CODE_OF_CONDUCT.md %doc README.md -%license LICENSE-AGPL %license LICENSE-APACHE %license LICENSE-GPL %if %{without debug_no_build} diff --git a/anda/devs/zed/stable/zed.spec b/anda/devs/zed/stable/zed.spec index 5f68894623..79a5de7d43 100644 --- a/anda/devs/zed/stable/zed.spec +++ b/anda/devs/zed/stable/zed.spec @@ -17,7 +17,7 @@ %global rustflags_debuginfo 0 Name: zed -Version: 1.3.6 +Version: 1.7.2 Release: 1%{?dist} Summary: Zed is a high-performance, multiplayer code editor SourceLicense: AGPL-3.0-only AND Apache-2.0 AND GPL-3.0-or-later diff --git a/anda/fonts/adobe-source-han-sans/adobe-source-han-sans-fonts.spec b/anda/fonts/adobe-source-han-sans/adobe-source-han-sans-fonts.spec new file mode 100644 index 0000000000..4e6f51f4c9 --- /dev/null +++ b/anda/fonts/adobe-source-han-sans/adobe-source-han-sans-fonts.spec @@ -0,0 +1,149 @@ +%define debug_package %nil +%global ver 2.005R + +Name: adobe-source-han-sans-fonts +Version: %(echo %ver | sed -E 's/R$//') +Release: 1%?dist +Summary: Source Han Sans | 思源黑体 | 思源黑體 | 思源黑體 香港 | 源ノ角ゴシック | 본고딕 +License: OFL-1.1 +URL: https://github.com/adobe-fonts/source-han-sans +Source0: %url/releases/download/%ver/03_SourceHanSansOTC.zip +Source1: %url/releases/download/%ver/02_SourceHanSans-VF.zip +Packager: madonuko +BuildArch: noarch +BuildRequires: unzip + +%description +Source Han Sans is a set of OpenType Pan-CJK fonts. + +This package ships the Static OTC versions. + +%files +%license LICENSE.txt +%_datadir/fonts/%name/ + + +%dnl DO NOT CHANGE THIS TO `%global`, I REPEAT, DO NOT USE `%global`, OTHERWISE MACROS LIKE `%{-h}` DO NOT EXPAND. +%dnl Parameterized macros cannot be defined using `%global`. Guess I'm today years old. — mado +%dnl ╭── %define fpkg(vhs) +%define fpkg(vhs) \ +%package -n adobe-source-han-sans-%{-h:hw-}%{-v:vf-}%{-s:subset-}%1-fonts \ +Summary: %name: %{-h:half-width }%{-v:variable }%{-s:subset }%{upper:%1} font files \ + \ +%description -n adobe-source-han-sans-%{-h:hw-}%{-v:vf-}%{-s:subset-}%1-fonts \ +This package provides a specific font type of %name. \ +%{-v:VF: variable font: Variable font weights are supported. \ +}%{-h:HW: half-width: some proportional punctuations are turned into half-width. \ +The list can be seen here, at page 19~20, section "Proportional & Half-Width CJK Punctuation": \ +https://github.com/adobe-fonts/source-han-sans/blob/release/SourceHanSansReadMe.pdf \ +}%{-s:Subset: The fonts are split into regional-specific subset fonts. \ +} \ + \ +%files -n adobe-source-han-sans-%{-h:hw-}%{-v:vf-}%{-s:subset-}%1-fonts \ +%license LICENSE.txt +%dnl ╰── %define fpkg(vhs) + +%fpkg -v otc +%_datadir/fonts/%name/SourceHanSans-VF.*.ttc + +%fpkg -vh otc +%_datadir/fonts/%name/SourceHanSansHW-VF.*.ttc + +%fpkg -v otf +%_datadir/fonts/%name/SourceHanSans-VF.otf +%_datadir/fonts/%name/SourceHanSansHC-VF.otf +%_datadir/fonts/%name/SourceHanSansK-VF.otf +%_datadir/fonts/%name/SourceHanSansSC-VF.otf +%_datadir/fonts/%name/SourceHanSansTC-VF.otf + +%fpkg -vh otf +%_datadir/fonts/%name/SourceHanSansHW-VF.otf +%_datadir/fonts/%name/SourceHanSansHWHC-VF.otf +%_datadir/fonts/%name/SourceHanSansHWK-VF.otf +%_datadir/fonts/%name/SourceHanSansHWSC-VF.otf +%_datadir/fonts/%name/SourceHanSansHWTC-VF.otf + +%fpkg -vs otf +%_datadir/fonts/%name/SourceHanSansCN-VF.otf +%_datadir/fonts/%name/SourceHanSansHK-VF.otf +%_datadir/fonts/%name/SourceHanSansJP-VF.otf +%_datadir/fonts/%name/SourceHanSansKR-VF.otf +%_datadir/fonts/%name/SourceHanSansTW-VF.otf + +%fpkg -v ttf +%_datadir/fonts/%name/SourceHanSans-VF.ttf +%_datadir/fonts/%name/SourceHanSansHC-VF.ttf +%_datadir/fonts/%name/SourceHanSansK-VF.ttf +%_datadir/fonts/%name/SourceHanSansSC-VF.ttf +%_datadir/fonts/%name/SourceHanSansTC-VF.ttf + +%fpkg -vh ttf +%_datadir/fonts/%name/SourceHanSansHW-VF.ttf +%_datadir/fonts/%name/SourceHanSansHWHC-VF.ttf +%_datadir/fonts/%name/SourceHanSansHWK-VF.ttf +%_datadir/fonts/%name/SourceHanSansHWSC-VF.ttf +%_datadir/fonts/%name/SourceHanSansHWTC-VF.ttf + +%fpkg -vs ttf +%_datadir/fonts/%name/SourceHanSansCN-VF.ttf +%_datadir/fonts/%name/SourceHanSansHK-VF.ttf +%_datadir/fonts/%name/SourceHanSansJP-VF.ttf +%_datadir/fonts/%name/SourceHanSansKR-VF.ttf +%_datadir/fonts/%name/SourceHanSansTW-VF.ttf + +%fpkg -v otf-woff2 +%_datadir/fonts/%name/SourceHanSans-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansHC-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansK-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansSC-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansTC-VF.otf.woff2 + +%fpkg -vh otf-woff2 +%_datadir/fonts/%name/SourceHanSansHW-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansHWHC-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansHWK-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansHWSC-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansHWTC-VF.otf.woff2 + +%fpkg -vs otf-woff2 +%_datadir/fonts/%name/SourceHanSansCN-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansHK-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansJP-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansKR-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSansTW-VF.otf.woff2 + +%fpkg -v ttf-woff2 +%_datadir/fonts/%name/SourceHanSans-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansHC-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansK-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansSC-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansTC-VF.ttf.woff2 + +%fpkg -vh ttf-woff2 +%_datadir/fonts/%name/SourceHanSansHW-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansHWHC-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansHWK-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansHWSC-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansHWTC-VF.ttf.woff2 + +%fpkg -vs ttf-woff2 +%_datadir/fonts/%name/SourceHanSansCN-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansHK-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansJP-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansKR-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSansTW-VF.ttf.woff2 + + +%prep +unzip %{S:0} +yes | unzip %{S:1} + +%build + +%install +install -Dpm644 OTC/SourceHanSans-*.ttc -t %buildroot%_datadir/fonts/%name +install -Dpm644 Variable/OTC/*.* -t %buildroot%_datadir/fonts/%name +install -Dpm644 Variable/{,WOFF2/}{OTF,TTF}/{,HW/,Subset/}*.* -t %buildroot%_datadir/fonts/%name +%changelog +* Sat Jun 20 2026 madonuko - 2.005-1 +- Initial package. diff --git a/anda/fonts/adobe-source-han-sans/anda.hcl b/anda/fonts/adobe-source-han-sans/anda.hcl new file mode 100644 index 0000000000..23dbc01bd2 --- /dev/null +++ b/anda/fonts/adobe-source-han-sans/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "adobe-source-han-sans-fonts.spec" + } + labels { + weekly = 6 + } +} diff --git a/anda/fonts/adobe-source-han-sans/update.rhai b/anda/fonts/adobe-source-han-sans/update.rhai new file mode 100644 index 0000000000..fe37fab1a5 --- /dev/null +++ b/anda/fonts/adobe-source-han-sans/update.rhai @@ -0,0 +1 @@ +rpm.global("ver", gh("adobe-fonts/source-han-sans")); diff --git a/anda/fonts/adobe-source-han-serif/adobe-source-han-serif-fonts.spec b/anda/fonts/adobe-source-han-serif/adobe-source-han-serif-fonts.spec new file mode 100644 index 0000000000..011abcf25d --- /dev/null +++ b/anda/fonts/adobe-source-han-serif/adobe-source-han-serif-fonts.spec @@ -0,0 +1,119 @@ +%define debug_package %nil +%global ver 2.003R + +Name: adobe-source-han-serif-fonts +Version: %(echo %ver | sed -E 's/R$//') +Release: 1%?dist +Summary: Source Han Serif | 思源宋体 | 思源宋體 | 思源宋體 香港 | 源ノ明朝 | 본명조 +License: OFL-1.1 +URL: https://github.com/adobe-fonts/source-han-serif +Source0: %url/releases/download/%ver/03_SourceHanSerifOTC.zip +Source1: %url/releases/download/%ver/02_SourceHanSerif-VF.zip +Packager: madonuko +BuildArch: noarch +BuildRequires: unzip + +%description +Source Han Serif is a set of OpenType Pan-CJK fonts. + +This package ships the Static OTC versions. + +%files +%license LICENSE.txt +%_datadir/fonts/%name/ + + +%dnl DO NOT CHANGE THIS TO `%global`, I REPEAT, DO NOT USE `%global`, OTHERWISE MACROS LIKE `%{-h}` DO NOT EXPAND. +%dnl Parameterized macros cannot be defined using `%global`. Guess I'm today years old. — mado +%dnl ╭── %define fpkg(vhs) +%define fpkg(vhs) \ +%package -n adobe-source-han-serif-%{-h:hw-}%{-v:vf-}%{-s:subset-}%1-fonts \ +Summary: %name: %{-h:half-width }%{-v:variable }%{-s:subset }%{upper:%1} font files \ + \ +%description -n adobe-source-han-serif-%{-h:hw-}%{-v:vf-}%{-s:subset-}%1-fonts \ +This package provides a specific font type of %name. \ +%{-v:VF: variable font: Variable font weights are supported. \ +}%{-h:HW: half-width: some proportional punctuations are turned into half-width. \ +The list can be seen here, at page 19~20, section "Proportional & Half-Width CJK Punctuation": \ +https://github.com/adobe-fonts/source-han-sans/blob/release/SourceHanSansReadMe.pdf \ +}%{-s:Subset: The fonts are split into regional-specific subset fonts. \ +} \ + \ +%files -n adobe-source-han-serif-%{-h:hw-}%{-v:vf-}%{-s:subset-}%1-fonts \ +%license LICENSE.txt +%dnl ╰── %define fpkg(vhs) + +%fpkg -v otc +%_datadir/fonts/%name/SourceHanSerif-VF.*.ttc + +%fpkg -v otf +%_datadir/fonts/%name/SourceHanSerif-VF.otf +%_datadir/fonts/%name/SourceHanSerifHC-VF.otf +%_datadir/fonts/%name/SourceHanSerifK-VF.otf +%_datadir/fonts/%name/SourceHanSerifSC-VF.otf +%_datadir/fonts/%name/SourceHanSerifTC-VF.otf + +%fpkg -vs otf +%_datadir/fonts/%name/SourceHanSerifCN-VF.otf +%_datadir/fonts/%name/SourceHanSerifHK-VF.otf +%_datadir/fonts/%name/SourceHanSerifJP-VF.otf +%_datadir/fonts/%name/SourceHanSerifKR-VF.otf +%_datadir/fonts/%name/SourceHanSerifTW-VF.otf + +%fpkg -v ttf +%_datadir/fonts/%name/SourceHanSerif-VF.ttf +%_datadir/fonts/%name/SourceHanSerifHC-VF.ttf +%_datadir/fonts/%name/SourceHanSerifK-VF.ttf +%_datadir/fonts/%name/SourceHanSerifSC-VF.ttf +%_datadir/fonts/%name/SourceHanSerifTC-VF.ttf + +%fpkg -vs ttf +%_datadir/fonts/%name/SourceHanSerifCN-VF.ttf +%_datadir/fonts/%name/SourceHanSerifHK-VF.ttf +%_datadir/fonts/%name/SourceHanSerifJP-VF.ttf +%_datadir/fonts/%name/SourceHanSerifKR-VF.ttf +%_datadir/fonts/%name/SourceHanSerifTW-VF.ttf + +%fpkg -v otf-woff2 +%_datadir/fonts/%name/SourceHanSerif-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifHC-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifK-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifSC-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifTC-VF.otf.woff2 + +%fpkg -vs otf-woff2 +%_datadir/fonts/%name/SourceHanSerifCN-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifHK-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifJP-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifKR-VF.otf.woff2 +%_datadir/fonts/%name/SourceHanSerifTW-VF.otf.woff2 + +%fpkg -v ttf-woff2 +%_datadir/fonts/%name/SourceHanSerif-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifHC-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifK-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifSC-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifTC-VF.ttf.woff2 + +%fpkg -vs ttf-woff2 +%_datadir/fonts/%name/SourceHanSerifCN-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifHK-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifJP-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifKR-VF.ttf.woff2 +%_datadir/fonts/%name/SourceHanSerifTW-VF.ttf.woff2 + + +%prep +unzip %{S:0} +yes | unzip %{S:1} + +%build + +%install +install -Dpm644 OTC/SourceHanSerif-*.ttc -t %buildroot%_datadir/fonts/%name +install -Dpm644 Variable/OTC/*.* -t %buildroot%_datadir/fonts/%name +install -Dpm644 Variable/{,WOFF2/}{OTF,TTF}/{,Subset/}*.* -t %buildroot%_datadir/fonts/%name + +%changelog +* Sat Jun 20 2026 madonuko - 2.005R-1 +- Initial package. diff --git a/anda/fonts/adobe-source-han-serif/anda.hcl b/anda/fonts/adobe-source-han-serif/anda.hcl new file mode 100644 index 0000000000..e20b9157cb --- /dev/null +++ b/anda/fonts/adobe-source-han-serif/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "adobe-source-han-serif-fonts.spec" + } + labels { + weekly = 6 + } +} diff --git a/anda/fonts/adobe-source-han-serif/update.rhai b/anda/fonts/adobe-source-han-serif/update.rhai new file mode 100644 index 0000000000..c313573e4d --- /dev/null +++ b/anda/fonts/adobe-source-han-serif/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("adobe-fonts/source-han-serif")); diff --git a/anda/fonts/geist/geist.spec b/anda/fonts/geist/geist.spec index ae09be89c8..ccf2e92a35 100644 --- a/anda/fonts/geist/geist.spec +++ b/anda/fonts/geist/geist.spec @@ -1,4 +1,4 @@ -%global ver v1.7.1 +%global ver v1.7.2 Name: geist-font Version: %(echo %ver | sed 's/^geist@//') diff --git a/anda/fonts/iosevka/iosevka-fonts.spec b/anda/fonts/iosevka/iosevka-fonts.spec index a4eeb979ed..6d088534d2 100644 --- a/anda/fonts/iosevka/iosevka-fonts.spec +++ b/anda/fonts/iosevka/iosevka-fonts.spec @@ -52,7 +52,7 @@ %global fontdescription %{expand: Versatile typeface for code, from code.} -Version: 34.6.1 +Version: 34.6.3 Release: 1%{?dist} Packager: Cappy Ishihara Summary: Versatile typeface for code, from code. diff --git a/anda/games/2048-rs/rust-game-2048.spec b/anda/games/2048-rs/rust-game-2048.spec index a3541a63f5..8144771b50 100644 --- a/anda/games/2048-rs/rust-game-2048.spec +++ b/anda/games/2048-rs/rust-game-2048.spec @@ -10,7 +10,7 @@ Summary: Cli implementation of the popular 2048 game writen in rust License: MIT URL: https://crates.io/crates/game-2048 -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: anda-srpm-macros rust-packaging >= 21 diff --git a/anda/games/chess-tui/rust-chess-tui.spec b/anda/games/chess-tui/rust-chess-tui.spec index 2046adf809..9689b17e99 100644 --- a/anda/games/chess-tui/rust-chess-tui.spec +++ b/anda/games/chess-tui/rust-chess-tui.spec @@ -10,7 +10,7 @@ Summary: Rusty chess game in your terminal 🦀 License: MIT URL: https://crates.io/crates/chess-tui -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: cargo-rpm-macros >= 24 BuildRequires: pkgconfig(openssl) diff --git a/anda/games/gmodpatchtool/gmodpatchtool.spec b/anda/games/gmodpatchtool/gmodpatchtool.spec index 95344b2db8..7597eb1221 100644 --- a/anda/games/gmodpatchtool/gmodpatchtool.spec +++ b/anda/games/gmodpatchtool/gmodpatchtool.spec @@ -11,7 +11,7 @@ Automatically patches Garry's Mod's internal Chromium Embedded Framework to: %undefine __brp_mangle_shebangs Name: gmodpatchtool -Version: 20251102 +Version: 20260623 Release: 1%{?dist} SourceLicense: GPL-3.0-only License: ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR GPL-2.0-only) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND BSL-1.0 AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND GPL-3.0-only AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR CC0-1.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) AND bzip2-1.0.6 diff --git a/anda/games/inputplumber/inputplumber.spec b/anda/games/inputplumber/inputplumber.spec index 51dc8af1ee..4385f0ae3f 100644 --- a/anda/games/inputplumber/inputplumber.spec +++ b/anda/games/inputplumber/inputplumber.spec @@ -1,7 +1,7 @@ %global __brp_mangle_shebangs %{nil} Name: inputplumber -Version: 0.77.2 +Version: 0.77.7 Release: 1%{?dist} Summary: Open source input router and remapper daemon for Linux License: GPL-3.0-or-later @@ -52,6 +52,7 @@ keyboards) and translate their input to a variety of virtual device formats. %_datadir/dbus-1/system.d/org.shadowblip.InputPlumber.conf %_datadir/inputplumber/ %{_udevrulesdir}/99-inputplumber-device-setup.rules +%{_udevrulesdir}/50-8bitdo-u2-controller.rules %{_datadir}/polkit-1/actions/org.shadowblip.InputPlumber.policy %{_datadir}/polkit-1/rules.d/org.shadowblip.InputPlumber.rules diff --git a/anda/games/launcher.moe/anime-game-launcher/anime-game-launcher.spec b/anda/games/launcher.moe/anime-game-launcher/anime-game-launcher.spec index 07377d3e58..e88f75d9e5 100644 --- a/anda/games/launcher.moe/anime-game-launcher/anime-game-launcher.spec +++ b/anda/games/launcher.moe/anime-game-launcher/anime-game-launcher.spec @@ -2,7 +2,7 @@ %global crate anime-game-launcher %global appid moe.launcher.an-anime-game-launcher Name: %{crate} -Version: 3.19.5 +Version: 3.19.6 Release: 1%{?dist} Summary: An Anime Game Launcher for Linux with automatic patching and telemetry disabling diff --git a/anda/games/launcher.moe/honkers-railway-launcher/honkers-railway-launcher.spec b/anda/games/launcher.moe/honkers-railway-launcher/honkers-railway-launcher.spec index f4a9803b76..4b6a694870 100644 --- a/anda/games/launcher.moe/honkers-railway-launcher/honkers-railway-launcher.spec +++ b/anda/games/launcher.moe/honkers-railway-launcher/honkers-railway-launcher.spec @@ -2,7 +2,7 @@ %global crate honkers-railway-launcher %global appid moe.launcher.the-honkers-railway-launcher Name: %{crate} -Version: 1.15.0 +Version: 1.15.1 Release: 1%{?dist} Summary: The Honkers Railway launcher for Linux with automatic patching and telemetry disabling diff --git a/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec b/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec index eb983e0e92..2a231b1586 100644 --- a/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec +++ b/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec @@ -2,7 +2,7 @@ %global crate sleepy-launcher %global appid moe.launcher.sleepy-launcher Name: %{crate} -Version: 1.6.5 +Version: 1.6.6 Release: 1%{?dist} Summary: Sleepy Game Launcher for Linux with automatic patching and telemetry disabling diff --git a/anda/games/osu-lazer/osu-lazer.spec b/anda/games/osu-lazer/osu-lazer.spec index 01967c9343..5bdd70df80 100644 --- a/anda/games/osu-lazer/osu-lazer.spec +++ b/anda/games/osu-lazer/osu-lazer.spec @@ -1,9 +1,9 @@ -%define osuresver 2026.516.0 +%define osuresver 2026.615.0 %global debug_package %{nil} %define __strip /bin/true Name: osu-lazer -Version: 2026.518.0 +Version: 2026.624.0 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 5e23ab8594..2d36099dfb 100644 --- a/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec +++ b/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec @@ -3,10 +3,10 @@ %global name_pretty %{quote:Prism Launcher (Nightly)} %global appid org.prismlauncher.PrismLauncher-nightly -%global commit f67a670bcfb54a632d27dfa9b963e42a895047ab +%global commit f654ce821291b8b8db1f52850dec9e48ede1866f %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260524 +%global commit_date 20260618 %global snapshot_info %{commit_date}.%{shortcommit} # Change this variables if you want to use custom keys diff --git a/anda/games/rom-properties/rom-properties.spec b/anda/games/rom-properties/rom-properties.spec index 51a4f0790b..284c1eee4f 100644 --- a/anda/games/rom-properties/rom-properties.spec +++ b/anda/games/rom-properties/rom-properties.spec @@ -1,5 +1,5 @@ Name: rom-properties -Version: 2.7.1 +Version: 2.8 Release: 1%{?dist} Summary: File browser extension for managing video game ROM and disc images License: GPL-2.0-only diff --git a/anda/games/rpcs3/rpcs3.spec b/anda/games/rpcs3/rpcs3.spec index 52bafb8704..25ee9fe8da 100644 --- a/anda/games/rpcs3/rpcs3.spec +++ b/anda/games/rpcs3/rpcs3.spec @@ -9,8 +9,8 @@ # GLIBCXX_ASSERTIONS is known to break RPCS3 %global build_cflags %(echo "%{__build_flags_lang_c}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags} %global build_cxxflags %(echo "%{__build_flags_lang_cxx}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags} -%global commit dd81c92a02b28ecc2a38ba8af358bb1b9220486d -%global ver 0.0.40-19394 +%global commit 87608865b60de01480320b4a29a1bcbda387bad3 +%global ver 0.0.41-19511 Name: rpcs3 Version: %(echo %{ver} | sed 's/-/^/g') @@ -74,8 +74,6 @@ export LLVM_DIR=%{_libdir}/llvm%{?llvm_major}/%{_lib}/cmake -DCMAKE_SKIP_RPATH=ON \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DUSE_NATIVE_INSTRUCTIONS=OFF \ - -DCMAKE_C_FLAGS="$CFLAGS" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DSTATIC_LINK_LLVM=OFF \ -DUSE_SYSTEM_FAUDIO=ON \ -DUSE_SDL=ON \ @@ -88,11 +86,8 @@ export LLVM_DIR=%{_libdir}/llvm%{?llvm_major}/%{_lib}/cmake -DUSE_SYSTEM_ZLIB=ON \ -DUSE_SYSTEM_OPENCV=ON \ -DUSE_SYSTEM_CURL=ON \ - -DUSE_SYSTEM_FLATBUFFERS=OFF \ -DUSE_SYSTEM_PUGIXML=OFF \ -DUSE_SYSTEM_WOLFSSL=OFF \ - -DCMAKE_C_COMPILER="$CC" \ - -DCMAKE_CXX_COMPILER="$CXX" \ -DCMAKE_LINKER=mold \ -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -fuse-ld=mold" \ -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -fuse-ld=mold" diff --git a/anda/games/steam/anda.hcl b/anda/games/steam/anda.hcl index 266d6b3074..ef9f29ae84 100644 --- a/anda/games/steam/anda.hcl +++ b/anda/games/steam/anda.hcl @@ -1,5 +1,5 @@ project pkg { - arches = ["i386"] + arches = ["x86_64"] rpm { spec = "steam.spec" } diff --git a/anda/games/steam/steam.spec b/anda/games/steam/steam.spec index 5e7e8b73e2..a295c484c9 100644 --- a/anda/games/steam/steam.spec +++ b/anda/games/steam/steam.spec @@ -1,16 +1,15 @@ # Binary package, no debuginfo should be generated %global debug_package %{nil} - -%global appstream_id com.valvesoftware.Steam +%global appid com.valvesoftware.Steam Name: steam -Version: 1.0.0.85 -Release: 7%{?dist} +Version: 1.0.0.86 +Release: 1%{?dist} Summary: Installer for the Steam software distribution service # Redistribution and repackaging for Linux is allowed, see license file. udev rules are MIT. License: Steam License Agreement and MIT URL: http://www.steampowered.com/ -ExclusiveArch: i686 +ExclusiveArch: x86_64 Packager: Cappy Ishihara Source0: https://repo.steampowered.com/%{name}/archive/beta/%{name}_%{version}.tar.gz @@ -40,79 +39,94 @@ BuildRequires: libappstream-glib BuildRequires: make BuildRequires: systemd +# Required for the basic runtime +Requires: glibc(x86-32) +Requires: libdrm(x86-32) +Requires: libglvnd-glx(x86-32) +Requires: libnsl(x86-32) + # Required to run the initial setup Requires: tar Requires: zenity Requires: xz -# Most games use OpenGL, some games already use Vulkan. Vulkan is also required -# for Steam Play to run Windows games through emulation. i686 version of these -# packages are necessary even on x86_64 systems for running 32bit games. Pull in -# native arch drivers as well, by not specifying _isa macro, native arch -# packages are preferred. This will make sure people have all necessary drivers -# for both i686 and x86_64 games. -Requires: mesa-dri-drivers%{?_isa} +# Required for basic gaming, also for native 32 bit games: Requires: mesa-dri-drivers -Requires: mesa-vulkan-drivers%{?_isa} +Requires: mesa-dri-drivers(x86-32) Requires: mesa-vulkan-drivers -Requires: vulkan-loader%{?_isa} +Requires: mesa-vulkan-drivers(x86-32) Requires: vulkan-loader +Requires: vulkan-loader(x86-32) -# Minimum requirements for starting the steam client using system libraries -Requires: alsa-lib%{?_isa} -Requires: fontconfig%{?_isa} -Requires: gtk2%{?_isa} -Requires: libICE%{?_isa} -Requires: libnsl%{?_isa} -Requires: libpng%{?_isa} -Requires: libXext%{?_isa} -Requires: libXinerama%{?_isa} -Requires: libXtst%{?_isa} -Requires: libXScrnSaver%{?_isa} -Requires: mesa-libGL%{?_isa} -Requires: mesa-libEGL%{?_isa} -Requires: NetworkManager-libnm%{?_isa} -Requires: nss%{?_isa} -Requires: pulseaudio-libs%{?_isa} +# Hardware stuff (permissions on devices, hardware updater, etc.): +Recommends: hidapi +Requires: steam-devices -# Required for sending out crash reports to Valve -Requires: libcurl%{?_isa} - -# Workaround for mesa-libGL dependency bug: -# https://bugzilla.redhat.com/show_bug.cgi?id=1168475 -Requires: systemd-libs%{?_isa} +# These libraries are also part of the Ubuntu runtime at: +# ~/.local/share/Steam/ubuntu12_32 +# ~/.local/share/Steam/ubuntu12_64 +# Steam client uses the system ones if available; so override where there is a +# benefit using the native system libaries or just to match when the native 64 +# bit packages are already installed. +Requires: bzip2-libs +Requires: bzip2-libs(x86-32) +Requires: fontconfig +Requires: fontconfig(x86-32) +Requires: libICE +Requires: libICE(x86-32) +Requires: libnsl +Requires: libnsl(x86-32) +Requires: libXext +Requires: libXext(x86-32) +Requires: libXinerama +Requires: libXinerama(x86-32) +Requires: libXtst +Requires: libXtst(x86-32) +Requires: libva +Requires: libva(x86-32) +Requires: libvdpau +Requires: libvdpau(x86-32) +Requires: mesa-libGL +Requires: mesa-libGL(x86-32) +Requires: NetworkManager-libnm +Requires: NetworkManager-libnm(x86-32) +Requires: nss +Requires: nss(x86-32) +Requires: openal-soft +Requires: openal-soft(x86-32) +Requires: pipewire-libs +Requires: pipewire-libs(x86-32) +Requires: pulseaudio-libs +Requires: pulseaudio-libs(x86-32) +%if %{defined fedora} +Requires: SDL3 +Requires: SDL3(x86-32) +%endif +# The client does not override only the ones linked at: +# ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32 +# ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64 +# At the moment of writing, the pinned ones belong to these packages: +# gtk2 +# libcurl +# libdbusmenu +# libdbusmenu-gtk2 +# mesa-libGLU +# And yes, the "ubuntu12_32" directory twice above is not a typo. Windows style (system32...). # Required for the firewall rules # http://fedoraproject.org/wiki/PackagingDrafts/ScriptletSnippets/Firewalld Requires: firewalld-filesystem Requires(post): firewalld-filesystem -# Required for hardware encoding/decoding during Remote Play (intel/radeon/amdgpu/nouveau) -Requires: libva%{?_isa} -Requires: libvdpau%{?_isa} - -# Required for having a functioning menu on the tray icon -Requires: libdbusmenu-gtk3%{?_isa} >= 16.04.0 - # Required by Feral interactive games -Requires: libatomic%{?_isa} +Requires: libatomic +Requires: libatomic(x86-32) # Required by Shank -Requires: (alsa-plugins-pulseaudio%{?_isa} if pulseaudio) -Requires: (pipewire-alsa%{?_isa} if pipewire) - -# Patched for Wayland -# https://github.com/ValveSoftware/steam-for-linux/issues/8853 -# https://github.com/negativo17/steam/issues/9 -%if 0%{?fedora} >= 40 -Requires: SDL2%{?_isa} -%endif +Requires: (alsa-plugins-pulseaudio if pulseaudio) # Game performance is increased with gamemode (for games that support it) Recommends: (falcond or gamemode) -Recommends: (gamemode%{?_isa} if gamemode(x86-64)) -Recommends: (gnome-shell-extension-appindicator if gnome-shell) - Recommends: (gnome-shell-extension-appindicator if gnome-shell) # Proton uses xdg-desktop-portal to open URLs from inside a container @@ -127,8 +141,8 @@ Recommends: xdg-user-dirs # Allow using Steam Runtime Launch Options Recommends: gobject-introspection -Requires: steam-devices - +# Automatic loading of the ntsync module +Recommends: ntsync-autoload # -rm is usually better for Steam Recommends: udev-joystick-blacklist-rm Requires: (udev-joystick-blacklist-rm or udev-joystick-blacklist) @@ -143,6 +157,21 @@ and screenshot functionality, and many social features. This package contains the installer for the Steam software distribution service. +%package arch-transition +Summary: Transition package for migrating Steam from i686 to x86_64 +Requires: %{name} = %{evr} +Provides: steam = 1.0.0.85-11 +Obsoletes: steam < 1.0.0.85-11 +BuildArch: noarch + +%description arch-transition +This package is used to migrate Steam installations from the +legacy i686 package layout to the x86_64 package layout. + +It exists only to handle package replacement and dependency +changes during upgrades, and can be safely removed once the +transition is complete. + %prep %autosetup -p1 -n %{name}-launcher @@ -174,13 +203,7 @@ desktop-file-edit --remove-key=X-KDE-RunOnDiscreteGpu %{buildroot}%{_datadir}/ap %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop -appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{appstream_id}.metainfo.xml - -%if 0%{?fedora} >= 44 -%triggerin -- ca-certificates -# Workaround for https://fedoraproject.org/wiki/Changes/droppingOfCertPemFile#Temporary_fix -update-ca-trust extract --rhbz2387674 -%endif +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{appid}.metainfo.xml %files %license COPYING steam_subscriber_agreement.txt @@ -192,16 +215,19 @@ update-ca-trust extract --rhbz2387674 %{_datadir}/pixmaps/%{name}.png %{_datadir}/pixmaps/%{name}_tray_mono.png %{_prefix}/lib/%{name}/ -%{_libdir}/%{name}/ %{_mandir}/man6/%{name}.* -%{_metainfodir}/%{appstream_id}.metainfo.xml +%{_metainfodir}/%{appid}.metainfo.xml %config(noreplace) %{_sysconfdir}/profile.d/%{name}.*sh %dir %{_prefix}/lib/systemd/system.conf.d/ %{_prefix}/lib/systemd/system.conf.d/01-steam.conf %dir %{_prefix}/lib/systemd/user.conf.d/ %{_prefix}/lib/systemd/user.conf.d/01-steam.conf +%files arch-transition + %changelog +* Fri Jun 5 2026 Gilver E. - 1.0.0.85-11 +- Update for architecture transition * Sun Sep 01 2024 Simone Caronni - 1.0.0.81-1 - Update to 1.0.0.81. diff --git a/anda/games/steamos-manager-powerstation/steamos-manager-powerstation.spec b/anda/games/steamos-manager-powerstation/steamos-manager-powerstation.spec index ece0174aeb..807344f010 100644 --- a/anda/games/steamos-manager-powerstation/steamos-manager-powerstation.spec +++ b/anda/games/steamos-manager-powerstation/steamos-manager-powerstation.spec @@ -1,10 +1,10 @@ -%global commit 7b4d0f49351a60d1f93d48f081b4c0e35e10fa6d +%global commit 37d1cb6f98e02b76221190b10af3c6e1c6b7534d %global shortcommit %{sub %{commit} 0 7} -%global commitdate 20260325 +%global commitdate 20260528 Name: steamos-manager-powerstation Version: 0~%{commitdate}.git%{shortcommit} -Release: 4%{?dist} +Release: 3%{?dist} Summary: SteamOS Manager is a system daemon that aims to abstract Steam's interactions with the operating system License: MIT AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (Apache-2.0 OR BSL-1.0) AND Apache-2.0 OR MIT AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND ISC AND (LGPL-2.1 OR MIT OR Apache-2.0) AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) URL: https://github.com/OpenGamingCollective/steamos-manager @@ -58,7 +58,6 @@ make -f /usr/share/selinux/devel/Makefile -C data/selinux steamos_manager.pp %install %{cargo_license_online -a} > LICENSE.dependencies %make_install -rm %{buildroot}%{_unitdir}/sddm.service.d/reset-oneshot-boot.conf # steamOS specific rm %{buildroot}%{_userunitdir}/orca.service # not used by anyone apparently, steamOS specific(?) install -D -m644 data/selinux/steamos_manager.pp %{buildroot}%{_datadir}/selinux/packages/steamos_manager.pp install -d %{buildroot}%{_userunitdir}/gamescope-session-plus.service.wants/steamos-manager.service @@ -101,6 +100,7 @@ fi %{_datadir}/steamos-manager/platform.toml %{_prefix}/lib/steamos-manager %{_unitdir}/steamos-manager.service +%{_unitdir}/sddm.service.d/reset-oneshot-boot.conf %{_userunitdir}/steamos-manager.service %{_userunitdir}/steamos-manager-configure-cecd.service %{_userunitdir}/steamos-manager-session-cleanup.service diff --git a/anda/games/steamos-manager-powerstation/steamos_manager.te b/anda/games/steamos-manager-powerstation/steamos_manager.te index 40f4736e6b..9fba120bb7 100644 --- a/anda/games/steamos-manager-powerstation/steamos_manager.te +++ b/anda/games/steamos-manager-powerstation/steamos_manager.te @@ -1,4 +1,4 @@ -policy_module(steamos_manager, 1.0.0) +policy_module(steamos_manager, 1.0.1) ######################################## # Init @@ -22,6 +22,12 @@ init_dbus_chat(steamos_manager_t) # Query systemd and overall system status (init_t:system status) init_status(steamos_manager_t) +# D-Bus +gen_require(` + type systemd_unit_file_t; +') +allow steamos_manager_t systemd_unit_file_t:service status; + ######################################## # Process permissions ######################################## @@ -75,15 +81,16 @@ domain_read_all_domains_state(steamos_manager_t) # Tracefs and debugfs ######################################## -# ftrace access: /sys/kernel/tracing/instances/steamos-manager/ -# debugfs access: /sys/kernel/debug/ath11k/ +# ftrace access +# debugfs access kernel_read_debugfs(steamos_manager_t) kernel_manage_debugfs(steamos_manager_t) gen_require(` type tracefs_t; ') -allow steamos_manager_t tracefs_t:dir search; +allow steamos_manager_t tracefs_t:dir { search write getattr setattr read open create add_name remove_name rmdir }; +allow steamos_manager_t tracefs_t:file { getattr setattr create open read write append unlink }; ######################################## # Cgroup access @@ -92,6 +99,12 @@ allow steamos_manager_t tracefs_t:dir search; # Search the cgroup hierarchy under /sys/fs/cgroup fs_search_cgroup_dirs(steamos_manager_t) +# Read cgroup interface files +gen_require(` + type cgroup_t; +') +allow steamos_manager_t cgroup_t:file { getattr open read }; + ######################################## # Device access ######################################## @@ -109,11 +122,34 @@ optional_policy(` gen_require(` type hidraw_device_t; ') - allow steamos_manager_t hidraw_device_t:chr_file { open read write getattr ioctl }; + allow steamos_manager_t hidraw_device_t:chr_file { open read write getattr ioctl watch watch_reads }; +') + +optional_policy(` + gen_require(` + type usb_device_t; + ') + allow steamos_manager_t usb_device_t:chr_file { getattr watch watch_reads }; ') # /dev/input/event* — inputplumber dev_rw_input_dev(steamos_manager_t) +dev_getattr_all_chr_files(steamos_manager_t) +dev_getattr_all_blk_files(steamos_manager_t) + +optional_policy(` + gen_require(` + type hugetlbfs_t; + ') + allow steamos_manager_t hugetlbfs_t:dir getattr; +') + +optional_policy(` + gen_require(` + type proc_kcore_t; + ') + allow steamos_manager_t proc_kcore_t:file getattr; +') # Udev events via netlink socket allow steamos_manager_t self:netlink_kobject_uevent_socket { create bind getattr read setopt }; @@ -183,6 +219,17 @@ corecmd_exec_shell(steamos_manager_t) # Execute libraries/scripts under /usr/lib/ paths libs_exec_lib_files(steamos_manager_t) +optional_policy(` + gen_require(` + type dmidecode_exec_t; + ') + can_exec(steamos_manager_t, dmidecode_exec_t) +') + +optional_policy(` + sysnet_exec_ifconfig(steamos_manager_t) +') + ######################################## # Network and IPC ######################################## diff --git a/anda/games/steamos-manager/steamos-manager.spec b/anda/games/steamos-manager/steamos-manager.spec index a4d65309f6..df933921db 100644 --- a/anda/games/steamos-manager/steamos-manager.spec +++ b/anda/games/steamos-manager/steamos-manager.spec @@ -1,5 +1,5 @@ Name: steamos-manager -Version: 26.1.0 +Version: 26.3.0 Release: 1%{?dist} Summary: SteamOS Manager is a system daemon that aims to abstract Steam's interactions with the operating system. License: MIT AND (MIT OR Apache-2.0) AND Unicode-3.0 AND Apache-2.0 OR BSL-1.0 AND Apache-2.0 OR MIT AND Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT AND BSD-3-Clause OR MIT OR Apache-2.0 AND ISC AND LGPL-2.1 OR MIT OR Apache-2.0 AND MIT AND MIT OR Apache-2.0 AND MIT OR Apache-2.0 OR LGPL-2.1-or-later AND Unlicense OR MIT AND Zlib OR Apache-2.0 OR MIT diff --git a/anda/games/twintaillauncher/twintaillauncher.spec b/anda/games/twintaillauncher/twintaillauncher.spec index ac366b0300..74416b186a 100644 --- a/anda/games/twintaillauncher/twintaillauncher.spec +++ b/anda/games/twintaillauncher/twintaillauncher.spec @@ -6,7 +6,7 @@ Name: twintaillauncher -Version: 2.2.0 +Version: 2.3.0 Release: 1%{?dist} Summary: A multi-platform launcher for your anime games Packager: Yoong Jin diff --git a/anda/games/typeracer/rust-typeracer.spec b/anda/games/typeracer/rust-typeracer.spec index 5f3ccd3753..fcd2df650d 100644 --- a/anda/games/typeracer/rust-typeracer.spec +++ b/anda/games/typeracer/rust-typeracer.spec @@ -12,7 +12,7 @@ Summary: Terminal typing game License: GPL-3.0 URL: https://crates.io/crates/typeracer -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: perl openssl-devel anda-srpm-macros rust-packaging >= 21 mold diff --git a/anda/games/umu-wrapper/rust-umu-wrapper.spec b/anda/games/umu-wrapper/rust-umu-wrapper.spec index ca5d5455a0..8a41c42add 100644 --- a/anda/games/umu-wrapper/rust-umu-wrapper.spec +++ b/anda/games/umu-wrapper/rust-umu-wrapper.spec @@ -10,7 +10,7 @@ Summary: Simplified wrapper for UMU-Launcher License: MIT URL: https://crates.io/crates/umu-wrapper -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: mold anda-srpm-macros rust-packaging >= 21 diff --git a/anda/games/vulkan-low-latency-layer/anda.hcl b/anda/games/vulkan-low-latency-layer/anda.hcl new file mode 100644 index 0000000000..aa25923b8a --- /dev/null +++ b/anda/games/vulkan-low-latency-layer/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64", "aarch64"] + rpm { + spec = "vulkan-low-latency-layer.spec" + } +} diff --git a/anda/games/vulkan-low-latency-layer/update.rhai b/anda/games/vulkan-low-latency-layer/update.rhai new file mode 100644 index 0000000000..00ee4c8e1a --- /dev/null +++ b/anda/games/vulkan-low-latency-layer/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Korthos-Software/low_latency_layer")); diff --git a/anda/games/vulkan-low-latency-layer/vulkan-low-latency-layer.spec b/anda/games/vulkan-low-latency-layer/vulkan-low-latency-layer.spec new file mode 100644 index 0000000000..ad43f3f03c --- /dev/null +++ b/anda/games/vulkan-low-latency-layer/vulkan-low-latency-layer.spec @@ -0,0 +1,45 @@ +Name: vulkan-low-latency-layer +Version: 0.2.0 +Release: 1%{?dist} +Summary: Vulkan layer for hardware agnostic input latency reduction +Packager: Kyle Gospodnetich + +License: MIT +URL: https://github.com/Korthos-Software/low_latency_layer +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: vulkan-headers +BuildRequires: cmake(VulkanUtilityLibraries) +BuildRequires: pkgconfig(vulkan) + +Requires: vulkan-loader + +%description +A Vulkan layer that reduces click-to-photon latency by +implementing both AMD and NVIDIA's latency reduction technologies, +providing hardware-agnostic implementations of the VK_NV_low_latency2 +and VK_AMD_anti_lag device extensions. + +%prep +%autosetup -n low_latency_layer-%{version} + +%conf +%cmake + +%build +%cmake_build + +%install +%cmake_install + +%files +%license LICENSE +%doc README.md +%{_libdir}/libVkLayer_KORTHOS_LowLatency.so +%{_datadir}/vulkan/implicit_layer.d/low_latency_layer.json + +%changelog +* Fri May 22 2026 Kyle Gospodnetich - 0.1.0-1 +- Initial package diff --git a/anda/langs/amaranth/amaranth.spec b/anda/langs/amaranth/amaranth.spec index 24940614b4..8b683c43b7 100644 --- a/anda/langs/amaranth/amaranth.spec +++ b/anda/langs/amaranth/amaranth.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 0.5.8 -Release: 2%?dist +Release: 3%?dist Summary: A modern hardware definition language and toolchain based on Python License: BSD-2-Clause URL: https://github.com/amaranth-lang/amaranth @@ -54,8 +54,6 @@ export PDM_BUILD_SCM_VERSION=%{version} %doc README.md CONTRIBUTING.txt %license LICENSE.txt %{_bindir}/amaranth-rpc -%ghost %python3_sitelib/__pycache__/*.cpython-*.pyc -%ghost %python3_sitelib/%{name}/subcommands/__pycache__/*.cpython-*.pyc %changelog * Sun Sep 28 2025 Owen Zimmerman diff --git a/anda/langs/crystal/blahaj/blahaj.spec b/anda/langs/crystal/blahaj/blahaj.spec index d10a2a3908..6b01be237b 100644 --- a/anda/langs/crystal/blahaj/blahaj.spec +++ b/anda/langs/crystal/blahaj/blahaj.spec @@ -5,7 +5,7 @@ Summary: Gay sharks at your local terminal - lolcat-like CLI tool License: BSD-2-Clause URL: https://blahaj.geopjr.dev/ Source0: https://codeberg.org/GeopJr/BLAHAJ/archive/v%{version}.tar.gz -BuildRequires: crystal shards make gcc libyaml-devel pcre-devel libgc-devel libevent-devel bash +BuildRequires: crystal shards make gcc libyaml-devel pcre2-devel libgc-devel libevent-devel bash ExclusiveArch: x86_64 %description diff --git a/anda/langs/crystal/shards/shards.spec b/anda/langs/crystal/shards/shards.spec index 7178a2fdea..7a17f5d48e 100644 --- a/anda/langs/crystal/shards/shards.spec +++ b/anda/langs/crystal/shards/shards.spec @@ -1,13 +1,13 @@ Name: shards Version: 0.20.0 -Release: 1%?dist +Release: 2%?dist Summary: Dependency manager for the Crystal language License: Apache-2.0 Packager: Carl Hörberg URL: https://crystal-lang.org/ Source0: https://github.com/crystal-lang/shards/archive/refs/tags/v%version.tar.gz BuildRequires: crystal make -BuildRequires: gcc gc-devel libyaml-devel pcre-devel +BuildRequires: gcc gc-devel libyaml-devel pcre2-devel Suggests: git make Supplements: crystal @@ -15,7 +15,7 @@ Supplements: crystal Shards is a dependency manager for the Crystal programming language. It allows you to easily manage and install external libraries (called "shards") that your Crystal projects depend on. %prep -%setup -q +%autosetup %build %make_build release=1 FLAGS="--link-flags=\"%{build_ldflags}\"" @@ -24,6 +24,8 @@ Shards is a dependency manager for the Crystal programming language. It allows y %make_install PREFIX=%{_prefix} %files +%license LICENSE +%doc README.md CHANGELOG.md %{_bindir}/shards %{_mandir}/man1/shards.1.gz %{_mandir}/man5/shard.yml.5.gz diff --git a/anda/langs/dart/dart.spec b/anda/langs/dart/dart.spec index b089adfcdd..4d5de71184 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.12.0 +Version: 3.12.2 Release: 1%{?dist} Summary: The Dart Language License: BSD-3-Clause diff --git a/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec b/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec index 3ee06e8a30..89cac32a28 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.13 +Version: 1.0.15 %global tag 1.0.9 %global commit f074161864697100fdc21a99e09b567e82aeb1b9 diff --git a/anda/langs/go/gh-act/gh-act.spec b/anda/langs/go/gh-act/gh-act.spec index 05af47ebd3..d59539aea5 100644 --- a/anda/langs/go/gh-act/gh-act.spec +++ b/anda/langs/go/gh-act/gh-act.spec @@ -12,7 +12,7 @@ # https://github.com/nektos/act %global goipath github.com/nektos/act -Version: 0.2.88 +Version: 0.2.89 %gometa -f diff --git a/anda/langs/go/lazygit/golang-github-jesseduffield-lazygit.spec b/anda/langs/go/lazygit/golang-github-jesseduffield-lazygit.spec index c64db04d7c..4c87d16c07 100644 --- a/anda/langs/go/lazygit/golang-github-jesseduffield-lazygit.spec +++ b/anda/langs/go/lazygit/golang-github-jesseduffield-lazygit.spec @@ -2,7 +2,7 @@ # https://github.com/jesseduffield/lazygit %global goipath github.com/jesseduffield/lazygit -Version: 0.61.1 +Version: 0.62.2 %gometa -f diff --git a/anda/langs/go/v2ray/nightly/v2ray-nightly.spec b/anda/langs/go/v2ray/nightly/v2ray-nightly.spec index 37e3bdfad7..2407969612 100644 --- a/anda/langs/go/v2ray/nightly/v2ray-nightly.spec +++ b/anda/langs/go/v2ray/nightly/v2ray-nightly.spec @@ -1,7 +1,7 @@ -%global commit 59950bd0b02c482ee88f4c7fe1aeb1e48db7e286 +%global commit c1523c4578f8aacc4cc232d1eac9c54b0341ad38 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver v5.49.0 -%global commit_date 20260519 +%global commit_date 20260621 %global goipath github.com/v2fly/v2ray-core Version: %{ver}^%{commit_date}git.%{shortcommit} diff --git a/anda/langs/go/xray/nightly/xray-nightly.spec b/anda/langs/go/xray/nightly/xray-nightly.spec index a4d2a8428e..6f805dfc32 100644 --- a/anda/langs/go/xray/nightly/xray-nightly.spec +++ b/anda/langs/go/xray/nightly/xray-nightly.spec @@ -1,7 +1,7 @@ -%global commit 787aa7677b47c24f19aae84111d50ef4123072be +%global commit ac04c445bd09541cc9c35a120ee01d8a177a4d83 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver v26.3.27 -%global commit_date 20260525 +%global commit_date 20260624 %global goipath github.com/XTLS/Xray-core Version: %{ver}^%{commit_date}git.%{shortcommit} diff --git a/anda/langs/go/xray/stable/xray.spec b/anda/langs/go/xray/stable/xray.spec index 9c7fc847fb..5429372589 100644 --- a/anda/langs/go/xray/stable/xray.spec +++ b/anda/langs/go/xray/stable/xray.spec @@ -1,7 +1,7 @@ # Disabled because compiled without debug %global goipath github.com/XTLS/Xray-core -Version: 26.5.9 +Version: 26.6.22 %global golicenses LICENSE %global godocs README.md SECURITY.md CODE_OF_CONDUCT.md diff --git a/anda/langs/haskell/ghc-HCodecs/anda.hcl b/anda/langs/haskell/ghc-HCodecs/anda.hcl new file mode 100644 index 0000000000..5820c659dd --- /dev/null +++ b/anda/langs/haskell/ghc-HCodecs/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-HCodecs.spec" + } +} diff --git a/anda/langs/haskell/ghc-HCodecs/ghc-HCodecs.spec b/anda/langs/haskell/ghc-HCodecs/ghc-HCodecs.spec new file mode 100644 index 0000000000..f007df6bb7 --- /dev/null +++ b/anda/langs/haskell/ghc-HCodecs/ghc-HCodecs.spec @@ -0,0 +1,128 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name HCodecs +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +# testsuite missing deps: QuickCheck fail random semigroups + +Name: ghc-%{pkg_name} +Version: 0.5.2 +Release: 1%{?dist} +Summary: A library to read, write and manipulate MIDI, WAVE, and SoundFont2 files + +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/HCodecs +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-QuickCheck-devel +BuildRequires: ghc-array-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-fail-devel +BuildRequires: ghc-random-devel +BuildRequires: ghc-semigroups-devel +%if %{with ghc_prof} +BuildRequires: ghc-QuickCheck-prof +BuildRequires: ghc-array-prof +BuildRequires: ghc-base-prof +BuildRequires: ghc-bytestring-prof +BuildRequires: ghc-random-prof +BuildRequires: ghc-semigroups-prof +%endif +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +The library provides functions to read, write and manipulate MIDI, WAVE and +SoundFont2 multimedia files. It is written entirely in Haskell (without any +FFI). It uses efficient parsing and building combinators for binary data stored +in ByteStrings (based on the one in 'binary' package). + +Correctness of significant parts of the library has been validated with +QuickCheck and Haskell Program Coverage (HPC) tool-kits. + + +%package devel +Summary: Haskell %{pkg_name} library development files +Provides: %{name}-static = %{version}-%{release} +Provides: %{name}-static%{?_isa} = %{version}-%{release} +%if %{defined ghc_version} +Requires: ghc-compiler = %{ghc_version} +%endif +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + + +%if %{with haddock} +%package doc +Summary: Haskell %{pkg_name} library documentation +BuildArch: noarch +Requires: ghc-filesystem + +%description doc +This package provides the Haskell %{pkg_name} library documentation. +%endif + + +%if %{with ghc_prof} +%package prof +Summary: Haskell %{pkg_name} profiling library +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Supplements: (%{name}-devel and ghc-prof) + +%description prof +This package provides the Haskell %{pkg_name} profiling library. +%endif + + +%prep +# Begin cabal-rpm setup: +%setup -q -n %{pkgver} +# End cabal-rpm setup + + +%build +# Begin cabal-rpm build: +%ghc_lib_build +# End cabal-rpm build + + +%install +# Begin cabal-rpm install +%ghc_lib_install +# End cabal-rpm install + + +%files -f %{name}.files +# Begin cabal-rpm files: +%license LICENSE +# End cabal-rpm files + + +%files devel -f %{name}-devel.files + + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE +%endif + + +%if %{with ghc_prof} +%files prof -f %{name}-prof.files +%endif + + +%changelog +* Sun Jun 21 2026 Owen Zimmerman - 0.5.2-1 +- Inital commit diff --git a/anda/langs/haskell/ghc-HCodecs/update.rhai b/anda/langs/haskell/ghc-HCodecs/update.rhai new file mode 100644 index 0000000000..eee19ae291 --- /dev/null +++ b/anda/langs/haskell/ghc-HCodecs/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("HCodecs")); diff --git a/anda/langs/haskell/ghc-fail/anda.hcl b/anda/langs/haskell/ghc-fail/anda.hcl new file mode 100644 index 0000000000..d9fe1b487e --- /dev/null +++ b/anda/langs/haskell/ghc-fail/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-fail.spec" + } +} diff --git a/anda/langs/haskell/ghc-fail/ghc-fail.spec b/anda/langs/haskell/ghc-fail/ghc-fail.spec new file mode 100644 index 0000000000..cca9d62add --- /dev/null +++ b/anda/langs/haskell/ghc-fail/ghc-fail.spec @@ -0,0 +1,72 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name fail +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +Name: ghc-%{pkg_name} +Version: 4.9.0.0 +Release: 1%{?dist} +Summary: Forward-compatible MonadFail class + +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/fail +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +This package contains the "Control.Monad.Fail" module providing the + class +that became available in for older 'base' package versions. + +This package turns into an empty package when used with GHC versions which +already provide the "Control.Monad.Fail" module to make way for GHC's own +"Control.Monad.Fail" module. + + +%package devel +Summary: Haskell %{pkg_name} library development files +%if %{defined ghc_version} +Requires: ghc-compiler = %{ghc_version} +%endif + +%description devel +This package provides the Haskell %{pkg_name} library development files. + + +%prep +# Begin cabal-rpm setup: +%setup -q -n %{pkgver} +# End cabal-rpm setup + + +%build +# Begin cabal-rpm build: +%ghc_lib_build_without_haddock +# End cabal-rpm build + + +%install +# Begin cabal-rpm install +%ghc_lib_install -m +mv %{buildroot}%{_ghcdocdir}{,-devel} +# End cabal-rpm install + + +%files devel -f %{name}-devel.files +%license LICENSE + + +%changelog +* Sun Jun 21 2026 Owen Zimmerman - 4.9.0.0-1 +- Initial commit diff --git a/anda/langs/haskell/ghc-fail/update.rhai b/anda/langs/haskell/ghc-fail/update.rhai new file mode 100644 index 0000000000..1014d94332 --- /dev/null +++ b/anda/langs/haskell/ghc-fail/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("fail")); diff --git a/anda/langs/haskell/ghc-vinyl/anda.hcl b/anda/langs/haskell/ghc-vinyl/anda.hcl new file mode 100644 index 0000000000..4e9549c747 --- /dev/null +++ b/anda/langs/haskell/ghc-vinyl/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-vinyl.spec" + } +} diff --git a/anda/langs/haskell/ghc-vinyl/ghc-vinyl.spec b/anda/langs/haskell/ghc-vinyl/ghc-vinyl.spec new file mode 100644 index 0000000000..7e131cbf0c --- /dev/null +++ b/anda/langs/haskell/ghc-vinyl/ghc-vinyl.spec @@ -0,0 +1,116 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name vinyl +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +# testsuite missing deps: aeson hspec lens lens-aeson unordered-containers vector microlens should-not-typecheck + +Name: ghc-%{pkg_name} +Version: 0.14.3 +Release: 1%{?dist} +Summary: Extensible Records + +License: MIT +URL: https://hackage.haskell.org/package/vinyl +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +# End cabal-rpm sources + +Packager: Owen Zimmerman + +# Begin cabal-rpm deps: +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-array-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-deepseq-devel +%if %{with ghc_prof} +BuildRequires: ghc-array-prof +BuildRequires: ghc-base-prof +BuildRequires: ghc-deepseq-prof +%endif +# End cabal-rpm deps + +%description +Extensible records for Haskell with lenses. + + +%package devel +Summary: Haskell %{pkg_name} library development files +Provides: %{name}-static = %{version}-%{release} +Provides: %{name}-static%{?_isa} = %{version}-%{release} +%if %{defined ghc_version} +Requires: ghc-compiler = %{ghc_version} +%endif +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + + +%if %{with haddock} +%package doc +Summary: Haskell %{pkg_name} library documentation +BuildArch: noarch +Requires: ghc-filesystem + +%description doc +This package provides the Haskell %{pkg_name} library documentation. +%endif + + +%if %{with ghc_prof} +%package prof +Summary: Haskell %{pkg_name} profiling library +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Supplements: (%{name}-devel and ghc-prof) + +%description prof +This package provides the Haskell %{pkg_name} profiling library. +%endif + + +%prep +# Begin cabal-rpm setup: +%setup -q -n %{pkgver} +# End cabal-rpm setup + + +%build +# Begin cabal-rpm build: +%ghc_lib_build +# End cabal-rpm build + + +%install +# Begin cabal-rpm install +%ghc_lib_install +# End cabal-rpm install + + +%files -f %{name}.files +# Begin cabal-rpm files: +%license LICENSE +# End cabal-rpm files + + +%files devel -f %{name}-devel.files +%doc CHANGELOG.md + + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE +%endif + + +%if %{with ghc_prof} +%files prof -f %{name}-prof.files +%endif + + +%changelog +* Sun Jun 14 2026 Owen Zimmerman - 0.14.3-1 +- Initial commit diff --git a/anda/langs/haskell/ghc-vinyl/update.rhai b/anda/langs/haskell/ghc-vinyl/update.rhai new file mode 100644 index 0000000000..02e3b6c8c3 --- /dev/null +++ b/anda/langs/haskell/ghc-vinyl/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("vinyl")); diff --git a/anda/langs/holyc/holyc/holyc.spec b/anda/langs/holyc/holyc/holyc.spec index 5bc9a5a0cf..5dfe959426 100644 --- a/anda/langs/holyc/holyc/holyc.spec +++ b/anda/langs/holyc/holyc/holyc.spec @@ -1,4 +1,4 @@ -%global ver 0.0.12 +%global ver 3-beta Name: holyc Version: %{ver}~beta diff --git a/anda/langs/kotlin/kotlin-native/kotlin-native.spec b/anda/langs/kotlin/kotlin-native/kotlin-native.spec index 446922e762..709f7cc78c 100644 --- a/anda/langs/kotlin/kotlin-native/kotlin-native.spec +++ b/anda/langs/kotlin/kotlin-native/kotlin-native.spec @@ -1,7 +1,7 @@ %define _binaries_in_noarch_packages_terminate_build 0 Name: kotlin-native -Version: 2.3.21 +Version: 2.4.0 Release: 1%{?dist} Summary: LLVM backend for the Kotlin compiler ExclusiveArch: x86_64 diff --git a/anda/langs/kotlin/kotlin/kotlin.spec b/anda/langs/kotlin/kotlin/kotlin.spec index d8731a5888..29d5da57cc 100644 --- a/anda/langs/kotlin/kotlin/kotlin.spec +++ b/anda/langs/kotlin/kotlin/kotlin.spec @@ -1,6 +1,6 @@ BuildArch: noarch Name: kotlin -Version: 2.3.21 +Version: 2.4.0 Release: 1%{?dist} Summary: Statically typed programming language diff --git a/anda/langs/lily/lily.spec b/anda/langs/lily/lily.spec index 94eb02687e..7cabc6f1ef 100644 --- a/anda/langs/lily/lily.spec +++ b/anda/langs/lily/lily.spec @@ -22,8 +22,10 @@ Requires: %{name} %prep %autosetup -n %{name}-%{version} -%build +%conf %cmake + +%build %cmake_build %install diff --git a/anda/langs/nim/grabnim/grabnim.spec b/anda/langs/nim/grabnim/grabnim.spec index cc6a6ea884..8f30b5c2dc 100644 --- a/anda/langs/nim/grabnim/grabnim.spec +++ b/anda/langs/nim/grabnim/grabnim.spec @@ -1,5 +1,5 @@ -%global commit b7311cc688bcd615d4faac9e1439a594abdf409a -%global commit_date 20260512 +%global commit b1e34319a18e87fa83afbb7494a3bcc59da4f289 +%global commit_date 20260611 %global shortcommit %{sub %commit 1 7} Name: grabnim diff --git a/anda/langs/nim/nim-nightly/nim-nightly.spec b/anda/langs/nim/nim-nightly/nim-nightly.spec index 3511ec32b5..634bcbce01 100644 --- a/anda/langs/nim/nim-nightly/nim-nightly.spec +++ b/anda/langs/nim/nim-nightly/nim-nightly.spec @@ -1,8 +1,8 @@ %global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10 -%global commit 8771451701d1c9081282d6e9d5cb626bb636da19 +%global commit d251eaedeb35f4cf9d7b0bf3f197bf67f4821600 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver 2.3.1 -%global commit_date 20260522 +%global commit_date 20260624 %global debug_package %nil Name: nim-nightly @@ -12,10 +12,7 @@ Summary: Imperative, multi-paradigm, compiled programming language License: MIT and BSD URL: https://nim-lang.org Source0: https://github.com/nim-lang/Nim/archive/%commit.tar.gz -Source1: nim.1 -Source2: nimgrep.1 -Source4: nimsuggest.1 -BuildRequires: gcc mold git gcc-c++ nodejs openssl-devel pkgconfig(bash-completion) gc-devel pcre pcre-devel +BuildRequires: gcc mold git gcc-c++ nodejs openssl-devel pkgconfig(bash-completion) gc-devel help2man Requires: redhat-rpm-config gcc Conflicts: choosenim # somehow wrong name and never noticed @@ -57,8 +54,13 @@ order of priority). This package provides documentation and reference manual for the language and its standard library. + %endif +%pkg_completion -Bz nim nimble +%pkg_completion -Bn nimgrep +%pkg_completion -Bn nimpretty +%pkg_completion -Bn nimsuggest %prep %autosetup -n Nim-%commit @@ -81,17 +83,14 @@ nim c --noNimblePath --skipUserCfg --skipParentCfg --hints:off -d:danger koch.ni koch boot -d:release -d:nimStrictMode --lib:lib %ifarch x86_64 -koch docs & +./koch docs --skipUserCfg --skipParentCfg --hints:off & %endif (cd lib; nim c --app:lib -d:danger -d:createNimRtl -t:-fPIE -l:-pie nimrtl.nim) & koch tools --skipUserCfg --skipParentCfg --hints:off -d:release -t:-fPIE -l:-pie & -nim c -d:danger -t:-fPIE -l:-pie nimsuggest/nimsuggest.nim & wait -%ifarch x86_64 -sed -i '/ - 2.3.1^20260522.561b417 +- more manfiles +- no more nimgrep manfile (cannot generate) +- no longer dep on pcre diff --git a/anda/langs/nim/nim/nim.spec b/anda/langs/nim/nim/nim.spec index 52391ed970..91a106df47 100644 --- a/anda/langs/nim/nim/nim.spec +++ b/anda/langs/nim/nim/nim.spec @@ -11,7 +11,7 @@ Source1: nim.1 Source2: nimgrep.1 Source3: nimble.1 Source4: nimsuggest.1 -BuildRequires: gcc mold git-core gcc-c++ nodejs openssl-devel pkgconfig(bash-completion) gc-devel pcre-devel +BuildRequires: gcc mold git-core gcc-c++ nodejs openssl-devel pkgconfig(bash-completion) gc-devel pcre2-devel BuildRequires: redhat-rpm-config anda-srpm-macros Requires: gcc Recommends: nim-tools diff --git a/anda/langs/python/PyMusicLooper/PyMusicLooper.spec b/anda/langs/python/PyMusicLooper/PyMusicLooper.spec index e15441be05..b5e1233425 100644 --- a/anda/langs/python/PyMusicLooper/PyMusicLooper.spec +++ b/anda/langs/python/PyMusicLooper/PyMusicLooper.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 3.6.0 -Release: 1%?dist +Release: 2%?dist Summary: A python program for repeating music endlessly and creating seamless music loops, with play/export/tagging support License: MIT URL: https://github.com/arkrow/PyMusicLooper diff --git a/anda/langs/python/accelerate/accelerate.spec b/anda/langs/python/accelerate/accelerate.spec index b0ee0275e1..61d403a81a 100644 --- a/anda/langs/python/accelerate/accelerate.spec +++ b/anda/langs/python/accelerate/accelerate.spec @@ -4,8 +4,8 @@ %global _desc A simple way to launch, train, and use PyTorch models on almost any device and distributed configuration, automatic mixed precision (including fp8), and easy-to-configure FSDP and DeepSpeed support. Name: python-%{pypi_name} -Version: 1.13.0 -Release: 1%?dist +Version: 1.14.0 +Release: 1%{?dist} Summary: A simple way to launch, train, and use PyTorch models on almost any device and distributed configuration License: Apache-2.0 URL: https://github.com/huggingface/accelerate diff --git a/anda/langs/python/antlr4-runtime/antlr4-runtime.spec b/anda/langs/python/antlr4-runtime/antlr4-runtime.spec index 53aa863566..b80962cdba 100644 --- a/anda/langs/python/antlr4-runtime/antlr4-runtime.spec +++ b/anda/langs/python/antlr4-runtime/antlr4-runtime.spec @@ -9,7 +9,7 @@ Name: python-%{pypi_name} Version: %{ver}^%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 2%?dist Summary: Python 3 runtime libraries for ANTLR 4 License: BSD URL: https://www.antlr.org/ diff --git a/anda/langs/python/apeye-core/apeye-core.spec b/anda/langs/python/apeye-core/apeye-core.spec index 03217556d0..e0341191cf 100644 --- a/anda/langs/python/apeye-core/apeye-core.spec +++ b/anda/langs/python/apeye-core/apeye-core.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.1.5 -Release: 1%?dist +Release: 2%?dist Summary: Core (offline) functionality for the apeye library License: BSD-3-Clause URL: https://github.com/domdfcoding/apeye-core diff --git a/anda/langs/python/asyncclick/anda.hcl b/anda/langs/python/asyncclick/anda.hcl new file mode 100644 index 0000000000..b2c253a9cc --- /dev/null +++ b/anda/langs/python/asyncclick/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "asyncclick.spec" + } +} diff --git a/anda/langs/python/asyncclick/asyncclick.spec b/anda/langs/python/asyncclick/asyncclick.spec new file mode 100644 index 0000000000..44b06e1ddc --- /dev/null +++ b/anda/langs/python/asyncclick/asyncclick.spec @@ -0,0 +1,47 @@ +%global pypi_name asyncclick +%global _desc Python composable command line utility, trio-compatible version. + +Name: python-%{pypi_name} +Version: 8.3.0.7 +Release: 1%{?dist} +Summary: Python composable command line utility, trio-compatible version +License: BSD-3-Clause +URL: https://github.com/python-trio/asyncclick/ +Source0: %{pypi_source} + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-wheel +BuildRequires: python3-flit-core +BuildArch: noarch + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%prep +%autosetup -n %{pypi_name}-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE.txt + +%changelog +* Sun Jun 07 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/asyncclick/update.rhai b/anda/langs/python/asyncclick/update.rhai new file mode 100644 index 0000000000..b10633a2ef --- /dev/null +++ b/anda/langs/python/asyncclick/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("asyncclick")); diff --git a/anda/langs/python/audioop-lts/audioop-lts.spec b/anda/langs/python/audioop-lts/audioop-lts.spec index b34deacc15..9ad8ce96f3 100644 --- a/anda/langs/python/audioop-lts/audioop-lts.spec +++ b/anda/langs/python/audioop-lts/audioop-lts.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.2.2 -Release: 1%?dist +Release: 2%?dist Summary: An LTS port of Python's `audioop` module License: PSF-2.0 URL: https://github.com/AbstractUmbra/audioop diff --git a/anda/langs/python/av/av.spec b/anda/langs/python/av/av.spec index e43fcacefc..13700e8809 100644 --- a/anda/langs/python/av/av.spec +++ b/anda/langs/python/av/av.spec @@ -2,7 +2,7 @@ %global _desc Pythonic bindings for FFmpeg's libraries. Name: python-%{pypi_name} -Version: 17.0.1 +Version: 17.1.0 Release: 1%{?dist} Summary: Pythonic bindings for FFmpeg's libraries License: BSD-3-Clause diff --git a/anda/langs/python/bash-kernel/python-bash-kernel.spec b/anda/langs/python/bash-kernel/python-bash-kernel.spec index 3d722015b6..400e1131c0 100644 --- a/anda/langs/python/bash-kernel/python-bash-kernel.spec +++ b/anda/langs/python/bash-kernel/python-bash-kernel.spec @@ -5,7 +5,7 @@ Name: python-%{real_name} Version: 0.10.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Bash kernel for Jupyter License: BSD-3-Clause URL: https://github.com/takluyver/bash_kernel diff --git a/anda/langs/python/bitsandbytes/bitsandbytes.spec b/anda/langs/python/bitsandbytes/bitsandbytes.spec index a32b9db343..ba6bda4026 100644 --- a/anda/langs/python/bitsandbytes/bitsandbytes.spec +++ b/anda/langs/python/bitsandbytes/bitsandbytes.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.49.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Accessible large language models via k-bit quantization for PyTorch License: MIT URL: https://huggingface.co/docs/bitsandbytes/main/en/index diff --git a/anda/langs/python/buttplug-py/buttplug-py.spec b/anda/langs/python/buttplug-py/buttplug-py.spec index 4b670c8c13..fd8bdd0c74 100644 --- a/anda/langs/python/buttplug-py/buttplug-py.spec +++ b/anda/langs/python/buttplug-py/buttplug-py.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.0.0 -Release: 1%?dist +Release: 2%?dist Summary: Python implementation of core message system and client for the Buttplug Sex Toy Protocol Standard License: BSD-3-Clause AND MIT AND Apache-2.0 AND X11 URL: buttplug-py.docs.buttplug.io diff --git a/anda/langs/python/click-logging/click-logging.spec b/anda/langs/python/click-logging/click-logging.spec index 8ef2e0631d..60d8593f00 100644 --- a/anda/langs/python/click-logging/click-logging.spec +++ b/anda/langs/python/click-logging/click-logging.spec @@ -3,9 +3,9 @@ Name: python-%{pypi_name} Version: 1.0.1 -Release: 1%?dist +Release: 2%?dist Summary: Simple and beautiful logging for click applications -License: GPL-3.0 +License: MIT URL: https://github.com/Toilal/click-logging # Cannot pull from pypi due to the pypi source not having required install files, causing the build to fail Source0: %url/archive/refs/tags/v%version.tar.gz diff --git a/anda/langs/python/click_params/click_params.spec b/anda/langs/python/click_params/click_params.spec index 7d3f02277d..5acc8517b0 100644 --- a/anda/langs/python/click_params/click_params.spec +++ b/anda/langs/python/click_params/click_params.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.5.0 -Release: 1%?dist +Release: 2%?dist Summary: Bunch of click parameters to use License: Apache-2.0 URL: https://click-params.readthedocs.io/en/stable/ diff --git a/anda/langs/python/cobs/cobs.spec b/anda/langs/python/cobs/cobs.spec index 642759e7aa..345ae88a78 100644 --- a/anda/langs/python/cobs/cobs.spec +++ b/anda/langs/python/cobs/cobs.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.2.2 -Release: 1%?dist +Release: 2%?dist Summary: Python functions for encoding and decoding COBS License: MIT URL: https://pypi.org/project/cobs/ diff --git a/anda/langs/python/colorthief/python-colorthief.spec b/anda/langs/python/colorthief/python-colorthief.spec index 637e2db45a..56eec07edd 100644 --- a/anda/langs/python/colorthief/python-colorthief.spec +++ b/anda/langs/python/colorthief/python-colorthief.spec @@ -8,7 +8,7 @@ ExcludeArch: %{ix86} Name: python-%{pypi_name} Version: 0.2.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Grabs the dominant color or a representative color palette from an image # https://gitlab.com/fedora/legal/fedora-license-data/-/issues/382 diff --git a/anda/langs/python/colorz/python-colorz.spec b/anda/langs/python/colorz/python-colorz.spec index 1cea5133cd..f5c1034962 100644 --- a/anda/langs/python/colorz/python-colorz.spec +++ b/anda/langs/python/colorz/python-colorz.spec @@ -2,7 +2,7 @@ Name: python-%{pypi_name} Version: 1.0.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Color scheme generator License: MIT URL: https://github.com/metakirby5/colorz diff --git a/anda/langs/python/consolekit/consolekit.spec b/anda/langs/python/consolekit/consolekit.spec index dc7728918a..c94df919f5 100644 --- a/anda/langs/python/consolekit/consolekit.spec +++ b/anda/langs/python/consolekit/consolekit.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.13.0 -Release: 1%?dist +Release: 2%?dist Summary: Additional utilities for click License: MIT URL: https://consolekit.readthedocs.io/en/latest/ diff --git a/anda/langs/python/curl_cffi/curl_cffi.spec b/anda/langs/python/curl_cffi/curl_cffi.spec index fbf6a96e59..723bf495c5 100644 --- a/anda/langs/python/curl_cffi/curl_cffi.spec +++ b/anda/langs/python/curl_cffi/curl_cffi.spec @@ -6,7 +6,7 @@ Name: python-%{pypi_name} Version: 0.15.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python binding for curl-impersonate fork via cffi.. License: MIT URL: https://github.com/lexiforest/curl_cffi diff --git a/anda/langs/python/darkdetect/darkdetect.spec b/anda/langs/python/darkdetect/darkdetect.spec index 05f1797cd3..32838685f0 100644 --- a/anda/langs/python/darkdetect/darkdetect.spec +++ b/anda/langs/python/darkdetect/darkdetect.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.8.0 -Release: 1%?dist +Release: 2%?dist Summary: Detect OS Dark Mode from Python License: BSD-3-Clause URL: https://github.com/albertosottile/darkdetect diff --git a/anda/langs/python/dataclasses-json/dataclasses-json.spec b/anda/langs/python/dataclasses-json/dataclasses-json.spec index 2a233e6138..0f2eb56d04 100644 --- a/anda/langs/python/dataclasses-json/dataclasses-json.spec +++ b/anda/langs/python/dataclasses-json/dataclasses-json.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.6.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Easily serialize Data Classes to and from JSON License: MIT URL: https://github.com/lidatong/dataclasses-json diff --git a/anda/langs/python/datasets/anda.hcl b/anda/langs/python/datasets/anda.hcl new file mode 100644 index 0000000000..b876eff6df --- /dev/null +++ b/anda/langs/python/datasets/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "datasets.spec" + } +} diff --git a/anda/langs/python/datasets/datasets.spec b/anda/langs/python/datasets/datasets.spec new file mode 100644 index 0000000000..f9b6768d57 --- /dev/null +++ b/anda/langs/python/datasets/datasets.spec @@ -0,0 +1,50 @@ +%global pypi_name datasets +%global _desc The largest hub of ready-to-use datasets for AI models with fast, easy-to-use and efficient data manipulation tools. + +Name: python-%{pypi_name} +Version: 5.0.0 +Release: 2%{?dist} +Summary: The largest hub of ready-to-use datasets for AI models with fast, easy-to-use and efficient data manipulation tools +License: Apache-2.0 +URL: https://github.com/huggingface/datasets +Source0: %{pypi_source} + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-importlib-metadata +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildArch: noarch + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%prep +%autosetup -n %{pypi_name}-%{version} + +%pyproject_patch_dependency pyarrow:drop_constraints + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/datasets-cli + +%changelog +* Sun May 24 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/datasets/update.rhai b/anda/langs/python/datasets/update.rhai new file mode 100644 index 0000000000..f9a78949d7 --- /dev/null +++ b/anda/langs/python/datasets/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("datasets")); diff --git a/anda/langs/python/deprecation-alias/deprecation-alias.spec b/anda/langs/python/deprecation-alias/deprecation-alias.spec index 2941427117..481863ae51 100644 --- a/anda/langs/python/deprecation-alias/deprecation-alias.spec +++ b/anda/langs/python/deprecation-alias/deprecation-alias.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.4.0 -Release: 1%?dist +Release: 2%?dist Summary: A wrapper around 'deprecation' providing support for deprecated aliases License: Apache-2.0 URL: https://github.com/domdfcoding/deprecation-alias diff --git a/anda/langs/python/diffq/diffq.spec b/anda/langs/python/diffq/diffq.spec index bb7d1e5adb..962216e0f1 100644 --- a/anda/langs/python/diffq/diffq.spec +++ b/anda/langs/python/diffq/diffq.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.2.4 -Release: 1%?dist +Release: 2%?dist Summary: DiffQ performs differentiable quantization using pseudo quantization noise License: CC-BY-NC-4.0 URL: https://github.com/facebookresearch/diffq diff --git a/anda/langs/python/dirsync/dirsync.spec b/anda/langs/python/dirsync/dirsync.spec index 371c33660f..9c354faa22 100644 --- a/anda/langs/python/dirsync/dirsync.spec +++ b/anda/langs/python/dirsync/dirsync.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 2.2.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Advanced directory tree synchronisation tool License: MIT URL: https://github.com/domdfcoding/deprecation-alias diff --git a/anda/langs/python/dist-meta/dist-meta.spec b/anda/langs/python/dist-meta/dist-meta.spec index 749cc6d049..8cf7ab32ef 100644 --- a/anda/langs/python/dist-meta/dist-meta.spec +++ b/anda/langs/python/dist-meta/dist-meta.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.9.0 -Release: 1%?dist +Release: 2%?dist Summary: Parse and create Python distribution metadata License: MIT URL: https://dist-meta.readthedocs.io/en/latest/ diff --git a/anda/langs/python/dom_toml/dom_toml.spec b/anda/langs/python/dom_toml/dom_toml.spec index f9284e134b..d80f9e5c46 100644 --- a/anda/langs/python/dom_toml/dom_toml.spec +++ b/anda/langs/python/dom_toml/dom_toml.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 2.3.0 -Release: 1%?dist +Release: 2%?dist Summary: Dom's tools for Tom's Obvious, Minimal Language License: MIT URL: https://dom-toml.readthedocs.io/en/latest/ diff --git a/anda/langs/python/dora-search/anda.hcl b/anda/langs/python/dora-search/anda.hcl index ff36648dd3..3a88fc08de 100644 --- a/anda/langs/python/dora-search/anda.hcl +++ b/anda/langs/python/dora-search/anda.hcl @@ -1,4 +1,5 @@ project pkg { + arches = ["x86_64"] rpm { spec = "dora-search.spec" } diff --git a/anda/langs/python/dora-search/dora-search.spec b/anda/langs/python/dora-search/dora-search.spec index c625cbc48b..6b069392db 100644 --- a/anda/langs/python/dora-search/dora-search.spec +++ b/anda/langs/python/dora-search/dora-search.spec @@ -1,11 +1,9 @@ %global pypi_name dora-search %global _desc Dora is an experiment management framework. It expresses grid searches as pure python files as part of your repo. It identifies experiments with a unique hash signature. Scale up to hundreds of experiments without losing your sanity. -%define debug_package %{nil} - Name: python-%{pypi_name} Version: 0.1.12 -Release: 1%?dist +Release: 2%?dist Summary: Experiment management framework License: MIT URL: https://github.com/facebookresearch/dora @@ -14,6 +12,7 @@ Source0: %url/archive/refs/tags/v%version.tar.gz BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-setuptools +BuildArch: noarch Packager: Owen Zimmerman diff --git a/anda/langs/python/dotty-dict/dotty-dict.spec b/anda/langs/python/dotty-dict/dotty-dict.spec index c0d0470825..5acb0554cf 100644 --- a/anda/langs/python/dotty-dict/dotty-dict.spec +++ b/anda/langs/python/dotty-dict/dotty-dict.spec @@ -3,11 +3,11 @@ Name: python-%{pypi_name} Version: 1.3.1 -Release: 1%?dist +Release: 2%?dist Summary: Dictionary wrapper for quick access to deeply nested keys License: MIT URL: https://github.com/pawelzny/dotty_dict -Source0: %url/archive/refs/tags/v%{version}.tar.gz +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel diff --git a/anda/langs/python/enum-tools/enum-tools.spec b/anda/langs/python/enum-tools/enum-tools.spec index 0c50face23..7f8fd3d45f 100644 --- a/anda/langs/python/enum-tools/enum-tools.spec +++ b/anda/langs/python/enum-tools/enum-tools.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.13.0 -Release: 1%?dist +Release: 2%?dist Summary: Tools to expand Python's enum module License: LGPL-3.0-or-later URL: https://enum-tools.readthedocs.io/en/latest/ diff --git a/anda/langs/python/fast-colorthief/python-fast-colorthief.spec b/anda/langs/python/fast-colorthief/python-fast-colorthief.spec index 5745656369..e94c5e2aee 100644 --- a/anda/langs/python/fast-colorthief/python-fast-colorthief.spec +++ b/anda/langs/python/fast-colorthief/python-fast-colorthief.spec @@ -6,7 +6,7 @@ Name: python-%{pypi_name} Version: 0.0.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Faster version of Colorthief License: MIT URL: https://github.com/bedapisl/fast-colorthief diff --git a/anda/langs/python/faster-whisper/faster-whisper.spec b/anda/langs/python/faster-whisper/faster-whisper.spec index a7b65bd0d1..61105ff33f 100644 --- a/anda/langs/python/faster-whisper/faster-whisper.spec +++ b/anda/langs/python/faster-whisper/faster-whisper.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.2.1 -Release: 1%?dist +Release: 2%?dist Summary: Faster Whisper transcription with CTranslate2 License: MIT URL: https://github.com/SYSTRAN/faster-whisper diff --git a/anda/langs/python/ffmpeg-python/ffmpeg-python.spec b/anda/langs/python/ffmpeg-python/ffmpeg-python.spec index 6f7f0c3a43..57097849ba 100644 --- a/anda/langs/python/ffmpeg-python/ffmpeg-python.spec +++ b/anda/langs/python/ffmpeg-python/ffmpeg-python.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.2.0 -Release: 1%?dist +Release: 2%?dist Summary: Python bindings for FFmpeg - with complex filtering support License: Apache-2.0 URL: https://github.com/kkroening/ffmpeg-python diff --git a/anda/langs/python/future/future.spec b/anda/langs/python/future/future.spec index fd232f5624..a0e9afcfcb 100644 --- a/anda/langs/python/future/future.spec +++ b/anda/langs/python/future/future.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.0.0 -Release: 1%?dist +Release: 2%?dist Summary: Easy, clean, reliable Python 2/3 compatibility License: MIT URL: https://github.com/manrajgrover/halo diff --git a/anda/langs/python/fx2/fx2.spec b/anda/langs/python/fx2/fx2.spec index c6872789af..b46b74cb66 100644 --- a/anda/langs/python/fx2/fx2.spec +++ b/anda/langs/python/fx2/fx2.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.13 -Release: 2%?dist +Release: 3%?dist Summary: Chip support package for Cypress EZ-USB FX2 series microcontrollers License: 0BSD URL: https://github.com/whitequark/libfx2 diff --git a/anda/langs/python/gay/gay.spec b/anda/langs/python/gay/gay.spec index 7ca257a703..671b681f53 100644 --- a/anda/langs/python/gay/gay.spec +++ b/anda/langs/python/gay/gay.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.3.4 -Release: 2%?dist +Release: 3%?dist Summary: Colour your text / terminal to be more gay License: MIT URL: https://github.com/ms-jpq/gay diff --git a/anda/langs/python/geventwebsocket/geventwebsocket.spec b/anda/langs/python/geventwebsocket/geventwebsocket.spec index 19dc0e17e3..7fbd2f0dec 100644 --- a/anda/langs/python/geventwebsocket/geventwebsocket.spec +++ b/anda/langs/python/geventwebsocket/geventwebsocket.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.10.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: gevent-websocket is a WebSocket library for the gevent networking library License: Apache-2.0 URL: https://github.com/cynepiaadmin/geventwebsocket diff --git a/anda/langs/python/gpt-image/gpt-image.spec b/anda/langs/python/gpt-image/gpt-image.spec index 6c2ec4c6a9..05ab50e2a5 100644 --- a/anda/langs/python/gpt-image/gpt-image.spec +++ b/anda/langs/python/gpt-image/gpt-image.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.9.1 -Release: 1%?dist +Release: 2%?dist Summary: Tool to create GPT disk image files License: MIT URL: https://github.com/swysocki/gpt-image diff --git a/anda/langs/python/haishoku/python-haishoku.spec b/anda/langs/python/haishoku/python-haishoku.spec index a6457861ad..9f1e04d77a 100644 --- a/anda/langs/python/haishoku/python-haishoku.spec +++ b/anda/langs/python/haishoku/python-haishoku.spec @@ -6,7 +6,7 @@ Haishoku is a development tool for grabbing the dominant color or representative Name: python-%{pypi_name} Version: 1.1.8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A development tool for grabbing the dominant color or representative color palette from an image License: MIT URL: https://github.com/LanceGin/haishoku diff --git a/anda/langs/python/halo/halo.spec b/anda/langs/python/halo/halo.spec index b82b3a2a41..998e6b47cb 100644 --- a/anda/langs/python/halo/halo.spec +++ b/anda/langs/python/halo/halo.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.0.31 -Release: 1%?dist +Release: 2%?dist Summary: Beautiful spinners for terminal, IPython and Jupyter License: MIT URL: https://github.com/manrajgrover/halo diff --git a/anda/langs/python/handy-archives/handy-archives.spec b/anda/langs/python/handy-archives/handy-archives.spec index 6fe2094ca4..f9e9803350 100644 --- a/anda/langs/python/handy-archives/handy-archives.spec +++ b/anda/langs/python/handy-archives/handy-archives.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.2.0 -Release: 1%?dist +Release: 2%?dist Summary: Some handy archive helpers for Python License: MIT URL: https://handy-archives.readthedocs.io/en/latest/ diff --git a/anda/langs/python/hf-xet/xf-xet.spec b/anda/langs/python/hf-xet/xf-xet.spec index 8cdc61f8bb..de83843e77 100644 --- a/anda/langs/python/hf-xet/xf-xet.spec +++ b/anda/langs/python/hf-xet/xf-xet.spec @@ -2,12 +2,12 @@ %global _desc xet client tech, used in huggingface_hub. Name: python-%{pypi_name} -Version: 1.5.0 +Version: 1.5.1 Release: 1%{?dist} Summary: xet client tech, used in huggingface_hub License: Apache-2.0 URL: https://github.com/huggingface/xet-core -Source0: %url/archive/refs/tags/v%version.tar.gz +Source0: %{url}/releases/download/%{version}/hf_xet-%{version}.tar.gz BuildRequires: python3-devel BuildRequires: python3-pip @@ -40,7 +40,7 @@ Summary: documentation for python3-%{pypi_name} documentation for python3-%{pypi_name}. %prep -%autosetup -n xet-core-%{version} +%autosetup -n hf_xet-%{version} %build %pyproject_wheel diff --git a/anda/langs/python/hydra-colorlog/hydra-colorlog.spec b/anda/langs/python/hydra-colorlog/hydra-colorlog.spec index 376a4245a8..e384766cdd 100644 --- a/anda/langs/python/hydra-colorlog/hydra-colorlog.spec +++ b/anda/langs/python/hydra-colorlog/hydra-colorlog.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 1.2.0 -Release: 1%?dist +Release: 2%?dist Summary: Hydra is a framework for elegantly configuring complex applications License: MIT URL: https://github.com/facebookresearch/hydra diff --git a/anda/langs/python/ignis/python-ignis.spec b/anda/langs/python/ignis/python-ignis.spec index b5074acdc0..e54841ba67 100644 --- a/anda/langs/python/ignis/python-ignis.spec +++ b/anda/langs/python/ignis/python-ignis.spec @@ -1,6 +1,6 @@ Name: python-ignis Version: 0.5.1 -Release: 2%?dist +Release: 3%?dist Summary: A widget framework for building desktop shells, written and configurable in Python License: LGPL-2.1-or-later diff --git a/anda/langs/python/imageio-ffmpeg/imageio-ffmpeg.spec b/anda/langs/python/imageio-ffmpeg/imageio-ffmpeg.spec index eef40aa382..8551690bff 100644 --- a/anda/langs/python/imageio-ffmpeg/imageio-ffmpeg.spec +++ b/anda/langs/python/imageio-ffmpeg/imageio-ffmpeg.spec @@ -3,11 +3,11 @@ Name: python-%{pypi_name} Version: 0.6.0 -Release: 1%?dist +Release: 2%?dist Summary: FFMPEG wrapper for Python License: BSD-2-Clause URL: https://github.com/imageio/imageio-ffmpeg -Source0: %url/archive/refs/tags/v%{version}.tar.gz +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel diff --git a/anda/langs/python/iterable-io/iterable-io.spec b/anda/langs/python/iterable-io/iterable-io.spec index 7b807e3026..a130f4112a 100644 --- a/anda/langs/python/iterable-io/iterable-io.spec +++ b/anda/langs/python/iterable-io/iterable-io.spec @@ -4,7 +4,7 @@ Name: python-%{real_name} Version: 1.0.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python library to adapt iterables to a file-like interface # According to README diff --git a/anda/langs/python/jade/jade.spec b/anda/langs/python/jade/jade.spec index d59938d50a..2641488874 100644 --- a/anda/langs/python/jade/jade.spec +++ b/anda/langs/python/jade/jade.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.1.0 -Release: 1%?dist +Release: 2%?dist Summary: Exoplanet evolution code License: LGPL-3.0 URL: https://gitlab.unige.ch/spice_dune/jade diff --git a/anda/langs/python/jellyfin-apiclient-python/jellyfin-apiclient-python.spec b/anda/langs/python/jellyfin-apiclient-python/jellyfin-apiclient-python.spec index ea34b9b8b9..8b2ecb4065 100644 --- a/anda/langs/python/jellyfin-apiclient-python/jellyfin-apiclient-python.spec +++ b/anda/langs/python/jellyfin-apiclient-python/jellyfin-apiclient-python.spec @@ -3,9 +3,9 @@ Name: python-%{pypi_name} Version: 1.12.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python API Client for Jellyfin -License: GPL-3.0 +License: GPL-3.0-or-later URL: https://github.com/jellyfin/jellyfin-apiclient-python Source0: %url/archive/refs/tags/v%version.tar.gz BuildArch: noarch diff --git a/anda/langs/python/jschon/jschon.spec b/anda/langs/python/jschon/jschon.spec index 6207922308..db6fc54777 100644 --- a/anda/langs/python/jschon/jschon.spec +++ b/anda/langs/python/jschon/jschon.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.11.1 -Release: 2%?dist +Release: 3%?dist Summary: An object-oriented JSON Schema implementation for Python License: MIT URL: https://github.com/marksparkza/jschon diff --git a/anda/langs/python/julius/julius.spec b/anda/langs/python/julius/julius.spec index 32474ffd24..e34964368c 100644 --- a/anda/langs/python/julius/julius.spec +++ b/anda/langs/python/julius/julius.spec @@ -2,8 +2,8 @@ %global _desc Fast PyTorch based DSP for audio and 1D signals. Name: python-%{pypi_name} -Version: 0.2.7 -Release: 1%?dist +Version: 0.2.8 +Release: 2%{?dist} Summary: Fast PyTorch based DSP for audio and 1D signals License: MIT URL: https://github.com/adefossez/julius @@ -15,6 +15,7 @@ BuildRequires: python3-build BuildRequires: python3-wheel BuildRequires: python3-setuptools BuildRequires: python3-pip +BuildRequires: python3-hatchling Packager: Owen Zimmerman diff --git a/anda/langs/python/jupyter-sphinx/python-jupyter-sphinx.spec b/anda/langs/python/jupyter-sphinx/python-jupyter-sphinx.spec index 9a92f4d1d6..6a9d7a7859 100644 --- a/anda/langs/python/jupyter-sphinx/python-jupyter-sphinx.spec +++ b/anda/langs/python/jupyter-sphinx/python-jupyter-sphinx.spec @@ -7,7 +7,7 @@ Name: python-jupyter-sphinx Version: 0.5.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Jupyter Sphinx extensions License: BSD-3-Clause URL: https://jupyter-sphinx.readthedocs.io/ diff --git a/anda/langs/python/jxlpy/jxlpy.spec b/anda/langs/python/jxlpy/jxlpy.spec index 2b6ba77903..2d9b0e7d5c 100644 --- a/anda/langs/python/jxlpy/jxlpy.spec +++ b/anda/langs/python/jxlpy/jxlpy.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.9.5 -Release: 1%?dist +Release: 2%?dist Summary: Cython bindings and Pillow plugin for JPEG XL License: MIT URL: https://github.com/olokelo/jxlpy diff --git a/anda/langs/python/latex2mathml/latex2mathml.spec b/anda/langs/python/latex2mathml/latex2mathml.spec index 10cdf88979..3c04419960 100644 --- a/anda/langs/python/latex2mathml/latex2mathml.spec +++ b/anda/langs/python/latex2mathml/latex2mathml.spec @@ -3,11 +3,11 @@ Name: python-%{pypi_name} Version: 3.81.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Pure Python library for LaTeX to MathML conversion License: MIT URL: https://github.com/roniemartinez/latex2mathml -Source0: %{pypi_source} +Source0: %{url}/archive/refs/tags/%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel @@ -18,6 +18,8 @@ BuildRequires: python3-poetry-core BuildRequires: python3-installer BuildRequires: python3-build BuildRequires: python3-hatchling +BuildRequires: python3-importlib-metadata +BuildRequires: python3-uv-build Packager: Owen Zimmerman diff --git a/anda/langs/python/lhotse/anda.hcl b/anda/langs/python/lhotse/anda.hcl new file mode 100644 index 0000000000..e5e6e4be9f --- /dev/null +++ b/anda/langs/python/lhotse/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "lhotse.spec" + } +} diff --git a/anda/langs/python/lhotse/lhotse.spec b/anda/langs/python/lhotse/lhotse.spec new file mode 100644 index 0000000000..5bac05938f --- /dev/null +++ b/anda/langs/python/lhotse/lhotse.spec @@ -0,0 +1,46 @@ +%global pypi_name lhotse +%global _desc Tools for handling multimodal data in machine learning projects. + +Name: python-%{pypi_name} +Version: 1.33.0 +Release: 2%{?dist} +Summary: Tools for handling multimodal data in machine learning projects +License: Apache-2.0 +URL: https://lhotse.readthedocs.io/en/latest/ +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%prep +%git_clone https://github.com/lhotse-speech/lhotse.git %{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/lhotse + +%changelog +* Sun May 24 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/lhotse/update.rhai b/anda/langs/python/lhotse/update.rhai new file mode 100644 index 0000000000..5115d3c16a --- /dev/null +++ b/anda/langs/python/lhotse/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("lhotse")); diff --git a/anda/langs/python/librosa/librosa.spec b/anda/langs/python/librosa/librosa.spec index 9b6a2286b3..da9b04267b 100644 --- a/anda/langs/python/librosa/librosa.spec +++ b/anda/langs/python/librosa/librosa.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.11.0 -Release: 1%?dist +Release: 2%?dist Summary: Python library for audio and music analysis License: MIT URL: https://librosa.org diff --git a/anda/langs/python/log_symbols/log_symbols.spec b/anda/langs/python/log_symbols/log_symbols.spec index 2acf6b403a..dec29219e1 100644 --- a/anda/langs/python/log_symbols/log_symbols.spec +++ b/anda/langs/python/log_symbols/log_symbols.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.0.14 -Release: 1%?dist +Release: 2%?dist Summary: Colored symbols for various log levels for Python License: MIT URL: https://github.com/manrajgrover/py-log-symbols diff --git a/anda/langs/python/magic-wormhole/magic-wormhole.spec b/anda/langs/python/magic-wormhole/magic-wormhole.spec index 5838ee5b01..762f67ba81 100644 --- a/anda/langs/python/magic-wormhole/magic-wormhole.spec +++ b/anda/langs/python/magic-wormhole/magic-wormhole.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.24.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: get things from one computer to another, safely License: MIT URL: https://github.com/magic-wormhole/magic-wormhole diff --git a/anda/langs/python/materialyoucolor/python-materialyoucolor.spec b/anda/langs/python/materialyoucolor/python-materialyoucolor.spec index f3f85fb1b4..e5f550c045 100644 --- a/anda/langs/python/materialyoucolor/python-materialyoucolor.spec +++ b/anda/langs/python/materialyoucolor/python-materialyoucolor.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 3.0.2 -Release: 1%?dist +Release: 2%?dist Summary: Material You color generation algorithms in pure python! License: MIT URL: https://github.com/T-Dynamos/materialyoucolor-python diff --git a/anda/langs/python/mdtex2html/mdtex2html.spec b/anda/langs/python/mdtex2html/mdtex2html.spec index 92c03668bc..ce0ce708eb 100644 --- a/anda/langs/python/mdtex2html/mdtex2html.spec +++ b/anda/langs/python/mdtex2html/mdtex2html.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.3.2 -Release: 1%?dist +Release: 2%?dist Summary: python3-library to convert Markdown with included LaTeX-Formulas to HTML with MathML License: LGPL-2.1 URL: https://github.com/polarwinkel/mdtex2html diff --git a/anda/langs/python/milc/milc.spec b/anda/langs/python/milc/milc.spec index 4c95aec804..77328558d3 100644 --- a/anda/langs/python/milc/milc.spec +++ b/anda/langs/python/milc/milc.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 2.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Batteries-Included Python 3 CLI Framework License: MIT URL: https://github.com/clueboard/milc diff --git a/anda/langs/python/mistletoe/mistletoe.spec b/anda/langs/python/mistletoe/mistletoe.spec index e19f0798e4..331b00e30f 100644 --- a/anda/langs/python/mistletoe/mistletoe.spec +++ b/anda/langs/python/mistletoe/mistletoe.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.5.1 -Release: 1%?dist +Release: 2%?dist Summary: A rough port of Node.js's EventEmitter to Python with a few tricks of its own License: MIT URL: https://github.com/miyuchina/mistletoe diff --git a/anda/langs/python/mpegdash/mpegdash.spec b/anda/langs/python/mpegdash/mpegdash.spec index e7047f6221..66c4c25ab4 100644 --- a/anda/langs/python/mpegdash/mpegdash.spec +++ b/anda/langs/python/mpegdash/mpegdash.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.4.1 -Release: 1%?dist +Release: 2%?dist Summary: MPEG-DASH MPD(Media Presentation Description) Parser License: MIT URL: https://github.com/sangwonl/python-mpegdash diff --git a/anda/langs/python/mpv/python-mpv.spec b/anda/langs/python/mpv/python-mpv.spec index e7b422f89f..1e43aa9eb6 100644 --- a/anda/langs/python/mpv/python-mpv.spec +++ b/anda/langs/python/mpv/python-mpv.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.0.8 -Release: 3%?dist +Release: 4%?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/musdb/musdb.spec b/anda/langs/python/musdb/musdb.spec index ea6c1eddf5..e8c1a7d217 100644 --- a/anda/langs/python/musdb/musdb.spec +++ b/anda/langs/python/musdb/musdb.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.4.3 -Release: 1%?dist +Release: 2%?dist Summary: Python parser and tools for MUSDB18 Music Separation Dataset License: MIT URL: https://github.com/sigsep/sigsep-mus-db diff --git a/anda/langs/python/museval/museval.spec b/anda/langs/python/museval/museval.spec index 17acf45ce6..48718e620b 100644 --- a/anda/langs/python/museval/museval.spec +++ b/anda/langs/python/museval/museval.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.4.1 -Release: 1%?dist +Release: 2%?dist Summary: Source separation evaluation tools for python License: MIT URL: https://github.com/sigsep/sigsep-mus-eval diff --git a/anda/langs/python/numba/numba.spec b/anda/langs/python/numba/numba.spec index 2ef5fee4c6..a01cf27d02 100644 --- a/anda/langs/python/numba/numba.spec +++ b/anda/langs/python/numba/numba.spec @@ -2,7 +2,7 @@ Name: python-%{pypi_name} Version: 0.65.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NumPy aware dynamic Python compiler using LLVM License: BSD-2-Clause AND MIT AND BSD-3-Clause URL: https://numba.pydata.org diff --git a/anda/langs/python/omegaconf/omegaconf.spec b/anda/langs/python/omegaconf/omegaconf.spec index aeb4f904e0..ea99669179 100644 --- a/anda/langs/python/omegaconf/omegaconf.spec +++ b/anda/langs/python/omegaconf/omegaconf.spec @@ -2,8 +2,8 @@ %global _desc Flexible Python configuration system. The last one you will ever need. Name: python-%{pypi_name} -Version: 2.3.0 -Release: 1%?dist +Version: 2.3.1 +Release: 1%{?dist} Summary: Flexible Python configuration system. The last one you will ever need License: BSD-3-Clause URL: https://github.com/omry/omegaconf diff --git a/anda/langs/python/open-unmix-pytorch/open-unmix-pytorch.spec b/anda/langs/python/open-unmix-pytorch/open-unmix-pytorch.spec index 93931b0b6d..961f4237a0 100644 --- a/anda/langs/python/open-unmix-pytorch/open-unmix-pytorch.spec +++ b/anda/langs/python/open-unmix-pytorch/open-unmix-pytorch.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.3.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open-Unmix - Music Source Separation for PyTorch License: MIT URL: https://github.com/sigsep/open-unmix-pytorch diff --git a/anda/langs/python/openai-whisper/openai-whisper.spec b/anda/langs/python/openai-whisper/openai-whisper.spec index f1ee8200b3..03a4eb44ca 100644 --- a/anda/langs/python/openai-whisper/openai-whisper.spec +++ b/anda/langs/python/openai-whisper/openai-whisper.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 20250625 -Release: 1%?dist +Release: 2%?dist Summary: Robust Speech Recognition via Large-Scale Weak Supervision License: MIT URL: https://github.com/openai/whisper diff --git a/anda/langs/python/opencc/opencc.spec b/anda/langs/python/opencc/opencc.spec index 26297dc8a3..a1de791aa9 100644 --- a/anda/langs/python/opencc/opencc.spec +++ b/anda/langs/python/opencc/opencc.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.3.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Open Chinese Convert License: Apache-2.0 URL: https://github.com/BYVoid/OpenCC diff --git a/anda/langs/python/peft/peft.spec b/anda/langs/python/peft/peft.spec index 8c9353a80f..1c45ceb774 100644 --- a/anda/langs/python/peft/peft.spec +++ b/anda/langs/python/peft/peft.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.19.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: PEFT: State-of-the-art Parameter-Efficient Fine-Tuning License: Apache-2.0 URL: https://github.com/huggingface/peft diff --git a/anda/langs/python/pgpy13/pgpy13.spec b/anda/langs/python/pgpy13/pgpy13.spec index 380c345f53..a751e3406f 100644 --- a/anda/langs/python/pgpy13/pgpy13.spec +++ b/anda/langs/python/pgpy13/pgpy13.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.6.1rc1 -Release: 1%?dist +Release: 2%?dist Summary: Pretty Good Privacy for Python License: BSD-3-Clause URL: https://github.com/memory/PGPy diff --git a/anda/langs/python/pillow-heif/python3-pillow-heif.spec b/anda/langs/python/pillow-heif/python3-pillow-heif.spec index f162a76407..7d90464fe1 100644 --- a/anda/langs/python/pillow-heif/python3-pillow-heif.spec +++ b/anda/langs/python/pillow-heif/python3-pillow-heif.spec @@ -6,8 +6,8 @@ %bcond_with doc Name: python-%{srcname} -Version: 1.3.0 -Release: 1%?dist +Version: 1.4.0 +Release: 1%{?dist} Summary: Python library for working with HEIF images and plugin for Pillow License: BSD-3-Clause 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 index d373ae0dce..0795c7ada4 100644 --- a/anda/langs/python/pip-system-certs/python-pip-system-certs.spec +++ b/anda/langs/python/pip-system-certs/python-pip-system-certs.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: %{pypi_version} -Release: 1%{?dist} +Release: 2%{?dist} Summary: Live patches pip to use system certs by default License: BSD-2-Clause diff --git a/anda/langs/python/pkgcore/pkgcore.spec b/anda/langs/python/pkgcore/pkgcore.spec index 3b100b741c..aabb4daa3e 100644 --- a/anda/langs/python/pkgcore/pkgcore.spec +++ b/anda/langs/python/pkgcore/pkgcore.spec @@ -2,8 +2,8 @@ %global _desc A framework for package management. Name: python-%{pypi_name} -Version: 0.12.33 -Release: 1%?dist +Version: 0.12.35 +Release: 1%{?dist} Summary: A framework for package management License: BSD-3-Clause URL: https://pkgcore.github.io/pkgcore diff --git a/anda/langs/python/plexapi/plexapi.spec b/anda/langs/python/plexapi/plexapi.spec index 5dd6ca5a63..1917d229ab 100644 --- a/anda/langs/python/plexapi/plexapi.spec +++ b/anda/langs/python/plexapi/plexapi.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 4.18.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python bindings for the Plex API License: BSD-3-Clause URL: https://github.com/pushingkarmaorg/python-plexapi diff --git a/anda/langs/python/posthog/posthog.spec b/anda/langs/python/posthog/posthog.spec index e05755ec27..d0b3589463 100644 --- a/anda/langs/python/posthog/posthog.spec +++ b/anda/langs/python/posthog/posthog.spec @@ -2,7 +2,7 @@ %global _desc Send usage data from your Python code to PostHog. Name: python-%{pypi_name} -Version: 7.15.4 +Version: 7.20.3 Release: 1%{?dist} Summary: Send usage data from your Python code to PostHog License: MIT diff --git a/anda/langs/python/protobuf/python3-protobuf.spec b/anda/langs/python/protobuf/python3-protobuf.spec index 8c01d394a4..603066de6a 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: 7.35.0 +Version: 7.35.1 Release: 1%{?dist} Summary: Protocol Buffers diff --git a/anda/langs/python/proton-core/anda.hcl b/anda/langs/python/proton-core/anda.hcl index a653ad4946..7eec800b00 100644 --- a/anda/langs/python/proton-core/anda.hcl +++ b/anda/langs/python/proton-core/anda.hcl @@ -3,7 +3,4 @@ project pkg { rpm { spec = "proton-core.spec" } - labels { - subrepo = "extras" - } } diff --git a/anda/langs/python/proton-core/proton-core.spec b/anda/langs/python/proton-core/proton-core.spec index 28cf1ab883..139e701a04 100644 --- a/anda/langs/python/proton-core/proton-core.spec +++ b/anda/langs/python/proton-core/proton-core.spec @@ -4,7 +4,7 @@ Name: python-proton-core Version: 0.7.0 -Release: 1%?dist +Release: 2%?dist Summary: %{unmangled_name} library License: GPL-3.0-or-later URL: https://github.com/ProtonVPN/%{github_repo_name} diff --git a/anda/langs/python/proton-keyring-linux/proton-keyring-linux.spec b/anda/langs/python/proton-keyring-linux/proton-keyring-linux.spec index edfc0aff6d..786a1ce842 100644 --- a/anda/langs/python/proton-keyring-linux/proton-keyring-linux.spec +++ b/anda/langs/python/proton-keyring-linux/proton-keyring-linux.spec @@ -1,7 +1,7 @@ %global _desc Python3 Proton linux keyring base implementation. Name: python-proton-keyring-linux -Version: 0.2.1 +Version: 0.2.2 Release: 1%{?dist} Summary: Python3 Proton linux keyring base implementation License: GPL-3.0-or-later diff --git a/anda/langs/python/proton-vpn-api-core/proton-vpn-api-core.spec b/anda/langs/python/proton-vpn-api-core/proton-vpn-api-core.spec index 67e8b5885f..2842105bb0 100644 --- a/anda/langs/python/proton-vpn-api-core/proton-vpn-api-core.spec +++ b/anda/langs/python/proton-vpn-api-core/proton-vpn-api-core.spec @@ -4,7 +4,7 @@ %global __requires_exclude ^python3\\.14dist\\(proton-vpn-local-agent\\)$ Name: python-%{pypi_name} -Version: 5.1.2 +Version: 5.2.5 Release: 1%{?dist} Summary: A facade to the other Proton VPN components License: GPL-3.0-Only diff --git a/anda/langs/python/proton-vpn-local-agent/proton-vpn-local-agent.spec b/anda/langs/python/proton-vpn-local-agent/proton-vpn-local-agent.spec index 1ceef4dd18..60e47c4a29 100644 --- a/anda/langs/python/proton-vpn-local-agent/proton-vpn-local-agent.spec +++ b/anda/langs/python/proton-vpn-local-agent/proton-vpn-local-agent.spec @@ -4,8 +4,8 @@ %global _desc Proton VPN local agent written in Rust. Name: python-%{pypi_name} -Version: 1.6.1 -Release: 1%{?dist} +Version: 1.6.3 +Release: 2%{?dist} Summary: Proton VPN local agent written in Rust License: GPL-3.0-only URL: https://github.com/ProtonVPN/local-agent-rs diff --git a/anda/langs/python/proxy-tools/proxy-tools.spec b/anda/langs/python/proxy-tools/proxy-tools.spec index 5aa2d160d7..b15fe7e74e 100644 --- a/anda/langs/python/proxy-tools/proxy-tools.spec +++ b/anda/langs/python/proxy-tools/proxy-tools.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.1.0 -Release: 1%?dist +Release: 2%?dist Summary: Simple (hopefuly useful) Proxy (as in the GoF design pattern) implementation for Python License: BSD-2-clause URL: https://github.com/jtushman/proxy_tools diff --git a/anda/langs/python/publicdotcom-cli/publicdotcom-cli.spec b/anda/langs/python/publicdotcom-cli/publicdotcom-cli.spec index 3a5b9774a8..65abd0c747 100644 --- a/anda/langs/python/publicdotcom-cli/publicdotcom-cli.spec +++ b/anda/langs/python/publicdotcom-cli/publicdotcom-cli.spec @@ -3,14 +3,13 @@ %global _desc Command-line client for the Public.com Trading API. Name: python-%{real_name} -Version: 1.1.0 +Version: 1.2.1 Release: 1%{?dist} Summary: Command-line client for the Public.com Trading API License: Apache-2.0 URL: https://github.com/PublicDotCom/publicdotcom-cli Source0: %{pypi_source} BuildArch: noarch - BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-setuptools @@ -40,7 +39,6 @@ Summary: %{summary} %files -n python3-%{real_name} -f %{pyproject_files} %doc README.md -%license LICENSE %{_bindir}/public %changelog diff --git a/anda/langs/python/publicdotcom-py/publicdotcom-py.spec b/anda/langs/python/publicdotcom-py/publicdotcom-py.spec index d569f5b4c5..8524209cc5 100644 --- a/anda/langs/python/publicdotcom-py/publicdotcom-py.spec +++ b/anda/langs/python/publicdotcom-py/publicdotcom-py.spec @@ -3,7 +3,7 @@ %global _desc A Python SDK for interacting with the Public Trading API, providing a simple and intuitive interface for trading operations, market data retrieval, and account management. Name: python-%{real_name} -Version: 0.1.15 +Version: 0.1.17 Release: 1%{?dist} Summary: Python SDK for interacting with the Public Trading API License: Apache-2.0 diff --git a/anda/langs/python/py-spinners/py-spinners.spec b/anda/langs/python/py-spinners/py-spinners.spec index da2827b417..43c0da1013 100644 --- a/anda/langs/python/py-spinners/py-spinners.spec +++ b/anda/langs/python/py-spinners/py-spinners.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.0.24 -Release: 1%?dist +Release: 2%?dist Summary: More than 60 spinners for terminal, python wrapper for amazing node library cli-spinners License: MIT URL: https://pypi.org/project/spinners/ diff --git a/anda/langs/python/pyee/pyee.spec b/anda/langs/python/pyee/pyee.spec index 53ed6e9416..edbcc04c9d 100644 --- a/anda/langs/python/pyee/pyee.spec +++ b/anda/langs/python/pyee/pyee.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 13.0.1 -Release: 1%?dist +Release: 2%?dist Summary: A rough port of Node.js's EventEmitter to Python with a few tricks of its own License: MIT URL: https://github.com/jfhbrook/pyee diff --git a/anda/langs/python/pyfluidsynth/pyfluidsynth.spec b/anda/langs/python/pyfluidsynth/pyfluidsynth.spec index f6bb700180..b360948da7 100644 --- a/anda/langs/python/pyfluidsynth/pyfluidsynth.spec +++ b/anda/langs/python/pyfluidsynth/pyfluidsynth.spec @@ -2,8 +2,8 @@ %global _desc Python bindings for FluidSynth. Name: python-%{pypi_name} -Version: 1.3.6 -Release: 1%{?dist} +Version: 1.4.0 +Release: 2%{?dist} Summary: Python bindings for FluidSynth License: LGPL-2.1 URL: https://github.com/nwhitehead/pyfluidsynth diff --git a/anda/langs/python/pygment-styles/python-pygments-styles.spec b/anda/langs/python/pygment-styles/python-pygments-styles.spec index 8b1346f32e..37ea01e7c9 100644 --- a/anda/langs/python/pygment-styles/python-pygments-styles.spec +++ b/anda/langs/python/pygment-styles/python-pygments-styles.spec @@ -3,7 +3,7 @@ Name: python-%{real_name} Version: 0.3.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A collection of Pygments styles License: BSD-3-Clause URL: https://pygments-styles.org diff --git a/anda/langs/python/pyproject-parser/pyproject-parser.spec b/anda/langs/python/pyproject-parser/pyproject-parser.spec index f639e92dc5..2140cd0b23 100644 --- a/anda/langs/python/pyproject-parser/pyproject-parser.spec +++ b/anda/langs/python/pyproject-parser/pyproject-parser.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.14.0 -Release: 1%?dist +Release: 2%?dist Summary: Parser for 'pyproject.toml' License: MIT URL: https://pyproject-parser.readthedocs.io/en/latest/ diff --git a/anda/langs/python/pyprojectize/pyprojectize.spec b/anda/langs/python/pyprojectize/pyprojectize.spec index 0ab44f7b96..f325511bc9 100644 --- a/anda/langs/python/pyprojectize/pyprojectize.spec +++ b/anda/langs/python/pyprojectize/pyprojectize.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1a7 -Release: 1%?dist +Release: 2%?dist Summary: Convert a spec file from py3_build etc. macros to pyproject_* License: MIT-0 URL: https://github.com/hroncok/pyprojectize diff --git a/anda/langs/python/pysdl3/pysdl3.spec b/anda/langs/python/pysdl3/pysdl3.spec index 282b5d0ca1..48be788b0d 100644 --- a/anda/langs/python/pysdl3/pysdl3.spec +++ b/anda/langs/python/pysdl3/pysdl3.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.9.11b1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A pure Python wrapper for SDL3 License: MIT URL: https://pysdl3.readthedocs.io/ diff --git a/anda/langs/python/python-mpv-jsonipc/python-mpv-jsonipc.spec b/anda/langs/python/python-mpv-jsonipc/python-mpv-jsonipc.spec index 9bdef1775a..46b214be93 100644 --- a/anda/langs/python/python-mpv-jsonipc/python-mpv-jsonipc.spec +++ b/anda/langs/python/python-mpv-jsonipc/python-mpv-jsonipc.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.2.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python API to MPV using JSON IPC License: Apache-2.0 URL: https://github.com/iwalton3/python-mpv-jsonipc diff --git a/anda/langs/python/python-soxr/python-soxr.spec b/anda/langs/python/python-soxr/python-soxr.spec index 04cde81f0a..1b4ed66af5 100644 --- a/anda/langs/python/python-soxr/python-soxr.spec +++ b/anda/langs/python/python-soxr/python-soxr.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 1.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast and high quality sample-rate conversion library for Python License: LGPL-2.1 URL: https://github.com/dofuuz/python-soxr diff --git a/anda/langs/python/pyvcd/pyvcd.spec b/anda/langs/python/pyvcd/pyvcd.spec index ac21995c04..8b799570f7 100644 --- a/anda/langs/python/pyvcd/pyvcd.spec +++ b/anda/langs/python/pyvcd/pyvcd.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.4.1 -Release: 1%?dist +Release: 2%?dist Summary: Python package for writing Value Change Dump (VCD) files License: MIT URL: https://github.com/SanDisk-Open-Source/pyvcd diff --git a/anda/langs/python/pywal16/python-pywal16.spec b/anda/langs/python/pywal16/python-pywal16.spec index 97323e8ee5..d0aa00c613 100644 --- a/anda/langs/python/pywal16/python-pywal16.spec +++ b/anda/langs/python/pywal16/python-pywal16.spec @@ -4,7 +4,7 @@ Pywal is a tool that generates a color palette from the dominant colors in an im Name: python-%{pypi_name} Version: 3.8.15 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 16 color fork of the original Pywal License: MIT URL: https://github.com/eylles/pywal16 diff --git a/anda/langs/python/pywebview/pywebview.spec b/anda/langs/python/pywebview/pywebview.spec index 812b3524de..e3bb2fb7da 100644 --- a/anda/langs/python/pywebview/pywebview.spec +++ b/anda/langs/python/pywebview/pywebview.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 6.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Build GUI for your Python program with JavaScript, HTML, and CSS License: BSD-3-Clause URL: https://github.com/r0x0r/pywebview diff --git a/anda/langs/python/pyzmq/pyzmq.spec b/anda/langs/python/pyzmq/pyzmq.spec index 012b2ec954..2c3a6bde86 100644 --- a/anda/langs/python/pyzmq/pyzmq.spec +++ b/anda/langs/python/pyzmq/pyzmq.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 27.1.0 -Release: 1%?dist +Release: 2%?dist Summary: Python bindings for zeromq License: MIT URL: https://github.com/zeromq/pyzmq diff --git a/anda/langs/python/ratelimit/ratelimit.spec b/anda/langs/python/ratelimit/ratelimit.spec index 2023b70b7d..f40a95584a 100644 --- a/anda/langs/python/ratelimit/ratelimit.spec +++ b/anda/langs/python/ratelimit/ratelimit.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 2.2.1 -Release: 1%?dist +Release: 2%?dist Summary: API Rate Limit Decorator License: MIT URL: https://github.com/tomasbasham/ratelimit diff --git a/anda/langs/python/retrying/retrying.spec b/anda/langs/python/retrying/retrying.spec index 3a999c1c69..a99ac9aaf0 100644 --- a/anda/langs/python/retrying/retrying.spec +++ b/anda/langs/python/retrying/retrying.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 1.4.2 -Release: 1%?dist +Release: 2%?dist Summary: General-purpose retrying library License: Apache-2.0 URL: https://github.com/groodt/retrying diff --git a/anda/langs/python/screeninfo/screeninfo.spec b/anda/langs/python/screeninfo/screeninfo.spec index 4bc95b2bc9..a4e1b385ca 100644 --- a/anda/langs/python/screeninfo/screeninfo.spec +++ b/anda/langs/python/screeninfo/screeninfo.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.8.1 -Release: 1%?dist +Release: 2%?dist Summary: Fetch location and size of physical screens License: MIT URL: https://github.com/rr-/screeninfo diff --git a/anda/langs/python/shippinglabel/shippinglabel.spec b/anda/langs/python/shippinglabel/shippinglabel.spec index 724a7121c1..3319adc099 100644 --- a/anda/langs/python/shippinglabel/shippinglabel.spec +++ b/anda/langs/python/shippinglabel/shippinglabel.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 2.3.0 -Release: 1%?dist +Release: 2%?dist Summary: Utilities for handling packages License: MIT URL: https://shippinglabel.readthedocs.io/en/latest/ diff --git a/anda/langs/python/smbus2/smbus2.spec b/anda/langs/python/smbus2/smbus2.spec index 9a563ed19d..17a0c9ec24 100644 --- a/anda/langs/python/smbus2/smbus2.spec +++ b/anda/langs/python/smbus2/smbus2.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.6.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A drop-in replacement for smbus-cffi/smbus-python in pure Python License: MIT URL: https://github.com/kplindegaard/smbus2 diff --git a/anda/langs/python/snakeoil/snakeoil.spec b/anda/langs/python/snakeoil/snakeoil.spec index 206c78165b..970e6bdd06 100644 --- a/anda/langs/python/snakeoil/snakeoil.spec +++ b/anda/langs/python/snakeoil/snakeoil.spec @@ -2,8 +2,8 @@ %global _desc A python library that implements optimized versions of common functionality. Name: python-%{pypi_name} -Version: 0.11.0 -Release: 1%?dist +Version: 0.11.1 +Release: 1%{?dist} Summary: Implements optimized versions of common functionality License: BSD-3-Clause URL: https://pkgcore.github.io/snakeoil diff --git a/anda/langs/python/sounddevice/sounddevice.spec b/anda/langs/python/sounddevice/sounddevice.spec index 3aaf34a7d8..03092fc0a8 100644 --- a/anda/langs/python/sounddevice/sounddevice.spec +++ b/anda/langs/python/sounddevice/sounddevice.spec @@ -3,8 +3,8 @@ Name: python-%{pypi_name} Version: 0.5.5 -Release: 1%?dist -Summary: 🔉 Play and Record Sound with Python 🐍 +Release: 2%?dist +Summary: Play and Record Sound with Python 🐍 License: MIT URL: https://python-sounddevice.rtfd.io/ Source0: %{pypi_source} diff --git a/anda/langs/python/spake2/spake2.spec b/anda/langs/python/spake2/spake2.spec index d223f203db..4e16085e72 100644 --- a/anda/langs/python/spake2/spake2.spec +++ b/anda/langs/python/spake2/spake2.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.9 -Release: 1%?dist +Release: 2%?dist Summary: pure-python implementation of the SPAKE2 Password-Authenticated Key Exchange algorithm License: MIT URL: https://github.com/warner/python-spake2 diff --git a/anda/langs/python/sphinxcontrib-moderncmakedomain/python-sphinxcontrib-moderncmakedomain.spec b/anda/langs/python/sphinxcontrib-moderncmakedomain/python-sphinxcontrib-moderncmakedomain.spec index 1a5b467be7..5207add0db 100644 --- a/anda/langs/python/sphinxcontrib-moderncmakedomain/python-sphinxcontrib-moderncmakedomain.spec +++ b/anda/langs/python/sphinxcontrib-moderncmakedomain/python-sphinxcontrib-moderncmakedomain.spec @@ -12,7 +12,7 @@ Name: python-%{real_name} Version: 3.29.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Sphinx domain for modern CMake License: BSD-3-Clause URL: https://github.com/scikit-build/moderncmakedomain diff --git a/anda/langs/python/srt-equalizer/srt-equalizer.spec b/anda/langs/python/srt-equalizer/srt-equalizer.spec index 953347cf21..5ecf3100d6 100644 --- a/anda/langs/python/srt-equalizer/srt-equalizer.spec +++ b/anda/langs/python/srt-equalizer/srt-equalizer.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.1.12 -Release: 1%?dist +Release: 2%?dist Summary: A Python module to transform subtitle line lengths, splitting into multiple subtitle fragments if necessary License: MIT URL: https://github.com/peterk/srt_equalizer diff --git a/anda/langs/python/srt/srt.spec b/anda/langs/python/srt/srt.spec index 148ea46697..1ce9aa788e 100644 --- a/anda/langs/python/srt/srt.spec +++ b/anda/langs/python/srt/srt.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 3.5.3 -Release: 1%?dist +Release: 2%?dist Summary: A simple library and set of tools for parsing, modifying, and composing SRT files License: MIT URL: https://github.com/cdown/srt diff --git a/anda/langs/python/stable-ts/stable-ts.spec b/anda/langs/python/stable-ts/stable-ts.spec index 9a22e602a5..b83b5264a3 100644 --- a/anda/langs/python/stable-ts/stable-ts.spec +++ b/anda/langs/python/stable-ts/stable-ts.spec @@ -4,7 +4,7 @@ Name: python-%{real_name} Version: 2.19.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Transcription, forced alignment, and audio indexing with OpenAI's Whisper License: MIT URL: https://github.com/jianfch/stable-ts diff --git a/anda/langs/python/standard-aifc/standard-aifc.spec b/anda/langs/python/standard-aifc/standard-aifc.spec index 7ff63fa7b3..c877c070bc 100644 --- a/anda/langs/python/standard-aifc/standard-aifc.spec +++ b/anda/langs/python/standard-aifc/standard-aifc.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 3.13.0 -Release: 1%?dist +Release: 2%?dist Summary: Standard library aifc redistribution License: PSF-2.0 URL: https://github.com/youknowone/python-deadlib diff --git a/anda/langs/python/standard-asynchat/standard-asynchat.spec b/anda/langs/python/standard-asynchat/standard-asynchat.spec index 8022aad8e0..20cabcecc4 100644 --- a/anda/langs/python/standard-asynchat/standard-asynchat.spec +++ b/anda/langs/python/standard-asynchat/standard-asynchat.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 3.13.0 -Release: 1%?dist +Release: 2%?dist Summary: Standard library asynchat redistribution License: PSF-2.0 URL: https://github.com/youknowone/python-deadlib diff --git a/anda/langs/python/standard-chunk/standard-chunk.spec b/anda/langs/python/standard-chunk/standard-chunk.spec index c179ecdc74..d3e5c92a05 100644 --- a/anda/langs/python/standard-chunk/standard-chunk.spec +++ b/anda/langs/python/standard-chunk/standard-chunk.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 3.13.0 -Release: 1%?dist +Release: 2%?dist Summary: Standard library chunk redistribution License: PSF-2.0 URL: https://github.com/youknowone/python-deadlib diff --git a/anda/langs/python/standard-sunau/standard-sunau.spec b/anda/langs/python/standard-sunau/standard-sunau.spec index febc32dc9b..e16598e4d9 100644 --- a/anda/langs/python/standard-sunau/standard-sunau.spec +++ b/anda/langs/python/standard-sunau/standard-sunau.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 3.13.0 -Release: 1%?dist +Release: 2%?dist Summary: Standard library sunau redistribution License: PSF-2.0 URL: https://github.com/youknowone/python-deadlib diff --git a/anda/langs/python/stempeg/stempeg.spec b/anda/langs/python/stempeg/stempeg.spec index b74c053b04..cdef32c7c0 100644 --- a/anda/langs/python/stempeg/stempeg.spec +++ b/anda/langs/python/stempeg/stempeg.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.2.6 -Release: 1%?dist +Release: 2%?dist Summary: Python I/O for STEM audio files License: MIT URL: https://faroit.com/stempeg/ diff --git a/anda/langs/python/submitit/submitit.spec b/anda/langs/python/submitit/submitit.spec index 39ff45ce90..483612afaf 100644 --- a/anda/langs/python/submitit/submitit.spec +++ b/anda/langs/python/submitit/submitit.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.5.4 -Release: 1%?dist +Release: 2%?dist Summary: Python 3.8+ toolbox for submitting jobs to Slurm License: MIT URL: https://github.com/facebookincubator/submitit @@ -14,6 +14,7 @@ BuildRequires: python3-devel BuildRequires: python3-wheel BuildRequires: python3-setuptools BuildRequires: python3-pip +BuildRequires: python3-flit-core Packager: Owen Zimmerman diff --git a/anda/langs/python/superisoupdater/remove-version-reqs.patch b/anda/langs/python/superisoupdater/remove-version-reqs.patch deleted file mode 100644 index e367b49cb3..0000000000 --- a/anda/langs/python/superisoupdater/remove-version-reqs.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/requirements.txt b/requirements.txt -index f450174..94ac9b8 100644 ---- a/requirements.txt -+++ b/requirements.txt -@@ -1,4 +1,4 @@ --beautifulsoup4==4.12.2 --requests==2.31.0 --tqdm==4.65.0 --PGPy13==0.6.1rc1 -\ No newline at end of file -+beautifulsoup4 -+requests -+tqdm -+PGPy13 -diff --git a/setup.py b/setup.py -index aa41242..348b51c 100644 ---- a/setup.py -+++ b/setup.py -@@ -43,10 +43,10 @@ setup( - package_data={"": ["config.toml.default"]}, - python_requires=">=3.10, <4", - install_requires=[ -- "beautifulsoup4==4.12.2", -- "requests==2.31.0", -- "tqdm==4.65.0", -- "PGPy13==0.6.1rc1", -+ "beautifulsoup4", -+ "requests", -+ "tqdm", -+ "PGPy13", - ], # Optional - # extras_require={ - # "dev": [""], diff --git a/anda/langs/python/superisoupdater/superisoupdater.spec b/anda/langs/python/superisoupdater/superisoupdater.spec index 7c39e276ea..c2887e29a7 100644 --- a/anda/langs/python/superisoupdater/superisoupdater.spec +++ b/anda/langs/python/superisoupdater/superisoupdater.spec @@ -2,13 +2,12 @@ %global _desc A powerful tool to conveniently update all of your ISOs! Name: python-%{pypi_name} -Version: 2.2.0 +Version: 2.4.1 Release: 1%{?dist} Summary: %{_desc} -License: GPLv3 +License: GPL-3.0-or-later URL: https://github.com/JoshuaVandaele/SuperISOUpdater Source0: %url/archive/refs/tags/%{version}.tar.gz -Patch0: remove-version-reqs.patch BuildArch: noarch BuildRequires: python3-devel @@ -33,7 +32,9 @@ Provides: superisoupdater %{_desc} %prep -%autosetup -p1 -n SuperISOUpdater-%{version} +%autosetup -n SuperISOUpdater-%{version} + +%pyproject_patch_dependency requests-cache:drop_constraints %build %pyproject_wheel @@ -46,17 +47,17 @@ Provides: superisoupdater %doc README.md %license LICENSE %{_bindir}/sisou -%ghost %{python3_sitelib}/__pycache__/*.cpython-*.pyc -%ghost %{python3_sitelib}/%{name}/subcommands/__pycache__/*.cpython-*.pyc %{python3_sitelib}/sisou-%{version}.dist-info/* %{python3_sitelib}/config/*.py %{python3_sitelib}/config/__pycache__/*.cpython-*.pyc %{python3_sitelib}/config/__pycache__/*.cpython-*.*-*.pyc -%{python3_sitelib}/config/config.toml.default %{python3_sitelib}/modules/*.py +%{python3_sitelib}/config/sisou.toml.default +%{python3_sitelib}/modules/mirrors/ %{python3_sitelib}/modules/__pycache__/*.pyc %{python3_sitelib}/modules/updaters/*.py %{python3_sitelib}/modules/updaters/__pycache__/*.pyc +%{_prefix}/sisou/config/sisou.toml.default %changelog * Wed Oct 08 2025 Owen Zimmerman diff --git a/anda/langs/python/synapse-s3-storage-provider/synapse-s3-storage-provider.spec b/anda/langs/python/synapse-s3-storage-provider/synapse-s3-storage-provider.spec index 254475b595..c1558316f1 100644 --- a/anda/langs/python/synapse-s3-storage-provider/synapse-s3-storage-provider.spec +++ b/anda/langs/python/synapse-s3-storage-provider/synapse-s3-storage-provider.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.6.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Synapse storage provider to fetch and store media in Amazon S3 License: Apache-2.0 URL: https://github.com/matrix-org/synapse-s3-storage-provider diff --git a/anda/langs/python/tekore/tekore.spec b/anda/langs/python/tekore/tekore.spec index 87b82a259f..a067d13ac1 100644 --- a/anda/langs/python/tekore/tekore.spec +++ b/anda/langs/python/tekore/tekore.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 6.1.1 -Release: 1%?dist +Release: 2%?dist Summary: Spotify Web API client for Python 3 License: MIT URL: https://tekore.readthedocs.io/en/stable/ diff --git a/anda/langs/python/tidalapi/tidalapi.spec b/anda/langs/python/tidalapi/tidalapi.spec index 6d25af8cd4..52d6ca0b1f 100644 --- a/anda/langs/python/tidalapi/tidalapi.spec +++ b/anda/langs/python/tidalapi/tidalapi.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.8.11 -Release: 1%?dist +Release: 2%?dist Summary: Python API for TIDAL music streaming service License: LGPL-3.0-or-later URL: https://github.com/matrix-org/synapse-s3-storage-provider diff --git a/anda/langs/python/tokenizers/tokenizers.spec b/anda/langs/python/tokenizers/tokenizers.spec index d4e43269ed..6da107f291 100644 --- a/anda/langs/python/tokenizers/tokenizers.spec +++ b/anda/langs/python/tokenizers/tokenizers.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.23.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Fast State-of-the-Art Tokenizers optimized for Research and Production License: Apache-2.0 URL: https://github.com/huggingface/tokenizers diff --git a/anda/langs/python/torrentp/anda.hcl b/anda/langs/python/torrentp/anda.hcl new file mode 100644 index 0000000000..a4f3f25f91 --- /dev/null +++ b/anda/langs/python/torrentp/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "torrentp.spec" + } +} diff --git a/anda/langs/python/torrentp/torrentp.spec b/anda/langs/python/torrentp/torrentp.spec new file mode 100644 index 0000000000..e66328d4e5 --- /dev/null +++ b/anda/langs/python/torrentp/torrentp.spec @@ -0,0 +1,47 @@ +%global pypi_name torrentp +%global _desc Python torrent downloader - Download from torrent with .torrent file or magnet link, with just 3 lines of python code. + +Name: python-%{pypi_name} +Version: 0.2.7 +Release: 1%{?dist} +Summary: Python torrent downloader - Download from torrent with .torrent file or magnet link, with just 3 lines of python code +License: BSD-2-Clause +URL: https://github.com/iw4p/torrentp +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%prep +%autosetup -n %{pypi_name}-%{version} +%pyproject_patch_dependency rich:drop_constraints + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/torrentp + +%changelog +* Sun Jun 07 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/torrentp/update.rhai b/anda/langs/python/torrentp/update.rhai new file mode 100644 index 0000000000..9f038e875f --- /dev/null +++ b/anda/langs/python/torrentp/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("torrentp")); diff --git a/anda/langs/python/transformers/transformers.spec b/anda/langs/python/transformers/transformers.spec index 3ac052496c..352c38e709 100644 --- a/anda/langs/python/transformers/transformers.spec +++ b/anda/langs/python/transformers/transformers.spec @@ -2,7 +2,7 @@ %global _desc The model-definition framework for state-of-the-art machine learning models. Name: python-%{pypi_name} -Version: 5.9.0 +Version: 5.12.1 Release: 1%{?dist} Summary: The model-definition framework for state-of-the-art machine learning models License: Apache-2.0 diff --git a/anda/langs/python/treetable/treetable.spec b/anda/langs/python/treetable/treetable.spec index fe3aaff265..1638353620 100644 --- a/anda/langs/python/treetable/treetable.spec +++ b/anda/langs/python/treetable/treetable.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.2.6 -Release: 1%?dist +Release: 2%?dist Summary: Print in ascii art a table with a tree-like structure License: Unlicense URL: https://github.com/adefossez/treetable diff --git a/anda/langs/python/txtorcon/txtorcon.spec b/anda/langs/python/txtorcon/txtorcon.spec index 745fd70d95..c2812ea97c 100644 --- a/anda/langs/python/txtorcon/txtorcon.spec +++ b/anda/langs/python/txtorcon/txtorcon.spec @@ -2,8 +2,8 @@ %global _desc Twisted-based asynchronous Tor control protocol implementation. Includes unit-tests, examples, state-tracking code and configuration abstraction. Name: python-%{pypi_name} -Version: 24.8.0 -Release: 1%?dist +Version: 26.6.0 +Release: 2%{?dist} Summary: Twisted-based asynchronous Tor control protocol implementation. Includes unit-tests, examples, state-tracking code and configuration abstraction License: MIT URL: https://github.com/meejah/txtorcon diff --git a/anda/langs/python/types-colorama/types-colorama.spec b/anda/langs/python/types-colorama/types-colorama.spec index b8c4b882ba..893376182c 100644 --- a/anda/langs/python/types-colorama/types-colorama.spec +++ b/anda/langs/python/types-colorama/types-colorama.spec @@ -1,5 +1,5 @@ -%global commit 23246f8aa1afde10a76959b021a66065d8758a55 -%global commit_date 20260525 +%global commit f9e0f8ce9a933648022d618961693ee74cb8d4f4 +%global commit_date 20260624 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global pypi_name types-colorama diff --git a/anda/langs/python/upiano/upiano.spec b/anda/langs/python/upiano/upiano.spec index 403ae7f2a1..79512e40ab 100644 --- a/anda/langs/python/upiano/upiano.spec +++ b/anda/langs/python/upiano/upiano.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.1.2 -Release: 3%?dist +Release: 4%?dist Summary: Terminal Piano App License: MIT URL: https://github.com/eliasdorneles/upiano diff --git a/anda/langs/python/uroman/anda.hcl b/anda/langs/python/uroman/anda.hcl new file mode 100644 index 0000000000..3bda26f105 --- /dev/null +++ b/anda/langs/python/uroman/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "uroman.spec" + } +} diff --git a/anda/langs/python/uroman/update.rhai b/anda/langs/python/uroman/update.rhai new file mode 100644 index 0000000000..169a84812a --- /dev/null +++ b/anda/langs/python/uroman/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("uroman")); diff --git a/anda/langs/python/uroman/uroman.spec b/anda/langs/python/uroman/uroman.spec new file mode 100644 index 0000000000..f664d84f0d --- /dev/null +++ b/anda/langs/python/uroman/uroman.spec @@ -0,0 +1,52 @@ +%global pypi_name uroman +%global _desc Universal Romanizer that can convert any unicode script to roman (latin) script. + +Name: python-%{pypi_name} +Version: 1.3.1.1 +Release: 2%{?dist} +Summary: Universal Romanizer that can convert any unicode script to roman (latin) script +License: GPL-3.0-or-later +URL: https://github.com/isi-nlp/uroman +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-hatchling + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%prep +%autosetup -n %{pypi_name}-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} +rm -r %{buildroot}%{python3_sitelib}/LICENSE.txt +rm -r %{buildroot}%{python3_sitelib}/README.md +rm -r %{buildroot}%{python3_sitelib}/pyproject.toml +rm -r %{buildroot}%{python3_sitelib}/requirements.txt + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE.txt +%{_bindir}/uroman + +%changelog +* Sun May 24 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/vulkan/vulkan.spec b/anda/langs/python/vulkan/vulkan.spec index a46e96500f..7b89975487 100644 --- a/anda/langs/python/vulkan/vulkan.spec +++ b/anda/langs/python/vulkan/vulkan.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 1.3.275.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The ultimate Python binding for Vulkan API License: Apache-2.0 URL: https://github.com/realitix/vulkan diff --git a/anda/langs/python/west/west.spec b/anda/langs/python/west/west.spec index f7d40f232c..107d4f6997 100644 --- a/anda/langs/python/west/west.spec +++ b/anda/langs/python/west/west.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 1.5.0 -Release: 2%?dist +Release: 3%?dist Summary: West, Zephyr's meta-tool License: Apache-2.0 URL: https://github.com/zephyrproject-rtos/west diff --git a/anda/langs/python/wget/wget.spec b/anda/langs/python/wget/wget.spec index bde7ac1748..19887f0671 100644 --- a/anda/langs/python/wget/wget.spec +++ b/anda/langs/python/wget/wget.spec @@ -7,7 +7,7 @@ Name: python-%{pypi_name} Version: 3.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Pure Python download utility License: LicenseRef-Fedora-Public-Domain URL: https://pypi.org/project/wget/ diff --git a/anda/langs/python/whey/whey.spec b/anda/langs/python/whey/whey.spec index 11b6c0dbce..18a8651897 100644 --- a/anda/langs/python/whey/whey.spec +++ b/anda/langs/python/whey/whey.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 0.1.1 -Release: 1%?dist +Release: 2%?dist Summary: A simple Python wheel builder for simple projects License: MIT URL: https://github.com/deepin-community/python-whey diff --git a/anda/langs/python/yamale/yamale.spec b/anda/langs/python/yamale/yamale.spec index bc70a64261..f9a5eb3f1f 100644 --- a/anda/langs/python/yamale/yamale.spec +++ b/anda/langs/python/yamale/yamale.spec @@ -3,7 +3,7 @@ Name: python-%{pypi_name} Version: 6.1.0 -Release: 2%?dist +Release: 3%?dist Summary: A schema and validator for YAML License: MIT URL: https://github.com/23andMe/Yamale diff --git a/anda/langs/python/zipstream-ng/zipstream-ng.spec b/anda/langs/python/zipstream-ng/zipstream-ng.spec index 5931e2f74e..9a653ab29c 100644 --- a/anda/langs/python/zipstream-ng/zipstream-ng.spec +++ b/anda/langs/python/zipstream-ng/zipstream-ng.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 1.9.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A modern and easy to use streamable zip file generator License: LGPL-3.0-only URL: https://github.com/pR0Ps/zipstream-ng diff --git a/anda/langs/rust/bacon/rust-bacon.spec b/anda/langs/rust/bacon/rust-bacon.spec index 638330ba0a..c8001c067a 100644 --- a/anda/langs/rust/bacon/rust-bacon.spec +++ b/anda/langs/rust/bacon/rust-bacon.spec @@ -12,7 +12,7 @@ Packager: metcya License: AGPL-3.0 URL: https://crates.io/crates/bacon -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: anda-srpm-macros BuildRequires: mold diff --git a/anda/langs/rust/bandwhich/rust-bandwhich.spec b/anda/langs/rust/bandwhich/rust-bandwhich.spec index 4a0bb0b811..20e1ab4898 100644 --- a/anda/langs/rust/bandwhich/rust-bandwhich.spec +++ b/anda/langs/rust/bandwhich/rust-bandwhich.spec @@ -11,7 +11,7 @@ Summary: Display current network utilization by process, connection and r License: MIT URL: https://crates.io/crates/bandwhich -Source: %{crates_source} +Source: %{terra_crates_source} # Automatically generated patch to strip dependencies and normalize metadata Patch: bandwhich-fix-metadata-auto.diff diff --git a/anda/langs/rust/bottom/rust-bottom.spec b/anda/langs/rust/bottom/rust-bottom.spec index b077d38eed..75d5e61a5b 100644 --- a/anda/langs/rust/bottom/rust-bottom.spec +++ b/anda/langs/rust/bottom/rust-bottom.spec @@ -5,13 +5,13 @@ %global crate bottom Name: rust-bottom -Version: 0.12.3 -Release: 1%?dist +Version: 0.14.1 +Release: 1%{?dist} Summary: Customizable cross-platform graphical process/system monitor for the terminal License: MIT URL: https://crates.io/crates/bottom -Source: %{crates_source} +Source: %{terra_crates_source} # Automatically generated patch to strip dependencies and normalize metadata Patch: bottom-fix-metadata-auto.diff diff --git a/anda/langs/rust/dysk/rust-dysk.spec b/anda/langs/rust/dysk/rust-dysk.spec index a97f42b1aa..bf1f2f226b 100644 --- a/anda/langs/rust/dysk/rust-dysk.spec +++ b/anda/langs/rust/dysk/rust-dysk.spec @@ -10,7 +10,7 @@ Summary: Give information on mounted filesystems License: MIT URL: https://crates.io/crates/dysk -Source: %{crates_source} +Source: %{terra_crates_source} Packager: madonuko BuildRequires: cargo-rpm-macros >= 24 diff --git a/anda/langs/rust/eza/rust-eza.spec b/anda/langs/rust/eza/rust-eza.spec index 173dd8d6fe..88d6cbc86e 100644 --- a/anda/langs/rust/eza/rust-eza.spec +++ b/anda/langs/rust/eza/rust-eza.spec @@ -10,7 +10,7 @@ Summary: Modern replacement for ls License: EUPL-1.2 URL: https://crates.io/crates/eza -Source: %{crates_source} +Source: %{terra_crates_source} # Automatically generated patch to strip dependencies and normalize metadata Patch: eza-fix-metadata-auto.diff diff --git a/anda/langs/rust/felix/rust-felix.spec b/anda/langs/rust/felix/rust-felix.spec index 0a600f0fb7..7e83783ee8 100644 --- a/anda/langs/rust/felix/rust-felix.spec +++ b/anda/langs/rust/felix/rust-felix.spec @@ -9,7 +9,7 @@ Summary: Tui file manager with vim-like key mapping License: MIT URL: https://crates.io/crates/felix -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: anda-srpm-macros rust-packaging >= 21 mold diff --git a/anda/langs/rust/fresh/fresh.spec b/anda/langs/rust/fresh/fresh.spec index fa66862c65..2bb188f7e6 100644 --- a/anda/langs/rust/fresh/fresh.spec +++ b/anda/langs/rust/fresh/fresh.spec @@ -1,7 +1,7 @@ %undefine __brp_mangle_shebangs Name: fresh -Version: 0.3.8 +Version: 0.4.1 Release: 1%{?dist} Summary: Text editor for your terminal: easy, powerful and fast URL: https://getfresh.dev diff --git a/anda/langs/rust/gitoxide/rust-gitoxide.spec b/anda/langs/rust/gitoxide/rust-gitoxide.spec index 2ccae8cb66..64d4965e3d 100644 --- a/anda/langs/rust/gitoxide/rust-gitoxide.spec +++ b/anda/langs/rust/gitoxide/rust-gitoxide.spec @@ -5,13 +5,13 @@ %global crate gitoxide Name: rust-gitoxide -Version: 0.53.0 +Version: 0.55.0 Release: 1%{?dist} Summary: Command-line application for interacting with git repositories License: MIT OR Apache-2.0 URL: https://crates.io/crates/gitoxide -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: openssl-devel-engine cmake anda-srpm-macros rust-packaging >= 21 mold diff --git a/anda/langs/rust/gping/rust-gping.spec b/anda/langs/rust/gping/rust-gping.spec index 09fab69825..1572cef8a6 100644 --- a/anda/langs/rust/gping/rust-gping.spec +++ b/anda/langs/rust/gping/rust-gping.spec @@ -6,13 +6,13 @@ %global crate gping Name: rust-gping -Version: 1.20.1 -Release: 1%?dist +Version: 1.20.2 +Release: 1%{?dist} Summary: Ping, but with a graph License: MIT URL: https://crates.io/crates/gping -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://github.com/orf/gping/blob/gping-v%version/LICENSE BuildRequires: anda-srpm-macros rust-packaging >= 21 mold diff --git a/anda/langs/rust/jellyfin-rpc/rust-jellyfin-rpc-cli.spec b/anda/langs/rust/jellyfin-rpc/rust-jellyfin-rpc-cli.spec index 7eed036285..518f869bc7 100644 --- a/anda/langs/rust/jellyfin-rpc/rust-jellyfin-rpc-cli.spec +++ b/anda/langs/rust/jellyfin-rpc/rust-jellyfin-rpc-cli.spec @@ -11,7 +11,7 @@ Summary: Displays the content you're currently watching on Discord! License: GPL-3.0-or-later URL: https://crates.io/crates/jellyfin-rpc-cli -Source0: %{crates_source} +Source0: %{terra_crates_source} Source1: https://raw.githubusercontent.com/Radiicall/jellyfin-rpc/%version/LICENSE Packager: madonuko diff --git a/anda/langs/rust/joshuto/rust-joshuto.spec b/anda/langs/rust/joshuto/rust-joshuto.spec index dadba92643..d4b6fc5c7f 100644 --- a/anda/langs/rust/joshuto/rust-joshuto.spec +++ b/anda/langs/rust/joshuto/rust-joshuto.spec @@ -11,7 +11,7 @@ Summary: Terminal file manager inspired by ranger License: LGPL-3.0 URL: https://crates.io/crates/joshuto -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: anda-srpm-macros rust-packaging >= 21 diff --git a/anda/langs/rust/koji/rust-koji.spec b/anda/langs/rust/koji/rust-koji.spec index 8cc6e7ac9a..b984fd948c 100644 --- a/anda/langs/rust/koji/rust-koji.spec +++ b/anda/langs/rust/koji/rust-koji.spec @@ -11,7 +11,7 @@ Summary: Interactive CLI for creating conventional commits License: MIT URL: https://crates.io/crates/koji -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: cargo-rpm-macros >= 24 anda-srpm-macros BuildRequires: openssl-devel diff --git a/anda/langs/rust/kondo-ui/rust-kondo-ui.spec b/anda/langs/rust/kondo-ui/rust-kondo-ui.spec index e96222e791..115cf141a8 100644 --- a/anda/langs/rust/kondo-ui/rust-kondo-ui.spec +++ b/anda/langs/rust/kondo-ui/rust-kondo-ui.spec @@ -8,7 +8,7 @@ Summary: Filesystem cleaning tool that recursively searches directories f License: MIT URL: https://crates.io/crates/kondo-ui -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: pkgconfig(glib-2.0) pkgconfig(cairo) pkgconfig(cairo-gobject) pkgconfig(gdk-pixbuf-2.0) >= 2.30 pkgconfig(pango) >= 1.36 pkgconfig(atk) >= 2.14 BuildRequires: pkgconfig(gdk-3.0) >= 3.22 diff --git a/anda/langs/rust/lan-mouse/lan-mouse.spec b/anda/langs/rust/lan-mouse/lan-mouse.spec index 4e360c1414..cdfb9020ae 100644 --- a/anda/langs/rust/lan-mouse/lan-mouse.spec +++ b/anda/langs/rust/lan-mouse/lan-mouse.spec @@ -3,8 +3,8 @@ %global rustflags_debuginfo 1 Name: lan-mouse -Version: 0.10.0 -Release: %autorelease +Version: 0.11.0 +Release: 1%{?dist} Summary: Software KVM Switch / mouse & keyboard sharing software for Local Area Networks License: GPL-3.0-or-later diff --git a/anda/langs/rust/ouch/rust-ouch.spec b/anda/langs/rust/ouch/rust-ouch.spec index ababa97206..633a71170d 100644 --- a/anda/langs/rust/ouch/rust-ouch.spec +++ b/anda/langs/rust/ouch/rust-ouch.spec @@ -1,21 +1,23 @@ # Generated by rust2rpm 27 %bcond check 1 +%global __brp_mangle_shebangs %{nil} %global crate ouch Name: rust-ouch -Version: 0.7.1 +Version: 0.8.0 Release: 1%{?dist} Summary: Command-line utility for easily compressing and decompressing files and directories License: MIT URL: https://crates.io/crates/ouch -Source: %{crates_source} +Source: %{terra_crates_source} # Automatically generated patch to strip dependencies and normalize metadata -Patch: ouch-fix-metadata-auto.diff +%dnl Patch: ouch-fix-metadata-auto.diff BuildRequires: anda-srpm-macros cargo-rpm-macros >= 24 BuildRequires: gcc-c++ +BuildRequires: clang-devel %global _description %{expand: A command-line utility for easily compressing and decompressing files @@ -39,7 +41,7 @@ License: (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR MI %{_bindir}/ouch %prep -%autosetup -n %{crate}-%{version} -p1 +%autosetup -n %{crate}-%{version} %cargo_prep_online %build diff --git a/anda/langs/rust/run0-sudo-shim/run0-sudo-shim.spec b/anda/langs/rust/run0-sudo-shim/run0-sudo-shim.spec index 57c6aa373b..d5587abdc0 100644 --- a/anda/langs/rust/run0-sudo-shim/run0-sudo-shim.spec +++ b/anda/langs/rust/run0-sudo-shim/run0-sudo-shim.spec @@ -1,6 +1,6 @@ Name: run0-sudo-shim -Version: 1.2.0 -Release: 1%?dist +Version: 1.3.1 +Release: 1%{?dist} Summary: An imitation of sudo, using run0 internally SourceLicense: BSD-3-Clause License: (Apache-2.0 OR MIT) AND BSD-3-Clause AND MIT diff --git a/anda/langs/rust/starship/rust-starship.spec b/anda/langs/rust/starship/rust-starship.spec index ea49b6f1b1..2cf618e5bb 100644 --- a/anda/langs/rust/starship/rust-starship.spec +++ b/anda/langs/rust/starship/rust-starship.spec @@ -10,7 +10,7 @@ Summary: Minimal, blazing-fast, and infinitely customizable prompt for an License: ISC URL: https://crates.io/crates/starship -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: cargo-rpm-macros >= 24 BuildRequires: anda-srpm-macros diff --git a/anda/langs/rust/tectonic/rust-tectonic.spec b/anda/langs/rust/tectonic/rust-tectonic.spec index 4aa91177f7..3a47de0bbd 100644 --- a/anda/langs/rust/tectonic/rust-tectonic.spec +++ b/anda/langs/rust/tectonic/rust-tectonic.spec @@ -10,7 +10,7 @@ Summary: Modernized, complete, embeddable TeX/LaTeX engine License: MIT URL: https://crates.io/crates/tectonic -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: pkgconfig(fontconfig) g++ libicu-devel freetype-devel openssl-devel graphite2-devel anda-srpm-macros rust-packaging >= 21 diff --git a/anda/langs/rust/television/rust-television.spec b/anda/langs/rust/television/rust-television.spec index 0671af91c4..7f876005ba 100644 --- a/anda/langs/rust/television/rust-television.spec +++ b/anda/langs/rust/television/rust-television.spec @@ -5,13 +5,13 @@ %global crate television Name: rust-television -Version: 0.15.7 +Version: 0.15.9 Release: 1%{?dist} Summary: Very fast, portable and hackable fuzzy finder for the terminal License: MIT URL: https://crates.io/crates/television -Source: %{crates_source} +Source: %{terra_crates_source} # Automatically generated patch to strip dependencies and normalize metadata Patch: television-fix-metadata-auto.diff diff --git a/anda/langs/rust/typst/rust-typst.spec b/anda/langs/rust/typst/rust-typst.spec index 082e2be580..0a6fd31a10 100644 --- a/anda/langs/rust/typst/rust-typst.spec +++ b/anda/langs/rust/typst/rust-typst.spec @@ -4,8 +4,8 @@ %global crate typst Name: rust-typst -Version: 0.14.2 -Release: 1%?dist +Version: 0.15.0 +Release: 1%{?dist} Summary: New markup-based typesetting system that is powerful and easy to learn License: Apache-2.0 diff --git a/anda/langs/rust/typstyle/rust-typstyle.spec b/anda/langs/rust/typstyle/rust-typstyle.spec index 85fb40af4b..4f40ab8294 100644 --- a/anda/langs/rust/typstyle/rust-typstyle.spec +++ b/anda/langs/rust/typstyle/rust-typstyle.spec @@ -4,13 +4,13 @@ %global crate typstyle Name: rust-typstyle -Version: 0.14.4 -Release: 1%?dist +Version: 0.15.0 +Release: 1%{?dist} Summary: CLI for Typstyle License: Apache-2.0 URL: https://crates.io/crates/typstyle -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://raw.githubusercontent.com/typstyle-rs/typstyle/v%{version}/LICENSE Packager: metcya diff --git a/anda/langs/rust/usage/rust-usage-cli.spec b/anda/langs/rust/usage/rust-usage-cli.spec index 535a49ba9d..c315f74624 100644 --- a/anda/langs/rust/usage/rust-usage-cli.spec +++ b/anda/langs/rust/usage/rust-usage-cli.spec @@ -4,13 +4,13 @@ %global crate usage-cli Name: rust-usage-cli -Version: 3.3.0 +Version: 3.5.3 Release: 1%{?dist} Summary: CLI for working with usage-based CLIs License: MIT URL: https://crates.io/crates/usage-cli -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://raw.githubusercontent.com/jdx/usage/refs/tags/v%version/LICENSE Packager: madonuko diff --git a/anda/langs/rust/wild/rust-wild-linker.spec b/anda/langs/rust/wild/rust-wild-linker.spec index f4d2f8624f..1e60f8f26b 100644 --- a/anda/langs/rust/wild/rust-wild-linker.spec +++ b/anda/langs/rust/wild/rust-wild-linker.spec @@ -10,7 +10,7 @@ Summary: Very fast linker for Linux License: MIT OR Apache-2.0 URL: https://crates.io/crates/wild-linker -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://github.com/davidlattimore/wild/archive/refs/tags/%version.tar.gz BuildRequires: cargo-rpm-macros >= 24 diff --git a/anda/langs/rust/xdvdfs/rust-xdvdfs-cli.spec b/anda/langs/rust/xdvdfs/rust-xdvdfs-cli.spec index a45f7c2070..79a1ededa7 100644 --- a/anda/langs/rust/xdvdfs/rust-xdvdfs-cli.spec +++ b/anda/langs/rust/xdvdfs/rust-xdvdfs-cli.spec @@ -10,7 +10,7 @@ Summary: Tool for interacting with XISO/XDVDFS images License: MIT URL: https://crates.io/crates/xdvdfs-cli -Source: %{crates_source} +Source: %{terra_crates_source} Source1: https://raw.githubusercontent.com/antangelo/xdvdfs/v%version/LICENSE Packager: madonuko diff --git a/anda/langs/rust/xplr/rust-xplr.spec b/anda/langs/rust/xplr/rust-xplr.spec index 8c56a06815..ad5cfea51f 100644 --- a/anda/langs/rust/xplr/rust-xplr.spec +++ b/anda/langs/rust/xplr/rust-xplr.spec @@ -10,7 +10,7 @@ Summary: Hackable, minimal, fast TUI file explorer License: MIT URL: https://crates.io/crates/xplr -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: cargo-rpm-macros >= 24 BuildRequires: mold diff --git a/anda/langs/rust/youki/rust-youki.spec b/anda/langs/rust/youki/rust-youki.spec index 03ddf728ec..73853507ca 100644 --- a/anda/langs/rust/youki/rust-youki.spec +++ b/anda/langs/rust/youki/rust-youki.spec @@ -10,7 +10,7 @@ Summary: Container runtime written in Rust License: None URL: https://crates.io/crates/youki -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: anda-srpm-macros cargo-rpm-macros >= 24 BuildRequires: pkg-config diff --git a/anda/langs/rust/zellij/rust-zellij.spec b/anda/langs/rust/zellij/rust-zellij.spec index 95bace45f5..aef0b8ae65 100644 --- a/anda/langs/rust/zellij/rust-zellij.spec +++ b/anda/langs/rust/zellij/rust-zellij.spec @@ -11,7 +11,7 @@ Summary: Terminal workspace with batteries included License: MIT URL: https://crates.io/crates/zellij -Source: %{crates_source} +Source: %{terra_crates_source} ExclusiveArch: %{rust_arches} diff --git a/anda/langs/rust/zoi/rust-zoi-rs.spec b/anda/langs/rust/zoi/rust-zoi-rs.spec index 0d22f40f4b..d17274b178 100644 --- a/anda/langs/rust/zoi/rust-zoi-rs.spec +++ b/anda/langs/rust/zoi/rust-zoi-rs.spec @@ -1,7 +1,7 @@ %define __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ %global crate zoi-rs -%global crate_version 1.14.0 +%global crate_version 1.18.6 Name: rust-zoi-rs Version: %(echo %crate_version | sed 's/-/~/g') @@ -10,7 +10,7 @@ Summary: Universal Package Manager & Environment Setup Tool SourceLicense: Apache-2.0 License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND BSL-1.0 AND CDLA-Permissive-2.0 AND ISC AND LGPL-2.0-or-later AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND MPL-2.0+ AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib URL: https://crates.io/crates/zoi-rs -Source: %{crates_source %{crate} %{crate_version}} +Source: https://static.crates.io/crates/%{crate}/%{crate}-%{crate_version}.crate BuildRequires: cargo BuildRequires: gcc-c++ BuildRequires: rpm_macro(cargo_install) 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 712eccb69c..f9c0782088 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 @@ -14,7 +14,7 @@ Release: 1%{?dist} # The entire source is LGPLv2+, except plugins/gnome-builder/vala_langserv.py, which is GPLv3+. # It is not installed when the "plugins" meson option is set to false. # Since GNOME Builder 41, the VLS the plugin has been included. -License: LGPL-2.0+ +License: LGPL-2.0-or-later URL: https://github.com/vala-lang/vala-language-server Source0: https://github.com/vala-lang/vala-language-server/archive/%{commit}/%{real_name}-%{shortcommit}.tar.gz diff --git a/anda/langs/vala/vala-nightly/vala-nightly.spec b/anda/langs/vala/vala-nightly/vala-nightly.spec index b4ffc1a675..1c7c3c33e4 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 7a80e9901b4640dab0a11e96a9158545df6d6937 +%global commit c5d31b3fcdb9d564dc3340714a129f72a072391f %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global repo https://gitlab.gnome.org/GNOME/%{real_name}.git -%global commit_date 20260517 +%global commit_date 20260528 %global snapshot_info %{commit_date}.%{shortcommit} Name: vala-nightly diff --git a/anda/langs/zig/bootstrap/setup.sh b/anda/langs/zig/bootstrap/setup.sh index 45e64be448..4070904d83 100755 --- a/anda/langs/zig/bootstrap/setup.sh +++ b/anda/langs/zig/bootstrap/setup.sh @@ -1,6 +1,6 @@ #!/usr/bin/bash -version=0.17.0-dev.340+c02d39a21 +version=0.17.0-dev.956+2dca73595 mirrors=() diff --git a/anda/langs/zig/bootstrap/zig-master-bootstrap.spec b/anda/langs/zig/bootstrap/zig-master-bootstrap.spec index 7ab0026e30..8706a6c955 100644 --- a/anda/langs/zig/bootstrap/zig-master-bootstrap.spec +++ b/anda/langs/zig/bootstrap/zig-master-bootstrap.spec @@ -6,7 +6,7 @@ %define llvm_compat 22 %endif %global llvm_version 22.0.0 -%global ver 0.17.0-dev.340+c02d39a21 +%global ver 0.17.0-dev.956+2dca73595 %bcond bootstrap 1 %bcond docs %{without bootstrap} %bcond test 1 diff --git a/anda/langs/zig/master/zig-master.spec b/anda/langs/zig/master/zig-master.spec index d191ff0758..df882bfc8a 100644 --- a/anda/langs/zig/master/zig-master.spec +++ b/anda/langs/zig/master/zig-master.spec @@ -18,7 +18,7 @@ %global zig_cache_dir %{builddir}/zig-cache Name: zig-master -Version: 0.17.0~dev.340+c02d39a21 +Version: 0.17.0~dev.956+2dca73595 Release: 2%{?dist} Summary: Master builds of the Zig language License: MIT AND NCSA AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-later AND GPL-2.0-or-later WITH GCC-exception-2.0 AND BSD-3-Clause AND Inner-Net-2.0 AND ISC AND LicenseRef-Fedora-Public-Domain AND GFDL-1.1-or-later AND ZPL-2.1 diff --git a/anda/lib/apparmor/apparmor.spec b/anda/lib/apparmor/apparmor.spec index a79c67ead3..554ad8bf34 100644 --- a/anda/lib/apparmor/apparmor.spec +++ b/anda/lib/apparmor/apparmor.spec @@ -6,7 +6,7 @@ %bcond_with tests Name: apparmor -Version: 5.0.0 +Version: 5.0.1 Release: 1%{?dist} Summary: AppArmor userspace components diff --git a/anda/lib/astal/astal-gtk/astal-gtk.spec b/anda/lib/astal/astal-gtk/astal-gtk.spec index 383a1cd34e..9beb695aa0 100644 --- a/anda/lib/astal/astal-gtk/astal-gtk.spec +++ b/anda/lib/astal/astal-gtk/astal-gtk.spec @@ -1,6 +1,6 @@ -%global commit d8738f97ed01f4d87f668df35fa7bbad795c9e49 -%global shortcommit d8738f9 -%global commit_date 20260523 +%global commit 11842ae3045c1367fb3a62a2302dba0d9ccb4a33 +%global shortcommit 11842ae +%global commit_date 20260622 Name: astal Version: 0^%commit_date.%commit diff --git a/anda/lib/astal/astal/astal.spec b/anda/lib/astal/astal/astal.spec index df4d649261..fb91dff919 100644 --- a/anda/lib/astal/astal/astal.spec +++ b/anda/lib/astal/astal/astal.spec @@ -1,7 +1,7 @@ -%global commit d8738f97ed01f4d87f668df35fa7bbad795c9e49 +%global commit 11842ae3045c1367fb3a62a2302dba0d9ccb4a33 %global shortcommit %{sub %commit 1 7} -%global commit_date 20260523 +%global commit_date 20260622 Name: astal Version: 0^%commit_date.%shortcommit diff --git a/anda/lib/audec/update.rhai b/anda/lib/audec/update.rhai new file mode 100644 index 0000000000..f7ab7b7c02 --- /dev/null +++ b/anda/lib/audec/update.rhai @@ -0,0 +1 @@ +print(sourcehut("~alextee/libaudec")); diff --git a/anda/lib/backtrace/libbacktrace-nightly.spec b/anda/lib/backtrace/libbacktrace-nightly.spec index 046cc9e547..480bbba05d 100644 --- a/anda/lib/backtrace/libbacktrace-nightly.spec +++ b/anda/lib/backtrace/libbacktrace-nightly.spec @@ -1,8 +1,8 @@ %global debug_package %nil -%global commit 96664e69b1ecdb76e824be1d9e8f475b76dd08cf +%global commit 549b81b43b46c0f361680561a626bf0e7b79dcbd %global shortcommit %(c=%commit; echo ${c:0:7}) -%global commit_date 20260504 +%global commit_date 20260603 %global _desc %{expand: A C library that may be linked into a C/C++ program to produce symbolic backtraces. diff --git a/anda/lib/breakpad/breakpad.spec b/anda/lib/breakpad/breakpad.spec index 3133f09c6d..ed9f88fca8 100644 --- a/anda/lib/breakpad/breakpad.spec +++ b/anda/lib/breakpad/breakpad.spec @@ -14,7 +14,7 @@ BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(zlib) BuildRequires: anda-srpm-macros -Packager: Willow Reed +Packager: Cypress Reed %description A set of client and server components which implement a crash-reporting system. @@ -61,5 +61,8 @@ rm -rf %{buildroot}%{_docdir}/breakpad-0.1 %{_libexecdir}/core_handler %changelog -* Fri Jan 02 2026 Willow Reed +* Thu Jun 04 2026 Cypress Reed +- Update email and name (was Willow Reed or Willow C Reed) (I'm official now!) + +* Fri Jan 02 2026 Cypress Reed - Initial commit diff --git a/anda/lib/cmake-extras/cmake-extras.spec b/anda/lib/cmake-extras/cmake-extras.spec index 65f6e54bf6..cd126904db 100644 --- a/anda/lib/cmake-extras/cmake-extras.spec +++ b/anda/lib/cmake-extras/cmake-extras.spec @@ -3,8 +3,8 @@ %forgemeta Name: cmake-extras -Version: 1.9 -Release: 2%?dist +Version: 1.10 +Release: 1%{?dist} Summary: A collection of add-ons for the CMake build tool License: GPL-3.0-or-later URL: https://gitlab.com/ubports/development/core/cmake-extras diff --git a/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec b/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec index 5e51088eca..3a4eb97e68 100644 --- a/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec +++ b/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec @@ -3,7 +3,7 @@ # Metadata. Name: DirectXShaderCompiler -Version: 1.10.2605.2 +Version: 1.10.2605.24 Release: 1%{?dist} Summary: A Direct X Shader compiler. License: MIT diff --git a/anda/lib/fdk-aac/anda.hcl b/anda/lib/fdk-aac/anda.hcl index 1c976b995e..37bf464291 100644 --- a/anda/lib/fdk-aac/anda.hcl +++ b/anda/lib/fdk-aac/anda.hcl @@ -4,8 +4,8 @@ project pkg { spec = "fdk-aac.spec" } labels { - mock=1 + mock = 1 subrepo = "multimedia" - weekly = 1 + updbranch = 1 } } diff --git a/anda/lib/fdk-aac/update.rhai b/anda/lib/fdk-aac/update.rhai index 9b3efb2d09..9ec7817f5b 100644 --- a/anda/lib/fdk-aac/update.rhai +++ b/anda/lib/fdk-aac/update.rhai @@ -1 +1,3 @@ -rpm.version(gh_tag("mstorsjo/fdk-aac")); +import "andax/bump_extras.rhai" as bump; + +rpm.version(bump::bodhi("fdk-aac-free", bump::as_bodhi_ver(labels.branch))); diff --git a/anda/lib/glaze/glaze.spec b/anda/lib/glaze/glaze.spec index 6eff7f9340..f922378175 100644 --- a/anda/lib/glaze/glaze.spec +++ b/anda/lib/glaze/glaze.spec @@ -2,7 +2,7 @@ %global debug_package %{nil} Name: glaze-devel -Version: 7.7.0 +Version: 7.8.3 Release: 1%{?dist} License: MIT URL: https://stephenberry.github.io/glaze diff --git a/anda/lib/libayatana-appindicator-glib/libayatana-appindicator-glib.spec b/anda/lib/libayatana-appindicator-glib/libayatana-appindicator-glib.spec index d4a440ab59..4882695a2e 100644 --- a/anda/lib/libayatana-appindicator-glib/libayatana-appindicator-glib.spec +++ b/anda/lib/libayatana-appindicator-glib/libayatana-appindicator-glib.spec @@ -2,8 +2,8 @@ Name: libayatana-appindicator-glib Summary: Ayatana Application Indicators Shared Library -Version: 2.0.1 -Release: 3%?dist +Version: 2.0.3 +Release: 1%{?dist} License: GPL-3.0-or-later Packager: veuxit URL: https://github.com/AyatanaIndicators/libayatana-appindicator-glib diff --git a/anda/lib/libayatana-common/libayatana-common.spec b/anda/lib/libayatana-common/libayatana-common.spec index ca8f31ad9e..73b48c73ba 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.11 -Release: 3%?dist +Version: 0.9.12 +Release: 1%{?dist} License: GPL-3.0-or-later URL: https://github.com/AyatanaIndicators/libayatana-common Source0: %{url}/archive/refs/tags/%{version}.tar.gz diff --git a/anda/lib/libde265/libde265.spec b/anda/lib/libde265/libde265.spec index b725ecb840..56d99ccf24 100644 --- a/anda/lib/libde265/libde265.spec +++ b/anda/lib/libde265/libde265.spec @@ -1,6 +1,6 @@ Name: libde265 Summary: Open H.265 video codec implementation -Version: 1.0.19 +Version: 1.1.1 Release: 1%{?dist} License: LGPL-3.0-or-later URL: https://www.libde265.org/ diff --git a/anda/lib/libusermetrics/libusermetrics.spec b/anda/lib/libusermetrics/libusermetrics.spec index 10f9928671..060445a6e0 100644 --- a/anda/lib/libusermetrics/libusermetrics.spec +++ b/anda/lib/libusermetrics/libusermetrics.spec @@ -1,6 +1,6 @@ Name: libusermetrics -Version: 1.4.1 -Release: 2%?dist +Version: 1.4.2 +Release: 1%{?dist} Summary: library for retrieving anonymous metrics about users License: GPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.1-or-later URL: https://gitlab.com/ubports/development/core/libusermetrics diff --git a/anda/lib/lsp-dsp/liblsp-dsp.spec b/anda/lib/lsp-dsp/liblsp-dsp.spec index 5800be8884..99d7a8814d 100644 --- a/anda/lib/lsp-dsp/liblsp-dsp.spec +++ b/anda/lib/lsp-dsp/liblsp-dsp.spec @@ -3,7 +3,7 @@ #define _empty_manifest_terminate_build 0 Name: liblsp-dsp -Version: 1.0.35 +Version: 1.0.36 Release: 1%{?dist} Summary: DSP library for signal processing License: LGPL-3.0 diff --git a/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec b/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec index a531ae18a2..b088a0226f 100644 --- a/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec +++ b/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.75 +Version: 13.3.29 Release: 1%{?dist} Summary: CUDA Runtime API library License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec b/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec index b8c302a2cc..11defc0b5b 100644 --- a/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec +++ b/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec @@ -5,7 +5,7 @@ %global cuda_version 13 Name: cuda-cudnn -Version: 9.22.0.52 +Version: 9.23.2.1 Release: 1%{?dist} Epoch: 1 Summary: NVIDIA CUDA Deep Neural Network library (cuDNN) diff --git a/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec b/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec index e7e384a94b..ac30881f6e 100644 --- a/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec +++ b/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-')-devel Epoch: 1 -Version: 13.2.75 +Version: 13.3.33 Release: 1%{?dist} Summary: CUDA Culibos Math development library License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec b/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec index ef6f98e43a..aa66714977 100644 --- a/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec +++ b/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.29 Release: 1%{?dist} Summary: Utility to extract information from CUDA binary files License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec b/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec index 342d91a132..ba6ddfe531 100644 --- a/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec +++ b/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.75 +Version: 13.3.35 Release: 1%{?dist} Summary: NVIDIA CUDA Profiling Tools Interface (CUPTI) library License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec b/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec index 54ef59bade..6dcccc115f 100644 --- a/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec +++ b/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.29 Release: 1%{?dist} Summary: CUDA cuxxfilt (demangler) License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec b/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec index 3b0dd5982d..03c474d5cb 100644 --- a/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec +++ b/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec @@ -7,8 +7,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.75 -Release: 2%{?dist} +Version: 13.3.27 +Release: 1%{?dist} Summary: CUDA GDB License: GPL-3.0-or-later AND GPL-3.0-or-later with exceptions AND GPL-2.0-or-later AND GPL-2.0-or-later with exceptions AND GPL-1.0-or-later AND LGPL-2.0-or-later AND LGPL-3.0-or-later AND BSD AND LicenseRef-Fedora-Public-Domain AND GFDL URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec b/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec index 4fd11a21b2..5c3ba80d0f 100644 --- a/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec +++ b/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.29 Release: 1%{?dist} Summary: Utility to extract information from CUDA binary files License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec b/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec index d9604741f4..2e58cbe62e 100644 --- a/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec +++ b/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec @@ -8,7 +8,7 @@ Name: cuda-nvml Epoch: 1 -Version: 13.2.82 +Version: 13.3.29 Release: 1%{?dist} Summary: NVIDIA Management library (NVML) License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec b/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec index fb57e966aa..b4a577b7b9 100644 --- a/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec +++ b/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.29 Release: 1%{?dist} Summary: CUDA nvprune License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec b/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec index 4cb43cadec..20ad6478be 100644 --- a/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec +++ b/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.33 Release: 1%{?dist} Summary: CUDA runtime compilation library (NVRTC) License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec b/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec index 6742f0c1e6..c01bd7338a 100644 --- a/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec +++ b/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.75 +Version: 13.3.29 Release: 1%{?dist} Summary: NVIDIA Tools Extension (NVTX) library License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec b/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec index 07231d98de..56cff10f83 100644 --- a/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec +++ b/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec @@ -5,7 +5,7 @@ Name: cuda-profiler Epoch: 1 -Version: 13.2.75 +Version: 13.3.27 Release: 1%{?dist} Summary: CUDA Profiler API License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec b/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec index f93fc480a9..6b44011535 100644 --- a/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec +++ b/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec @@ -8,7 +8,7 @@ Name: cuda-sandbox Epoch: 1 -Version: 13.2.82 +Version: 13.3.29 Release: 1%{?dist} Summary: CUDA nvsandboxutils License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec b/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec index 438e97ce3a..58151b33f3 100644 --- a/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec +++ b/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec @@ -8,7 +8,7 @@ Name: cuda-sanitizer Epoch: 1 -Version: 13.2.76 +Version: 13.3.27 Release: 1%{?dist} Summary: CUDA Compute Sanitizer API License: CUDA Toolkit diff --git a/anda/lib/nvidia/cuda/cuda.spec b/anda/lib/nvidia/cuda/cuda.spec index bb9e5ebac9..6ab7b6fd32 100644 --- a/anda/lib/nvidia/cuda/cuda.spec +++ b/anda/lib/nvidia/cuda/cuda.spec @@ -2,7 +2,7 @@ %global major_package_version 13-0 Name: cuda -Version: 13.2.75 +Version: 13.3.40 Release: 1%{?dist} Summary: NVIDIA Compute Unified Device Architecture Toolkit Epoch: 1 diff --git a/anda/lib/nvidia/libcublas/libcublas.spec b/anda/lib/nvidia/libcublas/libcublas.spec index 8888c7f914..8e3e01a4fd 100644 --- a/anda/lib/nvidia/libcublas/libcublas.spec +++ b/anda/lib/nvidia/libcublas/libcublas.spec @@ -6,7 +6,7 @@ Name: libcublas Epoch: 1 -Version: 13.4.0.1 +Version: 13.5.1.27 Release: 1%{?dist} Summary: NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) libraries License: CUDA Toolkit diff --git a/anda/lib/nvidia/libcudla/libcudla.spec b/anda/lib/nvidia/libcudla/libcudla.spec index 97a4e28233..d149a2f7f9 100644 --- a/anda/lib/nvidia/libcudla/libcudla.spec +++ b/anda/lib/nvidia/libcudla/libcudla.spec @@ -6,7 +6,7 @@ Name: libcudla Epoch: 1 -Version: 13.2.75 +Version: 13.3.29 Release: 1%{?dist} Summary: NVIDIA CUDA Deep Learning Accelerator (DLA) engines (Jetson Xavier + Orin) License: CUDA Toolkit diff --git a/anda/lib/nvidia/libcufft/libcufft.spec b/anda/lib/nvidia/libcufft/libcufft.spec index 6ec176a5ec..1af10a9d10 100644 --- a/anda/lib/nvidia/libcufft/libcufft.spec +++ b/anda/lib/nvidia/libcufft/libcufft.spec @@ -6,7 +6,7 @@ Name: libcufft Epoch: 2 -Version: 12.2.0.46 +Version: 12.3.0.29 Release: 1%{?dist} Summary: NVIDIA CUDA Fast Fourier Transform library (cuFFT) libraries License: CUDA Toolkit diff --git a/anda/lib/nvidia/libcufile/libcufile.spec b/anda/lib/nvidia/libcufile/libcufile.spec index ed17599098..a2f5d529a4 100644 --- a/anda/lib/nvidia/libcufile/libcufile.spec +++ b/anda/lib/nvidia/libcufile/libcufile.spec @@ -6,7 +6,7 @@ Name: libcufile Epoch: 1 -Version: 1.17.1.22 +Version: 1.18.0.66 Release: 1%{?dist} Summary: NVIDIA GPUDirect Storage library (cuFile) License: CUDA Toolkit diff --git a/anda/lib/nvidia/libcurand/libcurand.spec b/anda/lib/nvidia/libcurand/libcurand.spec index cb96a7f02e..c575b58ff5 100644 --- a/anda/lib/nvidia/libcurand/libcurand.spec +++ b/anda/lib/nvidia/libcurand/libcurand.spec @@ -6,7 +6,7 @@ Name: libcurand Epoch: 2 -Version: 10.4.2.55 +Version: 10.4.3.29 Release: 1%{?dist} Summary: NVIDIA CUDA Random Number Generation library (cuRAND) License: CUDA Toolkit diff --git a/anda/lib/nvidia/libcusolver/libcusolver.spec b/anda/lib/nvidia/libcusolver/libcusolver.spec index 37c93b7ebd..8a4ee7bf3b 100644 --- a/anda/lib/nvidia/libcusolver/libcusolver.spec +++ b/anda/lib/nvidia/libcusolver/libcusolver.spec @@ -6,7 +6,7 @@ Name: libcusolver Epoch: 2 -Version: 12.2.0.1 +Version: 12.2.2.18 Release: 1%{?dist} Summary: NVIDIA cuSOLVER library License: CUDA Toolkit diff --git a/anda/lib/nvidia/libcusparse/libcusparse.spec b/anda/lib/nvidia/libcusparse/libcusparse.spec index 6ce77a2c32..7d63693edc 100644 --- a/anda/lib/nvidia/libcusparse/libcusparse.spec +++ b/anda/lib/nvidia/libcusparse/libcusparse.spec @@ -6,7 +6,7 @@ Name: libcusparse Epoch: 1 -Version: 12.7.10.1 +Version: 12.8.1.7 Release: 1%{?dist} Summary: NVIDIA CUDA Sparse Matrix library (cuSPARSE) library License: CUDA Toolkit diff --git a/anda/lib/nvidia/libnpp/libnpp.spec b/anda/lib/nvidia/libnpp/libnpp.spec index fe92f28c28..f7223c4b91 100644 --- a/anda/lib/nvidia/libnpp/libnpp.spec +++ b/anda/lib/nvidia/libnpp/libnpp.spec @@ -6,7 +6,7 @@ Name: libnpp Epoch: 1 -Version: 13.1.0.48 +Version: 13.1.2.48 Release: 1%{?dist} Summary: NVIDIA Performance Primitives libraries License: CUDA Toolkit diff --git a/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec b/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec index 20729b2d5b..21b4d2de30 100644 --- a/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec +++ b/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec @@ -6,7 +6,7 @@ Name: libnvfatbin Epoch: 1 -Version: 13.2.78 +Version: 13.3.29 Release: 1%{?dist} Summary: CUDA Fatbin Creator API License: CUDA Toolkit diff --git a/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec b/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec index d1057dee2c..8370a21283 100644 --- a/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec +++ b/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec @@ -6,7 +6,7 @@ Name: libnvjitlink Epoch: 1 -Version: 13.2.78 +Version: 13.3.33 Release: 1%{?dist} Summary: NVIDIA compiler library for JIT LTO functionality License: CUDA Toolkit diff --git a/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec b/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec index 0762d1b7e7..ecbde9fe72 100644 --- a/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec +++ b/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec @@ -6,7 +6,7 @@ Name: libnvjpeg Epoch: 1 -Version: 13.1.0.48 +Version: 13.2.0.21 Release: 1%{?dist} Summary: CUDA NVIDIA JPEG decoder (nvJPEG) License: CUDA Toolkit diff --git a/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec b/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec index a5895ff3ff..8bdfc7d93f 100644 --- a/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec +++ b/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec @@ -8,7 +8,7 @@ Name: %{real_name}-devel Epoch: 1 -Version: 13.2.78 +Version: 13.3.33 Release: 1%{?dist} Summary: CUDA nvptxcompiler License: CUDA Toolkit diff --git a/anda/lib/nvidia/libnvvm/libnvvm.spec b/anda/lib/nvidia/libnvvm/libnvvm.spec index 2917336fad..0cc5b8ccfc 100644 --- a/anda/lib/nvidia/libnvvm/libnvvm.spec +++ b/anda/lib/nvidia/libnvvm/libnvvm.spec @@ -7,7 +7,7 @@ %global major_package_version 13-0 Name: %(echo %real_name | tr '_' '-') -Version: 13.2.78 +Version: 13.3.33 Release: 1%{?dist} Summary: CUDA NVVM License: CUDA Toolkit diff --git a/anda/lib/qmenumodel/qmenumodel.spec b/anda/lib/qmenumodel/qmenumodel.spec index b1e371b473..797407c4e8 100644 --- a/anda/lib/qmenumodel/qmenumodel.spec +++ b/anda/lib/qmenumodel/qmenumodel.spec @@ -1,6 +1,6 @@ Name: qmenumodel -Version: 0.9.2 -Release: 2%{?dist} +Version: 0.10.0 +Release: 1%{?dist} Summary: Qt5 renderer for Ayatana Indicators License: LGPL-3.0-or-later URL: https://github.com/AyatanaIndicators/qmenumodel diff --git a/anda/lib/qt6-controllable/anda.hcl b/anda/lib/qt6-controllable/anda.hcl new file mode 100644 index 0000000000..9f362fc61d --- /dev/null +++ b/anda/lib/qt6-controllable/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "qt6-controllable.spec" + } +} \ No newline at end of file diff --git a/anda/lib/qt6-controllable/qt6-controllable.spec b/anda/lib/qt6-controllable/qt6-controllable.spec new file mode 100644 index 0000000000..5f0433aa90 --- /dev/null +++ b/anda/lib/qt6-controllable/qt6-controllable.spec @@ -0,0 +1,63 @@ +%global appid io.github.rfrench3.controllable + +Name: qt6-controllable +Version: 0.2.0 +Release: 1%{?dist} +Summary: QML module for controller support + +License: GPL-2.0-or-later +URL: https://github.com/rfrench3/controllable +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +Packager: Robert French + +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: kf6-rpm-macros + +BuildRequires: cmake(SDL3) +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6QuickControls2) + +BuildRequires: cmake(KF6I18n) + +Requires: kf6-ki18n + +Provides: qt6-controllable = %{evr} + +%description +A QML module that provides support for controllers. + +%prep +%autosetup -n controllable-%{version} + +%conf +%cmake + +%build +%cmake_build + +%install +%cmake_install + +%check +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/%{orgname}.*.xml || : + +%files +%license LICENSE.txt +%doc README.md +%{_kf6_metainfodir}/%{appid}.*.xml +%{_kf6_libdir}/libqt6-controllable.so +%{_kf6_qmldir}/io/github/rfrench3/controllable/* + + + +%changelog +* Tue May 12 2026 Robert French +- Initial tests for rpm package +* Sun Apr 26 2026 Robert French +- First day of splitting this module off of bazzite updater diff --git a/anda/lib/qt6-controllable/update.rhai b/anda/lib/qt6-controllable/update.rhai new file mode 100644 index 0000000000..2f728155e2 --- /dev/null +++ b/anda/lib/qt6-controllable/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("rfrench3/controllable")); \ No newline at end of file diff --git a/anda/lib/quickjs-ng/quickjs-ng.spec b/anda/lib/quickjs-ng/quickjs-ng.spec index a2876380c7..e55f9ff084 100644 --- a/anda/lib/quickjs-ng/quickjs-ng.spec +++ b/anda/lib/quickjs-ng/quickjs-ng.spec @@ -1,7 +1,7 @@ %global _distro_extra_cflags -Wno-discarded-qualifiers -Wno-maybe-uninitialized Name: quickjs-ng -Version: 0.15.0 +Version: 0.15.1 Release: 1%{?dist} License: MIT Summary: A mighty JavaScript engine @@ -33,7 +33,7 @@ Requires: %{name}-libs%{_isa} = %evr %pkg_devel_files %files devel -%{_libdir}/cmake/quickjs/*.cmake +%{_libdir}/cmake/qjs/*.cmake %package examples diff --git a/anda/lib/tdlib/tdlib-nightly.spec b/anda/lib/tdlib/tdlib-nightly.spec index e57353fb79..497df21261 100644 --- a/anda/lib/tdlib/tdlib-nightly.spec +++ b/anda/lib/tdlib/tdlib-nightly.spec @@ -1,6 +1,6 @@ -%global commit e0943d068ce90b5010f1aea946e6901e25b43bf6 -%global ver 1.8.64 -%global commit_date 20260519 +%global commit a17f87c4cff7b90b278d12b91ba0614383aaee82 +%global ver 1.8.65 +%global commit_date 20260614 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: tdlib-nightly diff --git a/anda/lib/wails/v3/wails3.spec b/anda/lib/wails/v3/wails3.spec index a34467c2af..6b5fde6533 100644 --- a/anda/lib/wails/v3/wails3.spec +++ b/anda/lib/wails/v3/wails3.spec @@ -1,5 +1,5 @@ -%global ver webview2/v1.0.24 -%global sanitized_ver %(echo %{ver} | sed 's/-/~/g') +%global ver webview2/v1.0.27 +%global sanitized_ver %(echo %{ver} | sed 's|.*/||') %global goipath github.com/wailsapp/wails/v3 Version: %{sanitized_ver} diff --git a/anda/lib/xavs/xavs.spec b/anda/lib/xavs/xavs.spec index 1b35dae6e9..c875b11a73 100644 --- a/anda/lib/xavs/xavs.spec +++ b/anda/lib/xavs/xavs.spec @@ -1,8 +1,13 @@ +%global commit r55 +%global date 20110821 + +%global _pkg_extra_cflags "-Wno-int-conversion -Wno-declaration-missing-parameter-type" + Name: xavs -Version: 0.1.55 -Release: 1%{?dist} +Version: 0.1.55^%{date}svn%{commit} +Release: 2%{?dist} Summary: AVS1 (First-generation AVS Standards) library -License: GPLv2 +License: GPL-2.0-only URL: https://xavs.sourceforge.net/ Patch0: %{name}-cflags.patch BuildRequires: autoconf @@ -10,7 +15,7 @@ BuildRequires: automake BuildRequires: gcc BuildRequires: libtool BuildRequires: subversion -#BuildRequires: yasm +%dnl BuildRequires: yasm %description AVS is a complete standard system including system, video, audio, and digital @@ -35,7 +40,7 @@ The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep -svn co https://svn.code.sf.net/p/xavs/code/trunk %{name} +svn co -r %{commit} https://svn.code.sf.net/p/xavs/code/trunk %{name} %setup -T -D -n %{name} %autopatch -p1 @@ -43,8 +48,7 @@ svn co https://svn.code.sf.net/p/xavs/code/trunk %{name} %configure \ --disable-asm \ --enable-pic \ - --enable-shared \ - --extra-cflags="-Wno-int-conversion -Wno-declaration-missing-parameter-type" + --enable-shared %build %make_build diff --git a/anda/misc/click/click.spec b/anda/misc/click/click.spec index c73a468677..d7a24b24e3 100644 --- a/anda/misc/click/click.spec +++ b/anda/misc/click/click.spec @@ -4,7 +4,7 @@ Name: click Version: 0.5.2 -Release: 3%?dist +Release: 4%?dist Summary: An app building method License: LGPL-3.0-or-later URL: https://gitlab.com/ubports/development/core/click diff --git a/anda/misc/icoextract-thumbnailer/icoextract-thumbnailer.spec b/anda/misc/icoextract-thumbnailer/icoextract-thumbnailer.spec index 4b0a68fb24..3e10392081 100644 --- a/anda/misc/icoextract-thumbnailer/icoextract-thumbnailer.spec +++ b/anda/misc/icoextract-thumbnailer/icoextract-thumbnailer.spec @@ -1,6 +1,6 @@ Name: icoextract-thumbnailer -Version: 0.2.0 -Release: 1%?dist +Version: 0.3.0 +Release: 1%{?dist} Summary: XDG-compatible thumbnailer for Windows PE executables URL: https://github.com/jlu5/icoextract/ diff --git a/anda/misc/pokeget/pokeget.spec b/anda/misc/pokeget/pokeget.spec index 202dd358b7..c4e8516080 100644 --- a/anda/misc/pokeget/pokeget.spec +++ b/anda/misc/pokeget/pokeget.spec @@ -10,7 +10,7 @@ SourceLicense: MIT License: (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) Summary: A better Rust version of pokeget. URL: https://crates.io/crates/%{crate} -Source0: %{crates_source} +Source0: %{terra_crates_source} BuildRequires: anda-srpm-macros BuildRequires: cargo-rpm-macros BuildRequires: mold diff --git a/anda/misc/sass/sass.spec b/anda/misc/sass/sass.spec index b994444a52..e5f843a6db 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.100.0 +Version: 1.101.0 Release: 1%{?dist} Summary: The reference implementation of Sass, written in Dart License: MIT diff --git a/anda/misc/senpai/senpai.spec b/anda/misc/senpai/senpai.spec index 1e33ba23d0..73bd9dd6d1 100644 --- a/anda/misc/senpai/senpai.spec +++ b/anda/misc/senpai/senpai.spec @@ -1,8 +1,8 @@ %global appid org.sr.ht.delthas.senpai Name: senpai -Version: 0.4.1 -Release: 3%?dist +Version: 0.5.0 +Release: 1%{?dist} Summary: Your everyday IRC student License: ISC URL: https://sr.ht/~delthas/senpai/ diff --git a/anda/misc/senpai/update.rhai b/anda/misc/senpai/update.rhai index 7427ad0a82..5ab877bc7a 100644 --- a/anda/misc/senpai/update.rhai +++ b/anda/misc/senpai/update.rhai @@ -1 +1 @@ -rpm.version(gh("delthas/senpai")); +rpm.version(sourcehut("~delthas/senpai")); diff --git a/anda/misc/signal-cli/signal-cli.spec b/anda/misc/signal-cli/signal-cli.spec index c30c38cd19..72a3bf6e1d 100644 --- a/anda/misc/signal-cli/signal-cli.spec +++ b/anda/misc/signal-cli/signal-cli.spec @@ -3,7 +3,7 @@ %define debug_package %{nil} Name: signal-cli -Version: 0.14.4.1 +Version: 0.14.5 Release: 1%{?dist} Summary: signal-cli provides an unofficial commandline, JSON-RPC and dbus interface for the Signal messenger License: GPL-3.0-only diff --git a/anda/misc/tail-tray/tail-tray.spec b/anda/misc/tail-tray/tail-tray.spec index 4e47a8557a..5c5b6c839e 100644 --- a/anda/misc/tail-tray/tail-tray.spec +++ b/anda/misc/tail-tray/tail-tray.spec @@ -1,5 +1,5 @@ Name: tail-tray -Version: 0.2.32 +Version: 0.2.33 Release: 1%{?dist} Summary: Tailscale tray menu and UI for the KDE Plasma Desktop License: GPL-3.0-or-later diff --git a/anda/misc/v2ray-domain-list-community/v2ray-domain-list-community.spec b/anda/misc/v2ray-domain-list-community/v2ray-domain-list-community.spec index ff38e40144..e76c495a97 100644 --- a/anda/misc/v2ray-domain-list-community/v2ray-domain-list-community.spec +++ b/anda/misc/v2ray-domain-list-community/v2ray-domain-list-community.spec @@ -1,7 +1,7 @@ -%global commit 2fed2eca355a003db3cc4ada1c58c49be876c6a4 +%global commit 42ca460bb0495eec5a704611d6bc6cff387257a5 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global ver 20260522120028 -%global commit_date 20260523 +%global ver 20260623060549 +%global commit_date 20260624 Name: v2ray-domain-list-community Version: %{ver}^%{commit_date}git.%{shortcommit} diff --git a/anda/misc/v2ray-geoip/v2ray-geoip.spec b/anda/misc/v2ray-geoip/v2ray-geoip.spec index fdbbbe655f..6204f4ead2 100644 --- a/anda/misc/v2ray-geoip/v2ray-geoip.spec +++ b/anda/misc/v2ray-geoip/v2ray-geoip.spec @@ -1,7 +1,7 @@ -%global commit ce6485980843245f8dc13ec0d0b2258fb04435d2 +%global commit 519243fd551caf9b118d2a34c95699ce15cd74eb %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global ver 202605120112 -%global commit_date 20260512 +%global ver 202606191114 +%global commit_date 20260620 %global year %{gsub %commit_date %%d%%d%%d%%d$ %{quote:}} %global month %{gsub %commit_date %%d%%d%%d%%d(%%d%%d)%%d%%d %%1} diff --git a/anda/multimedia/LCEVCdec/LCEVCdec.spec b/anda/multimedia/LCEVCdec/LCEVCdec.spec index f0ef271b46..2439d03365 100644 --- a/anda/multimedia/LCEVCdec/LCEVCdec.spec +++ b/anda/multimedia/LCEVCdec/LCEVCdec.spec @@ -9,8 +9,8 @@ %bcond docs 0 Name: LCEVCdec -Version: 4.0.3 -Release: 1%{?dist} +Version: 4.2.0 +Release: 2%{?dist} Summary: MPEG-5 LCEVC Decoder License: BSD-3-Clause-Clear URL: https://docs.v-nova.com/v-nova/lcevc/lcevc-sdk-overview @@ -123,42 +123,33 @@ python3 src/func_tests/run_tests.py %doc README.md %{_libdir}/liblcevc_dec_api.so.4 %{_libdir}/liblcevc_dec_api.so.%{version} -%{_libdir}/liblcevc_dec_legacy.so.1 %{_libdir}/liblcevc_dec_pipeline_cpu.so.1 -%{_libdir}/liblcevc_dec_pipeline_legacy.so.1 %files devel %{_includedir}/LCEVC %{_libdir}/liblcevc_dec_api.so -%{_libdir}/liblcevc_dec_legacy.so %{_libdir}/liblcevc_dec_pipeline_cpu.so -%{_libdir}/liblcevc_dec_pipeline_legacy.so +%{_libdir}/pkgconfig/lcevc_dec.pc +%{_libdir}/pkgconfig/lcevc_dec_extract.pc +%{_libdir}/pkgconfig/lcevc_dec_utility.pc + # Static: %{_libdir}/liblcevc_dec_api_utility.a -%{_libdir}/liblcevc_dec_common.a -%{_libdir}/liblcevc_dec_enhancement.a %{_libdir}/liblcevc_dec_extract.a -%{_libdir}/liblcevc_dec_pipeline.a -%{_libdir}/liblcevc_dec_pixel_processing.a -%{_libdir}/liblcevc_dec_sequencer.a %{_libdir}/liblcevc_dec_unit_test_utilities.a %{_libdir}/liblcevc_dec_utility.a -%{_libdir}/pkgconfig/lcevc_dec.pc %files samples %{_bindir}/lcevc_dec_common_test_unit %{_bindir}/lcevc_dec_enhancement_sample %{_bindir}/lcevc_dec_enhancement_test_unit -%{_bindir}/lcevc_dec_legacy_test_unit %{_bindir}/lcevc_dec_pipeline_cpu_test_unit -%{_bindir}/lcevc_dec_pipeline_legacy_test_unit %{_bindir}/lcevc_dec_pipeline_test_unit %{_bindir}/lcevc_dec_pixel_processing_test_unit %{_bindir}/lcevc_dec_sample %{_bindir}/lcevc_dec_test_harness %{_bindir}/lcevc_dec_test_unit %{_bindir}/lcevc_dec_utility_test_unit -%{_bindir}/lcevc_sequencer_test_unit %changelog %autochangelog diff --git a/anda/multimedia/LCEVCdec/VERSION_ffmpeg.txt b/anda/multimedia/LCEVCdec/VERSION_ffmpeg.txt index a8a1887568..6b409d977b 100644 --- a/anda/multimedia/LCEVCdec/VERSION_ffmpeg.txt +++ b/anda/multimedia/LCEVCdec/VERSION_ffmpeg.txt @@ -1 +1 @@ -7.1.2 +8.1.2 diff --git a/anda/multimedia/LCEVCdec/anda.hcl b/anda/multimedia/LCEVCdec/anda.hcl index e97d525175..75416452a6 100644 --- a/anda/multimedia/LCEVCdec/anda.hcl +++ b/anda/multimedia/LCEVCdec/anda.hcl @@ -7,5 +7,6 @@ project pkg { labels { mock = 1 subrepo = "multimedia" + updbranch = 1 } } diff --git a/anda/multimedia/ffmpeg/.gitignore b/anda/multimedia/ffmpeg/.gitignore new file mode 100644 index 0000000000..5505c91bc5 --- /dev/null +++ b/anda/multimedia/ffmpeg/.gitignore @@ -0,0 +1,3 @@ +# FFmpeg keys +ffmpeg-devel.asc +ffmpeg.keyring diff --git a/anda/multimedia/ffmpeg/VERSION_LCEVCdec.txt b/anda/multimedia/ffmpeg/VERSION_LCEVCdec.txt index c4e41f9459..6aba2b245a 100644 --- a/anda/multimedia/ffmpeg/VERSION_LCEVCdec.txt +++ b/anda/multimedia/ffmpeg/VERSION_LCEVCdec.txt @@ -1 +1 @@ -4.0.3 +4.2.0 diff --git a/anda/multimedia/ffmpeg/VERSION_tesseract.txt b/anda/multimedia/ffmpeg/VERSION_tesseract.txt index 1ee56cf7c6..b5431a6327 100644 --- a/anda/multimedia/ffmpeg/VERSION_tesseract.txt +++ b/anda/multimedia/ffmpeg/VERSION_tesseract.txt @@ -1 +1 @@ -5.2.43 \ No newline at end of file +5.5.23 \ No newline at end of file diff --git a/anda/multimedia/ffmpeg/VERSION_x264.txt b/anda/multimedia/ffmpeg/VERSION_x264.txt index cd71b913c4..f899867926 100644 --- a/anda/multimedia/ffmpeg/VERSION_x264.txt +++ b/anda/multimedia/ffmpeg/VERSION_x264.txt @@ -1 +1 @@ -0.165 +0^20250910git0480cb0 \ No newline at end of file diff --git a/anda/multimedia/ffmpeg/VERSION_x265.txt b/anda/multimedia/ffmpeg/VERSION_x265.txt index 8a36cd142b..8012ebbba2 100644 --- a/anda/multimedia/ffmpeg/VERSION_x265.txt +++ b/anda/multimedia/ffmpeg/VERSION_x265.txt @@ -1 +1 @@ -4.1 \ No newline at end of file +4.2 \ No newline at end of file diff --git a/anda/multimedia/ffmpeg/anda.hcl b/anda/multimedia/ffmpeg/anda.hcl index 002c167e92..a6ef9db24e 100644 --- a/anda/multimedia/ffmpeg/anda.hcl +++ b/anda/multimedia/ffmpeg/anda.hcl @@ -2,7 +2,7 @@ project pkg { arches = ["x86_64", "aarch64", "i386"] rpm { spec = "ffmpeg.spec" - extra_repos = ["https://repos.fyralabs.com/terrarawhide-nvidia", "https://repos.fyralabs.com/terrarawhide-multimedia"] + extra_repos = ["https://repos.fyralabs.com/terrarawhide-multimedia"] } labels { updbranch = 1 diff --git a/anda/multimedia/ffmpeg/enable_decoders b/anda/multimedia/ffmpeg/enable_decoders new file mode 100644 index 0000000000..b03967c46d --- /dev/null +++ b/anda/multimedia/ffmpeg/enable_decoders @@ -0,0 +1,479 @@ +## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) +aac +aasc +libfdk_aac # fdk-aac-free +ac3 +acelp_kelvin +adpcm_4xm +adpcm_adx +adpcm_afc +adpcm_agm +adpcm_aica +adpcm_argo +adpcm_ct +adpcm_dtk +adpcm_ea +adpcm_ea_maxis_xa +adpcm_ea_r1 +adpcm_ea_r2 +adpcm_ea_r3 +adpcm_ea_xas +adpcm_g722 +adpcm_g726 +adpcm_g726le +adpcm_ima_acorn +adpcm_ima_alp +adpcm_ima_amv +adpcm_ima_apc +adpcm_ima_apm +adpcm_ima_cunning +adpcm_ima_dat4 +adpcm_ima_dk3 +adpcm_ima_dk4 +adpcm_ima_ea_eacs +adpcm_ima_ea_sead +adpcm_ima_iss +adpcm_ima_moflex +adpcm_ima_mtf +adpcm_ima_oki +adpcm_ima_qt +adpcm_ima_rad +adpcm_ima_smjpeg +adpcm_ima_ssi +adpcm_ima_wav +adpcm_ima_ws +adpcm_ms +adpcm_mtaf +adpcm_psx +adpcm_sbpro_2 +adpcm_sbpro_3 +adpcm_sbpro_4 +adpcm_swf +adpcm_thp +adpcm_thp_le +adpcm_vima +adpcm_xa +adpcm_xmd +adpcm_yamaha +adpcm_zork +aic +alac +alias_pix +amrnb +amrwb +amv +anm +ansi # trivial +anull +apac +ape +apng # animated png +apv +arbc +argo +ass # trivial +asv1 +asv2 +atrac1 +atrac3 +atrac3al +atrac3p +atrac3pal +aura +aura2 +av1 # libaom +av1_qsv # libaom +bethsoftvid # trivial +bfi # trivial +bink +binkaudio_dct +binkaudio_rdft +bintext +bitpacked # trivial +bmp # trivial +bmv_audio +bmv_video +bonk +brender_pix +c93 +cbd2_dpcm +ccaption +cdgraphics +cdtoons +cdxl +cinepak +clearvideo +cljr +cook +cpia +cscd +cyuv +dca +dds +derf_dpcm +dfa +dfpwm +dirac # dirac +dnxhd +dnxhr +dolby_e +dpx +dsd_lsbf +dsd_msbf +dsicinaudio +dsicinvideo +dss_sp +dvaudio +dvbsub +dvdsub +dvvideo +dxa +dxtory +eacmv +eamad +eatgq +eatgv +eatqi +eightbps +eightsvx_exp +eightsvx_fib +escape124 +escape130 +evrc +exr # openEXR +ffv1 # ffmpeg +ffvhuff # ffmpeg +ffwavesynth # pseudo +fits +flac # libFLAC +flashsv +flashsv2 +flic +flv +fmvc +fourxm +ftr # fdk-aac +g723_1 +g729 +gdv +gem +gif # libpng +gremlin_dpcm +gsm # libgsm +gsm_ms +h261 +h263 +h263_v4l2m2m # hardware +h263i +h263p +hap +hca +hcom +hdr +hnm4_video +hq_hqa +hqx +huffyuv # trivial+zlib +hymt # huffyuv-mt +iac +idcin +idf +iff_ilbm +ilbc # ilbc +imc +indeo2 +indeo3 +indeo4 +indeo5 +interplay_acm +interplay_dpcm +interplay_video +ipu +jacosub +jpeg2000 # openjpeg2 +jpegls +jv +kgv1 +kmvc +lagarith +libaribb24 # aribb24 +libaribcaption # libaribcaption +libaom # libaom +libaom_av1 # libaom +libcodec2 # codec2 +libdav1d # av1 +libgsm # libgsm +libgsm_ms # libgsm +libilbc # ilbc +libjxl # libjxl +liblc3 # liblc3 +libopencore_amrnb # opencore-amr +libopencore_amrwb # opencore-amr +libopenh264 # openh264 +libopenjpeg # openjpeg +libopus # opus +librsvg # librsvg +libschroedinger # schroedinger +libspeex # speex +libvorbis # libvorbis +libvpx_vp8 # libvpx +libvpx_vp9 # libvpx +libxevd +libzvbi_teletext # zvbi +loco +lscr +m101 +mace3 +mace6 +mdec +media100 +metasound +microdvd +mimic +misc4 +mjpeg # mjpegtools +mjpeg_qsv # mjpegtools +mjpegb +mlp +mmvideo +motionpixels +movtext +mp1 # twolame/lame +mp1float # twolame/lame +mp2 # twolame +mp2float # twolame +mp3 # lame +mp3adu +mp3adufloat +mp3float # lame +mp3on4 +mp3on4float +mpc7 +mpc8 +mpeg1_v4l2m2m +mpeg1video +mpeg2_qsv +mpeg2_v4l2m2m +mpeg2video +mpeg4 +mpeg4_v4l2m2m # hardware +mpegvideo +mpl2 +msa1 +mscc +msmpeg4v1 +msmpeg4v2 +msmpeg4v3 +msnsiren +msp2 +msrle +mss1 +msvideo1 +mszh +mts2 +mv30 +mvc1 +mvc2 +mvdv +mvha +mwsc +mxpeg +nellymoser +nuv +on2avc +opus # libopus +paf_audio +paf_video +pam # trivial +pbm # trivial +pcm_alaw # trivial +pcm_bluray +pcm_dvd +pcm_f16le # trivial +pcm_f24le # trivial +pcm_f32be # trivial +pcm_f32le # trivial +pcm_f64be # trivial +pcm_f64le # trivial +pcm_lxf # trivial +pcm_mulaw # trivial +pcm_s16be # trivial +pcm_s16be_planar # trivial +pcm_s16le # trivial +pcm_s16le_planar # trivial +pcm_s24be # trivial +pcm_s24daud # trivial +pcm_s24le # trivial +pcm_s24le_planar # trivial +pcm_s32be # trivial +pcm_s32le # trivial +pcm_s32le_planar # trivial +pcm_s64be # trivial +pcm_s64le # trivial +pcm_s8 # trivial +pcm_s8_planar # trivial +pcm_sga # trivial +pcm_u16be # trivial +pcm_u16le # trivial +pcm_u24be # trivial +pcm_u24le # trivial +pcm_u32be # trivial +pcm_u32le # trivial +pcm_u8 # trivial +pcm_vidc # trivial +pcx +pfm # trivial +pgm # trivial +pgmyuv # trivial +pgssub # mkvtoolnix +pgx +phm # trivial +photocd +pictor +pjs +png # libpng +ppm # trivial +prores +prores_raw +prosumer +psd +ptx +qcelp +qdm2 +qdmc +qdraw +qoa +qoi +qpeg +qtrle +r10k +r210 +ra_144 +ra_288 +rasc +rawvideo # trivial +realtext +rka +rl2 +roq +roq_dpcm +rpza +rscc +rv10 +rv20 +s302m +sami +sanm +sbc +screenpresso +sdx2_dpcm +sgi # trivial +sgirle # trivial +shorten +simbiosis_imx +sipr +siren +smackaud +smacker +smc +smvjpeg +snow +sol_dpcm +sonic +sp5x +speedhq +speex +srgc +srt # trivial +ssa # trivial +stl +subrip +subviewer +subviewer1 +sunrast # trivial +svq1 +svq3 +tak +targa # trivial +targa_y216 +tdsc +text # trivial +theora # libtheora +thp +tiertexseqvideo +tiff # libtiff +tmv +truehd +truemotion1 +truemotion2 +truemotion2rt +truespeech +tscc +tscc2 +tta +twinvq +txd +ulti +utvideo +v210 # trivial +v210x # trivial +v308 # trivial +v408 # trivial +v410 # trivial +vb +vble +vcr1 +vmdaudio +vmdvideo +vmnc +vnull +vorbis # libvorbis +vp3 # libav +vp4 # libav +vp5 # libav +vp6 # libav +vp6a # libav +vp6f # libav +vp7 # libav +vp8 # libvpx +vp8_qsv # libvpx +vp8_v4l2m2m # libvpx +vp9 # libvpx +vp9_qsv # libvpx +vp9_v4l2m2m # libvpx +vplayer +vqa +vqc +wady_dpcm +wavarc +wavpack +wbmp +wcmv +webp # libwebp +webvtt # trivial +wmav1 +wmav2 +wmavoice +wmv1 +wmv2 +wnv1 +wrapped_avframe # passthrough +ws_snd1 +xan_dpcm +xan_wc3 +xan_wc4 +xbin +xbm # trivial +xface +xl +xpm +xsub +xwd # xwd +y41p # trivial +ylc +yop +yuv4 # trivial +zero12v +zerocodec +zlib # zlib +zmbv # dosbox diff --git a/anda/multimedia/ffmpeg/enable_encoders b/anda/multimedia/ffmpeg/enable_encoders new file mode 100644 index 0000000000..d49e1a9514 --- /dev/null +++ b/anda/multimedia/ffmpeg/enable_encoders @@ -0,0 +1,216 @@ +## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) +a64multi +a64multi5 +aac +libfdk_aac # fdk-aac-free +ac3 +adpcm_adx +adpcm_argo +adpcm_g722 +adpcm_g726 +adpcm_g726le +adpcm_ima_alp +adpcm_ima_amv +adpcm_ima_apm +adpcm_ima_qt +adpcm_ima_ssi +adpcm_ima_wav +adpcm_ima_ws +adpcm_ms +adpcm_swf +adpcm_yamaha +alac +alias_pix +amv +anull +apng # libpng +ass # trivial +asv1 +asv2 +av1_amf +av1_nvenc +av1_qsv +av1_vaapi +bitpacked # trivial +bmp # trivial +cinepak +cljr +dca +dfpwm +dnxhd +dnxhr +dpx +dvbsub +dvdsub +dvvideo +exr +ffv1 +ffvhuff # trivial+zlib +flac # libFLAC +flashsv +flashsv2 +flv +g723_1 +gif # libpng +h261 +h263 +h263_v4l2m2m # hardware +h263p +h264_amf # hardware +h264_nvenc # hardware +h264_qsv # hardware +h264_v4l2m2m # hardware +h264_vaapi # hardware +hap +hdr +hevc_amf # hardware +hevc_nvenc # hardware +hevc_qsv # hardware +hevc_v4l2m2m # hardware +hevc_vaapi # hardware +huffyuv # trivial+zlib +ilbc # ilbc +jpeg2000 +jpegls +libaom +libaom_av1 # libaom +libcodec2 # codec2 +libgsm # libgsm +libgsm_ms # libgsm +libilbc # ilbc +libjxl # libjxl +liblc3 # liblc3 +libmp3lame # lame +liboapv +libopencore_amrnb +libopenh264 # openh264 +libopenjpeg # openjpeg +libopus # opus +librav1e # rav1e +libspeex # speex +libsvtav1 +libtheora # libtheora +libtwolame # twolame +libvo_amrwbenc +libvorbis # libvorbis +libvpx_vp8 # libvpx +libvpx_vp9 # libvpx +libwebp # libwebp +libwebp_anim # libwebp +libxeve +libxvid # xvidcore +mjpeg # mjpegtools +mjpeg_qsv # mjpegtools +mjpeg_vaapi # mjpegtools +mlp +movtext +mp2 # twolame +mp2fixed # twolame +mpeg1video +mpeg2_qsv +mpeg2_vaapi +mpeg2video +mpeg4 +mpeg4_v4l2m2m # hardware +msmpeg4v2 +msmpeg4v3 +msvideo1 +nellymoser +opus # opus +pam +pbm # trivial +pcm_alaw # trivial +pcm_f32be # trivial +pcm_f32le # trivial +pcm_f64be # trivial +pcm_f64le # trivial +pcm_mulaw # trivial +pcm_s16be # trivial +pcm_s16be_planar # trivial +pcm_s16le # trivial +pcm_s16le_planar # trivial +pcm_s24be # trivial +pcm_s24le # trivial +pcm_s24le_planar # trivial +pcm_s32be # trivial +pcm_s32le # trivial +pcm_s32le_planar # trivial +pcm_s8 # trivial +pcm_s8_planar # trivial +pcm_u16be # trivial +pcm_u16le # trivial +pcm_u24be # trivial +pcm_u24le # trivial +pcm_u32be # trivial +pcm_u32le # trivial +pcm_u8 # trivial +pcx +pgm # trivial +pgmyuv # trivial +phm # trivial +png # libpng +ppm # trivial +prores +prores_aw +prores_ks +qoi +qtrle +r10k # trivial +r210 # trivial +ra_144 +rawvideo # trivial +roq +roq_dpcm +rpza +rv10 +rv20 +s302m +sbc +sgi # trivial +smc +snow +sonic +sonic_ls +speedhq +srt # trivial +ssa # trivial +subrip # trivial +sunrast # trivial +svq1 +targa # trivial +text # trivial +tiff # libtiff +truehd +tta +ttml +utvideo +v210 # trivial +v308 # trivial +v408 # trivial +v410 # trivial +vc1_qsv # hardware +vc1_v4l2m2m # hardware +vc2 # dirac +vnull +vorbis # libvorbis +vp8_qsv # libvpx +vp8_v4l2m2m # libvpx +vp8_vaapi # libvpx +vp9_qsv # libvpx +vp9_vaapi # libvpx +wavpack +wbmp +webvtt # trivial +wmav1 +wmav2 +wmv1 +wmv2 +wrapped_avframe # passthrough +xbm # (X11) +xface +xsub +xwd # xwd +y41p # trivial +yuv4 # trivial +zlib # zlib +zmbv # dosbox diff --git a/anda/multimedia/ffmpeg/ffmpeg-HandBrake.patch b/anda/multimedia/ffmpeg/ffmpeg-HandBrake.patch index e34c256b10..40eaff17d7 100644 --- a/anda/multimedia/ffmpeg/ffmpeg-HandBrake.patch +++ b/anda/multimedia/ffmpeg/ffmpeg-HandBrake.patch @@ -1,878 +1,65 @@ -diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure ---- ffmpeg-7.1.2.old/configure 2025-10-27 10:07:02.407490033 +0100 -+++ ffmpeg-7.1.2/configure 2025-10-27 10:07:02.458434476 +0100 -@@ -2466,6 +2466,7 @@ - kCMVideoCodecType_HEVC - kCMVideoCodecType_HEVCWithAlpha - kCMVideoCodecType_VP9 -+ kCMVideoCodecType_AV1 - kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange - kCVPixelFormatType_422YpCbCr8BiPlanarVideoRange - kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange -@@ -3172,6 +3173,8 @@ - av1_vaapi_hwaccel_select="av1_decoder" - av1_vdpau_hwaccel_deps="vdpau VdpPictureInfoAV1" - av1_vdpau_hwaccel_select="av1_decoder" -+av1_videotoolbox_hwaccel_deps="videotoolbox" -+av1_videotoolbox_hwaccel_select="av1_decoder" - av1_vulkan_hwaccel_deps="vulkan" - av1_vulkan_hwaccel_select="av1_decoder" - h263_vaapi_hwaccel_deps="vaapi" -@@ -3342,6 +3345,7 @@ - av1_mediacodec_decoder_deps="mediacodec" - av1_mediacodec_encoder_deps="mediacodec" - av1_mediacodec_encoder_select="extract_extradata_bsf" -+av1_mf_encoder_deps="mediafoundation" - av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1" - av1_nvenc_encoder_select="atsc_a53" - av1_qsv_decoder_select="qsvdec" -@@ -6724,6 +6728,7 @@ - check_func_headers CoreMedia/CMFormatDescription.h kCMVideoCodecType_HEVC "-framework CoreMedia" - check_func_headers CoreMedia/CMFormatDescription.h kCMVideoCodecType_HEVCWithAlpha "-framework CoreMedia" - check_func_headers CoreMedia/CMFormatDescription.h kCMVideoCodecType_VP9 "-framework CoreMedia" -+ check_func_headers CoreMedia/CMFormatDescription.h kCMVideoCodecType_AV1 "-framework CoreMedia" - check_func_headers CoreVideo/CVPixelBuffer.h kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange "-framework CoreVideo" - check_func_headers CoreVideo/CVPixelBuffer.h kCVPixelFormatType_422YpCbCr8BiPlanarVideoRange "-framework CoreVideo" - check_func_headers CoreVideo/CVPixelBuffer.h kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange "-framework CoreVideo" -diff -Naur ffmpeg-7.1.2.old/libavcodec/ac3dec.c ffmpeg-7.1.2/libavcodec/ac3dec.c ---- ffmpeg-7.1.2.old/libavcodec/ac3dec.c 2025-10-27 10:07:00.254471036 +0100 -+++ ffmpeg-7.1.2/libavcodec/ac3dec.c 2025-10-27 10:07:02.463169316 +0100 -@@ -253,72 +253,6 @@ - } - - /** -- * Parse the 'sync info' and 'bit stream info' from the AC-3 bitstream. -- * GetBitContext within AC3DecodeContext must point to -- * the start of the synchronized AC-3 bitstream. -- */ --static int ac3_parse_header(AC3DecodeContext *s) --{ -- GetBitContext *gbc = &s->gbc; -- int i; -- -- /* read the rest of the bsi. read twice for dual mono mode. */ -- i = !s->channel_mode; -- do { -- s->dialog_normalization[(!s->channel_mode)-i] = -get_bits(gbc, 5); -- if (s->dialog_normalization[(!s->channel_mode)-i] == 0) { -- s->dialog_normalization[(!s->channel_mode)-i] = -31; -- } -- if (s->target_level != 0) { -- s->level_gain[(!s->channel_mode)-i] = powf(2.0f, -- (float)(s->target_level - -- s->dialog_normalization[(!s->channel_mode)-i])/6.0f); -- } -- if (s->compression_exists[(!s->channel_mode)-i] = get_bits1(gbc)) { -- s->heavy_dynamic_range[(!s->channel_mode)-i] = -- AC3_HEAVY_RANGE(get_bits(gbc, 8)); -- } -- if (get_bits1(gbc)) -- skip_bits(gbc, 8); //skip language code -- if (get_bits1(gbc)) -- skip_bits(gbc, 7); //skip audio production information -- } while (i--); -- -- skip_bits(gbc, 2); //skip copyright bit and original bitstream bit -- -- /* skip the timecodes or parse the Alternate Bit Stream Syntax */ -- if (s->bitstream_id != 6) { -- if (get_bits1(gbc)) -- skip_bits(gbc, 14); //skip timecode1 -- if (get_bits1(gbc)) -- skip_bits(gbc, 14); //skip timecode2 -- } else { -- if (get_bits1(gbc)) { -- s->preferred_downmix = get_bits(gbc, 2); -- s->center_mix_level_ltrt = get_bits(gbc, 3); -- s->surround_mix_level_ltrt = av_clip(get_bits(gbc, 3), 3, 7); -- s->center_mix_level = get_bits(gbc, 3); -- s->surround_mix_level = av_clip(get_bits(gbc, 3), 3, 7); -- } -- if (get_bits1(gbc)) { -- s->dolby_surround_ex_mode = get_bits(gbc, 2); -- s->dolby_headphone_mode = get_bits(gbc, 2); -- skip_bits(gbc, 10); // skip adconvtyp (1), xbsi2 (8), encinfo (1) -- } -- } -- -- /* skip additional bitstream info */ -- if (get_bits1(gbc)) { -- i = get_bits(gbc, 6); -- do { -- skip_bits(gbc, 8); -- } while (i--); -- } -- -- return 0; --} -- --/** - * Common function to parse AC-3 or E-AC-3 frame header - */ - static int parse_frame_header(AC3DecodeContext *s) -@@ -375,10 +309,25 @@ - s->dba_syntax = 1; - s->skip_syntax = 1; - memset(s->channel_uses_aht, 0, sizeof(s->channel_uses_aht)); -- return ac3_parse_header(s); -+ /* volume control params */ -+ for (int i = 0; i < (s->channel_mode ? 1 : 2); i++) { -+ s->dialog_normalization[i] = hdr.dialog_normalization[i]; -+ if (s->dialog_normalization[i] == 0) { -+ s->dialog_normalization[i] = -31; -+ } -+ if (s->target_level != 0) { -+ s->level_gain[i] = powf(2.0f, -+ (float)(s->target_level - s->dialog_normalization[i])/6.0f); -+ } -+ s->compression_exists[i] = hdr.compression_exists[i]; -+ if (s->compression_exists[i]) { -+ s->heavy_dynamic_range[i] = AC3_HEAVY_RANGE(hdr.heavy_dynamic_range[i]); -+ } -+ } -+ return 0; - } else if (CONFIG_EAC3_DECODER) { - s->eac3 = 1; -- return ff_eac3_parse_header(s); -+ return ff_eac3_parse_header(s, &hdr); - } else { - av_log(s->avctx, AV_LOG_ERROR, "E-AC-3 support not compiled in\n"); - return AVERROR(ENOSYS); -@@ -1562,6 +1511,9 @@ - av_log(avctx, AV_LOG_ERROR, "invalid frame type\n"); - } - break; -+ case AC3_PARSE_ERROR_CHANNEL_MAP: -+ av_log(avctx, AV_LOG_ERROR, "invalid channel map\n"); -+ return AVERROR_INVALIDDATA; - case AC3_PARSE_ERROR_CRC: - break; - default: // Normal AVERROR do not try to recover. -diff -Naur ffmpeg-7.1.2.old/libavcodec/ac3dec.h ffmpeg-7.1.2/libavcodec/ac3dec.h ---- ffmpeg-7.1.2.old/libavcodec/ac3dec.h 2025-10-27 10:07:00.587473974 +0100 -+++ ffmpeg-7.1.2/libavcodec/ac3dec.h 2025-10-27 10:07:02.463287298 +0100 -@@ -255,11 +255,12 @@ - AVChannelLayout downmix_layout; - } AC3DecodeContext; - -+struct AC3HeaderInfo; - /** - * Parse the E-AC-3 frame header. - * This parses both the bit stream info and audio frame header. - */ --static int ff_eac3_parse_header(AC3DecodeContext *s); -+static int ff_eac3_parse_header(AC3DecodeContext *s, const struct AC3HeaderInfo *hdr); - - /** - * Decode mantissas in a single channel for the entire frame. -diff -Naur ffmpeg-7.1.2.old/libavcodec/ac3defs.h ffmpeg-7.1.2/libavcodec/ac3defs.h ---- ffmpeg-7.1.2.old/libavcodec/ac3defs.h 2025-10-27 10:07:00.586473965 +0100 -+++ ffmpeg-7.1.2/libavcodec/ac3defs.h 2025-10-27 10:07:02.463340118 +0100 -@@ -34,6 +34,8 @@ - #define AC3_CRITICAL_BANDS 50 - #define AC3_MAX_CPL_BANDS 18 - -+#define EAC3_SR_CODE_REDUCED 3 -+ - /* exponent encoding strategy */ - #define EXP_REUSE 0 - #define EXP_NEW 1 -diff -Naur ffmpeg-7.1.2.old/libavcodec/ac3_parser.c ffmpeg-7.1.2/libavcodec/ac3_parser.c ---- ffmpeg-7.1.2.old/libavcodec/ac3_parser.c 2025-10-27 10:07:00.290471354 +0100 -+++ ffmpeg-7.1.2/libavcodec/ac3_parser.c 2025-10-27 10:07:02.462962336 +0100 -@@ -73,6 +73,217 @@ - return i; - } - -+/** -+ * Parse the 'sync info' and 'bit stream info' from the AC-3 bitstream. -+ * GetBitContext within AC3DecodeContext must point to -+ * the start of the synchronized AC-3 bitstream. -+ */ -+static int ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr) -+{ -+ /* read the rest of the bsi. read twice for dual mono mode. */ -+ for (int i = 0; i < (hdr->channel_mode ? 1 : 2); i++) { -+ hdr->dialog_normalization[i] = -get_bits(gbc, 5); -+ hdr->compression_exists[i] = get_bits1(gbc); -+ if (hdr->compression_exists[i]) -+ hdr->heavy_dynamic_range[i] = get_bits(gbc, 8); -+ if (get_bits1(gbc)) -+ skip_bits(gbc, 8); //skip language code -+ if (get_bits1(gbc)) -+ skip_bits(gbc, 7); //skip audio production information -+ } -+ -+ skip_bits(gbc, 2); //skip copyright bit and original bitstream bit -+ -+ /* skip the timecodes or parse the Alternate Bit Stream Syntax */ -+ if (hdr->bitstream_id != 6) { -+ if (get_bits1(gbc)) -+ skip_bits(gbc, 14); //skip timecode1 -+ if (get_bits1(gbc)) -+ skip_bits(gbc, 14); //skip timecode2 -+ } else { -+ if (get_bits1(gbc)) { -+ hdr->preferred_downmix = get_bits(gbc, 2); -+ hdr->center_mix_level_ltrt = get_bits(gbc, 3); -+ hdr->surround_mix_level_ltrt = av_clip(get_bits(gbc, 3), 3, 7); -+ hdr->center_mix_level = get_bits(gbc, 3); -+ hdr->surround_mix_level = av_clip(get_bits(gbc, 3), 3, 7); -+ } -+ if (get_bits1(gbc)) { -+ hdr->dolby_surround_ex_mode = get_bits(gbc, 2); -+ hdr->dolby_headphone_mode = get_bits(gbc, 2); -+ skip_bits(gbc, 10); // skip adconvtyp (1), xbsi2 (8), encinfo (1) -+ } -+ } -+ -+ /* skip additional bitstream info */ -+ if (get_bits1(gbc)) { -+ int i = get_bits(gbc, 6); -+ do { -+ skip_bits(gbc, 8); -+ } while (i--); -+ } -+ -+ return 0; -+} -+ -+static int eac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr) -+{ -+ if (hdr->frame_type == EAC3_FRAME_TYPE_RESERVED) -+ return AC3_PARSE_ERROR_FRAME_TYPE; -+ if (hdr->substreamid) -+ return AC3_PARSE_ERROR_FRAME_TYPE; -+ -+ skip_bits(gbc, 5); // skip bitstream id -+ -+ /* volume control params */ -+ for (int i = 0; i < (hdr->channel_mode ? 1 : 2); i++) { -+ hdr->dialog_normalization[i] = -get_bits(gbc, 5); -+ hdr->compression_exists[i] = get_bits1(gbc); -+ if (hdr->compression_exists[i]) -+ hdr->heavy_dynamic_range[i] = get_bits(gbc, 8); -+ } -+ -+ /* dependent stream channel map */ -+ if (hdr->frame_type == EAC3_FRAME_TYPE_DEPENDENT) { -+ hdr->channel_map_present = get_bits1(gbc); -+ if (hdr->channel_map_present) { -+ int64_t channel_layout = 0; -+ int channel_map = get_bits(gbc, 16); -+ -+ for (int i = 0; i < 16; i++) -+ if (channel_map & (1 << (EAC3_MAX_CHANNELS - i - 1))) -+ channel_layout |= ff_eac3_custom_channel_map_locations[i][1]; -+ -+ if (av_popcount64(channel_layout) > EAC3_MAX_CHANNELS) { -+ return AC3_PARSE_ERROR_CHANNEL_MAP; -+ } -+ hdr->channel_map = channel_map; -+ } -+ } -+ -+ /* mixing metadata */ -+ if (get_bits1(gbc)) { -+ /* center and surround mix levels */ -+ if (hdr->channel_mode > AC3_CHMODE_STEREO) { -+ hdr->preferred_downmix = get_bits(gbc, 2); -+ if (hdr->channel_mode & 1) { -+ /* if three front channels exist */ -+ hdr->center_mix_level_ltrt = get_bits(gbc, 3); -+ hdr->center_mix_level = get_bits(gbc, 3); -+ } -+ if (hdr->channel_mode & 4) { -+ /* if a surround channel exists */ -+ hdr->surround_mix_level_ltrt = av_clip(get_bits(gbc, 3), 3, 7); -+ hdr->surround_mix_level = av_clip(get_bits(gbc, 3), 3, 7); -+ } -+ } -+ -+ /* lfe mix level */ -+ if (hdr->lfe_on && (hdr->lfe_mix_level_exists = get_bits1(gbc))) { -+ hdr->lfe_mix_level = get_bits(gbc, 5); -+ } -+ -+ /* info for mixing with other streams and substreams */ -+ if (hdr->frame_type == EAC3_FRAME_TYPE_INDEPENDENT) { -+ for (int i = 0; i < (hdr->channel_mode ? 1 : 2); i++) { -+ // TODO: apply program scale factor -+ if (get_bits1(gbc)) { -+ skip_bits(gbc, 6); // skip program scale factor -+ } -+ } -+ if (get_bits1(gbc)) { -+ skip_bits(gbc, 6); // skip external program scale factor -+ } -+ /* skip mixing parameter data */ -+ switch(get_bits(gbc, 2)) { -+ case 1: skip_bits(gbc, 5); break; -+ case 2: skip_bits(gbc, 12); break; -+ case 3: { -+ int mix_data_size = (get_bits(gbc, 5) + 2) << 3; -+ skip_bits_long(gbc, mix_data_size); -+ break; -+ } -+ } -+ /* skip pan information for mono or dual mono source */ -+ if (hdr->channel_mode < AC3_CHMODE_STEREO) { -+ for (int i = 0; i < (hdr->channel_mode ? 1 : 2); i++) { -+ if (get_bits1(gbc)) { -+ /* note: this is not in the ATSC A/52B specification -+ reference: ETSI TS 102 366 V1.1.1 -+ section: E.1.3.1.25 */ -+ skip_bits(gbc, 8); // skip pan mean direction index -+ skip_bits(gbc, 6); // skip reserved paninfo bits -+ } -+ } -+ } -+ /* skip mixing configuration information */ -+ if (get_bits1(gbc)) { -+ for (int i = 0; i < hdr->num_blocks; i++) { -+ if (hdr->num_blocks == 1 || get_bits1(gbc)) { -+ skip_bits(gbc, 5); -+ } -+ } -+ } -+ } -+ } -+ -+ /* informational metadata */ -+ if (get_bits1(gbc)) { -+ hdr->bitstream_mode = get_bits(gbc, 3); -+ skip_bits(gbc, 2); // skip copyright bit and original bitstream bit -+ if (hdr->channel_mode == AC3_CHMODE_STEREO) { -+ hdr->dolby_surround_mode = get_bits(gbc, 2); -+ hdr->dolby_headphone_mode = get_bits(gbc, 2); -+ } -+ if (hdr->channel_mode >= AC3_CHMODE_2F2R) { -+ hdr->dolby_surround_ex_mode = get_bits(gbc, 2); -+ } -+ for (int i = 0; i < (hdr->channel_mode ? 1 : 2); i++) { -+ if (get_bits1(gbc)) { -+ skip_bits(gbc, 8); // skip mix level, room type, and A/D converter type -+ } -+ } -+ if (hdr->sr_code != EAC3_SR_CODE_REDUCED) { -+ skip_bits1(gbc); // skip source sample rate code -+ } -+ } -+ -+ /* converter synchronization flag -+ If frames are less than six blocks, this bit should be turned on -+ once every 6 blocks to indicate the start of a frame set. -+ reference: RFC 4598, Section 2.1.3 Frame Sets */ -+ if (hdr->frame_type == EAC3_FRAME_TYPE_INDEPENDENT && hdr->num_blocks != 6) { -+ skip_bits1(gbc); // skip converter synchronization flag -+ } -+ -+ /* original frame size code if this stream was converted from AC-3 */ -+ if (hdr->frame_type == EAC3_FRAME_TYPE_AC3_CONVERT && -+ (hdr->num_blocks == 6 || get_bits1(gbc))) { -+ skip_bits(gbc, 6); // skip frame size code -+ } -+ -+ /* additional bitstream info */ -+ if (get_bits1(gbc)) { -+ int addbsil = get_bits(gbc, 6); -+ for (int i = 0; i < addbsil + 1; i++) { -+ if (i == 0) { -+ /* In this 8 bit chunk, the LSB is equal to flag_ec3_extension_type_a -+ which can be used to detect Atmos presence */ -+ skip_bits(gbc, 7); -+ hdr->eac3_extension_type_a = get_bits1(gbc); -+ if (hdr->eac3_extension_type_a) { -+ hdr->complexity_index_type_a = get_bits(gbc, 8); -+ i++; -+ } -+ } else { -+ skip_bits(gbc, 8); // skip additional bit stream info -+ } -+ } -+ } -+ -+ return 0; -+} -+ - int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr) - { - int frame_size_code; -@@ -133,6 +344,10 @@ - hdr->frame_size = ff_ac3_frame_size_tab[frame_size_code][hdr->sr_code] * 2; - hdr->frame_type = EAC3_FRAME_TYPE_AC3_CONVERT; //EAC3_FRAME_TYPE_INDEPENDENT; - hdr->substreamid = 0; -+ -+ int ret = ac3_parse_header(gbc, hdr); -+ if (ret < 0) -+ return ret; - } else { - /* Enhanced AC-3 */ - hdr->crc1 = 0; -@@ -165,6 +380,10 @@ - hdr->bit_rate = 8LL * hdr->frame_size * hdr->sample_rate / - (hdr->num_blocks * 256); - hdr->channels = ff_ac3_channels_tab[hdr->channel_mode] + hdr->lfe_on; -+ -+ int ret = eac3_parse_header(gbc, hdr); -+ if (ret < 0) -+ return ret; - } - hdr->channel_layout = ff_ac3_channel_layout_tab[hdr->channel_mode]; - if (hdr->lfe_on) -@@ -202,9 +421,13 @@ - { - GetBitContext gb; - AC3HeaderInfo hdr; -+ uint8_t tmp[32 + AV_INPUT_BUFFER_PADDING_SIZE]; - int err; - -- err = init_get_bits8(&gb, buf, size); -+ size = FFMIN(32, size); -+ memcpy(tmp, buf, size); -+ memset(tmp + size, 0, AV_INPUT_BUFFER_PADDING_SIZE); -+ err = init_get_bits8(&gb, tmp, size); - if (err < 0) - return AVERROR_INVALIDDATA; - err = ff_ac3_parse_header(&gb, &hdr); -diff -Naur ffmpeg-7.1.2.old/libavcodec/ac3_parser_internal.h ffmpeg-7.1.2/libavcodec/ac3_parser_internal.h ---- ffmpeg-7.1.2.old/libavcodec/ac3_parser_internal.h 2025-10-27 10:07:00.519473374 +0100 -+++ ffmpeg-7.1.2/libavcodec/ac3_parser_internal.h 2025-10-27 10:07:02.463059088 +0100 -@@ -46,6 +46,7 @@ - int substreamid; ///< substream identification - int center_mix_level; ///< Center mix level index - int surround_mix_level; ///< Surround mix level index -+ uint8_t channel_map_present; - uint16_t channel_map; - int num_blocks; ///< number of audio blocks - int dolby_surround_mode; -@@ -62,6 +63,23 @@ - uint64_t channel_layout; - int8_t ac3_bit_rate_code; - /** @} */ -+ -+ /** @name enhanced eac3 extension coded elements -+ * @{ -+ */ -+ int8_t dialog_normalization[2]; -+ uint8_t compression_exists[2]; -+ uint8_t heavy_dynamic_range[2]; -+ uint8_t center_mix_level_ltrt; ///< Center mix level index -+ uint8_t surround_mix_level_ltrt; ///< Surround mix level index -+ uint8_t dolby_headphone_mode; -+ uint8_t dolby_surround_ex_mode; -+ uint8_t lfe_mix_level_exists; -+ uint8_t lfe_mix_level; -+ uint8_t preferred_downmix; -+ uint8_t eac3_extension_type_a; -+ uint8_t complexity_index_type_a; -+ /** @} */ - } AC3HeaderInfo; - - typedef enum { -@@ -71,6 +89,7 @@ - AC3_PARSE_ERROR_FRAME_SIZE = -0x4030c0a, - AC3_PARSE_ERROR_FRAME_TYPE = -0x5030c0a, - AC3_PARSE_ERROR_CRC = -0x6030c0a, -+ AC3_PARSE_ERROR_CHANNEL_MAP = -0x7030c0a, - } AC3ParseError; - - /** -diff -Naur ffmpeg-7.1.2.old/libavcodec/allcodecs.c ffmpeg-7.1.2/libavcodec/allcodecs.c ---- ffmpeg-7.1.2.old/libavcodec/allcodecs.c 2025-10-27 10:07:01.864539025 +0100 -+++ ffmpeg-7.1.2/libavcodec/allcodecs.c 2025-10-27 10:07:02.458796899 +0100 -@@ -839,6 +839,7 @@ - extern const FFCodec ff_av1_qsv_decoder; - extern const FFCodec ff_av1_qsv_encoder; - extern const FFCodec ff_av1_amf_encoder; -+extern const FFCodec ff_av1_mf_encoder; - extern const FFCodec ff_av1_vaapi_encoder; - extern const FFCodec ff_libopenh264_encoder; - extern const FFCodec ff_libopenh264_decoder; -diff -Naur ffmpeg-7.1.2.old/libavcodec/amfenc_av1.c ffmpeg-7.1.2/libavcodec/amfenc_av1.c ---- ffmpeg-7.1.2.old/libavcodec/amfenc_av1.c 2025-10-27 10:07:00.536473524 +0100 -+++ ffmpeg-7.1.2/libavcodec/amfenc_av1.c 2025-10-27 10:07:02.440481173 +0100 -@@ -116,6 +116,7 @@ - { "none", "no adaptive quantization", 0, AV_OPT_TYPE_CONST, {.i64 = AMF_VIDEO_ENCODER_AV1_AQ_MODE_NONE }, 0, 0, VE, .unit = "adaptive_quantisation_mode" }, - { "caq", "context adaptive quantization", 0, AV_OPT_TYPE_CONST, {.i64 = AMF_VIDEO_ENCODER_AV1_AQ_MODE_CAQ }, 0, 0, VE, .unit = "adaptive_quantisation_mode" }, - -+ { "forced_idr", "Force I frames to be IDR frames", OFFSET(forced_idr), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - - { "align", "alignment mode", OFFSET(align), AV_OPT_TYPE_INT, {.i64 = AMF_VIDEO_ENCODER_AV1_ALIGNMENT_MODE_NO_RESTRICTIONS }, AMF_VIDEO_ENCODER_AV1_ALIGNMENT_MODE_64X16_ONLY, AMF_VIDEO_ENCODER_AV1_ALIGNMENT_MODE_NO_RESTRICTIONS, VE, .unit = "align" }, - { "64x16", "", 0, AV_OPT_TYPE_CONST, {.i64 = AMF_VIDEO_ENCODER_AV1_ALIGNMENT_MODE_64X16_ONLY }, 0, 0, VE, .unit = "align" }, -@@ -186,6 +187,8 @@ - AMFRate framerate; - AMFSize framesize = AMFConstructSize(avctx->width, avctx->height); - amf_int64 color_depth; -+ amf_int64 color_primaries; -+ amf_int64 transfer_characteristic; - amf_int64 color_profile; - enum AVPixelFormat pix_fmt; - -@@ -238,7 +241,11 @@ - } - - /// Color profile -+ color_primaries = ff_amf_get_color_primaries(avctx); -+ transfer_characteristic = ff_amf_get_transfer_characteristic(avctx); - color_profile = ff_amf_get_color_profile(avctx); -+ AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PRIMARIES, color_primaries); -+ AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_TRANSFER_CHARACTERISTIC, transfer_characteristic); - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PROFILE, color_profile); - - /// Color Depth -@@ -250,16 +257,6 @@ - } - - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_COLOR_BIT_DEPTH, color_depth); -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PROFILE, color_profile); -- if (color_depth == AMF_COLOR_BIT_DEPTH_8) { -- /// Color Transfer Characteristics (AMF matches ISO/IEC) -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_BT709); -- /// Color Primaries (AMF matches ISO/IEC) -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT709); -- } else { -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE2084); -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_AV1_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT2020); -- } - - profile_level = avctx->level; - if (profile_level == AV_LEVEL_UNKNOWN) { -diff -Naur ffmpeg-7.1.2.old/libavcodec/amfenc.c ffmpeg-7.1.2/libavcodec/amfenc.c ---- ffmpeg-7.1.2.old/libavcodec/amfenc.c 2025-10-27 10:07:00.387472209 +0100 -+++ ffmpeg-7.1.2/libavcodec/amfenc.c 2025-10-27 10:07:02.445244447 +0100 -@@ -415,10 +415,6 @@ +From 21520e59d165b9f614d312db4114053d06d04750 Mon Sep 17 00:00:00 2001 +From: Terra Packaging Team +Date: Sun, 31 May 2026 03:05:02 -0500 +Subject: [PATCH] Patch for HandBrake + +Patch based off a very similar patch by Negativo17 but formatted as a Git patch. + +See: https://github.com/HandBrake/HandBrake/tree/2f464fcf93d411ebdd969b39d67739ed658c5e58 +--- + libavcodec/amfenc.c | 4 - + libavcodec/av1dec.c | 14 + + libavcodec/ccaption_dec.c | 9 +- + libavcodec/dvdsubdec.c | 42 ++- + libavcodec/libdav1d.c | 14 + + libavcodec/mfenc.c | 13 +- + libavcodec/nvenc.c | 4 +- + libavcodec/pgssubdec.c | 554 ++++++++++++++++++----------- + libavcodec/qsvenc.c | 49 +++ + libavcodec/qsvenc.h | 8 +- + libavcodec/qsvenc_av1.c | 4 + + libavcodec/videotoolbox.c | 22 +- + libavfilter/vf_vpp_qsv.c | 6 +- + libavformat/isom.h | 3 + + libavformat/matroskaenc.c | 10 + + libavformat/mov.c | 204 ++++++++++- + libavformat/movenc.c | 231 +++++++++--- + libavutil/frame.h | 6 + + libavutil/hwcontext_d3d11va.c | 45 ++- + libavutil/hwcontext_videotoolbox.c | 12 +- + libavutil/side_data.c | 1 + + 21 files changed, 963 insertions(+), 292 deletions(-) + +diff --git a/libavcodec/amfenc.c b/libavcodec/amfenc.c +index 329ce29..86fa5ec 100644 +--- a/libavcodec/amfenc.c ++++ b/libavcodec/amfenc.c +@@ -173,10 +173,6 @@ static int amf_init_encoder(AVCodecContext *avctx) else pix_fmt = avctx->pix_fmt; - if (pix_fmt == AV_PIX_FMT_P010) { -- AMF_RETURN_IF_FALSE(ctx, ctx->version >= AMF_MAKE_FULL_VERSION(1, 4, 32, 0), AVERROR_UNKNOWN, "10-bit encoder is not supported by AMD GPU drivers versions lower than 23.30.\n"); +- AMF_RETURN_IF_FALSE(ctx, amf_device_ctx->version >= AMF_MAKE_FULL_VERSION(1, 4, 32, 0), AVERROR_UNKNOWN, "10-bit encoder is not supported by AMD GPU drivers versions lower than 23.30.\n"); - } - - ctx->format = amf_av_to_amf_format(pix_fmt); + ctx->format = av_av_to_amf_format(pix_fmt); AMF_RETURN_IF_FALSE(ctx, ctx->format != AMF_SURFACE_UNKNOWN, AVERROR(EINVAL), "Format %s is not supported\n", av_get_pix_fmt_name(pix_fmt)); -@@ -766,11 +762,50 @@ - switch (avctx->codec->id) { - case AV_CODEC_ID_H264: - AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_INSERT_AUD, !!ctx->aud); -+ switch (frame->pict_type) { -+ case AV_PICTURE_TYPE_I: -+ if (ctx->forced_idr) { -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_INSERT_SPS, 1); -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_INSERT_PPS, 1); -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_FORCE_PICTURE_TYPE, AMF_VIDEO_ENCODER_PICTURE_TYPE_IDR); -+ } else { -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_FORCE_PICTURE_TYPE, AMF_VIDEO_ENCODER_PICTURE_TYPE_I); -+ } -+ break; -+ case AV_PICTURE_TYPE_P: -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_FORCE_PICTURE_TYPE, AMF_VIDEO_ENCODER_PICTURE_TYPE_P); -+ break; -+ case AV_PICTURE_TYPE_B: -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_FORCE_PICTURE_TYPE, AMF_VIDEO_ENCODER_PICTURE_TYPE_B); -+ break; -+ } - break; - case AV_CODEC_ID_HEVC: - AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_HEVC_INSERT_AUD, !!ctx->aud); -+ switch (frame->pict_type) { -+ case AV_PICTURE_TYPE_I: -+ if (ctx->forced_idr) { -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_HEVC_INSERT_HEADER, 1); -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_HEVC_FORCE_PICTURE_TYPE, AMF_VIDEO_ENCODER_HEVC_PICTURE_TYPE_IDR); -+ } else { -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_HEVC_FORCE_PICTURE_TYPE, AMF_VIDEO_ENCODER_HEVC_PICTURE_TYPE_I); -+ } -+ break; -+ case AV_PICTURE_TYPE_P: -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_HEVC_FORCE_PICTURE_TYPE, AMF_VIDEO_ENCODER_HEVC_PICTURE_TYPE_P); -+ break; -+ } -+ break; -+ case AV_CODEC_ID_AV1: -+ if (frame->pict_type == AV_PICTURE_TYPE_I) { -+ if (ctx->forced_idr) { -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_AV1_FORCE_INSERT_SEQUENCE_HEADER, 1); -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_AV1_FORCE_FRAME_TYPE, AMF_VIDEO_ENCODER_AV1_FORCE_FRAME_TYPE_KEY); -+ } else { -+ AMF_ASSIGN_PROPERTY_INT64(res, surface, AMF_VIDEO_ENCODER_AV1_FORCE_FRAME_TYPE, AMF_VIDEO_ENCODER_AV1_FORCE_FRAME_TYPE_INTRA_ONLY); -+ } -+ } - break; -- //case AV_CODEC_ID_AV1 not supported - default: - break; - } -@@ -878,6 +913,115 @@ - return ret; - } - -+int ff_amf_get_color_primaries(AVCodecContext *avctx) -+{ -+ amf_int64 color_primaries = AMF_COLOR_PRIMARIES_UNDEFINED; -+ switch (avctx->color_primaries) { -+ case AVCOL_PRI_BT709: -+ color_primaries = AMF_COLOR_PRIMARIES_BT709; -+ break; -+ case AVCOL_PRI_UNSPECIFIED: -+ color_primaries = AMF_COLOR_PRIMARIES_UNSPECIFIED; -+ break; -+ case AVCOL_PRI_RESERVED: -+ color_primaries = AMF_COLOR_PRIMARIES_RESERVED; -+ break; -+ case AVCOL_PRI_BT470M: -+ color_primaries = AMF_COLOR_PRIMARIES_BT470M; -+ break; -+ case AVCOL_PRI_BT470BG: -+ color_primaries = AMF_COLOR_PRIMARIES_BT470BG; -+ break; -+ case AVCOL_PRI_SMPTE170M: -+ color_primaries = AMF_COLOR_PRIMARIES_SMPTE170M; -+ break; -+ case AVCOL_PRI_SMPTE240M: -+ color_primaries = AMF_COLOR_PRIMARIES_SMPTE240M; -+ break; -+ case AVCOL_PRI_FILM: -+ color_primaries = AMF_COLOR_PRIMARIES_FILM; -+ break; -+ case AVCOL_PRI_BT2020: -+ color_primaries = AMF_COLOR_PRIMARIES_BT2020; -+ break; -+ case AVCOL_PRI_SMPTE428: -+ color_primaries = AMF_COLOR_PRIMARIES_SMPTE428; -+ break; -+ case AVCOL_PRI_SMPTE431: -+ color_primaries = AMF_COLOR_PRIMARIES_SMPTE431; -+ break; -+ case AVCOL_PRI_SMPTE432: -+ color_primaries = AMF_COLOR_PRIMARIES_SMPTE432; -+ break; -+ case AVCOL_PRI_EBU3213: -+ color_primaries = AMF_COLOR_PRIMARIES_JEDEC_P22; -+ break; -+ } -+ return color_primaries; -+} -+ -+int ff_amf_get_transfer_characteristic(AVCodecContext *avctx) -+{ -+ amf_int64 transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNDEFINED; -+ switch (avctx->color_trc) { -+ case AVCOL_TRC_BT709: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_BT709; -+ break; -+ case AVCOL_TRC_UNSPECIFIED: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_UNSPECIFIED; -+ break; -+ case AVCOL_TRC_RESERVED: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_RESERVED; -+ break; -+ case AVCOL_TRC_GAMMA22: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_GAMMA22; -+ break; -+ case AVCOL_TRC_GAMMA28: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_GAMMA28; -+ break; -+ case AVCOL_TRC_SMPTE170M: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE170M; -+ break; -+ case AVCOL_TRC_SMPTE240M: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE240M; -+ break; -+ case AVCOL_TRC_LINEAR: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_LINEAR; -+ break; -+ case AVCOL_TRC_LOG: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_LOG; -+ break; -+ case AVCOL_TRC_LOG_SQRT: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_LOG_SQRT; -+ break; -+ case AVCOL_TRC_IEC61966_2_4: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_IEC61966_2_4; -+ break; -+ case AVCOL_TRC_BT1361_ECG: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_BT1361_ECG; -+ break; -+ case AVCOL_TRC_IEC61966_2_1: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_IEC61966_2_1; -+ break; -+ case AVCOL_TRC_BT2020_10: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_BT2020_10; -+ break; -+ case AVCOL_TRC_BT2020_12: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_BT2020_12; -+ break; -+ case AVCOL_TRC_SMPTE2084: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE2084; -+ break; -+ case AVCOL_TRC_SMPTE428: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE428; -+ break; -+ case AVCOL_TRC_ARIB_STD_B67: -+ transfer_characteristic = AMF_COLOR_TRANSFER_CHARACTERISTIC_ARIB_STD_B67; -+ break; -+ } -+ return transfer_characteristic; -+} -+ - int ff_amf_get_color_profile(AVCodecContext *avctx) - { - amf_int64 color_profile = AMF_VIDEO_CONVERTER_COLOR_PROFILE_UNKNOWN; -diff -Naur ffmpeg-7.1.2.old/libavcodec/amfenc.h ffmpeg-7.1.2/libavcodec/amfenc.h ---- ffmpeg-7.1.2.old/libavcodec/amfenc.h 2025-10-27 10:07:00.322471636 +0100 -+++ ffmpeg-7.1.2/libavcodec/amfenc.h 2025-10-27 10:07:02.440421671 +0100 -@@ -114,6 +114,7 @@ - int max_b_frames; - int qvbr_quality_level; - int hw_high_motion_quality_boost; -+ int forced_idr; - - // HEVC - specific options - -@@ -173,6 +174,8 @@ - */ - extern const enum AVPixelFormat ff_amf_pix_fmts[]; - -+int ff_amf_get_color_primaries(AVCodecContext *avctx); -+int ff_amf_get_transfer_characteristic(AVCodecContext *avctx); - int ff_amf_get_color_profile(AVCodecContext *avctx); - - /** -diff -Naur ffmpeg-7.1.2.old/libavcodec/amfenc_h264.c ffmpeg-7.1.2/libavcodec/amfenc_h264.c ---- ffmpeg-7.1.2.old/libavcodec/amfenc_h264.c 2025-10-27 10:07:00.604474124 +0100 -+++ ffmpeg-7.1.2/libavcodec/amfenc_h264.c 2025-10-27 10:07:02.440571423 +0100 -@@ -133,6 +133,7 @@ - { "me_half_pel", "Enable ME Half Pixel", OFFSET(me_half_pel), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VE }, - { "me_quarter_pel", "Enable ME Quarter Pixel", OFFSET(me_quarter_pel),AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VE }, - -+ { "forced_idr", "Force I frames to be IDR frames", OFFSET(forced_idr) , AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, - { "aud", "Inserts AU Delimiter NAL unit", OFFSET(aud) , AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VE }, - - -@@ -201,6 +202,8 @@ - AMFRate framerate; - AMFSize framesize = AMFConstructSize(avctx->width, avctx->height); - int deblocking_filter = (avctx->flags & AV_CODEC_FLAG_LOOP_FILTER) ? 1 : 0; -+ amf_int64 color_primaries; -+ amf_int64 transfer_characteristic; - amf_int64 color_profile; - enum AVPixelFormat pix_fmt; - -@@ -273,7 +276,11 @@ - AMF_ASSIGN_PROPERTY_RATIO(res, ctx->encoder, AMF_VIDEO_ENCODER_ASPECT_RATIO, ratio); - } - -+ color_primaries = ff_amf_get_color_primaries(avctx); -+ transfer_characteristic = ff_amf_get_transfer_characteristic(avctx); - color_profile = ff_amf_get_color_profile(avctx); -+ AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_OUTPUT_COLOR_PRIMARIES, color_primaries); -+ AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_OUTPUT_TRANSFER_CHARACTERISTIC, transfer_characteristic); - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_OUTPUT_COLOR_PROFILE, color_profile); - - /// Color Range (Support for older Drivers) -@@ -287,10 +294,6 @@ - AMF_RETURN_IF_FALSE(ctx, pix_fmt != AV_PIX_FMT_P010, AVERROR_INVALIDDATA, "10-bit input video is not supported by AMF H264 encoder\n"); - - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_COLOR_BIT_DEPTH, AMF_COLOR_BIT_DEPTH_8); -- /// Color Transfer Characteristics (AMF matches ISO/IEC) -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_OUTPUT_TRANSFER_CHARACTERISTIC, (amf_int64)avctx->color_trc); -- /// Color Primaries (AMF matches ISO/IEC) -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_OUTPUT_COLOR_PRIMARIES, (amf_int64)avctx->color_primaries); - - // autodetect rate control method - if (ctx->rate_control_mode == AMF_VIDEO_ENCODER_RATE_CONTROL_METHOD_UNKNOWN) { -diff -Naur ffmpeg-7.1.2.old/libavcodec/amfenc_hevc.c ffmpeg-7.1.2/libavcodec/amfenc_hevc.c ---- ffmpeg-7.1.2.old/libavcodec/amfenc_hevc.c 2025-10-27 10:07:00.324471654 +0100 -+++ ffmpeg-7.1.2/libavcodec/amfenc_hevc.c 2025-10-27 10:07:02.440657756 +0100 -@@ -100,6 +100,7 @@ - { "me_half_pel", "Enable ME Half Pixel", OFFSET(me_half_pel), AV_OPT_TYPE_BOOL,{ .i64 = -1 }, -1, 1, VE }, - { "me_quarter_pel", "Enable ME Quarter Pixel ", OFFSET(me_quarter_pel),AV_OPT_TYPE_BOOL,{ .i64 = -1 }, -1, 1, VE }, - -+ { "forced_idr", "Force I frames to be IDR frames", OFFSET(forced_idr) ,AV_OPT_TYPE_BOOL,{ .i64 = 0 }, 0, 1, VE }, - { "aud", "Inserts AU Delimiter NAL unit", OFFSET(aud) ,AV_OPT_TYPE_BOOL,{ .i64 = -1 }, -1, 1, VE }, - - -@@ -167,6 +168,8 @@ - AMFSize framesize = AMFConstructSize(avctx->width, avctx->height); - int deblocking_filter = (avctx->flags & AV_CODEC_FLAG_LOOP_FILTER) ? 1 : 0; - amf_int64 color_depth; -+ amf_int64 color_primaries; -+ amf_int64 transfer_characteristic; - amf_int64 color_profile; - enum AVPixelFormat pix_fmt; - -@@ -241,7 +244,11 @@ - AMF_ASSIGN_PROPERTY_RATIO(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_ASPECT_RATIO, ratio); - } - -+ color_primaries = ff_amf_get_color_primaries(avctx); -+ transfer_characteristic = ff_amf_get_transfer_characteristic(avctx); - color_profile = ff_amf_get_color_profile(avctx); -+ AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PRIMARIES, color_primaries); -+ AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC, transfer_characteristic); - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PROFILE, color_profile); - /// Color Range (Support for older Drivers) - AMF_ASSIGN_PROPERTY_BOOL(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_NOMINAL_RANGE, !!(avctx->color_range == AVCOL_RANGE_JPEG)); -@@ -253,15 +260,6 @@ - color_depth = AMF_COLOR_BIT_DEPTH_10; - } - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_COLOR_BIT_DEPTH, color_depth); -- if (color_depth == AMF_COLOR_BIT_DEPTH_8) { -- /// Color Transfer Characteristics (AMF matches ISO/IEC) -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_BT709); -- /// Color Primaries (AMF matches ISO/IEC) -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT709); -- } else { -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC, AMF_COLOR_TRANSFER_CHARACTERISTIC_SMPTE2084); -- AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PRIMARIES, AMF_COLOR_PRIMARIES_BT2020); -- } - - // Picture control properties - AMF_ASSIGN_PROPERTY_INT64(res, ctx->encoder, AMF_VIDEO_ENCODER_HEVC_NUM_GOPS_PER_IDR, ctx->gops_per_idr); -diff -Naur ffmpeg-7.1.2.old/libavcodec/av1dec.c ffmpeg-7.1.2/libavcodec/av1dec.c ---- ffmpeg-7.1.2.old/libavcodec/av1dec.c 2025-10-27 10:07:00.478473013 +0100 -+++ ffmpeg-7.1.2/libavcodec/av1dec.c 2025-10-27 10:07:02.454638605 +0100 -@@ -541,6 +541,7 @@ - CONFIG_AV1_NVDEC_HWACCEL + \ - CONFIG_AV1_VAAPI_HWACCEL + \ - CONFIG_AV1_VDPAU_HWACCEL + \ -+ CONFIG_AV1_VIDEOTOOLBOX_HWACCEL + \ - CONFIG_AV1_VULKAN_HWACCEL) - enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts; - -@@ -568,6 +569,9 @@ - #if CONFIG_AV1_VDPAU_HWACCEL - *fmtp++ = AV_PIX_FMT_VDPAU; - #endif -+#if CONFIG_AV1_VIDEOTOOLBOX_HWACCEL -+ *fmtp++ = AV_PIX_FMT_VIDEOTOOLBOX; -+#endif - #if CONFIG_AV1_VULKAN_HWACCEL - *fmtp++ = AV_PIX_FMT_VULKAN; - #endif -@@ -592,6 +596,9 @@ - #if CONFIG_AV1_VDPAU_HWACCEL - *fmtp++ = AV_PIX_FMT_VDPAU; - #endif -+#if CONFIG_AV1_VIDEOTOOLBOX_HWACCEL -+ *fmtp++ = AV_PIX_FMT_VIDEOTOOLBOX; -+#endif - #if CONFIG_AV1_VULKAN_HWACCEL - *fmtp++ = AV_PIX_FMT_VULKAN; - #endif -@@ -1002,6 +1009,8 @@ - break; - } - case ITU_T_T35_PROVIDER_CODE_DOLBY: { +diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c +index 2b3a36a..5dc813d 100644 +--- a/libavcodec/av1dec.c ++++ b/libavcodec/av1dec.c +@@ -1019,6 +1019,8 @@ FF_ENABLE_DEPRECATION_WARNINGS + if (ret < 0) + return ret; + } else if (country_code == ITU_T_T35_COUNTRY_CODE_US && provider_code == ITU_T_T35_PROVIDER_CODE_DOLBY) { + AVBufferRef *rpu_buf; + AVFrameSideData *rpu; int provider_oriented_code = bytestream2_get_be32(&gb); - if (itut_t35->itu_t_t35_country_code != ITU_T_T35_COUNTRY_CODE_US || - provider_oriented_code != 0x800) -@@ -1014,6 +1023,18 @@ - break; // ignore + if (provider_oriented_code != 0x800) + return 0; // ignore +@@ -1030,6 +1032,18 @@ FF_ENABLE_DEPRECATION_WARNINGS + return 0; // ignore } + rpu_buf = av_buffer_alloc(itut_t35->payload_size); @@ -890,110 +77,14 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/av1dec.c ffmpeg-7.1.2/libavcodec/av1dec.c ret = ff_dovi_attach_side_data(&s->dovi, frame); if (ret < 0) return ret; -@@ -1439,6 +1460,10 @@ - - if (raw_tile_group && (s->tile_num == raw_tile_group->tg_end + 1)) { - int show_frame = s->raw_frame_header->show_frame; -+ // Set nb_unit to point at the next OBU, to indicate which -+ // OBUs have been processed for this current frame. (If this -+ // frame gets output, we set nb_unit to this value later too.) -+ s->nb_unit = i + 1; - if (avctx->hwaccel && s->cur_frame.f) { - ret = FF_HW_SIMPLE_CALL(avctx, end_frame); - if (ret < 0) { -@@ -1449,6 +1474,8 @@ - - update_reference_list(avctx); - -+ // Set start_unit to indicate the first OBU of the next frame. -+ s->start_unit = s->nb_unit; - raw_tile_group = NULL; - s->raw_frame_header = NULL; - -@@ -1478,7 +1505,7 @@ - s->raw_frame_header = NULL; - av_packet_unref(s->pkt); - ff_cbs_fragment_reset(&s->current_obu); -- s->nb_unit = 0; -+ s->nb_unit = s->start_unit = 0; - } - if (!ret && !frame->buf[0]) - ret = AVERROR(EAGAIN); -@@ -1505,7 +1532,7 @@ - return ret; - } - -- s->nb_unit = 0; -+ s->nb_unit = s->start_unit = 0; - av_log(avctx, AV_LOG_DEBUG, "Total OBUs on this packet: %d.\n", - s->current_obu.nb_units); - } -@@ -1526,7 +1553,7 @@ - - av1_frame_unref(&s->cur_frame); - s->operating_point_idc = 0; -- s->nb_unit = 0; -+ s->nb_unit = s->start_unit = 0; - s->raw_frame_header = NULL; - s->raw_seq = NULL; - s->cll = NULL; -@@ -1594,6 +1621,9 @@ - #if CONFIG_AV1_VDPAU_HWACCEL - HWACCEL_VDPAU(av1), - #endif -+#if CONFIG_AV1_VIDEOTOOLBOX_HWACCEL -+ HWACCEL_VIDEOTOOLBOX(av1), -+#endif - #if CONFIG_AV1_VULKAN_HWACCEL - HWACCEL_VULKAN(av1), - #endif -diff -Naur ffmpeg-7.1.2.old/libavcodec/av1dec.h ffmpeg-7.1.2/libavcodec/av1dec.h ---- ffmpeg-7.1.2.old/libavcodec/av1dec.h 2025-10-27 10:07:00.402472342 +0100 -+++ ffmpeg-7.1.2/libavcodec/av1dec.h 2025-10-27 10:07:02.454762738 +0100 -@@ -114,7 +114,8 @@ - AV1Frame ref[AV1_NUM_REF_FRAMES]; - AV1Frame cur_frame; - -- int nb_unit; -+ int nb_unit; ///< The index of the next OBU to be processed. -+ int start_unit; ///< The index of the first OBU of the current frame. - - // AVOptions - int operating_point; -diff -Naur ffmpeg-7.1.2.old/libavcodec/bsf/hevc_mp4toannexb.c ffmpeg-7.1.2/libavcodec/bsf/hevc_mp4toannexb.c ---- ffmpeg-7.1.2.old/libavcodec/bsf/hevc_mp4toannexb.c 2025-10-27 10:07:00.449472757 +0100 -+++ ffmpeg-7.1.2/libavcodec/bsf/hevc_mp4toannexb.c 2025-10-27 10:07:02.435022530 +0100 -@@ -125,6 +125,7 @@ - AVPacket *in; - GetByteContext gb; - -+ int has_sps = 0, has_pps = 0; - int got_irap = 0; - int i, ret = 0; - -@@ -158,11 +159,14 @@ - } - - nalu_type = (bytestream2_peek_byte(&gb) >> 1) & 0x3f; -+ has_sps = (has_sps || nalu_type == HEVC_NAL_SPS); -+ has_pps = (has_pps || nalu_type == HEVC_NAL_PPS); - - /* prepend extradata to IRAP frames */ - is_irap = nalu_type >= HEVC_NAL_BLA_W_LP && - nalu_type <= HEVC_NAL_RSV_IRAP_VCL23; -- add_extradata = is_irap && !got_irap; -+ /* ignore the extradata if IRAP frame has sps and pps */ -+ add_extradata = is_irap && !got_irap && !(has_sps && has_pps); - extra_size = add_extradata * ctx->par_out->extradata_size; - got_irap |= is_irap; - -diff -Naur ffmpeg-7.1.2.old/libavcodec/ccaption_dec.c ffmpeg-7.1.2/libavcodec/ccaption_dec.c ---- ffmpeg-7.1.2.old/libavcodec/ccaption_dec.c 2025-10-27 10:07:00.593474027 +0100 -+++ ffmpeg-7.1.2/libavcodec/ccaption_dec.c 2025-10-27 10:07:02.429490227 +0100 -@@ -889,12 +889,13 @@ +diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c +index 9b6c766..399296e 100644 +--- a/libavcodec/ccaption_dec.c ++++ b/libavcodec/ccaption_dec.c +@@ -893,12 +893,13 @@ static int decode(AVCodecContext *avctx, AVSubtitle *sub, if (ctx->buffer[bidx].str[0] || ctx->real_time) { - ff_dlog(ctx, "cdp writing data (%s)\n", ctx->buffer[bidx].str); + ff_dlog(avctx, "cdp writing data (%s)\n", ctx->buffer[bidx].str); - start_time = ctx->buffer_time[0]; - sub->pts = start_time; - end_time = ctx->buffer_time[1]; @@ -1008,10 +99,11 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/ccaption_dec.c ffmpeg-7.1.2/libavcodec/cc else sub->end_display_time = -1; ret = ff_ass_add_rect2(sub, ctx->buffer[bidx].str, ctx->readorder++, 0, NULL, NULL, &nb_rect_allocated); -diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsubdec.c ---- ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c 2025-10-27 10:07:00.303471468 +0100 -+++ ffmpeg-7.1.2/libavcodec/dvdsubdec.c 2025-10-27 10:07:02.428490218 +0100 -@@ -45,6 +45,8 @@ +diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c +index 9f9845b..1beb1fc 100644 +--- a/libavcodec/dvdsubdec.c ++++ b/libavcodec/dvdsubdec.c +@@ -45,6 +45,8 @@ typedef struct DVDSubContext int buf_size; int forced_subs_only; uint8_t used_color[256]; @@ -1020,7 +112,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu } DVDSubContext; static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *rgba, int num_values) -@@ -230,7 +232,10 @@ +@@ -230,7 +232,10 @@ static int decode_dvd_subtitles(void *logctx, DVDSubContext *ctx, uint32_t size; int64_t offset1, offset2; @@ -1032,7 +124,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu return -1; if (AV_RB16(buf) == 0) { /* HD subpicture with 4-byte offsets */ -@@ -243,15 +248,22 @@ +@@ -243,15 +248,21 @@ static int decode_dvd_subtitles(void *logctx, DVDSubContext *ctx, cmd_pos = 2; } @@ -1041,15 +133,14 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu + size = READ_OFFSET(buf + (big_offsets ? 2 : 0)); - cmd_pos = READ_OFFSET(buf + cmd_pos); ++ if (size == 0) ++ return -1; - if (cmd_pos < 0 || cmd_pos > buf_size - 2 - offset_size) { - if (cmd_pos > size) { -- av_log(ctx, AV_LOG_ERROR, "Discarding invalid packet\n"); +- av_log(logctx, AV_LOG_ERROR, "Discarding invalid packet\n"); - return 0; - } -+ if (size == 0) -+ return -1; -+ + if (buf_size < size) return AVERROR(EAGAIN); + @@ -1061,7 +152,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu } while (cmd_pos > 0 && cmd_pos < buf_size - 2 - offset_size) { -@@ -524,10 +536,13 @@ +@@ -524,10 +535,13 @@ static int dvdsub_decode(AVCodecContext *avctx, AVSubtitle *sub, int appended = 0; int is_menu; @@ -1075,8 +166,8 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu return ret; } buf = ctx->buf; -@@ -538,7 +553,12 @@ - is_menu = decode_dvd_subtitles(ctx, sub, buf, buf_size); +@@ -538,7 +552,12 @@ static int dvdsub_decode(AVCodecContext *avctx, AVSubtitle *sub, + is_menu = decode_dvd_subtitles(avctx, ctx, sub, buf, buf_size); if (is_menu == AVERROR(EAGAIN)) { *data_size = 0; - return appended ? 0 : append_to_cached_buf(avctx, buf, buf_size); @@ -1089,7 +180,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu } if (is_menu < 0) { -@@ -547,9 +567,10 @@ +@@ -547,9 +566,10 @@ static int dvdsub_decode(AVCodecContext *avctx, AVSubtitle *sub, reset_rects(sub); *data_size = 0; @@ -1101,7 +192,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu goto no_subtitle; if (ctx->forced_subs_only && !(sub->rects[0]->flags & AV_SUBTITLE_FLAG_FORCED)) -@@ -557,6 +578,8 @@ +@@ -557,6 +577,8 @@ static int dvdsub_decode(AVCodecContext *avctx, AVSubtitle *sub, ctx->buf_size = 0; *data_size = 1; @@ -1110,15 +201,15 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu return buf_size; } -@@ -682,6 +705,7 @@ +@@ -683,6 +705,7 @@ static av_cold int dvdsub_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_DEBUG, " 0x%06"PRIx32, ctx->palette[i]); av_log(avctx, AV_LOG_DEBUG, "\n"); } + ctx->pts = AV_NOPTS_VALUE; - return 1; + return 0; } -@@ -698,6 +722,7 @@ +@@ -699,6 +722,7 @@ static const AVOption options[] = { { "palette", "set the global palette", OFFSET(palette_str), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, SD }, { "ifo_palette", "obtain the global palette from .IFO file", OFFSET(ifo_str), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, SD }, { "forced_subs_only", "Only show forced subtitles", OFFSET(forced_subs_only), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, SD}, @@ -1126,297 +217,88 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/dvdsubdec.c ffmpeg-7.1.2/libavcodec/dvdsu { NULL } }; static const AVClass dvdsub_class = { -diff -Naur ffmpeg-7.1.2.old/libavcodec/eac3dec.c ffmpeg-7.1.2/libavcodec/eac3dec.c ---- ffmpeg-7.1.2.old/libavcodec/eac3dec.c 2025-10-27 10:07:00.490473118 +0100 -+++ ffmpeg-7.1.2/libavcodec/eac3dec.c 2025-10-27 10:07:02.463392296 +0100 -@@ -53,8 +53,6 @@ - EAC3_GAQ_124 - } EAC3GaqMode; - --#define EAC3_SR_CODE_REDUCED 3 -- - static void ff_eac3_apply_spectral_extension(AC3DecodeContext *s) - { - int bin, bnd, ch, i; -@@ -287,7 +285,7 @@ - } - } - --static int ff_eac3_parse_header(AC3DecodeContext *s) -+static int ff_eac3_parse_header(AC3DecodeContext *s, const AC3HeaderInfo *hdr) - { - int i, blk, ch; - int ac3_exponent_strategy, parse_aht_info, parse_spx_atten_data; -@@ -323,11 +321,10 @@ - avpriv_request_sample(s->avctx, "Reduced sampling rate"); - return AVERROR_PATCHWELCOME; - } -- skip_bits(gbc, 5); // skip bitstream id - - /* volume control params */ - for (i = 0; i < (s->channel_mode ? 1 : 2); i++) { -- s->dialog_normalization[i] = -get_bits(gbc, 5); -+ s->dialog_normalization[i] = hdr->dialog_normalization[i]; - if (s->dialog_normalization[i] == 0) { - s->dialog_normalization[i] = -31; +diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c +index 14ec984..90aa2ba 100644 +--- a/libavcodec/libdav1d.c ++++ b/libavcodec/libdav1d.c +@@ -415,6 +415,8 @@ FF_ENABLE_DEPRECATION_WARNINGS + if (res < 0) + return res; + } else if (country_code == ITU_T_T35_COUNTRY_CODE_US && provider_code == ITU_T_T35_PROVIDER_CODE_DOLBY) { ++ AVBufferRef *rpu_buf; ++ AVFrameSideData *rpu; + int provider_oriented_code = bytestream2_get_be32(&gb); + if (provider_oriented_code != 0x800) + return 0; // ignore +@@ -426,6 +428,18 @@ FF_ENABLE_DEPRECATION_WARNINGS + return 0; // ignore } -@@ -335,147 +332,30 @@ - s->level_gain[i] = powf(2.0f, - (float)(s->target_level - s->dialog_normalization[i])/6.0f); - } -- s->compression_exists[i] = get_bits1(gbc); -- if (s->compression_exists[i]) { -- s->heavy_dynamic_range[i] = AC3_HEAVY_RANGE(get_bits(gbc, 8)); -+ if (hdr->compression_exists[i]) { -+ s->heavy_dynamic_range[i] = AC3_HEAVY_RANGE(hdr->heavy_dynamic_range[i]); - } - } -- /* dependent stream channel map */ -- if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) { -- if (get_bits1(gbc)) { -- int64_t channel_layout = 0; -- int channel_map = get_bits(gbc, 16); -- av_log(s->avctx, AV_LOG_DEBUG, "channel_map: %0X\n", channel_map); -- -- for (i = 0; i < 16; i++) -- if (channel_map & (1 << (EAC3_MAX_CHANNELS - i - 1))) -- channel_layout |= ff_eac3_custom_channel_map_locations[i][1]; -- -- if (av_popcount64(channel_layout) > EAC3_MAX_CHANNELS) { -- return AVERROR_INVALIDDATA; -- } -- s->channel_map = channel_map; -- } -- } -+ s->channel_map = hdr->channel_map; - - /* mixing metadata */ -- if (get_bits1(gbc)) { -- /* center and surround mix levels */ -- if (s->channel_mode > AC3_CHMODE_STEREO) { -- s->preferred_downmix = get_bits(gbc, 2); -- if (s->channel_mode & 1) { -- /* if three front channels exist */ -- s->center_mix_level_ltrt = get_bits(gbc, 3); -- s->center_mix_level = get_bits(gbc, 3); -- } -- if (s->channel_mode & 4) { -- /* if a surround channel exists */ -- s->surround_mix_level_ltrt = av_clip(get_bits(gbc, 3), 3, 7); -- s->surround_mix_level = av_clip(get_bits(gbc, 3), 3, 7); -- } -- } -- -- /* lfe mix level */ -- if (s->lfe_on && (s->lfe_mix_level_exists = get_bits1(gbc))) { -- s->lfe_mix_level = get_bits(gbc, 5); -- } -- -- /* info for mixing with other streams and substreams */ -- if (s->frame_type == EAC3_FRAME_TYPE_INDEPENDENT) { -- for (i = 0; i < (s->channel_mode ? 1 : 2); i++) { -- // TODO: apply program scale factor -- if (get_bits1(gbc)) { -- skip_bits(gbc, 6); // skip program scale factor -- } -- } -- if (get_bits1(gbc)) { -- skip_bits(gbc, 6); // skip external program scale factor -- } -- /* skip mixing parameter data */ -- switch(get_bits(gbc, 2)) { -- case 1: skip_bits(gbc, 5); break; -- case 2: skip_bits(gbc, 12); break; -- case 3: { -- int mix_data_size = (get_bits(gbc, 5) + 2) << 3; -- skip_bits_long(gbc, mix_data_size); -- break; -- } -- } -- /* skip pan information for mono or dual mono source */ -- if (s->channel_mode < AC3_CHMODE_STEREO) { -- for (i = 0; i < (s->channel_mode ? 1 : 2); i++) { -- if (get_bits1(gbc)) { -- /* note: this is not in the ATSC A/52B specification -- reference: ETSI TS 102 366 V1.1.1 -- section: E.1.3.1.25 */ -- skip_bits(gbc, 8); // skip pan mean direction index -- skip_bits(gbc, 6); // skip reserved paninfo bits -- } -- } -- } -- /* skip mixing configuration information */ -- if (get_bits1(gbc)) { -- for (blk = 0; blk < s->num_blocks; blk++) { -- if (s->num_blocks == 1 || get_bits1(gbc)) { -- skip_bits(gbc, 5); -- } -- } -- } -- } -- } -+ s->preferred_downmix = hdr->preferred_downmix; -+ s->center_mix_level_ltrt = hdr->center_mix_level_ltrt; -+ s->center_mix_level = hdr->center_mix_level; -+ s->surround_mix_level_ltrt = hdr->surround_mix_level_ltrt; -+ s->surround_mix_level = hdr->surround_mix_level; -+ s->lfe_mix_level_exists = hdr->lfe_mix_level_exists; -+ s->lfe_mix_level = hdr->lfe_mix_level; -+ s->dolby_surround_mode = hdr->dolby_surround_mode; -+ s->dolby_headphone_mode = hdr->dolby_headphone_mode; -+ s->dolby_surround_ex_mode = hdr->dolby_surround_ex_mode; - - /* informational metadata */ -- if (get_bits1(gbc)) { -- s->bitstream_mode = get_bits(gbc, 3); -- skip_bits(gbc, 2); // skip copyright bit and original bitstream bit -- if (s->channel_mode == AC3_CHMODE_STEREO) { -- s->dolby_surround_mode = get_bits(gbc, 2); -- s->dolby_headphone_mode = get_bits(gbc, 2); -- } -- if (s->channel_mode >= AC3_CHMODE_2F2R) { -- s->dolby_surround_ex_mode = get_bits(gbc, 2); -- } -- for (i = 0; i < (s->channel_mode ? 1 : 2); i++) { -- if (get_bits1(gbc)) { -- skip_bits(gbc, 8); // skip mix level, room type, and A/D converter type -- } -- } -- if (s->bit_alloc_params.sr_code != EAC3_SR_CODE_REDUCED) { -- skip_bits1(gbc); // skip source sample rate code -- } -- } -- -- /* converter synchronization flag -- If frames are less than six blocks, this bit should be turned on -- once every 6 blocks to indicate the start of a frame set. -- reference: RFC 4598, Section 2.1.3 Frame Sets */ -- if (s->frame_type == EAC3_FRAME_TYPE_INDEPENDENT && s->num_blocks != 6) { -- skip_bits1(gbc); // skip converter synchronization flag -- } -- -- /* original frame size code if this stream was converted from AC-3 */ -- if (s->frame_type == EAC3_FRAME_TYPE_AC3_CONVERT && -- (s->num_blocks == 6 || get_bits1(gbc))) { -- skip_bits(gbc, 6); // skip frame size code -- } -+ s->bitstream_mode = hdr->bitstream_mode; - - /* additional bitstream info */ -- if (get_bits1(gbc)) { -- int addbsil = get_bits(gbc, 6); -- for (i = 0; i < addbsil + 1; i++) { -- if (i == 0) { -- /* In this 8 bit chunk, the LSB is equal to flag_ec3_extension_type_a -- which can be used to detect Atmos presence */ -- skip_bits(gbc, 7); -- if (get_bits1(gbc)) { -- s->eac3_extension_type_a = 1; -- } -- } else { -- skip_bits(gbc, 8); // skip additional bit stream info -- } -- } -- } -+ s->eac3_extension_type_a = hdr->eac3_extension_type_a; - - /* audio frame syntax flags, strategy data, and per-frame data */ - -diff -Naur ffmpeg-7.1.2.old/libavcodec/hwaccels.h ffmpeg-7.1.2/libavcodec/hwaccels.h ---- ffmpeg-7.1.2.old/libavcodec/hwaccels.h 2025-10-27 10:07:00.251471009 +0100 -+++ ffmpeg-7.1.2/libavcodec/hwaccels.h 2025-10-27 10:07:02.454807062 +0100 -@@ -26,6 +26,7 @@ - extern const struct FFHWAccel ff_av1_nvdec_hwaccel; - extern const struct FFHWAccel ff_av1_vaapi_hwaccel; - extern const struct FFHWAccel ff_av1_vdpau_hwaccel; -+extern const struct FFHWAccel ff_av1_videotoolbox_hwaccel; - extern const struct FFHWAccel ff_av1_vulkan_hwaccel; - extern const struct FFHWAccel ff_h263_vaapi_hwaccel; - extern const struct FFHWAccel ff_h263_videotoolbox_hwaccel; -diff -Naur ffmpeg-7.1.2.old/libavcodec/libdav1d.c ffmpeg-7.1.2/libavcodec/libdav1d.c ---- ffmpeg-7.1.2.old/libavcodec/libdav1d.c 2025-10-27 10:07:00.474472977 +0100 -+++ ffmpeg-7.1.2/libavcodec/libdav1d.c 2025-10-27 10:07:02.436286040 +0100 -@@ -563,6 +563,8 @@ - break; - } - case ITU_T_T35_PROVIDER_CODE_DOLBY: { -+ AVBufferRef *rpu_buf; -+ AVFrameSideData *rpu; - int provider_oriented_code = bytestream2_get_be32(&gb); - if (itut_t35->country_code != ITU_T_T35_COUNTRY_CODE_US || - provider_oriented_code != 0x800) -@@ -575,6 +577,18 @@ - break; // ignore - } - -+ rpu_buf = av_buffer_alloc(itut_t35->payload_size); -+ if (rpu_buf) { -+ memcpy(rpu_buf->data, itut_t35->payload, itut_t35->payload_size); -+ rpu = av_frame_new_side_data_from_buf(frame, AV_FRAME_DATA_DOVI_RPU_BUFFER_T35, rpu_buf); -+ if (!rpu) { -+ av_buffer_unref(&rpu_buf); -+ goto fail; -+ } -+ } else { -+ goto fail; ++ rpu_buf = av_buffer_alloc(itut_t35->payload_size); ++ if (rpu_buf) { ++ memcpy(rpu_buf->data, itut_t35->payload, itut_t35->payload_size); ++ rpu = av_frame_new_side_data_from_buf(frame, AV_FRAME_DATA_DOVI_RPU_BUFFER_T35, rpu_buf); ++ if (!rpu) { ++ av_buffer_unref(&rpu_buf); ++ return AVERROR(ENOMEM); + } ++ } else { ++ return AVERROR(ENOMEM); ++ } + - res = ff_dovi_attach_side_data(&dav1d->dovi, frame); - if (res < 0) - goto fail; -diff -Naur ffmpeg-7.1.2.old/libavcodec/Makefile ffmpeg-7.1.2/libavcodec/Makefile ---- ffmpeg-7.1.2.old/libavcodec/Makefile 2025-10-27 10:07:01.865180885 +0100 -+++ ffmpeg-7.1.2/libavcodec/Makefile 2025-10-27 10:07:02.454516424 +0100 -@@ -1008,6 +1008,7 @@ - OBJS-$(CONFIG_AV1_NVDEC_HWACCEL) += nvdec_av1.o - OBJS-$(CONFIG_AV1_VAAPI_HWACCEL) += vaapi_av1.o - OBJS-$(CONFIG_AV1_VDPAU_HWACCEL) += vdpau_av1.o -+OBJS-$(CONFIG_AV1_VIDEOTOOLBOX_HWACCEL) += videotoolbox_av1.o - OBJS-$(CONFIG_AV1_VULKAN_HWACCEL) += vulkan_decode.o vulkan_av1.o - OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o - OBJS-$(CONFIG_H263_VIDEOTOOLBOX_HWACCEL) += videotoolbox.o -diff -Naur ffmpeg-7.1.2.old/libavcodec/mfenc.c ffmpeg-7.1.2/libavcodec/mfenc.c ---- ffmpeg-7.1.2.old/libavcodec/mfenc.c 2025-10-27 10:07:00.524473418 +0100 -+++ ffmpeg-7.1.2/libavcodec/mfenc.c 2025-10-27 10:07:02.459027162 +0100 -@@ -1315,3 +1315,4 @@ - - MF_ENCODER(VIDEO, h264, H264, venc_opts, VFMTS, VCAPS, defaults); - MF_ENCODER(VIDEO, hevc, HEVC, venc_opts, VFMTS, VCAPS, defaults); -+MF_ENCODER(VIDEO, av1, AV1, venc_opts, VFMTS, VCAPS, defaults); -diff -Naur ffmpeg-7.1.2.old/libavcodec/mf_utils.c ffmpeg-7.1.2/libavcodec/mf_utils.c ---- ffmpeg-7.1.2.old/libavcodec/mf_utils.c 2025-10-27 10:07:00.467472915 +0100 -+++ ffmpeg-7.1.2/libavcodec/mf_utils.c 2025-10-27 10:07:02.458887429 +0100 -@@ -240,6 +240,7 @@ - GUID_ENTRY(MFMediaType_Video), - GUID_ENTRY(MFAudioFormat_PCM), - GUID_ENTRY(MFAudioFormat_Float), -+ GUID_ENTRY(ff_MFVideoFormat_AV1), - GUID_ENTRY(MFVideoFormat_H264), - GUID_ENTRY(MFVideoFormat_H264_ES), - GUID_ENTRY(ff_MFVideoFormat_HEVC), -@@ -507,6 +508,7 @@ - const CLSID *ff_codec_to_mf_subtype(enum AVCodecID codec) + res = ff_dovi_attach_side_data(&dav1d->dovi, frame); + if (res < 0) + return res; +diff --git a/libavcodec/mfenc.c b/libavcodec/mfenc.c +index 541f7fb..b517352 100644 +--- a/libavcodec/mfenc.c ++++ b/libavcodec/mfenc.c +@@ -904,6 +904,8 @@ static int64_t mf_encv_input_score(AVCodecContext *avctx, IMFMediaType *type) + static int mf_encv_input_adjust(AVCodecContext *avctx, IMFMediaType *type) { - switch (codec) { -+ case AV_CODEC_ID_AV1: return &ff_MFVideoFormat_AV1; - case AV_CODEC_ID_H264: return &MFVideoFormat_H264; - case AV_CODEC_ID_HEVC: return &ff_MFVideoFormat_HEVC; - case AV_CODEC_ID_AC3: return &MFAudioFormat_Dolby_AC3; -diff -Naur ffmpeg-7.1.2.old/libavcodec/mf_utils.h ffmpeg-7.1.2/libavcodec/mf_utils.h ---- ffmpeg-7.1.2.old/libavcodec/mf_utils.h 2025-10-27 10:07:00.429472580 +0100 -+++ ffmpeg-7.1.2/libavcodec/mf_utils.h 2025-10-27 10:07:02.458955668 +0100 -@@ -113,6 +113,7 @@ + enum AVPixelFormat pix_fmt = ff_media_type_to_pix_fmt((IMFAttributes *)type); ++ AVRational framerate; ++ + if (avctx->pix_fmt == AV_PIX_FMT_D3D11) { + if (pix_fmt != AV_PIX_FMT_NV12 && pix_fmt != AV_PIX_FMT_D3D11) { + av_log(avctx, AV_LOG_ERROR, "unsupported input pixel format set\n"); +@@ -916,7 +918,16 @@ static int mf_encv_input_adjust(AVCodecContext *avctx, IMFMediaType *type) + } + } - DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_HEVC, 0x43564548); // FCC('HEVC') - DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_HEVC_ES, 0x53564548); // FCC('HEVS') -+DEFINE_MEDIATYPE_GUID(ff_MFVideoFormat_AV1, 0x31305641); // FCC('AV01') +- //ff_MFSetAttributeSize((IMFAttributes *)type, &MF_MT_FRAME_SIZE, avctx->width, avctx->height); ++ ff_MFSetAttributeSize((IMFAttributes *)type, &MF_MT_FRAME_SIZE, avctx->width, avctx->height); ++ IMFAttributes_SetUINT32(type, &MF_MT_INTERLACE_MODE, MFVideoInterlace_Progressive); ++ ++ if (avctx->framerate.num > 0 && avctx->framerate.den > 0) { ++ framerate = avctx->framerate; ++ } else { ++ framerate = av_inv_q(avctx->time_base); ++ } ++ ++ ff_MFSetAttributeRatio((IMFAttributes *)type, &MF_MT_FRAME_RATE, framerate.num, framerate.den); + return 0; + } +diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c +index 3922305..8c02815 100644 +--- a/libavcodec/nvenc.c ++++ b/libavcodec/nvenc.c +@@ -680,7 +680,9 @@ static int nvenc_check_capabilities(AVCodecContext *avctx) - // This enum is missing from mingw-w64's codecapi.h by v7.0.0. -diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssubdec.c ---- ffmpeg-7.1.2.old/libavcodec/pgssubdec.c 2025-10-27 10:07:00.318471601 +0100 -+++ ffmpeg-7.1.2/libavcodec/pgssubdec.c 2025-10-27 10:07:02.446191090 +0100 + #ifdef NVENC_HAVE_MVHEVC + ctx->multiview_supported = nvenc_check_cap(avctx, NV_ENC_CAPS_SUPPORT_MVHEVC_ENCODE) > 0; +- if(ctx->profile == NV_ENC_HEVC_PROFILE_MULTIVIEW_MAIN && !ctx->multiview_supported) { ++ if (avctx->codec_id == AV_CODEC_ID_HEVC && ++ ctx->profile == NV_ENC_HEVC_PROFILE_MULTIVIEW_MAIN && ++ !ctx->multiview_supported) { + av_log(avctx, AV_LOG_WARNING, "Multiview not supported by the device\n"); + return AVERROR(ENOSYS); + } +diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c +index 20583c9..b43ce23 100644 +--- a/libavcodec/pgssubdec.c ++++ b/libavcodec/pgssubdec.c @@ -35,9 +35,11 @@ #include "libavutil/opt.h" @@ -1432,7 +314,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu enum SegmentType { PALETTE_SEGMENT = 0x14, -@@ -48,57 +50,80 @@ +@@ -48,57 +50,80 @@ enum SegmentType { }; typedef struct PGSSubObjectRef { @@ -1536,7 +418,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu static void flush_cache(AVCodecContext *avctx) { PGSSubContext *ctx = avctx->priv_data; -@@ -106,8 +131,11 @@ +@@ -106,8 +131,11 @@ static void flush_cache(AVCodecContext *avctx) for (i = 0; i < ctx->objects.count; i++) { av_freep(&ctx->objects.object[i].rle); @@ -1549,7 +431,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu } ctx->objects.count = 0; ctx->palettes.count = 0; -@@ -144,6 +172,7 @@ +@@ -144,6 +172,7 @@ static av_cold int init_decoder(AVCodecContext *avctx) static av_cold int close_decoder(AVCodecContext *avctx) { @@ -1557,7 +439,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu flush_cache(avctx); return 0; -@@ -159,48 +188,51 @@ +@@ -159,48 +188,51 @@ static av_cold int close_decoder(AVCodecContext *avctx) * @param buf pointer to the RLE data to process * @param buf_size size of the RLE data to process */ @@ -1626,7 +508,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu if (avctx->err_recognition & AV_EF_EXPLODE) { return AVERROR_INVALIDDATA; } -@@ -209,13 +241,11 @@ +@@ -209,13 +241,11 @@ static int decode_rle(AVCodecContext *avctx, AVSubtitleRect *rect, } } @@ -1643,7 +525,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu return 0; } -@@ -237,7 +267,7 @@ +@@ -237,7 +267,7 @@ static int parse_object_segment(AVCodecContext *avctx, uint8_t sequence_desc; unsigned int rle_bitmap_len, width, height; @@ -1652,7 +534,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu if (buf_size <= 4) return AVERROR_INVALIDDATA; -@@ -260,57 +290,71 @@ +@@ -260,57 +290,71 @@ static int parse_object_segment(AVCodecContext *avctx, /* Read the Sequence Description to determine if start of RLE data or appended to previous RLE */ sequence_desc = bytestream_get_byte(&buf); @@ -1696,17 +578,16 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu + /* Get bitmap dimensions from data */ + width = bytestream_get_be16(&buf); + height = bytestream_get_be16(&buf); -+ + +- /* Get bitmap dimensions from data */ +- width = bytestream_get_be16(&buf); +- height = bytestream_get_be16(&buf); + /* Make sure the bitmap is not too large */ + if (MAX_OBJECT_WH < width || MAX_OBJECT_WH < height || !width || !height) { + av_log(avctx, AV_LOG_ERROR, "Bitmap dimensions (%dx%d) invalid.\n", width, height); + return AVERROR_INVALIDDATA; + } -- /* Get bitmap dimensions from data */ -- width = bytestream_get_be16(&buf); -- height = bytestream_get_be16(&buf); -- - /* Make sure the bitmap is not too large */ - if (avctx->width < width || avctx->height < height || !width || !height) { - av_log(avctx, AV_LOG_ERROR, "Bitmap dimensions (%dx%d) invalid.\n", width, height); @@ -1738,14 +619,10 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu - object->rle_remaining_len = 0; - return AVERROR(ENOMEM); + memcpy(object->rle + object->rle_data_len, buf, buf_size); - } ++ } + object->rle_data_len += buf_size; + object->rle_remaining_len -= buf_size; - -- memcpy(object->rle, buf, buf_size); -- object->rle_data_len = buf_size; -- object->rle_remaining_len = rle_bitmap_len - buf_size; -- ++ + /* Last in sequence object definition (can be both first and last) */ + if (sequence_desc & 0x40) { + /* Attempt decoding if data is valid */ @@ -1761,11 +638,16 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu + if (avctx->err_recognition & AV_EF_EXPLODE) + return AVERROR_INVALIDDATA; + } -+ } + } +- +- memcpy(object->rle, buf, buf_size); +- object->rle_data_len = buf_size; +- object->rle_remaining_len = rle_bitmap_len - buf_size; +- return 0; } -@@ -318,7 +362,7 @@ +@@ -318,7 +362,7 @@ static int parse_object_segment(AVCodecContext *avctx, * Parse the palette segment packet. * * The palette segment contains details of the palette, @@ -1774,7 +656,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu * * @param avctx contains the current codec context * @param buf pointer to the packet to process -@@ -391,13 +435,17 @@ +@@ -391,13 +435,17 @@ static int parse_presentation_segment(AVCodecContext *avctx, int64_t pts) { PGSSubContext *ctx = avctx->priv_data; @@ -1793,7 +675,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu ctx->presentation.pts = pts; ff_dlog(avctx, "Video Dimensions %dx%d\n", -@@ -406,88 +454,121 @@ +@@ -406,88 +454,121 @@ static int parse_presentation_segment(AVCodecContext *avctx, if (ret < 0) return ret; @@ -1863,50 +745,29 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu - for (i = 0; i < ctx->presentation.object_count; i++) - { - PGSSubObjectRef *const object = &ctx->presentation.objects[i]; -- ++ if (buf_end - buf < 8) { ++ av_log(avctx, AV_LOG_ERROR, "Insufficient space for object\n"); ++ ctx->presentation.object_count = i; ++ return AVERROR_INVALIDDATA; ++ } + - if (buf_end - buf < 8) { -- av_log(avctx, AV_LOG_ERROR, "Insufficent space for object\n"); +- av_log(avctx, AV_LOG_ERROR, "Insufficient space for object\n"); - ctx->presentation.object_count = i; - return AVERROR_INVALIDDATA; - } -- -- object->id = bytestream_get_be16(&buf); -- object->window_id = bytestream_get_byte(&buf); -- object->composition_flag = bytestream_get_byte(&buf); -- -- object->x = bytestream_get_be16(&buf); -- object->y = bytestream_get_be16(&buf); -- -- // If cropping -- if (object->composition_flag & 0x80) { -- object->crop_x = bytestream_get_be16(&buf); -- object->crop_y = bytestream_get_be16(&buf); -- object->crop_w = bytestream_get_be16(&buf); -- object->crop_h = bytestream_get_be16(&buf); -- } -- -- ff_dlog(avctx, "Subtitle Placement x=%d, y=%d\n", -- object->x, object->y); -- -- if (object->x > avctx->width || object->y > avctx->height) { -- av_log(avctx, AV_LOG_ERROR, "Subtitle out of video bounds. x = %d, y = %d, video width = %d, video height = %d.\n", -- object->x, object->y, -- avctx->width, avctx->height); -- object->y = object->x = 0; -- if (avctx->err_recognition & AV_EF_EXPLODE) { -+ if (buf_end - buf < 8) { -+ av_log(avctx, AV_LOG_ERROR, "Insufficent space for object\n"); -+ ctx->presentation.object_count = i; - return AVERROR_INVALIDDATA; - } -+ + object->id = bytestream_get_be16(&buf); + object->window_id = bytestream_get_byte(&buf); + object->composition_flag = bytestream_get_byte(&buf); -+ + +- object->id = bytestream_get_be16(&buf); +- object->window_id = bytestream_get_byte(&buf); +- object->composition_flag = bytestream_get_byte(&buf); + object->x = bytestream_get_be16(&buf); + object->y = bytestream_get_be16(&buf); -+ + +- object->x = bytestream_get_be16(&buf); +- object->y = bytestream_get_be16(&buf); + // If cropping + if (object->composition_flag & 0x80) { + object->crop_x = bytestream_get_be16(&buf); @@ -1914,15 +775,23 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu + object->crop_w = bytestream_get_be16(&buf); + object->crop_h = bytestream_get_be16(&buf); + } -+ + +- // If cropping +- if (object->composition_flag & 0x80) { +- object->crop_x = bytestream_get_be16(&buf); +- object->crop_y = bytestream_get_be16(&buf); +- object->crop_w = bytestream_get_be16(&buf); +- object->crop_h = bytestream_get_be16(&buf); + /* Placement is checked at decode after cropping. */ + ff_dlog(avctx, "Subtitle Placement x=%d, y=%d\n", + object->x, object->y); } - } ++ } + return 0; +} -+ + +- ff_dlog(avctx, "Subtitle Placement x=%d, y=%d\n", +- object->x, object->y); +/** + * Parse the window segment packet. + * @@ -1935,12 +804,21 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu + int buf_size) +{ + PGSSubContext *ctx = (PGSSubContext *)avctx->priv_data; -+ + +- if (object->x > avctx->width || object->y > avctx->height) { +- av_log(avctx, AV_LOG_ERROR, "Subtitle out of video bounds. x = %d, y = %d, video width = %d, video height = %d.\n", +- object->x, object->y, +- avctx->width, avctx->height); +- object->y = object->x = 0; +- if (avctx->err_recognition & AV_EF_EXPLODE) { +- return AVERROR_INVALIDDATA; +- } +- } + // 1 byte: number of windows defined + if (bytestream_get_byte(&buf) > MAX_OBJECT_REFS) { + av_log(avctx, AV_LOG_ERROR, "Too many windows defined.\n"); + return AVERROR_INVALIDDATA; -+ } + } + /* TODO: mask objects with windows when transfering to the graphic plane + * Window Segment Structure @@ -1968,7 +846,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu * * @param avctx contains the current codec context * @param data pointer to the data pertaining the subtitle to display -@@ -500,26 +581,33 @@ +@@ -500,26 +581,33 @@ static int display_end_segment(AVCodecContext *avctx, AVSubtitle *sub, PGSSubContext *ctx = avctx->priv_data; int64_t pts; PGSSubPalette *palette; @@ -2010,7 +888,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu palette = find_palette(ctx->presentation.palette_id, &ctx->palettes); if (!palette) { // Missing palette. Should only happen with damaged streams. -@@ -528,57 +616,128 @@ +@@ -528,57 +616,128 @@ static int display_end_segment(AVCodecContext *avctx, AVSubtitle *sub, avsubtitle_free(sub); return AVERROR_INVALIDDATA; } @@ -2022,6 +900,20 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu - return AVERROR(ENOMEM); - sub->rects[sub->num_rects++] = rect; - rect->type = SUBTITLE_BITMAP; +- +- /* Process bitmap */ +- object = find_object(ctx->presentation.objects[i].id, &ctx->objects); +- if (!object) { +- // Missing object. Should only happen with damaged streams. +- av_log(avctx, AV_LOG_ERROR, "Invalid object id %d\n", +- ctx->presentation.objects[i].id); +- if (avctx->err_recognition & AV_EF_EXPLODE) +- return AVERROR_INVALIDDATA; +- // Leaves rect empty with 0 width and height. +- continue; +- } +- if (ctx->presentation.objects[i].composition_flag & 0x40) +- rect->flags |= AV_SUBTITLE_FLAG_FORCED; + for (i = 0; i < ctx->plane.count; i++) { + const PGSSubObjectRef *sub_object = &ctx->presentation.objects[i]; + AVSubtitleRect *const gp_rect = &ctx->plane.visible_rect[i]; @@ -2044,25 +936,10 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu + } + if (sub_object->composition_flag & 0x40) + gp_rect->flags |= AV_SUBTITLE_FLAG_FORCED; - -- /* Process bitmap */ -- object = find_object(ctx->presentation.objects[i].id, &ctx->objects); -- if (!object) { -- // Missing object. Should only happen with damaged streams. -- av_log(avctx, AV_LOG_ERROR, "Invalid object id %d\n", -- ctx->presentation.objects[i].id); -- if (avctx->err_recognition & AV_EF_EXPLODE) -- return AVERROR_INVALIDDATA; -- // Leaves rect empty with 0 width and height. -- continue; -- } -- if (ctx->presentation.objects[i].composition_flag & 0x40) -- rect->flags |= AV_SUBTITLE_FLAG_FORCED; ++ + gp_rect->x = sub_object->x; + gp_rect->y = sub_object->y; - -- rect->x = ctx->presentation.objects[i].x; -- rect->y = ctx->presentation.objects[i].y; ++ + if (object->rle) { + int out_of_picture = 0; + gp_rect->w = object->w; @@ -2099,10 +976,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu + gp_rect->linesize[0] = sub_object->crop_w; + } + } - -- if (object->rle) { -- rect->w = object->w; -- rect->h = object->h; ++ + /* Make sure the subtitle is not out of picture. */ + if (avctx->width < gp_rect->x + gp_rect->w || !gp_rect->w) + out_of_picture = 1; @@ -2120,13 +994,26 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu + continue; + } -- rect->linesize[0] = object->w; +- rect->x = ctx->presentation.objects[i].x; +- rect->y = ctx->presentation.objects[i].y; + if (!object->bitmap_size || object->rle_remaining_len) { + gp_rect->w = 0; + gp_rect->h = 0; + continue; + } +- if (object->rle) { +- rect->w = object->w; +- rect->h = object->h; ++ gp_rect->data[0] = av_malloc_array(gp_rect->w, gp_rect->h); ++ if (!gp_rect->data[0]) ++ return AVERROR(ENOMEM); + +- rect->linesize[0] = object->w; ++ if (sub_object->composition_flag & 0x80) { ++ /* Copy cropped bitmap. */ ++ int y; + - if (object->rle_remaining_len) { - av_log(avctx, AV_LOG_ERROR, "RLE data length %u is %u bytes shorter than expected\n", - object->rle_data_len, object->rle_remaining_len); @@ -2138,14 +1025,6 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu - if ((avctx->err_recognition & AV_EF_EXPLODE) || - ret == AVERROR(ENOMEM)) { - return ret; -+ gp_rect->data[0] = av_malloc_array(gp_rect->w, gp_rect->h); -+ if (!gp_rect->data[0]) -+ return AVERROR(ENOMEM); -+ -+ if (sub_object->composition_flag & 0x80) { -+ /* Copy cropped bitmap. */ -+ int y; -+ + for (y = 0; y < sub_object->crop_h; y++) { + memcpy(&gp_rect->data[0][y * sub_object->crop_w], + &object->bitmap[(sub_object->crop_y + y) * @@ -2181,7 +1060,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu rect->data[1] = av_mallocz(AVPALETTE_SIZE); if (!rect->data[1]) return AVERROR(ENOMEM); -@@ -641,14 +800,7 @@ +@@ -641,14 +800,7 @@ static int decode(AVCodecContext *avctx, AVSubtitle *sub, ret = parse_presentation_segment(avctx, buf, segment_length, sub->pts); break; case WINDOW_SEGMENT: @@ -2197,24 +1076,11 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/pgssubdec.c ffmpeg-7.1.2/libavcodec/pgssu break; case DISPLAY_SEGMENT: if (*got_sub_ptr) { -diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc_av1.c ffmpeg-7.1.2/libavcodec/qsvenc_av1.c ---- ffmpeg-7.1.2.old/libavcodec/qsvenc_av1.c 2025-10-27 10:07:00.531473480 +0100 -+++ ffmpeg-7.1.2/libavcodec/qsvenc_av1.c 2025-10-27 10:07:02.443863055 +0100 -@@ -189,6 +189,10 @@ - { "tile_cols", "Number of columns for tiled encoding", OFFSET(qsv.tile_cols), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, UINT16_MAX, VE }, - { "tile_rows", "Number of rows for tiled encoding", OFFSET(qsv.tile_rows), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, UINT16_MAX, VE }, - { "look_ahead_depth", "Depth of look ahead in number frames, available when extbrc option is enabled", OFFSET(qsv.look_ahead_depth), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 100, VE }, -+#if QSV_HAVE_EXT_AV1_SCC -+ { "palette_mode", "Enable palette mode of Screen Content Tool for encoding", OFFSET(qsv.palette_mode), AV_OPT_TYPE_BOOL, { .i64 = 0}, 0, 1, VE}, -+ { "intrabc", "Enable intra block copy of Screen Content Tool for encoding", OFFSET(qsv.intrabc), AV_OPT_TYPE_BOOL, { .i64 = 0}, 0, 1, VE}, -+#endif - { NULL }, - }; - -diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.c ffmpeg-7.1.2/libavcodec/qsvenc.c ---- ffmpeg-7.1.2.old/libavcodec/qsvenc.c 2025-10-27 10:07:00.592474018 +0100 -+++ ffmpeg-7.1.2/libavcodec/qsvenc.c 2025-10-27 10:07:02.443621469 +0100 -@@ -494,6 +494,9 @@ +diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c +index fc1b879..eb0c116 100644 +--- a/libavcodec/qsvenc.c ++++ b/libavcodec/qsvenc.c +@@ -492,6 +492,9 @@ static void dump_video_av1_param(AVCodecContext *avctx, QSVEncContext *q, mfxExtAV1BitstreamParam *av1_bs_param = (mfxExtAV1BitstreamParam *)coding_opts[1]; mfxExtCodingOption2 *co2 = (mfxExtCodingOption2*)coding_opts[2]; mfxExtCodingOption3 *co3 = (mfxExtCodingOption3*)coding_opts[3]; @@ -2224,7 +1090,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.c ffmpeg-7.1.2/libavcodec/qsvenc.c av_log(avctx, AV_LOG_VERBOSE, "profile: %s; level: %"PRIu16"\n", print_profile(avctx->codec_id, info->CodecProfile), info->CodecLevel); -@@ -566,6 +569,13 @@ +@@ -564,6 +567,13 @@ static void dump_video_av1_param(AVCodecContext *avctx, QSVEncContext *q, print_threestate(av1_bs_param->WriteIVFHeaders)); av_log(avctx, AV_LOG_VERBOSE, "LowDelayBRC: %s\n", print_threestate(co3->LowDelayBRC)); av_log(avctx, AV_LOG_VERBOSE, "MaxFrameSize: %d;\n", co2->MaxFrameSize); @@ -2238,7 +1104,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.c ffmpeg-7.1.2/libavcodec/qsvenc.c } #endif -@@ -1282,6 +1292,28 @@ +@@ -1280,6 +1290,28 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q) } #endif @@ -2267,7 +1133,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.c ffmpeg-7.1.2/libavcodec/qsvenc.c if (!check_enc_param(avctx,q)) { av_log(avctx, AV_LOG_ERROR, "some encoding parameters are not supported by the QSV " -@@ -1389,11 +1421,21 @@ +@@ -1387,11 +1419,21 @@ static int qsv_retrieve_enc_av1_params(AVCodecContext *avctx, QSVEncContext *q) .Header.BufferSz = sizeof(co3), }; @@ -2289,7 +1155,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.c ffmpeg-7.1.2/libavcodec/qsvenc.c }; if (!QSV_RUNTIME_VERSION_ATLEAST(q->ver, 2, 5)) { -@@ -1842,6 +1884,13 @@ +@@ -1840,6 +1882,13 @@ int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q) return ret; } @@ -2303,9 +1169,10 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.c ffmpeg-7.1.2/libavcodec/qsvenc.c q->avctx = avctx; return 0; -diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.h ffmpeg-7.1.2/libavcodec/qsvenc.h ---- ffmpeg-7.1.2.old/libavcodec/qsvenc.h 2025-10-27 10:07:00.282471283 +0100 -+++ ffmpeg-7.1.2/libavcodec/qsvenc.h 2025-10-27 10:07:02.443799916 +0100 +diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h +index 4bc77f2..2e0a19b 100644 +--- a/libavcodec/qsvenc.h ++++ b/libavcodec/qsvenc.h @@ -38,6 +38,7 @@ #define QSV_HAVE_EXT_VP9_TILES QSV_VERSION_ATLEAST(1, 29) @@ -2314,7 +1181,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.h ffmpeg-7.1.2/libavcodec/qsvenc.h #if defined(_WIN32) || defined(__CYGWIN__) #define QSV_HAVE_AVBR 1 -@@ -188,10 +189,13 @@ +@@ -188,10 +189,13 @@ typedef struct QSVEncContext { mfxFrameSurface1 **opaque_surfaces; AVBufferRef *opaque_alloc_buf; #endif @@ -2329,7 +1196,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.h ffmpeg-7.1.2/libavcodec/qsvenc.h int nb_extparam_internal; mfxExtBuffer **extparam_str; -@@ -319,6 +323,8 @@ +@@ -319,6 +323,8 @@ typedef struct QSVEncContext { int dual_gfx; AVDictionary *qsv_params; @@ -2338,157 +1205,26 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/qsvenc.h ffmpeg-7.1.2/libavcodec/qsvenc.h } QSVEncContext; int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q); -diff -Naur ffmpeg-7.1.2.old/libavcodec/videotoolbox_av1.c ffmpeg-7.1.2/libavcodec/videotoolbox_av1.c ---- ffmpeg-7.1.2.old/libavcodec/videotoolbox_av1.c 1970-01-01 01:00:00.000000000 +0100 -+++ ffmpeg-7.1.2/libavcodec/videotoolbox_av1.c 2025-10-27 10:07:02.455024552 +0100 -@@ -0,0 +1,105 @@ -+/* -+ * Videotoolbox hardware acceleration for AV1 -+ * Copyright (c) 2023 Jan Ekström -+ * Copyright (c) 2024 Ruslan Chernenko -+ * Copyright (c) 2024 Martin Storsjö -+ * -+ * This file is part of FFmpeg. -+ * -+ * FFmpeg is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * FFmpeg is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with FFmpeg; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#include "libavutil/mem.h" -+ -+#include "av1dec.h" -+#include "hwaccel_internal.h" -+#include "internal.h" -+#include "vt_internal.h" -+ -+CFDataRef ff_videotoolbox_av1c_extradata_create(AVCodecContext *avctx) -+{ -+ AV1DecContext *s = avctx->priv_data; -+ uint8_t *buf; -+ CFDataRef data; -+ if (!s->raw_seq) -+ return NULL; -+ -+ buf = av_malloc(s->seq_data_ref->size + 4); -+ if (!buf) -+ return NULL; -+ buf[0] = 0x81; // version and marker (constant) -+ buf[1] = s->raw_seq->seq_profile << 5 | s->raw_seq->seq_level_idx[0]; -+ buf[2] = s->raw_seq->seq_tier[0] << 7 | -+ s->raw_seq->color_config.high_bitdepth << 6 | -+ s->raw_seq->color_config.twelve_bit << 5 | -+ s->raw_seq->color_config.mono_chrome << 4 | -+ s->raw_seq->color_config.subsampling_x << 3 | -+ s->raw_seq->color_config.subsampling_y << 2 | -+ s->raw_seq->color_config.chroma_sample_position; -+ -+ if (s->raw_seq->initial_display_delay_present_flag) -+ buf[3] = 0 << 5 | -+ s->raw_seq->initial_display_delay_present_flag << 4 | -+ s->raw_seq->initial_display_delay_minus_1[0]; -+ else -+ buf[3] = 0x00; -+ memcpy(buf + 4, s->seq_data_ref->data, s->seq_data_ref->size); -+ data = CFDataCreate(kCFAllocatorDefault, buf, s->seq_data_ref->size + 4); -+ av_free(buf); -+ return data; -+}; -+ -+ -+static int videotoolbox_av1_start_frame(AVCodecContext *avctx, -+ const uint8_t *buffer, -+ uint32_t size) -+{ -+ return 0; -+} -+ -+static int videotoolbox_av1_decode_slice(AVCodecContext *avctx, -+ const uint8_t *buffer, -+ uint32_t size) -+{ -+ return 0; -+} -+ -+static int videotoolbox_av1_end_frame(AVCodecContext *avctx) -+{ -+ const AV1DecContext *s = avctx->priv_data; -+ VTContext *vtctx = avctx->internal->hwaccel_priv_data; -+ AVFrame *frame = s->cur_frame.f; -+ -+ vtctx->bitstream_size = 0; -+ for (int i = s->start_unit; i < s->nb_unit; i++) -+ ff_videotoolbox_buffer_append(vtctx, s->current_obu.units[i].data, -+ s->current_obu.units[i].data_size); -+ return ff_videotoolbox_common_end_frame(avctx, frame); -+} -+ -+const FFHWAccel ff_av1_videotoolbox_hwaccel = { -+ .p.name = "av1_videotoolbox", -+ .p.type = AVMEDIA_TYPE_VIDEO, -+ .p.id = AV_CODEC_ID_AV1, -+ .p.pix_fmt = AV_PIX_FMT_VIDEOTOOLBOX, -+ .alloc_frame = ff_videotoolbox_alloc_frame, -+ .start_frame = videotoolbox_av1_start_frame, -+ .decode_slice = videotoolbox_av1_decode_slice, -+ .end_frame = videotoolbox_av1_end_frame, -+ .frame_params = ff_videotoolbox_frame_params, -+ .init = ff_videotoolbox_common_init, -+ .uninit = ff_videotoolbox_uninit, -+ .priv_data_size = sizeof(VTContext), -+}; -diff -Naur ffmpeg-7.1.2.old/libavcodec/videotoolbox.c ffmpeg-7.1.2/libavcodec/videotoolbox.c ---- ffmpeg-7.1.2.old/libavcodec/videotoolbox.c 2025-10-27 10:07:00.379472139 +0100 -+++ ffmpeg-7.1.2/libavcodec/videotoolbox.c 2025-10-27 10:07:02.456490466 +0100 -@@ -56,6 +56,10 @@ - enum { kCMVideoCodecType_VP9 = 'vp09' }; - #endif - -+#if !HAVE_KCMVIDEOCODECTYPE_AV1 -+enum { kCMVideoCodecType_AV1 = 'av01' }; +diff --git a/libavcodec/qsvenc_av1.c b/libavcodec/qsvenc_av1.c +index c7aa6e5..5edb5f3 100644 +--- a/libavcodec/qsvenc_av1.c ++++ b/libavcodec/qsvenc_av1.c +@@ -189,6 +189,10 @@ static const AVOption options[] = { + { "tile_cols", "Number of columns for tiled encoding", OFFSET(qsv.tile_cols), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, UINT16_MAX, VE }, + { "tile_rows", "Number of rows for tiled encoding", OFFSET(qsv.tile_rows), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, UINT16_MAX, VE }, + { "look_ahead_depth", "Depth of look ahead in number frames, available when extbrc option is enabled", OFFSET(qsv.look_ahead_depth), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 100, VE }, ++#if QSV_HAVE_EXT_AV1_SCC ++ { "palette_mode", "Enable palette mode of Screen Content Tool for encoding", OFFSET(qsv.palette_mode), AV_OPT_TYPE_BOOL, { .i64 = 0}, 0, 1, VE}, ++ { "intrabc", "Enable intra block copy of Screen Content Tool for encoding", OFFSET(qsv.intrabc), AV_OPT_TYPE_BOOL, { .i64 = 0}, 0, 1, VE}, +#endif -+ - #define VIDEOTOOLBOX_ESDS_EXTRADATA_PADDING 12 + { NULL }, + }; - typedef struct VTHWFrame { -@@ -92,6 +96,26 @@ - return 0; - } - -+int ff_videotoolbox_buffer_append(VTContext *vtctx, -+ const uint8_t *buffer, -+ uint32_t size) -+{ -+ void *tmp; -+ -+ tmp = av_fast_realloc(vtctx->bitstream, -+ &vtctx->allocated_size, -+ vtctx->bitstream_size + size); -+ -+ if (!tmp) -+ return AVERROR(ENOMEM); -+ -+ vtctx->bitstream = tmp; -+ memcpy(vtctx->bitstream + vtctx->bitstream_size, buffer, size); -+ vtctx->bitstream_size += size; -+ -+ return 0; -+} -+ - static int videotoolbox_postproc_frame(void *avctx, AVFrame *frame) - { - int ret; -@@ -108,9 +132,6 @@ +diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c +index 2cd22cb..247ac19 100644 +--- a/libavcodec/videotoolbox.c ++++ b/libavcodec/videotoolbox.c +@@ -132,9 +132,6 @@ static int videotoolbox_postproc_frame(void *avctx, AVFrame *frame) frame->crop_top = 0; frame->crop_bottom = 0; @@ -2498,7 +1234,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/videotoolbox.c ffmpeg-7.1.2/libavcodec/vi frame->data[3] = (uint8_t*)ref->pixbuf; if (ref->hw_frames_ctx) { -@@ -790,7 +811,7 @@ +@@ -820,7 +817,7 @@ static CFDictionaryRef videotoolbox_buffer_attributes_create(int width, #if TARGET_OS_IPHONE CFDictionarySetValue(buffer_attributes, kCVPixelBufferOpenGLESCompatibilityKey, kCFBooleanTrue); #else @@ -2507,28 +1243,7 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/videotoolbox.c ffmpeg-7.1.2/libavcodec/vi #endif CFRelease(io_surface_properties); -@@ -847,6 +868,13 @@ - CFDictionarySetValue(avc_info, CFSTR("vpcC"), data); - break; - #endif -+#if CONFIG_AV1_VIDEOTOOLBOX_HWACCEL -+ case kCMVideoCodecType_AV1 : -+ data = ff_videotoolbox_av1c_extradata_create(avctx); -+ if (data) -+ CFDictionarySetValue(avc_info, CFSTR("av1C"), data); -+ break; -+#endif - default: - break; - } -@@ -912,10 +940,30 @@ - case AV_CODEC_ID_VP9 : - videotoolbox->cm_codec_type = kCMVideoCodecType_VP9; - break; -+ case AV_CODEC_ID_AV1 : -+ videotoolbox->cm_codec_type = kCMVideoCodecType_AV1; -+ break; - default : +@@ -956,6 +953,23 @@ static int videotoolbox_start(AVCodecContext *avctx) break; } @@ -2552,31 +1267,11 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/videotoolbox.c ffmpeg-7.1.2/libavcodec/vi #if defined(MAC_OS_X_VERSION_10_9) && !TARGET_OS_IPHONE && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_9) && AV_HAS_BUILTIN(__builtin_available) if (avctx->codec_id == AV_CODEC_ID_PRORES) { if (__builtin_available(macOS 10.9, *)) { -diff -Naur ffmpeg-7.1.2.old/libavcodec/vt_internal.h ffmpeg-7.1.2/libavcodec/vt_internal.h ---- ffmpeg-7.1.2.old/libavcodec/vt_internal.h 2025-10-27 10:07:00.531473480 +0100 -+++ ffmpeg-7.1.2/libavcodec/vt_internal.h 2025-10-27 10:07:02.455086969 +0100 -@@ -56,6 +56,9 @@ - int ff_videotoolbox_buffer_copy(VTContext *vtctx, - const uint8_t *buffer, - uint32_t size); -+int ff_videotoolbox_buffer_append(VTContext *vtctx, -+ const uint8_t *buffer, -+ uint32_t size); - int ff_videotoolbox_uninit(AVCodecContext *avctx); - int ff_videotoolbox_h264_start_frame(AVCodecContext *avctx, - const uint8_t *buffer, -@@ -64,6 +67,7 @@ - const uint8_t *buffer, - uint32_t size); - int ff_videotoolbox_common_end_frame(AVCodecContext *avctx, AVFrame *frame); -+CFDataRef ff_videotoolbox_av1c_extradata_create(AVCodecContext *avctx); - CFDataRef ff_videotoolbox_avcc_extradata_create(AVCodecContext *avctx); - CFDataRef ff_videotoolbox_hvcc_extradata_create(AVCodecContext *avctx); - CFDataRef ff_videotoolbox_vpcc_extradata_create(AVCodecContext *avctx); -diff -Naur ffmpeg-7.1.2.old/libavfilter/vf_vpp_qsv.c ffmpeg-7.1.2/libavfilter/vf_vpp_qsv.c ---- ffmpeg-7.1.2.old/libavfilter/vf_vpp_qsv.c 2025-10-27 10:07:00.764475536 +0100 -+++ ffmpeg-7.1.2/libavfilter/vf_vpp_qsv.c 2025-10-27 10:07:02.461658339 +0100 -@@ -494,9 +494,9 @@ +diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c +index 4de99d6..182bbf7 100644 +--- a/libavfilter/vf_vpp_qsv.c ++++ b/libavfilter/vf_vpp_qsv.c +@@ -494,9 +494,9 @@ static int vpp_set_frame_ext_params(AVFilterContext *ctx, const AVFrame *in, AVF outvsi_conf.Header.BufferId = MFX_EXTBUFF_VIDEO_SIGNAL_INFO_OUT; outvsi_conf.Header.BufferSz = sizeof(mfxExtVideoSignalInfo); outvsi_conf.VideoFullRange = (out->color_range == AVCOL_RANGE_JPEG); @@ -2589,10 +1284,11 @@ diff -Naur ffmpeg-7.1.2.old/libavfilter/vf_vpp_qsv.c ffmpeg-7.1.2/libavfilter/vf outvsi_conf.ColourDescriptionPresent = 1; if (memcmp(&vpp->invsi_conf, &invsi_conf, sizeof(mfxExtVideoSignalInfo)) || -diff -Naur ffmpeg-7.1.2.old/libavformat/isom.h ffmpeg-7.1.2/libavformat/isom.h ---- ffmpeg-7.1.2.old/libavformat/isom.h 2025-10-27 10:07:00.909476815 +0100 -+++ ffmpeg-7.1.2/libavformat/isom.h 2025-10-27 10:07:02.422783282 +0100 -@@ -272,6 +272,9 @@ +diff --git a/libavformat/isom.h b/libavformat/isom.h +index d7e1385..8fbc4d0 100644 +--- a/libavformat/isom.h ++++ b/libavformat/isom.h +@@ -282,6 +282,9 @@ typedef struct MOVStreamContext { MOVEncryptionIndex *encryption_index; } cenc; @@ -2600,12 +1296,13 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/isom.h ffmpeg-7.1.2/libavformat/isom.h + int fallback; + struct IAMFDemuxContext *iamf; + int iamf_stream_offset; } MOVStreamContext; - -diff -Naur ffmpeg-7.1.2.old/libavformat/matroskaenc.c ffmpeg-7.1.2/libavformat/matroskaenc.c ---- ffmpeg-7.1.2.old/libavformat/matroskaenc.c 2025-10-27 10:07:00.955477221 +0100 -+++ ffmpeg-7.1.2/libavformat/matroskaenc.c 2025-10-27 10:07:02.430490236 +0100 -@@ -2933,6 +2933,16 @@ +diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c +index 2c85672..8250c96 100644 +--- a/libavformat/matroskaenc.c ++++ b/libavformat/matroskaenc.c +@@ -2994,6 +2994,16 @@ static int mkv_check_new_extra_data(AVFormatContext *s, const AVPacket *pkt) case AV_CODEC_ID_AAC: if (side_data_size && mkv->track.bc) { int output_sample_rate = 0; @@ -2622,10 +1319,11 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/matroskaenc.c ffmpeg-7.1.2/libavformat/m ret = get_aac_sample_rates(s, mkv, side_data, side_data_size, &track->sample_rate, &output_sample_rate); if (ret < 0) -diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c ---- ffmpeg-7.1.2.old/libavformat/mov.c 2025-10-27 10:07:00.889476639 +0100 -+++ ffmpeg-7.1.2/libavformat/mov.c 2025-10-27 10:07:02.447584145 +0100 -@@ -56,6 +56,7 @@ +diff --git a/libavformat/mov.c b/libavformat/mov.c +index 222d79e..eb0de62 100644 +--- a/libavformat/mov.c ++++ b/libavformat/mov.c +@@ -57,6 +57,7 @@ #include "libavcodec/mpegaudiodecheader.h" #include "libavcodec/mlp_parse.h" #include "avformat.h" @@ -2633,7 +1331,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c #include "internal.h" #include "avio_internal.h" #include "demux.h" -@@ -131,6 +132,33 @@ +@@ -131,6 +132,33 @@ static int mov_metadata_int8_no_padding(MOVContext *c, AVIOContext *pb, return 0; } @@ -2667,7 +1365,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c static int mov_metadata_gnre(MOVContext *c, AVIOContext *pb, unsigned len, const char *key) { -@@ -342,6 +370,73 @@ +@@ -342,6 +370,73 @@ static int mov_metadata_hmmt(MOVContext *c, AVIOContext *pb, unsigned len) return 0; } @@ -2741,15 +1439,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) { char tmp_key[AV_FOURCC_MAX_STRING_SIZE] = {0}; -@@ -354,6 +449,7 @@ - int (*parse)(MOVContext*, AVIOContext*, unsigned, const char*) = NULL; - int raw = 0; - int num = 0; -+ AVDictionary *metadata; - - switch (atom.type) { - case MKTAG( '@','P','R','M'): key = "premiere_version"; raw = 1; break; -@@ -364,35 +460,71 @@ +@@ -370,36 +465,71 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) case MKTAG( 'a','k','I','D'): key = "account_type"; parse = mov_metadata_int8_no_padding; break; case MKTAG( 'a','p','I','D'): key = "account_id"; break; @@ -2806,6 +1496,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c return mov_metadata_loci(c, pb, atom.size); case MKTAG( 'm','a','n','u'): key = "make"; break; case MKTAG( 'm','o','d','l'): key = "model"; break; +- case MKTAG( 'n','a','m','e'): key = "name"; break; + case MKTAG( 'n','a','m','e'): key = "title"; raw = 1; break; case MKTAG( 'p','c','s','t'): key = "podcast"; parse = mov_metadata_int8_no_padding; break; @@ -2824,7 +1515,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c case MKTAG( 's','o','a','a'): key = "sort_album_artist"; break; case MKTAG( 's','o','a','l'): key = "sort_album"; break; case MKTAG( 's','o','a','r'): key = "sort_artist"; break; -@@ -401,6 +533,8 @@ +@@ -408,6 +538,8 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) case MKTAG( 's','o','s','n'): key = "sort_show"; break; case MKTAG( 's','t','i','k'): key = "media_type"; parse = mov_metadata_int8_no_padding; break; @@ -2833,7 +1524,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c case MKTAG( 't','r','k','n'): key = "track"; parse = mov_metadata_track_or_disc_number; break; case MKTAG( 't','v','e','n'): key = "episode_id"; break; -@@ -410,17 +544,23 @@ +@@ -417,17 +549,23 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) case MKTAG( 't','v','s','h'): key = "show"; break; case MKTAG( 't','v','s','n'): key = "season_number"; parse = mov_metadata_int8_bypass_padding; break; @@ -2858,7 +1549,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c case MKTAG(0xa9,'e','d','1'): key = "edit_date"; break; case MKTAG(0xa9,'e','n','c'): key = "encoder"; break; case MKTAG(0xa9,'f','m','t'): key = "original_format"; break; -@@ -428,23 +568,45 @@ +@@ -435,23 +573,45 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) case MKTAG(0xa9,'g','r','p'): key = "grouping"; break; case MKTAG(0xa9,'h','s','t'): key = "host_computer"; break; case MKTAG(0xa9,'i','n','f'): key = "comment"; break; @@ -2904,40 +1595,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c } retry: if (c->itunes_metadata && atom.size > 8) { -@@ -571,17 +733,23 @@ - } - str[str_size] = 0; - } -- c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED; -- av_dict_set(&c->fc->metadata, key, str, 0); -+ if (c->trak_index < 0) { -+ metadata = c->fc->metadata; -+ c->fc->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED; -+ if (!strcmp(key, "encoder")) { -+ int major, minor, micro; -+ if (sscanf(str, "HandBrake %d.%d.%d", &major, &minor, µ) == 3) { -+ c->handbrake_version = 1000000*major + 1000*minor + micro; -+ } -+ } -+ } -+ else { -+ metadata = c->fc->streams[c->trak_index]->metadata; -+ } -+ av_dict_set(&metadata, key, str, 0); - if (*language && strcmp(language, "und")) { - snprintf(key2, sizeof(key2), "%s-%s", key, language); -- av_dict_set(&c->fc->metadata, key2, str, 0); -- } -- if (!strcmp(key, "encoder")) { -- int major, minor, micro; -- if (sscanf(str, "HandBrake %d.%d.%d", &major, &minor, µ) == 3) { -- c->handbrake_version = 1000000*major + 1000*minor + micro; -- } -+ av_dict_set(&metadata, key2, str, 0); - } - } - -@@ -9088,6 +9256,23 @@ +@@ -9514,6 +9674,22 @@ fail: return ret; } @@ -2956,12 +1614,11 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c + + return 0; +} -+ + static const MOVParseTableEntry mov_default_parse_table[] = { { MKTAG('A','C','L','R'), mov_read_aclr }, { MKTAG('A','P','R','G'), mov_read_avid }, -@@ -9190,6 +9375,7 @@ +@@ -9616,6 +9792,7 @@ static const MOVParseTableEntry mov_default_parse_table[] = { { MKTAG('v','p','c','C'), mov_read_vpcc }, { MKTAG('m','d','c','v'), mov_read_mdcv }, { MKTAG('c','l','l','i'), mov_read_clli }, @@ -2969,7 +1626,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c { MKTAG('d','v','c','C'), mov_read_dvcc_dvvc }, { MKTAG('d','v','v','C'), mov_read_dvcc_dvvc }, { MKTAG('d','v','w','C'), mov_read_dvcc_dvvc }, -@@ -10374,6 +10560,23 @@ +@@ -11071,6 +11248,23 @@ static int mov_read_header(AVFormatContext *s) err = ff_replaygain_export(st, s->metadata); if (err < 0) return err; @@ -2979,9 +1636,9 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c + AVPacketSideData *sd; + int *fallback; + sd = av_packet_side_data_new(&st->codecpar->coded_side_data, -+ &st->codecpar->nb_coded_side_data, -+ AV_PKT_DATA_FALLBACK_TRACK, -+ sizeof(int), 0); ++ &st->codecpar->nb_coded_side_data, ++ AV_PKT_DATA_FALLBACK_TRACK, ++ sizeof(int), 0); + if (!sd) + return AVERROR(ENOMEM); + fallback = (int*)sd->data; @@ -2993,9 +1650,10 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/mov.c ffmpeg-7.1.2/libavformat/mov.c break; case AVMEDIA_TYPE_VIDEO: if (sc->display_matrix) { -diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc.c ---- ffmpeg-7.1.2.old/libavformat/movenc.c 2025-10-27 10:07:00.933477027 +0100 -+++ ffmpeg-7.1.2/libavformat/movenc.c 2025-10-27 10:07:02.463726465 +0100 +diff --git a/libavformat/movenc.c b/libavformat/movenc.c +index fe6b259..89ec962 100644 +--- a/libavformat/movenc.c ++++ b/libavformat/movenc.c @@ -28,6 +28,7 @@ #include "movenc.h" @@ -3004,78 +1662,39 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc #include "avio_internal.h" #include "dovi_isom.h" #include "riff.h" -@@ -393,6 +394,8 @@ - uint16_t chan_loc; - /* if there is no dependent substream, then one bit reserved instead */ - } substream[1]; /* TODO: support 8 independent substreams */ -+ /* indicates the decoding complexity, 8 bits */ -+ uint8_t complexity_index_type_a; - }; +@@ -1001,6 +1002,15 @@ static int mov_write_chan_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *tra + if (track->multichannel_as_mono) + return 0; - static int mov_write_ac3_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *track) -@@ -474,6 +477,8 @@ - info->data_rate = FFMAX(info->data_rate, hdr->bit_rate / 1000); - info->ac3_bit_rate_code = FFMAX(info->ac3_bit_rate_code, - hdr->ac3_bit_rate_code); -+ info->complexity_index_type_a = hdr->complexity_index_type_a; -+ - num_blocks = hdr->num_blocks; - - if (!info->ec3_done) { -@@ -532,8 +537,6 @@ - int parent = hdr->substreamid; - - while (cumul_size != pkt->size) { -- GetBitContext gbc; -- int i; - ret = avpriv_ac3_parse_header(&hdr, pkt->data + cumul_size, pkt->size - cumul_size); - if (ret < 0) - goto end; -@@ -544,20 +547,9 @@ - info->substream[parent].num_dep_sub++; - ret /= 8; - -- /* header is parsed up to lfeon, but custom channel map may be needed */ -- init_get_bits8(&gbc, pkt->data + cumul_size + ret, pkt->size - cumul_size - ret); -- /* skip bsid */ -- skip_bits(&gbc, 5); -- /* skip volume control params */ -- for (i = 0; i < (hdr->channel_mode ? 1 : 2); i++) { -- skip_bits(&gbc, 5); // skip dialog normalization -- if (get_bits1(&gbc)) { -- skip_bits(&gbc, 8); // skip compression gain word -- } -- } - /* get the dependent stream channel map, if exists */ -- if (get_bits1(&gbc)) -- info->substream[parent].chan_loc |= (get_bits(&gbc, 16) >> 5) & 0x1f; -+ if (hdr->channel_map_present) -+ info->substream[parent].chan_loc |= (hdr->channel_map >> 5) & 0x1f; - else - info->substream[parent].chan_loc |= hdr->channel_mode; - cumul_size += hdr->frame_size; -@@ -614,7 +606,7 @@ - } - - info = track->eac3_priv; -- size = 2 + ((32 * (info->num_ind_sub + 1) + 7) >> 3); -+ size = 2 + (4 * (info->num_ind_sub + 1)) + (2 * !!info->complexity_index_type_a); - buf = av_malloc(size); - if (!buf) { - return AVERROR(ENOMEM); -@@ -639,6 +631,11 @@ - put_bits(&pbc, 9, info->substream[i].chan_loc); - } - } -+ if (info->complexity_index_type_a) { -+ put_bits(&pbc, 7, 0); /* reserved */ -+ put_bits(&pbc, 1, 1); // flag_eac3_extension_type_a -+ put_bits(&pbc, 8, info->complexity_index_type_a); ++ // Custom channels layout is not handled properly for these formats ++ // unset it for now, it will fallback to the layout stored in the extradata ++ // TODO: find the reason ++ if (track->par->codec_id == AV_CODEC_ID_AAC || ++ track->par->codec_id == AV_CODEC_ID_ALAC) ++ { ++ return 0; + } - flush_put_bits(&pbc); - size = put_bytes_output(&pbc); ++ + ret = ff_mov_get_channel_layout_tag(track->par, &layout_tag, + &bitmap, &channel_desc); -@@ -4055,6 +4052,41 @@ +@@ -1373,11 +1383,13 @@ static int mov_write_audio_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContex + int64_t pos = avio_tell(pb); + int version = 0; + uint32_t tag = track->tag; ++ int lpcm_flags = 0; + int ret = 0; + + if (track->mode == MODE_MOV) { +- if (track->timescale > UINT16_MAX || !track->par->ch_layout.nb_channels) { +- if (mov_get_lpcm_flags(track->par->codec_id)) ++ lpcm_flags = mov_get_lpcm_flags(track->par->codec_id); ++ if (track->timescale > UINT16_MAX || track->par->ch_layout.nb_channels > 2 || lpcm_flags) { ++ if (lpcm_flags) + tag = AV_RL32("lpcm"); + version = 2; + } else if (track->audio_vbr || mov_pcm_le_gt16(track->par->codec_id) || +@@ -4244,6 +4256,41 @@ static int mov_write_udta_sdp(AVIOContext *pb, MOVTrack *track) return len + 24; } @@ -3117,7 +1736,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc static int mov_write_track_metadata(AVIOContext *pb, AVStream *st, const char *tag, const char *str) { -@@ -4129,8 +4161,23 @@ +@@ -4318,8 +4365,23 @@ static int mov_write_track_udta_tag(AVIOContext *pb, MOVMuxContext *mov, if (ret < 0) return ret; @@ -3142,7 +1761,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc if (mov->mode & MODE_MP4) { if ((ret = mov_write_track_kinds(pb_buf, st)) < 0) -@@ -4505,20 +4552,66 @@ +@@ -4694,20 +4756,66 @@ static int mov_write_trkn_tag(AVIOContext *pb, MOVMuxContext *mov, return size; } @@ -3212,7 +1831,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc avio_wb32(pb, size); ffio_wfourcc(pb, name); -@@ -4526,7 +4619,9 @@ +@@ -4715,7 +4823,9 @@ static int mov_write_int8_metadata(AVFormatContext *s, AVIOContext *pb, ffio_wfourcc(pb, "data"); avio_wb32(pb, 0x15); avio_wb32(pb, 0); @@ -3223,7 +1842,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc else avio_w8 (pb, num); return size; -@@ -4582,6 +4677,8 @@ +@@ -4771,6 +4881,8 @@ static int mov_write_ilst_tag(AVIOContext *pb, MOVMuxContext *mov, mov_write_string_metadata(s, pb, "\251lyr", "lyrics" , 1); mov_write_string_metadata(s, pb, "desc", "description",1); mov_write_string_metadata(s, pb, "ldes", "synopsis" , 1); @@ -3232,7 +1851,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc mov_write_string_metadata(s, pb, "tvsh", "show" , 1); mov_write_string_metadata(s, pb, "tven", "episode_id",1); mov_write_string_metadata(s, pb, "tvnn", "network" , 1); -@@ -4592,10 +4689,67 @@ +@@ -4781,10 +4893,67 @@ static int mov_write_ilst_tag(AVIOContext *pb, MOVMuxContext *mov, mov_write_int8_metadata (s, pb, "hdvd", "hd_video", 1); mov_write_int8_metadata (s, pb, "pgap", "gapless_playback",1); mov_write_int8_metadata (s, pb, "cpil", "compilation", 1); @@ -3300,7 +1919,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc return update_size(pb, pos); } -@@ -4727,35 +4881,6 @@ +@@ -4916,35 +5085,6 @@ static int ascii_to_wc(AVIOContext *pb, const uint8_t *b) return 0; } @@ -3336,7 +1955,7 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc static int mov_write_chpl_tag(AVIOContext *pb, AVFormatContext *s) { int64_t pos = avio_tell(pb); -@@ -4794,14 +4919,14 @@ +@@ -4983,14 +5123,14 @@ static int mov_write_udta_tag(AVIOContext *pb, MOVMuxContext *mov, return ret; if (mov->mode & MODE_3GP) { @@ -3359,37 +1978,117 @@ diff -Naur ffmpeg-7.1.2.old/libavformat/movenc.c ffmpeg-7.1.2/libavformat/movenc mov_write_loci_tag(s, pb_buf); } else if (mov->mode == MODE_MOV && !(mov->flags & FF_MOV_FLAG_USE_MDTA)) { // the title field breaks gtkpod with mp4 and my suspicion is that stuff is not valid in mp4 mov_write_string_metadata(s, pb_buf, "\251ART", "artist", 0); -diff -Naur ffmpeg-7.1.2.old/libavutil/frame.c ffmpeg-7.1.2/libavutil/frame.c ---- ffmpeg-7.1.2.old/libavutil/frame.c 2025-10-27 10:07:00.804475889 +0100 -+++ ffmpeg-7.1.2/libavutil/frame.c 2025-10-27 10:07:02.436386459 +0100 -@@ -45,6 +45,7 @@ - [AV_FRAME_DATA_FILM_GRAIN_PARAMS] = { "Film grain parameters" }, - [AV_FRAME_DATA_DETECTION_BBOXES] = { "Bounding boxes for object detection and classification" }, - [AV_FRAME_DATA_DOVI_RPU_BUFFER] = { "Dolby Vision RPU Data" }, -+ [AV_FRAME_DATA_DOVI_RPU_BUFFER_T35] = { "Dolby Vision RPU ITU T35 Data" }, - [AV_FRAME_DATA_DOVI_METADATA] = { "Dolby Vision Metadata" }, - [AV_FRAME_DATA_LCEVC] = { "LCEVC NAL data" }, - [AV_FRAME_DATA_VIEW_ID] = { "View ID" }, -diff -Naur ffmpeg-7.1.2.old/libavutil/frame.h ffmpeg-7.1.2/libavutil/frame.h ---- ffmpeg-7.1.2.old/libavutil/frame.h 2025-10-27 10:07:00.786475730 +0100 -+++ ffmpeg-7.1.2/libavutil/frame.h 2025-10-27 10:07:02.436480126 +0100 -@@ -201,6 +201,12 @@ +@@ -7542,6 +7682,7 @@ static int mov_create_chapter_track(AVFormatContext *s, int tracknum) + track->tag = MKTAG('t','e','x','t'); + track->timescale = mov->movie_timescale; + track->par = avcodec_parameters_alloc(); ++ track->language = mov->tracks[0].language; + if (!track->par) + return AVERROR(ENOMEM); + track->par->codec_type = AVMEDIA_TYPE_SUBTITLE; +@@ -7779,7 +7920,7 @@ static int mov_create_dvd_sub_decoder_specific_info(MOVTrack *track, + int i, width = 720, height = 480; + int have_palette = 0, have_size = 0; + uint32_t palette[16]; +- char *cur = track->extradata[track->last_stsd_index]; ++ char *cur = st->codecpar->extradata; + + while (cur && *cur) { + if (strncmp("palette:", cur, 8) == 0) { +diff --git a/libavutil/frame.h b/libavutil/frame.h +index 771c9ce..4aba0c8 100644 +--- a/libavutil/frame.h ++++ b/libavutil/frame.h +@@ -200,6 +200,12 @@ enum AVFrameSideDataType { + */ AV_FRAME_DATA_DOVI_RPU_BUFFER, - /** ++ /** + * Dolby Vision RPU ITU T35 raw data, suitable for passing to SVT-AV1 + * or other libraries. Array of uint8_t. + */ + AV_FRAME_DATA_DOVI_RPU_BUFFER_T35, + -+ /** + /** * Parsed Dolby Vision metadata, suitable for passing to a software * implementation. The payload is the AVDOVIMetadata struct defined in - * libavutil/dovi_meta.h. -diff -Naur ffmpeg-7.1.2.old/libavutil/hwcontext_videotoolbox.c ffmpeg-7.1.2/libavutil/hwcontext_videotoolbox.c ---- ffmpeg-7.1.2.old/libavutil/hwcontext_videotoolbox.c 2025-10-27 10:07:00.813475968 +0100 -+++ ffmpeg-7.1.2/libavutil/hwcontext_videotoolbox.c 2025-10-27 10:07:02.457067390 +0100 -@@ -183,7 +183,8 @@ +diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c +index 418fe9d..4369d80 100644 +--- a/libavutil/hwcontext_d3d11va.c ++++ b/libavutil/hwcontext_d3d11va.c +@@ -85,6 +85,9 @@ typedef struct D3D11VAFramesContext { + int nb_surfaces; + int nb_surfaces_used; + ++ int max_retries; ++ int retries; ++ + DXGI_FORMAT format; + + ID3D11Texture2D *staging_texture; +@@ -260,7 +263,9 @@ static AVBufferRef *d3d11va_pool_alloc(void *opaque, size_t size) + ID3D11Texture2D_GetDesc(hwctx->texture, &texDesc); + + if (s->nb_surfaces_used >= texDesc.ArraySize) { +- av_log(ctx, AV_LOG_ERROR, "Static surface pool size exceeded.\n"); ++ if (s->retries >= s->max_retries) { ++ av_log(ctx, AV_LOG_ERROR, "Static surface pool size exceeded.\n"); ++ } + return NULL; + } + +@@ -346,20 +351,34 @@ static int d3d11va_frames_init(AVHWFramesContext *ctx) + static int d3d11va_get_buffer(AVHWFramesContext *ctx, AVFrame *frame) + { + AVD3D11FrameDescriptor *desc; ++ D3D11VAFramesContext *s = ctx->hwctx; ++ s->retries = 0; ++ s->max_retries = 50; + +- frame->buf[0] = av_buffer_pool_get(ctx->pool); +- if (!frame->buf[0]) +- return AVERROR(ENOMEM); +- +- desc = (AVD3D11FrameDescriptor *)frame->buf[0]->data; +- +- frame->data[0] = (uint8_t *)desc->texture; +- frame->data[1] = (uint8_t *)desc->index; +- frame->format = AV_PIX_FMT_D3D11; +- frame->width = ctx->width; +- frame->height = ctx->height; ++ /** ++ * Loop until a buffer becomes available from the pool. ++ * In a full hardware pipeline, all buffers may be temporarily in use by ++ * other modules (encoder/filter/decoder). Rather than immediately failing ++ * with ENOMEM, we wait for a buffer to be released back to the pool, which ++ * maintains pipeline flow and prevents unnecessary allocation failures ++ * during normal operation. ++ */ ++ while (s->retries < s->max_retries) { ++ frame->buf[0] = av_buffer_pool_get(ctx->pool); ++ if (frame->buf[0]) { ++ desc = (AVD3D11FrameDescriptor *)frame->buf[0]->data; ++ frame->data[0] = (uint8_t *)desc->texture; ++ frame->data[1] = (uint8_t *)desc->index; ++ frame->format = AV_PIX_FMT_D3D11; ++ frame->width = ctx->width; ++ frame->height = ctx->height; ++ return 0; ++ } + +- return 0; ++ av_usleep(1000); ++ } ++ ++ return AVERROR(ENOMEM); + } + + static int d3d11va_transfer_get_formats(AVHWFramesContext *ctx, +diff --git a/libavutil/hwcontext_videotoolbox.c b/libavutil/hwcontext_videotoolbox.c +index 2764097..9c5c999 100644 +--- a/libavutil/hwcontext_videotoolbox.c ++++ b/libavutil/hwcontext_videotoolbox.c +@@ -191,7 +191,8 @@ static int vt_pool_alloc(AVHWFramesContext *ctx) VTFramesContext *fctx = ctx->hwctx; AVVTFramesContext *hw_ctx = &fctx->p; CVReturn err; @@ -3399,7 +2098,7 @@ diff -Naur ffmpeg-7.1.2.old/libavutil/hwcontext_videotoolbox.c ffmpeg-7.1.2/liba uint32_t cv_pixfmt; CFMutableDictionaryRef attributes, iosurface_properties; -@@ -216,6 +217,15 @@ +@@ -224,6 +225,15 @@ static int vt_pool_alloc(AVHWFramesContext *ctx) CFRelease(w); CFRelease(h); @@ -3415,27 +2114,18 @@ diff -Naur ffmpeg-7.1.2.old/libavutil/hwcontext_videotoolbox.c ffmpeg-7.1.2/liba err = CVPixelBufferPoolCreate( NULL, NULL, -diff -Naur ffmpeg-7.1.2.old/libswscale/swscale_unscaled.c ffmpeg-7.1.2/libswscale/swscale_unscaled.c ---- ffmpeg-7.1.2.old/libswscale/swscale_unscaled.c 2025-10-27 10:07:00.644474477 +0100 -+++ ffmpeg-7.1.2/libswscale/swscale_unscaled.c 2025-10-27 10:07:02.433490262 +0100 -@@ -341,7 +341,7 @@ - const uint8_t *tsrc0 = src[0]; - for (x = c->srcW; x > 0; x--) { - t = *tsrc0++; -- output_pixel(tdstY++, t | (t << 8)); -+ output_pixel(tdstY++, (t << 8)); - } - src[0] += srcStride[0]; - dstY += dstStride[0] / 2; -@@ -352,9 +352,9 @@ - const uint8_t *tsrc2 = src[2]; - for (x = c->srcW / 2; x > 0; x--) { - t = *tsrc1++; -- output_pixel(tdstUV++, t | (t << 8)); -+ output_pixel(tdstUV++, (t << 8)); - t = *tsrc2++; -- output_pixel(tdstUV++, t | (t << 8)); -+ output_pixel(tdstUV++, (t << 8)); - } - src[1] += srcStride[1]; - src[2] += srcStride[2]; +diff --git a/libavutil/side_data.c b/libavutil/side_data.c +index bbbeb70..c635365 100644 +--- a/libavutil/side_data.c ++++ b/libavutil/side_data.c +@@ -42,6 +42,7 @@ static const AVSideDataDescriptor sd_props[] = { + [AV_FRAME_DATA_DETECTION_BBOXES] = { "Bounding boxes for object detection and classification", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, + [AV_FRAME_DATA_DOVI_RPU_BUFFER] = { "Dolby Vision RPU Data", AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, + [AV_FRAME_DATA_DOVI_METADATA] = { "Dolby Vision Metadata", AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, ++ [AV_FRAME_DATA_DOVI_RPU_BUFFER_T35] = { "Dolby Vision RPU ITU T35 Data", AV_SIDE_DATA_PROP_COLOR_DEPENDENT }, + [AV_FRAME_DATA_LCEVC] = { "LCEVC NAL data", AV_SIDE_DATA_PROP_SIZE_DEPENDENT }, + [AV_FRAME_DATA_VIEW_ID] = { "View ID" }, + [AV_FRAME_DATA_STEREO3D] = { "Stereo 3D", AV_SIDE_DATA_PROP_GLOBAL }, +-- +2.54.0 + diff --git a/anda/multimedia/ffmpeg/ffmpeg-LCEVCdec-4.patch b/anda/multimedia/ffmpeg/ffmpeg-LCEVCdec-4.patch deleted file mode 100644 index ae0aa51e88..0000000000 --- a/anda/multimedia/ffmpeg/ffmpeg-LCEVCdec-4.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -Naur ffmpeg-7.1.2.old/libavcodec/lcevcdec.c ffmpeg-7.1.2/libavcodec/lcevcdec.c ---- ffmpeg-7.1.2.old/libavcodec/lcevcdec.c 2025-10-27 10:07:00.369472051 +0100 -+++ ffmpeg-7.1.2/libavcodec/lcevcdec.c 2025-10-27 10:07:01.223246583 +0100 -@@ -139,7 +139,7 @@ - if (!sd) - return 1; - -- res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, in->pts, 0, sd->data, sd->size); -+ res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, (uint64_t) in->pts, sd->data, sd->size); - if (res != LCEVC_Success) - return AVERROR_EXTERNAL; - -@@ -147,7 +147,7 @@ - if (ret < 0) - return ret; - -- res = LCEVC_SendDecoderBase(lcevc->decoder, in->pts, 0, picture, -1, NULL); -+ res = LCEVC_SendDecoderBase(lcevc->decoder, (uint64_t) in->pts, picture, -1, NULL); - if (res != LCEVC_Success) - return AVERROR_EXTERNAL; - -diff -Naur ffmpeg-7.1.2.old/libavfilter/vf_lcevc.c ffmpeg-7.1.2/libavfilter/vf_lcevc.c ---- ffmpeg-7.1.2.old/libavfilter/vf_lcevc.c 2025-10-27 10:07:00.732521928 +0100 -+++ ffmpeg-7.1.2/libavfilter/vf_lcevc.c 2025-10-27 10:07:01.223846623 +0100 -@@ -139,7 +139,7 @@ - return ret; - - if (sd) { -- res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, in->pts, 0, sd->data, sd->size); -+ res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, (uint64_t) in->pts, sd->data, sd->size); - if (res == LCEVC_Again) - return AVERROR(EAGAIN); - else if (res != LCEVC_Success) { -@@ -148,7 +148,7 @@ - } - } - -- res = LCEVC_SendDecoderBase(lcevc->decoder, in->pts, 0, picture, -1, in); -+ res = LCEVC_SendDecoderBase(lcevc->decoder, (uint64_t) in->pts, picture, -1, in); - if (res != LCEVC_Success) { - av_log(ctx, AV_LOG_ERROR, "LCEVC_SendDecoderBase failed\n"); - LCEVC_FreePicture(lcevc->decoder, picture); diff --git a/anda/multimedia/ffmpeg/ffmpeg-allow-fdk-aac-free.patch b/anda/multimedia/ffmpeg/ffmpeg-allow-fdk-aac-free.patch new file mode 100644 index 0000000000..3e0e4ff155 --- /dev/null +++ b/anda/multimedia/ffmpeg/ffmpeg-allow-fdk-aac-free.patch @@ -0,0 +1,33 @@ +From 26eb0232fa41d603a2f016faf5610de79f694c02 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Sun, 10 May 2026 00:10:38 +0200 +Subject: [PATCH] fdk-aac-free-devel is GPL compatible + +See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 1759694..6cf4f08 100755 +--- a/configure ++++ b/configure +@@ -2003,7 +2003,6 @@ EXTERNAL_LIBRARY_GPL_LIST=" + + EXTERNAL_LIBRARY_NONFREE_LIST=" + decklink +- libfdk_aac + libmpeghdec + " + +@@ -2044,6 +2043,7 @@ EXTERNAL_LIBRARY_LIST=" + libcodec2 + libdav1d + libdc1394 ++ libfdk_aac + libflite + libfontconfig + libfreetype +-- +2.54.0 + diff --git a/anda/multimedia/ffmpeg/ffmpeg-chromium.patch b/anda/multimedia/ffmpeg/ffmpeg-chromium.patch index 5c8c6cbfd9..9872622869 100644 --- a/anda/multimedia/ffmpeg/ffmpeg-chromium.patch +++ b/anda/multimedia/ffmpeg/ffmpeg-chromium.patch @@ -1,31 +1,46 @@ -diff -Naur ffmpeg-7.1.2.old/libavformat/avformat.h ffmpeg-7.1.2/libavformat/avformat.h ---- ffmpeg-7.1.2.old/libavformat/avformat.h 2025-10-27 10:07:00.895476692 +0100 -+++ ffmpeg-7.1.2/libavformat/avformat.h 2025-10-27 10:07:01.866348795 +0100 -@@ -1202,6 +1202,10 @@ - +From d32aacab65a322b66d6a1b48f6cdb03e42bde0f9 Mon Sep 17 00:00:00 2001 +From: Frank Liberato +Date: Wed, 7 Jul 2021 19:01:22 -0700 +Subject: [PATCH] Add av_stream_get_first_dts for Chromium + +--- + libavformat/avformat.h | 4 ++++ + libavformat/utils.c | 7 +++++++ + 2 files changed, 11 insertions(+) + +diff --git a/libavformat/avformat.h b/libavformat/avformat.h +index 1916aa2dc5..e6682849fa 100644 +--- a/libavformat/avformat.h ++++ b/libavformat/avformat.h +@@ -1170,6 +1170,10 @@ typedef struct AVStreamGroup { + struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); - + +// Chromium: We use the internal field first_dts vvv +int64_t av_stream_get_first_dts(const AVStream *st); +// Chromium: We use the internal field first_dts ^^^ + #define AV_PROGRAM_RUNNING 1 - + /** -diff -Naur ffmpeg-7.1.2.old/libavformat/utils.c ffmpeg-7.1.2/libavformat/utils.c ---- ffmpeg-7.1.2.old/libavformat/utils.c 2025-10-27 10:07:00.899476727 +0100 -+++ ffmpeg-7.1.2/libavformat/utils.c 2025-10-27 10:07:01.866992658 +0100 -@@ -44,6 +44,13 @@ +diff --git a/libavformat/utils.c b/libavformat/utils.c +index cf4d68bff9..7d750abf88 100644 +--- a/libavformat/utils.c ++++ b/libavformat/utils.c +@@ -56,6 +56,13 @@ int ff_unlock_avformat(void) * various utility functions for use within FFmpeg */ +// Chromium: We use the internal field first_dts vvv +int64_t av_stream_get_first_dts(const AVStream *st) +{ -+ return cffstream(st)->first_dts; ++ return cffstream(st)->first_dts; +} +// Chromium: We use the internal field first_dts ^^^ + /* an arbitrarily chosen "sane" max packet size -- 50M */ #define SANE_CHUNK_SIZE (50000000) - + +-- +2.41.0 + diff --git a/anda/multimedia/ffmpeg/ffmpeg-codec-choice.patch b/anda/multimedia/ffmpeg/ffmpeg-codec-choice.patch new file mode 100644 index 0000000000..f6a4ead570 --- /dev/null +++ b/anda/multimedia/ffmpeg/ffmpeg-codec-choice.patch @@ -0,0 +1,58 @@ +From: Jan Engelhardt + +Edit the default codec selection such that + + ffmpeg -i youtube.blah.webm foobar.mkv + +without any further arguments can produce a result even on a +reduced codec selection list. + +--- + libavformat/matroskaenc.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +Index: ffmpeg-7.0/libavformat/matroskaenc.c +=================================================================== +--- ffmpeg-7.0.orig/libavformat/matroskaenc.c ++++ ffmpeg-7.0/libavformat/matroskaenc.c +@@ -3540,16 +3540,25 @@ static int mkv_query_codec(enum AVCodecI + return 0; + } + ++#define PREFAUDIO \ ++ CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : \ ++ CONFIG_AAC_ENCODER ? AV_CODEC_ID_AAC : \ ++ CONFIG_VORBIS_ENCODER ? AV_CODEC_ID_VORBIS : \ ++ AV_CODEC_ID_AC3 ++ + const FFOutputFormat ff_matroska_muxer = { + .p.name = "matroska", + .p.long_name = NULL_IF_CONFIG_SMALL("Matroska"), + .p.mime_type = "video/x-matroska", + .p.extensions = "mkv", + .priv_data_size = sizeof(MatroskaMuxContext), +- .p.audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, +- .p.video_codec = CONFIG_LIBX264_ENCODER ? +- AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4, ++ .p.audio_codec = PREFAUDIO, ++ .p.video_codec = ++ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \ ++ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \ ++ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \ ++ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \ ++ AV_CODEC_ID_THEORA, + .init = mkv_init, + .deinit = mkv_deinit, + .write_header = mkv_write_header, +@@ -3617,8 +3626,7 @@ const FFOutputFormat ff_matroska_audio_m + .p.mime_type = "audio/x-matroska", + .p.extensions = "mka", + .priv_data_size = sizeof(MatroskaMuxContext), +- .p.audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, ++ .p.audio_codec = PREFAUDIO, + .p.video_codec = AV_CODEC_ID_NONE, + .init = mkv_init, + .deinit = mkv_deinit, + diff --git a/anda/multimedia/ffmpeg/ffmpeg-cuda-13.patch b/anda/multimedia/ffmpeg/ffmpeg-cuda-13.patch deleted file mode 100644 index 28bba4a1a7..0000000000 --- a/anda/multimedia/ffmpeg/ffmpeg-cuda-13.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure ---- ffmpeg-7.1.2.old/configure 2025-10-27 10:07:02.273543997 +0100 -+++ ffmpeg-7.1.2/configure 2025-10-27 10:07:02.276510125 +0100 -@@ -4710,6 +4710,9 @@ - if $nvcc $nvccflags_default 2>&1 | grep -qi unsupported; then - nvccflags_default="-gencode arch=compute_60,code=sm_60 -O2" - fi -+ if $nvcc $nvccflags_default 2>&1 | grep -qi unsupported; then -+ nvccflags_default="-gencode arch=compute_75,code=sm_75 -O2" -+ fi - fi - - set_default arch cc cxx doxygen pkg_config ranlib strip sysinclude \ diff --git a/anda/multimedia/ffmpeg/ffmpeg-decklink-14.patch b/anda/multimedia/ffmpeg/ffmpeg-decklink-14.patch deleted file mode 100644 index 779e398257..0000000000 --- a/anda/multimedia/ffmpeg/ffmpeg-decklink-14.patch +++ /dev/null @@ -1,454 +0,0 @@ -diff -Naur ffmpeg-7.1.2.old/doc/outdevs.texi ffmpeg-7.1.2/doc/outdevs.texi ---- ffmpeg-7.1.2.old/doc/outdevs.texi 2025-10-27 10:07:00.979477433 +0100 -+++ ffmpeg-7.1.2/doc/outdevs.texi 2025-10-27 10:07:02.002148270 +0100 -@@ -240,6 +240,10 @@ - outgoing VANC data will be dropped. - Defaults to @samp{1048576}. - -+@item block_until_available -+Retries output if device appears unavailable. Retry rate is 60 times a second. -+Defaults to @option{0}. -+ - @end table - - @subsection Examples -diff -Naur ffmpeg-7.1.2.old/fftools/ffmpeg_sched.c ffmpeg-7.1.2/fftools/ffmpeg_sched.c ---- ffmpeg-7.1.2.old/fftools/ffmpeg_sched.c 2025-10-27 10:07:01.220479559 +0100 -+++ ffmpeg-7.1.2/fftools/ffmpeg_sched.c 2025-10-27 10:07:02.002549025 +0100 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include "cmdutils.h" - #include "ffmpeg_sched.h" -diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_common_c.h ffmpeg-7.1.2/libavdevice/decklink_common_c.h ---- ffmpeg-7.1.2.old/libavdevice/decklink_common_c.h 2025-10-27 10:07:00.829476109 +0100 -+++ ffmpeg-7.1.2/libavdevice/decklink_common_c.h 2025-10-27 10:07:02.003002589 +0100 -@@ -74,6 +74,7 @@ - int64_t timestamp_align; - int timing_offset; - int wait_for_tc; -+ int block_until_available; - DecklinkSignalLossAction signal_loss_action; - }; - -diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_common.cpp ffmpeg-7.1.2/libavdevice/decklink_common.cpp ---- ffmpeg-7.1.2.old/libavdevice/decklink_common.cpp 2025-10-27 10:07:00.828476101 +0100 -+++ ffmpeg-7.1.2/libavdevice/decklink_common.cpp 2025-10-27 10:07:02.003115933 +0100 -@@ -25,7 +25,7 @@ - #include "libavformat/internal.h" - } - --#include -+#include - #ifdef _WIN32 - #include - #else -@@ -53,6 +53,7 @@ - - #include "decklink_common.h" - -+ - static IDeckLinkIterator *decklink_create_iterator(AVFormatContext *avctx) - { - IDeckLinkIterator *iter; -@@ -512,8 +513,8 @@ - return AVERROR(EIO); - - while (ret == 0 && iter->Next(&dl) == S_OK) { -- IDeckLinkOutput *output_config; -- IDeckLinkInput *input_config; -+ IDeckLinkOutput_v14_2_1 *output_config; -+ IDeckLinkInput_v14_2_1 *input_config; - const char *display_name = NULL; - const char *unique_name = NULL; - AVDeviceInfo *new_device = NULL; -@@ -527,14 +528,14 @@ - goto next; - - if (show_outputs) { -- if (dl->QueryInterface(IID_IDeckLinkOutput, (void **)&output_config) == S_OK) { -+ if (dl->QueryInterface(IID_IDeckLinkOutput_v14_2_1, (void **)&output_config) == S_OK) { - output_config->Release(); - add = 1; - } - } - - if (show_inputs) { -- if (dl->QueryInterface(IID_IDeckLinkInput, (void **)&input_config) == S_OK) { -+ if (dl->QueryInterface(IID_IDeckLinkInput_v14_2_1, (void **)&input_config) == S_OK) { - input_config->Release(); - add = 1; - } -diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_common.h ffmpeg-7.1.2/libavdevice/decklink_common.h ---- ffmpeg-7.1.2.old/libavdevice/decklink_common.h 2025-10-27 10:07:00.831476127 +0100 -+++ ffmpeg-7.1.2/libavdevice/decklink_common.h 2025-10-27 10:07:02.003408083 +0100 -@@ -93,8 +93,8 @@ - struct decklink_ctx { - /* DeckLink SDK interfaces */ - IDeckLink *dl; -- IDeckLinkOutput *dlo; -- IDeckLinkInput *dli; -+ IDeckLinkOutput_v14_2_1 *dlo; -+ IDeckLinkInput_v14_2_1 *dli; - IDeckLinkConfiguration *cfg; - IDeckLinkProfileAttributes *attr; - decklink_output_callback *output_callback; -@@ -134,7 +134,6 @@ - AVStream *klv_st; - AVStream *teletext_st; - uint16_t cdp_sequence_num; -- - /* Options */ - int list_devices; - int list_formats; -@@ -149,13 +148,16 @@ - BMDPixelFormat raw_format; - DecklinkSignalLossAction signal_loss_action; - -+ - int frames_preroll; - int frames_buffer; - - pthread_mutex_t mutex; - pthread_cond_t cond; - int frames_buffer_available_spots; -+ int outstanding_frames; - int autodetect; -+ int block_until_available; - - #if CONFIG_LIBKLVANC - struct klvanc_context_s *vanc_ctx; -@@ -249,3 +251,4 @@ - int64_t ff_decklink_packet_queue_peekpts(DecklinkPacketQueue *q); - - #endif /* AVDEVICE_DECKLINK_COMMON_H */ -+ -diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_dec.cpp ffmpeg-7.1.2/libavdevice/decklink_dec.cpp ---- ffmpeg-7.1.2.old/libavdevice/decklink_dec.cpp 2025-10-27 10:07:00.828476101 +0100 -+++ ffmpeg-7.1.2/libavdevice/decklink_dec.cpp 2025-10-27 10:07:02.003669356 +0100 -@@ -31,7 +31,7 @@ - #include "libavformat/internal.h" - } - --#include -+#include - - extern "C" { - #include "config.h" -@@ -56,6 +56,7 @@ - #include "decklink_common.h" - #include "decklink_dec.h" - -+extern bool operator==(const REFIID& me, const REFIID& other); - #define MAX_WIDTH_VANC 1920 - const BMDDisplayMode AUTODETECT_DEFAULT_MODE = bmdModeNTSC; - -@@ -105,13 +106,13 @@ - {bmdModeUnknown, 0, -1, -1, -1} - }; - --class decklink_allocator : public IDeckLinkMemoryAllocator -+class decklink_allocator : public IDeckLinkMemoryAllocator_v14_2_1 - { - public: - decklink_allocator(): _refs(1) { } - virtual ~decklink_allocator() { } - -- // IDeckLinkMemoryAllocator methods -+ // IDeckLinkMemoryAllocator_v14_2_1 methods - virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(unsigned int bufferSize, void* *allocatedBuffer) - { - void *buf = av_malloc(bufferSize + AV_INPUT_BUFFER_PADDING_SIZE); -@@ -129,7 +130,15 @@ - virtual HRESULT STDMETHODCALLTYPE Decommit() { return S_OK; } - - // IUnknown methods -- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; } -+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) -+ { -+ if (iid == IID_IDeckLinkMemoryAllocator_v14_2_1) { -+ *ppv = (IDeckLinkMemoryAllocator_v14_2_1*)this; -+ AddRef(); -+ return S_OK; -+ } -+ return E_NOINTERFACE; -+ } - virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; } - virtual ULONG STDMETHODCALLTYPE Release(void) - { -@@ -472,7 +481,7 @@ - } - - --static void handle_klv(AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideoInputFrame *videoFrame, int64_t pts) -+static void handle_klv(AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame, int64_t pts) - { - const uint8_t KLV_DID = 0x44; - const uint8_t KLV_IN_VANC_SDID = 0x04; -@@ -574,17 +583,25 @@ - } - } - --class decklink_input_callback : public IDeckLinkInputCallback -+class decklink_input_callback : public IDeckLinkInputCallback_v14_2_1 - { - public: - explicit decklink_input_callback(AVFormatContext *_avctx); - ~decklink_input_callback(); - -- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; } -+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) -+ { -+ if (iid == IID_IDeckLinkInputCallback_v14_2_1) { -+ *ppv = (IDeckLinkInputCallback_v14_2_1*)this; -+ AddRef(); -+ return S_OK; -+ } -+ return E_NOINTERFACE; -+ } - virtual ULONG STDMETHODCALLTYPE AddRef(void); - virtual ULONG STDMETHODCALLTYPE Release(void); - virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(BMDVideoInputFormatChangedEvents, IDeckLinkDisplayMode*, BMDDetectedVideoInputFormatFlags); -- virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*); -+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame_v14_2_1*, IDeckLinkAudioInputPacket*); - - private: - std::atomic _refs; -@@ -593,7 +610,7 @@ - int no_video; - int64_t initial_video_pts; - int64_t initial_audio_pts; -- IDeckLinkVideoInputFrame* last_video_frame; -+ IDeckLinkVideoInputFrame_v14_2_1* last_video_frame; - }; - - decklink_input_callback::decklink_input_callback(AVFormatContext *_avctx) : _refs(1) -@@ -625,7 +642,7 @@ - return ret; - } - --static int64_t get_pkt_pts(IDeckLinkVideoInputFrame *videoFrame, -+static int64_t get_pkt_pts(IDeckLinkVideoInputFrame_v14_2_1 *videoFrame, - IDeckLinkAudioInputPacket *audioFrame, - int64_t wallclock, - int64_t abs_wallclock, -@@ -679,7 +696,7 @@ - return pts; - } - --static int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame *videoFrame) -+static int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame) - { - IDeckLinkTimecode *timecode; - int ret = AVERROR(ENOENT); -@@ -701,7 +718,7 @@ - return ret; - } - --static int get_frame_timecode(AVFormatContext *avctx, decklink_ctx *ctx, AVTimecode *tc, IDeckLinkVideoInputFrame *videoFrame) -+static int get_frame_timecode(AVFormatContext *avctx, decklink_ctx *ctx, AVTimecode *tc, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame) - { - AVRational frame_rate = ctx->video_st->r_frame_rate; - int ret; -@@ -726,7 +743,7 @@ - } - - HRESULT decklink_input_callback::VideoInputFrameArrived( -- IDeckLinkVideoInputFrame *videoFrame, IDeckLinkAudioInputPacket *audioFrame) -+ IDeckLinkVideoInputFrame_v14_2_1 *videoFrame, IDeckLinkAudioInputPacket *audioFrame) - { - void *frameBytes; - void *audioFrameBytes; -@@ -1141,7 +1158,7 @@ - goto error; - - /* Get input device. */ -- if (ctx->dl->QueryInterface(IID_IDeckLinkInput, (void **) &ctx->dli) != S_OK) { -+ if (ctx->dl->QueryInterface(IID_IDeckLinkInput_v14_2_1, (void **) &ctx->dli) != S_OK) { - av_log(avctx, AV_LOG_ERROR, "Could not open input device from '%s'\n", - avctx->url); - ret = AVERROR(EIO); -diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_enc_c.c ffmpeg-7.1.2/libavdevice/decklink_enc_c.c ---- ffmpeg-7.1.2.old/libavdevice/decklink_enc_c.c 2025-10-27 10:07:00.833476145 +0100 -+++ ffmpeg-7.1.2/libavdevice/decklink_enc_c.c 2025-10-27 10:07:02.004050964 +0100 -@@ -32,6 +32,7 @@ - { "list_devices", "use ffmpeg -sinks decklink instead", OFFSET(list_devices), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, ENC | AV_OPT_FLAG_DEPRECATED}, - { "list_formats", "list supported formats" , OFFSET(list_formats), AV_OPT_TYPE_INT , { .i64 = 0 }, 0, 1, ENC }, - { "preroll" , "video preroll in seconds", OFFSET(preroll ), AV_OPT_TYPE_DOUBLE, { .dbl = 0.5 }, 0, 5, ENC }, -+ { "block_until_available", "wait for device to become available instead of raising error", OFFSET(block_until_available), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, ENC }, - { "vanc_queue_size", "VANC queue buffer size", OFFSET(vanc_queue_size), AV_OPT_TYPE_INT64, { .i64 = (1024 * 1024)}, 0, INT64_MAX, ENC }, - #if BLACKMAGIC_DECKLINK_API_VERSION >= 0x0b000000 - { "duplex_mode" , "duplex mode" , OFFSET(duplex_mode ), AV_OPT_TYPE_INT , { .i64 = 0 }, 0, 5, ENC, .unit = "duplex_mode"}, -diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_enc.cpp ffmpeg-7.1.2/libavdevice/decklink_enc.cpp ---- ffmpeg-7.1.2.old/libavdevice/decklink_enc.cpp 2025-10-27 10:07:00.832476136 +0100 -+++ ffmpeg-7.1.2/libavdevice/decklink_enc.cpp 2025-10-27 10:07:02.004296918 +0100 -@@ -20,6 +20,8 @@ - */ - - #include -+#include -+ - using std::atomic; - - /* Include internal.h first to avoid conflict between winsock.h (used by -@@ -28,7 +30,7 @@ - #include "libavformat/internal.h" - } - --#include -+#include - - extern "C" { - #include "libavformat/avformat.h" -@@ -47,8 +49,26 @@ - #include "libklvanc/pixels.h" - #endif - -+extern bool operator==(const REFIID& me, const REFIID& other){ -+ return me.byte0 == other.byte0 && -+ me.byte1 == other.byte1 && -+ me.byte2 == other.byte2 && -+ me.byte3 == other.byte3 && -+ me.byte4 == other.byte4 && -+ me.byte5 == other.byte5 && -+ me.byte6 == other.byte6 && -+ me.byte7 == other.byte7 && -+ me.byte8 == other.byte8 && -+ me.byte9 == other.byte9 && -+ me.byte10 == other.byte10 && -+ me.byte11 == other.byte11 && -+ me.byte12 == other.byte12 && -+ me.byte13 == other.byte13 && -+ me.byte14 == other.byte14 && -+ me.byte15 == other.byte15; -+} - /* DeckLink callback class declaration */ --class decklink_frame : public IDeckLinkVideoFrame -+class decklink_frame : public IDeckLinkVideoFrame_v14_2_1 - { - public: - decklink_frame(struct decklink_ctx *ctx, AVFrame *avframe, AVCodecID codec_id, int height, int width) : -@@ -111,7 +131,16 @@ - _ancillary->AddRef(); - return S_OK; - } -- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; } -+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) -+ { -+ if (iid == IID_IDeckLinkVideoFrame_v14_2_1) -+ { -+ *ppv = (IDeckLinkVideoFrame_v14_2_1*)this; -+ AddRef(); -+ return S_OK; -+ } -+ return E_NOINTERFACE; -+ } - virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; } - virtual ULONG STDMETHODCALLTYPE Release(void) - { -@@ -138,10 +167,10 @@ - std::atomic _refs; - }; - --class decklink_output_callback : public IDeckLinkVideoOutputCallback -+class decklink_output_callback : public IDeckLinkVideoOutputCallback_v14_2_1 - { - public: -- virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(IDeckLinkVideoFrame *_frame, BMDOutputFrameCompletionResult result) -+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(IDeckLinkVideoFrame_v14_2_1 *_frame, BMDOutputFrameCompletionResult result) - { - decklink_frame *frame = static_cast(_frame); - struct decklink_ctx *ctx = frame->_ctx; -@@ -155,11 +184,22 @@ - ctx->frames_buffer_available_spots++; - pthread_cond_broadcast(&ctx->cond); - pthread_mutex_unlock(&ctx->mutex); -- -+ pthread_mutex_lock(&ctx->mutex); -+ ctx->outstanding_frames--; -+ pthread_mutex_unlock(&ctx->mutex); - return S_OK; - } - virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped(void) { return S_OK; } -- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; } -+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) -+ { -+ if (iid == IID_IDeckLinkVideoOutputCallback_v14_2_1) -+ { -+ *ppv = (IDeckLinkVideoOutputCallback_v14_2_1*)this; -+ AddRef(); -+ return S_OK; -+ } -+ return E_NOINTERFACE; -+ } - virtual ULONG STDMETHODCALLTYPE AddRef(void) { return 1; } - virtual ULONG STDMETHODCALLTYPE Release(void) { return 1; } - }; -@@ -204,9 +244,14 @@ - av_log(avctx, AV_LOG_WARNING, "Could not enable video output with VANC! Trying without...\n"); - ctx->supports_vanc = 0; - } -- if (!ctx->supports_vanc && ctx->dlo->EnableVideoOutput(ctx->bmd_mode, bmdVideoOutputFlagDefault) != S_OK) { -- av_log(avctx, AV_LOG_ERROR, "Could not enable video output!\n"); -- return -1; -+ while (!ctx->supports_vanc && ctx->dlo->EnableVideoOutput(ctx->bmd_mode, bmdVideoOutputFlagDefault) != S_OK) { -+ if (!ctx->block_until_available) { -+ av_log(avctx, AV_LOG_ERROR, "Could not enable video output!\n"); -+ return -1; -+ }; -+ av_log(avctx, AV_LOG_WARNING, "Could not enable video output, waiting for device...\n"); -+ usleep(1000000 / 60); -+ continue; - } - - /* Set callback. */ -@@ -370,6 +415,10 @@ - struct decklink_cctx *cctx = (struct decklink_cctx *)avctx->priv_data; - struct decklink_ctx *ctx = (struct decklink_ctx *)cctx->ctx; - -+ av_log(avctx, AV_LOG_DEBUG, "Wating for %d outstanding frames to return their results\n", ctx->outstanding_frames); -+ while (ctx->outstanding_frames > 0){ -+ usleep(1); -+ } - if (ctx->playback_started) { - BMDTimeValue actual; - ctx->dlo->StopScheduledPlayback(ctx->last_pts * ctx->bmd_tb_num, -@@ -739,7 +788,7 @@ - ctx->first_pts = pkt->pts; - - /* Schedule frame for playback. */ -- hr = ctx->dlo->ScheduleVideoFrame((class IDeckLinkVideoFrame *) frame, -+ hr = ctx->dlo->ScheduleVideoFrame((class IDeckLinkVideoFrame_v14_2_1 *) frame, - pkt->pts * ctx->bmd_tb_num, - ctx->bmd_tb_num, ctx->bmd_tb_den); - /* Pass ownership to DeckLink, or release on failure */ -@@ -750,6 +799,9 @@ - return AVERROR(EIO); - } - -+ pthread_mutex_lock(&ctx->mutex); -+ ctx->outstanding_frames++; -+ pthread_mutex_unlock(&ctx->mutex); - ctx->dlo->GetBufferedVideoFrameCount(&buffered); - av_log(avctx, AV_LOG_DEBUG, "Buffered video frames: %d.\n", (int) buffered); - if (pkt->pts > 2 && buffered <= 2) -@@ -850,6 +902,7 @@ - ctx->list_devices = cctx->list_devices; - ctx->list_formats = cctx->list_formats; - ctx->preroll = cctx->preroll; -+ ctx->block_until_available = cctx->block_until_available; - ctx->duplex_mode = cctx->duplex_mode; - ctx->first_pts = AV_NOPTS_VALUE; - if (cctx->link > 0 && (unsigned int)cctx->link < FF_ARRAY_ELEMS(decklink_link_conf_map)) -@@ -874,7 +927,7 @@ - return ret; - - /* Get output device. */ -- if (ctx->dl->QueryInterface(IID_IDeckLinkOutput, (void **) &ctx->dlo) != S_OK) { -+ if (ctx->dl->QueryInterface(IID_IDeckLinkOutput_v14_2_1, (void **) &ctx->dlo) != S_OK) { - av_log(avctx, AV_LOG_ERROR, "Could not open output device from '%s'\n", - avctx->url); - ret = AVERROR(EIO); diff --git a/anda/multimedia/ffmpeg/ffmpeg-nvcc.patch b/anda/multimedia/ffmpeg/ffmpeg-nvcc.patch deleted file mode 100644 index 7dcf2259c3..0000000000 --- a/anda/multimedia/ffmpeg/ffmpeg-nvcc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure ---- ffmpeg-7.1.2.old/configure 2025-10-27 10:07:01.862821941 +0100 -+++ ffmpeg-7.1.2/configure 2025-10-27 10:07:02.140469997 +0100 -@@ -6766,7 +6766,7 @@ - nvccflags=$nvccflags_default - fi - --nvccflags="$nvccflags -std=c++11" -+nvccflags="$nvccflags -std=c++14" - - if enabled x86_64 || enabled ppc64 || enabled aarch64; then - nvccflags="$nvccflags -m64" diff --git a/anda/multimedia/ffmpeg/ffmpeg-svt-vp9.patch b/anda/multimedia/ffmpeg/ffmpeg-svt-vp9.patch index 6bdae213ed..a0deafb52f 100644 --- a/anda/multimedia/ffmpeg/ffmpeg-svt-vp9.patch +++ b/anda/multimedia/ffmpeg/ffmpeg-svt-vp9.patch @@ -1,15 +1,24 @@ -diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure ---- ffmpeg-7.1.2.old/configure 2025-10-27 10:07:00.645474486 +0100 -+++ ffmpeg-7.1.2/configure 2025-10-27 10:07:01.726484024 +0100 -@@ -278,6 +278,7 @@ - --enable-libsrt enable Haivision SRT protocol via libsrt [no] - --enable-libssh enable SFTP protocol via libssh [no] - --enable-libsvtav1 enable AV1 encoding via SVT [no] -+ --enable-libsvtvp9 enable VP9 encoding via svt [no] - --enable-libtensorflow enable TensorFlow as a DNN module backend - for DNN based filters like sr [no] - --enable-libtesseract enable Tesseract, needed for ocr filter [no] -@@ -1955,6 +1956,7 @@ +From fed3505f256f4eecc967f9bec4252cb1b15375bd Mon Sep 17 00:00:00 2001 +From: Terra Packaging Team +Date: Sun, 31 May 2026 03:01:18 -0500 +Subject: [PATCH] Patch for SVT-VP9 plugin + +See: https://github.com/OpenVisualCloud/SVT-VP9/tree/master/ffmpeg_plugin +--- + configure | 3 + + configure.rej | 10 + + libavcodec/Makefile | 1 + + libavcodec/allcodecs.c | 1 + + libavcodec/libsvt_vp9.c | 701 ++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 716 insertions(+) + create mode 100644 configure.rej + create mode 100644 libavcodec/libsvt_vp9.c + +diff --git a/configure b/configure +index 1759694..4b63d8e 100755 +--- a/configure ++++ b/configure +@@ -2083,6 +2083,7 @@ EXTERNAL_LIBRARY_LIST=" libshaderc libshine libsmbclient @@ -17,7 +26,7 @@ diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure libsnappy libsoxr libspeex -@@ -3579,6 +3581,7 @@ +@@ -3825,6 +3826,7 @@ libvpx_vp8_decoder_deps="libvpx" libvpx_vp8_encoder_deps="libvpx" libvpx_vp9_decoder_deps="libvpx" libvpx_vp9_encoder_deps="libvpx" @@ -25,7 +34,7 @@ diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure libvvenc_encoder_deps="libvvenc" libwebp_encoder_deps="libwebp" libwebp_anim_encoder_deps="libwebp" -@@ -7028,6 +7031,7 @@ +@@ -7387,6 +7389,7 @@ enabled libtwolame && require libtwolame twolame.h twolame_init -ltwolame die "ERROR: libtwolame must be installed and version must be >= 0.3.10"; } enabled libuavs3d && require_pkg_config libuavs3d "uavs3d >= 1.1.41" uavs3d.h uavs3d_decode enabled libv4l2 && require_pkg_config libv4l2 libv4l2 libv4l2.h v4l2_ioctl @@ -33,10 +42,39 @@ diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure enabled libvidstab && require_pkg_config libvidstab "vidstab >= 0.98" vid.stab/libvidstab.h vsMotionDetectInit enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 2.0.0" libvmaf.h vmaf_init enabled libvmaf && check_pkg_config libvmaf_cuda "libvmaf >= 2.0.0" libvmaf_cuda.h vmaf_cuda_state_init -diff -Naur ffmpeg-7.1.2.old/libavcodec/allcodecs.c ffmpeg-7.1.2/libavcodec/allcodecs.c ---- ffmpeg-7.1.2.old/libavcodec/allcodecs.c 2025-10-27 10:07:00.517473357 +0100 -+++ ffmpeg-7.1.2/libavcodec/allcodecs.c 2025-10-27 10:07:01.728697010 +0100 -@@ -796,6 +796,7 @@ +diff --git a/configure.rej b/configure.rej +new file mode 100644 +index 0000000..3de8351 +--- /dev/null ++++ b/configure.rej +@@ -0,0 +1,10 @@ ++--- configure 2026-03-10 10:00:58.102559577 +0100 +++++ configure 2026-03-10 10:00:58.530928613 +0100 ++@@ -278,6 +278,7 @@ ++ --enable-libsrt enable Haivision SRT protocol via libsrt [no] ++ --enable-libssh enable SFTP protocol via libssh [no] ++ --enable-libsvtav1 enable AV1 encoding via SVT [no] +++ --enable-libsvtvp9 enable VP9 encoding via svt [no] ++ --enable-libtensorflow enable TensorFlow as a DNN module backend ++ for DNN based filters like sr [no] ++ --enable-libtesseract enable Tesseract, needed for ocr filter [no] +diff --git a/libavcodec/Makefile b/libavcodec/Makefile +index 1410bd8..9310a97 100644 +--- a/libavcodec/Makefile ++++ b/libavcodec/Makefile +@@ -1217,6 +1217,7 @@ OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o + OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o + OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \ + vorbis_data.o ++OBJS-$(CONFIG_LIBSVT_VP9_ENCODER) += libsvt_vp9.o + OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o + OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o + OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o +diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c +index 695214f..8eaa76a 100644 +--- a/libavcodec/allcodecs.c ++++ b/libavcodec/allcodecs.c +@@ -826,6 +826,7 @@ extern const FFCodec ff_libuavs3d_decoder; extern const FFCodec ff_libvo_amrwbenc_encoder; extern const FFCodec ff_libvorbis_encoder; extern const FFCodec ff_libvorbis_decoder; @@ -44,9 +82,11 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/allcodecs.c ffmpeg-7.1.2/libavcodec/allco extern const FFCodec ff_libvpx_vp8_encoder; extern const FFCodec ff_libvpx_vp8_decoder; extern FFCodec ff_libvpx_vp9_encoder; -diff -Naur ffmpeg-7.1.2.old/libavcodec/libsvt_vp9.c ffmpeg-7.1.2/libavcodec/libsvt_vp9.c ---- ffmpeg-7.1.2.old/libavcodec/libsvt_vp9.c 1970-01-01 01:00:00.000000000 +0100 -+++ ffmpeg-7.1.2/libavcodec/libsvt_vp9.c 2025-10-27 10:07:01.729099438 +0100 +diff --git a/libavcodec/libsvt_vp9.c b/libavcodec/libsvt_vp9.c +new file mode 100644 +index 0000000..90ed5cb +--- /dev/null ++++ b/libavcodec/libsvt_vp9.c @@ -0,0 +1,701 @@ +/* +* Scalable Video Technology for VP9 encoder library plugin @@ -749,14 +789,6 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/libsvt_vp9.c ffmpeg-7.1.2/libavcodec/libs + .defaults = eb_enc_defaults, + .p.wrapper_name = "libsvt_vp9", +}; -diff -Naur ffmpeg-7.1.2.old/libavcodec/Makefile ffmpeg-7.1.2/libavcodec/Makefile ---- ffmpeg-7.1.2.old/libavcodec/Makefile 2025-10-27 10:07:00.259471080 +0100 -+++ ffmpeg-7.1.2/libavcodec/Makefile 2025-10-27 10:07:01.729297932 +0100 -@@ -1157,6 +1157,7 @@ - OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o - OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \ - vorbis_data.o -+OBJS-$(CONFIG_LIBSVT_VP9_ENCODER) += libsvt_vp9.o - OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o - OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o - OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o +-- +2.54.0 + diff --git a/anda/multimedia/ffmpeg/ffmpeg-vapoursynth-script-soname.patch b/anda/multimedia/ffmpeg/ffmpeg-vapoursynth-script-soname.patch new file mode 100644 index 0000000000..a1747fc373 --- /dev/null +++ b/anda/multimedia/ffmpeg/ffmpeg-vapoursynth-script-soname.patch @@ -0,0 +1,26 @@ +From 03ce488cabd436b353aaa4bef1b848493e17317f Mon Sep 17 00:00:00 2001 +From: Terra Packaging Team +Date: Sun, 31 May 2026 03:08:52 -0500 +Subject: [PATCH] Fix VapourSynth dlopen + +See: https://bugzilla.redhat.com/show_bug.cgi?id=2345698 +--- + libavformat/vapoursynth.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavformat/vapoursynth.c b/libavformat/vapoursynth.c +index 0fa5aff..e6ac20b 100644 +--- a/libavformat/vapoursynth.c ++++ b/libavformat/vapoursynth.c +@@ -49,7 +49,7 @@ + #else + #include + #define VSSCRIPT_NAME "libvapoursynth-script" +- #define VSSCRIPT_LIB VSSCRIPT_NAME SLIBSUF ++ #define VSSCRIPT_LIB VSSCRIPT_NAME SLIBSUF ".0" + #endif + + struct VSState { +-- +2.54.0 + diff --git a/anda/multimedia/ffmpeg/ffmpeg.spec b/anda/multimedia/ffmpeg/ffmpeg.spec index bcb49817fa..e3cd58c27d 100644 --- a/anda/multimedia/ffmpeg/ffmpeg.spec +++ b/anda/multimedia/ffmpeg/ffmpeg.spec @@ -1,432 +1,741 @@ -%bcond bootstrap 1 +# For a complete build enable this +%bcond all_codecs 1 -%if %{with bootstrap} -%bcond chromaprint 0 -%bcond lcevcdec 0 +# Break dependency cycles by disabling certain optional dependencies. +%bcond bootstrap 0 + +# If building with all codecs, then set the pkg_suffix to %%nil. +# We can't handle this with a conditional, as srpm +# generation would not take it into account. +%global pkg_suffix %{!?with_all_codecs:-free}%{?with_all_codecs:%{nil}} + +# For alternative builds (do not enable in Fedora!) +%bcond freeworld_lavc 0 + +%if %{with freeworld_lavc} +# Freeworld builds enable all codecs +%global with_all_codecs 1 +# Freeworld builds do not need a package suffix +%global pkg_suffix %{nil} +%global basepkg_suffix -free +%endif + +# Fails due to asm issue +%ifarch %{ix86} %{arm} +%bcond lto 0 +# relocations in .text from nasm-compiled code on i686 only +# https://bugzilla.redhat.com/show_bug.cgi?id=2428281 +%global _pkg_extra_ldflags "-Wl,-z,notext" %else -%bcond chromaprint 1 -%bcond lcevcdec 1 -%endif - -%global _lto_cflags %{nil} - -%global avcodec_soversion 61 -%global avdevice_soversion 61 -%global avfilter_soversion 10 -%global avformat_soversion 61 -%global avutil_soversion 59 -%global postproc_soversion 58 -%global swresample_soversion 5 -%global swscale_soversion 8 - -Summary: A complete solution to record, convert and stream audio and video -Name: ffmpeg -Version: 8.1.1 -Release: 1%{?dist} -License: LGPLv3+ -URL: http://%{name}.org/ -Epoch: 1 - -Source0: http://%{name}.org/releases/%{name}-%{version}.tar.xz - -# https://github.com/OpenVisualCloud/SVT-VP9/tree/master/ffmpeg_plugin -Patch0: %{name}-svt-vp9.patch -# https://github.com/HandBrake/HandBrake/tree/8902805364f00e0d420c4d4b33053a31d27045ab -Patch1: %{name}-HandBrake.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2240127 -# Reference: https://crbug.com/1306560 -Patch2: %{name}-chromium.patch -# Fix build with recent NVCC: -Patch3: %{name}-nvcc.patch -# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/f8a300c6739ea2ca648579d7faf3ae9811b9f19a -Patch4: %{name}-cuda-13.patch -# Support LCEVCdec 4.0+: -Patch5: https://aur.archlinux.org/cgit/aur.git/plain/080-ffmpeg-lcevcdec4.0.0-fix.patch?h=ffmpeg-full#/%{name}-LCEVCdec-4.patch -# https://github.com/magarnicle/FFmpeg/commits/DeckLink_SDK_14_4/ -Patch6: %{name}-decklink-14.patch - -BuildRequires: AMF-devel >= 1.4.28 -BuildRequires: bzip2-devel -BuildRequires: codec2-devel -BuildRequires: decklink-devel >= 14.2 -BuildRequires: doxygen -BuildRequires: frei0r-devel -BuildRequires: gmp-devel -BuildRequires: gsm-devel -BuildRequires: ilbc-devel -BuildRequires: lame-devel >= 3.98.3 -BuildRequires: ladspa-devel -BuildRequires: libavc1394-devel -%if %{with chromaprint} -BuildRequires: libchromaprint-devel -%endif -BuildRequires: libgcrypt-devel -BuildRequires: libiec61883-devel -BuildRequires: libklvanc-devel -BuildRequires: libtheora-devel -BuildRequires: libvdpau-devel -BuildRequires: libxavs-devel -BuildRequires: mesa-libGL-devel -BuildRequires: nasm -BuildRequires: ocl-icd-devel -BuildRequires: openal-soft-devel -BuildRequires: opencore-amr-devel -BuildRequires: perl(Pod::Man) -BuildRequires: snappy-devel -BuildRequires: soxr-devel -BuildRequires: subversion -BuildRequires: texinfo -BuildRequires: twolame-devel >= 0.3.10 -BuildRequires: vo-amrwbenc-devel -BuildRequires: xvidcore-devel -BuildRequires: xz-devel - -BuildRequires: pkgconfig(alsa) -BuildRequires: pkgconfig(aom) >= 1.0.0 -BuildRequires: pkgconfig(aribb24) >= 1.0.3 -BuildRequires: pkgconfig(caca) -BuildRequires: pkgconfig(dav1d) >= 0.5.0 -BuildRequires: pkgconfig(davs2) >= 1.6.0 -BuildRequires: pkgconfig(dvdnav) >= 6.1.1 -BuildRequires: pkgconfig(fdk-aac) -BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(freetype2) -BuildRequires: pkgconfig(fribidi) -BuildRequires: pkgconfig(harfbuzz) -BuildRequires: pkgconfig(jack) -BuildRequires: pkgconfig(kvazaar) >= 0.8.1 -BuildRequires: pkgconfig(lc3) >= 1.1.0 -BuildRequires: pkgconfig(lcms2) >= 2.13 -%if %{with lcevcdec} -BuildRequires: pkgconfig(lcevc_dec) >= 2.0.0 -%endif -BuildRequires: pkgconfig(libaribcaption) >= 1.1.1 -BuildRequires: pkgconfig(libass) >= 0.11.0 -BuildRequires: pkgconfig(libbluray) -BuildRequires: pkgconfig(libbs2b) -BuildRequires: pkgconfig(libcdio_paranoia) -BuildRequires: pkgconfig(libdc1394-2) -BuildRequires: pkgconfig(libdrm) -BuildRequires: pkgconfig(libgme) -BuildRequires: pkgconfig(libjxl) >= 0.7.0 -#BuildRequires: pkgconfig(lensfun) > 0.3.95 -BuildRequires: pkgconfig(libmodplug) -BuildRequires: pkgconfig(libmysofa) -BuildRequires: pkgconfig(libopenjp2) >= 2.1.0 -BuildRequires: pkgconfig(libopenmpt) >= 0.2.6557 -BuildRequires: pkgconfig(libplacebo) >= 4.192.0 -BuildRequires: pkgconfig(libpulse) -BuildRequires: pkgconfig(libqrencode) -#BuildRequires: pkgconfig(libquirc) -BuildRequires: pkgconfig(librabbitmq) >= 0.7.1 -BuildRequires: pkgconfig(librist) >= 0.2.7 -BuildRequires: pkgconfig(librtmp) -BuildRequires: pkgconfig(librsvg-2.0) -BuildRequires: pkgconfig(libssh) -BuildRequires: pkgconfig(libtcmalloc) -BuildRequires: pkgconfig(libva) >= 0.35.0 -BuildRequires: pkgconfig(libva-drm) -BuildRequires: pkgconfig(libva-x11) -BuildRequires: pkgconfig(libv4l2) -BuildRequires: pkgconfig(libvvenc) >= 1.11.0 -BuildRequires: pkgconfig(libwebp) -BuildRequires: pkgconfig(libwebpmux) >= 0.4.0 -BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(libzmq) >= 4.2.1 -BuildRequires: pkgconfig(lilv-0) -BuildRequires: pkgconfig(lv2) -#BuildRequires: pkgconfig(OpenCL) -#BuildRequires: pkgconfig(opencv) -BuildRequires: pkgconfig(openh264) -BuildRequires: pkgconfig(openssl) -BuildRequires: pkgconfig(opus) -BuildRequires: pkgconfig(rav1e) >= 0.4.0 -BuildRequires: pkgconfig(rubberband) >= 1.8.1 -BuildRequires: pkgconfig(sdl2) -BuildRequires: pkgconfig(shaderc) >= 2019.1 -#BuildRequires: pkgconfig(shine) -BuildRequires: pkgconfig(smbclient) -BuildRequires: pkgconfig(speex) -BuildRequires: pkgconfig(srt) >= 1.3.0 -BuildRequires: pkgconfig(SvtAv1Enc) >= 0.9.0 -BuildRequires: pkgconfig(tesseract) -BuildRequires: pkgconfig(uavs3d) >= 1.1.41 -BuildRequires: pkgconfig(vapoursynth-script) >= 42 -BuildRequires: pkgconfig(vidstab) >= 0.98 -BuildRequires: pkgconfig(vorbis) -BuildRequires: pkgconfig(vorbisenc) -BuildRequires: pkgconfig(vpx) >= 1.4.0 -BuildRequires: pkgconfig(vulkan) >= 1.3.277 -BuildRequires: pkgconfig(xavs2) >= 1.3.0 -BuildRequires: pkgconfig(xcb) >= 1.4 -BuildRequires: pkgconfig(xcb-shape) -BuildRequires: pkgconfig(xcb-shm) -BuildRequires: pkgconfig(xcb-xfixes) -BuildRequires: pkgconfig(xevd) >= 0.4.1 -BuildRequires: pkgconfig(xeve) >= 0.4.3 -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(x264) -BuildRequires: pkgconfig(x265) -BuildRequires: pkgconfig(xv) -BuildRequires: pkgconfig(zimg) >= 2.7.0 -BuildRequires: pkgconfig(zlib) -BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28 - -%ifarch x86_64 aarch64 -BuildRequires: cuda-cudart-devel -BuildRequires: cuda-nvcc -BuildRequires: pkgconfig(ffnvcodec) >= 12.0.16.0 +%bcond lto 1 %endif %ifarch x86_64 -BuildRequires: pkgconfig(libmfx) -BuildRequires: pkgconfig(libvmaf) >= 2.0.0 -BuildRequires: pkgconfig(SvtVp9Enc) -BuildRequires: pkgconfig(vpl) >= 2.6 +%bcond vpl 1 +%bcond vmaf 1 +%else +%bcond vpl 0 +%bcond vmaf 0 %endif -Obsoletes: %{name}-free < %{epoch}:%{version}-%{release} -Provides: %{name}-free = %{epoch}:%{version}-%{release} +%ifarch s390 s390x riscv64 +%bcond dc1394 0 +%bcond ffnvcodec 0 +%else +%bcond dc1394 1 +%bcond ffnvcodec 1 +%endif + +%if 0%{?rhel} +# Disable dependencies not available or wanted on RHEL/EPEL +%bcond chromaprint 0 +%bcond flite 0 +%else +# Break chromaprint dependency cycle (Fedora-only): +# ffmpeg (libavcodec-free) → chromaprint → ffmpeg +%bcond chromaprint %{without boostrap} +%bcond flite 1 +%endif + +%if 0%{?rhel} && 0%{?rhel} <= 9 +# Disable some features because RHEL 9 packages are too old +%bcond lcms2 0 +%bcond placebo 0 +%else +%bcond lcms2 1 +%bcond placebo 1 +%endif + +%if 0%{?el10} +# Disable temporarily while we want for liblc3 to be upgraded +# Cf. https://issues.redhat.com/browse/RHEL-127169 +%bcond lc3 0 +%else +%bcond lc3 1 +%endif + +# For using an alternative build of EVC codecs +%bcond evc_main 0 + +%if %{with all_codecs} +%bcond rtmp 1 +%bcond vvc 1 +%bcond x264 1 +%bcond x265 1 +%else +%bcond rtmp 0 +%bcond vvc 0 +%bcond x264 0 +%bcond x265 0 +%endif + +%if %{without lto} +%global _lto_cflags %{nil} +%endif + +# FIXME: GCC says there's incompatible pointer casts going on in libavdevice... +%global build_type_safety_c 2 + +%global av_codec_soversion 62 +%global av_device_soversion 62 +%global av_filter_soversion 11 +%global av_format_soversion 62 +%global av_util_soversion 60 +%global swresample_soversion 6 +%global swscale_soversion 9 + +Name: ffmpeg +%global pkg_name %{name}%{?pkg_suffix} + +Version: 8.1.2 +Release: 2%{?dist} +Epoch: 1 +Summary: A complete solution to record, convert and stream audio and video +License: GPL-3.0-or-later +URL: https://ffmpeg.org/ +Source0: https://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz +Source1: https://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz.asc +# https://ffmpeg.org/ffmpeg-devel.asc +# gpg2 --import --import-options import-export,import-minimal ffmpeg-devel.asc > ./ffmpeg.keyring +Source2: ffmpeg.keyring +Source20: enable_decoders +Source21: enable_encoders + +%if %{without all_codecs} +# Fixes for reduced codec selection on free build +Patch1: ffmpeg-codec-choice.patch +%endif +# Allow to build with fdk-aac-free +# See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 +Patch2: ffmpeg-allow-fdk-aac-free.patch + +# HandBrake patches +Patch3: ffmpeg-svt-vp9.patch +Patch4: ffmpeg-HandBrake.patch + +# https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/23211 +Patch5: ffmpeg-vapoursynth-script-soname.patch + +# Add first_dts getter to libavformat for Chromium +# See: https://bugzilla.redhat.com/show_bug.cgi?id=2240127 +# Reference: https://crbug.com/1306560 +Patch1002: ffmpeg-chromium.patch + + +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} + +BuildRequires: AMF-devel +# NOTE: This MUST be done otherwise the binary is NOT REDISTRIBUTABLE. +# Even though FDK itself may be redistributable. +# See: https://ffmpeg.org/doxygen/4.4/md_LICENSE.html +# DO NOT change this to pkgconfig(fdk-aac). +BuildRequires: fdk-aac-free-devel +%if %{with flite} +BuildRequires: flite-devel >= 2.2 +%endif +BuildRequires: game-music-emu-devel +BuildRequires: gcc +BuildRequires: git-core +BuildRequires: gnupg2 +BuildRequires: gsm-devel +BuildRequires: ladspa-devel +BuildRequires: lame-devel +BuildRequires: libgcrypt-devel +BuildRequires: libklvanc-devel +BuildRequires: libmysofa-devel +BuildRequires: libX11-devel +BuildRequires: libXext-devel +BuildRequires: libXv-devel +BuildRequires: make +BuildRequires: nasm +BuildRequires: perl(Pod::Man) +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(aom) +BuildRequires: pkgconfig(aribb24) >= 1.0.3 +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(caca) +BuildRequires: pkgconfig(codec2) +BuildRequires: pkgconfig(dav1d) +BuildRequires: pkgconfig(dvdnav) +BuildRequires: pkgconfig(dvdread) +BuildRequires: pkgconfig(ffnvcodec) +BuildRequires: pkgconfig(flac) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(frei0r) +BuildRequires: pkgconfig(fribidi) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(libilbc) +BuildRequires: pkgconfig(jack) +%if %{with lc3} +BuildRequires: pkgconfig(lc3) >= 1.1.0 +%endif +%if %{with lcms2} +BuildRequires: pkgconfig(lcms2) >= 2.13 +%endif +BuildRequires: pkgconfig(libaribcaption) >= 1.1.1 +BuildRequires: pkgconfig(libass) +BuildRequires: pkgconfig(libbluray) +BuildRequires: pkgconfig(libbs2b) +BuildRequires: pkgconfig(libcdio) +BuildRequires: pkgconfig(libcdio_paranoia) +%if %{with chromaprint} +BuildRequires: pkgconfig(libchromaprint) +%endif +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libjxl) >= 0.7.0 +BuildRequires: pkgconfig(libmodplug) +BuildRequires: pkgconfig(libopenjp2) +BuildRequires: pkgconfig(libopenmpt) +%if %{with placebo} +BuildRequires: pkgconfig(libplacebo) >= 4.192.0 +%endif +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(librabbitmq) +BuildRequires: pkgconfig(librist) +BuildRequires: pkgconfig(librsvg-2.0) +BuildRequires: pkgconfig(libssh) +BuildRequires: pkgconfig(libv4l2) +BuildRequires: pkgconfig(libva) +BuildRequires: pkgconfig(libva-drm) +BuildRequires: pkgconfig(libva-x11) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libzmq) +BuildRequires: pkgconfig(lilv-0) +BuildRequires: pkgconfig(lv2) +BuildRequires: pkgconfig(oapv) +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(openal) +BuildRequires: pkgconfig(opencore-amrnb) +BuildRequires: pkgconfig(OpenCL) +BuildRequires: pkgconfig(openh264) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(rav1e) +BuildRequires: pkgconfig(rubberband) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(shaderc) >= 2019.1 +BuildRequires: pkgconfig(smbclient) +BuildRequires: pkgconfig(snappy) +BuildRequires: pkgconfig(soxr) +BuildRequires: pkgconfig(speex) +BuildRequires: pkgconfig(srt) +BuildRequires: pkgconfig(SvtAv1Enc) >= 0.9.0 +BuildRequires: pkgconfig(tesseract) +BuildRequires: pkgconfig(theora) +BuildRequires: pkgconfig(twolame) +BuildRequires: pkgconfig(vapoursynth) +BuildRequires: pkgconfig(vdpau) +BuildRequires: pkgconfig(vidstab) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vo-amrwbenc) +BuildRequires: pkgconfig(vpx) +BuildRequires: pkgconfig(vulkan) >= 1.3.255 +BuildRequires: pkgconfig(wavpack) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-render) +BuildRequires: pkgconfig(xcb-shape) +BuildRequires: pkgconfig(xcb-shm) +BuildRequires: pkgconfig(xcb-xfixes) +BuildRequires: pkgconfig(zimg) +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(zvbi-0.2) +BuildRequires: texinfo +BuildRequires: xvidcore-devel + +%if %{with dc1394} +BuildRequires: pkgconfig(libavc1394) +BuildRequires: pkgconfig(libdc1394-2) +BuildRequires: pkgconfig(libiec61883) +%endif +%if %{with rtmp} +BuildRequires: librtmp-devel +%endif +%if %{with vpl} +BuildRequires: pkgconfig(vpl) >= 2.6 +%endif +%if %{with evc_main} +BuildRequires: pkgconfig(xevd) +BuildRequires: pkgconfig(xeve) +%else +BuildRequires: pkgconfig(xevdb) +BuildRequires: pkgconfig(xeveb) +%endif +%if %{with x264} +BuildRequires: pkgconfig(x264) +%endif +%if %{with x265} +BuildRequires: pkgconfig(x265) +%endif +%if %{with vmaf} +BuildRequires: pkgconfig(libvmaf) +%endif +# Prevent build from pulling full FDK-AAC builds. +# WARNING: This MUST be ensured otherwise the binary is NOT REDISTRIBUTABLE. +# Even though FDK itself may be redistributable. +# See: https://ffmpeg.org/doxygen/4.4/md_LICENSE.html +# DO NOT remove this. +BuildConflicts: fdk-aac-devel + +Packager: Terra Packaging Team %description -FFmpeg is a complete and free Internet live audio and video -broadcasting solution for Linux/Unix. It also includes a digital -VCR. It can encode in real time in many formats including MPEG1 audio -and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. +FFmpeg is a leading multimedia framework, able to decode, encode, transcode, +mux, demux, stream, filter and play pretty much anything that humans and +machines have created. It supports the most obscure ancient formats up to the +cutting edge. No matter if they were designed by some standards committee, the +community or a corporation. -%package libs -Summary: Metapackage for %{name} libraries -Requires: libavcodec%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavdevice%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavfilter%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavformat%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libpostproc%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswresample%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswscale%{?_isa} = %{epoch}:%{version}-%{release} +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif -%description libs -FFmpeg is a complete and free Internet live audio and video -broadcasting solution for Linux/Unix. It also includes a digital -VCR. It can encode in real time in many formats including MPEG1 audio -and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash. -This metapackage pulls in all the %{name} libraries. +%dnl -------------------------------------------------------------------------------- -%package devel -Summary: Metapackage for %{name} development files -Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} +%if ! %{with freeworld_lavc} + +%if "x%{?pkg_suffix}" != "x" +%package -n %{pkg_name} +Summary: A complete solution to record, convert and stream audio and video +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} + + +%description -n %{pkg_name} +FFmpeg is a leading multimedia framework, able to decode, encode, transcode, +mux, demux, stream, filter and play pretty much anything that humans and +machines have created. It supports the most obscure ancient formats up to the +cutting edge. No matter if they were designed by some standards committee, the +community or a corporation. + +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif + +#/ "x%%{?pkg_suffix}" != "x" +%endif + +%files -n %{pkg_name} +%doc CREDITS README.md +%{_bindir}/ffmpeg +%{_bindir}/ffplay +%{_bindir}/ffprobe +%{_mandir}/man1/ff*.1* +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/ffprobe.xsd +%{_datadir}/%{name}/libvpx-*.ffpreset + +%dnl -------------------------------------------------------------------------------- + +%package -n %{pkg_name}-devel +Summary: Development package for %{name} +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} Requires: pkgconfig -%description devel -FFmpeg is a complete and free Internet live audio and video broadcasting -solution for Linux/Unix. It also includes a digital VCR. It can encode in real -time in many formats. This package contains development files for %{name}. +%description -n %{pkg_name}-devel +FFmpeg is a leading multimedia framework, able to decode, encode, transcode, +mux, demux, stream, filter and play pretty much anything that humans and +machines have created. It supports the most obscure ancient formats up to the +cutting edge. No matter if they were designed by some standards committee, the +community or a corporation. -%package -n libavcodec +%files -n %{pkg_name}-devel +%doc MAINTAINERS doc/APIchanges doc/*.txt +%doc _doc/examples + +%dnl -------------------------------------------------------------------------------- + +%package -n libavcodec%{?pkg_suffix} Summary: FFmpeg codec library -Obsoletes: libavcodec-free < %{epoch}:%{version}-%{release} -Provides: libavcodec-free = %{epoch}:%{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +# We require libopenh264 library, which has a dummy implementation and a real one +# In the event that this is being installed, we want to prefer openh264 if available +Suggests: openh264%{_isa} -%description -n libavcodec -The libavcodec library provides a generic encoding/decoding framework and -contains multiple decoders and encoders for audio, video and subtitle streams, -and several bitstream filters. +%description -n libavcodec%{?pkg_suffix} +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. -%package -n libavcodec-devel +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%files -n libavcodec%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + +%package -n libavcodec%{?pkg_suffix}-devel Summary: Development files for FFmpeg's codec library -Requires: libavcodec%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig -Obsoletes: libavcodec-free-devel < %{epoch}:%{version}-%{release} -Provides: libavcodec-free-devel = %{epoch}:%{version}-%{release} -%description -n libavcodec-devel -The libavcodec library provides a generic encoding/decoding framework and -contains multiple decoders and encoders for audio, video and subtitle streams, -and several bitstream filters. +%description -n libavcodec%{?pkg_suffix}-devel +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. This subpackage contains the headers for FFmpeg libavcodec. -%package -n libavdevice -Summary: FFMpeg devices muxing/demuxing library -Obsoletes: libavdevice-free < %{epoch}:%{version}-%{release} -Provides: libavdevice-free = %{epoch}:%{version}-%{release} +%files -n libavcodec%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavcodec +%{_libdir}/pkgconfig/libavcodec.pc +%{_libdir}/libavcodec.so +%{_mandir}/man3/libavcodec.3* -%description -n libavdevice -Libavdevice is a complementary library to libavf "libavformat". It provides -various "special" platform-specific muxers and demuxers, e.g. for grabbing -devices, audio capture and playback etc. +%dnl -------------------------------------------------------------------------------- -%package -n libavdevice-devel -Summary: Development files for FFMpeg devices muxing/demuxing library -Requires: libavcodec-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavdevice%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavfilter-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavformat-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release} +%package -n libavdevice%{?pkg_suffix} +Summary: FFmpeg device library +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libavdevice%{?pkg_suffix} +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + +%files -n libavdevice%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavdevice.so.%{av_device_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + +%package -n libavdevice%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's device library +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig -Obsoletes: libavdevice-free-devel < %{epoch}:%{version}-%{release} -Provides: libavdevice-free-devel = %{epoch}:%{version}-%{release} -%description -n libavdevice-devel +%description -n libavdevice%{?pkg_suffix}-devel +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + This subpackage contains the headers for FFmpeg libavdevice. -%package -n libavfilter +%files -n libavdevice%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavdevice +%{_libdir}/pkgconfig/libavdevice.pc +%{_libdir}/libavdevice.so +%{_mandir}/man3/libavdevice.3* + +%dnl -------------------------------------------------------------------------------- + +%package -n libavfilter%{?pkg_suffix} Summary: FFmpeg audio and video filtering library -Requires: libavcodec%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavformat%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libpostproc%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswresample%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswscale%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: libavfilter-free < %{epoch}:%{version}-%{release} -Provides: libavfilter-free = %{epoch}:%{version}-%{release} +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} -%description -n libavfilter -The libavfilter library provides a generic audio/video filtering framework -containing several filters, sources and sinks. +%description -n libavfilter%{?pkg_suffix} +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. -%package -n libavfilter-devel +%files -n libavfilter%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavfilter.so.%{av_filter_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + +%package -n libavfilter%{?pkg_suffix}-devel Summary: Development files for FFmpeg's audio/video filter library -Requires: libavcodec-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavfilter%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavformat-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libpostproc-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswresample-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswscale-devel%{?_isa} = %{epoch}:%{version}-%{release} +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix} = %{version}-%{release} Requires: pkgconfig -Obsoletes: libavfilter-free-devel < %{epoch}:%{version}-%{release} -Provides: libavfilter-free-devel = %{epoch}:%{version}-%{release} -%description -n libavfilter-devel +%description -n libavfilter%{?pkg_suffix}-devel +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. + This subpackage contains the headers for FFmpeg libavfilter. -%package -n libavformat +%files -n libavfilter%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavfilter +%{_libdir}/pkgconfig/libavfilter.pc +%{_libdir}/libavfilter.so +%{_mandir}/man3/libavfilter.3* + +%dnl -------------------------------------------------------------------------------- + +%package -n libavformat%{?pkg_suffix} Summary: FFmpeg's stream format library -Obsoletes: libavformat-free < %{epoch}:%{version}-%{release} -Provides: libavformat-free = %{epoch}:%{version}-%{release} +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} -%description -n libavformat -The libavformat library provides a generic framework for multiplexing and -demultiplexing (muxing and demuxing) audio, video and subtitle streams. -It encompasses multiple muxers and demuxers for multimedia container formats. +%description -n libavformat%{?pkg_suffix} +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. -%package -n libavformat-devel +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%files -n libavformat%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavformat.so.%{av_format_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + +%package -n libavformat%{?pkg_suffix}-devel Summary: Development files for FFmpeg's stream format library -Requires: libavcodec-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavformat%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswresample-devel%{?_isa} = %{epoch}:%{version}-%{release} +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig -Obsoletes: libavformat-free-devel < %{epoch}:%{version}-%{release} -Provides: libavformat-free-devel = %{epoch}:%{version}-%{release} -%description -n libavformat-devel +%description -n libavformat%{?pkg_suffix}-devel +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. + This subpackage contains the headers for FFmpeg libavformat. -%package -n libavutil -Summary: FFmpeg's utility library -Obsoletes: libavutil-free < %{epoch}:%{version}-%{release} -Provides: libavutil-free = %{epoch}:%{version}-%{release} +%files -n libavformat%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavformat +%{_libdir}/pkgconfig/libavformat.pc +%{_libdir}/libavformat.so +%{_mandir}/man3/libavformat.3* -%description -n libavutil +%dnl -------------------------------------------------------------------------------- + +%package -n libavutil%{?pkg_suffix} +Summary: FFmpeg's utility library +Group: System/Libraries +Obsoletes: libpostproc%{?pkg_suffix} < 8.0 + +%description -n libavutil%{?pkg_suffix} The libavutil library is a utility library to aid portable multimedia programming. It contains safe portable string functions, random number generators, data structures, additional mathematics functions, cryptography and multimedia related functionality (like enumerations for pixel and sample formats). -%package -n libavutil-devel -Summary: Development files for FFmpeg's utility library -Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release} -Requires: pkgconfig -Obsoletes: libavutil-free-devel < %{epoch}:%{version}-%{release} -Provides: libavutil-free-devel = %{epoch}:%{version}-%{release} +%files -n libavutil%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavutil.so.%{av_util_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + +%package -n libavutil%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's utility library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: pkgconfig +Obsoletes: libpostproc%{?pkg_suffix}-devel < 8.0 + +%description -n libavutil%{?pkg_suffix}-devel +The libavutil library is a utility library to aid portable multimedia +programming. It contains safe portable string functions, random +number generators, data structures, additional mathematics functions, +cryptography and multimedia related functionality (like enumerations +for pixel and sample formats). -%description -n libavutil-devel This subpackage contains the headers for FFmpeg libavutil. -%package -n libpostproc -Summary: FFmpeg post-processing library -Obsoletes: libpostproc-free < %{epoch}:%{version}-%{release} -Provides: libpostproc-free = %{epoch}:%{version}-%{release} +%files -n libavutil%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavutil +%{_libdir}/pkgconfig/libavutil.pc +%{_libdir}/libavutil.so +%{_mandir}/man3/libavutil.3* -%description -n libpostproc -A library with video postprocessing filters, such as deblocking and -deringing filters, noise reduction, automatic contrast and brightness -correction, linear/cubic interpolating deinterlacing. +%dnl -------------------------------------------------------------------------------- -%package -n libpostproc-devel -Summary: Development files for the FFmpeg post-processing library -Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libpostproc%{?_isa} = %{epoch}:%{version}-%{release} -Requires: pkgconfig -Obsoletes: libpostproc-free-devel < %{epoch}:%{version}-%{release} -Provides: libpostproc-free-devel = %{epoch}:%{version}-%{release} - -%description -n libpostproc-devel -This subpackage contains the headers for FFmpeg libpostproc. - -%package -n libswresample +%package -n libswresample%{?pkg_suffix} Summary: FFmpeg software resampling library -Requires: libavutil%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: libavresemple < %{epoch}:%{version}-%{release} -Provides: libavresemple = %{epoch}:%{version}-%{release} -Obsoletes: libswresample-free < %{epoch}:%{version}-%{release} -Provides: libswresample-free = %{epoch}:%{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} -%description -n libswresample +%description -n libswresample%{?pkg_suffix} The libswresample library performs audio conversion between different sample rates, channel layout and channel formats. -%package -n libswresample-devel -Summary: Development files for the FFmpeg software resampling library -Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswresample%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: libavresemple-devel < %{epoch}:%{version}-%{release} -Provides: libavresemple-devel = %{epoch}:%{version}-%{release} -Obsoletes: libswresample-free-devel < %{epoch}:%{version}-%{release} -Provides: libswresample-free-devel = %{epoch}:%{version}-%{release} +%files -n libswresample%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libswresample.so.%{swresample_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + +%package -n libswresample%{?pkg_suffix}-devel +Summary: Development files for the FFmpeg software resampling library +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libswresample%{?pkg_suffix}-devel +The libswresample library performs audio conversion between different +sample rates, channel layout and channel formats. -%description -n libswresample-devel This subpackage contains the headers for FFmpeg libswresample. -%package -n libswscale -Summary: FFmpeg image scaling and colorspace/pixel conversion library -Obsoletes: libswscale-free < %{epoch}:%{version}-%{release} -Provides: libswscale-free = %{epoch}:%{version}-%{release} +%files -n libswresample%{?pkg_suffix}-devel +%{_includedir}/%{name}/libswresample +%{_libdir}/pkgconfig/libswresample.pc +%{_libdir}/libswresample.so +%{_mandir}/man3/libswresample.3* -%description -n libswscale +%dnl -------------------------------------------------------------------------------- + +%package -n libswscale%{?pkg_suffix} +Summary: FFmpeg image scaling and colorspace/pixel conversion library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libswscale%{?pkg_suffix} The libswscale library performs image scaling and colorspace and pixel format conversion operations. -%package -n libswscale-devel -Summary: Development files for FFmpeg's image scaling and colorspace library -Requires: libavutil-devel%{?_isa} = %{epoch}:%{version}-%{release} -Requires: libswscale%{?_isa} = %{epoch}:%{version}-%{release} -Obsoletes: libswscale-free-devel < %{epoch}:%{version}-%{release} -Provides: libswscale-free-devel = %{epoch}:%{version}-%{release} +%files -n libswscale%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libswscale.so.%{swscale_soversion}{,.*} + +%dnl -------------------------------------------------------------------------------- + +%package -n libswscale%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's image scaling and colorspace library +Provides: libswscale%{?pkg_suffix}-devel = %{version}-%{release} +Conflicts: libswscale%{?pkg_suffix}-devel < %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libswscale%{?pkg_suffix}-devel +The libswscale library performs image scaling and colorspace and +pixel format conversion operations. -%description -n libswscale-devel This subpackage contains the headers for FFmpeg libswscale. +%files -n libswscale%{?pkg_suffix}-devel +%{_includedir}/%{name}/libswscale +%{_libdir}/pkgconfig/libswscale.pc +%{_libdir}/libswscale.so +%{_mandir}/man3/libswscale.3* + +%endif +# freeworld_lavc bcond + +%dnl -------------------------------------------------------------------------------- + +%if %{with freeworld_lavc} +%package -n libavcodec-freeworld +Summary: FFmpeg codec library - freeworld overlay +Requires: libavutil%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +Requires: libswresample%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +Supplements: libavcodec%{?basepkg_suffix}%{_isa} >= %{version}-%{release} +# We require libopenh264 library, which has a dummy implementation and a real one +# In the event that this is being installed, we want to install this version +Requires: openh264%{_isa} + +%description -n libavcodec-freeworld +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. + +This build includes the full range of codecs offered by ffmpeg. + +%files -n libavcodec-freeworld +%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf +%{_libdir}/%{name}/libavcodec.so.%{av_codec_soversion}{,.*} + +# Re-enable ldconfig_scriptlets macros +%{!?ldconfig:%global ldconfig /sbin/ldconfig} +%ldconfig_scriptlets -n libavcodec-freeworld + +%endif + +%dnl -------------------------------------------------------------------------------- + %prep -%autosetup -p1 +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -# Uncomment to enable debugging while configuring -#sed -i -e 's|#!/bin/sh|#!/bin/sh -x|g' configure +%autosetup -S git_am +install -m 0644 %{SOURCE20} enable_decoders +install -m 0644 %{SOURCE21} enable_encoders +# fix -O3 -g in host_cflags +sed -i "s|check_host_cflags -O3|check_host_cflags %{optflags}|" configure +install -m0755 -d _doc/examples +cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ -%build +%conf %set_build_flags +# This is not a normal configure script, don't use %%configure ./configure \ - --arch=%{_target_cpu} \ + --prefix=%{_prefix} \ --bindir=%{_bindir} \ --datadir=%{_datadir}/%{name} \ + --docdir=%{_docdir}/%{name} \ + --incdir=%{_includedir}/%{name} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --arch=%{_target_cpu} \ + --optflags="%{build_cflags}" \ + --extra-ldflags="%{build_ldflags}" \ + --disable-htmlpages \ --disable-static \ --disable-stripping \ + --enable-pic \ + --enable-shared \ + --enable-gpl \ + --enable-version3 \ --enable-amf \ --enable-avcodec \ --enable-avdevice \ @@ -439,15 +748,21 @@ This subpackage contains the headers for FFmpeg libswscale. %else --disable-chromaprint \ %endif - --enable-decklink \ + --disable-cuda-nvcc \ +%if %{with ffnvcodec} + --enable-cuvid \ +%endif + --disable-decklink \ --enable-frei0r \ --enable-gcrypt \ --enable-gmp \ - --enable-gpl \ + --enable-gnutls \ --enable-gray \ --enable-iconv \ --enable-ladspa \ +%if %{with lcms2} --enable-lcms2 \ +%endif --enable-libaom \ --enable-libaribb24 \ --enable-libaribcaption \ @@ -458,30 +773,33 @@ This subpackage contains the headers for FFmpeg libswscale. --enable-libcdio \ --enable-libcodec2 \ --enable-libdav1d \ - --enable-libdavs2 \ + --disable-libdavs2 \ +%if %{with dc1394} --enable-libdc1394 \ - --enable-libdrm \ +%endif --enable-libdvdnav \ --enable-libdvdread \ --enable-libfdk-aac \ +%if %{with flite} + --enable-libflite \ +%endif --enable-libfontconfig \ --enable-libfreetype \ --enable-libfribidi \ --enable-libgme \ - --enable-libgsm \ --enable-libharfbuzz \ + --enable-libgsm \ +%if %{with dc1394} --enable-libiec61883 \ +%endif --enable-libilbc \ --enable-libjack \ --enable-libjxl \ --enable-libklvanc \ - --enable-libkvazaar \ - --enable-liblc3 \ --disable-liblensfun \ -%if %{with lcevcdec} - --enable-liblcevc-dec \ -%else --disable-liblcevc-dec \ +%if %{with lc3} + --enable-liblc3 \ %endif --enable-libmodplug \ --enable-libmp3lame \ @@ -490,11 +808,14 @@ This subpackage contains the headers for FFmpeg libswscale. --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --disable-libopencv \ + --enable-liboapv \ --enable-libopenh264 \ --enable-libopenjpeg \ --enable-libopenmpt \ --enable-libopus \ +%if %{with placebo} --enable-libplacebo \ +%endif --enable-libpulse \ --enable-libqrencode \ --disable-libquirc \ @@ -502,7 +823,9 @@ This subpackage contains the headers for FFmpeg libswscale. --enable-librav1e \ --enable-librist \ --enable-librsvg \ +%if %{with librtmp} --enable-librtmp \ +%endif --enable-librubberband \ --enable-libshaderc \ --disable-libshine \ @@ -517,39 +840,57 @@ This subpackage contains the headers for FFmpeg libswscale. --enable-libtesseract \ --enable-libtheora \ --disable-libtorch \ + --disable-libuavs3d \ --enable-libtwolame \ - --enable-libuavs3d \ --enable-libv4l2 \ --enable-libvidstab \ +%if %{with vmaf} + --enable-libvmaf \ +%endif --enable-libvo-amrwbenc \ --enable-libvorbis \ +%if %{with vpl} + --enable-libvpl \ +%endif --enable-libvpx \ - --enable-libvvenc \ --enable-libwebp \ +%if %{with x264} --enable-libx264 \ +%endif +%if %{with x265} --enable-libx265 \ - --enable-libxavs2 \ - --enable-libxavs \ +%endif + --disable-libxavs2 \ + --disable-libxavs \ --enable-libxcb \ --enable-libxcb-shape \ --enable-libxcb-shm \ --enable-libxcb-xfixes \ - --enable-libxevd \ +%if %{with evc_main} --enable-libxeve \ + --enable-libxevd \ +%else + --enable-libxeveb \ + --enable-libxevdb \ +%endif --enable-libxml2 \ --enable-libxvid \ --enable-libzimg \ --enable-libzmq \ --enable-libzvbi \ +%if %{with lto} + --enable-lto \ +%endif --enable-lv2 \ --enable-lzma \ - --enable-nonfree \ --enable-manpages \ +%if %{with ffnvcodec} + --enable-nvdec \ + --enable-nvenc \ +%endif --enable-openal \ - --enable-opencl \ - --enable-opengl \ - --enable-openssl \ - --enable-postproc \ + --disable-openssl \ + --enable-pthreads \ --enable-sdl2 \ --enable-shared \ --enable-swresample \ @@ -557,140 +898,486 @@ This subpackage contains the headers for FFmpeg libswscale. --enable-v4l2-m2m \ --enable-vaapi \ --enable-vapoursynth \ - --enable-version3 \ --enable-vdpau \ --enable-vulkan \ --enable-xlib \ --enable-zlib \ - --extra-ldflags="%{build_ldflags}" \ - --incdir=%{_includedir} \ - --libdir=%{_libdir} \ - --mandir=%{_mandir} \ - --optflags="%{build_cflags}" \ - --prefix=%{_prefix} \ - --shlibdir=%{_libdir} \ -%ifarch x86_64 aarch64 - --enable-cuda-llvm \ - --enable-cuda-nvcc \ - --enable-cuvid \ - --enable-ffnvcodec \ - --enable-nvdec \ - --enable-nvenc \ - --extra-cflags="-I%{_includedir}/cuda" \ +%if %{without all_codecs} + --enable-muxers \ + --enable-demuxers \ + --enable-hwaccels \ + --disable-encoders \ + --disable-decoders \ + --disable-decoder="h264,hevc,vc1,vvc" \ + --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf +cp -pa %{buildroot}%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} %{buildroot}%{_libdir}/%{name} +# Drop unneeded stuff +rm -f %{buildroot}%{_libdir}/*.* +rm -rf %{buildroot}%{_libdir}/pkgconfig +rm -rf %{buildroot}%{_includedir} +rm -rf %{buildroot}%{_bindir} +rm -rf %{buildroot}%{_datadir} +%endif -%files devel -%doc doc/APIchanges doc/*.txt -%doc doc/html doc/examples - -%files -n libavcodec -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavcodec.so.%{avcodec_soversion}* - -%files -n libavcodec-devel -%{_includedir}/libavcodec -%{_libdir}/pkgconfig/libavcodec.pc -%{_libdir}/libavcodec.so -%{_mandir}/man3/libavcodec.3* - -%files -n libavdevice -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavdevice.so.%{avdevice_soversion}* - -%files -n libavdevice-devel -%{_includedir}/libavdevice -%{_libdir}/pkgconfig/libavdevice.pc -%{_libdir}/libavdevice.so -%{_mandir}/man3/libavdevice.3* - -%files -n libavfilter -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavfilter.so.%{avfilter_soversion}* - -%files -n libavfilter-devel -%{_includedir}/libavfilter -%{_libdir}/pkgconfig/libavfilter.pc -%{_libdir}/libavfilter.so -%{_mandir}/man3/libavfilter.3* - -%files -n libavformat -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavformat.so.%{avformat_soversion}* - -%files -n libavformat-devel -%{_includedir}/libavformat -%{_libdir}/pkgconfig/libavformat.pc -%{_libdir}/libavformat.so -%{_mandir}/man3/libavformat.3* - -%files -n libavutil -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavutil.so.%{avutil_soversion}* - -%files -n libavutil-devel -%{_includedir}/libavutil -%{_libdir}/pkgconfig/libavutil.pc -%{_libdir}/libavutil.so -%{_mandir}/man3/libavutil.3* - -%files -n libpostproc -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libpostproc.so.%{postproc_soversion}* - -%files -n libpostproc-devel -%{_includedir}/libpostproc -%{_libdir}/pkgconfig/libpostproc.pc -%{_libdir}/libpostproc.so - -%files -n libswresample -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libswresample.so.%{swresample_soversion}* - -%files -n libswresample-devel -%{_includedir}/libswresample -%{_libdir}/pkgconfig/libswresample.pc -%{_libdir}/libswresample.so -%{_mandir}/man3/libswresample.3* - -%files -n libswscale -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libswscale.so.%{swscale_soversion}* - -%files -n libswscale-devel -%{_includedir}/libswscale -%{_libdir}/pkgconfig/libswscale.pc -%{_libdir}/libswscale.so -%{_mandir}/man3/libswscale.3* %changelog -%autochangelog +* Sun May 31 2026 Gilver E. - 1:8.1.1-1 +- Rebased build onto Fedora spec with full redistributable codec support +- Ported to Terra with permission + +* Sat May 09 2026 Dominik Mierzejewski - 8.1.1-1 +- Update to 8.1.1 +- Drop merged patch + +* Wed Apr 15 2026 Nicolas Chauvet - 8.0.1-7 +- Rebuilt for vmaf-3.1.0 + +* Thu Mar 19 2026 Nicolas Chauvet - 8.0.1-6 +- Rebuilt for libplacebo + +* Mon Mar 09 2026 Dominik Mierzejewski - 8.0.1-5 +- Rebuilt for libvpx 1.16.0 + +* Mon Feb 16 2026 Nick White - 8.0.1-4 +- Enable mov_text encoder and decoder + +* Fri Jan 16 2026 Fedora Release Engineering - 8.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Thu Dec 04 2025 Marcin Juszkiewicz - 8.0.1-2 +- disable dc1394 and ffnvcodec on risc-v + +* Fri Nov 21 2025 Dominik Mierzejewski - 8.0.1-1 +- Update to 8.0.1 (resolves rhbz#2416044) +- Split configure step to conf stage + +* Fri Nov 14 2025 Neal Gompa - 8.0-2 +- Disable lc3 only on RHEL 10 + +* Sun Nov 02 2025 Neal Gompa - 8.0-1 +- Rebase to version 8.0 + +* Sun Nov 02 2025 Dominik Mierzejewski - 7.1.2-3 +- Re-enable openal support (dropped by accident in commit 5917b714, resolves rhbz#2404091) + +* Thu Oct 02 2025 Robert-André Mauchin - 7.1.2-2 +- Rebuild for svt-av1 soname bump + +* Wed Sep 24 2025 Simone Caronni - 7.1.2-1 +- Update to 7.1.2. +- Enable VANC processing for SDI. +- Explicitly list all implicitly enabled/disabled options. + +* Tue Aug 26 2025 Neal Gompa - 7.1.1-10 +- Disable all subpackages except libavcodec-freeworld with the freeworld bcond + +* Mon Aug 25 2025 Neal Gompa - 7.1.1-9 +- Enable support for MPEG-5/EVC + +* Thu Aug 21 2025 Neal Gompa - 7.1.1-8 +- Reorganize spec to group subpackage definitions together +- Add freeworld conditional for third-party builds +- Drop unneeded scriptlets + +* Fri Aug 01 2025 Neal Gompa - 7.1.1-7 +- Always verify sources + +* Tue Jul 29 2025 Nicolas Chauvet - 7.1.1-6 +- Rebuilt for libplacebo + +* Wed Jul 23 2025 Fedora Release Engineering - 7.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jun 13 2025 Neal Gompa - 7.1.1-4 +- Switch to regular upstream sources for package build +- Enable more codecs + +* Sat Mar 22 2025 Songsong Zhang - 7.1.1-3 +- Add missing source files for riscv64 + +* Thu Mar 13 2025 Fabio Valentini - 7.1.1-2 +- Rebuild for noopenh264 2.6.0 + +* Thu Mar 06 2025 Dominik Mierzejewski - 7.1.1-1 +- Update to 7.1.1 (resolves rhbz#2349351) +- Enable LC3 codec via liblc3 +- Backport fix for CVE-2025-22921 (resolves rhbz#2346558) + +* Fri Feb 07 2025 Yaakov Selkowitz - 7.1-1 +- Rebase to 7.1 (rhbz#2273572) + +* Wed Feb 05 2025 Robert-André Mauchin - 7.0.2-13 +- Rebuilt for aom 3.11.0 + +* Sun Feb 02 2025 Sérgio Basto - 7.0.2-12 +- Rebuild for jpegxl (libjxl) 0.11.1 + +* Wed Jan 29 2025 Simone Caronni - 7.0.2-11 +- Rebuild for updated VapourSynth. + +* Thu Jan 16 2025 Fedora Release Engineering - 7.0.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 09 2025 Michel Lind - 7.0.2-9 +- Rebuilt for rubberband 4 + +* Tue Nov 12 2024 Sandro Mani - 7.0.2-8 +- Rebuild (tesseract) + +* Mon Oct 07 2024 Yaakov Selkowitz - 7.0.2-7 +- Properly enable aribb24/libaribcaption +- Disable VANC dependency as it depends on decklink + +* Mon Oct 07 2024 Neal Gompa - 7.0.2-6 +- Enable SDI data processing (Kernel Labs VANC) processing +- Enable Japanese DVD subtitles/teletext (aribb24/libaribcaption) + +* Mon Oct 07 2024 Yaakov Selkowitz - 7.0.2-5 +- Properly enable noopenh264 + +* Wed Oct 02 2024 Neal Gompa - 7.0.2-4 +- Fix chromaprint bcond + +* Wed Sep 25 2024 Michel Lind - 7.0.2-3 +- Disable omxil completely, it's now retired +- Rebuild for tesseract-5.4.1-3 (soversion change from 5.4.1 to just 5.4) + +* Fri Sep 20 2024 Neal Gompa - 7.0.2-2 +- Rebuild for newer ffnvcodec + +* Fri Sep 06 2024 Neal Gompa - 7.0.2-1 +- Rebase to 7.0.2 (rhbz#2273572) +- Drop OpenH264 dlopen headers as we use noopenh264 now +- Use modern bconds + +* Sat Aug 24 2024 Fabio Valentini - 6.1.2-1 +- Update to 6.1.2 + +* Sat Jul 20 2024 Neal Gompa - 6.1.1-19 +- Backport fixes for Mesa 24.0.6+ / 21.1.4+ changes for VA-API + +* Wed Jul 17 2024 Fedora Release Engineering - 6.1.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jul 16 2024 Nicolas Chauvet - 6.1.1-17 +- Rebuilt for libplacebo/vmaf + +* Wed Jun 19 2024 Dominik Mierzejewski - 6.1.1-16 +- Backport fix for CVE-2023-49528 + +* Thu Jun 13 2024 Sandro Mani - 6.1.1-15 +- Rebuild for tesseract-5.4.1 + +* Wed May 29 2024 Robert-André Mauchin - 6.1.1-14 +- Rebuild for svt-av1 2.1.0 + +* Wed May 22 2024 Simone Caronni - 6.1.1-13 +- Rebuild for updated VapourSynth. + +* Tue Apr 23 2024 Kalev Lember - 6.1.1-12 +- Stop using bundled openh264 headers in F40+ and build against noopenh264 +- Backport a fix to build with Vulkan headers >= 1.3.280.0 + +* Wed Mar 13 2024 Sérgio Basto - 6.1.1-11 +- Rebuild for jpegxl (libjxl) 0.10.2 + +* Tue Mar 12 2024 Dominik Mierzejewski - 6.1.1-10 +- Enable drawtext filter (requires libharfbuzz) + +* Wed Feb 14 2024 Sérgio Basto - 6.1.1-9 +- Rebuild for jpegxl (libjxl) 0.9.2 with soname bump + +* Wed Feb 07 2024 Pete Walter - 6.1.1-8 +- Rebuild for libvpx 1.14.x + +* Sun Jan 28 2024 Sandro Mani - 6.1.1-7 +- Rebuild (tesseract) + +* Wed Jan 24 2024 Fedora Release Engineering - 6.1.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 6.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 15 2024 Neal Gompa - 6.1.1-4 +- Add missing files for some of the libraries to fix riscv64 builds + +* Fri Jan 12 2024 Fabio Valentini - 6.1.1-3 +- Rebuild for dav1d 1.3.0 + +* Fri Jan 05 2024 Florian Weimer - 6.1.1-2 +- Backport upstream patch to fix C compatibility issues + +* Thu Jan 04 2024 Neal Gompa - 6.1.1-1 +- Update to 6.1.1 + +* Thu Jan 04 2024 Neal Gompa - 6.1-1 +- Rebase to 6.1 + +* Wed Dec 06 2023 Kalev Lember - 6.0.1-2 +- Prefer openh264 over noopenh264 +- Backport upstream patch to drop openh264 runtime version checks + +* Sat Nov 11 2023 Neal Gompa - 6.0.1-1 +- Update to 6.0.1 +- Add ffmpeg chromium support patch (#2240127) +- Use git to apply patches + +* Fri Nov 10 2023 Neal Gompa - 6.0-16 +- Add patches to support enhanced RTMP and AV1 encoding through VA-API +- Force AAC decoding through fdk-aac-free + +* Sun Oct 08 2023 Dominik Mierzejewski - 6.0-15 +- Backport upstream patch to fix segfault when passing non-existent filter + option (rfbz#6773) + +* Sat Oct 07 2023 Sandro Mani - 6.0-14 +- Rebuild (tesseract) + +* Fri Sep 29 2023 Nicolas Chauvet - 6.0-13 +- Rebuilt for libplacebo + +* Fri Aug 25 2023 Dominik Mierzejewski - 6.0-12 +- Backport upstream patch to fix assembly with binutils 2.41. + +* Sat Aug 05 2023 Richard Shaw - 6.0-11 +- Rebuild for codec2. + +* Fri Jul 28 2023 Dominik Mierzejewski - 6.0-10 +- Rebuild for libplacebo + +* Wed Jul 19 2023 Fedora Release Engineering - 6.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jul 14 2023 Sandro Mani - 6.0-8 +- Rebuild (tesseract) + +* Sun Jun 18 2023 Sérgio Basto - 6.0-7 +- Mass rebuild for jpegxl-0.8.1 + +* Mon Jun 12 2023 Dominik Mierzejewski - 6.0-6 +- Rebuild for libdc1394 + +* Thu Apr 06 2023 Adam Williamson - 6.0-5 +- Rebuild (tesseract) again + +* Mon Apr 03 2023 Neal Gompa - 6.0-4 +- Include RISC-V support sources in the tarball + +* Mon Apr 03 2023 Sandro Mani - 6.0-3 +- Rebuild (tesseract) + +* Wed Mar 22 2023 Nicolas Chauvet - 6.0-2 +- Backport upstream patches for libplacebo support + +* Sun Mar 12 2023 Neal Gompa - 6.0-1 +- Rebase to version 6.0 +- Enable SVT-AV1 on all architectures +- Use oneVPL for QSV +- Switch to SPDX license identifiers + +* Wed Feb 15 2023 Neal Gompa - 5.1.2-12 +- Enable support for the RIST protocol through librist + +* Wed Feb 15 2023 Tom Callaway - 5.1.2-11 +- bootstrap off + +* Wed Feb 15 2023 Tom Callaway - 5.1.2-10 +- rebuild for libvpx (bootstrap) + +* Mon Feb 13 2023 Yaakov Selkowitz - 5.1.2-9 +- Enable lcms2, lv2, placebo, rabbitmq, xv + +* Mon Feb 13 2023 Neal Gompa - 5.1.2-8 +- Disable flite for RHEL 9 as flite is too old + +* Fri Feb 03 2023 Yaakov Selkowitz - 5.1.2-7 +- Properly enable caca, flite, gme, iec61883 + +* Mon Jan 30 2023 Neal Gompa - 5.1.2-6 +- Enable more approved codecs + +* Thu Jan 19 2023 Fedora Release Engineering - 5.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Jan 15 2023 Yaakov Selkowitz - 5.1.2-4 +- Properly enable libzvbi_teletext decoder + +* Fri Dec 23 2022 Sandro Mani - 5.1.2-3 +- Rebuild (tesseract) + +* Wed Nov 09 2022 Neal Gompa - 5.1.2-2 +- Unconditionally enable Vulkan + +* Wed Oct 12 2022 Neal Gompa - 5.1.2-1 +- Update to version 5.1.2 +- Refresh dlopen headers and patch for OpenH264 2.3.1 + +* Sun Sep 04 2022 Neal Gompa - 5.1.1-1 +- Update to version 5.1.1 +- Refresh dlopen headers for OpenH264 2.3.0 +- Disable omxil and crystalhd for RHEL + +* Wed Aug 24 2022 Neal Gompa - 5.1-1 +- Rebase to version 5.1 + +* Thu Jul 21 2022 Fedora Release Engineering - 5.0.1-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 09 2022 Richard Shaw - 5.0.1-15 +- Rebuild for codec2 1.0.4. + +* Fri Jul 08 2022 Sandro Mani - 5.0.1-14 +- Rebuild (tesseract) + +* Wed Jun 22 2022 Robert-André Mauchin - 5.0.1-13 +- Rebuilt for new aom, dav1d, rav1e and svt-av1 + +* Fri Jun 17 2022 Mamoru TASAKA - 5.0.1-12 +- Rebuild for new srt + +* Thu Jun 09 2022 Neal Gompa - 5.0.1-11 +- Ensure libavdevice-devel is pulled in with devel metapackage + +* Sun Jun 05 2022 Neal Gompa - 5.0.1-10 +- Update for OpenH264 2.2.0 + +* Tue May 31 2022 Neal Gompa - 5.0.1-9 +- Rebuild for ilbc-3.0.4 + +* Thu May 26 2022 Benjamin A. Beasley - 5.0.1-9 +- Rebuild for ilbc-3.0.4 (bootstrap) + +* Sat May 21 2022 Sandro Mani - 5.0.1-8 +- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 + +* Fri May 20 2022 Sandro Mani - 5.0.1-7 +- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 + +* Sun Apr 24 2022 Neal Gompa - 5.0.1-6 +- Add VAAPI encoders for mjpeg, mpeg2, vp8, and vp9 +- Ensure hwaccels for enabled codecs are turned on + +* Tue Apr 19 2022 Neal Gompa - 5.0.1-5 +- Drop unused enca build dependency + +* Tue Apr 19 2022 Neal Gompa - 5.0.1-4 +- Use shaderc for Vulkan support + +* Mon Apr 18 2022 Neal Gompa - 5.0.1-3 +- Fix codec2 support enablement + +* Mon Apr 18 2022 Dominik Mierzejewski - 5.0.1-2 +- Properly enable decoding and encoding ilbc + +* Tue Apr 12 2022 Neal Gompa - 5.0.1-1 +- Update to 5.0.1 to fix crashes with muxing MP4 video (#2073980) + +* Tue Apr 05 2022 Dominik Mierzejewski - 5.0-11 +- Enable OpenCL acceleration +- be explicit about enabled external features in configure +- enable gcrypt +- drop duplicate CFLAGS and use Fedora LDFLAGS + +* Thu Mar 10 2022 Sandro Mani - 5.0-10 +- Rebuild for tesseract 5.1.0 + +* Tue Mar 08 2022 Neal Gompa - 5.0-9 +- Drop ffmpeg chromium support patch (#2061392) + +* Fri Feb 18 2022 Neal Gompa - 5.0-8 +- Add patch to return correct AVERROR with bad OpenH264 versions + +* Fri Feb 18 2022 Neal Gompa - 5.0-7 +- Update OpenH264 dlopen patch to split dlopen code into c and h files + +* Thu Feb 17 2022 Neal Gompa - 5.0-6 +- Update OpenH264 dlopen patch to use AVERROR return codes correctly + +* Tue Feb 15 2022 Neal Gompa - 5.0-5 +- Disable hardware decoders due to broken failure modes + +* Tue Feb 15 2022 Neal Gompa - 5.0-4 +- Add support for dlopening OpenH264 +- Add tarball scripts as sources + +* Sun Feb 13 2022 Neal Gompa - 5.0-3 +- Enable more QSV and V4L2M2M codecs + +* Sun Feb 13 2022 Neal Gompa - 5.0-2 +- Enable support for more hardware codecs + +* Fri Feb 11 2022 Andreas Schneider - 5.0-1 +- Initial import (fedora#2051008) diff --git a/anda/multimedia/ffmpeg/pre.rhai b/anda/multimedia/ffmpeg/pre.rhai new file mode 100644 index 0000000000..474b0ed137 --- /dev/null +++ b/anda/multimedia/ffmpeg/pre.rhai @@ -0,0 +1,5 @@ +let key = get("https://ffmpeg.org/ffmpeg-devel.asc"); +let dir = sub(`/[^/]+$`, "", __script_path); + +open_file(`${dir}/ffmpeg-devel.asc`, "w").write(key); +sh(`gpg2 --import --import-options import-export,import-minimal ffmpeg-devel.asc > ./ffmpeg.keyring`, #{ "cwd": dir }); diff --git a/anda/multimedia/gpu-screen-recorder/gpu-screen-recorder.spec b/anda/multimedia/gpu-screen-recorder/gpu-screen-recorder.spec index c27a809e9c..819b1be888 100644 --- a/anda/multimedia/gpu-screen-recorder/gpu-screen-recorder.spec +++ b/anda/multimedia/gpu-screen-recorder/gpu-screen-recorder.spec @@ -1,5 +1,5 @@ Name: gpu-screen-recorder -Version: 5.13.8 +Version: 5.13.9 Release: 1%{?dist} Summary: A shadowplay-like screen recorder for Linux @@ -33,7 +33,7 @@ BuildRequires: pkgconfig(vulkan) Requires(post): libcap BuildRequires: systemd-rpm-macros -Packager: Willow Reed +Packager: Cypress Reed %description Shadowplay-like screen recorder for Linux. Uses GPU acceleration to record in H.264, HEVC, AV1, VP8, or VP9. @@ -73,8 +73,11 @@ Shadowplay-like screen recorder for Linux. Uses GPU acceleration to record in H. %{_mandir}/man1/%{name}.1* %changelog -* Sun Mar 15 2026 Willow C Reed +* Thu Jun 04 2026 Cypress Reed +- Update email and name (was Willow Reed or Willow C Reed) (I'm official now!) + +* Sun Mar 15 2026 Cypress Reed - Fix package source -* Fri Jan 02 2026 Willow Reed +* Fri Jan 02 2026 Cypress Reed - Initial commit \ No newline at end of file diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugin-icamerasrc/gstreamer1-plugin-icamerasrc.spec b/anda/multimedia/gstreamer1/gstreamer1-plugin-icamerasrc/gstreamer1-plugin-icamerasrc.spec index 6b3e12d881..f408fc5dd6 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugin-icamerasrc/gstreamer1-plugin-icamerasrc.spec +++ b/anda/multimedia/gstreamer1/gstreamer1-plugin-icamerasrc/gstreamer1-plugin-icamerasrc.spec @@ -1,5 +1,5 @@ -%global fulldate 2026-04-23 -%global commit 867c5b6ab7925c9b69b8374873a832266d97d7e5 +%global fulldate 2026-06-17 +%global commit fe01f98a09b7b864c36ef60a146cdc4e1bf125a6 %global commit_date %(echo %{fulldate} | sed 's/-//g') %global shortcommit %(c=%{commit}; echo ${c:0:7}) diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/VERSION_ffmpeg.txt b/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/VERSION_ffmpeg.txt index ce0abf6b25..13335a1cf3 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/VERSION_ffmpeg.txt +++ b/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/VERSION_ffmpeg.txt @@ -1 +1 @@ -7.1.2 +8.1.2 diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/gstreamer1-plugin-libav.spec b/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/gstreamer1-plugin-libav.spec index 87884bd8f5..54b2fed8f5 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/gstreamer1-plugin-libav.spec +++ b/anda/multimedia/gstreamer1/gstreamer1-plugin-libav/gstreamer1-plugin-libav.spec @@ -1,6 +1,6 @@ Name: gstreamer1-plugin-libav -Version: 1.28.3 -Release: 1%{?dist} +Version: 1.28.4 +Release: 2%{?dist} Epoch: 1 Summary: GStreamer Libav plugin License: LGPL-2.0-or-later @@ -48,7 +48,7 @@ find %{buildroot} -name "*.la" -delete %files %license COPYING -%doc AUTHORS NEWS README.md +%doc README.md %{_libdir}/gstreamer-1.0/libgstlibav.so %changelog diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/LCEVCdec_VERSION.txt b/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/LCEVCdec_VERSION.txt index c4e41f9459..6aba2b245a 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/LCEVCdec_VERSION.txt +++ b/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/LCEVCdec_VERSION.txt @@ -1 +1 @@ -4.0.3 +4.2.0 diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/gstreamer1-plugins-bad.spec b/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/gstreamer1-plugins-bad.spec index a565222efe..50e9ffa7b8 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/gstreamer1-plugins-bad.spec +++ b/anda/multimedia/gstreamer1/gstreamer1-plugins-bad/gstreamer1-plugins-bad.spec @@ -3,8 +3,8 @@ %global majorminor 1.0 Name: gstreamer1-plugins-bad -Version: 1.28.3 -Release: 1%{?dist} +Version: 1.28.4 +Release: 2%{?dist} Epoch: 2 Summary: GStreamer streaming media framework "bad" plugins License: LGPL-2.0-or-later and LGPL-2.0-only diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x264.txt b/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x264.txt index cd71b913c4..f899867926 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x264.txt +++ b/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x264.txt @@ -1 +1 @@ -0.165 +0^20250910git0480cb0 \ No newline at end of file diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x265.txt b/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x265.txt index 8a36cd142b..8012ebbba2 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x265.txt +++ b/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/VERSION_x265.txt @@ -1 +1 @@ -4.1 \ No newline at end of file +4.2 \ No newline at end of file diff --git a/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/gstreamer1-plugins-ugly.spec b/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/gstreamer1-plugins-ugly.spec index 6698a5cd00..cb82af2a41 100644 --- a/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/gstreamer1-plugins-ugly.spec +++ b/anda/multimedia/gstreamer1/gstreamer1-plugins-ugly/gstreamer1-plugins-ugly.spec @@ -1,7 +1,7 @@ %global majorminor 1.0 Name: gstreamer1-plugins-ugly -Version: 1.28.2 +Version: 1.28.4 Release: 1%{?dist} Epoch: 2 Summary: GStreamer streaming media framework "ugly" plugins diff --git a/anda/multimedia/vgmstream/vgmstream.spec b/anda/multimedia/vgmstream/vgmstream.spec index 53ffcf04b9..be6942fe2d 100644 --- a/anda/multimedia/vgmstream/vgmstream.spec +++ b/anda/multimedia/vgmstream/vgmstream.spec @@ -1,6 +1,6 @@ -%global commit d73e324a6cf283810c9629558a9bdec237dfb37b +%global commit c7ab409b3f912cf87c59f05b2bc310cc5f70bfbe %global shortcommit %{sub %{commit} 1 7} -%global commit_date 20260523 +%global commit_date 20260623 Name: vgmstream Version: 0~%{commit_date}git.%shortcommit diff --git a/anda/multimedia/x264/anda.hcl b/anda/multimedia/x264/anda.hcl index 2068b1ab39..d33191d6f6 100644 --- a/anda/multimedia/x264/anda.hcl +++ b/anda/multimedia/x264/anda.hcl @@ -7,5 +7,6 @@ project pkg { labels { mock = 1 subrepo = "multimedia" + nightly = 1 } } diff --git a/anda/multimedia/x264/update.rhai b/anda/multimedia/x264/update.rhai new file mode 100644 index 0000000000..b484dccf32 --- /dev/null +++ b/anda/multimedia/x264/update.rhai @@ -0,0 +1,10 @@ +let domain = `code.videolan.org`; +let c = gitlab_commit(domain, "536", "master"); + +rpm.global("commit", c); + +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + rpm.global("api_version", find(`#define X264_BUILD ([\d]+)`, get(`https://${domain}/videolan/x264/-/raw/${c}/x264.h`), 1)); +} diff --git a/anda/multimedia/x264/x264.spec b/anda/multimedia/x264/x264.spec index d5d89976d8..e41c11bc4a 100644 --- a/anda/multimedia/x264/x264.spec +++ b/anda/multimedia/x264/x264.spec @@ -3,11 +3,15 @@ %global api_version 165 %global shortcommit %(c=%{commit}; echo ${c:0:7}) +%ifarch %{ix86} +%global _pkg_extra_ldflags "-Wl,-z,notext" +%endif + %bcond_with bootstrap Name: x264 -Version: 0.%{api_version} -Release: 38%{?shortcommit:.%{commit_date}git%{shortcommit}}%{?dist} +Version: 0^%{commit_date}git%{shortcommit} +Release: 1%{?dist} Epoch: 1 Summary: H264/AVC video streams encoder License: GPL-2.0-or-later @@ -22,8 +26,8 @@ BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libswscale) %endif - Requires: bash-completion +Packager: Terra Packaging Team %description %{name} is a free software library and application for encoding video streams into @@ -40,13 +44,15 @@ libraries. %package devel Summary: Development files for the x264 library -Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{evr} Requires: pkgconfig %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. +%pkg_completion -B + %prep %git_clone https://code.videolan.org/videolan/x264.git %{commit} @@ -69,8 +75,9 @@ applications that use %{name}. %ldconfig_scriptlets libs %files +%license COPYING +%doc AUTHORS %{_bindir}/%{name} -%{_datadir}/bash-completion/completions/%{name} %files libs %license COPYING @@ -85,4 +92,6 @@ applications that use %{name}. %{_libdir}/pkgconfig/%{name}.pc %changelog -%autochangelog +* Mon Jun 1 2026 Gilver E. - 0^20250910git0480cb0-1 +- Fix i686 builds +- Update versioning scheme to modern Fedora snapshot guidelines diff --git a/anda/multimedia/x265/update.rhai b/anda/multimedia/x265/update.rhai index 291bc4d5af..b9af9b10ce 100644 --- a/anda/multimedia/x265/update.rhai +++ b/anda/multimedia/x265/update.rhai @@ -1,5 +1,10 @@ // HACK: use RegEx to parse HTML! let vers = find_all(` + +diff -Naur x265_4.2.old/source/CMakeLists.txt x265_4.2/source/CMakeLists.txt +--- x265_4.2.old/source/CMakeLists.txt 2026-05-22 09:31:41.511324918 +0200 ++++ x265_4.2/source/CMakeLists.txt 2026-05-22 09:31:41.564187955 +0200 +@@ -890,6 +890,9 @@ + elseif(ARM64 OR CROSS_COMPILE_ARM64) + # compile ARM64 arch asm files here + enable_language(ASM) ++ if(APPLE) ++ set(ARM_ARGS ${ARM_ARGS} -arch ${CMAKE_OSX_ARCHITECTURES}) ++ endif() + foreach(ASM ${ARM_ASMS}) + set(ASM_SRC ${CMAKE_CURRENT_SOURCE_DIR}/common/aarch64/${ASM}) + list(APPEND ASM_SRCS ${ASM_SRC}) +diff -Naur x265_4.2.old/source/common/frame.cpp x265_4.2/source/common/frame.cpp +--- x265_4.2.old/source/common/frame.cpp 2026-05-22 09:31:41.405483833 +0200 ++++ x265_4.2/source/common/frame.cpp 2026-05-22 09:31:41.561815253 +0200 +@@ -378,6 +378,11 @@ + delete[] m_userSEI.payloads; + } + ++ if (m_rpu.payloadSize) ++ { ++ delete[] m_rpu.payload; ++ } ++ + if (m_ctuInfo) + { + uint32_t widthInCU = (m_param->sourceWidth + m_param->maxCUSize - 1) >> m_param->maxLog2CUSize; +diff -Naur x265_4.2.old/source/common/param.cpp x265_4.2/source/common/param.cpp +--- x265_4.2.old/source/common/param.cpp 2026-05-22 09:31:41.406483841 +0200 ++++ x265_4.2/source/common/param.cpp 2026-05-22 09:31:41.566608597 +0200 +@@ -408,6 +408,7 @@ + param->preferredTransferCharacteristics = -1; + param->pictureStructure = -1; + param->bEmitCLL = 1; ++ param->bEmitAmbientViewingEnvironment = 0; + + param->bEnableFrameDuplication = 0; + param->dupThreshold = 70; +@@ -1815,10 +1816,10 @@ + " smpte170m, smpte240m, linear, log100, log316, iec61966-2-4, bt1361e," + " iec61966-2-1, bt2020-10, bt2020-12, smpte-st-2084, smpte-st-428 or arib-std-b67"); + CHECK(param->vui.matrixCoeffs < 0 +- || param->vui.matrixCoeffs > 15 ++ || param->vui.matrixCoeffs > 17 + || param->vui.matrixCoeffs == 3, + "Matrix Coefficients must be unknown, bt709, fcc, bt470bg, smpte170m," +- " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c, ictcp or ipt-pq-c2"); ++ " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c, ictcp, ipt-pq-c2, ycgco-re, or ycgco-ro"); + CHECK(param->vui.chromaSampleLocTypeTopField < 0 + || param->vui.chromaSampleLocTypeTopField > 5, + "Chroma Sample Location Type Top Field must be 0-5"); +@@ -1980,6 +1981,7 @@ + || param->bEmitIDRRecoverySEI + || !!param->interlaceMode + || param->preferredTransferCharacteristics > 1 ++ || param->bEmitAmbientViewingEnvironment + || strlen(param->toneMapFile) + || strlen(param->naluFile)); + +@@ -2941,6 +2943,10 @@ + dst->bEmitCLL = src->bEmitCLL; + dst->maxCLL = src->maxCLL; + dst->maxFALL = src->maxFALL; ++ dst->ambientIlluminance = src->ambientIlluminance; ++ dst->ambientLightX = src->ambientLightX; ++ dst->ambientLightY = src->ambientLightY; ++ dst->bEmitAmbientViewingEnvironment = src->bEmitAmbientViewingEnvironment; + dst->log2MaxPocLsb = src->log2MaxPocLsb; + dst->bEmitVUIHRDInfo = src->bEmitVUIHRDInfo; + dst->bEmitVUITimingInfo = src->bEmitVUITimingInfo; +diff -Naur x265_4.2.old/source/common/threadpool.cpp x265_4.2/source/common/threadpool.cpp +--- x265_4.2.old/source/common/threadpool.cpp 2026-05-22 09:31:41.414483910 +0200 ++++ x265_4.2/source/common/threadpool.cpp 2026-05-22 09:31:41.556420957 +0200 +@@ -125,12 +125,6 @@ + { + THREAD_NAME("Worker", m_id); + +-#if _WIN32 +- SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL); +-#else +- __attribute__((unused)) int val = nice(10); +-#endif +- + m_pool.setCurrentThreadAffinity(); + + sleepbitmap_t idBit = (sleepbitmap_t)1 << m_id; +@@ -835,10 +829,16 @@ + else if (cpuCount >= 32) + return (p->sourceHeight > 2000) ? 6 : 5; + else if (cpuCount >= 16) +- return 4; ++#if MACOS && X265_ARCH_ARM64 ++ return 16; ++#else ++ return 4; ++#endif + else if (cpuCount >= 8) + #if _WIN32 && X265_ARCH_ARM64 + return cpuCount; ++#elif MACOS && X265_ARCH_ARM64 ++ return 8; + #else + return 3; + #endif +diff -Naur x265_4.2.old/source/encoder/encoder.cpp x265_4.2/source/encoder/encoder.cpp +--- x265_4.2.old/source/encoder/encoder.cpp 2026-05-22 09:31:41.432484066 +0200 ++++ x265_4.2/source/encoder/encoder.cpp 2026-05-22 09:31:41.562115269 +0200 +@@ -1768,11 +1768,20 @@ + } + copyUserSEIMessages(inFrame[0], inputPic[0]); + +- /*Copy Dolby Vision RPU from inputPic to frame*/ ++ /* Copy Dolby Vision RPU from inputPic to frame. */ ++ if (inFrame[0]->m_rpu.payload && inFrame[0]->m_rpu.payloadSize < inputPic[0]->rpu.payloadSize) ++ { ++ delete[] inFrame[0]->m_rpu.payload; ++ inFrame[0]->m_rpu.payload = NULL; ++ } ++ + if (inputPic[0]->rpu.payloadSize) + { ++ if (inFrame[0]->m_rpu.payload == NULL) ++ { ++ inFrame[0]->m_rpu.payload = new uint8_t[inputPic[0]->rpu.payloadSize]; ++ } + inFrame[0]->m_rpu.payloadSize = inputPic[0]->rpu.payloadSize; +- inFrame[0]->m_rpu.payload = new uint8_t[inputPic[0]->rpu.payloadSize]; + memcpy(inFrame[0]->m_rpu.payload, inputPic[0]->rpu.payload, inputPic[0]->rpu.payloadSize); + } + +@@ -3475,6 +3484,15 @@ + } + } + ++ if (m_param->bEmitAmbientViewingEnvironment) ++ { ++ SEIAmbientViewingEnvironment ambientsei; ++ ambientsei.ambientIlluminance = m_param->ambientIlluminance; ++ ambientsei.ambientLightX = m_param->ambientLightX; ++ ambientsei.ambientLightY = m_param->ambientLightY; ++ ambientsei.writeSEImessages(bs, m_sps, NAL_UNIT_PREFIX_SEI, list, m_param->bSingleSeiNal); ++ } ++ + if (m_param->bEmitInfoSEI) + { + char *opts = x265_param2string(m_param, m_sps.conformanceWindow.rightOffset, m_sps.conformanceWindow.bottomOffset); +diff -Naur x265_4.2.old/source/encoder/entropy.cpp x265_4.2/source/encoder/entropy.cpp +--- x265_4.2.old/source/encoder/entropy.cpp 2026-05-22 09:31:41.433484074 +0200 ++++ x265_4.2/source/encoder/entropy.cpp 2026-05-22 09:31:41.565040953 +0200 +@@ -2104,8 +2104,9 @@ + void Entropy::codeMvd(const CUData& cu, uint32_t absPartIdx, int list) + { + const MV& mvd = cu.m_mvd[list][absPartIdx]; +- const int hor = mvd.x; +- const int ver = mvd.y; ++ // to ensure the mvdLX is in the range of [-2^15, 2^15-1] ++ const int16_t hor = (int16_t)mvd.x; ++ const int16_t ver = (int16_t)mvd.y; + + encodeBin(hor != 0 ? 1 : 0, m_contextState[OFF_MV_RES_CTX]); + encodeBin(ver != 0 ? 1 : 0, m_contextState[OFF_MV_RES_CTX]); +diff -Naur x265_4.2.old/source/encoder/sei.h x265_4.2/source/encoder/sei.h +--- x265_4.2.old/source/encoder/sei.h 2026-05-22 09:31:41.437484109 +0200 ++++ x265_4.2/source/encoder/sei.h 2026-05-22 09:31:41.558216982 +0200 +@@ -726,6 +726,25 @@ + } + }; + ++class SEIAmbientViewingEnvironment : public SEI ++{ ++public: ++ SEIAmbientViewingEnvironment() ++ { ++ m_payloadType = AMBIENT_VIEWING_ENVIRONMENT; ++ m_payloadSize = 8; ++ } ++ uint32_t ambientIlluminance; ++ uint16_t ambientLightX; ++ uint16_t ambientLightY; ++ void writeSEI(const SPS&) ++ { ++ WRITE_CODE(ambientIlluminance, 32, "ambient_illuminance"); ++ WRITE_CODE(ambientLightX, 16, "ambient_light_x"); ++ WRITE_CODE(ambientLightY, 16, "ambient_light_y"); ++ } ++}; ++ + class SEIDecodedPictureHash : public SEI + { + public: +diff -Naur x265_4.2.old/source/x265cli.cpp x265_4.2/source/x265cli.cpp +--- x265_4.2.old/source/x265cli.cpp 2026-05-22 09:31:41.443484161 +0200 ++++ x265_4.2/source/x265cli.cpp 2026-05-22 09:31:41.567013470 +0200 +@@ -328,7 +328,7 @@ + H0(" smpte240m, linear, log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,\n"); + H0(" bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67. Default unknown\n"); + H1(" --colormatrix Specify color matrix setting from unknown, bt709, fcc, bt470bg, smpte170m,\n"); +- H1(" smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp, ipt-pq-c2. Default unknown\n"); ++ H1(" smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp, ipt-pq-c2, ycgco-re, ycgco-ro. Default unknown\n"); + H1(" --chromaloc Specify chroma sample location (0 to 5). Default of %d\n", param->vui.chromaSampleLocTypeTopField); + H0(" --master-display SMPTE ST 2086 master display color volume info SEI (HDR)\n"); + H0(" format: G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)\n"); +@@ -1508,4 +1508,4 @@ + + #ifdef __cplusplus + } +-#endif +\ No newline at end of file ++#endif +diff -Naur x265_4.2.old/source/x265.h x265_4.2/source/x265.h +--- x265_4.2.old/source/x265.h 2026-05-22 09:31:41.443484161 +0200 ++++ x265_4.2/source/x265.h 2026-05-22 09:31:41.566832268 +0200 +@@ -378,6 +378,7 @@ + MASTERING_DISPLAY_INFO = 137, + CONTENT_LIGHT_LEVEL_INFO = 144, + ALTERNATIVE_TRANSFER_CHARACTERISTICS = 147, ++ AMBIENT_VIEWING_ENVIRONMENT = 148, + ALPHA_CHANNEL_INFO = 165, + THREE_DIMENSIONAL_REFERENCE_DISPLAYS_INFO = 176, + MULTIVIEW_SCENE_INFO = 178, +@@ -753,7 +754,7 @@ + "log316", "iec61966-2-4", "bt1361e", "iec61966-2-1", "bt2020-10", "bt2020-12", + "smpte2084", "smpte428", "arib-std-b67", 0 }; + static const char * const x265_colmatrix_names[] = { "gbr", "bt709", "unknown", "", "fcc", "bt470bg", "smpte170m", "smpte240m", +- "ycgco", "bt2020nc", "bt2020c", "smpte2085", "chroma-derived-nc", "chroma-derived-c", "ictcp", "ipt-pq-c2", 0 }; ++ "ycgco", "bt2020nc", "bt2020c", "smpte2085", "chroma-derived-nc", "chroma-derived-c", "ictcp", "ipt-pq-c2", "ycgco-re", "ycgco-ro", 0 }; + static const char * const x265_sar_names[] = { "unknown", "1:1", "12:11", "10:11", "16:11", "40:33", "24:11", "20:11", + "32:11", "80:33", "18:11", "15:11", "64:33", "160:99", "4:3", "3:2", "2:1", 0 }; + static const char * const x265_interlace_names[] = { "prog", "tff", "bff", 0 }; +@@ -1978,6 +1979,11 @@ + * value to that value. */ + uint16_t maxLuma; + ++ /* ISO/IEC 23008-2:2017, D.2.39 ambient viewing environment SEI message */ ++ uint32_t ambientIlluminance; ++ uint16_t ambientLightX; ++ uint16_t ambientLightY; ++ + /* Maximum of the picture order count */ + int log2MaxPocLsb; + +@@ -2189,6 +2195,9 @@ + /*Emit content light level info SEI*/ + int bEmitCLL; + ++ /* Emit ambient viewing environment SEI */ ++ int bEmitAmbientViewingEnvironment; ++ + /* + * Signals picture structure SEI timing message for every frame + * picture structure 7 is signalled for frame doubling diff --git a/anda/multimedia/x265/x265-fix-aarch64-build.patch b/anda/multimedia/x265/x265-fix-aarch64-build.patch new file mode 100644 index 0000000000..76eb030e7e --- /dev/null +++ b/anda/multimedia/x265/x265-fix-aarch64-build.patch @@ -0,0 +1,11 @@ +diff -Naur x265_4.2.old/source/common/aarch64/asm-primitives.cpp x265_4.2/source/common/aarch64/asm-primitives.cpp +--- x265_4.2.old/source/common/aarch64/asm-primitives.cpp 2026-05-22 09:31:41.396956906 +0200 ++++ x265_4.2/source/common/aarch64/asm-primitives.cpp 2026-05-22 09:31:41.512336554 +0200 +@@ -31,6 +31,7 @@ + + extern "C" { + #include "fun-decls.h" ++#include "../arm/ipfilter8.h" + } + + #define ALL_LUMA_TU_TYPED(prim, fncdef, fname, cpu) \ diff --git a/anda/multimedia/x265/x265-gcc15.patch b/anda/multimedia/x265/x265-gcc15.patch new file mode 100644 index 0000000000..9f54889414 --- /dev/null +++ b/anda/multimedia/x265/x265-gcc15.patch @@ -0,0 +1,11 @@ +diff -Naur x265_4.2.old/source/dynamicHDR10/json11/json11.cpp x265_4.2/source/dynamicHDR10/json11/json11.cpp +--- x265_4.2.old/source/dynamicHDR10/json11/json11.cpp 2026-05-22 09:31:41.430924883 +0200 ++++ x265_4.2/source/dynamicHDR10/json11/json11.cpp 2026-05-22 09:31:41.531899433 +0200 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + #if _MSC_VER + #pragma warning(disable: 4510) //const member cannot be default initialized diff --git a/anda/multimedia/x265/x265-high-bit-depth-soname.patch b/anda/multimedia/x265/x265-high-bit-depth-soname.patch index 5b1e5ed6b8..540eab3dca 100644 --- a/anda/multimedia/x265/x265-high-bit-depth-soname.patch +++ b/anda/multimedia/x265/x265-high-bit-depth-soname.patch @@ -1,6 +1,7 @@ ---- a/source/CMakeLists.txt -+++ b/source/CMakeLists.txt -@@ -611,7 +611,15 @@ +diff -Naur x265_4.2.old/source/CMakeLists.txt x265_4.2/source/CMakeLists.txt +--- x265_4.2.old/source/CMakeLists.txt 2026-05-22 09:31:41.395284685 +0200 ++++ x265_4.2/source/CMakeLists.txt 2026-05-22 09:31:41.446248583 +0200 +@@ -1075,7 +1075,15 @@ if(MSVC) set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265) else() @@ -17,9 +18,10 @@ endif() if(UNIX) set_target_properties(x265-shared PROPERTIES VERSION ${X265_BUILD}) ---- a/source/encoder/api.cpp -+++ b/source/encoder/api.cpp -@@ -704,7 +704,7 @@ +diff -Naur x265_4.2.old/source/encoder/api.cpp x265_4.2/source/encoder/api.cpp +--- x265_4.2.old/source/encoder/api.cpp 2026-05-22 09:31:41.431540093 +0200 ++++ x265_4.2/source/encoder/api.cpp 2026-05-22 09:31:41.446517920 +0200 +@@ -1119,7 +1119,7 @@ #define ext ".dylib" #else #include @@ -28,4 +30,3 @@ #endif #if defined(__GNUC__) && __GNUC__ >= 8 #pragma GCC diagnostic ignored "-Wcast-function-type" - diff --git a/anda/multimedia/x265/x265-pic.patch b/anda/multimedia/x265/x265-pic.patch deleted file mode 100644 index a047ad15a2..0000000000 --- a/anda/multimedia/x265/x265-pic.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/source/CMakeLists.txt -+++ b/source/CMakeLists.txt -@@ -212,7 +212,7 @@ - add_definitions(-std=gnu++98) - endif() - if(ENABLE_PIC) -- add_definitions(-fPIC) -+ add_definitions(-fPIC -DPIC) - endif(ENABLE_PIC) - if(NATIVE_BUILD) - if(INTEL_CXX) diff --git a/anda/multimedia/x265/x265-pkgconfig_path_fix.patch b/anda/multimedia/x265/x265-pkgconfig_path_fix.patch deleted file mode 100644 index 5d958f3e75..0000000000 --- a/anda/multimedia/x265/x265-pkgconfig_path_fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/source/x265.pc.in -+++ b/source/x265.pc.in -@@ -1,6 +1,6 @@ - prefix=@CMAKE_INSTALL_PREFIX@ - exec_prefix=${prefix} --libdir=${exec_prefix}/@LIB_INSTALL_DIR@ -+libdir=@LIB_INSTALL_DIR@ - includedir=${prefix}/include - - Name: @CMAKE_PROJECT_NAME@ - diff --git a/anda/multimedia/x265/x265-sei-length-crash-fix.patch b/anda/multimedia/x265/x265-sei-length-crash-fix.patch deleted file mode 100644 index 87c6d49544..0000000000 --- a/anda/multimedia/x265/x265-sei-length-crash-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8454caf458c5f5d20cce711ff8ea8de55ec1ae50 Mon Sep 17 00:00:00 2001 -From: harlanc -Date: Thu, 1 Dec 2022 07:46:13 +0000 -Subject: [PATCH] fix crash when SEI length is variable - ---- - source/encoder/encoder.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/source/encoder/encoder.cpp b/source/encoder/encoder.cpp -index 0fea6553c..5a3fcafc7 100644 ---- a/source/encoder/encoder.cpp -+++ b/source/encoder/encoder.cpp -@@ -1103,6 +1103,12 @@ void Encoder::copyUserSEIMessages(Frame *frame, const x265_picture* pic_in) - input = seiMsg; - else - input = pic_in->userSEI.payloads[i]; -+ -+ if (frame->m_userSEI.payloads[i].payload && (frame->m_userSEI.payloads[i].payloadSize < input.payloadSize)) -+ { -+ delete[] frame->m_userSEI.payloads[i].payload; -+ frame->m_userSEI.payloads[i].payload = NULL; -+ } - - if (!frame->m_userSEI.payloads[i].payload) - frame->m_userSEI.payloads[i].payload = new uint8_t[input.payloadSize]; --- -2.45.0 - diff --git a/anda/multimedia/x265/x265-vmaf.patch b/anda/multimedia/x265/x265-vmaf.patch new file mode 100644 index 0000000000..74b09e96be --- /dev/null +++ b/anda/multimedia/x265/x265-vmaf.patch @@ -0,0 +1,26 @@ +diff -Naur x265_4.2.old/source/CMakeLists.txt x265_4.2/source/CMakeLists.txt +--- x265_4.2.old/source/CMakeLists.txt 2026-05-22 09:31:41.492277260 +0200 ++++ x265_4.2/source/CMakeLists.txt 2026-05-22 09:31:41.494071992 +0200 +@@ -178,6 +178,7 @@ + option(ENABLE_LIBVMAF "Enable VMAF" OFF) + if(ENABLE_LIBVMAF) + add_definitions(-DENABLE_LIBVMAF) ++ include_directories(${VMAF_INCLUDE_DIR}) + endif() + if(X64) + option(ENABLE_CET "Enable Control-flow Enforcement" OFF) +@@ -1068,10 +1069,13 @@ + if(EXTRA_LIB) + target_link_libraries(x265-shared ${EXTRA_LIB}) + endif() +- target_link_libraries(x265-shared ${PLATFORM_LIBS}) ++ target_link_libraries(x265-shared ${PLATFORM_LIBS}) + if(SVTHEVC_FOUND) + target_link_libraries(x265-shared ${SVT_HEVC_LIBRARY}) + endif(SVTHEVC_FOUND) ++ if(ENABLE_LIBVMAF) ++ target_link_libraries(x265-shared ${VMAF}) ++ endif(ENABLE_LIBVMAF) + if(MSVC) + set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265) + else() diff --git a/anda/multimedia/x265/x265.spec b/anda/multimedia/x265/x265.spec index fb88be98f5..3a32cbf1f0 100644 --- a/anda/multimedia/x265/x265.spec +++ b/anda/multimedia/x265/x265.spec @@ -1,41 +1,39 @@ -%global build_cxxflags %{__build_flags_lang_cxx} %{?_distro_extra_cxxflags} -include %_includedir/c++/*/cstdint +%global api_version 216 -# Use old cmake macro -%global __cmake_in_source_build 1 - -%global terrasrc_commit b018f3e14bd28f5b17c22446328c6decf9ce57a5 - -%global _so_version 212 +%ifarch %{ix86} +%global _pkg_extra_ldflags "-Wl,-z,notext" +%endif Summary: H.265/HEVC encoder Name: x265 Version: 4.2 Release: 1%{?dist} +Epoch: 1 URL: http://x265.org/ -# source/Lib/TLibCommon - BSD -# source/Lib/TLibEncoder - BSD -# everything else - GPLv2+ -License: GPLv2+ and BSD +License: GPL-2.0-or-later + Source0: https://bitbucket.org/multicoreware/%{name}_git/downloads/%{name}_%{version}.tar.gz +Patch0: %{name}-high-bit-depth-soname.patch +Patch1: %{name}-vmaf.patch +Patch2: %{name}-fix-aarch64-build.patch +Patch3: %{name}-gcc15.patch +# https://github.com/HandBrake/HandBrake/tree/2f464fcf93d411ebdd969b39d67739ed658c5e58 +# Except: +# contrib/x265/A06-Update-version-strings.patch +# contrib/x265/A08-Fix-inconsistent-bitrate-in-second-pass.patch +Patch4: %{name}-HandBrake.patch -# fix building as PIC -Patch0: https://raw.githubusercontent.com/terrapkg/pkg-x265/%terrasrc_commit/x265-pic.patch -Patch1: https://raw.githubusercontent.com/terrapkg/pkg-x265/%terrasrc_commit/x265-high-bit-depth-soname.patch -Patch2: https://raw.githubusercontent.com/terrapkg/pkg-x265/%terrasrc_commit/x265-pkgconfig_path_fix.patch -# https://bitbucket.org/multicoreware/x265_git/pull-requests/10 -Patch3: https://bitbucket.org/harlancc/x265_git/commits/8454caf458c5f5d20cce711ff8ea8de55ec1ae50/raw#/x265-sei-length-crash-fix.patch - -BuildRequires: gcc-c++ -BuildRequires: libstdc++-devel -BuildRequires: git BuildRequires: cmake -%{?el7:BuildRequires: epel-rpm-macros} -BuildRequires: nasm -BuildRequires: ninja-build - -%ifnarch armv7hl armv7hnl s390 s390x -BuildRequires: numactl-devel +BuildRequires: gcc-c++ +%ifnarch %{ix86} +BuildRequires: nasm >= 2.13 %endif +BuildRequires: numactl-devel +%ifarch x86_64 +BuildRequires: libvmaf-devel +%endif + +Packager: Terra Packaging Team %description The primary objective of x265 is to become the best H.265/HEVC encoder @@ -56,7 +54,7 @@ This package contains the shared library. %package devel Summary: H.265/HEVC encoder library development files -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description devel The primary objective of x265 is to become the best H.265/HEVC encoder @@ -68,282 +66,126 @@ This package contains the shared library development files. %prep %autosetup -p1 -n %{name}_%{version} -%build +sed -i -e 's|libdir=${exec_prefix}/@LIB_INSTALL_DIR@|libdir=@LIB_INSTALL_DIR@|g' source/x265.pc.in + +%conf # High depth libraries (from source/h265.h): -# If the requested bitDepth is not supported by the linked libx265, -# it will attempt to dynamically bind x265_api_get() from a shared -# library with an appropriate name: +# If the requested bitDepth is not supported by the linked libx265, it will +# attempt to dynamically bind from a shared library with an appropriate name: # 8bit: libx265_main.so # 10bit: libx265_main10.so +# 12bit: libx265_main12.so +# +# Trying to link 10/12 bits statically inside the shared library (as per +# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=x265-hg#n45) makes the +# library not strippable. -build() { -%cmake -Wno-dev -G "Ninja" \ - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ - -DCMAKE_SKIP_RPATH:BOOL=YES \ - -DENABLE_PIC:BOOL=ON \ - -DENABLE_SHARED=ON \ - -DENABLE_TESTS:BOOL=ON \ - -DENABLE_HDR10_PLUS=YES \ - -DCMAKE_ASM_NASM_FLAGS=-w-macro-params-legacy \ - $* \ - ../source -%cmake_build +# Setting GIT_ARCHETYPE to 1 is like using git as a build dependency: +configure_cmake() { +%cmake -G "Unix Makefiles" \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DCMAKE_SKIP_RPATH=ON \ + -DENABLE_ALPHA=ON \ + -DENABLE_ASSEMBLY=ON \ + -DENABLE_HDR10_PLUS=ON \ + -DENABLE_MULTIVIEW=ON \ + -DENABLE_PIC=ON \ + -DENABLE_SCC_EXT=ON \ + -DENABLE_SHARED=ON \ + -DGIT_ARCHETYPE="1" \ +%ifarch x86_64 + -DENABLE_LIBVMAF=ON \ + -DVMAF_INCLUDE_DIR=%{_includedir}/libvmaf \ +%endif +%ifarch %{ix86} + -DENABLE_ASSEMBLY=OFF \ +%endif + $* \ + ../source } -# High depth 10/12 bit libraries are supported only on 64 bit. They require -# disabled AltiVec instructions for building on ppc64/ppc64le. -%ifarch x86_64 aarch64 ppc64 ppc64le -mkdir 10bit; pushd 10bit - build \ +%ifnarch %{ix86} +# 10/12 bit libraries are supported only on 64 bit +mkdir 12bit && pushd 12bit + configure_cmake \ -DENABLE_CLI=OFF \ - -DENABLE_ALTIVEC=OFF \ - -DHIGH_BIT_DEPTH=ON -popd - -mkdir 12bit; pushd 12bit - build \ - -DENABLE_CLI=OFF \ - -DENABLE_ALTIVEC=OFF \ -DHIGH_BIT_DEPTH=ON \ -DMAIN12=ON popd + +mkdir 10bit && pushd 10bit + configure_cmake \ + -DENABLE_CLI=OFF \ + -DHIGH_BIT_DEPTH=ON +popd %endif -# 8 bit base library + encoder -mkdir 8bit; pushd 8bit - build +# 8 bit + dynamicHDR CLI +# TestBench dlopens the appropriate x265 library +mkdir 8bit && pushd 8bit + configure_cmake \ + -DENABLE_CLI=ON \ + -DENABLE_TESTS=ON +popd + +%build +%ifnarch %{ix86} +pushd 12bit +%cmake_build +popd + +pushd 10bit +%cmake_build +popd +%endif + +pushd 8bit +%cmake_build popd %install for i in 8 10 12; do - if [ -d ${i}bit ]; then - pushd ${i}bit - %cmake_install - # Remove unversioned library, should not be linked to - rm -f %{buildroot}%{_libdir}/libx265_main${i}.so - popd - fi + if [ -d ${i}bit ]; then + pushd ${i}bit + %cmake_install + rm -f %{buildroot}%{_libdir}/libx265_main${i}.so + popd + fi done find %{buildroot} -name "*.a" -delete %check for i in 8 10 12; do - if [ -d ${i}bit ]; then - pushd ${i}bit - test/TestBench || : - popd - fi + if [ -d ${i}bit ]; then + pushd ${i}bit + test/TestBench || : + popd + fi done -%ldconfig_scriptlets libs - %files -%{_bindir}/x265 +%doc readme.rst +%license COPYING +%{_bindir}/%{name} %files libs %license COPYING %{_libdir}/libhdr10plus.so -%{_libdir}/libx265.so.* -%ifarch x86_64 aarch64 ppc64 ppc64le -%{_libdir}/libx265_main10.so.* -%{_libdir}/libx265_main12.so.* +%{_libdir}/lib%{name}.so.%{api_version} +%ifnarch %{ix86} +%{_libdir}/lib%{name}_main10.so.%{api_version} +%{_libdir}/lib%{name}_main12.so.%{api_version} %endif %files devel %doc doc/* %{_includedir}/hdr10plus.h -%{_includedir}/x265.h -%{_includedir}/x265_config.h -%{_libdir}/libx265.so -%{_libdir}/pkgconfig/x265.pc +%{_includedir}/%{name}.h +%{_includedir}/%{name}_config.h +%{_libdir}/lib%{name}.so +%{_libdir}/pkgconfig/%{name}.pc %changelog -* Sun Sep 15 2024 Leigh Scott - 4.0-1 -- Update to 4.0 - -* Fri Aug 02 2024 RPM Fusion Release Engineering - 3.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu May 16 2024 Dominik Mierzejewski - 3.6-2 -- Backport a fix for crashes when encoding with variable length SEI - -* Sat Apr 06 2024 Leigh Scott - 3.6-1 -- Update to 3.6 - -* Sun Feb 04 2024 RPM Fusion Release Engineering - 3.5-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Aug 02 2023 RPM Fusion Release Engineering - 3.5-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Dec 29 2022 Nicolas Chauvet - 3.5-5 -- Enable ENABLE_HDR10_PLUS everywhere rfbz#6454 - -* Mon Aug 08 2022 RPM Fusion Release Engineering - 3.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg - 5.1 - -* Wed Feb 09 2022 RPM Fusion Release Engineering - 3.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Aug 03 2021 RPM Fusion Release Engineering - 3.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Apr 13 2021 Leigh Scott - 3.5-1 -- Update to 3.5 - -* Tue Mar 16 2021 Leigh Scott - 3.4-5 -- Enable HDR10+. - -* Thu Feb 04 2021 RPM Fusion Release Engineering - 3.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Aug 19 2020 RPM Fusion Release Engineering - 3.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 23 2020 Leigh Scott - 3.4-2 -- Use old cmake macro - -* Sun May 31 2020 Leigh Scott - 3.4-1 -- Update to 3.4 - -* Wed Mar 11 2020 Nicolas Chauvet - 3.3-2 -- Rebuilt for i686 - -* Sun Feb 23 2020 Leigh Scott - 3.3-1 -- Update to 3.3 - -* Wed Feb 05 2020 RPM Fusion Release Engineering - 3.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Nov 28 2019 Leigh Scott - 3.2.1-1 -- Update to 3.2.1 -- Switch upstream source url - -* Fri Aug 09 2019 RPM Fusion Release Engineering - 3.1.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Aug 04 2019 Leigh Scott - 3.1.2-1 -- Update to 3.1.2 - -* Fri Jun 28 2019 Nicolas Chauvet - 3.1-1 -- Update to 3.1 -- Switch to github mirror - -* Tue Mar 05 2019 RPM Fusion Release Engineering - 3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Feb 28 2019 Leigh Scott - 3.0-1 -- Update to 3.0 - -* Sun Dec 30 2018 Leigh Scott - 2.9-3 -- Rebuild against newer nasm on el7 (rfbz #5128) - -* Wed Nov 21 2018 Antonio Trande - 2.9-2 -- Rebuild for ffmpeg-3.* on el7 - -* Sun Nov 18 2018 Leigh Scott - 2.9-1 -- Update to 2.9 - -* Thu Oct 04 2018 Sérgio Basto - 2.8-1 -- Update to 2.8 more 2 patches to fix builds on non-x86 and arm - https://bitbucket.org/multicoreware/x265/issues/404/28-fails-to-build-on-ppc64le-gnu-linux - https://bitbucket.org/multicoreware/x265/issues/406/arm-assembly-fail-to-compile-on-18 - -* Sun Aug 19 2018 Leigh Scott - 2.7-5 -- Rebuilt for Fedora 29 Mass Rebuild binutils issue - -* Fri Jul 27 2018 RPM Fusion Release Engineering - 2.7-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sun Apr 08 2018 Leigh Scott - 2.7-3 -- Fix pkgconfig file (rfbz #4853) - -* Tue Feb 27 2018 Nicolas Chauvet - 2.7-2 -- Fix CFLAGS on ARM - -* Tue Feb 27 2018 Leigh Scott - 2.7-1 -- update to 2.7 -- Drop shared test patch as it causes nasm build to fail -- Fix scriptlets -- Use ninja to build - -* Sat Dec 30 2017 Sérgio Basto - 2.6-1 -- Update x265 to 2.6 - -* Mon Oct 16 2017 Leigh Scott - 2.5-1 -- update to 2.5 - -* Thu Aug 31 2017 RPM Fusion Release Engineering - 2.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Apr 29 2017 Leigh Scott - 2.4-1 -- update to 2.4 - -* Mon Apr 10 2017 Simone Caronni - 2.2-3 -- Use source from multicoreware website. -- Clean up SPEC file a bit (formatting, 80 char wide descriptions). -- Enable shared 10/12 bit libraries on 64 bit architectures. - -* Mon Mar 20 2017 RPM Fusion Release Engineering - 2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Jan 03 2017 Dominik Mierzejewski - 2.2-1 -- update to 2.2 -- spell out SO version in file list -- fix typo in patch - -* Mon Nov 07 2016 Sérgio Basto - 2.1-1 -- Update to 2.1 - -* Thu Aug 18 2016 Sérgio Basto - 1.9-3 -- Clean spec, Vascom patches series, rfbz #4199, add license tag - -* Tue Jul 19 2016 Dominik Mierzejewski - 1.9-2 -- use https for source URL -- enable NUMA support -- make sure Fedora compiler flags are used on ARM - -* Fri Apr 08 2016 Adrian Reber - 1.9-1 -- Update to 1.9 - -* Sun Oct 25 2015 Dominik Mierzejewski 1.8-2 -- fix building as PIC -- update SO version in file list - -* Sat Oct 24 2015 Nicolas Chauvet - 1.8-1 -- Update to 1.8 -- Avoid tests for now - -* Wed Apr 15 2015 Dominik Mierzejewski 1.6-1 -- update to 1.6 (ABI bump, rfbz#3593) -- release tarballs are now hosted on videolan.org -- drop obsolete patches - -* Thu Dec 18 2014 Dominik Mierzejewski 1.2-6 -- fix build on armv7l arch (partially fix rfbz#3361, patch by Nicolas Chauvet) -- don't run tests on ARM for now (rfbz#3361) - -* Sun Aug 17 2014 Dominik Mierzejewski 1.2-5 -- don't include contributor agreement in doc -- make sure /usr/share/doc/x265 is owned -- add a comment noting which files are BSD-licenced - -* Fri Aug 08 2014 Dominik Mierzejewski 1.2-4 -- don't create bogus soname (patch by Xavier) - -* Thu Jul 17 2014 Dominik Mierzejewski 1.2-3 -- fix tr call to remove DOS EOL -- build the library with -fPIC on arm and i686, too - -* Sun Jul 13 2014 Dominik Mierzejewski 1.2-2 -- use version in source URL -- update License tag -- fix EOL in drag-uncrustify.bat -- don't link test binaries with shared binary on x86 (segfault) - -* Thu Jul 10 2014 Dominik Mierzejewski 1.2-1 -- initial build -- fix pkgconfig file install location -- link test binaries with shared library +* Sun May 31 2026 Gilver E. - 4.2-1 +- Updated patches and spec based on RPM Fusion and Negativo's changes diff --git a/anda/multimedia/zrythm/zrythm.spec b/anda/multimedia/zrythm/zrythm.spec index f8ae490aee..4a4019201e 100644 --- a/anda/multimedia/zrythm/zrythm.spec +++ b/anda/multimedia/zrythm/zrythm.spec @@ -1,4 +1,4 @@ -%global v v2.0.0-alpha.0 +%global v v2.0.0-alpha.1 Name: zrythm Version: %(echo %v | sed 's@-@~@g' | sed 's@^v@@') diff --git a/anda/system/asusctl/asusctl.spec b/anda/system/asusctl/asusctl.spec index 3d23ede850..98a2bec713 100644 --- a/anda/system/asusctl/asusctl.spec +++ b/anda/system/asusctl/asusctl.spec @@ -1,13 +1,15 @@ %global debug_package %{nil} %global appid org.asus_linux.rog_control_center +%global asus_system_units asusd.service asus-shutdown.service + Name: asusctl -Version: 6.3.7 -Release: 4%{?dist} +Version: 1.0.1 +Release: 1%{?dist} Epoch: 1 Summary: A control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops -URL: https://gitlab.com/asus-linux/asusctl -Source0: %url/-/archive/%version/asusctl-%version.tar.gz +URL: https://github.com/OpenGamingCollective/asusctl +Source0: %{url}/archive/refs/tags/%{version}.tar.gz Source1: %{appid}.metainfo.xml License: MPL-2.0 AND (MIT OR Apache-2.0) AND NCSA AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND MIT AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR Zlib) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause (BSD-2-Clause OR Apache-2.0 OR MIT) AND (BSD-3-Clause OR Apache-2.0) AND BSD-3-Clause AND BSL-1.0 AND (CC0-1.0 OR Apache-2.0) AND (GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0) AND ISC AND MIT AND Zlib AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND Unlicense AND (Zlib OR Apache-2.0 OR MIT) BuildRequires: anda-srpm-macros @@ -43,7 +45,7 @@ A one-stop-shop GUI tool for asusd/asusctl. It aims to provide most controls, a notification service, and ability to run in the background. %prep -%autosetup -n asusctl-%version +%autosetup %cargo_prep_online %build @@ -93,16 +95,13 @@ mkdir -p %{buildroot}%{_sysconfdir}/asusd %{_datadir}/asusd/ %post -%systemd_post asusd.service -%systemd_post asus-shutdown.service +%systemd_post %{asus_system_units} %preun -%systemd_preun asusd.service -%systemd_preun asus-shutdown.service +%systemd_preun %{asus_system_units} %postun -%systemd_postun_with_restart asusd.service -%systemd_postun_with_restart asus-shutdown.service +%systemd_postun_with_restart %{asus_system_units} %files rog-gui %{_bindir}/rog-control-center @@ -112,6 +111,13 @@ mkdir -p %{buildroot}%{_sysconfdir}/asusd %{_metainfodir}/%{appid}.metainfo.xml %changelog +* Thu Jun 18 2026 Owen Zimmerman - 6.3.8-3 +- Switch to OGC upstream + +* Wed Jun 17 2026 Owen Zimmerman - 6.3.8-2 +- Define %{asus_system_units} to make rhe spec a bit cleaner +- and only call %%systemd_* once + * Fri May 08 2026 Owen Zimmerman - 6.3.7-3 - Use new macros, clean some stuff up diff --git a/anda/system/asusctl/update.rhai b/anda/system/asusctl/update.rhai index 4496aa968e..661d09294b 100644 --- a/anda/system/asusctl/update.rhai +++ b/anda/system/asusctl/update.rhai @@ -1 +1,2 @@ -rpm.version(gitlab("20328305")); +rpm.version(gh_tag("OpenGamingCollective/asusctl")); + diff --git a/anda/system/cardwire/cardwire.spec b/anda/system/cardwire/cardwire.spec index 18f6d4e18a..44d54de401 100644 --- a/anda/system/cardwire/cardwire.spec +++ b/anda/system/cardwire/cardwire.spec @@ -1,5 +1,5 @@ Name: cardwire -Version: 0.8.0 +Version: 0.10.2 Release: 1%{?dist} Summary: A GPU Manager for linux that uses eBPF LSM hooks to block GPUs URL: https://opengamingcollective.github.io/cardwire/ @@ -7,9 +7,13 @@ Source0: https://github.com/OpenGamingCollective/cardwire/archive/refs/ta License: GPL-3.0-or-later AND (Apache-2.0 OR MIT) AND BSD-3-Clause AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND ISC AND MIT (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (Unlicense OR MIT) AND Zlib BuildRequires: cargo-rpm-macros BuildRequires: systemd-rpm-macros +BuildRequires: systemd-devel BuildRequires: libbpf-devel BuildRequires: clang-devel +Requires: hwdata +Requires: upower + Packager: Owen Zimmerman %description diff --git a/anda/system/cloud-hypervisor/nightly/cloud-hypervisor-nightly.spec b/anda/system/cloud-hypervisor/nightly/cloud-hypervisor-nightly.spec index fcef2b644d..4e0df82889 100644 --- a/anda/system/cloud-hypervisor/nightly/cloud-hypervisor-nightly.spec +++ b/anda/system/cloud-hypervisor/nightly/cloud-hypervisor-nightly.spec @@ -1,5 +1,5 @@ -%global commit 8fd8224ee3b8d1d7ec62e97c1eb04900eaf702b7 -%global commit_date 20260524 +%global commit 755d42eec0a18025ccbb215f08e11a526310bc2c +%global commit_date 20260624 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: cloud-hypervisor-nightly diff --git a/anda/system/falcond/update.rhai b/anda/system/falcond/update.rhai index 97d99c287b..7cfa7602f0 100644 --- a/anda/system/falcond/update.rhai +++ b/anda/system/falcond/update.rhai @@ -1 +1 @@ -rpm.version(get("https://git.pika-os.com/api/v1/repos/general-packages/falcond/releases").json_arr()[0].tag_name); +rpm.version(gitea("git.pika-os.com", "general-packages/falcond")); diff --git a/anda/system/hid-fanatecff/akmod/hid-fanatecff-kmod.spec b/anda/system/hid-fanatecff/akmod/hid-fanatecff-kmod.spec index dad761cac6..10a45f216e 100644 --- a/anda/system/hid-fanatecff/akmod/hid-fanatecff-kmod.spec +++ b/anda/system/hid-fanatecff/akmod/hid-fanatecff-kmod.spec @@ -1,14 +1,14 @@ -%global commit f7bf935f0e534434d41e159d695f4a6c81e19fe9 +%global commit dd78ef477c0dc90d59291a0197afcea26911fca8 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260106 -%global ver 0.2.2 +%global commitdate 20260528 +%global ver 0.2.3 %define buildforkernels akmod %global debug_package %{nil} %global modulename hid-fanatecff Name: %{modulename}-kmod Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 3%{?dist} +Release: 1%{?dist} Summary: Fanatec force feedback kernel module License: GPL-2.0-only URL: https://github.com/gotzl/%{modulename} diff --git a/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.spec b/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.spec index df7544e8af..be8ca036b3 100644 --- a/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.spec +++ b/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.spec @@ -1,13 +1,13 @@ -%global commit f7bf935f0e534434d41e159d695f4a6c81e19fe9 +%global commit dd78ef477c0dc90d59291a0197afcea26911fca8 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260106 -%global ver 0.2.2 +%global commitdate 20260528 +%global ver 0.2.3 %global debug_package %{nil} %global modulename hid-fanatecff Name: dkms-%{modulename} Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 3%{?dist} +Release: 1%{?dist} Summary: Fanatec force feedback kernel module (DKMS) License: GPL-2.0-only URL: https://github.com/gotzl/%{modulename} diff --git a/anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec b/anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec index 35d5357976..65fb1a6304 100644 --- a/anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec +++ b/anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec @@ -1,11 +1,11 @@ -%global commit f7bf935f0e534434d41e159d695f4a6c81e19fe9 +%global commit dd78ef477c0dc90d59291a0197afcea26911fca8 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260106 -%global ver 0.2.2 +%global commitdate 20260528 +%global ver 0.2.3 Name: hid-fanatecff Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 3%{?dist} +Release: 1%{?dist} Summary: Fanatec force feedback driver common files License: GPL-2.0-only URL: https://github.com/gotzl/%{name} diff --git a/anda/system/ipu6-drivers/akmod/intel-ipu6-kmod.spec b/anda/system/ipu6-drivers/akmod/intel-ipu6-kmod.spec index 8fa8ac5b85..41c83c4e74 100644 --- a/anda/system/ipu6-drivers/akmod/intel-ipu6-kmod.spec +++ b/anda/system/ipu6-drivers/akmod/intel-ipu6-kmod.spec @@ -1,8 +1,8 @@ %global buildforkernels akmod %global debug_package %{nil} -%global commit 51fe72485032c779a261430a8100eaad5d8696b8 +%global commit 0d5ba31069ead844e231ed1ac637ac8ef571d63a %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260328 +%global commit_date 20260618 %global modulename intel-ipu6 # Actual "release" version, currently unused as the release versions are back and forth on if on if they use 1.0.0 or 1.0.1 %global ver 1.0.1 @@ -10,7 +10,7 @@ Name: %{modulename}-kmod Summary: Akmods module for %{modulename} Version: 0^%{commit_date}git.%{shortcommit} -Release: 2%{?dist} +Release: 1%{?dist} License: GPL-2.0-or-later URL: https://github.com/intel/ipu6-drivers Source0: https://github.com/intel/ipu6-drivers/archive/%{commit}/ipu6-drivers-%{shortcommit}.tar.gz diff --git a/anda/system/ipu6-drivers/dkms/dkms-intel-ipu6.spec b/anda/system/ipu6-drivers/dkms/dkms-intel-ipu6.spec index 972598fa9c..e6f7c3ff7c 100644 --- a/anda/system/ipu6-drivers/dkms/dkms-intel-ipu6.spec +++ b/anda/system/ipu6-drivers/dkms/dkms-intel-ipu6.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} -%global commit 51fe72485032c779a261430a8100eaad5d8696b8 +%global commit 0d5ba31069ead844e231ed1ac637ac8ef571d63a %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260328 +%global commit_date 20260618 %global modulename intel-ipu6 # Actual "release" version, currently unused as the release versions are back and forth on if on if they use 1.0.0 or 1.0.1 %global ver 1.0.1 diff --git a/anda/system/ipu6-drivers/kmod-common/intel-ipu6-drivers.spec b/anda/system/ipu6-drivers/kmod-common/intel-ipu6-drivers.spec index b30d3f2539..3423eefd65 100644 --- a/anda/system/ipu6-drivers/kmod-common/intel-ipu6-drivers.spec +++ b/anda/system/ipu6-drivers/kmod-common/intel-ipu6-drivers.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} -%global commit 51fe72485032c779a261430a8100eaad5d8696b8 +%global commit 0d5ba31069ead844e231ed1ac637ac8ef571d63a %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260328 +%global commit_date 20260618 # Actual "release" version, currently unused as the release versions are back and forth on if on if they use 1.0.0 or 1.0.1 # Use this if they ever stop doing that I guess %global ver 1.0.1 diff --git a/anda/system/limine/limine.spec b/anda/system/limine/limine.spec index ce3ffdbde1..f1c270e17d 100644 --- a/anda/system/limine/limine.spec +++ b/anda/system/limine/limine.spec @@ -1,5 +1,5 @@ Name: limine -Version: 12.3.1 +Version: 12.3.3 Release: 1%{?dist} Summary: Modern, advanced, portable, multiprotocol bootloader License: BSD-2-Clause diff --git a/anda/system/mediatek-mt7927/dkms/LICENSE b/anda/system/mediatek-mt7927/dkms/LICENSE new file mode 100644 index 0000000000..2f0f7e4503 --- /dev/null +++ b/anda/system/mediatek-mt7927/dkms/LICENSE @@ -0,0 +1,344 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/anda/system/mediatek-mt7927/dkms/anda.hcl b/anda/system/mediatek-mt7927/dkms/anda.hcl new file mode 100644 index 0000000000..4e13d18406 --- /dev/null +++ b/anda/system/mediatek-mt7927/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-mediatek-mt7927.spec" + } + labels { + updbranch = 1 + mock = 1 + } +} diff --git a/anda/system/mediatek-mt7927/dkms/dkms-mediatek-mt7927.spec b/anda/system/mediatek-mt7927/dkms/dkms-mediatek-mt7927.spec new file mode 100644 index 0000000000..4e9063190c --- /dev/null +++ b/anda/system/mediatek-mt7927/dkms/dkms-mediatek-mt7927.spec @@ -0,0 +1,72 @@ +%global modulename mediatek-mt7927 + +Name: dkms-%{modulename} +Version: 2.11.1 +Release: 1%{?dist} +Summary: DKMS WiFi 7 and Bluetooth 5.4 drivers for MediaTek MT7927 (Filogic 380) +License: GPL-2.0-only +URL: https://github.com/jetm/mediatek-mt7927-dkms +BuildArch: noarch + +Source0: https://github.com/jetm/mediatek-mt7927-dkms/archive/refs/tags/v%{version}-1.tar.gz +Source1: LICENSE + +BuildRequires: make +BuildRequires: curl +BuildRequires: python3 + +Requires: dkms +Requires(post): dkms +Requires(preun): dkms + +Conflicts: btusb-mt7925-dkms +Conflicts: btusb-mt7927-dkms + +Packager: Cypress Reed + +%description +DKMS package for MediaTek MT7927 (Filogic 380) combo WiFi 7 + BT 5.4. + +Builds out-of-tree btusb/btmtk (Bluetooth) and mt76 (WiFi) kernel modules +with device IDs and patches not yet in mainline Linux. Supports kernels 6.17+. + +When MT7927 support is merged into mainline kernels and linux-firmware, +remove this package to use the in-tree drivers. + +%prep +%autosetup -n %{modulename}-dkms-%{version}-1 + +%build +%__make download +%__make sources SRCDIR=%{_builddir}/%{modulename}-dkms-%{version}-1/_build + +%install +%make_install \ + SRCDIR=%{_builddir}/%{modulename}-dkms-%{version}-1/_build \ + DESTDIR=%{buildroot} \ + VERSION=%{version} +cp %{SOURCE1} -t . + +%post +dkms add -m %{modulename} -v %{version} -q --rpm_safe_upgrade || : +dkms build -m %{modulename} -v %{version} -q || : +dkms install -m %{modulename} -v %{version} -q --force || : + +%preun +dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : + +%files +%license LICENSE +%{_usrsrc}/%{modulename}-%{version} +%dir /usr/lib/firmware/mediatek +%dir /usr/lib/firmware/mediatek/mt7927 +/usr/lib/firmware/mediatek/mt7927/BT_RAM_CODE_MT6639_2_1_hdr.bin +/usr/lib/firmware/mediatek/mt7927/WIFI_MT6639_PATCH_MCU_2_1_hdr.bin +/usr/lib/firmware/mediatek/mt7927/WIFI_RAM_CODE_MT6639_2_1.bin + +%changelog +* Thu May 21 2026 Willow C Reed +- Port to Terra from https://github.com/jetm/mediatek-mt7927-dkms + +* Sun Mar 29 2026 Eder Sánchez - 2.9-1 +- See CHANGELOG.md for detailed release notes diff --git a/anda/system/mediatek-mt7927/dkms/update.rhai b/anda/system/mediatek-mt7927/dkms/update.rhai new file mode 100644 index 0000000000..df75f258e3 --- /dev/null +++ b/anda/system/mediatek-mt7927/dkms/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("jetm/mediatek-mt7927-dkms")); diff --git a/anda/system/nct6687d/akmod/nct6687d-kmod.spec b/anda/system/nct6687d/akmod/nct6687d-kmod.spec index 1fea992ab1..7db141427f 100644 --- a/anda/system/nct6687d/akmod/nct6687d-kmod.spec +++ b/anda/system/nct6687d/akmod/nct6687d-kmod.spec @@ -7,8 +7,8 @@ %global debug_package %{nil} %endif -%global commit 4d1600ba5662e29daef25c608dfad3ad08993fc4 -%global commitdate 20260523 +%global commit e069fac2107fb88d30be41375bd2c35ef17e3677 +%global commitdate 20260603 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global modulename nct6687d diff --git a/anda/system/nct6687d/dkms/dkms-nct6687d.spec b/anda/system/nct6687d/dkms/dkms-nct6687d.spec index 90b206e06f..3d2bfa1ea4 100644 --- a/anda/system/nct6687d/dkms/dkms-nct6687d.spec +++ b/anda/system/nct6687d/dkms/dkms-nct6687d.spec @@ -1,8 +1,8 @@ -%global commit 4d1600ba5662e29daef25c608dfad3ad08993fc4 +%global commit e069fac2107fb88d30be41375bd2c35ef17e3677 %global debug_package %{nil} %global modulename nct6687d %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260523 +%global commitdate 20260603 Name: dkms-%{modulename} Version: 1.0^%{commitdate}git.%{shortcommit} diff --git a/anda/system/nct6687d/kmod-common/nct6687d.spec b/anda/system/nct6687d/kmod-common/nct6687d.spec index 6beac3543d..584727b3c5 100644 --- a/anda/system/nct6687d/kmod-common/nct6687d.spec +++ b/anda/system/nct6687d/kmod-common/nct6687d.spec @@ -1,6 +1,6 @@ -%global commit 4d1600ba5662e29daef25c608dfad3ad08993fc4 +%global commit e069fac2107fb88d30be41375bd2c35ef17e3677 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260523 +%global commitdate 20260603 Name: nct6687d Version: 1.0^%{commitdate}git.%{shortcommit} diff --git a/anda/system/nvidia-580/compat-nvidia-repo/compat-nvidia-repo-580.spec b/anda/system/nvidia-580/compat-nvidia-repo/compat-nvidia-repo-580.spec index 607b614fe2..1590e27aa9 100644 --- a/anda/system/nvidia-580/compat-nvidia-repo/compat-nvidia-repo-580.spec +++ b/anda/system/nvidia-580/compat-nvidia-repo/compat-nvidia-repo-580.spec @@ -1,5 +1,5 @@ Name: compat-nvidia-repo-580xx -Version: 580.159.04 +Version: 580.167.08 Epoch: 3 Release: 1%{?dist} Summary: Compatibility package required by official CUDA packages diff --git a/anda/system/nvidia-580/dkms-nvidia/dkms-nvidia-580.spec b/anda/system/nvidia-580/dkms-nvidia/dkms-nvidia-580.spec index 2c61a1bcc0..c06999acfd 100644 --- a/anda/system/nvidia-580/dkms-nvidia/dkms-nvidia-580.spec +++ b/anda/system/nvidia-580/dkms-nvidia/dkms-nvidia-580.spec @@ -6,8 +6,8 @@ %global modulename nvidia-580xx Name: dkms-%{modulename} -Version: 580.159.03 -Release: 2%{?dist} +Version: 580.159.04 +Release: 1%{?dist} Summary: NVIDIA display driver kernel module Epoch: 3 License: NVIDIA License diff --git a/anda/system/nvidia-580/nvidia-driver/nvidia-driver-580.spec b/anda/system/nvidia-580/nvidia-driver/nvidia-driver-580.spec index 90b9dfc052..812122e311 100644 --- a/anda/system/nvidia-580/nvidia-driver/nvidia-driver-580.spec +++ b/anda/system/nvidia-580/nvidia-driver/nvidia-driver-580.spec @@ -11,7 +11,7 @@ %endif Name: %{real_name}-580xx -Version: 580.159.04 +Version: 580.167.08 Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards Epoch: 3 diff --git a/anda/system/nvidia-580/nvidia-kmod-common/nvidia-580-kmod-common.spec b/anda/system/nvidia-580/nvidia-kmod-common/nvidia-580-kmod-common.spec index e83d827450..31bbfae625 100644 --- a/anda/system/nvidia-580/nvidia-kmod-common/nvidia-580-kmod-common.spec +++ b/anda/system/nvidia-580/nvidia-kmod-common/nvidia-580-kmod-common.spec @@ -6,7 +6,7 @@ %global modulename nvidia-580xx Name: %{modulename}-kmod-common -Version: 580.159.03 +Version: 580.159.04 Release: 1%{?dist} Summary: Common file for NVIDIA's proprietary driver kernel modules Epoch: 3 diff --git a/anda/system/nvidia-580/nvidia-kmod/nvidia-580xx-kmod.spec b/anda/system/nvidia-580/nvidia-kmod/nvidia-580xx-kmod.spec index 52073344a2..589784572b 100644 --- a/anda/system/nvidia-580/nvidia-kmod/nvidia-580xx-kmod.spec +++ b/anda/system/nvidia-580/nvidia-kmod/nvidia-580xx-kmod.spec @@ -5,8 +5,8 @@ %global debug_package %{nil} Name: %{modulename}-kmod -Version: 580.159.03 -Release: 2%{?dist} +Version: 580.159.04 +Release: 1%{?dist} Summary: NVIDIA display driver kernel module Epoch: 3 License: NVIDIA License diff --git a/anda/system/nvidia-580/nvidia-modprobe/nvidia-modprobe-580.spec b/anda/system/nvidia-580/nvidia-modprobe/nvidia-modprobe-580.spec index ac7dc8d2db..2e1d5248c5 100644 --- a/anda/system/nvidia-580/nvidia-modprobe/nvidia-modprobe-580.spec +++ b/anda/system/nvidia-580/nvidia-modprobe/nvidia-modprobe-580.spec @@ -1,7 +1,7 @@ %global real_name nvidia-modprobe Name: %{real_name}-580xx -Version: 580.159.04 +Version: 580.167.08 Release: 1%{?dist} Summary: NVIDIA kernel module loader Epoch: 3 diff --git a/anda/system/nvidia-580/nvidia-persistenced/nvidia-persistenced-580.spec b/anda/system/nvidia-580/nvidia-persistenced/nvidia-persistenced-580.spec index 447a2bf8f1..fc0b56a6f0 100644 --- a/anda/system/nvidia-580/nvidia-persistenced/nvidia-persistenced-580.spec +++ b/anda/system/nvidia-580/nvidia-persistenced/nvidia-persistenced-580.spec @@ -1,7 +1,7 @@ %global real_name nvidia-persistenced Name: %{real_name}-580xx -Version: 580.159.04 +Version: 580.167.08 Release: 1%{?dist} Summary: A daemon to maintain persistent software state in the NVIDIA driver Epoch: 3 diff --git a/anda/system/nvidia-580/nvidia-settings/nvidia-settings-580.spec b/anda/system/nvidia-580/nvidia-settings/nvidia-settings-580.spec index fc20eb8a73..8d41a085ba 100644 --- a/anda/system/nvidia-580/nvidia-settings/nvidia-settings-580.spec +++ b/anda/system/nvidia-580/nvidia-settings/nvidia-settings-580.spec @@ -1,7 +1,7 @@ %global real_name nvidia-settings Name: %{real_name}-580xx -Version: 580.159.04 +Version: 580.167.08 Release: 1%{?dist} Summary: Configure the NVIDIA graphics driver Epoch: 3 diff --git a/anda/system/nvidia-580/nvidia-xconfig/nvidia-xconfig-580.spec b/anda/system/nvidia-580/nvidia-xconfig/nvidia-xconfig-580.spec index 9e658c47b7..9a43b1536c 100644 --- a/anda/system/nvidia-580/nvidia-xconfig/nvidia-xconfig-580.spec +++ b/anda/system/nvidia-580/nvidia-xconfig/nvidia-xconfig-580.spec @@ -1,7 +1,7 @@ %global real_name nvidia-xconfig Name: %{real_name}-580xx -Version: 580.159.04 +Version: 580.167.08 Release: 1%{?dist} Summary: NVIDIA X configuration file editor Epoch: 3 diff --git a/anda/system/nvidia-patch/nvidia-patch.spec b/anda/system/nvidia-patch/nvidia-patch.spec index 5c361215af..8339ddbaa6 100644 --- a/anda/system/nvidia-patch/nvidia-patch.spec +++ b/anda/system/nvidia-patch/nvidia-patch.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} -%global commit 0e665c46a87ba99b41a07169fa3acf6162739648 +%global commit 9f568e61bc6acba41fd9f5d457d9128782bc3e1c %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260507 +%global commit_date 20260616 %global patches %{_datadir}/src/nvidia-patch diff --git a/anda/system/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec b/anda/system/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec index 6af2b664fa..c5357ec6fc 100644 --- a/anda/system/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec +++ b/anda/system/nvidia/compat-nvidia-repo/compat-nvidia-repo.spec @@ -1,5 +1,5 @@ Name: compat-nvidia-repo -Version: 595.71.05 +Version: 610.43.02 Epoch: 3 Release: 1%{?dist} Summary: Compatibility package required by official CUDA packages diff --git a/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec b/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec index e6c840fbb0..274bc25338 100644 --- a/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec +++ b/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec @@ -4,16 +4,14 @@ %global modulename nvidia Name: dkms-%{modulename} -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: NVIDIA display driver kernel module Epoch: 3 License: NVIDIA License URL: https://www.nvidia.com/object/unix.html -Source0: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{version}/open-gpu-kernel-modules-%{version}.tar.gz +Source0: https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-%{version}.tar.xz Source1: %{name}.conf -Patch0: https://github.com/CachyOS/open-gpu-kernel-modules/commit/211f012865b8ea2ba62c3422f5519cb32395c3e0.patch -Patch1: https://github.com/CachyOS/open-gpu-kernel-modules/commit/92789a5709f64008bee34bb044e33a3de9702eb7.patch BuildRequires: sed Requires: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version} Requires: dkms @@ -30,7 +28,7 @@ Packager: Terra Packaging Team This package provides the NVIDIA kernel driver modules. %prep -%autosetup -p1 -n open-gpu-kernel-modules-%{version} +%autosetup -p1 -n NVIDIA-kernel-module-source-%{version} cp -f %{SOURCE1} dkms.conf diff --git a/anda/system/nvidia/nvidia-driver/nvidia-driver.spec b/anda/system/nvidia/nvidia-driver/nvidia-driver.spec index c67ac5ff84..751fca0f9d 100644 --- a/anda/system/nvidia/nvidia-driver/nvidia-driver.spec +++ b/anda/system/nvidia/nvidia-driver/nvidia-driver.spec @@ -9,7 +9,7 @@ %endif Name: nvidia-driver -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards Epoch: 3 diff --git a/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec b/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec index 9d88534098..658e6bce14 100644 --- a/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec +++ b/anda/system/nvidia/nvidia-kmod-common/nvidia-kmod-common.spec @@ -5,7 +5,7 @@ %global __brp_strip %{nil} Name: nvidia-kmod-common -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: Common file for NVIDIA's proprietary driver kernel modules Epoch: 3 diff --git a/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec b/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec index 35e6ac4a54..e383f4526d 100644 --- a/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec +++ b/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec @@ -7,15 +7,13 @@ %undefine _auto_set_build_flags Name: nvidia-kmod -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: NVIDIA display driver kernel module Epoch: 3 License: NVIDIA License URL: http://www.nvidia.com/object/unix.html -Source0: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{version}/open-gpu-kernel-modules-%{version}.tar.gz -Patch0: https://github.com/CachyOS/open-gpu-kernel-modules/commit/211f012865b8ea2ba62c3422f5519cb32395c3e0.patch -Patch1: https://github.com/CachyOS/open-gpu-kernel-modules/commit/92789a5709f64008bee34bb044e33a3de9702eb7.patch +Source0: https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-%{version}.tar.xz BuildRequires: gcc-c++ BuildRequires: kmodtool Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version} @@ -41,14 +39,14 @@ kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?bui %setup -c -pushd open-gpu-kernel-modules-%{version} +pushd NVIDIA-kernel-module-source-%{version} %autopatch -p1 popd -rm -f open-gpu-kernel-modules-%{version}/dkms.conf +rm -f NVIDIA-kernel-module-source-%{version}/dkms.conf for kernel_version in %{?kernel_versions}; do - cp -fr open-gpu-kernel-modules-%{version} _kmod_build_${kernel_version%%___*} + cp -fr NVIDIA-kernel-module-source-%{version} _kmod_build_${kernel_version%%___*} done %build diff --git a/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec b/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec index 82e682e235..76921dd604 100644 --- a/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec +++ b/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec @@ -1,5 +1,5 @@ Name: nvidia-modprobe -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: NVIDIA kernel module loader Epoch: 3 diff --git a/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec b/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec index 68a782544f..189062f2b9 100644 --- a/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec +++ b/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec @@ -1,5 +1,5 @@ Name: nvidia-persistenced -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: A daemon to maintain persistent software state in the NVIDIA driver Epoch: 3 diff --git a/anda/system/nvidia/nvidia-settings/nvidia-settings.spec b/anda/system/nvidia/nvidia-settings/nvidia-settings.spec index 2662615a57..b4440885ec 100644 --- a/anda/system/nvidia/nvidia-settings/nvidia-settings.spec +++ b/anda/system/nvidia/nvidia-settings/nvidia-settings.spec @@ -1,5 +1,5 @@ Name: nvidia-settings -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: Configure the NVIDIA graphics driver Epoch: 3 diff --git a/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec b/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec index bd50e931cc..91525b5601 100644 --- a/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec +++ b/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec @@ -1,5 +1,5 @@ Name: nvidia-xconfig -Version: 595.71.05 +Version: 610.43.02 Release: 1%{?dist} Summary: NVIDIA X configuration file editor Epoch: 3 diff --git a/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec b/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec index 8567b77cb8..e5b6f0a2d1 100644 --- a/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec +++ b/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec @@ -1,6 +1,6 @@ -%global commit c4ba7e2649becd6c28289095b2992c7c0b4bb5e4 +%global commit 183c3d76c26aeb97fc25bdade9df7b734fbfb2f3 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260525 +%global commit_date 20260624 %global ver 0.6.7 # We aren't using Mono but RPM expected Mono diff --git a/anda/system/pion/pion.spec b/anda/system/pion/pion.spec index b44b5c599d..0e76c29252 100644 --- a/anda/system/pion/pion.spec +++ b/anda/system/pion/pion.spec @@ -1,5 +1,5 @@ Name: pion -Version: 0.1.0 +Version: 0.1.1 Release: 1%{?dist} Summary: Binder IPC Linux userspace root service License: MIT AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT) diff --git a/anda/system/pixi/pixi.spec b/anda/system/pixi/pixi.spec index a9b2f5e193..2c54c0803b 100644 --- a/anda/system/pixi/pixi.spec +++ b/anda/system/pixi/pixi.spec @@ -1,5 +1,5 @@ Name: pixi -Version: 0.69.0 +Version: 0.71.0 Release: 1%{?dist} Summary: A cross-platform, multi-language package manager License: BSD-3-Clause diff --git a/anda/system/ryzen-smu/akmod/anda.hcl b/anda/system/ryzen-smu/akmod/anda.hcl new file mode 100644 index 0000000000..f94d8583a2 --- /dev/null +++ b/anda/system/ryzen-smu/akmod/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "ryzen_smu-kmod.spec" + } + labels { + mock = 1 + nightly = 1 + } +} diff --git a/anda/system/ryzen-smu/akmod/ryzen_smu-kmod.spec b/anda/system/ryzen-smu/akmod/ryzen_smu-kmod.spec new file mode 100644 index 0000000000..2cf27af583 --- /dev/null +++ b/anda/system/ryzen-smu/akmod/ryzen_smu-kmod.spec @@ -0,0 +1,69 @@ +# The reason why this package is a separate from the main one despite using the same sources +# is because akmods use the srpm to build the kmod package, and if the kmod package is included +# in the main package, akmods will reinstall the userspace package every time the kernel is updated. + +%if 0%{?fedora} +%global buildforkernels akmod +%global debug_package %{nil} +%endif + +%global commit 0bb95d961664c7a0ac180f849fa16fe7da71922d +%global commitdate 20260425 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global modulename ryzen_smu + +Name: %{modulename}-kmod +Version: 0.1.7^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen processors +License: GPL-2.0-only +URL: https://github.com/amkillam/ryzen_smu +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +BuildRequires: gcc +BuildRequires: make +BuildRequires: kmodtool + +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Requires: kernel-devel +Conflicts: dkms-%{modulename} +Packager: Kyle Gospodnetich + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Ryzen SMU is a Linux kernel driver that exposes access to the SMU (System +Management Unit) for certain AMD Ryzen processors. It allows reading and writing +SMU mailbox commands and exposes the power metrics (PM) table via sysfs. +Use at your own risk. + +%prep +# error out if there was something wrong with kmodtool +%{?kmodtool_check} + +# print kmodtool output for debugging purposes: +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%setup -q -c -n %{modulename}-%{commit} + +for kernel_version in %{?kernel_versions} ; do + cp -a %{modulename}-%{commit} _kmod_build_${kernel_version%%___*} +done + +%build +for kernel_version in %{?kernel_versions} ; do + make V=1 %{?_smp_mflags} -C ${kernel_version##*___} M=${PWD}/_kmod_build_${kernel_version%%___*} modules +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -D -m 755 _kmod_build_${kernel_version%%___*}/%{modulename}.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/%{modulename}.ko +done +%{?akmod_install} + +%changelog +* Thu Jun 04 2026 Kyle Gospodnetich +- Initial package release \ No newline at end of file diff --git a/anda/system/ryzen-smu/akmod/update.rhai b/anda/system/ryzen-smu/akmod/update.rhai new file mode 100644 index 0000000000..002e590779 --- /dev/null +++ b/anda/system/ryzen-smu/akmod/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("amkillam/ryzen_smu")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); +} diff --git a/anda/system/ryzen-smu/dkms/anda.hcl b/anda/system/ryzen-smu/dkms/anda.hcl new file mode 100644 index 0000000000..3f9ae60234 --- /dev/null +++ b/anda/system/ryzen-smu/dkms/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-ryzen_smu.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/ryzen-smu/dkms/dkms-ryzen_smu.spec b/anda/system/ryzen-smu/dkms/dkms-ryzen_smu.spec new file mode 100644 index 0000000000..7f84a1c2a7 --- /dev/null +++ b/anda/system/ryzen-smu/dkms/dkms-ryzen_smu.spec @@ -0,0 +1,61 @@ +%global commit 0bb95d961664c7a0ac180f849fa16fe7da71922d +%global debug_package %{nil} +%global modulename ryzen_smu +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260425 + +Name: dkms-%{modulename} +Version: 0.1.7^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen processors +License: GPL-2.0-only +URL: https://github.com/amkillam/ryzen_smu +Source: %{url}/archive/%{commit}.tar.gz +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: x86_64 +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod +Packager: Kyle Gospodnetich + +%description +Ryzen SMU is a Linux kernel driver that exposes access to the SMU (System +Management Unit) for certain AMD Ryzen processors. It allows reading and writing +SMU mailbox commands and exposes the power metrics (PM) table via sysfs. +Use at your own risk. + +%package akmod-modules +Summary: Modules for Akmods +Requires: akmod-%{name} +BuildArch: noarch + +%description akmod-modules +Akmods modules for the akmod-%{name} package. + +%prep +%autosetup -p1 -n %{modulename}-%{commit} +/usr/bin/sed -i -e 's/@VERSION@/%{version}/g' -e 's/@CFLGS@//g' dkms.conf +# Fix bad python3 shebangs +find . -name '*.py' -exec /usr/bin/sed -i '1s|^#![[:space:]]*/bin/python$|#!/usr/bin/python3|' {} + + +%install +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version} +cp -fr ./ %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%post +dkms add -m %{modulename} -v %{version} -q --rpm_safe_upgrade || : +# Rebuild and make available for the currently running kernel: +dkms build -m %{modulename} -v %{version} -q || : +dkms install -m %{modulename} -v %{version} -q --force || : + +%files +%{_usrsrc}/%{modulename}-%{version} +%license LICENSE +%doc README.md + +%changelog +* Thu Jun 04 2026 Kyle Gospodnetich +- Initial package release diff --git a/anda/system/ryzen-smu/dkms/update.rhai b/anda/system/ryzen-smu/dkms/update.rhai new file mode 100644 index 0000000000..002e590779 --- /dev/null +++ b/anda/system/ryzen-smu/dkms/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("amkillam/ryzen_smu")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); +} diff --git a/anda/system/ryzen-smu/kmod-common/anda.hcl b/anda/system/ryzen-smu/kmod-common/anda.hcl new file mode 100644 index 0000000000..8fd46b61e9 --- /dev/null +++ b/anda/system/ryzen-smu/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "ryzen_smu.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/ryzen-smu/kmod-common/ryzen_smu.spec b/anda/system/ryzen-smu/kmod-common/ryzen_smu.spec new file mode 100644 index 0000000000..555aaffe10 --- /dev/null +++ b/anda/system/ryzen-smu/kmod-common/ryzen_smu.spec @@ -0,0 +1,50 @@ +%global commit 0bb95d961664c7a0ac180f849fa16fe7da71922d +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260425 + +Name: ryzen_smu +Version: 0.1.7^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen processors +License: GPL-2.0-only +URL: https://github.com/amkillam/ryzen_smu +Source: %{url}/archive/%{commit}.tar.gz +BuildRequires: systemd-rpm-macros +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: noarch +Packager: Kyle Gospodnetich + +%description +Ryzen SMU is a Linux kernel driver that exposes access to the SMU (System +Management Unit) for certain AMD Ryzen processors. It allows reading and writing +SMU mailbox commands and exposes the power metrics (PM) table via sysfs. +Use at your own risk. + +%package akmod-modules +Summary: Modules for Akmods +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +BuildArch: noarch + +%description akmod-modules +Akmods modules for the akmod-%{name} package. + +%prep +%autosetup -p1 -n %{name}-%{commit} + +# Autoload the module on boot +echo %{name} > %{name}.conf + +# Akmods modules +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +%files +%license LICENSE +%doc README.md + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%changelog +* Thu Jun 04 2026 Kyle Gospodnetich +- Initial package release diff --git a/anda/system/ryzen-smu/kmod-common/update.rhai b/anda/system/ryzen-smu/kmod-common/update.rhai new file mode 100644 index 0000000000..002e590779 --- /dev/null +++ b/anda/system/ryzen-smu/kmod-common/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("amkillam/ryzen_smu")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); +} diff --git a/anda/system/sc0710/akmod/sc0710-kmod.spec b/anda/system/sc0710/akmod/sc0710-kmod.spec index 3222c892c1..832f42216f 100644 --- a/anda/system/sc0710/akmod/sc0710-kmod.spec +++ b/anda/system/sc0710/akmod/sc0710-kmod.spec @@ -1,6 +1,6 @@ -%global commit 56c3cc0748cc66220487aaa63dc621aa1076994d +%global commit 8015681139833d9cbaff739a1085785f9389f6aa %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260418 +%global commitdate 20260617 %global ver 0 %define buildforkernels akmod %global debug_package %{nil} diff --git a/anda/system/sc0710/dkms/dkms-sc0710.spec b/anda/system/sc0710/dkms/dkms-sc0710.spec index e3f8029845..271dc606e6 100644 --- a/anda/system/sc0710/dkms/dkms-sc0710.spec +++ b/anda/system/sc0710/dkms/dkms-sc0710.spec @@ -1,6 +1,6 @@ -%global commit 56c3cc0748cc66220487aaa63dc621aa1076994d +%global commit 8015681139833d9cbaff739a1085785f9389f6aa %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260418 +%global commitdate 20260617 %global ver 0 %global debug_package %{nil} %global modulename sc0710 diff --git a/anda/system/sc0710/kmod-common/sc0710.spec b/anda/system/sc0710/kmod-common/sc0710.spec index ec5c2faf77..a68279892c 100644 --- a/anda/system/sc0710/kmod-common/sc0710.spec +++ b/anda/system/sc0710/kmod-common/sc0710.spec @@ -1,6 +1,6 @@ -%global commit 56c3cc0748cc66220487aaa63dc621aa1076994d +%global commit 8015681139833d9cbaff739a1085785f9389f6aa %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260418 +%global commitdate 20260617 %global ver 0 Name: sc0710 diff --git a/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec b/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec index 67db8f6921..c57adccc19 100644 --- a/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec +++ b/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec @@ -1,6 +1,6 @@ -%global commit 6a19de9c8fe192c14412c5e1ad7ca6fa259ce168 +%global commit 19ed8749bb7acca29bd361479d71a07815442273 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260523 +%global commitdate 20260624 %global ver 1.1.1 %undefine __brp_mangle_shebangs diff --git a/anda/system/scx-tools/nightly/scx-tools-nightly.spec b/anda/system/scx-tools/nightly/scx-tools-nightly.spec index f9ca1aae8a..01e9e1c09f 100644 --- a/anda/system/scx-tools/nightly/scx-tools-nightly.spec +++ b/anda/system/scx-tools/nightly/scx-tools-nightly.spec @@ -1,6 +1,6 @@ -%global commit 38ac251f9110fac6741470e229a3947b960d53d7 +%global commit 0e383bcd2889c91f8d5a0829f2944894c94708d8 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260525 +%global commitdate 20260529 %global ver 1.1.1 %global appid com.sched_ext.scx %global developer "sched-ext Contributors" diff --git a/anda/system/taidan/taidan.spec b/anda/system/taidan/taidan.spec index 757c922208..83bb500eaf 100644 --- a/anda/system/taidan/taidan.spec +++ b/anda/system/taidan/taidan.spec @@ -1,12 +1,13 @@ Name: taidan Version: 0.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Out-Of-Box-Experience (OOBE) and Welcome App SourceLicense: GPL-3.0-or-later AND GPL-2.0-or-later License: (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND GPL-3.0-or-later AND GPL-2.0-or-later URL: https://github.com/Ultramarine-Linux/taidan Packager: Terra Packaging Team -Conflicts: initial-setup +Requires: %name-configs +Suggests: %name-default-configs Requires: dbus-daemon Requires: (glib2 or (/usr/bin/plasma-apply-colorscheme and kf6-kconfig)) Requires: shadow-utils @@ -32,6 +33,14 @@ BuildRequires: glibc-all-langpacks Taidan is a GUI Out-Of-Box-Experience (OOBE) and Welcome App for Ultramarine Linux, written in Rust and the Helium toolkit. +%package default-configs +Summary: Default configurations for Taidan +Provides: %name-configs +BuildArch: noarch + +%description default-configs +This package contains the default configuration files for taidan. + %prep %git_clone %cargo_prep_online @@ -51,7 +60,6 @@ DESTDIR=%buildroot ./scripts/install.sh %_datadir/polkit-1/rules.d/100-taidan.rules %_datadir/taidan/ %_presetdir/95-taidan.preset -%_sysconfdir/com.fyralabs.Taidan/ %_sysconfdir/pam.d/taidan %_sysusersdir/taidan.conf %_unitdir/taidan-initial-setup.service @@ -59,7 +67,15 @@ DESTDIR=%buildroot ./scripts/install.sh %dir %_prefix/lib/taidan/ %_prefix/lib/taidan/labwc/* +%files default-configs +%config %_sysconfdir/com.fyralabs.Taidan/ +%config %_datadir/taidan/ + %changelog +* Tue Jun 17 2026 madonuko - 0.2.1-2 +- split config files to separate subpkg +- remove conflict with initial-setup + * Sun Mar 15 2026 Tulip Blossom - Add dbus-daemon as runtime dependency diff --git a/anda/system/uupd/uupd.spec b/anda/system/uupd/uupd.spec index 39f1511550..2257ed9672 100644 --- a/anda/system/uupd/uupd.spec +++ b/anda/system/uupd/uupd.spec @@ -1,6 +1,6 @@ Name: uupd -Version: 1.3.0 -Release: 1%?dist +Version: 1.4.0 +Release: 1%{?dist} Summary: Centralized update service/checker made for Universal Blue License: Apache-2.0 URL: https://github.com/ublue-os/uupd diff --git a/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec b/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec index fb48f818da..5dd52995f1 100644 --- a/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec +++ b/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec @@ -5,7 +5,7 @@ %endif Name: uutils-coreutils-replace -Version: 0.8.0 +Version: 0.9.0 Release: 1%{?dist} Summary: Cross-platform Rust rewrite of the GNU coreutils License: MIT diff --git a/anda/system/veracrypt/veracrypt.spec b/anda/system/veracrypt/veracrypt.spec index 8f71f1b476..39d0249b5a 100644 --- a/anda/system/veracrypt/veracrypt.spec +++ b/anda/system/veracrypt/veracrypt.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} %define _unpackaged_files_terminate_build 0 %define appid jp.veracrypt.veracrypt -%global ver VeraCrypt_1.26.24 +%global ver VeraCrypt_1.26.29 %global sanitized_ver %(echo %{ver} | sed 's/^VeraCrypt_//') Name: veracrypt diff --git a/anda/system/vicinae/vicinae.spec b/anda/system/vicinae/vicinae.spec index 0bb91c4a6e..4266e597ea 100644 --- a/anda/system/vicinae/vicinae.spec +++ b/anda/system/vicinae/vicinae.spec @@ -5,9 +5,9 @@ %endif Name: vicinae -Version: 0.21.1 -Release: 1%{?dist} -License: GPL-3.0 +License: GPL-3.0-or-later +Version: 0.22.0 +Release: 2%{?dist} URL: https://docs.vicinae.com Source: https://github.com/vicinaehq/%{name}/archive/refs/tags/v%{version}.tar.gz Summary: A high-performance, native launcher for Linux @@ -38,9 +38,11 @@ BuildRequires: anda-srpm-macros BuildRequires: ninja-build BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-private-devel +BuildRequires: xcb-util-keysyms-devel BuildRequires: desktop-file-utils Requires: nodejs-npm +Requires: layer-shell-qt %description Vicinae (pronounced "vih-SIN-ay") is a high-performance, native launcher for @@ -89,6 +91,7 @@ install -Dm 644 extra/%{name}-url-handler.desktop -t %{buildroot}%{_appsdir} %{_libexecdir}/%{name}/vicinae-server %dnl %{_libexecdir}/%{name}/vicinae-snippet-server %{_libexecdir}/%{name}/vicinae-input-server +%{_libexecdir}/%{name}/vicinae-file-indexer %{_modulesloaddir}/vicinae.conf %dnl %{_udevrulesdir}/70-vicinae.rules diff --git a/anda/system/wine/dev/wine-dev.spec b/anda/system/wine/dev/wine-dev.spec index a984ddf5a1..a170dc48f6 100644 --- a/anda/system/wine/dev/wine-dev.spec +++ b/anda/system/wine/dev/wine-dev.spec @@ -9,7 +9,7 @@ %global _prefix /usr/share/wine-dev %global srcmajor 11.x # Make this as a variable instead in case of WINE RCs -%global ver wine-11.9 +%global ver wine-11.11 %global cleanver %(echo %{ver} | sed 's/v//g;s/wine-//g') # This is unfortunate but a lot of Fedora's/SUSE's hardening flags break WINE diff --git a/anda/system/wine/staging/wine-staging.spec b/anda/system/wine/staging/wine-staging.spec index 36107b3d4f..c8107dc9d0 100644 --- a/anda/system/wine/staging/wine-staging.spec +++ b/anda/system/wine/staging/wine-staging.spec @@ -18,7 +18,7 @@ Name: wine-staging -Version: 11.9 +Version: 11.11 Release: 1%{?dist} Epoch: 1 Summary: WINE Is Not An Emulator - runs MS Windows programs diff --git a/anda/terra/appstream-helper/terra-appstream-helper.spec b/anda/terra/appstream-helper/terra-appstream-helper.spec index 248cda2d73..6ec8d8d4bb 100644 --- a/anda/terra/appstream-helper/terra-appstream-helper.spec +++ b/anda/terra/appstream-helper/terra-appstream-helper.spec @@ -1,6 +1,6 @@ Name: terra-appstream-helper Version: 0.1.10 -Release: 2%?dist +Release: 3%?dist Summary: Scripts and RPM macros to help with AppStream metadata generation for Terra License: GPL-3.0-or-Later URL: https://github.com/terrapkg/appstream-helper diff --git a/anda/terra/obsolete/terra-obsolete.spec b/anda/terra/obsolete/terra-obsolete.spec index 5a59d63791..54db1d64ac 100644 --- a/anda/terra/obsolete/terra-obsolete.spec +++ b/anda/terra/obsolete/terra-obsolete.spec @@ -4,7 +4,7 @@ Version: %{?fedora:%{fedora}}%{?rhel:%{rhel}} # The dist number is the version here, it is intentionally not repeated in the release %global dist %nil -Release: 2%?dist +Release: 5%{?dist} Summary: A package to obsolete retired packages, based on Fedora's equivalent package License: LicenseRef-Fedora-Public-Domain @@ -135,7 +135,8 @@ Packager: Terra Packaging Team %obsolete terra-libindicator-gtk3 16.10.0-3 %obsolete terra-libindicator-gtk3-devel 16.10.0-3 %obsolete terra-blueprint-compiler 0.16.0-3 -%obsolete nushell 0.101.0-3 +# See #12808 for why this obsoletion is retracted +#obsolete nushell 0.101.0-3 %obsolete uutils-coreutils-util-linux 0.0.29-2 %obsolete uutils-coreutils-util-linux-replace 0.0.29-2 # pantheon packages only packaged in terra @@ -151,6 +152,12 @@ Packager: Terra Packaging Team %obsolete_ticket https://github.com/terrapkg/packages/pull/7098 %obsolete terra-surface-dtx-daemon v0.3.10~1-5 +%obsolete_ticket https://github.com/terrapkg/packages/pull/12665 +%obsolete supergfxctl 5.2.7-3 + +%obsolete_ticket https://github.com/terrapkg/packages/pull/12665 +%obsolete gnome-shell-extension-gpu-switcher-supergfxctl 11^20250925.1de26db-4 + %obsolete_ticket https://github.com/terrapkg/packages/pull/7521 %obsolete x264-bash-completion 0.165-18.20250609gitb35605ac diff --git a/anda/terra/sccache/terra-sccache.spec b/anda/terra/sccache/terra-sccache.spec index c2217f2bf5..719984432e 100644 --- a/anda/terra/sccache/terra-sccache.spec +++ b/anda/terra/sccache/terra-sccache.spec @@ -8,13 +8,13 @@ This build actually enables caching to remote storage.} %bcond dist %["%{_target_cpu}" == "x86_64"] Name: terra-sccache -Version: 0.15.0 +Version: 0.16.0 Release: 1%{?dist} Summary: Remote caching enabled builds of sccache SourceLicense: Apache-2.0 AND (Apache-2.0 OR MIT) License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND (MIT OR Apache-2.0) AND Unicode-DFS-2016) AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND (CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND CDLA-Permissive-2.0 AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) URL: https://crates.io/crates/sccache -Source0: %{crates_source} +Source0: %{terra_crates_source} BuildRequires: anda-srpm-macros BuildRequires: cargo BuildRequires: cargo-rpm-macros diff --git a/anda/terra/srpm-macros/anda-srpm-macros.spec b/anda/terra/srpm-macros/anda-srpm-macros.spec index 7bd668bdb6..f43b84d1fd 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.3.9 +Version: 0.3.11 Release: 1%{?dist} Summary: SRPM macros for extra Fedora packages diff --git a/anda/terra/terra-scripts/terra-scripts.spec b/anda/terra/terra-scripts/terra-scripts.spec index 39fa113567..b6b374b544 100644 --- a/anda/terra/terra-scripts/terra-scripts.spec +++ b/anda/terra/terra-scripts/terra-scripts.spec @@ -1,5 +1,5 @@ Name: terra-scripts -Version: 0.1.4 +Version: 0.2.1 Release: 1%{?dist} Summary: Helpful scripts for contributing to Terra License: GPL-3.0-or-later @@ -8,6 +8,7 @@ Source0: %{url}/archive/refs/tags/v%{version}.tar.gz Requires: bash BuildArch: noarch Packager: Its-J +Recommends: podman %description %{summary}. @@ -20,6 +21,7 @@ install -Dm 755 format-license.sh %{buildroot}%{_bindir}/format-license install -Dm 755 ldd-dnf.sh %{buildroot}%{_bindir}/ldd-dnf install -Dm 755 changelog.sh %{buildroot}%{_bindir}/changelog install -Dm 755 getcommit.sh %{buildroot}%{_bindir}/getcommit +install -Dm 755 panda.sh %{buildroot}%{_bindir}/panda %files %doc README.md @@ -28,8 +30,11 @@ install -Dm 755 getcommit.sh %{buildroot}%{_bindir}/getcommit %{_bindir}/ldd-dnf %{_bindir}/changelog %{_bindir}/getcommit +%{_bindir}/panda %changelog +* Fri May 29 2026 Jaiden Riordan +- Add panda.sh * Sun May 24 2026 Its-J - Add getcommit.sh * Sat May 23 2026 Its-J diff --git a/anda/themes/breeze-plus-icon-theme/breeze-plus-icon-theme.spec b/anda/themes/breeze-plus-icon-theme/breeze-plus-icon-theme.spec index 46997847ee..78c3d0f83c 100644 --- a/anda/themes/breeze-plus-icon-theme/breeze-plus-icon-theme.spec +++ b/anda/themes/breeze-plus-icon-theme/breeze-plus-icon-theme.spec @@ -1,6 +1,6 @@ Name: breeze-plus-icon-theme -Version: 6.19.0 -Release: 2%{?dist} +Version: 6.26.0 +Release: 1%{?dist} Summary: Breeze icon theme with additional icons Packager: Amy King diff --git a/anda/themes/darkly/anda.hcl b/anda/themes/darkly/anda.hcl new file mode 100644 index 0000000000..73718cd9c5 --- /dev/null +++ b/anda/themes/darkly/anda.hcl @@ -0,0 +1,5 @@ +project "pkg" { + rpm { + spec = "darkly.spec" + } +} diff --git a/anda/themes/darkly/darkly.spec b/anda/themes/darkly/darkly.spec new file mode 100644 index 0000000000..5cba122249 --- /dev/null +++ b/anda/themes/darkly/darkly.spec @@ -0,0 +1,85 @@ +Name: darkly +Version: 0.5.38 +Release: 1%{?dist} +License: GPL-2.0-or-later +Summary: Forked from the lightly theme, this style brings a fresh and unique look to your applications +URL: https://github.com/Bali10050/Darkly +Source: %{url}/archive/refs/tags/v%{version}.tar.gz +Packager: Owen Zimmerman + +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qttools-devel +BuildRequires: qt6-qtdeclarative-devel +BuildRequires: kf6-kcoreaddons-devel +BuildRequires: kf6-kcolorscheme-devel +BuildRequires: kf6-kconfig-devel +BuildRequires: kf6-kguiaddons-devel +BuildRequires: kf6-ki18n-devel +BuildRequires: kf6-kiconthemes-devel +BuildRequires: kf6-kwindowsystem-devel +BuildRequires: kf6-kirigami-devel +BuildRequires: kf6-kcmutils-devel +BuildRequires: kdecoration-devel + +Requires: hicolor-icon-theme +Requires: kdecoration +Requires: qt6-qtdeclarative +Requires: kf6-kcoreaddons +Requires: kf6-kcmutils +Requires: kf6-kcolorscheme +Requires: kf6-kconfig +Requires: kf6-kguiaddons +Requires: kf6-kiconthemes +Requires: kf6-kwindowsystem +Requires: kf6-frameworkintegration +Requires: kf6-plasma + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{evr} + +%description devel +This package contains the development libraries for %{name}. + + +%prep +%autosetup -n Darkly-%{version} + +%conf +%cmake -DBUILD_QT6=ON \ + -DBUILD_QT5=OFF + +%build +%cmake_build + +%install +%cmake_install + +%files +%doc README.md +%license COPYING +%{_bindir}/darkly-settings6 +%{_appsdir}/darklystyleconfig.desktop +%{_appsdir}/kcm_darklydecoration.desktop +%{_datadir}/color-schemes/Darkly.colors +%{_scalableiconsdir}/darkly-settings.svgz +%{_datadir}/kservices6/darklydecorationconfig.desktop +%{_datadir}/kstyle/themes/darkly.themerc +%{_datadir}/plasma/desktoptheme/darkly/* + +%files devel +%{_libdir}/cmake/Darkly/ +%{_qt6_plugindir}/kstyle_config/darklystyleconfig.so +%{_qt6_plugindir}/org.kde.kdecoration3/org.kde.darkly.so +%{_qt6_plugindir}/org.kde.kdecoration3.kcm/kcm_darklydecoration.so +%{_qt6_plugindir}/styles/darkly6.so + +%changelog +* Tue Jun 02 2026 Owen Zimmerman - 0.5.37-1 +- Initial commit diff --git a/anda/themes/darkly/update.rhai b/anda/themes/darkly/update.rhai new file mode 100644 index 0000000000..f945dd5051 --- /dev/null +++ b/anda/themes/darkly/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Bali10050/Darkly")); diff --git a/anda/themes/fluent-icon-theme/fluent-icon-theme.spec b/anda/themes/fluent-icon-theme/fluent-icon-theme.spec index a972b7b875..3e4450fef5 100644 --- a/anda/themes/fluent-icon-theme/fluent-icon-theme.spec +++ b/anda/themes/fluent-icon-theme/fluent-icon-theme.spec @@ -1,8 +1,8 @@ -%global tag 2025-08-21 +%global tag 2026-06-19 Name: fluent-icon-theme -Version: 20250821 -Release: 4%?dist +Version: 20260619 +Release: 1%{?dist} Summary: Fluent icon theme for linux desktops License: GPL-3.0-or-later diff --git a/anda/themes/lightly-qt5/VER5.txt b/anda/themes/lightly-qt5/VER5.txt index 7273c0fa8c..8f92bfdd49 100644 --- a/anda/themes/lightly-qt5/VER5.txt +++ b/anda/themes/lightly-qt5/VER5.txt @@ -1 +1 @@ -25 +35 diff --git a/anda/themes/tela-icon-theme/tela-icon-theme.spec b/anda/themes/tela-icon-theme/tela-icon-theme.spec index 56cf2eb0dc..de1112f388 100644 --- a/anda/themes/tela-icon-theme/tela-icon-theme.spec +++ b/anda/themes/tela-icon-theme/tela-icon-theme.spec @@ -1,10 +1,10 @@ -%global commit 340333cfd0ebdab7ea9d25cd66a5142c440d2f48 -%global commit_date 20251205 +%global commit 4f560eccd0acc9c192f31077c2b3202422cb24fb +%global commit_date 20260619 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: tela-icon-theme Version: %commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Tela icon theme for linux desktops License: GPL-3.0-only diff --git a/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec b/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec index 3bd6613b15..87bfd7c690 100644 --- a/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec +++ b/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec @@ -1,6 +1,6 @@ %global _udevrulesdir /usr/lib/udev/rules.d -%global commit c8bbeb36d23ee768b06e58e10333989a581277e8 +%global commit 1507c7204181440ed4bc7676e3641415d9ba8163 %global commitdate 20251121 %global shortcommit %(c=%{commit}; echo ${c:0:7}) diff --git a/anda/tools/MareTF/MareTF.spec b/anda/tools/MareTF/MareTF.spec index 123d95bee3..022af94b65 100644 --- a/anda/tools/MareTF/MareTF.spec +++ b/anda/tools/MareTF/MareTF.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: MareTF -Version: 0.11.0 +Version: 0.12.0 Release: 1%{?dist} License: MIT Summary: A utility to create, edit, and display every type of VTF file ever made @@ -43,12 +43,15 @@ BuildRequires: vulkan-headers %files %doc README.md %license LICENSE +%license %{_defaultlicensedir}/maretf/CREDITS %{_bindir}/maretf %{_bindir}/maretf_gui +%{_bindir}/maretf_thumbnailer %{_appsdir}/maretf.desktop %{_hicolordir}/512x512/apps/maretf.png %{_defaultlicensedir}/maretf/LICENSE %{_datadir}/mime/packages/maretf.xml +%{_datadir}/thumbnailers/maretf.thumbnailer %changelog * Sun Mar 15 2026 Owen Zimmerman diff --git a/anda/tools/alipad/anda.hcl b/anda/tools/alipad/anda.hcl index 315dde1198..e3d44bc448 100644 --- a/anda/tools/alipad/anda.hcl +++ b/anda/tools/alipad/anda.hcl @@ -2,4 +2,7 @@ project pkg { rpm { spec = "alipad.spec" } + labels { + nightly = 1 + } } diff --git a/anda/tools/alipad/update.rhai b/anda/tools/alipad/update.rhai index abf1bfb8ee..a2981ccba4 100644 --- a/anda/tools/alipad/update.rhai +++ b/anda/tools/alipad/update.rhai @@ -1 +1,5 @@ -// Empty until sourcehut update script +rpm.global("commit", sourcehut_commit("~malicean/alipad")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/tools/amdctl/0001-RPM-makefile-Remove-unused-Makefile-variables.patch b/anda/tools/amdctl/0001-RPM-makefile-Remove-unused-Makefile-variables.patch deleted file mode 100644 index e0e225078b..0000000000 --- a/anda/tools/amdctl/0001-RPM-makefile-Remove-unused-Makefile-variables.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Paskal Sitepu -Date: Sat, 4 Nov 2023 09:54:38 +0700 -Subject: [PATCH] (RPM) makefile: Remove unused Makefile variables - -Signed-off-by: Paskal Sitepu ---- - makefile | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/makefile b/makefile -index 5ca6bab..0091429 100644 ---- a/makefile -+++ b/makefile -@@ -1,5 +1,3 @@ --CC=gcc --CFLAGS=-Wall -pedantic -Wextra -std=c99 -O2 - all: amdctl - %.o: %.c - $(CC) -c -o $@ $< $(CFLAGS) --- -2.41.0 diff --git a/anda/tools/amdctl/amdctl.spec b/anda/tools/amdctl/amdctl.spec index c0a18e54d3..5ca8435c9e 100644 --- a/anda/tools/amdctl/amdctl.spec +++ b/anda/tools/amdctl/amdctl.spec @@ -1,34 +1,40 @@ -Name: amdctl -Summary: Set P-State voltages and clock speeds on recent AMD CPUs on Linux -License: GPLv3 -URL: https://github.com/kevinlekiller/%{name} +Name: amdctl +Summary: Set P-State voltages and clock speeds on recent AMD CPUs on Linux +License: GPL-3.0-or-later +URL: https://github.com/kevinlekiller/%{name} +Version: 0.11 +Release: 2%{?dist} +Source0: https://github.com/kevinlekiller/%{name}/archive/refs/tags/v%{version}.tar.gz -Version: 0.11 -Release: 2%{?dist} -Source0: https://github.com/kevinlekiller/%{name}/archive/refs/tags/v%{version}.tar.gz -# Remove hardcoded CFLAGS and CC -Patch0: 0001-RPM-makefile-Remove-unused-Makefile-variables.patch - -# `msr` is a builtin kernel module -Requires: kernel-core systemd-udev coreutils -BuildRequires: make gcc kernel-headers glibc-headers +BuildRequires: make +BuildRequires: gcc +BuildRequires: kernel-headers +BuildRequires: glibc-headers +BuildRequires: cmake-rpm-macros +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: systemd-rpm-macros +Requires: kernel-core +Requires: systemd-udev +Requires: coreutils %description Tool for changing voltages and clock speeds for AMD processors with control over every power state and CPU core. %prep -%setup -qn %{name}-%{version} -patch -p1 -i %{PATCH0} +%autosetup + +%conf +%cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 %build -%set_build_flags -%make_build +%cmake_build %install # install the 'amdctl' binary mkdir -p %{buildroot}/%{_bindir} -install -m 0755 ./%{name} %{buildroot}/%{_bindir}/ +install -m 0755 redhat-linux-build/%{name} %{buildroot}/%{_bindir}/ # add modules.load.d entry mkdir -p %{buildroot}/%{_modulesloaddir}/ @@ -51,12 +57,15 @@ EOF %files %license LICENSE %doc README.md -/%{_bindir}/%{name} -/%{_libexecdir}/%{name} -/%{_modulesloaddir}/%{name}.conf -/%{_udevrulesdir}/99-%{name}.rules +%{_bindir}/%{name} +%{_libexecdir}/%{name} +%{_modulesloaddir}/%{name}.conf +%{_udevrulesdir}/99-%{name}.rules %changelog +* Tue Jun 16 2026 Owen-sz - 0.11-2 +- Clean up spec + * Sat Nov 4 2023 - 0.11-1 - Track upstream to 0.11 @@ -76,4 +85,4 @@ EOF - Track upstream to 0.6.1 * Mon May 24 2021 rmnscnce - 0.2-2.git+gb0ffbad -- Initial packaging \ No newline at end of file +- Initial packaging diff --git a/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/anda.hcl b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/anda.hcl new file mode 100644 index 0000000000..c6d5335cfb --- /dev/null +++ b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "ansible-onepasswordconnect-collection.spec" + } +} diff --git a/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/ansible-onepasswordconnect-collection.spec b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/ansible-onepasswordconnect-collection.spec new file mode 100644 index 0000000000..8fcfa7267f --- /dev/null +++ b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/ansible-onepasswordconnect-collection.spec @@ -0,0 +1,52 @@ +%if %{defined fedora} +%bcond_without tests +%else +%bcond_with tests +%endif + +Name: ansible-collection-onepassword-connect +Version: 2.4.0 +Release: 1%{?dist} +Summary: Contains modules that interact with your 1Password Connect deployment +License: GPL-3.0-or-later +URL: %{ansible_collection_url onepassword connect} +Source0: https://github.com/1Password/ansible-onepasswordconnect-collection/archive/refs/tags/v%{version}.tar.gz +Patch0: doc-files.patch +Packager: Owen Zimmerman + +BuildRequires: ansible-packaging +%if %{with tests} +BuildRequires: ansible-packaging-tests +%endif + +BuildArch: noarch + +%description +The 1Password Connect collection contains modules that interact +with your 1Password Connect deployment. The modules communicate +with the 1Password Connect API to support Vault Item +create/read/update/delete operations. + +%prep +%autosetup -n ansible-onepasswordconnect-collection-%{version} -p1 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Ansible_collections/#_shebangs +find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' + + +%build +%ansible_collection_build + +%install +%ansible_collection_install + +%if %{with tests} +%check +%ansible_test_unit +%endif + +%files -f %{ansible_collection_filelist} +%license LICENSE.md +%doc CHANGELOG.md README.md USAGEGUIDE.md CHANGELOG.rst + +%changelog +* Sun Jun 14 2026 Owen Zimmerman - 2.4.0-1 +- Initial commit diff --git a/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/doc-files.patch b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/doc-files.patch new file mode 100644 index 0000000000..140bef5fe2 --- /dev/null +++ b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/doc-files.patch @@ -0,0 +1,10 @@ +diff --git a/galaxy.yml b/galaxy.yml +index f068ebc..6ef0f71 100644 +--- a/galaxy.yml ++++ b/galaxy.yml +@@ -31,4 +31,4 @@ issues: https://github.com/1Password/ansible-onepasswordconnect-collection/issue + + # A list of file glob-like patterns used to filter any files or directories that should not be included in the build + # artifact. +-build_ignore: [scripts, .venv, venv, .*, tests] ++build_ignore: [.md, .rst, scripts, .venv, venv, .*, tests] diff --git a/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/update.rhai b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/update.rhai new file mode 100644 index 0000000000..a5f027d6da --- /dev/null +++ b/anda/tools/ansible-collections/ansible-onepasswordconnect-collection/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("1Password/ansible-onepasswordconnect-collection")); diff --git a/anda/tools/arduino-app-cli/arduino-app-cli.spec b/anda/tools/arduino-app-cli/arduino-app-cli.spec index 7ae13cf5ad..59e38d4675 100644 --- a/anda/tools/arduino-app-cli/arduino-app-cli.spec +++ b/anda/tools/arduino-app-cli/arduino-app-cli.spec @@ -1,5 +1,5 @@ %global goipath github.com/arduino/arduino-app-cli -Version: 0.11.0 +Version: 0.11.1 %gometa -f diff --git a/anda/tools/arduino-cli/arduino-cli.spec b/anda/tools/arduino-cli/arduino-cli.spec index 00f121019a..bf1e6e7e78 100644 --- a/anda/tools/arduino-cli/arduino-cli.spec +++ b/anda/tools/arduino-cli/arduino-cli.spec @@ -1,6 +1,6 @@ # https://github.com/arduino/arduino-cli %global goipath github.com/arduino/arduino-cli -Version: 1.5.0 +Version: 1.5.1 %gometa -f diff --git a/anda/tools/bdf2sfd/bdf2sfd.spec b/anda/tools/bdf2sfd/bdf2sfd.spec index c904daa897..cba59da679 100644 --- a/anda/tools/bdf2sfd/bdf2sfd.spec +++ b/anda/tools/bdf2sfd/bdf2sfd.spec @@ -6,6 +6,7 @@ License: BSD-2-Clause URL: https://github.com/fcambus/bdf2sfd Source0: %url/archive/refs/tags/%version.tar.gz BuildRequires: cmake gcc +BuildSystem: cmake %description bdf2sfd is a BDF to SFD converter, allowing to vectorize bitmap fonts. @@ -13,16 +14,6 @@ bdf2sfd is a BDF to SFD converter, allowing to vectorize bitmap fonts. It works by converting each pixel of a glyph to a polygon, which produces large and unoptimized SFD files that should be post-processed using FontForge. -%prep -%autosetup - -%build -%cmake -%cmake_build - -%install -%cmake_install - %files %doc README.md ChangeLog AUTHORS THANKS %license LICENSE diff --git a/anda/tools/carapace/carapace.spec b/anda/tools/carapace/carapace.spec index a60f9244c0..37fd09e871 100644 --- a/anda/tools/carapace/carapace.spec +++ b/anda/tools/carapace/carapace.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} %global goipath github.com/carapace-sh/carapace-bin -Version: 1.6.6 +Version: 1.7.1 %gometa -f diff --git a/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec b/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec index ffd705cc42..e5d4ad3eb9 100644 --- a/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec +++ b/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: cloudflare-speed-cli -Version: 1.0.0 +Version: 1.0.6 Release: 1%{?dist} Summary: CLI for internet speed test via cloudflare diff --git a/anda/tools/copyparty/copyparty.spec b/anda/tools/copyparty/copyparty.spec index 1e9c8124f6..93feae3934 100644 --- a/anda/tools/copyparty/copyparty.spec +++ b/anda/tools/copyparty/copyparty.spec @@ -1,9 +1,9 @@ %global pypi_name copyparty Name: %{pypi_name} -Version: 1.20.14 -Release: 1%{?dist} -Summary: Portable, featureful, and fast file server +Version: 1.20.16 +Release: 2%{?dist} +Summary: Portable, featureful, and fast file server URL: https://github.com/9001/copyparty Source0: %{pypi_source} License: MIT @@ -18,7 +18,7 @@ BuildArch: noarch Packager: Riley Loo %description -Portable file server with accelerated resumable uploads, dedup, WebDAV, +Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps. %package -n python3-%{pypi_name} @@ -27,9 +27,9 @@ Summary: %{summary} Requires: %{name} = %{evr} %description -n python3-%{pypi_name} -Portable file server with accelerated resumable uploads, dedup, WebDAV, +Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps. - + %prep %autosetup -n copyparty-%version diff --git a/anda/tools/coreboot-utils/coreboot-utils.spec b/anda/tools/coreboot-utils/coreboot-utils.spec index 083f66b658..7947965c3b 100644 --- a/anda/tools/coreboot-utils/coreboot-utils.spec +++ b/anda/tools/coreboot-utils/coreboot-utils.spec @@ -1,7 +1,5 @@ -%define debug_package %nil - Name: coreboot-utils -Version: 26.03 +Version: 26.06 Release: 1%{?dist} Summary: Various coreboot utilities URL: https://doc.coreboot.org @@ -32,6 +30,7 @@ BuildRequires: glibc-devel BuildRequires: ncurses-devel BuildRequires: libfl-devel BuildRequires: pciutils-devel +BuildRequires: zlib-ng-devel BuildRequires: libxcrypt-devel BuildRequires: yaml-cpp-devel BuildRequires: openssl-devel @@ -45,10 +44,6 @@ BuildRequires: acpica-tools BuildRequires: binutils BuildRequires: python3 -%if 0%{?fedora} >= 42 -BuildRequires: gcc14 gcc14-c++ -%endif - %description %summary. @@ -59,7 +54,7 @@ Requires: %{name}-abuild Requires: %{name}-amdfwtool Requires: %{name}-amdtools Requires: %{name}-apcb -%dnl Requires: %{name}-archive +Requires: %{name}-archive Requires: %{name}-autoport Requires: %{name}-bincfg Requires: %{name}-board_status @@ -156,11 +151,11 @@ and GPIO selection pins. apcb_edit - This tool allows patching an existing APCB binary with specific SPDs and GPIO selection pins. apcb_v3_edit - This tool allows patching an existing APCB v3 binary with up to 16 specific SPDs. -%dnl %package archive - ### Currently bugged and does not compile ### -%dnl Requires: coreboot-utils = %{evr} -%dnl Summary: Concatenate files and create an archive -%dnl %description archive -%dnl %summary. +%package archive +Requires: coreboot-utils = %{evr} +Summary: Concatenate files and create an archive +%description archive +%summary. %package autoport Summary: Porting coreboot using autoport @@ -501,20 +496,19 @@ Requires: coreboot-utils = %{evr} %conf %ifarch x86_64 -pushd msrtool +pushd util/msrtool %configure popd %endif -%build -%if 0%{?fedora} >= 42 -export CC=gcc-14 -export CXX=g++-14 -%endif +pushd util/coreboot-configurator +%meson +popd +%build pushd util %make_build -C amdfwtool LDFLAGS="-fPIE -lcrypto" -%dnl %make_build -C archive # bugged upstream, does not build +%make_build -C archive CFLAGS="-O2 -Wall -Wextra -Wshadow -Werror -Wno-nonnull" %make_build -C bincfg %ifarch x86_64 %make_build -C bucts LDFLAGS="-fPIE" @@ -524,7 +518,7 @@ pushd util %ifarch x86_64 %make_build -C ectool LDFLAGS="-fPIE" %endif -%make_build -C futility +%make_build -C futility CFLAGS="$CFLAGS -DEC_EFS=0" %make_build -C hda-decoder %make_build -C ifdtool %ifarch x86_64 @@ -534,7 +528,7 @@ pushd util %make_build -C intelp2m %endif %ifarch x86_64 -%make_build -C inteltool +%make_build -C inteltool CFLAGS="-O2 -fkeep-inline-functions" %endif %ifarch x86_64 %make_build -C intelvbttool @@ -568,7 +562,6 @@ export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readon popd pushd coreboot-configurator -%meson %meson_build popd popd @@ -589,7 +582,7 @@ install -Dm 755 util/apcb/apcb_edit.py %{buildroot}%{_bindir}/apcb_edit.py install -Dm 755 util/apcb/apcb_v3a_edit.py %{buildroot}%{_bindir}/apcb_v3a_edit.py install -Dm 755 util/apcb/apcb_v3_edit.py %{buildroot}%{_bindir}/apcb_v3_edit.py -%dnl install -Dm 777 util/archive/archive %{buildroot}%{_bindir}/archive +install -Dm 777 util/archive/archive %{buildroot}%{_bindir}/archive install -Dm 755 %{_builddir}/autoport %{buildroot}%{_bindir}/autoport @@ -647,7 +640,7 @@ install -Dm 755 util/hda-decoder/hda-decoder %{buildroot}%{_bindir}/hda-decoder install -Dm 755 util/ifdtool/ifdtool %{buildroot}%{_bindir}/ifdtool %ifarch x86_64 -install -Dm 755 util/intelmetool/intelmetool %{buildroot}%{_bindir}/intelmetool +install -Dm 755 util/intelmetool/build/intelmetool %{buildroot}%{_bindir}/intelmetool %endif %ifarch x86_64 @@ -850,6 +843,10 @@ cp Documentation/util/smmstoretool/index.md %{buildroot}%{_pkgdocdir}/smmstoreto %doc util/apcb/README %doc util/apcb/description.md +%files archive +%{_bindir}/archive +%doc util/archive/description.md + %files autoport %{_bindir}/autoport %doc util/autoport/*.md @@ -1130,6 +1127,9 @@ cp Documentation/util/smmstoretool/index.md %{buildroot}%{_pkgdocdir}/smmstoreto %doc util/xcompile/description.md %changelog +* Mon Jun 22 2026 Owen Zimmerman +- Update for 26.06, build archive subpackage + * Sun Dec 28 2025 Owen Zimmerman - Update macros, add %post symlinks diff --git a/anda/tools/delphitools-cli/anda.hcl b/anda/tools/delphitools-cli/anda.hcl new file mode 100644 index 0000000000..2721bc2e58 --- /dev/null +++ b/anda/tools/delphitools-cli/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "delphitools-cli.spec" + } +} diff --git a/anda/tools/delphitools-cli/delphitools-cli.spec b/anda/tools/delphitools-cli/delphitools-cli.spec new file mode 100644 index 0000000000..7b706f6d9e --- /dev/null +++ b/anda/tools/delphitools-cli/delphitools-cli.spec @@ -0,0 +1,46 @@ +Name: delphitools-cli +Version: 0.2.0 +Release: 1%{?dist} +Summary: indie toolkit for designers — colour, image, PDF, type, calc, all in one offline CLI +URL: https://delphi.tools/ +Source0: https://github.com/1612elphi/delphitools-cli/archive/refs/tags/v%{version}.tar.gz +SourceLicense: 0BSD +License: %{sourcelicense} AND ((MIT OR Apache-2.0) AND NCSA) AND (Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (0BSD OR MIT OR Apache-2.0) AND BSD-2-Clause AND Zlib AND MIT AND ((MIT OR Apache-2.0) AND Unicode-DFS-2016) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND MPL-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (CC0-1.0 OR Apache-2.0) AND (BSD-3-Clause OR Apache-2.0) AND ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND BSD-3-Clause AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (Unlicense OR MIT) + +BuildRequires: rust +BuildRequires: anda-srpm-macros +BuildRequires: cargo-rpm-macros +BuildRequires: pkgconfig(openssl) +BuildRequires: gcc-c++ + +Packager: Its-J + +%description +%{summary}. + +%prep +%autosetup -n %{name}-%{version} +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm 755 target/release/delphi %{buildroot}%{_bindir}/delphi +install -Dm 755 target/release/delphitools %{buildroot}%{_bindir}/delphitools +install -Dm 755 target/release/dt %{buildroot}%{_bindir}/dt +install -Dm 644 man/*.1 -t %{buildroot}%{_mandir}/man1/ +%{cargo_license_online} > LICENSE.dependencies + +%files +%{_bindir}/delphi +%{_bindir}/delphitools +%{_bindir}/dt +%{_mandir}/man1/delphi*.1.* +%license LICENSE +%license LICENSE.dependencies +%doc README.md + +%changelog +* Wed Jun 03 2026 Its-J +- Package delphitools-cli diff --git a/anda/tools/delphitools-cli/update.rhai b/anda/tools/delphitools-cli/update.rhai new file mode 100644 index 0000000000..48fd8850c9 --- /dev/null +++ b/anda/tools/delphitools-cli/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("1612elphi/delphitools-cli")); diff --git a/anda/tools/electron/electron.spec b/anda/tools/electron/electron.spec index 5efea51e54..3275257a5c 100644 --- a/anda/tools/electron/electron.spec +++ b/anda/tools/electron/electron.spec @@ -1,6 +1,6 @@ Name: electron %electronmeta -Version: 42.2.0 +Version: 42.5.0 Release: 1%{?dist} Summary: Build cross platform desktop apps with web technologies License: %{electron_license} diff --git a/anda/tools/framework-system/framework-system.spec b/anda/tools/framework-system/framework-system.spec index c5c2a0da03..dc5c73072a 100644 --- a/anda/tools/framework-system/framework-system.spec +++ b/anda/tools/framework-system/framework-system.spec @@ -1,5 +1,5 @@ Name: framework-system -Version: 0.6.3 +Version: 0.6.4 Release: 1%{?dist} Summary: Rust libraries and tools to interact with the Framework Computer systems URL: https://github.com/FrameworkComputer/framework-system diff --git a/anda/tools/fuc/fuc.spec b/anda/tools/fuc/fuc.spec index 4188f7770a..252244dd69 100644 --- a/anda/tools/fuc/fuc.spec +++ b/anda/tools/fuc/fuc.spec @@ -1,8 +1,8 @@ %global debug_package %{nil} Name: fuc -Version: 3.1.1 -Release: 1%?dist +Version: 3.1.7 +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/gf/01-fix-designated-initializers.patch b/anda/tools/gf/01-fix-designated-initializers.patch deleted file mode 100644 index aed98551b0..0000000000 --- a/anda/tools/gf/01-fix-designated-initializers.patch +++ /dev/null @@ -1,104 +0,0 @@ -diff --git a/gf2.cpp b/gf2.cpp -index 116f1d0..2d21a07 100644 ---- a/gf2.cpp -+++ b/gf2.cpp -@@ -1528,68 +1528,68 @@ void InterfaceAddBuiltinWindowsAndCommands() { - interfaceDataViewers.Add({ "Add bitmap...", BitmapAddDialog }); - - interfaceCommands.Add({ .label = "Run\tShift+F5", -- { .code = UI_KEYCODE_FKEY(5), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "r" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(5), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "r" } }); - interfaceCommands.Add({ .label = "Run paused\tCtrl+F5", -- { .code = UI_KEYCODE_FKEY(5), .ctrl = true, .invoke = CommandSendToGDB, .cp = (void *) "start" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(5), .ctrl = true, .invoke = CommandSendToGDB, .cp = (void *) "start" } }); - interfaceCommands.Add({ .label = "Kill\tF3", -- { .code = UI_KEYCODE_FKEY(3), .invoke = CommandSendToGDB, .cp = (void *) "kill" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(3), .invoke = CommandSendToGDB, .cp = (void *) "kill" } }); - interfaceCommands.Add({ .label = "Restart GDB\tCtrl+R", -- { .code = UI_KEYCODE_LETTER('R'), .ctrl = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-restart-gdb" } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('R'), .ctrl = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-restart-gdb" } }); - interfaceCommands.Add({ .label = "Load Last Coredump\tCtrl+Shift+R", -- { .code = UI_KEYCODE_LETTER('R'), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-load-last-coredump" } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('R'), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-load-last-coredump" } }); - interfaceCommands.Add({ .label = "Connect\tF4", -- { .code = UI_KEYCODE_FKEY(4), .invoke = CommandSendToGDB, .cp = (void *) "target remote :1234" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(4), .invoke = CommandSendToGDB, .cp = (void *) "target remote :1234" } }); - interfaceCommands.Add({ .label = "Continue\tF5", -- { .code = UI_KEYCODE_FKEY(5), .invoke = CommandSendToGDB, .cp = (void *) "c" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(5), .invoke = CommandSendToGDB, .cp = (void *) "c" } }); - interfaceCommands.Add({ .label = "Step over\tF10", -- { .code = UI_KEYCODE_FKEY(10), .invoke = CommandSendToGDB, .cp = (void *) "gf-next" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(10), .invoke = CommandSendToGDB, .cp = (void *) "gf-next" } }); - interfaceCommands.Add({ .label = "Step out of block\tShift+F10", -- { .code = UI_KEYCODE_FKEY(10), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-step-out-of-block" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(10), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-step-out-of-block" } }); - interfaceCommands.Add({ .label = "Step in\tF11", -- { .code = UI_KEYCODE_FKEY(11), .invoke = CommandSendToGDB, .cp = (void *) "gf-step" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(11), .invoke = CommandSendToGDB, .cp = (void *) "gf-step" } }); - interfaceCommands.Add({ .label = "Step into outer\tShift+F8", -- { .code = UI_KEYCODE_FKEY(8), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-step-into-outer" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(8), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-step-into-outer" } }); - interfaceCommands.Add({ .label = "Step out\tShift+F11", -- { .code = UI_KEYCODE_FKEY(11), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "finish" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(11), .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "finish" } }); - interfaceCommands.Add({ .label = "Reverse continue\tCtrl+Shift+F5", -- { .code = UI_KEYCODE_FKEY(5), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "reverse-continue" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(5), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "reverse-continue" } }); - interfaceCommands.Add({ .label = "Reverse step over\tCtrl+Shift+F10", -- { .code = UI_KEYCODE_FKEY(10), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "reverse-next" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(10), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "reverse-next" } }); - interfaceCommands.Add({ .label = "Reverse step in\tCtrl+Shift+F11", -- { .code = UI_KEYCODE_FKEY(11), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "reverse-step" } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(11), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "reverse-step" } }); - interfaceCommands.Add({ .label = "Pause\tF8", -- { .code = UI_KEYCODE_FKEY(8), .invoke = CommandPause } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(8), .invoke = CommandPause } }); - interfaceCommands.Add({ .label = "Toggle breakpoint\tF9", -- { .code = UI_KEYCODE_FKEY(9), .invoke = CommandToggleBreakpoint } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(9), .invoke = CommandToggleBreakpoint } }); - if (vimServerEnabled) { - interfaceCommands.Add({ .label = "Sync with gvim\tF2", -- { .code = UI_KEYCODE_FKEY(2), .invoke = CommandSyncWithGvim } }); -+ .shortcut = { .code = UI_KEYCODE_FKEY(2), .invoke = CommandSyncWithGvim } }); - } - interfaceCommands.Add({ .label = "Ask GDB for PWD\tCtrl+Shift+P", -- { .code = UI_KEYCODE_LETTER('P'), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-get-pwd" } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('P'), .ctrl = true, .shift = true, .invoke = CommandSendToGDB, .cp = (void *) "gf-get-pwd" } }); - interfaceCommands.Add({ .label = "Toggle disassembly\tCtrl+D", -- { .code = UI_KEYCODE_LETTER('D'), .ctrl = true, .invoke = CommandToggleDisassembly } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('D'), .ctrl = true, .invoke = CommandToggleDisassembly } }); - interfaceCommands.Add({ .label = "Set disassembly mode\tCtrl+M", -- { .code = UI_KEYCODE_LETTER('M'), .ctrl = true, .invoke = CommandSetDisassemblyMode } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('M'), .ctrl = true, .invoke = CommandSetDisassemblyMode } }); - interfaceCommands.Add({ .label = "Add watch", -- { .invoke = CommandAddWatch } }); -+ .shortcut = { .invoke = CommandAddWatch } }); - interfaceCommands.Add({ .label = "Inspect line", -- { .code = UI_KEYCODE_BACKTICK, .invoke = CommandInspectLine } }); -- interfaceCommands.Add({ .label = "Copy Layout to Clipboard", { .invoke = CopyLayoutToClipboard } }); -+ .shortcut = { .code = UI_KEYCODE_BACKTICK, .invoke = CommandInspectLine } }); -+ interfaceCommands.Add({ .label = "Copy Layout to Clipboard", .shortcut = { .invoke = CopyLayoutToClipboard } }); - interfaceCommands.Add({ .label = nullptr, -- { .code = UI_KEYCODE_LETTER('E'), .ctrl = true, .invoke = CommandWatchAddEntryForAddress } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('E'), .ctrl = true, .invoke = CommandWatchAddEntryForAddress } }); - interfaceCommands.Add({ .label = nullptr, -- { .code = UI_KEYCODE_LETTER('G'), .ctrl = true, .invoke = CommandWatchViewSourceAtAddress } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('G'), .ctrl = true, .invoke = CommandWatchViewSourceAtAddress } }); - interfaceCommands.Add({ .label = nullptr, -- { .code = UI_KEYCODE_LETTER('B'), .ctrl = true, .invoke = CommandToggleFillDataTab } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('B'), .ctrl = true, .invoke = CommandToggleFillDataTab } }); - interfaceCommands.Add({ .label = nullptr, -- { .code = UI_KEYCODE_LETTER('P'), .ctrl = true, .shift = false, .invoke = CommandPreviousCommand } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('P'), .ctrl = true, .shift = false, .invoke = CommandPreviousCommand } }); - interfaceCommands.Add({ .label = nullptr, -- { .code = UI_KEYCODE_LETTER('N'), .ctrl = true, .shift = false, .invoke = CommandNextCommand } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('N'), .ctrl = true, .shift = false, .invoke = CommandNextCommand } }); - interfaceCommands.Add({ .label = nullptr, -- { .code = UI_KEYCODE_LETTER('L'), .ctrl = true, .shift = false, .invoke = CommandClearOutput } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('L'), .ctrl = true, .shift = false, .invoke = CommandClearOutput } }); - interfaceCommands.Add({ .label = nullptr, -- { .code = UI_KEYCODE_LETTER('U'), .ctrl = true, .shift = false, .invoke = [](void*){ UITextboxClear(textboxInput, false); } } }); -+ .shortcut = { .code = UI_KEYCODE_LETTER('U'), .ctrl = true, .shift = false, .invoke = [](void*){ UITextboxClear(textboxInput, false); } } }); - - msgReceivedData = ReceiveMessageRegister(MsgReceivedData); - msgReceivedControl = ReceiveMessageRegister(MsgReceivedControl); diff --git a/anda/tools/gf/gf.spec b/anda/tools/gf/gf.spec index c51777c5d8..a045dfcf18 100644 --- a/anda/tools/gf/gf.spec +++ b/anda/tools/gf/gf.spec @@ -1,6 +1,6 @@ %global forgeurl https://github.com/nakst/gf -%global commit 46174e9b25850c9898ca0c2de90af31ad83122d7 +%global commit 1c04ed95d45d49fb4b06cbc620c61acd58818977 %global shortcommit %{sub %{commit} 0 7} %global commitdate 20251231 @@ -14,7 +14,6 @@ Summary: A GDB frontend for Linux License: MIT URL: %{forgeurl} Source0: %{forgesource} -Patch0: 01-fix-designated-initializers.patch BuildRequires: gcc-c++ BuildRequires: freetype-devel diff --git a/anda/tools/glasgow/glasgow.spec b/anda/tools/glasgow/glasgow.spec index 09643dd599..f9928b53e5 100644 --- a/anda/tools/glasgow/glasgow.spec +++ b/anda/tools/glasgow/glasgow.spec @@ -1,5 +1,5 @@ -%global commit 9f080c186a75ce301b1604a232ec232f3a144db3 -%global commit_date 20260524 +%global commit 9c2f0170d0461a6bbd15fa5f1c975433ba29747d +%global commit_date 20260616 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global pypi_name glasgow diff --git a/anda/tools/graftcp/nightly/graftcp-nightly.spec b/anda/tools/graftcp/nightly/graftcp-nightly.spec index 8b6668a565..4792961ff3 100644 --- a/anda/tools/graftcp/nightly/graftcp-nightly.spec +++ b/anda/tools/graftcp/nightly/graftcp-nightly.spec @@ -1,14 +1,16 @@ -%global commit 6b8e7e659fa39b9396a54f8bf94e9c51c2f58564 -%global commit_date 20260403 +%global commit f83547caeb4117783dc97ab3283e82f9a251e424 +%global commit_date 20260614 %global shortcommit %(c=%{commit}; echo ${c:0:7}) +%define debug_package %{nil} + Name: graftcp-nightly Version: 0~%{commit_date}git.%{shortcommit} Release: 1%{?dist} Summary: A flexible tool for redirecting a given program's TCP traffic to SOCKS5 or HTTP proxy URL: https://github.com/hmgle/graftcp -License: GPL-3.0 -Source0: %url/archive/%commit/graftcp-%commit.tar.gz +License: GPL-3.0-or-later +Source0: %{url}/archive/%{commit}/graftcp-%{commit}.tar.gz BuildRequires: gcc mold make golang systemd-rpm-macros Packager: Owen Zimmerman Conflicts: graftcp @@ -27,30 +29,23 @@ connect by ptrace(2), so it is workable for any program. The principle will be e %make_build %install -install -Dm755 graftcp %{buildroot}%{_bindir}/graftcp -install -Dm755 local/graftcp-local %{buildroot}%{_bindir}/graftcp-local -install -Dm755 local/mgraftcp %{buildroot}%{_bindir}/mgraftcp -install -Dm644 local/contrib/systemd/graftcp-local.service %{buildroot}%{_unitdir}/graftcp-local.service -install -Dm644 local/example-graftcp-local.conf %{buildroot}%{_sysconfdir}/graftcp-local/example-graftcp-local.conf - -%post -%systemd_post graftcp-local.service - -%preun -%systemd_preun graftcp-local.service - -%postun -%systemd_postun_with_restart graftcp-local.service +mkdir -p %{buildroot}%{_bindir} +%make_install PREFIX=%{_prefix} +install -Dm644 example-graftcp.conf %{buildroot}%{_sysconfdir}/graftcp/example-graftcp.conf +install -Dm644 example-mgraftcp.conf %{buildroot}%{_sysconfdir}/graftcp/example-mgraftcp.conf %files -%doc README.md README.zh-CN.md +%doc README.md +%lang(zh_CN) %doc README.zh-CN.md %license COPYING %{_bindir}/graftcp -%{_bindir}/graftcp-local %{_bindir}/mgraftcp -%{_unitdir}/graftcp-local.service -%{_sysconfdir}/graftcp-local/example-graftcp-local.conf +%{_sysconfdir}/graftcp/example-graftcp.conf +%{_sysconfdir}/graftcp/example-mgraftcp.conf %changelog +* Tue Jun 02 2026 Owen Zimmerman +- Update for 0.8.0 + * Fri Oct 24 2025 Owen Zimmerman - initial commit diff --git a/anda/tools/graftcp/stable/graftcp.spec b/anda/tools/graftcp/stable/graftcp.spec index a3201229ef..c72f0b291c 100644 --- a/anda/tools/graftcp/stable/graftcp.spec +++ b/anda/tools/graftcp/stable/graftcp.spec @@ -1,11 +1,13 @@ +%define debug_package %{nil} + Name: graftcp -Version: 0.7.1 -Release: 1%?dist +Version: 0.8.1 +Release: 1%{?dist} Summary: A flexible tool for redirecting a given program's TCP traffic to SOCKS5 or HTTP proxy URL: https://github.com/hmgle/graftcp -License: GPL-3.0 -Source0: %url/archive/refs/tags/v%version.tar.gz -BuildRequires: gcc mold make golang systemd-rpm-macros +License: GPL-3.0-or-later +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +BuildRequires: gcc make golang systemd-rpm-macros Packager: Owen Zimmerman Conflicts: graftcp-nightly @@ -17,36 +19,29 @@ linked programs, e.g., applications built by Go can not be hook by proxychains-n connect by ptrace(2), so it is workable for any program. The principle will be explained in this paragraph of how does it work. %prep -%autosetup -n graftcp-%{version} +%autosetup %build %make_build %install -install -Dm755 graftcp %{buildroot}%{_bindir}/graftcp -install -Dm755 local/graftcp-local %{buildroot}%{_bindir}/graftcp-local -install -Dm755 local/mgraftcp %{buildroot}%{_bindir}/mgraftcp -install -Dm644 local/contrib/systemd/graftcp-local.service %{buildroot}%{_unitdir}/graftcp-local.service -install -Dm644 local/example-graftcp-local.conf %{buildroot}%{_sysconfdir}/graftcp-local/example-graftcp-local.conf - -%post -%systemd_post graftcp-local.service - -%preun -%systemd_preun graftcp-local.service - -%postun -%systemd_postun_with_restart graftcp-local.service +mkdir -p %{buildroot}%{_bindir} +%make_install PREFIX=%{_prefix} +install -Dm644 example-graftcp.conf %{buildroot}%{_sysconfdir}/graftcp/example-graftcp.conf +install -Dm644 example-mgraftcp.conf %{buildroot}%{_sysconfdir}/graftcp/example-mgraftcp.conf %files -%doc README.md README.zh-CN.md +%doc README.md +%lang(zh_CN) %doc README.zh-CN.md %license COPYING %{_bindir}/graftcp -%{_bindir}/graftcp-local %{_bindir}/mgraftcp -%{_unitdir}/graftcp-local.service -%{_sysconfdir}/graftcp-local/example-graftcp-local.conf +%{_sysconfdir}/graftcp/example-graftcp.conf +%{_sysconfdir}/graftcp/example-mgraftcp.conf %changelog +* Tue Jun 02 2026 Owen Zimmerman - 0.8.0-1 +- Update for 0.8.0 + * Fri Oct 24 2025 Owen Zimmerman - initial commit diff --git a/anda/tools/jujutsu/jujutsu.spec b/anda/tools/jujutsu/jujutsu.spec index 4d75d3a167..e097832d65 100644 --- a/anda/tools/jujutsu/jujutsu.spec +++ b/anda/tools/jujutsu/jujutsu.spec @@ -4,7 +4,7 @@ %global __brp_mangle_shebangs %{nil} Name: jujutsu -Version: 0.41.0 +Version: 0.42.0 Release: 1%{?dist} Summary: Git-compatible DVCS that is both simple and powerful License: Apache-2.0 AND CC-BY-4.0 diff --git a/anda/tools/kanata/rust-kanata.spec b/anda/tools/kanata/rust-kanata.spec index f503bc4d9e..5922679c15 100644 --- a/anda/tools/kanata/rust-kanata.spec +++ b/anda/tools/kanata/rust-kanata.spec @@ -10,7 +10,7 @@ Summary: Multi-layer keyboard customization License: LGPL-3.0-only URL: https://crates.io/crates/kanata -Source: %{crates_source} +Source: %{terra_crates_source} # Automatically generated patch to strip dependencies and normalize metadata Patch: kanata-fix-metadata-auto.diff Packager: madonuko diff --git a/anda/tools/kittyCAD-cli/kittyCAD-cli.spec b/anda/tools/kittyCAD-cli/kittyCAD-cli.spec index e9477e64e3..b30cebdcf4 100644 --- a/anda/tools/kittyCAD-cli/kittyCAD-cli.spec +++ b/anda/tools/kittyCAD-cli/kittyCAD-cli.spec @@ -1,7 +1,7 @@ %undefine __brp_mangle_shebangs Name: kittyCAD-cli -Version: 0.2.172 +Version: 0.2.178 Release: 1%{?dist} Summary: The Zoo command line tool for KittyCAD URL: https://github.com/KittyCAD/cli diff --git a/anda/tools/kmonad/kmonad.spec b/anda/tools/kmonad/kmonad.spec index 915875c118..28bb21b091 100644 --- a/anda/tools/kmonad/kmonad.spec +++ b/anda/tools/kmonad/kmonad.spec @@ -1,8 +1,8 @@ %global pkg_name kmonad Name: %{pkg_name} -Version: 0.4.4 -Release: 1%?dist +Version: 0.4.5 +Release: 1%{?dist} Summary: An advanced keyboard manager License: MIT diff --git a/anda/tools/kmonad/update.rhai b/anda/tools/kmonad/update.rhai index 9676b53e55..c9e5764f56 100644 --- a/anda/tools/kmonad/update.rhai +++ b/anda/tools/kmonad/update.rhai @@ -1 +1 @@ -print(hackage("kmonad")); +rpm.version(hackage("kmonad")); diff --git a/anda/tools/lazyssh/anda.hcl b/anda/tools/lazyssh/anda.hcl new file mode 100644 index 0000000000..245ae509f4 --- /dev/null +++ b/anda/tools/lazyssh/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "lazyssh.spec" + } +} diff --git a/anda/tools/lazyssh/lazyssh.spec b/anda/tools/lazyssh/lazyssh.spec new file mode 100644 index 0000000000..9a758d047c --- /dev/null +++ b/anda/tools/lazyssh/lazyssh.spec @@ -0,0 +1,43 @@ +%define debug_package %{nil} + +%global goipath github.com/Adembc/lazyssh +Version: 0.3.0 + +%gometa -f + +Name: lazyssh +Release: 1%{?dist} +Summary: A terminal-based SSH manager inspired by lazydocker and k9s - Written in go + +License: Apache-2.0 +URL: https://github.com/Adembc/lazyssh +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +Packager: Owen Zimmerman + +BuildRequires: golang gcc go-rpm-macros +Requires: glibc + +%description +%{summary}. + +%gopkg + +%prep +%autosetup + +%build +%define gomodulesmode GO111MODULE=on +%gobuild -o %{gobuilddir}/lazyssh %{goipath}/cmd + +%install +install -Dm 0755 %{gobuilddir}/lazyssh %{buildroot}%{_bindir}/lazyssh + +%files +%license LICENSE +%doc README.md +%{_bindir}/lazyssh + +%changelog +* Sun Jun 14 2026 Owen-sz - 0.3.0-1 +- Initial commit diff --git a/anda/tools/lazyssh/update.rhai b/anda/tools/lazyssh/update.rhai new file mode 100644 index 0000000000..6c79c7280a --- /dev/null +++ b/anda/tools/lazyssh/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Adembc/lazyssh")); diff --git a/anda/tools/license-checker/nodejs-license-checker.spec b/anda/tools/license-checker/nodejs-license-checker.spec index d9000c9ced..fe413bdd1a 100644 --- a/anda/tools/license-checker/nodejs-license-checker.spec +++ b/anda/tools/license-checker/nodejs-license-checker.spec @@ -4,8 +4,8 @@ %bcond test 0 Name: nodejs-license-checker -Version: 4.4.2 -Release: 2%{?dist} +Version: 5.0.1 +Release: 1%{?dist} Summary: Check NPM package licenses SourceLicense: BSD-3-Clause License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND CC-BY-3.0 AND ISC AND (MIT AND CC-BY-3.0) AND MIT diff --git a/anda/tools/modern-colorthief/modern-colorthief.spec b/anda/tools/modern-colorthief/modern-colorthief.spec index 068a11f071..28b866f8fc 100644 --- a/anda/tools/modern-colorthief/modern-colorthief.spec +++ b/anda/tools/modern-colorthief/modern-colorthief.spec @@ -4,7 +4,7 @@ # The srcrpm is not prefixed with Python because the source is mostly Rust Name: modern-colorthief -Version: 0.2.1 +Version: 0.3.0 Release: 1%{?dist} Summary: ColorThief reimagined SourceLicense: MIT diff --git a/anda/tools/natscli/natscli.spec b/anda/tools/natscli/natscli.spec index 48b8b1fd9e..60a7788404 100644 --- a/anda/tools/natscli/natscli.spec +++ b/anda/tools/natscli/natscli.spec @@ -1,7 +1,7 @@ # https://github.com/nats-io/natscli %global goipath github.com/nats-io/natscli -%global commit e0ee994dc3392ace046e7bf90344f9d3bbefc4f4 -%global commit_date 20260521 +%global commit 565da5e43bc513c1a91576511dc0a98104eeae79 +%global commit_date 20260624 %global shortcommit %{sub %{commit} 1 7} %gometa -f diff --git a/anda/tools/nemu/nemu.spec b/anda/tools/nemu/nemu.spec index a97317e939..e6724e1f68 100644 --- a/anda/tools/nemu/nemu.spec +++ b/anda/tools/nemu/nemu.spec @@ -1,6 +1,6 @@ Name: nemu -Version: 3.4.0 -Release: 1%?dist +Version: 3.5.0 +Release: 1%{?dist} Summary: Ncurses UI for QEMU URL: https://github.com/nemuTUI/nemu diff --git a/anda/tools/neovim-default-editor/neovim-default-editor.spec b/anda/tools/neovim-default-editor/neovim-default-editor.spec index a24b073df5..9dc649dffe 100644 --- a/anda/tools/neovim-default-editor/neovim-default-editor.spec +++ b/anda/tools/neovim-default-editor/neovim-default-editor.spec @@ -2,8 +2,8 @@ Name: neovim-default-editor # Version, release, and epoch are inherited from the editor package just like other default editors -Version: 0.12.2 -Release: 2%{?dist} +Version: 0.6.0 +Release: 5%{?dist} Epoch: 0 # Inherited from Neovim itself License: Apache-2.0 AND Vim AND MIT diff --git a/anda/tools/nvidia/cuda-crt/cuda-crt.spec b/anda/tools/nvidia/cuda-crt/cuda-crt.spec index 4144c13685..55b6ae64d7 100644 --- a/anda/tools/nvidia/cuda-crt/cuda-crt.spec +++ b/anda/tools/nvidia/cuda-crt/cuda-crt.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.33 Release: 1%{?dist} Summary: CUDA crt License: CUDA Toolkit diff --git a/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec b/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec index 4ad9823399..0e1b2e1911 100644 --- a/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec +++ b/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.33 Release: 1%{?dist} Summary: CUDA ctadvisor License: CUDA Toolkit diff --git a/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec b/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec index 48b391c023..de4903eb8a 100644 --- a/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec +++ b/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec @@ -8,7 +8,7 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.2.78 +Version: 13.3.33 Release: 1%{?dist} Summary: CUDA Compiler (NVCC) License: CUDA Toolkit diff --git a/anda/tools/nvm/nvm.spec b/anda/tools/nvm/nvm.spec index 1a9c81c648..5946c5d68f 100644 --- a/anda/tools/nvm/nvm.spec +++ b/anda/tools/nvm/nvm.spec @@ -1,6 +1,6 @@ Name: nvm -Version: 0.40.4 -Release: 1%?dist +Version: 0.40.5 +Release: 1%{?dist} Summary: Node Version Manager License: MIT URL: https://github.com/nvm-sh/nvm diff --git a/anda/tools/piclone/piclone.spec b/anda/tools/piclone/piclone.spec index e06eee1148..81659524ef 100644 --- a/anda/tools/piclone/piclone.spec +++ b/anda/tools/piclone/piclone.spec @@ -1,5 +1,5 @@ -%global commit 608a168f74d6552b391ac4952f7f4fc36f0779f1 -%global commit_date 20260522 +%global commit cbae7f3f5d0b0b2732299196dba33da2c059b3a8 +%global commit_date 20260529 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: piclone diff --git a/anda/tools/praat/praat.spec b/anda/tools/praat/praat.spec index d9add6f843..ffc0a9d862 100644 --- a/anda/tools/praat/praat.spec +++ b/anda/tools/praat/praat.spec @@ -13,8 +13,6 @@ License: GPL-3.0-or-later AND LGPL-2.1-or-later AND MIT AND GPL-2.0-or- Requires: gtk3 pulseaudio-libs alsa-lib pipewire-jack-audio-connection-kit BuildRequires: gcc g++ gtk3-devel pulseaudio-libs-devel alsa-lib-devel pipewire-jack-audio-connection-kit-devel -# for lscpu check below -BuildRequires: util-linux # to install desktop file BuildRequires: desktop-file-utils # to generate the icon files @@ -33,16 +31,11 @@ Packager: june-fish %autosetup -n praat.github.io-%{version} %build -# .LE makefile hardcodes little endian -if [[ "$(lscpu | grep Endian)" == *"Little Endian"* ]] -then - cp makefiles/makefile.defs.linux.pulse-gcc.LE ./makefile.defs -elif [[ "%{lscpu | grep Endian}" == *"Big Endian"* ]] -then - cp makefiles/makefile.defs.linux.pulse-gcc.BE ./makefile.defs -fi - -%make_build +%ifarch x86_64 +%make_build PRAAT_ARCH=x64v1 +%else +%make_build PRAAT_ARCH=native +%endif %install install -pDm755 praat %{buildroot}%{_bindir}/praat @@ -72,5 +65,7 @@ done %{_metainfodir}/%appid.metainfo.xml %changelog +* Wed Jun 17 2026 june-fish - 6.4.67 +- use new praat build process * Fri Feb 06 2026 june-fish - 6.4.59 - Initial Package diff --git a/anda/tools/qdl/anda.hcl b/anda/tools/qdl/anda.hcl deleted file mode 100644 index e1f206aa1a..0000000000 --- a/anda/tools/qdl/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project pkg { - rpm { - spec = "qdl.spec" - } -} diff --git a/anda/tools/qdl/qdl.spec b/anda/tools/qdl/qdl.spec deleted file mode 100644 index cc971a3cd1..0000000000 --- a/anda/tools/qdl/qdl.spec +++ /dev/null @@ -1,54 +0,0 @@ -Name: qdl -Version: 2.6 -Release: 1%{?dist} -Summary: This tool communicates with USB devices of id 05c6:9008 to upload a flash loader and use this to flash images -URL: https://github.com/linux-msm/qdl -Source0: %url/archive/refs/tags/v%version.tar.gz -License: BSD-3-Clause -BuildRequires: make -BuildRequires: gcc -BuildRequires: help2man -BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(libusb-1.0) - -Packager: Owen Zimmerman - -%description -%{summary}. - -%prep -%autosetup -n qdl-%{version} - -%build -%make_build -make manpages - -%install -install -Dm755 qdl %{buildroot}%{_bindir}/qdl -install -Dm755 qdl %{buildroot}%{_bindir}/qdl-ramdump -install -Dm755 qdl %{buildroot}%{_bindir}/ks -mkdir -p %{buildroot}%{_mandir}/man1 -install -Dm644 qdl.1 %{buildroot}%{_mandir}/man1/qdl.1 -install -Dm644 qdl-ramdump.1 %{buildroot}%{_mandir}/man1/qdl-ramdump.1 -install -Dm644 ks.1 %{buildroot}%{_mandir}/man1/ks.1 - -%files -%{_bindir}/qdl -%{_bindir}/qdl-ramdump -%{_bindir}/ks -%{_mandir}/man1/qdl.1.* -%{_mandir}/man1/qdl-ramdump.1.* -%{_mandir}/man1/ks.1.* - -%license LICENSE -%doc README.md - -%changelog -* Mon Feb 02 2026 Owen Zimmerman -- Switch to tagged versions - -* Wed Nov 26 2025 metcya -- Package manpages - -* Sun Nov 23 2025 Owen Zimmerman -- Initial commit diff --git a/anda/tools/qdl/update.rhai b/anda/tools/qdl/update.rhai deleted file mode 100644 index 635bdd7a96..0000000000 --- a/anda/tools/qdl/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh_tag("linux-msm/qdl")); \ No newline at end of file diff --git a/anda/tools/qmk_cli/qmk_cli.spec b/anda/tools/qmk_cli/qmk_cli.spec index e56db3e0c8..4e587b2ec8 100644 --- a/anda/tools/qmk_cli/qmk_cli.spec +++ b/anda/tools/qmk_cli/qmk_cli.spec @@ -5,7 +5,7 @@ Name: python-%{pypi_name} Version: 1.2.0 -Release: 1%?dist +Release: 2%?dist Summary: A program to help users work with QMK License: MIT URL: https://github.com/qmk/qmk_cli diff --git a/anda/tools/rpi-utils/rpi-utils.spec b/anda/tools/rpi-utils/rpi-utils.spec index 1426acc68d..0ff6c837dd 100644 --- a/anda/tools/rpi-utils/rpi-utils.spec +++ b/anda/tools/rpi-utils/rpi-utils.spec @@ -1,5 +1,5 @@ -%global commit a9af6dba7094359aea3803aff3e88c8040d5f8c3 -%global commit_date 20260523 +%global commit a30e7c7b227d9a5e6dbedc1d343077be7ad92959 +%global commit_date 20260624 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: rpi-utils diff --git a/anda/tools/shadowenv/shadowenv.spec b/anda/tools/shadowenv/shadowenv.spec index 8fa128d7c9..e72ddcda1d 100644 --- a/anda/tools/shadowenv/shadowenv.spec +++ b/anda/tools/shadowenv/shadowenv.spec @@ -1,6 +1,6 @@ Name: shadowenv -Version: 3.4.0 -Release: 1%?dist +Version: 3.5.1 +Release: 1%{?dist} License: MIT Summary: Reversible directory-local environment variable manipulations URL: https://shopify.github.io/shadowenv/ diff --git a/anda/tools/sheldon/sheldon.spec b/anda/tools/sheldon/sheldon.spec index 08f88b83c0..a9bbf98715 100644 --- a/anda/tools/sheldon/sheldon.spec +++ b/anda/tools/sheldon/sheldon.spec @@ -10,7 +10,7 @@ Summary: Fast, configurable, shell plugin manager License: MIT OR Apache-2.0 URL: https://sheldon.cli.rs -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: cargo-rpm-macros >= 24 BuildRequires: anda-srpm-macros diff --git a/anda/tools/spotx-bash/spotx-bash.spec b/anda/tools/spotx-bash/spotx-bash.spec index bf1f142116..4f2cd3b71e 100644 --- a/anda/tools/spotx-bash/spotx-bash.spec +++ b/anda/tools/spotx-bash/spotx-bash.spec @@ -1,5 +1,5 @@ -%global commit fa8730d16e7acfb70744be677ac9b7aa3e3eaf3c -%global commit_date 20260523 +%global commit 72e85be7cc25eba9d4e7c4e04e65120d353cff4b +%global commit_date 20260616 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: spotx-bash diff --git a/anda/tools/surge/surge.spec b/anda/tools/surge/surge.spec index 54b35ab69b..e8081765e9 100644 --- a/anda/tools/surge/surge.spec +++ b/anda/tools/surge/surge.spec @@ -1,5 +1,5 @@ %global goipath github.com/surge-downloader/surge -Version: 0.8.6 +Version: 0.10.0 %gometa diff --git a/anda/tools/tauri/tauri.spec b/anda/tools/tauri/tauri.spec index b712c26407..cb8a69ecca 100644 --- a/anda/tools/tauri/tauri.spec +++ b/anda/tools/tauri/tauri.spec @@ -2,12 +2,12 @@ %undefine __brp_mangle_shebangs Name: rust-tauri -Version: 2.11.2 +Version: 2.11.3 Release: 1%{?dist} Summary: Command line interface for building Tauri apps License: Apache-2.0 OR MIT URL: https://crates.io/crates/create-tauri-app -Source: %{crates_source} +Source: %{terra_crates_source} BuildRequires: anda-srpm-macros BuildRequires: cargo-rpm-macros BuildRequires: mold diff --git a/anda/tools/termflix/termflix.spec b/anda/tools/termflix/termflix.spec index 4d2ae79f37..3e5f4494a3 100644 --- a/anda/tools/termflix/termflix.spec +++ b/anda/tools/termflix/termflix.spec @@ -1,5 +1,5 @@ Name: termflix -Version: 0.5.1 +Version: 0.8.0 Release: 1%{?dist} Summary: Terminal animation player with 43 procedurally generated animations, multiple render modes, and true color support diff --git a/anda/tools/topgrade/rust-topgrade.spec b/anda/tools/topgrade/rust-topgrade.spec index 04e71165ad..7b7c305d41 100644 --- a/anda/tools/topgrade/rust-topgrade.spec +++ b/anda/tools/topgrade/rust-topgrade.spec @@ -3,14 +3,14 @@ Name: rust-topgrade # renovate: datasource=github-releases depName=topgrade-rs/topgrade -Version: 17.5.1 +Version: 17.6.2 Release: 1%{?dist} Summary: Upgrade all the things SourceLicense: GPL-3.0-or-later License: ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND GPL-3.0 AND GPL-3.0-only AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) URL: https://crates.io/crates/topgrade -Source: %crates_source +Source: %terra_crates_source # Automatically generated patch to strip dependencies and normalize metadata BuildRequires: cargo diff --git a/anda/tools/typos/typos.spec b/anda/tools/typos/typos.spec index b47056762d..b6d1723750 100644 --- a/anda/tools/typos/typos.spec +++ b/anda/tools/typos/typos.spec @@ -2,13 +2,13 @@ %define debug_package %{nil} Name: typos -Version: 1.46.3 +Version: 1.47.2 Release: 1%{?dist} Summary: Source Code Spelling Correction License: MIT OR Apache-2.0 URL: https://crates.io/crates/typos-cli -Source0: %{crates_source} +Source0: %{terra_crates_source} Source1: https://raw.githubusercontent.com/crate-ci/%{name}/refs/tags/v%{version}/LICENSE-MIT Source2: https://raw.githubusercontent.com/crate-ci/%{name}/refs/tags/v%{version}/LICENSE-APACHE diff --git a/anda/tools/yt-dlp/yt-dlp-git.spec b/anda/tools/yt-dlp/yt-dlp-git.spec index efc9009854..78015cf94d 100644 --- a/anda/tools/yt-dlp/yt-dlp-git.spec +++ b/anda/tools/yt-dlp/yt-dlp-git.spec @@ -2,7 +2,7 @@ %global oldpkgname yt-dlp-nightly Name: yt-dlp-git -Version: 2026.05.24.230843 +Version: 2026.06.21.225258 Release: 1%{?dist} Summary: A command-line program to download videos from online video platforms