mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-30 17:49:58 +03:00
Merge staging-next into staging
This commit is contained in:
commit
6c1dce1973
5
.github/labeler.yml
vendored
5
.github/labeler.yml
vendored
@ -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/**/*
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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 ];
|
||||
}
|
||||
|
@ -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 {};
|
||||
|
20
nixos/tests/plantuml-server.nix
Normal file
20
nixos/tests/plantuml-server.nix
Normal 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))
|
||||
'';
|
||||
})
|
@ -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" ];
|
||||
|
69
pkgs/applications/audio/galaxy-buds-client/deps.nix
generated
69
pkgs/applications/audio/galaxy-buds-client/deps.nix
generated
@ -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"; })
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
|
@ -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 = [
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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=";
|
||||
|
@ -0,0 +1,5 @@
|
||||
{ kicad }:
|
||||
{
|
||||
kikit = kicad.callPackage ./kikit.nix { addonName = "kikit"; };
|
||||
kikit-library = kicad.callPackage ./kikit.nix { addonName = "kikit-library"; };
|
||||
}
|
52
pkgs/applications/science/electronics/kicad/addons/kikit.nix
Normal file
52
pkgs/applications/science/electronics/kicad/addons/kikit.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
@ -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 ];
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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 = ''
|
||||
|
@ -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 ]
|
||||
|
@ -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 ];
|
||||
|
87
pkgs/by-name/ki/kikit/default.nix
Normal file
87
pkgs/by-name/ki/kikit/default.nix
Normal 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;
|
||||
};
|
||||
}
|
2
pkgs/by-name/ki/kikit/package.nix
Normal file
2
pkgs/by-name/ki/kikit/package.nix
Normal file
@ -0,0 +1,2 @@
|
||||
{ python3 }:
|
||||
(python3.pkgs.callPackage ./default.nix { })
|
71
pkgs/by-name/ki/kikit/shapely/default.nix
Normal file
71
pkgs/by-name/ki/kikit/shapely/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
31
pkgs/by-name/ki/kikit/shapely/library-paths.patch
Normal file
31
pkgs/by-name/ki/kikit/shapely/library-paths.patch
Normal 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@'])
|
66
pkgs/by-name/ki/kikit/solidpython/default.nix
Normal file
66
pkgs/by-name/ki/kikit/solidpython/default.nix
Normal 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;
|
||||
};
|
||||
}
|
32
pkgs/by-name/lc/lcab/package.nix
Normal file
32
pkgs/by-name/lc/lcab/package.nix
Normal 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";
|
||||
};
|
||||
})
|
@ -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";
|
||||
};
|
||||
}
|
178
pkgs/by-name/sy/symbolicator/Cargo.lock
generated
178
pkgs/by-name/sy/symbolicator/Cargo.lock
generated
@ -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",
|
||||
]
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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 = ''
|
||||
|
@ -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,
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
@ -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; {
|
||||
|
@ -14,7 +14,7 @@ buildDunePackage {
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
inherit (ffmpeg-base) version src duneVersion;
|
||||
inherit (ffmpeg-base) version src;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ffmpeg-avutil
|
||||
|
@ -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 ];
|
||||
|
@ -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 ]
|
||||
|
@ -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 ]
|
||||
|
@ -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 ]
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
22
pkgs/development/ocaml-modules/metadata/default.nix
Normal file
22
pkgs/development/ocaml-modules/metadata/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
|
25
pkgs/development/python-modules/euclid3/default.nix
Normal file
25
pkgs/development/python-modules/euclid3/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
42
pkgs/development/python-modules/pixel-ring/default.nix
Normal file
42
pkgs/development/python-modules/pixel-ring/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
38
pkgs/development/python-modules/pybars3/default.nix
Normal file
38
pkgs/development/python-modules/pybars3/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
29
pkgs/development/python-modules/pymeta3/default.nix
Normal file
29
pkgs/development/python-modules/pymeta3/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = ''
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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" ];
|
||||
|
40
pkgs/os-specific/linux/mstflint_access/default.nix
Normal file
40
pkgs/os-specific/linux/mstflint_access/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
|
4
pkgs/servers/http/jetty/11.x.nix
Normal file
4
pkgs/servers/http/jetty/11.x.nix
Normal file
@ -0,0 +1,4 @@
|
||||
import ./common.nix {
|
||||
version = "11.0.18";
|
||||
hash = "sha256-HxtO2r6YWo6+MAYUgk7dNSPDqQZoyO9t/8NdI5pPkL4=";
|
||||
}
|
4
pkgs/servers/http/jetty/12.x.nix
Normal file
4
pkgs/servers/http/jetty/12.x.nix
Normal file
@ -0,0 +1,4 @@
|
||||
import ./common.nix {
|
||||
version = "12.0.3";
|
||||
hash = "sha256-Z/jJKKzoqTPZnoFOMwbpSd/Kd1w+rXloKH+aw6aNrKs=";
|
||||
}
|
@ -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 ];
|
||||
};
|
||||
}
|
@ -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; {
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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/";
|
||||
|
@ -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}";
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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 ];
|
||||
|
@ -26567,7 +26567,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 { };
|
||||
|
||||
@ -34243,10 +34245,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 { };
|
||||
@ -36476,7 +36474,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 { };
|
||||
|
||||
@ -39828,6 +39828,8 @@ with pkgs;
|
||||
with3d = false;
|
||||
};
|
||||
|
||||
kicadAddons = recurseIntoAttrs (callPackage ../applications/science/electronics/kicad/addons {});
|
||||
|
||||
librepcb = libsForQt5.callPackage ../applications/science/electronics/librepcb { };
|
||||
|
||||
ngspice = libngspice.override {
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user