Merge c4cfc9ced3 into haskell-updates
This commit is contained in:
+5
-1
@@ -28,11 +28,15 @@ let
|
||||
generators
|
||||
id
|
||||
mapAttrs
|
||||
trace
|
||||
;
|
||||
in
|
||||
|
||||
rec {
|
||||
inherit (builtins)
|
||||
trace
|
||||
addErrorContext
|
||||
unsafeGetAttrPos
|
||||
;
|
||||
|
||||
# -- TRACING --
|
||||
|
||||
|
||||
+5
-9
@@ -105,15 +105,6 @@ let
|
||||
# network
|
||||
network = callLibs ./network;
|
||||
|
||||
# TODO: For consistency, all builtins should also be available from a sub-library;
|
||||
# these are the only ones that are currently not
|
||||
inherit (builtins)
|
||||
addErrorContext
|
||||
isPath
|
||||
trace
|
||||
typeOf
|
||||
unsafeGetAttrPos
|
||||
;
|
||||
inherit (self.trivial)
|
||||
id
|
||||
const
|
||||
@@ -335,6 +326,7 @@ let
|
||||
escape
|
||||
escapeShellArg
|
||||
escapeShellArgs
|
||||
isPath
|
||||
isStorePath
|
||||
isStringLike
|
||||
isValidPosixName
|
||||
@@ -351,6 +343,7 @@ let
|
||||
toUpper
|
||||
toCamelCase
|
||||
toSentenceCase
|
||||
typeOf
|
||||
addContextFrom
|
||||
splitString
|
||||
splitStringBy
|
||||
@@ -518,6 +511,7 @@ let
|
||||
assertOneOf
|
||||
;
|
||||
inherit (self.debug)
|
||||
trace
|
||||
traceIf
|
||||
traceVal
|
||||
traceValFn
|
||||
@@ -528,6 +522,8 @@ let
|
||||
traceValSeqN
|
||||
traceValSeqNFn
|
||||
traceFnSeqN
|
||||
addErrorContext
|
||||
unsafeGetAttrPos
|
||||
runTests
|
||||
testAllTrue
|
||||
;
|
||||
|
||||
+17
-18
@@ -18,6 +18,23 @@ let
|
||||
;
|
||||
in
|
||||
{
|
||||
# Pull in some builtins not included elsewhere.
|
||||
inherit (builtins)
|
||||
pathExists
|
||||
readFile
|
||||
isBool
|
||||
isInt
|
||||
isFloat
|
||||
add
|
||||
sub
|
||||
lessThan
|
||||
seq
|
||||
deepSeq
|
||||
genericClosure
|
||||
bitAnd
|
||||
bitOr
|
||||
bitXor
|
||||
;
|
||||
|
||||
## Simple (higher order) functions
|
||||
|
||||
@@ -388,24 +405,6 @@ in
|
||||
*/
|
||||
mapNullable = f: a: if a == null then a else f a;
|
||||
|
||||
# Pull in some builtins not included elsewhere.
|
||||
inherit (builtins)
|
||||
pathExists
|
||||
readFile
|
||||
isBool
|
||||
isInt
|
||||
isFloat
|
||||
add
|
||||
sub
|
||||
lessThan
|
||||
seq
|
||||
deepSeq
|
||||
genericClosure
|
||||
bitAnd
|
||||
bitOr
|
||||
bitXor
|
||||
;
|
||||
|
||||
## nixpkgs version strings
|
||||
|
||||
/**
|
||||
|
||||
@@ -582,6 +582,7 @@
|
||||
},
|
||||
"members": {
|
||||
"Cryolitia": 23723294,
|
||||
"Moraxyc": 69713071,
|
||||
"darkyzhou": 7220778,
|
||||
"dramforever": 2818072,
|
||||
"wegank": 9713184
|
||||
|
||||
@@ -29588,6 +29588,12 @@
|
||||
githubId = 71881325;
|
||||
name = "Stefan Bordei";
|
||||
};
|
||||
ZZBaron = {
|
||||
email = "zzbarona+nix@gmail.com";
|
||||
github = "ZZBaron";
|
||||
githubId = 157318434;
|
||||
name = "ZZBaron";
|
||||
};
|
||||
zzzsy = {
|
||||
email = "me@zzzsy.top";
|
||||
github = "zzzsyyy";
|
||||
|
||||
@@ -14,7 +14,7 @@ in
|
||||
options.programs.hyprland = {
|
||||
enable = lib.mkEnableOption ''
|
||||
Hyprland, the dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
|
||||
You can manually launch Hyprland by executing {command}`Hyprland` on a TTY.
|
||||
You can manually launch Hyprland by executing {command}`start-hyprland` on a TTY.
|
||||
A configuration file will be generated in {file}`~/.config/hypr/hyprland.conf`.
|
||||
See <https://wiki.hyprland.org> for more information'';
|
||||
|
||||
@@ -103,7 +103,7 @@ in
|
||||
hyprland = {
|
||||
prettyName = "Hyprland";
|
||||
comment = "Hyprland compositor managed by UWSM";
|
||||
binPath = "/run/current-system/sw/bin/Hyprland";
|
||||
binPath = "/run/current-system/sw/bin/start-hyprland";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
@@ -14,6 +14,7 @@ let
|
||||
"yazi"
|
||||
"theme"
|
||||
"keymap"
|
||||
"vfs"
|
||||
];
|
||||
in
|
||||
{
|
||||
|
||||
@@ -19,20 +19,8 @@ let
|
||||
(unixAddr settings.BIND_NETWORK settings.BIND)
|
||||
(unixAddr settings.METRICS_BIND_NETWORK settings.METRICS_BIND)
|
||||
];
|
||||
|
||||
runtimeDirectoryPrefix = name: "/run/anubis/${instanceName name}/";
|
||||
instanceUsesUnixSockets = instance: lib.length (unixSocketAddrs instance.settings) > 0;
|
||||
instanceUsesDedicatedRuntimeDirectory =
|
||||
name: instance:
|
||||
lib.any (lib.hasPrefix (runtimeDirectoryPrefix name)) (unixSocketAddrs instance.settings);
|
||||
useLegacyRuntimeDirectory =
|
||||
# Set when:
|
||||
# - Only one instance is configured with unix sockets.
|
||||
# - No instance uses the new runtime directory prefix: /run/anubis/anubis-<name>.
|
||||
lib.count instanceUsesUnixSockets (lib.attrValues enabledInstances) == 1
|
||||
&& !(lib.any (attrs: instanceUsesDedicatedRuntimeDirectory attrs.name attrs.value) (
|
||||
lib.attrsToList enabledInstances
|
||||
));
|
||||
runtimeDirectoryPrefix = name: "/run/anubis/${instanceName name}/";
|
||||
|
||||
commonSubmodule =
|
||||
isDefault:
|
||||
@@ -204,10 +192,12 @@ let
|
||||
options = {
|
||||
# see other options above
|
||||
BIND = lib.mkOption {
|
||||
default = "/run/anubis/${instanceName name}.sock";
|
||||
default = "${runtimeDirectoryPrefix name}anubis.sock";
|
||||
description = ''
|
||||
The address that Anubis listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for syntax.
|
||||
Use the prefix "${runtimeDirectoryPrefix "<name>"}". The prefix "/run/anubis" is deprecated.
|
||||
When using unix sockets:
|
||||
- use the prefix "${runtimeDirectoryPrefix ""}" if the instance name is the empty string,
|
||||
- "${runtimeDirectoryPrefix "<name>"}" otherwise.
|
||||
|
||||
Defaults to Unix domain sockets. To use TCP sockets, set this to a TCP address and `BIND_NETWORK` to `"tcp"`.
|
||||
'';
|
||||
@@ -215,11 +205,13 @@ let
|
||||
type = types.str;
|
||||
};
|
||||
METRICS_BIND = lib.mkOption {
|
||||
default = "/run/anubis/${instanceName name}-metrics.sock";
|
||||
default = "${runtimeDirectoryPrefix name}anubis-metrics.sock";
|
||||
description = ''
|
||||
The address Anubis' metrics server listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for
|
||||
syntax.
|
||||
Use the prefix "${runtimeDirectoryPrefix "<name>"}". The prefix "/run/anubis" is deprecated.
|
||||
When using unix sockets:
|
||||
- use the prefix "${runtimeDirectoryPrefix ""}" if the instance name is the empty string,
|
||||
- "${runtimeDirectoryPrefix "<name>"}" otherwise.
|
||||
|
||||
The metrics server is enabled by default and may be disabled. However, due to implementation details, this is
|
||||
only possible by setting a command line flag. See {option}`services.anubis.defaultOptions.extraFlags` for an
|
||||
@@ -269,20 +261,22 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf (enabledInstances != { }) {
|
||||
warnings = lib.optional useLegacyRuntimeDirectory ''Anubis service: runtime directory is going to be migrated from "anubis" to "anubis/anubis-<name>". Update services.anubis.instances.<name>.BIND to "${runtimeDirectoryPrefix "<name>"}anubis.sock" and services.anubis.instances.<name>.METRICS_BIND to "${runtimeDirectoryPrefix "<name>"}anubis-metrics.sock". Note: if <name> is "", use the prefix "/run/anubis/anubis".'';
|
||||
|
||||
assertions =
|
||||
let
|
||||
validInstanceUnixSocketAddrs =
|
||||
{ name, value }:
|
||||
lib.all (lib.hasPrefix (runtimeDirectoryPrefix name)) (unixSocketAddrs value.settings);
|
||||
name: instance:
|
||||
lib.all (lib.hasPrefix (runtimeDirectoryPrefix name)) (unixSocketAddrs instance.settings);
|
||||
in
|
||||
[
|
||||
{
|
||||
assertion =
|
||||
useLegacyRuntimeDirectory
|
||||
|| lib.all validInstanceUnixSocketAddrs (lib.attrsToList enabledInstances);
|
||||
message = ''use the prefix "${runtimeDirectoryPrefix "<name>"}" in services.anubis.instances.<name>.BIND and services.anubis.instances.<name>.METRICS_BIND'';
|
||||
assertion = lib.all (attrs: validInstanceUnixSocketAddrs attrs.name attrs.value) (
|
||||
lib.attrsToList enabledInstances
|
||||
);
|
||||
message = ''
|
||||
When using unix sockets in services.anubis.instances.<name>.settings.BIND and services.anubis.instances.<name>.settings.METRICS_BIND:
|
||||
- use the prefix "${runtimeDirectoryPrefix ""}" if the instance name is the empty string,
|
||||
- "${runtimeDirectoryPrefix "<name>"}" otherwise.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
@@ -328,14 +322,7 @@ in
|
||||
ExecStart = lib.concatStringsSep " " (
|
||||
(lib.singleton (lib.getExe cfg.package)) ++ instance.extraFlags
|
||||
);
|
||||
RuntimeDirectory =
|
||||
if useLegacyRuntimeDirectory && instanceUsesUnixSockets instance then
|
||||
# Warning: `anubis` will be deprecated eventually.
|
||||
"anubis"
|
||||
else if instanceUsesUnixSockets instance then
|
||||
"anubis/${instanceName name}"
|
||||
else
|
||||
null;
|
||||
RuntimeDirectory = if instanceUsesUnixSockets instance then "anubis/${instanceName name}" else null;
|
||||
# hardening
|
||||
NoNewPrivileges = true;
|
||||
CapabilityBoundingSet = null;
|
||||
|
||||
@@ -357,15 +357,15 @@ in
|
||||
|
||||
script =
|
||||
let
|
||||
isUserAuth = cfg.authType == "form" || cfg.authType == "none";
|
||||
|
||||
userScriptArgs = ''--user ${cfg.defaultUser} ${
|
||||
optionalString (cfg.authType == "form") ''--password "$(cat ${cfg.passwordFile})"''
|
||||
}'';
|
||||
updateUserScript = optionalString (cfg.authType == "form" || cfg.authType == "none") ''
|
||||
./cli/update-user.php ${userScriptArgs}
|
||||
'';
|
||||
createUserScript = optionalString (cfg.authType == "form" || cfg.authType == "none") ''
|
||||
./cli/create-user.php ${userScriptArgs}
|
||||
'';
|
||||
mkUserScript = name: optionalString isUserAuth ''./cli/${name}.php ${userScriptArgs}'';
|
||||
|
||||
updateUserScript = mkUserScript "update-user";
|
||||
createUserScript = mkUserScript "create-user";
|
||||
in
|
||||
''
|
||||
# do installation or reconfigure
|
||||
|
||||
+29
-123
@@ -39,72 +39,6 @@ in
|
||||
ryand56
|
||||
];
|
||||
|
||||
nodes.machineLegacy =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
services.anubis = {
|
||||
defaultOptions = {
|
||||
botPolicy = builtins.fromJSON legacyBotPolicyJSON;
|
||||
settings = {
|
||||
DIFFICULTY = 3;
|
||||
USER_DEFINED_DEFAULT = true;
|
||||
};
|
||||
};
|
||||
|
||||
instances."".settings = {
|
||||
TARGET = "http://localhost:8080";
|
||||
DIFFICULTY = 5;
|
||||
USER_DEFINED_INSTANCE = true;
|
||||
};
|
||||
|
||||
instances."tcp" = {
|
||||
user = "anubis-tcp";
|
||||
group = "anubis-tcp";
|
||||
settings = {
|
||||
TARGET = "http://localhost:8080";
|
||||
BIND = "127.0.0.1:9000";
|
||||
BIND_NETWORK = "tcp";
|
||||
METRICS_BIND = "127.0.0.1:9001";
|
||||
METRICS_BIND_NETWORK = "tcp";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.users.nginx.extraGroups = [ config.users.groups.anubis.name ];
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
virtualHosts."basic.localhost".locations = {
|
||||
"/".proxyPass = "http://unix:${config.services.anubis.instances."".settings.BIND}";
|
||||
"/metrics".proxyPass = "http://unix:${config.services.anubis.instances."".settings.METRICS_BIND}";
|
||||
};
|
||||
|
||||
virtualHosts."tcp.localhost".locations = {
|
||||
"/".proxyPass = "http://${config.services.anubis.instances."tcp".settings.BIND}";
|
||||
"/metrics".proxyPass = "http://${config.services.anubis.instances."tcp".settings.METRICS_BIND}";
|
||||
};
|
||||
|
||||
# emulate an upstream with nginx, listening on tcp and unix sockets.
|
||||
virtualHosts."upstream.localhost" = {
|
||||
default = true; # make nginx match this vhost for `localhost`
|
||||
listen = [
|
||||
{ addr = "unix:/run/nginx/nginx.sock"; }
|
||||
{
|
||||
addr = "localhost";
|
||||
port = 8080;
|
||||
}
|
||||
];
|
||||
locations."/" = {
|
||||
tryFiles = "$uri $uri/index.html =404";
|
||||
root = pkgs.runCommand "anubis-test-upstream" { } ''
|
||||
mkdir $out
|
||||
echo "it works" >> $out/index.html
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
@@ -131,8 +65,6 @@ in
|
||||
TARGET = "http://localhost:8080";
|
||||
DIFFICULTY = 5;
|
||||
USER_DEFINED_INSTANCE = true;
|
||||
BIND = "/run/anubis/anubis/anubis.sock";
|
||||
METRICS_BIND = "/run/anubis/anubis/anubis-metrics.sock";
|
||||
};
|
||||
|
||||
instances."tcp" = {
|
||||
@@ -150,16 +82,12 @@ in
|
||||
instances."another-unix-listen" = {
|
||||
settings = {
|
||||
TARGET = "http://localhost:8080";
|
||||
BIND = "/run/anubis/anubis-another-unix-listen/anubis.sock";
|
||||
METRICS_BIND = "/run/anubis/anubis-another-unix-listen/anubis-metrics.sock";
|
||||
};
|
||||
};
|
||||
|
||||
instances."unix-upstream" = {
|
||||
group = "nginx";
|
||||
settings = {
|
||||
BIND = "/run/anubis/anubis-unix-upstream/anubis.sock";
|
||||
METRICS_BIND = "/run/anubis/anubis-unix-upstream/anubis-metrics.sock";
|
||||
TARGET = "unix:///run/nginx/nginx.sock";
|
||||
};
|
||||
};
|
||||
@@ -168,8 +96,6 @@ in
|
||||
botPolicy = null;
|
||||
settings = {
|
||||
TARGET = "http://localhost:8080";
|
||||
BIND = "/run/anubis/anubis-botPolicy-default/anubis.sock";
|
||||
METRICS_BIND = "/run/anubis/anubis-botPolicy-default/anubis-metrics.sock";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -177,8 +103,6 @@ in
|
||||
settings = {
|
||||
TARGET = "http://localhost:8080";
|
||||
POLICY_FNAME = "/etc/anubis-botPolicy.json";
|
||||
BIND = "/run/anubis/anubis-botPolicy-file/anubis.sock";
|
||||
METRICS_BIND = "/run/anubis/anubis-botPolicy-file/anubis-metrics.sock";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -233,61 +157,43 @@ in
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
with subtest("Legacy anubis service configuration: supports only a single RuntimeDirectory"):
|
||||
for unit in ["nginx", "anubis", "anubis-tcp"]:
|
||||
machineLegacy.wait_for_unit(unit + ".service")
|
||||
for unit in ["nginx", "anubis", "anubis-another-unix-listen", "anubis-tcp", "anubis-unix-upstream"]:
|
||||
machine.wait_for_unit(unit + ".service")
|
||||
|
||||
machineLegacy.wait_for_open_unix_socket("/run/anubis/anubis.sock")
|
||||
machineLegacy.wait_for_open_unix_socket("/run/anubis/anubis-metrics.sock")
|
||||
for port in [9000, 9001]:
|
||||
machine.wait_for_open_port(port)
|
||||
|
||||
# Default unix socket mode with 1 instance listening on unix sockets.
|
||||
machineLegacy.succeed('curl -f http://localhost:8080 | grep "it works"')
|
||||
machineLegacy.succeed('curl -f http://basic.localhost | grep "it works"')
|
||||
machineLegacy.succeed('curl -f http://basic.localhost -H "User-Agent: Mozilla" | grep anubis')
|
||||
machineLegacy.succeed('curl -f http://basic.localhost/metrics | grep anubis_challenges_issued')
|
||||
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis.sock")
|
||||
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis-metrics.sock")
|
||||
for instance in ["another-unix-listen", "unix-upstream"]:
|
||||
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis.sock")
|
||||
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis-metrics.sock")
|
||||
|
||||
# TCP mode.
|
||||
machineLegacy.succeed('curl -f http://tcp.localhost -H "User-Agent: Mozilla" | grep anubis')
|
||||
machineLegacy.succeed('curl -f http://tcp.localhost/metrics | grep anubis_challenges_issued')
|
||||
machine.succeed('curl -f http://basic.localhost | grep "it works"')
|
||||
machine.succeed('curl -f http://basic.localhost -H "User-Agent: Mozilla" | grep anubis')
|
||||
machine.succeed('curl -f http://basic.localhost/metrics | grep anubis_challenges_issued')
|
||||
|
||||
with subtest("Dedicated RuntimeDirectory"):
|
||||
for unit in ["nginx", "anubis", "anubis-another-unix-listen", "anubis-tcp", "anubis-unix-upstream"]:
|
||||
machine.wait_for_unit(unit + ".service")
|
||||
machine.succeed('curl -f http://another-unix-listen.localhost -H "User-Agent: Mozilla" | grep anubis')
|
||||
machine.succeed('curl -f http://another-unix-listen.localhost/metrics | grep anubis_challenges_issued')
|
||||
|
||||
for port in [9000, 9001]:
|
||||
machine.wait_for_open_port(port)
|
||||
# Upstream is a unix socket mode.
|
||||
machine.succeed('curl -f http://unix.localhost/index.html | grep "it works"')
|
||||
|
||||
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis.sock")
|
||||
machine.wait_for_open_unix_socket("/run/anubis/anubis/anubis-metrics.sock")
|
||||
for instance in ["another-unix-listen", "unix-upstream"]:
|
||||
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis.sock")
|
||||
machine.wait_for_open_unix_socket(f"/run/anubis/anubis-{instance}/anubis-metrics.sock")
|
||||
# Default user-defined environment variables.
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_DEFAULT"')
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_DEFAULT"')
|
||||
|
||||
machine.succeed('curl -f http://basic.localhost | grep "it works"')
|
||||
machine.succeed('curl -f http://basic.localhost -H "User-Agent: Mozilla" | grep anubis')
|
||||
machine.succeed('curl -f http://basic.localhost/metrics | grep anubis_challenges_issued')
|
||||
# Instance-specific user-specified environment variables.
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_INSTANCE"')
|
||||
machine.fail('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_INSTANCE"')
|
||||
|
||||
machine.succeed('curl -f http://another-unix-listen.localhost -H "User-Agent: Mozilla" | grep anubis')
|
||||
machine.succeed('curl -f http://another-unix-listen.localhost/metrics | grep anubis_challenges_issued')
|
||||
# Make sure defaults don't overwrite themselves.
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "DIFFICULTY=5"')
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "DIFFICULTY=3"')
|
||||
|
||||
# Upstream is a unix socket mode.
|
||||
machine.succeed('curl -f http://unix.localhost/index.html | grep "it works"')
|
||||
|
||||
# Default user-defined environment variables.
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_DEFAULT"')
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_DEFAULT"')
|
||||
|
||||
# Instance-specific user-specified environment variables.
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "USER_DEFINED_INSTANCE"')
|
||||
machine.fail('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "USER_DEFINED_INSTANCE"')
|
||||
|
||||
# Make sure defaults don't overwrite themselves.
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "DIFFICULTY=5"')
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-tcp.service | grep "DIFFICULTY=3"')
|
||||
|
||||
# Check correct BotPolicy settings are applied
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "POLICY_FNAME=/nix/store"')
|
||||
machine.fail('cat /run/current-system/etc/systemd/system/anubis-botPolicy-default.service | grep "POLICY_FNAME="')
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-botPolicy-file.service | grep "POLICY_FNAME=/etc/anubis-botPolicy.json"')
|
||||
# Check correct BotPolicy settings are applied
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis.service | grep "POLICY_FNAME=/nix/store"')
|
||||
machine.fail('cat /run/current-system/etc/systemd/system/anubis-botPolicy-default.service | grep "POLICY_FNAME="')
|
||||
machine.succeed('cat /run/current-system/etc/systemd/system/anubis-botPolicy-file.service | grep "POLICY_FNAME=/etc/anubis-botPolicy.json"')
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_open_port(80)
|
||||
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
|
||||
response = machine.succeed("curl --fail-with-body --silent --header 'Host: freshrss' http://localhost:80/i/")
|
||||
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -20,17 +20,18 @@
|
||||
];
|
||||
|
||||
testScript = ''
|
||||
from lxml import etree
|
||||
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_open_port(80)
|
||||
response = machine.succeed("curl -s http://localhost:80/i/?c=extension")
|
||||
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/?c=extension")
|
||||
assert '<span class="ext_name disabled">YouTube Video Feed</span>' in response, "Extension not present in extensions page."
|
||||
|
||||
# enable Title-Wrap extension
|
||||
from lxml import etree
|
||||
tree = etree.HTML(response)
|
||||
csrf = tree.xpath("/html/body/header/nav/form/input/@value")[0]
|
||||
response = machine.succeed(f"curl --fail-with-body -s 'http://localhost:80/i/?c=extension&a=enable&e=Title-Wrap' -d '_csrf={csrf}'")
|
||||
machine.succeed(f"curl --fail-with-body --silent 'http://localhost:80/i/?c=extension&a=enable&e=Title-Wrap' -d '_csrf={csrf}'")
|
||||
# verify that the Title-Wrap css is accessible.
|
||||
machine.succeed("curl --fail-with-body -s 'http://localhost:80/ext.php?1=&f=xExtension-TitleWrap/static/title_wrap.css'")
|
||||
machine.succeed("curl --fail-with-body --silent 'http://localhost:80/ext.php?1=&f=xExtension-TitleWrap/static/title_wrap.css'")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_open_port(80)
|
||||
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' -H 'Remote-User: testuser' http://localhost:80/i/")
|
||||
response = machine.succeed("curl --fail-with-body --silent -H 'Remote-User: testuser' http://localhost:80/i/")
|
||||
assert 'Account: testuser' in response, "http_auth method didn't work."
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_open_port(80)
|
||||
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
|
||||
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/")
|
||||
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_open_port(80)
|
||||
response = machine.succeed("curl -vvv -s http://localhost:80/i/")
|
||||
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/")
|
||||
assert '<title> · FreshRSS</title>' in response, "FreshRSS stream page didn't load successfully"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_open_port(5432)
|
||||
machine.wait_for_open_port(80)
|
||||
response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://localhost:80/i/")
|
||||
response = machine.succeed("curl --fail-with-body --silent http://localhost:80/i/")
|
||||
assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -21,8 +21,6 @@ melpaBuild {
|
||||
|
||||
files = ''(:defaults "msg")'';
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/misohena/el-easydraw";
|
||||
description = "Embedded drawing tool for Emacs";
|
||||
|
||||
@@ -763,6 +763,19 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
alabaster-nvim = buildVimPlugin {
|
||||
pname = "alabaster.nvim";
|
||||
version = "2025-11-21";
|
||||
src = fetchFromGitHub {
|
||||
owner = "p00f";
|
||||
repo = "alabaster.nvim";
|
||||
rev = "1fc9e29fbbce94f127cc8b21960b7e3c85187960";
|
||||
sha256 = "0jm5rlc1j4gni8qgcba0ssdnakdpl0hrqlm61xmipv0k2sr3wy2y";
|
||||
};
|
||||
meta.homepage = "https://github.com/p00f/alabaster.nvim/";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
alchemist-vim = buildVimPlugin {
|
||||
pname = "alchemist.vim";
|
||||
version = "3.5.0-unstable-2023-09-01";
|
||||
@@ -947,7 +960,7 @@ final: prev: {
|
||||
|
||||
artio-nvim = buildVimPlugin {
|
||||
pname = "artio.nvim";
|
||||
version = "2025-12-28";
|
||||
version = "0-unstable-2025-12-28";
|
||||
src = fetchFromGitHub {
|
||||
owner = "comfysage";
|
||||
repo = "artio.nvim";
|
||||
@@ -9174,6 +9187,19 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
model-nvim = buildVimPlugin {
|
||||
pname = "model.nvim";
|
||||
version = "0-unstable-2025-07-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gsuuon";
|
||||
repo = "model.nvim";
|
||||
rev = "c4653e9a9431c2629725b919e37eac83d0dbb6aa";
|
||||
hash = "sha256-gz97C8/tlU4SDKLaQ5Lv2NbQP8zQRsNxiIQWHoHHDJY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/gsuuon/model.nvim/";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
modicator-nvim = buildVimPlugin {
|
||||
pname = "modicator.nvim";
|
||||
version = "0-unstable-2025-10-24";
|
||||
|
||||
@@ -18,18 +18,18 @@
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
version = "1.3.20";
|
||||
version = "1.3.21";
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaelb";
|
||||
repo = "sniprun";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-z8viNr1TBGfWqgjfZKYJTEa1/KytKBmLbqcQrAiTZyc=";
|
||||
hash = "sha256-L/OTi6vHyfcvlVgpgjiU3MBCd6v00GKlAkUwBm4X500=";
|
||||
};
|
||||
sniprun-bin = rustPlatform.buildRustPackage {
|
||||
pname = "sniprun-bin";
|
||||
inherit version src;
|
||||
|
||||
cargoHash = "sha256-Ki1IFQzG4rOakGX5HsYWL8GeQ53dN7WAIZ113+bwcvI=";
|
||||
cargoHash = "sha256-6xh4YyXGIqrU9ixQ6QDCGDtaROoPe8iSMlytclbqqtY=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
diff --git a/lua/sniprun.lua b/lua/sniprun.lua
|
||||
index 49be442..9342351 100644
|
||||
index 2c5d460..f785caa 100644
|
||||
--- a/lua/sniprun.lua
|
||||
+++ b/lua/sniprun.lua
|
||||
@@ -3,9 +3,7 @@ M.ping_anwsered = 0
|
||||
@@ -3,8 +3,7 @@ M.ping_anwsered = 0
|
||||
M.info_floatwin = {}
|
||||
|
||||
-- See https://github.com/tjdevries/rofl.nvim/blob/632c10f2ec7c56882a3f7eda8849904bcac6e8af/lua/rofl.lua
|
||||
-local binary_path = vim.fn.fnamemodify(
|
||||
- vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":h:h")
|
||||
-local binary_path = vim.fn.fnamemodify(vim.api.nvim_get_runtime_file("lua/sniprun.lua", false)[1], ":h:h")
|
||||
- .. "/target/release/sniprun"
|
||||
+local binary_path = "@sniprun@"
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ https://github.com/derekelkins/agda-vim/,,
|
||||
https://github.com/emmanueltouzery/agitator.nvim/,HEAD,
|
||||
https://github.com/aduros/ai.vim/,HEAD,
|
||||
https://github.com/joshuavial/aider.nvim/,HEAD,
|
||||
https://github.com/p00f/alabaster.nvim/,HEAD,
|
||||
https://github.com/slashmili/alchemist.vim/,,
|
||||
https://github.com/dense-analysis/ale/,,
|
||||
https://github.com/vim-scripts/align/,,
|
||||
@@ -704,6 +705,7 @@ https://github.com/milanglacier/minuet-ai.nvim/,HEAD,
|
||||
https://github.com/jghauser/mkdir.nvim/,main,
|
||||
https://github.com/jakewvincent/mkdnflow.nvim/,HEAD,
|
||||
https://github.com/SidOfc/mkdx/,,
|
||||
https://github.com/gsuuon/model.nvim/,HEAD,
|
||||
https://github.com/mawkler/modicator.nvim/,HEAD,
|
||||
https://github.com/miikanissi/modus-themes.nvim/,HEAD,
|
||||
https://github.com/tomasr/molokai/,,
|
||||
|
||||
@@ -1965,8 +1965,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "gitlab-workflow";
|
||||
publisher = "gitlab";
|
||||
version = "6.61.2";
|
||||
hash = "sha256-NLWu/4QgG/vbhTVjV57bt6J7AX2kC59/2xNkj8PMdtc=";
|
||||
version = "6.62.1";
|
||||
hash = "sha256-Sbtrmla1vRZ7isSvr5QhDiP519/IG/VJ5zI9Y28UFx4=";
|
||||
};
|
||||
meta = {
|
||||
description = "GitLab extension for Visual Studio Code";
|
||||
@@ -5363,8 +5363,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "pretty-ts-errors";
|
||||
publisher = "yoavbls";
|
||||
version = "0.6.1";
|
||||
hash = "sha256-LvX21nEjgayNd9q+uXkahmdYwzfWBZOhQaF+clFUUF4=";
|
||||
version = "0.7.0";
|
||||
hash = "sha256-+PKxy1YN8ZP0hstb7PXZH+5L4n2l/j5J9/ordS2cBYM=";
|
||||
};
|
||||
meta = {
|
||||
description = "Make TypeScript errors prettier and human-readable in VSCode";
|
||||
|
||||
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "basedpyright";
|
||||
publisher = "detachhead";
|
||||
version = "1.36.1";
|
||||
hash = "sha256-D3bKfUb/cm9zGfUCl0G/X2nxylZqSNv406BQ8c5GtgI=";
|
||||
version = "1.36.2";
|
||||
hash = "sha256-FOu5ZpjNhtWxV+7Jt9V1RZ4YrK5BZ5t8Ut06raZURFI=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://github.com/detachhead/basedpyright/releases";
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "google";
|
||||
name = "colab";
|
||||
version = "0.1.4";
|
||||
hash = "sha256-15n8e7KHMHU16oScivd6aY8v5vnzlH+4ME9Z6qt3AHw=";
|
||||
version = "0.1.6";
|
||||
hash = "sha256-2WJLXQfsdjor4YThjxvUZejBRjxEEe6fVCMba9grqIQ=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "opera";
|
||||
version = "0-unstable-2024-10-16";
|
||||
version = "0-unstable-2025-12-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "opera-libretro";
|
||||
rev = "67a29e60a4d194b675c9272b21b61eaa022f3ba3";
|
||||
hash = "sha256-8896EWNbzVyr3MS1jtWD3pLur7ZvAhhJmrwkW3ayzkU=";
|
||||
rev = "345f12b7d45d7013602a4a3b72287f529bd78042";
|
||||
hash = "sha256-2FkBsiKOzf/sMtKA1vI0ixWP9/ghs/N7zA7/m6h6gZ0=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "pcsx-rearmed";
|
||||
version = "0-unstable-2025-12-16";
|
||||
version = "0-unstable-2025-12-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "pcsx_rearmed";
|
||||
rev = "8d91fbdff8f4db6e256370f030a9f6ac8c7f2c62";
|
||||
hash = "sha256-3DaKohQ5HoR7Un7mZF4yeFs4fQ0WfVUS15P1HQU0H+0=";
|
||||
rev = "a2640fe1a0e21729054cdb74db8a21e4bf6dde17";
|
||||
hash = "sha256-HzgpqgTcFT0Dz0SIn4zW4oF4FxOTYzgg1/sFi3XDwQ4=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "stella";
|
||||
version = "0-unstable-2025-12-14";
|
||||
version = "0-unstable-2025-12-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stella-emu";
|
||||
repo = "stella";
|
||||
rev = "6d2e3783fde1d99773a57a1ff0c14bfaeec22f93";
|
||||
hash = "sha256-/1S09xhwvLg6fDgujWVpHb5jQUqydTVTtEjHk4leYUY=";
|
||||
rev = "7f62c3e1390f629cbd56cbb5172f7e2143b30440";
|
||||
hash = "sha256-IMrqBu7beSuJNfl2pyzRm5yExXaMkl+si0YVDeRbAcU=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -1193,13 +1193,13 @@
|
||||
"vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
|
||||
},
|
||||
"selectel_selectel": {
|
||||
"hash": "sha256-/9PIbXyh+CklHQRWWoXxH42KUATi3uyPZRtWWfniB1Q=",
|
||||
"hash": "sha256-2lo5CF+FmQW2JIHCoI5zGZBaquIo4RXzvD8MeNWTHhQ=",
|
||||
"homepage": "https://registry.terraform.io/providers/selectel/selectel",
|
||||
"owner": "selectel",
|
||||
"repo": "terraform-provider-selectel",
|
||||
"rev": "v7.2.1",
|
||||
"rev": "v7.3.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-Kvolsw4lgh4Q8Vtq4PFzatD0Up/qeyZYfb+UQfwct3o="
|
||||
"vendorHash": "sha256-wAVTsN0ZizBU4dMLK2wxf3RSNE6GCbXL1jTIULpKfNU="
|
||||
},
|
||||
"siderolabs_talos": {
|
||||
"hash": "sha256-PPD4blyXt4/IalzwEn4+lvuD1Qx7VuUD/CUJILDRI5k=",
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
vorbis-tools,
|
||||
pulseaudio,
|
||||
nodejs,
|
||||
youtube-dl,
|
||||
yt-dlp,
|
||||
opusTools,
|
||||
gst_all_1,
|
||||
enableSonos ? true,
|
||||
@@ -27,21 +27,21 @@ let
|
||||
gst_all_1.gstreamer
|
||||
nodejs
|
||||
ffmpeg
|
||||
youtube-dl
|
||||
yt-dlp
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ pulseaudio ];
|
||||
|
||||
in
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "mkchromecast-unstable";
|
||||
version = "2022-10-31";
|
||||
version = "2025-12-21";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "muammar";
|
||||
repo = "mkchromecast";
|
||||
rev = "0de9fd78c4122dec4f184aeae2564790b45fe6dc";
|
||||
sha256 = "sha256-dxsIcBPrZaXlsfzOEXhYj2qoK5LRducJG2ggMrMMl9Y=";
|
||||
rev = "9cdc5f3f9060ef4078522366ce896356515d8e52";
|
||||
hash = "sha256-UMzOIxgeTpAFQZtYirOYPoVcKgiKdGx2zwVyWmo32w4=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isLinux qtwayland;
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vdr-epgsearch";
|
||||
version = "2.4.4";
|
||||
version = "2.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "vdr-plugin-epgsearch";
|
||||
owner = "vdr-projects";
|
||||
sha256 = "sha256-hHTb6MbN18gNiovX1BKR6ldxxRDeDXJt4kNm722phRk=";
|
||||
sha256 = "sha256-ERHy6ks5evYmOUoTXNd63ETIA2PyR67VZ7CXR6kn7x4=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vdr-markad";
|
||||
version = "4.2.16";
|
||||
version = "4.2.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "vdr-plugin-markad";
|
||||
owner = "kfb77";
|
||||
hash = "sha256-WK4lt/UrXNExs8Dnv3de91Bl6JMgEqjPcBKbbTK1pj4=";
|
||||
hash = "sha256-27Axgh8brG0Apq06gry7uN95GtJ74FC1RNYVcqTUbE0=";
|
||||
tag = "V${version}";
|
||||
};
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@ let
|
||||
mkHyprlandPlugin,
|
||||
}:
|
||||
let
|
||||
version = "0.52.0";
|
||||
version = "0.53.0";
|
||||
|
||||
hyprland-plugins-src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprland-plugins";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-hr53AWO96ooLCwS1a2v416eT1/aWQZmuQV0ULqhaBTY=";
|
||||
hash = "sha256-BSRT1Uu1ot4WfMfZc6KW0nwpmt2xl9wpUqmH/JoMTfk=";
|
||||
};
|
||||
in
|
||||
mkHyprlandPlugin {
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Naur 4th-3.64.0-old/sources/Makefile 4th-3.64.0-new/sources/Makefile
|
||||
--- 4th-3.64.0-old/sources/Makefile 2022-03-15 12:37:45.925122854 -0300
|
||||
+++ 4th-3.64.0-new/sources/Makefile 2022-03-15 12:38:50.987870211 -0300
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
install: mostlyinstall
|
||||
install -Dm644 ../documentation/4th.1 $(MANDIR)/man1/4th.1
|
||||
- install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th/
|
||||
+ install -Dm644 ../documentation/4tHmanual.pdf $(DOCDIR)/4th/
|
||||
|
||||
uninstall:
|
||||
-rm -f $(LIBRARIES)/lib4th.{a,so*}
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "4th";
|
||||
version = "3.64.1";
|
||||
version = "3.64.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://sourceforge.net/projects/forth-4th/files/4th-${finalAttrs.version}/4th-${finalAttrs.version}-unix.tar.gz";
|
||||
hash = "sha256-+W6nTNsqrf3Dvr+NbSz3uJdrXVbBI3OHR5v/rs7en+M=";
|
||||
hash = "sha256-ufQiuRDPmcYzFSQf16cuZSrOEbH3itq7yZYo87zPs1g=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -18,11 +18,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"man"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix install manual; report this patch to upstream
|
||||
./001-install-manual-fixup.diff
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
makeFlags = [
|
||||
@@ -50,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Portable Forth compiler";
|
||||
license = lib.licenses.lgpl3Plus;
|
||||
mainProgram = "4th";
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ chillcicada ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "ananicy-rules-cachyos";
|
||||
version = "0-unstable-2025-12-09";
|
||||
version = "0-unstable-2025-12-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CachyOS";
|
||||
repo = "ananicy-rules";
|
||||
rev = "96785149f069325c349f24c21c8dcfe83f0211f4";
|
||||
hash = "sha256-eMWBvK/E/rH5iLKfMRAQx3UcD4gDZ8mEKe+oPUsQaNM=";
|
||||
rev = "410a04d9af9ac9b6bfefa06cf53ae9b91f1294bd";
|
||||
hash = "sha256-vEwpJ5AQS4Xwdyvm6/jOtG3V32C50qr3W8hkEbq/IJk=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "ansible-doctor";
|
||||
version = "8.0.1";
|
||||
version = "8.1.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thegeeklab";
|
||||
repo = "ansible-doctor";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-vbI1VEtSQW+kUCIcqrHE+Ogmjjmpstgu2cpl3fDZ2rE=";
|
||||
hash = "sha256-izgSdHK+vVS0UcK32gYDwBn3b1yDCzp2ImjDXZbMrzs=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -11,15 +11,15 @@
|
||||
|
||||
let
|
||||
|
||||
pkg = buildGoModule rec {
|
||||
pkg = buildGoModule (finalAttrs: {
|
||||
pname = "arduino-cli";
|
||||
version = "1.3.1";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arduino";
|
||||
repo = "arduino-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-vUa/Mgztyu5jKVIIhp+Cg79n+ulN94mlfVpxecRb6PA=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-H7vccxDzJt0e/91PIV6Qg8nRD0beb/3g7AZ4uk2ebXU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -31,7 +31,7 @@ let
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
vendorHash = "sha256-msv+ZG6uabTtPDVcRksRd8UTSpoztMKw3YGxvhJr26w=";
|
||||
vendorHash = "sha256-GPZLvEgL/2Ekfj58d8dsbc6e2hHB2zUapvFdIT43hhQ=";
|
||||
|
||||
postPatch =
|
||||
let
|
||||
@@ -62,7 +62,7 @@ let
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/arduino/arduino-cli/internal/version.versionString=${version}"
|
||||
"-X github.com/arduino/arduino-cli/internal/version.versionString=${finalAttrs.version}"
|
||||
"-X github.com/arduino/arduino-cli/internal/version.commit=unknown"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ "-extldflags '-static'" ];
|
||||
@@ -75,10 +75,10 @@ let
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (src.meta) homepage;
|
||||
inherit (finalAttrs.src.meta) homepage;
|
||||
description = "Arduino from the command line";
|
||||
mainProgram = "arduino-cli";
|
||||
changelog = "https://github.com/arduino/arduino-cli/releases/tag/${version}";
|
||||
changelog = "https://github.com/arduino/arduino-cli/releases/tag/${finalAttrs.version}";
|
||||
license = with lib.licenses; [
|
||||
gpl3Only
|
||||
asl20
|
||||
@@ -89,7 +89,7 @@ let
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
});
|
||||
|
||||
in
|
||||
if stdenv.hostPlatform.isLinux then
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "aws-vault";
|
||||
version = "7.8.5";
|
||||
version = "7.8.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ByteNess";
|
||||
repo = "aws-vault";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-tJqqJl+X5LpVJXB6QGqNkjZxTSo44IK/IY/yVk2DLjQ=";
|
||||
hash = "sha256-nULl68DMTqrVXlPmJlp7M3EZ+MiGR9FsWKIRaa2i91I=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "binaryninja-free";
|
||||
version = "5.2.8614";
|
||||
version = "5.2.8722";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Vector35/binaryninja-api/releases/download/stable/${finalAttrs.version}/binaryninja_free_linux.zip";
|
||||
hash = "sha256-Z7hI0WTOseEgM/opZLxSGCnHYXiliEWksA1FpICLRPQ=";
|
||||
hash = "sha256-YlBr/Cdjev7LWY/VsKgv/i3zHj4YR49RX69zmhhie7U=";
|
||||
};
|
||||
|
||||
icon = fetchurl {
|
||||
@@ -92,7 +92,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
free = false;
|
||||
};
|
||||
mainProgram = "binaryninja";
|
||||
maintainers = with lib.maintainers; [ scoder12 ];
|
||||
maintainers = with lib.maintainers; [
|
||||
scoder12
|
||||
timschumi
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -6,17 +6,18 @@
|
||||
boost,
|
||||
libusb1,
|
||||
pkg-config,
|
||||
unstableGitUpdater,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "cc-tool";
|
||||
version = "unstable-2020-05-19";
|
||||
version = "0.27-unstable-2025-10-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dashesy";
|
||||
repo = "cc-tool";
|
||||
rev = "19e707eafaaddee8b996ad27a9f3e1aafcb900d2";
|
||||
hash = "sha256:1f78j498fdd36xbci57jkgh25gq14g3b6xmp76imdpar0jkpyljv";
|
||||
rev = "0d84df329e343e2ea5a960c04a3d4478ee039aa0";
|
||||
hash = "sha256-3zZNzH+T/Wc3rn+ZmdpQ5U0Fs6ylT/QhX1pUUD8kPoE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -30,15 +31,25 @@ stdenv.mkDerivation {
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace udev/90-cc-debugger.rules \
|
||||
--replace 'MODE="0666"' 'MODE="0660", GROUP="plugdev", TAG+="uaccess"'
|
||||
--replace-fail 'MODE="0666"' 'MODE="0660", GROUP="plugdev", TAG+="uaccess"'
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost=${lib.getDev boost}"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
postInstall = ''
|
||||
install -D udev/90-cc-debugger.rules $out/lib/udev/rules.d/90-cc-debugger.rules
|
||||
'';
|
||||
|
||||
passthru.updateScript = unstableGitUpdater {
|
||||
tagPrefix = "v";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Command line tool for the Texas Instruments CC Debugger";
|
||||
mainProgram = "cc-tool";
|
||||
|
||||
@@ -12,15 +12,15 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "cht.sh";
|
||||
version = "0-unstable-2025-08-08";
|
||||
version = "0-unstable-2025-12-23";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chubin";
|
||||
repo = "cheat.sh";
|
||||
rev = "b714a5f0d56427924a7871f083fd05e7ede6b0e4";
|
||||
sha256 = "JkqHxHgs7gUk511CSJ/sLEBWCAYig1lqfslhABDNMGI=";
|
||||
rev = "031a5d3887f035aaa3bf1a3f83dff4fde2aac53d";
|
||||
sha256 = "T6v58bmdA3EvC4QUgCR+FJLonN3QdHpkdvNGauq/i5Q=";
|
||||
};
|
||||
|
||||
# Fix ".cht.sh-wrapped" in the help message
|
||||
|
||||
@@ -24,18 +24,18 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "diebahn";
|
||||
version = "2.9.3";
|
||||
version = "2.9.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "schmiddi-on-mobile";
|
||||
repo = "railway";
|
||||
tag = version;
|
||||
hash = "sha256-Bs+qn6QZnY37Kk7Xl4QE9k41T2W8gIvtcP4I5qLERNI=";
|
||||
hash = "sha256-eGXTBrzKd7dV74wAOzZV9UnIhuR/Xtb20fIWOjfPqtM=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit pname version src;
|
||||
hash = "sha256-ijbVyVC0Vq5Olo3odzRv078CosAiIZ6KJNx0Gv5YunI=";
|
||||
hash = "sha256-YSki/pKhaKnUqyEMibpg/j06zR6E003AzRTK795NFQo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dmidecode";
|
||||
version = "3.6";
|
||||
version = "3.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://savannah/dmidecode/dmidecode-${version}.tar.xz";
|
||||
sha256 = "sha256-5Axl8+w9r+Ma2DSaTvGpcSLTj2UATtZldeGo1XXdi64=";
|
||||
sha256 = "sha256-LDrtEshaHmqUENQG1eQXxFVGbcG8fIkni7Ms98rZHoo=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
|
||||
@@ -9,20 +9,20 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "docker-credential-gcr";
|
||||
version = "2.1.30";
|
||||
version = "2.1.31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleCloudPlatform";
|
||||
repo = "docker-credential-gcr";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ZHQLZLw5Qe+60POSxfUZ5nh9punLXHzlXbjrUVR9MKU=";
|
||||
hash = "sha256-DAqMdVayRRf8MqcE+Vfm3Inh7ja7CjMaHCuvg7/AcUA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
rm -rf ./test
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-eQ9ZsJqW+FF3XHrqaDm254/vdLxR1Mw5wt+TkWqtXBg=";
|
||||
vendorHash = "sha256-6NLem27nG6SMxxoIWOg5xLyCo8ZDb8kGPSX3TKWi/N4=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doublecmd";
|
||||
version = "1.1.30";
|
||||
version = "1.1.31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doublecmd";
|
||||
repo = "doublecmd";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-QEjwZ4jYkmgym4ap7GGD02O2yvEHFOw0jp6f65dfO+w=";
|
||||
hash = "sha256-aIdjLpfGr98v4i/ssMNPBUJGwugEG612p4LtGUmo3cU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,842 @@
|
||||
From 95d046e287ae7b9ea3f10958180fa07d4064cf25 Mon Sep 17 00:00:00 2001
|
||||
From: apolius <apolius@tuta.io>
|
||||
Date: Sat, 1 Jun 2019 00:39:11 +0100
|
||||
Subject: [PATCH 1/4] updated setColor and getInfo
|
||||
|
||||
---
|
||||
conf.lua | 2 +-
|
||||
configuration.lua | 2 +-
|
||||
main.lua | 2 +-
|
||||
menu.lua | 10 +++++-----
|
||||
messageBoxState.lua | 6 +++---
|
||||
particles.lua | 6 +++---
|
||||
pauseGameState.lua | 4 ++--
|
||||
res/{images => }/fonts/joystix.ttf | Bin
|
||||
resmgr.lua | 24 ++++++------------------
|
||||
rules.lua | 2 +-
|
||||
saveLevelState.lua | 6 +++---
|
||||
selectionList.lua | 12 ++++++------
|
||||
textInput.lua | 4 ++--
|
||||
13 files changed, 34 insertions(+), 46 deletions(-)
|
||||
rename res/{images => }/fonts/joystix.ttf (100%)
|
||||
|
||||
diff --git a/conf.lua b/conf.lua
|
||||
index 703a060..00aa34f 100644
|
||||
--- a/conf.lua
|
||||
+++ b/conf.lua
|
||||
@@ -1,6 +1,6 @@
|
||||
function love.conf(t)
|
||||
t.identity = "duckmarines"
|
||||
- t.version = "0.10.0"
|
||||
+ -- t.version = "0.10.0"
|
||||
t.console = false
|
||||
|
||||
t.window.title = "Duck Marines"
|
||||
diff --git a/configuration.lua b/configuration.lua
|
||||
index 2800dbc..f2c12a2 100644
|
||||
--- a/configuration.lua
|
||||
+++ b/configuration.lua
|
||||
@@ -24,7 +24,7 @@ function Config:save()
|
||||
end
|
||||
|
||||
function Config:load()
|
||||
- if love.filesystem.exists("config") then
|
||||
+ if love.filesystem.getInfo("config") then
|
||||
local strdata = love.filesystem.read("config")
|
||||
local data = TSerial.unpack(strdata)
|
||||
|
||||
diff --git a/main.lua b/main.lua
|
||||
index 6443d01..16bcf1b 100644
|
||||
--- a/main.lua
|
||||
+++ b/main.lua
|
||||
@@ -25,7 +25,7 @@ rules = nil
|
||||
|
||||
function love.load()
|
||||
-- Setup user data
|
||||
- if love.filesystem.exists("usermaps") == false then
|
||||
+ if love.filesystem.getInfo("usermaps") == false then
|
||||
love.filesystem.createDirectory("usermaps")
|
||||
end
|
||||
|
||||
diff --git a/menu.lua b/menu.lua
|
||||
index 90f2ead..fb1060e 100644
|
||||
--- a/menu.lua
|
||||
+++ b/menu.lua
|
||||
@@ -84,16 +84,16 @@ function Menu:draw()
|
||||
love.graphics.draw(self.imgButton, self.quadLeftEdge, v.x, v.y+3, 0, 1, v.height-6)
|
||||
love.graphics.draw(self.imgButton, self.quadRightEdge, v.x+v.width-3, v.y+3, 0, 1, v.height-6)
|
||||
|
||||
- love.graphics.setColor(255, 194, 49, 255)
|
||||
+ love.graphics.setColor(1, 194/255, 49/255, 1)
|
||||
love.graphics.rectangle("fill", v.x+3, v.y+3, v.width-6, v.height-6)
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1, 1)
|
||||
if v.enabled then
|
||||
- love.graphics.setColor(80, 49, 0, 255)
|
||||
+ love.graphics.setColor(80/255, 49/255, 0, 1)
|
||||
else
|
||||
- love.graphics.setColor(80, 49, 0, 128)
|
||||
+ love.graphics.setColor(80/255, 49/255, 0, 128/255)
|
||||
end
|
||||
love.graphics.printf(v.text, v.x, (v.y+v.height/2-9), v.width, "center")
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1, 1, 1, 1)
|
||||
elseif v.type == Menu.IMAGE_BUTTON then
|
||||
love.graphics.draw(v.img, v.quad, v.x, v.y)
|
||||
end
|
||||
diff --git a/messageBoxState.lua b/messageBoxState.lua
|
||||
index cf69535..1062a16 100644
|
||||
--- a/messageBoxState.lua
|
||||
+++ b/messageBoxState.lua
|
||||
@@ -27,11 +27,11 @@ end
|
||||
|
||||
function MessageBoxState:draw()
|
||||
love.graphics.setFont(ResMgr.getFont("menu"))
|
||||
- love.graphics.setColor(23, 23, 23, 255)
|
||||
+ love.graphics.setColor(23/255, 23/255, 23/255, 1/255)
|
||||
love.graphics.rectangle("fill", self.x-25, self.y-25, self.width+50, self.height+50)
|
||||
- love.graphics.setColor(241, 148, 0, 255)
|
||||
+ love.graphics.setColor(241/255, 148/255, 0, 1)
|
||||
love.graphics.rectangle("line", self.x-24.5, self.y-24.5, self.width+50, self.height+50)
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1, 1)
|
||||
love.graphics.printf(self.message, self.x, self.y, self.width, "center")
|
||||
end
|
||||
|
||||
diff --git a/particles.lua b/particles.lua
|
||||
index 1376e75..14a68fa 100644
|
||||
--- a/particles.lua
|
||||
+++ b/particles.lua
|
||||
@@ -57,7 +57,7 @@ function BonusTextParticle.create(x,y,text,color)
|
||||
self.text = text
|
||||
self.yspeed = 100
|
||||
self.alive = true
|
||||
- self.color = color or {255, 255, 255, 255}
|
||||
+ self.color = color or {1, 1, 1, 100/255}
|
||||
|
||||
local number = tonumber(self.text)
|
||||
if number and number <= 0 then
|
||||
@@ -81,11 +81,11 @@ function BonusTextParticle:draw()
|
||||
love.graphics.draw(self.bar, self.x-40, self.y+26)
|
||||
|
||||
love.graphics.setFont(ResMgr.getFont("joystix30"))
|
||||
- love.graphics.setColor(0, 0, 0, 255)
|
||||
+ love.graphics.setColor(0, 0, 0, 100/255)
|
||||
love.graphics.printf(self.text, self.x-75, self.y+3, 150, "center")
|
||||
love.graphics.setColor(self.color)
|
||||
love.graphics.printf(self.text, self.x-75, self.y, 150, "center")
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1, 100/255)
|
||||
end
|
||||
|
||||
function BonusTextParticle:getLayer()
|
||||
diff --git a/pauseGameState.lua b/pauseGameState.lua
|
||||
index c11a915..1a90ea4 100644
|
||||
--- a/pauseGameState.lua
|
||||
+++ b/pauseGameState.lua
|
||||
@@ -44,9 +44,9 @@ function PauseGameState:update()
|
||||
end
|
||||
|
||||
function PauseGameState:draw()
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.rectangle("fill", 0, 0, WIDTH, HEIGHT)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
end
|
||||
|
||||
function PauseGameState:buttonPressed(id, source)
|
||||
diff --git a/res/images/fonts/joystix.ttf b/res/fonts/joystix.ttf
|
||||
similarity index 100%
|
||||
rename from res/images/fonts/joystix.ttf
|
||||
rename to res/fonts/joystix.ttf
|
||||
diff --git a/resmgr.lua b/resmgr.lua
|
||||
index 22988cf..ece93d4 100644
|
||||
--- a/resmgr.lua
|
||||
+++ b/resmgr.lua
|
||||
@@ -5,26 +5,14 @@ local images = {}
|
||||
local fonts = {}
|
||||
local sounds = {}
|
||||
|
||||
-local fontString = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.,:+-?!()|x%"
|
||||
-
|
||||
local currentSongSource = nil
|
||||
|
||||
-function ResMgr.getImage(name)
|
||||
- local path = "res/images/" .. name
|
||||
- if images[path] == nil then
|
||||
- images[path] = love.graphics.newImage(path)
|
||||
- images[path]:setWrap("repeat", "repeat")
|
||||
- print("Loaded image: " .. name)
|
||||
- end
|
||||
- return images[path]
|
||||
-end
|
||||
-
|
||||
-function ResMgr.loadFonts()
|
||||
- fonts["bold"] = love.graphics.newImageFont(ResMgr.getImage("fonts/bold.png"), fontString, 2)
|
||||
- fonts["menu"] = love.graphics.newImageFont(ResMgr.getImage("fonts/menu.png"), fontString)
|
||||
- fonts["joystix30"] = love.graphics.newFont("res/images/fonts/joystix.ttf", 30)
|
||||
- fonts["joystix40"] = love.graphics.newFont("res/images/fonts/joystix.ttf", 40)
|
||||
-end
|
||||
+ function ResMgr.loadFonts()
|
||||
+-- fonts["bold"] = love.graphics.newImageFont(ResMgr.getImage("fonts/bold.png"), fontString, 2)
|
||||
+-- fonts["menu"] = love.graphics.newImageFont(ResMgr.getImage("fonts/menu.png"), fontString)
|
||||
+-- fonts["joystix30"] = love.graphics.newFont("res/fonts/joystix.ttf", 30)
|
||||
+-- fonts["joystix40"] = love.graphics.newFont("res/fonts/joystix.ttf", 40)
|
||||
+ end
|
||||
|
||||
function ResMgr.getFont(name)
|
||||
return fonts[name]
|
||||
diff --git a/rules.lua b/rules.lua
|
||||
index 84483c6..4f6c38d 100644
|
||||
--- a/rules.lua
|
||||
+++ b/rules.lua
|
||||
@@ -60,7 +60,7 @@ function Rules:save()
|
||||
end
|
||||
|
||||
function Rules:load()
|
||||
- if love.filesystem.exists("rules") then
|
||||
+ if love.filesystem.getInfo("rules") then
|
||||
local strdata = love.filesystem.read("rules")
|
||||
local data = TSerial.unpack(strdata)
|
||||
|
||||
diff --git a/saveLevelState.lua b/saveLevelState.lua
|
||||
index 174ae33..188f6f4 100644
|
||||
--- a/saveLevelState.lua
|
||||
+++ b/saveLevelState.lua
|
||||
@@ -32,11 +32,11 @@ function SaveLevelState.create(parent)
|
||||
end
|
||||
|
||||
function SaveLevelState:draw()
|
||||
- love.graphics.setColor(23, 23, 23, 255)
|
||||
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
|
||||
love.graphics.rectangle("fill", 142, 96, 415, 271)
|
||||
- love.graphics.setColor(241, 148, 0, 255)
|
||||
+ love.graphics.setColor(241/255, 148/255, 0, 1)
|
||||
love.graphics.rectangle("line", 142.5, 96.5, 415, 271)
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1, 1)
|
||||
end
|
||||
|
||||
function SaveLevelState:updateFileList()
|
||||
diff --git a/selectionList.lua b/selectionList.lua
|
||||
index a713dfb..0514c69 100644
|
||||
--- a/selectionList.lua
|
||||
+++ b/selectionList.lua
|
||||
@@ -19,8 +19,8 @@ function SelectionList.create(x, y, width, length, spacing, listener)
|
||||
|
||||
self.items = {}
|
||||
self.labels = {}
|
||||
- self.backgroundColor = {0, 0, 0, 255}
|
||||
- self.selectionColor = {20, 20, 20, 255}
|
||||
+ self.backgroundColor = {0, 0, 0, 1}
|
||||
+ self.selectionColor = {20/255, 20/255, 20/255, 1}
|
||||
|
||||
self.imgButton = ResMgr.getImage("selectionlist_buttons.png")
|
||||
self.quadButtonLeft = love.graphics.newQuad(0, 0, 2, 14, 49, 14)
|
||||
@@ -35,7 +35,7 @@ end
|
||||
function SelectionList:draw()
|
||||
love.graphics.setColor(self.backgroundColor)
|
||||
love.graphics.rectangle("fill", self.x, self.y+14, self.width, self.height-28)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
|
||||
-- Draw buttons
|
||||
love.graphics.draw(self.imgButton, self.quadButtonLeft, self.x, self.y)
|
||||
@@ -52,11 +52,11 @@ function SelectionList:draw()
|
||||
end
|
||||
|
||||
-- Draw sides
|
||||
- love.graphics.setColor(255, 194, 49)
|
||||
+ love.graphics.setColor(1, 194/255, 49/255)
|
||||
love.graphics.setLineWidth(1)
|
||||
love.graphics.line(self.x+1, self.y+14, self.x+1, self.y+self.height-14)
|
||||
love.graphics.line(self.x+self.width, self.y, self.x+self.width, self.y+self.height)
|
||||
- love.graphics.setColor(255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1)
|
||||
|
||||
love.graphics.setFont(ResMgr.getFont("bold"))
|
||||
for i=1, self.length do
|
||||
@@ -66,7 +66,7 @@ function SelectionList:draw()
|
||||
if index == self.selection then
|
||||
love.graphics.setColor(self.selectionColor)
|
||||
love.graphics.rectangle("fill", self.x+1, self.y+(i-1)*self.spacing+14, self.width-2, self.spacing)
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1, 1)
|
||||
end
|
||||
love.graphics.print(self.labels[index], self.x+5, self.y+(i-1)*self.spacing+(self.spacing-8)/2+14)
|
||||
end
|
||||
diff --git a/textInput.lua b/textInput.lua
|
||||
index 9f4a2b7..24ac3dc 100644
|
||||
--- a/textInput.lua
|
||||
+++ b/textInput.lua
|
||||
@@ -20,9 +20,9 @@ end
|
||||
function TextInput:draw()
|
||||
love.graphics.setColor(self.backgroundColor)
|
||||
love.graphics.rectangle("fill", self.x, self.y, self.width, self.height)
|
||||
- love.graphics.setColor(255, 194, 49)
|
||||
+ love.graphics.setColor(1, 194/255, 49/255)
|
||||
love.graphics.rectangle("line", self.x+0.5, self.y+0.5, self.width-1, self.height-1)
|
||||
- love.graphics.setColor(255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1)
|
||||
|
||||
if self.active == true then
|
||||
love.graphics.print(self.text.."|", self.x+4, self.y+((self.height-8)/2))
|
||||
|
||||
From dc4ae044839d624695400059d241e60bd4586373 Mon Sep 17 00:00:00 2001
|
||||
From: Karim Jerbi <apolius@tuta.io>
|
||||
Date: Sat, 1 Jun 2019 21:29:55 +0100
|
||||
Subject: [PATCH 2/4] Further setColor updates ( love api 11)
|
||||
|
||||
there is still a need to update color parameter in some functions
|
||||
---
|
||||
bot.lua | 4 ++--
|
||||
confirmBoxState.lua | 6 +++---
|
||||
countdownState.lua | 8 ++++----
|
||||
duckBeatState.lua | 14 +++++++-------
|
||||
escapeState.lua | 4 ++--
|
||||
eventScoreState.lua | 4 ++--
|
||||
eventTextState.lua | 8 ++++----
|
||||
gameOverState.lua | 8 ++++----
|
||||
ingameState.lua | 10 +++++-----
|
||||
inputSelectState.lua | 6 +++---
|
||||
levelSelectionState.lua | 4 ++--
|
||||
loadLevelState.lua | 6 +++---
|
||||
main.lua | 4 ++--
|
||||
selectionList.lua | 4 ++--
|
||||
14 files changed, 45 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/bot.lua b/bot.lua
|
||||
index 17a84e5..89274a8 100644
|
||||
--- a/bot.lua
|
||||
+++ b/bot.lua
|
||||
@@ -249,7 +249,7 @@ end
|
||||
|
||||
function Bot:drawPath()
|
||||
local colors = {
|
||||
- {191,49,63}, {56,54,136}, {255,130,46}, {119,56,130}
|
||||
+ {191/255,49/255,63/255}, {56/255,54/255,136/255}, {1,130/255,46/255}, {119/255,56/255,130/255}
|
||||
}
|
||||
love.graphics.setColor(unpack(colors[self.player]))
|
||||
for i=1, #self.allpath-1 do
|
||||
@@ -257,7 +257,7 @@ function Bot:drawPath()
|
||||
local p2 = self.allpath[i+1]
|
||||
love.graphics.line(p1.x*48+24, p1.y*48+24, p2.x*48+24, p2.y*48+24)
|
||||
end
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
end
|
||||
|
||||
-- Duck Dash
|
||||
diff --git a/confirmBoxState.lua b/confirmBoxState.lua
|
||||
index be87d5d..f6be6a1 100644
|
||||
--- a/confirmBoxState.lua
|
||||
+++ b/confirmBoxState.lua
|
||||
@@ -31,11 +31,11 @@ end
|
||||
|
||||
function ConfirmBoxState:draw()
|
||||
love.graphics.setFont(ResMgr.getFont("menu"))
|
||||
- love.graphics.setColor(23, 23, 23, 255)
|
||||
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
|
||||
love.graphics.rectangle("fill", self.x-25, self.y-25, self.width+50, self.height+50)
|
||||
- love.graphics.setColor(241, 148, 0, 255)
|
||||
+ love.graphics.setColor(241/255, 148/255, 0, 1)
|
||||
love.graphics.rectangle("line", self.x-24.5, self.y-24.5, self.width+50, self.height+50)
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1, 1)
|
||||
love.graphics.printf(self.message, self.x, self.y, self.width, "center")
|
||||
end
|
||||
|
||||
diff --git a/countdownState.lua b/countdownState.lua
|
||||
index eaf17da..a9f2575 100644
|
||||
--- a/countdownState.lua
|
||||
+++ b/countdownState.lua
|
||||
@@ -32,14 +32,14 @@ function CountdownState:draw()
|
||||
|
||||
if self.time < 3 then
|
||||
local quad = math.floor(self.time)
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.draw(self.img, self.quads[quad], (WIDTH-100)/2, 176)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
love.graphics.draw(self.img, self.quads[quad], (WIDTH-100)/2, 168)
|
||||
else
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.draw(self.img, self.quads[3], (WIDTH-300)/2, 176)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
love.graphics.draw(self.img, self.quads[3], (WIDTH-300)/2, 168)
|
||||
end
|
||||
end
|
||||
diff --git a/duckBeatState.lua b/duckBeatState.lua
|
||||
index 9087a69..4cff55e 100644
|
||||
--- a/duckBeatState.lua
|
||||
+++ b/duckBeatState.lua
|
||||
@@ -148,10 +148,10 @@ function DuckBeatState:draw()
|
||||
|
||||
-- Pulse background to beat
|
||||
local alpha = 255 - 637.5*self.pulse
|
||||
- love.graphics.setColor(255,255,255,alpha)
|
||||
+ love.graphics.setColor(1,1,1,alpha/255)
|
||||
love.graphics.rectangle("fill", 173, 0, 2, 333)
|
||||
love.graphics.rectangle("fill", 400, 0, 2, 333)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
|
||||
-- Draw beats
|
||||
for i,v in ipairs(self.beats) do
|
||||
@@ -163,12 +163,12 @@ function DuckBeatState:draw()
|
||||
if self.flash[i].time > 0 then
|
||||
local alpha = self.flash[i].time * 128
|
||||
if self.flash[i].color == DuckBeatState.FLASH_RED then
|
||||
- love.graphics.setColor(186, 18, 18, alpha)
|
||||
+ love.graphics.setColor(186/255, 18/255, 18/255, alpha/255)
|
||||
else
|
||||
- love.graphics.setColor(84, 177, 33, alpha)
|
||||
+ love.graphics.setColor(84/255, 177/255, 33/255, alpha/255)
|
||||
end
|
||||
love.graphics.rectangle("fill", 181+(i-1)*54, 0, 51, 333)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -177,12 +177,12 @@ function DuckBeatState:draw()
|
||||
|
||||
love.graphics.scale(4, 4)
|
||||
love.graphics.setFont(ResMgr.getFont("bold"))
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.print(self.points[1], 12, 19)
|
||||
love.graphics.print(self.points[2], 12, 58)
|
||||
love.graphics.print(self.points[3], 113, 19)
|
||||
love.graphics.print(self.points[4], 113, 58)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
love.graphics.print(self.points[1], 12, 18)
|
||||
love.graphics.print(self.points[2], 12, 57)
|
||||
love.graphics.print(self.points[3], 113, 18)
|
||||
diff --git a/escapeState.lua b/escapeState.lua
|
||||
index e108dcb..4097073 100644
|
||||
--- a/escapeState.lua
|
||||
+++ b/escapeState.lua
|
||||
@@ -185,10 +185,10 @@ function EscapeState:draw()
|
||||
love.graphics.draw(self.ducks, self.duck_quads[i], 206+(i-1)*53-self.time*250, 340-self.time*250, -6*self.time, 1+self.time, 1+self.time, 26, 42)
|
||||
else
|
||||
if self.time > 1 then
|
||||
- love.graphics.setColor(255, 255, 255, (2-self.time)*255)
|
||||
+ love.graphics.setColor(1, 1, 1, (2-self.time))
|
||||
end
|
||||
love.graphics.draw(self.ghosts, self.ghost_quads[i], 181+(i-1)*53, 305-self.time*140)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
end
|
||||
end
|
||||
end
|
||||
diff --git a/eventScoreState.lua b/eventScoreState.lua
|
||||
index b9c2eb8..555b09d 100644
|
||||
--- a/eventScoreState.lua
|
||||
+++ b/eventScoreState.lua
|
||||
@@ -86,9 +86,9 @@ function EventScoreState:draw()
|
||||
love.graphics.draw(self.duck_dolls, self.duck_quads[i], 274, 97+83*i, val*2, 1+val*8, 1+val*8, 28, 25)
|
||||
end
|
||||
if self.time > i*0.2+0.25 then
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.print(math.abs(self.deltas[i+1]), 364, 79+83*i)
|
||||
- love.graphics.setColor(255, 255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
love.graphics.print(math.abs(self.deltas[i+1]), 364, 75+83*i)
|
||||
if self.deltas[i+1] >= 0 then
|
||||
love.graphics.draw(self.plusminus, self.quad_plus, 320, 80+83*i)
|
||||
diff --git a/eventTextState.lua b/eventTextState.lua
|
||||
index b5f9436..3ff2763 100644
|
||||
--- a/eventTextState.lua
|
||||
+++ b/eventTextState.lua
|
||||
@@ -72,16 +72,16 @@ function EventTextState:update(dt)
|
||||
end
|
||||
|
||||
function EventTextState:draw()
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.rectangle("fill", 0, 0, WIDTH, HEIGHT)
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
|
||||
love.graphics.draw(self.imgBox, 0, self.y)
|
||||
|
||||
love.graphics.setFont(self.font)
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.print(self.text, self.offset, self.y+30+4)
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
love.graphics.print(self.text, self.offset, self.y+30)
|
||||
end
|
||||
|
||||
diff --git a/gameOverState.lua b/gameOverState.lua
|
||||
index 54ed766..a6cd75d 100644
|
||||
--- a/gameOverState.lua
|
||||
+++ b/gameOverState.lua
|
||||
@@ -84,9 +84,9 @@ function GameOverState:update(dt)
|
||||
end
|
||||
|
||||
function GameOverState:draw()
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.rectangle("fill", 116, 0, WIDTH-116, HEIGHT)
|
||||
- love.graphics.setColor(255, 255, 255)
|
||||
+ love.graphics.setColor(1, 1, 1)
|
||||
|
||||
if self.state == GameOverState.STATE_BARS then
|
||||
-- Draw bars
|
||||
@@ -102,7 +102,7 @@ function GameOverState:draw()
|
||||
elseif self.state == GameOverState.STATE_GRAPH then
|
||||
love.graphics.setLineWidth(2)
|
||||
local colors = {
|
||||
- {234,73,89}, {76,74,145}, {255,130,46}, {150,75,164}
|
||||
+ {234/255,73/255,89/255}, {76/255,74/255,145/255}, {1,130/255,46/255}, {150/255,75/255,164/255}
|
||||
}
|
||||
for i=1,4 do
|
||||
for j=0,9 do
|
||||
@@ -126,7 +126,7 @@ function GameOverState:draw()
|
||||
love.graphics.rectangle("fill", 600, 390-self.scores[i]/self.maxstat*292, 6,6)
|
||||
end
|
||||
end
|
||||
- love.graphics.setColor(255,255,255)
|
||||
+ love.graphics.setColor(1,1,1)
|
||||
end
|
||||
|
||||
function GameOverState:buttonPressed(id, source)
|
||||
diff --git a/ingameState.lua b/ingameState.lua
|
||||
index 8c530e0..c2d96ac 100644
|
||||
--- a/ingameState.lua
|
||||
+++ b/ingameState.lua
|
||||
@@ -388,23 +388,23 @@ function IngameState:drawHUD()
|
||||
love.graphics.scale(3, 3)
|
||||
|
||||
local timeString = secsToString(self.timeLeft)
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
love.graphics.printf(timeString, 0, 21, 40, "center")
|
||||
- love.graphics.setColor(0, 0, 0, 255)
|
||||
+ love.graphics.setColor(0, 0, 0, 1)
|
||||
love.graphics.printf(timeString, 0, 20, 40, "center")
|
||||
|
||||
- love.graphics.setColor(0, 0, 0, 128)
|
||||
+ love.graphics.setColor(0, 0, 0, 128/255)
|
||||
for i=1,4 do
|
||||
love.graphics.print(string.format("%03d", self.score[i]), 8, 18+i*29)
|
||||
end
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
for i=1,4 do
|
||||
love.graphics.print(string.format("%03d", self.score[i]), 8, 17+i*29)
|
||||
end
|
||||
|
||||
love.graphics.pop()
|
||||
|
||||
- love.graphics.setColor(255,255,255)
|
||||
+ love.graphics.setColor(1,1,1)
|
||||
end
|
||||
|
||||
function IngameState:getInputs()
|
||||
diff --git a/inputSelectState.lua b/inputSelectState.lua
|
||||
index 6764356..6a71aa5 100644
|
||||
--- a/inputSelectState.lua
|
||||
+++ b/inputSelectState.lua
|
||||
@@ -44,12 +44,12 @@ function InputSelectState:draw()
|
||||
local player = 1
|
||||
local ai = 1
|
||||
for i=1,4 do
|
||||
- love.graphics.setColor(23, 23, 23, 255)
|
||||
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
|
||||
love.graphics.rectangle("fill", -88+i*150, 66, 126, 32)
|
||||
- love.graphics.setColor(241, 148, 0, 255)
|
||||
+ love.graphics.setColor(241/255, 148/255, 0, 1)
|
||||
love.graphics.rectangle("line", -87.5+i*150, 66.5, 126, 32)
|
||||
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
|
||||
if self.inputs[i] then
|
||||
love.graphics.printf("PLAYER "..player, -100+i*150, 73, 150, "center")
|
||||
diff --git a/levelSelectionState.lua b/levelSelectionState.lua
|
||||
index 653a4ad..b7a75a1 100644
|
||||
--- a/levelSelectionState.lua
|
||||
+++ b/levelSelectionState.lua
|
||||
@@ -46,9 +46,9 @@ function LevelSelectionState:draw()
|
||||
|
||||
love.graphics.setColor(0, 0, 0)
|
||||
love.graphics.rectangle("fill", WIDTH/2, 62, 297, 228)
|
||||
- love.graphics.setColor(255, 194, 49)
|
||||
+ love.graphics.setColor(1, 194/255, 49/255)
|
||||
love.graphics.rectangle("line", WIDTH/2+0.5, 62.5, 297, 228)
|
||||
- love.graphics.setColor(255,255,255)
|
||||
+ love.graphics.setColor(1,1,1)
|
||||
|
||||
love.graphics.draw(self.imgBlueprint, WIDTH/2+8, 70)
|
||||
love.graphics.draw(self.batch, WIDTH/2+11, 73)
|
||||
diff --git a/loadLevelState.lua b/loadLevelState.lua
|
||||
index 3b078e8..38bd8f6 100644
|
||||
--- a/loadLevelState.lua
|
||||
+++ b/loadLevelState.lua
|
||||
@@ -32,12 +32,12 @@ function LoadLevelState.create(parent, map)
|
||||
end
|
||||
|
||||
function LoadLevelState:draw()
|
||||
- love.graphics.setColor(23, 23, 23, 255)
|
||||
+ love.graphics.setColor(23/255, 23/255, 23/255, 1)
|
||||
love.graphics.rectangle("fill", 142, 96, 415, 271)
|
||||
- love.graphics.setColor(241, 148, 0, 255)
|
||||
+ love.graphics.setColor(241/255, 148/255, 0, 1)
|
||||
love.graphics.rectangle("line", 142.5, 96.5, 415, 271)
|
||||
|
||||
- love.graphics.setColor(255, 255, 255, 255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
end
|
||||
|
||||
function LoadLevelState:updateFileList()
|
||||
diff --git a/main.lua b/main.lua
|
||||
index 16bcf1b..b14d2fa 100644
|
||||
--- a/main.lua
|
||||
+++ b/main.lua
|
||||
@@ -75,9 +75,9 @@ function love.draw()
|
||||
stateStack:peek(i):baseDraw()
|
||||
end
|
||||
if not focus then
|
||||
- love.graphics.setColor(0,0,0,128)
|
||||
+ love.graphics.setColor(0,0,0,128/255)
|
||||
love.graphics.rectangle("fill", 0, 0, WIDTH, HEIGHT)
|
||||
- love.graphics.setColor(255,255,255,255)
|
||||
+ love.graphics.setColor(1,1,1,1)
|
||||
end
|
||||
end
|
||||
|
||||
diff --git a/selectionList.lua b/selectionList.lua
|
||||
index 0514c69..01c49a7 100644
|
||||
--- a/selectionList.lua
|
||||
+++ b/selectionList.lua
|
||||
@@ -111,11 +111,11 @@ function SelectionList:getText()
|
||||
end
|
||||
|
||||
function SelectionList:setBackgroundColor(r,g,b,a)
|
||||
- self.backgroundColor = {r,g,b,a}
|
||||
+ self.backgroundColor = {r/255,g/255,b/255,a/255}
|
||||
end
|
||||
|
||||
function SelectionList:setSelectionColor(r, g, b, a)
|
||||
- self.selectionColor = {r,g,b,a}
|
||||
+ self.selectionColor = {r/255,g/255,b/255,a/255}
|
||||
end
|
||||
|
||||
function SelectionList:setSelection(index)
|
||||
|
||||
From 8e1f5c499ebcd445bfe7ad5e0af139314dfd10ec Mon Sep 17 00:00:00 2001
|
||||
From: Karim Jerbi <apolius@tuta.io>
|
||||
Date: Sun, 2 Jun 2019 01:02:55 +0100
|
||||
Subject: [PATCH 3/4] Fixed font issue
|
||||
|
||||
---
|
||||
conf.lua | 2 +-
|
||||
levelSelectionState.lua | 2 +-
|
||||
resmgr.lua | 28 ++++++++++++++++++++--------
|
||||
slam.lua | 4 ++--
|
||||
4 files changed, 24 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/conf.lua b/conf.lua
|
||||
index 00aa34f..748e20e 100644
|
||||
--- a/conf.lua
|
||||
+++ b/conf.lua
|
||||
@@ -1,6 +1,6 @@
|
||||
function love.conf(t)
|
||||
t.identity = "duckmarines"
|
||||
- -- t.version = "0.10.0"
|
||||
+ t.version = "11.2"
|
||||
t.console = false
|
||||
|
||||
t.window.title = "Duck Marines"
|
||||
diff --git a/levelSelectionState.lua b/levelSelectionState.lua
|
||||
index b7a75a1..f4c18af 100644
|
||||
--- a/levelSelectionState.lua
|
||||
+++ b/levelSelectionState.lua
|
||||
@@ -53,7 +53,7 @@ function LevelSelectionState:draw()
|
||||
love.graphics.draw(self.imgBlueprint, WIDTH/2+8, 70)
|
||||
love.graphics.draw(self.batch, WIDTH/2+11, 73)
|
||||
love.graphics.draw(self.imgDogear, WIDTH/2+265, 70)
|
||||
- love.graphics.setBlendMode("multiply")
|
||||
+ love.graphics.setBlendMode("multiply","premultiplied")
|
||||
love.graphics.draw(self.imgTexture, WIDTH/2+11, 73)
|
||||
love.graphics.setBlendMode("alpha")
|
||||
end
|
||||
diff --git a/resmgr.lua b/resmgr.lua
|
||||
index ece93d4..c80e4b2 100644
|
||||
--- a/resmgr.lua
|
||||
+++ b/resmgr.lua
|
||||
@@ -5,14 +5,26 @@ local images = {}
|
||||
local fonts = {}
|
||||
local sounds = {}
|
||||
|
||||
+local fontString = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.,:+-?!()|x%"
|
||||
+
|
||||
local currentSongSource = nil
|
||||
|
||||
- function ResMgr.loadFonts()
|
||||
--- fonts["bold"] = love.graphics.newImageFont(ResMgr.getImage("fonts/bold.png"), fontString, 2)
|
||||
--- fonts["menu"] = love.graphics.newImageFont(ResMgr.getImage("fonts/menu.png"), fontString)
|
||||
--- fonts["joystix30"] = love.graphics.newFont("res/fonts/joystix.ttf", 30)
|
||||
--- fonts["joystix40"] = love.graphics.newFont("res/fonts/joystix.ttf", 40)
|
||||
- end
|
||||
+function ResMgr.getImage(name)
|
||||
+ local path = "res/images/" .. name
|
||||
+ if images[path] == nil then
|
||||
+ images[path] = love.graphics.newImage(path)
|
||||
+ images[path]:setWrap("repeat", "repeat")
|
||||
+ print("Loaded image: " .. name)
|
||||
+ end
|
||||
+ return images[path]
|
||||
+end
|
||||
+
|
||||
+function ResMgr.loadFonts()
|
||||
+ fonts["bold"] = love.graphics.newImageFont("res/images/fonts/bold.png", fontString, 2)
|
||||
+ fonts["menu"] = love.graphics.newImageFont("res/images/fonts/menu.png", fontString)
|
||||
+ fonts["joystix30"] = love.graphics.newFont("res/fonts/joystix.ttf", 30)
|
||||
+ fonts["joystix40"] = love.graphics.newFont("res/fonts/joystix.ttf", 40)
|
||||
+end
|
||||
|
||||
function ResMgr.getFont(name)
|
||||
return fonts[name]
|
||||
@@ -37,7 +49,7 @@ function playMusic(name)
|
||||
stopMusic()
|
||||
|
||||
local path = "res/music/" .. name
|
||||
- if love.filesystem.exists(path) == false then return end
|
||||
+ if love.filesystem.getInfo(path) == nil then return end
|
||||
|
||||
local source = love.audio.newSource("res/music/" .. name, "stream")
|
||||
source:setLooping(true)
|
||||
@@ -59,4 +71,4 @@ function updateVolume()
|
||||
love.audio.tags.sfx.setVolume(config.sound_volume/5)
|
||||
end
|
||||
|
||||
-return ResMgr
|
||||
+return ResMgr
|
||||
\ No newline at end of file
|
||||
diff --git a/slam.lua b/slam.lua
|
||||
index 79c4879..e61d5bc 100644
|
||||
--- a/slam.lua
|
||||
+++ b/slam.lua
|
||||
@@ -1,4 +1,4 @@
|
||||
--- Simple LÖVE Audio Manager
|
||||
+-- Simple L�VE Audio Manager
|
||||
--
|
||||
-- Copyright (c) 2011 Matthias Richter
|
||||
-- Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
@@ -97,7 +97,7 @@ end
|
||||
function Source:resume()
|
||||
if not self._paused then return end
|
||||
for s in pairs(self.instances) do
|
||||
- s:resume()
|
||||
+ s:play()
|
||||
end
|
||||
self._paused = false
|
||||
end
|
||||
|
||||
From 0342d9d02cb0dc86df480dec4766fa25b34fe0d5 Mon Sep 17 00:00:00 2001
|
||||
From: Karim Jerbi <apolius@tuta.io>
|
||||
Date: Sun, 2 Jun 2019 01:17:33 +0100
|
||||
Subject: [PATCH 4/4] Further getInfo updates
|
||||
|
||||
---
|
||||
configuration.lua | 2 +-
|
||||
loadLevelState.lua | 4 ++--
|
||||
main.lua | 2 +-
|
||||
rules.lua | 2 +-
|
||||
saveLevelState.lua | 4 ++--
|
||||
5 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/configuration.lua b/configuration.lua
|
||||
index f2c12a2..51e576d 100644
|
||||
--- a/configuration.lua
|
||||
+++ b/configuration.lua
|
||||
@@ -24,7 +24,7 @@ function Config:save()
|
||||
end
|
||||
|
||||
function Config:load()
|
||||
- if love.filesystem.getInfo("config") then
|
||||
+ if love.filesystem.getInfo("config") ~= nil then
|
||||
local strdata = love.filesystem.read("config")
|
||||
local data = TSerial.unpack(strdata)
|
||||
|
||||
diff --git a/loadLevelState.lua b/loadLevelState.lua
|
||||
index 38bd8f6..361e71e 100644
|
||||
--- a/loadLevelState.lua
|
||||
+++ b/loadLevelState.lua
|
||||
@@ -58,7 +58,7 @@ end
|
||||
function LoadLevelState:buttonPressed(id, source)
|
||||
if id == "Load" then
|
||||
playSound("quack")
|
||||
- if love.filesystem.exists(self:getFilename()) then
|
||||
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
|
||||
self.parent.map = Map.create(self:getFilename())
|
||||
self.parent.map:updateSpriteBatch(true)
|
||||
love.timer.sleep(0.25)
|
||||
@@ -69,7 +69,7 @@ function LoadLevelState:buttonPressed(id, source)
|
||||
end
|
||||
elseif id == "delete" then
|
||||
playSound("quack")
|
||||
- if love.filesystem.exists(self:getFilename()) then
|
||||
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
|
||||
pushState(
|
||||
ConfirmBoxState.create(self,
|
||||
"ARE YOU SURE YOU WANT TO DELETE " .. self.input:getText():upper() .. "?",
|
||||
diff --git a/main.lua b/main.lua
|
||||
index b14d2fa..de6d61e 100644
|
||||
--- a/main.lua
|
||||
+++ b/main.lua
|
||||
@@ -25,7 +25,7 @@ rules = nil
|
||||
|
||||
function love.load()
|
||||
-- Setup user data
|
||||
- if love.filesystem.getInfo("usermaps") == false then
|
||||
+ if love.filesystem.getInfo("usermaps") == nil then
|
||||
love.filesystem.createDirectory("usermaps")
|
||||
end
|
||||
|
||||
diff --git a/rules.lua b/rules.lua
|
||||
index 4f6c38d..5f203aa 100644
|
||||
--- a/rules.lua
|
||||
+++ b/rules.lua
|
||||
@@ -60,7 +60,7 @@ function Rules:save()
|
||||
end
|
||||
|
||||
function Rules:load()
|
||||
- if love.filesystem.getInfo("rules") then
|
||||
+ if love.filesystem.getInfo("rules") ~= nil then
|
||||
local strdata = love.filesystem.read("rules")
|
||||
local data = TSerial.unpack(strdata)
|
||||
|
||||
diff --git a/saveLevelState.lua b/saveLevelState.lua
|
||||
index 188f6f4..c9d3733 100644
|
||||
--- a/saveLevelState.lua
|
||||
+++ b/saveLevelState.lua
|
||||
@@ -57,7 +57,7 @@ end
|
||||
function SaveLevelState:buttonPressed(id, source)
|
||||
if id == "save" then
|
||||
playSound("quack")
|
||||
- if love.filesystem.exists(self:getFilename()) then
|
||||
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
|
||||
pushState(ConfirmBoxState.create(self,
|
||||
"OVERWRITE " .. self.input:getText():upper() .. "?",
|
||||
function()
|
||||
@@ -75,7 +75,7 @@ function SaveLevelState:buttonPressed(id, source)
|
||||
end
|
||||
elseif id == "delete" then
|
||||
playSound("quack")
|
||||
- if love.filesystem.exists(self:getFilename()) then
|
||||
+ if love.filesystem.getInfo(self:getFilename()) ~= nil then
|
||||
pushState(
|
||||
ConfirmBoxState.create(self,
|
||||
"ARE YOU SURE YOU WANT TO DELETE " .. self.input:getText():upper() .. "?",
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
love,
|
||||
lua,
|
||||
makeWrapper,
|
||||
makeDesktopItem,
|
||||
strip-nondeterminism,
|
||||
zip,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -27,24 +30,40 @@ stdenv.mkDerivation rec {
|
||||
categories = [ "Game" ];
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/SimonLarsen/duckmarines/releases/download/v${version}/duckmarines-1.0c.love";
|
||||
sha256 = "1rvgpkvi4h9zhc4fwb4knhsa789yjcx4a14fi4vqfdyybhvg5sh9";
|
||||
src = fetchFromGitHub {
|
||||
owner = "SimonLarsen";
|
||||
repo = "duckmarines";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-0WzqYbK18IL8VY7NsVONwJCI5+me5SPulfkkLCifLvY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
patches = [
|
||||
# https://github.com/SimonLarsen/duckmarines/pull/18
|
||||
./love-11-support.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
strip-nondeterminism
|
||||
zip
|
||||
];
|
||||
buildInputs = [
|
||||
lua
|
||||
love
|
||||
];
|
||||
|
||||
dontUnpack = true;
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
zip -9 -r duckmarines.love ./*
|
||||
strip-nondeterminism --type zip duckmarines.love
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/games/lovegames
|
||||
|
||||
cp -v ${src} $out/share/games/lovegames/duckmarines.love
|
||||
cp -v duckmarines.love $out/share/games/lovegames/duckmarines.love
|
||||
|
||||
makeWrapper ${love}/bin/love $out/bin/duckmarines --add-flags $out/share/games/lovegames/duckmarines.love
|
||||
|
||||
@@ -57,7 +76,20 @@ stdenv.mkDerivation rec {
|
||||
description = "Duck-themed action puzzle video game";
|
||||
platforms = lib.platforms.linux;
|
||||
hydraPlatforms = [ ];
|
||||
license = lib.licenses.free;
|
||||
license = with lib.licenses; [
|
||||
# code
|
||||
zlib
|
||||
|
||||
# assets
|
||||
cc-by-sa-40
|
||||
cc-by-nc-nd-40
|
||||
|
||||
# slam
|
||||
mit
|
||||
|
||||
# tserial
|
||||
unfree
|
||||
];
|
||||
downloadPage = "http://tangramgames.dk/games/duckmarines";
|
||||
};
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "eigenwallet";
|
||||
version = "3.6.1";
|
||||
version = "3.6.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/eigenwallet/core/releases/download/${finalAttrs.version}/eigenwallet_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-L0JNKbirnZSVNNhEzSpwq5JstfpSGSo5E83zmxoOuXU=";
|
||||
hash = "sha256-3lgHMkiwbE7P72sZZ9pcxdaN3/X8XDq3uNcaj/IV+v8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (self: {
|
||||
pname = "emmy-lua-code-style";
|
||||
version = "1.5.7";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CppCXY";
|
||||
repo = "EmmyLuaCodeStyle";
|
||||
tag = self.version;
|
||||
hash = "sha256-Lzh4ruyrWRTwU95iTMQozpLT5w92owHsDQM874XIuOg=";
|
||||
hash = "sha256-FYtDO9ZL7MjC+vHzrylyYBQHTtef/GM9ipt//EcLr4w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "emmylua_check";
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EmmyLuaLs";
|
||||
repo = "emmylua-analyzer-rust";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-JXe+I0CViJAXOnWzilYpjWquYFzZGIP5y6HS6KosYPU=";
|
||||
hash = "sha256-bdvJInMuWJq7MZa+4wrKBn0myLTHCayhDAhB8Stjp6A=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "crates/emmylua_check";
|
||||
|
||||
cargoHash = "sha256-UVuXeGmSvAwHs/U0s/mByiZCwa2refz1l8eJvcCoagk=";
|
||||
cargoHash = "sha256-bF6bdTbcHDecj+wVoNsaKBzsz96d3vo6cqp5MjSbT4E=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.5.25";
|
||||
etcdSrcHash = "sha256-7fCvlp/EG1SofsLC8il/twjg0rEaB/lhz6dnUxgLXik=";
|
||||
etcdServerVendorHash = "sha256-R78j1BTuY3ORQiMnm2kWJGnK4jJi7am4x0udW4jjcCE=";
|
||||
etcdUtlVendorHash = "sha256-J+/QgRAU1uk9LXdW8b6AhitFlxx/QU7IkJ+5Jez9MkM=";
|
||||
etcdCtlVendorHash = "sha256-IiggECH1iFkb51MTeFSFnVbVVDUR1KgsQcbxz9IR4c4=";
|
||||
version = "3.5.26";
|
||||
etcdSrcHash = "sha256-bEWswJM7r6Kxy9im/TkXkEQN5tEIvQK6Azd7LbIVwYA=";
|
||||
etcdServerVendorHash = "sha256-pwVAy8wQXBGE0MqE3v7OLukwcKIQhEW3BjwPdSMtAYM=";
|
||||
etcdUtlVendorHash = "sha256-dIxu7MUG5Yk3+DkCgfsGEmpyEklqvyz7wpWylHTDIkQ=";
|
||||
etcdCtlVendorHash = "sha256-NJ1jc/0J5+GUxu1r1g9t6pnlHjx3CnmBe5NR+qWK7Dc=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "etcd-io";
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.6.6";
|
||||
etcdSrcHash = "sha256-MFkO2Rv38TQeREJ3zHgRdj3thnMK0ci3laEjn4CaXHs=";
|
||||
etcdCtlVendorHash = "sha256-VxR/pPS/HR4EBPJJmQin7XqS5MvWreJe2dlOpQn3pqY=";
|
||||
etcdUtlVendorHash = "sha256-xxq9t47985fA9fDvaanq2sPgUDZJDT2w46zp3pggryo=";
|
||||
etcdServerVendorHash = "sha256-0uPIw2T9ZrR92MBB1xBBfbqXQUVg6sNDu8F5m1C+lEQ=";
|
||||
version = "3.6.7";
|
||||
etcdSrcHash = "sha256-i8VZlK76OQQeojKHo9sdkyNR0Hdiofx0TLUDWKiXOTU=";
|
||||
etcdCtlVendorHash = "sha256-jN+oNoIxNYM2Wm3s+/zDyacyXxVWaHl9t7sot8PL9xk=";
|
||||
etcdUtlVendorHash = "sha256-A2rYstzlBlS3ta5yJVP/RTjgBz+9Y0I79ITr77GrqOo=";
|
||||
etcdServerVendorHash = "sha256-hUFUcoXaOKTkoJ7YUwljpg7EZRhXi5tXcE2bteVRBE0=";
|
||||
|
||||
src = applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchgit,
|
||||
fetchFromGitLab,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
libxml2,
|
||||
@@ -17,9 +17,11 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
buildInputs = [ libxml2 ];
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://anongit.freedesktop.org/${pname}";
|
||||
rev = "refs/tags/${pname}-${version}";
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "libevdev";
|
||||
repo = "evtest";
|
||||
tag = "evtest-${version}";
|
||||
sha256 = "sha256-M7AGcHklErfRIOu64+OU397OFuqkAn4dqZxx7sDfklc=";
|
||||
};
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
}:
|
||||
let
|
||||
pname = "feishin";
|
||||
version = "0.22.0";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeffvli";
|
||||
repo = "feishin";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-sRP89xgCl49WZ7A6KaQd/vJTIDvAfZuhRbL3mcBBnIg=";
|
||||
hash = "sha256-otobV3bpANbhrAiscDxV1IGJ36i/37aPei6wdo5SDSw=";
|
||||
};
|
||||
|
||||
electron = electron_38;
|
||||
@@ -40,7 +40,7 @@ buildNpmPackage {
|
||||
src
|
||||
;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-CpgiVKwqEjnRJ9Pinj7uSXy4llbdRrS9Vo0Tyge3+KQ=";
|
||||
hash = "sha256-iZs2YtB0U8RpZXrIYHBc/cgFISDF/4tz+D13/+HlszU=";
|
||||
};
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
@@ -55,10 +55,6 @@ buildNpmPackage {
|
||||
# release/app dependencies are installed on preConfigure
|
||||
substituteInPlace package.json \
|
||||
--replace-fail '"postinstall": "electron-builder install-app-deps",' ""
|
||||
|
||||
# Don't check for updates.
|
||||
substituteInPlace src/main/index.ts \
|
||||
--replace-fail "autoUpdater.checkForUpdatesAndNotify();" ""
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
# https://github.com/electron/electron/issues/31121
|
||||
@@ -100,7 +96,8 @@ buildNpmPackage {
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir -p $out/{Applications,bin}
|
||||
cp -r dist/**/Feishin.app $out/Applications/
|
||||
makeWrapper $out/Applications/Feishin.app/Contents/MacOS/Feishin $out/bin/feishin
|
||||
makeWrapper $out/Applications/Feishin.app/Contents/MacOS/Feishin $out/bin/feishin \
|
||||
--set DISABLE_AUTO_UPDATES 1
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
mkdir -p $out/share/feishin
|
||||
@@ -115,7 +112,8 @@ buildNpmPackage {
|
||||
makeWrapper ${lib.getExe electron} $out/bin/feishin \
|
||||
--add-flags $out/share/feishin/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--set ELECTRON_FORCE_IS_PACKAGED=1 \
|
||||
--set ELECTRON_FORCE_IS_PACKAGED 1 \
|
||||
--set DISABLE_AUTO_UPDATES 1 \
|
||||
--inherit-argv0
|
||||
|
||||
for size in 32 64 128 256 512 1024; do
|
||||
@@ -155,6 +153,7 @@ buildNpmPackage {
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "feishin";
|
||||
maintainers = with lib.maintainers; [
|
||||
BatteredBunny
|
||||
onny
|
||||
jlbribeiro
|
||||
];
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fingerprintx";
|
||||
version = "1.1.15";
|
||||
version = "1.1.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "praetorian-inc";
|
||||
repo = "fingerprintx";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-kbSP/nSdCrcEYVvLVawjZ2RDvTGv5JsHEIXXcPLA1ng=";
|
||||
hash = "sha256-U6QHSvZKgFwRkbWXpHMJZQyXG68DYyl5zXA+Y7eQp8Y=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-1KSNvK2ylqWjfhxMY+NQFoDahPgqGb12nA4oGqqoFIA=";
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{
|
||||
"version": "12.8.3",
|
||||
"version": "12.9.2",
|
||||
"sources": {
|
||||
"aarch64-linux": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-linux-aarch64.tar.xz",
|
||||
"sha256": "853acf48337d439de99bc29f3a29f20299de948d58c85de6f99ced2b78a2a83d"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-linux-aarch64.tar.xz",
|
||||
"sha256": "6a9f3a23401045bdacfcee26ff5bdd95a5f2bbd21eb08601a98e18b09df04fb5"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-linux-x86_64.tar.xz",
|
||||
"sha256": "0e6642c8584fdcde953d347739eb87cab2e6bdc7d46571de2ec9ff4d3bbe235d"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-linux-x86_64.tar.xz",
|
||||
"sha256": "c73cd19566b8c4d80cdd01ae8d76bbc8198b210027fbd590e250dc7ab1252032"
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-macOS-universal.dmg",
|
||||
"sha256": "a4718b942d63a3355f31f25a59059a67b7f99b5041f3ea9d63243dd3600c0c77"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-macOS-universal.dmg",
|
||||
"sha256": "cc27a9cd3eff0679ab916666583e2aed1fb882f0f4ea66676a133532cc8d5611"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.8.3/floorp-macOS-universal.dmg",
|
||||
"sha256": "a4718b942d63a3355f31f25a59059a67b7f99b5041f3ea9d63243dd3600c0c77"
|
||||
"url": "https://github.com/Floorp-Projects/Floorp/releases/download/v12.9.2/floorp-macOS-universal.dmg",
|
||||
"sha256": "cc27a9cd3eff0679ab916666583e2aed1fb882f0f4ea66676a133532cc8d5611"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "fluxcd-operator";
|
||||
version = "0.23.0";
|
||||
version = "0.38.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "controlplaneio-fluxcd";
|
||||
repo = "fluxcd-operator";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-pNJPP49yAZ5guo6fYRkICxuY5Hz6eaF6xmuoLx/CBHo=";
|
||||
hash = "sha256-thSUS3OQecOSaC6e5o1yRuI7FAyy/wZEvp+tIdJrtSo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-tTers8A4x8hS43/NIG2LH3mTWlGTkLBIPPk05mINsWg=";
|
||||
vendorHash = "sha256-Z5oKy9u/aqxoEiyDJWBBoUS5WJYWcfh77kK5wyl/pdc=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
@@ -28,6 +28,8 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
subPackages = [ "cmd/cli" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "foxglove-cli";
|
||||
version = "1.0.28";
|
||||
version = "1.0.29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foxglove";
|
||||
repo = "foxglove-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-LfBcbScb+LxWr3+WJ5Y7Gbup+l3me9PHB/QdFu5tB60=";
|
||||
hash = "sha256-VPL6WdolcdymPWgsyBaISGDT8tkAJa6lH073D5dZI3Y=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-GjgDRFzW4zqVooHx9WEgWkcnZ+zQsr09OuZxtc9rZD4=";
|
||||
vendorHash = "sha256-nRd9d3LJIrWoO+CQdbWLs249rOYmzfIf4u6x5dBDA2Y=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
tags = [ "netgo" ];
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gf";
|
||||
version = "0-unstable-2025-11-09";
|
||||
version = "0-unstable-2025-12-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "gf";
|
||||
owner = "nakst";
|
||||
rev = "64e7ece68a61d90db0dcc11a6d6eecab04af8561";
|
||||
hash = "sha256-BvPgBJ/2pEoe4hIgqYi5JXI0ihOJkc/pXAJK/Kf9lVg=";
|
||||
rev = "a8c0fb67756c043d63832c008e3ad12132b121cb";
|
||||
hash = "sha256-OJE51lVkHWAgo7u/SX46s3pzQBeMW3zViiXJnB86bpo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "glooctl";
|
||||
version = "1.20.4";
|
||||
version = "1.20.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solo-io";
|
||||
repo = "gloo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-RPt353Rwahr9a4xodm//4TZGNuHPGOF/GurxchI2y7s=";
|
||||
hash = "sha256-B3Hbj9T2ZefH9c/Zlgi7odInuIH96tFtyhrQLIiZPpU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-zJmp3UWzZSI7G54DTOEOEo2ZIKjM6GZ0Cf5/BukaB4o=";
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.8.2";
|
||||
version = "1.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GopeedLab";
|
||||
repo = "gopeed";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-KezASQIqyu4GsKaGAhge7gEYMe57GMgzjXlAbmyDI3Y=";
|
||||
hash = "sha256-ze0hoTR3e3Wrgtv2FlM81faXmij61NEcPLzO4WDXIak=";
|
||||
};
|
||||
|
||||
metaCommon = {
|
||||
@@ -29,7 +29,7 @@ let
|
||||
inherit version src;
|
||||
pname = "libgopeed";
|
||||
|
||||
vendorHash = "sha256-x9M9zwS5FhsIyGGBi0szWHMfLXCFVgqv8bfSxhHZT2Y=";
|
||||
vendorHash = "sha256-rIj4T+NEqWla6/+ofosTwagL4/VMovDp1NEYMuzbOrQ=";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
@@ -16,13 +16,29 @@
|
||||
gpart,
|
||||
hdparm,
|
||||
procps,
|
||||
util-linuxMinimal,
|
||||
polkit,
|
||||
wrapGAppsHook3,
|
||||
replaceVars,
|
||||
mtools,
|
||||
dosfstools,
|
||||
xhost,
|
||||
dosfstools,
|
||||
e2fsprogs,
|
||||
util-linuxMinimal,
|
||||
withAllTools ? false,
|
||||
bcachefs-tools,
|
||||
btrfs-progs,
|
||||
exfatprogs,
|
||||
f2fs-tools,
|
||||
hfsprogs,
|
||||
jfsutils,
|
||||
cryptsetup,
|
||||
lvm2,
|
||||
nilfs-utils,
|
||||
ntfs3g,
|
||||
reiserfsprogs,
|
||||
udftools,
|
||||
xfsprogs,
|
||||
xfsdump,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -65,6 +81,28 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
runtimeDeps = [
|
||||
dosfstools
|
||||
e2fsprogs
|
||||
util-linuxMinimal
|
||||
]
|
||||
++ lib.optionals withAllTools [
|
||||
bcachefs-tools
|
||||
btrfs-progs
|
||||
exfatprogs
|
||||
f2fs-tools
|
||||
hfsprogs
|
||||
jfsutils
|
||||
cryptsetup
|
||||
lvm2
|
||||
nilfs-utils
|
||||
ntfs3g
|
||||
reiserfsprogs
|
||||
udftools
|
||||
xfsprogs
|
||||
xfsdump
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# For ITS rules
|
||||
addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share"
|
||||
@@ -73,18 +111,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : "${
|
||||
lib.makeBinPath [
|
||||
gpart
|
||||
hdparm
|
||||
util-linuxMinimal
|
||||
procps
|
||||
coreutils
|
||||
gnused
|
||||
gnugrep
|
||||
mtools
|
||||
dosfstools
|
||||
xhost
|
||||
]
|
||||
lib.makeBinPath (
|
||||
[
|
||||
gpart
|
||||
hdparm
|
||||
procps
|
||||
coreutils
|
||||
gnused
|
||||
gnugrep
|
||||
mtools
|
||||
xhost
|
||||
]
|
||||
++ finalAttrs.runtimeDeps
|
||||
)
|
||||
}"
|
||||
)
|
||||
'';
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gpu-screen-recorder-gtk";
|
||||
version = "5.7.8";
|
||||
version = "5.7.9";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://repo.dec05eba.com/${pname}";
|
||||
tag = version;
|
||||
hash = "sha256-Vzi7IfiMsBFJZaZwC1CWZkVFCfDAfU0lmO7orRLjqgU=";
|
||||
hash = "sha256-RFY5hQqv5XkLliB3+YJX4TXLxV9y1/P8PIYMi6MCbww=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "grpc-gateway";
|
||||
version = "2.27.3";
|
||||
version = "2.27.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grpc-ecosystem";
|
||||
repo = "grpc-gateway";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-NXcfr/+VZnYlK5A/RuTboB33WadoutG7GnACfrWBvwg=";
|
||||
sha256 = "sha256-4bhEQTVV04EyX/qJGNMIAQDcMWcDVr1tFkEjBHpc2CA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-EgFB5ADytn9h8P2CrM9mr5siX5G4+8HGyWt/upp3yHg=";
|
||||
vendorHash = "sha256-ohZW/uPdt08Y2EpIQ2yeyGSjV9O58+QbQQqYrs6O8/g=";
|
||||
|
||||
ldflags = [
|
||||
"-X=main.version=${version}"
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "grpc-health-probe";
|
||||
version = "0.4.42";
|
||||
version = "0.4.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grpc-ecosystem";
|
||||
repo = "grpc-health-probe";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-/7Xxti2QOClWRo6EwHRb369+x/NeT6LHhDDyIJSHv00=";
|
||||
hash = "sha256-xmNqo+Wa/58944v52MAtFCy9G0LJVIn/XGG7JYqcCvM=";
|
||||
};
|
||||
|
||||
tags = [
|
||||
@@ -25,7 +25,7 @@ buildGoModule (finalAttrs: {
|
||||
"-X main.versionTag=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-9NDSkfHUa6xfLByjtuDMir2UM5flaKhD6jZDa71D+0w=";
|
||||
vendorHash = "sha256-WGY4vj1a+sOKKmuY+1RD/GPOKIUunfdBor0xG64IJY8=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gtree";
|
||||
version = "1.13.1";
|
||||
version = "1.13.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddddddO";
|
||||
repo = "gtree";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+Prv0TtyqE02DHbYwooy8OWQn4C82Lyfikd+l0YEHZc=";
|
||||
hash = "sha256-CTAUyFkIKk2WnZWVtIG6tZfjNT445DBDgeh5gTb4q6k=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-0St9T9xJ8lOZgBUtwfzrHqSpcv6SAoxy4PNBBuuNO+A=";
|
||||
vendorHash = "sha256-LWsJWh7LYkB5IWJaNJsy+K2xYNiw4mGy/YGT42at5C0=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/gtree"
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "home-manager";
|
||||
version = "0-unstable-2025-12-19";
|
||||
version = "0-unstable-2025-12-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "home-manager-source";
|
||||
owner = "nix-community";
|
||||
repo = "home-manager";
|
||||
rev = "bb35f07cc95a73aacbaf1f7f46bb8a3f40f265b5";
|
||||
hash = "sha256-47Ee0bTidhF/3/sHuYnWRuxcCrrm0mBNDxBkOTd3wWQ=";
|
||||
rev = "91cdb0e2d574c64fae80d221f4bf09d5592e9ec2";
|
||||
hash = "sha256-GKO35onS711ThCxwWcfuvbIBKXwriahGqs+WZuJ3v9E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"branch": "v0.52.2-b",
|
||||
"commit_hash": "386376400119dd46a767c9f8c8791fd22c7b6e61",
|
||||
"commit_message": "[gha] Nix: update inputs",
|
||||
"date": "2025-12-03",
|
||||
"tag": "v0.52.2"
|
||||
"branch": "main",
|
||||
"commit_hash": "ea444c35bb23b6e34505ab6753e069de7801cc25",
|
||||
"commit_message": "version: bump to 0.53.0",
|
||||
"date": "2025-12-29",
|
||||
"tag": "v0.53.0"
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
hyprland-qtutils,
|
||||
hyprlang,
|
||||
hyprutils,
|
||||
hyprwire,
|
||||
hyprwayland-scanner,
|
||||
libGL,
|
||||
libdrm,
|
||||
@@ -91,14 +92,14 @@ assert assertMsg (
|
||||
|
||||
customStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprland" + optionalString debug "-debug";
|
||||
version = "0.52.2";
|
||||
version = "0.53.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprland";
|
||||
fetchSubmodules = true;
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-R2Hm7XbW8CTLEIeYCAlSQ3U5bFhn76FC17hEy/ws8EM=";
|
||||
hash = "sha256-1jZK7hqNhQRqhj+2eb/JvnBoARxUgoVXKLSwp2RPmNQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -107,6 +108,7 @@ customStdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# Remove extra @PREFIX@ to fix pkg-config paths
|
||||
sed -i "s#@PREFIX@/##g" hyprland.pc.in
|
||||
sed -i "s#@PREFIX@/##g" example/hyprland.desktop.in
|
||||
'';
|
||||
|
||||
# variables used by CMake, and shown in `hyprctl version`
|
||||
@@ -127,6 +129,7 @@ customStdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
hyprwayland-scanner
|
||||
hyprwire
|
||||
makeWrapper
|
||||
cmake
|
||||
# meson + ninja are used to build the hyprland-protocols submodule
|
||||
@@ -187,13 +190,13 @@ customStdenv.mkDerivation (finalAttrs: {
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = mapAttrsToList cmakeBool {
|
||||
"BUILT_WITH_NIX" = true;
|
||||
"NO_XWAYLAND" = !enableXWayland;
|
||||
"NO_SYSTEMD" = !withSystemd;
|
||||
"CMAKE_DISABLE_PRECOMPILE_HEADERS" = true;
|
||||
"NO_UWSM" = true;
|
||||
"NO_HYPRPM" = true;
|
||||
"TRACY_ENABLE" = false;
|
||||
"BUILD_HYPRTESTER" = true;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
imgui,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imgui-file-dialog";
|
||||
version = "0.6.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aiekick";
|
||||
repo = "ImGuiFileDialog";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-v5ROW4o4of3tUGMN/p/CNH1eWT+RNRlWvhI84HUMEGo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ imgui ];
|
||||
|
||||
# Propagate imgui so users can find the headers (ImGuiFileDialog.h includes imgui.h)
|
||||
propagatedBuildInputs = [ imgui ];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Full featured file dialog for Dear ImGui";
|
||||
homepage = "https://github.com/aiekick/ImGuiFileDialog";
|
||||
changelog = "https://github.com/aiekick/ImGuiFileDialog/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ZZBaron ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -20,22 +20,21 @@
|
||||
fmt_11,
|
||||
nlohmann_json,
|
||||
yara,
|
||||
rsync,
|
||||
nix-update-script,
|
||||
autoPatchelfHook,
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.37.4";
|
||||
patterns_version = "1.37.4";
|
||||
version = "1.38.1";
|
||||
patterns_version = "1.38.1";
|
||||
|
||||
patterns_src = fetchFromGitHub {
|
||||
name = "ImHex-Patterns-source-${patterns_version}";
|
||||
owner = "WerWolv";
|
||||
repo = "ImHex-Patterns";
|
||||
tag = "ImHex-v${patterns_version}";
|
||||
hash = "sha256-2NgMYaG6+XKp0fIHAn3vAcoXXa3EF4HV01nI+t1IL1U=";
|
||||
hash = "sha256-MqQHzR5lKWhQI6pIX1kbAPDVG18UrMJM45mtIe/ggJE=";
|
||||
};
|
||||
|
||||
in
|
||||
@@ -49,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "WerWolv";
|
||||
repo = "ImHex";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-uenwAaIjtBzrtiLdy6fh5TxtbWtUJbtybNOLP3+8blA=";
|
||||
hash = "sha256-lkpFiXuEF72nBkPuInv683Ct1Uu+uZ0PGejI9cVEUp0=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
@@ -60,7 +59,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
python3
|
||||
perl
|
||||
pkg-config
|
||||
rsync
|
||||
makeWrapper
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
||||
@@ -78,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mbedtls
|
||||
nlohmann_json
|
||||
yara
|
||||
llvm
|
||||
];
|
||||
|
||||
# autoPatchelfHook only searches for *.so and *.so.*, and won't find *.hexpluglib
|
||||
@@ -104,17 +103,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
|
||||
|
||||
# Comment out fixup_bundle in PostprocessBundle.cmake as we are not building a standalone application
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
postPatch = ''
|
||||
# Link patterns source into location expected by cmake when IMHEX_OFFLINE_BUILD is set
|
||||
ln -s ${patterns_src} ImHex-Patterns
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace cmake/modules/PostprocessBundle.cmake \
|
||||
--replace-fail "fixup_bundle" "#fixup_bundle"
|
||||
'';
|
||||
|
||||
# rsync is used here so we can not copy the _schema.json files
|
||||
postInstall =
|
||||
if stdenv.hostPlatform.isLinux then
|
||||
''
|
||||
mkdir -p $out/share/imhex
|
||||
rsync -av --exclude="*_schema.json" ${patterns_src}/{constants,encodings,includes,magic,nodes,patterns} $out/share/imhex
|
||||
# without this imhex is not able to find pattern files
|
||||
wrapProgram $out/bin/imhex --prefix XDG_DATA_DIRS : $out/share
|
||||
''
|
||||
@@ -122,7 +122,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
''
|
||||
mkdir -p $out/Applications
|
||||
mv $out/imhex.app $out/Applications
|
||||
rsync -av --exclude="*_schema.json" ${patterns_src}/{constants,encodings,includes,magic,nodes,patterns} "$out/Applications/imhex.app/Contents/MacOS"
|
||||
install_name_tool \
|
||||
-change "$out/lib/libimhex.${finalAttrs.version}${stdenv.hostPlatform.extensions.sharedLibrary}" \
|
||||
"@executable_path/../Frameworks/libimhex.${finalAttrs.version}${stdenv.hostPlatform.extensions.sharedLibrary}" \
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "impala";
|
||||
version = "0.4.1";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pythops";
|
||||
repo = "impala";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CRnGycN2juXXNI1LhAH5HQbmXYatBZ0GxYKYgb5SBSE=";
|
||||
hash = "sha256-FU/8g2zTTHm3Sdbxt9761Z+a0zaJMdAMdHrJIwjUrYs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-fBeSbJdFwT/ZwK2FTJQtZakKqMiAICMY2rkbNnYOGzU=";
|
||||
cargoHash = "sha256-dpTLVlDxc9eK7GwbweODoJlrBZeYwVcv1fQ2UtYbg7k=";
|
||||
|
||||
meta = {
|
||||
description = "TUI for managing wifi";
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "infisicalsdk";
|
||||
version = "1.0.13";
|
||||
version = "1.0.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Infisical";
|
||||
repo = "python-sdk-official";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-fuUun4vm8MBdl8MmR9cV+OWSRGsSaRoh7IF1vHRGm1k=";
|
||||
hash = "sha256-oQdrrNJ8eoV5JWG7pTP3V8ptLg93DGCgWnTU9AVRG2Q=";
|
||||
};
|
||||
|
||||
build-system = [ python3Packages.setuptools ];
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "inputplumber";
|
||||
version = "0.69.1";
|
||||
version = "0.70.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ShadowBlip";
|
||||
repo = "InputPlumber";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-TX2AGLomQvq3r23ihL4SyMB4TTIYaavuWTuwqZciW2U=";
|
||||
hash = "sha256-Sk1z1bJlpHQrbm7rSiLHiwFXCwlZ/Qcr5vyY7ydLktw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-HYVDign4Q6hNUPaTcjS7n00WHEVR8UtS26F+RV9KWFE=";
|
||||
cargoHash = "sha256-Alnr8ppttft4GavoErFkZ7rqnAKaTDCyPhfqAcMX+R0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -48,7 +48,7 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ipxe";
|
||||
version = "1.21.1-unstable-2025-12-22";
|
||||
version = "1.21.1-unstable-2025-12-29";
|
||||
|
||||
nativeBuildInputs = [
|
||||
mtools
|
||||
@@ -66,8 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipxe";
|
||||
repo = "ipxe";
|
||||
rev = "3832147944209ece35557234102548413ef1b460";
|
||||
hash = "sha256-b65XWsWbMwROEYj3pVgCy6NNTreaQLkAtyCNQZ2xLPs=";
|
||||
rev = "7c39c04a537ce29dccc6f2bae9749d1d371429c1";
|
||||
hash = "sha256-tqOTv9f9teCQUgt52/cdAM9kE5678Bk9956cWDTDZAg=";
|
||||
};
|
||||
|
||||
# Calling syslinux on a FAT image isn't going to work on Aarch64.
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "jd-diff-patch";
|
||||
version = "2.3.0";
|
||||
version = "2.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "josephburnett";
|
||||
repo = "jd";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-eaNP7cSJ0IxfHLmPaNAw5MQzD41AiOIjVbAjQkU8uec=";
|
||||
hash = "sha256-HVbEVRe9u5D6Blfif9mEw9QZYJM7786GLB4njq3n+2U=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/v2";
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kirc";
|
||||
version = "1.0.0";
|
||||
version = "1.0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mcpcpc";
|
||||
repo = "kirc";
|
||||
rev = version;
|
||||
hash = "sha256-vcOaBVrWmKxFgqpBtMckkHwJiFG8PCDwfKHE/teGrGo=";
|
||||
hash = "sha256-ModcUryLJTbf19ZKZDQ05Wqqac5vBsCN7SaT0/TD4Ro=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kool";
|
||||
version = "3.5.2";
|
||||
version = "3.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kool-dev";
|
||||
repo = "kool";
|
||||
rev = version;
|
||||
hash = "sha256-yUJbuMOLEa9LVRltskSwD0XBdmwwLcEaLYUHsSQOiCk=";
|
||||
hash = "sha256-pZ667bDyRWIrImBNHyhkOGl/22gjHKX6KsVSTckS1U4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-IqUkIf0uk4iUTedTO5xRzjmJwHS+p6apo4E0WEEU6cc=";
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
gcc15Stdenv.mkDerivation {
|
||||
pname = "libresplit";
|
||||
version = "0-unstable-2025-12-22";
|
||||
version = "0-unstable-2025-12-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LibreSplit";
|
||||
repo = "LibreSplit";
|
||||
rev = "63ed87a8eb1d8d188b613bc9b8c48d7223a37dbb";
|
||||
hash = "sha256-n8kKdv6e//v0yst6PW9PAnmB73W2lzlTdvvuELCePFY=";
|
||||
rev = "11fcc57ff3ebbf58b3bb91b69575afbe4a8409b1";
|
||||
hash = "sha256-b743CPRpBZI5H+jFRn1O/s0LZzp8B5QWhjZ2N3iSz+g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
graphviz,
|
||||
libexsid,
|
||||
libgcrypt,
|
||||
libusb1,
|
||||
perl,
|
||||
pkg-config,
|
||||
xa,
|
||||
@@ -18,14 +19,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libsidplayfp";
|
||||
version = "2.15.2";
|
||||
version = "2.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libsidplayfp";
|
||||
repo = "libsidplayfp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-/GXRqLt2wPCUiOKlaEq52APOOYWgbaejzJcppZgMgfA=";
|
||||
hash = "sha256-0eupR9HNhF8TERCtNTH8qx7mohLI7im8btJtByWHoY8=";
|
||||
};
|
||||
|
||||
outputs = [ "out" ] ++ lib.optionals docSupport [ "doc" ];
|
||||
@@ -50,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
libexsid
|
||||
libgcrypt
|
||||
libusb1
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@@ -58,6 +60,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.strings.enableFeature true "hardsid")
|
||||
(lib.strings.withFeature true "gcrypt")
|
||||
(lib.strings.withFeature true "exsid")
|
||||
(lib.strings.withFeature true "usbsid")
|
||||
# Supposedly runtime detection only supported on GCC
|
||||
# https://github.com/libsidplayfp/libsidplayfp/commit/65874166b14d44467782d2996f7b644fbde0ee87
|
||||
# __builtin_cpu_supports on GCC's list of x86 built-in functions
|
||||
(lib.strings.withFeatureAs true "simd" (
|
||||
if (stdenv.cc.isGNU && stdenv.hostPlatform.isx86) then "runtime" else "none"
|
||||
))
|
||||
(lib.strings.enableFeature finalAttrs.finalPackage.doCheck "tests")
|
||||
];
|
||||
|
||||
@@ -84,6 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
ignoredVersions = "rc$";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "liferea";
|
||||
version = "1.16.6";
|
||||
version = "1.16.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
|
||||
hash = "sha256-D9mRmg1iwSlyYWCuYmMDzCkhUwgzDA/1DEgj49B59Lc=";
|
||||
hash = "sha256-571mxEqnPVvuJ/r8hU4brtJhiVPxbBOPXhWL3XWmUTI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "lunarclient";
|
||||
version = "3.5.15";
|
||||
version = "3.5.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}-ow.AppImage";
|
||||
hash = "sha512-ALMU80lGg1kwQAETpMtuUoW/nT0I05wRhe3+FafP2rVud+OoqnVt2W8PFPhZ66wSdmS1Zs9AWvr2mQG/3aoMfg==";
|
||||
hash = "sha512-V0aeQTFRAoheUsI/gFZMaTTgWaCxQXEirkKr2mFnUhBXdesYGwnKmIJk0v1JOtK2RQT0V536yEMsRJVZgfscNw==";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
|
||||
# tests
|
||||
uv,
|
||||
versionCheckHook,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mistral-vibe";
|
||||
version = "1.3.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistralai";
|
||||
repo = "mistral-vibe";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-nW7pRSyv+t/7yatx84PMgxsHRTfRqqpy6rz+dQfLluU=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
editables
|
||||
hatch-vcs
|
||||
hatchling
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"agent-client-protocol"
|
||||
"mistralai"
|
||||
"pydantic"
|
||||
"pydantic-settings"
|
||||
"watchfiles"
|
||||
];
|
||||
dependencies = with python3Packages; [
|
||||
agent-client-protocol
|
||||
aiofiles
|
||||
httpx
|
||||
mcp
|
||||
mistralai
|
||||
packaging
|
||||
pexpect
|
||||
pydantic
|
||||
pydantic-settings
|
||||
pyperclip
|
||||
python-dotenv
|
||||
pyyaml
|
||||
rich
|
||||
textual
|
||||
textual-speedups
|
||||
tomli-w
|
||||
watchfiles
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "vibe" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
python3Packages.pytest-asyncio
|
||||
python3Packages.pytest-textual-snapshot
|
||||
python3Packages.pytest-xdist
|
||||
python3Packages.pytestCheckHook
|
||||
python3Packages.respx
|
||||
uv
|
||||
versionCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
versionCheckProgramArg = "--version";
|
||||
versionCheckKeepEnvironment = [ "HOME" ];
|
||||
pytestFlags = [ "tests/cli/test_clipboard.py" ];
|
||||
|
||||
disabledTests = [
|
||||
# AssertionError: assert '/nix/store/rlq03x4cwf8zn73hxaxnx0zn5q9kifls-bash-5.3p3/bin/sh:
|
||||
# warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory\n' == ''
|
||||
"test_decodes_non_utf8_bytes"
|
||||
"test_runs_echo_successfully"
|
||||
"test_truncates_output_to_max_bytes"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# AssertionError: assert 3 == 4
|
||||
"test_get_copy_fns_with_wl_copy"
|
||||
"test_get_copy_fns_with_both_system_tools"
|
||||
"test_get_copy_fns_with_xclip"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# All snapshot tests fail with AssertionError
|
||||
"tests/snapshots/"
|
||||
|
||||
# ACP tests require network access
|
||||
"tests/acp/test_acp.py"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Minimal CLI coding agent by Mistral";
|
||||
homepage = "https://github.com/mistralai/mistral-vibe";
|
||||
changelog = "https://github.com/mistralai/mistral-vibe/blob/${src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
GaetanLepage
|
||||
shikanime
|
||||
];
|
||||
mainProgram = "vibe";
|
||||
};
|
||||
}
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mlkit";
|
||||
version = "4.7.14";
|
||||
version = "4.7.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "melsman";
|
||||
repo = "mlkit";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0nAQHBcQgGdcWd4SFhDon7I0zi5U+YRTdGvG78tri6A=";
|
||||
sha256 = "sha256-1MLxBK/XYk4flBac34D2y6MJMuuxT6wT+Yo1WFaiYI4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
}:
|
||||
let
|
||||
pname = "models-dev";
|
||||
version = "0-unstable-2025-12-23";
|
||||
version = "0-unstable-2025-12-29";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sst";
|
||||
repo = "models.dev";
|
||||
rev = "d54bc052ebe97f8fc494e9fbb47a5d6266d20066";
|
||||
hash = "sha256-HiIHiiP2AzMkUtshFBgZJ+wheOO0L+eOn44+C7xzYxA=";
|
||||
rev = "53afc6aefb7b7f777c7b708098e7dbf83bd3797a";
|
||||
hash = "sha256-I79MLfT9rCJK7LOfJNN23wM9/lJsVL+fw3hBUPykIxM=";
|
||||
};
|
||||
|
||||
node_modules = stdenvNoCC.mkDerivation {
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "multitime";
|
||||
version = "1.4";
|
||||
version = "1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ltratt";
|
||||
repo = "multitime";
|
||||
rev = "multitime-${version}";
|
||||
sha256 = "1p6m4gyy6dw7nxnpsk32qiijagmiq9vwch0fbc25qvmybwqp8qc0";
|
||||
sha256 = "sha256-oLtBUJbu+tVhzsUv+toz2oLeXCVLYKHQXUNsqpCZBGc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mycli";
|
||||
version = "1.41.2";
|
||||
version = "1.42.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dbcli";
|
||||
repo = "mycli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-k6GgJpgjn2sFzdoPNVmsfOzAwIUiq5rSW7faLbijpnk=";
|
||||
hash = "sha256-V8HqrhC+bVEgXlRPAZEo5KI8Bpz8qWbqd0qyLzSbSEQ=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "myks";
|
||||
version = "5.4.0";
|
||||
version = "5.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mykso";
|
||||
repo = "myks";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Q8Qtxb+eUaw0eX3F/jkgKKHmjApZ/UsTE+LeJ1FKoCg=";
|
||||
hash = "sha256-swfzmuw7TtRvYeAlRTP1v3zvuSUsD/j1FddPfMDekbs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-wHP/l8Evu6F9Kzm88EQv9JMONI3OlWB3jB+88RgzKmo=";
|
||||
vendorHash = "sha256-Gi/y6fCrfphBrF4Zag1zkAXuRhvvl9sTm3Magm6k0Q0=";
|
||||
|
||||
subPackages = ".";
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
let
|
||||
finalAttrs = {
|
||||
pname = "ncps";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kalbasit";
|
||||
repo = "ncps";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-3ncDDJ0vqmM6Aer/qnEgGZ/eglFmY0oAnMsLJseMQg8=";
|
||||
hash = "sha256-dPCzfy29wjRL5eXaueM8qLtKMmsNcwTqtSDBNOJ4NMc=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nextvi";
|
||||
version = "3.0";
|
||||
version = "3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kyx0r";
|
||||
repo = "nextvi";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-SMPPG/pDtuS87PLyeUvmEqyqD9+Pye9rPQW1TpDGNc4=";
|
||||
hash = "sha256-joIb+kJd0Oe1Irpz5zo48G+27umrr3Q1kKoLwpRiD8w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -8,16 +8,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "nnd";
|
||||
version = "0.65";
|
||||
version = "0.66";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "al13n321";
|
||||
repo = "nnd";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-fOCPxNkQKHVfaumds4G4+0GL8CtBa5UyuG2IzllUS3Q=";
|
||||
hash = "sha256-92M5HSkXxlup+4vuQlf2AYIhYfIpRc5yGFgRcpLnHQY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-bNlC8yHiA6EBX2TK4QBvSp01+FjxRFr1/pSm1T/SFNU=";
|
||||
cargoHash = "sha256-lS/nfRuf5u6+0ZBbuBfeQNU6G4jDWj02OBie7LxpYsc=";
|
||||
|
||||
meta = {
|
||||
description = "Debugger for Linux";
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "numix-icon-theme-square";
|
||||
version = "25.12.15";
|
||||
version = "25.12.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "numixproject";
|
||||
repo = "numix-icon-theme-square";
|
||||
rev = version;
|
||||
sha256 = "sha256-89OyttP8Mc1zRqIbIE9gpY9BHINLGJwUqkGVfeULCH4=";
|
||||
sha256 = "sha256-D4Tclt0GQ70Ka4tmMPhOPVSHL/42hAB2D0PLe9iyN+U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 ];
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
}:
|
||||
let
|
||||
pname = "opencode";
|
||||
version = "1.0.184";
|
||||
version = "1.0.210";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sst";
|
||||
repo = "opencode";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-qEVFORKMoaLTsBbs2D9aLaD1W4vbQppJ6fB+bHWLcgM=";
|
||||
hash = "sha256-0bWhOquP17U7F2NO+f8pubulqfOG03wMxzPpD/yqe3A=";
|
||||
};
|
||||
|
||||
node_modules = stdenvNoCC.mkDerivation {
|
||||
@@ -70,7 +70,7 @@ let
|
||||
# NOTE: Required else we get errors that our fixed-output derivation references store paths
|
||||
dontFixup = true;
|
||||
|
||||
outputHash = "sha256-NaLKlLke9K2/1+2NhrWIlsNRFL674PraWmBCbzkEk6c=";
|
||||
outputHash = "sha256-P9ZiSW8aZWEUGE1OCej/S2biyJzSwlObcuRzBxJsEZU=";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
};
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
buildPackages,
|
||||
docbook_xml_dtd_44,
|
||||
docbook_xsl,
|
||||
withFuzzing ? stdenv.hostPlatform.isLinux,
|
||||
withLibcap ? stdenv.hostPlatform.isLinux,
|
||||
withSeccomp ? stdenv.hostPlatform.isLinux,
|
||||
libcap,
|
||||
pkg-config,
|
||||
meson,
|
||||
@@ -18,18 +20,20 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pax-utils";
|
||||
version = "1.3.8";
|
||||
version = "1.3.10";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://anongit.gentoo.org/git/proj/pax-utils.git";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fOdiZcS1ZWGN8U5v65LzGIZJD6hCl5dbLMHDpSyms+8=";
|
||||
hash = "sha256-qoFXQ/RqvdjsVhXVZZjWKnE0khak9HjOGi/UrfTLS8M=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
mesonFlags = [
|
||||
(lib.mesonBool "use_fuzzing" withFuzzing)
|
||||
(lib.mesonEnable "use_libcap" withLibcap)
|
||||
(lib.mesonBool "use_seccomp" withSeccomp)
|
||||
];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
@@ -55,7 +55,7 @@ buildGoModule (finalAttrs: {
|
||||
homepage = "https://github.com/containers/podman-tui";
|
||||
description = "Podman Terminal UI";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ aaronjheng ];
|
||||
mainProgram = "podman-tui";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,32 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
|
||||
go,
|
||||
buildGoModule,
|
||||
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGoModule {
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "node-cert-exporter";
|
||||
version = "1.1.7-unstable-2024-12-26";
|
||||
version = "1.1.7-unstable-2025-03-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "amimof";
|
||||
repo = "node-cert-exporter";
|
||||
rev = "v1.1.7";
|
||||
sha256 = "sha256-VYJPgNVsfEs/zh/SEdOrFn0FK6S+hNFGDhonj2syutQ=";
|
||||
rev = "eef1b8207b5fdb4d6690fcfa543caf823cff0754";
|
||||
hash = "sha256-/z2wQmcCEsPKEMKj7OunD0e+9OvXv6NV6Bn8myW6HLk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-31MHX3YntogvoJmbOytl0rXS6qtdBSBJe8ejKyu6gqM=";
|
||||
|
||||
# Required otherwise we get a few:
|
||||
# vendor/github.com/golang/glog/internal/logsink/logsink.go:129:41:
|
||||
# predeclared any requires go1.18 or later (-lang was set to go1.16; check go.mod)
|
||||
patches = [ ./gomod.patch ];
|
||||
|
||||
vendorHash = "sha256-Y/JgjWb2eFe4aCTU/v05rB5xH9TgZgZt2WITalj1nwc=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-X main.VERSION=${finalAttrs.version}"
|
||||
"-X main.COMMIT=${finalAttrs.src.rev}"
|
||||
"-X main.BRANCH=master"
|
||||
"-X main.GOVERSION=${go.version}"
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "--version";
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
|
||||
|
||||
meta = {
|
||||
description = "Prometheus exporter for SSL certificate";
|
||||
mainProgram = "node-cert-exporter";
|
||||
homepage = "https://github.com/amimof/node-cert-exporter";
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "node-cert-exporter";
|
||||
maintainers = with lib.maintainers; [ ibizaman ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pulumi-esc";
|
||||
version = "0.20.0";
|
||||
version = "0.21.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pulumi";
|
||||
repo = "esc";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZS5mwRua/IYAhA5W+EEZxttArTm+vLArA1RM8SFOK60=";
|
||||
hash = "sha256-oTCCPwdepaZif2LJfJtBuw4jQDUwDU+wGNgl+mB52Ko=";
|
||||
};
|
||||
|
||||
subPackages = "cmd/esc";
|
||||
|
||||
vendorHash = "sha256-IcQaWo5/EoPJjn5pDKwHjd56JeareznE7iSansJIfso=";
|
||||
vendorHash = "sha256-QDevyfNos1+kZmBJDKQH43EJ66XyrRPjdAkrhRqFJNU=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "quisk";
|
||||
version = "4.2.48";
|
||||
version = "4.2.50";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-5N8uogS/V5nwYhHsdsc81GgjS9NblLx3KpdoEaXtpJI=";
|
||||
hash = "sha256-HFZhVJxDUeFDFboWYGiuJYG8fb+xeWBKKi/6uBiDp84=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "sdl-jstest";
|
||||
version = "0.2.2-unstable-2025-12-05";
|
||||
version = "0.2.2-unstable-2025-11-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Grumbel";
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "seadrive-gui";
|
||||
version = "3.0.18";
|
||||
version = "3.0.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "haiwen";
|
||||
repo = "seadrive-gui";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-TAmLHoJmFZyGa0wMBBPBWYOOdBCiMBdVfrIBTCZ8Sig=";
|
||||
hash = "sha256-gT0GKDy/tsQex3LNcBgMdZL2obtvU1BE4EAAIvIFiHM=";
|
||||
};
|
||||
|
||||
# Fix cmake modernization warning.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user