diff --git a/.github/workflows/manual-nixos-v2.yml b/.github/workflows/build.yml similarity index 52% rename from .github/workflows/manual-nixos-v2.yml rename to .github/workflows/build.yml index f2728da91c93..d92f73eb0d3a 100644 --- a/.github/workflows/manual-nixos-v2.yml +++ b/.github/workflows/build.yml @@ -1,22 +1,10 @@ -name: "Build NixOS manual v2" +name: Build on: pull_request: paths: - - .github/workflows/manual-nixos-v2.yml + - .github/workflows/build.yml pull_request_target: - branches: - - master - - release-* - paths: - - "nixos/**" - # Also build when the nixpkgs doc changed, since we take things like - # the release notes and some css and js files from there. - # See nixos/doc/manual/default.nix - - "doc/**" - # Build when something in lib changes - # Since the lib functions are used to 'massage' the options before producing the manual - - "lib/**" concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} @@ -29,16 +17,24 @@ defaults: shell: bash jobs: - nixos: - name: nixos-manual-build + build: strategy: fail-fast: false matrix: include: - runner: ubuntu-24.04 system: x86_64-linux + builds: [shell,manual-nixos,lib-tests] - runner: ubuntu-24.04-arm system: aarch64-linux + builds: [shell,manual-nixos,manual-nixpkgs,manual-nixpkgs-tests] + - runner: macos-13 + system: x86_64-darwin + builds: [shell] + - runner: macos-14 + system: aarch64-darwin + builds: [shell] + name: ${{ matrix.system }} runs-on: ${{ matrix.runner }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -59,13 +55,34 @@ jobs: name: nixpkgs-ci authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + - name: Build shell + if: contains(matrix.builds, 'shell') + run: nix-build untrusted/ci -A shell + - name: Build NixOS manual - id: build-manual - run: nix-build untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }} + if: | + contains(matrix.builds, 'manual-nixos') && !cancelled() && + (github.base_ref == 'master' || startsWith(github.base_ref, 'release-')) + run: nix-build untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }} --out-link nixos-manual + + - name: Build Nixpkgs manual + if: contains(matrix.builds, 'manual-nixpkgs') && !cancelled() + run: nix-build untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests + + - name: Build Nixpkgs manual tests + if: contains(matrix.builds, 'manual-nixpkgs-tests') && !cancelled() + run: nix-build untrusted/ci -A manual-nixpkgs-tests + + - name: Build lib tests + if: contains(matrix.builds, 'lib-tests') && !cancelled() + run: nix-build untrusted/ci -A lib-tests - name: Upload NixOS manual + if: | + contains(matrix.builds, 'manual-nixos') && !cancelled() && + (github.base_ref == 'master' || startsWith(github.base_ref, 'release-')) uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: nixos-manual-${{ matrix.system }} - path: result/ + path: nixos-manual if-no-files-found: error diff --git a/.github/workflows/check-format.yml b/.github/workflows/check-format.yml deleted file mode 100644 index ef1e3e1a7456..000000000000 --- a/.github/workflows/check-format.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Check that files are formatted - -on: - pull_request: - paths: - - .github/workflows/check-format.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - nixos: - name: fmt-check - runs-on: ubuntu-24.04-arm - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - - - name: Check that files are formatted - run: | - # Note that it's fine to run this on untrusted code because: - # - There's no secrets accessible here - # - The build is sandboxed - if ! nix-build untrusted/ci -A fmt.check; then - echo "Some files are not properly formatted" - echo "Please format them by going to the Nixpkgs root directory and running one of:" - echo " nix-shell --run treefmt" - echo " nix develop --command treefmt" - echo " nix fmt" - echo "Make sure your branch is up to date with master; rebase if not." - echo "If you're having trouble, please ping @NixOS/nix-formatting" - exit 1 - fi diff --git a/.github/workflows/check-shell.yml b/.github/workflows/check-shell.yml deleted file mode 100644 index 37eddde22529..000000000000 --- a/.github/workflows/check-shell.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: "Check shell" - -on: - pull_request: - paths: - - .github/workflows/check-shell.yml - pull_request_target: - paths: - - 'shell.nix' - - 'ci/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - shell-check: - strategy: - fail-fast: false - matrix: - include: - - runner: ubuntu-24.04 - system: x86_64-linux - - runner: ubuntu-24.04-arm - system: aarch64-linux - - runner: macos-13 - system: x86_64-darwin - - runner: macos-14 - system: aarch64-darwin - - name: shell-check-${{ matrix.system }} - runs-on: ${{ matrix.runner }} - - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - - - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16 - with: - # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere. - name: nixpkgs-ci - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - - name: Build shell - run: nix-build untrusted/ci -A shell diff --git a/.github/workflows/check-cherry-picks.yml b/.github/workflows/check.yml similarity index 86% rename from .github/workflows/check-cherry-picks.yml rename to .github/workflows/check.yml index 618c1cf9ffed..b348bef5bfc0 100644 --- a/.github/workflows/check-cherry-picks.yml +++ b/.github/workflows/check.yml @@ -1,29 +1,45 @@ -name: "Check cherry-picks" +name: Check on: pull_request: paths: - - .github/workflows/check-cherry-picks.yml + - .github/workflows/check.yml pull_request_target: - branches: - - 'release-**' - - 'staging-**' - - '!staging-next' concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true -permissions: - pull-requests: write +permissions: {} defaults: run: shell: bash jobs: - check: - name: cherry-pick-check + no-channel-base: + name: no channel base + if: | + startsWith(github.base_ref, 'nixos-') || + startsWith(github.base_ref, 'nixpkgs-') + runs-on: ubuntu-24.04-arm + steps: + - run: | + cat < pull_request.base.repo.id == repository.id) + .map(async (pull_request) => + Promise.all( + (await github.paginate(github.rest.pulls.listReviews, { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pull_request.number + })).filter(review => + review.user.login == 'github-actions[bot]' && + review.state == 'DISMISSED' + ).map(review => github.graphql(` + mutation($node_id:ID!) { + minimizeComment(input: { + classifier: RESOLVED, + subjectId: $node_id + }) + { clientMutationId } + }`, + { node_id: review.node_id } + )) + ) + ) + ) diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml index 711932b6a02b..edbaf78d961f 100644 --- a/.github/workflows/eval.yml +++ b/.github/workflows/eval.yml @@ -217,46 +217,6 @@ jobs: name: comparison path: comparison/* - - name: Labelling pull request - if: ${{ github.event_name == 'pull_request_target' }} - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 - with: - script: | - const { readFile } = require('node:fs/promises') - - const pr = { - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.pull_request.number - } - - // Get all currently set labels that we manage - const before = - (await github.paginate(github.rest.issues.listLabelsOnIssue, pr)) - .map(({ name }) => name) - .filter(name => name.startsWith('10.rebuild') || name == '11.by: package-maintainer') - - // And the labels that should be there - const after = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8')).labels - - // Remove the ones not needed anymore - await Promise.all( - before.filter(name => !after.includes(name)) - .map(name => github.rest.issues.removeLabel({ - ...pr, - name - })) - ) - - // And add the ones that aren't set already - const added = after.filter(name => !before.includes(name)) - if (added.length > 0) { - await github.rest.issues.addLabels({ - ...pr, - labels: added - }) - } - - name: Add eval summary to commit statuses if: ${{ github.event_name == 'pull_request_target' }} uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 @@ -289,6 +249,16 @@ jobs: target_url }) + labels: + name: Labels + needs: [ compare ] + uses: ./.github/workflows/labels.yml + permissions: + issues: write + pull-requests: write + with: + caller: ${{ github.workflow }} + reviewers: name: Reviewers # No dependency on "compare", so that it can start at the same time. diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 1e485a6df89b..950b5f07f775 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -6,14 +6,23 @@ name: "Label PR" on: - pull_request_target: + workflow_call: + inputs: + caller: + description: Name of the calling workflow. + required: true + type: string + workflow_run: + workflows: + - Review dismissed + - Review submitted + types: [completed] concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} + group: ${{ inputs.caller }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true permissions: - contents: read issues: write # needed to create *new* labels pull-requests: write @@ -27,8 +36,113 @@ jobs: runs-on: ubuntu-24.04-arm if: "!contains(github.event.pull_request.title, '[skip treewide]')" steps: + - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + id: eval + with: + script: | + const run_id = (await github.rest.actions.listWorkflowRuns({ + owner: context.repo.owner, + repo: context.repo.repo, + workflow_id: 'eval.yml', + event: 'pull_request_target', + head_sha: context.payload.pull_request?.head.sha ?? context.payload.workflow_run.head_sha + })).data.workflow_runs[0]?.id + core.setOutput('run-id', run_id) + + - name: Download the comparison results + if: steps.eval.outputs.run-id + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + run-id: ${{ steps.eval.outputs.run-id }} + github-token: ${{ github.token }} + pattern: comparison + path: comparison + merge-multiple: true + + - name: Labels from eval + if: steps.eval.outputs.run-id && github.event_name != 'pull_request' + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + const { readFile } = require('node:fs/promises') + + let pull_requests + if (context.payload.workflow_run) { + // PRs from forks don't have any PRs associated by default. + // Thus, we request the PR number with an API call *to* the fork's repo. + // Multiple pull requests can be open from the same head commit, either via + // different base branches or head branches. + const { head_repository, head_sha, repository } = context.payload.workflow_run + pull_requests = (await github.paginate(github.rest.repos.listPullRequestsAssociatedWithCommit, { + owner: head_repository.owner.login, + repo: head_repository.name, + commit_sha: head_sha + })).filter(pull_request => pull_request.base.repo.id == repository.id) + } else { + pull_requests = [ context.payload.pull_request ] + } + + await Promise.all( + pull_requests.map(async (pull_request) => { + const pr = { + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: pull_request.number + } + + // Get all currently set labels that we manage + const before = + (await github.paginate(github.rest.issues.listLabelsOnIssue, pr)) + .map(({ name }) => name) + .filter(name => + name.startsWith('10.rebuild') || + name == '11.by: package-maintainer' || + name.startsWith('12.approvals:') || + name == '12.approved-by: package-maintainer' + ) + + const approvals = + (await github.paginate(github.rest.pulls.listReviews, { + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pull_request.number + })) + .filter(review => review.state == 'APPROVED') + .map(review => review.user.id) + + const maintainers = Object.keys( + JSON.parse(await readFile('comparison/maintainers.json', 'utf-8')) + ) + + // And the labels that should be there + const after = JSON.parse(await readFile('comparison/changed-paths.json', 'utf-8')).labels + if (approvals.length > 0) after.push(`12.approvals: ${approvals.length > 2 ? '3+' : approvals.length}`) + if (maintainers.some(id => approvals.includes(id))) after.push('12.approved-by: package-maintainer') + + // Remove the ones not needed anymore + await Promise.all( + before.filter(name => !after.includes(name)) + .map(name => github.rest.issues.removeLabel({ + ...pr, + name + })) + ) + + // And add the ones that aren't set already + const added = after.filter(name => !before.includes(name)) + if (added.length > 0) { + await github.rest.issues.addLabels({ + ...pr, + labels: added + }) + } + }) + ) + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 + name: Labels from touched files if: | + github.event_name != 'workflow_run' && github.event.pull_request.head.repo.owner.login != 'NixOS' || !( github.head_ref == 'haskell-updates' || github.head_ref == 'python-updates' || @@ -39,8 +153,11 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/labeler.yml # default sync-labels: true + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 + name: Labels from touched files (no sync) if: | + github.event_name != 'workflow_run' && github.event.pull_request.head.repo.owner.login != 'NixOS' || !( github.head_ref == 'haskell-updates' || github.head_ref == 'python-updates' || @@ -51,11 +168,14 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/labeler-no-sync.yml sync-labels: false + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 + name: Labels from touched files (development branches) # Development branches like staging-next, haskell-updates and python-updates get special labels. # This is to avoid the mass of labels there, which is mostly useless - and really annoying for # the backport labels. if: | + github.event_name != 'workflow_run' && github.event.pull_request.head.repo.owner.login == 'NixOS' && ( github.head_ref == 'haskell-updates' || github.head_ref == 'python-updates' || diff --git a/.github/workflows/lib-tests.yml b/.github/workflows/lib-tests.yml deleted file mode 100644 index 4a22a5e2dfdc..000000000000 --- a/.github/workflows/lib-tests.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: "Building Nixpkgs lib-tests" - -on: - pull_request: - paths: - - .github/workflows/lib-tests.yml - pull_request_target: - paths: - - 'lib/**' - - 'maintainers/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - nixpkgs-lib-tests: - name: nixpkgs-lib-tests - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - - - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16 - with: - # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere. - name: nixpkgs-ci - authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - - - name: Building Nixpkgs lib-tests - run: | - nix-build untrusted/ci -A lib-tests diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000000..c26160ba8f07 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,101 @@ +name: Lint + +on: + pull_request: + paths: + - .github/workflows/lint.yml + pull_request_target: + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +permissions: {} + +defaults: + run: + shell: bash + +jobs: + treefmt: + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + sparse-checkout: .github/actions + - name: Check if the PR can be merged and checkout the merge commit + uses: ./.github/actions/get-merge-commit + with: + merged-as-untrusted: true + + - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 + with: + extra_nix_config: sandbox = true + + - name: Check that files are formatted + run: | + # Note that it's fine to run this on untrusted code because: + # - There's no secrets accessible here + # - The build is sandboxed + if ! nix-build untrusted/ci -A fmt.check; then + echo "Some files are not properly formatted" + echo "Please format them by going to the Nixpkgs root directory and running one of:" + echo " nix-shell --run treefmt" + echo " nix develop --command treefmt" + echo " nix fmt" + echo "Make sure your branch is up to date with master; rebase if not." + echo "If you're having trouble, please ping @NixOS/nix-formatting" + exit 1 + fi + + parse: + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + sparse-checkout: .github/actions + - name: Check if the PR can be merged and checkout the merge commit + uses: ./.github/actions/get-merge-commit + with: + merged-as-untrusted: true + + - uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31 + with: + extra_nix_config: sandbox = true + + - name: Parse all nix files + run: | + # Tests multiple versions at once, let's make sure all of them run, so keep-going. + nix-build untrusted/ci -A parse --keep-going + + nixpkgs-vet: + runs-on: ubuntu-24.04-arm + # This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long. + timeout-minutes: 10 + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + sparse-checkout: .github/actions + - name: Check if the PR can be merged and checkout merged and target commits + uses: ./.github/actions/get-merge-commit + with: + merged-as-untrusted: true + target-as-trusted: true + + - uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31 + with: + extra_nix_config: sandbox = true + + - name: Running nixpkgs-vet + env: + # Force terminal colors to be enabled. The library that `nixpkgs-vet` uses respects https://bixense.com/clicolors/ + CLICOLOR_FORCE: 1 + run: | + if nix-build untrusted/ci -A nixpkgs-vet --arg base "./trusted" --arg head "./untrusted"; then + exit 0 + else + exitCode=$? + echo "To run locally: ./ci/nixpkgs-vet.sh $GITHUB_BASE_REF https://github.com/$GITHUB_REPOSITORY.git" + echo "If you're having trouble, ping @NixOS/nixpkgs-vet" + exit "$exitCode" + fi diff --git a/.github/workflows/manual-nixpkgs-v2.yml b/.github/workflows/manual-nixpkgs-v2.yml deleted file mode 100644 index f68fae524e90..000000000000 --- a/.github/workflows/manual-nixpkgs-v2.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: "Build Nixpkgs manual v2" - -on: - pull_request: - paths: - - .github/workflows/manual-nixpkgs-v2.yml - pull_request_target: - paths: - - 'doc/**' - - 'lib/**' - - 'pkgs/by-name/ni/nixdoc/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - nixpkgs: - name: nixpkgs-manual-build - runs-on: ubuntu-24.04-arm - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - - - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16 - with: - # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere. - name: nixpkgs-ci - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: Building Nixpkgs manual - run: nix-build untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests diff --git a/.github/workflows/nix-parse-v2.yml b/.github/workflows/nix-parse-v2.yml deleted file mode 100644 index bd920bd1e7a0..000000000000 --- a/.github/workflows/nix-parse-v2.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: "Check whether nix files are parseable v2" - -on: - pull_request: - paths: - - .github/workflows/nix-parse-v2.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - tests: - name: nix-files-parseable-check - runs-on: ubuntu-24.04-arm - if: "!contains(github.event.pull_request.title, '[skip treewide]')" - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout the merge commit - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - with: - extra_nix_config: sandbox = true - nix_path: nixpkgs=channel:nixpkgs-unstable - - - name: Parse all nix files - run: | - # Tests multiple versions at once, let's make sure all of them run, so keep-going. - nix-build untrusted/ci -A parse --keep-going diff --git a/.github/workflows/nixpkgs-vet.yml b/.github/workflows/nixpkgs-vet.yml deleted file mode 100644 index 0843117e14c7..000000000000 --- a/.github/workflows/nixpkgs-vet.yml +++ /dev/null @@ -1,54 +0,0 @@ -# `nixpkgs-vet` is a tool to vet Nixpkgs: its architecture, package structure, and more. -# Among other checks, it makes sure that `pkgs/by-name` (see `../../pkgs/by-name/README.md`) follows the validity rules outlined in [RFC 140](https://github.com/NixOS/rfcs/pull/140). -# When you make changes to this workflow, please also update `ci/nixpkgs-vet.sh` to reflect the impact of your work to the CI. -# See https://github.com/NixOS/nixpkgs-vet for details on the tool and its checks. - -name: Vet nixpkgs - -on: - pull_request: - paths: - - .github/workflows/nixpkgs-vet.yml - pull_request_target: - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - check: - name: nixpkgs-vet - runs-on: ubuntu-24.04-arm - # This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long. - timeout-minutes: 10 - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - with: - sparse-checkout: .github/actions - - name: Check if the PR can be merged and checkout merged and target commits - uses: ./.github/actions/get-merge-commit - with: - merged-as-untrusted: true - target-as-trusted: true - - - uses: cachix/install-nix-action@17fe5fb4a23ad6cbbe47d6b3f359611ad276644c # v31 - - - name: Running nixpkgs-vet - env: - # Force terminal colors to be enabled. The library that `nixpkgs-vet` uses respects https://bixense.com/clicolors/ - CLICOLOR_FORCE: 1 - run: | - if nix-build untrusted/ci -A nixpkgs-vet --arg base "./trusted" --arg head "./untrusted"; then - exit 0 - else - exitCode=$? - echo "To run locally: ./ci/nixpkgs-vet.sh $GITHUB_BASE_REF https://github.com/$GITHUB_REPOSITORY.git" - echo "If you're having trouble, ping @NixOS/nixpkgs-vet" - exit "$exitCode" - fi diff --git a/.github/workflows/no-channel.yml b/.github/workflows/no-channel.yml deleted file mode 100644 index d02d422d5d71..000000000000 --- a/.github/workflows/no-channel.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: "No channel PR" - -on: - pull_request: - paths: - - .github/workflows/no-channel.yml - pull_request_target: - -permissions: {} - -defaults: - run: - shell: bash - -jobs: - fail: - if: | - startsWith(github.event.pull_request.base.ref, 'nixos-') || - startsWith(github.event.pull_request.base.ref, 'nixpkgs-') - name: "This PR is targeting a channel branch" - runs-on: ubuntu-24.04-arm - steps: - - run: | - cat <' -i tools/lkl/lib/hijack/xlate.c '' - + lib.optionalString stdenv.hostPlatform.isi686 '' + + lib.optionalString (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isLoongArch64) '' echo CONFIG_KALLSYMS=n >> arch/lkl/configs/defconfig echo CONFIG_KALLSYMS_BASE_RELATIVE=n >> arch/lkl/configs/defconfig '' @@ -92,6 +92,12 @@ stdenv.mkDerivation { # symbol lookup error: liblkl-hijack.so: undefined symbol: __aarch64_ldadd4_sync env.NIX_CFLAGS_LINK = "-lgcc_s"; + # Fixes the following error when linking on loongarch64-linux: + # ld: tools/lkl/liblkl.a(lkl.o): relocation R_LARCH_PCREL20_S2 overflow 0x200090 + # ld: recompile with 'gcc -mno-relax' or 'as -mno-relax' or 'ld --no-relax' + # ld: final link failed: bad value + env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isLoongArch64 "--no-relax"; + makeFlags = [ "-C tools/lkl" "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" diff --git a/pkgs/by-name/mi/mise/package.nix b/pkgs/by-name/mi/mise/package.nix index d8d340c6f655..9c00c708bf35 100644 --- a/pkgs/by-name/mi/mise/package.nix +++ b/pkgs/by-name/mi/mise/package.nix @@ -21,17 +21,17 @@ rustPlatform.buildRustPackage rec { pname = "mise"; - version = "2025.6.0"; + version = "2025.6.2"; src = fetchFromGitHub { owner = "jdx"; repo = "mise"; rev = "v${version}"; - hash = "sha256-vlzId9SjxcSQ6DDw0H68zi7xHd2Nn3bPSG+rsR7UEBs="; + hash = "sha256-vptTQdP7r9m328DK7USB6bV7muLVPIkZG8596nfdNQ8="; }; useFetchCargoVendor = true; - cargoHash = "sha256-YVeF+2qJuOMhNQLEpH3P0ufqHU0sBFRHN5yXZGTJEQA="; + cargoHash = "sha256-0PS3WWQo3+fJ2TivvRalYCzDFmNxPRZStJj13kAP9bg="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/mp/mpv-handler/package.nix b/pkgs/by-name/mp/mpv-handler/package.nix new file mode 100644 index 000000000000..389c9bb96357 --- /dev/null +++ b/pkgs/by-name/mp/mpv-handler/package.nix @@ -0,0 +1,50 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + makeWrapper, + mpv, + yt-dlp, + nix-update-script, +}: +rustPlatform.buildRustPackage rec { + pname = "mpv-handler"; + version = "0.3.16"; + + src = fetchFromGitHub { + owner = "akiirui"; + repo = "mpv-handler"; + tag = "v${version}"; + hash = "sha256-RpfHUVZmhtneeu8PIfxinYG3/groJPA9QveDSvzU6Zo="; + }; + + cargoHash = "sha256-FrE1PSRc7GTNUum05jNgKnzpDUc3FiS5CEM18It0lYY="; + useFetchCargoVendor = true; + + passthru.updateScript = nix-update-script { }; + + nativeBuildInputs = [ makeWrapper ]; + + postInstall = '' + install -Dm644 share/linux/mpv-handler.desktop -t $out/share/applications/ + install -Dm644 share/linux/mpv-handler-debug.desktop -t $out/share/applications/ + install -Dm644 share/linux/config.toml -t $out/share/doc/mpv-handler/ + + wrapProgram $out/bin/mpv-handler \ + --prefix PATH : ${ + lib.makeBinPath [ + mpv + yt-dlp + ] + } + ''; + + meta = { + description = "Play website videos and songs with mpv & yt-dlp"; + homepage = "https://github.com/akiirui/mpv-handler"; + mainProgram = "mpv-handler"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ lonerOrz ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/ne/netron/package.nix b/pkgs/by-name/ne/netron/package.nix index 5269f9261f52..94fe6c1306d7 100644 --- a/pkgs/by-name/ne/netron/package.nix +++ b/pkgs/by-name/ne/netron/package.nix @@ -16,16 +16,16 @@ let in buildNpmPackage (finalAttrs: { pname = "netron"; - version = "8.3.5"; + version = "8.3.8"; src = fetchFromGitHub { owner = "lutzroeder"; repo = "netron"; tag = "v${finalAttrs.version}"; - hash = "sha256-YxvUUn8VWv5M6FvIHJCaXQl7PRGcZ8qSgrZ7K0+8iME="; + hash = "sha256-BHV51d5X8uXnqjCkpVnZX40dAuF2HCNk/6A5cKr9nZE="; }; - npmDepsHash = "sha256-fsF40qUKUNXeqvdM1m/IEgnxRZrnGW/aOYS3oZKQNpk="; + npmDepsHash = "sha256-E4jqaDJqgvOvV+67jtMzt/4YkhQ4GmKati0wuVMC8yI="; nativeBuildInputs = [ jq ]; diff --git a/pkgs/by-name/ni/nil/package.nix b/pkgs/by-name/ni/nil/package.nix index 46c5296d8d55..23b85a6dd50e 100644 --- a/pkgs/by-name/ni/nil/package.nix +++ b/pkgs/by-name/ni/nil/package.nix @@ -3,26 +3,30 @@ rustPlatform, fetchFromGitHub, nix, + nixfmt-rfc-style, nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "nil"; - version = "2024-08-06"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "oxalica"; repo = "nil"; rev = version; - hash = "sha256-DqsN/VkYVr4M0PVRQKXPPOTaind5miYZURIYqM4MxYM="; + hash = "sha256-oxvVAFUO9husnRk6XZcLFLjLWL9z0pW25Fk6kVKwt1c="; }; useFetchCargoVendor = true; - cargoHash = "sha256-7TR/xTc66WpPszJDrpisVvHXl2+FGrUOskZAkGyY04Q="; + cargoHash = "sha256-OZIajxv8xNfCGalVw/FUAwWdQzPqfGuDoeRg2E2RR7s="; nativeBuildInputs = [ nix ]; - env.CFG_RELEASE = version; + env = { + CFG_RELEASE = version; + CFG_DEFAULT_FORMATTER = lib.getExe nixfmt-rfc-style; + }; # might be related to https://github.com/NixOS/nix/issues/5884 preBuild = '' diff --git a/pkgs/by-name/nu/numatop/package.nix b/pkgs/by-name/nu/numatop/package.nix index 16f5401f8838..5f5a867baed4 100644 --- a/pkgs/by-name/nu/numatop/package.nix +++ b/pkgs/by-name/nu/numatop/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, autoreconfHook, pkg-config, numactl, @@ -10,49 +9,37 @@ check, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "numatop"; - version = "2.2"; + version = "2.5.1"; + src = fetchFromGitHub { owner = "intel"; repo = "numatop"; - rev = "v${version}"; - sha256 = "sha256-GJvTwqgx34ZW10eIJj/xiKe3ZkAfs7GlJImz8jrnjfI="; + tag = "v${finalAttrs.version}"; + hash = "sha256-951Sm2zu1mPxMbPdZy+kMH8RAQo0z+Gqf2lxsY/+Lrg="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ numactl ncurses ]; - nativeCheckInputs = [ check ]; - patches = [ - (fetchpatch { - # https://github.com/intel/numatop/pull/54 - url = "https://github.com/intel/numatop/compare/eab0ac5253c5843aa0f0ac36e2eec7612207711b...c1001fd926c24eae2d40729492e07270ce133b72.patch"; - sha256 = "sha256-TbMLv7TT9T8wE4uJ1a/AroyPPwrwL0eX5IBLsh9GTTM="; - name = "fix-string-operations.patch"; - }) - (fetchpatch { - # https://github.com/intel/numatop/pull/64 - url = "https://github.com/intel/numatop/commit/635e2ce2ccb1ac793cc276a7fcb8a92b1ffefa5d.patch"; - sha256 = "sha256-IevbSFJRTS5iQ5apHOVXzF67f3LJaW6j7DySFmVuyiM="; - name = "fix-format-strings-mvwprintw.patch"; - }) - ]; + nativeCheckInputs = [ check ]; doCheck = true; - meta = with lib; { + meta = { description = "Tool for runtime memory locality characterization and analysis of processes and threads on a NUMA system"; mainProgram = "numatop"; homepage = "https://01.org/numatop"; - license = licenses.bsd3; - maintainers = with maintainers; [ dtzWill ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ dtzWill ]; platforms = [ "i686-linux" "x86_64-linux" @@ -60,4 +47,4 @@ stdenv.mkDerivation rec { "powerpc64le-linux" ]; }; -} +}) diff --git a/pkgs/by-name/oc/ocsp-server/package.nix b/pkgs/by-name/oc/ocsp-server/package.nix index 736beb3efb4f..ad5bec716b83 100644 --- a/pkgs/by-name/oc/ocsp-server/package.nix +++ b/pkgs/by-name/oc/ocsp-server/package.nix @@ -6,6 +6,7 @@ openssl, perl, libmysqlclient, + sqlite, mariadb, postgresql, mbedtls, @@ -15,26 +16,33 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ocsp-server"; - version = "0.4.1"; + version = "0.6.0"; src = fetchFromGitHub { owner = "DorianCoding"; repo = "OCSP-server"; tag = "v${finalAttrs.version}"; - hash = "sha256-xYZ2NM+U7ZW5xDKVUhT+s66i/d7zaDLBbSbr6TDOG0o="; + hash = "sha256-QaPE1mbOI6+D2pPfhpMA8LmWXKqkOoLLBQSVxdlNkoY="; }; useFetchCargoVendor = true; - cargoHash = "sha256-RFrm2dtjJ2VvOg8ee54ps8MuWgsV0kd9rhpzOFTem2k="; + cargoHash = "sha256-qaDnMbAQA5c8Nim28HAN9QB1cxfBRaFAy8xh41Iekds="; + + checkFlags = [ + # Requires database access + "--skip=test::checkconfig" + ]; nativeBuildInputs = [ pkg-config perl libmysqlclient + sqlite ]; buildInputs = [ openssl + sqlite mariadb postgresql mbedtls diff --git a/pkgs/by-name/ol/olympus-unwrapped/deps.json b/pkgs/by-name/ol/olympus-unwrapped/deps.json new file mode 100644 index 000000000000..e533ddd8abfc --- /dev/null +++ b/pkgs/by-name/ol/olympus-unwrapped/deps.json @@ -0,0 +1,317 @@ +[ + { + "pname": "Microsoft.NETCore.Platforms", + "version": "1.1.0", + "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM=" + }, + { + "pname": "Microsoft.NETCore.Targets", + "version": "1.1.0", + "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ=" + }, + { + "pname": "Mono.Cecil", + "version": "0.11.4", + "hash": "sha256-HrnRgFsOzfqAWw0fUxi/vkzZd8dMn5zueUeLQWA9qvs=" + }, + { + "pname": "MonoMod", + "version": "22.1.4.3", + "hash": "sha256-kindD5YUjBWsopvEnmOL4XsldgwE1zRrmMxIh6nDua8=" + }, + { + "pname": "MonoMod.RuntimeDetour", + "version": "22.1.4.3", + "hash": "sha256-m7FN3SGME4GRGuc7l5ClCT9W3mXqbbhAJHHpWwYqLi8=" + }, + { + "pname": "MonoMod.RuntimeDetour.HookGen", + "version": "22.1.4.3", + "hash": "sha256-DuOnuXQcS63Z/y5s3q5FHZiqWTPgayNpylkzRzl6pE4=" + }, + { + "pname": "MonoMod.Utils", + "version": "22.1.4.3", + "hash": "sha256-0KyqozOCC26+z5+Ah35iFvRwrPXvvxDlEq6gLl5lPNU=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.1", + "hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo=" + }, + { + "pname": "runtime.any.System.Collections", + "version": "4.3.0", + "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8=" + }, + { + "pname": "runtime.any.System.Globalization", + "version": "4.3.0", + "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU=" + }, + { + "pname": "runtime.any.System.IO", + "version": "4.3.0", + "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE=" + }, + { + "pname": "runtime.any.System.Reflection", + "version": "4.3.0", + "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk=" + }, + { + "pname": "runtime.any.System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8=" + }, + { + "pname": "runtime.any.System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ=" + }, + { + "pname": "runtime.any.System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4=" + }, + { + "pname": "runtime.any.System.Runtime", + "version": "4.3.0", + "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM=" + }, + { + "pname": "runtime.any.System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4=" + }, + { + "pname": "runtime.any.System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA=" + }, + { + "pname": "runtime.any.System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs=" + }, + { + "pname": "runtime.any.System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4=" + }, + { + "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps=" + }, + { + "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I=" + }, + { + "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA=" + }, + { + "pname": "runtime.native.System", + "version": "4.3.0", + "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I=" + }, + { + "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM=" + }, + { + "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0=" + }, + { + "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4=" + }, + { + "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g=" + }, + { + "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc=" + }, + { + "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw=" + }, + { + "pname": "runtime.unix.System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI=" + }, + { + "pname": "runtime.unix.System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs=" + }, + { + "pname": "runtime.unix.System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4=" + }, + { + "pname": "System.Collections", + "version": "4.3.0", + "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=" + }, + { + "pname": "System.Collections.NonGeneric", + "version": "4.3.0", + "hash": "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8=" + }, + { + "pname": "System.Collections.Specialized", + "version": "4.3.0", + "hash": "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk=" + }, + { + "pname": "System.ComponentModel", + "version": "4.3.0", + "hash": "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU=" + }, + { + "pname": "System.ComponentModel.Primitives", + "version": "4.3.0", + "hash": "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus=" + }, + { + "pname": "System.ComponentModel.TypeConverter", + "version": "4.3.0", + "hash": "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54=" + }, + { + "pname": "System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM=" + }, + { + "pname": "System.Globalization", + "version": "4.3.0", + "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI=" + }, + { + "pname": "System.Globalization.Extensions", + "version": "4.3.0", + "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk=" + }, + { + "pname": "System.IO", + "version": "4.3.0", + "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY=" + }, + { + "pname": "System.IO.FileSystem.Primitives", + "version": "4.3.0", + "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg=" + }, + { + "pname": "System.Linq", + "version": "4.3.0", + "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A=" + }, + { + "pname": "System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM=" + }, + { + "pname": "System.Reflection", + "version": "4.3.0", + "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY=" + }, + { + "pname": "System.Reflection.Emit.ILGeneration", + "version": "4.7.0", + "hash": "sha256-GUnQeGo/DtvZVQpFnESGq7lJcjB30/KnDY7Kd2G/ElE=" + }, + { + "pname": "System.Reflection.Emit.Lightweight", + "version": "4.7.0", + "hash": "sha256-V0Wz/UUoNIHdTGS9e1TR89u58zJjo/wPUWw6VaVyclU=" + }, + { + "pname": "System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk=" + }, + { + "pname": "System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=" + }, + { + "pname": "System.Reflection.TypeExtensions", + "version": "4.7.0", + "hash": "sha256-GEtCGXwtOnkYejSV+Tfl+DqyGq5jTUaVyL9eMupMHBM=" + }, + { + "pname": "System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo=" + }, + { + "pname": "System.Runtime", + "version": "4.3.0", + "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg=" + }, + { + "pname": "System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o=" + }, + { + "pname": "System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms=" + }, + { + "pname": "System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI=" + }, + { + "pname": "System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg=" + }, + { + "pname": "System.Threading", + "version": "4.3.0", + "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc=" + }, + { + "pname": "System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w=" + }, + { + "pname": "YamlDotNet", + "version": "9.1.0", + "hash": "sha256-WbMPOLkbyN+SdMrBYuaXV2qKB+bLTV+6RdSFSy/iljk=" + } +] diff --git a/pkgs/by-name/ol/olympus-unwrapped/package.nix b/pkgs/by-name/ol/olympus-unwrapped/package.nix new file mode 100644 index 000000000000..fd2794345816 --- /dev/null +++ b/pkgs/by-name/ol/olympus-unwrapped/package.nix @@ -0,0 +1,106 @@ +{ + lib, + fetchFromGitHub, + fetchzip, + buildDotnetModule, + dotnetCorePackages, + luajitPackages, + sqlite, + libarchive, + curl, + love, + xdg-utils, +}: +let + lua_cpath = + with luajitPackages; + lib.concatMapStringsSep ";" getLuaCPath [ + (buildLuarocksPackage { + pname = "lsqlite3"; + version = "0.9.6-1"; + src = fetchzip { + url = "http://lua.sqlite.org/home/zip/lsqlite3_v096.zip"; + hash = "sha256-Mq409A3X9/OS7IPI/KlULR6ZihqnYKk/mS/W/2yrGBg="; + }; + buildInputs = [ sqlite.dev ]; + }) + + lua-subprocess + nfd + ]; + + phome = "$out/lib/olympus"; + # The following variables are to be updated by the update script. + version = "25.04.20.01"; + buildId = "4758"; # IMPORTANT: This line is matched with regex in update.sh. + rev = "10e01bf182e51d1fc2b6060622108a1fb98ae7b7"; +in +buildDotnetModule { + pname = "olympus-unwrapped"; + inherit version; + + src = fetchFromGitHub { + inherit rev; + owner = "EverestAPI"; + repo = "Olympus"; + fetchSubmodules = true; # Required. See upstream's README. + hash = "sha256-7Xdd6AdDpHQUmQ3ogEyir/OQwvOcVDMtweE3D/v4uuQ="; + }; + + nativeBuildInputs = [ + libarchive # To create the .love file (zip format). + ]; + + nugetDeps = ./deps.json; + projectFile = "sharp/Olympus.Sharp.csproj"; + executables = [ ]; + installPath = "${placeholder "out"}/lib/olympus/sharp"; + + # See the 'Dist: Update src/version.txt' step in azure-pipelines.yml from upstream. + preConfigure = '' + echo ${version}-nixos-${buildId}-${builtins.substring 0 5 rev} > src/version.txt + ''; + + # The script find-love is hacked to use love from nixpkgs. + # It is used to launch Loenn from Olympus. + # I assume --fused is so saves are properly made (https://love2d.org/wiki/love.filesystem). + preInstall = '' + mkdir -p ${phome} + makeWrapper ${lib.getExe love} ${phome}/find-love \ + --add-flags "--fused" + + install -Dm755 suppress-output.sh ${phome}/suppress-output + + mkdir -p $out/bin + makeWrapper ${phome}/find-love $out/bin/olympus \ + --prefix LUA_CPATH ";" "${lua_cpath}" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ curl ]}" \ + --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \ + --add-flags ${phome}/olympus.love \ + --set DOTNET_ROOT ${dotnetCorePackages.runtime_8_0}/share/dotnet + + bsdtar --format zip --strip-components 1 -cf ${phome}/olympus.love src + ''; + + postInstall = '' + install -Dm644 lib-linux/olympus.desktop $out/share/applications/olympus.desktop + install -Dm644 src/data/icon.png $out/share/icons/hicolor/128x128/apps/olympus.png + install -Dm644 LICENSE $out/share/licenses/olympus/LICENSE + ''; + + passthru.updateScript = ./update.sh; + + meta = { + description = "Cross-platform GUI Everest installer and Celeste mod manager"; + homepage = "https://github.com/EverestAPI/Olympus"; + downloadPage = "https://everestapi.github.io/#olympus"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + ulysseszhan + petingoso + ]; + mainProgram = "olympus"; + platforms = lib.platforms.unix; + badPlatforms = lib.platforms.aarch; # Celeste doesn't support aarch in the first place + }; +} diff --git a/pkgs/by-name/ol/olympus-unwrapped/update.sh b/pkgs/by-name/ol/olympus-unwrapped/update.sh new file mode 100755 index 000000000000..35cf7c135025 --- /dev/null +++ b/pkgs/by-name/ol/olympus-unwrapped/update.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq common-updater-scripts + +set -eu -o pipefail + +attr=olympus-unwrapped +nix_file=$(nix-instantiate --eval --strict -A "$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') + +api() { + curl -s "https://dev.azure.com/EverestAPI/Olympus/_apis/$1?api-version=7.1" +} + +pipeline_id=$(api pipelines | jq -r ' + .value + | map(select(.name == "EverestAPI.Olympus")) + | .[0].id +') + +run_id=$(api pipelines/$pipeline_id/runs | jq -r ' + .value + | map(select(.result == "succeeded")) + | max_by(.finishedDate) + | .id +') +sed -i 's|buildId\s*=\s*".*";|buildId = "'$run_id'";|' $nix_file + +run=$(api pipelines/$pipeline_id/runs/$run_id) +commit=$(echo "$run" | jq -r '.resources.repositories.self.version') +version=$(echo "$run" | jq -r '.name') +update-source-version $attr $version --rev=$commit + +"$(nix-build --attr $attr.fetch-deps --no-out-link)" diff --git a/pkgs/by-name/ol/olympus/package.nix b/pkgs/by-name/ol/olympus/package.nix new file mode 100644 index 000000000000..fa840d091ed8 --- /dev/null +++ b/pkgs/by-name/ol/olympus/package.nix @@ -0,0 +1,71 @@ +{ + lib, + makeWrapper, + olympus-unwrapped, + symlinkJoin, + buildFHSEnv, + writeShellScript, + # These need overriding if you launch Celeste/Loenn/MiniInstaller from Olympus. + # Some examples: + # - null: Use default wrapper. + # - "": Do not use wrapper. + # - steam-run: Use steam-run. + # - "steam-run": Use steam-run command available from PATH. + # - writeShellScriptBin { ... }: Use a custom script. + # - ./my-wrapper.sh: Use a custom script. + # In any case, it can be overridden at runtime by OLYMPUS_{CELESTE,LOENN,MINIINSTALLER}_WRAPPER. + celesteWrapper ? null, + loennWrapper ? null, + miniinstallerWrapper ? null, + skipHandlerCheck ? false, # whether to skip olympus xdg-mime check, true will override it +}: +let + + wrapper-to-env = + wrapper: + if lib.isDerivation wrapper then + lib.getExe wrapper + else if wrapper != null then + wrapper + else + ""; + + # When installing Everest, Olympus uses MiniInstaller, which is dynamically linked. + miniinstaller-fhs = buildFHSEnv { + pname = "olympus-miniinstaller-fhs"; + version = "1.0.0"; # remains constant, just to prevent complains + targetPkgs = + pkgs: + (with pkgs; [ + icu + openssl + dotnet-runtime # Without this, MiniInstaller will install dotnet itself. + ]); + }; + + miniinstaller-wrapper = + if miniinstallerWrapper == null then + (writeShellScript "miniinstaller-wrapper" "exec ${lib.getExe miniinstaller-fhs} -c \"$@\"") + else + (wrapper-to-env miniinstallerWrapper); + +in +symlinkJoin { + + inherit (olympus-unwrapped) version meta; + pname = "olympus"; + + paths = [ + olympus-unwrapped + ]; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/olympus \ + --set OLYMPUS_CELESTE_WRAPPER "${wrapper-to-env celesteWrapper}" \ + --set OLYMPUS_LOENN_WRAPPER "${wrapper-to-env loennWrapper}" \ + --set OLYMPUS_MINIINSTALLER_WRAPPER "${miniinstaller-wrapper}" \ + --set OLYMPUS_SKIP_SCHEME_HANDLER_CHECK "${if skipHandlerCheck then "1" else "0"}" + ''; +} diff --git a/pkgs/by-name/pr/protols/package.nix b/pkgs/by-name/pr/protols/package.nix index 3b9043a35f16..7a0c870f9155 100644 --- a/pkgs/by-name/pr/protols/package.nix +++ b/pkgs/by-name/pr/protols/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "protols"; - version = "0.12.5"; + version = "0.12.7"; src = fetchFromGitHub { owner = "coder3101"; repo = "protols"; tag = version; - hash = "sha256-zs78TKZU35UGAmEXK3EA9B6zRCqeCtNexHVAJERKyX8="; + hash = "sha256-3XTFKqUPXW7Zm9IruePxq8uY1H/axuE1h22cqQj/YGg="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Lh6KJ5zclT650tPIpMJBALLj4gnis+fglhewiZ5mpMs="; + cargoHash = "sha256-19CNMaDVI804ekxrmUjbx9WmqsG91rviLTsvFtN+D/o="; meta = { description = "Protocol Buffers language server written in Rust"; diff --git a/pkgs/by-name/qu/quickshell/package.nix b/pkgs/by-name/qu/quickshell/package.nix new file mode 100644 index 000000000000..d0a63207e014 --- /dev/null +++ b/pkgs/by-name/qu/quickshell/package.nix @@ -0,0 +1,82 @@ +{ + lib, + stdenv, + fetchFromGitea, + + pkg-config, + cmake, + ninja, + spirv-tools, + qt6, + breakpad, + jemalloc, + cli11, + wayland, + wayland-protocols, + wayland-scanner, + xorg, + libdrm, + libgbm, + pipewire, + pam, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "quickshell"; + version = "0.1.0"; + + # github mirror: https://github.com/quickshell-mirror/quickshell + src = fetchFromGitea { + domain = "git.outfoxxed.me"; + owner = "quickshell"; + repo = "quickshell"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DdE50ZJN/mKsSF/vc9hrMboOeJ7BST5DD6GNEXgVbWg="; + }; + + nativeBuildInputs = [ + cmake + ninja + qt6.qtshadertools + spirv-tools + wayland-scanner + qt6.wrapQtAppsHook + pkg-config + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtdeclarative + qt6.qtwayland + qt6.qtsvg + cli11 + wayland + wayland-protocols + libdrm + libgbm + breakpad + jemalloc + xorg.libxcb + pam + pipewire + ]; + + cmakeFlags = [ + (lib.cmakeFeature "DISTRIBUTOR" "Nixpkgs") + (lib.cmakeBool "DISTRIBUTOR_DEBUGINFO_AVAILABLE" true) + (lib.cmakeFeature "INSTALL_QML_PREFIX" qt6.qtbase.qtQmlPrefix) + (lib.cmakeFeature "GIT_REVISION" "tag-v${finalAttrs.version}") + ]; + + cmakeBuildType = "RelWithDebInfo"; + separateDebugInfo = true; + dontStrip = false; + + meta = { + homepage = "https://quickshell.outfoxxed.me"; + description = "Flexbile QtQuick based desktop shell toolkit"; + license = lib.licenses.lgpl3Only; + platforms = lib.platforms.linux; + mainProgram = "quickshell"; + maintainers = with lib.maintainers; [ outfoxxed ]; + }; +}) diff --git a/pkgs/by-name/ry/ryubing/deps.json b/pkgs/by-name/ry/ryubing/deps.json index e6281013c0ea..a98df2485f7a 100644 --- a/pkgs/by-name/ry/ryubing/deps.json +++ b/pkgs/by-name/ry/ryubing/deps.json @@ -449,11 +449,6 @@ "version": "2023.2.0", "hash": "sha256-Um10fSmO+21I7f+lbzzVq5e8GBijJ9amTvOlt362p1s=" }, - { - "pname": "LibHac", - "version": "0.19.0", - "hash": "sha256-FDEmeGHbX/aCFjFbFk8QwO2rTfFizt9UKb+KFDt23hk=" - }, { "pname": "MicroCom.CodeGenerator.MSBuild", "version": "0.11.0", @@ -804,6 +799,11 @@ "version": "1.2.0", "hash": "sha256-vdDw6YGoyQzv6ustyXP6v7YWUIKEXaZOyUKAaVbRauI=" }, + { + "pname": "Ryujinx.LibHac", + "version": "0.20.0", + "hash": "sha256-msrn9BElOOGtQAz6oK3HbMeyLOQ10Xt8wT0Qyr8NwYU=" + }, { "pname": "Ryujinx.SDL2-CS", "version": "2.30.0-build32", diff --git a/pkgs/by-name/ry/ryubing/package.nix b/pkgs/by-name/ry/ryubing/package.nix index 5cb902c7ffe8..f8bca0586c66 100644 --- a/pkgs/by-name/ry/ryubing/package.nix +++ b/pkgs/by-name/ry/ryubing/package.nix @@ -30,14 +30,14 @@ buildDotnetModule rec { pname = "ryubing"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitLab { domain = "git.ryujinx.app"; owner = "Ryubing"; repo = "Ryujinx"; tag = version; - hash = "sha256-MFZIFoMc80b2xTjKiHaabToftk3BZUP/Sr/V5q6rjpw="; + hash = "sha256-6BCDFd0nU96OgI5lqf4fbyNkG4PS5P4raHVbvBAhB5A="; }; nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/by-name/sn/snipaste/package.nix b/pkgs/by-name/sn/snipaste/package.nix index f6eec3131d03..d263602fad1e 100644 --- a/pkgs/by-name/sn/snipaste/package.nix +++ b/pkgs/by-name/sn/snipaste/package.nix @@ -5,10 +5,10 @@ }: let pname = "snipaste"; - version = "2.10.7"; + version = "2.10.8"; src = fetchurl { url = "https://download.snipaste.com/archives/Snipaste-${version}-x86_64.AppImage"; - hash = "sha256-WzCSI0BfjolbWbj/mLhRj75tW/CvlbzQtFuBizg8xl4="; + hash = "sha256-Ieitxc1HPjqBpf7/rREKca+U0srE+q/s8mz+9Vhczk0="; }; contents = appimageTools.extract { inherit pname version src; }; in diff --git a/pkgs/by-name/sw/swww/package.nix b/pkgs/by-name/sw/swww/package.nix index 92c9e379d70d..7848c3cdfb98 100644 --- a/pkgs/by-name/sw/swww/package.nix +++ b/pkgs/by-name/sw/swww/package.nix @@ -13,17 +13,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "swww"; - version = "0.10.2"; + version = "0.10.3"; src = fetchFromGitHub { owner = "LGFae"; repo = "swww"; tag = "v${finalAttrs.version}"; - hash = "sha256-qvxG8UhO7MsS0lWVGfHUsBKevAa+VJe41NrcX1ZCJdU="; + hash = "sha256-GXqXZn29r7ktL01KBzlPZ+9b1fdnAPF8qhsQxhiqAsQ="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Tiszc/COelBRolrrbKpNklk8IVppIhGmxspnTb20LAE="; + cargoHash = "sha256-jCjeHeHML8gHtvFcnHbiGL5fZ3LhABhXrcUTQriUDc0="; buildInputs = [ lz4 diff --git a/pkgs/by-name/ta/tart/package.nix b/pkgs/by-name/ta/tart/package.nix index 7f1b68712fbc..c52ee5b2c161 100644 --- a/pkgs/by-name/ta/tart/package.nix +++ b/pkgs/by-name/ta/tart/package.nix @@ -12,11 +12,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "tart"; - version = "2.24.0"; + version = "2.27.2"; src = fetchurl { url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz"; - hash = "sha256-5GBn5jWT3d/PidVvmWgfxGTuk72an6WbtRtR/5XHOzk="; + hash = "sha256-KUmNMQGhPk/mWOVYJYQe1jkOTI1H/4yYd/IXle2tO8o="; }; sourceRoot = "."; diff --git a/pkgs/by-name/tr/trelby/package.nix b/pkgs/by-name/tr/trelby/package.nix new file mode 100644 index 000000000000..a8838200acab --- /dev/null +++ b/pkgs/by-name/tr/trelby/package.nix @@ -0,0 +1,52 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + wrapGAppsHook3, + gtk3, + glib, + gsettings-desktop-schemas, +}: + +python3Packages.buildPythonApplication rec { + pname = "trelby"; + version = "2.4.15"; + pyproject = true; + + src = fetchFromGitHub { + owner = "trelby"; + repo = "trelby"; + tag = version; + hash = "sha256-CTasd+YlRHjYUVepZf2RDOuw1p0OdQfJENZamSmXXFw="; + }; + + build-system = [ + python3Packages.setuptools + ]; + + nativeBuildInputs = [ + wrapGAppsHook3 + ]; + + buildInputs = [ + glib + gsettings-desktop-schemas + gtk3 + ]; + + dependencies = with python3Packages; [ + lxml + reportlab + wxpython + ]; + + meta = { + description = "Free, multiplatform, feature-rich screenwriting program"; + homepage = "www.trelby.org"; + downloadPage = "https://github.com/trelby/trelby"; + mainProgram = "trelby"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ isotoxal ]; + }; +} diff --git a/pkgs/by-name/ue/ueberzugpp/package.nix b/pkgs/by-name/ue/ueberzugpp/package.nix index 6d44c5905b93..ca13763f34f3 100644 --- a/pkgs/by-name/ue/ueberzugpp/package.nix +++ b/pkgs/by-name/ue/ueberzugpp/package.nix @@ -32,13 +32,13 @@ stdenv.mkDerivation rec { pname = "ueberzugpp"; - version = "2.9.6"; + version = "2.9.7"; src = fetchFromGitHub { owner = "jstkdng"; repo = "ueberzugpp"; rev = "v${version}"; - hash = "sha256-qo9Rwnx6Oh8DRcCBUMS3JVdNyx1iZSB2Z1qfptUoPFQ="; + hash = "sha256-FR05vBKIMbGiOnugkBi8IkLfHU7LzNF2ihxD7FWWYGU="; }; strictDeps = true; diff --git a/pkgs/by-name/ux/uxplay/package.nix b/pkgs/by-name/ux/uxplay/package.nix index a00a0875fa26..ffa2cfb26dcc 100644 --- a/pkgs/by-name/ux/uxplay/package.nix +++ b/pkgs/by-name/ux/uxplay/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uxplay"; - version = "1.72"; + version = "1.72.1"; src = fetchFromGitHub { owner = "FDH2"; repo = "UxPlay"; rev = "v${finalAttrs.version}"; - hash = "sha256-pS9TgGymQwSDBrhHMQYasJfDchMap49fhHTgxYzq+L4="; + hash = "sha256-qb4wsVPdT4rRQxHjLnft0C1D41IhA7M0ZqiLL65r3Ns="; }; postPatch = '' diff --git a/pkgs/by-name/vi/vivaldi/package.nix b/pkgs/by-name/vi/vivaldi/package.nix index 70a9d9c87ce2..0b897add5442 100644 --- a/pkgs/by-name/vi/vivaldi/package.nix +++ b/pkgs/by-name/vi/vivaldi/package.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { pname = "vivaldi"; - version = "7.4.3684.46"; + version = "7.4.3684.50"; suffix = { @@ -79,8 +79,8 @@ stdenv.mkDerivation rec { url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb"; hash = { - aarch64-linux = "sha256-vcTuqCZy0OlfO5Iz06QVGJRtT3L55wWdmE9R6Y3P1/k="; - x86_64-linux = "sha256-uD2CZ4OEZbLIDgl3VGdHwr0edyJd4Gv/C22Z5wQMYk8="; + aarch64-linux = "sha256-we9+rJ8hOiMboNmcLlu6V/2Q/1lAwpQ+hu9s+JVXJcI="; + x86_64-linux = "sha256-JC/vKl2BU+P6qyU8WhiLoVd4nEG2EYYvwOVPqdVa2Eo="; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index a26f839e2f84..dbeb4fa69d85 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -305,12 +305,13 @@ stdenv.mkDerivation ( "$mini/lib/perl5/cross_perl/${version}:$out/lib/perl5/${version}:$out/lib/perl5/${version}/$runtimeArch" ''; # */ - meta = with lib; { + meta = { homepage = "https://www.perl.org/"; description = "Standard implementation of the Perl 5 programming language"; - license = licenses.artistic1; + license = lib.licenses.artistic1; maintainers = [ ]; - platforms = platforms.all; + teams = [ lib.teams.perl ]; + platforms = lib.platforms.all; priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl` mainProgram = "perl"; }; diff --git a/pkgs/development/ocaml-modules/dum/default.nix b/pkgs/development/ocaml-modules/dum/default.nix index fa41fe11f7c7..679b0c24e357 100644 --- a/pkgs/development/ocaml-modules/dum/default.nix +++ b/pkgs/development/ocaml-modules/dum/default.nix @@ -1,43 +1,38 @@ { lib, - stdenv, - fetchFromGitHub, - ocaml, - findlib, easy-format, + buildDunePackage, + fetchurl, }: -stdenv.mkDerivation rec { - pname = "ocaml${ocaml.version}-dum"; - version = "1.0.1"; +buildDunePackage rec { + pname = "dum"; + version = "1.0.3"; - src = fetchFromGitHub { - owner = "mjambon"; - repo = "dum"; - rev = "v${version}"; - sha256 = "0yrxl97szjc0s2ghngs346x3y0xszx2chidgzxk93frjjpsr1mlr"; + src = fetchurl { + url = "https://github.com/mjambon/dum/releases/download/${version}/dum-${version}.tbz"; + hash = "sha256-ZFojUD/IoxVTDfGyh2wveFsSz4D19pKkHrNuU+LFJlE="; }; postPatch = '' substituteInPlace "dum.ml" \ - --replace "Lazy.lazy_is_val" "Lazy.is_val" \ - --replace "Obj.final_tag" "Obj.custom_tag" + --replace-fail "Lazy.lazy_is_val" "Lazy.is_val" \ + --replace-fail "Obj.final_tag" "Obj.custom_tag" ''; - nativeBuildInputs = [ - ocaml - findlib - ]; propagatedBuildInputs = [ easy-format ]; - strictDeps = true; - - createFindlibDestdir = true; - - meta = with lib; { + meta = { homepage = "https://github.com/mjambon/dum"; description = "Inspect the runtime representation of arbitrary OCaml values"; - license = licenses.lgpl21Plus; - maintainers = [ maintainers.alexfmpe ]; + longDescription = '' + Dum is a library for inspecting the runtime representation of + arbitrary OCaml values. Shared or cyclic data are detected + and labelled. This guarantees that printing would always + terminate. This makes it possible to print values such as closures, + objects or exceptions in depth and without risk. + ''; + license = lib.licenses.lgpl21Plus; + maintainers = with lib.maintainers; [ alexfmpe ]; }; } diff --git a/pkgs/development/python-modules/authlib/default.nix b/pkgs/development/python-modules/authlib/default.nix index 068008330ed1..5662d2fddeeb 100644 --- a/pkgs/development/python-modules/authlib/default.nix +++ b/pkgs/development/python-modules/authlib/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "authlib"; - version = "1.5.2"; + version = "1.6.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "lepture"; repo = "authlib"; tag = "v${version}"; - hash = "sha256-ra1RKprUAqhax0z1osl0lFgFENQZuSW/5FxSmsCdKNY="; + hash = "sha256-USZc+IKcg0+aEG2ISx29jTwm8BBuzNqFoZLBpZ7K2DU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/translate-toolkit/default.nix b/pkgs/development/python-modules/translate-toolkit/default.nix index 3bbc202e25c5..51b97cef0403 100644 --- a/pkgs/development/python-modules/translate-toolkit/default.nix +++ b/pkgs/development/python-modules/translate-toolkit/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { pname = "translate-toolkit"; - version = "3.15.2"; + version = "3.15.3"; pyproject = true; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "translate"; repo = "translate"; tag = version; - hash = "sha256-HZ00ds3MUrtLb6WjxpCch8CPvOuadHJXZsJRQdqge0M="; + hash = "sha256-T/bH9qz8UbiDfuL0hkmIN7Pmj/aZLRF+lJSjsUmDXiU="; }; build-system = [ setuptools-scm ]; @@ -77,7 +77,7 @@ buildPythonPackage rec { meta = { description = "Useful localization tools for building localization & translation systems"; homepage = "https://toolkit.translatehouse.org/"; - changelog = "https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releases/${version}.html"; + changelog = "https://docs.translatehouse.org/projects/translate-toolkit/en/latest/releases/${src.tag}.html"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ erictapen ]; }; diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix index 753001d192b9..e6f684201393 100644 --- a/pkgs/games/path-of-building/default.nix +++ b/pkgs/games/path-of-building/default.nix @@ -17,13 +17,13 @@ let data = stdenv.mkDerivation (finalAttrs: { pname = "path-of-building-data"; - version = "2.52.3"; + version = "2.53.0"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding"; rev = "v${finalAttrs.version}"; - hash = "sha256-hwluSZGYRMN32dSLIe8Cs6l6R84V5fNCuHYtoc7+b00="; + hash = "sha256-LT8EVO/VkwIVF3DbRZiHab5m6TYqhlHDFGai52TBWqo="; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index a42dff0517d9..2e212a062c8d 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -27,21 +27,21 @@ let # pulling it out of the Git history every few months and checking which files # we need to update now is slightly annoying. patchGoVersion = '' - find . -name go.mod -not -path "./.bingo/*" -not -path "./.citools/*" -print0 | while IFS= read -r -d ''' line; do + find . -name go.mod -not -path "./.bingo/*" -print0 | while IFS= read -r -d ''' line; do substituteInPlace "$line" \ - --replace-fail "go 1.24.2" "go 1.24.2" + --replace-fail "go 1.24.3" "go 1.24.2" done find . -name go.work -print0 | while IFS= read -r -d ''' line; do substituteInPlace "$line" \ - --replace-fail "go 1.24.2" "go 1.24.2" + --replace-fail "go 1.24.3" "go 1.24.2" done substituteInPlace Makefile \ - --replace-fail "GO_VERSION = 1.24.2" "GO_VERSION = 1.24.2" + --replace-fail "GO_VERSION = 1.24.3" "GO_VERSION = 1.24.2" ''; in buildGoModule rec { pname = "grafana"; - version = "12.0.0+security-01"; + version = "12.0.1+security-01"; subPackages = [ "pkg/cmd/grafana" @@ -53,7 +53,7 @@ buildGoModule rec { owner = "grafana"; repo = "grafana"; rev = "v${version}"; - hash = "sha256-4i9YHhoneptF72F4zvV+KVUJiP8xfiowPJExQ9iteK4="; + hash = "sha256-cYEWNXuIrTrtXR3XHqizDJ17QyBYkaccIThSorWO5GA="; }; # borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22 @@ -67,14 +67,14 @@ buildGoModule rec { missingHashes = ./missing-hashes.json; offlineCache = yarn-berry_4.fetchYarnBerryDeps { inherit src missingHashes; - hash = "sha256-yLrGllct+AGG/u/E2iX2gog1d/iKNfkYu6GV6Pw6nuc="; + hash = "sha256-Vjr/jyXqHoM/3o49IDJ2aT1s1tMkP90H+2E+yUiviF4="; }; disallowedRequisites = [ offlineCache ]; postPatch = patchGoVersion; - vendorHash = "sha256-dpLcU4ru/wIsxwYAI1qROtYwHJ2WOJSZpIhd9/qMwZo="; + vendorHash = "sha256-Vlao6eNEHtl1+6vAAjDOxINuGxSwAqdi6Hc8oVniTO8="; proxyVendor = true; diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 0152be513915..349732a40010 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -53,7 +53,7 @@ postgresqlBuildExtension (finalAttrs: { inherit (finalAttrs) finalPackage; withPackages = [ "timescaledb_toolkit" ]; postgresqlExtraSettings = '' - shared_preload_libraries='timescaledb,timescaledb_toolkit' + shared_preload_libraries='timescaledb' ''; sql = '' CREATE EXTENSION timescaledb; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index eee5469f6913..3f0235e09a09 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -460,6 +460,7 @@ mapAliases { cosmic-tasks = tasks; # Added 2024-07-04 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15 crispyDoom = crispy-doom; # Added 2023-05-01 + cromite = throw "'cromite' has been removed from nixpkgs due to it not being maintained"; # Added 2025-06-12 crossLibcStdenv = stdenvNoLibc; # Added 2024-09-06 crystal_1_2 = throw "'crystal_1_2' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13 crystal_1_7 = throw "'crystal_1_7' has been removed as it is obsolete and no longer used in the tree. Consider using 'crystal' instead"; # Added 2025-02-13 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b0b7e5ef2b7..16e1576509ac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3052,9 +3052,7 @@ with pkgs; garage_1_x ; - gauge-unwrapped = callPackage ../development/tools/gauge { }; - gauge = callPackage ../development/tools/gauge/wrapper.nix { }; - gaugePlugins = recurseIntoAttrs (callPackage ../development/tools/gauge/plugins { }); + gaugePlugins = recurseIntoAttrs (callPackage ../by-name/ga/gauge/plugins { }); gawd = python3Packages.toPythonApplication python3Packages.gawd;