Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-11-16 18:01:17 +00:00 committed by GitHub
commit dba5c9ef4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
102 changed files with 1627 additions and 397 deletions

5
.github/labeler.yml vendored
View File

@ -37,6 +37,11 @@
"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/**/*

View File

@ -12,14 +12,18 @@ let
_printFileset
_intersection
_difference
_mirrorStorePath
_fetchGitSubmodulesMinver
;
inherit (builtins)
isBool
isList
isPath
pathExists
seq
typeOf
nixVersion
;
inherit (lib.lists)
@ -34,6 +38,7 @@ let
inherit (lib.strings)
isStringLike
versionOlder
;
inherit (lib.filesystem)
@ -47,6 +52,7 @@ let
inherit (lib.trivial)
isFunction
pipe
inPureEvalMode
;
in {
@ -596,4 +602,111 @@ 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;
}

View File

@ -825,4 +825,27 @@ rec {
${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);
}

View File

@ -43,15 +43,29 @@ crudeUnquoteJSON() {
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.
@ -60,7 +74,7 @@ expectEqual() {
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=$?
@ -68,7 +82,7 @@ expectEqual() {
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=$?
@ -95,8 +109,9 @@ expectEqual() {
# 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
@ -108,10 +123,16 @@ expectStorePath() {
# 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")
@ -128,12 +149,12 @@ expectTrace() {
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")
@ -1251,6 +1272,179 @@ expectEqual 'trace (intersection ./a (fromSource (lib.cleanSourceWith {
}))) 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
echo >&2 tests ok

View File

@ -25,11 +25,13 @@ let
];
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

View File

@ -8295,6 +8295,15 @@
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";
@ -11209,6 +11218,12 @@
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";
github = "maurer";

View File

@ -301,6 +301,7 @@ in
description = lib.mdDoc ''
The addresses to send outgoing mail to.
'';
apply = x: if x == [] then null else lib.concatStringsSep "," x;
};
};

View File

@ -1,123 +1,110 @@
{ 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 \
@ -128,13 +115,40 @@ in
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 ];
}

View File

@ -656,6 +656,7 @@ in {
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 {};

View File

@ -0,0 +1,20 @@
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))
'';
})

View File

@ -13,13 +13,13 @@
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" ];

View File

@ -2,33 +2,42 @@
# 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"; })
@ -112,16 +121,21 @@
(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"; })
@ -154,6 +168,7 @@
(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"; })

View File

@ -11,11 +11,12 @@ stdenv.mkDerivation rec {
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;
};
}

View File

@ -343,8 +343,8 @@ let
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";

View File

@ -20,13 +20,13 @@
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 = [

View File

@ -2,16 +2,16 @@
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"

View File

@ -10,16 +10,16 @@
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;

View File

@ -4,11 +4,11 @@ let
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 = [

View File

@ -103,14 +103,14 @@ let
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 = [

View File

@ -7,16 +7,16 @@
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" ];

View File

@ -13,13 +13,13 @@ let
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=";

View File

@ -0,0 +1,5 @@
{ kicad }:
{
kikit = kicad.callPackage ./kikit.nix { addonName = "kikit"; };
kikit-library = kicad.callPackage ./kikit.nix { addonName = "kikit-library"; };
}

View File

@ -0,0 +1,52 @@
# 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;
};
}

View File

@ -69,6 +69,8 @@ stdenv.mkDerivation rec {
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"

View File

@ -1,4 +1,6 @@
{ lib, stdenv
, runCommand
, newScope
, fetchFromGitLab
, gnome
, dconf
@ -11,6 +13,8 @@
, callPackages
, librsvg
, cups
, unzip
, jq
, pname ? "kicad"
, stable ? true
@ -18,6 +22,7 @@
, libngspice
, withScripting ? true
, python3
, addons ? [ ]
, debug ? false
, sanitizeAddress ? false
, sanitizeThreads ? false
@ -27,6 +32,14 @@
, 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
# to overlays since most of the kicad build expression has been
@ -106,6 +119,32 @@ let
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
@ -113,6 +152,7 @@ stdenv.mkDerivation rec {
# 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;
@ -131,7 +171,7 @@ stdenv.mkDerivation rec {
dontFixup = true;
pythonPath = optionals (withScripting)
[ wxPython python.pkgs.six python.pkgs.requests ];
[ wxPython python.pkgs.six python.pkgs.requests ] ++ addonsDrvs;
nativeBuildInputs = [ makeWrapper ]
++ optionals (withScripting)
@ -164,6 +204,17 @@ stdenv.mkDerivation rec {
"--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"

View File

@ -0,0 +1,15 @@
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

View File

@ -10,7 +10,7 @@
}:
let
version = "5.12.171";
version = "5.12.174";
in
rustPlatform.buildRustPackage {
pname = "git-mit";
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
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 ];

View File

@ -1,15 +1,27 @@
{ 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 = ''
@ -31,7 +43,7 @@ buildNpmPackage {
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/
@ -44,7 +56,7 @@ buildNpmPackage {
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 ];
};
}

View File

@ -3,7 +3,6 @@
, 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
@ -15,13 +14,13 @@
"-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:
@ -41,7 +40,7 @@ let
];
in
stdenv.mkDerivation ({
inherit dontUnpack LC_ALL jar;
inherit dontUnpack jar;
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ];

View File

@ -6,16 +6,16 @@
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 = ''

View File

@ -17,16 +17,16 @@
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 ]

View File

@ -11,16 +11,16 @@
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 ];

View File

@ -0,0 +1,87 @@
{ 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;
};
}

View File

@ -0,0 +1,2 @@
{ python3 }:
(python3.pkgs.callPackage ./default.nix { })

View File

@ -0,0 +1,71 @@
{ 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 ];
};
}

View File

@ -0,0 +1,31 @@
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@'])

View File

@ -0,0 +1,66 @@
# 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;
};
}

View File

@ -0,0 +1,32 @@
{ 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";
};
})

View File

@ -1,22 +1,22 @@
{ 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;
@ -25,5 +25,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/ikatson/rqbit";
license = licenses.asl20;
maintainers = with maintainers; [ marsam ];
mainProgram = "rqbit";
};
}

View File

@ -222,7 +222,7 @@ dependencies = [
"hex",
"http",
"hyper",
"ring",
"ring 0.16.20",
"time",
"tokio",
"tower",
@ -287,9 +287,9 @@ dependencies = [
[[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",
@ -673,12 +673,6 @@ dependencies = [
"rustc-demangle",
]
[[package]]
name = "base64"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "base64"
version = "0.21.4"
@ -810,9 +804,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
[[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"
@ -1054,9 +1048,9 @@ dependencies = [
[[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",
]
@ -1567,11 +1561,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d3b20d3058763d26d88e6e7a49998841e5296735b00dbfb064ff7cb142933dd"
dependencies = [
"async-trait",
"base64 0.21.4",
"base64",
"dirs-next",
"hyper",
"hyper-rustls",
"ring",
"ring 0.16.20",
"rustls",
"rustls-pemfile",
"serde",
@ -1660,9 +1654,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[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"
@ -1784,7 +1778,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
"socket2 0.4.9",
"socket2 0.4.10",
"tokio",
"tower-service",
"tracing",
@ -1822,16 +1816,16 @@ dependencies = [
[[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]]
@ -1893,7 +1887,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
dependencies = [
"equivalent",
"hashbrown 0.14.1",
"hashbrown 0.14.2",
]
[[package]]
@ -1936,7 +1930,7 @@ version = "0.3.2"
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",
@ -1944,9 +1938,9 @@ dependencies = [
[[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"
@ -2057,13 +2051,13 @@ dependencies = [
[[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",
@ -2190,9 +2184,9 @@ checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
[[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",
@ -2707,7 +2701,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
"parking_lot_core 0.9.8",
"parking_lot_core 0.9.9",
]
[[package]]
@ -2726,13 +2720,13 @@ dependencies = [
[[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",
]
@ -2770,11 +2764,12 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
[[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]]
@ -2955,7 +2950,7 @@ dependencies = [
[[package]]
name = "process-event"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"clap",
@ -3113,6 +3108,15 @@ dependencies = [
"bitflags 1.3.2",
]
[[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"
@ -3174,7 +3178,7 @@ version = "0.11.18"
source = "git+https://github.com/getsentry/reqwest?branch=restricted-connector#04ea4c720aca814c3f1de500b3e6fe3b0feeae4c"
dependencies = [
"async-compression",
"base64 0.21.4",
"base64",
"bytes",
"encoding_rs",
"futures-core",
@ -3229,11 +3233,25 @@ dependencies = [
"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"
@ -3266,9 +3284,9 @@ dependencies = [
[[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",
@ -3284,7 +3302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
dependencies = [
"log",
"ring",
"ring 0.16.20",
"rustls-webpki",
"sct",
]
@ -3307,7 +3325,7 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
dependencies = [
"base64 0.21.4",
"base64",
]
[[package]]
@ -3316,8 +3334,8 @@ version = "0.101.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
dependencies = [
"ring",
"untrusted",
"ring 0.16.20",
"untrusted 0.7.1",
]
[[package]]
@ -3388,8 +3406,8 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
dependencies = [
"ring",
"untrusted",
"ring 0.16.20",
"untrusted 0.7.1",
]
[[package]]
@ -3795,9 +3813,9 @@ dependencies = [
[[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",
@ -3805,9 +3823,9 @@ dependencies = [
[[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",
@ -4200,7 +4218,7 @@ dependencies = [
[[package]]
name = "symbolicator"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"axum",
@ -4238,7 +4256,7 @@ dependencies = [
[[package]]
name = "symbolicator-crash"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"bindgen",
"cmake",
@ -4246,7 +4264,7 @@ dependencies = [
[[package]]
name = "symbolicator-js"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"data-url",
"futures",
@ -4272,7 +4290,7 @@ dependencies = [
[[package]]
name = "symbolicator-native"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"apple-crash-report-parser",
@ -4303,7 +4321,7 @@ dependencies = [
[[package]]
name = "symbolicator-service"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"aws-config",
@ -4347,7 +4365,7 @@ dependencies = [
[[package]]
name = "symbolicator-sources"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"aws-types",
@ -4362,7 +4380,7 @@ dependencies = [
[[package]]
name = "symbolicator-stress"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"axum",
@ -4384,7 +4402,7 @@ dependencies = [
[[package]]
name = "symbolicator-test"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"axum",
"humantime",
@ -4402,7 +4420,7 @@ dependencies = [
[[package]]
name = "symbolicli"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"clap",
@ -4427,7 +4445,7 @@ dependencies = [
[[package]]
name = "symsorter"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"chrono",
@ -4525,18 +4543,18 @@ dependencies = [
[[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",
@ -4611,7 +4629,7 @@ dependencies = [
"mio 0.8.8",
"num_cpus",
"pin-project-lite",
"socket2 0.5.4",
"socket2 0.5.5",
"tokio-macros",
"windows-sys 0.48.0",
]
@ -4773,9 +4791,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
[[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",
@ -5005,13 +5023,19 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
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",
@ -5044,9 +5068,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[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",
@ -5169,7 +5193,7 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
[[package]]
name = "wasm-split"
version = "23.10.1"
version = "23.11.0"
dependencies = [
"anyhow",
"clap",
@ -5297,10 +5321,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
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",
]

View File

@ -11,13 +11,13 @@
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;
};

View File

@ -2,11 +2,11 @@
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 = ''

View File

@ -33,9 +33,10 @@ let
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,

View File

@ -2,13 +2,13 @@
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 ];

View File

@ -2,19 +2,21 @@
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";
description = "OCaml client for the various icecast & shoutcast source protocols";

View File

@ -1,15 +1,13 @@
{ 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; {

View File

@ -14,7 +14,7 @@ buildDunePackage {
minimalOCamlVersion = "4.08";
inherit (ffmpeg-base) version src duneVersion;
inherit (ffmpeg-base) version src;
propagatedBuildInputs = [
ffmpeg-avutil

View File

@ -11,7 +11,7 @@ buildDunePackage {
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 ];

View File

@ -11,7 +11,7 @@ buildDunePackage {
minimalOCamlVersion = "4.08";
inherit (ffmpeg-base) version src duneVersion;
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ]

View File

@ -17,7 +17,7 @@ buildDunePackage {
minimalOCamlVersion = "4.08";
inherit (ffmpeg-base) version src duneVersion;
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ]

View File

@ -13,7 +13,7 @@ buildDunePackage {
minimalOCamlVersion = "4.08";
inherit (ffmpeg-base) version src duneVersion;
inherit (ffmpeg-base) version src;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator ]

View File

@ -9,7 +9,7 @@ buildDunePackage {
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 ];

View File

@ -10,7 +10,7 @@ buildDunePackage {
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 ];

View File

@ -10,7 +10,7 @@ buildDunePackage {
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 ];

View File

@ -2,13 +2,13 @@
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 ];

View File

@ -0,0 +1,22 @@
{ 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 ];
};
}

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "accuweather";
version = "2.0.0";
version = "2.1.0";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "bieniu";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-elpVclH/sVQHEp3kTiwbDproJcB85F7m5sEjXwSEtNk=";
hash = "sha256-7uCR/xUARUakODeLVdI13D9ZksvN9c63o3Q0MlJp8cs=";
};
propagatedBuildInputs = [

View File

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "asyncua";
version = "1.0.4";
version = "1.0.5";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "FreeOpcUa";
repo = "opcua-asyncio";
rev = "refs/tags/v${version}";
hash = "sha256-gAyvo+VJPdS/UpXN/h8LqbIRyx84fifSUsW2GUzLgfo=";
hash = "sha256-eDrnDDiijkr5377BVWVAc5QEQCCDBoFynuT4MncCx9g=";
fetchSubmodules = true;
};

View File

@ -44,6 +44,16 @@ buildPythonPackage rec {
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";

View File

@ -10,16 +10,14 @@
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 = [
@ -40,11 +38,11 @@ buildPythonPackage rec {
# 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 ];
};
}

View File

@ -7,14 +7,14 @@
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 = ''

View File

@ -6,14 +6,14 @@
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 = [

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "canals";
version = "0.9.0";
version = "0.10.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "deepset-ai";
repo = "canals";
rev = "refs/tags/v${version}";
hash = "sha256-5pRrpi1qxkFgGqcw7Nfc5rnOTra27H31DLKCglkPf6s=";
hash = "sha256-zTC9zaY2WQ4Sx/1YeEaw23UH0hoP/ktMwzH8x/rER00=";
};
nativeBuildInputs = [

View File

@ -1,7 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools-scm
, setuptools
, argparse-addons
, bitstruct
, can
@ -16,18 +16,18 @@
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 = [
@ -50,8 +50,9 @@ buildPythonPackage rec {
];
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 ];
};

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "dvc-data";
version = "2.21.0";
version = "2.21.2";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-q9wVPT8mUZyX0I4GdC6qtsCTFH80HsUrrtR2oAby8VE=";
hash = "sha256-2RLf2HBkb/vwbr9JecQQfO68ifVgcBIwmRQkXGJh0Fs=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -55,14 +55,14 @@
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 = [

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "dvclive";
version = "3.2.0";
version = "3.3.1";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-Z1Nxdz4/45uSypufuwDGiCeUwl+izRGIDA2s9F+jT1Q=";
hash = "sha256-esvDCAsGoaB4t4hiTmoQa69Sgg5crqJyiom/iXxpZow=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -0,0 +1,25 @@
{ 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 ];
};
}

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "griffe";
version = "0.36.9";
version = "0.38.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "mkdocstrings";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-5j6boIy2LnB3Y0ZzheTdflON8KaQkeQS5vkaPIsETGk=";
hash = "sha256-GhohFO5tHb9ByISPUf4U2MrDATE4WjuekcC9QZaP2Ls=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "gvm-tools";
version = "23.10.0";
version = "23.11.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "greenbone";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-+D9gl2Q1NybL8Na9qDZpDZOBStzJcfE6IUKFwjzr1J0=";
hash = "sha256-ZwImkTYYSscmGJYCpMWmZjToi41XjT4Znpo8j66BKIs=";
};
nativeBuildInputs = [

View File

@ -1,45 +1,32 @@
{ 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 = [
@ -53,6 +40,7 @@ buildPythonPackage rec {
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 ];
};

View File

@ -0,0 +1,39 @@
{ 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 ];
};
}

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "pegen";
version = "0.2.0";
version = "0.3.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "we-like-parsers";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-5nxOMgkDAkHtVFSNXf0SPoag6/E7b97eVnFoAqyJE3g=";
hash = "sha256-P4zX8za9lBlXhNPkQe9p136ggZEJh6fHfBr+DQKvtTg=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -0,0 +1,42 @@
{ 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 ];
};
}

View File

@ -0,0 +1,38 @@
{ 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 ];
};
}

View File

@ -0,0 +1,29 @@
{ 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 ];
};
}

View File

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "pyoverkiz";
version = "1.13.1";
version = "1.13.2";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "iMicknl";
repo = "python-overkiz-api";
rev = "refs/tags/v${version}";
hash = "sha256-55oqrVjvbdwNn5S3YQVU3saWtFHhoUCcyW9VzXs87YM=";
hash = "sha256-WGFRZhnlTDC9uv9N4sKznIdgjBwpnuT9Gsa8hdlnPAE=";
};
postPatch = ''

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "python-gvm";
version = "23.10.1";
version = "23.11.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "greenbone";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-OG45mKYqWrgyDyTlWPz95VXQDKAx4QeU1ZZGmHhbviI=";
hash = "sha256-7HneedqHbNB9ZYFUCCQ/puLtA1QlIkTKqji0py9hwBE=";
};
nativeBuildInputs = [

View File

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "types-awscrt";
version = "0.19.10";
version = "0.19.12";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -15,7 +15,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "types_awscrt";
inherit version;
hash = "sha256-YowjnLt7eCBzBfklBOEEDRClp/ToA3KLi+xuftUoti4=";
hash = "sha256-KbJBIVxl622kZPEeIyiTEEky/DxKShyJGSFYv2YEveY=";
};
nativeBuildInputs = [

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "weconnect-mqtt";
version = "0.48.2";
version = "0.48.3";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "tillsteinbach";
repo = "WeConnect-mqtt";
rev = "refs/tags/v${version}";
hash = "sha256-8JJBWF53VOmTD/uetCURFaTkfSTax/YeafKsZtA1xAA=";
hash = "sha256-Pja9BP0gbWXTgOokEngNS364tJp1oWJYNKcTxyYJHGw=";
};
postPatch = ''

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "weconnect";
version = "0.59.4";
version = "0.59.5";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "tillsteinbach";
repo = "WeConnect-python";
rev = "refs/tags/v${version}";
hash = "sha256-Z9tiK6oDyyMcXhgUUxSDL9URYDp6Uz8rFPART3qxd+s=";
hash = "sha256-ujIA98QD8ds2/iLLeJqn88nY9tZuuOSnOwGvRznA8PQ=";
};
propagatedBuildInputs = [

View File

@ -5,14 +5,14 @@
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 = [

View File

@ -36,7 +36,6 @@ stdenv.mkDerivation rec {
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"

View File

@ -12,16 +12,16 @@
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

View File

@ -6,7 +6,7 @@
}:
let
tag = "0.3.4";
tag = "0.3.5";
in
stdenv.mkDerivation {
pname = "apfs";
@ -16,7 +16,7 @@ stdenv.mkDerivation {
owner = "linux-apfs";
repo = "linux-apfs-rw";
rev = "v${tag}";
hash = "sha256-EeVOrZtmKi5VfPerW9IntjRvdU3AbFPHG+pyAI4ciGk=";
hash = "sha256-rKz9a4Z+tx63rhknQIl/zu/WIMjxxM0+NGyaxnzxLk4=";
};
hardeningDisable = [ "pic" ];

View File

@ -0,0 +1,40 @@
{ 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;
};
}

View File

@ -1,25 +1,16 @@
{ 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
@ -27,12 +18,12 @@ stdenv.mkDerivation rec {
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;
};

View File

@ -0,0 +1,4 @@
import ./common.nix {
version = "11.0.18";
hash = "sha256-HxtO2r6YWo6+MAYUgk7dNSPDqQZoyO9t/8NdI5pPkL4=";
}

View File

@ -0,0 +1,4 @@
import ./common.nix {
version = "12.0.3";
hash = "sha256-Z/jJKKzoqTPZnoFOMwbpSd/Kd1w+rXloKH+aw6aNrKs=";
}

View File

@ -1,11 +1,15 @@
{ 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;
@ -17,10 +21,10 @@ stdenv.mkDerivation rec {
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 ];
};
}

View File

@ -1,35 +1,68 @@
{ 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
@ -38,29 +71,36 @@ stdenv.mkDerivation {
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
@ -72,25 +112,22 @@ stdenv.mkDerivation {
ocamlPackages.ogg
ocamlPackages.opus
ocamlPackages.portaudio
ocamlPackages.posix-time2
ocamlPackages.pulseaudio
ocamlPackages.shine
ocamlPackages.samplerate
ocamlPackages.shine
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; {

View File

@ -1,26 +1,109 @@
{ 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=";
};
buildInputs = [
libibmad
openssl
zlib
nativeBuildInputs = [
autoconf
automake
libtool
pkg-config
libxml2
git
];
buildInputs = [
rdma-core
zlib
libxml2
openssl
] ++ 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
@ -29,6 +112,7 @@ stdenv.mkDerivation rec {
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;
};
}

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl }:
{ lib, stdenv, fetchurl, nixosTests }:
let
version = "1.2023.12";
@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
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.";
homepage = "https://plantuml.com/";

View File

@ -24,8 +24,8 @@
}:
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}";

View File

@ -2,13 +2,13 @@
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 ];

View File

@ -6,18 +6,18 @@
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"
@ -41,6 +41,6 @@ buildGoModule rec {
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 ];
};
}

View File

@ -11,16 +11,16 @@
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"

View File

@ -4,13 +4,13 @@
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 ];

View File

@ -26569,7 +26569,9 @@ with pkgs;
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 { };
@ -34245,10 +34247,6 @@ with pkgs;
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 { };
@ -36478,7 +36476,9 @@ with pkgs;
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 { };
@ -39830,6 +39830,8 @@ with pkgs;
with3d = false;
};
kicadAddons = recurseIntoAttrs (callPackage ../applications/science/electronics/kicad/addons {});
librepcb = libsForQt5.callPackage ../applications/science/electronics/librepcb { };
ngspice = libngspice.override {

View File

@ -381,6 +381,8 @@ in {
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 { };

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