Merge master into staging-next
This commit is contained in:
commit
8b4f11bb87
46 changed files with 563 additions and 88 deletions
|
@ -117,8 +117,55 @@ rec {
|
|||
callPackageWith = autoArgs: fn: args:
|
||||
let
|
||||
f = if lib.isFunction fn then fn else import fn;
|
||||
auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
|
||||
in makeOverridable f (auto // args);
|
||||
fargs = lib.functionArgs f;
|
||||
|
||||
# All arguments that will be passed to the function
|
||||
# This includes automatic ones and ones passed explicitly
|
||||
allArgs = builtins.intersectAttrs fargs autoArgs // args;
|
||||
|
||||
# A list of argument names that the function requires, but
|
||||
# wouldn't be passed to it
|
||||
missingArgs = lib.attrNames
|
||||
# Filter out arguments that have a default value
|
||||
(lib.filterAttrs (name: value: ! value)
|
||||
# Filter out arguments that would be passed
|
||||
(removeAttrs fargs (lib.attrNames allArgs)));
|
||||
|
||||
# Get a list of suggested argument names for a given missing one
|
||||
getSuggestions = arg: lib.pipe (autoArgs // args) [
|
||||
lib.attrNames
|
||||
# Only use ones that are at most 2 edits away. While mork would work,
|
||||
# levenshteinAtMost is only fast for 2 or less.
|
||||
(lib.filter (lib.strings.levenshteinAtMost 2 arg))
|
||||
# Put strings with shorter distance first
|
||||
(lib.sort (x: y: lib.strings.levenshtein x arg < lib.strings.levenshtein y arg))
|
||||
# Only take the first couple results
|
||||
(lib.take 3)
|
||||
# Quote all entries
|
||||
(map (x: "\"" + x + "\""))
|
||||
];
|
||||
|
||||
prettySuggestions = suggestions:
|
||||
if suggestions == [] then ""
|
||||
else if lib.length suggestions == 1 then ", did you mean ${lib.elemAt suggestions 0}?"
|
||||
else ", did you mean ${lib.concatStringsSep ", " (lib.init suggestions)} or ${lib.last suggestions}?";
|
||||
|
||||
errorForArg = arg:
|
||||
let
|
||||
loc = builtins.unsafeGetAttrPos arg fargs;
|
||||
# loc' can be removed once lib/minver.nix is >2.3.4, since that includes
|
||||
# https://github.com/NixOS/nix/pull/3468 which makes loc be non-null
|
||||
loc' = if loc != null then loc.file + ":" + toString loc.line
|
||||
else if ! lib.isFunction fn then
|
||||
toString fn + lib.optionalString (lib.sources.pathIsDirectory fn) "/default.nix"
|
||||
else "<unknown location>";
|
||||
in "Function called without required argument \"${arg}\" at "
|
||||
+ "${loc'}${prettySuggestions (getSuggestions arg)}";
|
||||
|
||||
# Only show the error for the first missing argument
|
||||
error = errorForArg (lib.head missingArgs);
|
||||
|
||||
in if missingArgs == [] then makeOverridable f allArgs else throw error;
|
||||
|
||||
|
||||
/* Like callPackage, but for a function that returns an attribute
|
||||
|
|
127
lib/strings.nix
127
lib/strings.nix
|
@ -774,4 +774,131 @@ rec {
|
|||
(x: if stringLength x == 0 then "unknown" else x)
|
||||
];
|
||||
|
||||
/* Computes the Levenshtein distance between two strings.
|
||||
Complexity O(n*m) where n and m are the lengths of the strings.
|
||||
Algorithm adjusted from https://stackoverflow.com/a/9750974/6605742
|
||||
|
||||
Type: levenshtein :: string -> string -> int
|
||||
|
||||
Example:
|
||||
levenshtein "foo" "foo"
|
||||
=> 0
|
||||
levenshtein "book" "hook"
|
||||
=> 1
|
||||
levenshtein "hello" "Heyo"
|
||||
=> 3
|
||||
*/
|
||||
levenshtein = a: b: let
|
||||
# Two dimensional array with dimensions (stringLength a + 1, stringLength b + 1)
|
||||
arr = lib.genList (i:
|
||||
lib.genList (j:
|
||||
dist i j
|
||||
) (stringLength b + 1)
|
||||
) (stringLength a + 1);
|
||||
d = x: y: lib.elemAt (lib.elemAt arr x) y;
|
||||
dist = i: j:
|
||||
let c = if substring (i - 1) 1 a == substring (j - 1) 1 b
|
||||
then 0 else 1;
|
||||
in
|
||||
if j == 0 then i
|
||||
else if i == 0 then j
|
||||
else lib.min
|
||||
( lib.min (d (i - 1) j + 1) (d i (j - 1) + 1))
|
||||
( d (i - 1) (j - 1) + c );
|
||||
in d (stringLength a) (stringLength b);
|
||||
|
||||
/* Returns the length of the prefix common to both strings.
|
||||
*/
|
||||
commonPrefixLength = a: b:
|
||||
let
|
||||
m = lib.min (stringLength a) (stringLength b);
|
||||
go = i: if i >= m then m else if substring i 1 a == substring i 1 b then go (i + 1) else i;
|
||||
in go 0;
|
||||
|
||||
/* Returns the length of the suffix common to both strings.
|
||||
*/
|
||||
commonSuffixLength = a: b:
|
||||
let
|
||||
m = lib.min (stringLength a) (stringLength b);
|
||||
go = i: if i >= m then m else if substring (stringLength a - i - 1) 1 a == substring (stringLength b - i - 1) 1 b then go (i + 1) else i;
|
||||
in go 0;
|
||||
|
||||
/* Returns whether the levenshtein distance between two strings is at most some value
|
||||
Complexity is O(min(n,m)) for k <= 2 and O(n*m) otherwise
|
||||
|
||||
Type: levenshteinAtMost :: int -> string -> string -> bool
|
||||
|
||||
Example:
|
||||
levenshteinAtMost 0 "foo" "foo"
|
||||
=> true
|
||||
levenshteinAtMost 1 "foo" "boa"
|
||||
=> false
|
||||
levenshteinAtMost 2 "foo" "boa"
|
||||
=> true
|
||||
levenshteinAtMost 2 "This is a sentence" "this is a sentense."
|
||||
=> false
|
||||
levenshteinAtMost 3 "This is a sentence" "this is a sentense."
|
||||
=> true
|
||||
|
||||
*/
|
||||
levenshteinAtMost = let
|
||||
infixDifferAtMost1 = x: y: stringLength x <= 1 && stringLength y <= 1;
|
||||
|
||||
# This function takes two strings stripped by their common pre and suffix,
|
||||
# and returns whether they differ by at most two by Levenshtein distance.
|
||||
# Because of this stripping, if they do indeed differ by at most two edits,
|
||||
# we know that those edits were (if at all) done at the start or the end,
|
||||
# while the middle has to have stayed the same. This fact is used in the
|
||||
# implementation.
|
||||
infixDifferAtMost2 = x: y:
|
||||
let
|
||||
xlen = stringLength x;
|
||||
ylen = stringLength y;
|
||||
# This function is only called with |x| >= |y| and |x| - |y| <= 2, so
|
||||
# diff is one of 0, 1 or 2
|
||||
diff = xlen - ylen;
|
||||
|
||||
# Infix of x and y, stripped by the left and right most character
|
||||
xinfix = substring 1 (xlen - 2) x;
|
||||
yinfix = substring 1 (ylen - 2) y;
|
||||
|
||||
# x and y but a character deleted at the left or right
|
||||
xdelr = substring 0 (xlen - 1) x;
|
||||
xdell = substring 1 (xlen - 1) x;
|
||||
ydelr = substring 0 (ylen - 1) y;
|
||||
ydell = substring 1 (ylen - 1) y;
|
||||
in
|
||||
# A length difference of 2 can only be gotten with 2 delete edits,
|
||||
# which have to have happened at the start and end of x
|
||||
# Example: "abcdef" -> "bcde"
|
||||
if diff == 2 then xinfix == y
|
||||
# A length difference of 1 can only be gotten with a deletion on the
|
||||
# right and a replacement on the left or vice versa.
|
||||
# Example: "abcdef" -> "bcdez" or "zbcde"
|
||||
else if diff == 1 then xinfix == ydelr || xinfix == ydell
|
||||
# No length difference can either happen through replacements on both
|
||||
# sides, or a deletion on the left and an insertion on the right or
|
||||
# vice versa
|
||||
# Example: "abcdef" -> "zbcdez" or "bcdefz" or "zabcde"
|
||||
else xinfix == yinfix || xdelr == ydell || xdell == ydelr;
|
||||
|
||||
in k: if k <= 0 then a: b: a == b else
|
||||
let f = a: b:
|
||||
let
|
||||
alen = stringLength a;
|
||||
blen = stringLength b;
|
||||
prelen = commonPrefixLength a b;
|
||||
suflen = commonSuffixLength a b;
|
||||
presuflen = prelen + suflen;
|
||||
ainfix = substring prelen (alen - presuflen) a;
|
||||
binfix = substring prelen (blen - presuflen) b;
|
||||
in
|
||||
# Make a be the bigger string
|
||||
if alen < blen then f b a
|
||||
# If a has over k more characters than b, even with k deletes on a, b can't be reached
|
||||
else if alen - blen > k then false
|
||||
else if k == 1 then infixDifferAtMost1 ainfix binfix
|
||||
else if k == 2 then infixDifferAtMost2 ainfix binfix
|
||||
else levenshtein ainfix binfix <= k;
|
||||
in f;
|
||||
}
|
||||
|
|
|
@ -913,4 +913,156 @@ runTests {
|
|||
};
|
||||
};
|
||||
|
||||
## Levenshtein distance functions and co.
|
||||
testCommonPrefixLengthEmpty = {
|
||||
expr = strings.commonPrefixLength "" "hello";
|
||||
expected = 0;
|
||||
};
|
||||
|
||||
testCommonPrefixLengthSame = {
|
||||
expr = strings.commonPrefixLength "hello" "hello";
|
||||
expected = 5;
|
||||
};
|
||||
|
||||
testCommonPrefixLengthDiffering = {
|
||||
expr = strings.commonPrefixLength "hello" "hey";
|
||||
expected = 2;
|
||||
};
|
||||
|
||||
testCommonSuffixLengthEmpty = {
|
||||
expr = strings.commonSuffixLength "" "hello";
|
||||
expected = 0;
|
||||
};
|
||||
|
||||
testCommonSuffixLengthSame = {
|
||||
expr = strings.commonSuffixLength "hello" "hello";
|
||||
expected = 5;
|
||||
};
|
||||
|
||||
testCommonSuffixLengthDiffering = {
|
||||
expr = strings.commonSuffixLength "test" "rest";
|
||||
expected = 3;
|
||||
};
|
||||
|
||||
testLevenshteinEmpty = {
|
||||
expr = strings.levenshtein "" "";
|
||||
expected = 0;
|
||||
};
|
||||
|
||||
testLevenshteinOnlyAdd = {
|
||||
expr = strings.levenshtein "" "hello there";
|
||||
expected = 11;
|
||||
};
|
||||
|
||||
testLevenshteinOnlyRemove = {
|
||||
expr = strings.levenshtein "hello there" "";
|
||||
expected = 11;
|
||||
};
|
||||
|
||||
testLevenshteinOnlyTransform = {
|
||||
expr = strings.levenshtein "abcdef" "ghijkl";
|
||||
expected = 6;
|
||||
};
|
||||
|
||||
testLevenshteinMixed = {
|
||||
expr = strings.levenshtein "kitchen" "sitting";
|
||||
expected = 5;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostZeroFalse = {
|
||||
expr = strings.levenshteinAtMost 0 "foo" "boo";
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostZeroTrue = {
|
||||
expr = strings.levenshteinAtMost 0 "foo" "foo";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostOneFalse = {
|
||||
expr = strings.levenshteinAtMost 1 "car" "ct";
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostOneTrue = {
|
||||
expr = strings.levenshteinAtMost 1 "car" "cr";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
# We test levenshteinAtMost 2 particularly well because it uses a complicated
|
||||
# implementation
|
||||
testLevenshteinAtMostTwoIsEmpty = {
|
||||
expr = strings.levenshteinAtMost 2 "" "";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoIsZero = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "abcdef";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoIsOne = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "abddef";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff0False = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "aczyef";
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff0Outer = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "zbcdez";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff0DelLeft = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "bcdefz";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff0DelRight = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "zabcde";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff1False = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "bddez";
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff1DelLeft = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "bcdez";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff1DelRight = {
|
||||
expr = strings.levenshteinAtMost 2 "abcdef" "zbcde";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff2False = {
|
||||
expr = strings.levenshteinAtMost 2 "hello" "hxo";
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff2True = {
|
||||
expr = strings.levenshteinAtMost 2 "hello" "heo";
|
||||
expected = true;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostTwoDiff3 = {
|
||||
expr = strings.levenshteinAtMost 2 "hello" "ho";
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostThreeFalse = {
|
||||
expr = strings.levenshteinAtMost 3 "hello" "Holla!";
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testLevenshteinAtMostThreeTrue = {
|
||||
expr = strings.levenshteinAtMost 3 "hello" "Holla";
|
||||
expected = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8549,7 +8549,7 @@
|
|||
};
|
||||
msfjarvis = {
|
||||
github = "msfjarvis";
|
||||
githubId = 3348378;
|
||||
githubId = 13348378;
|
||||
name = "Harsh Shandilya";
|
||||
email = "nixos@msfjarvis.dev";
|
||||
keys = [{
|
||||
|
|
|
@ -17,7 +17,7 @@ $ diskutil list
|
|||
[..]
|
||||
$ diskutil unmountDisk diskN
|
||||
Unmount of all volumes on diskN was successful
|
||||
$ sudo dd if=nix.iso of=/dev/rdiskN
|
||||
$ sudo dd if=nix.iso of=/dev/rdiskN bs=1M
|
||||
</programlisting>
|
||||
<para>
|
||||
Using the 'raw' <literal>rdiskN</literal> device instead of
|
||||
|
|
|
@ -1412,6 +1412,35 @@
|
|||
versions.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
A new option group
|
||||
<literal>systemd.network.wait-online</literal> was added, with
|
||||
options to configure
|
||||
<literal>systemd-networkd-wait-online.service</literal>:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>anyInterface</literal> allows specifying that the
|
||||
network should be considered online when <emphasis>at
|
||||
least one</emphasis> interface is online (useful on
|
||||
laptops)
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>timeout</literal> defines how long to wait for
|
||||
the network to come online
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>extraArgs</literal> for everything else
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>influxdb2</literal> package was split into
|
||||
|
|
|
@ -18,7 +18,7 @@ $ diskutil list
|
|||
[..]
|
||||
$ diskutil unmountDisk diskN
|
||||
Unmount of all volumes on diskN was successful
|
||||
$ sudo dd if=nix.iso of=/dev/rdiskN
|
||||
$ sudo dd if=nix.iso of=/dev/rdiskN bs=1M
|
||||
```
|
||||
|
||||
Using the \'raw\' `rdiskN` device instead of `diskN` completes in
|
||||
|
|
|
@ -502,6 +502,11 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
still under heavy development and behavior is not always flawless.
|
||||
Furthermore, not all Electron apps use the latest Electron versions.
|
||||
|
||||
- A new option group `systemd.network.wait-online` was added, with options to configure `systemd-networkd-wait-online.service`:
|
||||
- `anyInterface` allows specifying that the network should be considered online when *at least one* interface is online (useful on laptops)
|
||||
- `timeout` defines how long to wait for the network to come online
|
||||
- `extraArgs` for everything else
|
||||
|
||||
- The `influxdb2` package was split into `influxdb2-server` and
|
||||
`influxdb2-cli`, matching the split that took place upstream. A
|
||||
combined `influxdb2` package is still provided in this release for
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.jenkinsSlave;
|
||||
|
@ -46,6 +46,15 @@ in {
|
|||
this is the home of the "jenkins" user.
|
||||
'';
|
||||
};
|
||||
|
||||
javaPackage = mkOption {
|
||||
default = pkgs.jdk;
|
||||
defaultText = literalExpression "pkgs.jdk";
|
||||
description = ''
|
||||
Java package to install.
|
||||
'';
|
||||
type = types.package;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -64,5 +73,10 @@ in {
|
|||
uid = config.ids.uids.jenkins;
|
||||
};
|
||||
};
|
||||
|
||||
programs.java = {
|
||||
enable = true;
|
||||
package = cfg.javaPackage;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1745,6 +1745,48 @@ in
|
|||
}));
|
||||
};
|
||||
|
||||
systemd.network.wait-online = {
|
||||
anyInterface = mkOption {
|
||||
description = ''
|
||||
Whether to consider the network online when any interface is online, as opposed to all of them.
|
||||
This is useful on portable machines with a wired and a wireless interface, for example.
|
||||
'';
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
ignoredInterfaces = mkOption {
|
||||
description = ''
|
||||
Network interfaces to be ignored when deciding if the system is online.
|
||||
'';
|
||||
type = with types; listOf str;
|
||||
default = [];
|
||||
example = [ "wg0" ];
|
||||
};
|
||||
|
||||
timeout = mkOption {
|
||||
description = ''
|
||||
Time to wait for the network to come online, in seconds. Set to 0 to disable.
|
||||
'';
|
||||
type = types.ints.unsigned;
|
||||
default = 120;
|
||||
example = 0;
|
||||
};
|
||||
|
||||
extraArgs = mkOption {
|
||||
description = ''
|
||||
Extra command-line arguments to pass to systemd-networkd-wait-online.
|
||||
These also affect per-interface <literal>systemd-network-wait-online@</literal> services.
|
||||
|
||||
See <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd-networkd-wait-online.service.html">
|
||||
<citerefentry><refentrytitle>systemd-networkd-wait-online.service</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry></link> for all available options.
|
||||
'';
|
||||
type = with types; listOf str;
|
||||
default = [];
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
|
@ -1753,6 +1795,11 @@ in
|
|||
{
|
||||
systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links;
|
||||
environment.etc = unitFiles;
|
||||
|
||||
systemd.network.wait-online.extraArgs =
|
||||
[ "--timeout=${toString cfg.wait-online.timeout}" ]
|
||||
++ optional cfg.wait-online.anyInterface "--any"
|
||||
++ map (i: "--ignore=${i}") cfg.wait-online.ignoredInterfaces;
|
||||
}
|
||||
|
||||
(mkIf config.systemd.network.enable {
|
||||
|
@ -1781,6 +1828,10 @@ in
|
|||
|
||||
systemd.services.systemd-networkd-wait-online = {
|
||||
wantedBy = [ "network-online.target" ];
|
||||
serviceConfig.ExecStart = [
|
||||
""
|
||||
"${config.systemd.package}/lib/systemd/systemd-networkd-wait-online ${utils.escapeSystemdExecArgs cfg.wait-online.extraArgs}"
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services."systemd-network-wait-online@" = {
|
||||
|
@ -1791,7 +1842,7 @@ in
|
|||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I";
|
||||
ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I ${utils.escapeSystemdExecArgs cfg.wait-online.extraArgs}";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -6,7 +6,10 @@ let
|
|||
|
||||
inherit (lib) mkOption types;
|
||||
|
||||
podmanPackage = (pkgs.podman.override { inherit (cfg) extraPackages; });
|
||||
podmanPackage = (pkgs.podman.override {
|
||||
extraPackages = cfg.extraPackages
|
||||
++ lib.optional (builtins.elem "zfs" config.boot.supportedFilesystems) config.boot.zfs.package;
|
||||
});
|
||||
|
||||
# Provides a fake "docker" binary mapping to podman
|
||||
dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" {
|
||||
|
|
|
@ -90,6 +90,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
|
||||
slave.fail("systemctl is-enabled jenkins.service")
|
||||
|
||||
slave.succeed("java -fullversion")
|
||||
|
||||
with subtest("jobs are declarative"):
|
||||
# Check that jobs are created on disk.
|
||||
master.wait_for_unit("jenkins-job-builder")
|
||||
|
|
|
@ -9,16 +9,16 @@ let
|
|||
|
||||
in buildGoModule rec {
|
||||
pname = "go-ethereum";
|
||||
version = "1.10.16";
|
||||
version = "1.10.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ethereum";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-l+hxAUw55d9MYLIUdF6qSEIelJQYRCvHyw1yuossmyA=";
|
||||
sha256 = "sha256-GBlrg4wOiqEQTZC3CtfAZbIvS16/pSjEedEDrPGNUtY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-keeox2d2WEzY9ynEcovPaU95YzVQlbTu1i7PLpjkjZU=";
|
||||
vendorSha256 = "sha256-D4odWuGFipSvbKbNlA6PkTo3rWGTCptJcn/7V7ZA7qs=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -45,19 +45,19 @@
|
|||
}
|
||||
},
|
||||
"ungoogled-chromium": {
|
||||
"version": "99.0.4844.84",
|
||||
"sha256": "05bma8lsm5lad58mlfiv8bg0fw5k5mxh0v6g1ik7xp2bsd71iv10",
|
||||
"sha256bin64": "0sdnsnp7hnpip91hwbz3hiw2727g0a3ydf55ldqv9bgik3vn1wln",
|
||||
"version": "100.0.4896.60",
|
||||
"sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf",
|
||||
"sha256bin64": "07wavs9r6ilwx5rzyqvydcjskg6sml5b8m6mw7qzykvhs8bnvfh5",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-01-10",
|
||||
"version": "2022-01-21",
|
||||
"url": "https://gn.googlesource.com/gn",
|
||||
"rev": "80a40b07305373617eba2d5878d353532af77da3",
|
||||
"sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
|
||||
"rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
|
||||
"sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
|
||||
},
|
||||
"ungoogled-patches": {
|
||||
"rev": "99.0.4844.84-1",
|
||||
"sha256": "1j02zcam09mdw7wg30r1mx27b8bw0s9dvk4qjl6vrhp24rbmscs7"
|
||||
"rev": "100.0.4896.60-1",
|
||||
"sha256": "02q7ghxynkgkbilcb8bx8q26s80fvd4hbc58zq74pnzpmn7qi342"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ assert withQt -> qt5 != null;
|
|||
with lib;
|
||||
|
||||
let
|
||||
version = "3.6.2";
|
||||
version = "3.6.3";
|
||||
variant = if withQt then "qt" else "cli";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
|
@ -21,7 +21,7 @@ in stdenv.mkDerivation {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
|
||||
sha256 = "sha256-XZAaVXKu+VPwStwlPtKgaZ1MYnedMkkCHh6FQaAkww4=";
|
||||
sha256 = "sha256-tgNkpMAGihCBGrP9B1ymwesOddRGACcbiKIO2Tou9jE=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"version": "14.9.1",
|
||||
"repo_hash": "0jkhvglisaj3h9ls8q8wrxnnp4xp3zggc8vmwg6jqqjsmbpi332h",
|
||||
"yarn_hash": "1bq1ka0nlb2nkjx70qpwpm8x6crbkfj0c8m39pwwc42j8wn10r9g",
|
||||
"version": "14.9.2",
|
||||
"repo_hash": "sha256-+tZN6isOb7LtUVwGshx9TP+P42sftJmQGVk1L9UJqcY=",
|
||||
"yarn_hash": "1mya6y0cb9x8491gpf7f1i7qi2rb0l7d9g5yzj44vvy3mb4rcqaj",
|
||||
"owner": "gitlab-org",
|
||||
"repo": "gitlab",
|
||||
"rev": "v14.9.1-ee",
|
||||
"rev": "v14.9.2-ee",
|
||||
"passthru": {
|
||||
"GITALY_SERVER_VERSION": "14.9.1",
|
||||
"GITLAB_PAGES_VERSION": "1.56.0",
|
||||
"GITALY_SERVER_VERSION": "14.9.2",
|
||||
"GITLAB_PAGES_VERSION": "1.56.1",
|
||||
"GITLAB_SHELL_VERSION": "13.24.0",
|
||||
"GITLAB_WORKHORSE_VERSION": "14.9.1"
|
||||
"GITLAB_WORKHORSE_VERSION": "14.9.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ let
|
|||
gemdir = ./.;
|
||||
};
|
||||
|
||||
version = "14.9.1";
|
||||
version = "14.9.2";
|
||||
gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
|
||||
in
|
||||
|
||||
|
@ -23,7 +23,7 @@ buildGoModule {
|
|||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mk6JZuu6b2r/OqRI4ZUf8AV/ObRKhTIQT9bQE8sH894=";
|
||||
sha256 = "sha256-eEo+WZ2N/5bLfvwJCNf9qt+h/V5dIVqCjVJeomzw/Ps=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-kEjgWA/Task23PScPYrqdDu3vdVR/FJl7OilUug/Bds=";
|
||||
|
|
|
@ -5,7 +5,7 @@ in
|
|||
buildGoModule rec {
|
||||
pname = "gitlab-workhorse";
|
||||
|
||||
version = "14.9.1";
|
||||
version = "14.9.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = data.owner;
|
||||
|
|
|
@ -67,7 +67,7 @@ gem 'akismet', '~> 3.0'
|
|||
gem 'invisible_captcha', '~> 1.1.0'
|
||||
|
||||
# Two-factor authentication
|
||||
gem 'devise-two-factor', '~> 4.0.0'
|
||||
gem 'devise-two-factor', '~> 4.0.2'
|
||||
gem 'rqrcode-rails3', '~> 0.1.7'
|
||||
gem 'attr_encrypted', '~> 3.1.0'
|
||||
gem 'u2f', '~> 0.2.1'
|
||||
|
|
|
@ -263,11 +263,11 @@ GEM
|
|||
railties (>= 4.1.0)
|
||||
responders
|
||||
warden (~> 1.2.3)
|
||||
devise-two-factor (4.0.0)
|
||||
activesupport (< 6.2)
|
||||
devise-two-factor (4.0.2)
|
||||
activesupport (< 7.1)
|
||||
attr_encrypted (>= 1.3, < 4, != 2)
|
||||
devise (~> 4.0)
|
||||
railties (< 6.2)
|
||||
railties (< 7.1)
|
||||
rotp (~> 6.0)
|
||||
diff-lcs (1.4.4)
|
||||
diff_match_patch (0.1.0)
|
||||
|
@ -1450,7 +1450,7 @@ DEPENDENCIES
|
|||
derailed_benchmarks
|
||||
device_detector
|
||||
devise (~> 4.7.2)
|
||||
devise-two-factor (~> 4.0.0)
|
||||
devise-two-factor (~> 4.0.2)
|
||||
diff_match_patch (~> 0.1.0)
|
||||
diffy (~> 3.3)
|
||||
discordrb-webhooks (~> 3.4)
|
||||
|
|
|
@ -1088,10 +1088,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "148pfr6g8dwikdq3994gsid2a3n6p5h4z1a1dzh1898shr5f9znc";
|
||||
sha256 = "04f5rb8fg4cvzm32v413z3h53wc0fgxg927q8rqd546hdrlx4j35";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.0";
|
||||
version = "4.0.2";
|
||||
};
|
||||
diff-lcs = {
|
||||
groups = ["default" "development" "test"];
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "podman";
|
||||
version = "4.0.2";
|
||||
version = "4.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "podman";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-uLpvTnn2EWEI8+5gC3ofMjsZ9O7nLOaaUGGuvSE1gdE=";
|
||||
sha256 = "sha256-o/CIs+3LnbaUUpOQI1hijrxH7f1qBnrQw56TJ18jKQw=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "0.1.6";
|
||||
version = "0.1.8";
|
||||
pname = "cdcs";
|
||||
format = "setuptools";
|
||||
|
||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
|||
owner = "usnistgov";
|
||||
repo = "pycdcs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-w9CBNOK9oXTIUa+SsnepRN0wAz7WPZGfUNDSbtVn1L8=";
|
||||
sha256 = "sha256-s+COE7hus1J5I8PTdagl7KEK5QFoidjQ3ee46kOWmkE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "dropbox";
|
||||
version = "11.28.0";
|
||||
version = "11.29.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "dropbox";
|
||||
repo = "dropbox-sdk-python";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xNenBmeCRIYxQqAkV8IDpPpIHyVAYJs1jAFr8w1tz2Y=";
|
||||
sha256 = "sha256-TKJb34hJYzZtQcqgopLpN8c1utWCNjmev9epY+hYU7M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "jsbeautifier";
|
||||
version = "1.14.1";
|
||||
version = "1.14.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ZfT3dLDkywIutJmbRc1ndi92Qnxe80CCq6VLwdjvI+s=";
|
||||
hash = "sha256-PskybkfTilQ5W97/h2lWakcnWOcLnhG6fMVs/spqm/Y=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "param";
|
||||
version = "1.12.0";
|
||||
version = "1.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "holoviz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "02zmd4bwyn8b4q1l9jgddc70ii1i7bmynacanl1cvbr6la4v9b2c";
|
||||
sha256 = "sha256-MehTz0qCpWe/11PZ5jmFxHE54TA+QX2KfqvKB8L79V4=";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pycfmodel";
|
||||
version = "0.17.1";
|
||||
version = "0.18.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
|||
owner = "Skyscanner";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-Rw0sZ2k+tXo04mvlL83hUgdHIND5NIsVH/CzrfmbKlE=";
|
||||
hash = "sha256-g249Nq4u4pPQLbW9Kw5vLwVKCaZoots5LD6yk1NPv6s=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyoverkiz";
|
||||
version = "1.3.13";
|
||||
version = "1.3.14";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -24,7 +24,7 @@ buildPythonPackage rec {
|
|||
owner = "iMicknl";
|
||||
repo = "python-overkiz-api";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CkEo8H5S2/nf7jWU51sVN+GCqaL5Kgx77m6669Pr4dU=";
|
||||
hash = "sha256-dyT2hrTQwYoKEZAVIed2N4259YlR2JmvOEpAuPLCur4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pypugjs";
|
||||
version = "5.9.10";
|
||||
version = "5.9.11";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "082dae87d44e184030b66da9ea9bd1a0209f86c089d8f2bd61064b97a7511a28";
|
||||
sha256 = "sha256-kStaT1S8cPJF+iDFk/jLGKi3JVOMmtf7PzeYDKCdD0E=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ six chardet ];
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "sabyenc3";
|
||||
version = "5.1.5";
|
||||
version = "5.1.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-JwCzy3QRCzxT8B0VM5SXIIWlYi08tT8eLj/QKtMYLRE=";
|
||||
hash = "sha256-DHHil9ZQsrKLgw5dje0Yo1J5FZAFrY1tn5y3mdBJHWg=";
|
||||
};
|
||||
|
||||
# Tests are not included in pypi distribution
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
stdenv.mkDerivation rec {
|
||||
pname = "include-what-you-use";
|
||||
# Also bump llvmPackages in all-packages.nix to the supported version!
|
||||
version = "0.17";
|
||||
version = "0.18";
|
||||
|
||||
src = fetchurl {
|
||||
sha256 = "sha256-7KfAT4tBa2OF7QDjNmmn+kaTzSbLcrUizeVYgo6wxmU=";
|
||||
sha256 = "sha256-kQL8hBkpR1ffhqic5uwwX42QqBjR8lmKE50V6xiUuPM=";
|
||||
url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
|
||||
};
|
||||
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "tfsec";
|
||||
version = "1.15.2";
|
||||
version = "1.15.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aquasecurity";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nXrWKKHb64HGHttppBveLp45qKLnGvkElqxn8f/cWok=";
|
||||
sha256 = "sha256-IYmS3Q2WWkOYISx0jI8yggArk0fhl3WQWrsc+Zfg8gU=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
, php
|
||||
, lib, stdenv
|
||||
, installShellFiles
|
||||
, which
|
||||
, python3
|
||||
}:
|
||||
|
||||
# Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being
|
||||
|
@ -14,7 +16,7 @@
|
|||
let makeArcWrapper = toolset: ''
|
||||
cat << WRAPPER > $out/bin/${toolset}
|
||||
#!$shell -e
|
||||
export PATH='${php}/bin/'\''${PATH:+':'}\$PATH
|
||||
export PATH='${php}/bin:${which}/bin'\''${PATH:+':'}\$PATH
|
||||
exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
|
||||
WRAPPER
|
||||
chmod +x $out/bin/${toolset}
|
||||
|
@ -32,7 +34,9 @@ stdenv.mkDerivation {
|
|||
sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw";
|
||||
};
|
||||
|
||||
buildInputs = [ php ];
|
||||
patches = [ ./dont-require-python3-in-path.patch ];
|
||||
|
||||
buildInputs = [ php python3 ];
|
||||
|
||||
nativeBuildInputs = [ bison flex installShellFiles ];
|
||||
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
Don't require python3 in PATH
|
||||
|
||||
Once packaged, the arcanoid.py script has an absolute path shebang to
|
||||
python3, so there is no need to also require python3 in PATH.
|
||||
|
||||
This prevents leaking in a python3 in PATH in the environment which arc
|
||||
runs linters etc.
|
||||
|
||||
Author: bjorn.forsman@gmail.com
|
||||
diff -uNr arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php arcanist.new/src/workflow/ArcanistAnoidWorkflow.php
|
||||
--- arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php 2022-03-31 13:23:30.865095192 +0200
|
||||
+++ arcanist.new/src/workflow/ArcanistAnoidWorkflow.php 2022-04-01 12:19:15.644159639 +0200
|
||||
@@ -24,13 +24,6 @@
|
||||
}
|
||||
|
||||
public function runWorkflow() {
|
||||
- if (!Filesystem::binaryExists('python3')) {
|
||||
- throw new PhutilArgumentUsageException(
|
||||
- pht(
|
||||
- 'The "arc anoid" workflow requires "python3" to be available '.
|
||||
- 'in your $PATH.'));
|
||||
- }
|
||||
-
|
||||
$support_dir = phutil_get_library_root('arcanist');
|
||||
$support_dir = dirname($support_dir);
|
||||
$support_dir = $support_dir.'/support/';
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-spellcheck";
|
||||
version = "0.11.1";
|
||||
version = "0.11.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drahnr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Iafhx0bK386grGadsJc/t1lLjd/C89fCVuHrq3FMaE0=";
|
||||
sha256 = "sha256-ZiRa4XYnY4fwbMenRLnvFQms66tIyGbm5saK8gN39ag=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-ZYZA4H1LvsFQR6mvKAie9Tha3MWocAVpNtG7LwdtcPg=";
|
||||
cargoSha256 = "sha256-gWQbhFPdBDhPZY1LHxFlWO9xG4AXfyhZp0UnZ3Y86/Y=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin Security;
|
||||
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "stylua";
|
||||
version = "0.12.5";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johnnymorganz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-4tQQTTAdIAhlkBJevwwwGXOKd6bJJOyG4nlbCv7909Y=";
|
||||
sha256 = "sha256-Ecv6am4JT4cJKAApieOWQZG3XZkeCpmLrs6K7+4c8xA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-DGe2lB8xZgY9ikTsIHDOdHzTyHfDaSlmy8FU/S9FDCI=";
|
||||
cargoSha256 = "sha256-r09fTZTmOZQCI3qIWcnQnhUXYLVK8pF5y0y/dQl88CI=";
|
||||
|
||||
buildFeatures = lib.optional lua52Support "lua52"
|
||||
++ lib.optional luauSupport "luau";
|
||||
|
|
|
@ -11,11 +11,11 @@ in
|
|||
with python3.pkgs;
|
||||
buildPythonApplication rec {
|
||||
pname = "matrix-synapse";
|
||||
version = "1.55.0";
|
||||
version = "1.55.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-IfLyp6IexNTMrq795qUMAPQ62mrMPwFyLE1yL8cu0T0=";
|
||||
sha256 = "sha256-MCdwatNo4cDAaq9a3UFwSLJzT1ZxhoYqPOu/a957D2Y=";
|
||||
};
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "grafana";
|
||||
version = "8.4.4";
|
||||
version = "8.4.5";
|
||||
|
||||
excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" ];
|
||||
|
||||
|
@ -10,15 +10,15 @@ buildGoModule rec {
|
|||
rev = "v${version}";
|
||||
owner = "grafana";
|
||||
repo = "grafana";
|
||||
sha256 = "sha256-WLmmf2GlP7axuYj0TLJlDwe1k/9xNQbLvAggG+AshKg=";
|
||||
sha256 = "sha256-CdGg979c7XD5V3jZbVeHUGylAarGc+cR+bFi5FngKtU=";
|
||||
};
|
||||
|
||||
srcStatic = fetchurl {
|
||||
url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
|
||||
sha256 = "sha256-eH6L7X1WvvL+9+R9FrpvVMxVJYcrHicaLkH2LUJs3AQ=";
|
||||
sha256 = "sha256-PjDTEmzjDmT1WQGqF3GwojJ6mG2whBoPK0KWfXI8AB4=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-RugV5cHlpR739CA1C/7FkXasvkv18m7pPsK6mxfSkC0=";
|
||||
vendorSha256 = "sha256-iOJEy7dCZGRTaOuL/09wcMlNDHjRi9SIr9bialdcKi4=";
|
||||
|
||||
nativeBuildInputs = [ wire ];
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "Tautulli";
|
||||
version = "2.9.4";
|
||||
version = "2.9.5";
|
||||
format = "other";
|
||||
|
||||
pythonPath = [ setuptools ];
|
||||
|
@ -12,7 +12,7 @@ buildPythonApplication rec {
|
|||
owner = "Tautulli";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Hgu1peKv00+FZtszewqofwRueC5ZfUFMM/5ax2Gnf44=";
|
||||
sha256 = "sha256-agkYfLWmeQOD+dtoYvTcNPXjfU3kv56c15AFeB7eVTw=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "fclones";
|
||||
version = "0.18.1";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pkolaczk";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0dj82dds788q0qlsrbal3n3lajmi9931svy8wk482jfqq0f8nna5";
|
||||
sha256 = "0m6l6c71f40a6wc8w7cdikwx3blwqxw55p4frrww25qgd0xdcgls";
|
||||
};
|
||||
|
||||
cargoSha256 = "131pbjf9s6l6g4dl6fnjh1p0ydd4nry0cvg1qrjba8qk7qwpc7jb";
|
||||
cargoSha256 = "1pl4lrr1p3c7j9fb0mb4spjzgcn9zvr67nskzgmhrbr3kyzc2ssc";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "cfripper";
|
||||
version = "1.7.0";
|
||||
version = "1.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Skyscanner";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-bYKusyEItnhj1mU6Tucsdi5pdMoWrUK4Y91SK8dNGE4=";
|
||||
hash = "sha256-Q1J5M6RyYjVi2rkOCThFQdBCxVKkza+wytO67vLlVQg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
|
|
@ -9,16 +9,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "sn0int";
|
||||
version = "0.24.1";
|
||||
version = "0.24.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kpcyrd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-AP/3QCol2qOvRqNW9F/m9JpiZrqtfXvr//Ku2XE3vqY=";
|
||||
sha256 = "sha256-WcCNNLNvOtYiSWVvXA8mnlXOV2T/yIXFzZky5y3tYJ4=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-gdDQjYU8hJdkQCh1Iswn5KlPW2BT/J5vCSOS/KHvbH4=";
|
||||
cargoSha256 = "sha256-5pVxOkm9OLSX5Lxe3DSM0mVSMhlHfFBCiMMR37WrZbI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "difftastic";
|
||||
version = "0.24.0";
|
||||
version = "0.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wilfred";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Yp0WwzGo8nuRZuiHdUPxPM1SYBeeVA3SMDfHnQmqUqY=";
|
||||
sha256 = "sha256-TJMMy1fMwqUMVhztMOlN4yQhW5IF36yahOhDTJ9kadA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-m80PT2UQYhA5KEh7ax/fhh6vuse0DXhbFsh2x4pwkWY=";
|
||||
cargoSha256 = "sha256-crH2SodT+Wy3auk3uli253rIrHyKsibQcYGtpxwbJJQ=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A syntax-aware diff";
|
||||
|
|
|
@ -33,6 +33,10 @@ buildPythonApplication rec {
|
|||
inherit sha256;
|
||||
};
|
||||
|
||||
patches = [
|
||||
./remove-update-check.patch
|
||||
];
|
||||
|
||||
# remove need for git history
|
||||
prePatch = ''
|
||||
substituteInPlace setup.py \
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- a/linodecli/cli.py
|
||||
+++ b/linodecli/cli.py
|
||||
@@ -555,7 +555,7 @@
|
||||
if self.debug_request:
|
||||
self.print_response_debug_info(result)
|
||||
|
||||
- if not self.suppress_warnings:
|
||||
+ if False:
|
||||
# check the major/minor version API reported against what we were built
|
||||
# with to see if an upgrade should be available
|
||||
api_version_higher = False
|
|
@ -15351,7 +15351,7 @@ with pkgs;
|
|||
img = callPackage ../development/tools/img { };
|
||||
|
||||
include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use {
|
||||
llvmPackages = llvmPackages_13;
|
||||
llvmPackages = llvmPackages_14;
|
||||
};
|
||||
|
||||
indent = callPackage ../development/tools/misc/indent { };
|
||||
|
|
Loading…
Reference in a new issue