Merge staging-next into staging

Changed files
+1625 -395
.github
lib
maintainers
nixos
modules
services
monitoring
web-apps
tests
pkgs
applications
audio
galaxy-buds-client
editors
tweak
vscode
extensions
misc
cherrytree
spicetify-cli
networking
cluster
instant-messengers
rocketchat-desktop
telegram
telegram-desktop
seaweedfs
syncthing
science
version-management
git-mit
video
webtorrent_desktop
build-support
build-graalvm-native-image
by-name
as
ast-grep
ez
fo
fortune-kind
ki
lc
rq
rqbit
sy
symbolicator
data
fonts
sil-abyssinica
development
interpreters
babashka
libraries
vulkan-utility-libraries
ocaml-modules
python-modules
accuweather
asyncua
authcaptureproxy
azure-monitor-ingestion
bitarray
bitstruct
canals
cantools
dvc
dvc-data
dvclive
euclid3
griffe
gvm-tools
newversion
pcbnew-transition
pegen
pixel-ring
pybars3
pymeta3
pyoverkiz
python-gvm
types-awscrt
weconnect
weconnect-mqtt
tools
analysis
rust
cargo-codspeed
os-specific
linux
apfs
mstflint_access
trinity
servers
tools
audio
liquidsoap
misc
mstflint
plantuml-server
qflipper
ttyplot
networking
containerlab
sing-box
tgt
top-level
+5
.github/labeler.yml
···
"6.topic: fetch":
- pkgs/build-support/fetch*/**/*
+
"6.topic: flakes":
+
- '**/flake.nix'
+
- lib/systems/flake-systems.nix
+
- nixos/modules/config/nix-flakes.nix
+
"6.topic: GNOME":
- doc/languages-frameworks/gnome.section.md
- nixos/modules/services/desktops/gnome/**/*
+113
lib/fileset/default.nix
···
_printFileset
_intersection
_difference
+
_mirrorStorePath
+
_fetchGitSubmodulesMinver
;
inherit (builtins)
+
isBool
isList
isPath
pathExists
seq
typeOf
+
nixVersion
;
inherit (lib.lists)
···
inherit (lib.strings)
isStringLike
+
versionOlder
;
inherit (lib.filesystem)
···
inherit (lib.trivial)
isFunction
pipe
+
inPureEvalMode
;
in {
···
# We could also return the original fileset argument here,
# but that would then duplicate work for consumers of the fileset, because then they have to coerce it again
actualFileset;
+
+
/*
+
Create a file set containing all [Git-tracked files](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) in a repository.
+
+
This function behaves like [`gitTrackedWith { }`](#function-library-lib.fileset.gitTrackedWith) - using the defaults.
+
+
Type:
+
gitTracked :: Path -> FileSet
+
+
Example:
+
# Include all files tracked by the Git repository in the current directory
+
gitTracked ./.
+
+
# Include only files tracked by the Git repository in the parent directory
+
# that are also in the current directory
+
intersection ./. (gitTracked ../.)
+
*/
+
gitTracked =
+
/*
+
The [path](https://nixos.org/manual/nix/stable/language/values#type-path) to the working directory of a local Git repository.
+
This directory must contain a `.git` file or subdirectory.
+
*/
+
path:
+
# See the gitTrackedWith implementation for more explanatory comments
+
let
+
fetchResult = builtins.fetchGit path;
+
in
+
if inPureEvalMode then
+
throw "lib.fileset.gitTracked: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292."
+
else if ! isPath path then
+
throw "lib.fileset.gitTracked: Expected the argument to be a path, but it's a ${typeOf path} instead."
+
else if ! pathExists (path + "/.git") then
+
throw "lib.fileset.gitTracked: Expected the argument (${toString path}) to point to a local working tree of a Git repository, but it's not."
+
else
+
_mirrorStorePath path fetchResult.outPath;
+
+
/*
+
Create a file set containing all [Git-tracked files](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) in a repository.
+
The first argument allows configuration with an attribute set,
+
while the second argument is the path to the Git working tree.
+
If you don't need the configuration,
+
you can use [`gitTracked`](#function-library-lib.fileset.gitTracked) instead.
+
+
This is equivalent to the result of [`unions`](#function-library-lib.fileset.unions) on all files returned by [`git ls-files`](https://git-scm.com/docs/git-ls-files)
+
(which uses [`--cached`](https://git-scm.com/docs/git-ls-files#Documentation/git-ls-files.txt--c) by default).
+
+
:::{.warning}
+
Currently this function is based on [`builtins.fetchGit`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-fetchGit)
+
As such, this function causes all Git-tracked files to be unnecessarily added to the Nix store,
+
without being re-usable by [`toSource`](#function-library-lib.fileset.toSource).
+
+
This may change in the future.
+
:::
+
+
Type:
+
gitTrackedWith :: { recurseSubmodules :: Bool ? false } -> Path -> FileSet
+
+
Example:
+
# Include all files tracked by the Git repository in the current directory
+
# and any submodules under it
+
gitTracked { recurseSubmodules = true; } ./.
+
*/
+
gitTrackedWith =
+
{
+
/*
+
(optional, default: `false`) Whether to recurse into [Git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to also include their tracked files.
+
+
If `true`, this is equivalent to passing the [--recurse-submodules](https://git-scm.com/docs/git-ls-files#Documentation/git-ls-files.txt---recurse-submodules) flag to `git ls-files`.
+
*/
+
recurseSubmodules ? false,
+
}:
+
/*
+
The [path](https://nixos.org/manual/nix/stable/language/values#type-path) to the working directory of a local Git repository.
+
This directory must contain a `.git` file or subdirectory.
+
*/
+
path:
+
let
+
# This imports the files unnecessarily, which currently can't be avoided
+
# because `builtins.fetchGit` is the only function exposing which files are tracked by Git.
+
# With the [lazy trees PR](https://github.com/NixOS/nix/pull/6530),
+
# the unnecessarily import could be avoided.
+
# However a simpler alternative still would be [a builtins.gitLsFiles](https://github.com/NixOS/nix/issues/2944).
+
fetchResult = builtins.fetchGit {
+
url = path;
+
+
# This is the only `fetchGit` parameter that makes sense in this context.
+
# We can't just pass `submodules = recurseSubmodules` here because
+
# this would fail for Nix versions that don't support `submodules`.
+
${if recurseSubmodules then "submodules" else null} = true;
+
};
+
in
+
if inPureEvalMode then
+
throw "lib.fileset.gitTrackedWith: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292."
+
else if ! isBool recurseSubmodules then
+
throw "lib.fileset.gitTrackedWith: Expected the attribute `recurseSubmodules` of the first argument to be a boolean, but it's a ${typeOf recurseSubmodules} instead."
+
else if recurseSubmodules && versionOlder nixVersion _fetchGitSubmodulesMinver then
+
throw "lib.fileset.gitTrackedWith: Setting the attribute `recurseSubmodules` to `true` is only supported for Nix version ${_fetchGitSubmodulesMinver} and after, but Nix version ${nixVersion} is used."
+
else if ! isPath path then
+
throw "lib.fileset.gitTrackedWith: Expected the second argument to be a path, but it's a ${typeOf path} instead."
+
# We can identify local working directories by checking for .git,
+
# see https://git-scm.com/docs/gitrepository-layout#_description.
+
# Note that `builtins.fetchGit` _does_ work for bare repositories (where there's no `.git`),
+
# even though `git ls-files` wouldn't return any files in that case.
+
else if ! pathExists (path + "/.git") then
+
throw "lib.fileset.gitTrackedWith: Expected the second argument (${toString path}) to point to a local working tree of a Git repository, but it's not."
+
else
+
_mirrorStorePath path fetchResult.outPath;
}
+23
lib/fileset/internal.nix
···
${baseNameOf root} =
fromFile (baseNameOf root) rootType;
};
+
+
# Support for `builtins.fetchGit` with `submodules = true` was introduced in 2.4
+
# https://github.com/NixOS/nix/commit/55cefd41d63368d4286568e2956afd535cb44018
+
_fetchGitSubmodulesMinver = "2.4";
+
+
# Mirrors the contents of a Nix store path relative to a local path as a file set.
+
# Some notes:
+
# - The store path is read at evaluation time.
+
# - The store path must not include files that don't exist in the respective local path.
+
#
+
# Type: Path -> String -> FileSet
+
_mirrorStorePath = localPath: storePath:
+
let
+
recurse = focusedStorePath:
+
mapAttrs (name: type:
+
if type == "directory" then
+
recurse (focusedStorePath + "/${name}")
+
else
+
type
+
) (builtins.readDir focusedStorePath);
+
in
+
_create localPath
+
(recurse storePath);
}
+210 -16
lib/fileset/tests.sh
···
cut -d \" -f2
}
-
prefixExpression='let
-
lib = import <nixpkgs/lib>;
-
internal = import <nixpkgs/lib/fileset/internal.nix> {
-
inherit lib;
-
};
-
in
-
with lib;
-
with internal;
-
with lib.fileset;'
+
prefixExpression() {
+
echo 'let
+
lib =
+
(import <nixpkgs/lib>)
+
'
+
if [[ "${1:-}" == "--simulate-pure-eval" ]]; then
+
echo '
+
.extend (final: prev: {
+
trivial = prev.trivial // {
+
inPureEvalMode = true;
+
};
+
})'
+
fi
+
echo '
+
;
+
internal = import <nixpkgs/lib/fileset/internal.nix> {
+
inherit lib;
+
};
+
in
+
with lib;
+
with internal;
+
with lib.fileset;'
+
}
# Check that two nix expression successfully evaluate to the same value.
# The expressions have `lib.fileset` in scope.
···
local actualExpr=$1
local expectedExpr=$2
if actualResult=$(nix-instantiate --eval --strict --show-trace 2>"$tmp"/actualStderr \
-
--expr "$prefixExpression ($actualExpr)"); then
+
--expr "$(prefixExpression) ($actualExpr)"); then
actualExitCode=$?
else
actualExitCode=$?
···
actualStderr=$(< "$tmp"/actualStderr)
if expectedResult=$(nix-instantiate --eval --strict --show-trace 2>"$tmp"/expectedStderr \
-
--expr "$prefixExpression ($expectedExpr)"); then
+
--expr "$(prefixExpression) ($expectedExpr)"); then
expectedExitCode=$?
else
expectedExitCode=$?
···
# Usage: expectStorePath NIX
expectStorePath() {
local expr=$1
-
if ! result=$(nix-instantiate --eval --strict --json --read-write-mode --show-trace \
-
--expr "$prefixExpression ($expr)"); then
+
if ! result=$(nix-instantiate --eval --strict --json --read-write-mode --show-trace 2>"$tmp"/stderr \
+
--expr "$(prefixExpression) ($expr)"); then
+
cat "$tmp/stderr" >&2
die "$expr failed to evaluate, but it was expected to succeed"
fi
# This is safe because we assume to get back a store path in a string
···
# The expression has `lib.fileset` in scope.
# Usage: expectFailure NIX REGEX
expectFailure() {
+
if [[ "$1" == "--simulate-pure-eval" ]]; then
+
maybePure="--simulate-pure-eval"
+
shift
+
else
+
maybePure=""
+
fi
local expr=$1
local expectedErrorRegex=$2
if result=$(nix-instantiate --eval --strict --read-write-mode --show-trace 2>"$tmp/stderr" \
-
--expr "$prefixExpression $expr"); then
+
--expr "$(prefixExpression $maybePure) $expr"); then
die "$expr evaluated successfully to $result, but it was expected to fail"
fi
stderr=$(<"$tmp/stderr")
···
local expectedTrace=$2
nix-instantiate --eval --show-trace >/dev/null 2>"$tmp"/stderrTrace \
-
--expr "$prefixExpression trace ($expr)" || true
+
--expr "$(prefixExpression) trace ($expr)" || true
actualTrace=$(sed -n 's/^trace: //p' "$tmp/stderrTrace")
nix-instantiate --eval --show-trace >/dev/null 2>"$tmp"/stderrTraceVal \
-
--expr "$prefixExpression traceVal ($expr)" || true
+
--expr "$(prefixExpression) traceVal ($expr)" || true
actualTraceVal=$(sed -n 's/^trace: //p' "$tmp/stderrTraceVal")
···
else
abort "filter should not be called on ${pathString}";
}))) null' 'trace ./a/b null'
+
rm -rf -- *
+
+
## lib.fileset.gitTracked/gitTrackedWith
+
+
# The first/second argument has to be a path
+
expectFailure 'gitTracked null' 'lib.fileset.gitTracked: Expected the argument to be a path, but it'\''s a null instead.'
+
expectFailure 'gitTrackedWith {} null' 'lib.fileset.gitTrackedWith: Expected the second argument to be a path, but it'\''s a null instead.'
+
+
# The path has to contain a .git directory
+
expectFailure 'gitTracked ./.' 'lib.fileset.gitTracked: Expected the argument \('"$work"'\) to point to a local working tree of a Git repository, but it'\''s not.'
+
expectFailure 'gitTrackedWith {} ./.' 'lib.fileset.gitTrackedWith: Expected the second argument \('"$work"'\) to point to a local working tree of a Git repository, but it'\''s not.'
+
+
# recurseSubmodules has to be a boolean
+
expectFailure 'gitTrackedWith { recurseSubmodules = null; } ./.' 'lib.fileset.gitTrackedWith: Expected the attribute `recurseSubmodules` of the first argument to be a boolean, but it'\''s a null instead.'
+
+
# recurseSubmodules = true is not supported on all Nix versions
+
if [[ "$(nix-instantiate --eval --expr "$(prefixExpression) (versionAtLeast builtins.nixVersion _fetchGitSubmodulesMinver)")" == true ]]; then
+
fetchGitSupportsSubmodules=1
+
else
+
fetchGitSupportsSubmodules=
+
expectFailure 'gitTrackedWith { recurseSubmodules = true; } ./.' 'lib.fileset.gitTrackedWith: Setting the attribute `recurseSubmodules` to `true` is only supported for Nix version 2.4 and after, but Nix version [0-9.]+ is used.'
+
fi
+
+
# Checks that `gitTrackedWith` contains the same files as `git ls-files`
+
# for the current working directory.
+
# If --recurse-submodules is passed, the flag is passed through to `git ls-files`
+
# and as `recurseSubmodules` to `gitTrackedWith`
+
checkGitTrackedWith() {
+
if [[ "${1:-}" == "--recurse-submodules" ]]; then
+
gitLsFlags="--recurse-submodules"
+
gitTrackedArg="{ recurseSubmodules = true; }"
+
else
+
gitLsFlags=""
+
gitTrackedArg="{ }"
+
fi
+
+
# All files listed by `git ls-files`
+
expectedFiles=()
+
while IFS= read -r -d $'\0' file; do
+
# If there are submodules but --recurse-submodules isn't passed,
+
# `git ls-files` lists them as empty directories,
+
# we need to filter that out since we only want to check/count files
+
if [[ -f "$file" ]]; then
+
expectedFiles+=("$file")
+
fi
+
done < <(git ls-files -z $gitLsFlags)
+
+
storePath=$(expectStorePath 'toSource { root = ./.; fileset = gitTrackedWith '"$gitTrackedArg"' ./.; }')
+
+
# Check that each expected file is also in the store path with the same content
+
for expectedFile in "${expectedFiles[@]}"; do
+
if [[ ! -e "$storePath"/"$expectedFile" ]]; then
+
die "Expected file $expectedFile to exist in $storePath, but it doesn't.\nGit status:\n$(git status)\nStore path contents:\n$(find "$storePath")"
+
fi
+
if ! diff "$expectedFile" "$storePath"/"$expectedFile"; then
+
die "Expected file $expectedFile to have the same contents as in $storePath, but it doesn't.\nGit status:\n$(git status)\nStore path contents:\n$(find "$storePath")"
+
fi
+
done
+
+
# This is a cheap way to verify the inverse: That all files in the store path are also expected
+
# We just count the number of files in both and verify they're the same
+
actualFileCount=$(find "$storePath" -type f -printf . | wc -c)
+
if [[ "${#expectedFiles[@]}" != "$actualFileCount" ]]; then
+
die "Expected ${#expectedFiles[@]} files in $storePath, but got $actualFileCount.\nGit status:\n$(git status)\nStore path contents:\n$(find "$storePath")"
+
fi
+
}
+
+
+
# Runs checkGitTrackedWith with and without --recurse-submodules
+
# Allows testing both variants together
+
checkGitTracked() {
+
checkGitTrackedWith
+
if [[ -n "$fetchGitSupportsSubmodules" ]]; then
+
checkGitTrackedWith --recurse-submodules
+
fi
+
}
+
+
createGitRepo() {
+
git init -q "$1"
+
# Only repo-local config
+
git -C "$1" config user.name "Nixpkgs"
+
git -C "$1" config user.email "nixpkgs@nixos.org"
+
# Get at least a HEAD commit, needed for older Nix versions
+
git -C "$1" commit -q --allow-empty -m "Empty commit"
+
}
+
+
# Check the error message for pure eval mode
+
createGitRepo .
+
expectFailure --simulate-pure-eval 'toSource { root = ./.; fileset = gitTracked ./.; }' 'lib.fileset.gitTracked: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292.'
+
expectFailure --simulate-pure-eval 'toSource { root = ./.; fileset = gitTrackedWith {} ./.; }' 'lib.fileset.gitTrackedWith: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292.'
+
rm -rf -- *
+
+
# Go through all stages of Git files
+
# See https://www.git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository
+
+
# Empty repository
+
createGitRepo .
+
checkGitTracked
+
+
# Untracked file
+
echo a > a
+
checkGitTracked
+
+
# Staged file
+
git add a
+
checkGitTracked
+
+
# Committed file
+
git commit -q -m "Added a"
+
checkGitTracked
+
+
# Edited file
+
echo b > a
+
checkGitTracked
+
+
# Removed file
+
git rm -f -q a
+
checkGitTracked
+
+
rm -rf -- *
+
+
# gitignored file
+
createGitRepo .
+
echo a > .gitignore
+
touch a
+
git add -A
+
checkGitTracked
+
+
# Add it regardless (needs -f)
+
git add -f a
+
checkGitTracked
+
rm -rf -- *
+
+
# Directory
+
createGitRepo .
+
mkdir -p d1/d2/d3
+
touch d1/d2/d3/a
+
git add d1
+
checkGitTracked
+
rm -rf -- *
+
+
# Submodules
+
createGitRepo .
+
createGitRepo sub
+
+
# Untracked submodule
+
git -C sub commit -q --allow-empty -m "Empty commit"
+
checkGitTracked
+
+
# Tracked submodule
+
git submodule add ./sub sub >/dev/null
+
checkGitTracked
+
+
# Untracked file
+
echo a > sub/a
+
checkGitTracked
+
+
# Staged file
+
git -C sub add a
+
checkGitTracked
+
+
# Committed file
+
git -C sub commit -q -m "Add a"
+
checkGitTracked
+
+
# Changed file
+
echo b > sub/b
+
checkGitTracked
+
+
# Removed file
+
git -C sub rm -f -q a
+
checkGitTracked
+
rm -rf -- *
# TODO: Once we have combinators and a property testing library, derive property tests from https://en.wikipedia.org/wiki/Algebra_of_sets
+2
lib/tests/release.nix
···
];
nativeBuildInputs = [
nix
+
pkgs.gitMinimal
] ++ lib.optional pkgs.stdenv.isLinux pkgs.inotify-tools;
strictDeps = true;
} ''
datadir="${nix}/share"
export TEST_ROOT=$(pwd)/test-tmp
+
export HOME=$(mktemp -d)
export NIX_BUILD_HOOK=
export NIX_CONF_DIR=$TEST_ROOT/etc
export NIX_LOCALSTATE_DIR=$TEST_ROOT/var
+15
maintainers/maintainer-list.nix
···
githubId = 18501;
name = "Julien Langlois";
};
+
jfly = {
+
name = "Jeremy Fleischman";
+
email = "jeremyfleischman@gmail.com";
+
github = "jfly";
+
githubId = 277474;
+
keys = [{
+
fingerprint = "F1F1 3395 8E8E 9CC4 D9FC 9647 1931 9CD8 416A 642B";
+
}];
+
};
jfrankenau = {
email = "johannes@frankenau.net";
github = "jfrankenau";
···
github = "matt-snider";
githubId = 11810057;
name = "Matt Snider";
+
};
+
matusf = {
+
email = "matus.ferech@gmail.com";
+
github = "matusf";
+
githubId = 18228995;
+
name = "Matúš Ferech";
maurer = {
email = "matthew.r.maurer+nix@gmail.com";
+1
nixos/modules/services/monitoring/parsedmarc.nix
···
description = lib.mdDoc ''
The addresses to send outgoing mail to.
'';
+
apply = x: if x == [] then null else lib.concatStringsSep "," x;
};
};
+66 -52
nixos/modules/services/web-apps/plantuml-server.nix
···
{ config, lib, pkgs, ... }:
-
with lib;
-
let
+
inherit (lib)
+
literalExpression
+
mdDoc
+
mkEnableOption
+
mkIf
+
mkOption
+
mkPackageOptionMD
+
mkRemovedOptionModule
+
types
+
;
cfg = config.services.plantuml-server;
in
{
+
imports = [
+
(mkRemovedOptionModule [ "services" "plantuml-server" "allowPlantumlInclude" ] "This option has been removed from PlantUML.")
+
];
+
options = {
services.plantuml-server = {
-
enable = mkEnableOption (lib.mdDoc "PlantUML server");
+
enable = mkEnableOption (mdDoc "PlantUML server");
-
package = mkOption {
-
type = types.package;
-
default = pkgs.plantuml-server;
-
defaultText = literalExpression "pkgs.plantuml-server";
-
description = lib.mdDoc "PlantUML server package to use";
-
};
+
package = mkPackageOptionMD pkgs "plantuml-server" { };
packages = {
-
jdk = mkOption {
-
type = types.package;
-
default = pkgs.jdk;
-
defaultText = literalExpression "pkgs.jdk";
-
description = lib.mdDoc "JDK package to use for the server";
-
};
-
jetty = mkOption {
-
type = types.package;
-
default = pkgs.jetty;
-
defaultText = literalExpression "pkgs.jetty";
-
description = lib.mdDoc "Jetty package to use for the server";
+
jdk = mkPackageOptionMD pkgs "jdk" { };
+
jetty = mkPackageOptionMD pkgs "jetty" {
+
default = "jetty_11";
+
extraDescription = ''
+
At the time of writing (v1.2023.12), PlantUML Server does not support
+
Jetty versions higher than 12.x.
+
+
Jetty 12.x has introduced major breaking changes, see
+
<https://github.com/jetty/jetty.project/releases/tag/jetty-12.0.0> and
+
<https://eclipse.dev/jetty/documentation/jetty-12/programming-guide/index.html#pg-migration-11-to-12>
+
'';
};
};
user = mkOption {
type = types.str;
default = "plantuml";
-
description = lib.mdDoc "User which runs PlantUML server.";
+
description = mdDoc "User which runs PlantUML server.";
};
group = mkOption {
type = types.str;
default = "plantuml";
-
description = lib.mdDoc "Group which runs PlantUML server.";
+
description = mdDoc "Group which runs PlantUML server.";
};
home = mkOption {
-
type = types.str;
+
type = types.path;
default = "/var/lib/plantuml";
-
description = lib.mdDoc "Home directory of the PlantUML server instance.";
+
description = mdDoc "Home directory of the PlantUML server instance.";
};
listenHost = mkOption {
type = types.str;
default = "127.0.0.1";
-
description = lib.mdDoc "Host to listen on.";
+
description = mdDoc "Host to listen on.";
};
listenPort = mkOption {
type = types.int;
default = 8080;
-
description = lib.mdDoc "Port to listen on.";
+
description = mdDoc "Port to listen on.";
};
plantumlLimitSize = mkOption {
type = types.int;
default = 4096;
-
description = lib.mdDoc "Limits image width and height.";
+
description = mdDoc "Limits image width and height.";
};
-
graphvizPackage = mkOption {
-
type = types.package;
-
default = pkgs.graphviz;
-
defaultText = literalExpression "pkgs.graphviz";
-
description = lib.mdDoc "Package containing the dot executable.";
-
};
+
graphvizPackage = mkPackageOptionMD pkgs "graphviz" { };
plantumlStats = mkOption {
type = types.bool;
default = false;
-
description = lib.mdDoc "Set it to on to enable statistics report (https://plantuml.com/statistics-report).";
+
description = mdDoc "Set it to on to enable statistics report (https://plantuml.com/statistics-report).";
};
httpAuthorization = mkOption {
type = types.nullOr types.str;
default = null;
-
description = lib.mdDoc "When calling the proxy endpoint, the value of HTTP_AUTHORIZATION will be used to set the HTTP Authorization header.";
-
};
-
-
allowPlantumlInclude = mkOption {
-
type = types.bool;
-
default = false;
-
description = lib.mdDoc "Enables !include processing which can read files from the server into diagrams. Files are read relative to the current working directory.";
+
description = mdDoc "When calling the proxy endpoint, the value of HTTP_AUTHORIZATION will be used to set the HTTP Authorization header.";
};
};
};
config = mkIf cfg.enable {
-
users.users.${cfg.user} = {
-
isSystemUser = true;
-
group = cfg.group;
-
home = cfg.home;
-
createHome = true;
-
};
-
-
users.groups.${cfg.group} = {};
-
systemd.services.plantuml-server = {
description = "PlantUML server";
wantedBy = [ "multi-user.target" ];
path = [ cfg.home ];
+
environment = {
PLANTUML_LIMIT_SIZE = builtins.toString cfg.plantumlLimitSize;
GRAPHVIZ_DOT = "${cfg.graphvizPackage}/bin/dot";
PLANTUML_STATS = if cfg.plantumlStats then "on" else "off";
HTTP_AUTHORIZATION = cfg.httpAuthorization;
-
ALLOW_PLANTUML_INCLUDE = if cfg.allowPlantumlInclude then "true" else "false";
};
script = ''
${cfg.packages.jdk}/bin/java \
···
jetty.http.host=${cfg.listenHost} \
jetty.http.port=${builtins.toString cfg.listenPort}
'';
+
serviceConfig = {
User = cfg.user;
Group = cfg.group;
+
StateDirectory = mkIf (cfg.home == "/var/lib/plantuml") "plantuml";
+
StateDirectoryMode = mkIf (cfg.home == "/var/lib/plantuml") "0750";
+
+
# Hardening
+
AmbientCapabilities = [ "" ];
+
CapabilityBoundingSet = [ "" ];
+
DynamicUser = true;
+
LockPersonality = true;
+
NoNewPrivileges = true;
+
PrivateDevices = true;
+
PrivateNetwork = false;
PrivateTmp = true;
+
PrivateUsers = true;
+
ProtectClock = true;
+
ProtectControlGroups = true;
+
ProtectHome = true;
+
ProtectHostname = true;
+
ProtectKernelLogs = true;
+
ProtectKernelModules = true;
+
ProtectKernelTunables = true;
+
ProtectSystem = "strict";
+
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+
RestrictNamespaces = true;
+
RestrictRealtime = true;
+
RestrictSUIDSGID = true;
+
SystemCallArchitectures = "native";
+
SystemCallFilter = [ "@system-service" ];
};
};
};
-
meta.maintainers = with lib.maintainers; [ truh ];
+
meta.maintainers = with lib.maintainers; [ truh anthonyroussel ];
}
+1
nixos/tests/all-tests.nix
···
phylactery = handleTest ./web-apps/phylactery.nix {};
pict-rs = handleTest ./pict-rs.nix {};
pinnwand = handleTest ./pinnwand.nix {};
+
plantuml-server = handleTest ./plantuml-server.nix {};
plasma-bigscreen = handleTest ./plasma-bigscreen.nix {};
plasma5 = handleTest ./plasma5.nix {};
plasma5-systemd-start = handleTest ./plasma5-systemd-start.nix {};
+20
nixos/tests/plantuml-server.nix
···
+
import ./make-test-python.nix ({ pkgs, lib, ... }: {
+
name = "plantuml-server";
+
meta.maintainers = with lib.maintainers; [ anthonyroussel ];
+
+
nodes.machine = { pkgs, ... }: {
+
environment.systemPackages = [ pkgs.curl ];
+
services.plantuml-server.enable = true;
+
};
+
+
testScript = ''
+
start_all()
+
+
machine.wait_for_unit("plantuml-server.service")
+
machine.wait_for_open_port(8080)
+
+
with subtest("Generate chart"):
+
chart_id = machine.succeed("curl -sSf http://localhost:8080/plantuml/coder -d 'Alice -> Bob'")
+
machine.succeed("curl -sSf http://localhost:8080/plantuml/txt/{}".format(chart_id))
+
'';
+
})
+2 -2
pkgs/applications/audio/galaxy-buds-client/default.nix
···
buildDotnetModule rec {
pname = "galaxy-buds-client";
-
version = "4.5.2";
+
version = "4.5.4";
src = fetchFromGitHub {
owner = "ThePBone";
repo = "GalaxyBudsClient";
rev = version;
-
hash = "sha256-bnJ1xvqos+JP0KF8Z7mX8/8IozcaRCgaRL3cSO3V120=";
+
hash = "sha256-mmhXTtESjc8uNULc9zV2Qy/815BEEL7ybdnjArF2CXY=";
};
projectFile = [ "GalaxyBudsClient/GalaxyBudsClient.csproj" ];
+42 -27
pkgs/applications/audio/galaxy-buds-client/deps.nix
···
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
-
(fetchNuGet { pname = "Avalonia"; version = "0.10.14"; sha256 = "0nn3xgkf7v47dwpnsxjg0b25ifqa4mbq02ja5rvnlc3q2k6k0fxv"; })
+
(fetchNuGet { pname = "Avalonia"; version = "0.10.18"; sha256 = "01x7fc8rdkzba40piwi1ngsk7f8jawzn5bcq2la96hphsiahaarh"; })
(fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; })
-
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.14"; sha256 = "0diw3l2nblapvvhnpl28fcgmqg845rlp8cszcvzhd8g6mcm54r7i"; })
-
(fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.14"; sha256 = "0r0p1g80pj06d8i7mq0kj00bpnsdlrxkh31r9166c779in34y946"; })
-
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.14"; sha256 = "133w2s2jrjj8731s7xq06c8b4zwn00lb7cn8c1iypqaa82krvkq2"; })
-
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.14"; sha256 = "06v18kmq10z5gmdqpnvn3aws2ir14gnnz0gvkbj7f68bfggzcg3s"; })
-
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.14"; sha256 = "1qmggiigsn2rkqr0fhrfvyx138dvazihj64r1s4azq014530r0pk"; })
-
(fetchNuGet { pname = "Avalonia.Native"; version = "0.10.14"; sha256 = "1h0h20cq6hds2mljn1457s42n6pcq821l1d6da2ijncmhk6rdwnl"; })
-
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.14"; sha256 = "1hnski71ynqqlddfnbhall4fx3ndh04774kzykzparm8nd9aqaam"; })
-
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.13"; sha256 = "0k5y0w164m03q278m4wr7zzf3vfq9nb0am9vmmprivpn1xwwa7ml"; })
-
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.14"; sha256 = "1cvyg94avqdscniszshx5r3vfvx0cnna262sp89ad4bianmd4qkj"; })
-
(fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "0.10.13"; sha256 = "1msrsxzya1l0grfxk17yizfvy2vg4i7hyw1aw54s8gf7x3gpzn86"; })
-
(fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.14"; sha256 = "1c1jdxsnqrzwrcalrvc7x34x1zxc5qcpfxx4fkqca99ngw4b0blj"; })
-
(fetchNuGet { pname = "Avalonia.X11"; version = "0.10.14"; sha256 = "182nza6rqndxlwi089r06ladfc6j8vsgqzd7xq21s91zbcbcidar"; })
-
(fetchNuGet { pname = "Avalonia.Xaml.Behaviors"; version = "0.10.13"; sha256 = "0cs42z2vz679mdic7fbxzjs53xm2lp37wcnh843nz86qvma5280k"; })
-
(fetchNuGet { pname = "Avalonia.Xaml.Interactions"; version = "0.10.13"; sha256 = "0s5fcsy2hs2wphd5cs4dnk4aw8zs5bbzisg0ba5akqpzwpps8fs1"; })
-
(fetchNuGet { pname = "Avalonia.Xaml.Interactivity"; version = "0.10.13"; sha256 = "19kxbgs0nbiw9zq1f9fsawnw0sl5c880z2dfidnjp99vvfda9rzs"; })
+
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.18"; sha256 = "1qbb527jvhv2p8dcxi7lhm3lczy96j546gb5w09gh90dmzaq45bw"; })
+
(fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.18"; sha256 = "0iaby5696km0yl0bs2a8i6a5ypras54mimnmh9wjwarwniqj8yjs"; })
+
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.18"; sha256 = "1qsrzv1fz73p46p9v60qqds229znfv9hawnams5hxwl46jn2v9cp"; })
+
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.18"; sha256 = "173apfayxkm3lgj7xk9xzsbxmdhv44svr49ccqnd1dii7y69bgny"; })
+
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.18"; sha256 = "0vcbhwckzxgcq9wxim91zk30kzjaydr9szl4rbr3rz85447hj9pi"; })
+
(fetchNuGet { pname = "Avalonia.Native"; version = "0.10.18"; sha256 = "1hvmjs7wfcbycviky79g1p5q3bzs8j31sr53nnqxqy6pnbmg0nxg"; })
+
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.18"; sha256 = "0phxxz4r1llklvp4svy9qlsms3qw77crai3ww70g03fifmmr9qq2"; })
+
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.16"; sha256 = "1rla042nc9mc36qnpipszrf0sffwi5d83cr9dmihpa015bby42pz"; })
+
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.18"; sha256 = "1vi83d9q6m2zd7b5snyzjxsj3vdp5bmi5vqhfslzghslpbhj2zwv"; })
+
(fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "0.10.16"; sha256 = "1gsm421gzzymc6rys4sw4hds33grg2mwpnm5xpbhwfh4bnbfblg8"; })
+
(fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.18"; sha256 = "1rvqydbzdi2n6jw4xx9q8i025w5zsgcli9vmv0vw1d51rd4cnc4k"; })
+
(fetchNuGet { pname = "Avalonia.X11"; version = "0.10.18"; sha256 = "0bzhbnz0dimxbpjxcrphnjn8nk37hqw0b83s2nsha4gzqvpc75b2"; })
+
(fetchNuGet { pname = "Avalonia.Xaml.Behaviors"; version = "0.10.17"; sha256 = "05g761may9xa1n75lmzib5hknjk7k0nz453bmg2d5m0xxqw6yc13"; })
+
(fetchNuGet { pname = "Avalonia.Xaml.Interactions"; version = "0.10.17"; sha256 = "0k0xnbayplndc6xld98jdla8zv769aj5s285cpbdgm2dril0rywj"; })
+
(fetchNuGet { pname = "Avalonia.Xaml.Interactivity"; version = "0.10.17"; sha256 = "0smxxr0b8585x0fq57y3jcaxpl5qyxmkr0c6pd83bsczk8p4rjfy"; })
(fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; })
(fetchNuGet { pname = "Config.Net"; version = "4.15.0"; sha256 = "0hsyma0r8hssz2h7bx38rr8ajx28x5ya2h4k665cbd65z3cs1di1"; })
(fetchNuGet { pname = "Config.Net.Json"; version = "4.15.0"; sha256 = "1q6v4pj76h0hhn26ln4kc8vg75jm8jnlp1ssnrqzwxy88yf82z4h"; })
(fetchNuGet { pname = "CS-Script.Core"; version = "1.4.2-preview"; sha256 = "0djliiixl3ncc1b29s9knal1ascg359na0pacsm73p98ad1f7pzh"; })
-
(fetchNuGet { pname = "Fizzler"; version = "1.2.0"; sha256 = "1b8kvqli5wql53ab9fwyg78h572z4f286s8rjb9xxmsyav1hsyll"; })
+
(fetchNuGet { pname = "ExCSS"; version = "4.1.4"; sha256 = "1y50xp6rihkydbf5l73mr3qq2rm6rdfjrzdw9h1dw9my230q5lpd"; })
+
(fetchNuGet { pname = "Fizzler"; version = "1.2.1"; sha256 = "1w5jb1d0figbv68dydbnlcsfmqlc3sv9z1zxp7d79dg2dkarc4qm"; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2-preview.178"; sha256 = "1p5nwzl7jpypsd6df7hgcf47r977anjlyv21wacmalsj6lvdgnvn"; })
+
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.1-preview.1"; sha256 = "1g5g7mnfr668hww9r84pfl04x0s44cq5ppykqg406a0lkdb2g8yp"; })
+
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.1-preview.108"; sha256 = "0xs4px4fy5b6glc77rqswzpi5ddhxvbar1md6q9wla7hckabnq0z"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2-preview.178"; sha256 = "1402ylkxbgcnagcarqlfvg4gppy2pqs3bmin4n5mphva1g7bqb2p"; })
+
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.1-preview.108"; sha256 = "16wvgvyra2g1b38rxxgkk85wbz89hspixs54zfcm4racgmj1mrj4"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2-preview.178"; sha256 = "0p8miaclnbfpacc1jaqxwfg0yfx9byagi4j4k91d9621vd19i8b2"; })
+
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.1-preview.1"; sha256 = "0z0fadsicysa77ji4fnjkaaqfpc0d1w7x9qlkq40kb3jg7xhsmyx"; })
+
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.1-preview.108"; sha256 = "16v7lrwwif2f5zfkx08n6y6w3m56mh4hy757biv0w9yffaf200js"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2-preview.178"; sha256 = "1n9jay9sji04xly6n8bzz4591fgy8i65p21a8mv5ip9lsyj1c320"; })
+
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.1-preview.108"; sha256 = "15kqb353snwpavz3jja63mq8xjqsrw1f902scm8wxmsqrm5q6x55"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2-preview.178"; sha256 = "1r5syii96wv8q558cvsqw3lr10cdw6677lyiy82p6i3if51v3mr7"; })
+
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.1"; sha256 = "15671jvv5j98rkv249nn1fchxcd9gq8b37iwjqbmijig3r4ir718"; })
+
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.108"; sha256 = "0n6ymn9jqms3mk5hg0ar4y9jmh96myl6q0jimn7ahb1a8viq55k1"; })
(fetchNuGet { pname = "InputSimulatorCore"; version = "1.0.5"; sha256 = "1vfqhqjcrpzahhvv5kyh6pk6j5c06wd0b2831y31fbxpdkxhbs2p"; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; })
(fetchNuGet { pname = "libsodium"; version = "1.0.18"; sha256 = "15qzl5k31yaaapqlijr336lh4lzz1qqxlimgxy8fdyig8jdmgszn"; })
···
(fetchNuGet { pname = "Serilog.Sinks.Debug"; version = "2.0.0"; sha256 = "1i7j870l47gan3gpnnlzkccn5lbm7518cnkp25a3g5gp9l0dbwpw"; })
(fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; })
(fetchNuGet { pname = "Serilog.Sinks.Trace"; version = "3.0.0"; sha256 = "10byjmh2s0c13lmnzfw24qmr11kry9hg9y5fib3556y7759qwbqv"; })
-
(fetchNuGet { pname = "ShimSkiaSharp"; version = "0.5.13"; sha256 = "0gzsiv85g0i8jmjl0nplvljqrgc4y42ds1q0f1x1hdqbnn7vsav2"; })
-
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.0-preview.178"; sha256 = "062g14s6b2bixanpwihj3asm3jwvfw15mhvzqv6901afrlgzx4nk"; })
-
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.0-preview.178"; sha256 = "1gwk81iq6zipab3dhpwydrqm2mqz67hpx7asvhna3mx0phrp2zqd"; })
-
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.0-preview.178"; sha256 = "07kga1j51l3l302nvf537zg5clf6rflinjy0xd6i06cmhpkf3ksw"; })
-
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.0-preview.178"; sha256 = "14p95nxccs6yq4rn2h9zbb60k0232k6349zdpy31jcfr6gc99cgi"; })
-
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.0-preview.178"; sha256 = "09jmcg5k1vpsal8jfs90mwv0isf2y5wq3h4hd77rv6vffn5ic4sm"; })
-
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.0-preview.178"; sha256 = "0ficil702lv3fvwpngbqh5l85i05l5jafzyh4jprzshr2qbnd8nl"; })
-
(fetchNuGet { pname = "Svg.Custom"; version = "0.5.13"; sha256 = "1a6rwgwwqg98dhk5hdb38iffa39khcrvfwskl6i5j3xgvgzzq2lx"; })
-
(fetchNuGet { pname = "Svg.Model"; version = "0.5.13"; sha256 = "0rxm79asyx1dji8x7q1z47mzy6zh8qbgw7py6xfkfj89cai6x4p8"; })
-
(fetchNuGet { pname = "Svg.Skia"; version = "0.5.13"; sha256 = "1f00mzx7gzfhy42yldi3jzaivsl3byspak22rji86iq0vczz28zg"; })
+
(fetchNuGet { pname = "ShimSkiaSharp"; version = "0.5.16"; sha256 = "06qf63bx6m18wbhvzfs89m5yl5s08spgg02gr7qy8j36r04k6cc5"; })
+
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.1-preview.1"; sha256 = "1i1px67hcr9kygmbfq4b9nqzlwm7v2gapsp4isg9i19ax5g8dlhm"; })
+
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.1-preview.108"; sha256 = "01sm36hdgmcgkai9m09xn2qfz8v7xhh803n8fng8rlxwnw60rgg6"; })
+
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.1-preview.1"; sha256 = "0r14s3zyn3cpic02j80xjh8x6dd8g671f9nfnng5zk1x497qdw3a"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1-preview.1"; sha256 = "1r9qr3civk0ws1z7hg322qyr8yjm10853zfgs03szr2lvdqiy7d1"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1-preview.108"; sha256 = "19jf2jcq2spwbpx3cfdi2a95jf4y8205rh56lmkh8zsxd2k7fjyp"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1-preview.1"; sha256 = "1w55nrwpl42psn6klia5a9aw2j1n25hpw2fdhchypm9f0v2iz24h"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1-preview.108"; sha256 = "1vcpqd7slh2b9gsacpd7mk1266r1xfnkm6230k8chl3ng19qlf15"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1-preview.1"; sha256 = "0mwj2yl4gn40lry03yqkj7sbi1drmm672dv88481sgah4c21lzrq"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1-preview.108"; sha256 = "0a89gqjw8k97arr0kyd0fm3f46k1qamksbnyns9xdlgydjg557dd"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1-preview.1"; sha256 = "1k50abd147pif9z9lkckbbk91ga1vv6k4skjz2n7wpll6fn0fvlv"; })
+
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1-preview.108"; sha256 = "05g9blprq5msw3wshrgsk19y0fvhjlqiybs1vdyhfmww330jlypn"; })
+
(fetchNuGet { pname = "Svg.Custom"; version = "0.5.16"; sha256 = "0qp0vmknclaahf1aj8y2jl4xbaq30rf4ia55fpawxi25dfxsa4wy"; })
+
(fetchNuGet { pname = "Svg.Model"; version = "0.5.16"; sha256 = "0c2hk7wgvd2lbc96jxnkcwmzbbdnwgnhh4km9ijb5248qkghs1b1"; })
+
(fetchNuGet { pname = "Svg.Skia"; version = "0.5.16"; sha256 = "0ra6svakyg5h6m19ww5yrxl85w8yi3v5vrzqgcnqlvzndk696cyf"; })
(fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
···
(fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
+
(fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
(fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
(fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
(fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+2 -1
pkgs/applications/editors/tweak/default.nix
···
buildInputs = [ ncurses ];
preBuild = "substituteInPlace Makefile --replace '$(DESTDIR)/usr/local' $out";
+
makeFlags = [ "CC:=$(CC)" "LINK:=$(CC)" ];
meta = with lib; {
description = "An efficient hex editor";
homepage = "http://www.chiark.greenend.org.uk/~sgtatham/tweak";
license = licenses.mit;
-
platforms = platforms.linux;
+
platforms = platforms.unix;
};
}
+2 -2
pkgs/applications/editors/vscode/extensions/default.nix
···
mktplcRef = {
name = "vscode-neovim";
publisher = "asvetliakov";
-
version = "0.8.2";
-
sha256 = "0kw9asv91s37ql61blbb8pr7wb6c2ba1klchal53chp6ib55v5kn";
+
version = "1.0.1";
+
sha256 = "1yf065syb5hskds47glnv18nk0fg7d84w1j72hg1pqb082gn1sdv";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog";
+3 -3
pkgs/applications/misc/cherrytree/default.nix
···
stdenv.mkDerivation rec {
pname = "cherrytree";
-
version = "1.0.1";
+
version = "1.0.2";
src = fetchFromGitHub {
owner = "giuspen";
repo = "cherrytree";
-
rev = version;
-
hash = "sha256-A/4OcsAOECgQnENj2l9BX713KHG+zk5cJE+yyHXw1TM=";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-ZGw6gESKaio89mt3VPm/uqHwlUQ0/8vIydv/WsOYQ20=";
};
nativeBuildInputs = [
+3 -3
pkgs/applications/misc/spicetify-cli/default.nix
···
buildGoModule rec {
pname = "spicetify-cli";
-
version = "2.27.0";
+
version = "2.27.1";
src = fetchFromGitHub {
owner = "spicetify";
repo = "spicetify-cli";
rev = "v${version}";
-
hash = "sha256-5WIITzm9yZWB847WHL+okwpULdwHegtZfvsVrAzwTO0=";
+
hash = "sha256-Z+paJAuzUnCdCSx2UHg1HV14vDo3jWsyUrcbEnvqTm0=";
};
-
vendorHash = "sha256-VktAO3yKCdm5yz/RRLeLv6zzyGrwuHC/i8WdJtqZoYc=";
+
vendorHash = "sha256-H2kSTsYiD9HResHes+7YxUyNcjtM0SLpDPUC0Y518VM=";
ldflags = [
"-s -w"
+3 -3
pkgs/applications/networking/cluster/werf/default.nix
···
buildGoModule rec {
pname = "werf";
-
version = "1.2.267";
+
version = "1.2.269";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
-
hash = "sha256-OlTlyo/JbmXyoMBSDnKHvjGN6NMRrk0kQT63R34gtOs=";
+
hash = "sha256-LUHENANM+3wGftTVXaQsGykKayzEAIQ3TQ5qM77TJVA=";
};
-
vendorHash = "sha256-0bxM0Y4K6wxg6Ka1A9MusptiSMshTUWJItXoVDpo7lI=";
+
vendorHash = "sha256-20bPsBRya7Gg7p/hSSnnYLoSHf/fRwk1UrA/KlMT3Jk=";
proxyVendor = true;
+2 -2
pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
···
in
stdenv.mkDerivation rec {
pname = "rocketchat-desktop";
-
version = "3.9.9";
+
version = "3.9.10";
src = fetchurl {
url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
-
hash = "sha256-50mVmE+q2VYJXIv2iD6ppS83We0aJRT9vje+zpJcdq0=";
+
hash = "sha256-VLHkFiIwfjCHr08wTsD8rMWSvHEswZCKl2XJr61cQYE=";
};
nativeBuildInputs = [
+2 -2
pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
···
in
stdenv.mkDerivation rec {
pname = "telegram-desktop";
-
version = "4.11.6";
+
version = "4.11.8";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
-
hash = "sha256-GV5jaC1chm4cq097/aP18Z4QemTO4tt8SBrdxCQYaS8=";
+
hash = "sha256-VuMcqbGo1t1J7I8kXdqsw/01Mth9YKEbiy8aNtM3azw=";
};
patches = [
+6 -5
pkgs/applications/networking/p2p/rqbit/default.nix pkgs/by-name/rq/rqbit/package.nix
···
-
{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, Security }:
+
{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, darwin }:
rustPlatform.buildRustPackage rec {
pname = "rqbit";
-
version = "2.2.1";
+
version = "2.2.2";
src = fetchFromGitHub {
owner = "ikatson";
repo = "rqbit";
rev = "v${version}";
-
hash = "sha256-7n+T+y60RjmZC7bE96Ljg0xVg4bSzV/LFgezTld4zfI=";
+
hash = "sha256-9yYHxlvRlO8iJ3SPi0+4lEgBgAaqaDffKChqAe4OsYU=";
};
-
cargoHash = "sha256-hcuZ4hqGJT/O7vFefKPGZlkqhdsAl5LGAcSRQAEopnM=";
+
cargoHash = "sha256-dUQiW6J3Wycp5D3mAwGwruU6CkQ534OyP1GdsY7jzEw=";
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
buildInputs = lib.optionals stdenv.isLinux [ openssl ]
-
++ lib.optionals stdenv.isDarwin [ Security ];
+
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
doCheck = false;
···
homepage = "https://github.com/ikatson/rqbit";
license = licenses.asl20;
maintainers = with maintainers; [ marsam ];
+
mainProgram = "rqbit";
};
}
+3 -3
pkgs/applications/networking/seaweedfs/default.nix
···
buildGoModule rec {
pname = "seaweedfs";
-
version = "3.58";
+
version = "3.59";
src = fetchFromGitHub {
owner = "seaweedfs";
repo = "seaweedfs";
rev = version;
-
hash = "sha256-4USDCss2KYjyuwH55ZqMwBWsf7iDcjN7qxTSXvKDkus=";
+
hash = "sha256-askngehfEBJzJG0MVBA4WCRUPDELWlwJWcRPH6gTvzw=";
};
-
vendorHash = "sha256-cbc6xKAneBCWpc4kUQUtgV5rrsggCGvVkt9tkypeCiE=";
+
vendorHash = "sha256-o+moq4arkQLQZcsW4Tahpv1MpGRHwMv+IL5E03W0U5c=";
subPackages = [ "weed" ];
+2 -2
pkgs/applications/networking/syncthing/default.nix
···
common = { stname, target, postInstall ? "" }:
buildGoModule rec {
pname = stname;
-
version = "1.26.0";
+
version = "1.26.1";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
-
hash = "sha256-JsjZzOYBQ5DD7BsBq/lO2AZvC3Rx4mGr5cUJEU6ufNc=";
+
hash = "sha256-R7JTHlNP1guKRfiDjPVi1lnvfUAXuPDNDAMTGmbj3Hc=";
};
vendorHash = "sha256-XYXIj+7xe33hCYM6Z9tqGSgr/P0LVlaPNf3T0PrxU7I=";
+5
pkgs/applications/science/electronics/kicad/addons/default.nix
···
+
{ kicad }:
+
{
+
kikit = kicad.callPackage ./kikit.nix { addonName = "kikit"; };
+
kikit-library = kicad.callPackage ./kikit.nix { addonName = "kikit-library"; };
+
}
+52
pkgs/applications/science/electronics/kicad/addons/kikit.nix
···
+
# For building the multiple addons that are in the kikit repo.
+
{ stdenv
+
, bc
+
, kikit
+
, zip
+
, python3
+
, addonName
+
, addonPath
+
}:
+
let
+
# This python is only used when building the package, it's not the python
+
# environment that will ultimately run the code packaged here. The python env defined
+
# in KiCad will import the python code packaged here when KiCad starts up.
+
python = python3.withPackages (ps: with ps; [ click ]);
+
kikit-module = python3.pkgs.toPythonModule (kikit.override { inherit python3; });
+
+
# The following different addons can be built from the same source.
+
targetSpecs = {
+
"kikit" = {
+
makeTarget = "pcm-kikit";
+
resultZip = "pcm-kikit.zip";
+
description = "KiCad plugin and a CLI tool to automate several tasks in a standard KiCad workflow";
+
};
+
"kikit-library" = {
+
makeTarget = "pcm-lib";
+
resultZip = "pcm-kikit-lib.zip";
+
description = "KiKit uses these symbols and footprints to annotate your boards (e.g., to place a tab in a panel).";
+
};
+
};
+
targetSpec = targetSpecs.${addonName};
+
in
+
stdenv.mkDerivation {
+
name = "kicadaddon-${addonName}";
+
inherit (kikit-module) src version;
+
+
nativeBuildInputs = [ python bc zip ];
+
propagatedBuildInputs = [ kikit-module ];
+
+
buildPhase = ''
+
patchShebangs scripts/setJson.py
+
make ${targetSpec.makeTarget}
+
'';
+
+
installPhase = ''
+
mkdir $out
+
mv build/${targetSpec.resultZip} $out/${addonPath}
+
'';
+
+
meta = kikit-module.meta // {
+
description = targetSpec.description;
+
};
+
}
+2
pkgs/applications/science/electronics/kicad/base.nix
···
patches = [
# upstream issue 12941 (attempted to upstream, but appreciably unacceptable)
./writable.patch
+
# https://gitlab.com/kicad/code/kicad/-/issues/15687
+
./runtime_stock_data_path.patch
];
# tagged releases don't have "unknown"
+52 -1
pkgs/applications/science/electronics/kicad/default.nix
···
{ lib, stdenv
+
, runCommand
+
, newScope
, fetchFromGitLab
, gnome
, dconf
···
, callPackages
, librsvg
, cups
+
, unzip
+
, jq
, pname ? "kicad"
, stable ? true
···
, libngspice
, withScripting ? true
, python3
+
, addons ? [ ]
, debug ? false
, sanitizeAddress ? false
, sanitizeThreads ? false
···
, srcs ? { }
, symlinkJoin
}:
+
+
# `addons`: https://dev-docs.kicad.org/en/addons/
+
#
+
# ```nix
+
# kicad = pkgs.kicad.override {
+
# addons = with pkgs.kicadAddons; [ kikit kikit-library ];
+
# };
+
# ```
# The `srcs` parameter can be used to override the kicad source code
# and all libraries, which are otherwise inaccessible
···
wxGTK = wxGTK32;
python = python3;
wxPython = python.pkgs.wxPython_4_2;
+
addonPath = "addon.zip";
+
addonsDrvs = map (pkg: pkg.override { inherit addonPath python3; }) addons;
+
+
addonsJoined =
+
runCommand "addonsJoined"
+
{
+
inherit addonsDrvs;
+
nativeBuildInputs = [ unzip jq ];
+
} ''
+
mkdir $out
+
+
for pkg in $addonsDrvs; do
+
unzip $pkg/addon.zip -d unpacked
+
+
folder_name=$(jq .identifier unpacked/metadata.json --raw-output | tr . _)
+
for d in unpacked/*; do
+
if [ -d "$d" ]; then
+
dest=$out/share/kicad/scripting/$(basename $d)/$folder_name
+
mkdir -p $(dirname $dest)
+
+
mv $d $dest
+
fi
+
done
+
rm -r unpacked
+
done
+
'';
inherit (lib) concatStringsSep flatten optionalString optionals;
in
···
# Common libraries, referenced during runtime, via the wrapper.
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
+
passthru.callPackage = newScope { inherit addonPath python3; };
base = callPackage ./base.nix {
inherit stable baseName;
inherit kicadSrc kicadVersion;
···
dontFixup = true;
pythonPath = optionals (withScripting)
-
[ wxPython python.pkgs.six python.pkgs.requests ];
+
[ wxPython python.pkgs.six python.pkgs.requests ] ++ addonsDrvs;
nativeBuildInputs = [ makeWrapper ]
++ optionals (withScripting)
···
"--set-default KICAD7_SYMBOL_DIR ${symbols}/share/kicad/symbols"
"--set-default KICAD7_TEMPLATE_DIR ${template_dir}"
]
+
++ optionals (addons != [ ]) (
+
let stockDataPath = symlinkJoin {
+
name = "kicad_stock_data_path";
+
paths = [
+
"${base}/share/kicad"
+
"${addonsJoined}/share/kicad"
+
];
+
};
+
in
+
[ "--set-default NIX_KICAD7_STOCK_DATA_PATH ${stockDataPath}" ]
+
)
++ optionals (with3d)
[
"--set-default KICAD7_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
+15
pkgs/applications/science/electronics/kicad/runtime_stock_data_path.patch
···
+
diff --git a/common/paths.cpp b/common/paths.cpp
+
index a74cdd9..790cc58 100644
+
--- a/common/paths.cpp
+
+++ b/common/paths.cpp
+
@@ -151,6 +151,10 @@ wxString PATHS::GetStockDataPath( bool aRespectRunFromBuildDir )
+
{
+
wxString path;
+
+
+ if( wxGetEnv( wxT( "NIX_KICAD7_STOCK_DATA_PATH" ), &path ) ) {
+
+ return path;
+
+ }
+
+
+
if( aRespectRunFromBuildDir && wxGetEnv( wxT( "KICAD_RUN_FROM_BUILD_DIR" ), nullptr ) )
+
{
+
// Allow debugging from build dir by placing relevant files/folders in the build root
+3 -3
pkgs/applications/version-management/git-mit/default.nix
···
}:
let
-
version = "5.12.171";
+
version = "5.12.174";
in
rustPlatform.buildRustPackage {
pname = "git-mit";
···
owner = "PurpleBooth";
repo = "git-mit";
rev = "v${version}";
-
hash = "sha256-K2d12isOOPs8ba77VhQSXRHSYLZZIkZJlM9d3/G4nOo=";
+
hash = "sha256-juCiPulDVDDg9+DXUf9Gp/1lMoQ0NKLUTrzOqlv+32w=";
};
-
cargoHash = "sha256-m5b57dJ6IRJ10eJRF5lj2+WiNswHxj08LgXz7KJiTaw=";
+
cargoHash = "sha256-Wtw7GBPUci4fbplQDtz1Yxrf+7+3ABIe7GPN/gUER6I=";
nativeBuildInputs = [ pkg-config ];
+19 -7
pkgs/applications/video/webtorrent_desktop/default.nix
···
-
{ lib, stdenv, electron_22, buildNpmPackage, fetchFromGitHub }:
+
{ lib, stdenv, electron, buildNpmPackage, fetchFromGitHub, fetchpatch }:
buildNpmPackage {
pname = "webtorrent-desktop";
-
version = "0.25-pre";
+
version = "0.25-pre-1eb612";
src = fetchFromGitHub {
owner = "webtorrent";
repo = "webtorrent-desktop";
-
rev = "fce078defefd575cb35a5c79d3d9f96affc8a08f";
-
sha256 = "sha256-gXFiG36qqR0QHTqhaxgQKDO0UCHkJLnVwUTQB/Nct/c=";
+
rev = "1eb61201d6360698a2cc4ea72bf0fa7ee78b457c";
+
sha256 = "sha256-DBEFOamncyidMXypvKNnUmDIPUq1LzYjDgox7fa4+Gg=";
};
-
npmDepsHash = "sha256-pEuvstrZ9oMdJ/iU6XwEQ1BYOyQp/ce6sYBTrMCjGMc=";
+
patches = [
+
# electron 27 fix
+
(fetchpatch {
+
url = "https://github.com/webtorrent/webtorrent-desktop/pull/2388.patch";
+
hash = "sha256-gam5oAZtsaiCNFwecA5ff0nhraySLx3SOHlb/js+cPM=";
+
})
+
# startup fix
+
(fetchpatch {
+
url = "https://github.com/webtorrent/webtorrent-desktop/pull/2389.patch";
+
hash = "sha256-hBJGLNNjcGRhYOFlLm/RL0po+70tEeJtR6Y/CfacPAI=";
+
})
+
];
+
npmDepsHash = "sha256-tqhp3jDb1xtyV/n9kJtzkiznLQfqeYWeZiTnTVV0ibE=";
makeCacheWritable = true;
npmRebuildFlags = [ "--ignore-scripts" ];
installPhase = ''
···
cat > $out/bin/WebTorrent <<EOF
#! ${stdenv.shell}
set -eu
-
exec ${electron_22}/bin/electron --no-sandbox $out/lib/webtorrent-desktop "\$@"
+
exec ${electron}/bin/electron --no-sandbox $out/lib/webtorrent-desktop "\$@"
EOF
chmod +x $out/bin/WebTorrent
cp -r static/linux/share/icons $out/share/
···
description = "Streaming torrent app for Mac, Windows, and Linux";
homepage = "https://webtorrent.io/desktop";
license = licenses.mit;
-
maintainers = [ maintainers.flokli maintainers.bendlas ];
+
maintainers = [ maintainers.bendlas ];
};
}
+3 -4
pkgs/build-support/build-graalvm-native-image/default.nix
···
, glibcLocales
# The GraalVM derivation to use
, graalvmDrv
-
, name ? "${args.pname}-${args.version}"
, executable ? args.pname
# JAR used as input for GraalVM derivation, defaults to src
, jar ? args.src
···
"-H:Name=${executable}"
"-march=compatibility"
"--verbose"
+
"-J-Dsun.stdout.encoding=UTF-8"
+
"-J-Dsun.stderr.encoding=UTF-8"
]
# Extra arguments to be passed to the native-image
, extraNativeImageBuildArgs ? [ ]
# XMX size of GraalVM during build
, graalvmXmx ? "-J-Xmx6g"
-
# Locale to be used by GraalVM compiler
-
, LC_ALL ? "en_US.UTF-8"
, meta ? { }
, ...
} @ args:
···
];
in
stdenv.mkDerivation ({
-
inherit dontUnpack LC_ALL jar;
+
inherit dontUnpack jar;
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ];
+3 -3
pkgs/by-name/as/ast-grep/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
-
version = "0.12.5";
+
version = "0.13.1";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
-
hash = "sha256-oFe3AbMpBVBAm/W4IowXAKcEN7CDrrAXhx4dzMXppUM=";
+
hash = "sha256-Wee+npgL0+7pv9ph3S93fIXr8z/FWp/TBthJhVSx3zI=";
};
-
cargoHash = "sha256-f4tcJqT3l9G6FimBb0D4PATgQYUkSG5uIQ9BbsbgC/U=";
+
cargoHash = "sha256-OFNqBkPAKaSqDQUWisupj6FlDbm3kw0xq5nbvj04H5U=";
# error: linker `aarch64-linux-gnu-gcc` not found
postPatch = ''
+3 -3
pkgs/by-name/ez/eza/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "eza";
-
version = "0.15.3";
+
version = "0.16.0";
src = fetchFromGitHub {
owner = "eza-community";
repo = "eza";
rev = "v${version}";
-
hash = "sha256-V0PuiF8N5ubNO4/EmGFx6qL0k1ziTVVKe+0rpMTMVlg=";
+
hash = "sha256-q72IIKUWZBroDcxMEa1ppTPda9lg/KtEpCNOqlg9ZhU=";
};
-
cargoHash = "sha256-kO4WxTDVmLlQpYuFbohih+4Hct2AmnO802Veuw2Wj2g=";
+
cargoHash = "sha256-UBayjaQX+bRkciookfQYUrCCewMXlIL3Z1I2ZJIbX6o=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ]
+3 -3
pkgs/by-name/fo/fortune-kind/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "fortune-kind";
-
version = "0.1.8";
+
version = "0.1.9";
src = fetchFromGitHub {
owner = "cafkafk";
repo = "fortune-kind";
rev = "v${version}";
-
hash = "sha256-8xXRIp6fNYo0Eylzz+i+YccEJZjqiT0TxguZheIblns=";
+
hash = "sha256-93BEy9FX3bZTYNewotBv1ejmMSnSdu9XnC4TgIvcYG0=";
};
-
cargoHash = "sha256-v1LmZRuknWFAwwuw4U7Y7jnhBi8UkglY0sege9nSKes=";
+
cargoHash = "sha256-xm6BOYnxUoCRuMAAFyWRcKEcqrs5FmnOgIO/Gj1bCoI=";
nativeBuildInputs = [ makeBinaryWrapper installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+87
pkgs/by-name/ki/kikit/default.nix
···
+
{ bc
+
, zip
+
, lib
+
, fetchFromGitHub
+
, bats
+
, buildPythonApplication
+
, pythonOlder
+
, callPackage
+
, kicad
+
, numpy
+
, click
+
, markdown2
+
, pytestCheckHook
+
, commentjson
+
, wxPython_4_2
+
, pcbnew-transition
+
, pybars3
+
, versioneer
+
}:
+
let
+
solidpython = callPackage ./solidpython { };
+
+
# https://github.com/yaqwsx/KiKit/issues/574
+
# copy-pasted from nixpkgs#8d8e62e74f511160a599471549a98bc9e4f4818d
+
shapely = callPackage ./shapely { };
+
in
+
buildPythonApplication rec {
+
pname = "kikit";
+
version = "1.3.0";
+
format = "setuptools";
+
+
disabled = pythonOlder "3.7";
+
+
src = fetchFromGitHub {
+
owner = "yaqwsx";
+
repo = "KiKit";
+
rev = "v${version}";
+
hash = "sha256-kDTPk/R3eZtm4DjoUV4tSQzjGQ9k8MKQedX4oUXYzeo=";
+
};
+
+
propagatedBuildInputs = [
+
kicad
+
numpy
+
click
+
markdown2
+
commentjson
+
# https://github.com/yaqwsx/KiKit/issues/575
+
wxPython_4_2
+
pcbnew-transition
+
pybars3
+
shapely
+
# https://github.com/yaqwsx/KiKit/issues/576
+
solidpython
+
];
+
+
nativeBuildInputs = [
+
versioneer
+
bc
+
zip
+
];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
bats
+
];
+
+
pythonImportsCheck = [
+
"kikit"
+
];
+
+
preCheck = ''
+
export PATH=$PATH:$out/bin
+
+
make test-system
+
+
# pytest needs to run in a subdir. See https://github.com/yaqwsx/KiKit/blob/v1.3.0/Makefile#L43
+
cd test/units
+
'';
+
+
meta = with lib; {
+
description = "Automation for KiCAD boards";
+
homepage = "https://github.com/yaqwsx/KiKit/";
+
changelog = "https://github.com/yaqwsx/KiKit/releases/tag/v${version}";
+
maintainers = with maintainers; [ jfly matusf ];
+
license = licenses.mit;
+
};
+
}
+2
pkgs/by-name/ki/kikit/package.nix
···
+
{ python3 }:
+
(python3.pkgs.callPackage ./default.nix { })
+71
pkgs/by-name/ki/kikit/shapely/default.nix
···
+
{ lib
+
, stdenv
+
, buildPythonPackage
+
, fetchPypi
+
, substituteAll
+
, pythonOlder
+
, geos
+
, pytestCheckHook
+
, cython
+
, numpy
+
}:
+
+
buildPythonPackage rec {
+
pname = "Shapely";
+
version = "1.8.4";
+
disabled = pythonOlder "3.6";
+
+
src = fetchPypi {
+
inherit pname version;
+
sha256 = "sha256-oZXlHKr6IYKR8suqP+9p/TNTyT7EtlsqRyLEz0DDGYw=";
+
};
+
+
nativeBuildInputs = [
+
geos # for geos-config
+
cython
+
];
+
+
propagatedBuildInputs = [
+
numpy
+
];
+
+
checkInputs = [
+
pytestCheckHook
+
];
+
+
# Environment variable used in shapely/_buildcfg.py
+
GEOS_LIBRARY_PATH = "${geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
+
+
patches = [
+
# Patch to search form GOES .so/.dylib files in a Nix-aware way
+
(substituteAll {
+
src = ./library-paths.patch;
+
libgeos_c = GEOS_LIBRARY_PATH;
+
libc = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
+
})
+
];
+
+
preCheck = ''
+
rm -r shapely # prevent import of local shapely
+
'';
+
+
disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+
# FIXME(lf-): these logging tests are broken, which is definitely our
+
# fault. I've tried figuring out the cause and failed.
+
#
+
# It is apparently some sandbox or no-sandbox related thing on macOS only
+
# though.
+
"test_error_handler_exception"
+
"test_error_handler"
+
"test_info_handler"
+
];
+
+
pythonImportsCheck = [ "shapely" ];
+
+
meta = with lib; {
+
description = "Geometric objects, predicates, and operations";
+
homepage = "https://pypi.python.org/pypi/Shapely/";
+
license = with licenses; [ bsd3 ];
+
maintainers = with maintainers; [ knedlsepp ];
+
};
+
}
+31
pkgs/by-name/ki/kikit/shapely/library-paths.patch
···
+
diff --git a/shapely/geos.py b/shapely/geos.py
+
index 88c5f53..1ccd6e4 100644
+
--- a/shapely/geos.py
+
+++ b/shapely/geos.py
+
@@ -96,6 +96,7 @@ if sys.platform.startswith('linux'):
+
alt_paths = [
+
'libgeos_c.so.1',
+
'libgeos_c.so',
+
+ '@libgeos_c@',
+
]
+
_lgeos = load_dll('geos_c', fallbacks=alt_paths)
+
+
@@ -160,6 +161,7 @@ elif sys.platform == 'darwin':
+
"/usr/local/lib/libgeos_c.dylib",
+
# homebrew Apple Silicon
+
"/opt/homebrew/lib/libgeos_c.dylib",
+
+ "@libgeos_c@",
+
]
+
_lgeos = load_dll('geos_c', fallbacks=alt_paths)
+
+
diff --git a/tests/test_dlls.py b/tests/test_dlls.py
+
index c71da8e..c36262c 100644
+
--- a/tests/test_dlls.py
+
+++ b/tests/test_dlls.py
+
@@ -18,4 +18,5 @@ class LoadingTestCase(unittest.TestCase):
+
'/opt/homebrew/lib/libgeos_c.dylib', # homebrew (macOS)
+
os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
+
'libgeos_c.so.1',
+
- 'libgeos_c.so'])
+
+ 'libgeos_c.so',
+
+ '@libgeos_c@'])
+66
pkgs/by-name/ki/kikit/solidpython/default.nix
···
+
# SolidPython is an unmaintained library with old dependencies.
+
{ buildPythonPackage
+
, callPackage
+
, fetchFromGitHub
+
, fetchFromGitLab
+
, fetchpatch
+
, lib
+
, pythonRelaxDepsHook
+
+
, poetry-core
+
, prettytable
+
, pypng
+
, ply
+
, setuptools
+
, euclid3
+
}:
+
buildPythonPackage rec {
+
pname = "solidpython";
+
version = "1.1.3";
+
format = "pyproject";
+
+
src = fetchFromGitHub {
+
owner = "SolidCode";
+
repo = "SolidPython";
+
rev = "d962740d600c5dfd69458c4559fc416b9beab575";
+
hash = "sha256-3fJta2a5c8hV9FPwKn5pj01aBtsCGSRCz3vvxR/5n0Q=";
+
};
+
+
nativeBuildInputs = [
+
poetry-core
+
pythonRelaxDepsHook
+
];
+
+
propagatedBuildInputs = [
+
ply
+
setuptools
+
euclid3
+
+
prettytable
+
];
+
+
pythonRelaxDeps = [
+
# SolidPython has PrettyTable pinned to a hyper-specific version due to
+
# some ancient bug with Poetry. They aren't interested in unpinning because
+
# SolidPython v1 seems to be deprecated in favor of v2:
+
# https://github.com/SolidCode/SolidPython/issues/207
+
"PrettyTable"
+
];
+
+
pythonRemoveDeps = [
+
# The pypng dependency is only used in an example script.
+
"pypng"
+
];
+
+
pythonImportsCheck = [
+
"solid"
+
];
+
+
meta = with lib; {
+
description = "Python interface to the OpenSCAD declarative geometry language";
+
homepage = "https://github.com/SolidCode/SolidPython";
+
changelog = "https://github.com/SolidCode/SolidPython/releases/tag/v${version}";
+
maintainers = with maintainers; [ jfly ];
+
license = licenses.lgpl21Plus;
+
};
+
}
+32
pkgs/by-name/lc/lcab/package.nix
···
+
{ lib
+
, stdenv
+
, fetchurl
+
}:
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "lcab";
+
version = "1.0b12";
+
+
src = fetchurl {
+
# Original site is no longer available
+
url = "http://deb.debian.org/debian/pool/main/l/lcab/lcab_${finalAttrs.version}.orig.tar.gz";
+
hash = "sha256-Bl8sF5O2XyhHHA9xt88SCnBk8o0cRLB8q/SewOl/H8g=";
+
};
+
+
patches = [
+
# Fix version number
+
(fetchurl {
+
url = "https://salsa.debian.org/debian/lcab/-/raw/f72d6db6504123bd124b1a4be21ead8cc1535c9e/debian/patches/20-version.patch";
+
hash = "sha256-Yb6E8nQVdicmjcGnxR7HHdsd7D+ThXk02UHiaB+PLvE=";
+
})
+
];
+
+
meta = with lib; {
+
description = "Create cabinet (.cab) archives";
+
homepage = "http://ohnopub.net/~ohnobinki/lcab";
+
license = licenses.gpl2Only;
+
maintainers = with maintainers; [ emilytrau ];
+
platforms = platforms.unix;
+
mainProgram = "lcab";
+
};
+
})
+101 -77
pkgs/by-name/sy/symbolicator/Cargo.lock
···
"hex",
"http",
"hyper",
-
"ring",
+
"ring 0.16.20",
"time",
"tokio",
"tower",
···
[[package]]
name = "aws-sdk-s3"
-
version = "0.31.2"
+
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c681fef332c3462634cd97fced8d1ac3cfdf790829bd7bfb4006cfba76712053"
+
checksum = "73018483d9cb78e1a0d4dcbc94327b01d532e7cb28f26c5bceff97f8f0e4c6eb"
dependencies = [
"aws-credential-types",
"aws-http",
···
"object",
"rustc-demangle",
]
-
-
[[package]]
-
name = "base64"
-
version = "0.13.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "base64"
···
[[package]]
name = "bytecount"
-
version = "0.6.4"
+
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7"
+
checksum = "d1a12477b7237a01c11a80a51278165f9ba0edd28fa6db00a65ab230320dc58c"
[[package]]
name = "byteorder"
···
[[package]]
name = "cpufeatures"
-
version = "0.2.9"
+
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+
checksum = "3fbc60abd742b35f2492f808e1abbb83d45f72db402e14c55057edc9c7b1e9e4"
dependencies = [
"libc",
···
checksum = "7d3b20d3058763d26d88e6e7a49998841e5296735b00dbfb064ff7cb142933dd"
dependencies = [
"async-trait",
-
"base64 0.21.4",
+
"base64",
"dirs-next",
"hyper",
"hyper-rustls",
-
"ring",
+
"ring 0.16.20",
"rustls",
"rustls-pemfile",
"serde",
···
[[package]]
name = "hashbrown"
-
version = "0.14.1"
+
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
+
checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
[[package]]
name = "heck"
···
"httpdate",
"itoa",
"pin-project-lite",
-
"socket2 0.4.9",
+
"socket2 0.4.10",
"tokio",
"tower-service",
"tracing",
···
[[package]]
name = "iana-time-zone"
-
version = "0.1.57"
+
version = "0.1.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+
checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
-
"windows",
+
"windows-core",
[[package]]
···
checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
dependencies = [
"equivalent",
-
"hashbrown 0.14.1",
+
"hashbrown 0.14.2",
[[package]]
···
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
dependencies = [
-
"socket2 0.5.4",
+
"socket2 0.5.5",
"widestring",
"windows-sys 0.48.0",
"winreg",
···
[[package]]
name = "ipnet"
-
version = "2.8.0"
+
version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+
checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
[[package]]
name = "ipnetwork"
···
[[package]]
name = "jsonwebtoken"
-
version = "8.3.0"
+
version = "9.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378"
+
checksum = "155c4d7e39ad04c172c5e3a99c434ea3b4a7ba7960b38ecd562b270b097cce09"
dependencies = [
-
"base64 0.21.4",
+
"base64",
"pem",
-
"ring",
+
"ring 0.17.5",
"serde",
"serde_json",
"simple_asn1",
···
[[package]]
name = "lock_api"
-
version = "0.4.10"
+
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+
checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
dependencies = [
"autocfg",
"scopeguard",
···
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
-
"parking_lot_core 0.9.8",
+
"parking_lot_core 0.9.9",
[[package]]
···
[[package]]
name = "parking_lot_core"
-
version = "0.9.8"
+
version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+
checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
dependencies = [
"cfg-if",
"libc",
-
"redox_syscall 0.3.5",
+
"redox_syscall 0.4.1",
"smallvec",
"windows-targets 0.48.5",
···
[[package]]
name = "pem"
-
version = "1.1.1"
+
version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8"
+
checksum = "3163d2912b7c3b52d651a055f2c7eec9ba5cd22d26ef75b8dd3a59980b185923"
dependencies = [
-
"base64 0.13.1",
+
"base64",
+
"serde",
[[package]]
···
[[package]]
name = "process-event"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"clap",
···
[[package]]
+
name = "redox_syscall"
+
version = "0.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+
dependencies = [
+
"bitflags 1.3.2",
+
]
+
+
[[package]]
name = "redox_users"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
···
source = "git+https://github.com/getsentry/reqwest?branch=restricted-connector#04ea4c720aca814c3f1de500b3e6fe3b0feeae4c"
dependencies = [
"async-compression",
-
"base64 0.21.4",
+
"base64",
"bytes",
"encoding_rs",
"futures-core",
···
"libc",
"once_cell",
"spin 0.5.2",
-
"untrusted",
+
"untrusted 0.7.1",
"web-sys",
"winapi",
[[package]]
+
name = "ring"
+
version = "0.17.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+
dependencies = [
+
"cc",
+
"getrandom",
+
"libc",
+
"spin 0.9.8",
+
"untrusted 0.9.0",
+
"windows-sys 0.48.0",
+
]
+
+
[[package]]
name = "rustc-demangle"
version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
···
[[package]]
name = "rustix"
-
version = "0.38.19"
+
version = "0.38.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
+
checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0"
dependencies = [
"bitflags 2.4.1",
"errno",
···
checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
dependencies = [
"log",
-
"ring",
+
"ring 0.16.20",
"rustls-webpki",
"sct",
···
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
dependencies = [
-
"base64 0.21.4",
+
"base64",
[[package]]
···
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
dependencies = [
-
"ring",
-
"untrusted",
+
"ring 0.16.20",
+
"untrusted 0.7.1",
[[package]]
···
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
dependencies = [
-
"ring",
-
"untrusted",
+
"ring 0.16.20",
+
"untrusted 0.7.1",
[[package]]
···
[[package]]
name = "socket2"
-
version = "0.4.9"
+
version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+
checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
dependencies = [
"libc",
"winapi",
···
[[package]]
name = "socket2"
-
version = "0.5.4"
+
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
dependencies = [
"libc",
"windows-sys 0.48.0",
···
[[package]]
name = "symbolicator"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"axum",
···
[[package]]
name = "symbolicator-crash"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"bindgen",
"cmake",
···
[[package]]
name = "symbolicator-js"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"data-url",
"futures",
···
[[package]]
name = "symbolicator-native"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"apple-crash-report-parser",
···
[[package]]
name = "symbolicator-service"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"aws-config",
···
[[package]]
name = "symbolicator-sources"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"aws-types",
···
[[package]]
name = "symbolicator-stress"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"axum",
···
[[package]]
name = "symbolicator-test"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"axum",
"humantime",
···
[[package]]
name = "symbolicli"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"clap",
···
[[package]]
name = "symsorter"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"chrono",
···
[[package]]
name = "thiserror"
-
version = "1.0.49"
+
version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
+
checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [
"thiserror-impl",
[[package]]
name = "thiserror-impl"
-
version = "1.0.49"
+
version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
+
checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
···
"mio 0.8.8",
"num_cpus",
"pin-project-lite",
-
"socket2 0.5.4",
+
"socket2 0.5.5",
"tokio-macros",
"windows-sys 0.48.0",
···
[[package]]
name = "tracing"
-
version = "0.1.39"
+
version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9"
+
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
"log",
"pin-project-lite",
···
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
+
name = "untrusted"
+
version = "0.9.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+
[[package]]
name = "ureq"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3"
dependencies = [
-
"base64 0.21.4",
+
"base64",
"log",
"native-tls",
"once_cell",
···
[[package]]
name = "uuid"
-
version = "1.4.1"
+
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+
checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
dependencies = [
"getrandom",
"serde",
···
[[package]]
name = "wasm-split"
-
version = "23.10.1"
+
version = "23.11.0"
dependencies = [
"anyhow",
"clap",
···
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
-
name = "windows"
-
version = "0.48.0"
+
name = "windows-core"
+
version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+
checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
dependencies = [
"windows-targets 0.48.5",
+2 -2
pkgs/by-name/sy/symbolicator/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "symbolicator";
-
version = "23.10.1";
+
version = "23.11.0";
src = fetchFromGitHub {
owner = "getsentry";
repo = "symbolicator";
rev = version;
-
hash = "sha256-G8ElLH6u07uJR2Jz05rM59tnVADaDQ768lK477NuWuM=";
+
hash = "sha256-eXMMk12ZxRs5k3DaRhGADwLbE62L8e4N3R5Rw8kZMKI=";
fetchSubmodules = true;
};
+2 -2
pkgs/data/fonts/sil-abyssinica/default.nix
···
stdenvNoCC.mkDerivation rec {
pname = "sil-abyssinica";
-
version = "2.200";
+
version = "2.201";
src = fetchzip {
url = "https://software.sil.org/downloads/r/abyssinica/AbyssinicaSIL-${version}.zip";
-
hash = "sha256-IdWMZHm9VoLVDO0//ISujxlXUxe0O6+aEcdP63YRmPg=";
+
hash = "sha256-DJWp3T9uBLnztSq9r5YCSWaBjIK/0Aljg1IiU0FLrdE=";
};
installPhase = ''
+4 -3
pkgs/development/interpreters/babashka/default.nix
···
doInstallCheck = true;
installCheckPhase = ''
-
$out/bin/bb --version | grep '${version}'
-
$out/bin/bb '(+ 1 2)' | grep '3'
-
$out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | grep '[1 2]'
+
$out/bin/bb --version | fgrep '${version}'
+
$out/bin/bb '(+ 1 2)' | fgrep '3'
+
$out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | fgrep '[1 2]'
+
$out/bin/bb '(prn "bépo àê")' | fgrep 'bépo àê'
'';
# As of v1.2.174, this will remove references to ${graalvmDrv}/conf/chronology,
+2 -2
pkgs/development/libraries/vulkan-utility-libraries/default.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "vulkan-utility-libraries";
-
version = "1.3.269";
+
version = "1.3.270";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "Vulkan-Utility-Libraries";
rev = "v${finalAttrs.version}";
-
hash = "sha256-7BN+U97dqpSyCYhHuFTPqokRnABH7Gt91njZPxItpzg=";
+
hash = "sha256-P1v5UEAooTDGA10K4uck8lhcrbW2ccl44gWIGVnZ6uo=";
};
nativeBuildInputs = [ cmake python3 ];
+4 -2
pkgs/development/ocaml-modules/cry/default.nix
···
buildDunePackage rec {
pname = "cry";
-
version = "0.6.7";
+
version = "1.0.1";
src = fetchFromGitHub {
owner = "savonet";
repo = "ocaml-cry";
rev = "v${version}";
-
sha256 = "sha256-1Omp3LBKGTPVwEBd530H0Djn3xiEjOHLqso6S8yIJSQ=";
+
sha256 = "sha256-wn9hLqbydzFTdYsJ1e76dmDLtwcZ7CGjbzFe5o9veYQ=";
};
postPatch = ''
substituteInPlace src/dune --replace bytes ""
'';
+
+
minimalOCamlVersion = "4.12";
meta = with lib; {
homepage = "https://github.com/savonet/ocaml-cry";
+2 -4
pkgs/development/ocaml-modules/ffmpeg/base.nix
···
{ lib, fetchFromGitHub }:
rec {
-
version = "1.1.7";
-
-
duneVersion = "3";
+
version = "1.1.8";
src = fetchFromGitHub {
owner = "savonet";
repo = "ocaml-ffmpeg";
rev = "v${version}";
-
sha256 = "sha256-0QDy0ZUAtojYIuNliiDV2uywBnWxtKUhZ/LPqkfSOZ4=";
+
sha256 = "sha256-XqZATaxpW0lEdrRTXVTc0laQAx437+eoa/zOzZV1kHk=";
};
meta = with lib; {
+1 -1
pkgs/development/ocaml-modules/ffmpeg/default.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
propagatedBuildInputs = [
ffmpeg-avutil
+1 -1
pkgs/development/ocaml-modules/ffmpeg/ffmpeg-av.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.isDarwin [ AudioToolbox VideoToolbox ];
+1 -1
pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ]
+1 -1
pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ]
+1 -1
pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ]
+1 -1
pkgs/development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.isDarwin [ AudioToolbox VideoToolbox ];
+1 -1
pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.isDarwin [ VideoToolbox ];
+1 -1
pkgs/development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix
···
minimalOCamlVersion = "4.08";
-
inherit (ffmpeg-base) version src duneVersion;
+
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ] ++ lib.optionals stdenv.isDarwin [ VideoToolbox ];
+2 -2
pkgs/development/ocaml-modules/flac/default.nix
···
buildDunePackage rec {
pname = "flac";
-
version = "0.3.1";
+
version = "0.5.0";
src = fetchFromGitHub {
owner = "savonet";
repo = "ocaml-flac";
rev = "v${version}";
-
sha256 = "sha256-oMmxZtphEX/OPfyTumjkWQJidAjSRqriygaTjVJTCG0=";
+
sha256 = "sha256-HRRQd//e6Eh2HuyO+U00ILu5FoBT9jf/nRJzDOie70A=";
};
nativeBuildInputs = [ pkg-config ];
+22
pkgs/development/ocaml-modules/metadata/default.nix
···
+
{ lib, buildDunePackage, fetchFromGitHub, dune-configurator, pkg-config, ogg, flac }:
+
+
buildDunePackage rec {
+
pname = "metadata";
+
version = "0.2.0";
+
+
src = fetchFromGitHub {
+
owner = "savonet";
+
repo = "ocaml-metadata";
+
rev = "v${version}";
+
sha256 = "sha256-sSekkyJ8D6mCCmxIyd+pBk/khaehA3BcpUQl2Gln+Ic=";
+
};
+
+
minimalOCamlVersion = "4.14";
+
+
meta = with lib; {
+
homepage = "https://github.com/savonet/ocaml-metadata";
+
description = "Library to read metadata from files in various formats. ";
+
license = licenses.gpl3Plus;
+
maintainers = with maintainers; [ dandellion ];
+
};
+
}
+2 -2
pkgs/development/python-modules/accuweather/default.nix
···
buildPythonPackage rec {
pname = "accuweather";
-
version = "2.0.0";
+
version = "2.1.0";
format = "setuptools";
disabled = pythonOlder "3.9";
···
owner = "bieniu";
repo = pname;
rev = "refs/tags/${version}";
-
hash = "sha256-elpVclH/sVQHEp3kTiwbDproJcB85F7m5sEjXwSEtNk=";
+
hash = "sha256-7uCR/xUARUakODeLVdI13D9ZksvN9c63o3Q0MlJp8cs=";
};
propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/asyncua/default.nix
···
buildPythonPackage rec {
pname = "asyncua";
-
version = "1.0.4";
+
version = "1.0.5";
format = "setuptools";
disabled = pythonOlder "3.8";
···
owner = "FreeOpcUa";
repo = "opcua-asyncio";
rev = "refs/tags/v${version}";
-
hash = "sha256-gAyvo+VJPdS/UpXN/h8LqbIRyx84fifSUsW2GUzLgfo=";
+
hash = "sha256-eDrnDDiijkr5377BVWVAc5QEQCCDBoFynuT4MncCx9g=";
fetchSubmodules = true;
};
+10
pkgs/development/python-modules/authcaptureproxy/default.nix
···
pytestCheckHook
];
+
disabledTests = [
+
# test fails with frequency 1/200
+
# https://github.com/alandtse/auth_capture_proxy/issues/25
+
"test_return_timer_countdown_refresh_html"
+
];
+
+
pythonImportsCheck = [
+
"authcaptureproxy"
+
];
+
meta = with lib; {
changelog = "https://github.com/alandtse/auth_capture_proxy/releases/tag/v${version}";
description = "A proxy to capture authentication information from a webpage";
+6 -8
pkgs/development/python-modules/azure-monitor-ingestion/default.nix
···
buildPythonPackage rec {
pname = "azure-monitor-ingestion";
-
version = "1.0.2";
+
version = "1.0.3";
+
pyproject = true;
disabled = pythonOlder "3.7";
-
pyproject = true;
-
src = fetchPypi {
inherit pname version;
-
extension = "zip";
-
hash = "sha256-xNpYsD1bMIM0Bxy8KtR4rYy4tzfddtoPnEzHfO44At8=";
+
hash = "sha256-idAEqP+HaZs/0fzyBaqO8enTTySg88w3TSIUceiYdDs=";
};
nativeBuildInputs = [
···
# requires checkout from mono-repo and a mock account
doCheck = false;
-
meta = {
+
meta = with lib; {
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-monitor-ingestion_${version}/sdk/monitor/azure-monitor-ingestion/CHANGELOG.md";
description = "Send custom logs to Azure Monitor using the Logs Ingestion API";
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-ingestion";
-
license = lib.licenses.mit;
-
maintainers = with lib.maintainers; [ dotlambda ];
+
license = licenses.mit;
+
maintainers = with maintainers; [ dotlambda ];
};
}
+2 -2
pkgs/development/python-modules/bitarray/default.nix
···
buildPythonPackage rec {
pname = "bitarray";
-
version = "2.8.2";
+
version = "2.8.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-+QsvRLWyM2TV+63iw0ZS4Vsfz+gTxG+CjgCPaKcJFg8=";
+
hash = "sha256-4VWHsr3xjTLrO6JfX1pRvt0NwGsxEqTFPated1O8ZYg=";
};
checkPhase = ''
+2 -2
pkgs/development/python-modules/bitstruct/default.nix
···
buildPythonPackage rec {
pname = "bitstruct";
-
version = "8.17.0";
+
version = "8.19.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-65S0DkIYojqo+QQGuDap5u2D5IuNESzj+WQIRjvRuHQ=";
+
hash = "sha256-11up3e2FwX6IWiCaAOuOJI7kB2IUny8qeTYMqFdGfaw=";
};
pythonImportsCheck = [
+2 -2
pkgs/development/python-modules/canals/default.nix
···
buildPythonPackage rec {
pname = "canals";
-
version = "0.9.0";
+
version = "0.10.0";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "deepset-ai";
repo = "canals";
rev = "refs/tags/v${version}";
-
hash = "sha256-5pRrpi1qxkFgGqcw7Nfc5rnOTra27H31DLKCglkPf6s=";
+
hash = "sha256-zTC9zaY2WQ4Sx/1YeEaw23UH0hoP/ktMwzH8x/rER00=";
};
nativeBuildInputs = [
+8 -7
pkgs/development/python-modules/cantools/default.nix
···
{ lib
, buildPythonPackage
, fetchPypi
-
, setuptools-scm
+
, setuptools
, argparse-addons
, bitstruct
, can
···
buildPythonPackage rec {
pname = "cantools";
-
version = "38.0.2";
-
format = "setuptools";
+
version = "39.3.0";
+
pyproject = true;
-
disabled = pythonOlder "3.7";
+
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-k7/m9L1lLzaXY+qRYrAnpi9CSoQA8kI9QRN5GM5oxo4=";
+
hash = "sha256-LD0IGSJZG8FhHJ8f9S1sivHQMxT4xyTMEU2FbMVVzCg=";
};
nativeBuildInputs = [
-
setuptools-scm
+
setuptools
];
propagatedBuildInputs = [
···
];
meta = with lib; {
+
description = "Tools to work with CAN bus";
homepage = "https://github.com/cantools/cantools";
-
description = "CAN bus tools.";
+
changelog = "https://github.com/cantools/cantools/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ gray-heron ];
};
+2 -2
pkgs/development/python-modules/dvc-data/default.nix
···
buildPythonPackage rec {
pname = "dvc-data";
-
version = "2.21.0";
+
version = "2.21.2";
format = "pyproject";
disabled = pythonOlder "3.8";
···
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
-
hash = "sha256-q9wVPT8mUZyX0I4GdC6qtsCTFH80HsUrrtR2oAby8VE=";
+
hash = "sha256-2RLf2HBkb/vwbr9JecQQfO68ifVgcBIwmRQkXGJh0Fs=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
+2 -2
pkgs/development/python-modules/dvc/default.nix
···
buildPythonPackage rec {
pname = "dvc";
-
version = "3.28.0";
+
version = "3.30.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
-
hash = "sha256-oCNszhLGNXNGiQtp91wT4GfuNzDhbZrVR55K41Ykhdg=";
+
hash = "sha256-ZAOuXK1snsDZETnpyyDZT65ZWu47Qxtv7l8Blqg2Qtw=";
};
pythonRelaxDeps = [
+2 -2
pkgs/development/python-modules/dvclive/default.nix
···
buildPythonPackage rec {
pname = "dvclive";
-
version = "3.2.0";
+
version = "3.3.1";
format = "pyproject";
disabled = pythonOlder "3.8";
···
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
-
hash = "sha256-Z1Nxdz4/45uSypufuwDGiCeUwl+izRGIDA2s9F+jT1Q=";
+
hash = "sha256-esvDCAsGoaB4t4hiTmoQa69Sgg5crqJyiom/iXxpZow=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
+25
pkgs/development/python-modules/euclid3/default.nix
···
+
{ buildPythonPackage
+
, lib
+
, fetchPypi
+
}:
+
buildPythonPackage rec {
+
pname = "euclid3";
+
version = "0.01";
+
format = "setuptools";
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-JbgnpXrb/Zo/qGJeQ6vD6Qf2HeYiND5+U4SC75tG/Qs=";
+
};
+
+
pythonImportsCheck = [
+
"euclid3"
+
];
+
+
meta = with lib; {
+
description = "2D and 3D vector, matrix, quaternion and geometry module.";
+
homepage = "http://code.google.com/p/pyeuclid/";
+
license = licenses.lgpl21Plus;
+
maintainers = with maintainers; [ jfly matusf ];
+
};
+
}
+2 -2
pkgs/development/python-modules/griffe/default.nix
···
buildPythonPackage rec {
pname = "griffe";
-
version = "0.36.9";
+
version = "0.38.0";
format = "pyproject";
disabled = pythonOlder "3.8";
···
owner = "mkdocstrings";
repo = pname;
rev = "refs/tags/${version}";
-
hash = "sha256-5j6boIy2LnB3Y0ZzheTdflON8KaQkeQS5vkaPIsETGk=";
+
hash = "sha256-GhohFO5tHb9ByISPUf4U2MrDATE4WjuekcC9QZaP2Ls=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
+2 -2
pkgs/development/python-modules/gvm-tools/default.nix
···
buildPythonPackage rec {
pname = "gvm-tools";
-
version = "23.10.0";
+
version = "23.11.0";
format = "pyproject";
disabled = pythonOlder "3.7";
···
owner = "greenbone";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-+D9gl2Q1NybL8Na9qDZpDZOBStzJcfE6IUKFwjzr1J0=";
+
hash = "sha256-ZwImkTYYSscmGJYCpMWmZjToi41XjT4Znpo8j66BKIs=";
};
nativeBuildInputs = [
+6 -18
pkgs/development/python-modules/newversion/default.nix
···
{ lib
, buildPythonPackage
, fetchFromGitHub
-
, fetchpatch
, packaging
, poetry-core
, pytestCheckHook
, pythonOlder
-
, typing-extensions
}:
buildPythonPackage rec {
pname = "newversion";
-
version = "1.8.2";
+
version = "2.0.0";
format = "pyproject";
-
disabled = pythonOlder "3.7";
+
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "vemel";
-
repo = pname;
-
rev = version;
-
hash = "sha256-27HWMzSzyAbiOW7OUhlupRWIVJG6DrpXObXmxlCsmxU=";
+
repo = "newversion";
+
rev = "refs/tags/${version}";
+
hash = "sha256-v9hfk2/hBkWtOobQdaYXNOZTTcEqnMV6JYqtjjoidOs=";
};
-
patches = [
-
# https://github.com/vemel/newversion/pull/9
-
(fetchpatch {
-
name = "remove-setuptools-dependency.patch";
-
url = "https://github.com/vemel/newversion/commit/b50562671029dd6834bc7a8ad0dd3f9e0fbdfc1d.patch";
-
hash = "sha256-6dXVQ9Hk0/EfSwPbW19ZV8MAFcSx+ZRO5G94kbh23GM=";
-
})
-
];
-
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
packaging
-
] ++ lib.optionals (pythonOlder "3.8") [
-
typing-extensions
];
nativeCheckInputs = [
···
meta = with lib; {
description = "PEP 440 version manager";
homepage = "https://github.com/vemel/newversion";
+
changelog = "https://github.com/vemel/newversion/releases/tag/${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
+39
pkgs/development/python-modules/pcbnew-transition/default.nix
···
+
{ pythonOlder
+
, buildPythonPackage
+
, fetchPypi
+
, lib
+
, kicad
+
, versioneer
+
}:
+
buildPythonPackage rec {
+
pname = "pcbnewTransition";
+
version = "0.3.4";
+
format = "setuptools";
+
+
disabled = pythonOlder "3.7";
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-3CJUG1kd63Lg0r9HpJRIvttHS5s2EuZRoxeXrqsJ/kQ=";
+
};
+
+
propagatedBuildInputs = [
+
kicad
+
];
+
+
nativeBuildInputs = [
+
versioneer
+
];
+
+
pythonImportsCheck = [
+
"pcbnewTransition"
+
];
+
+
meta = with lib; {
+
description = "Library that allows you to support both, KiCad 5, 6 and 7 in your plugins";
+
homepage = "https://github.com/yaqwsx/pcbnewTransition";
+
changelog = "https://github.com/yaqwsx/pcbnewTransition/releases/tag/v${version}";
+
license = licenses.mit;
+
maintainers = with maintainers; [ jfly matusf ];
+
};
+
}
+2 -2
pkgs/development/python-modules/pegen/default.nix
···
buildPythonPackage rec {
pname = "pegen";
-
version = "0.2.0";
+
version = "0.3.0";
format = "pyproject";
disabled = pythonOlder "3.8";
···
owner = "we-like-parsers";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-5nxOMgkDAkHtVFSNXf0SPoag6/E7b97eVnFoAqyJE3g=";
+
hash = "sha256-P4zX8za9lBlXhNPkQe9p136ggZEJh6fHfBr+DQKvtTg=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
+42
pkgs/development/python-modules/pixel-ring/default.nix
···
+
{ lib
+
, buildPythonPackage
+
, fetchFromGitHub
+
, setuptools
+
, wheel
+
, pyusb
+
, spidev
+
}:
+
+
buildPythonPackage rec {
+
pname = "pixel-ring";
+
version = "0.1.0";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "respeaker";
+
repo = "pixel_ring";
+
rev = version;
+
hash = "sha256-J9kScjD6Xon0YWGxFU881bIbjmDpY7cnWzJ8G0SOKaw=";
+
};
+
+
nativeBuildInputs = [
+
setuptools
+
wheel
+
];
+
+
propagatedBuildInputs = [
+
pyusb
+
spidev
+
];
+
+
dontUsePythonImportsCheck = true; # requires SPI access
+
+
doCheck = false; # no tests
+
+
meta = with lib; {
+
description = "RGB LED library for ReSpeaker 4 Mic Array, ReSpeaker V2 & ReSpeaker USB 6+1 Mic Array";
+
homepage = "https://github.com/respeaker/pixel_ring/tree/master";
+
license = licenses.gpl2Only;
+
maintainers = with maintainers; [ hexa ];
+
};
+
}
+38
pkgs/development/python-modules/pybars3/default.nix
···
+
{ python3
+
, fetchPypi
+
, lib
+
, pymeta3
+
, buildPythonPackage
+
}:
+
buildPythonPackage rec {
+
pname = "pybars3";
+
version = "0.9.7";
+
format = "setuptools";
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-ashH6QXlO5xbk2rxEskQR14nv3Z/efRSjBb5rx7A4lI=";
+
};
+
+
propagatedBuildInputs = [
+
pymeta3
+
];
+
+
checkPhase = ''
+
runHook preCheck
+
${python3.interpreter} tests.py
+
runHook postCheck
+
'';
+
+
pythonImportsCheck = [
+
"pybars"
+
];
+
+
meta = with lib; {
+
description = "Handlebars.js template support for Python 3 and 2";
+
homepage = "https://github.com/wbond/pybars3";
+
changelog = "https://github.com/wbond/pybars3/releases/tag/${version}";
+
license = licenses.lgpl3Only;
+
maintainers = with maintainers; [ jfly matusf ];
+
};
+
}
+29
pkgs/development/python-modules/pymeta3/default.nix
···
+
{ buildPythonPackage
+
, fetchPypi
+
, lib
+
}:
+
buildPythonPackage rec {
+
pname = "pymeta3";
+
version = "0.5.1";
+
format = "setuptools";
+
+
src = fetchPypi {
+
inherit version;
+
pname = "PyMeta3";
+
hash = "sha256-GL2jJtmpu/WHv8DuC8loZJZNeLBnKIvPVdTZhoHQW8s=";
+
};
+
+
doCheck = false; # Tests do not support Python3
+
+
pythonImportsCheck = [
+
"pymeta"
+
];
+
+
meta = with lib; {
+
description = "Pattern-matching language based on OMeta for Python 3 and 2";
+
homepage = "https://github.com/wbond/pymeta3";
+
changelog = "https://github.com/wbond/pymeta3/releases/tag/${version}";
+
license = licenses.mit;
+
maintainers = with maintainers; [ jfly matusf ];
+
};
+
}
+2 -2
pkgs/development/python-modules/pyoverkiz/default.nix
···
buildPythonPackage rec {
pname = "pyoverkiz";
-
version = "1.13.1";
+
version = "1.13.2";
format = "pyproject";
disabled = pythonOlder "3.7";
···
owner = "iMicknl";
repo = "python-overkiz-api";
rev = "refs/tags/v${version}";
-
hash = "sha256-55oqrVjvbdwNn5S3YQVU3saWtFHhoUCcyW9VzXs87YM=";
+
hash = "sha256-WGFRZhnlTDC9uv9N4sKznIdgjBwpnuT9Gsa8hdlnPAE=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/python-gvm/default.nix
···
buildPythonPackage rec {
pname = "python-gvm";
-
version = "23.10.1";
+
version = "23.11.0";
format = "pyproject";
disabled = pythonOlder "3.7";
···
owner = "greenbone";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-OG45mKYqWrgyDyTlWPz95VXQDKAx4QeU1ZZGmHhbviI=";
+
hash = "sha256-7HneedqHbNB9ZYFUCCQ/puLtA1QlIkTKqji0py9hwBE=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/types-awscrt/default.nix
···
buildPythonPackage rec {
pname = "types-awscrt";
-
version = "0.19.10";
+
version = "0.19.12";
format = "pyproject";
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "types_awscrt";
inherit version;
-
hash = "sha256-YowjnLt7eCBzBfklBOEEDRClp/ToA3KLi+xuftUoti4=";
+
hash = "sha256-KbJBIVxl622kZPEeIyiTEEky/DxKShyJGSFYv2YEveY=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/weconnect-mqtt/default.nix
···
buildPythonPackage rec {
pname = "weconnect-mqtt";
-
version = "0.48.2";
+
version = "0.48.3";
format = "setuptools";
disabled = pythonOlder "3.8";
···
owner = "tillsteinbach";
repo = "WeConnect-mqtt";
rev = "refs/tags/v${version}";
-
hash = "sha256-8JJBWF53VOmTD/uetCURFaTkfSTax/YeafKsZtA1xAA=";
+
hash = "sha256-Pja9BP0gbWXTgOokEngNS364tJp1oWJYNKcTxyYJHGw=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/weconnect/default.nix
···
buildPythonPackage rec {
pname = "weconnect";
-
version = "0.59.4";
+
version = "0.59.5";
format = "setuptools";
disabled = pythonOlder "3.8";
···
owner = "tillsteinbach";
repo = "WeConnect-python";
rev = "refs/tags/v${version}";
-
hash = "sha256-Z9tiK6oDyyMcXhgUUxSDL9URYDp6Uz8rFPART3qxd+s=";
+
hash = "sha256-ujIA98QD8ds2/iLLeJqn88nY9tZuuOSnOwGvRznA8PQ=";
};
propagatedBuildInputs = [
+2 -2
pkgs/development/tools/analysis/checkov/default.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
-
version = "3.0.36";
+
version = "3.0.37";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
rev = "refs/tags/${version}";
-
hash = "sha256-MrzCqR1+IJAv81fbuaNygGejRF4EzIZWPutL5qLluhU=";
+
hash = "sha256-cRc5mBMTh5HCqq5hKfvJmYROs74ZiWjX17cgQv7ub+I=";
};
patches = [
-1
pkgs/development/tools/analysis/rr/default.nix
···
nativeBuildInputs = [ cmake pkg-config which makeWrapper ];
buildInputs = [
libpfm zlib python3Packages.python python3Packages.pexpect procps gdb capnproto
-
libpfm zlib python3Packages.python python3Packages.pexpect procps capnproto
];
cmakeFlags = [
"-Ddisable32bit=ON"
+3 -3
pkgs/development/tools/rust/cargo-codspeed/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "cargo-codspeed";
-
version = "2.3.1";
+
version = "2.3.2";
src = fetchFromGitHub {
owner = "CodSpeedHQ";
repo = "codspeed-rust";
rev = "v${version}";
-
hash = "sha256-QEqWSCqX00aMF9kM6xyClJjMiEGmscEWZu0W/MmSj2M=";
+
hash = "sha256-TjK84A/hoG5TyXbXgr4SPolUBT9tMqz/Mn9pMK6BQE4=";
};
-
cargoHash = "sha256-kZjQFoP5aZyVt0EcMtUUXc1wUZQxUwONMzzN6iLUAbM=";
+
cargoHash = "sha256-Nfd8YBh+5HlLbxKajptJEH3NFbtBH2V6668c3DHc13g=";
nativeBuildInputs = [
curl
+2 -2
pkgs/os-specific/linux/apfs/default.nix
···
}:
let
-
tag = "0.3.4";
+
tag = "0.3.5";
in
stdenv.mkDerivation {
pname = "apfs";
···
owner = "linux-apfs";
repo = "linux-apfs-rw";
rev = "v${tag}";
-
hash = "sha256-EeVOrZtmKi5VfPerW9IntjRvdU3AbFPHG+pyAI4ciGk=";
+
hash = "sha256-rKz9a4Z+tx63rhknQIl/zu/WIMjxxM0+NGyaxnzxLk4=";
};
hardeningDisable = [ "pic" ];
+40
pkgs/os-specific/linux/mstflint_access/default.nix
···
+
{ lib, stdenv, fetchurl, kernel, kmod, mstflint }:
+
+
stdenv.mkDerivation rec {
+
pname = "mstflint_access";
+
inherit (mstflint) version;
+
+
src = fetchurl {
+
url = "https://github.com/Mellanox/mstflint/releases/download/v${version}/kernel-mstflint-${version}.tar.gz";
+
hash = "sha256-rfZts0m8x6clVazpbAa2xK+dYgRU9Us5rbcWa0uHJ1M=";
+
};
+
+
nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
+
+
makeFlags = kernel.makeFlags ++ [
+
"KVER=${kernel.modDirVersion}"
+
"KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+
];
+
+
enableParallelBuilding = true;
+
+
preConfigure = lib.optionals (lib.versionAtLeast kernel.version "6.4") ''
+
sed -i "s/class_create(THIS_MODULE, dev->name)/class_create(dev->name)/g" mst_main.c
+
'';
+
+
installPhase = ''
+
runHook preInstall
+
+
install -D ${pname}.ko $out/lib/modules/${kernel.modDirVersion}/extra/${pname}.ko
+
+
runHook postInstall
+
'';
+
+
meta = with lib; {
+
description = "A kernel module for Nvidia NIC firmware update";
+
homepage = "https://github.com/Mellanox/mstflint";
+
license = [ licenses.gpl2Only ];
+
maintainers = with maintainers; [ thillux ];
+
platforms = platforms.linux;
+
};
+
}
+7 -16
pkgs/os-specific/linux/trinity/default.nix
···
-
{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "trinity";
-
version = "1.9";
+
version = "1.9-unstable-2023-07-10";
src = fetchFromGitHub {
owner = "kernelslacker";
repo = "trinity";
-
rev = "v${version}";
-
sha256 = "0z1a7x727xacam74jccd223k303sllgwpq30lnq9b6xxy8b659bv";
+
rev = "e71872454d26baf37ae1d12e9b04a73d64179555";
+
hash = "sha256-Zy+4L1CuB2Ul5iF+AokDkAW1wheDzoCTNkvRZFGRNps=";
};
-
patches = [
-
# Pull upstream fix for -fno-common toolchains
-
(fetchpatch {
-
name = "fno-common.patch";
-
url = "https://github.com/kernelslacker/trinity/commit/e53e25cc8dd5bdb5f7d9b4247de9e9921eec81d8.patch";
-
sha256 = "0dbhyc98x11cmac6rj692zymnfqfqcbawlrkg1lhgfagzjxxwshg";
-
})
-
];
-
postPatch = ''
patchShebangs configure
patchShebangs scripts
···
enableParallelBuilding = true;
-
makeFlags = [ "DESTDIR=$(out)" ];
+
installFlags = [ "DESTDIR=$(out)" ];
meta = with lib; {
description = "A Linux System call fuzz tester";
-
homepage = "https://codemonkey.org.uk/projects/trinity/";
-
license = licenses.gpl2;
+
homepage = "https://github.com/kernelslacker/trinity";
+
license = licenses.gpl2Only;
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
};
+4
pkgs/servers/http/jetty/11.x.nix
···
+
import ./common.nix {
+
version = "11.0.18";
+
hash = "sha256-HxtO2r6YWo6+MAYUgk7dNSPDqQZoyO9t/8NdI5pPkL4=";
+
}
+4
pkgs/servers/http/jetty/12.x.nix
···
+
import ./common.nix {
+
version = "12.0.3";
+
hash = "sha256-Z/jJKKzoqTPZnoFOMwbpSd/Kd1w+rXloKH+aw6aNrKs=";
+
}
+8 -4
pkgs/servers/http/jetty/default.nix pkgs/servers/http/jetty/common.nix
···
+
{ version, hash }:
+
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "jetty";
-
version = "12.0.2";
+
+
inherit version;
+
src = fetchurl {
url = "mirror://maven/org/eclipse/jetty/jetty-home/${version}/jetty-home-${version}.tar.gz";
-
hash = "sha256-DtlHTXjbr31RmK6ycDdiWOL7jIpbWNh0la90OnOhzvM=";
+
inherit hash;
};
dontBuild = true;
···
meta = with lib; {
description = "A Web server and javax.servlet container";
-
homepage = "https://www.eclipse.org/jetty/";
+
homepage = "https://eclipse.dev/jetty/";
platforms = platforms.all;
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = with licenses; [ asl20 epl10 ];
-
maintainers = with maintainers; [ emmanuelrosa ];
+
maintainers = with maintainers; [ emmanuelrosa anthonyroussel ];
};
}
+65 -28
pkgs/tools/audio/liquidsoap/full.nix
···
-
{ lib, stdenv, makeWrapper, fetchurl, which, pkg-config
+
{ lib, stdenv, makeWrapper, fetchFromGitHub, which, pkg-config
, libjpeg
, ocamlPackages
-
, awscli2, curl, ffmpeg, youtube-dl
-
, runtimePackages ? [ awscli2 curl ffmpeg youtube-dl ]
+
, awscli2, bubblewrap, curl, ffmpeg, yt-dlp
+
, runtimePackages ? [ awscli2 bubblewrap curl ffmpeg yt-dlp ]
}:
let
pname = "liquidsoap";
-
version = "2.1.4";
+
version = "2.2.2";
in
stdenv.mkDerivation {
inherit pname version;
-
src = fetchurl {
-
url = "https://github.com/savonet/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-
sha256 = "sha256-GQuG7f9U+/HqPcuj6hnBoH5mWEhxSwWgBnkCuLqHTAc=";
+
src = fetchFromGitHub {
+
owner = "savonet";
+
repo = "liquidsoap";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-t7rkWHSAd3DaTCXaGfL9NcIQYT+f4Od9D6huuZlwhWk=";
};
-
postFixup = ''
+
postPatch = ''
+
substituteInPlace src/lang/dune \
+
--replace "(run git rev-parse --short HEAD)" "(run echo -n nixpkgs)"
+
'';
+
+
dontConfigure = true;
+
+
buildPhase = ''
+
runHook preBuild
+
+
dune build
+
+
runHook postBuild
+
'';
+
+
installPhase = ''
+
runHook preInstall
+
+
dune install --prefix "$out"
+
+
runHook postInstall
+
'';
+
+
fixupPhase = ''
+
runHook preFixup
+
wrapProgram $out/bin/liquidsoap \
--set LIQ_LADSPA_PATH /run/current-system/sw/lib/ladspa \
--prefix PATH : ${lib.makeBinPath runtimePackages}
+
+
runHook postFixup
'';
-
strictDeps = true;
-
nativeBuildInputs =
-
[ makeWrapper pkg-config which
-
ocamlPackages.ocaml ocamlPackages.findlib ocamlPackages.menhir
-
];
+
nativeBuildInputs = [
+
makeWrapper
+
pkg-config
+
which
+
ocamlPackages.ocaml
+
ocamlPackages.dune_3
+
ocamlPackages.findlib
+
ocamlPackages.menhir
+
];
buildInputs = [
libjpeg
···
ocamlPackages.dtools
ocamlPackages.duppy
ocamlPackages.mm
-
ocamlPackages.ocaml_pcre
-
ocamlPackages.menhir ocamlPackages.menhirLib
-
(ocamlPackages.camomile.override { version = "1.0.2"; })
ocamlPackages.ocurl
+
ocamlPackages.cry
+
ocamlPackages.camomile
ocamlPackages.uri
-
ocamlPackages.sedlex
+
ocamlPackages.fileutils
+
ocamlPackages.menhir # liquidsoap-lang
+
ocamlPackages.menhirLib
+
ocamlPackages.metadata
+
ocamlPackages.dune-build-info
+
ocamlPackages.re
+
ocamlPackages.sedlex # liquidsoap-lang
+
ocamlPackages.ppx_string
# Recommended dependencies
ocamlPackages.ffmpeg
# Optional dependencies
-
ocamlPackages.camlimages
-
ocamlPackages.gd4o
ocamlPackages.alsa
ocamlPackages.ao
ocamlPackages.bjack
-
ocamlPackages.cry
+
ocamlPackages.camlimages
ocamlPackages.dssi
ocamlPackages.faad
ocamlPackages.fdkaac
ocamlPackages.flac
ocamlPackages.frei0r
+
ocamlPackages.gd4o
+
ocamlPackages.graphics
ocamlPackages.gstreamer
+
ocamlPackages.imagelib
ocamlPackages.inotify
ocamlPackages.ladspa
ocamlPackages.lame
···
ocamlPackages.ogg
ocamlPackages.opus
ocamlPackages.portaudio
+
ocamlPackages.posix-time2
ocamlPackages.pulseaudio
+
ocamlPackages.samplerate
ocamlPackages.shine
-
ocamlPackages.samplerate
ocamlPackages.soundtouch
ocamlPackages.speex
ocamlPackages.srt
ocamlPackages.ssl
ocamlPackages.taglib
ocamlPackages.theora
-
ocamlPackages.vorbis
-
ocamlPackages.xmlplaylist
-
ocamlPackages.posix-time2
ocamlPackages.tsdl
ocamlPackages.tsdl-image
ocamlPackages.tsdl-ttf
-
-
# Undocumented dependencies
-
ocamlPackages.graphics
-
ocamlPackages.cohttp-lwt-unix
+
ocamlPackages.vorbis
+
ocamlPackages.xmlplaylist
+
ocamlPackages.yaml
];
meta = with lib; {
+89 -5
pkgs/tools/misc/mstflint/default.nix
···
{ lib
, stdenv
, fetchurl
-
, libibmad
+
, rdma-core
, openssl
, zlib
+
, xz
+
, expat
+
, boost
+
, curl
+
, pkg-config
+
, libxml2
+
, pciutils
+
, busybox
+
, python3
+
, automake
+
, autoconf
+
, libtool
+
, git
+
# use this to shrink the package's footprint if necessary (e.g. for hardened appliances)
+
, onlyFirmwareUpdater ? false
+
# contains binary-only libraries
+
, enableDPA ? true
}:
stdenv.mkDerivation rec {
pname = "mstflint";
-
version = "4.17.0-1";
+
version = "4.26.0-1";
src = fetchurl {
url = "https://github.com/Mellanox/mstflint/releases/download/v${version}/mstflint-${version}.tar.gz";
-
sha256 = "030vpiv44sxmjf0dng91ziq1cggwj33yp0l4xc6cdhnrv2prjs7y";
+
hash = "sha256-P8XACcz6d8UTOhFFeTijfFOthBqnUghGlDj9K145sZ8=";
};
+
nativeBuildInputs = [
+
autoconf
+
automake
+
libtool
+
pkg-config
+
libxml2
+
git
+
];
+
buildInputs = [
-
libibmad
+
rdma-core
+
zlib
+
libxml2
openssl
-
zlib
+
] ++ lib.optionals (!onlyFirmwareUpdater) [
+
boost
+
curl
+
expat
+
xz
+
python3
];
+
preConfigure = ''
+
export CPPFLAGS="-I$(pwd)/tools_layouts -isystem ${libxml2.dev}/include/libxml2"
+
export INSTALL_BASEDIR=$out
+
./autogen.sh
+
'';
+
+
# Cannot use wrapProgram since the python script's logic depends on the
+
# filename and will get messed up if the executable is named ".xyz-wrapped".
+
# That is why the python executable and runtime dependencies are injected
+
# this way.
+
#
+
# Remove host_cpu replacement again (see https://github.com/Mellanox/mstflint/pull/865),
+
# needs to hit master or a release. master_devel may be rebased.
+
#
+
# Remove patch for regex check, after https://github.com/Mellanox/mstflint/pull/871
+
# got merged.
+
prePatch = [
+
''
+
patchShebangs eval_git_sha.sh
+
substituteInPlace configure.ac \
+
--replace "build_cpu" "host_cpu"
+
substituteInPlace common/compatibility.h \
+
--replace "#define ROOT_PATH \"/\"" "#define ROOT_PATH \"$out/\""
+
substituteInPlace configure.ac \
+
--replace 'Whether to use GNU C regex])' 'Whether to use GNU C regex])],[AC_MSG_RESULT([yes])'
+
''
+
(lib.optionals (!onlyFirmwareUpdater) ''
+
substituteInPlace common/python_wrapper.sh \
+
--replace \
+
'exec $PYTHON_EXEC $SCRIPT_PATH "$@"' \
+
'export PATH=$PATH:${lib.makeBinPath [ (placeholder "out") pciutils busybox]}; exec ${python3}/bin/python3 $SCRIPT_PATH "$@"'
+
'')
+
];
+
+
configureFlags = [
+
"--enable-xml2"
+
"--datarootdir=${placeholder "out"}/share"
+
] ++ lib.optionals (!onlyFirmwareUpdater) [
+
"--enable-adb-generic-tools"
+
"--enable-cs"
+
"--enable-dc"
+
"--enable-fw-mgr"
+
"--enable-inband"
+
"--enable-rdmem"
+
] ++ lib.optionals enableDPA [
+
"--enable-dpa"
+
];
+
+
enableParallelBuilding = true;
+
hardeningDisable = [ "format" ];
dontDisableStatic = true; # the build fails without this. should probably be reported upstream
···
description = "Open source version of Mellanox Firmware Tools (MFT)";
homepage = "https://github.com/Mellanox/mstflint";
license = with licenses; [ gpl2 bsd2 ];
+
maintainers = with maintainers; [ thillux ];
platforms = platforms.linux;
};
}
+5 -1
pkgs/tools/misc/plantuml-server/default.nix
···
-
{ lib, stdenv, fetchurl }:
+
{ lib, stdenv, fetchurl, nixosTests }:
let
version = "1.2023.12";
···
mkdir -p "$out/webapps"
cp "$src" "$out/webapps/plantuml.war"
'';
+
+
passthru.tests = {
+
inherit (nixosTests) plantuml-server;
+
};
meta = with lib; {
description = "A web application to generate UML diagrams on-the-fly.";
+2 -2
pkgs/tools/misc/qflipper/default.nix
···
}:
let
pname = "qFlipper";
-
version = "1.3.2";
-
sha256 = "sha256-n/vvLR4p7ZmQC+FuYOvarmgydfYwxRBRktzs7CfiNQg=";
+
version = "1.3.3";
+
sha256 = "sha256-/Xzy+OA0Nl/UlSkOOZW2YsOHdJvS/7X3Z3ITkPByAOc=";
timestamp = "99999999999";
commit = "nix-${version}";
+2 -2
pkgs/tools/misc/ttyplot/default.nix
···
stdenv.mkDerivation rec {
pname = "ttyplot";
-
version = "1.5";
+
version = "1.5.1";
src = fetchFromGitHub {
owner = "tenox7";
repo = "ttyplot";
rev = version;
-
sha256 = "sha256-COnqzWqah1J/q64XrOBhMOsrafAs/BptqNvrjHJ9edQ=";
+
sha256 = "sha256-lZLjTmSKxGJhUMELcIPjycpuRR3m9oz/Vh1/FEUzMOQ=";
};
buildInputs = [ ncurses ];
+4 -4
pkgs/tools/networking/containerlab/default.nix
···
buildGoModule rec {
pname = "containerlab";
-
version = "0.46.2";
+
version = "0.48.1";
src = fetchFromGitHub {
owner = "srl-labs";
repo = "containerlab";
rev = "v${version}";
-
hash = "sha256-TzHTiAcN57FDdKBkZq5YwFwjP3s6OmN3431XGoMgnwI=";
+
hash = "sha256-k166J9algbbwGMG65Sr0sshwhLwo5M7JDtGnG4AKZJM=";
};
nativeBuildInputs = [ installShellFiles ];
-
vendorHash = "sha256-3ALEwpFDnbSoTm3bxHZmRGkw1DeQ4Ikl6PpTosa1S6E=";
+
vendorHash = "sha256-w5lwZTSG6OI85P/swjK3NtovMqfgttr9DC+CPSKlpKQ=";
ldflags = [
"-s"
···
changelog = "https://github.com/srl-labs/containerlab/releases/tag/${src.rev}";
license = licenses.bsd3;
platforms = platforms.linux;
-
maintainers = with maintainers; [ janik ];
+
maintainers = with maintainers; [ aaronjheng ];
};
}
+3 -3
pkgs/tools/networking/sing-box/default.nix
···
buildGoModule rec {
pname = "sing-box";
-
version = "1.6.4";
+
version = "1.6.5";
src = fetchFromGitHub {
owner = "SagerNet";
repo = pname;
rev = "v${version}";
-
hash = "sha256-BYmEtdGaNfZ4QJMF1a+W1LjURh7HpFK1rS64CR46z1M=";
+
hash = "sha256-djbRt4VdrZ2a0yLbNaFNhKIN0AwuCCJATIcwFhnw5aM=";
};
-
vendorHash = "sha256-aCYnr9Y6rxmTjY6Q/8IjYSmAVep/0ipitjjeArIhtPI=";
+
vendorHash = "sha256-qoW9+t427k5Ea9BhAdWIh+utD7EnIU1OLKJfsmYlEt8=";
tags = [
"with_quic"
+2 -2
pkgs/tools/networking/tgt/default.nix
···
stdenv.mkDerivation rec {
pname = "tgt";
-
version = "1.0.88";
+
version = "1.0.89";
src = fetchFromGitHub {
owner = "fujita";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-tLc+viPufR6P5texDs9lU8wsOTzrjSK0Qz/r4/L8M5k=";
+
sha256 = "sha256-sgflHkG4FncQ31+BwcZsp7LRgqeqANCIKGysxUk8aEs=";
};
nativeBuildInputs = [ libxslt docbook_xsl makeWrapper ];
+8 -6
pkgs/top-level/all-packages.nix
···
jboss_mysql_jdbc = callPackage ../servers/http/jboss/jdbc/mysql { };
-
jetty = callPackage ../servers/http/jetty { };
+
jetty = jetty_12;
+
jetty_12 = callPackage ../servers/http/jetty/12.x.nix { };
+
jetty_11 = callPackage ../servers/http/jetty/11.x.nix { };
jibri = callPackage ../servers/jibri { };
···
roxctl = callPackage ../applications/networking/cluster/roxctl {
-
rqbit = callPackage ../applications/networking/p2p/rqbit {
-
inherit (darwin.apple_sdk.frameworks) Security;
-
};
-
rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
···
webssh = with python3Packages; toPythonApplication webssh;
-
webtorrent_desktop = callPackage ../applications/video/webtorrent_desktop { };
+
webtorrent_desktop = callPackage ../applications/video/webtorrent_desktop {
+
electron = electron_27;
+
};
wrapWeechat = callPackage ../applications/networking/irc/weechat/wrapper.nix { };
···
stable = false;
with3d = false;
+
+
kicadAddons = recurseIntoAttrs (callPackage ../applications/science/electronics/kicad/addons {});
librepcb = libsForQt5.callPackage ../applications/science/electronics/librepcb { };
+2
pkgs/top-level/linux-kernels.nix
···
lttng-modules = callPackage ../os-specific/linux/lttng-modules { };
+
mstflint_access = callPackage ../os-specific/linux/mstflint_access { };
+
broadcom_sta = callPackage ../os-specific/linux/broadcom-sta { };
tbs = callPackage ../os-specific/linux/tbs { };
+2
pkgs/top-level/ocaml-packages.nix
···
merlin-lib = callPackage ../development/tools/ocaml/merlin/lib.nix { };
+
metadata = callPackage ../development/ocaml-modules/metadata { };
+
metrics = callPackage ../development/ocaml-modules/metrics { };
metrics-influx = callPackage ../development/ocaml-modules/metrics/influx.nix { };
+10
pkgs/top-level/python-packages.nix
···
et-xmlfile = callPackage ../development/python-modules/et-xmlfile { };
+
euclid3 = callPackage ../development/python-modules/euclid3 { };
+
eufylife-ble-client = callPackage ../development/python-modules/eufylife-ble-client { };
evaluate = callPackage ../development/python-modules/evaluate { };
···
inherit (pkgs) libpcap; # Avoid confusion with python package of the same name
};
+
pcbnew-transition = callPackage ../development/python-modules/pcbnew-transition { };
+
pcodedmp = callPackage ../development/python-modules/pcodedmp { };
pcpp = callPackage ../development/python-modules/pcpp { };
···
psrpcore = callPackage ../development/python-modules/psrpcore { };
+
pybars3 = callPackage ../development/python-modules/pybars3 { };
+
+
pymeta3 = callPackage ../development/python-modules/pymeta3 { };
+
pypemicro = callPackage ../development/python-modules/pypemicro { };
pyprecice = callPackage ../development/python-modules/pyprecice { };
···
};
pixelmatch = callPackage ../development/python-modules/pixelmatch { };
+
+
pixel-ring = callPackage ../development/python-modules/pixel-ring { };
pjsua2 = (toPythonModule (pkgs.pjsip.override {
pythonSupport = true;