mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 20:39:04 +02:00
Merge branch 'staging-next' into staging
Conflicts: - pkgs/development/libraries/qt-6/default.nix Mergea5b92645f1
and0597d865ef
This commit is contained in:
commit
86797b2008
|
@ -116,7 +116,7 @@ let
|
||||||
inherit (self.derivations) lazyDerivation;
|
inherit (self.derivations) lazyDerivation;
|
||||||
inherit (self.meta) addMetaAttrs dontDistribute setName updateName
|
inherit (self.meta) addMetaAttrs dontDistribute setName updateName
|
||||||
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
||||||
hiPrioSet getLicenseFromSpdxId getExe;
|
hiPrioSet getLicenseFromSpdxId getExe getExe';
|
||||||
inherit (self.filesystem) pathType pathIsDirectory pathIsRegularFile;
|
inherit (self.filesystem) pathType pathIsDirectory pathIsRegularFile;
|
||||||
inherit (self.sources) cleanSourceFilter
|
inherit (self.sources) cleanSourceFilter
|
||||||
cleanSource sourceByRegex sourceFilesBySuffices
|
cleanSource sourceByRegex sourceFilesBySuffices
|
||||||
|
|
23
lib/meta.nix
23
lib/meta.nix
|
@ -143,9 +143,24 @@ rec {
|
||||||
=> "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
|
=> "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
|
||||||
*/
|
*/
|
||||||
getExe = x:
|
getExe = x:
|
||||||
"${lib.getBin x}/bin/${x.meta.mainProgram or (
|
let
|
||||||
|
y = x.meta.mainProgram or (
|
||||||
# This could be turned into an error when 23.05 is at end of life
|
# This could be turned into an error when 23.05 is at end of life
|
||||||
lib.warn "getExe: Package ${lib.strings.escapeNixIdentifier x.meta.name or x.pname or x.name} does not have the meta.mainProgram attribute. We'll assume that the main program has the same name for now, but this behavior is deprecated, because it leads to surprising errors when the assumption does not hold. If the package has a main program, please set `meta.mainProgram` in its definition to make this warning go away. Otherwise, if the package does not have a main program, or if you don't control its definition, specify the full path to the program, such as \"\${lib.getBin foo}/bin/bar\"."
|
lib.warn "getExe: Package ${lib.strings.escapeNixIdentifier x.meta.name or x.pname or x.name} does not have the meta.mainProgram attribute. We'll assume that the main program has the same name for now, but this behavior is deprecated, because it leads to surprising errors when the assumption does not hold. If the package has a main program, please set `meta.mainProgram` in its definition to make this warning go away. Otherwise, if the package does not have a main program, or if you don't control its definition, use getExe' to specify the name to the program, such as lib.getExe' foo \"bar\"."
|
||||||
lib.getName x
|
lib.getName
|
||||||
)}";
|
x
|
||||||
|
);
|
||||||
|
in
|
||||||
|
getExe' x y;
|
||||||
|
|
||||||
|
/* Get the path of a program of a derivation.
|
||||||
|
|
||||||
|
Type: getExe' :: derivation -> string -> string
|
||||||
|
Example:
|
||||||
|
getExe' pkgs.hello "hello"
|
||||||
|
=> "/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello"
|
||||||
|
getExe' pkgs.imagemagick "convert"
|
||||||
|
=> "/nix/store/5rs48jamq7k6sal98ymj9l4k2bnwq515-imagemagick-7.1.1-15/bin/convert"
|
||||||
|
*/
|
||||||
|
getExe' = x: y: "${lib.getBin x}/bin/${y}";
|
||||||
}
|
}
|
||||||
|
|
|
@ -629,10 +629,10 @@ rec {
|
||||||
This behavior is deprecated and will throw an error in the future.''
|
This behavior is deprecated and will throw an error in the future.''
|
||||||
(let
|
(let
|
||||||
preLen = stringLength prefix;
|
preLen = stringLength prefix;
|
||||||
sLen = stringLength str;
|
|
||||||
in
|
in
|
||||||
if substring 0 preLen str == prefix then
|
if substring 0 preLen str == prefix then
|
||||||
substring preLen (sLen - preLen) str
|
# -1 will take the string until the end
|
||||||
|
substring preLen (-1) str
|
||||||
else
|
else
|
||||||
str);
|
str);
|
||||||
|
|
||||||
|
|
|
@ -349,6 +349,27 @@ runTests {
|
||||||
expected = true;
|
expected = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
testRemovePrefixExample1 = {
|
||||||
|
expr = removePrefix "foo." "foo.bar.baz";
|
||||||
|
expected = "bar.baz";
|
||||||
|
};
|
||||||
|
testRemovePrefixExample2 = {
|
||||||
|
expr = removePrefix "xxx" "foo.bar.baz";
|
||||||
|
expected = "foo.bar.baz";
|
||||||
|
};
|
||||||
|
testRemovePrefixEmptyPrefix = {
|
||||||
|
expr = removePrefix "" "foo";
|
||||||
|
expected = "foo";
|
||||||
|
};
|
||||||
|
testRemovePrefixEmptyString = {
|
||||||
|
expr = removePrefix "foo" "";
|
||||||
|
expected = "";
|
||||||
|
};
|
||||||
|
testRemovePrefixEmptyBoth = {
|
||||||
|
expr = removePrefix "" "";
|
||||||
|
expected = "";
|
||||||
|
};
|
||||||
|
|
||||||
testNormalizePath = {
|
testNormalizePath = {
|
||||||
expr = strings.normalizePath "//a/b//c////d/";
|
expr = strings.normalizePath "//a/b//c////d/";
|
||||||
expected = "/a/b/c/d/";
|
expected = "/a/b/c/d/";
|
||||||
|
|
|
@ -8724,6 +8724,11 @@
|
||||||
githubId = 1927188;
|
githubId = 1927188;
|
||||||
name = "karolchmist";
|
name = "karolchmist";
|
||||||
};
|
};
|
||||||
|
katexochen = {
|
||||||
|
github = "katexochen";
|
||||||
|
githubId = 49727155;
|
||||||
|
name = "Paul Meyer";
|
||||||
|
};
|
||||||
kayhide = {
|
kayhide = {
|
||||||
email = "kayhide@gmail.com";
|
email = "kayhide@gmail.com";
|
||||||
github = "kayhide";
|
github = "kayhide";
|
||||||
|
@ -15081,6 +15086,13 @@
|
||||||
fingerprint = "30BB FF3F AB0B BB3E 0435 F83C 8E8F F66E 2AE8 D970";
|
fingerprint = "30BB FF3F AB0B BB3E 0435 F83C 8E8F F66E 2AE8 D970";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
scm2342 = {
|
||||||
|
name = "Sven Mattsen";
|
||||||
|
email = "nix@sven.cc";
|
||||||
|
matrix = "@scm:matrix.sven.cc";
|
||||||
|
github = "scm2342";
|
||||||
|
githubId = 154108;
|
||||||
|
};
|
||||||
scode = {
|
scode = {
|
||||||
email = "peter.schuller@infidyne.com";
|
email = "peter.schuller@infidyne.com";
|
||||||
github = "scode";
|
github = "scode";
|
||||||
|
@ -17787,6 +17799,12 @@
|
||||||
fingerprint = "5814 50EB 6E17 E715 7C63 E7F1 9879 8C3C 4D68 8D6D";
|
fingerprint = "5814 50EB 6E17 E715 7C63 E7F1 9879 8C3C 4D68 8D6D";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
viluon = {
|
||||||
|
email = "nix@viluon.me";
|
||||||
|
github = "viluon";
|
||||||
|
githubId = 7235381;
|
||||||
|
name = "Ondřej Kvapil";
|
||||||
|
};
|
||||||
vincentbernat = {
|
vincentbernat = {
|
||||||
email = "vincent@bernat.ch";
|
email = "vincent@bernat.ch";
|
||||||
github = "vincentbernat";
|
github = "vincentbernat";
|
||||||
|
|
|
@ -118,3 +118,33 @@ the symlink, and this path is in `/nix/store/.../lib/systemd/user/`.
|
||||||
Hence [garbage collection](#sec-nix-gc) will remove that file and you
|
Hence [garbage collection](#sec-nix-gc) will remove that file and you
|
||||||
will wind up with a broken symlink in your systemd configuration, which
|
will wind up with a broken symlink in your systemd configuration, which
|
||||||
in turn will not make the service / timer start on login.
|
in turn will not make the service / timer start on login.
|
||||||
|
|
||||||
|
## Template units {#sect-nixos-systemd-template-units}
|
||||||
|
|
||||||
|
systemd supports templated units where a base unit can be started multiple
|
||||||
|
times with a different parameter. The syntax to accomplish this is
|
||||||
|
`service-name@instance-name.service`. Units get the instance name passed to
|
||||||
|
them (see `systemd.unit(5)`). NixOS has support for these kinds of units and
|
||||||
|
for template-specific overrides. A service needs to be defined twice, once
|
||||||
|
for the base unit and once for the instance. All instances must include
|
||||||
|
`overrideStrategy = "asDropin"` for the change detection to work. This
|
||||||
|
example illustrates this:
|
||||||
|
```nix
|
||||||
|
{
|
||||||
|
systemd.services = {
|
||||||
|
"base-unit@".serviceConfig = {
|
||||||
|
ExecStart = "...";
|
||||||
|
User = "...";
|
||||||
|
};
|
||||||
|
"base-unit@instance-a" = {
|
||||||
|
overrideStrategy = "asDropin"; # needed for templates to work
|
||||||
|
wantedBy = [ "multi-user.target" ]; # causes NixOS to manage the instance
|
||||||
|
};
|
||||||
|
"base-unit@instance-b" = {
|
||||||
|
overrideStrategy = "asDropin"; # needed for templates to work
|
||||||
|
wantedBy = [ "multi-user.target" ]; # causes NixOS to manage the instance
|
||||||
|
serviceConfig.User = "root"; # also override something for this specific instance
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
|
@ -17,14 +17,9 @@ with lib;
|
||||||
options = {
|
options = {
|
||||||
services.haproxy = {
|
services.haproxy = {
|
||||||
|
|
||||||
enable = mkOption {
|
enable = mkEnableOption (lib.mdDoc "HAProxy, the reliable, high performance TCP/HTTP load balancer.");
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
package = mkPackageOptionMD pkgs "haproxy" { };
|
||||||
description = lib.mdDoc ''
|
|
||||||
Whether to enable HAProxy, the reliable, high performance TCP/HTTP
|
|
||||||
load balancer.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
@ -70,15 +65,15 @@ with lib;
|
||||||
ExecStartPre = [
|
ExecStartPre = [
|
||||||
# when the master process receives USR2, it reloads itself using exec(argv[0]),
|
# when the master process receives USR2, it reloads itself using exec(argv[0]),
|
||||||
# so we create a symlink there and update it before reloading
|
# so we create a symlink there and update it before reloading
|
||||||
"${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy"
|
"${pkgs.coreutils}/bin/ln -sf ${lib.getExe cfg.package} /run/haproxy/haproxy"
|
||||||
# when running the config test, don't be quiet so we can see what goes wrong
|
# when running the config test, don't be quiet so we can see what goes wrong
|
||||||
"/run/haproxy/haproxy -c -f ${haproxyCfg}"
|
"/run/haproxy/haproxy -c -f ${haproxyCfg}"
|
||||||
];
|
];
|
||||||
ExecStart = "/run/haproxy/haproxy -Ws -f /etc/haproxy.cfg -p /run/haproxy/haproxy.pid";
|
ExecStart = "/run/haproxy/haproxy -Ws -f /etc/haproxy.cfg -p /run/haproxy/haproxy.pid";
|
||||||
# support reloading
|
# support reloading
|
||||||
ExecReload = [
|
ExecReload = [
|
||||||
"${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}"
|
"${lib.getExe cfg.package} -c -f ${haproxyCfg}"
|
||||||
"${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy"
|
"${pkgs.coreutils}/bin/ln -sf ${lib.getExe cfg.package} /run/haproxy/haproxy"
|
||||||
"${pkgs.coreutils}/bin/kill -USR2 $MAINPID"
|
"${pkgs.coreutils}/bin/kill -USR2 $MAINPID"
|
||||||
];
|
];
|
||||||
KillMode = "mixed";
|
KillMode = "mixed";
|
||||||
|
|
|
@ -69,6 +69,8 @@ in
|
||||||
enableServer = lib.mkEnableOption (lib.mdDoc "the Kanidm server");
|
enableServer = lib.mkEnableOption (lib.mdDoc "the Kanidm server");
|
||||||
enablePam = lib.mkEnableOption (lib.mdDoc "the Kanidm PAM and NSS integration");
|
enablePam = lib.mkEnableOption (lib.mdDoc "the Kanidm PAM and NSS integration");
|
||||||
|
|
||||||
|
package = lib.mkPackageOptionMD pkgs "kanidm" {};
|
||||||
|
|
||||||
serverSettings = lib.mkOption {
|
serverSettings = lib.mkOption {
|
||||||
type = lib.types.submodule {
|
type = lib.types.submodule {
|
||||||
freeformType = settingsFormat.type;
|
freeformType = settingsFormat.type;
|
||||||
|
@ -222,7 +224,7 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = lib.mkIf cfg.enableClient [ pkgs.kanidm ];
|
environment.systemPackages = lib.mkIf cfg.enableClient [ cfg.package ];
|
||||||
|
|
||||||
systemd.services.kanidm = lib.mkIf cfg.enableServer {
|
systemd.services.kanidm = lib.mkIf cfg.enableServer {
|
||||||
description = "kanidm identity management daemon";
|
description = "kanidm identity management daemon";
|
||||||
|
@ -237,7 +239,7 @@ in
|
||||||
StateDirectory = "kanidm";
|
StateDirectory = "kanidm";
|
||||||
StateDirectoryMode = "0700";
|
StateDirectoryMode = "0700";
|
||||||
RuntimeDirectory = "kanidmd";
|
RuntimeDirectory = "kanidmd";
|
||||||
ExecStart = "${pkgs.kanidm}/bin/kanidmd server -c ${serverConfigFile}";
|
ExecStart = "${cfg.package}/bin/kanidmd server -c ${serverConfigFile}";
|
||||||
User = "kanidm";
|
User = "kanidm";
|
||||||
Group = "kanidm";
|
Group = "kanidm";
|
||||||
|
|
||||||
|
@ -270,7 +272,7 @@ in
|
||||||
CacheDirectory = "kanidm-unixd";
|
CacheDirectory = "kanidm-unixd";
|
||||||
CacheDirectoryMode = "0700";
|
CacheDirectoryMode = "0700";
|
||||||
RuntimeDirectory = "kanidm-unixd";
|
RuntimeDirectory = "kanidm-unixd";
|
||||||
ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd";
|
ExecStart = "${cfg.package}/bin/kanidm_unixd";
|
||||||
User = "kanidm-unixd";
|
User = "kanidm-unixd";
|
||||||
Group = "kanidm-unixd";
|
Group = "kanidm-unixd";
|
||||||
|
|
||||||
|
@ -302,7 +304,7 @@ in
|
||||||
partOf = [ "kanidm-unixd.service" ];
|
partOf = [ "kanidm-unixd.service" ];
|
||||||
restartTriggers = [ unixConfigFile clientConfigFile ];
|
restartTriggers = [ unixConfigFile clientConfigFile ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd_tasks";
|
ExecStart = "${cfg.package}/bin/kanidm_unixd_tasks";
|
||||||
|
|
||||||
BindReadOnlyPaths = [
|
BindReadOnlyPaths = [
|
||||||
"/nix/store"
|
"/nix/store"
|
||||||
|
@ -346,7 +348,7 @@ in
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
system.nssModules = lib.mkIf cfg.enablePam [ pkgs.kanidm ];
|
system.nssModules = lib.mkIf cfg.enablePam [ cfg.package ];
|
||||||
|
|
||||||
system.nssDatabases.group = lib.optional cfg.enablePam "kanidm";
|
system.nssDatabases.group = lib.optional cfg.enablePam "kanidm";
|
||||||
system.nssDatabases.passwd = lib.optional cfg.enablePam "kanidm";
|
system.nssDatabases.passwd = lib.optional cfg.enablePam "kanidm";
|
||||||
|
@ -365,7 +367,7 @@ in
|
||||||
description = "Kanidm server";
|
description = "Kanidm server";
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "kanidm";
|
group = "kanidm";
|
||||||
packages = with pkgs; [ kanidm ];
|
packages = [ cfg.package ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(lib.mkIf cfg.enablePam {
|
(lib.mkIf cfg.enablePam {
|
||||||
|
|
|
@ -1,79 +1,66 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.mediamtx;
|
cfg = config.services.mediamtx;
|
||||||
package = pkgs.mediamtx;
|
|
||||||
format = pkgs.formats.yaml {};
|
format = pkgs.formats.yaml {};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
meta.maintainers = with lib.maintainers; [ fpletz ];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
services.mediamtx = {
|
services.mediamtx = {
|
||||||
enable = mkEnableOption (lib.mdDoc "MediaMTX");
|
enable = lib.mkEnableOption (lib.mdDoc "MediaMTX");
|
||||||
|
|
||||||
settings = mkOption {
|
package = lib.mkPackageOptionMD pkgs "mediamtx" { };
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Settings for MediaMTX.
|
Settings for MediaMTX. Refer to the defaults at
|
||||||
Read more at <https://github.com/aler9/mediamtx/blob/main/mediamtx.yml>
|
<https://github.com/bluenviron/mediamtx/blob/main/mediamtx.yml>.
|
||||||
'';
|
'';
|
||||||
type = format.type;
|
type = format.type;
|
||||||
|
default = {};
|
||||||
default = {
|
|
||||||
logLevel = "info";
|
|
||||||
logDestinations = [
|
|
||||||
"stdout"
|
|
||||||
];
|
|
||||||
# we set this so when the user uses it, it just works (see LogsDirectory below). but it's not used by default.
|
|
||||||
logFile = "/var/log/mediamtx/mediamtx.log";
|
|
||||||
};
|
|
||||||
|
|
||||||
example = {
|
example = {
|
||||||
paths = {
|
paths = {
|
||||||
cam = {
|
cam = {
|
||||||
runOnInit = "ffmpeg -f v4l2 -i /dev/video0 -f rtsp rtsp://localhost:$RTSP_PORT/$RTSP_PATH";
|
runOnInit = "\${lib.getExe pkgs.ffmpeg} -f v4l2 -i /dev/video0 -f rtsp rtsp://localhost:$RTSP_PORT/$RTSP_PATH";
|
||||||
runOnInitRestart = true;
|
runOnInitRestart = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
env = mkOption {
|
env = lib.mkOption {
|
||||||
type = with types; attrsOf anything;
|
type = with lib.types; attrsOf anything;
|
||||||
description = lib.mdDoc "Extra environment variables for MediaMTX";
|
description = lib.mdDoc "Extra environment variables for MediaMTX";
|
||||||
default = {};
|
default = {};
|
||||||
example = {
|
example = {
|
||||||
MTX_CONFKEY = "mykey";
|
MTX_CONFKEY = "mykey";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
allowVideoAccess = lib.mkEnableOption (lib.mdDoc ''
|
||||||
|
Enable access to video devices like cameras on the system.
|
||||||
|
'');
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf (cfg.enable) {
|
config = lib.mkIf cfg.enable {
|
||||||
# NOTE: mediamtx watches this file and automatically reloads if it changes
|
# NOTE: mediamtx watches this file and automatically reloads if it changes
|
||||||
environment.etc."mediamtx.yaml".source = format.generate "mediamtx.yaml" cfg.settings;
|
environment.etc."mediamtx.yaml".source = format.generate "mediamtx.yaml" cfg.settings;
|
||||||
|
|
||||||
systemd.services.mediamtx = {
|
systemd.services.mediamtx = {
|
||||||
environment = cfg.env;
|
|
||||||
|
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
path = with pkgs; [
|
environment = cfg.env;
|
||||||
ffmpeg
|
|
||||||
];
|
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
DynamicUser = true;
|
DynamicUser = true;
|
||||||
User = "mediamtx";
|
User = "mediamtx";
|
||||||
Group = "mediamtx";
|
Group = "mediamtx";
|
||||||
|
SupplementaryGroups = lib.mkIf cfg.allowVideoAccess "video";
|
||||||
LogsDirectory = "mediamtx";
|
ExecStart = "${cfg.package}/bin/mediamtx /etc/mediamtx.yaml";
|
||||||
|
|
||||||
# user likely may want to stream cameras, can't hurt to add video group
|
|
||||||
SupplementaryGroups = "video";
|
|
||||||
|
|
||||||
ExecStart = "${package}/bin/mediamtx /etc/mediamtx.yaml";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,6 +7,9 @@ let
|
||||||
|
|
||||||
settingsFile = settingsFormat.generate "invidious-settings" cfg.settings;
|
settingsFile = settingsFormat.generate "invidious-settings" cfg.settings;
|
||||||
|
|
||||||
|
generatedHmacKeyFile = "/var/lib/invidious/hmac_key";
|
||||||
|
generateHmac = cfg.hmacKeyFile == null;
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
systemd.services.invidious = {
|
systemd.services.invidious = {
|
||||||
description = "Invidious (An alternative YouTube front-end)";
|
description = "Invidious (An alternative YouTube front-end)";
|
||||||
|
@ -14,22 +17,47 @@ let
|
||||||
after = [ "network-online.target" ];
|
after = [ "network-online.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
script =
|
preStart = lib.optionalString generateHmac ''
|
||||||
let
|
if [[ ! -e "${generatedHmacKeyFile}" ]]; then
|
||||||
jqFilter = "."
|
${pkgs.pwgen}/bin/pwgen 20 1 > "${generatedHmacKeyFile}"
|
||||||
+ lib.optionalString (cfg.database.host != null) "[0].db.password = \"'\"'\"$(cat ${lib.escapeShellArg cfg.database.passwordFile})\"'\"'\""
|
chmod 0600 "${generatedHmacKeyFile}"
|
||||||
+ " | .[0]"
|
fi
|
||||||
+ lib.optionalString (cfg.extraSettingsFile != null) " * .[1]";
|
'';
|
||||||
jqFiles = [ settingsFile ] ++ lib.optional (cfg.extraSettingsFile != null) cfg.extraSettingsFile;
|
|
||||||
in
|
script = ''
|
||||||
|
configParts=()
|
||||||
''
|
''
|
||||||
export INVIDIOUS_CONFIG="$(${pkgs.jq}/bin/jq -s "${jqFilter}" ${lib.escapeShellArgs jqFiles})"
|
# autogenerated hmac_key
|
||||||
|
+ lib.optionalString generateHmac ''
|
||||||
|
configParts+=("$(${pkgs.jq}/bin/jq -R '{"hmac_key":.}' <"${generatedHmacKeyFile}")")
|
||||||
|
''
|
||||||
|
# generated settings file
|
||||||
|
+ ''
|
||||||
|
configParts+=("$(< ${lib.escapeShellArg settingsFile})")
|
||||||
|
''
|
||||||
|
# optional database password file
|
||||||
|
+ lib.optionalString (cfg.database.host != null) ''
|
||||||
|
configParts+=("$(${pkgs.jq}/bin/jq -R '{"db":{"password":.}}' ${lib.escapeShellArg cfg.database.passwordFile})")
|
||||||
|
''
|
||||||
|
# optional extra settings file
|
||||||
|
+ lib.optionalString (cfg.extraSettingsFile != null) ''
|
||||||
|
configParts+=("$(< ${lib.escapeShellArg cfg.extraSettingsFile})")
|
||||||
|
''
|
||||||
|
# explicitly specified hmac key file
|
||||||
|
+ lib.optionalString (cfg.hmacKeyFile != null) ''
|
||||||
|
configParts+=("$(< ${lib.escapeShellArg cfg.hmacKeyFile})")
|
||||||
|
''
|
||||||
|
# merge all parts into a single configuration with later elements overriding previous elements
|
||||||
|
+ ''
|
||||||
|
export INVIDIOUS_CONFIG="$(${pkgs.jq}/bin/jq -s 'reduce .[] as $item ({}; . * $item)' <<<"''${configParts[*]}")"
|
||||||
exec ${cfg.package}/bin/invidious
|
exec ${cfg.package}/bin/invidious
|
||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
RestartSec = "2s";
|
RestartSec = "2s";
|
||||||
DynamicUser = true;
|
DynamicUser = true;
|
||||||
|
StateDirectory = "invidious";
|
||||||
|
StateDirectoryMode = "0750";
|
||||||
|
|
||||||
CapabilityBoundingSet = "";
|
CapabilityBoundingSet = "";
|
||||||
PrivateDevices = true;
|
PrivateDevices = true;
|
||||||
|
@ -171,6 +199,18 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hmacKeyFile = lib.mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
A path to a file containing the `hmac_key`. If `null`, a key will be generated automatically on first
|
||||||
|
start.
|
||||||
|
|
||||||
|
If non-`null`, this option overrides any `hmac_key` specified in {option}`services.invidious.settings` or
|
||||||
|
via {option}`services.invidious.extraSettingsFile`.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraSettingsFile = lib.mkOption {
|
extraSettingsFile = lib.mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = null;
|
||||||
|
|
|
@ -61,6 +61,8 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
package = mkPackageOptionMD pkgs "picom" { };
|
||||||
|
|
||||||
fade = mkOption {
|
fade = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
|
@ -301,13 +303,13 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}";
|
ExecStart = "${getExe cfg.package} --config ${configFile}";
|
||||||
RestartSec = 3;
|
RestartSec = 3;
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.picom ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||||
|
|
|
@ -253,16 +253,24 @@ sub parse_systemd_ini {
|
||||||
# If a directory with the same basename ending in .d exists next to the unit file, it will be
|
# If a directory with the same basename ending in .d exists next to the unit file, it will be
|
||||||
# assumed to contain override files which will be parsed as well and handled properly.
|
# assumed to contain override files which will be parsed as well and handled properly.
|
||||||
sub parse_unit {
|
sub parse_unit {
|
||||||
my ($unit_path) = @_;
|
my ($unit_path, $base_unit_path) = @_;
|
||||||
|
|
||||||
# Parse the main unit and all overrides
|
# Parse the main unit and all overrides
|
||||||
my %unit_data;
|
my %unit_data;
|
||||||
# Replace \ with \\ so glob() still works with units that have a \ in them
|
# Replace \ with \\ so glob() still works with units that have a \ in them
|
||||||
# Valid characters in unit names are ASCII letters, digits, ":", "-", "_", ".", and "\"
|
# Valid characters in unit names are ASCII letters, digits, ":", "-", "_", ".", and "\"
|
||||||
|
$base_unit_path =~ s/\\/\\\\/gmsx;
|
||||||
$unit_path =~ s/\\/\\\\/gmsx;
|
$unit_path =~ s/\\/\\\\/gmsx;
|
||||||
foreach (glob("${unit_path}{,.d/*.conf}")) {
|
|
||||||
|
foreach (glob("${base_unit_path}{,.d/*.conf}")) {
|
||||||
parse_systemd_ini(\%unit_data, "$_")
|
parse_systemd_ini(\%unit_data, "$_")
|
||||||
}
|
}
|
||||||
|
# Handle drop-in template-unit instance overrides
|
||||||
|
if ($unit_path ne $base_unit_path) {
|
||||||
|
foreach (glob("${unit_path}.d/*.conf")) {
|
||||||
|
parse_systemd_ini(\%unit_data, "$_")
|
||||||
|
}
|
||||||
|
}
|
||||||
return %unit_data;
|
return %unit_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -423,7 +431,7 @@ sub compare_units { ## no critic(Subroutines::ProhibitExcessComplexity)
|
||||||
# Called when a unit exists in both the old systemd and the new system and the units
|
# Called when a unit exists in both the old systemd and the new system and the units
|
||||||
# differ. This figures out of what units are to be stopped, restarted, reloaded, started, and skipped.
|
# differ. This figures out of what units are to be stopped, restarted, reloaded, started, and skipped.
|
||||||
sub handle_modified_unit { ## no critic(Subroutines::ProhibitManyArgs, Subroutines::ProhibitExcessComplexity)
|
sub handle_modified_unit { ## no critic(Subroutines::ProhibitManyArgs, Subroutines::ProhibitExcessComplexity)
|
||||||
my ($unit, $base_name, $new_unit_file, $new_unit_info, $active_cur, $units_to_stop, $units_to_start, $units_to_reload, $units_to_restart, $units_to_skip) = @_;
|
my ($unit, $base_name, $new_unit_file, $new_base_unit_file, $new_unit_info, $active_cur, $units_to_stop, $units_to_start, $units_to_reload, $units_to_restart, $units_to_skip) = @_;
|
||||||
|
|
||||||
if ($unit eq "sysinit.target" || $unit eq "basic.target" || $unit eq "multi-user.target" || $unit eq "graphical.target" || $unit =~ /\.path$/msx || $unit =~ /\.slice$/msx) {
|
if ($unit eq "sysinit.target" || $unit eq "basic.target" || $unit eq "multi-user.target" || $unit eq "graphical.target" || $unit =~ /\.path$/msx || $unit =~ /\.slice$/msx) {
|
||||||
# Do nothing. These cannot be restarted directly.
|
# Do nothing. These cannot be restarted directly.
|
||||||
|
@ -442,7 +450,7 @@ sub handle_modified_unit { ## no critic(Subroutines::ProhibitManyArgs, Subroutin
|
||||||
# Revert of the attempt: https://github.com/NixOS/nixpkgs/pull/147609
|
# Revert of the attempt: https://github.com/NixOS/nixpkgs/pull/147609
|
||||||
# More details: https://github.com/NixOS/nixpkgs/issues/74899#issuecomment-981142430
|
# More details: https://github.com/NixOS/nixpkgs/issues/74899#issuecomment-981142430
|
||||||
} else {
|
} else {
|
||||||
my %new_unit_info = $new_unit_info ? %{$new_unit_info} : parse_unit($new_unit_file);
|
my %new_unit_info = $new_unit_info ? %{$new_unit_info} : parse_unit($new_unit_file, $new_base_unit_file);
|
||||||
if (parse_systemd_bool(\%new_unit_info, "Service", "X-ReloadIfChanged", 0) and not $units_to_restart->{$unit} and not $units_to_stop->{$unit}) {
|
if (parse_systemd_bool(\%new_unit_info, "Service", "X-ReloadIfChanged", 0) and not $units_to_restart->{$unit} and not $units_to_stop->{$unit}) {
|
||||||
$units_to_reload->{$unit} = 1;
|
$units_to_reload->{$unit} = 1;
|
||||||
record_unit($reload_list_file, $unit);
|
record_unit($reload_list_file, $unit);
|
||||||
|
@ -538,31 +546,33 @@ my %units_to_filter; # units not shown
|
||||||
|
|
||||||
my $active_cur = get_active_units();
|
my $active_cur = get_active_units();
|
||||||
while (my ($unit, $state) = each(%{$active_cur})) {
|
while (my ($unit, $state) = each(%{$active_cur})) {
|
||||||
my $base_unit = $unit;
|
my $cur_unit_file = "/etc/systemd/system/$unit";
|
||||||
|
my $new_unit_file = "$toplevel/etc/systemd/system/$unit";
|
||||||
|
|
||||||
my $cur_unit_file = "/etc/systemd/system/$base_unit";
|
my $base_unit = $unit;
|
||||||
my $new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
my $cur_base_unit_file = $cur_unit_file;
|
||||||
|
my $new_base_unit_file = $new_unit_file;
|
||||||
|
|
||||||
# Detect template instances.
|
# Detect template instances.
|
||||||
if (!-e $cur_unit_file && !-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
if (!-e $cur_unit_file && !-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
||||||
$base_unit = "$1\@.$2";
|
$base_unit = "$1\@.$2";
|
||||||
$cur_unit_file = "/etc/systemd/system/$base_unit";
|
$cur_base_unit_file = "/etc/systemd/system/$base_unit";
|
||||||
$new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
$new_base_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $base_name = $base_unit;
|
my $base_name = $base_unit;
|
||||||
$base_name =~ s/\.[[:lower:]]*$//msx;
|
$base_name =~ s/\.[[:lower:]]*$//msx;
|
||||||
|
|
||||||
if (-e $cur_unit_file && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
if (-e $cur_base_unit_file && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
||||||
if (! -e $new_unit_file || abs_path($new_unit_file) eq "/dev/null") {
|
if (! -e $new_base_unit_file || abs_path($new_base_unit_file) eq "/dev/null") {
|
||||||
my %cur_unit_info = parse_unit($cur_unit_file);
|
my %cur_unit_info = parse_unit($cur_unit_file, $cur_base_unit_file);
|
||||||
if (parse_systemd_bool(\%cur_unit_info, "Unit", "X-StopOnRemoval", 1)) {
|
if (parse_systemd_bool(\%cur_unit_info, "Unit", "X-StopOnRemoval", 1)) {
|
||||||
$units_to_stop{$unit} = 1;
|
$units_to_stop{$unit} = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
elsif ($unit =~ /\.target$/msx) {
|
elsif ($unit =~ /\.target$/msx) {
|
||||||
my %new_unit_info = parse_unit($new_unit_file);
|
my %new_unit_info = parse_unit($new_unit_file, $new_base_unit_file);
|
||||||
|
|
||||||
# Cause all active target units to be restarted below.
|
# Cause all active target units to be restarted below.
|
||||||
# This should start most changed units we stop here as
|
# This should start most changed units we stop here as
|
||||||
|
@ -596,11 +606,11 @@ while (my ($unit, $state) = each(%{$active_cur})) {
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
my %cur_unit_info = parse_unit($cur_unit_file);
|
my %cur_unit_info = parse_unit($cur_unit_file, $cur_base_unit_file);
|
||||||
my %new_unit_info = parse_unit($new_unit_file);
|
my %new_unit_info = parse_unit($new_unit_file, $new_base_unit_file);
|
||||||
my $diff = compare_units(\%cur_unit_info, \%new_unit_info);
|
my $diff = compare_units(\%cur_unit_info, \%new_unit_info);
|
||||||
if ($diff == 1) {
|
if ($diff == 1) {
|
||||||
handle_modified_unit($unit, $base_name, $new_unit_file, \%new_unit_info, $active_cur, \%units_to_stop, \%units_to_start, \%units_to_reload, \%units_to_restart, \%units_to_skip);
|
handle_modified_unit($unit, $base_name, $new_unit_file, $new_base_unit_file, \%new_unit_info, $active_cur, \%units_to_stop, \%units_to_start, \%units_to_reload, \%units_to_restart, \%units_to_skip);
|
||||||
} elsif ($diff == 2 and not $units_to_restart{$unit}) {
|
} elsif ($diff == 2 and not $units_to_restart{$unit}) {
|
||||||
$units_to_reload{$unit} = 1;
|
$units_to_reload{$unit} = 1;
|
||||||
record_unit($reload_list_file, $unit);
|
record_unit($reload_list_file, $unit);
|
||||||
|
@ -710,13 +720,14 @@ if ($action eq "dry-activate") {
|
||||||
# Handle the activation script requesting the restart or reload of a unit.
|
# Handle the activation script requesting the restart or reload of a unit.
|
||||||
foreach (split(/\n/msx, read_file($dry_restart_by_activation_file, err_mode => "quiet") // "")) {
|
foreach (split(/\n/msx, read_file($dry_restart_by_activation_file, err_mode => "quiet") // "")) {
|
||||||
my $unit = $_;
|
my $unit = $_;
|
||||||
|
my $new_unit_file = "$toplevel/etc/systemd/system/$unit";
|
||||||
my $base_unit = $unit;
|
my $base_unit = $unit;
|
||||||
my $new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
my $new_base_unit_file = $new_unit_file;
|
||||||
|
|
||||||
# Detect template instances.
|
# Detect template instances.
|
||||||
if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
||||||
$base_unit = "$1\@.$2";
|
$base_unit = "$1\@.$2";
|
||||||
$new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
$new_base_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $base_name = $base_unit;
|
my $base_name = $base_unit;
|
||||||
|
@ -728,7 +739,7 @@ if ($action eq "dry-activate") {
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
|
||||||
handle_modified_unit($unit, $base_name, $new_unit_file, undef, $active_cur, \%units_to_restart, \%units_to_restart, \%units_to_reload, \%units_to_restart, \%units_to_skip);
|
handle_modified_unit($unit, $base_name, $new_unit_file, $new_base_unit_file, undef, $active_cur, \%units_to_restart, \%units_to_restart, \%units_to_reload, \%units_to_restart, \%units_to_skip);
|
||||||
}
|
}
|
||||||
unlink($dry_restart_by_activation_file);
|
unlink($dry_restart_by_activation_file);
|
||||||
|
|
||||||
|
@ -782,13 +793,14 @@ system("$out/activate", "$out") == 0 or $res = 2;
|
||||||
# Handle the activation script requesting the restart or reload of a unit.
|
# Handle the activation script requesting the restart or reload of a unit.
|
||||||
foreach (split(/\n/msx, read_file($restart_by_activation_file, err_mode => "quiet") // "")) {
|
foreach (split(/\n/msx, read_file($restart_by_activation_file, err_mode => "quiet") // "")) {
|
||||||
my $unit = $_;
|
my $unit = $_;
|
||||||
|
my $new_unit_file = "$toplevel/etc/systemd/system/$unit";
|
||||||
my $base_unit = $unit;
|
my $base_unit = $unit;
|
||||||
my $new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
my $new_base_unit_file = $new_unit_file;
|
||||||
|
|
||||||
# Detect template instances.
|
# Detect template instances.
|
||||||
if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
||||||
$base_unit = "$1\@.$2";
|
$base_unit = "$1\@.$2";
|
||||||
$new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
$new_base_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $base_name = $base_unit;
|
my $base_name = $base_unit;
|
||||||
|
@ -801,7 +813,7 @@ foreach (split(/\n/msx, read_file($restart_by_activation_file, err_mode => "quie
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
|
||||||
handle_modified_unit($unit, $base_name, $new_unit_file, undef, $active_cur, \%units_to_restart, \%units_to_restart, \%units_to_reload, \%units_to_restart, \%units_to_skip);
|
handle_modified_unit($unit, $base_name, $new_unit_file, $new_base_unit_file, undef, $active_cur, \%units_to_restart, \%units_to_restart, \%units_to_reload, \%units_to_restart, \%units_to_skip);
|
||||||
}
|
}
|
||||||
# We can remove the file now because it has been propagated to the other restart/reload files
|
# We can remove the file now because it has been propagated to the other restart/reload files
|
||||||
unlink($restart_by_activation_file);
|
unlink($restart_by_activation_file);
|
||||||
|
@ -859,7 +871,7 @@ if (scalar(keys(%units_to_reload)) > 0) {
|
||||||
for my $unit (keys(%units_to_reload)) {
|
for my $unit (keys(%units_to_reload)) {
|
||||||
if (!unit_is_active($unit)) {
|
if (!unit_is_active($unit)) {
|
||||||
# Figure out if we need to start the unit
|
# Figure out if we need to start the unit
|
||||||
my %unit_info = parse_unit("$toplevel/etc/systemd/system/$unit");
|
my %unit_info = parse_unit("$toplevel/etc/systemd/system/$unit", "$toplevel/etc/systemd/system/$unit");
|
||||||
if (!(parse_systemd_bool(\%unit_info, "Unit", "RefuseManualStart", 0) || parse_systemd_bool(\%unit_info, "Unit", "X-OnlyManualStart", 0))) {
|
if (!(parse_systemd_bool(\%unit_info, "Unit", "RefuseManualStart", 0) || parse_systemd_bool(\%unit_info, "Unit", "X-OnlyManualStart", 0))) {
|
||||||
$units_to_start{$unit} = 1;
|
$units_to_start{$unit} = 1;
|
||||||
record_unit($start_list_file, $unit);
|
record_unit($start_list_file, $unit);
|
||||||
|
|
|
@ -463,6 +463,7 @@ in {
|
||||||
matrix-conduit = handleTest ./matrix/conduit.nix {};
|
matrix-conduit = handleTest ./matrix/conduit.nix {};
|
||||||
matrix-synapse = handleTest ./matrix/synapse.nix {};
|
matrix-synapse = handleTest ./matrix/synapse.nix {};
|
||||||
mattermost = handleTest ./mattermost.nix {};
|
mattermost = handleTest ./mattermost.nix {};
|
||||||
|
mediamtx = handleTest ./mediamtx.nix {};
|
||||||
mediatomb = handleTest ./mediatomb.nix {};
|
mediatomb = handleTest ./mediatomb.nix {};
|
||||||
mediawiki = handleTest ./mediawiki.nix {};
|
mediawiki = handleTest ./mediawiki.nix {};
|
||||||
meilisearch = handleTest ./meilisearch.nix {};
|
meilisearch = handleTest ./meilisearch.nix {};
|
||||||
|
|
57
nixos/tests/mediamtx.nix
Normal file
57
nixos/tests/mediamtx.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, lib, ...} :
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "mediamtx";
|
||||||
|
meta.maintainers = with lib.maintainers; [ fpletz ];
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
machine = { config, ... }: {
|
||||||
|
services.mediamtx = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
metrics = true;
|
||||||
|
paths.all.source = "publisher";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.rtmp-publish = {
|
||||||
|
description = "Publish an RTMP stream to mediamtx";
|
||||||
|
after = [ "mediamtx.service" ];
|
||||||
|
bindsTo = [ "mediamtx.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "1s";
|
||||||
|
TimeoutStartSec = "10s";
|
||||||
|
ExecStart = "${lib.getBin pkgs.ffmpeg-headless}/bin/ffmpeg -re -f lavfi -i smptebars=size=800x600:rate=10 -c libx264 -f flv rtmp://localhost:1935/test";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.rtmp-receive = {
|
||||||
|
description = "Receive an RTMP stream from mediamtx";
|
||||||
|
after = [ "rtmp-publish.service" ];
|
||||||
|
bindsTo = [ "rtmp-publish.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "1s";
|
||||||
|
TimeoutStartSec = "10s";
|
||||||
|
ExecStart = "${lib.getBin pkgs.ffmpeg-headless}/bin/ffmpeg -y -re -i rtmp://localhost:1935/test -f flv /dev/null";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
|
||||||
|
machine.wait_for_unit("mediamtx.service")
|
||||||
|
machine.wait_for_unit("rtmp-publish.service")
|
||||||
|
machine.wait_for_unit("rtmp-receive.service")
|
||||||
|
machine.wait_for_open_port(9998)
|
||||||
|
machine.succeed("curl http://localhost:9998/metrics | grep '^rtmp_conns.*state=\"publish\".*1$'")
|
||||||
|
machine.succeed("curl http://localhost:9998/metrics | grep '^rtmp_conns.*state=\"read\".*1$'")
|
||||||
|
'';
|
||||||
|
})
|
|
@ -1200,7 +1200,7 @@ let
|
||||||
};
|
};
|
||||||
exporterTest = ''
|
exporterTest = ''
|
||||||
wait_until_succeeds(
|
wait_until_succeeds(
|
||||||
'journalctl -eu prometheus-smartctl-exporter.service -o cat | grep "Device unavailable"'
|
'journalctl -eu prometheus-smartctl-exporter.service -o cat | grep "Unable to detect device type"'
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Test configuration switching.
|
# Test configuration switching.
|
||||||
|
|
||||||
import ./make-test-python.nix ({ pkgs, ...} : let
|
import ./make-test-python.nix ({ lib, pkgs, ...} : let
|
||||||
|
|
||||||
# Simple service that can either be socket-activated or that will
|
# Simple service that can either be socket-activated or that will
|
||||||
# listen on port 1234 if not socket-activated.
|
# listen on port 1234 if not socket-activated.
|
||||||
|
@ -279,6 +279,28 @@ in {
|
||||||
systemd.services.test-service.unitConfig.RefuseManualStart = true;
|
systemd.services.test-service.unitConfig.RefuseManualStart = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
unitWithTemplate.configuration = {
|
||||||
|
systemd.services."instantiated@".serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
ExecStart = "${pkgs.coreutils}/bin/true";
|
||||||
|
ExecReload = "${pkgs.coreutils}/bin/true";
|
||||||
|
};
|
||||||
|
systemd.services."instantiated@one" = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
overrideStrategy = "asDropin";
|
||||||
|
};
|
||||||
|
systemd.services."instantiated@two" = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
overrideStrategy = "asDropin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
unitWithTemplateModified.configuration = {
|
||||||
|
imports = [ unitWithTemplate.configuration ];
|
||||||
|
systemd.services."instantiated@".serviceConfig.X-Test = "test";
|
||||||
|
};
|
||||||
|
|
||||||
restart-and-reload-by-activation-script.configuration = {
|
restart-and-reload-by-activation-script.configuration = {
|
||||||
systemd.services = rec {
|
systemd.services = rec {
|
||||||
simple-service = {
|
simple-service = {
|
||||||
|
@ -290,29 +312,50 @@ in {
|
||||||
ExecReload = "${pkgs.coreutils}/bin/true";
|
ExecReload = "${pkgs.coreutils}/bin/true";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"templated-simple-service@" = simple-service;
|
||||||
|
"templated-simple-service@instance".overrideStrategy = "asDropin";
|
||||||
|
|
||||||
simple-restart-service = simple-service // {
|
simple-restart-service = simple-service // {
|
||||||
stopIfChanged = false;
|
stopIfChanged = false;
|
||||||
};
|
};
|
||||||
|
"templated-simple-restart-service@" = simple-restart-service;
|
||||||
|
"templated-simple-restart-service@instance".overrideStrategy = "asDropin";
|
||||||
|
|
||||||
simple-reload-service = simple-service // {
|
simple-reload-service = simple-service // {
|
||||||
reloadIfChanged = true;
|
reloadIfChanged = true;
|
||||||
};
|
};
|
||||||
|
"templated-simple-reload-service@" = simple-reload-service;
|
||||||
|
"templated-simple-reload-service@instance".overrideStrategy = "asDropin";
|
||||||
|
|
||||||
no-restart-service = simple-service // {
|
no-restart-service = simple-service // {
|
||||||
restartIfChanged = false;
|
restartIfChanged = false;
|
||||||
};
|
};
|
||||||
|
"templated-no-restart-service@" = no-restart-service;
|
||||||
|
"templated-no-restart-service@instance".overrideStrategy = "asDropin";
|
||||||
|
|
||||||
reload-triggers = simple-service // {
|
reload-triggers = simple-service // {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
};
|
||||||
|
"templated-reload-triggers@" = simple-service;
|
||||||
|
"templated-reload-triggers@instance" = {
|
||||||
|
overrideStrategy = "asDropin";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
reload-triggers-and-restart-by-as = simple-service;
|
reload-triggers-and-restart-by-as = simple-service;
|
||||||
|
"templated-reload-triggers-and-restart-by-as@" = reload-triggers-and-restart-by-as;
|
||||||
|
"templated-reload-triggers-and-restart-by-as@instance".overrideStrategy = "asDropin";
|
||||||
|
|
||||||
reload-triggers-and-restart = simple-service // {
|
reload-triggers-and-restart = simple-service // {
|
||||||
stopIfChanged = false; # easier to check for this
|
stopIfChanged = false; # easier to check for this
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
};
|
||||||
|
"templated-reload-triggers-and-restart@" = simple-service;
|
||||||
|
"templated-reload-triggers-and-restart@instance" = {
|
||||||
|
overrideStrategy = "asDropin";
|
||||||
|
stopIfChanged = false; # easier to check for this
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
system.activationScripts.restart-and-reload-test = {
|
system.activationScripts.restart-and-reload-test = {
|
||||||
|
@ -332,12 +375,20 @@ in {
|
||||||
simple-reload-service.service
|
simple-reload-service.service
|
||||||
no-restart-service.service
|
no-restart-service.service
|
||||||
reload-triggers-and-restart-by-as.service
|
reload-triggers-and-restart-by-as.service
|
||||||
|
templated-simple-service@instance.service
|
||||||
|
templated-simple-restart-service@instance.service
|
||||||
|
templated-simple-reload-service@instance.service
|
||||||
|
templated-no-restart-service@instance.service
|
||||||
|
templated-reload-triggers-and-restart-by-as@instance.service
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<EOF >> "$g"
|
cat <<EOF >> "$g"
|
||||||
reload-triggers.service
|
reload-triggers.service
|
||||||
reload-triggers-and-restart-by-as.service
|
reload-triggers-and-restart-by-as.service
|
||||||
reload-triggers-and-restart.service
|
reload-triggers-and-restart.service
|
||||||
|
templated-reload-triggers@instance.service
|
||||||
|
templated-reload-triggers-and-restart-by-as@instance.service
|
||||||
|
templated-reload-triggers-and-restart@instance.service
|
||||||
EOF
|
EOF
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -346,6 +397,10 @@ in {
|
||||||
restart-and-reload-by-activation-script-modified.configuration = {
|
restart-and-reload-by-activation-script-modified.configuration = {
|
||||||
imports = [ restart-and-reload-by-activation-script.configuration ];
|
imports = [ restart-and-reload-by-activation-script.configuration ];
|
||||||
systemd.services.reload-triggers-and-restart.serviceConfig.X-Modified = "test";
|
systemd.services.reload-triggers-and-restart.serviceConfig.X-Modified = "test";
|
||||||
|
systemd.services."templated-reload-triggers-and-restart@instance" = {
|
||||||
|
overrideStrategy = "asDropin";
|
||||||
|
serviceConfig.X-Modified = "test";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
simple-socket.configuration = {
|
simple-socket.configuration = {
|
||||||
|
@ -507,6 +562,10 @@ in {
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
exec env -i "$@" | tee /dev/stderr
|
exec env -i "$@" | tee /dev/stderr
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Returns a comma separated representation of the given list in sorted
|
||||||
|
# order, that matches the output format of switch-to-configuration.pl
|
||||||
|
sortedUnits = xs: lib.concatStringsSep ", " (builtins.sort builtins.lessThan xs);
|
||||||
in /* python */ ''
|
in /* python */ ''
|
||||||
def switch_to_specialisation(system, name, action="test", fail=False):
|
def switch_to_specialisation(system, name, action="test", fail=False):
|
||||||
if name == "":
|
if name == "":
|
||||||
|
@ -733,6 +792,16 @@ in {
|
||||||
assert_contains(out, "\nstarting the following units: required-service.service\n")
|
assert_contains(out, "\nstarting the following units: required-service.service\n")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
|
|
||||||
|
# Ensure templated units are restarted when the base unit changes
|
||||||
|
switch_to_specialisation("${machine}", "unitWithTemplate")
|
||||||
|
out = switch_to_specialisation("${machine}", "unitWithTemplateModified")
|
||||||
|
assert_contains(out, "stopping the following units: instantiated@one.service, instantiated@two.service\n")
|
||||||
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
|
assert_lacks(out, "reloading the following units:")
|
||||||
|
assert_lacks(out, "\nrestarting the following units:")
|
||||||
|
assert_contains(out, "\nstarting the following units: instantiated@one.service, instantiated@two.service\n")
|
||||||
|
assert_lacks(out, "the following new units were started:")
|
||||||
|
|
||||||
with subtest("failing units"):
|
with subtest("failing units"):
|
||||||
# Let the simple service fail
|
# Let the simple service fail
|
||||||
switch_to_specialisation("${machine}", "simpleServiceModified")
|
switch_to_specialisation("${machine}", "simpleServiceModified")
|
||||||
|
@ -896,15 +965,62 @@ in {
|
||||||
assert_lacks(out, "NOT restarting the following changed units:")
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
assert_lacks(out, "reloading the following units:")
|
assert_lacks(out, "reloading the following units:")
|
||||||
assert_lacks(out, "restarting the following units:")
|
assert_lacks(out, "restarting the following units:")
|
||||||
assert_contains(out, "\nstarting the following units: no-restart-service.service, reload-triggers-and-restart-by-as.service, simple-reload-service.service, simple-restart-service.service, simple-service.service\n")
|
assert_contains(out, "\nstarting the following units: ${sortedUnits [
|
||||||
assert_contains(out, "the following new units were started: no-restart-service.service, reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, reload-triggers.service, simple-reload-service.service, simple-restart-service.service, simple-service.service\n")
|
"no-restart-service.service"
|
||||||
|
"reload-triggers-and-restart-by-as.service"
|
||||||
|
"simple-reload-service.service"
|
||||||
|
"simple-restart-service.service"
|
||||||
|
"simple-service.service"
|
||||||
|
"templated-no-restart-service@instance.service"
|
||||||
|
"templated-reload-triggers-and-restart-by-as@instance.service"
|
||||||
|
"templated-simple-reload-service@instance.service"
|
||||||
|
"templated-simple-restart-service@instance.service"
|
||||||
|
"templated-simple-service@instance.service"
|
||||||
|
]}\n")
|
||||||
|
assert_contains(out, "the following new units were started: ${sortedUnits [
|
||||||
|
"no-restart-service.service"
|
||||||
|
"reload-triggers-and-restart-by-as.service"
|
||||||
|
"reload-triggers-and-restart.service"
|
||||||
|
"reload-triggers.service"
|
||||||
|
"simple-reload-service.service"
|
||||||
|
"simple-restart-service.service"
|
||||||
|
"simple-service.service"
|
||||||
|
"system-templated\\\\x2dno\\\\x2drestart\\\\x2dservice.slice"
|
||||||
|
"system-templated\\\\x2dreload\\\\x2dtriggers.slice"
|
||||||
|
"system-templated\\\\x2dreload\\\\x2dtriggers\\\\x2dand\\\\x2drestart.slice"
|
||||||
|
"system-templated\\\\x2dreload\\\\x2dtriggers\\\\x2dand\\\\x2drestart\\\\x2dby\\\\x2das.slice"
|
||||||
|
"system-templated\\\\x2dsimple\\\\x2dreload\\\\x2dservice.slice"
|
||||||
|
"system-templated\\\\x2dsimple\\\\x2drestart\\\\x2dservice.slice"
|
||||||
|
"system-templated\\\\x2dsimple\\\\x2dservice.slice"
|
||||||
|
"templated-no-restart-service@instance.service"
|
||||||
|
"templated-reload-triggers-and-restart-by-as@instance.service"
|
||||||
|
"templated-reload-triggers-and-restart@instance.service"
|
||||||
|
"templated-reload-triggers@instance.service"
|
||||||
|
"templated-simple-reload-service@instance.service"
|
||||||
|
"templated-simple-restart-service@instance.service"
|
||||||
|
"templated-simple-service@instance.service"
|
||||||
|
]}\n")
|
||||||
# Switch to the same system where the example services get restarted
|
# Switch to the same system where the example services get restarted
|
||||||
# and reloaded by the activation script
|
# and reloaded by the activation script
|
||||||
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script")
|
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script")
|
||||||
assert_lacks(out, "stopping the following units:")
|
assert_lacks(out, "stopping the following units:")
|
||||||
assert_lacks(out, "NOT restarting the following changed units:")
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
assert_contains(out, "reloading the following units: reload-triggers-and-restart.service, reload-triggers.service, simple-reload-service.service\n")
|
assert_contains(out, "reloading the following units: ${sortedUnits [
|
||||||
assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, simple-restart-service.service, simple-service.service\n")
|
"reload-triggers-and-restart.service"
|
||||||
|
"reload-triggers.service"
|
||||||
|
"simple-reload-service.service"
|
||||||
|
"templated-reload-triggers-and-restart@instance.service"
|
||||||
|
"templated-reload-triggers@instance.service"
|
||||||
|
"templated-simple-reload-service@instance.service"
|
||||||
|
]}\n")
|
||||||
|
assert_contains(out, "restarting the following units: ${sortedUnits [
|
||||||
|
"reload-triggers-and-restart-by-as.service"
|
||||||
|
"simple-restart-service.service"
|
||||||
|
"simple-service.service"
|
||||||
|
"templated-reload-triggers-and-restart-by-as@instance.service"
|
||||||
|
"templated-simple-restart-service@instance.service"
|
||||||
|
"templated-simple-service@instance.service"
|
||||||
|
]}\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
# Switch to the same system and see if the service gets restarted when it's modified
|
# Switch to the same system and see if the service gets restarted when it's modified
|
||||||
|
@ -912,16 +1028,44 @@ in {
|
||||||
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script-modified")
|
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script-modified")
|
||||||
assert_lacks(out, "stopping the following units:")
|
assert_lacks(out, "stopping the following units:")
|
||||||
assert_lacks(out, "NOT restarting the following changed units:")
|
assert_lacks(out, "NOT restarting the following changed units:")
|
||||||
assert_contains(out, "reloading the following units: reload-triggers.service, simple-reload-service.service\n")
|
assert_contains(out, "reloading the following units: ${sortedUnits [
|
||||||
assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
"reload-triggers.service"
|
||||||
|
"simple-reload-service.service"
|
||||||
|
"templated-reload-triggers@instance.service"
|
||||||
|
"templated-simple-reload-service@instance.service"
|
||||||
|
]}\n")
|
||||||
|
assert_contains(out, "restarting the following units: ${sortedUnits [
|
||||||
|
"reload-triggers-and-restart-by-as.service"
|
||||||
|
"reload-triggers-and-restart.service"
|
||||||
|
"simple-restart-service.service"
|
||||||
|
"simple-service.service"
|
||||||
|
"templated-reload-triggers-and-restart-by-as@instance.service"
|
||||||
|
"templated-reload-triggers-and-restart@instance.service"
|
||||||
|
"templated-simple-restart-service@instance.service"
|
||||||
|
"templated-simple-service@instance.service"
|
||||||
|
]}\n")
|
||||||
assert_lacks(out, "\nstarting the following units:")
|
assert_lacks(out, "\nstarting the following units:")
|
||||||
assert_lacks(out, "the following new units were started:")
|
assert_lacks(out, "the following new units were started:")
|
||||||
# The same, but in dry mode
|
# The same, but in dry mode
|
||||||
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script", action="dry-activate")
|
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script", action="dry-activate")
|
||||||
assert_lacks(out, "would stop the following units:")
|
assert_lacks(out, "would stop the following units:")
|
||||||
assert_lacks(out, "would NOT stop the following changed units:")
|
assert_lacks(out, "would NOT stop the following changed units:")
|
||||||
assert_contains(out, "would reload the following units: reload-triggers.service, simple-reload-service.service\n")
|
assert_contains(out, "would reload the following units: ${sortedUnits [
|
||||||
assert_contains(out, "would restart the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
"reload-triggers.service"
|
||||||
|
"simple-reload-service.service"
|
||||||
|
"templated-reload-triggers@instance.service"
|
||||||
|
"templated-simple-reload-service@instance.service"
|
||||||
|
]}\n")
|
||||||
|
assert_contains(out, "would restart the following units: ${sortedUnits [
|
||||||
|
"reload-triggers-and-restart-by-as.service"
|
||||||
|
"reload-triggers-and-restart.service"
|
||||||
|
"simple-restart-service.service"
|
||||||
|
"simple-service.service"
|
||||||
|
"templated-reload-triggers-and-restart-by-as@instance.service"
|
||||||
|
"templated-reload-triggers-and-restart@instance.service"
|
||||||
|
"templated-simple-restart-service@instance.service"
|
||||||
|
"templated-simple-service@instance.service"
|
||||||
|
]}\n")
|
||||||
assert_lacks(out, "\nwould start the following units:")
|
assert_lacks(out, "\nwould start the following units:")
|
||||||
|
|
||||||
with subtest("socket-activated services"):
|
with subtest("socket-activated services"):
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
geminiserver.wait_for_open_port(1965)
|
geminiserver.wait_for_open_port(1965)
|
||||||
|
|
||||||
with subtest("check is serving over gemini"):
|
with subtest("check is serving over gemini"):
|
||||||
response = geminiserver.succeed("${pkgs.gmni}/bin/gmni -j once -i -N gemini://localhost:1965")
|
response = geminiserver.succeed("${pkgs.gemget}/bin/gemget --header -o - gemini://localhost:1965")
|
||||||
print(response)
|
print(response)
|
||||||
assert "Hello NixOS!" in response
|
assert "Hello NixOS!" in response
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -10,11 +10,11 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.9.7";
|
version = "3.0.1";
|
||||||
pname = "asunder";
|
pname = "asunder";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2";
|
url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "1x3l308ss0iqhz90qyjb94gyd8b4piyrm2nzjmg5kf049k9prjf1";
|
sha256 = "sha256-iGji4bl7ZofIAOf2EiYqMWu4V+3TmIN2jOYottJTN2s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ intltool makeWrapper pkg-config ];
|
nativeBuildInputs = [ intltool makeWrapper pkg-config ];
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cava";
|
pname = "cava";
|
||||||
version = "0.8.3";
|
version = "0.9.0";
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
alsa-lib
|
alsa-lib
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "karlstav";
|
owner = "karlstav";
|
||||||
repo = "cava";
|
repo = "cava";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-6xiWhWynIbUWFIieiYIg24PgwnKuNSIEpkY+P6gyFGw=";
|
sha256 = "sha256-mIgkvgVcbRdE29lSLojIzIsnwZgnQ+B2sgScDWrLyd8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
|
53
pkgs/applications/audio/g4music/default.nix
Normal file
53
pkgs/applications/audio/g4music/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitLab
|
||||||
|
, desktop-file-utils
|
||||||
|
, gobject-introspection
|
||||||
|
, gst_all_1
|
||||||
|
, gtk4
|
||||||
|
, libadwaita
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, vala
|
||||||
|
, wrapGAppsHook4
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "g4music";
|
||||||
|
version = "3.2";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
domain = "gitlab.gnome.org";
|
||||||
|
owner = "neithern";
|
||||||
|
repo = "g4music";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-BlHOYD4sOmJPNMzM5QA97Ah1N9tIat0Y6qxN6c5pmsw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
desktop-file-utils
|
||||||
|
gobject-introspection
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
vala
|
||||||
|
wrapGAppsHook4
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gtk4
|
||||||
|
libadwaita
|
||||||
|
] ++ (with gst_all_1; [
|
||||||
|
gst-plugins-base
|
||||||
|
gst-plugins-good
|
||||||
|
gstreamer
|
||||||
|
]);
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A beautiful, fast, fluent, light weight music player written in GTK4";
|
||||||
|
homepage = "https://gitlab.gnome.org/neithern/g4music";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ magnouvean ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
})
|
|
@ -1,34 +1,34 @@
|
||||||
{ stdenv
|
{ copyDesktopItems
|
||||||
, lib
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pipewire
|
|
||||||
, pulseaudio
|
|
||||||
, gst_all_1
|
|
||||||
, glibmm
|
, glibmm
|
||||||
|
, gst_all_1
|
||||||
|
, lib
|
||||||
|
, libarchive
|
||||||
|
, makeDesktopItem
|
||||||
|
, pipewire
|
||||||
|
, pkg-config
|
||||||
|
, pulseaudio
|
||||||
, qmake
|
, qmake
|
||||||
, qtbase
|
, qtbase
|
||||||
, qtsvg
|
, qtsvg
|
||||||
, wrapQtAppsHook
|
, stdenv
|
||||||
, makeDesktopItem
|
|
||||||
, pkg-config
|
|
||||||
, libarchive
|
|
||||||
, copyDesktopItems
|
|
||||||
, usePipewire ? true
|
, usePipewire ? true
|
||||||
, usePulseaudio ? false
|
, usePulseaudio ? false
|
||||||
|
, wrapQtAppsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support";
|
assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support";
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "jamesdsp";
|
pname = "jamesdsp";
|
||||||
version = "2.6.0";
|
version = "2.6.1";
|
||||||
|
|
||||||
src = fetchFromGitHub rec {
|
src = fetchFromGitHub {
|
||||||
owner = "Audio4Linux";
|
owner = "Audio4Linux";
|
||||||
repo = "JDSP4Linux";
|
repo = "JDSP4Linux";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-pogBpmGlqQnkXMdp5HbMYISjwMJalSPvEV9MDHj8aec=";
|
hash = "sha256-XYJl94/PstWG5qaBQ2rXc/nG9bDeP3Q62zDYHmZvPaw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -43,15 +43,16 @@ stdenv.mkDerivation rec {
|
||||||
libarchive
|
libarchive
|
||||||
qtbase
|
qtbase
|
||||||
qtsvg
|
qtsvg
|
||||||
] ++ lib.optional usePipewire pipewire
|
] ++ lib.optionals usePipewire [
|
||||||
++ lib.optionals usePulseaudio [
|
pipewire
|
||||||
|
] ++ lib.optionals usePulseaudio [
|
||||||
pulseaudio
|
pulseaudio
|
||||||
gst_all_1.gst-plugins-base
|
gst_all_1.gst-plugins-base
|
||||||
gst_all_1.gst-plugins-good
|
gst_all_1.gst-plugins-good
|
||||||
gst_all_1.gstreamer
|
gst_all_1.gstreamer
|
||||||
];
|
];
|
||||||
|
|
||||||
preFixup = lib.optionals usePulseaudio ''
|
preFixup = lib.optionalString usePulseaudio ''
|
||||||
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
|
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -76,12 +77,12 @@ stdenv.mkDerivation rec {
|
||||||
install -D resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/jamesdsp.svg
|
install -D resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/jamesdsp.svg
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib;{
|
meta = {
|
||||||
broken = (stdenv.isLinux && stdenv.isAarch64);
|
broken = (stdenv.isLinux && stdenv.isAarch64);
|
||||||
description = "An audio effect processor for PipeWire clients";
|
description = "An audio effect processor for PipeWire clients";
|
||||||
homepage = "https://github.com/Audio4Linux/JDSP4Linux";
|
homepage = "https://github.com/Audio4Linux/JDSP4Linux";
|
||||||
license = licenses.gpl3Only;
|
license = lib.licenses.gpl3Only;
|
||||||
maintainers = with maintainers; [ pasqui23 rewine ];
|
maintainers = with lib.maintainers; [ pasqui23 rewine ];
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -64,6 +64,18 @@ in stdenv'.mkDerivation rec {
|
||||||
url = "https://github.com/doronbehar/MuseScore/commit/f48448a3ede46f5a7ef470940072fbfb6742487c.patch";
|
url = "https://github.com/doronbehar/MuseScore/commit/f48448a3ede46f5a7ef470940072fbfb6742487c.patch";
|
||||||
hash = "sha256-UEc7auscnW0KMfWkLKQtm+UstuTNsuFeoNJYIidIlwM=";
|
hash = "sha256-UEc7auscnW0KMfWkLKQtm+UstuTNsuFeoNJYIidIlwM=";
|
||||||
})
|
})
|
||||||
|
# Upstream removed the option to use system freetype library in v4.1.0,
|
||||||
|
# causing the app to crash on systems when the outdated bundled freetype
|
||||||
|
# tries to load the Noto Sans font. For more info on the crash itself,
|
||||||
|
# see #244409 and https://github.com/musescore/MuseScore/issues/18795.
|
||||||
|
# For now, re-add the option ourselves. The fix has been merged upstream,
|
||||||
|
# so we can remove this patch with the next version. In the future, we
|
||||||
|
# may replace the other bundled thirdparty libs with system libs, see
|
||||||
|
# https://github.com/musescore/MuseScore/issues/11572.
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/musescore/MuseScore/commit/9ab6b32b1c3b990cfa7bb172ee8112521dc2269c.patch";
|
||||||
|
hash = "sha256-5GA29Z+o3I/uDTTDbkauZ8/xSdCE6yY93phMSY0ea7s=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
@ -73,7 +85,7 @@ in stdenv'.mkDerivation rec {
|
||||||
# https://github.com/musescore/MuseScore/issues/15571
|
# https://github.com/musescore/MuseScore/issues/15571
|
||||||
"-DMUE_BUILD_CRASHPAD_CLIENT=OFF"
|
"-DMUE_BUILD_CRASHPAD_CLIENT=OFF"
|
||||||
# Use our freetype
|
# Use our freetype
|
||||||
"-DUSE_SYSTEM_FREETYPE=ON"
|
"-DMUE_COMPILE_USE_SYSTEM_FREETYPE=ON"
|
||||||
# From some reason, in $src/build/cmake/SetupBuildEnvironment.cmake,
|
# From some reason, in $src/build/cmake/SetupBuildEnvironment.cmake,
|
||||||
# upstream defaults to compiling to x86_64 only, unless this cmake flag is
|
# upstream defaults to compiling to x86_64 only, unless this cmake flag is
|
||||||
# set
|
# set
|
||||||
|
@ -141,6 +153,9 @@ in stdenv'.mkDerivation rec {
|
||||||
ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore.
|
ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Don't run bundled upstreams tests, as they require a running X window system.
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
passthru.tests = nixosTests.musescore;
|
passthru.tests = nixosTests.musescore;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qpwgraph";
|
pname = "qpwgraph";
|
||||||
version = "0.5.1";
|
version = "0.5.2";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "gitlab.freedesktop.org";
|
domain = "gitlab.freedesktop.org";
|
||||||
owner = "rncbc";
|
owner = "rncbc";
|
||||||
repo = "qpwgraph";
|
repo = "qpwgraph";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-HVeuqgqYf/gO1KdteXV4dWd13Q58GqHUz8CAYpruc18=";
|
sha256 = "sha256-qcd19YI2RDoh+vjeelxNajWsUwVokLu0kh35a4oezKA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildDotnetModule rec {
|
buildDotnetModule rec {
|
||||||
pname = "btcpayserver";
|
pname = "btcpayserver";
|
||||||
version = "1.11.1";
|
version = "1.11.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-fKw1RKylpbejzSTO3Ti2toJiSwqtmNC1e2XDAYa9L/0=";
|
sha256 = "sha256-22JQ8GqMRNfBT2ynyGhJBeGgnyAVYVBa5tUGZsleDP0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
||||||
|
|
|
@ -38,13 +38,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cudatext";
|
pname = "cudatext";
|
||||||
version = "1.196.0";
|
version = "1.197.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexey-T";
|
owner = "Alexey-T";
|
||||||
repo = "CudaText";
|
repo = "CudaText";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-O037+Pm/aq/9ZPMYpWlNPa9tEilatN8OJ3oBAuk4UTs=";
|
hash = "sha256-960Ucp2iNDqK2n/sJSIyMWxgCCs0LVyafn8SRRhli4c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
24
pkgs/applications/editors/cudatext/deps.json
generated
24
pkgs/applications/editors/cudatext/deps.json
generated
|
@ -6,18 +6,18 @@
|
||||||
},
|
},
|
||||||
"ATBinHex-Lazarus": {
|
"ATBinHex-Lazarus": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2022.06.14",
|
"rev": "2023.08.12",
|
||||||
"hash": "sha256-3QhARraYURW5uCf2f4MZfUbxdbsg9h7BlXUxKcz4jwA="
|
"hash": "sha256-dEwz052aYcJtKpRcP8t7gE2RHuHPQ4T0zHFMv6zVZ6g="
|
||||||
},
|
},
|
||||||
"ATFlatControls": {
|
"ATFlatControls": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2023.05.31",
|
"rev": "2023.08.12",
|
||||||
"hash": "sha256-/CN6wa5XN5ERdFnqOXxxtT08ObtlToqe3YsLpiog40w="
|
"hash": "sha256-YBIuwiHE83mxxtl9PNrQN3LrEBFHvYY74zhV+UtAbZ4="
|
||||||
},
|
},
|
||||||
"ATSynEdit": {
|
"ATSynEdit": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2023.07.05",
|
"rev": "2023.08.12",
|
||||||
"hash": "sha256-+FZjmrB8t7WM3XALqT+jvTSbBYIVLav4zSSCvMr5r+U="
|
"hash": "sha256-hFDWb7gMQiTkItFC5KfSrpAW3FSkmAhxcc5GOdov3EE="
|
||||||
},
|
},
|
||||||
"ATSynEdit_Cmp": {
|
"ATSynEdit_Cmp": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
|
@ -31,8 +31,8 @@
|
||||||
},
|
},
|
||||||
"ATSynEdit_Ex": {
|
"ATSynEdit_Ex": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2023.07.05",
|
"rev": "2023.08.12",
|
||||||
"hash": "sha256-dvo4lariMl/FMSp6VJEAk/Zhaz2fdBxe7aKw229DxKw="
|
"hash": "sha256-cEu8qkmcsNwrLR5t3bfMHI9fd3wmAq/dI/iRM4I4wmQ="
|
||||||
},
|
},
|
||||||
"Python-for-Lazarus": {
|
"Python-for-Lazarus": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
|
@ -41,8 +41,8 @@
|
||||||
},
|
},
|
||||||
"Emmet-Pascal": {
|
"Emmet-Pascal": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
"rev": "2022.09.18",
|
"rev": "2023.08.12",
|
||||||
"hash": "sha256-Kutl4Jh/+KptGbqakzPJnIYlFtytXVlzKWulKt4Z+/g="
|
"hash": "sha256-s9ZKrL+XIWIwejnLz+uuyDbbDuOZLJhiuiMChKB4Reg="
|
||||||
},
|
},
|
||||||
"CudaText-lexers": {
|
"CudaText-lexers": {
|
||||||
"owner": "Alexey-T",
|
"owner": "Alexey-T",
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
},
|
},
|
||||||
"bgrabitmap": {
|
"bgrabitmap": {
|
||||||
"owner": "bgrabitmap",
|
"owner": "bgrabitmap",
|
||||||
"rev": "v11.5.4",
|
"rev": "v11.5.5",
|
||||||
"hash": "sha256-Js7MQ1JYAl2cpnjgDOXeLcWBCrjjCnDORayRpSFoFhM="
|
"hash": "sha256-M4ql+9zk5AJfmmHb9EG0PsJZGWcMm9/Y0lrPQqnKqcU="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ in
|
||||||
|
|
||||||
cask = callPackage ./manual-packages/cask { };
|
cask = callPackage ./manual-packages/cask { };
|
||||||
|
|
||||||
|
consult-gh = callPackage ./manual-packages/consult-gh { };
|
||||||
|
|
||||||
control-lock = callPackage ./manual-packages/control-lock { };
|
control-lock = callPackage ./manual-packages/control-lock { };
|
||||||
|
|
||||||
ebuild-mode = callPackage ./manual-packages/ebuild-mode { };
|
ebuild-mode = callPackage ./manual-packages/ebuild-mode { };
|
||||||
|
@ -65,8 +67,6 @@ in
|
||||||
|
|
||||||
pod-mode = callPackage ./manual-packages/pod-mode { };
|
pod-mode = callPackage ./manual-packages/pod-mode { };
|
||||||
|
|
||||||
power-mode = callPackage ./manual-packages/power-mode { };
|
|
||||||
|
|
||||||
prisma-mode = callPackage ./manual-packages/prisma-mode { };
|
prisma-mode = callPackage ./manual-packages/prisma-mode { };
|
||||||
|
|
||||||
structured-haskell-mode = self.shm;
|
structured-haskell-mode = self.shm;
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
{ lib
|
||||||
|
, melpaBuild
|
||||||
|
, fetchFromGitHub
|
||||||
|
, consult
|
||||||
|
, embark
|
||||||
|
, forge
|
||||||
|
, gh
|
||||||
|
, markdown-mode
|
||||||
|
, writeText
|
||||||
|
, unstableGitUpdater
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
commit = "1fe876d9552b6ec6af257a4299a34eca99b40539";
|
||||||
|
in
|
||||||
|
melpaBuild {
|
||||||
|
pname = "consult-gh";
|
||||||
|
version = "20230706.438";
|
||||||
|
|
||||||
|
inherit commit;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "armindarvish";
|
||||||
|
repo = "consult-gh";
|
||||||
|
rev = commit;
|
||||||
|
hash = "sha256-bi+qlNvNMXbS4cXbXt01txwD2NAyAqJGNKeOtdtj7tg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
packageRequires = [
|
||||||
|
consult
|
||||||
|
embark
|
||||||
|
forge
|
||||||
|
gh
|
||||||
|
markdown-mode
|
||||||
|
];
|
||||||
|
|
||||||
|
recipe = writeText "recipe" ''
|
||||||
|
(consult-gh
|
||||||
|
:repo "armindarvish/consult-gh"
|
||||||
|
:fetcher github
|
||||||
|
:files ("consult-gh-embark.el" "consult-gh-forge.el" "consult-gh.el"))
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = unstableGitUpdater { };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/armindarvish/consult-gh";
|
||||||
|
description = "A GitHub CLI client inside GNU Emacs using Consult";
|
||||||
|
license = lib.licenses.gpl3Only;
|
||||||
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,22 +0,0 @@
|
||||||
{ trivialBuild
|
|
||||||
, fetchFromGitHub
|
|
||||||
, emacs
|
|
||||||
}:
|
|
||||||
|
|
||||||
trivialBuild rec {
|
|
||||||
pname = "power-mode";
|
|
||||||
version = "0.pre+unstable=2021-06-06";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "elizagamedev";
|
|
||||||
repo = "power-mode.el";
|
|
||||||
rev = "940e0aa36220f863e8f43840b4ed634b464fbdbb";
|
|
||||||
hash = "sha256-Wy8o9QTWqvH9cP7xsTpF5QSd4mWNIPXJTadoADKeHWY=";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/elizagamedev/power-mode.el";
|
|
||||||
description = "Imbue Emacs with power!";
|
|
||||||
inherit (emacs.meta) platforms;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ fetchzip, lib, rustPlatform, git, installShellFiles, makeWrapper }:
|
{ fetchpatch, fetchzip, lib, rustPlatform, git, installShellFiles, makeWrapper }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "helix";
|
pname = "helix";
|
||||||
|
@ -14,6 +14,13 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
cargoHash = "sha256-/LCtfyDAA2JuioBD/CDMv6OOxM0B9A3PpuVP/YY5oF0=";
|
cargoHash = "sha256-/LCtfyDAA2JuioBD/CDMv6OOxM0B9A3PpuVP/YY5oF0=";
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://patch-diff.githubusercontent.com/raw/helix-editor/helix/pull/7227.patch";
|
||||||
|
hash = "sha256-dObMKHNJfc5TODUjZ28TVxuTen02rl8HzcXpFWnhB1k=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ git installShellFiles makeWrapper ];
|
nativeBuildInputs = [ git installShellFiles makeWrapper ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "texstudio";
|
pname = "texstudio";
|
||||||
version = "4.6.2";
|
version = "4.6.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "texstudio-org";
|
owner = "texstudio-org";
|
||||||
repo = "texstudio";
|
repo = "texstudio";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-2bvKB/8HcZoTk2J6FQXXJREqGp6EZ95C2Aqcx9o/eho=";
|
hash = "sha256-L8N7T7FFfjT801HxbQiiC0ewW7vde4S0RVmNT2CWiWY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -3,24 +3,24 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.1.1";
|
version = "unstable-2023-07-08";
|
||||||
rev = "af12e2e4da586275ba931eae8f40a2201251bf59";
|
rev = "989cfe52a0458b991e0a7d87edec81d3fef472ac";
|
||||||
|
|
||||||
baseUrl = "https://emux.cc/versions/${lib.substring 0 8 rev}/CCEmuX";
|
baseUrl = "https://emux.cc/versions/${lib.substring 0 8 rev}/CCEmuX";
|
||||||
jar =
|
jar =
|
||||||
if useCCTweaked
|
if useCCTweaked
|
||||||
then fetchurl {
|
then fetchurl {
|
||||||
url = "${baseUrl}-cct.jar";
|
url = "${baseUrl}-cct.jar";
|
||||||
sha256 = "0d9gzi1h5vz32fp4lfn7dam189jcm7bwbqwmlpj0c47p8l0d4lsv";
|
hash = "sha256-B9Zan6wpYnUtaNbUIrXvkchPiEquMs9R2Kiqg85/VdY=";
|
||||||
}
|
}
|
||||||
else fetchurl {
|
else fetchurl {
|
||||||
url = "${baseUrl}-cc.jar";
|
url = "${baseUrl}-cc.jar";
|
||||||
sha256 = "0ky5vxh8m1v98zllifxif8xxd25j2xdp19hjnj4xlkck71lbnb34";
|
hash = "sha256-2Z38O6z7OrHKe8GdLnexin749uJzQaCZglS+SwVD5YE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopIcon = fetchurl {
|
desktopIcon = fetchurl {
|
||||||
url = "https://github.com/CCEmuX/CCEmuX/raw/${rev}/src/main/resources/img/icon.png";
|
url = "https://github.com/CCEmuX/CCEmuX/raw/${rev}/src/main/resources/img/icon.png";
|
||||||
sha256 = "1vmb6rg9k2y99j8xqfgbsvfgfi3g985rmqwrd7w3y54ffr2r99c2";
|
hash = "sha256-gqWURXaOFD/4aZnjmgtKb0T33NbrOdyRTMmLmV42q+4=";
|
||||||
};
|
};
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "CCEmuX";
|
name = "CCEmuX";
|
||||||
|
@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://github.com/CCEmuX/CCEmuX";
|
homepage = "https://github.com/CCEmuX/CCEmuX";
|
||||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ CrazedProgrammer ];
|
maintainers = with maintainers; [ CrazedProgrammer viluon ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,13 +28,13 @@
|
||||||
|
|
||||||
buildDotnetModule rec {
|
buildDotnetModule rec {
|
||||||
pname = "ryujinx";
|
pname = "ryujinx";
|
||||||
version = "1.1.974"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
version = "1.1.986"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Ryujinx";
|
owner = "Ryujinx";
|
||||||
repo = "Ryujinx";
|
repo = "Ryujinx";
|
||||||
rev = "5a0aa074b661753d8f0202a73d9f6f3ac6e2ab11";
|
rev = "33f544fd9248361440afd6013e0ef9d69971d6da";
|
||||||
sha256 = "0f1wivwf7hnsqi7sgqjrikxvakrk8dmywpmyd36a3s5lbk878wp3";
|
sha256 = "1cnz3j8qndfrm1iifbzswyf4vcii939naj29bvr2mp6bdwrbqi49";
|
||||||
};
|
};
|
||||||
|
|
||||||
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
||||||
|
|
102
pkgs/applications/emulators/ryujinx/deps.nix
generated
102
pkgs/applications/emulators/ryujinx/deps.nix
generated
|
@ -2,49 +2,54 @@
|
||||||
# Please dont edit it manually, your changes might get overwritten!
|
# Please dont edit it manually, your changes might get overwritten!
|
||||||
|
|
||||||
{ fetchNuGet }: [
|
{ fetchNuGet }: [
|
||||||
(fetchNuGet { pname = "Avalonia"; version = "0.10.21"; sha256 = "1x6z0wvlg5ww6n7idj2pwc6mxd7k9xsb7vh3v0z4in3rck0vwz95"; })
|
(fetchNuGet { pname = "Avalonia"; version = "11.0.3"; sha256 = "1ig635386glxgfv9l894dqp98l93ymsylml649xm42lc9a9f1khc"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; })
|
(fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; })
|
||||||
(fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.16"; sha256 = "11v3a4kda04jacznl7j8fc9zw16ysajwc3ljmdribbqz1rrr823v"; })
|
(fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.21"; sha256 = "0rx9qni3m1zhv6n73kskgj7vd6fxsalg84i2202gz53m11li7yvj"; })
|
(fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.0"; sha256 = "06wgzhxkivlaxkn8p61wainsprml2g1q4jmvy9fpn64qnfywjdn7"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.21"; sha256 = "0jjx8lfbzqznqv7xpkfi8xvygqcqfk8wzkj9ambq30cn4h1ids05"; })
|
(fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.3"; sha256 = "0xcxwc588lc2ify2d3m53pmwjgf7p9lwz5q11hn8p5c9zh01iai9"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.21"; sha256 = "10fl0nb8lhpvms1apb3mmswrpirc2j8vr78jvb63cni0885vxhab"; })
|
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.3"; sha256 = "1kls0v2rjimcv7k0dvqd3l694xdg9nf8wdzcz1cadi4qvj0bx7l4"; })
|
||||||
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.21"; sha256 = "038i1vim97niyh9qf5b1lbrakc8r7m03nk1yqn3iv563q8zbwfq7"; })
|
(fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.0"; sha256 = "1qxw096av0n4ks0jixh7xxrzgsn9fshp1ypy3vvij7r0a1sk7y1q"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.21"; sha256 = "0p0jz3za6y708fp0wpbjyqivfp6979ldwx8r95nmdmh10fm9q4yi"; })
|
(fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.0-rc2.1"; sha256 = "0pmc0fi2abn9qaqwx9lvqnd1a5a8lzp8zin72d3k3xjsh1w1g0n8"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Native"; version = "0.10.21"; sha256 = "08f17zb0dq7p7naz96il15lhbrzan4897wghkl8rrd80dw0bhbb2"; })
|
(fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.3"; sha256 = "0g8hzvkf2rrfnpmm56m2miwpdw14l04rr0q8xz03j220fy9xk5fm"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.21"; sha256 = "03ca99awvp178jsndy5zlsc17rlx29iz0x2jvj85fh6qdvds2dhj"; })
|
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.3"; sha256 = "1rificg9ikf8m2550ylrqavkkvihf8xb22agmdrbz07v7s93v731"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.18"; sha256 = "1vi83d9q6m2zd7b5snyzjxsj3vdp5bmi5vqhfslzghslpbhj2zwv"; })
|
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.3"; sha256 = "0w8qc45phfz4mnnx1mfxi042qmq31shmjmz5inb4maw9xha0yr3c"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.21"; sha256 = "0fja6rv0gw5kjiz0vpnyv5lv8xz5gzd71wz0052x9mrgq3jz00p8"; })
|
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.3"; sha256 = "09g4flx6sg2b2mkwbqrwl51q87xzy0d43j2xjxvnwc8vwhr1h8gs"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Svg"; version = "0.10.18"; sha256 = "06h7yh2lkm4rqfchn7nxqjbqx4afh42w61z9sby7b5gj56h5a84q"; })
|
(fetchNuGet { pname = "Avalonia.Native"; version = "11.0.3"; sha256 = "1gi3y2cdfcjkwjldavahyx09a1n91jpvx8szwrfgr3kk4ycc5lyn"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "0.10.18"; sha256 = "0s25aq3xz0km55jwdxp59z8cc0d1zqaag1hiwnxdzd30id2ahn66"; })
|
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0"; sha256 = "1b5031k8slwiz7bncih67fjl6ny234yd4skqxk611l9zp5snjic2"; })
|
||||||
(fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.21"; sha256 = "0ichldyigbsd82jrryq340bqlh7jw9zr850fyni2g3h0bbcx5327"; })
|
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.3"; sha256 = "0syh20a6892pip4qz32kgc5w77ig40yjgwbcknivhjr8arc3126r"; })
|
||||||
(fetchNuGet { pname = "Avalonia.X11"; version = "0.10.21"; sha256 = "08vbdiv2k9vp8gp59rk0z63jyn8hlv8a4956jczy05ail5qfl94v"; })
|
(fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0"; sha256 = "1ra1kd0kkblppr5zy7rzdbwllggrzvp9lkxblf9mg3y8rnp6fk83"; })
|
||||||
|
(fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.3"; sha256 = "0089z8ml8pblq6hispj1nf7lvf6zplrrlix22jcd87pm13232pg2"; })
|
||||||
|
(fetchNuGet { pname = "Avalonia.Svg"; version = "11.0.0"; sha256 = "1xmgaj2wnjdl16x4y6rmfp3q9faca5na90zlb8j62rxcwf1v3lkr"; })
|
||||||
|
(fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "11.0.0"; sha256 = "0cd8w9pm7lpifdzjmsnmjlzdqgq3qw653mcj3adczb5ycqqbd8p3"; })
|
||||||
|
(fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.3"; sha256 = "0zkm0asxcbsybswxs0p6ybsiq6j1l1j02h0xfxzsmhcimm3y92kk"; })
|
||||||
|
(fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.3"; sha256 = "14pj98057fmfgafq0pni7pw79ls0lsf3jaydfjmdjyw5x2b2x51q"; })
|
||||||
|
(fetchNuGet { pname = "Avalonia.X11"; version = "11.0.3"; sha256 = "0pb41fpiwndcf34r53apxf92qgqxavc4zfl1xy847pz3kj1vsclp"; })
|
||||||
(fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; })
|
(fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; })
|
||||||
(fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
|
(fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
|
||||||
(fetchNuGet { pname = "DiscordRichPresence"; version = "1.2.1.24"; sha256 = "0maw0yd6xgwy0cgk593z3zva0r5j267zpdmmpq8avj3zbna6n4x1"; })
|
(fetchNuGet { pname = "DiscordRichPresence"; version = "1.2.1.24"; sha256 = "0maw0yd6xgwy0cgk593z3zva0r5j267zpdmmpq8avj3zbna6n4x1"; })
|
||||||
(fetchNuGet { pname = "DynamicData"; version = "7.14.2"; sha256 = "07k79w4702masq71rk865mi3h1kaxamyp7dgl08ny4n22gg8482k"; })
|
(fetchNuGet { pname = "DynamicData"; version = "7.14.2"; sha256 = "07k79w4702masq71rk865mi3h1kaxamyp7dgl08ny4n22gg8482k"; })
|
||||||
(fetchNuGet { pname = "ExCSS"; version = "4.1.4"; sha256 = "1y50xp6rihkydbf5l73mr3qq2rm6rdfjrzdw9h1dw9my230q5lpd"; })
|
(fetchNuGet { pname = "ExCSS"; version = "4.1.4"; sha256 = "1y50xp6rihkydbf5l73mr3qq2rm6rdfjrzdw9h1dw9my230q5lpd"; })
|
||||||
(fetchNuGet { pname = "Fizzler"; version = "1.2.1"; sha256 = "1w5jb1d0figbv68dydbnlcsfmqlc3sv9z1zxp7d79dg2dkarc4qm"; })
|
(fetchNuGet { pname = "Fizzler"; version = "1.2.1"; sha256 = "1w5jb1d0figbv68dydbnlcsfmqlc3sv9z1zxp7d79dg2dkarc4qm"; })
|
||||||
(fetchNuGet { pname = "FluentAvaloniaUI"; version = "1.4.5"; sha256 = "1j5ivy83f13dgn09qrfkq44ijvh0m9rbdx8760g47di70c4lda7j"; })
|
(fetchNuGet { pname = "FluentAvaloniaUI"; version = "2.0.1"; sha256 = "12w6rk3qgn6i2zk06appf98pgdf89pw10865qcwn5xpjwm7487k2"; })
|
||||||
(fetchNuGet { pname = "FSharp.Core"; version = "7.0.200"; sha256 = "1ji816r8idwjmxk8bzyq1z32ybz7xdg3nb0a7pnvqr8vys11bkgb"; })
|
(fetchNuGet { pname = "FSharp.Core"; version = "7.0.200"; sha256 = "1ji816r8idwjmxk8bzyq1z32ybz7xdg3nb0a7pnvqr8vys11bkgb"; })
|
||||||
(fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; sha256 = "0ffywnc3ca1lwhxdnk99l238vsprsrsh678bgm238lb7ja7m52pw"; })
|
(fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; sha256 = "0ffywnc3ca1lwhxdnk99l238vsprsrsh678bgm238lb7ja7m52pw"; })
|
||||||
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.1-preview.108"; sha256 = "0xs4px4fy5b6glc77rqswzpi5ddhxvbar1md6q9wla7hckabnq0z"; })
|
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; })
|
||||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.1-preview.108"; sha256 = "16wvgvyra2g1b38rxxgkk85wbz89hspixs54zfcm4racgmj1mrj4"; })
|
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; })
|
||||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.1-preview.108"; sha256 = "16v7lrwwif2f5zfkx08n6y6w3m56mh4hy757biv0w9yffaf200js"; })
|
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; })
|
||||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.1-preview.108"; sha256 = "15kqb353snwpavz3jja63mq8xjqsrw1f902scm8wxmsqrm5q6x55"; })
|
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; sha256 = "043hv36bg5240znbm8x5la7py17m4jfzy57q3ka32f6zjld83j36"; })
|
||||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.108"; sha256 = "0n6ymn9jqms3mk5hg0ar4y9jmh96myl6q0jimn7ahb1a8viq55k1"; })
|
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; })
|
||||||
(fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; })
|
(fetchNuGet { pname = "jp2masa.Avalonia.Flexbox"; version = "0.3.0-beta.4"; sha256 = "17847ssn15l755zmspvb69wsfbj9ayvy9xl8zgjx6wvvwp6x89cp"; })
|
||||||
(fetchNuGet { pname = "jp2masa.Avalonia.Flexbox"; version = "0.2.0"; sha256 = "1abck2gad29mgf9gwqgc6wr8iwl64v50n0sbxcj1bcxgkgndraiq"; })
|
|
||||||
(fetchNuGet { pname = "LibHac"; version = "0.18.0"; sha256 = "19d5fqdcws0730580jlda6pdddprxcrhw7b3ybiiglabsr7bmgdv"; })
|
(fetchNuGet { pname = "LibHac"; version = "0.18.0"; sha256 = "19d5fqdcws0730580jlda6pdddprxcrhw7b3ybiiglabsr7bmgdv"; })
|
||||||
(fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.10.4"; sha256 = "1bdgy6g15d1mln1xpvs6sy0l2zvfs4hxw6nc3qm16qb8hdgvb73y"; })
|
(fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.11.0"; sha256 = "0ynvaq3faqh4pirl0l8l6xq2ikk3f27xw05i8vm3vwamgy4p7k2f"; })
|
||||||
(fetchNuGet { pname = "MicroCom.Runtime"; version = "0.10.4"; sha256 = "0ccbzp0d01dcahm7ban7xyh1rk7k2pkml3l5i7s85cqk5lnczpw2"; })
|
(fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.6"; sha256 = "18mr1f0wpq0fir8vjnq0a8pz50zpnblr7sabff0yqx37c975934a"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.4"; sha256 = "0wd6v57p53ahz5z9zg4iyzmy3src7rlsncyqpcag02jjj1yx6g58"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.4"; sha256 = "0wd6v57p53ahz5z9zg4iyzmy3src7rlsncyqpcag02jjj1yx6g58"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.4.0"; sha256 = "12rn6gl4viycwk3pz5hp5df63g66zvba4hnkwr3f0876jj5ivmsw"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.6.0"; sha256 = "0qvkwkbqz4dhkxsisanax1lwm3nzyyb4kgb40qczxbl8g251cjp2"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.6.0"; sha256 = "0qvkwkbqz4dhkxsisanax1lwm3nzyyb4kgb40qczxbl8g251cjp2"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.4.0"; sha256 = "0rhylcwa95bxawcgixk64knv7p7xrykdjcabmx3gknk8hvj1ai9y"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.6.0"; sha256 = "1yfvwygx795c9lswpiv8q19zydifarzljdmvv67vjmi559cm8b1q"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.6.0"; sha256 = "1yfvwygx795c9lswpiv8q19zydifarzljdmvv67vjmi559cm8b1q"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.4.0"; sha256 = "1h2f0z9xnw987x8bydka1sd42ijqjx973md6v1gvpy1qc6ad244g"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.4.0"; sha256 = "195gqnpwqkg2wlvk8x6yzm7byrxfq9bki20xmhf6lzfsdw3z4mf2"; })
|
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.6.3"; sha256 = "1xxzd2yxlbq2h4k6flp7lvffmmwrjlyha2z1yvrxxymiyyggk2zg"; })
|
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.6.3"; sha256 = "1xxzd2yxlbq2h4k6flp7lvffmmwrjlyha2z1yvrxxymiyyggk2zg"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
|
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
|
||||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
|
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
|
||||||
|
@ -136,7 +141,7 @@
|
||||||
(fetchNuGet { pname = "Ryujinx.SDL2-CS"; version = "2.28.1-build28"; sha256 = "0kn7f6cgvb2rsybiif6g7xkw1srmfr306zpv029lvi264dv6aj6l"; })
|
(fetchNuGet { pname = "Ryujinx.SDL2-CS"; version = "2.28.1-build28"; sha256 = "0kn7f6cgvb2rsybiif6g7xkw1srmfr306zpv029lvi264dv6aj6l"; })
|
||||||
(fetchNuGet { pname = "shaderc.net"; version = "0.1.0"; sha256 = "0f35s9h0vj9f1rx9bssj66hibc3j9bzrb4wgb5q2jwkf5xncxbpq"; })
|
(fetchNuGet { pname = "shaderc.net"; version = "0.1.0"; sha256 = "0f35s9h0vj9f1rx9bssj66hibc3j9bzrb4wgb5q2jwkf5xncxbpq"; })
|
||||||
(fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; })
|
(fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; })
|
||||||
(fetchNuGet { pname = "ShimSkiaSharp"; version = "0.5.18"; sha256 = "1i97f2zbsm8vhcbcfj6g4ml6g261gijdh7s3rmvwvxgfha6qyvkg"; })
|
(fetchNuGet { pname = "ShimSkiaSharp"; version = "1.0.0"; sha256 = "0gdsrzh8q8mxlm7sxvai7zshaz93a3dm1ha4cgs4845lfhpn8nhc"; })
|
||||||
(fetchNuGet { pname = "Silk.NET.Core"; version = "2.16.0"; sha256 = "1mkqc2aicvknmpyfry2v7jjxh3apaxa6dmk1vfbwxnkysl417x0k"; })
|
(fetchNuGet { pname = "Silk.NET.Core"; version = "2.16.0"; sha256 = "1mkqc2aicvknmpyfry2v7jjxh3apaxa6dmk1vfbwxnkysl417x0k"; })
|
||||||
(fetchNuGet { pname = "Silk.NET.Vulkan"; version = "2.16.0"; sha256 = "0sg5mxv7ga5pq6wc0lz52j07fxrcfmb0an30r4cxsxk66298z2wy"; })
|
(fetchNuGet { pname = "Silk.NET.Vulkan"; version = "2.16.0"; sha256 = "0sg5mxv7ga5pq6wc0lz52j07fxrcfmb0an30r4cxsxk66298z2wy"; })
|
||||||
(fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.EXT"; version = "2.16.0"; sha256 = "05918f6fl8byla2m7qjp7dvxww2rbpj2sqd4xq26rl885fmddfvf"; })
|
(fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.EXT"; version = "2.16.0"; sha256 = "05918f6fl8byla2m7qjp7dvxww2rbpj2sqd4xq26rl885fmddfvf"; })
|
||||||
|
@ -144,16 +149,16 @@
|
||||||
(fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
|
(fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
|
||||||
(fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; })
|
(fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; })
|
||||||
(fetchNuGet { pname = "SixLabors.ImageSharp.Drawing"; version = "1.0.0-beta11"; sha256 = "0hl0rs3kr1zdnx3gdssxgli6fyvmwzcfp99f4db71s0i8j8b2bp5"; })
|
(fetchNuGet { pname = "SixLabors.ImageSharp.Drawing"; version = "1.0.0-beta11"; sha256 = "0hl0rs3kr1zdnx3gdssxgli6fyvmwzcfp99f4db71s0i8j8b2bp5"; })
|
||||||
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.1-preview.108"; sha256 = "01sm36hdgmcgkai9m09xn2qfz8v7xhh803n8fng8rlxwnw60rgg6"; })
|
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; })
|
||||||
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.1-preview.108"; sha256 = "1hjscqn2kfgvn367drxzwssj5f5arn919x6clywbbf2dhggcdnn5"; })
|
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.3"; sha256 = "0axz2zfyg0h3zis7rr86ikrm2jbxxy0gqb3bbawpgynf1k0fsi6a"; })
|
||||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1-preview.108"; sha256 = "19jf2jcq2spwbpx3cfdi2a95jf4y8205rh56lmkh8zsxd2k7fjyp"; })
|
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; sha256 = "0dajvr60nwvnv7s6kcqgw1w97zxdpz1c5lb7kcq7r0hi0l05ck3q"; })
|
||||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1-preview.108"; sha256 = "1vcpqd7slh2b9gsacpd7mk1266r1xfnkm6230k8chl3ng19qlf15"; })
|
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; sha256 = "191ajgi6fnfqcvqvkayjsxasiz6l0bv3pps8vv9abbyc4b12qvph"; })
|
||||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1-preview.108"; sha256 = "0a89gqjw8k97arr0kyd0fm3f46k1qamksbnyns9xdlgydjg557dd"; })
|
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.3"; sha256 = "1w5njksq3amrrp7fqxw89nv6ar2kgc5yx092i4rxv7hrjbd1aagx"; })
|
||||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1-preview.108"; sha256 = "05g9blprq5msw3wshrgsk19y0fvhjlqiybs1vdyhfmww330jlypn"; })
|
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; sha256 = "03wwfbarsxjnk70qhqyd1dw65098dncqk2m0vksx92j70i7lry6q"; })
|
||||||
(fetchNuGet { pname = "SPB"; version = "0.0.4-build28"; sha256 = "1ran6qwzlkv6xpvnp7n0nkva0zfrzwlcxj7zfzz9v8mpicqs297x"; })
|
(fetchNuGet { pname = "SPB"; version = "0.0.4-build28"; sha256 = "1ran6qwzlkv6xpvnp7n0nkva0zfrzwlcxj7zfzz9v8mpicqs297x"; })
|
||||||
(fetchNuGet { pname = "Svg.Custom"; version = "0.5.18"; sha256 = "0x68cs525k7c2dvj3vhjhx7bcls600xlsjkhfi7xvj0621masxa4"; })
|
(fetchNuGet { pname = "Svg.Custom"; version = "1.0.0"; sha256 = "0bmvgaqy4iaxw9x88ifx3a2zz0vw3p9w6pj4bk3xfnf5p9vjx1mr"; })
|
||||||
(fetchNuGet { pname = "Svg.Model"; version = "0.5.18"; sha256 = "1pqqaphdsjv4w9qlzb2i0kf0aas8778nlb4nysyiy5rdvpp7zzng"; })
|
(fetchNuGet { pname = "Svg.Model"; version = "1.0.0"; sha256 = "0yrjcqcrlgqpdm3bi59nc3fppcqgrfc7jddjwxjj2q423gimip97"; })
|
||||||
(fetchNuGet { pname = "Svg.Skia"; version = "0.5.18"; sha256 = "0j1n096d49gd53j6zzngf5v81dnrdzaa4rx7fpmk8zp1xz2wjb2j"; })
|
(fetchNuGet { pname = "Svg.Skia"; version = "1.0.0"; sha256 = "1bs2l9fjiqpip4qh0aw7x8f8m0ja0xlcj5vwd329knkww2jx1d3c"; })
|
||||||
(fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
|
(fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
|
||||||
(fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
|
(fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
|
||||||
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
|
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
|
||||||
|
@ -163,7 +168,7 @@
|
||||||
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
|
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
|
||||||
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
|
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
|
||||||
(fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
|
(fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
|
||||||
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
|
(fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
|
||||||
(fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; })
|
(fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; })
|
||||||
(fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
|
(fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
|
||||||
(fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
|
(fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; })
|
||||||
|
@ -186,12 +191,12 @@
|
||||||
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
|
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
|
||||||
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
|
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
|
||||||
(fetchNuGet { pname = "System.IO.Hashing"; version = "7.0.0"; sha256 = "0vilmb817wnw8w13kkps831p05zzc41dldigpbr3wqi0hsrf8ad9"; })
|
(fetchNuGet { pname = "System.IO.Hashing"; version = "7.0.0"; sha256 = "0vilmb817wnw8w13kkps831p05zzc41dldigpbr3wqi0hsrf8ad9"; })
|
||||||
|
(fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; sha256 = "08211lvckdsdbd67xz4f6cyk76cli565j0dby1grlc4k9bhwby65"; })
|
||||||
(fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
|
(fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
|
||||||
(fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
|
(fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
|
||||||
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
|
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
|
||||||
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
|
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
|
||||||
(fetchNuGet { pname = "System.Management"; version = "7.0.2"; sha256 = "0mjdkzl459hnz0qg4m0xp2kwizsqgdc9vc3xk7y7cv0znhhbb7bc"; })
|
(fetchNuGet { pname = "System.Management"; version = "7.0.2"; sha256 = "0mjdkzl459hnz0qg4m0xp2kwizsqgdc9vc3xk7y7cv0znhhbb7bc"; })
|
||||||
(fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
|
|
||||||
(fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
|
(fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
|
||||||
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
|
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
|
||||||
(fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
|
(fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
|
||||||
|
@ -204,13 +209,11 @@
|
||||||
(fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
|
(fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
|
||||||
(fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
|
(fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
|
||||||
(fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
|
(fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
|
||||||
(fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; })
|
|
||||||
(fetchNuGet { pname = "System.Reactive"; version = "6.0.0"; sha256 = "1mkvx1fwychpczksy6svfmniqhbm3xqblxqik6178l12xgq7aw45"; })
|
(fetchNuGet { pname = "System.Reactive"; version = "6.0.0"; sha256 = "1mkvx1fwychpczksy6svfmniqhbm3xqblxqik6178l12xgq7aw45"; })
|
||||||
(fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
|
(fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
|
||||||
(fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
|
(fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
|
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
|
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
|
|
||||||
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
|
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
|
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
|
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
|
||||||
|
@ -218,6 +221,7 @@
|
||||||
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
|
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
|
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
|
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
|
||||||
|
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "7.0.0"; sha256 = "1wilasn2qmj870h2bhw348lspamm7pbinpb4m89icg113510l00v"; })
|
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "7.0.0"; sha256 = "1wilasn2qmj870h2bhw348lspamm7pbinpb4m89icg113510l00v"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
|
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
|
||||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
|
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
|
||||||
|
@ -227,9 +231,8 @@
|
||||||
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
|
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
|
||||||
(fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
|
(fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
|
||||||
(fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
|
(fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
|
||||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
|
|
||||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; })
|
|
||||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
|
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
|
||||||
|
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
|
||||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
|
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
|
||||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
|
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
|
||||||
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
|
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
|
||||||
|
@ -253,7 +256,6 @@
|
||||||
(fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
|
(fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
|
||||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
|
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
|
||||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
|
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
|
||||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
|
|
||||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
|
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
|
||||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
|
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
|
||||||
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
|
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
|
||||||
|
@ -269,14 +271,12 @@
|
||||||
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
|
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
|
||||||
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
||||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
|
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
|
||||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
|
|
||||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
|
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
|
||||||
(fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
|
(fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
|
||||||
(fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
|
(fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
|
||||||
(fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
|
(fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
|
||||||
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
|
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
|
||||||
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
|
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
|
||||||
(fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; })
|
(fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; sha256 = "0d99kcs7r9cp6gpyc7z230czkkyx4164x86dhy0mca73f2ykc2g2"; })
|
||||||
(fetchNuGet { pname = "UnicornEngine.Unicorn"; version = "2.0.2-rc1-fb78016"; sha256 = "1r43b5fd5q8xq8b5nk11jsz2gnm96dh7sxc0rrv2p605ivz7icin"; })
|
(fetchNuGet { pname = "UnicornEngine.Unicorn"; version = "2.0.2-rc1-fb78016"; sha256 = "1r43b5fd5q8xq8b5nk11jsz2gnm96dh7sxc0rrv2p605ivz7icin"; })
|
||||||
(fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.6.1"; sha256 = "0348gj9g5rl0pj2frx4vscj6602gfyn9ba3i1rmfcrxh9jwwa09m"; })
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -31,11 +31,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "saga";
|
pname = "saga";
|
||||||
version = "9.0.2";
|
version = "9.1.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/saga-gis/saga-${version}.tar.gz";
|
url = "mirror://sourceforge/saga-gis/saga-${version}.tar.gz";
|
||||||
sha256 = "sha256-dyqunuROQlF1Lo/XsNj9QlN7WbimksfT1s8TrqB9PXE=";
|
sha256 = "sha256-VXupgjoiexZZ1kLXAbbQMW7XQ7FWjd1ejZPeeTffUhM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "saga-${version}/saga-gis";
|
sourceRoot = "saga-${version}/saga-gis";
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gpsprune";
|
pname = "gpsprune";
|
||||||
version = "22.2";
|
version = "23.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
|
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
|
||||||
sha256 = "sha256-7T7UmS650VvYN29vQxemzsaxF5wPFF+yCNCTyXY7nmY=";
|
sha256 = "sha256-0Lf/GuqlovVbnk3jSJHFGF688GXABcSVLr1hATaIomk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
|
|
@ -30,14 +30,14 @@ https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 */
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
version = "1.4.4";
|
version = "1.4.5";
|
||||||
pname = "syncthingtray";
|
pname = "syncthingtray";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Martchus";
|
owner = "Martchus";
|
||||||
repo = "syncthingtray";
|
repo = "syncthingtray";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-i13Mt4xASneE4sBIt9fbdoFV1KnoVfaGRwQXX+1NgI4=";
|
sha256 = "sha256-EizKDw5Fv2qXxmiCx4NAvwxBZ+qhTIx4NMZedZ9OuyA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -38,30 +38,30 @@
|
||||||
let
|
let
|
||||||
# Derived from subprojects/cava.wrap
|
# Derived from subprojects/cava.wrap
|
||||||
libcava = rec {
|
libcava = rec {
|
||||||
version = "0.8.4";
|
version = "0.8.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "LukashonakV";
|
owner = "LukashonakV";
|
||||||
repo = "cava";
|
repo = "cava";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-66uc0CEriV9XOjSjFTt+bxghEXY1OGrpjd+7d6piJUI=";
|
hash = "sha256-b/XfqLh8PnW018sGVKRRlFvBpo2Ru1R2lUeTR7pugBo=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "waybar";
|
pname = "waybar";
|
||||||
version = "0.9.20";
|
version = "0.9.21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexays";
|
owner = "Alexays";
|
||||||
repo = "Waybar";
|
repo = "Waybar";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-xLcoysnCPB9+jI5cZokWWIvXM5wo3eXOe/hXfuChBR4=";
|
hash = "sha256-VvQTRo2MuJ475lKrExVhzi74fb1wAw0gHD1v4rcWIDk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postUnpack = lib.optional cavaSupport ''
|
postUnpack = lib.optional cavaSupport ''
|
||||||
(
|
(
|
||||||
cd "$sourceRoot"
|
cd "$sourceRoot"
|
||||||
cp -R --no-preserve=mode,ownership ${libcava.src} subprojects/cava-0.8.4
|
cp -R --no-preserve=mode,ownership ${libcava.src} subprojects/cava-0.8.5
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wmenu";
|
pname = "wmenu";
|
||||||
version = "0.1.2";
|
version = "0.1.4";
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
|
@ -23,17 +23,9 @@ stdenv.mkDerivation rec {
|
||||||
owner = "~adnano";
|
owner = "~adnano";
|
||||||
repo = "wmenu";
|
repo = "wmenu";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-mS4qgf2sjgswasZXsmnbIWlqVv+Murvx1/ob0G3xsws=";
|
hash = "sha256-aB23wi8kLBKAvQv2UPsfqVMCjakdsM6AzH8LgGv3HPs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Patch needed to remove build warning, gets merged in next release
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://git.sr.ht/~adnano/wmenu/commit/ba10072cdec9b0d4b51bcf305ff27dcf3003ae42.patch";
|
|
||||||
hash = "sha256-XF7xmEnsKlExMJQ5iS7wQG9Ja6ocrR0YvQuWFfByKVA=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config meson ninja ];
|
nativeBuildInputs = [ pkg-config meson ninja ];
|
||||||
buildInputs = [ cairo pango wayland libxkbcommon wayland-protocols scdoc ];
|
buildInputs = [ cairo pango wayland libxkbcommon wayland-protocols scdoc ];
|
||||||
|
|
||||||
|
|
|
@ -86,11 +86,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "appgate-sdp";
|
pname = "appgate-sdp";
|
||||||
version = "6.2.0";
|
version = "6.2.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
|
url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
|
||||||
sha256 = "sha256-qs4hrhQGPMYfhz95y8lNECcDGbsvypVN5DPSKsHhiFs=";
|
sha256 = "sha256-TjwVUBSBYo67lJyTXeee1bSaCnYLGE/MKSt+YEV+/Hw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# just patch interpreter
|
# just patch interpreter
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -3,10 +3,10 @@
|
||||||
{
|
{
|
||||||
firefox = buildMozillaMach rec {
|
firefox = buildMozillaMach rec {
|
||||||
pname = "firefox";
|
pname = "firefox";
|
||||||
version = "116.0.1";
|
version = "116.0.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||||
sha512 = "2f67a129ec3bcb47d66cbf29ab23c1c29bfbe752a4703cb0d95f4f3e5a48044901bb79fea94e35f8a9d4dfbfa71aa6721b2988770c1dc33b4412b993bb88da09";
|
sha512 = "2c0ae18672fe22c75002744831130e13da764f83726951e5b58cfe74f7f473e22634ce08ebc11a98bac5baec0a4ac099a3a350a8b756af9c5bea6d5f4432da6d";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{
|
{
|
||||||
stable = import ./browser.nix {
|
stable = import ./browser.nix {
|
||||||
channel = "stable";
|
channel = "stable";
|
||||||
version = "114.0.1823.79";
|
version = "115.0.1901.188";
|
||||||
revision = "1";
|
revision = "1";
|
||||||
sha256 = "sha256-FyEsIGwGDzX22scKd8L67uw5ipqN1e9CrC+qACRBZRg=";
|
sha256 = "sha256-mRM3zakYwCptfKWYbiaDnPqv9Vt5WnDA7xIK1rlownU=";
|
||||||
};
|
};
|
||||||
beta = import ./browser.nix {
|
beta = import ./browser.nix {
|
||||||
channel = "beta";
|
channel = "beta";
|
||||||
|
|
|
@ -1,19 +1,22 @@
|
||||||
{ darwin, fetchFromGitHub, rustPlatform, lib, stdenv }:
|
{ darwin, fetchFromGitHub, rustPlatform, lib, stdenv, pkg-config, openssl }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "click";
|
pname = "click";
|
||||||
version = "0.4.2";
|
version = "0.6.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
rev = "v${version}";
|
|
||||||
owner = "databricks";
|
owner = "databricks";
|
||||||
repo = "click";
|
repo = "click";
|
||||||
sha256 = "18mpzvvww2g6y2d3m8wcfajzdshagihn59k03xvcknd5d8zxagl3";
|
rev = "v${version}";
|
||||||
|
hash = "sha256-rwS08miRpc+Q9DRuspr21NMYpEYmmscvzarDnjyVe5c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "16r5rwdbqyb5xrjc55i30xb20crpyjc75zn10xxjkicmvrpwydp6";
|
cargoHash = "sha256-WNITVYTS7JWrBBwxlQuVTmLddWLbDJACizEsRiustGg=";
|
||||||
|
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.isLinux [ openssl ]
|
||||||
|
++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = ''The "Command Line Interactive Controller for Kubernetes"'';
|
description = ''The "Command Line Interactive Controller for Kubernetes"'';
|
||||||
|
@ -21,5 +24,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
license = [ licenses.asl20 ];
|
license = [ licenses.asl20 ];
|
||||||
maintainers = [ maintainers.mbode ];
|
maintainers = [ maintainers.mbode ];
|
||||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||||
|
mainProgram = "click";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "kubectl-klock";
|
||||||
|
version = "0.3.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jillejr";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-zOdi2QUVvRPPiI22bm7Z5OeShslysjcnvkhroOjbZrU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-r4oAmD/7CXYiWEWR/FC/Ab0LNxehWv6oCWjQ/fGU2rU=";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A kubectl plugin to render watch output in a more readable fashion";
|
||||||
|
homepage = "https://github.com/jillejr/kubectl-klock";
|
||||||
|
changelog = "https://github.com/jillejr/kubectl-klock/releases/tag/v${version}";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = [ maintainers.scm2342 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kubergrunt";
|
pname = "kubergrunt";
|
||||||
version = "0.12.0";
|
version = "0.12.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gruntwork-io";
|
owner = "gruntwork-io";
|
||||||
repo = "kubergrunt";
|
repo = "kubergrunt";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-C3anYYyhRT+/0jO01uEBX1LLQadovO+Z9JA6nHTNXOo=";
|
sha256 = "sha256-qd+7tYvRpRMg8Y83L/K8g8fWrfO4rAQj72EpunqfSsc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-AUw1wJNWjpNVsjw/Hr1ZCePYWQkf1SqRVnQgi8tOFG0=";
|
vendorHash = "sha256-AUw1wJNWjpNVsjw/Hr1ZCePYWQkf1SqRVnQgi8tOFG0=";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kyverno";
|
pname = "kyverno";
|
||||||
version = "1.10.2";
|
version = "1.10.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kyverno";
|
owner = "kyverno";
|
||||||
repo = "kyverno";
|
repo = "kyverno";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-kk+NgupFLzbkh/jrbJj9E6H0v3QighKa7DQJoh/fZi8=";
|
sha256 = "sha256-SRDabFN0ITXwHzvE5m3pIAk42kQa2yINpT64x+k3r3g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "pachyderm";
|
pname = "pachyderm";
|
||||||
version = "2.6.8";
|
version = "2.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pachyderm";
|
owner = "pachyderm";
|
||||||
repo = "pachyderm";
|
repo = "pachyderm";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-2AD/JGdcJV8qYH/k3gR9YgLsMcyKtWJmqQN29NUsE4Y=";
|
hash = "sha256-OA6NY8hI/Aw6vdtDfN1cRXdsLLfxW5ECg5tobPZB66Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-3EG9d4ERaWuHaKFt0KFCOKIgTdrL7HZTO+GSi2RROKY=";
|
vendorHash = "sha256-q8Cx+J5BjMvO5wuvH5Tc5Oa9rjW7vXvS4DhSVv/E3E4=";
|
||||||
|
|
||||||
subPackages = [ "src/server/cmd/pachctl" ];
|
subPackages = [ "src/server/cmd/pachctl" ];
|
||||||
|
|
||||||
|
|
|
@ -182,13 +182,13 @@
|
||||||
"vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
|
"vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
|
||||||
},
|
},
|
||||||
"buildkite": {
|
"buildkite": {
|
||||||
"hash": "sha256-GRFthxNKWcdOdFL6gnI7Y3ehSzqt8ijzBe4eyRy0KcM=",
|
"hash": "sha256-rcklWodBh5iJjxIjGhEH0l3S9bXUWfBG52V/23o8JDM=",
|
||||||
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
|
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
|
||||||
"owner": "buildkite",
|
"owner": "buildkite",
|
||||||
"repo": "terraform-provider-buildkite",
|
"repo": "terraform-provider-buildkite",
|
||||||
"rev": "v0.23.0",
|
"rev": "v0.24.0",
|
||||||
"spdx": "MIT",
|
"spdx": "MIT",
|
||||||
"vendorHash": "sha256-oVXrSI+DU6NgmVIPcS4He4mHVrkA2tMxFUpxMnv0bu4="
|
"vendorHash": "sha256-3BtXtXhFyTNQD0J/5hNi0JsPcaIDWUQNEgf6r0VIfMM="
|
||||||
},
|
},
|
||||||
"checkly": {
|
"checkly": {
|
||||||
"hash": "sha256-tOTrAi6hd4HFbHAj0p/LTYdxQl1R1WuQ9L4hzqmDVqI=",
|
"hash": "sha256-tOTrAi6hd4HFbHAj0p/LTYdxQl1R1WuQ9L4hzqmDVqI=",
|
||||||
|
@ -227,13 +227,13 @@
|
||||||
"vendorHash": "sha256-VTSbi2pDllzyKDhWs5EpWSXO5oKl+khVqLg/Ro3x8ys="
|
"vendorHash": "sha256-VTSbi2pDllzyKDhWs5EpWSXO5oKl+khVqLg/Ro3x8ys="
|
||||||
},
|
},
|
||||||
"cloudfoundry": {
|
"cloudfoundry": {
|
||||||
"hash": "sha256-hoX2KNUzC7G+bFxReTN/6IG8/P4rczHAYn2QQ2iOioc=",
|
"hash": "sha256-yEqsdgTSlwppt6ILRZQ6Epyh5WVN6Il3xsBOa/NfIdo=",
|
||||||
"homepage": "https://registry.terraform.io/providers/cloudfoundry-community/cloudfoundry",
|
"homepage": "https://registry.terraform.io/providers/cloudfoundry-community/cloudfoundry",
|
||||||
"owner": "cloudfoundry-community",
|
"owner": "cloudfoundry-community",
|
||||||
"repo": "terraform-provider-cloudfoundry",
|
"repo": "terraform-provider-cloudfoundry",
|
||||||
"rev": "v0.51.2",
|
"rev": "v0.51.3",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-FR0HnLLVv8H5jC3gRv8jk2VLsavlHNQny+UqZ00InTY="
|
"vendorHash": "sha256-0hq4dR1KqnE2IXMwif2/NVKQKRO/QplW/A6sB4pJ+FM="
|
||||||
},
|
},
|
||||||
"cloudinit": {
|
"cloudinit": {
|
||||||
"hash": "sha256-fdtUKD8XC1Y72IzrsCfTZYVYZwLqY3gV2sajiw4Krzw=",
|
"hash": "sha256-fdtUKD8XC1Y72IzrsCfTZYVYZwLqY3gV2sajiw4Krzw=",
|
||||||
|
@ -291,13 +291,13 @@
|
||||||
"vendorHash": "sha256-foS7GyRUdhF/M8uTPf2I4WQo7qEg4Z/3FXjagoeSRkU="
|
"vendorHash": "sha256-foS7GyRUdhF/M8uTPf2I4WQo7qEg4Z/3FXjagoeSRkU="
|
||||||
},
|
},
|
||||||
"dexidp": {
|
"dexidp": {
|
||||||
"hash": "sha256-+Nt4bX6+4VB+mtJbsP166RObFbXaNyFrF+80x2/pRco=",
|
"hash": "sha256-69r3m3lIKftZQ8NXBD5KEHbsNUwCGpFgn/CYO+921M4=",
|
||||||
"homepage": "https://registry.terraform.io/providers/marcofranssen/dexidp",
|
"homepage": "https://registry.terraform.io/providers/marcofranssen/dexidp",
|
||||||
"owner": "marcofranssen",
|
"owner": "marcofranssen",
|
||||||
"repo": "terraform-provider-dexidp",
|
"repo": "terraform-provider-dexidp",
|
||||||
"rev": "v0.2.1",
|
"rev": "v0.3.0",
|
||||||
"spdx": "MIT",
|
"spdx": "MIT",
|
||||||
"vendorHash": "sha256-L8baV03p0V/xKi1O3YQxvoJXgP21qNhzznyvwrauVqI="
|
"vendorHash": "sha256-EWEc7tILolAIzT7ZOLXlrlrt3hsgJxFD89y/USLeE40="
|
||||||
},
|
},
|
||||||
"dhall": {
|
"dhall": {
|
||||||
"hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
|
"hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
|
||||||
|
@ -454,24 +454,24 @@
|
||||||
"vendorHash": "sha256-AVTWTS16d8QsPLLAJeAfgcVDzUBMp+b2oAphaCBqhS0="
|
"vendorHash": "sha256-AVTWTS16d8QsPLLAJeAfgcVDzUBMp+b2oAphaCBqhS0="
|
||||||
},
|
},
|
||||||
"google": {
|
"google": {
|
||||||
"hash": "sha256-vhWtIJ5hKe/8a7N5Qxs8CQuSNlZEF3gdRzSqZiFqhVg=",
|
"hash": "sha256-11iT/zjoSScSdLGWFPxEURiIBvcz5jK8QZAHdqRwHD0=",
|
||||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
|
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
|
||||||
"owner": "hashicorp",
|
"owner": "hashicorp",
|
||||||
"proxyVendor": true,
|
"proxyVendor": true,
|
||||||
"repo": "terraform-provider-google",
|
"repo": "terraform-provider-google",
|
||||||
"rev": "v4.77.0",
|
"rev": "v4.78.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-rlNYh42Cw2wMF/9aI8QM0x8t2jdz+V9u4uJvS6A4zx8="
|
"vendorHash": "sha256-lyOupw64LQvdTJZjJ1RvAn1JLDHAZ4qAaagASXHcEXA="
|
||||||
},
|
},
|
||||||
"google-beta": {
|
"google-beta": {
|
||||||
"hash": "sha256-nfgoGYBAW5VdgMm2gkI2Ff5NlY2CAwuFjckN7xgGtcI=",
|
"hash": "sha256-dKB9rdMZP+Ln3M9bL7MC6RGlDXZ/IydD4g5Jp1jjEh4=",
|
||||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
|
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
|
||||||
"owner": "hashicorp",
|
"owner": "hashicorp",
|
||||||
"proxyVendor": true,
|
"proxyVendor": true,
|
||||||
"repo": "terraform-provider-google-beta",
|
"repo": "terraform-provider-google-beta",
|
||||||
"rev": "v4.77.0",
|
"rev": "v4.78.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-rlNYh42Cw2wMF/9aI8QM0x8t2jdz+V9u4uJvS6A4zx8="
|
"vendorHash": "sha256-lyOupw64LQvdTJZjJ1RvAn1JLDHAZ4qAaagASXHcEXA="
|
||||||
},
|
},
|
||||||
"googleworkspace": {
|
"googleworkspace": {
|
||||||
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
|
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
|
||||||
|
@ -501,13 +501,13 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"hcloud": {
|
"hcloud": {
|
||||||
"hash": "sha256-TbEbqTgzp7pUXrhjxvs5hrFI5u//xIIniOvusZsseiE=",
|
"hash": "sha256-kuC4tm8ob9bg7iLcUaGEHMYh6XaZp4rQiVlnbo1Xzek=",
|
||||||
"homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud",
|
"homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud",
|
||||||
"owner": "hetznercloud",
|
"owner": "hetznercloud",
|
||||||
"repo": "terraform-provider-hcloud",
|
"repo": "terraform-provider-hcloud",
|
||||||
"rev": "v1.42.0",
|
"rev": "v1.42.1",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-wrgGxCNa5xLdBEy6RNNCz8ZVracyVsHzHtaQse6Ph+E="
|
"vendorHash": "sha256-r8njRjQGYESeHuD8pF6rRUe1j2VVMwoDITFi2StC5bk="
|
||||||
},
|
},
|
||||||
"helm": {
|
"helm": {
|
||||||
"hash": "sha256-mGrQ5YKNsv1+Vkan5ohMXnTYofhCQPuTFjemXF/g+tA=",
|
"hash": "sha256-mGrQ5YKNsv1+Vkan5ohMXnTYofhCQPuTFjemXF/g+tA=",
|
||||||
|
@ -519,11 +519,11 @@
|
||||||
"vendorHash": "sha256-a80+gjjoFOKI96pUMvTMyM90F5oCb1Ime8hPQcFedFE="
|
"vendorHash": "sha256-a80+gjjoFOKI96pUMvTMyM90F5oCb1Ime8hPQcFedFE="
|
||||||
},
|
},
|
||||||
"heroku": {
|
"heroku": {
|
||||||
"hash": "sha256-tdaj6ZbVCvQTYblgpRC5GFoW8fbzTSHf0j6BM1tOlik=",
|
"hash": "sha256-PexzolGXe0dy+6vGXVDTqtHGjF66DTtt4/GUyx78RMQ=",
|
||||||
"homepage": "https://registry.terraform.io/providers/heroku/heroku",
|
"homepage": "https://registry.terraform.io/providers/heroku/heroku",
|
||||||
"owner": "heroku",
|
"owner": "heroku",
|
||||||
"repo": "terraform-provider-heroku",
|
"repo": "terraform-provider-heroku",
|
||||||
"rev": "v5.2.5",
|
"rev": "v5.2.6",
|
||||||
"spdx": null,
|
"spdx": null,
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
|
@ -556,11 +556,11 @@
|
||||||
"vendorHash": "sha256-hxT9mpKifb63wlCUeUzgVo4UB2TnYZy9lXF4fmGYpc4="
|
"vendorHash": "sha256-hxT9mpKifb63wlCUeUzgVo4UB2TnYZy9lXF4fmGYpc4="
|
||||||
},
|
},
|
||||||
"huaweicloud": {
|
"huaweicloud": {
|
||||||
"hash": "sha256-Uon1nXtoILFOQp9DsOubi31v6WJqWBa3zDZKHJdboHY=",
|
"hash": "sha256-zfYIhROmNEXUmO52zs1u6X4WXFtE+duuiS6wlSBLygw=",
|
||||||
"homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
|
"homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
|
||||||
"owner": "huaweicloud",
|
"owner": "huaweicloud",
|
||||||
"repo": "terraform-provider-huaweicloud",
|
"repo": "terraform-provider-huaweicloud",
|
||||||
"rev": "v1.53.0",
|
"rev": "v1.54.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
|
@ -781,11 +781,11 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"newrelic": {
|
"newrelic": {
|
||||||
"hash": "sha256-6dQ0oJeYBmMhpldt8SyPL0VY4IM4n3Dpg62SYvCjigI=",
|
"hash": "sha256-tbXRo7VNwjidyg/KcnwqmrxbnplMsUkCQAAsQb0WxSE=",
|
||||||
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
|
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
|
||||||
"owner": "newrelic",
|
"owner": "newrelic",
|
||||||
"repo": "terraform-provider-newrelic",
|
"repo": "terraform-provider-newrelic",
|
||||||
"rev": "v3.26.0",
|
"rev": "v3.26.1",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-BWCL84bDsfrcM9Bkc3G6r0RQ1YnonH1D9bDSywTcigw="
|
"vendorHash": "sha256-BWCL84bDsfrcM9Bkc3G6r0RQ1YnonH1D9bDSywTcigw="
|
||||||
},
|
},
|
||||||
|
@ -836,13 +836,13 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"okta": {
|
"okta": {
|
||||||
"hash": "sha256-cNVHEZPUkpruM7EDrriKeefzsHhwC+vyadTztRyGCFA=",
|
"hash": "sha256-yoO8LDSB80GfEjPR3sf8JcciX+3gM1qtFBv/rFAzb6g=",
|
||||||
"homepage": "https://registry.terraform.io/providers/okta/okta",
|
"homepage": "https://registry.terraform.io/providers/okta/okta",
|
||||||
"owner": "okta",
|
"owner": "okta",
|
||||||
"repo": "terraform-provider-okta",
|
"repo": "terraform-provider-okta",
|
||||||
"rev": "v4.1.0",
|
"rev": "v4.2.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-0KB2L7L6EWN2VMsTKXtWElzBRfmny+JjarhhzZtWxtA="
|
"vendorHash": "sha256-tXVV8lcB8A66WtsWb2wDcJEERjzbHm/eqHyzIOrVk7E="
|
||||||
},
|
},
|
||||||
"oktaasa": {
|
"oktaasa": {
|
||||||
"hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
|
"hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
|
||||||
|
@ -899,11 +899,11 @@
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"pagerduty": {
|
"pagerduty": {
|
||||||
"hash": "sha256-vMMxSmfNz9FZtFyOMo6e5OHX6GWNVAP/X/ewJ0sUHb0=",
|
"hash": "sha256-pMim8Bjjtuysdd4LgsV4+JPjEMw+3bF8vOKIBJVSScY=",
|
||||||
"homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
|
"homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
|
||||||
"owner": "PagerDuty",
|
"owner": "PagerDuty",
|
||||||
"repo": "terraform-provider-pagerduty",
|
"repo": "terraform-provider-pagerduty",
|
||||||
"rev": "v2.15.2",
|
"rev": "v2.15.3",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,10 +13,11 @@ buildGoModule rec {
|
||||||
owner = "dineshba";
|
owner = "dineshba";
|
||||||
repo = "tf-summarize";
|
repo = "tf-summarize";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0c6fcz0n22mq8bqr82h9lfxx4n1bk9gjlc7d131lpf14yiacih3p";
|
hash = "sha256-d8DIVPQkuEvDCO0wKl+aK1jSu6MJCpTxQrgKYcFnzjA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "cnybdZth7qlP2BHK8uvLCoqJtggMIkvaL2+YugiUZRE=";
|
vendorHash = "sha256-cnybdZth7qlP2BHK8uvLCoqJtggMIkvaL2+YugiUZRE=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
"-w"
|
"-w"
|
||||||
|
|
|
@ -8,13 +8,13 @@ buildGoModule rec {
|
||||||
/* Do not use "dev" as a version. If you do, Tilt will consider itself
|
/* Do not use "dev" as a version. If you do, Tilt will consider itself
|
||||||
running in development environment and try to serve assets from the
|
running in development environment and try to serve assets from the
|
||||||
source tree, which is not there once build completes. */
|
source tree, which is not there once build completes. */
|
||||||
version = "0.33.3";
|
version = "0.33.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tilt-dev";
|
owner = "tilt-dev";
|
||||||
repo = "tilt";
|
repo = "tilt";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-TNZE335tH50E96yJzD26U+JbVxjU746Wa/8YDGHFeto=";
|
hash = "sha256-rQ5g5QyGyuJAHmE8zGFzqtpqW2xEju5JV386y9Cn+cs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "flexget";
|
pname = "flexget";
|
||||||
version = "3.8.6";
|
version = "3.8.7";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
# Fetch from GitHub in order to use `requirements.in`
|
# Fetch from GitHub in order to use `requirements.in`
|
||||||
|
@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
owner = "Flexget";
|
owner = "Flexget";
|
||||||
repo = "Flexget";
|
repo = "Flexget";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-KF5d9SjKUkkHoYWmNWNBMe567w2StgEFsZprS+SFw7Y=";
|
hash = "sha256-WfOLDTwmHPfg4UkrPC7gvDNJtAorrateQ4W59NmhdHc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -33,16 +33,16 @@ let
|
||||||
in
|
in
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "deltachat-desktop";
|
pname = "deltachat-desktop";
|
||||||
version = "1.38.1";
|
version = "1.40.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "deltachat";
|
owner = "deltachat";
|
||||||
repo = "deltachat-desktop";
|
repo = "deltachat-desktop";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-nXYXjq6bLGvH4m8ECwxfkcUjOsUUj07bt3NFb3oD0Gw=";
|
hash = "sha256-QvSBM2zR/LcQ2wtkh6mtlU8iqYmZfv6U5bRyMYjLZhE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDepsHash = "sha256-fQKFSWljHHPp1A8lcxVxrMVESuTiB3GkSWDb98yCZz4=";
|
npmDepsHash = "sha256-lxyXfPNu5U+0cge+cwcXHIJv+gVXCSzc5t/2c4IQxNM=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeWrapper
|
makeWrapper
|
||||||
|
|
|
@ -17,25 +17,20 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "teams-for-linux";
|
pname = "teams-for-linux";
|
||||||
version = "1.2.8";
|
version = "1.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "IsmaelMartinez";
|
owner = "IsmaelMartinez";
|
||||||
repo = "teams-for-linux";
|
repo = "teams-for-linux";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-5OocTsQjmNZCnzAY1RfrxD6Ad/kZTIkFl/3OmeJl1oI=";
|
hash = "sha256-2WoTbkRGH9l6cQrveyxGvO/Dy+0NV4UTDaooYn8k06s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||||
hash = "sha256-XUASMWrH8wWeYsr6gCdQGgV/7E6hLDWkJ0BXHZCepKQ=";
|
hash = "sha256-j5N6d270myUylDVDFQTScbsGp1wlpt5sISDJBRCV/GU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Can be removed once Electron upstream resolves https://github.com/electron/electron/issues/36660
|
|
||||||
./screensharing-wayland-hack-fix.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
|
nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
diff --git a/app/index.js b/app/index.js
|
|
||||||
index ea89608..98f4a90 100644
|
|
||||||
--- a/app/index.js
|
|
||||||
+++ b/app/index.js
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-const { app, ipcMain, desktopCapturer, systemPreferences, powerMonitor } = require('electron');
|
|
||||||
+const { app, ipcMain, desktopCapturer, nativeImage, systemPreferences, powerMonitor } = require('electron');
|
|
||||||
const path = require('path');
|
|
||||||
const fs = require('fs');
|
|
||||||
const { LucidLog } = require('lucid-log');
|
|
||||||
@@ -97,7 +97,16 @@ if (!gotTheLock) {
|
|
||||||
ipcMain.handle('getSystemIdleState', handleGetSystemIdleState);
|
|
||||||
ipcMain.handle('getZoomLevel', handleGetZoomLevel);
|
|
||||||
ipcMain.handle('saveZoomLevel', handleSaveZoomLevel);
|
|
||||||
- ipcMain.handle('desktopCapturerGetSources', (event, opts) => desktopCapturer.getSources(opts));
|
|
||||||
+ ipcMain.handle('desktopCapturerGetSources', (event, opts) => process.env.XDG_SESSION_TYPE == 'wayland' ?
|
|
||||||
+ // Port wayland electron 22+ screenshare "fix" from webcord
|
|
||||||
+ Promise.resolve([{
|
|
||||||
+ id: "screen:1:0",
|
|
||||||
+ appIcon: nativeImage.createEmpty(),
|
|
||||||
+ display_id: "",
|
|
||||||
+ name: "Entire Screen",
|
|
||||||
+ thumbnail: nativeImage.createEmpty()
|
|
||||||
+ }])
|
|
||||||
+ : desktopCapturer.getSources(opts));
|
|
||||||
ipcMain.handle('getCustomBGList', handleGetCustomBGList);
|
|
||||||
ipcMain.on('play-notification-sound', playNotificationSound);
|
|
||||||
ipcMain.on('user-status-changed', userStatusChangedHandler);
|
|
|
@ -27,11 +27,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "PortfolioPerformance";
|
pname = "PortfolioPerformance";
|
||||||
version = "0.65.0";
|
version = "0.65.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
|
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
|
||||||
hash = "sha256-a1LL8RCxItrtsyQrJSbMEBPUwxKK6t8FXdFEhxGdvxw=";
|
hash = "sha256-VfYuqrz9YDHwY0atKXYkzHJW/lXlVWGgo5QjMTMeB+g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -9,14 +9,14 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "todoman";
|
pname = "todoman";
|
||||||
version = "4.1.0";
|
version = "4.3.1";
|
||||||
format = "setuptools";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pimutils";
|
owner = "pimutils";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-MItFZ+4Q7UKeIWHl8KFiWOLNgFcfb0h1YWjPd+g48Wg=";
|
hash = "sha256-pa1zzu0ITJObzhSmohjgiGTCoautXrY+SQQ3hxEtQcE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||||
|
@ -48,15 +48,11 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
hypothesis
|
hypothesis
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
glibcLocales
|
glibcLocales
|
||||||
|
pytest-cov
|
||||||
];
|
];
|
||||||
|
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace setup.cfg \
|
|
||||||
--replace " --cov=todoman --cov-report=term-missing" ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
installShellCompletion --bash contrib/completion/bash/_todo
|
installShellCompletion --bash contrib/completion/bash/_todo
|
||||||
substituteInPlace contrib/completion/zsh/_todo --replace "jq " "${jq}/bin/jq "
|
substituteInPlace contrib/completion/zsh/_todo --replace "jq " "${jq}/bin/jq "
|
||||||
|
@ -67,7 +63,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
# Testing of the CLI part and output
|
# Testing of the CLI part and output
|
||||||
"test_color_due_dates"
|
"test_color_due_dates"
|
||||||
"test_color_flag"
|
"test_color_flag"
|
||||||
"test_datetime_serialization" # Will be fixed in versions after 4.1.0
|
|
||||||
"test_default_command"
|
"test_default_command"
|
||||||
"test_main"
|
"test_main"
|
||||||
"test_missing_cache_dir"
|
"test_missing_cache_dir"
|
||||||
|
@ -98,5 +93,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
changelog = "https://github.com/pimutils/todoman/raw/v${version}/CHANGELOG.rst";
|
changelog = "https://github.com/pimutils/todoman/raw/v${version}/CHANGELOG.rst";
|
||||||
license = licenses.isc;
|
license = licenses.isc;
|
||||||
maintainers = with maintainers; [ leenaars ];
|
maintainers = with maintainers; [ leenaars ];
|
||||||
|
mainProgram = "todo";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "openhantek6022";
|
pname = "openhantek6022";
|
||||||
version = "3.3.2.2";
|
version = "3.3.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OpenHantek";
|
owner = "OpenHantek";
|
||||||
repo = "OpenHantek6022";
|
repo = "OpenHantek6022";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-0k9Q60+T28m1hPYf5viSdpt0s4d828lfjVo3GjLDm7c=";
|
sha256 = "sha256-y2pNLAa0P/r0YEdKjQ3iP66cqtTWERG8lTOZDR64WTk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake makeWrapper ];
|
nativeBuildInputs = [ cmake makeWrapper ];
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
, pantheon
|
, pantheon
|
||||||
, python3
|
, python3
|
||||||
, curl
|
, curl
|
||||||
|
, flatpak
|
||||||
, gettext
|
, gettext
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
|
@ -27,13 +28,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "monitor";
|
pname = "monitor";
|
||||||
version = "0.16.1";
|
version = "0.17.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "stsdc";
|
owner = "stsdc";
|
||||||
repo = "monitor";
|
repo = "monitor";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-ZTsb1xcJ7eeCEPebZW0anmG1SUPAzZakw4WzJql9VTQ=";
|
sha256 = "sha256-GUNMA4CRO4cKBjNr7i8yRflstbT8g2ciDHppjUUbAOc=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
curl
|
curl
|
||||||
|
flatpak
|
||||||
glib
|
glib
|
||||||
gtk3
|
gtk3
|
||||||
json-glib
|
json-glib
|
||||||
|
@ -85,7 +87,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = gitUpdater {
|
updateScript = gitUpdater {
|
||||||
ignoredVersions = "ci.*";
|
# Upstream frequently tags these to fix CI, which are mostly irrelevant to us.
|
||||||
|
ignoredVersions = "-";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "git-codereview";
|
pname = "git-codereview";
|
||||||
version = "1.4.0";
|
version = "1.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "golang";
|
owner = "golang";
|
||||||
repo = "review";
|
repo = "review";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-N6L+TlPU/lStMPTFYKFH2GiwyGkEJJuKtkH7wKLuM00=";
|
hash = "sha256-Dy7gHT6WmZ1TjA5s+VmOUkaRvrA9v7mWQSLPscgBHgY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "git-vanity-hash";
|
pname = "git-vanity-hash";
|
||||||
version = "2020-02-26-unstable";
|
version = "1.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "prasmussen";
|
owner = "prasmussen";
|
||||||
repo = "git-vanity-hash";
|
repo = "git-vanity-hash";
|
||||||
rev = "000004122124005af8d118a3f379bfc6ecc1e7c7";
|
rev = "v${version}";
|
||||||
sha256 = "1wf342zawbphlzvji0yba0qg4f6v67h81nhxqcsir132jv397ma7";
|
hash = "sha256-jD8cSFXf9UNBZ9d8JTnuwhs6nPHY/xGd5RyqF+mQOlo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1frdw9bs7y6ch5rrbsgvhrs0wxw4hbwm2n3crslp12w55m7k39fc";
|
cargoHash = "sha256-8oW6gRtdQdmSmdwKlcU2EhHsyhk9hFhKl7RtsYwC7Ps=";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share/doc/git-vanity-hash
|
mkdir -p $out/share/doc/git-vanity-hash
|
||||||
|
|
|
@ -20,12 +20,12 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitea";
|
pname = "gitea";
|
||||||
version = "1.20.1";
|
version = "1.20.2";
|
||||||
|
|
||||||
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
|
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
|
||||||
hash = "sha256-LYOCNZJiGuMM1ly1Sp+0F8Us8LtAXzH5NzJf2CLcHck=";
|
hash = "sha256-a88ltflOcZQVWcEjC3r6rbPSk6LRtATcEQecYt/wg04=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
|
@ -46,13 +46,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mkvtoolnix";
|
pname = "mkvtoolnix";
|
||||||
version = "77.0";
|
version = "78.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "mbunkus";
|
owner = "mbunkus";
|
||||||
repo = "mkvtoolnix";
|
repo = "mkvtoolnix";
|
||||||
rev = "release-${version}";
|
rev = "release-${version}";
|
||||||
sha256 = "t+kfFS5c8w+c9wxNh59nceFesfdMy8qvHlUqDbZAxkk=";
|
sha256 = "sha256-iImcpuGZsRlwBTPyPUsfHAOkOIhc8eYs6rinl8O78oU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -62,13 +62,13 @@ let
|
||||||
in
|
in
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "podman";
|
pname = "podman";
|
||||||
version = "4.6.0";
|
version = "4.6.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containers";
|
owner = "containers";
|
||||||
repo = "podman";
|
repo = "podman";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-8cfEZBYhR5CWkHEpIZ0j011gyV6lnY7z4KgJPJr0MfQ=";
|
hash = "sha256-bGhLjf4GZpuWX1xOC4Hm9SkYvUJ45ZipcKAIEJF0tDQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -39,13 +39,13 @@ assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been renam
|
||||||
assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland";
|
assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland";
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "hyprland" + lib.optionalString debug "-debug";
|
pname = "hyprland" + lib.optionalString debug "-debug";
|
||||||
version = "unstable-2023-08-08";
|
version = "unstable-2023-08-15";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hyprwm";
|
owner = "hyprwm";
|
||||||
repo = finalAttrs.pname;
|
repo = finalAttrs.pname;
|
||||||
rev = "8e04a80e60983f5def26bdcaea701040fea9a7ae";
|
rev = "91e28bbe9df85e2e94fbcc0137106362aea14ab5";
|
||||||
hash = "sha256-5/vEdU3SzAdeIyPykjks/Zxkvh9luPTIei6oa77OY2Q=";
|
hash = "sha256-1vLms49ZgDOC9y1uTjfph3WrUpatKRLnKAvFmSNre20=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -14,18 +14,19 @@
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
, minizip
|
, minizip
|
||||||
, libzip
|
, libzip
|
||||||
|
, libuuid
|
||||||
, libarchive
|
, libarchive
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "deepin-compressor";
|
pname = "deepin-compressor";
|
||||||
version = "5.12.15";
|
version = "5.12.17";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxdeepin";
|
owner = "linuxdeepin";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-6grnbv9hMKntOmpVcmU5IpAbHM7r0dQWb+SoQYtc5YY=";
|
hash = "sha256-eg9JcuBTKoaEuoph0rvy0VRH28sFOdYWN9sGbduUwcM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
|
||||||
karchive
|
karchive
|
||||||
minizip
|
minizip
|
||||||
libzip
|
libzip
|
||||||
|
libuuid
|
||||||
libarchive
|
libarchive
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "clojure";
|
pname = "clojure";
|
||||||
version = "1.11.1.1356";
|
version = "1.11.1.1386";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# https://clojure.org/releases/tools
|
# https://github.com/clojure/brew-install/releases
|
||||||
url = "https://download.clojure.org/install/clojure-tools-${finalAttrs.version}.tar.gz";
|
url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz";
|
||||||
hash = "sha256-Gshzo0ill96R+15DuFEdHo2bx3ePuRIuYXJfNF9jkIM=";
|
hash = "sha256-e5RLnsydCZKRv6P/yC8FxK5AgK0Gj6YJw7E41neGYsM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zef";
|
pname = "zef";
|
||||||
version = "0.18.2";
|
version = "0.18.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ugexe";
|
owner = "ugexe";
|
||||||
repo = "zef";
|
repo = "zef";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-0EWajziWoxWLGaj54FfvEMNPPTc2Wb6O050o2qWGJ9c=";
|
sha256 = "sha256-/H8wHDMl2lJElsjNcNmTrijIeL1ohOkDzrO7LuOPhi4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
diff --git a/cmake_modules/FindProtobufAlt.cmake b/cmake_modules/FindProtobufAlt.cmake
|
||||||
|
index d29f757ae..61c6e16e1 100644
|
||||||
|
--- a/cmake_modules/FindProtobufAlt.cmake
|
||||||
|
+++ b/cmake_modules/FindProtobufAlt.cmake
|
||||||
|
@@ -22,11 +22,8 @@ else()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(find_package_args)
|
||||||
|
-if(ProtobufAlt_FIND_VERSION)
|
||||||
|
- list(APPEND find_package_args ${ProtobufAlt_FIND_VERSION})
|
||||||
|
-endif()
|
||||||
|
if(ProtobufAlt_FIND_QUIETLY)
|
||||||
|
list(APPEND find_package_args QUIET)
|
||||||
|
endif()
|
||||||
|
-find_package(Protobuf ${find_package_args})
|
||||||
|
-set(ProtobufAlt_FOUND ${Protobuf_FOUND})
|
||||||
|
+find_package(protobuf ${find_package_args})
|
||||||
|
+set(ProtobufAlt_FOUND ${protobuf_FOUND})
|
|
@ -122,6 +122,7 @@ stdenv.mkDerivation rec {
|
||||||
patches = [
|
patches = [
|
||||||
# patch to fix python-test
|
# patch to fix python-test
|
||||||
./darwin.patch
|
./darwin.patch
|
||||||
|
./cmake-find-protobuf.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -169,6 +170,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
|
||||||
"-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
|
"-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
|
||||||
"-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
|
"-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
|
||||||
"-DARROW_BUILD_TESTS=ON"
|
"-DARROW_BUILD_TESTS=ON"
|
||||||
|
|
|
@ -3,6 +3,18 @@
|
||||||
, callPackage
|
, callPackage
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
|
||||||
|
, useMinimalFeatures ? false
|
||||||
|
, useTiledb ? (!useMinimalFeatures) && !(stdenv.isDarwin && stdenv.isx86_64)
|
||||||
|
, useLibHEIF ? (!useMinimalFeatures)
|
||||||
|
, useLibJXL ? (!useMinimalFeatures)
|
||||||
|
, useMysql ? (!useMinimalFeatures)
|
||||||
|
, usePostgres ? (!useMinimalFeatures)
|
||||||
|
, usePoppler ? (!useMinimalFeatures)
|
||||||
|
, useArrow ? (!useMinimalFeatures)
|
||||||
|
, useHDF ? (!useMinimalFeatures)
|
||||||
|
, useNetCDF ? (!useMinimalFeatures)
|
||||||
|
, useArmadillo ? (!useMinimalFeatures)
|
||||||
|
|
||||||
, bison
|
, bison
|
||||||
, cmake
|
, cmake
|
||||||
, gtest
|
, gtest
|
||||||
|
@ -55,7 +67,6 @@
|
||||||
, libspatialite
|
, libspatialite
|
||||||
, sqlite
|
, sqlite
|
||||||
, libtiff
|
, libtiff
|
||||||
, useTiledb ? !(stdenv.isDarwin && stdenv.isx86_64)
|
|
||||||
, tiledb
|
, tiledb
|
||||||
, libwebp
|
, libwebp
|
||||||
, xercesc
|
, xercesc
|
||||||
|
@ -101,8 +112,39 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
"-DGDAL_USE_TILEDB=OFF"
|
"-DGDAL_USE_TILEDB=OFF"
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
armadillo
|
let
|
||||||
|
tileDbDeps = lib.optionals useTiledb [ tiledb ];
|
||||||
|
libHeifDeps = lib.optionals useLibHEIF [
|
||||||
|
libheif
|
||||||
|
dav1d
|
||||||
|
libaom
|
||||||
|
libde265
|
||||||
|
rav1e
|
||||||
|
x265
|
||||||
|
];
|
||||||
|
libJxlDeps = lib.optionals useLibJXL [
|
||||||
|
libjxl
|
||||||
|
libhwy
|
||||||
|
];
|
||||||
|
mysqlDeps = lib.optionals useMysql [ libmysqlclient ];
|
||||||
|
postgresDeps = lib.optionals usePostgres [ postgresql ];
|
||||||
|
popplerDeps = lib.optionals usePoppler [ poppler ];
|
||||||
|
arrowDeps = lib.optionals useArrow [ arrow-cpp ];
|
||||||
|
hdfDeps = lib.optionals useHDF [
|
||||||
|
hdf4
|
||||||
|
hdf5-cpp
|
||||||
|
];
|
||||||
|
netCdfDeps = lib.optionals useNetCDF [ netcdf ];
|
||||||
|
armadilloDeps = lib.optionals useArmadillo [ armadillo ];
|
||||||
|
|
||||||
|
darwinDeps = lib.optionals stdenv.isDarwin [ libiconv ];
|
||||||
|
nonDarwinDeps = lib.optionals (!stdenv.isDarwin) ([
|
||||||
|
# tests for formats enabled by these packages fail on macos
|
||||||
|
openexr
|
||||||
|
xercesc
|
||||||
|
] ++ arrowDeps);
|
||||||
|
in [
|
||||||
c-blosc
|
c-blosc
|
||||||
brunsli
|
brunsli
|
||||||
cfitsio
|
cfitsio
|
||||||
|
@ -114,50 +156,39 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
libgeotiff
|
libgeotiff
|
||||||
geos
|
geos
|
||||||
giflib
|
giflib
|
||||||
libheif
|
|
||||||
dav1d # required by libheif
|
|
||||||
libaom # required by libheif
|
|
||||||
libde265 # required by libheif
|
|
||||||
rav1e # required by libheif
|
|
||||||
x265 # required by libheif
|
|
||||||
hdf4
|
|
||||||
hdf5-cpp
|
|
||||||
libjpeg
|
libjpeg
|
||||||
json_c
|
json_c
|
||||||
libjxl
|
|
||||||
libhwy # required by libjxl
|
|
||||||
lerc
|
lerc
|
||||||
xz
|
xz
|
||||||
libxml2
|
libxml2
|
||||||
lz4
|
lz4
|
||||||
libmysqlclient
|
|
||||||
netcdf
|
|
||||||
openjpeg
|
openjpeg
|
||||||
openssl
|
openssl
|
||||||
pcre2
|
pcre2
|
||||||
libpng
|
libpng
|
||||||
poppler
|
|
||||||
postgresql
|
|
||||||
proj
|
proj
|
||||||
qhull
|
qhull
|
||||||
libspatialite
|
libspatialite
|
||||||
sqlite
|
sqlite
|
||||||
libtiff
|
libtiff
|
||||||
gtest
|
gtest
|
||||||
] ++ lib.optionals useTiledb [
|
|
||||||
tiledb
|
|
||||||
] ++ [
|
|
||||||
libwebp
|
libwebp
|
||||||
zlib
|
zlib
|
||||||
zstd
|
zstd
|
||||||
python3
|
python3
|
||||||
python3.pkgs.numpy
|
python3.pkgs.numpy
|
||||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
] ++ tileDbDeps
|
||||||
# tests for formats enabled by these packages fail on macos
|
++ libHeifDeps
|
||||||
arrow-cpp
|
++ libJxlDeps
|
||||||
openexr
|
++ mysqlDeps
|
||||||
xercesc
|
++ postgresDeps
|
||||||
] ++ lib.optional stdenv.isDarwin libiconv;
|
++ popplerDeps
|
||||||
|
++ arrowDeps
|
||||||
|
++ hdfDeps
|
||||||
|
++ netCdfDeps
|
||||||
|
++ armadilloDeps
|
||||||
|
++ darwinDeps
|
||||||
|
++ nonDarwinDeps;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapPythonPrograms
|
wrapPythonPrograms
|
||||||
|
@ -210,6 +241,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
"test_rda_download_queue"
|
"test_rda_download_queue"
|
||||||
] ++ lib.optionals (lib.versionOlder proj.version "8") [
|
] ++ lib.optionals (lib.versionOlder proj.version "8") [
|
||||||
"test_ogr_parquet_write_crs_without_id_in_datum_ensemble_members"
|
"test_ogr_parquet_write_crs_without_id_in_datum_ensemble_members"
|
||||||
|
] ++ lib.optionals (!usePoppler) [
|
||||||
|
"test_pdf_jpx_compression"
|
||||||
];
|
];
|
||||||
postCheck = ''
|
postCheck = ''
|
||||||
popd # autotest
|
popd # autotest
|
||||||
|
|
|
@ -21,10 +21,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "C++ port of the Java Topology Suite (JTS)";
|
description = "C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software";
|
||||||
homepage = "https://trac.osgeo.org/geos";
|
homepage = "https://libgeos.org";
|
||||||
license = licenses.lgpl21Only;
|
license = licenses.lgpl21Only;
|
||||||
maintainers = teams.geospatial.members;
|
maintainers = teams.geospatial.members;
|
||||||
pkgConfigModules = [ "geos" ];
|
pkgConfigModules = [ "geos" ];
|
||||||
|
mainProgram = "geosop";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "level-zero";
|
pname = "level-zero";
|
||||||
version = "1.13.1";
|
version = "1.13.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "oneapi-src";
|
owner = "oneapi-src";
|
||||||
repo = "level-zero";
|
repo = "level-zero";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-qV2OM41+DkuT3lDCTHOyNkHixD/HITfCiItBQX6Ewio=";
|
hash = "sha256-XpLbbcB8M63q+0Vj7NrERSXVIjy5KQrVZMvYijUbJhw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake addOpenGLRunpath ];
|
nativeBuildInputs = [ cmake addOpenGLRunpath ];
|
||||||
|
|
20
pkgs/development/libraries/libdeltachat/Cargo.lock
generated
20
pkgs/development/libraries/libdeltachat/Cargo.lock
generated
|
@ -1123,7 +1123,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deltachat"
|
name = "deltachat"
|
||||||
version = "1.118.0"
|
version = "1.119.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term",
|
"ansi_term",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
@ -1199,7 +1199,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deltachat-jsonrpc"
|
name = "deltachat-jsonrpc"
|
||||||
version = "1.118.0"
|
version = "1.119.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-channel",
|
"async-channel",
|
||||||
|
@ -1223,7 +1223,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deltachat-repl"
|
name = "deltachat-repl"
|
||||||
version = "1.118.0"
|
version = "1.119.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term",
|
"ansi_term",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
@ -1238,7 +1238,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deltachat-rpc-server"
|
name = "deltachat-rpc-server"
|
||||||
version = "1.118.0"
|
version = "1.119.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"deltachat",
|
"deltachat",
|
||||||
|
@ -1263,7 +1263,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deltachat_ffi"
|
name = "deltachat_ffi"
|
||||||
version = "1.118.0"
|
version = "1.119.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"deltachat",
|
"deltachat",
|
||||||
|
@ -4958,14 +4958,14 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio-tar"
|
name = "tokio-tar"
|
||||||
version = "0.3.0"
|
version = "0.3.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a50188549787c32c1c3d9c8c71ad7e003ccf2f102489c5a96e385c84760477f4"
|
checksum = "9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"filetime",
|
"filetime",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"libc",
|
"libc",
|
||||||
"redox_syscall 0.2.16",
|
"redox_syscall 0.3.5",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"xattr",
|
"xattr",
|
||||||
|
@ -5778,9 +5778,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "xattr"
|
name = "xattr"
|
||||||
version = "0.2.3"
|
version = "1.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
|
checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
|
@ -19,13 +19,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libdeltachat";
|
pname = "libdeltachat";
|
||||||
version = "1.118.0";
|
version = "1.119.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "deltachat";
|
owner = "deltachat";
|
||||||
repo = "deltachat-core-rust";
|
repo = "deltachat-core-rust";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-1vkmz7LFG420zYETYIf3ayOQEPp+hz7Dr7gULz1nJOs=";
|
hash = "sha256-LP5h99qldf9QoRDmo581H+sUx1QsD6nOGt1ES3Fr/6E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nix-plugins";
|
pname = "nix-plugins";
|
||||||
version = "11.0.0";
|
version = "12.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "shlevy";
|
owner = "shlevy";
|
||||||
repo = "nix-plugins";
|
repo = "nix-plugins";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-sJL8g+UVFvJTqujS9F6gy8tairYUztHCSILkQlwDADU";
|
hash = "sha256-VJqLfOT7y32Jupl57YXxqeDPy0tOWi46tRLN1QUDIow=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
|
|
@ -47,13 +47,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: rec {
|
stdenv.mkDerivation (finalAttrs: rec {
|
||||||
pname = "poppler-${suffix}";
|
pname = "poppler-${suffix}";
|
||||||
version = "23.07.0"; # beware: updates often break cups-filters build, check texlive and scribus too!
|
version = "23.08.0"; # beware: updates often break cups-filters build, check texlive and scribus too!
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
|
url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
|
||||||
hash = "sha256-8ptLS/R1cmERdkVMjyFQbXHSfspQEaOapEA4swuVfbA=";
|
hash = "sha256-Skv3/JA7nxoqt9BLfF2CINubxiYcxz/bmoJtwnL0mqg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -49,6 +49,9 @@ let
|
||||||
./patches/0006-qtbase-qt-cmake-always-use-cmake-from-path.patch
|
./patches/0006-qtbase-qt-cmake-always-use-cmake-from-path.patch
|
||||||
./patches/0007-qtbase-find-qt-tools-in-QTTOOLSPATH.patch
|
./patches/0007-qtbase-find-qt-tools-in-QTTOOLSPATH.patch
|
||||||
./patches/0008-qtbase-allow-translations-outside-prefix.patch
|
./patches/0008-qtbase-allow-translations-outside-prefix.patch
|
||||||
|
./patches/0008-qtbase-find-qmlimportscanner-in-macdeployqt-via-environment.patch
|
||||||
|
./patches/0009-qtbase-check-in-the-QML-folder-of-this-library-does-actuall.patch
|
||||||
|
./patches/0010-qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
env = callPackage ./qt-env.nix { };
|
env = callPackage ./qt-env.nix { };
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
From 505391a31aa353b8f1cc5d3feb9861582554d9f1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
|
||||||
|
Date: Wed, 9 Aug 2023 16:16:21 +0200
|
||||||
|
Subject: [PATCH 1/3] Find qmlimportscanner in macdeployqt via environment
|
||||||
|
|
||||||
|
The qmlimportscanner tool is provided by qtdeclarative. Because of the
|
||||||
|
modularized installation in Nix, it can not be found via the usual
|
||||||
|
mechanisms. Also, hard-coding it like we do for Qt5 would also not
|
||||||
|
work, as it would require making qtbase depend on qtdeclarative.
|
||||||
|
|
||||||
|
Here we add an option to provide its location via the environment.
|
||||||
|
While this means macdeployqt does not work out of the box, it provides
|
||||||
|
a workaround for users.
|
||||||
|
---
|
||||||
|
src/tools/macdeployqt/shared/shared.cpp | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
index 643fe5390a..b8fcc9c9bd 100644
|
||||||
|
--- a/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
+++ b/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
@@ -1270,6 +1270,10 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
|
||||||
|
if (!QFile::exists(qmlImportScannerPath))
|
||||||
|
qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
|
||||||
|
|
||||||
|
+ // Fallback: Pass qml import scanner via environment variable
|
||||||
|
+ if (!QFile::exists(qmlImportScannerPath))
|
||||||
|
+ qmlImportScannerPath = ::qgetenv("NIX_QMLIMPORTSCANNER");
|
||||||
|
+
|
||||||
|
// Verify that we found a qmlimportscanner binary
|
||||||
|
if (!QFile::exists(qmlImportScannerPath)) {
|
||||||
|
LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
From 32df59bea18bebc18d6d308750e88be325522d2e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
|
||||||
|
Date: Thu, 10 Aug 2023 14:15:34 +0200
|
||||||
|
Subject: [PATCH 2/3] Check in the QML folder of this library does actually
|
||||||
|
exist
|
||||||
|
|
||||||
|
In a modularized installation, this folder will be the location where
|
||||||
|
`qtbase` itself is installed, but `qtbase` does not have any QML
|
||||||
|
code, and `qmlimportscanner` will complain that it does not exist.
|
||||||
|
---
|
||||||
|
src/tools/macdeployqt/shared/shared.cpp | 7 +++++--
|
||||||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
index b8fcc9c9bd..676d34d545 100644
|
||||||
|
--- a/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
+++ b/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
@@ -1290,9 +1290,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
|
||||||
|
}
|
||||||
|
for (const QString &importPath : qmlImportPaths)
|
||||||
|
argumentList << "-importPath" << importPath;
|
||||||
|
+
|
||||||
|
QString qmlImportsPath = QLibraryInfo::path(QLibraryInfo::QmlImportsPath);
|
||||||
|
- argumentList.append( "-importPath");
|
||||||
|
- argumentList.append(qmlImportsPath);
|
||||||
|
+ if (QFile::exists(qmlImportsPath)) {
|
||||||
|
+ argumentList.append( "-importPath");
|
||||||
|
+ argumentList.append(qmlImportsPath);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// run qmlimportscanner
|
||||||
|
QProcess qmlImportScanner;
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
From 39eb99dcd66f8ffb632fed6308a49896fe5ad2d3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org>
|
||||||
|
Date: Thu, 10 Aug 2023 14:17:03 +0200
|
||||||
|
Subject: [PATCH 3/3] Pass to qmlimportscanner the QML2_IMPORT_PATH
|
||||||
|
|
||||||
|
---
|
||||||
|
src/tools/macdeployqt/shared/shared.cpp | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
index 676d34d545..7908b07b3c 100644
|
||||||
|
--- a/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
+++ b/src/tools/macdeployqt/shared/shared.cpp
|
||||||
|
@@ -1297,6 +1297,13 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
|
||||||
|
argumentList.append(qmlImportsPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // In a modularized installation of qt as we have in Nix, instead, we will
|
||||||
|
+ // read the paths from the environment, as they are spread in multiple
|
||||||
|
+ // locations and normally set in the environment like this
|
||||||
|
+ auto envQmlImportPaths = ::qgetenv("QML2_IMPORT_PATH").split(':');
|
||||||
|
+ for (const QString &importPath : envQmlImportPaths)
|
||||||
|
+ argumentList << "-importPath" << importPath;
|
||||||
|
+
|
||||||
|
// run qmlimportscanner
|
||||||
|
QProcess qmlImportScanner;
|
||||||
|
qmlImportScanner.start(qmlImportScannerPath, argumentList);
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
|
@ -16,7 +16,10 @@ rec {
|
||||||
sha256 = "sha256-51k+Eo3buzby9cWtbl+/0wbAxa2QSS+Oq0aEao0VBCM=";
|
sha256 = "sha256-51k+Eo3buzby9cWtbl+/0wbAxa2QSS+Oq0aEao0VBCM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ yojson logs lsp ppx_yojson_conv_lib ];
|
lsp_v = lsp.override {
|
||||||
|
version = "1.14.2";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [ yojson logs lsp_v ppx_yojson_conv_lib ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "LSP server library";
|
description = "LSP server library";
|
||||||
|
|
|
@ -1,4 +1,16 @@
|
||||||
{ lib, buildDunePackage, lsp, xdg, re, fiber, makeWrapper, dot-merlin-reader, spawn, ocamlc-loc }:
|
{ lib
|
||||||
|
, buildDunePackage
|
||||||
|
, lsp
|
||||||
|
, xdg
|
||||||
|
, re
|
||||||
|
, fiber
|
||||||
|
, makeWrapper
|
||||||
|
, dot-merlin-reader
|
||||||
|
, spawn
|
||||||
|
, ocamlc-loc
|
||||||
|
, odoc-parser
|
||||||
|
, merlin-lib
|
||||||
|
}:
|
||||||
|
|
||||||
buildDunePackage rec {
|
buildDunePackage rec {
|
||||||
pname = "ocaml-lsp-server";
|
pname = "ocaml-lsp-server";
|
||||||
|
@ -8,7 +20,8 @@ buildDunePackage rec {
|
||||||
buildInputs = lsp.buildInputs ++ [ lsp re ]
|
buildInputs = lsp.buildInputs ++ [ lsp re ]
|
||||||
++ lib.optional (lib.versionAtLeast version "1.9") spawn
|
++ lib.optional (lib.versionAtLeast version "1.9") spawn
|
||||||
++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ]
|
++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ]
|
||||||
++ lib.optional (lib.versionAtLeast version "1.14.2") ocamlc-loc;
|
++ lib.optional (lib.versionAtLeast version "1.14.2") ocamlc-loc
|
||||||
|
++ lib.optional (lib.versionAtLeast version "1.16.2") [ odoc-parser merlin-lib ];
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
|
|
@ -7,41 +7,55 @@
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, lib
|
, lib
|
||||||
, ocaml
|
, ocaml
|
||||||
|
, version ?
|
||||||
|
if lib.versionAtLeast ocaml.version "4.14" then
|
||||||
|
"1.16.2"
|
||||||
|
else if lib.versionAtLeast ocaml.version "4.13" then
|
||||||
|
"1.10.5"
|
||||||
|
else if lib.versionAtLeast ocaml.version "4.12" then
|
||||||
|
"1.9.0"
|
||||||
|
else
|
||||||
|
"1.4.1"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let params =
|
let params = {
|
||||||
if lib.versionAtLeast ocaml.version "4.14"
|
"1.16.2" = {
|
||||||
then {
|
|
||||||
name = "lsp";
|
name = "lsp";
|
||||||
version = "1.14.2";
|
minimalOCamlVersion = "4.14";
|
||||||
|
sha256 = "sha256-FIfVpOLy1PAjNBBYVRvbi6hsIzZ7fFtP3aOqfcAqrsQ=";
|
||||||
|
};
|
||||||
|
"1.14.2" = {
|
||||||
|
name = "lsp";
|
||||||
|
minimalOCamlVersion = "4.14";
|
||||||
sha256 = "sha256-1R+HYaGbPLGDs5DMN3jmnrZFMhMmPUHgF+s+yNzIVJQ=";
|
sha256 = "sha256-1R+HYaGbPLGDs5DMN3jmnrZFMhMmPUHgF+s+yNzIVJQ=";
|
||||||
} else if lib.versionAtLeast ocaml.version "4.13"
|
};
|
||||||
then {
|
"1.10.5" = {
|
||||||
name = "jsonrpc";
|
name = "jsonrpc";
|
||||||
version = "1.10.5";
|
minimalOCamlVersion = "4.13";
|
||||||
sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw=";
|
sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw=";
|
||||||
} else if lib.versionAtLeast ocaml.version "4.12"
|
};
|
||||||
then {
|
"1.9.0" = {
|
||||||
name = "jsonrpc";
|
name = "jsonrpc";
|
||||||
version = "1.9.0";
|
minimalOCamlVersion = "4.12";
|
||||||
sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh";
|
sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh";
|
||||||
} else {
|
};
|
||||||
|
"1.4.1" = {
|
||||||
name = "jsonrpc";
|
name = "jsonrpc";
|
||||||
version = "1.4.1";
|
minimalOCamlVersion = "4.06";
|
||||||
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
|
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
|
||||||
}
|
};
|
||||||
; in
|
}."${version}"; in
|
||||||
|
|
||||||
buildDunePackage rec {
|
buildDunePackage rec {
|
||||||
pname = "jsonrpc";
|
pname = "jsonrpc";
|
||||||
inherit (params) version;
|
inherit version;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/${params.name}-${version}.tbz";
|
url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/${params.name}-${version}.tbz";
|
||||||
inherit (params) sha256;
|
inherit (params) sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
duneVersion = "3";
|
duneVersion = "3";
|
||||||
minimalOCamlVersion = "4.06";
|
inherit (params) minimalOCamlVersion;
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
if lib.versionAtLeast version "1.7.0" then
|
if lib.versionAtLeast version "1.7.0" then
|
||||||
|
|
|
@ -21,11 +21,24 @@
|
||||||
, cmdliner
|
, cmdliner
|
||||||
, ordering
|
, ordering
|
||||||
, ocamlformat-rpc-lib
|
, ocamlformat-rpc-lib
|
||||||
|
, ocaml
|
||||||
|
, version ?
|
||||||
|
if lib.versionAtLeast ocaml.version "4.14" then
|
||||||
|
"1.16.2"
|
||||||
|
else if lib.versionAtLeast ocaml.version "4.13" then
|
||||||
|
"1.10.5"
|
||||||
|
else if lib.versionAtLeast ocaml.version "4.12" then
|
||||||
|
"1.9.0"
|
||||||
|
else
|
||||||
|
"1.4.1"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let jsonrpc_v = jsonrpc.override {
|
||||||
|
inherit version;
|
||||||
|
}; in
|
||||||
buildDunePackage rec {
|
buildDunePackage rec {
|
||||||
pname = "lsp";
|
pname = "lsp";
|
||||||
inherit (jsonrpc) version src;
|
inherit (jsonrpc_v) version src;
|
||||||
duneVersion = "3";
|
duneVersion = "3";
|
||||||
minimalOCamlVersion =
|
minimalOCamlVersion =
|
||||||
if lib.versionAtLeast version "1.7.0" then
|
if lib.versionAtLeast version "1.7.0" then
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ailment";
|
pname = "ailment";
|
||||||
version = "9.2.63";
|
version = "9.2.64";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||||
owner = "angr";
|
owner = "angr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-Hg8KSReRHOmdoN8CZiX8i8Xdrn5/Gnqmx1QE6elV6qA=";
|
hash = "sha256-KUJpcP7bf8BjmB/QojTQHSwkmzW0bN4nJaD8GcNbcyE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aiohomekit";
|
pname = "aiohomekit";
|
||||||
version = "2.6.15";
|
version = "2.6.16";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||||
owner = "Jc2k";
|
owner = "Jc2k";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-PX2OIgfVOlCEudObJrz/WRQXW7c6Gq9PQqD52D3lmmo=";
|
hash = "sha256-2QnM5WJ0UyuRyL6NiXz22SLUMvyNfbdNIutJSNjS+G8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -11,9 +11,10 @@
|
||||||
, typing-extensions
|
, typing-extensions
|
||||||
, pandas
|
, pandas
|
||||||
, jinja2
|
, jinja2
|
||||||
, importlib-metadata
|
, packaging
|
||||||
|
|
||||||
# Build, dev and test dependencies
|
# Build, dev and test dependencies
|
||||||
|
, anywidget
|
||||||
, ipython
|
, ipython
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, vega_datasets
|
, vega_datasets
|
||||||
|
@ -22,15 +23,17 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "altair";
|
pname = "altair";
|
||||||
version = "5.0.1";
|
# current version, 5.0.1, is broken with jsonschema>=4.18
|
||||||
|
# we use unstable version instead of patch due to many changes
|
||||||
|
version = "unstable-2023-08-12";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "altair-viz";
|
owner = "altair-viz";
|
||||||
repo = "altair";
|
repo = "altair";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "56b3b66daae7160c8d82777d2646131afcc3dab4";
|
||||||
hash = "sha256-7bTrfryu4oaodVGNFNlVk9vXmDA5/9ahvCmvUGzZ5OQ=";
|
hash = "sha256-uVE3Bth1D1mIhaULB4IxEtOzhQd51Pscqyfdys65F6A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -41,12 +44,13 @@ buildPythonPackage rec {
|
||||||
jinja2
|
jinja2
|
||||||
jsonschema
|
jsonschema
|
||||||
numpy
|
numpy
|
||||||
|
packaging
|
||||||
pandas
|
pandas
|
||||||
toolz
|
toolz
|
||||||
] ++ lib.optional (pythonOlder "3.8") importlib-metadata
|
] ++ lib.optional (pythonOlder "3.11") typing-extensions;
|
||||||
++ lib.optional (pythonOlder "3.11") typing-extensions;
|
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
anywidget
|
||||||
ipython
|
ipython
|
||||||
sphinx
|
sphinx
|
||||||
vega_datasets
|
vega_datasets
|
||||||
|
@ -62,6 +66,8 @@ buildPythonPackage rec {
|
||||||
"tests/vegalite/v5/test_api.py"
|
"tests/vegalite/v5/test_api.py"
|
||||||
# avoid updating files and dependency on black
|
# avoid updating files and dependency on black
|
||||||
"tests/test_toplevel.py"
|
"tests/test_toplevel.py"
|
||||||
|
# require vl-convert package
|
||||||
|
"tests/utils/test_compiler.py"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "angr";
|
pname = "angr";
|
||||||
version = "9.2.63";
|
version = "9.2.64";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -41,7 +41,7 @@ buildPythonPackage rec {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-vrcziVoH+P0cqnzalwZOyu7awidQ0Lv6vT6Uq9Pu4I0=";
|
hash = "sha256-NQopPg7ZAKkbq6T/1U8VYT/9oRz9ssg5yqTBpInNHNk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
54
pkgs/development/python-modules/anywidget/default.nix
Normal file
54
pkgs/development/python-modules/anywidget/default.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, hatch-jupyter-builder
|
||||||
|
, hatchling
|
||||||
|
, importlib-metadata
|
||||||
|
, ipywidgets
|
||||||
|
, jupyterlab
|
||||||
|
, psygnal
|
||||||
|
, typing-extensions
|
||||||
|
, watchfiles
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "anywidget";
|
||||||
|
version = "0.6.3";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
hash = "sha256-OUKxmYceEKURJeQTVI7oLT4SdZM90V7BoZf0UykkEV4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
hatch-jupyter-builder
|
||||||
|
hatchling
|
||||||
|
jupyterlab
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
ipywidgets
|
||||||
|
psygnal
|
||||||
|
typing-extensions
|
||||||
|
] ++ lib.optional (pythonOlder "3.8") importlib-metadata;
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
watchfiles
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "anywidget" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Custom jupyter widgets made easy";
|
||||||
|
homepage = "https://github.com/manzt/anywidget";
|
||||||
|
changelog = "https://github.com/manzt/anywidget/releases/tag/anywidget%40${version}";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ natsukium ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "archinfo";
|
pname = "archinfo";
|
||||||
version = "9.2.63";
|
version = "9.2.64";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||||
owner = "angr";
|
owner = "angr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-10ocfA1JFHyZA8Uv5b209rOjY5OeBtKITnoiRaw/w7k=";
|
hash = "sha256-/3dc0p6xDFvv8VwFi5hxiXveiWYr9w3s0PwMv3uV2yw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
, poetry-core
|
, poetry-core
|
||||||
, jsonschema
|
, jsonschema
|
||||||
, peewee
|
, peewee
|
||||||
, appdirs
|
, platformdirs
|
||||||
, iso8601
|
, iso8601
|
||||||
, rfc3339-validator
|
, rfc3339-validator
|
||||||
, strict-rfc3339
|
, strict-rfc3339
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aw-core";
|
pname = "aw-core";
|
||||||
version = "0.5.14";
|
version = "0.5.15";
|
||||||
|
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||||
owner = "ActivityWatch";
|
owner = "ActivityWatch";
|
||||||
repo = "aw-core";
|
repo = "aw-core";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-+XmFh4/wPUpuoRVi8OdzFs/3dwoI1Mjx1hnTiGj+12I=";
|
sha256 = "sha256-3cz79gSkmbGtCKnLGA4HGG5dLu7QB4ZtMnNGrSYB17U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -39,7 +39,7 @@ buildPythonPackage rec {
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
jsonschema
|
jsonschema
|
||||||
peewee
|
peewee
|
||||||
appdirs
|
platformdirs
|
||||||
iso8601
|
iso8601
|
||||||
rfc3339-validator
|
rfc3339-validator
|
||||||
strict-rfc3339
|
strict-rfc3339
|
||||||
|
|
|
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ludeeus";
|
owner = "ludeeus";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-3bHE3U4MM/fQM9zBYfoLpAObay82vchjX9FpJukMGNg=";
|
hash = "sha256-3bHE3U4MM/fQM9zBYfoLpAObay82vchjX9FpJukMGNg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python module to deal with versions";
|
description = "Python module to deal with versions";
|
||||||
homepage = "https://github.com/ludeeus/awesomeversion";
|
homepage = "https://github.com/ludeeus/awesomeversion";
|
||||||
|
changelog = "https://github.com/ludeeus/awesomeversion/releases/tag/${version}";
|
||||||
license = with licenses; [ mit ];
|
license = with licenses; [ mit ];
|
||||||
maintainers = with maintainers; [ fab ];
|
maintainers = with maintainers; [ fab ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,14 +19,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ax";
|
pname = "ax";
|
||||||
version = "0.3.2";
|
version = "0.3.4";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "facebook";
|
owner = "facebook";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-1KLLjeUktXvIDOlTQzMmpbL/On8PTxZQ44Qi4BT3nPk=";
|
hash = "sha256-Yc6alEKXbtQ0hitIdPhkJWhZQg150b0NJJRLZ+f1hdY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -66,6 +66,10 @@ buildPythonPackage rec {
|
||||||
"--ignore=ax/service/tests/test_with_db_settings_base.py"
|
"--ignore=ax/service/tests/test_with_db_settings_base.py"
|
||||||
"--ignore=ax/storage"
|
"--ignore=ax/storage"
|
||||||
];
|
];
|
||||||
|
disabledTests = [
|
||||||
|
# exact comparison of floating points
|
||||||
|
"test_optimize_l0_homotopy"
|
||||||
|
];
|
||||||
pythonImportsCheck = [ "ax" ];
|
pythonImportsCheck = [ "ax" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "azure-eventhub";
|
pname = "azure-eventhub";
|
||||||
version = "5.11.3";
|
version = "5.11.4";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
extension = "zip";
|
extension = "zip";
|
||||||
hash = "sha256-mXXMvKHk+U+VtBG5zPbKJcXrRMDssnU/18wGXT5xSK8=";
|
hash = "sha256-aLiaNRUEDxF2+bSWxMdtOBwQd3mu13V8u7mj2r4wqCM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -1,29 +1,39 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
, azure-common
|
, azure-common
|
||||||
, azure-core
|
, azure-core
|
||||||
|
, azure-mgmt-core
|
||||||
, msrest
|
, msrest
|
||||||
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "azure-synapse-artifacts";
|
pname = "azure-synapse-artifacts";
|
||||||
version = "0.16.0";
|
version = "0.17.0";
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
extension = "zip";
|
extension = "zip";
|
||||||
hash = "sha256-J96cBqCCajK34M7v+2h6t2ptm7QwmfQt25674Q4Nr94=";
|
hash = "sha256-58k8F/aUBBNJwGBiPZojkSzEXZ3Kd6uEwr0cZbFaM9k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
azure-common
|
azure-common
|
||||||
azure-core
|
azure-core
|
||||||
|
azure-mgmt-core
|
||||||
msrest
|
msrest
|
||||||
];
|
];
|
||||||
|
|
||||||
# zero tests run
|
# zero tests run
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
pythonImportsCheck = [ "azure.synapse.artifacts" ];
|
pythonImportsCheck = [
|
||||||
|
"azure.synapse.artifacts"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Microsoft Azure Synapse Artifacts Client Library for Python";
|
description = "Microsoft Azure Synapse Artifacts Client Library for Python";
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, setuptools
|
||||||
|
, setuptools-scm
|
||||||
|
, wheel
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "backports-strenum";
|
||||||
|
version = "1.2.4";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "clbarnes";
|
||||||
|
repo = "backports.strenum";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
hash = "sha256-AhAMVawnBMJ45a3mpthUZvqTeqeCB1Uco4MSusLyA4E=";
|
||||||
|
};
|
||||||
|
|
||||||
|
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
setuptools
|
||||||
|
setuptools-scm
|
||||||
|
wheel
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"backports.strenum"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Base class for creating enumerated constants that are also subclasses of str";
|
||||||
|
homepage = "https://github.com/clbarnes/backports.strenum";
|
||||||
|
license = with licenses; [ psfl ];
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bimmer-connected";
|
pname = "bimmer-connected";
|
||||||
version = "0.13.9";
|
version = "0.13.10";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||||
owner = "bimmerconnected";
|
owner = "bimmerconnected";
|
||||||
repo = "bimmer_connected";
|
repo = "bimmer_connected";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-iAfP8idJXhAsCnhlGUyMHK723kEER5bCYJNLsvaCrTA=";
|
hash = "sha256-IylA73N3bZOs5HjQGbT6xqokb73iO3bdg5M2KCTX3p4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "boschshcpy";
|
pname = "boschshcpy";
|
||||||
version = "0.2.57";
|
version = "0.2.60";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||||
owner = "tschamm";
|
owner = "tschamm";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-/TD5zvvtOkoVG+EJzNNSMbOKXm78Di9tDrBIxpN4wbg=";
|
hash = "sha256-RCHOkTBnJcqGc3Y0cQhkgkizuqNl98MU8lxpVoHVLcc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -15,14 +15,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "botorch";
|
pname = "botorch";
|
||||||
version = "0.8.5";
|
version = "0.9.2";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pytorch";
|
owner = "pytorch";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-VcNHgfk8OfLJseQxHksycWuCPCudCtOdcRV0XnxHSfU=";
|
hash = "sha256-8obS+qMQwepKUxPkMbufR/SaacYekl6FA6t6XW6llA4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue