mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-01 23:22:37 +00: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.meta) addMetaAttrs dontDistribute setName updateName
|
||||
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
||||
hiPrioSet getLicenseFromSpdxId getExe;
|
||||
hiPrioSet getLicenseFromSpdxId getExe getExe';
|
||||
inherit (self.filesystem) pathType pathIsDirectory pathIsRegularFile;
|
||||
inherit (self.sources) cleanSourceFilter
|
||||
cleanSource sourceByRegex sourceFilesBySuffices
|
||||
|
25
lib/meta.nix
25
lib/meta.nix
@ -143,9 +143,24 @@ rec {
|
||||
=> "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
|
||||
*/
|
||||
getExe = x:
|
||||
"${lib.getBin x}/bin/${x.meta.mainProgram or (
|
||||
# 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.getName x
|
||||
)}";
|
||||
let
|
||||
y = x.meta.mainProgram or (
|
||||
# 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, use getExe' to specify the name to the program, such as lib.getExe' foo \"bar\"."
|
||||
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.''
|
||||
(let
|
||||
preLen = stringLength prefix;
|
||||
sLen = stringLength str;
|
||||
in
|
||||
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
|
||||
str);
|
||||
|
||||
|
@ -349,6 +349,27 @@ runTests {
|
||||
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 = {
|
||||
expr = strings.normalizePath "//a/b//c////d/";
|
||||
expected = "/a/b/c/d/";
|
||||
|
@ -8724,6 +8724,11 @@
|
||||
githubId = 1927188;
|
||||
name = "karolchmist";
|
||||
};
|
||||
katexochen = {
|
||||
github = "katexochen";
|
||||
githubId = 49727155;
|
||||
name = "Paul Meyer";
|
||||
};
|
||||
kayhide = {
|
||||
email = "kayhide@gmail.com";
|
||||
github = "kayhide";
|
||||
@ -15081,6 +15086,13 @@
|
||||
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 = {
|
||||
email = "peter.schuller@infidyne.com";
|
||||
github = "scode";
|
||||
@ -17787,6 +17799,12 @@
|
||||
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 = {
|
||||
email = "vincent@bernat.ch";
|
||||
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
|
||||
will wind up with a broken symlink in your systemd configuration, which
|
||||
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 = {
|
||||
services.haproxy = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable HAProxy, the reliable, high performance TCP/HTTP
|
||||
load balancer.
|
||||
'';
|
||||
};
|
||||
enable = mkEnableOption (lib.mdDoc "HAProxy, the reliable, high performance TCP/HTTP load balancer.");
|
||||
|
||||
package = mkPackageOptionMD pkgs "haproxy" { };
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
@ -70,15 +65,15 @@ with lib;
|
||||
ExecStartPre = [
|
||||
# when the master process receives USR2, it reloads itself using exec(argv[0]),
|
||||
# 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
|
||||
"/run/haproxy/haproxy -c -f ${haproxyCfg}"
|
||||
];
|
||||
ExecStart = "/run/haproxy/haproxy -Ws -f /etc/haproxy.cfg -p /run/haproxy/haproxy.pid";
|
||||
# support reloading
|
||||
ExecReload = [
|
||||
"${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}"
|
||||
"${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy"
|
||||
"${lib.getExe cfg.package} -c -f ${haproxyCfg}"
|
||||
"${pkgs.coreutils}/bin/ln -sf ${lib.getExe cfg.package} /run/haproxy/haproxy"
|
||||
"${pkgs.coreutils}/bin/kill -USR2 $MAINPID"
|
||||
];
|
||||
KillMode = "mixed";
|
||||
|
@ -69,6 +69,8 @@ in
|
||||
enableServer = lib.mkEnableOption (lib.mdDoc "the Kanidm server");
|
||||
enablePam = lib.mkEnableOption (lib.mdDoc "the Kanidm PAM and NSS integration");
|
||||
|
||||
package = lib.mkPackageOptionMD pkgs "kanidm" {};
|
||||
|
||||
serverSettings = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
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 {
|
||||
description = "kanidm identity management daemon";
|
||||
@ -237,7 +239,7 @@ in
|
||||
StateDirectory = "kanidm";
|
||||
StateDirectoryMode = "0700";
|
||||
RuntimeDirectory = "kanidmd";
|
||||
ExecStart = "${pkgs.kanidm}/bin/kanidmd server -c ${serverConfigFile}";
|
||||
ExecStart = "${cfg.package}/bin/kanidmd server -c ${serverConfigFile}";
|
||||
User = "kanidm";
|
||||
Group = "kanidm";
|
||||
|
||||
@ -270,7 +272,7 @@ in
|
||||
CacheDirectory = "kanidm-unixd";
|
||||
CacheDirectoryMode = "0700";
|
||||
RuntimeDirectory = "kanidm-unixd";
|
||||
ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd";
|
||||
ExecStart = "${cfg.package}/bin/kanidm_unixd";
|
||||
User = "kanidm-unixd";
|
||||
Group = "kanidm-unixd";
|
||||
|
||||
@ -302,7 +304,7 @@ in
|
||||
partOf = [ "kanidm-unixd.service" ];
|
||||
restartTriggers = [ unixConfigFile clientConfigFile ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd_tasks";
|
||||
ExecStart = "${cfg.package}/bin/kanidm_unixd_tasks";
|
||||
|
||||
BindReadOnlyPaths = [
|
||||
"/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.passwd = lib.optional cfg.enablePam "kanidm";
|
||||
@ -365,7 +367,7 @@ in
|
||||
description = "Kanidm server";
|
||||
isSystemUser = true;
|
||||
group = "kanidm";
|
||||
packages = with pkgs; [ kanidm ];
|
||||
packages = [ cfg.package ];
|
||||
};
|
||||
})
|
||||
(lib.mkIf cfg.enablePam {
|
||||
|
@ -1,79 +1,66 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.mediamtx;
|
||||
package = pkgs.mediamtx;
|
||||
format = pkgs.formats.yaml {};
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [ fpletz ];
|
||||
|
||||
options = {
|
||||
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 ''
|
||||
Settings for MediaMTX.
|
||||
Read more at <https://github.com/aler9/mediamtx/blob/main/mediamtx.yml>
|
||||
Settings for MediaMTX. Refer to the defaults at
|
||||
<https://github.com/bluenviron/mediamtx/blob/main/mediamtx.yml>.
|
||||
'';
|
||||
type = format.type;
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
default = {};
|
||||
example = {
|
||||
paths = {
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
env = mkOption {
|
||||
type = with types; attrsOf anything;
|
||||
env = lib.mkOption {
|
||||
type = with lib.types; attrsOf anything;
|
||||
description = lib.mdDoc "Extra environment variables for MediaMTX";
|
||||
default = {};
|
||||
example = {
|
||||
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
|
||||
environment.etc."mediamtx.yaml".source = format.generate "mediamtx.yaml" cfg.settings;
|
||||
|
||||
systemd.services.mediamtx = {
|
||||
environment = cfg.env;
|
||||
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
path = with pkgs; [
|
||||
ffmpeg
|
||||
];
|
||||
environment = cfg.env;
|
||||
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
User = "mediamtx";
|
||||
Group = "mediamtx";
|
||||
|
||||
LogsDirectory = "mediamtx";
|
||||
|
||||
# user likely may want to stream cameras, can't hurt to add video group
|
||||
SupplementaryGroups = "video";
|
||||
|
||||
ExecStart = "${package}/bin/mediamtx /etc/mediamtx.yaml";
|
||||
SupplementaryGroups = lib.mkIf cfg.allowVideoAccess "video";
|
||||
ExecStart = "${cfg.package}/bin/mediamtx /etc/mediamtx.yaml";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -7,6 +7,9 @@ let
|
||||
|
||||
settingsFile = settingsFormat.generate "invidious-settings" cfg.settings;
|
||||
|
||||
generatedHmacKeyFile = "/var/lib/invidious/hmac_key";
|
||||
generateHmac = cfg.hmacKeyFile == null;
|
||||
|
||||
serviceConfig = {
|
||||
systemd.services.invidious = {
|
||||
description = "Invidious (An alternative YouTube front-end)";
|
||||
@ -14,22 +17,47 @@ let
|
||||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script =
|
||||
let
|
||||
jqFilter = "."
|
||||
+ lib.optionalString (cfg.database.host != null) "[0].db.password = \"'\"'\"$(cat ${lib.escapeShellArg cfg.database.passwordFile})\"'\"'\""
|
||||
+ " | .[0]"
|
||||
+ lib.optionalString (cfg.extraSettingsFile != null) " * .[1]";
|
||||
jqFiles = [ settingsFile ] ++ lib.optional (cfg.extraSettingsFile != null) cfg.extraSettingsFile;
|
||||
in
|
||||
''
|
||||
export INVIDIOUS_CONFIG="$(${pkgs.jq}/bin/jq -s "${jqFilter}" ${lib.escapeShellArgs jqFiles})"
|
||||
exec ${cfg.package}/bin/invidious
|
||||
'';
|
||||
preStart = lib.optionalString generateHmac ''
|
||||
if [[ ! -e "${generatedHmacKeyFile}" ]]; then
|
||||
${pkgs.pwgen}/bin/pwgen 20 1 > "${generatedHmacKeyFile}"
|
||||
chmod 0600 "${generatedHmacKeyFile}"
|
||||
fi
|
||||
'';
|
||||
|
||||
script = ''
|
||||
configParts=()
|
||||
''
|
||||
# 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
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
RestartSec = "2s";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "invidious";
|
||||
StateDirectoryMode = "0750";
|
||||
|
||||
CapabilityBoundingSet = "";
|
||||
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 {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
|
@ -61,6 +61,8 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkPackageOptionMD pkgs "picom" { };
|
||||
|
||||
fade = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
@ -301,13 +303,13 @@ in {
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}";
|
||||
ExecStart = "${getExe cfg.package} --config ${configFile}";
|
||||
RestartSec = 3;
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.picom ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
};
|
||||
|
||||
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
|
||||
# assumed to contain override files which will be parsed as well and handled properly.
|
||||
sub parse_unit {
|
||||
my ($unit_path) = @_;
|
||||
my ($unit_path, $base_unit_path) = @_;
|
||||
|
||||
# Parse the main unit and all overrides
|
||||
my %unit_data;
|
||||
# Replace \ with \\ so glob() still works with units that have a \ in them
|
||||
# Valid characters in unit names are ASCII letters, digits, ":", "-", "_", ".", and "\"
|
||||
$base_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, "$_")
|
||||
}
|
||||
# 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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
# 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)
|
||||
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) {
|
||||
# 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
|
||||
# More details: https://github.com/NixOS/nixpkgs/issues/74899#issuecomment-981142430
|
||||
} 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}) {
|
||||
$units_to_reload->{$unit} = 1;
|
||||
record_unit($reload_list_file, $unit);
|
||||
@ -538,31 +546,33 @@ my %units_to_filter; # units not shown
|
||||
|
||||
my $active_cur = get_active_units();
|
||||
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 $new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
||||
my $base_unit = $unit;
|
||||
my $cur_base_unit_file = $cur_unit_file;
|
||||
my $new_base_unit_file = $new_unit_file;
|
||||
|
||||
# Detect template instances.
|
||||
if (!-e $cur_unit_file && !-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
||||
$base_unit = "$1\@.$2";
|
||||
$cur_unit_file = "/etc/systemd/system/$base_unit";
|
||||
$new_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
||||
$cur_base_unit_file = "/etc/systemd/system/$base_unit";
|
||||
$new_base_unit_file = "$toplevel/etc/systemd/system/$base_unit";
|
||||
}
|
||||
|
||||
my $base_name = $base_unit;
|
||||
$base_name =~ s/\.[[:lower:]]*$//msx;
|
||||
|
||||
if (-e $cur_unit_file && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
||||
if (! -e $new_unit_file || abs_path($new_unit_file) eq "/dev/null") {
|
||||
my %cur_unit_info = parse_unit($cur_unit_file);
|
||||
if (-e $cur_base_unit_file && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
||||
if (! -e $new_base_unit_file || abs_path($new_base_unit_file) eq "/dev/null") {
|
||||
my %cur_unit_info = parse_unit($cur_unit_file, $cur_base_unit_file);
|
||||
if (parse_systemd_bool(\%cur_unit_info, "Unit", "X-StopOnRemoval", 1)) {
|
||||
$units_to_stop{$unit} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
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.
|
||||
# This should start most changed units we stop here as
|
||||
@ -596,11 +606,11 @@ while (my ($unit, $state) = each(%{$active_cur})) {
|
||||
}
|
||||
|
||||
else {
|
||||
my %cur_unit_info = parse_unit($cur_unit_file);
|
||||
my %new_unit_info = parse_unit($new_unit_file);
|
||||
my %cur_unit_info = parse_unit($cur_unit_file, $cur_base_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);
|
||||
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}) {
|
||||
$units_to_reload{$unit} = 1;
|
||||
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.
|
||||
foreach (split(/\n/msx, read_file($dry_restart_by_activation_file, err_mode => "quiet") // "")) {
|
||||
my $unit = $_;
|
||||
my $new_unit_file = "$toplevel/etc/systemd/system/$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.
|
||||
if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
||||
$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;
|
||||
@ -728,7 +739,7 @@ if ($action eq "dry-activate") {
|
||||
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);
|
||||
|
||||
@ -782,13 +793,14 @@ system("$out/activate", "$out") == 0 or $res = 2;
|
||||
# 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") // "")) {
|
||||
my $unit = $_;
|
||||
my $new_unit_file = "$toplevel/etc/systemd/system/$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.
|
||||
if (!-e $new_unit_file && $unit =~ /^(.*)@[^\.]*\.(.*)$/msx) {
|
||||
$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;
|
||||
@ -801,7 +813,7 @@ foreach (split(/\n/msx, read_file($restart_by_activation_file, err_mode => "quie
|
||||
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
|
||||
unlink($restart_by_activation_file);
|
||||
@ -859,7 +871,7 @@ if (scalar(keys(%units_to_reload)) > 0) {
|
||||
for my $unit (keys(%units_to_reload)) {
|
||||
if (!unit_is_active($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))) {
|
||||
$units_to_start{$unit} = 1;
|
||||
record_unit($start_list_file, $unit);
|
||||
|
@ -463,6 +463,7 @@ in {
|
||||
matrix-conduit = handleTest ./matrix/conduit.nix {};
|
||||
matrix-synapse = handleTest ./matrix/synapse.nix {};
|
||||
mattermost = handleTest ./mattermost.nix {};
|
||||
mediamtx = handleTest ./mediamtx.nix {};
|
||||
mediatomb = handleTest ./mediatomb.nix {};
|
||||
mediawiki = handleTest ./mediawiki.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 = ''
|
||||
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.
|
||||
|
||||
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
|
||||
# listen on port 1234 if not socket-activated.
|
||||
@ -279,6 +279,28 @@ in {
|
||||
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 = {
|
||||
systemd.services = rec {
|
||||
simple-service = {
|
||||
@ -290,29 +312,50 @@ in {
|
||||
ExecReload = "${pkgs.coreutils}/bin/true";
|
||||
};
|
||||
};
|
||||
"templated-simple-service@" = simple-service;
|
||||
"templated-simple-service@instance".overrideStrategy = "asDropin";
|
||||
|
||||
simple-restart-service = simple-service // {
|
||||
stopIfChanged = false;
|
||||
};
|
||||
"templated-simple-restart-service@" = simple-restart-service;
|
||||
"templated-simple-restart-service@instance".overrideStrategy = "asDropin";
|
||||
|
||||
simple-reload-service = simple-service // {
|
||||
reloadIfChanged = true;
|
||||
};
|
||||
"templated-simple-reload-service@" = simple-reload-service;
|
||||
"templated-simple-reload-service@instance".overrideStrategy = "asDropin";
|
||||
|
||||
no-restart-service = simple-service // {
|
||||
restartIfChanged = false;
|
||||
};
|
||||
"templated-no-restart-service@" = no-restart-service;
|
||||
"templated-no-restart-service@instance".overrideStrategy = "asDropin";
|
||||
|
||||
reload-triggers = simple-service // {
|
||||
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;
|
||||
"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 // {
|
||||
stopIfChanged = false; # easier to check for this
|
||||
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 = {
|
||||
@ -332,12 +375,20 @@ in {
|
||||
simple-reload-service.service
|
||||
no-restart-service.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
|
||||
|
||||
cat <<EOF >> "$g"
|
||||
reload-triggers.service
|
||||
reload-triggers-and-restart-by-as.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
|
||||
'';
|
||||
};
|
||||
@ -346,6 +397,10 @@ in {
|
||||
restart-and-reload-by-activation-script-modified.configuration = {
|
||||
imports = [ restart-and-reload-by-activation-script.configuration ];
|
||||
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 = {
|
||||
@ -507,6 +562,10 @@ in {
|
||||
set -o pipefail
|
||||
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 */ ''
|
||||
def switch_to_specialisation(system, name, action="test", fail=False):
|
||||
if name == "":
|
||||
@ -733,6 +792,16 @@ in {
|
||||
assert_contains(out, "\nstarting the following units: required-service.service\n")
|
||||
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"):
|
||||
# Let the simple service fail
|
||||
switch_to_specialisation("${machine}", "simpleServiceModified")
|
||||
@ -896,15 +965,62 @@ in {
|
||||
assert_lacks(out, "NOT restarting the following changed units:")
|
||||
assert_lacks(out, "reloading 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, "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")
|
||||
assert_contains(out, "\nstarting the following units: ${sortedUnits [
|
||||
"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
|
||||
# and reloaded by the activation script
|
||||
out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script")
|
||||
assert_lacks(out, "stopping the following 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, "restarting the following units: reload-triggers-and-restart-by-as.service, simple-restart-service.service, simple-service.service\n")
|
||||
assert_contains(out, "reloading the following units: ${sortedUnits [
|
||||
"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, "the following new units were started:")
|
||||
# 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")
|
||||
assert_lacks(out, "stopping the following 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, "restarting the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
||||
assert_contains(out, "reloading the following units: ${sortedUnits [
|
||||
"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, "the following new units were started:")
|
||||
# The same, but in dry mode
|
||||
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 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 restart the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
|
||||
assert_contains(out, "would reload the following units: ${sortedUnits [
|
||||
"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:")
|
||||
|
||||
with subtest("socket-activated services"):
|
||||
|
@ -20,7 +20,7 @@
|
||||
geminiserver.wait_for_open_port(1965)
|
||||
|
||||
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)
|
||||
assert "Hello NixOS!" in response
|
||||
'';
|
||||
|
@ -10,11 +10,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.9.7";
|
||||
version = "3.0.1";
|
||||
pname = "asunder";
|
||||
src = fetchurl {
|
||||
url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1x3l308ss0iqhz90qyjb94gyd8b4piyrm2nzjmg5kf049k9prjf1";
|
||||
sha256 = "sha256-iGji4bl7ZofIAOf2EiYqMWu4V+3TmIN2jOYottJTN2s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ intltool makeWrapper pkg-config ];
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cava";
|
||||
version = "0.8.3";
|
||||
version = "0.9.0";
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "karlstav";
|
||||
repo = "cava";
|
||||
rev = version;
|
||||
sha256 = "sha256-6xiWhWynIbUWFIieiYIg24PgwnKuNSIEpkY+P6gyFGw=";
|
||||
sha256 = "sha256-mIgkvgVcbRdE29lSLojIzIsnwZgnQ+B2sgScDWrLyd8=";
|
||||
};
|
||||
|
||||
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
|
||||
, lib
|
||||
{ copyDesktopItems
|
||||
, fetchFromGitHub
|
||||
, pipewire
|
||||
, pulseaudio
|
||||
, gst_all_1
|
||||
, glibmm
|
||||
, gst_all_1
|
||||
, lib
|
||||
, libarchive
|
||||
, makeDesktopItem
|
||||
, pipewire
|
||||
, pkg-config
|
||||
, pulseaudio
|
||||
, qmake
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, wrapQtAppsHook
|
||||
, makeDesktopItem
|
||||
, pkg-config
|
||||
, libarchive
|
||||
, copyDesktopItems
|
||||
, stdenv
|
||||
, usePipewire ? true
|
||||
, usePulseaudio ? false
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
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";
|
||||
version = "2.6.0";
|
||||
version = "2.6.1";
|
||||
|
||||
src = fetchFromGitHub rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "Audio4Linux";
|
||||
repo = "JDSP4Linux";
|
||||
fetchSubmodules = true;
|
||||
rev = version;
|
||||
hash = "sha256-pogBpmGlqQnkXMdp5HbMYISjwMJalSPvEV9MDHj8aec=";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-XYJl94/PstWG5qaBQ2rXc/nG9bDeP3Q62zDYHmZvPaw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -43,15 +43,16 @@ stdenv.mkDerivation rec {
|
||||
libarchive
|
||||
qtbase
|
||||
qtsvg
|
||||
] ++ lib.optional usePipewire pipewire
|
||||
++ lib.optionals usePulseaudio [
|
||||
] ++ lib.optionals usePipewire [
|
||||
pipewire
|
||||
] ++ lib.optionals usePulseaudio [
|
||||
pulseaudio
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
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")
|
||||
'';
|
||||
|
||||
@ -76,12 +77,12 @@ stdenv.mkDerivation rec {
|
||||
install -D resources/icons/icon.svg $out/share/icons/hicolor/scalable/apps/jamesdsp.svg
|
||||
'';
|
||||
|
||||
meta = with lib;{
|
||||
meta = {
|
||||
broken = (stdenv.isLinux && stdenv.isAarch64);
|
||||
description = "An audio effect processor for PipeWire clients";
|
||||
homepage = "https://github.com/Audio4Linux/JDSP4Linux";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ pasqui23 rewine ];
|
||||
platforms = platforms.linux;
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ pasqui23 rewine ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -64,6 +64,18 @@ in stdenv'.mkDerivation rec {
|
||||
url = "https://github.com/doronbehar/MuseScore/commit/f48448a3ede46f5a7ef470940072fbfb6742487c.patch";
|
||||
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 = [
|
||||
@ -73,7 +85,7 @@ in stdenv'.mkDerivation rec {
|
||||
# https://github.com/musescore/MuseScore/issues/15571
|
||||
"-DMUE_BUILD_CRASHPAD_CLIENT=OFF"
|
||||
# Use our freetype
|
||||
"-DUSE_SYSTEM_FREETYPE=ON"
|
||||
"-DMUE_COMPILE_USE_SYSTEM_FREETYPE=ON"
|
||||
# From some reason, in $src/build/cmake/SetupBuildEnvironment.cmake,
|
||||
# upstream defaults to compiling to x86_64 only, unless this cmake flag is
|
||||
# set
|
||||
@ -141,6 +153,9 @@ in stdenv'.mkDerivation rec {
|
||||
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;
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -5,14 +5,14 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qpwgraph";
|
||||
version = "0.5.1";
|
||||
version = "0.5.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "rncbc";
|
||||
repo = "qpwgraph";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HVeuqgqYf/gO1KdteXV4dWd13Q58GqHUz8CAYpruc18=";
|
||||
sha256 = "sha256-qcd19YI2RDoh+vjeelxNajWsUwVokLu0kh35a4oezKA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "btcpayserver";
|
||||
version = "1.11.1";
|
||||
version = "1.11.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fKw1RKylpbejzSTO3Ti2toJiSwqtmNC1e2XDAYa9L/0=";
|
||||
sha256 = "sha256-22JQ8GqMRNfBT2ynyGhJBeGgnyAVYVBa5tUGZsleDP0=";
|
||||
};
|
||||
|
||||
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
||||
|
@ -38,13 +38,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.196.0";
|
||||
version = "1.197.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
hash = "sha256-O037+Pm/aq/9ZPMYpWlNPa9tEilatN8OJ3oBAuk4UTs=";
|
||||
hash = "sha256-960Ucp2iNDqK2n/sJSIyMWxgCCs0LVyafn8SRRhli4c=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
24
pkgs/applications/editors/cudatext/deps.json
generated
24
pkgs/applications/editors/cudatext/deps.json
generated
@ -6,18 +6,18 @@
|
||||
},
|
||||
"ATBinHex-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2022.06.14",
|
||||
"hash": "sha256-3QhARraYURW5uCf2f4MZfUbxdbsg9h7BlXUxKcz4jwA="
|
||||
"rev": "2023.08.12",
|
||||
"hash": "sha256-dEwz052aYcJtKpRcP8t7gE2RHuHPQ4T0zHFMv6zVZ6g="
|
||||
},
|
||||
"ATFlatControls": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2023.05.31",
|
||||
"hash": "sha256-/CN6wa5XN5ERdFnqOXxxtT08ObtlToqe3YsLpiog40w="
|
||||
"rev": "2023.08.12",
|
||||
"hash": "sha256-YBIuwiHE83mxxtl9PNrQN3LrEBFHvYY74zhV+UtAbZ4="
|
||||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2023.07.05",
|
||||
"hash": "sha256-+FZjmrB8t7WM3XALqT+jvTSbBYIVLav4zSSCvMr5r+U="
|
||||
"rev": "2023.08.12",
|
||||
"hash": "sha256-hFDWb7gMQiTkItFC5KfSrpAW3FSkmAhxcc5GOdov3EE="
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
@ -31,8 +31,8 @@
|
||||
},
|
||||
"ATSynEdit_Ex": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2023.07.05",
|
||||
"hash": "sha256-dvo4lariMl/FMSp6VJEAk/Zhaz2fdBxe7aKw229DxKw="
|
||||
"rev": "2023.08.12",
|
||||
"hash": "sha256-cEu8qkmcsNwrLR5t3bfMHI9fd3wmAq/dI/iRM4I4wmQ="
|
||||
},
|
||||
"Python-for-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
@ -41,8 +41,8 @@
|
||||
},
|
||||
"Emmet-Pascal": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2022.09.18",
|
||||
"hash": "sha256-Kutl4Jh/+KptGbqakzPJnIYlFtytXVlzKWulKt4Z+/g="
|
||||
"rev": "2023.08.12",
|
||||
"hash": "sha256-s9ZKrL+XIWIwejnLz+uuyDbbDuOZLJhiuiMChKB4Reg="
|
||||
},
|
||||
"CudaText-lexers": {
|
||||
"owner": "Alexey-T",
|
||||
@ -51,7 +51,7 @@
|
||||
},
|
||||
"bgrabitmap": {
|
||||
"owner": "bgrabitmap",
|
||||
"rev": "v11.5.4",
|
||||
"hash": "sha256-Js7MQ1JYAl2cpnjgDOXeLcWBCrjjCnDORayRpSFoFhM="
|
||||
"rev": "v11.5.5",
|
||||
"hash": "sha256-M4ql+9zk5AJfmmHb9EG0PsJZGWcMm9/Y0lrPQqnKqcU="
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,8 @@ in
|
||||
|
||||
cask = callPackage ./manual-packages/cask { };
|
||||
|
||||
consult-gh = callPackage ./manual-packages/consult-gh { };
|
||||
|
||||
control-lock = callPackage ./manual-packages/control-lock { };
|
||||
|
||||
ebuild-mode = callPackage ./manual-packages/ebuild-mode { };
|
||||
@ -65,8 +67,6 @@ in
|
||||
|
||||
pod-mode = callPackage ./manual-packages/pod-mode { };
|
||||
|
||||
power-mode = callPackage ./manual-packages/power-mode { };
|
||||
|
||||
prisma-mode = callPackage ./manual-packages/prisma-mode { };
|
||||
|
||||
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 {
|
||||
pname = "helix";
|
||||
@ -14,6 +14,13 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
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 ];
|
||||
|
||||
postInstall = ''
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "texstudio";
|
||||
version = "4.6.2";
|
||||
version = "4.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "texstudio-org";
|
||||
repo = "texstudio";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-2bvKB/8HcZoTk2J6FQXXJREqGp6EZ95C2Aqcx9o/eho=";
|
||||
hash = "sha256-L8N7T7FFfjT801HxbQiiC0ewW7vde4S0RVmNT2CWiWY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -3,24 +3,24 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.1.1";
|
||||
rev = "af12e2e4da586275ba931eae8f40a2201251bf59";
|
||||
version = "unstable-2023-07-08";
|
||||
rev = "989cfe52a0458b991e0a7d87edec81d3fef472ac";
|
||||
|
||||
baseUrl = "https://emux.cc/versions/${lib.substring 0 8 rev}/CCEmuX";
|
||||
jar =
|
||||
if useCCTweaked
|
||||
then fetchurl {
|
||||
url = "${baseUrl}-cct.jar";
|
||||
sha256 = "0d9gzi1h5vz32fp4lfn7dam189jcm7bwbqwmlpj0c47p8l0d4lsv";
|
||||
hash = "sha256-B9Zan6wpYnUtaNbUIrXvkchPiEquMs9R2Kiqg85/VdY=";
|
||||
}
|
||||
else fetchurl {
|
||||
url = "${baseUrl}-cc.jar";
|
||||
sha256 = "0ky5vxh8m1v98zllifxif8xxd25j2xdp19hjnj4xlkck71lbnb34";
|
||||
hash = "sha256-2Z38O6z7OrHKe8GdLnexin749uJzQaCZglS+SwVD5YE=";
|
||||
};
|
||||
|
||||
desktopIcon = fetchurl {
|
||||
url = "https://github.com/CCEmuX/CCEmuX/raw/${rev}/src/main/resources/img/icon.png";
|
||||
sha256 = "1vmb6rg9k2y99j8xqfgbsvfgfi3g985rmqwrd7w3y54ffr2r99c2";
|
||||
hash = "sha256-gqWURXaOFD/4aZnjmgtKb0T33NbrOdyRTMmLmV42q+4=";
|
||||
};
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "CCEmuX";
|
||||
@ -63,6 +63,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/CCEmuX/CCEmuX";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ CrazedProgrammer ];
|
||||
maintainers = with maintainers; [ CrazedProgrammer viluon ];
|
||||
};
|
||||
}
|
||||
|
@ -28,13 +28,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
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 {
|
||||
owner = "Ryujinx";
|
||||
repo = "Ryujinx";
|
||||
rev = "5a0aa074b661753d8f0202a73d9f6f3ac6e2ab11";
|
||||
sha256 = "0f1wivwf7hnsqi7sgqjrikxvakrk8dmywpmyd36a3s5lbk878wp3";
|
||||
rev = "33f544fd9248361440afd6013e0ef9d69971d6da";
|
||||
sha256 = "1cnz3j8qndfrm1iifbzswyf4vcii939naj29bvr2mp6bdwrbqi49";
|
||||
};
|
||||
|
||||
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!
|
||||
|
||||
{ fetchNuGet }: [
|
||||
(fetchNuGet { pname = "Avalonia"; version = "0.10.21"; sha256 = "1x6z0wvlg5ww6n7idj2pwc6mxd7k9xsb7vh3v0z4in3rck0vwz95"; })
|
||||
(fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; })
|
||||
(fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.16"; sha256 = "11v3a4kda04jacznl7j8fc9zw16ysajwc3ljmdribbqz1rrr823v"; })
|
||||
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.21"; sha256 = "0rx9qni3m1zhv6n73kskgj7vd6fxsalg84i2202gz53m11li7yvj"; })
|
||||
(fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.21"; sha256 = "0jjx8lfbzqznqv7xpkfi8xvygqcqfk8wzkj9ambq30cn4h1ids05"; })
|
||||
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.21"; sha256 = "10fl0nb8lhpvms1apb3mmswrpirc2j8vr78jvb63cni0885vxhab"; })
|
||||
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.21"; sha256 = "038i1vim97niyh9qf5b1lbrakc8r7m03nk1yqn3iv563q8zbwfq7"; })
|
||||
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.21"; sha256 = "0p0jz3za6y708fp0wpbjyqivfp6979ldwx8r95nmdmh10fm9q4yi"; })
|
||||
(fetchNuGet { pname = "Avalonia.Native"; version = "0.10.21"; sha256 = "08f17zb0dq7p7naz96il15lhbrzan4897wghkl8rrd80dw0bhbb2"; })
|
||||
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.21"; sha256 = "03ca99awvp178jsndy5zlsc17rlx29iz0x2jvj85fh6qdvds2dhj"; })
|
||||
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.18"; sha256 = "1vi83d9q6m2zd7b5snyzjxsj3vdp5bmi5vqhfslzghslpbhj2zwv"; })
|
||||
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.21"; sha256 = "0fja6rv0gw5kjiz0vpnyv5lv8xz5gzd71wz0052x9mrgq3jz00p8"; })
|
||||
(fetchNuGet { pname = "Avalonia.Svg"; version = "0.10.18"; sha256 = "06h7yh2lkm4rqfchn7nxqjbqx4afh42w61z9sby7b5gj56h5a84q"; })
|
||||
(fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "0.10.18"; sha256 = "0s25aq3xz0km55jwdxp59z8cc0d1zqaag1hiwnxdzd30id2ahn66"; })
|
||||
(fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.21"; sha256 = "0ichldyigbsd82jrryq340bqlh7jw9zr850fyni2g3h0bbcx5327"; })
|
||||
(fetchNuGet { pname = "Avalonia.X11"; version = "0.10.21"; sha256 = "08vbdiv2k9vp8gp59rk0z63jyn8hlv8a4956jczy05ail5qfl94v"; })
|
||||
(fetchNuGet { pname = "Avalonia"; version = "11.0.3"; sha256 = "1ig635386glxgfv9l894dqp98l93ymsylml649xm42lc9a9f1khc"; })
|
||||
(fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; })
|
||||
(fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; })
|
||||
(fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.0"; sha256 = "06wgzhxkivlaxkn8p61wainsprml2g1q4jmvy9fpn64qnfywjdn7"; })
|
||||
(fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.3"; sha256 = "0xcxwc588lc2ify2d3m53pmwjgf7p9lwz5q11hn8p5c9zh01iai9"; })
|
||||
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.3"; sha256 = "1kls0v2rjimcv7k0dvqd3l694xdg9nf8wdzcz1cadi4qvj0bx7l4"; })
|
||||
(fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.0"; sha256 = "1qxw096av0n4ks0jixh7xxrzgsn9fshp1ypy3vvij7r0a1sk7y1q"; })
|
||||
(fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.0-rc2.1"; sha256 = "0pmc0fi2abn9qaqwx9lvqnd1a5a8lzp8zin72d3k3xjsh1w1g0n8"; })
|
||||
(fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.3"; sha256 = "0g8hzvkf2rrfnpmm56m2miwpdw14l04rr0q8xz03j220fy9xk5fm"; })
|
||||
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.3"; sha256 = "1rificg9ikf8m2550ylrqavkkvihf8xb22agmdrbz07v7s93v731"; })
|
||||
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.3"; sha256 = "0w8qc45phfz4mnnx1mfxi042qmq31shmjmz5inb4maw9xha0yr3c"; })
|
||||
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.3"; sha256 = "09g4flx6sg2b2mkwbqrwl51q87xzy0d43j2xjxvnwc8vwhr1h8gs"; })
|
||||
(fetchNuGet { pname = "Avalonia.Native"; version = "11.0.3"; sha256 = "1gi3y2cdfcjkwjldavahyx09a1n91jpvx8szwrfgr3kk4ycc5lyn"; })
|
||||
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0"; sha256 = "1b5031k8slwiz7bncih67fjl6ny234yd4skqxk611l9zp5snjic2"; })
|
||||
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.3"; sha256 = "0syh20a6892pip4qz32kgc5w77ig40yjgwbcknivhjr8arc3126r"; })
|
||||
(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 = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
|
||||
(fetchNuGet { pname = "DiscordRichPresence"; version = "1.2.1.24"; sha256 = "0maw0yd6xgwy0cgk593z3zva0r5j267zpdmmpq8avj3zbna6n4x1"; })
|
||||
(fetchNuGet { pname = "DynamicData"; version = "7.14.2"; sha256 = "07k79w4702masq71rk865mi3h1kaxamyp7dgl08ny4n22gg8482k"; })
|
||||
(fetchNuGet { pname = "ExCSS"; version = "4.1.4"; sha256 = "1y50xp6rihkydbf5l73mr3qq2rm6rdfjrzdw9h1dw9my230q5lpd"; })
|
||||
(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 = "GtkSharp.Dependencies"; version = "1.1.1"; sha256 = "0ffywnc3ca1lwhxdnk99l238vsprsrsh678bgm238lb7ja7m52pw"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.1-preview.108"; sha256 = "0xs4px4fy5b6glc77rqswzpi5ddhxvbar1md6q9wla7hckabnq0z"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.1-preview.108"; sha256 = "16wvgvyra2g1b38rxxgkk85wbz89hspixs54zfcm4racgmj1mrj4"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.1-preview.108"; sha256 = "16v7lrwwif2f5zfkx08n6y6w3m56mh4hy757biv0w9yffaf200js"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.1-preview.108"; sha256 = "15kqb353snwpavz3jja63mq8xjqsrw1f902scm8wxmsqrm5q6x55"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.108"; sha256 = "0n6ymn9jqms3mk5hg0ar4y9jmh96myl6q0jimn7ahb1a8viq55k1"; })
|
||||
(fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; })
|
||||
(fetchNuGet { pname = "jp2masa.Avalonia.Flexbox"; version = "0.2.0"; sha256 = "1abck2gad29mgf9gwqgc6wr8iwl64v50n0sbxcj1bcxgkgndraiq"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; sha256 = "043hv36bg5240znbm8x5la7py17m4jfzy57q3ka32f6zjld83j36"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; })
|
||||
(fetchNuGet { pname = "jp2masa.Avalonia.Flexbox"; version = "0.3.0-beta.4"; sha256 = "17847ssn15l755zmspvb69wsfbj9ayvy9xl8zgjx6wvvwp6x89cp"; })
|
||||
(fetchNuGet { pname = "LibHac"; version = "0.18.0"; sha256 = "19d5fqdcws0730580jlda6pdddprxcrhw7b3ybiiglabsr7bmgdv"; })
|
||||
(fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.10.4"; sha256 = "1bdgy6g15d1mln1xpvs6sy0l2zvfs4hxw6nc3qm16qb8hdgvb73y"; })
|
||||
(fetchNuGet { pname = "MicroCom.Runtime"; version = "0.10.4"; sha256 = "0ccbzp0d01dcahm7ban7xyh1rk7k2pkml3l5i7s85cqk5lnczpw2"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.6"; sha256 = "18mr1f0wpq0fir8vjnq0a8pz50zpnblr7sabff0yqx37c975934a"; })
|
||||
(fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.11.0"; sha256 = "0ynvaq3faqh4pirl0l8l6xq2ikk3f27xw05i8vm3vwamgy4p7k2f"; })
|
||||
(fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; })
|
||||
(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.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.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.Scripting"; version = "3.4.0"; sha256 = "1h2f0z9xnw987x8bydka1sd42ijqjx973md6v1gvpy1qc6ad244g"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.4.0"; sha256 = "195gqnpwqkg2wlvk8x6yzm7byrxfq9bki20xmhf6lzfsdw3z4mf2"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; })
|
||||
(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.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
|
||||
(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 = "shaderc.net"; version = "0.1.0"; sha256 = "0f35s9h0vj9f1rx9bssj66hibc3j9bzrb4wgb5q2jwkf5xncxbpq"; })
|
||||
(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.Vulkan"; version = "2.16.0"; sha256 = "0sg5mxv7ga5pq6wc0lz52j07fxrcfmb0an30r4cxsxk66298z2wy"; })
|
||||
(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.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; })
|
||||
(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.HarfBuzz"; version = "2.88.1-preview.108"; sha256 = "1hjscqn2kfgvn367drxzwssj5f5arn919x6clywbbf2dhggcdnn5"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1-preview.108"; sha256 = "19jf2jcq2spwbpx3cfdi2a95jf4y8205rh56lmkh8zsxd2k7fjyp"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1-preview.108"; sha256 = "1vcpqd7slh2b9gsacpd7mk1266r1xfnkm6230k8chl3ng19qlf15"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1-preview.108"; sha256 = "0a89gqjw8k97arr0kyd0fm3f46k1qamksbnyns9xdlgydjg557dd"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1-preview.108"; sha256 = "05g9blprq5msw3wshrgsk19y0fvhjlqiybs1vdyhfmww330jlypn"; })
|
||||
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.3"; sha256 = "0axz2zfyg0h3zis7rr86ikrm2jbxxy0gqb3bbawpgynf1k0fsi6a"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; sha256 = "0dajvr60nwvnv7s6kcqgw1w97zxdpz1c5lb7kcq7r0hi0l05ck3q"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; sha256 = "191ajgi6fnfqcvqvkayjsxasiz6l0bv3pps8vv9abbyc4b12qvph"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.3"; sha256 = "1w5njksq3amrrp7fqxw89nv6ar2kgc5yx092i4rxv7hrjbd1aagx"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; sha256 = "03wwfbarsxjnk70qhqyd1dw65098dncqk2m0vksx92j70i7lry6q"; })
|
||||
(fetchNuGet { pname = "SPB"; version = "0.0.4-build28"; sha256 = "1ran6qwzlkv6xpvnp7n0nkva0zfrzwlcxj7zfzz9v8mpicqs297x"; })
|
||||
(fetchNuGet { pname = "Svg.Custom"; version = "0.5.18"; sha256 = "0x68cs525k7c2dvj3vhjhx7bcls600xlsjkhfi7xvj0621masxa4"; })
|
||||
(fetchNuGet { pname = "Svg.Model"; version = "0.5.18"; sha256 = "1pqqaphdsjv4w9qlzb2i0kf0aas8778nlb4nysyiy5rdvpp7zzng"; })
|
||||
(fetchNuGet { pname = "Svg.Skia"; version = "0.5.18"; sha256 = "0j1n096d49gd53j6zzngf5v81dnrdzaa4rx7fpmk8zp1xz2wjb2j"; })
|
||||
(fetchNuGet { pname = "Svg.Custom"; version = "1.0.0"; sha256 = "0bmvgaqy4iaxw9x88ifx3a2zz0vw3p9w6pj4bk3xfnf5p9vjx1mr"; })
|
||||
(fetchNuGet { pname = "Svg.Model"; version = "1.0.0"; sha256 = "0yrjcqcrlgqpdm3bi59nc3fppcqgrfc7jddjwxjj2q423gimip97"; })
|
||||
(fetchNuGet { pname = "Svg.Skia"; version = "1.0.0"; sha256 = "1bs2l9fjiqpip4qh0aw7x8f8m0ja0xlcj5vwd329knkww2jx1d3c"; })
|
||||
(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.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
|
||||
@ -163,7 +168,7 @@
|
||||
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
|
||||
(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.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.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
|
||||
(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.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
|
||||
(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.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
|
||||
(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.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.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
|
||||
(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.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
|
||||
(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.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
|
||||
(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.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.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
|
||||
(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.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
|
||||
(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.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
|
||||
(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.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
|
||||
(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.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
|
||||
(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.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.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.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
|
||||
(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.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.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
||||
(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.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
|
||||
(fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
|
||||
(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.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 = "XamlNameReferenceGenerator"; version = "1.6.1"; sha256 = "0348gj9g5rl0pj2frx4vscj6602gfyn9ba3i1rmfcrxh9jwwa09m"; })
|
||||
]
|
||||
|
@ -31,11 +31,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "saga";
|
||||
version = "9.0.2";
|
||||
version = "9.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/saga-gis/saga-${version}.tar.gz";
|
||||
sha256 = "sha256-dyqunuROQlF1Lo/XsNj9QlN7WbimksfT1s8TrqB9PXE=";
|
||||
sha256 = "sha256-VXupgjoiexZZ1kLXAbbQMW7XQ7FWjd1ejZPeeTffUhM=";
|
||||
};
|
||||
|
||||
sourceRoot = "saga-${version}/saga-gis";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gpsprune";
|
||||
version = "22.2";
|
||||
version = "23.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
|
||||
sha256 = "sha256-7T7UmS650VvYN29vQxemzsaxF5wPFF+yCNCTyXY7nmY=";
|
||||
sha256 = "sha256-0Lf/GuqlovVbnk3jSJHFGF688GXABcSVLr1hATaIomk=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -30,14 +30,14 @@ https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 */
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
version = "1.4.4";
|
||||
version = "1.4.5";
|
||||
pname = "syncthingtray";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Martchus";
|
||||
repo = "syncthingtray";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-i13Mt4xASneE4sBIt9fbdoFV1KnoVfaGRwQXX+1NgI4=";
|
||||
sha256 = "sha256-EizKDw5Fv2qXxmiCx4NAvwxBZ+qhTIx4NMZedZ9OuyA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -38,30 +38,30 @@
|
||||
let
|
||||
# Derived from subprojects/cava.wrap
|
||||
libcava = rec {
|
||||
version = "0.8.4";
|
||||
version = "0.8.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "LukashonakV";
|
||||
repo = "cava";
|
||||
rev = version;
|
||||
hash = "sha256-66uc0CEriV9XOjSjFTt+bxghEXY1OGrpjd+7d6piJUI=";
|
||||
hash = "sha256-b/XfqLh8PnW018sGVKRRlFvBpo2Ru1R2lUeTR7pugBo=";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "waybar";
|
||||
version = "0.9.20";
|
||||
version = "0.9.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexays";
|
||||
repo = "Waybar";
|
||||
rev = version;
|
||||
hash = "sha256-xLcoysnCPB9+jI5cZokWWIvXM5wo3eXOe/hXfuChBR4=";
|
||||
hash = "sha256-VvQTRo2MuJ475lKrExVhzi74fb1wAw0gHD1v4rcWIDk=";
|
||||
};
|
||||
|
||||
postUnpack = lib.optional cavaSupport ''
|
||||
(
|
||||
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 .
|
||||
)
|
||||
'';
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wmenu";
|
||||
version = "0.1.2";
|
||||
version = "0.1.4";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@ -23,17 +23,9 @@ stdenv.mkDerivation rec {
|
||||
owner = "~adnano";
|
||||
repo = "wmenu";
|
||||
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 ];
|
||||
buildInputs = [ cairo pango wayland libxkbcommon wayland-protocols scdoc ];
|
||||
|
||||
|
@ -86,11 +86,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appgate-sdp";
|
||||
version = "6.2.0";
|
||||
version = "6.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
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
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,10 +3,10 @@
|
||||
{
|
||||
firefox = buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "116.0.1";
|
||||
version = "116.0.2";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "2f67a129ec3bcb47d66cbf29ab23c1c29bfbe752a4703cb0d95f4f3e5a48044901bb79fea94e35f8a9d4dfbfa71aa6721b2988770c1dc33b4412b993bb88da09";
|
||||
sha512 = "2c0ae18672fe22c75002744831130e13da764f83726951e5b58cfe74f7f473e22634ce08ebc11a98bac5baec0a4ac099a3a350a8b756af9c5bea6d5f4432da6d";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
stable = import ./browser.nix {
|
||||
channel = "stable";
|
||||
version = "114.0.1823.79";
|
||||
version = "115.0.1901.188";
|
||||
revision = "1";
|
||||
sha256 = "sha256-FyEsIGwGDzX22scKd8L67uw5ipqN1e9CrC+qACRBZRg=";
|
||||
sha256 = "sha256-mRM3zakYwCptfKWYbiaDnPqv9Vt5WnDA7xIK1rlownU=";
|
||||
};
|
||||
beta = import ./browser.nix {
|
||||
channel = "beta";
|
||||
|
@ -1,19 +1,22 @@
|
||||
{ darwin, fetchFromGitHub, rustPlatform, lib, stdenv }:
|
||||
{ darwin, fetchFromGitHub, rustPlatform, lib, stdenv, pkg-config, openssl }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "click";
|
||||
version = "0.4.2";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "databricks";
|
||||
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; {
|
||||
description = ''The "Command Line Interactive Controller for Kubernetes"'';
|
||||
@ -21,5 +24,6 @@ rustPlatform.buildRustPackage rec {
|
||||
license = [ licenses.asl20 ];
|
||||
maintainers = [ maintainers.mbode ];
|
||||
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 {
|
||||
pname = "kubergrunt";
|
||||
version = "0.12.0";
|
||||
version = "0.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = "kubergrunt";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-C3anYYyhRT+/0jO01uEBX1LLQadovO+Z9JA6nHTNXOo=";
|
||||
sha256 = "sha256-qd+7tYvRpRMg8Y83L/K8g8fWrfO4rAQj72EpunqfSsc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-AUw1wJNWjpNVsjw/Hr1ZCePYWQkf1SqRVnQgi8tOFG0=";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kyverno";
|
||||
version = "1.10.2";
|
||||
version = "1.10.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kyverno";
|
||||
repo = "kyverno";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-kk+NgupFLzbkh/jrbJj9E6H0v3QighKa7DQJoh/fZi8=";
|
||||
sha256 = "sha256-SRDabFN0ITXwHzvE5m3pIAk42kQa2yINpT64x+k3r3g=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pachyderm";
|
||||
version = "2.6.8";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pachyderm";
|
||||
repo = "pachyderm";
|
||||
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" ];
|
||||
|
||||
|
@ -182,13 +182,13 @@
|
||||
"vendorHash": "sha256-/dOiXO2aPkuZaFiwv/6AXJdIADgx8T7eOwvJfBBoqg8="
|
||||
},
|
||||
"buildkite": {
|
||||
"hash": "sha256-GRFthxNKWcdOdFL6gnI7Y3ehSzqt8ijzBe4eyRy0KcM=",
|
||||
"hash": "sha256-rcklWodBh5iJjxIjGhEH0l3S9bXUWfBG52V/23o8JDM=",
|
||||
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
|
||||
"owner": "buildkite",
|
||||
"repo": "terraform-provider-buildkite",
|
||||
"rev": "v0.23.0",
|
||||
"rev": "v0.24.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-oVXrSI+DU6NgmVIPcS4He4mHVrkA2tMxFUpxMnv0bu4="
|
||||
"vendorHash": "sha256-3BtXtXhFyTNQD0J/5hNi0JsPcaIDWUQNEgf6r0VIfMM="
|
||||
},
|
||||
"checkly": {
|
||||
"hash": "sha256-tOTrAi6hd4HFbHAj0p/LTYdxQl1R1WuQ9L4hzqmDVqI=",
|
||||
@ -227,13 +227,13 @@
|
||||
"vendorHash": "sha256-VTSbi2pDllzyKDhWs5EpWSXO5oKl+khVqLg/Ro3x8ys="
|
||||
},
|
||||
"cloudfoundry": {
|
||||
"hash": "sha256-hoX2KNUzC7G+bFxReTN/6IG8/P4rczHAYn2QQ2iOioc=",
|
||||
"hash": "sha256-yEqsdgTSlwppt6ILRZQ6Epyh5WVN6Il3xsBOa/NfIdo=",
|
||||
"homepage": "https://registry.terraform.io/providers/cloudfoundry-community/cloudfoundry",
|
||||
"owner": "cloudfoundry-community",
|
||||
"repo": "terraform-provider-cloudfoundry",
|
||||
"rev": "v0.51.2",
|
||||
"rev": "v0.51.3",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-FR0HnLLVv8H5jC3gRv8jk2VLsavlHNQny+UqZ00InTY="
|
||||
"vendorHash": "sha256-0hq4dR1KqnE2IXMwif2/NVKQKRO/QplW/A6sB4pJ+FM="
|
||||
},
|
||||
"cloudinit": {
|
||||
"hash": "sha256-fdtUKD8XC1Y72IzrsCfTZYVYZwLqY3gV2sajiw4Krzw=",
|
||||
@ -291,13 +291,13 @@
|
||||
"vendorHash": "sha256-foS7GyRUdhF/M8uTPf2I4WQo7qEg4Z/3FXjagoeSRkU="
|
||||
},
|
||||
"dexidp": {
|
||||
"hash": "sha256-+Nt4bX6+4VB+mtJbsP166RObFbXaNyFrF+80x2/pRco=",
|
||||
"hash": "sha256-69r3m3lIKftZQ8NXBD5KEHbsNUwCGpFgn/CYO+921M4=",
|
||||
"homepage": "https://registry.terraform.io/providers/marcofranssen/dexidp",
|
||||
"owner": "marcofranssen",
|
||||
"repo": "terraform-provider-dexidp",
|
||||
"rev": "v0.2.1",
|
||||
"rev": "v0.3.0",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": "sha256-L8baV03p0V/xKi1O3YQxvoJXgP21qNhzznyvwrauVqI="
|
||||
"vendorHash": "sha256-EWEc7tILolAIzT7ZOLXlrlrt3hsgJxFD89y/USLeE40="
|
||||
},
|
||||
"dhall": {
|
||||
"hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
|
||||
@ -454,24 +454,24 @@
|
||||
"vendorHash": "sha256-AVTWTS16d8QsPLLAJeAfgcVDzUBMp+b2oAphaCBqhS0="
|
||||
},
|
||||
"google": {
|
||||
"hash": "sha256-vhWtIJ5hKe/8a7N5Qxs8CQuSNlZEF3gdRzSqZiFqhVg=",
|
||||
"hash": "sha256-11iT/zjoSScSdLGWFPxEURiIBvcz5jK8QZAHdqRwHD0=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
|
||||
"owner": "hashicorp",
|
||||
"proxyVendor": true,
|
||||
"repo": "terraform-provider-google",
|
||||
"rev": "v4.77.0",
|
||||
"rev": "v4.78.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-rlNYh42Cw2wMF/9aI8QM0x8t2jdz+V9u4uJvS6A4zx8="
|
||||
"vendorHash": "sha256-lyOupw64LQvdTJZjJ1RvAn1JLDHAZ4qAaagASXHcEXA="
|
||||
},
|
||||
"google-beta": {
|
||||
"hash": "sha256-nfgoGYBAW5VdgMm2gkI2Ff5NlY2CAwuFjckN7xgGtcI=",
|
||||
"hash": "sha256-dKB9rdMZP+Ln3M9bL7MC6RGlDXZ/IydD4g5Jp1jjEh4=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
|
||||
"owner": "hashicorp",
|
||||
"proxyVendor": true,
|
||||
"repo": "terraform-provider-google-beta",
|
||||
"rev": "v4.77.0",
|
||||
"rev": "v4.78.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-rlNYh42Cw2wMF/9aI8QM0x8t2jdz+V9u4uJvS6A4zx8="
|
||||
"vendorHash": "sha256-lyOupw64LQvdTJZjJ1RvAn1JLDHAZ4qAaagASXHcEXA="
|
||||
},
|
||||
"googleworkspace": {
|
||||
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
|
||||
@ -501,13 +501,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"hcloud": {
|
||||
"hash": "sha256-TbEbqTgzp7pUXrhjxvs5hrFI5u//xIIniOvusZsseiE=",
|
||||
"hash": "sha256-kuC4tm8ob9bg7iLcUaGEHMYh6XaZp4rQiVlnbo1Xzek=",
|
||||
"homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud",
|
||||
"owner": "hetznercloud",
|
||||
"repo": "terraform-provider-hcloud",
|
||||
"rev": "v1.42.0",
|
||||
"rev": "v1.42.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-wrgGxCNa5xLdBEy6RNNCz8ZVracyVsHzHtaQse6Ph+E="
|
||||
"vendorHash": "sha256-r8njRjQGYESeHuD8pF6rRUe1j2VVMwoDITFi2StC5bk="
|
||||
},
|
||||
"helm": {
|
||||
"hash": "sha256-mGrQ5YKNsv1+Vkan5ohMXnTYofhCQPuTFjemXF/g+tA=",
|
||||
@ -519,11 +519,11 @@
|
||||
"vendorHash": "sha256-a80+gjjoFOKI96pUMvTMyM90F5oCb1Ime8hPQcFedFE="
|
||||
},
|
||||
"heroku": {
|
||||
"hash": "sha256-tdaj6ZbVCvQTYblgpRC5GFoW8fbzTSHf0j6BM1tOlik=",
|
||||
"hash": "sha256-PexzolGXe0dy+6vGXVDTqtHGjF66DTtt4/GUyx78RMQ=",
|
||||
"homepage": "https://registry.terraform.io/providers/heroku/heroku",
|
||||
"owner": "heroku",
|
||||
"repo": "terraform-provider-heroku",
|
||||
"rev": "v5.2.5",
|
||||
"rev": "v5.2.6",
|
||||
"spdx": null,
|
||||
"vendorHash": null
|
||||
},
|
||||
@ -556,11 +556,11 @@
|
||||
"vendorHash": "sha256-hxT9mpKifb63wlCUeUzgVo4UB2TnYZy9lXF4fmGYpc4="
|
||||
},
|
||||
"huaweicloud": {
|
||||
"hash": "sha256-Uon1nXtoILFOQp9DsOubi31v6WJqWBa3zDZKHJdboHY=",
|
||||
"hash": "sha256-zfYIhROmNEXUmO52zs1u6X4WXFtE+duuiS6wlSBLygw=",
|
||||
"homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
|
||||
"owner": "huaweicloud",
|
||||
"repo": "terraform-provider-huaweicloud",
|
||||
"rev": "v1.53.0",
|
||||
"rev": "v1.54.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@ -781,11 +781,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"newrelic": {
|
||||
"hash": "sha256-6dQ0oJeYBmMhpldt8SyPL0VY4IM4n3Dpg62SYvCjigI=",
|
||||
"hash": "sha256-tbXRo7VNwjidyg/KcnwqmrxbnplMsUkCQAAsQb0WxSE=",
|
||||
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
|
||||
"owner": "newrelic",
|
||||
"repo": "terraform-provider-newrelic",
|
||||
"rev": "v3.26.0",
|
||||
"rev": "v3.26.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-BWCL84bDsfrcM9Bkc3G6r0RQ1YnonH1D9bDSywTcigw="
|
||||
},
|
||||
@ -836,13 +836,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"okta": {
|
||||
"hash": "sha256-cNVHEZPUkpruM7EDrriKeefzsHhwC+vyadTztRyGCFA=",
|
||||
"hash": "sha256-yoO8LDSB80GfEjPR3sf8JcciX+3gM1qtFBv/rFAzb6g=",
|
||||
"homepage": "https://registry.terraform.io/providers/okta/okta",
|
||||
"owner": "okta",
|
||||
"repo": "terraform-provider-okta",
|
||||
"rev": "v4.1.0",
|
||||
"rev": "v4.2.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-0KB2L7L6EWN2VMsTKXtWElzBRfmny+JjarhhzZtWxtA="
|
||||
"vendorHash": "sha256-tXVV8lcB8A66WtsWb2wDcJEERjzbHm/eqHyzIOrVk7E="
|
||||
},
|
||||
"oktaasa": {
|
||||
"hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
|
||||
@ -899,11 +899,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"pagerduty": {
|
||||
"hash": "sha256-vMMxSmfNz9FZtFyOMo6e5OHX6GWNVAP/X/ewJ0sUHb0=",
|
||||
"hash": "sha256-pMim8Bjjtuysdd4LgsV4+JPjEMw+3bF8vOKIBJVSScY=",
|
||||
"homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
|
||||
"owner": "PagerDuty",
|
||||
"repo": "terraform-provider-pagerduty",
|
||||
"rev": "v2.15.2",
|
||||
"rev": "v2.15.3",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
@ -13,10 +13,11 @@ buildGoModule rec {
|
||||
owner = "dineshba";
|
||||
repo = "tf-summarize";
|
||||
rev = "v${version}";
|
||||
sha256 = "0c6fcz0n22mq8bqr82h9lfxx4n1bk9gjlc7d131lpf14yiacih3p";
|
||||
hash = "sha256-d8DIVPQkuEvDCO0wKl+aK1jSu6MJCpTxQrgKYcFnzjA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "cnybdZth7qlP2BHK8uvLCoqJtggMIkvaL2+YugiUZRE=";
|
||||
vendorHash = "sha256-cnybdZth7qlP2BHK8uvLCoqJtggMIkvaL2+YugiUZRE=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
|
@ -8,13 +8,13 @@ buildGoModule rec {
|
||||
/* 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
|
||||
source tree, which is not there once build completes. */
|
||||
version = "0.33.3";
|
||||
version = "0.33.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tilt-dev";
|
||||
repo = "tilt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-TNZE335tH50E96yJzD26U+JbVxjU746Wa/8YDGHFeto=";
|
||||
hash = "sha256-rQ5g5QyGyuJAHmE8zGFzqtpqW2xEju5JV386y9Cn+cs=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.8.6";
|
||||
version = "3.8.7";
|
||||
format = "pyproject";
|
||||
|
||||
# Fetch from GitHub in order to use `requirements.in`
|
||||
@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "Flexget";
|
||||
repo = "Flexget";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-KF5d9SjKUkkHoYWmNWNBMe567w2StgEFsZprS+SFw7Y=";
|
||||
hash = "sha256-WfOLDTwmHPfg4UkrPC7gvDNJtAorrateQ4W59NmhdHc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -33,16 +33,16 @@ let
|
||||
in
|
||||
buildNpmPackage rec {
|
||||
pname = "deltachat-desktop";
|
||||
version = "1.38.1";
|
||||
version = "1.40.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deltachat";
|
||||
repo = "deltachat-desktop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nXYXjq6bLGvH4m8ECwxfkcUjOsUUj07bt3NFb3oD0Gw=";
|
||||
hash = "sha256-QvSBM2zR/LcQ2wtkh6mtlU8iqYmZfv6U5bRyMYjLZhE=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-fQKFSWljHHPp1A8lcxVxrMVESuTiB3GkSWDb98yCZz4=";
|
||||
npmDepsHash = "sha256-lxyXfPNu5U+0cge+cwcXHIJv+gVXCSzc5t/2c4IQxNM=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
@ -17,25 +17,20 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "teams-for-linux";
|
||||
version = "1.2.8";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IsmaelMartinez";
|
||||
repo = "teams-for-linux";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5OocTsQjmNZCnzAY1RfrxD6Ad/kZTIkFl/3OmeJl1oI=";
|
||||
hash = "sha256-2WoTbkRGH9l6cQrveyxGvO/Dy+0NV4UTDaooYn8k06s=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
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 ];
|
||||
|
||||
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
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "PortfolioPerformance";
|
||||
version = "0.65.0";
|
||||
version = "0.65.1";
|
||||
|
||||
src = fetchurl {
|
||||
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 = [
|
||||
|
@ -9,14 +9,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "todoman";
|
||||
version = "4.1.0";
|
||||
format = "setuptools";
|
||||
version = "4.3.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pimutils";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-MItFZ+4Q7UKeIWHl8KFiWOLNgFcfb0h1YWjPd+g48Wg=";
|
||||
hash = "sha256-pa1zzu0ITJObzhSmohjgiGTCoautXrY+SQQ3hxEtQcE=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
@ -48,15 +48,11 @@ python3.pkgs.buildPythonApplication rec {
|
||||
hypothesis
|
||||
pytestCheckHook
|
||||
glibcLocales
|
||||
pytest-cov
|
||||
];
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.cfg \
|
||||
--replace " --cov=todoman --cov-report=term-missing" ""
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --bash contrib/completion/bash/_todo
|
||||
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
|
||||
"test_color_due_dates"
|
||||
"test_color_flag"
|
||||
"test_datetime_serialization" # Will be fixed in versions after 4.1.0
|
||||
"test_default_command"
|
||||
"test_main"
|
||||
"test_missing_cache_dir"
|
||||
@ -98,5 +93,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
changelog = "https://github.com/pimutils/todoman/raw/v${version}/CHANGELOG.rst";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ leenaars ];
|
||||
mainProgram = "todo";
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "openhantek6022";
|
||||
version = "3.3.2.2";
|
||||
version = "3.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenHantek";
|
||||
repo = "OpenHantek6022";
|
||||
rev = version;
|
||||
sha256 = "sha256-0k9Q60+T28m1hPYf5viSdpt0s4d828lfjVo3GjLDm7c=";
|
||||
sha256 = "sha256-y2pNLAa0P/r0YEdKjQ3iP66cqtTWERG8lTOZDR64WTk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake makeWrapper ];
|
||||
|
@ -9,6 +9,7 @@
|
||||
, pantheon
|
||||
, python3
|
||||
, curl
|
||||
, flatpak
|
||||
, gettext
|
||||
, glib
|
||||
, gtk3
|
||||
@ -27,13 +28,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "monitor";
|
||||
version = "0.16.1";
|
||||
version = "0.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stsdc";
|
||||
repo = "monitor";
|
||||
rev = version;
|
||||
sha256 = "sha256-ZTsb1xcJ7eeCEPebZW0anmG1SUPAzZakw4WzJql9VTQ=";
|
||||
sha256 = "sha256-GUNMA4CRO4cKBjNr7i8yRflstbT8g2ciDHppjUUbAOc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -49,6 +50,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
flatpak
|
||||
glib
|
||||
gtk3
|
||||
json-glib
|
||||
@ -85,7 +87,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater {
|
||||
ignoredVersions = "ci.*";
|
||||
# Upstream frequently tags these to fix CI, which are mostly irrelevant to us.
|
||||
ignoredVersions = "-";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "git-codereview";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "golang";
|
||||
repo = "review";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-N6L+TlPU/lStMPTFYKFH2GiwyGkEJJuKtkH7wKLuM00=";
|
||||
hash = "sha256-Dy7gHT6WmZ1TjA5s+VmOUkaRvrA9v7mWQSLPscgBHgY=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "git-vanity-hash";
|
||||
version = "2020-02-26-unstable";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prasmussen";
|
||||
repo = "git-vanity-hash";
|
||||
rev = "000004122124005af8d118a3f379bfc6ecc1e7c7";
|
||||
sha256 = "1wf342zawbphlzvji0yba0qg4f6v67h81nhxqcsir132jv397ma7";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-jD8cSFXf9UNBZ9d8JTnuwhs6nPHY/xGd5RyqF+mQOlo=";
|
||||
};
|
||||
|
||||
cargoSha256 = "1frdw9bs7y6ch5rrbsgvhrs0wxw4hbwm2n3crslp12w55m7k39fc";
|
||||
cargoHash = "sha256-8oW6gRtdQdmSmdwKlcU2EhHsyhk9hFhKl7RtsYwC7Ps=";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/doc/git-vanity-hash
|
||||
|
@ -20,12 +20,12 @@
|
||||
|
||||
buildGoModule rec {
|
||||
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
|
||||
src = fetchurl {
|
||||
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
|
||||
hash = "sha256-LYOCNZJiGuMM1ly1Sp+0F8Us8LtAXzH5NzJf2CLcHck=";
|
||||
hash = "sha256-a88ltflOcZQVWcEjC3r6rbPSk6LRtATcEQecYt/wg04=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -46,13 +46,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mkvtoolnix";
|
||||
version = "77.0";
|
||||
version = "78.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "mbunkus";
|
||||
repo = "mkvtoolnix";
|
||||
rev = "release-${version}";
|
||||
sha256 = "t+kfFS5c8w+c9wxNh59nceFesfdMy8qvHlUqDbZAxkk=";
|
||||
sha256 = "sha256-iImcpuGZsRlwBTPyPUsfHAOkOIhc8eYs6rinl8O78oU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -62,13 +62,13 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "podman";
|
||||
version = "4.6.0";
|
||||
version = "4.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "podman";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8cfEZBYhR5CWkHEpIZ0j011gyV6lnY7z4KgJPJr0MfQ=";
|
||||
hash = "sha256-bGhLjf4GZpuWX1xOC4Hm9SkYvUJ45ZipcKAIEJF0tDQ=";
|
||||
};
|
||||
|
||||
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";
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprland" + lib.optionalString debug "-debug";
|
||||
version = "unstable-2023-08-08";
|
||||
version = "unstable-2023-08-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = finalAttrs.pname;
|
||||
rev = "8e04a80e60983f5def26bdcaea701040fea9a7ae";
|
||||
hash = "sha256-5/vEdU3SzAdeIyPykjks/Zxkvh9luPTIei6oa77OY2Q=";
|
||||
rev = "91e28bbe9df85e2e94fbcc0137106362aea14ab5";
|
||||
hash = "sha256-1vLms49ZgDOC9y1uTjfph3WrUpatKRLnKAvFmSNre20=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -14,18 +14,19 @@
|
||||
, wrapQtAppsHook
|
||||
, minizip
|
||||
, libzip
|
||||
, libuuid
|
||||
, libarchive
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deepin-compressor";
|
||||
version = "5.12.15";
|
||||
version = "5.12.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxdeepin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-6grnbv9hMKntOmpVcmU5IpAbHM7r0dQWb+SoQYtc5YY=";
|
||||
hash = "sha256-eg9JcuBTKoaEuoph0rvy0VRH28sFOdYWN9sGbduUwcM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
|
||||
karchive
|
||||
minizip
|
||||
libzip
|
||||
libuuid
|
||||
libarchive
|
||||
];
|
||||
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clojure";
|
||||
version = "1.11.1.1356";
|
||||
version = "1.11.1.1386";
|
||||
|
||||
src = fetchurl {
|
||||
# https://clojure.org/releases/tools
|
||||
url = "https://download.clojure.org/install/clojure-tools-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-Gshzo0ill96R+15DuFEdHo2bx3ePuRIuYXJfNF9jkIM=";
|
||||
# https://github.com/clojure/brew-install/releases
|
||||
url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-e5RLnsydCZKRv6P/yC8FxK5AgK0Gj6YJw7E41neGYsM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zef";
|
||||
version = "0.18.2";
|
||||
version = "0.18.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ugexe";
|
||||
repo = "zef";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0EWajziWoxWLGaj54FfvEMNPPTc2Wb6O050o2qWGJ9c=";
|
||||
sha256 = "sha256-/H8wHDMl2lJElsjNcNmTrijIeL1ohOkDzrO7LuOPhi4=";
|
||||
};
|
||||
|
||||
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 = [
|
||||
# patch to fix python-test
|
||||
./darwin.patch
|
||||
./cmake-find-protobuf.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -169,6 +170,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
|
||||
"-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
|
||||
"-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
|
||||
"-DARROW_BUILD_TESTS=ON"
|
||||
|
@ -3,6 +3,18 @@
|
||||
, callPackage
|
||||
, 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
|
||||
, cmake
|
||||
, gtest
|
||||
@ -55,7 +67,6 @@
|
||||
, libspatialite
|
||||
, sqlite
|
||||
, libtiff
|
||||
, useTiledb ? !(stdenv.isDarwin && stdenv.isx86_64)
|
||||
, tiledb
|
||||
, libwebp
|
||||
, xercesc
|
||||
@ -101,63 +112,83 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-DGDAL_USE_TILEDB=OFF"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
armadillo
|
||||
c-blosc
|
||||
brunsli
|
||||
cfitsio
|
||||
crunch
|
||||
curl
|
||||
cryptopp
|
||||
libdeflate
|
||||
expat
|
||||
libgeotiff
|
||||
geos
|
||||
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
|
||||
json_c
|
||||
libjxl
|
||||
libhwy # required by libjxl
|
||||
lerc
|
||||
xz
|
||||
libxml2
|
||||
lz4
|
||||
libmysqlclient
|
||||
netcdf
|
||||
openjpeg
|
||||
openssl
|
||||
pcre2
|
||||
libpng
|
||||
poppler
|
||||
postgresql
|
||||
proj
|
||||
qhull
|
||||
libspatialite
|
||||
sqlite
|
||||
libtiff
|
||||
gtest
|
||||
] ++ lib.optionals useTiledb [
|
||||
tiledb
|
||||
] ++ [
|
||||
libwebp
|
||||
zlib
|
||||
zstd
|
||||
python3
|
||||
python3.pkgs.numpy
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||
# tests for formats enabled by these packages fail on macos
|
||||
arrow-cpp
|
||||
openexr
|
||||
xercesc
|
||||
] ++ lib.optional stdenv.isDarwin libiconv;
|
||||
buildInputs =
|
||||
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
|
||||
brunsli
|
||||
cfitsio
|
||||
crunch
|
||||
curl
|
||||
cryptopp
|
||||
libdeflate
|
||||
expat
|
||||
libgeotiff
|
||||
geos
|
||||
giflib
|
||||
libjpeg
|
||||
json_c
|
||||
lerc
|
||||
xz
|
||||
libxml2
|
||||
lz4
|
||||
openjpeg
|
||||
openssl
|
||||
pcre2
|
||||
libpng
|
||||
proj
|
||||
qhull
|
||||
libspatialite
|
||||
sqlite
|
||||
libtiff
|
||||
gtest
|
||||
libwebp
|
||||
zlib
|
||||
zstd
|
||||
python3
|
||||
python3.pkgs.numpy
|
||||
] ++ tileDbDeps
|
||||
++ libHeifDeps
|
||||
++ libJxlDeps
|
||||
++ mysqlDeps
|
||||
++ postgresDeps
|
||||
++ popplerDeps
|
||||
++ arrowDeps
|
||||
++ hdfDeps
|
||||
++ netCdfDeps
|
||||
++ armadilloDeps
|
||||
++ darwinDeps
|
||||
++ nonDarwinDeps;
|
||||
|
||||
postInstall = ''
|
||||
wrapPythonPrograms
|
||||
@ -210,6 +241,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"test_rda_download_queue"
|
||||
] ++ lib.optionals (lib.versionOlder proj.version "8") [
|
||||
"test_ogr_parquet_write_crs_without_id_in_datum_ensemble_members"
|
||||
] ++ lib.optionals (!usePoppler) [
|
||||
"test_pdf_jpx_compression"
|
||||
];
|
||||
postCheck = ''
|
||||
popd # autotest
|
||||
|
@ -21,10 +21,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++ port of the Java Topology Suite (JTS)";
|
||||
homepage = "https://trac.osgeo.org/geos";
|
||||
description = "C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software";
|
||||
homepage = "https://libgeos.org";
|
||||
license = licenses.lgpl21Only;
|
||||
maintainers = teams.geospatial.members;
|
||||
pkgConfigModules = [ "geos" ];
|
||||
mainProgram = "geosop";
|
||||
};
|
||||
})
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "level-zero";
|
||||
version = "1.13.1";
|
||||
version = "1.13.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oneapi-src";
|
||||
repo = "level-zero";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-qV2OM41+DkuT3lDCTHOyNkHixD/HITfCiItBQX6Ewio=";
|
||||
hash = "sha256-XpLbbcB8M63q+0Vj7NrERSXVIjy5KQrVZMvYijUbJhw=";
|
||||
};
|
||||
|
||||
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]]
|
||||
name = "deltachat"
|
||||
version = "1.118.0"
|
||||
version = "1.119.1"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"anyhow",
|
||||
@ -1199,7 +1199,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deltachat-jsonrpc"
|
||||
version = "1.118.0"
|
||||
version = "1.119.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-channel",
|
||||
@ -1223,7 +1223,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deltachat-repl"
|
||||
version = "1.118.0"
|
||||
version = "1.119.1"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"anyhow",
|
||||
@ -1238,7 +1238,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deltachat-rpc-server"
|
||||
version = "1.118.0"
|
||||
version = "1.119.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"deltachat",
|
||||
@ -1263,7 +1263,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deltachat_ffi"
|
||||
version = "1.118.0"
|
||||
version = "1.119.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"deltachat",
|
||||
@ -4958,14 +4958,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tokio-tar"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a50188549787c32c1c3d9c8c71ad7e003ccf2f102489c5a96e385c84760477f4"
|
||||
checksum = "9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75"
|
||||
dependencies = [
|
||||
"filetime",
|
||||
"futures-core",
|
||||
"libc",
|
||||
"redox_syscall 0.2.16",
|
||||
"redox_syscall 0.3.5",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"xattr",
|
||||
@ -5778,9 +5778,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "xattr"
|
||||
version = "0.2.3"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
|
||||
checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
@ -19,13 +19,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libdeltachat";
|
||||
version = "1.118.0";
|
||||
version = "1.119.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deltachat";
|
||||
repo = "deltachat-core-rust";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1vkmz7LFG420zYETYIf3ayOQEPp+hz7Dr7gULz1nJOs=";
|
||||
hash = "sha256-LP5h99qldf9QoRDmo581H+sUx1QsD6nOGt1ES3Fr/6E=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nix-plugins";
|
||||
version = "11.0.0";
|
||||
version = "12.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "shlevy";
|
||||
repo = "nix-plugins";
|
||||
rev = version;
|
||||
hash = "sha256-sJL8g+UVFvJTqujS9F6gy8tairYUztHCSILkQlwDADU";
|
||||
hash = "sha256-VJqLfOT7y32Jupl57YXxqeDPy0tOWi46tRLN1QUDIow=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
@ -47,13 +47,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
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" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
|
||||
hash = "sha256-8ptLS/R1cmERdkVMjyFQbXHSfspQEaOapEA4swuVfbA=";
|
||||
hash = "sha256-Skv3/JA7nxoqt9BLfF2CINubxiYcxz/bmoJtwnL0mqg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -49,6 +49,9 @@ let
|
||||
./patches/0006-qtbase-qt-cmake-always-use-cmake-from-path.patch
|
||||
./patches/0007-qtbase-find-qt-tools-in-QTTOOLSPATH.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 { };
|
||||
|
@ -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=";
|
||||
};
|
||||
|
||||
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; {
|
||||
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 {
|
||||
pname = "ocaml-lsp-server";
|
||||
@ -8,7 +20,8 @@ buildDunePackage rec {
|
||||
buildInputs = lsp.buildInputs ++ [ lsp re ]
|
||||
++ lib.optional (lib.versionAtLeast version "1.9") spawn
|
||||
++ 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 ];
|
||||
|
||||
|
@ -7,41 +7,55 @@
|
||||
, fetchurl
|
||||
, 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 params =
|
||||
if lib.versionAtLeast ocaml.version "4.14"
|
||||
then {
|
||||
let params = {
|
||||
"1.16.2" = {
|
||||
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=";
|
||||
} else if lib.versionAtLeast ocaml.version "4.13"
|
||||
then {
|
||||
};
|
||||
"1.10.5" = {
|
||||
name = "jsonrpc";
|
||||
version = "1.10.5";
|
||||
minimalOCamlVersion = "4.13";
|
||||
sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw=";
|
||||
} else if lib.versionAtLeast ocaml.version "4.12"
|
||||
then {
|
||||
};
|
||||
"1.9.0" = {
|
||||
name = "jsonrpc";
|
||||
version = "1.9.0";
|
||||
minimalOCamlVersion = "4.12";
|
||||
sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh";
|
||||
} else {
|
||||
};
|
||||
"1.4.1" = {
|
||||
name = "jsonrpc";
|
||||
version = "1.4.1";
|
||||
minimalOCamlVersion = "4.06";
|
||||
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
|
||||
}
|
||||
; in
|
||||
};
|
||||
}."${version}"; in
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "jsonrpc";
|
||||
inherit (params) version;
|
||||
inherit version;
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/${params.name}-${version}.tbz";
|
||||
inherit (params) sha256;
|
||||
};
|
||||
|
||||
duneVersion = "3";
|
||||
minimalOCamlVersion = "4.06";
|
||||
inherit (params) minimalOCamlVersion;
|
||||
|
||||
buildInputs =
|
||||
if lib.versionAtLeast version "1.7.0" then
|
||||
|
@ -21,11 +21,24 @@
|
||||
, cmdliner
|
||||
, ordering
|
||||
, 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 {
|
||||
pname = "lsp";
|
||||
inherit (jsonrpc) version src;
|
||||
inherit (jsonrpc_v) version src;
|
||||
duneVersion = "3";
|
||||
minimalOCamlVersion =
|
||||
if lib.versionAtLeast version "1.7.0" then
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ailment";
|
||||
version = "9.2.63";
|
||||
version = "9.2.64";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Hg8KSReRHOmdoN8CZiX8i8Xdrn5/Gnqmx1QE6elV6qA=";
|
||||
hash = "sha256-KUJpcP7bf8BjmB/QojTQHSwkmzW0bN4nJaD8GcNbcyE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiohomekit";
|
||||
version = "2.6.15";
|
||||
version = "2.6.16";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||
owner = "Jc2k";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-PX2OIgfVOlCEudObJrz/WRQXW7c6Gq9PQqD52D3lmmo=";
|
||||
hash = "sha256-2QnM5WJ0UyuRyL6NiXz22SLUMvyNfbdNIutJSNjS+G8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -11,9 +11,10 @@
|
||||
, typing-extensions
|
||||
, pandas
|
||||
, jinja2
|
||||
, importlib-metadata
|
||||
, packaging
|
||||
|
||||
# Build, dev and test dependencies
|
||||
, anywidget
|
||||
, ipython
|
||||
, pytestCheckHook
|
||||
, vega_datasets
|
||||
@ -22,15 +23,17 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
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";
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "altair-viz";
|
||||
repo = "altair";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-7bTrfryu4oaodVGNFNlVk9vXmDA5/9ahvCmvUGzZ5OQ=";
|
||||
rev = "56b3b66daae7160c8d82777d2646131afcc3dab4";
|
||||
hash = "sha256-uVE3Bth1D1mIhaULB4IxEtOzhQd51Pscqyfdys65F6A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -41,12 +44,13 @@ buildPythonPackage rec {
|
||||
jinja2
|
||||
jsonschema
|
||||
numpy
|
||||
packaging
|
||||
pandas
|
||||
toolz
|
||||
] ++ lib.optional (pythonOlder "3.8") importlib-metadata
|
||||
++ lib.optional (pythonOlder "3.11") typing-extensions;
|
||||
] ++ lib.optional (pythonOlder "3.11") typing-extensions;
|
||||
|
||||
nativeCheckInputs = [
|
||||
anywidget
|
||||
ipython
|
||||
sphinx
|
||||
vega_datasets
|
||||
@ -62,6 +66,8 @@ buildPythonPackage rec {
|
||||
"tests/vegalite/v5/test_api.py"
|
||||
# avoid updating files and dependency on black
|
||||
"tests/test_toplevel.py"
|
||||
# require vl-convert package
|
||||
"tests/utils/test_compiler.py"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -32,7 +32,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "angr";
|
||||
version = "9.2.63";
|
||||
version = "9.2.64";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -41,7 +41,7 @@ buildPythonPackage rec {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-vrcziVoH+P0cqnzalwZOyu7awidQ0Lv6vT6Uq9Pu4I0=";
|
||||
hash = "sha256-NQopPg7ZAKkbq6T/1U8VYT/9oRz9ssg5yqTBpInNHNk=";
|
||||
};
|
||||
|
||||
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 {
|
||||
pname = "archinfo";
|
||||
version = "9.2.63";
|
||||
version = "9.2.64";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "angr";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-10ocfA1JFHyZA8Uv5b209rOjY5OeBtKITnoiRaw/w7k=";
|
||||
hash = "sha256-/3dc0p6xDFvv8VwFi5hxiXveiWYr9w3s0PwMv3uV2yw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,7 +5,7 @@
|
||||
, poetry-core
|
||||
, jsonschema
|
||||
, peewee
|
||||
, appdirs
|
||||
, platformdirs
|
||||
, iso8601
|
||||
, rfc3339-validator
|
||||
, strict-rfc3339
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aw-core";
|
||||
version = "0.5.14";
|
||||
version = "0.5.15";
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "ActivityWatch";
|
||||
repo = "aw-core";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+XmFh4/wPUpuoRVi8OdzFs/3dwoI1Mjx1hnTiGj+12I=";
|
||||
sha256 = "sha256-3cz79gSkmbGtCKnLGA4HGG5dLu7QB4ZtMnNGrSYB17U=";
|
||||
};
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -39,7 +39,7 @@ buildPythonPackage rec {
|
||||
propagatedBuildInputs = [
|
||||
jsonschema
|
||||
peewee
|
||||
appdirs
|
||||
platformdirs
|
||||
iso8601
|
||||
rfc3339-validator
|
||||
strict-rfc3339
|
||||
|
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ludeeus";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-3bHE3U4MM/fQM9zBYfoLpAObay82vchjX9FpJukMGNg=";
|
||||
};
|
||||
|
||||
@ -41,6 +41,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Python module to deal with versions";
|
||||
homepage = "https://github.com/ludeeus/awesomeversion";
|
||||
changelog = "https://github.com/ludeeus/awesomeversion/releases/tag/${version}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
@ -19,14 +19,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ax";
|
||||
version = "0.3.2";
|
||||
version = "0.3.4";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-1KLLjeUktXvIDOlTQzMmpbL/On8PTxZQ44Qi4BT3nPk=";
|
||||
hash = "sha256-Yc6alEKXbtQ0hitIdPhkJWhZQg150b0NJJRLZ+f1hdY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -66,6 +66,10 @@ buildPythonPackage rec {
|
||||
"--ignore=ax/service/tests/test_with_db_settings_base.py"
|
||||
"--ignore=ax/storage"
|
||||
];
|
||||
disabledTests = [
|
||||
# exact comparison of floating points
|
||||
"test_optimize_l0_homotopy"
|
||||
];
|
||||
pythonImportsCheck = [ "ax" ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-eventhub";
|
||||
version = "5.11.3";
|
||||
version = "5.11.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
extension = "zip";
|
||||
hash = "sha256-mXXMvKHk+U+VtBG5zPbKJcXrRMDssnU/18wGXT5xSK8=";
|
||||
hash = "sha256-aLiaNRUEDxF2+bSWxMdtOBwQd3mu13V8u7mj2r4wqCM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,29 +1,39 @@
|
||||
{ lib, buildPythonPackage, fetchPypi
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, azure-common
|
||||
, azure-core
|
||||
, azure-mgmt-core
|
||||
, msrest
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-synapse-artifacts";
|
||||
version = "0.16.0";
|
||||
version = "0.17.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
extension = "zip";
|
||||
hash = "sha256-J96cBqCCajK34M7v+2h6t2ptm7QwmfQt25674Q4Nr94=";
|
||||
hash = "sha256-58k8F/aUBBNJwGBiPZojkSzEXZ3Kd6uEwr0cZbFaM9k=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
azure-common
|
||||
azure-core
|
||||
azure-mgmt-core
|
||||
msrest
|
||||
];
|
||||
|
||||
# zero tests run
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "azure.synapse.artifacts" ];
|
||||
pythonImportsCheck = [
|
||||
"azure.synapse.artifacts"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
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 {
|
||||
pname = "bimmer-connected";
|
||||
version = "0.13.9";
|
||||
version = "0.13.10";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "bimmerconnected";
|
||||
repo = "bimmer_connected";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-iAfP8idJXhAsCnhlGUyMHK723kEER5bCYJNLsvaCrTA=";
|
||||
hash = "sha256-IylA73N3bZOs5HjQGbT6xqokb73iO3bdg5M2KCTX3p4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "boschshcpy";
|
||||
version = "0.2.57";
|
||||
version = "0.2.60";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "tschamm";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-/TD5zvvtOkoVG+EJzNNSMbOKXm78Di9tDrBIxpN4wbg=";
|
||||
hash = "sha256-RCHOkTBnJcqGc3Y0cQhkgkizuqNl98MU8lxpVoHVLcc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "botorch";
|
||||
version = "0.8.5";
|
||||
version = "0.9.2";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pytorch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VcNHgfk8OfLJseQxHksycWuCPCudCtOdcRV0XnxHSfU=";
|
||||
hash = "sha256-8obS+qMQwepKUxPkMbufR/SaacYekl6FA6t6XW6llA4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user