Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-10-09 00:14:47 +00:00 committed by GitHub
commit 96ea2a3c2f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
152 changed files with 7657 additions and 3705 deletions

19
.github/CODEOWNERS vendored
View File

@ -15,6 +15,8 @@
/.github/workflows @NixOS/Security @Mic92 @zowoq
/.github/workflows/check-nix-format.yml @infinisil
/.github/workflows/nixpkgs-vet.yml @infinisil @philiptaron
/.github/workflows/codeowners.yml @infinisil
/.github/OWNERS @infinisil
/ci @infinisil @philiptaron @NixOS/Security
# Development support
@ -28,7 +30,7 @@
/lib/cli.nix @infinisil @Profpatsch
/lib/debug.nix @infinisil @Profpatsch
/lib/asserts.nix @infinisil @Profpatsch
/lib/path.* @infinisil
/lib/path/* @infinisil
/lib/fileset @infinisil
## Libraries / Module system
/lib/modules.nix @infinisil @roberth
@ -105,7 +107,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza
/nixos/lib/test-driver @tfc
# NixOS QEMU virtualisation
/nixos/virtualisation/qemu-vm.nix @raitobezarius
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
# ACME
/nixos/modules/security/acme @arianvp @flokli @aanderse @emilazy # no merge permission: @m1cr0man
@ -170,7 +172,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza
# Audio
/nixos/modules/services/audio/botamusique.nix @mweinelt
/nixos/modules/services/audio/snapserver.nix @mweinelt
/nixos/tests/modules/services/audio/botamusique.nix @mweinelt
/nixos/tests/botamusique.nix @mweinelt
/nixos/tests/snapcast.nix @mweinelt
# Browsers
@ -204,21 +206,20 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# PostgreSQL and related stuff
/pkgs/servers/sql/postgresql @thoughtpolice
/nixos/modules/services/databases/postgresql.xml @thoughtpolice
/nixos/modules/services/databases/postgresql.md @thoughtpolice
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
/nixos/tests/postgresql.nix @thoughtpolice
# Hardened profile & related modules
/nixos/modules/profiles/hardened.nix @joachifm
/nixos/modules/security/hidepid.nix @joachifm
/nixos/modules/security/lock-kernel-modules.nix @joachifm
/nixos/modules/security/misc.nix @joachifm
/nixos/tests/hardened.nix @joachifm
/pkgs/os-specific/linux/kernel/hardened-config.nix @joachifm
/pkgs/os-specific/linux/kernel/hardened/config.nix @joachifm
# Home Automation
/nixos/modules/services/misc/home-assistant.nix @mweinelt
/nixos/modules/services/misc/zigbee2mqtt.nix @mweinelt
/nixos/modules/services/home-automation/home-assistant.nix @mweinelt
/nixos/modules/services/home-automation/zigbee2mqtt.nix @mweinelt
/nixos/tests/home-assistant.nix @mweinelt
/nixos/tests/zigbee2mqtt.nix @mweinelt
/pkgs/servers/home-assistant @mweinelt
@ -316,8 +317,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# nim
/pkgs/development/compilers/nim @ehmry
/pkgs/development/nim-packages @ehmry
/pkgs/top-level/nim-packages.nix @ehmry
# terraform providers
/pkgs/applications/networking/cluster/terraform-providers @zowoq

19
.github/OWNERS vendored Normal file
View File

@ -0,0 +1,19 @@
#
# Currently unused! Use CODEOWNERS for now, see workflows/codeowners.yml
#
####################
#
# This file is used to describe who owns what in this repository.
# Users/teams will get review requests for PRs that change their files.
#
# This file does not replace `meta.maintainers`
# but is instead used for other things than derivations and modules,
# like documentation, package sets, and other assets.
#
# This file uses the same syntax as the natively supported CODEOWNERS file,
# see https://help.github.com/articles/about-codeowners/ for documentation.
# However it comes with some notable differences:
# - There is no need for user/team listed here to have write access.
# - No reviews will be requested for PRs that target the wrong base branch.
#
# Processing of this file is implemented in workflows/codeowners.yml

88
.github/workflows/codeowners.yml vendored Normal file
View File

@ -0,0 +1,88 @@
name: Codeowners
# This workflow depends on a GitHub App with the following permissions:
# - Repository > Administration: read-only
# - Organization > Members: read-only
# - Repository > Pull Requests: read-write
# The App needs to be installed on this repository
# the OWNER_APP_ID repository variable needs to be set
# the OWNER_APP_PRIVATE_KEY repository secret needs to be set
on:
pull_request_target:
types: [opened, ready_for_review, synchronize, reopened, edited]
env:
# TODO: Once confirmed that this works by seeing that the action would request
# reviews from the same people (or refuse for wrong base branches),
# move all entries from CODEOWNERS to OWNERS and change this value here
# OWNERS_FILE: .github/OWNERS
OWNERS_FILE: .github/CODEOWNERS
# Also remove this
DRY_MODE: 1
jobs:
# Check that code owners is valid
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
# 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@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: base
- name: Build codeowners validator
run: nix-build base/ci -A codeownersValidator
- uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0
id: app-token
with:
app-id: ${{ vars.OWNER_APP_ID }}
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
ref: refs/pull/${{ github.event.number }}/merge
path: pr
- name: Validate codeowners
run: result/bin/codeowners-validator
env:
OWNERS_FILE: pr/${{ env.OWNERS_FILE }}
GITHUB_ACCESS_TOKEN: ${{ steps.app-token.outputs.token }}
REPOSITORY_PATH: pr
OWNER_CHECKER_REPOSITORY: ${{ github.repository }}
# Set this to "notowned,avoid-shadowing" to check that all files are owned by somebody
EXPERIMENTAL_CHECKS: "avoid-shadowing"
# Request reviews from code owners
request:
name: Request
runs-on: ubuntu-latest
steps:
- uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
# 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@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0
id: app-token
with:
app-id: ${{ vars.OWNER_APP_ID }}
private-key: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
- name: Build review request package
run: nix-build ci -A requestReviews
- name: Request reviews
run: result/bin/request-reviews.sh ${{ github.repository }} ${{ github.event.number }} "$OWNERS_FILE"
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
# Don't do anything on draft PRs
DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }}

View File

@ -0,0 +1,31 @@
{
buildGoModule,
fetchFromGitHub,
fetchpatch,
}:
buildGoModule {
name = "codeowners-validator";
src = fetchFromGitHub {
owner = "mszostok";
repo = "codeowners-validator";
rev = "f3651e3810802a37bd965e6a9a7210728179d076";
hash = "sha256-5aSmmRTsOuPcVLWfDF6EBz+6+/Qpbj66udAmi1CLmWQ=";
};
patches = [
# https://github.com/mszostok/codeowners-validator/pull/222
(fetchpatch {
name = "user-write-access-check";
url = "https://github.com/mszostok/codeowners-validator/compare/f3651e3810802a37bd965e6a9a7210728179d076...840eeb88b4da92bda3e13c838f67f6540b9e8529.patch";
hash = "sha256-t3Dtt8SP9nbO3gBrM0nRE7+G6N/ZIaczDyVHYAG/6mU=";
})
# Undoes part of the above PR: We don't want to require write access
# to the repository, that's only needed for GitHub's native CODEOWNERS.
# Furthermore, it removes an unneccessary check from the code
# that breaks tokens generated for GitHub Apps.
./permissions.patch
# Allows setting a custom CODEOWNERS path using the OWNERS_FILE env var
./owners-file-name.patch
];
postPatch = "rm -r docs/investigation";
vendorHash = "sha256-R+pW3xcfpkTRqfS2ETVOwG8PZr0iH5ewroiF7u8hcYI=";
}

View File

@ -0,0 +1,15 @@
diff --git a/pkg/codeowners/owners.go b/pkg/codeowners/owners.go
index 6910bd2..e0c95e9 100644
--- a/pkg/codeowners/owners.go
+++ b/pkg/codeowners/owners.go
@@ -39,6 +39,10 @@ func NewFromPath(repoPath string) ([]Entry, error) {
// openCodeownersFile finds a CODEOWNERS file and returns content.
// see: https://help.github.com/articles/about-code-owners/#codeowners-file-location
func openCodeownersFile(dir string) (io.Reader, error) {
+ if file, ok := os.LookupEnv("OWNERS_FILE"); ok {
+ return fs.Open(file)
+ }
+
var detectedFiles []string
for _, p := range []string{".", "docs", ".github"} {
pth := path.Join(dir, p)

View File

@ -0,0 +1,36 @@
diff --git a/internal/check/valid_owner.go b/internal/check/valid_owner.go
index a264bcc..610eda8 100644
--- a/internal/check/valid_owner.go
+++ b/internal/check/valid_owner.go
@@ -16,7 +16,6 @@ import (
const scopeHeader = "X-OAuth-Scopes"
var reqScopes = map[github.Scope]struct{}{
- github.ScopeReadOrg: {},
}
type ValidOwnerConfig struct {
@@ -223,10 +222,7 @@ func (v *ValidOwner) validateTeam(ctx context.Context, name string) *validateErr
for _, t := range v.repoTeams {
// GitHub normalizes name before comparison
if strings.EqualFold(t.GetSlug(), team) {
- if t.Permissions["push"] {
- return nil
- }
- return newValidateError("Team %q cannot review PRs on %q as neither it nor any parent team has write permissions.", team, v.orgRepoName)
+ return nil
}
}
@@ -245,10 +241,7 @@ func (v *ValidOwner) validateGitHubUser(ctx context.Context, name string) *valid
for _, u := range v.repoUsers {
// GitHub normalizes name before comparison
if strings.EqualFold(u.GetLogin(), userName) {
- if u.Permissions["push"] {
- return nil
- }
- return newValidateError("User %q cannot review PRs on %q as they don't have write permissions.", userName, v.orgRepoName)
+ return nil
}
}

29
ci/default.nix Normal file
View File

@ -0,0 +1,29 @@
let
pinnedNixpkgs = builtins.fromJSON (builtins.readFile ./pinned-nixpkgs.json);
in
{
system ? builtins.currentSystem,
nixpkgs ? null,
}:
let
nixpkgs' =
if nixpkgs == null then
fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/${pinnedNixpkgs.rev}.tar.gz";
sha256 = pinnedNixpkgs.sha256;
}
else
nixpkgs;
pkgs = import nixpkgs' {
inherit system;
config = { };
overlays = [ ];
};
in
{
inherit pkgs;
requestReviews = pkgs.callPackage ./request-reviews { };
codeownersValidator = pkgs.callPackage ./codeowners-validator { };
}

View File

@ -0,0 +1,43 @@
{
lib,
stdenvNoCC,
makeWrapper,
coreutils,
codeowners,
jq,
curl,
github-cli,
gitMinimal,
}:
stdenvNoCC.mkDerivation {
name = "request-reviews";
src = lib.fileset.toSource {
root = ./.;
fileset = lib.fileset.unions [
./get-reviewers.sh
./request-reviews.sh
./verify-base-branch.sh
./dev-branches.txt
];
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
mv dev-branches.txt $out/bin
for bin in *.sh; do
mv "$bin" "$out/bin"
wrapProgram "$out/bin/$bin" \
--set PATH ${
lib.makeBinPath [
coreutils
codeowners
jq
curl
github-cli
gitMinimal
]
}
done
'';
}

View File

@ -0,0 +1,7 @@
# Trusted development branches:
# These generally require PRs to update and are built by Hydra.
master
staging
release-*
staging-*
haskell-updates

View File

@ -0,0 +1,87 @@
#!/usr/bin/env bash
# Get the code owners of the files changed by a PR,
# suitable to be consumed by the API endpoint to request reviews:
# https://docs.github.com/en/rest/pulls/review-requests?apiVersion=2022-11-28#request-reviewers-for-a-pull-request
set -euo pipefail
log() {
echo "$@" >&2
}
if (( "$#" < 5 )); then
log "Usage: $0 GIT_REPO BASE_REF HEAD_REF OWNERS_FILE PR_AUTHOR"
exit 1
fi
gitRepo=$1
baseRef=$2
headRef=$3
ownersFile=$4
prAuthor=$5
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
git -C "$gitRepo" diff --name-only --merge-base "$baseRef" "$headRef" > "$tmp/touched-files"
readarray -t touchedFiles < "$tmp/touched-files"
log "This PR touches ${#touchedFiles[@]} files"
# Get the owners file from the base, because we don't want to allow PRs to
# remove code owners to avoid pinging them
git -C "$gitRepo" show "$baseRef":"$ownersFile" > "$tmp"/codeowners
# Associative arrays with the team/user as the key for easy deduplication
declare -A teams users
for file in "${touchedFiles[@]}"; do
result=$(codeowners --file "$tmp"/codeowners "$file")
read -r file owners <<< "$result"
if [[ "$owners" == "(unowned)" ]]; then
log "File $file is unowned"
continue
fi
log "File $file is owned by $owners"
# Split up multiple owners, separated by arbitrary amounts of spaces
IFS=" " read -r -a entries <<< "$owners"
for entry in "${entries[@]}"; do
# GitHub technically also supports Emails as code owners,
# but we can't easily support that, so let's not
if [[ ! "$entry" =~ @(.*) ]]; then
warn -e "\e[33mCodeowner \"$entry\" for file $file is not valid: Must start with \"@\"\e[0m" >&2
# Don't fail, because the PR for which this script runs can't fix it,
# it has to be fixed in the base branch
continue
fi
# The first regex match is everything after the @
entry=${BASH_REMATCH[1]}
if [[ "$entry" =~ .*/(.*) ]]; then
# Teams look like $org/$team, where we only need $team for the API
# call to request reviews from teams
teams[${BASH_REMATCH[1]}]=
else
# Everything else is a user
users[$entry]=
fi
done
done
# Cannot request a review from the author
if [[ -v users[$prAuthor] ]]; then
log "One or more files are owned by the PR author, ignoring"
unset 'users[$prAuthor]'
fi
# Turn it into a JSON for the GitHub API call to request PR reviewers
jq -n \
--arg users "${!users[*]}" \
--arg teams "${!teams[*]}" \
'{
reviewers: $users | split(" "),
team_reviewers: $teams | split(" ")
}'

View File

@ -0,0 +1,97 @@
#!/usr/bin/env bash
# Requests reviews for a PR after verifying that the base branch is correct
set -euo pipefail
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
SCRIPT_DIR=$(dirname "$0")
log() {
echo "$@" >&2
}
effect() {
if [[ -n "${DRY_MODE:-}" ]]; then
log "Skipping in dry mode:" "${@@Q}"
else
"$@"
fi
}
if (( $# < 3 )); then
log "Usage: $0 GITHUB_REPO PR_NUMBER OWNERS_FILE"
exit 1
fi
baseRepo=$1
prNumber=$2
ownersFile=$3
log "Fetching PR info"
prInfo=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/pulls/$prNumber")
baseBranch=$(jq -r .base.ref <<< "$prInfo")
log "Base branch: $baseBranch"
prRepo=$(jq -r .head.repo.full_name <<< "$prInfo")
log "PR repo: $prRepo"
prBranch=$(jq -r .head.ref <<< "$prInfo")
log "PR branch: $prBranch"
prAuthor=$(jq -r .user.login <<< "$prInfo")
log "PR author: $prAuthor"
extraArgs=()
if pwdRepo=$(git rev-parse --show-toplevel 2>/dev/null); then
# Speedup for local runs
extraArgs+=(--reference-if-able "$pwdRepo")
fi
log "Fetching Nixpkgs commit history"
# We only need the commit history, not the contents, so we can do a tree-less clone using tree:0
# https://github.blog/open-source/git/get-up-to-speed-with-partial-clone-and-shallow-clone/#user-content-quick-summary
git clone --bare --filter=tree:0 --no-tags --origin upstream "${extraArgs[@]}" https://github.com/"$baseRepo".git "$tmp"/nixpkgs.git
log "Fetching the PR commit history"
# Fetch the PR
git -C "$tmp/nixpkgs.git" remote add fork https://github.com/"$prRepo".git
# This remote config is the same as --filter=tree:0 when cloning
git -C "$tmp/nixpkgs.git" config remote.fork.partialclonefilter tree:0
git -C "$tmp/nixpkgs.git" config remote.fork.promisor true
# This should not conflict with any refs in Nixpkgs
headRef=refs/remotes/fork/pr
# Only fetch into a remote ref, because the local ref namespace is used by Nixpkgs, don't want any conflicts
git -C "$tmp/nixpkgs.git" fetch --no-tags fork "$prBranch":"$headRef"
log "Checking correctness of the base branch"
if ! "$SCRIPT_DIR"/verify-base-branch.sh "$tmp/nixpkgs.git" "$headRef" "$baseRepo" "$baseBranch" "$prRepo" "$prBranch" | tee "$tmp/invalid-base-error" >&2; then
log "Posting error as comment"
if ! response=$(effect gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/issues/$prNumber/comments" \
-F "body=@$tmp/invalid-base-error"); then
log "Failed to post the comment: $response"
fi
exit 1
fi
log "Getting code owners to request reviews from"
"$SCRIPT_DIR"/get-reviewers.sh "$tmp/nixpkgs.git" "$baseBranch" "$headRef" "$ownersFile" "$prAuthor" > "$tmp/reviewers.json"
log "Requesting reviews from: $(<"$tmp/reviewers.json")"
if ! response=$(effect gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$baseRepo/pulls/$prNumber/requested_reviewers" \
--input "$tmp/reviewers.json"); then
log "Failed to request reviews: $response"
exit 1
fi
log "Successfully requested reviews"

View File

@ -0,0 +1,103 @@
#!/usr/bin/env bash
# Check that a PR doesn't include commits from other development branches.
# Fails with next steps if it does
set -euo pipefail
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' exit
SCRIPT_DIR=$(dirname "$0")
log() {
echo "$@" >&2
}
# Small helper to check whether an element is in a list
# Usage: `elementIn foo "${list[@]}"`
elementIn() {
local e match=$1
shift
for e; do
if [[ "$e" == "$match" ]]; then
return 0
fi
done
return 1
}
if (( $# < 6 )); then
log "Usage: $0 LOCAL_REPO HEAD_REF BASE_REPO BASE_BRANCH PR_REPO PR_BRANCH"
exit 1
fi
localRepo=$1
headRef=$2
baseRepo=$3
baseBranch=$4
prRepo=$5
prBranch=$6
# All development branches
devBranchPatterns=()
while read -r pattern; do
if [[ "$pattern" != '#'* ]]; then
devBranchPatterns+=("$pattern")
fi
done < "$SCRIPT_DIR/dev-branches.txt"
git -C "$localRepo" branch --list --format "%(refname:short)" "${devBranchPatterns[@]}" > "$tmp/dev-branches"
readarray -t devBranches < "$tmp/dev-branches"
if [[ "$baseRepo" == "$prRepo" ]] && elementIn "$prBranch" "${devBranches[@]}"; then
log "This PR merges $prBranch into $baseBranch, no commit check necessary"
exit 0
fi
# The current merge base of the PR
prMergeBase=$(git -C "$localRepo" merge-base "$baseBranch" "$headRef")
log "The PR's merge base with the base branch $baseBranch is $prMergeBase"
# This is purely for debugging
git -C "$localRepo" rev-list --reverse "$baseBranch".."$headRef" > "$tmp/pr-commits"
log "The PR includes these $(wc -l < "$tmp/pr-commits") commits:"
cat <"$tmp/pr-commits" >&2
for testBranch in "${devBranches[@]}"; do
if [[ -z "$(git -C "$localRepo" rev-list -1 --since="1 month ago" "$testBranch")" ]]; then
log "Not checking $testBranch, was inactive for the last month"
continue
fi
log "Checking if commits from $testBranch are included in the PR"
# We need to check for any commits that are in the PR which are also in the test branch.
# We could check each commit from the PR individually, but that's unnecessarily slow.
#
# This does _almost_ what we want: `git rev-list --count headRef testBranch ^baseBranch`,
# except that it includes commits that are reachable from _either_ headRef or testBranch,
# instead of restricting it to ones reachable by both
# Easily fixable though, because we can use `git merge-base testBranch headRef`
# to get the least common ancestor (aka merge base) commit reachable by both.
# If the branch being tested is indeed the right base branch,
# this is then also the commit from that branch that the PR is based on top of.
testMergeBase=$(git -C "$localRepo" merge-base "$testBranch" "$headRef")
# And then use the `git rev-list --count`, but replacing the non-working
# `headRef testBranch` with the merge base of the two.
extraCommits=$(git -C "$localRepo" rev-list --count "$testMergeBase" ^"$baseBranch")
if (( extraCommits != 0 )); then
log -e "\e[33m"
echo "The PR's base branch is set to $baseBranch, but $extraCommits commits from the $testBranch branch are included. Make sure you know the [right base branch for your changes](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#branch-conventions), then:"
echo "- If the changes should go to the $testBranch branch, [change the base branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request) to $testBranch"
echo "- If the changes should go to the $baseBranch branch, rebase your PR onto the merge base with the $testBranch branch:"
echo " \`\`\`"
echo " git rebase --onto $prMergeBase $testMergeBase"
echo " git push --force-with-lease"
echo " \`\`\`"
log -e "\e[m"
exit 1
fi
done
log "Base branch is correct, no commits from development branches are included"

View File

@ -26,6 +26,8 @@ rec {
cooperlake = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "avx512" "fma" ];
tigerlake = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "avx512" "fma" ];
alderlake = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "fma" ];
sapphirerapids = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "avx512" "fma" ];
emeraldrapids = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" "avx2" "avx512" "fma" ];
# x86_64 AMD
btver1 = [ "sse3" "ssse3" "sse4_1" "sse4_2" ];
btver2 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
@ -73,6 +75,8 @@ rec {
cascadelake = [ "cannonlake" ] ++ inferiors.cannonlake;
cooperlake = [ "cascadelake" ] ++ inferiors.cascadelake;
tigerlake = [ "icelake-server" ] ++ inferiors.icelake-server;
sapphirerapids = [ "tigerlake" ] ++ inferiors.tigerlake;
emeraldrapids = [ "sapphirerapids" ] ++ inferiors.sapphirerapids;
# CX16 does not exist on alderlake, while it does on nearly all other intel CPUs
alderlake = [ ];

View File

@ -20781,6 +20781,12 @@
githubId = 18656090;
name = "Yuki Takagi";
};
takeda = {
name = "Derek Kuliński";
email = "d@kulinski.us";
github = "takeda";
githubId = 411978;
};
taketwo = {
email = "alexandrov88@gmail.com";
github = "taketwo";

View File

@ -64,6 +64,15 @@
- The OCaml-based Xen Store can now be configured using [`virtualisation.xen.store.settings`](#opt-virtualisation.xen.store.settings).
- The `virtualisation.xen.bridge` options have been deprecated in this release cycle. Users who need network bridges are encouraged to set up their own networking configurations.
- A new option [`systemd.enableStrictShellChecks`](#opt-systemd.enableStrictShellChecks) has been added. When enabled, all systemd scripts generated by NixOS will
be checked with [shellcheck](https://www.shellcheck.net) and any errors or warnings will cause the build to fail.
This affects all scripts that have been created through the `script`, `reload`, `preStart`, `postStart`, `preStop` and `postStop` options for systemd services.
This does not affect commandlines passed directly to `ExecStart`, `ExecReload`, `ExecStartPre`, `ExecStartPost`, `ExecStop` or `ExecStopPost`.
It therefore also does not affect systemd units that are coming from packages and that are not defined through the NixOS config.
This option is disabled by default, and although some services have already been fixed, it is still likely that you will encounter build failures when enabling this.
We encourage people to enable this option when they are willing and able to submit fixes for potential build failures to nixpkgs.
The option can also be enabled or disabled for individual services using the `enableStrictShellChecks` option on the service itself, which will take precedence over the global setting.
## New Modules {#sec-release-24.11-new-modules}
- [TaskChampion Sync-Server](https://github.com/GothenburgBitFactory/taskchampion-sync-server), a [Taskwarrior 3](https://taskwarrior.org/docs/upgrade-3/) sync server, replacing Taskwarrior 2's sync server named [`taskserver`](https://github.com/GothenburgBitFactory/taskserver).
@ -514,6 +523,8 @@
- The `lsh` package and the `services.lshd` module have been removed as they had no maintainer in Nixpkgs and hadnt seen an upstream release in over a decade. It is recommended to migrate to `openssh` and `services.openssh`.
- `ceph` has been upgraded to v19. See the [Ceph "squid" release notes](https://docs.ceph.com/en/latest/releases/squid/#v19-2-0-squid) for details and recommended upgrade procedure.
- `opencv2` and `opencv3` have been removed, as they are obsolete and
were not used by any other package. External users are encouraged to
migrate to OpenCV 4.
@ -595,6 +606,8 @@
- `nixosTests` now provide a working IPv6 setup for VLAN 1 by default.
- `services.dhcpcd` is now started with additional systemd sandbox/hardening options for better security. When using `networking.dhcpcd.runHook` these settings are not applied.
- Kanidm can now be provisioned using the new [`services.kanidm.provision`] option, but requires using a patched version available via `pkgs.kanidm.withSecretProvisioning`.
- Kanidm previously had an incorrect systemd service type, causing dependent units with an `after` and `requires` directive to start before `kanidm*` finished startup. The module has now been updated in line with upstream recommendations.

View File

@ -386,18 +386,27 @@ in rec {
''}
''; # */
makeJobScript = name: text:
makeJobScript = { name, text, enableStrictShellChecks }:
let
scriptName = replaceStrings [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
out = (pkgs.writeShellScriptBin scriptName ''
set -e
${text}
'').overrideAttrs (_: {
out = (
if ! enableStrictShellChecks then
pkgs.writeShellScriptBin scriptName ''
set -e
${text}
''
else
pkgs.writeShellApplication {
name = scriptName;
inherit text;
}
).overrideAttrs (_: {
# The derivation name is different from the script file name
# to keep the script file name short to avoid cluttering logs.
name = "unit-script-${scriptName}";
});
in "${out}/bin/${scriptName}";
in lib.getExe out;
unitConfig = { config, name, options, ... }: {
config = {
@ -448,10 +457,16 @@ in rec {
};
};
serviceConfig = { name, config, ... }: {
serviceConfig =
let
nixosConfig = config;
in
{ name, lib, config, ... }: {
config = {
name = "${name}.service";
environment.PATH = mkIf (config.path != []) "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
enableStrictShellChecks = lib.mkOptionDefault nixosConfig.systemd.enableStrictShellChecks;
};
};

View File

@ -17,6 +17,7 @@ let
concatMap
filterOverrides
isList
literalExpression
mergeEqualOption
mkIf
mkMerge
@ -357,6 +358,14 @@ in rec {
'';
};
enableStrictShellChecks = mkOption {
type = types.bool;
description = "Enable running shellcheck on the generated scripts for this unit.";
# The default gets set in systemd-lib.nix because we don't have access to
# the full NixOS config here.
defaultText = literalExpression "config.systemd.enableStrictShellChecks";
};
script = mkOption {
type = types.lines;
default = "";
@ -428,27 +437,51 @@ in rec {
config = mkMerge [
(mkIf (config.preStart != "") rec {
jobScripts = makeJobScript "${name}-pre-start" config.preStart;
jobScripts = makeJobScript {
name = "${name}-pre-start";
text = config.preStart;
inherit (config) enableStrictShellChecks;
};
serviceConfig.ExecStartPre = [ jobScripts ];
})
(mkIf (config.script != "") rec {
jobScripts = makeJobScript "${name}-start" config.script;
jobScripts = makeJobScript {
name = "${name}-start";
text = config.script;
inherit (config) enableStrictShellChecks;
};
serviceConfig.ExecStart = jobScripts + " " + config.scriptArgs;
})
(mkIf (config.postStart != "") rec {
jobScripts = (makeJobScript "${name}-post-start" config.postStart);
jobScripts = makeJobScript {
name = "${name}-post-start";
text = config.postStart;
inherit (config) enableStrictShellChecks;
};
serviceConfig.ExecStartPost = [ jobScripts ];
})
(mkIf (config.reload != "") rec {
jobScripts = makeJobScript "${name}-reload" config.reload;
jobScripts = makeJobScript {
name = "${name}-reload";
text = config.reload;
inherit (config) enableStrictShellChecks;
};
serviceConfig.ExecReload = jobScripts;
})
(mkIf (config.preStop != "") rec {
jobScripts = makeJobScript "${name}-pre-stop" config.preStop;
jobScripts = makeJobScript {
name = "${name}-pre-stop";
text = config.preStop;
inherit (config) enableStrictShellChecks;
};
serviceConfig.ExecStop = jobScripts;
})
(mkIf (config.postStop != "") rec {
jobScripts = makeJobScript "${name}-post-stop" config.postStop;
jobScripts = makeJobScript {
name = "${name}-post-stop";
text = config.postStop;
inherit (config) enableStrictShellChecks;
};
serviceConfig.ExecStopPost = jobScripts;
})
];

View File

@ -265,6 +265,7 @@ in
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RemoveIPC = true;
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" "AF_PACKET" ];
@ -276,6 +277,7 @@ in
"~@aio" "~@chown" "~@keyring" "~@memlock"
];
SystemCallArchitectures = "native";
UMask = "0027";
};
};

View File

@ -197,6 +197,8 @@ in
package = mkPackageOption pkgs "systemd" {};
enableStrictShellChecks = mkEnableOption "running shellcheck on the generated scripts for systemd units.";
units = mkOption {
description = "Definition of systemd units; see {manpage}`systemd.unit(5)`.";
default = {};

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "praat";
version = "6.4.21";
version = "6.4.22";
src = fetchFromGitHub {
owner = "praat";
repo = "praat";
rev = "v${finalAttrs.version}";
hash = "sha256-2OeipesVdonv1XACbt9o99M9bxzxE0WQzCU2KWJmuzQ=";
hash = "sha256-bKWjazCCOIJm+VCAcnQGj3s0bbN4Ahx3RMNuLxZENXA=";
};
nativeBuildInputs = [

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "openvi";
version = "7.5.29";
version = "7.6.30";
src = fetchFromGitHub {
owner = "johnsonjh";
repo = "OpenVi";
rev = version;
hash = "sha256-ukNgTtVrYkL7Bf7O7ERyQ9TOR8ss/EHCTMbzHi3tkG4=";
hash = "sha256-P4w/PM9UmHmTzS9+WDK3x3MyZ7OoY2yO/Rx0vRMJuLI=";
};
buildInputs = [ ncurses perl ];

File diff suppressed because it is too large Load Diff

View File

@ -38,12 +38,12 @@
};
apex = buildGrammar {
language = "apex";
version = "0.0.0+rev=69330ef";
version = "0.0.0+rev=943a3eb";
src = fetchFromGitHub {
owner = "aheber";
repo = "tree-sitter-sfapex";
rev = "69330ef89fb6b7b2dd16b639d86811e9262c7369";
hash = "sha256-OO+KttgnPk18EtYmxNphn3if2p3QRNRrXQTYZOmmglc=";
rev = "943a3eb7f55733929ccafe06841087c3004cb4e0";
hash = "sha256-eTdNxvK3vcC7MiE5g0DgptuChYs7fv+WjEmxhwmUI4U=";
};
location = "apex";
meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
@ -614,12 +614,12 @@
};
erlang = buildGrammar {
language = "erlang";
version = "0.0.0+rev=0dfcdf1";
version = "0.0.0+rev=f1919a3";
src = fetchFromGitHub {
owner = "WhatsApp";
repo = "tree-sitter-erlang";
rev = "0dfcdf18b35dd9cfcf92be42659794d07d819d88";
hash = "sha256-vGJrlugqmDHKMQtoDoFIyPMzWWZE8kUySBKEMDd8Kw0=";
rev = "f1919a34af3a9c79402c4a3d6c52986e9c2ea949";
hash = "sha256-0e01hr/QDZI+NSRoiTSQZftvpdCHKc6ZkEyxxbKIQyA=";
};
meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang";
};
@ -735,12 +735,12 @@
};
fsharp = buildGrammar {
language = "fsharp";
version = "0.0.0+rev=f920105";
version = "0.0.0+rev=5202637";
src = fetchFromGitHub {
owner = "ionide";
repo = "tree-sitter-fsharp";
rev = "f920105eec2d574eb911d7a25c81cdaa079a3f72";
hash = "sha256-iBuxpTtVkd9KiVLiTWrPgTbkZP7Go5V8KhZVsCCUimE=";
rev = "5202637c203fcf8876affbd18b04ff43256d4c4a";
hash = "sha256-OjCwEhTACaVcnR/NyfUGZN/juLUHgqY6h+3DSrqUuiQ=";
};
location = "fsharp";
meta.homepage = "https://github.com/ionide/tree-sitter-fsharp";
@ -1309,12 +1309,12 @@
};
java = buildGrammar {
language = "java";
version = "0.0.0+rev=245b05c";
version = "0.0.0+rev=490d878";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-java";
rev = "245b05c6ba900fa708242835f6168ef76f9d951e";
hash = "sha256-C87uMEIoqXr6bYLCJAq6aiXsfH4+srVbNx7bMV9rseM=";
rev = "490d878cf33b0ad5ae7a7253ff30597a5bdc348e";
hash = "sha256-spf6dl7wvWuhJyhxwVU2YBLzt5xyNQDcBkk9g5cBiNQ=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
};
@ -1485,12 +1485,12 @@
};
latex = buildGrammar {
language = "latex";
version = "0.0.0+rev=1e4e303";
version = "0.0.0+rev=87e4059";
src = fetchFromGitHub {
owner = "latex-lsp";
repo = "tree-sitter-latex";
rev = "1e4e30342b7a3b3a24886a632fbac53035d98871";
hash = "sha256-A2uvHRoe9xtgsHSLYdZiztGLXdqXzsfw4BYeZ/Cmr4k=";
rev = "87e4059f01bed363230dc349f794ce4cc580e862";
hash = "sha256-bUTJuwqdQ1htZQnxy3/fEm9zE7G5WDjiDib/iRteLTo=";
};
generate = true;
meta.homepage = "https://github.com/latex-lsp/tree-sitter-latex";
@ -1697,12 +1697,12 @@
};
mlir = buildGrammar {
language = "mlir";
version = "0.0.0+rev=02af5a1";
version = "0.0.0+rev=ccf732d";
src = fetchFromGitHub {
owner = "artagnon";
repo = "tree-sitter-mlir";
rev = "02af5a1a1cfa69a094e3136b10dfb602f968232e";
hash = "sha256-zCv47UvUIzdoJwQwKMrFyR1eMdU6ScSGfODdXomBapY=";
rev = "ccf732d3dbe6ca415a29b9be887c783111b297c7";
hash = "sha256-liYapDXD8R2nLHaDvynKAYvIfJPrXITVsn8IA/snclU=";
};
generate = true;
meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
@ -1742,12 +1742,12 @@
};
nickel = buildGrammar {
language = "nickel";
version = "0.0.0+rev=88d836a";
version = "0.0.0+rev=ddaa2bc";
src = fetchFromGitHub {
owner = "nickel-lang";
repo = "tree-sitter-nickel";
rev = "88d836a24b3b11c8720874a1a9286b8ae838d30a";
hash = "sha256-IvlUwNO/wLLPuqCZf0NtSxMdDx+4ASYYOobklY/97aQ=";
rev = "ddaa2bc22355effd97c0d6b09ff5962705c6368d";
hash = "sha256-jL054OJj+1eXksNYOTTTFzZjwPqTFp06syC3TInN8rc=";
};
meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
};
@ -1786,12 +1786,12 @@
};
nix = buildGrammar {
language = "nix";
version = "0.0.0+rev=fcf1857";
version = "0.0.0+rev=9ef77ce";
src = fetchFromGitHub {
owner = "cstrahan";
repo = "tree-sitter-nix";
rev = "fcf1857e254ab654e0fb73fe9706e33c52e79a5c";
hash = "sha256-ayiScuocBvhus3OUbQCSTxCdm/7+a61ATMpl3jFvCfY=";
rev = "9ef77ceefff61d31a63133d8d697f219ab62c841";
hash = "sha256-hBdruZbMKoPtcsoaMAVKsLJZree4WBiifRNCdzJLJUs=";
};
meta.homepage = "https://github.com/cstrahan/tree-sitter-nix";
};
@ -1943,24 +1943,24 @@
};
php = buildGrammar {
language = "php";
version = "0.0.0+rev=74c6b0d";
version = "0.0.0+rev=07a0459";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "74c6b0d560c2660db4d9e8c76b681f538d494160";
hash = "sha256-mJh8MILlVSjG3bOvYPw2Wc7XFhL+ozrdvcnr1qR6pZE=";
rev = "07a04599ed9ac97f82c6383a24ae139a807930f3";
hash = "sha256-Nd3v1UtM/LqxJlcLpp6Y057NR7L9XJapfKdFC5b4SQw=";
};
location = "php";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
};
php_only = buildGrammar {
language = "php_only";
version = "0.0.0+rev=74c6b0d";
version = "0.0.0+rev=07a0459";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "74c6b0d560c2660db4d9e8c76b681f538d494160";
hash = "sha256-mJh8MILlVSjG3bOvYPw2Wc7XFhL+ozrdvcnr1qR6pZE=";
rev = "07a04599ed9ac97f82c6383a24ae139a807930f3";
hash = "sha256-Nd3v1UtM/LqxJlcLpp6Y057NR7L9XJapfKdFC5b4SQw=";
};
location = "php_only";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
@ -2311,12 +2311,12 @@
};
readline = buildGrammar {
language = "readline";
version = "0.0.0+rev=3d4768b";
version = "0.0.0+rev=74addc9";
src = fetchFromGitHub {
owner = "ribru17";
repo = "tree-sitter-readline";
rev = "3d4768b04d7cfaf40533e12b28672603428b8f31";
hash = "sha256-kky3u5+NGOlxx8RxeMNszG+XJ6D36+z2us9c0nK/Jds=";
rev = "74addc90fc539d31d413c0c7cf7581997a7fa46e";
hash = "sha256-cbQnAPtgMnA41CTI9OyY8WYvdlJOC9g0ZMbitNSvtmI=";
};
meta.homepage = "https://github.com/ribru17/tree-sitter-readline";
};
@ -2432,12 +2432,12 @@
};
ruby = buildGrammar {
language = "ruby";
version = "0.0.0+rev=a66579f";
version = "0.0.0+rev=0b47296";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-ruby";
rev = "a66579f70d6f50ffd81a16fc3d3358e2ac173c88";
hash = "sha256-ApuNco5q0hq4/36D7yWv87+d3h33Y9pKtdTUox4tIiw=";
rev = "0b4729672f9aec4810c01a0f971541dcb433fef5";
hash = "sha256-+FH/L028b/rpKypu0zdUoMYWiYMVkUIZXM3lmmN+nak=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
};
@ -2454,12 +2454,12 @@
};
scala = buildGrammar {
language = "scala";
version = "0.0.0+rev=ec13dd6";
version = "0.0.0+rev=2cfbb6e";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-scala";
rev = "ec13dd674bb8dd89213e0d6b1fe45efb68d5878f";
hash = "sha256-ireSo04kG2RMlCZD1hf6BJcjT7eXjYdOqOsoMtQAwKQ=";
rev = "2cfbb6e3fcdfd51e0d477a43cc37ae8c6f87dc2e";
hash = "sha256-8s5Li+fuHyr19KYaC/UzXc7ASLimwAu1VS+8lc5rNLA=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
};
@ -2499,12 +2499,12 @@
};
sflog = buildGrammar {
language = "sflog";
version = "0.0.0+rev=69330ef";
version = "0.0.0+rev=943a3eb";
src = fetchFromGitHub {
owner = "aheber";
repo = "tree-sitter-sfapex";
rev = "69330ef89fb6b7b2dd16b639d86811e9262c7369";
hash = "sha256-OO+KttgnPk18EtYmxNphn3if2p3QRNRrXQTYZOmmglc=";
rev = "943a3eb7f55733929ccafe06841087c3004cb4e0";
hash = "sha256-eTdNxvK3vcC7MiE5g0DgptuChYs7fv+WjEmxhwmUI4U=";
};
location = "sflog";
meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
@ -2522,12 +2522,12 @@
};
slint = buildGrammar {
language = "slint";
version = "0.0.0+rev=34ccfd5";
version = "0.0.0+rev=4e2765d";
src = fetchFromGitHub {
owner = "slint-ui";
repo = "tree-sitter-slint";
rev = "34ccfd58d3baee7636f62d9326f32092264e8407";
hash = "sha256-2R+TxjM3Pd2a9pyr2SwZd9+YYj1o8KsS+4n5dFxEMMM=";
rev = "4e2765d4cac1f03ada6f635eeb6008d1d0aff5a3";
hash = "sha256-cEitYvrK9P5McbqQAH/PmbD5W0pYULwj3eP9lKXSOTE=";
};
meta.homepage = "https://github.com/slint-ui/tree-sitter-slint";
};
@ -2577,24 +2577,24 @@
};
soql = buildGrammar {
language = "soql";
version = "0.0.0+rev=69330ef";
version = "0.0.0+rev=943a3eb";
src = fetchFromGitHub {
owner = "aheber";
repo = "tree-sitter-sfapex";
rev = "69330ef89fb6b7b2dd16b639d86811e9262c7369";
hash = "sha256-OO+KttgnPk18EtYmxNphn3if2p3QRNRrXQTYZOmmglc=";
rev = "943a3eb7f55733929ccafe06841087c3004cb4e0";
hash = "sha256-eTdNxvK3vcC7MiE5g0DgptuChYs7fv+WjEmxhwmUI4U=";
};
location = "soql";
meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
};
sosl = buildGrammar {
language = "sosl";
version = "0.0.0+rev=69330ef";
version = "0.0.0+rev=943a3eb";
src = fetchFromGitHub {
owner = "aheber";
repo = "tree-sitter-sfapex";
rev = "69330ef89fb6b7b2dd16b639d86811e9262c7369";
hash = "sha256-OO+KttgnPk18EtYmxNphn3if2p3QRNRrXQTYZOmmglc=";
rev = "943a3eb7f55733929ccafe06841087c3004cb4e0";
hash = "sha256-eTdNxvK3vcC7MiE5g0DgptuChYs7fv+WjEmxhwmUI4U=";
};
location = "sosl";
meta.homepage = "https://github.com/aheber/tree-sitter-sfapex";
@ -2678,12 +2678,12 @@
};
styled = buildGrammar {
language = "styled";
version = "0.0.0+rev=b729198";
version = "0.0.0+rev=764af55";
src = fetchFromGitHub {
owner = "mskelton";
repo = "tree-sitter-styled";
rev = "b729198642b3058d4ea0f864d86efb271d594595";
hash = "sha256-9hj6l3eI5p7q1XQihM19deb7+TdLVscIM31TbDRcqo8=";
rev = "764af55fc6b8e5ae177eb272f5c5de6238db23e6";
hash = "sha256-Zh35KWOYQbtsG3/F7g68dniBu5UZTA6ZuiX2GA0E2ww=";
};
meta.homepage = "https://github.com/mskelton/tree-sitter-styled";
};
@ -2698,6 +2698,18 @@
};
meta.homepage = "https://github.com/madskjeldgaard/tree-sitter-supercollider";
};
superhtml = buildGrammar {
language = "superhtml";
version = "0.0.0+rev=b684bbe";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "superhtml";
rev = "b684bbe28ecd740a7110ead5674355770186ca9c";
hash = "sha256-9Aw51LvTIBzptXuW3rEco/wTOdSADEhWJ/sI9OHr854=";
};
location = "tree-sitter-superhtml";
meta.homepage = "https://github.com/kristoff-it/superhtml";
};
surface = buildGrammar {
language = "surface";
version = "0.0.0+rev=f4586b3";
@ -2722,12 +2734,12 @@
};
swift = buildGrammar {
language = "swift";
version = "0.0.0+rev=032930d";
version = "0.0.0+rev=1466855";
src = fetchFromGitHub {
owner = "alex-pinkus";
repo = "tree-sitter-swift";
rev = "032930d6218d8ae23bde074cf29ce8d276b87533";
hash = "sha256-VhQ+OwkqOVJH9/R2eDVkCJbmh50EmZjVGX8Pk4uMGBw=";
rev = "14668554259c5a82fc0c8ca825aa3bb895034c67";
hash = "sha256-+coXjHJSa5jKOx3DE4zD4Crqp8NWn8jcsrK/eEgZQtk=";
};
generate = true;
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@ -2789,12 +2801,12 @@
};
tact = buildGrammar {
language = "tact";
version = "0.0.0+rev=d168040";
version = "0.0.0+rev=09c57b6";
src = fetchFromGitHub {
owner = "tact-lang";
repo = "tree-sitter-tact";
rev = "d16804029968f53f26f5afc695166a55bb0b68b2";
hash = "sha256-naug7uJeMQ8mFje6ZgOJ/3AbPlCOrCUak0u1RQ25Ky4=";
rev = "09c57b6b9759560b4d067e0546c9953ee0e065da";
hash = "sha256-WyCBuWPTYzNEApxtACTNt7StYoaSXIR9oqrOUlIquOY=";
};
meta.homepage = "https://github.com/tact-lang/tree-sitter-tact";
};
@ -2823,12 +2835,12 @@
};
templ = buildGrammar {
language = "templ";
version = "0.0.0+rev=80d1a04";
version = "0.0.0+rev=e3e894e";
src = fetchFromGitHub {
owner = "vrischmann";
repo = "tree-sitter-templ";
rev = "80d1a04e6bf3ced1c924bcb05527aa2eaf3f6239";
hash = "sha256-BY+j+0kMWxGbtwFk96SWHZA9ugRz6E7pRZOOM5j1XKA=";
rev = "e3e894ef9e490c3d36d94a51458ec55480991730";
hash = "sha256-uuPK/bWAAaoVGvWk4so+AulpaI1KAsyZwe5FzmPqWrg=";
};
meta.homepage = "https://github.com/vrischmann/tree-sitter-templ";
};
@ -2846,12 +2858,12 @@
};
textproto = buildGrammar {
language = "textproto";
version = "0.0.0+rev=8dacf02";
version = "0.0.0+rev=d900077";
src = fetchFromGitHub {
owner = "PorterAtGoogle";
repo = "tree-sitter-textproto";
rev = "8dacf02aa402892c91079f8577998ed5148c0496";
hash = "sha256-MpQTrNjjNO2Bj5qR6ESwI9SZtJPmcS6ckqjAR0qaLx8=";
rev = "d900077aef9f5dcb0d47c86be33585013ed5db9a";
hash = "sha256-PZMhYhIpGa7Y50jxvXZ0Z5l9e26P5q55sC18ptDi/uU=";
};
meta.homepage = "https://github.com/PorterAtGoogle/tree-sitter-textproto";
};
@ -2879,12 +2891,12 @@
};
tlaplus = buildGrammar {
language = "tlaplus";
version = "0.0.0+rev=b9e3978";
version = "0.0.0+rev=da9cf97";
src = fetchFromGitHub {
owner = "tlaplus-community";
repo = "tree-sitter-tlaplus";
rev = "b9e3978f363b3f8884c886a01d15e41bd14d30bd";
hash = "sha256-xC0iA7QvU/72RoqyW5oPmbVkTszPNraacwW6N8TELwo=";
rev = "da9cf9793686e236327aadfbad449414c895bf84";
hash = "sha256-VlYgKg9K/veFqxHWqF3nEYsrRGub2xK9txFK71Kn9JA=";
};
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
};
@ -3003,12 +3015,12 @@
};
typst = buildGrammar {
language = "typst";
version = "0.0.0+rev=abe60cb";
version = "0.0.0+rev=8b8b16e";
src = fetchFromGitHub {
owner = "uben0";
repo = "tree-sitter-typst";
rev = "abe60cbed7986ee475d93f816c1be287f220c5d8";
hash = "sha256-hwM1oEzABe9sqY0mpDXSfwT+tQsLV5ZNSG8yJhES6Qg=";
rev = "8b8b16ef1b40cbecbe3f754b1c1c966b5a0904fe";
hash = "sha256-eoaIt5yy0mIodjYq1sy6X7uq4ZhQXlbndMThAlCAifs=";
};
meta.homepage = "https://github.com/uben0/tree-sitter-typst";
};
@ -3036,12 +3048,12 @@
};
unison = buildGrammar {
language = "unison";
version = "0.0.0+rev=59d36a0";
version = "0.0.0+rev=bc06e1e";
src = fetchFromGitHub {
owner = "kylegoetz";
repo = "tree-sitter-unison";
rev = "59d36a09282be7e4d3374854126590f3dcebee6e";
hash = "sha256-89vFguMlPfKzQ4nmMNdTNFcEiCYH0eSws87Llm88e+I=";
rev = "bc06e1eb100e1c0fab9bd89a9ca55d646ac80fc4";
hash = "sha256-NbsUvRkFRd/khn37qYmPvq9ynzFvnr1zhwh8zPDIjxE=";
};
generate = true;
meta.homepage = "https://github.com/kylegoetz/tree-sitter-unison";
@ -3070,12 +3082,12 @@
};
v = buildGrammar {
language = "v";
version = "0.0.0+rev=4f93826";
version = "0.0.0+rev=bc5b3ca";
src = fetchFromGitHub {
owner = "vlang";
repo = "v-analyzer";
rev = "4f93826aeb31066eb241f4ccbca61f052239803f";
hash = "sha256-Tl4q6QksNu7Pm0Pt8rJka6o55LNN2GN6zK732XmLXb8=";
rev = "bc5b3caa85f7a8d4597f51aeaf92b83162ed6b33";
hash = "sha256-44WUptfNjp4hsHa3BQLdzjRIiCyppzNNOqoqU/rJGNA=";
};
location = "tree_sitter_v";
meta.homepage = "https://github.com/vlang/v-analyzer";
@ -3214,12 +3226,12 @@
};
wit = buildGrammar {
language = "wit";
version = "0.0.0+rev=c52f0b0";
version = "0.0.0+rev=81490b4";
src = fetchFromGitHub {
owner = "liamwh";
repo = "tree-sitter-wit";
rev = "c52f0b07786603df17ad0197f6cef680f312eb2c";
hash = "sha256-0MyRMippVOdb0RzyJQhPwX7GlWzFV9Z+/mghYuUW7NU=";
rev = "81490b4e74c792369e005f72b0d46fe082d3fed2";
hash = "sha256-L8dIOVJ3L2TXg1l4BXMOQeOsNxVkGPZimG619n3kHZE=";
};
meta.homepage = "https://github.com/liamwh/tree-sitter-wit";
};
@ -3301,4 +3313,28 @@
};
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-zig";
};
ziggy = buildGrammar {
language = "ziggy";
version = "0.0.0+rev=42b6f5d";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "ziggy";
rev = "42b6f5d7320340bc5903c4c29d34065e8517a549";
hash = "sha256-08y6Km7tO9YhJBmWXvPVjiku1QRRNcmJ2h2EbMa6Q/g=";
};
location = "tree-sitter-ziggy";
meta.homepage = "https://github.com/kristoff-it/ziggy";
};
ziggy_schema = buildGrammar {
language = "ziggy_schema";
version = "0.0.0+rev=42b6f5d";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "ziggy";
rev = "42b6f5d7320340bc5903c4c29d34065e8517a549";
hash = "sha256-08y6Km7tO9YhJBmWXvPVjiku1QRRNcmJ2h2EbMa6Q/g=";
};
location = "tree-sitter-ziggy-schema";
meta.homepage = "https://github.com/kristoff-it/ziggy";
};
}

View File

@ -263,6 +263,10 @@ in
dependencies = with self; [ nvim-cmp copilot-vim ];
};
cmp-ctags = super.cmp-ctags.overrideAttrs {
dependencies = with self; [ nvim-cmp ];
};
cmp-dap = super.cmp-dap.overrideAttrs {
dependencies = with self; [ nvim-cmp nvim-dap ];
};
@ -380,12 +384,12 @@ in
codeium-nvim = let
# Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json
codeiumVersion = "1.16.18";
codeiumVersion = "1.20.9";
codeiumHashes = {
x86_64-linux = "sha256-/m+t4abPgVWeGpfDkPm5DGCIXm1LoM5znHfES9lotAo=";
aarch64-linux = "sha256-0kR799yuxSFmyedJ14f5/EqOiFHs9cWjeJKvDIpIRl0=";
x86_64-darwin = "sha256-7Go5qZVAe2UHn547HZG4fmh84iF2r15+0IIlJK72Fqg=";
aarch64-darwin = "sha256-fe4GrgLRr66Qmme3p0X5BEwvKZhqG1aiE8xs5A1Dt6E=";
x86_64-linux = "sha256-IeNK7UQtOhqC/eQv7MAya4jB1WIGykSR7IgutZatmHM=";
aarch64-linux = "sha256-ujTFki/3V79El2WCkG0PJhbaMT0knC9mrS9E7Uv9HD4=";
x86_64-darwin = "sha256-r2KloEQsUku9sk8h76kwyQuMTHcq/vwfTSK2dkiXDzE=";
aarch64-darwin = "sha256-1jNH0Up8mAahDgvPF6g42LV+RVDVsPqDM54lE2KYY48=";
};
codeium' = codeium.overrideAttrs rec {

View File

@ -146,6 +146,7 @@ https://github.com/dmitmel/cmp-cmdline-history/,HEAD,
https://github.com/PaterJason/cmp-conjure/,,
https://github.com/davidsierradz/cmp-conventionalcommits/,HEAD,
https://github.com/hrsh7th/cmp-copilot/,HEAD,
https://github.com/delphinus/cmp-ctags/,HEAD,
https://github.com/rcarriga/cmp-dap/,HEAD,
https://github.com/uga-rosa/cmp-dictionary/,HEAD,
https://github.com/dmitmel/cmp-digraphs/,HEAD,

View File

@ -49,13 +49,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "7.1.1-38";
version = "7.1.1-39";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = finalAttrs.version;
hash = "sha256-dyk9kCH1w76Jhy/yBhVFLthTKYaMgXLBn7QGWAFS0XU=";
hash = "sha256-3NUl0q/j3dBdNBtLH+69vh0elobBnTOvqQpC/2KwGBU=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big

View File

@ -14,13 +14,13 @@
python310Packages.buildPythonApplication rec {
pname = "nwg-displays";
version = "0.3.21";
version = "0.3.22";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-displays";
rev = "refs/tags/v${version}";
hash = "sha256-aVQSWvQTRdz5R9uEXU4CvveRaPdehcL7hrXwFoPCEyI=";
hash = "sha256-lTFei4NR8eu5/5V9MEc/k6qQYRRZkQ5m6B7Bx9xIS6c=";
};
nativeBuildInputs = [

View File

@ -1,18 +1,18 @@
{
"airgap-images-amd64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.13%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1v3vyrb86xijyvljs0s0skhxpjbarjqg2sx9m40332dfq9din7xq"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.14%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "0rydihys7r9sscl7bv2ixbs3b25jjxr9rsgzz5nwgz6ncsr6nn7v"
},
"airgap-images-arm": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.13%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "0yifpx6vix5bjzkz81i5rsn89hkpp0rhk77ndl1lgy66pq4csbmm"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.14%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "036inn29k2c0wdbkxxh4fl6gs2g2wckv7856n7dhy791j33v8v0f"
},
"airgap-images-arm64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.13%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "1p8zf47pghhjqhrcvmzdbcfxxy78pjpqwvmhm3wdidsa8xyy375a"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.14%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "107s3imimc3gg8hmahihqc8930yzqcgxly7rhjia1z76vskswhpx"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.13%2Bk3s1/k3s-images.txt",
"sha256": "1f1d33jn4g5b6zmzdzzm4ffwfrmjwh60v9gnph0ysxjwsq1k0pxp"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.14%2Bk3s1/k3s-images.txt",
"sha256": "1l71xhcj2z9fz3mn89iyyxznrgk59qgng549iq3zc8w3l0hl0qry"
}
}

View File

@ -1,15 +1,15 @@
{
k3sVersion = "1.28.13+k3s1";
k3sCommit = "47737e1c4c941325574e8aa14e4a3af2e596f696";
k3sRepoSha256 = "1x66n36lxcvi5d9bdz0f1w2p24493rh3vbk1pskqd1f3v3fbv7kn";
k3sVendorHash = "sha256-/knBr0l7dZ6lX9QpohyPNrFEi4WQpNM01zOE5bCIB2E=";
k3sVersion = "1.28.14+k3s1";
k3sCommit = "3ef2bdb1e5ba667b735a65cbfa43229fd49230ef";
k3sRepoSha256 = "146xxpldp7bffn8sigfp9xjj8hw793ybp1xrfyb9s0bd85yxiw4x";
k3sVendorHash = "sha256-Y5s5lPP2bVGPHQPma3DJYYP91I3HQQoi+KbjEZpTr6w=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.14.0";
k3sRootSha256 = "15cs9faw3jishsb5nhgmb5ldjc47hkwf7hz2126fp8ahf80m0fcl";
k3sCNIVersion = "1.4.0-k3s2";
k3sCNISha256 = "17dg6jgjx18nrlyfmkv14dhzxsljz4774zgwz5dchxcf38bvarqa";
containerdVersion = "1.7.20-k3s2.28";
containerdSha256 = "0jqqa9202d94qd7g8d5zy161snlsc42cdjpmp50w4j3pnp2i1cki";
k3sCNIVersion = "1.5.1-k3s1";
k3sCNISha256 = "1bkz78p77aiw64hdvmlgc5zir9x8zha8qprfaab48jxbcsj3dfi7";
containerdVersion = "1.7.21-k3s2.28";
containerdSha256 = "00gdmd617mxf246m3mfz8if8snaciib4zdb7fm12mdhf52w031a6";
criCtlVersion = "1.26.0-rc.0-k3s1";
}

View File

@ -1,18 +1,18 @@
{
"airgap-images-amd64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.8%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1v3vyrb86xijyvljs0s0skhxpjbarjqg2sx9m40332dfq9din7xq"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.9%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "0z3k4pc5cg75krk391d9h74ankv20mfcswrhwhhfv208rcndd9w9"
},
"airgap-images-arm": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.8%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "0yifpx6vix5bjzkz81i5rsn89hkpp0rhk77ndl1lgy66pq4csbmm"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.9%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "0iy0xz8ypmgn48jh3b4hbnwl8iszdb35c2f6an115z86lnl7a9a3"
},
"airgap-images-arm64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.8%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "1p8zf47pghhjqhrcvmzdbcfxxy78pjpqwvmhm3wdidsa8xyy375a"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.9%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "1bjfd63jd7a1yhh796nmdh7jvw9mabsw5gajcx8ssqcxd4wwrdxb"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.8%2Bk3s1/k3s-images.txt",
"sha256": "1f1d33jn4g5b6zmzdzzm4ffwfrmjwh60v9gnph0ysxjwsq1k0pxp"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.9%2Bk3s1/k3s-images.txt",
"sha256": "1l71xhcj2z9fz3mn89iyyxznrgk59qgng549iq3zc8w3l0hl0qry"
}
}

View File

@ -1,15 +1,15 @@
{
k3sVersion = "1.29.8+k3s1";
k3sCommit = "33fdc35dd67cf6c07989327e992fd26ed89b2449";
k3sRepoSha256 = "0ky5f039nkhdj6y5v9yr6lk875l29c67j6kqc2dzdb3iqbwskcbr";
k3sVendorHash = "sha256-VxVGBvpeKf/nuw09Llf85d4P8oCD2GvD1f0Mxt6fMj8=";
k3sVersion = "1.29.9+k3s1";
k3sCommit = "e92d3b3ba7a4810e82e38a3d5c6091a3e18caad5";
k3sRepoSha256 = "1i4881nv41dpvxmh20qy121d45431xbhkzlywx1rfwqla8wq6bwh";
k3sVendorHash = "sha256-JeX9SJw6U1/FMbv9fVQeQvAZKq+Z99ZrLC2bAy1vUkA=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.14.0";
k3sRootSha256 = "15cs9faw3jishsb5nhgmb5ldjc47hkwf7hz2126fp8ahf80m0fcl";
k3sCNIVersion = "1.4.0-k3s2";
k3sCNISha256 = "17dg6jgjx18nrlyfmkv14dhzxsljz4774zgwz5dchxcf38bvarqa";
containerdVersion = "1.7.20-k3s1";
containerdSha256 = "12ihr3z8vcglv5b0v9ris29zkkkdvjbcp3bf7ym71a0xdbg83s8i";
k3sCNIVersion = "1.5.1-k3s1";
k3sCNISha256 = "1bkz78p77aiw64hdvmlgc5zir9x8zha8qprfaab48jxbcsj3dfi7";
containerdVersion = "1.7.21-k3s2";
containerdSha256 = "0kp93fhmw2kiy46hw3ag05z8xwhw7kqp4wcbhsxshsdf0929g539";
criCtlVersion = "1.29.0-k3s1";
}

View File

@ -1,18 +1,18 @@
{
"airgap-images-amd64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.4%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "145sj4gpwdjvfv3bphpdg6db1d83bbwl0shbnsqpjizsm3ifvmm9"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.5%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1fcdhhixxcbqxd8varz3vwz1qrkjpmxmwq74g14z7qafr7nqm757"
},
"airgap-images-arm": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.4%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "0sdkfsjxxi5sq0nxjw7g7r1p7711l74r39y5ss12q85q4sla0m7l"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.5%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "04d79m0lp8l53lgrpvhl6drn5jzdgjvaj32mcjq9y175f4knhiaw"
},
"airgap-images-arm64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.4%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "1kw85g79rywk6n3wda7ffvjhf030wwj8g3x8n73rgiprvksw4p7j"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.5%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "1grhh38x3mpj86fn487dfmhgdvbjf61mz8fg8sc9dcqhvpi8rr3w"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.4%2Bk3s1/k3s-images.txt",
"sha256": "1f1d33jn4g5b6zmzdzzm4ffwfrmjwh60v9gnph0ysxjwsq1k0pxp"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.5%2Bk3s1/k3s-images.txt",
"sha256": "1l71xhcj2z9fz3mn89iyyxznrgk59qgng549iq3zc8w3l0hl0qry"
}
}

View File

@ -1,15 +1,15 @@
{
k3sVersion = "1.30.4+k3s1";
k3sCommit = "98262b5dee29fe5ac849a0cef90b5d50292b020b";
k3sRepoSha256 = "1iwg7j0divbh41dx40kz69qkvscvppqb37dqvxayw3ha1yja4sq6";
k3sVendorHash = "sha256-EovTZ3DvDqWFR9vxhtjgcZcPXVk1C0PYNCxEV5XA6wg=";
k3sVersion = "1.30.5+k3s1";
k3sCommit = "9b586704a211264ca86b22f2a0b4617b00412235";
k3sRepoSha256 = "1fzpkfbk2x9xw9js9ns15g84c7q93knwx7fdmdj4af3830kplnnr";
k3sVendorHash = "sha256-fs9p6ywS5XCeJSF5ovDG40o+H4p4QmEJ0cvU5T9hwuA=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.14.0";
k3sRootSha256 = "15cs9faw3jishsb5nhgmb5ldjc47hkwf7hz2126fp8ahf80m0fcl";
k3sCNIVersion = "1.4.0-k3s2";
k3sCNISha256 = "17dg6jgjx18nrlyfmkv14dhzxsljz4774zgwz5dchxcf38bvarqa";
containerdVersion = "1.7.20-k3s1";
containerdSha256 = "12ihr3z8vcglv5b0v9ris29zkkkdvjbcp3bf7ym71a0xdbg83s8i";
k3sCNIVersion = "1.5.1-k3s1";
k3sCNISha256 = "1bkz78p77aiw64hdvmlgc5zir9x8zha8qprfaab48jxbcsj3dfi7";
containerdVersion = "1.7.21-k3s2";
containerdSha256 = "0kp93fhmw2kiy46hw3ag05z8xwhw7kqp4wcbhsxshsdf0929g539";
criCtlVersion = "1.29.0-k3s1";
}

View File

@ -1,18 +1,18 @@
{
"airgap-images-amd64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.0%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "13pakr8nxlbqhqcz40gyjncw4bghk7x7ryb2ynmr5airspqcdrl6"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1hq8bj2hlzbq9rhpx9ifidfkrzy1pknizksq641kazl7kv44wldy"
},
"airgap-images-arm": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.0%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "0vc2v89qy9gbzfbmfrdb0l5yzyprk7yma5ps0yfj60jd9av07qvh"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.1%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "1mp8k98mzzn7fpyqjyvia13v2jri37nn3fdqdq3gmxrbcqvkh15g"
},
"airgap-images-arm64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.0%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "10ffa45pm1scavcd5cimdaw29rlc55c9i40qzh3n3451g1yqlmmk"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.1%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "1gg30iln9grrw3qdwlqwcb0k1zafiwr2lj7vd64mmsm1fj057skw"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.0%2Bk3s1/k3s-images.txt",
"sha256": "0y4x02fj1iysghq6s88wsiqfpsajrrwrg89m59qk431cii23nrza"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.31.1%2Bk3s1/k3s-images.txt",
"sha256": "1l71xhcj2z9fz3mn89iyyxznrgk59qgng549iq3zc8w3l0hl0qry"
}
}

View File

@ -1,15 +1,15 @@
{
k3sVersion = "1.31.0+k3s1";
k3sCommit = "34be6d96d17d8d65fda86272b62b752cb0e9c45e";
k3sRepoSha256 = "16yzsx56jmca07jdnzjvy4pcfrvvibv987l1mzdaws1vkm3xqfnw";
k3sVendorHash = "sha256-1uYlvGkW6n4aiUVX/2OjppczdobY/fk1ZaK6j3AEwvM=";
k3sVersion = "1.31.1+k3s1";
k3sCommit = "452dbbc14c747a0070fdf007ef2239a6e5d8d934";
k3sRepoSha256 = "012j78bxhmjq7d0z0yzxzbvlhgzx9qi254cpk6s6mi3k60ay6bx2";
k3sVendorHash = "sha256-CnfnyqrBQ9W1G6NORGSA5jB75Dvd1Hgu+KVITYrb6Mc=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.14.0";
k3sRootSha256 = "15cs9faw3jishsb5nhgmb5ldjc47hkwf7hz2126fp8ahf80m0fcl";
k3sCNIVersion = "1.4.0-k3s2";
k3sCNISha256 = "17dg6jgjx18nrlyfmkv14dhzxsljz4774zgwz5dchxcf38bvarqa";
containerdVersion = "1.7.20-k3s1";
containerdSha256 = "12ihr3z8vcglv5b0v9ris29zkkkdvjbcp3bf7ym71a0xdbg83s8i";
k3sCNIVersion = "1.5.1-k3s1";
k3sCNISha256 = "1bkz78p77aiw64hdvmlgc5zir9x8zha8qprfaab48jxbcsj3dfi7";
containerdVersion = "1.7.21-k3s2";
containerdSha256 = "0kp93fhmw2kiy46hw3ag05z8xwhw7kqp4wcbhsxshsdf0929g539";
criCtlVersion = "1.31.0-k3s2";
}

View File

@ -1,15 +1,19 @@
# RKE2 Version
RKE2, Kubernetes, and other clustered software has the property of not being able to update atomically. Most software in nixpkgs, like for example bash, can be updated as part of a `nixos-rebuild switch` without having to worry about the old and the new bash interacting in some way.
RKE2, Kubernetes, and other clustered software has the property of not being able to update atomically.
Most software in nixpkgs, like for example bash, can be updated as part of a `nixos-rebuild switch`
without having to worry about the old and the new bash interacting in some way.
> [!NOTE]
> Upgrade the server nodes first, one at a time. Once all servers have been upgraded, you may then upgrade agent nodes.
## Release Channels
RKE2 has there own release channels, which are: `stable`, `latest` and `testing`.
RKE2 has three main release channels, which are: `stable`, `latest` and `testing`.
The `stable` channel is the default channel and is recommended for production use. The `latest` channel is the latest stable release. The `testing` channel is the latest release, including pre-releases.
The `stable` channel is the default channel and is recommended for production use.
The `latest` channel is the latest release.
The `testing` channel is the latest release, including pre-releases.
| Channel | Description |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@ -19,7 +23,12 @@ The `stable` channel is the default channel and is recommended for production us
Learn more about the [RKE2 release channels](https://docs.rke2.io/upgrade/manual_upgrade).
For an exhaustive and up-to-date list of channels, you can visit the [rke2 channel service API](https://update.rke2.io/v1-release/channels). For more technical details on how channels work, you can see the [channelserver project](https://github.com/rancher/channelserver).
For an exhaustive and up-to-date list of channels, you can visit the
[rke2 channel service API](https://update.rke2.io/v1-release/channels).
For more technical details on how channels work, you can see the [channelserver project](https://github.com/rancher/channelserver).
> [!TIP]
> When attempting to upgrade to a new version of RKE2, the [Kubernetes version skew policy](https://kubernetes.io/docs/setup/release/version-skew-policy) applies. Ensure that your plan does not skip intermediate minor versions when upgrading. Nothing in the upgrade process will protect against unsupported changes to the Kubernetes version.
> When attempting to upgrade to a new version of RKE2,
> the [Kubernetes version skew policy](https://kubernetes.io/docs/setup/release/version-skew-policy) applies.
> Ensure that your plan **does not skip intermediate minor versions** when upgrading. Nothing in the upgrade process will
> protect you against unsupported changes to the Kubernetes version.

View File

@ -1,8 +1,8 @@
lib: { rke2Version, rke2RepoSha256, rke2VendorHash, updateScript
lib: { rke2Version, rke2Commit, rke2TarballHash, rke2VendorHash, updateScript
, k8sImageTag, etcdVersion, pauseVersion, ccmVersion, dockerizedVersion, ... }:
, rke2Commit, k8sImageTag, etcdVersion, pauseVersion, ccmVersion, dockerizedVersion, ... }:
{ lib, stdenv, buildGoModule, go, fetchgit, makeWrapper
# Build dependencies
{ lib, stdenv, buildGoModule, go, makeWrapper, fetchzip
# Runtime dependencies
, procps, coreutils, util-linux, ethtool, socat, iptables, bridge-utils, iproute2, kmod, lvm2
@ -18,10 +18,9 @@ buildGoModule rec {
pname = "rke2";
version = rke2Version;
src = fetchgit {
url = "https://github.com/rancher/rke2.git";
rev = "v${version}";
sha256 = rke2RepoSha256;
src = fetchzip {
url = "https://github.com/rancher/rke2/archive/refs/tags/v${rke2Version}.tar.gz";
hash = "${rke2TarballHash}";
};
vendorHash = rke2VendorHash;
@ -52,7 +51,7 @@ buildGoModule rec {
"-X github.com/k3s-io/k3s/pkg/version.Version=v${version}"
"-X github.com/k3s-io/k3s/pkg/version.UpstreamGolang=go${go.version}"
"-X github.com/rancher/rke2/pkg/images.DefaultRegistry=docker.io"
"-X github.com/rancher/rke2/pkg/images.DefaultEtcdImage=rancher/hardened-etcd:${etcdVersion}-build20240418"
"-X github.com/rancher/rke2/pkg/images.DefaultEtcdImage=rancher/hardened-etcd:${etcdVersion}"
"-X github.com/rancher/rke2/pkg/images.DefaultKubernetesImage=rancher/hardened-kubernetes:${k8sImageTag}"
"-X github.com/rancher/rke2/pkg/images.DefaultPauseImage=rancher/mirrored-pause:${pauseVersion}"
"-X github.com/rancher/rke2/pkg/images.DefaultRuntimeImage=rancher/rke2-runtime:${dockerizedVersion}"

View File

@ -1,14 +1,14 @@
{
rke2Version = "1.31.0+rke2r1";
rke2RepoSha256 = "1xf7yhpfwiydhl31dd8wc2bhq0j470ad8vazjzzsl76skcy07rbc";
rke2Commit = "4bf1156f41631dc0e81d66a6834a53d14b48aaef";
rke2VendorHash = "sha256-/ALzC2fYYI+DbF+2TSNBiMy57T8wfXGPpdyKtbqdrtE=";
k8sVersion = "v1.31.0";
k8sImageTag = "v1.31.0-rke2r1-build20240815";
etcdVersion = "v3.5.13-k3s1";
rke2Version = "1.31.1+rke2r1";
rke2Commit = "909d20d6a28cd7656b7177190f06f69f57927613";
rke2TarballHash = "sha256-9ZryOX6QMNpjDtsOXLOVNPjCc6AMAa+XDLOn1EpyCcg=";
rke2VendorHash = "sha256-7nWbWi4oJTOWZ5iZr9ptECDJJakPg4qZ7hW+tU7LBsI=";
k8sVersion = "v1.31.1";
k8sImageTag = "v1.31.1-rke2r1-build20240912";
etcdVersion = "v3.5.13-k3s1-build20240910";
pauseVersion = "3.6";
ccmVersion = "v1.29.3-build20240515";
dockerizedVersion = "v1.31.0-dev.";
golangVersion = "go1.22.5";
ccmVersion = "v1.31.0-build20240910";
dockerizedVersion = "v1.31.1-rke2r1";
golangVersion = "go1.22.6";
eol = "2025-10-28";
}

View File

@ -1,14 +1,14 @@
{
rke2Version = "1.30.4+rke2r1";
rke2RepoSha256 = "1daxs8gxy775qn1yrf7zh77cyaj3nn3qlwj0vjqfpbv1gpkimfyi";
rke2Commit = "9517eea519b780e154dd791c555c698e84a0e5cd";
rke2VendorHash = "sha256-Q+Wt4Hyp6VyxfCXNsRQMyAo0QCGWhnY9tcV/NQrrSEY=";
k8sVersion = "v1.30.4";
k8sImageTag = "v1.30.4-rke2r1-build20240815";
etcdVersion = "v3.5.13-k3s1";
rke2Version = "1.30.5+rke2r1";
rke2Commit = "0c83bc82315cd61664880d0b52a7e070e9fbd623";
rke2TarballHash = "sha256-K5e7TNlL97PQ13IYnr4PSrXb4XaGJT9bPq55iWL0m1g=";
rke2VendorHash = "sha256-QIcVyWnedKNF10OqJ2WmZqZeKA+8hvwDQ4Pl+WUOEJY=";
k8sVersion = "v1.30.5";
k8sImageTag = "v1.30.5-rke2r1-build20240912";
etcdVersion = "v3.5.13-k3s1-build20240910";
pauseVersion = "3.6";
ccmVersion = "v1.29.3-build20240515";
dockerizedVersion = "v1.30.4-dev.877838a0-dirty";
golangVersion = "go1.22.5";
ccmVersion = "v1.30.4-build20240910";
dockerizedVersion = "v1.30.5-rke2r1";
golangVersion = "go1.22.6";
eol = "2025-06-28";
}

View File

@ -1,14 +1,14 @@
{
rke2Version = "1.31.1-rc3+rke2r1";
rke2RepoSha256 = "1j09f95d99xk1jbsy08cl1rw5y1ljnrmq3nv1rixlc4hgqwz56pm";
rke2Commit = "909d20d6a28cd7656b7177190f06f69f57927613";
rke2TarballHash = "sha256-9ZryOX6QMNpjDtsOXLOVNPjCc6AMAa+XDLOn1EpyCcg=";
rke2VendorHash = "sha256-7nWbWi4oJTOWZ5iZr9ptECDJJakPg4qZ7hW+tU7LBsI=";
k8sVersion = "v1.31.1";
k8sImageTag = "v1.31.1-rke2r1-build20240912";
etcdVersion = "v3.5.13-k3s1";
etcdVersion = "v3.5.13-k3s1-build20240910";
pauseVersion = "3.6";
ccmVersion = "v1.31.0-build20240910";
dockerizedVersion = "v1.31.1-dev.";
dockerizedVersion = "v1.31.1-rc3-rke2r1";
golangVersion = "go1.22.6";
eol = "2025-10-28";
}

View File

@ -1,49 +1,46 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl git gnugrep gnused yq-go nix-prefetch
#!nix-shell -i bash -p curl git gnugrep gnused yq-go nix-prefetch go
SHELL_FLAGS=$(set +o)
set -x -eu -o pipefail
CHANNEL_NAME="${1:?Must provide a release channel, like 'stable', as the only argument}"
WORKDIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd -P)
mkdir --parents --verbose "${WORKDIR}/${CHANNEL_NAME}"
LATEST_TAG_NAME=$(curl --silent --fail https://update.rke2.io/v1-release/channels | \
yq eval ".data[] | select(.id == \"${CHANNEL_NAME}\").latest" - | \
sort -rV | grep --extended-regexp "^v[0-9]+\.[0-9]+\.[0-9]+" | head -n1)
LATEST_TAG_NAME=$(curl -sS --fail https://update.rke2.io/v1-release/channels | \
yq ".data[] | select(.id == \"${CHANNEL_NAME}\") | .latest")
RKE2_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//')
RKE2_COMMIT=$(curl -sS --fail "https://api.github.com/repos/rancher/rke2/git/refs/tags/${LATEST_TAG_NAME}" | yq '.object.sha')
RKE2_REPO_SHA256=$(nix-prefetch-url --quiet --unpack \
https://github.com/rancher/rke2/archive/refs/tags/${LATEST_TAG_NAME}.tar.gz)
PREFETCH_META=$(nix-prefetch-url --unpack --print-path "https://github.com/rancher/rke2/archive/refs/tags/${LATEST_TAG_NAME}.tar.gz")
STORE_HASH="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 ${PREFETCH_META%%$'\n'*})"
STORE_PATH="${PREFETCH_META##*$'\n'}"
RKE2_COMMIT=$(curl --silent --fail ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} \
https://api.github.com/repos/rancher/rke2/git/refs/tags | \
yq eval ".[] | select(.ref == \"refs/tags/${LATEST_TAG_NAME}\").object.sha" -)
cd ${STORE_PATH}
GITHUB_ACTION_TAG=${LATEST_TAG_NAME}
DRONE_COMMIT=${RKE2_COMMIT}
VERSIONS_SCRIPT=$(mktemp --suffix ".${RKE2_COMMIT:0:6}.sh")
trap "rm --force ${VERSIONS_SCRIPT}" EXIT
set +u
source scripts/version.sh
set -u
curl --silent --fail --output ${VERSIONS_SCRIPT} \
https://raw.githubusercontent.com/rancher/rke2/${RKE2_COMMIT}/scripts/version.sh
set +eu
DRONE_TAG=${LATEST_TAG_NAME} source ${VERSIONS_SCRIPT}
set -eu
ETCD_BUILD=$(grep "images.DefaultEtcdImage" scripts/build-binary | sed 's/.*-\(build[0-9]*\)$/\1/')
ETCD_VERSION="${ETCD_VERSION}-${ETCD_BUILD}"
cd ${WORKDIR}
KUBERNETES_CYCLES=$(echo ${KUBERNETES_VERSION} | grep -Eo "[0-9]+\.[0-9]+")
KUBERNETES_EOL=$(curl --silent --fail \
https://endoflife.date/api/kubernetes/${KUBERNETES_CYCLES}.json | \
yq eval ".eol" -)
KUBERNETES_EOL=$(curl -sS --fail https://endoflife.date/api/kubernetes/${KUBERNETES_CYCLES}.json | yq ".eol")
FAKE_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
cat << EOF > "${WORKDIR}/${CHANNEL_NAME}/versions.nix"
{
rke2Version = "${RKE2_VERSION}";
rke2RepoSha256 = "${RKE2_REPO_SHA256}";
rke2Commit = "${RKE2_COMMIT}";
rke2TarballHash = "${STORE_HASH}";
rke2VendorHash = "${FAKE_HASH}";
k8sVersion = "${KUBERNETES_VERSION}";
k8sImageTag = "${KUBERNETES_IMAGE_TAG}";
@ -70,6 +67,7 @@ fi
# Implement commit
# See: https://nixos.org/manual/nixpkgs/stable/#var-passthru-updateScript-commit
set +u
cat << EOF
[
{
@ -82,3 +80,6 @@ cat << EOF
}
]
EOF
set +x
eval "$SHELL_FLAGS"

View File

@ -6,14 +6,14 @@ let
aarch64-linux = "arm64";
}."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
hash = {
amd64-linux_hash = "sha256-gx8tDGb2yjwexChZGJ9RdVbgseDByFeW2ZR1RebjlO4=";
arm64-linux_hash = "sha256-/qv931J4ufKpAtj7KEqrN6klZ59ueHpbWJXsndBuD90=";
amd64-linux_hash = "sha256-5OW10sABNNYQNUgorM634j5oiBhJJby1ymH6UcmknRg=";
arm64-linux_hash = "sha256-zbO/8RU2SDV1h4gKdxKbvNFFSj6p3ybmPkpKsrup4No=";
}."${arch}-linux_hash";
in
mkFranzDerivation rec {
pname = "ferdium";
name = "Ferdium";
version = "6.7.6";
version = "6.7.7";
src = fetchurl {
url = "https://github.com/ferdium/ferdium-app/releases/download/v${version}/Ferdium-linux-${version}-${arch}.deb";
inherit hash;

View File

@ -63,14 +63,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "telegram-desktop";
version = "5.5.5";
version = "5.6.1";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-LWIOgyHp43bLN4RQtBKH2HitfVI6AKstPK5es2s+wVw=";
hash = "sha256-MMXaNJ9uadThBghOObt4KNP73Wd2rCnJJXSHkwEKFxw=";
};
patches = [

View File

@ -1,84 +0,0 @@
{ stdenv
, lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
, Security
, CoreServices
, nix-update-script
, rustc
}:
let
version = "1.1.21";
hash = "sha256-VM0Pc5qyrsn9wV3mfvrAlCfm/rIf3cednZzFtJCT+no=";
in
rustPlatform.buildRustPackage {
pname = "nym";
inherit version;
src = fetchFromGitHub {
owner = "nymtech";
repo = "nym";
rev = "nym-binaries-v${version}";
inherit hash;
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"bls12_381-0.6.0" = "sha256-sIZy+CTASP+uiY10nP/N4WfCLjeqkjiNl/FzO0p5WdI=";
"cosmos-sdk-proto-0.12.3" = "sha256-ekQ9JA6WaTkvHkBKJbYPzfmx6I7LZnhIPiHsZFAP90w=";
"rocket_cors-0.5.2" = "sha256-hfk5gKtc94g+VZmm+S6HKvg+E71QVKQTK2E3K2MCvz0=";
"wasm-timer-0.2.5" = "sha256-od+r3ttFpFhcIh8rPQJQARaQLsbLeEZpCY1h9c4gow8=";
};
};
postPatch = ''
substituteInPlace contracts/vesting/build.rs \
--replace 'vergen(config).expect("failed to extract build metadata")' '()'
substituteInPlace common/bin-common/build.rs \
--replace 'vergen(config).expect("failed to extract build metadata")' '()'
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security CoreServices ];
checkType = "debug";
passthru.updateScript = nix-update-script { };
checkFlags = [
"--skip=commands::upgrade::upgrade_tests"
"--skip=allowed_hosts::filter::tests::creating_a_new_host_store"
"--skip=allowed_hosts::filter::tests::getting_the_domain_root"
"--skip=allowed_hosts::filter::tests::requests_to_allowed_hosts"
"--skip=allowed_hosts::filter::tests::requests_to_unknown_hosts"
"--skip=ping::http::tests::resolve_host_with_valid_hostname_returns_some"
];
env = {
VERGEN_BUILD_TIMESTAMP = "0";
VERGEN_BUILD_SEMVER = version;
VERGEN_GIT_SHA = hash;
VERGEN_GIT_COMMIT_TIMESTAMP = "0";
VERGEN_GIT_BRANCH = "master";
VERGEN_RUSTC_SEMVER = rustc.version;
VERGEN_RUSTC_CHANNEL = "stable";
VERGEN_CARGO_PROFILE = "release";
};
meta = with lib; {
description = "Mixnet providing IP-level privacy";
longDescription = ''
Nym routes IP packets through other participating nodes to hide their source and destination.
In contrast with Tor, it prevents timing attacks at the cost of latency.
'';
homepage = "https://nymtech.net";
license = licenses.asl20;
platforms = platforms.all;
};
}

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "eigenmath";
version = "3.27-unstable-2024-09-15";
version = "3.27-unstable-2024-10-02";
src = fetchFromGitHub {
owner = "georgeweigt";
repo = pname;
rev = "ba00d77289f1c9ce64108b1bbcee02c71ce48633";
hash = "sha256-yFzsMNVjQK64uQSfjQKC8LbdQu7/97hDolRMBc4Womc=";
rev = "57a7c74623cdb6ee7f3b67873f6e9af976234e9d";
hash = "sha256-7xoSFLE4yPuWzoIS65UficBa086o1Yil0Z2ks8EARy0=";
};
checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''

View File

@ -8,13 +8,13 @@
buildLua rec {
pname = "mpv-quality-menu";
version = "4.1.2";
version = "4.2.0";
src = fetchFromGitHub {
owner = "christoph-heinrich";
repo = "mpv-quality-menu";
rev = "v${version}";
hash = "sha256-W7N8H+kq/bhF917TutyilfT8FBbWmbSFUrHd8a8k5Jg=";
hash = "sha256-uaU4W72P7zhHzxmfr59icCAl1mJ3ycLGzkGcYasHllI=";
};
passthru.updateScript = gitUpdater { rev-prefix = "v"; };

View File

@ -6,13 +6,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hyprland-protocols";
version = "0.3.0";
version = "0.4.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland-protocols";
rev = "v${finalAttrs.version}";
hash = "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY=";
hash = "sha256-CnpsECzP1VvBx8aM/ptv3S7rykYqTeh63LgEMv7hBnU=";
};
nativeBuildInputs = [

View File

@ -28,13 +28,13 @@
stdenv.mkDerivation rec {
pname = "jwm";
version = "2.4.3";
version = "2.4.5";
src = fetchFromGitHub {
owner = "joewing";
repo = "jwm";
rev = "v${version}";
sha256 = "sha256-HPcNXf+frYbT8lr5vU5xpUnyjGpQ5rc2G14EjDwpk3c=";
sha256 = "sha256-T0N9UMu+BLRzVWshUB4apiq8H2t1y09n4P1cLT5K/N8=";
};
nativeBuildInputs = [

View File

@ -162,6 +162,8 @@ let
tigerlake = versionAtLeast ccVersion "10.0";
knm = versionAtLeast ccVersion "8.0";
alderlake = versionAtLeast ccVersion "12.0";
sapphirerapids = versionAtLeast ccVersion "11.0";
emeraldrapids = versionAtLeast ccVersion "13.0";
# AMD
znver1 = true;
@ -181,6 +183,8 @@ let
icelake-server = versionAtLeast ccVersion "7.0";
knm = versionAtLeast ccVersion "7.0";
alderlake = versionAtLeast ccVersion "16.0";
sapphirerapids = versionAtLeast ccVersion "12.0";
emeraldrapids = versionAtLeast ccVersion "16.0";
# AMD
znver1 = versionAtLeast ccVersion "4.0";

View File

@ -100,7 +100,10 @@ py.pkgs.toPythonApplication (
sourceRoot = "${src.name}/src/azure-cli";
nativeBuildInputs = [ installShellFiles ];
nativeBuildInputs = [
installShellFiles
py.pkgs.argcomplete
];
# Dependencies from:
# https://github.com/Azure/azure-cli/blob/azure-cli-2.62.0/src/azure-cli/setup.py#L52
@ -221,11 +224,11 @@ py.pkgs.toPythonApplication (
++ lib.concatMap (extension: extension.propagatedBuildInputs) withExtensions;
postInstall =
''
substituteInPlace az.completion.sh \
--replace-fail register-python-argcomplete ${py.pkgs.argcomplete}/bin/register-python-argcomplete
installShellCompletion --bash --name az.bash az.completion.sh
installShellCompletion --zsh --name _az az.completion.sh
lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) ''
installShellCompletion --cmd az \
--bash <(register-python-argcomplete az --shell bash) \
--zsh <(register-python-argcomplete az --shell zsh) \
--fish <(register-python-argcomplete az --shell fish)
''
+ lib.optionalString withImmutableConfig ''
export HOME=$TMPDIR

View File

@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "c2patool";
version = "0.9.9";
version = "0.9.10";
src = fetchFromGitHub {
owner = "contentauth";
repo = pname;
rev = "v${version}";
hash = "sha256-OU1X8EB0IBABlXJklUUCOBhwbcnJNczzjnTl4e8/BYY=";
hash = "sha256-1q0s8fwhlD891AhS1Sr2JBHi69SUMdP2cYslM/yFh8o=";
};
cargoHash = "sha256-0/fdQ9l4vm5Zy8QEvftKqt5GqPn+BkntyJoRiSaSbmU=";
cargoHash = "sha256-4LfrafJd2W2HL/Q36lJ1zXw2CDLL79SLEuyKeFR9cUY=";
# use the non-vendored openssl
OPENSSL_NO_VENDOR = 1;

View File

@ -10,13 +10,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "chirp";
version = "0.4.0-unstable-2024-09-28";
version = "0.4.0-unstable-2024-10-03";
src = fetchFromGitHub {
owner = "kk7ds";
repo = "chirp";
rev = "c09d51c5b92995de266ef4d7f285b8d110c0bdc7";
hash = "sha256-ErIAqXexgKjpbnubekX9Gy0qAkUDhNil8PtEOcxYVdk=";
rev = "387d8f63535140779864e8973fbde0bad17f8512";
hash = "sha256-kJ2Cr2ks901GUVFscyCInsTSTM7g42NRYYxjTZsh1Lw=";
};
buildInputs = [
glib

View File

@ -0,0 +1,35 @@
{
lib,
rustPlatform,
fetchpatch,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "emplace";
version = "1.6.0";
src = fetchFromGitHub {
owner = "tversteeg";
repo = "emplace";
rev = "refs/tags/v${version}";
sha256 = "sha256-FZ+lvf5HRSruUdmkm/Hqz0aRa95SjfIa43WQczRCGNg=";
};
cargoPatches = [
(fetchpatch {
url = "https://github.com/tversteeg/emplace/pull/397/commits/fe32ab280234b1fb1a81a22f78bbc8af188b5fa7.patch";
hash = "sha256-9O0J9cJlXUGdQ9fqWeW8OIFA48qlYxGl+2yHHt3MaMU=";
})
];
cargoHash = "sha256-0BYAJOHymBVAssNfU5nPYTSvPbLEDCKoRVovIm6evUQ=";
meta = {
description = "Mirror installed software on multiple machines";
homepage = "https://github.com/tversteeg/emplace";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ Br1ght0ne ];
mainProgram = "emplace";
};
}

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "fabric-ai";
version = "1.4.46";
version = "1.4.54";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "fabric";
rev = "v${version}";
hash = "sha256-c25qnRgr7g8dIcHuRyqCmzGBqNR2wxvgjt7E6x8VsZA=";
hash = "sha256-93kOJLzCoJgj5kApQyzGOZOGDlz6G/aNO7bT7eAs5o8=";
};
vendorHash = "sha256-ef5fn3D0DcvluLIlwfZFGS/6bZgkduQhRXvjCrghBL8=";

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "forbidden";
version = "12.5";
version = "12.6";
pyproject = true;
src = fetchFromGitHub {
owner = "ivan-sincek";
repo = "forbidden";
rev = "refs/tags/v${version}";
hash = "sha256-ZxEkkg1gFs/pSAnrW85UqDQKczXqLW1q4kW58TagEA0=";
hash = "sha256-KE2FHn0ocAna5ReRi9re/u8gdNVkCygSbSRj8gEudgI=";
};
build-system = with python3.pkgs; [
@ -22,7 +22,6 @@ python3.pkgs.buildPythonApplication rec {
dependencies = with python3.pkgs; [
alive-progress
colorama
datetime
pycurl
pyjwt
regex

View File

@ -5,10 +5,10 @@
}:
let
pname = "heptabase";
version = "1.40.0";
version = "1.41.1";
src = fetchurl {
url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
hash = "sha256-EnGn3N8dJ7bx60eY8u1LxgQaLkU/RR+ANEG817XfaS0=";
hash = "sha256-MX5lKTSJFBhtUMPlefSWvVayFYt0ydZ7lToUDdDUsT4=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "i3bar-river";
version = "1.0.0";
version = "1.0.1";
src = fetchFromGitHub {
owner = "MaxVerevkin";
repo = "i3bar-river";
rev = "v${version}";
hash = "sha256-Xa/9xDfVadwFEelxoXVjvPgOojNtol6XeDoBbDLbdS0=";
hash = "sha256-nUS53qL0CM4MJNomsAwINee3Yv1f7jqUg8S3ecusFB8=";
};
cargoHash = "sha256-k4bWJjcOkYKh3WOnTM1+otWLw4C7sVzF6IVkYmpiNeQ=";
cargoHash = "sha256-QniAkaVvr7kaBJAgiL+k6im99m9ZNZVpZGlHgSkZZtw=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ pango ];

View File

@ -9,16 +9,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "lazyjj";
version = "0.4.0";
version = "0.4.2";
src = fetchFromGitHub {
owner = "Cretezy";
repo = "lazyjj";
rev = "v${version}";
hash = "sha256-aglLPEps88D15iv3toNnhRC06gTuM6ITnvZDJg17u6M=";
hash = "sha256-iT6kRzD+w7cb7ZjMt7NfkqwFJOzbt6kxc5vDjI7By84=";
};
cargoHash = "sha256-P5k7C18PP9/y5P5kKWpQcMnT4BeYpFT6IH+M1AgGaPw=";
cargoHash = "sha256-y7yIgM4pIvqsX7LuLU/6P/9oNxsJrg/o/4CqqJ8uitU=";
postInstall = ''
wrapProgram $out/bin/lazyjj \

View File

@ -6,14 +6,14 @@
telegram-desktop.overrideAttrs (
finalAttrs: previousAttrs: {
pname = "materialgram";
version = "5.5.4.1";
version = "5.6.1.1";
src = fetchFromGitHub {
owner = "kukuruzka165";
repo = "materialgram";
rev = "refs/tags/v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-LfeIhnCQ/b3Z7F3jUEdutlbZjSQoGr+zXP3oBiqe3XY=";
hash = "sha256-e2ZLUooPMs0qB97BDyCiOUeD7cc+MuF5of65mEeJr04=";
};
meta = previousAttrs.meta // {

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,79 @@
{
stdenv,
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
darwin,
nix-update-script,
rustc,
}:
rustPlatform.buildRustPackage rec {
pname = "nym";
version = "2024.10-caramello";
src = fetchFromGitHub {
owner = "nymtech";
repo = "nym";
rev = "nym-binaries-v${version}";
hash = "sha256-0vEvjVCbwyJ7lpvZnIT551Kul0JfkcNSeURbX2PUZ4w=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"bls12_381-0.8.0" = "sha256-4+X/ZQ5Z+Nax4Ot1JWWvvLxuIUaucHkfnDB2L+Ak7Ro=";
"cosmos-sdk-proto-0.22.0-pre" = "sha256-nRfcAbjFcvAqool+6heYK8joiU5YaSWITnO6S5MRM1E=";
"indexed_db_futures-0.4.2" = "sha256-vVqrD40CBdSSEtU+kQeuZUfsgpJdl8ks+os0Fct8Ung=";
};
};
nativeBuildInputs = [
pkg-config
];
buildInputs =
[
openssl
]
++ lib.optionals stdenv.hostPlatform.isDarwin (
with darwin.apple_sdk.frameworks;
[
Security
SystemConfiguration
CoreServices
]
);
checkType = "debug";
passthru.updateScript = nix-update-script { };
env = {
VERGEN_BUILD_TIMESTAMP = "0";
VERGEN_BUILD_SEMVER = version;
VERGEN_GIT_COMMIT_TIMESTAMP = "0";
VERGEN_GIT_BRANCH = "master";
VERGEN_RUSTC_SEMVER = rustc.version;
VERGEN_RUSTC_CHANNEL = "stable";
VERGEN_CARGO_PROFILE = "release";
};
checkFlags = [
"--skip=ping::http::tests::resolve_host_with_valid_hostname_returns_some"
];
meta = {
description = "Mixnet providing IP-level privacy";
longDescription = ''
Nym routes IP packets through other participating nodes to hide their source and destination.
In contrast with Tor, it prevents timing attacks at the cost of latency.
'';
homepage = "https://nymtech.net";
license = lib.licenses.asl20;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ bot-wxt1221 ];
};
}

View File

@ -43,12 +43,12 @@
# clang consume much less RAM than GCC
clangStdenv.mkDerivation rec {
pname = "openscad-unstable";
version = "2024-09-22";
version = "2024-10-06";
src = fetchFromGitHub {
owner = "openscad";
repo = "openscad";
rev = "1cf4e97ed488d606c823f107dcc361f218aa84ca";
hash = "sha256-5WzLAQnjH+4JjJhh9pCgY3j8+lyNPrtY9a104tzkglo=";
rev = "4e4543d85dfb19630ffe499b75828d48d246bd22";
hash = "sha256-k1RjXwjigQAVKUHeAJAyJxfCr8qNkCDFq9p78sudjgs=";
fetchSubmodules = true; # Only really need sanitizers-cmake and MCAD
};
@ -109,7 +109,7 @@ clangStdenv.mkDerivation rec {
"-DUSE_BUILTIN_OPENCSG=OFF"
"-DUSE_BUILTIN_MANIFOLD=OFF"
"-DOPENSCAD_VERSION=\"${builtins.replaceStrings ["-"] ["."] version}\""
"-DCMAKE_UNITY_BUILD=ON" # faster build
"-DCMAKE_UNITY_BUILD=OFF" # broken compile with unity
# IPO
"-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld"
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"

View File

@ -1,24 +1,34 @@
{ lib, stdenv, appimageTools, desktop-file-utils, fetchurl }:
{
lib,
stdenv,
appimageTools,
desktop-file-utils,
fetchurl,
}:
let
pname = "p3x-onenote";
version = "2023.4.117";
version = "2024.10.110";
plat = {
aarch64-linux = "-arm64";
armv7l-linux = "-armv7l";
x86_64-linux = "";
}.${stdenv.hostPlatform.system};
plat =
{
aarch64-linux = "-arm64";
armv7l-linux = "-armv7l";
x86_64-linux = "";
}
.${stdenv.hostPlatform.system};
sha256 = {
aarch64-linux = "sha256-HFuxmMo0m4UOxEQVd32LGvbFsOS8jwCCCS6K/YJIIBE=";
armv7l-linux = "sha256-JMgYvqkaRw5sfjbKybAkk28KT12+c19dMir2DUN7Ub0=";
x86_64-linux = "sha256-hr/mPOrliP8Dej3DVE2+wYkb1J789WCkkY3xe9EcM44=";
}.${stdenv.hostPlatform.system};
hash =
{
aarch64-linux = "sha256-rBoSdbZhOnpX7mr7Uz5XuO5PB4PKcNMPQP9NqCwiIBc=";
armv7l-linux = "sha256-8XZ3dpYgHCpo5HjDF4R+U5bO6Fidsf0PlEhOoRB1JA0=";
x86_64-linux = "sha256-vn9XCKC68AzxvmjxoH4MynwUG+U/g0JmLjANDFS5kNI=";
}
.${stdenv.hostPlatform.system};
src = fetchurl {
url = "https://github.com/patrikx3/onenote/releases/download/v${version}/P3X-OneNote-${version}${plat}.AppImage";
inherit sha256;
inherit hash;
};
appimageContents = appimageTools.extractType2 {
@ -45,7 +55,11 @@ appimageTools.wrapType2 rec {
description = "Linux Electron Onenote - A Linux compatible version of OneNote";
license = licenses.mit;
maintainers = with maintainers; [ tiagolobocastro ];
platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"armv7l-linux"
];
mainProgram = "p3x-onenote";
};
}

View File

@ -7,7 +7,7 @@
stdenv,
}:
let
version = "0.2.6";
version = "0.2.7";
in
rustPlatform.buildRustPackage {
inherit version;
@ -17,10 +17,10 @@ rustPlatform.buildRustPackage {
owner = "achristmascarl";
repo = "rainfrog";
rev = "refs/tags/v${version}";
hash = "sha256-yY4F5Aw+duXknESjl6hoOUV3er84DkTtIBoX3humWxA=";
hash = "sha256-ey9ioPDeuNYw2+UBUgtE0C1wES3wecFDWd9CMeKBq4Q=";
};
cargoHash = "sha256-QMZUReWrOS0P+hxsV5c/eJxnwYX977+4oI7MPfz4dgg=";
cargoHash = "sha256-mc7Lgaf1seefVu+LafctJm4y8xjX3c1ApadeQMi3STE=";
buildInputs = lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks;

View File

@ -5,13 +5,13 @@
}:
buildGoModule rec {
pname = "sesh";
version = "2.4.0";
version = "2.5.0";
src = fetchFromGitHub {
owner = "joshmedeski";
repo = "sesh";
rev = "v${version}";
hash = "sha256-62w4I49ahXC4IHy0i/V4tArCqrg2Rch6f+IM/YoFQh8=";
hash = "sha256-Z19JT2HPKGbzxexXC/lyplRGC98SdZIBmqFZOIjIPZE=";
};
vendorHash = "sha256-a45P6yt93l0CnL5mrOotQmE/1r0unjoToXqSJ+spimg=";

View File

@ -9,15 +9,15 @@
rustPlatform.buildRustPackage rec {
pname = "syndicate-server";
version = "0.46.0";
version = "0.48.0";
src = fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "syndicate-lang";
repo = "syndicate-rs";
rev = "${pname}-v${version}";
hash = "sha256-bTteZIlBSoQ1o5shgd9NeKVvEhZTyG3i2zbeVojWiO8=";
hash = "sha256-DVgFlJCqaTmQ7eL2LQ8rkIbvaEfwx+NDeXRA8qB+/Qo=";
};
cargoHash = "sha256-SIpdFXTk6MC/drjCLaaa49BbGsvCMNbPGCfTxAlCo9c=";
cargoHash = "sha256-eSzRKTUDkx0i2z5y5rm1A799CfLPqd+txpmbolqe+PQ=";
nativeBuildInputs = [
pkg-config
versionCheckHook

View File

@ -23,13 +23,13 @@ assert lib.elem lineEditingLibrary [
];
stdenv.mkDerivation (finalAttrs: {
pname = "trealla";
version = "2.56.19";
version = "2.57.1";
src = fetchFromGitHub {
owner = "trealla-prolog";
repo = "trealla";
rev = "v${finalAttrs.version}";
hash = "sha256-B2IJU/dtPNUfDC3lFvS4J0zHf1hceoX9YEbyxVYgMt0=";
hash = "sha256-hn5BaJNIxGhY6KlHPyy6WaOVoPY+1yQ05z/7u/xqDsU=";
};
postPatch = ''

View File

@ -17,13 +17,13 @@ python3Packages.buildPythonApplication rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2024.9.27";
version = "2024.10.7";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "yt_dlp";
hash = "sha256-hmBVQuF+LiOtIxRbY37DCBM3YqFaXe2sSuULeXMjcCY=";
hash = "sha256-C68atRfJdI1+M3ztkcVUPDb8FiRqnr7awy6/IMGZjOs=";
};
build-system = with python3Packages; [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "elementary-xfce-icon-theme";
version = "0.19";
version = "0.20";
src = fetchFromGitHub {
owner = "shimmerproject";
repo = "elementary-xfce";
rev = "v${version}";
sha256 = "sha256-exrPxJ6S3xV1EJ61KW1MqCcOSzPY9zOycuSh8I9Gdns=";
sha256 = "sha256-k7Bs+IyA+hHR5j17gzeL5PHlRxyKFc0wGH/MjJLDrjk=";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "wireless-regdb";
version = "2024.07.04";
version = "2024.10.07";
src = fetchurl {
url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-mDKhThviSr/3vjDe48mhr7X9/PR1oNkar+8Dn42F9es=";
hash = "sha256-928r15plPp+d1QVI2Z0DpKTrFX2gVt/ViS9APsKPs9U=";
};
dontBuild = true;

View File

@ -30,9 +30,9 @@ let
"18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE=";
"19.1.1".officialRelease.sha256 = "sha256-xTo44+vH1Bz49fEl4bIpU3eIgQtFuBTGbgU7mzeY33s=";
"20.0.0-git".gitRelease = {
rev = "64f2bff12b8ac40c79004ffacf46a5294600d219";
rev-version = "20.0.0-unstable-2024-09-29";
sha256 = "sha256-BUlnks9rFjvKRIy7lWhOJQKKNVTewBiCFDbgyRBvuEw=";
rev = "0e8555d4dbfdfeddc01dc2ecf9a9b6e804f7b645";
rev-version = "20.0.0-unstable-2024-10-07";
sha256 = "sha256-Rn8TkTUJKGFZ7uM1RiFOHIDTfpwEhLDpDh1zxVtTYG8=";
};
} // llvmVersions;

View File

@ -9,6 +9,7 @@ let
repo = "analysis";
owner = "math-comp";
release."1.4.0".sha256 = "sha256-eDggeuEU0fMK7D5FbxvLkbAgpLw5lwL/Rl0eLXAnJeg=";
release."1.2.0".sha256 = "sha256-w6BivDM4dF4Iv4rUTy++2feweNtMAJxgGExPfYGhXxo=";
release."1.1.0".sha256 = "sha256-wl4kZf4mh9zbFfGcqaFEgWRyp0Bj511F505mYodpS6o=";
release."1.0.0".sha256 = "sha256-KiXyaWB4zQ3NuXadq4BSWfoN1cIo1xiLVSN6nW03tC4=";
@ -32,6 +33,7 @@ let
defaultVersion = let inherit (lib.versions) range; in
lib.switch [ coq.version mathcomp.version ] [
{ cases = [ (range "8.19" "8.20") (range "2.1.0" "2.2.0") ]; out = "1.4.0"; }
{ cases = [ (range "8.17" "8.20") (range "2.0.0" "2.2.0") ]; out = "1.1.0"; }
{ cases = [ (range "8.17" "8.19") (range "1.17.0" "1.19.0") ]; out = "0.7.0"; }
{ cases = [ (range "8.17" "8.18") (range "1.15.0" "1.18.0") ]; out = "0.6.7"; }

View File

@ -1,4 +1,4 @@
{ coq, mkCoqDerivation, mathcomp-analysis, mathcomp-algebra-tactics, lib, version ? null }:
{ coq, mkCoqDerivation, mathcomp-analysis, mathcomp-algebra-tactics, interval, lib, version ? null }:
(mkCoqDerivation {
namePrefix = [ "coq" "mathcomp" ];
@ -7,11 +7,13 @@
inherit version;
defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp-analysis.version] [
{ cases = [ (range "8.18" "8.19") (isGe "1.2") ]; out = "0.7.2"; }
{ cases = [ (range "8.17" "8.19") (isGe "1.0") ]; out = "0.7.1"; }
{ cases = [ (isGe "8.17") (range "0.6.6" "0.7.0") ]; out = "0.6.1"; }
{ cases = [ (range "8.17" "8.18") (range "0.6.0" "0.6.7") ]; out = "0.5.2"; }
{ cases = [ (range "8.15" "8.16") (range "0.5.4" "0.6.5") ]; out = "0.5.1"; }
] null;
release."0.7.2".sha256 = "sha256-dekrdVmuTcqXXmKhIb831EKtMhbPrXHJZhzmGb9rdRo=";
release."0.7.1".sha256 = "sha256-/4Elb35SmscG6EjEcHYDo+AmWrpBUlygZL0WhaD+fcY=";
release."0.6.1".sha256 = "sha256-tFB5lrwRPIlHkP+ebgcJwu03Cc9yVaOINOAo8Bf2LT4=";
release."0.5.1".sha256 = "sha256-yBBl5l+V+dggsg5KM59Yo9CULKog/xxE8vrW+ZRnX7Y=";
@ -25,5 +27,7 @@
};
}).overrideAttrs (o: {
propagatedBuildInputs = o.propagatedBuildInputs
++ lib.optional (lib.versions.isGe "0.6.1" o.version || o.version == "dev") mathcomp-algebra-tactics;
++ lib.optional (lib.versions.isGe "0.6.1" o.version || o.version == "dev") mathcomp-algebra-tactics
++ lib.optional (lib.versions.isGe "0.7.2" o.version || o.version == "dev") interval
;
})

View File

@ -12,17 +12,17 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "lune";
version = "0.8.8";
version = "0.8.9";
src = fetchFromGitHub {
owner = "filiptibell";
repo = "lune";
rev = "v${version}";
hash = "sha256-/+a1gJ1rGrmKCcVqLs1YgzE43RpIitYeN2Woo4V+snQ=";
hash = "sha256-KZt3w+nhJjz3ZLtLzJz0zpFTwQ28OmFWnCsLbo36Ryc=";
fetchSubmodules = true;
};
cargoHash = "sha256-ScM2eAqmBFjiZ3azm0O+YcnxOdCC8mlQrQde4vKMeTQ=";
cargoHash = "sha256-yTpklksOV+AFuW3Bc0L6sbAiJsQ+mseF1yz37FcWt1k=";
nativeBuildInputs = [
pkg-config

View File

@ -555,14 +555,14 @@ buildLuarocksPackage {
fzf-lua = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "fzf-lua";
version = "0.0.1466-1";
version = "0.0.1473-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/fzf-lua-0.0.1466-1.rockspec";
sha256 = "0xhnfwc5z4z39ylh5qr3m7jbqaqbrbsai1yzdsy9avp5d0q425m7";
url = "mirror://luarocks/fzf-lua-0.0.1473-1.rockspec";
sha256 = "091wlqar9gqrpkall49l2b2nrg8i6r3nldkx2rx7bgfj23zk74fk";
}).outPath;
src = fetchzip {
url = "https://github.com/ibhagwan/fzf-lua/archive/780899604e0ce490d0d8e402a2fcdbad1cd7c9b8.zip";
sha256 = "0ida1ykh1v23xbk4ing88x3id5k4gxl0r8yf420n5mv6acfgj00x";
url = "https://github.com/ibhagwan/fzf-lua/archive/1e03541de4d8a169defe83bb4d7abfba450c63a1.zip";
sha256 = "1by9092fvfk1v06idfqhnx5bsisj28hk981ngylkzq806j7lbj09";
};
disabled = luaOlder "5.1";
@ -622,14 +622,14 @@ buildLuarocksPackage {
haskell-tools-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "haskell-tools.nvim";
version = "4.1.0-1";
version = "4.2.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/haskell-tools.nvim-4.1.0-1.rockspec";
sha256 = "12p38gnld2j7x8n4hzi8js104pnlz3plk6s0aziy93z6lspm1i94";
url = "mirror://luarocks/haskell-tools.nvim-4.2.0-1.rockspec";
sha256 = "1a30qy1k0cknj0r9anghdbmlmngkhbk90mcyrwrf8pzi5l3465x5";
}).outPath;
src = fetchzip {
url = "https://github.com/mrcjkb/haskell-tools.nvim/archive/v4.1.0.zip";
sha256 = "13aj1sxjkjsdmifjq0jgqaiv5rhglb3kv4r3ja1hrpv434889glr";
url = "https://github.com/mrcjkb/haskell-tools.nvim/archive/v4.2.0.zip";
sha256 = "1zfnjyadamvf4if15gn7g6q35p1zvzgmsbbjwwy1vgh4mc0vmfav";
};
disabled = luaOlder "5.1";
@ -2745,14 +2745,14 @@ buildLuarocksPackage {
neotest = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio, plenary-nvim }:
buildLuarocksPackage {
pname = "neotest";
version = "5.6.0-1";
version = "5.6.1-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/neotest-5.6.0-1.rockspec";
sha256 = "06ggk7swsbwy12rqmzkg173wh7sj6jiy6vp7nbb9f7ikgf9iqs6j";
url = "mirror://luarocks/neotest-5.6.1-1.rockspec";
sha256 = "08r740v4yxhjxrh3xcbi9974d28h786lkbzff6x0bixdsvnysdwy";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neotest/neotest/archive/48f8b5fce704594eb0ff94338e080defca14f0dc.zip";
sha256 = "0cr3qbds7g5ybndaaiafh758v6igzjz65l81mqragk9kcajkwkip";
url = "https://github.com/nvim-neotest/neotest/archive/6d3d22cdad49999ef774ebe1bc250a4994038964.zip";
sha256 = "10zac93v1i9iqbwwy4hb1q4wmwxg1nf9dmlywx6qmlkq0scnqg80";
};
disabled = luaOlder "5.1";
@ -3119,14 +3119,14 @@ buildLuarocksPackage {
rustaceanvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
buildLuarocksPackage {
pname = "rustaceanvim";
version = "5.10.1-1";
version = "5.11.0-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/rustaceanvim-5.10.1-1.rockspec";
sha256 = "1zgjksgsmgsgv47mahyy1im0g5r9mr3i2pwgifhcayhpijg1wbq9";
url = "mirror://luarocks/rustaceanvim-5.11.0-1.rockspec";
sha256 = "19ml95sqc1ia3fg1mgja61frwn2zbks4pw4c4as62k3pz5dxrwag";
}).outPath;
src = fetchzip {
url = "https://github.com/mrcjkb/rustaceanvim/archive/v5.10.1.zip";
sha256 = "02mcvfnrdkfi4y2x7gd5mmc19708yqdgmxgbgb5hbyjq5g85w1kx";
url = "https://github.com/mrcjkb/rustaceanvim/archive/v5.11.0.zip";
sha256 = "1x9jdf60yc63n5m555rrg33g5anzcmxpiy04vb8vgmsn543kv7wd";
};
disabled = luaOlder "5.1";
@ -3338,8 +3338,8 @@ buildLuarocksPackage {
src = fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "cb3f98d935842836cc115e8c9e4b38c1380fbb6b";
hash = "sha256-b94coi21QBmm8dCfulIbiw0lI9SAqodaBqMgb3j8qBU=";
rev = "dc6fc321a5ba076697cca89c9d7ea43153276d81";
hash = "sha256-bhGlFAJIWJw/jrNWTJs2ywJkX/W+0EP5L4CX6M78dko=";
};
disabled = lua.luaversion != "5.1";

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "boschshcpy";
version = "0.2.91";
version = "0.2.95";
pyproject = true;
disabled = pythonOlder "3.10";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "tschamm";
repo = "boschshcpy";
rev = "refs/tags/${version}";
hash = "sha256-lQDYJrla2iDk1MbLHjBGP3ZcZ1djD3bWhz15RaBFMgg=";
hash = "sha256-5kPC6UxqysJEHNWDoXhg7oo/hQSKICuqWmOdjlljoLs=";
};
nativeBuildInputs = [ setuptools ];

View File

@ -0,0 +1,89 @@
{
lib,
stdenv,
python,
buildPythonPackage,
fetchFromGitHub,
setuptools,
boost,
cgal,
cmake,
gmp,
tbb,
LAStools,
eigen,
mpfr,
numpy,
swig,
zlib,
withLAS ? false, # unfree
}:
buildPythonPackage rec {
pname = "cgal";
version = "5.6.1.post202403291426";
pyproject = true;
src = fetchFromGitHub {
owner = "CGAL";
repo = "cgal-swig-bindings";
rev = "v${version}";
hash = "sha256-EcvS1TWL3uGCE1G8Lbfiu/AzifMdUSei+z91bzkiKes=";
};
dontUseCmakeConfigure = true;
build-system = [
setuptools
cmake
swig
];
buildInputs =
[
cgal
gmp
mpfr
boost
zlib
tbb
eigen
]
++ lib.optionals withLAS [
LAStools
];
dependencies = [
numpy
];
pythonImportsCheck = [ "CGAL" ];
postFixup = lib.optionalString stdenv.hostPlatform.isElf ''
mv $out/${python.sitePackages}/{lib,CGAL/_lib}
for file in $out/${python.sitePackages}/CGAL/_*.so; do
patchelf "$file" --add-rpath $out/${python.sitePackages}/CGAL/_lib
done
'';
checkPhase = ''
runHook preCheck
(cd examples/python/
bash ./test.sh
cat error.txt
if grep -qi ' run error$' <error.txt; then
false
fi
)
runHook postCheck
'';
meta = {
description = "CGAL bindings using SWIG";
homepage = "https://github.com/CGAL/cgal-swig-bindings";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ pbsds ];
# error: no template named 'unary_function' in namespace 'boost::functional::detail'
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@ -0,0 +1,80 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
fire,
flask,
flask-cors,
gdown,
gunicorn,
mtcnn,
numpy,
opencv4,
pandas,
pillow,
pythonOlder,
requests,
retinaface,
setuptools,
tensorflow,
tqdm,
}:
buildPythonPackage rec {
pname = "deepface";
version = "0.0.92";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "serengil";
repo = "deepface";
rev = "refs/tags/v${version}";
hash = "sha256-Vjm8lfpGyJ7/1CUwIvxXxHqwmv0+iKewYV3vE08gpPQ=";
};
postPatch = ''
# prevent collisions
substituteInPlace setup.py \
--replace-fail "data_files=[(\"\", [\"README.md\", \"requirements.txt\", \"package_info.json\"])]," "" \
--replace-fail "install_requires=requirements," ""
substituteInPlace deepface/detectors/OpenCv.py \
--replace-fail "opencv_home = cv2.__file__" "opencv_home = os.readlink(cv2.__file__)" \
--replace-fail "folders = opencv_home.split(os.path.sep)[0:-1]" "folders = opencv_home.split(os.path.sep)[0:-4]" \
--replace-fail "return path + \"/data/\"" "return path + \"/share/opencv4/haarcascades/\""
'';
build-system = [ setuptools ];
dependencies = [
fire
flask
flask-cors
gdown
gunicorn
mtcnn
numpy
opencv4
pandas
pillow
requests
retinaface
tensorflow
tqdm
];
# requires internet connection
doCheck = false;
pythonImportsCheck = [ "deepface" ];
meta = {
description = "Lightweight Face Recognition and Facial Attribute Analysis (Age, Gender, Emotion and Race) Library for Python";
homepage = "https://github.com/serengil/deepface";
changelog = "https://github.com/serengil/deepface/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ derdennisop ];
};
}

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "holidays";
version = "0.57";
version = "0.58";
pyproject = true;
disabled = pythonOlder "3.8";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "vacanza";
repo = "python-holidays";
rev = "refs/tags/v${version}";
hash = "sha256-/aijcDD0gzg217NuD7A9qdgArek1fHWjb2SfA2H4gww=";
hash = "sha256-qsBKUdYZLSxWAGExydOO37IWqEOrYdlRnE/MJmz7Nr8=";
};
build-system = [

View File

@ -1,67 +1,196 @@
{
lib,
stdenv,
testers,
buildPythonPackage,
pythonOlder,
python,
pytestCheckHook,
# fetchers
fetchFromGitHub,
gcc10,
gitUpdater,
# build tools
cmake,
boost179,
icu,
swig,
pcre,
# native dependencies
eigen,
boost179,
cgal,
gmp,
hdf5,
icu,
libaec,
libxml2,
mpfr,
nlohmann_json,
opencascade-occt_7_6,
opencollada,
libxml2,
pcre,
zlib,
# python deps
## tools
setuptools,
build,
pytest,
## dependencies
isodate,
lark,
numpy,
python-dateutil,
shapely,
typing-extensions,
## additional deps for tests
lxml,
mathutils,
networkx,
tabulate,
xmlschema,
xsdata,
}:
let
opencascade-occt = opencascade-occt_7_6;
in
buildPythonPackage rec {
pname = "ifcopenshell";
version = "240611";
format = "other";
version = "0.7.10";
pyproject = false;
src = fetchFromGitHub {
owner = "IfcOpenShell";
repo = "IfcOpenShell";
rev = "refs/tags/blenderbim-${version}";
rev = "refs/tags/ifcopenshell-python-${version}";
fetchSubmodules = true;
hash = "sha256-fCgxSambC01qb14EoZTrVxNNw8H3nX8oMi6gk0O/HmQ=";
hash = "sha256-cRzv07T5VN5aTjMtAlLGbvI3c4SL0lfzCn/W6f/vdBY=";
};
nativeBuildInputs = [
gcc10
# c++
cmake
swig
# python
build
setuptools
];
buildInputs = [
# ifcopenshell needs stdc++
stdenv.cc.cc.lib
boost179
cgal
eigen
gmp
hdf5
icu
pcre
libaec
libxml2
mpfr
nlohmann_json
opencascade-occt
opencollada
pcre
];
propagatedBuildInputs = [
isodate
lark
numpy
python-dateutil
shapely
typing-extensions
];
# list taken from .github/workflows/ci.yml:49
nativeCheckInputs = [
lxml
mathutils
networkx
pytest
tabulate
xmlschema
xsdata
pytestCheckHook
];
pythonImportsCheck = [ "ifcopenshell" ];
PYTHONUSERBASE = ".";
# We still build with python to generate ifcopenshell_wrapper.py and ifcopenshell_wrapper.so
cmakeFlags = [
"-DUSERSPACE_PYTHON_PREFIX=ON"
"-DBUILD_SHARED_LIBS=ON"
"-DBUILD_IFCPYTHON=ON"
"-DCITYJSON_SUPPORT=OFF"
"-DEIGEN_DIR=${eigen}/include/eigen3"
"-DJSON_INCLUDE_DIR=${nlohmann_json}/include/"
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
"-DOCC_LIBRARY_DIR=${lib.getLib opencascade-occt}/lib"
"-DOPENCOLLADA_INCLUDE_DIR=${opencollada}/include/opencollada"
"-DOPENCOLLADA_LIBRARY_DIR=${lib.getLib opencollada}/lib/opencollada"
"-DSWIG_EXECUTABLE=${swig}/bin/swig"
"-DLIBXML2_INCLUDE_DIR=${libxml2.dev}/include/libxml2"
"-DLIBXML2_LIBRARIES=${lib.getLib libxml2}/lib/libxml2${stdenv.hostPlatform.extensions.sharedLibrary}"
"-DGMP_LIBRARY_DIR=${lib.getLib gmp}/lib/"
"-DMPFR_LIBRARY_DIR=${lib.getLib mpfr}/lib/"
# HDF5 support is currently not optional, see https://github.com/IfcOpenShell/IfcOpenShell/issues/1815
"-DHDF5_SUPPORT=ON"
"-DHDF5_INCLUDE_DIR=${hdf5.dev}/include/"
"-DHDF5_LIBRARIES=${lib.getLib hdf5}/lib/libhdf5_cpp.so;${lib.getLib hdf5}/lib/libhdf5.so;${lib.getLib zlib}/lib/libz.so;${lib.getLib libaec}/lib/libaec.so;"
];
postPatch = ''
pushd src/ifcopenshell-python
# The build process is here: https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.8.0/src/ifcopenshell-python/Makefile#L131
# NOTE: it has changed a *lot* between 0.7.0 and 0.8.0, it *may* change again (look for mathutils and basically all the things this Makefile does manually)
substituteInPlace pyproject.toml --replace-fail "0.0.0" "${version}"
# NOTE: the following is directly inspired by https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.8.0/src/ifcopenshell-python/Makefile#L123
cp ../../README.md README.md
popd
'';
preConfigure = ''
cd cmake
'';
PYTHONUSERBASE = ".";
cmakeFlags = [
"-DUSERSPACE_PYTHON_PREFIX=ON"
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
"-DOCC_LIBRARY_DIR=${opencascade-occt}/lib"
"-DOPENCOLLADA_INCLUDE_DIR=${opencollada}/include/opencollada"
"-DOPENCOLLADA_LIBRARY_DIR=${opencollada}/lib/opencollada"
"-DSWIG_EXECUTABLE=${swig}/bin/swig"
"-DLIBXML2_INCLUDE_DIR=${libxml2.dev}/include/libxml2"
"-DLIBXML2_LIBRARIES=${libxml2.out}/lib/libxml2${stdenv.hostPlatform.extensions.sharedLibrary}"
preCheck = ''
pushd ../../src/ifcopenshell-python
# let's test like done in .github/workflows/ci.yml
# installing the python wrapper and the .so, both are needed to be able to test
cp -v $out/${python.sitePackages}/ifcopenshell/ifcopenshell_wrapper.py ./ifcopenshell
cp $out/${python.sitePackages}/ifcopenshell/_ifcopenshell_wrapper.cpython-${
lib.versions.major python.version + lib.versions.minor python.version
}-${stdenv.targetPlatform.system}-gnu.so ./ifcopenshell
pushd ../../test
PYTHONPATH=../src/ifcopenshell-python/ python tests.py
popd
'';
pytestFlagsArray = [
"-p no:pytest-blender"
];
disabledTestPaths = [
"test/test_open.py"
];
postCheck = ''
popd
'';
passthru = {
updateScript = gitUpdater { rev-prefix = "ifcopenshell-python-"; };
tests = {
version = testers.testVersion { command = "IfcConvert --version"; };
};
};
meta = with lib; {
broken = stdenv.hostPlatform.isDarwin;
description = "Open source IFC library and geometry engine";
homepage = "http://ifcopenshell.org/";
license = licenses.lgpl3;
maintainers = with maintainers; [ fehnomenal ];
maintainers = with maintainers; [ autra ];
};
}

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "llama-cloud";
version = "0.0.17";
version = "0.1.2";
pyproject = true;
disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "llama_cloud";
inherit version;
hash = "sha256-f9aFe7u5GTdTVXLMtI2qOBifVc3XQRGF2Ag9qym6Epk=";
hash = "sha256-fIB0fpp/MtS3OcLV1K3XNR+DbZLmM9asA/pAGJbTMJc=";
};
build-system = [ poetry-core ];

View File

@ -35,7 +35,7 @@
buildPythonPackage rec {
pname = "llama-index-core";
version = "0.11.14";
version = "0.11.16";
pyproject = true;
disabled = pythonOlder "3.8";
@ -44,7 +44,7 @@ buildPythonPackage rec {
owner = "run-llama";
repo = "llama_index";
rev = "refs/tags/v${version}";
hash = "sha256-mkABEjyZb8ONS1BaETbL47sDHo/BOD7G+fJGO0MQyd0=";
hash = "sha256-t4hQMlORpdWXkbKQhVSxD/pdxFtu+sJ4FQQxIXLoH94=";
};
sourceRoot = "${src.name}/${pname}";

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "llama-index-embeddings-gemini";
version = "0.2.0";
version = "0.2.1";
pyproject = true;
disabled = pythonOlder "3.9";
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "llama_index_embeddings_gemini";
inherit version;
hash = "sha256-7ftu+Gh8Ar9+yrFkUldlAvUfVtAw+xzrmyzqr7TeQdc=";
hash = "sha256-TA3dm1+NZ0Km9Li9cswzm5fusVYXTRqA9W3U4OgT92I=";
};
pythonRelaxDeps = [ "google-generativeai" ];

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "llama-index-llms-openai";
version = "0.2.9";
version = "0.2.12";
pyproject = true;
disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "llama_index_llms_openai";
inherit version;
hash = "sha256-VjdvOeOkAlO1xPuQ0Ptq8JPyG7KTWSVhXwwooo0CgYc=";
hash = "sha256-RyG8GnZcyfiWuSgku07RTyicGfwVdlpmgJB4slY6dBE=";
};
pythonRemoveDeps = [

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "llama-index-multi-modal-llms-openai";
version = "0.2.1";
version = "0.2.2";
pyproject = true;
disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "llama_index_multi_modal_llms_openai";
inherit version;
hash = "sha256-G1vmkdX6KGH9S1oHGIPclNgts+HH/2hthN2EBIo1THs=";
hash = "sha256-xyBc/Zoj4iAdtSfKP4+l70+yYKtsmxXnkWNjCpFu4Vk=";
};
build-system = [ poetry-core ];

View File

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "llama-parse";
version = "0.5.6";
version = "0.5.7";
pyproject = true;
disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "llama_parse";
inherit version;
hash = "sha256-PHTaEkbJvdYdY7f8ISBA6i29IY1H/JhqGOOXTmRZG4A=";
hash = "sha256-sqKdvOMrmTQvuULRwhCr7w7qV99vJmZimQOe96kx/v8=";
};
build-system = [ poetry-core ];

View File

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "mailchecker";
version = "6.0.9";
version = "6.0.11";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-8X6Qf/5vb67cJD9X6wyclR9h3smvjpaSLB3NCTOJuI0=";
hash = "sha256-vySQ4mo6msOFdgg44/zHMhpr4ZgP2tV0bQe2OgZHmqI=";
};
build-system = [ setuptools ];

View File

@ -0,0 +1,53 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
opencv4,
pytestCheckHook,
pythonOlder,
setuptools,
tensorflow,
}:
buildPythonPackage {
pname = "mtcnn";
version = "0.1.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "ipazc";
repo = "mtcnn";
# No tags / releases; using commit: https://github.com/ipazc/mtcnn/commit/3208d443a8f01d317c65d7c97a03bc0a6143c41d
rev = "3208d443a8f01d317c65d7c97a03bc0a6143c41d";
hash = "sha256-GXUrLJ5XD6V2hT/gjyYSuh/CMMw2xIXKBsYFvQmbLYs=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "setup, setuptools" "setup, find_packages"\
--replace-fail "setuptools.find_packages" "find_packages"\
--replace-fail "opencv-python>=4.1.0" ""\
--replace-fail "keras>=2.0.0" ""\
--replace-fail "tests_require=['nose']," ""
'';
build-system = [ setuptools ];
dependencies = [
opencv4
tensorflow
];
pythonImportsCheck = [ "mtcnn" ];
nativeCheckInputs = [ pytestCheckHook ];
meta = {
description = "MTCNN face detection implementation for TensorFlow";
homepage = "https://github.com/ipazc/mtcnn";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ derdennisop ];
};
}

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "pyeconet";
version = "0.1.22";
version = "0.1.23";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "w1ll1am23";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-R6PA/i35vo253J4yowe2fPRZEqStAqmm98k81KDHLQk=";
hash = "sha256-zpaKUEg78vzvuTtVauCUUt0U92NXVyNhEfgKVrRzdnM=";
};
nativeBuildInputs = [ setuptools ];

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pysml";
version = "0.1.3";
version = "0.1.4";
pyproject = true;
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "mtdcr";
repo = "pysml";
rev = "refs/tags/${version}";
hash = "sha256-LmybrMHHWsLd6Y2xMqJ8g65SQCsysBGxeL43qouo3SM=";
hash = "sha256-G4t0cHbJWMmDODeldj064SlKGagOfUnnRiGRwLu1bF0=";
};
build-system = [ poetry-core ];

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "python-hcl2";
version = "4.3.5";
version = "5.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "amplify-education";
repo = "python-hcl2";
rev = "refs/tags/v${version}";
hash = "sha256-Pz1FS1g0OYSThpxFcs6UCOAzGnF4kOuRwhx2KIl9sv4=";
hash = "sha256-aUPjW3yQci5aG85qIRHPiKiX01cFw8jWKJY5RuRATvQ=";
};
disabled = pythonOlder "3.7";

View File

@ -7,7 +7,7 @@
cmake,
cython,
ninja,
scikit-build,
scikit-build-core,
setuptools,
numpy,
hypothesis,
@ -19,21 +19,20 @@
buildPythonPackage rec {
pname = "rapidfuzz";
version = "3.9.7";
version = "3.10.0";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "maxbachmann";
repo = "RapidFuzz";
rev = "refs/tags/v${version}";
hash = "sha256-hyjzY9ogroUa4nGSG8HOyr5FxifX9d7Hf8ezKq6zxVk=";
hash = "sha256-hLYidU09nCSOi42zgSh7dW83glxIjFY4C6BTmy/sf60=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "scikit-build~=0.18.0" "scikit-build" \
--replace-fail "Cython >=3.0.11, <3.1.0" "Cython"
'';
@ -41,8 +40,7 @@ buildPythonPackage rec {
cmake
cython
ninja
scikit-build
setuptools
scikit-build-core
];
dontUseCmakeConfigure = true;
@ -61,7 +59,7 @@ buildPythonPackage rec {
'';
optional-dependencies = {
full = [ numpy ];
all = [ numpy ];
};
preCheck = ''

View File

@ -0,0 +1,64 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gdown,
numpy,
opencv4,
pillow,
pytestCheckHook,
pythonOlder,
setuptools,
tensorflow,
}:
buildPythonPackage rec {
pname = "retinaface";
version = "0.0.17";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "serengil";
repo = "retinaface";
rev = "refs/tags/v${version}";
hash = "sha256-0s1CSGlK2bF1F2V/IuG2ZqD7CkNfHGvp1M5C3zDnuKs=";
};
postPatch = ''
# prevent collisions
substituteInPlace setup.py \
--replace-fail "data_files=[(\"\", [\"README.md\", \"requirements.txt\", \"package_info.json\"])]," "" \
--replace-fail "install_requires=requirements," ""
'';
# requires internet connection
disabledTestPaths = [
"tests/test_actions.py"
"tests/test_align_first.py"
"tests/test_expand_face_area.py"
];
build-system = [ setuptools ];
dependencies = [
gdown
numpy
opencv4
pillow
tensorflow
];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "retinaface" ];
meta = {
description = "Deep Face Detection Library for Python";
homepage = "https://github.com/serengil/retinaface";
changelog = "https://github.com/serengil/retinaface/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ derdennisop ];
};
}

View File

@ -30,14 +30,14 @@
buildPythonPackage rec {
pname = "scikit-build-core";
version = "0.10.5";
version = "0.10.7";
pyproject = true;
src = fetchFromGitHub {
owner = "scikit-build";
repo = "scikit-build-core";
rev = "refs/tags/v${version}";
hash = "sha256-hpwXEWPofgMT4ua2tZI1mtGbaBkT2XPBd6QL8xTi1A0=";
hash = "sha256-R6/Y9brIYBA1P3YeG8zGaoPcxWFUDqZlqbZpWu3MIIw=";
};
postPatch = lib.optionalString (pythonOlder "3.11") ''
@ -89,7 +89,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Next generation Python CMake adaptor and Python API for plugins";
homepage = "https://github.com/scikit-build/scikit-build-core";
changelog = "https://github.com/scikit-build/scikit-build-core/releases/tag/v${version}";
changelog = "https://github.com/scikit-build/scikit-build-core/blob/${src.rev}/docs/changelog.md";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ veprbl ];
};

Some files were not shown because too many files have changed in this diff Show More