Merge staging-next into staging
This commit is contained in:
commit
96ea2a3c2f
19
.github/CODEOWNERS
vendored
19
.github/CODEOWNERS
vendored
@ -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
19
.github/OWNERS
vendored
Normal 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
88
.github/workflows/codeowners.yml
vendored
Normal 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' || '' }}
|
31
ci/codeowners-validator/default.nix
Normal file
31
ci/codeowners-validator/default.nix
Normal 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=";
|
||||
}
|
15
ci/codeowners-validator/owners-file-name.patch
Normal file
15
ci/codeowners-validator/owners-file-name.patch
Normal 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)
|
36
ci/codeowners-validator/permissions.patch
Normal file
36
ci/codeowners-validator/permissions.patch
Normal 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
29
ci/default.nix
Normal 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 { };
|
||||
}
|
43
ci/request-reviews/default.nix
Normal file
43
ci/request-reviews/default.nix
Normal 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
|
||||
'';
|
||||
}
|
7
ci/request-reviews/dev-branches.txt
Normal file
7
ci/request-reviews/dev-branches.txt
Normal 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
|
87
ci/request-reviews/get-reviewers.sh
Executable file
87
ci/request-reviews/get-reviewers.sh
Executable 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(" ")
|
||||
}'
|
97
ci/request-reviews/request-reviews.sh
Executable file
97
ci/request-reviews/request-reviews.sh
Executable 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"
|
103
ci/request-reviews/verify-base-branch.sh
Executable file
103
ci/request-reviews/verify-base-branch.sh
Executable 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"
|
@ -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 = [ ];
|
||||
|
@ -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";
|
||||
|
@ -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 hadn’t 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.
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
})
|
||||
];
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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 = {};
|
||||
|
@ -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 = [
|
||||
|
@ -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
@ -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";
|
||||
};
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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 = [
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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}"
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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 ''
|
||||
|
@ -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"; };
|
||||
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
35
pkgs/by-name/em/emplace/package.nix
Normal file
35
pkgs/by-name/em/emplace/package.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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=";
|
||||
|
@ -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
|
||||
|
@ -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; };
|
||||
|
@ -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 ];
|
||||
|
@ -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 \
|
||||
|
@ -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
79
pkgs/by-name/ny/nym/package.nix
Normal file
79
pkgs/by-name/ny/nym/package.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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"
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -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=";
|
||||
|
@ -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
|
||||
|
@ -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 = ''
|
||||
|
@ -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; [
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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"; }
|
||||
|
@ -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
|
||||
;
|
||||
})
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
|
89
pkgs/development/python-modules/cgal/default.nix
Normal file
89
pkgs/development/python-modules/cgal/default.nix
Normal 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;
|
||||
};
|
||||
}
|
80
pkgs/development/python-modules/deepface/default.nix
Normal file
80
pkgs/development/python-modules/deepface/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -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}";
|
||||
|
@ -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" ];
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
53
pkgs/development/python-modules/mtcnn/default.nix
Normal file
53
pkgs/development/python-modules/mtcnn/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
@ -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 = ''
|
||||
|
64
pkgs/development/python-modules/retinaface/default.nix
Normal file
64
pkgs/development/python-modules/retinaface/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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
Loading…
Reference in New Issue
Block a user