Merge 3108eaa516 into haskell-updates
This commit is contained in:
@@ -1,23 +1,31 @@
|
||||
name: Get merge commit
|
||||
|
||||
description: 'Checks whether the Pull Request is mergeable and returns two commit hashes: The result of a temporary merge of the head branch into the target branch ("merged"), and the parent of that commit on the target branch ("target"). Handles push events and merge conflicts gracefully.'
|
||||
description: 'Checks whether the Pull Request is mergeable and checks out the repo at up to two commits: The result of a temporary merge of the head branch into the target branch ("merged"), and the parent of that commit on the target branch ("target"). Handles push events and merge conflicts gracefully.'
|
||||
|
||||
inputs:
|
||||
merged-as-untrusted:
|
||||
description: "Whether to checkout the merge commit in the ./untrusted folder."
|
||||
type: boolean
|
||||
target-as-trusted:
|
||||
description: "Whether to checkout the target commit in the ./trusted folder."
|
||||
type: boolean
|
||||
|
||||
outputs:
|
||||
mergedSha:
|
||||
description: "The merge commit SHA"
|
||||
value: ${{ fromJSON(steps.merged.outputs.result).mergedSha }}
|
||||
value: ${{ steps.commits.outputs.mergedSha }}
|
||||
targetSha:
|
||||
description: "The target commit SHA"
|
||||
value: ${{ fromJSON(steps.merged.outputs.result).targetSha }}
|
||||
value: ${{ steps.commits.outputs.targetSha }}
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- id: merged
|
||||
- id: commits
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
with:
|
||||
script: |
|
||||
if (context.eventName == 'push') return { mergedSha: context.sha }
|
||||
if (context.eventName == 'push') return core.setOutput('mergedSha', context.sha)
|
||||
|
||||
for (const retryInterval of [5, 10, 20, 40, 80]) {
|
||||
console.log("Checking whether the pull request can be merged...")
|
||||
@@ -35,32 +43,46 @@ runs:
|
||||
continue
|
||||
}
|
||||
|
||||
let mergedSha, targetSha
|
||||
|
||||
if (prInfo.mergeable) {
|
||||
console.log("The PR can be merged.")
|
||||
|
||||
const mergedSha = prInfo.merge_commit_sha
|
||||
const targetSha = (await github.rest.repos.getCommit({
|
||||
mergedSha = prInfo.merge_commit_sha
|
||||
targetSha = (await github.rest.repos.getCommit({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
ref: prInfo.merge_commit_sha
|
||||
})).data.parents[0].sha
|
||||
|
||||
console.log(`Checking the commits:\nmerged:${mergedSha}\ntarget:${targetSha}`)
|
||||
|
||||
return { mergedSha, targetSha }
|
||||
} else {
|
||||
console.log("The PR has a merge conflict.")
|
||||
|
||||
const mergedSha = prInfo.head.sha
|
||||
const targetSha = (await github.rest.repos.compareCommitsWithBasehead({
|
||||
mergedSha = prInfo.head.sha
|
||||
targetSha = (await github.rest.repos.compareCommitsWithBasehead({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
basehead: `${prInfo.base.sha}...${prInfo.head.sha}`
|
||||
})).data.merge_base_commit.sha
|
||||
|
||||
console.log(`Checking the commits:\nmerged:${mergedSha}\ntarget:${targetSha}`)
|
||||
|
||||
return { mergedSha, targetSha }
|
||||
}
|
||||
|
||||
console.log(`Checking the commits:\nmerged:${mergedSha}\ntarget:${targetSha}`)
|
||||
core.setOutput('mergedSha', mergedSha)
|
||||
core.setOutput('targetSha', targetSha)
|
||||
return
|
||||
}
|
||||
throw new Error("Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com.")
|
||||
|
||||
# Would be great to do the checkouts in git worktrees of the existing spare checkout instead,
|
||||
# but Nix is broken with them:
|
||||
# https://github.com/NixOS/nix/issues/6073
|
||||
- if: inputs.merged-as-untrusted && steps.commits.outputs.mergedSha
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.commits.outputs.mergedSha }}
|
||||
path: untrusted
|
||||
|
||||
- if: inputs.target-as-trusted && steps.commits.outputs.targetSha
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.commits.outputs.targetSha }}
|
||||
path: trusted
|
||||
|
||||
@@ -21,10 +21,11 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
filter: blob:none
|
||||
path: trusted
|
||||
|
||||
- name: Check cherry-picks
|
||||
env:
|
||||
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
run: |
|
||||
./maintainers/scripts/check-cherry-picks.sh "$BASE_SHA" "$HEAD_SHA"
|
||||
./trusted/maintainers/scripts/check-cherry-picks.sh "$BASE_SHA" "$HEAD_SHA"
|
||||
|
||||
@@ -16,13 +16,10 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge commit
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
merged-as-untrusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
with:
|
||||
@@ -33,7 +30,7 @@ jobs:
|
||||
# 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 ci -A fmt.check; then
|
||||
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"
|
||||
|
||||
@@ -33,15 +33,12 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge commit
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
merged-as-untrusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
|
||||
- name: Build shell
|
||||
run: nix-build ci -A shell
|
||||
run: nix-build untrusted/ci -A shell
|
||||
|
||||
@@ -46,9 +46,11 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge and target commits
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
with:
|
||||
merged-as-untrusted: true
|
||||
target-as-trusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
|
||||
@@ -58,15 +60,8 @@ jobs:
|
||||
name: nixpkgs-ci
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
|
||||
# Important: Because we use pull_request_target, this checks out the base branch of the PR, not the PR itself.
|
||||
# We later build and run code from the base branch with access to secrets,
|
||||
# so it's important this is not the PRs code.
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
path: base
|
||||
|
||||
- name: Build codeowners validator
|
||||
run: nix-build base/ci -A codeownersValidator
|
||||
run: nix-build trusted/ci -A codeownersValidator
|
||||
|
||||
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
|
||||
if: vars.OWNER_RO_APP_ID
|
||||
@@ -77,17 +72,12 @@ jobs:
|
||||
permission-administration: read
|
||||
permission-members: read
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
path: pr
|
||||
|
||||
- name: Validate codeowners
|
||||
if: steps.app-token.outputs.token
|
||||
env:
|
||||
OWNERS_FILE: pr/${{ env.OWNERS_FILE }}
|
||||
OWNERS_FILE: untrusted/${{ env.OWNERS_FILE }}
|
||||
GITHUB_ACCESS_TOKEN: ${{ steps.app-token.outputs.token }}
|
||||
REPOSITORY_PATH: pr
|
||||
REPOSITORY_PATH: untrusted
|
||||
OWNER_CHECKER_REPOSITORY: ${{ github.repository }}
|
||||
# Set this to "notowned,avoid-shadowing" to check that all files are owned by somebody
|
||||
EXPERIMENTAL_CHECKS: "avoid-shadowing"
|
||||
@@ -104,6 +94,8 @@ jobs:
|
||||
# Important: Because we use pull_request_target, this checks out the base branch of the PR, not the PR head.
|
||||
# This is intentional, because we need to request the review of owners as declared in the base branch.
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
path: trusted
|
||||
|
||||
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
|
||||
if: vars.OWNER_APP_ID
|
||||
@@ -116,7 +108,7 @@ jobs:
|
||||
permission-pull-requests: write
|
||||
|
||||
- name: Build review request package
|
||||
run: nix-build ci -A requestReviews
|
||||
run: nix-build trusted/ci -A requestReviews
|
||||
|
||||
- name: Request reviews
|
||||
if: steps.app-token.outputs.token
|
||||
|
||||
@@ -16,15 +16,10 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge commit
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- name: Check out the PR at the test merge commit
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
path: nixpkgs
|
||||
merged-as-untrusted: true
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
@@ -32,8 +27,8 @@ jobs:
|
||||
extra_nix_config: sandbox = true
|
||||
|
||||
- name: Ensure flake outputs on all systems still evaluate
|
||||
run: nix flake check --all-systems --no-build ./nixpkgs
|
||||
run: nix flake check --all-systems --no-build ./untrusted
|
||||
|
||||
- name: Query nixpkgs with aliases enabled to check for basic syntax errors
|
||||
run: |
|
||||
time nix-env -I ./nixpkgs -f ./nixpkgs -qa '*' --option restrict-eval true --option allow-import-from-derivation false >/dev/null
|
||||
time nix-env -I ./untrusted -f ./untrusted -qa '*' --option restrict-eval true --option allow-import-from-derivation false >/dev/null
|
||||
|
||||
+94
-102
@@ -61,7 +61,7 @@ jobs:
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ needs.prepare.outputs.mergedSha }}
|
||||
path: nixpkgs
|
||||
path: untrusted
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
@@ -72,62 +72,26 @@ jobs:
|
||||
env:
|
||||
MATRIX_SYSTEM: ${{ matrix.system }}
|
||||
run: |
|
||||
nix-build nixpkgs/ci -A eval.singleSystem \
|
||||
nix-build untrusted/ci -A eval.singleSystem \
|
||||
--argstr evalSystem "$MATRIX_SYSTEM" \
|
||||
--arg chunkSize 10000
|
||||
--arg chunkSize 10000 \
|
||||
--out-link merged
|
||||
# If it uses too much memory, slightly decrease chunkSize
|
||||
|
||||
- name: Upload the output paths and eval stats
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: intermediate-${{ matrix.system }}
|
||||
path: result/*
|
||||
|
||||
process:
|
||||
name: Process
|
||||
runs-on: ubuntu-24.04-arm
|
||||
needs: [ prepare, outpaths ]
|
||||
outputs:
|
||||
targetRunId: ${{ steps.targetRunId.outputs.targetRunId }}
|
||||
steps:
|
||||
- name: Download output paths and eval stats for all systems
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
pattern: intermediate-*
|
||||
path: intermediate
|
||||
merge-multiple: true
|
||||
|
||||
- name: Check out the PR at the test merge commit
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ needs.prepare.outputs.mergedSha }}
|
||||
fetch-depth: 2
|
||||
path: nixpkgs
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
with:
|
||||
extra_nix_config: sandbox = true
|
||||
|
||||
- name: Combine all output paths and eval stats
|
||||
run: |
|
||||
nix-build nixpkgs/ci -A eval.combine \
|
||||
--arg resultsDir ./intermediate \
|
||||
-o prResult
|
||||
|
||||
- name: Upload the combined results
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: result
|
||||
path: prResult/*
|
||||
name: merged-${{ matrix.system }}
|
||||
path: merged/*
|
||||
|
||||
- name: Get target run id
|
||||
if: needs.prepare.outputs.targetSha
|
||||
id: targetRunId
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
MATRIX_SYSTEM: ${{ matrix.system }}
|
||||
REPOSITORY: ${{ github.repository }}
|
||||
TARGET_SHA: ${{ needs.prepare.outputs.targetSha }}
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
# Get the latest eval.yml workflow run for the PR's target commit
|
||||
if ! run=$(gh api --method GET /repos/"$REPOSITORY"/actions/workflows/eval.yml/runs \
|
||||
@@ -139,16 +103,24 @@ jobs:
|
||||
fi
|
||||
echo "Comparing against $(jq .html_url <<< "$run")"
|
||||
runId=$(jq .id <<< "$run")
|
||||
conclusion=$(jq -r .conclusion <<< "$run")
|
||||
|
||||
if ! job=$(gh api --method GET /repos/"$REPOSITORY"/actions/runs/"$runId"/jobs \
|
||||
--jq ".jobs[] | select (.name == \"Outpaths ($MATRIX_SYSTEM)\")") \
|
||||
|| [[ -z "$job" ]]; then
|
||||
echo "Could not find the Outpaths ($MATRIX_SYSTEM) job for workflow run $runId, cannot make comparison"
|
||||
exit 1
|
||||
fi
|
||||
jobId=$(jq .id <<< "$job")
|
||||
conclusion=$(jq -r .conclusion <<< "$job")
|
||||
|
||||
while [[ "$conclusion" == null || "$conclusion" == "" ]]; do
|
||||
echo "Workflow not done, waiting 10 seconds before checking again"
|
||||
echo "Job not done, waiting 10 seconds before checking again"
|
||||
sleep 10
|
||||
conclusion=$(gh api /repos/"$REPOSITORY"/actions/runs/"$runId" --jq '.conclusion')
|
||||
conclusion=$(gh api /repos/"$REPOSITORY"/actions/jobs/"$jobId" --jq '.conclusion')
|
||||
done
|
||||
|
||||
if [[ "$conclusion" != "success" ]]; then
|
||||
echo "Workflow was not successful (conclusion: $conclusion), cannot make comparison"
|
||||
echo "Job was not successful (conclusion: $conclusion), cannot make comparison"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -157,80 +129,88 @@ jobs:
|
||||
- uses: actions/download-artifact@v4
|
||||
if: steps.targetRunId.outputs.targetRunId
|
||||
with:
|
||||
name: result
|
||||
path: targetResult
|
||||
merge-multiple: true
|
||||
github-token: ${{ github.token }}
|
||||
run-id: ${{ steps.targetRunId.outputs.targetRunId }}
|
||||
name: merged-${{ matrix.system }}
|
||||
path: target
|
||||
github-token: ${{ github.token }}
|
||||
merge-multiple: true
|
||||
|
||||
- name: Compare outpaths against the target branch
|
||||
if: steps.targetRunId.outputs.targetRunId
|
||||
env:
|
||||
MATRIX_SYSTEM: ${{ matrix.system }}
|
||||
run: |
|
||||
nix-build untrusted/ci -A eval.diff \
|
||||
--arg beforeDir ./target \
|
||||
--arg afterDir "$(readlink ./merged)" \
|
||||
--argstr evalSystem "$MATRIX_SYSTEM" \
|
||||
--out-link diff
|
||||
|
||||
- name: Upload outpaths diff and stats
|
||||
if: steps.targetRunId.outputs.targetRunId
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: diff-${{ matrix.system }}
|
||||
path: diff/*
|
||||
|
||||
tag:
|
||||
name: Tag
|
||||
runs-on: ubuntu-24.04-arm
|
||||
needs: [ prepare, outpaths ]
|
||||
if: needs.prepare.outputs.targetSha
|
||||
permissions:
|
||||
pull-requests: write
|
||||
statuses: write
|
||||
steps:
|
||||
- name: Download output paths and eval stats for all systems
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
pattern: diff-*
|
||||
path: diff
|
||||
merge-multiple: true
|
||||
|
||||
- name: Check out the PR at the target commit
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ needs.prepare.outputs.targetSha }}
|
||||
path: trusted
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
with:
|
||||
extra_nix_config: sandbox = true
|
||||
|
||||
- name: Combine all output paths and eval stats
|
||||
run: |
|
||||
nix-build trusted/ci -A eval.combine \
|
||||
--arg diffDir ./diff \
|
||||
--out-link combined
|
||||
|
||||
- name: Compare against the target branch
|
||||
if: steps.targetRunId.outputs.targetRunId
|
||||
env:
|
||||
AUTHOR_ID: ${{ github.event.pull_request.user.id }}
|
||||
run: |
|
||||
git -C nixpkgs worktree add ../target ${{ needs.prepare.outputs.targetSha }}
|
||||
git -C nixpkgs diff --name-only ${{ needs.prepare.outputs.targetSha }} \
|
||||
git -C trusted fetch --depth 1 origin ${{ needs.prepare.outputs.mergedSha }}
|
||||
git -C trusted diff --name-only ${{ needs.prepare.outputs.mergedSha }} \
|
||||
| jq --raw-input --slurp 'split("\n")[:-1]' > touched-files.json
|
||||
|
||||
# Use the target branch to get accurate maintainer info
|
||||
nix-build target/ci -A eval.compare \
|
||||
--arg beforeResultDir ./targetResult \
|
||||
--arg afterResultDir "$(realpath prResult)" \
|
||||
nix-build trusted/ci -A eval.compare \
|
||||
--arg combinedDir "$(realpath ./combined)" \
|
||||
--arg touchedFilesJson ./touched-files.json \
|
||||
--argstr githubAuthorId "$AUTHOR_ID" \
|
||||
-o comparison
|
||||
--out-link comparison
|
||||
|
||||
cat comparison/step-summary.md >> "$GITHUB_STEP_SUMMARY"
|
||||
|
||||
- name: Upload the combined results
|
||||
if: steps.targetRunId.outputs.targetRunId
|
||||
- name: Upload the comparison results
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: comparison
|
||||
path: comparison/*
|
||||
|
||||
# Separate job to have a very tightly scoped PR write token
|
||||
tag:
|
||||
name: Tag
|
||||
runs-on: ubuntu-24.04-arm
|
||||
needs: [ prepare, process ]
|
||||
if: needs.process.outputs.targetRunId
|
||||
permissions:
|
||||
pull-requests: write
|
||||
statuses: write
|
||||
steps:
|
||||
# See ./codeowners-v2.yml, reuse the same App because we need the same permissions
|
||||
# Can't use the token received from permissions above, because it can't get enough permissions
|
||||
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
|
||||
if: vars.OWNER_APP_ID
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.OWNER_APP_ID }}
|
||||
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
|
||||
permission-administration: read
|
||||
permission-members: read
|
||||
permission-pull-requests: write
|
||||
|
||||
- name: Download process result
|
||||
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
||||
with:
|
||||
name: comparison
|
||||
path: comparison
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
|
||||
# Important: This workflow job runs with extra permissions,
|
||||
# so we need to make sure to not run untrusted code from PRs
|
||||
- name: Check out Nixpkgs at the base commit
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ needs.prepare.outputs.targetSha }}
|
||||
path: base
|
||||
sparse-checkout: ci
|
||||
|
||||
- name: Build the requestReviews derivation
|
||||
run: nix-build base/ci -A requestReviews
|
||||
run: nix-build trusted/ci -A requestReviews
|
||||
|
||||
- name: Labelling pull request
|
||||
if: ${{ github.event_name == 'pull_request_target' && github.repository_owner == 'NixOS' }}
|
||||
@@ -286,6 +266,18 @@ jobs:
|
||||
"/repos/$GITHUB_REPOSITORY/statuses/$PR_HEAD_SHA" \
|
||||
-f "context=Eval / Summary" -f "state=success" -f "description=$description" -f "target_url=$target_url"
|
||||
|
||||
# See ./codeowners-v2.yml, reuse the same App because we need the same permissions
|
||||
# Can't use the token received from permissions above, because it can't get enough permissions
|
||||
- uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
|
||||
if: vars.OWNER_APP_ID
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.OWNER_APP_ID }}
|
||||
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
|
||||
permission-administration: read
|
||||
permission-members: read
|
||||
permission-pull-requests: write
|
||||
|
||||
- name: Requesting maintainer reviews
|
||||
if: ${{ steps.app-token.outputs.token && github.repository_owner == 'NixOS' }}
|
||||
env:
|
||||
|
||||
@@ -19,13 +19,10 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge commit
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
merged-as-untrusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
with:
|
||||
@@ -33,4 +30,4 @@ jobs:
|
||||
|
||||
- name: Building Nixpkgs lib-tests
|
||||
run: |
|
||||
nix-build ci -A lib-tests
|
||||
nix-build untrusted/ci -A lib-tests
|
||||
|
||||
@@ -35,13 +35,10 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge commit
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
merged-as-untrusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
with:
|
||||
@@ -55,7 +52,7 @@ jobs:
|
||||
|
||||
- name: Build NixOS manual
|
||||
id: build-manual
|
||||
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true ci -A manual-nixos --argstr system ${{ matrix.system }}
|
||||
run: NIX_PATH=nixpkgs=$(pwd)/untrusted nix-build --option restrict-eval true untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }}
|
||||
|
||||
- name: Upload NixOS manual
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
|
||||
@@ -22,13 +22,10 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge commit
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
merged-as-untrusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
with:
|
||||
@@ -41,4 +38,4 @@ jobs:
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
|
||||
- name: Building Nixpkgs manual
|
||||
run: NIX_PATH=nixpkgs=$(pwd) nix-build --option restrict-eval true ci -A manual-nixpkgs -A manual-nixpkgs-tests
|
||||
run: NIX_PATH=nixpkgs=$(pwd)/untrusted nix-build --option restrict-eval true untrusted/ci -A manual-nixpkgs -A manual-nixpkgs-tests
|
||||
|
||||
@@ -17,13 +17,10 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
sparse-checkout: .github/actions
|
||||
- name: Check if the PR can be merged and get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout the merge commit
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
merged-as-untrusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
with:
|
||||
@@ -33,4 +30,4 @@ jobs:
|
||||
- name: Parse all nix files
|
||||
run: |
|
||||
# Tests multiple versions at once, let's make sure all of them run, so keep-going.
|
||||
nix-build ci -A parse --keep-going
|
||||
nix-build untrusted/ci -A parse --keep-going
|
||||
|
||||
@@ -19,51 +19,27 @@ permissions: {}
|
||||
jobs:
|
||||
check:
|
||||
name: nixpkgs-vet
|
||||
# This needs to be x86_64-linux, because we depend on the tooling being pre-built in the GitHub releases.
|
||||
runs-on: ubuntu-24.04
|
||||
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 get the test merge commit
|
||||
- name: Check if the PR can be merged and checkout merged and target commits
|
||||
uses: ./.github/actions/get-merge-commit
|
||||
id: get-merge-commit
|
||||
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ steps.get-merge-commit.outputs.mergedSha }}
|
||||
# Fetches the merge commit and its parents
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Checking out target branch
|
||||
run: |
|
||||
target=$(mktemp -d)
|
||||
git worktree add "$target" "$(git rev-parse HEAD^1)"
|
||||
echo "target=$target" >> "$GITHUB_ENV"
|
||||
merged-as-untrusted: true
|
||||
target-as-trusted: true
|
||||
|
||||
- uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
|
||||
|
||||
- name: Fetching the pinned tool
|
||||
# Update the pinned version using ci/nixpkgs-vet/update-pinned-tool.sh
|
||||
run: |
|
||||
# The pinned version of the tooling to use.
|
||||
toolVersion=$(<ci/nixpkgs-vet/pinned-version.txt)
|
||||
|
||||
# Fetch the x86_64-linux-specific release artifact containing the gzipped NAR of the pre-built tool.
|
||||
toolPath=$(curl -sSfL https://github.com/NixOS/nixpkgs-vet/releases/download/"$toolVersion"/x86_64-linux.nar.gz \
|
||||
| gzip -cd | nix-store --import | tail -1)
|
||||
|
||||
# Adds a result symlink as a GC root.
|
||||
nix-store --realise "$toolPath" --add-root result
|
||||
|
||||
- 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 result/bin/nixpkgs-vet --base "$target" .; then
|
||||
if nix-build untrusted/ci -A nixpkgs-vet --arg base "./trusted" --arg head "./untrusted"; then
|
||||
exit 0
|
||||
else
|
||||
exitCode=$?
|
||||
|
||||
@@ -84,6 +84,7 @@ in
|
||||
manual-nixos = (import ../nixos/release.nix { }).manual.${system} or null;
|
||||
manual-nixpkgs = (import ../pkgs/top-level/release.nix { }).manual;
|
||||
manual-nixpkgs-tests = (import ../pkgs/top-level/release.nix { }).manual.tests;
|
||||
nixpkgs-vet = pkgs.callPackage ./nixpkgs-vet.nix { };
|
||||
parse = pkgs.lib.recurseIntoAttrs {
|
||||
latest = pkgs.callPackage ./parse.nix { nix = pkgs.nixVersions.latest; };
|
||||
lix = pkgs.callPackage ./parse.nix { nix = pkgs.lix; };
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
python3,
|
||||
}:
|
||||
{
|
||||
beforeResultDir,
|
||||
afterResultDir,
|
||||
combinedDir,
|
||||
touchedFilesJson,
|
||||
githubAuthorId,
|
||||
byName ? false,
|
||||
@@ -20,7 +19,7 @@ let
|
||||
|
||||
---
|
||||
Inputs:
|
||||
- beforeResultDir, afterResultDir: The evaluation result from before and after the change.
|
||||
- beforeDir, afterDir: The evaluation result from before and after the change.
|
||||
They can be obtained by running `nix-build -A ci.eval.full` on both revisions.
|
||||
|
||||
---
|
||||
@@ -66,7 +65,6 @@ let
|
||||
Example: { name = "python312Packages.numpy"; platform = "x86_64-linux"; }
|
||||
*/
|
||||
inherit (import ./utils.nix { inherit lib; })
|
||||
diff
|
||||
groupByKernel
|
||||
convertToPackagePlatformAttrs
|
||||
groupByPlatform
|
||||
@@ -74,22 +72,10 @@ let
|
||||
getLabels
|
||||
;
|
||||
|
||||
getAttrs =
|
||||
dir:
|
||||
let
|
||||
raw = builtins.readFile "${dir}/outpaths.json";
|
||||
# The file contains Nix paths; we need to ignore them for evaluation purposes,
|
||||
# else there will be a "is not allowed to refer to a store path" error.
|
||||
data = builtins.unsafeDiscardStringContext raw;
|
||||
in
|
||||
builtins.fromJSON data;
|
||||
beforeAttrs = getAttrs beforeResultDir;
|
||||
afterAttrs = getAttrs afterResultDir;
|
||||
|
||||
# Attrs
|
||||
# - keys: "added", "changed" and "removed"
|
||||
# - values: lists of `packagePlatformPath`s
|
||||
diffAttrs = diff beforeAttrs afterAttrs;
|
||||
diffAttrs = builtins.fromJSON (builtins.readFile "${combinedDir}/combined-diff.json");
|
||||
|
||||
rebuilds = diffAttrs.added ++ diffAttrs.changed;
|
||||
rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs rebuilds;
|
||||
@@ -149,8 +135,8 @@ runCommand "compare"
|
||||
maintainers = builtins.toJSON maintainers;
|
||||
passAsFile = [ "maintainers" ];
|
||||
env = {
|
||||
BEFORE_DIR = "${beforeResultDir}";
|
||||
AFTER_DIR = "${afterResultDir}";
|
||||
BEFORE_DIR = "${combinedDir}/before";
|
||||
AFTER_DIR = "${combinedDir}/after";
|
||||
};
|
||||
}
|
||||
''
|
||||
|
||||
@@ -93,32 +93,6 @@ rec {
|
||||
in
|
||||
uniqueStrings (builtins.map (p: p.name) packagePlatformAttrs);
|
||||
|
||||
/*
|
||||
Computes the key difference between two attrs
|
||||
|
||||
{
|
||||
added: [ <keys only in the second object> ],
|
||||
removed: [ <keys only in the first object> ],
|
||||
changed: [ <keys with different values between the two objects> ],
|
||||
}
|
||||
*/
|
||||
diff =
|
||||
let
|
||||
filterKeys = cond: attrs: lib.attrNames (lib.filterAttrs cond attrs);
|
||||
in
|
||||
old: new: {
|
||||
added = filterKeys (n: _: !(old ? ${n})) new;
|
||||
removed = filterKeys (n: _: !(new ? ${n})) old;
|
||||
changed = filterKeys (
|
||||
n: v:
|
||||
# Filter out attributes that don't exist anymore
|
||||
(new ? ${n})
|
||||
|
||||
# Filter out attributes that are the same as the new value
|
||||
&& (v != (new.${n}))
|
||||
) old;
|
||||
};
|
||||
|
||||
/*
|
||||
Group a list of `packagePlatformAttr`s by platforms
|
||||
|
||||
|
||||
+32
-11
@@ -191,11 +191,13 @@ let
|
||||
cat "$chunkOutputDir"/result/* | jq -s 'add | map_values(.outputs)' > $out/${evalSystem}/paths.json
|
||||
'';
|
||||
|
||||
diff = callPackage ./diff.nix { };
|
||||
|
||||
combine =
|
||||
{
|
||||
resultsDir,
|
||||
diffDir,
|
||||
}:
|
||||
runCommand "combined-result"
|
||||
runCommand "combined-eval"
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
@@ -205,12 +207,22 @@ let
|
||||
mkdir -p $out
|
||||
|
||||
# Combine output paths from all systems
|
||||
cat ${resultsDir}/*/paths.json | jq -s add > $out/outpaths.json
|
||||
cat ${diffDir}/*/diff.json | jq -s '
|
||||
reduce .[] as $item ({}; {
|
||||
added: (.added + $item.added),
|
||||
changed: (.changed + $item.changed),
|
||||
removed: (.removed + $item.removed)
|
||||
})
|
||||
' > $out/combined-diff.json
|
||||
|
||||
mkdir -p $out/stats
|
||||
mkdir -p $out/before/stats
|
||||
for d in ${diffDir}/before/*; do
|
||||
cp -r "$d"/stats-by-chunk $out/before/stats/$(basename "$d")
|
||||
done
|
||||
|
||||
for d in ${resultsDir}/*; do
|
||||
cp -r "$d"/stats-by-chunk $out/stats/$(basename "$d")
|
||||
mkdir -p $out/after/stats
|
||||
for d in ${diffDir}/after/*; do
|
||||
cp -r "$d"/stats-by-chunk $out/after/stats/$(basename "$d")
|
||||
done
|
||||
'';
|
||||
|
||||
@@ -225,18 +237,26 @@ let
|
||||
quickTest ? false,
|
||||
}:
|
||||
let
|
||||
results = symlinkJoin {
|
||||
name = "results";
|
||||
diffs = symlinkJoin {
|
||||
name = "diffs";
|
||||
paths = map (
|
||||
evalSystem:
|
||||
singleSystem {
|
||||
inherit quickTest evalSystem chunkSize;
|
||||
let
|
||||
eval = singleSystem {
|
||||
inherit quickTest evalSystem chunkSize;
|
||||
};
|
||||
in
|
||||
diff {
|
||||
inherit evalSystem;
|
||||
# Local "full" evaluation doesn't do a real diff.
|
||||
beforeDir = eval;
|
||||
afterDir = eval;
|
||||
}
|
||||
) evalSystems;
|
||||
};
|
||||
in
|
||||
combine {
|
||||
resultsDir = results;
|
||||
diffDir = diffs;
|
||||
};
|
||||
|
||||
in
|
||||
@@ -244,6 +264,7 @@ in
|
||||
inherit
|
||||
attrpathsSuperset
|
||||
singleSystem
|
||||
diff
|
||||
combine
|
||||
compare
|
||||
# The above three are used by separate VMs in a GitHub workflow,
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
lib,
|
||||
runCommand,
|
||||
writeText,
|
||||
}:
|
||||
|
||||
{
|
||||
beforeDir,
|
||||
afterDir,
|
||||
evalSystem,
|
||||
}:
|
||||
|
||||
let
|
||||
/*
|
||||
Computes the key difference between two attrs
|
||||
|
||||
{
|
||||
added: [ <keys only in the second object> ],
|
||||
removed: [ <keys only in the first object> ],
|
||||
changed: [ <keys with different values between the two objects> ],
|
||||
}
|
||||
*/
|
||||
diff =
|
||||
let
|
||||
filterKeys = cond: attrs: lib.attrNames (lib.filterAttrs cond attrs);
|
||||
in
|
||||
old: new: {
|
||||
added = filterKeys (n: _: !(old ? ${n})) new;
|
||||
removed = filterKeys (n: _: !(new ? ${n})) old;
|
||||
changed = filterKeys (
|
||||
n: v:
|
||||
# Filter out attributes that don't exist anymore
|
||||
(new ? ${n})
|
||||
|
||||
# Filter out attributes that are the same as the new value
|
||||
&& (v != (new.${n}))
|
||||
) old;
|
||||
};
|
||||
|
||||
getAttrs =
|
||||
dir:
|
||||
let
|
||||
raw = builtins.readFile "${dir}/${evalSystem}/paths.json";
|
||||
# The file contains Nix paths; we need to ignore them for evaluation purposes,
|
||||
# else there will be a "is not allowed to refer to a store path" error.
|
||||
data = builtins.unsafeDiscardStringContext raw;
|
||||
in
|
||||
builtins.fromJSON data;
|
||||
|
||||
beforeAttrs = getAttrs beforeDir;
|
||||
afterAttrs = getAttrs afterDir;
|
||||
diffAttrs = diff beforeAttrs afterAttrs;
|
||||
diffJson = writeText "diff.json" (builtins.toJSON diffAttrs);
|
||||
in
|
||||
runCommand "diff" { } ''
|
||||
mkdir -p $out/${evalSystem}
|
||||
|
||||
cp -r ${beforeDir} $out/before
|
||||
cp -r ${afterDir} $out/after
|
||||
cp ${diffJson} $out/${evalSystem}/diff.json
|
||||
''
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
lib,
|
||||
nix,
|
||||
nixpkgs-vet,
|
||||
runCommand,
|
||||
}:
|
||||
{
|
||||
base ? ../.,
|
||||
head ? ../.,
|
||||
}:
|
||||
let
|
||||
filtered =
|
||||
with lib.fileset;
|
||||
path:
|
||||
toSource {
|
||||
fileset = (gitTracked path);
|
||||
root = path;
|
||||
};
|
||||
in
|
||||
runCommand "nixpkgs-vet"
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
nixpkgs-vet
|
||||
];
|
||||
env.NIXPKGS_VET_NIX_PACKAGE = nix;
|
||||
}
|
||||
''
|
||||
nixpkgs-vet --base ${filtered base} ${filtered head}
|
||||
|
||||
touch $out
|
||||
''
|
||||
+1
-3
@@ -65,7 +65,5 @@ trace -n "Reading pinned nixpkgs-vet version from pinned-version.txt.. "
|
||||
toolVersion=$(<"$tmp/merged/ci/nixpkgs-vet/pinned-version.txt")
|
||||
trace -e "\e[34m$toolVersion\e[0m"
|
||||
|
||||
trace -n "Building tool.. "
|
||||
nix-build https://github.com/NixOS/nixpkgs-vet/tarball/"$toolVersion" -o "$tmp/tool" -A build
|
||||
trace "Running nixpkgs-vet.."
|
||||
"$tmp/tool/bin/nixpkgs-vet" --base "$tmp/base" "$tmp/merged"
|
||||
nix-build ci -A nixpkgs-vet --argstr base "$tmp/base" --argstr head "$tmp/merged"
|
||||
|
||||
@@ -247,6 +247,10 @@
|
||||
- `strawberry` has been updated to 1.2, which drops support for the VLC backend and Qt 5. The `strawberry-qt5` package
|
||||
and `withGstreamer`/`withVlc` override options have been removed due to this.
|
||||
|
||||
- `nexusmods-app` has been upgraded from version 0.6.3. If you were running a version older than 0.7.0, then before upgrading, you **must reset all app state** (mods, games, settings, etc). Otherwise, NexusMods.App will crash due to app state files incompatibility.
|
||||
- Typically, you can can reset to a clean state by running `NexusMods.App uninstall-app`. See Nexus Mod's [how to uninstall the app](https://nexus-mods.github.io/NexusMods.App/users/Uninstall) documentation for more detail and alternative methods.
|
||||
- This should not be necessary going forward, because loading app state from 0.7.0 or newer is now supported. This is documented in the [0.7.1 changelog](https://github.com/Nexus-Mods/NexusMods.App/releases/tag/v0.7.1).
|
||||
|
||||
- `nezha` and its agent `nezha-agent` have been updated to v1, which contains breaking changes. See the [official wiki](https://nezha.wiki/en_US/) for more details.
|
||||
|
||||
- `ps3-disc-dumper` was updated to 4.2.5, which removed the CLI project and now exclusively offers the GUI
|
||||
@@ -538,11 +542,6 @@
|
||||
|
||||
- `ddclient` was updated from 3.11.2 to 4.0.0 [Release notes](https://github.com/ddclient/ddclient/releases/tag/v4.0.0)
|
||||
|
||||
- `nexusmods-app` has been upgraded from version 0.6.3 to 0.10.2.
|
||||
- Before upgrading, you **must reset all app state** (mods, games, settings, etc). NexusMods.App will crash if any state from a version older than 0.7.0 is still present.
|
||||
- Typically, you can can reset to a clean state by running `NexusMods.App uninstall-app`. See Nexus Mod's [how to uninstall the app](https://nexus-mods.github.io/NexusMods.App/users/Uninstall) documentation for more detail and alternative methods.
|
||||
- This should not be necessary going forward, because loading app state from 0.7.0 or newer is now supported. This is documented in the [0.7.1 changelog](https://github.com/Nexus-Mods/NexusMods.App/releases/tag/v0.7.1).
|
||||
|
||||
## Nixpkgs Library {#sec-nixpkgs-release-25.05-lib}
|
||||
|
||||
### Breaking changes {#sec-nixpkgs-release-25.05-lib-breaking}
|
||||
|
||||
@@ -20858,6 +20858,12 @@
|
||||
githubId = 3302;
|
||||
name = "Renzo Carbonara";
|
||||
};
|
||||
repparw = {
|
||||
email = "ubritos@gmail.com";
|
||||
github = "repparw";
|
||||
githubId = 45952970;
|
||||
name = "repparw";
|
||||
};
|
||||
reputable2772 = {
|
||||
name = "Reputable2772";
|
||||
github = "Reputable2772";
|
||||
|
||||
@@ -1808,6 +1808,7 @@
|
||||
./system/boot/uki.nix
|
||||
./system/boot/unl0kr.nix
|
||||
./system/boot/uvesafb.nix
|
||||
./system/boot/zram-as-tmp.nix
|
||||
./system/etc/etc-activation.nix
|
||||
./tasks/auto-upgrade.nix
|
||||
./tasks/bcache.nix
|
||||
|
||||
@@ -17,7 +17,7 @@ let
|
||||
addRequiredBinaries =
|
||||
s:
|
||||
s
|
||||
// {
|
||||
// (lib.optionalAttrs (s ? postgresql_databases && s.postgresql_databases != [ ]) {
|
||||
postgresql_databases = map (
|
||||
d:
|
||||
let
|
||||
@@ -33,7 +33,9 @@ let
|
||||
psql_command = "${as_user}${postgresql}/bin/psql";
|
||||
}
|
||||
// d
|
||||
) (s.postgresql_databases or [ ]);
|
||||
) s.postgresql_databases;
|
||||
})
|
||||
// (lib.optionalAttrs (s ? mariadb_databases && s.mariadb_databases != [ ]) {
|
||||
mariadb_databases = map (
|
||||
d:
|
||||
{
|
||||
@@ -41,7 +43,9 @@ let
|
||||
mariadb_command = "${mysql}/bin/mariadb";
|
||||
}
|
||||
// d
|
||||
) (s.mariadb_databases or [ ]);
|
||||
) s.mariadb_databases;
|
||||
})
|
||||
// (lib.optionalAttrs (s ? mysql_databases && s.mysql_databases != [ ]) {
|
||||
mysql_databases = map (
|
||||
d:
|
||||
{
|
||||
@@ -49,8 +53,8 @@ let
|
||||
mysql_command = "${mysql}/bin/mysql";
|
||||
}
|
||||
// d
|
||||
) (s.mysql_databases or [ ]);
|
||||
};
|
||||
) s.mysql_databases;
|
||||
});
|
||||
|
||||
repository =
|
||||
with lib.types;
|
||||
@@ -149,7 +153,9 @@ in
|
||||
config =
|
||||
let
|
||||
configFiles =
|
||||
(lib.optionalAttrs (cfg.settings != null) { "borgmatic/config.yaml".source = cfgfile; })
|
||||
(lib.optionalAttrs (cfg.settings != null) {
|
||||
"borgmatic/config.yaml".source = cfgfile;
|
||||
})
|
||||
// lib.mapAttrs' (
|
||||
name: value:
|
||||
lib.nameValuePair "borgmatic.d/${name}.yaml" {
|
||||
|
||||
@@ -147,7 +147,7 @@ in
|
||||
|
||||
schedule = mkOption {
|
||||
type = str;
|
||||
default = "*:0/15";
|
||||
default = "daily";
|
||||
description = ''
|
||||
How often to run the collector in systemd calendar format.
|
||||
'';
|
||||
|
||||
@@ -57,7 +57,8 @@ in
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.readeck = {
|
||||
description = "Readeck";
|
||||
after = [ "network.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.boot.tmp;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
boot.tmp = {
|
||||
useZram = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = ''
|
||||
Whether to mount a zram device on {file}`/tmp` during boot.
|
||||
|
||||
::: {.note}
|
||||
Large Nix builds can fail if the mounted zram device is not large enough.
|
||||
In such a case either increase the zramSettings.zram-size or disable this option.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
zramSettings = {
|
||||
zram-size = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "ram * 0.5";
|
||||
example = "min(ram / 2, 4096)";
|
||||
description = ''
|
||||
The size of the zram device, as a function of MemTotal, both in MB.
|
||||
For example, if the machine has 1 GiB, and zram-size=ram/4,
|
||||
then the zram device will have 256 MiB.
|
||||
Fractions in the range 0.1–0.5 are recommended
|
||||
|
||||
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
|
||||
'';
|
||||
};
|
||||
|
||||
compression-algorithm = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "zstd";
|
||||
example = "lzo-rle";
|
||||
description = ''
|
||||
The compression algorithm to use for the zram device.
|
||||
|
||||
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
|
||||
'';
|
||||
};
|
||||
|
||||
fs-type = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "ext4";
|
||||
example = "ext2";
|
||||
description = ''
|
||||
The file system to put on the device.
|
||||
|
||||
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
|
||||
'';
|
||||
};
|
||||
|
||||
options = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "X-mount.mode=1777,discard";
|
||||
description = ''
|
||||
By default, file systems and swap areas are trimmed on-the-go
|
||||
by setting "discard".
|
||||
Setting this to the empty string clears the option.
|
||||
|
||||
See: https://github.com/systemd/zram-generator/blob/main/zram-generator.conf.example
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (cfg.useZram) {
|
||||
assertions = [
|
||||
{
|
||||
assertion = !cfg.useTmpfs;
|
||||
message = "boot.tmp.useTmpfs is unnecessary if useZram=true";
|
||||
}
|
||||
];
|
||||
|
||||
services.zram-generator.enable = true;
|
||||
services.zram-generator.settings =
|
||||
let
|
||||
cfgz = cfg.zramSettings;
|
||||
in
|
||||
{
|
||||
"zram${toString (if config.zramSwap.enable then config.zramSwap.swapDevices else 0)}" = {
|
||||
mount-point = "/tmp";
|
||||
zram-size = cfgz.zram-size;
|
||||
compression-algorithm = cfgz.compression-algorithm;
|
||||
options = cfgz.options;
|
||||
fs-type = cfgz.fs-type;
|
||||
};
|
||||
};
|
||||
systemd.services."systemd-zram-setup@".path = [ pkgs.util-linux ] ++ config.system.fsPackages;
|
||||
|
||||
};
|
||||
}
|
||||
@@ -54,30 +54,39 @@ in
|
||||
|
||||
with subtest("lomiri mediaplayer launches"):
|
||||
machine.succeed("lomiri-mediaplayer-app >&2 &")
|
||||
machine.wait_for_console_text("The name com.lomiri.content.dbus.Service was not provided")
|
||||
machine.wait_for_console_text("The name com.lomiri.content.dbus.Service was not provided") # Emitted twice
|
||||
machine.sleep(10)
|
||||
machine.send_key("alt-f10")
|
||||
machine.wait_for_text("Choose from")
|
||||
machine.sleep(5)
|
||||
machine.wait_for_text(r"(Choose|Sorry|provide|content)")
|
||||
machine.screenshot("lomiri-mediaplayer_open")
|
||||
|
||||
machine.succeed("pkill -f lomiri-mediaplayer-app")
|
||||
|
||||
with subtest("lomiri mediaplayer plays video"):
|
||||
machine.succeed("lomiri-mediaplayer-app /etc/${videoFile} >&2 &")
|
||||
machine.wait_for_console_text("The name com.lomiri.content.dbus.Service was not provided") # Only once here
|
||||
machine.wait_for_console_text("qml: onPositionChanged")
|
||||
machine.sleep(10)
|
||||
machine.send_key("alt-f10")
|
||||
machine.sleep(5)
|
||||
machine.wait_for_text("${ocrContent}")
|
||||
machine.screenshot("lomiri-mediaplayer_playback")
|
||||
|
||||
machine.succeed("pkill -f lomiri-mediaplayer-app")
|
||||
|
||||
with subtest("lomiri mediaplayer localisation works"):
|
||||
# OCR struggles with finding identifying the translated window title, and lomiri-content-hub QML isn't translated
|
||||
# OCR struggles with finding the translated window title, and lomiri-content-hub QML isn't translated
|
||||
# Cause an error, and look for the error popup
|
||||
machine.succeed("touch invalid.mp4")
|
||||
machine.succeed("env LANG=de_DE.UTF-8 lomiri-mediaplayer-app invalid.mp4 >&2 &")
|
||||
machine.wait_for_console_text("The name com.lomiri.content.dbus.Service was not provided")
|
||||
machine.wait_for_console_text("Der Datenstrom enthält keine Daten")
|
||||
machine.sleep(10)
|
||||
machine.send_key("alt-f10")
|
||||
machine.wait_for_text("Fehler")
|
||||
machine.sleep(5)
|
||||
machine.wait_for_text(r"(Fehler|Abspielen|fehlgeschlagen)")
|
||||
machine.screenshot("lomiri-mediaplayer_localised")
|
||||
'';
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
|
||||
mktplcRef = {
|
||||
name = "amazon-q-vscode";
|
||||
publisher = "AmazonWebServices";
|
||||
version = "1.67.0";
|
||||
hash = "sha256-1GShGk0ulYlpJpcdai7T2n0p2v1qicLE4X2d7Pqx4Zc=";
|
||||
version = "1.69.0";
|
||||
hash = "sha256-DmkDkBItpcbCW3pQJ2j4SFJFubSL9jhfF66EDN96W5k=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -786,8 +786,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-tailwindcss";
|
||||
publisher = "bradlc";
|
||||
version = "0.14.16";
|
||||
hash = "sha256-U2oZSIsLpqEqYBIEjSnIToEOOnTCUi4vR6XwjnNUDN8=";
|
||||
version = "0.14.19";
|
||||
hash = "sha256-HgrUTrYHJNC8tS8qZza98Tr3T0O0NMb7DgddNf3m7XY=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/bradlc.vscode-tailwindcss/changelog";
|
||||
@@ -1018,8 +1018,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "coder-remote";
|
||||
publisher = "coder";
|
||||
version = "1.8.0";
|
||||
hash = "sha256-zAe2IFT69oZ/OLVSaaY5lGSiF/7FGiQngz/EXekwQtM=";
|
||||
version = "1.9.0";
|
||||
hash = "sha256-34Qu6BOQIbTsPeIGCp8Lcsz+FoDrP36PuYpX/4mqpvw=";
|
||||
};
|
||||
meta = {
|
||||
description = "Extension for Visual Studio Code to open any Coder workspace in VS Code with a single click";
|
||||
@@ -1195,8 +1195,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "DanielGavin";
|
||||
name = "ols";
|
||||
version = "0.1.35";
|
||||
hash = "sha256-Kem8o0gM1+cYohmua17kIlAH1RURgqoc0sPuIFDVU8Q=";
|
||||
version = "0.1.37";
|
||||
hash = "sha256-R2vZNv6vkq5OIw3RzaAm4WGC4awiCC4junB3DRpJIfs=";
|
||||
};
|
||||
meta = {
|
||||
description = "Visual Studio Code extension for Odin language";
|
||||
@@ -1210,8 +1210,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "DanielSanMedium";
|
||||
name = "dscodegpt";
|
||||
version = "3.12.3";
|
||||
hash = "sha256-9vv/ourveSqLQyHylbWpUuJDwnpsZLihC800qDLI3YY=";
|
||||
version = "3.12.38";
|
||||
hash = "sha256-+9OsFH586I8/P7WzadRHS9tX22/bxOByJB2LDSqp2Nk=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/DanielSanMedium.dscodegpt/changelog";
|
||||
@@ -1700,8 +1700,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "elixir-ls";
|
||||
publisher = "JakeBecker";
|
||||
version = "0.27.2";
|
||||
hash = "sha256-PXQiZOAAApsYLB3hztQcjAsnmkfDSDtYvUmMhFUfLxA=";
|
||||
version = "0.28.0";
|
||||
hash = "sha256-pHLAA7i2HJC523lPotUy5Zwa3BTSTurC2BA+eevdH38=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
|
||||
@@ -2716,8 +2716,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "jnoortheen";
|
||||
name = "nix-ide";
|
||||
version = "0.4.16";
|
||||
hash = "sha256-MdFDOg9uTUzYtRW2Kk4L8V3T/87MRDy1HyXY9ikqDFY=";
|
||||
version = "0.4.18";
|
||||
hash = "sha256-ucy1Z0VcikEIU+s/Ai2qgJcUkEoNcAo7y7A2nuq3yZo=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/jnoortheen.nix-ide/changelog";
|
||||
@@ -3141,8 +3141,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "maximedenes";
|
||||
name = "vscoq";
|
||||
version = "2.2.5";
|
||||
hash = "sha256-ctaeTgdK1JijSI3YD54iWEBNVrbaad408wD43fH78h4=";
|
||||
version = "2.2.6";
|
||||
hash = "sha256-QBUTOFhdksHGkpYqgQIF2u+WodYH5PmMMvGFHwEEEIk=";
|
||||
};
|
||||
meta = {
|
||||
description = "VsCoq is an extension for Visual Studio Code (VS Code) and VSCodium with support for the Coq Proof Assistant";
|
||||
@@ -3395,8 +3395,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "datawrangler";
|
||||
publisher = "ms-toolsai";
|
||||
version = "1.21.1";
|
||||
hash = "sha256-I701ziW0Ibs92MzCuMGHv5AjhYrD3ow4/3U9MgB1onY=";
|
||||
version = "1.22.0";
|
||||
hash = "sha256-gUlb48g12RW4j2HS9jfpZROgtFM9zEPg4ozLM7hOaLk=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "magic-racket";
|
||||
publisher = "evzen-wybitul";
|
||||
version = "0.6.7";
|
||||
hash = "sha256-1A4j8710AYuV8gA+sybv6WSavPVcCPMvI71h4n4Jx0w=";
|
||||
version = "0.7.0";
|
||||
hash = "sha256-8q2H9VPmdIAh4VmtGjIAwUfpr1P7+zmDLGiyCNbAXBU=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "github";
|
||||
name = "copilot-chat";
|
||||
version = "0.27.1";
|
||||
hash = "sha256-HXzPI8B4wISly2SQNdbFO6CEREfhey+SH4HhutxH7Mg=";
|
||||
version = "0.27.2";
|
||||
hash = "sha256-nwBDQNs5qrA0TxQZVtuXRiOy0iBNOCFpIim0x2k37YA=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "github";
|
||||
name = "copilot";
|
||||
version = "1.322.0";
|
||||
hash = "sha256-PekZQeRqpCSSVQe+AA0XLAwC3K0LGtRMbfnN7MxfmGA=";
|
||||
version = "1.323.0";
|
||||
hash = "sha256-rTAq6snn3HAARrYbMJYy7aZ5rDucLfFS/t01VPjgXAo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "windows-ai-studio";
|
||||
publisher = "ms-windows-ai-studio";
|
||||
version = "0.12.1";
|
||||
hash = "sha256-uj+4o5gH6qfYCJjapoas/JDWymFWSl4kHFu5Ys9rTlU=";
|
||||
version = "0.14.0";
|
||||
hash = "sha256-qfEPvDHYjFWT+NMN6jlouRljtTflKOqn2wHL83tnUi0=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mgba";
|
||||
version = "0-unstable-2025-02-17";
|
||||
version = "0-unstable-2025-05-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "mgba";
|
||||
rev = "88b22735dbdbc4d6236ed872ef21ea1b4d2fc492";
|
||||
hash = "sha256-ouwtL8vfc1LFMjfIZQ4F/ZOBW4y3VU9zovkXug0fgZY=";
|
||||
rev = "c9bbf28b091c4c104485092279c7a6b114b2e8ff";
|
||||
hash = "sha256-yCRM2qkacGbFVr6x0ZHBCZ8xAMruFENBdcnNKzK0sY4=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -18,13 +18,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gpxsee";
|
||||
version = "13.42";
|
||||
version = "13.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tumic0";
|
||||
repo = "GPXSee";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-94zCDtja1b85Wgz4slG17ETT/TMPPCyXld3WdtGjBzA=";
|
||||
hash = "sha256-IP5l8YUsCNm9rixgpQqbyyhfcBNQgrZha1MNjetug2c=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@@ -66,7 +66,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
broken = isQt6 && stdenv.hostPlatform.isDarwin;
|
||||
changelog = "https://build.opensuse.org/package/view_file/home:tumic:GPXSee/gpxsee/gpxsee.changes";
|
||||
description = "GPS log file viewer and analyzer";
|
||||
mainProgram = "gpxsee";
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 8f33aa2ff4..39928382da 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -4358,7 +4358,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_msw_utils.o \
|
||||
monodll_utilsexc.o \
|
||||
monodll_fswatcher.o \
|
||||
- monodll_msw_secretstore.o
|
||||
+ monodll_msw_secretstore.o \
|
||||
monodll_msw_uilocale.o
|
||||
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS)
|
||||
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \
|
||||
@@ -5284,7 +5284,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS = \
|
||||
monodll_uuid.o \
|
||||
monodll_msw_evtloop.o \
|
||||
monodll_access.o \
|
||||
- monodll_dark_mode.o
|
||||
+ monodll_dark_mode.o \
|
||||
monodll_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS = \
|
||||
@@ -6196,7 +6196,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 = \
|
||||
monodll_uuid.o \
|
||||
monodll_msw_evtloop.o \
|
||||
monodll_access.o \
|
||||
- monodll_dark_mode.o
|
||||
+ monodll_dark_mode.o \
|
||||
monodll_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_1 = \
|
||||
@@ -6371,7 +6371,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
|
||||
monolib_msw_utils.o \
|
||||
monolib_utilsexc.o \
|
||||
monolib_fswatcher.o \
|
||||
- monolib_msw_secretstore.o
|
||||
+ monolib_msw_secretstore.o \
|
||||
monolib_msw_uilocale.o
|
||||
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1)
|
||||
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \
|
||||
@@ -7297,7 +7297,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 = \
|
||||
monolib_uuid.o \
|
||||
monolib_msw_evtloop.o \
|
||||
monolib_access.o \
|
||||
- monolib_dark_mode.o
|
||||
+ monolib_dark_mode.o \
|
||||
monolib_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_2 = \
|
||||
@@ -8209,7 +8209,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 = \
|
||||
monolib_uuid.o \
|
||||
monolib_msw_evtloop.o \
|
||||
monolib_access.o \
|
||||
- monolib_dark_mode.o
|
||||
+ monolib_dark_mode.o \
|
||||
monolib_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_3 = \
|
||||
@@ -8436,7 +8436,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
|
||||
basedll_msw_utils.o \
|
||||
basedll_utilsexc.o \
|
||||
basedll_fswatcher.o \
|
||||
- basedll_msw_secretstore.o
|
||||
+ basedll_msw_secretstore.o \
|
||||
basedll_msw_uilocale.o
|
||||
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2)
|
||||
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \
|
||||
@@ -8523,7 +8523,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
|
||||
baselib_msw_utils.o \
|
||||
baselib_utilsexc.o \
|
||||
baselib_fswatcher.o \
|
||||
- baselib_msw_secretstore.o
|
||||
+ baselib_msw_secretstore.o \
|
||||
baselib_msw_uilocale.o
|
||||
@COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3)
|
||||
@COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \
|
||||
@@ -9464,7 +9464,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 = \
|
||||
coredll_uuid.o \
|
||||
coredll_msw_evtloop.o \
|
||||
coredll_access.o \
|
||||
- coredll_dark_mode.o
|
||||
+ coredll_dark_mode.o \
|
||||
coredll_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_4 = \
|
||||
@@ -10376,7 +10376,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 = \
|
||||
coredll_uuid.o \
|
||||
coredll_msw_evtloop.o \
|
||||
coredll_access.o \
|
||||
- coredll_dark_mode.o
|
||||
+ coredll_dark_mode.o \
|
||||
coredll_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_5 = \
|
||||
@@ -11204,7 +11204,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 = \
|
||||
corelib_uuid.o \
|
||||
corelib_msw_evtloop.o \
|
||||
corelib_access.o \
|
||||
- corelib_dark_mode.o
|
||||
+ corelib_dark_mode.o \
|
||||
corelib_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_6 = \
|
||||
@@ -12116,7 +12116,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 = \
|
||||
corelib_uuid.o \
|
||||
corelib_msw_evtloop.o \
|
||||
corelib_access.o \
|
||||
- corelib_dark_mode.o
|
||||
+ corelib_dark_mode.o \
|
||||
corelib_msw_bmpbndl.o
|
||||
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7)
|
||||
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_7 = \
|
||||
+661
-265
File diff suppressed because it is too large
Load Diff
@@ -9,15 +9,15 @@
|
||||
qttools,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pageedit";
|
||||
version = "2.0.0";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Sigil-Ebook";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-zwOSt1eyvuuqfQ1G2bCB4yj6GgixFRc2FLOgcCrdg3Q=";
|
||||
repo = "pageedit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-BsK+agn8O2WeftiEHfT5B1hzsP5Av4DkIZqVKoQxb70=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -25,10 +25,12 @@ stdenv.mkDerivation rec {
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qtsvg
|
||||
qtwebengine
|
||||
];
|
||||
|
||||
cmakeFlags = [ "-DINSTALL_BUNDLED_DICTS=0" ];
|
||||
|
||||
installPhase =
|
||||
@@ -45,12 +47,12 @@ stdenv.mkDerivation rec {
|
||||
else
|
||||
null;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "ePub XHTML Visual Editor";
|
||||
mainProgram = "pageedit";
|
||||
homepage = "https://sigil-ebook.com/pageedit/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.pasqui23 ];
|
||||
platforms = platforms.all;
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = [ lib.maintainers.pasqui23 ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
desktopToDarwinBundle,
|
||||
pkg-config,
|
||||
qtbase,
|
||||
qtsvg,
|
||||
@@ -45,7 +46,8 @@ gnuradioMinimal.pkgs.mkDerivation rec {
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
wrapGAppsHook3
|
||||
];
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle;
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
gnuradioMinimal.unwrapped.logLib
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "alist";
|
||||
version = "3.44.0";
|
||||
webVersion = "3.44.0";
|
||||
version = "3.45.0";
|
||||
webVersion = "3.45.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AlistGo";
|
||||
repo = "alist";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-zaIS2DYB7x76SCHCX9aJ0/8Lejwy3/AlLbnztSNJtSc=";
|
||||
hash = "sha256-h8oWeTX3z3xye5O4+s7LA7Wm36JOrsU+UdKGZXaDKXk=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
@@ -32,11 +32,11 @@ buildGoModule rec {
|
||||
};
|
||||
web = fetchzip {
|
||||
url = "https://github.com/AlistGo/alist-web/releases/download/${webVersion}/dist.tar.gz";
|
||||
hash = "sha256-YPqbEPpwRVTWwH/LOq7cGsYju6YqdFCOseD52OsnkSk=";
|
||||
hash = "sha256-rNVa+dr/SX2aYHBzeV8QdD5XYCFyelhbqkTpvhF+S2g=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-eBIlBtO+AlW2TE4xgxktePb2bm1lIYiuZ4+AUd1bdW8=";
|
||||
vendorHash = "sha256-IMoLVAgOaVM1xIFDe8BGOpzyBnDMfD9Q6VogFfOWFzU=";
|
||||
|
||||
buildInputs = [ fuse ];
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,12 +15,12 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "borgmatic";
|
||||
version = "2.0.5";
|
||||
version = "2.0.6";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-jpaTLbDmwcL8ihu8XTD2LsSfmneBpOGSVaRcJyeSSo4=";
|
||||
hash = "sha256-yxAtD7sKOo0voE8BvfL0HGsnP0L2sc1f0UgXBNt/aQU=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bpftrace";
|
||||
version = "0.23.2";
|
||||
version = "0.23.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bpftrace";
|
||||
repo = "bpftrace";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AIjWF+MRnzEwvi1+XBxeiyJIX6059Hy8GgVwjZum2cc=";
|
||||
hash = "sha256-Jvl8Up3IH2/G0QMb0pZmQ2SSXOmjTj08KXoJXOR3Z48=";
|
||||
};
|
||||
|
||||
buildInputs = with llvmPackages; [
|
||||
|
||||
@@ -150,7 +150,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
preFixup =
|
||||
let
|
||||
libs = [ vulkan-loader ] ++ cubeb.passthru.backendLibs;
|
||||
libs = [ vulkan-loader ];
|
||||
in
|
||||
''
|
||||
gappsWrapperArgs+=(
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cloud-hypervisor";
|
||||
version = "45.0";
|
||||
version = "46.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloud-hypervisor";
|
||||
repo = "cloud-hypervisor";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-PmgHO3gRE/LfLiRC+sAQXKUeclweVUNJV2ihpkvx0Wg=";
|
||||
hash = "sha256-3jFZgcTyjbAB4Ka8ZHeqorlVTkAvXJ2No32038xK0Pc=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-h9ydLEp7GpW5jMkt5jObR09lPWGs+rmvdoEZntIZwxY=";
|
||||
cargoHash = "sha256-Zllj6HGRgI1tT8EODGOpSgmw3F89ie9Y1hChTrvwskg=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "containerd";
|
||||
version = "2.0.5";
|
||||
version = "2.1.0";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -27,7 +27,7 @@ buildGoModule rec {
|
||||
owner = "containerd";
|
||||
repo = "containerd";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-BY6lIzTlJbBbeIxCtSd7NcYVEWta3VNMmHmH97ksGsE=";
|
||||
hash = "sha256-5Fd9LrpJUf5MEtfQaRM6zo5C8RUsOasR2NHCDj8vMBk=";
|
||||
};
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
@@ -8,17 +8,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cook-cli";
|
||||
version = "0.10.0";
|
||||
version = "0.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cooklang";
|
||||
repo = "cookcli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1m2+etJG+33fPTxBF8qT/U9WiZGcSn9r0WlK5PDL6/Q=";
|
||||
hash = "sha256-2vY68PUoHDyyH3hJ/Fvjxbof7RzWFWYTg1UhsjWNpww=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-3tWVCP80a6odmi9C0klLbfO5UmdFczyUY8KQSaMIyw4=";
|
||||
cargoHash = "sha256-H4soSp9fDwrqcv3eL5WqGYHWAt07gyVLoEVp1VbYchQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -39,7 +38,7 @@ rustPlatform.buildRustPackage rec {
|
||||
passthru.ui = buildNpmPackage {
|
||||
name = "ui";
|
||||
src = "${src}/ui";
|
||||
npmDepsHash = "sha256-uMyOAYLVHhY4ytvEFvVzdoQ7ExzQ4sH+ZtDrEacu5bk=";
|
||||
npmDepsHash = "sha256-zx8G6Raop1EZAVy1YCF5ag5aL9NutRxbPfTARmjP2SY=";
|
||||
makeCacheWritable = true;
|
||||
npmFlags = [ "--legacy-peer-deps" ];
|
||||
installPhase = ''
|
||||
@@ -49,13 +48,13 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
changelog = "https://github.com/cooklang/cookcli/releases/tag/v${version}";
|
||||
description = "Suite of tools to create shopping lists and maintain recipes";
|
||||
homepage = "https://cooklang.org/";
|
||||
license = [ licenses.mit ];
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "cook";
|
||||
maintainers = [ maintainers.emilioziniades ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = [ lib.maintainers.emilioziniades ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
From e0cbc1049b9a3a3322cd48d32af148f87d5007c2 Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Serwin <marcin@serwin.dev>
|
||||
Date: Mon, 19 May 2025 22:36:53 +0200
|
||||
Subject: [PATCH] cmake: add pkg-config file generation
|
||||
|
||||
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
|
||||
---
|
||||
CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
libcubeb.pc.in | 12 ++++++++++++
|
||||
2 files changed, 62 insertions(+)
|
||||
create mode 100644 libcubeb.pc.in
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 07618fa..6470837 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -23,6 +23,17 @@ if(NOT CMAKE_BUILD_TYPE)
|
||||
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
endif()
|
||||
|
||||
+set(private_requires)
|
||||
+set(private_libs)
|
||||
+set(private_libs_flags)
|
||||
+if(UNIX AND NOT APPLE)
|
||||
+ if(BSD OR ANDROID)
|
||||
+ list(APPEND private_libs c++)
|
||||
+ else()
|
||||
+ list(APPEND private_libs stdc++)
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
@@ -141,6 +152,7 @@ if(NOT BUNDLE_SPEEX)
|
||||
pkg_check_modules(speexdsp IMPORTED_TARGET speexdsp)
|
||||
if(speexdsp_FOUND)
|
||||
add_library(speex ALIAS PkgConfig::speexdsp)
|
||||
+ list(APPEND private_requires speexdsp)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -155,6 +167,7 @@ if(NOT TARGET speex)
|
||||
EXPORT=
|
||||
RANDOM_PREFIX=speex
|
||||
)
|
||||
+ list(APPEND private_libs speex)
|
||||
endif()
|
||||
|
||||
# $<BUILD_INTERFACE:> required because of https://gitlab.kitware.com/cmake/cmake/-/issues/15415
|
||||
@@ -166,6 +179,7 @@ include(CheckIncludeFiles)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads)
|
||||
target_link_libraries(cubeb PRIVATE Threads::Threads)
|
||||
+list(APPEND private_libs ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
if(LAZY_LOAD_LIBS)
|
||||
check_include_files(pulse/pulseaudio.h USE_PULSE)
|
||||
@@ -176,6 +190,7 @@ if(LAZY_LOAD_LIBS)
|
||||
|
||||
if(USE_PULSE OR USE_ALSA OR USE_JACK OR USE_SNDIO OR USE_AAUDIO)
|
||||
target_link_libraries(cubeb PRIVATE ${CMAKE_DL_LIBS})
|
||||
+ list(APPEND private_libs ${CMAKE_DL_LIBS})
|
||||
|
||||
if(ANDROID)
|
||||
target_compile_definitions(cubeb PRIVATE __ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__)
|
||||
@@ -191,6 +206,7 @@ else()
|
||||
set(USE_PULSE ON)
|
||||
target_compile_definitions(cubeb PRIVATE DISABLE_LIBPULSE_DLOPEN)
|
||||
target_link_libraries(cubeb PRIVATE PkgConfig::libpulse)
|
||||
+ list(APPEND private_requires libpulse)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(alsa IMPORTED_TARGET alsa)
|
||||
@@ -198,6 +214,7 @@ else()
|
||||
set(USE_ALSA ON)
|
||||
target_compile_definitions(cubeb PRIVATE DISABLE_LIBASOUND_DLOPEN)
|
||||
target_link_libraries(cubeb PRIVATE PkgConfig::alsa)
|
||||
+ list(APPEND private_requires alsa)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(jack IMPORTED_TARGET jack)
|
||||
@@ -205,18 +222,21 @@ else()
|
||||
set(USE_JACK ON)
|
||||
target_compile_definitions(cubeb PRIVATE DISABLE_LIBJACK_DLOPEN)
|
||||
target_link_libraries(cubeb PRIVATE PkgConfig::jack)
|
||||
+ list(APPEND private_requires jack)
|
||||
endif()
|
||||
|
||||
check_include_files(sndio.h USE_SNDIO)
|
||||
if(USE_SNDIO)
|
||||
target_compile_definitions(cubeb PRIVATE DISABLE_LIBSNDIO_DLOPEN)
|
||||
target_link_libraries(cubeb PRIVATE sndio)
|
||||
+ list(APPEND private_libs sndio)
|
||||
endif()
|
||||
|
||||
check_include_files(aaudio/AAudio.h USE_AAUDIO)
|
||||
if(USE_AAUDIO)
|
||||
target_compile_definitions(cubeb PRIVATE DISABLE_LIBAAUDIO_DLOPEN)
|
||||
target_link_libraries(cubeb PRIVATE aaudio)
|
||||
+ list(APPEND private_libs aaudio)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -263,6 +283,7 @@ if(USE_AUDIOUNIT)
|
||||
src/cubeb_osx_run_loop.cpp)
|
||||
target_compile_definitions(cubeb PRIVATE USE_AUDIOUNIT)
|
||||
target_link_libraries(cubeb PRIVATE "-framework AudioUnit" "-framework CoreAudio" "-framework CoreServices")
|
||||
+ list(APPEND private_libs_flags "-framework AudioUnit" "-framework CoreAudio" "-framework CoreServices")
|
||||
endif()
|
||||
|
||||
check_include_files(audioclient.h USE_WASAPI)
|
||||
@@ -271,6 +292,7 @@ if(USE_WASAPI)
|
||||
src/cubeb_wasapi.cpp)
|
||||
target_compile_definitions(cubeb PRIVATE USE_WASAPI)
|
||||
target_link_libraries(cubeb PRIVATE avrt ole32 ksuser)
|
||||
+ list(APPEND private_libs avrt ole32 ksuser)
|
||||
endif()
|
||||
|
||||
check_include_files("windows.h;mmsystem.h" USE_WINMM)
|
||||
@@ -279,6 +301,7 @@ if(USE_WINMM)
|
||||
src/cubeb_winmm.c)
|
||||
target_compile_definitions(cubeb PRIVATE USE_WINMM)
|
||||
target_link_libraries(cubeb PRIVATE winmm)
|
||||
+ list(APPEND private_libs winmm)
|
||||
endif()
|
||||
|
||||
check_include_files(SLES/OpenSLES.h USE_OPENSL)
|
||||
@@ -288,6 +311,7 @@ if(USE_OPENSL)
|
||||
src/cubeb-jni.cpp)
|
||||
target_compile_definitions(cubeb PRIVATE USE_OPENSL)
|
||||
target_link_libraries(cubeb PRIVATE OpenSLES)
|
||||
+ list(APPEND private_libs OpenSLES)
|
||||
endif()
|
||||
|
||||
check_include_files(sys/soundcard.h HAVE_SYS_SOUNDCARD_H)
|
||||
@@ -303,6 +327,7 @@ if(HAVE_SYS_SOUNDCARD_H)
|
||||
pkg_check_modules(libbsd-overlay IMPORTED_TARGET libbsd-overlay)
|
||||
if(libbsd-overlay_FOUND)
|
||||
target_link_libraries(cubeb PRIVATE PkgConfig::libbsd-overlay)
|
||||
+ list(APPEND private_requires libbsd-overlay)
|
||||
set(HAVE_STRLCPY true)
|
||||
endif()
|
||||
endif()
|
||||
@@ -320,6 +345,7 @@ if(USE_AUDIOTRACK)
|
||||
src/cubeb_audiotrack.c)
|
||||
target_compile_definitions(cubeb PRIVATE USE_AUDIOTRACK)
|
||||
target_link_libraries(cubeb PRIVATE log)
|
||||
+ list(APPEND private_libs log)
|
||||
endif()
|
||||
|
||||
check_include_files(sys/audioio.h USE_SUN)
|
||||
@@ -335,6 +361,7 @@ if(USE_KAI)
|
||||
src/cubeb_kai.c)
|
||||
target_compile_definitions(cubeb PRIVATE USE_KAI)
|
||||
target_link_libraries(cubeb PRIVATE kai)
|
||||
+ list(APPEND private_libs kai)
|
||||
endif()
|
||||
|
||||
if(USE_PULSE AND USE_PULSE_RUST)
|
||||
@@ -452,3 +479,26 @@ add_custom_target(clang-format-check
|
||||
| xargs -0 ${CLANG_FORMAT_BINARY} -Werror -n
|
||||
COMMENT "Check formatting with clang-format"
|
||||
VERBATIM)
|
||||
+
|
||||
+
|
||||
+list(TRANSFORM private_libs PREPEND "-l")
|
||||
+string(JOIN " " CUBEB_PC_PRIVATE_LIBS ${private_libs} ${private_libs_flags})
|
||||
+
|
||||
+string(JOIN " " CUBEB_PC_PRIVATE_REQUIRES ${private_requires})
|
||||
+
|
||||
+if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
+ set(CUBEB_PC_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
+else()
|
||||
+ set(CUBEB_PC_INCLUDEDIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
+endif()
|
||||
+if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}")
|
||||
+ set(CUBEB_PC_LIBDIR "${CMAKE_INSTALL_LIBDIR}")
|
||||
+else()
|
||||
+ set(CUBEB_PC_LIBDIR "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
|
||||
+endif()
|
||||
+
|
||||
+configure_file(libcubeb.pc.in libcubeb.pc @ONLY)
|
||||
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libcubeb.pc"
|
||||
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
|
||||
+)
|
||||
+
|
||||
diff --git a/libcubeb.pc.in b/libcubeb.pc.in
|
||||
new file mode 100644
|
||||
index 0000000..2310ae6
|
||||
--- /dev/null
|
||||
+++ b/libcubeb.pc.in
|
||||
@@ -0,0 +1,12 @@
|
||||
+prefix=@CMAKE_INSTALL_PREFIX@
|
||||
+exec_prefix=${prefix}
|
||||
+libdir=@CUBEB_PC_LIBDIR@
|
||||
+includedir=@CUBEB_PC_INCLUDEDIR@
|
||||
+
|
||||
+Name: libcubeb
|
||||
+Description: Cross platform audio library
|
||||
+Version: @PROJECT_VERSION@
|
||||
+Requires.private: @CUBEB_PC_PRIVATE_REQUIRES@
|
||||
+Libs: -L${libdir} -lcubeb
|
||||
+Libs.private: @CUBEB_PC_PRIVATE_LIBS@
|
||||
+Cflags: -I${includedir}
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 4f8dff52e99bdd70d07d7cb47d357bb91dc5f1a9 Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Serwin <marcin@serwin.dev>
|
||||
Date: Sat, 24 May 2025 16:20:51 +0200
|
||||
Subject: [PATCH] cmake: don't hardcode "include" as the includedir
|
||||
|
||||
When the default CMAKE_INSTALL_INCLUDEDIR is changed
|
||||
headers are installed to a different location, however, the
|
||||
INTERFACE_INCLUDE_DIRECTORIES in exported cmake configuration still
|
||||
point to <prefix>/include.
|
||||
|
||||
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 07618fa..bdf2212 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -91,7 +91,7 @@ add_library(cubeb
|
||||
src/cubeb_utils.cpp
|
||||
)
|
||||
target_include_directories(cubeb
|
||||
- PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>
|
||||
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
)
|
||||
set_target_properties(cubeb PROPERTIES
|
||||
VERSION ${cubeb_VERSION}
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
unstableGitUpdater,
|
||||
cmake,
|
||||
pkg-config,
|
||||
alsa-lib,
|
||||
@@ -9,80 +10,90 @@
|
||||
libpulseaudio,
|
||||
sndio,
|
||||
speexdsp,
|
||||
lazyLoad ? !stdenv.hostPlatform.isDarwin,
|
||||
validatePkgConfig,
|
||||
|
||||
# passthru.tests
|
||||
testers,
|
||||
pcsx2,
|
||||
duckstation,
|
||||
|
||||
alsaSupport ? !stdenv.hostPlatform.isDarwin,
|
||||
pulseSupport ? !stdenv.hostPlatform.isDarwin,
|
||||
jackSupport ? !stdenv.hostPlatform.isDarwin,
|
||||
sndioSupport ? !stdenv.hostPlatform.isDarwin,
|
||||
buildSharedLibs ? true,
|
||||
enableShared ? !stdenv.hostPlatform.isStatic,
|
||||
}:
|
||||
|
||||
assert lib.assertMsg (
|
||||
stdenv.hostPlatform.isDarwin -> !lazyLoad
|
||||
) "cubeb: lazyLoad is inert on Darwin";
|
||||
|
||||
let
|
||||
backendLibs =
|
||||
lib.optional alsaSupport alsa-lib
|
||||
++ lib.optional jackSupport jack2
|
||||
++ lib.optional pulseSupport libpulseaudio
|
||||
++ lib.optional sndioSupport sndio;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cubeb";
|
||||
version = "unstable-2022-10-18";
|
||||
version = "0-unstable-2025-04-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mozilla";
|
||||
repo = "cubeb";
|
||||
rev = "27d2a102b0b75d9e49d43bc1ea516233fb87d778";
|
||||
hash = "sha256-q+uz1dGU4LdlPogL1nwCR/KuOX4Oy3HhMdA6aJylBRk=";
|
||||
rev = "975a727e5e308a04cfb9ecdf7ddaf1150ea3f733";
|
||||
hash = "sha256-3IP++tdiJUwXR6t5mf/MkPd524K/LYESNMkQ8vy10jo=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"lib"
|
||||
"dev"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
validatePkgConfig
|
||||
];
|
||||
|
||||
buildInputs = [ speexdsp ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) backendLibs;
|
||||
buildInputs =
|
||||
[ speexdsp ]
|
||||
# In the default configuration these inputs are lazy-loaded. If your package builds a vendored cubeb please make
|
||||
# sure to include these in the runtime LD path.
|
||||
++ lib.optional alsaSupport alsa-lib
|
||||
++ lib.optional jackSupport jack2
|
||||
++ lib.optional pulseSupport libpulseaudio
|
||||
++ lib.optional sndioSupport sndio;
|
||||
|
||||
patches = [
|
||||
# https://github.com/mozilla/cubeb/pull/813
|
||||
./0001-cmake-add-pkg-config-file-generation.patch
|
||||
|
||||
# https://github.com/mozilla/cubeb/pull/814
|
||||
./0001-cmake-don-t-hardcode-include-as-the-includedir.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" buildSharedLibs)
|
||||
"-DBUILD_TESTS=OFF" # tests require an audio server
|
||||
"-DBUNDLE_SPEEX=OFF"
|
||||
"-DUSE_SANITIZERS=OFF"
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" enableShared)
|
||||
(lib.cmakeBool "BUILD_TESTS" false) # tests require an audio server
|
||||
(lib.cmakeBool "BUNDLE_SPEEX" false)
|
||||
(lib.cmakeBool "USE_SANITIZERS" false)
|
||||
|
||||
# Whether to lazily load libraries with dlopen()
|
||||
"-DLAZY_LOAD_LIBS=${if lazyLoad then "ON" else "OFF"}"
|
||||
(lib.cmakeBool "LAZY_LOAD_LIBS" false)
|
||||
];
|
||||
|
||||
passthru = {
|
||||
# For downstream users when lazyLoad is true
|
||||
backendLibs = lib.optionals lazyLoad backendLibs;
|
||||
updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
|
||||
|
||||
tests = {
|
||||
# These packages depend on a patched version of cubeb
|
||||
inherit pcsx2 duckstation;
|
||||
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
};
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
# TODO: remove after https://github.com/mozilla/cubeb/pull/813 is merged
|
||||
mkdir -p $out/lib/pkgconfig/
|
||||
echo > $out/lib/pkgconfig/libcubeb.pc \
|
||||
"Name: libcubeb
|
||||
Description: Cross platform audio library
|
||||
Version: 0.0.0
|
||||
Requires.private: libpulse
|
||||
Libs: -L"$out/lib" -lcubeb
|
||||
Libs.private: -lstdc++"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Cross platform audio library";
|
||||
mainProgram = "cubeb-test";
|
||||
homepage = "https://github.com/mozilla/cubeb";
|
||||
license = licenses.isc;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [
|
||||
license = lib.licenses.isc;
|
||||
platforms = with lib.platforms; linux ++ darwin;
|
||||
maintainers = with lib.maintainers; [
|
||||
zhaofengli
|
||||
marcin-serwin
|
||||
];
|
||||
pkgConfigModules = [ "libcubeb" ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
libxml2,
|
||||
openssl,
|
||||
bzip2,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dclib";
|
||||
version = "0.3.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.debian.nl/pub/freebsd/ports/distfiles/dclib-${version}.tar.bz2";
|
||||
sha256 = "02jdzm5hqzs1dv2rd596vgpcjaapm55pqqapz5m94l30v4q72rfc";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libxml2
|
||||
openssl
|
||||
bzip2
|
||||
zlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Peer-to-Peer file sharing client";
|
||||
homepage = "http://dcgui.berlios.de";
|
||||
platforms = platforms.linux;
|
||||
license = [
|
||||
licenses.openssl
|
||||
licenses.gpl2
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -6,9 +6,7 @@
|
||||
callPackage,
|
||||
cmake,
|
||||
cpuinfo,
|
||||
cubeb,
|
||||
curl,
|
||||
discord-rpc,
|
||||
extra-cmake-modules,
|
||||
libXrandr,
|
||||
libbacktrace,
|
||||
@@ -42,6 +40,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
./002-hardcode-vars.diff
|
||||
# Fix NEON intrinsics usage
|
||||
./003-fix-NEON-intrinsics.patch
|
||||
./remove-cubeb-vendor.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -57,6 +56,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
SDL2
|
||||
cpuinfo
|
||||
sources.cubeb
|
||||
curl
|
||||
libXrandr
|
||||
libbacktrace
|
||||
@@ -70,7 +70,7 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
sources.soundtouch-patched
|
||||
sources.spirv-cross-patched
|
||||
wayland
|
||||
] ++ cubeb.passthru.backendLibs;
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_TESTS" true)
|
||||
@@ -115,14 +115,11 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
qtWrapperArgs =
|
||||
let
|
||||
libPath = lib.makeLibraryPath (
|
||||
[
|
||||
sources.shaderc-patched
|
||||
sources.spirv-cross-patched
|
||||
vulkan-loader
|
||||
]
|
||||
++ cubeb.passthru.backendLibs
|
||||
);
|
||||
libPath = lib.makeLibraryPath ([
|
||||
sources.shaderc-patched
|
||||
sources.spirv-cross-patched
|
||||
vulkan-loader
|
||||
]);
|
||||
in
|
||||
[
|
||||
"--prefix LD_LIBRARY_PATH : ${libPath}"
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
diff --git a/dep/CMakeLists.txt b/dep/CMakeLists.txt
|
||||
index af35687..8347825 100644
|
||||
--- a/dep/CMakeLists.txt
|
||||
+++ b/dep/CMakeLists.txt
|
||||
@@ -22,9 +22,8 @@ add_subdirectory(rcheevos EXCLUDE_FROM_ALL)
|
||||
disable_compiler_warnings_for_target(rcheevos)
|
||||
add_subdirectory(rapidyaml EXCLUDE_FROM_ALL)
|
||||
disable_compiler_warnings_for_target(rapidyaml)
|
||||
-add_subdirectory(cubeb EXCLUDE_FROM_ALL)
|
||||
-disable_compiler_warnings_for_target(cubeb)
|
||||
-disable_compiler_warnings_for_target(speex)
|
||||
+find_package(cubeb REQUIRED GLOBAL)
|
||||
+add_library(cubeb ALIAS cubeb::cubeb)
|
||||
add_subdirectory(kissfft EXCLUDE_FROM_ALL)
|
||||
disable_compiler_warnings_for_target(kissfft)
|
||||
|
||||
diff --git a/src/util/cubeb_audio_stream.cpp b/src/util/cubeb_audio_stream.cpp
|
||||
index 85579c4..526d168 100644
|
||||
--- a/src/util/cubeb_audio_stream.cpp
|
||||
+++ b/src/util/cubeb_audio_stream.cpp
|
||||
@@ -261,7 +261,7 @@ std::vector<std::pair<std::string, std::string>> AudioStream::GetCubebDriverName
|
||||
std::vector<std::pair<std::string, std::string>> names;
|
||||
names.emplace_back(std::string(), TRANSLATE_STR("AudioStream", "Default"));
|
||||
|
||||
- const char** cubeb_names = cubeb_get_backend_names();
|
||||
+ const char*const * cubeb_names = cubeb_get_backend_names();
|
||||
for (u32 i = 0; cubeb_names[i] != nullptr; i++)
|
||||
names.emplace_back(cubeb_names[i], cubeb_names[i]);
|
||||
return names;
|
||||
@@ -9,6 +9,7 @@
|
||||
stdenv,
|
||||
cmake,
|
||||
ninja,
|
||||
cubeb,
|
||||
}:
|
||||
|
||||
{
|
||||
@@ -163,4 +164,15 @@
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
});
|
||||
|
||||
cubeb = cubeb.overrideAttrs (old: {
|
||||
pname = "cubeb-patched-for-duckstation";
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/PCSX2/pcsx2/commit/430e31abe4a9e09567cb542f1416b011bb9b6ef9.patch";
|
||||
stripLen = 2;
|
||||
hash = "sha256-bbH0c1X3lMeX6hfNKObhcq5xraFpicFV3mODQGYudvQ=";
|
||||
})
|
||||
];
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From 41e750142b44465f3af197b7e2f0d6f54fc48c2d Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Mon, 21 Oct 2024 17:42:24 +0200
|
||||
Subject: [PATCH] Mark Lua symbols as C symbols
|
||||
|
||||
Otherwise linking against our Lua built by a C-compiler fails due to the symbols being resolved as C++ symbols.
|
||||
---
|
||||
interpreter.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/interpreter.h b/interpreter.h
|
||||
index 6c405a1..c471ecb 100644
|
||||
--- a/interpreter.h
|
||||
+++ b/interpreter.h
|
||||
@@ -9,9 +9,11 @@
|
||||
#define INTERPRETER_H_
|
||||
|
||||
// Due to longjmp behaviour, we must build Lua as C++ to avoid UB
|
||||
+extern "C" {
|
||||
#include <lua.h>
|
||||
#include <lualib.h>
|
||||
#include <lauxlib.h>
|
||||
+}
|
||||
|
||||
#include "common.h"
|
||||
#include <unordered_map>
|
||||
--
|
||||
2.44.1
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exaile";
|
||||
version = "4.1.3";
|
||||
version = "4.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "exaile";
|
||||
repo = "exaile";
|
||||
rev = version;
|
||||
sha256 = "sha256-9SK0nvGdz2j6qp1JTmSuLezxX/kB93CZReSfAnfKZzg=";
|
||||
sha256 = "sha256-iyK2txutlWe67CyfKuyesBrYQypkS5FOf1ZWUkRCq24=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
|
||||
@@ -66,6 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = with lib; {
|
||||
homepage = "https://flashprog.org";
|
||||
description = "Utility for reading, writing, erasing and verifying flash ROM chips";
|
||||
changelog = "https://flashprog.org/wiki/Flashprog/v${finalAttrs.version}";
|
||||
license = with licenses; [ gpl2 ];
|
||||
maintainers = with maintainers; [
|
||||
felixsinger
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.15.42";
|
||||
version = "3.16.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Flexget";
|
||||
repo = "Flexget";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ON0j5HYNbpHSwTMJgX/xPLjzLZXRDk1YogbhcwugxJE=";
|
||||
hash = "sha256-IqkzMbWc8GiSo00sMrTugE+G552769WFz+GJbYIPOvs=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gensio";
|
||||
version = "2.8.14";
|
||||
version = "2.8.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cminyard";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vxa1r0vloiqMrGhXriIbBfJC6wmm54YWg0nCnB8MDG0=";
|
||||
sha256 = "sha256-EDa95r8x5yIXibJigJXR3PCYTTvJlqB6XBN1RZHq6KM=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{ wrapCC, gcc15 }:
|
||||
wrapCC (
|
||||
gcc15.cc.override {
|
||||
name = "gfortran";
|
||||
langFortran = true;
|
||||
langCC = false;
|
||||
langC = false;
|
||||
profiledCompiler = false;
|
||||
}
|
||||
)
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "ghostfolio";
|
||||
version = "2.161.0";
|
||||
version = "2.162.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ghostfolio";
|
||||
repo = "ghostfolio";
|
||||
tag = version;
|
||||
hash = "sha256-fN901bpiFz1sAEBv9MKzpgfr7TFa6s3ghT9v44bXZzM=";
|
||||
hash = "sha256-2j7haypj1Bl0T0ppBCo+KDaMup+1dOuI2xouaJuVtec=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
@@ -27,7 +27,7 @@ buildNpmPackage rec {
|
||||
'';
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-vaIQ6SdsBGfiIkvz+dE9wR/KToobFyWaZOuFHPgLk94=";
|
||||
npmDepsHash = "sha256-IYHV7PEyfkGtwpROHITulqBEC6NgA5CumIykKtoamU8=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
prisma
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "github-mcp-server";
|
||||
version = "0.3.0";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "github";
|
||||
repo = "github-mcp-server";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GXE6ZmCDPjDCpCrrX0DcDdcLVgM+hHVWzihMYqUQaSI=";
|
||||
hash = "sha256-7bxphEQOewy7RZIfKp6aEIPvhgvq4AsU8FozsDsGVgM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-SWzKE1pliZd3fQrbh8JpoepT/bKpZHuq7WZ8LEzNn50=";
|
||||
vendorHash = "sha256-yUg+4Z8e9j4wpDD+5XG7pZFnxibGiI5Gks1CEQT2E3g=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
pkg-config,
|
||||
dbus-glib,
|
||||
audacious,
|
||||
gtk2,
|
||||
gsl,
|
||||
libaudclient,
|
||||
libmpdclient,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gjay";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/gjay/${pname}-${version}.tar.gz";
|
||||
sha256 = "1a1vv4r0vnxjdyl0jyv7gga3zfd5azxlwjm1l6hjrf71lb228zn8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
libmpdclient
|
||||
dbus-glib
|
||||
audacious
|
||||
gtk2
|
||||
gsl
|
||||
libaudclient
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Generates playlists such that each song sounds good following the previous song";
|
||||
homepage = "https://gjay.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = with platforms; linux;
|
||||
mainProgram = "gjay";
|
||||
};
|
||||
}
|
||||
@@ -27,12 +27,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "glamoroustoolkit";
|
||||
version = "1.1.22";
|
||||
version = "1.1.24";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/feenkcom/gtoolkit-vm/releases/download/v${finalAttrs.version}/GlamorousToolkit-x86_64-unknown-linux-gnu.zip";
|
||||
stripRoot = false;
|
||||
hash = "sha256-+YFQU7qCj2hpRuBpUn0hn5GNq+T0DHQFZwEoLu1FY4c=";
|
||||
hash = "sha256-dTJ2YMNZwpZj3ZDWegjFr9aiaUtTpN8gY1wq5SAoVvs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
autoPatchelfHook,
|
||||
cairo,
|
||||
dbus,
|
||||
fetchurl,
|
||||
requireFile,
|
||||
fontconfig,
|
||||
freetype,
|
||||
glib,
|
||||
@@ -24,11 +24,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ida-free";
|
||||
version = "9.0sp1";
|
||||
version = "9.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://archive.org/download/ida-free-pc_90sp1_x64linux/ida-free-pc_90sp1_x64linux.run";
|
||||
hash = "sha256-e5uCcJVn6xDwmVm14QCBUvNcB1MpVxNA2WcLyuK23vo=";
|
||||
src = requireFile {
|
||||
name = "ida-free-pc_${lib.replaceStrings [ "." ] [ "" ] version}_x64linux.run";
|
||||
url = "https://my.hex-rays.com/dashboard/download-center/${version}/ida-free";
|
||||
hash = "sha256-DIkxr9yD6yvziO8XHi0jt80189bXueRxmSFyq2LM0cg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
{
|
||||
"version": "1.132.3",
|
||||
"hash": "sha256-QwQSqWSQ82R5LrbyerAZflDRM2DS+rpA8E6uzxQbs48=",
|
||||
"version": "1.133.1",
|
||||
"hash": "sha256-8jqFiVNj494GQInfLDTXm43mO+H9YuxPwIqUJFOwwW0=",
|
||||
"components": {
|
||||
"cli": {
|
||||
"npmDepsHash": "sha256-7CWJEEr/6+Duc90Qww6rhVLXEtxz3hymLcQIzv3YPg0=",
|
||||
"version": "2.2.65"
|
||||
"npmDepsHash": "sha256-oDgO8kb/8VqOAGUfG70x2K58j+OsZe+CjurEShiMeCU=",
|
||||
"version": "2.2.67"
|
||||
},
|
||||
"server": {
|
||||
"npmDepsHash": "sha256-CdE8H8+uAlthHhko5Ir+BETqkZoNzpimgHB2gVJbus8=",
|
||||
"version": "1.132.3"
|
||||
"npmDepsHash": "sha256-3beEul7d4OfByrcm4u28Qv7KTdPW8GJ2gnHfQHT9LY0=",
|
||||
"version": "1.133.1"
|
||||
},
|
||||
"web": {
|
||||
"npmDepsHash": "sha256-3UoNfa2P4bVFQSQTSbRacSxh2UbPokDHqveCHt9bnko=",
|
||||
"version": "1.132.3"
|
||||
"npmDepsHash": "sha256-xvSh0NGm7O+lunbHcE7aGv2OzQNVFlHWIeUAQPF218c=",
|
||||
"version": "1.133.1"
|
||||
},
|
||||
"open-api/typescript-sdk": {
|
||||
"npmDepsHash": "sha256-Rfds2/c8Q6KfWzyztxLcKS40JKOMh04JzMICsDvqMgs=",
|
||||
"version": "1.132.3"
|
||||
"npmDepsHash": "sha256-y2jwNlqGUIsr3DfNSpEr8BFdP7e8xvNUhBQ52ypf0YI=",
|
||||
"version": "1.133.1"
|
||||
},
|
||||
"geonames": {
|
||||
"timestamp": "20250428153140",
|
||||
"hash": "sha256-RDetKDf/qFRwlB+Jo5ivD6yp1paMWFJeUf1Vft70Kdw="
|
||||
"timestamp": "20250523191247",
|
||||
"hash": "sha256-TiqUyYre3gGv3yJMoh6B+RZWu1AiMpgSZSW16NTI+Eg="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/Tools/CMake/Libraries.cmake b/Tools/CMake/Libraries.cmake
|
||||
index cc4681a..f484013 100644
|
||||
index a95ef78..6ee84cd 100644
|
||||
--- a/Tools/CMake/Libraries.cmake
|
||||
+++ b/Tools/CMake/Libraries.cmake
|
||||
@@ -67,7 +67,7 @@ if((NOT LibArchive_FOUND) AND (NOT WIN32))
|
||||
@@ -11,36 +11,67 @@ index cc4681a..f484013 100644
|
||||
find_package(
|
||||
Boost 1.78 REQUIRED
|
||||
COMPONENTS filesystem
|
||||
@@ -178,10 +178,10 @@ if(LINUX)
|
||||
set(LIBREADSTAT_INCLUDE_DIRS /app/include)
|
||||
set(LIBREADSTAT_LIBRARY_DIRS /app/lib)
|
||||
else()
|
||||
- set(LIBREADSTAT_INCLUDE_DIRS /usr/local/include /usr/include)
|
||||
+ set(LIBREADSTAT_INCLUDE_DIRS @readstat@/include /usr/include)
|
||||
# The last two library paths handle the two most common multiarch cases.
|
||||
# Other multiarch-compliant paths may come up but should be rare.
|
||||
- set(LIBREADSTAT_LIBRARY_DIRS /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu)
|
||||
+ set(LIBREADSTAT_LIBRARY_DIRS @readstat@/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu)
|
||||
@@ -185,7 +185,7 @@ if(LINUX)
|
||||
endif()
|
||||
|
||||
message(CHECK_START "Looking for libreadstat.so")
|
||||
- find_file(LIBREADSTAT_LIBRARIES libreadstat.so
|
||||
+ find_library(LIBREADSTAT_LIBRARIES libreadstat.so
|
||||
HINTS ${LIBREADSTAT_LIBRARY_DIRS} REQUIRED)
|
||||
|
||||
if(EXISTS ${LIBREADSTAT_LIBRARIES})
|
||||
diff --git a/Tools/CMake/Programs.cmake b/Tools/CMake/Programs.cmake
|
||||
index dbd089d..ef6857a 100644
|
||||
index bfdc8dc..af5ac03 100644
|
||||
--- a/Tools/CMake/Programs.cmake
|
||||
+++ b/Tools/CMake/Programs.cmake
|
||||
@@ -39,6 +39,7 @@ endif()
|
||||
@@ -38,8 +38,9 @@ if(NOT WIN32)
|
||||
endif()
|
||||
|
||||
# ------ Linux Tools/Programs
|
||||
|
||||
+#[[
|
||||
if(LINUX)
|
||||
-
|
||||
-if(LINUX)
|
||||
+# We don't need to check for any dependencies that are used to build R packages
|
||||
+# since we build them separately
|
||||
+if(false)
|
||||
|
||||
message(CHECK_START "Looking for 'gfortran'")
|
||||
@@ -81,6 +82,7 @@ if(LINUX)
|
||||
endif()
|
||||
find_program(
|
||||
diff --git a/Tools/CMake/R.cmake b/Tools/CMake/R.cmake
|
||||
index 9ae27d4..64fd96a 100644
|
||||
--- a/Tools/CMake/R.cmake
|
||||
+++ b/Tools/CMake/R.cmake
|
||||
@@ -841,11 +841,6 @@ message(STATUS "R_CPP_INCLUDES_LIBRARY = ${R_CPP_INCLUDES_LIBRARY}")
|
||||
configure_file(${PROJECT_SOURCE_DIR}/Modules/setup_renv.R.in
|
||||
${SCRIPT_DIRECTORY}/setup_renv.R @ONLY)
|
||||
|
||||
endif()
|
||||
+]]#
|
||||
-execute_process(
|
||||
- COMMAND_ECHO STDOUT
|
||||
- #ERROR_QUIET OUTPUT_QUIET
|
||||
- WORKING_DIRECTORY ${R_HOME_PATH}
|
||||
- COMMAND ${R_EXECUTABLE} --slave --no-restore --no-save --file=${SCRIPT_DIRECTORY}/setup_renv.R)
|
||||
|
||||
# ----------------------
|
||||
if(APPLE)
|
||||
# Patch renv
|
||||
@@ -867,11 +862,6 @@ endif()
|
||||
configure_file(${PROJECT_SOURCE_DIR}/Modules/setup_rcpp_rinside.R.in
|
||||
${SCRIPT_DIRECTORY}/setup_rcpp_rinside.R @ONLY)
|
||||
|
||||
-execute_process(
|
||||
- COMMAND_ECHO STDOUT
|
||||
- #ERROR_QUIET OUTPUT_QUIET
|
||||
- WORKING_DIRECTORY ${R_HOME_PATH}
|
||||
- COMMAND ${R_EXECUTABLE} --slave --no-restore --no-save --file=${SCRIPT_DIRECTORY}/setup_rcpp_rinside.R)
|
||||
|
||||
if(APPLE)
|
||||
# Patch RInside and RCpp
|
||||
@@ -892,8 +882,8 @@ endif()
|
||||
|
||||
include(FindRPackagePath)
|
||||
|
||||
-find_package_path(RCPP_PATH ${R_CPP_INCLUDES_LIBRARY} "Rcpp")
|
||||
-find_package_path(RINSIDE_PATH ${R_CPP_INCLUDES_LIBRARY} "RInside")
|
||||
+find_package_path(RCPP_PATH ${R_LIBRARY_PATH} "Rcpp")
|
||||
+find_package_path(RINSIDE_PATH ${R_LIBRARY_PATH} "RInside")
|
||||
|
||||
set(RENV_PATH "${RENV_LIBRARY}/renv")
|
||||
|
||||
|
||||
@@ -165,6 +165,12 @@ let
|
||||
src = jasp-src;
|
||||
sourceRoot = "${jasp-src.name}/Modules/${name}";
|
||||
propagatedBuildInputs = deps;
|
||||
|
||||
# some packages have a .Rprofile that tries to activate renv
|
||||
# we disable this by removing .Rprofile
|
||||
postPatch = ''
|
||||
rm -f .Rprofile
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
@@ -229,6 +235,20 @@ in
|
||||
jaspGraphs
|
||||
jaspSem
|
||||
];
|
||||
jaspBFF = buildJaspModule "jaspBFF" [
|
||||
BFF
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
];
|
||||
jaspBfpack = buildJaspModule "jaspBfpack" [
|
||||
BFpack
|
||||
bain
|
||||
ggplot2
|
||||
stringr
|
||||
coda
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
];
|
||||
jaspBsts = buildJaspModule "jaspBsts" [
|
||||
Boom
|
||||
bsts
|
||||
@@ -305,6 +325,7 @@ in
|
||||
conting'
|
||||
multibridge
|
||||
ggplot2
|
||||
interp
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
plyr
|
||||
@@ -353,6 +374,8 @@ in
|
||||
ggforce
|
||||
tidyr
|
||||
igraph
|
||||
HDInterval
|
||||
metafor
|
||||
];
|
||||
jaspMachineLearning = buildJaspModule "jaspMachineLearning" [
|
||||
kknn
|
||||
@@ -375,6 +398,7 @@ in
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
MASS
|
||||
mclust
|
||||
mvnormalTest
|
||||
neuralnet
|
||||
network
|
||||
@@ -385,6 +409,7 @@ in
|
||||
ROCR
|
||||
Rtsne
|
||||
signal
|
||||
VGAM
|
||||
];
|
||||
jaspMetaAnalysis = buildJaspModule "jaspMetaAnalysis" [
|
||||
dplyr
|
||||
@@ -406,6 +431,12 @@ in
|
||||
metamisc
|
||||
ggmcmc
|
||||
pema
|
||||
clubSandwich
|
||||
CompQuadForm
|
||||
sp
|
||||
dfoptim
|
||||
nleqslv
|
||||
patchwork
|
||||
];
|
||||
jaspMixedModels = buildJaspModule "jaspMixedModels" [
|
||||
afex
|
||||
@@ -459,6 +490,8 @@ in
|
||||
BART
|
||||
EBMAforecast
|
||||
imputeTS
|
||||
scoringRules
|
||||
scoringutils
|
||||
];
|
||||
jaspProcess = buildJaspModule "jaspProcess" [
|
||||
blavaan
|
||||
@@ -543,6 +576,7 @@ in
|
||||
lme4
|
||||
MASS
|
||||
psych
|
||||
mirt
|
||||
];
|
||||
jaspRobustTTests = buildJaspModule "jaspRobustTTests" [
|
||||
RoBTT
|
||||
@@ -553,16 +587,17 @@ in
|
||||
jaspSem = buildJaspModule "jaspSem" [
|
||||
forcats
|
||||
ggplot2
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
lavaan
|
||||
cSEM
|
||||
reshape2
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
semPlot
|
||||
semTools
|
||||
stringr
|
||||
tibble
|
||||
tidyr
|
||||
SEMsens
|
||||
];
|
||||
jaspSummaryStatistics = buildJaspModule "jaspSummaryStatistics" [
|
||||
BayesFactor
|
||||
@@ -579,7 +614,7 @@ in
|
||||
];
|
||||
jaspSurvival = buildJaspModule "jaspSurvival" [
|
||||
survival
|
||||
survminer
|
||||
ggsurvfit
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
];
|
||||
@@ -593,6 +628,12 @@ in
|
||||
plotrix
|
||||
plyr
|
||||
];
|
||||
jaspTestModule = buildJaspModule "jaspTestModule" [
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
svglite
|
||||
stringi
|
||||
];
|
||||
jaspTimeSeries = buildJaspModule "jaspTimeSeries" [
|
||||
jaspBase
|
||||
jaspGraphs
|
||||
|
||||
@@ -1,31 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
|
||||
buildEnv,
|
||||
linkFarm,
|
||||
replaceVars,
|
||||
R,
|
||||
rPackages,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
pkg-config,
|
||||
|
||||
boost,
|
||||
freexl,
|
||||
libarchive,
|
||||
readstat,
|
||||
qt6,
|
||||
R,
|
||||
readstat,
|
||||
rPackages,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.19.1";
|
||||
version = "0.19.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jasp-stats";
|
||||
repo = "jasp-desktop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SACGyNVxa6rFjloRQrEVtUgujEEF7WYL8Qhw6ZqLwdQ=";
|
||||
tag = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-p489Q3jMQ7UWOCdAGskRF9KSLoRSatUwGVfj0/g4aPo=";
|
||||
};
|
||||
|
||||
moduleSet = import ./modules.nix {
|
||||
@@ -58,25 +61,19 @@ stdenv.mkDerivation {
|
||||
inherit version src;
|
||||
|
||||
patches = [
|
||||
# remove unused cmake deps, ensure boost is dynamically linked, patch readstat path
|
||||
(replaceVars ./cmake.patch {
|
||||
inherit readstat;
|
||||
})
|
||||
|
||||
(fetchpatch {
|
||||
name = "fix-qt-6.8-crash.patch";
|
||||
url = "https://github.com/jasp-stats/jasp-desktop/commit/d96a35d262312f72081ac3f96ae8c2ae7c796b0.patch";
|
||||
hash = "sha256-KcsFy1ImPTHwDKN5Umfoa9CbtQn7B3FNu/Srr0dEJGA=";
|
||||
})
|
||||
# - ensure boost is linked dynamically
|
||||
# - fix readstat's find logic
|
||||
# - disable some of the renv logic
|
||||
# - dont't check for dependencies required for building modules
|
||||
./cmake.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DGITHUB_PAT=dummy"
|
||||
"-DGITHUB_PAT_DEF=dummy"
|
||||
"-DINSTALL_R_FRAMEWORK=OFF"
|
||||
"-DLINUX_LOCAL_BUILD=OFF"
|
||||
"-DINSTALL_R_MODULES=OFF"
|
||||
"-DCUSTOM_R_PATH=${customREnv}"
|
||||
(lib.cmakeFeature "GITHUB_PAT" "dummy")
|
||||
(lib.cmakeFeature "GITHUB_PAT_DEF" "dummy")
|
||||
(lib.cmakeBool "LINUX_LOCAL_BUILD" false)
|
||||
(lib.cmakeBool "INSTALL_R_MODULES" false)
|
||||
(lib.cmakeFeature "CUSTOM_R_PATH" "${customREnv}")
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -87,10 +84,12 @@ stdenv.mkDerivation {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
customREnv
|
||||
boost
|
||||
customREnv
|
||||
freexl
|
||||
libarchive
|
||||
readstat
|
||||
|
||||
qt6.qtbase
|
||||
qt6.qtdeclarative
|
||||
qt6.qtwebengine
|
||||
@@ -98,6 +97,7 @@ stdenv.mkDerivation {
|
||||
qt6.qt5compat
|
||||
];
|
||||
|
||||
# needed so that JASPEngine can find libRInside.so
|
||||
env.NIX_LDFLAGS = "-L${rPackages.RInside}/library/RInside/lib";
|
||||
|
||||
postInstall = ''
|
||||
@@ -107,7 +107,7 @@ stdenv.mkDerivation {
|
||||
# Remove flatpak proxy script
|
||||
rm $out/bin/org.jaspstats.JASP
|
||||
substituteInPlace $out/share/applications/org.jaspstats.JASP.desktop \
|
||||
--replace-fail "Exec=org.jaspstats.JASP" "Exec=JASP"
|
||||
--replace-fail "Exec=org.jaspstats.JASP" "Exec=JASP"
|
||||
|
||||
# symlink modules from the store
|
||||
ln -s ${modulesDir} $out/Modules
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jenkins";
|
||||
version = "2.492.3";
|
||||
version = "2.504.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://get.jenkins.io/war-stable/${finalAttrs.version}/jenkins.war";
|
||||
hash = "sha256-kMz1VhM8Nv33ZTrXEPANJIvyiV+fvCbM7g4tO6aBsB8=";
|
||||
hash = "sha256-gQJtsYsMSq1rYs9AjkxC5Xl2YbQcUXs332BiOOibnfE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 9351fc9..75dfb2c 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -66,9 +66,6 @@
|
||||
"solidpython>=1.1.2",
|
||||
"commentjson>=0.9"
|
||||
],
|
||||
- setup_requires=[
|
||||
- "versioneer"
|
||||
- ],
|
||||
extras_require={
|
||||
"dev": ["pytest"],
|
||||
},
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "komikku";
|
||||
version = "1.76.1";
|
||||
version = "1.77.0";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitea {
|
||||
@@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "valos";
|
||||
repo = "Komikku";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-js9mywNlv13ZDmvoBt9yuXJePaSuKOimek3uNlVIeHM=";
|
||||
hash = "sha256-UTAK8gzgOEuYw1S4htoInr8pCkx5s+/cblOfk/F6a4M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libspnav";
|
||||
version = "1.1";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeSpacenav";
|
||||
repo = "libspnav";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-qBewSOiwf5iaGKLGRWOQUoHkUADuH8Q1mJCLiWCXmuQ=";
|
||||
hash = "sha256-4ESzH2pMTGoDI/AAX8Iz/MVhxQD8q5cg9I91ryUi5Ys=";
|
||||
};
|
||||
|
||||
buildInputs = [ libX11 ];
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "lunarclient";
|
||||
version = "3.3.7";
|
||||
version = "3.3.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
|
||||
hash = "sha512-YnNqFuRRaRnVqNlD1VaWbx1TaTpD851altu9YamXX0q2ZohtGzB7lzE2xhllbS61E71jSUDasLUlbyyVqGTrJw==";
|
||||
hash = "sha512-H4v2fpOvjU8Cxxf0kxHf2CB/NwjarMp8EjjfGb2IbrVM0aXQQyvW+cHRwfsLnkyOxNYLWNC50Px0Ur/0rpj4bg==";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
installShellFiles,
|
||||
}:
|
||||
let
|
||||
version = "0.4.49";
|
||||
version = "0.4.50";
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
inherit version;
|
||||
@@ -17,11 +17,11 @@ rustPlatform.buildRustPackage rec {
|
||||
owner = "rust-lang";
|
||||
repo = "mdBook";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-X+ptqzAOjCX2Tt5jDfH/jdUy99WrITGfzDj+F2DoI5w=";
|
||||
hash = "sha256-ooXfYXqE12wTxrrHKF0IO8JNY7P4sPplrnhVJ6kEUyI=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-ZPJkSMcxyTOivfwThPfaO6oRkfewH048rrCDCwCtE8c=";
|
||||
cargoHash = "sha256-kyk7fwuR5A0GEGUw+W81IjwDNsa3I2DT3SFnT75IvLs=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "mint-themes";
|
||||
version = "2.2.3";
|
||||
version = "2.2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "mint-themes";
|
||||
rev = version;
|
||||
hash = "sha256-QCf0hF1qtTiYo9F/M3UiCrGj6EPSrrSWZaLXqH0UNWs=";
|
||||
hash = "sha256-O1ky967RWrd5L2RGl7SC2ZsvaM8FMmSmroJKcItD+ck=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -42,13 +42,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mlt";
|
||||
version = "7.30.0";
|
||||
version = "7.32.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mltframework";
|
||||
repo = "mlt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-z1bW+hcVeMeibC1PUS5XNpbkNB+75YLoOWZC2zuDol4=";
|
||||
hash = "sha256-8T5FXXGs7SxL6nD+R1Q/0Forsdp5Xux4S3VLvgqXzw8=";
|
||||
# The submodule contains glaxnimate code, since MLT uses internally some functions defined in glaxnimate.
|
||||
# Since glaxnimate is not available as a library upstream, we cannot remove for now this dependency on
|
||||
# submodules until upstream exports glaxnimate as a library: https://gitlab.com/mattbas/glaxnimate/-/issues/545
|
||||
|
||||
@@ -12,18 +12,19 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "monophony";
|
||||
version = "2.15.0";
|
||||
pyproject = false;
|
||||
version = "3.3.3";
|
||||
pyproject = true;
|
||||
|
||||
sourceRoot = "${src.name}/source";
|
||||
src = fetchFromGitLab {
|
||||
owner = "zehkira";
|
||||
repo = "monophony";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fC+XXOGBpG5pIQW1tCNtQaptBCyLM+YGgsZLjWrMoDA=";
|
||||
hash = "sha256-ET0cygX/r/YXGWpPU01FnBoLRtjo1ddXEiVIva71aE8=";
|
||||
};
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
sourceRoot = "${src.name}/source";
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
mpris-server
|
||||
pygobject3
|
||||
ytmusicapi
|
||||
@@ -52,10 +53,11 @@ python3Packages.buildPythonApplication rec {
|
||||
gstreamer
|
||||
]);
|
||||
|
||||
# Makefile only contains `install`
|
||||
dontBuild = true;
|
||||
pythonRelaxDeps = [ "mpris_server" ];
|
||||
|
||||
installFlags = [ "prefix=$(out)" ];
|
||||
postInstall = ''
|
||||
make install prefix=$out
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
@@ -68,13 +70,13 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.com/zehkira/monophony";
|
||||
meta = {
|
||||
description = "Linux app for streaming music from YouTube";
|
||||
longDescription = "Monophony is a free and open source Linux app for streaming music from YouTube. It has no ads and does not require an account.";
|
||||
license = licenses.agpl3Plus;
|
||||
homepage = "https://gitlab.com/zehkira/monophony";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ quadradical ];
|
||||
mainProgram = "monophony";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ quadradical ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "morgen";
|
||||
version = "3.6.13";
|
||||
version = "3.6.14";
|
||||
|
||||
src = fetchurl {
|
||||
name = "morgen-${version}.deb";
|
||||
url = "https://dl.todesktop.com/210203cqcj00tw1/versions/${version}/linux/deb";
|
||||
hash = "sha256-a7IkEHRAwa7SnsPcK6psho6E+o1aOlQPPFHaDPrrXxw=";
|
||||
hash = "sha256-ouSXOOTf+7FxSj8iyYyGN2WnsZ5EtvbW/XECfBA4UVc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
unzip,
|
||||
pkg-config,
|
||||
python3,
|
||||
SDL2,
|
||||
SDL2_image,
|
||||
enet,
|
||||
fetchFromGitHub,
|
||||
freetype,
|
||||
glpk,
|
||||
intltool,
|
||||
@@ -19,21 +24,39 @@
|
||||
openblas,
|
||||
pcre2,
|
||||
physfs,
|
||||
pkg-config,
|
||||
python3,
|
||||
stdenv,
|
||||
suitesparse,
|
||||
libyaml,
|
||||
cmark,
|
||||
dbus,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
lyaml = fetchFromGitHub {
|
||||
owner = "gvvaughan";
|
||||
repo = "lyaml";
|
||||
tag = "v6.2.8";
|
||||
hash = "sha256-ADLXi38sAs9ifQ4HJoYzgdp/dw0axGmVCtqJjpqWcmQ=";
|
||||
};
|
||||
nativefiledialog-extended = fetchFromGitHub {
|
||||
owner = "btzy";
|
||||
repo = "nativefiledialog-extended";
|
||||
tag = "v1.2.1";
|
||||
hash = "sha256-GwT42lMZAAKSJpUJE6MYOpSLKUD5o9nSe9lcsoeXgJY=";
|
||||
};
|
||||
nativefiledialog-extended-patch = fetchurl {
|
||||
url = "https://wrapdb.mesonbuild.com/v2/nativefiledialog-extended_1.2.1-1/get_patch";
|
||||
hash = "sha256-BEouiB2HTVWokrYc9VOqdnjRwPBs+us5obQ/NMqXawk=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "naev";
|
||||
version = "0.11.5";
|
||||
version = "0.12.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "naev";
|
||||
repo = "naev";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vdPkACgLGSTb9E/HZR5KoXn/fro0iHV7hX9kJim1j/M=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-I+OU3sr+C8HPnJTQ+Cc/EvshzawqikoMg3cp9uQ5dSQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@@ -54,6 +77,9 @@ stdenv.mkDerivation rec {
|
||||
pcre2
|
||||
physfs
|
||||
suitesparse
|
||||
libyaml
|
||||
cmark
|
||||
dbus
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -67,6 +93,7 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkg-config
|
||||
intltool
|
||||
unzip
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
@@ -76,13 +103,21 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build dat/outfits/bioship/generate.py utils/build/*.py utils/*.py
|
||||
patchShebangs --build dat/outfits/bioship/generate.py utils/build/*.py utils/*.py dat/naevpedia/ships/ships.py dat/naevpedia/outfits/outfits.py
|
||||
|
||||
# Add a missing include to fix the build against luajit-2.1.1741730670.
|
||||
# Otherwise the build fails as:
|
||||
# src/lutf8lib.c:421:22: error: 'INT_MAX' undeclared (first use in this function)
|
||||
# TODO: drop after 0.12.3 release
|
||||
sed -i '1i#include <limits.h>' src/lutf8lib.c
|
||||
cp -r ${lyaml} subprojects/lyaml-6.2.8
|
||||
chmod -R +w subprojects/lyaml-6.2.8
|
||||
cp -r subprojects/packagefiles/lyaml/* subprojects/lyaml-6.2.8
|
||||
cp -r ${nativefiledialog-extended} subprojects/nativefiledialog-extended-1.2.1
|
||||
chmod -R +w subprojects/nativefiledialog-extended-1.2.1
|
||||
tmp=$(mktemp -d)
|
||||
unzip ${nativefiledialog-extended-patch} -d $tmp
|
||||
cp -r $tmp/*/* subprojects/nativefiledialog-extended-1.2.1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
@@ -93,4 +128,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with lib.maintainers; [ ralismark ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -11,17 +11,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "netavark";
|
||||
version = "1.14.1";
|
||||
version = "1.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "netavark";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kAJOfZ4Q1EQ+JV1izXoLe/Z/qgxbzz3WbczM4fVhxfU=";
|
||||
hash = "sha256-V+JwfKWo8gqVq/lF0MMt8sovPRyb3saBxsUhdMo4C5g=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-MdKTGLNf+7SzdkQNLOWgfmSE9TNLYzPFU0oXh6MnW5w=";
|
||||
cargoHash = "sha256-C2+N3jPdqh/cmJ2efrUnScXo1rFBEec6w4r8M6OfcPo=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
Generated
+302
-237
File diff suppressed because it is too large
Load Diff
@@ -24,12 +24,12 @@ let
|
||||
in
|
||||
buildDotnetModule (finalAttrs: {
|
||||
inherit pname;
|
||||
version = "0.10.2";
|
||||
version = "0.11.3";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/Nexus-Mods/NexusMods.App.git";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-L75nmxjymPfuu6CM5QRE1jInElNrD2OuAXMR8+c2tGQ=";
|
||||
hash = "sha256-EP51nhFKYfYRjOpgHiGLwXGmpDULoTlGh3hQXhR8sy8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "niri";
|
||||
version = "25.05";
|
||||
version = "25.05.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "YaLTeR";
|
||||
repo = "niri";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ngQ+iTHmBJkEbsjYfCWTJdV8gHhOCTkV8K0at6Y+YHI=";
|
||||
hash = "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
'';
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-tZp7AhhddEhKWzEUTgosxXMEzALbv6FxqnJEb9MBhzc=";
|
||||
cargoHash = "sha256-8ltuI94yIhff7JxIfe1mog4bDJ/7VFgLooMWOnSTREs=";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
|
||||
@@ -7,18 +7,11 @@
|
||||
cairo,
|
||||
imagemagick,
|
||||
zopfli,
|
||||
nototools,
|
||||
pngquant,
|
||||
which,
|
||||
}:
|
||||
|
||||
let
|
||||
emojiPythonEnv = buildPackages.python3.withPackages (
|
||||
p: with p; [
|
||||
fonttools
|
||||
nototools
|
||||
]
|
||||
);
|
||||
in
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "noto-fonts-color-emoji";
|
||||
version = "2.047";
|
||||
@@ -39,9 +32,10 @@ stdenvNoCC.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
imagemagick
|
||||
zopfli
|
||||
nototools
|
||||
pngquant
|
||||
which
|
||||
emojiPythonEnv
|
||||
buildPackages.python3.pkgs.fonttools
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
+11
-38
@@ -1,45 +1,14 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
afdko,
|
||||
appdirs,
|
||||
attrs,
|
||||
booleanoperations,
|
||||
brotlipy,
|
||||
click,
|
||||
defcon,
|
||||
fontmath,
|
||||
fontparts,
|
||||
fontpens,
|
||||
fonttools,
|
||||
lxml,
|
||||
mutatormath,
|
||||
pathspec,
|
||||
psautohint,
|
||||
pyclipper,
|
||||
pytz,
|
||||
regex,
|
||||
scour,
|
||||
toml,
|
||||
typed-ast,
|
||||
ufonormalizer,
|
||||
ufoprocessor,
|
||||
unicodedata2,
|
||||
zopfli,
|
||||
pillow,
|
||||
six,
|
||||
bash,
|
||||
setuptools-scm,
|
||||
python3Packages,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "nototools";
|
||||
version = "0.2.20";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "googlefonts";
|
||||
repo = "nototools";
|
||||
@@ -51,9 +20,14 @@ buildPythonPackage rec {
|
||||
sed -i 's/use_scm_version=.*,/version="${version}",/' setup.py
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
build-system = with python3Packages; [ setuptools-scm ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pythonRemoveDeps = [
|
||||
# https://github.com/notofonts/nototools/pull/901
|
||||
"typed-ast"
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
afdko
|
||||
appdirs
|
||||
attrs
|
||||
@@ -74,7 +48,6 @@ buildPythonPackage rec {
|
||||
regex
|
||||
scour
|
||||
toml
|
||||
typed-ast
|
||||
ufonormalizer
|
||||
ufoprocessor
|
||||
unicodedata2
|
||||
@@ -82,8 +55,8 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pillow
|
||||
six
|
||||
python3Packages.pillow
|
||||
python3Packages.six
|
||||
bash
|
||||
];
|
||||
|
||||
@@ -25,14 +25,14 @@ in
|
||||
|
||||
py.pkgs.buildPythonApplication rec {
|
||||
pname = "oci-cli";
|
||||
version = "3.55.0";
|
||||
version = "3.56.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oracle";
|
||||
repo = pname;
|
||||
tag = "v${version}";
|
||||
hash = "sha256-+XKoB8lychQJXjrYA536TSYYYSeRsSAfgi6ER2tLaqA=";
|
||||
hash = "sha256-KvyhQ8MM74MYR8gf18XVYZrOSEKcOqdmyITg2UyNqp8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -117,13 +117,13 @@ in
|
||||
goBuild (finalAttrs: {
|
||||
pname = "ollama";
|
||||
# don't forget to invalidate all hashes each update
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ollama";
|
||||
repo = "ollama";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-rkSWMGMKzs7V6jmxS3fG611Zahsyzz5kDI8L4HxQSfQ=";
|
||||
hash = "sha256-ee2MkvdVDQaSFJDDuXEwedqOB2DUl3MIfp5tRxqbL8A=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -17,16 +17,16 @@ buildGoModule (finalAttrs: {
|
||||
webkitgtk_4_1
|
||||
];
|
||||
pname = "paretosecurity";
|
||||
version = "0.2.17";
|
||||
version = "0.2.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ParetoSecurity";
|
||||
repo = "agent";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-2Ev6LJWa+iPV7/Y/o9HrNf4vR4dbnIOim+qb4HdRXqU=";
|
||||
hash = "sha256-jqjfaTvbwp/3P3E7eYv8CFaaYNjPfnbrFIzD6JcccV4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-YnyACP/hJYxi4AWMwr0We4YUTbWwahKAIYN6RnHmzls=";
|
||||
vendorHash = "sha256-v9M1CX6mIK8MdaI5TVa0Uc+HnIy+oCg+vYlH3eU809Q=";
|
||||
proxyVendor = true;
|
||||
|
||||
# Skip building the Windows installer
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
wayland,
|
||||
zip,
|
||||
zstd,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -36,6 +37,16 @@ let
|
||||
qtwayland
|
||||
wrapQtAppsHook
|
||||
;
|
||||
|
||||
cubeb' = cubeb.overrideAttrs (old: {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/PCSX2/pcsx2/commit/430e31abe4a9e09567cb542f1416b011bb9b6ef9.patch";
|
||||
stripLen = 2;
|
||||
hash = "sha256-bbH0c1X3lMeX6hfNKObhcq5xraFpicFV3mODQGYudvQ=";
|
||||
})
|
||||
];
|
||||
});
|
||||
in
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (sources.pcsx2) pname version src;
|
||||
@@ -43,6 +54,8 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
patches = [
|
||||
# Remove PCSX2_GIT_REV
|
||||
./0000-define-rev.patch
|
||||
|
||||
./remove-cubeb-vendor.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@@ -80,7 +93,8 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
vulkan-headers
|
||||
wayland
|
||||
zstd
|
||||
] ++ cubeb.passthru.backendLibs;
|
||||
cubeb'
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -94,13 +108,10 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
qtWrapperArgs =
|
||||
let
|
||||
libs = lib.makeLibraryPath (
|
||||
[
|
||||
vulkan-loader
|
||||
shaderc
|
||||
]
|
||||
++ cubeb.passthru.backendLibs
|
||||
);
|
||||
libs = lib.makeLibraryPath ([
|
||||
vulkan-loader
|
||||
shaderc
|
||||
]);
|
||||
in
|
||||
[ "--prefix LD_LIBRARY_PATH : ${libs}" ];
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
|
||||
index ff66f9c..e177c90 100644
|
||||
--- a/cmake/SearchForStuff.cmake
|
||||
+++ b/cmake/SearchForStuff.cmake
|
||||
@@ -100,9 +100,8 @@ if(USE_VULKAN)
|
||||
add_subdirectory(3rdparty/vulkan EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
-add_subdirectory(3rdparty/cubeb EXCLUDE_FROM_ALL)
|
||||
-disable_compiler_warnings_for_target(cubeb)
|
||||
-disable_compiler_warnings_for_target(speex)
|
||||
+find_package(cubeb REQUIRED GLOBAL)
|
||||
+add_library(cubeb ALIAS cubeb::cubeb)
|
||||
|
||||
# Find the Qt components that we need.
|
||||
find_package(Qt6 6.7.2 COMPONENTS CoreTools Core GuiTools Gui WidgetsTools Widgets LinguistTools REQUIRED)
|
||||
diff --git a/pcsx2/Host/CubebAudioStream.cpp b/pcsx2/Host/CubebAudioStream.cpp
|
||||
index 4cd9993..604635d 100644
|
||||
--- a/pcsx2/Host/CubebAudioStream.cpp
|
||||
+++ b/pcsx2/Host/CubebAudioStream.cpp
|
||||
@@ -288,7 +288,7 @@ std::vector<std::pair<std::string, std::string>> AudioStream::GetCubebDriverName
|
||||
std::vector<std::pair<std::string, std::string>> names;
|
||||
names.emplace_back(std::string(), TRANSLATE_STR("AudioStream", "Default"));
|
||||
|
||||
- const char** cubeb_names = cubeb_get_backend_names();
|
||||
+ const char* const* cubeb_names = cubeb_get_backend_names();
|
||||
for (u32 i = 0; cubeb_names[i] != nullptr; i++)
|
||||
names.emplace_back(cubeb_names[i], cubeb_names[i]);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
godot_4_3,
|
||||
godot_4,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
@@ -16,17 +16,17 @@ let
|
||||
presets.${stdenv.hostPlatform.system}
|
||||
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
godot = godot_4_3;
|
||||
godot = godot_4;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pixelorama";
|
||||
version = "1.1";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Orama-Interactive";
|
||||
repo = "Pixelorama";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-UJ9sQ9igB2YAtkeHRUPvA60lbR2OXd4tqBDFxf9YTnI=";
|
||||
hash = "sha256-HXCfZ/ePqEMnaEN+fxGVoaFWsO1isTAyYoRpLY6opRg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -5,18 +5,18 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "postgres-lsp";
|
||||
version = "0.6.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "supabase-community";
|
||||
repo = "postgres-language-server";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-PL8irQ3R8m//BbtTjODBrBcG/bAdK+t6GZGAj0PkJwE=";
|
||||
hash = "sha256-78DUSoJwh310TAO0a8usa6+IwZhDdOCNys9fEAky3VY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-lUZpjX3HljOXi0Wt2xZCUru8uinWlngLEs5wlqfFiJA=";
|
||||
cargoHash = "sha256-IxVuxDauxH3AzXirJ3Zq8QLSdUL3H3j/oSGqfNs0J20=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
rustPlatform.bindgenHook
|
||||
@@ -35,6 +35,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
checkFlags = [
|
||||
# Tries to write to the file system relatively to the current path
|
||||
"--skip=syntax_error"
|
||||
# Requires a database connection
|
||||
"--skip=test_cli_check_command"
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -13,12 +13,12 @@ let
|
||||
{
|
||||
aarch64-darwin = {
|
||||
arch = "arm64";
|
||||
sha256 = "sha256-uhhrJk/WtM4tKsrBAn1IjHx0OeR/SpdOzy2XhoUP4sY=";
|
||||
sha256 = "sha256-w1zu+sK8JqBMGBaKPYGJqddEWYWCv1aJRM+Q91l5dPw=";
|
||||
};
|
||||
|
||||
x86_64-darwin = {
|
||||
arch = "64";
|
||||
sha256 = "sha256-NYxcZoQYDyn85RkUz57b5yhzpeAK5xyyJF/7L2+3tt4=";
|
||||
sha256 = "sha256-dlRK6NpDskuIW0nuf9mWx/xolOnGmH77ny+2ADaD7QU=";
|
||||
};
|
||||
}
|
||||
.${stdenvNoCC.hostPlatform.system}
|
||||
|
||||
@@ -56,12 +56,12 @@ let
|
||||
{
|
||||
aarch64-linux = {
|
||||
arch = "arm64";
|
||||
sha256 = "sha256-/Qfd/xn+FwYLPSWssP5JFfjMdICz6HDg30edl/Fme5A=";
|
||||
sha256 = "sha256-XtY5SmYoU2OhX69jRb8uSGwx5vPiSfgmF2jY7mJIrTY=";
|
||||
};
|
||||
|
||||
x86_64-linux = {
|
||||
arch = "64";
|
||||
sha256 = "sha256-BbTYT0GHU+BmWFXG2TU8PL90eTpLcyLgnwSw9YyWT0g=";
|
||||
sha256 = "sha256-eEgUk3VnahmFua8UrNMUi2lG0UujiuDTs64XqaAkYe8=";
|
||||
};
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
@@ -6,9 +6,12 @@
|
||||
|
||||
let
|
||||
pname = "postman";
|
||||
version = "11.44.0";
|
||||
version = "11.46.6";
|
||||
meta = with lib; {
|
||||
homepage = "https://www.getpostman.com";
|
||||
changelog = "https://www.postman.com/release-notes/postman-app/#${
|
||||
replaceStrings [ "." ] [ "-" ] version
|
||||
}";
|
||||
description = "API Development Environment";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.postman;
|
||||
|
||||
@@ -40,17 +40,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
curl
|
||||
ffmpeg
|
||||
cubeb
|
||||
] ++ cubeb.passthru.backendLibs;
|
||||
];
|
||||
|
||||
# Correct qml import path
|
||||
postInstall = ''
|
||||
mv $out/lib/qt6 $out/lib/qt-6
|
||||
'';
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath cubeb.passthru.backendLibs}"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Unofficial Qt client for netease cloud music";
|
||||
homepage = "https://github.com/hypengw/Qcm";
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "quarkus-cli";
|
||||
version = "3.22.2";
|
||||
version = "3.22.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/quarkusio/quarkus/releases/download/${finalAttrs.version}/quarkus-cli-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-RCWkaPoE3Purq9VG1xhlakMxqXhnxi+q10YcgOyScqg=";
|
||||
hash = "sha256-kUIjIsVK7hn2tNOpuqfNdwuX1ZQewcY8SItAknG7cRk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "rattler-build";
|
||||
version = "0.41.0";
|
||||
version = "0.42.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prefix-dev";
|
||||
repo = "rattler-build";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-6N4YHrwzFTBShitAW7BMjEMzigB37Om5lICb94wEvlQ=";
|
||||
hash = "sha256-HeqE4FqkRBQNtJlirkLo6aVBo4S6QpKD8o6/B2DEya8=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-fslC+e3d2tVFOWag7NZ1mTnjG3iMMezodpNQ+2LVRxU=";
|
||||
cargoHash = "sha256-/R4m3uApdFHJe2fJbdox2awO0Qbt496C1gTz7B0Owso=";
|
||||
|
||||
doCheck = false; # test requires network access
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "retroarch-assets";
|
||||
version = "1.20.0-unstable-2025-03-21";
|
||||
version = "1.20.0-unstable-2025-05-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "retroarch-assets";
|
||||
rev = "818aca56efd784624a241a12936b5c0864e3ddd8";
|
||||
hash = "sha256-14n9oQbvzl66pgWLMYEpAM7uJUH5e8a3xRCy5f1TFIw=";
|
||||
rev = "2d24ef2972a709f870cc3f73853158fa2376f37d";
|
||||
hash = "sha256-8FtY9W51Y0cLD61GHGz83TWoSyUuRfXEaAuEBKcFKRU=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user