Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-11-02 00:02:27 +00:00 committed by GitHub
commit d4d107cf3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 410 additions and 47 deletions

View File

@ -9,6 +9,7 @@ let
_fileFilter
_printFileset
_intersection
_difference
;
inherit (builtins)
@ -368,6 +369,58 @@ If a directory does not recursively contain any file, it is omitted from the sto
(elemAt filesets 0)
(elemAt filesets 1);
/*
The file set containing all files from the first file set that are not in the second file set.
See also [Difference (set theory)](https://en.wikipedia.org/wiki/Complement_(set_theory)#Relative_complement).
The given file sets are evaluated as lazily as possible,
with the first argument being evaluated first if needed.
Type:
union :: FileSet -> FileSet -> FileSet
Example:
# Create a file set containing all files from the current directory,
# except ones under ./tests
difference ./. ./tests
let
# A set of Nix-related files
nixFiles = unions [ ./default.nix ./nix ./tests/default.nix ];
in
# Create a file set containing all files under ./tests, except ones in `nixFiles`,
# meaning only without ./tests/default.nix
difference ./tests nixFiles
*/
difference =
# The positive file set.
# The result can only contain files that are also in this file set.
#
# This argument can also be a path,
# which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).
positive:
# The negative file set.
# The result will never contain files that are also in this file set.
#
# This argument can also be a path,
# which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).
negative:
let
filesets = _coerceMany "lib.fileset.difference" [
{
context = "first argument (positive set)";
value = positive;
}
{
context = "second argument (negative set)";
value = negative;
}
];
in
_difference
(elemAt filesets 0)
(elemAt filesets 1);
/*
Incrementally evaluate and trace a file set in a pretty way.
This function is only intended for debugging purposes.

View File

@ -651,6 +651,86 @@ rec {
# In all other cases it's the rhs
rhs;
# Compute the set difference between two file sets.
# The filesets must already be coerced and validated to be in the same filesystem root.
# Type: Fileset -> Fileset -> Fileset
_difference = positive: negative:
let
# The common base components prefix, e.g.
# (/foo/bar, /foo/bar/baz) -> /foo/bar
# (/foo/bar, /foo/baz) -> /foo
commonBaseComponentsLength =
# TODO: Have a `lib.lists.commonPrefixLength` function such that we don't need the list allocation from commonPrefix here
length (
commonPrefix
positive._internalBaseComponents
negative._internalBaseComponents
);
# We need filesetTree's with the same base to be able to compute the difference between them
# This here is the filesetTree from the negative file set, but for a base path that matches the positive file set.
# Examples:
# For `difference /foo /foo/bar`, `negativeTreeWithPositiveBase = { bar = "directory"; }`
# because under the base path of `/foo`, only `bar` from the negative file set is included
# For `difference /foo/bar /foo`, `negativeTreeWithPositiveBase = "directory"`
# because under the base path of `/foo/bar`, everything from the negative file set is included
# For `difference /foo /bar`, `negativeTreeWithPositiveBase = null`
# because under the base path of `/foo`, nothing from the negative file set is included
negativeTreeWithPositiveBase =
if commonBaseComponentsLength == length positive._internalBaseComponents then
# The common prefix is the same as the positive base path, so the second path is equal or longer.
# We need to _shorten_ the negative filesetTree to the same base path as the positive one
# E.g. for `difference /foo /foo/bar` the common prefix is /foo, equal to the positive file set's base
# So we need to shorten the base of the tree for the negative argument from /foo/bar to just /foo
_shortenTreeBase positive._internalBaseComponents negative
else if commonBaseComponentsLength == length negative._internalBaseComponents then
# The common prefix is the same as the negative base path, so the first path is longer.
# We need to lengthen the negative filesetTree to the same base path as the positive one.
# E.g. for `difference /foo/bar /foo` the common prefix is /foo, equal to the negative file set's base
# So we need to lengthen the base of the tree for the negative argument from /foo to /foo/bar
_lengthenTreeBase positive._internalBaseComponents negative
else
# The common prefix is neither the first nor the second path.
# This means there's no overlap between the two file sets,
# and nothing from the negative argument should get removed from the positive one
# E.g for `difference /foo /bar`, we remove nothing to get the same as `/foo`
null;
resultingTree =
_differenceTree
positive._internalBase
positive._internalTree
negativeTreeWithPositiveBase;
in
# If the first file set is empty, we can never have any files in the result
if positive._internalIsEmptyWithoutBase then
_emptyWithoutBase
# If the second file set is empty, nothing gets removed, so the result is just the first file set
else if negative._internalIsEmptyWithoutBase then
positive
else
# We use the positive file set base for the result,
# because only files from the positive side may be included,
# which is what base path is for
_create positive._internalBase resultingTree;
# Computes the set difference of two filesetTree's
# Type: Path -> filesetTree -> filesetTree
_differenceTree = path: lhs: rhs:
# If the lhs doesn't have any files, or the right hand side includes all files
if lhs == null || isString rhs then
# The result will always be empty
null
# If the right hand side has no files
else if rhs == null then
# The result is always the left hand side, because nothing gets removed
lhs
else
# Otherwise we always have two attribute sets to recurse into
mapAttrs (name: lhsValue:
_differenceTree (path + "/${name}") lhsValue (rhs.${name} or null)
) (_directoryEntries path lhs);
_fileFilter = predicate: fileset:
let
recurse = path: tree:

View File

@ -684,6 +684,104 @@ tree=(
)
checkFileset 'intersection (unions [ ./a/b ./c/d ./c/e ]) (unions [ ./a ./c/d/f ./c/e ])'
## Difference
# Subtracting something from itself results in nothing
tree=(
[a]=0
)
checkFileset 'difference ./. ./.'
# The tree of the second argument should not be evaluated if not needed
checkFileset 'difference _emptyWithoutBase (_create ./. (abort "This should not be used!"))'
checkFileset 'difference (_create ./. null) (_create ./. (abort "This should not be used!"))'
# Subtracting nothing gives the same thing back
tree=(
[a]=1
)
checkFileset 'difference ./. _emptyWithoutBase'
checkFileset 'difference ./. (_create ./. null)'
# Subtracting doesn't influence the base path
mkdir a b
touch {a,b}/x
expectEqual 'toSource { root = ./a; fileset = difference ./a ./b; }' 'toSource { root = ./a; fileset = ./a; }'
rm -rf -- *
# Also not the other way around
mkdir a
expectFailure 'toSource { root = ./a; fileset = difference ./. ./a; }' 'lib.fileset.toSource: `fileset` could contain files in '"$work"', which is not under the `root` \('"$work"'/a\). Potential solutions:
\s*- Set `root` to '"$work"' or any directory higher up. This changes the layout of the resulting store path.
\s*- Set `fileset` to a file set that cannot contain files outside the `root` \('"$work"'/a\). This could change the files included in the result.'
rm -rf -- *
# Difference actually works
# We test all combinations of ./., ./a, ./a/x and ./b
tree=(
[a/x]=0
[a/y]=0
[b]=0
[c]=0
)
checkFileset 'difference ./. ./.'
checkFileset 'difference ./a ./.'
checkFileset 'difference ./a/x ./.'
checkFileset 'difference ./b ./.'
checkFileset 'difference ./a ./a'
checkFileset 'difference ./a/x ./a'
checkFileset 'difference ./a/x ./a/x'
checkFileset 'difference ./b ./b'
tree=(
[a/x]=0
[a/y]=0
[b]=1
[c]=1
)
checkFileset 'difference ./. ./a'
tree=(
[a/x]=1
[a/y]=1
[b]=0
[c]=0
)
checkFileset 'difference ./a ./b'
tree=(
[a/x]=1
[a/y]=0
[b]=0
[c]=0
)
checkFileset 'difference ./a/x ./b'
tree=(
[a/x]=0
[a/y]=1
[b]=0
[c]=0
)
checkFileset 'difference ./a ./a/x'
tree=(
[a/x]=0
[a/y]=0
[b]=1
[c]=0
)
checkFileset 'difference ./b ./a'
checkFileset 'difference ./b ./a/x'
tree=(
[a/x]=0
[a/y]=1
[b]=1
[c]=1
)
checkFileset 'difference ./. ./a/x'
tree=(
[a/x]=1
[a/y]=1
[b]=0
[c]=1
)
checkFileset 'difference ./. ./b'
## File filter

View File

@ -64,8 +64,14 @@ expectSuccess "pathType $PWD/directory" '"directory"'
expectSuccess "pathType $PWD/regular" '"regular"'
expectSuccess "pathType $PWD/symlink" '"symlink"'
expectSuccess "pathType $PWD/fifo" '"unknown"'
# Different errors depending on whether the builtins.readFilePath primop is available or not
expectFailure "pathType $PWD/non-existent" "error: (evaluation aborted with the following error message: 'lib.filesystem.pathType: Path $PWD/non-existent does not exist.'|getting status of '$PWD/non-existent': No such file or directory)"
# Only check error message when a Nixpkgs-specified error is thrown,
# which is only the case when `readFileType` is not available
# and the fallback implementation needs to be used.
if [[ "$(nix-instantiate --eval --expr 'builtins ? readFileType')" == false ]]; then
expectFailure "pathType $PWD/non-existent" \
"error: evaluation aborted with the following error message: 'lib.filesystem.pathType: Path $PWD/non-existent does not exist.'"
fi
expectSuccess "pathIsDirectory /." "true"
expectSuccess "pathIsDirectory $PWD/directory" "true"

View File

@ -17167,6 +17167,12 @@
githubId = 7075751;
name = "Patrick Hilhorst";
};
sysedwinistrator = {
email = "edwin.mowen@gmail.com";
github = "sysedwinistrator";
githubId = 71331875;
name = "Edwin Mackenzie-Owen";
};
szczyp = {
email = "qb@szczyp.com";
github = "Szczyp";

View File

@ -36,7 +36,7 @@ in pkgs.lib.listToAttrs (builtins.map ({ predictable, withNetworkd, systemdStage
networking.useDHCP = !withNetworkd;
# Check if predictable interface names are working in stage-1
boot.initrd.postDeviceCommands = script;
boot.initrd.postDeviceCommands = lib.mkIf (!systemdStage1) script;
boot.initrd.systemd = lib.mkIf systemdStage1 {
enable = true;

View File

@ -25,13 +25,13 @@ let
in
stdenv.mkDerivation rec {
pname = "reaper";
version = "7.0";
version = "7.02";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash = {
x86_64-linux = "sha256-lHXy1xSwhNht6dt30e35nE1ZpOm8oTMMpoZJI7ELsjg=";
aarch64-linux = "sha256-a/e8DQ9NvbLyZHqg7pUxm+kV7i5vKCjeq9EOO0/5TJk=";
x86_64-linux = "sha256-86BGWaZ+zkxgC1Tz14lkBniwhs26G4EPpG2LjsSe9io=";
aarch64-linux = "sha256-kJfy4ji5YBv5ztilkAIuPswu3O9pwBL0coD6wU1gU5c=";
}.${stdenv.hostPlatform.system};
};

View File

@ -167,9 +167,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.6.2";
hash = "sha256-24B8YlorL00OqmYYVM1xg5dM9hZ4enDWJ1XIGmeEAiM=";
vendorHash = "sha256-fIirGWt4Os2uZHo4ui7wmZEp+DRUHu/0p+cQCbUbzjc=";
version = "1.6.3";
hash = "sha256-2ai0WAknz4rt33BuBoqnTCsfPNHmet9+PdgYeeJKQkQ=";
vendorHash = "sha256-ZtaXUX0PgL1nwXgohcfCyj/fLPAodx8amHEsQnlOQrc=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
version = "2.37.0";
version = "2.38.0";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
hash = "sha256-EAvBPUm2U31gzpfyjEPClT1lbBYiITXpdc+T3nUMOeg=";
hash = "sha256-t+JpCxJM2PO9nT9nYn/Rsz/s2lQQviggbjuEy0OQV88=";
};
vendorHash = "sha256-G3cpR5S+upk3js5anZHXxcRayTEGMqnBpmtp4HO0pjQ=";
vendorHash = "sha256-XZhZDYdbjA/1g7/mPxm5u1b+z/TmwoH60/sJZ63LQMg=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -6,12 +6,12 @@
python3Packages.buildPythonApplication rec {
pname = "streamlink";
version = "6.2.1";
version = "6.3.1";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-64Jmkva7L0oaik1UcCTQlUricL2us+O5CEc6pVsgnRI=";
hash = "sha256-k8Dfrl0Xie5zF/GhVdP/RKGajDyGblAwu49UekX1WEQ=";
};
nativeCheckInputs = with python3Packages; [
@ -23,10 +23,6 @@ python3Packages.buildPythonApplication rec {
pytest-trio
];
nativeBuildInputs = with python3Packages; [
versioningit
];
propagatedBuildInputs = (with python3Packages; [
certifi
isodate

View File

@ -39,13 +39,13 @@ let
in
stdenv.mkDerivation rec {
pname = "crun";
version = "1.11";
version = "1.11.1";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = version;
hash = "sha256-38IqVt/XZeZQRXjiPNz4qDibBHMBVZwzAcxrobzEWdI=";
hash = "sha256-D4Y+n/6R2v3U/BhYQitsHd6ckda1vfAzciFbTM/1J80=";
fetchSubmodules = true;
};

View File

@ -14,13 +14,13 @@
buildGoModule rec {
pname = "runc";
version = "1.1.9";
version = "1.1.10";
src = fetchFromGitHub {
owner = "opencontainers";
repo = "runc";
rev = "v${version}";
hash = "sha256-9vNzKoG+0Ze4+dhluNM6QtsUjV8/bpkuvEF8ASBfBRo=";
hash = "sha256-YoRwr5imolblix1st/YeVTrAUdQXTqrx1BdNMdYlt/0=";
};
vendorHash = null;

View File

@ -0,0 +1,42 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, just
, pop-icon-theme
, hicolor-icon-theme
}:
stdenvNoCC.mkDerivation rec {
pname = "cosmic-icons";
version = "unstable-2023-08-30";
src = fetchFromGitHub {
owner = "pop-os";
repo = pname;
rev = "14d8e2048087be1ad444f9b3ebb75885509f72c6";
sha256 = "sha256-WbdgHmTn403x95x9wEYL0T9ksbN+YLzEB2yE0UrF9T0=";
};
nativeBuildInputs = [ just ];
justFlags = [
"--set"
"prefix"
(placeholder "out")
];
propagatedBuildInputs = [
pop-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
meta = with lib; {
description = "System76 Cosmic icon theme for Linux";
homepage = "https://github.com/pop-os/cosmic-icons";
license = with licenses; [
cc-by-sa-40
];
maintainers = with maintainers; [ a-kenji ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "owl-lisp";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitLab {
owner = "owl-lisp";
repo = "owl";
rev = "v${version}";
sha256 = "sha256-TQOj3DYmzFT4ClZ/sBAOs5XJWRgGTaVQjH+8JotSb1A=";
sha256 = "sha256-GfvOkYLo8fgAvGuUa59hDy+sWJSwyntwqMO8TAK/lUo=";
};
nativeBuildInputs = [ which ];

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "brev-cli";
version = "0.6.262";
version = "0.6.264";
src = fetchFromGitHub {
owner = "brevdev";
repo = pname;
rev = "v${version}";
sha256 = "sha256-JzAhoeEwSqeZOVXZCVw/MmpUMh/ufEa8CdOYc1mvReY=";
sha256 = "sha256-bE1tQgFg01FsR/rYgKZCDkhor0NZrHN3ACDbXHcpO6Q=";
};
vendorHash = "sha256-IR/tgqh8rS4uN5jSOcopCutbHCKHSU9icUfRhOgu4t8=";

View File

@ -222,6 +222,9 @@ buildPythonPackage rec {
"test_binops"
# These tests are unreliable on aarch64-darwin. See https://github.com/pandas-dev/pandas/issues/38921.
"test_rolling"
] ++ lib.optional stdenv.is32bit [
# https://github.com/pandas-dev/pandas/issues/37398
"test_rolling_var_numerical_issues"
];
# Tests have relative paths, and need to reference compiled C extensions
@ -246,9 +249,8 @@ buildPythonPackage rec {
];
meta = with lib; {
# https://github.com/pandas-dev/pandas/issues/14866
# pandas devs are no longer testing i686 so safer to assume it's broken
broken = stdenv.isi686;
# pandas devs no longer test i686, it's commonly broken
# broken = stdenv.isi686;
changelog = "https://pandas.pydata.org/docs/whatsnew/index.html";
description = "Powerful data structures for data analysis, time series, and statistics";
downloadPage = "https://github.com/pandas-dev/pandas";

View File

@ -1,19 +1,20 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, gitUpdater
, makeWrapper
, babashka-unwrapped
}:
stdenvNoCC.mkDerivation rec {
pname = "bbin";
version = "0.1.5";
version = "0.2.1";
src = fetchFromGitHub {
owner = "babashka";
repo = "bbin";
rev = "v${version}";
sha256 = "sha256-5hohAr6a8C9jPwhQi3E66onSa6+P9plS939fQM/fl9Q=";
sha256 = "sha256-mF8+Fm1vwLUw5l2PqV+vFFlr6y2JpKBwc+J3PdKQ6Fo=";
};
nativeBuildInputs = [ makeWrapper ];
@ -33,6 +34,10 @@ stdenvNoCC.mkDerivation rec {
runHook postInstall
'';
passthru = {
updateScript = gitUpdater { rev-prefix = "v"; };
};
meta = with lib; {
homepage = "https://github.com/babashka/bbin";
description = "Install any Babashka script or project with one command";

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "fblog";
version = "4.4.0";
version = "4.5.0";
src = fetchFromGitHub {
owner = "brocode";
repo = pname;
rev = "v${version}";
hash = "sha256-f4iJ9Fp6Rd1jv2ywRCjvFHjbdCGb116NiQ42fvQUE8A=";
hash = "sha256-T0NvcNg2UeUpEf1hjSdoaUkIzCAP29vo6edfeno/oyo=";
};
cargoHash = "sha256-dt8OMlqNxd78sDxMPHG6jHEmF4LuFIMSo0BuQDWOM6o=";
cargoHash = "sha256-3/j/TjsQjXFe+rTfCncjoownXzaUiUBUkCXbFc5RM2o=";
meta = with lib; {
description = "A small command-line JSON log viewer";

View File

@ -0,0 +1,26 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule {
pname = "jq-lsp";
version = "unstable-2023-10-27";
src = fetchFromGitHub {
owner = "wader";
repo = "jq-lsp";
rev = "b4707e7776a4eb3093b1a7533ebd41368240095a";
hash = "sha256-AU4xGweeFx+kSsrqkTtSjl+N77cITF/qvAVZGUZY5SE=";
};
vendorHash = "sha256-ppQ81uERHBgOr/bm/CoDSWcK+IqHwvcL6RFi0DgoLuw=";
meta = with lib; {
description = "jq language server";
homepage = "https://github.com/wader/jq-lsp";
license = licenses.mit;
maintainers = with maintainers; [ sysedwinistrator ];
mainProgram = "jq-lsp";
};
}

View File

@ -1,12 +1,12 @@
{ lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles, coreutils }:
{ lib, stdenv, fetchzip, jdk, makeWrapper, installShellFiles, coreutils, testers, gitUpdater }:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "spring-boot-cli";
version = "2.3.2";
version = "3.1.5";
src = fetchzip {
url = "https://repo.spring.io/release/org/springframework/boot/${pname}/${version}.RELEASE/${pname}-${version}.RELEASE-bin.zip";
sha256 = "1zqfnxz57234227rp303iwis0mjkkjkpcqnj9jgw78gykjnqdmmq";
url = "mirror://maven/org/springframework/boot/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}-bin.zip";
hash = "sha256-5Q6bAuEEBkiRHjX8Ie5FFhPfzwKRdlNIQucTqDEIZuQ=";
};
nativeBuildInputs = [ makeWrapper installShellFiles ];
@ -24,6 +24,19 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru = {
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "${lib.getExe finalAttrs.finalPackage} --version";
version = "v${finalAttrs.version}";
};
updateScript = gitUpdater {
url = "https://github.com/spring-projects/spring-boot";
ignoredVersions = ".*-(RC|M).*";
rev-prefix = "v";
};
};
meta = with lib; {
description = ''
CLI which makes it easy to create spring-based applications
@ -40,9 +53,11 @@ stdenv.mkDerivation rec {
a command line tool that runs spring scripts.
'';
homepage = "https://spring.io/projects/spring-boot";
changelog = "https://github.com/spring-projects/spring-boot/releases/tag/v${finalAttrs.version}";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
mainProgram = "spring";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ moaxcp ];
};
}
})

View File

@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromGitHub, postgresql }:
stdenv.mkDerivation rec {
pname = "pg_embedding";
version = "0.3.6";
src = fetchFromGitHub {
owner = "neondatabase";
repo = pname;
rev = version;
hash = "sha256-NTBxsQB8mR7e/CWwkCEyDiYhi3Nxl/aKgRBwqc0THcI=";
};
buildInputs = [ postgresql ];
installPhase = ''
install -D -t $out/lib *.so
install -D -t $out/share/postgresql/extension *.sql
install -D -t $out/share/postgresql/extension *.control
'';
meta = with lib; {
description = "PostgreSQL extension implementing the HNSW algorithm for vector similarity search";
homepage = "https://github.com/neondatabase/pg_embedding";
maintainers = with maintainers; [ ivan ];
platforms = postgresql.meta.platforms;
license = licenses.asl20;
broken = versionOlder postgresql.version "12";
};
}

View File

@ -18,6 +18,8 @@ self: super: {
pg_ed25519 = super.callPackage ./ext/pg_ed25519.nix { };
pg_embedding = super.callPackage ./ext/pg_embedding.nix { };
pg_hint_plan = super.callPackage ./ext/pg_hint_plan.nix { };
pg_ivm = super.callPackage ./ext/pg_ivm.nix { };

View File

@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "triton";
version = "7.15.4";
version = "7.16.0";
src = fetchFromGitHub {
owner = "TritonDataCenter";
repo = "node-triton";
rev = version;
hash = "sha256-RjYJT8Iw9JZzvd2d9zh2CS27qUx12nDi12k+YuTh7tk=";
hash = "sha256-JjQAf1pbNraatWvrfys3ydqk3FPOoJ5XWJH/4qgfINk=";
};
npmDepsHash = "sha256-2ZTTgJ4LzmlfFoNNNPrrmna5pbREshdw5x9w5N7nasc=";
npmDepsHash = "sha256-E5yJwLSNLkK3OfwJrm59C4qfrd2y3nw/45B68MVBqV8=";
dontBuild = true;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "wander";
version = "0.11.1";
version = "0.11.2";
src = fetchFromGitHub {
owner = "robinovitch61";
repo = pname;
rev = "v${version}";
sha256 = "sha256-EIMHCal4jt8tMEfx2Lol2/7IK8uROaNC1ABB+0d0YTg=";
sha256 = "sha256-zAvPtTUrSHeIMy9MgJviyMvMJ0Ny5Nkx6oLwWPSc9bE=";
};
vendorHash = "sha256-SqDGXV8MpvEQFAkcE1NWvWjdzYsvbO5vA6k+hpY0js0=";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "ispell";
version = "3.4.05";
version = "3.4.06";
src = fetchurl {
url = "https://www.cs.hmc.edu/~geoff/tars/${pname}-${version}.tar.gz";
sha256 = "sha256-zwxt7eP9JfraQ3XYasr+WDy5bY/lRt50apLrtt+JVgI=";
sha256 = "sha256-F8kWM9TIB1rMUDFjoWRj/FSrHHRTKArTnNPbdceD66Y=";
};
buildInputs = [ bison ncurses ];

View File

@ -40456,6 +40456,8 @@ with pkgs;
j2cli = with python3Packages; toPythonApplication j2cli;
jq-lsp = callPackage ../development/tools/language-servers/jq-lsp { };
jquake = callPackage ../applications/misc/jquake { };
jstest-gtk = callPackage ../tools/misc/jstest-gtk { };