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/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index a7ba3a8c91..37938e795b 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -29,6 +29,7 @@ body: description: Which version of Terra are you using? options: - frawhide + - f44 - f43 - f42 - el10 diff --git a/.github/PULL_REQUEST_TEMPLATE/new_package.md b/.github/PULL_REQUEST_TEMPLATE/new_package.md index 83d3347771..85275f746f 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new_package.md +++ b/.github/PULL_REQUEST_TEMPLATE/new_package.md @@ -6,3 +6,10 @@ A clear and concise description of why you want this package. Would this provide **Additional context** Add any other context about the package submission here. Link to any relavent issues. + +**Checklist** +- [] This package is maintained OR there is a valid reason to add it (e.g. python dependency) +- [] I have tested at least the `x86_64` version of the package +- [] I have read through any relevant [Terra](https://developer.fyralabs.com/terra) and [Fedora packaging](https://docs.fedoraproject.org/en-US/packaging-guidelines/) documentation/policies/guidelines +- [] I have made sure there are no security issues with this package to the best of my ability +- [] I have made sure this is not in Fedora (unless adding to the [extras repo](https://developer.fyralabs.com/terra/installing#extras)). diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..8c0202ab18 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: + # Maintain GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index 3c1728b37a..e7e84fa87d 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -3,6 +3,9 @@ name: Automatically build packages permissions: contents: read + attestations: write + artifact-metadata: write + id-token: write on: push: paths: @@ -30,7 +33,7 @@ jobs: - name: Set workspace as safe run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 - name: Generate build matrix @@ -51,11 +54,12 @@ jobs: image: ghcr.io/terrapkg/appstream-generator:main steps: - name: Download artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: merge-multiple: true path: ./artifacts - name: Generate test catalog + id: catalog # run appstream-builder, then add step summary run: | set -x @@ -69,40 +73,66 @@ jobs: --basename=test \ --veto-ignore=missing-parents \ --veto-ignore=missing-info 2>&1 | tee asb.log + + - name: Run appstreamcli validate + if: steps.catalog.outcome == 'success' + run: | + if stat output/test.xml.gz &>/dev/null; then + echo "## AppStream MetaInfo Validation" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo '```xml' >> $GITHUB_STEP_SUMMARY + appstreamcli validate output/test.xml.gz >> $GITHUB_STEP_SUMMARY | true + echo "" >> $GITHUB_STEP_SUMMARY + echo '```' >> $GITHUB_STEP_SUMMARY + else + echo "Nothing to do." + fi + + - name: Export logs id: export_logs + if: steps.catalog.outcome == 'success' run: | - echo "## AppStream Builder Log" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo '```log' >> $GITHUB_STEP_SUMMARY - cat asb.log >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - echo '---' >> $GITHUB_STEP_SUMMARY + if stat output/*.xml.gz &>/dev/null; then + echo "## AppStream Builder Log" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo '```log' >> $GITHUB_STEP_SUMMARY + cat asb.log >> $GITHUB_STEP_SUMMARY + echo '```' >> $GITHUB_STEP_SUMMARY + echo '---' >> $GITHUB_STEP_SUMMARY + else + echo "Nothing to do." + fi - name: Report Summary id: report_summary + if: steps.export_logs.outcome == 'success' run: | echo "## AppStream Builder Report" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - if grep -q "veto" asb.log; then - echo "::group::Vetoed packages" - echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY + if stat output/*.xml.gz &>/dev/null; then + if grep -q "veto" asb.log; then + echo "::group::Vetoed packages" + echo "### Vetoed packages" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo '```xml' >> $GITHUB_STEP_SUMMARY + echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY + echo '```' >> $GITHUB_STEP_SUMMARY + echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details." + echo "::endgroup::" + fi + echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo '```xml' >> $GITHUB_STEP_SUMMARY - echo "$(grep -i 'veto' asb.log)" >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - echo "::warning file=asb.log::Some packages were vetoed during AppStream generation. Please review the 'Vetoed packages' section in the summary for details." - echo "::endgroup::" + echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + for file in output/*.xml.gz; do + echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo '```xml' >> $GITHUB_STEP_SUMMARY + zcat "$file" >> $GITHUB_STEP_SUMMARY || true + echo '```' >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + done + else + echo "No appstream files found." >> $GITHUB_STEP_SUMMARY fi - echo "## Full Data Summary" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### Generated Appstream files:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - for file in output/*.xml.gz; do - echo "#### \`$file\`" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo '```xml' >> $GITHUB_STEP_SUMMARY - zcat "$file" >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - done diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 706fa55e58..330334f577 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -1,6 +1,9 @@ name: Bootstrap Andaman and Subatomic permissions: contents: read + attestations: write + artifact-metadata: write + id-token: write on: workflow_dispatch: @@ -21,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@v6 + - 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 @@ -34,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 @@ -58,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 @@ -79,3 +91,10 @@ jobs: --server https://subatomic.fyralabs.com \ --token ${{ secrets.SUBATOMIC_TOKEN }} \ terra${{ matrix.version }}-source anda-build/rpm/srpm/* + + - name: Attest build provenance + uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0 + with: + subject-path: | + anda-build/rpm/rpms/* + anda-build/rpm/srpm/* diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 664348d3f8..3adab0003a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,9 @@ name: Manual Builds permissions: contents: read + attestations: write + artifact-metadata: write + id-token: write on: workflow_dispatch: inputs: @@ -29,7 +32,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@v6 + 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 e0c33e9a4b..c9ca5186dc 100644 --- a/.github/workflows/json-build.yml +++ b/.github/workflows/json-build.yml @@ -1,6 +1,9 @@ name: JSON Build permissions: contents: read + attestations: write + artifact-metadata: write + id-token: write on: workflow_call: inputs: @@ -42,13 +45,13 @@ jobs: pkg: ${{ fromJson(inputs.packages) }} version: ["rawhide"] fail-fast: false - runs-on: ${{ inputs.custom_builder && inputs.custom_builder || (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && 'arm64-lg' || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && format('cirun-x86-64-lg--{0}', github.run_id) || 'ubuntu-22.04' }} + runs-on: ${{ inputs.custom_builder && inputs.custom_builder || (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && format('cirun-arm64-lg--{0}', github.run_id) || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && format('cirun-x86-64-lg--{0}', github.run_id) || 'ubuntu-22.04' }} container: image: ghcr.io/terrapkg/builder:f${{ matrix.version }} options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 @@ -58,7 +61,7 @@ jobs: - name: Configure sccache id: sccache if: ${{ !contains(matrix.pkg.labels.sccache, '0') }} - uses: actions/github-script@v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 env: SCCACHE_GHA_VERSION: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }} SCCACHE_GHA_CACHE_FROM: ${{ matrix.version }}-${{ matrix.pkg.arch }}-${{ matrix.pkg.pkg }} @@ -86,7 +89,7 @@ jobs: - name: Report Cache Summary if: steps.sccache.outcome == 'success' - uses: actions/github-script@v8 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const script = require('./.github/scripts/sccache-stats.js') @@ -99,7 +102,7 @@ jobs: x=${NAME//\//@} echo "name=$x" >> $GITHUB_OUTPUT - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: ${{ steps.art.outputs.name }} compression-level: 0 # The RPMs are already compressed :p @@ -125,6 +128,14 @@ jobs: --token ${{ secrets.SUBATOMIC_TOKEN }} \ terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/* + - name: Attest build provenance + if: inputs.publish + uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0 + with: + subject-path: | + anda-build/rpm/rpms/* + anda-build/rpm/srpm/* + - name: Notify Madoguchi (Success) if: inputs.publish && success() run: ./.github/workflows/mg.sh true "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA" diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml new file mode 100644 index 0000000000..6f888de5a3 --- /dev/null +++ b/.github/workflows/scorecard.yml @@ -0,0 +1,78 @@ +# This workflow uses actions that are not certified by GitHub. They are provided +# by a third-party and are governed by separate terms of service, privacy +# policy, and support documentation. + +name: Scorecard supply-chain security +on: + # For Branch-Protection check. Only the default branch is supported. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection + branch_protection_rule: + # To guarantee Maintained check is occasionally updated. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained + schedule: + - cron: '43 13 * * 2' + push: + branches: [ "frawhide" ] + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + # `publish_results: true` only works when run from the default branch. conditional can be removed if disabled. + if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request' + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results and get a badge (see publish_results below). + id-token: write + # Uncomment the permissions below if installing in a private repository. + # contents: read + # actions: read + + steps: + - name: "Checkout code" + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3 + with: + results_file: results.sarif + results_format: sarif + # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: + # - you want to enable the Branch-Protection check on a *public* repository, or + # - you are installing Scorecard on a *private* repository + # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional. + # repo_token: ${{ secrets.SCORECARD_TOKEN }} + + # Public repositories: + # - Publish results to OpenSSF REST API for easy access by consumers + # - Allows the repository to include the Scorecard badge. + # - See https://github.com/ossf/scorecard-action#publishing-results. + # For private repositories: + # - `publish_results` will always be set to `false`, regardless + # of the value entered here. + publish_results: true + + # (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore + # file_mode: git + + # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF + # format to the repository Actions tab. + - name: "Upload artifact" + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # 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@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4 + with: + sarif_file: results.sarif diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index 1d98a83f67..f80e246eac 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -1,13 +1,15 @@ name: Automatic backport/sync action permissions: - contents: write - pull-requests: write + contents: read on: pull_request_target: types: ["labeled", "closed"] jobs: backport: + permissions: + contents: write + pull-requests: write name: Backport/sync PR runs-on: ubuntu-22.04 if: github.event.pull_request.merged @@ -25,7 +27,7 @@ jobs: git config --global commit.gpgsign true - name: Backport Action - uses: sorenlouv/backport-github-action@v10.2.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 978e08848a..be1ba9a5e0 100644 --- a/.github/workflows/update-branch.yml +++ b/.github/workflows/update-branch.yml @@ -1,6 +1,6 @@ name: Update per branch permissions: - contents: write + contents: read on: schedule: - cron: "*/30 * * * *" @@ -8,6 +8,8 @@ on: jobs: autoupdate: + permissions: + contents: write runs-on: ubuntu-24.04-arm strategy: matrix: @@ -22,7 +24,7 @@ jobs: options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@v6 + 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 61aefdf15e..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@v6 + - 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 28ad326c11..8a68dfbcce 100644 --- a/.github/workflows/update-nightly.yml +++ b/.github/workflows/update-nightly.yml @@ -1,6 +1,6 @@ name: Nightly Update permissions: - contents: write + contents: read on: schedule: - cron: "0 0 * * *" @@ -8,13 +8,15 @@ on: jobs: autoupdate: + permissions: + contents: write runs-on: ubuntu-24.04-arm container: image: ghcr.io/terrapkg/builder:frawhide options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@v6 + 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 d26cd1c93d..80c43b8022 100644 --- a/.github/workflows/update-weekly.yml +++ b/.github/workflows/update-weekly.yml @@ -1,6 +1,6 @@ name: Weekly Update permissions: - contents: write + contents: read on: schedule: - cron: "0 0 * * *" @@ -8,13 +8,15 @@ on: jobs: autoupdate: + permissions: + contents: write runs-on: ubuntu-24.04-arm container: image: ghcr.io/terrapkg/builder:frawhide options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@v6 + 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 75266259a1..741623d0b3 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -1,6 +1,6 @@ name: Update permissions: - contents: write + contents: read on: schedule: - cron: "*/10 * * * *" @@ -8,13 +8,15 @@ on: jobs: autoupdate: + permissions: + contents: write runs-on: ubuntu-24.04-arm container: image: ghcr.io/terrapkg/builder:frawhide options: --cap-add=SYS_ADMIN --privileged steps: - name: Checkout - uses: actions/checkout@v6 + 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 8a7ae3ee65..c1347223a4 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,19 @@ # Terra Sources [![Repository status](https://repology.org/badge/repository-big/terra_rawhide.svg?header=Terra+Rawhide)](https://repology.org/repository/terra_rawhide) +[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/terrapkg/packages/badge)](https://scorecard.dev/viewer/?uri=github.com/terrapkg/packages) + Terra is a rolling-release Fedora repository for all the software you need. With Terra, you can install the latest packages knowing that quality and security are assured. -See the introduction at [our website](https://terra.fyralabs.com). +See the introduction at [our website](https://terrapkg.com). 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 @@ -32,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) @@ -54,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 @@ -70,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..1669f36ab0 --- /dev/null +++ b/anda/apps/1password-cli/1password-cli.spec @@ -0,0 +1,55 @@ +%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: 2%{?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 +Requires(post): /usr/bin/chown +Requires(post): /usr/bin/chmod +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} + +%post +/usr/bin/chown root:onepassword-cli %{_bindir}/op +/usr/bin/chmod 2755 %{_bindir}/op + +%files +%{_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..508682162c --- /dev/null +++ b/anda/apps/1password-cli/1password-cli.sysusers @@ -0,0 +1 @@ +g onepassword-cli 5013 \ No newline at end of file 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..876cfa7e1c --- /dev/null +++ b/anda/apps/1password/1password.spec @@ -0,0 +1,133 @@ +%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: 3%{?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 +Requires(post): /usr/bin/chown +Requires(post): /usr/bin/chmod + +%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} + +%post +/usr/bin/chown root:onepassword %{appdir}/1Password-BrowserSupport +/usr/bin/chmod 2755 %{appdir}/1Password-BrowserSupport +/usr/bin/chown root:onepassword-mcp %{appdir}/onepassword-mcp +/usr/bin/chmod 2755 %{appdir}/onepassword-mcp + +%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 +%{appdir}/1Password-BrowserSupport +%{appdir}/1Password-LastPass-Exporter +%{appdir}/op-ssh-sign +%{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..98ed59ab69 --- /dev/null +++ b/anda/apps/1password/1password.sysusers @@ -0,0 +1,2 @@ +g onepassword 5010 +g onepassword-mcp 5011 \ No newline at end of file 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..f1151d2440 --- /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.86 +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/KTailctl/KTailctl.spec b/anda/apps/KTailctl/KTailctl.spec new file mode 100644 index 0000000000..ba50968b11 --- /dev/null +++ b/anda/apps/KTailctl/KTailctl.spec @@ -0,0 +1,72 @@ +Name: ktailctl +Version: 0.22.1 +Release: 1%{?dist} +Summary: A GUI to monitor and manage Tailscale on your Linux desktop +License: GPL-3.0-only +URL: https://github.com/f-koehler/KTailctl +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: golang +BuildRequires: json-devel +BuildRequires: golang +BuildRequires: kf6-breeze-icons-devel +BuildRequires: kf6-kconfig-devel +BuildRequires: kf6-kcoreaddons-devel +BuildRequires: kf6-kdbusaddons-devel +BuildRequires: kf6-kguiaddons-devel +BuildRequires: kf6-ki18n-devel +BuildRequires: kf6-kirigami-addons-devel +BuildRequires: kf6-kirigami-devel +BuildRequires: kf6-knotifications-devel +BuildRequires: kf6-kwindowsystem-devel +BuildRequires: cmake(KF6IconThemes) +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtdeclarative-devel +BuildRequires: qt6-qtsvg-devel + +Requires: tailscale +Requires: kf5-qqc2-desktop-style +Requires: hicolor-icon-theme + +Provides: KTailctl + +Packager: Owen Zimmerman + +%description +%{summary}. + +%package static +%pkg_static_files + +%prep +%autosetup -n KTailctl-%{version} +cd src/tailscale/wrapper +go mod vendor + +%conf +%cmake + +%build +%cmake_build + +%install +%cmake_install + +%files +%doc README.md +%license LICENSE.txt +%{_bindir}/ktailctl +%{_libdir}/libktailctl_wrapper_logging.so +%{_appsdir}/org.fkoehler.KTailctl.desktop +%{_scalableiconsdir}/org.fkoehler.KTailctl.svg +%{_metainfodir}/org.fkoehler.KTailctl.metainfo.xml + +%changelog +* Sat Jun 27 2026 Owen Zimmerman - 0.22.0-1 +- Update spec for 0.22.0 + +* Sat May 23 2026 Owen Zimmerman - 0.21.5-1 +- Initial commit diff --git a/anda/apps/KTailctl/anda.hcl b/anda/apps/KTailctl/anda.hcl new file mode 100644 index 0000000000..00907a20bf --- /dev/null +++ b/anda/apps/KTailctl/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "KTailctl.spec" + } +} diff --git a/anda/apps/KTailctl/update.rhai b/anda/apps/KTailctl/update.rhai new file mode 100644 index 0000000000..64025dab4f --- /dev/null +++ b/anda/apps/KTailctl/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("f-koehler/KTailctl")); diff --git a/anda/apps/anki-bin/anki-bin.spec b/anda/apps/anki-bin/anki-bin.spec index 2e5f31d091..723a3a7111 100644 --- a/anda/apps/anki-bin/anki-bin.spec +++ b/anda/apps/anki-bin/anki-bin.spec @@ -1,10 +1,10 @@ -%global xurl https://files.pythonhosted.org/packages/22/1c/37fe0377fd5fbfe27b17db20679d76aeb1cef7be3ddfb22e24c0bb62cf96/anki-25.9.2-cp39-abi3-manylinux_2_36_x86_64.whl -%global aurl https://files.pythonhosted.org/packages/c1/49/484a786ea0e1b3659de9478f2546368c5970da60a1cd403cec1fa2f81d65/anki-25.9.2-cp39-abi3-manylinux_2_36_aarch64.whl -%global qurl https://files.pythonhosted.org/packages/e5/d4/26016857a780290264866e1818b1a408106c379906fbd186a0aa26eb1054/aqt-25.9.2-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.2 -Release: 1%?dist +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 URL: https://apps.ankiweb.net/ diff --git a/anda/apps/anki-qt5/anki-qt5.spec b/anda/apps/anki-qt5/anki-qt5.spec index 3bd44e88d1..af93738093 100644 --- a/anda/apps/anki-qt5/anki-qt5.spec +++ b/anda/apps/anki-qt5/anki-qt5.spec @@ -1,6 +1,6 @@ Name: anki-qt5 -Version: 25.09.2 -Release: 1%?dist +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 URL: https://apps.ankiweb.net/ diff --git a/anda/apps/anki/anki.spec b/anda/apps/anki/anki.spec index c31ebcf138..5eeda8185e 100644 --- a/anda/apps/anki/anki.spec +++ b/anda/apps/anki/anki.spec @@ -1,12 +1,13 @@ Name: anki -Version: 25.09.2 -Release: 1%?dist +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 URL: https://apps.ankiweb.net/ +Packager: madonuko BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes) BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson -BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine +BuildRequires: python3-installer make cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine Recommends: (mpv or mpv-nightly) @@ -20,9 +21,7 @@ phrases in a foreign language) as easily, quickly and efficiently as possible. Anki is based on a theory called spaced repetition. %prep -rm -rf * -git clone https://github.com/ankitects/anki . -git checkout %{version} +%git_clone https://github.com/ankitects/anki %patch 0 -p1 # See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=anki @@ -31,7 +30,7 @@ git checkout %{version} export RELEASE=1 export PYTHONPATH=%_libdir/python3/dist-packages cargo update -mold -run ./tools/build +./tools/build %install diff --git a/anda/desktops/mangowc/anda.hcl b/anda/apps/astra/anda.hcl similarity index 51% rename from anda/desktops/mangowc/anda.hcl rename to anda/apps/astra/anda.hcl index f3c97fc686..ec48d1d795 100644 --- a/anda/desktops/mangowc/anda.hcl +++ b/anda/apps/astra/anda.hcl @@ -1,5 +1,5 @@ project pkg { rpm { - spec = "mangowc.spec" + spec = "astra.spec" } } diff --git a/anda/apps/astra/astra.spec b/anda/apps/astra/astra.spec new file mode 100644 index 0000000000..1b35f60815 --- /dev/null +++ b/anda/apps/astra/astra.spec @@ -0,0 +1,40 @@ +%global appid dev.astramusic.astra +%global ver 0.6.1-beta + +Name: astra +%electronmeta -D +Version: %(echo %ver | sed 's/-/~/') +Release: 1%?dist +Summary: A desktop music player for people who still have a music library +License: GPL-3.0-only AND %electron_license +URL: https://astramusic.dev +Source0: https://github.com/Boof2015/astra/archive/refs/tags/v%ver.tar.gz +BuildRequires: nodejs-npm nodejs-packaging + +%description +Audiophile music player with gapless playback, parametric EQ, AutoEQ import, and real-time DSP visualizers. + +%prep +%autosetup -n %name-%ver + +%build +%npm_build -BV -M production +%__nodejs ./scripts/build/writeAppBuildMetadata.cjs + +%install +%electron_install -I -D + +%terra_appstream + +%files +%license LICENSE +%doc README.md +%_bindir/%name +%_libdir/%name +%_appsdir/%name.desktop +%_metainfodir/%appid.metainfo.xml +%_hicolordir/*/apps/%name.png + +%changelog +* Sat Jun 28 2026 madonuko - 0.6.1~beta +- Initial package. diff --git a/anda/apps/astra/update.rhai b/anda/apps/astra/update.rhai new file mode 100644 index 0000000000..5c4609d360 --- /dev/null +++ b/anda/apps/astra/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Boof2015/astra")); 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/anda.hcl b/anda/apps/auto-cpufreq/anda.hcl new file mode 100644 index 0000000000..850557c4c1 --- /dev/null +++ b/anda/apps/auto-cpufreq/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "auto-cpufreq.spec" + } +} diff --git a/anda/apps/auto-cpufreq/auto-cpufreq.spec b/anda/apps/auto-cpufreq/auto-cpufreq.spec new file mode 100644 index 0000000000..2930bb05b3 --- /dev/null +++ b/anda/apps/auto-cpufreq/auto-cpufreq.spec @@ -0,0 +1,87 @@ +%global _desc Automatic CPU speed & power optimizer for Linux. + +Name: python-auto-cpufreq +Version: 3.0.0 +Release: 3%?dist +Summary: Automatic CPU speed & power optimizer for Linux +License: LGPL-3.0-or-later +URL: https://foolcontrol.org/?p=4603 +Source0: https://github.com/AdnanHodzic/auto-cpufreq/archive/refs/tags/v%{version}.tar.gz +Patch0: prevent-install-and-copy.patch + +BuildRequires: python3-devel +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-installer +BuildRequires: systemd-rpm-macros +BuildRequires: python3-poetry-core +BuildRequires: python3-poetry-dynamic-versioning +BuildArch: noarch + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-auto-cpufreq +Summary: %{summary} +%{?python_provide:%python_provide python3-auto-cpufreq} + +%description -n python3-auto-cpufreq +%_desc + +%prep +%git_clone https://github.com/AdnanHodzic/auto-cpufreq.git %{version} +%patch -P0 -p1 + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files auto_cpufreq +mkdir -p %{buildroot}%{_datadir}/polkit-1/actions/ +install -Dm644 scripts/org.auto-cpufreq.pkexec.policy %{buildroot}%{_datadir}/polkit-1/actions/ +install -Dm644 images/icon.png %{buildroot}%{_hicolordir}/512x512/apps/auto-cpufreq.png +install -Dm644 images/icon.png %{buildroot}%{_datadir}/%{name}/icon.png + +mkdir -p %{buildroot}%{_datadir}/auto-cpufreq/scripts/ +mkdir -p %{buildroot}/opt/auto-cpufreq/ +mkdir -p %{buildroot}%{_appsdir}/ +mkdir -p %{buildroot}%{_unitdir}/ + +install -Dm755 scripts/auto-cpufreq-install.sh %{buildroot}%{_datadir}/auto-cpufreq/scripts/ +install -Dm755 scripts/auto-cpufreq-remove.sh %{buildroot}%{_datadir}/auto-cpufreq/scripts/ +install -Dm644 scripts/auto-cpufreq.service %{buildroot}%{_unitdir}/auto-cpufreq.service +install -Dm755 scripts/cpufreqctl.sh %{buildroot}%{_datadir}/auto-cpufreq/scripts/ +install -Dm644 scripts/style.css %{buildroot}%{_datadir}/auto-cpufreq/scripts/ +install -Dm644 scripts/auto-cpufreq-gtk.desktop %{buildroot}%{_appsdir}/ + +%post +%systemd_post auto-cpufreq.service + +%preun +%systemd_preun auto-cpufreq.service + +%postun +%systemd_postun_with_restart auto-cpufreq.service + +%files -n python3-auto-cpufreq -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/auto-cpufreq +%{_bindir}/auto-cpufreq-gtk +%{_datadir}/polkit-1/actions/org.auto-cpufreq.pkexec.policy +%{_hicolordir}/512x512/apps/auto-cpufreq.png +%{_datadir}/%{name}/icon.png +%{_unitdir}/auto-cpufreq.service +%{_datadir}/auto-cpufreq/scripts/ +%{_appsdir}/auto-cpufreq-gtk.desktop + +%changelog +* Tue Apr 07 2026 Owen Zimmerman +- Add install fix patch + +* Sun Apr 05 2026 Owen Zimmerman +- Initial commit diff --git a/anda/apps/auto-cpufreq/prevent-install-and-copy.patch b/anda/apps/auto-cpufreq/prevent-install-and-copy.patch new file mode 100644 index 0000000000..776b61452b --- /dev/null +++ b/anda/apps/auto-cpufreq/prevent-install-and-copy.patch @@ -0,0 +1,101 @@ +diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py +index f03e7de..2dff5fb 100755 +--- a/auto_cpufreq/core.py ++++ b/auto_cpufreq/core.py +@@ -277,19 +277,12 @@ def get_current_gov(): + ) + + def cpufreqctl(): +- """ +- deploy cpufreqctl.auto-cpufreq script +- """ +- if not (IS_INSTALLED_WITH_SNAP or os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq")): +- copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/local/bin/cpufreqctl.auto-cpufreq") +- call(["chmod", "a+x", "/usr/local/bin/cpufreqctl.auto-cpufreq"]) ++ # scripts are already in the correct place ++ pass + + def cpufreqctl_restore(): +- """ +- remove cpufreqctl.auto-cpufreq script +- """ +- if not IS_INSTALLED_WITH_SNAP and os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq"): +- os.remove("/usr/local/bin/cpufreqctl.auto-cpufreq") ++ #no need to restore ++ pass + + def footer(l=79): print("\n" + "-" * l + "\n") + +@@ -307,31 +300,8 @@ def remove_complete_msg(): + footer() + + def deploy_daemon(): +- print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon " + "-" * 22 + "\n") +- +- cpufreqctl() # deploy cpufreqctl script func call +- +- bluetooth_disable() # turn off bluetooth on boot +- +- auto_cpufreq_stats_path.touch(exist_ok=True) +- +- print("\n* Deploy auto-cpufreq install script") +- copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/local/bin/auto-cpufreq-install") +- call(["chmod", "a+x", "/usr/local/bin/auto-cpufreq-install"]) +- +- print("\n* Deploy auto-cpufreq remove script") +- copy(SCRIPTS_DIR / "auto-cpufreq-remove.sh", "/usr/local/bin/auto-cpufreq-remove") +- call(["chmod", "a+x", "/usr/local/bin/auto-cpufreq-remove"]) +- +- # output warning if gnome power profile is running +- gnome_power_detect_install() +- gnome_power_svc_disable() +- +- tuned_svc_disable() +- +- tlp_service_detect() # output warning if TLP service is detected +- +- call("/usr/local/bin/auto-cpufreq-install", shell=True) ++ # prevent needless copying and system changes ++ pass + + def deploy_daemon_performance(): + print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon (performance) " + "-" * 22 + "\n") +@@ -363,37 +333,7 @@ def deploy_daemon_performance(): + + call("/usr/local/bin/auto-cpufreq-install", shell=True) + +-def remove_daemon(): +- # check if auto-cpufreq is installed +- if not os.path.exists("/usr/local/bin/auto-cpufreq-remove"): +- print("\nauto-cpufreq daemon is not installed.\n") +- sys.exit(1) +- +- print("\n" + "-" * 21 + " Removing auto-cpufreq daemon " + "-" * 22 + "\n") +- +- bluetooth_enable() # turn on bluetooth on boot +- +- # output warning if gnome power profile is stopped +- gnome_power_rm_reminder() +- gnome_power_svc_enable() +- +- tuned_svc_enable() +- +- # run auto-cpufreq daemon remove script +- call("/usr/local/bin/auto-cpufreq-remove", shell=True) +- +- # remove auto-cpufreq-remove +- os.remove("/usr/local/bin/auto-cpufreq-remove") +- +- # delete override pickle if it exists +- if os.path.exists(governor_override_state): os.remove(governor_override_state) +- +- # delete stats file +- if auto_cpufreq_stats_path.exists(): +- if auto_cpufreq_stats_file is not None: auto_cpufreq_stats_file.close() +- auto_cpufreq_stats_path.unlink() +- +- cpufreqctl_restore() # restore original cpufrectl script ++def remove_daemon(): pass + + def gov_check(): + for gov in AVAILABLE_GOVERNORS: diff --git a/anda/apps/auto-cpufreq/update.rhai b/anda/apps/auto-cpufreq/update.rhai new file mode 100644 index 0000000000..46dee26f1d --- /dev/null +++ b/anda/apps/auto-cpufreq/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("AdnanHodzic/auto-cpufreq")); diff --git a/anda/apps/bazzite-portal/bazzite-portal.spec b/anda/apps/bazzite-portal/bazzite-portal.spec index 74d29485e8..f1c0010c19 100644 --- a/anda/apps/bazzite-portal/bazzite-portal.spec +++ b/anda/apps/bazzite-portal/bazzite-portal.spec @@ -1,13 +1,13 @@ Name: bazzite-portal -Version: 0.1.6 -Release: 3%?dist +Version: 0.2.3 +Release: 1%{?dist} Summary: Bazzite Portal is a tabbed frontend for curated script execution, with a focus on distro specific QOL shortcuts URL: https://github.com/ublue-os/yafti-gtk Source0: https://github.com/ublue-os/yafti-gtk/archive/refs/tags/v%{version}.tar.gz License: GPL-3.0-only Requires: python3-gobject Requires: python3-PyYAML -Requires: gtk3 +Requires: gtk4 Provides: Bazzite-Portal BuildArch: noarch Packager: Zacharias Xenakis @@ -35,5 +35,8 @@ install -Dm 644 io.github.ublue_os.yafti_gtk.metainfo.xml %{buildroot}%{_metainf %{_metainfodir}/io.github.ublue_os.yafti_gtk.metainfo.xml %changelog +* Sun Apr 19 2026 Xarishark +- Upgraded to GTK4 + * Wed Jan 28 2026 Xarishark -- Initial commit \ No newline at end of file +- Initial commit 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 eaa26a80de..e92e227551 100644 --- a/anda/apps/bitwarden/cli.bin/bitwarden-cli.bin.spec +++ b/anda/apps/bitwarden/cli.bin/bitwarden-cli.bin.spec @@ -1,6 +1,6 @@ Name: bitwarden-cli.bin -Version: 2026.1.0 -Release: 2%?dist +Version: 2026.5.0 +Release: 1%{?dist} Summary: Bitwarden command-line client License: GPL-3.0-only URL: https://bitwarden.com diff --git a/anda/apps/bitwarden/cli/bitwarden-cli.spec b/anda/apps/bitwarden/cli/bitwarden-cli.spec index fab3682b3e..e36b04eef3 100644 --- a/anda/apps/bitwarden/cli/bitwarden-cli.spec +++ b/anda/apps/bitwarden/cli/bitwarden-cli.spec @@ -6,8 +6,8 @@ %endif Name: bitwarden-cli -Version: 2026.1.0 -Release: 1%?dist +Version: 2026.5.0 +Release: 1%{?dist} Summary: Bitwarden command-line client License: GPL-3.0-only URL: https://bitwarden.com diff --git a/anda/apps/chdig/chdig.spec b/anda/apps/chdig/chdig.spec index 118e9998e6..bae5299c54 100644 --- a/anda/apps/chdig/chdig.spec +++ b/anda/apps/chdig/chdig.spec @@ -1,8 +1,8 @@ %undefine __brp_mangle_shebangs Name: chdig -Version: 26.2.3 -Release: 1%?dist +Version: 26.6.1 +Release: 1%{?dist} Summary: Dig into ClickHouse with TUI interface URL: https://github.com/azat/chdig Source0: %url/archive/refs/tags/v%{version}.tar.gz diff --git a/anda/apps/chrultrabook-tools/chrultrabook-tools.spec b/anda/apps/chrultrabook-tools/chrultrabook-tools.spec index 19726e1091..87a4b6d203 100644 --- a/anda/apps/chrultrabook-tools/chrultrabook-tools.spec +++ b/anda/apps/chrultrabook-tools/chrultrabook-tools.spec @@ -1,8 +1,8 @@ %undefine __brp_mangle_shebangs Name: chrultrabook-tools -Version: 3.1.3 -Release: 2%?dist +Version: 3.1.6 +Release: 1%{?dist} Summary: User-friendly configuration utility for Chromebooks running an alternate OS URL: https://github.com/death7654/Chrultrabook-Tools Source0: %url/archive/refs/tags/%version.tar.gz diff --git a/anda/apps/coolercontrol/coolercontrol.spec b/anda/apps/coolercontrol/coolercontrol.spec index 86b32fcb51..26c67629c5 100644 --- a/anda/apps/coolercontrol/coolercontrol.spec +++ b/anda/apps/coolercontrol/coolercontrol.spec @@ -8,8 +8,8 @@ for background device management, as well as a GUI to expertly customize your se %global __brp_mangle_shebangs %{nil} Name: coolercontrol -Version: 3.1.1 -Release: 2%?dist +Version: 4.3.1 +Release: 1%{?dist} Summary: Cooling device control for Linux ExclusiveArch: x86_64 aarch64 License: GPL-3.0-or-later diff --git a/anda/apps/discord-canary-openasar/discord-canary-openasar.spec b/anda/apps/discord-canary-openasar/discord-canary-openasar.spec index af5b9864bf..a32c88e23e 100644 --- a/anda/apps/discord-canary-openasar/discord-canary-openasar.spec +++ b/anda/apps/discord-canary-openasar/discord-canary-openasar.spec @@ -6,8 +6,8 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-canary-openasar -Version: 0.0.885 -Release: 1%?dist +Version: 1.0.1370 +Release: 1%{?dist} Summary: A snappier Discord rewrite with features like further customization and theming License: MIT AND https://discord.com/terms URL: https://github.com/GooseMod/OpenAsar diff --git a/anda/apps/discord-canary/discord-canary.spec b/anda/apps/discord-canary/discord-canary.spec index 20a97356d3..28f8165095 100644 --- a/anda/apps/discord-canary/discord-canary.spec +++ b/anda/apps/discord-canary/discord-canary.spec @@ -1,20 +1,17 @@ -%define debug_package %{nil} -%global _build_id_links none - -# Exclude private libraries -%global __requires_exclude libffmpeg.so -%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so - Name: discord-canary -Version: 0.0.885 -Release: 1%?dist +Version: 1.0.1370 +Release: 1%{?dist} Summary: Free Voice and Text Chat for Gamers URL: discord.com -Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/discord-canary-%{version}.tar.gz -License: https://discord.com/terms -Requires: glibc GConf2 nspr >= 4.13 nss >= 3.27 libX11 >= 1.6 libXtst >= 1.2 +Source0: https://dl-canary.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz +Source1: https://discord.com/terms#/terms.html +License: Proprietary +Requires: zenity Group: Applications/Internet ExclusiveArch: x86_64 + +%electronmeta -D + %description All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. @@ -25,23 +22,23 @@ both your desktop and phone. %build %install -rm -rf $RPM_BUILD_ROOT -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_datadir}/discord-canary -cp -rv * %{buildroot}%{_datadir}/discord-canary -mkdir -p %{buildroot}%{_datadir}/applications/ -mkdir -p %{buildroot}%{_datadir}/pixmaps -ln -s %_datadir/discord-canary/discord-canary.desktop %{buildroot}%{_datadir}/applications/ -ln -s %_datadir/discord-canary/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png -ln -s %_datadir/discord-canary/DiscordCanary %buildroot%_bindir/discord-canary +install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name} +install -Dpm755 %{name} -t %{buildroot}%{_bindir} +install -Dpm644 discord.png %{buildroot}%{_datadir}/pixmaps/%{name}.png +%desktop_file_install %{name}.desktop +cp %{SOURCE1} -t . %files -%_bindir/discord-canary -%{_datadir}/discord-canary/ -%{_datadir}/applications/discord-canary.desktop -%{_datadir}/pixmaps/discord-canary.png +%license terms.html +%{_bindir}/%{name} +%{_datadir}/%{name}/ +%{_appsdir}/%{name}.desktop +%{_datadir}/pixmaps/%{name}.png %changelog +* Tue May 5 2026 Gilver E. - 1.0.1025-2 +- Update build for new bootstrap format + * Thu Dec 01 2022 root - 0.0.144-1 - new version diff --git a/anda/apps/discord-openasar/discord-openasar.spec b/anda/apps/discord-openasar/discord-openasar.spec index 90fc7ae93d..1de253ac48 100644 --- a/anda/apps/discord-openasar/discord-openasar.spec +++ b/anda/apps/discord-openasar/discord-openasar.spec @@ -6,8 +6,8 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-openasar -Version: 0.0.127 -Release: 1%?dist +Version: 1.0.145 +Release: 1%{?dist} Summary: A snappier Discord rewrite with features like further customization and theming License: MIT AND https://discord.com/terms URL: https://github.com/GooseMod/OpenAsar diff --git a/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec b/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec index 621a6e2164..8ed95e3ae1 100644 --- a/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec +++ b/anda/apps/discord-ptb-openasar/discord-ptb-openasar.spec @@ -6,8 +6,8 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: discord-ptb-openasar -Version: 0.0.179 -Release: 1%?dist +Version: 1.0.197 +Release: 1%{?dist} Summary: A snappier Discord rewrite with features like further customization and theming License: MIT AND https://discord.com/terms URL: https://github.com/GooseMod/OpenAsar diff --git a/anda/apps/discord-ptb/discord-ptb.spec b/anda/apps/discord-ptb/discord-ptb.spec index 92d0874409..7873b9c3c1 100644 --- a/anda/apps/discord-ptb/discord-ptb.spec +++ b/anda/apps/discord-ptb/discord-ptb.spec @@ -1,24 +1,17 @@ -%define debug_package %{nil} -%global _build_id_links none - -# Exclude private libraries -%global __requires_exclude libffmpeg.so -%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so - Name: discord-ptb -Version: 0.0.179 -Release: 1%?dist +Version: 1.0.197 +Release: 1%{?dist} Summary: Free Voice and Text Chat for Gamers. URL: https://discord.com -Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/discord-ptb-%{version}.tar.gz -License: https://discord.com/terms -Requires: glibc GConf2 -Requires: nspr >= 4.13 -Requires: nss >= 3.27 -Requires: libX11 >= 1.6 -Requires: libXtst >= 1.2 +Source0: https://dl-ptb.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz +Source1: https://discord.com/terms#/terms.html +License: Proprietary +Requires: zenity Group: Applications/Internet ExclusiveArch: x86_64 + +%electronmeta -D + %description All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. @@ -29,23 +22,23 @@ both your desktop and phone. %build %install -rm -rf $RPM_BUILD_ROOT -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_datadir}/discord-ptb -cp -rv * %{buildroot}%{_datadir}/discord-ptb -mkdir -p %{buildroot}%{_datadir}/applications/ -mkdir -p %{buildroot}%{_datadir}/pixmaps -ln -s %_datadir/discord-ptb/discord-ptb.desktop %{buildroot}%{_datadir}/applications/ -ln -s %_datadir/discord-ptb/discord.png %{buildroot}%{_datadir}/pixmaps/discord-ptb.png -ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb +install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name} +install -Dpm755 %{name} -t %{buildroot}%{_bindir} +install -Dpm644 discord.png %{buildroot}%{_datadir}/pixmaps/%{name}.png +%desktop_file_install %{name}.desktop +cp %{SOURCE1} -t . %files -%_bindir/discord-ptb -%{_datadir}/discord-ptb/ -%{_datadir}/applications/discord-ptb.desktop -%{_datadir}/pixmaps/discord-ptb.png +%license terms.html +%{_bindir}/%{name} +%{_datadir}/%{name}/ +%{_appsdir}/%{name}.desktop +%{_datadir}/pixmaps/%{name}.png %changelog +* Tue May 5 2026 Gilver E. - 1.0.189-2 +- Update build for new bootstrap format + * Thu Nov 17 2022 madonuko - 0.0.35-1 - new version diff --git a/anda/apps/discord/discord.spec b/anda/apps/discord/discord.spec index 9309bb1afd..8031755180 100644 --- a/anda/apps/discord/discord.spec +++ b/anda/apps/discord/discord.spec @@ -1,24 +1,17 @@ -%define debug_package %{nil} -%global _build_id_links none +Name: discord +Version: 1.0.145 +Release: 1%{?dist} +Summary: Free Voice and Text Chat for Gamers +URL: https://discord.com +Source0: https://dl.discordapp.net/apps/linux/%{version}/%{name}-%{version}.tar.gz +Source1: https://discord.com/terms#/terms.html +License: Proprietary +Requires: zenity +Group: Applications/Internet +ExclusiveArch: x86_64 -# Exclude private libraries -%global __requires_exclude libffmpeg.so -%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so +%electronmeta -D -Name: discord -Version: 0.0.127 -Release: 1%?dist -Summary: Free Voice and Text Chat for Gamers -URL: https://discord.com -Source0: https://dl.discordapp.net/apps/linux/%{version}/discord-%{version}.tar.gz -License: https://discord.com/terms -Requires: glibc GConf2 -Requires: nspr >= 4.13 -Requires: nss >= 3.27 -Requires: libX11 >= 1.6 -Requires: libXtst >= 1.2 -Group: Applications/Internet -ExclusiveArch: x86_64 %description All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. @@ -29,22 +22,23 @@ both your desktop and phone. %build %install -rm -rf $RPM_BUILD_ROOT -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_datadir}/discord -cp -rv * %{buildroot}%{_datadir}/discord -mkdir -p %{buildroot}%{_datadir}/applications/ -mkdir -p %{buildroot}%{_datadir}/pixmaps -ln -s %_datadir/discord/discord.desktop %{buildroot}%{_datadir}/applications/discord.desktop -ln -s %_datadir/discord/discord.png %{buildroot}%{_datadir}/pixmaps/discord.png -ln -s %_datadir/discord/Discord %buildroot%_bindir/discord +install -Dpm755 updater_bootstrap -t %{buildroot}%{_datadir}/%{name} +install -Dpm755 %{name} -t %{buildroot}%{_bindir} +install -Dpm644 %{name}.png -t %{buildroot}%{_datadir}/pixmaps +%desktop_file_install %{name}.desktop +cp %{SOURCE1} -t . %files -%_bindir/discord -%{_datadir}/discord/ -%{_datadir}/applications/discord.desktop -%{_datadir}/pixmaps/discord.png +%license terms.html +%{_bindir}/%{name} +%{_datadir}/%{name}/ +%{_appsdir}/%{name}.desktop +%{_datadir}/pixmaps/%{name}.png %changelog +* Tue May 5 2026 Gilver E. - 1.0.136-4 +- Remove unused files from package +* Mon May 4 2026 Gilver E. - 1.0.136-2 +- Updated /usr/bin symlink * Thu Jan 19 2023 madonuko - 0.0.143-1 - Initial package diff --git a/anda/apps/dorion/dorion.spec b/anda/apps/dorion/dorion.spec index 77f9588661..107e8d5b2f 100644 --- a/anda/apps/dorion/dorion.spec +++ b/anda/apps/dorion/dorion.spec @@ -1,8 +1,8 @@ %undefine __brp_mangle_shebangs Name: dorion -Version: 6.12.0 -Release: 1%?dist +Version: 6.12.2 +Release: 1%{?dist} Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more! SourceLicense: GPL-3.0-only License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND 0BSD 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 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 OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND CC0-1.0 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 Unicode-3.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) diff --git a/anda/apps/ente/cli/anda.hcl b/anda/apps/ente/cli/anda.hcl new file mode 100644 index 0000000000..96db180116 --- /dev/null +++ b/anda/apps/ente/cli/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "golang-github-ente-io-cli.spec" + } +} diff --git a/anda/apps/ente/cli/golang-github-ente-io-cli.spec b/anda/apps/ente/cli/golang-github-ente-io-cli.spec new file mode 100644 index 0000000000..5b4e8455a1 --- /dev/null +++ b/anda/apps/ente/cli/golang-github-ente-io-cli.spec @@ -0,0 +1,75 @@ +# Generated by go2rpm 1.19.0 +%bcond check 0 +%bcond bootstrap 0 + +%if %{with bootstrap} +%global debug_package %{nil} +%endif + +%if %{with bootstrap} +%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(.*\\)$ +%endif + +# https://github.com/ente-io/ente +%global goipath github.com/ente-io/ente/cli +%global tag cli-v0.2.3 +Version: %(echo %tag | sed 's/^cli-v//') + +%gometa -f + +%global common_description %{expand: +The Ente CLI is a Command Line Utility for exporting data from Ente. It also does a few more things, for example, you can use it to decrypt the export from Ente Auth.} + +%global golicenses LICENSE +%global godocs CODE_OF_CONDUCT.md CONTRIBUTING.md cli/README.md SECURITY.md SUPPORT.md +Name: ente +Release: 1%?dist +Summary: 💚 End-to-end encrypted cloud for everything +Packager: madonuko + +License: AGPL-3.0-only +URL: ente.com +Source: %{gosource} + +%description %{common_description} + +%gopkg + +%prep +%goprep -A +%autopatch -p1 + +%if %{without bootstrap} +%build +%global gomodulesmode GO111MODULE=on +cd cli +%gobuild -o %{gobuilddir}/bin/ente . +%endif + +%install +cd cli +%gopkginstall +%if %{without bootstrap} +install -m 0755 -vd %{buildroot}%{_bindir} +install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ +%endif + +%if %{without bootstrap} +%if %{with check} +%check +%gocheck +%endif +%endif + +%if %{without bootstrap} +%files +%license LICENSE +%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md SECURITY.md SUPPORT.md cli/README.md +%{_bindir}/ente +%endif + +%gopkgfiles + +%changelog +* Tue Jun 16 2026 madonuko - 0.2.3-1 +- Initial package. diff --git a/anda/apps/ente/cli/update.rhai b/anda/apps/ente/cli/update.rhai new file mode 100644 index 0000000000..47355348ba --- /dev/null +++ b/anda/apps/ente/cli/update.rhai @@ -0,0 +1,10 @@ +let tagobjs = get("https://api.github.com/repos/ente-io/ente/tags").json_arr(); +for tagobj in tagobjs { + if tagobj.name.starts_with("cli-v") { + rpm.global("tag", tagobj.name); + if rpm.changed() { + rpm.release(); + break; + } + } +} diff --git a/anda/desktops/waylands/swww/anda.hcl b/anda/apps/ente/ensu/anda.hcl similarity index 54% rename from anda/desktops/waylands/swww/anda.hcl rename to anda/apps/ente/ensu/anda.hcl index 8f4e2ba38a..cd4f3517a0 100644 --- a/anda/desktops/waylands/swww/anda.hcl +++ b/anda/apps/ente/ensu/anda.hcl @@ -1,5 +1,5 @@ project pkg { rpm { - spec = "swww.spec" + spec = "ensu.spec" } } diff --git a/anda/apps/ente/ensu/ensu.desktop b/anda/apps/ente/ensu/ensu.desktop new file mode 100644 index 0000000000..28d1a36c20 --- /dev/null +++ b/anda/apps/ente/ensu/ensu.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Ensu +Comment=Ensu Desktop App +Exec=Ensu +Icon=io.ente.ensu +Terminal=false +Type=Application +Categories=Utility; +StartupNotify=true diff --git a/anda/apps/ente/ensu/ensu.spec b/anda/apps/ente/ensu/ensu.spec new file mode 100644 index 0000000000..19f568bbeb --- /dev/null +++ b/anda/apps/ente/ensu/ensu.spec @@ -0,0 +1,58 @@ +%global tag ensu-v0.1.17 +%global appid io.ente.ensu +%global developer "Ente" +%global org "io.ente" +%global appstream_component desktop-application + + +# the original version of %%_package_note_flags expects cc/gcc to parse the ld flags, +# but for wasm the `lld -flavor wasm` linker is called directly +%dnl --package-metadata={\\"type\\":\\"rpm\\",\\"name\\":\\"%name\\",\\"version\\":\\"%version-%release\\",\\"architecture\\":\\"$RPM_ARCH\\",\\"osCpe\\":\\"cpe:/o:fedoraproject:fedora:%fedora\\"} +%define _package_note_flags %nil +%undefine _package_note_status +%define terra_rustflags %build_rustflags +%bcond_with mold +%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ +%global _distro_extra_cxxflags -fno-permissive + +Name: ensu +Version: %(echo %tag | sed 's/^ensu-v//') +Release: 1%?dist +Summary: Private, personal LLM app that runs on your device and grows with you over time +License: AGPL-3.0-only +URL: https://ente.com/ensu +Source0: https://github.com/ente-io/ente/archive/refs/tags/%tag.tar.gz +Source1: ensu.desktop +Packager: madonuko +BuildRequires: cmake %tauri_buildrequires +BuildRequires: rust-std-static-wasm32-unknown-unknown +BuildRequires: clang-devel + +%description +%summary. + +%prep +%autosetup -n ente-%tag +pushd web +npm ci +popd +cd rust/apps/ensu +%tauri_prep + +%build +cd rust/apps/ensu +%npm_build -Bc + +%install +install -Dpm755 rust/target/rpm/Ensu -t %buildroot%_bindir +%desktop_file_install %{S:1} +install -Dpm644 rust/apps/ensu/src-tauri/icons/icon.png %buildroot%_hicolordir/1024x1024/apps/ensu.png +%terra_appstream + +%files +%doc README.md CONTRIBUTING.md CODE_OF_CONDUCT.md SECURITY.md SUPPORT.md +%license LICENSE +%_bindir/Ensu +%_appsdir/ensu.desktop +%_hicolordir/*/apps/ensu.png +%_metainfodir/%appid.metainfo.xml diff --git a/anda/apps/ente/ensu/update.rhai b/anda/apps/ente/ensu/update.rhai new file mode 100644 index 0000000000..684ad7048e --- /dev/null +++ b/anda/apps/ente/ensu/update.rhai @@ -0,0 +1,10 @@ +let tagobjs = get("https://api.github.com/repos/ente-io/ente/tags").json_arr(); +for tagobj in tagobjs { + if tagobj.name.starts_with("ensu-v") { + rpm.global("tag", tagobj.name); + if rpm.changed() { + rpm.release(); + break; + } + } +} diff --git a/anda/apps/envision/envision.spec b/anda/apps/envision/envision.spec index b06287af51..7abed0752e 100644 --- a/anda/apps/envision/envision.spec +++ b/anda/apps/envision/envision.spec @@ -1,10 +1,10 @@ -%global commit 9e23d0120c0da40ec6e734756a6252783ac93039 -%global commit_date 20260302 +%global commit 373646a12620a82e9684d79c1066f9b48bf3eed1 +%global commit_date 20260613 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: envision-nightly Version: %commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: UI for building, configuring and running Monado, the open source OpenXR runtime SourceLicense: AGPL-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 AGPL-3.0-or-later 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 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND ISC AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib diff --git a/anda/apps/equilotl/anda.hcl b/anda/apps/equilotl/anda.hcl new file mode 100644 index 0000000000..0ba3a045e5 --- /dev/null +++ b/anda/apps/equilotl/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "golang-github-equicord-equilotl.spec" + } +} diff --git a/anda/apps/equilotl/golang-github-equicord-equilotl.spec b/anda/apps/equilotl/golang-github-equicord-equilotl.spec new file mode 100644 index 0000000000..64d44f9615 --- /dev/null +++ b/anda/apps/equilotl/golang-github-equicord-equilotl.spec @@ -0,0 +1,102 @@ +# Generated by go2rpm 1.19.0 +%bcond check 1 +%bcond bootstrap 0 + +%if %{with bootstrap} +%global debug_package %{nil} +%endif + +%if %{with bootstrap} +%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(.*\\)$ +%endif + +# https://github.com/Equicord/Equilotl +%global goipath github.com/Equicord/Equilotl +Version: 2.2.6 + +%gometa -f + +%global common_description %{expand: +A cross platform gui/cli app for installing Equicord.} + +%global golicenses LICENSE +%global godocs README.md + +Name: equilotl +Release: %autorelease +Summary: A cross platform gui app for installing Equicord + +License: GPL-3.0-only +URL: %{gourl} +Source: %{gosource} +Packager: madonuko +BuildRequires: pkg-config libGL-devel libXxf86vm-devel gcc-c++ +BuildRequires: wayland-devel libxkbcommon-devel wayland-protocols-devel extra-cmake-modules +BuildRequires: libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel +RemovePathPostFixes: .wayland + +%description %{common_description} + +%package cli +Summary: A cross platform cli app for installing Equicord +RemovePathPostFixes: .cli +%description cli %{common_description} + +%package x11 +Summary: A cross platform gui (X11) app for installing Equicord +RemovePathPostFixes: .x11 +%description x11 %{common_description} + +%gopkg + +%prep +%goprep -A +%autopatch -p1 + +%if %{without bootstrap} +%build +%define gomodulesmode GO111MODULE=on +export GO_BUILDTAGS="wayland" +%gobuild -o %{gobuilddir}/bin/Equilotl.wayland equilotl +export GO_BUILDTAGS="" +%gobuild -o %{gobuilddir}/bin/Equilotl.x11 equilotl +export GO_BUILDTAGS="cli" +%gobuild -o %{gobuilddir}/bin/Equilotl.cli equilotl +%endif + +%install +%gopkginstall +%if %{without bootstrap} +install -m 0755 -vd %{buildroot}%{_bindir} +install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ +%endif + +%if %{without bootstrap} +%if %{with check} +%check +%gocheck +%endif +%endif + +%if %{without bootstrap} +%files +%license LICENSE +%doc README.md +%{_bindir}/Equilotl.wayland + +%files cli +%license LICENSE +%doc README.md +%{_bindir}/Equilotl.cli + +%files x11 +%license LICENSE +%doc README.md +%{_bindir}/Equilotl.x11 +%endif + +%gopkgfiles + +%changelog +* Sat Jun 27 2026 madonuko - 2.2.6-1 +- Initial package diff --git a/anda/apps/equilotl/update.rhai b/anda/apps/equilotl/update.rhai new file mode 100644 index 0000000000..7a0702a894 --- /dev/null +++ b/anda/apps/equilotl/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Equicord/Equilotl")); diff --git a/anda/apps/falcond-gui/falcond-gui.spec b/anda/apps/falcond-gui/falcond-gui.spec index ce7e7c0bee..6017aff3a4 100644 --- a/anda/apps/falcond-gui/falcond-gui.spec +++ b/anda/apps/falcond-gui/falcond-gui.spec @@ -1,6 +1,8 @@ +%global appid com.pikaos.falcondgui + Name: falcond-gui -Version: 1.0.2 -Release: 1%?dist +Version: 1.0.3 +Release: 1%{?dist} Summary: A GTK4/LibAdwaita application to control and monitor the Falcond gaming optimization daemon SourceLicense: MIT License: (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND CC0-1.0 AND ISC AND (MIT OR Apache-2.0) AND MIT AND (Unlicense OR MIT) @@ -30,12 +32,12 @@ falcond-gui provides a user-friendly graphical interface for managing falcond. I %install %cargo_install -desktop-file-install res/%{name}.desktop -install -Dm644 res/falcond.png -t %{buildroot}%{_hicolordir}/512x512/apps/ +%desktop_file_install res/%{appid}.desktop +install -Dm644 res/%{appid}.png -t %{buildroot}%{_hicolordir}/512x512/apps/ %{cargo_license_online} > LICENSE.dependencies %check -desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop +%desktop_file_validate %{buildroot}%{_datadir}/applications/%{appid}.desktop %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor/ &>/dev/null || : @@ -44,8 +46,8 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %doc ../README.md %license ../LICENSE.md %{_bindir}/%{name} -%{_hicolordir}/512x512/apps/falcond.png -%{_appsdir}/%{name}.desktop +%{_hicolordir}/512x512/apps/%{appid}.png +%{_appsdir}/%{appid}.desktop %changelog * Thu Jan 1 2026 Gilver E. - 1.0.0-1 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 f50c2c3d6a..f36b787f45 100644 --- a/anda/apps/feishin/feishin.spec +++ b/anda/apps/feishin/feishin.spec @@ -6,8 +6,8 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: feishin -Version: 1.6.0 -Release: 1%?dist +Version: 1.13.0 +Release: 1%{?dist} Summary: A modern self-hosted music player License: GPL-3.0 URL: https://github.com/jeffvli/feishin diff --git a/anda/apps/flameshot/flameshot-nightly.spec b/anda/apps/flameshot/flameshot-nightly.spec index db0b8d522a..5d30e4c417 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 4a32a7e86a15a67456d628e79d77d86cb7db2e7e +%global ver 14.0.0 +%global commit 6a635d2d5d88190dab8152bcebb4a85796a55ab3 %global shortcommit %{sub %{commit} 1 7} -%global commit_date 20260303 +%global commit_date 20260626 %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/framework-tool-tui/anda.hcl b/anda/apps/framework-tool-tui/anda.hcl new file mode 100644 index 0000000000..3f7dd905a1 --- /dev/null +++ b/anda/apps/framework-tool-tui/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "framework-tool-tui.spec" + } +} diff --git a/anda/apps/framework-tool-tui/framework-tool-tui.spec b/anda/apps/framework-tool-tui/framework-tool-tui.spec new file mode 100644 index 0000000000..8812b7ca78 --- /dev/null +++ b/anda/apps/framework-tool-tui/framework-tool-tui.spec @@ -0,0 +1,53 @@ +%undefine __brp_mangle_shebangs + +Name: framework-tool-tui +Version: 0.8.3 +Release: 1%{?dist} +Summary: A TUI for controlling and monitoring Framework Computers hardware built in Rust +URL: https://github.com/grouzen/framework-tool-tui +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +License: MIT AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (MIT OR Apache-2.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Zlib AND (Unlicense OR MIT) +BuildRequires: anda-srpm-macros +BuildRequires: cargo-rpm-macros +BuildRequires: pkgconfig(libudev) +BuildArch: x86_64 + +Packager: Owen Zimmerman + +%description +A snappy TUI dashboard for controlling and monitoring your Framework Laptop +hardware — charging, privacy, lighting, USB PD ports, and more. + +%package doc +Summary: Documentations for %{name} +BuildArch: noarch + +%description doc +Documentations for %{name}. + +%prep +%autosetup +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm755 target/rpm/framework-tool-tui %{buildroot}%{_bindir}/framework-tool-tui +%{cargo_license_online} > LICENSE.dependencies + +mkdir -p %{buildroot}%{_docdir}/%{name}/ +cp -r docs/*.md %{buildroot}%{_docdir}/%{name}/ + +%files +%{_bindir}/framework-tool-tui +%license LICENSE +%license LICENSE.dependencies +%doc README.md + +%files doc +%{_docdir}/%{name}/ + +%changelog +* Thu Apr 23 2026 Owen Zimmerman +- Initial commit diff --git a/anda/apps/framework-tool-tui/update.rhai b/anda/apps/framework-tool-tui/update.rhai new file mode 100644 index 0000000000..458dfc2ca0 --- /dev/null +++ b/anda/apps/framework-tool-tui/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("grouzen/framework-tool-tui")); diff --git a/anda/apps/goofcord/nightly/goofcord-nightly.spec b/anda/apps/goofcord/nightly/goofcord-nightly.spec index 0ee51ebbc0..e0973cfb08 100644 --- a/anda/apps/goofcord/nightly/goofcord-nightly.spec +++ b/anda/apps/goofcord/nightly/goofcord-nightly.spec @@ -1,14 +1,14 @@ -%global commit 45f3fcfa70d482ae1ac94ec9a2e78f3d941a37e5 +%global commit 7cd0395ebd3e0591c0ae4f850f22425b0be30a45 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260304 -%global ver 2.0.1^ +%global commit_date 20260612 +%global ver 2.2.1^ %global base_name goofcord %global git_name GoofCord %global appid io.github.milkshiift.GoofCord Name: %{base_name}-nightly Version: %{ver}%{commit_date}.git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} License: OSL-3.0 Summary: A privacy-minded Legcord fork. Group: Applications/Internet diff --git a/anda/apps/goofcord/stable/goofcord.spec b/anda/apps/goofcord/stable/goofcord.spec index a2c50013f3..ca79bf1ea9 100644 --- a/anda/apps/goofcord/stable/goofcord.spec +++ b/anda/apps/goofcord/stable/goofcord.spec @@ -2,8 +2,8 @@ %global appid io.github.milkshiift.GoofCord Name: goofcord -Version: 2.0.1 -Release: 2%{?dist} +Version: 2.2.1 +Release: 1%{?dist} License: OSL-3.0 Summary: A privacy-minded Legcord fork. Group: Applications/Internet @@ -19,7 +19,7 @@ Packager: Gilver E. A highly configurable and privacy minded Discord client. %prep -%autosetup -n %{git_name}-%{version} +%autosetup -p1 -n %{git_name}-%{version} %ifarch %{arm64} armv7hl armv7l sed -i '/\"x64\",/d' electron-builder.ts %endif diff --git a/anda/apps/gurk/gurk.spec b/anda/apps/gurk/gurk.spec index d088ef6423..1960a6f593 100644 --- a/anda/apps/gurk/gurk.spec +++ b/anda/apps/gurk/gurk.spec @@ -1,8 +1,8 @@ %undefine __brp_mangle_shebangs Name: gurk -Version: 0.9.0 -Release: 1%?dist +Version: 0.9.3 +Release: 1%{?dist} Summary: Signal Messenger client for terminal License: AGPL-3.0-or-later 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 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 OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND BSL-1.0 AND CDLA-Permissive-2.0 AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR BSD-1-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 MPL-2.0 AND (Unlicense OR MIT) AND Zlib AND (Zlib OR Apache-2.0 OR MIT) URL: https://github.com/boxdot/gurk-rs diff --git a/anda/apps/halloy/halloy.spec b/anda/apps/halloy/halloy.spec index 0de5d3b8ce..7cbecb7a2c 100644 --- a/anda/apps/halloy/halloy.spec +++ b/anda/apps/halloy/halloy.spec @@ -4,8 +4,8 @@ %global crate halloy Name: halloy -Version: 2026.4 -Release: 1%?dist +Version: 2026.7.2 +Release: 1%{?dist} Summary: An open-source IRC client written in Rust, with the Iced GUI library Packager: Yoong jin SourceLicense: GPL-3.0-or-later diff --git a/anda/apps/helium-browser-bin/helium-browser-bin.spec b/anda/apps/helium-browser-bin/helium-browser-bin.spec index 39a11171e7..f85da30270 100644 --- a/anda/apps/helium-browser-bin/helium-browser-bin.spec +++ b/anda/apps/helium-browser-bin/helium-browser-bin.spec @@ -11,8 +11,8 @@ %endif Name: helium-browser-bin -Version: 0.9.4.1 -Release: 2%?dist +Version: 0.13.6.1 +Release: 2%{?dist} Summary: Private, fast, and honest web browser based on Chromium URL: https://helium.computer @@ -21,7 +21,7 @@ License: GPL-3.0-only AND BSD-3-Clause Source0: https://github.com/imputnet/helium-linux/releases/download/%{version}/helium-%{version}-%{arch}_linux.tar.xz Source1: https://github.com/imputnet/helium-linux/archive/refs/tags/%{version}.tar.gz Source2: net.imput.helium.metainfo.xml -Source3: net.imput.helium.desktop +Source3: helium.desktop ExclusiveArch: x86_64 aarch64 @@ -31,6 +31,7 @@ BuildRequires: desktop-file-utils Requires: xdg-utils Requires: liberation-fonts +Conflicts: helium-bin Packager: Nadia P , Jaiden Riordan %description @@ -47,7 +48,7 @@ tar --strip-components=1 -zxvf %{SOURCE1} install -dm755 %{buildroot}%{_libdir}/%{name} cp -a * %{buildroot}%{_libdir}/%{name}/ -install -Dm644 %{SOURCE3} %{buildroot}%{_appsdir}/%{appid}.desktop +%desktop_file_install %{S:3} install -Dm644 product_logo_256.png %{buildroot}%{_hicolordir}/256x256/apps/%{appid}.png @@ -56,7 +57,6 @@ rm -f %{buildroot}%{_libdir}/%{name}/product_logo_256.png install -dm755 %{buildroot}%{_bindir} cat > %{buildroot}%{_bindir}/%{name} << 'EOF' - #!/bin/bash set -euo pipefail @@ -112,11 +112,14 @@ chmod 755 %{buildroot}%{_bindir}/%{name} %{_libdir}/%{name}/ # shebang reasons %attr(0755,root,root) %{_bindir}/%{name} -%{_appsdir}/%{appid}.desktop +%{_appsdir}/helium.desktop %{_hicolordir}/256x256/apps/%{appid}.png %{_metainfodir}/%{appid}.metainfo.xml %changelog +* Fri Jun 26 2026 Jaiden Riordan +- Conflict helium-bin to avoid messing with people who use upstream's COPR + * Sun Feb 15 2026 Jaiden Rirordan - Use downstream desktop file and recombobulate diff --git a/anda/apps/helium-browser-bin/net.imput.helium.desktop b/anda/apps/helium-browser-bin/helium.desktop similarity index 100% rename from anda/apps/helium-browser-bin/net.imput.helium.desktop rename to anda/apps/helium-browser-bin/helium.desktop diff --git a/anda/apps/juce/juce.spec b/anda/apps/juce/juce.spec index a99fbc23f1..91a3b48d5a 100644 --- a/anda/apps/juce/juce.spec +++ b/anda/apps/juce/juce.spec @@ -1,7 +1,7 @@ Name: juce -Version: 8.0.12 -Release: 3%{?dist} -License: AGPL-3.0 +Version: 8.0.14 +Release: 1%{?dist} +License: AGPL-3.0-or-later Summary: framework for audio application and plug-in development URL: https://juce.com Source: https://github.com/juce-framework/JUCE/archive/refs/tags/%{version}.tar.gz @@ -46,10 +46,12 @@ Documentation files for %{name} %prep %autosetup -p1 -n JUCE-%{version} -%build +%conf %cmake -DJUCER_ENABLE_GPL_MODE=1 \ -DJUCE_BUILD_EXTRAS=ON \ -DJUCE_TOOL_INSTALL_DIR=bin + +%build %cmake_build pushd docs/doxygen diff --git a/anda/apps/komikku/komikku.spec b/anda/apps/komikku/komikku.spec index fda3d482f6..e9d3cf9aab 100644 --- a/anda/apps/komikku/komikku.spec +++ b/anda/apps/komikku/komikku.spec @@ -3,19 +3,18 @@ %global gtk4_version 4.14.4 %global libadwaita_version 1.5.1 %global pure_protobuf_version 2.0.0 -%global raw_ver v1.104.0 Name: komikku -Version: 1.104.0 +Version: 50.8.0 %forgemeta -Release: 1%?dist +Release: 1%{?dist} Summary: A manga reader for GNOME BuildArch: noarch License: GPL-3.0-or-later URL: https://apps.gnome.org/Komikku/ -Source0: https://codeberg.org/valos/%{appname}/archive/%{raw_ver}.tar.gz#/%{name}-%{version}.tar.gz +Source0: https://codeberg.org/valos/%{appname}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: desktop-file-utils BuildRequires: intltool diff --git a/anda/apps/komikku/update.rhai b/anda/apps/komikku/update.rhai index 13da8a9cef..4fddd2b9d3 100644 --- a/anda/apps/komikku/update.rhai +++ b/anda/apps/komikku/update.rhai @@ -1,4 +1 @@ -let latest_tag = get("https://codeberg.org/api/v1/repos/valos/Komikku/tags").json_arr()[0].name; -let new_version = find("([\\.\\d]+)", latest_tag, 1); -rpm.global("raw_ver", latest_tag); -rpm.version(new_version); +rpm.version(codeberg("valos/Komikku")); 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 7d9ea4fef5..255c504ffd 100644 --- a/anda/apps/kopia/kopia.spec +++ b/anda/apps/kopia/kopia.spec @@ -3,7 +3,7 @@ Name: kopia %electronmeta -D -Version: 0.22.3 +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..5a10a7cdbe 100644 --- a/anda/apps/legcord/nightly/anda.hcl +++ b/anda/apps/legcord/nightly/anda.hcl @@ -4,6 +4,6 @@ project pkg { } labels { nightly = 1 - mock = 1 + mock = 1 } } diff --git a/anda/apps/legcord/nightly/legcord-nightly.spec b/anda/apps/legcord/nightly/legcord-nightly.spec index 53c44bff67..5f1d30b955 100644 --- a/anda/apps/legcord/nightly/legcord-nightly.spec +++ b/anda/apps/legcord/nightly/legcord-nightly.spec @@ -1,19 +1,15 @@ -%global commit 21e4345ad9493f3ae8814828009e326453430c5d -%global commit_date 20260303 +%global commit 0a022f149000bdaed644c2609e19aa7b8badf825 +%global commit_date 20260626 %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 -aD Version: %commit_date.%shortcommit -Release: 1%?dist -License: OSL-3.0 +Release: 1%{?dist} +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 @@ -21,7 +17,7 @@ Packager: Owen Requires: xdg-utils Obsoletes: armcord < 3.3.2-1 Conflicts: legcord -BuildRequires: anda-srpm-macros pnpm nodejs-npm git-core gcc gcc-c++ make desktop-file-utils zlib-ng-compat-devel +BuildRequires: anda-srpm-macros pnpm nodejs-npm git-core gcc gcc-c++ make desktop-file-utils zlib-ng-compat-devel nvm %description Legcord is a custom client designed to enhance your Discord experience @@ -29,40 +25,23 @@ while keeping everything lightweight. %prep %git_clone %{url}.git %{commit} +%vendor_nodejs -v 26 %build -pnpm install -pnpm run build -pnpm run package --linux AppImage tar.gz +%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 +%{_bindir}/legcord-nightly %{_datadir}/applications/legcord.desktop -%{_datadir}/legcord/ +%{_libdir}/legcord-nightly/ %{_iconsdir}/hicolor/16x16/apps/legcord.png %{_iconsdir}/hicolor/32x32/apps/legcord.png %{_iconsdir}/hicolor/48x48/apps/legcord.png @@ -73,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 + * 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 1ebe509f14..02230a8b73 100644 --- a/anda/apps/legcord/stable/legcord.spec +++ b/anda/apps/legcord/stable/legcord.spec @@ -1,17 +1,12 @@ -%define 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 -Version: 1.2.2 -Release: 1%?dist -License: OSL-3.0 +%electronmeta -D +Version: 1.2.4 +Release: 1%{?dist} +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 +25,20 @@ while keeping everything lightweight. %git_clone %url v%version %build -pnpm install -pnpm run build -pnpm run package --linux AppImage tar.gz +%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 +49,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/moonshot/moonshot.spec b/anda/apps/moonshot/moonshot.spec index 544b82f7ca..7f78f7bca2 100644 --- a/anda/apps/moonshot/moonshot.spec +++ b/anda/apps/moonshot/moonshot.spec @@ -33,6 +33,7 @@ Why? %autosetup %build +%set_javascript_build_flags EXTRA_TAGS=gtk4 wails3 build %install diff --git a/anda/apps/mount-manager/anda.hcl b/anda/apps/mount-manager/anda.hcl new file mode 100644 index 0000000000..60155b5016 --- /dev/null +++ b/anda/apps/mount-manager/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "mount-manager.spec" + } +} diff --git a/anda/apps/mount-manager/mount-manager.spec b/anda/apps/mount-manager/mount-manager.spec new file mode 100644 index 0000000000..ea50f3fe3b --- /dev/null +++ b/anda/apps/mount-manager/mount-manager.spec @@ -0,0 +1,42 @@ +Name: mount-manager +Version: 0.1.5 +Release: 1%{?dist} +Summary: SMB Mount Manager helps users mount SMB shares through a simple GTK interface. It checks the share, asks for credentials, tests the mount, and creates a startup mount managed by systemd. +URL: https://github.com/Xarishark/mount-manager +Source0: https://github.com/Xarishark/mount-manager/archive/refs/tags/v%{version}.tar.gz +License: GPL-3.0-only +Requires: cifs-utils +Requires: gtk4 +Requires: polkit +Requires: python3-gobject +Provides: SMB-Mount-Manager +BuildArch: noarch +Packager: Zacharias Xenakis + +%description +%{summary}. + +%prep +%autosetup -n mount-manager-%{version} + +%build + +%install +install -Dm 755 mount_manager.py %{buildroot}%{_bindir}/mount-manager +install -Dm 644 data/applications/io.github.xarishark.mount-manager.desktop %{buildroot}%{_appsdir}/io.github.xarishark.mount-manager.desktop +install -Dm 644 data/icons/hicolor/scalable/apps/io.github.xarishark.mount-manager.svg %{buildroot}%{_scalableiconsdir}/io.github.xarishark.mount-manager.svg +install -Dm 644 data/metainfo/io.github.xarishark.mount-manager.metainfo.xml %{buildroot}%{_metainfodir}/io.github.xarishark.mount-manager.metainfo.xml + +%files +%doc README.md +%license LICENSE +%{_bindir}/mount-manager +%{_appsdir}/io.github.xarishark.mount-manager.desktop +%{_scalableiconsdir}/io.github.xarishark.mount-manager.svg +%{_metainfodir}/io.github.xarishark.mount-manager.metainfo.xml + +%changelog +* Fri May 15 2026 Zacharias Xenakis +- Initial package +* Fri May 15 2026 Zacharias Xenakis +- migrated to new source GIT diff --git a/anda/apps/mount-manager/update.rhai b/anda/apps/mount-manager/update.rhai new file mode 100644 index 0000000000..e44028aafe --- /dev/null +++ b/anda/apps/mount-manager/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Xarishark/mount-manager")); diff --git a/anda/apps/mpv/mpv-nightly.spec b/anda/apps/mpv/mpv-nightly.spec index 1311398ade..74fa11a4ae 100644 --- a/anda/apps/mpv/mpv-nightly.spec +++ b/anda/apps/mpv/mpv-nightly.spec @@ -1,14 +1,14 @@ # Disable X11 for RHEL 10+ %bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10] -%global commit c401ef9c3b005deb24afec1d0b5d1cb4cea72d14 +%global commit 5abce15f1c6f476c7425cd6542a5997614d08dfc %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260303 +%global commit_date 20260629 %global ver 0.41.0 Name: mpv-nightly Version: %ver^%commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Movie player playing most video formats and DVDs @@ -21,6 +21,7 @@ BuildRequires: gcc BuildRequires: libappstream-glib BuildRequires: libatomic BuildRequires: meson +BuildRequires: cmake BuildRequires: python3-docutils BuildRequires: perl(Encode) 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/opensnitch/opensnitch.spec b/anda/apps/opensnitch/opensnitch.spec index 981612ce2b..526c4a597e 100644 --- a/anda/apps/opensnitch/opensnitch.spec +++ b/anda/apps/opensnitch/opensnitch.spec @@ -4,7 +4,7 @@ # https://github.com/evilsocket/opensnitch %global goipath github.com/evilsocket/opensnitch -Version: 1.7.0.0 +Version: 1.8.0 %gometa -f @@ -20,7 +20,7 @@ Snitch.} utils/packaging/ui/deb/debian/changelog Name: opensnitch -Release: %autorelease +Release: 1%{?dist} Summary: OpenSnitch is a GNU/Linux interactive application firewall inspired by Little Snitch License: GPL-3.0-only AND LGPL-2.1-or-later @@ -36,8 +36,7 @@ BuildRequires: python3dist(pyqt5) BuildRequires: /usr/bin/lrelease-qt5 BuildRequires: protobuf-compiler BuildRequires: pkgconfig(libnetfilter_queue) -#BuildRequires: protoc-gen-go -#BuildRequires: /usr/bin/protoc-gen-go-grpc +BuildRequires: qt6-linguist %description %{common_description} @@ -46,7 +45,6 @@ BuildRequires: pkgconfig(libnetfilter_queue) %prep %goprep -A -%autopatch -p1 export GOBIN=$(go env GOPATH | sed -E 's/:.+$//')/bin echo $GOBIN > %_builddir/gobin @@ -83,26 +81,15 @@ popd install -Dm755 opensnitchd -t %buildroot%_bindir pushd ui -%if 0%{?fedora} <= 41 -%py3_install -%else %pyproject_install %pyproject_save_files %name -%endif popd rm -rf %buildroot%python3_sitelib/tests/ cp -r %buildroot%python3_sitelib%_usr/ %buildroot%_usr/ --preserve=all --no-target-directory rm -rf %buildroot%python3_sitelib%_usr - -%if 0%{?fedora} <= 41 -%files -%{python3_sitelib}/%name/ -%{python3_sitelib}/%name-%{version}-py%{python3_version}.egg-info/ -%else %files -f %{pyproject_files} -%endif %license LICENSE %doc README.md %_bindir/opensnitch-ui @@ -113,7 +100,10 @@ rm -rf %buildroot%python3_sitelib%_usr %_iconsdir/hicolor/scalable/apps/opensnitch-ui.svg %_datadir/kservices5/kcm_opensnitch.desktop %_metainfodir/io.github.evilsocket.opensnitch.appdata.xml - -/usr/share/icons/hicolor/scalable/apps/opensnitch-ui.svg +%_scalableiconsdir/opensnitch-ui.svg %gopkgfiles + +%changelog +* Mon Mar 16 2026 Owen Zimmerman +- Fix build, clean up spec diff --git a/anda/apps/opensnitch/update.rhai b/anda/apps/opensnitch/update.rhai index e69de29bb2..def95f43fc 100644 --- a/anda/apps/opensnitch/update.rhai +++ b/anda/apps/opensnitch/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("evilsocket/opensnitch")); diff --git a/anda/apps/opentrack/anda.hcl b/anda/apps/opentrack/anda.hcl new file mode 100644 index 0000000000..3d67e7a597 --- /dev/null +++ b/anda/apps/opentrack/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "opentrack.spec" + } +} diff --git a/anda/apps/opentrack/com.github.opentrack.desktop b/anda/apps/opentrack/com.github.opentrack.desktop new file mode 100644 index 0000000000..0809ab5008 --- /dev/null +++ b/anda/apps/opentrack/com.github.opentrack.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Opentrack +Comment=Head tracking for games and simulation +Exec=opentrack +Icon=opentrack +Terminal=false +Categories=Game;Settings; diff --git a/anda/apps/opentrack/com.github.opentrack.metainfo.xml b/anda/apps/opentrack/com.github.opentrack.metainfo.xml new file mode 100644 index 0000000000..c65352384d --- /dev/null +++ b/anda/apps/opentrack/com.github.opentrack.metainfo.xml @@ -0,0 +1,30 @@ + + + com.github.opentrack + CC0-1.0 + ISC AND BSD-3-Clause AND BSD-2-Clause AND LGPL-2.1-only AND GPL-3.0-only AND LGPL-2.1-or-later AND MIT AND LGPL-3.0-or-later + /usr/share/icons/hicolor/256x256/apps/opentrack.png + + opentrack + Head tracking software for MS Windows, Linux, and Apple OSX + + +

+ opentrack is a program for tracking user's head rotation and transmitting it to flight simulation software and military-themed video games. +

+
+ + com.github.opentrack.desktop + + https://github.com/opentrack/opentrack + + opentrack + + + + head tracking + tracking + body tracking + +
diff --git a/anda/apps/opentrack/fix-qt6-resolve.patch b/anda/apps/opentrack/fix-qt6-resolve.patch new file mode 100644 index 0000000000..a24465e12c --- /dev/null +++ b/anda/apps/opentrack/fix-qt6-resolve.patch @@ -0,0 +1,13 @@ +diff --git a/tracker-neuralnet/env.cpp b/tracker-neuralnet/env.cpp +index 563c9c1..21b1d58 100644 +--- a/tracker-neuralnet/env.cpp ++++ b/tracker-neuralnet/env.cpp +@@ -20,7 +20,7 @@ void NeuralNetTracker::maybe_load_onnxruntime_dynamically() + std::abort(); + } + +- void* fn_OrtGetApiBase = lib.resolve("OrtGetApiBase"); ++ void* fn_OrtGetApiBase = reinterpret_cast(lib.resolve("OrtGetApiBase")); + if (!fn_OrtGetApiBase) + { + qDebug().nospace() << "tracker/nn: can't find OrtGetApiBase in onnxruntime: " << lib.errorString() << ". now crashing."; diff --git a/anda/apps/opentrack/opentrack.spec b/anda/apps/opentrack/opentrack.spec new file mode 100644 index 0000000000..9779cdd024 --- /dev/null +++ b/anda/apps/opentrack/opentrack.spec @@ -0,0 +1,116 @@ +%global debug_package %{nil} +%global openvr_ver 2.12.14 +%global appid com.github.opentrack +%global ver opentrack-2026.1.0 +%global sanitized_ver %(echo %{ver} | sed 's/opentrack\-//') + +Name: opentrack +Version: %{sanitized_ver} +Release: 1%{?dist} +Summary: Head tracking software for MS Windows, Linux, and Apple OSX + +License: ISC AND BSD-3-Clause AND BSD-2-Clause AND LGPL-2.1-only AND GPL-3.0-only AND LGPL-2.1-or-later AND MIT AND LGPL-3.0-or-later +URL: https://github.com/%{name}/%{name} +Source0: %{url}/archive/refs/tags/%{name}-%{version}.tar.gz +Source1: https://github.com/ValveSoftware/openvr/archive/refs/tags/v%{openvr_ver}.tar.gz +Source2: %{appid}.desktop +Source3: %{appid}.metainfo.xml + +Patch0: fix-qt6-resolve.patch + +ExcludeArch: %{ix86} + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: faust +BuildRequires: faust-osclib-devel +BuildRequires: libevdev-devel +BuildRequires: librealsense-devel +BuildRequires: libX11-devel +BuildRequires: libXtst-devel +BuildRequires: ninja-build +BuildRequires: onnxruntime-devel +BuildRequires: opencv-devel +BuildRequires: procps-ng-devel +BuildRequires: qt6-qt5compat-devel +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtbase-private-devel +BuildRequires: qt6-qtserialport-devel +BuildRequires: qt6-qttools-devel +BuildRequires: terra-wine-staging +BuildRequires: wine-staging-devel + +Requires: qt6-qtbase +Requires: qt6-qt5compat +Requires: qt6-qtserialport +Requires: opencv +Requires: faust-osclib +Requires: onnxruntime + +Packager: Owen Zimmerman + +%description +opentrack is a program for tracking user's head rotation and transmitting it to flight simulation software and military-themed video games. + +%prep +%autosetup -n %{name}-%{name}-%{version} -p1 +tar -xf %{SOURCE1} + +# Rename the OpenVR license so we can include it in the RPM +cp openvr-%{openvr_ver}/LICENSE LICENSE-OpenVR + +mkdir -p external-include/include/oscpack/osc +mkdir -p external-include/lib +ln -s /usr/include/faust/osc/*.h external-include/include/oscpack/osc/ +ln -s /usr/share/faust/osclib/oscpack/osc/*.h external-include/include/oscpack/osc/ +ln -s /usr/lib/libOSCFaust.so external-include/lib/liboscpack.so + +%build +%cmake -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DSDK_HIERARCHY=ON \ + -DSDK_WINE=ON \ + -DSDK_LIBDIR=%{_lib}/%{name} \ + -DSDK_PLUGINDIR=%{_lib}/%{name} \ + -DSDK_OSCPACK=$PWD/external-include \ + -DSDK_ONNX=ON \ + -DONNXRuntime_DIR=%{_libdir} \ + -DONNXRuntime_INCLUDE_DIRS=%{_includedir}/onnxruntime \ + -DSDK_OPENCV=ON \ + -DSDK_VALVE_STEAMVR=$PWD/openvr-%{openvr_ver} \ + -DOPENCV_PREFIX=%{_prefix} + +%cmake_build + +%install +%cmake_install + +mkdir -p %{buildroot}%{_libdir}/%{name} +install -Dm755 openvr-%{openvr_ver}/bin/linux64/libopenvr_api.so %{buildroot}%{_libdir}/%{name}/ + +install -Dm644 gui/images/opentrack.png %{buildroot}%{_hicolordir}/256x256/apps/opentrack.png + +%desktop_file_install %{S:2} + +%terra_appstream -o %{S:3} + +%check +%desktop_file_validate %{buildroot}%{_appsdir}/%{appid}.desktop + +%files +%doc %{_datadir}/doc/%{name}/ +%license OPENTRACK-LICENSING.txt WARRANTY.txt LICENSE-OpenVR 3rdparty-notices/ +%{_bindir}/%{name} +%{_libexecdir}/%{name}/ +%{_libdir}/%{name}/libopenvr_api.so +%{_datadir}/%{name}/ +%{_datadir}/applications/%{appid}.desktop +%{_hicolordir}/256x256/apps/opentrack.png +%{_metainfodir}/%{appid}.metainfo.xml + +%changelog +* Sun Mar 15 2026 Owen Zimmerman - 2026.1.0-1 +- Port to Terra + +* Wed Mar 11 2026 LionHeartP - 2026.1.0-1 +- Initial Nobara package diff --git a/anda/apps/opentrack/update.rhai b/anda/apps/opentrack/update.rhai new file mode 100644 index 0000000000..876930473a --- /dev/null +++ b/anda/apps/opentrack/update.rhai @@ -0,0 +1 @@ +rpm.global("ver", gh("opentrack/opentrack")); diff --git a/anda/apps/peazip/peazip.spec b/anda/apps/peazip/peazip.spec index 649a3e5789..8b94e0852b 100644 --- a/anda/apps/peazip/peazip.spec +++ b/anda/apps/peazip/peazip.spec @@ -2,8 +2,8 @@ %define debug_package %nil Name: peazip -Version: 10.9.0 -Release: 1%?dist +Version: 11.1.0 +Release: 1%{?dist} Summary: Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager License: LGPL-3.0-only URL: https://peazip.github.io diff --git a/anda/apps/proton-vpn/proton-vpn.spec b/anda/apps/proton-vpn/proton-vpn.spec index 780d64363f..5b6f33dbff 100644 --- a/anda/apps/proton-vpn/proton-vpn.spec +++ b/anda/apps/proton-vpn/proton-vpn.spec @@ -1,11 +1,14 @@ +%global metainfo_commit 47f57d55cc9897a31ac8d0a6411def15cddfe1c4 + Name: proton-vpn-gtk-app -Version: 4.14.1 -Release: 2%?dist +Version: 4.16.5 +Release: 2%{?dist} Summary: Official ProtonVPN Linux app License: GPL-3.0-only URL: https://protonvpn.com/download-linux Source0: https://github.com/ProtonVPN/proton-vpn-gtk-app/archive/refs/tags/v%version.tar.gz -Source1: https://github.com/flathub/com.protonvpn.www/blob/master/com.protonvpn.www.metainfo.xml +# So cursed but makes our lives easier +Source1: https://github.com/flathub/com.protonvpn.www/archive/%{metainfo_commit}/com.protonvpn.www-%{metainfo_commit}.tar.gz BuildArch: noarch BuildRequires: python3-devel @@ -42,6 +45,7 @@ with the user signup process handled on the website. %prep %autosetup -n %{name}-%{version} +tar -xvf %{SOURCE1} %build %pyproject_wheel @@ -50,18 +54,25 @@ with the user signup process handled on the website. %pyproject_install %pyproject_save_files proton install -Dm644 rpmbuild/SOURCES/proton-vpn-logo.svg %{buildroot}%{_scalableiconsdir}/proton-vpn-logo.svg -install -Dm644 %{SOURCE1} %{buildroot}%{_metainfodir}/com.protonvpn.www.metainfo.xml -# Match metainfo -install -Dm644 rpmbuild/SOURCES/proton.vpn.app.gtk.desktop %{buildroot}%{_appsdir}/com.protonvpn.www.desktop +install -Dm644 com.protonvpn.www-%{metainfo_commit}/com.protonvpn.www.metainfo.xml %{buildroot}%{_metainfodir}/com.protonvpn.www.metainfo.xml +install -Dm644 rpmbuild/SOURCES/proton.vpn.app.gtk.desktop %{buildroot}%{_appsdir}/proton.vpn.app.gtk.desktop + +# We pull in a metainfo file that often changes upstream, that calls the .desktop file what we are symlinking it to. +# If we install the .desktop file with the new name, the icon does not show properly on KDE Plasma. +%{__ln_s} -f %{_appsdir}/proton.vpn.app.gtk.desktop %{buildroot}%{_appsdir}/com.protonvpn.www.desktop %files -f %{pyproject_files} %doc README.md CONTRIBUTING.md CODEOWNERS %license LICENSE COPYING.md %{_bindir}/protonvpn-app +%{_appsdir}/proton.vpn.app.gtk.desktop %{_appsdir}/com.protonvpn.www.desktop %{_scalableiconsdir}/proton-vpn-logo.svg %{_metainfodir}/com.protonvpn.www.metainfo.xml %changelog +* Wed Mar 25 2026 Owen Zimmerman +- Fix metainfo and .desktop file + * Sat Jan 17 2026 Owen Zimmerman - Initial commit diff --git a/anda/apps/proton-vpn/update.rhai b/anda/apps/proton-vpn/update.rhai index d6fe8c6a5d..84f830d233 100644 --- a/anda/apps/proton-vpn/update.rhai +++ b/anda/apps/proton-vpn/update.rhai @@ -1 +1,3 @@ rpm.version(gh_tag("ProtonVPN/proton-vpn-gtk-app")); + +rpm.global("metainfo_commit", gh_commit("flathub/com.protonvpn.www")); diff --git a/anda/apps/protontricks/protontricks.spec b/anda/apps/protontricks/protontricks.spec index 4bd36d7ab3..a3ec316aa3 100644 --- a/anda/apps/protontricks/protontricks.spec +++ b/anda/apps/protontricks/protontricks.spec @@ -2,8 +2,8 @@ %global pypi_name protontricks Name: terra-%{pypi_name} -Version: 1.14.0 -Release: 1%?dist +Version: 1.14.1 +Release: 2%{?dist} Summary: Simple wrapper that does winetricks things for Proton enabled games BuildArch: noarch diff --git a/anda/apps/rasputin/rasputin.spec b/anda/apps/rasputin/rasputin.spec index 11f64a5fb3..6bd9be5d33 100644 --- a/anda/apps/rasputin/rasputin.spec +++ b/anda/apps/rasputin/rasputin.spec @@ -1,10 +1,10 @@ -%global commit 605d9dd8c825b650deeaa614e1b83e8dbb41e87d -%global commit_date 20260128 +%global commit d4283e2e9bae6a95673227e41d2c345d7780990a +%global commit_date 20260519 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: rasputin Version: 0~%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Mouse and keyboard settings for Raspberry Pi Desktop License: BSD-3-Clause URL: https://github.com/raspberrypi-ui/rasputin diff --git a/anda/apps/resources/anda.hcl b/anda/apps/resources/anda.hcl new file mode 100644 index 0000000000..31976df9ef --- /dev/null +++ b/anda/apps/resources/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "resources.spec" + } +} diff --git a/anda/apps/resources/resources.spec b/anda/apps/resources/resources.spec new file mode 100644 index 0000000000..59285dbdf3 --- /dev/null +++ b/anda/apps/resources/resources.spec @@ -0,0 +1,70 @@ +Name: resources +Version: 1.10.2 +Release: 1%{?dist} +Summary: Keep an eye on system resources +License: GPL-3.0-or-later +URL: https://gitlab.gnome.org/GNOME/Incubator/resources +Source0: %{url}/-/archive/v%{version}/resources-v%{version}.tar.gz +Packager: Owen Zimmerman + +BuildRequires: meson +BuildRequires: gcc +BuildRequires: cargo +BuildRequires: ninja-build +BuildRequires: desktop-file-utils +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libadwaita-1) + +Requires: cairo +Requires: graphene +Requires: gtk4 +Requires: hicolor-icon-theme +Requires: libadwaita +Requires: libgcc +Requires: polkit + + +%description +Resources is a simple yet powerful monitor for your system resources +and processes, written in Rust and using GTK 4 and libadwaita for its GUI. +It’s capable of displaying usage and details of your CPU, memory, GPUs, NPUs, +network interfaces and block devices. It’s also capable of listing and +terminating running graphical applications as well as processes. + +Resources is not a program that will try to display every single possible +piece of information about each tiny part of your device. Instead, it aims +to strike a balance between information richness, user-friendliness and a +balanced user interface — showing you most of the information most +of you need most of the time. + +%prep +%autosetup -n %{name}-v%{version} + +%conf +%meson + +%build +%meson_build + +%install +%meson_install +%find_lang resources + +%files -f resources.lang +%doc README.md +%license LICENSE +%{_bindir}/resources +%{_libexecdir}/resources/resources-adjust +%{_libexecdir}/resources/resources-kill +%{_libexecdir}/resources/resources-processes +%{_appsdir}/net.nokyan.Resources.Devel.desktop +%{_datadir}/glib-2.0/schemas/net.nokyan.Resources.Devel.gschema.xml +%{_datadir}/polkit-1/actions/net.nokyan.Resources.Devel.policy +%{_datadir}/resources/resources.gresource +%{_scalableiconsdir}/net.nokyan.Resources.Devel.svg +%{_hicolordir}/symbolic/apps/net.nokyan.Resources.Devel-symbolic.svg +%{_metainfodir}/net.nokyan.Resources.Devel.metainfo.xml + +%changelog +* Sat May 16 2026 Owen Zimmerman +- Initial commit diff --git a/anda/apps/resources/update.rhai b/anda/apps/resources/update.rhai new file mode 100644 index 0000000000..8c2a0b5626 --- /dev/null +++ b/anda/apps/resources/update.rhai @@ -0,0 +1 @@ +rpm.version(gitlab_tag("https://gitlab.gnome.org", "39041")); diff --git a/anda/apps/rp-appset/rp-appset.spec b/anda/apps/rp-appset/rp-appset.spec index 8439da0659..453626687e 100644 --- a/anda/apps/rp-appset/rp-appset.spec +++ b/anda/apps/rp-appset/rp-appset.spec @@ -1,10 +1,10 @@ -%global commit 605d9dd8c825b650deeaa614e1b83e8dbb41e87d -%global commit_date 20260128 +%global commit d4283e2e9bae6a95673227e41d2c345d7780990a +%global commit_date 20260519 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: appset Version: 0~%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Application for customisation of appearance of Raspberry Pi Desktop License: BSD-3-Clause URL: https://github.com/raspberrypi-ui/appset diff --git a/anda/apps/rp-bookshelf/rp-bookshelf.spec b/anda/apps/rp-bookshelf/rp-bookshelf.spec index dc27c53aac..202f05fd6a 100644 --- a/anda/apps/rp-bookshelf/rp-bookshelf.spec +++ b/anda/apps/rp-bookshelf/rp-bookshelf.spec @@ -1,10 +1,10 @@ -%global commit a720bf5041fd832a278378fd6f5cf9a0b3f8cc6f -%global commit_date 20251217 +%global commit 8d837571ef02a4c1c4d74e419ebc59d66b47b685 +%global commit_date 20260521 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: rp-bookshelf Version: 0~%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Browser for Raspberry Pi Press publications in PDF format License: BSD-3-Clause URL: https://github.com/raspberrypi-ui/bookshelf diff --git a/anda/apps/rpcc/rpcc.spec b/anda/apps/rpcc/rpcc.spec index 58bf36a020..66eef78cda 100644 --- a/anda/apps/rpcc/rpcc.spec +++ b/anda/apps/rpcc/rpcc.spec @@ -1,10 +1,10 @@ -%global commit 353e04bf0bc1866cba1f599cd76050890d33ba23 -%global commit_date 20260123 +%global commit 0e6cd08585bccd8f56c69bf8785777c2e3e67c4a +%global commit_date 20260520 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: rpcc Version: 0~%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Raspberry Pi Control Centre - an extensible settings application for the Raspberry Pi Desktop License: BSD-3-Clause URL: https://github.com/raspberrypi-ui/rpcc @@ -36,8 +36,10 @@ A number of packages contain plugins which are installed as standard on Raspberr %prep %autosetup -n rpcc-%commit -%build +%conf %meson + +%build %meson_build %install diff --git a/anda/apps/rpinters/rpinters.spec b/anda/apps/rpinters/rpinters.spec index 6435280952..2b327d635e 100644 --- a/anda/apps/rpinters/rpinters.spec +++ b/anda/apps/rpinters/rpinters.spec @@ -1,10 +1,10 @@ -%global commit 0fee3911afdaabbdcf4e8214e3472198a1c0c9db -%global commit_date 20260304 +%global commit 697168fa320f7d0cabeb5edcf9778fff48e32be2 +%global commit_date 20260519 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: rpinters Version: 0~%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Raspberry Pi printing utility module License: GPL-2+ AND BSD-3-Clause URL: https://github.com/raspberrypi-ui/rpinters diff --git a/anda/apps/ruffle/ruffle-nightly.spec b/anda/apps/ruffle/ruffle-nightly.spec index 350911e309..2cc0b2ffc9 100644 --- a/anda/apps/ruffle/ruffle-nightly.spec +++ b/anda/apps/ruffle/ruffle-nightly.spec @@ -1,4 +1,4 @@ -%global ver 2026-03-04 +%global ver 2026-06-30 %global goodver %(echo %ver | sed 's/-//g') %global __brp_mangle_shebangs %{nil} %bcond_without mold @@ -9,7 +9,7 @@ language. Ruffle targets both the desktop and the web using WebAssembly.} Name: ruffle-nightly Version: %goodver -Release: 1%?dist +Release: 1%{?dist} Summary: A Flash Player emulator written in Rust License: Apache-2.0 OR MIT URL: https://ruffle.rs/ @@ -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 b8ccb90194..ed98fade21 100644 --- a/anda/apps/rustnet/rustnet.spec +++ b/anda/apps/rustnet/rustnet.spec @@ -1,6 +1,6 @@ Name: rustnet -Version: 1.0.0 -Release: 1%?dist +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 URL: https://github.com/domcyrus/rustnet diff --git a/anda/apps/scrcpy/scrcpy.spec b/anda/apps/scrcpy/scrcpy.spec index ceb22441b1..215700a7ea 100644 --- a/anda/apps/scrcpy/scrcpy.spec +++ b/anda/apps/scrcpy/scrcpy.spec @@ -19,8 +19,8 @@ %endif Name: scrcpy -Version: 3.3.4 -Release: 1%?dist +Version: 4.0 +Release: 1%{?dist} Summary: Display and control your Android device License: Apache-2.0 AND Proprietary URL: https://github.com/Genymobile/scrcpy @@ -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) @@ -46,7 +46,7 @@ BuildRequires: python3-sdkmanager Requires: %{name}-server # Gradle here really wants Java 21-23 to work properly # Java 25 breaks the build -BuildRequires: java-21-openjdk-devel +BuildRequires: java-latest-openjdk-devel BuildConflicts: dkms-nvidia akmod-nvidia Requires: android-tools @@ -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 51864e0bf1..402f644254 100644 --- a/anda/apps/signal-desktop/signal-desktop.spec +++ b/anda/apps/signal-desktop/signal-desktop.spec @@ -2,8 +2,8 @@ Name: signal-desktop %electronmeta -aD -Version: 8.0.0 -Release: 3%?dist +Version: 8.16.0 +Release: 1%{?dist} Summary: A private messenger for Windows, macOS, and Linux URL: https://signal.org Source0: https://github.com/signalapp/Signal-Desktop/archive/refs/tags/v%{version}.tar.gz @@ -18,7 +18,7 @@ BuildRequires: anda-srpm-macros BuildRequires: pnpm BuildRequires: python3 BuildRequires: terra-appstream-helper -BuildRequires: nodejs-full-i18n +BuildRequires: libxcrypt-compat Requires: libwayland-cursor Requires: libwayland-client @@ -56,18 +56,25 @@ Signal Desktop links with Signal on Android or iOS and lets you message from you %prep %autosetup -n Signal-Desktop-%{version} +sed -i 's/--config.directories.output=release//g' package.json %build export SIGNAL_ENV=production +export SOURCE_DATE_EPOCH="$(date +"%s")" %{__pnpm} install --frozen-lockfile %{__pnpm} run clean-transpile pushd sticker-creator %{__pnpm} install --frozen-lockfile %{__pnpm} run build popd -%pnpm_build -r generate,prepare-beta-build +%dnl %pnpm_build -r generate,build:policy-files,generate,build:esbuild:prod +%{__pnpm} run generate +%{__pnpm} run build-linux --%{_electron_cpu} --linux AppImage +echo "Electron Builder" > %{rpmbuilddir}/webapp-tool.txt %install +mv ./packages/mute-state-change/LICENSE ./packages/mute-state-change/LICENSE.mute-state-change +mv ./packages/windows-ucv/LICENSE ./packages/mute-state-change/LICENSE.windows-ucv %electron_install -i signal -l -I build/icons/png %desktop_file_install %{SOURCE1} @@ -77,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 @@ -95,6 +104,12 @@ done %{_metainfodir}/org.signal.Signal.metainfo.xml %changelog +* Thu Jun 25 2026 Owen Zimmerman +- Fix more license name conflicts, remove patch + +* 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/signal-desktop/signal.desktop b/anda/apps/signal-desktop/signal.desktop index 9ed98565b9..212816501f 100644 --- a/anda/apps/signal-desktop/signal.desktop +++ b/anda/apps/signal-desktop/signal.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Name=Signal -Exec=signal-desktop %U +Exec=signal-desktop --use-tray-icon %U Terminal=false Type=Application Icon=signal @@ -8,6 +8,3 @@ StartupWMClass=Signal Comment=Private messaging from your desktop MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; Categories=Network;InstantMessaging;Chat; -X-Desktop-File-Install-Version=0.27 -X-Purism-FormFactor=Workstation;Mobile; -X-Flatpak-RenamedFrom=signal-desktop.desktop; diff --git a/anda/apps/snow/snow.spec b/anda/apps/snow/snow.spec index ad8c741a60..8eb14dde25 100644 --- a/anda/apps/snow/snow.spec +++ b/anda/apps/snow/snow.spec @@ -1,6 +1,6 @@ Name: snow -Version: 1.3.1 -Release: 1%?dist +Version: 1.4.1 +Release: 1%{?dist} Summary: Classic Macintosh emulator URL: https://github.com/twvd/snow Source0: %url/archive/refs/tags/v%version.tar.gz diff --git a/anda/apps/spotify-launcher/spotify-launcher.spec b/anda/apps/spotify-launcher/spotify-launcher.spec index a9719b76f4..7fac3283da 100644 --- a/anda/apps/spotify-launcher/spotify-launcher.spec +++ b/anda/apps/spotify-launcher/spotify-launcher.spec @@ -1,18 +1,6 @@ -%undefine __brp_add_determinism -# disable debuginfo subpackage -%global debug_package %{nil} -# Disable build-id symlinks to avoid conflicts -%global _build_id_links none -# don't strip bundled binaries because pycharm checks length (!!!) of binary fsnotif -# and if you strip debug stuff from it, it will complain -%global __strip /bin/true -# disable rpath checks -%define __brp_check_rpaths %{nil} -%define _missing_build_ids_terminate_build 0 - Name: spotify-launcher -Version: 0.6.5 -Release: 1%?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 @@ -22,7 +10,7 @@ URL: https://github.com/kpcyrd/spotify-launcher Source0: https://github.com/kpcyrd/spotify-launcher/archive/refs/tags/v%{version}.tar.gz BuildRequires: cargo cargo-rpm-macros anda-srpm-macros pkgconfig(liblzma) desktop-file-utils -Requires: sequoia-sqv zenity alsa-lib gtk3 desktop-file-utils openssl nss at-spi2-atk libcurl libSM +Requires: sequoia-sqv zenity alsa-lib gtk3 desktop-file-utils openssl nss at-spi2-atk libcurl libSM libayatana-appindicator-gtk3 %description @@ -73,5 +61,8 @@ done %doc README.md %changelog -* Fri Feb 27 2026 veux - 0.6.5 +* Tue Mar 17 2026 veux - 0.6.5-2 +- Fix big package size and enable debug subpackages + +* Fri Feb 27 2026 veux - 0.6.5-1 - Initial package release 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/langs/go/chezmoi/anda.hcl b/anda/apps/tauon/anda.hcl similarity index 52% rename from anda/langs/go/chezmoi/anda.hcl rename to anda/apps/tauon/anda.hcl index 1b9cadbb43..8240804b26 100644 --- a/anda/langs/go/chezmoi/anda.hcl +++ b/anda/apps/tauon/anda.hcl @@ -1,5 +1,5 @@ project pkg { rpm { - spec = "chezmoi.spec" + spec = "tauon.spec" } } diff --git a/anda/apps/tauon/tauon.spec b/anda/apps/tauon/tauon.spec new file mode 100644 index 0000000000..b7057f4e79 --- /dev/null +++ b/anda/apps/tauon/tauon.spec @@ -0,0 +1,69 @@ +%global _desc A music player for the desktop. Designed to be powerful and streamlined, putting the user in control of their music collection. + +%undefine __brp_mangle_shebangs + +Name: python-tauon +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 + +BuildRequires: python3-devel +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: gcc +BuildRequires: make +BuildRequires: flac-devel +BuildRequires: mpg123-devel +BuildRequires: libvorbis-devel +BuildRequires: opusfile-devel +BuildRequires: libsamplerate-devel +BuildRequires: libopenmpt-devel +BuildRequires: wavpack-devel +BuildRequires: game-music-emu-devel + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-tauon +Summary: %{summary} +%{?python_provide:%python_provide python3-tauon} + +%description -n python3-tauon +%_desc + +%prep +%git_clone https://github.com/Taiko2k/Tauon v%{version} + +%pyproject_patch_dependency pypresence:drop_constraints + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files tauon +%find_lang tauon +install -Dm644 extra/tauonmb.desktop %{buildroot}%{_appsdir}/tauonmb.desktop +install -Dm644 extra/tauonmb-symbolic.svg %{buildroot}%{_scalableiconsdir}/tauonmb-symbolic.svg +install -Dm644 extra/tauonmb.svg %{buildroot}%{_scalableiconsdir}/tauonmb.svg +install -Dm755 extra/tauonmb.sh %{buildroot}/opt/tauon/tauonmb.sh + +%files -n python3-tauon -f %{pyproject_files} -f tauon.lang +%doc README.md CHANGELOG.md CONTRIBUTING.md +%license LICENSE +%{_bindir}/tauonmb +%{python3_sitearch}/phazor.cpython-314-*-linux-gnu.so +%{_appsdir}/tauonmb.desktop +%{_scalableiconsdir}/tauonmb-symbolic.svg +%{_scalableiconsdir}/tauonmb.svg +/opt/tauon/tauonmb.sh + +%changelog +* Sat Mar 28 2026 Owen Zimmerman +- Initial commit diff --git a/anda/apps/tauon/update.rhai b/anda/apps/tauon/update.rhai new file mode 100644 index 0000000000..601e35ff3b --- /dev/null +++ b/anda/apps/tauon/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Taiko2k/Tauon")); diff --git a/anda/apps/throne/Sagernet.SingBox.Version.txt b/anda/apps/throne/Sagernet.SingBox.Version.txt index 2294a60d89..06a3eca75a 100644 --- a/anda/apps/throne/Sagernet.SingBox.Version.txt +++ b/anda/apps/throne/Sagernet.SingBox.Version.txt @@ -1 +1 @@ -v1.13.03 \ No newline at end of file +v1.13.14 \ No newline at end of file diff --git a/anda/apps/throne/throne.spec b/anda/apps/throne/throne.spec index d7b61eaeb7..ae5bb67601 100644 --- a/anda/apps/throne/throne.spec +++ b/anda/apps/throne/throne.spec @@ -1,8 +1,8 @@ #? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git Name: throne -Version: 1.0.13 -Release: 1%?dist +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 License: GPLv3 diff --git a/anda/apps/ttop/ttop.spec b/anda/apps/ttop/ttop.spec index e1fd92a9b0..ae3cd95bb9 100644 --- a/anda/apps/ttop/ttop.spec +++ b/anda/apps/ttop/ttop.spec @@ -1,6 +1,6 @@ Name: ttop -Version: 1.5.7 -Release: 1%?dist +Version: 1.6.1 +Release: 1%{?dist} Summary: System monitoring tool with historical data service, triggers and top-like TUI License: MIT URL: https://github.com/inv2004/ttop diff --git a/anda/apps/valent/anda.hcl b/anda/apps/valent/anda.hcl new file mode 100644 index 0000000000..e688a5daeb --- /dev/null +++ b/anda/apps/valent/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "valent.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/apps/valent/update.rhai b/anda/apps/valent/update.rhai new file mode 100644 index 0000000000..ea282cb7f0 --- /dev/null +++ b/anda/apps/valent/update.rhai @@ -0,0 +1,7 @@ +if filters.contains("nightly") { + rpm.global("commit", gh_commit("andyholmes/valent")); + if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + } +} diff --git a/anda/apps/valent/valent.spec b/anda/apps/valent/valent.spec new file mode 100644 index 0000000000..9dafaf6495 --- /dev/null +++ b/anda/apps/valent/valent.spec @@ -0,0 +1,98 @@ +%global commit df82168bc37ad1ec700c66b0f0f5dfd7a07be485 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commit_date 20260316 + +Name: valent +Version: 0~%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: Connect, control and sync devices +License: GPL-3.0-or-later +URL: https://github.com/andyholmes/valent +Source0: %{url}/archive/%{commit}/valent-%{commit}.tar.gz +Source1: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/master/libgnome-volume-control-master.tar.gz +Packager: Tulip Blossom + +Provides: bundled(gvc) +BuildRequires: desktop-file-utils +BuildRequires: evolution-data-server-devel +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: libphonenumber-devel +BuildRequires: meson +BuildRequires: pkgconfig(glycin-2) +BuildRequires: pkgconfig(glycin-gtk4-2) +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(json-glib-1.0) +BuildRequires: pkgconfig(libadwaita-1) +BuildRequires: pkgconfig(libpeas-2) +BuildRequires: pkgconfig(libpipewire-0.3) +BuildRequires: pkgconfig(libportal-gtk4) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(tracker-sparql-3.0) + +%description +%{summary}. + +%package devel +%pkg_devel_files +%{_datadir}/vala/vapi/libvalent-1.deps +%{_datadir}/vala/vapi/libvalent-1.vapi +%{_libdir}/libvalent-1.so.0 +%{_libdir}/libvalent-1.so.1.0.0 + +%package langpacks +Summary: Translations for %{name} +BuildArch: noarch +Requires: %{name} = %{evr} + +%description langpacks +This package contains translations for %{name}. + +%prep +%autosetup -n valent-%{commit} -p1 +rm -r subprojects/gvc* +tar -xf %{SOURCE1} -C subprojects +mv subprojects/libgnome-volume-control* subprojects/gvc + +%conf +%meson + +%build +%meson_build + +%install +%meson_install + +%files langpacks +%{_datadir}/locale + + +%files +%license LICENSE +%doc README.md +%{_bindir}/valent +%{_datadir}/applications/ca.andyholmes.Valent.desktop +%{_datadir}/dbus-1/services/ca.andyholmes.Valent.service +%{_datadir}/gir-1.0/Valent-1.gir +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.battery.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.clipboard.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.connectivity_report.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.contacts.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.notification.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.runcommand.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.sftp.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.share.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.systemvolume.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.telephony.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.Plugin.xdp.gschema.xml +%{_datadir}/glib-2.0/schemas/ca.andyholmes.Valent.gschema.xml +%{_datadir}/icons/hicolor/scalable/apps/ca.andyholmes.Valent.svg +%{_datadir}/icons/hicolor/symbolic/apps/ca.andyholmes.Valent-symbolic.svg +%{_datadir}/metainfo/ca.andyholmes.Valent.metainfo.xml +%{_libdir}/girepository-1.0/Valent-1.typelib +%{_sysconfdir}/xdg/autostart/ca.andyholmes.Valent-autostart.desktop + +%changelog +* Sun Mar 15 2026 Tulip Blossom +- Initial commit diff --git a/anda/apps/voicevox/voicevox.spec b/anda/apps/voicevox/voicevox.spec index e932a6dd99..9aba51ee0e 100644 --- a/anda/apps/voicevox/voicevox.spec +++ b/anda/apps/voicevox/voicevox.spec @@ -13,8 +13,8 @@ %global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$ Name: voicevox -Version: 0.25.1 -Release: 1%?dist +Version: 0.25.2 +Release: 1%{?dist} Summary: Free Japanese text-to-speech editor License: LGPL-3.0 URL: https://voicevox.hiroshiba.jp diff --git a/anda/apps/vpkedit/vpkedit.spec b/anda/apps/vpkedit/vpkedit.spec index 8032a7f538..34949b70b8 100644 --- a/anda/apps/vpkedit/vpkedit.spec +++ b/anda/apps/vpkedit/vpkedit.spec @@ -1,20 +1,23 @@ -%define _unpackaged_files_terminate_build 0 +%global appid com.github.craftablescience.VPKEdit +%global _distro_extra_ldflags -fuse-ld=mold Name: vpkedit Version: 5.0.0.4 -Release: 1%?dist +Release: 2%?dist Summary: A CLI/GUI tool to create, read, and write several pack file formats License: MIT URL: https://github.com/craftablescience/VPKEdit Requires: qt6-qtbase hicolor-icon-theme Suggests: qt6-qtwayland Packager: madonuko -BuildRequires: cmake git-core gcc gcc-c++ binutils +BuildRequires: cmake git-core gcc gcc-c++ binutils mold BuildRequires: cmake(Qt6) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6Linguist) BuildRequires: cmake(Qt6Charts) BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib ExclusiveArch: x86_64 %description @@ -30,8 +33,8 @@ new VPKs. %build %cmake -DBUILD_SHARED_LIBS:BOOL=OFF \ -DCMAKE_BUILD_TYPE=Release \ - -DCPACK_GENERATOR=RPM -# -DVPKEDIT_BUILD_LIBC=ON + -DCPACK_GENERATOR=RPM \ + -DVPKEDIT_USE_LTO=ON %cmake_build @@ -41,17 +44,22 @@ pushd %buildroot%_libdir/%name rm -rf {libQt*,*.md,LICENSE} popd mkdir -p %buildroot%_bindir -ln -sf %_libdir/vpkedit/vpkedit %buildroot%_bindir/vpkedit -ln -sf %_libdir/vpkedit/vpkeditcli %buildroot%_bindir/vpkeditcli -sed -i 's@Exec=/opt/vpkedit/@Exec=@g' %buildroot%_datadir/applications/vpkedit.desktop +#ln -sf %_libdir/vpkedit/vpkedit %buildroot%_bindir/vpkedit +#ln -sf %_libdir/vpkedit/vpkeditcli %buildroot%_bindir/vpkeditcli +desktop-file-edit --set-key=Exec --set-value=%_bindir/vpkedit %buildroot%_datadir/applications/vpkedit.desktop +%terra_appstream + +%check +desktop-file-validate %buildroot%_appsdir/%name.desktop %files %doc README.md CODE_OF_CONDUCT.md INSTALL.md CREDITS.md -%license LICENSE +%license LICENSE CREDITS.md %_bindir/vpkedit %_bindir/vpkeditcli %_libdir/%name/ %_datadir/applications/vpkedit.desktop %_hicolordir/*x*/apps/vpkedit.png %_datadir/mime/packages/vpkedit.xml +%_metainfodir/%appid.metainfo.xml diff --git a/anda/apps/wavemon/anda.hcl b/anda/apps/wavemon/anda.hcl new file mode 100644 index 0000000000..ddf5adf02d --- /dev/null +++ b/anda/apps/wavemon/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "wavemon.spec" + } +} diff --git a/anda/apps/wavemon/update.rhai b/anda/apps/wavemon/update.rhai new file mode 100644 index 0000000000..f56cea9e0b --- /dev/null +++ b/anda/apps/wavemon/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("uoaerg/wavemon")); diff --git a/anda/apps/wavemon/wavemon.spec b/anda/apps/wavemon/wavemon.spec new file mode 100644 index 0000000000..5f6b3e8327 --- /dev/null +++ b/anda/apps/wavemon/wavemon.spec @@ -0,0 +1,48 @@ +Name: wavemon +Version: 0.9.7 +Release: 1%{?dist} +Summary: ncurses-based monitoring application for wireless network devices on Linux +License: GPL-3.0-or-later +URL: https://github.com/uoaerg/wavemon +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +Packager: Owen Zimmerman + +BuildRequires: gcc +BuildRequires: ncurses-devel +BuildRequires: pkgconfig(libnl-3.0) +BuildRequires: autoconf +BuildRequires: automake + +%description +%{summary}. + +%prep +%autosetup +sed -e '/^CFLAGS=/d' -i configure.ac +sed -r 's|\?=|=|g' -i Makefile.in +autoreconf -fiv + +%conf +CFLAGS="$RPM_OPT_FLAGS -fPIC -pie -Wl,-z,relro -Wl,-z,now" +CXXFLAGS="$RPM_OPT_FLAGS -fPIC -pie -Wl,-z,relro -Wl,-z,now" +export CFLAGS +export CXXFLAGS +%configure + +%build +%make_build + +%install +%make_install +# Delete wrong placed readme and license +rm -rf %{buildroot}%{_datadir}/%{name}/* + +%files +%doc README.md +%license LICENSE +%{_mandir}/man*/%{name}*.* +%{_bindir}/%{name} + +%changelog +* Tue May 19 2026 Owen Zimmerman +- Initial commit diff --git a/anda/apps/waydroid-helper/anda.hcl b/anda/apps/waydroid-helper/anda.hcl new file mode 100644 index 0000000000..1749ec8758 --- /dev/null +++ b/anda/apps/waydroid-helper/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "waydroid-helper.spec" + } +} diff --git a/anda/apps/waydroid-helper/update.rhai b/anda/apps/waydroid-helper/update.rhai new file mode 100644 index 0000000000..60f57aa8b5 --- /dev/null +++ b/anda/apps/waydroid-helper/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("waydroid-helper/waydroid-helper")); diff --git a/anda/apps/waydroid-helper/waydroid-helper.spec b/anda/apps/waydroid-helper/waydroid-helper.spec new file mode 100644 index 0000000000..d0799fb642 --- /dev/null +++ b/anda/apps/waydroid-helper/waydroid-helper.spec @@ -0,0 +1,77 @@ +%global appid com.jaoushingan.WaydroidHelper +%define debug_package %{nil} + +Name: waydroid-helper +Version: 0.2.9 +Release: 1%?dist +Summary: User-friendly way to configure Waydroid and install extensions +License: GPL-3.0-or-later +URL: https://github.com/waydroid-helper/waydroid-helper +Source0: %url/archive/refs/tags/v%version.tar.gz +Packager: madonuko + +# https://github.com/waydroid-helper/waydroid-helper/blob/main/waydroid-helper.spec + +Recommends: bindfs +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(gtk4) +BuildRequires: libadwaita-devel +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: meson +BuildRequires: ninja-build +BuildRequires: pkgconfig +BuildRequires: gcc +BuildRequires: gettext +BuildRequires: systemd +BuildRequires: desktop-file-utils + +%description +Waydroid Helper is a graphical user interface application written in Python using PyGObject. It provides a user-friendly way to configure Waydroid and install extensions, including Magisk and ARM translation. + +%prep +%autosetup + +%build +%meson +%meson_build + +%install +%meson_install + +%terra_appstream +%find_lang %name + +%post +%systemd_post waydroid-mount.service +%systemd_user_post waydroid-monitor.service + +%preun +%systemd_preun waydroid-mount.service +%systemd_user_preun waydroid-monitor.service + +%postun +%systemd_postun_with_restart waydroid-mount.service +%systemd_user_postun_with_restart waydroid-monitor.service + +%files -f %name.lang +%license COPYING +%doc README.md +%_bindir/waydroid-helper +%_bindir/waydroid-cli +%_datadir/waydroid-helper/ +%_datadir/applications/%appid.desktop +%_scalableiconsdir/%appid.svg +%_iconsdir/hicolor/symbolic/apps/%appid-symbolic.svg +%_datadir/metainfo/%appid.metainfo.xml +%_datadir/glib-2.0/schemas/%appid.gschema.xml +%_datadir/polkit-1/actions/%appid.policy +%_datadir/dbus-1/system.d/id.waydro.Mount.conf +%_datadir/dbus-1/system-services/id.waydro.Mount.service +%_unitdir/waydroid-mount.service +%_userunitdir/waydroid-monitor.service + +%changelog +* Mon Mar 05 2026 madonuko - 0.2.9-1 +- Initial package diff --git a/anda/apps/winetricks/git/winetricks-git.spec b/anda/apps/winetricks/git/winetricks-git.spec index d02bcac45e..5d87f36b35 100644 --- a/anda/apps/winetricks/git/winetricks-git.spec +++ b/anda/apps/winetricks/git/winetricks-git.spec @@ -1,13 +1,13 @@ # Fedora sometimes sources the snapshots under stable versions and just bumps release # For user clarity I have separated these into different packages -%global commit b792287f5bec9086916aa9b81788e0ea38f02c24 +%global commit 08304e81f9ac9a83c552a6bd78689040d174bf95 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver 20260125 -%global commit_date 20260222 +%global commit_date 20260531 Name: winetricks-git Version: %{ver}^%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Work around common problems in Wine; Winetricks Git builds License: LGPL-2.1-or-later URL: https://github.com/Winetricks/winetricks diff --git a/anda/apps/youtube-music/youtube-music.spec b/anda/apps/youtube-music/youtube-music.spec index 7fe38ef7bc..479086a3cc 100644 --- a/anda/apps/youtube-music/youtube-music.spec +++ b/anda/apps/youtube-music/youtube-music.spec @@ -12,8 +12,8 @@ %global vendor_pnpm 1 Name: youtube-music -Version: 3.11.0 -Release: 1%?dist +Version: 3.12.0 +Release: 1%{?dist} Summary: YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader) Source1: youtube-music.desktop License: MIT diff --git a/anda/apps/yumex/anda.hcl b/anda/apps/yumex/anda.hcl new file mode 100644 index 0000000000..3eed182b4d --- /dev/null +++ b/anda/apps/yumex/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "yumex.spec" + } +} diff --git a/anda/apps/yumex/dk.yumex.Yumex-updater.desktop b/anda/apps/yumex/dk.yumex.Yumex-updater.desktop new file mode 100644 index 0000000000..e9a22443ec --- /dev/null +++ b/anda/apps/yumex/dk.yumex.Yumex-updater.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Yum Extender +Exec=/usr/bin/yumex_updater +Icon=yumex-update-symbolic +Type=Application +NoDisplay=true diff --git a/anda/apps/yumex/update.rhai b/anda/apps/yumex/update.rhai new file mode 100644 index 0000000000..aab72c9adb --- /dev/null +++ b/anda/apps/yumex/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("timlau/yumex-ng")); diff --git a/anda/apps/yumex/yumex.spec b/anda/apps/yumex/yumex.spec new file mode 100644 index 0000000000..96bcc02a2d --- /dev/null +++ b/anda/apps/yumex/yumex.spec @@ -0,0 +1,104 @@ +%global app_id dk.yumex.Yumex +%global app_build release + +Name: yumex +Version: yumex.5.4.0 +Release: 1%{?dist} +Summary: Yum Extender graphical package management tool + +Packager: Jacob Secunda + +Group: Applications/System +License: GPL-3.0-or-later +URL: https://github.com/timlau/yumex-ng +Source0: %{url}/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz +Source1: %{app_id}-updater.desktop + +BuildArch: noarch +BuildRequires: python3-devel +BuildRequires: meson +BuildRequires: blueprint-compiler >= 0.4.0 +BuildRequires: gettext +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libadwaita-1) +BuildRequires: pkgconfig(pygobject-3.0) +BuildRequires: systemd-rpm-macros + +Requires: python3-gobject +Requires: libadwaita >= 1.6 +Requires: gtk4 +Requires: python3-dbus +Requires: flatpak-libs > 1.15.0 +Requires: appstream >= 1.0.2 + +Recommends: %{name}-updater + +# dnf5 requirements +Requires: dnf5daemon-server >= 5.2.12 +Provides: yumex-dnf5 = %{evr} +Obsoletes: yumex-dnf5 < %{evr} + +%description +Graphical package tool for maintain packages on the system. + +%package -n %{name}-updater +Summary: Yum Extender update notifier app +Requires: %{name} = %{evr} +Requires: python3-gobject +Requires: gtk3 +Requires: python3-dbus +Requires: flatpak-libs > 1.15.0 +Requires: libappindicator-gtk3 + +Provides: yumex-dnf5-updater-systray = %{evr} +Obsoletes: yumex-dnf5-updater-systray < %{evr} +Provides: yumex-updater-systray = %{evr} +Obsoletes: yumex-updater-systray < %{evr} + +%description -n %{name}-updater +Checks for and notifies when updates are available. + +%prep +%autosetup + +%check +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml +%desktop_file_validate %{buildroot}%{_appsdir}/%{app_id}.desktop +%desktop_file_validate %{buildroot}%{_sysconfdir}/xdg/autostart/%{app_id}-updater.desktop + +%conf +%meson --buildtype=%{app_build} + +%build +%meson_build + +%install +%meson_install +install -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/xdg/autostart/%{app_id}-updater.desktop + +%find_lang %{name} + +%files -f %{name}.lang +%doc README.md +%license LICENSE +%{_datadir}/%{name}/ +%{_bindir}/%{name} +%{python3_sitelib}/%{name}/ +%{_appsdir}/%{app_id}*.desktop +%{_scalableiconsdir}/dk.yumex.Yumex.svg +%{_metainfodir}/%{app_id}.metainfo.xml +%{_datadir}/glib-2.0/schemas/%{app_id}.gschema.xml + +%files -n %{name}-updater +%ghost %{_userunitdir}/%{name}-updater.service +%ghost %{_userpresetdir}/*%{name}-updater.preset +%{_bindir}/yumex_updater +%{_scalableiconsdir}/yumex-update-*.svg +%{_sysconfdir}/xdg/autostart/%{app_id}-updater.desktop + +%changelog +* Tue Jun 23 2026 Jacob Secunda - 5.4.0-1 +- Initial package diff --git a/anda/tools/buildsys/anda/anda.hcl b/anda/buildsys/anda/anda.hcl similarity index 50% rename from anda/tools/buildsys/anda/anda.hcl rename to anda/buildsys/anda/anda.hcl index 603eef82af..a430c7e9ff 100644 --- a/anda/tools/buildsys/anda/anda.hcl +++ b/anda/buildsys/anda/anda.hcl @@ -1,5 +1,5 @@ project pkg { rpm { - spec = "rust-anda.spec" + spec = "anda.spec" } } diff --git a/anda/buildsys/anda/anda.spec b/anda/buildsys/anda/anda.spec new file mode 100644 index 0000000000..9e83d900ea --- /dev/null +++ b/anda/buildsys/anda/anda.spec @@ -0,0 +1,73 @@ +# Work around a bug in rustc 1.95.0 with GCC +%global toolchain clang +%global crate anda + +Name: anda +Version: 0.7.1 +Release: 2%{?dist} +Summary: Andaman Build toolchain +SourceLicense: MIT +License: ((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 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 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND BSL-1.0 AND CDLA-Permissive-2.0 AND ISC AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0-or-later AND MPL-2.0-only AND Unicode-3.0 AND (Unlicense OR MIT) +URL: https://crates.io/crates/anda +Source0: https://github.com/FyraLabs/anda/archive/refs/tags/%{version}.tar.gz +%if %["%{toolchain}" == "clang"] +BuildRequires: clang +%else +BuildRequires: gcc +%endif +BuildRequires: rust-packaging >= 21 +BuildRequires: anda-srpm-macros +BuildRequires: openssl-devel +BuildRequires: git-core +BuildRequires: pkgconfig(libgit2) +BuildRequires: libssh2-devel +BuildRequires: mold +Requires: mock +Requires: rpm-build +Requires: createrepo_c +Requires: git-core +%if 0%{?fedora} >= 42 +Requires: mock-filesystem +Requires: util-linux-script +%endif +Packager: Terra Packaging Team + +%description +Andaman Build toolchain. + +%pkg_completion -bfz + +%prep +%autosetup -n %{crate}-%{version} +%cargo_prep_online +%{__cargo} fetch --locked + +%build +%{cargo_build} --frozen +%{cargo_license_online} > LICENSE.dependencies +%{__cargo} run --release -p xtask -- manpage +%{__cargo} run --release -p xtask -- completion + +%install +%crate_install_bin + +# Install shell completions +COMPDIR="target/assets/completion" + +install -Dm644 $COMPDIR/bash/anda.bash -t %{buildroot}%{bash_completions_dir} +install -Dm644 $COMPDIR/zsh/_anda -t %{buildroot}%{zsh_completions_dir} +install -Dm644 $COMPDIR/fish/anda.fish -t %{buildroot}%{fish_completions_dir} + +# Install man pages +install -Dm644 target/assets/man_pages/* -t %{buildroot}%{_mandir}/man1 + +%files +%doc README.md +%license LICENSE.dependencies LICENSE.md +%{_bindir}/anda +%{_mandir}/man1/anda*.1.* + +%changelog +* Sun May 3 2026 Gilver E. - 0.5.4-2 +- Fix build on Fedora 43 +- Add shell completions subpackages diff --git a/anda/tools/buildsys/anda/update.rhai b/anda/buildsys/anda/update.rhai similarity index 100% rename from anda/tools/buildsys/anda/update.rhai rename to anda/buildsys/anda/update.rhai diff --git a/anda/tools/qdl/anda.hcl b/anda/buildsys/bsc/anda.hcl similarity index 56% rename from anda/tools/qdl/anda.hcl rename to anda/buildsys/bsc/anda.hcl index e1f206aa1a..cc0f26d3ef 100644 --- a/anda/tools/qdl/anda.hcl +++ b/anda/buildsys/bsc/anda.hcl @@ -1,5 +1,5 @@ project pkg { rpm { - spec = "qdl.spec" + spec = "bsc.spec" } } diff --git a/anda/buildsys/bsc/bsc.spec b/anda/buildsys/bsc/bsc.spec new file mode 100644 index 0000000000..1b7122389c --- /dev/null +++ b/anda/buildsys/bsc/bsc.spec @@ -0,0 +1,85 @@ +%define debug_package %{nil} +%global __provides_exclude_from ^%{_libdir}/bsc/SAT/.* +%global __requires_exclude libstp\\.so\\.1|libyices\\.so\\.2\\.6 + +Name: bsc +Version: 2026.01 +Release: 1%{?dist} +Summary: Bluespec Compiler (BSC) + +License: BSD-3-Clause AND BSD-2-Clause AND MIT AND LGPL-2.0-or-later AND AND BSL-1.0 +URL: https://github.com/B-Lang-org/bsc +Source: %{url}/archive/refs/tags/%{version}.tar.gz + +BuildRequires: ghc +BuildRequires: ghc-regex-compat-devel +BuildRequires: ghc-syb-devel +BuildRequires: ghc-old-time-devel +BuildRequires: ghc-split-devel +BuildRequires: ghc-strict-concurrency-devel +BuildRequires: gperf +BuildRequires: gcc-c++ +BuildRequires: autoconf +BuildRequires: flex +BuildRequires: bison +BuildRequires: zlib-ng-compat-devel +BuildRequires: tcl-devel + +# For check +BuildRequires: binutils +BuildRequires: iverilog + +Provides: bundled(stp) +Provides: bundled(yices) + +Packager: Owen Zimmerman + +%description +Compiler, simulator, and tools for the Bluespec Hardware Description Language. +Bluespec is a single language for digital electronic hardware designs that +comes in two syntactic flavors, which are interchangeable: + + Bluespec SystemVerilog (BSV) + Bluespec Haskell (BH, or "Bluespec Classic") + +Bluespec is a high-level hardware description language. It has a variety of +advanced features including a powerful type system that can prevent errors prior +to synthesis time, and its most distinguishing feature, Guarded Atomic Actions, +allow you to define hardware components in a modular manner based on their +invariants, and let the compiler pick a scheduler. + +%prep +%git_clone %{url} %{version} + +%build +%make_build install-src GHCJOBS=%{_smp_build_ncpus} + +%install +mkdir -p %{buildroot}%{_datadir}/bsc/ +mkdir -p %{buildroot}%{_bindir} +cp -r inst/ %{buildroot}%{_datadir}/bsc/ + +# https://github.com/B-Lang-org/bsc/blob/main/INSTALL.md#overview +# Note this is symlinking the wrapper scripts, not the ELFs +%{__ln_s} -f %{_datadir}/bsc/inst/bin/bsc %{buildroot}%{_bindir}/bsc +%{__ln_s} -f %{_datadir}/bsc/inst/bin/bluetcl %{buildroot}%{_bindir}/bluetcl + +# Patch wrapper scripts to use correct paths +for wrapper in %{buildroot}%{_datadir}/bsc/inst/bin/bsc %{buildroot}%{_datadir}/bsc/inst/bin/bluetcl; do + sed -i 's|BLUESPECDIR="$(cd ${BINDIR}/../lib; echo $PWD)"|BLUESPECDIR="%{_datadir}/bsc/inst/lib"|' $wrapper + sed -i 's|BLUESPECEXEC=${BINDIR}/core/${SCRIPTNAME}|BLUESPECEXEC="%{_datadir}/bsc/inst/bin/core/${SCRIPTNAME}"|' $wrapper +done + +%check +%{make_build} check-smoke + +%files +%doc README.md DEVELOP.md +%license COPYING LICENSES/ +%{_bindir}/bsc +%{_bindir}/bluetcl +%{_datadir}/bsc/* + +%changelog +* Fri Apr 24 2026 Owen Zimmerman +- Initial commit diff --git a/anda/buildsys/bsc/update.rhai b/anda/buildsys/bsc/update.rhai new file mode 100644 index 0000000000..69381aa080 --- /dev/null +++ b/anda/buildsys/bsc/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("B-Lang-org/bsc")); diff --git a/anda/tools/buildsys/gradle/anda.hcl b/anda/buildsys/gradle/anda.hcl similarity index 78% rename from anda/tools/buildsys/gradle/anda.hcl rename to anda/buildsys/gradle/anda.hcl index da5869ef05..81e72434b7 100644 --- a/anda/tools/buildsys/gradle/anda.hcl +++ b/anda/buildsys/gradle/anda.hcl @@ -2,6 +2,6 @@ project pkg { arches = ["x86_64"] rpm { spec = "gradle.spec" - extra_repos = ["https://packages.adoptium.net/artifactory/rpm/fedora/\\$releasever/\\$basearch"] + extra_repos = ["https://packages.adoptium.net/artifactory/rpm/fedora/rawhide/\\$basearch"] } } diff --git a/anda/tools/buildsys/gradle/ci_setup.rhai b/anda/buildsys/gradle/ci_setup.rhai similarity index 100% rename from anda/tools/buildsys/gradle/ci_setup.rhai rename to anda/buildsys/gradle/ci_setup.rhai diff --git a/anda/tools/buildsys/gradle/gradle.spec b/anda/buildsys/gradle/gradle.spec similarity index 93% rename from anda/tools/buildsys/gradle/gradle.spec rename to anda/buildsys/gradle/gradle.spec index 9a2decb91c..85e87ce50e 100644 --- a/anda/tools/buildsys/gradle/gradle.spec +++ b/anda/buildsys/gradle/gradle.spec @@ -1,9 +1,10 @@ Name: gradle -Version: 9.3.1 -Release: 1%?dist +Version: 9.6.1 +Release: 1%{?dist} Summary: Powerful build system for the JVM URL: https://gradle.org/ Source0: https://github.com/gradle/gradle/archive/refs/tags/v%{version}.tar.gz +Packager: madonuko License: Apache-2.0 Requires: java coreutils findutils sed which bash BuildRequires: java-21-openjdk-devel asciidoc xmlto groovy unzip git @@ -40,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 @@ -69,17 +71,15 @@ install -m644 dist/init.d/*.* "%{buildroot}%{_javadir}/%{name}/init.d" mkdir -p "%{buildroot}/%{_bindir}" ln -s %{_javadir}/%{name}/bin/%{name} "%{buildroot}%{_bindir}/%{name}" -install -d %{buildroot}%{_javadir}/%{name}/docs -cp -r dist/docs/* %{buildroot}%{_javadir}/%{name}/docs - -install -d %{buildroot}%{_javadir}/%{name}/src -cp -r dist/src/* %{buildroot}%{_javadir}/%{name}/src +cp -r dist/* %{buildroot}%{_javadir}/%{name}/ %files %doc README.md %license LICENSE %{_sysconfdir}/profile.d/gradle.sh %{_javadir}/%{name}/ +%exclude %{_javadir}/%{name}/docs +%exclude %{_javadir}/%{name}/src %{_bindir}/%{name} %files doc diff --git a/anda/tools/buildsys/gradle/update.rhai b/anda/buildsys/gradle/update.rhai similarity index 100% rename from anda/tools/buildsys/gradle/update.rhai rename to anda/buildsys/gradle/update.rhai diff --git a/anda/tools/buildsys/katsu/anda.hcl b/anda/buildsys/katsu/anda.hcl similarity index 100% rename from anda/tools/buildsys/katsu/anda.hcl rename to anda/buildsys/katsu/anda.hcl diff --git a/anda/tools/buildsys/katsu/katsu.spec b/anda/buildsys/katsu/katsu.spec similarity index 100% rename from anda/tools/buildsys/katsu/katsu.spec rename to anda/buildsys/katsu/katsu.spec diff --git a/anda/tools/buildsys/katsu/update.rhai b/anda/buildsys/katsu/update.rhai similarity index 100% rename from anda/tools/buildsys/katsu/update.rhai rename to anda/buildsys/katsu/update.rhai diff --git a/anda/tools/buildsys/mise/anda.hcl b/anda/buildsys/mise/anda.hcl similarity index 64% rename from anda/tools/buildsys/mise/anda.hcl rename to anda/buildsys/mise/anda.hcl index e99cc8f2d0..bec28911ba 100644 --- a/anda/tools/buildsys/mise/anda.hcl +++ b/anda/buildsys/mise/anda.hcl @@ -2,4 +2,7 @@ project pkg { rpm { spec = "rust-mise.spec" } + labels { + large = 1 + } } diff --git a/anda/tools/buildsys/mise/mise-fix-metadata-auto.diff b/anda/buildsys/mise/mise-fix-metadata-auto.diff similarity index 73% rename from anda/tools/buildsys/mise/mise-fix-metadata-auto.diff rename to anda/buildsys/mise/mise-fix-metadata-auto.diff index 3198f7e1f2..7eb4cc5dc7 100644 --- a/anda/tools/buildsys/mise/mise-fix-metadata-auto.diff +++ b/anda/buildsys/mise/mise-fix-metadata-auto.diff @@ -1,15 +1,16 @@ ---- mise-2026.2.10/Cargo.toml 2006-07-24T01:21:28+00:00 -+++ mise-2026.2.10/Cargo.toml 2026-02-12T15:02:18.584012+00:00 -@@ -575,30 +575,6 @@ +--- mise-2026.5.6/Cargo.toml 2006-07-24T01:21:28+00:00 ++++ mise-2026.5.6/Cargo.toml 2026-05-13T07:19:23.400768+00:00 +@@ -624,31 +624,6 @@ optional = true default-features = false -[target."cfg(windows)".dependencies.self_update] --version = "0.42" +-version = "0.44" -features = [ - "archive-zip", - "compression-zip-deflate", - "signatures", +- "reqwest", - "rustls", -] -optional = true @@ -26,12 +27,12 @@ -] - -[target."cfg(windows)".dependencies.zipsign-api] --version = "0.1" +-version = "0.2" - [lints.clippy] borrowed_box = "allow" -@@ -615,3 +591,4 @@ +@@ -663,3 +638,4 @@ [profile.serious] lto = true inherits = "release" diff --git a/anda/tools/buildsys/mise/rust-mise.spec b/anda/buildsys/mise/rust-mise.spec similarity index 97% rename from anda/tools/buildsys/mise/rust-mise.spec rename to anda/buildsys/mise/rust-mise.spec index 7fe0ef3c64..5f11c31122 100644 --- a/anda/tools/buildsys/mise/rust-mise.spec +++ b/anda/buildsys/mise/rust-mise.spec @@ -5,13 +5,13 @@ %global crate mise Name: rust-mise -Version: 2026.3.1 -Release: 1%?dist +Version: 2026.6.15 +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/tools/buildsys/mise/update.rhai b/anda/buildsys/mise/update.rhai similarity index 100% rename from anda/tools/buildsys/mise/update.rhai rename to anda/buildsys/mise/update.rhai diff --git a/anda/tools/buildsys/muon/anda.hcl b/anda/buildsys/muon/anda.hcl similarity index 56% rename from anda/tools/buildsys/muon/anda.hcl rename to anda/buildsys/muon/anda.hcl index 0a22d891b8..fd3534d4f4 100644 --- a/anda/tools/buildsys/muon/anda.hcl +++ b/anda/buildsys/muon/anda.hcl @@ -2,4 +2,7 @@ project pkg { rpm { spec = "muon.spec" } + labels { + subrepo = "extras" + } } diff --git a/anda/buildsys/muon/fix-tracy-header-placement-quirk.patch b/anda/buildsys/muon/fix-tracy-header-placement-quirk.patch new file mode 100644 index 0000000000..66995d6f33 --- /dev/null +++ b/anda/buildsys/muon/fix-tracy-header-placement-quirk.patch @@ -0,0 +1,13 @@ +diff --git a/include/tracy.h b/include/tracy.h +index 8bbc923f..ae58c877 100644 +--- a/include/tracy.h ++++ b/include/tracy.h +@@ -4,7 +4,7 @@ + */ + + #ifdef TRACY_ENABLE +-#include "tracy/TracyC.h" ++#include "tracy/tracy/TracyC.h" + + #define TracyCZoneAutoS TracyCZoneN(tctx_func, __func__, true) + #define TracyCZoneAutoE TracyCZoneEnd(tctx_func) diff --git a/anda/buildsys/muon/muon.spec b/anda/buildsys/muon/muon.spec new file mode 100644 index 0000000000..1475ff9e69 --- /dev/null +++ b/anda/buildsys/muon/muon.spec @@ -0,0 +1,64 @@ +Name: muon +Version: 0.6.0 +Release: 1%{?dist} +Summary: A meson-compatible build system + +# https://git.sr.ht/~lattis/muon/tree/master/item/LICENSES +License: GPL-3.0-only AND Apache-2.0 AND Unlicense AND MIT AND Python-2.0 +URL: https://muon.build/ +Source: https://git.sr.ht/~lattis/muon/archive/%{version}.tar.gz +Patch0: fix-tracy-header-placement-quirk.patch +# mdbook removed multilingual support, this patch can be removed when this package next bumps +Patch1: remove-multilingual-field.patch + +BuildRequires: meson +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: libcurl-devel +BuildRequires: libarchive-devel +BuildRequires: libpkgconf-devel +BuildRequires: scdoc +BuildRequires: git-core +BuildRequires: pkgconfig(tracy) +BuildRequires: pkgconfig(libattr) +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(libb2) +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(liblzma) +BuildRequires: pkgconfig(lzo2) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libacl) +BuildRequires: python3-pyyaml +BuildRequires: mandoc +BuildRequires: mdbook + +Packager: Owen Zimmerman + +%description +An implementation of the meson build system in c99 with minimal dependencies. + +%prep +%autosetup -p1 + +%conf +%meson --wrap-mode=nofallback + +%build +%meson_build + +%install +%meson_install + +%files +%license LICENSES/ +%doc README.md +%{_bindir}/muon +%{_mandir}/man1/muon* +%{_mandir}/man5/meson* +%{_mandir}/man3/meson-reference.3.* + +%changelog +* Mon Apr 20 2026 Owen Zimmerman +- Update spec, add tracy patch diff --git a/anda/buildsys/muon/remove-multilingual-field.patch b/anda/buildsys/muon/remove-multilingual-field.patch new file mode 100644 index 0000000000..e0867fb189 --- /dev/null +++ b/anda/buildsys/muon/remove-multilingual-field.patch @@ -0,0 +1,25 @@ +From 776a9a30eded21206df1e643d888233472a2dbbf Mon Sep 17 00:00:00 2001 +From: Stone Tickle +Date: Thu, 27 Nov 2025 09:14:02 -0500 +Subject: [PATCH] remove multilingual field + +Signed-off-by: Owen-sz +--- + doc/book/book.toml | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/doc/book/book.toml b/doc/book/book.toml +index f51e1836..b96e9792 100644 +--- a/doc/book/book.toml ++++ b/doc/book/book.toml +@@ -1,7 +1,6 @@ + [book] + authors = ["Stone Tickle"] + language = "en" +-multilingual = false + src = "src" + title = "Muon Docs" + +-- +2.53.0 + diff --git a/anda/buildsys/muon/update.rhai b/anda/buildsys/muon/update.rhai new file mode 100644 index 0000000000..2497cb3059 --- /dev/null +++ b/anda/buildsys/muon/update.rhai @@ -0,0 +1 @@ +rpm.version(sourcehut("~lattis/muon")); diff --git a/anda/tools/buildsys/ops2deb/anda.hcl b/anda/buildsys/ops2deb/anda.hcl similarity index 100% rename from anda/tools/buildsys/ops2deb/anda.hcl rename to anda/buildsys/ops2deb/anda.hcl diff --git a/anda/buildsys/ops2deb/ops2deb.spec b/anda/buildsys/ops2deb/ops2deb.spec new file mode 100644 index 0000000000..a2eef9ec7d --- /dev/null +++ b/anda/buildsys/ops2deb/ops2deb.spec @@ -0,0 +1,50 @@ +%global pypi_name ops2deb +%global _desc Generate Debian packages for common devops tools such as kubectl, kustomize, helm. + +Name: python-%{pypi_name} +Version: 2.7.0 +Release: 1%?dist +Summary: Generate Debian packages for common devops tools such as kubectl, kustomize, helm +License: MIT +URL: https://github.com/upciti/ops2deb +Source0: %{pypi_source} +Patch0: versions.patch +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-poetry + +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} -p1 + +%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}/ops2deb + +%changelog +* Thu Apr 23 2026 Owen Zimmerman +- Switch to modern python packaging methods + +* Fri Apr 28 2023 madonuko - 2.4.1-1 +- Initial package. diff --git a/anda/tools/buildsys/ops2deb/update.rhai b/anda/buildsys/ops2deb/update.rhai similarity index 100% rename from anda/tools/buildsys/ops2deb/update.rhai rename to anda/buildsys/ops2deb/update.rhai diff --git a/anda/buildsys/ops2deb/versions.patch b/anda/buildsys/ops2deb/versions.patch new file mode 100644 index 0000000000..a01e2a5097 --- /dev/null +++ b/anda/buildsys/ops2deb/versions.patch @@ -0,0 +1,18 @@ +diff --git a/pyproject.toml b/pyproject.toml +index 29b753f..926abf8 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -18,10 +18,10 @@ packages = [ + ] + + [tool.poetry.dependencies] +-python = ">=3.10,<3.12" ++python = ">=3.10" + httpx = ">=0.20.0" +-semver = "3.0.2" +-"ruamel.yaml" = "0.18.14" ++semver = ">3.0.2" ++"ruamel.yaml" = ">0.18.14" + python-debian = ">=0.1.42" + PyYAML = "^6" + typer = ">=0.6.1" diff --git a/anda/desktops/budgie/budgie-extras/budgie-extras.spec b/anda/desktops/budgie/budgie-extras/budgie-extras.spec index eca3c7da2a..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.0 -Release: 1%?dist +Version: 2.2.3 +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 f939cb8ec0..c34a0927b5 100644 --- a/anda/desktops/cagebreak/cagebreak.spec +++ b/anda/desktops/cagebreak/cagebreak.spec @@ -1,11 +1,11 @@ -%global tag 3.1.0 +%global tag 3.2.1 %global forgeurl https://github.com/project-repo/cagebreak %forgemeta Name: cagebreak Version: %{tag} Release: 1%{?dist} -Summary: A wayland tiling compositor inspired by Ratpoison +Summary: A wayland tiling compositor inspired by Ratpoison License: MIT URL: %{forgeurl} @@ -16,7 +16,7 @@ Packager: metcya BuildRequires: meson BuildRequires: gcc BuildRequires: scdoc -BuildRequires: pkgconfig(wlroots-0.19) +BuildRequires: pkgconfig(wlroots-0.20) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-cursor) @@ -43,7 +43,7 @@ conceptually based on the X11 window manager ratpoison. %build %meson -Dxwayland=true -Dman-pages=true -%meson_build +%meson_build %install %meson_install diff --git a/anda/desktops/driftwm/anda.hcl b/anda/desktops/driftwm/anda.hcl new file mode 100644 index 0000000000..7629282154 --- /dev/null +++ b/anda/desktops/driftwm/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "driftwm.spec" + } +} diff --git a/anda/desktops/driftwm/driftwm.spec b/anda/desktops/driftwm/driftwm.spec new file mode 100644 index 0000000000..09194f62ae --- /dev/null +++ b/anda/desktops/driftwm/driftwm.spec @@ -0,0 +1,60 @@ +Name: driftwm +Version: 0.13.0 +Release: 1%{?dist} +Summary: A trackpad-first infinite canvas Wayland compositor +License: GPL-3.0-or-later +URL: https://github.com/malbiruk/driftwm +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +Packager: Owen Zimmerman + +BuildRequires: cargo-rpm-macros +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libseat) +BuildRequires: pkgconfig(libdisplay-info) +BuildRequires: libinput-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel + +%description +%{summary}. + +%prep +%autosetup +%cargo_prep_online + +%build +%cargo_build +%cargo_license_summary_online +%{cargo_license_online} > LICENSE.dependencies + +%install +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 +%{_bindir}/driftwm +%{_bindir}/driftwm-session +%{_datadir}/wayland-sessions/driftwm.desktop +%{_datadir}/xdg-desktop-portal/driftwm-portals.conf +%{_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 +- Initial commit diff --git a/anda/desktops/driftwm/update.rhai b/anda/desktops/driftwm/update.rhai new file mode 100644 index 0000000000..3d7c8b86dc --- /dev/null +++ b/anda/desktops/driftwm/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("malbiruk/driftwm")); diff --git a/anda/desktops/elementary/capnet-assist/anda.hcl b/anda/desktops/elementary/capnet-assist/anda.hcl new file mode 100644 index 0000000000..644f0f79b1 --- /dev/null +++ b/anda/desktops/elementary/capnet-assist/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "capnet-assist.spec" + } +} diff --git a/anda/desktops/elementary/capnet-assist/capnet-assist.spec b/anda/desktops/elementary/capnet-assist/capnet-assist.spec new file mode 100644 index 0000000000..85d9f8808c --- /dev/null +++ b/anda/desktops/elementary/capnet-assist/capnet-assist.spec @@ -0,0 +1,50 @@ +%global appid io.elementary.capnet-assist + +Name: capnet-assist +Version: 8.0.2 +Release: 1%?dist +Summary: Captive Network Assistant automatically opens to help you get connected +License: GPL-3.0-only +URL: https://github.com/elementary/capnet-assist +Source0: %url/archive/refs/tags/%version.tar.gz +BuildRequires: meson gettext vala desktop-file-utils +BuildRequires: pkgconfig(gcr-4) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(granite-7) >= 7.0.0 +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libadwaita-1) >= 1.0.0 +BuildRequires: pkgconfig(webkitgtk-6.0) + +%description +Log into captive portals—like Wi-Fi networks at coffee shops, airports, and trains—with ease. Captive Network Assistant automatically opens to help you get connected. + +%prep +%autosetup + +%build +%meson +%meson_build + +%install +%meson_install + +%terra_appstream -o %buildroot%_metainfodir/%appid.metainfo.xml +%find_lang %appid + +%check +%desktop_file_validate %buildroot%_appsdir/%appid.desktop + +%files -f %appid.lang +%doc README.md +%license COPYING +%_bindir/%appid +%_appsdir/%appid.desktop +%_datadir/glib-2.0/schemas/%appid.gschema.xml +%_hicolordir/*/apps/%appid.svg +%_metainfodir/%appid.metainfo.xml + +%changelog +* Tue Apr 07 2026 madonuko - 8.0.2-1 +- Initial package. diff --git a/anda/desktops/elementary/capnet-assist/update.rhai b/anda/desktops/elementary/capnet-assist/update.rhai new file mode 100644 index 0000000000..fc7813e120 --- /dev/null +++ b/anda/desktops/elementary/capnet-assist/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("elementary/capnet-assist")); diff --git a/anda/desktops/gnome/gnome-shell-extension-appmenu-is-back/gnome-shell-extension-appmenu-is-back.spec b/anda/desktops/gnome/gnome-shell-extension-appmenu-is-back/gnome-shell-extension-appmenu-is-back.spec index c9adbfaafb..7e6a391c8c 100644 --- a/anda/desktops/gnome/gnome-shell-extension-appmenu-is-back/gnome-shell-extension-appmenu-is-back.spec +++ b/anda/desktops/gnome/gnome-shell-extension-appmenu-is-back/gnome-shell-extension-appmenu-is-back.spec @@ -3,7 +3,7 @@ Name: gnome-shell-extension-%{extension} Version: 12 -Release: 3%?dist +Release: 4%{?dist} Summary: GNOME Shell extension to bring back the app menu License: GPL-3.0-only URL: https://github.com/fthx/appmenu-is-back @@ -12,7 +12,7 @@ BuildArch: noarch Source0: https://github.com/fthx/appmenu-is-back/archive/refs/tags/v%{version}.tar.gz -Requires: (gnome-shell >= 48~ with gnome-shell < 50~) +Requires: gnome-shell >= 48~ Recommends: gnome-extensions-app %description 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 5da29b0b8d..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 @@ -1,13 +1,13 @@ -%global commit 0df5f952843a296bf9f9b61b36c5fae5d851700b -%global commit_date 20250925 +%global commit bb8f2e646679f592bd50a175ea784f1a1d69dc8b +%global commit_date 20260519 %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: 2%?dist +Release: 2%{?dist} Summary: Battery remaining time extension for GNOME Shell License: GPL-2.0-only URL: https://github.com/pomoke/battery_time @@ -18,7 +18,7 @@ Source0: %url/archive/%commit/battery_time-%commit.tar.gz # License declared in README Source1: https://scancode-licensedb.aboutcode.org/gpl-2.0.LICENSE -Requires: (gnome-shell >= 48~ with gnome-shell < 50~) +Requires: gnome-shell >= 48~ Recommends: gnome-extensions-app Packager: Owen Zimmerman diff --git a/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/anda.hcl b/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/anda.hcl deleted file mode 100644 index 3870cb13d0..0000000000 --- a/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/anda.hcl +++ /dev/null @@ -1,6 +0,0 @@ -project pkg { - arches = ["x86_64"] - rpm { - spec = "gnome-shell-extension-gpu-supergfxctl-switch.spec" - } -} diff --git a/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/gnome-shell-extension-gpu-supergfxctl-switch.spec b/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/gnome-shell-extension-gpu-supergfxctl-switch.spec deleted file mode 100644 index bcf2bd1c92..0000000000 --- a/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/gnome-shell-extension-gpu-supergfxctl-switch.spec +++ /dev/null @@ -1,39 +0,0 @@ -%global commit 1de26db2ea4166fdca85306300b12bdc24f2c955 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20250925 -%global ver 11 -%global extension gpu-switcher-supergfxctl -%global uuid %{extension}@chikobara.github.io - -Name: gnome-shell-extension-%{extension} -Version: %ver^%commit_date.%shortcommit -Release: 2%?dist -Summary: GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl -License: GPL-3.0-only -URL: https://github.com/chikobara/GPU-Switcher-Supergfxctl - -Source0: %url/archive/%commit.tar.gz - -Requires: (gnome-shell >= 48~ with gnome-shell < 50~) asusctl supergfxctl -Recommends: gnome-extensions-app - -BuildArch: noarch - -%description -GPU Profile switcher Gnome-Shell-Extension for ASUS laptops using Supergfxctl - -%prep -%autosetup -n GPU-Switcher-Supergfxctl-%{commit} -p1 - -%install -install -Dm644 metadata.json %{buildroot}%{_gnomeextensionsdir}/metadata.json -install -Dm644 extension.js %{buildroot}%{_gnomeextensionsdir}/extension.js - -%files -%license LICENSE -%doc README.md -%{_gnomeextensionsdir} - -%changelog -* Mon Oct 27 2025 june-fish - 11 -- Initial Package diff --git a/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/update.rhai b/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/update.rhai deleted file mode 100644 index 10ce2bdccd..0000000000 --- a/anda/desktops/gnome/gnome-shell-extension-gpu-supergfxctl-switch/update.rhai +++ /dev/null @@ -1,9 +0,0 @@ -if filters.contains("nightly") { - rpm.global("commit", gh_commit("chikobara/GPU-Switcher-Supergfxctl")); - if rpm.changed() { - let v = find("\"version\": ([.\\d]+)\n", gh_rawfile("chikobara/GPU-Switcher-Supergfxctl", "main", "metadata.json"), 1); - rpm.global("ver", v); - rpm.global("commit_date", date()); - rpm.release(); - } -} 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 928de9d56d..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: 9 -Release: 3%?dist +Version: 10 +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 @@ -12,7 +12,7 @@ BuildArch: noarch Source0: https://github.com/zalckos/GrandTheftFocus/archive/refs/tags/v%version.tar.gz -Requires: (gnome-shell >= 48~ with gnome-shell < 50~) +Requires: gnome-shell >= 48~ Recommends: gnome-extensions-app Packager: Owen Zimmerman 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 ee498127bf..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 93bd38c27325f8c9c0fbe4114ee061cfa6970cb7 -%global commit_date 20260228 +%global commit 98e57dfcbedae4d88130f689d25d0dd0961731ba +%global commit_date 20260623 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global extension multi-monitors-bar @@ -7,7 +7,7 @@ Name: gnome-shell-extension-%{extension} Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Add multiple monitors overview and panel for GNOME Shell. This is an updated fork with GNOME 46 compatibility License: GPL-2.0-or-later URL: https://github.com/FrederykAbryan/multi-monitors-bar_fapv2 @@ -17,7 +17,7 @@ BuildArch: noarch Source0: %url/archive/%commit/multi-monitors-bar_fapv2-%commit.tar.gz # README declared the license, but they do not provide a license file -Requires: (gnome-shell >= 48~ with gnome-shell < 50~) +Requires: gnome-shell >= 48~ Recommends: gnome-extensions-app Packager: Owen Zimmerman diff --git a/anda/desktops/gnome/gnome-shell-extension-vicinae/gnome-shell-extension-vicinae.spec b/anda/desktops/gnome/gnome-shell-extension-vicinae/gnome-shell-extension-vicinae.spec index 4c1fb6b1d2..2cef2a42db 100644 --- a/anda/desktops/gnome/gnome-shell-extension-vicinae/gnome-shell-extension-vicinae.spec +++ b/anda/desktops/gnome/gnome-shell-extension-vicinae/gnome-shell-extension-vicinae.spec @@ -1,8 +1,8 @@ %global uuid vicinae@dagimg-dot.netlify.app Name: gnome-shell-extension-vicinae -Version: 1.6.0 -Release: 1%?dist +Version: 1.6.2 +Release: 1%{?dist} License: MIT URL: https://github.com/dagimg-dot/vicinae-gnome-extension Source: %{url}/archive/refs/tags/v%{version}.tar.gz @@ -12,7 +12,7 @@ Packager: metcya BuildArch: noarch BuildRequires: bun-bin glib2-devel -Requires: (gnome-shell >= 48~ with gnome-shell < 50~) +Requires: gnome-shell >= 48~ Requires: vicinae Recommends: gnome-extensions-app Provides: gnome-shell-extension-vicinae-gnome-extension @@ -22,7 +22,7 @@ Companion GNOME extension for Vicinae launcher with clipboard monitoring, window management APIs, and paste-to-active-window capabilities. %prep -%autosetup -n vicinae-gnome-extension-%{version} +%autosetup -n gnome-extension-%{version} %build %{__bun} i && %{__bun} run build diff --git a/anda/desktops/gnome/gnome-shell/gnome-shell.spec b/anda/desktops/gnome/gnome-shell/gnome-shell.spec index 27ef4e6457..f22b79af03 100644 --- a/anda/desktops/gnome/gnome-shell/gnome-shell.spec +++ b/anda/desktops/gnome/gnome-shell/gnome-shell.spec @@ -1,5 +1,5 @@ %global tarball_version %%(echo %{version} | tr '~' '.') -%global major_version 49 +%global major_version 50 %global minor_version 2 %if 0%{?rhel} diff --git a/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec b/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec index 7d69a1e5f3..543827caad 100644 --- a/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec +++ b/anda/desktops/hyprland/hyprutils/hyprutils.nightly.spec @@ -1,10 +1,10 @@ #? https://src.fedoraproject.org/rpms/hyprutils/blob/rawhide/f/hyprutils.spec %global realname hyprutils -%global ver 0.11.0 +%global ver 0.13.1 -%global commit e63f3a79334dec49f8eb1691f66f18115df04085 -%global commit_date 20260303 +%global commit d2b40ffe7bfcb001bbf5888bb56ff646de53e7db +%global commit_date 20260629 %global shortcommit %{sub %commit 1 7} Name: %realname.nightly diff --git a/anda/desktops/hyprland/hyprwayland-scanner/hyprwayland-scanner.nightly.spec b/anda/desktops/hyprland/hyprwayland-scanner/hyprwayland-scanner.nightly.spec index ed74bb36cd..03001fbc1f 100644 --- a/anda/desktops/hyprland/hyprwayland-scanner/hyprwayland-scanner.nightly.spec +++ b/anda/desktops/hyprland/hyprwayland-scanner/hyprwayland-scanner.nightly.spec @@ -1,10 +1,10 @@ #? https://src.fedoraproject.org/rpms/hyprwayland-scanner/blob/rawhide/f/hyprwayland-scanner.spec %global realname hyprwayland-scanner -%global ver 0.4.5 -%global commit 0a692d4a645165eebd65f109146b8861e3a925e7 +%global ver 0.4.6 +%global commit b8632713a6beaf28b56f2a7b0ab2fb7088dbb404 %global shortcommit %{sub %commit 1 7} -%global commit_date 20260303 +%global commit_date 20260426 Name: %realname.nightly Version: %ver^%{commit_date}git.%shortcommit diff --git a/anda/desktops/kde/lightdm-kde-greeter/lightdm-kde-greeter.spec b/anda/desktops/kde/lightdm-kde-greeter/lightdm-kde-greeter.spec index 83b82c2d59..c0ef17ec79 100644 --- a/anda/desktops/kde/lightdm-kde-greeter/lightdm-kde-greeter.spec +++ b/anda/desktops/kde/lightdm-kde-greeter/lightdm-kde-greeter.spec @@ -1,8 +1,8 @@ -%global commit e7378bd297144d4d55cf6de2e53fe34c3043b7ca +%global commit b58d624095da102fef99b5825ad6dc78a5cec5a1 Name: lightdm-kde-greeter -Version: 6.1.3 -Release: 1%?dist +Version: 6.1.6 +Release: 1%{?dist} Summary: Login screen using the LightDM framework License: GPL-3.0-or-later URL: https://invent.kde.org/plasma/%name diff --git a/anda/desktops/kde/plasma6-applet-appgrid/anda.hcl b/anda/desktops/kde/plasma6-applet-appgrid/anda.hcl new file mode 100644 index 0000000000..efc7b5f9be --- /dev/null +++ b/anda/desktops/kde/plasma6-applet-appgrid/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "plasma6-applet-appgrid.spec" + } +} diff --git a/anda/desktops/kde/plasma6-applet-appgrid/plasma6-applet-appgrid.spec b/anda/desktops/kde/plasma6-applet-appgrid/plasma6-applet-appgrid.spec new file mode 100644 index 0000000000..a99410ac55 --- /dev/null +++ b/anda/desktops/kde/plasma6-applet-appgrid/plasma6-applet-appgrid.spec @@ -0,0 +1,85 @@ +Name: plasma6-applet-appgrid +Version: 1.9.3 +Release: 1%{?dist} +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 +URL: https://appgrid.xarbit.dev +Packager: hilltty <49129010+hilltty@users.noreply.github.com> +Source0: https://github.com/xarbit/plasma6-applet-appgrid/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: gettext +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(KF6Runner) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6GlobalAccel) +BuildRequires: cmake(KF6Svg) +BuildRequires: cmake(Plasma) +BuildRequires: cmake(PlasmaQuick) +BuildRequires: cmake(LayerShellQt) +BuildRequires: cmake(PlasmaActivities) +BuildRequires: cmake(PlasmaActivitiesStats) +BuildRequires: cmake(AppStreamQt) + +Requires: plasma-workspace +Requires: plasma-desktop +Requires: kf6-kiconthemes +Requires: kf6-ksvg + +%description +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 %{name}-%{version} + +%conf +%cmake -DAPPGRID_VERSION_OVERRIDE=%{version} + +%build +%cmake_build + +%install +%cmake_install +%find_lang dev.xarbit.appgrid + +%files -f dev.xarbit.appgrid.lang +%license LICENSE +%doc README.md +%{_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 + +* Tue May 19 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.7.10-1 +- Sync with upstream: add icon to files, update Requires, update URL + +* Sat Apr 25 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.7.8-1 +- Update to 1.7.8 + +* Fri Apr 24 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.2.1-1 +- Initial package diff --git a/anda/desktops/kde/plasma6-applet-appgrid/update.rhai b/anda/desktops/kde/plasma6-applet-appgrid/update.rhai new file mode 100644 index 0000000000..acfe50ecd6 --- /dev/null +++ b/anda/desktops/kde/plasma6-applet-appgrid/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("xarbit/plasma6-applet-appgrid")); diff --git a/anda/desktops/lomiri-unity/frame/frame.spec b/anda/desktops/lomiri-unity/frame/frame.spec index 29d6e17c3a..ac7da8587c 100644 --- a/anda/desktops/lomiri-unity/frame/frame.spec +++ b/anda/desktops/lomiri-unity/frame/frame.spec @@ -1,9 +1,9 @@ Name: frame Version: 2.5.0 -Release: 2%?dist +Release: 3%?dist Summary: Touch Frame Library -License: GPL-3.0 AND LGPL-3.0 +License: GPL-3.0-or-later AND LGPL-3.0-or-later URL: https://launchpad.net/frame Source0: http://archive.ubuntu.com/ubuntu/pool/universe/f/frame/frame_%{version}daily13.06.05+16.10.20160809.orig.tar.gz Patch0: http://archive.ubuntu.com/ubuntu/pool/universe/f/frame/frame_%{version}daily13.06.05+16.10.20160809-0ubuntu3.diff.gz @@ -24,7 +24,7 @@ Frame handles the buildup and synchronization of a set of simultaneous touches. %package devel Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{evr} %description devel The %{name}-devel package contains libraries and header files for @@ -33,7 +33,7 @@ developing applications that use %{name}. %prep %autosetup -c -p1 -%build +%conf NOCONFIGURE=1 \ ./autogen.sh @@ -44,6 +44,7 @@ export PYTHON --disable-silent-rules \ --disable-static +%build %make_build %install diff --git a/anda/desktops/lomiri-unity/geis/geis.spec b/anda/desktops/lomiri-unity/geis/geis.spec index d20afede10..94f5f302f8 100644 --- a/anda/desktops/lomiri-unity/geis/geis.spec +++ b/anda/desktops/lomiri-unity/geis/geis.spec @@ -1,9 +1,9 @@ Name: geis Version: 2.2.17 -Release: %autorelease +Release: 2%{?dist} Summary: An implementation of the GEIS interface -License: GPL-3.0 AND LGPL-3.0 +License: GPL-3.0-or-later AND LGPL-3.0-or-later URL: https://launchpad.net/geis Source0: http://archive.ubuntu.com/ubuntu/pool/universe/g/geis/geis_%{version}+16.04.20160126.orig.tar.gz Patch0: http://archive.ubuntu.com/ubuntu/pool/universe/g/geis/geis_%{version}+16.04.20160126-0ubuntu8.diff.gz @@ -22,14 +22,13 @@ BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xorg-server) -Requires: python3 %description An implementation of the GEIS (Gesture Engine Interface and Support) interface. %package devel Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{evr} %description devel The %{name}-devel package contains libraries and header files for @@ -38,7 +37,7 @@ developing applications that use %{name}. %prep %autosetup -n geis-%{version}+16.04.20160126 -p1 -%build +%conf NOCONFIGURE=1 \ ./autogen.sh @@ -49,6 +48,7 @@ export PYTHON --disable-silent-rules \ --disable-static +%build %make_build %install diff --git a/anda/desktops/lomiri-unity/libunity-misc/libunity-misc.spec b/anda/desktops/lomiri-unity/libunity-misc/libunity-misc.spec index 6398562321..9a20428285 100644 --- a/anda/desktops/lomiri-unity/libunity-misc/libunity-misc.spec +++ b/anda/desktops/lomiri-unity/libunity-misc/libunity-misc.spec @@ -32,14 +32,17 @@ developing applications that use %{name}. %prep %autosetup -n libunity-misc-%{version}+14.04.20140115 + +%conf find ./ -type f -exec sed -i 's/-Werror//' {} \; NOCONFIGURE=1 \ ./autogen.sh -%build %configure \ --disable-silent-rules \ --disable-static + +%build %make_build %install diff --git a/anda/desktops/lomiri-unity/lomiri-api/lomiri-api.spec b/anda/desktops/lomiri-unity/lomiri-api/lomiri-api.spec index f0738793e0..f3e9435f2e 100644 --- a/anda/desktops/lomiri-unity/lomiri-api/lomiri-api.spec +++ b/anda/desktops/lomiri-unity/lomiri-api/lomiri-api.spec @@ -3,8 +3,8 @@ %forgemeta Name: lomiri-api -Version: 0.3.0 -Release: 1%?dist +Version: 0.3.2 +Release: 1%{?dist} Summary: API for Lomiri License: LGPL-3.0-or-later 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 f5993637c6..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 f4b7c634dc4f95086dcda70113fbc2f6ce22eed7 +%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 96f8c635bb..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,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-download-manager -%global commit ff2bc3a8f57b6124ca866c108c49aabcbe22bdf8 +%global commit 72b77e657d71f4a0b1b979d27321b7a909ff5ad7 %forgemeta Name: lomiri-download-manager -Version: 0.3.0 -Release: 1%?dist +Version: 0.3.2 +Release: 1%{?dist} Summary: Upload Download Manager for Lomiri License: LGPLv3 URL: https://gitlab.com/ubports/development/core/lomiri-download-manager 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 5eb61ebeb3..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,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-settings-components -%global commit 91a0a1f94b90d8e3371ab47b769bcd058ac57a74 +%global commit 3fcff0a27374d675702671564018b10d3627bd1b %forgemeta Name: lomiri-settings-components -Version: 1.1.3 -Release: 1%?dist +Version: 1.2.1 +Release: 1%{?dist} Summary: The system settings components for Lomiri License: GPLv3 AND LGPLv3 URL: https://gitlab.com/ubports/development/core/lomiri-settings-components 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 e71b068ad2..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 9777ab6600cb80aa3c88c48c57bbc4f8ca5ddccb +%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 d4e7b92787..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,10 +1,10 @@ %global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit -%global commit 77935cd890e5d04ac91e1c53e80ab4c39bad8fe7 +%global commit 74d94596a8b273dc02dc6d5a44d614a16bb2383b %forgemeta Name: lomiri-ui-toolkit -Version: 1.3.5903 -Release: 1%?dist +Version: 1.3.5907 +Release: 1%{?dist} Summary: QML components to ease the creation of beautiful applications in QML for Lomiri License: LGPL-3.0 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/nux/nux.spec b/anda/desktops/lomiri-unity/nux/nux.spec index c42fe66afb..8ac24413bc 100644 --- a/anda/desktops/lomiri-unity/nux/nux.spec +++ b/anda/desktops/lomiri-unity/nux/nux.spec @@ -1,6 +1,6 @@ Name: nux Version: 4.0.8 -Release: %autorelease +Release: 1%{?dist} Summary: An OpenGL toolkit License: GPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.0-or-later @@ -51,7 +51,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %autosetup -n nux-%{version} -p1 for i in debian/patches/*.patch; do patch -p1 < $i; done -%build +%conf NOCONFIGURE=1 \ ./autogen.sh @@ -60,6 +60,7 @@ NOCONFIGURE=1 \ --disable-silent-rules \ --disable-static +%build %make_build %install diff --git a/anda/desktops/lomiri-unity/nux/update.rhai b/anda/desktops/lomiri-unity/nux/update.rhai new file mode 100644 index 0000000000..a50d44a7f3 --- /dev/null +++ b/anda/desktops/lomiri-unity/nux/update.rhai @@ -0,0 +1,2 @@ +let v = find(`Latest version is ([\d.]+)`, get("https://launchpad.net/nux"), 1); +rpm.version(v); 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/lomiri-unity/unity-greeter/unity-greeter.spec b/anda/desktops/lomiri-unity/unity-greeter/unity-greeter.spec index bbd6de1364..b99b54067a 100644 --- a/anda/desktops/lomiri-unity/unity-greeter/unity-greeter.spec +++ b/anda/desktops/lomiri-unity/unity-greeter/unity-greeter.spec @@ -2,10 +2,10 @@ Name: unity-greeter Version: 25.04.1 -Release: 1%?dist +Release: 2%?dist Summary: Unity Greeter for Lightdm -License: GPL-3.0 +License: GPL-3.0-or-later URL: https://launchpad.net/unity-greeter Source0: http://archive.ubuntu.com/ubuntu/pool/universe/u/unity-greeter/unity-greeter_%version-0ubuntu%rn.tar.xz Patch1: 0001-Remove-libido.patch @@ -35,12 +35,13 @@ It is implemented as a LightDM greeter. %prep %autosetup -p1 -%build +%conf NOCONFIGURE=1 \ ./autogen.sh %configure --disable-static +%build %make_build %install diff --git a/anda/desktops/lomiri-unity/unity-scope-home/unity-scope-home.spec b/anda/desktops/lomiri-unity/unity-scope-home/unity-scope-home.spec index 3d9c527ee3..a0d6babb9a 100644 --- a/anda/desktops/lomiri-unity/unity-scope-home/unity-scope-home.spec +++ b/anda/desktops/lomiri-unity/unity-scope-home/unity-scope-home.spec @@ -1,7 +1,7 @@ Name: unity-scope-home Summary: Home scope that aggregates results from multiple scopes Version: 19.04.20190412 -Release: %autorelease +Release: 1%{?dist} License: GPL-3.0 URL: https://launchpad.net/unity-scope-home Source0: http://archive.ubuntu.com/ubuntu/pool/universe/u/unity-scope-home/unity-scope-home_6.8.2+%{version}.orig.tar.gz @@ -32,12 +32,14 @@ Theme and icons for Unity. %prep %autosetup -c -p1 -%build +%conf NOCONFIGURE=1 \ ./autogen.sh # Cannot build with Fedora's libunity %configure --disable-static + +%build %make_build %install diff --git a/anda/desktops/lomiri-unity/unity-shell/unity-shell.spec b/anda/desktops/lomiri-unity/unity-shell/unity-shell.spec index 0598b8a60f..acd54b5ad1 100644 --- a/anda/desktops/lomiri-unity/unity-shell/unity-shell.spec +++ b/anda/desktops/lomiri-unity/unity-shell/unity-shell.spec @@ -1,8 +1,8 @@ -%define archive unity_7.7.0+23.04.20230222.2-0ubuntu9.tar.xz +%define archive unity_7.7.1+26.04.20260306-0ubuntu3.tar.xz Name: unity-shell -Version: 7.7.0 -Release: 1%?dist +Version: 7.7.1 +Release: 1%{?dist} Summary: Unity is a shell that sings License: GPL-3.0-or-later diff --git a/anda/desktops/mangowc/update.rhai b/anda/desktops/mangowc/update.rhai deleted file mode 100644 index e329151a80..0000000000 --- a/anda/desktops/mangowc/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("DreamMaoMao/mangowc")); diff --git a/anda/desktops/mangowm/anda.hcl b/anda/desktops/mangowm/anda.hcl new file mode 100644 index 0000000000..90b2da7f90 --- /dev/null +++ b/anda/desktops/mangowm/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "mangowm.spec" + } +} diff --git a/anda/desktops/mangowc/mangowc.spec b/anda/desktops/mangowm/mangowm.spec similarity index 52% rename from anda/desktops/mangowc/mangowc.spec rename to anda/desktops/mangowm/mangowm.spec index 45b7a691df..2c7af73b4e 100644 --- a/anda/desktops/mangowc/mangowc.spec +++ b/anda/desktops/mangowm/mangowm.spec @@ -1,10 +1,12 @@ -Name: mangowc -Version: 0.12.5 -Release: 1%?dist -Summary: wayland compositor base wlroots and scenefx (dwm but wayland) -License: GPL-3.0 +%global mangowc_ver 0.12.5-1 + +Name: mangowm +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 Packager: metcya -URL: https://github.com/DreamMaoMao/mangowc +URL: https://github.com/mangowm/mango Source: %{url}/archive/%{version}.tar.gz BuildRequires: meson @@ -19,13 +21,19 @@ BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(libpcre2-8) -BuildRequires: pkgconfig(scenefx-0.4) +BuildRequires: pkgconfig(libcjson) +BuildRequires: scenefx-devel + +Conflicts: mangowc < %{mangowc_ver} +Obsoletes: mangowc < %{mangowc_ver} +Provides: mangowc = %{mangowc_ver} %description -MangoWC is a lightweight, high-performance Wayland compositor built on dwl, designed for speed, flexibility, and a modern, customizable desktop experience. +MangoWM is a modern, lightweight, high-performance Wayland compositor built on +dwl — crafted for speed, flexibility, and a customizable desktop experience. %prep -%autosetup +%autosetup -n mango-%{version} %build %meson @@ -46,7 +54,12 @@ MangoWC is a lightweight, high-performance Wayland compositor built on dwl, desi %{_bindir}/mmsg %{_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 +- Rename to mangowm + * Wed Nov 12 2025 metcya - Package mangowc diff --git a/anda/desktops/mangowm/update.rhai b/anda/desktops/mangowm/update.rhai new file mode 100644 index 0000000000..f16a6a5ef9 --- /dev/null +++ b/anda/desktops/mangowm/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("mangowm/mango")); diff --git a/anda/desktops/mate/dock-applet/mate-dock-applet.spec b/anda/desktops/mate/dock-applet/mate-dock-applet.spec index 368cc92480..2aa2fd33f3 100644 --- a/anda/desktops/mate/dock-applet/mate-dock-applet.spec +++ b/anda/desktops/mate/dock-applet/mate-dock-applet.spec @@ -17,10 +17,12 @@ Packager: madonuko %prep %autosetup + +%conf autoreconf -fi +%configure --with-gtk3 %build -%configure --with-gtk3 %make_build %install 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/anda.hcl b/anda/desktops/niri/iio-niri/anda.hcl new file mode 100644 index 0000000000..8ebe47eadb --- /dev/null +++ b/anda/desktops/niri/iio-niri/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "iio-niri.spec" + } +} diff --git a/anda/desktops/niri/iio-niri/iio-niri.spec b/anda/desktops/niri/iio-niri/iio-niri.spec new file mode 100644 index 0000000000..65a11698be --- /dev/null +++ b/anda/desktops/niri/iio-niri/iio-niri.spec @@ -0,0 +1,37 @@ +Name: iio-niri +Version: 2.3.1 +Release: 1%{?dist} +Summary: Autorotation daemon for niri +URL: https://github.com/Zhaith-Izaliel/iio-niri +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +BuildRequires: cargo-rpm-macros +BuildRequires: dbus-devel +Requires: iio-sensor-proxy +License: (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND GPL-3.0-or-later AND MIT OR Apache-2.0 AND (Unlicense OR MIT) +Packager: Tulip Blossom + +%description +%{summary}. + +%prep +%autosetup +%cargo_prep_online + +%build +%cargo_build +%{cargo_license_online} > LICENSE.dependencies + +%install +%crate_install_bin + +%files +%doc README.md +%license LICENSE.md LICENSE.dependencies +%{_bindir}/%{name} + +%changelog +* Fri May 05 2026 Tulip Blossom - 2.0.0-1 +- Update package and add autoupdate definitions + +* Fri Mar 13 2026 Tulip Blossom +- Initial commit diff --git a/anda/desktops/niri/iio-niri/update.rhai b/anda/desktops/niri/iio-niri/update.rhai new file mode 100644 index 0000000000..b5009ad134 --- /dev/null +++ b/anda/desktops/niri/iio-niri/update.rhai @@ -0,0 +1 @@ +rpm.version(find(`version = "([\d.]+)"`, gh_rawfile("Zhaith-Izaliel/iio-niri", "master", "Cargo.toml"), 1)); diff --git a/anda/desktops/niri/nirius/nirius.spec b/anda/desktops/niri/nirius/nirius.spec index 102fd4f134..d58c906e63 100644 --- a/anda/desktops/niri/nirius/nirius.spec +++ b/anda/desktops/niri/nirius/nirius.spec @@ -1,5 +1,5 @@ Name: nirius -Version: 0.6.1 +Version: 0.8.0 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..6a0a7f03ce --- /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 c6f09a8f436b21d4a932e778807d7bf707eab9b7 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260629 + +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-legacy/noctalia-legacy.spec b/anda/desktops/noctalia-legacy/noctalia-legacy.spec new file mode 100644 index 0000000000..192c35bc2b --- /dev/null +++ b/anda/desktops/noctalia-legacy/noctalia-legacy.spec @@ -0,0 +1,62 @@ +%global debug_package %{nil} + +Name: noctalia-legacy +Version: 4.7.7 +Release: 2%{?dist} +Summary: A Quickshell-based custom shell setup + +License: MIT +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 +Requires: qt6-qtmultimedia +Requires: noctalia-qs +Requires: xdg-desktop-portal + +Recommends: cava +Recommends: cliphist +Recommends: ddcutil +Recommends: matugen +Recommends: power-profiles-daemon +Recommends: wlsunset +Recommends: gpu-screen-recorder + +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. + +%prep +%autosetup -n noctalia-release + +%build + +%install +install -d -m 0755 %{buildroot}/etc/xdg/quickshell/noctalia-shell +cp -r ./* %{buildroot}/etc/xdg/quickshell/noctalia-shell/ + +%files +%doc README.md +%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 +* 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 Cypress Reed +- Change required quickshell to Noctalia's version + +* 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 4649ed7637..a7f26d713c 100644 --- a/anda/desktops/noctalia-qs/noctalia-qs.spec +++ b/anda/desktops/noctalia-qs/noctalia-qs.spec @@ -1,12 +1,14 @@ -Name: noctalia-qs -Version: 0.0.4 -Release: 1%?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 +%global commit fb0cc1557d8321fb2e3f34e94beddefe56211e04 -Packager: Willow C Reed (willow@willowidk.dev) +Name: noctalia-qs +Version: 0.0.12 +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: Cypress Reed BuildRequires: cmake BuildRequires: cmake(Qt6Core) @@ -33,7 +35,11 @@ BuildRequires: pkgconfig(CLI11) BuildRequires: glib2-devel BuildRequires: polkit-devel -Obsoletes: quickshell +Conflicts: quickshell +Provides: quickshell + +Provides: desktop-notification-daemon +Provides: PolicyKit-authentication-agent %description Flexible QtQuick based desktop shell toolkit. @@ -67,5 +73,18 @@ Flexible QtQuick based desktop shell toolkit. %{_libdir}/qt6/qml/Quickshell %changelog -* Fri Feb 27 2026 Willow C Reed -- Initial commit based on quickshell spec \ No newline at end of file +* 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 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 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 61bd35a0e8..d54c2b9e2d 100644 --- a/anda/desktops/noctalia-qs/update.rhai +++ b/anda/desktops/noctalia-qs/update.rhai @@ -1 +1,19 @@ -rpm.version(gh("noctalia-dev/noctalia-qs")); \ No newline at end of file +import "andax/bump_extras.rhai" as bump; +import "andax/spec.rhai" as spec; + +let version = find(`quickshell VERSION "([\d.]+)"`, gh_rawfile("noctalia-dev/noctalia-qs", "master", "CMakeLists.txt"), 1); + +rpm.version(version); + +if rpm.changed() { + 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/noctalia-shell.spec b/anda/desktops/noctalia-shell/noctalia-shell.spec deleted file mode 100644 index fc209b468d..0000000000 --- a/anda/desktops/noctalia-shell/noctalia-shell.spec +++ /dev/null @@ -1,50 +0,0 @@ -%global debug_package %{nil} - -Name: noctalia-shell -Version: 4.6.1 -Release: 1%?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/latest/download/noctalia-latest.tar.gz - -Requires: brightnessctl -Requires: dejavu-sans-fonts -Requires: gpu-screen-recorder -Requires: qt6-qtmultimedia -Requires: noctalia-qs -Requires: xdg-desktop-portal - -Recommends: cava -Recommends: cliphist -Recommends: ddcutil -Recommends: matugen -Recommends: power-profiles-daemon -Recommends: wlsunset - -Packager: Willow 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. - -%prep -%autosetup -n noctalia-release - -%build - -%install -install -d -m 0755 %{buildroot}/etc/xdg/quickshell/noctalia-shell -cp -r ./* %{buildroot}/etc/xdg/quickshell/noctalia-shell/ - -%files -%doc README.md -%license LICENSE -%{_sysconfdir}/xdg/quickshell/noctalia-shell/ - -%changelog -* Fri Feb 27 2026 Willow C Reed -- Change required quickshell to Noctalia's version - -* Fri Jan 02 2026 Willow Reed -- Initial commit \ No newline at end of file diff --git a/anda/desktops/noctalia-shell/update.rhai b/anda/desktops/noctalia-shell/update.rhai deleted file mode 100644 index 1c9be28be7..0000000000 --- a/anda/desktops/noctalia-shell/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("noctalia-dev/noctalia-shell")); diff --git a/anda/desktops/satty/anda.hcl b/anda/desktops/satty/anda.hcl new file mode 100644 index 0000000000..2afc889c3f --- /dev/null +++ b/anda/desktops/satty/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "satty.spec" + } +} diff --git a/anda/desktops/satty/satty.spec b/anda/desktops/satty/satty.spec new file mode 100644 index 0000000000..e43cd2b270 --- /dev/null +++ b/anda/desktops/satty/satty.spec @@ -0,0 +1,51 @@ +Name: satty +Version: 0.21.1 +Release: 1%{?dist} +Summary: Modern screenshot annotation tool +URL: https://github.com/Satty-org/Satty +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +BuildRequires: cargo-rpm-macros +BuildRequires: libadwaita-devel +BuildRequires: libepoxy-devel +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 -BeNfz + +%prep +%autosetup -n Satty-%{version} +%cargo_prep_online + +%build +%cargo_build -a +%{cargo_license_online -a} > LICENSE.dependencies + +%install +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} +%{_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/satty/update.rhai b/anda/desktops/satty/update.rhai new file mode 100644 index 0000000000..4cb90fd002 --- /dev/null +++ b/anda/desktops/satty/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Satty-org/Satty")); diff --git a/anda/desktops/scroll/50-systemd-user.conf b/anda/desktops/scroll/50-systemd-user.conf new file mode 100644 index 0000000000..71207a438a --- /dev/null +++ b/anda/desktops/scroll/50-systemd-user.conf @@ -0,0 +1,16 @@ +# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment +# See FS#63021 +# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal. + +# Upstream refuses to set XDG_CURRENT_DESKTOP so we have to. +exec systemctl --user set-environment XDG_CURRENT_DESKTOP=scroll +exec systemctl --user import-environment DISPLAY \ + SCROLLSOCK \ + WAYLAND_DISPLAY \ + XDG_CURRENT_DESKTOP + +exec hash dbus-update-activation-environment 2>/dev/null && \ + dbus-update-activation-environment --systemd DISPLAY \ + SCROLLSOCK \ + XDG_CURRENT_DESKTOP=scroll \ + WAYLAND_DISPLAY diff --git a/anda/desktops/scroll/anda.hcl b/anda/desktops/scroll/anda.hcl new file mode 100644 index 0000000000..5b0626f4d1 --- /dev/null +++ b/anda/desktops/scroll/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "scroll.spec" + } +} diff --git a/anda/desktops/scroll/scroll-portals.conf b/anda/desktops/scroll/scroll-portals.conf new file mode 100644 index 0000000000..aebea31a93 --- /dev/null +++ b/anda/desktops/scroll/scroll-portals.conf @@ -0,0 +1,5 @@ +[preferred] +default=gtk +org.freedesktop.impl.portal.ScreenCast=wlr +org.freedesktop.impl.portal.Screenshot=wlr +org.freedesktop.impl.portal.Inhibit=none diff --git a/anda/desktops/scroll/scroll.spec b/anda/desktops/scroll/scroll.spec new file mode 100644 index 0000000000..2f7cee24fb --- /dev/null +++ b/anda/desktops/scroll/scroll.spec @@ -0,0 +1,93 @@ +Name: scroll +Version: 1.12.15 +Release: 1%{?dist} +Summary: i3-compatible Wayland compositor (sway) with a PaperWM layout like niri or hyprscroller +License: MIT +URL: https://github.com/dawsers/scroll +Source0: %{url}/archive/refs/tags/%{version}.tar.gz +# https://aur.archlinux.org/cgit/aur.git/tree/?h=sway-scroll +Source1: 50-systemd-user.conf +Source2: scroll-portals.conf + +Packager: Owen Zimmerman + +BuildRequires: meson +BuildRequires: cmake +BuildRequires: ninja-build +BuildRequires: gcc +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(glslang) +BuildRequires: pkgconfig(libseat) +BuildRequires: pkgconfig(hwdata) +BuildRequires: pkgconfig(libdisplay-info) +BuildRequires: pkgconfig(libliftoff) +BuildRequires: pkgconfig(xcb-renderutil) +BuildRequires: pkgconfig(xwayland) +BuildRequires: pkgconfig(xcb-ewmh) +BuildRequires: pkgconfig(xcb-errors) +BuildRequires: pkgconfig(json-c) +BuildRequires: pkgconfig(lua) +BuildRequires: pkgconfig(scdoc) +BuildRequires: pkgconfig(vulkan) +BuildRequires: pkgconfig(libinput) +BuildRequires: pkgconfig(libevdev) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(pixman-1) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libpcre2-8) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(gdk-pixbuf-2.0) + +Provides: sway-scroll + +%description +%{summary}. + +%prep +%autosetup + +%pkg_completion -B scroll scrollbar scrollmsg +%pkg_completion -f scroll scrollmsg scrollnag +%pkg_completion -z scroll scrollmsg + +%build +%meson -D sd-bus-provider=libsystemd +%meson_build + +%install +%meson_install +install -Dm644 %{S:1} %{buildroot}%{_sysconfdir}/scroll/config.d/50-systemd-user.conf +install -Dm644 %{S:2} %{buildroot}%{_datadir}/xdg-desktop-portal/scroll-portals.conf + +%files +%doc README.md CONTRIBUTING.md +%license LICENSE +%{_bindir}/scroll +%{_bindir}/scrollbar +%{_bindir}/scrollmsg +%{_bindir}/scrollnag +%{_sysconfdir}/scroll/config +%{_sysconfdir}/scroll/config.d/50-systemd-user.conf +%{_datadir}/backgrounds/scroll/*png +%{_datadir}/xdg-desktop-portal/scroll-portals.conf +%{_iconsdir}/scroll.png +%{_mandir}/man1/scroll.1.* +%{_mandir}/man1/scrollmsg.1.* +%{_mandir}/man1/scrollnag.1.* +%{_mandir}/man5/scroll-bar.5.* +%{_mandir}/man5/scroll-input.5.* +%{_mandir}/man5/scroll-output.5.* +%{_mandir}/man5/scroll.5.* +%{_mandir}/man5/scrollnag.5.* +%{_mandir}/man7/scroll-ipc.7.* +%{_mandir}/man7/scrollbar-protocol.7.* +%{_datadir}/wayland-sessions/scroll.desktop + +%changelog +* Sun Apr 12 2026 Owen Zimmerman - 1.12.8-1 +- Initial commit diff --git a/anda/desktops/scroll/update.rhai b/anda/desktops/scroll/update.rhai new file mode 100644 index 0000000000..43498f46c8 --- /dev/null +++ b/anda/desktops/scroll/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("dawsers/scroll")); diff --git a/anda/desktops/singularity/libsingularity/anda.hcl b/anda/desktops/singularity/libsingularity/anda.hcl new file mode 100644 index 0000000000..05077c6ca3 --- /dev/null +++ b/anda/desktops/singularity/libsingularity/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "libsingularity.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/desktops/singularity/libsingularity/libsingularity.spec b/anda/desktops/singularity/libsingularity/libsingularity.spec new file mode 100644 index 0000000000..7c4d81347c --- /dev/null +++ b/anda/desktops/singularity/libsingularity/libsingularity.spec @@ -0,0 +1,59 @@ +%global commit f9e292cc90686ab0ef0ba8cbf07eab265dabd167 +%global commit_date 20260629 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: libsingularity +Summary: GTK4 application and widget framework for the Singularity Desktop Environment +Version: 0~%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +License: LGPL-2.1-or-later +URL: https://github.com/singularityos-lab/libsingularity +Source0: %url/archive/%commit/libsingularity-%commit.tar.gz +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 + +%description +A GTK4 application and widget framework for the Singularity Desktop Environment. + +%prep +%autosetup -n libsingularity-%{commit} + +%package devel +%pkg_devel_files + +%conf +%meson + +%build +%meson_build + +%install +%meson_install +%{__ln_s} -f %{_datadir}/vala/vapi/singularity-1.0.vapi %{buildroot}%{_datadir}/vala/vapi/libsingularity-1.0.vapi + +%files +%license LICENSE +%doc README.md CONTRIBUTING.md +%{_libdir}/girepository-1.0/Singularity-1.0.typelib +%{_libdir}/libsingularity.so.0 +%{_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 +- Initial commit diff --git a/anda/desktops/singularity/libsingularity/update.rhai b/anda/desktops/singularity/libsingularity/update.rhai new file mode 100644 index 0000000000..6479219608 --- /dev/null +++ b/anda/desktops/singularity/libsingularity/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("singularityos-lab/libsingularity")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/desktops/singularity/vetro/anda.hcl b/anda/desktops/singularity/vetro/anda.hcl new file mode 100644 index 0000000000..41a5f571be --- /dev/null +++ b/anda/desktops/singularity/vetro/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "vetro.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/desktops/singularity/vetro/update.rhai b/anda/desktops/singularity/vetro/update.rhai new file mode 100644 index 0000000000..a6369722f8 --- /dev/null +++ b/anda/desktops/singularity/vetro/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("singularityos-lab/vetro")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/desktops/singularity/vetro/vetro.spec b/anda/desktops/singularity/vetro/vetro.spec new file mode 100644 index 0000000000..8f83d0607a --- /dev/null +++ b/anda/desktops/singularity/vetro/vetro.spec @@ -0,0 +1,42 @@ +%global commit 0a7bd367676f67e1c15a304ba135fe6fecdbc604 +%global commit_date 20260605 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%global goipath github.com/singularityos-lab/vetro +Version: 0~%{commit_date}git.%{shortcommit} + +%gometa -f + +Name: vetro +Release: 1%{?dist} +Summary: Declarative GTK4 UI transpiler with a built-in Language Server Protocol (LSP) server +URL: https://github.com/singularityos-lab/vetro +Source0: %{url}/archive/%{commit}/vetro-%{commit}.tar.gz +License: MIT +BuildRequires: golang + +Packager: Owen Zimmerman + +%description +%{summary}. + +%gopkg + +%prep +%autosetup -n vetro-%{commit} + +%build +%define gomodulesmode GO111MODULE=on +%gobuild -o %{gobuilddir}/bin/vetro . + +%install +install -Dm755 %{gobuilddir}/bin/vetro %{buildroot}%{_bindir}/vetro + +%files +%{_bindir}/vetro +%license LICENSE +%doc README.md + +%changelog +* Sat May 16 2026 Owen Zimmerman +- Initial commit diff --git a/anda/desktops/somewm/somewm.spec b/anda/desktops/somewm/somewm.spec index 12de8feb11..fca9ed48cd 100644 --- a/anda/desktops/somewm/somewm.spec +++ b/anda/desktops/somewm/somewm.spec @@ -1,17 +1,18 @@ Name: somewm -Version: 0.5.0 -Release: 1%?dist +Version: 1.4.2 +Release: 1%{?dist} Summary: Wayland compositor that brings AwesomeWM's Lua API to Wayland -License: GPL-3.0 +License: GPL-3.0-or-later URL: https://github.com/trip-zip/somewm -Source: %{url}/archive/%{version}.tar.gz +Source: %{url}/archive/refs/tags/v%{version}.tar.gz Packager: Owen Zimmerman BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: meson -BuildRequires: pkgconfig(wlroots) +BuildRequires: cmake +BuildRequires: pkgconfig(pam) BuildRequires: pkgconfig(luajit) BuildRequires: lua-lgi-compat BuildRequires: pkgconfig(wlroots-0.19) @@ -34,23 +35,44 @@ The goal is 100% compatibility with AwesomeWM's Lua configuration. %prep %autosetup -%build +%package devel +%pkg_devel_files + +%conf %meson -Dwerror=false + +%build %meson_build %install %meson_install +%post +%systemd_post somewm.service + +%preun +%systemd_preun somewm.service + +%postun +%systemd_postun_with_restart somewm.service + %files %doc README.md CHANGELOG.md %license LICENSE licenses/ %{_bindir}/%{name} %{_bindir}/%{name}-client +%{_bindir}/somewm-session %{_sysconfdir}/xdg/%{name}/rc.lua %{_datadir}/%{name}/ %{_datadir}/wayland-sessions/%{name}.desktop +%{_datadir}/xdg-desktop-portal/portals/somewm.portal %{_mandir}/man1/somewm.1.* +%{_userunitdir}/somewm-shutdown.target +%{_userunitdir}/somewm.service %changelog +* Sun May 10 2026 Owen Zimmerman +- Update spec for 1.4.1 + * Sun Jan 04 2026 Owen Zimmerman - Initial commit diff --git a/anda/stardust/armillary/nightly/anda.hcl b/anda/desktops/stardust/armillary/nightly/anda.hcl similarity index 100% rename from anda/stardust/armillary/nightly/anda.hcl rename to anda/desktops/stardust/armillary/nightly/anda.hcl diff --git a/anda/stardust/armillary/nightly/stardust-armillary-nightly.spec b/anda/desktops/stardust/armillary/nightly/stardust-armillary-nightly.spec similarity index 93% rename from anda/stardust/armillary/nightly/stardust-armillary-nightly.spec rename to anda/desktops/stardust/armillary/nightly/stardust-armillary-nightly.spec index bcbb9067a3..3c77b16321 100644 --- a/anda/stardust/armillary/nightly/stardust-armillary-nightly.spec +++ b/anda/desktops/stardust/armillary/nightly/stardust-armillary-nightly.spec @@ -1,12 +1,12 @@ -%global commit c278020dc78587e887f91377a882b50d0b009c50 -%global commit_date 20251130 +%global commit f6388f05209195818418fdd9db061000b0f007af +%global commit_date 20260320 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-armillary-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 2%?dist +Release: 1%{?dist} Summary: Model viewer for Stardust XR URL: https://github.com/StardustXR/armillary Source0: %url/archive/%commit/armillary-%commit.tar.gz diff --git a/anda/stardust/armillary/nightly/update.rhai b/anda/desktops/stardust/armillary/nightly/update.rhai similarity index 100% rename from anda/stardust/armillary/nightly/update.rhai rename to anda/desktops/stardust/armillary/nightly/update.rhai diff --git a/anda/stardust/armillary/stable/anda.hcl b/anda/desktops/stardust/armillary/stable/anda.hcl similarity index 100% rename from anda/stardust/armillary/stable/anda.hcl rename to anda/desktops/stardust/armillary/stable/anda.hcl diff --git a/anda/stardust/armillary/stable/stardust-armillary.spec b/anda/desktops/stardust/armillary/stable/stardust-armillary.spec similarity index 96% rename from anda/stardust/armillary/stable/stardust-armillary.spec rename to anda/desktops/stardust/armillary/stable/stardust-armillary.spec index 40a0f77787..25c8131443 100644 --- a/anda/stardust/armillary/stable/stardust-armillary.spec +++ b/anda/desktops/stardust/armillary/stable/stardust-armillary.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-armillary -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Model viewer for Stardust XR URL: https://github.com/StardustXR/armillary diff --git a/anda/stardust/armillary/stable/update.rhai b/anda/desktops/stardust/armillary/stable/update.rhai similarity index 100% rename from anda/stardust/armillary/stable/update.rhai rename to anda/desktops/stardust/armillary/stable/update.rhai diff --git a/anda/stardust/atmosphere/nightly/anda.hcl b/anda/desktops/stardust/atmosphere/nightly/anda.hcl similarity index 100% rename from anda/stardust/atmosphere/nightly/anda.hcl rename to anda/desktops/stardust/atmosphere/nightly/anda.hcl diff --git a/anda/stardust/atmosphere/nightly/stardust-atmosphere-nightly.spec b/anda/desktops/stardust/atmosphere/nightly/stardust-atmosphere-nightly.spec similarity index 91% rename from anda/stardust/atmosphere/nightly/stardust-atmosphere-nightly.spec rename to anda/desktops/stardust/atmosphere/nightly/stardust-atmosphere-nightly.spec index 24977dae6b..96242d0579 100644 --- a/anda/stardust/atmosphere/nightly/stardust-atmosphere-nightly.spec +++ b/anda/desktops/stardust/atmosphere/nightly/stardust-atmosphere-nightly.spec @@ -1,12 +1,12 @@ -%global commit 8b160f3bf5b477a2e1a3721b239cdfaef75de35a -%global commit_date 20260113 +%global commit 81927a7057f4f5aa1baab8dbb498e03c71e81eb5 +%global commit_date 20260323 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-atmosphere-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Environment, homespace, and setup client for Stardust XR URL: https://github.com/StardustXR/atmosphere Source0: %url/archive/%commit/atmosphere-%commit.tar.gz @@ -32,7 +32,7 @@ Packager: Owen Zimmerman %{cargo_license_online} > LICENSE.dependencies %files -%_bindir/stardust-xr-atmosphere +%_bindir/atmosphere %license LICENSE %license LICENSE.dependencies %doc README.md diff --git a/anda/stardust/atmosphere/nightly/update.rhai b/anda/desktops/stardust/atmosphere/nightly/update.rhai similarity index 100% rename from anda/stardust/atmosphere/nightly/update.rhai rename to anda/desktops/stardust/atmosphere/nightly/update.rhai diff --git a/anda/stardust/atmosphere/stable/anda.hcl b/anda/desktops/stardust/atmosphere/stable/anda.hcl similarity index 100% rename from anda/stardust/atmosphere/stable/anda.hcl rename to anda/desktops/stardust/atmosphere/stable/anda.hcl diff --git a/anda/stardust/atmosphere/stable/stardust-atmosphere.spec b/anda/desktops/stardust/atmosphere/stable/stardust-atmosphere.spec similarity index 95% rename from anda/stardust/atmosphere/stable/stardust-atmosphere.spec rename to anda/desktops/stardust/atmosphere/stable/stardust-atmosphere.spec index 76e8517b64..7be8eed3a4 100644 --- a/anda/stardust/atmosphere/stable/stardust-atmosphere.spec +++ b/anda/desktops/stardust/atmosphere/stable/stardust-atmosphere.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-atmosphere -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Environment, homespace, and setup client for Stardust XR URL: https://github.com/StardustXR/atmosphere @@ -29,7 +29,7 @@ Packager: Owen Zimmerman %{cargo_license_online} > LICENSE.dependencies %files -%_bindir/%{name} +%_bindir/atmosphere %license LICENSE %license LICENSE.dependencies %doc README.md diff --git a/anda/stardust/atmosphere/stable/update.rhai b/anda/desktops/stardust/atmosphere/stable/update.rhai similarity index 100% rename from anda/stardust/atmosphere/stable/update.rhai rename to anda/desktops/stardust/atmosphere/stable/update.rhai diff --git a/anda/stardust/black-hole/nightly/anda.hcl b/anda/desktops/stardust/black-hole/nightly/anda.hcl similarity index 100% rename from anda/stardust/black-hole/nightly/anda.hcl rename to anda/desktops/stardust/black-hole/nightly/anda.hcl diff --git a/anda/stardust/black-hole/nightly/stardust-black-hole-nightly.spec b/anda/desktops/stardust/black-hole/nightly/stardust-black-hole-nightly.spec similarity index 93% rename from anda/stardust/black-hole/nightly/stardust-black-hole-nightly.spec rename to anda/desktops/stardust/black-hole/nightly/stardust-black-hole-nightly.spec index 90b4684a9a..4279662c69 100644 --- a/anda/stardust/black-hole/nightly/stardust-black-hole-nightly.spec +++ b/anda/desktops/stardust/black-hole/nightly/stardust-black-hole-nightly.spec @@ -1,12 +1,12 @@ -%global commit 49fbf32f330b324c9b9d8582e80582378fc57e3c -%global commit_date 20260214 +%global commit e5b7778ed23b1e9b57e2292f16c9db10ca0eb1ad +%global commit_date 20260320 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-black-hole-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Spatial storage for Stardust XR URL: https://github.com/StardustXR/black-hole Source0: %url/archive/%commit/black-hole-%commit.tar.gz diff --git a/anda/stardust/black-hole/nightly/update.rhai b/anda/desktops/stardust/black-hole/nightly/update.rhai similarity index 100% rename from anda/stardust/black-hole/nightly/update.rhai rename to anda/desktops/stardust/black-hole/nightly/update.rhai diff --git a/anda/stardust/black-hole/stable/anda.hcl b/anda/desktops/stardust/black-hole/stable/anda.hcl similarity index 100% rename from anda/stardust/black-hole/stable/anda.hcl rename to anda/desktops/stardust/black-hole/stable/anda.hcl diff --git a/anda/stardust/black-hole/stable/stardust-black-hole.spec b/anda/desktops/stardust/black-hole/stable/stardust-black-hole.spec similarity index 96% rename from anda/stardust/black-hole/stable/stardust-black-hole.spec rename to anda/desktops/stardust/black-hole/stable/stardust-black-hole.spec index 58bb86df15..0ea1e7a133 100644 --- a/anda/stardust/black-hole/stable/stardust-black-hole.spec +++ b/anda/desktops/stardust/black-hole/stable/stardust-black-hole.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-black-hole -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Spatial storage for Stardust XR URL: https://github.com/StardustXR/black-hole diff --git a/anda/stardust/black-hole/stable/update.rhai b/anda/desktops/stardust/black-hole/stable/update.rhai similarity index 100% rename from anda/stardust/black-hole/stable/update.rhai rename to anda/desktops/stardust/black-hole/stable/update.rhai diff --git a/anda/stardust/comet/nightly/anda.hcl b/anda/desktops/stardust/comet/nightly/anda.hcl similarity index 100% rename from anda/stardust/comet/nightly/anda.hcl rename to anda/desktops/stardust/comet/nightly/anda.hcl diff --git a/anda/stardust/comet/nightly/stardust-comet-nightly.spec b/anda/desktops/stardust/comet/nightly/stardust-comet-nightly.spec similarity index 92% rename from anda/stardust/comet/nightly/stardust-comet-nightly.spec rename to anda/desktops/stardust/comet/nightly/stardust-comet-nightly.spec index 1fcde56574..21f52658cf 100644 --- a/anda/stardust/comet/nightly/stardust-comet-nightly.spec +++ b/anda/desktops/stardust/comet/nightly/stardust-comet-nightly.spec @@ -1,12 +1,12 @@ -%global commit 310fafa22ef1ae7c26d0ba83e0ae152de4d8afb5 -%global commit_date 20260203 +%global commit ff7b5cc92e80f685851626d27baa17e8f682e7af +%global commit_date 20260320 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-comet-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Annotate things in Stardust XR URL: https://github.com/StardustXR/comet Source0: %url/archive/%commit/comet-%commit.tar.gz diff --git a/anda/stardust/comet/nightly/update.rhai b/anda/desktops/stardust/comet/nightly/update.rhai similarity index 100% rename from anda/stardust/comet/nightly/update.rhai rename to anda/desktops/stardust/comet/nightly/update.rhai diff --git a/anda/stardust/comet/stable/anda.hcl b/anda/desktops/stardust/comet/stable/anda.hcl similarity index 100% rename from anda/stardust/comet/stable/anda.hcl rename to anda/desktops/stardust/comet/stable/anda.hcl diff --git a/anda/stardust/comet/stable/stardust-comet.spec b/anda/desktops/stardust/comet/stable/stardust-comet.spec similarity index 96% rename from anda/stardust/comet/stable/stardust-comet.spec rename to anda/desktops/stardust/comet/stable/stardust-comet.spec index ac53466247..c7124b4bcb 100644 --- a/anda/stardust/comet/stable/stardust-comet.spec +++ b/anda/desktops/stardust/comet/stable/stardust-comet.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-comet -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Annotate things in Stardust XR URL: https://github.com/StardustXR/comet diff --git a/anda/stardust/comet/stable/update.rhai b/anda/desktops/stardust/comet/stable/update.rhai similarity index 100% rename from anda/stardust/comet/stable/update.rhai rename to anda/desktops/stardust/comet/stable/update.rhai diff --git a/anda/stardust/flatland/nightly/anda.hcl b/anda/desktops/stardust/flatland/nightly/anda.hcl similarity index 100% rename from anda/stardust/flatland/nightly/anda.hcl rename to anda/desktops/stardust/flatland/nightly/anda.hcl diff --git a/anda/stardust/flatland/nightly/stardust-flatland-nightly.spec b/anda/desktops/stardust/flatland/nightly/stardust-flatland-nightly.spec similarity index 93% rename from anda/stardust/flatland/nightly/stardust-flatland-nightly.spec rename to anda/desktops/stardust/flatland/nightly/stardust-flatland-nightly.spec index ef975fabfb..d1b2c6d669 100644 --- a/anda/stardust/flatland/nightly/stardust-flatland-nightly.spec +++ b/anda/desktops/stardust/flatland/nightly/stardust-flatland-nightly.spec @@ -1,12 +1,12 @@ -%global commit 599c7b11eae996ae02a4706bd281bde19254dfd2 -%global commit_date 20260302 +%global commit a8694174290e02aaf454747e1232e4db0d7ef916 +%global commit_date 20260426 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-flatland-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Flatland for Stardust XR URL: https://github.com/StardustXR/flatland Source0: %url/archive/%commit/flatland-%commit.tar.gz diff --git a/anda/stardust/flatland/nightly/update.rhai b/anda/desktops/stardust/flatland/nightly/update.rhai similarity index 100% rename from anda/stardust/flatland/nightly/update.rhai rename to anda/desktops/stardust/flatland/nightly/update.rhai diff --git a/anda/stardust/flatland/stable/anda.hcl b/anda/desktops/stardust/flatland/stable/anda.hcl similarity index 100% rename from anda/stardust/flatland/stable/anda.hcl rename to anda/desktops/stardust/flatland/stable/anda.hcl diff --git a/anda/stardust/flatland/stable/stardust-flatland.spec b/anda/desktops/stardust/flatland/stable/stardust-flatland.spec similarity index 97% rename from anda/stardust/flatland/stable/stardust-flatland.spec rename to anda/desktops/stardust/flatland/stable/stardust-flatland.spec index 04f410a5bb..f6befdff86 100644 --- a/anda/stardust/flatland/stable/stardust-flatland.spec +++ b/anda/desktops/stardust/flatland/stable/stardust-flatland.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-flatland -Version: 0.50.1 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Flatland for Stardust XR URL: https://github.com/StardustXR/flatland diff --git a/anda/stardust/flatland/stable/update.rhai b/anda/desktops/stardust/flatland/stable/update.rhai similarity index 100% rename from anda/stardust/flatland/stable/update.rhai rename to anda/desktops/stardust/flatland/stable/update.rhai diff --git a/anda/stardust/gravity/nightly/anda.hcl b/anda/desktops/stardust/gravity/nightly/anda.hcl similarity index 100% rename from anda/stardust/gravity/nightly/anda.hcl rename to anda/desktops/stardust/gravity/nightly/anda.hcl diff --git a/anda/stardust/gravity/nightly/stardust-gravity-nightly.spec b/anda/desktops/stardust/gravity/nightly/stardust-gravity-nightly.spec similarity index 93% rename from anda/stardust/gravity/nightly/stardust-gravity-nightly.spec rename to anda/desktops/stardust/gravity/nightly/stardust-gravity-nightly.spec index a0ba49adc6..37dbcbacbd 100644 --- a/anda/stardust/gravity/nightly/stardust-gravity-nightly.spec +++ b/anda/desktops/stardust/gravity/nightly/stardust-gravity-nightly.spec @@ -1,12 +1,12 @@ -%global commit 3283bf8b352cdcb04ef3e0edb5155c4ca8c5c97c -%global commit_date 20251130 +%global commit adca3464f3dc95b773c6c7b36b4c87d71b65f741 +%global commit_date 20260320 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-gravity-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 2%?dist +Release: 1%{?dist} Summary: Utility to launch apps and Stardust XR clients spatially URL: https://github.com/StardustXR/gravity Source0: %url/archive/%commit/gravity-%commit.tar.gz diff --git a/anda/stardust/gravity/nightly/update.rhai b/anda/desktops/stardust/gravity/nightly/update.rhai similarity index 100% rename from anda/stardust/gravity/nightly/update.rhai rename to anda/desktops/stardust/gravity/nightly/update.rhai diff --git a/anda/stardust/gravity/stable/anda.hcl b/anda/desktops/stardust/gravity/stable/anda.hcl similarity index 100% rename from anda/stardust/gravity/stable/anda.hcl rename to anda/desktops/stardust/gravity/stable/anda.hcl diff --git a/anda/stardust/gravity/stable/stardust-gravity.spec b/anda/desktops/stardust/gravity/stable/stardust-gravity.spec similarity index 96% rename from anda/stardust/gravity/stable/stardust-gravity.spec rename to anda/desktops/stardust/gravity/stable/stardust-gravity.spec index 956e8d9116..957f13d2c3 100644 --- a/anda/stardust/gravity/stable/stardust-gravity.spec +++ b/anda/desktops/stardust/gravity/stable/stardust-gravity.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-gravity -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Utility to launch apps and Stardust XR clients spatially URL: https://github.com/StardustXR/gravity diff --git a/anda/stardust/gravity/stable/update.rhai b/anda/desktops/stardust/gravity/stable/update.rhai similarity index 100% rename from anda/stardust/gravity/stable/update.rhai rename to anda/desktops/stardust/gravity/stable/update.rhai diff --git a/anda/stardust/magnetar/anda.hcl b/anda/desktops/stardust/magnetar/anda.hcl similarity index 100% rename from anda/stardust/magnetar/anda.hcl rename to anda/desktops/stardust/magnetar/anda.hcl diff --git a/anda/stardust/magnetar/stardust-magnetar.spec b/anda/desktops/stardust/magnetar/stardust-magnetar.spec similarity index 100% rename from anda/stardust/magnetar/stardust-magnetar.spec rename to anda/desktops/stardust/magnetar/stardust-magnetar.spec diff --git a/anda/stardust/magnetar/update.rhai b/anda/desktops/stardust/magnetar/update.rhai similarity index 100% rename from anda/stardust/magnetar/update.rhai rename to anda/desktops/stardust/magnetar/update.rhai diff --git a/anda/stardust/non-spatial-input/nightly/anda.hcl b/anda/desktops/stardust/non-spatial-input/nightly/anda.hcl similarity index 100% rename from anda/stardust/non-spatial-input/nightly/anda.hcl rename to anda/desktops/stardust/non-spatial-input/nightly/anda.hcl diff --git a/anda/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 similarity index 94% rename from anda/stardust/non-spatial-input/nightly/stardust-non-spatial-input-nightly.spec rename to anda/desktops/stardust/non-spatial-input/nightly/stardust-non-spatial-input-nightly.spec index 3c22fa9b63..ee0b8cb2e0 100644 --- a/anda/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,12 +1,12 @@ -%global commit 3a586815e1c057580674c147e27c3a4909b3b4c6 -%global commit_date 20251130 +%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/.*$ Name: stardust-xr-non-spatial-input-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 2%?dist +Release: 1%{?dist} Summary: Tools you can easily snap together to get non-spatial input into Stardust XR URL: https://github.com/StardustXR/non-spatial-input Source0: %url/archive/%commit/non-spatial-input-%commit.tar.gz diff --git a/anda/stardust/non-spatial-input/nightly/update.rhai b/anda/desktops/stardust/non-spatial-input/nightly/update.rhai similarity index 100% rename from anda/stardust/non-spatial-input/nightly/update.rhai rename to anda/desktops/stardust/non-spatial-input/nightly/update.rhai diff --git a/anda/stardust/non-spatial-input/stable/anda.hcl b/anda/desktops/stardust/non-spatial-input/stable/anda.hcl similarity index 100% rename from anda/stardust/non-spatial-input/stable/anda.hcl rename to anda/desktops/stardust/non-spatial-input/stable/anda.hcl diff --git a/anda/stardust/non-spatial-input/stable/stardust-non-spatial-input.spec b/anda/desktops/stardust/non-spatial-input/stable/stardust-non-spatial-input.spec similarity index 97% rename from anda/stardust/non-spatial-input/stable/stardust-non-spatial-input.spec rename to anda/desktops/stardust/non-spatial-input/stable/stardust-non-spatial-input.spec index 6dae7b699b..4256a30d11 100644 --- a/anda/stardust/non-spatial-input/stable/stardust-non-spatial-input.spec +++ b/anda/desktops/stardust/non-spatial-input/stable/stardust-non-spatial-input.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-non-spatial-input -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Tools you can easily snap together to get non-spatial input into Stardust XR URL: https://github.com/StardustXR/non-spatial-input diff --git a/anda/stardust/non-spatial-input/stable/update.rhai b/anda/desktops/stardust/non-spatial-input/stable/update.rhai similarity index 100% rename from anda/stardust/non-spatial-input/stable/update.rhai rename to anda/desktops/stardust/non-spatial-input/stable/update.rhai diff --git a/anda/stardust/protostar/nightly/anda.hcl b/anda/desktops/stardust/protostar/nightly/anda.hcl similarity index 100% rename from anda/stardust/protostar/nightly/anda.hcl rename to anda/desktops/stardust/protostar/nightly/anda.hcl diff --git a/anda/stardust/protostar/nightly/stardust-protostar-nightly.spec b/anda/desktops/stardust/protostar/nightly/stardust-protostar-nightly.spec similarity index 94% rename from anda/stardust/protostar/nightly/stardust-protostar-nightly.spec rename to anda/desktops/stardust/protostar/nightly/stardust-protostar-nightly.spec index 27c9fbb783..e01966c4d4 100644 --- a/anda/stardust/protostar/nightly/stardust-protostar-nightly.spec +++ b/anda/desktops/stardust/protostar/nightly/stardust-protostar-nightly.spec @@ -1,12 +1,12 @@ -%global commit a12484d1e1c32866394fe6d8d92bd848f51624ac -%global commit_date 20260302 +%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/.*$ Name: stardust-xr-protostar-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Prototype application launcher for Stardust XR URL: https://github.com/StardustXR/protostar Source0: %url/archive/%commit/protostar-%commit.tar.gz diff --git a/anda/stardust/protostar/nightly/update.rhai b/anda/desktops/stardust/protostar/nightly/update.rhai similarity index 100% rename from anda/stardust/protostar/nightly/update.rhai rename to anda/desktops/stardust/protostar/nightly/update.rhai diff --git a/anda/stardust/protostar/stable/anda.hcl b/anda/desktops/stardust/protostar/stable/anda.hcl similarity index 100% rename from anda/stardust/protostar/stable/anda.hcl rename to anda/desktops/stardust/protostar/stable/anda.hcl diff --git a/anda/stardust/protostar/stable/stardust-protostar.spec b/anda/desktops/stardust/protostar/stable/stardust-protostar.spec similarity index 97% rename from anda/stardust/protostar/stable/stardust-protostar.spec rename to anda/desktops/stardust/protostar/stable/stardust-protostar.spec index a148c22b03..726945aa74 100644 --- a/anda/stardust/protostar/stable/stardust-protostar.spec +++ b/anda/desktops/stardust/protostar/stable/stardust-protostar.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-protostar -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Prototype application launcher for Stardust XR URL: https://github.com/StardustXR/protostar diff --git a/anda/stardust/protostar/stable/update.rhai b/anda/desktops/stardust/protostar/stable/update.rhai similarity index 100% rename from anda/stardust/protostar/stable/update.rhai rename to anda/desktops/stardust/protostar/stable/update.rhai diff --git a/anda/stardust/server/nightly/anda.hcl b/anda/desktops/stardust/server/nightly/anda.hcl similarity index 100% rename from anda/stardust/server/nightly/anda.hcl rename to anda/desktops/stardust/server/nightly/anda.hcl diff --git a/anda/stardust/server/nightly/stardust-server-nightly.spec b/anda/desktops/stardust/server/nightly/stardust-server-nightly.spec similarity index 95% rename from anda/stardust/server/nightly/stardust-server-nightly.spec rename to anda/desktops/stardust/server/nightly/stardust-server-nightly.spec index 19b99243c6..fd37192095 100644 --- a/anda/stardust/server/nightly/stardust-server-nightly.spec +++ b/anda/desktops/stardust/server/nightly/stardust-server-nightly.spec @@ -1,12 +1,12 @@ -%global commit 0159ab1086c70ea3090f74bfd64936c6c2769742 -%global commit_date 20260225 +%global commit 08092c3376e809190b349083497fb8c96c637c82 +%global commit_date 20260429 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-server-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Usable Linux display server that reinvents human-computer interaction for all kinds of XR URL: https://github.com/StardustXR/server Source0: %url/archive/%commit/server-%commit.tar.gz diff --git a/anda/stardust/server/nightly/update.rhai b/anda/desktops/stardust/server/nightly/update.rhai similarity index 100% rename from anda/stardust/server/nightly/update.rhai rename to anda/desktops/stardust/server/nightly/update.rhai diff --git a/anda/stardust/server/stable/anda.hcl b/anda/desktops/stardust/server/stable/anda.hcl similarity index 100% rename from anda/stardust/server/stable/anda.hcl rename to anda/desktops/stardust/server/stable/anda.hcl diff --git a/anda/stardust/server/stable/stardust-server.spec b/anda/desktops/stardust/server/stable/stardust-server.spec similarity index 98% rename from anda/stardust/server/stable/stardust-server.spec rename to anda/desktops/stardust/server/stable/stardust-server.spec index e2e767bdbb..40df6f0957 100644 --- a/anda/stardust/server/stable/stardust-server.spec +++ b/anda/desktops/stardust/server/stable/stardust-server.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-server -Version: 0.50.3 -Release: 1%?dist +Version: 0.51.1 +Release: 1%{?dist} Epoch: 1 Summary: Usable Linux display server that reinvents human-computer interaction for all kinds of XR URL: https://github.com/StardustXR/server diff --git a/anda/stardust/server/stable/update.rhai b/anda/desktops/stardust/server/stable/update.rhai similarity index 100% rename from anda/stardust/server/stable/update.rhai rename to anda/desktops/stardust/server/stable/update.rhai diff --git a/anda/stardust/solar-sailer/nightly/anda.hcl b/anda/desktops/stardust/solar-sailer/nightly/anda.hcl similarity index 100% rename from anda/stardust/solar-sailer/nightly/anda.hcl rename to anda/desktops/stardust/solar-sailer/nightly/anda.hcl diff --git a/anda/stardust/solar-sailer/nightly/stardust-solar-sailer-nightly.spec b/anda/desktops/stardust/solar-sailer/nightly/stardust-solar-sailer-nightly.spec similarity index 94% rename from anda/stardust/solar-sailer/nightly/stardust-solar-sailer-nightly.spec rename to anda/desktops/stardust/solar-sailer/nightly/stardust-solar-sailer-nightly.spec index 251068f9cd..a3e7260c3b 100644 --- a/anda/stardust/solar-sailer/nightly/stardust-solar-sailer-nightly.spec +++ b/anda/desktops/stardust/solar-sailer/nightly/stardust-solar-sailer-nightly.spec @@ -1,5 +1,5 @@ -%global commit 590cbc13b143ff189efc9aaf99002e843f820392 -%global commit_date 20260302 +%global commit e0b27dda48f204883c52ecb3e1f436e31200f6e5 +%global commit_date 20260320 %global shortcommit %(c=%{commit}; echo ${c:0:7}) # Exclude input files from mangling @@ -7,7 +7,7 @@ Name: stardust-xr-solar-sailer-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Glide through space! This play space mover allows you to fly by dragging the space with momentum! URL: https://github.com/StardustXR/solar-sailer Source0: %url/archive/%commit.tar.gz diff --git a/anda/stardust/solar-sailer/nightly/update.rhai b/anda/desktops/stardust/solar-sailer/nightly/update.rhai similarity index 100% rename from anda/stardust/solar-sailer/nightly/update.rhai rename to anda/desktops/stardust/solar-sailer/nightly/update.rhai diff --git a/anda/stardust/solar-sailer/stable/anda.hcl b/anda/desktops/stardust/solar-sailer/stable/anda.hcl similarity index 100% rename from anda/stardust/solar-sailer/stable/anda.hcl rename to anda/desktops/stardust/solar-sailer/stable/anda.hcl diff --git a/anda/stardust/solar-sailer/stable/stardust-solar-sailer.spec b/anda/desktops/stardust/solar-sailer/stable/stardust-solar-sailer.spec similarity index 97% rename from anda/stardust/solar-sailer/stable/stardust-solar-sailer.spec rename to anda/desktops/stardust/solar-sailer/stable/stardust-solar-sailer.spec index 247bbdbb55..5d20e0584a 100644 --- a/anda/stardust/solar-sailer/stable/stardust-solar-sailer.spec +++ b/anda/desktops/stardust/solar-sailer/stable/stardust-solar-sailer.spec @@ -2,8 +2,8 @@ %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ Name: stardust-xr-solar-sailer -Version: 0.50.0 -Release: 2%?dist +Version: 0.51.1 +Release: 1%{?dist} Summary: Glide through space! This play space mover allows you to fly by dragging the space with momentum! URL: https://github.com/StardustXR/solar-sailer Source0: %url/archive/refs/tags/%version.tar.gz diff --git a/anda/stardust/solar-sailer/stable/update.rhai b/anda/desktops/stardust/solar-sailer/stable/update.rhai similarity index 100% rename from anda/stardust/solar-sailer/stable/update.rhai rename to anda/desktops/stardust/solar-sailer/stable/update.rhai diff --git a/anda/stardust/telescope/nightly/anda.hcl b/anda/desktops/stardust/telescope/nightly/anda.hcl similarity index 100% rename from anda/stardust/telescope/nightly/anda.hcl rename to anda/desktops/stardust/telescope/nightly/anda.hcl diff --git a/anda/stardust/telescope/nightly/libexec.patch b/anda/desktops/stardust/telescope/nightly/libexec.patch similarity index 100% rename from anda/stardust/telescope/nightly/libexec.patch rename to anda/desktops/stardust/telescope/nightly/libexec.patch diff --git a/anda/stardust/telescope/nightly/stardust-telescope-nightly.spec b/anda/desktops/stardust/telescope/nightly/stardust-telescope-nightly.spec similarity index 92% rename from anda/stardust/telescope/nightly/stardust-telescope-nightly.spec rename to anda/desktops/stardust/telescope/nightly/stardust-telescope-nightly.spec index dadd42d2ec..6b47023a04 100644 --- a/anda/stardust/telescope/nightly/stardust-telescope-nightly.spec +++ b/anda/desktops/stardust/telescope/nightly/stardust-telescope-nightly.spec @@ -1,10 +1,10 @@ -%global commit 3f6bbbb6bfaf28da8e3635a67a7d9502ae7a7b11 -%global commit_date 20260104 +%global commit 7cc4ad218557200e7cef53da48dc62ff9d0571ca +%global commit_date 20260318 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: stardust-xr-telescope-nightly Version: 0~%{commit_date}git.%{shortcommit} -Release: 2%?dist +Release: 1%{?dist} Summary: See the stars! Easy stardust setups to run on your computer License: MIT URL: https://github.com/StardustXR/telescope @@ -19,7 +19,7 @@ Requires: stardust-xr-black-hole-nightly Requires: stardust-xr-comet-nightly Requires: stardust-xr-flatland-nightly Requires: stardust-xr-gravity-nightly -Requires: stardust-xr-magnetar-nightly +Requires: stardust-xr-magnetar Requires: stardust-xr-non-spatial-input-nightly Requires: stardust-xr-protostar-nightly Requires: stardust-xr-server-nightly diff --git a/anda/stardust/telescope/nightly/update.rhai b/anda/desktops/stardust/telescope/nightly/update.rhai similarity index 100% rename from anda/stardust/telescope/nightly/update.rhai rename to anda/desktops/stardust/telescope/nightly/update.rhai diff --git a/anda/stardust/telescope/stable/anda.hcl b/anda/desktops/stardust/telescope/stable/anda.hcl similarity index 100% rename from anda/stardust/telescope/stable/anda.hcl rename to anda/desktops/stardust/telescope/stable/anda.hcl diff --git a/anda/stardust/telescope/stable/libexec.patch b/anda/desktops/stardust/telescope/stable/libexec.patch similarity index 100% rename from anda/stardust/telescope/stable/libexec.patch rename to anda/desktops/stardust/telescope/stable/libexec.patch diff --git a/anda/stardust/telescope/stable/stardust-telescope.spec b/anda/desktops/stardust/telescope/stable/stardust-telescope.spec similarity index 97% rename from anda/stardust/telescope/stable/stardust-telescope.spec rename to anda/desktops/stardust/telescope/stable/stardust-telescope.spec index 45663d8c25..d68b57651e 100644 --- a/anda/stardust/telescope/stable/stardust-telescope.spec +++ b/anda/desktops/stardust/telescope/stable/stardust-telescope.spec @@ -1,6 +1,6 @@ Name: stardust-xr-telescope -Version: 0.50.3 -Release: 2%?dist +Version: 0.51.0 +Release: 1%{?dist} Epoch: 1 Summary: See the stars! Easy stardust setups to run on your computer License: MIT diff --git a/anda/stardust/telescope/stable/update.rhai b/anda/desktops/stardust/telescope/stable/update.rhai similarity index 100% rename from anda/stardust/telescope/stable/update.rhai rename to anda/desktops/stardust/telescope/stable/update.rhai diff --git a/anda/desktops/sway/nwg-look/nwg-look.spec b/anda/desktops/sway/nwg-look/nwg-look.spec index cd594cd2d8..7f46c4ef6c 100644 --- a/anda/desktops/sway/nwg-look/nwg-look.spec +++ b/anda/desktops/sway/nwg-look/nwg-look.spec @@ -1,12 +1,12 @@ %dnl %define debug_package %{nil} %global goipath github.com/nwg-piotr/nwg-look -Version: 1.0.6 +Version: 1.1.1 %gometa -f Name: nwg-look -Release: 1%?dist +Release: 1%{?dist} Summary: GTK3 settings editor adapted to work in the wlroots environment License: MIT diff --git a/anda/desktops/sway/swayosd/swayosd.spec b/anda/desktops/sway/swayosd/swayosd.spec index 8702c7b61a..f2bd57d0f7 100644 --- a/anda/desktops/sway/swayosd/swayosd.spec +++ b/anda/desktops/sway/swayosd/swayosd.spec @@ -1,6 +1,6 @@ Name: SwayOSD -Version: 0.3.0 -Release: 1%?dist +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 URL: https://github.com/ErikReider/SwayOSD diff --git a/anda/desktops/swayfx/swayfx.spec b/anda/desktops/swayfx/swayfx.spec index 1fb8767b37..5f2b248b52 100644 --- a/anda/desktops/swayfx/swayfx.spec +++ b/anda/desktops/swayfx/swayfx.spec @@ -1,4 +1,4 @@ -%global swayVersion 1.11 +%global swayVersion 1.12 Name: swayfx Version: 0.5.2 diff --git a/anda/desktops/swayfx/update.rhai b/anda/desktops/swayfx/update.rhai index 86957d3c78..21a9ca66e5 100644 --- a/anda/desktops/swayfx/update.rhai +++ b/anda/desktops/swayfx/update.rhai @@ -1 +1,3 @@ -rpm.version(gh("willPower3309/swayfx")); \ No newline at end of file +rpm.version(gh("willPower3309/swayfx")); + +rpm.global("swayVersion", gh("swaywm/sway")); diff --git a/anda/desktops/waylands/awww/anda.hcl b/anda/desktops/waylands/awww/anda.hcl new file mode 100644 index 0000000000..2b91018274 --- /dev/null +++ b/anda/desktops/waylands/awww/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "awww.spec" + } +} diff --git a/anda/desktops/waylands/swww/swww.spec b/anda/desktops/waylands/awww/awww.spec similarity index 69% rename from anda/desktops/waylands/swww/swww.spec rename to anda/desktops/waylands/awww/awww.spec index 5eeb6cd0b1..5214e74da7 100644 --- a/anda/desktops/waylands/swww/swww.spec +++ b/anda/desktops/waylands/awww/awww.spec @@ -1,11 +1,11 @@ -Name: swww -Version: 0.11.2 -Release: 1%?dist +Name: awww +Version: 0.12.1 +Release: 2%?dist Summary: Wallpaper daemon for Wayland SourceLicense: GPL-3.0-only License: (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) -URL: https://github.com/LGFae/swww -Source0: %url/archive/refs/tags/v%version.tar.gz +URL: https://codeberg.org/LGFae/awww +Source0: %url/archive/v%version.tar.gz Packager: madonuko BuildRequires: anda-srpm-macros rust-packaging rpm_macro(bash_completions_dir) mold BuildRequires: scdoc @@ -15,8 +15,10 @@ BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-protocols) +Obsoletes: swww < %{evr} + %description -swww is a wallpaper daemon for Wayland that is controlled +awww is a wallpaper daemon for Wayland that is controlled at runtime. It uses LZ4 compression for frame animations for animated wallpapers. @@ -50,7 +52,7 @@ BuildArch: noarch Zsh command-line completion support for %{name}. %prep -%autosetup +%autosetup -n %{name} %cargo_prep_online %build @@ -62,34 +64,30 @@ Zsh command-line completion support for %{name}. (cd client && %{cargo_install}) & (cd daemon && %{cargo_install}) & wait -install -Dm644 -T completions/swww.bash %buildroot%bash_completions_dir/swww -install -Dm644 -T completions/swww.fish %buildroot%fish_completions_dir/swww.fish -install -Dm644 -T completions/_swww %buildroot%zsh_completions_dir/_swww -install -Dm644 -t %buildroot%_mandir/man1 doc/generated/swww*1 +install -Dm644 -T completions/awww.bash %buildroot%bash_completions_dir/awww +install -Dm644 -T completions/awww.fish %buildroot%fish_completions_dir/awww.fish +install -Dm644 -T completions/_awww %buildroot%zsh_completions_dir/_awww +install -Dm644 -t %buildroot%_mandir/man1 doc/generated/awww*1 %files %doc CHANGELOG.md README.md %license LICENSE LICENSE.dependencies -%_bindir/swww -%_bindir/swww-daemon -%_mandir/man1/%name-clear-cache.1.gz -%_mandir/man1/%name-clear.1.gz -%_mandir/man1/%name-daemon.1.gz -%_mandir/man1/%name-img.1.gz -%_mandir/man1/%name-kill.1.gz -%_mandir/man1/%name-query.1.gz -%_mandir/man1/%name-restore.1.gz -%_mandir/man1/%name.1.gz +%{_bindir}/awww +%{_bindir}/awww-daemon +%{_mandir}/man1/%name.1.gz +%{_mandir}/man1/%name-*.1.gz %files bash-completion -%bash_completions_dir/swww +%bash_completions_dir/awww %files fish-completion -%fish_completions_dir/swww.fish +%fish_completions_dir/awww.fish %files zsh-completion -%zsh_completions_dir/_swww +%zsh_completions_dir/_awww %changelog +* Sat May 09 2026 - 0.12.1-1 +- replace swww with awww * Tue Dec 24 2024 madonuko - 0.9.5-1 - Initial package diff --git a/anda/desktops/waylands/awww/update.rhai b/anda/desktops/waylands/awww/update.rhai new file mode 100644 index 0000000000..de1371518f --- /dev/null +++ b/anda/desktops/waylands/awww/update.rhai @@ -0,0 +1 @@ +rpm.version(codeberg("LGFae/awww")); diff --git a/anda/desktops/waylands/eww/eww.spec b/anda/desktops/waylands/eww/eww.spec index 1a8d9634df..6928e6078b 100644 --- a/anda/desktops/waylands/eww/eww.spec +++ b/anda/desktops/waylands/eww/eww.spec @@ -1,13 +1,13 @@ # Generated by rust2rpm 27 -%global commit fddb4a09b107237819e661151e007b99b5cab36d +%global commit 865cf631d5bbb5f9fccc99b3f4cc80b9eeada18c %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20250630 +%global commit_date 20260305 %global ver v0.6.0 %bcond check 0 Name: eww Version: %ver^%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Widgets for everyone! SourceLicense: MIT diff --git a/anda/desktops/waylands/mangobar/anda.hcl b/anda/desktops/waylands/mangobar/anda.hcl new file mode 100644 index 0000000000..90be7645da --- /dev/null +++ b/anda/desktops/waylands/mangobar/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "mangobar.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/desktops/waylands/mangobar/mangobar.spec b/anda/desktops/waylands/mangobar/mangobar.spec new file mode 100644 index 0000000000..ca6c69d62a --- /dev/null +++ b/anda/desktops/waylands/mangobar/mangobar.spec @@ -0,0 +1,50 @@ +%global commit c0138d9067d6a779c753aa7da72ce85d44f528da +%global commit_date 20260527 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: mangobar +Version: 0~%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: A suckless-esc bar for mangowc +URL: https://github.com/Gur0v/mangobar +Source0: %{url}/archive/%{commit}/mangobar-%{commit}.tar.gz +SourceLicense: GPL-3.0-or-later +License: %{sourcelicense} AND (Apache-2.0 OR MIT) AND MIT AND GPL-3.0 AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (Unlicense OR MIT) + +BuildRequires: rust +BuildRequires: cargo-rpm-macros +BuildRequires: gtk4 +BuildRequires: gtk4-devel +BuildRequires: gtk4-layer-shell +BuildRequires: gtk4-layer-shell-devel +BuildRequires: gdk-pixbuf2 +BuildRequires: gdk-pixbuf2-devel +BuildRequires: wireplumber + +Suggests: mangowm +Packager: Its-J + +%description +%{summary}. + +%prep +%autosetup -n mangobar-%{commit} +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm 755 target/rpm/mangobar %{buildroot}%{_bindir}/mangobar +%cargo_license_summary_online +%{cargo_license_online} > LICENSE.dependencies + +%files +%{_bindir}/mangobar +%license LICENSE +%license LICENSE.dependencies +%doc README.md + +%changelog +* Sat May 23 2026 Its-J +- Package mangobar diff --git a/anda/desktops/waylands/mangobar/update.rhai b/anda/desktops/waylands/mangobar/update.rhai new file mode 100644 index 0000000000..864ae82f8b --- /dev/null +++ b/anda/desktops/waylands/mangobar/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("Gur0v/mangobar")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/desktops/waylands/matugen/rust-matugen.spec b/anda/desktops/waylands/matugen/rust-matugen.spec index d106b289bf..7f08476a90 100644 --- a/anda/desktops/waylands/matugen/rust-matugen.spec +++ b/anda/desktops/waylands/matugen/rust-matugen.spec @@ -2,13 +2,13 @@ %global crate matugen Name: rust-matugen -Version: 4.0.0 -Release: 1%?dist +Version: 4.1.0 +Release: 1%{?dist} 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/sway-audio-idle-inhibit/sway-audio-idle-inhibit.spec b/anda/desktops/waylands/sway-audio-idle-inhibit/sway-audio-idle-inhibit.spec index c33d4645fd..cd2b269a99 100644 --- a/anda/desktops/waylands/sway-audio-idle-inhibit/sway-audio-idle-inhibit.spec +++ b/anda/desktops/waylands/sway-audio-idle-inhibit/sway-audio-idle-inhibit.spec @@ -15,8 +15,10 @@ BuildRequires: pkgconfig(libsystemd) %prep %autosetup -n SwayAudioIdleInhibit-%version -%build +%conf %meson -Dlogind-provider=systemd + +%build %meson_build %install diff --git a/anda/desktops/waylands/swaylock-effects/swaylock-effects.spec b/anda/desktops/waylands/swaylock-effects/swaylock-effects.spec index e159f77edf..d4bd582c65 100644 --- a/anda/desktops/waylands/swaylock-effects/swaylock-effects.spec +++ b/anda/desktops/waylands/swaylock-effects/swaylock-effects.spec @@ -30,23 +30,20 @@ Conflicts: swaylock %description swaylock-effects is a fork of swaylock which adds built-in screenshots and image manipulation effects like blurring. - %pkg_completion -Bfz %binary_name - %prep %autosetup -n %{name}-%{commit} +%conf +%meson %build -%meson %meson_build - %install %meson_install - %files %license LICENSE %doc README.md @@ -54,7 +51,6 @@ swaylock-effects is a fork of swaylock which adds built-in screenshots and image %{_mandir}/man1/%{binary_name}.1.gz %config(noreplace) %{_sysconfdir}/pam.d/%{binary_name} - %changelog * Tue Feb 04 2025 sadlerm - Initial package diff --git a/anda/desktops/waylands/swww/update.rhai b/anda/desktops/waylands/swww/update.rhai deleted file mode 100644 index da227c1d0a..0000000000 --- a/anda/desktops/waylands/swww/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("LGFae/swww")); diff --git a/anda/desktops/waylands/vibepanel/anda.hcl b/anda/desktops/waylands/vibepanel/anda.hcl new file mode 100644 index 0000000000..416d24f2bc --- /dev/null +++ b/anda/desktops/waylands/vibepanel/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "vibepanel.spec" + } +} diff --git a/anda/desktops/waylands/vibepanel/update.rhai b/anda/desktops/waylands/vibepanel/update.rhai new file mode 100644 index 0000000000..5562243d33 --- /dev/null +++ b/anda/desktops/waylands/vibepanel/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("prankstr/vibepanel")); diff --git a/anda/desktops/waylands/vibepanel/vibepanel.spec b/anda/desktops/waylands/vibepanel/vibepanel.spec new file mode 100644 index 0000000000..6b11bf2b65 --- /dev/null +++ b/anda/desktops/waylands/vibepanel/vibepanel.spec @@ -0,0 +1,52 @@ +Name: vibepanel +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 +SourceLicense: MIT +License: %{sourcelicense} AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (0BSD OR MIT OR Apache-2.0) 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 AND Apache-2.0 AND ISC AND (BSD-3-Clause OR Apache-2.0) AND ISC AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (Unlicense OR MIT) + +BuildRequires: rust +BuildRequires: cargo-rpm-macros +BuildRequires: gcc +BuildRequires: gtk4-devel +BuildRequires: gtk4-layer-shell-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: systemd-devel +BuildRequires: dbus-devel + +Requires: gtk4 +Requires: gtk4-layer-shell +Requires: pulseaudio-libs +Requires: upower +Requires: NetworkManager +Requires: bluez + +Recommends: power-profiles-daemon + +Packager: Its-J + +%description +%{summary}. + +%prep +%autosetup -n vibepanel-%{version} +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm 755 target/rpm/vibepanel %{buildroot}%{_bindir}/vibepanel +%{cargo_license_online} > LICENSE.dependencies + +%files +%{_bindir}/vibepanel +%license LICENSE +%license LICENSE.dependencies +%doc README.md + +%changelog +* Sat May 23 2026 Its-J +- Package vibepanel diff --git a/anda/desktops/waylands/walker/walker.spec b/anda/desktops/waylands/walker/walker.spec index 84082610d6..9f7167f839 100644 --- a/anda/desktops/waylands/walker/walker.spec +++ b/anda/desktops/waylands/walker/walker.spec @@ -4,7 +4,7 @@ # prevent library files from being installed %global cargo_install_lib 0 -%global upstream_version v2.14.2 +%global upstream_version v2.16.2 %global ver %{sub %upstream_version 2} Name: walker 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/desktops/waypaper/waypaper.spec b/anda/desktops/waypaper/waypaper.spec index 2b6b047d72..9620b83659 100644 --- a/anda/desktops/waypaper/waypaper.spec +++ b/anda/desktops/waypaper/waypaper.spec @@ -4,8 +4,8 @@ %define _python_dist_allow_version_zero 1 Name: python-%{pypi_name} -Version: 2.7 -Release: 1%?dist +Version: 2.8 +Release: 1%{?dist} Summary: GUI wallpaper manager for Wayland and Xorg Linux systems License: GPL-3.0-only URL: https://github.com/anufrievroman/waypaper diff --git a/anda/devs/android-studio/canary/android-studio-canary.spec b/anda/devs/android-studio/canary/android-studio-canary.spec index ce118c5bc6..668774dd96 100644 --- a/anda/devs/android-studio/canary/android-studio-canary.spec +++ b/anda/devs/android-studio/canary/android-studio-canary.spec @@ -16,15 +16,15 @@ %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: 2025.3.3.2 -Release: 1%?dist +Version: 2026.1.3.2 +Release: 1%{?dist} Summary: Official IDE for Android development (Canary build) License: Apache-2.0 Packager: veuxit ExclusiveArch: x86_64 URL: https://developer.android.com/studio/preview -%define suffixS panda3-canary2 +%define suffixS quail3-canary2 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 e6a9457e42..3f5ad6e516 100644 --- a/anda/devs/android-studio/stable/android-studio.spec +++ b/anda/devs/android-studio/stable/android-studio.spec @@ -16,15 +16,15 @@ %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.2.6 -Release: 1%?dist +Version: 2026.1.1.10 +Release: 1%{?dist} Summary: Official IDE for Android development License: Apache-2.0 Packager: veuxit , like-engels ExclusiveArch: x86_64 URL: https://developer.android.com/studio -%define suffixS panda2 +%define suffixS quail1-patch2 Source0: https://dl.google.com/dl/android/studio/ide-zips/%{version}/android-studio-%{suffixS}-linux.tar.gz diff --git a/anda/devs/asar/asar.spec b/anda/devs/asar/asar.spec index bd4143cd8b..2064b61085 100644 --- a/anda/devs/asar/asar.spec +++ b/anda/devs/asar/asar.spec @@ -7,8 +7,8 @@ %global __provides_exclude_from %{_datadir}/%{name}/.*\\.so Name: asar -Version: 4.0.1 -Release: 1%?dist +Version: 4.2.0 +Release: 1%{?dist} Summary: Simple extensive tar-like archive format with indexing License: MIT URL: https://github.com/electron/asar diff --git a/anda/devs/asdf/asdf.spec b/anda/devs/asdf/asdf.spec index 2185fbc043..30e9053806 100644 --- a/anda/devs/asdf/asdf.spec +++ b/anda/devs/asdf/asdf.spec @@ -12,7 +12,7 @@ # https://github.com/asdf-vm/asdf %global goipath github.com/asdf-vm/asdf -Version: 0.18.0 +Version: 0.19.0 %gometa -f @@ -25,7 +25,7 @@ more.} SECURITY.md ballad-of-asdf.md help.txt version.txt Name: asdf -Release: %autorelease +Release: 1%{?dist} Summary: Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more License: MIT diff --git a/anda/devs/atac/atac.spec b/anda/devs/atac/atac.spec index 32eb76b7bb..f3b16587c2 100644 --- a/anda/devs/atac/atac.spec +++ b/anda/devs/atac/atac.spec @@ -12,7 +12,7 @@ Summary: Arguably a Terminal API Client License: MIT URL: https://crates.io/crates/atac -Source: %{crates_source} +Source: %{terra_crates_source} Packager: xiaoshihou BuildRequires: anda-srpm-macros cargo-rpm-macros mold diff --git a/anda/devs/backport/anda.hcl b/anda/devs/backport/anda.hcl index 37ceb921f6..fa16c40570 100644 --- a/anda/devs/backport/anda.hcl +++ b/anda/devs/backport/anda.hcl @@ -1,4 +1,5 @@ project pkg { + arches = ["x86_64"] rpm { spec = "nodejs-backport.spec" } diff --git a/anda/devs/backport/nodejs-backport.spec b/anda/devs/backport/nodejs-backport.spec index 121d9cf062..d9835f2667 100644 --- a/anda/devs/backport/nodejs-backport.spec +++ b/anda/devs/backport/nodejs-backport.spec @@ -3,11 +3,11 @@ %bcond test 0 Name: nodejs-%{npm_name} -Version: 10.4.0 -Release: 1%?dist +Version: 12.0.4 +Release: 1%{?dist} Summary: Backport GitHub commits SourceLicense: Apache-2.0 -License: 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND ISC AND MIT AND (MIT OR CC0-1.0) AND (WTFPL OR ISC) +License: MIT AND ISC AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause URL: https://github.com/sorenlouv/%{npm_name} Source0: http://registry.npmjs.org/%{npm_name}/-/%{npm_name}-%{version}.tgz BuildRequires: anda-srpm-macros >= 0.3.0 @@ -17,6 +17,7 @@ BuildRequires: nodejs-license-checker %if %{with test} BuildRequires: yarnpkg %endif +Requires: git-core Obsoletes: node-backport <= 10.2.0 BuildArch: noarch Packager: Gilver E. @@ -26,7 +27,9 @@ A simple CLI tool that automates the process of backporting commits on a GitHub %prep %npm_prep +%if %{with test} %fetch_node_tests /src/test/ /tests/ +%endif %build # Empty build section, because RPM reasons @@ -50,6 +53,8 @@ A simple CLI tool that automates the process of backporting commits on a GitHub %{_bindir}/%{npm_name} %changelog +* Sun May 3 2026 Gilver E. - 12.0.0-2 +- Added explicit dependency on git-core * Wed Jan 21 2026 Gilver E. - 10.2.0-3 - Fixed package name and licenses * Wed Jul 2 2025 Gilver E. - 9.6.6-1 diff --git a/anda/devs/backport/setup.sh b/anda/devs/backport/setup.sh deleted file mode 100755 index a6a7359998..0000000000 --- a/anda/devs/backport/setup.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/bash - -## Some sources need to be fetched BEFORE the build process -# Also I'm just better at scripting in Bash and calling the Rhai sh function hundreds of times times sounded like hell -# Have I mentioned I hate runtime languages? - -node=backport -# Enable logs for debugging -set -x -# I guess just $PWD doesn't work for this -builddir=$(pwd)/anda/devs/$node - -# We only need the tests folder so sourcing the whole repo is overkill, Git can make a tarball of specific directories - -pushd $builddir -ver=$(cat ./*.spec | grep -P -m1 'Version:' | sed -e 's/Version://g' -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') -url=$(sed -n 's/^URL:\s\(.*\)$/\1/p' ./*.spec | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e "s/%{module}/$node/") -dir=$node - -git clone --recurse-submodules -j$(nproc) $url.git - -pushd $dir -# I'm not sure why .tar.bz2 is the tar format of choice for this but it's also what Fedora does so it's what I'm doing -git archive --format=tar --prefix=tests/ v${ver}:src/test/ | bzip2 > ../tests-${ver}.tar.bz2 -popd -rm -rf $dir - -exit 0 diff --git a/anda/devs/bun/bun-bin.spec b/anda/devs/bun/bun-bin.spec index 3a9be7624f..e3f63c4f8d 100644 --- a/anda/devs/bun/bun-bin.spec +++ b/anda/devs/bun/bun-bin.spec @@ -8,8 +8,8 @@ %global appid sh.oven.bun Name: bun-bin -Version: 1.3.10 -Release: 1%?dist +Version: 1.3.14 +Release: 1%{?dist} Summary: Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one License: MIT URL: https://bun.sh diff --git a/anda/devs/codium/codium.spec b/anda/devs/codium/codium.spec index 30493b1a83..8a6fb05b5c 100644 --- a/anda/devs/codium/codium.spec +++ b/anda/devs/codium/codium.spec @@ -1,29 +1,18 @@ -%define debug_package %nil -%global _build_id_links none - -# Exclude private libraries -%global __requires_exclude libffmpeg.so|libcurl.so|libmsalruntime.so -%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so - -%ifarch x86_64 -%define a x64 -%elifarch aarch64 -%define a arm64 -%endif - %global appid com.vscodium.VSCodium -Name: codium -Version: 1.109.51242 -Release: 1%?dist -Summary: Code editing. Redefined. -License: MIT -URL: https://vscodium.com/ -Source0: https://github.com/VSCodium/vscodium/releases/download/%version/VSCodium-linux-%a-%version.tar.gz -Source1: https://raw.githubusercontent.com/VSCodium/vscodium/%version/README.md -Source2: https://raw.githubusercontent.com/VSCodium/vscodium/%version/LICENSE -Requires: at-spi2-atk cairo expat gtk3 xrandr mesa-libgbm nspr nss nss-util xdg-utils -Provides: vscodium = %evr +Name: codium +Version: 1.121.03429 +%electronmeta -D +%global __requires_exclude %{__requires_exclude}|libcurl.so|libmsalruntime.so +Release: 1%{?dist} +Summary: Code editing. Redefined. +License: %{electron_license} +URL: https://vscodium.com/ +Source0: https://github.com/VSCodium/vscodium/releases/download/%{version}/VSCodium-linux-%{_electron_cpu}-%{version}.tar.gz +Source1: https://raw.githubusercontent.com/VSCodium/vscodium/%{version}/README.md +Source2: https://raw.githubusercontent.com/VSCodium/vscodium/%{version}/LICENSE +Requires: at-spi2-atk cairo expat gtk3 xrandr mesa-libgbm nspr nss nss-util xdg-utils +Provides: vscodium = %{evr} BuildRequires: rpm_macro(fdupes) %description @@ -35,7 +24,7 @@ with what developers need for the core edit-build-debug cycle. %prep mkdir stuff cd stuff -tar xf %SOURCE0 +tar xf %{SOURCE0} cat < vscodium-bin-uri-handler.desktop [Desktop Entry] @@ -78,40 +67,40 @@ EOF %install cd stuff -mkdir -p %buildroot%_datadir/doc/%name/ %buildroot%_datadir/licenses/%name -install -Dm644 %SOURCE1 %buildroot%_docdir/%name/ -install -Dm644 %SOURCE2 %buildroot%_datadir/licenses/%name/ -install -dm755 %buildroot%_datadir/%name -install -dm755 %buildroot%_bindir -install -dm755 %buildroot%_datadir/{applications,pixmaps} -cp -r * %buildroot%_datadir/%name -rm -rf %buildroot%_datadir/%name/*.desktop -ln -s %_datadir/%name/bin/codium %buildroot%_bindir/codium -ln -s %_datadir/%name/bin/codium %buildroot%_bindir/vscodium -install -D -m644 vscodium-bin.desktop %buildroot%_datadir/applications/codium.desktop -install -D -m644 vscodium-bin-uri-handler.desktop %buildroot%_datadir/applications/codium-uri-handler.desktop -install -D -m644 resources/app/resources/linux/code.png %buildroot%_datadir/pixmaps/vscodium.png +mkdir -p %{buildroot}%{_datadir}/doc/%{name}/ %{buildroot}%{_datadir}/licenses/%{name} +install -Dm644 %{SOURCE1} %{buildroot}%{_docdir}/%{name}/ +install -Dm644 %{SOURCE2} %{buildroot}%{_datadir}/licenses/%{name}/ +install -dm755 %{buildroot}%{_datadir}/%{name} +install -dm755 %{buildroot}%{_bindir} +install -dm755 %{buildroot}%{_datadir}/{applications,pixmaps} +cp -r * %{buildroot}%{_datadir}/%{name} +rm -rf %{buildroot}%{_datadir}/%{name}/*.desktop +ln -s %{_datadir}/%{name}/bin/codium %{buildroot}%{_bindir}/codium +ln -s %{_datadir}/%{name}/bin/codium %{buildroot}%{_bindir}/vscodium +install -D -m644 vscodium-bin.desktop %{buildroot}%{_datadir}/applications/codium.desktop +install -D -m644 vscodium-bin-uri-handler.desktop %{buildroot}%{_datadir}/applications/codium-uri-handler.desktop +install -D -m644 resources/app/resources/linux/code.png %{buildroot}%{_datadir}/pixmaps/vscodium.png # Symlink shell completions -install -dm755 %buildroot%_datadir/zsh/site-functions -install -dm755 %buildroot%_datadir/bash-completion/completions -ln -s %_datadir/%name/resources/completions/zsh/_codium %buildroot%_datadir/zsh/site-functions -ln -s %_datadir/%name/resources/completions/bash/codium %buildroot%_datadir/bash-completion/completions +install -dm755 %{buildroot}%{_datadir}/zsh/site-functions +install -dm755 %{buildroot}%{_datadir}/bash-completion/completions +ln -s %{_datadir}/%{name}/resources/completions/zsh/_codium %{buildroot}%{_datadir}/zsh/site-functions +ln -s %{_datadir}/%{name}/resources/completions/bash/codium %{buildroot}%{_datadir}/bash-completion/completions -%fdupes %_datadir/%name/resources/app/extensions/ +%fdupes %{_datadir}/%{name}/resources/app/extensions/ #terra_appstream %files %doc README.md %license LICENSE -%_datadir/%name -%_bindir/codium -%_bindir/vscodium -%_datadir/applications/codium.desktop -%_datadir/applications/codium-uri-handler.desktop -%_datadir/pixmaps/vscodium.png -%dnl %_metainfodir/%appid.metainfo.xml +%{_datadir}/%{name} +%{_bindir}/codium +%{_bindir}/vscodium +%{_datadir}/applications/codium.desktop +%{_datadir}/applications/codium-uri-handler.desktop +%{_datadir}/pixmaps/vscodium.png +%dnl %{_metainfodir}/%{appid}.metainfo.xml %changelog * Sat Jun 17 2023 madonuko - 1.79.2.23166-2 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/deno-fix-metadata-auto.diff b/anda/devs/deno/deno-fix-metadata-auto.diff index 01b55164aa..84f73bcc4f 100644 --- a/anda/devs/deno/deno-fix-metadata-auto.diff +++ b/anda/devs/deno/deno-fix-metadata-auto.diff @@ -1,11 +1,11 @@ ---- deno-2.6.9/Cargo.toml 1970-01-01T00:00:01+00:00 -+++ deno-2.6.9/Cargo.toml 2026-02-12T15:05:13.386522+00:00 -@@ -667,24 +667,3 @@ +--- deno-2.7.4/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ deno-2.7.4/Cargo.toml 2026-03-05T14:17:34.447378+00:00 +@@ -659,24 +659,3 @@ [target."cfg(unix)".dependencies.shell-escape] version = "=0.1.5" -[target."cfg(windows)".dependencies.deno_subprocess_windows] --version = "0.26.0" +-version = "0.32.0" - -[target."cfg(windows)".dependencies.winapi] -version = "=0.3.9" diff --git a/anda/devs/deno/rust-deno.spec b/anda/devs/deno/rust-deno.spec index f52acfc28d..193ecc0600 100644 --- a/anda/devs/deno/rust-deno.spec +++ b/anda/devs/deno/rust-deno.spec @@ -5,24 +5,27 @@ %global appstream_component runtime %global crate deno +%global debug_level 1 +%undefine _debugsource_packages + Name: rust-deno -Version: 2.7.2 -Release: 1%?dist +Version: 2.9.0 +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 # Automatically generated patch to strip dependencies and normalize metadata -Patch: deno-fix-metadata-auto.diff +%dnl Patch: deno-fix-metadata-auto.diff BuildRequires: cargo-rpm-macros >= 24 BuildRequires: anda-srpm-macros BuildRequires: protobuf-compiler -BuildRequires: llvm17-devel +BuildRequires: llvm19-devel BuildRequires: python3 BuildRequires: cmake BuildRequires: gcc @@ -80,3 +83,5 @@ pushd %{buildroot}%{_bindir} ./deno x --install-alias popd %terra_appstream -o %{SOURCE3} + +rm -rf target # save space diff --git a/anda/devs/edit/edit.spec b/anda/devs/edit/edit.spec index d7e7137bea..91a8538e1b 100644 --- a/anda/devs/edit/edit.spec +++ b/anda/devs/edit/edit.spec @@ -7,8 +7,8 @@ An editor that pays homage to the classic MS-DOS Editor, but with a modern inter %global appstream_component console-application Name: %{crate} -Version: 1.2.1 -Release: 4%{?dist} +Version: 2.0.0 +Release: 1%{?dist} Summary: A simple editor for simple needs. SourceLicense: MIT License: MIT AND (MIT OR Apache-2.0) @@ -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 6c3dc26cd3..577fb783d9 100644 --- a/anda/devs/flutter/flutter.spec +++ b/anda/devs/flutter/flutter.spec @@ -1,6 +1,6 @@ Name: flutter -Version: 3.41.3 -Release: 1%?dist +Version: 3.44.4 +Release: 1%{?dist} Summary: SDK for crafting beautiful, fast user experiences from a single codebase License: BSD-3-Clause URL: https://flutter.dev diff --git a/anda/devs/ghidra/stable/0001-Enabling-support-for-Python-3.15.patch b/anda/devs/ghidra/stable/0001-Enabling-support-for-Python-3.15.patch new file mode 100644 index 0000000000..9564d77028 --- /dev/null +++ b/anda/devs/ghidra/stable/0001-Enabling-support-for-Python-3.15.patch @@ -0,0 +1,23 @@ +From 62997595c884f3ff35903a6c1ae864b5a7735301 Mon Sep 17 00:00:00 2001 +From: Jan200101 +Date: Sun, 28 Jun 2026 17:40:10 +0200 +Subject: [PATCH] Enabling support for Python 3.15 + +Signed-off-by: Jan200101 +--- + Ghidra/application.properties | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Ghidra/application.properties b/Ghidra/application.properties +index 5b99998751..0f8a9f1096 100644 +--- a/Ghidra/application.properties ++++ b/Ghidra/application.properties +@@ -7,4 +7,4 @@ application.gradle.max= + application.java.min=21 + application.java.max= + application.java.compiler=21 +-application.python.supported=3.14, 3.13, 3.12, 3.11, 3.10, 3.9 ++application.python.supported=3.15, 3.14, 3.13, 3.12, 3.11, 3.10, 3.9 +-- +2.54.0 + diff --git a/anda/system/supergfxctl/anda.hcl b/anda/devs/ghidra/stable/anda.hcl similarity index 64% rename from anda/system/supergfxctl/anda.hcl rename to anda/devs/ghidra/stable/anda.hcl index 7b76ffb458..940da808f8 100644 --- a/anda/system/supergfxctl/anda.hcl +++ b/anda/devs/ghidra/stable/anda.hcl @@ -1,6 +1,6 @@ project pkg { arches = ["x86_64"] rpm { - spec = "supergfxctl.spec" + spec = "ghidra.spec" } } diff --git a/anda/devs/ghidra/stable/ghidra.desktop b/anda/devs/ghidra/stable/ghidra.desktop new file mode 100644 index 0000000000..de22a9dbfa --- /dev/null +++ b/anda/devs/ghidra/stable/ghidra.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Icon=ghidra +Exec=ghidra +Name=Ghidra +Comment=A software reverse engineering (SRE) suite of tools +Terminal=false +StartupNotify=false +Categories=Development; diff --git a/anda/devs/ghidra/stable/ghidra.spec b/anda/devs/ghidra/stable/ghidra.spec new file mode 100644 index 0000000000..70ab8164f5 --- /dev/null +++ b/anda/devs/ghidra/stable/ghidra.spec @@ -0,0 +1,149 @@ +%global debug_package %{nil} +%global yajsw_ver 13.18 +%global pydev_ver 9.3.0 +%global cdt_ver 8.6.0 +%global cdt_short_ver %{expand:%(v=%{cdt_ver}; echo ${v%.*})} +%global sarif_ver 2.1 +%global z3_ver 4.13.0 +%global z3_glibc 2.31 + +%global ghidra_dir ghidra-Ghidra_%{version}_build +%global dep_dir %{ghidra_dir}/dependencies +%global flat_repo_dir %{dep_dir}/flatRepo +%global fid_dir %{dep_dir}/fidb + +%global jre_ver 25 + +Name: ghidra +Version: 12.1.2 +%global short_version %{version} +Release: 1%{?dist} +Summary: a software reverse engineering (SRE) framework +Packager: Jan200101 + +License: Apache 2.0 +URL: https://ghidra-sre.org/ +Source0: https://github.com/NationalSecurityAgency/ghidra/archive/Ghidra_%{version}_build.tar.gz +Source1: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android4me/AXMLPrinter2.jar +Source2: https://sourceforge.net/projects/yajsw/files/yajsw/yajsw-stable-%{yajsw_ver}/yajsw-stable-%{yajsw_ver}.zip +Source3: https://sourceforge.net/projects/pydev/files/pydev/PyDev%20%{pydev_ver}/PyDev%20%{pydev_ver}.zip#/PyDev-%{pydev_ver}.zip +Source4: https://archive.eclipse.org/tools/cdt/releases/%{cdt_short_ver}/cdt-%{cdt_ver}.zip +Source5: https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_%{version}/lib/java-sarif-%{sarif_ver}-modified.jar +Source6: https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_%{version}/Debugger/dbgmodel.tlb#/dbgmodel_%{version}.tlb +Source7: https://github.com/Z3Prover/z3/releases/download/z3-%{z3_ver}/z3-%{z3_ver}-x64-glibc-%{z3_glibc}.zip +Source8: ghidra.desktop +Patch0: 0001-Enabling-support-for-Python-3.15.patch + +Requires: (java-%{jre_ver}-openjdk or temurin-%{jre_ver}-jdk) +BuildRequires: java-%{jre_ver}-openjdk-devel +BuildRequires: java-%{jre_ver}-openjdk-headless +BuildRequires: gradle +BuildRequires: gcc gcc-c++ +BuildRequires: bison flex +BuildRequires: desktop-file-utils +BuildRequires: python3-pip +BuildRequires: python3-devel +BuildRequires: python-wheel0.37-wheel +BuildRequires: python-setuptools-wheel +BuildRequires: ImageMagick + +ExclusiveArch: x86_64 + +%description +Ghidra is a software reverse engineering (SRE) framework developed +by NSA's Research Directorate for NSA's cybersecurity mission. It +helps analyze malicious code and malware like viruses, and can give +cybersecurity professionals a better understanding of potential +vulnerabilities in their networks and systems. + +%package server +Summary: Ghidra Server +Requires: %{name}%{?_isa} = %{version} + +%description server +Ghidra Server + +%package docs +Summary: Ghidra Documentation +Requires: %{name}%{?_isa} = %{version} + +%description docs +Ghidra Documentation + +%prep +%setup -q -c %{name}-%{version} -a 3 -a 7 + +pushd %{ghidra_dir} +%patch -P0 -p1 +popd + +mkdir -p %{dep_dir}/{GhidraDev,GhidraServer,Debugger-agent-dbgeng} %{flat_repo_dir} %{fid_dir} +mkdir -p %{dep_dir}/SymbolicSummaryZ3/os/linux_x86_64 + +cp "%{SOURCE1}" "%{flat_repo_dir}" +cp "%{SOURCE2}" "%{dep_dir}/GhidraServer" +cp "%{SOURCE3}" "%{dep_dir}/GhidraDev" +cp "%{SOURCE4}" "%{dep_dir}/GhidraDev" +cp "%{SOURCE5}" "%{flat_repo_dir}" +cp "%{SOURCE6}" "%{dep_dir}/Debugger-agent-dbgeng/dbgmodel.tlb" +cp z3-%{z3_ver}-x64-glibc-%{z3_glibc}/bin/*.jar "%{flat_repo_dir}" +cp z3-%{z3_ver}-x64-glibc-%{z3_glibc}/bin/libz3*.so "%{dep_dir}/SymbolicSummaryZ3/os/linux_x86_64" + +mkdir -p "%{dep_dir}/Debugger-rmi-trace" +cp %{python_wheel_dir}/setuptools-*-py3-none-any.whl "%{dep_dir}/Debugger-rmi-trace" +cp %{python_wheel_dir}/wheel-*-none-any.whl "%{dep_dir}/Debugger-rmi-trace" + +%build +cd %{ghidra_dir} +gradle --no-daemon --parallel \ + buildGhidra \ + -x buildPyPackage + +%install +mkdir -p %{buildroot}/%{_libdir}/%{name}/ %{buildroot}/%{_bindir}/ + +unzip %{ghidra_dir}/build/dist/ghidra_%{short_version}_DEV_%{lua: print(os.date("%Y%m%d"))}_linux*.zip +cp -r ghidra_%{short_version}_DEV/* %{buildroot}/%{_libdir}/%{name} + +ln -s %{_libdir}/%{name}/ghidraRun %{buildroot}/%{_bindir}/%{name} + +ln -s %{_libdir}/%{name}/server/ghidraSvr %{buildroot}/%{_bindir}/%{name}-server +ln -s %{_libdir}/%{name}/server/svrAdmin %{buildroot}/%{_bindir}/%{name}-server-admin +ln -s %{_libdir}/%{name}/server/svrInstall %{buildroot}/%{_bindir}/%{name}-server-install +ln -s %{_libdir}/%{name}/server/svrUninstall %{buildroot}/%{_bindir}/%{name}-server-uninstall + +for size in 16 24 32 48 64 128 256; do + mkdir -p "%{buildroot}/%{_hicolordir}/${size}x${size}/apps" + + convert \ + "%{ghidra_dir}/Ghidra/RuntimeScripts/Windows/support/ghidra.ico" \ + -thumbnail 256x256 \ + -alpha on \ + -background none \ + -flatten \ + "%{buildroot}/%{_datadir}/icons/hicolor/${size}x${size}/apps/ghidra.png" +done + +%desktop_file_install %{SOURCE8} + +%files +%{_bindir}/%{name} +%{_libdir}/%{name}/ +%{_appsdir}/ghidra.desktop +%{_hicolordir}/*/apps/ghidra.png + +%license %{ghidra_dir}/LICENSE + +%files server +%{_bindir}/%{name}-server +%{_bindir}/%{name}-server-admin +%{_bindir}/%{name}-server-install +%{_bindir}/%{name}-server-uninstall +%{_libdir}/%{name}/server/ + +%files docs +%{_libdir}/%{name}/docs/ + +%changelog +* Sun Jun 28 2026 Jan200101 +- Initial package \ No newline at end of file diff --git a/anda/devs/ghidra/stable/update.rhai b/anda/devs/ghidra/stable/update.rhai new file mode 100644 index 0000000000..0e07512258 --- /dev/null +++ b/anda/devs/ghidra/stable/update.rhai @@ -0,0 +1,25 @@ +let tag = gh_tag("NationalSecurityAgency/ghidra"); +let v = find(`Ghidra_([\d.]+)_build`, tag, 1); +rpm.version(v); + +if rpm.changed() { + let rawfile = gh_rawfile("NationalSecurityAgency/ghidra", tag, "gradle/support/fetchDependencies.gradle"); + + let yajsw_ver = find(`yajsw-stable-([\d.]+)\.zip`, rawfile, 1); + rpm.global("yajsw_ver", yajsw_ver); + + let pydev_ver = find(`PyDev ([\d.]+)\.zip`, rawfile, 1); + rpm.global("pydev_ver", pydev_ver); + + let cdt_ver = find(`cdt-([\d.]+)\.zip`, rawfile, 1); + rpm.global("cdt_ver", cdt_ver); + + let sarif_ver = find(`java-sarif-([\d.]+)-modified\.jar`, rawfile, 1); + rpm.global("sarif_ver", sarif_ver); + + let z3_ver = find(`Z3_VER = "([\d.]+)"`, rawfile, 1); + rpm.global("z3_ver", z3_ver); + + let z3_glibc = find(`Z3_X64_GLIBC_VER = "([\d.]+)"`, rawfile, 1); + rpm.global("z3_glibc", z3_glibc); +} diff --git a/anda/devs/ghostty/nightly/ghostty-nightly.spec b/anda/devs/ghostty/nightly/ghostty-nightly.spec index 609084cf10..609f774bb5 100644 --- a/anda/devs/ghostty/nightly/ghostty-nightly.spec +++ b/anda/devs/ghostty/nightly/ghostty-nightly.spec @@ -1,15 +1,15 @@ -%global commit c93cf521088594649a6c2d54e1c916c3906c0a0f +%global commit 07d31666e73bce337b9cece60a884c67fe8906f4 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global fulldate 2026-03-03 +%global fulldate 2026-06-27 %global commit_date %(echo %{fulldate} | sed 's/-//g') %global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV -%global ver 1.3.0 +%global ver 1.3.2 %global base_name ghostty %global appid com.mitchellh.%{base_name} Name: %{base_name}-nightly Version: %{ver}~tip^%{commit_date}git%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} %if 0%{?fedora} <= 41 Epoch: 1 %endif @@ -185,7 +185,7 @@ Ghostty's terminfo. Needed for basic terminal function. Summary: The libghostty-vt libraries %description -n libghostty-vt-nightly -This package contains the libghostty-vt libraries, the first of many linghostty libaries in development. +This package contains the libghostty-vt libraries, the first of many libghostty libaries in development. %package -n libghostty-vt-nightly-devel Summary: Development files for libghostty-vt diff --git a/anda/devs/ghostty/stable/ghostty.spec b/anda/devs/ghostty/stable/ghostty.spec index f5d8b0af51..02c26afca1 100644 --- a/anda/devs/ghostty/stable/ghostty.spec +++ b/anda/devs/ghostty/stable/ghostty.spec @@ -3,8 +3,8 @@ %global appid com.mitchellh.ghostty Name: ghostty -Version: 1.2.3 -Release: 4%{?dist} +Version: 1.3.1 +Release: 1%{?dist} Summary: A fast, native terminal emulator written in Zig. License: MIT AND MPL-2.0 AND OFL-1.1 AND (WTFPL OR CC0-1.0) AND Apache-2.0 URL: https://ghostty.org/ @@ -76,6 +76,13 @@ BuildArch: noarch %description zsh-completion Zsh shell completion for Ghostty. +%package devel +Summary: Development files for Ghostty. +Requires: %{name} = %{evr} + +%description devel +This package includes the development files for Ghostty. + %package kio Summary: KIO support for Ghostty Requires: %{name} = %{evr} @@ -145,6 +152,19 @@ BuildArch: noarch %description terminfo Ghostty's terminfo. Needed for basic terminal function. +%package -n libghostty-vt +Summary: The libghostty-vt libraries + +%description -n libghostty-vt +This package contains the libghostty-vt libraries, the first of many libghostty libaries in development. + +%package -n libghostty-vt-devel +Summary: Development files for libghostty-vt +Requires: libghostty-vt = %{evr} + +%description -n libghostty-vt-devel +This package contains the libraries and header files that are needed for developing with libghostty-vt. + %prep /usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key} %autosetup @@ -203,6 +223,9 @@ rm -rf %{buildroot}%{_datadir}/terminfo/g/%{name} %files zsh-completion %{zsh_completions_dir}/_%{name} +%files devel +%{_includedir}/ghostty/ + %files kio %{_datadir}/kio/servicemenus/%{appid}.desktop @@ -230,6 +253,7 @@ rm -rf %{buildroot}%{_datadir}/terminfo/g/%{name} %{_datadir}/%{name}/shell-integration/bash/%{name}.bash %{_datadir}/%{name}/shell-integration/elvish/lib/%{name}-integration.elv %{_datadir}/%{name}/shell-integration/fish/vendor_conf.d/%{name}-shell-integration.fish +%{_datadir}/%{name}/shell-integration/nushell/vendor/autoload/%{name}.nu %{_datadir}/%{name}/shell-integration/zsh/.zshenv %{_datadir}/%{name}/shell-integration/zsh/%{name}-integration @@ -248,6 +272,13 @@ rm -rf %{buildroot}%{_datadir}/terminfo/g/%{name} %postun %systemd_user_postun app-%{appid}.service +%files -n libghostty-vt +%{_libdir}/libghostty-vt.so.* + +%files -n libghostty-vt-devel +%{_libdir}/libghostty-vt.so +%{_datadir}/pkgconfig/libghostty-vt.pc + %changelog * Tue Oct 28 2025 Gilver E. - 1.2.3-2 - Disabled bundled themes 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 90f8da55bc..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.1 -Release: 1%?dist +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 79d421ccf0..b70c3e7b93 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 d38f0dfe7af9a6a8cac27764ad47f43af60896df -%global commit_date 20260215 +%global commit_hash e4a92a19d9c71c70f311886dcb6123ebf7b561ac +%global commit_date 20260626 %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 b6b13b242d..2fb2ba3601 100644 --- a/anda/devs/neovide/neovide.spec +++ b/anda/devs/neovide/neovide.spec @@ -2,13 +2,13 @@ %global raw_forgeurl https://raw.githubusercontent.com/%{crate}/%{crate} Name: rust-neovide -Version: 0.15.2 -Release: 1%?dist +Version: 0.16.2 +Release: 1%{?dist} 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 79a5e8925f..2dfcebc283 100644 --- a/anda/devs/powershell/powershell.spec +++ b/anda/devs/powershell/powershell.spec @@ -5,7 +5,7 @@ %global git_name PowerShell # Not currently tracked, all PowerShell specifies is a version under 4.99 %global pester_version 4.10.1 -%global dotnet_version 9.0 +%global dotnet_version 10.0 # Arch defined by .NET %ifarch %{x86_64} %global darch x64 @@ -18,8 +18,8 @@ %bcond test 1 Name: powershell -Version: 7.5.4 -Release: 3%{?dist} +Version: 7.6.3 +Release: 1%{?dist} Summary: A cross-platform automation and configuration tool/framework SourceLicense: MIT License: Apache-2.0 AND BSD-2-Clause AND MIT @@ -36,9 +36,13 @@ BuildRequires: jq BuildRequires: nuget BuildRequires: unzip %if %{with test} +BuildRequires: aspnetcore-targeting-pack-%{dotnet_version} BuildRequires: glibc-all-langpacks BuildRequires: iputils +BuildRequires: hostname BuildRequires: langpacks-en +BuildRequires: ncurses +BuildRequires: openssl %endif Requires: dotnet-hostfxr-%{dotnet_version} Requires: dotnet-runtime-%{dotnet_version} @@ -52,6 +56,7 @@ Packager: Gilver E. %package doc Summary: Documentation files for PowerShell Requires: %{name} = %{evr} +BuildArch: noarch %description doc This package contains documentation for PowerShell. @@ -65,10 +70,9 @@ sed -i 's|add key=.*"|add key="nuget.org" value="https://api.nuget.org/v3/index. jq '.sdk.version = "%{dotnet_version}.0" | .sdk.rollForward = "feature"' global.json > _global.json mv _global.json global.json -%build export NUGET_PACKAGES="$PWD/nuget" -export DOTNET_NOLOGO=true -export DOTNET_CLI_TELEMETRY_OPTOUT=true +export DOTNET_NOLOGO=1 +export DOTNET_CLI_TELEMETRY_OPTOUT=1 dotnet restore src/powershell-unix -p:PublishReadyToRun=true dotnet restore src/TypeCatalogGen @@ -83,6 +87,11 @@ dotnet restore test/tools/TestService -p:RuntimeIdentifiers=linux-%{darch} dotnet restore test/tools/WebListener -p:RuntimeIdentifiers=linux-%{darch} dotnet restore test/tools/NamedPipeConnection/src/code +%build +NUGET_PACKAGES="$PWD/nuget" ; export NUGET_PACKAGES +DOTNET_NOLOGO=1 ; export DOTNET_NOLOGO +DOTNET_CLI_TELEMETRY_OPTOUT=1 ; export DOTNET_CLI_TELEMETRY_OPTOUT + pushd src/ResGen dotnet run --no-restore popd @@ -113,15 +122,15 @@ dotnet publish \ src/powershell-unix/ grep 'Microsoft.NETCore.App' "$INCFILE" | sed 's/;//' | while read -r assembly; do - install -Dm755 -t lib/ref "$assembly" + install -Dm755 -t lib/ref "$assembly" done -cp -a $NUGET_PACKAGES/microsoft.powershell.archive/1.2.5/. lib/Modules/Microsoft.PowerShell.Archive -cp -a $NUGET_PACKAGES/microsoft.powershell.psresourceget/1.1.1/. lib/Modules/Microsoft.PowerShell.PSResourceGet -cp -a $NUGET_PACKAGES/packagemanagement/1.4.8.1/. lib/Modules/PackageManagement -cp -a $NUGET_PACKAGES/powershellget/2.2.5/. lib/Modules/PowerShellGet -cp -a $NUGET_PACKAGES/psreadline/2.3.6/. lib/Modules/PSReadLine -cp -a $NUGET_PACKAGES/threadjob/2.0.3/. lib/Modules/ThreadJob +cp -a "$NUGET_PACKAGES/microsoft.powershell.archive/1.2.5/." lib/Modules/Microsoft.PowerShell.Archive +cp -a "$NUGET_PACKAGES/microsoft.powershell.psresourceget/1.2.0/." lib/Modules/Microsoft.PowerShell.PSResourceGet +cp -a "$NUGET_PACKAGES/packagemanagement/1.4.8.1/." lib/Modules/PackageManagement +cp -a "$NUGET_PACKAGES/powershellget/2.2.5/." lib/Modules/PowerShellGet +cp -a "$NUGET_PACKAGES/psreadline/2.4.5/." lib/Modules/PSReadLine +cp -a "$NUGET_PACKAGES/microsoft.powershell.threadjob/2.2.0/." lib/Modules/Microsoft.PowerShell.ThreadJob # Restore-PSPester unzip -ud temp_pester %{SOURCE1} @@ -146,18 +155,24 @@ install -Dpm644 assets/powershell_128.svg %{buildroot}%{_scalableiconsdir}/%{nam %if %{with test} %check -export NUGET_PACKAGES="$PWD/nuget" -export DOTNET_NOLOGO=true -export DOTNET_CLI_TELEMETRY_OPTOUT=true +NUGET_PACKAGES="$PWD/nuget" ; export NUGET_PACKAGES +DOTNET_NOLOGO=1 ; export DOTNET_NOLOGO +DOTNET_CLI_TELEMETRY_OPTOUT=1 ; export DOTNET_CLI_TELEMETRY_OPTOUT # Remove tests that fail in CIs rm test/powershell/engine/Help/HelpSystem.Tests.ps1 +rm test/powershell/engine/Help/UpdatableHelpSystem.Tests.ps1 +rm test/powershell/Host/PSVersionTable.Tests.ps1 +rm test/powershell/Host/Startup.Tests.ps1 rm test/powershell/Modules/Microsoft.PowerShell.Management/Start-Process.Tests.ps1 rm test/powershell/Modules/Microsoft.PowerShell.Utility/Format-Table.Tests.ps1 rm test/powershell/Language/Parser/RedirectionOperator.Tests.ps1 rm test/powershell/Language/Scripting/NativeExecution/NativeWindowsTildeExpansion.Tests.ps1 rm test/powershell/Modules/Microsoft.PowerShell.Utility/WebCmdlets.Tests.ps1 rm test/powershell/Modules/Microsoft.PowerShell.PSResourceGet/Microsoft.PowerShell.PSResourceGet.Tests.ps1 +rm test/powershell/dsc/dsc.profileresource.Tests.ps1 +rm test/powershell/engine/Remoting/SSHRemotingCmdlets.Tests.ps1 +rm test/powershell/Host/TabCompletion/TabCompletion.Tests.ps1 # Fails on timezone format rm test/powershell/Modules/Microsoft.PowerShell.Management/TimeZone.Tests.ps1 @@ -183,15 +198,15 @@ dotnet publish \ test/tools/TestAlc for project in TestExe TestService UnixSocket WebListener; do - dotnet publish \ - --no-restore \ - --runtime linux-%{darch} \ - --self-contained \ - --configuration Debug \ - --output test/tools/$project/bin \ - test/tools/$project - export PATH="$PATH:$PWD/test/tools/$project/bin/Debug/net%{dotnet_version}/linux-%{darch}" - done + dotnet publish \ + --no-restore \ + --runtime linux-%{darch} \ + --self-contained \ + --configuration Debug \ + --output test/tools/$project/bin \ + test/tools/$project + export PATH="$PATH:$PWD/test/tools/$project/bin/Debug/net%{dotnet_version}/linux-%{darch}" +done dotnet publish \ --no-restore \ @@ -200,11 +215,13 @@ dotnet publish \ --output test/tools/Modules/Microsoft.PowerShell.NamedPipeConnection \ test/tools/NamedPipeConnection/src/code + install -Dm644 -t test/tools/Modules/Microsoft.PowerShell.NamedPipeConnection \ test/tools/NamedPipeConnection/src/Microsoft.PowerShell.NamedPipeConnection.psd1 export LANG="en_US.UTF-8" export LC_ALL="$LANG" +export TERM="xterm-256color" # shellcheck disable=SC2016 lib/pwsh -noprofile -command ' @@ -235,5 +252,7 @@ lib/pwsh -noprofile -command ' %doc ADOPTERS.md %changelog +* Wed May 13 2026 Gilver E. - 7.6.1-1 +- Update to 7.6.1 * Wed Dec 24 2025 Gilver E. - 7.5.4-1 - Initial package diff --git a/anda/devs/rio/rio.spec b/anda/devs/rio/rio.spec index a03c4a3b4a..b8bd24f2d2 100644 --- a/anda/devs/rio/rio.spec +++ b/anda/devs/rio/rio.spec @@ -1,11 +1,11 @@ %global crate rioterm +%global appid com.rioterm.Rio %global _description %{expand: A hardware-accelerated terminal emulator focusing to run in desktops and browsers.} -%bcond docs 1 Name: rio -Version: 0.2.37 -Release: 2%{?dist} +Version: 0.4.7 +Release: 1%{?dist} Summary: A hardware-accelerated terminal written in Rust. SourceLicense: MIT 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 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND BSD-2-Clause AND BSL-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 CC0-1.0 AND ISC 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 OR GPL-3.0-only) AND MPL-2.0+ AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib @@ -17,6 +17,7 @@ BuildRequires: desktop-file-utils BuildRequires: freetype-devel BuildRequires: cmake BuildRequires: gcc-c++ +BuildRequires: glslc BuildRequires: libxcb-devel BuildRequires: libxkbcommon-devel BuildRequires: mold @@ -25,10 +26,9 @@ BuildRequires: pkgconfig(alsa) Requires: freetype Requires: fontconfig Requires: hicolor-icon-theme +Requires: ncurses-term Obsoletes: %{crate} < %{version}-%{release} -%if %{with docs} -Suggests: %{name}-doc = %{version}-%{release} -%endif +Obsoletes: %{name}-doc < %{evr} Packager: Gilver E. %description %_description @@ -40,14 +40,6 @@ Requires: %{name} = %{version}-%{release} %description devel This package contains the development libraries for Rio. -%if %{with docs} -%package doc -Summary: Documentation for Rio - -%description doc -This package contains all official documentation files for the Rio terminal. -%endif - %prep %autosetup -n %{name}-%{version} %cargo_prep_online @@ -59,7 +51,8 @@ sed -i 's/Exec=.*/Exec=%{crate}/g' misc/%{name}.desktop %install install -Dm755 target/rpm/%{name} %{buildroot}%{_bindir}/%{crate} install -Dm755 target/rpm/*.so -t %{buildroot}%{_libdir} -install -Dm644 docs/static/assets/%{name}-logo.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg +install -Dm644 misc/logo.svg %{buildroot}%{_scalableiconsdir}/%{name}.svg +install -Dm644 misc/%{appid}.metainfo.xml -t %{buildroot}%{_metainfodir} desktop-file-install misc/%{name}.desktop %{cargo_license_online -a} > LICENSE.dependencies @@ -73,17 +66,12 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_bindir}/%{crate} %{_datadir}/applications/%{name}.desktop %{_iconsdir}/hicolor/scalable/apps/%{name}.svg +%{_metainfodir}/%{appid}.metainfo.xml %files devel %{_libdir}/librio_backend.so -%{_libdir}/librio_proc_macros.so %{_libdir}/libsugarloaf.so -%if %{with docs} -%files doc -%doc docs/docs/* -%endif - %changelog * Mon May 5 2025 Gilver E. - 0.2.13-1 - Added doc package diff --git a/anda/devs/shibuya/python-shibuya.spec b/anda/devs/shibuya/python-shibuya.spec index 952c478d16..c8745c4c28 100644 --- a/anda/devs/shibuya/python-shibuya.spec +++ b/anda/devs/shibuya/python-shibuya.spec @@ -5,8 +5,8 @@ A responsive, good looking with modern design documentation theme for Sphinx, wi %bcond docs 0 Name: python-%{pypi_name} -Version: 2026.1.9 -Release: 2%{?dist} +Version: 2026.5.19 +Release: 1%{?dist} Summary: A clean, responsive, and customizable Sphinx documentation theme with light/dark mode License: BSD-3-Clause URL: https://shibuya.lepture.com diff --git a/anda/devs/tracy/tracy.spec b/anda/devs/tracy/tracy.spec index eb1b3e601a..6605a44ea7 100644 --- a/anda/devs/tracy/tracy.spec +++ b/anda/devs/tracy/tracy.spec @@ -1,12 +1,42 @@ +%if 0%{?fedora} >= 44 +%global gcc_compat 15 +%global __cc gcc-%{gcc_compat} +%global __cxx g++-%{gcc_compat} +%endif + Name: tracy Version: 0.13.1 -Release: 2%?dist +Release: 4%?dist Summary: A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications License: BSD-3-Clause URL: https://github.com/wolfpld/tracy Source0: https://github.com/wolfpld/tracy/archive/refs/tags/v%version.tar.gz -BuildRequires: pkgconfig(egl) pkgconfig(glfw3) pkgconfig(freetype2) pkgconfig(dbus-1) pkgconfig(libunwind) pkgconfig(libdebuginfod) pkgconfig(tbb) pkgconfig(wayland-client) pkgconfig(wayland-protocols) pkgconfig(xkbcommon) pkgconfig(capstone) pkgconfig(openssl) pkgconfig(pugixml) pkgconfig(libcurl) pkgconfig(libxslt) pkgconfig(libnghttp2) pkgconfig(libidn2) pkgconfig(libssh2) tbb expat libxml2 openssl-libs -BuildRequires: cmake gcc gcc-c++ meson +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(glfw3) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(libunwind) +BuildRequires: pkgconfig(libdebuginfod) +BuildRequires: pkgconfig(tbb) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(capstone) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(pugixml) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libxslt) +BuildRequires: pkgconfig(libnghttp2) +BuildRequires: pkgconfig(libidn2) +BuildRequires: pkgconfig(libssh2) +BuildRequires: tbb +BuildRequires: expat +BuildRequires: libxml2 +BuildRequires: openssl-libs +BuildRequires: cmake +BuildRequires: meson +BuildRequires: gcc%{?gcc_compat} +BuildRequires: gcc%{?gcc_compat}-c++ Packager: Owen Zimmerman @@ -15,6 +45,7 @@ Tracy is a real time, nanosecond resolution, remote telemetry, hybrid frame and %package devel Summary: Development files for the tracy package +Requires: tracy = %{evr} %description devel Development files for the tracy package. @@ -22,8 +53,10 @@ Development files for the tracy package. %prep %autosetup -%build +%conf %meson -Dcpp_std=c++17 + +%build %meson_build for project in capture csvexport import update profiler do @@ -72,6 +105,9 @@ install -Dm644 icon/application-tracy.svg %buildroot%_iconsdir/hicolor/scalable/ %_includedir/tracy/* %changelog +* Tue Apr 21 2026 Owen Zimmerman - 0.13.1-2 +- Make gcc15 the default compiler on Fedora 44+ + * Mon Jan 19 2026 Owen Zimmerman - 0.13.1-1 - Fix compile issues, update for 0.13.1 diff --git a/anda/devs/turbowarp/turbowarp.spec b/anda/devs/turbowarp/turbowarp.spec index 052b9fe652..32785e8222 100644 --- a/anda/devs/turbowarp/turbowarp.spec +++ b/anda/devs/turbowarp/turbowarp.spec @@ -2,8 +2,8 @@ Name: turbowarp-desktop %electronmeta -D -Version: 1.15.2 -Release: 1%?dist +Version: 1.16.0 +Release: 1%{?dist} Summary: A better offline editor for Scratch 3 URL: https://desktop.turbowarp.org/ License: GPL-3.0-only AND %{electron_license} diff --git a/anda/devs/yarn-berry/yarnpkg-berry.spec b/anda/devs/yarn-berry/yarnpkg-berry.spec index 1f9b0ed0d7..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.12.0 -Release: 5%{?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 b9d580e81d..9554aa92a3 100644 --- a/anda/devs/zed/nightly/zed-nightly.spec +++ b/anda/devs/zed/nightly/zed-nightly.spec @@ -1,11 +1,11 @@ -%global commit 9c9337a8021f74511625517c3f4fa021106609eb +%global commit 5fa184f8b63df7e084140ab3c2a91b4a6f262bab %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260304 -%global ver 0.227.0 +%global commit_date 20260629 +%global ver 1.10.0 %bcond_with check %bcond_with debug_no_build -%bcond nightly 1 +%bcond nightly 0 %if 0%{?with_debug_no_build} %global debug_package %{nil} @@ -19,13 +19,14 @@ %global appstream_component desktop-application %global rustflags_debuginfo 0 +%global toolchain clang Name: zed-nightly Version: %ver^%commit_date.%shortcommit -Release: 1%?dist +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 @@ -50,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 @@ -174,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 3a20114d70..7fb03579d8 100644 --- a/anda/devs/zed/preview/zed-preview.spec +++ b/anda/devs/zed/preview/zed-preview.spec @@ -1,3 +1,5 @@ +%global toolchain clang + %bcond_with check %bcond_with debug_no_build @@ -5,7 +7,7 @@ %global debug_package %{nil} %endif -%global ver 0.226.4-pre +%global ver 1.9.0-pre # Exclude input files from mangling %global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$ @@ -17,11 +19,10 @@ Name: zed-preview Version: %(echo %ver | sed 's/-/~/') -Release: 1%?dist +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 @@ -45,9 +46,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 @@ -164,7 +162,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 44e2676077..68549d33d1 100644 --- a/anda/devs/zed/stable/zed.spec +++ b/anda/devs/zed/stable/zed.spec @@ -1,3 +1,5 @@ +%global toolchain clang + %bcond_with check %bcond_with debug_no_build @@ -15,10 +17,10 @@ %global rustflags_debuginfo 0 Name: zed -Version: 0.225.13 -Release: 1%?dist +Version: 1.8.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 +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 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/ Source0: https://github.com/zed-industries/zed/archive/refs/tags/v%{version}.tar.gz @@ -44,9 +46,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 @@ -164,7 +163,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/zsh-autocomplete/anda.hcl b/anda/devs/zsh-autocomplete/anda.hcl index 6385138a40..ec306c6517 100644 --- a/anda/devs/zsh-autocomplete/anda.hcl +++ b/anda/devs/zsh-autocomplete/anda.hcl @@ -1,4 +1,5 @@ project pkg { + arches = ["x86_64"] rpm { spec = "zsh-autocomplete.spec" } diff --git a/anda/devs/zsh-autocomplete/zsh-autocomplete.spec b/anda/devs/zsh-autocomplete/zsh-autocomplete.spec index 663cce953d..d2c315a854 100644 --- a/anda/devs/zsh-autocomplete/zsh-autocomplete.spec +++ b/anda/devs/zsh-autocomplete/zsh-autocomplete.spec @@ -1,5 +1,3 @@ -%define debug_package %nil - Name: zsh-autocomplete Version: 25.03.19 Release: 1%?dist @@ -8,6 +6,7 @@ License: MIT URL: https://github.com/marlonrichert/zsh-autocomplete Source0: %url/archive/refs/tags/%version.tar.gz Packager: madonuko +BuildArch: noarch %description This plugin for Zsh adds real-time type-ahead autocompletion to your command 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 94e4714c86..ccf2e92a35 100644 --- a/anda/fonts/geist/geist.spec +++ b/anda/fonts/geist/geist.spec @@ -1,4 +1,4 @@ -%global ver 1.8.0 +%global ver v1.7.2 Name: geist-font Version: %(echo %ver | sed 's/^geist@//') @@ -30,7 +30,7 @@ Geist Mono is a monospaced typeface that has been crafted to be the perfect part It is designed to be used in code editors, diagrams, terminals, and other textbased interfaces where code is represented. %prep -%autosetup -n %name-geist-%version +%autosetup %build %make_build diff --git a/anda/fonts/iosevka/iosevka-fonts.spec b/anda/fonts/iosevka/iosevka-fonts.spec index 7b7f274452..639377d5e8 100644 --- a/anda/fonts/iosevka/iosevka-fonts.spec +++ b/anda/fonts/iosevka/iosevka-fonts.spec @@ -52,8 +52,8 @@ %global fontdescription %{expand: Versatile typeface for code, from code.} -Version: 34.2.1 -Release: 1%?dist +Version: 34.7.0 +Release: 1%{?dist} Packager: Cappy Ishihara Summary: Versatile typeface for code, from code. BuildRequires: rpm_macro(fontpkg) diff --git a/anda/fonts/juliamono/juliamono.spec b/anda/fonts/juliamono/juliamono.spec index 1494c19c6c..c16492e87e 100644 --- a/anda/fonts/juliamono/juliamono.spec +++ b/anda/fonts/juliamono/juliamono.spec @@ -1,6 +1,6 @@ Name: juliamono-fonts Version: 0.062 -Release: 1%?dist +Release: 2%?dist URL: https://juliamono.netlify.app/ Source0: https://github.com/cormullion/juliamono/archive/refs/tags/v%{version}.tar.gz License: OFL-1.1 @@ -8,7 +8,7 @@ Summary: A monospaced font with reasonable unicode support Requires: xorg-x11-font-utils BuildArch: noarch Provides: JuliaMono-fonts -Packager: Its-J +Packager: Its-J %description @@ -29,5 +29,8 @@ install -Dm644 *.ttf %{buildroot}%{_fontbasedir}/juliamono/ %{_fontbasedir}/juliamono/*.ttf %changelog -* Fri Nov 21 2025 Its-J -- Package JuliaMono \ No newline at end of file +* Tue Apr 14 2026 Its-J +- Add email to my previous contributor attributions + +* Fri Nov 21 2025 Its-J +- Package JuliaMono diff --git a/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec b/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec index b8afa6cb43..cfb00fca8a 100644 --- a/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec +++ b/anda/fonts/sarasa-gothic/sarasa-gothic-fonts.spec @@ -1,6 +1,6 @@ Name: sarasa-gothic-fonts -Version: 1.0.36 -Release: 1%?dist +Version: 1.0.40 +Release: 1%{?dist} URL: https://github.com/be5invis/Sarasa-Gothic Source0: %url/releases/download/v%version/Sarasa-TTC-%version.7z Source1: %url/releases/download/v%version/Sarasa-SuperTTC-%version.7z 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 bac8b542a9..9689b17e99 100644 --- a/anda/games/chess-tui/rust-chess-tui.spec +++ b/anda/games/chess-tui/rust-chess-tui.spec @@ -4,13 +4,13 @@ %global crate chess-tui Name: rust-chess-tui -Version: 2.5.1 -Release: 1%?dist +Version: 2.7.1 +Release: 1%{?dist} 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/emulationstation-de/emulationstation-de.spec b/anda/games/emulationstation-de/emulationstation-de.spec index 43a09221f8..6f7b5681f2 100644 --- a/anda/games/emulationstation-de/emulationstation-de.spec +++ b/anda/games/emulationstation-de/emulationstation-de.spec @@ -8,8 +8,8 @@ %bcond_with kms Name: emulationstation-de -Version: 3.4.0 -Release: 1%?dist +Version: 3.4.1 +Release: 1%{?dist} Summary: ES-DE is a frontend for browsing and launching games from your multi-platform collection. Packager: Cappy Ishihara License: MIT diff --git a/anda/games/gamescope-session-ogui-steam/gamescope-session-ogui-steam.spec b/anda/games/gamescope-session-ogui-steam/gamescope-session-ogui-steam.spec index 88a5fdcbf0..b1d6b2dd0c 100644 --- a/anda/games/gamescope-session-ogui-steam/gamescope-session-ogui-steam.spec +++ b/anda/games/gamescope-session-ogui-steam/gamescope-session-ogui-steam.spec @@ -1,8 +1,8 @@ %define debug_package %nil -%global commit 6835776876a2b9e5fc819bd8d98f06ae51fa6394 +%global commit fbdc7682f39088b4fe480a9285808ca81b3f9d03 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20231030 +%global commit_date 20260325 Name: gamescope-session-ogui-steam Version: 0~%{commit_date}git.%{shortcommit} @@ -25,14 +25,16 @@ Gamescope Session for OpenGamepadUI in overlay mode with Steam %build %install -install -Dpm0755 -t "%buildroot%_datadir/gamescope-session-plus/sessions.d/" ".%_datadir/gamescope-session-plus/sessions.d/steam-plus" +install -Dpm0755 -t "%buildroot%_datadir/gamescope-session-plus/sessions.d/" ".%_datadir/gamescope-session-plus/sessions.d/ogui-steam" +install -Dpm0644 -t "%buildroot%_datadir/wayland-sessions/" ".%_datadir/wayland-sessions/gamescope-session-ogui-steam.desktop" install -Dpm0644 -t "%buildroot%_datadir/wayland-sessions/" ".%_datadir/wayland-sessions/gamescope-session-steam-plus.desktop" install -Dpm0644 -t "%buildroot%_datadir/wayland-sessions/" ".%_datadir/wayland-sessions/gamepadui-with-qam-session.desktop" %files %doc README.md %license LICENSE -%{_datadir}/gamescope-session-plus/sessions.d/steam-plus +%{_datadir}/gamescope-session-plus/sessions.d/ogui-steam +%{_datadir}/wayland-sessions/gamescope-session-ogui-steam.desktop %{_datadir}/wayland-sessions/gamescope-session-steam-plus.desktop %{_datadir}/wayland-sessions/gamepadui-with-qam-session.desktop diff --git a/anda/games/gamescope-session-opengamepadui/gamescope-session-opengamepadui.spec b/anda/games/gamescope-session-opengamepadui/gamescope-session-opengamepadui.spec index d85f93c71d..43dbae5a53 100644 --- a/anda/games/gamescope-session-opengamepadui/gamescope-session-opengamepadui.spec +++ b/anda/games/gamescope-session-opengamepadui/gamescope-session-opengamepadui.spec @@ -1,15 +1,16 @@ -%global commit 1a3fdb7fa15a4bba7204bef69702b7a10a297828 +%global commit 88087a086ab732211c466b41f5d64229ce51c050 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260205 +%global commit_date 20260411 Name: gamescope-session-opengamepadui Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Gamescope session for OpenGamepadUI License: GPL-3.0-only URL: https://github.com/OpenGamingCollective/gamescope-session-opengamepadui Source0: %url/archive/%commit.tar.gz Packager: Tulip Blossom +Requires: gamescope-session Requires: opengamepadui BuildArch: noarch diff --git a/anda/games/gamescope-session-opengamepadui/update.rhai b/anda/games/gamescope-session-opengamepadui/update.rhai index ad1104c154..5dc68937a3 100644 --- a/anda/games/gamescope-session-opengamepadui/update.rhai +++ b/anda/games/gamescope-session-opengamepadui/update.rhai @@ -1,7 +1,5 @@ -if filters.contains("nightly") { - rpm.global("commit", gh_commit("OpenGamingCollective/gamescope-session-steam")); - if rpm.changed() { +rpm.global("commit", gh_commit("OpenGamingCollective/gamescope-session-opengamepadui")); +if rpm.changed() { rpm.release(); rpm.global("commit_date", date()); - } } diff --git a/anda/games/gamescope-session-steam/gamescope-session-steam.spec b/anda/games/gamescope-session-steam/gamescope-session-steam.spec index 9d819478fb..4fc849bd2a 100644 --- a/anda/games/gamescope-session-steam/gamescope-session-steam.spec +++ b/anda/games/gamescope-session-steam/gamescope-session-steam.spec @@ -1,16 +1,18 @@ %define debug_package %nil -%global commit 1a3fdb7fa15a4bba7204bef69702b7a10a297828 +%global commit 1019f9a2a98b7aaa180c3739901244854b126787 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20241205 +%global commit_date 20260518 Name: gamescope-session-steam Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: gamescope-session-steam License: MIT URL: https://github.com/OpenGamingCollective/gamescope-session-steam Source0: %url/archive/%commit.tar.gz +Requires: gamescope-session +Requires: steam Packager: Tulip Blossom BuildArch: noarch @@ -26,6 +28,10 @@ BuildArch: noarch install -Dpm0755 -t "%buildroot%_bindir/" ".%_bindir/steam-http-loader" install -Dpm0755 -t "%buildroot%_bindir/" ".%_bindir/steamos-select-branch" install -Dpm0755 -t "%buildroot%_bindir/" ".%_bindir/steamos-session-select" +install -Dpm0755 -t "%buildroot%_bindir/" ".%_bindir/steamos-update" +install -Dpm0755 -t "%buildroot%_bindir/steamos-polkit-helpers/" ".%_bindir/steamos-polkit-helpers/jupiter-biosupdate" +install -Dpm0755 -t "%buildroot%_bindir/steamos-polkit-helpers/" ".%_bindir/steamos-polkit-helpers/steamos-select-branch" +install -Dpm0755 -t "%buildroot%_bindir/steamos-polkit-helpers/" ".%_bindir/steamos-polkit-helpers/steamos-update" install -Dpm0644 -t "%buildroot%_datadir/applications/" ".%_datadir/applications/steam_http_loader.desktop" install -Dpm0644 -t "%buildroot%_datadir/applications/" ".%_datadir/applications/gamescope-mimeapps.list" install -Dpm0755 -t "%buildroot%_datadir/gamescope-session-plus/sessions.d/" ".%_datadir/gamescope-session-plus/sessions.d/steam" @@ -38,6 +44,10 @@ install -Dpm0644 -t "%buildroot%_datadir/wayland-sessions/" ".%_datadir/wayland- %{_bindir}/steam-http-loader %{_bindir}/steamos-select-branch %{_bindir}/steamos-session-select +%{_bindir}/steamos-update +%{_bindir}/steamos-polkit-helpers/jupiter-biosupdate +%{_bindir}/steamos-polkit-helpers/steamos-select-branch +%{_bindir}/steamos-polkit-helpers/steamos-update %{_datadir}/applications/gamescope-mimeapps.list %{_datadir}/applications/steam_http_loader.desktop %{_datadir}/gamescope-session-plus/sessions.d/steam diff --git a/anda/games/gamescope-session/gamescope-session.spec b/anda/games/gamescope-session/gamescope-session.spec index f6bd8ace06..ad86d77583 100644 --- a/anda/games/gamescope-session/gamescope-session.spec +++ b/anda/games/gamescope-session/gamescope-session.spec @@ -6,11 +6,13 @@ Name: gamescope-session Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 3%?dist Summary: Gamescope session based on Valve's gamescope License: MIT URL: https://github.com/OpenGamingCollective/gamescope-session Source0: %url/archive/%commit.tar.gz +Requires: gamescope +Recommends: switcheroo-control BuildRequires: systemd-rpm-macros Packager: Tulip Blossom BuildArch: noarch @@ -29,7 +31,7 @@ install -Dpm0755 -t "%buildroot%_bindir/" ".%_bindir/gamescope-session-plus" install -Dpm0644 -t "%buildroot%_userunitdir/" ".%_userunitdir/gamescope-session-plus@.service" install -Dpm0644 -t "%buildroot%_userunitdir/" ".%_userunitdir/gamescope-session.target" install -Dpm0644 -t "%buildroot%_datadir/gamescope-session-plus/" ".%_datadir/gamescope-session-plus/device-quirks" -install -Dpm0644 -t "%buildroot%_datadir/gamescope-session-plus/" ".%_datadir/gamescope-session-plus/gamescope-session-plus" +install -Dpm0755 -t "%buildroot%_datadir/gamescope-session-plus/" ".%_datadir/gamescope-session-plus/gamescope-session-plus" install -Dpm0644 -t "%buildroot%_datadir/gamescope/scripts/50-custom/50-disable-explicit-sync.lua" ".%_datadir/gamescope/scripts/50-custom/50-disable-explicit-sync.lua" %files 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/heroic-games-launcher/heroic-games-launcher.spec b/anda/games/heroic-games-launcher/heroic-games-launcher.spec index 5d311e425d..cd82b3014b 100644 --- a/anda/games/heroic-games-launcher/heroic-games-launcher.spec +++ b/anda/games/heroic-games-launcher/heroic-games-launcher.spec @@ -2,14 +2,14 @@ %global git_name %(echo %{org_name} | sed 's/-//g') %global appid com.heroicgameslauncher.hgl %global shortname heroic -%global legendary_version 0.20.42 +%global legendary_version 0.20.43 %global gogdl_version 1.2.1 %global nile_version 1.1.2 %global comet_version 0.2.0 Name: %{shortname}-games-launcher -Version: 2.20.1 -Release: 1%?dist +Version: 2.22.0 +Release: 1%{?dist} Summary: A games launcher for GOG, Amazon, and Epic Games License: GPL-3.0-only AND MIT AND BSD-3-Clause URL: https://heroicgameslauncher.com diff --git a/anda/games/inputplumber/inputplumber.spec b/anda/games/inputplumber/inputplumber.spec index cd83a830a2..4385f0ae3f 100644 --- a/anda/games/inputplumber/inputplumber.spec +++ b/anda/games/inputplumber/inputplumber.spec @@ -1,8 +1,8 @@ %global __brp_mangle_shebangs %{nil} Name: inputplumber -Version: 0.75.0 -Release: 1%?dist +Version: 0.77.7 +Release: 1%{?dist} Summary: Open source input router and remapper daemon for Linux License: GPL-3.0-or-later URL: https://github.com/ShadowBlip/InputPlumber @@ -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 a23f6941ec..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,8 +2,8 @@ %global crate anime-game-launcher %global appid moe.launcher.an-anime-game-launcher Name: %{crate} -Version: 3.18.0 -Release: 1%?dist +Version: 3.19.6 +Release: 1%{?dist} Summary: An Anime Game Launcher for Linux with automatic patching and telemetry disabling License: GPL-3.0-or-later @@ -53,6 +53,7 @@ BuildRequires: protobuf-devel protobuf-compiler %install %crate_install_bin +install -Dm644 assets/moe.launcher.an-anime-game-launcher.metainfo.xml %{buildroot}%{_metainfodir}/moe.launcher.an-anime-game-launcher.metainfo.xml install -Dm644 assets/images/icon.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/%{appid}.png desktop-file-install \ --set-icon="%{appid}" \ @@ -70,7 +71,11 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/anime-game-launcher. %{_datadir}/applications/anime-game-launcher.desktop %{_bindir}/%{crate} %{_datadir}/icons/hicolor/512x512/apps/%{appid}.png +%{_metainfodir}/moe.launcher.an-anime-game-launcher.metainfo.xml %changelog +* Mon Dec 08 2025 Owen Zimmerman +- Install metainfo + * Sat Sep 20 2025 Cappy Ishihara - Initial package 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 c449956491..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,8 +2,8 @@ %global crate honkers-railway-launcher %global appid moe.launcher.the-honkers-railway-launcher Name: %{crate} -Version: 1.14.4 -Release: 1%?dist +Version: 1.15.1 +Release: 1%{?dist} Summary: The Honkers Railway launcher for Linux with automatic patching and telemetry disabling License: GPL-3.0-or-later diff --git a/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec b/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec index 8ee3aaded9..2a231b1586 100644 --- a/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec +++ b/anda/games/launcher.moe/sleepy-launcher/sleepy-launcher.spec @@ -2,8 +2,8 @@ %global crate sleepy-launcher %global appid moe.launcher.sleepy-launcher Name: %{crate} -Version: 1.6.2 -Release: 1%?dist +Version: 1.6.6 +Release: 1%{?dist} Summary: Sleepy Game Launcher for Linux with automatic patching and telemetry disabling License: GPL-3.0-or-later diff --git a/anda/games/melonDS/nightly/anda.hcl b/anda/games/melonDS/nightly/anda.hcl new file mode 100644 index 0000000000..611237a45a --- /dev/null +++ b/anda/games/melonDS/nightly/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "melonDS-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/games/melonDS/nightly/melonDS-nightly.spec b/anda/games/melonDS/nightly/melonDS-nightly.spec new file mode 100644 index 0000000000..73bde06146 --- /dev/null +++ b/anda/games/melonDS/nightly/melonDS-nightly.spec @@ -0,0 +1,50 @@ +%define debug_package %{nil} + +%global commit 10a173b5536fc75cd93f8a3868349dad963542ef +%global commit_date 20260607 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%global ver 1.1 + +Name: melonds-nightly +Version: %{ver}^%{commit_date}git.%{shortcommit} +Release: 2%{?dist} +Summary: DS emulator, sorta +License: GPL-3.0-or-later +URL: https://melonds.kuribo64.net/ +Source0: https://github.com/melonDS-emu/melonDS/archive/%{commit}/melonDS-%{commit}.tar.gz +Packager: Owen Zimmerman +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake(Qt6) +BuildRequires: qt6-qtmultimedia-devel +BuildRequires: qt6-qtsvg-devel +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(libarchive) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(faad2) +BuildRequires: pkgconfig(libenet) +BuildSystem: cmake + +Provides: melonDS-nightly + +%description +%{summary}. + +%files +%doc README.md +%license LICENSE +%{_bindir}/melonDS +%{_appsdir}/net.kuribo64.melonDS.desktop +%{_hicolordir}/128x128/apps/net.kuribo64.melonDS.png +%{_hicolordir}/16x16/apps/net.kuribo64.melonDS.png +%{_hicolordir}/256x256/apps/net.kuribo64.melonDS.png +%{_hicolordir}/32x32/apps/net.kuribo64.melonDS.png +%{_hicolordir}/48x48/apps/net.kuribo64.melonDS.png +%{_hicolordir}/64x64/apps/net.kuribo64.melonDS.png + +%changelog +* Sat Jun 27 2026 Owen Zimmerman +- Initial commit diff --git a/anda/games/melonDS/nightly/update.rhai b/anda/games/melonDS/nightly/update.rhai new file mode 100644 index 0000000000..051f5949cf --- /dev/null +++ b/anda/games/melonDS/nightly/update.rhai @@ -0,0 +1,7 @@ +rpm.global("ver", gh("melonDS-emu/melonDS")); + +rpm.global("commit", gh_commit("melonDS-emu/melonDS")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/games/melonDS/stable/anda.hcl b/anda/games/melonDS/stable/anda.hcl new file mode 100644 index 0000000000..ad7581c190 --- /dev/null +++ b/anda/games/melonDS/stable/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "melonDS.spec" + } +} diff --git a/anda/games/melonDS/stable/melonDS.spec b/anda/games/melonDS/stable/melonDS.spec new file mode 100644 index 0000000000..63b1b24a9c --- /dev/null +++ b/anda/games/melonDS/stable/melonDS.spec @@ -0,0 +1,44 @@ +%define debug_package %{nil} + +Name: melonds +Version: 1.1 +Release: 1%{?dist} +Summary: DS emulator, sorta +License: GPL-3.0-or-later +URL: https://melonds.kuribo64.net/ +Source0: https://github.com/melonDS-emu/melonDS/archive/refs/tags/%{version}.tar.gz +Packager: Owen Zimmerman +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake(Qt6) +BuildRequires: qt6-qtmultimedia-devel +BuildRequires: qt6-qtsvg-devel +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(libarchive) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(faad2) +BuildRequires: pkgconfig(libenet) +BuildSystem: cmake + +Provides: melonDS + +%description +%{summary}. + +%files +%doc README.md +%license LICENSE +%{_bindir}/melonDS +%{_appsdir}/net.kuribo64.melonDS.desktop +%{_hicolordir}/128x128/apps/net.kuribo64.melonDS.png +%{_hicolordir}/16x16/apps/net.kuribo64.melonDS.png +%{_hicolordir}/256x256/apps/net.kuribo64.melonDS.png +%{_hicolordir}/32x32/apps/net.kuribo64.melonDS.png +%{_hicolordir}/48x48/apps/net.kuribo64.melonDS.png +%{_hicolordir}/64x64/apps/net.kuribo64.melonDS.png + +%changelog +* Sat Jun 27 2026 Owen Zimmerman +- Initial commit diff --git a/anda/games/melonDS/stable/update.rhai b/anda/games/melonDS/stable/update.rhai new file mode 100644 index 0000000000..6c81c70313 --- /dev/null +++ b/anda/games/melonDS/stable/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("melonDS-emu/melonDS")); diff --git a/anda/games/opengamepadui/523.patch b/anda/games/opengamepadui/523.patch new file mode 100644 index 0000000000..541f461c0f --- /dev/null +++ b/anda/games/opengamepadui/523.patch @@ -0,0 +1,24 @@ +From a3a4839724f9cf7be546fa441ba12afc95da2743 Mon Sep 17 00:00:00 2001 +From: Svitkona +Date: Fri, 19 Jun 2026 16:22:34 -0400 +Subject: [PATCH] fix: use path.get_base_dir() instead of manual split + join + +--- + core/systems/input/input_plumber_profile.gd | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/core/systems/input/input_plumber_profile.gd b/core/systems/input/input_plumber_profile.gd +index 7ac5eb37..bdb0adee 100644 +--- a/core/systems/input/input_plumber_profile.gd ++++ b/core/systems/input/input_plumber_profile.gd +@@ -159,9 +159,7 @@ static func get_target_device(target_device_str: String) -> TargetDevice: + func save(path: String) -> Error: + if path.begins_with("user://") or path.begins_with("res://"): + path = ProjectSettings.globalize_path(path) +- var path_parts := Array(path.split("/", false)) +- path_parts.pop_back() +- var base_path := "/".join(path_parts) ++ var base_path := path.get_base_dir() + + if DirAccess.make_dir_recursive_absolute(base_path) != OK: + print("Failed to mkdir") diff --git a/anda/games/opengamepadui/opengamepadui.spec b/anda/games/opengamepadui/opengamepadui.spec index ba31a9b7f5..e34c0e304c 100644 --- a/anda/games/opengamepadui/opengamepadui.spec +++ b/anda/games/opengamepadui/opengamepadui.spec @@ -1,12 +1,15 @@ Name: opengamepadui -Version: 0.44.3 -Release: 1%?dist +Version: 0.45.0 +Release: 2%{?dist} Summary: Open source gamepad-native game launcher and overlay License: GPLv3 URL: https://github.com/ShadowBlip/OpenGamepadUI Packager: Cappy Ishihara +# https://patch-diff.githubusercontent.com/raw/ShadowBlip/OpenGamepadUI/pull/523 +Patch0: 523.patch + BuildRequires: godot BuildRequires: scons BuildRequires: make @@ -33,6 +36,7 @@ BuildRequires: pkgconfig(xau) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(xdmcp) BuildRequires: systemd-rpm-macros +BuildRequires: patch Requires: godot-runner Recommends: inputplumber @@ -52,6 +56,7 @@ rm -rf %{build_dir} git clone %{url} %{build_dir} -b v%{version} cd %{build_dir} git checkout tags/v%{version} +%patch 0 -p1 %build cd %{build_dir} diff --git a/anda/games/osu-lazer/osu-lazer.spec b/anda/games/osu-lazer/osu-lazer.spec index c6dc06d3ba..5bdd70df80 100644 --- a/anda/games/osu-lazer/osu-lazer.spec +++ b/anda/games/osu-lazer/osu-lazer.spec @@ -1,10 +1,10 @@ -%define osuresver 2026.108.0 +%define osuresver 2026.615.0 %global debug_package %{nil} %define __strip /bin/true Name: osu-lazer -Version: 2026.119.0 -Release: 2%?dist +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 URL: https://osu.ppy.sh/ diff --git a/anda/games/prismlauncher-nightly/0001-find-cmark-with-pkgconfig.patch b/anda/games/prismlauncher-nightly/0001-find-cmark-with-pkgconfig.patch deleted file mode 100644 index d41ef66bec..0000000000 --- a/anda/games/prismlauncher-nightly/0001-find-cmark-with-pkgconfig.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 5a38fc2c9a329e88c8337af541dfeccaeff1fefb Mon Sep 17 00:00:00 2001 -From: seth -Date: Sun, 15 Jan 2023 14:47:49 -0500 -Subject: [PATCH] find cmark with pkgconfig - -Signed-off-by: seth ---- - cmake/Findcmark.cmake | 59 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 59 insertions(+) - create mode 100755 cmake/Findcmark.cmake - -diff --git a/cmake/Findcmark.cmake b/cmake/Findcmark.cmake -new file mode 100755 -index 00000000..9858e5df ---- /dev/null -+++ b/cmake/Findcmark.cmake -@@ -0,0 +1,59 @@ -+# SPDX-FileCopyrightText: 2019 Black Hat -+# SPDX-License-Identifier: GPL-3.0-only -+ -+# -+# CMake module to search for the cmark library -+# -+ -+# first try to find cmark-config.cmake -+# path to a file not in the search path can be set with 'cmake -Dcmark_DIR=some/path/' -+find_package(cmark CONFIG QUIET) -+if(cmark_FOUND AND TARGET cmark::cmark) -+ # found it! -+ return() -+endif() -+ -+find_package(PkgConfig QUIET) -+if(PKG_CONFIG_FOUND) -+ pkg_check_modules(PC_CMARK QUIET cmark) -+endif() -+ -+if(NOT CMARK_INCLUDE_DIR) -+ find_path(CMARK_INCLUDE_DIR -+ NAMES cmark.h -+ PATHS -+ ${PC_CMARK_INCLUDEDIR} -+ ${PC_CMARK_INCLUDE_DIRS} -+ /usr/include -+ /usr/local/include) -+endif() -+ -+if(NOT CMARK_LIBRARY) -+ find_library(CMARK_LIBRARY -+ NAMES cmark -+ HINTS -+ ${PC_CMARK_LIBDIR} -+ ${PC_CMARK_LIBRARY_DIRS} -+ /usr/lib -+ /usr/local/lib) -+endif() -+ -+if(NOT TARGET cmark::cmark) -+ add_library(cmark::cmark UNKNOWN IMPORTED) -+ set_target_properties(cmark::cmark -+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES -+ ${CMARK_INCLUDE_DIR}) -+ set_property(TARGET cmark::cmark APPEND -+ PROPERTY IMPORTED_LOCATION ${CMARK_LIBRARY}) -+endif() -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(cmark -+ DEFAULT_MSG -+ CMARK_INCLUDE_DIR -+ CMARK_LIBRARY) -+ -+mark_as_advanced(CMARK_LIBRARY CMARK_INCLUDE_DIR) -+ -+set(CMARK_LIBRARIES ${CMARK_LIBRARY}) -+set(CMARK_INCLUDE_DIRS ${CMARK_INCLUDE_DIR}) --- -2.39.0 - diff --git a/anda/games/prismlauncher-nightly/anda.hcl b/anda/games/prismlauncher-nightly/anda.hcl index 061a1307db..fdc18bbc52 100644 --- a/anda/games/prismlauncher-nightly/anda.hcl +++ b/anda/games/prismlauncher-nightly/anda.hcl @@ -1,7 +1,7 @@ project pkg { rpm { spec = "prismlauncher-nightly.spec" - extra_repos = ["https://packages.adoptium.net/artifactory/rpm/fedora/\\$releasever/\\$basearch"] + extra_repos = ["https://packages.adoptium.net/artifactory/rpm/fedora/rawhide/\\$basearch"] } labels { nightly = 1 diff --git a/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec b/anda/games/prismlauncher-nightly/prismlauncher-nightly.spec index 96e0afcae1..45469558a9 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 b114d043f638e30d421b8a299fdfed4b3230ba3d +%global commit d2fa7cf7f7aa8fa5e3d4f5f7b474621c732cd525 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260303 +%global commit_date 20260627 %global snapshot_info %{commit_date}.%{shortcommit} # Change this variables if you want to use custom keys @@ -20,13 +20,12 @@ %global build_platform terra Name: prismlauncher-nightly -Version: 11.0^%{snapshot_info} -Release: 1%?dist +Version: 12.0^%{snapshot_info} +Release: 1%{?dist} Summary: Minecraft launcher with ability to manage multiple instances License: GPL-3.0-only AND Apache-2.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND ISC AND OFL-1.1 AND LGPL-2.1-only AND MIT AND BSD-2-Clause-FreeBSD AND BSD-3-Clause AND LGPL-3.0-or-later Group: Amusements/Games URL: https://prismlauncher.org/ -Patch0: 0001-find-cmark-with-pkgconfig.patch Source2: nightly.xml BuildRequires: cmake >= 3.15 @@ -38,16 +37,12 @@ BuildRequires: terra-appstream-helper # Make sure you have Adoptium's repositories enabled # https://fedoraproject.org/wiki/Changes/ThirdPartyLegacyJdks # https://adoptium.net/installation/linux/#_centosrhelfedora_instructions -%if 0%{?fedora} > 41 BuildRequires: temurin-17-jdk -%else -BuildRequires: java-17-openjdk-devel -%endif BuildRequires: anda-srpm-macros BuildRequires: desktop-file-utils BuildRequires: libappstream-glib BuildRequires: tomlplusplus-devel -BuildRequires: cmake(ghc_filesystem) +BuildRequires: vulkan-headers BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(gamemode) @@ -60,8 +55,6 @@ BuildRequires: cmake(Qt%{qt_version}Widgets) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Xml) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}NetworkAuth) >= %{min_qt_version} -BuildRequires: cmake(Qt6Core5Compat) - BuildRequires: pkgconfig(libcmark) BuildRequires: pkgconfig(scdoc) BuildRequires: pkgconfig(zlib) @@ -72,11 +65,6 @@ Requires(postun): desktop-file-utils Requires: qt%{qt_version}-qtimageformats Requires: qt%{qt_version}-qtsvg Requires: javapackages-filesystem -# See note above -%if 0%{?fedora} && 0%{?fedora} < 42 -Recommends: java-17-openjdk -Suggests: java-1.8.0-openjdk -%endif # xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 Recommends: xrandr @@ -97,13 +85,11 @@ multiple installations of Minecraft at once (Fork of MultiMC) %prep %git_clone https://github.com/%{nice_name}/%{nice_name}.git %{commit} -rm -rf libraries/{extra-cmake-modules,zlib}/ - # Do not set RPATH sed -i "s|\$ORIGIN/||" CMakeLists.txt -%build +%conf %cmake \ -DLauncher_QT_VERSION_MAJOR="%{qt_version}" \ -DLauncher_BUILD_PLATFORM="%{build_platform}" \ @@ -116,8 +102,12 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt %if "%{curseforge_key}" != "default" -DLauncher_CURSEFORGE_API_KEY="%{curseforge_key}" \ %endif - -DBUILD_TESTING=OFF - + -DBUILD_TESTING=OFF \ +%if 0%{?fedora} > 43 + -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=sfinae-incomplete" +%endif + +%build %cmake_build @@ -143,7 +133,7 @@ rm -f %{buildroot}%{_datadir}/metainfo/org.prismlauncher.PrismLauncher.metainfo. %{_metainfodir}/%{appid}.metainfo.xml %{_scalableiconsdir}/org.prismlauncher.PrismLauncher.svg %{_hicolordir}/256x256/apps/org.prismlauncher.PrismLauncher.png -%{_datadir}/mime/packages/modrinth-mrpack-mime.xml +%{_datadir}/mime/packages/org.prismlauncher.PrismLauncher.xml %{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories %{_mandir}/man?/prismlauncher.* diff --git a/anda/games/prismlauncher/anda.hcl b/anda/games/prismlauncher/anda.hcl index 3a35d4fe52..fc4ef0f47c 100644 --- a/anda/games/prismlauncher/anda.hcl +++ b/anda/games/prismlauncher/anda.hcl @@ -1,7 +1,7 @@ project pkg { rpm { spec = "prismlauncher.spec" - extra_repos = ["https://packages.adoptium.net/artifactory/rpm/fedora/\\$releasever/\\$basearch"] + extra_repos = ["https://packages.adoptium.net/artifactory/rpm/fedora/rawhide/\\$basearch"] } labels { mock = 1 diff --git a/anda/games/prismlauncher/prismlauncher.spec b/anda/games/prismlauncher/prismlauncher.spec index 4c7cff5acf..8afe76fe12 100644 --- a/anda/games/prismlauncher/prismlauncher.spec +++ b/anda/games/prismlauncher/prismlauncher.spec @@ -13,8 +13,8 @@ %global build_platform terra Name: prismlauncher -Version: 10.0.5 -Release: 1%?dist +Version: 11.0.2 +Release: 2%{?dist} Summary: Minecraft launcher with ability to manage multiple instances # see COPYING.md for more information # each file in the source also contains a SPDX-License-Identifier header that declares its license @@ -31,15 +31,10 @@ BuildRequires: gcc-c++ # Make sure you have Adoptium's repositories enabled # https://fedoraproject.org/wiki/Changes/ThirdPartyLegacyJdks # https://adoptium.net/installation/linux/#_centosrhelfedora_instructions -%if 0%{?fedora} > 41 BuildRequires: temurin-17-jdk -%else -BuildRequires: java-17-openjdk-devel -%endif BuildRequires: anda-srpm-macros BuildRequires: desktop-file-utils BuildRequires: libappstream-glib -BuildRequires: cmake(ghc_filesystem) BuildRequires: cmake(Qt%{qt_version}Concurrent) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Core) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Gui) >= %{min_qt_version} @@ -49,12 +44,11 @@ BuildRequires: cmake(Qt%{qt_version}Widgets) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}Xml) >= %{min_qt_version} BuildRequires: cmake(Qt%{qt_version}NetworkAuth) >= %{min_qt_version} BuildRequires: tomlplusplus-devel +BuildRequires: vulkan-headers BuildRequires: pkgconfig(libqrencode) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(gamemode) -BuildRequires: cmake(Qt6Core5Compat) - BuildRequires: pkgconfig(libcmark) BuildRequires: pkgconfig(scdoc) BuildRequires: pkgconfig(zlib) @@ -65,12 +59,7 @@ Requires(postun): desktop-file-utils Requires: qt%{qt_version}-qtimageformats Requires: qt%{qt_version}-qtsvg Requires: javapackages-filesystem -Recommends: java-21-openjdk -# See note above -%if 0%{?fedora} && 0%{?fedora} < 42 -Recommends: java-17-openjdk -Suggests: java-1.8.0-openjdk -%endif +Recommends: java-25-openjdk # xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 Recommends: xrandr @@ -90,13 +79,10 @@ multiple installations of Minecraft at once (Fork of MultiMC) %prep %autosetup -n PrismLauncher-%{version} -rm -rf libraries/{extra-cmake-modules,filesystem,zlib} - # Do not set RPATH sed -i "s|\$ORIGIN/||" CMakeLists.txt - -%build +%conf %cmake \ -DLauncher_QT_VERSION_MAJOR="%{qt_version}" \ -DLauncher_BUILD_PLATFORM="%{build_platform}" \ @@ -109,8 +95,12 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt %if "%{curseforge_key}" != "default" -DLauncher_CURSEFORGE_API_KEY="%{curseforge_key}" \ %endif - -DBUILD_TESTING=OFF + -DBUILD_TESTING=OFF \ +%if 0%{?fedora} > 43 + -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=sfinae-incomplete" +%endif +%build %cmake_build @@ -134,7 +124,7 @@ sed -i "s|\$ORIGIN/||" CMakeLists.txt %{_appsdir}/org.prismlauncher.PrismLauncher.desktop %{_scalableiconsdir}/org.prismlauncher.PrismLauncher.svg %{_hicolordir}/256x256/apps/org.prismlauncher.PrismLauncher.png -%{_datadir}/mime/packages/modrinth-mrpack-mime.xml +%{_datadir}/mime/packages/org.prismlauncher.PrismLauncher.xml %{_datadir}/qlogging-categories%{qt_version}/prismlauncher.categories %{_mandir}/man?/prismlauncher.* %{_metainfodir}/org.prismlauncher.PrismLauncher.metainfo.xml diff --git a/anda/games/protonplus/anda.hcl b/anda/games/protonplus/anda.hcl new file mode 100644 index 0000000000..a199943121 --- /dev/null +++ b/anda/games/protonplus/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "protonplus.spec" + } +} diff --git a/anda/games/protonplus/protonplus.spec b/anda/games/protonplus/protonplus.spec new file mode 100644 index 0000000000..f6a7c68597 --- /dev/null +++ b/anda/games/protonplus/protonplus.spec @@ -0,0 +1,56 @@ +%define appid com.vysp3r.ProtonPlus + +Name: protonplus +Version: 0.5.21 +Release: 1%{?dist} +Summary: A modern compatibility tools manager +License: GPL-3.0-or-later +URL: https://github.com/Vysp3r/ProtonPlus +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +Packager: Owen Zimmerman + +BuildRequires: meson +BuildRequires: ninja-build +BuildRequires: gcc +BuildRequires: vala +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(libadwaita-1) +BuildRequires: pkgconfig(json-glib-1.0) +BuildRequires: pkgconfig(libsoup-3.0) +BuildRequires: pkgconfig(gee-0.8) +BuildRequires: pkgconfig(libarchive) +BuildRequires: desktop-file-utils + +Provides: ProtonPlus + +%description +ProtonPlus is a modern compatibility tools manager for Linux. +It allows you to easily manage and update various compatibility +tools like Proton, Wine, DXVK, and VKD3D across different launchers. + +%prep +%autosetup -n ProtonPlus-%{version} + +%conf +%meson + +%build +%meson_build + +%install +%meson_install + +%find_lang %{appid} + +%files -f %{appid}.lang +%doc README.md CODE_OF_CONDUCT.md CONTRIBUTING.md SECURITY.md +%license LICENSE.md +%{_bindir}/protonplus +%{_metainfodir}/%{appid}.metainfo.xml +%{_appsdir}/%{appid}.desktop +%{_datadir}/glib-2.0/schemas/%{appid}.gschema.xml +%{_hicolordir}/*/apps/%{appid}.png + +%changelog +* Mon May 04 2026 Owen Zimmerman +- Initial commit diff --git a/anda/games/protonplus/update.rhai b/anda/games/protonplus/update.rhai new file mode 100644 index 0000000000..6f494c1fc0 --- /dev/null +++ b/anda/games/protonplus/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Vysp3r/ProtonPlus")); diff --git a/anda/games/rom-properties/anda.hcl b/anda/games/rom-properties/anda.hcl new file mode 100644 index 0000000000..28bc44a710 --- /dev/null +++ b/anda/games/rom-properties/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "rom-properties.spec" + } +} diff --git a/anda/games/rom-properties/rom-properties.spec b/anda/games/rom-properties/rom-properties.spec new file mode 100644 index 0000000000..284c1eee4f --- /dev/null +++ b/anda/games/rom-properties/rom-properties.spec @@ -0,0 +1,199 @@ +Name: rom-properties +Version: 2.8 +Release: 1%{?dist} +Summary: File browser extension for managing video game ROM and disc images +License: GPL-2.0-only +URL: https://github.com/GerbilSoft/%{name} +Packager: Kyle Gospodnetich + +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: pkgconf +BuildRequires: gettext-devel +BuildRequires: libseccomp-devel +BuildRequires: libcurl-devel +BuildRequires: nettle-devel +BuildRequires: zlib-devel +BuildRequires: lz4-devel +BuildRequires: lzo-devel +BuildRequires: libzstd-devel +BuildRequires: tinyxml2-devel +BuildRequires: libpng-devel +BuildRequires: libjpeg-turbo-devel +BuildRequires: pugixml-devel +BuildRequires: qt5-qtbase-devel +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qttools +BuildRequires: extra-cmake-modules +BuildRequires: kf6-kio-devel +BuildRequires: kf6-kwidgetsaddons-devel +BuildRequires: kf6-kfilemetadata-devel +BuildRequires: kf6-kcrash-devel +BuildRequires: glib2-devel +BuildRequires: gtk4-devel +BuildRequires: gdk-pixbuf2-devel +BuildRequires: nautilus-devel +BuildRequires: cairo-devel +BuildRequires: gsound-devel +BuildRequires: gtk3-devel + +Requires: %{name}-common = %{version}-%{release} +Recommends: %{name}-utils = %{version}-%{release} +Recommends: lz4 +Recommends: lzo + +%description +This shell extension adds a few nice features to file browsers for managing +video game ROM and disc images. + +%prep +%autosetup -p1 -n %{name}-%{version} + +%build +%cmake \ + -DBUILD_GTK3=ON \ + -DBUILD_GTK4=ON \ + -DBUILD_KDE4=OFF \ + -DBUILD_KF5=OFF \ + -DBUILD_KF6=ON \ + -DBUILD_XFCE=OFF \ + -DSPLIT_DEBUG=OFF \ + -DUSE_INTERNAL_XML=OFF +%cmake_build + +%install +%cmake_install + +%files +%{_defaultdocdir}/%{name}/ +%{_libdir}/libromdata.* + +%package cli +Summary: CLI tools for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description cli +Command-line interface tools for rom-properties. + +%files cli +%{_bindir}/rpcli + +%package common +Summary: Common files for rom-properties +BuildArch: noarch + +%description common +Common files for rom-properties. + +%files common +%{_datadir}/%{name}/amiibo-data.bin +%{_datadir}/applications/com.gerbilsoft.rom-properties.rp-config.desktop +%{_datadir}/metainfo/com.gerbilsoft.rom-properties.metainfo.xml +%{_datadir}/mime/packages/rom-properties.xml +%{_datadir}/locale/*/LC_MESSAGES/rom-properties.mo + +%package gtk4 +Summary: GTK4 integration for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} +Recommends: %{name}-localsearch3 = %{version}-%{release} + +%description gtk4 +GNOME/Nautilus file manager integration for rom-properties. + +%files gtk4 +%{_libdir}/nautilus/extensions-4/rom-properties-gtk4.so + +%package gtk3 +Summary: GTK3 integration for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description gtk3 +GTK3 file manager integration for rom-properties. Provides extensions +for Nautilus, Caja, Nemo, and Thunar. + +%files gtk3 +%{_libdir}/nautilus/extensions-3.0/rom-properties-gtk3.so +%{_libdir}/caja/extensions-2.0/rom-properties-gtk3.so +%{_datadir}/caja/extensions/rom-properties-gtk3.caja-extension +%{_libdir}/nemo/extensions-3.0/rom-properties-gtk3.so +%{_libdir}/thunarx-3/rom-properties-gtk3.so + +%package kf6 +Summary: KDE6 integration for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description kf6 +KDE Plasma 6 file manager integration for rom-properties. + +%files kf6 +%{_datadir}/kio/servicemenus/rp-convert-to-png.desktop +%{_libdir}/qt6/plugins/kf6/propertiesdialog/xattrview-kf6.so +%{_libdir}/qt6/plugins/kf6/kfilemetadata/kfilemetadata_rom-properties-kf6.so +%{_libdir}/qt6/plugins/kf6/overlayicon/overlayiconplugin_rom-properties-kf6.so +%{_libdir}/qt6/plugins/kf6/propertiesdialog/rom-properties-kf6.so +%{_libdir}/qt6/plugins/kf6/thumbcreator/RomThumbnailCreator-kf6.so + +%package utils +Summary: Utilities for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description utils +Utility programs for rom-properties including the thumbnail generator +and configuration tool. + +%files utils +%{_libexecdir}/rp-download +%{_libexecdir}/rp-thumbnail +%{_datadir}/thumbnailers/rom-properties.thumbnailer +%{_bindir}/rp-stub +%{_bindir}/rp-config + +%package localsearch3 +Summary: GNOME localsearch3 integration for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description localsearch3 +GNOME localsearch 3.0 extract modules for rom-properties, providing +full-text search integration for ROM and disc image metadata. + +%files localsearch3 +%{_libdir}/localsearch-3.0/extract-modules/libextract-rom-properties.so +%{_datadir}/localsearch3/extract-rules/14-rp-application-packages.rule +%{_datadir}/localsearch3/extract-rules/14-rp-audio.rule +%{_datadir}/localsearch3/extract-rules/14-rp-banners.rule +%{_datadir}/localsearch3/extract-rules/14-rp-cd-images.rule +%{_datadir}/localsearch3/extract-rules/14-rp-disk-images.rule +%{_datadir}/localsearch3/extract-rules/14-rp-executables.rule +%{_datadir}/localsearch3/extract-rules/14-rp-rom-images.rule +%{_datadir}/localsearch3/extract-rules/14-rp-save-files.rule +%{_datadir}/localsearch3/extract-rules/14-rp-textures.rule + +%package thumbnailer-dbus +Summary: D-Bus thumbnailer service for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description thumbnailer-dbus +D-Bus specialized thumbnailer service for rom-properties. + +%files thumbnailer-dbus +%{_bindir}/rp-thumbnailer-dbus +%{_datadir}/dbus-1/services/com.gerbilsoft.rom-properties.SpecializedThumbnailer1.service +%{_datadir}/thumbnailers/com.gerbilsoft.rom-properties.SpecializedThumbnailer1.service + +%package apparmor +Summary: AppArmor profiles for rom-properties +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildArch: noarch + +%description apparmor +AppArmor profiles for rom-properties utilities. + +%files apparmor +%{_sysconfdir}/apparmor.d/ + +%changelog +* Fri Apr 03 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/games/rom-properties/update.rhai b/anda/games/rom-properties/update.rhai new file mode 100644 index 0000000000..8d59fb7019 --- /dev/null +++ b/anda/games/rom-properties/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("GerbilSoft/rom-properties")); diff --git a/anda/games/rpcs3/rpcs3.spec b/anda/games/rpcs3/rpcs3.spec index 10d4f2cd9a..42365f57b5 100644 --- a/anda/games/rpcs3/rpcs3.spec +++ b/anda/games/rpcs3/rpcs3.spec @@ -9,18 +9,19 @@ # 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 86b2773c2854ede00ff376d1ee82898c74eb8b71 -%global ver 0.0.40-18874 +%global commit f5e8a2bfa987f4cb7a2a8a58c2abc0ee788aed82 +%global ver 0.0.41-19525 Name: rpcs3 Version: %(echo %{ver} | sed 's/-/^/g') -Release: 1%?dist +Release: 1%{?dist} Summary: PlayStation 3 emulator and debugger License: GPL-2.0-only URL: https://github.com/RPCS3/rpcs3 Source0: %{url}/archive/%{commit}/%{name}-%{commit}.tar.gz BuildRequires: anda-srpm-macros glew openal-soft cmake vulkan-validation-layers git-core mold BuildRequires: llvm%{?llvm_major}-devel +# Looking at the CMakeLists.txt, this is the intended compiler and there are no fixes for GCC on aarch64 BuildRequires: clang%{?llvm_major} BuildRequires: cmake(FAudio) BuildRequires: cmake(OpenAL) @@ -64,8 +65,7 @@ BuildRequires: qt6-qtbase-private-devel vulkan-devel jack-audio-connection-kit- %prep %git_clone %url %commit -%build -# Looking at the CMakeLists.txt, this is the intended compiler and there are no fixes for GCC on aarch64 +%conf %if %{defined llvm_major} export LLVM_DIR=%{_libdir}/llvm%{?llvm_major}/%{_lib}/cmake %endif @@ -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,14 +86,13 @@ 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" + -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -fuse-ld=mold" + +%build %cmake_build %install 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 bc423ccb40..63febbc595 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: 3%?dist +Version: 1.0.0.87 +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 -%post -# 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/anda.hcl b/anda/games/steamos-manager-powerstation/anda.hcl new file mode 100644 index 0000000000..654ab9ce40 --- /dev/null +++ b/anda/games/steamos-manager-powerstation/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "steamos-manager-powerstation.spec" + } +} diff --git a/anda/games/steamos-manager-powerstation/steamos-manager-powerstation.spec b/anda/games/steamos-manager-powerstation/steamos-manager-powerstation.spec new file mode 100644 index 0000000000..807344f010 --- /dev/null +++ b/anda/games/steamos-manager-powerstation/steamos-manager-powerstation.spec @@ -0,0 +1,114 @@ +%global commit 37d1cb6f98e02b76221190b10af3c6e1c6b7534d +%global shortcommit %{sub %{commit} 0 7} +%global commitdate 20260528 + +Name: steamos-manager-powerstation +Version: 0~%{commitdate}.git%{shortcommit} +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 +Source0: %{url}/archive/%{commit}.tar.gz +Source1: steamos_manager.te +Source2: steamos_manager.if +Source3: steamos_manager.fc +BuildRequires: anda-srpm-macros +BuildRequires: cargo-rpm-macros +BuildRequires: clang-devel +BuildRequires: rust +BuildRequires: mold +BuildRequires: glib2-devel +BuildRequires: speech-dispatcher-devel +BuildRequires: pkgconfig(libudev) +BuildRequires: selinux-policy-devel +Packager: Kyle Gospodnetich + +Provides: steamos-manager +Conflicts: steamos-manager +Requires: powerstation +Requires: gamescope-session-ogui-steam +Requires: selinux-policy +Requires(post): policycoreutils +Requires(postun): policycoreutils + +%description +SteamOS Manager is a system daemon that aims to abstract Steam's interactions +with the operating system. The goal is to have a standardized interface so that +SteamOS specific features in the Steam client, e.g. TDP management, can be +exposed in any Linux distro that provides an implementation of this DBus API. +This version has been patched with additional compatibility with powerstation +and OGC gamescope-sessions. + +%package gamescope-session-plus +Summary: Compatibility symlink service for starting steamos-manager on gamescope-session-plus +Requires: %{name} = %{evr} + +%description gamescope-session-plus +%summary. + +%prep +%autosetup -n steamos-manager-%{commit} +install -Dp -m644 -t data/selinux %{SOURCE1} %{SOURCE2} %{SOURCE3} +%cargo_prep_online + +%build +%cargo_build +make -f /usr/share/selinux/devel/Makefile -C data/selinux steamos_manager.pp + +%install +%{cargo_license_online -a} > LICENSE.dependencies +%make_install +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 +ln -s %{_userunitdir}/steamos-manager.service %{buildroot}%{_userunitdir}/gamescope-session-plus.service.wants/steamos-manager.service + +%post +%systemd_post steamos-manager.service +%systemd_user_post steamos-manager.service +%systemd_user_post steamos-manager-configure-cecd.service +%systemd_user_post steamos-manager-session-cleanup.service +semodule -i %{_datadir}/selinux/packages/steamos_manager.pp 2>/dev/null || : +restorecon -R /usr/lib/steamos-manager /usr/bin/steamosctl /usr/share/steamos-manager /etc/steamos-manager 2>/dev/null || : + +%preun +%systemd_preun steamos-manager.service +%systemd_user_preun steamos-manager.service +%systemd_user_preun steamos-manager-configure-cecd.service +%systemd_user_preun steamos-manager-session-cleanup.service + +%postun +%systemd_postun_with_restart steamos-manager.service +%systemd_user_postun steamos-manager.service +%systemd_user_postun steamos-manager-configure-cecd.service +%systemd_user_postun steamos-manager-session-cleanup.service +if [ $1 -eq 0 ]; then + semodule -r steamos_manager 2>/dev/null || : +fi + +%files +%license %{_datadir}/licenses/steamos-manager/LICENSE +%license LICENSE.dependencies +%doc README.md +%{_bindir}/steamosctl +#{_datadir}/dbus-1/interfaces/com.steampowered.SteamOSManager1.Manager.xml +%{_datadir}/dbus-1/interfaces/com.steampowered.SteamOSManager1.xml +%{_datadir}/dbus-1/services/com.steampowered.SteamOSManager1.service +%{_datadir}/dbus-1/system.d/com.steampowered.SteamOSManager1.conf +%{_datadir}/dbus-1/system-services/com.steampowered.SteamOSManager1.service +%{_datadir}/steamos-manager/devices/*.toml +%{_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 +%{_datadir}/selinux/packages/steamos_manager.pp + +%files gamescope-session-plus +%{_userunitdir}/gamescope-session-plus.service.wants/steamos-manager.service + +%changelog +* Wed Mar 18 2026 Kyle Gospodnetich - 26.0.1-1 +- Intial Commit diff --git a/anda/games/steamos-manager-powerstation/steamos_manager.fc b/anda/games/steamos-manager-powerstation/steamos_manager.fc new file mode 100644 index 0000000000..cc11e34e07 --- /dev/null +++ b/anda/games/steamos-manager-powerstation/steamos_manager.fc @@ -0,0 +1,13 @@ +# steamos-manager SELinux file contexts + +# Daemon binary +/usr/lib/steamos-manager -- gen_context(system_u:object_r:steamos_manager_exec_t,s0) + +# CLI tool +/usr/bin/steamosctl -- gen_context(system_u:object_r:steamos_manager_exec_t,s0) + +# Data directory +/usr/share/steamos-manager(/.*)? gen_context(system_u:object_r:steamos_manager_data_t,s0) + +# Configuration directory +/etc/steamos-manager(/.*)? gen_context(system_u:object_r:steamos_manager_conf_t,s0) diff --git a/anda/games/steamos-manager-powerstation/steamos_manager.if b/anda/games/steamos-manager-powerstation/steamos_manager.if new file mode 100644 index 0000000000..bb44dae7cf --- /dev/null +++ b/anda/games/steamos-manager-powerstation/steamos_manager.if @@ -0,0 +1,20 @@ +## policy for steamos_manager + +######################################## +## +## Execute steamos_manager in the steamos_manager domain. +## +## +## +## Domain allowed to transition. +## +## +# +interface(`steamos_manager_domtrans',` + gen_require(` + type steamos_manager_t, steamos_manager_exec_t; + ') + + corecmd_search_bin($1) + domtrans_pattern($1, steamos_manager_exec_t, steamos_manager_t) +') diff --git a/anda/games/steamos-manager-powerstation/steamos_manager.te b/anda/games/steamos-manager-powerstation/steamos_manager.te new file mode 100644 index 0000000000..9fba120bb7 --- /dev/null +++ b/anda/games/steamos-manager-powerstation/steamos_manager.te @@ -0,0 +1,277 @@ +policy_module(steamos_manager, 1.0.1) + +######################################## +# Init +######################################## + +type steamos_manager_t; +type steamos_manager_exec_t; +type steamos_manager_data_t; +type steamos_manager_conf_t; + +# Mark as a domain and entry point +init_daemon_domain(steamos_manager_t, steamos_manager_exec_t) + +# Mark data and config as file types +files_type(steamos_manager_data_t) +files_config_file(steamos_manager_conf_t) + +# Allow systemd to manage the service (start/stop/status) +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 +######################################## + +# Standard process operations +allow steamos_manager_t self:process { signal signull getsched setsched }; + +# Forking for script execution +allow steamos_manager_t self:fifo_file { read write getattr }; + +# Notify socket for Type=notify-reload (sd_notify) +init_dgram_send(steamos_manager_t) + +######################################## +# DBus access +######################################## + +dbus_system_bus_client(steamos_manager_t) +dbus_session_bus_client(steamos_manager_t) +dbus_connect_system_bus(steamos_manager_t) +dbus_connect_session_bus(steamos_manager_t) + +# Own the service name +allow steamos_manager_t self:dbus { send_msg acquire_svc }; + +# Talk to systemd +optional_policy(` + systemd_dbus_chat_logind(steamos_manager_t) +') + +######################################## +# Sysfs access (hardware management) +######################################## + +# Read/write sysfs for TDP, GPU, backlight, power_supply, CPU scaling, +# hwmon, firmware-attributes, platform-profile, hidraw, drm, DMI +dev_read_sysfs(steamos_manager_t) +dev_rw_sysfs(steamos_manager_t) + +######################################## +# Procfs access +######################################## + +# Read /proc/cpuinfo +kernel_read_system_state(steamos_manager_t) + +# Read /proc/{pid}/comm, environ, stat, fd/ for display sleep inhibition +domain_read_all_domains_state(steamos_manager_t) + +######################################## +# Tracefs and debugfs +######################################## + +# 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 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 +######################################## + +# 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 +######################################## + +# /dev/uinput — virtual input devices +optional_policy(` + gen_require(` + type uinput_device_t; + ') + allow steamos_manager_t uinput_device_t:chr_file { open read write ioctl getattr }; +') + +# /dev/hidraw* — DualSense controller inhibitor +optional_policy(` + gen_require(` + type hidraw_device_t; + ') + 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 }; + +# Watch /dev/ directory via inotify for device creation +dev_list_all_dev_nodes(steamos_manager_t) +allow steamos_manager_t device_t:dir { watch }; + +######################################## +# Configuration & Data Files +######################################## + +# Data Files +allow steamos_manager_t steamos_manager_data_t:dir list_dir_perms; +allow steamos_manager_t steamos_manager_data_t:file read_file_perms; + +# Config files +allow steamos_manager_t steamos_manager_conf_t:dir list_dir_perms; +allow steamos_manager_t steamos_manager_conf_t:file read_file_perms; + +######################################## +# System configuration writes +######################################## + +# /etc/sddm.conf.d/, /etc/NetworkManager/conf.d/ +allow steamos_manager_t etc_t:dir { add_name remove_name write search create }; +allow steamos_manager_t etc_t:file { create write unlink open getattr rename }; + +# /etc/systemd/system/iwd.service.d/ +optional_policy(` + systemd_manage_all_unit_files(steamos_manager_t) +') + +######################################## +# User state and runtime files +######################################## + +# XDG_STATE_HOME +userdom_manage_user_home_content_files(steamos_manager_t) +userdom_manage_user_home_content_dirs(steamos_manager_t) + +# XDG_RUNTIME_DIR +# XDG_CONFIG_HOME +userdom_manage_user_tmp_dirs(steamos_manager_t) +userdom_manage_user_tmp_files(steamos_manager_t) + +# /usr/share/wayland-sessions/ and /usr/share/xsessions/ +files_read_usr_files(steamos_manager_t) + +# /tmp/ +files_manage_generic_tmp_files(steamos_manager_t) +files_tmp_filetrans(steamos_manager_t, tmp_t, file) + +# /var/lib/steamos-log-submitter/data/ +files_search_var_lib(steamos_manager_t) +files_manage_var_lib_files(steamos_manager_t) +files_manage_var_lib_dirs(steamos_manager_t) + +######################################## +# External command execution +######################################## + +# Execute system binaries +corecmd_exec_bin(steamos_manager_t) +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 +######################################## + +# Unix domain sockets for DBus +allow steamos_manager_t self:unix_stream_socket { create connect read write getattr shutdown }; +allow steamos_manager_t self:unix_dgram_socket { create connect read write getattr sendto }; + +# Speech-dispatcher and dconf-service connections +corenet_tcp_connect_all_ports(steamos_manager_t) + +######################################## +# Logging +######################################## + +logging_send_syslog_msg(steamos_manager_t) + +######################################## +# bootupd (bootloader management) +######################################## + +# steamos-manager invokes bootupctl, which runs in its own bootupd_t domain. +optional_policy(` + gen_require(` + type bootupd_t; + type mount_var_run_t; + ') + + # NSS user/group lookups: /etc/passwd, systemd-userdbd, systemd-homed + auth_use_nsswitch(bootupd_t) + + # Read /proc system state + kernel_read_system_state(bootupd_t) + + # Search the mount runtime directory under /run + allow bootupd_t mount_var_run_t:dir search; +') + +######################################## +# Miscellaneous +######################################## + +# Read locale and system state +miscfiles_read_localization(steamos_manager_t) +kernel_read_kernel_sysctls(steamos_manager_t) diff --git a/anda/games/steamos-manager-powerstation/update.rhai b/anda/games/steamos-manager-powerstation/update.rhai new file mode 100644 index 0000000000..d3b859cf52 --- /dev/null +++ b/anda/games/steamos-manager-powerstation/update.rhai @@ -0,0 +1,6 @@ +rpm.global("commit", get("https://api.github.com/repos/OpenGamingCollective/steamos-manager/commits/dev").json().sha); +if rpm.changed() { + rpm.global("ver", gh("OpenGamingCollective/steamos-manager")); + rpm.global("commit_date", date()); + rpm.release(); +} diff --git a/anda/games/steamos-manager/steamos-manager.spec b/anda/games/steamos-manager/steamos-manager.spec index b2a6bedfd2..df933921db 100644 --- a/anda/games/steamos-manager/steamos-manager.spec +++ b/anda/games/steamos-manager/steamos-manager.spec @@ -1,6 +1,6 @@ Name: steamos-manager -Version: 26.0.0 -Release: 1%?dist +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 URL: https://gitlab.steamos.cloud/holo/steamos-manager @@ -41,23 +41,29 @@ Requires: %{name} = %{evr} 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 %{buildroot}%{_userunitdir}/gamescope-session-plus.service.wants/steamos-manager.service -%{__ln_s} -f %{buildroot}%{_userunitdir}/gamescope-session-plus.service.wants/steamos-manager.service %{_userunitdir}/steamos-manager.service +ln -s %{_userunitdir}/steamos-manager.service %{buildroot}%{_userunitdir}/gamescope-session-plus.service.wants/steamos-manager.service %post %systemd_post steamos-manager.service +%systemd_post steamos-manager-configure-cecd.service +%systemd_post steamos-manager-session-cleanup.service %preun %systemd_preun steamos-manager.service +%systemd_preun steamos-manager-configure-cecd.service +%systemd_preun steamos-manager-session-cleanup.service %postun %systemd_postun_with_restart steamos-manager.service +%systemd_postun_with_restart steamos-manager-configure-cecd.service +%systemd_postun_with_restart steamos-manager-session-cleanup.service %files %license %{_datadir}/licenses/steamos-manager/LICENSE %license LICENSE.dependencies %doc README.md %{_bindir}/steamosctl -%{_datadir}/dbus-1/interfaces/com.steampowered.SteamOSManager1.Manager.xml +#{_datadir}/dbus-1/interfaces/com.steampowered.SteamOSManager1.Manager.xml %{_datadir}/dbus-1/interfaces/com.steampowered.SteamOSManager1.xml %{_datadir}/dbus-1/services/com.steampowered.SteamOSManager1.service %{_datadir}/dbus-1/system.d/com.steampowered.SteamOSManager1.conf @@ -67,6 +73,7 @@ install -d %{buildroot}%{_userunitdir}/gamescope-session-plus.service.wants/stea %{_prefix}/lib/steamos-manager %{_unitdir}/steamos-manager.service %{_userunitdir}/steamos-manager.service +%{_userunitdir}/steamos-manager-configure-cecd.service %{_userunitdir}/steamos-manager-session-cleanup.service %files gamescope-session-plus diff --git a/anda/games/taisei/anda.hcl b/anda/games/taisei/anda.hcl new file mode 100644 index 0000000000..9dd88b487b --- /dev/null +++ b/anda/games/taisei/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "taisei.spec" + } +} diff --git a/anda/games/taisei/taisei.spec b/anda/games/taisei/taisei.spec new file mode 100644 index 0000000000..b20092604a --- /dev/null +++ b/anda/games/taisei/taisei.spec @@ -0,0 +1,99 @@ +Name: taisei +Version: 1.4.4 +Release: 1%{?dist} +Summary: A free and open-source Touhou Project fangame +Packager: Jan200101 + +License: MIT AND CC-BY-4.0 AND CC0-1.0 AND LicenseRef-Fedora-Public-Domain +URL: https://github.com/taisei-project/taisei +Source0: %{url}/releases/download/v%{version}/taisei-%{version}.tar.xz + +BuildRequires: meson +BuildRequires: gcc gcc-c++ +BuildRequires: pkgconfig(libwebpdecoder) +BuildRequires: pkgconfig(libzip) +BuildRequires: pkgconfig(sdl3) +BuildRequires: pkgconfig(opusfile) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(cglm) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(libzstd) +BuildRequires: python3-zstandard +BuildRequires: pkgconfig(gamemode) +BuildRequires: pkgconfig(mimalloc) +# shader validation +BuildRequires: glslc +# documentation +BuildRequires: python3-docutils + +Requires: hicolor-icon-theme +Requires: %{name}-data = %{version} + +%package data +Summary: game data for %{name} +BuildArch: noarch + +%description data +required game data for %{name} + +%description +Taisei Project is an open source fan-game set in the world of Tōhō Project. +It is a top-down vertical-scrolling curtain fire shooting game (STG), +also known as a "bullet hell" or "danmaku." +STGs are fast-paced games focused around pattern recognition and mastery +through practice. + +Taisei Project is highly portable, and is written in C11, using SDL3 with +an OpenGL renderer. +It is officially supported on Windows, Linux, macOS, and through WebGL-enabled +browsers such as Firefox and Chromium-based browsers (Chrome, Edge, etc). +It can also be compiled for a number of other operating systems. + +%prep +%autosetup -n taisei-%{version} + +# the build defaults force strip on and there is no way to disable it via flags +sed -i "/'strip=true'/d" meson.build + +%conf +%meson \ + -Dallocator=mimalloc \ + -Dvfs_zip=enabled \ + -Dpackage_data=enabled \ + -Dinstall_relocatable=disabled \ + -Dinstall_freedesktop=enabled \ + -Dshader_transpiler=disabled \ + -Dshader_transpiler_dxbc=disabled \ + -Dvalidate_glsl=enabled \ + -Dinstall_macos_bundle=disabled \ + -Dgamemode=enabled + +%build +%meson_build + +%install +%meson_install + +%check +%meson_test + +%files +%license COPYING +%{_bindir}/taisei +%{_appsdir}/org.taisei_project.Taisei.desktop +%{_appsdir}/org.taisei_project.Taisei.tsr.desktop +%{_hicolordir}/*/apps/taisei.png +%{_hicolordir}/*/apps/org.taisei_project.Taisei.png +%{_hicolordir}/*/mimetypes/org.taisei_project.Taisei.tsr.png +%{_hicolordir}/*/mimetypes/taisei-replay.png +%{_datadir}/mime/packages/org.taisei_project.Taisei.xml +%{_metainfodir}/org.taisei_project.Taisei.appdata.xml +%{_docdir}/taisei + +%files data +%license COPYING +%{_datadir}/taisei + +%changelog +* Mon Jun 29 2026 Jan200101 +- Initial package diff --git a/anda/games/taisei/update.rhai b/anda/games/taisei/update.rhai new file mode 100644 index 0000000000..62580ea81b --- /dev/null +++ b/anda/games/taisei/update.rhai @@ -0,0 +1,3 @@ +let v = gh("taisei-project/taisei"); +v.crop(1); +rpm.version(v); diff --git a/anda/games/terra-gamescope/0002-wlroots-libinput-switch-keypad-slide.patch b/anda/games/terra-gamescope/0002-wlroots-libinput-switch-keypad-slide.patch new file mode 100644 index 0000000000..4910d582cf --- /dev/null +++ b/anda/games/terra-gamescope/0002-wlroots-libinput-switch-keypad-slide.patch @@ -0,0 +1,18 @@ +From: porkloin +Subject: [PATCH] wlroots: handle LIBINPUT_SWITCH_KEYPAD_SLIDE enum in switch.c + +libinput added LIBINPUT_SWITCH_KEYPAD_SLIDE and GCC 16 on Fedora 44 +treats the unhandled enum value as -Werror=switch, breaking the build. + +diff --git a/subprojects/wlroots/backend/libinput/switch.c b/subprojects/wlroots/backend/libinput/switch.c +--- a/subprojects/wlroots/backend/libinput/switch.c ++++ b/subprojects/wlroots/backend/libinput/switch.c +@@ -34,6 +34,8 @@ void handle_switch_toggle(struct libinput_event *event, + case LIBINPUT_SWITCH_TABLET_MODE: + wlr_event.switch_type = WLR_SWITCH_TYPE_TABLET_MODE; + break; ++ case LIBINPUT_SWITCH_KEYPAD_SLIDE: ++ break; + } + switch (libinput_event_switch_get_switch_state(sevent)) { + case LIBINPUT_SWITCH_STATE_OFF: diff --git a/anda/games/terra-gamescope/Use-system-stb-glm.patch b/anda/games/terra-gamescope/Use-system-stb-glm.patch new file mode 100644 index 0000000000..f0addb676b --- /dev/null +++ b/anda/games/terra-gamescope/Use-system-stb-glm.patch @@ -0,0 +1,28 @@ +From 1a37d7113ed29ede9dcd30be16898b10464cd76e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= +Date: Wed, 28 May 2025 12:19:05 +0200 +Subject: [PATCH] Use system stb/glm + +--- + meson.build | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index c300b07..3044e54 100644 +--- a/meson.build ++++ b/meson.build +@@ -47,10 +47,8 @@ dep_x11 = dependency('x11') + dep_wayland = dependency('wayland-client') + vulkan_dep = dependency('vulkan') + +-glm_proj = subproject('glm') +-glm_dep = glm_proj.get_variable('glm_dep') +-stb_proj = subproject('stb') +-stb_dep = stb_proj.get_variable('stb_dep') ++glm_dep = dependency('glm') ++stb_dep = dependency('stb') + + if get_option('enable_openvr_support') + openvr_dep = dependency('openvr', version: '>= 2.7', required : false) +-- +2.49.0 diff --git a/anda/games/terra-gamescope/anda.hcl b/anda/games/terra-gamescope/anda.hcl index e66956b621..c01d057d11 100755 --- a/anda/games/terra-gamescope/anda.hcl +++ b/anda/games/terra-gamescope/anda.hcl @@ -5,6 +5,7 @@ project pkg { } labels { mock = 1 + nightly = 1 subrepo = "extras" } } diff --git a/anda/games/terra-gamescope/handheld.patch b/anda/games/terra-gamescope/handheld.patch deleted file mode 100755 index fcd7cb87f3..0000000000 --- a/anda/games/terra-gamescope/handheld.patch +++ /dev/null @@ -1,2050 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Fri, 22 Nov 2024 01:37:48 +0100 -Subject: [NA] add dev script - ---- - sync.sh | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - create mode 100755 sync.sh - -diff --git a/sync.sh b/sync.sh -new file mode 100755 -index 000000000000..8dd5815d4aeb ---- /dev/null -+++ b/sync.sh -@@ -0,0 +1,21 @@ -+if [ -z "$1" ]; then -+ echo "Usage: $0 " -+ exit 1 -+fi -+ -+HOST=$1 -+RSYNC="rsync -rv --exclude .git --exclude venv --exclude __pycache__'" -+USER=${USER:-bazzite} -+ -+set -e -+ -+meson build/ -Dforce_fallback_for=stb,libdisplay-info,libliftoff,wlroots,vkroots -Denable_openvr_support=false -+ninja -C build/ -+scp build/src/gamescope ${HOST}:gamescope -+ -+ssh $HOST /bin/bash << EOF -+ sudo rpm-ostree usroverlay --hotfix -+ sudo mv ~/gamescope /usr/bin/gamescope -+ bazzite-session-select gamescope -+ # sudo reboot -+EOF --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Matthew Anderson -Date: Fri, 17 May 2024 21:56:55 -0500 -Subject: feat: add --custom-refresh-rates option (+ fixes) - -Commit originally by Matthew, external fixes by Kyle, and new system check -move by Antheas. - -Co-authored-by: Kyle Gospodnetich -Co-authored-by: Antheas Kapenekakis ---- - src/Backends/DRMBackend.cpp | 4 +++- - src/main.cpp | 31 +++++++++++++++++++++++++++++++ - src/main.hpp | 2 ++ - 3 files changed, 36 insertions(+), 1 deletion(-) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index 1ec2699821f0..c8e821314dc4 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -2342,8 +2342,10 @@ namespace gamescope - } - else - { -+ if ( g_customRefreshRates.size() > 0 && GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL ) -+ m_Mutable.ValidDynamicRefreshRates = g_customRefreshRates; - // Unknown display, see if there are any other refresh rates in the EDID we can get. -- if ( GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL || cv_drm_allow_dynamic_modes_for_external_display ) -+ else if ( GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL || cv_drm_allow_dynamic_modes_for_external_display ) - { - const drmModeModeInfo *pPreferredMode = find_mode( m_pConnector.get(), 0, 0, 0 ); - -diff --git a/src/main.cpp b/src/main.cpp -index cdb35c3b2518..d63b1fe50cc6 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -133,6 +133,7 @@ const struct option *gamescope_options = (struct option[]){ - { "fade-out-duration", required_argument, nullptr, 0 }, - { "force-orientation", required_argument, nullptr, 0 }, - { "force-windows-fullscreen", no_argument, nullptr, 0 }, -+ { "custom-refresh-rates", required_argument, nullptr, 0 }, - - { "disable-color-management", no_argument, nullptr, 0 }, - { "sdr-gamut-wideness", required_argument, nullptr, 0 }, -@@ -207,6 +208,7 @@ const char usage[] = - " --hdr-itm-target-nits set the target luminace of the inverse tone mapping process.\n" - " Default: 1000 nits, Max: 10000 nits\n" - " --framerate-limit Set a simple framerate limit. Used as a divisor of the refresh rate, rounds down eg 60 / 59 -> 60fps, 60 / 25 -> 30fps. Default: 0, disabled.\n" -+ " --custom-refresh-rates Set custom refresh rates for the output. eg: 60,90,110-120\n" - " --mangoapp Launch with the mangoapp (mangohud) performance overlay enabled. You should use this instead of using mangohud on the game or gamescope.\n" - " --adaptive-sync Enable adaptive sync if available (variable rate refresh)\n" - "\n" -@@ -460,6 +462,33 @@ static float parse_float(const char *str, const char *optionName) - } - } - -+std::vector g_customRefreshRates; -+// eg: 60,60,90,110-120 -+static std::vector parse_custom_refresh_rates( const char *str ) -+{ -+ std::vector rates; -+ char *token = strtok( strdup(str), ","); -+ while (token) -+ { -+ char *dash = strchr(token, '-'); -+ if (dash) -+ { -+ uint32_t start = atoi(token); -+ uint32_t end = atoi(dash + 1); -+ for (uint32_t i = start; i <= end; i++) -+ { -+ rates.push_back(i); -+ } -+ } -+ else -+ { -+ rates.push_back(atoi(token)); -+ } -+ token = strtok(nullptr, ","); -+ } -+ return rates; -+} -+ - struct sigaction handle_signal_action = {}; - - void ShutdownGamescope() -@@ -783,6 +812,8 @@ int main(int argc, char **argv) - g_eGamescopeModeGeneration = parse_gamescope_mode_generation( optarg ); - } else if (strcmp(opt_name, "force-orientation") == 0) { - g_DesiredInternalOrientation = force_orientation( optarg ); -+ } else if (strcmp(opt_name, "custom-refresh-rates") == 0) { -+ g_customRefreshRates = parse_custom_refresh_rates( optarg ); - } else if (strcmp(opt_name, "sharpness") == 0 || - strcmp(opt_name, "fsr-sharpness") == 0) { - g_upscaleFilterSharpness = parse_integer( optarg, opt_name ); -diff --git a/src/main.hpp b/src/main.hpp -index 2e6fb833af12..390c04a63ecd 100644 ---- a/src/main.hpp -+++ b/src/main.hpp -@@ -3,6 +3,7 @@ - #include - - #include -+#include - - extern const char *gamescope_optstring; - extern const struct option *gamescope_options; -@@ -28,6 +29,7 @@ extern bool g_bGrabbed; - - extern float g_mouseSensitivity; - extern const char *g_sOutputName; -+extern std::vector g_customRefreshRates; - - enum class GamescopeUpscaleFilter : uint32_t - { --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Renn <8340896+AkazaRenn@users.noreply.github.com> -Date: Fri, 11 Oct 2024 17:48:26 +0200 -Subject: fix(deck): Use super + 1/2 for Overlay/QAM - -Replaces the patch for CTRL + 1/2 for Overlay/QAM with Super + 1/2 and -allows for CTRL for a smooth transition. - -Suggested-by: Antheas Kapenekakis ---- - src/wlserver.cpp | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -diff --git a/src/wlserver.cpp b/src/wlserver.cpp -index 4d8546eed51f..56a9f25cd03a 100644 ---- a/src/wlserver.cpp -+++ b/src/wlserver.cpp -@@ -296,6 +296,9 @@ static void wlserver_handle_modifiers(struct wl_listener *listener, void *data) - bump_input_counter(); - } - -+// false if GS_ENABLE_CTRL_12 exists and is 0, true otherwise -+bool env_gs_enable_ctrl_12 = getenv("GS_ENABLE_CTRL_12") ? (getenv("GS_ENABLE_CTRL_12")[0] != '0') : true; -+ - static void wlserver_handle_key(struct wl_listener *listener, void *data) - { - struct wlr_keyboard *keyboard = &wlserver.keyboard_group->keyboard; -@@ -319,7 +322,14 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data) - keysym == XKB_KEY_XF86AudioLowerVolume || - keysym == XKB_KEY_XF86AudioRaiseVolume || - keysym == XKB_KEY_XF86PowerOff; -- if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && forbidden_key ) -+ -+ // Check for steam overlay key (ctrl/super + 1/2) -+ bool is_steamshortcut = -+ ((env_gs_enable_ctrl_12 && (keyboard->modifiers.depressed & WLR_MODIFIER_CTRL)) || -+ (keyboard->modifiers.depressed & WLR_MODIFIER_LOGO)) && -+ (keysym == XKB_KEY_1 || keysym == XKB_KEY_2); -+ -+ if ( ( event->state == WL_KEYBOARD_KEY_STATE_PRESSED || event->state == WL_KEYBOARD_KEY_STATE_RELEASED ) && (forbidden_key || is_steamshortcut) ) - { - // Always send volume+/- to root server only, to avoid it reaching the game. - struct wlr_surface *old_kb_surf = wlserver.kb_focus_surface; -@@ -328,6 +338,17 @@ static void wlserver_handle_key(struct wl_listener *listener, void *data) - { - wlserver_keyboardfocus( new_kb_surf, false ); - wlr_seat_set_keyboard( wlserver.wlr.seat, keyboard ); -+ -+ if (is_steamshortcut) -+ { -+ // send ctrl down modifier to trigger the overlay -+ wlr_keyboard_modifiers ctrl_down_modifier; -+ ctrl_down_modifier.depressed = WLR_MODIFIER_CTRL; -+ ctrl_down_modifier.latched = WLR_MODIFIER_CTRL; -+ ctrl_down_modifier.locked = WLR_MODIFIER_CTRL; -+ wlr_seat_keyboard_notify_modifiers(wlserver.wlr.seat, &ctrl_down_modifier); -+ } -+ - wlr_seat_keyboard_notify_key( wlserver.wlr.seat, event->time_msec, event->keycode, event->state ); - wlserver_keyboardfocus( old_kb_surf, false ); - return; --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: honjow -Date: Wed, 16 Oct 2024 00:23:58 +0800 -Subject: fix(external): fix crash when using external touchscreens - ---- - src/wlserver.cpp | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/wlserver.cpp b/src/wlserver.cpp -index 56a9f25cd03a..4d6e8de55ba4 100644 ---- a/src/wlserver.cpp -+++ b/src/wlserver.cpp -@@ -2766,8 +2766,12 @@ static void apply_touchscreen_orientation(double *x, double *y ) - double tx = 0; - double ty = 0; - -- // Use internal screen always for orientation purposes. -- switch ( GetBackend()->GetConnector( gamescope::GAMESCOPE_SCREEN_TYPE_INTERNAL )->GetCurrentOrientation() ) -+ auto orientation = GAMESCOPE_PANEL_ORIENTATION_AUTO; -+ if ( GetBackend() && GetBackend()->GetCurrentConnector( ) ) -+ { -+ orientation = GetBackend()->GetCurrentConnector()->GetCurrentOrientation(); -+ } -+ switch ( orientation ) - { - default: - case GAMESCOPE_PANEL_ORIENTATION_AUTO: --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Mon, 14 Oct 2024 22:42:20 +0200 -Subject: fix(display-config): always fill in mutable refresh rates - -Assume the user is not lying to us when they fill in dynamic_refresh_rates -and that gamescope will work with e.g., CVT, so accept it even if no -custom modeline generation has been provided. ---- - src/Backends/DRMBackend.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index c8e821314dc4..a919c61f9f8d 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -2258,7 +2258,9 @@ namespace gamescope - sol::optional otDynamicRefreshRates = tTable["dynamic_refresh_rates"]; - sol::optional ofnDynamicModegen = tTable["dynamic_modegen"]; - -- if ( otDynamicRefreshRates && ofnDynamicModegen ) -+ if ( otDynamicRefreshRates && !ofnDynamicModegen ) -+ m_Mutable.ValidDynamicRefreshRates = TableToVector( *otDynamicRefreshRates ); -+ else if ( otDynamicRefreshRates && ofnDynamicModegen ) - { - m_Mutable.ValidDynamicRefreshRates = TableToVector( *otDynamicRefreshRates ); - --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Wed, 30 Oct 2024 00:39:03 +0100 -Subject: fix(battery): run at half hz while at steamUI with atom - ---- - src/steamcompmgr.cpp | 53 +++++++++++++++++++++++++++++++++++--------- - src/xwayland_ctx.hpp | 2 ++ - 2 files changed, 45 insertions(+), 10 deletions(-) - -diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp -index b0cf080e0642..07e45b19fc61 100644 ---- a/src/steamcompmgr.cpp -+++ b/src/steamcompmgr.cpp -@@ -172,6 +172,8 @@ uint32_t g_reshade_technique_idx = 0; - - bool g_bSteamIsActiveWindow = false; - bool g_bForceInternal = false; -+bool b_bForceFrameLimit = false; -+bool g_bRefreshHalveEnable = false; - - namespace gamescope - { -@@ -928,6 +930,7 @@ uint64_t g_uCurrentBasePlaneCommitID = 0; - bool g_bCurrentBasePlaneIsFifo = false; - - static int g_nSteamCompMgrTargetFPS = 0; -+static int g_nSteamCompMgrTargetFPSreq = 0; - static uint64_t g_uDynamicRefreshEqualityTime = 0; - static int g_nDynamicRefreshRate[gamescope::GAMESCOPE_SCREEN_TYPE_COUNT] = { 0, 0 }; - // Delay to stop modes flickering back and forth. -@@ -947,7 +950,7 @@ static void _update_app_target_refresh_cycle() - int target_fps = g_nCombinedAppRefreshCycleOverride[type]; - - g_nDynamicRefreshRate[ type ] = 0; -- g_nSteamCompMgrTargetFPS = 0; -+ g_nSteamCompMgrTargetFPSreq = 0; - - if ( !target_fps ) - { -@@ -956,7 +959,7 @@ static void _update_app_target_refresh_cycle() - - if ( g_nCombinedAppRefreshCycleChangeFPS[ type ] ) - { -- g_nSteamCompMgrTargetFPS = target_fps; -+ g_nSteamCompMgrTargetFPSreq = target_fps; - } - - if ( g_nCombinedAppRefreshCycleChangeRefresh[ type ] ) -@@ -977,9 +980,9 @@ static void _update_app_target_refresh_cycle() - - static void update_app_target_refresh_cycle() - { -- int nPrevFPSLimit = g_nSteamCompMgrTargetFPS; -+ int nPrevFPSLimit = g_nSteamCompMgrTargetFPSreq; - _update_app_target_refresh_cycle(); -- if ( !!g_nSteamCompMgrTargetFPS != !!nPrevFPSLimit ) -+ if ( !!g_nSteamCompMgrTargetFPSreq != !!nPrevFPSLimit ) - update_runtime_info(); - } - -@@ -5316,7 +5319,7 @@ update_runtime_info() - if ( g_nRuntimeInfoFd < 0 ) - return; - -- uint32_t limiter_enabled = g_nSteamCompMgrTargetFPS != 0 ? 1 : 0; -+ uint32_t limiter_enabled = g_nSteamCompMgrTargetFPSreq != 0 ? 1 : 0; - pwrite( g_nRuntimeInfoFd, &limiter_enabled, sizeof( limiter_enabled ), 0 ); - } - -@@ -5379,7 +5382,7 @@ static bool steamcompmgr_should_vblank_window( bool bShouldLimitFPS, uint64_t vb - { - bool bCloseEnough = std::abs( g_nSteamCompMgrTargetFPS - nRefreshHz ) < 2; - -- if ( g_nSteamCompMgrTargetFPS && bShouldLimitFPS && w && !bCloseEnough ) -+ if ( g_nSteamCompMgrTargetFPS && (bShouldLimitFPS || b_bForceFrameLimit) && w && !bCloseEnough ) - { - uint64_t schedule = w->last_commit_first_latch_time + g_SteamCompMgrLimitedAppRefreshCycle; - -@@ -5397,7 +5400,7 @@ static bool steamcompmgr_should_vblank_window( bool bShouldLimitFPS, uint64_t vb - } - else - { -- if ( g_nSteamCompMgrTargetFPS && bShouldLimitFPS && nRefreshHz > nTargetFPS ) -+ if ( g_nSteamCompMgrTargetFPS && (bShouldLimitFPS || b_bForceFrameLimit) && nRefreshHz > nTargetFPS ) - { - int nVblankDivisor = nRefreshHz / nTargetFPS; - -@@ -5796,7 +5799,7 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev) - } - if ( ev->atom == ctx->atoms.gamescopeFPSLimit ) - { -- g_nSteamCompMgrTargetFPS = get_prop( ctx, ctx->root, ctx->atoms.gamescopeFPSLimit, 0 ); -+ g_nSteamCompMgrTargetFPSreq = get_prop( ctx, ctx->root, ctx->atoms.gamescopeFPSLimit, 0 ); - update_runtime_info(); - } - for (int i = 0; i < gamescope::GAMESCOPE_SCREEN_TYPE_COUNT; i++) -@@ -6227,6 +6230,10 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev) - MakeFocusDirty(); - } - } -+ if ( ev->atom == ctx->atoms.gamescopeFrameHalveAtom ) -+ { -+ g_bRefreshHalveEnable = !!get_prop( ctx, ctx->root, ctx->atoms.gamescopeFrameHalveAtom, 0 ); -+ } - } - - static int -@@ -6603,7 +6610,7 @@ void handle_presented_for_window( steamcompmgr_win_t* w ) - - uint64_t next_refresh_time = g_SteamCompMgrVBlankTime.schedule.ulTargetVBlank; - -- uint64_t refresh_cycle = g_nSteamCompMgrTargetFPS && steamcompmgr_window_should_limit_fps( w ) -+ uint64_t refresh_cycle = g_nSteamCompMgrTargetFPS && (steamcompmgr_window_should_limit_fps( w ) || b_bForceFrameLimit) - ? g_SteamCompMgrLimitedAppRefreshCycle - : g_SteamCompMgrAppRefreshCycle; - -@@ -7462,6 +7469,8 @@ void init_xwayland_ctx(uint32_t serverId, gamescope_xwayland_server_t *xwayland_ - ctx->atoms.primarySelection = XInternAtom(ctx->dpy, "PRIMARY", false); - ctx->atoms.targets = XInternAtom(ctx->dpy, "TARGETS", false); - -+ ctx->atoms.gamescopeFrameHalveAtom = XInternAtom( ctx->dpy, "GAMESCOPE_STEAMUI_HALFHZ", false );; -+ - ctx->root_width = DisplayWidth(ctx->dpy, ctx->scr); - ctx->root_height = DisplayHeight(ctx->dpy, ctx->scr); - -@@ -7883,7 +7892,7 @@ steamcompmgr_main(int argc, char **argv) - } else if (strcmp(opt_name, "hdr-itm-target-nits") == 0) { - g_flHDRItmTargetNits = atof(optarg); - } else if (strcmp(opt_name, "framerate-limit") == 0) { -- g_nSteamCompMgrTargetFPS = atoi(optarg); -+ g_nSteamCompMgrTargetFPSreq = atoi(optarg); - } else if (strcmp(opt_name, "reshade-effect") == 0) { - g_reshade_effect = optarg; - } else if (strcmp(opt_name, "reshade-technique-idx") == 0) { -@@ -8051,6 +8060,30 @@ steamcompmgr_main(int argc, char **argv) - // as a question. - const bool bIsVBlankFromTimer = vblank; - -+ // Halve refresh rate on SteamUI -+ bool isSteam = false; -+ for (auto &iter : g_VirtualConnectorFocuses) -+ { -+ global_focus_t *pFocus = &iter.second; -+ if (window_is_steam( pFocus->focusWindow )) { -+ isSteam = true; -+ break; -+ } -+ } -+ if ( g_bRefreshHalveEnable && isSteam ) { -+ int nRealRefreshHz = gamescope::ConvertmHzToHz( g_nNestedRefresh ? g_nNestedRefresh : g_nOutputRefresh ); -+ if (nRealRefreshHz > 100 && (g_nSteamCompMgrTargetFPSreq > 50 || !g_nSteamCompMgrTargetFPSreq)) { -+ g_nSteamCompMgrTargetFPS = nRealRefreshHz / 2; -+ b_bForceFrameLimit = true; -+ } else { -+ g_nSteamCompMgrTargetFPS = g_nSteamCompMgrTargetFPSreq; -+ b_bForceFrameLimit = false; -+ } -+ } else { -+ g_nSteamCompMgrTargetFPS = g_nSteamCompMgrTargetFPSreq; -+ b_bForceFrameLimit = false; -+ } -+ - // We can always vblank if VRR. - const bool bVRR = GetBackend()->GetCurrentConnector() && GetBackend()->GetCurrentConnector()->IsVRRActive(); - if ( bVRR ) -diff --git a/src/xwayland_ctx.hpp b/src/xwayland_ctx.hpp -index df2af70d19ae..e4eec9fa0c48 100644 ---- a/src/xwayland_ctx.hpp -+++ b/src/xwayland_ctx.hpp -@@ -246,6 +246,8 @@ struct xwayland_ctx_t final : public gamescope::IWaitable - Atom clipboard; - Atom primarySelection; - Atom targets; -+ -+ Atom gamescopeFrameHalveAtom; - } atoms; - - bool HasQueuedEvents(); --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Joshua Tam <297250+joshuatam@users.noreply.github.com> -Date: Fri, 6 Dec 2024 16:51:02 +0800 -Subject: feat(intel): add rotation shader for rotating output - ---- - src/Backends/DRMBackend.cpp | 35 +++++++++- - src/main.cpp | 7 ++ - src/main.hpp | 2 + - src/meson.build | 1 + - src/rendervulkan.cpp | 126 ++++++++++++++++++++++++++++++----- - src/rendervulkan.hpp | 6 +- - src/shaders/cs_rotation.comp | 53 +++++++++++++++ - src/wlserver.cpp | 5 ++ - 8 files changed, 216 insertions(+), 19 deletions(-) - create mode 100644 src/shaders/cs_rotation.comp - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index a919c61f9f8d..a099185e7cdc 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -1609,6 +1609,10 @@ static void update_drm_effective_orientations( struct drm_t *drm, const drmModeM - if ( pDRMInternalConnector != drm->pConnector ) - pInternalMode = find_mode( pDRMInternalConnector->GetModeConnector(), 0, 0, 0 ); - -+ if ( g_bUseRotationShader ) { -+ g_bEnableDRMRotationShader = true; -+ } -+ - pDRMInternalConnector->UpdateEffectiveOrientation( pInternalMode ); - } - -@@ -1620,6 +1624,10 @@ static void update_drm_effective_orientations( struct drm_t *drm, const drmModeM - if ( pDRMExternalConnector != drm->pConnector ) - pExternalMode = find_mode( pDRMExternalConnector->GetModeConnector(), 0, 0, 0 ); - -+ if ( g_bUseRotationShader ) { -+ g_bEnableDRMRotationShader = false; -+ } -+ - pDRMExternalConnector->UpdateEffectiveOrientation( pExternalMode ); - } - } -@@ -1835,7 +1843,7 @@ LiftoffStateCacheEntry FrameInfoToLiftoffStateCacheEntry( struct drm_t *drm, con - uint64_t crtcW = srcWidth / frameInfo->layers[ i ].scale.x; - uint64_t crtcH = srcHeight / frameInfo->layers[ i ].scale.y; - -- if (g_bRotated) -+ if (g_bRotated && !g_bEnableDRMRotationShader) - { - int64_t imageH = frameInfo->layers[ i ].tex->contentHeight() / frameInfo->layers[ i ].scale.y; - -@@ -2136,6 +2144,17 @@ namespace gamescope - - void CDRMConnector::UpdateEffectiveOrientation( const drmModeModeInfo *pMode ) - { -+ if (g_bEnableDRMRotationShader) -+ { -+ drm_log.infof("Using rotation shader"); -+ if (g_DesiredInternalOrientation == GAMESCOPE_PANEL_ORIENTATION_270) { -+ m_ChosenOrientation = GAMESCOPE_PANEL_ORIENTATION_180; -+ } else { -+ m_ChosenOrientation = GAMESCOPE_PANEL_ORIENTATION_0; -+ } -+ return; -+ } -+ - if ( this->GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL && g_DesiredInternalOrientation != GAMESCOPE_PANEL_ORIENTATION_AUTO ) - { - m_ChosenOrientation = g_DesiredInternalOrientation; -@@ -3185,6 +3204,13 @@ bool drm_set_mode( struct drm_t *drm, const drmModeModeInfo *mode ) - g_bRotated = false; - g_nOutputWidth = mode->hdisplay; - g_nOutputHeight = mode->vdisplay; -+ -+ if (g_bEnableDRMRotationShader) { -+ g_bRotated = true; -+ g_nOutputWidth = mode->vdisplay; -+ g_nOutputHeight = mode->hdisplay; -+ } -+ - break; - case GAMESCOPE_PANEL_ORIENTATION_90: - case GAMESCOPE_PANEL_ORIENTATION_270: -@@ -3449,6 +3475,11 @@ namespace gamescope - - bNeedsFullComposite |= !!(g_uCompositeDebug & CompositeDebugFlag::Heatmap); - -+ if (g_bEnableDRMRotationShader) -+ { -+ bNeedsFullComposite = true; -+ } -+ - bool bDoComposite = true; - if ( !bNeedsFullComposite && !bWantsPartialComposite ) - { -@@ -3539,7 +3570,7 @@ namespace gamescope - if ( bDefer && !!( g_uCompositeDebug & CompositeDebugFlag::Markers ) ) - g_uCompositeDebug |= CompositeDebugFlag::Markers_Partial; - -- std::optional oCompositeResult = vulkan_composite( &compositeFrameInfo, nullptr, !bNeedsFullComposite ); -+ std::optional oCompositeResult = vulkan_composite( &compositeFrameInfo, nullptr, !bNeedsFullComposite, nullptr, true, nullptr, g_bEnableDRMRotationShader ); - - m_bWasCompositing = true; - -diff --git a/src/main.cpp b/src/main.cpp -index d63b1fe50cc6..cfd4cc11d179 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -131,6 +131,7 @@ const struct option *gamescope_options = (struct option[]){ - { "composite-debug", no_argument, nullptr, 0 }, - { "disable-xres", no_argument, nullptr, 'x' }, - { "fade-out-duration", required_argument, nullptr, 0 }, -+ { "use-rotation-shader", required_argument, nullptr, 0 }, - { "force-orientation", required_argument, nullptr, 0 }, - { "force-windows-fullscreen", no_argument, nullptr, 0 }, - { "custom-refresh-rates", required_argument, nullptr, 0 }, -@@ -194,6 +195,7 @@ const char usage[] = - " -e, --steam enable Steam integration\n" - " --xwayland-count create N xwayland servers\n" - " --prefer-vk-device prefer Vulkan device for compositing (ex: 1002:7300)\n" -+ " --use-rotation-shader use rotation shader for rotating the screen\n" - " --force-orientation rotate the internal display (left, right, normal, upsidedown)\n" - " --force-windows-fullscreen force windows inside of gamescope to be the size of the nested display (fullscreen)\n" - " --cursor-scale-height if specified, sets a base output height to linearly scale the cursor against.\n" -@@ -355,6 +357,9 @@ static gamescope::GamescopeModeGeneration parse_gamescope_mode_generation( const - } - } - -+bool g_bUseRotationShader = false; -+bool g_bEnableDRMRotationShader = false; -+ - GamescopePanelOrientation g_DesiredInternalOrientation = GAMESCOPE_PANEL_ORIENTATION_AUTO; - static GamescopePanelOrientation force_orientation(const char *str) - { -@@ -812,6 +817,8 @@ int main(int argc, char **argv) - g_eGamescopeModeGeneration = parse_gamescope_mode_generation( optarg ); - } else if (strcmp(opt_name, "force-orientation") == 0) { - g_DesiredInternalOrientation = force_orientation( optarg ); -+ } else if (strcmp(opt_name, "use-rotation-shader") == 0) { -+ g_bUseRotationShader = true; - } else if (strcmp(opt_name, "custom-refresh-rates") == 0) { - g_customRefreshRates = parse_custom_refresh_rates( optarg ); - } else if (strcmp(opt_name, "sharpness") == 0 || -diff --git a/src/main.hpp b/src/main.hpp -index 390c04a63ecd..e7b857d44b0d 100644 ---- a/src/main.hpp -+++ b/src/main.hpp -@@ -22,6 +22,8 @@ extern bool g_bForceRelativeMouse; - extern int g_nOutputRefresh; // mHz - extern bool g_bOutputHDREnabled; - extern bool g_bForceInternal; -+extern bool g_bUseRotationShader; -+extern bool g_bEnableDRMRotationShader; - - extern bool g_bFullscreen; - -diff --git a/src/meson.build b/src/meson.build -index a3dfdabd7366..36c073ec214e 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -70,6 +70,7 @@ shader_src = [ - 'shaders/cs_nis.comp', - 'shaders/cs_nis_fp16.comp', - 'shaders/cs_rgb_to_nv12.comp', -+ 'shaders/cs_rotation.comp', - ] - - spirv_shaders = glsl_generator.process(shader_src) -diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp -index f79d26e0c139..b19f9bf101b4 100644 ---- a/src/rendervulkan.cpp -+++ b/src/rendervulkan.cpp -@@ -48,6 +48,7 @@ - #include "cs_nis.h" - #include "cs_nis_fp16.h" - #include "cs_rgb_to_nv12.h" -+#include "cs_rotation.h" - - #define A_CPU - #include "shaders/ffx_a.h" -@@ -923,6 +924,7 @@ bool CVulkanDevice::createShaders() - SHADER(NIS, cs_nis); - } - SHADER(RGB_TO_NV12, cs_rgb_to_nv12); -+ SHADER(ROTATION, cs_rotation); - #undef SHADER - - for (uint32_t i = 0; i < shaderInfos.size(); i++) -@@ -1153,6 +1155,7 @@ void CVulkanDevice::compileAllPipelines() - SHADER(EASU, 1, 1, 1); - SHADER(NIS, 1, 1, 1); - SHADER(RGB_TO_NV12, 1, 1, 1); -+ SHADER(ROTATION, k_nMaxLayers, k_nMaxYcbcrMask_ToPreCompile, k_nMaxBlurLayers); - #undef SHADER - - for (auto& info : pipelineInfos) { -@@ -3249,8 +3252,16 @@ static bool vulkan_make_output_images( VulkanOutput_t *pOutput ) - - uint32_t uDRMFormat = pOutput->uOutputFormat; - -+ uint32_t l_nOutputWidth = g_nOutputWidth; -+ uint32_t l_nOutputHeight = g_nOutputHeight; -+ -+ if (g_bEnableDRMRotationShader) { -+ l_nOutputWidth = g_nOutputHeight; -+ l_nOutputHeight = g_nOutputWidth; -+ } -+ - pOutput->outputImages[0] = new CVulkanTexture(); -- bool bSuccess = pOutput->outputImages[0]->BInit( g_nOutputWidth, g_nOutputHeight, 1u, uDRMFormat, outputImageflags ); -+ bool bSuccess = pOutput->outputImages[0]->BInit( l_nOutputWidth, l_nOutputHeight, 1u, uDRMFormat, outputImageflags ); - if ( bSuccess != true ) - { - vk_log.errorf( "failed to allocate buffer for KMS" ); -@@ -3258,7 +3269,7 @@ static bool vulkan_make_output_images( VulkanOutput_t *pOutput ) - } - - pOutput->outputImages[1] = new CVulkanTexture(); -- bSuccess = pOutput->outputImages[1]->BInit( g_nOutputWidth, g_nOutputHeight, 1u, uDRMFormat, outputImageflags ); -+ bSuccess = pOutput->outputImages[1]->BInit( l_nOutputWidth, l_nOutputHeight, 1u, uDRMFormat, outputImageflags ); - if ( bSuccess != true ) - { - vk_log.errorf( "failed to allocate buffer for KMS" ); -@@ -3266,7 +3277,7 @@ static bool vulkan_make_output_images( VulkanOutput_t *pOutput ) - } - - pOutput->outputImages[2] = new CVulkanTexture(); -- bSuccess = pOutput->outputImages[2]->BInit( g_nOutputWidth, g_nOutputHeight, 1u, uDRMFormat, outputImageflags ); -+ bSuccess = pOutput->outputImages[2]->BInit( l_nOutputWidth, l_nOutputHeight, 1u, uDRMFormat, outputImageflags ); - if ( bSuccess != true ) - { - vk_log.errorf( "failed to allocate buffer for KMS" ); -@@ -3281,7 +3292,7 @@ static bool vulkan_make_output_images( VulkanOutput_t *pOutput ) - uint32_t uPartialDRMFormat = pOutput->uOutputFormatOverlay; - - pOutput->outputImagesPartialOverlay[0] = new CVulkanTexture(); -- bool bSuccess = pOutput->outputImagesPartialOverlay[0]->BInit( g_nOutputWidth, g_nOutputHeight, 1u, uPartialDRMFormat, outputImageflags, nullptr, 0, 0, pOutput->outputImages[0].get() ); -+ bool bSuccess = pOutput->outputImagesPartialOverlay[0]->BInit( l_nOutputWidth, l_nOutputHeight, 1u, uPartialDRMFormat, outputImageflags, nullptr, 0, 0, pOutput->outputImages[0].get() ); - if ( bSuccess != true ) - { - vk_log.errorf( "failed to allocate buffer for KMS" ); -@@ -3289,7 +3300,7 @@ static bool vulkan_make_output_images( VulkanOutput_t *pOutput ) - } - - pOutput->outputImagesPartialOverlay[1] = new CVulkanTexture(); -- bSuccess = pOutput->outputImagesPartialOverlay[1]->BInit( g_nOutputWidth, g_nOutputHeight, 1u, uPartialDRMFormat, outputImageflags, nullptr, 0, 0, pOutput->outputImages[1].get() ); -+ bSuccess = pOutput->outputImagesPartialOverlay[1]->BInit( l_nOutputWidth, l_nOutputHeight, 1u, uPartialDRMFormat, outputImageflags, nullptr, 0, 0, pOutput->outputImages[1].get() ); - if ( bSuccess != true ) - { - vk_log.errorf( "failed to allocate buffer for KMS" ); -@@ -3297,7 +3308,7 @@ static bool vulkan_make_output_images( VulkanOutput_t *pOutput ) - } - - pOutput->outputImagesPartialOverlay[2] = new CVulkanTexture(); -- bSuccess = pOutput->outputImagesPartialOverlay[2]->BInit( g_nOutputWidth, g_nOutputHeight, 1u, uPartialDRMFormat, outputImageflags, nullptr, 0, 0, pOutput->outputImages[2].get() ); -+ bSuccess = pOutput->outputImagesPartialOverlay[2]->BInit( l_nOutputWidth, l_nOutputHeight, 1u, uPartialDRMFormat, outputImageflags, nullptr, 0, 0, pOutput->outputImages[2].get() ); - if ( bSuccess != true ) - { - vk_log.errorf( "failed to allocate buffer for KMS" ); -@@ -3427,6 +3438,28 @@ static void update_tmp_images( uint32_t width, uint32_t height ) - } - } - -+static void update_rotated_images( uint32_t width, uint32_t height ) -+{ -+ if ( g_output.rotatedOutput != nullptr -+ && width == g_output.rotatedOutput->width() -+ && height == g_output.rotatedOutput->height() ) -+ { -+ return; -+ } -+ -+ CVulkanTexture::createFlags createFlags; -+ createFlags.bSampled = true; -+ createFlags.bStorage = true; -+ -+ g_output.rotatedOutput = new CVulkanTexture(); -+ bool bSuccess = g_output.rotatedOutput->BInit( width, height, 1u, DRM_FORMAT_ARGB8888, createFlags, nullptr ); -+ -+ if ( !bSuccess ) -+ { -+ vk_log.errorf( "failed to create rotated output" ); -+ return; -+ } -+} - - static bool init_nis_data() - { -@@ -3903,7 +3936,7 @@ extern uint32_t g_reshade_technique_idx; - - ReshadeEffectPipeline *g_pLastReshadeEffect = nullptr; - --std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamescope::Rc pPipewireTexture, bool partial, gamescope::Rc pOutputOverride, bool increment, std::unique_ptr pInCommandBuffer ) -+std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamescope::Rc pPipewireTexture, bool partial, gamescope::Rc pOutputOverride, bool increment, std::unique_ptr pInCommandBuffer, bool applyRotation ) - { - EOTF outputTF = frameInfo->outputEncodingEOTF; - if (!frameInfo->applyOutputColorMgmt) -@@ -3978,7 +4011,15 @@ std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamesco - cmdBuffer->setTextureSrgb(0, true); - cmdBuffer->setSamplerUnnormalized(0, false); - cmdBuffer->setSamplerNearest(0, false); -- cmdBuffer->bindTarget(compositeImage); -+ -+ if (applyRotation) { -+ // Make a rotatedOutput with normal dimensions -+ update_rotated_images(currentOutputWidth, currentOutputHeight); // 2560x1600 -+ cmdBuffer->bindTarget(g_output.rotatedOutput); -+ } else { -+ cmdBuffer->bindTarget(compositeImage); -+ } -+ - cmdBuffer->uploadConstants(frameInfo, g_upscaleFilterSharpness / 10.0f); - - cmdBuffer->dispatch(div_roundup(currentOutputWidth, pixelsPerGroup), div_roundup(currentOutputHeight, pixelsPerGroup)); -@@ -4021,7 +4062,15 @@ std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamesco - - cmdBuffer->bindPipeline( g_device.pipeline(SHADER_TYPE_BLIT, nisFrameInfo.layerCount, nisFrameInfo.ycbcrMask(), 0u, nisFrameInfo.colorspaceMask(), outputTF )); - bind_all_layers(cmdBuffer.get(), &nisFrameInfo); -- cmdBuffer->bindTarget(compositeImage); -+ -+ if (applyRotation) { -+ // Make a rotatedOutput with normal dimensions -+ update_rotated_images(currentOutputWidth, currentOutputHeight); // 2560x1600 -+ cmdBuffer->bindTarget(g_output.rotatedOutput); -+ } else { -+ cmdBuffer->bindTarget(compositeImage); -+ } -+ - cmdBuffer->uploadConstants(&nisFrameInfo); - - int pixelsPerGroup = 8; -@@ -4059,7 +4108,15 @@ std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamesco - type = frameInfo->blurLayer0 == BLUR_MODE_COND ? SHADER_TYPE_BLUR_COND : SHADER_TYPE_BLUR; - cmdBuffer->bindPipeline(g_device.pipeline(type, frameInfo->layerCount, frameInfo->ycbcrMask(), blur_layer_count, frameInfo->colorspaceMask(), outputTF )); - bind_all_layers(cmdBuffer.get(), frameInfo); -- cmdBuffer->bindTarget(compositeImage); -+ -+ if (applyRotation) { -+ // Make a rotatedOutput with normal dimensions -+ update_rotated_images(currentOutputWidth, currentOutputHeight); // 2560x1600 -+ cmdBuffer->bindTarget(g_output.rotatedOutput); -+ } else { -+ cmdBuffer->bindTarget(compositeImage); -+ } -+ - cmdBuffer->bindTexture(VKR_BLUR_EXTRA_SLOT, g_output.tmpOutput); - cmdBuffer->setTextureSrgb(VKR_BLUR_EXTRA_SLOT, !useSrgbView); // Inverted because it chooses whether to view as linear (sRGB view) or sRGB (raw view). It's horrible. I need to change it. - cmdBuffer->setSamplerUnnormalized(VKR_BLUR_EXTRA_SLOT, true); -@@ -4069,14 +4126,51 @@ std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamesco - } - else - { -- cmdBuffer->bindPipeline( g_device.pipeline(SHADER_TYPE_BLIT, frameInfo->layerCount, frameInfo->ycbcrMask(), 0u, frameInfo->colorspaceMask(), outputTF )); -- bind_all_layers(cmdBuffer.get(), frameInfo); -- cmdBuffer->bindTarget(compositeImage); -- cmdBuffer->uploadConstants(frameInfo); -+ if (applyRotation) { -+ cmdBuffer->bindPipeline( g_device.pipeline(SHADER_TYPE_ROTATION, frameInfo->layerCount, frameInfo->ycbcrMask(), 0u, frameInfo->colorspaceMask(), outputTF )); -+ bind_all_layers(cmdBuffer.get(), frameInfo); -+ cmdBuffer->bindTarget(compositeImage); -+ cmdBuffer->uploadConstants(frameInfo); - -- const int pixelsPerGroup = 8; -+ const int pixelsPerGroup = 8; - -- cmdBuffer->dispatch(div_roundup(currentOutputWidth, pixelsPerGroup), div_roundup(currentOutputHeight, pixelsPerGroup)); -+ cmdBuffer->dispatch(div_roundup(currentOutputWidth, pixelsPerGroup), div_roundup(currentOutputHeight, pixelsPerGroup)); -+ } else { -+ cmdBuffer->bindPipeline( g_device.pipeline(SHADER_TYPE_BLIT, frameInfo->layerCount, frameInfo->ycbcrMask(), 0u, frameInfo->colorspaceMask(), outputTF )); -+ bind_all_layers(cmdBuffer.get(), frameInfo); -+ cmdBuffer->bindTarget(compositeImage); -+ cmdBuffer->uploadConstants(frameInfo); -+ -+ const int pixelsPerGroup = 8; -+ -+ cmdBuffer->dispatch(div_roundup(currentOutputWidth, pixelsPerGroup), div_roundup(currentOutputHeight, pixelsPerGroup)); -+ } -+ } -+ -+ if (applyRotation) -+ { -+ if (g_output.rotatedOutput != nullptr) { -+ // Rotate the final output -+ // TODO: may need rework with another rotation shader for blur, fsr and nis -+ cmdBuffer->bindPipeline( g_device.pipeline(SHADER_TYPE_ROTATION, frameInfo->layerCount, frameInfo->ycbcrMask(), 0u, frameInfo->colorspaceMask(), outputTF)); -+ bind_all_layers(cmdBuffer.get(), frameInfo); -+ -+ // if (frameInfo->blurLayer0) { -+ // bool useSrgbView = frameInfo->layers[0].colorspace == GAMESCOPE_APP_TEXTURE_COLORSPACE_LINEAR; -+ // -+ // cmdBuffer->bindTexture(VKR_BLUR_EXTRA_SLOT, g_output.rotatedOutput); -+ // cmdBuffer->setTextureSrgb(VKR_BLUR_EXTRA_SLOT, !useSrgbView); -+ // cmdBuffer->setSamplerUnnormalized(VKR_BLUR_EXTRA_SLOT, true); -+ // cmdBuffer->setSamplerNearest(VKR_BLUR_EXTRA_SLOT, false); -+ // } -+ -+ cmdBuffer->bindTarget(compositeImage); -+ cmdBuffer->uploadConstants(frameInfo); -+ -+ const int pixelsPerGroup = 8; -+ -+ cmdBuffer->dispatch(div_roundup(currentOutputWidth, pixelsPerGroup), div_roundup(currentOutputHeight, pixelsPerGroup)); -+ } - } - - if ( pPipewireTexture != nullptr ) -diff --git a/src/rendervulkan.hpp b/src/rendervulkan.hpp -index 63cc6029ac5f..93a4a6027f55 100644 ---- a/src/rendervulkan.hpp -+++ b/src/rendervulkan.hpp -@@ -408,7 +408,7 @@ gamescope::OwningRc vulkan_create_texture_from_dmabuf( struct wl - gamescope::OwningRc vulkan_create_texture_from_bits( uint32_t width, uint32_t height, uint32_t contentWidth, uint32_t contentHeight, uint32_t drmFormat, CVulkanTexture::createFlags texCreateFlags, void *bits ); - gamescope::OwningRc vulkan_create_texture_from_wlr_buffer( struct wlr_buffer *buf, gamescope::OwningRc pBackendFb ); - --std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamescope::Rc pScreenshotTexture, bool partial, gamescope::Rc pOutputOverride = nullptr, bool increment = true, std::unique_ptr pInCommandBuffer = nullptr ); -+std::optional vulkan_composite( struct FrameInfo_t *frameInfo, gamescope::Rc pScreenshotTexture, bool partial, gamescope::Rc pOutputOverride = nullptr, bool increment = true, std::unique_ptr pInCommandBuffer = nullptr, bool applyRotation = false ); - void vulkan_wait( uint64_t ulSeqNo, bool bReset ); - gamescope::Rc vulkan_get_last_output_image( bool partial, bool defer ); - gamescope::Rc vulkan_acquire_screenshot_texture(uint32_t width, uint32_t height, bool exportable, uint32_t drmFormat, EStreamColorspace colorspace = k_EStreamColorspace_Unknown); -@@ -545,6 +545,9 @@ struct VulkanOutput_t - // NIS - gamescope::OwningRc nisScalerImage; - gamescope::OwningRc nisUsmImage; -+ -+ // Rotated -+ gamescope::OwningRc rotatedOutput; - }; - - -@@ -557,6 +560,7 @@ enum ShaderType { - SHADER_TYPE_RCAS, - SHADER_TYPE_NIS, - SHADER_TYPE_RGB_TO_NV12, -+ SHADER_TYPE_ROTATION, - - SHADER_TYPE_COUNT - }; -diff --git a/src/shaders/cs_rotation.comp b/src/shaders/cs_rotation.comp -new file mode 100644 -index 000000000000..1a47fd505748 ---- /dev/null -+++ b/src/shaders/cs_rotation.comp -@@ -0,0 +1,53 @@ -+#version 450 -+ -+#extension GL_GOOGLE_include_directive : require -+#extension GL_EXT_scalar_block_layout : require -+ -+#include "descriptor_set.h" -+ -+layout( -+ local_size_x = 8, -+ local_size_y = 8, -+ local_size_z = 1) in; -+ -+#include "blit_push_data.h" -+#include "composite.h" -+ -+vec4 sampleLayer(uint layerIdx, vec2 uv) { -+ if ((c_ycbcrMask & (1 << layerIdx)) != 0) -+ return sampleLayer(s_ycbcr_samplers[layerIdx], layerIdx, uv, false); -+ return sampleLayer(s_samplers[layerIdx], layerIdx, uv, true); -+} -+ -+void main() { -+ uvec2 coord = uvec2(gl_GlobalInvocationID.x, gl_GlobalInvocationID.y); -+ uvec2 outSize = imageSize(dst); -+ float outWidth = outSize.y; -+ float outHeight = outSize.x; -+ -+ vec2 uv = vec2(coord); -+ vec4 outputValue = vec4(255.0f); -+ -+ if (c_layerCount > 0) { -+ outputValue = sampleLayer(0, uv) * u_opacity[0]; -+ } -+ -+ for (int i = 1; i < c_layerCount; i++) { -+ vec4 layerColor = sampleLayer(i, uv); -+ // wl_surfaces come with premultiplied alpha, so that's them being -+ // premultiplied by layerColor.a. -+ // We need to then multiply that by the layer's opacity to get to our -+ // final premultiplied state. -+ // For the other side of things, we need to multiply by (1.0f - (layerColor.a * opacity)) -+ float opacity = u_opacity[i]; -+ float layerAlpha = opacity * layerColor.a; -+ outputValue = layerColor * opacity + outputValue * (1.0f - layerAlpha); -+ } -+ -+ outputValue.rgb = encodeOutputColor(outputValue.rgb); -+ -+ // Rotate the pixel coordinates counter-clockwise by 90 degrees -+ ivec2 rotatedCoord = ivec2(coord.y, outWidth - coord.x - 1); -+ -+ imageStore(dst, rotatedCoord, outputValue); -+} -diff --git a/src/wlserver.cpp b/src/wlserver.cpp -index 4d6e8de55ba4..a694b5245a97 100644 ---- a/src/wlserver.cpp -+++ b/src/wlserver.cpp -@@ -2793,6 +2793,11 @@ static void apply_touchscreen_orientation(double *x, double *y ) - break; - } - -+ if (g_bEnableDRMRotationShader) { -+ tx = 1.0 - *y; -+ ty = *x; -+ } -+ - *x = tx; - *y = ty; - } --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: brainantifreeze -Date: Thu, 19 Dec 2024 09:16:15 +0000 -Subject: feat(nvidia): fix crash with current driver - -add layer env var to hide present wait ext - -see: https://github.com/ValveSoftware/gamescope/pull/1671 ---- - layer/VkLayer_FROG_gamescope_wsi.cpp | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp -index af0c2009930b..263cbc37bd88 100644 ---- a/layer/VkLayer_FROG_gamescope_wsi.cpp -+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp -@@ -183,6 +183,16 @@ namespace GamescopeWSILayer { - return s_ensureMinImageCount; - } - -+ static bool getHidePresentWait() { -+ static bool s_hidePresentWait = []() -> bool { -+ if (auto hide = parseEnv("GAMESCOPE_WSI_HIDE_PRESENT_WAIT_EXT")) { -+ return *hide; -+ } -+ return false; -+ }(); -+ return s_hidePresentWait; -+ } -+ - // Taken from Mesa, licensed under MIT. - // - // No real reason to rewrite this code, -@@ -589,7 +599,11 @@ namespace GamescopeWSILayer { - createInfo.ppEnabledExtensionNames = enabledExts.data(); - - setenv("vk_xwayland_wait_ready", "false", 0); -- setenv("vk_khr_present_wait", "true", 0); -+ if (getHidePresentWait()) { -+ setenv("vk_khr_present_wait", "false", 0); -+ } else { -+ setenv("vk_khr_present_wait", "true", 0); -+ } - - VkResult result = pfnCreateInstanceProc(&createInfo, pAllocator, pInstance); - if (result != VK_SUCCESS) -@@ -899,6 +913,10 @@ namespace GamescopeWSILayer { - const vkroots::VkInstanceDispatch* pDispatch, - VkPhysicalDevice physicalDevice, - VkPhysicalDeviceFeatures2* pFeatures) { -+ if (getHidePresentWait()) { -+ fprintf(stderr, "[Gamescope WSI] Removing VkPhysicalDevicePresentWaitFeaturesKHR because GAMESCOPE_WSI_HIDE_PRESENT_WAIT_EXT is set\n"); -+ vkroots::RemoveFromChain(pFeatures); -+ } - pDispatch->GetPhysicalDeviceFeatures2(physicalDevice, pFeatures); - } - --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Sun, 23 Feb 2025 02:16:55 +0100 -Subject: feat(display): add asus z13 - ---- - .../00-gamescope/displays/asus.z13.lcd.lua | 57 +++++++++++++++++++ - 1 file changed, 57 insertions(+) - create mode 100644 scripts/00-gamescope/displays/asus.z13.lcd.lua - -diff --git a/scripts/00-gamescope/displays/asus.z13.lcd.lua b/scripts/00-gamescope/displays/asus.z13.lcd.lua -new file mode 100644 -index 000000000000..891f1ea9ca6f ---- /dev/null -+++ b/scripts/00-gamescope/displays/asus.z13.lcd.lua -@@ -0,0 +1,57 @@ -+gamescope.config.known_displays.asusz13_lcd = { -+ pretty_name = "Asus Z13 LCD", -+ dynamic_refresh_rates = { -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, -+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -+ 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, -+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, -+ 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180 -+ }, -+ -+ -- Detailed Timing Descriptors: -+ -- DTD 1: 1920x1200 120.002 Hz 8:5 151.683 kHz 315.500 MHz (172 mm x 107 mm) -+ -- Modeline "1920x1200_120.00" 315.500 1920 1968 2000 2080 1200 1254 1260 1264 -HSync -VSync -+ -- DTD 2: 1920x1200 60.001 Hz 8:5 75.841 kHz 157.750 MHz (172 mm x 107 mm) -+ -- Modeline "1920x1200_60.00" 157.750 1920 1968 2000 2080 1200 1254 1260 1264 -HSync -VSync -+ dynamic_modegen = function(base_mode, refresh) -+ debug("Generating mode "..refresh.."Hz with fixed pixel clock") -+ local vfps = { -+ 4886, 4751, 4620, 4495, 4375, 4259, 4147, 4040, 3936, 3836, 3739, 3646, -+ 3556, 3468, 3384, 3302, 3223, 3146, 3072, 2999, 2929, 2861, 2795, 2731, -+ 2668, 2608, 2548, 2491, 2435, 2380, 2327, 2275, 2225, 2175, 2127, 2080, -+ 2035, 1990, 1946, 1903, 1862, 1821, 1781, 1742, 1704, 1667, 1630, 1594, -+ 1559, 1525, 1491, 1458, 1426, 1395, 1364, 1333, 1303, 1274, 1245, 1217, -+ 1190, 1162, 1136, 1110, 1084, 1059, 1034, 1010, 986, 962, 939, 916, 894, -+ 872, 850, 829, 808, 787, 767, 747, 727, 708, 689, 670, 652, 634, 616, -+ 598, 581, 563, 547, 530, 513, 497, 481, 466, 450, 435, 420, 405, 390, -+ 376, 361, 347, 333, 320, 306, 293, 279, 266, 254, 241, 228, 216, 204, -+ 192, 180, 168, 156, 145, 133, 122, 111, 100, 89, 78, 68, 57, 47, 36, -+ 26, 16, 6 -+ } -+ local vfp = vfps[zero_index(refresh - 48)] -+ if vfp == nil then -+ warn("Couldn't do refresh "..refresh.." on ROG Ally") -+ return base_mode -+ end -+ -+ local mode = base_mode -+ -+ gamescope.modegen.adjust_front_porch(mode, vfp) -+ mode.vrefresh = gamescope.modegen.calc_vrefresh(mode) -+ -+ --debug(inspect(mode)) -+ return mode -+ end, -+ matches = function(display) -+ if display.vendor == "TMA" and display.model == "TL134ADXP03" then -+ debug("[z13] Matched vendor: "..display.vendor.." model: "..display.model.." product:"..display.product) -+ return 5000 -+ end -+ return -1 -+ end -+} -+debug("Registered Lenovo Legion Go S LCD as a known display") -\ No newline at end of file --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Wed, 23 Apr 2025 22:51:54 +0200 -Subject: feat(display): consider vporch to avoid timing issues - ---- - src/Backends/DRMBackend.cpp | 8 ++++++++ - src/main.cpp | 1 + - src/main.hpp | 1 + - src/vblankmanager.cpp | 6 +----- - 4 files changed, 11 insertions(+), 5 deletions(-) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index a099185e7cdc..d09030e0cf5e 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -213,6 +213,11 @@ namespace gamescope - return nRefresh; - } - -+ static int32_t GetVblankNs(const drmModeModeInfo *mode) -+ { -+ return (mode->vsync_start - mode->vdisplay) * 1'000'000'000ll / mode->vrefresh / mode->vtotal; -+ } -+ - template - using CAutoDeletePtr = std::unique_ptr; - -@@ -3194,6 +3199,9 @@ bool drm_set_mode( struct drm_t *drm, const drmModeModeInfo *mode ) - g_nOutputRefresh = gamescope::GetModeRefresh( mode ); - g_nDynamicRefreshHz = 0; - -+ g_nsVsync = gamescope::GetVblankNs( mode ); -+ drm_log.infof("Vblank ns: %lu", g_nsVsync); -+ - update_drm_effective_orientations(drm, mode); - - switch ( drm->pConnector->GetCurrentOrientation() ) -diff --git a/src/main.cpp b/src/main.cpp -index cfd4cc11d179..0d88e3a2cded 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -291,6 +291,7 @@ int g_nNestedDisplayIndex = 0; - uint32_t g_nOutputWidth = 0; - uint32_t g_nOutputHeight = 0; - int g_nOutputRefresh = 0; -+long g_nsVsync = 0; - bool g_bOutputHDREnabled = false; - - bool g_bFullscreen = false; -diff --git a/src/main.hpp b/src/main.hpp -index e7b857d44b0d..e6f8ff133689 100644 ---- a/src/main.hpp -+++ b/src/main.hpp -@@ -20,6 +20,7 @@ extern uint32_t g_nOutputWidth; - extern uint32_t g_nOutputHeight; - extern bool g_bForceRelativeMouse; - extern int g_nOutputRefresh; // mHz -+extern long g_nsVsync; // ns - extern bool g_bOutputHDREnabled; - extern bool g_bForceInternal; - extern bool g_bUseRotationShader; -diff --git a/src/vblankmanager.cpp b/src/vblankmanager.cpp -index f036d000a8e2..e388374c98ba 100644 ---- a/src/vblankmanager.cpp -+++ b/src/vblankmanager.cpp -@@ -95,8 +95,6 @@ namespace gamescope - - VBlankScheduleTime CVBlankTimer::CalcNextWakeupTime( bool bPreemptive ) - { -- const GamescopeScreenType eScreenType = GetBackend()->GetScreenType(); -- - const int nRefreshRate = GetRefresh(); - const uint64_t ulRefreshInterval = mHzToRefreshCycle( nRefreshRate ); - -@@ -113,9 +111,7 @@ namespace gamescope - // to not account for vertical front porch when dealing with the vblank - // drm_commit is going to target? - // Need to re-test that. -- const uint64_t ulRedZone = eScreenType == GAMESCOPE_SCREEN_TYPE_INTERNAL -- ? m_ulVBlankDrawBufferRedZone -- : std::min( m_ulVBlankDrawBufferRedZone, ( m_ulVBlankDrawBufferRedZone * 60'000 * nRefreshRate ) / 60'000 ); -+ const uint64_t ulRedZone = m_ulVBlankDrawBufferRedZone + g_nsVsync; - - const uint64_t ulDecayAlpha = m_ulVBlankRateOfDecayPercentage; // eg. 980 = 98% - --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Sun, 22 Jun 2025 15:18:19 +0200 -Subject: feat: add Legion Go S display with all framerates - ---- - .../displays/lenovo.legiongos.lcd.lua | 71 +++++++++++-------- - 1 file changed, 42 insertions(+), 29 deletions(-) - -diff --git a/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua b/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua -index 32f776c17f3d..057850f374f8 100644 ---- a/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua -+++ b/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua -@@ -1,44 +1,58 @@ --local legiongos_lcd_refresh_rates = { -- 52, 53, 54, 56, 57, 58, 59, -- 60, 61, 62, 63, 64, 65, 67, 68, 69, -- 70, -- 102, 103, 104, 105, 106, 107, 108, 109, -- 111, 112, 113, 114, 115, 116, 117, 118, 119, -- 120 --} -- - gamescope.config.known_displays.legiongos_lcd = { - pretty_name = "Lenovo Legion Go S LCD", - hdr = { -- -- The Legion Go S panel does not support HDR. -+ -- Setup some fallbacks for undocking with HDR, meant -+ -- for the internal panel. It does not support HDR. - supported = false, - force_enabled = false, -- eotf = gamescope.eotf.gamma22, -- max_content_light_level = 500, -- max_frame_average_luminance = 500, -- min_content_light_level = 0.5 -+ eotf = gamescope.eotf.gamma22, -+ max_content_light_level = 500, -+ max_frame_average_luminance = 500, -+ min_content_light_level = 0.5 - }, -- -- 60Hz has a different pixel clock than 120Hz in the EDID with VRR disabled, -- -- and the panel is not responsive to tuning VFPs. To cover the non-VRR -- -- limiter, an LCD Deck-style dynamic modegen method works best. -- dynamic_refresh_rates = legiongos_lcd_refresh_rates, -+ -+ dynamic_refresh_rates = { -+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, -+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, -+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120 -+ }, -+ -+ -- Detailed Timing Descriptors: -+ -- DTD 1: 1920x1200 120.002 Hz 8:5 151.683 kHz 315.500 MHz (172 mm x 107 mm) -+ -- Modeline "1920x1200_120.00" 315.500 1920 1968 2000 2080 1200 1254 1260 1264 -HSync -VSync -+ -- DTD 2: 1920x1200 60.001 Hz 8:5 75.841 kHz 157.750 MHz (172 mm x 107 mm) -+ -- Modeline "1920x1200_60.00" 157.750 1920 1968 2000 2080 1200 1254 1260 1264 -HSync -VSync - dynamic_modegen = function(base_mode, refresh) -- debug("Generating mode "..refresh.."Hz for Lenovo Legion Go S LCD") -- local mode = base_mode -+ debug("Generating mode "..refresh.."Hz with fixed pixel clock") -+ local vfps = { -+ 1950, 1885, 1824, 1764, 1707, 1652, 1599, 1548, 1499, 1451, 1405, -+ 1361, 1318, 1277, 1237, 1198, 1160, 1124, 1088, 1054, 1021, 988, -+ 957, 927, 897, 868, 840, 813, 786, 760, 735, 710, 686, 663, 640, -+ 618, 596, 575, 554, 534, 514, 495, 476, 457, 439, 421, 404, 387, -+ 370, 354, 338, 322, 307, 292, 277, 263, 249, 235, 221, 208, 195, -+ 182, 169, 157, 145, 133, 121, 109, 98, 87, 76, 65, 54 -+ } -+ local vfp = vfps[zero_index(refresh - 48)] -+ if vfp == nil then -+ warn("Couldn't do refresh "..refresh.." on ROG Ally") -+ return base_mode -+ end - -- -- These are only tuned for 1920x1200. -- gamescope.modegen.set_resolution(mode, 1920, 1200) -+ local mode = base_mode - -- -- hfp, hsync, hbp -- gamescope.modegen.set_h_timings(mode, 48, 36, 80) -- -- vfp, vsync, vbp -- gamescope.modegen.set_v_timings(mode, 54, 6, 4) -- mode.clock = gamescope.modegen.calc_max_clock(mode, refresh) -+ gamescope.modegen.adjust_front_porch(mode, vfp) - mode.vrefresh = gamescope.modegen.calc_vrefresh(mode) - - --debug(inspect(mode)) - return mode - end, -+ -+ - matches = function(display) - local lcd_types = { - { vendor = "CSW", model = "PN8007QB1-1", product = 0x0800 }, -@@ -56,5 +70,4 @@ gamescope.config.known_displays.legiongos_lcd = { - return -1 - end - } --debug("Registered Lenovo Legion Go S LCD as a known display") ----debug(inspect(gamescope.config.known_displays.legiongos_lcd)) -+debug("Registered Lenovo Legion Go S LCD as a known display") -\ No newline at end of file --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Fri, 29 Aug 2025 16:45:39 +0200 -Subject: feat: add DPMS support through an Atom - ---- - src/Backends/DRMBackend.cpp | 15 ++++++++++++++- - src/rendervulkan.hpp | 2 ++ - src/steamcompmgr.cpp | 18 +++++++++++++++--- - src/xwayland_ctx.hpp | 1 + - 4 files changed, 32 insertions(+), 4 deletions(-) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index d09030e0cf5e..2861f30aaf66 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -2827,6 +2827,9 @@ int drm_prepare( struct drm_t *drm, bool async, const struct FrameInfo_t *frameI - drm->needs_modeset = true; - } - -+ if (drm->pCRTC && drm->pCRTC->GetProperties().ACTIVE->GetCurrentValue() != !frameInfo->dpms) -+ drm->needs_modeset = true; -+ - drm_colorspace uColorimetry = DRM_MODE_COLORIMETRY_DEFAULT; - - const bool bWantsHDR10 = g_bOutputHDREnabled && frameInfo->outputEncodingEOTF == EOTF_PQ; -@@ -2894,6 +2897,9 @@ int drm_prepare( struct drm_t *drm, bool async, const struct FrameInfo_t *frameI - needs_modeset = true; - } - -+ if ( frameInfo->dpms ) -+ bSleep = true; -+ - if ( !bSleep ) - { - if ( drm->pCRTC != nullptr ) -@@ -2973,7 +2979,13 @@ int drm_prepare( struct drm_t *drm, bool async, const struct FrameInfo_t *frameI - - if ( drm->pCRTC && !bSleep ) - { -- drm->pCRTC->GetProperties().ACTIVE->SetPendingValue( drm->req, 1u, true ); -+ if ( frameInfo->dpms ) { -+ // We can't disable a CRTC if it's already disabled -+ if (drm->pCRTC->GetProperties().ACTIVE->GetCurrentValue() != 0) -+ drm->pCRTC->GetProperties().ACTIVE->SetPendingValue(drm->req, 0, true); -+ } -+ else -+ drm->pCRTC->GetProperties().ACTIVE->SetPendingValue( drm->req, 1u, true ); - drm->pCRTC->GetProperties().MODE_ID->SetPendingValue( drm->req, drm->pending.mode_id ? drm->pending.mode_id->GetBlobValue() : 0lu, true ); - - if ( drm->pCRTC->GetProperties().VRR_ENABLED ) -@@ -3594,6 +3606,7 @@ namespace gamescope - - FrameInfo_t presentCompFrameInfo = {}; - presentCompFrameInfo.allowVRR = pFrameInfo->allowVRR; -+ presentCompFrameInfo.dpms = pFrameInfo->dpms; - presentCompFrameInfo.outputEncodingEOTF = pFrameInfo->outputEncodingEOTF; - - if ( bNeedsFullComposite ) -diff --git a/src/rendervulkan.hpp b/src/rendervulkan.hpp -index 93a4a6027f55..0833fc46ffd7 100644 ---- a/src/rendervulkan.hpp -+++ b/src/rendervulkan.hpp -@@ -292,6 +292,8 @@ struct FrameInfo_t - bool applyOutputColorMgmt; // drm only - EOTF outputEncodingEOTF; - -+ bool dpms; -+ - int layerCount; - struct Layer_t - { -diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp -index 07e45b19fc61..f25f810f9387 100644 ---- a/src/steamcompmgr.cpp -+++ b/src/steamcompmgr.cpp -@@ -174,6 +174,8 @@ bool g_bSteamIsActiveWindow = false; - bool g_bForceInternal = false; - bool b_bForceFrameLimit = false; - bool g_bRefreshHalveEnable = false; -+bool g_bDPMS = false; -+bool g_bDPMS_set = false; - - namespace gamescope - { -@@ -2421,7 +2423,7 @@ gamescope::ConVar cv_paint_cursor_plane{ "paint_cursor_plane", true }; - gamescope::ConVar cv_paint_mura_plane{ "paint_mura_plane", true }; - - static void --paint_all( global_focus_t *pFocus, bool async ) -+paint_all(global_focus_t *pFocus, bool async, bool dpms) - { - if ( !pFocus ) - return; -@@ -2479,6 +2481,7 @@ paint_all( global_focus_t *pFocus, bool async ) - frameInfo.outputEncodingEOTF = g_ColorMgmt.pending.outputEncodingEOTF; - frameInfo.allowVRR = cv_adaptive_sync; - frameInfo.bFadingOut = fadingOut; -+ frameInfo.dpms = dpms; - - // If the window we'd paint as the base layer is the streaming client, - // find the video underlay and put it up first in the scenegraph -@@ -6234,6 +6237,10 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev) - { - g_bRefreshHalveEnable = !!get_prop( ctx, ctx->root, ctx->atoms.gamescopeFrameHalveAtom, 0 ); - } -+ if (ev->atom == ctx->atoms.gamescopeDPMS) -+ { -+ g_bDPMS = !!get_prop(ctx, ctx->root, ctx->atoms.gamescopeDPMS, 0); -+ } - } - - static int -@@ -7470,6 +7477,7 @@ void init_xwayland_ctx(uint32_t serverId, gamescope_xwayland_server_t *xwayland_ - ctx->atoms.targets = XInternAtom(ctx->dpy, "TARGETS", false); - - ctx->atoms.gamescopeFrameHalveAtom = XInternAtom( ctx->dpy, "GAMESCOPE_STEAMUI_HALFHZ", false );; -+ ctx->atoms.gamescopeDPMS = XInternAtom(ctx->dpy, "GAMESCOPE_DPMS", false); - - ctx->root_width = DisplayWidth(ctx->dpy, ctx->scr); - ctx->root_height = DisplayHeight(ctx->dpy, ctx->scr); -@@ -8611,10 +8619,14 @@ steamcompmgr_main(int argc, char **argv) - bShouldPaint = false; - } - -+ if ( g_bDPMS != g_bDPMS_set && vblank ) -+ bShouldPaint = true; -+ - if ( bShouldPaint ) - { -- paint_all( pPaintFocus, eFlipType == FlipType::Async ); -- -+ paint_all( pPaintFocus, eFlipType == FlipType::Async, g_bDPMS ); -+ -+ g_bDPMS_set = g_bDPMS; - bPainted = true; - } - } -diff --git a/src/xwayland_ctx.hpp b/src/xwayland_ctx.hpp -index e4eec9fa0c48..2347cbb3340c 100644 ---- a/src/xwayland_ctx.hpp -+++ b/src/xwayland_ctx.hpp -@@ -248,6 +248,7 @@ struct xwayland_ctx_t final : public gamescope::IWaitable - Atom targets; - - Atom gamescopeFrameHalveAtom; -+ Atom gamescopeDPMS; - } atoms; - - bool HasQueuedEvents(); --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Sun, 29 Jun 2025 13:16:59 +0200 -Subject: update misyltoad urls - ---- - .gitmodules | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/.gitmodules b/.gitmodules -index ec7d4e430ee8..17ba783f809b 100644 ---- a/.gitmodules -+++ b/.gitmodules -@@ -1,12 +1,12 @@ - [submodule "subprojects/wlroots"] - path = subprojects/wlroots -- url = https://github.com/Joshua-Ashton/wlroots.git -+ url = https://github.com/misyltoad/wlroots.git - [submodule "subprojects/libliftoff"] - path = subprojects/libliftoff - url = https://gitlab.freedesktop.org/emersion/libliftoff.git - [submodule "subprojects/vkroots"] - path = subprojects/vkroots -- url = https://github.com/Joshua-Ashton/vkroots -+ url = https://github.com/misyltoad/vkroots - [submodule "subprojects/libdisplay-info"] - path = subprojects/libdisplay-info - url = https://gitlab.freedesktop.org/emersion/libdisplay-info -@@ -15,7 +15,7 @@ - url = https://github.com/ValveSoftware/openvr.git - [submodule "src/reshade"] - path = src/reshade -- url = https://github.com/Joshua-Ashton/reshade -+ url = https://github.com/misyltoad/reshade - [submodule "thirdparty/SPIRV-Headers"] - path = thirdparty/SPIRV-Headers - url = https://github.com/KhronosGroup/SPIRV-Headers/ --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Fri, 29 Aug 2025 15:31:34 +0200 -Subject: fix: drain timer fds to avoid epoll_wait returning constantly - -Currently, if the VBlank or VRR timers expire without being rescheduled, -their FDs remain readable, causing epoll_wait to return instantly.|Drain -the FDs in the OnPollIn handlers to prevent this. ---- - src/waitable.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/waitable.h b/src/waitable.h -index 30edf8f52deb..36ac61ee7233 100644 ---- a/src/waitable.h -+++ b/src/waitable.h -@@ -182,6 +182,11 @@ namespace gamescope - ArmTimer( 0ul, false ); - } - -+ void OnPollIn() -+ { -+ IWaitable::Drain(m_nFD); -+ } -+ - int GetFD() - { - return m_nFD; -@@ -200,6 +205,7 @@ namespace gamescope - - void OnPollIn() final - { -+ ITimerWaitable::OnPollIn(); - m_fnPollFunc(); - } - private: --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Sat, 30 Aug 2025 15:12:39 +0200 -Subject: fix(intel): allow night mode and color adjustment via compositing - ---- - src/Backends/DRMBackend.cpp | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index 2861f30aaf66..3c4e5907b2a9 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -3481,6 +3481,17 @@ namespace gamescope - bNeedsFullComposite |= pFrameInfo->bFadingOut; - bNeedsFullComposite |= !g_reshade_effect.empty(); - -+ if ( !SupportsColorManagement() ) { -+ // Fuzzy match default values to see if we need to composite -+ bNeedsFullComposite |= g_ColorMgmt.pending.nightmode.amount != 0.0f; -+ bNeedsFullComposite |= g_ColorMgmt.pending.outputVirtualWhite.x > 0 && -+ abs(g_ColorMgmt.pending.outputVirtualWhite.x - 0.3127f) > 0.001f; -+ bNeedsFullComposite |= g_ColorMgmt.pending.outputVirtualWhite.y > 0 && -+ abs(g_ColorMgmt.pending.outputVirtualWhite.y - 0.3290f) > 0.001f; -+ bNeedsFullComposite |= g_ColorMgmt.pending.sdrGamutWideness >= 0 && -+ abs(g_ColorMgmt.pending.sdrGamutWideness - 0.5f) > 0.02f; -+ } -+ - if ( g_bOutputHDREnabled ) - { - bNeedsFullComposite |= g_bHDRItmEnable; --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Sat, 30 Aug 2025 15:32:00 +0200 -Subject: fix(hdr): disable PQ on handheld internal displays - -For some reason, the PQ transfer function does not work on current -handhelds. So use gamma 22 instead. This allows us to skip creating -configs and read the HDR metadata from the displays. ---- - src/Backends/DRMBackend.cpp | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index 3c4e5907b2a9..83da1bfe231b 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -2465,7 +2465,13 @@ namespace gamescope - pHDRStaticMetadata && pHDRStaticMetadata->eotfs && pHDRStaticMetadata->eotfs->pq ) - { - m_Mutable.HDR.bExposeHDRSupport = true; -- m_Mutable.HDR.eOutputEncodingEOTF = EOTF_PQ; -+ if (GetScreenType() == GAMESCOPE_SCREEN_TYPE_INTERNAL) -+ // Current handheld internal displays have issues -+ // with PQ, e.g., Ayaneo 3, Steam Deck etc. -+ // Use Gamma 2.2 as the safest option for now. -+ m_Mutable.HDR.eOutputEncodingEOTF = EOTF_Gamma22; -+ else -+ m_Mutable.HDR.eOutputEncodingEOTF = EOTF_PQ; - m_Mutable.HDR.uMaxContentLightLevel = - pHDRStaticMetadata->desired_content_max_luminance - ? nits_to_u16( pHDRStaticMetadata->desired_content_max_luminance ) --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Fri, 29 Aug 2025 17:17:06 +0200 -Subject: chore: use system glm, stb - ---- - meson.build | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/meson.build b/meson.build -index 5e5bd4cdc7c4..802e4a052bcd 100644 ---- a/meson.build -+++ b/meson.build -@@ -50,10 +50,8 @@ dep_x11 = dependency('x11') - dep_wayland = dependency('wayland-client') - vulkan_dep = dependency('vulkan') - --glm_proj = subproject('glm') --glm_dep = glm_proj.get_variable('glm_dep') --stb_proj = subproject('stb') --stb_dep = stb_proj.get_variable('stb_dep') -+glm_dep = dependency('glm') -+stb_dep = dependency('stb') - - if get_option('enable_openvr_support') - openvr_dep = dependency('openvr', version: '>= 2.7', required : false) --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Fri, 29 Aug 2025 19:04:17 +0200 -Subject: Revert "mangoapp: plumb engineName" - -This reverts commit b9f20436d1bdf7bd8212541817b254e1b4c8eb1e. ---- - layer/VkLayer_FROG_gamescope_wsi.cpp | 9 +-------- - protocol/gamescope-swapchain.xml | 1 - - src/WaylandServer/WaylandServerLegacy.h | 1 - - src/mangoapp.cpp | 6 ------ - src/steamcompmgr.cpp | 6 ------ - src/steamcompmgr.hpp | 1 - - src/steamcompmgr_shared.hpp | 2 -- - src/wlserver.cpp | 4 +--- - 8 files changed, 2 insertions(+), 28 deletions(-) - -diff --git a/layer/VkLayer_FROG_gamescope_wsi.cpp b/layer/VkLayer_FROG_gamescope_wsi.cpp -index 263cbc37bd88..d1835a4c7487 100644 ---- a/layer/VkLayer_FROG_gamescope_wsi.cpp -+++ b/layer/VkLayer_FROG_gamescope_wsi.cpp -@@ -404,7 +404,6 @@ namespace GamescopeWSILayer { - struct GamescopeInstanceData { - wl_display* display; - uint32_t appId = 0; -- std::string engineName; - GamescopeLayerClient::Flags flags = 0; - }; - VKROOTS_DEFINE_SYNCHRONIZED_MAP_TYPE(GamescopeInstance, VkInstance); -@@ -631,14 +630,9 @@ namespace GamescopeWSILayer { - { - uint32_t appId = clientAppId(); - -- std::string engineName; -- if (pCreateInfo->pApplicationInfo && pCreateInfo->pApplicationInfo->pEngineName) -- engineName = pCreateInfo->pApplicationInfo->pEngineName; -- - auto state = GamescopeInstance::create(*pInstance, GamescopeInstanceData { - .display = display, - .appId = appId, -- .engineName = engineName, - .flags = defaultLayerClientFlags(pCreateInfo->pApplicationInfo, appId), - }); - -@@ -1275,8 +1269,7 @@ namespace GamescopeWSILayer { - uint32_t(pCreateInfo->imageColorSpace), - uint32_t(pCreateInfo->compositeAlpha), - uint32_t(pCreateInfo->preTransform), -- uint32_t(pCreateInfo->clipped), -- gamescopeInstance->engineName.c_str()); -+ uint32_t(pCreateInfo->clipped)); - - return VK_SUCCESS; - } -diff --git a/protocol/gamescope-swapchain.xml b/protocol/gamescope-swapchain.xml -index 58ac8463b752..91be3fc02d67 100644 ---- a/protocol/gamescope-swapchain.xml -+++ b/protocol/gamescope-swapchain.xml -@@ -89,7 +89,6 @@ - - - -- - - - -diff --git a/src/WaylandServer/WaylandServerLegacy.h b/src/WaylandServer/WaylandServerLegacy.h -index 63ee2ca17e8c..0facb7dc8b1e 100644 ---- a/src/WaylandServer/WaylandServerLegacy.h -+++ b/src/WaylandServer/WaylandServerLegacy.h -@@ -29,7 +29,6 @@ struct wlserver_vk_swapchain_feedback - VkCompositeAlphaFlagBitsKHR vk_composite_alpha; - VkSurfaceTransformFlagBitsKHR vk_pre_transform; - VkBool32 vk_clipped; -- std::shared_ptr vk_engine_name; - - std::shared_ptr hdr_metadata_blob; - }; -diff --git a/src/mangoapp.cpp b/src/mangoapp.cpp -index d8e1ce7edafe..91e01bc275c6 100644 ---- a/src/mangoapp.cpp -+++ b/src/mangoapp.cpp -@@ -31,7 +31,6 @@ struct mangoapp_msg_v1 { - uint16_t displayRefresh; - bool bAppWantsHDR : 1; - bool bSteamFocused : 1; -- char engineName[40]; - - // WARNING: Always ADD fields, never remove or repurpose fields - } __attribute__((packed)) mangoapp_msg_v1; -@@ -61,11 +60,6 @@ void mangoapp_update( uint64_t visible_frametime, uint64_t app_frametime_ns, uin - mangoapp_msg_v1.displayRefresh = (uint16_t) gamescope::ConvertmHzToHz( g_nOutputRefresh ); - mangoapp_msg_v1.bAppWantsHDR = g_bAppWantsHDRCached; - mangoapp_msg_v1.bSteamFocused = g_focusedBaseAppId == 769; -- memset(mangoapp_msg_v1.engineName, 0, sizeof(mangoapp_msg_v1.engineName)); -- if (focusWindow_engine) -- focusWindow_engine->copy(mangoapp_msg_v1.engineName, sizeof(mangoapp_msg_v1.engineName) / sizeof(char)); -- else -- std::string("gamescope").copy(mangoapp_msg_v1.engineName, sizeof(mangoapp_msg_v1.engineName) / sizeof(char)); - msgsnd(msgid, &mangoapp_msg_v1, sizeof(mangoapp_msg_v1) - sizeof(mangoapp_msg_v1.hdr.msg_type), IPC_NOWAIT); - } - -diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp -index f25f810f9387..d5a6a4af51df 100644 ---- a/src/steamcompmgr.cpp -+++ b/src/steamcompmgr.cpp -@@ -1026,7 +1026,6 @@ int g_BlurRadius = 5; - unsigned int g_BlurFadeStartTime = 0; - - pid_t focusWindow_pid; --std::shared_ptr focusWindow_engine = nullptr; - - focus_t g_steamcompmgr_xdg_focus; - std::vector> g_steamcompmgr_xdg_wins; -@@ -6396,9 +6395,6 @@ bool handle_done_commit( steamcompmgr_win_t *w, xwayland_ctx_t *ctx, uint64_t co - uint32_t j; - for ( j = 0; j < w->commit_queue.size(); j++ ) - { -- if (w->commit_queue[ j ]->feedback.has_value()) -- w->engineName = w->commit_queue[ j ]->feedback->vk_engine_name; -- - if ( w->commit_queue[ j ]->commitID == commitID ) - { - gpuvis_trace_printf( "commit %lu done", w->commit_queue[ j ]->commitID ); -@@ -6443,8 +6439,6 @@ bool handle_done_commit( steamcompmgr_win_t *w, xwayland_ctx_t *ctx, uint64_t co - if ( !cv_paint_debug_pause_base_plane ) - g_HeldCommits[ HELD_COMMIT_BASE ] = w->commit_queue[ j ]; - hasRepaint = true; -- -- focusWindow_engine = w->engineName; - } - - if ( w == pFocus->overrideWindow ) -diff --git a/src/steamcompmgr.hpp b/src/steamcompmgr.hpp -index 98e927296483..2f489a26a0aa 100644 ---- a/src/steamcompmgr.hpp -+++ b/src/steamcompmgr.hpp -@@ -144,7 +144,6 @@ struct wlserver_x11_surface_info *lookup_x11_surface_info_from_xid( gamescope_xw - - extern gamescope::VBlankTime g_SteamCompMgrVBlankTime; - extern pid_t focusWindow_pid; --extern std::shared_ptr focusWindow_engine; - - void init_xwayland_ctx(uint32_t serverId, gamescope_xwayland_server_t *xwayland_server); - void gamescope_set_selection(std::string contents, GamescopeSelection eSelection); -diff --git a/src/steamcompmgr_shared.hpp b/src/steamcompmgr_shared.hpp -index 5a2198d97bed..4027013148b2 100644 ---- a/src/steamcompmgr_shared.hpp -+++ b/src/steamcompmgr_shared.hpp -@@ -149,8 +149,6 @@ struct steamcompmgr_win_t { - bool unlockedForFrameCallback = false; - bool receivedDoneCommit = false; - -- std::shared_ptr engineName; -- - std::vector< gamescope::Rc > commit_queue; - std::shared_ptr> icon; - -diff --git a/src/wlserver.cpp b/src/wlserver.cpp -index a694b5245a97..42c6bc0c2430 100644 ---- a/src/wlserver.cpp -+++ b/src/wlserver.cpp -@@ -862,8 +862,7 @@ static void gamescope_swapchain_swapchain_feedback( struct wl_client *client, st - uint32_t vk_colorspace, - uint32_t vk_composite_alpha, - uint32_t vk_pre_transform, -- uint32_t vk_clipped, -- const char *vk_engine_name) -+ uint32_t vk_clipped) - { - wlserver_wl_surface_info *wl_info = (wlserver_wl_surface_info *)wl_resource_get_user_data( resource ); - if ( wl_info ) -@@ -875,7 +874,6 @@ static void gamescope_swapchain_swapchain_feedback( struct wl_client *client, st - .vk_composite_alpha = VkCompositeAlphaFlagBitsKHR(vk_composite_alpha), - .vk_pre_transform = VkSurfaceTransformFlagBitsKHR(vk_pre_transform), - .vk_clipped = VkBool32(vk_clipped), -- .vk_engine_name = std::make_shared(vk_engine_name), - .hdr_metadata_blob = nullptr, - }); - } --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antheas Kapenekakis -Date: Sun, 31 Aug 2025 20:55:02 +0200 -Subject: fix: separate blend tf to its own check - -Currently, blend tf and other color mgmt checks are combined into one -check. However, new hardware does not support the blend tf for a plane, -causing loss of all color mgmt features. Separate the checks so that -color mgmt can still be used on such hardware. - -Also, add the other function checks to drm_supports_color_mgmt so that -there are no edge cases where only subproperties are supported. ---- - src/Backends/DRMBackend.cpp | 40 +++++++++++++++++++++++++++++-------- - 1 file changed, 32 insertions(+), 8 deletions(-) - -diff --git a/src/Backends/DRMBackend.cpp b/src/Backends/DRMBackend.cpp -index 83da1bfe231b..c1a714569bf2 100644 ---- a/src/Backends/DRMBackend.cpp -+++ b/src/Backends/DRMBackend.cpp -@@ -559,6 +559,7 @@ extern std::string g_reshade_effect; - - bool drm_update_color_mgmt(struct drm_t *drm); - bool drm_supports_color_mgmt(struct drm_t *drm); -+bool drm_supports_srgb_to_pq(struct drm_t *drm); - bool drm_set_connector( struct drm_t *drm, gamescope::CDRMConnector *conn ); - - struct drm_color_ctm2 { -@@ -2691,13 +2692,15 @@ drm_prepare_liftoff( struct drm_t *drm, const struct FrameInfo_t *frameInfo, boo - } - } - -- if ( drm_supports_color_mgmt( drm ) ) -+ if ( drm_supports_srgb_to_pq( drm ) ) - { - if (!cv_drm_debug_disable_blend_tf && !bSinglePlane) - liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_BLEND_TF", drm->pending.output_tf ); - else -- liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_BLEND_TF", AMDGPU_TRANSFER_FUNCTION_DEFAULT ); -- -+ liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_BLEND_TF", AMDGPU_TRANSFER_FUNCTION_DEFAULT ); -+ } -+ if ( drm_supports_color_mgmt( drm ) ) -+ { - if (!cv_drm_debug_disable_ctm && frameInfo->layers[i].ctm != nullptr) - liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_CTM", frameInfo->layers[i].ctm->GetBlobValue() ); - else -@@ -2712,13 +2715,16 @@ drm_prepare_liftoff( struct drm_t *drm, const struct FrameInfo_t *frameInfo, boo - liftoff_layer_unset_property( drm->lo_layers[ i ], "COLOR_ENCODING" ); - liftoff_layer_unset_property( drm->lo_layers[ i ], "COLOR_RANGE" ); - -+ if ( drm_supports_srgb_to_pq( drm ) ) -+ { -+ liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_BLEND_TF", AMDGPU_TRANSFER_FUNCTION_DEFAULT ); -+ } - if ( drm_supports_color_mgmt( drm ) ) - { - liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_DEGAMMA_TF", AMDGPU_TRANSFER_FUNCTION_DEFAULT ); - liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_SHAPER_LUT", 0 ); - liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_SHAPER_TF", 0 ); - liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_LUT3D", 0 ); -- liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_BLEND_TF", AMDGPU_TRANSFER_FUNCTION_DEFAULT ); - liftoff_layer_set_property( drm->lo_layers[ i ], "AMD_PLANE_CTM", 0 ); - } - } -@@ -2870,7 +2876,7 @@ int drm_prepare( struct drm_t *drm, bool async, const struct FrameInfo_t *frameI - - bool bSinglePlane = frameInfo->layerCount < 2 && cv_drm_single_plane_optimizations; - -- if ( drm_supports_color_mgmt( &g_DRM ) && frameInfo->applyOutputColorMgmt ) -+ if ( drm_supports_srgb_to_pq( &g_DRM ) && frameInfo->applyOutputColorMgmt ) - { - if ( !cv_drm_debug_disable_output_tf && !bSinglePlane ) - { -@@ -3371,7 +3377,20 @@ bool drm_supports_color_mgmt(struct drm_t *drm) - if ( !drm->pPrimaryPlane ) - return false; - -- return drm->pPrimaryPlane->GetProperties().AMD_PLANE_CTM.has_value() && drm->pPrimaryPlane->GetProperties().AMD_PLANE_BLEND_TF.has_value(); -+ return drm->pPrimaryPlane->GetProperties().AMD_PLANE_CTM.has_value() && // dm->dc->caps.color.mpc.gamut_remap -+ drm->pPrimaryPlane->GetProperties().AMD_PLANE_SHAPER_LUT.has_value() && // dpp_color_caps.hw_3d_lut -+ drm->pPrimaryPlane->GetProperties().AMD_PLANE_DEGAMMA_TF.has_value(); // dpp_color_caps.dgam_ram || dpp_color_caps.gamma_corr -+} -+ -+bool drm_supports_srgb_to_pq(struct drm_t *drm) -+{ -+ if ( g_bForceDisableColorMgmt ) -+ return false; -+ -+ if ( !drm->pPrimaryPlane ) -+ return false; -+ -+ return drm->pPrimaryPlane->GetProperties().AMD_PLANE_BLEND_TF.has_value(); // dpp_color_caps.ogam_ram - } - - std::span drm_get_valid_refresh_rates( struct drm_t *drm ) -@@ -3501,12 +3520,12 @@ namespace gamescope - if ( g_bOutputHDREnabled ) - { - bNeedsFullComposite |= g_bHDRItmEnable; -- if ( !SupportsColorManagement() ) -+ if ( !SupportsSRGBtoPQ() ) - bNeedsFullComposite |= ( pFrameInfo->layerCount > 1 || pFrameInfo->layers[0].colorspace != GAMESCOPE_APP_TEXTURE_COLORSPACE_HDR10_PQ ); - } - else - { -- if ( !SupportsColorManagement() ) -+ if ( !SupportsSRGBtoPQ() ) - bNeedsFullComposite |= ColorspaceIsHDR( pFrameInfo->layers[0].colorspace ); - } - -@@ -3915,6 +3934,11 @@ namespace gamescope - return drm_supports_color_mgmt( &g_DRM ); - } - -+ bool SupportsSRGBtoPQ() const -+ { -+ return drm_supports_srgb_to_pq( &g_DRM ); -+ } -+ - int Commit( const FrameInfo_t *pFrameInfo ) - { - drm_t *drm = &g_DRM; --- -2.51.0 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Colin Kinloch -Date: Fri, 1 Aug 2025 16:06:23 +0100 -Subject: WaylandBackend: Check features before using color management - -This stops compositors lacking required features, transfer functions or -primaries from triggering protocol errors on start. ---- - src/Backends/WaylandBackend.cpp | 32 ++++++++++++++++++-------------- - 1 file changed, 18 insertions(+), 14 deletions(-) - -diff --git a/src/Backends/WaylandBackend.cpp b/src/Backends/WaylandBackend.cpp -index 664ed0eac070..1171980ba61d 100644 ---- a/src/Backends/WaylandBackend.cpp -+++ b/src/Backends/WaylandBackend.cpp -@@ -1990,13 +1990,14 @@ namespace gamescope - return false; - if ( !Algorithm::Contains( m_WPColorManagerFeatures.eFeatures, WP_COLOR_MANAGER_V1_FEATURE_SET_LUMINANCES ) ) - return false; -+ if ( !Algorithm::Contains( m_WPColorManagerFeatures.eFeatures, WP_COLOR_MANAGER_V1_FEATURE_WINDOWS_SCRGB ) ) -+ return false; - - // Transfer Functions - if ( !Algorithm::Contains( m_WPColorManagerFeatures.eTransferFunctions, WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_SRGB ) ) - return false; - if ( !Algorithm::Contains( m_WPColorManagerFeatures.eTransferFunctions, WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_ST2084_PQ ) ) - return false; -- // TODO: Need scRGB - - // Primaries - if ( !Algorithm::Contains( m_WPColorManagerFeatures.ePrimaries, WP_COLOR_MANAGER_V1_PRIMARIES_SRGB ) ) -@@ -2006,6 +2007,22 @@ namespace gamescope - - return true; - }(); -+ -+ if ( m_WPColorManagerFeatures.bSupportsGamescopeColorManagement ) -+ { -+ // HDR10. -+ { -+ wp_image_description_creator_params_v1 *pParams = wp_color_manager_v1_create_parametric_creator( m_pWPColorManager ); -+ wp_image_description_creator_params_v1_set_primaries_named( pParams, WP_COLOR_MANAGER_V1_PRIMARIES_BT2020 ); -+ wp_image_description_creator_params_v1_set_tf_named( pParams, WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_ST2084_PQ ); -+ m_pWPImageDescriptions[ GAMESCOPE_APP_TEXTURE_COLORSPACE_HDR10_PQ ] = wp_image_description_creator_params_v1_create( pParams ); -+ } -+ -+ // scRGB -+ { -+ m_pWPImageDescriptions[ GAMESCOPE_APP_TEXTURE_COLORSPACE_SCRGB ] = wp_color_manager_v1_create_windows_scrgb( m_pWPColorManager ); -+ } -+ } - } - - m_pLibDecor = libdecor_new( m_pDisplay, &s_LibDecorInterface ); -@@ -2476,19 +2493,6 @@ namespace gamescope - { - m_pWPColorManager = (wp_color_manager_v1 *)wl_registry_bind( pRegistry, uName, &wp_color_manager_v1_interface, 1u ); - wp_color_manager_v1_add_listener( m_pWPColorManager, &s_WPColorManagerListener, this ); -- -- // HDR10. -- { -- wp_image_description_creator_params_v1 *pParams = wp_color_manager_v1_create_parametric_creator( m_pWPColorManager ); -- wp_image_description_creator_params_v1_set_primaries_named( pParams, WP_COLOR_MANAGER_V1_PRIMARIES_BT2020 ); -- wp_image_description_creator_params_v1_set_tf_named( pParams, WP_COLOR_MANAGER_V1_TRANSFER_FUNCTION_ST2084_PQ ); -- m_pWPImageDescriptions[ GAMESCOPE_APP_TEXTURE_COLORSPACE_HDR10_PQ ] = wp_image_description_creator_params_v1_create( pParams ); -- } -- -- // scRGB -- { -- m_pWPImageDescriptions[ GAMESCOPE_APP_TEXTURE_COLORSPACE_SCRGB ] = wp_color_manager_v1_create_windows_scrgb( m_pWPColorManager ); -- } - } - else if ( !strcmp( pInterface, zwp_pointer_constraints_v1_interface.name ) ) - { --- -2.51.0 diff --git a/anda/games/terra-gamescope/terra-gamescope.spec b/anda/games/terra-gamescope/terra-gamescope.spec index 3f1e43d863..06e056b5f4 100755 --- a/anda/games/terra-gamescope/terra-gamescope.spec +++ b/anda/games/terra-gamescope/terra-gamescope.spec @@ -2,18 +2,16 @@ %global _default_patch_fuzz 2 %global build_timestamp %(date +"%Y%m%d") -#global gamescope_tag 3.15.11 -%global gamescope_commit 2f30679c80791844c29402d232462874fe23dd46 +%global gamescope_commit 7c5ebe991af905c17fa26f6287704ff07dcf69ca %define short_commit %(echo %{gamescope_commit} | cut -c1-8) Name: terra-gamescope -#Version: 100.%{gamescope_tag} -Version: 134.%{short_commit} +Version: 137.%{short_commit} Release: 1%?dist Summary: Micro-compositor for video games on Wayland License: BSD -URL: https://github.com/ValveSoftware/gamescope +URL: https://github.com/OpenGamingCollective/gamescope Provides: gamescope = %{version}-%{release} Conflicts: gamescope @@ -21,68 +19,67 @@ Conflicts: gamescope # Create stb.pc to satisfy dependency('stb') Source0: stb.pc -Patch0: 0001-cstdint.patch +Patch0: Use-system-stb-glm.patch -# https://hhd.dev/ -# https://github.com/ChimeraOS/gamescope -Patch1: handheld.patch +Patch1: 0001-cstdint.patch -#Patch2: https://github.com/ValveSoftware/gamescope/pull/1867.patch +%if 0%{?fedora} >= 44 +# Fix build with libinput >= 1.27 / GCC 16 (-Werror=switch) +Patch2: 0002-wlroots-libinput-switch-keypad-slide.patch +%endif -BuildRequires: meson >= 0.54.0 -BuildRequires: ninja-build BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ +BuildRequires: git-core BuildRequires: glm-devel BuildRequires: google-benchmark-devel -BuildRequires: libXmu-devel BuildRequires: libXcursor-devel -BuildRequires: libeis-devel -BuildRequires: pixman-devel +BuildRequires: libXmu-devel +BuildRequires: meson >= 0.54.0 +BuildRequires: ninja-build +BuildRequires: pkgconfig(hwdata) +BuildRequires: pkgconfig(libavif) +BuildRequires: pkgconfig(libcap) +BuildRequires: pkgconfig(libdecor-0) BuildRequires: pkgconfig(libdisplay-info) -BuildRequires: pkgconfig(pixman-1) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libeis-1.0) +BuildRequires: (pkgconfig(libliftoff) >= %{libliftoff_minver} with pkgconfig(libliftoff) < 0.6) +BuildRequires: pkgconfig(libpipewire-0.3) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(luajit) +#BuildRequires: pkgconfig(openvr) >= 2.7 +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(vulkan) +BuildRequires: pkgconfig(wayland-protocols) >= 1.17 +BuildRequires: pkgconfig(wayland-scanner) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wlroots-0.18) BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xcomposite) -BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) -BuildRequires: pkgconfig(xxf86vm) -BuildRequires: pkgconfig(xtst) -BuildRequires: pkgconfig(xres) -BuildRequires: pkgconfig(libdrm) -BuildRequires: pkgconfig(vulkan) -BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-server) >= 1.23.0 -BuildRequires: pkgconfig(wayland-protocols) >= 1.17 BuildRequires: pkgconfig(xkbcommon) -BuildRequires: pkgconfig(sdl2) -BuildRequires: pkgconfig(libpipewire-0.3) -BuildRequires: pkgconfig(libavif) -BuildRequires: pkgconfig(wlroots) -BuildRequires: pkgconfig(libliftoff) -BuildRequires: pkgconfig(libcap) -BuildRequires: pkgconfig(hwdata) -BuildRequires: pkgconfig(lcms2) -BuildRequires: pkgconfig(luajit) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xres) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(xxf86vm) BuildRequires: spirv-headers-devel # Enforce the the minimum EVR to contain fixes for all of: # CVE-2021-28021 CVE-2021-42715 CVE-2021-42716 CVE-2022-28041 CVE-2023-43898 # CVE-2023-45661 CVE-2023-45662 CVE-2023-45663 CVE-2023-45664 CVE-2023-45666 -# CVE-2023-45667 -BuildRequires: stb_image-devel >= 2.28^20231011gitbeebb24-12 +# CVE-2023-45667, upstream issues #1860, #1861 +BuildRequires: stb_image-devel >= 2.30^20251025gitf1c79c0-2 # Header-only library: -static is for tracking per guidelines BuildRequires: stb_image-static BuildRequires: stb_image_resize-devel BuildRequires: stb_image_resize-static BuildRequires: stb_image_write-devel BuildRequires: stb_image_write-static +#BuildRequires: vkroots-devel BuildRequires: /usr/bin/glslangValidator -BuildRequires: libdecor-devel -BuildRequires: libXdamage-devel -BuildRequires: xorg-x11-server-Xwayland-devel -BuildRequires: git # libliftoff hasn't bumped soname, but API/ABI has changed for 0.2.0 release Requires: libliftoff%{?_isa} >= %{libliftoff_minver} @@ -94,6 +91,17 @@ Requires: terra-gamescope-libs(x86-32) = %{version}-%{release} Recommends: mesa-dri-drivers Recommends: mesa-vulkan-drivers +# submodule deps +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libinput) >= 1.21.0 +BuildRequires: pkgconfig(libseat) +BuildRequires: pkgconfig(x11-xcb) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-errors) +BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-renderutil) +BuildRequires: pkgconfig(xwayland) + %description %{name} is the micro-compositor optimized for running video games on Wayland. @@ -133,6 +141,7 @@ export PKG_CONFIG_PATH=pkgconfig %{_bindir}/gamescopectl %{_bindir}/gamescopestream %{_bindir}/gamescopereaper +%{_bindir}/gamescope-type %{_datadir}/gamescope/* %files libs @@ -140,5 +149,8 @@ export PKG_CONFIG_PATH=pkgconfig %{_datadir}/vulkan/implicit_layer.d/VkLayer_FROG_gamescope_wsi.*.json %changelog +* Fri Mar 13 2026 Kyle Gospodnetich +- Switch to OGC sources + * Thu Jan 2 2025 Owen-sz - Package gamescope, port from Bazzite diff --git a/anda/games/terra-gamescope/update.rhai b/anda/games/terra-gamescope/update.rhai new file mode 100644 index 0000000000..c0deb9c10f --- /dev/null +++ b/anda/games/terra-gamescope/update.rhai @@ -0,0 +1,6 @@ +if rpm.changed() { + rpm.release(); + let v = gh_commit("OpenGamingCollective/gamescope")); + v.crop(1); + rpm.global("gamescope_commit", v); +} diff --git a/anda/apps/twintaillauncher/anda.hcl b/anda/games/twintaillauncher/anda.hcl similarity index 58% rename from anda/apps/twintaillauncher/anda.hcl rename to anda/games/twintaillauncher/anda.hcl index 62f910e857..81a75d1435 100644 --- a/anda/apps/twintaillauncher/anda.hcl +++ b/anda/games/twintaillauncher/anda.hcl @@ -1,5 +1,4 @@ -project "pkg" { - arches = ["x86_64"] +project pkg { rpm { spec = "twintaillauncher.spec" } diff --git a/anda/apps/twintaillauncher/twintaillauncher.spec b/anda/games/twintaillauncher/twintaillauncher.spec similarity index 50% rename from anda/apps/twintaillauncher/twintaillauncher.spec rename to anda/games/twintaillauncher/twintaillauncher.spec index 769fcdeaaa..74416b186a 100644 --- a/anda/apps/twintaillauncher/twintaillauncher.spec +++ b/anda/games/twintaillauncher/twintaillauncher.spec @@ -6,19 +6,28 @@ Name: twintaillauncher -Version: 1.1.15 +Version: 2.3.0 Release: 1%{?dist} Summary: A multi-platform launcher for your anime games Packager: Yoong Jin -SourceLicense: GPL-3.0-or-later -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 (0BSD OR Apache-2.0 OR MIT) AND (Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR CC0-1.0) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT) AND (Apache-2.0 OR BSD-2-Clause OR MIT) AND (Apache-2.0 OR BSD-3-Clause) AND (Apache-2.0 OR BSD-3-Clause OR MIT) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR CC0-1.0 OR MIT-0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR LGPL-2.1-or-later OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT OR Zlib) AND (Apache-2.0 WITH LLVM-exception) AND (BSD-2-Clause) AND (BSD-3-Clause) AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR MIT) AND CC0-1.0 AND (CC0-1.0 OR MIT-0) 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 (LGPL-3.0-or-later OR MIT) AND MIT AND (MIT OR Unlicense) AND MPL-2.0 AND Unicode-3.0 AND Zlib AND bzip2-1.0.6) +SourceLicense: GPL-3.0-only +License: GPL-3.0-only AND (((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR Apache-2.0 OR MIT) AND (Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 AND MIT) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR CC0-1.0) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT) AND (Apache-2.0 OR BSD-2-Clause OR MIT) AND (Apache-2.0 OR BSD-3-Clause) AND (Apache-2.0 OR BSD-3-Clause OR MIT) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR CC0-1.0 OR MIT-0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR LGPL-2.1-or-later OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT OR Zlib) AND (Apache-2.0 WITH LLVM-exception) AND (BSD-2-Clause) AND (BSD-3-Clause) AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR MIT) AND CC0-1.0 AND (CC0-1.0 OR MIT-0) 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 (LGPL-3.0-or-later OR MIT) AND MIT AND (MIT OR Unlicense) AND MPL-2.0 AND Unicode-3.0 AND Zlib AND bzip2-1.0.6) URL: https://twintaillauncher.app/ Source0: https://github.com/TwintailTeam/TwintailLauncher/archive/refs/tags/ttl-v%{version}.tar.gz -ExclusiveArch: x86_64 - +Requires: cairo +Requires: desktop-file-utils +Requires: gdk-pixbuf2 +Requires: glib2 +Requires: gtk3 Requires: hicolor-icon-theme +Requires: libappindicator-gtk3 +Requires: libayatana-appindicator-gtk3 +Requires: pango +Requires: webkit2gtk4.1 +Requires: mangohud +Requires: gamemode # Build requires BuildRequires: pnpm @@ -40,19 +49,19 @@ TTL is an all-in-one tool for downloading, managing, and launching your favorite %prep %autosetup -n TwintailLauncher-ttl-v%{version} -cd src-tauri -cargo update -cd .. %tauri_prep +%{__pnpm} import %build -%pnpm_build +%pnpm_build -F %install %tauri_install -mkdir -p %{buildroot}/%{_libdir}/twintaillauncher/resources -mv %{buildroot}/%{_datadir}/cargo/registry/twintaillauncher-%{version}/resources/ %{buildroot}/%{_libdir}/twintaillauncher/resources +mkdir -p %{buildroot}%{_prefix}/lib/twintaillauncher/resources + +#app expects files to be present there +mv %{buildroot}/%{_datadir}/cargo/registry/twintaillauncher-%{version}/resources %{buildroot}/usr/lib/twintaillauncher rm -rf %{buildroot}/%{_datadir}/cargo/registry/twintaillauncher-%{version} @@ -64,23 +73,26 @@ rm -rf %{buildroot}/%{_datadir}/cargo/registry/twintaillauncher-%{version} install -Dm644 public/launcher-icon.png %{buildroot}%{_hicolordir}/512x512/apps/%{name}.png install -Dm644 public/launcher-icon-128.png %{buildroot}%{_hicolordir}/128x128/apps/%{name}.png - - %files %license LICENSE.dependencies %license LICENSE %doc README.md %{_bindir}/twintaillauncher -%{_libdir}/twintaillauncher/resources +%{_prefix}/lib/%{name}/resources %{_hicolordir}/512x512/apps/%{name}.png %{_hicolordir}/128x128/apps/%{name}.png -%_appsdir/twintaillauncher.desktop - - - +%{_appsdir}/%{name}.desktop %changelog +* Sat May 9 2026 Gilver E. - 2.1.0-2 +- Enable aarch64 builds +* Wed Apr 15 2026 Yoong Jin - 2.0.0-3 +- Fix folders +- filx perms +* Sat Apr 4 2026 Yoong Jin - 2.0.0-2 +- Fix folders +- Update License * Thu Feb 19 2026 Yoong Jin - 1.1.15-1 - Fix resources * Tue Feb 3 2026 Yoong Jin - 1.1.15-0 diff --git a/anda/apps/twintaillauncher/update.rhai b/anda/games/twintaillauncher/update.rhai similarity index 100% rename from anda/apps/twintaillauncher/update.rhai rename to anda/games/twintaillauncher/update.rhai 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/udev-joystick-blacklist/udev-joystick-blacklist.spec b/anda/games/udev-joystick-blacklist/udev-joystick-blacklist.spec index 6ca72d26e0..03fd03f672 100644 --- a/anda/games/udev-joystick-blacklist/udev-joystick-blacklist.spec +++ b/anda/games/udev-joystick-blacklist/udev-joystick-blacklist.spec @@ -1,12 +1,12 @@ -%global commit a1ace571823be5979c135e9cb8e9ae103c7641ac +%global commit 1c5c9ccb69ea4ae42251aaa4c5a40a54766e6551 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20250715 +%global commit_date 20260415 Name: udev-joystick-blacklist Version: 0^%{commit_date}git%{shortcommit} -Release: 4%{?dist} +Release: 2%{?dist} Summary: Fix for keyboard/mouse/tablet being detected as joysticks in Linux -License: Public Domain +License: LicenseRef-Fedora-Public-Domain URL: https://github.com/denilsonsa/udev-joystick-blacklist Source0: %{url}/archive/%{commit}.tar.gz BuildRequires: systemd-rpm-macros 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/umu/umu-launcher.spec b/anda/games/umu/umu-launcher.spec index 020a809671..3bbc06a054 100644 --- a/anda/games/umu/umu-launcher.spec +++ b/anda/games/umu/umu-launcher.spec @@ -1,6 +1,6 @@ Name: umu-launcher -Version: 1.3.0 -Release: 1%?dist +Version: 1.4.0 +Release: 1%{?dist} Summary: A tool for launching non-steam games with proton License: GPL-3.0-only 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/blahaj/update.rhai b/anda/langs/crystal/blahaj/update.rhai index 0eed23daed..474744cf5f 100644 --- a/anda/langs/crystal/blahaj/update.rhai +++ b/anda/langs/crystal/blahaj/update.rhai @@ -1,3 +1 @@ -import "andax/bump_extras.rhai" as bump; - -rpm.version(bump::codeberg("GeopJr/BLAHAJ")); +rpm.version(codeberg("GeopJr/BLAHAJ")); diff --git a/anda/langs/crystal/crystal/crystal.spec b/anda/langs/crystal/crystal/crystal.spec index feac01fc7e..cc7ac5fa13 100644 --- a/anda/langs/crystal/crystal/crystal.spec +++ b/anda/langs/crystal/crystal/crystal.spec @@ -2,8 +2,8 @@ %global bootstrap_version 1.17.1 Name: crystal -Version: 1.19.1 -Release: 1%?dist +Version: 1.20.2 +Release: 2%{?dist} Summary: A general-purpose, object-oriented programming language License: Apache-2.0 Packager: Carl Hörberg 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 0fb8dbd671..4d5de71184 100644 --- a/anda/langs/dart/dart.spec +++ b/anda/langs/dart/dart.spec @@ -1,8 +1,8 @@ %define debug_package %{nil} Name: dart -Version: 3.11.1 -Release: 1%?dist +Version: 3.12.2 +Release: 1%{?dist} Summary: The Dart Language License: BSD-3-Clause URL: https://dart.dev/ diff --git a/anda/langs/go/chezmoi/chezmoi.spec b/anda/langs/go/chezmoi/chezmoi.spec deleted file mode 100644 index 968004564b..0000000000 --- a/anda/langs/go/chezmoi/chezmoi.spec +++ /dev/null @@ -1,74 +0,0 @@ -# Generated by go2rpm 1.15.0 -%bcond check 0 -%bcond bootstrap 0 - -# https://github.com/twpayne/chezmoi -%global goipath github.com/twpayne/chezmoi -Version: 2.69.4 - -%gometa -f - -%global common_description %{expand: -Manage your dotfiles across multiple diverse machines, securely.} - -%global golicenses LICENSE assets/chezmoi.io/docs/license.md\\\ - assets/chezmoi.io/docs/reference/commands/license.md -%global godocs .markdownlint-cli2.yaml README.md docs\\\ - assets/chezmoi.io/snippets/config-format.md\\\ - assets/chezmoi.io/snippets/common-flags/exclude.md\\\ - assets/chezmoi.io/snippets/common-flags/format.md\\\ - assets/chezmoi.io/snippets/common-flags/include.md\\\ - assets/chezmoi.io/snippets/common-flags/init.md\\\ - assets/chezmoi.io/snippets/common-flags/nul-path-\\\ - separator.md assets/chezmoi.io/snippets/common-\\\ - flags/parent-dirs.md\\\ - assets/chezmoi.io/snippets/common-flags/path-style.md\\\ - assets/chezmoi.io/snippets/common-flags/recursive.md\\\ - assets/chezmoi.io/snippets/common-flags/tree.md - -Name: chezmoi -Release: 1%?dist -Summary: Manage your dotfiles across multiple diverse machines, securely - -License: MIT -URL: %{gourl} -Source: %{gosource} - -%description %{common_description} - -#gopkg - -%prep -%goprep - -%build -%define gomodulesmode GO111MODULE=on -%define __gobuild_extldflags -X main.version=%version -X main.builtBy=%vendor -go clean -modcache -rm go.sum -go mod tidy -%gobuild -o %{gobuilddir}/bin/chezmoi . - -%install -#gopkginstall -install -m 0755 -vd %{buildroot}%{_bindir} -install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ -install -m 0644 -Dvp completions/chezmoi-completion.bash %{buildroot}%{bash_completions_dir}/chezmoi -install -m 0644 -Dvp completions/chezmoi.fish -t %{buildroot}%{fish_completions_dir}/ -install -m 0644 -Dvp completions/chezmoi.zsh %{buildroot}%{zsh_completions_dir}/_chezmoi - -%if %{without bootstrap} -%if %{with check} -%check -%gocheck -%endif -%endif - -%files -%license LICENSE -%doc README.md -%{_bindir}/chezmoi - -%pkg_completion -Bfz - -#gopkgfiles diff --git a/anda/langs/go/chezmoi/update.rhai b/anda/langs/go/chezmoi/update.rhai deleted file mode 100644 index 375ad36766..0000000000 --- a/anda/langs/go/chezmoi/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(`

The latest version of chezmoi is ([\d.]+)`.find(get("https://www.chezmoi.io"), 1)); diff --git a/anda/langs/go/elephant/golang-github-abenz1267-elephant.spec b/anda/langs/go/elephant/golang-github-abenz1267-elephant.spec index 346b824fb9..a165c4ae51 100644 --- a/anda/langs/go/elephant/golang-github-abenz1267-elephant.spec +++ b/anda/langs/go/elephant/golang-github-abenz1267-elephant.spec @@ -10,11 +10,11 @@ %global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(.*\\)$ %endif -%global providers archlinuxpkgs calc clipboard desktopapplications files menus providerlist runner symbols websearch +%global providers 1password archlinuxpkgs bitwarden bluetooth bookmarks calc clipboard desktopapplications dnfpackages files menus niriactions nirisessions playerctl providerlist runner snippets symbols todo unicode websearch windows wireplumber # https://github.com/abenz1267/elephant %global goipath github.com/abenz1267/elephant -Version: 2.19.3 +Version: 2.21.0 %gometa -f @@ -26,8 +26,8 @@ Elephant - cuz it's phat - is a powerful data provider service and backend for b %global godocs README.md Name: elephant -Release: 1%?dist -Summary: None +Release: 1%{?dist} +Summary: Data provider service and backend for building custom application launchers & desktop utilities License: GPL-3.0-only URL: %{gourl} diff --git a/anda/langs/go/elephant/update.rhai b/anda/langs/go/elephant/update.rhai index e8a25fa240..35758fbeb1 100644 --- a/anda/langs/go/elephant/update.rhai +++ b/anda/langs/go/elephant/update.rhai @@ -1 +1,9 @@ rpm.version(gh_rawfile("abenz1267/elephant", "master", "cmd/elephant/version.txt")); +let dir = get("https://api.github.com/repos/abenz1267/elephant/contents/internal/providers/").json_arr(); +let providers = ""; +for f in dir { + if f.size == 0 { // dir + providers += f.name + " "; + } +} +rpm.global("providers", providers[0..providers.len - 1]); diff --git a/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec b/anda/langs/go/gendesk/golang-github-xyproto-gendesk.spec index 3195bd60da..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.10 +Version: 1.0.15 %global tag 1.0.9 %global commit f074161864697100fdc21a99e09b567e82aeb1b9 @@ -20,7 +20,7 @@ of information.} %global godocs README.md Name: %{goname} -Release: 1%?dist +Release: 1%{?dist} Summary: Generate .desktop files and download .png icons License: BSD-3-Clause diff --git a/anda/langs/go/gh-act/gh-act.spec b/anda/langs/go/gh-act/gh-act.spec index a2a37ca824..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.84 +Version: 0.2.89 %gometa -f @@ -24,7 +24,7 @@ Run your GitHub Actions locally %global godocs README.md Name: gh-act -Release: 1%?dist +Release: 1%{?dist} Summary: None License: MIT AND ISC AND BSD-3-Clause AND Apache-2.0 AND BSD-2-Clause diff --git a/anda/langs/go/glow/golang-github-charmbracelet-glow.spec b/anda/langs/go/glow/golang-github-charmbracelet-glow.spec index fc26d74694..aa9d1c2762 100644 --- a/anda/langs/go/glow/golang-github-charmbracelet-glow.spec +++ b/anda/langs/go/glow/golang-github-charmbracelet-glow.spec @@ -3,7 +3,7 @@ # https://github.com/charmbracelet/glow %global goipath github.com/charmbracelet/glow -Version: 2.1.1 +Version: 2.1.2 %gometa -f @@ -15,7 +15,7 @@ Render markdown on the CLI, with pizzazz! 💅🏻.} %global godocs README.md Name: %{goname} -Release: 1%?dist +Release: 1%{?dist} Summary: Render markdown on the CLI, with pizzazz! 💅🏻 License: MIT diff --git a/anda/langs/go/google-grpc/golang-google-grpc.terra.spec b/anda/langs/go/google-grpc/golang-google-grpc.terra.spec index cc68ceb251..de8aabe2c6 100644 --- a/anda/langs/go/google-grpc/golang-google-grpc.terra.spec +++ b/anda/langs/go/google-grpc/golang-google-grpc.terra.spec @@ -11,7 +11,7 @@ # https://github.com/grpc/grpc-go %global goipath google.golang.org/grpc %global forgeurl https://github.com/grpc/grpc-go -Version: 1.79.1 +Version: 1.81.1 %gometa -L @@ -24,7 +24,7 @@ The Go language implementation of gRPC. HTTP/2 based RPC.} Documentation Name: golang-google-grpc.terra -Release: 1%?dist +Release: 1%{?dist} Summary: The Go language implementation of gRPC. HTTP/2 based RPC License: Apache-2.0 diff --git a/anda/langs/go/lazygit/golang-github-jesseduffield-lazygit.spec b/anda/langs/go/lazygit/golang-github-jesseduffield-lazygit.spec index 99ae6ea9ae..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.59.0 +Version: 0.62.2 %gometa -f @@ -13,7 +13,7 @@ Simple terminal UI for git commands.} %global godocs docs README.md VISION.md Name: golang-github-jesseduffield-lazygit -Release: 2%?dist +Release: 1%{?dist} Summary: Simple terminal UI for git commands License: MIT diff --git a/anda/langs/go/pop/pop.spec b/anda/langs/go/pop/pop.spec index 04f3863ffb..52df281777 100644 --- a/anda/langs/go/pop/pop.spec +++ b/anda/langs/go/pop/pop.spec @@ -1,12 +1,12 @@ %global debug_package %{nil} %global goipath github.com/charmbracelet/pop -Version: 0.2.0 +Version: 0.2.1 %gometa -f Name: pop -Release: 1%?dist +Release: 1%{?dist} Summary: Send emails from your terminal URL: https://github.com/charmbracelet/%{name} Source0: https://github.com/charmbracelet/%{name}/archive/refs/tags/v%{version}.tar.gz diff --git a/anda/langs/go/soft-serve/soft-serve.spec b/anda/langs/go/soft-serve/soft-serve.spec index 509869f78b..a084dcdecf 100644 --- a/anda/langs/go/soft-serve/soft-serve.spec +++ b/anda/langs/go/soft-serve/soft-serve.spec @@ -5,12 +5,12 @@ %global cmd_name soft %global goipath github.com/charmbracelet/soft-serve -Version: 0.11.3 +Version: 0.11.6 %gometa -f Name: soft-serve -Release: 1%?dist +Release: 1%{?dist} Summary: The mighty, self-hostable Git server for the command line URL: https://github.com/charmbracelet/%{name} Source0: https://github.com/charmbracelet/%{name}/archive/refs/tags/v%{version}.tar.gz diff --git a/anda/langs/go/v2ray/nightly/anda.hcl b/anda/langs/go/v2ray/nightly/anda.hcl new file mode 100644 index 0000000000..3b71d03242 --- /dev/null +++ b/anda/langs/go/v2ray/nightly/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "v2ray-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/langs/go/v2ray/nightly/update.rhai b/anda/langs/go/v2ray/nightly/update.rhai new file mode 100644 index 0000000000..455f470e1e --- /dev/null +++ b/anda/langs/go/v2ray/nightly/update.rhai @@ -0,0 +1,7 @@ +rpm.global("commit", gh_commit("v2fly/v2ray-core")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + let v = gh("v2fly/v2ray-core"); + rpm.global("ver", v); +} \ No newline at end of file diff --git a/anda/langs/go/v2ray/nightly/v2ray-nightly.spec b/anda/langs/go/v2ray/nightly/v2ray-nightly.spec new file mode 100644 index 0000000000..d4853dab0f --- /dev/null +++ b/anda/langs/go/v2ray/nightly/v2ray-nightly.spec @@ -0,0 +1,72 @@ +%global commit c1523c4578f8aacc4cc232d1eac9c54b0341ad38 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global ver v5.49.0 +%global commit_date 20260621 + +%global goipath github.com/v2fly/v2ray-core +Version: %(echo %ver | sed -E 's/^v//')^%{commit_date}git.%{shortcommit} + +%global golicenses LICENSE +%global godocs README.md SECURITY.md + +%gometa -f + +Name: v2ray-nightly +Release: 1%{?dist} +Summary: A platform for building proxies to bypass network restrictions +License: MIT +Packager: veuxit +URL: %{gourl} +Source: %{gosource} +Conflicts: v2ray + +Requires: v2ray-geoip v2ray-domain-list-community + +BuildRequires: go go-rpm-macros go-srpm-macros anda-srpm-macros + +%description +%summary. + +%gopkg + +%prep +%goprep_online -A + + +%build +%gobuild -o v2ray ./main + + +%install +%gopkginstall +install -Dm755 v2ray %{buildroot}%{_bindir}/v2ray + +install -Dm644 release/config/systemd/system/v2ray.service -t %{buildroot}%{_unitdir}/ +install -Dm644 release/config/systemd/system/v2ray@.service -t %{buildroot}%{_unitdir}/ +install -Dm644 release/config/*.json -t %{buildroot}/%{_sysconfdir}/v2ray/ + +%post +%systemd_post v2ray.service + +%preun +%systemd_preun v2ray.service + +%postun +%systemd_postun_with_restart v2ray.service + +%files +%doc README.md +%doc SECURITY.md +%license LICENSE +%{_bindir}/v2ray +%{_unitdir}/v2ray.service +%{_unitdir}/v2ray@.service +%{_sysconfdir}/v2ray/config.json +%{_sysconfdir}/v2ray/vpoint_socks_vmess.json +%{_sysconfdir}/v2ray/vpoint_vmess_freedom.json + +%gopkgfiles + +%changelog +* Sun Mar 8 2026 veuxit - 5.44.1^20260228git.9cf6a45-1 +- Initial package release diff --git a/anda/langs/go/v2ray/stable/anda.hcl b/anda/langs/go/v2ray/stable/anda.hcl new file mode 100644 index 0000000000..89559f5c1a --- /dev/null +++ b/anda/langs/go/v2ray/stable/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "v2ray.spec" + } +} diff --git a/anda/langs/go/v2ray/stable/update.rhai b/anda/langs/go/v2ray/stable/update.rhai new file mode 100644 index 0000000000..8898b562bc --- /dev/null +++ b/anda/langs/go/v2ray/stable/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("v2fly/v2ray-core")); diff --git a/anda/langs/go/v2ray/stable/v2ray.spec b/anda/langs/go/v2ray/stable/v2ray.spec new file mode 100644 index 0000000000..ae13fbaa82 --- /dev/null +++ b/anda/langs/go/v2ray/stable/v2ray.spec @@ -0,0 +1,67 @@ +%global goipath github.com/v2fly/v2ray-core +Version: 5.51.2 + +%global golicenses LICENSE +%global godocs README.md SECURITY.md + +%gometa -f + +Name: v2ray +Release: 1%{?dist} +Summary: A platform for building proxies to bypass network restrictions +License: MIT +Packager: veuxit +URL: %{gourl} +Source: %{gosource} +Conflicts: v2ray-nightly + +Requires: v2ray-geoip v2ray-domain-list-community + +BuildRequires: go go-rpm-macros go-srpm-macros anda-srpm-macros + +%description +%summary. + +%gopkg + +%prep +%goprep_online -A + + +%build +%gobuild -o v2ray ./main + + +%install +%gopkginstall +install -Dm755 v2ray %{buildroot}%{_bindir}/v2ray + +install -Dm644 release/config/systemd/system/v2ray.service -t %{buildroot}%{_unitdir}/ +install -Dm644 release/config/systemd/system/v2ray@.service -t %{buildroot}%{_unitdir}/ +install -Dm644 release/config/*.json -t %{buildroot}/%{_sysconfdir}/v2ray/ + +%post +%systemd_post v2ray.service + +%preun +%systemd_preun v2ray.service + +%postun +%systemd_postun_with_restart v2ray.service + +%files +%doc README.md +%doc SECURITY.md +%license LICENSE +%{_bindir}/v2ray +%{_unitdir}/v2ray.service +%{_unitdir}/v2ray@.service +%{_sysconfdir}/v2ray/config.json +%{_sysconfdir}/v2ray/vpoint_socks_vmess.json +%{_sysconfdir}/v2ray/vpoint_vmess_freedom.json + +%gopkgfiles + +%changelog +* Sun Mar 8 2026 veuxit - 5.44.1-1 +- Initial package release diff --git a/anda/langs/go/v2raya/nightly/anda.hcl b/anda/langs/go/v2raya/nightly/anda.hcl new file mode 100644 index 0000000000..b903484c57 --- /dev/null +++ b/anda/langs/go/v2raya/nightly/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "v2raya-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/langs/go/v2raya/nightly/update.rhai b/anda/langs/go/v2raya/nightly/update.rhai new file mode 100644 index 0000000000..b91464d6d8 --- /dev/null +++ b/anda/langs/go/v2raya/nightly/update.rhai @@ -0,0 +1,7 @@ +rpm.global("commit", gh_commit("v2rayA/v2rayA")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + let v = gh("v2rayA/v2rayA"); + rpm.global("ver", v); +} \ No newline at end of file diff --git a/anda/langs/go/v2raya/nightly/v2raya-nightly.spec b/anda/langs/go/v2raya/nightly/v2raya-nightly.spec new file mode 100644 index 0000000000..ceba678a64 --- /dev/null +++ b/anda/langs/go/v2raya/nightly/v2raya-nightly.spec @@ -0,0 +1,80 @@ +%global commit 4e366494a3dedb97ffd0f0e76cbb46f5e789ff80 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global ver v2.4.4 +%global commit_date 20260629 + +%global goipath github.com/v2rayA/v2rayA +Version: %{ver}^%{commit_date}git.%{shortcommit} + +%global golicenses LICENSE +%global godocs README.md + +%gometa -f + +Name: v2raya-nightly +Release: 1%{?dist} +Summary: A web GUI client of Project V which supports VMess, VLESS, SS, SSR, Trojan, Tuic and Juicity protocols +License: AGPL-3.0-only +Packager: veuxit +URL: %{gourl} +Source: %{gosource} +Conflicts: v2raya + +Requires: v2ray-geoip v2ray-domain-list-community ((v2ray or v2ray-nightly) or (xray or xray-nightly)) + +BuildRequires: go go-rpm-macros go-srpm-macros anda-srpm-macros nodejs yarnpkg desktop-file-utils + +%description +%summary. + +%gopkg + +%prep +%goprep_online -A + +%build +pushd gui +yarn --ignore-engines && OUTPUT_DIR=$(pwd)/../service/server/router/web yarn --ignore-engines build +popd + +pushd service +%define currentgoldflags -X github.com/v2rayA/v2rayA/conf.Version=%{version} +export GO_BUILDTAGS="with_gvisor" +%gobuild -o ../v2raya + +%install +%gopkginstall +install -Dm 755 v2raya -t %{buildroot}/%{_bindir} +install -Dm 644 install/universal/v2raya.desktop -t %{buildroot}/%{_appsdir}/ +install -Dm 644 install/universal/v2raya.service -t %{buildroot}/%{_unitdir}/ +install -Dm 644 install/universal/v2raya-lite.service -t %{buildroot}/%{_userunitdir}/ +install -Dm 644 install/universal/v2raya.default -t %{buildroot}/%{_sysconfdir}/default/v2raya.conf +install -Dm 644 gui/public/img/icons/android-chrome-512x512.png %{buildroot}/%{_hicolordir}/512x512/apps/v2raya.png + +%check +%desktop_file_validate %{buildroot}/%{_appsdir}/v2raya.desktop + +%post +%systemd_post v2raya.service + +%preun +%systemd_preun v2raya.service + +%postun +%systemd_postun_with_restart v2raya.service + +%files +%doc README.md +%license LICENSE +%{_bindir}/v2raya +%{_unitdir}/v2raya.service +%{_userunitdir}/v2raya-lite.service +%{_sysconfdir}/default/v2raya.conf +%{_appsdir}/v2raya.desktop +%{_hicolordir}/512x512/apps/v2raya.png + +%gopkgfiles + +%changelog +* Sun Mar 8 2026 veuxit - 2.2.7.5^20260305git.d92dbf9-1 +- Initial package release diff --git a/anda/langs/go/v2raya/stable/anda.hcl b/anda/langs/go/v2raya/stable/anda.hcl new file mode 100644 index 0000000000..8b4d4b8d67 --- /dev/null +++ b/anda/langs/go/v2raya/stable/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "v2raya.spec" + } +} diff --git a/anda/langs/go/v2raya/stable/update.rhai b/anda/langs/go/v2raya/stable/update.rhai new file mode 100644 index 0000000000..846fa87be5 --- /dev/null +++ b/anda/langs/go/v2raya/stable/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("v2rayA/v2rayA")); diff --git a/anda/langs/go/v2raya/stable/v2raya.spec b/anda/langs/go/v2raya/stable/v2raya.spec new file mode 100644 index 0000000000..68de304ce7 --- /dev/null +++ b/anda/langs/go/v2raya/stable/v2raya.spec @@ -0,0 +1,76 @@ +%global goipath github.com/v2rayA/v2rayA +Version: 2.4.6 + +%global golicenses LICENSE +%global godocs README.md + +%gometa -f + +Name: v2raya +Release: 1%{?dist} +Summary: A web GUI client of Project V which supports VMess, VLESS, SS, SSR, Trojan, Tuic and Juicity protocols +License: AGPL-3.0-only +URL: %{gourl} +Source: %{gosource} +Packager: veuxit +Conflicts: v2raya-nightly + +Requires: v2ray-geoip v2ray-domain-list-community ((v2ray or v2ray-nightly) or (xray or xray-nightly)) + +BuildRequires: go go-rpm-macros go-srpm-macros anda-srpm-macros nodejs yarnpkg desktop-file-utils + +%description +%summary. + +%gopkg + +%prep +%goprep_online -A + +%build +pushd gui +yarn --ignore-engines && OUTPUT_DIR=$(pwd)/../service/server/router/web yarn --ignore-engines build +popd + +pushd service +%define gomodulesmode GO111MODULE=on +%define currentgoldflags -X github.com/v2rayA/v2rayA/conf.Version=%{version} +export GO_BUILDTAGS="with_gvisor" +%gobuild -o ../v2raya + +%install +%gopkginstall +install -Dm 755 v2raya -t %{buildroot}/%{_bindir} +install -Dm 644 install/universal/v2raya.desktop -t %{buildroot}/%{_appsdir}/ +install -Dm 644 install/universal/v2raya.service -t %{buildroot}/%{_unitdir}/ +install -Dm 644 install/universal/v2raya-lite.service -t %{buildroot}/%{_userunitdir}/ +install -Dm 644 install/universal/v2raya.default -t %{buildroot}/%{_sysconfdir}/default/v2raya.conf +install -Dm 644 gui/public/img/icons/android-chrome-512x512.png %{buildroot}/%{_hicolordir}/512x512/apps/v2raya.png + +%check +%desktop_file_validate %{buildroot}/%{_appsdir}/v2raya.desktop + +%post +%systemd_post v2raya.service + +%preun +%systemd_preun v2raya.service + +%postun +%systemd_postun_with_restart v2raya.service + +%files +%doc README.md +%license LICENSE +%{_bindir}/v2raya +%{_unitdir}/v2raya.service +%{_userunitdir}/v2raya-lite.service +%{_sysconfdir}/default/v2raya.conf +%{_appsdir}/v2raya.desktop +%{_hicolordir}/512x512/apps/v2raya.png + +%gopkgfiles + +%changelog +* Sun Mar 8 2026 veuxit - 2.2.7.5-1 +- Initial package release diff --git a/anda/langs/go/xray/nightly/anda.hcl b/anda/langs/go/xray/nightly/anda.hcl new file mode 100644 index 0000000000..58d3ede9f9 --- /dev/null +++ b/anda/langs/go/xray/nightly/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "xray-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/langs/go/xray/nightly/update.rhai b/anda/langs/go/xray/nightly/update.rhai new file mode 100644 index 0000000000..acb3222cd9 --- /dev/null +++ b/anda/langs/go/xray/nightly/update.rhai @@ -0,0 +1,7 @@ +rpm.global("commit", gh_commit("XTLS/Xray-core")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + let v = gh("XTLS/Xray-core"); + rpm.global("ver", v); +} \ No newline at end of file diff --git a/anda/langs/go/xray/nightly/xray-nightly.spec b/anda/langs/go/xray/nightly/xray-nightly.spec new file mode 100644 index 0000000000..1ee7037194 --- /dev/null +++ b/anda/langs/go/xray/nightly/xray-nightly.spec @@ -0,0 +1,84 @@ +%global commit 45cf2898ab12e97a55dd8f1f3d78d903340bdc9e +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global ver v26.3.27 +%global commit_date 20260628 + +%global goipath github.com/XTLS/Xray-core +Version: %{ver}^%{commit_date}git.%{shortcommit} + +%global golicenses LICENSE +%global godocs README.md SECURITY.md CODE_OF_CONDUCT.md + +Name: xray-nightly +Release: 1%{?dist} +Summary: High-performance, open-source network proxy engine and toolset designed to bypass internet censorship and enhance privacy +License: MPL-2.0 +Packager: veuxit +URL: https://github.com/XTLS/Xray-core +Conflicts: xray + +Source0: %{url}/archive/%{commit}/Xray-core-%{commit}.tar.gz +Source1: xray.service +Source2: xray@.service +Source3: xray.sysusers +Source4: xray.tmpfiles + +Requires: v2ray-geoip v2ray-domain-list-community + +BuildRequires: golang >= 1.26 +BuildRequires: go-rpm-macros go-srpm-macros anda-srpm-macros + +%description +%summary. + +%gopkg + +%prep +%autosetup -n Xray-core-%{commit} +%goprep_online -Ae + +%build +%define gomodulesmode GO111MODULE=on +%gobuild -o xray ./main + +%install +%gopkginstall +install -Dm755 xray %{buildroot}%{_bindir}/xray + +install -d "%{buildroot}/etc/xray" "%{buildroot}%{_datadir}/xray" + +ln -s %{_datadir}/v2ray/geo{ip,site}.dat -t "%{buildroot}%{_datadir}/xray" + +install -Dm644 %{SOURCE1} -t %{buildroot}/%{_unitdir} +install -Dm644 %{SOURCE2} -t %{buildroot}/%{_unitdir} +install -Dm644 %{SOURCE3} %{buildroot}/%{_sysusersdir}/xray.conf +install -Dm644 %{SOURCE4} %{buildroot}/usr/lib/tmpfiles.d/xray.conf + + +%post +%systemd_post xray.service + +%preun +%systemd_preun xray.service + +%postun +%systemd_postun_with_restart xray.service + +%files +%doc README.md +%doc SECURITY.md +%doc CODE_OF_CONDUCT.md +%license LICENSE +%{_bindir}/xray +%{_datadir}/xray/geoip.dat +%{_datadir}/xray/geosite.dat +%{_unitdir}/xray.service +%{_unitdir}/xray@.service +%{_sysusersdir}/xray.conf +/usr/lib/tmpfiles.d/xray.conf + +%gopkgfiles + +%changelog +* Sun Mar 8 2026 veuxit - 26.2.2^20260307git.acb06e8-1 +- Initial package release diff --git a/anda/langs/go/xray/nightly/xray.service b/anda/langs/go/xray/nightly/xray.service new file mode 100644 index 0000000000..2c24daa71b --- /dev/null +++ b/anda/langs/go/xray/nightly/xray.service @@ -0,0 +1,14 @@ +[Unit] +Description=Xray Service +After=network.target nss-lookup.target + +[Service] +User=xray +CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +NoNewPrivileges=true +ExecStart=/usr/bin/xray run -confdir /etc/xray/ +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/anda/langs/go/xray/nightly/xray.sysusers b/anda/langs/go/xray/nightly/xray.sysusers new file mode 100644 index 0000000000..0260d2dc7b --- /dev/null +++ b/anda/langs/go/xray/nightly/xray.sysusers @@ -0,0 +1 @@ +u xray - "Xray Service" - - diff --git a/anda/langs/go/xray/nightly/xray.tmpfiles b/anda/langs/go/xray/nightly/xray.tmpfiles new file mode 100644 index 0000000000..896975f158 --- /dev/null +++ b/anda/langs/go/xray/nightly/xray.tmpfiles @@ -0,0 +1 @@ +d /var/log/xray 0700 xray xray - - diff --git a/anda/langs/go/xray/nightly/xray@.service b/anda/langs/go/xray/nightly/xray@.service new file mode 100644 index 0000000000..a024fb1a9f --- /dev/null +++ b/anda/langs/go/xray/nightly/xray@.service @@ -0,0 +1,14 @@ +[Unit] +Description=Xray Service +After=network.target nss-lookup.target + +[Service] +User=xray +CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +NoNewPrivileges=true +ExecStart=/usr/bin/xray run -config /etc/xray/%i.json +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/anda/langs/go/xray/stable/anda.hcl b/anda/langs/go/xray/stable/anda.hcl new file mode 100644 index 0000000000..b39e7e2d8f --- /dev/null +++ b/anda/langs/go/xray/stable/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "xray.spec" + } +} diff --git a/anda/langs/go/xray/stable/update.rhai b/anda/langs/go/xray/stable/update.rhai new file mode 100644 index 0000000000..c9124ea5bd --- /dev/null +++ b/anda/langs/go/xray/stable/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("XTLS/Xray-core")); diff --git a/anda/langs/go/xray/stable/xray.service b/anda/langs/go/xray/stable/xray.service new file mode 100644 index 0000000000..2c24daa71b --- /dev/null +++ b/anda/langs/go/xray/stable/xray.service @@ -0,0 +1,14 @@ +[Unit] +Description=Xray Service +After=network.target nss-lookup.target + +[Service] +User=xray +CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +NoNewPrivileges=true +ExecStart=/usr/bin/xray run -confdir /etc/xray/ +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/anda/langs/go/xray/stable/xray.spec b/anda/langs/go/xray/stable/xray.spec new file mode 100644 index 0000000000..d654880e8e --- /dev/null +++ b/anda/langs/go/xray/stable/xray.spec @@ -0,0 +1,77 @@ +# Disabled because compiled without debug + +%global goipath github.com/XTLS/Xray-core +Version: 26.6.27 + +%global golicenses LICENSE +%global godocs README.md SECURITY.md CODE_OF_CONDUCT.md + +Name: xray +Release: 1%{?dist} +Summary: High-performance, open-source network proxy engine and toolset designed to bypass internet censorship and enhance privacy +License: MPL-2.0 +Packager: veuxit +URL: https://github.com/XTLS/Xray-core +Conflicts: xray-nightly + +Source0: https://github.com/XTLS/Xray-core/archive/refs/tags/v%{version}.tar.gz +Source1: xray.service +Source2: xray@.service +Source3: xray.sysusers +Source4: xray.tmpfiles + +Requires: v2ray-geoip v2ray-domain-list-community + +BuildRequires: go go-rpm-macros go-srpm-macros anda-srpm-macros + +%description +%summary. + +%gopkg + +%prep +%goprep_online -Ae +%autosetup -n Xray-core-%{version} + + +%build +%define gomodulesmode GO111MODULE=on +%gobuild -o xray ./main + +%install +%gopkginstall +install -Dm755 xray %{buildroot}%{_bindir}/xray +install -d "%{buildroot}/etc/xray" "%{buildroot}%{_datadir}/xray" +ln -s %{_datadir}/v2ray/geo{ip,site}.dat -t "%{buildroot}%{_datadir}/xray" +install -Dm644 %{SOURCE1} -t %{buildroot}/%{_unitdir} +install -Dm644 %{SOURCE2} -t %{buildroot}/%{_unitdir} +install -Dm644 %{SOURCE3} %{buildroot}/%{_sysusersdir}/xray.conf +install -Dm644 %{SOURCE4} %{buildroot}/usr/lib/tmpfiles.d/xray.conf + +%post +%systemd_post xray.service + +%preun +%systemd_preun xray.service + +%postun +%systemd_postun_with_restart xray.service + +%files +%doc README.md +%doc SECURITY.md +%doc CODE_OF_CONDUCT.md +%license LICENSE +%{_bindir}/xray +%{_datadir}/xray/geoip.dat +%{_datadir}/xray/geosite.dat +%{_unitdir}/xray.service +%{_unitdir}/xray@.service +%{_sysusersdir}/xray.conf +/usr/lib/tmpfiles.d/xray.conf + +%gopkgfiles + +%changelog +* Sun Mar 8 2026 veuxit - 26.2.6-1 +- Initial package release diff --git a/anda/langs/go/xray/stable/xray.sysusers b/anda/langs/go/xray/stable/xray.sysusers new file mode 100644 index 0000000000..0260d2dc7b --- /dev/null +++ b/anda/langs/go/xray/stable/xray.sysusers @@ -0,0 +1 @@ +u xray - "Xray Service" - - diff --git a/anda/langs/go/xray/stable/xray.tmpfiles b/anda/langs/go/xray/stable/xray.tmpfiles new file mode 100644 index 0000000000..896975f158 --- /dev/null +++ b/anda/langs/go/xray/stable/xray.tmpfiles @@ -0,0 +1 @@ +d /var/log/xray 0700 xray xray - - diff --git a/anda/langs/go/xray/stable/xray@.service b/anda/langs/go/xray/stable/xray@.service new file mode 100644 index 0000000000..a024fb1a9f --- /dev/null +++ b/anda/langs/go/xray/stable/xray@.service @@ -0,0 +1,14 @@ +[Unit] +Description=Xray Service +After=network.target nss-lookup.target + +[Service] +User=xray +CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +NoNewPrivileges=true +ExecStart=/usr/bin/xray run -config /etc/xray/%i.json +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/anda/langs/groovy/groovy-docs/groovy-docs.spec b/anda/langs/groovy/groovy-docs/groovy-docs.spec index 6d0019be16..046fe88acc 100644 --- a/anda/langs/groovy/groovy-docs/groovy-docs.spec +++ b/anda/langs/groovy/groovy-docs/groovy-docs.spec @@ -1,6 +1,6 @@ Name: groovy-docs -Version: 5.0.4 -Release: 1%?dist +Version: 5.0.6 +Release: 1%{?dist} Summary: Documentation for the Groovy programming language URL: https://groovy-lang.org/ License: Apache-2.0 diff --git a/anda/langs/groovy/groovy.spec b/anda/langs/groovy/groovy.spec index 595fed7e33..b445f34c25 100644 --- a/anda/langs/groovy/groovy.spec +++ b/anda/langs/groovy/groovy.spec @@ -1,6 +1,6 @@ Name: groovy -Version: 5.0.4 -Release: 1%?dist +Version: 5.0.6 +Release: 1%{?dist} Summary: A multi-faceted language for the Java platform BuildArch: noarch URL: https://groovy-lang.org/ 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-bv/anda.hcl b/anda/langs/haskell/ghc-bv/anda.hcl new file mode 100644 index 0000000000..a98449cf81 --- /dev/null +++ b/anda/langs/haskell/ghc-bv/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-bv.spec" + } +} diff --git a/anda/langs/haskell/ghc-bv/ghc-bv.spec b/anda/langs/haskell/ghc-bv/ghc-bv.spec new file mode 100644 index 0000000000..d5700ac8b0 --- /dev/null +++ b/anda/langs/haskell/ghc-bv/ghc-bv.spec @@ -0,0 +1,110 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name bv +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +Name: ghc-%{pkg_name} +Version: 0.5 +Release: 1%{?dist} +Summary: Bit-vector arithmetic library + +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/bv +# 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-base-devel +%if %{with ghc_prof} +BuildRequires: ghc-base-prof +%endif +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +Bit-vectors implemented as a thin wrapper over integers. + + +%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 CHANGES.md README.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 +* Tue Apr 28 2026 Owen Zimmerman - 0.5-1 +- Initial commit diff --git a/anda/langs/haskell/ghc-bv/update.rhai b/anda/langs/haskell/ghc-bv/update.rhai new file mode 100644 index 0000000000..b9eef8f71e --- /dev/null +++ b/anda/langs/haskell/ghc-bv/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("bv")); 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-freer-simple/anda.hcl b/anda/langs/haskell/ghc-freer-simple/anda.hcl new file mode 100644 index 0000000000..f9e83dd772 --- /dev/null +++ b/anda/langs/haskell/ghc-freer-simple/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-freer-simple.spec" + } +} diff --git a/anda/langs/haskell/ghc-freer-simple/ghc-freer-simple.spec b/anda/langs/haskell/ghc-freer-simple/ghc-freer-simple.spec new file mode 100644 index 0000000000..38cdd7f687 --- /dev/null +++ b/anda/langs/haskell/ghc-freer-simple/ghc-freer-simple.spec @@ -0,0 +1,134 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name freer-simple +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +# testsuite missing deps: QuickCheck tasty tasty-hunit tasty-quickcheck + +Name: ghc-%{pkg_name} +Version: 1.2.1.2 +Release: 1%{?dist} +Summary: A friendly effect system for Haskell + +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/freer-simple +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-natural-transformation-devel +BuildRequires: ghc-template-haskell-devel +BuildRequires: ghc-transformers-base-devel +%if %{with ghc_prof} +BuildRequires: ghc-base-prof +BuildRequires: ghc-natural-transformation-prof +BuildRequires: ghc-template-haskell-prof +BuildRequires: ghc-transformers-base-prof +%endif +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +An implementation of an effect system for Haskell (a fork of +), which is +based on the work of Oleg Kiselyov et al.: + +* * * + +The key features are: + +* An efficient effect system for Haskell - as a library! * Reimplementations of +several common Haskell monad transformers as effects. * Core components for +defining your own Effects. + + +%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} +cp -bp %{SOURCE1} %{pkg_name}.cabal +# 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 README.md examples +%{_bindir}/freer-simple-examples + + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE +%endif + + +%if %{with ghc_prof} +%files prof -f %{name}-prof.files +%endif + + +%changelog +* Tue Apr 28 2026 Owen Zimmerman - 1.2.1.2-1 +- Initial commit diff --git a/anda/langs/haskell/ghc-freer-simple/update.rhai b/anda/langs/haskell/ghc-freer-simple/update.rhai new file mode 100644 index 0000000000..b4c88e609e --- /dev/null +++ b/anda/langs/haskell/ghc-freer-simple/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("freer-simple")); diff --git a/anda/langs/haskell/ghc-language-bluespec/anda.hcl b/anda/langs/haskell/ghc-language-bluespec/anda.hcl new file mode 100644 index 0000000000..6234b99a7a --- /dev/null +++ b/anda/langs/haskell/ghc-language-bluespec/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-language-bluespec.spec" + } +} diff --git a/anda/langs/haskell/ghc-language-bluespec/ghc-language-bluespec.spec b/anda/langs/haskell/ghc-language-bluespec/ghc-language-bluespec.spec new file mode 100644 index 0000000000..5b21bc0714 --- /dev/null +++ b/anda/langs/haskell/ghc-language-bluespec/ghc-language-bluespec.spec @@ -0,0 +1,127 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name language-bluespec +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +Name: ghc-%{pkg_name} +Version: 0.1 +Release: 1%{?dist} +Summary: An implementation of the Bluespec Haskell AST + +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/language-bluespec +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-containers-devel +BuildRequires: ghc-pretty-devel +BuildRequires: ghc-text-devel +%if %{with ghc_prof} +BuildRequires: ghc-base-prof +BuildRequires: ghc-containers-prof +BuildRequires: ghc-pretty-prof +BuildRequires: ghc-text-prof +%endif +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +This package contains an implementation of the language's AST. In particular, this implements the Bluespec Haskell +(BH) syntax, also known as Bluespec Classic. We may add support for the +Bluespec SystemVerilog (BSV) syntax at a later date. To our knowledge, there is +no formal grammar that describes the syntax of BH or BSV, so this package is +based off of the code in the . Although the Bluespec compiler is written in Haskell, it is not +particularly simple to depend on the compiler as a library, so this package +exists to extract out the relevant compiler code into a simple-to-use library. + + +%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} +cp -bp %{SOURCE1} %{pkg_name}.cabal +# 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 README.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 +* Tue Apr 28 2026 Owen Zimmerman - 0.1-1 +- Initial Commit diff --git a/anda/langs/haskell/ghc-language-bluespec/update.rhai b/anda/langs/haskell/ghc-language-bluespec/update.rhai new file mode 100644 index 0000000000..1cddac58c3 --- /dev/null +++ b/anda/langs/haskell/ghc-language-bluespec/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("language-bluespec")); diff --git a/anda/langs/haskell/ghc-libriscv/anda.hcl b/anda/langs/haskell/ghc-libriscv/anda.hcl new file mode 100644 index 0000000000..9bda3866d7 --- /dev/null +++ b/anda/langs/haskell/ghc-libriscv/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-libriscv.spec" + } +} diff --git a/anda/langs/haskell/ghc-libriscv/bytestring-ver-fix.patch b/anda/langs/haskell/ghc-libriscv/bytestring-ver-fix.patch new file mode 100644 index 0000000000..31dc9cbd69 --- /dev/null +++ b/anda/langs/haskell/ghc-libriscv/bytestring-ver-fix.patch @@ -0,0 +1,13 @@ +diff --git a/libriscv.cabal b/libriscv.cabal +index 25e48fa..22e204a 100644 +--- a/libriscv.cabal ++++ b/libriscv.cabal +@@ -91,7 +91,7 @@ library + , base >= 4.15.0.0 && <4.20.0.0 + , array ^>= 0.5.4.0 + , filepath ^>= 1.4.2.1 +- , bytestring >= 0.10.10 && <0.12 ++ , bytestring >= 0.10.10 + , exceptions ^>= 0.10.4 + , melf ^>= 1.3.0 + , freer-simple ^>= 1.2.1.2 diff --git a/anda/langs/haskell/ghc-libriscv/ghc-libriscv.spec b/anda/langs/haskell/ghc-libriscv/ghc-libriscv.spec new file mode 100644 index 0000000000..f88e6904a7 --- /dev/null +++ b/anda/langs/haskell/ghc-libriscv/ghc-libriscv.spec @@ -0,0 +1,166 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name libriscv +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +# testsuite missing deps: bv tasty tasty-hunit + +Name: ghc-%{pkg_name} +Version: 0.1.0.0 +Release: 1%{?dist} +Summary: A versatile, flexible and executable formal model for the RISC-V architecture + +License: MIT +URL: https://hackage.haskell.org/package/libriscv +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +# End cabal-rpm sources +Patch0: bytestring-ver-fix.patch +# Begin cabal-rpm deps: +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-array-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-bv-devel +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-containers-devel +BuildRequires: ghc-exceptions-devel +BuildRequires: ghc-extra-devel +BuildRequires: ghc-file-embed-devel +BuildRequires: ghc-filepath-devel +BuildRequires: ghc-freer-simple-devel +BuildRequires: ghc-melf-devel +BuildRequires: ghc-optparse-applicative-devel +BuildRequires: ghc-parameterized-utils-devel +BuildRequires: ghc-template-haskell-devel +BuildRequires: ghc-transformers-devel +BuildRequires: ghc-yaml-devel +%if %{with ghc_prof} +BuildRequires: ghc-array-prof +BuildRequires: ghc-base-prof +BuildRequires: ghc-bv-prof +BuildRequires: ghc-bytestring-prof +BuildRequires: ghc-containers-prof +BuildRequires: ghc-exceptions-prof +BuildRequires: ghc-extra-prof +BuildRequires: ghc-file-embed-prof +BuildRequires: ghc-filepath-prof +BuildRequires: ghc-freer-simple-prof +BuildRequires: ghc-melf-prof +BuildRequires: ghc-optparse-applicative-prof +BuildRequires: ghc-parameterized-utils-prof +BuildRequires: ghc-template-haskell-prof +BuildRequires: ghc-transformers-prof +BuildRequires: ghc-yaml-prof +%endif +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +A formal model for the /Instruction Set +Architecture/ (ISA). Contrary to other Haskell RISC-V ISA models, like + or +, LibRISCV is +specifically tailored to the creation of custom ISA interpreters. To this end, +it is designed for flexibility, allowing a versatile representation of +instruction operands. For example, instruction operands can be + expressions +for of binary +code. + +LibRISCV abstractly describes instruction semantics using an /Embedded Domain +Specific Language/ (EDSL) with . This Haskell library is intended to build custom interpreters for this +free monad. The entry point for this purpose is the +'LibRISCV.Semantics.buildAST' function which obtains the free monad AST based +on an entry address. The entry address can be obtained from a provided ELF +loader implementation, this "Loader" module is also responsible for loading +binary instructions into a provided memory implementation. Refer to provided +example interpreters in the for practical usage instruction. More detailed information on +LibRISCV and its concepts is also available in a +. + + +%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} +%patch -P0 -p1 +# 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.txt +%{_datadir}/%{pkgver} +# End cabal-rpm files + + +%files devel -f %{name}-devel.files +%{_bindir}/riscv-tiny + + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE.txt +%endif + + +%if %{with ghc_prof} +%files prof -f %{name}-prof.files +%endif + + +%changelog +* Tue Apr 28 2026 Owen Zimmerman - 0.1.0.0-1 +- Initial commit diff --git a/anda/langs/haskell/ghc-libriscv/update.rhai b/anda/langs/haskell/ghc-libriscv/update.rhai new file mode 100644 index 0000000000..9c9aa8a431 --- /dev/null +++ b/anda/langs/haskell/ghc-libriscv/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("libriscv")); diff --git a/anda/langs/haskell/ghc-melf/anda.hcl b/anda/langs/haskell/ghc-melf/anda.hcl new file mode 100644 index 0000000000..9f2bd57c22 --- /dev/null +++ b/anda/langs/haskell/ghc-melf/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-melf.spec" + } +} diff --git a/anda/langs/haskell/ghc-melf/ghc-melf.spec b/anda/langs/haskell/ghc-melf/ghc-melf.spec new file mode 100644 index 0000000000..128aabd055 --- /dev/null +++ b/anda/langs/haskell/ghc-melf/ghc-melf.spec @@ -0,0 +1,133 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name melf +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +# testsuite missing deps: tasty tasty-golden tasty-hunit prettyprinter + +Name: ghc-%{pkg_name} +Version: 1.3.1 +Release: 1%{?dist} +Summary: An Elf parser + +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/melf +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-binary-devel +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-exceptions-devel +BuildRequires: ghc-lens-devel +BuildRequires: ghc-mtl-devel +BuildRequires: ghc-optparse-applicative-devel +BuildRequires: ghc-prettyprinter-devel +BuildRequires: ghc-template-haskell-devel +%if %{with ghc_prof} +BuildRequires: ghc-base-prof +BuildRequires: ghc-binary-prof +BuildRequires: ghc-bytestring-prof +BuildRequires: ghc-exceptions-prof +BuildRequires: ghc-lens-prof +BuildRequires: ghc-mtl-prof +BuildRequires: ghc-optparse-applicative-prof +BuildRequires: ghc-prettyprinter-prof +BuildRequires: ghc-template-haskell-prof +%endif +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +Parser for ELF object format. + + +%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} +cp -bp %{SOURCE1} %{pkg_name}.cabal +# 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 +%{_datadir}/%{pkgver} +# End cabal-rpm files + + +%files devel -f %{name}-devel.files +%doc ChangeLog.md README.md examples +%{_bindir}/hobjdump +%{_bindir}/hobjlayout + + +%if %{with haddock} +%files doc -f %{name}-doc.files +%license LICENSE +%endif + + +%if %{with ghc_prof} +%files prof -f %{name}-prof.files +%endif + + +%changelog +* Tue Apr 28 2026 Owen Zimmerman - 1.3.1-1 +- Initial commit diff --git a/anda/langs/haskell/ghc-melf/update.rhai b/anda/langs/haskell/ghc-melf/update.rhai new file mode 100644 index 0000000000..886984bb33 --- /dev/null +++ b/anda/langs/haskell/ghc-melf/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("melf")); diff --git a/anda/langs/haskell/ghc-strict-concurrency/anda.hcl b/anda/langs/haskell/ghc-strict-concurrency/anda.hcl new file mode 100644 index 0000000000..8ad01471ab --- /dev/null +++ b/anda/langs/haskell/ghc-strict-concurrency/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "ghc-strict-concurrency.spec" + } +} diff --git a/anda/langs/haskell/ghc-strict-concurrency/ghc-strict-concurrency.spec b/anda/langs/haskell/ghc-strict-concurrency/ghc-strict-concurrency.spec new file mode 100644 index 0000000000..06207ba55e --- /dev/null +++ b/anda/langs/haskell/ghc-strict-concurrency/ghc-strict-concurrency.spec @@ -0,0 +1,119 @@ +# generated by cabal-rpm-2.3.2 +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ + +%global pkg_name strict-concurrency +%global pkgver %{pkg_name}-%{version} +%{?haskell_setup} + +Name: ghc-%{pkg_name} +Version: 0.2.4.3 +Release: 1%{?dist} +Summary: Strict concurrency abstractions + +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/strict-concurrency +# Begin cabal-rpm sources: +Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal +# End cabal-rpm sources + +# Begin cabal-rpm deps: +BuildRequires: dos2unix +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-deepseq-devel +%if %{with ghc_prof} +BuildRequires: ghc-base-prof +BuildRequires: ghc-deepseq-prof +%endif +# End cabal-rpm deps + +Packager: Owen Zimmerman + +%description +This package provides head normal form strict versions of some standard Haskell +concurrency abstractions (MVars,Chans), which provide control over where +evaluation takes place not offered by the default lazy types. This may be +useful for deciding when and where evaluation occurs, leading to improved time +or space use, depending on the circumstances. + + +%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} +dos2unix -k -n %{SOURCE1} %{pkg_name}.cabal +# 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 Apr 26 2026 Owen Zimmerman - 0.2.4.3-1 +- Initial commit diff --git a/anda/langs/haskell/ghc-strict-concurrency/update.rhai b/anda/langs/haskell/ghc-strict-concurrency/update.rhai new file mode 100644 index 0000000000..c04176e585 --- /dev/null +++ b/anda/langs/haskell/ghc-strict-concurrency/update.rhai @@ -0,0 +1 @@ +rpm.version(hackage("strict-concurrency")); 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 cc4a496e70..5dfe959426 100644 --- a/anda/langs/holyc/holyc/holyc.spec +++ b/anda/langs/holyc/holyc/holyc.spec @@ -1,8 +1,8 @@ -%global ver 0.0.10 +%global ver 3-beta Name: holyc Version: %{ver}~beta -Release: 3%{?dist} +Release: 1%{?dist} Summary: HolyC compiler and transpiler License: BSD-2-Clause URL: https://holyc-lang.com diff --git a/anda/langs/kotlin/kotlin-native/kotlin-native.spec b/anda/langs/kotlin/kotlin-native/kotlin-native.spec index 6ce43acd0c..709f7cc78c 100644 --- a/anda/langs/kotlin/kotlin-native/kotlin-native.spec +++ b/anda/langs/kotlin/kotlin-native/kotlin-native.spec @@ -1,9 +1,8 @@ %define _binaries_in_noarch_packages_terminate_build 0 -BuildRoot: %{_tmppath}/%{name}-%{version}-build Name: kotlin-native -Version: 2.3.10 -Release: 1%?dist +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 d3da8d4404..29d5da57cc 100644 --- a/anda/langs/kotlin/kotlin/kotlin.spec +++ b/anda/langs/kotlin/kotlin/kotlin.spec @@ -1,8 +1,7 @@ -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch Name: kotlin -Version: 2.3.10 -Release: 1%?dist +Version: 2.4.0 +Release: 1%{?dist} Summary: Statically typed programming language License: Apache-2.0 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/lua/lua-language-server/lua-language-server.spec b/anda/langs/lua/lua-language-server/lua-language-server.spec index 5637a5c0ea..d5a0ba6e6f 100644 --- a/anda/langs/lua/lua-language-server/lua-language-server.spec +++ b/anda/langs/lua/lua-language-server/lua-language-server.spec @@ -1,8 +1,8 @@ %define debug_package %{nil} Name: lua-language-server -Version: 3.17.1 -Release: 2%?dist +Version: 3.18.2 +Release: 1%{?dist} License: MIT URL: https://luals.github.io/ Source: https://github.com/LuaLS/lua-language-server/archive/refs/tags/%version.tar.gz diff --git a/anda/langs/lua/luamake/luamake.spec b/anda/langs/lua/luamake/luamake.spec index a2fd5bb78c..68c54f6ccb 100644 --- a/anda/langs/lua/luamake/luamake.spec +++ b/anda/langs/lua/luamake/luamake.spec @@ -2,7 +2,7 @@ Name: luamake Version: 1.7 -Release: 1%?dist +Release: 2%{?dist} License: MIT URL: https://github.com/actboy168/luamake Source: https://github.com/actboy168/luamake/archive/refs/tags/v%version.tar.gz @@ -10,6 +10,8 @@ Summary: A platform independent configuration and build system that uses BuildRequires: gcc-c++ make ninja-build glibc lua gcc cmake libstdc++-devel libstdc++-static libcxx libcxx-devel +Packager: Owen Zimmerman + %description %summary. diff --git a/anda/langs/nim/grabnim/grabnim.spec b/anda/langs/nim/grabnim/grabnim.spec index a4375c8609..8f30b5c2dc 100644 --- a/anda/langs/nim/grabnim/grabnim.spec +++ b/anda/langs/nim/grabnim/grabnim.spec @@ -1,5 +1,5 @@ -%global commit 87cd8e863e1544302647b876a20ef8e1388fe5ea -%global commit_date 20260221 +%global commit b1e34319a18e87fa83afbb7494a3bcc59da4f289 +%global commit_date 20260611 %global shortcommit %{sub %commit 1 7} Name: grabnim diff --git a/anda/langs/nim/grabnim/update.rhai b/anda/langs/nim/grabnim/update.rhai index 75f215ef43..ab49b8c798 100644 --- a/anda/langs/nim/grabnim/update.rhai +++ b/anda/langs/nim/grabnim/update.rhai @@ -1,6 +1,4 @@ -import "andax/bump_extras.rhai" as bump; - -rpm.global("commit", bump::codeberg_commit("janAkali/grabnim")); +rpm.global("commit", codeberg_commit("janAkali/grabnim")); if rpm.changed() { rpm.global("commit_date", date()); } diff --git a/anda/langs/nim/nim-nightly/nim-nightly.spec b/anda/langs/nim/nim-nightly/nim-nightly.spec index 6c2e9ea1d9..6a333b60bb 100644 --- a/anda/langs/nim/nim-nightly/nim-nightly.spec +++ b/anda/langs/nim/nim-nightly/nim-nightly.spec @@ -1,21 +1,18 @@ %global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10 -%global commit 9ed4077d9a57e19063c1c67710fa6fb83f5a5fb7 +%global commit b56817107c3aceb53d164a65cc389c2bb5951c05 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global ver 2.3.1 -%global commit_date 20260302 +%global commit_date 20260627 %global debug_package %nil Name: nim-nightly Version: %ver^%commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} 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 b13b753f54..91a106df47 100644 --- a/anda/langs/nim/nim/nim.spec +++ b/anda/langs/nim/nim/nim.spec @@ -2,8 +2,8 @@ %global debug_package %{nil} Name: nim -Version: 2.2.8 -Release: 1%?dist +Version: 2.2.10 +Release: 1%{?dist} Summary: Imperative, multi-paradigm, compiled programming language License: MIT and BSD URL: https://nim-lang.org @@ -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/nim/nimble/nimble.spec b/anda/langs/nim/nimble/nimble.spec index 7b0e73383f..bb3d7ccd78 100644 --- a/anda/langs/nim/nimble/nimble.spec +++ b/anda/langs/nim/nimble/nimble.spec @@ -1,6 +1,6 @@ Name: nimble -Version: 0.22.1 -Release: 1%?dist +Version: 0.22.3 +Release: 1%{?dist} Summary: Package manager for the Nim programming language License: BSD URL: https://github.com/nim-lang/nimble 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 7d801a6a76..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.12.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/anda.hcl b/anda/langs/python/apeye-core/anda.hcl new file mode 100644 index 0000000000..645b557173 --- /dev/null +++ b/anda/langs/python/apeye-core/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "apeye-core.spec" + } +} diff --git a/anda/langs/python/apeye-core/apeye-core.spec b/anda/langs/python/apeye-core/apeye-core.spec new file mode 100644 index 0000000000..e0341191cf --- /dev/null +++ b/anda/langs/python/apeye-core/apeye-core.spec @@ -0,0 +1,45 @@ +%global pypi_name apeye_core +%global _desc Core (offline) functionality for the apeye library. + +Name: python-%{pypi_name} +Version: 1.1.5 +Release: 2%?dist +Summary: Core (offline) functionality for the apeye library +License: BSD-3-Clause +URL: https://github.com/domdfcoding/apeye-core +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-hatch-requirements-txt + +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 apeye_core + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/apeye-core/update.rhai b/anda/langs/python/apeye-core/update.rhai new file mode 100644 index 0000000000..5a4b00ab7d --- /dev/null +++ b/anda/langs/python/apeye-core/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("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 50efd395f4..13700e8809 100644 --- a/anda/langs/python/av/av.spec +++ b/anda/langs/python/av/av.spec @@ -2,8 +2,8 @@ %global _desc Pythonic bindings for FFmpeg's libraries. Name: python-%{pypi_name} -Version: 16.1.0 -Release: 1%?dist +Version: 17.1.0 +Release: 1%{?dist} Summary: Pythonic bindings for FFmpeg's libraries License: BSD-3-Clause URL: https://pyav.basswood-io.com/docs/stable/ 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/anda.hcl b/anda/langs/python/bitsandbytes/anda.hcl new file mode 100644 index 0000000000..0d68eae1b2 --- /dev/null +++ b/anda/langs/python/bitsandbytes/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "bitsandbytes.spec" + } +} diff --git a/anda/langs/python/bitsandbytes/bitsandbytes.spec b/anda/langs/python/bitsandbytes/bitsandbytes.spec new file mode 100644 index 0000000000..ba6bda4026 --- /dev/null +++ b/anda/langs/python/bitsandbytes/bitsandbytes.spec @@ -0,0 +1,49 @@ +%global pypi_name bitsandbytes +%global _desc Accessible large language models via k-bit quantization for PyTorch. + +Name: python-%{pypi_name} +Version: 0.49.2 +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 +Source0: https://github.com/bitsandbytes-foundation/bitsandbytes/archive/refs/tags/%{version}.tar.gz + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-scikit-build-core +BuildRequires: python3-pip +BuildRequires: python3-hatchling +BuildRequires: python3-wheel +BuildRequires: python3-cmake +BuildRequires: gcc-c++ + +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 CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md +%license LICENSE + +%changelog +* Tue May 05 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/bitsandbytes/update.rhai b/anda/langs/python/bitsandbytes/update.rhai new file mode 100644 index 0000000000..c33e1d7b49 --- /dev/null +++ b/anda/langs/python/bitsandbytes/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("bitsandbytes")); diff --git a/anda/langs/python/buttplug-py/anda.hcl b/anda/langs/python/buttplug-py/anda.hcl new file mode 100644 index 0000000000..2dc686be7a --- /dev/null +++ b/anda/langs/python/buttplug-py/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "buttplug-py.spec" + } +} diff --git a/anda/langs/python/buttplug-py/buttplug-py.spec b/anda/langs/python/buttplug-py/buttplug-py.spec new file mode 100644 index 0000000000..fd8bdd0c74 --- /dev/null +++ b/anda/langs/python/buttplug-py/buttplug-py.spec @@ -0,0 +1,46 @@ +%global pypi_name buttplug +%global _desc Python implementation of core message system and client for the Buttplug Sex Toy Protocol Standard. + +Name: python-%{pypi_name} +Version: 1.0.0 +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 +Source0: https://github.com/buttplugio/buttplug-py/archive/refs/tags/%{version}.tar.gz +BuildArch: noarch + +BuildRequires: python3-devel +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}-py-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md +%license LICENSE + +%changelog +* Fri Apr 17 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/buttplug-py/update.rhai b/anda/langs/python/buttplug-py/update.rhai new file mode 100644 index 0000000000..a4f5f6f8c4 --- /dev/null +++ b/anda/langs/python/buttplug-py/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("buttplug")); 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/anda.hcl b/anda/langs/python/consolekit/anda.hcl new file mode 100644 index 0000000000..b6209800b6 --- /dev/null +++ b/anda/langs/python/consolekit/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "consolekit.spec" + } +} diff --git a/anda/langs/python/consolekit/consolekit.spec b/anda/langs/python/consolekit/consolekit.spec new file mode 100644 index 0000000000..c94df919f5 --- /dev/null +++ b/anda/langs/python/consolekit/consolekit.spec @@ -0,0 +1,46 @@ +%global pypi_name consolekit +%global _desc Additional utilities for click. + +Name: python-%{pypi_name} +Version: 1.13.0 +Release: 2%?dist +Summary: Additional utilities for click +License: MIT +URL: https://consolekit.readthedocs.io/en/latest/ +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-flit-core + +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.rst +%license LICENSE + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/consolekit/update.rhai b/anda/langs/python/consolekit/update.rhai new file mode 100644 index 0000000000..c6843e64e5 --- /dev/null +++ b/anda/langs/python/consolekit/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("consolekit")); diff --git a/anda/langs/python/curl_cffi/curl_cffi.spec b/anda/langs/python/curl_cffi/curl_cffi.spec index f50a21b059..723bf495c5 100644 --- a/anda/langs/python/curl_cffi/curl_cffi.spec +++ b/anda/langs/python/curl_cffi/curl_cffi.spec @@ -5,8 +5,8 @@ %global _version 0.14.0b2 Name: python-%{pypi_name} -Version: 0.14.0 -Release: 1%?dist +Version: 0.15.0 +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 7141310177..0f2eb56d04 100644 --- a/anda/langs/python/dataclasses-json/dataclasses-json.spec +++ b/anda/langs/python/dataclasses-json/dataclasses-json.spec @@ -1,23 +1,21 @@ %global pypi_name dataclasses-json %global _desc Easily serialize Data Classes to and from JSON. -%define _python_dist_allow_version_zero %{nil} - 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 -Source0: %url/archive/refs/tags/v%version.tar.gz +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel +BuildRequires: python3-build BuildRequires: python3-pip +BuildRequires: python3-poetry-core BuildRequires: python3-poetry-dynamic-versioning - -Requires: python3-marshmallow -Requires: python3-typing-inspect +BuildRequires: python3-pyproject-metadata Packager: Owen Zimmerman @@ -31,15 +29,8 @@ Summary: %{summary} %description -n python3-%{pypi_name} %_desc -%package -n python3-%{pypi_name}-doc -Summary: documentation for python3-%{pypi_name} - -%description -n python3-%{pypi_name}-doc -documentation for python3-%{pypi_name}. - %prep -%autosetup -n dataclasses-json-%{version} -sed -i '/\[tool.poetry-dynamic-versioning\]/,+1d' pyproject.toml +%git_clone %{url}.git v%{version} %build %pyproject_wheel @@ -53,5 +44,8 @@ sed -i '/\[tool.poetry-dynamic-versioning\]/,+1d' pyproject.toml %license LICENSE %changelog +* Mon May 04 2026 Owen Zimmerman +- Switch to git source, clean up spec + * Wed Jan 07 2026 Owen Zimmerman - Initial commit 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/anda.hcl b/anda/langs/python/deprecation-alias/anda.hcl new file mode 100644 index 0000000000..f3d32200b3 --- /dev/null +++ b/anda/langs/python/deprecation-alias/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "deprecation-alias.spec" + } +} diff --git a/anda/langs/python/deprecation-alias/deprecation-alias.spec b/anda/langs/python/deprecation-alias/deprecation-alias.spec new file mode 100644 index 0000000000..481863ae51 --- /dev/null +++ b/anda/langs/python/deprecation-alias/deprecation-alias.spec @@ -0,0 +1,48 @@ +%global pypi_name deprecation-alias +%global _desc A wrapper around 'deprecation' providing support for deprecated aliases. + +Name: python-%{pypi_name} +Version: 0.4.0 +Release: 2%?dist +Summary: A wrapper around 'deprecation' providing support for deprecated aliases +License: Apache-2.0 +URL: https://github.com/domdfcoding/deprecation-alias +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools +BuildRequires: python3-hatchling +BuildRequires: python3-importlib-metadata +BuildRequires: python3-hatch-requirements-txt +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 deprecation_alias + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/deprecation-alias/update.rhai b/anda/langs/python/deprecation-alias/update.rhai new file mode 100644 index 0000000000..f3d594eb8c --- /dev/null +++ b/anda/langs/python/deprecation-alias/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("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/anda.hcl b/anda/langs/python/dirsync/anda.hcl new file mode 100644 index 0000000000..e020703ef7 --- /dev/null +++ b/anda/langs/python/dirsync/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dirsync.spec" + } +} diff --git a/anda/langs/python/dirsync/dirsync.spec b/anda/langs/python/dirsync/dirsync.spec new file mode 100644 index 0000000000..9c354faa22 --- /dev/null +++ b/anda/langs/python/dirsync/dirsync.spec @@ -0,0 +1,46 @@ +%global pypi_name dirsync +%global _desc Advanced directory tree synchronisation tool. + +Name: python-%{pypi_name} +Version: 2.2.6 +Release: 2%{?dist} +Summary: Advanced directory tree synchronisation tool +License: MIT +URL: https://github.com/domdfcoding/deprecation-alias +Source0: %{pypi_source} + +BuildRequires: python3-devel +BuildRequires: python3-pip +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} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE.txt +%{_bindir}/%{pypi_name} + +%changelog +* Mon May 04 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/dirsync/update.rhai b/anda/langs/python/dirsync/update.rhai new file mode 100644 index 0000000000..1b94711ff1 --- /dev/null +++ b/anda/langs/python/dirsync/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("dirsync")); diff --git a/anda/langs/python/dist-meta/anda.hcl b/anda/langs/python/dist-meta/anda.hcl new file mode 100644 index 0000000000..d7d236f9df --- /dev/null +++ b/anda/langs/python/dist-meta/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dist-meta.spec" + } +} diff --git a/anda/langs/python/dist-meta/dist-meta.spec b/anda/langs/python/dist-meta/dist-meta.spec new file mode 100644 index 0000000000..8cf7ab32ef --- /dev/null +++ b/anda/langs/python/dist-meta/dist-meta.spec @@ -0,0 +1,45 @@ +%global pypi_name dist-meta +%global _desc Parse and create Python distribution metadata. + +Name: python-%{pypi_name} +Version: 0.9.0 +Release: 2%?dist +Summary: Parse and create Python distribution metadata +License: MIT +URL: https://dist-meta.readthedocs.io/en/latest/ +Source0: https://github.com/repo-helper/dist-meta/archive/refs/tags/v%{version}.tar.gz +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-hatch-requirements-txt + +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 dist_meta + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/dist-meta/update.rhai b/anda/langs/python/dist-meta/update.rhai new file mode 100644 index 0000000000..4835a11018 --- /dev/null +++ b/anda/langs/python/dist-meta/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("dist-meta")); diff --git a/anda/langs/python/dom_toml/anda.hcl b/anda/langs/python/dom_toml/anda.hcl new file mode 100644 index 0000000000..f16c8a3743 --- /dev/null +++ b/anda/langs/python/dom_toml/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dom_toml.spec" + } +} diff --git a/anda/langs/python/dom_toml/dom_toml.spec b/anda/langs/python/dom_toml/dom_toml.spec new file mode 100644 index 0000000000..d80f9e5c46 --- /dev/null +++ b/anda/langs/python/dom_toml/dom_toml.spec @@ -0,0 +1,46 @@ +%global pypi_name dom_toml +%global _desc Dom's tools for Tom's Obvious, Minimal Language. + +Name: python-%{pypi_name} +Version: 2.3.0 +Release: 2%?dist +Summary: Dom's tools for Tom's Obvious, Minimal Language +License: MIT +URL: https://dom-toml.readthedocs.io/en/latest/ +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools +BuildRequires: python3-flit-core + +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 dom_toml + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/dom_toml/update.rhai b/anda/langs/python/dom_toml/update.rhai new file mode 100644 index 0000000000..edf8cc8fb0 --- /dev/null +++ b/anda/langs/python/dom_toml/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("dom_toml")); 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/anda.hcl b/anda/langs/python/enum-tools/anda.hcl new file mode 100644 index 0000000000..fa4ffe84f2 --- /dev/null +++ b/anda/langs/python/enum-tools/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "enum-tools.spec" + } +} diff --git a/anda/langs/python/enum-tools/enum-tools.spec b/anda/langs/python/enum-tools/enum-tools.spec new file mode 100644 index 0000000000..7f8fd3d45f --- /dev/null +++ b/anda/langs/python/enum-tools/enum-tools.spec @@ -0,0 +1,47 @@ +%global pypi_name enum_tools +%global _desc Tools to expand Python's enum module. + +Name: python-%{pypi_name} +Version: 0.13.0 +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/ +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-wheel +BuildRequires: python3-whey + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +Provides: python3-enum-tools +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%prep +%autosetup -n enum_tools-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files enum_tools + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Sun Mar 15 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/enum-tools/update.rhai b/anda/langs/python/enum-tools/update.rhai new file mode 100644 index 0000000000..05e5175c4a --- /dev/null +++ b/anda/langs/python/enum-tools/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("enum_tools")); 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/anda.hcl b/anda/langs/python/faster-whisper/anda.hcl new file mode 100644 index 0000000000..740ef5a125 --- /dev/null +++ b/anda/langs/python/faster-whisper/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "faster-whisper.spec" + } +} diff --git a/anda/langs/python/faster-whisper/faster-whisper.spec b/anda/langs/python/faster-whisper/faster-whisper.spec new file mode 100644 index 0000000000..61105ff33f --- /dev/null +++ b/anda/langs/python/faster-whisper/faster-whisper.spec @@ -0,0 +1,49 @@ +%global pypi_name faster-whisper +%global _desc Faster Whisper transcription with CTranslate2. + +Name: python-%{pypi_name} +Version: 1.2.1 +Release: 2%?dist +Summary: Faster Whisper transcription with CTranslate2 +License: MIT +URL: https://github.com/SYSTRAN/faster-whisper +Source0: %url/archive/refs/tags/v%version.tar.gz +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-build +BuildRequires: python3-installer +BuildRequires: python3-wheel +BuildRequires: python3-poetry-core +BuildRequires: python3-pip +BuildRequires: python3-setuptools + +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 faster-whisper-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files faster_whisper + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE + +%changelog +* Sun Apr 12 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/faster-whisper/update.rhai b/anda/langs/python/faster-whisper/update.rhai new file mode 100644 index 0000000000..49762b8517 --- /dev/null +++ b/anda/langs/python/faster-whisper/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("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 f662c76340..d806005681 100644 --- a/anda/langs/python/fx2/fx2.spec +++ b/anda/langs/python/fx2/fx2.spec @@ -2,12 +2,12 @@ %global _desc Chip support package for Cypress EZ-USB FX2 series microcontrollers. Name: python-%{pypi_name} -Version: 0.13 -Release: 2%?dist +Version: 0.16 +Release: 1%{?dist} Summary: Chip support package for Cypress EZ-USB FX2 series microcontrollers License: 0BSD -URL: https://github.com/whitequark/libfx2 -Source0: %url/archive/refs/tags/v%version.tar.gz +URL: https://glasgowembedded.codeberg.page/libfx2/ +Source0: https://codeberg.org/GlasgowEmbedded/libfx2/archive/v%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel @@ -34,7 +34,7 @@ Provides: python3-libfx2 %_desc %prep -%autosetup -n libfx2-%{version} +%autosetup -n libfx2 %build export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} @@ -50,8 +50,6 @@ popd %doc README.md %license LICENSE-0BSD.txt %{_bindir}/fx2tool -%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/python/gay/gay.spec b/anda/langs/python/gay/gay.spec index 7003fb1030..671b681f53 100644 --- a/anda/langs/python/gay/gay.spec +++ b/anda/langs/python/gay/gay.spec @@ -1,17 +1,13 @@ -%global commit af18bcf210659b8b5a40624ffab791d49e831017 -%global commit_date 20241015 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) - %global pypi_name gay %global _desc Colour your text / terminal to be more gay. Name: python-%{pypi_name} -Version: %commit_date.%shortcommit -Release: 2%?dist +Version: 1.3.4 +Release: 3%?dist Summary: Colour your text / terminal to be more gay License: MIT URL: https://github.com/ms-jpq/gay -Source0: %url/archive/%commit/gay-%commit.tar.gz +Source0: %{pypi_source} BuildArch: noarch BuildRequires: python3-devel @@ -25,14 +21,13 @@ Packager: Owen Zimmerman %package -n python3-%{pypi_name} Summary: %{summary} -Provides: gay %{?python_provide:%python_provide python3-%{pypi_name}} %description -n python3-%{pypi_name} %_desc %prep -%autosetup -n gay-%{commit} +%autosetup -n %{pypi_name}-%{version} %build %pyproject_wheel @@ -44,7 +39,7 @@ Provides: gay %doc README.md %license LICENSE %{_bindir}/gay -%python3_sitelib/gay-1.3.4.dist-info/* +%python3_sitelib/gay-%{version}.dist-info/* %changelog * Tue Sep 30 2025 Owen Zimmerman diff --git a/anda/langs/python/gay/update.rhai b/anda/langs/python/gay/update.rhai index 8386a9f9f8..132085f7c0 100644 --- a/anda/langs/python/gay/update.rhai +++ b/anda/langs/python/gay/update.rhai @@ -1,5 +1 @@ -rpm.global("commit", gh_commit("ms-jpq/gay")); -if rpm.changed() { - rpm.release(); - rpm.global("commit_date", date()); -} +rpm.version(pypi("gay")); diff --git a/anda/langs/python/geventwebsocket/anda.hcl b/anda/langs/python/geventwebsocket/anda.hcl new file mode 100644 index 0000000000..0f26d7b84d --- /dev/null +++ b/anda/langs/python/geventwebsocket/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "geventwebsocket.spec" + } +} diff --git a/anda/langs/python/geventwebsocket/geventwebsocket.spec b/anda/langs/python/geventwebsocket/geventwebsocket.spec new file mode 100644 index 0000000000..7fbd2f0dec --- /dev/null +++ b/anda/langs/python/geventwebsocket/geventwebsocket.spec @@ -0,0 +1,45 @@ +%global pypi_name gevent-websocket +%global _desc gevent-websocket is a WebSocket library for the gevent networking library. + +Name: python-%{pypi_name} +Version: 0.10.1 +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 +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} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files geventwebsocket + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Thu May 07 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/geventwebsocket/update.rhai b/anda/langs/python/geventwebsocket/update.rhai new file mode 100644 index 0000000000..1056e6da0c --- /dev/null +++ b/anda/langs/python/geventwebsocket/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("gevent-websocket")); 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/anda.hcl b/anda/langs/python/handy-archives/anda.hcl new file mode 100644 index 0000000000..a02f099907 --- /dev/null +++ b/anda/langs/python/handy-archives/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "handy-archives.spec" + } +} diff --git a/anda/langs/python/handy-archives/handy-archives.spec b/anda/langs/python/handy-archives/handy-archives.spec new file mode 100644 index 0000000000..f9e9803350 --- /dev/null +++ b/anda/langs/python/handy-archives/handy-archives.spec @@ -0,0 +1,46 @@ +%global pypi_name handy_archives +%global _desc Some handy archive helpers for Python. + +Name: python-%{pypi_name} +Version: 0.2.0 +Release: 2%?dist +Summary: Some handy archive helpers for Python +License: MIT +URL: https://handy-archives.readthedocs.io/en/latest/ +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-flit-core + +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 handy_archives + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/handy-archives/update.rhai b/anda/langs/python/handy-archives/update.rhai new file mode 100644 index 0000000000..79bc0d2f35 --- /dev/null +++ b/anda/langs/python/handy-archives/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("handy-archives")); diff --git a/anda/langs/python/hf-xet/xf-xet.spec b/anda/langs/python/hf-xet/xf-xet.spec index 81c623ae84..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.3.2 -Release: 1%?dist +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 71a17f48cf..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 @@ -14,7 +14,7 @@ Source0: %url/archive/refs/tags/v%version.tar.gz BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-setuptools -BuildRequires: java-21-openjdk-devel +BuildRequires: java-latest-openjdk-devel Packager: Owen Zimmerman 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 6bbbdb7fca..a130f4112a 100644 --- a/anda/langs/python/iterable-io/iterable-io.spec +++ b/anda/langs/python/iterable-io/iterable-io.spec @@ -1,9 +1,10 @@ -%global pypi_name iterable-io +%global pypi_name iterable_io +%global real_name iterable-io %global _desc Python library to adapt iterables to a file-like interface. -Name: python-%{pypi_name} -Version: 1.0.1 -Release: 1%?dist +Name: python-%{real_name} +Version: 1.0.4 +Release: 2%{?dist} Summary: Python library to adapt iterables to a file-like interface # According to README @@ -18,22 +19,23 @@ 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} +%package -n python3-%{real_name} Summary: %{summary} Provides: iterable-io -%{?python_provide:%python_provide python3-%{pypi_name}} +%{?python_provide:%python_provide python3-%{real_name}} -%description -n python3-%{pypi_name} +%description -n python3-%{real_name} %_desc %prep -%autosetup -n iterable-io-%{version} +%autosetup -n %{pypi_name}-%{version} %build %pyproject_wheel @@ -43,7 +45,7 @@ install -Dm644 %{SOURCE1} %{buildroot}%{_defaultlicensedir}/%{name}/LICENSE %pyproject_install %pyproject_save_files iterableio -%files -n python3-%{pypi_name} -f %{pyproject_files} +%files -n python3-%{real_name} -f %{pyproject_files} %doc README.md %{_defaultlicensedir}/%{name}/LICENSE %ghost %python3_sitelib/__pycache__/*.cpython-*.pyc 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 7af264a1e4..f3a928a111 100644 --- a/anda/langs/python/jellyfin-apiclient-python/jellyfin-apiclient-python.spec +++ b/anda/langs/python/jellyfin-apiclient-python/jellyfin-apiclient-python.spec @@ -2,10 +2,10 @@ %global _desc Python API Client for Jellyfin. Name: python-%{pypi_name} -Version: 1.11.0 -Release: 1%?dist +Version: 1.13.0 +Release: 1%{?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/anda.hcl b/anda/langs/python/jxlpy/anda.hcl new file mode 100644 index 0000000000..413874b469 --- /dev/null +++ b/anda/langs/python/jxlpy/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "jxlpy.spec" + } +} diff --git a/anda/langs/python/jxlpy/jxlpy.spec b/anda/langs/python/jxlpy/jxlpy.spec new file mode 100644 index 0000000000..2d9b0e7d5c --- /dev/null +++ b/anda/langs/python/jxlpy/jxlpy.spec @@ -0,0 +1,49 @@ +%global pypi_name jxlpy +%global _desc Cython bindings and Pillow plugin for JPEG XL. + +Name: python-%{pypi_name} +Version: 0.9.5 +Release: 2%?dist +Summary: Cython bindings and Pillow plugin for JPEG XL +License: MIT +URL: https://github.com/olokelo/jxlpy +Source0: %{pypi_source} + +BuildRequires: python3-devel +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cython +BuildRequires: libjxl-devel +BuildRequires: gcc-c++ + +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 +%{python3_sitearch}/_jxlpy.cpython-314-%{_arch}-linux-gnu.so + +%changelog +* Sat Mar 28 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/jxlpy/update.rhai b/anda/langs/python/jxlpy/update.rhai new file mode 100644 index 0000000000..8306a8af42 --- /dev/null +++ b/anda/langs/python/jxlpy/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("jxlpy")); diff --git a/anda/langs/python/latex2mathml/latex2mathml.spec b/anda/langs/python/latex2mathml/latex2mathml.spec index 2eecbb3805..3c04419960 100644 --- a/anda/langs/python/latex2mathml/latex2mathml.spec +++ b/anda/langs/python/latex2mathml/latex2mathml.spec @@ -2,12 +2,12 @@ %global _desc Pure Python library for LaTeX to MathML conversion. Name: python-%{pypi_name} -Version: 3.78.1 -Release: 1%?dist +Version: 3.81.0 +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 @@ -17,6 +17,9 @@ BuildRequires: python3-pip 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 a54d31acc3..762f67ba81 100644 --- a/anda/langs/python/magic-wormhole/magic-wormhole.spec +++ b/anda/langs/python/magic-wormhole/magic-wormhole.spec @@ -2,8 +2,8 @@ %global _desc get things from one computer to another, safely. Name: python-%{pypi_name} -Version: 0.22.0 -Release: 1%?dist +Version: 0.24.0 +Release: 3%{?dist} Summary: get things from one computer to another, safely License: MIT URL: https://github.com/magic-wormhole/magic-wormhole @@ -34,6 +34,8 @@ Provides: magic-wormhole %prep %autosetup -n magic-wormhole-%{version} +%pyproject_patch_dependency autobahn:drop_constraints + %build %pyproject_wheel @@ -52,9 +54,6 @@ rm %{buildroot}%{_usr}/wormhole_complete.* %{_bindir}/magic-wormhole %{_bindir}/wormhole %{_mandir}/man1/wormhole.1.gz -%ghost %python3_sitelib/__pycache__/*.cpython-*.pyc -%ghost %python3_sitelib/%{name}/subcommands/__pycache__/*.cpython-*.pyc -%python3_sitelib/magic_wormhole-%version.dist-info/* %changelog * Mon Nov 03 2025 Owen Zimmerman diff --git a/anda/langs/python/materialyoucolor/python-materialyoucolor.spec b/anda/langs/python/materialyoucolor/python-materialyoucolor.spec index 673bbcdc2b..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 @@ -14,6 +14,7 @@ BuildRequires: pyproject-rpm-macros BuildRequires: python3-devel BuildRequires: python3dist(pillow) BuildRequires: python3dist(pip) +BuildRequires: python3dist(pybind11) BuildRequires: python3dist(pytest) BuildRequires: python3dist(rich) BuildRequires: python3dist(setuptools) 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 cfc9e833a6..77328558d3 100644 --- a/anda/langs/python/milc/milc.spec +++ b/anda/langs/python/milc/milc.spec @@ -2,8 +2,8 @@ %global _desc Batteries-Included Python 3 CLI Framework. Name: python-%{pypi_name} -Version: 1.9.1 -Release: 1%?dist +Version: 2.0.0 +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/anda.hcl b/anda/langs/python/mistletoe/anda.hcl new file mode 100644 index 0000000000..a1447a5955 --- /dev/null +++ b/anda/langs/python/mistletoe/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "mistletoe.spec" + } +} diff --git a/anda/langs/python/mistletoe/mistletoe.spec b/anda/langs/python/mistletoe/mistletoe.spec new file mode 100644 index 0000000000..331b00e30f --- /dev/null +++ b/anda/langs/python/mistletoe/mistletoe.spec @@ -0,0 +1,46 @@ +%global pypi_name mistletoe +%global _desc A rough port of Node.js's EventEmitter to Python with a few tricks of its own. + +Name: python-%{pypi_name} +Version: 1.5.1 +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 +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} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files mistletoe + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/mistletoe + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/mistletoe/update.rhai b/anda/langs/python/mistletoe/update.rhai new file mode 100644 index 0000000000..1212b2716e --- /dev/null +++ b/anda/langs/python/mistletoe/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("mistletoe")); diff --git a/anda/langs/python/mpegdash/anda.hcl b/anda/langs/python/mpegdash/anda.hcl new file mode 100644 index 0000000000..e991509a82 --- /dev/null +++ b/anda/langs/python/mpegdash/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "mpegdash.spec" + } +} diff --git a/anda/langs/python/mpegdash/mpegdash.spec b/anda/langs/python/mpegdash/mpegdash.spec new file mode 100644 index 0000000000..66c4c25ab4 --- /dev/null +++ b/anda/langs/python/mpegdash/mpegdash.spec @@ -0,0 +1,45 @@ +%global pypi_name mpegdash +%global _desc MPEG-DASH MPD(Media Presentation Description) Parser. + +Name: python-%{pypi_name} +Version: 0.4.1 +Release: 2%?dist +Summary: MPEG-DASH MPD(Media Presentation Description) Parser +License: MIT +URL: https://github.com/sangwonl/python-mpegdash +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} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE + +%changelog +* Sun Mar 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/mpegdash/update.rhai b/anda/langs/python/mpegdash/update.rhai new file mode 100644 index 0000000000..8a8261bbc7 --- /dev/null +++ b/anda/langs/python/mpegdash/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("mpegdash")); diff --git a/anda/langs/python/mpv/python-mpv.spec b/anda/langs/python/mpv/python-mpv.spec index d0ca15e65a..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: 2%?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 @@ -60,8 +60,6 @@ EOL %files -n python3-%{pypi_name} -f %{pyproject_files} %doc README.rst %license LICENSE.GPL LICENSE.LGPL -%ghost %python3_sitelib/__pycache__/mpv.cpython-*.pyc -%python3_sitelib/mpv.py %endif %changelog 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/nmcli/anda.hcl b/anda/langs/python/nmcli/anda.hcl new file mode 100644 index 0000000000..7ff0d8d5ec --- /dev/null +++ b/anda/langs/python/nmcli/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "python-nmcli.spec" + } +} diff --git a/anda/langs/python/nmcli/python-nmcli.spec b/anda/langs/python/nmcli/python-nmcli.spec new file mode 100644 index 0000000000..a795b6258a --- /dev/null +++ b/anda/langs/python/nmcli/python-nmcli.spec @@ -0,0 +1,51 @@ +Name: python-nmcli +Version: 1.8.0 +Release: 1%?dist +Summary: A python wrapper library for the network-manager cli client + +License: MIT +URL: https://github.com/ushiboy/nmcli +Source: %{pypi_source nmcli} +Packager: madonuko + +BuildArch: noarch +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools + + +%global _description %{expand: +nmcli is a python wrapper library for the network-manager cli client.} + +%description %_description + +%package -n python3-nmcli +Summary: %{summary} + +%description -n python3-nmcli %_description + + +%prep +%autosetup -p1 -n nmcli-%{version} + +%build +%pyproject_wheel + + +%install +%pyproject_install +%pyproject_save_files nmcli + + +%check +%pyproject_check_import + + +%files -n python3-nmcli -f %{pyproject_files} +%doc README.md +%license LICENSE.txt + + +%changelog +* Sun Jun 28 2026 madonuko - 1.8.0-1 +- Initial package diff --git a/anda/langs/python/nmcli/update.rhai b/anda/langs/python/nmcli/update.rhai new file mode 100644 index 0000000000..fbb54578f1 --- /dev/null +++ b/anda/langs/python/nmcli/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("nmcli")); diff --git a/anda/langs/python/numba/numba.spec b/anda/langs/python/numba/numba.spec index 9e8234147c..a01cf27d02 100644 --- a/anda/langs/python/numba/numba.spec +++ b/anda/langs/python/numba/numba.spec @@ -1,13 +1,14 @@ %global pypi_name numba Name: python-%{pypi_name} -Version: 0.64.0 -Release: 1%?dist +Version: 0.65.1 +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 # PyPi source does not include all files Source0: https://github.com/numba/numba/archive/refs/tags/%version.tar.gz +Patch0: remove-llvmlite-version-req.patch # This package is intentionally not noarch BuildRequires: python3-devel @@ -36,7 +37,7 @@ Numba is an open source, NumPy-aware optimizing compiler for Python sponsored by Numba can compile a large subset of numerically-focused Python, including many NumPy functions. Additionally, Numba has support for automatic parallelization of loops, generation of GPU-accelerated code, and creation of ufuncs and C callbacks. %prep -%autosetup -n numba-%{version} +%autosetup -n numba-%{version} -p1 %build %pyproject_wheel diff --git a/anda/langs/python/numba/remove-llvmlite-version-req.patch b/anda/langs/python/numba/remove-llvmlite-version-req.patch new file mode 100644 index 0000000000..f2e9e35c1d --- /dev/null +++ b/anda/langs/python/numba/remove-llvmlite-version-req.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index 282b8f42e..24c865f0a 100644 +--- a/setup.py ++++ b/setup.py +@@ -24,7 +24,7 @@ max_python_version = "3.15" # exclusive + min_numpy_build_version = "2.0.0rc1" + min_numpy_run_version = "1.22" + max_numpy_run_version = "2.5" +-min_llvmlite_version = "0.47.0dev0" ++min_llvmlite_version = "0.44" + max_llvmlite_version = "0.48" + + if sys.platform.startswith('linux'): 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/anda.hcl b/anda/langs/python/open-unmix-pytorch/anda.hcl new file mode 100644 index 0000000000..d8dcdc32f2 --- /dev/null +++ b/anda/langs/python/open-unmix-pytorch/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "open-unmix-pytorch.spec" + } +} diff --git a/anda/langs/python/open-unmix-pytorch/open-unmix-pytorch.spec b/anda/langs/python/open-unmix-pytorch/open-unmix-pytorch.spec new file mode 100644 index 0000000000..961f4237a0 --- /dev/null +++ b/anda/langs/python/open-unmix-pytorch/open-unmix-pytorch.spec @@ -0,0 +1,47 @@ +%global pypi_name openunmix +%global _desc Open-Unmix - Music Source Separation for PyTorch. + +Name: python-%{pypi_name} +Version: 1.3.0 +Release: 2%{?dist} +Summary: Open-Unmix - Music Source Separation for PyTorch +License: MIT +URL: https://github.com/sigsep/open-unmix-pytorch +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools +BuildRequires: python3-wheel + +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 +%{_bindir}/umx + +%changelog +* Mon May 04 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/open-unmix-pytorch/update.rhai b/anda/langs/python/open-unmix-pytorch/update.rhai new file mode 100644 index 0000000000..acf60671ab --- /dev/null +++ b/anda/langs/python/open-unmix-pytorch/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("openunmix")); 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/anda.hcl b/anda/langs/python/opencc/anda.hcl new file mode 100644 index 0000000000..8a2a74ce34 --- /dev/null +++ b/anda/langs/python/opencc/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "opencc.spec" + } +} diff --git a/anda/langs/python/opencc/opencc.spec b/anda/langs/python/opencc/opencc.spec new file mode 100644 index 0000000000..c563597d34 --- /dev/null +++ b/anda/langs/python/opencc/opencc.spec @@ -0,0 +1,47 @@ +%global pypi_name opencc +%global _desc Open Chinese Convert. + +Name: python-%{pypi_name} +Version: 1.3.2 +Release: 1%{?dist} +Summary: Open Chinese Convert +License: Apache-2.0 +URL: https://github.com/BYVoid/OpenCC +Source0: %{pypi_source} + +BuildRequires: python3-devel +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: gcc-c++ +BuildRequires: cmake + +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 AUTHORS +%license LICENSE + +%changelog +* Sun Mar 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/opencc/update.rhai b/anda/langs/python/opencc/update.rhai new file mode 100644 index 0000000000..df2b57b416 --- /dev/null +++ b/anda/langs/python/opencc/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("opencc")); diff --git a/anda/langs/python/peft/anda.hcl b/anda/langs/python/peft/anda.hcl new file mode 100644 index 0000000000..7e35b698f0 --- /dev/null +++ b/anda/langs/python/peft/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "peft.spec" + } +} diff --git a/anda/langs/python/peft/peft.spec b/anda/langs/python/peft/peft.spec new file mode 100644 index 0000000000..1c45ceb774 --- /dev/null +++ b/anda/langs/python/peft/peft.spec @@ -0,0 +1,45 @@ +%global pypi_name peft +%global _desc PEFT: State-of-the-art Parameter-Efficient Fine-Tuning. + +Name: python-%{pypi_name} +Version: 0.19.1 +Release: 2%{?dist} +Summary: PEFT: State-of-the-art Parameter-Efficient Fine-Tuning +License: Apache-2.0 +URL: https://github.com/huggingface/peft +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-devel + +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 + +%changelog +* Mon May 04 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/peft/update.rhai b/anda/langs/python/peft/update.rhai new file mode 100644 index 0000000000..364e788afc --- /dev/null +++ b/anda/langs/python/peft/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("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/anda.hcl b/anda/langs/python/plexapi/anda.hcl new file mode 100644 index 0000000000..1b822bf3cd --- /dev/null +++ b/anda/langs/python/plexapi/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "plexapi.spec" + } +} diff --git a/anda/langs/python/plexapi/plexapi.spec b/anda/langs/python/plexapi/plexapi.spec new file mode 100644 index 0000000000..1917d229ab --- /dev/null +++ b/anda/langs/python/plexapi/plexapi.spec @@ -0,0 +1,46 @@ +%global pypi_name plexapi +%global _desc Python bindings for the Plex API. + +Name: python-%{pypi_name} +Version: 4.18.1 +Release: 2%{?dist} +Summary: Python bindings for the Plex API +License: BSD-3-Clause +URL: https://github.com/pushingkarmaorg/python-plexapi +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +Provides: %{pypi_name} +%{?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.rst +%license LICENSE.txt + +%changelog +* Sun Mar 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/plexapi/update.rhai b/anda/langs/python/plexapi/update.rhai new file mode 100644 index 0000000000..e764dd50d7 --- /dev/null +++ b/anda/langs/python/plexapi/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("plexapi")); diff --git a/anda/langs/python/posthog/posthog.spec b/anda/langs/python/posthog/posthog.spec index d74e8212cb..46e8448f9a 100644 --- a/anda/langs/python/posthog/posthog.spec +++ b/anda/langs/python/posthog/posthog.spec @@ -2,8 +2,8 @@ %global _desc Send usage data from your Python code to PostHog. Name: python-%{pypi_name} -Version: 7.9.6 -Release: 1%?dist +Version: 7.21.1 +Release: 1%{?dist} Summary: Send usage data from your Python code to PostHog License: MIT URL: https://posthog.com/docs/libraries/python diff --git a/anda/langs/python/protobuf/python3-protobuf.spec b/anda/langs/python/protobuf/python3-protobuf.spec index 5baebc42de..603066de6a 100644 --- a/anda/langs/python/protobuf/python3-protobuf.spec +++ b/anda/langs/python/protobuf/python3-protobuf.spec @@ -2,8 +2,8 @@ %global pypi_name protobuf Name: python-%{pypi_name} -Version: 7.34.0 -Release: 1%?dist +Version: 7.35.1 +Release: 1%{?dist} Summary: Protocol Buffers License: BSD-3-Clause 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/anda.hcl b/anda/langs/python/proton-keyring-linux/anda.hcl new file mode 100644 index 0000000000..f4b7eb0666 --- /dev/null +++ b/anda/langs/python/proton-keyring-linux/anda.hcl @@ -0,0 +1,6 @@ + project pkg { + arches = ["x86_64"] + rpm { + spec = "proton-keyring-linux.spec" + } + } diff --git a/anda/langs/python/proton-keyring-linux/proton-keyring-linux.spec b/anda/langs/python/proton-keyring-linux/proton-keyring-linux.spec new file mode 100644 index 0000000000..786a1ce842 --- /dev/null +++ b/anda/langs/python/proton-keyring-linux/proton-keyring-linux.spec @@ -0,0 +1,45 @@ +%global _desc Python3 Proton linux keyring base implementation. + +Name: python-proton-keyring-linux +Version: 0.2.2 +Release: 1%{?dist} +Summary: Python3 Proton linux keyring base implementation +License: GPL-3.0-or-later +URL: https://github.com/ProtonVPN/python-proton-keyring-linux +Source0: %url/archive/refs/tags/v%version.tar.gz +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-proton-keyring-linux +Summary: %{summary} +Provides: proton-keyring-linux +%{?python_provide:%python_provide python3-proton-keyring-linux} + +%description -n python3-proton-keyring-linux +%_desc + +%prep +%autosetup -n python-proton-keyring-linux-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files proton + +%files -n python3-proton-keyring-linux -f %{pyproject_files} +%doc CODEOWNERS +%license LICENSE + +%changelog +* Mon Apr 27 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/proton-keyring-linux/update.rhai b/anda/langs/python/proton-keyring-linux/update.rhai new file mode 100644 index 0000000000..fa6403a7cb --- /dev/null +++ b/anda/langs/python/proton-keyring-linux/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("ProtonVPN/python-proton-keyring-linux")); 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 5f91a5bf97..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,8 +4,8 @@ %global __requires_exclude ^python3\\.14dist\\(proton-vpn-local-agent\\)$ Name: python-%{pypi_name} -Version: 4.14.3 -Release: 3%?dist +Version: 5.2.5 +Release: 1%{?dist} Summary: A facade to the other Proton VPN components License: GPL-3.0-Only URL: https://github.com/ProtonVPN/python-proton-vpn-api-core 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 28e447b79f..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 @@ -1,12 +1,11 @@ %define debug_package %{nil} -%define __python /usr/bin/python3 %global pypi_name proton-vpn-local-agent %global _desc Proton VPN local agent written in Rust. Name: python-%{pypi_name} -Version: 1.6.0 -Release: 3%?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 @@ -44,12 +43,12 @@ popd %install pushd %{name} -install -Dm0644 target/release/libpython_proton_vpn_local_agent.so %{buildroot}%{python_sitearch}/proton/vpn/local_agent.so +install -Dm0644 target/release/libpython_proton_vpn_local_agent.so %{buildroot}%{python3_sitearch}/proton/vpn/local_agent.so popd %files -n python3-%{pypi_name} %doc README.md CODEOWNERS -%{python_sitearch}/proton/vpn/local_agent.so +%{python3_sitearch}/proton/vpn/local_agent.so %changelog * Sun Jan 18 2026 Owen Zimmerman 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/anda.hcl b/anda/langs/python/publicdotcom-cli/anda.hcl new file mode 100644 index 0000000000..edfba72f6e --- /dev/null +++ b/anda/langs/python/publicdotcom-cli/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "publicdotcom-cli.spec" + } +} diff --git a/anda/langs/python/publicdotcom-cli/publicdotcom-cli.spec b/anda/langs/python/publicdotcom-cli/publicdotcom-cli.spec new file mode 100644 index 0000000000..65abd0c747 --- /dev/null +++ b/anda/langs/python/publicdotcom-cli/publicdotcom-cli.spec @@ -0,0 +1,46 @@ +%global pypi_name publicdotcom_cli +%global real_name publicdotcom-cli +%global _desc Command-line client for the Public.com Trading API. + +Name: python-%{real_name} +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 +BuildRequires: python3-hatchling + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{real_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{real_name}} + +%description -n python3-%{real_name} +%_desc + +%prep +%autosetup -n %{pypi_name}-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{real_name} -f %{pyproject_files} +%doc README.md +%{_bindir}/public + +%changelog +* Thu May 07 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/publicdotcom-cli/update.rhai b/anda/langs/python/publicdotcom-cli/update.rhai new file mode 100644 index 0000000000..098cbea22d --- /dev/null +++ b/anda/langs/python/publicdotcom-cli/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("publicdotcom-cli")); diff --git a/anda/langs/python/publicdotcom-py/anda.hcl b/anda/langs/python/publicdotcom-py/anda.hcl new file mode 100644 index 0000000000..61b7ccb89a --- /dev/null +++ b/anda/langs/python/publicdotcom-py/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "publicdotcom-py.spec" + } +} diff --git a/anda/langs/python/publicdotcom-py/publicdotcom-py.spec b/anda/langs/python/publicdotcom-py/publicdotcom-py.spec new file mode 100644 index 0000000000..8524209cc5 --- /dev/null +++ b/anda/langs/python/publicdotcom-py/publicdotcom-py.spec @@ -0,0 +1,46 @@ +%global pypi_name publicdotcom_py +%global real_name publicdotcom-py +%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.17 +Release: 1%{?dist} +Summary: Python SDK for interacting with the Public Trading API +License: Apache-2.0 +URL: https://github.com/PublicDotCom/publicdotcom-py +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{real_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{real_name}} + +%description -n python3-%{real_name} +%_desc + +%prep +%autosetup -n %{pypi_name}-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files public_api_sdk + +%files -n python3-%{real_name} -f %{pyproject_files} +%doc README.md +%license LICENCE + +%changelog +* Thu May 07 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/publicdotcom-py/update.rhai b/anda/langs/python/publicdotcom-py/update.rhai new file mode 100644 index 0000000000..45bd02a092 --- /dev/null +++ b/anda/langs/python/publicdotcom-py/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("publicdotcom-py")); 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 6b105a8db5..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.4 -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 @@ -35,14 +35,12 @@ Summary: %{summary} %install %pyproject_install +%pyproject_save_files fluidsynth -%files -n python3-%{pypi_name} +%files -n python3-%{pypi_name} -f %{pyproject_files} %doc README.md %license LICENSE -%{_usr}/lib/python3.14/site-packages/__pycache__/fluidsynth.*.pyc -%{_usr}/lib/python3.14/site-packages/__pycache__/fluidsynth.*.*.pyc -%{_usr}/lib/python3.14/site-packages/fluidsynth.py -%{_usr}/lib/python3.14/site-packages/%{pypi_name}-%{version}.dist-info/* +%{python3_sitelib}/fluidsynth.py %changelog * Sat Jan 24 2026 Owen Zimmerman 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/anda.hcl b/anda/langs/python/pyproject-parser/anda.hcl new file mode 100644 index 0000000000..3225ab5eed --- /dev/null +++ b/anda/langs/python/pyproject-parser/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "pyproject-parser.spec" + } +} diff --git a/anda/langs/python/pyproject-parser/pyproject-parser.spec b/anda/langs/python/pyproject-parser/pyproject-parser.spec new file mode 100644 index 0000000000..2140cd0b23 --- /dev/null +++ b/anda/langs/python/pyproject-parser/pyproject-parser.spec @@ -0,0 +1,50 @@ +%global pypi_name pyproject-parser +%global _desc Parser for 'pyproject.toml' + +Name: python-%{pypi_name} +Version: 0.14.0 +Release: 2%?dist +Summary: Parser for 'pyproject.toml' +License: MIT +URL: https://pyproject-parser.readthedocs.io/en/latest/ +Source0: https://github.com/repo-helper/pyproject-parser/archive/refs/tags/v%{version}.tar.gz +BuildArch: noarch + +BuildRequires: python3-pip +BuildRequires: python3-devel +BuildRequires: python3-hatch-requirements-txt + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +Provides: pyvcd +%{?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 pyproject_parser + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE +%{_bindir}/pyproject-fmt +%{_bindir}/pyproject-info +%{_bindir}/pyproject-parser +%{_bindir}/check-pyproject + +%changelog +* Sat Sep 27 2025 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/pyproject-parser/update.rhai b/anda/langs/python/pyproject-parser/update.rhai new file mode 100644 index 0000000000..5f6f39092d --- /dev/null +++ b/anda/langs/python/pyproject-parser/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("pyproject-parser")); diff --git a/anda/langs/python/pyprojectize/anda.hcl b/anda/langs/python/pyprojectize/anda.hcl new file mode 100644 index 0000000000..e6190f728e --- /dev/null +++ b/anda/langs/python/pyprojectize/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "pyprojectize.spec" + } +} diff --git a/anda/langs/python/pyprojectize/pyprojectize.spec b/anda/langs/python/pyprojectize/pyprojectize.spec new file mode 100644 index 0000000000..f325511bc9 --- /dev/null +++ b/anda/langs/python/pyprojectize/pyprojectize.spec @@ -0,0 +1,48 @@ +%global pypi_name pyprojectize +%global _desc Convert a spec file from py3_build etc. macros to pyproject_*. + +Name: python-%{pypi_name} +Version: 1a7 +Release: 2%?dist +Summary: Convert a spec file from py3_build etc. macros to pyproject_* +License: MIT-0 +URL: https://github.com/hroncok/pyprojectize +Source0: %{pypi_source} + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-wheel +BuildRequires: python3-hatchling +BuildArch: noarch + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +Provides: %{pypi_name} +%{?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 pyprojectize + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/pyprojectize + +%changelog +* Mon Mar 09 2026 Owen Zimmerman - 1a7-1 +- Initial commit diff --git a/anda/langs/python/pyprojectize/update.rhai b/anda/langs/python/pyprojectize/update.rhai new file mode 100644 index 0000000000..98cd6f1abe --- /dev/null +++ b/anda/langs/python/pyprojectize/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("pyprojectize")); diff --git a/anda/langs/python/pysdl3/anda.hcl b/anda/langs/python/pysdl3/anda.hcl new file mode 100644 index 0000000000..6746293d9c --- /dev/null +++ b/anda/langs/python/pysdl3/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "pysdl3.spec" + } +} diff --git a/anda/langs/python/pysdl3/pysdl3.spec b/anda/langs/python/pysdl3/pysdl3.spec new file mode 100644 index 0000000000..48be788b0d --- /dev/null +++ b/anda/langs/python/pysdl3/pysdl3.spec @@ -0,0 +1,45 @@ +%global pypi_name pysdl3 +%global _desc A pure Python wrapper for SDL3. + +Name: python-%{pypi_name} +Version: 0.9.11b1 +Release: 2%{?dist} +Summary: A pure Python wrapper for SDL3 +License: MIT +URL: https://pysdl3.readthedocs.io/ +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} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files sdl3 + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE + +%changelog +* Sun Mar 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/pysdl3/update.rhai b/anda/langs/python/pysdl3/update.rhai new file mode 100644 index 0000000000..9c5edad2fc --- /dev/null +++ b/anda/langs/python/pysdl3/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("pysdl3")); 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 ebf65afadf..46b214be93 100644 --- a/anda/langs/python/python-mpv-jsonipc/python-mpv-jsonipc.spec +++ b/anda/langs/python/python-mpv-jsonipc/python-mpv-jsonipc.spec @@ -2,8 +2,8 @@ %global _desc Python API to MPV using JSON IPC. Name: python-%{pypi_name} -Version: 1.2.1 -Release: 1%?dist +Version: 1.2.2 +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 5ce61f4ef1..1b4ed66af5 100644 --- a/anda/langs/python/python-soxr/python-soxr.spec +++ b/anda/langs/python/python-soxr/python-soxr.spec @@ -4,8 +4,8 @@ %global _desc Fast and high quality sample-rate conversion library for Python. Name: python-%{pypi_name} -Version: 1.0.0 -Release: 1%?dist +Version: 1.1.0 +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 8b3b4e2907..d0aa00c613 100644 --- a/anda/langs/python/pywal16/python-pywal16.spec +++ b/anda/langs/python/pywal16/python-pywal16.spec @@ -3,8 +3,8 @@ Pywal is a tool that generates a color palette from the dominant colors in an image. It then applies the colors system-wide and on-the-fly in all of your favourite programs.} Name: python-%{pypi_name} -Version: 3.8.14 -Release: 1%?dist +Version: 3.8.15 +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 4f3b8e3321..e3bb2fb7da 100644 --- a/anda/langs/python/pywebview/pywebview.spec +++ b/anda/langs/python/pywebview/pywebview.spec @@ -2,8 +2,8 @@ %global _desc Build GUI for your Python program with JavaScript, HTML, and CSS. Name: python-%{pypi_name} -Version: 6.1 -Release: 1%?dist +Version: 6.2.1 +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/anda.hcl b/anda/langs/python/ratelimit/anda.hcl new file mode 100644 index 0000000000..95418dd483 --- /dev/null +++ b/anda/langs/python/ratelimit/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "ratelimit.spec" + } +} diff --git a/anda/langs/python/ratelimit/ratelimit.spec b/anda/langs/python/ratelimit/ratelimit.spec new file mode 100644 index 0000000000..f40a95584a --- /dev/null +++ b/anda/langs/python/ratelimit/ratelimit.spec @@ -0,0 +1,45 @@ +%global pypi_name ratelimit +%global _desc API Rate Limit Decorator. + +Name: python-%{pypi_name} +Version: 2.2.1 +Release: 2%?dist +Summary: API Rate Limit Decorator +License: MIT +URL: https://github.com/tomasbasham/ratelimit +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} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE.txt + +%changelog +* Sun Mar 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/ratelimit/update.rhai b/anda/langs/python/ratelimit/update.rhai new file mode 100644 index 0000000000..84cdc8f003 --- /dev/null +++ b/anda/langs/python/ratelimit/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("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/anda.hcl b/anda/langs/python/shippinglabel/anda.hcl new file mode 100644 index 0000000000..fb253269d5 --- /dev/null +++ b/anda/langs/python/shippinglabel/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "shippinglabel.spec" + } +} diff --git a/anda/langs/python/shippinglabel/shippinglabel.spec b/anda/langs/python/shippinglabel/shippinglabel.spec new file mode 100644 index 0000000000..3319adc099 --- /dev/null +++ b/anda/langs/python/shippinglabel/shippinglabel.spec @@ -0,0 +1,45 @@ +%global pypi_name shippinglabel +%global _desc Utilities for handling packages. + +Name: python-%{pypi_name} +Version: 2.3.0 +Release: 2%?dist +Summary: Utilities for handling packages +License: MIT +URL: https://shippinglabel.readthedocs.io/en/latest/ +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-hatch-requirements-txt + +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 shippinglabel + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/shippinglabel/update.rhai b/anda/langs/python/shippinglabel/update.rhai new file mode 100644 index 0000000000..d9a05c619d --- /dev/null +++ b/anda/langs/python/shippinglabel/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("shippinglabel")); diff --git a/anda/langs/python/smbus2/smbus2.spec b/anda/langs/python/smbus2/smbus2.spec index ecc6fb0246..17a0c9ec24 100644 --- a/anda/langs/python/smbus2/smbus2.spec +++ b/anda/langs/python/smbus2/smbus2.spec @@ -2,8 +2,8 @@ %global _desc A drop-in replacement for smbus-cffi/smbus-python in pure Python. Name: python-%{pypi_name} -Version: 0.6.0 -Release: 1%?dist +Version: 0.6.1 +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 64061662c8..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 @@ -40,9 +40,6 @@ Summary: %{summary} %files -n python3-%{pypi_name} -f %{pyproject_files} %doc README.md %license LICENSE -%ghost %python3_sitelib/__pycache__/*.cpython-*.pyc -%ghost %python3_sitelib/%{name}/subcommands/__pycache__/*.cpython-*.pyc -%python3_sitelib/spake2-%version.dist-info/* %changelog * Mon Nov 03 2025 Owen Zimmerman 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/anda.hcl b/anda/langs/python/stable-ts/anda.hcl new file mode 100644 index 0000000000..748ffbba2c --- /dev/null +++ b/anda/langs/python/stable-ts/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "stable-ts.spec" + } +} diff --git a/anda/langs/python/stable-ts/stable-ts.spec b/anda/langs/python/stable-ts/stable-ts.spec new file mode 100644 index 0000000000..b83b5264a3 --- /dev/null +++ b/anda/langs/python/stable-ts/stable-ts.spec @@ -0,0 +1,50 @@ +%global pypi_name stable_ts +%global real_name stable-ts +%global _desc Transcription, forced alignment, and audio indexing with OpenAI's Whisper. + +Name: python-%{real_name} +Version: 2.19.1 +Release: 3%{?dist} +Summary: Transcription, forced alignment, and audio indexing with OpenAI's Whisper +License: MIT +URL: https://github.com/jianfch/stable-ts +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{real_name} +Summary: %{summary} +Obsoletes: python3-%{pypi_name} < %{evr} +%{?python_provide:%python_provide python3-%{real_name}} + +%description -n python3-%{real_name} +%_desc + +%prep +%autosetup -n %{pypi_name}-%{version} +sed -i "s/openai-whisper==20230308/openai-whisper/" setup.py + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files stable_whisper + +%files -n python3-%{real_name} -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/%{real_name} + +%changelog +* Mon May 04 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/stable-ts/update.rhai b/anda/langs/python/stable-ts/update.rhai new file mode 100644 index 0000000000..41e2d84d6f --- /dev/null +++ b/anda/langs/python/stable-ts/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("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 66186f436a..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: 1.5.0 -Release: 1%?dist +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 43f8eba74e..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 @@ -2,8 +2,8 @@ %global _desc Synapse storage provider to fetch and store media in Amazon S3. Name: python-%{pypi_name} -Version: 1.6.0 -Release: 1%?dist +Version: 1.6.1 +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/anda.hcl b/anda/langs/python/tekore/anda.hcl new file mode 100644 index 0000000000..cdfb820b46 --- /dev/null +++ b/anda/langs/python/tekore/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "tekore.spec" + } +} diff --git a/anda/langs/python/tekore/tekore.spec b/anda/langs/python/tekore/tekore.spec new file mode 100644 index 0000000000..a067d13ac1 --- /dev/null +++ b/anda/langs/python/tekore/tekore.spec @@ -0,0 +1,45 @@ +%global pypi_name tekore +%global _desc Spotify Web API client for Python 3. + +Name: python-%{pypi_name} +Version: 6.1.1 +Release: 2%?dist +Summary: Spotify Web API client for Python 3 +License: MIT +URL: https://tekore.readthedocs.io/en/stable/ +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} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %{pypi_name} + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc readme_pypi.rst +%license LICENSE + +%changelog +* Thu Oct 23 2025 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/tekore/update.rhai b/anda/langs/python/tekore/update.rhai new file mode 100644 index 0000000000..5bd0687472 --- /dev/null +++ b/anda/langs/python/tekore/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("tekore")); diff --git a/anda/langs/python/tidalapi/anda.hcl b/anda/langs/python/tidalapi/anda.hcl new file mode 100644 index 0000000000..61c09996d6 --- /dev/null +++ b/anda/langs/python/tidalapi/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "tidalapi.spec" + } +} diff --git a/anda/langs/python/tidalapi/tidalapi.spec b/anda/langs/python/tidalapi/tidalapi.spec new file mode 100644 index 0000000000..52d6ca0b1f --- /dev/null +++ b/anda/langs/python/tidalapi/tidalapi.spec @@ -0,0 +1,46 @@ +%global pypi_name tidalapi +%global _desc Python API for TIDAL music streaming service. + +Name: python-%{pypi_name} +Version: 0.8.11 +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 +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-poetry-core + +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.rst HISTORY.rst +%license LICENSE + +%changelog +* Sun Mar 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/tidalapi/update.rhai b/anda/langs/python/tidalapi/update.rhai new file mode 100644 index 0000000000..558dc53d97 --- /dev/null +++ b/anda/langs/python/tidalapi/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("tidalapi")); diff --git a/anda/langs/python/tokenizers/tokenizers.spec b/anda/langs/python/tokenizers/tokenizers.spec index 63e03995c8..6da107f291 100644 --- a/anda/langs/python/tokenizers/tokenizers.spec +++ b/anda/langs/python/tokenizers/tokenizers.spec @@ -2,8 +2,8 @@ %global _desc Fast State-of-the-Art Tokenizers optimized for Research and Production. Name: python-%{pypi_name} -Version: 0.22.2 -Release: 1%?dist +Version: 0.23.1 +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/anda.hcl b/anda/langs/python/transformers/anda.hcl new file mode 100644 index 0000000000..19dbd51d96 --- /dev/null +++ b/anda/langs/python/transformers/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "transformers.spec" + } +} diff --git a/anda/langs/python/transformers/transformers.spec b/anda/langs/python/transformers/transformers.spec new file mode 100644 index 0000000000..352c38e709 --- /dev/null +++ b/anda/langs/python/transformers/transformers.spec @@ -0,0 +1,50 @@ +%global pypi_name transformers +%global _desc The model-definition framework for state-of-the-art machine learning models. + +Name: python-%{pypi_name} +Version: 5.12.1 +Release: 1%{?dist} +Summary: The model-definition framework for state-of-the-art machine learning models +License: Apache-2.0 +URL: https://huggingface.co/docs/transformers/index +Source0: %{pypi_source} +Patch0: versions.patch +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} -p1 + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files transformers + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.md +%license LICENSE +%{_bindir}/transformers + +%changelog +* Mon May 04 2026 Owen Zimmerman +- Update spec for version 5.7.0 + +* Sat Jan 10 2026 Owen Zimmerman +- Initial commit diff --git a/anda/langs/python/transformers/update.rhai b/anda/langs/python/transformers/update.rhai new file mode 100644 index 0000000000..8ec179c575 --- /dev/null +++ b/anda/langs/python/transformers/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("transformers")); diff --git a/anda/langs/python/transformers/versions.patch b/anda/langs/python/transformers/versions.patch new file mode 100644 index 0000000000..1ab99bd632 --- /dev/null +++ b/anda/langs/python/transformers/versions.patch @@ -0,0 +1,22 @@ +diff --git a/setup.py b/setup.py +index d24f3bb665..0f0a2803a1 100644 +--- a/setup.py ++++ b/setup.py +@@ -86,7 +86,7 @@ _deps = [ + "fugashi>=1.0", + "GitPython<3.1.19", + "hf-doc-builder", +- "huggingface-hub>=1.5.0,<2.0", ++ "huggingface-hub", + "ipadic>=1.0.0,<2.0", + "jinja2>=3.1.0", + "jmespath>=1.0.1", +@@ -147,7 +147,7 @@ _deps = [ + "tomli", + "tiktoken", + "timm>=1.0.23", +- "tokenizers>=0.22.0,<=0.23.0", ++ "tokenizers>=0.22.0", + "torch>=2.4", + "torchaudio", + "torchvision", 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 4347158eaf..75be18120f 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 0e16ea31d2e188fdc126cb31e7c4fcc6b5a8da96 -%global commit_date 20260304 +%global commit cc36aca8beba9fdbc8f59babbfb253d7fc9d03df +%global commit_date 20260628 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global pypi_name types-colorama @@ -7,7 +7,7 @@ Name: python-%{pypi_name} Version: 0~%{commit_date}git.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Typing stubs for colorama License: Apache-2.0 URL: https://github.com/python/typeshed diff --git a/anda/langs/python/upiano/upiano.spec b/anda/langs/python/upiano/upiano.spec index 4345218d4c..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: 1%?dist +Release: 4%?dist Summary: Terminal Piano App License: MIT URL: https://github.com/eliasdorneles/upiano @@ -17,6 +17,8 @@ BuildRequires: python3-setuptools BuildRequires: python3-pip BuildRequires: python3-poetry-core +Requires: fluidsynth + Packager: Owen Zimmerman %description @@ -33,6 +35,9 @@ Summary: %{summary} %autosetup -n upiano-%{version} cp %{SOURCE1} . +%pyproject_patch_dependency pyfluidsynth:drop_constraints +%pyproject_patch_dependency textual:drop_constraints + %build %pyproject_wheel 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/anda.hcl b/anda/langs/python/vulkan/anda.hcl new file mode 100644 index 0000000000..1c563a199c --- /dev/null +++ b/anda/langs/python/vulkan/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "vulkan.spec" + } +} diff --git a/anda/langs/python/vulkan/update.rhai b/anda/langs/python/vulkan/update.rhai new file mode 100644 index 0000000000..e6574d5949 --- /dev/null +++ b/anda/langs/python/vulkan/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("vulkan")); diff --git a/anda/langs/python/vulkan/vulkan.spec b/anda/langs/python/vulkan/vulkan.spec new file mode 100644 index 0000000000..7b89975487 --- /dev/null +++ b/anda/langs/python/vulkan/vulkan.spec @@ -0,0 +1,48 @@ +%define debug_package %{nil} + +%global pypi_name vulkan +%global _desc The ultimate Python binding for Vulkan API. + +Name: python-%{pypi_name} +Version: 1.3.275.1 +Release: 2%{?dist} +Summary: The ultimate Python binding for Vulkan API +License: Apache-2.0 +URL: https://github.com/realitix/vulkan +Source0: %{pypi_source} + +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-devel +BuildRequires: gcc + +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 + +%changelog +* Mon May 04 2026 Owen Zimmerman +- Initial commit 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/anda.hcl b/anda/langs/python/wget/anda.hcl new file mode 100644 index 0000000000..34e120a05f --- /dev/null +++ b/anda/langs/python/wget/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "wget.spec" + } +} diff --git a/anda/langs/python/wget/update.rhai b/anda/langs/python/wget/update.rhai new file mode 100644 index 0000000000..e1b4acd9d8 --- /dev/null +++ b/anda/langs/python/wget/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("wget")); diff --git a/anda/langs/python/wget/wget.spec b/anda/langs/python/wget/wget.spec new file mode 100644 index 0000000000..19887f0671 --- /dev/null +++ b/anda/langs/python/wget/wget.spec @@ -0,0 +1,50 @@ +%global pypi_name wget +%global _desc Pure Python download utility. + +%global commit fdd3a0f8404ccab90f939f9952af139e6c55142a +%global commit_date 20141004 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: python-%{pypi_name} +Version: 3.2 +Release: 2%{?dist} +Summary: Pure Python download utility +License: LicenseRef-Fedora-Public-Domain +URL: https://pypi.org/project/wget/ +Source0: https://github.com/steveej/python-wget/archive/%commit/python-wget-%commit.zip +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-importlib-metadata +BuildRequires: python3-wheel +BuildRequires: python3-setuptools + +Packager: Its-J + +%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 %{name}-%{commit} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files wget + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.txt + +%changelog +* Sun May 24 2026 Its-J +- Initial commit diff --git a/anda/langs/python/whey/anda.hcl b/anda/langs/python/whey/anda.hcl new file mode 100644 index 0000000000..6e5dc6a71f --- /dev/null +++ b/anda/langs/python/whey/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "whey.spec" + } +} diff --git a/anda/langs/python/whey/update.rhai b/anda/langs/python/whey/update.rhai new file mode 100644 index 0000000000..d85c462dce --- /dev/null +++ b/anda/langs/python/whey/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("whey")); diff --git a/anda/langs/python/whey/whey.spec b/anda/langs/python/whey/whey.spec new file mode 100644 index 0000000000..18a8651897 --- /dev/null +++ b/anda/langs/python/whey/whey.spec @@ -0,0 +1,48 @@ +%global pypi_name whey +%global _desc A simple Python wheel builder for simple projects. + +Name: python-%{pypi_name} +Version: 0.1.1 +Release: 2%?dist +Summary: A simple Python wheel builder for simple projects +License: MIT +URL: https://github.com/deepin-community/python-whey +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-build +BuildRequires: python3-setuptools +BuildRequires: python3-wheel +BuildRequires: python3-pip +BuildRequires: python3-devel + +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 whey-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files whey + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%doc README.rst +%license LICENSE +%{_bindir}/whey + +%changelog +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit 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 ea421e2221..9a653ab29c 100644 --- a/anda/langs/python/zipstream-ng/zipstream-ng.spec +++ b/anda/langs/python/zipstream-ng/zipstream-ng.spec @@ -1,9 +1,11 @@ +%global __brp_mangle_shebangs_exclude_from /usr/lib/python3.14/site-packages/zipstream/ + %global pypi_name zipstream-ng %global _desc 🔉 A modern and easy to use streamable zip file generator Name: python-%{pypi_name} -Version: 1.9.0 -Release: 1%?dist +Version: 1.9.2 +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 @@ -14,6 +16,7 @@ BuildRequires: python3-devel BuildRequires: python3-wheel BuildRequires: python3-setuptools BuildRequires: python3-pip +BuildRequires: python3-hatchling Packager: Owen Zimmerman @@ -42,9 +45,6 @@ Provides: zipstream-ng %doc README.md CHANGELOG.md docs/zipserver.rst %license LICENSE %{_bindir}/zipserver -%ghost %python3_sitelib/__pycache__/*.cpython-*.pyc -%ghost %python3_sitelib/%{name}/subcommands/__pycache__/*.cpython-*.pyc -%python3_sitelib/zipstream_ng-%version.dist-info/* %changelog * Mon Nov 03 2025 Owen Zimmerman diff --git a/anda/langs/rust/bacon/rust-bacon.spec b/anda/langs/rust/bacon/rust-bacon.spec index 8472334b82..c8001c067a 100644 --- a/anda/langs/rust/bacon/rust-bacon.spec +++ b/anda/langs/rust/bacon/rust-bacon.spec @@ -5,14 +5,14 @@ %global features "sound,clipboard" Name: rust-bacon -Version: 3.22.0 -Release: 1%?dist +Version: 3.23.0 +Release: 1%{?dist} Summary: Background rust compiler 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..a696aa2884 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.2 +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/anda.hcl b/anda/langs/rust/dysk/anda.hcl new file mode 100644 index 0000000000..92007ff08b --- /dev/null +++ b/anda/langs/rust/dysk/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "rust-dysk.spec" + } +} diff --git a/anda/langs/rust/dysk/rust-dysk.spec b/anda/langs/rust/dysk/rust-dysk.spec new file mode 100644 index 0000000000..bf1f2f226b --- /dev/null +++ b/anda/langs/rust/dysk/rust-dysk.spec @@ -0,0 +1,58 @@ +# Generated by rust2rpm 28 +%bcond check 1 + +%global crate dysk + +Name: rust-dysk +Version: 3.6.1 +Release: 1%{?dist} +Summary: Give information on mounted filesystems + +License: MIT +URL: https://crates.io/crates/dysk +Source: %{terra_crates_source} +Packager: madonuko + +BuildRequires: cargo-rpm-macros >= 24 + +%global _description %{expand: +Give information on mounted filesystems.} + +%description %{_description} + +%package -n %{crate} +URL: https://dystroy.org/dysk +Summary: %{summary} +License: (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 MIT OR Apache-2.0) AND MIT AND (MIT OR Apache-2.0) AND (Unlicense OR MIT) +# LICENSE.dependencies contains a full license breakdown + +%description -n %{crate} %{_description} + +%files -n %{crate} +%license LICENSE +%license LICENSE.dependencies +%doc CHANGELOG.md +%doc CONTRIBUTING.md +%doc README.md +%{_bindir}/dysk + +%prep +%autosetup -n %{crate}-%{version} -p1 +%cargo_prep_online + +%build +%{cargo_license_summary_online} +%{cargo_license_online} > LICENSE.dependencies +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +%cargo_test +%endif + +%changelog +* Thu Mar 05 2026 madonuko - 3.6.0-1 +- Initial package. diff --git a/anda/langs/rust/dysk/update.rhai b/anda/langs/rust/dysk/update.rhai new file mode 100644 index 0000000000..6370e40910 --- /dev/null +++ b/anda/langs/rust/dysk/update.rhai @@ -0,0 +1 @@ +rpm.version(crates("dysk")); 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 0e87d925ef..efa05c15e8 100644 --- a/anda/langs/rust/fresh/fresh.spec +++ b/anda/langs/rust/fresh/fresh.spec @@ -1,8 +1,8 @@ %undefine __brp_mangle_shebangs Name: fresh -Version: 0.2.12 -Release: 1%?dist +Version: 0.4.2 +Release: 1%{?dist} Summary: Text editor for your terminal: easy, powerful and fast URL: https://getfresh.dev Source0: https://github.com/sinelaw/fresh/archive/refs/tags/v%version.tar.gz diff --git a/anda/langs/rust/gitoxide/rust-gitoxide.spec b/anda/langs/rust/gitoxide/rust-gitoxide.spec index bf2ea04a8f..575b1c776f 100644 --- a/anda/langs/rust/gitoxide/rust-gitoxide.spec +++ b/anda/langs/rust/gitoxide/rust-gitoxide.spec @@ -5,15 +5,15 @@ %global crate gitoxide Name: rust-gitoxide -Version: 0.51.0 -Release: 1%?dist +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 +BuildRequires: openssl-devel cmake anda-srpm-macros rust-packaging >= 21 mold %global _description %{expand: A command-line application for interacting with git repositories.} diff --git a/anda/langs/rust/gping/rust-gping.spec b/anda/langs/rust/gping/rust-gping.spec index 09fab69825..c33ae52808 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.4 +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 51fbebd0dd..518f869bc7 100644 --- a/anda/langs/rust/jellyfin-rpc/rust-jellyfin-rpc-cli.spec +++ b/anda/langs/rust/jellyfin-rpc/rust-jellyfin-rpc-cli.spec @@ -5,13 +5,13 @@ %global crate jellyfin-rpc-cli Name: rust-jellyfin-rpc-cli -Version: 1.3.4 -Release: 1%?dist +Version: 1.3.5 +Release: 1%{?dist} 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 73300e87ef..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.6.1 -Release: 1%?dist +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/rnote/rnote.spec b/anda/langs/rust/rnote/rnote.spec index 76092a65d4..780f004ca6 100644 --- a/anda/langs/rust/rnote/rnote.spec +++ b/anda/langs/rust/rnote/rnote.spec @@ -1,8 +1,8 @@ %global rustflags_debuginfo 1 Name: rnote -Version: 0.13.1 -Release: 1%?dist +Version: 0.14.2 +Release: 1%{?dist} Summary: Sketch and take handwritten notes License: GPL-3.0 URL: https://github.com/flxzt/rnote 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 2c2ca896f2..6bd391fe0c 100644 --- a/anda/langs/rust/starship/rust-starship.spec +++ b/anda/langs/rust/starship/rust-starship.spec @@ -4,15 +4,13 @@ %global crate starship Name: rust-starship -Version: 1.24.2 -Release: 1%?dist +Version: 1.26.0 +Release: 1%{?dist} Summary: Minimal, blazing-fast, and infinitely customizable prompt for any shell! ☄🌌️ License: ISC URL: https://crates.io/crates/starship -Source: %{crates_source} -# Automatically generated patch to strip dependencies and normalize metadata -Patch: starship-fix-metadata-auto.diff +Source: %{terra_crates_source} BuildRequires: cargo-rpm-macros >= 24 BuildRequires: anda-srpm-macros diff --git a/anda/langs/rust/starship/starship-fix-metadata-auto.diff b/anda/langs/rust/starship/starship-fix-metadata-auto.diff deleted file mode 100644 index ce9f689d72..0000000000 --- a/anda/langs/rust/starship/starship-fix-metadata-auto.diff +++ /dev/null @@ -1,29 +0,0 @@ ---- a/Cargo.toml 2025-04-27 10:52:14.000000000 -0500 -+++ b/Cargo.toml 2025-04-27 12:39:59.385400385 -0500 -@@ -265,22 +265,6 @@ - ] - default-features = false - --[target."cfg(windows)".dependencies.deelevate] --version = "0.2.0" -- --[target."cfg(windows)".dependencies.windows] --version = "0.61.0" --features = [ -- "Win32_Foundation", -- "Win32_UI_Shell", -- "Win32_Security", -- "Win32_System_Threading", -- "Win32_Storage_FileSystem", --] -- --[target."cfg(windows)".build-dependencies.winres] --version = "0.1.12" -- - [profile.bench] - lto = "thin" - codegen-units = 16 - [dev-dependencies] - mockall = "0.13.1" - tempfile = "3.19.1" - diff --git a/anda/langs/rust/tectonic/rust-tectonic.spec b/anda/langs/rust/tectonic/rust-tectonic.spec index 580e87869b..3a47de0bbd 100644 --- a/anda/langs/rust/tectonic/rust-tectonic.spec +++ b/anda/langs/rust/tectonic/rust-tectonic.spec @@ -4,13 +4,13 @@ %global crate tectonic Name: rust-tectonic -Version: 0.15.0 +Version: 0.16.9 Release: 1%{?dist} 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 d7c5725bcb..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.14.5 -Release: 1%?dist +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 3030046936..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: 2.18.2 -Release: 1%?dist +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 296e08539e..1e60f8f26b 100644 --- a/anda/langs/rust/wild/rust-wild-linker.spec +++ b/anda/langs/rust/wild/rust-wild-linker.spec @@ -4,13 +4,13 @@ %global crate wild-linker Name: rust-wild-linker -Version: 0.8.0 -Release: 1%?dist +Version: 0.9.0 +Release: 1%{?dist} 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/xwayland-satellite/anda.hcl b/anda/langs/rust/xwayland-satellite/anda.hcl deleted file mode 100644 index 08be56162c..0000000000 --- a/anda/langs/rust/xwayland-satellite/anda.hcl +++ /dev/null @@ -1,5 +0,0 @@ -project pkg { - rpm { - spec = "xwayland-satellite.spec" - } -} diff --git a/anda/langs/rust/xwayland-satellite/update.rhai b/anda/langs/rust/xwayland-satellite/update.rhai deleted file mode 100644 index ea68a4030a..0000000000 --- a/anda/langs/rust/xwayland-satellite/update.rhai +++ /dev/null @@ -1 +0,0 @@ -rpm.version(gh("supreeeme/xwayland-satellite")); diff --git a/anda/langs/rust/xwayland-satellite/xwayland-satellite.spec b/anda/langs/rust/xwayland-satellite/xwayland-satellite.spec deleted file mode 100644 index dc538c7137..0000000000 --- a/anda/langs/rust/xwayland-satellite/xwayland-satellite.spec +++ /dev/null @@ -1,32 +0,0 @@ -Name: xwayland-satellite -Version: 0.8.1 -Release: 1%?dist -Summary: Xwayland outside your Wayland. -License: MPL-2.0 -URL: https://github.com/supreeeme/xwayland-satellite -Source0: %url/archive/refs/tags/v%version.tar.gz -BuildRequires: anda-srpm-macros cargo-rpm-macros mold -BuildRequires: pkgconfig(xcb) -BuildRequires: xcb-util-cursor-devel -BuildRequires: clang-devel - -%description -xwayland-satellite grants rootless Xwayland integration to any Wayland -compositor implementing xdg_wm_base. This is particularly useful for -compositors that (understandably) do not want to go through implementing -support for rootless Xwayland themselves. - -%prep -%autosetup -%cargo_prep_online - -%build -%cargo_build - -%install -%cargo_install - -%files -%doc README.md -%license LICENSE -%_bindir/xwayland-satellite diff --git a/anda/langs/rust/yazi/yazi.spec b/anda/langs/rust/yazi/yazi.spec index c19630dbb9..a1c4e59321 100644 --- a/anda/langs/rust/yazi/yazi.spec +++ b/anda/langs/rust/yazi/yazi.spec @@ -1,8 +1,8 @@ %undefine __brp_mangle_shebangs Name: yazi -Version: 26.1.22 -Release: 2%?dist +Version: 26.5.6 +Release: 1%{?dist} Summary: Blazing fast terminal file manager written in Rust, based on async I/O URL: https://yazi-rs.github.io/ Source0: https://github.com/sxyazi/yazi/archive/refs/tags/v%version.tar.gz 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 a5d0da32c4..aef0b8ae65 100644 --- a/anda/langs/rust/zellij/rust-zellij.spec +++ b/anda/langs/rust/zellij/rust-zellij.spec @@ -5,13 +5,13 @@ %global crate zellij Name: rust-zellij -Version: 0.43.1 -Release: 1%?dist +Version: 0.44.3 +Release: 1%{?dist} 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/anda.hcl b/anda/langs/rust/zoi/anda.hcl index fa1c2c3a2b..566c999b68 100644 --- a/anda/langs/rust/zoi/anda.hcl +++ b/anda/langs/rust/zoi/anda.hcl @@ -2,4 +2,7 @@ project pkg { rpm { spec = "rust-zoi-rs.spec" } + labels { + sccache = 0 + } } diff --git a/anda/langs/rust/zoi/rust-zoi-rs.spec b/anda/langs/rust/zoi/rust-zoi-rs.spec index 3c3eff6b00..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.7.0 +%global crate_version 1.18.6 Name: rust-zoi-rs Version: %(echo %crate_version | sed 's/-/~/g') @@ -10,9 +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}} -# Automatically generated patch to strip dependencies and normalize metadata -Patch: zoi-rs-fix-metadata-auto.diff +Source: https://static.crates.io/crates/%{crate}/%{crate}-%{crate_version}.crate BuildRequires: cargo BuildRequires: gcc-c++ BuildRequires: rpm_macro(cargo_install) @@ -49,12 +47,14 @@ Requires: git %doc RELEASE.md %doc SECURITY.md %{_bindir}/zoi +%{_bindir}/zoi-mini %pkg_completion -Befz zoi -n %{crate} %package devel Summary: %{summary} BuildArch: noarch +Requires: %{name}-%{crate} = %{evr} %description devel %{_description} @@ -62,18 +62,12 @@ This package contains library source intended for building other packages which use the "%{crate}" crate. %files devel -%license %{crate_instdir}/LICENSE -%doc %{crate_instdir}/CHANGELOG.md -%doc %{crate_instdir}/CODE_OF_CONDUCT.md -%doc %{crate_instdir}/PACKAGING.md -%doc %{crate_instdir}/README.md -%doc %{crate_instdir}/RELEASE.md -%doc %{crate_instdir}/SECURITY.md %{crate_instdir}/ %package -n %{name}+default-devel Summary: %{summary} BuildArch: noarch +Requires: %{name}-%{crate} = %{evr} %description -n %{name}+default-devel %{_description} diff --git a/anda/langs/rust/zoi/zoi-rs-fix-metadata-auto.diff b/anda/langs/rust/zoi/zoi-rs-fix-metadata-auto.diff deleted file mode 100644 index 1d59e54d5b..0000000000 --- a/anda/langs/rust/zoi/zoi-rs-fix-metadata-auto.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- zoi-rs-1.3.1/Cargo.toml 1970-01-01T00:00:01+00:00 -+++ zoi-rs-1.3.1/Cargo.toml 2025-10-31T16:56:25.441725+00:00 -@@ -223,9 +223,7 @@ - [build-dependencies.dotenvy] - version = "0.15.7" - --[target."cfg(windows)".dependencies.winreg] --version = "0.55.0" -- - [lints.clippy] - too_many_arguments = "allow" - type_complexity = "allow" -+ 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 e131cb14eb..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 @@ -1,20 +1,20 @@ %global real_name vala-language-server -%global commit c66ce433375815fb65d3aefddf68122817c0073d +%global commit 8fab39f867a15dc3f1d24bc0ae455f6e019230bd %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20250927 +%global commit_date 20260508 %global snapshot_info %{commit_date}.%{shortcommit} %global verrel 0.48.7 Name: vala-language-server-nightly Summary: Language server for the Vala programming language Version: 0.48.7^%{snapshot_info} -Release: 1%?dist +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 0bad6c77c3..1c7c3c33e4 100644 --- a/anda/langs/vala/vala-nightly/vala-nightly.spec +++ b/anda/langs/vala/vala-nightly/vala-nightly.spec @@ -3,16 +3,16 @@ %global priority 90 %global real_name vala -%global commit 4c34f90a5bdaa1c5bffd9540602d5099c35e41d5 +%global commit c5d31b3fcdb9d564dc3340714a129f72a072391f %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global repo https://gitlab.gnome.org/GNOME/%{real_name}.git -%global commit_date 20260304 +%global commit_date 20260528 %global snapshot_info %{commit_date}.%{shortcommit} Name: vala-nightly Version: 0.58.0^%{snapshot_info} -Release: 1%?dist +Release: 1%{?dist} Summary: A modern programming language for GNOME # Most files are LGPLv2.1+, curses.vapi is 2-clause BSD @@ -138,12 +138,15 @@ cd %{real_name}-%{commit} git checkout %{commit} -%build +%conf cd %{real_name}-%{commit} ./autogen.sh --help %configure # Don't use rpath! sed -i 's|/lib /usr/lib|/lib /usr/lib /lib64 /usr/lib64|' libtool + +%build +cd %{real_name}-%{commit} %make_build %install diff --git a/anda/langs/zig/bootstrap/0000-remove-native-lib-directories-from-rpath.patch b/anda/langs/zig/bootstrap/0000-remove-native-lib-directories-from-rpath.patch index 034d8ed0f3..24db5827b6 100644 --- a/anda/langs/zig/bootstrap/0000-remove-native-lib-directories-from-rpath.patch +++ b/anda/langs/zig/bootstrap/0000-remove-native-lib-directories-from-rpath.patch @@ -1,6 +1,18 @@ ---- a/src/main.zig 2025-12-27 19:19:30.000000000 -0600 -+++ b/src/main.zig 2025-12-31 08:25:12.962257290 -0600 -@@ -3998,6 +3998,15 @@ +From a865b3569ace118cc1c1cd8d5d130ec316b0307d Mon Sep 17 00:00:00 2001 +From: Jan200101 +Date: Tue, 14 Apr 2026 19:04:40 +0200 +Subject: [PATCH 1/2] remove native lib directories from rpath + +Signed-off-by: Jan200101 +--- + src/main.zig | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/main.zig b/src/main.zig +index 0395a21a5f..86b6d9f86b 100644 +--- a/src/main.zig ++++ b/src/main.zig +@@ -4102,6 +4102,15 @@ fn createModule( try create_module.lib_directories.ensureUnusedCapacity(arena, paths.lib_dirs.items.len); for (paths.lib_dirs.items) |path| addLibDirectoryWarn2(io, &create_module.lib_directories, path, true); @@ -16,3 +28,6 @@ } if (create_module.libc_paths_file) |paths_file| { +-- +2.53.0 + diff --git a/anda/langs/zig/bootstrap/0001-Remove-unsupported-LLVM-targets-for-EPEL.patch b/anda/langs/zig/bootstrap/0001-Remove-unsupported-LLVM-targets-for-EPEL.patch new file mode 100644 index 0000000000..a8b942f129 --- /dev/null +++ b/anda/langs/zig/bootstrap/0001-Remove-unsupported-LLVM-targets-for-EPEL.patch @@ -0,0 +1,254 @@ +From 803935baf6a4730426afbb746adfd00c0ffc0f39 Mon Sep 17 00:00:00 2001 +From: Jan200101 +Date: Tue, 14 Apr 2026 19:20:26 +0200 +Subject: [PATCH 2/2] Remove unsupported LLVM targets for RHEL + +LLVM for RHEL is only build with a subset of targets +this blocks zig at the configuration stage. +This commit simply swaps them out with the one from +https://src.fedoraproject.org/rpms/llvm/blob/rawhide/f/llvm.spec + +Signed-off-by: Jan200101 +--- + cmake/Findllvm.cmake | 2 +- + src/codegen/llvm.zig | 97 ++++++++++---------------------------------- + src/target.zig | 43 +++++++++++--------- + 3 files changed, 45 insertions(+), 97 deletions(-) + +diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake +index 0c08d4f0ac..ed4da12044 100644 +--- a/cmake/Findllvm.cmake ++++ b/cmake/Findllvm.cmake +@@ -83,7 +83,7 @@ if(ZIG_USE_LLVM_CONFIG) + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}") + +- set(ZIG_LLVM_REQUIRED_TARGETS "AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;LoongArch;Mips;MSP430;NVPTX;PowerPC;RISCV;SPIRV;Sparc;SystemZ;VE;WebAssembly;X86;XCore") ++ set(ZIG_LLVM_REQUIRED_TARGETS "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;BPF;WebAssembly;RISCV") + + set(ZIG_LLVM_REQUIRED_TARGETS_ENABLED TRUE) + foreach(TARGET_NAME IN LISTS ZIG_LLVM_REQUIRED_TARGETS) +diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig +index 1ba3b272da..1ac1f6adc8 100644 +--- a/src/codegen/llvm.zig ++++ b/src/codegen/llvm.zig +@@ -4736,20 +4736,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeAMDGPUAsmPrinter(); + bindings.LLVMInitializeAMDGPUAsmParser(); + }, +- .thumb, .thumbeb, .arm, .armeb => { +- bindings.LLVMInitializeARMTarget(); +- bindings.LLVMInitializeARMTargetInfo(); +- bindings.LLVMInitializeARMTargetMC(); +- bindings.LLVMInitializeARMAsmPrinter(); +- bindings.LLVMInitializeARMAsmParser(); +- }, +- .avr => { +- bindings.LLVMInitializeAVRTarget(); +- bindings.LLVMInitializeAVRTargetInfo(); +- bindings.LLVMInitializeAVRTargetMC(); +- bindings.LLVMInitializeAVRAsmPrinter(); +- bindings.LLVMInitializeAVRAsmParser(); +- }, + .bpfel, .bpfeb => { + bindings.LLVMInitializeBPFTarget(); + bindings.LLVMInitializeBPFTargetInfo(); +@@ -4757,34 +4743,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeBPFAsmPrinter(); + bindings.LLVMInitializeBPFAsmParser(); + }, +- .hexagon => { +- bindings.LLVMInitializeHexagonTarget(); +- bindings.LLVMInitializeHexagonTargetInfo(); +- bindings.LLVMInitializeHexagonTargetMC(); +- bindings.LLVMInitializeHexagonAsmPrinter(); +- bindings.LLVMInitializeHexagonAsmParser(); +- }, +- .lanai => { +- bindings.LLVMInitializeLanaiTarget(); +- bindings.LLVMInitializeLanaiTargetInfo(); +- bindings.LLVMInitializeLanaiTargetMC(); +- bindings.LLVMInitializeLanaiAsmPrinter(); +- bindings.LLVMInitializeLanaiAsmParser(); +- }, +- .mips, .mipsel, .mips64, .mips64el => { +- bindings.LLVMInitializeMipsTarget(); +- bindings.LLVMInitializeMipsTargetInfo(); +- bindings.LLVMInitializeMipsTargetMC(); +- bindings.LLVMInitializeMipsAsmPrinter(); +- bindings.LLVMInitializeMipsAsmParser(); +- }, +- .msp430 => { +- bindings.LLVMInitializeMSP430Target(); +- bindings.LLVMInitializeMSP430TargetInfo(); +- bindings.LLVMInitializeMSP430TargetMC(); +- bindings.LLVMInitializeMSP430AsmPrinter(); +- bindings.LLVMInitializeMSP430AsmParser(); +- }, + .nvptx, .nvptx64 => { + bindings.LLVMInitializeNVPTXTarget(); + bindings.LLVMInitializeNVPTXTargetInfo(); +@@ -4806,13 +4764,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeRISCVAsmPrinter(); + bindings.LLVMInitializeRISCVAsmParser(); + }, +- .sparc, .sparc64 => { +- bindings.LLVMInitializeSparcTarget(); +- bindings.LLVMInitializeSparcTargetInfo(); +- bindings.LLVMInitializeSparcTargetMC(); +- bindings.LLVMInitializeSparcAsmPrinter(); +- bindings.LLVMInitializeSparcAsmParser(); +- }, + .s390x => { + bindings.LLVMInitializeSystemZTarget(); + bindings.LLVMInitializeSystemZTargetInfo(); +@@ -4843,13 +4794,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeXtensaAsmParser(); + } + }, +- .xcore => { +- bindings.LLVMInitializeXCoreTarget(); +- bindings.LLVMInitializeXCoreTargetInfo(); +- bindings.LLVMInitializeXCoreTargetMC(); +- bindings.LLVMInitializeXCoreAsmPrinter(); +- // There is no LLVMInitializeXCoreAsmParser function. +- }, + .m68k => { + if (build_options.llvm_has_m68k) { + bindings.LLVMInitializeM68kTarget(); +@@ -4868,13 +4812,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeCSKYAsmParser(); + } + }, +- .ve => { +- bindings.LLVMInitializeVETarget(); +- bindings.LLVMInitializeVETargetInfo(); +- bindings.LLVMInitializeVETargetMC(); +- bindings.LLVMInitializeVEAsmPrinter(); +- bindings.LLVMInitializeVEAsmParser(); +- }, + .arc => { + if (build_options.llvm_has_arc) { + bindings.LLVMInitializeARCTarget(); +@@ -4884,21 +4821,29 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + // There is no LLVMInitializeARCAsmParser function. + } + }, +- .loongarch32, .loongarch64 => { +- bindings.LLVMInitializeLoongArchTarget(); +- bindings.LLVMInitializeLoongArchTargetInfo(); +- bindings.LLVMInitializeLoongArchTargetMC(); +- bindings.LLVMInitializeLoongArchAsmPrinter(); +- bindings.LLVMInitializeLoongArchAsmParser(); +- }, ++ ++ // Disabled LLVM targets ++ .thumb, ++ .thumbeb, ++ .arm, ++ .armeb, ++ .avr, ++ .hexagon, ++ .lanai, ++ .mips, ++ .mipsel, ++ .mips64, ++ .mips64el, ++ .msp430, ++ .sparc, ++ .sparc64, ++ .xcore, ++ .ve, ++ .loongarch32, ++ .loongarch64, + .spirv32, + .spirv64, +- => { +- bindings.LLVMInitializeSPIRVTarget(); +- bindings.LLVMInitializeSPIRVTargetInfo(); +- bindings.LLVMInitializeSPIRVTargetMC(); +- bindings.LLVMInitializeSPIRVAsmPrinter(); +- }, ++ => unreachable, + + // LLVM does does not have a backend for these. + .alpha, +diff --git a/src/target.zig b/src/target.zig +index 3d04c06f5e..9e19836815 100644 +--- a/src/target.zig ++++ b/src/target.zig +@@ -185,23 +185,12 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) + } + + return switch (target.cpu.arch) { +- .arm, +- .armeb, + .aarch64, + .aarch64_be, + .arc, +- .avr, + .bpfel, + .bpfeb, +- .hexagon, +- .loongarch32, +- .loongarch64, + .m68k, +- .mips, +- .mipsel, +- .mips64, +- .mips64el, +- .msp430, + .powerpc, + .powerpcle, + .powerpc64, +@@ -211,24 +200,38 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) + .riscv32be, + .riscv64, + .riscv64be, +- .sparc, +- .sparc64, +- .spirv32, +- .spirv64, + .s390x, +- .thumb, +- .thumbeb, + .x86, + .x86_64, +- .xcore, + .nvptx, + .nvptx64, +- .lanai, + .wasm32, + .wasm64, +- .ve, + => true, + ++ // Disabled LLVM targets ++ .thumb, ++ .thumbeb, ++ .arm, ++ .armeb, ++ .avr, ++ .hexagon, ++ .lanai, ++ .mips, ++ .mipsel, ++ .mips64, ++ .mips64el, ++ .msp430, ++ .sparc, ++ .sparc64, ++ .xcore, ++ .ve, ++ .loongarch32, ++ .loongarch64, ++ .spirv32, ++ .spirv64, ++ => false, ++ + // LLVM backend exists but can produce neither assembly nor object files. + .csky, + .xtensa, +-- +2.53.0 + diff --git a/anda/langs/zig/bootstrap/setup.sh b/anda/langs/zig/bootstrap/setup.sh index f92dfcda8a..666146d987 100755 --- a/anda/langs/zig/bootstrap/setup.sh +++ b/anda/langs/zig/bootstrap/setup.sh @@ -1,6 +1,6 @@ #!/usr/bin/bash -version=0.16.0-dev.2694+74f361a5c +version=0.17.0-dev.1099+7db2ef610 mirrors=() @@ -21,8 +21,8 @@ if [ "$1" == "fetch" ]; then randomize_mirrors done echo -e "\033[0;32mNote:\033[0m Selected mirror $mirror" - curl -A "rpmdev-spectool" -H "Accept-Encoding: identity" -O ${mirror}/zig-${version}.tar.xz?source=terra.fyralabs.com - curl -A "rpmdev-spectool" -H "Accept-Encoding: identity" -O ${mirror}/zig-${version}.tar.xz.minisig?source=terra.fyralabs.com + curl -A "rpmdev-spectool" -H "Accept-Encoding: identity" -O ${mirror}/zig-${version}.tar.xz?source=terrapkg.com + curl -A "rpmdev-spectool" -H "Accept-Encoding: identity" -O ${mirror}/zig-${version}.tar.xz.minisig?source=terrapkg.com elif [ "$1" == "version" ]; then echo $version # Grab a random mirror. For debugging purposes. diff --git a/anda/langs/zig/bootstrap/update.rhai b/anda/langs/zig/bootstrap/update.rhai index 51ab4017b1..ddbcbc1d86 100644 --- a/anda/langs/zig/bootstrap/update.rhai +++ b/anda/langs/zig/bootstrap/update.rhai @@ -8,4 +8,10 @@ if rpm.changed() { // Update the Zig version in the script let dir = sub(`/[^/]+$`, "", __script_path); sh(`sed -i 's|version=.*|version=${v}|' setup.sh`, #{ "cwd": dir }); + // Update the needed LLVM version + let rawfile = codeberg_rawfile("ziglang/zig", "master", "README.md"); + let l = find(`releases\.llvm\.org/download\.html#([\d.]+)`, rawfile, 1); + rpm.global("llvm_version", l); + l.truncate(2); + rpm.define("llvm_compat", l); } diff --git a/anda/langs/zig/bootstrap/zig-master-bootstrap.spec b/anda/langs/zig/bootstrap/zig-master-bootstrap.spec index 4e027def5e..e33a3565cb 100644 --- a/anda/langs/zig/bootstrap/zig-master-bootstrap.spec +++ b/anda/langs/zig/bootstrap/zig-master-bootstrap.spec @@ -2,15 +2,20 @@ %global zig_arches x86_64 aarch64 riscv64 %{mips64} # Signing key from https://ziglang.org/download/ %global public_key RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U -# Not needed yet -%if 0%{?fedora} >= 42 || 0%{?rhel} >= 9 -%define llvm_compat 20 +%if 0%{?fedora} >= 46 +%define llvm_compat 22 %endif -%global llvm_version 20.0.0 -%global ver 0.16.0-dev.2694+74f361a5c +%global llvm_version 22.0.0 +%global ver 0.17.0-dev.1099+7db2ef610 %bcond bootstrap 1 %bcond docs %{without bootstrap} %bcond test 1 +# GCC < 16.0 miscompiles on RISC-V +%ifarch riscv64 +%if 0%{?fedora} < 44 +%global toolchain clang +%endif +%endif %global archive_name zig-%{ver}.tar.xz %global zig_cache_dir %{builddir}/zig-cache %global zig_build_options %{shrink: \ @@ -40,20 +45,27 @@ Name: zig-master Version: %(echo %{ver} | sed 's/-/~/g') -Release: 1%?dist +Release: 1%{?dist} Summary: Bootstrapped build of Zig from master. 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 URL: https://ziglang.org Source0: %{archive_name} Source1: %{archive_name}.minisig Patch0: 0000-remove-native-lib-directories-from-rpath.patch +%if %{defined rhel} +Patch1: 0001-Remove-unsupported-LLVM-targets-for-EPEL.patch +%endif BuildRequires: cmake +%if %["%{toolchain}" == "clang"] +BuildRequires: clang +%else BuildRequires: gcc BuildRequires: gcc-c++ +%endif BuildRequires: libxml2-devel -BuildRequires: llvm-devel -BuildRequires: clang-devel -BuildRequires: lld-devel +BuildRequires: llvm%{?llvm_compat}-devel +BuildRequires: clang%{?llvm_compat}-devel +BuildRequires: lld%{?llvm_compat}-devel BuildRequires: zlib-devel # for man page generation BuildRequires: help2man @@ -73,7 +85,7 @@ Requires: %{name}-libs = %{version} # Apache-2.0 WITH LLVM-exception OR NCSA OR MIT Provides: bundled(compiler-rt) = %{llvm_version} # LGPL-2.1-or-later AND SunPro AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later WITH GNU-compiler-exception AND GPL-2.0-only AND ISC AND LicenseRef-Fedora-Public-Domain AND HPND AND CMU-Mach AND LGPL-2.0-or-later AND Unicode-3.0 AND GFDL-1.1-or-later AND GPL-1.0-or-later AND FSFUL AND MIT AND Inner-Net-2.0 AND X11 AND GPL-2.0-or-later WITH GCC-exception-2.0 AND GFDL-1.3-only AND GFDL-1.1-only -Provides: bundled(glibc) = 2.41 +Provides: bundled(glibc) = 2.43 # Apache-2.0 WITH LLVM-exception OR MIT OR NCSA Provides: bundled(libcxx) = %{llvm_version} # Apache-2.0 WITH LLVM-exception OR MIT OR NCSA @@ -112,7 +124,11 @@ Zig Standard Library rm -f stage1/zig1.wasm %endif -%build +%conf +# Force the correct LLVM version +%if %{defined llvm_compat} +export LLVM_DIR=%{_libdir}/llvm%{?llvm_compat}/%{_lib}/cmake +%endif # zig doesn't know how to dynamically link llvm on its own so we need cmake to generate a header ahead of time # if we provide the header we need to also build zigcpp @@ -123,7 +139,7 @@ rm -f stage1/zig1.wasm -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="-DNDEBUG -Wno-unused" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-DNDEBUG -Wno-unused" \ \ - -DZIG_EXTRA_BUILD_ARGS:STRING="--verbose;--build-id=sha1" \ + -DZIG_EXTRA_BUILD_ARGS:STRING="--verbose;--build-id=sha1;-Dno-langref=true" \ -DZIG_SHARED_LLVM:BOOL=true \ -DZIG_PIE:BOOL=true \ \ @@ -132,6 +148,7 @@ rm -f stage1/zig1.wasm \ -DZIG_VERSION:STRING="%(v=%{ver}; echo ${v:0:6})" +%build %if %{with bootstrap} %cmake_build --target stage3 %else @@ -149,14 +166,16 @@ help2man --no-discard-stderr --no-info "./zig-out/bin/zig" --version-option=vers # Zig has an extremely annoying issue with transitive failures when trying to build the docs, retry until it succeeds max=3 attempt=1 -while ./zig-out/bin/zig build docs \ +while + ./zig-out/bin/zig build docs \ --verbose \ --global-cache-dir "%{zig_cache_dir}" \ - -Dversion-string="%(v=%{ver}; echo ${v:0:6})"; [[ $? -ne 0 ]]; + -Dversion-string="%(v=%{ver}; echo ${v:0:6})" + [[ $? != 0 ]] do - echo "Transitive failure. Trying again." + echo "Transitive failure. Trying again." >&2 - if [[ $attempt -eq $max ]] + if [[ $attempt == $max ]] then break fi diff --git a/anda/langs/zig/master/0000-remove-native-lib-directories-from-rpath.patch b/anda/langs/zig/master/0000-remove-native-lib-directories-from-rpath.patch index 034d8ed0f3..24db5827b6 100644 --- a/anda/langs/zig/master/0000-remove-native-lib-directories-from-rpath.patch +++ b/anda/langs/zig/master/0000-remove-native-lib-directories-from-rpath.patch @@ -1,6 +1,18 @@ ---- a/src/main.zig 2025-12-27 19:19:30.000000000 -0600 -+++ b/src/main.zig 2025-12-31 08:25:12.962257290 -0600 -@@ -3998,6 +3998,15 @@ +From a865b3569ace118cc1c1cd8d5d130ec316b0307d Mon Sep 17 00:00:00 2001 +From: Jan200101 +Date: Tue, 14 Apr 2026 19:04:40 +0200 +Subject: [PATCH 1/2] remove native lib directories from rpath + +Signed-off-by: Jan200101 +--- + src/main.zig | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/main.zig b/src/main.zig +index 0395a21a5f..86b6d9f86b 100644 +--- a/src/main.zig ++++ b/src/main.zig +@@ -4102,6 +4102,15 @@ fn createModule( try create_module.lib_directories.ensureUnusedCapacity(arena, paths.lib_dirs.items.len); for (paths.lib_dirs.items) |path| addLibDirectoryWarn2(io, &create_module.lib_directories, path, true); @@ -16,3 +28,6 @@ } if (create_module.libc_paths_file) |paths_file| { +-- +2.53.0 + diff --git a/anda/langs/zig/master/0001-Remove-unsupported-LLVM-targets-for-EPEL.patch b/anda/langs/zig/master/0001-Remove-unsupported-LLVM-targets-for-EPEL.patch new file mode 100644 index 0000000000..a8b942f129 --- /dev/null +++ b/anda/langs/zig/master/0001-Remove-unsupported-LLVM-targets-for-EPEL.patch @@ -0,0 +1,254 @@ +From 803935baf6a4730426afbb746adfd00c0ffc0f39 Mon Sep 17 00:00:00 2001 +From: Jan200101 +Date: Tue, 14 Apr 2026 19:20:26 +0200 +Subject: [PATCH 2/2] Remove unsupported LLVM targets for RHEL + +LLVM for RHEL is only build with a subset of targets +this blocks zig at the configuration stage. +This commit simply swaps them out with the one from +https://src.fedoraproject.org/rpms/llvm/blob/rawhide/f/llvm.spec + +Signed-off-by: Jan200101 +--- + cmake/Findllvm.cmake | 2 +- + src/codegen/llvm.zig | 97 ++++++++++---------------------------------- + src/target.zig | 43 +++++++++++--------- + 3 files changed, 45 insertions(+), 97 deletions(-) + +diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake +index 0c08d4f0ac..ed4da12044 100644 +--- a/cmake/Findllvm.cmake ++++ b/cmake/Findllvm.cmake +@@ -83,7 +83,7 @@ if(ZIG_USE_LLVM_CONFIG) + OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}") + +- set(ZIG_LLVM_REQUIRED_TARGETS "AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;LoongArch;Mips;MSP430;NVPTX;PowerPC;RISCV;SPIRV;Sparc;SystemZ;VE;WebAssembly;X86;XCore") ++ set(ZIG_LLVM_REQUIRED_TARGETS "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;BPF;WebAssembly;RISCV") + + set(ZIG_LLVM_REQUIRED_TARGETS_ENABLED TRUE) + foreach(TARGET_NAME IN LISTS ZIG_LLVM_REQUIRED_TARGETS) +diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig +index 1ba3b272da..1ac1f6adc8 100644 +--- a/src/codegen/llvm.zig ++++ b/src/codegen/llvm.zig +@@ -4736,20 +4736,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeAMDGPUAsmPrinter(); + bindings.LLVMInitializeAMDGPUAsmParser(); + }, +- .thumb, .thumbeb, .arm, .armeb => { +- bindings.LLVMInitializeARMTarget(); +- bindings.LLVMInitializeARMTargetInfo(); +- bindings.LLVMInitializeARMTargetMC(); +- bindings.LLVMInitializeARMAsmPrinter(); +- bindings.LLVMInitializeARMAsmParser(); +- }, +- .avr => { +- bindings.LLVMInitializeAVRTarget(); +- bindings.LLVMInitializeAVRTargetInfo(); +- bindings.LLVMInitializeAVRTargetMC(); +- bindings.LLVMInitializeAVRAsmPrinter(); +- bindings.LLVMInitializeAVRAsmParser(); +- }, + .bpfel, .bpfeb => { + bindings.LLVMInitializeBPFTarget(); + bindings.LLVMInitializeBPFTargetInfo(); +@@ -4757,34 +4743,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeBPFAsmPrinter(); + bindings.LLVMInitializeBPFAsmParser(); + }, +- .hexagon => { +- bindings.LLVMInitializeHexagonTarget(); +- bindings.LLVMInitializeHexagonTargetInfo(); +- bindings.LLVMInitializeHexagonTargetMC(); +- bindings.LLVMInitializeHexagonAsmPrinter(); +- bindings.LLVMInitializeHexagonAsmParser(); +- }, +- .lanai => { +- bindings.LLVMInitializeLanaiTarget(); +- bindings.LLVMInitializeLanaiTargetInfo(); +- bindings.LLVMInitializeLanaiTargetMC(); +- bindings.LLVMInitializeLanaiAsmPrinter(); +- bindings.LLVMInitializeLanaiAsmParser(); +- }, +- .mips, .mipsel, .mips64, .mips64el => { +- bindings.LLVMInitializeMipsTarget(); +- bindings.LLVMInitializeMipsTargetInfo(); +- bindings.LLVMInitializeMipsTargetMC(); +- bindings.LLVMInitializeMipsAsmPrinter(); +- bindings.LLVMInitializeMipsAsmParser(); +- }, +- .msp430 => { +- bindings.LLVMInitializeMSP430Target(); +- bindings.LLVMInitializeMSP430TargetInfo(); +- bindings.LLVMInitializeMSP430TargetMC(); +- bindings.LLVMInitializeMSP430AsmPrinter(); +- bindings.LLVMInitializeMSP430AsmParser(); +- }, + .nvptx, .nvptx64 => { + bindings.LLVMInitializeNVPTXTarget(); + bindings.LLVMInitializeNVPTXTargetInfo(); +@@ -4806,13 +4764,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeRISCVAsmPrinter(); + bindings.LLVMInitializeRISCVAsmParser(); + }, +- .sparc, .sparc64 => { +- bindings.LLVMInitializeSparcTarget(); +- bindings.LLVMInitializeSparcTargetInfo(); +- bindings.LLVMInitializeSparcTargetMC(); +- bindings.LLVMInitializeSparcAsmPrinter(); +- bindings.LLVMInitializeSparcAsmParser(); +- }, + .s390x => { + bindings.LLVMInitializeSystemZTarget(); + bindings.LLVMInitializeSystemZTargetInfo(); +@@ -4843,13 +4794,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeXtensaAsmParser(); + } + }, +- .xcore => { +- bindings.LLVMInitializeXCoreTarget(); +- bindings.LLVMInitializeXCoreTargetInfo(); +- bindings.LLVMInitializeXCoreTargetMC(); +- bindings.LLVMInitializeXCoreAsmPrinter(); +- // There is no LLVMInitializeXCoreAsmParser function. +- }, + .m68k => { + if (build_options.llvm_has_m68k) { + bindings.LLVMInitializeM68kTarget(); +@@ -4868,13 +4812,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + bindings.LLVMInitializeCSKYAsmParser(); + } + }, +- .ve => { +- bindings.LLVMInitializeVETarget(); +- bindings.LLVMInitializeVETargetInfo(); +- bindings.LLVMInitializeVETargetMC(); +- bindings.LLVMInitializeVEAsmPrinter(); +- bindings.LLVMInitializeVEAsmParser(); +- }, + .arc => { + if (build_options.llvm_has_arc) { + bindings.LLVMInitializeARCTarget(); +@@ -4884,21 +4821,29 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + // There is no LLVMInitializeARCAsmParser function. + } + }, +- .loongarch32, .loongarch64 => { +- bindings.LLVMInitializeLoongArchTarget(); +- bindings.LLVMInitializeLoongArchTargetInfo(); +- bindings.LLVMInitializeLoongArchTargetMC(); +- bindings.LLVMInitializeLoongArchAsmPrinter(); +- bindings.LLVMInitializeLoongArchAsmParser(); +- }, ++ ++ // Disabled LLVM targets ++ .thumb, ++ .thumbeb, ++ .arm, ++ .armeb, ++ .avr, ++ .hexagon, ++ .lanai, ++ .mips, ++ .mipsel, ++ .mips64, ++ .mips64el, ++ .msp430, ++ .sparc, ++ .sparc64, ++ .xcore, ++ .ve, ++ .loongarch32, ++ .loongarch64, + .spirv32, + .spirv64, +- => { +- bindings.LLVMInitializeSPIRVTarget(); +- bindings.LLVMInitializeSPIRVTargetInfo(); +- bindings.LLVMInitializeSPIRVTargetMC(); +- bindings.LLVMInitializeSPIRVAsmPrinter(); +- }, ++ => unreachable, + + // LLVM does does not have a backend for these. + .alpha, +diff --git a/src/target.zig b/src/target.zig +index 3d04c06f5e..9e19836815 100644 +--- a/src/target.zig ++++ b/src/target.zig +@@ -185,23 +185,12 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) + } + + return switch (target.cpu.arch) { +- .arm, +- .armeb, + .aarch64, + .aarch64_be, + .arc, +- .avr, + .bpfel, + .bpfeb, +- .hexagon, +- .loongarch32, +- .loongarch64, + .m68k, +- .mips, +- .mipsel, +- .mips64, +- .mips64el, +- .msp430, + .powerpc, + .powerpcle, + .powerpc64, +@@ -211,24 +200,38 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) + .riscv32be, + .riscv64, + .riscv64be, +- .sparc, +- .sparc64, +- .spirv32, +- .spirv64, + .s390x, +- .thumb, +- .thumbeb, + .x86, + .x86_64, +- .xcore, + .nvptx, + .nvptx64, +- .lanai, + .wasm32, + .wasm64, +- .ve, + => true, + ++ // Disabled LLVM targets ++ .thumb, ++ .thumbeb, ++ .arm, ++ .armeb, ++ .avr, ++ .hexagon, ++ .lanai, ++ .mips, ++ .mipsel, ++ .mips64, ++ .mips64el, ++ .msp430, ++ .sparc, ++ .sparc64, ++ .xcore, ++ .ve, ++ .loongarch32, ++ .loongarch64, ++ .spirv32, ++ .spirv64, ++ => false, ++ + // LLVM backend exists but can produce neither assembly nor object files. + .csky, + .xtensa, +-- +2.53.0 + diff --git a/anda/langs/zig/master/update.rhai b/anda/langs/zig/master/update.rhai index f9a73b7fd5..57939139b8 100644 --- a/anda/langs/zig/master/update.rhai +++ b/anda/langs/zig/master/update.rhai @@ -6,4 +6,10 @@ if rpm.changed() { let r = bump::madoguchi_json("zig-master", labels.branch).rel; let r = sub(`(?m)(\.fc.*?|)$`, "", r).parse_int(); rpm.release(r + 1); + // Update the needed LLVM version + let rawfile = codeberg_rawfile("ziglang/zig", "master", "README.md"); + let l = find(`releases\.llvm\.org/download\.html#([\d.]+)`, rawfile, 1); + rpm.global("llvm_version", l); + l.truncate(2); + rpm.define("llvm_compat", l); } diff --git a/anda/langs/zig/master/zig-master.spec b/anda/langs/zig/master/zig-master.spec index e3e2e5c2f9..ccb2521ec0 100644 --- a/anda/langs/zig/master/zig-master.spec +++ b/anda/langs/zig/master/zig-master.spec @@ -2,19 +2,24 @@ %global zig_arches x86_64 aarch64 riscv64 %{mips64} # Signing key from https://ziglang.org/download/ %global public_key RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U -# Not needed yet -%if 0%{?fedora} >= 42 || 0%{?rhel} >= 9 -%define llvm_compat 20 +%if 0%{?fedora} >= 46 +%define llvm_compat 22 %endif -%global llvm_version 20.0.0 +%global llvm_version 22.0.0 %bcond bootstrap 0 %bcond docs %{without bootstrap} %bcond test 1 +# GCC < 16.0 miscompiles on RISC-V +%ifarch riscv64 +%if 0%{?fedora} < 44 +%global toolchain clang +%endif +%endif %global zig_cache_dir %{builddir}/zig-cache Name: zig-master -Version: 0.16.0~dev.2694+74f361a5c -Release: 2%?dist +Version: 0.17.0~dev.1099+7db2ef610 +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 URL: https://ziglang.org @@ -22,13 +27,20 @@ URL: https://ziglang.org Source0: %{archive_name} Source1: %{archive_name}.minisig Patch0: 0000-remove-native-lib-directories-from-rpath.patch +%if %{defined rhel} +Patch1: 0001-Remove-unsupported-LLVM-targets-for-EPEL.patch +%endif BuildRequires: cmake +%if %["%{toolchain}" == "clang"] +BuildRequires: clang +%else BuildRequires: gcc BuildRequires: gcc-c++ +%endif BuildRequires: libxml2-devel -BuildRequires: llvm-devel -BuildRequires: clang-devel -BuildRequires: lld-devel +BuildRequires: llvm%{?llvm_compat}-devel +BuildRequires: clang%{?llvm_compat}-devel +BuildRequires: lld%{?llvm_compat}-devel BuildRequires: zlib-devel # for man page generation BuildRequires: help2man @@ -48,7 +60,7 @@ Requires: %{name}-libs = %{version} # Apache-2.0 WITH LLVM-exception OR NCSA OR MIT Provides: bundled(compiler-rt) = %{llvm_version} # LGPL-2.1-or-later AND SunPro AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later WITH GNU-compiler-exception AND GPL-2.0-only AND ISC AND LicenseRef-Fedora-Public-Domain AND HPND AND CMU-Mach AND LGPL-2.0-or-later AND Unicode-3.0 AND GFDL-1.1-or-later AND GPL-1.0-or-later AND FSFUL AND MIT AND Inner-Net-2.0 AND X11 AND GPL-2.0-or-later WITH GCC-exception-2.0 AND GFDL-1.3-only AND GFDL-1.1-only -Provides: bundled(glibc) = 2.41 +Provides: bundled(glibc) = 2.43 # Apache-2.0 WITH LLVM-exception OR MIT OR NCSA Provides: bundled(libcxx) = %{llvm_version} # Apache-2.0 WITH LLVM-exception OR MIT OR NCSA @@ -124,7 +136,11 @@ Documentation for Zig. For more information, visit %{url} rm -f stage1/zig1.wasm %endif -%build +%conf +# Force the correct LLVM version +%if %{defined llvm_compat} +export LLVM_DIR=%{_libdir}/llvm%{?llvm_compat}/%{_lib}/cmake +%endif # zig doesn't know how to dynamically link llvm on its own so we need cmake to generate a header ahead of time # if we provide the header we need to also build zigcpp @@ -135,7 +151,7 @@ rm -f stage1/zig1.wasm -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="-DNDEBUG -Wno-unused" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-DNDEBUG -Wno-unused" \ \ - -DZIG_EXTRA_BUILD_ARGS:STRING="--verbose;--build-id=sha1" \ + -DZIG_EXTRA_BUILD_ARGS:STRING="--verbose;--build-id=sha1;-Dno-langref=true" \ -DZIG_SHARED_LLVM:BOOL=true \ -DZIG_PIE:BOOL=true \ \ @@ -144,6 +160,8 @@ rm -f stage1/zig1.wasm \ -DZIG_VERSION:STRING="%(v=%{version_no_tilde}; echo ${v:0:6})" + +%build %if %{with bootstrap} %cmake_build --target stage3 %else @@ -161,14 +179,16 @@ help2man --no-discard-stderr --no-info "./zig-out/bin/zig" --version-option=vers # Zig has an extremely annoying issue with transitive failures when trying to build the docs, retry until it succeeds max=3 attempt=1 -while ./zig-out/bin/zig build docs \ +while + ./zig-out/bin/zig build docs \ --verbose \ --global-cache-dir "%{zig_cache_dir}" \ - -Dversion-string="%(v=%{version_no_tilde}; echo ${v:0:6})"; [[ $? -ne 0 ]]; + -Dversion-string="%(v=%{version_no_tilde}; echo ${v:0:6})" + [[ $? != 0 ]] do - echo "Transitive failure. Trying again." + echo "Transitive failure. Trying again." >&2 - if [[ $attempt -eq $max ]] + if [[ $attempt == $max ]] then break fi diff --git a/anda/lib/VK_hdr_layer/VK_hdr_layer.spec b/anda/lib/VK_hdr_layer/VK_hdr_layer.spec new file mode 100644 index 0000000000..7dc32cd0dc --- /dev/null +++ b/anda/lib/VK_hdr_layer/VK_hdr_layer.spec @@ -0,0 +1,83 @@ +%global commit 57b26b8927b133566be13a7702f74a62109bad15 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260325 + +Name: VK_hdr_layer +Version: 0^%{commitdate}git%{shortcommit} +Release: 1%{?dist} +Epoch: 1 +Summary: Vulkan Wayland HDR WSI Layer +License: MIT +URL: https://github.com/zamundaaa/VK_hdr_layer +Source: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz +BuildRequires: gcc-c++ +BuildRequires: meson >= 0.58 +BuildRequires: pkgconfig(vulkan) +BuildRequires: vulkan-headers +BuildRequires: pkgconfig(wayland-scanner) +# Temporary solution until upstream builds with newer VKroots +%dnl BuildRequires: pkgconfig(vkroots) +BuildRequires: pkgconfig(wayland-client) +# KWin is the main reference supported compositor +Enhances: kwin-wayland >= 6.3 +Obsoletes: VK_hdr_layer < 1:0^20250416git3b276e6 +Packager: Gilver E. + +%description +Vulkan layer utilizing a small color management/HDR +protocol for experimentation. +The proposed mainline protocol for color management is +wp_color_management. + +This implements the following vulkan extensions, +if the protocol is supported by the compositor. + +* VK_EXT_swapchain_colorspace +* VK_EXT_hdr_metadata + + +%prep +%dnl %autosetup -n %{name}-%{commit} -p1 +%git_clone %{url}.git %{commit} + +%conf +%meson --libdir=%{_libdir}/%{name} + +%build +%meson_build + +%install +%meson_install --skip-subprojects=vkroots + +%files +%license LICENSE +%doc README.md +%{_libdir}/%{name}/libVkLayer_hdr_wsi.so +%{_datadir}/vulkan/implicit_layer.d/VkLayer_hdr_wsi.*.json + + +%changelog +* Sat Apr 18 2026 Gilver E. - 1:0^20260325git57b26b8-1 +- Adopt for Terra + +* Fri Jan 16 2026 Fedora Release Engineering - 0~git20250416.3b276e6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jan 16 2026 Fedora Release Engineering - 0~git20250416.3b276e6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jul 23 2025 Fedora Release Engineering - 0~git20250416.3b276e6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Apr 21 2025 Neal Gompa - 0~git20250416.3b276e6-1 +- Update to git snapshot with support for finalized color management protocol + +* Thu Jan 16 2025 Fedora Release Engineering - 0~git20241018.e173f26-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Oct 18 2024 Neal Gompa - 0~git20241018.e173f26-1 +- Update to git snapshot +- Install library to private subdirectory + +* Sun Sep 08 2024 Neal Gompa - 0~git20240427.e47dc6d-1 +- Initial package diff --git a/anda/lib/VK_hdr_layer/anda.hcl b/anda/lib/VK_hdr_layer/anda.hcl new file mode 100644 index 0000000000..27b519c219 --- /dev/null +++ b/anda/lib/VK_hdr_layer/anda.hcl @@ -0,0 +1,11 @@ +project pkg { + arches = ["x86_64", "aarch64", "i386"] + rpm { + spec = "VK_hdr_layer.spec" + } + labels { + subrepo = "nvidia" + nightly = 1 + mock = 1 + } +} diff --git a/anda/lib/VK_hdr_layer/update.rhai b/anda/lib/VK_hdr_layer/update.rhai new file mode 100644 index 0000000000..e576ab0d01 --- /dev/null +++ b/anda/lib/VK_hdr_layer/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("zamundaaa/VK_hdr_layer")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); +} diff --git a/anda/lib/apparmor/apparmor.spec b/anda/lib/apparmor/apparmor.spec index 502c5ff396..554ad8bf34 100644 --- a/anda/lib/apparmor/apparmor.spec +++ b/anda/lib/apparmor/apparmor.spec @@ -6,8 +6,8 @@ %bcond_with tests Name: apparmor -Version: 5.0.0~beta1 -Release: 1%?dist +Version: 5.0.1 +Release: 1%{?dist} Summary: AppArmor userspace components %define baseversion %(echo %{version} | cut -d. -f-2) @@ -38,6 +38,7 @@ BuildRequires: systemd-rpm-macros BuildRequires: autoconf-archive BuildRequires: gawk BuildRequires: which +BuildRequires: libzstd-devel %if %{with tests} BuildRequires: %{_bindir}/runtest BuildRequires: %{_bindir}/prove @@ -143,10 +144,11 @@ changehat abilities exposed through libapparmor. %prep %autosetup -p1 -n %name-v%normver + +%conf sed -i 's/@VERSION@/%normver/g' libraries/libapparmor/swig/python/setup.py.in sed -i 's/${VERSION}/%normver/g' utils/Makefile -%build export PYTHON=%{__python3} export PYTHON_VERSION=3 export PYTHON_VERSIONS=python3 @@ -154,8 +156,12 @@ export PYTHON_VERSIONS=python3 pushd libraries/libapparmor ./autogen.sh %configure \ - --with-python \ + --with-python +popd +%build + +pushd libraries/libapparmor %make_build VERSION=%normver popd diff --git a/anda/lib/args-hxx/args-hxx.spec b/anda/lib/args-hxx/args-hxx.spec index 634a4fbcd2..4b96f671b3 100644 --- a/anda/lib/args-hxx/args-hxx.spec +++ b/anda/lib/args-hxx/args-hxx.spec @@ -1,8 +1,8 @@ %define debug_package %nil Name: args-hxx -Version: 6.4.8 -Release: 1%?dist +Version: 6.4.16 +Release: 1%{?dist} Summary: A simple header-only C++ argument parser library License: MIT URL: https://github.com/Taywee/args diff --git a/anda/lib/astal/ags/ags.spec b/anda/lib/astal/ags/ags.spec index f7fbd594dc..758750820e 100644 --- a/anda/lib/astal/ags/ags.spec +++ b/anda/lib/astal/ags/ags.spec @@ -12,7 +12,7 @@ # https://github.com/Aylur/ags %global goipath github.com/Aylur/ags -Version: 3.1.1 +Version: 3.1.2 %gometa -f @@ -23,7 +23,7 @@ Scaffolding CLI for Astal+TypeScript.} %global godocs docs README.md Name: ags -Release: 1%?dist +Release: 1%{?dist} Summary: Scaffolding CLI for Astal+TypeScript License: GPL-3.0-only diff --git a/anda/lib/astal/astal-gtk/astal-gtk.spec b/anda/lib/astal/astal-gtk/astal-gtk.spec index be5f5f2666..9beb695aa0 100644 --- a/anda/lib/astal/astal-gtk/astal-gtk.spec +++ b/anda/lib/astal/astal-gtk/astal-gtk.spec @@ -1,10 +1,10 @@ -%global commit 7d1fac8a4b2a14954843a978d2ddde86168c75ef -%global shortcommit 7d1fac8 -%global commit_date 20251127 +%global commit 11842ae3045c1367fb3a62a2302dba0d9ccb4a33 +%global shortcommit 11842ae +%global commit_date 20260622 Name: astal Version: 0^%commit_date.%commit -Release: 1%?dist +Release: 1%{?dist} Summary: Building blocks for creating custom desktop shells License: LGPL-2.1-only URL: https://aylur.github.io/astal diff --git a/anda/lib/astal/astal/astal.spec b/anda/lib/astal/astal/astal.spec index c57ae56f91..fb91dff919 100644 --- a/anda/lib/astal/astal/astal.spec +++ b/anda/lib/astal/astal/astal.spec @@ -1,11 +1,11 @@ -%global commit eb235f8813bdea2a4a38ac228f2efc4e2a8a90af +%global commit 11842ae3045c1367fb3a62a2302dba0d9ccb4a33 %global shortcommit %{sub %commit 1 7} -%global commit_date 20260131 +%global commit_date 20260622 Name: astal Version: 0^%commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Building blocks for creating custom desktop shells License: LGPL-2.1-only URL: https://aylur.github.io/astal diff --git a/anda/lib/audec/libaudec.spec b/anda/lib/audec/libaudec.spec index 21c72412f3..65891801d0 100644 --- a/anda/lib/audec/libaudec.spec +++ b/anda/lib/audec/libaudec.spec @@ -32,8 +32,10 @@ This package contains the development files for the %name package. rm -r tests %endif -%build +%conf %meson + +%build %meson_build %install 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 97bfcf26d3..0f124006be 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 b9e40069c0b47a722286b94eb5231f7f05c08713 +%global commit 5f4a6d4941de23180e7c412cc9ddf5ce440e3829 %global shortcommit %(c=%commit; echo ${c:0:7}) -%global commit_date 20251107 +%global commit_date 20260628 %global _desc %{expand: A C library that may be linked into a C/C++ program to produce symbolic backtraces. @@ -10,7 +10,7 @@ A C library that may be linked into a C/C++ program to produce symbolic backtrac Name: libbacktrace-nightly Version: 1.0^%commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Library to produce symbolic backtraces License: BSD-3-Clause URL: https://github.com/ianlancetaylor/libbacktrace @@ -36,13 +36,15 @@ This package contains the development files for the %name package. %prep %autosetup -n libbacktrace-%commit -%build +%conf autoreconf -fiv %configure \ --disable-static \ --enable-shared \ --with-system-libunwind \ --enable-silent-rules + +%build %make_build %check diff --git a/anda/lib/breakpad/breakpad.spec b/anda/lib/breakpad/breakpad.spec index 8964f54b2f..ed9f88fca8 100644 --- a/anda/lib/breakpad/breakpad.spec +++ b/anda/lib/breakpad/breakpad.spec @@ -1,6 +1,6 @@ Name: breakpad Version: 2024.02.16 -Release: 2%?dist +Release: 3%?dist Summary: Google Breakpad crash-reporting system License: BSD-3-Clause Group: System @@ -14,7 +14,7 @@ BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(zlib) BuildRequires: anda-srpm-macros -Packager: Willow Reed (willow@willowidk.dev) +Packager: Cypress Reed %description A set of client and server components which implement a crash-reporting system. @@ -32,11 +32,13 @@ mkdir -p src/third_party/lss cd src/third_party/lss tar -xzf %{SOURCE1} --strip-components=0 -%build +%conf export CFLAGS="$CFLAGS -Wno-error" export CXXFLAGS="$CXXFLAGS -Wno-error" %configure + +%build %make_build %install @@ -59,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/breakpad/update.rhai b/anda/lib/breakpad/update.rhai index df846a57b8..ec009aeafc 100644 --- a/anda/lib/breakpad/update.rhai +++ b/anda/lib/breakpad/update.rhai @@ -1 +1 @@ -rpm.version(gh("https://github.com/google/breakpad")); \ No newline at end of file +rpm.version(gh("google/breakpad")); diff --git a/anda/lib/cglm/anda.hcl b/anda/lib/cglm/anda.hcl new file mode 100644 index 0000000000..efb2e9408f --- /dev/null +++ b/anda/lib/cglm/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cglm.spec" + } +} diff --git a/anda/lib/cglm/cglm.spec b/anda/lib/cglm/cglm.spec new file mode 100644 index 0000000000..4c50b3e09b --- /dev/null +++ b/anda/lib/cglm/cglm.spec @@ -0,0 +1,51 @@ +Name: cglm +Version: 0.9.6 +Release: 1%{?dist} +Summary: Highly Optimized Graphics Math (glm) for C +Packager: Jan200101 + +License: MIT +URL: https://github.com/recp/cglm +Source0: %{url}/archive/v%{version}.tar.gz#/cglm-%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: cmake + +%description +Highly optimized 2D|3D math library, also known as OpenGL Mathematics +(glm) for `C`. +cglm provides lot of utils to help math operations to be fast and +quick to write. It is community friendly, feel free to bring any +issues, bugs you faced. + +%package devel +Summary: Development package for %{name} +Requires: %{name} = %{version} + +%description devel +Development package for %{name}. + +%prep +%autosetup + +%build +%cmake +%cmake_build + +%install +%cmake_install + +%files +%license LICENSE +%{_libdir}/libcglm.so.%{version} + +%files devel +%{_libdir}/libcglm.so +%{_libdir}/libcglm.so.0 +%{_includedir}/cglm/ +%{_libdir}/cmake/cglm/ +%{_libdir}/pkgconfig/cglm.pc + +%changelog +* Mon Jun 29 2026 Jan200101 +- Initial package diff --git a/anda/lib/cglm/update.rhai b/anda/lib/cglm/update.rhai new file mode 100644 index 0000000000..c10072f176 --- /dev/null +++ b/anda/lib/cglm/update.rhai @@ -0,0 +1,3 @@ +let v = gh("recp/cglm"); +v.crop(1); +rpm.version(v); diff --git a/anda/lib/cmake-extras/cmake-extras.spec b/anda/lib/cmake-extras/cmake-extras.spec index ac7a1a9375..cd126904db 100644 --- a/anda/lib/cmake-extras/cmake-extras.spec +++ b/anda/lib/cmake-extras/cmake-extras.spec @@ -3,10 +3,10 @@ %forgemeta Name: cmake-extras -Version: 1.9 -Release: 1%?dist +Version: 1.10 +Release: 1%{?dist} Summary: A collection of add-ons for the CMake build tool -License: GPL-3.0 +License: GPL-3.0-or-later URL: https://gitlab.com/ubports/development/core/cmake-extras Source0: %{url}/-/archive/%commit/cmake-extras-%commit.tar.gz BuildArch: noarch @@ -31,8 +31,14 @@ sed -i 's/#!\/bin\/sh/#!\/usr\/bin\/sh/' src/CopyrightTest/check_copyright.sh sed -i 's/python/python3/' src/IncludeChecker/include_checker.py sed -i 'sX/usr/lib/qt5X${CMAKE_LIBDIR}/qt5X' src/QmlPlugins/QmlPluginsConfig.cmake +%conf +%if 0%{?fedora} >= 44 + %cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 +%else + %cmake +%endif + %build -%cmake %cmake_build %install diff --git a/anda/lib/cmark-gfm/cmark-gfm.spec b/anda/lib/cmark-gfm/cmark-gfm.spec index 225eff124c..095b7f2144 100644 --- a/anda/lib/cmark-gfm/cmark-gfm.spec +++ b/anda/lib/cmark-gfm/cmark-gfm.spec @@ -43,7 +43,7 @@ Development files for %{name}. %autosetup -p1 %build -%cmake +%cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 %cmake_build %install diff --git a/anda/lib/davs2/davs2.spec b/anda/lib/davs2/davs2.spec index c89632dde4..c1465e48b3 100644 --- a/anda/lib/davs2/davs2.spec +++ b/anda/lib/davs2/davs2.spec @@ -4,10 +4,10 @@ Name: davs2 Version: 1.7 -Release: 1%{?shortcommit:.%{date}git%{shortcommit}}%{?dist} +Release: 2%{?shortcommit:.%{date}git%{shortcommit}}%{?dist} Summary: An open-source decoder of AVS2-P2/IEEE1857.4 video coding standard URL: https://github.com/pkuvcl/%{name} -License: GPLv2 +License: GPL-2.0-or-later %if %len %{commit0} != 0 Source0: https://github.com/pkuvcl/%{name}/archive/%{commit0}/%{name}-%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz @@ -50,7 +50,7 @@ This package contains the shared library development files. %autosetup %endif -%build +%conf cd build/linux %configure \ --bit-depth='8' \ @@ -67,6 +67,8 @@ sed -i \ -e 's|CFLAGS=.*%{optflags}|CFLAGS=%{optflags}|g' \ config.mak +%build +cd build/linux %make_build %install diff --git a/anda/lib/deviceinfo/deviceinfo.spec b/anda/lib/deviceinfo/deviceinfo.spec index a60e87c428..53f08b3bfa 100644 --- a/anda/lib/deviceinfo/deviceinfo.spec +++ b/anda/lib/deviceinfo/deviceinfo.spec @@ -4,17 +4,18 @@ Name: deviceinfo Version: 0.2.4 -Release: 1%?dist +Release: 2%?dist Summary: Library to detect and configure devices -License: GPLv3+ +License: GPL-3.0-or-later URL: https://gitlab.com/ubports/development/core/deviceinfo Source0: %{url}/-/archive/%commit/deviceinfo-%commit.tar.gz -Source1: https://salsa.debian.org/ubports-team/deviceinfo/-/raw/master/debian/device-info.1 BuildRequires: cmake BuildRequires: cmake-extras BuildRequires: pkgconfig(yaml-cpp) BuildRequires: gcc-c++ +BuildRequires: gtest-devel +BuildRequires: gmock-devel %description Library to detect and configure devices for Lomiri. @@ -30,13 +31,15 @@ developing applications that use %{name}. %prep %autosetup -n deviceinfo-%commit -%build +%conf %cmake + +%build %cmake_build %install %cmake_install -install -Dm644 '%{SOURCE1}' %{buildroot}%{_mandir}/man1/device-info.1 +install -Dm644 tools/device-info.1 %{buildroot}%{_mandir}/man1/device-info.1 %files %license LICENSE diff --git a/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec b/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec index 61a791ba5d..3a4eb97e68 100644 --- a/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec +++ b/anda/lib/directxshadercompiler/DirectXShaderCompiler.spec @@ -3,8 +3,8 @@ # Metadata. Name: DirectXShaderCompiler -Version: 1.9.2602 -Release: 1%?dist +Version: 1.10.2605.24 +Release: 1%{?dist} Summary: A Direct X Shader compiler. License: MIT Packager: libffi diff --git a/anda/lib/dwarfs/dwarfs.spec b/anda/lib/dwarfs/dwarfs.spec index 6134274fbd..fb842901a3 100644 --- a/anda/lib/dwarfs/dwarfs.spec +++ b/anda/lib/dwarfs/dwarfs.spec @@ -5,12 +5,12 @@ A fast high compression read-only file system for Linux and Windows.} %global _distro_extra_cxxflags -include %{_includedir}/c++/*/cstdint Name: dwarfs -Version: 0.14.1 -Release: 5%{?dist} +Version: 0.15.3 +Release: 1%{?dist} Summary: A fast high compression read-only file system for Linux, Windows and macOS License: GPL-3.0-or-later URL: https://github.com/mhx/%{name} -Source0: https://github.com/mhx/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildRequires: binutils-devel BuildRequires: boost-devel %if 0%{?fedora} >= 44 @@ -23,7 +23,6 @@ BuildRequires: bubblewrap BuildRequires: ccache BuildRequires: clang BuildRequires: cmake -BuildRequires: double-conversion-devel BuildRequires: flac-devel BuildRequires: fmt-devel BuildRequires: fuse @@ -33,21 +32,16 @@ BuildRequires: fuse-devel BuildRequires: g++ BuildRequires: gcc BuildRequires: git -BuildRequires: glog-devel BuildRequires: google-benchmark BuildRequires: jemalloc-devel BuildRequires: json-devel BuildRequires: libarchive-devel -BuildRequires: libdwarf-devel -BuildRequires: libevent-devel -BuildRequires: libunwind-devel BuildRequires: libzstd-devel BuildRequires: lz4-devel BuildRequires: make BuildRequires: man BuildRequires: ninja-build BuildRequires: openssl-devel -BuildRequires: pip BuildRequires: pkg-config BuildRequires: range-v3-devel BuildRequires: rubygem-ronn-ng @@ -55,8 +49,6 @@ BuildRequires: utf8cpp-devel BuildRequires: xxhash-devel BuildRequires: xz-devel BuildRequires: zstd -Requires: bzip2-libs -Requires: gflags Requires: libattr Requires: libxml2 Requires: libzstd 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/fdk-aac.spec b/anda/lib/fdk-aac/fdk-aac.spec index 071a69aee1..7fe0d33a91 100644 --- a/anda/lib/fdk-aac/fdk-aac.spec +++ b/anda/lib/fdk-aac/fdk-aac.spec @@ -35,9 +35,11 @@ This package contains libraries and header files for developing applications tha %prep %autosetup -n %{name}-%{version} -%build +%conf autoreconf -vif %configure --disable-static + +%build %make_build %install 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/geonames/geonames.spec b/anda/lib/geonames/geonames.spec index 3f3560c041..c1dec10d0e 100644 --- a/anda/lib/geonames/geonames.spec +++ b/anda/lib/geonames/geonames.spec @@ -1,9 +1,9 @@ %global forgeurl https://gitlab.com/ubports/development/core/geonames -%global commit 447653042655072bdd5e539ed509623e56c418ec +%global commit 91792a7f85ced64915652c33e3c3a9513c106f58 %forgemeta Name: geonames -Version: 0.3.1 +Version: 0.3.2 Release: 1%{?dist} Summary: Parse and query the geonames database License: GPL-3.0 diff --git a/anda/lib/glaze/glaze.spec b/anda/lib/glaze/glaze.spec index a9d068fa4d..f922378175 100644 --- a/anda/lib/glaze/glaze.spec +++ b/anda/lib/glaze/glaze.spec @@ -2,8 +2,8 @@ %global debug_package %{nil} Name: glaze-devel -Version: 7.1.0 -Release: 1%?dist +Version: 7.8.3 +Release: 1%{?dist} License: MIT URL: https://stephenberry.github.io/glaze Source: https://github.com/stephenberry/glaze/archive/refs/tags/v%{version}.tar.gz diff --git a/anda/lib/gmenuharness/gmenuharness.spec b/anda/lib/gmenuharness/gmenuharness.spec index 555efbce71..4b2f7cb55f 100644 --- a/anda/lib/gmenuharness/gmenuharness.spec +++ b/anda/lib/gmenuharness/gmenuharness.spec @@ -4,9 +4,9 @@ Name: gmenuharness Version: 0.1.4 -Release: %autorelease +Release: 2%{?dist} Summary: GMenu harness library -License: LGPLv3 +License: LGPL-3.0-or-later URL: https://gitlab.com/ubports/development/core/gmenuharness Source0: %{url}/-/archive/%commit/gmenuharness-%commit.tar.gz diff --git a/anda/lib/grail/grail.spec b/anda/lib/grail/grail.spec index 8ee1dd6911..48cae7d135 100644 --- a/anda/lib/grail/grail.spec +++ b/anda/lib/grail/grail.spec @@ -38,7 +38,7 @@ developing applications that use %{name}. %prep %autosetup -n grail-%{version} -%build +%conf autoreconf --force --install PYTHON=%{__python3} export PYTHON @@ -49,6 +49,7 @@ export PYTHON --with-x11 \ --disable-static +%build %make_build %install diff --git a/anda/lib/inputtino/inputtino.spec b/anda/lib/inputtino/inputtino.spec index 1b9e31204e..1442d0ab72 100644 --- a/anda/lib/inputtino/inputtino.spec +++ b/anda/lib/inputtino/inputtino.spec @@ -1,4 +1,4 @@ -%global commit 504f0abc7da8ebc351f8300fb2ed98db5438ee48 +%global commit b887f6a37a4f6babea66ee7b9a79bc8f520d7554 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global commitdate 20250816 diff --git a/anda/lib/libayatana-appindicator-glib/anda.hcl b/anda/lib/libayatana-appindicator-glib/anda.hcl new file mode 100644 index 0000000000..21debf4611 --- /dev/null +++ b/anda/lib/libayatana-appindicator-glib/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "libayatana-appindicator-glib.spec" + } +} diff --git a/anda/lib/libayatana-appindicator-glib/libayatana-appindicator-glib.spec b/anda/lib/libayatana-appindicator-glib/libayatana-appindicator-glib.spec new file mode 100644 index 0000000000..4882695a2e --- /dev/null +++ b/anda/lib/libayatana-appindicator-glib/libayatana-appindicator-glib.spec @@ -0,0 +1,70 @@ +%undefine __brp_add_determinism + +Name: libayatana-appindicator-glib +Summary: Ayatana Application Indicators Shared Library +Version: 2.0.3 +Release: 1%{?dist} +License: GPL-3.0-or-later +Packager: veuxit +URL: https://github.com/AyatanaIndicators/libayatana-appindicator-glib +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: cmake-extras +BuildRequires: glib2 +BuildRequires: glib2-devel +BuildRequires: gobject-introspection +BuildRequires: gi-docgen +BuildRequires: vala-devel +BuildRequires: vala +BuildRequires: intltool + +%description +Ayatana Application Indicators Shared Library (GLib-2.0 reimplementation, 100% GTK-free, 100% dbusmenu-free) + +%prep +%autosetup -n %{name}-%{version} + +%conf +%cmake + +%build +%cmake_build + +%install +%cmake_install + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%files devel +%{_includedir}/libayatana-appindicator-glib/ +%{_libdir}/libayatana-appindicator-glib.so +%{_libdir}/pkgconfig/ayatana-appindicator-glib.pc +%{_datadir}/gir-1.0/AyatanaAppIndicatorGlib-2.0.gir +%{_datadir}/vala/vapi/ayatana-appindicator-glib.deps +%{_datadir}/vala/vapi/ayatana-appindicator-glib.vapi + +%package doc +Summary: Documentation for %{name} +BuildArch: noarch + +%description doc +Documentation for %{name}. + +%files doc +%{_datadir}/doc/libayatana-appindicator-glib-dev/ + +%files +%license COPYING +%{_libdir}/libayatana-appindicator-glib.so.2* +%{_libdir}/girepository-1.0/AyatanaAppIndicatorGlib-2.0.typelib + +%changelog +* Fri Feb 27 2026 veux - 2.0.1 +- Initial package release \ No newline at end of file diff --git a/anda/lib/libayatana-appindicator-glib/update.rhai b/anda/lib/libayatana-appindicator-glib/update.rhai new file mode 100644 index 0000000000..69136c0ba6 --- /dev/null +++ b/anda/lib/libayatana-appindicator-glib/update.rhai @@ -0,0 +1 @@ +rpm.version(gh_tag("AyatanaIndicators/libayatana-appindicator-glib")); diff --git a/anda/lib/libayatana-common/libayatana-common.spec b/anda/lib/libayatana-common/libayatana-common.spec index d649cd8f52..73b48c73ba 100644 --- a/anda/lib/libayatana-common/libayatana-common.spec +++ b/anda/lib/libayatana-common/libayatana-common.spec @@ -1,8 +1,8 @@ Name: libayatana-common Summary: Common functions for Ayatana System Indicators -Version: 0.9.11 -Release: 2%?dist -License: GPL-3.0 +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 @@ -17,6 +17,8 @@ BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: vala-devel BuildRequires: vala BuildRequires: intltool +BuildRequires: gcc-c++ +BuildRequires: gtest-devel %description The Ayatana Indicators project is the continuation of Application Indicators @@ -33,11 +35,12 @@ This package contains the development header files for %{name}. %prep %autosetup -n %{name}-%{version} -%build +%conf %cmake -DENABLE_LOMIRI_FEATURES=ON \ -DENABLE_TESTS=ON \ -DENABLE_COVERAGE=OFF +%build %cmake_build %install diff --git a/anda/lib/libbismuth/libbismuth.spec b/anda/lib/libbismuth/libbismuth.spec index be80f6c288..d1cb9d8cb8 100644 --- a/anda/lib/libbismuth/libbismuth.spec +++ b/anda/lib/libbismuth/libbismuth.spec @@ -33,13 +33,13 @@ for writing applications with libbismuth. %prep %autosetup -n libbismuth-%{version} -%build +%conf %meson + +%build %meson_build %install -# Install licenses -mkdir -p licenses %meson_install rm -rf %{buildroot}%{_bindir}/blueprint-compiler diff --git a/anda/lib/libde265/libde265.spec b/anda/lib/libde265/libde265.spec index f9baa6453d..56d99ccf24 100644 --- a/anda/lib/libde265/libde265.spec +++ b/anda/lib/libde265/libde265.spec @@ -1,7 +1,7 @@ Name: libde265 Summary: Open H.265 video codec implementation -Version: 1.0.16 -Release: 1%?dist +Version: 1.1.1 +Release: 1%{?dist} License: LGPL-3.0-or-later URL: https://www.libde265.org/ Source0: https://github.com/strukturag/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz @@ -41,9 +41,11 @@ Various sample and test applications using %{name} are provided by this package. %prep %autosetup -%build +%conf autoreconf -vif %configure --disable-silent-rules --disable-static --enable-encoder + +%build %make_build %install diff --git a/anda/lib/libfiber/libfiber.spec b/anda/lib/libfiber/libfiber.spec index 7a7095e49c..0d887f16a0 100644 --- a/anda/lib/libfiber/libfiber.spec +++ b/anda/lib/libfiber/libfiber.spec @@ -7,12 +7,12 @@ The library enables developers to write highly concurrent applications using syn Name: libfiber-devel Version: 1.1.0 -Release: 1%?dist +Release: 2%?dist URL: https://deepwiki.com/iqiyi/libfiber Source0: https://github.com/iqiyi/libfiber/archive/refs/tags/v%version.tar.gz Patch0: add-missing-header.patch Summary: The high performance c/c++ coroutine/fiber library for Linux/FreeBSD/MacOS/Windows, supporting select/poll/epoll/kqueue/iouring/iocp/windows GUI -License: LGPL-3.0 +License: LGPL-3.0-or-later ExclusiveArch: x86_64 Packager: Owen Zimmerman diff --git a/anda/lib/libfprint-tod/libfprint-tod.spec b/anda/lib/libfprint-tod/libfprint-tod.spec index eef3476374..c8de865f4e 100644 --- a/anda/lib/libfprint-tod/libfprint-tod.spec +++ b/anda/lib/libfprint-tod/libfprint-tod.spec @@ -1,8 +1,8 @@ %global appid org.freedesktop.libfprint Name: libfprint-tod -Version: 1.94.10+tod1 -Release: 1%?dist +Version: 1.95.1+tod1 +Release: 1%{?dist} URL: https://gitlab.freedesktop.org/3v1n0/libfprint/ Source: %{url}/-/archive/v%{version}/libfprint-v%{version}.tar.gz Summary: a light fork of libfprint to expose internal Drivers API in order to create drivers as shared libraries diff --git a/anda/lib/libtrueforce/anda.hcl b/anda/lib/libtrueforce/anda.hcl new file mode 100644 index 0000000000..6b598949a3 --- /dev/null +++ b/anda/lib/libtrueforce/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "libtrueforce.spec" + } + labels { + updbranch = 1 + mock = 1 + } +} diff --git a/anda/lib/libtrueforce/libtrueforce.spec b/anda/lib/libtrueforce/libtrueforce.spec new file mode 100644 index 0000000000..e30b1c5fe0 --- /dev/null +++ b/anda/lib/libtrueforce/libtrueforce.spec @@ -0,0 +1,70 @@ +%global commit 14045e8f61f12f4f1e320bc3bba015b98f5294dd +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260629 +%global debug_package %{nil} + +Name: libtrueforce +Version: 1.3.11^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Native Linux implementation of the Logitech Trueforce SDK +License: GPL-2.0-only +URL: https://github.com/mescon/logitech-rs50-linux-driver +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +BuildRequires: gcc +BuildRequires: make +Requires: logitech-rs50-linux-driver +Provides: trueforce-sdk = %{?epoch:%{epoch}:}%{version} +Packager: Luan V. + + +%description +Native Linux implementation of the Logitech Trueforce SDK +(trueforce_sdk_x64.dll, version 1.3.11). Supports both the RS50 (046d:c276) and +the G Pro Racing Wheel (046d:c272 / 046d:c268) the two wheels use byte-for-byte +identical init and streaming packets, so the same library drives both. See +docs/TRUEFORCE_PROTOCOL.md in the parent repo for the protocol documentation. + +%package static +Summary: Static library for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description static +The %{name}-static package contains the static library for %{name}. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%prep +%autosetup -c -n %{name}-%{commit} +mv ./logitech-rs50-linux-driver-%{commit}/userspace/%{name}/* . +mv ./logitech-rs50-linux-driver-%{commit}/docs/TRUEFORCE_PROTOCOL.md . +rm -rf ./logitech-rs50-linux-driver-%{commit} + +%build +%make_build PREFIX=%{_prefix} LIBDIR=%{_libdir} CFLAGS="%{build_cflags}" + +%install +%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir} +install -D -m644 %{name}.a %{buildroot}%{_libdir}/ + +%files +%doc README.md TRUEFORCE_PROTOCOL.md +%{_libdir}/*.so.* + +%files devel +%{_libdir}/*.so +%{_includedir}/trueforce.h + +%files static +%{_libdir}/*.a + + +%changelog +* Fri May 01 2026 Luan V. - 1.3.11^20260430git.df7f149-1 +- Initial package diff --git a/anda/lib/libtrueforce/update.rhai b/anda/lib/libtrueforce/update.rhai new file mode 100644 index 0000000000..d55bf59bae --- /dev/null +++ b/anda/lib/libtrueforce/update.rhai @@ -0,0 +1,9 @@ + let c = sh("cat anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); +} diff --git a/anda/lib/libusermetrics/libusermetrics.spec b/anda/lib/libusermetrics/libusermetrics.spec index 5e299fa946..060445a6e0 100644 --- a/anda/lib/libusermetrics/libusermetrics.spec +++ b/anda/lib/libusermetrics/libusermetrics.spec @@ -1,8 +1,8 @@ Name: libusermetrics -Version: 1.4.1 -Release: 1%?dist +Version: 1.4.2 +Release: 1%{?dist} Summary: library for retrieving anonymous metrics about users -License: GPLv3 AND LGPLv3 AND LGPLv2 +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 Source0: %url/-/archive/%version/libusermetrics-%version.tar.gz @@ -20,6 +20,8 @@ BuildRequires: pkgconfig(libqtdbustest-1) BuildRequires: pkgconfig(libapparmor) BuildRequires: qdjango-devel BuildRequires: fdupes +BuildRequires: gmock-devel +BuildRequires: gtest-devel %description library for retrieving anonymous metrics about users @@ -55,7 +57,7 @@ The %{name}-doc contains documentation for %{name}. %files -f %{name}.lang %doc ChangeLog %license LGPL_EXCEPTION.txt LICENSE.GPL LICENSE.LGPL LICENSE.LGPL-3 -%{_sysconfdir}/dbus-1/system.d/com.lomiri.UserMetrics.conf +%{_datadir}/dbus-1/system.d/com.lomiri.UserMetrics.conf %{_bindir}/usermetricsinput %{_bindir}/usermetricsinput-increment %{_libdir}/libusermetricsinput.so.* diff --git a/anda/lib/lsp-dsp/liblsp-dsp.spec b/anda/lib/lsp-dsp/liblsp-dsp.spec index 5845af26ec..99d7a8814d 100644 --- a/anda/lib/lsp-dsp/liblsp-dsp.spec +++ b/anda/lib/lsp-dsp/liblsp-dsp.spec @@ -3,8 +3,8 @@ #define _empty_manifest_terminate_build 0 Name: liblsp-dsp -Version: 1.0.33 -Release: 1%?dist +Version: 1.0.36 +Release: 1%{?dist} Summary: DSP library for signal processing License: LGPL-3.0 #Group: System/Libraries diff --git a/anda/lib/mesa-compat/0001-c11-threads-fix-build-on-fedora-44.patch b/anda/lib/mesa-compat/0001-c11-threads-fix-build-on-fedora-44.patch new file mode 100644 index 0000000000..71322c9a45 --- /dev/null +++ b/anda/lib/mesa-compat/0001-c11-threads-fix-build-on-fedora-44.patch @@ -0,0 +1,47 @@ +From 6e3646c81143477008e448d3b0b5c349169e4112 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Fri, 7 Nov 2025 13:14:56 +1000 +Subject: [PATCH] c11/threads: fix build on fedora 44. + +glibc is now including once_init in stdlib.h + +https://patchwork.sourceware.org/project/glibc/patch/78061085-f04a-0c45-107b-5a8a15521083@redhat.com/#213088 + +Just fix up our use of it. +--- + src/c11/impl/threads_posix.c | 2 +- + src/c11/threads.h | 3 +++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/c11/impl/threads_posix.c b/src/c11/impl/threads_posix.c +index 3b8692482bb..4769c029bad 100644 +--- a/src/c11/impl/threads_posix.c ++++ b/src/c11/impl/threads_posix.c +@@ -49,7 +49,7 @@ impl_thrd_routine(void *p) + void + call_once(once_flag *flag, void (*func)(void)) + { +- pthread_once(flag, func); ++ pthread_once((pthread_once_t *)flag, func); + } + + +diff --git a/src/c11/threads.h b/src/c11/threads.h +index dbcb3459a9b..053636f6674 100644 +--- a/src/c11/threads.h ++++ b/src/c11/threads.h +@@ -118,8 +118,11 @@ typedef pthread_cond_t cnd_t; + typedef pthread_t thrd_t; + typedef pthread_key_t tss_t; + typedef pthread_mutex_t mtx_t; ++#ifndef __once_flag_defined ++#define __once_flag_defined 1 + typedef pthread_once_t once_flag; + # define ONCE_FLAG_INIT PTHREAD_ONCE_INIT ++#endif + # ifdef PTHREAD_DESTRUCTOR_ITERATIONS + # define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS + # else +-- +2.51.1 + diff --git a/anda/lib/mesa-compat/cd129dbf8af2d16b1243f2ce287ff69c6a5dc557.patch b/anda/lib/mesa-compat/cd129dbf8af2d16b1243f2ce287ff69c6a5dc557.patch new file mode 100644 index 0000000000..59efa33fe3 --- /dev/null +++ b/anda/lib/mesa-compat/cd129dbf8af2d16b1243f2ce287ff69c6a5dc557.patch @@ -0,0 +1,54 @@ +From cd129dbf8af2d16b1243f2ce287ff69c6a5dc557 Mon Sep 17 00:00:00 2001 +From: no92 +Date: Wed, 27 Aug 2025 16:02:31 +0200 +Subject: [PATCH] gallivm: support LLVM 21 + +LLVM PR#146819 changed the signature of `setObjectLinkingLayerCreator`, +dropping the Triple argument. The PR was first included in the LLVM 21 +series, and the new signature is gated behind a version check for that. + +`LLVMOrcThreadSafeContextGetContext` was removed in LLVM commit b18e5b6, +and the ORC examples in the LLVM tree seem to just create a context +instead, which we replicate here. + +With this commit, mesa successfully builds the llvmpipe gallium driver +on riscv64 with LLVM 21.1.0. + +Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13785 +Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13852 + +Reviewed-by: David Heidelberg +Part-of: +--- + src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp +index 6651ea439da86..e5d8e461dd6c0 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp +@@ -339,7 +339,12 @@ LPJit::LPJit() :jit_dylib_count(0) { + .setJITTargetMachineBuilder(std::move(JTMB)) + #ifdef USE_JITLINK + .setObjectLinkingLayerCreator( ++#if LLVM_VERSION_MAJOR >= 21 ++ /* LLVM 21 removed the Triple argument */ ++ [&](ExecutionSession &ES) { ++#else + [&](ExecutionSession &ES, const llvm::Triple &TT) { ++#endif + return std::make_unique( + ES, ExitOnErr(llvm::jitlink::InProcessMemoryManager::Create())); + }) +@@ -551,7 +556,7 @@ init_gallivm_state(struct gallivm_state *gallivm, const char *name, + gallivm->cache = cache; + + gallivm->_ts_context = context->ref; +- gallivm->context = LLVMOrcThreadSafeContextGetContext(context->ref); ++ gallivm->context = LLVMContextCreate(); + + gallivm->module_name = LPJit::get_unique_name(name); + gallivm->module = LLVMModuleCreateWithNameInContext(gallivm->module_name, +-- +GitLab + diff --git a/anda/lib/mesa-compat/mesa-compat.spec b/anda/lib/mesa-compat/mesa-compat.spec index 059903ac53..b3d67f5693 100644 --- a/anda/lib/mesa-compat/mesa-compat.spec +++ b/anda/lib/mesa-compat/mesa-compat.spec @@ -1,21 +1,30 @@ %global origname mesa +# We've gotten a report that enabling LTO for mesa breaks some games. See +# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details. +# Disable LTO for now +%global _lto_cflags %nil + Name: %{origname}-compat Summary: Mesa graphics libraries - legacy compatibility libraries %global ver 25.0.7 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 License: MIT AND BSD-3-Clause AND SGI-B-2.0 URL: http://www.mesa3d.org - Source0: https://archive.mesa3d.org/mesa-%{ver}.tar.xz # src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license. # Source1 contains email correspondence clarifying the license terms. # Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. Source1: Mesa-MLAA-License-Clarification-Email.txt -# Keep Mesa builds relatively the same -Patch0: bazzite.patch +# fix c11/threads builds problem on f44 +Patch0: 0001-c11-threads-fix-build-on-fedora-44.patch +# Support LLVM 21 +Patch1: cd129dbf8af2d16b1243f2ce287ff69c6a5dc557.patch + +# Older version of the Bazzite/OGC patches +Patch2: bazzite.patch BuildRequires: meson >= 1.3.0 BuildRequires: gcc @@ -44,7 +53,9 @@ BuildRequires: python3-pyyaml Summary: Mesa XA state tracker Provides: libxatracker%{?_isa} Provides: mesa-libxatracker%{?_isa} -Obsoletes: mesa-libxatracker < %{?epoch:%{epoch}:}25.3 +Obsoletes: mesa-libxatracker < 25.3 +# New things should not rely on this as this library is dead upstream +Provides: deprecated() %description libxatracker %{summary}. @@ -52,7 +63,9 @@ Obsoletes: mesa-libxatracker < %{?epoch:%{epoch}:}25.3 %package libxatracker-devel Summary: Mesa XA state tracker development package Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -Obsoletes: mesa-libxatracker-devel < %{?epoch:%{epoch}:}25.3 +Obsoletes: mesa-libxatracker-devel < 25.3 +# New things should not rely on this as this library is dead upstream +Provides: deprecated() %description libxatracker-devel %{summary}. @@ -81,11 +94,6 @@ Provides: deprecated() cp %{SOURCE1} docs/ %build -# We've gotten a report that enabling LTO for mesa breaks some games. See -# https://bugzilla.redhat.com/show_bug.cgi?id=1862771 for details. -# Disable LTO for now -%define _lto_cflags %{nil} - %meson \ -Dplatforms= \ -Dosmesa=true \ @@ -149,4 +157,5 @@ rm -rf %{buildroot}%{_includedir}/KHR %{_libdir}/pkgconfig/xatracker.pc %changelog -%autochangelog +* Sun Apr 26 2026 Gilver E. - 25.0.7-3 +- Updated build for Fedora 44 diff --git a/anda/lib/mesa/mesa.spec b/anda/lib/mesa/mesa.spec index a410b07264..02624b2ff4 100644 --- a/anda/lib/mesa/mesa.spec +++ b/anda/lib/mesa/mesa.spec @@ -84,10 +84,10 @@ Name: %{srcname} Summary: Mesa graphics libraries -%global ver 26.0.1 +%global ver 26.1.3 Epoch: 1 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 2 +Release: 1%{?dist} Packager: Kyle Gospodnetich License: MIT AND BSD-3-Clause AND SGI-B-2.0 URL: https://mesa3d.org @@ -108,12 +108,12 @@ Source1: Mesa-MLAA-License-Clarification-Email.txt %global rust_syn_ver 2.0.115 %global rust_unicode_ident_ver 1.0.23 %global rustc_hash_ver 2.1.1 -Source10: https://crates.io/api/v1/crates/paste/%{rust_paste_ver}/download#/paste-%{rust_paste_ver}.tar.gz -Source11: https://crates.io/api/v1/crates/proc-macro2/%{rust_proc_macro2_ver}/download#/proc-macro2-%{rust_proc_macro2_ver}.tar.gz -Source12: https://crates.io/api/v1/crates/quote/%{rust_quote_ver}/download#/quote-%{rust_quote_ver}.tar.gz -Source13: https://crates.io/api/v1/crates/syn/%{rust_syn_ver}/download#/syn-%{rust_syn_ver}.tar.gz -Source14: https://crates.io/api/v1/crates/unicode-ident/%{rust_unicode_ident_ver}/download#/unicode-ident-%{rust_unicode_ident_ver}.tar.gz -Source15: https://crates.io/api/v1/crates/rustc-hash/%{rustc_hash_ver}/download#/rustc-hash-%{rustc_hash_ver}.tar.gz +Source10: https://static.crates.io/crates/paste/paste-%{rust_paste_ver}.crate +Source11: https://static.crates.io/crates/proc-macro2/proc-macro2-%{rust_proc_macro2_ver}.crate +Source12: https://static.crates.io/crates/quote/quote-%{rust_quote_ver}.crate +Source13: https://static.crates.io/crates/syn/syn-%{rust_syn_ver}.crate +Source14: https://static.crates.io/crates/unicode-ident/unicode-ident-%{rust_unicode_ident_ver}.crate +Source15: https://static.crates.io/crates/rustc-hash/rustc-hash-%{rustc_hash_ver}.crate # Open Gaming Collective Patches Patch30: https://raw.githubusercontent.com/OpenGamingCollective/mesa/refs/tags/%{ver}/limiter.patch @@ -130,7 +130,7 @@ BuildRequires: systemd-devel # We only check for the minimum version of pkgconfig(libdrm) needed so that the # SRPMs for each arch still have the same build dependencies. See: # https://bugzilla.redhat.com/show_bug.cgi?id=1859515 -BuildRequires: pkgconfig(libdrm) >= 2.4.122 +BuildRequires: pkgconfig(libdrm) >= 2.4.133 %if 0%{?with_libunwind} BuildRequires: pkgconfig(libunwind) %endif @@ -191,6 +191,9 @@ BuildRequires: rust-toolset BuildRequires: cargo-rpm-macros %endif %endif +%if 0%{?with_opencl} +BuildRequires: libstdc++-static +%endif %if 0%{?with_nvk} BuildRequires: cbindgen %endif @@ -207,7 +210,7 @@ BuildRequires: glslang BuildRequires: pkgconfig(vulkan) %endif %if 0%{?with_d3d12} -BuildRequires: pkgconfig(DirectX-Headers) >= 1.618.1 +BuildRequires: pkgconfig(DirectX-Headers) >= 1.619.1 %endif %description @@ -268,11 +271,11 @@ Provides: libEGL-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %package dri-drivers Summary: Mesa-based DRI drivers Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: %{name}-libglapi < %{?epoch:%{epoch}:}25.0.0~rc2-1 -Provides: %{name}-libglapi >= %{?epoch:%{epoch}:}25.0.0~rc2-1 - Obsoletes: %{name}-va-drivers < %{?epoch:%{epoch}:}26.0.0-5 -Provides: %{name}-va-drivers >= %{?epoch:%{epoch}:}26.0.0-5 +Provides: %{name}-va-drivers = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: %{name}-va-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: %{name}-vaapi-drivers < %{?epoch:%{epoch}:}22.2.0-5 %description dri-drivers @@ -343,8 +346,6 @@ Summary: Mesa Vulkan drivers Requires: vulkan%{_isa} Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: mesa-vulkan-devel < %{?epoch:%{epoch}:}%{version}-%{release} -# Bad change from upstream Fedora -#Obsoletes: VK_hdr_layer < 1 %description vulkan-drivers The drivers with support for the Vulkan API. @@ -480,7 +481,7 @@ rewrite_wrap_file rustc-hash %if 0%{?with_nvk} %cargo_license_summary -%{cargo_license} > LICENSE.dependencies +%{cargo_license} > LICENSE.dependencies.%{_arch} %if 0%{?vendor_nvk_crates} %cargo_vendor_manifest %endif @@ -503,7 +504,7 @@ rm -vf %{buildroot}%{_libdir}/dri/apple_dri.so # glvnd needs a default provider for indirect rendering where it cannot # determine the vendor -ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 +ln -s libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 %files filesystem %doc docs/Mesa-MLAA-License-Clarification-Email.txt @@ -677,7 +678,7 @@ ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 %files vulkan-drivers %if 0%{?with_nvk} -%license LICENSE.dependencies +%license LICENSE.dependencies.%{_arch} %if 0%{?vendor_nvk_crates} %license cargo-vendor.txt %endif @@ -727,4 +728,5 @@ ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 %endif %changelog -%autochangelog +* Sun Mar 15 2026 Tulip Blossom +- Split out cargo dependencies into architecture-specific files to prevent conflicts with i386 and amd64 package installs diff --git a/anda/lib/nvidia/cuda-cccl/cuda-cccl.spec b/anda/lib/nvidia/cuda-cccl/cuda-cccl.spec index 3359b31262..2d56283532 100644 --- a/anda/lib/nvidia/cuda-cccl/cuda-cccl.spec +++ b/anda/lib/nvidia/cuda-cccl/cuda-cccl.spec @@ -5,8 +5,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.2.75 +Release: 1%{?dist} Summary: CXX Core Compute Libraries License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec b/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec index ee40fbad96..b088a0226f 100644 --- a/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec +++ b/anda/lib/nvidia/cuda-cudart/cuda-cudart.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.80 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: CUDA Runtime API library License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec b/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec index b8e55ad892..11defc0b5b 100644 --- a/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec +++ b/anda/lib/nvidia/cuda-cudnn/cuda-cudnn.spec @@ -2,11 +2,11 @@ %global __strip /bin/true %global _missing_build_ids_terminate_build 0 %global _build_id_links none -%global cuda_version 12 +%global cuda_version 13 Name: cuda-cudnn -Version: 9.19.1.2 -Release: 1%?dist +Version: 9.23.2.1 +Release: 1%{?dist} Epoch: 1 Summary: NVIDIA CUDA Deep Neural Network library (cuDNN) License: NVIDIA Software Development Kit diff --git a/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec b/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec index 9b3a01be7a..ac30881f6e 100644 --- a/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec +++ b/anda/lib/nvidia/cuda-culibos/cuda-culibos.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-')-devel Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.33 +Release: 1%{?dist} Summary: CUDA Culibos Math development library License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec b/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec index 5d57909811..134b597c11 100644 --- a/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec +++ b/anda/lib/nvidia/cuda-cuobjdump/cuda-cuobjdump.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: Utility to extract information from CUDA binary files License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec b/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec index 8b8da25fcc..401499a2a9 100644 --- a/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec +++ b/anda/lib/nvidia/cuda-cupti/cuda-cupti.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.75 +Release: 1%{?dist} Summary: NVIDIA CUDA Profiling Tools Interface (CUPTI) library License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec b/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec index e3d43fd97c..6dcccc115f 100644 --- a/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec +++ b/anda/lib/nvidia/cuda-cuxxfilt/cuda-cuxxfilt.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: CUDA cuxxfilt (demangler) License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec b/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec index 064af8d78d..1d5e1fe9d7 100644 --- a/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec +++ b/anda/lib/nvidia/cuda-gdb/cuda-gdb.spec @@ -7,10 +7,10 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: CUDA GDB -License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL +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 ExclusiveArch: x86_64 aarch64 diff --git a/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec b/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec index e1aa3a6fc9..a592d1a297 100644 --- a/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec +++ b/anda/lib/nvidia/cuda-nvdisasm/cuda-nvdisasm.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: Utility to extract information from CUDA binary files License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec b/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec index bce2dbac6e..2e58cbe62e 100644 --- a/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec +++ b/anda/lib/nvidia/cuda-nvml/cuda-nvml.spec @@ -8,8 +8,8 @@ Name: cuda-nvml Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: NVIDIA Management library (NVML) License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec b/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec index 7b2dc013dd..b4a577b7b9 100644 --- a/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec +++ b/anda/lib/nvidia/cuda-nvprune/cuda-nvprune.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: CUDA nvprune License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec b/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec index 6db587dddc..20ad6478be 100644 --- a/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec +++ b/anda/lib/nvidia/cuda-nvrtc/cuda-nvrtc.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.33 +Release: 1%{?dist} Summary: CUDA runtime compilation library (NVRTC) License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec b/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec index eeae834f7a..c01bd7338a 100644 --- a/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec +++ b/anda/lib/nvidia/cuda-nvtx/cuda-nvtx.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: NVIDIA Tools Extension (NVTX) library License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec b/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec index a178063382..56cff10f83 100644 --- a/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec +++ b/anda/lib/nvidia/cuda-profiler/cuda-profiler.spec @@ -5,8 +5,8 @@ Name: cuda-profiler Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.27 +Release: 1%{?dist} Summary: CUDA Profiler API License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec b/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec index 31eee22eec..6b44011535 100644 --- a/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec +++ b/anda/lib/nvidia/cuda-sandbox/cuda-sandbox.spec @@ -8,8 +8,8 @@ Name: cuda-sandbox Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: CUDA nvsandboxutils License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec b/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec index 917b3f4b56..9ceb4056b8 100644 --- a/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec +++ b/anda/lib/nvidia/cuda-sanitizer/cuda-sanitizer.spec @@ -8,8 +8,8 @@ Name: cuda-sanitizer Epoch: 1 -Version: 13.1.118 -Release: 1%?dist +Version: 13.3.75 +Release: 1%{?dist} Summary: CUDA Compute Sanitizer API License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/cuda/cuda.spec b/anda/lib/nvidia/cuda/cuda.spec index 833e70337a..48cb408098 100644 --- a/anda/lib/nvidia/cuda/cuda.spec +++ b/anda/lib/nvidia/cuda/cuda.spec @@ -2,8 +2,8 @@ %global major_package_version 13-0 Name: cuda -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: NVIDIA Compute Unified Device Architecture Toolkit Epoch: 1 License: CUDA Toolkit diff --git a/anda/lib/nvidia/libcublas/libcublas.spec b/anda/lib/nvidia/libcublas/libcublas.spec index 29e9f6b66a..1303778896 100644 --- a/anda/lib/nvidia/libcublas/libcublas.spec +++ b/anda/lib/nvidia/libcublas/libcublas.spec @@ -6,8 +6,8 @@ Name: libcublas Epoch: 1 -Version: 13.2.1.1 -Release: 1%?dist +Version: 13.6.0.2 +Release: 1%{?dist} Summary: NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) libraries License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libcudla/libcudla.spec b/anda/lib/nvidia/libcudla/libcudla.spec index 767f925972..d149a2f7f9 100644 --- a/anda/lib/nvidia/libcudla/libcudla.spec +++ b/anda/lib/nvidia/libcudla/libcudla.spec @@ -6,8 +6,8 @@ Name: libcudla Epoch: 1 -Version: 12.9.19 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: NVIDIA CUDA Deep Learning Accelerator (DLA) engines (Jetson Xavier + Orin) License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libcufft/libcufft.spec b/anda/lib/nvidia/libcufft/libcufft.spec index 007839057d..1af10a9d10 100644 --- a/anda/lib/nvidia/libcufft/libcufft.spec +++ b/anda/lib/nvidia/libcufft/libcufft.spec @@ -6,8 +6,8 @@ Name: libcufft Epoch: 2 -Version: 12.1.0.78 -Release: 1%?dist +Version: 12.3.0.29 +Release: 1%{?dist} Summary: NVIDIA CUDA Fast Fourier Transform library (cuFFT) libraries License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libcufile/libcufile.spec b/anda/lib/nvidia/libcufile/libcufile.spec index 95dfd00e3e..e7172afb54 100644 --- a/anda/lib/nvidia/libcufile/libcufile.spec +++ b/anda/lib/nvidia/libcufile/libcufile.spec @@ -6,8 +6,8 @@ Name: libcufile Epoch: 1 -Version: 1.16.1.26 -Release: 1%?dist +Version: 1.18.1.6 +Release: 1%{?dist} Summary: NVIDIA GPUDirect Storage library (cuFile) License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libcurand/libcurand.spec b/anda/lib/nvidia/libcurand/libcurand.spec index 435333f24f..c575b58ff5 100644 --- a/anda/lib/nvidia/libcurand/libcurand.spec +++ b/anda/lib/nvidia/libcurand/libcurand.spec @@ -6,8 +6,8 @@ Name: libcurand Epoch: 2 -Version: 10.4.1.81 -Release: 1%?dist +Version: 10.4.3.29 +Release: 1%{?dist} Summary: NVIDIA CUDA Random Number Generation library (cuRAND) License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libcusolver/libcusolver.spec b/anda/lib/nvidia/libcusolver/libcusolver.spec index 46f8280740..eac09224dd 100644 --- a/anda/lib/nvidia/libcusolver/libcusolver.spec +++ b/anda/lib/nvidia/libcusolver/libcusolver.spec @@ -6,8 +6,8 @@ Name: libcusolver Epoch: 2 -Version: 12.0.9.81 -Release: 1%?dist +Version: 12.2.6.9 +Release: 1%{?dist} Summary: NVIDIA cuSOLVER library License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libcusparse/libcusparse.spec b/anda/lib/nvidia/libcusparse/libcusparse.spec index 5bbab25edd..51d58f001a 100644 --- a/anda/lib/nvidia/libcusparse/libcusparse.spec +++ b/anda/lib/nvidia/libcusparse/libcusparse.spec @@ -6,8 +6,8 @@ Name: libcusparse Epoch: 1 -Version: 12.7.3.1 -Release: 1%?dist +Version: 12.8.2.51 +Release: 1%{?dist} Summary: NVIDIA CUDA Sparse Matrix library (cuSPARSE) library License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libcusparselt/libcusparselt.spec b/anda/lib/nvidia/libcusparselt/libcusparselt.spec index 9299ef5866..5f38c74b14 100644 --- a/anda/lib/nvidia/libcusparselt/libcusparselt.spec +++ b/anda/lib/nvidia/libcusparselt/libcusparselt.spec @@ -5,7 +5,7 @@ %global cuda_version 13 Name: libcusparselt -Version: 0.8.1.1 +Version: 0.9.1.1 Release: 1%{?dist} Summary: CUDA Library for Sparse Matrix-Matrix Multiplication License: NVIDIA License diff --git a/anda/lib/nvidia/libnpp/libnpp.spec b/anda/lib/nvidia/libnpp/libnpp.spec index 839a1986ef..fd71bed80a 100644 --- a/anda/lib/nvidia/libnpp/libnpp.spec +++ b/anda/lib/nvidia/libnpp/libnpp.spec @@ -6,8 +6,8 @@ Name: libnpp Epoch: 1 -Version: 13.0.3.3 -Release: 1%?dist +Version: 13.1.2.81 +Release: 1%{?dist} Summary: NVIDIA Performance Primitives libraries License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec b/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec index 51aac19a74..21b4d2de30 100644 --- a/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec +++ b/anda/lib/nvidia/libnvfatbin/libnvfatbin.spec @@ -6,8 +6,8 @@ Name: libnvfatbin Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.29 +Release: 1%{?dist} Summary: CUDA Fatbin Creator API License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libnvidia-container/libnvidia-container.spec b/anda/lib/nvidia/libnvidia-container/libnvidia-container.spec index d03a43deca..ba07dba280 100644 --- a/anda/lib/nvidia/libnvidia-container/libnvidia-container.spec +++ b/anda/lib/nvidia/libnvidia-container/libnvidia-container.spec @@ -1,8 +1,8 @@ %global _major 1 Name: libnvidia-container -Version: 1.18.2 -Release: 1%?dist +Version: 1.19.0 +Release: 1%{?dist} Summary: NVIDIA container runtime library License: BSD-3-Clause AND Apache-2.0 AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND GPL-2.0-only Vendor: NVIDIA Corporation diff --git a/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec b/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec index 5a4e7a0365..8370a21283 100644 --- a/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec +++ b/anda/lib/nvidia/libnvjitlink/libnvjitlink.spec @@ -6,8 +6,8 @@ Name: libnvjitlink Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.33 +Release: 1%{?dist} Summary: NVIDIA compiler library for JIT LTO functionality License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec b/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec index 7de4386e53..925ca1fe37 100644 --- a/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec +++ b/anda/lib/nvidia/libnvjpeg/libnvjpeg.spec @@ -6,8 +6,8 @@ Name: libnvjpeg Epoch: 1 -Version: 13.0.3.75 -Release: 1%?dist +Version: 13.2.1.68 +Release: 1%{?dist} Summary: CUDA NVIDIA JPEG decoder (nvJPEG) License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libnvjpeg2k/libnvjpeg2k.spec b/anda/lib/nvidia/libnvjpeg2k/libnvjpeg2k.spec index 6861258f7a..2eb650e7dc 100644 --- a/anda/lib/nvidia/libnvjpeg2k/libnvjpeg2k.spec +++ b/anda/lib/nvidia/libnvjpeg2k/libnvjpeg2k.spec @@ -3,8 +3,8 @@ %global _missing_build_ids_terminate_build 0 Name: libnvjpeg2k -Version: 0.9.1.47 -Release: 1%?dist +Version: 0.10.0.49 +Release: 1%{?dist} Summary: NVIDIA JPEG 2K decoder (nvJPEG2000) License: NVIDIA EULA URL: https://developer.nvidia.com/nvjpeg diff --git a/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec b/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec index 06594630bb..ebeadd1726 100644 --- a/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec +++ b/anda/lib/nvidia/libnvptxcompiler-devel/libnvptxcompiler-devel.spec @@ -8,8 +8,8 @@ Name: %{real_name}-devel Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: CUDA nvptxcompiler License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/nvidia/libnvvm/libnvvm.spec b/anda/lib/nvidia/libnvvm/libnvvm.spec index 9a88cb4777..aa5bc13b6f 100644 --- a/anda/lib/nvidia/libnvvm/libnvvm.spec +++ b/anda/lib/nvidia/libnvvm/libnvvm.spec @@ -7,8 +7,8 @@ %global major_package_version 13-0 Name: %(echo %real_name | tr '_' '-') -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: CUDA NVVM License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/lib/qmenumodel/qmenumodel.spec b/anda/lib/qmenumodel/qmenumodel.spec index b1ddc17c87..797407c4e8 100644 --- a/anda/lib/qmenumodel/qmenumodel.spec +++ b/anda/lib/qmenumodel/qmenumodel.spec @@ -1,8 +1,8 @@ Name: qmenumodel -Version: 0.9.2 -Release: %autorelease +Version: 0.10.0 +Release: 1%{?dist} Summary: Qt5 renderer for Ayatana Indicators -License: LGPL-3.0 +License: LGPL-3.0-or-later URL: https://github.com/AyatanaIndicators/qmenumodel Source0: https://releases.ayatana-indicators.org/source/qmenumodel/qmenumodel-%{version}.tar.gz @@ -32,8 +32,10 @@ developing applications that use %{name}. %prep %autosetup -n qmenumodel-%{version} -p1 -%build +%conf %cmake -DENABLE_TESTS=ON -DENABLE_COVERAGE=ON -DGENERATE_DOC=ON + +%build %cmake_build %install @@ -43,12 +45,10 @@ developing applications that use %{name}. %doc README %license COPYING.LGPL %{_libdir}/libqmenumodel.so.* -%dir %{_qt5_qmldir}/QMenuModel.1 %{_qt5_qmldir}/QMenuModel.1/libqmenumodel-qml.so %{_qt5_qmldir}/QMenuModel.1/qmldir %files devel -%dir %{_includedir}/qmenumodel %{_includedir}/qmenumodel/*.h %{_libdir}/libqmenumodel.so %{_libdir}/pkgconfig/qmenumodel.pc diff --git a/anda/lib/qt5-qtsystems/anda.hcl b/anda/lib/qt5-qtsystems/anda.hcl index d7bddba70f..1121db2045 100644 --- a/anda/lib/qt5-qtsystems/anda.hcl +++ b/anda/lib/qt5-qtsystems/anda.hcl @@ -2,4 +2,7 @@ project pkg { rpm { spec = "qt5-qtsystems.spec" } + labels { + mock = 1 + } } diff --git a/anda/lib/qt5-qtsystems/qt5-qtsystems.spec b/anda/lib/qt5-qtsystems/qt5-qtsystems.spec index ae765e5ede..f690f83091 100644 --- a/anda/lib/qt5-qtsystems/qt5-qtsystems.spec +++ b/anda/lib/qt5-qtsystems/qt5-qtsystems.spec @@ -4,9 +4,9 @@ Name: qt5-qtsystems Summary: Qt5 Mobility Framework Version: 5.15 -Release: %autorelease +Release: 2%{?dist} -License: GPL-3.0 +License: GPL-3.0-or-later URL: https://invent.kde.org/qt/qt/qtsystems Source0: %{url}/-/archive/%commit/qt5-mobility-%commit.tar.gz Source1: https://salsa.debian.org/qt-kde-team/qt/qtsystems/-/archive/master/qtsystems-master.tar.gz @@ -136,15 +136,12 @@ cp -a ./include/* %{buildroot}%{_qt5_includedir} %{_libdir}/libQt5SystemInfo.so.* %{_qt5_bindir}/servicefw %{_qt5_bindir}/sfwlisten -%dir %{_qt5_qmldir}/QtPublishSubscribe %{_qt5_qmldir}/QtPublishSubscribe/*.so %{_qt5_qmldir}/QtPublishSubscribe/qmldir %{_qt5_qmldir}/QtPublishSubscribe/*.qmltypes -%dir %{_qt5_qmldir}/QtServiceFramework %{_qt5_qmldir}/QtServiceFramework/*.so %{_qt5_qmldir}/QtServiceFramework/qmldir %{_qt5_qmldir}/QtServiceFramework/*.qmltypes -%dir %{_qt5_qmldir}/QtSystemInfo %{_qt5_qmldir}/QtSystemInfo/*.so %{_qt5_qmldir}/QtSystemInfo/qmldir %{_qt5_qmldir}/QtSystemInfo/*.qmltypes @@ -156,11 +153,8 @@ cp -a ./include/* %{buildroot}%{_qt5_includedir} %{_libdir}/libQt5ServiceFramework.so %{_libdir}/libQt5SystemInfo.so %{_libdir}/pkgconfig/*.pc -%dir %{_libdir}/cmake/Qt5PublishSubscribe %{_libdir}/cmake/Qt5PublishSubscribe/*.cmake -%dir %{_libdir}/cmake/Qt5ServiceFramework %{_libdir}/cmake/Qt5ServiceFramework/*.cmake -%dir %{_libdir}/cmake/Qt5SystemInfo %{_libdir}/cmake/Qt5SystemInfo/*.cmake %{_qt5_archdatadir}/mkspecs/modules/*.pri %{_qt5_includedir}/QtPublishSubscribe/ @@ -175,7 +169,6 @@ cp -a ./include/* %{buildroot}%{_qt5_includedir} %{_qt5_docdir}/html/qtsysteminfo/ %files examples -%dir %{_qt5_examplesdir}/systeminfo %{_qt5_examplesdir}/systeminfo/*.pro %{_qt5_examplesdir}/systeminfo/inputinfo/ %{_qt5_examplesdir}/systeminfo/qml-battery/ 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 a230daf24e..e55f9ff084 100644 --- a/anda/lib/quickjs-ng/quickjs-ng.spec +++ b/anda/lib/quickjs-ng/quickjs-ng.spec @@ -1,8 +1,8 @@ %global _distro_extra_cflags -Wno-discarded-qualifiers -Wno-maybe-uninitialized Name: quickjs-ng -Version: 0.12.1 -Release: 1%?dist +Version: 0.15.1 +Release: 1%{?dist} License: MIT Summary: A mighty JavaScript engine URL: https://github.com/quickjs-ng/quickjs @@ -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/rda/librda.spec b/anda/lib/rda/librda.spec index 49a5b19ecc..632562c14b 100644 --- a/anda/lib/rda/librda.spec +++ b/anda/lib/rda/librda.spec @@ -1,9 +1,9 @@ Name: librda Version: 0.0.5 -Release: 1%?dist +Release: 2%?dist Summary: Remote Desktop Awareness Shared Library Group: System Environment/Libraries -License: LGPL2.1+ or GPL3+ +License: LGPL-2.1-or-later AND GPL-3.0-or-later URL: https://github.com/ArcticaProject/librda Source0: %url/archive/refs/tags/%version.tar.gz Requires: glib2 glibc @@ -16,10 +16,12 @@ BuildRequires: clang gcc make autoconf libtool gettext-devel %prep %autosetup -%build +%conf autoupdate autoreconf -vfi %configure --disable-static --enable-x2go --enable-ogon + +%build %make_build %install diff --git a/anda/lib/rtmpdump/rtmpdump.spec b/anda/lib/rtmpdump/rtmpdump.spec index 27e9873f3c..0e6581ac0b 100644 --- a/anda/lib/rtmpdump/rtmpdump.spec +++ b/anda/lib/rtmpdump/rtmpdump.spec @@ -4,10 +4,9 @@ Name: rtmpdump Version: 2.6^%{commit_date}git%{shortcommit} -Release: 1%{?dist} +Release: 2%{?dist} Summary: Toolkit for RTMP streams -# The tools are GPLv2+, but the he library is LGPLv2+. -License: GPLv2+ +License: GPL-2.0-or-later AND LGPL-2.0-or-later URL: https://git.ffmpeg.org/gitweb/%{name}.git BuildRequires: gcc BuildRequires: git diff --git a/anda/lib/sdbus-cpp/sdbus-cpp.terra.spec b/anda/lib/sdbus-cpp/sdbus-cpp.terra.spec index 1d2dcc4de6..eaa8022cd7 100644 --- a/anda/lib/sdbus-cpp/sdbus-cpp.terra.spec +++ b/anda/lib/sdbus-cpp/sdbus-cpp.terra.spec @@ -4,8 +4,8 @@ %global realname sdbus-cpp Name: %realname.terra -Version: 2.2.1 -Release: 1%?dist +Version: 2.3.1 +Release: 1%{?dist} Summary: High-level C++ D-Bus library License: LGPL-2.1-only @@ -98,7 +98,7 @@ mv %{buildroot}%{_sysconfdir}/dbus-1/system.d/org.sdbuscpp.integrationtests.conf rm -rf %{buildroot}%{_sysconfdir} # temporary bundle sdbus-cpp-1 to allow dnf5 rebuild -cp %{_libdir}/libsdbus-c++.so.1.* %{buildroot}%{_libdir} +%dnl cp %{_libdir}/libsdbus-c++.so.1.* %{buildroot}%{_libdir} %files @@ -111,7 +111,7 @@ cp %{_libdir}/libsdbus-c++.so.1.* %{buildroot}%{_libdir} %{_libdir}/libsdbus-c++.so.%{libso_major}{,.*} # temporary bundle sdbus-cpp-1 to allow dnf5 rebuild -%{_libdir}/libsdbus-c++.so.1{,.*} +%dnl %{_libdir}/libsdbus-c++.so.1{,.*} %files devel diff --git a/anda/lib/tdlib/anda.hcl b/anda/lib/tdlib/anda.hcl index bedb540c20..cf2cff9a96 100644 --- a/anda/lib/tdlib/anda.hcl +++ b/anda/lib/tdlib/anda.hcl @@ -4,5 +4,6 @@ project pkg { } labels { nightly = 1 + large = 1 } } diff --git a/anda/lib/tdlib/tdlib-nightly.spec b/anda/lib/tdlib/tdlib-nightly.spec index 6ac3ca94a7..497df21261 100644 --- a/anda/lib/tdlib/tdlib-nightly.spec +++ b/anda/lib/tdlib/tdlib-nightly.spec @@ -1,11 +1,11 @@ -%global commit af0cb1d30a1e5cb1a10cd83b48998ca9ea9ce249 -%global ver 1.8.62 -%global commit_date 20260304 +%global commit a17f87c4cff7b90b278d12b91ba0614383aaee82 +%global ver 1.8.65 +%global commit_date 20260614 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: tdlib-nightly Version: %ver^%commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} License: BSL-1.0 URL: https://github.com/tdlib/td Summary: Cross-platform library for building Telegram clients diff --git a/anda/lib/vo-aacenc/vo-aacenc.spec b/anda/lib/vo-aacenc/vo-aacenc.spec index 4960ce342f..3c7badc407 100644 --- a/anda/lib/vo-aacenc/vo-aacenc.spec +++ b/anda/lib/vo-aacenc/vo-aacenc.spec @@ -24,8 +24,10 @@ developing applications that use %{name}. %prep %autosetup -n %{name}-%{version} -%build +%conf %configure --disable-static + +%build make %{?_smp_mflags} %install diff --git a/anda/lib/wails/v2/wails.spec b/anda/lib/wails/v2/wails.spec index 849913d576..76ba8a7bbf 100644 --- a/anda/lib/wails/v2/wails.spec +++ b/anda/lib/wails/v2/wails.spec @@ -1,10 +1,10 @@ %global goipath github.com/wailsapp/wails/v2 -Version: 2.11.0 +Version: 2.12.0 %gometa -f Name: wails -Release: 1%?dist +Release: 1%{?dist} Summary: Create beautiful applications using Go License: MIT diff --git a/anda/lib/wails/v3/wails3.spec b/anda/lib/wails/v3/wails3.spec index 73bcd0eb1d..6b5fde6533 100644 --- a/anda/lib/wails/v3/wails3.spec +++ b/anda/lib/wails/v3/wails3.spec @@ -1,5 +1,5 @@ -%global ver v3.0.0-alpha.74 -%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} @@ -32,7 +32,7 @@ Provides: wails-v3 %gopkg %prep -%git_clone https://github.com/wailsapp/wails v3-alpha +%git_clone https://github.com/wailsapp/wails v3-beta %build pushd v3/cmd/wails3 diff --git a/anda/lib/xavs/xavs.spec b/anda/lib/xavs/xavs.spec index 54ee4d9312..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,16 +40,17 @@ 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 -%build +%conf %configure \ --disable-asm \ --enable-pic \ - --enable-shared \ - --extra-cflags="-Wno-int-conversion -Wno-declaration-missing-parameter-type" + --enable-shared + +%build %make_build %install diff --git a/anda/lib/xavs2/xavs2.spec b/anda/lib/xavs2/xavs2.spec index 6867cb68b3..43b15a63f0 100644 --- a/anda/lib/xavs2/xavs2.spec +++ b/anda/lib/xavs2/xavs2.spec @@ -49,7 +49,7 @@ This package contains the shared library development files. %autosetup %endif -%build +%conf cd build/linux export CFLAGS="%{optflags} -Wno-incompatible-pointer-types" %configure \ @@ -67,6 +67,8 @@ sed -i \ -e 's|CFLAGS=.*%{optflags}|CFLAGS=%{optflags}|g' \ config.mak +%build +cd build/linux %make_build %install diff --git a/anda/lib/zlib/zlib.spec b/anda/lib/zlib/zlib.spec index 67324b9dab..96fb36cb6e 100644 --- a/anda/lib/zlib/zlib.spec +++ b/anda/lib/zlib/zlib.spec @@ -19,14 +19,10 @@ BuildRequires: gcc %pkg_static_files %prep -%autosetup -export CFLAGS="%optflags" -export LDFLAGS="%build_ldflags" -./configure --libdir=%_libdir \ - --includedir=%_includedir \ - --sysconfdir=%_sysconfdir \ - --localstatedir=%_localstatedir \ - --prefix=%_prefix +%autosetup + +%conf +%configure %build %make_build @@ -41,5 +37,8 @@ export LDFLAGS="%build_ldflags" %_libdir/libz.so.* %changelog +* Tue Apr 21 2026 Owen Zimmerman +- Use %conf and %configure + * Wed Nov 26 2025 metcya - package zlib diff --git a/anda/misc/activate-linux/activate-linux.spec b/anda/misc/activate-linux/activate-linux.spec index e231a38f60..05c3db48e5 100644 --- a/anda/misc/activate-linux/activate-linux.spec +++ b/anda/misc/activate-linux/activate-linux.spec @@ -1,5 +1,5 @@ -%global commit 347a579411fe871a6a1a4b9989384dddcd477ad5 -%global date 20251104 +%global commit cdca637ba63e8a56bda47fe90e55409d3344120d +%global date 20260520 %global short %(c=%{commit}; echo ${c:0:7}) %global ver 1.1.0 @@ -7,7 +7,7 @@ Name: activate-linux Summary: The "Activate Windows" watermark ported to Linux Version: %{ver}^%{date}git.%{short} License: GPL-3.0-only -Release: 1%?dist +Release: 1%{?dist} URL: https://github.com/MrGlockenspiel/activate-linux Source0: %{url}/archive/%{commit}.tar.gz BuildRequires: clang diff --git a/anda/misc/android-udev-rules/android-udev-rules.spec b/anda/misc/android-udev-rules/android-udev-rules.spec index b7dd5cd982..93f56ce189 100644 --- a/anda/misc/android-udev-rules/android-udev-rules.spec +++ b/anda/misc/android-udev-rules/android-udev-rules.spec @@ -1,7 +1,7 @@ #? https://github.com/M0Rf30/android-udev-rules/blob/main/rpm/android-udev-rules.spec Name: android-udev-rules -Version: 20250525 -Release: 1%?dist +Version: 20260423 +Release: 1%{?dist} Summary: Udev rules to connect Android devices to your linux box License: GPL-3.0-or-later URL: https://github.com/M0Rf30/android-udev-rules diff --git a/anda/misc/arrpc/arrpc.spec b/anda/misc/arrpc/arrpc.spec index 343cb0449a..511c3fa4f6 100644 --- a/anda/misc/arrpc/arrpc.spec +++ b/anda/misc/arrpc/arrpc.spec @@ -1,10 +1,10 @@ %define debug_package %nil %define __strip /bin/true -%global commit 87c7c6f67ab8ad440e2ca0bdabce9626226bc25b +%global commit d4ce31f313eaf864f46576ee98fbf88c9ef47036 Name: arrpc -Version: 3.6.0 -Release: 1%?dist +Version: 3.7.0 +Release: 1%{?dist} Summary: Open Discord RPC server for atypical setups License: MIT URL: https://arrpc.openasar.dev diff --git a/anda/misc/chawan/anda.hcl b/anda/misc/chawan/anda.hcl new file mode 100644 index 0000000000..d5c68f773f --- /dev/null +++ b/anda/misc/chawan/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "chawan.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/misc/chawan/chawan.spec b/anda/misc/chawan/chawan.spec new file mode 100644 index 0000000000..6595be2378 --- /dev/null +++ b/anda/misc/chawan/chawan.spec @@ -0,0 +1,62 @@ +%global commit 1f904096e3c6fe2e825d78f1245f14855db23cb6 +%global commit_date 20260322 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%define debug_package %nil + +Name: chawan +Version: 0~%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: TUI web (and (S)FTP, Gopher, Gemini, ...) browser with CSS, inline image and JavaScript support +URL: https://github.com/kachick/chawan +Source0: %url/archive/%commit/chawan-%commit.tar.gz +License: Unlicense +BuildRequires: nim +BuildRequires: gcc +BuildRequires: libssh2-devel +BuildRequires: openssl-devel +BuildRequires: brotli-devel +BuildRequires: pkgconf-pkg-config +BuildRequires: make +Packager: apolunar + +%description +TUI web (and (S)FTP, Gopher, Gemini, ...) browser with CSS, inline image and JavaScript support. + +It uses its own small browser engine developed from scratch, +which can nevertheless display many websites in a manner similar to major graphical browsers. + +It can also be used as a terminal pager. + +%prep +%autosetup -n chawan-%commit + +%build +%make_build + +%install +%make_install PREFIX=/usr + +%files +%{_bindir}/cha +%{_bindir}/mancha +%{_libexecdir}/chawan/ +%{_mandir}/man1/cha.1.* +%{_mandir}/man1/mancha.1.* +%{_mandir}/man5/cha-config.5.* +%{_mandir}/man5/cha-localcgi.5.* +%{_mandir}/man5/cha-mailcap.5.* +%{_mandir}/man5/cha-mime.types.5.* +%{_mandir}/man5/cha-urimethodmap.5.* +%{_mandir}/man7/cha-api.7.* +%{_mandir}/man7/cha-css.7.* +%{_mandir}/man7/cha-image.7.* +%{_mandir}/man7/cha-protocols.7.* +%{_mandir}/man7/cha-terminal.7.* +%{_mandir}/man7/cha-troubleshooting.7.* +%license UNLICENSE +%doc README.md + +%changelog +* Fri Mar 20 2026 apolunar +- Initial commit diff --git a/anda/misc/chawan/update.rhai b/anda/misc/chawan/update.rhai new file mode 100644 index 0000000000..2783072dfd --- /dev/null +++ b/anda/misc/chawan/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("kachick/chawan")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/misc/click/click.spec b/anda/misc/click/click.spec index 57d8d2815c..d7a24b24e3 100644 --- a/anda/misc/click/click.spec +++ b/anda/misc/click/click.spec @@ -4,9 +4,9 @@ Name: click Version: 0.5.2 -Release: 2%?dist +Release: 4%?dist Summary: An app building method -License: LGPL-3.0 +License: LGPL-3.0-or-later URL: https://gitlab.com/ubports/development/core/click Source0: %{url}/-/archive/%commit/click-%commit.tar.gz @@ -58,12 +58,14 @@ Provides HTML and Manpage (documentation) for Click. %prep %autosetup -n click-%commit -%build +%conf NOCONFIGURE=1 \ ./autogen.sh export CFLAGS="$CFLAGS -Wno-implicit-function-declaration" %configure + +%build %make_build %install diff --git a/anda/misc/continuwuity/anda.hcl b/anda/misc/continuwuity/anda.hcl new file mode 100644 index 0000000000..c92b70683c --- /dev/null +++ b/anda/misc/continuwuity/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "continuwuity.spec" + } +} diff --git a/anda/misc/continuwuity/continuwuity.spec b/anda/misc/continuwuity/continuwuity.spec new file mode 100644 index 0000000000..697e3efb99 --- /dev/null +++ b/anda/misc/continuwuity/continuwuity.spec @@ -0,0 +1,76 @@ +Name: continuwuity +Version: 0.5.10 +Release: 2%{?dist} +Summary: A Matrix homeserver written in Rust. +License: (MIT OR Apache-2.0 OR BSD-3-Clause) AND ((MIT OR Apache-2.0) AND NCSA) AND Unlicense AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND (MIT OR Apache-2.0 OR Zlib) AND (0BSD OR MIT OR Apache-2.0) AND CDLA-Permissive-2.0 AND BSD-2-Clause AND Zlib AND MIT AND (MIT OR Apache-2.0 OR BSD-1-Clause) AND BlueOak-1.0.0 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 Unicode-3.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (CC0-1.0 OR Apache-2.0) AND Apache-2.0 AND ISC AND (BSD-3-Clause OR Apache-2.0) AND BSD-3-Clause AND MIT AND ISC AND ((MIT OR Apache-2.0) AND Apache-2.0) AND 0BSD AND BSD-3-Clause AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (Unlicense OR MIT) + +URL: https://continuwuity.org +Source0: https://forgejo.ellis.link/continuwuation/continuwuity/archive/v%{version}.tar.gz + +BuildRequires: cargo-rpm-macros >= 25 +BuildRequires: systemd-rpm-macros +# Needed to build rust-librocksdb-sys +BuildRequires: clang +BuildRequires: liburing-devel +BuildRequires: anda-srpm-macros +BuildRequires: rust-srpm-macros + +Requires: liburing +Requires: glibc +Requires: libstdc++ +Packager: Julian Anderson + +%global _description %{expand: +A Matrix homeserver written in Rust, the official continuation of the conduwuit homeserver.} + +%description %{_description} + +%prep +%autosetup -n continuwuity +# Here's the one legally required mystery incantation in this file. +# Some of our dependencies have source files which are (for some reason) marked as executable. +# Files in .cargo/registry/ are copied into /usr/src/ by the debuginfo machinery +# at the end of the build step, and then the BRP shebang mangling script checks +# the entire buildroot to find executable files, and fails the build because +# it thinks Rust's file attributes are shebangs because they start with `#!`. +# So we prevent that mangler from kicking in. +%undefine __brp_mangle_shebangs +%cargo_prep_online + +%build +%cargo_build +%cargo_vendor_manifest_online +%cargo_license_summary_online + +%install +install -Dpm0755 target/rpm/conduwuit -t %{buildroot}%{_bindir} +install -Dpm0644 pkg/conduwuit.service -t %{buildroot}%{_unitdir} +install -Dpm0600 conduwuit-example.toml %{buildroot}%{_sysconfdir}/conduwuit/conduwuit.toml +%{cargo_license_online} > LICENSE.dependencies + +%files +%license LICENSE +%license LICENSE.dependencies +%license src/core/matrix/state_res/LICENSE +%doc CODE_OF_CONDUCT.md +%doc CONTRIBUTING.md +%doc README.md +%doc SECURITY.md +%config(noreplace) %{_sysconfdir}/conduwuit/conduwuit.toml + +%{_bindir}/conduwuit +%{_unitdir}/conduwuit.service +# Do not create /var/lib/conduwuit, systemd will create it if necessary + +%post +%systemd_post conduwuit.service + +%preun +%systemd_preun conduwuit.service + +%postun +%systemd_postun_with_restart conduwuit.service + +%changelog +* Sun Jun 28 2026 julian45 +- Initial package diff --git a/anda/misc/continuwuity/update.rhai b/anda/misc/continuwuity/update.rhai new file mode 100644 index 0000000000..3385e279c6 --- /dev/null +++ b/anda/misc/continuwuity/update.rhai @@ -0,0 +1,3 @@ +let req = new_req("https://forgejo.ellis.link/api/v1/repos/continuwuation/continuwuity/releases/latest"); +let ver = req.get().json().name; +rpm.version(ver); diff --git a/anda/misc/exquisite-linux-templates/update.rhai b/anda/misc/exquisite-linux-templates/update.rhai index 7f6a3c1afd..0eca0b00d7 100644 --- a/anda/misc/exquisite-linux-templates/update.rhai +++ b/anda/misc/exquisite-linux-templates/update.rhai @@ -1,6 +1,4 @@ -import "andax/bump_extras.rhai" as bump; - -rpm.global("commit", bump::codeberg_commit("nathandyer/exquisite-linux-templates")); +rpm.global("commit", codeberg_commit("nathandyer/exquisite-linux-templates")); if rpm.changed() { rpm.global("commit_date", date()); } diff --git a/anda/misc/fx-autoconfig/anda.hcl b/anda/misc/fx-autoconfig/anda.hcl new file mode 100644 index 0000000000..d76c74f4d9 --- /dev/null +++ b/anda/misc/fx-autoconfig/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "fx-autoconfig.spec" + } +} diff --git a/anda/misc/fx-autoconfig/fx-autoconfig.spec b/anda/misc/fx-autoconfig/fx-autoconfig.spec new file mode 100644 index 0000000000..2df1ea1ae2 --- /dev/null +++ b/anda/misc/fx-autoconfig/fx-autoconfig.spec @@ -0,0 +1,39 @@ +%global commit d469a80f12e286c0e937d8b93c01dfc2d55dca8f +%global commit_date 20260504 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: fx-autoconfig +Version: 0~%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: Firefox userChrome.js manager +Packager: Anna Simmons + +License: MPL-2.0 +URL: https://github.com/MrOtherGuy/fx-autoconfig +Source0: https://github.com/MrOtherGuy/fx-autoconfig/archive/%commit.tar.gz +Requires: firefox +BuildArch: noarch + +%description +%{summary}. + +%prep +%autosetup -n fx-autoconfig-%commit + +%build + +%install +mkdir -p %{buildroot}%{_libdir}/firefox + +install -Dm644 program/config.js %{buildroot}%{_libdir}/firefox/ +cp -pr program/defaults %{buildroot}%{_libdir}/firefox/defaults + +%files +%license LICENSE +%doc readme.md +%{_libdir}/firefox/config.js +%{_libdir}/firefox/defaults/ + +%changelog +* Thu May 21 2026 Anna Simmons +- Initial package build diff --git a/anda/misc/fx-autoconfig/update.rhai b/anda/misc/fx-autoconfig/update.rhai new file mode 100644 index 0000000000..af3101ce9c --- /dev/null +++ b/anda/misc/fx-autoconfig/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("MrOtherGuy/fx-autoconfig")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/misc/gradle-completions/gradle-completions.spec b/anda/misc/gradle-completions/gradle-completions.spec index 9e6e7fe95e..016abccdac 100644 --- a/anda/misc/gradle-completions/gradle-completions.spec +++ b/anda/misc/gradle-completions/gradle-completions.spec @@ -1,6 +1,6 @@ Name: gradle-completions -Version: 9.3.1 -Release: 1%?dist +Version: 9.5.0 +Release: 1%{?dist} Summary: Gradle tab completion for bash and zsh License: MIT URL: https://github.com/gradle/gradle-completion diff --git a/anda/misc/gsettings-ubuntu-touch-schemas/gsettings-ubuntu-touch-schemas.spec b/anda/misc/gsettings-ubuntu-touch-schemas/gsettings-ubuntu-touch-schemas.spec index df48349ea7..36b9f38015 100644 --- a/anda/misc/gsettings-ubuntu-touch-schemas/gsettings-ubuntu-touch-schemas.spec +++ b/anda/misc/gsettings-ubuntu-touch-schemas/gsettings-ubuntu-touch-schemas.spec @@ -1,6 +1,6 @@ Name: gsettings-ubuntu-touch-schemas Version: 0.0.7+21.10.20210712 -Release: %autorelease +Release: 1%{?dist} Summary: Shared GSettings schemas for Ubuntu touch and Unity BuildArch: noarch @@ -23,11 +23,13 @@ settings shared by various components of a Ubuntu environment. %prep %autosetup -c -%build +%conf NOCONFIGURE=1 \ ./autogen.sh %configure + +%build %make_build %install diff --git a/anda/misc/hollywood/anda.hcl b/anda/misc/hollywood/anda.hcl new file mode 100644 index 0000000000..7593d84d9c --- /dev/null +++ b/anda/misc/hollywood/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "hollywood.spec" + } +} diff --git a/anda/misc/hollywood/hollywood.spec b/anda/misc/hollywood/hollywood.spec new file mode 100644 index 0000000000..fdb40420ea --- /dev/null +++ b/anda/misc/hollywood/hollywood.spec @@ -0,0 +1,77 @@ +Name: hollywood +Version: 1.25 +Release: 1%?dist +Summary: Fill your console with Hollywood melodrama technobabble +URL: https://github.com/dustinkirkland/hollywood +Source0: %{url}/archive/refs/tags/%{version}.tar.gz +License: Apache-2.0 +Recommends: apg +Recommends: bmon +Recommends: byobu +Recommends: util-linux +Recommends: ccze +Recommends: cmatrix +Recommends: coreutils +Recommends: htop +Recommends: jp2a +Recommends: mlocate +Requires: moreutils +Recommends: mplayer +Recommends: openssh-client +Recommends: speedometer +Recommends: tree +Requires: man +Requires: python3-pygments +Requires: tmux +Recommends: byobu +Recommends: caca-utils +Recommends: newsbeuter +Requires: perl-base +Recommends: rsstail +Recommends: ticker +Requires: wget +Recommends: w3m +Recommends: jp2a +BuildArch: noarch +Packager: apolunar + +%description +Fill your console with Hollywood melodrama technobabble. + +This utility splits your terminal into multiple panes of genuine technobabble, +perfectly suitable for any Hollywood geek melodrama. +It is particularly suitable on any number of computer consoles in the +background of any excellent schlock technothriller. + +%prep +%autosetup + +%build + +%global _libdir /usr/lib +%install +mkdir -p %{buildroot}%{_libdir}/hollywood +mkdir -p %{buildroot}%{_datadir}/wallstreet +mkdir -p %{buildroot}%{_datadir}/hollywood +mkdir -p %{buildroot}%{_mandir}/man1 +install -Dm 755 bin/hollywood %{buildroot}%{_bindir}/hollywood +install -Dm 755 bin/wallstreet %{buildroot}%{_bindir}/wallstreet +install -Dm 755 lib/hollywood/* %{buildroot}%{_libdir}/hollywood/ +install -Dm 644 share/man/man1/* %{buildroot}%{_mandir}/man1/ +install -Dm 644 share/wallstreet/* %{buildroot}%{_datadir}/wallstreet/ +install -Dm 644 share/hollywood/* %{buildroot}%{_datadir}/hollywood/ + +%files +%{_bindir}/hollywood +%{_bindir}/wallstreet +%{_libdir}/hollywood/ +%{_mandir}/man1/hollywood.1.* +%{_mandir}/man1/wallstreet.1.* +%{_datadir}/wallstreet/ +%{_datadir}/hollywood/ +%license debian/copyright +%doc README.md + +%changelog +* Fri Mar 20 2026 apolunar +- Initial commit diff --git a/anda/misc/hollywood/update.rhai b/anda/misc/hollywood/update.rhai new file mode 100644 index 0000000000..977d810620 --- /dev/null +++ b/anda/misc/hollywood/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("dustinkirkland/hollywood")); 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/kew/anda.hcl b/anda/misc/kew/anda.hcl new file mode 100644 index 0000000000..a72c67e69c --- /dev/null +++ b/anda/misc/kew/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "kew.spec" + } +} diff --git a/anda/misc/kew/kew.spec b/anda/misc/kew/kew.spec new file mode 100644 index 0000000000..b3af28cf51 --- /dev/null +++ b/anda/misc/kew/kew.spec @@ -0,0 +1,50 @@ +%define debug_package %{nil} + +Name: kew +Version: 4.1.1 +Release: 1%{?dist} +Summary: Music for the Shell +URL: https://codeberg.org/ravachol/kew +Source0: %{url}/archive/v%{version}.tar.gz +License: GPL-2.0-or-later +BuildRequires: make +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: libatomic +BuildRequires: pkgconfig(taglib) +BuildRequires: pkgconfig(fftw3f) +BuildRequires: pkgconfig(chafa) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(opusfile) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vorbisfile) +BuildRequires: pkgconfig(ogg) + +Packager: Owen Zimmerman + +%description +%{summary}. + +%prep +%git_clone https://codeberg.org/ravachol/kew.git v%{version} + +%build +%make_build + +%install +%make_install PREFIX=/usr + +%find_lang kew + +%files -f kew.lang +%license LICENSE +%doc README.md +%lang(zh_CN) %doc README_zh_CN.md +%{_bindir}/kew +%{_datadir}/kew/themes/*.theme +%{_datadir}/kew/themes/*.txt +%{_mandir}/man1/kew.1.* + +%changelog +* Thu Apr 09 2026 Owen Zimmerman +- Initial commit diff --git a/anda/misc/kew/update.rhai b/anda/misc/kew/update.rhai new file mode 100644 index 0000000000..2a85ca96ea --- /dev/null +++ b/anda/misc/kew/update.rhai @@ -0,0 +1 @@ +rpm.version(codeberg("ravachol/kew")); diff --git a/anda/misc/miraclecast/anda.hcl b/anda/misc/miraclecast/anda.hcl new file mode 100644 index 0000000000..b4d97dcb82 --- /dev/null +++ b/anda/misc/miraclecast/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "miraclecast.spec" + } +} diff --git a/anda/misc/miraclecast/miraclecast.spec b/anda/misc/miraclecast/miraclecast.spec new file mode 100644 index 0000000000..e2859f3d45 --- /dev/null +++ b/anda/misc/miraclecast/miraclecast.spec @@ -0,0 +1,48 @@ +%global commit 0b7f1f1f6586dc65ff480f3cda5c2170a70aa020 +%global commit_date 20260310 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%global ver 1.0 + +Name: miraclecast +Version: %{ver}^%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: Connect external monitors to your system via Wifi-Display specification also known as Miracast +License: LGPL-2.1-or-later AND GPL-2.0-only +URL: https://github.com/albfan/miraclecast +Source0: %{url}/archive/%{commit}/%{name}-%{commit}.tar.gz +Packager: Owen Zimmerman +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: readline-devel +BuildSystem: cmake +BuildOption(conf): -DCMAKE_POSITION_INDEPENDENT_CODE=ON +BuildOption(conf): -DCMAKE_POLICY_VERSION_MINIMUM=3.5 + +%description +The MiracleCast project provides software to connect +external monitors to your system via Wi-Fi. It is compatible +to the Wifi-Display specification also known as Miracast. +MiracleCast implements the Display-Source as well as Display-Sink side. + +%pkg_completion -B miracle-sinkctl miracle-wifictl miracle-wifid + +%files +%license COPYING LICENSE_gdhcp LICENSE_htable LICENSE_lgpl +%doc README.md +%config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.miracle.conf +%{_bindir}/gstplayer +%{_bindir}/miracle-dhcp +%{_bindir}/miracle-gst +%{_bindir}/miracle-sinkctl +%{_bindir}/miracle-uibcctl +%{_bindir}/miracle-wifictl +%{_bindir}/miracle-wifid +%{_bindir}/uibc-viewer + +%changelog +* Mon Jun 29 2026 Owen Zimmerman +- Initial commit diff --git a/anda/misc/miraclecast/update.rhai b/anda/misc/miraclecast/update.rhai new file mode 100644 index 0000000000..a46ce4ccd3 --- /dev/null +++ b/anda/misc/miraclecast/update.rhai @@ -0,0 +1,7 @@ +rpm.global("ver", gh("albfan/miraclecast")); + +rpm.global("commit", gh_commit("albfan/miraclecast")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/misc/nmgui/anda.hcl b/anda/misc/nmgui/anda.hcl new file mode 100644 index 0000000000..1b61c728ca --- /dev/null +++ b/anda/misc/nmgui/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "nmgui.spec" + } +} diff --git a/anda/misc/nmgui/nmgui.spec b/anda/misc/nmgui/nmgui.spec new file mode 100644 index 0000000000..8368644389 --- /dev/null +++ b/anda/misc/nmgui/nmgui.spec @@ -0,0 +1,82 @@ +%global appid com.github.s-adi-dev.nmgui +%global org com.github.s-adi-dev + +Name: nmgui +Version: 1.0.0 +Release: 1%?dist +Summary: A simple and lightweight GTK4-based GUI for managing Wi-Fi using NetworkManager (nmcli) under the hood +License: GPL-3.0-only +URL: https://github.com/s-adi-dev/nmgui +Source0: %url/archive/refs/tags/v%version.tar.gz +Source1: https://raw.githubusercontent.com/s-adi-dev/nmgui/refs/heads/main/README.md +Source2: https://raw.githubusercontent.com/s-adi-dev/nmgui/refs/heads/main/nmgui.desktop +BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-setuptools +BuildRequires: desktop-file-utils +BuildArch: noarch +Packager: madonuko + +%description +%summary. + +%prep +%autosetup +cp %{S:1} %{S:2} . +cat< pyproject.toml +[build-system] +requires = ["setuptools>=64.0"] +build-backend = "setuptools.build_meta" +[project] +name = "%name" +version = "%version" +description = "%summary" +license = "GPL-3.0-only" +readme = "README.md" +requires-python = ">=3.9" +dependencies = [ + "nmcli>=1.5.0", + "PyGObject>=3.52.3", + "pycairo>=1.28.0", +] +[project.urls] +Homepage = "https://github.com/s-adi-dev/nmgui" +[project.scripts] +nmgui = "nmgui.main:main" +[tool.setuptools.packages.find] +include = ["nmgui*"] +PYEOF +# Add main() entry point function +sed -i '/^if __name__ == "__main__":$/c\def main():' app/main.py +cat >> app/main.py << 'PYEOF' + +if __name__ == "__main__": + main() +PYEOF +mv app nmgui +touch nmgui/__init__.py +# Fix intra-package imports to use nmgui. prefix +sed -i 's/^from models import/from nmgui.models import/' nmgui/main.py nmgui/network_service.py nmgui/ui/*.py +sed -i 's/^from network_service import/from nmgui.network_service import/' nmgui/main.py nmgui/ui/*.py +sed -i 's/^from ui\./from nmgui.ui./' nmgui/main.py nmgui/ui/*.py + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files %name + +%desktop_file_install nmgui.desktop +%terra_appstream + +%files -f %{pyproject_files} +%doc README.md +%license LICENSE +%_bindir/nmgui +%_appsdir/nmgui.desktop +%_metainfodir/%appid.metainfo.xml + +%changelog +* Sun Jun 28 2026 madonuko - 1.0.0-1 +- Initial package. diff --git a/anda/misc/nmgui/update.rhai b/anda/misc/nmgui/update.rhai new file mode 100644 index 0000000000..3108221bac --- /dev/null +++ b/anda/misc/nmgui/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("s-adi-dev/nmgui")); diff --git a/anda/misc/openbangla-keyboard/openbangla-keyboard-nightly.spec b/anda/misc/openbangla-keyboard/openbangla-keyboard-nightly.spec index 629121fd31..f6a71f0bda 100644 --- a/anda/misc/openbangla-keyboard/openbangla-keyboard-nightly.spec +++ b/anda/misc/openbangla-keyboard/openbangla-keyboard-nightly.spec @@ -1,11 +1,11 @@ %global ver 2.0.0 -%global commit 018c30253648dbf56bee79c280535a72604f3d8a -%global commit_date 20260302 +%global commit 06d91e18e3e6ecac8f138a1a84edd5ffe0637a7c +%global commit_date 20260514 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: openbangla-keyboard-nightly Version: %ver^%commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: An OpenSource, Unicode compliant Bengali Input Method License: GPL-3.0-or-later URL: https://openbangla.github.io/ 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/prime-run/prime-run.spec b/anda/misc/prime-run/prime-run.spec index 6b9d547dfe..546d7e5a0c 100644 --- a/anda/misc/prime-run/prime-run.spec +++ b/anda/misc/prime-run/prime-run.spec @@ -1,10 +1,10 @@ Name: prime-run Version: 1.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A simple script to run an application with NVIDIA PRIME GPU offloading License: MIT -URL: https://terra.fyralabs.com +URL: https://terrapkg.com Source0: prime-run.sh # Bash script diff --git a/anda/misc/sass/sass.spec b/anda/misc/sass/sass.spec index 3a89c45a88..e5f843a6db 100644 --- a/anda/misc/sass/sass.spec +++ b/anda/misc/sass/sass.spec @@ -4,8 +4,8 @@ %define _build_id_links none Name: sass -Version: 1.97.3 -Release: 1%?dist +Version: 1.101.0 +Release: 1%{?dist} Summary: The reference implementation of Sass, written in Dart License: MIT URL: https://sass-lang.com/dart-sass 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/shitpost/shitpost.spec b/anda/misc/shitpost/shitpost.spec index 06e9c80e59..f4d1c0f290 100644 --- a/anda/misc/shitpost/shitpost.spec +++ b/anda/misc/shitpost/shitpost.spec @@ -1,6 +1,6 @@ Name: shitpost Version: 1 -Release: 1%?dist +Release: 2%?dist Summary: A tool to create memes using CLI License: WTFPL URL: https://redd.it/5ezk1f @@ -8,7 +8,7 @@ Source0: https://raw.githubusercontent.com/magnus-ISU/aur-scripts/master/ Requires: bash BuildArch: noarch -Packager: Its-J +Packager: Its-J %description %{summary}. @@ -24,5 +24,8 @@ install -Dm 755 %{SOURCE0} %{buildroot}%{_bindir}/shitpost %{_bindir}/shitpost %changelog -* Sun Nov 09 2025 Its-J +* Tue Apr 14 2026 Its-J +- Add email to my previous contributor attributions + +* Sun Nov 09 2025 Its-J - Package shitpost diff --git a/anda/misc/signal-cli/signal-cli.spec b/anda/misc/signal-cli/signal-cli.spec index 463b8ed81f..72a3bf6e1d 100644 --- a/anda/misc/signal-cli/signal-cli.spec +++ b/anda/misc/signal-cli/signal-cli.spec @@ -3,8 +3,8 @@ %define debug_package %{nil} Name: signal-cli -Version: 0.14.0 -Release: 1%?dist +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 URL: https://github.com/AsamK/signal-cli @@ -14,8 +14,8 @@ BuildArch: noarch BuildRequires: gcc-c++ BuildRequires: gradle BuildRequires: anda-srpm-macros -BuildRequires: java-21-openjdk -BuildRequires: java-21-openjdk-devel +BuildRequires: java-25-openjdk +BuildRequires: java-25-openjdk-devel BuildRequires: systemd-rpm-macros BuildRequires: make BuildRequires: asciidoc diff --git a/anda/misc/tail-tray/anda.hcl b/anda/misc/tail-tray/anda.hcl new file mode 100644 index 0000000000..a317bddfb9 --- /dev/null +++ b/anda/misc/tail-tray/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "tail-tray.spec" + } +} diff --git a/anda/misc/tail-tray/tail-tray.spec b/anda/misc/tail-tray/tail-tray.spec new file mode 100644 index 0000000000..5c5b6c839e --- /dev/null +++ b/anda/misc/tail-tray/tail-tray.spec @@ -0,0 +1,46 @@ +Name: tail-tray +Version: 0.2.33 +Release: 1%{?dist} +Summary: Tailscale tray menu and UI for the KDE Plasma Desktop +License: GPL-3.0-or-later +URL: https://github.com/SneWs/tail-tray +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: glib2-devel +BuildRequires: gettext +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qttools-devel + +Requires: tailscale +Suggests: davfs2 + +Packager: Owen Zimmerman + +%description +%{summary}. + +%prep +%autosetup + +%conf +%cmake + +%build +%cmake_build + +%install +%cmake_install + +%files +%doc README.md +%license LICENSE +%{_bindir}/%{name} +%{_appsdir}/%{name}.desktop +%{_scalableiconsdir}/tail-tray-dark.svg +%{_scalableiconsdir}/tail-tray.svg + +%changelog +* Sat May 23 2026 Owen Zimmerman +- Initial commit diff --git a/anda/misc/tail-tray/update.rhai b/anda/misc/tail-tray/update.rhai new file mode 100644 index 0000000000..bcb25762b9 --- /dev/null +++ b/anda/misc/tail-tray/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("SneWs/tail-tray")); diff --git a/anda/misc/uwufetch/uwufetch.spec b/anda/misc/uwufetch/uwufetch.spec index 0035905d8e..3de4f761db 100644 --- a/anda/misc/uwufetch/uwufetch.spec +++ b/anda/misc/uwufetch/uwufetch.spec @@ -1,13 +1,13 @@ -%global commit fe9c53ffc6570454a3b2bf8431fd713e9953597e +%global commit b02d6d4ed86129f87dff0be9e0abe091ea7e159f %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global fulldate 2026-01-14 +%global fulldate 2026-04-14 %global commit_date %(echo %{fulldate} | sed 's/-//g') %global ver 2.1 %global debug_package %{nil} Name: uwufetch Version: %{ver}^%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: A meme system info tool for Linux, based on nyan/uwu trend on r/linuxmasterrace. License: GPL-3.0 URL: https://github.com/ad-oliviero/uwufetch diff --git a/anda/misc/v2ray-domain-list-community/anda.hcl b/anda/misc/v2ray-domain-list-community/anda.hcl new file mode 100644 index 0000000000..16ab2d1a00 --- /dev/null +++ b/anda/misc/v2ray-domain-list-community/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "v2ray-domain-list-community.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/misc/v2ray-domain-list-community/update.rhai b/anda/misc/v2ray-domain-list-community/update.rhai new file mode 100644 index 0000000000..be7acc0491 --- /dev/null +++ b/anda/misc/v2ray-domain-list-community/update.rhai @@ -0,0 +1,7 @@ +rpm.global("commit", gh_commit("v2fly/domain-list-community")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + let v = gh("v2fly/domain-list-community"); + rpm.global("ver", v); +} \ No newline at end of file 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 new file mode 100644 index 0000000000..19cd960ffa --- /dev/null +++ b/anda/misc/v2ray-domain-list-community/v2ray-domain-list-community.spec @@ -0,0 +1,37 @@ +%global commit 197922d161f3a4fc0a36fa43d9668b7918b9338f +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global ver 20260628154711 +%global commit_date 20260629 + +Name: v2ray-domain-list-community +Version: %{ver}^%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: Community managed domain list (geosite.dat) for V2Ray +License: MIT +Packager: veuxit +URL: https://github.com/v2fly/domain-list-community +BuildArch: noarch + +Source0: %{url}/archive/%{commit}/%{ver}-%{commit}.tar.gz + +BuildRequires: golang +BuildRequires: go-rpm-macros go-srpm-macros anda-srpm-macros + +%description +%summary. + +%prep +%autosetup -n domain-list-community-%{commit} +go run main.go + +%install +install -Dm644 dlc.dat %{buildroot}%{_datadir}/v2ray/geosite.dat + +%files +%doc README.md +%license LICENSE +%{_datadir}/v2ray/geosite.dat + +%changelog +* Mon Mar 9 2026 veuxit - 20260309041918^20260309git.6bb4a68-1 +- Initial package release diff --git a/anda/misc/v2ray-geoip/anda.hcl b/anda/misc/v2ray-geoip/anda.hcl new file mode 100644 index 0000000000..b50cb332e3 --- /dev/null +++ b/anda/misc/v2ray-geoip/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "v2ray-geoip.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/misc/v2ray-geoip/update.rhai b/anda/misc/v2ray-geoip/update.rhai new file mode 100644 index 0000000000..8d194140ff --- /dev/null +++ b/anda/misc/v2ray-geoip/update.rhai @@ -0,0 +1,7 @@ +rpm.global("commit", gh_commit("v2fly/geoip")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + let v = gh("v2fly/geoip"); + rpm.global("ver", v); +} \ No newline at end of file diff --git a/anda/misc/v2ray-geoip/v2ray-geoip.spec b/anda/misc/v2ray-geoip/v2ray-geoip.spec new file mode 100644 index 0000000000..6204f4ead2 --- /dev/null +++ b/anda/misc/v2ray-geoip/v2ray-geoip.spec @@ -0,0 +1,43 @@ +%global commit 519243fd551caf9b118d2a34c95699ce15cd74eb +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%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} + +Name: v2ray-geoip +Version: %{ver}^%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: GeoIP for V2Ray +License: CC-BY-SA-4.0 +Packager: veuxit +URL: https://github.com/v2fly/geoip +BuildArch: noarch + +Source0: %{url}/archive/%{commit}/%{ver}-%{commit}.tar.gz +Source1: https://download.db-ip.com/free/dbip-country-lite-%year-%month.mmdb.gz + +BuildRequires: golang + +%description +%summary. + +%prep +%autosetup -n geoip-%{commit} +mkdir -p db-ip +gzip -d %SOURCE1 -c > ./db-ip/dbip-country-lite.mmdb + +%build +go run ./ -c ./config.json + +%install +install -Dm644 output/geoip.dat %{buildroot}%{_datadir}/v2ray/geoip.dat + +%files +%license LICENSE +%{_datadir}/v2ray/geoip.dat + +%changelog +* Mon Mar 9 2026 veuxit - 202603050223^20260122git.7a6498a-1 +- Initial package release diff --git a/anda/misc/vencord-installer/dev.vencord.Installer.desktop b/anda/misc/vencord-installer/dev.vencord.Installer.desktop new file mode 100644 index 0000000000..1bdd1e7134 --- /dev/null +++ b/anda/misc/vencord-installer/dev.vencord.Installer.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Vencord Installer +Type=Application +GenericName=Discord Mod Installer +Comment=Install and manage Vencord on your Discord installation +Exec=vencord-installer +Icon=dev.vencord.Installer +Categories=Network;InstantMessaging; +Keywords=discord;vencord;mod; +StartupNotify=true diff --git a/anda/misc/vencord-installer/dev.vencord.Installer.policy b/anda/misc/vencord-installer/dev.vencord.Installer.policy new file mode 100644 index 0000000000..2659c50d04 --- /dev/null +++ b/anda/misc/vencord-installer/dev.vencord.Installer.policy @@ -0,0 +1,20 @@ + + + + Vencord + https://vencord.dev + + + Run the Vencord Installer + Authentication is required to patch Discord with Vencord + + auth_admin + auth_admin + auth_admin_keep + + /usr/bin/vencord-installer + true + + diff --git a/anda/misc/vencord-installer/vencord-installer.spec b/anda/misc/vencord-installer/vencord-installer.spec index db34bea370..9d8e7e6bf7 100644 --- a/anda/misc/vencord-installer/vencord-installer.spec +++ b/anda/misc/vencord-installer/vencord-installer.spec @@ -20,14 +20,18 @@ A cross platform gui/cli app for installing Vencord.} %global godocs README.md Name: vencord-installer -Release: 1%{?dist} +Release: 2%{?dist} Provides: golang-github-vencord-installer = %{version}-%{release} Summary: A cross platform gui/cli app for installing Vencord Packager: Cappy Ishihara License: GPL-3.0-only URL: %{gourl} + Source: %{gosource} Source1: %appid.metainfo.xml +Source2: dev.vencord.Installer.desktop +Source3: dev.vencord.Installer.policy + BuildRequires: go-rpm-macros BuildRequires: go-srpm-macros BuildRequires: anda-srpm-macros @@ -43,6 +47,7 @@ BuildRequires: wayland-devel BuildRequires: libxkbcommon-devel BuildRequires: wayland-protocols-devel BuildRequires: extra-cmake-modules +BuildRequires: desktop-file-utils %description %{common_description} @@ -122,12 +127,17 @@ export CGO_LDFLAGS="${LDFLAGS}" install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ %terra_appstream -o %{SOURCE1} +%desktop_file_install %{S:2} +install -Dm644 %{SOURCE3} %{buildroot}%{_datadir}/polkit-1/actions/%{appid} %files %license LICENSE %doc README.md %{_bindir}/vencord-installer %{_datadir}/metainfo/%appid.metainfo.xml +%{_datadir}/applications/%{appid}.desktop +%{_datadir}/polkit-1/actions/%{appid} + %files cli %license LICENSE diff --git a/anda/misc/xdg-terminal-exec-nautilus/anda.hcl b/anda/misc/xdg-terminal-exec-nautilus/anda.hcl new file mode 100644 index 0000000000..f64f7b2a07 --- /dev/null +++ b/anda/misc/xdg-terminal-exec-nautilus/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "xdg-terminal-exec-nautilus.spec" + } +} diff --git a/anda/misc/xdg-terminal-exec-nautilus/update.rhai b/anda/misc/xdg-terminal-exec-nautilus/update.rhai new file mode 100644 index 0000000000..4d1b439e12 --- /dev/null +++ b/anda/misc/xdg-terminal-exec-nautilus/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("zirconium-dev/xdg-terminal-exec-nautilus")); diff --git a/anda/misc/xdg-terminal-exec-nautilus/xdg-terminal-exec-nautilus.spec b/anda/misc/xdg-terminal-exec-nautilus/xdg-terminal-exec-nautilus.spec new file mode 100644 index 0000000000..76509b6d8a --- /dev/null +++ b/anda/misc/xdg-terminal-exec-nautilus/xdg-terminal-exec-nautilus.spec @@ -0,0 +1,32 @@ +Name: xdg-terminal-exec-nautilus +Version: 0.1.0 +Release: 1%?dist +Summary: xdg-terminal-exec extension for nautilus-python +License: Apache-2.0 +Group: System +URL: https://github.com/zirconium-dev/xdg-terminal-exec-nautilus +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +BuildArch: noarch +Requires: nautilus-python +Packager: Tulip Blossom (tulilirockz@outlook.com) + +%description +%{summary}. + +%prep +%autosetup -n xdg-terminal-exec-nautilus-%{version} + +%build + +%install +install -Dpm0644 -t %{buildroot}%{_datadir}/nautilus-python/extensions/ ./xdg-terminal-exec-nautilus.py + +%files +%license LICENSE +%doc README.md +%{_datadir}/nautilus-python/extensions/xdg-terminal-exec-nautilus.py + +%changelog +* Fri Mar 13 2026 Tulip Blossom +- Initial commit diff --git a/anda/misc/zapret/zapret.spec b/anda/misc/zapret/zapret.spec index 27d2486537..f1a31169ed 100644 --- a/anda/misc/zapret/zapret.spec +++ b/anda/misc/zapret/zapret.spec @@ -1,6 +1,6 @@ Name: zapret -Version: 72.10 -Release: 1%?dist +Version: 72.12 +Release: 1%{?dist} Summary: A multi-platform Deep Packet Inspection (DPI) bypass tool License: MIT ExcludeArch: s390x 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/carla/Carla-nightly.spec b/anda/multimedia/carla/Carla-nightly.spec index 57c94d0e19..09707dacc3 100644 --- a/anda/multimedia/carla/Carla-nightly.spec +++ b/anda/multimedia/carla/Carla-nightly.spec @@ -1,12 +1,12 @@ %global pname carla %global ver 2.5.10 -%global commit 294a80145e39c0755ab9073d90fd8b9524fbfc84 +%global commit 97a9e0740baf6df2df942495c02532a624c44682 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260222 +%global commit_date 20260320 Name: Carla-nightly Version: %(echo %ver | tr -d 'v')^%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Audio plugin host # The entire source code is GPLv2+ except diff --git a/anda/multimedia/deadbeef-mpris2-plugin/deadbeef-mpris2-plugin.spec b/anda/multimedia/deadbeef-mpris2-plugin/deadbeef-mpris2-plugin.spec index d5ae65c335..e0a1609032 100644 --- a/anda/multimedia/deadbeef-mpris2-plugin/deadbeef-mpris2-plugin.spec +++ b/anda/multimedia/deadbeef-mpris2-plugin/deadbeef-mpris2-plugin.spec @@ -30,13 +30,14 @@ will only support version two. %prep %autosetup + +%conf autoreconf -fiv - - -%build %configure \ --disable-silent-rules \ --disable-static + +%build %{make_build} diff --git a/anda/multimedia/deadbeef/deadbeef.spec b/anda/multimedia/deadbeef/deadbeef.spec index 649106268f..17d0aa6642 100644 --- a/anda/multimedia/deadbeef/deadbeef.spec +++ b/anda/multimedia/deadbeef/deadbeef.spec @@ -74,7 +74,7 @@ sed -i "s|size_t|std::size_t|" external/ddb_dsp_libretro/sinc_resampler.h sed -i -re 's/^(.*)\s+([-]msse3)\s+(.*)$/\1 \3/g' external/ddb_dsp_libretro/Makefile.am %endif -# Regenerate the build files +%conf autoreconf -fiv # Remove exec permission from source files @@ -86,7 +86,6 @@ do sed -i "s|$data Shortcut Group|X-$data Shortcut Group|" deadbeef.desktop.in done -%build %configure \ --enable-ffmpeg \ --docdir=%{_defaultdocdir}/%{name}-%{version} \ @@ -102,8 +101,9 @@ done --enable-gtk3 \ --disable-pulse \ --enable-pipewire -%make_build +%build +%make_build %install %make_install @@ -119,7 +119,6 @@ sed -i -e "s!MP3!MP3;!" %{buildroot}%{_datadir}/applications/%{name}.desktop %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop - %files -f %{name}.lang %doc README ChangeLog AUTHORS %license COPYING @@ -131,13 +130,11 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_datadir}/pixmaps/%{name}.png %{_iconsdir}/hicolor/*/apps/* - %files plugins %{_libdir}/%{name}/convpresets %{_libdir}/%{name}/*.so %{_libdir}/%{name}/data68 - %changelog * Fri May 30 2025 Leigh Scott - 1.10.0-2 - Rebuild for new flac .so version 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 204be24403..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.0.1 -Release: 3%?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 eb26991671..819b1be888 100644 --- a/anda/multimedia/gpu-screen-recorder/gpu-screen-recorder.spec +++ b/anda/multimedia/gpu-screen-recorder/gpu-screen-recorder.spec @@ -1,15 +1,13 @@ -%global snapshot r1245.8e82100 - Name: gpu-screen-recorder -Version: 5.12.5 -Release: 1%?dist +Version: 5.13.9 +Release: 1%{?dist} Summary: A shadowplay-like screen recorder for Linux License: GPL-3.0-or-later URL: https://git.dec05eba.com/%{name}/about -Source: https://dec05eba.com/snapshot/%{name}.git.%{snapshot}.tar.gz +Source: https://dec05eba.com/snapshot/%{name}.git.%{version}.tar.gz BuildRequires: gcc BuildRequires: (gcc-g++ or gcc-c++) @@ -31,10 +29,11 @@ BuildRequires: meson BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(libspa-0.2) BuildRequires: pkgconfig(libglvnd) +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. @@ -64,14 +63,21 @@ Shadowplay-like screen recorder for Linux. Uses GPU acceleration to record in H. %files %license LICENSE %doc README.md -%{_bindir}/gpu-screen-recorder +%{_bindir}/%{name} %caps(cap_sys_admin+ep) %{_bindir}/gsr-kms-server +%{_datadir}/%{name}/scripts/*.sh %{_includedir}/gsr/plugin.h %{_userunitdir}/%{name}.service %{_modprobedir}/gsr-nvidia.conf %{_mandir}/man1/gsr-kms-server.1* -%{_mandir}/man1/gpu-screen-recorder.1* +%{_mandir}/man1/%{name}.1* %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!) + +* Sun Mar 15 2026 Cypress Reed +- Fix package source + +* 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 14bf43da0e..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 2025-09-26 -%global commit 4fb31db76b618aae72184c59314b839dedb42689 +%global fulldate 2026-06-17 +%global commit fe01f98a09b7b864c36ef60a146cdc4e1bf125a6 %global commit_date %(echo %{fulldate} | sed 's/-//g') %global shortcommit %(c=%{commit}; echo ${c:0:7}) @@ -44,12 +44,14 @@ Development files for the GStreamer IPU6 camera plugin. %prep %autosetup -p1 -n icamerasrc-%{commit} -autoreconf -vif -%build +%conf +autoreconf -vif export CHROME_SLIM_CAMHAL=ON export STRIP_VIRTUAL_CHANNEL_CAMHAL=ON %configure --enable-gstdrmformat --with-haladaptor + +%build %make_build %install 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 469e7906e1..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.1 -Release: 1%?dist +Version: 1.28.4 +Release: 2%{?dist} Epoch: 1 Summary: GStreamer Libav plugin License: LGPL-2.0-or-later @@ -38,7 +38,7 @@ GStreamer plugin containing libav library code. #export CFLAGS="%{optflags} -Wno-error=attributes" %meson \ -D package-name="Fedora GStreamer-plugins-ugly package" \ - -D package-origin="https://terra.fyralabs.com" \ + -D package-origin="https://terrapkg.com" \ -D doc=disabled %meson_build @@ -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 375de6d248..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.0 -Release: 2%?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 @@ -395,7 +395,7 @@ Provides: %{name}-free-devel%{?_isa} = %{?epoch}:%{version}-%{release} -D opus=enabled \ -D orc=enabled \ -D package-name="Fedora GStreamer-plugins-bad package" \ - -D package-origin="https://terra.fyralabs.com" \ + -D package-origin="https://terrapkg.com" \ -D pcapparse=enabled \ -D pnm=enabled \ -D proxy=enabled \ 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 322338fb43..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,8 +1,8 @@ %global majorminor 1.0 Name: gstreamer1-plugins-ugly -Version: 1.28.1 -Release: 1%?dist +Version: 1.28.4 +Release: 1%{?dist} Epoch: 2 Summary: GStreamer streaming media framework "ugly" plugins License: LGPL-2.0-or-later and LGPL-2.0-only @@ -40,7 +40,7 @@ This module contains a set of plugins that have good quality and are well tested %build %meson \ -D package-name="Fedora GStreamer-plugins-ugly package" \ - -D package-origin="https://terra.fyralabs.com" \ + -D package-origin="https://terrapkg.com" \ -D a52dec=enabled \ -D asfdemux=enabled \ -D cdio=enabled \ diff --git a/anda/multimedia/kvazaar/kvazaar.spec b/anda/multimedia/kvazaar/kvazaar.spec index 92ef5997b4..ada7581d78 100644 --- a/anda/multimedia/kvazaar/kvazaar.spec +++ b/anda/multimedia/kvazaar/kvazaar.spec @@ -1,8 +1,8 @@ Name: kvazaar -Version: 2.3.1 -Release: 2%{?dist} +Version: 2.3.2 +Release: 3%{?dist} Summary: An open-source HEVC encoder -License: BSD and ISC +License: BSD AND ISC URL: https://ultravideo.fi/kvazaar.html Source0: https://github.com/ultravideo/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz @@ -33,11 +33,13 @@ The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep -%autosetup -p1 +%autosetup -%build +%conf autoreconf -vif %configure --enable-static=no + +%build %make_build %install @@ -55,7 +57,7 @@ rm -fr %{buildroot}%{_docdir} %license LICENSE* %doc README.md CREDITS %{_libdir}/lib%{name}.so.7 -%{_libdir}/lib%{name}.so.7.4.0 +%{_libdir}/lib%{name}.so.7.5.0 %files devel %{_includedir}/%{name}.h diff --git a/anda/multimedia/mjpegtools/mjpegtools.spec b/anda/multimedia/mjpegtools/mjpegtools.spec index bd3a980926..d6d0a9b2dc 100644 --- a/anda/multimedia/mjpegtools/mjpegtools.spec +++ b/anda/multimedia/mjpegtools/mjpegtools.spec @@ -3,9 +3,9 @@ Name: mjpegtools Version: 2.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Tools to manipulate MPEG data -License: GPLv2 +License: GPL-2.0-or-later URL: http://mjpeg.sourceforge.net/ Source0: https://downloads.sourceforge.net/sourceforge/mjpeg/%{name}-%{version}.tar.gz BuildRequires: autoconf @@ -77,7 +77,7 @@ for f in docs/yuvfps.1 ; do iconv -f iso-8859-1 -t utf-8 $f > $f.utf8 ; mv $f.utf8 $f done -%build +%conf autoreconf -vif %configure \ --disable-static \ @@ -90,6 +90,7 @@ autoreconf -vif --with-v4l \ --without-sdlgfx +%build %make_build %install diff --git a/anda/multimedia/rtaudio/rtaudio-nightly.spec b/anda/multimedia/rtaudio/rtaudio-nightly.spec index a3ea1d31c9..6778e173bf 100644 --- a/anda/multimedia/rtaudio/rtaudio-nightly.spec +++ b/anda/multimedia/rtaudio/rtaudio-nightly.spec @@ -53,6 +53,8 @@ Provides: rtaudio-devel = %version-%release %prep %autosetup -n rtaudio-%commit + +%conf # Fix encoding issues for file in tests/teststops.cpp; do sed 's|\r||' $file > $file.tmp @@ -61,11 +63,11 @@ for file in tests/teststops.cpp; do mv -f $file.tmp2 $file done - -%build export CFLAGS="%optflags -fPIC" NOCONFIGURE=1 ./autogen.sh %configure --with-jack --with-alsa --with-pulse --enable-shared --disable-static --verbose + +%build %make_build %install diff --git a/anda/multimedia/tdf/tdf.spec b/anda/multimedia/tdf/tdf.spec index b5d838a763..8c4c842e0e 100644 --- a/anda/multimedia/tdf/tdf.spec +++ b/anda/multimedia/tdf/tdf.spec @@ -1,13 +1,13 @@ Name: tdf Version: 0.5.0 -Release: 1%?dist +Release: 2%?dist Summary: A tui-based PDF viewer URL: https://github.com/itsjunetime/tdf Source0: %url/archive/refs/tags/v%{version}.tar.gz License: AGPL-3.0 BuildRequires: cargo anda-srpm-macros cargo-rpm-macros mold fontconfig-devel mupdf glib2 libgcc clang python -Packager: Its-J +Packager: Its-J %description A terminal-based PDF viewer. @@ -38,5 +38,8 @@ install -Dm755 target/rpm/tdf %{buildroot}%{_bindir}/tdf %{_bindir}/tdf %changelog -* Wed Oct 22 2025 Its-J +* Tue Apr 14 2026 Its-J +- Add email to my previous contributor attributions + +* Wed Oct 22 2025 Its-J - Intial Commit diff --git a/anda/multimedia/vgmstream/vgmstream.spec b/anda/multimedia/vgmstream/vgmstream.spec index 82da9530fd..2f2b93f9bf 100644 --- a/anda/multimedia/vgmstream/vgmstream.spec +++ b/anda/multimedia/vgmstream/vgmstream.spec @@ -1,10 +1,10 @@ -%global commit 9633911d173cb875d1b81fd27262b360b38ac4dd +%global commit b10ff261519f24bdc86d1caedc86ca0aa99f27e1 %global shortcommit %{sub %{commit} 1 7} -%global commit_date 20260302 +%global commit_date 20260628 Name: vgmstream Version: 0~%{commit_date}git.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: A library for playback of various streamed audio formats used in video games License: ISC URL: https://vgmstream.org 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 1f7b070ac5..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,18 +44,20 @@ 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} -%build +%conf %configure \ --enable-bashcompletion \ --enable-debug \ @@ -60,6 +66,7 @@ applications that use %{name}. --bit-depth=all \ --system-libx264 +%build %make_build %install @@ -68,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 @@ -84,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 f6148d92ae..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.1 -Release: 1%?dist +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/misc/alsa-ucm-cros/alsa-ucm-cros.spec b/anda/system/alsa-ucm-cros/alsa-ucm-cros.spec similarity index 100% rename from anda/misc/alsa-ucm-cros/alsa-ucm-cros.spec rename to anda/system/alsa-ucm-cros/alsa-ucm-cros.spec diff --git a/anda/misc/alsa-ucm-cros/anda.hcl b/anda/system/alsa-ucm-cros/anda.hcl similarity index 100% rename from anda/misc/alsa-ucm-cros/anda.hcl rename to anda/system/alsa-ucm-cros/anda.hcl diff --git a/anda/misc/alsa-ucm-cros/update.rhai b/anda/system/alsa-ucm-cros/update.rhai similarity index 100% rename from anda/misc/alsa-ucm-cros/update.rhai rename to anda/system/alsa-ucm-cros/update.rhai diff --git a/anda/system/amdgpu_top/amdgpu_top.spec b/anda/system/amdgpu_top/amdgpu_top.spec new file mode 100644 index 0000000000..8140ae16fe --- /dev/null +++ b/anda/system/amdgpu_top/amdgpu_top.spec @@ -0,0 +1,56 @@ +%undefine __brp_add_determinism + +Name: amdgpu_top +Version: 0.11.5 +Release: 1%{?dist} +Summary: Tool to display AMDGPU usage +License: MIT +Packager: veuxit +URL: https://github.com/Umio-Yasuno/amdgpu_top + +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +BuildRequires: desktop-file-utils +BuildRequires: libdrm-devel +BuildRequires: cargo cargo-rpm-macros anda-srpm-macros + +%description +%summary. + +%prep +%autosetup -n %{name}-%{version} +%cargo_prep_online + +%build +%{cargo_build} --locked + +%install + +install -Dm755 target/release/amdgpu_top %{buildroot}%{_bindir}/amdgpu_top + +install -Dm644 assets/amdgpu_top.desktop %{buildroot}%{_appsdir}/amdgpu_top.desktop + +install -Dm644 assets/amdgpu_top-tui.desktop %{buildroot}%{_appsdir}/amdgpu_top-tui.desktop + +install -Dpm644 assets/io.github.umio_yasuno.amdgpu_top.metainfo.xml %{buildroot}%{_metainfodir}/io.github.umio_yasuno.amdgpu_top.metainfo.xml + +install -Dm644 "docs/amdgpu_top.1" "%{buildroot}%{_mandir}/man1/amdgpu_top.1" + +%check +%desktop_file_validate %{buildroot}%{_appsdir}/amdgpu_top.desktop +%desktop_file_validate %{buildroot}%{_appsdir}/amdgpu_top-tui.desktop + +%files +%doc README.md +%doc CHANGELOG.md +%doc AUTHORS +%license LICENSE +%{_bindir}/amdgpu_top +%{_datadir}/applications/amdgpu_top.desktop +%{_datadir}/applications/amdgpu_top-tui.desktop +%{_metainfodir}/io.github.umio_yasuno.amdgpu_top.metainfo.xml +%{_mandir}/man1/amdgpu_top.1.gz + +%changelog +* Thu Mar 5 2026 veuxit - 0.11.2 +- Initial package release \ No newline at end of file diff --git a/anda/system/amdgpu_top/anda.hcl b/anda/system/amdgpu_top/anda.hcl new file mode 100644 index 0000000000..d4b25997e7 --- /dev/null +++ b/anda/system/amdgpu_top/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "amdgpu_top.spec" + } +} diff --git a/anda/system/amdgpu_top/update.rhai b/anda/system/amdgpu_top/update.rhai new file mode 100644 index 0000000000..70b97bb6e0 --- /dev/null +++ b/anda/system/amdgpu_top/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("Umio-Yasuno/amdgpu_top")); diff --git a/anda/system/asusctl/asusctl.spec b/anda/system/asusctl/asusctl.spec index 8cf4ca1f8b..98a2bec713 100644 --- a/anda/system/asusctl/asusctl.spec +++ b/anda/system/asusctl/asusctl.spec @@ -1,21 +1,24 @@ %global debug_package %{nil} %global appid org.asus_linux.rog_control_center -%define _unpackaged_files_terminate_build 0 +%global asus_system_units asusd.service asus-shutdown.service Name: asusctl -Version: 6.3.4 -Release: 1%?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 cargo-rpm-macros systemd-rpm-macros mold rust-udev-devel clang-devel +BuildRequires: anda-srpm-macros +BuildRequires: cargo-rpm-macros +BuildRequires: systemd-rpm-macros +BuildRequires: rust-udev-devel +BuildRequires: clang-devel BuildRequires: desktop-file-utils BuildRequires: cmake -BuildRequires: rust BuildRequires: rust-std-static BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(libinput) @@ -26,7 +29,7 @@ BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(fontconfig) ExclusiveArch: x86_64 -Packager: Metcya +Packager: Metcya , Owen Zimmerman %description %summary. @@ -42,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 @@ -58,52 +61,69 @@ install -D -m 0644 rog-anime/data/diagonal-template.png %{buildroot}/%{_docdir}/ %{cargo_license_online} > LICENSE.dependencies -desktop-file-validate %{buildroot}/%{_datadir}/applications/rog-control-center.desktop +%desktop_file_validate %{buildroot}/%{_appsdir}/rog-control-center.desktop + +mkdir -p %{buildroot}%{_sysconfdir}/asusd %files %license LICENSE %license LICENSE.dependencies -%{_datadir}/asusctl/LICENSE +%license %{_datadir}/asusctl/LICENSE %{_bindir}/asusd %{_bindir}/asusd-user %{_bindir}/asusctl +%{_bindir}/asus-shutdown %{_unitdir}/asusd.service +%{_unitdir}/asus-shutdown.service %{_udevrulesdir}/99-asusd.rules -%dnl %{_sysconfdir}/asusd/ +%dir %{_sysconfdir}/asusd %{_datadir}/asusd/aura_support.ron %{_datadir}/dbus-1/system.d/asusd.conf -%{_datadir}/icons/hicolor/512x512/apps/asus_notif_yellow.png -%{_datadir}/icons/hicolor/512x512/apps/asus_notif_green.png -%{_datadir}/icons/hicolor/512x512/apps/asus_notif_red.png -%{_datadir}/icons/hicolor/512x512/apps/asus_notif_blue.png -%{_datadir}/icons/hicolor/512x512/apps/asus_notif_orange.png -%{_datadir}/icons/hicolor/512x512/apps/asus_notif_white.png -%{_datadir}/icons/hicolor/scalable/status/gpu-compute.svg -%{_datadir}/icons/hicolor/scalable/status/gpu-hybrid.svg -%{_datadir}/icons/hicolor/scalable/status/gpu-integrated.svg -%{_datadir}/icons/hicolor/scalable/status/gpu-nvidia.svg -%{_datadir}/icons/hicolor/scalable/status/gpu-vfio.svg -%{_datadir}/icons/hicolor/scalable/status/notification-reboot.svg +%{_hicolordir}/512x512/apps/asus_notif_yellow.png +%{_hicolordir}/512x512/apps/asus_notif_green.png +%{_hicolordir}/512x512/apps/asus_notif_red.png +%{_hicolordir}/512x512/apps/asus_notif_blue.png +%{_hicolordir}/512x512/apps/asus_notif_orange.png +%{_hicolordir}/512x512/apps/asus_notif_white.png +%{_hicolordir}/scalable/status/gpu-compute.svg +%{_hicolordir}/scalable/status/gpu-hybrid.svg +%{_hicolordir}/scalable/status/gpu-integrated.svg +%{_hicolordir}/scalable/status/gpu-nvidia.svg +%{_hicolordir}/scalable/status/gpu-vfio.svg +%{_hicolordir}/scalable/status/notification-reboot.svg %{_docdir}/%{name}/ %{_datadir}/asusd/ %post -%systemd_post asusd.service +%systemd_post %{asus_system_units} %preun -%systemd_preun asusd.service +%systemd_preun %{asus_system_units} %postun -%systemd_postun_with_restart asusd.service +%systemd_postun_with_restart %{asus_system_units} %files rog-gui %{_bindir}/rog-control-center -%{_datadir}/applications/rog-control-center.desktop -%{_datadir}/icons/hicolor/512x512/apps/rog-control-center.png +%{_appsdir}/rog-control-center.desktop +%{_hicolordir}/512x512/apps/rog-control-center.png %{_datadir}/rog-gui %{_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 + +* Mon Mar 23 2026 Owen Zimmerman - 6.3.5-2 +- Add asus-shutdown.service + * Wed Feb 18 2026 Owen Zimmerman - 6.2.0-3 - Remove asusd-user.service diff --git a/anda/system/asusctl/org.asus_linux.rog_control_center.metainfo.xml b/anda/system/asusctl/org.asus_linux.rog_control_center.metainfo.xml index dc570bae63..67343c1432 100644 --- a/anda/system/asusctl/org.asus_linux.rog_control_center.metainfo.xml +++ b/anda/system/asusctl/org.asus_linux.rog_control_center.metainfo.xml @@ -41,6 +41,8 @@ ASUS ROG asusctl + Control Center + Armoury Crate rog-control-center.desktop 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/bpftune/nightly/anda.hcl b/anda/system/bpftune/nightly/anda.hcl new file mode 100644 index 0000000000..5df483afdb --- /dev/null +++ b/anda/system/bpftune/nightly/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "bpftune-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/bpftune/nightly/bpftune-nightly.spec b/anda/system/bpftune/nightly/bpftune-nightly.spec new file mode 100644 index 0000000000..cc644c6efc --- /dev/null +++ b/anda/system/bpftune/nightly/bpftune-nightly.spec @@ -0,0 +1,104 @@ +# BPF-based auto-tuning SPEC file + +%define pcpdir /var/lib/pcp/pmdas + +%global ver 0.4-2 +%global releaseS %(echo '%ver' | sed -E 's/^[^-]+-//') +%define nameR bpftune + +%bcond_with openrc + +%global commit 4712347f2da0b7d4a5fbdb0d81d071c1704b3f20 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commit_date 20260227 + +Name: bpftune-nightly +Version: %(echo '%ver' | sed 's/-/~/g')^%{commit_date}git.%{shortcommit} +Release: 1%?dist +Summary: BPF/tracing tools for auto-tuning Linux +License: GPL-2.0-only WITH Linux-syscall-note +Packager: veuxit +URL: https://github.com/oracle/bpftune +Conflicts: bpftune + +Source0: %{url}/archive/%{commit}/bpftune-%{commit}.tar.gz + +Group: Development/Tools +Requires: libbpf >= 0.6 +Requires: libnl3 +Requires: libcap +BuildRequires: libbpf-devel >= 0.6 +BuildRequires: libcap-devel +BuildRequires: bpftool >= 4.18 +BuildRequires: libnl3-devel +BuildRequires: clang >= 11 +BuildRequires: clang-libs >= 11 +BuildRequires: llvm >= 11 +BuildRequires: llvm-libs >= 11 +BuildRequires: python3-docutils + +%description +Service consisting of daemon (bpftune) and plugins which +support auto-tuning of Linux via BPF observability. + +%package devel +Requires: %{name} = %{evr} +Requires: libbpf-devel >= 0.6 +Requires: libcap-devel +Requires: bpftool +Requires: libnl3-devel + +%pkg_devel_files + +%package pcp-pmda +Summary: Performance Co-Pilot PMDA for bpftune +Requires: %{name} = %{evr} +Requires: pcp +Requires: python3-pcp + +%description pcp-pmda +The %{name}-pcp-pmda exports tunables and metrics from bpftune +to Performance Co-Pilot (PCP) + +%prep +%autosetup -n bpftune-%{commit} + +%build +%make_build + +%install +%make_install + +%post +%systemd_post bpftune.service + +%preun +%systemd_preun bpftune.service + +%postun +%systemd_postun_with_restart bpftune.service + +%files +%doc README.md TROUBLESHOOTING.md SECURITY.md +%license LICENSE.txt +%defattr(-,root,root) +%{_sysconfdir}/ld.so.conf.d/libbpftune.conf +%{_bindir}/bpftune +%{_unitdir}/bpftune.service +%{_libdir}/libbpftune.so.%(echo '%ver' | sed 's/-/./g') +%{_libdir}/bpftune/* +%{_mandir}/*/* +%if %{with openrc} +%{_sysconfdir}/conf.d/bpftune +%{_sysconfdir}/init.d/bpftune +%else +%exclude %{_sysconfdir}/conf.d/bpftune +%exclude %{_sysconfdir}/init.d/bpftune +%endif + +%files pcp-pmda +%{pcpdir}/%{nameR}/* + +%changelog +* Fri Mar 6 2026 veuxit - 0.4-2 +- Initial package release diff --git a/anda/system/bpftune/nightly/update.rhai b/anda/system/bpftune/nightly/update.rhai new file mode 100644 index 0000000000..b81c6e0199 --- /dev/null +++ b/anda/system/bpftune/nightly/update.rhai @@ -0,0 +1,7 @@ +rpm.global("commit", gh_commit("oracle/bpftune")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); + let v = gh("oracle/bpftune"); + rpm.global("ver", v); +} diff --git a/anda/system/bpftune/stable/anda.hcl b/anda/system/bpftune/stable/anda.hcl new file mode 100644 index 0000000000..55d17906c7 --- /dev/null +++ b/anda/system/bpftune/stable/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "bpftune.spec" + } +} diff --git a/anda/system/bpftune/stable/bpftune.spec b/anda/system/bpftune/stable/bpftune.spec new file mode 100644 index 0000000000..d36e41820e --- /dev/null +++ b/anda/system/bpftune/stable/bpftune.spec @@ -0,0 +1,102 @@ +# BPF-based auto-tuning SPEC file + +%global ver 0.4-2 +%global releaseS %(echo '%ver' | sed -E 's/^[^-]+-//') + +%define pcpdir /var/lib/pcp/pmdas +%define _sbindir /usr/sbin + +%undefine __brp_add_determinism + +%bcond_with openrc + +Name: bpftune +Version: %(echo '%ver' | sed 's/-/~/g') +Release: 1%?dist +Summary: BPF/tracing tools for auto-tuning Linux +License: GPL-2.0-only WITH Linux-syscall-note +Packager: veuxit +URL: https://github.com/oracle/bpftune +Conflicts: bpftune-nightly + +Source0: %{url}/archive/refs/tags/%{ver}.tar.gz + +Group: Development/Tools +Requires: libbpf >= 0.6 +Requires: libnl3 +Requires: libcap +BuildRequires: libbpf-devel >= 0.6 +BuildRequires: libcap-devel +BuildRequires: bpftool >= 4.18 +BuildRequires: libnl3-devel +BuildRequires: clang >= 11 +BuildRequires: clang-libs >= 11 +BuildRequires: llvm >= 11 +BuildRequires: llvm-libs >= 11 +BuildRequires: python3-docutils + +%description +Service consisting of daemon (bpftune) and plugins which +support auto-tuning of Linux via BPF observability. + +%package devel +Requires: %{name} = %{evr} +Requires: libbpf-devel >= 0.6 +Requires: libcap-devel +Requires: bpftool +Requires: libnl3-devel + +%pkg_devel_files + +%package pcp-pmda +Summary: Performance Co-Pilot PMDA for bpftune +Requires: %{name} = %{evr} +Requires: pcp +Requires: python3-pcp + +%description pcp-pmda +The %{name}-pcp-pmda exports tunables and metrics from bpftune +to Performance Co-Pilot (PCP) + +%prep +%autosetup -n %{name}-%{ver} + +%build +%make_build + +%install +%make_install + +%post +%systemd_post bpftune.service + +%preun +%systemd_preun bpftune.service + +%postun +%systemd_postun_with_restart bpftune.service + +%files +%doc README.md TROUBLESHOOTING.md SECURITY.md +%license LICENSE.txt +%defattr(-,root,root) +%{_sysconfdir}/ld.so.conf.d/libbpftune.conf +%{_sbindir}/bpftune +%{_unitdir}/bpftune.service +%{_libdir}/libbpftune.so.%(echo '%ver' | sed 's/-/./g') +%{_libdir}/bpftune/* +%{_mandir}/*/* +%if %{with openrc} +%{_sysconfdir}/conf.d/bpftune +%{_sysconfdir}/init.d/bpftune +%else +%exclude %{_sysconfdir}/conf.d/bpftune +%exclude %{_sysconfdir}/init.d/bpftune +%endif + +%files pcp-pmda +%{pcpdir}/%{name}/* + +%changelog +* Fri Mar 6 2026 veuxit - 0.4-2 +- Initial package release diff --git a/anda/system/bpftune/stable/update.rhai b/anda/system/bpftune/stable/update.rhai new file mode 100644 index 0000000000..eaae1cb979 --- /dev/null +++ b/anda/system/bpftune/stable/update.rhai @@ -0,0 +1 @@ +rpm.global("ver", gh("oracle/bpftune")); diff --git a/anda/system/brush-shell/anda.hcl b/anda/system/brush-shell/anda.hcl new file mode 100644 index 0000000000..76297eb4c8 --- /dev/null +++ b/anda/system/brush-shell/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "brush-shell.spec" + } +} diff --git a/anda/system/brush-shell/brush-shell.spec b/anda/system/brush-shell/brush-shell.spec new file mode 100644 index 0000000000..9650712cae --- /dev/null +++ b/anda/system/brush-shell/brush-shell.spec @@ -0,0 +1,39 @@ +Name: brush-shell +Version: brush.shell.v0.4.0 +Release: 1%{?dist} +Summary: bash/POSIX-compatible shell implemented in Rust +URL: https://github.com/reubeno/brush +Source0: %{url}/archive/refs/tags/%{name}-v%{version}.tar.gz +License: ((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 (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR GPL-2.0-only) 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 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 Unicode-3.0 AND (Unlicense OR MIT) AND WTFPL AND Zlib AND (Zlib OR Apache-2.0 OR MIT) + +BuildRequires: cargo-rpm-macros + +Provides: brush +Packager: Its-J + +%description +brush-shell is a modern bash- and POSIX- compatible shell written in Rust. +Run your existing scripts and .bashrc unchanged +with built-in syntax highlighting and auto-suggestions. + +%prep +%autosetup -n brush-%{name}-v%{version} +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm755 target/rpm/brush %{buildroot}%{_bindir}/brush +%cargo_license_summary_online +%{cargo_license_online} > LICENSE.dependencies + +%files +%{_bindir}/brush +%license LICENSE +%license LICENSE.dependencies +%doc README.md + +%changelog +* Sun May 10 2026 Its-J +- Package brush diff --git a/anda/system/brush-shell/update.rhai b/anda/system/brush-shell/update.rhai new file mode 100644 index 0000000000..3b52b6d991 --- /dev/null +++ b/anda/system/brush-shell/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("reubeno/brush")); diff --git a/anda/system/cardwire/anda.hcl b/anda/system/cardwire/anda.hcl new file mode 100644 index 0000000000..7a09dc540e --- /dev/null +++ b/anda/system/cardwire/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cardwire.spec" + } +} diff --git a/anda/system/cardwire/cardwire.spec b/anda/system/cardwire/cardwire.spec new file mode 100644 index 0000000000..44d54de401 --- /dev/null +++ b/anda/system/cardwire/cardwire.spec @@ -0,0 +1,56 @@ +Name: cardwire +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/ +Source0: https://github.com/OpenGamingCollective/cardwire/archive/refs/tags/v%{version}.tar.gz +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 +%{summary}. + +%prep +%autosetup +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm0755 target/rpm/cardwire %{buildroot}%{_bindir}/cardwire +install -Dm0755 target/rpm/cardwired %{buildroot}%{_bindir}/cardwired +install -Dm0644 assets/cardwired.service %{buildroot}%{_unitdir}/cardwired.service +install -Dm0644 assets/com.github.opengamingcollective.cardwire.conf %{buildroot}%{_datadir}/dbus-1/system.d/com.github.opengamingcollective.cardwire.conf + +%{cargo_license_online} > LICENSE.dependencies + +%post +%systemd_post cardwired.service + +%preun +%systemd_preun cardwired.service + +%postun +%systemd_postun_with_restart cardwired.service + +%files +%license LICENSE +%license LICENSE.dependencies +%{_bindir}/cardwire +%{_bindir}/cardwired +%{_unitdir}/cardwired.service +%{_datadir}/dbus-1/system.d/com.github.opengamingcollective.cardwire.conf + +%changelog +* Wed May 06 2026 Owen Zimmerman +- Initial commit diff --git a/anda/system/cardwire/update.rhai b/anda/system/cardwire/update.rhai new file mode 100644 index 0000000000..2e39cdc8ec --- /dev/null +++ b/anda/system/cardwire/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("OpenGamingCollective/cardwire")); diff --git a/anda/system/cloud-hypervisor/nightly/anda.hcl b/anda/system/cloud-hypervisor/nightly/anda.hcl new file mode 100644 index 0000000000..bcf490fb52 --- /dev/null +++ b/anda/system/cloud-hypervisor/nightly/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "cloud-hypervisor-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/cloud-hypervisor/nightly/cloud-hypervisor-nightly.spec b/anda/system/cloud-hypervisor/nightly/cloud-hypervisor-nightly.spec new file mode 100644 index 0000000000..fcb85b2825 --- /dev/null +++ b/anda/system/cloud-hypervisor/nightly/cloud-hypervisor-nightly.spec @@ -0,0 +1,57 @@ +%global commit e7371984b826bdc97b8eee9b41fc427089bc56ce +%global commit_date 20260627 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: cloud-hypervisor-nightly +License: Apache-2.0 AND MPL-2.0 AND (Unlicense OR MIT) AND (MIT OR Zlib OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND MIT AND BSD-3-Clause AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC-BY-4.0 AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSD-3-Clause) AND (Apache-2.0 OR MIT) +Version: 0~%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: A Virtual Machine Monitor for modern Cloud workloads +URL: https://github.com/cloud-hypervisor/cloud-hypervisor +Source0: %{url}/archive/%{commit}/cloud-hypervisor-%{commit}.tar.gz +BuildRequires: perl +BuildRequires: cargo-rpm-macros +BuildRequires: pkgconfig(openssl) +Conflicts: cloud-hypervisor + +Packager: Owen Zimmerman + +%description +A Virtual Machine Monitor for modern Cloud workloads. Features include CPU, +memory and device hotplug, support for running Windows and Linux guests, +device offload with vhost-user and a minimal compact footprint. +Written in Rust with a strong focus on security. + +%package doc +Summary: Documentation for cloud-hypervisor +Requires: %{name} = %{evr} + +%description doc +%{summary}. + +%prep +%autosetup -n cloud-hypervisor-%{commit} +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm755 target/rpm/cloud-hypervisor %{buildroot}%{_bindir}/cloud-hypervisor +install -Dm755 target/rpm/ch-remote %{buildroot}%{_bindir}/ch-remote +install -Dm755 target/rpm/vhost_user_block %{buildroot}%{_bindir}/vhost_user_block +install -Dm755 target/rpm/vhost_user_net %{buildroot}%{_bindir}/vhost_user_net + +%{cargo_license_online} > LICENSE.dependencies + +%files +%license LICENSE.dependencies LICENSES/ +%doc CODEOWNERS CODE_OF_CONDUCT.md CONTRIBUTING.md CREDITS.md MAINTAINERS.md README.md release-notes.md +%caps(cap_net_admin=ep) %{_bindir}/cloud-hypervisor +%{_bindir}/ch-remote +%{_bindir}/vhost_user_block +%{_bindir}/vhost_user_net + +%changelog +* Tue Apr 14 2026 Owen Zimmerman +- Initial commit (port from stable spec) diff --git a/anda/system/cloud-hypervisor/nightly/update.rhai b/anda/system/cloud-hypervisor/nightly/update.rhai new file mode 100644 index 0000000000..3f227e4d25 --- /dev/null +++ b/anda/system/cloud-hypervisor/nightly/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("cloud-hypervisor/cloud-hypervisor")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/system/cloud-hypervisor/stable/anda.hcl b/anda/system/cloud-hypervisor/stable/anda.hcl new file mode 100644 index 0000000000..dbca34d29a --- /dev/null +++ b/anda/system/cloud-hypervisor/stable/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "cloud-hypervisor.spec" + } +} diff --git a/anda/system/cloud-hypervisor/stable/cloud-hypervisor.spec b/anda/system/cloud-hypervisor/stable/cloud-hypervisor.spec new file mode 100644 index 0000000000..d54b63806b --- /dev/null +++ b/anda/system/cloud-hypervisor/stable/cloud-hypervisor.spec @@ -0,0 +1,55 @@ +Name: cloud-hypervisor +License: Apache-2.0 AND MPL-2.0 AND (Unlicense OR MIT) AND (MIT OR Zlib OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND MIT AND BSD-3-Clause AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC-BY-4.0 AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSD-3-Clause) AND (Apache-2.0 OR MIT) +Version: 52.0 +Release: 1%{?dist} +Summary: A Virtual Machine Monitor for modern Cloud workloads +URL: https://github.com/cloud-hypervisor/cloud-hypervisor +Source0: https://github.com/cloud-hypervisor/cloud-hypervisor/archive/refs/tags/v%{version}.tar.gz +BuildRequires: perl +BuildRequires: cargo-rpm-macros +BuildRequires: pkgconfig(openssl) + +Packager: Owen Zimmerman + +%description +A Virtual Machine Monitor for modern Cloud workloads. Features include CPU, +memory and device hotplug, support for running Windows and Linux guests, +device offload with vhost-user and a minimal compact footprint. +Written in Rust with a strong focus on security. + +%package doc +Summary: Documentation for cloud-hypervisor +Requires: %{name} = %{evr} + +%description doc +%{summary}. + +%prep +%autosetup +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm755 target/rpm/cloud-hypervisor %{buildroot}%{_bindir}/cloud-hypervisor +install -Dm755 target/rpm/ch-remote %{buildroot}%{_bindir}/ch-remote +install -Dm755 target/rpm/vhost_user_block %{buildroot}%{_bindir}/vhost_user_block +install -Dm755 target/rpm/vhost_user_net %{buildroot}%{_bindir}/vhost_user_net + +%{cargo_license_online} > LICENSE.dependencies + +%files +%license LICENSE.dependencies LICENSES/ +%doc CODEOWNERS CODE_OF_CONDUCT.md CONTRIBUTING.md CREDITS.md MAINTAINERS.md README.md release-notes.md +%caps(cap_net_admin=ep) %{_bindir}/cloud-hypervisor +%{_bindir}/ch-remote +%{_bindir}/vhost_user_block +%{_bindir}/vhost_user_net + +%files doc +%doc docs/ + +%changelog +* Wed Mar 25 2026 Owen Zimmerman +- Initial commit diff --git a/anda/system/cloud-hypervisor/stable/update.rhai b/anda/system/cloud-hypervisor/stable/update.rhai new file mode 100644 index 0000000000..1f21db8ff6 --- /dev/null +++ b/anda/system/cloud-hypervisor/stable/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("cloud-hypervisor/cloud-hypervisor")); diff --git a/anda/system/dank-material-shell/anda.hcl b/anda/system/dank-material-shell/anda.hcl new file mode 100644 index 0000000000..4d7e6ff850 --- /dev/null +++ b/anda/system/dank-material-shell/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "dank-material-shell.spec" + } + labels { + subrepo = "extras" + } +} diff --git a/anda/system/dank-material-shell/dank-material-shell.spec b/anda/system/dank-material-shell/dank-material-shell.spec new file mode 100644 index 0000000000..910d8db37a --- /dev/null +++ b/anda/system/dank-material-shell/dank-material-shell.spec @@ -0,0 +1,147 @@ +%global goipath github.com/AvengeMedia/%{name}/core + +Name: DankMaterialShell +Version: 1.4.6 +Release: 1%{?dist} +Summary: Desktop shell for Wayland compositors built on QuickShell + +License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND GPL-3.0-only AND ISC AND MIT AND MPL-2.0 +URL: https://danklinux.com/ +Source0: https://github.com/AvengeMedia/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz + +BuildRequires: go-rpm-macros +BuildRequires: go-vendor-tools +BuildRequires: systemd-rpm-macros + +Requires: accountsservice +Requires: cups-pk-helper +Requires: hicolor-icon-theme +Requires: quickshell + +Requires: (adw-gtk3-theme if gtk3) +Requires: cava +Requires: cliphist +Requires: danksearch +Requires: dgop +Requires: kf6-kimageformats +Requires: khal +Requires: matugen +Requires: (qt5ct if qt5-qtbase) +Requires: qt6ct +Requires: qt6-qtmultimedia +Requires: qt6-qtimageformats +Requires: wl-clipboard + +Recommends: NetworkManager +Recommends: ppd-service +Suggests: tuned-ppd + +# Replace and provide the package names from avengemedia/dms +Obsoletes: dms < %{evr} +Provides: dms = %{evr} +Obsoletes: dms-cli < %{evr} +Provides: dms-cli = %{evr} + +Packager: Its-J + +%description +DankMaterialShell is a complete desktop shell for Wayland compositors. +It replaces a variety of tools used to stitch together to make a desktop. + +dms features notifications, an app launcher, wallpaper customization, and is +fully customizable with plugins. + +It includes auto-theming for GTK/Qt apps with matugen, 20+ customizable widgets, +process monitoring, notification center, clipboard history, dock, control center, +lock screen, and comprehensive plugin system. + +%prep +%autosetup -C +%goprep + +%build +pushd core +export dms_buildtime=$(date -d "@${SOURCE_DATE_EPOCH}" +%%Y-%%m-%%d_%%H:%%M:%%S) +export GO_LDFLAGS="-X main.commit=fedora \ + -X main.Version=%{evr} \ + -X main.buildTime=${dms_buildtime}" +%global gomodulesmode GO111MODULE=on +mkdir -p %{_vpath_builddir}/bin +%gobuild -o %{_vpath_builddir}/bin/dms ./cmd/dms +popd + +# Install dms cli shell completions +%pkg_completion -Bfz dms + +%install +# Install dms +install -Dm644 assets/systemd/dms.service %{buildroot}%{_userunitdir}/dms.service + +install -Dm644 assets/dms-open.desktop %{buildroot}%{_datadir}/applications/dms-open.desktop +install -Dm644 assets/danklogo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/danklogo.svg + +mkdir -p %{buildroot}%{_datadir}/quickshell/dms +cp -a quickshell/* %{buildroot}%{_datadir}/quickshell/dms/ +echo "%{evr}" > %{buildroot}%{_datadir}/quickshell/dms/VERSION + +# Install dms cli +mkdir -p %{buildroot}%{_bindir} +install -pm0755 core/%{_vpath_builddir}/bin/dms %{buildroot}%{_bindir}/dms + +# Install dms cli shell completions +mkdir -p %{buildroot}%{bash_completions_dir} +mkdir -p %{buildroot}%{fish_completions_dir} +mkdir -p %{buildroot}%{zsh_completions_dir} +core/%{_vpath_builddir}/bin/dms completion bash > %{buildroot}%{bash_completions_dir}/dms +core/%{_vpath_builddir}/bin/dms completion fish > %{buildroot}%{fish_completions_dir}/dms.fish +core/%{_vpath_builddir}/bin/dms completion zsh > %{buildroot}%{zsh_completions_dir}/_dms + +%check +pushd core +%gotest ./... +popd + +%post +%systemd_user_post dms.service + +%preun +%systemd_user_preun dms.service + +%postun +%systemd_user_postun_with_restart dms.service + +%posttrans +# Signal running DMS instances to reload +pkill -USR1 -x dms || : + + +%files +%license LICENSE +%doc README.md +%{_bindir}/dms +%{_datadir}/quickshell/dms/ +%{_userunitdir}/dms.service +%{_datadir}/applications/dms-open.desktop +%{_datadir}/icons/hicolor/scalable/apps/danklogo.svg + +%changelog +* Sat Mar 28 2026 Its-J - 1.4.4-1 +- Port to Terra + +* Mon Feb 16 2026 Neal Gompa - 1.2.3-5 +- Backport fix for screensaver inhibit support +- Add dependencies to make various wallpaper format work +- Add dependency for printer management support + +* Mon Feb 16 2026 Neal Gompa - 1.2.3-4 +- Add missing khal dependency + +* Mon Feb 16 2026 Neal Gompa - 1.2.3-3 +- Add dependency for ppd-service +- Fix string for embedded package version + +* Sun Feb 15 2026 Neal Gompa - 1.2.3-2 +- Strengthen various dependencies + +* Sun Feb 15 2026 Neal Gompa - 1.2.3-1 +- Initial package diff --git a/anda/system/dank-material-shell/update.rhai b/anda/system/dank-material-shell/update.rhai new file mode 100644 index 0000000000..3fa83f2e6c --- /dev/null +++ b/anda/system/dank-material-shell/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("AvengeMedia/DankMaterialShell")); diff --git a/anda/system/depthcharge-tools/anda.hcl b/anda/system/depthcharge-tools/anda.hcl index a65b3f99ea..414f95e4cd 100644 --- a/anda/system/depthcharge-tools/anda.hcl +++ b/anda/system/depthcharge-tools/anda.hcl @@ -1,4 +1,5 @@ project pkg { + arches = ["x86_64"] rpm { spec = "depthcharge-tools.spec" } diff --git a/anda/system/depthcharge-tools/depthcharge-tools.spec b/anda/system/depthcharge-tools/depthcharge-tools.spec index 77bc2946e1..a427dd2916 100644 --- a/anda/system/depthcharge-tools/depthcharge-tools.spec +++ b/anda/system/depthcharge-tools/depthcharge-tools.spec @@ -1,12 +1,13 @@ Name: depthcharge-tools -Version: 0.6.3 -Release: 1%?dist +Version: 0.6.4 +Release: 2%{?dist} Summary: Tools to manage the Chrome OS bootloader License: GPL-2.0-or-later URL: https://gitlab.postmarketos.org/postmarketOS/depthcharge-tools Source0: %url/-/archive/v%version/%name-v%version.tar.gz -Requires: vboot-utils dtc gzip lz4 python3-setuptools uboot-tools vboot-utils xz -BuildRequires: python3-setuptools python3-rpm-macros systemd-rpm-macros redhat-rpm-config python3-docutils +Requires: vboot-utils dtc gzip lz4 python3-setuptools uboot-tools vboot-utils xz python3-importlib-resources +BuildRequires: python3-setuptools python3-rpm-macros pyproject-rpm-macros python3dist(pip) systemd-rpm-macros redhat-rpm-config python3-docutils python3-importlib-resources +Requires: python3-setuptools python3-packaging python3-importlib-metadata BuildArch: noarch %description @@ -19,10 +20,11 @@ with depthcharge, the Chrome OS bootloader. %autosetup -n %name-v%version %build -python3 setup.py build +%pyproject_wheel %install -python3 setup.py install --skip-build --root=%buildroot +%pyproject_install +%pyproject_save_files depthcharge_tools mkdir -p %buildroot/usr/lib/kernel/install.d %buildroot{%_unitdir,%bash_completions_dir,%zsh_completions_dir,%_mandir/man1} install -Dm644 systemd/*.install %buildroot/usr/lib/kernel/install.d/ install -Dm644 systemd/*.service %buildroot%_unitdir/ @@ -34,15 +36,14 @@ rst2man mkdepthcharge.rst | gzip > mkdepthcharge.1.gz rst2man depthchargectl.rst | gzip > depthchargectl.1.gz install -Dm644 *.1.gz %buildroot%_mandir/man1/ -%files +%files -f %{pyproject_files} %doc README.rst %license LICENSE %_bindir/{mkdepthcharge,depthchargectl} %_mandir/man1/{mkdepthcharge,depthchargectl}.1.gz /usr/lib/kernel/install.d/90-depthcharge-tools.install %_unitdir/depthchargectl-bless.service -%_prefix/lib/python%python3_version/site-packages/depthcharge_tools-%version-py%python3_version.egg-info/ -%_prefix/lib/python%python3_version/site-packages/depthcharge_tools/ %changelog -%autochangelog +* Sun May 10 2026 Owen Zimmerman +- Remove patch diff --git a/anda/system/dfu-programmer/dfu-programmer.spec b/anda/system/dfu-programmer/dfu-programmer.spec index eaf3b427d5..21cb7d51a9 100644 --- a/anda/system/dfu-programmer/dfu-programmer.spec +++ b/anda/system/dfu-programmer/dfu-programmer.spec @@ -17,11 +17,13 @@ Atmel chips with USB support. %prep %autosetup -p1 + +%conf touch ./ChangeLog autoreconf -fiv +%configure %build -%configure %make_build %install diff --git a/anda/system/dmemcg-booster/0001-License-under-MIT.patch b/anda/system/dmemcg-booster/0001-License-under-MIT.patch new file mode 100644 index 0000000000..61869ec66b --- /dev/null +++ b/anda/system/dmemcg-booster/0001-License-under-MIT.patch @@ -0,0 +1,33 @@ +From 903e18c761c41ecca2a6dced9335a2c3f0703b11 Mon Sep 17 00:00:00 2001 +From: Natalie Vock +Date: Fri, 17 Apr 2026 21:46:48 +0200 +Subject: [PATCH] License under MIT + +--- + LICENSE | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + create mode 100644 LICENSE + +diff --git a/LICENSE b/LICENSE +new file mode 100644 +index 0000000..92ea3c4 +--- /dev/null ++++ b/LICENSE +@@ -0,0 +1,14 @@ ++Copyright (c) 2026 Valve Corporation ++ ++Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated ++documentation files (the "Software"), to deal in the Software without restriction, including without limitation the ++rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit ++persons to whom the Software is furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in all copies or substantial portions of the ++Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE ++WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR ++COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR ++OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\ No newline at end of file +-- +2.54.0 diff --git a/anda/system/dmemcg-booster/anda.hcl b/anda/system/dmemcg-booster/anda.hcl new file mode 100644 index 0000000000..0f774f4ec3 --- /dev/null +++ b/anda/system/dmemcg-booster/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "dmemcg-booster.spec" + } +} diff --git a/anda/system/dmemcg-booster/dmemcg-booster.spec b/anda/system/dmemcg-booster/dmemcg-booster.spec new file mode 100644 index 0000000000..0970b26924 --- /dev/null +++ b/anda/system/dmemcg-booster/dmemcg-booster.spec @@ -0,0 +1,50 @@ +Name: dmemcg-booster +Version: 0.1.2 +Release: 1%?dist +Summary: Userspace utility for controling VRAM utilization +License: MIT AND (Apache-2.0 OR MIT) +URL: https://gitlab.steamos.cloud/holo/dmemcg-booster +Source0: %url/-/archive/%version/dmemcg-booster-%version.tar.gz +BuildRequires: anda-srpm-macros +BuildRequires: cargo-rpm-macros +BuildRequires: systemd-rpm-macros +BuildRequires: dbus-devel +Packager: Tulip Blossom + +Patch: 0001-License-under-MIT.patch + +%description +%summary. + +%prep +%autosetup -n %name-%version +%cargo_prep_online + +%build +%{cargo_license_online -a} > LICENSE.dependencies + +%install +%cargo_install +install -Dpm0644 -t %{buildroot}%{_datadir}/licenses/dmemcg-booster/ ./LICENSE +install -Dpm0644 -t %{buildroot}%{_userunitdir}/ ./dmemcg-booster-user.service +install -Dpm0644 -t %{buildroot}%{_unitdir}/ ./dmemcg-booster-system.service + +%post +%systemd_post dmemcg-booster.service + +%preun +%systemd_preun dmemcg-booster.service + +%postun +%systemd_postun_with_restart dmemcg-booster.service + +%files +%license %{_datadir}/licenses/dmemcg-booster/LICENSE +%license LICENSE.dependencies +%{_bindir}/dmemcg-booster +%{_userunitdir}/dmemcg-booster-user.service +%{_unitdir}/dmemcg-booster-system.service + +%changelog +* Thu May 05 2026 Tulip Blossom - 0.1.2-1 +- Intial Commit diff --git a/anda/system/dmemcg-booster/update.rhai b/anda/system/dmemcg-booster/update.rhai new file mode 100644 index 0000000000..6c0e6f45c9 --- /dev/null +++ b/anda/system/dmemcg-booster/update.rhai @@ -0,0 +1 @@ +rpm.version(gitlab_tag("gitlab.steamos.cloud", "1438")); diff --git a/anda/system/falcond-profiles/falcond-profiles.spec b/anda/system/falcond-profiles/falcond-profiles.spec index e465fc4b6c..1c6d293d0e 100644 --- a/anda/system/falcond-profiles/falcond-profiles.spec +++ b/anda/system/falcond-profiles/falcond-profiles.spec @@ -1,10 +1,10 @@ -%global commit a3e0e63303c0a310a504c5f3e2a9d71496d7aaab +%global commit 5023a846980685812334586ae265f8f6a1ded38b %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260206 +%global commit_date 20260523 Name: falcond-profiles Version: 0^%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Profiles for falcond License: MIT URL: https://github.com/PikaOS-Linux/falcond-profiles diff --git a/anda/system/falcond/falcond.spec b/anda/system/falcond/falcond.spec index e46405e435..e8628857a5 100644 --- a/anda/system/falcond/falcond.spec +++ b/anda/system/falcond/falcond.spec @@ -1,15 +1,13 @@ -%global _include_minidebuginfo 0 - Name: falcond -Version: 1.2.3 -Release: 3%{?dist} +Version: 2.0.9 +Release: 1%{?dist} Summary: Advanced Linux Gaming Performance Daemon License: MIT URL: https://git.pika-os.com/general-packages/falcond Source0: %{url}/archive/v%{version}.tar.gz -BuildRequires: anda-srpm-macros >= 0.2.18 +BuildRequires: anda-srpm-macros >= 0.3.9 BuildRequires: systemd-rpm-macros -BuildRequires: zig >= 0.15.2 +BuildRequires: zig >= 0.16.0 BuildRequires: zig-rpm-macros Requires: %{name}-profiles Requires: (scx-scheds or scx-scheds-nightly) @@ -25,18 +23,18 @@ This eliminates the need to manually configure settings for each game. %prep %autosetup -n %{name}/%{name} +%zig_prep %build %install -install -Dm644 debian/%{name}.service -t %{buildroot}%{_unitdir} # When DNF supports microarchitectures the fallback option for -c can be used here instead -DESTDIR="%{buildroot}" \ %ifarch x86_64 -%{zig_build_target -r fast -cx86_64_v2 -s} \ +%{zig_install_target -r fast -Cx86_64_v2 -s} %elifarch aarch64 -%{zig_build_target -r fast -s} \ +%{zig_install_target -r fast -s} %endif +install -Dm644 debian/%{name}.service -t %{buildroot}%{_unitdir} %pre # Create falcond group if it doesn't exist @@ -61,6 +59,9 @@ usermod -aG 'falcond' root || : %{_unitdir}/%{name}.service %changelog +* Thu May 14 2026 Gilver E. - 2.0.6-2 +- Updated for Zig and zig-rpm-macros 0.16.0 +- Updated for anda-srpm-macros 0.3.9 * Thu Jan 1 2026 Gilver E. - 1.2.1-2 - Disabled service by default in favor of user enablement via falcond-gui - Added weak dep on falcond-gui 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/anda.hcl b/anda/system/hid-fanatecff/akmod/anda.hcl new file mode 100644 index 0000000000..6910465b51 --- /dev/null +++ b/anda/system/hid-fanatecff/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "hid-fanatecff-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/hid-fanatecff/akmod/hid-fanatecff-kmod.spec b/anda/system/hid-fanatecff/akmod/hid-fanatecff-kmod.spec new file mode 100644 index 0000000000..10a45f216e --- /dev/null +++ b/anda/system/hid-fanatecff/akmod/hid-fanatecff-kmod.spec @@ -0,0 +1,56 @@ +%global commit dd78ef477c0dc90d59291a0197afcea26911fca8 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%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: 1%{?dist} +Summary: Fanatec force feedback kernel module +License: GPL-2.0-only +URL: https://github.com/gotzl/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +BuildRequires: kmodtool +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-%{modulename} + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Driver to support Fanatec input devices, in particular force feedback of +various wheel-bases. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n %{modulename}-%{commit} + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr Kbuild Makefile *.c *.h _kmod_build_${kernel_version%%___*}/ +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build -C "${kernel_version##*___}" M=$(pwd) modules + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/hid-fanatecff/akmod/update.rhai b/anda/system/hid-fanatecff/akmod/update.rhai new file mode 100644 index 0000000000..ea1cd2b75b --- /dev/null +++ b/anda/system/hid-fanatecff/akmod/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/hid-fanatecff/dkms/anda.hcl b/anda/system/hid-fanatecff/dkms/anda.hcl new file mode 100644 index 0000000000..cec1a9625e --- /dev/null +++ b/anda/system/hid-fanatecff/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-hid-fanatecff.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.conf b/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.conf new file mode 100644 index 0000000000..1a8f77c2d9 --- /dev/null +++ b/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.conf @@ -0,0 +1,6 @@ +PACKAGE_NAME="hid-fanatecff" +PACKAGE_VERSION="__VERSION_STRING" +AUTOINSTALL="yes" + +BUILT_MODULE_NAME[0]="hid-fanatec" +DEST_MODULE_LOCATION[0]="/extra" diff --git a/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.spec b/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.spec new file mode 100644 index 0000000000..be8ca036b3 --- /dev/null +++ b/anda/system/hid-fanatecff/dkms/dkms-hid-fanatecff.spec @@ -0,0 +1,59 @@ +%global commit dd78ef477c0dc90d59291a0197afcea26911fca8 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%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: 1%{?dist} +Summary: Fanatec force feedback kernel module (DKMS) +License: GPL-2.0-only +URL: https://github.com/gotzl/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +Source1: %{name}.conf +Source2: no-weak-modules.conf +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod +BuildArch: noarch + +%description +Driver to support Fanatec input devices, in particular force feedback of +various wheel-bases. + +%prep +%autosetup -p1 -n %{modulename}-%{commit} + +cp -f %{SOURCE1} dkms.conf +sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf + +%build + +%install +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr Kbuild Makefile *.c *.h dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%if 0%{?fedora} +install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 +%{_usrsrc}/%{modulename}-%{version} +%if 0%{?fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/xpadneo/dkms/no-weak-modules.conf b/anda/system/hid-fanatecff/dkms/no-weak-modules.conf similarity index 100% rename from anda/system/xpadneo/dkms/no-weak-modules.conf rename to anda/system/hid-fanatecff/dkms/no-weak-modules.conf diff --git a/anda/system/hid-fanatecff/dkms/update.rhai b/anda/system/hid-fanatecff/dkms/update.rhai new file mode 100644 index 0000000000..ea1cd2b75b --- /dev/null +++ b/anda/system/hid-fanatecff/dkms/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/hid-fanatecff/kmod-common/anda.hcl b/anda/system/hid-fanatecff/kmod-common/anda.hcl new file mode 100644 index 0000000000..c456a9fdcb --- /dev/null +++ b/anda/system/hid-fanatecff/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "hid-fanatecff.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec b/anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec new file mode 100644 index 0000000000..65fb1a6304 --- /dev/null +++ b/anda/system/hid-fanatecff/kmod-common/hid-fanatecff.spec @@ -0,0 +1,52 @@ +%global commit dd78ef477c0dc90d59291a0197afcea26911fca8 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260528 +%global ver 0.2.3 + +Name: hid-fanatecff +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Fanatec force feedback driver common files +License: GPL-2.0-only +URL: https://github.com/gotzl/%{name} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: noarch + +%description +Driver to support Fanatec input devices, in particular force feedback of +various wheel-bases. This package contains common files shared between the +akmod and dkms variants. + +%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} + +echo hid-fanatec > %{name}.conf + +%install +# UDev rules: +install -Dpm644 fanatec.rules %{buildroot}%{_udevrulesdir}/99-fanatec.rules + +# Akmods modules +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +%files +%license LICENSE +%doc README.md +%{_udevrulesdir}/99-fanatec.rules + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/hid-fanatecff/kmod-common/update.rhai b/anda/system/hid-fanatecff/kmod-common/update.rhai new file mode 100644 index 0000000000..271ca3c6d8 --- /dev/null +++ b/anda/system/hid-fanatecff/kmod-common/update.rhai @@ -0,0 +1,8 @@ +rpm.global("commit", gh_commit("gotzl/hid-fanatecff")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); + let ver = gh("gotzl/hid-fanatecff"); + ver.crop(0); + rpm.global("ver", ver); +} diff --git a/anda/system/hid-tmff2/akmod/anda.hcl b/anda/system/hid-tmff2/akmod/anda.hcl new file mode 100644 index 0000000000..099d3e7707 --- /dev/null +++ b/anda/system/hid-tmff2/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "hid-tmff2-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/hid-tmff2/akmod/hid-tmff2-kmod.spec b/anda/system/hid-tmff2/akmod/hid-tmff2-kmod.spec new file mode 100644 index 0000000000..1bcf714322 --- /dev/null +++ b/anda/system/hid-tmff2/akmod/hid-tmff2-kmod.spec @@ -0,0 +1,62 @@ +%global commit 8187920ed261c7024826f8204cc7bea45153a3da +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260310 +%global ver 0.83 + +%define buildforkernels akmod +%global debug_package %{nil} +%global modulename hid-tmff2 + +Name: %{modulename}-kmod +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 4%{?dist} +Summary: Thrustmaster Force Feedback kernel module +License: GPL-2.0-only +URL: https://github.com/Kimplul/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +BuildRequires: kmodtool +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-%{modulename} + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Linux kernel module for Thrustmaster T300RS, T248 and (experimental) TX, T128, +T598, T-GT II and TS-XW wheels. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n %{modulename}-%{commit} + +# Stub out the hid-tminit submodule (superseded by in-kernel hid-thrustmaster) +mkdir -p deps/hid-tminit +printf 'all:\ninstall:\nclean:\n' > deps/hid-tminit/Makefile + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr Kbuild Makefile src _kmod_build_${kernel_version%%___*}/ + cp -fr deps _kmod_build_${kernel_version%%___*}/ +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build KDIR="${kernel_version##*___}" + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/hid-tmff2/akmod/update.rhai b/anda/system/hid-tmff2/akmod/update.rhai new file mode 100644 index 0000000000..ef91d866eb --- /dev/null +++ b/anda/system/hid-tmff2/akmod/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/hid-tmff2/kmod-common/hid-tmff2.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/hid-tmff2/kmod-common/hid-tmff2.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/hid-tmff2/kmod-common/hid-tmff2.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/hid-tmff2/dkms/anda.hcl b/anda/system/hid-tmff2/dkms/anda.hcl new file mode 100644 index 0000000000..c7210010f5 --- /dev/null +++ b/anda/system/hid-tmff2/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-hid-tmff2.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/hid-tmff2/dkms/dkms-hid-tmff2.conf b/anda/system/hid-tmff2/dkms/dkms-hid-tmff2.conf new file mode 100644 index 0000000000..02af43b5d1 --- /dev/null +++ b/anda/system/hid-tmff2/dkms/dkms-hid-tmff2.conf @@ -0,0 +1,9 @@ +PACKAGE_NAME="hid-tmff2" +PACKAGE_VERSION="__VERSION_STRING" +AUTOINSTALL="yes" + +MAKE[0]="'make' KDIR=\"$kernel_source_dir\"" +CLEAN[0]=true + +BUILT_MODULE_NAME[0]="hid-tmff-new" +DEST_MODULE_LOCATION[0]="/extra" diff --git a/anda/system/hid-tmff2/dkms/dkms-hid-tmff2.spec b/anda/system/hid-tmff2/dkms/dkms-hid-tmff2.spec new file mode 100644 index 0000000000..25fd8b46ec --- /dev/null +++ b/anda/system/hid-tmff2/dkms/dkms-hid-tmff2.spec @@ -0,0 +1,69 @@ +%global commit 8187920ed261c7024826f8204cc7bea45153a3da +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260310 +%global ver 0.83 + +%global debug_package %{nil} +%global modulename hid-tmff2 + +Name: dkms-%{modulename} +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 4%{?dist} +Summary: Thrustmaster Force Feedback kernel module (DKMS) +License: GPL-2.0-only +URL: https://github.com/Kimplul/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +Source1: %{name}.conf +Source2: no-weak-modules.conf +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod +BuildArch: noarch + +%description +Linux kernel module for Thrustmaster T300RS, T248 and (experimental) TX, T128, +T598, T-GT II and TS-XW wheels. + +%prep +%autosetup -p1 -n %{modulename}-%{commit} + +# Stub out the hid-tminit submodule (superseded by in-kernel hid-thrustmaster) +mkdir -p deps/hid-tminit +printf 'all:\ninstall:\nclean:\n' > deps/hid-tminit/Makefile + +cp -f %{SOURCE1} dkms/dkms.conf +sed -i -e 's/__VERSION_STRING/%{version}/g' dkms/dkms.conf + +%build + +%install +# Create empty tree: +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr Kbuild Makefile src deps %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +install -Dpm644 dkms/dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/dkms.conf + +%if 0%{?fedora} +# Do not enable weak modules support in Fedora (no kABI): +install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 || : + +%preun +# Remove all versions from DKMS registry: +dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : + +%files +%{_usrsrc}/%{modulename}-%{version} +%if 0%{?fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/hid-tmff2/dkms/no-weak-modules.conf b/anda/system/hid-tmff2/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/hid-tmff2/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/hid-tmff2/dkms/update.rhai b/anda/system/hid-tmff2/dkms/update.rhai new file mode 100644 index 0000000000..ef91d866eb --- /dev/null +++ b/anda/system/hid-tmff2/dkms/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/hid-tmff2/kmod-common/hid-tmff2.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/hid-tmff2/kmod-common/hid-tmff2.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/hid-tmff2/kmod-common/hid-tmff2.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/hid-tmff2/kmod-common/anda.hcl b/anda/system/hid-tmff2/kmod-common/anda.hcl new file mode 100644 index 0000000000..525110d0f3 --- /dev/null +++ b/anda/system/hid-tmff2/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "hid-tmff2.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/hid-tmff2/kmod-common/hid-tmff2.spec b/anda/system/hid-tmff2/kmod-common/hid-tmff2.spec new file mode 100644 index 0000000000..3e65880848 --- /dev/null +++ b/anda/system/hid-tmff2/kmod-common/hid-tmff2.spec @@ -0,0 +1,53 @@ +%global commit 8187920ed261c7024826f8204cc7bea45153a3da +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260310 +%global ver 0.83 + +Name: hid-tmff2 +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 4%{?dist} +Summary: Thrustmaster Force Feedback driver common files +License: GPL-2.0-only +URL: https://github.com/Kimplul/%{name} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: noarch + +%description +Linux kernel module for Thrustmaster T300RS, T248 and (experimental) TX, T128, +T598, T-GT II and TS-XW wheels. This package contains common files shared +between the akmod and dkms variants. + +%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} + +# Extract module names from Kbuild for modules-load.d +echo hid-tmff-new > %{name}.conf + +%install +# UDev rules: +install -Dpm644 udev/99-thrustmaster.rules -t %{buildroot}%{_udevrulesdir}/ + +# Akmods modules +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +%files +%license LICENSE +%doc README.md +%{_udevrulesdir}/99-thrustmaster.rules + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/hid-tmff2/kmod-common/update.rhai b/anda/system/hid-tmff2/kmod-common/update.rhai new file mode 100644 index 0000000000..d89f5af60b --- /dev/null +++ b/anda/system/hid-tmff2/kmod-common/update.rhai @@ -0,0 +1,8 @@ +rpm.global("commit", gh_commit("Kimplul/hid-tmff2")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); + let ver = gh("Kimplul/hid-tmff2"); + ver.crop(0); + rpm.global("ver", ver); +} diff --git a/anda/system/ipu6-camera-hal/ipu6-camera-hal.spec b/anda/system/ipu6-camera-hal/ipu6-camera-hal.spec index 48f543741d..473ef021b5 100644 --- a/anda/system/ipu6-camera-hal/ipu6-camera-hal.spec +++ b/anda/system/ipu6-camera-hal/ipu6-camera-hal.spec @@ -3,13 +3,12 @@ %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global build_cflags %{__build_flags_lang_c} %{?_distro_extra_cflags} -Wno-alloc-size-larger-than %global build_cxxflags %{__build_flags_lang_cxx} %{?_distro_extra_cxxflags} -Wno-alloc-size-larger-than -%global __cmake_in_source_build 1 %global ver 1.0.1 Name: ipu6-camera-hal Summary: Hardware abstraction layer for Intel IPU6 -Version: %{ver}^%{commit_date}git.%{shortcommit} -Release: 1%?dist +Version: %{ver}^%{commit_date}git%{shortcommit} +Release: 2%{?dist} License: Apache-2.0 URL: https://github.com/intel/ipu6-camera-hal Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz @@ -49,13 +48,18 @@ This provides the necessary header files for IPU6 HAL development. %prep %autosetup -p1 -n %{name}-%{commit} -%build +%conf %cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_SYSCONFDIR:PATH="%{_datadir}/defaults/etc" \ -DBUILD_CAMHAL_ADAPTOR=ON \ -DBUILD_CAMHAL_PLUGIN=ON \ -DIPU_VERSIONS="ipu6;ipu6ep;ipu6epmtl" \ - -DUSE_PG_LITE_PIPE=ON + -DUSE_PG_LITE_PIPE=ON \ +%if 0%{?fedora} >= 44 + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 +%endif + +%build %cmake_build %install @@ -98,4 +102,5 @@ fi %changelog -%autochangelog +* Sat Apr 18 2026 Gilver E. - 1.0.1^20260121git9899efa +- Updated build diff --git a/anda/system/ipu6-drivers/akmod/intel-ipu6-kmod.spec b/anda/system/ipu6-drivers/akmod/intel-ipu6-kmod.spec index 3e8a4840fe..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 da921f79f673d816b99c1f974dfc895e8ede3f64 +%global commit 0d5ba31069ead844e231ed1ac637ac8ef571d63a %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260303 +%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: 1%?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 @@ -25,7 +25,7 @@ Provides: %{name} = %{commitdate}.%{shortcommit}-%{release} Provides: akmod-%{modulename} = %{commitdate}.%{shortcommit}-%{release} %endif -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description This package enables the Intel IPU6 image processor. @@ -34,7 +34,7 @@ This package enables the Intel IPU6 image processor. # Error out if there was something wrong with kmodtool: %{?kmodtool_check} # Print kmodtool output for debugging purposes: -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %autosetup -p1 -n ipu6-drivers-%{commit} patch -p1 -i patches/*.patch diff --git a/anda/system/ipu6-drivers/dkms/dkms-intel-ipu6.spec b/anda/system/ipu6-drivers/dkms/dkms-intel-ipu6.spec index 57d182b395..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 da921f79f673d816b99c1f974dfc895e8ede3f64 +%global commit 0d5ba31069ead844e231ed1ac637ac8ef571d63a %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260303 +%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 @@ -9,7 +9,7 @@ Name: dkms-%{modulename} Summary: DKMS module for %{modulename} Version: 0^%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} License: GPL-2.0-or-later URL: https://github.com/intel/ipu6-drivers Source0: %{url}/archive/%{commit}.tar.gz#/ipu6-drivers-%{shortcommit}.tar.gz 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 6cea74f689..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 da921f79f673d816b99c1f974dfc895e8ede3f64 +%global commit 0d5ba31069ead844e231ed1ac637ac8ef571d63a %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260303 +%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 @@ -9,7 +9,7 @@ Name: intel-ipu6-drivers Summary: Common files for Intel IPU6 drivers Version: 0^%{commit_date}git.%{shortcommit} -Release: 1%?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/kcgroups-dmemcg/anda.hcl b/anda/system/kcgroups-dmemcg/anda.hcl new file mode 100644 index 0000000000..8f74540321 --- /dev/null +++ b/anda/system/kcgroups-dmemcg/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "kcgroups-dmemcg.spec" + } +} diff --git a/anda/system/kcgroups-dmemcg/kcgroups-dmemcg.spec b/anda/system/kcgroups-dmemcg/kcgroups-dmemcg.spec new file mode 100644 index 0000000000..3d2fb30c3b --- /dev/null +++ b/anda/system/kcgroups-dmemcg/kcgroups-dmemcg.spec @@ -0,0 +1,122 @@ +%global kcgroups_src kcgroups-kcgroups-dmemcg-experimental +%global booster_src kcgroups-booster-dmemcg-experimental + +Name: kcgroups-dmemcg +Version: 0.1 +Release: 2%{?dist} +Summary: KDE library to manipulate cgroups - fork adding dmem cgroup support +Packager: Kyle Gospodnetich +License: LGPL-2.1-or-later AND MIT AND CC0-1.0 +URL: https://github.com/pixelcluster/kcgroups + +Source0: %{url}/archive/refs/tags/kcgroups-dmemcg-experimental.tar.gz +Source1: %{url}/archive/refs/tags/booster-dmemcg-experimental.tar.gz +Source2: %{url}/tree/dmemcg/LICENSES + +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: qt6-qtbase-devel +BuildRequires: plasma-workspace-devel +BuildRequires: kf6-kwindowsystem-devel +BuildRequires: kf6-kconfig-devel +BuildRequires: kf6-kdbusaddons-devel +BuildRequires: kf6-kitemmodels-devel +BuildRequires: systemd-rpm-macros + +Requires: qt6-qtbase +Requires: kf6-kwindowsystem +Requires: kf6-kconfig +Requires: kf6-kdbusaddons + +Conflicts: kcgroups-git + +%description +KDE library to manipulate cgroups (and boost foreground apps). +This is a fork adding dmem cgroup support. + +%package -n plasma-foreground-booster-dmemcg +Summary: Plasma foreground booster with dmemcg support +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n plasma-foreground-booster-dmemcg +Plasma foreground booster utilizing dmem cgroup support. + +%package devel +Summary: Development files for kcgroups-dmemcg +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Development headers and CMake files for kcgroups-dmemcg. + +%prep +%setup -q -c -n %{name}-%{version} -a 0 -a 1 + +%build +mkdir kcgroups-build +mkdir kcgroups-install +mkdir booster-build + +pushd kcgroups-build +cmake ../%{kcgroups_src} \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DBUILD_WITH_QT6=ON +make %{?_smp_mflags} + +make DESTDIR=$(pwd)/../kcgroups-install install +popd + +pushd booster-build +export CMAKE_PREFIX_PATH=$(pwd)/../kcgroups-install%{_prefix} +cmake ../%{booster_src} \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DBUILD_WITH_QT6=ON +make %{?_smp_mflags} + +%install +pushd kcgroups-build +make DESTDIR=%{buildroot} install +popd + +pushd booster-build +make DESTDIR=%{buildroot} install + +mkdir -p %{buildroot}%{_defaultlicensedir}/%{name} + +cp -r %{S:2} %{buildroot}%{_defaultlicensedir}/%{name}/ + +%post -n plasma-foreground-booster-dmemcg +%systemd_user_post plasma-foreground-booster.service + +%preun -n plasma-foreground-booster-dmemcg +%systemd_user_preun plasma-foreground-booster.service + +%postun -n plasma-foreground-booster-dmemcg +%systemd_user_postun_with_restart plasma-foreground-booster.service + +%files +%license %{_defaultlicensedir}/%{name}/LICENSES +%{_libdir}/libKF5CGroups.so.5* +%{_datadir}/qlogging-categories6/kcgroups.* + +%files devel +%{_includedir}/KF6/ +%{_libdir}/cmake/KF5CGroups/ +%{_libdir}/libKF5CGroups.so +%{_libdir}/qt6/mkspecs/modules/qt_KCGroups.pri + +%files -n plasma-foreground-booster-dmemcg +%{_bindir}/foreground_booster +%{_userunitdir}/plasma-foreground-booster.service +%{_datadir}/applications/org.kde.foreground-booster.desktop +%config(noreplace) %{_sysconfdir}/xdg/autostart/org.kde.foreground-booster.desktop + +%changelog +* Thu May 21 2026 Kyle Gospodnetich - 0.1-1 +- Brought to Terra repo unmodified + +* Fri Apr 17 2026 LionHeartP - 0.1-1 +- Initial spec derived from AUR PKGBUILD https://aur.archlinux.org/packages/plasma-foreground-booster-dmemcg diff --git a/anda/system/lact/anda.hcl b/anda/system/lact/anda.hcl new file mode 100644 index 0000000000..4b6530f15c --- /dev/null +++ b/anda/system/lact/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "lact.spec" + } +} diff --git a/anda/system/lact/lact.spec b/anda/system/lact/lact.spec new file mode 100644 index 0000000000..dc7bdfbfd2 --- /dev/null +++ b/anda/system/lact/lact.spec @@ -0,0 +1,81 @@ +%global commit 6a7d0960eed5f05cab7b6f1a01d87dbf31d425d1 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +%define appid io.github.ilya_zlobintsev.LACT + +Name: lact +Version: 0.9.1 +Release: 1%{?dist} +Summary: Linux GPU Configuration And Monitoring Tool +URL: https://github.com/ilya-zlobintsev/LACT +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +SourceLicense: MIT +License: MIT AND Zlib AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND BSD-3-Clause AND CC0-1.0 AND CDLA-Permissive-2.0 AND LGPL-3.0-or-later AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR ISC OR MIT) 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 OR GPL-2.0-only) +BuildRequires: cargo-rpm-macros +BuildRequires: systemd-rpm-macros +BuildRequires: clang-devel +BuildRequires: libadwaita-devel +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(cairo-gobject) +BuildRequires: pkgconfig(graphene-gobject-1.0) +BuildRequires: pkgconfig(hwdata) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +BuildRequires: pkgconfig(libdisplay-info) + +Requires: gtk4 +Requires: libdrm +Requires: (ocl-icd or OpenCL-ICD-Loader) +Requires: hwdata +Requires: vulkan-tools +Requires: libadwaita + +Provides: LACT + +Packager: Owen Zimmerman + +%description +%{summary}. + +%prep +%autosetup -n LACT-%{version} +%cargo_prep_online + +%build +export VERGEN_GIT_SHA=%{shortcommit} +%cargo_build + +%install +install -Dm755 target/rpm/lact %{buildroot}%{_bindir}/lact +install -Dm644 res/lactd.service %{buildroot}%{_unitdir}/lactd.service +install -Dm644 res/%{appid}.desktop %{buildroot}%{_appsdir}/%{appid}.desktop +install -Dm644 res/%{appid}.png %{buildroot}%{_hicolordir}/512x512/apps/%{appid}.png +install -Dm644 res/%{appid}.svg %{buildroot}%{_scalableiconsdir}/%{appid}.svg +install -Dm644 res/%{appid}.metainfo.xml %{buildroot}%{_metainfodir}/%{appid}.metainfo.xml + +%{cargo_license_online} > LICENSE.dependencies + +%post +%systemd_post lactd.service + +%preun +%systemd_preun lactd.service + +%postun +%systemd_postun_with_restart lactd.service + +%files +%license LICENSE +%license LICENSE.dependencies +%{_bindir}/lact +%{_unitdir}/lactd.service +%{_appsdir}/%{appid}.desktop +%{_hicolordir}/512x512/apps/%{appid}.png +%{_scalableiconsdir}/%{appid}.svg +%{_metainfodir}/%{appid}.metainfo.xml + +%changelog +* Thu May 07 2026 Owen Zimmerman +- Initial commit diff --git a/anda/system/lact/update.rhai b/anda/system/lact/update.rhai new file mode 100644 index 0000000000..d92ec1933b --- /dev/null +++ b/anda/system/lact/update.rhai @@ -0,0 +1,7 @@ +let r = get("https://api.github.com/repos/ilya-zlobintsev/LACT/tags").json_arr(); + +rpm.version(r[0].name); + +if rpm.changed() { + rpm.global("commit", r[0].commit.sha); +} diff --git a/anda/system/limine/limine.spec b/anda/system/limine/limine.spec index f1d51b3d75..f1c270e17d 100644 --- a/anda/system/limine/limine.spec +++ b/anda/system/limine/limine.spec @@ -1,11 +1,12 @@ Name: limine -Version: 10.8.2 -Release: 1%?dist +Version: 12.3.3 +Release: 1%{?dist} Summary: Modern, advanced, portable, multiprotocol bootloader License: BSD-2-Clause URL: https://limine-bootloader.org -Source0: https://codeberg.org/Limine/Limine/releases/download/v%version/limine-%version.tar.gz -Source1: https://codeberg.org/Limine/Limine/raw/tag/v%version/README.md +Source0: https://github.com/Limine-Bootloader/Limine/releases/download/v%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/Limine-Bootloader/Limine/releases/download/v%{version}/limine-%{version}.tar.gz.sig +Source2: https://raw.githubusercontent.com/Limine-Bootloader/Limine/refs/tags/v%{version}/README.md Packager: madonuko BuildRequires: nasm mtools llvm lld clang make @@ -15,10 +16,14 @@ the reference implementation for the Limine boot protocol. %prep %autosetup -cp %{S:1} . +cp %{S:2} . +gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 05D29860D0A0668AAEFB9D691F3C021BECA23821 +gpg --verify %{S:1} %{S:0} || exit 1 + +%conf +%configure --enable-all CC_FOR_TARGET=clang LD_FOR_TARGET=ld.lld %build -%configure --enable-all CC_FOR_TARGET=clang LD_FOR_TARGET=ld.lld %make_build %install @@ -26,9 +31,9 @@ cp %{S:1} . %files -%doc README.md 3RDPARTY.md FAQ.md CONFIG.md COPYING USAGE.md +%doc README.md 3RDPARTY.md FAQ.md CONFIG.md COPYING USAGE.md ChangeLog %license %_datadir/doc/limine/LICENSES/LicenseRef-scancode-bsd-no-disclaimer-unmodified.txt %license COPYING %_bindir/limine %_datadir/limine/ -%_mandir/man1/limine.1.gz +%_mandir/man1/limine.1.* diff --git a/anda/system/limine/update.rhai b/anda/system/limine/update.rhai index eb0821f62d..bd43fbeb2c 100644 --- a/anda/system/limine/update.rhai +++ b/anda/system/limine/update.rhai @@ -1,3 +1 @@ -import "andax/bump_extras.rhai" as bump; - -rpm.version(bump::codeberg("Limine/Limine")); +rpm.version(gh("limine-bootloader/limine")); diff --git a/anda/system/logitech-rs50-linux-driver/akmod/anda.hcl b/anda/system/logitech-rs50-linux-driver/akmod/anda.hcl new file mode 100644 index 0000000000..d2e96406cb --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/akmod/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "logitech-rs50-linux-driver-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/logitech-rs50-linux-driver/akmod/logitech-rs50-linux-driver-kmod.spec b/anda/system/logitech-rs50-linux-driver/akmod/logitech-rs50-linux-driver-kmod.spec new file mode 100644 index 0000000000..70aa4f177e --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/akmod/logitech-rs50-linux-driver-kmod.spec @@ -0,0 +1,71 @@ +# 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 14045e8f61f12f4f1e320bc3bba015b98f5294dd +%global commitdate 20260629 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global modulename logitech-rs50-linux-driver + +Name: %{modulename}-kmod +Version: 1.0^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276) +License: GPL-2.0-only +URL: https://github.com/mescon/logitech-rs50-linux-driver +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +BuildArch: x86_64 +BuildRequires: gcc +BuildRequires: make +BuildRequires: kmodtool +Packager: Luan V. + +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Requires: kernel-devel +Conflicts: dkms-%{modulename} + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276). +This is a patched version of the hid-logitech-hidpp driver that adds RS50 support with force feedback (FF_CONSTANT) and exposes all G Hub settings via sysfs for runtime configuration. +Note: This driver replaces the in-kernel hid-logitech-hidpp module and continues to support all other Logitech HID++ devices (mice, keyboards, other racing wheels like the G29, G920, G923, etc.). + +%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} + +mv %{modulename}-%{commit}/mainline/* %{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%%___*} VERSION=v%{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%%___*}/hid-logitech-hidpp.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/hid-logitech-hidpp.ko +done +%{?akmod_install} + +%changelog +* Fri May 01 2026 Luan V. - 1.0^20260430git.df7f149-2 +- fix spec warnings: add Packager tag and remove autochangelog diff --git a/anda/system/logitech-rs50-linux-driver/akmod/update.rhai b/anda/system/logitech-rs50-linux-driver/akmod/update.rhai new file mode 100644 index 0000000000..d55bf59bae --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/akmod/update.rhai @@ -0,0 +1,9 @@ + let c = sh("cat anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); +} diff --git a/anda/system/logitech-rs50-linux-driver/dkms/anda.hcl b/anda/system/logitech-rs50-linux-driver/dkms/anda.hcl new file mode 100644 index 0000000000..352e5771ae --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-logitech-rs50-linux-driver.spec" + } + labels { + updbranch = 1 + mock = 1 + } +} diff --git a/anda/system/logitech-rs50-linux-driver/dkms/dkms-logitech-rs50-linux-driver.spec b/anda/system/logitech-rs50-linux-driver/dkms/dkms-logitech-rs50-linux-driver.spec new file mode 100644 index 0000000000..1a10446d0f --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/dkms/dkms-logitech-rs50-linux-driver.spec @@ -0,0 +1,67 @@ +%global commit 14045e8f61f12f4f1e320bc3bba015b98f5294dd +%global debug_package %{nil} +%global modulename logitech-rs50-linux-driver +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260629 + +Name: dkms-%{modulename} +Version: 1.0^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276) +License: GPL-2.0-only +URL: https://github.com/mescon/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Source1: dkms.conf +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: x86_64 +Provides: %{modulename}-kmod +Packager: Luan V. + +%description +Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276). +This is a patched version of the hid-logitech-hidpp driver that adds RS50 support with force feedback (FF_CONSTANT) and exposes all G Hub settings via sysfs for runtime configuration. +Note: This driver replaces the in-kernel hid-logitech-hidpp module and continues to support all other Logitech HID++ devices (mice, keyboards, other racing wheels like the G29, G920, G923, etc.). + +%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} +pushd mainline +mkdir build +cp %{SOURCE1} ./dkms.conf +sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf +popd + +%install +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version} +cp -fr ./mainline/* %{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 || : + +%preun +dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : + +%files +%{_usrsrc}/%{modulename}-%{version} + +%changelog +* Sun May 03 2026 Luan V. - 1.0^20260502git.7296717-2 +- ship our own dkms.conf, allowing full cleanup on uninstall +* Fri May 01 2026 Luan V. - 1.0^20260430git.df7f149-2 +- fix build due to upstream changes +- resolve spec warnings: add Packager tag, remove autochangelog diff --git a/anda/system/logitech-rs50-linux-driver/dkms/dkms.conf b/anda/system/logitech-rs50-linux-driver/dkms/dkms.conf new file mode 100644 index 0000000000..4ba86e19c6 --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/dkms/dkms.conf @@ -0,0 +1,10 @@ +PACKAGE_NAME="logitech-rs50-linux-driver" +PACKAGE_VERSION="__VERSION_STRING" +AUTOINSTALL="yes" + +MAKE[0]="'make' KVERSION=$kernelver" +CLEAN="make clean" + +BUILT_MODULE_NAME[0]="hid-logitech-hidpp" +DEST_MODULE_NAME[0]="hid-logitech-hidpp" +DEST_MODULE_LOCATION[0]="/extra" diff --git a/anda/system/logitech-rs50-linux-driver/dkms/update.rhai b/anda/system/logitech-rs50-linux-driver/dkms/update.rhai new file mode 100644 index 0000000000..d55bf59bae --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/dkms/update.rhai @@ -0,0 +1,9 @@ + let c = sh("cat anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); +} diff --git a/anda/system/logitech-rs50-linux-driver/kmod-common/README.terra.md b/anda/system/logitech-rs50-linux-driver/kmod-common/README.terra.md new file mode 100644 index 0000000000..c7816b651e --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/kmod-common/README.terra.md @@ -0,0 +1,4 @@ +# proton trueforce setup +the original tools/install-tf-shim.sh is available on your path as logi-rs50-proton-setup, +it will search for the logitech dlls at `/var/lib/logitech-rs50-linux-driver/`. +for which files to place there and how to get them, see README.md diff --git a/anda/system/logitech-rs50-linux-driver/kmod-common/anda.hcl b/anda/system/logitech-rs50-linux-driver/kmod-common/anda.hcl new file mode 100644 index 0000000000..e27e61ff9d --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "logitech-rs50-linux-driver.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/logitech-rs50-linux-driver/kmod-common/com.github.rs50.metainfo.xml b/anda/system/logitech-rs50-linux-driver/kmod-common/com.github.rs50.metainfo.xml new file mode 100644 index 0000000000..4ae8b777a3 --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/kmod-common/com.github.rs50.metainfo.xml @@ -0,0 +1,26 @@ + + com.github.rs50 + logitech rs50 linux driver + logitech-rs50-linux-driver +

Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276). + +

+ Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276). + This is a patched version of the hid-logitech-hidpp driver that adds RS50 support with force feedback (FF_CONSTANT) and exposes all G Hub settings via sysfs for runtime configuration. + Note: This driver replaces the in-kernel hid-logitech-hidpp module and continues to support all other Logitech HID++ devices (mice, keyboards, other racing wheels like the G29, G920, G923, etc.). +

+
+ https://github.com/mescon/logitech-rs50-linux-driver + CC0-1.0 + + GPL-2.0-only + + + mescon + + + + + usb:v046dpc276* + + diff --git a/anda/system/logitech-rs50-linux-driver/kmod-common/logi-rs50-proton-setup.sh b/anda/system/logitech-rs50-linux-driver/kmod-common/logi-rs50-proton-setup.sh new file mode 100644 index 0000000000..dd284ce8bb --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/kmod-common/logi-rs50-proton-setup.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env sh +exec /usr/share/logitech-rs50-linux-driver/tools/install-tf-shim.sh "$@" diff --git a/anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec b/anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec new file mode 100644 index 0000000000..431f8973df --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/kmod-common/logitech-rs50-linux-driver.spec @@ -0,0 +1,84 @@ +%global commit 14045e8f61f12f4f1e320bc3bba015b98f5294dd +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260629 + +Name: logitech-rs50-linux-driver +Version: 1.0^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276) +License: GPL-2.0-only +URL: https://github.com/mescon/%{name} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Source1: com.github.rs50.metainfo.xml +Source2: logi-rs50-proton-setup.sh +Source3: README.terra.md +BuildRequires: systemd-rpm-macros +Recommends: trueforce-sdk +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +Packager: Luan V. +BuildArch: noarch + +%description +Linux kernel driver for the Logitech RS50 Direct Drive Wheel Base (USB ID 046d:c276). +This is a patched version of the hid-logitech-hidpp driver that adds RS50 support with force feedback (FF_CONSTANT) and exposes all G Hub settings via sysfs for runtime configuration. +Note: This driver replaces the in-kernel hid-logitech-hidpp module and continues to support all other Logitech HID++ devices (mice, keyboards, other racing wheels like the G29, G920, G923, etc.). + +%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} + +echo hid-logitech-hidpp > %{name}.conf +mv sdk/README.md README-SDK.md +cp %{SOURCE3} README.terra.md + +%install +install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/metainfo/com.github.rs50.metainfo.xml + +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_datadir}/%{name}/tools +mkdir -p %{buildroot}%{_sharedstatedir}/%{name}/Logi +ln -sr %_sharedstatedir/%{name} %{buildroot}%{_datadir}/%{name}/sdk + +install -Dm755 tools/install-tf-shim.sh %{buildroot}%{_datadir}/%{name}/tools/ +install -Dm755 %{SOURCE2} %{buildroot}%{_bindir}/logi-rs50-proton-setup + +install -Dm644 udev/70-logitech-rs50.rules -t %{buildroot}%{_udevrulesdir}/ +install -D -m644 userspace/libtrueforce/udev/99-logitech-rs50-trueforce.rules %{buildroot}%{_udevrulesdir}/70-logitech-rs50-trueforce.rules + +# Akmods modules +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +%posttrans +### Skip triggering if udevd isn't accessible +if [ -S /run/udev/control ]; then + /usr/bin/udevadm control --reload + /usr/bin/udevadm trigger --subsystem-match=hidraw +fi + + +%files +%doc README.terra.md README.md README-SDK.md CHANGELOG.md rs-wheel-hub-button-layout.png docs/* +%{_datadir}/metainfo/com.github.rs50.metainfo.xml +%{_udevrulesdir}/70-logitech-rs50.rules +%{_udevrulesdir}/70-logitech-rs50-trueforce.rules +%{_datadir}/%{name}/tools/* +%{_bindir}/logi-rs50-proton-setup +%{_datadir}/%{name}/sdk +%dir %{_sharedstatedir}/%{name}/Logi + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%changelog +* Fri May 01 2026 Luan V. - 1.0^20260430git.df7f149-2 +- add logi-rs50-proton-setup script together with a readme which explains where to put the necessary files. +- and add udev rules together with a posttrans script to reload and trigger devices on install +- fix spec warnings: add Packager tag and remove autochangelog diff --git a/anda/system/logitech-rs50-linux-driver/kmod-common/update.rhai b/anda/system/logitech-rs50-linux-driver/kmod-common/update.rhai new file mode 100644 index 0000000000..82cd36e3e9 --- /dev/null +++ b/anda/system/logitech-rs50-linux-driver/kmod-common/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("mescon/logitech-rs50-linux-driver")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); +} 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..63ecce4f3b --- /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.12.2 +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/anda.hcl b/anda/system/nct6687d/akmod/anda.hcl new file mode 100644 index 0000000000..644fad7c33 --- /dev/null +++ b/anda/system/nct6687d/akmod/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "nct6687d-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/nct6687d/akmod/nct6687d-kmod.spec b/anda/system/nct6687d/akmod/nct6687d-kmod.spec new file mode 100644 index 0000000000..7db141427f --- /dev/null +++ b/anda/system/nct6687d/akmod/nct6687d-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 e069fac2107fb88d30be41375bd2c35ef17e3677 +%global commitdate 20260603 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global modulename nct6687d + +Name: %{modulename}-kmod +Version: 1.0^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver for the NCT6687D hardware monitoring chip +License: GPL-2.0-or-later +URL: https://github.com/Fred78290/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +BuildArch: x86_64 +BuildRequires: gcc +BuildRequires: make +BuildRequires: kmodtool +BuildRequires: elfutils-libelf-devel + +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Requires: kernel-devel +Conflicts: dkms-%{modulename} + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Linux kernel driver for the NCT6687D hardware monitoring chip. +This kernel module permit to recognize the chipset Nuvoton NCT6687-R in lm-sensors package. This sensor is present on some B550 motherboard such as MSI or ASUS. +The implementation is minimalist and was done by reverse coding of Windows 10 source code from LibreHardwareMonitor + +%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=0 %{?_smp_mflags} -C "${kernel_version##*___}" M=${PWD}/_kmod_build_${kernel_version%%___*} +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%%___*}/*.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/*.ko +done +%{?akmod_install} + +%changelog +* Sat Apr 11 2026 Luan Oliveira - 1.0^20260411git.cedda8b-1 +- Initial package diff --git a/anda/system/nct6687d/akmod/update.rhai b/anda/system/nct6687d/akmod/update.rhai new file mode 100644 index 0000000000..f651cd8bc4 --- /dev/null +++ b/anda/system/nct6687d/akmod/update.rhai @@ -0,0 +1,9 @@ + let c = sh("cat anda/system/nct6687d/kmod-common/nct6687d.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/nct6687d/kmod-common/nct6687d.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); +} diff --git a/anda/system/nct6687d/dkms/anda.hcl b/anda/system/nct6687d/dkms/anda.hcl new file mode 100644 index 0000000000..eda27e4852 --- /dev/null +++ b/anda/system/nct6687d/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-nct6687d.spec" + } + labels { + updbranch = 1 + mock = 1 + } +} diff --git a/anda/system/nct6687d/dkms/dkms-nct6687d.spec b/anda/system/nct6687d/dkms/dkms-nct6687d.spec new file mode 100644 index 0000000000..3d2bfa1ea4 --- /dev/null +++ b/anda/system/nct6687d/dkms/dkms-nct6687d.spec @@ -0,0 +1,61 @@ +%global commit e069fac2107fb88d30be41375bd2c35ef17e3677 +%global debug_package %{nil} +%global modulename nct6687d +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260603 + +Name: dkms-%{modulename} +Version: 1.0^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver for the NCT6687D hardware monitoring chip +License: GPL-2.0-or-later +URL: https://github.com/Fred78290/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Patch0: dkms-version.patch +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: x86_64 +Provides: %{modulename}-kmod + +%description +Linux kernel driver for the NCT6687D hardware monitoring chip. +This kernel module permit to recognize the chipset Nuvoton NCT6687-R in lm-sensors package. This sensor is present on some B550 motherboard such as MSI or ASUS. +The implementation is minimalist and was done by reverse coding of Windows 10 source code from LibreHardwareMonitor + +%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} +sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf + +%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 || : + +%preun +dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : + +%files +%{_usrsrc}/%{modulename}-%{version} + + + +%changelog +* Sat Apr 11 2026 Luan Oliveira - 1.0^20260411git.cedda8b-1 +- Initial package diff --git a/anda/system/nct6687d/dkms/dkms-version.patch b/anda/system/nct6687d/dkms/dkms-version.patch new file mode 100644 index 0000000000..fe96fc77a8 --- /dev/null +++ b/anda/system/nct6687d/dkms/dkms-version.patch @@ -0,0 +1,11 @@ +diff --git a/dkms.conf b/dkms.conf +index d8fc2b1..d315428 100644 +--- a/dkms.conf ++++ b/dkms.conf +@@ -1,5 +1,5 @@ + PACKAGE_NAME="nct6687d" +-PACKAGE_VERSION="1" ++PACKAGE_VERSION="__VERSION_STRING" + MAKE[0]="make kver=${kernelver} dkms/build" + BUILT_MODULE_NAME[0]="nct6687" + DEST_MODULE_LOCATION[0]="/kernel/drivers/hwmon/" diff --git a/anda/system/nct6687d/dkms/update.rhai b/anda/system/nct6687d/dkms/update.rhai new file mode 100644 index 0000000000..f651cd8bc4 --- /dev/null +++ b/anda/system/nct6687d/dkms/update.rhai @@ -0,0 +1,9 @@ + let c = sh("cat anda/system/nct6687d/kmod-common/nct6687d.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/nct6687d/kmod-common/nct6687d.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); +} diff --git a/anda/system/nct6687d/kmod-common/anda.hcl b/anda/system/nct6687d/kmod-common/anda.hcl new file mode 100644 index 0000000000..2a426355a3 --- /dev/null +++ b/anda/system/nct6687d/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "nct6687d.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/nct6687d/kmod-common/com.github.nct6687d.metainfo.xml b/anda/system/nct6687d/kmod-common/com.github.nct6687d.metainfo.xml new file mode 100644 index 0000000000..0e56f8305d --- /dev/null +++ b/anda/system/nct6687d/kmod-common/com.github.nct6687d.metainfo.xml @@ -0,0 +1,22 @@ + + com.github.nct6687d + NCT6687D Kernel module + nct6687d + Linux kernel driver for the NCT6687D hardware monitoring chip. + +

+This kernel module permit to recognize the chipset Nuvoton NCT6687-R in lm-sensors package. This sensor is present on some B550 motherboard such as MSI or ASUS. + +The implementation is minimalist and was done by reverse coding of Windows 10 source code from LibreHardwareMonitor. +

+ + https://github.com/Fred78290/nct6687d + CC0-1.0 + + GPL-2.0-or-later + + + Fred78290 + + + diff --git a/anda/system/nct6687d/kmod-common/nct6687d.spec b/anda/system/nct6687d/kmod-common/nct6687d.spec new file mode 100644 index 0000000000..584727b3c5 --- /dev/null +++ b/anda/system/nct6687d/kmod-common/nct6687d.spec @@ -0,0 +1,49 @@ +%global commit e069fac2107fb88d30be41375bd2c35ef17e3677 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260603 + +Name: nct6687d +Version: 1.0^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Linux kernel driver for the NCT6687D hardware monitoring chip +License: GPL-2.0-or-later +URL: https://github.com/Fred78290/%{name} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Source1: com.github.nct6687d.metainfo.xml +BuildRequires: systemd-rpm-macros +BuildRequires: anda-srpm-macros +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +Obsoletes: %{name}-akmods-modules < %{evr} +BuildArch: noarch + +%description +Linux kernel driver for the NCT6687D hardware monitoring chip. +This kernel module permit to recognize the chipset Nuvoton NCT6687-R in lm-sensors package. This sensor is present on some B550 motherboard such as MSI or ASUS. +The implementation is minimalist and was done by reverse coding of Windows 10 source code from LibreHardwareMonitor + +%prep +%autosetup -p1 -n %{name}-%{commit} + +echo nct6687 > %{name}.conf +echo "blacklist nct6683" > nct6683_blacklist.conf + +%install +install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/metainfo/com.github.nct6687d.metainfo.xml + +# Akmods modules +install -Dm 0644 %{name}.conf -t %{buildroot}%{_modulesloaddir} +install -Dm 0644 nct6683_blacklist.conf -t %{buildroot}%{_modprobedir} + +%files +%license LICENSE +%doc README.md images/* TESTING_RESULTS.md +%{_modprobedir}/nct6683_blacklist.conf +%{_datadir}/metainfo/com.github.nct6687d.metainfo.xml +%{_modulesloaddir}/%{name}.conf + +%changelog +* Wed May 06 2026 Luan Oliveira - 1.0^20260411git.cedda8b-2 +- fix module load file +* Sat Apr 11 2026 Luan Oliveira - 1.0^20260411git.cedda8b-1 +- Initial package diff --git a/anda/system/nct6687d/kmod-common/update.rhai b/anda/system/nct6687d/kmod-common/update.rhai new file mode 100644 index 0000000000..03c78a4cb4 --- /dev/null +++ b/anda/system/nct6687d/kmod-common/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("Fred78290/nct6687d")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); +} diff --git a/anda/system/new-lg4ff/akmod/anda.hcl b/anda/system/new-lg4ff/akmod/anda.hcl new file mode 100644 index 0000000000..1baad1eca9 --- /dev/null +++ b/anda/system/new-lg4ff/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "new-lg4ff-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/new-lg4ff/akmod/new-lg4ff-kmod.spec b/anda/system/new-lg4ff/akmod/new-lg4ff-kmod.spec new file mode 100644 index 0000000000..7041a5ea35 --- /dev/null +++ b/anda/system/new-lg4ff/akmod/new-lg4ff-kmod.spec @@ -0,0 +1,55 @@ +%global commit 2092db19f7b40854e0427a1b2e39eda9f8d0c3cd +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20250528 +%global ver 0.5.0 +%define buildforkernels akmod +%global debug_package %{nil} +%global modulename new-lg4ff + +Name: %{modulename}-kmod +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +Summary: Logitech force feedback kernel module +License: GPL-2.0-only +URL: https://github.com/berarma/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +BuildRequires: kmodtool +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-%{modulename} + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Experimental Logitech force feedback module for Linux. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n %{modulename}-%{commit} + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr Kbuild Makefile *.c *.h usbhid _kmod_build_${kernel_version%%___*}/ +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build -C "${kernel_version##*___}" M=$(pwd) modules + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/new-lg4ff/akmod/update.rhai b/anda/system/new-lg4ff/akmod/update.rhai new file mode 100644 index 0000000000..3b39f52224 --- /dev/null +++ b/anda/system/new-lg4ff/akmod/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/new-lg4ff/kmod-common/new-lg4ff.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/new-lg4ff/kmod-common/new-lg4ff.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/new-lg4ff/kmod-common/new-lg4ff.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/new-lg4ff/dkms/anda.hcl b/anda/system/new-lg4ff/dkms/anda.hcl new file mode 100644 index 0000000000..9ec986d3be --- /dev/null +++ b/anda/system/new-lg4ff/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-new-lg4ff.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/new-lg4ff/dkms/dkms-new-lg4ff.conf b/anda/system/new-lg4ff/dkms/dkms-new-lg4ff.conf new file mode 100644 index 0000000000..1c8806a445 --- /dev/null +++ b/anda/system/new-lg4ff/dkms/dkms-new-lg4ff.conf @@ -0,0 +1,10 @@ +PACKAGE_NAME="new-lg4ff" +PACKAGE_VERSION="__VERSION_STRING" +AUTOINSTALL="yes" + +MAKE[0]="'make' KVERSION=$kernelver" +CLEAN="make clean" + +BUILT_MODULE_NAME[0]="hid-logitech-new" +DEST_MODULE_NAME[0]="hid-logitech" +DEST_MODULE_LOCATION[0]="/extra" diff --git a/anda/system/new-lg4ff/dkms/dkms-new-lg4ff.spec b/anda/system/new-lg4ff/dkms/dkms-new-lg4ff.spec new file mode 100644 index 0000000000..954f84b65f --- /dev/null +++ b/anda/system/new-lg4ff/dkms/dkms-new-lg4ff.spec @@ -0,0 +1,58 @@ +%global commit 2092db19f7b40854e0427a1b2e39eda9f8d0c3cd +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20250528 +%global ver 0.5.0 +%global debug_package %{nil} +%global modulename new-lg4ff + +Name: dkms-%{modulename} +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +Summary: Logitech force feedback kernel module (DKMS) +License: GPL-2.0-only +URL: https://github.com/berarma/%{modulename} +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +Source1: %{name}.conf +Source2: no-weak-modules.conf +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod +BuildArch: noarch + +%description +Experimental Logitech force feedback module for Linux. + +%prep +%autosetup -p1 -n %{modulename}-%{commit} + +cp -f %{SOURCE1} dkms.conf +sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf + +%build + +%install +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr Kbuild Makefile *.c *.h usbhid dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%if 0%{?fedora} +install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 +%{_usrsrc}/%{modulename}-%{version} +%if 0%{?fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/new-lg4ff/dkms/no-weak-modules.conf b/anda/system/new-lg4ff/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/new-lg4ff/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/new-lg4ff/dkms/update.rhai b/anda/system/new-lg4ff/dkms/update.rhai new file mode 100644 index 0000000000..3b39f52224 --- /dev/null +++ b/anda/system/new-lg4ff/dkms/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/new-lg4ff/kmod-common/new-lg4ff.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/new-lg4ff/kmod-common/new-lg4ff.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/new-lg4ff/kmod-common/new-lg4ff.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/new-lg4ff/kmod-common/anda.hcl b/anda/system/new-lg4ff/kmod-common/anda.hcl new file mode 100644 index 0000000000..c34afaa94b --- /dev/null +++ b/anda/system/new-lg4ff/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "new-lg4ff.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/new-lg4ff/kmod-common/new-lg4ff.spec b/anda/system/new-lg4ff/kmod-common/new-lg4ff.spec new file mode 100644 index 0000000000..dd7a6e175c --- /dev/null +++ b/anda/system/new-lg4ff/kmod-common/new-lg4ff.spec @@ -0,0 +1,47 @@ +%global commit 2092db19f7b40854e0427a1b2e39eda9f8d0c3cd +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20250528 +%global ver 0.5.0 + +Name: new-lg4ff +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +Summary: Logitech force feedback driver common files +License: GPL-2.0-only +URL: https://github.com/berarma/%{name} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: noarch + +%description +Experimental Logitech force feedback module for Linux. This package contains +common files shared between the akmod and dkms variants. + +%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} + +echo hid-logitech-new > %{name}.conf + +%install +# Akmods modules +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +%files +%license LICENSE +%doc README.md + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/new-lg4ff/kmod-common/update.rhai b/anda/system/new-lg4ff/kmod-common/update.rhai new file mode 100644 index 0000000000..4bc998ce80 --- /dev/null +++ b/anda/system/new-lg4ff/kmod-common/update.rhai @@ -0,0 +1,8 @@ +rpm.global("commit", gh_commit("berarma/new-lg4ff")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); + let ver = gh("berarma/new-lg4ff"); + ver.crop(1); + rpm.global("ver", ver); +} 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 6506ad6069..fd284ca20d 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,27 +1,26 @@ -Name: compat-nvidia-repo-580 -Version: 580.126.20 +Name: compat-nvidia-repo-580xx +Version: 580.173.02 Epoch: 3 -Release: 1%?dist +Release: 1%{?dist} Summary: Compatibility package required by official CUDA packages License: NVIDIA License URL: https://developer.nvidia.com/cuda-toolkit - -BuildArch: noarch - -Requires: nvidia-driver-580 >= %{?epoch:%{epoch}:}%{version} -Requires: nvidia-driver-580-cuda >= %{?epoch:%{epoch}:}%{version} -Requires: nvidia-driver-580-cuda-libs >= %{?epoch:%{epoch}:}%{version} -Requires: nvidia-driver-580-libs >= %{?epoch:%{epoch}:}%{version} -Requires: nvidia-580-kmod >= %{?epoch:%{epoch}:}%{version} -Requires: nvidia-settings-580 >= %{?epoch:%{epoch}:}%{version} - -Provides: cuda-drivers-580 >= %{?epoch:%{epoch}:}%{version} -Provides: nvidia-open-580 >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-580xx >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-580xx-cuda >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-580xx-cuda-libs >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-580xx-libs >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-580xx-kmod >= %{?epoch:%{epoch}:}%{version} +Requires: nvidia-settings-580xx >= %{?epoch:%{epoch}:}%{version} +Provides: cuda-drivers-580xx >= %{?epoch:%{epoch}:}%{version} +Provides: nvidia-open-580xx >= %{?epoch:%{epoch}:}%{version} # Add any versioned provides: Provides: cuda-drivers-560 >= %{?epoch:%{epoch}:}%{version} Provides: cuda-drivers-565 >= %{?epoch:%{epoch}:}%{version} Provides: nvidia-open-560 >= %{?epoch:%{epoch}:}%{version} Provides: nvidia-open-565 >= %{?epoch:%{epoch}:}%{version} +Provides: compat-nvidia-repo-580 = %{evr} +BuildArch: noarch +Packager: Terra Packaging Team %description Nvidia drivers metapackage required by official CUDA packages. It pulls in all @@ -31,4 +30,5 @@ Nvidia driver components. # Without an empty files section the package is not created. %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-3 +- Update spec for Terra packaging team 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 4bd1bda5f8..c06999acfd 100644 --- a/anda/system/nvidia-580/dkms-nvidia/dkms-nvidia-580.spec +++ b/anda/system/nvidia-580/dkms-nvidia/dkms-nvidia-580.spec @@ -3,33 +3,37 @@ # RPM inexplicably thinks this package deps on a version of libcrypto it does not? %global __requires_exclude (libcrypto\\.so\\.1\\.1.*)$ %global debug_package %{nil} -%global modulename nvidia +%global modulename nvidia-580xx -Name: dkms-%{modulename}-580 -Version: 580.119.02 -Release: 1%?dist +Name: dkms-%{modulename} +Version: 580.159.04 +Release: 1%{?dist} Summary: NVIDIA display driver kernel module Epoch: 3 License: NVIDIA License URL: https://www.nvidia.com/object/unix.html Source0: https://download.nvidia.com/XFree86/Linux-%{_arch}/%{version}/NVIDIA-Linux-%{_arch}-%{version}.run -Source1: dkms-%{modulename}.conf +Source1: dkms-nvidia.conf BuildRequires: sed -Provides: %{modulename}-580-kmod = %{?epoch:%{epoch}:}%{version} -Requires: %{modulename}-580-kmod-common = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version} Requires: dkms -Conflicts: akmod-nvidia +Provides: %{modulename}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: nvidia-580-kmod = %{?epoch:%{epoch}:}%{version} +Provides: dkms-nvidia-580 = %{evr} +Conflicts: akmod-nvidia-580xx +Conflicts: nvidia-kmod # Unlike most DKMS packages, this package is NOT noarch! ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description This package provides the proprietary NVIDIA kernel driver modules. %prep -sh %{SOURCE0} -x --target dkms-nvidia-%{version}-%{_arch} -%setup -T -D -n dkms-nvidia-%{version}-%{_arch} -%autopatch -p1 +sh %{SOURCE0} -x --target %{name}-%{version}-%{_arch} +%setup -T -D -n %{name}-%{version}-%{_arch}/kernel +rm -f dkms.conf cp -f %{SOURCE1} dkms.conf sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf @@ -38,8 +42,7 @@ sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf %install mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ -cp -fr * %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ -rm -f %{buildroot}%{_usrsrc}/%{modulename}-%{version}/*/dkms.conf +cp -fr * -t %{buildroot}%{_usrsrc}/%{modulename}-%{version} %post dkms add -m %{modulename} -v %{version} -q --rpm_safe_upgrade || : @@ -59,4 +62,5 @@ fi %{_usrsrc}/%{modulename}-%{version} %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-1 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia-580/dkms-nvidia/update.rhai b/anda/system/nvidia-580/dkms-nvidia/update.rhai index ea0b60bd3d..329db7e5d1 100644 --- a/anda/system/nvidia-580/dkms-nvidia/update.rhai +++ b/anda/system/nvidia-580/dkms-nvidia/update.rhai @@ -1,3 +1,3 @@ import "andax/bump_extras.rhai" as bump; -rpm.version(bump::madoguchi("nvidia-580-kmod-common", labels.branch)); +rpm.version(bump::madoguchi("nvidia-580xx-kmod-common", labels.branch)); diff --git a/anda/system/nvidia-580/nvidia-driver/10-nvidia.conf b/anda/system/nvidia-580/nvidia-driver/10-nvidia.conf deleted file mode 100644 index b9db1a9928..0000000000 --- a/anda/system/nvidia-580/nvidia-driver/10-nvidia.conf +++ /dev/null @@ -1,8 +0,0 @@ -Section "OutputClass" - Identifier "nvidia" - MatchDriver "nvidia-drm" - Driver "nvidia" - Option "AllowEmptyInitialConfiguration" - Option "SLI" "Auto" - Option "BaseMosaic" "on" -EndSection 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 e4ef830e26..176d5d0f31 100644 --- a/anda/system/nvidia-580/nvidia-driver/nvidia-driver-580.spec +++ b/anda/system/nvidia-580/nvidia-driver/nvidia-driver-580.spec @@ -10,28 +10,25 @@ %global _systemd_util_dir %{_prefix}/lib/systemd %endif -Name: %{real_name}-580 -Version: 580.126.20 -Release: 1%?dist +Name: %{real_name}-580xx +Version: 580.173.02 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards Epoch: 3 License: NVIDIA License URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: %{ix86} x86_64 aarch64 - %dnl Source0: %{name}-%{version}-i386.tar.xz %dnl Source1: %{name}-%{version}-x86_64.tar.xz %dnl Source2: %{name}-%{version}-aarch64.tar.xz -Source8: 70-%{real_name}.preset -Source9: 70-%{real_name}-cuda.preset -Source10: 10-nvidia.conf +Source8: 70-nvidia-driver.preset +Source9: 70-nvidia-driver-cuda.preset Source13: alternate-install-present - Source40: com.nvidia.driver.metainfo.xml Source41: parse-supported-gpus.py Source42: com.nvidia.driver.png - Source99: nvidia-generate-tarballs.sh +ExclusiveArch: %{ix86} x86_64 aarch64 +Packager: Terra Packaging Team %ifarch x86_64 aarch64 BuildRequires: libappstream-glib @@ -47,14 +44,16 @@ BuildRequires: systemd-rpm-macros BuildRequires: wget BuildRequires: coreutils -Requires: %{real_name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version} -Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version} +Requires: %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version} +Requires: nvidia-580xx-kmod-common = %{?epoch:%{epoch}:}%{version} Conflicts: nvidia-x11-drv Conflicts: nvidia-x11-drv-470xx Conflicts: xorg-x11-drv-nvidia Conflicts: xorg-x11-drv-nvidia-470xx +Provides: %{real_name}-580 = %{evr} + %description This package provides the most recent NVIDIA display driver which allows for hardware accelerated rendering with recent NVIDIA chipsets. @@ -74,7 +73,7 @@ Requires: libglvnd-egl%{?_isa} >= 1.0 Requires: libglvnd-gles%{?_isa} >= 1.0 Requires: libglvnd-glx%{?_isa} >= 1.0 Requires: libglvnd-opengl%{?_isa} >= 1.0 -Requires: libnvidia-ml-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libnvidia-ml-580xx%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: vulkan-loader %if 0%{?fedora} %ifarch x86_64 @@ -82,8 +81,8 @@ Requires: (%{name}-libs(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} %endif %endif # dlopened -Requires: libnvidia-gpucomp-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: libnvidia-ml-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libnvidia-gpucomp-580xx%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libnvidia-ml-580xx%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-cuda-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Conflicts: nvidia-x11-drv-libs @@ -91,6 +90,8 @@ Conflicts: nvidia-x11-drv-470xx-libs Conflicts: xorg-x11-drv-nvidia-libs Conflicts: xorg-x11-drv-nvidia-470xx-libs +Provides: %{real_name}-580-libs = %{evr} + %description libs This package provides the shared libraries for %{name}. @@ -98,20 +99,21 @@ This package provides the shared libraries for %{name}. Summary: Libraries for %{name}-cuda Provides: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: %{name}-devel < %{?epoch:%{epoch}:}%{version}-%{release} -Requires: libnvidia-ml-580 = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: %{real_name}-580-cuda-libs = %{evr} +Requires: libnvidia-ml-580xx = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-cuda-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %ifarch x86_64 aarch64 -Requires: libnvidia-cfg-580 = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libnvidia-cfg-580xx = %{?epoch:%{epoch}:}%{version}-%{release} %endif %if 0%{?fedora} %ifarch x86_64 -Requires: (%{name}-cuda-libs-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) +Requires: (%{name}-cuda-libs(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) %endif %endif # dlopened: -Requires: libnvidia-gpucomp-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -Requires: libnvidia-ml-580 = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libnvidia-gpucomp-580xx%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libnvidia-ml-580xx = %{?epoch:%{epoch}:}%{version}-%{release} Conflicts: xorg-x11-drv-nvidia-cuda-libs Conflicts: xorg-x11-drv-nvidia-470xx-cuda-libs @@ -119,48 +121,51 @@ Conflicts: xorg-x11-drv-nvidia-470xx-cuda-libs %description cuda-libs This package provides the CUDA libraries for %{name}-cuda. -%package -n libnvidia-fbc-580 +%package -n libnvidia-fbc-580xx Summary: NVIDIA OpenGL-based Framebuffer Capture libraries -Provides: %{real_name}-NvFBCOpenGL-580 = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: %{real_name}-NvFBCOpenGL-580xx = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: %{real_name}-NvFBCOpenGL < %{?epoch:%{epoch}:}%{version}-%{release} +Provides: libnvidia-fbc-580 = %{evr} %if 0%{?fedora} %ifarch x86_64 -Requires: (libnvidia-fbc-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) +Requires: (libnvidia-fbc-580xx(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) %endif %endif # dlopened: -Requires: %{name}-cuda-libs-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-cuda-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -%description -n libnvidia-fbc-580 +%description -n libnvidia-fbc-580xx This library provides a high performance, low latency interface to capture and optionally encode the composited framebuffer of an X screen. NvFBC are private APIs that are only available to NVIDIA approved partners for use in remote graphics scenarios. -%package -n libnvidia-gpucomp-580 +%package -n libnvidia-gpucomp-580xx Summary: NVIDIA library for shader compilation (nvgpucomp) %if 0%{?fedora} %ifarch x86_64 -Requires: (libnvidia-gpucomp-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) +Requires: (libnvidia-gpucomp-580xx(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) %endif %endif +Provides: libnvidia-gpucomp-580 = %{evr} -%description -n libnvidia-gpucomp-580 +%description -n libnvidia-gpucomp-580xx This package contains the private libnvidia-gpucomp runtime library which is used by other driver components. -%package -n libnvidia-ml-580 +%package -n libnvidia-ml-580xx Summary: NVIDIA Management Library (NVML) -Provides: cuda-nvml-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -Provides: %{real_name}-NVML-580 = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: cuda-nvml-580xx%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: %{real_name}-NVML-580xx = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: libnvidia-ml-580 = %{evr} %if 0%{?fedora} %ifarch x86_64 -Requires: (libnvidia-ml-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) +Requires: (libnvidia-ml-580xx(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) %endif %endif Obsoletes: %{real_name}-NVML < %{?epoch:%{epoch}:}%{version}-%{release} -%description -n libnvidia-ml-580 +%description -n libnvidia-ml-580xx A C-based API for monitoring and managing various states of the NVIDIA GPU devices. It provides a direct access to the queries and commands exposed via nvidia-smi. The run-time version of NVML ships with the NVIDIA display driver, @@ -170,38 +175,41 @@ to be a platform for building 3rd party applications. %ifarch x86_64 aarch64 -%package -n libnvidia-cfg-580 +%package -n libnvidia-cfg-580xx Summary: NVIDIA Config public interface (nvcfg) +Provides: libnvidia-cfg-580 = %{evr} -%description -n libnvidia-cfg-580 +%description -n libnvidia-cfg-580xx This package contains the private libnvidia-cfg runtime library which is used by other driver components. %package cuda Summary: CUDA integration for %{name} -Requires: %{name}-cuda-libs-580%{?_isa} = %{?epoch:%{epoch}:}%{version} -Requires: nvidia-580-kmod-common = %{?epoch:%{epoch}:}%{version} -Requires: nvidia-persistenced-580 = %{?epoch:%{epoch}:}%{version} +Requires: %{name}-cuda-libs%{?_isa} = %{?epoch:%{epoch}:}%{version} +Requires: nvidia-580xx-kmod-common = %{?epoch:%{epoch}:}%{version} +Requires: nvidia-persistenced-580xx = %{?epoch:%{epoch}:}%{version} Requires: opencl-filesystem Requires: ocl-icd Conflicts: xorg-x11-drv-nvidia-cuda Conflicts: xorg-x11-drv-nvidia-470xx-cuda +Provides: %{real_name}-580-cuda = %{evr} + %description cuda This package provides the CUDA integration components for %{name}. %if 0%{?fedora} || 0%{?rhel} < 10 -%package -n xorg-x11-nvidia-580 +%package -n xorg-x11-nvidia-580xx Summary: X.org X11 NVIDIA driver and extensions Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version} Requires: xorg-x11-server-Xorg%{?_isa} -Supplements: (%{real_name}-580 and xorg-x11-server-Xorg) - Conflicts: xorg-x11-drv-nvidia Conflicts: xorg-x11-drv-nvidia-470xx +Provides: xorg-x11-nvidia-580 = %{evr} +Supplements: (%{real_name}-580xx and xorg-x11-server-Xorg) -%description -n xorg-x11-nvidia-580 +%description -n xorg-x11-nvidia-580xx The NVIDIA X.org X11 driver and associated components. %endif @@ -235,6 +243,9 @@ rm -f libnvidia-pkcs11.so.%{version} %endif %endif +mv libGLX_nvidia.so.%{version} libGLX_nvidia.so.0 +ln -sf libGLX_nvidia.so.0 libGLX_nvidia.so.%{version} + # Create symlinks for shared objects ldconfig -vn . @@ -276,11 +287,9 @@ ln -sf ../libnvidia-allocator.so.%{version} %{buildroot}%{_libdir}/gbm/nvidia-dr %endif %ifarch x86_64 - # NGX Proton/Wine library mkdir -p %{buildroot}%{_libdir}/nvidia/wine/ cp -a *.dll %{buildroot}%{_libdir}/nvidia/wine/ - %endif %ifarch x86_64 aarch64 @@ -297,7 +306,7 @@ install -p -m 0755 -D nvidia.icd %{buildroot}%{_sysconfdir}/OpenCL/vendors/nvidi # Binaries mkdir -p %{buildroot}%{_bindir} -install -p -m 0755 nvidia-{debugdump,smi,cuda-mps-control,cuda-mps-server,bug-report.sh,ngx-updater,powerd} %{buildroot}%{_bindir} +install -p -m 0755 nvidia-{debugdump,smi,cuda-mps-control,cuda-mps-server,ngx-updater,powerd} %{buildroot}%{_bindir} # Man pages mkdir -p %{buildroot}%{_mandir}/man1/ @@ -305,7 +314,7 @@ install -p -m 0644 nvidia-{smi,cuda-mps-control}*.gz %{buildroot}%{_mandir}/man1 %if 0%{?fedora} || 0%{?rhel} < 10 # X stuff -install -p -m 0644 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf +install -p -m 0644 -D nvidia-drm-outputclass.conf %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf install -p -m 0755 -D nvidia_drv.so %{buildroot}%{_libdir}/xorg/modules/drivers/nvidia_drv.so install -p -m 0755 -D libglxserver_nvidia.so.%{version} %{buildroot}%{_libdir}/xorg/modules/extensions/libglxserver_nvidia.so %endif @@ -347,10 +356,10 @@ install -p -m 0644 -D sandboxutils-filelist.json %{buildroot}%{_datadir}/nvidia/ # dnf needs-restarting plugin # dnf4 only for the moment: https://github.com/rpm-software-management/dnf5/issues/1815 -%if 0%{?fedora} < 42 || 0%{?rhel} +%if 0%{?fedora} < 42 || %{defined rhel} mkdir -p %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d -echo %{real_name} > %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{real_name}.conf -echo %{real_name}-cuda > %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{real_name}-cuda.conf +echo %{name} > %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{name}.conf +echo %{name}-cuda > %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{name}-cuda.conf %endif %check @@ -360,6 +369,7 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %endif + %ifarch x86_64 aarch64 %post @@ -391,7 +401,6 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %license LICENSE %doc NVIDIA_Changelog README.txt html supported-gpus/supported-gpus.json %dir %{_sysconfdir}/nvidia -%{_bindir}/nvidia-bug-report.sh %{_bindir}/nvidia-ngx-updater %ifarch x86_64 %{_bindir}/nvidia-pcc @@ -409,18 +418,18 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %{_unitdir}/nvidia-resume.service %{_unitdir}/nvidia-suspend.service %{_unitdir}/nvidia-suspend-then-hibernate.service -%if 0%{?fedora} < 42 || 0%{?rhel} -%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{real_name}.conf +%if 0%{?fedora} < 42 || %{defined rhel} +%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{name}.conf %endif %if 0%{?fedora} || 0%{?rhel} < 10 -%files -n xorg-x11-nvidia-580 +%files -n xorg-x11-nvidia-580xx %config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf %{_libdir}/xorg/modules/extensions/libglxserver_nvidia.so %{_libdir}/xorg/modules/drivers/nvidia_drv.so %endif -%files -n libnvidia-cfg-580 +%files -n libnvidia-cfg-580xx %{_libdir}/libnvidia-cfg.so.1 %{_libdir}/libnvidia-cfg.so.%{version} @@ -523,16 +532,17 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %endif %endif -%files -n libnvidia-fbc-580 +%files -n libnvidia-fbc-580xx %{_libdir}/libnvidia-fbc.so.1 %{_libdir}/libnvidia-fbc.so.%{version} -%files -n libnvidia-gpucomp-580 +%files -n libnvidia-gpucomp-580xx %{_libdir}/libnvidia-gpucomp.so.%{version} -%files -n libnvidia-ml-580 +%files -n libnvidia-ml-580xx %{_libdir}/libnvidia-ml.so.1 %{_libdir}/libnvidia-ml.so.%{version} %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-2 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia-580/nvidia-kmod-common/anda.hcl b/anda/system/nvidia-580/nvidia-kmod-common/anda.hcl index 57de07767d..415f0fd9e2 100644 --- a/anda/system/nvidia-580/nvidia-kmod-common/anda.hcl +++ b/anda/system/nvidia-580/nvidia-kmod-common/anda.hcl @@ -1,10 +1,10 @@ project "pkg" { + arches = ["x86_64"] rpm { spec = "nvidia-580-kmod-common.spec" } - arches = ["x86_64"] labels = { subrepo = "nvidia" - weekly = 4 + updbranch = 1 } } 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 c830e6f830..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 @@ -3,34 +3,33 @@ # gsp_*.bin: ELF 64-bit LSB executable, UCB RISC-V %global _binaries_in_noarch_packages_terminate_build 0 %global __brp_strip %{nil} +%global modulename nvidia-580xx -Name: nvidia-580-kmod-common -Version: 580.126.20 -Release: 1%?dist +Name: %{modulename}-kmod-common +Version: 580.159.04 +Release: 1%{?dist} Summary: Common file for NVIDIA's proprietary driver kernel modules Epoch: 3 License: NVIDIA License URL: http://www.nvidia.com/object/unix.html - -BuildArch: noarch - Source0: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run Source17: nvidia-boot-update Source18: nvidia-modeset.conf Source19: nvidia.conf Source20: 60-nvidia.rules Source21: 99-nvidia.conf - # UDev rule location (_udevrulesdir) and systemd macros: BuildRequires: systemd-rpm-macros - Requires: dracut -Requires: nvidia-modprobe-580 -Requires: nvidia-driver-580 = %{?epoch:%{epoch}:}%{version} -Requires: nvidia-driver-580-libs = %{?epoch:%{epoch}:}%{version} -Requires: nvidia-580-kmod = %{?epoch:%{epoch}:}%{version} -Provides: nvidia-580-kmod-common = %{?epoch:%{epoch}:}%{version} +Requires: nvidia-modprobe-580xx +Requires: nvidia-driver-580xx = %{?epoch:%{epoch}:}%{version} +Requires: nvidia-driver-580xx-libs = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version} +Provides: nvidia-580-kmod-common = %{evr} Obsoletes: cuda-nvidia-kmod-common < %{?epoch:%{epoch}:}%{version} +BuildArch: noarch +Packager: Terra Packaging Team %description This package provides the common files required by all NVIDIA kernel module @@ -93,4 +92,5 @@ dracut --regenerate-all --force || : %{_udevrulesdir}/60-nvidia.rules %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-3 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia-580/nvidia-kmod-common/update.rhai b/anda/system/nvidia-580/nvidia-kmod-common/update.rhai index d1ef2924fb..26e90ea495 100644 --- a/anda/system/nvidia-580/nvidia-kmod-common/update.rhai +++ b/anda/system/nvidia-580/nvidia-kmod-common/update.rhai @@ -1,3 +1,3 @@ -import "andax/nvidia.rhai" as nvidia; +import "andax/bump_extras.rhai" as bump; -rpm.version(nvidia::nvidia_legacy_version()); +rpm.version(bump::madoguchi("nvidia-driver-580xx", labels.branch)); diff --git a/anda/system/nvidia-580/nvidia-kmod/anda.hcl b/anda/system/nvidia-580/nvidia-kmod/anda.hcl index d7f5dc58e2..df736abd69 100644 --- a/anda/system/nvidia-580/nvidia-kmod/anda.hcl +++ b/anda/system/nvidia-580/nvidia-kmod/anda.hcl @@ -1,6 +1,6 @@ project "pkg" { rpm { - spec = "nvidia-580-kmod.spec" + spec = "nvidia-580xx-kmod.spec" } labels { mock = 1 diff --git a/anda/system/nvidia-580/nvidia-kmod/nvidia-580-kmod.spec b/anda/system/nvidia-580/nvidia-kmod/nvidia-580xx-kmod.spec similarity index 56% rename from anda/system/nvidia-580/nvidia-kmod/nvidia-580-kmod.spec rename to anda/system/nvidia-580/nvidia-kmod/nvidia-580xx-kmod.spec index 1f53812367..589784572b 100644 --- a/anda/system/nvidia-580/nvidia-kmod/nvidia-580-kmod.spec +++ b/anda/system/nvidia-580/nvidia-kmod/nvidia-580xx-kmod.spec @@ -1,28 +1,29 @@ # Build only the akmod package and no kernel module packages: %define buildforkernels akmod -%global real_name nvidia-kmod +%global modulename nvidia-580xx %global debug_package %{nil} -Name: nvidia-580-kmod -Version: 580.119.02 -Release: 1%?dist +Name: %{modulename}-kmod +Version: 580.159.04 +Release: 1%{?dist} Summary: NVIDIA display driver kernel module Epoch: 3 License: NVIDIA License URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - Source0: http://download.nvidia.com/XFree86/Linux-%{_arch}/%{version}/NVIDIA-Linux-%{_arch}-%{version}.run -Requires: nvidia-580-kmod-common = %{?epoch:%{epoch}:}%{version} -Requires: akmods - - -# Get the needed BuildRequires (in parts depending on what we build for): BuildRequires: kmodtool +Requires: nvidia-580xx-kmod-common = %{?epoch:%{epoch}:}%{version} +Requires: akmods +Provides: akmod-nvidia-580 = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: nvidia-580-kmod = %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-nvidia-580xx +Conflicts: nvidia-kmod +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team # kmodtool does its magic here: -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{real_name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description The NVidia %{version} display driver kernel module for kernel %{kversion}. @@ -31,13 +32,17 @@ The NVidia %{version} display driver kernel module for kernel %{kversion}. # Error out if there was something wrong with kmodtool: %{?kmodtool_check} # Print kmodtool output for debugging purposes: -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{real_name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null -sh %{SOURCE0} -x --target %{real_name}-%{version}-%{_arch} -%setup -T -D -n %{real_name}-%{version}-%{_arch} -%autopatch -p1 +sh %{SOURCE0} -x --target %{name}-%{version}-%{_arch} -rm -f */dkms.conf +%ifarch x86_64 +%setup -T -D -n %{name}-%{version}-%{_arch}/kernel +%elifarch aarch64 +%setup -T -D -n %{name}-%{version}-%{_arch}/kernel +%endif + +rm -f dkms.conf for kernel_version in %{?kernel_versions}; do mkdir _kmod_build_${kernel_version%%___*} @@ -60,4 +65,5 @@ done %{?akmod_install} %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-1 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia-580/nvidia-kmod/update.rhai b/anda/system/nvidia-580/nvidia-kmod/update.rhai index ea0b60bd3d..329db7e5d1 100644 --- a/anda/system/nvidia-580/nvidia-kmod/update.rhai +++ b/anda/system/nvidia-580/nvidia-kmod/update.rhai @@ -1,3 +1,3 @@ import "andax/bump_extras.rhai" as bump; -rpm.version(bump::madoguchi("nvidia-580-kmod-common", labels.branch)); +rpm.version(bump::madoguchi("nvidia-580xx-kmod-common", labels.branch)); 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 d5a7949299..9d3b43d400 100644 --- a/anda/system/nvidia-580/nvidia-modprobe/nvidia-modprobe-580.spec +++ b/anda/system/nvidia-580/nvidia-modprobe/nvidia-modprobe-580.spec @@ -1,19 +1,19 @@ %global real_name nvidia-modprobe -Name: %{real_name}-580 -Version: 580.126.20 -Release: 1%?dist +Name: %{real_name}-580xx +Version: 580.173.02 +Release: 1%{?dist} Summary: NVIDIA kernel module loader Epoch: 3 -License: GPLv2+ +License: GPL-2.0-or-later URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2 Patch0: %{real_name}-man-page-permissions.patch - BuildRequires: gcc BuildRequires: m4 +Provides: %{real_name}-580 = %{evr} +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description This utility is used by user-space NVIDIA driver components to make sure the @@ -46,4 +46,5 @@ make %{?_smp_mflags} \ %{_mandir}/man1/%{real_name}.1.* %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-2 +- Update spec for Terra packaging team 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 a97969f8e5..54750ff6dd 100644 --- a/anda/system/nvidia-580/nvidia-persistenced/nvidia-persistenced-580.spec +++ b/anda/system/nvidia-580/nvidia-persistenced/nvidia-persistenced-580.spec @@ -1,27 +1,26 @@ %global real_name nvidia-persistenced -Name: %{real_name}-580 -Version: 580.126.20 -Release: 1%?dist -Summary: A daemon to maintain persistent software state in the NVIDIA driver -Epoch: 3 -License: GPLv2+ -URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - -Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2 -Source1: %{real_name}.service - -BuildRequires: gcc -BuildRequires: libtirpc-devel -BuildRequires: m4 - +Name: %{real_name}-580xx +Version: 580.173.02 +Release: 1%{?dist} +Summary: A daemon to maintain persistent software state in the NVIDIA driver +Epoch: 3 +License: GPL-2.0-or-later +URL: http://www.nvidia.com/object/unix.html +ExclusiveArch: x86_64 aarch64 +Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2 +Source1: %{real_name}.service +BuildRequires: gcc +BuildRequires: libtirpc-devel +BuildRequires: m4 # For Fedora systemd-rpm-macros would be enough: -BuildRequires: systemd-devel -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd -Requires: libnvidia-cfg-580%{?_isa} >= %{?epoch:%{epoch}:}%{version} +BuildRequires: systemd-devel +Requires: libnvidia-cfg-580xx%{?_isa} >= %{?epoch:%{epoch}:}%{version} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +Provides: %{real_name}-580 = %{evr} +Packager: Terra Packaging Team %description The %{real_name} utility is used to enable persistent software state in the NVIDIA @@ -78,4 +77,5 @@ install -p -m 644 -D %{SOURCE1} %{buildroot}%{_unitdir}/%{real_name}.service %{_sharedstatedir}/%{real_name} %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-3 +- Update spec for Terra packaging team 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 646a01eb10..228cfe7307 100644 --- a/anda/system/nvidia-580/nvidia-settings/nvidia-settings-580.spec +++ b/anda/system/nvidia-580/nvidia-settings/nvidia-settings-580.spec @@ -1,14 +1,12 @@ %global real_name nvidia-settings -Name: %{real_name}-580 -Version: 580.126.20 -Release: 1%?dist +Name: %{real_name}-580xx +Version: 580.173.02 +Release: 1%{?dist} Summary: Configure the NVIDIA graphics driver Epoch: 3 -License: GPLv2+ +License: GPL-2.0-or-later URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2 Source1: %{real_name}-load.desktop Source2: %{real_name}.appdata.xml @@ -17,7 +15,6 @@ Patch1: %{real_name}-lib-permissions.patch Patch2: %{real_name}-link-order.patch Patch3: %{real_name}-libXNVCtrl.patch Patch4: %{real_name}-ld-dep-remove.patch - BuildRequires: desktop-file-utils BuildRequires: dbus-devel BuildRequires: gcc @@ -34,11 +31,13 @@ BuildRequires: mesa-libGL-devel BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(wayland-client) BuildRequires: vulkan-headers - -Requires: nvidia-libXNVCtrl-580%{?_isa} = %{?epoch}:%{version}-%{release} -Requires: nvidia-driver-580%{?_isa} = %{?epoch}:%{version} +Requires: nvidia-libXNVCtrl-580xx%{?_isa} = %{?epoch}:%{version}-%{release} +Requires: nvidia-driver-580xx%{?_isa} = %{?epoch}:%{version} # Loaded at runtime Requires: libvdpau%{?_isa} >= 0.9 +Provides: %{real_name}-580 = %{evr} +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description The %{real_name} utility is a tool for configuring the NVIDIA graphics @@ -47,21 +46,24 @@ updating state as appropriate. This communication is done with the NV-CONTROL X extension. -%package -n nvidia-libXNVCtrl-580 +%package -n nvidia-libXNVCtrl-580xx Summary: Library providing the NV-CONTROL API Obsoletes: libXNVCtrl < %{?epoch}:%{version}-%{release} +Provides: libXNVCtrl-580xx = %{?epoch}:%{version}-%{release} +Provides: nvidia-libXNVCtrl-580 = %{?epoch}:%{version}-%{release} Provides: libXNVCtrl-580 = %{?epoch}:%{version}-%{release} -%description -n nvidia-libXNVCtrl-580 +%description -n nvidia-libXNVCtrl-580xx This library provides the NV-CONTROL API for communicating with the proprietary NVidia xorg driver. It is required for proper operation of the %{real_name} utility. -%package -n nvidia-libXNVCtrl-580-devel +%package -n nvidia-libXNVCtrl-580xx-devel Summary: Development files for libXNVCtrl -Requires: nvidia-libXNVCtrl-580 = %{?epoch}:%{version}-%{release} +Requires: nvidia-libXNVCtrl-580xx = %{?epoch}:%{version}-%{release} Requires: libX11-devel +Provides: nvidia-libXNVCtrl-580-devel = %{evr} -%description -n nvidia-libXNVCtrl-580-devel +%description -n nvidia-libXNVCtrl-580xx-devel This devel package contains libraries and header files for developing applications that use the NV-CONTROL API. @@ -126,14 +128,15 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{real_name}. %{_mandir}/man1/%{real_name}.* %{_sysconfdir}/xdg/autostart/%{real_name}-load.desktop -%files -n nvidia-libXNVCtrl-580 +%files -n nvidia-libXNVCtrl-580xx %license COPYING %{_libdir}/libXNVCtrl.so.* -%files -n nvidia-libXNVCtrl-580-devel +%files -n nvidia-libXNVCtrl-580xx-devel %doc doc/NV-CONTROL-API.txt doc/FRAMELOCK.txt %{_includedir}/NVCtrl %{_libdir}/libXNVCtrl.so %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-3 +- Update spec for Terra packaging team 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 a983eb030c..c48cc0e369 100644 --- a/anda/system/nvidia-580/nvidia-xconfig/nvidia-xconfig-580.spec +++ b/anda/system/nvidia-580/nvidia-xconfig/nvidia-xconfig-580.spec @@ -1,22 +1,21 @@ %global real_name nvidia-xconfig -Name: %{real_name}-580 -Version: 580.126.20 -Release: 1%?dist +Name: %{real_name}-580xx +Version: 580.173.02 +Release: 1%{?dist} Summary: NVIDIA X configuration file editor Epoch: 3 -License: GPLv2+ +License: GPL-2.0-or-later URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2 - BuildRequires: gcc BuildRequires: libpciaccess-devel BuildRequires: m4 - -Requires: libnvidia-cfg-580%{?_isa} >= %{?epoch:%{epoch}:}%{version} -Requires: xorg-x11-nvidia-580%{?_isa} >= %{?epoch:%{epoch}:}%{version} +Requires: libnvidia-cfg-580xx%{?_isa} >= %{?epoch:%{epoch}:}%{version} +Requires: xorg-x11-nvidia-580xx%{?_isa} >= %{?epoch:%{epoch}:}%{version} +Provides: %{real_name}-580 = %{evr} +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description %{real_name} is a command line tool intended to provide basic control over @@ -50,4 +49,5 @@ make %{?_smp_mflags} \ %{_mandir}/man1/%{real_name}.1* %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:580.142-3 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia-patch/nvidia-patch.spec b/anda/system/nvidia-patch/nvidia-patch.spec index 0fb514c3a4..8339ddbaa6 100644 --- a/anda/system/nvidia-patch/nvidia-patch.spec +++ b/anda/system/nvidia-patch/nvidia-patch.spec @@ -1,13 +1,13 @@ %global debug_package %{nil} -%global commit 0e3f16a6b60674fd801076dfdd304e6f8800e9f5 +%global commit 9f568e61bc6acba41fd9f5d457d9128782bc3e1c %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260216 +%global commit_date 20260616 %global patches %{_datadir}/src/nvidia-patch Name: nvidia-patch Version: 0^%commit_date.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: NVENC and NvFBC patches for NVIDIA drivers License: EULA 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 5bb47a62d0..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,20 +1,16 @@ Name: compat-nvidia-repo -Version: 590.48.01 +Version: 610.43.02 Epoch: 3 -Release: 1%?dist +Release: 1%{?dist} Summary: Compatibility package required by official CUDA packages License: NVIDIA License URL: https://developer.nvidia.com/cuda-toolkit - -BuildArch: noarch - Requires: nvidia-driver >= %{?epoch:%{epoch}:}%{version} Requires: nvidia-driver-cuda >= %{?epoch:%{epoch}:}%{version} Requires: nvidia-driver-cuda-libs >= %{?epoch:%{epoch}:}%{version} Requires: nvidia-driver-libs >= %{?epoch:%{epoch}:}%{version} Requires: nvidia-kmod >= %{?epoch:%{epoch}:}%{version} Requires: nvidia-settings >= %{?epoch:%{epoch}:}%{version} - Provides: cuda-drivers >= %{?epoch:%{epoch}:}%{version} Provides: nvidia-open >= %{?epoch:%{epoch}:}%{version} # Add any versioned provides: @@ -22,6 +18,8 @@ Provides: cuda-drivers-560 >= %{?epoch:%{epoch}:}%{version} Provides: cuda-drivers-565 >= %{?epoch:%{epoch}:}%{version} Provides: nvidia-open-560 >= %{?epoch:%{epoch}:}%{version} Provides: nvidia-open-565 >= %{?epoch:%{epoch}:}%{version} +BuildArch: noarch +Packager: Terra Packaging Team %description Nvidia drivers metapackage required by official CUDA packages. It pulls in all @@ -31,4 +29,5 @@ Nvidia driver components. # Without an empty files section the package is not created. %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec b/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec index a4d378c806..274bc25338 100644 --- a/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec +++ b/anda/system/nvidia/dkms-nvidia/dkms-nvidia.spec @@ -4,30 +4,31 @@ %global modulename nvidia Name: dkms-%{modulename} -Version: 590.48.01 -Release: 2%?dist +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 BuildRequires: sed -Provides: %{modulename}-kmod = %{?epoch:%{epoch}:}%{version} Requires: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version} Requires: dkms -Requires: gcc-c++ -Conflicts: akmod-nvidia -# Unlike most DKMS packages, this package is NOT noarch! -ExclusiveArch: x86_64 aarch64 +Provides: %{modulename}-kmod = %{?epoch:%{epoch}:}%{version} Provides: %{name}-open = %{?epoch:%{epoch}:}%{version} Obsoletes: %{name}-open < %{?epoch:%{epoch}:}%{version} +Conflicts: akmod-%{modulename} +Conflicts: %{modulename}-kmod-580xx +# Unlike most DKMS packages, this package is NOT noarch! +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description 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 @@ -55,4 +56,6 @@ dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : %{_usrsrc}/%{modulename}-%{version} %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update patches for DSC functionality +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/libva-nvidia-driver/anda.hcl b/anda/system/nvidia/libva-nvidia-driver/anda.hcl deleted file mode 100644 index 007aa44ec7..0000000000 --- a/anda/system/nvidia/libva-nvidia-driver/anda.hcl +++ /dev/null @@ -1,11 +0,0 @@ -project "pkg" { - rpm { - spec = "libva-nvidia-driver.spec" - } - arches = ["x86_64", "aarch64", "i386"] - labels = { - subrepo = "nvidia" - mock = 1 - nightly = 1 - } -} diff --git a/anda/system/nvidia/libva-nvidia-driver/libva-nvidia-driver.spec b/anda/system/nvidia/libva-nvidia-driver/libva-nvidia-driver.spec deleted file mode 100644 index 696a18fa7b..0000000000 --- a/anda/system/nvidia/libva-nvidia-driver/libva-nvidia-driver.spec +++ /dev/null @@ -1,76 +0,0 @@ -%global commit0 b09c9f62fb6d8b839e0e87e6f0ce53b7dbf9b3c5 -%global date 20260220 -%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) - -%global upstream_name nvidia-vaapi-driver - -%ifarch %ix86 -%global build_cflags %{__build_flags_lang_c} %{?_distro_extra_cflags} -Wno-error=format= -%endif - -Name: libva-nvidia-driver -Epoch: 1 -Version: 0.0.15%{!?tag:^%{date}git%{shortcommit0}} -Release: 1%?dist -Summary: VA-API user mode driver for Nvidia GPUs -License: MIT -URL: https://github.com/elFarto/%{upstream_name} - -%if "%{?shortcommit0}" -Source0: %{url}/archive/%{commit0}/%{upstream_name}-%{commit0}.tar.gz#/%{upstream_name}-%{shortcommit0}.tar.gz -%else -Source0: %{url}/archive/v%{version}/%{upstream_name}-%{version}.tar.gz -%endif - -BuildRequires: gcc -BuildRequires: meson >= 0.58.0 -BuildRequires: pkgconfig(egl) -BuildRequires: pkgconfig(ffnvcodec) >= 11.1.5.1 -%if 0%{?fedora} || 0%{?rhel} >= 9 -BuildRequires: pkgconfig(gstreamer-codecparsers-1.0) -%endif -BuildRequires: pkgconfig(libdrm) >= 2.4.60 -BuildRequires: pkgconfig(libva) >= 1.8.0 - -Conflicts: libva-vdpau-driver%{?_isa} -Obsoletes: %{upstream_name} < 0.0.10-3 -Provides: %{upstream_name} = %{version}-%{release} -# Alternative name that better describes the API involved -Provides: nvdec-vaapi-driver = %{version}-%{release} - -Requires: mesa-filesystem -%if 0%{?fedora} -%ifarch x86_64 -Requires: (%{name}(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) -%endif -%endif - -%description -This is a VA-API implementation that uses NVDEC as a backend. This -implementation is specifically designed to be used by Firefox for accelerated -decode of web content, and may not operate correctly in other applications. - -%prep -%if "%{?shortcommit0}" -%autosetup -p1 -n %{upstream_name}-%{commit0} -%else -%autosetup -p1 -n %{upstream_name}-%{version} -%endif - -%build -%meson -%meson_build - -%install -%meson_install - -%check -%meson_test - -%files -%license COPYING -%doc README.md -%{_libdir}/dri/nvidia_drv_video.so - -%changelog -%autochangelog diff --git a/anda/system/nvidia/libva-nvidia-driver/update.rhai b/anda/system/nvidia/libva-nvidia-driver/update.rhai deleted file mode 100644 index fb6821cfbc..0000000000 --- a/anda/system/nvidia/libva-nvidia-driver/update.rhai +++ /dev/null @@ -1,8 +0,0 @@ -rpm.global("commit0", gh_commit("elFarto/nvidia-vaapi-driver")); -if rpm.changed() { - let v = gh("elFarto/nvidia-vaapi-driver"); - v.crop(1); - v += "%{!?tag:^%{date}git%{shortcommit0}}"; - rpm.version(v); - rpm.global("date", date()); -} diff --git a/anda/system/nvidia/nvidia-container-toolkit/nvidia-container-toolkit.spec b/anda/system/nvidia/nvidia-container-toolkit/nvidia-container-toolkit.spec index 866f47c24d..1c718ef80c 100644 --- a/anda/system/nvidia/nvidia-container-toolkit/nvidia-container-toolkit.spec +++ b/anda/system/nvidia/nvidia-container-toolkit/nvidia-container-toolkit.spec @@ -1,6 +1,6 @@ Name: nvidia-container-toolkit -Version: 1.18.2 -Release: 1%?dist +Version: 1.19.1 +Release: 1%{?dist} Summary: NVIDIA Container Toolkit License: Apache-2.0 Group: Development/Tools/Other diff --git a/anda/system/nvidia/nvidia-driver/70-nvidia-driver.preset b/anda/system/nvidia/nvidia-driver/70-nvidia-driver.preset index f897d23a61..b9645ecb7b 100644 --- a/anda/system/nvidia/nvidia-driver/70-nvidia-driver.preset +++ b/anda/system/nvidia/nvidia-driver/70-nvidia-driver.preset @@ -1,11 +1,3 @@ -# Enable complete power management. From: -# file:///usr/share/doc/nvidia-driver/html/powermanagement.html - -enable nvidia-hibernate.service -enable nvidia-resume.service -enable nvidia-suspend.service -enable nvidia-suspend-then-hibernate.service - # Enable Dynamic Boost. From: # file:///usr/share/doc/nvidia-driver/html/dynamicboost.html diff --git a/anda/system/nvidia/nvidia-driver/nvidia-driver.spec b/anda/system/nvidia/nvidia-driver/nvidia-driver.spec index 8130f9d4ee..751fca0f9d 100644 --- a/anda/system/nvidia/nvidia-driver/nvidia-driver.spec +++ b/anda/system/nvidia/nvidia-driver/nvidia-driver.spec @@ -1,6 +1,5 @@ %global debug_package %{nil} -%global __strip %{nil} -%global __brp_strip_comment_note %{nil} +%global __brp_strip %{nil} %global __brp_ldconfig %{nil} %define _build_id_links none @@ -10,24 +9,20 @@ %endif Name: nvidia-driver -Version: 590.48.01 -Release: 4%?dist +Version: 610.43.02 +Release: 1%{?dist} Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards Epoch: 3 License: NVIDIA License URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: %{ix86} x86_64 aarch64 Source8: 70-nvidia-driver.preset Source9: 70-nvidia-driver-cuda.preset Source10: 10-nvidia.conf Source13: alternate-install-present - Source40: com.nvidia.driver.metainfo.xml Source41: parse-supported-gpus.py Source42: com.nvidia.driver.png - Source99: nvidia-generate-tarballs.sh - %ifarch x86_64 aarch64 BuildRequires: libappstream-glib %if 0%{?rhel} == 8 @@ -40,14 +35,14 @@ BuildRequires: systemd-rpm-macros %endif BuildRequires: wget BuildRequires: coreutils - Requires: nvidia-driver-libs%{?_isa} = %{?epoch:%{epoch}:}%{version} Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version} - Conflicts: nvidia-x11-drv Conflicts: nvidia-x11-drv-470xx Conflicts: xorg-x11-drv-nvidia Conflicts: xorg-x11-drv-nvidia-470xx +ExclusiveArch: %{ix86} x86_64 aarch64 +Packager: Terra Packaging Team %description This package provides the most recent NVIDIA display driver which allows for @@ -78,7 +73,6 @@ Requires: vulkan-loader Requires: libnvidia-gpucomp%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: libnvidia-ml%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-cuda-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} - Conflicts: nvidia-x11-drv-libs Conflicts: nvidia-x11-drv-470xx-libs Conflicts: xorg-x11-drv-nvidia-libs @@ -92,7 +86,6 @@ Summary: Libraries for %{name}-cuda Requires: %{name}-cuda-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Provides: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: %{name}-devel < %{?epoch:%{epoch}:}%{version}-%{release} - # dlopened: %ifarch x86_64 aarch64 Requires: libnvidia-cfg = %{?epoch:%{epoch}:}%{version}-%{release} @@ -104,7 +97,6 @@ Requires: libnvidia-ml = %{?epoch:%{epoch}:}%{version}-%{release} Requires: (%{name}-cuda-libs(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32)) %endif %endif - Conflicts: xorg-x11-drv-nvidia-cuda-libs Conflicts: xorg-x11-drv-nvidia-470xx-cuda-libs @@ -172,7 +164,6 @@ Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version} Requires: nvidia-persistenced = %{?epoch:%{epoch}:}%{version} Requires: (ocl-icd or OpenCL-ICD-Loader) Requires: opencl-filesystem - Conflicts: xorg-x11-drv-nvidia-cuda Conflicts: xorg-x11-drv-nvidia-470xx-cuda @@ -185,7 +176,6 @@ Summary: X.org X11 NVIDIA driver and extensions Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version} Requires: xorg-x11-server-Xorg%{?_isa} Supplements: (nvidia-driver and xorg-x11-server-Xorg) - Conflicts: xorg-x11-drv-nvidia Conflicts: xorg-x11-drv-nvidia-470xx @@ -223,6 +213,13 @@ rm -f libnvidia-pkcs11.so.%{version} %endif %endif +# Avoid harmless Vulkan loader message: +# WARNING: [Loader Message] Code 0 : Path to given binary /usr/lib64/libGLX_nvidia.so.590.48.01 +# was found to differ from OS loaded path /usr/lib64/libGLX_nvidia.so.0 +# See also https://github.com/negativo17/nvidia-driver/issues/195 +mv libGLX_nvidia.so.%{version} libGLX_nvidia.so.0 +ln -sf libGLX_nvidia.so.0 libGLX_nvidia.so.%{version} + # Create symlinks for shared objects ldconfig -vn . @@ -293,7 +290,7 @@ install -p -m 0644 nvidia-{smi,cuda-mps-control}*.gz %{buildroot}%{_mandir}/man1 %if 0%{?fedora} || 0%{?rhel} < 10 # X stuff -install -p -m 0644 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf +install -p -m 0644 -D nvidia-drm-outputclass.conf %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf install -p -m 0755 -D nvidia_drv.so %{buildroot}%{_libdir}/xorg/modules/drivers/nvidia_drv.so install -p -m 0755 -D libglxserver_nvidia.so.%{version} %{buildroot}%{_libdir}/xorg/modules/extensions/libglxserver_nvidia.so %endif @@ -312,9 +309,7 @@ install -p -m 0644 nvoptix.bin %{buildroot}%{_datadir}/nvidia/ mkdir -p %{buildroot}%{_systemd_util_dir}/system-preset/ install -p -m 0644 %{SOURCE8} %{SOURCE9} %{buildroot}%{_systemd_util_dir}/system-preset/ mkdir -p %{buildroot}%{_unitdir}/ -install -p -m 0644 systemd/system/*.service %{buildroot}%{_unitdir}/ -install -p -m 0755 systemd/nvidia-sleep.sh %{buildroot}%{_bindir}/ -install -p -m 0755 -D systemd/system-sleep/nvidia %{buildroot}%{_systemd_util_dir}/system-sleep/nvidia +cp -frv systemd/system/systemd-* systemd/system/nvidia-powerd.service %{buildroot}%{_unitdir}/ install -p -m 0644 -D nvidia-dbus.conf %{buildroot}%{_datadir}/dbus-1/system.d/nvidia-dbus.conf # Ignore powerd binary exiting if hardware is not present @@ -351,25 +346,13 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %ifarch x86_64 aarch64 %post -%systemd_post nvidia-hibernate.service %systemd_post nvidia-powerd.service -%systemd_post nvidia-resume.service -%systemd_post nvidia-suspend.service -%systemd_post nvidia-suspend-then-hibernate.service %preun -%systemd_preun nvidia-hibernate.service %systemd_preun nvidia-powerd.service -%systemd_preun nvidia-resume.service -%systemd_preun nvidia-suspend.service -%systemd_preun nvidia-suspend-then-hibernate.service %postun -%systemd_postun nvidia-hibernate.service %systemd_postun nvidia-powerd.service -%systemd_postun nvidia-resume.service -%systemd_postun nvidia-suspend.service -%systemd_postun nvidia-suspend-then-hibernate.service %endif @@ -384,18 +367,20 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %{_bindir}/nvidia-pcc %endif %{_bindir}/nvidia-powerd -%{_bindir}/nvidia-sleep.sh %{_metainfodir}/com.nvidia.driver.metainfo.xml %{_datadir}/dbus-1/system.d/nvidia-dbus.conf %{_datadir}/nvidia/nvidia-application-profiles* %{_datadir}/pixmaps/com.nvidia.driver.png %{_systemd_util_dir}/system-preset/70-nvidia-driver.preset -%{_systemd_util_dir}/system-sleep/nvidia -%{_unitdir}/nvidia-hibernate.service %{_unitdir}/nvidia-powerd.service -%{_unitdir}/nvidia-resume.service -%{_unitdir}/nvidia-suspend.service -%{_unitdir}/nvidia-suspend-then-hibernate.service +%dir %{_unitdir}/systemd-suspend.service.d +%{_unitdir}/systemd-suspend.service.d/nvidia-suspend-nofreeze.conf +%dir %{_unitdir}/systemd-hibernate.service.d +%{_unitdir}/systemd-hibernate.service.d/nvidia-suspend-nofreeze.conf +%dir %{_unitdir}/systemd-suspend-then-hibernate.service.d +%{_unitdir}/systemd-suspend-then-hibernate.service.d/nvidia-suspend-nofreeze.conf +%dir %{_unitdir}/systemd-hybrid-sleep.service.d +%{_unitdir}/systemd-hybrid-sleep.service.d/nvidia-suspend-nofreeze.conf %if 0%{?fedora} < 42 || 0%{?rhel} %{_sysconfdir}/dnf/plugins/needs-restarting.d/%{name}.conf %endif @@ -465,7 +450,6 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %endif %ifarch x86_64 %{_datadir}/vulkansc/icd.d/nvidia_icd.%{_target_cpu}.json -%{_libdir}/libnvidia-present.so.%{version} %{_libdir}/libnvidia-vksc-core.so.1 %{_libdir}/libnvidia-vksc-core.so.%{version} %dir %{_libdir}/nvidia @@ -521,4 +505,5 @@ appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.me %{_libdir}/libnvidia-ml.so.%{version} %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/nvidia-driver/nvidia-generate-tarballs.sh b/anda/system/nvidia/nvidia-driver/nvidia-generate-tarballs.sh index f21afc002e..40942b422f 100755 --- a/anda/system/nvidia/nvidia-driver/nvidia-generate-tarballs.sh +++ b/anda/system/nvidia/nvidia-driver/nvidia-generate-tarballs.sh @@ -17,7 +17,17 @@ set_vars() { run_file_get() { printf "Downloading installer ${RUN_FILE}... " - [[ -f $RUN_FILE ]] || wget -c -q ${DL_SITE}/${PLATFORM}/${VERSION}/$RUN_FILE + if [[ ! -f $RUN_FILE ]]; then + # Orgininal comment from Negativo: "This is getting ridiculous" + # My comment: It sure fucking is. + if wget -q -S --spider https://download.nvidia.com/XFree86/${PLATFORM}/${VERSION}/$RUN_FILE; then + wget -q https://download.nvidia.com/XFree86/${PLATFORM}/${VERSION}/$RUN_FILE + elif wget -q -S --spider https://us.download.nvidia.com/XFree86/${PLATFORM}/${VERSION}/$RUN_FILE; then + wget -q https://us.download.nvidia.com/XFree86/${PLATFORM}/${VERSION}/$RUN_FILE + else + wget -q https://us.download.nvidia.com/tesla/${VERSION}/$RUN_FILE + fi + fi printf "OK\n" } @@ -26,8 +36,8 @@ run_file_extract() { sh ${RUN_FILE} --extract-only --target ${TEMP_UNPACK} } -cleanup_folder() { +cleanup_folder() { printf "Cleaning up binaries... " cd ${TEMP_UNPACK} @@ -36,7 +46,9 @@ cleanup_folder() { # - Compiled from source # - Interactive installer files # - GLVND GL libraries - # - Internal development only libraries + # - GLVND test scripts + # - Closed source modules + # - Open source modules with precompiled c++ code rm -r \ nvidia-xconfig* \ nvidia-persistenced* \ @@ -49,7 +61,7 @@ cleanup_folder() { libEGL.so.${VERSION} \ nvidia-installer* .manifest make* mk* libglvnd_install_checker \ 15_nvidia_gbm.json 10_nvidia_wayland.json 20_nvidia_xcb.json 20_nvidia_xlib.json \ - 99_nvidia_wayland2.json \ + 09_nvidia_wayland2.json \ kernel kernel-open if [ "${ARCH}" == x86_64 ]; then @@ -70,7 +82,6 @@ cleanup_folder() { } create_tarball() { - KMOD_COMMON=nvidia-kmod-common-${VERSION} USR_64=nvidia-driver-${VERSION}-${ARCH} USR_32=nvidia-driver-${VERSION}-i386 @@ -80,7 +91,7 @@ create_tarball() { mv ${TEMP_UNPACK}/firmware ${TEMP_UNPACK}/nvidia-bug-report.sh ${KMOD_COMMON}/ if [ "$ARCH" == x86_64 ]; then - mkdir ${USR_32} + mkdir ${USR_32} mv ${TEMP_UNPACK}/32/* ${USR_32}/ rm -fr ${TEMP_UNPACK}/32 else diff --git a/anda/system/nvidia/nvidia-kmod-common/anda.hcl b/anda/system/nvidia/nvidia-kmod-common/anda.hcl index ae7a91b959..8afbe4682c 100644 --- a/anda/system/nvidia/nvidia-kmod-common/anda.hcl +++ b/anda/system/nvidia/nvidia-kmod-common/anda.hcl @@ -1,10 +1,10 @@ project "pkg" { + arches = ["x86_64"] rpm { spec = "nvidia-kmod-common.spec" } - arches = ["x86_64"] labels = { subrepo = "nvidia" - weekly = 3 + updbranch = 1 } } 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 63b2520ff9..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,33 +5,31 @@ %global __brp_strip %{nil} Name: nvidia-kmod-common -Version: 590.48.01 -Release: 1%?dist +Version: 610.43.02 +Release: 1%{?dist} Summary: Common file for NVIDIA's proprietary driver kernel modules Epoch: 3 License: NVIDIA License URL: http://www.nvidia.com/object/unix.html - -BuildArch: noarch - Source0: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run Source17: nvidia-boot-update Source19: nvidia-modeset.conf Source20: nvidia.conf Source21: 60-nvidia.rules Source24: 99-nvidia.conf - # UDev rule location (_udevrulesdir) and systemd macros: BuildRequires: systemd-rpm-macros - Requires: dracut Requires: nvidia-modprobe Requires: nvidia-driver = %{?epoch:%{epoch}:}%{version} Requires: nvidia-driver-libs = %{?epoch:%{epoch}:}%{version} Requires: nvidia-kmod = %{?epoch:%{epoch}:}%{version} +Requires: gcc-c++ Provides: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version} Obsoletes: nvidia-open-kmod-common < %{?epoch:%{epoch}:}%{version} Obsoletes: cuda-nvidia-kmod-common < %{?epoch:%{epoch}:}%{version} +BuildArch: noarch +Packager: Terra Packaging Team %description This package provides the common files required by all NVIDIA kernel module @@ -87,4 +85,5 @@ fi ||: %{_udevrulesdir}/60-nvidia.rules %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/nvidia-kmod-common/update.rhai b/anda/system/nvidia/nvidia-kmod-common/update.rhai index e5eff132c0..3b53503809 100644 --- a/anda/system/nvidia/nvidia-kmod-common/update.rhai +++ b/anda/system/nvidia/nvidia-kmod-common/update.rhai @@ -1,3 +1,3 @@ -import "andax/nvidia.rhai" as nvidia; +import "andax/bump_extras.rhai" as bump; -rpm.version(nvidia::nvidia_driver_version()); +rpm.version(bump::madoguchi("nvidia-driver", labels.branch)); diff --git a/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec b/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec index 3e92b51adb..e383f4526d 100644 --- a/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec +++ b/anda/system/nvidia/nvidia-kmod/nvidia-kmod.spec @@ -7,27 +7,26 @@ %undefine _auto_set_build_flags Name: nvidia-kmod -Version: 590.48.01 -Release: 4%?dist +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 -ExclusiveArch: x86_64 aarch64 - -Source0: https://github.com/NVIDIA/open-gpu-kernel-modules/archive/%{version}/open-gpu-kernel-modules-%{version}.tar.gz -Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version} -Requires: akmods -Requires: gcc-c++ -Provides: akmod-nvidia-open = %{?epoch:%{epoch}:}%{version} -Obsoletes: akmod-nvidia-open < %{?epoch:%{epoch}:}%{version} - - +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} +Requires: akmods +Provides: akmod-nvidia-open = %{?epoch:%{epoch}:}%{version} +Obsoletes: akmod-nvidia-open < %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-nvidia +Conflicts: nvidia-kmod-580xx +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team # kmodtool does its magic here: -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description The NVidia %{version} display driver kernel module for kernel %{kversion}. @@ -36,14 +35,18 @@ The NVidia %{version} display driver kernel module for kernel %{kversion}. # Error out if there was something wrong with kmodtool: %{?kmodtool_check} # Print kmodtool output for debugging purposes: -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null -%autosetup -p1 -c +%setup -c -rm -f open-gpu-kernel-modules-%{version}/dkms.conf +pushd NVIDIA-kernel-module-source-%{version} +%autopatch -p1 +popd + +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 @@ -62,4 +65,6 @@ done %{?akmod_install} %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-3 +- Update patches for DSC functionality +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec b/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec index ca9ac0b6e0..76921dd604 100644 --- a/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec +++ b/anda/system/nvidia/nvidia-modprobe/nvidia-modprobe.spec @@ -1,18 +1,17 @@ Name: nvidia-modprobe -Version: 590.48.01 -Release: 2%?dist +Version: 610.43.02 +Release: 1%{?dist} Summary: NVIDIA kernel module loader Epoch: 3 License: GPL-2.0-or-later URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - Source0: https://download.nvidia.com/XFree86/%{name}/%{name}-%{version}.tar.bz2 Patch0: %{name}-man-page-permissions.patch - BuildRequires: gcc BuildRequires: m4 BuildRequires: sed +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description This utility is used by user-space NVIDIA driver components to make sure the @@ -45,4 +44,5 @@ make %{?_smp_mflags} \ %{_mandir}/man1/%{name}.1.* %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec b/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec index e608a57dd4..189062f2b9 100644 --- a/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec +++ b/anda/system/nvidia/nvidia-persistenced/nvidia-persistenced.spec @@ -1,26 +1,24 @@ -Name: nvidia-persistenced -Version: 590.48.01 -Release: 2%?dist -Summary: A daemon to maintain persistent software state in the NVIDIA driver -Epoch: 3 -License: GPL-2.0-or-later -URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - -Source0: https://download.nvidia.com/XFree86/%{name}/%{name}-%{version}.tar.bz2 -Source1: %{name}.service -Source2: %{name}-sysusers.conf - +Name: nvidia-persistenced +Version: 610.43.02 +Release: 1%{?dist} +Summary: A daemon to maintain persistent software state in the NVIDIA driver +Epoch: 3 +License: GPL-2.0-or-later +URL: http://www.nvidia.com/object/unix.html +Source0: https://download.nvidia.com/XFree86/%{name}/%{name}-%{version}.tar.bz2 +Source1: %{name}.service +Source2: %{name}-sysusers.conf BuildRequires: gcc BuildRequires: libtirpc-devel BuildRequires: m4 BuildRequires: sed BuildRequires: systemd-rpm-macros - +Requires: libnvidia-cfg%{?_isa} >= %{?epoch:%{epoch}:}%{version} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -Requires: libnvidia-cfg%{?_isa} >= %{?epoch:%{epoch}:}%{version} +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description The %{name} utility is used to enable persistent software state in the NVIDIA @@ -71,4 +69,5 @@ install -Dpm644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf %{_sysusersdir}/%{name}.conf %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/nvidia-settings/nvidia-settings.spec b/anda/system/nvidia/nvidia-settings/nvidia-settings.spec index 03d41905d7..b4440885ec 100644 --- a/anda/system/nvidia/nvidia-settings/nvidia-settings.spec +++ b/anda/system/nvidia/nvidia-settings/nvidia-settings.spec @@ -1,12 +1,10 @@ Name: nvidia-settings -Version: 590.48.01 -Release: 3%?dist +Version: 610.43.02 +Release: 1%{?dist} Summary: Configure the NVIDIA graphics driver Epoch: 3 License: GPL-2.0-or-later URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - Source0: https://download.nvidia.com/XFree86/%{name}/%{name}-%{version}.tar.bz2 Source1: %{name}-load.desktop Source2: %{name}.appdata.xml @@ -15,7 +13,6 @@ Patch1: %{name}-lib-permissions.patch Patch2: %{name}-link-order.patch Patch3: %{name}-libXNVCtrl.patch Patch4: %{name}-ld-dep-remove.patch - BuildRequires: desktop-file-utils BuildRequires: dbus-devel BuildRequires: gcc @@ -33,11 +30,12 @@ BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(wayland-client) BuildRequires: sed BuildRequires: vulkan-headers - Requires: nvidia-libXNVCtrl%{?_isa} = %{?epoch}:%{version}-%{release} Requires: nvidia-driver%{?_isa} = %{?epoch}:%{version} # Loaded at runtime Requires: libvdpau%{?_isa} >= 0.9 +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description The %{name} utility is a tool for configuring the NVIDIA graphics @@ -131,4 +129,5 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appda %{_libdir}/libXNVCtrl.so %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update spec for Terra packaging team diff --git a/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec b/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec index bc1a7b18aa..91525b5601 100644 --- a/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec +++ b/anda/system/nvidia/nvidia-xconfig/nvidia-xconfig.spec @@ -1,21 +1,19 @@ Name: nvidia-xconfig -Version: 590.48.01 -Release: 2%?dist +Version: 610.43.02 +Release: 1%{?dist} Summary: NVIDIA X configuration file editor Epoch: 3 License: GPL-2.0-or-later URL: http://www.nvidia.com/object/unix.html -ExclusiveArch: x86_64 aarch64 - Source0: https://download.nvidia.com/XFree86/%{name}/%{name}-%{version}.tar.bz2 - BuildRequires: gcc BuildRequires: libpciaccess-devel BuildRequires: m4 BuildRequires: sed - Requires: libnvidia-cfg%{?_isa} >= %{?epoch:%{epoch}:}%{version} Requires: xorg-x11-nvidia%{?_isa} >= %{?epoch:%{epoch}:}%{version} +ExclusiveArch: x86_64 aarch64 +Packager: Terra Packaging Team %description %{name} is a command line tool intended to provide basic control over @@ -49,4 +47,5 @@ make %{?_smp_mflags} \ %{_mandir}/man1/%{name}.1* %changelog -%autochangelog +* Mon Apr 13 2026 Gilver E. - 3:595.58.03-2 +- Update spec for Terra packaging team diff --git a/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec b/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec index dcb6b74dbf..f9622979a0 100644 --- a/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec +++ b/anda/system/opentabletdriver-nightly/opentabletdriver-nightly.spec @@ -1,17 +1,17 @@ -%global commit e4d9a5124f42a566ab6e6c5aae60dfbc6931e187 +%global commit 9a6cec30551ea371dc4d59d3b397c8a5faa221a6 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260304 -%global ver 0.6.6.2 +%global commit_date 20260628 +%global ver 0.6.7 # We aren't using Mono but RPM expected Mono %global __requires_exclude_from ^/usr/lib/opentabletdriver/.*$ %global __os_install_post %{nil} %define debug_package %nil -%global dotnet_runtime_version 8.0 +%global dotnet_runtime_version 10.0 Name: opentabletdriver-nightly Version: %ver^%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Open source, cross-platform, user-mode tablet driver License: LGPL-3.0-or-later Conflicts: opentabletdriver @@ -37,11 +37,11 @@ OpenTabletDriver is an open source, cross platform, user mode tablet driver. The %autosetup -n OpenTabletDriver-%commit %build -./eng/linux/package.sh --output bin +./eng/bash/package.sh --output bin %install export DONT_STRIP=1 -PREFIX="%{_prefix}" ./eng/linux/package.sh --package Generic --build false +PREFIX="%{_prefix}" ./eng/bash/package.sh --package Generic --build false mkdir -p "%{buildroot}" mv ./dist/files/* "%{buildroot}"/ rm -rf ./dist diff --git a/anda/system/opentabletdriver/opentabletdriver.spec b/anda/system/opentabletdriver/opentabletdriver.spec index 4d8e207818..8b9c235f9e 100644 --- a/anda/system/opentabletdriver/opentabletdriver.spec +++ b/anda/system/opentabletdriver/opentabletdriver.spec @@ -5,12 +5,12 @@ # We aren't using Mono but RPM expected Mono %global __requires_exclude_from ^/usr/lib/opentabletdriver/.*$ %global __os_install_post %{nil} -%global dotnet_sdk_version 8.0 +%global dotnet_sdk_version 10.0 %global dotnet_runtime_version 8.0 Name: opentabletdriver -Version: 0.6.6.2 -Release: 1%?dist +Version: 0.6.7 +Release: 1%{?dist} Summary: A cross-platform open source tablet driver License: LGPLv3 URL: https://github.com/OpenTabletDriver/OpenTabletDriver @@ -41,12 +41,12 @@ git clone -b v%version %url . %build cd %{otddir} -./eng/linux/package.sh --output bin +./eng/bash/package.sh --output bin %install cd %{otddir} export DONT_STRIP=1 -PREFIX="%{_prefix}" ./eng/linux/package.sh --package Generic --build false +PREFIX="%{_prefix}" ./eng/bash/package.sh --package Generic --build false mkdir -p "%{buildroot}" mv ./dist/files/* "%{buildroot}"/ rm -rf ./dist diff --git a/anda/system/packagekit-bootc/PackageKit-bootc.spec b/anda/system/packagekit-bootc/PackageKit-bootc.spec index 201440134f..6acdca5d2a 100644 --- a/anda/system/packagekit-bootc/PackageKit-bootc.spec +++ b/anda/system/packagekit-bootc/PackageKit-bootc.spec @@ -1,8 +1,8 @@ %global appid com.fyralabs.PackageKit-bootc %global appstream_component addon Name: PackageKit-bootc -Version: 0.1.1 -Release: 1%?dist +Version: 0.2.0 +Release: 1%{?dist} Summary: bootc backend for PackageKit Packager: Cappy Ishihara diff --git a/anda/system/pi-topd/Apache-2.0.txt b/anda/system/pi-topd/Apache-2.0.txt new file mode 100644 index 0000000000..d9a10c0d8e --- /dev/null +++ b/anda/system/pi-topd/Apache-2.0.txt @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/anda/system/pi-topd/anda.hcl b/anda/system/pi-topd/anda.hcl new file mode 100644 index 0000000000..1a7637d0d4 --- /dev/null +++ b/anda/system/pi-topd/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "pi-topd.spec" + } +} diff --git a/anda/system/pi-topd/pi-topd.spec b/anda/system/pi-topd/pi-topd.spec new file mode 100644 index 0000000000..d6d9b494fe --- /dev/null +++ b/anda/system/pi-topd/pi-topd.spec @@ -0,0 +1,86 @@ +%global pypi_name pi-topd +%global ver 5.7.0-1 +%global sanitized_ver %(echo %{ver} | sed 's/-/^/g') + +Name: python-%{pypi_name} +Version: %{sanitized_ver} +Release: 1%{?dist} +Summary: Daemon for managing pi-top functionality by managing the pi-top hub connection + +License: Apache-2.0 +URL: https://github.com/pi-top/pi-topd +Source0: %{url}/archive/refs/tags/v%{ver}.tar.gz +Source1: Apache-2.0.txt +BuildRequires: pyproject-rpm-macros +BuildRequires: python3-devel +BuildRequires: python3dist(pip) +BuildRequires: python3dist(setuptools) +BuildRequires: systemd-rpm-macros +BuildArch: noarch +Packager: Owen Zimmerman + +%global _description %{expand: +%summary. +} + +%description %_description + +%package -n python3-%{pypi_name} +Summary: %{summary} + +%description -n python3-%{pypi_name} %_description + +%prep +%autosetup -n %{pypi_name}-%{ver} + +%pyproject_patch_dependency pyee:drop_constraints +%pyproject_patch_dependency pyzmq:drop_constraints +%pyproject_patch_dependency smbus2:drop_constraints +%pyproject_patch_dependency spidev:drop_constraints + +%build +%pyproject_wheel + +%install +%pyproject_install +%pyproject_save_files pitopd +install -Dm644 debian/pi-topd.service %{buildroot}%{_unitdir}/pi-topd.service +install -Dm644 debian/pt-reboot.service %{buildroot}%{_unitdir}/pt-reboot.service +install -Dm644 debian/pt-poweroff.service %{buildroot}%{_unitdir}/pt-poweroff.service +install -Dm644 %{S:1} %{buildroot}%{_defaultlicensedir}/python3-%{pypi_name}/LICENSE + +%post +%systemd_post pi-topd.service +%systemd_post pt-reboot.service +%systemd_post pt-poweroff.service + +%preun +%systemd_preun pi-topd.service +%systemd_preun pt-reboot.service +%systemd_preun pt-poweroff.service + +%postun +%systemd_postun_with_restart pi-topd.service +%systemd_postun_with_restart pt-reboot.service +%systemd_postun_with_restart pt-poweroff.service + +%files -n python3-%{pypi_name} -f %{pyproject_files} +%license %{_defaultlicensedir}/python3-%{pypi_name}/LICENSE +%doc README.rst +%{_bindir}/pi-topd +%{_bindir}/pt-poweroff +%{_bindir}/pt-reboot +%{_unitdir}/pi-topd.service +%{_unitdir}/pt-reboot.service +%{_unitdir}/pt-poweroff.service +%python3_sitelib/tests/* + +%changelog +* Thu May 07 2026 Owen Zimmerman - 5.7.0-1 +- Clean up spec, track upstream tag, use %%pyproject_patch_dependency + +* Sun Nov 23 2025 Owen Zimmerman - 5.7.0-1 +- Install files properly, update script + +* Sun Oct 26 2025 Jaiden Riordan - 5.7.0-1 +- ehehehe :3 diff --git a/anda/system/pi-topd/update.rhai b/anda/system/pi-topd/update.rhai new file mode 100644 index 0000000000..439d5bd397 --- /dev/null +++ b/anda/system/pi-topd/update.rhai @@ -0,0 +1,3 @@ +let v = gh("pi-top/pi-topd"); +v.crop(1); +rpm.global("ver", v); diff --git a/anda/system/pion/anda.hcl b/anda/system/pion/anda.hcl new file mode 100644 index 0000000000..cf94971bf1 --- /dev/null +++ b/anda/system/pion/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "pion.spec" + } +} diff --git a/anda/system/pion/pion.spec b/anda/system/pion/pion.spec new file mode 100644 index 0000000000..0e76c29252 --- /dev/null +++ b/anda/system/pion/pion.spec @@ -0,0 +1,47 @@ +Name: pion +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) +URL: https://github.com/technobaboo/pion +Source0: %{url}/archive/refs/tags/%{version}.tar.gz +Packager: Owen Zimmerman + +BuildRequires: cargo-rpm-macros +BuildRequires: systemd-rpm-macros + +%description +Binder IPC Linux userspace root service... Binder objects bound to files (like UNIX domain sockets!). + +%prep +%autosetup +%cargo_prep_online + +%build +%cargo_build +%{cargo_license_online} > LICENSE.dependencies + +%install +install -Dm755 target/rpm/pion-binder %{buildroot}%{_bindir}/pion-binder +install -Dm644 dist/pion-binder.service %{buildroot}%{_unitdir}/pion-binder.service +install -Dm644 dist/dev-binderfs.mount %{buildroot}%{_unitdir}/dev-binderfs.mount + +%post +%systemd_post pion-binder.service + +%preun +%systemd_preun pion-binder.service + +%postun +%systemd_postun_with_restart pion-binder.service + +%files +%doc README.md +%license LICENSE LICENSE.dependencies +%{_bindir}/pion-binder +%{_unitdir}/pion-binder.service +%{_unitdir}/dev-binderfs.mount + +%changelog +* Tue Mar 17 2026 Owen Zimmerman +- Initial commit diff --git a/anda/system/pion/update.rhai b/anda/system/pion/update.rhai new file mode 100644 index 0000000000..3510981958 --- /dev/null +++ b/anda/system/pion/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("technobaboo/pion")); diff --git a/anda/system/pixi/pixi.spec b/anda/system/pixi/pixi.spec index 3c61c3c59d..0073a23ea0 100644 --- a/anda/system/pixi/pixi.spec +++ b/anda/system/pixi/pixi.spec @@ -1,6 +1,6 @@ Name: pixi -Version: 0.65.0 -Release: 1%?dist +Version: 0.71.2 +Release: 1%{?dist} Summary: A cross-platform, multi-language package manager License: BSD-3-Clause URL: https://pixi.sh @@ -38,7 +38,7 @@ install -Dm 644 completions.fish %{buildroot}%{fish_completions_dir}/%{name}.fis install -Dm 644 completions.zsh %{buildroot}%{zsh_completions_dir}/_%{name} %files -%doc README.md SECURITY.md CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md +%doc README.md CHANGELOG.md %license LICENSE %{_bindir}/%{name} diff --git a/anda/system/readymade/git/readymade-git.spec b/anda/system/readymade/git/readymade-git.spec index 552dd377b4..3a7d505dad 100644 --- a/anda/system/readymade/git/readymade-git.spec +++ b/anda/system/readymade/git/readymade-git.spec @@ -1,10 +1,10 @@ -%global commit 92cc65b61fd5325d47be8793466b66c71ddc75ea -%global commit_date 20260220 +%global commit ccdf092314b2241ec13ede2381d8174b051d5d09 +%global commit_date 20260524 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global crate readymade Name: readymade-git Version: %commit_date.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Install ready-made distribution images! License: GPL-3.0-or-later URL: https://github.com/FyraLabs/readymade @@ -13,6 +13,7 @@ Source1: https://github.com/FyraLabs/rdms_proc_macros/archive/HEAD.tar.gz BuildRequires: anda-srpm-macros rust-packaging mold BuildRequires: pkgconfig(libhelium-1) BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(libacl) BuildRequires: clang-devel BuildRequires: gcc BuildRequires: cmake diff --git a/anda/system/readymade/stable/readymade.spec b/anda/system/readymade/stable/readymade.spec index 5aeec70554..99d484d47b 100644 --- a/anda/system/readymade/stable/readymade.spec +++ b/anda/system/readymade/stable/readymade.spec @@ -1,7 +1,7 @@ %global crate readymade Name: readymade -Version: 0.13.0 -Release: 1%?dist +Version: 0.14.1 +Release: 1%{?dist} Summary: Install ready-made distribution images! License: GPL-3.0-or-later URL: https://github.com/FyraLabs/readymade @@ -9,6 +9,9 @@ Source0: %{url}/archive/refs/tags/v%{version}.tar.gz Source1: https://github.com/FyraLabs/rdms_proc_macros/archive/HEAD.tar.gz BuildRequires: anda-srpm-macros rust-packaging mold BuildRequires: pkgconfig(libhelium-1) +BuildRequires: pkgconfig(openssl) +BuildRequires: glibc-all-langpacks +BuildRequires: pkgconfig(libacl) BuildRequires: clang-devel BuildRequires: cmake diff --git a/anda/system/rtl8821cu/akmod/rtl8821cu-kmod.spec b/anda/system/rtl8821cu/akmod/rtl8821cu-kmod.spec index 7e101d011c..dfbb341e87 100644 --- a/anda/system/rtl8821cu/akmod/rtl8821cu-kmod.spec +++ b/anda/system/rtl8821cu/akmod/rtl8821cu-kmod.spec @@ -11,7 +11,7 @@ Linux Driver for USB Wi-Fi Adapters that are based on the RTL8811CU, RTL8821CU, Name: %{modulename}-kmod Version: %{ver}^%{commit_date}git.%{shortcommit} -Release: 3%{?dist} +Release: 4%{?dist} Summary: Linux Driver for USB Wi-Fi Adapters using RTL8821 chipsets License: GPL-2.0-only URL: https://github.com/morrownr/8821cu-20210916 @@ -23,13 +23,13 @@ Requires: akmods Conflicts: dkms-%{modulename} Packager: Gilver E. -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description %_description %prep %{?kmodtool_check} -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %autosetup -n %{git_name}-%{commit} diff --git a/anda/system/rtl8821cu/dkms/anda.hcl b/anda/system/rtl8821cu/dkms/anda.hcl index 3d716dd0ca..09cdb8c884 100644 --- a/anda/system/rtl8821cu/dkms/anda.hcl +++ b/anda/system/rtl8821cu/dkms/anda.hcl @@ -1,4 +1,5 @@ project pkg { + arches = ["x86_64"] rpm { spec = "dkms-rtl8821cu.spec" } diff --git a/anda/system/rtl8821cu/dkms/dkms-rtl8821cu.spec b/anda/system/rtl8821cu/dkms/dkms-rtl8821cu.spec index 439731cce7..f1cce2d9f4 100644 --- a/anda/system/rtl8821cu/dkms/dkms-rtl8821cu.spec +++ b/anda/system/rtl8821cu/dkms/dkms-rtl8821cu.spec @@ -4,13 +4,12 @@ %global ver 5.12.0.4 %global modulename rtl8821cu %global git_name 8821cu-20210916 -%global debug_package %{nil} %global _description %{expand: Linux Driver for USB Wi-Fi Adapters that are based on the RTL8811CU, RTL8821CU, RTL8821CUH, and RTL8731AU chipsets.} Name: dkms-%{modulename} Version: %{ver}^%{commit_date}git.%{shortcommit} -Release: 2%{?dist} +Release: 3%{?dist} Summary: Linux Driver for USB Wi-Fi Adapters using RTL8821 chipsets License: GPL-2.0-only URL: https://github.com/morrownr/8821cu-20210916 @@ -26,6 +25,7 @@ Requires: bc Requires: make Provides: %{modulename}-kmod Conflicts: akmod-%{modulename} +BuildArch: noarch Packager: Gilver E. %description %_description @@ -50,7 +50,7 @@ sed -i 's/CONFIG_PLATFORM_ARM64_RPI = n/CONFIG_PLATFORM_ARM64_RPI = y/g' Makefil %install mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ -cp -fr core hal include os_dep platform Kconfig Makefile halmac.mk dkms-make.sh dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr core hal include os_dep platform Kconfig Makefile halmac.mk rtl8821c.mk dkms-make.sh dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ %if 0%{?fedora} # Do not enable weak modules support in Fedora (no kABI): diff --git a/anda/system/rtl8821cu/kmod-common/rtl8821cu-kmod-common.spec b/anda/system/rtl8821cu/kmod-common/rtl8821cu-kmod-common.spec index 6a6d2ec817..b6685aefa8 100644 --- a/anda/system/rtl8821cu/kmod-common/rtl8821cu-kmod-common.spec +++ b/anda/system/rtl8821cu/kmod-common/rtl8821cu-kmod-common.spec @@ -4,7 +4,6 @@ %global ver 5.12.0.4 %global modulename rtl8821cu %global git_name 8821cu-20210916 -%global debug_package %{nil} Name: %{modulename}-kmod-common Version: %{ver}^%{commit_date}git.%{shortcommit} 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..67c50b494f --- /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 1be4fb1cd9d60b5ddefc2a4201a898766a731400 +%global commitdate 20260626 +%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..a7ec44e5af --- /dev/null +++ b/anda/system/ryzen-smu/dkms/dkms-ryzen_smu.spec @@ -0,0 +1,61 @@ +%global commit 1be4fb1cd9d60b5ddefc2a4201a898766a731400 +%global debug_package %{nil} +%global modulename ryzen_smu +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260626 + +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..bfdd170a8e --- /dev/null +++ b/anda/system/ryzen-smu/kmod-common/ryzen_smu.spec @@ -0,0 +1,50 @@ +%global commit 1be4fb1cd9d60b5ddefc2a4201a898766a731400 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260626 + +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/anda.hcl b/anda/system/sc0710/akmod/anda.hcl new file mode 100644 index 0000000000..9082dd68d0 --- /dev/null +++ b/anda/system/sc0710/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "sc0710-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/sc0710/akmod/sc0710-kmod.spec b/anda/system/sc0710/akmod/sc0710-kmod.spec new file mode 100644 index 0000000000..ff1e8ad8ae --- /dev/null +++ b/anda/system/sc0710/akmod/sc0710-kmod.spec @@ -0,0 +1,55 @@ +%global commit ba67d191deb8f2c0130ced4b0b4f72e0f9f928b3 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260627 +%global ver 0 +%define buildforkernels akmod +%global debug_package %{nil} +%global modulename sc0710 + +Name: %{modulename}-kmod +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Elgato 4K60 Pro MK.2 / 4K Pro capture card driver +License: GPL-2.0-only +URL: https://github.com/Nakildias/sc0710 +Source0: https://github.com/Nakildias/sc0710/archive/%{commit}.tar.gz#/sc0710-%{shortcommit}.tar.gz +BuildRequires: kmodtool +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-%{modulename} +Packager: Kyle Gospodnetich + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Elgato 4K60 Pro MK.2 / 4K Pro capture card driver. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n %{modulename}-%{commit} + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr lib Makefile _kmod_build_${kernel_version%%___*} +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build -C "${kernel_version##*___}" M=$(pwd) VERSION="v%{version}" modules + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Fri Apr 03 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/sc0710/akmod/update.rhai b/anda/system/sc0710/akmod/update.rhai new file mode 100644 index 0000000000..4969eb372d --- /dev/null +++ b/anda/system/sc0710/akmod/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/sc0710/kmod-common/sc0710.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/sc0710/kmod-common/sc0710.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/sc0710/kmod-common/sc0710.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/sc0710/dkms/anda.hcl b/anda/system/sc0710/dkms/anda.hcl new file mode 100644 index 0000000000..d0e2b9a8af --- /dev/null +++ b/anda/system/sc0710/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-sc0710.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/sc0710/dkms/dkms-sc0710.conf b/anda/system/sc0710/dkms/dkms-sc0710.conf new file mode 100644 index 0000000000..c508e1ac24 --- /dev/null +++ b/anda/system/sc0710/dkms/dkms-sc0710.conf @@ -0,0 +1,6 @@ +PACKAGE_NAME="sc0710" +PACKAGE_VERSION="__VERSION_STRING" +AUTOINSTALL="yes" + +BUILT_MODULE_NAME[0]="sc0710" +DEST_MODULE_LOCATION[0]="/kernel/drivers/media/pci/" diff --git a/anda/system/sc0710/dkms/dkms-sc0710.spec b/anda/system/sc0710/dkms/dkms-sc0710.spec new file mode 100644 index 0000000000..be49065179 --- /dev/null +++ b/anda/system/sc0710/dkms/dkms-sc0710.spec @@ -0,0 +1,60 @@ +%global commit ba67d191deb8f2c0130ced4b0b4f72e0f9f928b3 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260627 +%global ver 0 +%global debug_package %{nil} +%global modulename sc0710 + +Name: dkms-%{modulename} +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Elgato 4K60 Pro MK.2 / 4K Pro capture card driver (DKMS) +License: GPL-2.0-only +URL: https://github.com/Nakildias/%{modulename} +Source0: https://github.com/Nakildias/%{modulename}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +Source1: %{name}.conf +Source2: no-weak-modules.conf +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod +BuildArch: noarch +Packager: Kyle Gospodnetich + +%description +Elgato 4K60 Pro MK.2 / 4K Pro capture card driver (DKMS). + +%prep +%autosetup -p1 -n %{modulename}-%{commit} + +cp -f %{SOURCE1} dkms.conf + +sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf + +%build + +%install +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr lib Makefile dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%if 0%{?fedora} +install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 +%{_usrsrc}/%{modulename}-%{version} +%if 0%{?fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Fri Apr 03 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/sc0710/dkms/no-weak-modules.conf b/anda/system/sc0710/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/sc0710/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/sc0710/dkms/update.rhai b/anda/system/sc0710/dkms/update.rhai new file mode 100644 index 0000000000..4969eb372d --- /dev/null +++ b/anda/system/sc0710/dkms/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/sc0710/kmod-common/sc0710.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/sc0710/kmod-common/sc0710.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/sc0710/kmod-common/sc0710.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/xpadneo/kmod-common/anda.hcl b/anda/system/sc0710/kmod-common/anda.hcl similarity index 77% rename from anda/system/xpadneo/kmod-common/anda.hcl rename to anda/system/sc0710/kmod-common/anda.hcl index 9b58032693..af7d62c918 100644 --- a/anda/system/xpadneo/kmod-common/anda.hcl +++ b/anda/system/sc0710/kmod-common/anda.hcl @@ -1,7 +1,7 @@ project pkg { arches = ["x86_64"] rpm { - spec = "xpadneo.spec" + spec = "sc0710.spec" } labels { nightly = 1 diff --git a/anda/system/sc0710/kmod-common/sc0710.spec b/anda/system/sc0710/kmod-common/sc0710.spec new file mode 100644 index 0000000000..dce2620cf8 --- /dev/null +++ b/anda/system/sc0710/kmod-common/sc0710.spec @@ -0,0 +1,32 @@ +%global commit ba67d191deb8f2c0130ced4b0b4f72e0f9f928b3 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260627 +%global ver 0 + +Name: sc0710 +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: Elgato 4K60 Pro MK.2 / 4K Pro capture card driver common files +License: GPL-2.0-only +URL: https://github.com/Nakildias/%{name} +Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: noarch +Packager: Kyle Gospodnetich + +%description +Elgato 4K60 Pro MK.2 / 4K Pro capture card driver common files. + +%prep +%autosetup -p1 -n %{name}-%{commit} + +%install + +%files +%license LICENSE +%doc README.md + +%changelog +* Fri Apr 03 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/sc0710/kmod-common/update.rhai b/anda/system/sc0710/kmod-common/update.rhai new file mode 100644 index 0000000000..23c41b09cc --- /dev/null +++ b/anda/system/sc0710/kmod-common/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("Nakildias/sc0710")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); +} diff --git a/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec b/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec index e9b54bdbe3..b885369ada 100644 --- a/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec +++ b/anda/system/scx-scheds/nightly/scx-scheds-nightly.spec @@ -1,15 +1,15 @@ -%global commit d4574ca3144b59893d06ed33bd4ceaa5107f0ec2 +%global commit e1059502b7b7c0fd791d091f89fcfea33e99f372 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260304 -%global ver 1.0.20 +%global commitdate 20260627 +%global ver 1.1.1 %undefine __brp_mangle_shebangs Name: scx-scheds-nightly Version: %{ver}^%{commitdate}.git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Nightly builds of sched_ext schedulers and tools SourceLicense: GPL-2.0-only -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 OR BSL-1.0) AND (Apache-2.0 OR MIT) 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 AND GPL-2.0-only AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND LGPL-2.1 AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (MPL-2.0 OR MIT OR Apache-2.0) AND MPL-2.0-only and MPL-2.0-or-later AND (Unlicense OR MIT) AND Zlib +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 OR BSL-1.0) AND (Apache-2.0 OR MIT) 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 AND BSL-1.0 AND GPL-2.0-only AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND LGPL-2.1-only AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) 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 OR MIT OR Apache-2.0) AND MPL-2.0-or-later AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib URL: https://github.com/sched-ext/scx Source0: %{URL}/archive/%{commit}/scx-%{commit}.tar.gz BuildRequires: anda-srpm-macros @@ -33,6 +33,7 @@ BuildRequires: rust BuildRequires: systemd BuildRequires: systemd-rpm-macros BuildRequires: zlib-ng-compat +BuildRequires: pkgconfig(openssl) Requires: (scx-tools or scx-tools-nightly) Suggests: scx-tools-nightly Requires: elfutils-libelf @@ -84,13 +85,10 @@ License: GPL-2.0-only --exclude scx_arena_selftests %install -find target/rpm \ - -maxdepth 1 -type f -executable ! -name '*.so' \ - -exec install -Dm755 -t %{buildroot}%{_bindir} {} + +%install_cargo_bins +%install_cargo_devel_libs -install -Dm755 target/rpm/*.so -t %{buildroot}%{_libdir} - -%{cargo_license_online} > LICENSE.dependencies +%{cargo_license_online -a} > LICENSE.dependencies %files %doc OVERVIEW.md @@ -100,5 +98,7 @@ install -Dm755 target/rpm/*.so -t %{buildroot}%{_libdir} %{_bindir}/scx* %changelog +* Sat May 2 2026 Gilver E. - 1.1.0^20260502.git.ce8aa3d-2 +- Update licenses * Sun Jun 15 2025 Gilver E. - 1.0.13^20250612.git.c1507b0-1 - Initial package diff --git a/anda/system/scx-scheds/stable/scx-scheds.spec b/anda/system/scx-scheds/stable/scx-scheds.spec index be45966617..64377b07fe 100644 --- a/anda/system/scx-scheds/stable/scx-scheds.spec +++ b/anda/system/scx-scheds/stable/scx-scheds.spec @@ -1,11 +1,11 @@ %undefine __brp_mangle_shebangs Name: scx-scheds -Version: 1.0.20 -Release: 1%?dist +Version: 1.1.1 +Release: 1%{?dist} Summary: sched_ext schedulers SourceLicense: GPL-2.0-only -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 OR BSL-1.0) AND (Apache-2.0 OR MIT) 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 AND GPL-2.0-only AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND LGPL-2.1 AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (MPL-2.0 OR MIT OR Apache-2.0) AND MPL-2.0-only and MPL-2.0-or-later AND (Unlicense OR MIT) AND Zlib +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 OR BSL-1.0) AND (Apache-2.0 OR MIT) 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 AND BSL-1.0 AND GPL-2.0-only AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND LGPL-2.1-only AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) 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 OR MIT OR Apache-2.0) AND MPL-2.0-or-later AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib URL: https://github.com/sched-ext/scx Source0: %{URL}/archive/refs/tags/v%{version}.tar.gz BuildRequires: anda-srpm-macros @@ -78,13 +78,10 @@ License: GPL-2.0-only --exclude scx_arena_selftests %install -find target/rpm \ - -maxdepth 1 -type f -executable ! -name '*.so' \ - -exec install -Dm755 -t %{buildroot}%{_bindir} {} + +%install_cargo_bins +%install_cargo_devel_libs -install -Dm755 target/rpm/*.so -t %{buildroot}%{_libdir} - -%{cargo_license_online} > LICENSE.dependencies +%{cargo_license_online -a} > LICENSE.dependencies %files %doc OVERVIEW.md @@ -94,5 +91,7 @@ install -Dm755 target/rpm/*.so -t %{buildroot}%{_libdir} %{_bindir}/scx* %changelog +* Sat May 2 2026 Gilver E. - 1.1.0-2 +- Update licenses * Sun Jun 15 2025 Gilver E. - 1.0.13-1 - Initial package diff --git a/anda/system/scx-tools/nightly/scx-tools-nightly.spec b/anda/system/scx-tools/nightly/scx-tools-nightly.spec index bb420f8b5b..01e9e1c09f 100644 --- a/anda/system/scx-tools/nightly/scx-tools-nightly.spec +++ b/anda/system/scx-tools/nightly/scx-tools-nightly.spec @@ -1,14 +1,14 @@ -%global commit 30b4540650f0283136c875efb4cd449686a87995 +%global commit 0e383bcd2889c91f8d5a0829f2944894c94708d8 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260218 -%global ver 1.0.20 +%global commitdate 20260529 +%global ver 1.1.1 %global appid com.sched_ext.scx %global developer "sched-ext Contributors" %global org "com.sched_ext" Name: scx-tools-nightly Version: %{ver}^%{commitdate}.git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Sched_ext Tools License: ((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 GPL-2.0-only AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND MIT AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) SourceLicense: GPL-2.0-only diff --git a/anda/system/scx-tools/stable/scx-tools.spec b/anda/system/scx-tools/stable/scx-tools.spec index 2edb6486e9..a6676a6800 100644 --- a/anda/system/scx-tools/stable/scx-tools.spec +++ b/anda/system/scx-tools/stable/scx-tools.spec @@ -3,8 +3,8 @@ %global org "com.sched_ext" Name: scx-tools -Version: 1.0.20 -Release: 1%?dist +Version: 1.1.1 +Release: 1%{?dist} Summary: Sched_ext Tools License: ((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 GPL-2.0-only AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND MIT AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) SourceLicense: GPL-2.0-only diff --git a/anda/system/submarine/submarine.spec b/anda/system/submarine/submarine.spec index 827ba6ad75..5ef01c8031 100644 --- a/anda/system/submarine/submarine.spec +++ b/anda/system/submarine/submarine.spec @@ -15,11 +15,6 @@ Summary: Experimental bootloader for ChomeOS's depthcharge License: GPL-3.0 URL: https://github.com/FyraLabs/submarine BuildRequires: make gcc flex bison elfutils-devel parted vboot-utils golang xz bc openssl-devel git depthcharge-tools uboot-tools openssl-devel-engine -%ifarch aarch64 -BuildRequires: python3-importlib-metadata -BuildRequires: python3-packaging -BuildRequires: python3-importlib-resources -%endif %description An experimental bootloader for ChomeOS's depthcharge. diff --git a/anda/system/supergfxctl/supergfxctl.spec b/anda/system/supergfxctl/supergfxctl.spec deleted file mode 100644 index 29829af00b..0000000000 --- a/anda/system/supergfxctl/supergfxctl.spec +++ /dev/null @@ -1,56 +0,0 @@ -Name: supergfxctl -Version: 5.2.7 -Release: 1%?dist -Summary: GPU Utility for ASUS ROG Laptops -URL: https://gitlab.com/asus-linux/supergfxctl -Source0: %url/-/archive/%{version}/supergfxctl-%{version}.tar.gz -SourceLicense: MPL-2.0 -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 MIT AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) -BuildRequires: cargo anda-srpm-macros cargo-rpm-macros mold rust-udev-devel -BuildRequires: rpm_macro(systemd_post) -Packager: Its-J - -%description -%{summary}. - -%prep -%autosetup -n supergfxctl-%{version} -%cargo_prep_online - -%build -%cargo_license_summary_online -%{cargo_license_online} > LICENSE.dependencies -%cargo_build -f "cli daemon" - -%install -install -Dm 0755 target/rpm/supergfxd target/rpm/supergfxctl -t %buildroot%_bindir -install -Dm 0644 data/90-supergfxd-nvidia-pm.rules %{buildroot}%{_udevrulesdir}/90-supergfxd-nvidia-pm.rules -install -Dm 0644 data/org.supergfxctl.Daemon.conf %{buildroot}%{_datadir}/dbus-1/system.d/org.supergfxctl.Daemon.conf -install -Dm 0644 data/supergfxd.preset %{buildroot}%{_presetdir}/99-supergfxd.preset -install -Dm 0644 data/90-nvidia-screen-G05.conf %{buildroot}%{_datadir}/X11/xorg.conf.d/90-nvidia-screen-G05.conf -install -Dm 0644 data/supergfxd.service -t %buildroot%_unitdir - -%post -%systemd_post supergfxd.service - -%preun -%systemd_preun supergfxd.service - -%postun -%systemd_postun_with_restart supergfxd.service - -%files -%license LICENSE -%doc README.md -%{_bindir}/supergfxctl -%{_bindir}/supergfxd -%{_udevrulesdir}/90-supergfxd-nvidia-pm.rules -%{_datadir}/X11/xorg.conf.d/90-nvidia-screen-G05.conf -%{_datadir}/dbus-1/system.d/org.supergfxctl.Daemon.conf -%{_unitdir}/supergfxd.service -# We should not be installing .preset files (errors if not listed) -%ghost %{_presetdir}/99-supergfxd.preset - -%changelog -* Sun Oct 26 2025 Its-J -- Package SuperGFXctl diff --git a/anda/system/supergfxctl/update.rhai b/anda/system/supergfxctl/update.rhai deleted file mode 100644 index ada985a118..0000000000 --- a/anda/system/supergfxctl/update.rhai +++ /dev/null @@ -1,3 +0,0 @@ -let v = gitlab_tag("bcdca4be"); -v.replace("-", "~"); -rpm.version(v); diff --git a/anda/misc/system76-scheduler/anda.hcl b/anda/system/system76-scheduler/anda.hcl similarity index 100% rename from anda/misc/system76-scheduler/anda.hcl rename to anda/system/system76-scheduler/anda.hcl diff --git a/anda/misc/system76-scheduler/system76-scheduler.spec b/anda/system/system76-scheduler/system76-scheduler.spec similarity index 100% rename from anda/misc/system76-scheduler/system76-scheduler.spec rename to anda/system/system76-scheduler/system76-scheduler.spec diff --git a/anda/misc/system76-scheduler/update.rhai b/anda/system/system76-scheduler/update.rhai similarity index 100% rename from anda/misc/system76-scheduler/update.rhai rename to anda/system/system76-scheduler/update.rhai diff --git a/anda/system/t150-driver/akmod/anda.hcl b/anda/system/t150-driver/akmod/anda.hcl new file mode 100644 index 0000000000..113665e7bc --- /dev/null +++ b/anda/system/t150-driver/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "t150-driver-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/t150-driver/akmod/t150-driver-kmod.spec b/anda/system/t150-driver/akmod/t150-driver-kmod.spec new file mode 100644 index 0000000000..88f013e575 --- /dev/null +++ b/anda/system/t150-driver/akmod/t150-driver-kmod.spec @@ -0,0 +1,55 @@ +%global commit f7ecb30c65ee5f7870e921bc0a2354df8e1e8100 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20250225 +%global ver 1.0 +%define buildforkernels akmod +%global debug_package %{nil} +%global modulename t150-driver + +Name: %{modulename}-kmod +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +Summary: Thrustmaster T150 steering wheel kernel module +License: GPL-2.0-only +URL: https://github.com/scarburato/t150_driver +Source0: %{url}/archive/%{commit}.tar.gz#/t150_driver-%{shortcommit}.tar.gz +BuildRequires: kmodtool +Requires: akmods +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-%{modulename} + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Linux driver for Thrustmaster T150 Steering Wheel USB. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n t150_driver-%{commit} + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr hid-t150/* _kmod_build_${kernel_version%%___*}/ +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build -C "${kernel_version##*___}" M=$(pwd) modules + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/t150-driver/akmod/update.rhai b/anda/system/t150-driver/akmod/update.rhai new file mode 100644 index 0000000000..7885cb6a8d --- /dev/null +++ b/anda/system/t150-driver/akmod/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/t150-driver/kmod-common/t150-driver.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/t150-driver/kmod-common/t150-driver.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/t150-driver/kmod-common/t150-driver.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/t150-driver/dkms/anda.hcl b/anda/system/t150-driver/dkms/anda.hcl new file mode 100644 index 0000000000..eb5944477d --- /dev/null +++ b/anda/system/t150-driver/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-t150-driver.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/t150-driver/dkms/dkms-t150-driver.conf b/anda/system/t150-driver/dkms/dkms-t150-driver.conf new file mode 100644 index 0000000000..23a68a873a --- /dev/null +++ b/anda/system/t150-driver/dkms/dkms-t150-driver.conf @@ -0,0 +1,10 @@ +PACKAGE_NAME="t150-driver" +PACKAGE_VERSION="__VERSION_STRING" +AUTOINSTALL="yes" + +MAKE="make KDIR=${kernel_source_dir} all" +CLEAN="make KDIR=${kernel_source_dir} clean" + +BUILT_MODULE_NAME[0]="hid-t150" +BUILT_MODULE_LOCATION[0]="build/" +DEST_MODULE_LOCATION[0]="/extra" diff --git a/anda/system/t150-driver/dkms/dkms-t150-driver.spec b/anda/system/t150-driver/dkms/dkms-t150-driver.spec new file mode 100644 index 0000000000..3f1d3a79b6 --- /dev/null +++ b/anda/system/t150-driver/dkms/dkms-t150-driver.spec @@ -0,0 +1,58 @@ +%global commit f7ecb30c65ee5f7870e921bc0a2354df8e1e8100 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20250225 +%global ver 1.0 +%global debug_package %{nil} +%global modulename t150-driver + +Name: dkms-%{modulename} +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +Summary: Thrustmaster T150 steering wheel kernel module (DKMS) +License: GPL-2.0-only +URL: https://github.com/scarburato/t150_driver +Source0: %{url}/archive/%{commit}.tar.gz#/t150_driver-%{shortcommit}.tar.gz +Source1: %{name}.conf +Source2: no-weak-modules.conf +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod +BuildArch: noarch + +%description +Linux driver for Thrustmaster T150 Steering Wheel USB. + +%prep +%autosetup -p1 -n t150_driver-%{commit} + +cp -f %{SOURCE1} dkms.conf +sed -i -e 's/__VERSION_STRING/%{version}/g' dkms.conf + +%build + +%install +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr hid-t150 dkms_make.mak dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%if 0%{?fedora} +install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 +%{_usrsrc}/%{modulename}-%{version} +%if 0%{?fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/t150-driver/dkms/no-weak-modules.conf b/anda/system/t150-driver/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/t150-driver/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/t150-driver/dkms/update.rhai b/anda/system/t150-driver/dkms/update.rhai new file mode 100644 index 0000000000..7885cb6a8d --- /dev/null +++ b/anda/system/t150-driver/dkms/update.rhai @@ -0,0 +1,12 @@ +let c = sh("cat anda/system/t150-driver/kmod-common/t150-driver.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/t150-driver/kmod-common/t150-driver.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/t150-driver/kmod-common/t150-driver.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} diff --git a/anda/system/t150-driver/kmod-common/anda.hcl b/anda/system/t150-driver/kmod-common/anda.hcl new file mode 100644 index 0000000000..51d88e9b18 --- /dev/null +++ b/anda/system/t150-driver/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "t150-driver.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/t150-driver/kmod-common/t150-driver.spec b/anda/system/t150-driver/kmod-common/t150-driver.spec new file mode 100644 index 0000000000..199f72369f --- /dev/null +++ b/anda/system/t150-driver/kmod-common/t150-driver.spec @@ -0,0 +1,46 @@ +%global commit f7ecb30c65ee5f7870e921bc0a2354df8e1e8100 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20250225 +%global ver 1.0 + +Name: t150-driver +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +Summary: Thrustmaster T150 steering wheel driver common files +License: GPL-2.0-only +URL: https://github.com/scarburato/t150_driver +Source0: %{url}/archive/%{commit}.tar.gz#/t150_driver-%{shortcommit}.tar.gz +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +BuildArch: noarch + +%description +Linux driver for Thrustmaster T150 Steering Wheel USB. This package contains +common files shared between the akmod and dkms variants. + +%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 t150_driver-%{commit} + +echo hid-t150 > %{name}.conf + +%install +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +%files +%license LICENSE +%doc README.md + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%changelog +* Thu Apr 02 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/t150-driver/kmod-common/update.rhai b/anda/system/t150-driver/kmod-common/update.rhai new file mode 100644 index 0000000000..ad5b36bdda --- /dev/null +++ b/anda/system/t150-driver/kmod-common/update.rhai @@ -0,0 +1,8 @@ +rpm.global("commit", gh_commit("scarburato/t150_driver")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); + let ver = gh("scarburato/t150_driver"); + ver.crop(0); + rpm.global("ver", ver); +} diff --git a/anda/system/taidan/anda.hcl b/anda/system/taidan/anda.hcl new file mode 100644 index 0000000000..5ca54bc05c --- /dev/null +++ b/anda/system/taidan/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "taidan.spec" + } +} diff --git a/anda/system/taidan/taidan.spec b/anda/system/taidan/taidan.spec new file mode 100644 index 0000000000..7f9c3ff600 --- /dev/null +++ b/anda/system/taidan/taidan.spec @@ -0,0 +1,83 @@ +Name: taidan +Version: 0.2.2 +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 +Requires: %name-configs +Suggests: %name-default-configs +Requires: dbus-daemon +Requires: (glib2 or (/usr/bin/plasma-apply-colorscheme and kf6-kconfig)) +Requires: shadow-utils +Requires: systemd-udev +Requires: bash +Requires: (dnf5 and dnf5-command(copr)) +Requires: flatpak +Requires: libwebp +Requires: webp-pixbuf-loader +Requires: xhost +Requires: kwin-wayland swaybg +Requires: nmgui network-manager-applet +Requires: polkit +BuildRequires: anda-srpm-macros mold cargo rust-packaging perl systemd-rpm-macros +BuildRequires: pkgconfig(libhelium-1) +BuildRequires: pkgconfig(openssl) +BuildRequires: gcc clang clang-libs +BuildRequires: pkgconfig(libacl) +BuildRequires: pkgconfig(libattr) +BuildRequires: glibc-all-langpacks + +%description +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 + +%build +%{cargo_license_online} > LICENSE.dependencies + +%install +%cargo_install +DESTDIR=%buildroot ./scripts/install.sh + +%files +%doc README.md +%license LICENSE.md LICENSE.dependencies +%_bindir/taidan +%_libexecdir/start-taidan +%_datadir/polkit-1/rules.d/100-taidan.rules +%_datadir/taidan/ +%_presetdir/95-taidan.preset +%_sysconfdir/pam.d/taidan +%_sysusersdir/taidan.conf +%_unitdir/taidan-initial-setup.service +%_unitdir/taidan-initial-setup-reconfiguration.service +%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 + +* Sun Mar 15 2026 Tulip Blossom +- Port manifest from Ultramarine repos to Terra diff --git a/anda/system/taidan/update.rhai b/anda/system/taidan/update.rhai new file mode 100644 index 0000000000..d4ee78b6c5 --- /dev/null +++ b/anda/system/taidan/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("ultramarine-linux/taidan")); diff --git a/anda/system/uresourced-dmemcg/anda.hcl b/anda/system/uresourced-dmemcg/anda.hcl new file mode 100644 index 0000000000..be9d7fc017 --- /dev/null +++ b/anda/system/uresourced-dmemcg/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "uresourced-dmemcg.spec" + } + labels { + subrepo = "extras" + } +} diff --git a/anda/system/uresourced-dmemcg/update.rhai b/anda/system/uresourced-dmemcg/update.rhai new file mode 100644 index 0000000000..9098d253ca --- /dev/null +++ b/anda/system/uresourced-dmemcg/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("OpenGamingCollective/uresourced-dmemcg")); diff --git a/anda/system/uresourced-dmemcg/uresourced-dmemcg.spec b/anda/system/uresourced-dmemcg/uresourced-dmemcg.spec new file mode 100644 index 0000000000..55c4e7b789 --- /dev/null +++ b/anda/system/uresourced-dmemcg/uresourced-dmemcg.spec @@ -0,0 +1,68 @@ +Name: uresourced-dmemcg +Epoch: 1 +Version: 0.5.4 +Release: 1%{?dist} +Summary: Dynamically allocate resources to the active user +Packager: Kyle Gospodnetich + +License: LGPL-2.1-or-later +URL: https://github.com/OpenGamingCollective/uresourced-dmemcg +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +BuildRequires: gcc +BuildRequires: meson +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(libpipewire-0.3) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(systemd) +BuildRequires: systemd-rpm-macros + +Provides: uresourced = %{evr} +Obsoletes: uresourced < %{evr} +Conflicts: uresourced + +%description +This daemon dynamically assigns a resource allocation to the active +graphical user. If the user has an active graphical session managed +using systemd (e.g. GNOME), then the memory allocation will be used +to protect the sessions core processes (session.slice). This fork +adds dmem cgroup protection for focused applications. + +%prep +%autosetup -n %{name}-%{version} -p1 + +%conf +%meson -Dappmanagement=true + +%build +%meson_build + +%install +%meson_install + +%post +%systemd_post uresourced.service +%systemd_user_post uresourced.service + +%preun +%systemd_preun uresourced.service +%systemd_user_preun uresourced.service + +%postun +%systemd_postun uresourced.service +%systemd_user_postun uresourced.service + +%files +%license COPYING +%doc README +%doc NEWS.md +%config(noreplace) %{_sysconfdir}/uresourced.conf +%{_datadir}/dbus-1/system.d/org.freedesktop.UResourced.conf +%{_libexecdir}/uresourced +%{_libexecdir}/cgroupify +%{_unitdir}/* +%{_userunitdir}/* + +%changelog +* Fri May 22 2026 Kyle Gospodnetich - 1:0.5.4-1 +- Initial release diff --git a/anda/system/usbio-drivers/akmod/intel-usbio-kmod.spec b/anda/system/usbio-drivers/akmod/intel-usbio-kmod.spec index 39b2b41818..2d07e88742 100644 --- a/anda/system/usbio-drivers/akmod/intel-usbio-kmod.spec +++ b/anda/system/usbio-drivers/akmod/intel-usbio-kmod.spec @@ -8,7 +8,7 @@ Name: %{modulename}-kmod Summary: Kernel drivers for the USBIO Extension Version: 0^%{commit_date}git.%{shortcommit} -Release: 3%{?dist} +Release: 4%{?dist} License: GPL-2.0-only URL: https://github.com/intel/usbio-drivers Source0: %{url}/archive/%{commit}.tar.gz#/usbio-drivers-%{shortcommit}.tar.gz @@ -20,7 +20,7 @@ Requires: akmods Requires: akmod-intel-ipu6 Packager: Gilver E. -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description This package enables USBIO Extension drivers on Intel Alder Lake, Raptor Lake, Meteor Lake and Lunar Lake platforms. @@ -30,7 +30,7 @@ This package enables USBIO Extension drivers on Intel Alder Lake, Raptor Lake, M %{?kmodtool_check} # print kmodtool output for debugging purposes: -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %autosetup -p1 -n usbio-drivers-%{commit} rm -fr .github diff --git a/anda/system/uupd/anda.hcl b/anda/system/uupd/anda.hcl new file mode 100644 index 0000000000..5463a64b87 --- /dev/null +++ b/anda/system/uupd/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "uupd.spec" + } +} diff --git a/anda/system/uupd/update.rhai b/anda/system/uupd/update.rhai new file mode 100644 index 0000000000..133dc16bfb --- /dev/null +++ b/anda/system/uupd/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("ublue-os/uupd")); diff --git a/anda/system/uupd/uupd.spec b/anda/system/uupd/uupd.spec new file mode 100644 index 0000000000..2257ed9672 --- /dev/null +++ b/anda/system/uupd/uupd.spec @@ -0,0 +1,49 @@ +Name: uupd +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 +Source0: %url/archive/refs/tags/v%version.tar.gz +BuildRequires: golang +BuildRequires: go-rpm-macros +BuildRequires: systemd-rpm-macros +Recommends: bootc +Packager: Tulip Blossom + +%description +%{summary}. + +%gopkg +%global goipath github.com/ublue-os/uupd +%gometa -f + +%prep +%goprep + +%build +%define gomodulesmode GO111MODULE=on +%gobuild -o %{name} + +%install +install -Dpm0755 -t %{buildroot}%{_bindir}/ %{name} +install -Dpm0644 -t %{buildroot}%{_unitdir}/ %{name}.service %{name}.timer +install -Dpm0644 -t %{buildroot}%{_sysconfdir}/polkit-1/rules.d/%{name}.rules %{name}.rules + +%post +%systemd_post %{name}.timer + +%preun +%systemd_preun %{name}.timer + +%files +%license LICENSE +%doc README.md +%{_bindir}/%{name} +%{_unitdir}/%{name}.service +%{_unitdir}/%{name}.timer +%{_sysconfdir}/polkit-1/rules.d/%{name}.rules + +%changelog +* Sun Apr 19 2026 Tulip Blossom +- Initial commit diff --git a/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec b/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec index e4e05086e7..5dd52995f1 100644 --- a/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec +++ b/anda/system/uutils-coreutils-replace/uutils-coreutils-replace.spec @@ -5,8 +5,8 @@ %endif Name: uutils-coreutils-replace -Version: 0.6.0 -Release: 1%?dist +Version: 0.9.0 +Release: 1%{?dist} Summary: Cross-platform Rust rewrite of the GNU coreutils License: MIT URL: https://github.com/uutils/coreutils diff --git a/anda/system/v4l2-relayd/v4l2-relayd.spec b/anda/system/v4l2-relayd/v4l2-relayd.spec index edb5cc11e2..d3cd4661f2 100644 --- a/anda/system/v4l2-relayd/v4l2-relayd.spec +++ b/anda/system/v4l2-relayd/v4l2-relayd.spec @@ -28,8 +28,10 @@ This is used to relay the input GStreamer source to an output source or a V4L2 d %autosetup -p1 -n %{name}-%{commit} autoreconf --force --install --verbose -%build +%conf %configure + +%build %make_build %install @@ -40,12 +42,15 @@ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_presetdir}/95-v4l2-relayd.preset %post %systemd_post v4l2-relayd.service +%systemd_post v4l2-relayd@.service %preun %systemd_preun v4l2-relayd.service +%systemd_preun v4l2-relayd@.service %postun %systemd_postun_with_restart v4l2-relayd.service +%systemd_postun_with_restart v4l2-relayd@.service %files %license LICENSE @@ -54,7 +59,10 @@ install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_presetdir}/95-v4l2-relayd.preset %{_modprobedir}/v4l2-relayd.conf %{_modulesloaddir}/v4l2-relayd.conf %{_unitdir}/v4l2-relayd.service +%{_unitdir}/v4l2-relayd@.service %{_presetdir}/95-v4l2-relayd.preset +%{_systemdgeneratordir}/v4l2-relayd-generator + %changelog %autochangelog diff --git a/anda/system/v4l2loopback/akmod/v4l2loopback-kmod.spec b/anda/system/v4l2loopback/akmod/v4l2loopback-kmod.spec index 30da3ddc8e..32b9b572df 100644 --- a/anda/system/v4l2loopback/akmod/v4l2loopback-kmod.spec +++ b/anda/system/v4l2loopback/akmod/v4l2loopback-kmod.spec @@ -17,8 +17,8 @@ This module allows you to create \"virtual video devices.\" Normal \(v4l2\) appl Name: %{modulename}-kmod Summary: Kernel module (kmod) for V4L2 loopback devices -Version: 0.15.3 -Release: 2%?dist +Version: 0.15.4 +Release: 1%{?dist} License: GPL-2.0-or-later URL: https://github.com/v4l2loopback/v4l2loopback Source0: %{url}/archive/v%{version}/%{modulename}-%{version}.tar.gz @@ -35,14 +35,14 @@ Requires: kernel-devel Conflicts: dkms-%{modulename} Packager: Cappy Ishihara -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description %_description %prep %{?kmodtool_check} -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %setup -q -c (cd v4l2loopback-%{version} diff --git a/anda/system/v4l2loopback/dkms/dkms-v4l2loopback.spec b/anda/system/v4l2loopback/dkms/dkms-v4l2loopback.spec index 6aca781b0b..89b41f5f8c 100644 --- a/anda/system/v4l2loopback/dkms/dkms-v4l2loopback.spec +++ b/anda/system/v4l2loopback/dkms/dkms-v4l2loopback.spec @@ -4,8 +4,8 @@ This module allows you to create \"virtual video devices.\" Normal \(v4l2\) applications will read these devices as if they were ordinary video devices, but the video will not be read from e.g. a capture card but instead it is generated by another application.} Name: dkms-%{modulename} -Version: 0.15.3 -Release: 2%{?dist} +Version: 0.15.4 +Release: 1%{?dist} Summary: Utils for V4L2 loopback devices License: GPL-2.0-or-later URL: https://github.com/v4l2loopback/v4l2loopback diff --git a/anda/system/v4l2loopback/kmod-common/v4l2loopback.spec b/anda/system/v4l2loopback/kmod-common/v4l2loopback.spec index ac9a645b26..d99ca873a1 100644 --- a/anda/system/v4l2loopback/kmod-common/v4l2loopback.spec +++ b/anda/system/v4l2loopback/kmod-common/v4l2loopback.spec @@ -5,8 +5,8 @@ Name: v4l2loopback Summary: Utils for V4L2 loopback devices -Version: 0.15.3 -Release: 1%?dist +Version: 0.15.4 +Release: 1%{?dist} License: GPL-2.0-or-later URL: https://github.com/v4l2loopback/v4l2loopback Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -29,7 +29,7 @@ Allows you to create "virtual video devices". Normal (v4l2) applications will re %package akmod-modules Summary: Modules for Akmods -Requires: akmod-%{name} +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} BuildArch: noarch %description akmod-modules 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 c8c01fec7c..4266e597ea 100644 --- a/anda/system/vicinae/vicinae.spec +++ b/anda/system/vicinae/vicinae.spec @@ -1,23 +1,33 @@ +%if 0%{?fedora} > 43 +%global gcc_compat 15 +%global __cc gcc-%{gcc_compat} +%global __cxx g++-%{gcc_compat} +%endif + Name: vicinae -Version: 0.20.2 -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 Packager: metcya BuildRequires: cmake -BuildRequires: gcc-c++ +BuildRequires: gcc%{?gcc_compat} +BuildRequires: gcc%{?gcc_compat}-c++ +BuildRequires: kf6-syntax-highlighting-devel BuildRequires: cmake(absl) BuildRequires: openssl-devel BuildRequires: cmark-gfm-devel BuildRequires: cmake(glaze) BuildRequires: cmake(minizip) BuildRequires: cmake(Qt6) +BuildRequires: cmake(Qt6Quick) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6Keychain) BuildRequires: cmake(LayerShellQt) +BuildRequires: cmake(Qt6ShaderTools) BuildRequires: pkgconfig(libqalculate) BuildRequires: pkgconfig(protobuf) BuildRequires: pkgconfig(icu-uc) @@ -28,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 @@ -70,17 +82,28 @@ install -Dm 644 extra/%{name}-url-handler.desktop -t %{buildroot}%{_appsdir} %{_appsdir}/%{name}.desktop %{_appsdir}/%{name}-url-handler.desktop %{_hicolordir}/512x512/apps/%{name}.png -%{_sysconfdir}/chromium/native-messaging-hosts/com.vicinae.vicinae.json -%{_prefix}/lib/mozilla/native-messaging-hosts/com.vicinae.vicinae.json -%{_datadir}/%{name}/native-messaging-hosts/com.vicinae.vicinae.chromium.json.in -%{_datadir}/%{name}/native-messaging-hosts/com.vicinae.vicinae.firefox.json.in +%{_datadir}/%{name}/native-host/chromium/com.vicinae.vicinae.json +%{_datadir}/%{name}/native-host/com.vicinae.vicinae.chromium.json.in +%{_datadir}/%{name}/native-host/com.vicinae.vicinae.firefox.json.in +%{_datadir}/%{name}/native-host/firefox/com.vicinae.vicinae.json %{_libexecdir}/%{name}/vicinae-browser-link %{_libexecdir}/%{name}/vicinae-data-control-server %{_libexecdir}/%{name}/vicinae-server -%{_libexecdir}/%{name}/vicinae-snippet-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 %changelog +* Thu May 14 2026 Owen Zimmerman - 0.21.0-1 +- Update spec for 0.21.0 + +* Sat May 09 2026 Olivia - 0.20.15-2 +- fix missing files + * Wed Feb 18 2026 Jaiden Riordan - 0.19.8 - Fixup desktop file and xdgpp + * Fri Dec 26 2025 metcya - 0.17.3 -- Package vicinae \ No newline at end of file +- Package vicinae diff --git a/anda/system/wine-dxvk/wine-dxvk.spec b/anda/system/wine-dxvk/wine-dxvk.spec index fd7394229d..e6c122d762 100644 --- a/anda/system/wine-dxvk/wine-dxvk.spec +++ b/anda/system/wine-dxvk/wine-dxvk.spec @@ -3,7 +3,7 @@ %{?mingw_package_header} %global libdisplay_ver 0.4.0-dev -%global libdisplay_commit 275e6459c7ab1ddd4b125f28d0440716e4888078 +%global libdisplay_commit aa18e0b062ae9485c9188db12ff77122f51fc4d3 %global libdisplay_shortcommit %(c=%{libdisplay_commit}; echo ${c:0:7}) %ifarch x86_64 @@ -23,8 +23,8 @@ %global wine_lib_dir %{_datadir}/wine-staging/lib64 Name: terra-wine-dxvk -Version: 2.7.1 -Release: 1%?dist +Version: 3.0 +Release: 1%{?dist} Summary: Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine License: zlib AND MIT diff --git a/anda/system/wine/dev/wine-dev.spec b/anda/system/wine/dev/wine-dev.spec index 96b1c06bee..f05e147ff7 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.3 +%global ver wine-11.12 %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 @@ -19,7 +19,7 @@ # Also less confusing because it has a devel package Name: wine-dev Version: %(echo %{cleanver} | sed 's/-/~/g') -Release: 1%?dist +Release: 1%{?dist} Epoch: 1 Summary: WINE Is Not An Emulator - runs MS Windows programs License: LGPL-2.0-or-later diff --git a/anda/system/wine/staging/wine-staging.spec b/anda/system/wine/staging/wine-staging.spec index 90e0e50810..e951d47ae3 100644 --- a/anda/system/wine/staging/wine-staging.spec +++ b/anda/system/wine/staging/wine-staging.spec @@ -18,8 +18,8 @@ Name: wine-staging -Version: 11.3 -Release: 1%?dist +Version: 11.12 +Release: 1%{?dist} Epoch: 1 Summary: WINE Is Not An Emulator - runs MS Windows programs License: LGPL-2.0-or-later diff --git a/anda/system/wl-kmod/wl-kmod-031_replace_EXTRA_CFLAGS_EXTRA_LDFLAGS_with_ccflags-y_ldflags-y.patch b/anda/system/wl-kmod/wl-kmod-031_replace_EXTRA_CFLAGS_EXTRA_LDFLAGS_with_ccflags-y_ldflags-y.patch new file mode 100644 index 0000000000..a4077e907d --- /dev/null +++ b/anda/system/wl-kmod/wl-kmod-031_replace_EXTRA_CFLAGS_EXTRA_LDFLAGS_with_ccflags-y_ldflags-y.patch @@ -0,0 +1,63 @@ +From 26597004c02ca97d4ff620ed11091cf0dd68a92d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nicolas=20Vi=C3=A9ville?= +Date: Tue, 17 Jun 2025 14:34:24 +0200 +Subject: [PATCH] makefile: replace EXTRA_CFLAGS and EXTRA_LDFLAGS with + ccflags-y and ldflags-y from commit "kbuild: remove EXTRA_*FLAGS support" + (Masahiro Yamada, 6 Feb 2025) saying they have been deprecated since 2007 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Nicolas Viéville +--- + Makefile | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/Makefile b/Makefile +index 296162c..6e90afb 100644 +--- a/Makefile ++++ b/Makefile +@@ -131,15 +131,15 @@ GCCVERSION := $(subst $(space),$(empty),$(GCCVERSION)) + GCCVERSION := $(shell expr `echo $(GCCVERSION)` | cut -b1-3) + GE_49 := $(shell expr `echo $(GCCVERSION)` \>= 490) + +-EXTRA_CFLAGS := ++ccflags-y := + + ifeq ($(APIFINAL),CFG80211) +- EXTRA_CFLAGS += -DUSE_CFG80211 ++ ccflags-y += -DUSE_CFG80211 + $(info Using CFG80211 API) + endif + + ifeq ($(APIFINAL),WEXT) +- EXTRA_CFLAGS += -DUSE_IW ++ ccflags-y += -DUSE_IW + $(info Using Wireless Extension API) + endif + +@@ -151,15 +151,15 @@ wl-objs += src/wl/sys/wl_linux.o + wl-objs += src/wl/sys/wl_iw.o + wl-objs += src/wl/sys/wl_cfg80211_hybrid.o + +-EXTRA_CFLAGS += -I$(src)/src/include -I$(src)/src/common/include +-EXTRA_CFLAGS += -I$(src)/src/wl/sys -I$(src)/src/wl/phy -I$(src)/src/wl/ppr/include +-EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include +-#EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR ++ccflags-y += -I$(src)/src/include -I$(src)/src/common/include ++ccflags-y += -I$(src)/src/wl/sys -I$(src)/src/wl/phy -I$(src)/src/wl/ppr/include ++ccflags-y += -I$(src)/src/shared/bcmwifi/include ++#ccflags-y += -DBCMDBG_ASSERT -DBCMDBG_ERR + ifeq "$(GE_49)" "1" +-EXTRA_CFLAGS += -Wno-date-time ++ccflags-y += -Wno-date-time + endif + +-EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped ++ldflags-y := $(src)/lib/wlc_hybrid.o_shipped + + KBASE ?= /lib/modules/`uname -r` + KBUILD_DIR ?= $(KBASE)/build +-- +2.49.0 + diff --git a/anda/system/wl-kmod/wl-kmod-032_add_MODULE_DESCRIPTION_macro.patch b/anda/system/wl-kmod/wl-kmod-032_add_MODULE_DESCRIPTION_macro.patch new file mode 100644 index 0000000000..db2b9a7b4b --- /dev/null +++ b/anda/system/wl-kmod/wl-kmod-032_add_MODULE_DESCRIPTION_macro.patch @@ -0,0 +1,30 @@ +From 3b780d05b0f9a3b36196c0cfedb57cb2241f87f8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nicolas=20Vi=C3=A9ville?= +Date: Tue, 17 Jun 2025 14:49:31 +0200 +Subject: [PATCH] wl_linux.c: add MODULE_DESCRIPTION macro related to commit + "modpost: require a MODULE_DESCRIPTION()" (Jeff Johnson, 11 Mar 2025) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Nicolas Viéville +--- + src/wl/sys/wl_linux.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c +index 3c25ce4..0c08fe7 100644 +--- a/src/wl/sys/wl_linux.c ++++ b/src/wl/sys/wl_linux.c +@@ -164,6 +164,8 @@ static int wl_set_radio_block(void *data, bool blocked); + static void wl_report_radio_state(wl_info_t *wl); + #endif + ++// Related to commit "modpost: require a MODULE_DESCRIPTION()" (Jeff Johnson, 11 Mar 2025) ++MODULE_DESCRIPTION("Broadcom STA wireless driver [unmaintained, out-of-tree]"); + MODULE_LICENSE("MIXED/Proprietary"); + + static struct pci_device_id wl_id_table[] = +-- +2.49.0 + diff --git a/anda/system/wl-kmod/wl-kmod-033_disable_objtool_add_warning_unmaintained.patch b/anda/system/wl-kmod/wl-kmod-033_disable_objtool_add_warning_unmaintained.patch new file mode 100644 index 0000000000..c502c50a49 --- /dev/null +++ b/anda/system/wl-kmod/wl-kmod-033_disable_objtool_add_warning_unmaintained.patch @@ -0,0 +1,64 @@ +From 642f61c3ff369e5938eb6b70bf5cc9566a7e04ae Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nicolas=20Vi=C3=A9ville?= +Date: Tue, 17 Jun 2025 15:04:16 +0200 +Subject: [PATCH] =?UTF-8?q?wl=5Flinux.c=20and=20makefile:=20added=20warnin?= + =?UTF-8?q?g=20when=20the=20module=20is=20loaded=20about=20unmaintained=20?= + =?UTF-8?q?state=20of=20driver=20and=20its=20provided=20binary=20blob=20an?= + =?UTF-8?q?d=20possible=20security=20risks=20related=20to=20current=20Linu?= + =?UTF-8?q?x=20kernel=20security=20standards=20(e.g.=20IBT)=20-=20disablin?= + =?UTF-8?q?g=20objtool=20accordingly=20as=20well=20-=20thanks=20to=20Joan?= + =?UTF-8?q?=20Bruguera=20Mic=C3=B3?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Nicolas Viéville +--- + Makefile | 15 +++++++++++++++ + src/wl/sys/wl_linux.c | 4 ++++ + 2 files changed, 19 insertions(+) + +diff --git a/Makefile b/Makefile +index 6e90afb..c38c3ee 100644 +--- a/Makefile ++++ b/Makefile +@@ -169,6 +169,21 @@ MDEST_DIR ?= $(KBASE)/kernel/drivers/net/wireless + CROSS_TOOLS = /path/to/tools + CROSS_KBUILD_DIR = /path/to/kernel/tree + ++# Rel. commit "objtool: Always fail on fatal errors" (Josh Poimboeuf, 31 Mar 2025) ++# This is a *ugly* hack to disable objtool during the final processing of wl.o. ++# Since is embeds the proprietary blob (wlc_hybrid.o_shipped), objtool can't ++# process it, as it does not follow the requirements of current kernels, ++# including support for critical security features. As of Linux v6.15+, it causes ++# a build error. Disable it, at your own risk. Note the MIT license applies: ++# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++# SOFTWARE. ++wl.o: override objtool-enabled = ++ + all: + KBUILD_NOPEDANTIC=1 make -C $(KBUILD_DIR) M=`pwd` + +diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c +index 0c08fe7..59873e1 100644 +--- a/src/wl/sys/wl_linux.c ++++ b/src/wl/sys/wl_linux.c +@@ -922,6 +922,10 @@ static struct pci_driver wl_pci_driver __refdata = { + static int __init + wl_module_init(void) + { ++ printk(KERN_WARNING "You are using the Broadcom STA wireless driver, which is " ++ "not maintained and is incompatible with Linux kernel security mitigations. " ++ "It is heavily recommended to replace the hardware and remove the driver. " ++ "Proceed at your own risk!"); + int error = -ENODEV; + + #ifdef BCMDBG +-- +2.49.0 + diff --git a/anda/system/wl-kmod/wl-kmod-034_kernel_6.15_adaptation_replace_del_timer_with_timer_delete.patch b/anda/system/wl-kmod/wl-kmod-034_kernel_6.15_adaptation_replace_del_timer_with_timer_delete.patch new file mode 100644 index 0000000000..9f93394cdd --- /dev/null +++ b/anda/system/wl-kmod/wl-kmod-034_kernel_6.15_adaptation_replace_del_timer_with_timer_delete.patch @@ -0,0 +1,35 @@ +From ddfac506c7060e7514952c6ec340b34ee0273864 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nicolas=20Vi=C3=A9ville?= +Date: Tue, 17 Jun 2025 15:12:03 +0200 +Subject: [PATCH] wl_linux.c: fix compatibility with kernel >= 6.15 replace + del_timer function with timer_delete function - related to commit "treewide: + Switch/rename to timer_delete[_sync]()" (Thomas Gleixner, 5 Apr 2025) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Nicolas Viéville +--- + src/wl/sys/wl_linux.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c +index 59873e1..4512f73 100644 +--- a/src/wl/sys/wl_linux.c ++++ b/src/wl/sys/wl_linux.c +@@ -2501,7 +2501,12 @@ wl_del_timer(wl_info_t *wl, wl_timer_t *t) + ASSERT(t); + if (t->set) { + t->set = FALSE; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) ++ // Rel. commit "treewide: Switch/rename to timer_delete[_sync]()" (Thomas Gleixner, 5 Apr 2025) ++ if (!timer_delete(&t->timer)) { ++#else + if (!del_timer(&t->timer)) { ++#endif + #ifdef BCMDBG + WL_INFORM(("wl%d: Failed to delete timer %s\n", wl->unit, t->name)); + #endif +-- +2.49.0 + diff --git a/anda/system/wl-kmod/wl-kmod-035_kernel_6.17_adaptation_fix_functions_prototypes.patch b/anda/system/wl-kmod/wl-kmod-035_kernel_6.17_adaptation_fix_functions_prototypes.patch new file mode 100644 index 0000000000..dbfa45f8c0 --- /dev/null +++ b/anda/system/wl-kmod/wl-kmod-035_kernel_6.17_adaptation_fix_functions_prototypes.patch @@ -0,0 +1,102 @@ +From 564dc0af953480b3155266b388637e51fb8c6fc8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nicolas=20Vi=C3=A9ville?= +Date: Thu, 18 Sep 2025 16:01:05 +0200 +Subject: [PATCH] wl_cfg80211_hybrid.c: fix compatibility with kernel >= 6.17 + in funtions prototypes for wl_cfg80211_set_wiphy_params, + wl_cfg80211_set_tx_power and wl_cfg80211_get_tx_power - related to commit + "wifi: cfg80211/mac80211: Add support to get radio index" (Roopni Devanathan, + 15 Jun 2025) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Nicolas Viéville +--- + src/wl/sys/wl_cfg80211_hybrid.c | 34 +++++++++++++++++++++++++++++---- + 1 file changed, 30 insertions(+), 4 deletions(-) + +diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c +index 5a7f0c4..58f1023 100644 +--- a/src/wl/sys/wl_cfg80211_hybrid.c ++++ b/src/wl/sys/wl_cfg80211_hybrid.c +@@ -70,7 +70,12 @@ wl_cfg80211_scan(struct wiphy *wiphy, + static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, + struct cfg80211_scan_request *request); + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, int radio_idx, ++ u32 changed); ++#else + static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed); ++#endif + static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_ibss_params *params); + static s32 wl_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev); +@@ -89,7 +94,12 @@ static int wl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_connect_params *sme); + static s32 wl_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, u16 reason_code); + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 ++wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, ++ int radio_idx, ++ enum nl80211_tx_power_setting type, s32 dbm); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) + static s32 + wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + enum nl80211_tx_power_setting type, s32 dbm); +@@ -101,7 +111,10 @@ static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy, + enum tx_power_setting type, s32 dbm); + #endif + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, ++ int radio_idx, unsigned int link_id, s32 *dbm); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) + static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, s32 *dbm); + #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) +@@ -732,7 +745,12 @@ static s32 wl_set_retry(struct net_device *dev, u32 retry, bool l) + return err; + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, int radio_idx, ++ u32 changed) ++#else + static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed) ++#endif + { + struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); + struct net_device *ndev = wl_to_ndev(wl); +@@ -1167,7 +1185,12 @@ wl_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, u16 reason_c + return err; + } + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 ++wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, ++ int radio_idx, ++ enum nl80211_tx_power_setting type, s32 dbm) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) + static s32 + wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + enum nl80211_tx_power_setting type, s32 dbm) +@@ -1228,7 +1251,10 @@ wl_cfg80211_set_tx_power(struct wiphy *wiphy, enum tx_power_setting type, s32 db + return err; + } + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, ++ int radio_idx, unsigned int link_id, s32 *dbm) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) + static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, s32 *dbm) + #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) +-- +2.51.0 + diff --git a/anda/system/wl-kmod/wl-kmod.spec b/anda/system/wl-kmod/wl-kmod.spec index 3deac76d18..77f043179b 100644 --- a/anda/system/wl-kmod/wl-kmod.spec +++ b/anda/system/wl-kmod/wl-kmod.spec @@ -10,7 +10,7 @@ Name: wl-kmod Version: 6.30.223.271 -Release: 4%{?dist} +Release: 6%{?dist} Summary: Kernel module for Broadcom wireless devices Group: System Environment/Kernel License: Redistributable, no modification permitted @@ -27,7 +27,7 @@ Patch5: wl-kmod-007_kernel_4.8_add_cfg80211_scan_info_struct.patch Patch6: wl-kmod-008_fix_kernel_warnings.patch Patch7: wl-kmod-009_kernel_4.11_remove_last_rx_in_net_device_struct.patch Patch8: wl-kmod-010_kernel_4.12_add_cfg80211_roam_info_struct.patch -Patch9: wl-kmod-011_kernel_4.14_new_kernel_read_function_prototype.patch +Patch9: wl-kmod-011_kernel_4.14_new_kernel_read_function_prototype.patch Patch10: wl-kmod-012_kernel_4.15_new_timer.patch Patch11: wl-kmod-013_gcc8_fix_bounds_check_warnings.patch Patch12: wl-kmod-014_kernel_read_pos_increment_fix.patch @@ -47,13 +47,18 @@ Patch25: wl-kmod-027_wpa_supplicant-2.11_add_max_scan_ie_len.patch Patch26: wl-kmod-028_kernel_6.12_adaptation.patch Patch27: wl-kmod-029_kernel_6.13_adaptation.patch Patch28: wl-kmod-030_kernel_6.14_adaptation.patch +Patch29: wl-kmod-031_replace_EXTRA_CFLAGS_EXTRA_LDFLAGS_with_ccflags-y_ldflags-y.patch +Patch30: wl-kmod-032_add_MODULE_DESCRIPTION_macro.patch +Patch31: wl-kmod-033_disable_objtool_add_warning_unmaintained.patch +Patch32: wl-kmod-034_kernel_6.15_adaptation_replace_del_timer_with_timer_delete.patch +Patch33: wl-kmod-035_kernel_6.17_adaptation_fix_functions_prototypes.patch ExclusiveArch: i686 x86_64 BuildRequires: kmodtool BuildRequires: elfutils-libelf-devel %{!?kernels:BuildRequires: gcc, elfutils-libelf-devel} -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} --filterfile %{SOURCE11} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} --filterfile %{SOURCE11} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43142-, BCM43224-, BCM43225-, BCM43227-, BCM43228-, BCM4331-, BCM4360, and -BCM4352-. @@ -62,7 +67,7 @@ NOTE: Please read the LICENSE.txt file in the docs directory before using this d %prep %{?kmodtool_check} -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} --filterfile %{SOURCE11} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} --filterfile %{SOURCE11} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %setup -q -c -T mkdir %{name}-%{version}-src @@ -81,7 +86,7 @@ pushd %{name}-%{version}-src %patch -P 6 -p1 -b .fix_kernel_warnings %patch -P 7 -p1 -b .kernel_4.11_remove_last_rx_in_net_device_struct %patch -P 8 -p1 -b .kernel_4.12_add_cfg80211_roam_info_struct -%patch -P 9 -p1 -b .kernel_4.14_new_kernel_read_function_prototype +%patch -P 9 -p1 -b .kernel_4.14_new_kernel_read_function_prototype %patch -P 10 -p1 -b .kernel_4.15_new_timer %patch -P 11 -p1 -b .gcc8_fix_bounds_check_warnings %patch -P 12 -p1 -b .kernel_read_pos_increment_fix @@ -101,30 +106,296 @@ pushd %{name}-%{version}-src %patch -P 26 -p1 -b .kernel_6.12_adaptation %patch -P 27 -p1 -b .kernel_6.13_adaptation %patch -P 28 -p1 -b .kernel_6.14_adaptation +%patch -P 29 -p1 -b .EXTRA_CFLAGS_EXTRA_LDFLAGS +%patch -P 30 -p1 -b .MODULE_DESCRIPTION +%patch -P 31 -p1 -b .disable_objtool +%patch -P 32 -p1 -b .kernel_6.15_adaptation +%patch -P 33 -p1 -b .kernel_6.17_adaptation -### NOTE: These MUST be added to as new EL versions are released. -%if 0%{?rhel} == 9 +# Manual patching to build for RHEL - inspired by CentOS wl-kmod.spec +# Actually works for RHEL 6.x and 7.x +%if 0%{?rhel} == 6 + # Define kvl (linux) & kvr (release) for use in "patching" logical %define kvl %(echo %{kernel_versions} | cut -d"-" -f1) %define kvr %(echo %{kernel_versions} | cut -d"-" -f2 | cut -d"." -f1) -### Patching for various point release kernels. + # Perform "patching" edits to the src/wl/sys/wl_cfg80211_hybrid.c file. + # Note: Using this method, as opposed to making a patch, allows + # the src.rpm to be compiled under various point release kernels. + # Note: Use [ >][>=] where both >= & > are present + %if "%{kvl}" == "2.6.32" + %if %{kvr} >= 71 + # Apply to EL 6.0 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(3, 6, 0)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 131 + # Apply to EL 6.1 point release and later (2.6.32-131.0.15) + # > No changes currently needed for EL 6.1 point release + %endif + %if %{kvr} >= 220 + # Apply to EL 6.2 point release and later + # > No changes currently needed for EL 6.2 point release + %endif + %if %{kvr} >= 279 + # Apply to EL 6.3 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(2, 6, 36)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(2, 6, 37)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(2, 6, 38)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ > KERNEL_VERSION(2, 6, 39)/ > KERNEL_VERSION(2, 6, 31)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(2, 6, 39)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(3, 1, 0)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} == 358 + # Only apply to EL 6.4 point release + if $(grep -q "/lib/modules/kabi/kabi_whitelist" /usr/lib/rpm/redhat/find-requires.ksyms 2>/dev/null) ; then + %{__sed} -i 's@/lib/modules/kabi/kabi_whitelist@/lib/modules/kabi-current/kabi_whitelist@g' /usr/lib/rpm/redhat/find-requires.ksyms + fi + %endif + %if %{kvr} >= 358 + # Apply to EL 6.4 point release and later + # > No changes currently needed for EL 6.4 point release + %endif + %if %{kvr} == 431 + # Only apply to EL 6.5 point release + if $(grep -q "/lib/modules/kabi/kabi_whitelist" /usr/lib/rpm/redhat/find-requires.ksyms 2>/dev/null) ; then + %{__sed} -i 's@/lib/modules/kabi/kabi_whitelist@/lib/modules/kabi-current/kabi_whitelist@g' /usr/lib/rpm/redhat/find-requires.ksyms + fi + %endif + %if %{kvr} >= 431 + # Apply to EL 6.5 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(3, 8, 0)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(3, 9, 0)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} == 504 + # Only apply to EL 6.6 point release + if $(grep -q "/lib/modules/kabi/kabi_whitelist" /usr/lib/rpm/redhat/find-requires.ksyms 2>/dev/null) ; then + %{__sed} -i 's@/lib/modules/kabi/kabi_whitelist@/lib/modules/kabi-current/kabi_whitelist@g' /usr/lib/rpm/redhat/find-requires.ksyms + fi + %endif + %if %{kvr} >= 504 + # Apply to EL 6.6 point release and later + # > No changes currently needed for EL 6.6 point release + %endif + %if %{kvr} >= 573 + # Apply to EL 6.7 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(3, 11, 0)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ < KERNEL_VERSION(3, 16, 0)/ < KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ < KERNEL_VERSION(3, 18, 0)/ < KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(3, 15, 0)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 642 + # Apply to EL 6.8 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(4, 0, 0)/ >= KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ < KERNEL_VERSION(4,2,0)/ < KERNEL_VERSION(2, 6, 32)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 696 + # Apply to EL 6.9 point release and later + # > No changes currently needed for EL 6.9 point release + %endif + %if %{kvr} >= 754 + # Apply to EL 6.10 point release and later + # > No changes currently needed for EL 6.10 point release + %endif + %endif +%endif +%if 0%{?rhel} == 7 + # Define kvl (linux) & kvr (release) for use in "patching" logical + %define kvl %(echo %{kernel_versions} | cut -d"-" -f1) + %define kvr %(echo %{kernel_versions} | cut -d"-" -f2 | cut -d"." -f1) + + # Perform "patching" edits to the src/wl/sys/wl_cfg80211_hybrid.c file. + # Note: Using this method, as opposed to making a patch, allows + # the src.rpm to be compiled under various point release kernels. + # Note: Use [ >][>=] where both >= & > are present + %if "%{kvl}" == "3.10.0" + %if %{kvr} == 123 + # Only apply to EL 7.0 point release + if $(grep -q "/lib/modules/kabi/kabi_whitelist" /usr/lib/rpm/redhat/find-requires.ksyms 2>/dev/null) ; then + %{__sed} -i 's@/lib/modules/kabi/kabi_whitelist@/lib/modules/kabi-rhel70/kabi_whitelist@g' /usr/lib/rpm/redhat/find-requires.ksyms + fi + %endif + %if %{kvr} >= 123 + # Apply to EL 7.0 point release and later + # > No changes currently needed for EL 7.0 point release + %endif + %if %{kvr} >= 229 + # Apply to EL 7.1 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(3, 11, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(3, 15, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ < KERNEL_VERSION(3, 16, 0)/ < KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 327 + # Apply to EL 7.2 point release and later + %{__sed} -i 's/ < KERNEL_VERSION(3, 18, 0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(4, 0, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 514 + # Apply to EL 7.3 point release and later + %{__sed} -i 's/ < KERNEL_VERSION(4,2,0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(4, 7, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 693 + # Apply to EL 7.4 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(4, 8, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 862 + # Apply to EL 7.5 point release and later + %{__sed} -i 's/ <= KERNEL_VERSION(4, 10, 0)/ <= KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_linux.c + %{__sed} -i 's/ >= KERNEL_VERSION(4, 11, 0)/ >= KERNEL_VERSION(3, 10, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ < KERNEL_VERSION(4, 12, 0)/ < KERNEL_VERSION(3, 10, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(4, 12, 0)/ >= KERNEL_VERSION(3, 10, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 957 + # Apply to EL 7.6 point release and later + # > No changes currently needed for EL 7.6 point release + %endif + %if %{kvr} >= 1062 + # Apply to EL 7.7 point release and later + %{__sed} -i -e 's@__attribute__((__fallthrough__));.*@/* fall through */@g' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 1127 + # Apply to EL 7.8 point release and later + # > No changes currently needed for EL 7.8 point release + %endif + %if %{kvr} >= 1160 + # Apply to EL 7.9 point release and later + # > No changes currently needed for EL 7.9 point release + %endif + %endif +%endif +%if 0%{?rhel} == 8 + # Define kvl (linux) & kvr (release) for use in "patching" logical + %define kvl %(echo %{kernel_versions} | cut -d"-" -f1) + %define kvr %(echo %{kernel_versions} | cut -d"-" -f2 | cut -d"." -f1) + + # Perform "patching" edits to the src/wl/sys/wl_cfg80211_hybrid.c file. + # Note: Using this method, as opposed to making a patch, allows + # the src.rpm to be compiled under various point release kernels. + # Note: Use [ >][>=] where both >= & > are present + %if "%{kvl}" == "4.18.0" + %if %{kvr} == 80 + # Only apply to EL 8.0 point release + # > No changes currently needed for EL 8.0 point release + %endif + %if %{kvr} >= 80 + # Apply to EL 8.0 point release and later + # > No changes currently needed for EL 8.0 point release + %endif + %if %{kvr} >= 147 + # Apply to EL 8.1 point release and later + # > No changes currently needed for EL 8.1 point release + %endif + %if %{kvr} >= 193 + # Apply to EL 8.2 point release and later + # > No changes currently needed for EL 8.2 point release + %endif + %if %{kvr} >= 240 + # Apply to EL 8.3 point release and later + # > No changes currently needed for EL 8.3 point release + %endif + %if %{kvr} >= 305 + # Apply to EL 8.4 point release and later + # > No changes currently needed for EL 8.4 point release + %endif + %if %{kvr} >= 348 + # Apply to EL 8.5 point release and later + # > No changes currently needed for EL 8.5 point release + %endif + %if %{kvr} >= 372 + # Apply to EL 8.6 point release and later + # > No changes currently needed for EL 8.6 point release + %endif + %if %{kvr} >= 425 + # Apply to EL 8.7 point release and later + # > No changes currently needed for EL 8.7 point release + %endif + %if %{kvr} >= 477 + # Apply to EL 8.8 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(6, 0, 0)/ >= KERNEL_VERSION(4, 18, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(6, 1, 0)/ >= KERNEL_VERSION(4, 18, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %if %{kvr} >= 513 + # Apply to EL 8.9 point release and later + # > No changes currently needed for EL 8.9 point release + %endif + %if %{kvr} >= 553 + # Apply to EL 8.10 point release and later + # > No changes currently needed for EL 8.10 point release + %endif + %endif +%endif +%if 0%{?rhel} == 9 + # Define kvl (linux) & kvr (release) for use in "patching" logical + %define kvl %(echo %{kernel_versions} | cut -d"-" -f1) + %define kvr %(echo %{kernel_versions} | cut -d"-" -f2 | cut -d"." -f1) + + # Perform "patching" edits to the src/wl/sys/wl_cfg80211_hybrid.c file. + # Note: Using this method, as opposed to making a patch, allows + # the src.rpm to be compiled under various point release kernels. + # Note: Use [ >][>=] where both >= & > are present %if "%{kvl}" == "5.14.0" %if %{kvr} == 70 + # Only apply to EL 9.0 point release + # > No changes currently needed for EL 9.0 point release %endif %if %{kvr} >= 70 + # Apply to EL 9.0 point release and later %{__sed} -i 's/ < KERNEL_VERSION(5, 17, 0)/ < KERNEL_VERSION(5, 14, 0)/g' src/wl/sys/wl_iw.h %{__sed} -i 's/ >= KERNEL_VERSION(5, 17, 0)/ >= KERNEL_VERSION(5, 14, 0)/g' src/wl/sys/wl_linux.c %endif %if %{kvr} >= 162 + # Apply to EL 9.1 point release and later + # > No changes currently needed for EL 9.1 point release %endif %if %{kvr} >= 284 + # Apply to EL 9.2 point release and later + # > No changes currently needed for EL 9.2 point release %endif %if %{kvr} >= 362 + # Apply to EL 9.3 point release and later %{__sed} -i 's/ >= KERNEL_VERSION(6, [01], 0)/ >= KERNEL_VERSION(5, 14, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c %endif %if %{kvr} >= 427 + # Apply to EL 9.4 point release and later + # > No changes currently needed for EL 9.4 point release %endif %if %{kvr} >= 503 + # Apply to EL 9.5 point release and later + # > No changes currently needed for EL 9.5 point release + %endif + %if %{kvr} >= 570 + # Apply to EL 9.6 point release and later + # > No changes currently needed for EL 9.6 point release + %endif + %if %{kvr} >= 611 + # Apply to EL 9.7 point release and later + %{__sed} -i 's/ < KERNEL_VERSION(6, 13, 0)/ < KERNEL_VERSION(5, 14, 0)/g' src/include/linuxver.h + %{__sed} -i 's/ >= KERNEL_VERSION(6, 14, 0)/ >= KERNEL_VERSION(5, 14, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c + %{__sed} -i 's/ >= KERNEL_VERSION(6, 17, 0)/ >= KERNEL_VERSION(5, 14, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c + %endif + %endif +%endif +%if 0%{?rhel} == 10 + # Define kvl (linux) & kvr (release) for use in "patching" logical + %define kvl %(echo %{kernel_versions} | cut -d"-" -f1) + %define kvr %(echo %{kernel_versions} | cut -d"-" -f2 | cut -d"." -f1) + + # Perform "patching" edits to the src/wl/sys/wl_cfg80211_hybrid.c file. + # Note: Using this method, as opposed to making a patch, allows + # the src.rpm to be compiled under various point release kernels. + # Note: Use [ >][>=] where both >= & > are present + %if "%{kvl}" == "6.12.0" + %if %{kvr} == 55 + # Only apply to EL 10.0 point release + # > No changes currently needed for EL 10.0 point release + %endif + %if %{kvr} >= 55 + # Apply to EL 10.0 point release and later + %{__sed} -i 's/ < KERNEL_VERSION(6, 13, 0)/ < KERNEL_VERSION(6, 12, 0)/g' src/include/linuxver.h + %endif + %if %{kvr} >= 124 + # Apply to EL 10.1 point release and later + %{__sed} -i 's/ >= KERNEL_VERSION(6, 14, 0)/ >= KERNEL_VERSION(6, 12, 0)/g' src/wl/sys/wl_cfg80211_hybrid.c %endif %endif %endif diff --git a/anda/system/wluma/wluma.spec b/anda/system/wluma/wluma.spec index 55eb07ede3..7a9aab489c 100644 --- a/anda/system/wluma/wluma.spec +++ b/anda/system/wluma/wluma.spec @@ -1,12 +1,12 @@ Name: wluma -Version: 4.10.0 -Release: 2%?dist +Version: 4.11.1 +Release: 1%{?dist} Summary: Automatic brightness adjustment based on screen contents and ALS URL: https://github.com/max-baz/wluma Source0: %{url}/archive/refs/tags/%{version}.tar.gz License: ISC BuildRequires: cargo anda-srpm-macros cargo-rpm-macros mold v4l-utils libv4l-devel rust-libudev-devel vulkan-loader-devel dbus-devel clang systemd-rpm-macros -Packager: Its-J +Packager: Its-J %description %{summary}. @@ -45,8 +45,11 @@ install -Dm 644 config.toml %{buildroot}%{_datadir}/%{name}/config.toml %{_datadir}/%{name}/config.toml %changelog +* Tue Apr 14 2026 Its-J +- Add email to my previous contributor attributions + * Sat Nov 29 2025 metcya - Package systemd service, example config, and udev rules -* Fri Nov 28 2025 Its-J +* Fri Nov 28 2025 Its-J - Package wluma diff --git a/anda/system/xbps/xbps.spec b/anda/system/xbps/xbps.spec index 99c8a0d842..ef1df35a06 100644 --- a/anda/system/xbps/xbps.spec +++ b/anda/system/xbps/xbps.spec @@ -37,8 +37,10 @@ featureful and portable as much as possible. %prep %autosetup -%build +%conf %configure + +%build %make_build %install diff --git a/anda/system/xone/nightly/akmod/xone-nightly-kmod.spec b/anda/system/xone/nightly/akmod/xone-nightly-kmod.spec index 223ba82bc4..68188620f7 100644 --- a/anda/system/xone/nightly/akmod/xone-nightly-kmod.spec +++ b/anda/system/xone/nightly/akmod/xone-nightly-kmod.spec @@ -1,6 +1,6 @@ -%global commit a16304ccdecc5bfc7aafdeb759c706da314d15fa +%global commit f2aa9fe01103d7600553b505b298ff0bd47ff280 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260228 +%global commitdate 20260314 %global ver 0.5.7 %define buildforkernels akmod %global debug_package %{nil} @@ -8,7 +8,7 @@ Name: %{modulename}-nightly-kmod Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 1%?dist +Release: 3%{?dist} %if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 Epoch: 1 %endif @@ -28,14 +28,14 @@ Obsoletes: %{name} < %{?epoch:%{epoch}:}3.0^20250419git.c682b0c %endif Packager: Gilver E. -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description Linux kernel driver for Xbox One and Xbox Series X|S accessories. %prep %{?kmodtool_check} -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %autosetup -p1 -n %{modulename}-%{commit} diff --git a/anda/system/xone/nightly/dkms/dkms-xone-nightly.spec b/anda/system/xone/nightly/dkms/dkms-xone-nightly.spec index 3f8b96d254..b4de82ea2c 100644 --- a/anda/system/xone/nightly/dkms/dkms-xone-nightly.spec +++ b/anda/system/xone/nightly/dkms/dkms-xone-nightly.spec @@ -1,13 +1,13 @@ -%global commit a16304ccdecc5bfc7aafdeb759c706da314d15fa +%global commit f2aa9fe01103d7600553b505b298ff0bd47ff280 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260228 +%global commitdate 20260314 %global ver 0.5.7 %global debug_package %{nil} %global modulename xone Name: dkms-%{modulename}-nightly Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 1%?dist +Release: 2%{?dist} %if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 Epoch: 1 %endif diff --git a/anda/system/xone/nightly/kmod-common/xone-nightly.spec b/anda/system/xone/nightly/kmod-common/xone-nightly.spec index f64bd3b8eb..8625122ca2 100644 --- a/anda/system/xone/nightly/kmod-common/xone-nightly.spec +++ b/anda/system/xone/nightly/kmod-common/xone-nightly.spec @@ -1,6 +1,6 @@ -%global commit a16304ccdecc5bfc7aafdeb759c706da314d15fa +%global commit f2aa9fe01103d7600553b505b298ff0bd47ff280 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260228 +%global commitdate 20260314 %global ver 0.5.7 %global modulename xone %global _dracutconfdir %{_prefix}/lib/dracut/dracut.conf.d @@ -11,7 +11,7 @@ Name: xone-nightly Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 1%?dist +Release: 2%{?dist} %if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 Epoch: 1 %endif @@ -45,7 +45,7 @@ Linux kernel driver for Xbox One and Xbox Series X|S accessories common files. %package akmod-modules Summary: Modules for Akmods -Requires: akmod-%{name} +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} BuildArch: noarch %description akmod-modules diff --git a/anda/system/xone/stable/akmod/xone-kmod.spec b/anda/system/xone/stable/akmod/xone-kmod.spec index 319fd965e6..39651ecf4b 100644 --- a/anda/system/xone/stable/akmod/xone-kmod.spec +++ b/anda/system/xone/stable/akmod/xone-kmod.spec @@ -3,8 +3,8 @@ %global modulename xone Name: %{modulename}-kmod -Version: 0.5.7 -Release: 1%?dist +Version: 0.5.8 +Release: 3%{?dist} %if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 Epoch: 2 %endif @@ -24,14 +24,14 @@ Obsoletes: %{name} < %{?epoch:%{epoch}:}0.3.4 %endif Packager: Gilver E. -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description Linux kernel driver for Xbox One and Xbox Series X|S accessories. %prep %{?kmodtool_check} -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %autosetup -p1 -n %{modulename}-%{version} diff --git a/anda/system/xone/stable/dkms/dkms-xone.spec b/anda/system/xone/stable/dkms/dkms-xone.spec index 57cbc4cc8b..2c86dfe891 100644 --- a/anda/system/xone/stable/dkms/dkms-xone.spec +++ b/anda/system/xone/stable/dkms/dkms-xone.spec @@ -2,8 +2,8 @@ %global modulename xone Name: dkms-%{modulename} -Version: 0.5.7 -Release: 1%?dist +Version: 0.5.8 +Release: 2%{?dist} %if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 Epoch: 2 %endif diff --git a/anda/system/xone/stable/kmod-common/xone.spec b/anda/system/xone/stable/kmod-common/xone.spec index 47a5ecafc7..d219664c9e 100644 --- a/anda/system/xone/stable/kmod-common/xone.spec +++ b/anda/system/xone/stable/kmod-common/xone.spec @@ -5,8 +5,8 @@ %global firmware_hash3 e2710daf81e7b36d35985348f68a81d18bc537a2b0c508ffdfde6ac3eae1bad7 Name: xone -Version: 0.5.7 -Release: 1%?dist +Version: 0.5.8 +Release: 2%{?dist} %if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 Epoch: 2 %endif @@ -44,7 +44,7 @@ Linux kernel driver for Xbox One and Xbox Series X|S accessories common files. %package akmod-modules Summary: Modules for Akmods -Requires: akmod-%{name} +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} BuildArch: noarch %description akmod-modules diff --git a/anda/system/xonedo/nightly/akmod/anda.hcl b/anda/system/xonedo/nightly/akmod/anda.hcl new file mode 100644 index 0000000000..ca1a552d4b --- /dev/null +++ b/anda/system/xonedo/nightly/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "xonedo-nightly-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/xonedo/nightly/akmod/update.rhai b/anda/system/xonedo/nightly/akmod/update.rhai new file mode 100644 index 0000000000..943bab2262 --- /dev/null +++ b/anda/system/xonedo/nightly/akmod/update.rhai @@ -0,0 +1,13 @@ +let c = sh("cat anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} + diff --git a/anda/system/xonedo/nightly/akmod/xonedo-nightly-kmod.spec b/anda/system/xonedo/nightly/akmod/xonedo-nightly-kmod.spec new file mode 100644 index 0000000000..61e2d361b3 --- /dev/null +++ b/anda/system/xonedo/nightly/akmod/xonedo-nightly-kmod.spec @@ -0,0 +1,69 @@ +%global commit 982cbcb019ae4d2bee5ae69385223409ee555c88 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260315 +%global ver 0.5.7 +%define buildforkernels akmod +%global debug_package %{nil} +%global modulename xonedo + +Name: %{modulename}-nightly-kmod +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 4%{?dist} +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Epoch: 1 +%endif +Summary: Linux kernel driver for Xbox One and Xbox Series X|S accessories +License: GPL-2.0-or-later +URL: https://github.com/OpenGamingCollective/xonedo +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +BuildRequires: kmodtool +BuildRequires: systemd-rpm-macros +Requires: %{modulename}-nightly = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-nightly-akmod-modules = %{?epoch:%{epoch}:}%{version} +Requires: akmods +Conflicts: dkms-%{modulename}-nightly +Conflicts: %{modulename}-kmod +Conflicts: dkms-xone-nightly +Conflicts: xone-kmod +Provides: %{modulename}-nightly-kmod +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Obsoletes: %{name} < %{?epoch:%{epoch}:}3.0^20250419git.c682b0c +%endif +Packager: Kyle Gospodnetich + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Linux kernel driver for Xbox One and Xbox Series X|S accessories. Compatible with the xpad kernel module. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n %{modulename}-%{commit} + +find . -type f -name '*.c' -exec sed -i "s/#VERSION#/%{version}/" {} \; + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr auth bus driver transport Kbuild _kmod_build_${kernel_version%%___*} +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build -C "${kernel_version##*___}" M=$(pwd) VERSION="v%{version}" modules + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Sun Mar 15 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/xonedo/nightly/dkms/anda.hcl b/anda/system/xonedo/nightly/dkms/anda.hcl new file mode 100644 index 0000000000..df85fd67ea --- /dev/null +++ b/anda/system/xonedo/nightly/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches=["x86_64"] + rpm { + spec = "dkms-xonedo-nightly.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/xonedo/nightly/dkms/dkms-xonedo-nightly.spec b/anda/system/xonedo/nightly/dkms/dkms-xonedo-nightly.spec new file mode 100644 index 0000000000..134a1aeefb --- /dev/null +++ b/anda/system/xonedo/nightly/dkms/dkms-xonedo-nightly.spec @@ -0,0 +1,75 @@ +%global commit 982cbcb019ae4d2bee5ae69385223409ee555c88 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260314 +%global ver 0.5.7 +%global debug_package %{nil} +%global modulename xonedo + +Name: dkms-%{modulename}-nightly +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Epoch: 1 +%endif +Summary: Linux kernel driver for Xbox One and Xbox Series X|S accessories +License: GPL-2.0-or-later +URL: https://github.com/OpenGamingCollective/xonedo +Source0: %{url}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz +Source1: no-weak-modules.conf +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: %{modulename}-nightly = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename}-nightly +Conflicts: %{modulename}-kmod +Conflicts: dkms-xone-nightly +Conflicts: dkms-xone +Provides: %{modulename}-nightly-kmod = %{?epoch:%{epoch}:}%{version} +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Obsoletes: dkms-%{modulename} < %{?epoch:%{epoch}:}3.0^20250419git.c682b0c +%endif +BuildArch: noarch +Packager: Kyle Gospodnetich + +%description +Linux kernel driver for Xbox One and Xbox Series X|S accessories. Compatible with the xpad kernel module. + +%prep +%autosetup -p1 -n %{modulename}-%{commit} + +sed -i \ + -e 's|#VERSION#|%{version}|g' \ + -e 's|kernel/drivers/input/joystick|extra|g' \ + dkms.conf + +find . -type f -name '*.c' -exec sed -i "s/#VERSION#/%{version}/" {} \; + +%install +# Create empty tree: +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr auth bus driver transport Kbuild dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%if 0%{?fedora} +# Do not enable weak modules support in Fedora (no kABI): +install -Dpm644 %{SOURCE1} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 || : + +%preun +# Remove all versions from DKMS registry: +dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : + +%files +%{_usrsrc}/%{modulename}-%{version} +%if 0%{?fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Sun Mar 15 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/xonedo/nightly/dkms/no-weak-modules.conf b/anda/system/xonedo/nightly/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/xonedo/nightly/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/xonedo/nightly/dkms/update.rhai b/anda/system/xonedo/nightly/dkms/update.rhai new file mode 100644 index 0000000000..943bab2262 --- /dev/null +++ b/anda/system/xonedo/nightly/dkms/update.rhai @@ -0,0 +1,13 @@ +let c = sh("cat anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} + diff --git a/anda/system/xonedo/nightly/kmod-common/anda.hcl b/anda/system/xonedo/nightly/kmod-common/anda.hcl new file mode 100644 index 0000000000..b008b1a957 --- /dev/null +++ b/anda/system/xonedo/nightly/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "xonedo-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/xonedo/nightly/kmod-common/modules.conf b/anda/system/xonedo/nightly/kmod-common/modules.conf new file mode 100644 index 0000000000..776e9eff4f --- /dev/null +++ b/anda/system/xonedo/nightly/kmod-common/modules.conf @@ -0,0 +1 @@ +add_drivers+=" snd-pcm snd-seq " diff --git a/anda/system/xonedo/nightly/kmod-common/update.rhai b/anda/system/xonedo/nightly/kmod-common/update.rhai new file mode 100644 index 0000000000..570d7773b9 --- /dev/null +++ b/anda/system/xonedo/nightly/kmod-common/update.rhai @@ -0,0 +1,8 @@ +rpm.global("commit", gh_commit("OpenGamingCollective/xonedo")); +if rpm.changed() { + rpm.release(); + rpm.global("commitdate", date()); + let v = gh_tag("OpenGamingCollective/xonedo"); + v.crop(1); + rpm.global("relver", v); +} diff --git a/anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec b/anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec new file mode 100644 index 0000000000..d850fa0598 --- /dev/null +++ b/anda/system/xonedo/nightly/kmod-common/xonedo-nightly.spec @@ -0,0 +1,139 @@ +%global commit 982cbcb019ae4d2bee5ae69385223409ee555c88 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260314 +%global relver 0.5.7-ogc1 +%global ver %(echo %{relver} | sed 's/-/^/g') +%global modulename xonedo +%global _dracutconfdir %{_prefix}/lib/dracut/dracut.conf.d +%global firmware_hash0 080ce4091e53a4ef3e5fe29939f51fd91f46d6a88be6d67eb6e99a5723b3a223 +%global firmware_hash1 48084d9fa53b9bb04358f3bb127b7495dc8f7bb0b3ca1437bd24ef2b6eabdf66 +%global firmware_hash2 0023a7bae02974834500c665a281e25b1ba52c9226c84989f9084fa5ce591d9b +%global firmware_hash3 e2710daf81e7b36d35985348f68a81d18bc537a2b0c508ffdfde6ac3eae1bad7 + +Name: xonedo-nightly +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 3%{?dist} +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Epoch: 1 +%endif +Summary: Linux kernel driver for Xbox One and Xbox Series X|S accessories common files +License: GPL-2.0-or-later +URL: https://github.com/OpenGamingCollective/xonedo +Source0: %{url}/archive/%{commit}.tar.gz#/xone-%{shortcommit}.tar.gz +Source1: modules.conf +Source2: https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/03/2ea9591b-f751-442c-80ce-8f4692cdc67b_6b555a3a288153cf04aec6e03cba360afe2fce34.cab +Source3: https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab +Source4: https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/06/1dbd7cb4-53bc-4857-a5b0-5955c8acaf71_9081931e7d664429a93ffda0db41b7545b7ac257.cab +Source5: https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/08/aeff215c-3bc4-4d36-a3ea-e14bfa8fa9d2_e58550c4f74a27e51e5cb6868b10ff633fa77164.cab +### Microsoft TOU copy: +Source6: https://www.microsoft.com/en-us/legal/terms-of-use +BuildRequires: cabextract +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: wireless-regdb +Requires: %{name}-firmware = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Requires(post): dracut +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +Conflicts: xone +Conflicts: %{modulename} +Conflicts: xow <= 0.5 +Obsoletes: xow <= 0.5 +BuildArch: noarch +Packager: Kyle Gospodnetich + +%description +Linux kernel driver for Xbox One and Xbox Series X|S accessories common files. Compatible with the xpad kernel module. + +%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. + +%package firmware +Summary: Firmware for the XBox One controller dongle +License: Proprietary +Requires: wireless-regdb +Conflicts: xone-firmware +BuildArch: noarch + +%description firmware +Proprietary firmware for XBox controller dongles. + +%prep +%autosetup -p1 -n %{modulename}-%{commit} +/usr/bin/sed -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' dkms.conf > %{modulename}.conf + +### Firmware: +# Some of the .bin files have the same name so put them in subdirs +mkdir firm{0..4} + +pushd firm0 +cabextract -F FW_ACC_00U.bin %{SOURCE2} +echo %{firmware_hash0} FW_ACC_00U.bin | sha256sum -c +popd + +pushd firm1 +cabextract -F FW_ACC_00U.bin %{SOURCE3} +echo %{firmware_hash1} FW_ACC_00U.bin | sha256sum -c +popd + +pushd firm2 +cabextract -F FW_ACC_CL.bin %{SOURCE4} +echo %{firmware_hash2} FW_ACC_CL.bin | sha256sum -c +popd + +pushd firm3 +cabextract -F FW_ACC_BR.bin %{SOURCE5} +echo %{firmware_hash3} FW_ACC_BR.bin | sha256sum -c +popd + +%install +# xone-gip-headset module should have the snd-pcm and snd-seq modules be preloaded or it will give errors on boot due to injecting late. +# It still loads afterwards, but this error is easily fixable by just loading the modules in the initramfs. +install -Dpm644 %{SOURCE1} %{buildroot}%{_dracutconfdir}/60-%{modulename}-snd.conf + +# Blacklist: +install -Dpm644 install/modprobe.conf %{buildroot}%{_modprobedir}/60-%{modulename}.conf + +# Firmware: +install -Dpm644 firm0/FW_ACC_00U.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_02e6.bin +install -Dpm644 firm1/FW_ACC_00U.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_02fe.bin +install -Dpm644 firm2/FW_ACC_CL.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_02f9.bin +install -Dpm644 firm3/FW_ACC_BR.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_091e.bin + +# Akmods modules +install -Dm644 %{modulename}.conf -t %{buildroot}%{_modulesloaddir} + +# TOU file +/usr/bin/cp %{SOURCE6} . + +%files +%license LICENSE +%doc README.md +%{_modprobedir}/60-%{modulename}.conf +%{_dracutconfdir}/60-%{modulename}-snd.conf + +%files akmod-modules +%{_modulesloaddir}/%{modulename}.conf + +%files firmware +%license terms-of-use +%{_prefix}/lib/firmware/xone_dongle_02e6.bin +%{_prefix}/lib/firmware/xone_dongle_02fe.bin +%{_prefix}/lib/firmware/xone_dongle_02f9.bin +%{_prefix}/lib/firmware/xone_dongle_091e.bin + +%postun +/usr/bin/dracut -f || : + +%post firmware +echo "The firmware for the wireless dongle is subject to Microsoft's Terms of Use:" +echo 'https://www.microsoft.com/en-us/legal/terms-of-use' + +%changelog +* Sun Mar 15 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/xonedo/stable/akmod/anda.hcl b/anda/system/xonedo/stable/akmod/anda.hcl new file mode 100644 index 0000000000..4d2bfffeef --- /dev/null +++ b/anda/system/xonedo/stable/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "xonedo-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/xonedo/stable/akmod/update.rhai b/anda/system/xonedo/stable/akmod/update.rhai new file mode 100644 index 0000000000..747989c246 --- /dev/null +++ b/anda/system/xonedo/stable/akmod/update.rhai @@ -0,0 +1,4 @@ +import "andax/bump_extras.rhai" as bump; + +rpm.version(bump::madoguchi("xonedo", labels.branch)); + diff --git a/anda/system/xonedo/stable/akmod/xonedo-kmod.spec b/anda/system/xonedo/stable/akmod/xonedo-kmod.spec new file mode 100644 index 0000000000..36d0950055 --- /dev/null +++ b/anda/system/xonedo/stable/akmod/xonedo-kmod.spec @@ -0,0 +1,66 @@ +%define buildforkernels akmod +%global debug_package %{nil} +%global modulename xonedo +%global ogcversion 1 + +Name: %{modulename}-kmod +Version: 0.5.7 +Release: 4%{?dist} +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Epoch: 2 +%endif +Summary: Linux kernel driver for Xbox One and Xbox Series X|S accessories +License: GPL-2.0-or-later +URL: https://github.com/OpenGamingCollective/xonedo +Source0: %{url}/archive/refs/tags/v%{version}-ogc%{ogcversion}.tar.gz +BuildRequires: kmodtool +BuildRequires: systemd-rpm-macros +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Requires: akmods +Conflicts: dkms-%{modulename} +Conflicts: %{modulename}-nightly-kmod +Conflicts: dkms-xone +Conflicts: xone-nightly-kmod +Provides: %{modulename}-kmod +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Obsoletes: %{name} < %{?epoch:%{epoch}:}0.3.4 +%endif +Packager: Kyle Gospodnetich + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Linux kernel driver for Xbox One and Xbox Series X|S accessories. Compatible with the xpad kernel module. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n %{modulename}-%{version}-ogc%{ogcversion} + +find . -type f -name '*.c' -exec sed -i "s/#VERSION#/%{version}/" {} \; + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr auth bus driver transport Kbuild _kmod_build_${kernel_version%%___*} +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build -C "${kernel_version##*___}" M=$(pwd) VERSION="v%{version}" modules + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Sun Mar 15 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/xonedo/stable/dkms/anda.hcl b/anda/system/xonedo/stable/dkms/anda.hcl new file mode 100644 index 0000000000..1b3bd131a8 --- /dev/null +++ b/anda/system/xonedo/stable/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches=["x86_64"] + rpm { + spec = "dkms-xonedo.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/xonedo/stable/dkms/dkms-xonedo.spec b/anda/system/xonedo/stable/dkms/dkms-xonedo.spec new file mode 100644 index 0000000000..f6da01c6e2 --- /dev/null +++ b/anda/system/xonedo/stable/dkms/dkms-xonedo.spec @@ -0,0 +1,72 @@ +%global debug_package %{nil} +%global modulename xonedo +%global ogcversion 1 + +Name: dkms-%{modulename} +Version: 0.5.7 +Release: 3%?dist +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Epoch: 2 +%endif +Summary: Linux kernel driver for Xbox One and Xbox Series X|S accessories +License: GPL-2.0-or-later +URL: https://github.com/OpenGamingCollective/xonedo +Source0: %{url}/archive/refs/tags/v%{version}-ogc%{ogcversion}.tar.gz +Source1: no-weak-modules.conf +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Conflicts: %{modulename}-nightly-kmod +Conflicts: akmod-xone +Conflicts: xone-nightly-kmod +Provides: %{modulename}-kmod +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Obsoletes: %{name} < %{?epoch:%{epoch}:}0.3.4 +%endif +BuildArch: noarch +Packager: Kyle Gospodnetich + +%description +Linux kernel driver for Xbox One and Xbox Series X|S accessories. Compatible with the xpad kernel module. + +%prep +%autosetup -p1 -n %{modulename}-%{version}-ogc%{ogcversion} + +sed -i \ + -e 's|#VERSION#|%{version}|g' \ + -e 's|kernel/drivers/input/joystick|extra|g' \ + dkms.conf + +find . -type f -name '*.c' -exec sed -i "s/#VERSION#/%{version}/" {} \; + +%install +# Create empty tree: +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr auth bus driver transport Kbuild dkms.conf %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%if 0%{?fedora} +# Do not enable weak modules support in Fedora (no kABI): +install -Dpm644 %{SOURCE1} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 || : + +%preun +# Remove all versions from DKMS registry: +dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : + +%files +%{_usrsrc}/%{modulename}-%{version} +%if 0%{?fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Sun Mar 15 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/xonedo/stable/dkms/no-weak-modules.conf b/anda/system/xonedo/stable/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/xonedo/stable/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/xonedo/stable/dkms/update.rhai b/anda/system/xonedo/stable/dkms/update.rhai new file mode 100644 index 0000000000..747989c246 --- /dev/null +++ b/anda/system/xonedo/stable/dkms/update.rhai @@ -0,0 +1,4 @@ +import "andax/bump_extras.rhai" as bump; + +rpm.version(bump::madoguchi("xonedo", labels.branch)); + diff --git a/anda/system/xonedo/stable/kmod-common/anda.hcl b/anda/system/xonedo/stable/kmod-common/anda.hcl new file mode 100644 index 0000000000..e02b579bf1 --- /dev/null +++ b/anda/system/xonedo/stable/kmod-common/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "xonedo.spec" + } +} diff --git a/anda/system/xonedo/stable/kmod-common/modules.conf b/anda/system/xonedo/stable/kmod-common/modules.conf new file mode 100644 index 0000000000..776e9eff4f --- /dev/null +++ b/anda/system/xonedo/stable/kmod-common/modules.conf @@ -0,0 +1 @@ +add_drivers+=" snd-pcm snd-seq " diff --git a/anda/system/xonedo/stable/kmod-common/update.rhai b/anda/system/xonedo/stable/kmod-common/update.rhai new file mode 100644 index 0000000000..1e3d61c10b --- /dev/null +++ b/anda/system/xonedo/stable/kmod-common/update.rhai @@ -0,0 +1,3 @@ +let v = gh_tag("OpenGamingCollective/xonedo"); + +rpm.version(find(`([\d.]+)-ogc`, v, 1)); \ No newline at end of file diff --git a/anda/system/xonedo/stable/kmod-common/xonedo.spec b/anda/system/xonedo/stable/kmod-common/xonedo.spec new file mode 100644 index 0000000000..e8ff0b001d --- /dev/null +++ b/anda/system/xonedo/stable/kmod-common/xonedo.spec @@ -0,0 +1,138 @@ +%global _dracutconfdir %{_prefix}/lib/dracut/dracut.conf.d +%global firmware_hash0 080ce4091e53a4ef3e5fe29939f51fd91f46d6a88be6d67eb6e99a5723b3a223 +%global firmware_hash1 48084d9fa53b9bb04358f3bb127b7495dc8f7bb0b3ca1437bd24ef2b6eabdf66 +%global firmware_hash2 0023a7bae02974834500c665a281e25b1ba52c9226c84989f9084fa5ce591d9b +%global firmware_hash3 e2710daf81e7b36d35985348f68a81d18bc537a2b0c508ffdfde6ac3eae1bad7 +%global ogcversion 1 + +Name: xonedo +Version: 0.5.7 +Release: 3%?dist +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Epoch: 2 +%endif +Summary: Linux kernel driver for Xbox One and Xbox Series X|S accessories common files +License: GPL-2.0-or-later +URL: https://github.com/OpenGamingCollective/xonedo +Source0: %{url}/archive/refs/tags/v%{version}-ogc%{ogcversion}.tar.gz +Source1: modules.conf +### Windows drivers and firmware files: +Source2: https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/03/2ea9591b-f751-442c-80ce-8f4692cdc67b_6b555a3a288153cf04aec6e03cba360afe2fce34.cab +Source3: https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab +Source4: https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/06/1dbd7cb4-53bc-4857-a5b0-5955c8acaf71_9081931e7d664429a93ffda0db41b7545b7ac257.cab +Source5: https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2017/08/aeff215c-3bc4-4d36-a3ea-e14bfa8fa9d2_e58550c4f74a27e51e5cb6868b10ff633fa77164.cab +### Microsoft TOU copy: +Source6: https://www.microsoft.com/en-us/legal/terms-of-use +BuildRequires: cabextract +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: wireless-regdb +Requires: %{name}-firmware = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Requires(post): dracut +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +Conflicts: %{name}-nightly +Conflicts: xone-nightly +Conflicts: xone +Conflicts: xow <= 0.5 +Obsoletes: xow <= 0.5 +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Obsoletes: %{name} < %{?epoch:%{epoch}:}0.3.4 +%endif +BuildArch: noarch +Packager: Kyle Gospodnetich + +%description +Linux kernel driver for Xbox One and Xbox Series X|S accessories common files. + +%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. + +%package firmware +Summary: Firmware for the XBox One controller dongle +License: Proprietary +Requires: wireless-regdb +%if 0%{?fedora} <= 43 || 0%{?rhel} <= 10 +Obsoletes: %{name}-firmware < %{?epoch:%{epoch}:}0.3^20250419git.c682b0c +%endif +Conflicts: xone-firmware +BuildArch: noarch + +%description firmware +Proprietary firmware for XBox controller dongles. + +%prep +%autosetup -p1 -n %{name}-%{version}-ogc%{ogcversion} +/usr/bin/sed -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' dkms.conf > %{name}.conf + +### Firmware: +# Some of the .bin files have the same name so put them in subdirs +mkdir firm{0..4} + +pushd firm0 +cabextract -F FW_ACC_00U.bin %{SOURCE2} +echo %{firmware_hash0} FW_ACC_00U.bin | sha256sum -c +popd + +pushd firm1 +cabextract -F FW_ACC_00U.bin %{SOURCE3} +echo %{firmware_hash1} FW_ACC_00U.bin | sha256sum -c +popd + +pushd firm2 +cabextract -F FW_ACC_CL.bin %{SOURCE4} +echo %{firmware_hash2} FW_ACC_CL.bin | sha256sum -c +popd + +pushd firm3 +cabextract -F FW_ACC_BR.bin %{SOURCE5} +echo %{firmware_hash3} FW_ACC_BR.bin | sha256sum -c +popd + +%install +# xone-gip-headset module should have the snd-pcm and snd-seq modules be preloaded or it will give errors on boot due to injecting late. +# It still loads afterwards, but this error is easily fixable by just loading the modules in the initramfs. +install -Dpm644 %{SOURCE1} %{buildroot}%{_dracutconfdir}/60-%{name}-snd.conf + +# Blacklist: +install -Dpm644 install/modprobe.conf %{buildroot}%{_modprobedir}/60-%{name}.conf + +# Firmware: +install -Dpm644 firm0/FW_ACC_00U.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_02e6.bin +install -Dpm644 firm1/FW_ACC_00U.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_02fe.bin +install -Dpm644 firm2/FW_ACC_CL.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_02f9.bin +install -Dpm644 firm3/FW_ACC_BR.bin %{buildroot}%{_prefix}/lib/firmware/xone_dongle_091e.bin + +# Akmods modules +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +# TOU file +/usr/bin/cp %{SOURCE6} . + +%files +%license LICENSE +%doc README.md +%{_modprobedir}/60-%{name}.conf +%{_dracutconfdir}/60-%{name}-snd.conf + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%files firmware +%license terms-of-use +%{_prefix}/lib/firmware/xone_dongle_02e6.bin +%{_prefix}/lib/firmware/xone_dongle_02fe.bin +%{_prefix}/lib/firmware/xone_dongle_02f9.bin +%{_prefix}/lib/firmware/xone_dongle_091e.bin + +%postun +/usr/bin/dracut -f || : + +%changelog +* Sun Mar 15 2026 Kyle Gospodnetich +- Initial package diff --git a/anda/system/xpad-noone/akmod/xpad-noone-kmod.spec b/anda/system/xpad-noone/akmod/xpad-noone-kmod.spec index 0dde070c72..b7fe833217 100644 --- a/anda/system/xpad-noone/akmod/xpad-noone-kmod.spec +++ b/anda/system/xpad-noone/akmod/xpad-noone-kmod.spec @@ -1,6 +1,6 @@ -%global commit 6970c40930bedd8b58d0764894e0d5f04813b7c5 +%global commit da247eb378287b435fa2963bfaee634bda96caac %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20240109 +%global commitdate 20260627 %global ver 1.0 %global modulename xpad-noone %global debug_package %{nil} @@ -10,14 +10,11 @@ This is the original upstream xpad driver from the Linux kernel with support for Name: %{modulename}-kmod Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 4%{?dist} +Release: 7%{?dist} License: GPL-2.0-or-later Summary: xpad driver with support for XBox One controllers removed -URL: https://github.com/medusalix/xpad-noone +URL: https://github.com/Jan200101/xpad-noone Source0: %{url}/archive/%{commit}/%{modulename}-%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz -# Fix kmod compilation on kernel 6.18+ -Patch0: https://github.com/medusalix/xpad-noone/pull/8.patch -Patch1: https://github.com/medusalix/xpad-noone/pull/9.patch BuildRequires: gcc BuildRequires: kmodtool BuildRequires: make @@ -28,16 +25,16 @@ Requires: akmods Conflicts: dkms-%{modulename} Packager: Gilver E. -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description %_description %prep %{?kmodtool_check} -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null -%autosetup -n %{modulename}-%{commit} -p1 +%autosetup -c %{modulename}-%{commit} for kernel_version in %{?kernel_versions} ; do cp -a %{modulename}-%{commit} _kmod_build_${kernel_version%%___*} @@ -57,5 +54,8 @@ done %{?akmod_install} %changelog +* Sat Jun 27 2026 Jan200101 - 1.0^20260627git.da247eb-7 +- Update package to use updated fork + * Fri Mar 07 2025 Gilver E. - Initial package diff --git a/anda/system/xpad-noone/dkms/dkms-xpad-noone.spec b/anda/system/xpad-noone/dkms/dkms-xpad-noone.spec index a2ca1bb2c5..1644990497 100644 --- a/anda/system/xpad-noone/dkms/dkms-xpad-noone.spec +++ b/anda/system/xpad-noone/dkms/dkms-xpad-noone.spec @@ -1,6 +1,6 @@ -%global commit 6970c40930bedd8b58d0764894e0d5f04813b7c5 +%global commit da247eb378287b435fa2963bfaee634bda96caac %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20240109 +%global commitdate 20260627 %global ver 1.0 %global modulename xpad-noone %global _description %{expand: @@ -8,15 +8,12 @@ This is the original upstream xpad driver from the Linux kernel with support for Name: dkms-%{modulename} Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 3%{?dist} +Release: 5%{?dist} License: GPL-2.0-or-later Summary: xpad driver with support for XBox One controllers removed -URL: https://github.com/medusalix/xpad-noone +URL: https://github.com/Jan200101/xpad-noone Source0: %{url}/archive/%{commit}/%{modulename}-%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz Source1: no-weak-modules.conf -# Fix kmod compilation on kernel 6.18+ -Patch0: https://github.com/medusalix/xpad-noone/pull/8.patch -Patch1: https://github.com/medusalix/xpad-noone/pull/9.patch Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} Requires: dkms Conflicts: akmod-%{modulename} @@ -26,7 +23,7 @@ Packager: Gilver E. %description %_description %prep -%autosetup -n %{modulename}-%{commit} -p1 +%autosetup -n %{modulename}-%{commit} %build @@ -54,5 +51,8 @@ dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : %endif %changelog +* Sat Jun 27 2026 Jan200101 - 1.0^20260627git.da247eb-5 +- Update package to use updated fork + * Fri Mar 07 2025 Gilver E. - Initial package diff --git a/anda/system/xpad-noone/kmod-common/update.rhai b/anda/system/xpad-noone/kmod-common/update.rhai index 0c4d57f83f..180561dee0 100644 --- a/anda/system/xpad-noone/kmod-common/update.rhai +++ b/anda/system/xpad-noone/kmod-common/update.rhai @@ -1,8 +1,8 @@ -rpm.global("commit", gh_commit("medusalix/xpad-noone")); +rpm.global("commit", gh_commit("Jan200101/xpad-noone")); if rpm.changed() { rpm.release(); rpm.global("commitdate", date()); - let html = get(`https://raw.githubusercontent.com/medusalix/xpad-noone/refs/heads/master/dkms.conf`); + let html = get(`https://raw.githubusercontent.com/Jan200101/xpad-noone/refs/heads/master/dkms.conf`); let v = find("PACKAGE_VERSION=\"([\\d.]+)\"", html, 1); rpm.global("ver", v); } diff --git a/anda/system/xpad-noone/kmod-common/xpad-noone.spec b/anda/system/xpad-noone/kmod-common/xpad-noone.spec index ad694dc998..c060c0a46f 100644 --- a/anda/system/xpad-noone/kmod-common/xpad-noone.spec +++ b/anda/system/xpad-noone/kmod-common/xpad-noone.spec @@ -1,16 +1,16 @@ -%global commit 6970c40930bedd8b58d0764894e0d5f04813b7c5 +%global commit da247eb378287b435fa2963bfaee634bda96caac %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20240109 +%global commitdate 20260627 %global ver 1.0 %global _description %{expand: This is the original upstream xpad driver from the Linux kernel with support for XBox One controllers removed. If you are running the xone driver you may have to replace the xpad kernel module with this one to retain the functionality of XBox and XBox 360 controllers.} Name: xpad-noone Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 2%{?dist} +Release: 4%{?dist} License: GPL-2.0-or-later Summary: xpad driver with support for XBox One controllers removed -URL: https://github.com/medusalix/xpad-noone +URL: https://github.com/Jan200101/xpad-noone Source0: %{url}/archive/%{commit}/%{name}-%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz BuildRequires: sed BuildRequires: systemd-rpm-macros @@ -25,7 +25,7 @@ Packager: Gilver E. %package akmod-modules Summary: Modules for Akmods -Requires: akmod-%{name} +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} BuildArch: noarch %description akmod-modules @@ -48,5 +48,8 @@ install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} %{_modulesloaddir}/%{name}.conf %changelog +* Sat Jun 27 2026 Jan200101 - 1.0^20260627git.da247eb-4 +- Update package to use updated fork + * Fri Mar 07 2025 Gilver E. - Initial package diff --git a/anda/system/xpadneo/akmod/update.rhai b/anda/system/xpadneo/akmod/update.rhai deleted file mode 100644 index b7de501f56..0000000000 --- a/anda/system/xpadneo/akmod/update.rhai +++ /dev/null @@ -1,13 +0,0 @@ -let c = sh("cat anda/system/xpadneo/kmod-common/xpadneo.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; -c.pop(); -rpm.global("commit", c); -if rpm.changed() { - rpm.release(); - let d = sh("cat anda/system/xpadneo/kmod-common/xpadneo.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; - d.pop(); - rpm.global("commitdate", d); - let v = sh("cat anda/system/xpadneo/kmod-common/xpadneo.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; - v.pop(); - rpm.global("ver", v); -} - diff --git a/anda/system/xpadneo/dkms/update.rhai b/anda/system/xpadneo/dkms/update.rhai deleted file mode 100644 index b7de501f56..0000000000 --- a/anda/system/xpadneo/dkms/update.rhai +++ /dev/null @@ -1,13 +0,0 @@ -let c = sh("cat anda/system/xpadneo/kmod-common/xpadneo.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; -c.pop(); -rpm.global("commit", c); -if rpm.changed() { - rpm.release(); - let d = sh("cat anda/system/xpadneo/kmod-common/xpadneo.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; - d.pop(); - rpm.global("commitdate", d); - let v = sh("cat anda/system/xpadneo/kmod-common/xpadneo.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; - v.pop(); - rpm.global("ver", v); -} - diff --git a/anda/system/xpadneo/kmod-common/io.github.xpadneo.metainfo.xml b/anda/system/xpadneo/kmod-common/io.github.xpadneo.metainfo.xml deleted file mode 100644 index f11f630d07..0000000000 --- a/anda/system/xpadneo/kmod-common/io.github.xpadneo.metainfo.xml +++ /dev/null @@ -1,26 +0,0 @@ - - io.github.xpadneo - xpadneo - xpadneo - Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S) - -

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

-
- https://atar-axis.github.io/xpadneo/ - CC0-1.0 - - GPL-3.0 - - - Florian Dollinger - - - - - usb:v045Ep02FDd0008dc00dsc00dp00ic03isc00ip00in00 - -
\ No newline at end of file diff --git a/anda/system/xpadneo/kmod-common/xpadneo.spec b/anda/system/xpadneo/kmod-common/xpadneo.spec deleted file mode 100644 index 35f515e399..0000000000 --- a/anda/system/xpadneo/kmod-common/xpadneo.spec +++ /dev/null @@ -1,63 +0,0 @@ -%global commit bd69ab766cb6df8238051749ba9796d39dab53c1 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260303 -%global ver 0.9.8 - -Name: xpadneo -Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 1%?dist -Summary: Advanced Linux Driver for Xbox One Wireless Gamepad common files -License: GPL-3.0 -URL: https://atar-axis.github.io/%{name} -Source0: https://github.com/atar-axis/%{name}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz -Source1: io.github.%{name}.metainfo.xml -BuildRequires: sed -BuildRequires: systemd-rpm-macros -Requires: (akmod-%{name} = %{?epoch:%{epoch}:}%{version} or dkms-%{name} = %{?epoch:%{epoch}:}%{version}) -Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} -Obsoletes: %{name}-kmod-common < %{?epoch:%{epoch}:}0.9.7^20241224git.8d20a23-5%{?dist} -BuildArch: noarch -Packager: Gilver E. - -%description -Advanced Linux Driver for Xbox One Wireless Gamepad common files. - -%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 %{name}-%{commit} -/usr/bin/sed -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' hid-%{name}/dkms.conf.in > %{name}.conf - -%install -# Aliases: -install -Dpm644 hid-%{name}/etc-modprobe.d/%{name}.conf -t %{buildroot}%{_modprobedir} - -# UDev rules: -install -Dpm644 hid-%{name}/etc-udev-rules.d/*.rules -t %{buildroot}%{_udevrulesdir}/ - -# Metadata -install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/metainfo/io.github.%{name}.metainfo.xml - -# Akmods modules -install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} - -%files -%license LICENSE -%doc docs/*.md -%{_modprobedir}/%{name}.conf -%{_udevrulesdir}/60-%{name}.rules -%{_udevrulesdir}/70-%{name}-disable-hidraw.rules -%{_datadir}/metainfo/io.github.%{name}.metainfo.xml - -%files akmod-modules -%{_modulesloaddir}/%{name}.conf - -%changelog -* Fri Mar 07 2025 Gilver E. -- Package refactoring diff --git a/anda/system/xpadneo/nightly/akmod/anda.hcl b/anda/system/xpadneo/nightly/akmod/anda.hcl new file mode 100644 index 0000000000..f1d6f092a5 --- /dev/null +++ b/anda/system/xpadneo/nightly/akmod/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + rpm { + spec = "xpadneo-nightly-kmod.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/xpadneo/nightly/akmod/update.rhai b/anda/system/xpadneo/nightly/akmod/update.rhai new file mode 100644 index 0000000000..2054b27a42 --- /dev/null +++ b/anda/system/xpadneo/nightly/akmod/update.rhai @@ -0,0 +1,13 @@ +let c = sh("cat anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} + diff --git a/anda/system/xpadneo/akmod/xpadneo-kmod.spec b/anda/system/xpadneo/nightly/akmod/xpadneo-nightly-kmod.spec similarity index 62% rename from anda/system/xpadneo/akmod/xpadneo-kmod.spec rename to anda/system/xpadneo/nightly/akmod/xpadneo-nightly-kmod.spec index 0717e75a1a..b06e60de4a 100644 --- a/anda/system/xpadneo/akmod/xpadneo-kmod.spec +++ b/anda/system/xpadneo/nightly/akmod/xpadneo-nightly-kmod.spec @@ -1,16 +1,16 @@ -%global commit bd69ab766cb6df8238051749ba9796d39dab53c1 +%global commit b514bd4454ddca2c40bf5522b3083cf079c9764e %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260303 -%global ver 0.9.8 +%global commitdate 20260413 +%global ver 0.10.2 %define buildforkernels akmod %global debug_package %{nil} %global modulename xpadneo -Name: %{modulename}-kmod -Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 1%?dist +Name: %{modulename}-nightly-kmod +Version: %{ver}^%{commitdate}git%{shortcommit} +Release: 1%{?dist} Summary: Advanced Linux Driver for Xbox One Wireless Gamepad -License: GPL-3.0 +License: GPL-2.0-only AND GPL-3.0-or-later URL: https://atar-axis.github.io/xpadneo Source0: https://github.com/atar-axis/xpadneo/archive/%{commit}.tar.gz#/xpadneo-%{shortcommit}.tar.gz BuildRequires: kmodtool @@ -18,19 +18,19 @@ BuildRequires: systemd-rpm-macros Requires: akmods Requires: bluez Requires: bluez-tools -Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} -Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-nightly-kmod-common = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-nightly-akmod-modules = %{?epoch:%{epoch}:}%{version} Conflicts: dkms-%{modulename} Packager: Gilver E. -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description Advanced Linux Driver for Xbox One Wireless Gamepad. %prep %{?kmodtool_check} -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %autosetup -p1 -n %{modulename}-%{commit} @@ -55,5 +55,7 @@ done %{?akmod_install} %changelog +* Sat Apr 11 2026 Gilver E. - 0.10.2^45f3982git20260411 +- Separated nightly builds into their own packages * Thu Feb 27 2025 Gilver E. - Package refactoring for alternative DKMS package compatibility diff --git a/anda/system/xpadneo/nightly/dkms/anda.hcl b/anda/system/xpadneo/nightly/dkms/anda.hcl new file mode 100644 index 0000000000..155d865ee6 --- /dev/null +++ b/anda/system/xpadneo/nightly/dkms/anda.hcl @@ -0,0 +1,10 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "dkms-xpadneo-nightly.spec" + } + labels { + mock = 1 + updbranch = 1 + } +} diff --git a/anda/system/xpadneo/dkms/dkms-xpadneo.spec b/anda/system/xpadneo/nightly/dkms/dkms-xpadneo-nightly.spec similarity index 75% rename from anda/system/xpadneo/dkms/dkms-xpadneo.spec rename to anda/system/xpadneo/nightly/dkms/dkms-xpadneo-nightly.spec index d6968c2421..001e31a9b4 100644 --- a/anda/system/xpadneo/dkms/dkms-xpadneo.spec +++ b/anda/system/xpadneo/nightly/dkms/dkms-xpadneo-nightly.spec @@ -1,23 +1,22 @@ -%global commit bd69ab766cb6df8238051749ba9796d39dab53c1 +%global commit b514bd4454ddca2c40bf5522b3083cf079c9764e %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commitdate 20260303 -%global ver 0.9.8 -%global debug_package %{nil} +%global commitdate 20260413 +%global ver 0.10.2 %global modulename xpadneo -Name: dkms-%{modulename} -Version: %{ver}^%{commitdate}git.%{shortcommit} -Release: 1%?dist +Name: dkms-%{modulename}-nightly +Version: %{ver}^%{commitdate}git%{shortcommit} +Release: 1%{?dist} Summary: Advanced Linux Driver for Xbox One Wireless Gamepad -License: GPL-3.0 +License: GPL-2.0-only AND GPL-3.0-or-later URL: https://atar-axis.github.io/%{modulename} Source0: https://github.com/atar-axis/%{modulename}/archive/%{commit}.tar.gz#/%{modulename}-%{shortcommit}.tar.gz -Source1: %{name}.conf +Source1: dkms-%{modulename}.conf Source2: no-weak-modules.conf BuildRequires: sed Requires: bluez Requires: bluez-tools -Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version} Requires: dkms Conflicts: akmod-%{modulename} BuildArch: noarch @@ -42,7 +41,7 @@ sed -i -e 's/$(VERSION)/v%{version}/g' hid-xpadneo/src/Makefile mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ cp -fr hid-xpadneo/src/* %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ -%if 0%{?fedora} +%if %{defined fedora} # Do not enable weak modules support in Fedora (no kABI): install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf %endif @@ -59,10 +58,12 @@ dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : %files %{_usrsrc}/%{modulename}-%{version} -%if 0%{?fedora} +%if %{defined fedora} %{_sysconfdir}/dkms/%{modulename}.conf %endif %changelog +* Sat Apr 11 2026 Gilver E. - 0.10.2^45f3982git20260411 +- Separated nightly builds into their own packages * Thu Feb 27 2025 Gilver E. - Initial package diff --git a/anda/system/xpadneo/dkms/dkms-xpadneo.conf b/anda/system/xpadneo/nightly/dkms/dkms-xpadneo.conf similarity index 100% rename from anda/system/xpadneo/dkms/dkms-xpadneo.conf rename to anda/system/xpadneo/nightly/dkms/dkms-xpadneo.conf diff --git a/anda/system/xpadneo/nightly/dkms/no-weak-modules.conf b/anda/system/xpadneo/nightly/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/xpadneo/nightly/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/xpadneo/nightly/dkms/update.rhai b/anda/system/xpadneo/nightly/dkms/update.rhai new file mode 100644 index 0000000000..2054b27a42 --- /dev/null +++ b/anda/system/xpadneo/nightly/dkms/update.rhai @@ -0,0 +1,13 @@ +let c = sh("cat anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec | grep '%global commit ' | sed -E 's/.+commit //'", #{"stdout": "piped"}).ctx.stdout; +c.pop(); +rpm.global("commit", c); +if rpm.changed() { + rpm.release(); + let d = sh("cat anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec | grep '%global commitdate' | sed -E 's/.+commitdate //'", #{"stdout": "piped"}).ctx.stdout; + d.pop(); + rpm.global("commitdate", d); + let v = sh("cat anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec | grep '%global ver' | sed -E 's/.+ver //'", #{"stdout": "piped"}).ctx.stdout; + v.pop(); + rpm.global("ver", v); +} + diff --git a/anda/system/xpadneo/nightly/kmod-common/anda.hcl b/anda/system/xpadneo/nightly/kmod-common/anda.hcl new file mode 100644 index 0000000000..a0ac3dafaf --- /dev/null +++ b/anda/system/xpadneo/nightly/kmod-common/anda.hcl @@ -0,0 +1,9 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "xpadneo-nightly.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/system/xpadneo/kmod-common/update.rhai b/anda/system/xpadneo/nightly/kmod-common/update.rhai similarity index 100% rename from anda/system/xpadneo/kmod-common/update.rhai rename to anda/system/xpadneo/nightly/kmod-common/update.rhai diff --git a/anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec b/anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec new file mode 100644 index 0000000000..7e9239e8c0 --- /dev/null +++ b/anda/system/xpadneo/nightly/kmod-common/xpadneo-nightly.spec @@ -0,0 +1,60 @@ +%global commit b514bd4454ddca2c40bf5522b3083cf079c9764e +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260413 +%global ver 0.10.2 +%global appid io.github.atar_axis.xpadneo + +Name: xpadneo-nightly +Version: %{ver}^%{commitdate}git%{shortcommit} +Release: 1%{?dist} +Summary: Advanced Linux Driver for Xbox One Wireless Gamepad common files +License: GPL-2.0-only AND GPL-3.0-or-later +URL: https://atar-axis.github.io/xpadneo +Source0: https://github.com/atar-axis/xpadneo/archive/%{commit}.tar.gz#/xpadneo-%{shortcommit}.tar.gz +BuildRequires: make +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +Obsoletes: %{name}-kmod-common < %{?epoch:%{epoch}:}0.9.7^20241224git.8d20a23-5%{?dist} +BuildArch: noarch +Packager: Gilver E. + +%description +Advanced Linux Driver for Xbox One Wireless Gamepad common files. + +%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 xpadneo-%{commit} +/usr/bin/sed -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' hid-xpadneo/dkms.conf.in > xpadneo.conf + +%install +%{__make} install-all PREFIX="%{buildroot}" ETC_PREFIX="%{_prefix}/lib" VERSION="%{version}" + +# Akmods modules +install -Dm644 xpadneo.conf -t %{buildroot}%{_modulesloaddir} + +%files +%license LICENSE.md +# Let RPM handle the docs +%doc %{_docdir}/xpadneo/* +%{_modprobedir}/xpadneo.conf +%{_udevrulesdir}/60-xpadneo.rules +%{_udevrulesdir}/70-xpadneo-disable-hidraw.rules +%{_metainfodir}/%{appid}.metainfo.xml + +%files akmod-modules +%{_modulesloaddir}/xpadneo.conf + +%changelog +* Sat Apr 11 2026 Gilver E. - 0.10.2^45f3982git20260411 +- Separated nightly builds into their own packages +* Fri Mar 07 2025 Gilver E. +- Package refactoring diff --git a/anda/system/xpadneo/akmod/anda.hcl b/anda/system/xpadneo/stable/akmod/anda.hcl similarity index 100% rename from anda/system/xpadneo/akmod/anda.hcl rename to anda/system/xpadneo/stable/akmod/anda.hcl diff --git a/anda/system/xpadneo/stable/akmod/update.rhai b/anda/system/xpadneo/stable/akmod/update.rhai new file mode 100644 index 0000000000..eb076f74aa --- /dev/null +++ b/anda/system/xpadneo/stable/akmod/update.rhai @@ -0,0 +1,3 @@ +import "andax/bump_extras.rhai" as bump; + +rpm.version(bump::madoguchi("xpadneo", labels.branch)); diff --git a/anda/system/xpadneo/stable/akmod/xpadneo-kmod.spec b/anda/system/xpadneo/stable/akmod/xpadneo-kmod.spec new file mode 100644 index 0000000000..43068fa0bf --- /dev/null +++ b/anda/system/xpadneo/stable/akmod/xpadneo-kmod.spec @@ -0,0 +1,59 @@ +%define buildforkernels akmod +%global debug_package %{nil} +%global modulename xpadneo + +Name: %{modulename}-kmod +Version: 0.10.2 +Release: 1%{?dist} +%if 0%{?fedora} <= 45 +Epoch: 1 +%endif +Summary: Advanced Linux Driver for Xbox One Wireless Gamepad +License: GPL-2.0-only AND GPL-3.0-or-later +URL: https://atar-axis.github.io/xpadneo +Source0: https://github.com/atar-axis/xpadneo/archive/refs/tags/v%{version}.tar.gz +BuildRequires: kmodtool +BuildRequires: systemd-rpm-macros +Requires: akmods +Requires: bluez +Requires: bluez-tools +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: %{modulename}-akmod-modules = %{?epoch:%{epoch}:}%{version} +Conflicts: dkms-%{modulename} +Provides: %{modulename}-kmod +Packager: Gilver E. + +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } + +%description +Advanced Linux Driver for Xbox One Wireless Gamepad. + +%prep +%{?kmodtool_check} +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null + +%autosetup -p1 -n %{modulename}-%{version} + +for kernel_version in %{?kernel_versions}; do + mkdir _kmod_build_${kernel_version%%___*} + cp -fr hid-xpadneo/src/* _kmod_build_${kernel_version%%___*} +done + +%build +for kernel_version in %{?kernel_versions}; do + pushd _kmod_build_${kernel_version%%___*}/ + %make_build -C "${kernel_version##*___}" M=$(pwd) VERSION="v%{version}" modules + popd +done + +%install +for kernel_version in %{?kernel_versions}; do + mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ + install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \ + %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/ +done +%{?akmod_install} + +%changelog +* Sat Apr 11 2026 Gilver E. - 1:0.10.2-1 +- Initial stable package diff --git a/anda/system/xpadneo/dkms/anda.hcl b/anda/system/xpadneo/stable/dkms/anda.hcl similarity index 100% rename from anda/system/xpadneo/dkms/anda.hcl rename to anda/system/xpadneo/stable/dkms/anda.hcl diff --git a/anda/system/xpadneo/stable/dkms/dkms-xpadneo.conf b/anda/system/xpadneo/stable/dkms/dkms-xpadneo.conf new file mode 100644 index 0000000000..ecde0d0673 --- /dev/null +++ b/anda/system/xpadneo/stable/dkms/dkms-xpadneo.conf @@ -0,0 +1,6 @@ +PACKAGE_NAME="xpadneo" +PACKAGE_VERSION="__VERSION_STRING" +AUTOINSTALL="yes" + +BUILT_MODULE_NAME[0]="hid-xpadneo" +DEST_MODULE_LOCATION[0]="/extra" diff --git a/anda/system/xpadneo/stable/dkms/dkms-xpadneo.spec b/anda/system/xpadneo/stable/dkms/dkms-xpadneo.spec new file mode 100644 index 0000000000..59c56849b9 --- /dev/null +++ b/anda/system/xpadneo/stable/dkms/dkms-xpadneo.spec @@ -0,0 +1,68 @@ +%global modulename xpadneo + +Name: dkms-%{modulename} +Version: 0.10.2 +Release: 1%{?dist} +%if 0%{?fedora} <= 45 +Epoch: 1 +%endif +Summary: Advanced Linux Driver for Xbox One Wireless Gamepad +License: GPL-2.0-only AND GPL-3.0-or-later +URL: https://atar-axis.github.io/%{modulename} +Source0: https://github.com/atar-axis/xpadneo/archive/refs/tags/v%{version}.tar.gz +Source1: %{name}.conf +Source2: no-weak-modules.conf +BuildRequires: sed +Provides: %{modulename}-kmod +Requires: bluez +Requires: bluez-tools +Requires: %{modulename} = %{?epoch:%{epoch}:}%{version} +Requires: dkms +Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod +BuildArch: noarch +Packager: Gilver E. + +%description +Advanced Linux Driver for Xbox One Wireless Gamepad. + +%prep +%autosetup -p1 -n %{modulename}-%{version} + + +cp -f %{SOURCE1} hid-xpadneo/src/dkms.conf + +sed -i -e 's/__VERSION_STRING/%{version}/g' hid-xpadneo/src/dkms.conf +sed -i -e 's/$(VERSION)/v%{version}/g' hid-xpadneo/src/Makefile + +%build + +%install +# Create empty tree: +mkdir -p %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ +cp -fr hid-xpadneo/src/* %{buildroot}%{_usrsrc}/%{modulename}-%{version}/ + +%if %{defined fedora} +# Do not enable weak modules support in Fedora (no kABI): +install -Dpm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%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 || : + +%preun +# Remove all versions from DKMS registry: +dkms remove -m %{modulename} -v %{version} -q --all --rpm_safe_upgrade || : + +%files +%{_usrsrc}/%{modulename}-%{version} +%if %{defined fedora} +%{_sysconfdir}/dkms/%{modulename}.conf +%endif + +%changelog +* Sat Apr 11 2026 Gilver E. - 1:0.10.2-1 +- Initial stable package diff --git a/anda/system/xpadneo/stable/dkms/no-weak-modules.conf b/anda/system/xpadneo/stable/dkms/no-weak-modules.conf new file mode 100644 index 0000000000..24f6f95c96 --- /dev/null +++ b/anda/system/xpadneo/stable/dkms/no-weak-modules.conf @@ -0,0 +1 @@ +NO_WEAK_MODULES="yes" diff --git a/anda/system/xpadneo/stable/dkms/update.rhai b/anda/system/xpadneo/stable/dkms/update.rhai new file mode 100644 index 0000000000..eb076f74aa --- /dev/null +++ b/anda/system/xpadneo/stable/dkms/update.rhai @@ -0,0 +1,3 @@ +import "andax/bump_extras.rhai" as bump; + +rpm.version(bump::madoguchi("xpadneo", labels.branch)); diff --git a/anda/system/xpadneo/stable/kmod-common/anda.hcl b/anda/system/xpadneo/stable/kmod-common/anda.hcl new file mode 100644 index 0000000000..91956479d9 --- /dev/null +++ b/anda/system/xpadneo/stable/kmod-common/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "xpadneo.spec" + } +} diff --git a/anda/system/xpadneo/stable/kmod-common/update.rhai b/anda/system/xpadneo/stable/kmod-common/update.rhai new file mode 100644 index 0000000000..0a63919e92 --- /dev/null +++ b/anda/system/xpadneo/stable/kmod-common/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("atar-axis/xpadneo")); diff --git a/anda/system/xpadneo/stable/kmod-common/xpadneo.spec b/anda/system/xpadneo/stable/kmod-common/xpadneo.spec new file mode 100644 index 0000000000..4ae97912e3 --- /dev/null +++ b/anda/system/xpadneo/stable/kmod-common/xpadneo.spec @@ -0,0 +1,57 @@ +%global appid io.github.atar_axis.xpadneo + +Name: xpadneo +Version: 0.10.2 +Release: 1%{?dist} +%if 0%{?fedora} <= 45 +Epoch: 1 +%endif +Summary: Advanced Linux Driver for Xbox One Wireless Gamepad common files +License: GPL-2.0-only AND GPL-3.0-or-later +URL: https://atar-axis.github.io/%{name} +Source0: https://github.com/atar-axis/xpadneo/archive/refs/tags/v%{version}.tar.gz +BuildRequires: make +BuildRequires: sed +BuildRequires: systemd-rpm-macros +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} +Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} +Obsoletes: %{name}-kmod-common < %{?epoch:%{epoch}:}0.9.7^20241224git.8d20a23-5%{?dist} +BuildArch: noarch +Packager: Gilver E. + +%description +Advanced Linux Driver for Xbox One Wireless Gamepad common files. + +%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}-%{version} +%{__sed} -nE '/^BUILT_MODULE_NAME/{s@^.+"(.+)"@\1@; s|-|_|g; p}' hid-%{name}/dkms.conf.in > %{name}.conf + +%install +%{__make} install-all PREFIX="%{buildroot}" ETC_PREFIX="%{_prefix}/lib" VERSION="%{version}" + +# Akmods modules +install -Dm644 %{name}.conf -t %{buildroot}%{_modulesloaddir} + +%files +%license LICENSE.md +# Let RPM handle the docs +%doc %{_docdir}/%{name}/* +%{_modprobedir}/%{name}.conf +%{_udevrulesdir}/60-%{name}.rules +%{_udevrulesdir}/70-%{name}-disable-hidraw.rules +%{_metainfodir}/%{appid}.metainfo.xml + +%files akmod-modules +%{_modulesloaddir}/%{name}.conf + +%changelog +* Sat Apr 11 2026 Gilver E. - 1:0.10.2-1 +- Initial stable package diff --git a/anda/system/zenergy/akmod/zenergy-kmod.spec b/anda/system/zenergy/akmod/zenergy-kmod.spec index e758069581..49d828ac25 100644 --- a/anda/system/zenergy/akmod/zenergy-kmod.spec +++ b/anda/system/zenergy/akmod/zenergy-kmod.spec @@ -14,7 +14,7 @@ Name: %{modulename}-kmod Version: 1.0^%{commitdate}git.%{shortcommit} -Release: 2%{?dist} +Release: 4%{?dist} Summary: Exposes the energy counters that are reported via the Running Average Power Limit (RAPL) Model-specific Registers (MSRs) via the hardware monitor (HWMON) sysfs interface. License: GPL-2.0 URL: https://github.com/BoukeHaarsma23/zenergy @@ -33,7 +33,7 @@ Requires: kernel-devel Conflicts: dkms-%{modulename} Packager: Cappy Ishihara -%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } +%{expand:%(kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description Based on AMD_ENERGY driver, but with some jiffies added so non-root users can read it safely. @@ -45,7 +45,7 @@ via the hardware monitor (HWMON) sysfs interface. %{?kmodtool_check} # print kmodtool output for debugging purposes: -kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null +kmodtool --target %{_target_cpu} --repo terrapkg.com --kmodname %{modulename} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %setup -q -c -n %{modulename}-%{commit} diff --git a/anda/system/zenergy/dkms/dkms-zenergy.spec b/anda/system/zenergy/dkms/dkms-zenergy.spec index 52623400be..945eb78933 100644 --- a/anda/system/zenergy/dkms/dkms-zenergy.spec +++ b/anda/system/zenergy/dkms/dkms-zenergy.spec @@ -6,7 +6,7 @@ Name: dkms-%{modulename} Version: 1.0^%{commitdate}git.%{shortcommit} -Release: 1%?dist +Release: 3%?dist Summary: Exposes the energy counters that are reported via the Running Average Power Limit (RAPL) Model-specific Registers (MSRs) via the hardware monitor (HWMON) sysfs interface. License: GPL-2.0 URL: https://github.com/BoukeHaarsma23/zenergy @@ -19,6 +19,7 @@ BuildArch: x86_64 Requires: dkms Requires: help2man Conflicts: akmod-%{modulename} +Provides: %{modulename}-kmod Packager: Cappy Ishihara %description diff --git a/anda/system/zenergy/kmod-common/zenergy.spec b/anda/system/zenergy/kmod-common/zenergy.spec index 76199c991f..380a305067 100644 --- a/anda/system/zenergy/kmod-common/zenergy.spec +++ b/anda/system/zenergy/kmod-common/zenergy.spec @@ -4,7 +4,7 @@ Name: zenergy Version: 1.0^%{commitdate}git.%{shortcommit} -Release: 1%?dist +Release: 3%?dist Summary: Exposes the energy counters that are reported via the Running Average Power Limit (RAPL) Model-specific Registers (MSRs) via the hardware monitor (HWMON) sysfs interface. License: GPL-2.0 URL: https://github.com/BoukeHaarsma23/zenergy @@ -12,7 +12,7 @@ Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{shortcommit}.tar.gz Source1: com.github.zenergy.metainfo.xml BuildRequires: sed BuildRequires: systemd-rpm-macros -Requires: (akmod-%{name} = %{?epoch:%{epoch}:}%{version} or dkms-%{name} = %{?epoch:%{epoch}:}%{version}) +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} Provides: %{name}-kmod-common = %{?epoch:%{epoch}:}%{version} BuildArch: noarch Packager: Cappy Ishihara @@ -25,7 +25,7 @@ via the hardware monitor (HWMON) sysfs interface. %package akmod-modules Summary: Modules for Akmods -Requires: akmod-%{name} +Requires: %{name}-kmod = %{?epoch:%{epoch}:}%{version} BuildArch: noarch %description akmod-modules diff --git a/anda/terra/RPM-GPG-KEY-terra44-source b/anda/terra/RPM-GPG-KEY-terra44-source deleted file mode 100644 index ea6e6659ab..0000000000 --- a/anda/terra/RPM-GPG-KEY-terra44-source +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GopenPGP 2.8.1 -Comment: https://gopenpgp.org - -xjMEaYpzWxYJKwYBBAHaRw8BAQdA7UMAtNQ1lu/zeq7f6ak1ZRDb09GI5nKRTGPb -z5/P9DLNKVRlcnJhIDQ0IC0gU291cmNlIDxzZWN1cml0eUBmeXJhbGFicy5jb20+ -wr8EExYIAHEFgmmKc1sDCwkHCZD5EsiV2QOikTUUAAAAAAAcABBzYWx0QG5vdGF0 -aW9ucy5vcGVucGdwanMub3JnKnNq119JCv79xo34cTtU+AIVCAMWAAICGQECmwMC -HgEWIQSo/fET0Zg0/vaHhXf5EsiV2QOikQAAZvIBAOBgURJ0bpsl9UQt+oty/9g6 -QJwE7x2KvTfw9CIjzd2yAQCqE6mBtL4Wd0T8FFXzg2KYgMPvNlkof24kas5Y79ID -DM44BGmKc1sSCisGAQQBl1UBBQEBB0C1EBr2yVcLBryHfBsJ8HffYUYmQxdOytvC -4sEKnn+UcAMBCgnCrgQYFggAYAWCaYpzWwmQ+RLIldkDopE1FAAAAAAAHAAQc2Fs -dEBub3RhdGlvbnMub3BlbnBncGpzLm9yZ7hCyKk6CNKWKKt60jpyuYACmwwWIQSo -/fET0Zg0/vaHhXf5EsiV2QOikQAAKLABAJSkznaUgXt2HisPv9rJGBjobx3dx9Ns -SZs4qLEwaBzAAQCGD5cZBVo4sVzskOhFAG3U2wMMGyTXP4+hvsFB09HNCg== -=F2xn ------END PGP PUBLIC KEY BLOCK----- \ No newline at end of file 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/gpg-keys/terra-gpg-keys.spec b/anda/terra/gpg-keys/terra-gpg-keys.spec index 3f8d01f17b..beb946d7d9 100644 --- a/anda/terra/gpg-keys/terra-gpg-keys.spec +++ b/anda/terra/gpg-keys/terra-gpg-keys.spec @@ -2,12 +2,12 @@ Name: terra-gpg-keys Version: %{?fedora:%{fedora}}%{?rhel:%{rhel}} -Release: 2%?dist +Release: 6%{?dist} Summary: GPG keys for Terra Requires: filesystem >= 3.18-6 License: MIT -URL: https://terra.fyralabs.com +URL: https://terrapkg.com # We aren't pulling keys from the origin URLs, since they shouldn't change and this is easier to audit. Source0: RPM-GPG-KEY-terrarawhide Source1: RPM-GPG-KEY-terrarawhide-extras @@ -52,6 +52,7 @@ Source39: RPM-GPG-KEY-terra44-source Source40: RPM-GPG-KEY-terrael10 Source41: RPM-GPG-KEY-terrael10-source BuildArch: noarch +Obsoletes: terra-mock-gpg-keys < %{version}-6 Packager: Terra Packaging Team diff --git a/anda/terra/mock-configs/terra-mock-configs.spec b/anda/terra/mock-configs/terra-mock-configs.spec index bfd8692339..9f6d3ec8b6 100644 --- a/anda/terra/mock-configs/terra-mock-configs.spec +++ b/anda/terra/mock-configs/terra-mock-configs.spec @@ -1,6 +1,6 @@ Name: terra-mock-configs -Version: 2.2.4 -Release: 2%?dist +Version: 2.4.0 +Release: 3%{?dist} Epoch: 1 Summary: Mock configs for Terra repos @@ -33,9 +33,13 @@ install -Dpm644 *.cfg -t %{buildroot}%{_sysconfdir}/mock/ %config %{_sysconfdir}/mock/templates/terra-rawhide.tpl %config %{_sysconfdir}/mock/terra-*-x86_64.cfg %config %{_sysconfdir}/mock/terra-*-aarch64.cfg +%config %{_sysconfdir}/mock/terra-*-riscv64.cfg %config %{_sysconfdir}/mock/terra-*-i386.cfg %changelog +* Sat Mar 07 2026 Owen Zimmerman - 2.2.5-1 +- Add riscv64 configs + * Fri Jul 26 2024 madonuko - 1:1.1.0-1 - Include mock files for Terra 41 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/release/terra-release.spec b/anda/terra/release/terra-release.spec index 035e8bd6da..f7cc32f49f 100644 --- a/anda/terra/release/terra-release.spec +++ b/anda/terra/release/terra-release.spec @@ -2,11 +2,11 @@ Name: terra-release Version: %{?fedora:%{fedora}}%{?rhel:%{rhel}} -Release: 2%?dist +Release: 4%{?dist} Summary: Release package for Terra License: MIT -URL: https://terra.fyralabs.com +URL: https://terrapkg.com Source0: terra.repo Source1: terra-extras.repo Source2: terra-nvidia.repo diff --git a/anda/devs/sccache/anda.hcl b/anda/terra/sccache/anda.hcl similarity index 100% rename from anda/devs/sccache/anda.hcl rename to anda/terra/sccache/anda.hcl diff --git a/anda/devs/sccache/terra-sccache.spec b/anda/terra/sccache/terra-sccache.spec similarity index 97% rename from anda/devs/sccache/terra-sccache.spec rename to anda/terra/sccache/terra-sccache.spec index 6b8d529b27..719984432e 100644 --- a/anda/devs/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.14.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/devs/sccache/update.rhai b/anda/terra/sccache/update.rhai similarity index 100% rename from anda/devs/sccache/update.rhai rename to anda/terra/sccache/update.rhai diff --git a/anda/terra/srpm-macros/anda-srpm-macros.spec b/anda/terra/srpm-macros/anda-srpm-macros.spec index 010feeb3cc..9a12cba1e1 100644 --- a/anda/terra/srpm-macros/anda-srpm-macros.spec +++ b/anda/terra/srpm-macros/anda-srpm-macros.spec @@ -1,9 +1,9 @@ Name: anda-srpm-macros -Version: 0.3.3 -Release: 3%?dist +Version: 0.3.13 +Release: 1%{?dist} Summary: SRPM macros for extra Fedora packages -License: MIT +License: GPL-3.0-or-later URL: https://github.com/terrapkg/srpm-macros Source0: %url/archive/refs/tags/v%{version}.tar.gz @@ -31,6 +31,8 @@ install -Dpm755 *.sh -t %buildroot%_libexecdir/%name/ %files %attr(0755, root, root) %_libexecdir/%name/*.sh +%doc README.md +%license LICENSE %{_rpmmacrodir}/macros.anda %{_rpmmacrodir}/macros.caching %{_rpmmacrodir}/macros.cargo_extra diff --git a/anda/terra/terra-scripts/anda.hcl b/anda/terra/terra-scripts/anda.hcl new file mode 100644 index 0000000000..be2ed3c219 --- /dev/null +++ b/anda/terra/terra-scripts/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "terra-scripts.spec" + } +} diff --git a/anda/terra/terra-scripts/terra-scripts.spec b/anda/terra/terra-scripts/terra-scripts.spec new file mode 100644 index 0000000000..b6b374b544 --- /dev/null +++ b/anda/terra/terra-scripts/terra-scripts.spec @@ -0,0 +1,41 @@ +Name: terra-scripts +Version: 0.2.1 +Release: 1%{?dist} +Summary: Helpful scripts for contributing to Terra +License: GPL-3.0-or-later +URL: https://github.com/terrapkg/cli-tools +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +Requires: bash +BuildArch: noarch +Packager: Its-J +Recommends: podman + +%description +%{summary}. + +%prep +%autosetup -n cli-tools-%{version} + +%install +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 +%license LICENSE +%{_bindir}/format-license +%{_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 +- Package terra-scripts diff --git a/anda/terra/terra-scripts/update.rhai b/anda/terra/terra-scripts/update.rhai new file mode 100644 index 0000000000..9a6687c3aa --- /dev/null +++ b/anda/terra/terra-scripts/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("terrapkg/cli-tools")); diff --git a/anda/themes/adwaita++-icons/adwaita++-icons.spec b/anda/themes/adwaita++-icons/adwaita++-icons.spec index 8e3ed22575..5b6a4c1cee 100644 --- a/anda/themes/adwaita++-icons/adwaita++-icons.spec +++ b/anda/themes/adwaita++-icons/adwaita++-icons.spec @@ -3,10 +3,10 @@ Name: adwaita++-icons Version: 6.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GNOME++, a third-party icons theme, based on new GNOME 3.32's Adwaita -License: GPL-3.0 and LGPL-3.0 and CC-BY-SA +License: GPL-3.0-or-later AND LGPL-3.0-or-later AND CC-BY-SA URL: https://github.com/Bonandry/adwaita-plus Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildArch: noarch diff --git a/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec b/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec index 8aca3f2f12..f100d25649 100644 --- a/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec +++ b/anda/themes/bibata-cursor-theme/bibata-cursor-theme.spec @@ -1,11 +1,10 @@ Name: bibata-cursor-theme Version: 2.0.7 -Release: 1%?dist +Release: 2%?dist URL: https://github.com/ful1e5/Bibata_Cursor Source0: %{url}/releases/download/v%{version}/Bibata.tar.xz Source1: https://raw.githubusercontent.com/ful1e5/Bibata_Cursor/v%{version}/README.md -Source2: https://raw.githubusercontent.com/ful1e5/Bibata_Cursor/v%{version}/LICENSE -License: GPL-3.0 +License: GPL-3.0-or-later Summary: Open source, compact, and material designed cursor set BuildArch: noarch BuildRequires: rpm_macro(fdupes) @@ -25,9 +24,8 @@ tar xf %{SOURCE0} %install mkdir -p %{buildroot}/%{_datadir}/icons/ mv Bibata-* %{buildroot}/%{_datadir}/icons/ -mkdir -p %{buildroot}/%{_datadir}/{doc,licenses}/%{name}/ +mkdir -p %{buildroot}/%{_datadir}/doc/%{name}/ cp %{SOURCE1} %{buildroot}/%{_datadir}/doc/%{name}/README.md -cp %{SOURCE2} %{buildroot}/%{_datadir}/licenses/%{name}/LICENSE %fdupes %buildroot%_datadir/icons/ %files 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 f52a91ba76..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,10 +1,10 @@ Name: breeze-plus-icon-theme -Version: 6.19.0 +Version: 6.26.0 Release: 1%{?dist} Summary: Breeze icon theme with additional icons Packager: Amy King -License: LGPL-2.1-only +License: LGPL-2.1-or-later URL: https://github.com/mjkim0727/breeze-plus Source0: %{url}/archive/refs/tags/%{version}.tar.gz BuildArch: noarch 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 67f001d78a..3e4450fef5 100644 --- a/anda/themes/fluent-icon-theme/fluent-icon-theme.spec +++ b/anda/themes/fluent-icon-theme/fluent-icon-theme.spec @@ -1,11 +1,11 @@ -%global tag 2025-08-21 +%global tag 2026-06-19 Name: fluent-icon-theme -Version: 20250821 -Release: 3%?dist +Version: 20260619 +Release: 1%{?dist} Summary: Fluent icon theme for linux desktops -License: GPL-3.0 +License: GPL-3.0-or-later URL: https://github.com/vinceliuice/Fluent-icon-theme/ Source0: %url/archive/refs/tags/%tag.tar.gz diff --git a/anda/themes/fluent-kde-theme/fluent-kde-theme.spec b/anda/themes/fluent-kde-theme/fluent-kde-theme.spec index b0014961a5..189b85d541 100644 --- a/anda/themes/fluent-kde-theme/fluent-kde-theme.spec +++ b/anda/themes/fluent-kde-theme/fluent-kde-theme.spec @@ -4,7 +4,7 @@ Name: fluent-kde-theme Version: %commit_date.%shortcommit -Release: 1%?dist +Release: 3%?dist Summary: Fluent design theme for KDE License: GPL-3.0-only @@ -17,6 +17,13 @@ BuildRequires: fdupes %description %summary +%package sddm +Summary: Fluent sddm theme for KDE +Supplements: (sddm and fluent-kde-theme) + +%description sddm +Fluent sddm theme for KDE Plasma desktop. + %prep %autosetup -n Fluent-kde-%{commit} @@ -41,6 +48,12 @@ sed -i "s|^[[:space:]]*WALLPAPER_DIR=.*|WALLPAPER_DIR=%{buildroot}%{_datadir}/wa # Invoke the installer now that variables are patched ./install.sh +pushd sddm +mkdir -p %{buildroot}%{_datadir}/sddm/themes +sed -i "s|^[[:space:]]*THEME_DIR=.*|THEME_DIR=%{buildroot}%{_datadir}/sddm/themes|" install.sh +./install.sh +popd + %fdupes %buildroot%_datadir %files @@ -53,5 +66,10 @@ sed -i "s|^[[:space:]]*WALLPAPER_DIR=.*|WALLPAPER_DIR=%{buildroot}%{_datadir}/wa %{_datadir}/Kvantum/Fluent*/ %{_datadir}/wallpapers/Fluent*/ +%files sddm +%license LICENSE +%_datadir/sddm/themes/* + %changelog -%autochangelog +* Sat Jun 27 2026 madonuko - 20251110.44794f2-2 +- add sddm subpkg. diff --git a/anda/themes/fluent-theme/fluent-theme.spec b/anda/themes/fluent-theme/fluent-theme.spec index e42cd8bf72..dde09baa54 100644 --- a/anda/themes/fluent-theme/fluent-theme.spec +++ b/anda/themes/fluent-theme/fluent-theme.spec @@ -2,10 +2,10 @@ Name: fluent-theme Version: 20250417 -Release: 1%?dist +Release: 2%?dist Summary: Fluent design theme for GNOME/GTK based desktop environments -License: GPL-3.0 +License: GPL-3.0-or-later URL: https://github.com/vinceliuice/Fluent-gtk-theme Source0: https://github.com/vinceliuice/Fluent-gtk-theme/archive/refs/tags/%{tag}.tar.gz diff --git a/anda/themes/google-black-cursor-theme/google-black-cursor-theme.spec b/anda/themes/google-black-cursor-theme/google-black-cursor-theme.spec index b295bf9866..f7586f04c7 100644 --- a/anda/themes/google-black-cursor-theme/google-black-cursor-theme.spec +++ b/anda/themes/google-black-cursor-theme/google-black-cursor-theme.spec @@ -1,12 +1,12 @@ Name: google-black-cursor-theme Version: 2.0.0 -Release: 1%{?dist} +Release: 2%{?dist} URL: https://github.com/ful1e5/Google_Cursor Source0: %{url}/releases/download/v%{version}/GoogleDot-Black.tar.gz Source1: https://raw.githubusercontent.com/ful1e5/Google_Cursor/v%{version}/README.md Source2: https://raw.githubusercontent.com/ful1e5/Google_Cursor/v%{version}/LICENSE -License: GPL-3.0 -Summary: An opensource cursor theme inspired by Google. +License: GPL-3.0-or-later +Summary: An opensource cursor theme inspired by Google. BuildArch: noarch BuildRequires: rpm_macro(fdupes) diff --git a/anda/themes/helium-gtk-theme/helium-gtk-theme.spec b/anda/themes/helium-gtk-theme/helium-gtk-theme.spec index 3e76761839..3894bf81d6 100644 --- a/anda/themes/helium-gtk-theme/helium-gtk-theme.spec +++ b/anda/themes/helium-gtk-theme/helium-gtk-theme.spec @@ -3,8 +3,8 @@ Summary: tauOS GTK/GNOME Shell Themes Name: helium-gtk-theme Version: %(echo %ver | sed 's/-/./g') -Release: 2%{?dist} -License: GPL-3.0 +Release: 3%{?dist} +License: GPL-3.0-or-later URL: https://github.com/tau-OS/tau-helium Source0: https://github.com/tau-OS/tau-helium/archive/refs/tags/%{ver}.tar.gz BuildArch: noarch diff --git a/anda/themes/hydrogen-icon-theme/hydrogen-icon-theme.spec b/anda/themes/hydrogen-icon-theme/hydrogen-icon-theme.spec index f7ba7faa06..744f30b98e 100644 --- a/anda/themes/hydrogen-icon-theme/hydrogen-icon-theme.spec +++ b/anda/themes/hydrogen-icon-theme/hydrogen-icon-theme.spec @@ -1,8 +1,8 @@ Summary: tauOS Icon Theme Name: hydrogen-icon-theme Version: 1.0.16 -Release: 2%?dist -License: GPL-3.0 +Release: 3%?dist +License: GPL-3.0-or-later URL: https://github.com/tau-OS/tau-hydrogen Source0: https://github.com/tau-OS/tau-hydrogen/archive/refs/tags/%{version}.tar.gz BuildArch: noarch diff --git a/anda/themes/kde-material-you-colors/VERSION_qt6-qtbase.txt b/anda/themes/kde-material-you-colors/VERSION_qt6-qtbase.txt index 22cb9e5536..fac714a322 100644 --- a/anda/themes/kde-material-you-colors/VERSION_qt6-qtbase.txt +++ b/anda/themes/kde-material-you-colors/VERSION_qt6-qtbase.txt @@ -1 +1 @@ -6.10.2 +6.11.1 diff --git a/anda/themes/kde-material-you-colors/kde-material-you-colors.spec b/anda/themes/kde-material-you-colors/kde-material-you-colors.spec index b48e2087c5..38980d449d 100644 --- a/anda/themes/kde-material-you-colors/kde-material-you-colors.spec +++ b/anda/themes/kde-material-you-colors/kde-material-you-colors.spec @@ -1,10 +1,11 @@ %global appid luisbocanegra.kdematerialyou.colors %global developer "Luis Bocanegra" %global org "com.github.luisbocanegra" +%global pypi_name kde_material_you_colors Name: kde-material-you-colors -Version: 2.0.0 -Release: 4%?dist +Version: 2.2.0 +Release: 5%{?dist} Summary: Automatic Material You Colors Generator from your wallpaper for the Plasma Desktop License: GPL-3.0-only URL: https://github.com/luisbocanegra/%{name} @@ -15,7 +16,6 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 3.16 BuildRequires: extra-cmake-modules >= 6.0.0 -BuildRequires: fdupes BuildRequires: generic-logos BuildRequires: pyproject-rpm-macros BuildRequires: python3-devel @@ -32,7 +32,7 @@ BuildRequires: cmake(Qt5Core) BuildRequires: pkgconfig(ocl-icd) Requires: qt5-qtbase Requires: kf6-filesystem >= 6.0.0 -Requires: python3-%{name} = %{version}-%{release} +Requires: python3-%{name} = %{evr} Packager: Gilver E. %description @@ -40,48 +40,45 @@ Automatic Material You Colors Generator from your wallpaper for the Plasma Deskt %package -n python3-%{name} Summary: Python files for %{name} -Requires: %{name} = %{version}-%{release} -Requires: python3-dbus -Requires: python3dist(numpy) >= 1.20 -Requires: python3dist(materialyoucolor) >= 2.0.9 -Requires: python3dist(pywal16) -Requires: python3dist(pillow) +Requires: %{name} = %{evr} +Requires: python%{python3_version}dist(file-magic) +Requires: python%{python3_version}dist(pywal16) BuildArch: noarch %description -n python3-%{name} Python files for KDE Material You Colors. %prep -%autosetup -p1 -n %{name}-%{version} -sed -iE 's:\"python-magic.*\":\"file-magic\":' pyproject.toml +%autosetup -n %{name}-%{version} +%pyproject_patch_dependency python-magic:ignore + +%conf +%cmake \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DINSTALL_PLASMOID="ON" %build %pyproject_wheel -%cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DINSTALL_PLASMOID=ON %cmake_build %install %pyproject_install -DESTDIR="%{buildroot}" %cmake_install - -sed -Ei "s:^(#!.*)env (python.*)$:\1python3:" %{buildroot}%{python3_sitelib}/kde_material_you_colors/main.py -%fdupes %{buildroot}%{python3_sitelib}/%{name}/ +%pyproject_save_files %{pypi_name} +%cmake_install %files %doc CHANGELOG.md %doc README.md %license LICENSE %{_bindir}/%{name}-screenshot-helper -%{_datadir}/applications/%{name}-screenshot-helper.desktop -%{_datadir}/plasma/plasmoids/luisbocanegra.kdematerialyou.colors/ +%{_appsdir}/%{name}-screenshot-helper.desktop +%{_datadir}/plasma/plasmoids/%{appid}/ -%files -n python3-%{name} +%files -n python3-%{name} -f %{pyproject_files} %{_bindir}/%{name} -%{python3_sitelib}/kde_material_you_colors/ -%{python3_sitelib}/kde_material_you_colors-%{version}.dist-info/ %changelog +* Tue May 5 2026 Gilver E. - 2.2.0-4 +- Refactor build around new RPM macros * Wed May 28 2025 Gilver E. - Initial package diff --git a/anda/themes/kde-material-you-colors/update.rhai b/anda/themes/kde-material-you-colors/update.rhai index 3d67611499..117be52924 100644 --- a/anda/themes/kde-material-you-colors/update.rhai +++ b/anda/themes/kde-material-you-colors/update.rhai @@ -1,7 +1,7 @@ import "andax/bump_extras.rhai" as bump; import "andax/spec.rhai" as spec; -rpm.version(pypi("kde-material-you-colors")); +rpm.version(find(`version = \"([\d.]+)\"`, gh_rawfile("luisbocanegra/kde-material-you-colors", "main", "pyproject.toml"), 1)); open_file("anda/themes/kde-material-you-colors/VERSION_qt6-qtbase.txt", "w").write(bump::bodhi("qt6-qtbase", bump::as_bodhi_ver(labels.branch))); diff --git a/anda/themes/klassy/klassy.spec b/anda/themes/klassy/klassy.spec index eca50ab33a..64d5ebc191 100644 --- a/anda/themes/klassy/klassy.spec +++ b/anda/themes/klassy/klassy.spec @@ -12,13 +12,13 @@ License: GPL-2.0-or-later Group: System/GUI/KDE URL: %{forgeurl} Source: %{forgesource} -Patch0: https://github.com/paulmcauley/klassy/pull/178.patch Obsoletes: classikstyles <= %{version} Obsoletes: classik <= %{version} BuildRequires: cmake >= 3.16 BuildRequires: extra-cmake-modules >= 5.102.0 +BuildRequires: gettext BuildRequires: kf5-rpm-macros BuildRequires: kf5-filesystem @@ -80,13 +80,29 @@ Klassy (formerly ClassiK/ClassikStyles) is a highly customizable binary Window D %forgeautosetup -p1 %build -%cmake +mkdir -p qt6-build +pushd qt6-build +%cmake_kf6 -S .. -DBUILD_QT6=ON -DBUILD_QT5=OFF %cmake_build +popd +mkdir -p qt5-build +pushd qt5-build +%cmake_kf5 -S .. -DBUILD_QT6=OFF -DBUILD_QT5=ON +%cmake_build +popd %install +pushd qt5-build %cmake_install +popd +pushd qt6-build +%cmake_install +popd -%files +%find_lang %{name}_style_config +%find_lang %{name}_kwin_deco + +%files -f %{name}_style_config.lang -f %{name}_kwin_deco.lang %license LICENSES/*.txt %{_bindir}/%{name}-settings @@ -102,18 +118,19 @@ Klassy (formerly ClassiK/ClassikStyles) is a highly customizable binary Window D %{_kf6_qtplugindir}/kstyle_config/klassystyleconfig.so %{_kf6_qtplugindir}/org.kde.kdecoration3/org.kde.klassy.so %{_kf6_qtplugindir}/org.kde.kdecoration3.kcm/kcm_klassydecoration.so -%{_kf6_qtplugindir}/org.kde.kdecoration2.kcm/klassydecoration/presets/* +%{_kf6_qtplugindir}/org.kde.kdecoration3.kcm/klassydecoration/presets/* %{_kf6_datadir}/applications/kcm_klassydecoration.desktop %{_kf6_datadir}/applications/klassystyleconfig.desktop %{_kf6_datadir}/applications/klassy-settings.desktop %{_kf6_datadir}/color-schemes/Klassy*.colors +%{_kf6_datadir}/color-schemes/OpalFruits*.colors %{_datadir}/icons/hicolor/ %{_datadir}/icons/%{name}/ %{_datadir}/icons/%{name}-dark/ -%{_datadir}/plasma/desktoptheme/%{name}/ +%{_datadir}/plasma/desktoptheme/kite-*/ %{_kf6_datadir}/kstyle/themes/%{name}.themerc @@ -122,4 +139,3 @@ Klassy (formerly ClassiK/ClassikStyles) is a highly customizable binary Window D %changelog %autochangelog - 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/lightly-qt6/VER6.txt b/anda/themes/lightly-qt6/VER6.txt index 9a037142aa..9d607966b7 100644 --- a/anda/themes/lightly-qt6/VER6.txt +++ b/anda/themes/lightly-qt6/VER6.txt @@ -1 +1 @@ -10 \ No newline at end of file +11 \ No newline at end of file diff --git a/anda/themes/orchis-theme/orchis-theme.spec b/anda/themes/orchis-theme/orchis-theme.spec index 1fbc94b15e..166b336629 100644 --- a/anda/themes/orchis-theme/orchis-theme.spec +++ b/anda/themes/orchis-theme/orchis-theme.spec @@ -6,7 +6,7 @@ Name: gtk-theme-%theme_name Version: %{sanitized_ver} -Release: 2%?dist +Release: 3%{?dist} Summary: Orchis is a Material Design theme for GNOME/GTK based desktop environments License: GPL-3.0-only Url: https://github.com/vinceliuice/Orchis-theme/ @@ -25,6 +25,8 @@ Requires: sassc BuildArch: noarch +Packager: Owen Zimmerman + %description Orchis is a Material Design theme for GNOME/GTK based desktop environments. Based on nana-4 -- materia-theme (https://github.com/nana-4/materia-theme). 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/themes/unity-asset-pool/unity-asset-pool.spec b/anda/themes/unity-asset-pool/unity-asset-pool.spec index 068c52a4fc..4555a7684f 100644 --- a/anda/themes/unity-asset-pool/unity-asset-pool.spec +++ b/anda/themes/unity-asset-pool/unity-asset-pool.spec @@ -3,7 +3,7 @@ Name: unity-asset-pool Summary: Assets and icons for Unity Version: 0.8.24 -Release: %autorelease +Release: 1%?dist License: CC-BY-SA URL: https://launchpad.net/unity-asset-pool diff --git a/anda/tools/Google-Health-CLI/Google-Health-CLI.spec b/anda/tools/Google-Health-CLI/Google-Health-CLI.spec new file mode 100644 index 0000000000..1d988c969d --- /dev/null +++ b/anda/tools/Google-Health-CLI/Google-Health-CLI.spec @@ -0,0 +1,45 @@ +%global goipath github.com/rudrankriyam/Google-Health-CLI +Version: 1.0.0 + +%gometa -f + +Name: google-health-cli +Release: 1%{?dist} +Summary: Unofficial Google-Health-CLI for the Google Health API, written in Go + +License: MIT +URL: https://github.com/rudrankriyam/Google-Health-CLI +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +Packager: Owen Zimmerman + +BuildRequires: golang +BuildRequires: gcc +BuildRequires: go-rpm-macros +Requires: glibc + +Provides: Google-Health-CLI + +%description +%{summary}. + +%gopkg + +%prep +%autosetup -n Google-Health-CLI-%{version} + +%build +%define gomodulesmode GO111MODULE=on +%gobuild -o %{gobuilddir}/cmd/ghealth %{goipath} + +%install +install -Dm 0755 %{gobuilddir}/cmd/ghealth %{buildroot}%{_bindir}/ghealth + +%files +%license LICENSE +%doc README.md CONTRIBUTING.md CHANGELOG.md SECURITY.md +%{_bindir}/ghealth + +%changelog +* Sat May 09 2026 Owen Zimmerman +- Initial commit diff --git a/anda/tools/Google-Health-CLI/anda.hcl b/anda/tools/Google-Health-CLI/anda.hcl new file mode 100644 index 0000000000..3777736394 --- /dev/null +++ b/anda/tools/Google-Health-CLI/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "Google-Health-CLI.spec" + } +} diff --git a/anda/tools/Google-Health-CLI/update.rhai b/anda/tools/Google-Health-CLI/update.rhai new file mode 100644 index 0000000000..541a159c9d --- /dev/null +++ b/anda/tools/Google-Health-CLI/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("rudrankriyam/Google-Health-CLI")); diff --git a/anda/tools/HeadsetControl-nightly/CMAKE_INSTALL_LIBDIR.patch b/anda/tools/HeadsetControl-nightly/CMAKE_INSTALL_LIBDIR.patch new file mode 100644 index 0000000000..115f4cc54b --- /dev/null +++ b/anda/tools/HeadsetControl-nightly/CMAKE_INSTALL_LIBDIR.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e9d6f8..75f8cf9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -292,7 +292,7 @@ if(PROJECT_IS_TOP_LEVEL) + # ------------------------------------------------------------------------------ + + install(TARGETS headsetcontrol DESTINATION bin) +- install(TARGETS headsetcontrol_lib DESTINATION lib) ++ install(TARGETS headsetcontrol_lib DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + # Install shared library if built + if(BUILD_SHARED_LIBRARY) diff --git a/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec b/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec index 45852d5d76..87bfd7c690 100644 --- a/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec +++ b/anda/tools/HeadsetControl-nightly/HeadsetControl-nightly.spec @@ -1,31 +1,41 @@ %global _udevrulesdir /usr/lib/udev/rules.d -%global commit abfb248a056c62c1d26febb5278cf8994f12e483 +%global commit 1507c7204181440ed4bc7676e3641415d9ba8163 %global commitdate 20251121 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: HeadsetControl-nightly Version: 0^%{commitdate}.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: A tool to control certain aspects of USB-connected headsets on Linux URL: https://github.com/Sapd/HeadsetControl Source: %{url}/archive/%{commit}.tar.gz -License: GPL-3.0 +Patch0: CMAKE_INSTALL_LIBDIR.patch +License: GPL-3.0-or-later Provides: headsetcontrol-nightly Conflicts: headsetcontrol -BuildRequires: cmake gcc hidapi-devel +BuildRequires: cmake gcc gcc-c++ hidapi-devel %description A tool to control certain aspects of USB-connected headsets on Linux. Currently, support is provided for adjusting sidetone, getting battery state, controlling LEDs, and setting the inactive time. +%package devel +%pkg_devel_files + +%package static +%pkg_static_files + %prep -%autosetup -n HeadsetControl-%{commit} +%autosetup -n HeadsetControl-%{commit} -p1 + +%conf +%cmake \ + -DCMAKE_INSTALL_LIBDIR=%{_lib} %build -%cmake %cmake_build %install @@ -38,5 +48,8 @@ state, controlling LEDs, and setting the inactive time. %{_udevrulesdir}/70-headsets.rules %changelog +* Wed May 13 2026 Owen Zimmerman +- Add devel and static subpackages, add patch, fix license + * Wed Nov 26 2025 metcya - package HeadsetControl diff --git a/anda/tools/MareTF/MareTF.spec b/anda/tools/MareTF/MareTF.spec new file mode 100644 index 0000000000..022af94b65 --- /dev/null +++ b/anda/tools/MareTF/MareTF.spec @@ -0,0 +1,61 @@ +%define debug_package %{nil} + +Name: MareTF +Version: 0.12.0 +Release: 1%{?dist} +License: MIT +Summary: A utility to create, edit, and display every type of VTF file ever made +URL: https://github.com/craftablescience/MareTF +Source: %{url}/archive/refs/tags/v%{version}.tar.gz +Packager: Owen Zimmerman +Provides: maretf + +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(flac) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(zlib) +BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: ninja-build +BuildRequires: vulkan-headers + +%description +%{summary}. + +%prep +%git_clone + +%conf +%cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DMARETF_BUILD_INSTALLER=ON \ + -DCPACK_GENERATOR=RPM \ + -DMARETF_BUILD_INSTALLER=ON + +%build +%cmake_build + +%install +%cmake_install + +%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 +- Build release build + +* Sat Mar 14 2026 Owen Zimmerman +- Initial commit diff --git a/anda/tools/MareTF/anda.hcl b/anda/tools/MareTF/anda.hcl new file mode 100644 index 0000000000..ff6f663d92 --- /dev/null +++ b/anda/tools/MareTF/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "MareTF.spec" + } +} diff --git a/anda/tools/MareTF/update.rhai b/anda/tools/MareTF/update.rhai new file mode 100644 index 0000000000..207c029245 --- /dev/null +++ b/anda/tools/MareTF/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("craftablescience/MareTF")); 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-bricks-py/arduino-app-bricks-py.spec b/anda/tools/arduino-app-bricks-py/arduino-app-bricks-py.spec index b79061e640..4786e75b99 100644 --- a/anda/tools/arduino-app-bricks-py/arduino-app-bricks-py.spec +++ b/anda/tools/arduino-app-bricks-py/arduino-app-bricks-py.spec @@ -1,7 +1,7 @@ %global pypi_name app-bricks-py %global _desc The code of the Arduino App Lab Bricks -%global ver release/0.8.0rc1 +%global ver release/0.10.1 %global sanitized_ver %(echo %{ver} | sed 's|release/||') Name: %{pypi_name} diff --git a/anda/tools/arduino-app-cli/arduino-app-cli.spec b/anda/tools/arduino-app-cli/arduino-app-cli.spec index 6da107809b..59e38d4675 100644 --- a/anda/tools/arduino-app-cli/arduino-app-cli.spec +++ b/anda/tools/arduino-app-cli/arduino-app-cli.spec @@ -1,10 +1,10 @@ %global goipath github.com/arduino/arduino-app-cli -Version: 0.8.3 +Version: 0.11.1 %gometa -f Name: arduino-app-cli -Release: 1%?dist +Release: 1%{?dist} Summary: The CLI and service that manages and runs Arduino Apps on UNO Q License: GPL-3.0-only diff --git a/anda/tools/arduino-cli/arduino-cli.spec b/anda/tools/arduino-cli/arduino-cli.spec index d9c69ae445..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.4.1 +Version: 1.5.1 %gometa -f @@ -12,7 +12,7 @@ Arduino CLI is an all-in-one solution that provides Boards/Library Managers, ske %global godocs README.md Name: arduino-cli -Release: 1%?dist +Release: 1%{?dist} Summary: Arduino command line tool License: GPL-3.0 Packager: Owen Zimmerman diff --git a/anda/tools/arduino-flasher-cli/arduino-flasher-cli.spec b/anda/tools/arduino-flasher-cli/arduino-flasher-cli.spec index 2b6a39b588..fef8ecedff 100644 --- a/anda/tools/arduino-flasher-cli/arduino-flasher-cli.spec +++ b/anda/tools/arduino-flasher-cli/arduino-flasher-cli.spec @@ -1,5 +1,5 @@ %global goipath github.com/arduino/arduino-flasher-cli -Version: 0.5.0 +Version: 0.5.1 %gometa -f @@ -10,7 +10,7 @@ CLI tool to flash UNO Q boards with the latest Arduino Linux image.} %global godocs README.md Name: arduino-flasher-cli -Release: 1%?dist +Release: 1%{?dist} Summary: CLI tool to flash UNO Q boards with the latest Arduino Linux image License: GPL-3.0-only URL: %{gourl} diff --git a/anda/tools/arduino-remoteocd/arduino-remoteocd.spec b/anda/tools/arduino-remoteocd/arduino-remoteocd.spec index d49f67b612..f45b84e53e 100644 --- a/anda/tools/arduino-remoteocd/arduino-remoteocd.spec +++ b/anda/tools/arduino-remoteocd/arduino-remoteocd.spec @@ -1,7 +1,7 @@ %global goipath github.com/arduino/remoteocd -%global commit 3cf11b106f040493ea3589ddaf56df9c6396d17f -%global commit_date 20260224 +%global commit 7109bed7d4f138795d7a5c07c0b9d292fd81d77d +%global commit_date 20260513 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Version: 0^%commit_date.%shortcommit @@ -9,7 +9,7 @@ Version: 0^%commit_date.%shortcommit %gometa -f Name: remoteocd -Release: 1%?dist +Release: 1%{?dist} Summary: Flexible firmware flashing for the Arduino UNO Q Microcontroller License: GPL-3.0-only 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/binsider/binsider.spec b/anda/tools/binsider/binsider.spec index dfc1db29e8..5fac1f76a6 100644 --- a/anda/tools/binsider/binsider.spec +++ b/anda/tools/binsider/binsider.spec @@ -1,8 +1,8 @@ Name: binsider Version: 0.3.2 -Release: 1%?dist +Release: 2%?dist Summary: Analyze ELF binaries like a boss 😼🕵️‍♂️ -License: Apache-2.0 AND MIT +License: Apache-2.0 OR MIT URL: https://github.com/orhun/binsider Source0: %url/archive/refs/tags/v%{version}.tar.gz diff --git a/anda/tools/buildsys/anda/rust-anda.spec b/anda/tools/buildsys/anda/rust-anda.spec deleted file mode 100644 index 3f37262818..0000000000 --- a/anda/tools/buildsys/anda/rust-anda.spec +++ /dev/null @@ -1,89 +0,0 @@ -# Generated by rust2rpm 22 -%bcond_without check -%define debug_package %{nil} - -%global crate anda - -Name: rust-anda -Version: 0.4.15 -Release: 1%?dist -Summary: Andaman Build toolchain - -License: MIT -URL: https://crates.io/crates/anda -Source: https://github.com/FyraLabs/anda/archive/refs/tags/%{version}.tar.gz - -ExclusiveArch: %{rust_arches} - -BuildRequires: rust-packaging >= 21 -BuildRequires: anda-srpm-macros -BuildRequires: openssl-devel -%if 0%{?fedora} -BuildRequires: openssl-devel-engine -%endif -BuildRequires: git-core -BuildRequires: libgit2-devel -BuildRequires: libssh2-devel -BuildRequires: mold - -%global _description %{expand: -Andaman Build toolchain.} - -%description %{_description} - -%package -n %{crate} -Summary: %{summary} -Requires: mock -Requires: rpm-build -Requires: createrepo_c -Requires: git-core -Requires: libgit2 -%if 0%{?fedora} >= 42 -Requires: mock-filesystem -Requires: util-linux-script -%endif - -%description -n %{crate} %{_description} - -%files -n %{crate} -%license LICENSE.dependencies LICENSE.md -%{_bindir}/anda -%{_mandir}/man1/anda*.1* -%config %{_sysconfdir}/bash_completion.d/anda.bash -%{_datadir}/zsh/site-functions/_anda -%{_datadir}/fish/completions/anda.fish - -%prep -%autosetup -n %{crate}-%{version_no_tilde} -p1 -%cargo_prep_online - -%build -%cargo_build -%{cargo_license_online} > LICENSE.dependencies -cargo run --release -p xtask -- manpage -cargo run --release -p xtask -- completion - -%install -install -Dpm755 target/rpm/anda -t %buildroot%_bindir/ - -mkdir -p %{buildroot}%{_mandir}/man1/ - -# Install shell completions - -COMPDIR="target/assets/completion" - -mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d/ -cp -v $COMPDIR/bash/anda.bash %{buildroot}%{_sysconfdir}/bash_completion.d/anda.bash -mkdir -p %{buildroot}%{_datadir}/zsh/site-functions/ -cp -v $COMPDIR/zsh/_anda %{buildroot}%{_datadir}/zsh/site-functions/_anda -mkdir -p %{buildroot}%{_datadir}/fish/completions/ -cp -v $COMPDIR/fish/anda.fish %{buildroot}%{_datadir}/fish/completions/anda.fish - -# install man pages -cp -v target/assets/man_pages/* %{buildroot}%{_mandir}/man1/ - - -rm -rf %{buildroot}%{cargo_registry} - -%changelog -%autochangelog diff --git a/anda/tools/buildsys/muon/muon.spec b/anda/tools/buildsys/muon/muon.spec deleted file mode 100644 index 383d29ca4f..0000000000 --- a/anda/tools/buildsys/muon/muon.spec +++ /dev/null @@ -1,39 +0,0 @@ -Name: muon -Version: 0.5.0 -Release: 1%?dist -Summary: A meson-compatible build system - -# muon is licensed under the GPL version 3 (see LICENSE). Tests under tests/project were copied from the meson project tests and are licensed under Apache 2.0. -License: GPL-3.0 AND Apache-2.0 -URL: https://muon.build/ -Source: https://git.sr.ht/~lattis/muon/archive/%{version}.tar.gz - -BuildRequires: meson -BuildRequires: gcc -BuildRequires: cmake -BuildRequires: libcurl-devel -BuildRequires: libarchive-devel -BuildRequires: libpkgconf-devel -BuildRequires: scdoc -BuildRequires: git-core - -%description -An implementation of the meson build system in c99 with minimal dependencies. - -%prep -%autosetup - -%build -%meson -Dtracy=disabled -%meson_build - -%install -%meson_install - -%files -/usr/bin/muon -%{_mandir}/man1/muon* -%{_mandir}/man5/meson* - -%changelog -%autochangelog diff --git a/anda/tools/buildsys/muon/update.rhai b/anda/tools/buildsys/muon/update.rhai deleted file mode 100644 index 61177c274a..0000000000 --- a/anda/tools/buildsys/muon/update.rhai +++ /dev/null @@ -1,4 +0,0 @@ -let versions = get("https://muon.build/releases/").json().keys(); -versions.sort(); -versions.pop(); -rpm.version(versions.pop()); diff --git a/anda/tools/buildsys/ops2deb/ops2deb.spec b/anda/tools/buildsys/ops2deb/ops2deb.spec deleted file mode 100644 index da677895e3..0000000000 --- a/anda/tools/buildsys/ops2deb/ops2deb.spec +++ /dev/null @@ -1,43 +0,0 @@ -%global debug_package %nil -%define _python_dist_allow_version_zero # upstream issue? - -Name: python3-ops2deb -Version: 2.7.0 -Release: 1%?dist -Summary: Generate Debian packages for common devops tools -License: MIT -URL: https://github.com/upciti/ops2deb -Source0: %url/archive/refs/tags/%version.tar.gz -BuildRequires: python3-devel poetry python3.10 -BuildRequires: python3dist(setuptools) -BuildArch: noarch - -%description -ops2deb is designed to generate Debian packages for common devops tools, but -can be used to package any portable application. It consumes a configuration -file and outputs .deb packages. ops2deb can also track new releases of upstream -applications and automatically bump application versions in its configuration -file. - - -%prep -%autosetup -n ops2deb-%version - -%build -poetry build - -%install -python3.10 -m ensurepip -python3.10 -m pip install installer -python3.10 -m installer --destdir=%buildroot dist/*.whl -rm -rf %buildroot/%python3_sitelib/*/__pycache__ - -%files -%license LICENSE -%doc README.md -/usr/bin/ops2deb -/usr/lib/python3*/site-packages/ops2deb* - -%changelog -* Fri Apr 28 2023 madonuko - 2.4.1-1 -- Initial package. diff --git a/anda/tools/butler-bin/butler-bin.spec b/anda/tools/butler-bin/butler-bin.spec index a39d0f3b2d..502aa8c7cd 100644 --- a/anda/tools/butler-bin/butler-bin.spec +++ b/anda/tools/butler-bin/butler-bin.spec @@ -1,6 +1,6 @@ Name: butler-bin -Version: 15.26.1 -Release: 1%?dist +Version: 15.27.0 +Release: 1%{?dist} Summary: Command-line itch.io helper. URL: https://itch.io/docs/butler Source0: https://broth.itch.ovh/butler/linux-amd64/LATEST/archive/default diff --git a/anda/tools/carapace/carapace.spec b/anda/tools/carapace/carapace.spec index 75b9649374..37fd09e871 100644 --- a/anda/tools/carapace/carapace.spec +++ b/anda/tools/carapace/carapace.spec @@ -1,12 +1,12 @@ %define debug_package %{nil} %global goipath github.com/carapace-sh/carapace-bin -Version: 1.6.3 +Version: 1.7.1 %gometa -f Name: carapace -Release: 1%?dist +Release: 1%{?dist} Summary: A multi-shell completion binary License: MIT diff --git a/anda/tools/chafa/chafa.spec b/anda/tools/chafa/chafa.spec index 217226dd07..b69d1b21f4 100644 --- a/anda/tools/chafa/chafa.spec +++ b/anda/tools/chafa/chafa.spec @@ -1,6 +1,6 @@ Name: terra-chafa -Version: 1.18.1 -Release: 1%?dist +Version: 1.18.2 +Release: 1%{?dist} Summary: Terminal graphics for the 21st century License: LGPL-3.0-or-later AND GPL-3.0-or-later URL: https://hpjansson.org/chafa/ @@ -45,9 +45,11 @@ Requires: %{name}-libs%{?_isa} = %{evr} %prep %autosetup -n chafa-%{version} -%build +%conf autoreconf -ivf %configure --disable-rpath + +%build %make_build %install diff --git a/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec b/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec index 41180756b8..e5d4ad3eb9 100644 --- a/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec +++ b/anda/tools/cloudflare-speed-cli/cloudflare-speed-cli.spec @@ -1,8 +1,8 @@ %define debug_package %{nil} Name: cloudflare-speed-cli -Version: 0.6.5 -Release: 1%?dist +Version: 1.0.6 +Release: 1%{?dist} Summary: CLI for internet speed test via cloudflare License: GPL-3.0-or-later 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 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 OR Apache-2.0 OR MIT) AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND BSD-3-Clause AND BSL-1.0 AND CDLA-Permissive-2.0 AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR BSD-3-Clause) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib diff --git a/anda/tools/copyparty/copyparty.spec b/anda/tools/copyparty/copyparty.spec index 30bb54402a..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.10 -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 5e3ed1f5bf..538ff351f1 100644 --- a/anda/tools/coreboot-utils/coreboot-utils.spec +++ b/anda/tools/coreboot-utils/coreboot-utils.spec @@ -1,8 +1,6 @@ -%define debug_package %nil - Name: coreboot-utils -Version: 25.12 -Release: 3%?dist +Version: 26.06 +Release: 3%{?dist} Summary: Various coreboot utilities URL: https://doc.coreboot.org License: BSD-3-Clause AND Apache-2.0 AND CC-BY-SA-3.0 AND GPL-2.0-only AND GPL-3.0-or-later AND ISC AND BSD-2-Clause-Patent AND BSD-4-Clause-UC AND CC-PDDC AND GPL-2.0-or-later AND HPND-sell-varient AND LGPL-2.1-or-later AND BSD-2-Clause AND CC-BY-4.0 AND GPL-3.0-only AND HPND AND X11 AND MIT @@ -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 @@ -129,6 +124,12 @@ Obsoletes: abuild <= 25.06 %description abuild %summary. +%package acpi +Summary: Walk through all ACPI tables with their addresses +Requires: coreboot-utils = %{evr} +%description acpi +%summary. + %package amdfwtool Summary: Create AMD Firmware combination Requires: coreboot-utils = %{evr} @@ -156,11 +157,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 @@ -198,9 +199,18 @@ Requires: coreboot-utils = %{evr} %summary. %endif +%package cavium +Summary: Devicetree_convert Tool to convert a DTB to a static C file +Requires: coreboot-utils = %{evr} +Provides: %{name}-devicetree_convert +Provides: %{name}-devicetree-convert +%description cavium +%summary. + %package cbfstool Summary: Management utility for CBFS formatted ROM images Requires: coreboot-utils = %{evr} +Requires: python3-pytest Conflicts: cbfstool <= 25.06 Obsoletes: cbfstool <= 25.06 %description cbfstool @@ -499,15 +509,21 @@ Requires: coreboot-utils = %{evr} %patch -P0 -p1 %patch -P1 -p1 -%build -%if 0%{?fedora} >= 42 -export CC=gcc-14 -export CXX=g++-14 +%conf +%ifarch x86_64 +pushd util/msrtool +%configure +popd %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" @@ -517,7 +533,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 @@ -527,13 +543,16 @@ 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 %endif %make_build -C kbc1126 %ifarch x86_64 +%make_build -C msrtool +%endif +%ifarch x86_64 %make_build -C nvramtool LDFLAGS="-fPIE" %endif %ifarch x86_64 @@ -557,21 +576,15 @@ export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readon %gobuild -o %{_builddir}/autoport popd -%ifarch x86_64 -pushd msrtool -%configure -%make_build -popd -%endif - pushd coreboot-configurator -%meson %meson_build popd popd %install -install -Dm 777 util/abuild/abuild %{buildroot}%{_bindir}/abuild +install -Dm 755 util/abuild/abuild %{buildroot}%{_bindir}/abuild + +install -Dm 755 util/acpi/acpidump-all %{buildroot}%{_bindir}/acpidump-all install -Dm 755 util/amdfwtool/amdfwtool %{buildroot}%{_bindir}/amdfwtool install -Dm 755 util/amdfwtool/amdfwread %{buildroot}%{_bindir}/amdfwread @@ -586,7 +599,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 755 util/archive/archive %{buildroot}%{_bindir}/archive install -Dm 755 %{_builddir}/autoport %{buildroot}%{_bindir}/autoport @@ -600,7 +613,18 @@ install -Dm 755 util/board_status/set_up_live_image.sh %{buildroot}%{_bindir}/se install -Dm 755 util/bucts/bucts %{buildroot}%{_bindir}/bucts %endif +install -Dm 755 util/cavium/devicetree_convert.py %{buildroot}%{_bindir}/devicetree_convert + install -Dm 755 util/cbfstool/cbfstool %{buildroot}%{_bindir}/cbfstool +install -Dm 755 util/cbfstool/cbfs-compression-tool %{buildroot}%{_bindir}/cbfs-compression-tool +install -Dm 755 util/cbfstool/cse_fpt %{buildroot}%{_bindir}/cse_fpt +install -Dm 755 util/cbfstool/cse_serger %{buildroot}%{_bindir}/cse_serger +install -Dm 755 util/cbfstool/elogtool %{buildroot}%{_bindir}/elogtool +install -Dm 755 util/cbfstool/fmaptool %{buildroot}%{_bindir}/fmaptool +install -Dm 755 util/cbfstool/ifittool %{buildroot}%{_bindir}/ifittool +install -Dm 755 util/cbfstool/ifwitool %{buildroot}%{_bindir}/ifwitool +install -Dm 755 util/cbfstool/rmodtool %{buildroot}%{_bindir}/rmodtool +install -Dm 755 util/cbfstool/test %{buildroot}%{_bindir}/cbfstool-test install -Dm 755 util/cbfstool/tests/conftest.py %{buildroot}%{_bindir}/conftest.py install -Dm 755 util/cbfstool/tests/elogtool_test.py %{buildroot}%{_bindir}/elogtool_test.py @@ -644,7 +668,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 @@ -763,6 +787,8 @@ cp Documentation/util/smmstoretool/index.md %{buildroot}%{_pkgdocdir}/smmstoreto %{__ln_s} -f %{_bindir}/getrevision %{buildroot}%{_bindir}/getrevision.sh %{__ln_s} -f %{_bindir}/set_up_live_image %{buildroot}%{_bindir}/set_up_live_image.sh +%{__ln_s} -f %{_bindir}/devicetree_convert %{buildroot}%{_bindir}/devicetree_convert.py + %{__ln_s} -f %{_bindir}/conftest.py %{buildroot}%{_bindir}/conftest %{__ln_s} -f %{_bindir}/elogtool_test.py %{buildroot}%{_bindir}/elogtool_test @@ -819,6 +845,10 @@ cp Documentation/util/smmstoretool/index.md %{buildroot}%{_pkgdocdir}/smmstoreto %files abuild %{_bindir}/abuild +%files acpi +%{_bindir}/acpidump-all +%doc util/acpi/*.md + %files all %files amdfwtool @@ -847,6 +877,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 @@ -870,8 +904,22 @@ cp Documentation/util/smmstoretool/index.md %{buildroot}%{_pkgdocdir}/smmstoreto %doc util/bucts/*.md %endif +%files cavium +%{_bindir}/devicetree_convert +%{_bindir}/devicetree_convert.py +%doc util/cavium/*.md + %files cbfstool %{_bindir}/cbfstool +%{_bindir}/cbfs-compression-tool +%{_bindir}/cse_fpt +%{_bindir}/cse_serger +%{_bindir}/elogtool +%{_bindir}/fmaptool +%{_bindir}/ifittool +%{_bindir}/ifwitool +%{_bindir}/rmodtool +%{_bindir}/cbfstool-test %doc util/cbfstool/description.md %files cbfstool-tests @@ -1127,6 +1175,12 @@ cp Documentation/util/smmstoretool/index.md %{buildroot}%{_pkgdocdir}/smmstoreto %doc util/xcompile/description.md %changelog +* Thu Jun 25 2026 Owen Zimmerman +- Add more subpackages, add more cbfstool files + +* 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/curl-impersonate/curl-impersonate-chrome.spec b/anda/tools/curl-impersonate/curl-impersonate-chrome.spec index 981d34621b..4416f46074 100644 --- a/anda/tools/curl-impersonate/curl-impersonate-chrome.spec +++ b/anda/tools/curl-impersonate/curl-impersonate-chrome.spec @@ -50,8 +50,10 @@ This package contains the object files necessary to develop %{name}. %prep %autosetup -n curl-impersonate-%{version} -p1 -%build +%conf %configure + +%build %{__make} chrome-build %check 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 abf0fab418..d2a5ca7eff 100644 --- a/anda/tools/electron/electron.spec +++ b/anda/tools/electron/electron.spec @@ -1,7 +1,7 @@ Name: electron %electronmeta -Version: 40.7.0 -Release: 1%?dist +Version: 42.5.1 +Release: 1%{?dist} Summary: Build cross platform desktop apps with web technologies License: %{electron_license} URL: https://electronjs.org/ diff --git a/anda/tools/framework-system/framework-system.spec b/anda/tools/framework-system/framework-system.spec index d30e6efe39..dc5c73072a 100644 --- a/anda/tools/framework-system/framework-system.spec +++ b/anda/tools/framework-system/framework-system.spec @@ -1,6 +1,6 @@ Name: framework-system -Version: 0.5.0 -Release: 1%?dist +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 Source0: %{url}/archive/refs/tags/v%{version}.tar.gz @@ -12,7 +12,6 @@ BuildRequires: rust-udev-devel BuildRequires: rust BuildRequires: systemd-devel BuildRequires: hidapi-devel -Requires: rustup Provides: framework_tool ExclusiveArch: x86_64 @@ -32,8 +31,8 @@ Packager: Owen Zimmerman %install install -Dm755 target/rpm/framework_tool %{buildroot}%{_bindir}/framework_tool -install -Dm 644 completions/bash/framework_tool %{buildroot}%{bash_completions_dir}/framework_tool.bash -install -Dm 644 completions/zsh/_framework_tool %{buildroot}%{zsh_completions_dir}/_framework_tool +install -Dm 644 framework_tool/completions/bash/framework_tool %{buildroot}%{bash_completions_dir}/framework_tool.bash +install -Dm 644 framework_tool/completions/zsh/_framework_tool %{buildroot}%{zsh_completions_dir}/_framework_tool %{cargo_license_online} > LICENSE.dependencies %files 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/fzy/anda.hcl b/anda/tools/fzy/anda.hcl new file mode 100644 index 0000000000..05c623bca8 --- /dev/null +++ b/anda/tools/fzy/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "fzy.spec" + } +} diff --git a/anda/tools/fzy/fzy.spec b/anda/tools/fzy/fzy.spec new file mode 100644 index 0000000000..4a58ee8dde --- /dev/null +++ b/anda/tools/fzy/fzy.spec @@ -0,0 +1,39 @@ +%global forgeurl https://github.com/jhawthorn/fzy +Version: 1.1 +%forgemeta + +Name: fzy +Release: 1%{?dist} +Summary: A fast, simple fuzzy text selector for the terminal + +License: MIT +URL: %{forgeurl} +Source0: %{forgesource} + +Packager: metcya + +BuildRequires: gcc +BuildRequires: make + +%description +fzy is a fast, simple fuzzy text selector for the terminal with an advanced +scoring algorithm. + +%prep +%forgeautosetup + +%build +%make_build + +%install +%make_install BINDIR="%{_bindir}" MANDIR="%{_mandir}" + +%files +%license LICENSE +%doc README.md ALGORITHM.md +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.* + +%changelog +* Mon Mar 23 2026 metcya +- Initial package diff --git a/anda/tools/fzy/update.rhai b/anda/tools/fzy/update.rhai new file mode 100644 index 0000000000..d1f92a1a15 --- /dev/null +++ b/anda/tools/fzy/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("jhawthorn/fzy")); diff --git a/anda/tools/gcm-core/gcm-core.spec b/anda/tools/gcm-core/gcm-core.spec index dac2dd82e0..a397d9e201 100644 --- a/anda/tools/gcm-core/gcm-core.spec +++ b/anda/tools/gcm-core/gcm-core.spec @@ -6,9 +6,9 @@ %global forgeurl https://github.com/git-ecosystem/git-credential-manager Name: gcm-core -Version: 2.7.0 +Version: 2.8.0 -Release: 1%?dist +Release: 1%{?dist} Summary: Secure, cross-platform Git credential storage %forgemeta 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 6df006f1df..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 9a5dbcc90dc9ca9580f6ce2854cd67e2e507b0c1 +%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 fc832a2b3a..2c158f5551 100644 --- a/anda/tools/glasgow/glasgow.spec +++ b/anda/tools/glasgow/glasgow.spec @@ -1,5 +1,5 @@ -%global commit 6d36d2a4f9c9c246035620e4fb16a58aa0bef6af -%global commit_date 20260303 +%global commit a627726e8999d07bbf07f03757f3a1e4ec0c2354 +%global commit_date 20260627 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global pypi_name glasgow @@ -10,7 +10,7 @@ Name: python-%{pypi_name} Version: 0~%{commit_date}git.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Scots Army Knife for electronics License: 0BSD AND Apache-2.0 URL: https://github.com/GlasgowEmbedded/glasgow diff --git a/anda/tools/glasgow/remove-dep-versions.patch b/anda/tools/glasgow/remove-dep-versions.patch index e85cd35979..720699c607 100644 --- a/anda/tools/glasgow/remove-dep-versions.patch +++ b/anda/tools/glasgow/remove-dep-versions.patch @@ -1,8 +1,8 @@ diff --git a/software/pyproject.toml b/software/pyproject.toml -index b2280cc8..6d5f8f68 100644 +index 3ecbad5f..06ea059e 100644 --- a/software/pyproject.toml +++ b/software/pyproject.toml -@@ -29,32 +29,32 @@ requires-python = ">=3.13, <4" +@@ -29,34 +29,34 @@ requires-python = ">=3.13, <4" dependencies = [ # We use `typing` features not available in the lowest Python version we support. The library # `typing_extensions` provides shims for such features. It uses SemVer. @@ -39,6 +39,9 @@ index b2280cc8..6d5f8f68 100644 # Amaranth, and the version range here must be compatible with Amaranth's. - "pyvcd>=0.4.1,<0.5", + "pyvcd", + # `enum-tools` is used for documenting enums. It is unclear which versioning scheme it uses. +- "enum-tools==0.13.0", ++ "enum-tools", # `importlib_resources` is used to shim over Python API incompatibilities. It uses SemVer. - "importlib_resources~=6.5.2", + "importlib_resources", diff --git a/anda/tools/graftcp/nightly/graftcp-nightly.spec b/anda/tools/graftcp/nightly/graftcp-nightly.spec index 862babf539..4792961ff3 100644 --- a/anda/tools/graftcp/nightly/graftcp-nightly.spec +++ b/anda/tools/graftcp/nightly/graftcp-nightly.spec @@ -1,14 +1,16 @@ -%global commit 340910b3aad0141009ce9f8187ac385e590dae4f -%global commit_date 20260209 +%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 +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/java-binfmt/java-binfmt.spec b/anda/tools/java-binfmt/java-binfmt.spec index b23eb5d12a..66731a815d 100644 --- a/anda/tools/java-binfmt/java-binfmt.spec +++ b/anda/tools/java-binfmt/java-binfmt.spec @@ -1,11 +1,11 @@ -%global commit 4bbeadf096d853ef36155e725020d99c2add14cd +%global commit e12372ea5776a0e0a8acee3ea1e56f0f81c56fca %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global commit_date 20260127 +%global commit_date 20260330 %global _binfmtdir %{_exec_prefix}/lib/binfmt.d Name: java-binfmt Version: 1.0.0^%{commit_date}git%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: Binfmt wrappers and utilities for Java and Jar files. ### License for the C file used in the binary. License: GPL-2.0-or-later diff --git a/anda/tools/jujutsu/jujutsu.spec b/anda/tools/jujutsu/jujutsu.spec index 7536a120cf..e097832d65 100644 --- a/anda/tools/jujutsu/jujutsu.spec +++ b/anda/tools/jujutsu/jujutsu.spec @@ -4,8 +4,8 @@ %global __brp_mangle_shebangs %{nil} Name: jujutsu -Version: 0.38.0 -Release: 1%?dist +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 URL: https://www.jj-vcs.dev/latest/ 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/keyd/keyd.spec b/anda/tools/keyd/keyd.spec index c310061561..73e8b3bcf0 100644 --- a/anda/tools/keyd/keyd.spec +++ b/anda/tools/keyd/keyd.spec @@ -22,7 +22,7 @@ EOF %make_build PREFIX=%_prefix LDFLAGS="$LDFLAGS -fuse-ld=mold" %install -%make_install PREFIX=%_prefix LDFLAGS="$LDFLAGS -fuse-ld=mold" +%make_install PREFIX=%_prefix LDFLAGS="$LDFLAGS -fuse-ld=mold" FORCE_SYSTEMD=1 install -Dm644 keyd.service %buildroot%_unitdir/keyd.service install -Dm644 keyd.conf -t %buildroot%_sysusersdir install -Dm755 scripts/dump-xkb-config -t %buildroot%_datadir/keyd/ diff --git a/anda/tools/kittyCAD-cli/anda.hcl b/anda/tools/kittyCAD-cli/anda.hcl new file mode 100644 index 0000000000..ffb9e0800d --- /dev/null +++ b/anda/tools/kittyCAD-cli/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "kittyCAD-cli.spec" + } +} diff --git a/anda/tools/kittyCAD-cli/kittyCAD-cli.spec b/anda/tools/kittyCAD-cli/kittyCAD-cli.spec new file mode 100644 index 0000000000..6a4253b102 --- /dev/null +++ b/anda/tools/kittyCAD-cli/kittyCAD-cli.spec @@ -0,0 +1,37 @@ +%undefine __brp_mangle_shebangs + +Name: kittyCAD-cli +Version: 0.2.179 +Release: 1%{?dist} +Summary: The Zoo command line tool for KittyCAD +URL: https://github.com/KittyCAD/cli +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz +License: MIT AND ((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 0BSD 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 AND MIT) 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 AND MIT) AND (BSD-3-Clause OR Apache-2.0) AND (BSD-3-Clause OR MIT) AND BSD-3-Clause AND (CC0-1.0 OR Apache-2.0) AND CDLA-Permissive-2.0 AND EPL-2.0 AND ISC AND LGPL-3.0-or-later AND (MIT AND BSD-3-Clause) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND (MPL-2.0 OR MIT OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND Zlib +BuildRequires: cargo-rpm-macros + +Provides: kittycad-cli +Packager: Its-J + +%description +%{summary}. + +%prep +%autosetup -n cli-%{version} +%cargo_prep_online + +%build +%cargo_build + +%install +install -Dm 755 target/release/zoo %{buildroot}%{_bindir}/zoo +%{cargo_license_online} > LICENSE.dependencies + +%files +%{_bindir}/zoo +%license LICENSE +%license LICENSE.dependencies +%doc README.md + +%changelog +* Thu Apr 30 2026 Its-J +- Package KittyCAD CLI diff --git a/anda/tools/kittyCAD-cli/update.rhai b/anda/tools/kittyCAD-cli/update.rhai new file mode 100644 index 0000000000..720ff7f810 --- /dev/null +++ b/anda/tools/kittyCAD-cli/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("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/mdbook/mdbook.spec b/anda/tools/mdbook/mdbook.spec index d87c3284ae..11cafbbde8 100644 --- a/anda/tools/mdbook/mdbook.spec +++ b/anda/tools/mdbook/mdbook.spec @@ -1,6 +1,6 @@ Name: mdBook -Version: 0.5.2 -Release: 1%?dist +Version: 0.5.3 +Release: 1%{?dist} Summary: Create a book from markdown files License: MPL-2.0 AND MIT AND (Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND CC0-1.0 AND ISC AND (MIT OR Zlib OR Apache-2.0) AND Unicode-3.0 AND (Apache-2.0 OR BSL-1.0) AND (MIT AND BSD-3-Clause) URL: https://github.com/rust-lang/mdBook diff --git a/anda/tools/micro-default-editor/micro-default-editor.spec b/anda/tools/micro-default-editor/micro-default-editor.spec index 0584ee5743..b199e6eeb0 100644 --- a/anda/tools/micro-default-editor/micro-default-editor.spec +++ b/anda/tools/micro-default-editor/micro-default-editor.spec @@ -3,7 +3,7 @@ Name: micro-default-editor # Version, release, and epoch are inherited from the editor package just like other default editors Version: 2.0.15 -Release: 2%?dist +Release: 2%{?dist} Epoch: 0 # Inherited from Micro itself License: MIT and ASL 2.0 diff --git a/anda/tools/modern-colorthief/modern-colorthief.spec b/anda/tools/modern-colorthief/modern-colorthief.spec index 04bfe8beff..28b866f8fc 100644 --- a/anda/tools/modern-colorthief/modern-colorthief.spec +++ b/anda/tools/modern-colorthief/modern-colorthief.spec @@ -1,12 +1,11 @@ %global pypi_name modern_colorthief %bcond bootstrap 0 %bcond docs %{without bootstrap} -%bcond test %{without bootstrap} # The srcrpm is not prefixed with Python because the source is mostly Rust Name: modern-colorthief -Version: 0.1.12 -Release: 1%?dist +Version: 0.3.0 +Release: 1%{?dist} Summary: ColorThief reimagined SourceLicense: MIT License: (0BSD OR MIT OR Apache-2.0) 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 BSD-2-Clause AND (CC0-1.0 OR Apache-2.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 (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT) @@ -27,15 +26,6 @@ BuildRequires: python3dist(myst-parser) BuildRequires: python3dist(shibuya) BuildRequires: python3dist(sphinx) %endif -%if %{with test} -%if 0%{?fedora} > 40 -BuildRequires: poetry -BuildRequires: python3dist(poetry) -%endif -BuildRequires: python3dist(colorthief) -BuildRequires: python3dist(fast-colorthief) -BuildRequires: python3dist(pytest) -%endif %description Colorthief but with modern code. @@ -78,25 +68,13 @@ done %{cargo_license_online} > LICENSE.dependencies -%if %{with test} -%check -# Poetry doesn't exist on EL and is too old on 40 -%if 0%{?fedora} <= 40 || 0%{?rhel} -%pytest tests/*.py -%else -# This is in the wrong spot in pyproject.toml and Poetry hates it -# May seem like defeating the purpose of testing but the other tests can be useful -sed -iE 's/python = ">=3.9,<3.14"//' pyproject.toml -poetry run pytest -%endif -%endif - %files -n python3-%{name} %doc DIFFERENCES.md %doc PKG-INFO %doc README.md %license LICENSE %license LICENSE.dependencies +%{_bindir}/%{name} %{python3_sitearch}/%{pypi_name} %{python3_sitearch}/%{pypi_name}-%{version}.dist-info/ diff --git a/anda/tools/natscli/natscli.spec b/anda/tools/natscli/natscli.spec index cf1b5ec704..5d995ebce6 100644 --- a/anda/tools/natscli/natscli.spec +++ b/anda/tools/natscli/natscli.spec @@ -1,14 +1,14 @@ # https://github.com/nats-io/natscli %global goipath github.com/nats-io/natscli -%global commit f312d18efbeab9f8e3455895cab064970e537c71 -%global commit_date 20260228 +%global commit 885fc11ab69468935d1575c85b4dc14cb5809010 +%global commit_date 20260625 %global shortcommit %{sub %{commit} 1 7} %gometa -f Name: natscli Version: 0~%{commit_date}git.%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: The NATS Command Line Interface License: Apache-2.0 @@ -38,7 +38,7 @@ install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ %files %license LICENSE -%doc README.md AUTH.md LOCAL_DEVELOPMENT.md cli/cheats/* +%doc README.md AUTH.md CODE-OF-CONDUCT.md GOVERNANCE.md cli/cheats/* %{_bindir}/nats %changelog 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 abb964b6aa..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.11.6 -Release: 1%?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/nerdfetch/nerdfetch-tools.spec b/anda/tools/nerdfetch/nerdfetch-tools.spec index 63abb15318..8de5876815 100644 --- a/anda/tools/nerdfetch/nerdfetch-tools.spec +++ b/anda/tools/nerdfetch/nerdfetch-tools.spec @@ -1,6 +1,6 @@ Name: nerdfetch -Version: 8.5.2 -Release: 1%?dist +Version: 8.5.4 +Release: 1%{?dist} Summary: A POSIX *nix fetch script using Nerdfonts License: MIT diff --git a/anda/tools/nvidia/cuda-crt/cuda-crt.spec b/anda/tools/nvidia/cuda-crt/cuda-crt.spec index b6d35097b8..7710ada913 100644 --- a/anda/tools/nvidia/cuda-crt/cuda-crt.spec +++ b/anda/tools/nvidia/cuda-crt/cuda-crt.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: CUDA crt License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec b/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec index 93c344cbcb..0e1b2e1911 100644 --- a/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec +++ b/anda/tools/nvidia/cuda-ctadvisor/cuda-ctadvisor.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.33 +Release: 1%{?dist} Summary: CUDA ctadvisor License: CUDA Toolkit URL: https://developer.nvidia.com/cuda-toolkit diff --git a/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec b/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec index 3499a772ca..18834de97c 100644 --- a/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec +++ b/anda/tools/nvidia/cuda-nvcc/cuda-nvcc.spec @@ -8,8 +8,8 @@ Name: %(echo %real_name | tr '_' '-') Epoch: 1 -Version: 13.1.115 -Release: 1%?dist +Version: 13.3.73 +Release: 1%{?dist} Summary: CUDA Compiler (NVCC) License: CUDA Toolkit URL: https://developer.nvidia.com/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/pi-top-Python-SDK/anda.hcl b/anda/tools/pi-top-Python-SDK/anda.hcl new file mode 100644 index 0000000000..45d09c7ae8 --- /dev/null +++ b/anda/tools/pi-top-Python-SDK/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "pi-top-Python-SDK.spec" + } +} diff --git a/anda/tools/pi-top-Python-SDK/pi-top-Python-SDK.spec b/anda/tools/pi-top-Python-SDK/pi-top-Python-SDK.spec new file mode 100644 index 0000000000..29d0d8ce1c --- /dev/null +++ b/anda/tools/pi-top-Python-SDK/pi-top-Python-SDK.spec @@ -0,0 +1,297 @@ +%global pypi_name pitop +%global _desc A simple, modular interface for interacting with a pi-top and its related accessories and components. +%global ver 0.35.0-4 +%global sanitized_ver %(echo %{ver} | sed 's/-/^/g') + +Name: python-%{pypi_name} +Version: %{sanitized_ver} +Release: 1%?dist +Summary: pi-top's Python SDK pitop package +License: Apache-2.0 +URL: https://github.com/pi-top/pi-top-Python-SDK +Source0: %{url}/archive/v%{ver}/%{name}-%{ver}.tar.gz +BuildArch: noarch + +BuildRequires: python3-build +BuildRequires: python3-installer +BuildRequires: python3-wheel +BuildRequires: python3-setuptools +BuildRequires: python3-setuptools_scm +BuildRequires: python3-pip +BuildRequires: python3-devel +BuildRequires: git + +Packager: Owen Zimmerman + +%description +%_desc + +%package -n python3-%{pypi_name} +Summary: %{summary} +Provides: pitop +Provides: pi-top-Python-SDK +Provides: pi-top-python-sdk +Provides: pi-top-sdk +Provides: pitop-sdk +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +%_desc + +%package -n python3-pitop-battery +Summary: Battery support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-battery +Battery support for the pi-top sdk. + +%package -n python3-pitop-camera +Summary: Camera support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-camera +Camera support for the pi-top sdk. + +%package -n python3-pitopcli +Summary: cli support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitopcli +cli support for the pi-top sdk. + +%package -n python3-pitop-core +Summary: core for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-core +core for the pi-top sdk. + +%package -n python3-pitop-common +Summary: Support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-common +Support for the pi-top sdk. + +%package -n python3-pitop-display +Summary: Display support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-display +Display support for the pi-top sdk. + +%package -n python3-pitop-keyboard +Summary: Keyboard support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-keyboard +Keyboard support for the pi-top sdk. + +%package -n python3-pitop-miniscreen +Summary: Miniscreen support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-miniscreen +Miniscreen support for the pi-top sdk. + +%package -n python3-pitop-pma +Summary: pma support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-pma +pma support for the pi-top sdk. + +%package -n python3-pitop-processing +Summary: Processing support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-processing +Processing support for the pi-top sdk. + +%package -n python3-pitop-robotics +Summary: Robotics support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-robotics +Robotics support for the pi-top sdk. + +%package -n python3-pitop-simulation +Summary: Simulation support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-simulation +Simulation support for the pi-top sdk. + +%package -n python3-pitop-system +Summary: System support for the pi-top sdk +Requires: python3-pitop + +%description -n python3-pitop-system +System support for the pi-top sdk. + +%prep +%autosetup -n pi-top-Python-SDK-%{ver} + +%pyproject_patch_dependency flask:drop_constraints +%pyproject_patch_dependency flask-cors:drop_constraints +%pyproject_patch_dependency gevent:drop_constraints +%pyproject_patch_dependency gpiozero:drop_constraints + +%build +pushd packages/battery +%pyproject_wheel +popd +pushd packages/camera +%pyproject_wheel +popd +pushd packages/cli +%pyproject_wheel +popd +pushd packages/common +%pyproject_wheel +popd +pushd packages/core +%pyproject_wheel +popd +pushd packages/display +%pyproject_wheel +popd +pushd packages/keyboard +%pyproject_wheel +popd +pushd packages/miniscreen +%pyproject_wheel +popd +pushd packages/pitop +%pyproject_wheel +popd +pushd packages/pma +%pyproject_wheel +popd +pushd packages/processing +%pyproject_wheel +popd +pushd packages/robotics +%pyproject_wheel +popd +pushd packages/simulation +%pyproject_wheel +popd +pushd packages/system +%pyproject_wheel +popd + +%install +%pyproject_install +pushd packages/battery +%pyproject_install +popd +pushd packages/camera +%pyproject_install +popd +pushd packages/cli +%pyproject_install +popd +pushd packages/common +%pyproject_install +popd +pushd packages/core +%pyproject_install +popd +pushd packages/display +%pyproject_install +popd +pushd packages/keyboard +%pyproject_install +popd +pushd packages/miniscreen +%pyproject_install +popd +pushd packages/pma +%pyproject_install +popd +pushd packages/processing +%pyproject_install +popd +pushd packages/robotics +%pyproject_install +popd +pushd packages/simulation +%pyproject_install +popd +pushd packages/system +%pyproject_install +popd + +rm -rf %{buildroot}/usr/lib/python3.14/site-packages/pitop/protoplus/ + +%files -n python3-%{pypi_name} +%license LICENSE +%doc README.rst +%{python3_sitelib}/pitop-*.dist-info/ +%{python3_sitelib}/pitop/__pycache__/ +%{python3_sitelib}/pitop/__init__.py +%{python3_sitelib}/pitop/*.py +%{python3_sitelib}/pitop/labs/ +%{python3_sitelib}/pitop/pulse/ + +%files -n python3-pitop-battery +%{python3_sitelib}/pitop_battery-*.dist-info/ +%{python3_sitelib}/pitop/battery/ + +%files -n python3-pitop-camera +%{python3_sitelib}/pitop_camera-*.dist-info/ +%{python3_sitelib}/pitop/camera/ + +%files -n python3-pitopcli +%{python3_sitelib}/pitopcli-*.dev1.dist-info/ +%{_bindir}/pi-top +%{_bindir}/pt +%{python3_sitelib}/pitopcli/ + +%files -n python3-pitop-common +%{python3_sitelib}/pitop_common-*.dist-info/ +%{python3_sitelib}/pitop/common/ + +%files -n python3-pitop-core +%{python3_sitelib}/pitop_core-*.dist-info/ +%{python3_sitelib}/pitop/core/ + +%files -n python3-pitop-display +%{python3_sitelib}/pitop_display-*.dist-info/ +%{python3_sitelib}/pitop/display/ + +%files -n python3-pitop-keyboard +%{python3_sitelib}/pitop_keyboard-*.dist-info/ +%{python3_sitelib}/pitop/keyboard/ + +%files -n python3-pitop-miniscreen +%{python3_sitelib}/pitop_miniscreen-*.dist-info/ +%{python3_sitelib}/pitop/miniscreen/ + +%files -n python3-pitop-pma +%{python3_sitelib}/pitop_pma-*.dist-info/ +%{python3_sitelib}/pitop/pma/ + +%files -n python3-pitop-processing +%{python3_sitelib}/pitop_processing-*.dist-info/ +%{python3_sitelib}/pitop/processing/ + +%files -n python3-pitop-robotics +%{python3_sitelib}/pitop_robotics-*.dist-info/ +%{python3_sitelib}/pitop/robotics/ + +%files -n python3-pitop-simulation +%{python3_sitelib}/pitop_simulation-*.dist-info/ +%{python3_sitelib}/pitop/simulation/ + +%files -n python3-pitop-system +%{python3_sitelib}/pitop_system-*.dist-info/ +%{python3_sitelib}/pitop/system/ + +%changelog +* Wed May 06 2026 Owen Zimmerman +- Update files and build/prep steps + +* Wed Oct 08 2025 Owen Zimmerman +- Initial commit diff --git a/anda/tools/pi-top-Python-SDK/update.rhai b/anda/tools/pi-top-Python-SDK/update.rhai new file mode 100644 index 0000000000..e62d82634b --- /dev/null +++ b/anda/tools/pi-top-Python-SDK/update.rhai @@ -0,0 +1,3 @@ +let v = gh("pi-top/pi-top-Python-SDK"); +v.crop(1); +rpm.global("ver", v); diff --git a/anda/tools/piclone/piclone.spec b/anda/tools/piclone/piclone.spec index 95fb21cc20..81659524ef 100644 --- a/anda/tools/piclone/piclone.spec +++ b/anda/tools/piclone/piclone.spec @@ -1,10 +1,10 @@ -%global commit 7d705d0a65c027bb39825bf428fe7c5316411197 -%global commit_date 20251014 +%global commit cbae7f3f5d0b0b2732299196dba33da2c059b3a8 +%global commit_date 20260529 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: piclone Version: %commit_date.git~%shortcommit -Release: 2%?dist +Release: 1%{?dist} Summary: Utility to back up Pi to an SD card reader License: BSD-3-Clause URL: https://github.com/raspberrypi-ui/piclone diff --git a/anda/tools/praat/praat.spec b/anda/tools/praat/praat.spec index 42b9707532..ffc0a9d862 100644 --- a/anda/tools/praat/praat.spec +++ b/anda/tools/praat/praat.spec @@ -4,8 +4,8 @@ %global org "org.praat" Name: praat -Version: 6.4.61 -Release: 1%?dist +Version: 6.4.67 +Release: 1%{?dist} URL: https://www.praat.org Source0: https://github.com/praat/praat.github.io/archive/refs/tags/v%{version}.tar.gz Source1: %appid.metainfo.xml @@ -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/proton-vpn-cli/proton-vpn-cli.spec b/anda/tools/proton-vpn-cli/proton-vpn-cli.spec index 64de9d06b0..0d509027bf 100644 --- a/anda/tools/proton-vpn-cli/proton-vpn-cli.spec +++ b/anda/tools/proton-vpn-cli/proton-vpn-cli.spec @@ -3,8 +3,8 @@ %global __requires_exclude ^python3\\.14dist\\(proton-vpn-local-agent\\)$ Name: python-proton-vpn-cli -Version: 0.1.6 -Release: 1%?dist +Version: 1.0.1 +Release: 1%{?dist} Summary: Official ProtonVPN CLI Linux app License: GPL-3.0-only URL: https://github.com/ProtonVPN/proton-vpn-cli diff --git a/anda/tools/qdl/qdl.spec b/anda/tools/qdl/qdl.spec deleted file mode 100644 index 7ab1f65e34..0000000000 --- a/anda/tools/qdl/qdl.spec +++ /dev/null @@ -1,54 +0,0 @@ -Name: qdl -Version: 2.5 -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/raindrop/raindrop.spec b/anda/tools/raindrop/raindrop.spec index 9feee366ac..5ca9bb8337 100644 --- a/anda/tools/raindrop/raindrop.spec +++ b/anda/tools/raindrop/raindrop.spec @@ -1,10 +1,10 @@ -%global commit 9d5396972bb5557c427a79309ce5c00f91bc9211 -%global commit_date 20260130 +%global commit 5e143e31dfb5b0fdd3b532158f7ffd1666b78940 +%global commit_date 20260519 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: raindrop Version: 0~%commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Desktop front-end for arandr and wlrandr License: BSD-3-Clause URL: https://github.com/raspberrypi-ui/raindrop diff --git a/anda/tools/rpi-utils/rpi-utils.spec b/anda/tools/rpi-utils/rpi-utils.spec index cf22ca3fd2..0ff6c837dd 100644 --- a/anda/tools/rpi-utils/rpi-utils.spec +++ b/anda/tools/rpi-utils/rpi-utils.spec @@ -1,26 +1,29 @@ -%global commit 60ea0df9b7a43b4198c0def6355b600eb2cfbfb1 -%global commit_date 20260303 +%global commit a30e7c7b227d9a5e6dbedc1d343077be7ad92959 +%global commit_date 20260624 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: rpi-utils Version: %{commit_date}.%{shortcommit} -Release: 1%?dist +Release: 1%{?dist} Summary: A collection of scripts and simple applications for Raspberry Pi devices License: BSD-3-Clause URL: https://github.com/raspberrypi/utils Source0: %{url}/archive/%{commit}.tar.gz Patch0: dtoverlay-manpage.patch -BuildRequires: cmake dtc libfdt-devel gcc-c++ gnutls-devel +BuildRequires: cmake dtc libfdt-devel gcc-c++ gnutls-devel ncurses-devel Requires: %{name}-dtmerge = %{evr} Requires: %{name}-eeptools = %{evr} Requires: %{name}-kdtc = %{evr} +Requires: %{name}-otamaker = %{evr} Requires: %{name}-otpset = %{evr} Requires: %{name}-overlaycheck = %{evr} Requires: %{name}-ovmerge = %{evr} Requires: %{name}-pinctrl = %{evr} Requires: %{name}-piolib = %{evr} Requires: %{name}-raspinfo = %{evr} +Requires: %{name}-rpieepromab = %{evr} +Requires: %{name}-rpi-gpu-usage = %{evr} Requires: %{name}-rpifwcrypto = %{evr} Requires: %{name}-vcgencmd = %{evr} Requires: %{name}-vclog = %{evr} @@ -37,7 +40,7 @@ Summary: A tool for applying compiled DT overlays (*.dtbo) to base Device %{summary}. Also includes the dtoverlay and dtparam utilities. %package dtmerge-devel -Summary: Development files for %{name}-dtmerge-devel +Summary: Development files for %{name}-dtmerge Requires: %{name}-dtmerge = %{evr} %description dtmerge-devel @@ -54,6 +57,11 @@ Summary: A tool for compiling overlays with #includes, etc., as used in t %description kdtc %{summary}. +%package otamaker +Summary: Tool for building Remote Update/Over-The-Air packages for Raspberry Pi Connect Remote Update +%description otamaker +%{summary}. + %package otpset Requires: rpi-utils-vcmailbox = %{version} Summary: A short script to help with reading and setting the customer OTP bits @@ -80,7 +88,7 @@ Summary: A more powerful replacement for raspi-gpio, a tool for displayin %pkg_completion -Bn %name-pinctrl pinctrl %package pinctrl-devel -Summary: Development files for %{name}-pinctrl-devel +Summary: Development files for %{name}-pinctrl Requires: %{name}-pinctrl = %{evr} %description pinctrl-devel @@ -92,7 +100,7 @@ Summary: A library for accessing the Pi 5's PIO hardware %{summary}. %package piolib-devel -Summary: Development files for %{name}-piolib-devel +Summary: Development files for %{name}-piolib Requires: %{name}-piolib = %{evr} %description piolib-devel @@ -103,16 +111,38 @@ Summary: A short script to dump information about the Pi. Intended for th %description raspinfo %{summary}. +%package rpieepromab +Summary: Mailbox based API that allows you to update and manage the AB EEPROM partitions +%description rpieepromab +The Raspberry Pi EEPROM AB service is a mailbox based API that allows you to update and manage the AB EEPROM partitions. + +Although this service can be used via raw vcmailbox commands the recommended API is the command line rpi-eeprom-ab application. + +%package rpieepromab-devel +Summary: Development files for %{name}-rpieepromab +Requires: %{name}-rpieepromab = %{evr} + +%description rpieepromab-devel +%{summary}. + %package rpifwcrypto Summary: A command line application and shared library for the firmware cryptography service %description rpifwcrypto %{summary}. %package -n %{name}-rpifwcrypto-devel -Summary: Development files for %{name}-rpifwcrypto-devel +Summary: Development files for %{name}-rpifwcrypto Requires: %{name}-rpifwcrypto = %{evr} %description -n %{name}-rpifwcrypto-devel +%package rpi-gpu-usage +Summary: Simple tool for showing the per-process usage of the V3D GPU on Raspberry Pi 4 and 5 +%description rpi-gpu-usage +A simple tool for showing the per-process usage of the V3D GPU on Raspberry Pi 4 and 5. +It works by parsing the /proc/*/fdinfo/* information to find the processes that have drm stats information. + +%pkg_completion -Bn %name-rpi-gpu-usage rpi-gpu-usage + %package vcgencmd Summary: Query the VideoCore for information %description vcgencmd @@ -132,7 +162,7 @@ Summary: A tool to get VideoCore 'assert' or 'msg' logs with optional -f %{summary}. %prep -%autosetup -p1 -n utils-%commit +%autosetup -p1 -n utils-%{commit} %build %cmake -DBUILD_SHARED_LIBS=1 @@ -169,6 +199,11 @@ Summary: A tool to get VideoCore 'assert' or 'msg' logs with optional -f %license LICENCE %{_bindir}/kdtc +%files otamaker +%doc otamaker/README.md +%license LICENCE +%{_bindir}/otamaker + %files otpset %doc otpset/README.md %license LICENCE @@ -219,6 +254,16 @@ Summary: A tool to get VideoCore 'assert' or 'msg' logs with optional -f %{_bindir}/raspinfo %doc raspinfo/README.md +%files rpieepromab +%{_bindir}/rpi-eeprom-ab +%{_libdir}/librpieepromab.so.0 +%doc rpieepromab/README.md +%license LICENCE + +%files rpieepromab-devel +%{_includedir}/rpieepromab.h +%{_libdir}/librpieepromab.so + %files rpifwcrypto %{_bindir}/rpi-fw-crypto %{_libdir}/librpifwcrypto.so.0 @@ -228,6 +273,12 @@ Summary: A tool to get VideoCore 'assert' or 'msg' logs with optional -f %{_libdir}/librpifwcrypto.so %{_includedir}/rpifwcrypto.h +%files rpi-gpu-usage +%{_bindir}/rpi-gpu-usage +%{_mandir}/man1/rpi-gpu-usage.1.* +%doc rpi-gpu-usage/README.md +%license LICENCE + %files vcgencmd %license LICENCE %{_bindir}/vcgencmd @@ -247,14 +298,17 @@ Summary: A tool to get VideoCore 'assert' or 'msg' logs with optional -f %{_mandir}/man7/raspirev.7.gz %changelog +* Thu May 14 2026 Owen Zimmerman +- Add new subpackages, tidy up + * Tue Jan 13 2026 Owen Zimmerman - Seperate needed files into -devel packages, add more packages/files, install all files. -* Mon May 19 2025 Owen-sz +* Mon May 19 2025 Owen Zimmerman - Build shared libraries * Tue Dec 17 2024 sadlerm - Split into individual subpackages and no longer package raspinfo -* Mon Nov 18 2024 Owen-sz +* Mon Nov 18 2024 Owen Zimmerman - Package Raspberry Pi Utils diff --git a/anda/tools/rustypaste/rustypaste.spec b/anda/tools/rustypaste/rustypaste.spec index d8651fd5ae..253cb66036 100644 --- a/anda/tools/rustypaste/rustypaste.spec +++ b/anda/tools/rustypaste/rustypaste.spec @@ -1,8 +1,8 @@ %define __brp_mangle_shebangs %{nil} Name: rustypaste -Version: 0.16.1 -Release: 2%?dist +Version: 0.17.0 +Release: 1%{?dist} Summary: A minimal file upload/pastebin service License: MIT AND Apache-2.0 AND (Apache-2.0 OR MIT) AND BSD-3-Clause 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 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 OR Apache-2.0 OR MIT) AND (BSD-3-Clause OR MIT) AND (CC0-1.0 OR Artistic-2.0) AND CC0-1.0 AND ISC AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib URL: https://github.com/orhun/rustypaste 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/sops/sops.spec b/anda/tools/sops/sops.spec index 2048865b00..bb8d98a96f 100644 --- a/anda/tools/sops/sops.spec +++ b/anda/tools/sops/sops.spec @@ -1,7 +1,7 @@ %define debug_package %nil Name: sops -Version: 3.12.1 -Release: 1%?dist +Version: 3.13.1 +Release: 1%{?dist} Summary: Simple and flexible tool for managing secrets License: MPL-2.0 URL: https://github.com/getsops/sops diff --git a/anda/tools/spotx-bash/spotx-bash.spec b/anda/tools/spotx-bash/spotx-bash.spec index f22985006d..4f2cd3b71e 100644 --- a/anda/tools/spotx-bash/spotx-bash.spec +++ b/anda/tools/spotx-bash/spotx-bash.spec @@ -1,10 +1,10 @@ -%global commit 496309d7ca789c7e24c87f12f081d80ced115d48 -%global commit_date 20260226 +%global commit 72e85be7cc25eba9d4e7c4e04e65120d353cff4b +%global commit_date 20260616 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: spotx-bash Version: %commit_date.git~%shortcommit -Release: 1%?dist +Release: 1%{?dist} Summary: Adblock for the Spotify desktop client on Linux. License: MIT URL: https://github.com/SpotX-Official/SpotX-Bash @@ -12,6 +12,7 @@ Source0: %url/archive/%commit.tar.gz Requires: bash BuildArch: noarch Provides: spotx spotx-linux spot-x spotx.sh +Packager: Its-J %description %summary @@ -31,5 +32,8 @@ install -Dm 755 spotx.sh %{buildroot}%{_bindir}/spotx %{_bindir}/spotx %changelog -* Sat Dec 14 2024 Its-J +* Tue Apr 14 2026 Its-J +- Add email to my previous contributor attributions + +* Sat Dec 14 2024 Its-J - Package SpotX-Bash diff --git a/anda/tools/stremio-service/stremio-service.spec b/anda/tools/stremio-service/stremio-service.spec index 735f518570..3a70d8bebe 100644 --- a/anda/tools/stremio-service/stremio-service.spec +++ b/anda/tools/stremio-service/stremio-service.spec @@ -1,6 +1,6 @@ Name: stremio-service -Version: 0.1.18 -Release: 1%?dist +Version: 0.1.21 +Release: 1%{?dist} Summary: Lets you run Stremio server in the background License: GPL-2.0-only AND MPL-2.0 AND (Apache-2.0 OR MIT) AND (Zlib OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (Unlicense OR MIT) AND Unicode-3.0 AND (0BSD OR MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND CC0-1.0 AND ISC AND MIT AND (BSD-3-Clause OR MIT OR Apache-2.0) AND Apache-2.0 AND MIT AND (Apache-2.0 OR BSL-1.0) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) URL: https://github.com/Stremio/stremio-service diff --git a/anda/tools/buildsys/subatomic/anda.hcl b/anda/tools/subatomic/anda.hcl similarity index 100% rename from anda/tools/buildsys/subatomic/anda.hcl rename to anda/tools/subatomic/anda.hcl diff --git a/anda/tools/buildsys/subatomic/subatomic.spec b/anda/tools/subatomic/subatomic.spec similarity index 96% rename from anda/tools/buildsys/subatomic/subatomic.spec rename to anda/tools/subatomic/subatomic.spec index 87aac6e43e..55001b9dd9 100644 --- a/anda/tools/buildsys/subatomic/subatomic.spec +++ b/anda/tools/subatomic/subatomic.spec @@ -1,8 +1,8 @@ %define debug_package %{nil} Name: subatomic -Version: 0.13.0 -Release: 1%?dist +Version: 0.14.0 +Release: 1%{?dist} Summary: A modern package delivery system License: MIT diff --git a/anda/tools/buildsys/subatomic/update.rhai b/anda/tools/subatomic/update.rhai similarity index 100% rename from anda/tools/buildsys/subatomic/update.rhai rename to anda/tools/subatomic/update.rhai diff --git a/anda/tools/surge/surge.spec b/anda/tools/surge/surge.spec index ed1e95b4f1..e8081765e9 100644 --- a/anda/tools/surge/surge.spec +++ b/anda/tools/surge/surge.spec @@ -1,10 +1,10 @@ %global goipath github.com/surge-downloader/surge -Version: 0.6.10 +Version: 0.10.0 %gometa Name: surge -Release: 1%?dist +Release: 1%{?dist} Summary: Blazing fast TUI download manager built in Go for power users License: MIT diff --git a/anda/tools/tauri/tauri.spec b/anda/tools/tauri/tauri.spec index 35eec705ab..a9598b3702 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.10.0 -Release: 1%?dist +Version: 2.11.4 +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 7c75d40de7..3e5f4494a3 100644 --- a/anda/tools/termflix/termflix.spec +++ b/anda/tools/termflix/termflix.spec @@ -1,6 +1,6 @@ Name: termflix -Version: 0.4.2 -Release: 1%?dist +Version: 0.8.0 +Release: 1%{?dist} Summary: Terminal animation player with 43 procedurally generated animations, multiple render modes, and true color support License: MIT AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND MPL-2.0 diff --git a/anda/tools/topgrade/rust-topgrade.spec b/anda/tools/topgrade/rust-topgrade.spec index 912c8fee91..7b7c305d41 100644 --- a/anda/tools/topgrade/rust-topgrade.spec +++ b/anda/tools/topgrade/rust-topgrade.spec @@ -3,16 +3,15 @@ Name: rust-topgrade # renovate: datasource=github-releases depName=topgrade-rs/topgrade -Version: 16.9.0 -Release: 1%?dist +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 -Patch: topgrade-fix-metadata-auto.diff BuildRequires: cargo BuildRequires: rust @@ -35,7 +34,6 @@ Summary: %{summary} %files -n %{crate} %license LICENSE %license LICENSE.dependencies -%doc BREAKINGCHANGES.md %doc CHANGELOG.md %doc CODE_OF_CONDUCT.md %doc CONTRIBUTING.md @@ -45,7 +43,7 @@ Summary: %{summary} %{_bindir}/topgrade %prep -%autosetup -n %{crate}-%{version} -p1 +%autosetup -n %{crate}-%{version} %cargo_prep_online %build diff --git a/anda/tools/topgrade/topgrade-fix-metadata-auto.diff b/anda/tools/topgrade/topgrade-fix-metadata-auto.diff deleted file mode 100644 index e966ffada5..0000000000 --- a/anda/tools/topgrade/topgrade-fix-metadata-auto.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- topgrade-16.9.0/Cargo.toml 2006-07-24T01:21:28+00:00 -+++ topgrade-16.9.0/Cargo.toml 2026-02-13T07:55:20.141538+00:00 -@@ -255,29 +255,6 @@ - default-features = false - package = "self_update" - --[target."cfg(windows)".dependencies.is_elevated] --version = "~0.1" -- --[target."cfg(windows)".dependencies.parselnk] --version = "~0.1" -- --[target."cfg(windows)".dependencies.self_update_crate] --version = "~0.42" --features = [ -- "archive-zip", -- "compression-zip-deflate", -- "rustls", --] --optional = true --default-features = false --package = "self_update" -- --[target."cfg(windows)".dependencies.windows] --version = "~0.62" --features = ["Win32_System_Console"] -- --[target."cfg(windows)".dependencies.windows-registry] --version = "~0.6" -- - [profile.release] - lto = true -+ diff --git a/anda/tools/typos/typos.spec b/anda/tools/typos/typos.spec index 44c022ca05..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.44.0 -Release: 1%?dist +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/ueberzugpp/ueberzugpp.spec b/anda/tools/ueberzugpp/ueberzugpp.spec index fb9e852d99..5416defa44 100644 --- a/anda/tools/ueberzugpp/ueberzugpp.spec +++ b/anda/tools/ueberzugpp/ueberzugpp.spec @@ -1,7 +1,7 @@ Name: ueberzugpp -Version: 2.9.8 -Release: 1%?dist -License: GPL-3.0 +Version: 2.9.10 +Release: 2%{?dist} +License: GPL-3.0-or-later Summary: Drop in replacement for ueberzug written in C++ URL: https://github.com/jstkdng/%{name} Source: %{url}/archive/v%{version}.tar.gz @@ -32,9 +32,11 @@ on terminals by using X11/wayland child windows, sixels, kitty and iterm2. %prep %autosetup -%build +%conf %cmake . -DENABLE_WAYLAND=ON \ -DENABLE_XCB_ERROR=ON + +%build %cmake_build %install diff --git a/anda/tools/virtualsmartcard/virtualsmartcard.spec b/anda/tools/virtualsmartcard/virtualsmartcard.spec index 284cf992ac..c41f91667b 100644 --- a/anda/tools/virtualsmartcard/virtualsmartcard.spec +++ b/anda/tools/virtualsmartcard/virtualsmartcard.spec @@ -7,7 +7,7 @@ Source0: https://github.com/frankmorgner/vsmartcard/releases/download/%na License: GPL-3.0-only BuildRequires: pcsc-lite-devel gcc libtool pkg-config qrencode-devel python3-devel help2man -Requires: qrencode-libs python3 +Requires: qrencode-libs Packager: june-fish %description @@ -15,6 +15,8 @@ Virtual Smart Card emulates a smart card and makes it accessible through PC/SC. %prep %autosetup + +%conf autoreconf --verbose --install %configure prefix=NONE pythondir=%{python3_sitelib} bindir=%{_bindir} diff --git a/anda/tools/xcur2png/xcur2png.spec b/anda/tools/xcur2png/xcur2png.spec index 9e125ef91c..40f5483acd 100644 --- a/anda/tools/xcur2png/xcur2png.spec +++ b/anda/tools/xcur2png/xcur2png.spec @@ -20,8 +20,10 @@ xcur2png is a program which let you take PNG image from X cursor, and generate c %prep %autosetup -%build +%conf %configure + +%build %make_build %install diff --git a/anda/tools/yabs/anda.hcl b/anda/tools/yabs/anda.hcl new file mode 100644 index 0000000000..fe046e5f2f --- /dev/null +++ b/anda/tools/yabs/anda.hcl @@ -0,0 +1,6 @@ +project pkg { + arches = ["x86_64"] + rpm { + spec = "yabs.spec" + } +} diff --git a/anda/tools/yabs/update.rhai b/anda/tools/yabs/update.rhai new file mode 100644 index 0000000000..58101f4faa --- /dev/null +++ b/anda/tools/yabs/update.rhai @@ -0,0 +1,5 @@ +rpm.global("commit", gh_commit("masonr/yet-another-bench-script")); +if rpm.changed() { + rpm.release(); + rpm.global("commit_date", date()); +} diff --git a/anda/tools/yabs/yabs.spec b/anda/tools/yabs/yabs.spec new file mode 100644 index 0000000000..aa737630d6 --- /dev/null +++ b/anda/tools/yabs/yabs.spec @@ -0,0 +1,34 @@ +%global commit 873f780055372ed00eace2e4050c85a0d0ed8bb1 +%global commit_date 20260512 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: yabs +Version: 0~%{commit_date}git.%{shortcommit} +Release: 1%{?dist} +Summary: Simple bash script to estimate Linux server performance using fio, iperf3, & Geekbench +URL: https://github.com/masonr/yet-another-bench-script +Source0: %{url}/archive/%{commit}/yet-another-bench-script-%commit.tar.gz +License: WTFPL +Provides: yet-another-bench-script +Packager: Owen Zimmerman +BuildArch: noarch + +%description +%{summary}. + +%prep +%autosetup -n yet-another-bench-script-%{commit} + +%build + +%install +install -Dm755 yabs.sh %{buildroot}%{_bindir}/yabs + +%files +%doc README.md +%license LICENSE +%{_bindir}/yabs + +%changelog +* Fri Apr 03 2026 Owen Zimmerman +- Initial commit diff --git a/anda/tools/yt-dlp-ejs/python-yt-dlp-ejs.spec b/anda/tools/yt-dlp-ejs/python-yt-dlp-ejs.spec index 2378710ab6..9823c1afa9 100644 --- a/anda/tools/yt-dlp-ejs/python-yt-dlp-ejs.spec +++ b/anda/tools/yt-dlp-ejs/python-yt-dlp-ejs.spec @@ -1,6 +1,6 @@ Name: python-yt-dlp-ejs -Version: 0.5.0 -Release: 1%?dist +Version: 0.8.0 +Release: 1%{?dist} Summary: External JavaScript for yt-dlp supporting many runtimes License: Unlicense AND MIT AND ISC diff --git a/anda/tools/yt-dlp/yt-dlp-git.spec b/anda/tools/yt-dlp/yt-dlp-git.spec index 8fb86223d1..58a680841b 100644 --- a/anda/tools/yt-dlp/yt-dlp-git.spec +++ b/anda/tools/yt-dlp/yt-dlp-git.spec @@ -2,8 +2,8 @@ %global oldpkgname yt-dlp-nightly Name: yt-dlp-git -Version: 2026.03.03.162040 -Release: 1%?dist +Version: 2026.06.29.231005 +Release: 1%{?dist} Summary: A command-line program to download videos from online video platforms License: Unlicense diff --git a/anda/tools/yubikey-touch-detector/anda.hcl b/anda/tools/yubikey-touch-detector/anda.hcl new file mode 100644 index 0000000000..da4fb1c16c --- /dev/null +++ b/anda/tools/yubikey-touch-detector/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "yubikey-touch-detector.spec" + } +} diff --git a/anda/tools/yubikey-touch-detector/update.rhai b/anda/tools/yubikey-touch-detector/update.rhai new file mode 100644 index 0000000000..daea87d7dc --- /dev/null +++ b/anda/tools/yubikey-touch-detector/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("max-baz/yubikey-touch-detector")); diff --git a/anda/tools/yubikey-touch-detector/yubikey-touch-detector.spec b/anda/tools/yubikey-touch-detector/yubikey-touch-detector.spec new file mode 100644 index 0000000000..b887fc18de --- /dev/null +++ b/anda/tools/yubikey-touch-detector/yubikey-touch-detector.spec @@ -0,0 +1,66 @@ +%global goipath github.com/max-baz/yubikey-touch-detector +Version: 1.13.0 + +%gometa + +Name: yubikey-touch-detector +Release: 1%{?dist} +Summary: A tool to detect when your YubiKey is waiting for a touch + +License: ISC +URL: https://github.com/max-baz/yubikey-touch-detector +Source0: %{url}/archive/refs/tags/%{version}.tar.gz + +Packager: metcya + +BuildRequires: go-rpm-macros +BuildRequires: scdoc +BuildRequires: pkgconfig(gpgme) +BuildRequires: systemd-rpm-macros + +%description +This is a tool that can detect when YubiKey is waiting for your touch. It is +designed to be integrated with other UI components to display a visible +indicator. + +%prep +%goprep + +%build +%global gomodulesmode GO111MODULE=on +%gobuild -o %{name} +scdoc < %{name}.1.scd > %{name}.1 + +%install +install -Dm 755 %{name} %{buildroot}%{_bindir}/%{name} +install -Dm 644 %{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 +install -Dm 644 %{name}.png %{buildroot}%{_hicolordir}/128x128/apps/%{name}.png +install -Dm 644 %{name}.service %{buildroot}%{_userunitdir}/%{name}.service +install -Dm 644 %{name}.socket %{buildroot}%{_userunitdir}/%{name}.socket +install -Dm 644 service.conf.example %{buildroot}%{_sysconfdir}/%{name}/service.conf + +%preun +%systemd_user_preun %{name}.service +%systemd_user_preun %{name}.socket + +%post +%systemd_user_post %{name}.service +%systemd_user_post %{name}.socket + +%postun +%systemd_user_postun %{name}.service +%systemd_user_postun %{name}.socket + +%files +%license LICENSE +%doc README.md +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.* +%{_hicolordir}/128x128/apps/%{name}.png +%{_userunitdir}/%{name}.service +%{_userunitdir}/%{name}.socket +%{_sysconfdir}/%{name}/service.conf + +%changelog +* Wed Mar 18 2026 metcya +- Initial package diff --git a/andax/bump_extras.rhai b/andax/bump_extras.rhai index 90ec2e5ee8..63417b27cb 100644 --- a/andax/bump_extras.rhai +++ b/andax/bump_extras.rhai @@ -29,14 +29,6 @@ fn alma(pkg, repo, branch) { return(vr[1]); } -fn codeberg_commit(repo) { - return get(`https://codeberg.org/api/v1/repos/${repo}/commits?stat=false&verification=false&files=false&limit=1`).json_arr()[0].sha; -} - -fn codeberg(repo) { - return get(`https://codeberg.org/api/v1/repos/${repo}/releases/latest`).json().tag_name; -} - fn as_bodhi_ver(branch) { if branch.starts_with("el") { branch.crop(2);