Merge master into staging-next
This commit is contained in:
@@ -92,6 +92,8 @@
|
||||
|
||||
- `forgejo` main program has been renamed to `bin/forgejo` from the previous `bin/gitea`.
|
||||
|
||||
- `wayclip` now uses the `ext-data-control-v1` Wayland protocol instead of `wlr-data-control-unstable-v1`.
|
||||
|
||||
- `cudaPackages.cudatoolkit-legacy-runfile` has been removed.
|
||||
|
||||
- `conduwuit` was removed due to upstream ceasing development and deleting their repository. For existing data, a migration to `matrix-conduit`, `matrix-continuwuity` or `matrix-tuwunel` may be possible.
|
||||
|
||||
@@ -5316,12 +5316,6 @@
|
||||
githubId = 1957293;
|
||||
name = "Casey Ransom";
|
||||
};
|
||||
CrazedProgrammer = {
|
||||
email = "crazedprogrammer@gmail.com";
|
||||
github = "CrazedProgrammer";
|
||||
githubId = 12202789;
|
||||
name = "CrazedProgrammer";
|
||||
};
|
||||
creator54 = {
|
||||
email = "hi.creator54@gmail.com";
|
||||
github = "Creator54";
|
||||
@@ -5859,6 +5853,12 @@
|
||||
{ fingerprint = "E8F9 0B80 908E 723D 0EDF 0916 5803 CDA5 9C26 A96A"; }
|
||||
];
|
||||
};
|
||||
datosh = {
|
||||
email = "fabian@kammel.dev";
|
||||
github = "datosh";
|
||||
githubId = 6423339;
|
||||
name = "Fabian Kammel";
|
||||
};
|
||||
dav-wolff = {
|
||||
email = "nixpkgs@dav.dev";
|
||||
github = "dav-wolff";
|
||||
@@ -14712,6 +14712,13 @@
|
||||
githubId = 67327023;
|
||||
keys = [ { fingerprint = "8185 29F9 BB4C 33F0 69BB 9782 D1AC CDCF 2B9B 9799"; } ];
|
||||
};
|
||||
lillecarl = {
|
||||
name = "Carl Andersson";
|
||||
github = "lillecarl";
|
||||
githubId = 207073;
|
||||
email = "nixos@lillecarl.com";
|
||||
matrix = "@lillecarl:matrix.org";
|
||||
};
|
||||
lillycham = {
|
||||
email = "lillycat332@gmail.com";
|
||||
github = "lillycham";
|
||||
@@ -15879,6 +15886,12 @@
|
||||
githubId = 1913876;
|
||||
name = "Markus Scherer";
|
||||
};
|
||||
MarkusZoppelt = {
|
||||
email = "markus@zoppelt.net";
|
||||
github = "MarkusZoppelt";
|
||||
githubId = 2495125;
|
||||
name = "Markus Zoppelt";
|
||||
};
|
||||
marmolak = {
|
||||
email = "hack.robin@gmail.com";
|
||||
github = "marmolak";
|
||||
@@ -23057,12 +23070,6 @@
|
||||
githubId = 73446695;
|
||||
name = "Savinien Petitjean";
|
||||
};
|
||||
savannidgerinel = {
|
||||
email = "savanni@luminescent-dreams.com";
|
||||
github = "savannidgerinel";
|
||||
githubId = 8534888;
|
||||
name = "Savanni D'Gerinel";
|
||||
};
|
||||
savedra1 = {
|
||||
email = "michaelsavedra@gmail.com";
|
||||
github = "savedra1";
|
||||
|
||||
@@ -78,7 +78,14 @@ class TypstPackage:
|
||||
"nix-command",
|
||||
]
|
||||
result = subprocess.run(cmd + [url], capture_output=True, text=True)
|
||||
hash = re.search(r"hash\s+\'(sha256-.{44})\'", result.stderr).groups()[0]
|
||||
# We currently rely on Typst Universe's github repository to
|
||||
# track package dependencies. However, there might be an
|
||||
# inconsistency between the registry and the repository. We
|
||||
# skip packages that cannot be fetched from the registry.
|
||||
if re.search(r"error: unable to download", result.stderr):
|
||||
return url, None
|
||||
else:
|
||||
hash = re.search(r"hash\s+\'(sha256-.{44})\'", result.stderr).groups()[0]
|
||||
return url, hash
|
||||
|
||||
def to_name_full(self):
|
||||
@@ -86,10 +93,14 @@ class TypstPackage:
|
||||
|
||||
def to_attrs(self):
|
||||
deps = set()
|
||||
excludes = list(map(
|
||||
lambda e: os.path.join(self.path, e),
|
||||
self.meta["package"]["exclude"] if "exclude" in self.meta["package"] else [],
|
||||
))
|
||||
excludes = list(
|
||||
map(
|
||||
lambda e: os.path.join(self.path, e),
|
||||
self.meta["package"]["exclude"]
|
||||
if "exclude" in self.meta["package"]
|
||||
else [],
|
||||
)
|
||||
)
|
||||
for root, _, files in os.walk(self.path):
|
||||
for file in filter(lambda f: f.split(".")[-1] == "typ", files):
|
||||
file_path = os.path.join(root, file)
|
||||
@@ -110,6 +121,9 @@ class TypstPackage:
|
||||
)
|
||||
source_url, source_hash = self.source()
|
||||
|
||||
if not source_hash:
|
||||
return None
|
||||
|
||||
return dict(
|
||||
url=source_url,
|
||||
hash=source_hash,
|
||||
@@ -152,11 +166,12 @@ def generate_typst_packages(preview_dir, output_file):
|
||||
def generate_package(pname, package_subtree):
|
||||
sorted_keys = sorted(package_subtree.keys(), key=Version, reverse=True)
|
||||
print(f"Generating metadata for {pname}")
|
||||
return {
|
||||
pname: OrderedDict(
|
||||
(k, package_subtree[k].to_attrs()) for k in sorted_keys
|
||||
)
|
||||
}
|
||||
version_set = OrderedDict(
|
||||
(k, a)
|
||||
for k, a in [(k, package_subtree[k].to_attrs()) for k in sorted_keys]
|
||||
if a is not None
|
||||
)
|
||||
return {pname: version_set} if len(version_set) > 0 else {}
|
||||
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
|
||||
sorted_packages = sorted(package_tree.items(), key=lambda x: x[0])
|
||||
|
||||
@@ -358,6 +358,16 @@ have a predefined type and string generator already declared under
|
||||
|
||||
: Outputs the xml with header.
|
||||
|
||||
`pkgs.formats.plist` { escape ? true }
|
||||
|
||||
: A function taking an attribute set with values
|
||||
|
||||
`escape`
|
||||
|
||||
: Whether to escape XML special characters in string values and keys.
|
||||
|
||||
It returns a set with Property list (plist) specific attributes `type` and `generate` as specified [below](#pkgs-formats-result).
|
||||
|
||||
`pkgs.formats.pythonVars` { }
|
||||
|
||||
: A function taking an empty attribute set (for future extensibility)
|
||||
|
||||
@@ -1296,6 +1296,7 @@
|
||||
./services/networking/openconnect.nix
|
||||
./services/networking/opengfw.nix
|
||||
./services/networking/openvpn.nix
|
||||
./services/networking/opkssh/opkssh.nix
|
||||
./services/networking/ostinato.nix
|
||||
./services/networking/owamp.nix
|
||||
./services/networking/pangolin.nix
|
||||
@@ -1634,6 +1635,7 @@
|
||||
./services/web-apps/lasuite-docs.nix
|
||||
./services/web-apps/lasuite-meet.nix
|
||||
./services/web-apps/lemmy.nix
|
||||
./services/web-apps/librespeed.nix
|
||||
./services/web-apps/libretranslate.nix
|
||||
./services/web-apps/limesurvey.nix
|
||||
./services/web-apps/linkwarden.nix
|
||||
|
||||
@@ -113,7 +113,7 @@ in
|
||||
}
|
||||
];
|
||||
systemd.services.rust-motd = {
|
||||
path = with pkgs; [ bash ];
|
||||
path = with pkgs; [ bash ] ++ lib.optional (cfg.settings.fail_2_ban or { } != { }) fail2ban;
|
||||
documentation = [
|
||||
"https://github.com/rust-motd/rust-motd/blob/v${pkgs.rust-motd.version}/README.md"
|
||||
];
|
||||
|
||||
@@ -2298,7 +2298,7 @@ in
|
||||
++ lib.optionals config.security.pam.enableFscrypt [ pkgs.fscrypt-experimental ]
|
||||
++ lib.optionals config.security.pam.u2f.enable [ pkgs.pam_u2f ];
|
||||
|
||||
boot.supportedFilesystems = lib.optionals config.security.pam.enableEcryptfs [ "ecryptfs" ];
|
||||
boot.supportedFilesystems = lib.mkIf config.security.pam.enableEcryptfs [ "ecryptfs" ];
|
||||
|
||||
security.wrappers = {
|
||||
unix_chkpwd = {
|
||||
|
||||
@@ -85,6 +85,10 @@ in
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
script = "${cfg.package}/bin/oink -c ${oinkConfig}";
|
||||
serviceConfig = {
|
||||
Restart = "on-failure";
|
||||
RestartSec = "10";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.opkssh;
|
||||
|
||||
providerFile = pkgs.writeText "opkssh-providers" (
|
||||
lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (
|
||||
name: provider: "${provider.issuer} ${provider.clientId} ${provider.lifetime}"
|
||||
) cfg.providers
|
||||
)
|
||||
);
|
||||
|
||||
authIdFile = pkgs.writeText "opkssh-auth-id" (
|
||||
lib.concatStringsSep "\n" (
|
||||
lib.map (auth: "${auth.user} ${auth.principal} ${auth.issuer}") cfg.authorizations
|
||||
)
|
||||
);
|
||||
in
|
||||
{
|
||||
options.services.opkssh = {
|
||||
enable = lib.mkEnableOption "OpenID Connect SSH authentication";
|
||||
|
||||
package = lib.mkPackageOption pkgs "opkssh" { };
|
||||
|
||||
user = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "opksshuser";
|
||||
description = "System user for running opkssh";
|
||||
};
|
||||
|
||||
group = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "opksshuser";
|
||||
description = "System group for opkssh";
|
||||
};
|
||||
|
||||
providers = lib.mkOption {
|
||||
type = lib.types.attrsOf (
|
||||
lib.types.submodule {
|
||||
options = {
|
||||
issuer = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Issuer URI";
|
||||
example = "https://accounts.google.com";
|
||||
};
|
||||
|
||||
clientId = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "OAuth client ID";
|
||||
};
|
||||
|
||||
lifetime = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"12h"
|
||||
"24h"
|
||||
"48h"
|
||||
"1week"
|
||||
"oidc"
|
||||
"oidc-refreshed"
|
||||
];
|
||||
default = "24h";
|
||||
description = "Token lifetime";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
default = {
|
||||
google = {
|
||||
issuer = "https://accounts.google.com";
|
||||
clientId = "206584157355-7cbe4s640tvm7naoludob4ut1emii7sf.apps.googleusercontent.com";
|
||||
lifetime = "24h";
|
||||
};
|
||||
microsoft = {
|
||||
issuer = "https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0";
|
||||
clientId = "096ce0a3-5e72-4da8-9c86-12924b294a01";
|
||||
lifetime = "24h";
|
||||
};
|
||||
github = {
|
||||
issuer = "https://token.actions.githubusercontent.com";
|
||||
clientId = "github";
|
||||
lifetime = "oidc";
|
||||
};
|
||||
};
|
||||
description = "OpenID Connect providers configuration";
|
||||
};
|
||||
|
||||
authorizations = lib.mkOption {
|
||||
type = lib.types.listOf (
|
||||
lib.types.submodule {
|
||||
options = {
|
||||
user = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Linux user to authorize";
|
||||
};
|
||||
|
||||
principal = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Principal identifier (email, repo, etc.)";
|
||||
};
|
||||
|
||||
issuer = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "Issuer URI";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
default = [ ];
|
||||
description = "User authorization mappings";
|
||||
example = lib.literalExpression ''
|
||||
# This example refers to values in the providers example
|
||||
# adjust your expressions as necessary
|
||||
[
|
||||
{
|
||||
user = "alice";
|
||||
principal = "alice@gmail.com";
|
||||
inherit (config.services.opkssh.providers.google) issuer;
|
||||
}
|
||||
{
|
||||
user = "bob";
|
||||
principal = "repo:NixOs/nixpkgs:environment:production";
|
||||
inherit (config.services.opkssh.providers.github) issuer;
|
||||
}
|
||||
];
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
users.groups.${cfg.group} = { };
|
||||
users.users.${cfg.user} = {
|
||||
isSystemUser = true;
|
||||
description = "OpenPubkey OpenID Connect SSH User";
|
||||
group = cfg.group;
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
authorizedKeysCommand = "/run/wrappers/bin/opkssh verify %u %k %t";
|
||||
authorizedKeysCommandUser = cfg.user;
|
||||
};
|
||||
|
||||
security.wrappers."opkssh" = {
|
||||
source = "${cfg.package}/bin/opkssh";
|
||||
owner = "root";
|
||||
group = "root";
|
||||
};
|
||||
|
||||
environment.etc."opk/providers" = {
|
||||
mode = "0640";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
source = providerFile;
|
||||
};
|
||||
|
||||
environment.etc."opk/auth_id" = {
|
||||
mode = "0640";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
source = authIdFile;
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ datosh ];
|
||||
}
|
||||
@@ -208,6 +208,7 @@ in
|
||||
${secretReplacements}
|
||||
'';
|
||||
ExecStart = "${getExe cfg.package} --config ${mergedSettingsFile}";
|
||||
Restart = "on-failure";
|
||||
WorkingDirectory = "/var/lib/glance";
|
||||
EnvironmentFile = cfg.environmentFile;
|
||||
StateDirectory = "glance";
|
||||
|
||||
@@ -0,0 +1,452 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
options,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.librespeed;
|
||||
opt = options.services.librespeed;
|
||||
|
||||
settingsFormat = pkgs.formats.toml { };
|
||||
|
||||
configFile = settingsFormat.generate "librespeed-rust-config.toml" cfg.settings;
|
||||
|
||||
librespeedAssets =
|
||||
pkgs.runCommand "librespeed-assets"
|
||||
{
|
||||
serversList = ''
|
||||
function get_servers() {
|
||||
return ${builtins.toJSON cfg.frontend.servers}
|
||||
}
|
||||
function override_settings () {
|
||||
${lib.pipe cfg.frontend.settings [
|
||||
(lib.mapAttrs (name: val: " s.setParameter(${builtins.toJSON name},${builtins.toJSON val});"))
|
||||
lib.attrValues
|
||||
lib.concatLines
|
||||
]}
|
||||
}
|
||||
'';
|
||||
passAsFile = [ "serversList" ];
|
||||
}
|
||||
''
|
||||
cp -r ${cfg.package}/assets $out
|
||||
chmod +w "$out/servers_list.js"
|
||||
cp "$serversListPath" "$out/servers_list.js"
|
||||
substitute ${cfg.package}/assets/index.html $out/index.html \
|
||||
--replace-fail "s.setParameter(\"telemetry_level\",\"basic\"); //enable telemetry" "override_settings();" \
|
||||
--replace-fail "LibreSpeed Example" ${lib.escapeShellArg (lib.escapeXML cfg.frontend.pageTitle)} \
|
||||
--replace-fail "PUT@YOUR_EMAIL.HERE" ${lib.escapeShellArg (lib.escapeXML cfg.frontend.contactEmail)} \
|
||||
--replace-fail "TO BE FILLED BY DEVELOPER" ${lib.escapeShellArg (lib.escapeXML cfg.frontend.contactEmail)}
|
||||
'';
|
||||
in
|
||||
{
|
||||
options.services.librespeed = {
|
||||
enable = lib.mkEnableOption "LibreSpeed server";
|
||||
package = lib.mkPackageOption pkgs "librespeed-rust" { };
|
||||
|
||||
domain = lib.mkOption {
|
||||
description = ''
|
||||
If not `null`, this will add an entry to `services.librespeed.servers` and
|
||||
configure librespeed to use TLS.
|
||||
'';
|
||||
default = null;
|
||||
type = with lib.types; nullOr nonEmptyStr;
|
||||
};
|
||||
|
||||
downloadIPDB = lib.mkOption {
|
||||
description = ''
|
||||
Whether to download the IP info database before starting librespeed.
|
||||
Disable this if you want to use the Go implementation.
|
||||
'';
|
||||
default = !(cfg.secrets ? "ipinfo_api_key");
|
||||
defaultText = lib.literalExpression ''!(config.${opt.secrets} ? "ipinfo_api_key")'';
|
||||
type = lib.types.bool;
|
||||
};
|
||||
|
||||
secrets = lib.mkOption {
|
||||
description = ''
|
||||
Attribute set of filesystem paths.
|
||||
The contents of the specified paths will be read at service start time and merged with the attributes provided in `settings`.
|
||||
'';
|
||||
default = { };
|
||||
type =
|
||||
with lib.types;
|
||||
nullOr (
|
||||
attrsOf (pathWith {
|
||||
inStore = false;
|
||||
absolute = true;
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
description = ''
|
||||
LibreSpeed configuration written as Nix expression.
|
||||
All values set to `null` will be excluded from the evaluated config.
|
||||
This is useful if you want to omit certain defaults when using a different LibreSpeed implementation.
|
||||
|
||||
See [github.com/librespeed](https://github.com/librespeed/speedtest-rust) for configuration help.
|
||||
'';
|
||||
default = {
|
||||
assets_path =
|
||||
if (cfg.frontend.enable && !cfg.frontend.useNginx) then
|
||||
librespeedAssets
|
||||
else
|
||||
pkgs.writeTextDir "index.html" "";
|
||||
|
||||
bind_address = "::";
|
||||
listen_port = 8989;
|
||||
base_url = "backend";
|
||||
worker_threads = "auto";
|
||||
|
||||
database_type = "none";
|
||||
database_file = "/var/lib/librespeed/speedtest.sqlite";
|
||||
|
||||
# librespeed-rust will fail to start if the following config parameters are omitted.
|
||||
ipinfo_api_key = "";
|
||||
stats_password = "";
|
||||
|
||||
redact_ip_addresses = false;
|
||||
result_image_theme = "light";
|
||||
|
||||
enable_tls = cfg.tlsCertificate != null && cfg.tlsKey != null;
|
||||
tls_cert_file = lib.optionalString (
|
||||
cfg.tlsCertificate != null
|
||||
) "/run/credentials/librespeed.service/cert.pem";
|
||||
tls_key_file = lib.optionalString (
|
||||
cfg.tlsKey != null
|
||||
) "/run/credentials/librespeed.service/key.pem";
|
||||
};
|
||||
defaultText = lib.literalExpression ''
|
||||
{
|
||||
assets_path = if (config.${opt.frontend.enable} && !config.${opt.frontend.useNginx}) then
|
||||
librespeedAssets
|
||||
else
|
||||
pkgs.writeTextDir "index.html" "";
|
||||
|
||||
bind_address = "::";
|
||||
listen_port = 8989;
|
||||
base_url = "backend";
|
||||
worker_threads = "auto";
|
||||
|
||||
database_type = "none";
|
||||
database_file = "/var/lib/librespeed/speedtest.sqlite";
|
||||
|
||||
# librespeed-rust will fail to start if the following config parameters are omitted.
|
||||
ipinfo_api_key = "";
|
||||
stats_password = "";
|
||||
|
||||
redact_ip_addresses = false;
|
||||
result_image_theme = "light";
|
||||
|
||||
enable_tls = config.${opt.tlsCertificate} != null && config.${opt.tlsKey} != null;
|
||||
tls_cert_file = lib.optionalString (config.${opt.tlsCertificate} != null) "/run/credentials/librespeed.service/cert.pem";
|
||||
tls_key_file = lib.optionalString (config.${opt.tlsKey} != null) "/run/credentials/librespeed.service/key.pem";
|
||||
}
|
||||
'';
|
||||
type =
|
||||
with lib.types;
|
||||
nullOr (
|
||||
attrsOf (oneOf [
|
||||
(nullOr bool)
|
||||
int
|
||||
str
|
||||
package
|
||||
])
|
||||
);
|
||||
};
|
||||
|
||||
useACMEHost = lib.mkOption {
|
||||
type = with lib.types; nullOr nonEmptyStr;
|
||||
default = null;
|
||||
example = "speed.example.com";
|
||||
description = ''
|
||||
Use a certificate generated by the NixOS ACME module for the given host.
|
||||
Note that this will not generate a new certificate - you will need to do so with `security.acme.certs`.
|
||||
'';
|
||||
};
|
||||
|
||||
tlsCertificate = lib.mkOption {
|
||||
type = with lib.types; nullOr nonEmptyStr;
|
||||
default =
|
||||
if (cfg.useACMEHost != null) then
|
||||
"${config.security.acme.certs.${cfg.useACMEHost}.directory}/cert.pem"
|
||||
else
|
||||
null;
|
||||
defaultText = lib.literalExpression "lib.optionalString (config.${opt.useACMEHost} != null) \"\${config.security.acme.certs.\${config.${opt.useACMEHost}}.directory}/cert.pem\"";
|
||||
description = "TLS certificate to use. Use together with `tlsKey`.";
|
||||
};
|
||||
|
||||
tlsKey = lib.mkOption {
|
||||
type = with lib.types; nullOr nonEmptyStr;
|
||||
default =
|
||||
if (cfg.useACMEHost != null) then
|
||||
"${config.security.acme.certs.${cfg.useACMEHost}.directory}/key.pem"
|
||||
else
|
||||
null;
|
||||
defaultText = lib.literalExpression "lib.optionalString (config.${opt.useACMEHost} != null) \"\${config.security.acme.certs.\${config.${opt.useACMEHost}}.directory}/key.pem\"";
|
||||
description = "TLS private key to use. Use together with `tlsCertificate`.";
|
||||
};
|
||||
|
||||
frontend = {
|
||||
enable = lib.mkEnableOption "" // {
|
||||
description = ''
|
||||
Enables the LibreSpeed frontend and adds a nginx virtual host if
|
||||
not explicitly disabled and `services.librespeed.domain` is not `null`.
|
||||
'';
|
||||
};
|
||||
|
||||
contactEmail = lib.mkOption {
|
||||
description = "Email address listed in the privacy policy.";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
pageTitle = lib.mkOption {
|
||||
description = "Title of the webpage.";
|
||||
default = "LibreSpeed";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
useNginx = lib.mkOption {
|
||||
description = ''
|
||||
Configure nginx for the LibreSpeed frontend.
|
||||
This will only create a virtual host for the frontend and won't proxy all requests because
|
||||
the reported upload and download speeds are inaccurate if proxied.
|
||||
'';
|
||||
default = cfg.domain != null;
|
||||
defaultText = lib.literalExpression "config.${opt.domain} != null";
|
||||
type = lib.types.bool;
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
description = ''
|
||||
Override default settings of the speedtest web client.
|
||||
See [speedtest_worker.js][link] for a list of possible values.
|
||||
|
||||
[link]: https://github.com/librespeed/speedtest/blob/master/speedtest_worker.js#L39
|
||||
'';
|
||||
default = {
|
||||
telemetry_level = "basic";
|
||||
};
|
||||
type = lib.types.nullOr (
|
||||
lib.types.submodule {
|
||||
freeformType =
|
||||
with lib.types;
|
||||
attrsOf (oneOf [
|
||||
bool
|
||||
int
|
||||
str
|
||||
float
|
||||
]);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
servers = lib.mkOption {
|
||||
description = "LibreSpeed servers that should appear in the server list.";
|
||||
type = lib.types.listOf (
|
||||
lib.types.submodule {
|
||||
options = {
|
||||
name = lib.mkOption {
|
||||
description = "Name shown in the server list.";
|
||||
type = lib.types.nonEmptyStr;
|
||||
};
|
||||
|
||||
server = lib.mkOption {
|
||||
description = "URL to the server. You may use `//` instead of `http://` or `https://`.";
|
||||
type = lib.types.nonEmptyStr;
|
||||
};
|
||||
|
||||
dlURL = lib.mkOption {
|
||||
description = ''
|
||||
URL path to download test on this server.
|
||||
Append `.php` to the default value if the server uses the php implementation.
|
||||
'';
|
||||
default = "backend/garbage";
|
||||
type = lib.types.nonEmptyStr;
|
||||
};
|
||||
|
||||
ulURL = lib.mkOption {
|
||||
description = ''
|
||||
URL path to upload test on this server.
|
||||
Append `.php` to the default value if the server uses the php implementation.
|
||||
'';
|
||||
default = "backend/empty";
|
||||
type = lib.types.nonEmptyStr;
|
||||
};
|
||||
|
||||
pingURL = lib.mkOption {
|
||||
description = ''
|
||||
URL path to latency/jitter test on this server.
|
||||
Append `.php` to the default value if the server uses the php implementation.
|
||||
'';
|
||||
default = "backend/empty";
|
||||
type = lib.types.nonEmptyStr;
|
||||
};
|
||||
|
||||
getIpURL = lib.mkOption {
|
||||
description = ''
|
||||
URL path to IP lookup on this server.
|
||||
Append `.php` to the default value if the server uses the php implementation.
|
||||
'';
|
||||
default = "backend/getIP";
|
||||
type = lib.types.nonEmptyStr;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.frontend.useNginx -> cfg.domain != null;
|
||||
message = "${opt.frontend.useNginx} requires ${opt.domain} to be set.";
|
||||
}
|
||||
];
|
||||
|
||||
security.acme.certs = lib.mkIf (cfg.useACMEHost != null) {
|
||||
${cfg.useACMEHost}.reloadServices = [ "librespeed.service" ];
|
||||
};
|
||||
|
||||
services = {
|
||||
librespeed = {
|
||||
frontend.servers = lib.mkIf (cfg.frontend.enable && (cfg.domain != null)) [
|
||||
{
|
||||
name = cfg.domain;
|
||||
server = "//${cfg.domain}";
|
||||
}
|
||||
];
|
||||
settings = lib.mapAttrs (n: v: lib.mkDefault v) opt.settings.default;
|
||||
};
|
||||
|
||||
nginx.virtualHosts = lib.mkIf (cfg.frontend.enable && cfg.frontend.useNginx) {
|
||||
${cfg.domain} = {
|
||||
forceSSL = true;
|
||||
locations = {
|
||||
"/".root = librespeedAssets;
|
||||
"= /servers.json".return = "200 '${builtins.toJSON cfg.frontend.servers}'";
|
||||
"/backend/" = {
|
||||
proxyPass = "http://127.0.0.1:${toString cfg.settings.listen_port}/backend/";
|
||||
extraConfig = # nginx
|
||||
''
|
||||
client_max_body_size 0;
|
||||
gzip off;
|
||||
proxy_buffering off;
|
||||
proxy_request_buffering off;
|
||||
''
|
||||
+ lib.optionalString (lib.any (m: m.name == "brotli") config.services.nginx.additionalModules) ''
|
||||
brotli off;
|
||||
''
|
||||
+ lib.optionalString (lib.any (m: m.name == "zstd") config.services.nginx.additionalModules) ''
|
||||
zstd off;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
librespeed-secrets = lib.mkIf (cfg.secrets != { }) {
|
||||
description = "LibreSpeed secret helper";
|
||||
|
||||
ExecStart = lib.getExe (
|
||||
pkgs.writeShellApplication {
|
||||
name = "librespeed-secrets";
|
||||
runtimeInputs = [ pkgs.coreutils ];
|
||||
text = ''
|
||||
cp ${configFile} ''${RUNTIME_DIRECTORY%%:*}/config.toml
|
||||
''
|
||||
+ lib.pipe cfg.secrets [
|
||||
(lib.mapAttrs (
|
||||
name: file: ''
|
||||
cat >>''${RUNTIME_DIRECTORY%%:*}/config.toml <<EOF
|
||||
${name}="$(<${lib.escapeShellArg file})"
|
||||
EOF
|
||||
''
|
||||
))
|
||||
(lib.concatLines lib.attrValues)
|
||||
];
|
||||
}
|
||||
);
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
RuntimeDirectory = "librespeed";
|
||||
UMask = "u=rw";
|
||||
};
|
||||
};
|
||||
|
||||
librespeed = {
|
||||
description = "LibreSpeed server daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [
|
||||
"network.target"
|
||||
]
|
||||
++ lib.optionals (cfg.useACMEHost != null) [
|
||||
"acme-finished-${cfg.useACMEHost}.target"
|
||||
];
|
||||
requires = lib.optionals (cfg.secrets != { }) [ "librespeed-secrets.service" ];
|
||||
after = [
|
||||
"network.target"
|
||||
]
|
||||
++ lib.optionals (cfg.secrets != { }) [
|
||||
"librespeed-secrets.service"
|
||||
]
|
||||
++ lib.optionals (cfg.useACMEHost != null) [
|
||||
"acme-finished-${cfg.useACMEHost}.target"
|
||||
];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
Restart = "always";
|
||||
|
||||
DynamicUser = true;
|
||||
|
||||
LoadCredential = lib.mkIf (cfg.tlsCertificate != null && cfg.tlsKey != null) [
|
||||
"cert.pem:${cfg.tlsCertificate}"
|
||||
"key.pem:${cfg.tlsKey}"
|
||||
];
|
||||
|
||||
ExecStartPre = lib.mkIf cfg.downloadIPDB "${lib.getExe cfg.package} --update-ipdb";
|
||||
ExecStart = "${lib.getExe cfg.package} -c ${
|
||||
if (cfg.secrets == { }) then configFile else "\${RUNTIME_DIRECTORY%%:*}/config.toml"
|
||||
}";
|
||||
WorkingDirectory = "/var/cache/librespeed";
|
||||
RuntimeDirectory = "librespeed";
|
||||
RuntimeDirectoryPreserve = true;
|
||||
StateDirectory = "librespeed";
|
||||
CacheDirectory = "librespeed";
|
||||
SyslogIdentifier = "librespeed";
|
||||
|
||||
RestrictSUIDSGID = true;
|
||||
RestrictNamespaces = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateUsers = true;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
ProtectProc = "invisible";
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = "@system-service";
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
LockPersonality = true;
|
||||
NoNewPrivileges = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = lib.teams.c3d2.members;
|
||||
}
|
||||
@@ -787,7 +787,7 @@ in
|
||||
keepalived = runTest ./keepalived.nix;
|
||||
keepassxc = runTest ./keepassxc.nix;
|
||||
kerberos = handleTest ./kerberos/default.nix { };
|
||||
kernel-generic = handleTest ./kernel-generic.nix { };
|
||||
kernel-generic = handleTest ./kernel-generic { };
|
||||
kernel-latest-ath-user-regd = runTest ./kernel-latest-ath-user-regd.nix;
|
||||
kernel-rust = handleTest ./kernel-rust.nix { };
|
||||
keter = runTest ./keter.nix;
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
{
|
||||
system ? builtins.currentSystem,
|
||||
config ? { },
|
||||
pkgs ? import ../.. { inherit system config; },
|
||||
}@args:
|
||||
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
testsForLinuxPackages =
|
||||
linuxPackages:
|
||||
(import ./make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "kernel-${linuxPackages.kernel.version}";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [
|
||||
nequissimus
|
||||
atemu
|
||||
ma27
|
||||
];
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
boot.kernelPackages = linuxPackages;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
assert "Linux" in machine.succeed("uname -s")
|
||||
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
|
||||
'';
|
||||
}
|
||||
) args);
|
||||
kernels = pkgs.linuxKernel.vanillaPackages // {
|
||||
inherit (pkgs.linuxKernel.packages)
|
||||
linux_6_12_hardened
|
||||
linux_rt_5_4
|
||||
linux_rt_5_10
|
||||
linux_rt_5_15
|
||||
linux_rt_6_1
|
||||
linux_rt_6_6
|
||||
linux_libre
|
||||
|
||||
linux_testing
|
||||
;
|
||||
};
|
||||
|
||||
in
|
||||
mapAttrs (_: lP: testsForLinuxPackages lP) kernels
|
||||
// {
|
||||
passthru = {
|
||||
inherit testsForLinuxPackages;
|
||||
|
||||
# Useful for development testing of all Kernel configs without building full Kernel
|
||||
configfiles = mapAttrs (_: lP: lP.kernel.configfile) kernels;
|
||||
|
||||
testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
{
|
||||
system ? builtins.currentSystem,
|
||||
config ? { },
|
||||
pkgs ? import ../.. { inherit system config; },
|
||||
}@args:
|
||||
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
patchedPkgs = pkgs.extend (
|
||||
final: prev: {
|
||||
kernelPackagesExtensions = prev.kernelPackagesExtensions ++ [
|
||||
(
|
||||
finalKernelPackages: _:
|
||||
let
|
||||
finalKernel = finalKernelPackages.kernel;
|
||||
in
|
||||
{
|
||||
hello-world = final.stdenv.mkDerivation {
|
||||
name = "hello-module";
|
||||
|
||||
nativeBuildInputs = finalKernel.moduleBuildDependencies;
|
||||
makeFlags = finalKernel.commonMakeFlags ++ [
|
||||
# Variable refers to the local Makefile.
|
||||
"KDIR=${finalKernel.dev}/lib/modules/${finalKernel.modDirVersion}/build"
|
||||
# Variable of the Linux src tree's main Makefile.
|
||||
"INSTALL_MOD_PATH=$(out)"
|
||||
];
|
||||
|
||||
buildFlags = [ "modules" ];
|
||||
installTargets = [ "modules_install" ];
|
||||
|
||||
src = ./hello-world-src;
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
);
|
||||
|
||||
testsForLinuxPackages =
|
||||
linuxPackages:
|
||||
(import ../make-test-python.nix (
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "kernel-${linuxPackages.kernel.version}";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [
|
||||
nequissimus
|
||||
atemu
|
||||
ma27
|
||||
];
|
||||
};
|
||||
|
||||
nodes.machine =
|
||||
{ config, ... }:
|
||||
{
|
||||
boot.kernelPackages = linuxPackages;
|
||||
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.hello-world ];
|
||||
|
||||
boot.kernelModules = [ "hello" ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
assert "Linux" in machine.succeed("uname -s")
|
||||
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
|
||||
|
||||
assert "Hello world!" in machine.succeed("dmesg")
|
||||
'';
|
||||
}
|
||||
) args);
|
||||
kernels = patchedPkgs.linuxKernel.vanillaPackages // {
|
||||
inherit (patchedPkgs.linuxKernel.packages)
|
||||
linux_6_12_hardened
|
||||
linux_rt_5_4
|
||||
linux_rt_5_10
|
||||
linux_rt_5_15
|
||||
linux_rt_6_1
|
||||
linux_rt_6_6
|
||||
linux_libre
|
||||
|
||||
linux_testing
|
||||
;
|
||||
};
|
||||
|
||||
in
|
||||
mapAttrs (_: lP: testsForLinuxPackages lP) kernels
|
||||
// {
|
||||
passthru = {
|
||||
inherit testsForLinuxPackages;
|
||||
|
||||
# Useful for development testing of all Kernel configs without building full Kernel
|
||||
configfiles = mapAttrs (_: lP: lP.kernel.configfile) kernels;
|
||||
|
||||
testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
ifneq ($(KERNELRELEASE),)
|
||||
# kbuild part of makefile
|
||||
obj-m := hello.o
|
||||
else
|
||||
# normal makefile
|
||||
KDIR ?= /lib/modules/`uname -r`/build
|
||||
|
||||
.PHONY: modules
|
||||
modules:
|
||||
$(MAKE) -C $(KDIR) M=$$PWD modules
|
||||
|
||||
.PHONY: modules_install
|
||||
modules_install:
|
||||
$(MAKE) -C $(KDIR) M=$$PWD modules_install
|
||||
endif
|
||||
@@ -0,0 +1,18 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
#include <linux/module.h>
|
||||
#include <linux/printk.h>
|
||||
|
||||
static int hello(void)
|
||||
{
|
||||
pr_info("Hello world!");
|
||||
return 0;
|
||||
}
|
||||
module_init(hello);
|
||||
|
||||
static void goodbye(void)
|
||||
{
|
||||
pr_info("Goodbye");
|
||||
}
|
||||
module_exit(goodbye);
|
||||
|
||||
MODULE_LICENSE("MIT");
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mednafen-pce-fast";
|
||||
version = "0-unstable-2025-10-03";
|
||||
version = "0-unstable-2025-10-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "beetle-pce-fast-libretro";
|
||||
rev = "3e666a36bb3d5b3fa1573b62a9928bd441b618b7";
|
||||
hash = "sha256-PIuCTGd9N8wQcfZWEIAVhZr31gJ0onca734Bn0GsVsk=";
|
||||
rev = "22ca252ac248de126f5c7df8f8ff07a31a7e7731";
|
||||
hash = "sha256-7mG7TCTPuu3T6x50Lw85lwcZh80zSTG4XbDhoxCSw/0=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -82,7 +82,9 @@ let
|
||||
passthru = attrs // {
|
||||
inherit provider-source-address;
|
||||
updateScript = writeShellScript "update" ''
|
||||
./pkgs/applications/networking/cluster/terraform-providers/update-provider "${owner}_${lib.removePrefix "terraform-provider-" repo}"
|
||||
./pkgs/applications/networking/cluster/terraform-providers/update-provider "${
|
||||
lib.replaceStrings [ "registry.terraform.io/" "/" ] [ "" "_" ] provider-source-address
|
||||
}"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
|
||||
cmake,
|
||||
ninja,
|
||||
perl, # Project uses Perl for scripting and testing
|
||||
python3,
|
||||
}:
|
||||
let
|
||||
rev = "1d452d3852321cb55c07307cb506b25759134b76";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "mbedtls";
|
||||
# taken from `ChangeLog`
|
||||
version = "3.6.1-unstable-2025-08-11";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
inherit rev;
|
||||
|
||||
domain = "gitlab.linphone.org";
|
||||
group = "BC";
|
||||
owner = "public/external";
|
||||
repo = "mbedtls";
|
||||
sha256 = "sha256-jQpRn2F21sPKKAiaqsUvaKyuR80AnedG/hAyiNamKjc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
perl
|
||||
python3
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# trivialautovarinit on clang causes test failures
|
||||
hardeningDisable = lib.optional stdenv.cc.isClang "trivialautovarinit";
|
||||
|
||||
cmakeFlags = [
|
||||
# tests don't compile, due to how BC sets up threading
|
||||
"-DENABLE_TESTING=OFF"
|
||||
"-DENABLE_PROGRAMS=OFF"
|
||||
|
||||
"-DUSE_SHARED_MBEDTLS_LIBRARY=${if stdenv.hostPlatform.isStatic then "off" else "on"}"
|
||||
|
||||
# Avoid a dependency on jsonschema and jinja2 by not generating source code
|
||||
# using python. In releases, these generated files are already present in
|
||||
# the repository and do not need to be regenerated. See:
|
||||
# https://github.com/Mbed-TLS/mbedtls/releases/tag/v3.3.0 below "Requirement changes".
|
||||
"-DGEN_FILES=off"
|
||||
];
|
||||
|
||||
# Parallel checking causes test failures
|
||||
# https://github.com/Mbed-TLS/mbedtls/issues/4980
|
||||
enableParallelChecking = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.linphone.org/BC/public/external/mbedtls";
|
||||
changelog = "https://gitlab.linphone.org/BC/public/external/mbedtls/-/blob/${rev}/ChangeLog";
|
||||
description = "Portable cryptographic and TLS library, formerly known as PolarSSL (Linphone fork)";
|
||||
license = with lib.licenses; [
|
||||
asl20 # or
|
||||
gpl2Plus
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ naxdy ];
|
||||
};
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
bcunit,
|
||||
bc-decaf,
|
||||
mkLinphoneDerivation,
|
||||
openssl,
|
||||
bc-mbedtls,
|
||||
lib,
|
||||
|
||||
# tests
|
||||
@@ -14,15 +14,14 @@ mkLinphoneDerivation (finalAttrs: {
|
||||
propagatedBuildInputs = [
|
||||
bcunit
|
||||
bc-decaf
|
||||
openssl
|
||||
bc-mbedtls
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_STRICT=NO"
|
||||
|
||||
# mbedtils does not build
|
||||
"-DENABLE_MBEDTLS=NO"
|
||||
"-DENABLE_OPENSSL=YES"
|
||||
"-DENABLE_MBEDTLS=YES"
|
||||
"-DENABLE_OPENSSL=NO"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -33,7 +33,6 @@ let
|
||||
maintainers = with lib.maintainers; [
|
||||
khaneliman
|
||||
timstott
|
||||
savannidgerinel
|
||||
sebtm
|
||||
bdd
|
||||
];
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "albedo";
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coreruleset";
|
||||
repo = "albedo";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-4ZQTOix5bCn4EmrabiG4L74F2++cQhIbvtgNKBW7aDk=";
|
||||
hash = "sha256-H/ViMVzuuQYORDiNXBgs7imy+c4IaL2pY5KVN6ecJoo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-qZga699UjBsPmOUSN66BFInl8Bmk42HiVn0MfPlxRE4=";
|
||||
vendorHash = "sha256-FBkHpTn4jG6iw1GYAuGHh2WCRro4mRgumYoGMkmv6qU=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aliyun-cli";
|
||||
version = "3.0.305";
|
||||
version = "3.0.307";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aliyun";
|
||||
repo = "aliyun-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-zbDG6Mr+CVMoIfB7Jy99VrSNdAER+qYh3fbzoI6tMiE=";
|
||||
hash = "sha256-36IGN0salTpMWJDA/UKFQiyob/r5WLZFC9krTXVTxuA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -887,8 +887,8 @@
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.WindowsDesktop.App.Ref",
|
||||
"version": "8.0.20",
|
||||
"hash": "sha256-EDrxjwHRVTirMADYU+po/ANd6LaoehL/9RSiuZEsIB0="
|
||||
"version": "8.0.21",
|
||||
"hash": "sha256-RufsU8Mr81jK6fIbULBgkv0BRVmobXL38L8rBwBjJyg="
|
||||
},
|
||||
{
|
||||
"pname": "Mono.Cecil",
|
||||
|
||||
@@ -5,13 +5,14 @@
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
gitUpdater,
|
||||
imagemagick,
|
||||
}:
|
||||
|
||||
let
|
||||
p = python3.pkgs;
|
||||
self = p.buildPythonApplication rec {
|
||||
pname = "backgroundremover";
|
||||
version = "0.3.0";
|
||||
version = "0.3.4";
|
||||
pyproject = true;
|
||||
|
||||
build-system = [
|
||||
@@ -21,8 +22,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "nadermx";
|
||||
repo = "backgroundremover";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fWazMDjc+EoXvO7Iq+zwtJaMEU64ajpO6JtlvU5T0nc=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-7C31wlokX3M4csZ4ZbOqxowQvh8DMQJJcENKgQWNTa8=";
|
||||
};
|
||||
|
||||
models = runCommand "background-remover-models" { } ''
|
||||
@@ -36,9 +37,6 @@ let
|
||||
rm -rf *dist
|
||||
substituteInPlace backgroundremover/bg.py backgroundremover/u2net/detect.py \
|
||||
--replace-fail 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")"
|
||||
|
||||
substituteInPlace backgroundremover/bg.py \
|
||||
--replace-fail 'import moviepy.editor' 'import moviepy'
|
||||
'';
|
||||
|
||||
pythonRelaxDeps = [
|
||||
@@ -87,11 +85,15 @@ let
|
||||
in
|
||||
runCommand "backgroundremover-image-test.png"
|
||||
{
|
||||
buildInputs = [ self ];
|
||||
buildInputs = [
|
||||
self
|
||||
imagemagick
|
||||
];
|
||||
}
|
||||
''
|
||||
convert ${demoImage} input.png
|
||||
export NUMBA_CACHE_DIR=$(mktemp -d)
|
||||
backgroundremover -i ${demoImage} -o $out
|
||||
backgroundremover -i input.png -o $out
|
||||
'';
|
||||
};
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
|
||||
@@ -6,18 +6,23 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "bitrise";
|
||||
version = "2.33.2";
|
||||
version = "2.34.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitrise-io";
|
||||
repo = "bitrise";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ckiozGSk8a0bzTzj8PuN55rrL2r95BylYRUHZdQF+Kc=";
|
||||
hash = "sha256-Px4u3Jc3HbTN9NRGFYwTVL0/g+PsFw+JxEyOuTSTQbc=";
|
||||
};
|
||||
|
||||
# many tests rely on writable $HOME/.bitrise and require network access
|
||||
doCheck = false;
|
||||
|
||||
# resolves error: main module (github.com/bitrise-io/bitrise/v2) does not contain package github.com/bitrise-io/bitrise/v2/integrationtests/config
|
||||
excludedPackages = [
|
||||
"./integrationtests"
|
||||
];
|
||||
|
||||
vendorHash = null;
|
||||
ldflags = [
|
||||
"-X github.com/bitrise-io/bitrise/version.Commit=${src.rev}"
|
||||
|
||||
@@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ] ++ lib.optional blas64 "-DBUILD_INDEX64=ON";
|
||||
|
||||
# CMake 4 is no longer retro compatible with versions < 3.5
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt --replace-fail \
|
||||
"cmake_minimum_required(VERSION 3.2)" \
|
||||
"cmake_minimum_required(VERSION 3.5)"
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
let
|
||||
canonicalExtension =
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-xwin";
|
||||
version = "0.20.0";
|
||||
version = "0.20.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rust-cross";
|
||||
repo = "cargo-xwin";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-R9CdgsBuyPYOFG4aW59JjxvNkc6IXXjsHR7359wcNGk=";
|
||||
hash = "sha256-RfXX6LZrxQmWtjnMVIpCj9KVn5fnvQRGgEeH+gTR0Vk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-0oe7zh7fZv2P88DBtTirmW7HvLP0jgJ5Je88IL4v+l8=";
|
||||
cargoHash = "sha256-0N2JLENHG6QUcEtw237Oe/fwdgo87DVJ+Gx6wtpP9BU=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross compile Cargo project to Windows MSVC target with ease";
|
||||
|
||||
@@ -71,7 +71,6 @@ stdenv.mkDerivation rec {
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
CrazedProgrammer
|
||||
viluon
|
||||
];
|
||||
mainProgram = "ccemux";
|
||||
|
||||
@@ -16,16 +16,16 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "centrifugo";
|
||||
version = "6.3.1";
|
||||
version = "6.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "centrifugal";
|
||||
repo = "centrifugo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1LP33LXGb+W23Mej/kOOl4wIuP/ZKj5ICOabH0WjKWk=";
|
||||
hash = "sha256-tkhYt9KqxSp2uvFLUz9SMiyP/M8EmVlnFWFI7RZWtYQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cSiRXIm9Iz0FmialBfcs04e5OUZn/ap9q/MEmGzWz+M=";
|
||||
vendorHash = "sha256-KdmkhgfF+9n5VL5GyKBXO9isCozY8DDSdP1pCGQE2D4=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
|
||||
homepage = "https://www.gokgs.com/";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.free;
|
||||
maintainers = with maintainers; [ savannidgerinel ];
|
||||
maintainers = [ ];
|
||||
platforms = temurin-jre-bin-17.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cnquery";
|
||||
version = "12.4.0";
|
||||
version = "12.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mondoohq";
|
||||
repo = "cnquery";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-A/2/pk9ncGZwxiA4BOcpiPZcLiyRB0dTmf/tw3yDikc=";
|
||||
hash = "sha256-f7P7m+RBrWxvdBMtPXZLNB4/Alr0ByiEhh9mIcVPfLk=";
|
||||
};
|
||||
|
||||
subPackages = [ "apps/cnquery" ];
|
||||
|
||||
@@ -44,13 +44,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit";
|
||||
version = "348";
|
||||
version = "349";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-JO+tHrG1fxfDRdGHIDZ6TBLug/6p/vB8RkxC9TLoOuk=";
|
||||
hash = "sha256-MfZPT0gY3G4Tkp2TQN7HZVgy1oiJU9zrIzaLU8r9FjU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "codecrafters-cli";
|
||||
version = "40";
|
||||
version = "42";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "codecrafters-io";
|
||||
repo = "cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-JtjzulWeikUR1tJFBjssZuNhiXtQVR9IP2xABz06X/U=";
|
||||
hash = "sha256-vkugNHeajGv/2t3/4eZbcsXXuaD7/fUM/3Cg0AO+6H0=";
|
||||
# A shortened git commit hash is part of the version output, and is
|
||||
# needed at build time. Use the `.git` directory to retrieve the
|
||||
# commit SHA, and remove the directory afterwards since it is not needed
|
||||
|
||||
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
mainProgram = "compsize";
|
||||
homepage = "https://github.com/kilobyte/compsize";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ CrazedProgrammer ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
|
||||
description = "C++ wrapper around libcURL";
|
||||
mainProgram = "curlpp-config";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ CrazedProgrammer ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,6 +30,13 @@ stdenv.mkDerivation {
|
||||
libusb1
|
||||
];
|
||||
|
||||
# CMake 4 is no longer retro compatible with versions < 3.5
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt src/CMakeLists.txt --replace-fail \
|
||||
"cmake_minimum_required(VERSION 2.8)" \
|
||||
"cmake_minimum_required(VERSION 3.5)"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Commandline tools for DAB and DAB+ digital radio broadcasts";
|
||||
homepage = "https://github.com/Opendigitalradio/dabtools";
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
m4,
|
||||
installShellFiles,
|
||||
util-linux,
|
||||
util-linuxMinimal,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -24,8 +24,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/shutdown.cc \
|
||||
--replace-fail '"/bin/umount"' '"${util-linux}/bin/umount"' \
|
||||
--replace-fail '"/sbin/swapoff"' '"${util-linux}/bin/swapoff"'
|
||||
--replace-fail '"/bin/umount"' '"${util-linuxMinimal}/bin/umount"' \
|
||||
--replace-fail '"/sbin/swapoff"' '"${util-linuxMinimal}/bin/swapoff"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -49,7 +49,10 @@ stdenv.mkDerivation rec {
|
||||
description = "Service manager / supervision system, which can (on Linux) also function as a system manager and init";
|
||||
homepage = "https://davmac.org/projects/dinit";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ aanderse ];
|
||||
maintainers = with lib.maintainers; [
|
||||
aanderse
|
||||
lillecarl
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ mkDprintPlugin }:
|
||||
mkDprintPlugin {
|
||||
description = "Markdown code formatter";
|
||||
hash = "sha256-2lpgVMExOjMVRTvX6hGRWuufwh2AIkiXaOzkN8LhZgw=";
|
||||
hash = "sha256-XrTiMkgjHOD8a2N5Ips79+D2SbM36s9Hdk7o/iwGIlc=";
|
||||
initConfig = {
|
||||
configExcludes = [ ];
|
||||
configKey = "markdown";
|
||||
@@ -9,6 +9,6 @@ mkDprintPlugin {
|
||||
};
|
||||
pname = "dprint-plugin-markdown";
|
||||
updateUrl = "https://plugins.dprint.dev/dprint/markdown/latest.json";
|
||||
url = "https://plugins.dprint.dev/markdown-0.19.0.wasm";
|
||||
version = "0.19.0";
|
||||
url = "https://plugins.dprint.dev/markdown-0.20.0.wasm";
|
||||
version = "0.20.0";
|
||||
}
|
||||
|
||||
@@ -13,13 +13,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "etherpad-lite";
|
||||
version = "2.5.0";
|
||||
version = "2.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ether";
|
||||
repo = "etherpad-lite";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-11fNDAR6zmHv1O5nL0GhGJj6eHwDc8zT0Tvrba7qBpw=";
|
||||
hash = "sha256-0Qrmpz9ehblS2Jdw137CJVKYmhkXt8c9B6kDG8OxZPo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-PZD55V/3dvNLx39tD4I00IzURhuyqMX4uObnQfnSBtk=";
|
||||
hash = "sha256-gajm1yXQPZZ/oB27HwgTEoKLzwMKsHDoo2w+mIOnJrc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import ./generic.nix {
|
||||
version = "12.0.4";
|
||||
hash = "sha256-g6PNJYiGR7tUpurVL1gvGzJzDoMCLmkGiLLsSZfkbYQ=";
|
||||
npmDepsHash = "sha256-V8FUoL9y36bagkg8Scttv/IzKg+MIIqp7witvT8bSWA=";
|
||||
vendorHash = "sha256-GE3trnaWuAVSEfi11tZo5JXedWOYOMzcHQ3GFyISVTQ=";
|
||||
version = "13.0.0";
|
||||
hash = "sha256-8NRUJpf25Bai0NtzYf2APmOt3rqpP9mPM13KMjNLl2M=";
|
||||
npmDepsHash = "sha256-7WjcMsKPtKUWJfDrJc65ZXq2tjK8+8DnqwINj+0XyiQ=";
|
||||
vendorHash = "sha256-PHItbU27d9ouykUlhr9owylMpF+3wz2vc8c0UTR1RVU=";
|
||||
lts = false;
|
||||
nixUpdateExtraArgs = [
|
||||
"--override-filename"
|
||||
|
||||
@@ -19,6 +19,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/451580
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=character-conversion";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGo125Module rec {
|
||||
pname = "go-camo";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cactus";
|
||||
repo = "go-camo";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-CuEnJcbLcehmAj+TCx3VbRLWhYhbzYaXfV6qweuoooA=";
|
||||
hash = "sha256-gAlbSUYa3yxEfPzJQHDzM0XJ/ap93qgMnSTg3irtHMw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-3Yl0x02KcYG5+FVuON54NlO+ehvgvywep4Hu9sQ6nN4=";
|
||||
vendorHash = "sha256-Qv5DFa4XDJw4e6sLbTUN59bRxMUCMXrPZJmCF7OhumY=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go-dnscollector";
|
||||
version = "1.11.0";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dmachard";
|
||||
repo = "go-dnscollector";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2NHJs2KdSDw36ePG8s/YSU4wlWG+14NQ6oWJYqMv2Wk=";
|
||||
sha256 = "sha256-LQJxK2MZtFeFm5keNoNSDHXmxS8z9/fsCV02BGsph74=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-N0gaDyOlRvFR1Buj/SKoOjwkVMRxd8Uj7iT/cDBfM9A=";
|
||||
vendorHash = "sha256-nZheY/CbzDR/GB4Nu3xiWXsxrrvu/AKZE0gquBrfXXM=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gost";
|
||||
version = "3.2.4";
|
||||
version = "3.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-gost";
|
||||
repo = "gost";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-zFGoM+fYO/o70LJ2fbzhMv4qbjLozJGmGbudqHjCFRU=";
|
||||
hash = "sha256-voVk4zzNm2UZWQ3c/n0YOwuaE9JcIlEmJ881nTXXyrY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-W3CHttD9iGpl2wG/Pa21YY6ACf5M894p25nLfMX0+F4=";
|
||||
vendorHash = "sha256-73gjw0oW8i7Vp6ZxxqkO42/atdde4J+lu/pCHK/xY+8=";
|
||||
|
||||
# Based on ldflags in upstream's .goreleaser.yaml
|
||||
ldflags = [
|
||||
|
||||
@@ -10,7 +10,27 @@
|
||||
withPostgresAdapter ? true,
|
||||
withBigQueryAdapter ? true,
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
let
|
||||
# Using textual 5.3.0 to avoid error at runtime
|
||||
# https://github.com/tconbeer/harlequin/issues/841
|
||||
python = python3Packages.python.override {
|
||||
self = python3Packages.python;
|
||||
packageOverrides = self: super: {
|
||||
textual = super.textual.overridePythonAttrs (old: rec {
|
||||
version = "5.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Textualize";
|
||||
repo = "textual";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-J7Sb4nv9wOl1JnR6Ky4XS9HZHABKtNKPB3uYfC/UGO4=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
pythonPackages = python.pkgs;
|
||||
in
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
pname = "harlequin";
|
||||
version = "2.1.2";
|
||||
pyproject = true;
|
||||
@@ -28,14 +48,15 @@ python3Packages.buildPythonApplication rec {
|
||||
"textual"
|
||||
"tree-sitter"
|
||||
"tree-sitter-sql"
|
||||
"rich-click"
|
||||
];
|
||||
|
||||
build-system = with python3Packages; [ poetry-core ];
|
||||
build-system = with pythonPackages; [ poetry-core ];
|
||||
|
||||
nativeBuildInputs = [ glibcLocales ];
|
||||
|
||||
dependencies =
|
||||
with python3Packages;
|
||||
with pythonPackages;
|
||||
[
|
||||
click
|
||||
duckdb
|
||||
@@ -67,7 +88,7 @@ python3Packages.buildPythonApplication rec {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
nativeCheckInputs = with pythonPackages; [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
versionCheckHook
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildGo124Module rec {
|
||||
pname = "hubble";
|
||||
version = "1.17.2";
|
||||
version = "1.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cilium";
|
||||
repo = "hubble";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ZkowUftSEGo+UjYM+kk3tQJc8QJgoJATeIKPwu2ikQ4=";
|
||||
hash = "sha256-ZJnfy9s80VJxH6XXPvERupPmMfMJ0SfbeWybJL5QjDw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -48,7 +48,7 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ipxe";
|
||||
version = "1.21.1-unstable-2025-10-09";
|
||||
version = "1.21.1-unstable-2025-10-16";
|
||||
|
||||
nativeBuildInputs = [
|
||||
mtools
|
||||
@@ -66,8 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipxe";
|
||||
repo = "ipxe";
|
||||
rev = "1cc1f1cd4f06e297552b3cf15d43ee23f5fa1ce2";
|
||||
hash = "sha256-h316o/6hg6x9RWt760UXa39hArkjc0AyKS/he6OKhoA=";
|
||||
rev = "c1badf71ca22f94277873ebc6171bfa41a50e378";
|
||||
hash = "sha256-emPO4DRVr/rQZgr+Tnvg3+oijhh9IzG1TH0BWu96oBY=";
|
||||
};
|
||||
|
||||
# Calling syslinux on a FAT image isn't going to work on Aarch64.
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubedock";
|
||||
version = "0.18.2";
|
||||
version = "0.18.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "joyrex2001";
|
||||
repo = "kubedock";
|
||||
rev = version;
|
||||
hash = "sha256-95C14Vo3QbHR/PEIPoLECCq9hhLg0Q7iThvdfaV6/lY=";
|
||||
hash = "sha256-HGaXiYuOVI1lMomT+WnyPUEpShBv8qVbJIOt0j2FK58=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-iTXpODO45oUgpSvKmjLBQWAVDHLrOYN6iBL/58dd1Mg=";
|
||||
vendorHash = "sha256-D3jsBWbeZzIFomUoUNR762OwnmPF9Wg9bxdt1KsP6s8=";
|
||||
|
||||
# config.Build not defined as it would break r-ryantm
|
||||
ldflags = [
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "labwc";
|
||||
version = "0.9.1";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "labwc";
|
||||
repo = "labwc";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-8SKSITFwbagJhuTXVHpPmQoaooktIXc1CeO9ZOUuh1w=";
|
||||
hash = "sha256-aKjebrUqksLoDhHa/maI871jq/2u6YbTaNd6+hJz8uE=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
+3369
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,36 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "librespeed-rust";
|
||||
version = "1.3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "librespeed";
|
||||
repo = "speedtest-rust";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-TINIKZefT4ngnEtlMjxO56PrQxW5gyb1+higiSnkE3Q=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
|
||||
# Remove vendored lockfile once <https://github.com/librespeed/speedtest-rust/pull/29> lands.
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
|
||||
postInstall = ''
|
||||
cp -r assets $out/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Very lightweight speed test implementation in Rust";
|
||||
homepage = "https://github.com/librespeed/speedtest-rust";
|
||||
license = lib.licenses.lgpl3Plus;
|
||||
teams = with lib.teams; [ c3d2 ];
|
||||
mainProgram = "librespeed-rs";
|
||||
};
|
||||
}
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "libresplit";
|
||||
version = "0-unstable-2025-10-02";
|
||||
version = "0-unstable-2025-10-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wins1ey";
|
||||
repo = "LibreSplit";
|
||||
rev = "0cb1b5d3eff0245fda17f734388eee609b9a4416";
|
||||
hash = "sha256-3DK+6pK0jSxy5s80u4lweMyiywknJPEG4rovhOPG4go=";
|
||||
rev = "7628922ba2c6b6a9e6d6d144b55d20479d7ceeb3";
|
||||
hash = "sha256-3UXDHmcW6lxXGno5ijG6OlQ58F1z/J2O8S1y2O+7+p4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -52,6 +52,16 @@ stdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [ "-DSYSTEM_INSTALL=ON" ];
|
||||
|
||||
# CMake 3.0 is deprecated and no longer supported by CMake > 4
|
||||
# https://github.com/NixOS/nixpkgs/issues/445447
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt --replace-fail \
|
||||
"cmake_minimum_required(VERSION 3.0)" \
|
||||
"cmake_minimum_required(VERSION 3.10)" \
|
||||
--replace-fail \
|
||||
"cmake_policy(SET CMP0004 OLD)" ""
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Third person ninja rabbit fighting game";
|
||||
mainProgram = "lugaru";
|
||||
|
||||
@@ -18,21 +18,21 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "matrix-authentication-service";
|
||||
version = "1.3.0";
|
||||
version = "1.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "element-hq";
|
||||
repo = "matrix-authentication-service";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-iwQ+ItcpjShEyRi3RI0IuXXmlfzamGFHrdZpp7wBBis=";
|
||||
hash = "sha256-9mQXWpGy+oFK5cEWeW88CSZQqfpmOAUS1x9KkyEMg+0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FgV2YfU2iqlYwoq3WCaM52fDmgKIQg2gx5q68P3Mhf0=";
|
||||
cargoHash = "sha256-3ODOJY8/hksbMak8SsQP87rOnCd7+1G0wD4m5daPrbk=";
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||
src = "${finalAttrs.src}/${finalAttrs.npmRoot}";
|
||||
hash = "sha256-PGT8UCjsgyARHw2/lbCAMSNQr/5FqbDz0Auf90jjHLk=";
|
||||
hash = "sha256-UgvT81DR4pWlQRfQgmecp+AOUSih4+/v7c1ApIDf3Ts=";
|
||||
};
|
||||
|
||||
npmRoot = "frontend";
|
||||
|
||||
@@ -12,21 +12,19 @@
|
||||
# any issues they run into.
|
||||
withGoolm ? false,
|
||||
}:
|
||||
let
|
||||
version = "0.2.3";
|
||||
in
|
||||
buildGoModule {
|
||||
buildGoModule rec {
|
||||
pname = "mautrix-slack";
|
||||
inherit version;
|
||||
version = "25.10";
|
||||
tag = "v0.2510.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mautrix";
|
||||
repo = "slack";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-gR5D2uCNS+LiP0KXup/iIiOThWohzeBe4CD/oWak1BM=";
|
||||
tag = tag;
|
||||
hash = "sha256-PeSE7WKFSSxZyyG9TJmYeCzHY3bPvkHZ5l+mLzr8tS8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-aukL6RThtWcznz/x25btTTvloYkRZ/vhAQj1hOdI1U4=";
|
||||
vendorHash = "sha256-9MsHRU2EqMTWEMVraJ/6/084X5yx3zzSdxP8zSYFJ1E=";
|
||||
|
||||
buildInputs = lib.optional (!withGoolm) olm;
|
||||
tags = lib.optional withGoolm "goolm";
|
||||
@@ -35,6 +33,13 @@ buildGoModule {
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X"
|
||||
"main.Tag=${tag}"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -34,13 +34,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "megasync";
|
||||
version = "5.15.0.1";
|
||||
version = "5.16.0.2";
|
||||
|
||||
src = fetchFromGitHub rec {
|
||||
owner = "meganz";
|
||||
repo = "MEGAsync";
|
||||
tag = "v${finalAttrs.version}_Linux";
|
||||
hash = "sha256-CqeR1UmwrwUjr8QM2LCkZ4RaEU2bU1fq+QLCN7yfIJk=";
|
||||
hash = "sha256-Bkye2Is3GbdnYYaS//AkNfrt8ppWP9zE58obcmUm0wE=";
|
||||
fetchSubmodules = false; # DesignTokensImporter cannot be fetched, see #1010 in github:meganz/megasync
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
@@ -67,6 +67,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/030-megasync-app-fix-cmake-dependencies-detection.patch?h=megasync&id=ff59780039697591e7e3a966db058b23bee0451c";
|
||||
hash = "sha256-11XWctv1veUEguc9Xvz2hMYw26CaCwu6M4hyA+5r81U=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/040-megasync-app-add-missing-link-to-zlib.patch?h=megasync&id=c1f647871f5aad7e421971165b07e51b3e7900e9";
|
||||
hash = "sha256-HMsS5TlzkQZbfANSIrvH8Cp6mTxLJ04idcWUWeD2A0U=";
|
||||
})
|
||||
./megasync-fix-cmake-install-bindir.patch
|
||||
./dont-fetch-clang-format.patch
|
||||
];
|
||||
|
||||
@@ -18,6 +18,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-5q3yT7amPF+SSvO6/eUU7IiK0k6f3nme9YYBUobSuuo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt --replace-fail \
|
||||
"cmake_minimum_required(VERSION 2.8.4)" \
|
||||
"cmake_minimum_required(VERSION 4.0)"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mtail";
|
||||
version = "3.2.19";
|
||||
version = "3.2.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jaqx0r";
|
||||
repo = "mtail";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rAN5k3XjDTSmdp2E5pa5W+nK4J8l5+sPqSFQRdjebmA=";
|
||||
hash = "sha256-w895q6J0o4a4y3YwGWyu5tpv7ow9RNWEFQVIMDJo43Y=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-SMdEowzg53uori/Ge+GE4542wswBU2kgdyAXxeKQiiU=";
|
||||
vendorHash = "sha256-hVguLf/EkTz7Z8lTT9tCQ8iGO5asSkrsW+u8D1ND+dw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
gotools # goyacc
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "namespace-cli";
|
||||
version = "0.0.441";
|
||||
version = "0.0.442";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "namespacelabs";
|
||||
repo = "foundation";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-qnKt6tXHHPt1uB9JY70atnOLwXgal0YO9n2w60S8lJk=";
|
||||
hash = "sha256-SGibs1Jbq6WWeiDS1SbjX5s+Wy2vpCD74TofB9CbuVE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-p3ciuSL3lJHLbWVsfKiaKZ+gjxCZCOBhXcucxBUVIEs=";
|
||||
vendorHash = "sha256-913vffq86pju2UKW0UkTm8qE7bylR9n0SgacELIRhVY=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/nsc"
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nav";
|
||||
version = "1.4.5";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Jojo4GH/nav/releases/download/v${version}/nav-${stdenv.hostPlatform.parsed.cpu.name}-unknown-linux-gnu.tar.gz";
|
||||
sha256 =
|
||||
{
|
||||
x86_64-linux = "sha256-N0C2rLKMNIgheNTjTStWOYliNuMKPPoxqtLAQSVV14Y=";
|
||||
aarch64-linux = "sha256-kl+CtXXmgF9gU5auFIDCV2BOZFWh05XfE8OtbDBnrs0=";
|
||||
x86_64-linux = "sha256-LQdw8/V1KFNM6TY1rFt/RiZuiRQXM+8HNGkJXDrE/mw=";
|
||||
aarch64-linux = "sha256-SMcdnUxKbJ5GXB358WglIMiPHWsn1uVnjN9UiL3V6dk=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "nu_scripts";
|
||||
version = "0-unstable-2025-10-03";
|
||||
version = "0-unstable-2025-10-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nushell";
|
||||
repo = "nu_scripts";
|
||||
rev = "0fae4807a6216549a5a7973085b3bd4530e86dbc";
|
||||
hash = "sha256-7gQocXY0B7dJjo4R6fPrdPIYU051hrtNp1Y4s1tPUt8=";
|
||||
rev = "0b97c5e1444b13db7c263bee646dea1e1ffe4ddb";
|
||||
hash = "sha256-tKMLaSNniylbo9f0wdUzUZm059RPqyFQlxMtiTPIkWQ=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -22,12 +22,12 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "opencode";
|
||||
version = "0.15.2";
|
||||
version = "0.15.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sst";
|
||||
repo = "opencode";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oH0WVQpq+OOMooV21p2gR/WLDtrf9wdKvOZ5fLtzqPk=";
|
||||
hash = "sha256-Td5kLiBO21nGSb0c7jmp08giOVbfPniNvQrOTclq664=";
|
||||
};
|
||||
|
||||
tui = buildGoModule {
|
||||
@@ -111,10 +111,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
outputHash =
|
||||
{
|
||||
x86_64-linux = "sha256-kXsLJ/Ck9epH9md6goCj3IYpWog/pOkfxJDYAxI14Fg=";
|
||||
aarch64-linux = "sha256-DHzDyk7BWYgBNhYDlK3dLZglUN7bMiB3acdoU7djbxU=";
|
||||
x86_64-darwin = "sha256-OTEK9SV9IxBHrJlf+F4lI7gF0Gtvik3c7d1mp+4a3Zk=";
|
||||
aarch64-darwin = "sha256-qlLfus/cyrI0HtwVLTjPTdL7OeIYjmH9yoNKa6YNBkg=";
|
||||
x86_64-linux = "sha256-4O3zDd+beiNrIjHx+GXVo9zXW3YBNDVAqiONqq/Ury8=";
|
||||
aarch64-linux = "sha256-4JoHpUL8AkT96VlG1vb9gA3SfqPaP3A26Vh6WgzJ6zA=";
|
||||
x86_64-darwin = "sha256-6QSahMpCJz0dOTlj1V8ZBECilY7dXhbEDjLVSjGh/LE=";
|
||||
aarch64-darwin = "sha256-HHW0rr656zrBcdT/owEcLv8ZRF3VUshW4gbfU84bTVI=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system};
|
||||
outputHashAlgo = "sha256";
|
||||
|
||||
@@ -4,8 +4,10 @@
|
||||
fetchFromGitHub,
|
||||
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
gobject-introspection,
|
||||
intltool,
|
||||
pkg-config,
|
||||
wrapGAppsNoGuiHook,
|
||||
|
||||
glib,
|
||||
gtk2,
|
||||
@@ -29,8 +31,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
intltool
|
||||
pkg-config
|
||||
wrapGAppsNoGuiHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -50,6 +54,8 @@ stdenv.mkDerivation rec {
|
||||
))
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
postFixup = ''
|
||||
extractExecLine() {
|
||||
serviceFile=$1
|
||||
@@ -75,6 +81,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
for p in "$out/bin/osdlyrics-create-lyricsource" "$out/bin/osdlyrics-daemon" "$out/libexec/osdlyrics"/*; do
|
||||
wrapProgram "$p" \
|
||||
''${gappsWrapperArgs[@]} \
|
||||
--prefix PYTHONPATH : "$out/${python3.sitePackages}"
|
||||
done
|
||||
'';
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "oterm";
|
||||
version = "0.14.5";
|
||||
version = "0.14.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggozad";
|
||||
repo = "oterm";
|
||||
tag = version;
|
||||
hash = "sha256-g1ko9xpZ5OUK8isp/FE/1Ye9IjO4QpAoTbLTGwnpenY=";
|
||||
hash = "sha256-Awixn456RGMNfyhPN1rEzyptzUW6AEkxBKgIk5c8kIc=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "phrase-cli";
|
||||
version = "2.47.0";
|
||||
version = "2.48.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phrase";
|
||||
repo = "phrase-cli";
|
||||
rev = version;
|
||||
sha256 = "sha256-/TQN8id0oo9xkrJWSkWkUcaMLILZx193qCSSJSbT7WM=";
|
||||
sha256 = "sha256-X6Y7B9LLxoxsMbLlhJTlHWdnJV6ZG4EuV+Dww6mtgAc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NxObJPzWcC+w8v1dlv2esqNX36uGbs2pYH7TqDLy7HE=";
|
||||
vendorHash = "sha256-si1io4DMjhUhpAwb4ctUFLdIblZOBskn9dGwCTy4pAo=";
|
||||
|
||||
ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
openssl,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "portfolio_rs";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MarkusZoppelt";
|
||||
repo = "portfolio_rs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-WCz41eJciYwvljiyg5MESiz4eUXBpot7+j81PPyG+fY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-s+/IaajmdKu49nQ49RdjudgKW9KdAix0Ryj+N+wnuZU=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
# Skip network-dependent tests during build
|
||||
checkFlags = [
|
||||
"--skip=test_get_quote_name"
|
||||
"--skip=test_get_quote_price"
|
||||
"--skip=test_get_historic_price"
|
||||
"--skip=test_handle_position"
|
||||
"--skip=test_get_historic_total_value"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Command line tool for managing financial investment portfolios.";
|
||||
homepage = "https://github.com/MarkusZoppelt/portfolio_rs";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ MarkusZoppelt ];
|
||||
};
|
||||
})
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "postfix-tlspol";
|
||||
version = "1.8.18";
|
||||
version = "1.8.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Zuplu";
|
||||
repo = "postfix-tlspol";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ijFKFvdmA1ZHOc3r89yalVSO/tMy9Rzeu1VTgdZLlxI=";
|
||||
hash = "sha256-DSkWE76GSQKkrXAlnMvjTPAa4I4J07mZL9eea06Dzb8=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pscale";
|
||||
version = "0.258.0";
|
||||
version = "0.259.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "planetscale";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FsDcZcha8jR+jTbZbL/34SDUS/GvyAtuWL2NK0Okofc=";
|
||||
sha256 = "sha256-y5MPABNCP99I001tm9vOrUezjqt7TQ6U7JCowyVsWgI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-bzJydUOC08NLVVwEzJ+ZSC65lI4EKS1gzjTMIN3rukM=";
|
||||
vendorHash = "sha256-oN9IC/RpSZWxelIyebhd6jv0fJ0ZUUv0pOkDFnOhzDM=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "readest";
|
||||
version = "0.9.86";
|
||||
version = "0.9.87";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "readest";
|
||||
repo = "readest";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/H0ZYbVl4d/s4e7jkQUobZTZZPpIiC9H48wfmPqGUWk=";
|
||||
hash = "sha256-icTltmxgquOpWByo+7ZTIvD2WVuf+X6vF1ghmgs1pH0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
Generated
+6
-6
@@ -157,15 +157,15 @@
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.WindowsDesktop.App.Ref",
|
||||
"version": "8.0.20",
|
||||
"hash": "sha256-EDrxjwHRVTirMADYU+po/ANd6LaoehL/9RSiuZEsIB0=",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.windowsdesktop.app.ref/8.0.20/microsoft.windowsdesktop.app.ref.8.0.20.nupkg"
|
||||
"version": "8.0.21",
|
||||
"hash": "sha256-RufsU8Mr81jK6fIbULBgkv0BRVmobXL38L8rBwBjJyg=",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.windowsdesktop.app.ref/8.0.21/microsoft.windowsdesktop.app.ref.8.0.21.nupkg"
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.WindowsDesktop.App.Ref",
|
||||
"version": "9.0.9",
|
||||
"hash": "sha256-TfNgMEesiGD+81AdKtUHLJVMZjM1F94K7aOQgOksQm8=",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.windowsdesktop.app.ref/9.0.9/microsoft.windowsdesktop.app.ref.9.0.9.nupkg"
|
||||
"version": "9.0.10",
|
||||
"hash": "sha256-xY6W4jzMoxlhKBmcd1507wluBpL+1aPmVJGXcSxM0FY=",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.windowsdesktop.app.ref/9.0.10/microsoft.windowsdesktop.app.ref.9.0.10.nupkg"
|
||||
},
|
||||
{
|
||||
"pname": "NETStandard.Library",
|
||||
|
||||
@@ -33,6 +33,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
doCheck = true;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./CMakeLists.txt --replace-fail \
|
||||
"cmake_minimum_required(VERSION 2.6)" \
|
||||
"cmake_minimum_required(VERSION 2.6...3.10)"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Decode traffic from devices that broadcast on 433.9 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz";
|
||||
homepage = "https://github.com/merbanan/rtl_433";
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "semantic-release";
|
||||
version = "24.2.9";
|
||||
version = "25.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "semantic-release";
|
||||
repo = "semantic-release";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-6dR1wUkoUTRtyQliJFUYLC4eNW2ppIOqeUsL7rLCZiA=";
|
||||
hash = "sha256-B+j84GeRw9YFMx8kTXPqqs57ClgZtziAh/BXh47WfVc=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-Frhb7bsY0z160EAKOWB5VCsrBMcrjKPE5OYtgX1Cmhs=";
|
||||
npmDepsHash = "sha256-0eHK2FiRRzfvCrGag0/KDq/3nWZbwnM1FEhtKu4mrHE=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "setup-envtest";
|
||||
version = "0.19.0";
|
||||
version = "0.22.3";
|
||||
|
||||
src =
|
||||
fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "controller-runtime";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9AqZMiA+OIJD+inmeUc/lq57kV7L85jk1I4ywiSKirg=";
|
||||
hash = "sha256-Al1MILraagj5b2AatweT3uGv/xpFYgLN/vEXCE/w630=";
|
||||
}
|
||||
+ "/tools/setup-envtest";
|
||||
|
||||
vendorHash = "sha256-sn3HiKTpQzjrFTOVOGFJwoNpxU+XWgkWD2EOcPilePY=";
|
||||
vendorHash = "sha256-1WxRIvzVUg+6XUWTAs6SVR12vGihUFkuwH1jH10Oa50=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "sqldef";
|
||||
version = "3.1.15";
|
||||
version = "3.1.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sqldef";
|
||||
repo = "sqldef";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WwoMneXE4ZTv/Gbzq6+XuOkJ67fSeIwweMkahB1jIdU=";
|
||||
hash = "sha256-Ll0yZ441WeBfCGOmsplN4907q3XQ7hVecwbu6YTC46I=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
vendorHash = "sha256-u471eJFxVcXiwuAFRD65yJnDoR3D40PLHXeoMcENdLY=";
|
||||
vendorHash = "sha256-nLKldyh2p3MA7Ka3YzrafLbxKxdxKQVnMQVhTpNVdXI=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -6,20 +6,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "sunsetr";
|
||||
version = "0.9.0";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "psi4j";
|
||||
repo = "sunsetr";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DbTEHJjYcxzr+ELlN4qgcQpZS/r5P2rcPPnPT8Qkbok=";
|
||||
hash = "sha256-ds5z/Um7NaewS4f5n2xVpr+EFile6Nz6P6sVW+XcnRo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-jRDa7wSJLXP+jv0lbCiVzgAhdh9eJfq314Gpw0npRos=";
|
||||
|
||||
checkFlags = [
|
||||
"--skip=config::tests::test_geo_toml_exists_before_config_creation"
|
||||
];
|
||||
cargoHash = "sha256-fbSN52WOIxxISaP90UQ6YGSqPqFqEcUSH88xDkvLGlM=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
+811
-333
File diff suppressed because it is too large
Load Diff
@@ -56,13 +56,13 @@ let
|
||||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "sunshine";
|
||||
version = "2025.628.4510";
|
||||
version = "2025.924.154138";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LizardByte";
|
||||
repo = "Sunshine";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-xNWFo6a4YrJ+tBFTSReoAEi1oZ4DSguBEusizWeWKYY=";
|
||||
hash = "sha256-QrPfZqd9pgufohUjxlTpO6V0v7B41UrXHZaESsFjZ48=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@@ -70,7 +70,7 @@ stdenv'.mkDerivation (finalAttrs: {
|
||||
ui = buildNpmPackage {
|
||||
inherit (finalAttrs) src version;
|
||||
pname = "sunshine-ui";
|
||||
npmDepsHash = "sha256-kUixeLf8prsWQolg1v+vJ5rvwKZOsU+88+0hVOgTZ0A=";
|
||||
npmDepsHash = "sha256-miRw5JGZ8L+CKnoZkCuVW+ptzFV3Dg21zuS9lqNeHro=";
|
||||
|
||||
# use generated package-lock.json as upstream does not provide one
|
||||
postPatch = ''
|
||||
@@ -187,6 +187,7 @@ stdenv'.mkDerivation (finalAttrs: {
|
||||
(lib.cmakeBool "SYSTEMD_FOUND" true)
|
||||
(lib.cmakeFeature "UDEV_RULES_INSTALL_DIR" "lib/udev/rules.d")
|
||||
(lib.cmakeFeature "SYSTEMD_USER_UNIT_INSTALL_DIR" "lib/systemd/user")
|
||||
(lib.cmakeFeature "SYSTEMD_MODULES_LOAD_DIR" "lib/modules-load.d")
|
||||
(lib.cmakeBool "BOOST_USE_STATIC" false)
|
||||
(lib.cmakeBool "BUILD_DOCS" false)
|
||||
(lib.cmakeFeature "SUNSHINE_PUBLISHER_NAME" "nixpkgs")
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "syrics";
|
||||
version = "0.1.2.4";
|
||||
version = "0.1.2.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "akashrchandran";
|
||||
repo = "syrics";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-udW6i3nRWECXpQGGGK2U8QVRJVrsHeqjDK8QCMH5I8s=";
|
||||
hash = "sha256-VV/IZg30GatCGRoKnSro83ZtitnHg4+UEnXajVR7o/A=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "talhelper";
|
||||
version = "3.0.37";
|
||||
version = "3.0.38";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "budimanjojo";
|
||||
repo = "talhelper";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GWm2ZTBq+g9mF7KktI+A6Sec8iHzfTtGt59PZjPW2B0=";
|
||||
hash = "sha256-KYIRpr90iPyLxeQZhqQCwRX6P4fYoqi7luneRXTkzGc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vqec4Hd+jLKDuiwdfweWonitX3g5Hot0COpU5GKrpbE=";
|
||||
vendorHash = "sha256-DRjgZlxoYKUcrjh8xEHjz8WTwMrUEHbp8/Jjgpkrc+Y=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -62,7 +62,7 @@ let
|
||||
stdenv.cc.cc
|
||||
stdenv.cc.libc
|
||||
];
|
||||
version = "1.0.47";
|
||||
version = "1.0.48";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "tana";
|
||||
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/tanainc/tana-desktop-releases/releases/download/v${version}/tana_${version}_amd64.deb";
|
||||
hash = "sha256-Si02dSMH7hnUNz3kxJavhfZLO46RAcanRvl8F/DrLY0=";
|
||||
hash = "sha256-IQ7KRqPvLiUzNU279IirHq21Q9DeFfkQ+B3i9rTgYR0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -31,13 +31,13 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "telepresence2";
|
||||
version = "2.24.1";
|
||||
version = "2.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "telepresenceio";
|
||||
repo = "telepresence";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-f9KlDKLRLmYAGMWdlKb4PbGZ+hn8J55EAmQ19oJ5+q4=";
|
||||
hash = "sha256-ke3Si55CVc3JJgzwcCXmeGiT1GQKF+8ocrNfiLtRRcA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@@ -51,7 +51,7 @@ buildGoModule rec {
|
||||
export CGO_ENABLED=0
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-I2FyoOKSU1h6a2LwmAdFKGIcqVGbtxujjarqdSX7HFI=";
|
||||
vendorHash = "sha256-R+7tw2nX2rM46ETOgcQuwMCRLU23ejtNOGA3Bt/+Guw=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -9,19 +9,19 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "tombi";
|
||||
version = "0.6.25";
|
||||
version = "0.6.33";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tombi-toml";
|
||||
repo = "tombi";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-J7H7m6Z6CpzvZuX2PF2DAvw4UT6GIs1qGWZ5xJmQUO8=";
|
||||
hash = "sha256-K8r+AmIOD0WjC7U4x0Xr6KUiGMykk9lHQs38MIKa4MQ=";
|
||||
};
|
||||
|
||||
# Tests relies on the presence of network
|
||||
doCheck = false;
|
||||
cargoBuildFlags = [ "--package tombi-cli" ];
|
||||
cargoHash = "sha256-BN9jduAGLPkfnphCqjXZ7Tgcwnh2bA/zghkmR2kwDe4=";
|
||||
cargoHash = "sha256-dz9AtZTCKSQuk9LpNVSxx/yLIujzG5U4vE/OdapCqvM=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Cargo.toml \
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tparted";
|
||||
version = "2025-01-24";
|
||||
version = "2025-10-10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Kagamma/tparted/releases/download/${finalAttrs.version}/linux_x86-64_tparted_${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-7V3bdsP4uqZ5zyw3j/s8fhMYFCyQ1Rz5Z1JiPFc1oFY=";
|
||||
hash = "sha256-eLeo+6AGUghrU5szkUFNcieQPA3D/D5pjZV4ZrINiGY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "trdl-client";
|
||||
version = "0.12.0";
|
||||
version = "0.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "trdl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-CVJdnGrQRaenQ8/1EzUr6BNc0DtfAL1fLVfqJzy5A3Q=";
|
||||
hash = "sha256-Wu4PRFJDT6SvWPHOaOmBBVX1wvkDrjigxah5ZCq8NsY=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/client";
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ty";
|
||||
version = "0.0.1-alpha.22";
|
||||
version = "0.0.1-alpha.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astral-sh";
|
||||
repo = "ty";
|
||||
tag = finalAttrs.version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-jNjYorSybR33wDFUbmTz0BroVbR1wNjNXn5XsNRIqMg=";
|
||||
hash = "sha256-gkHKccY2EfcdPI44A3u3c0JwAxSKtno6/kI/+a0e+FY=";
|
||||
};
|
||||
|
||||
# For Darwin platforms, remove the integration test for file notifications,
|
||||
@@ -35,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
cargoBuildFlags = [ "--package=ty" ];
|
||||
|
||||
cargoHash = "sha256-71pu0cC0CzOv3tJk7+eirUUUr/OertdIgWCatScXTqQ=";
|
||||
cargoHash = "sha256-ZHapUIdpplKWNGi20QeBEQKgHCiR5laNUBzEDyxSEfI=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,16 +6,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "tzf-rs";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ringsaturn";
|
||||
repo = "tzf-rs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-cYi8FsB1aR0h1HxqkdFlLwCLzRwVM9Ak1LtjHezCSe0=";
|
||||
hash = "sha256-aYsrwfmM9g9zUpcHpNMEI7HpR0oMkcuSAFnmEGtdwq4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9bUQpEP+vc3xwWCicHpl+56OYz3huirSOA4yw1iaxaY=";
|
||||
cargoHash = "sha256-VGfxnl4rnDvyr4GjdtTDC6yaQVLqG/2eBw21BkR2AZ8=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ stdenv.mkDerivation {
|
||||
description = "Yet another Lisp variant which compiles to Lua";
|
||||
mainProgram = "urn";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ CrazedProgrammer ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "usacloud";
|
||||
version = "1.16.2";
|
||||
version = "1.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sacloud";
|
||||
repo = "usacloud";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-AZX3vOlKnSJlquZcDhWnVViji2+B41ApLxCDBU277+U=";
|
||||
hash = "sha256-zYp5CRRjH4YjB6g9NZgC83F0xiz3Ntrpyql9d2/6K6U=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-pCmu/mhh0k3J9fhuWbGS7AzLfCqVO0MytfoYQJ2EwqE=";
|
||||
vendorHash = "sha256-AxdazqJ1t1+azKJu1/scRmMxTqdILgWADbomlUKq2TE=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wayclip";
|
||||
version = "0.4.2";
|
||||
version = "0.5";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "~noocsharp";
|
||||
repo = "wayclip";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-/xii/FF8JPv6KbMMxzww9AYqYJrpKYowsxQ5Bz7m+/M=";
|
||||
hash = "sha256-Uej5ggtlPeDid1yKSfZt5FlCen1GLea6EWa4lL+BPRM=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
bash,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
pkg-config,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
@@ -25,17 +27,21 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wayland-scanner
|
||||
];
|
||||
buildInputs = [
|
||||
bash
|
||||
wayland
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
# Build phases
|
||||
# Ensure that the Makefile has the correct directory with the Wayland protocols
|
||||
preBuild = ''
|
||||
export WAYLAND_PROTOCOLS_DIR="${wayland-protocols}/share/wayland-protocols"
|
||||
makeFlags = [
|
||||
"WAYLAND_PROTOCOLS_DIR=${wayland-protocols}/share/wayland-protocols"
|
||||
"release"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace-fail 'CC = gcc' 'CC ?= gcc'
|
||||
'';
|
||||
|
||||
makeFlags = [ "release" ];
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -49,7 +55,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
# Package information
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
$out/bin/bongocat-find-devices --help
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Delightful Wayland overlay that displays an animated bongo cat reacting to keyboard input";
|
||||
homepage = "https://github.com/saatvik333/wayland-bongocat";
|
||||
|
||||
@@ -3,24 +3,24 @@
|
||||
stdenv,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
|
||||
buildPackages,
|
||||
installShellFiles,
|
||||
|
||||
# testing
|
||||
testers,
|
||||
witness,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "witness";
|
||||
version = "0.9.2";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "in-toto";
|
||||
repo = "witness";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0Q+6nG5N3Xp5asmRMPZccLxw6dWiZVX6fuIUf1rT+mI=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-MKiPIZFeCWOT4zTbG7SjwdNUHFuqsL4pGu4VvVwyn3s=";
|
||||
};
|
||||
vendorHash = "sha256-oH/aWt8Hl/BIN+IYLcuVYWDpQZaYABAOGxXyLssjQg0=";
|
||||
vendorHash = "sha256-V3SuhBbhXyA0SFOGfBrV/qH+cROr2obHOBcivkgRO6U=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -30,7 +30,7 @@ buildGoModule rec {
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/in-toto/witness/cmd.Version=v${version}"
|
||||
"-X github.com/in-toto/witness/cmd.Version=${finalAttrs.src.tag}"
|
||||
];
|
||||
|
||||
# Feed in all tests for testing
|
||||
@@ -38,20 +38,30 @@ buildGoModule rec {
|
||||
# want but also limits the tests
|
||||
preCheck = ''
|
||||
unset subPackages
|
||||
# tests expect no version set
|
||||
unset ldflags
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd witness \
|
||||
--bash <($out/bin/witness completion bash) \
|
||||
--fish <($out/bin/witness completion fish) \
|
||||
--zsh <($out/bin/witness completion zsh)
|
||||
'';
|
||||
postInstall =
|
||||
let
|
||||
exe =
|
||||
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
|
||||
"$out/bin/witness"
|
||||
else
|
||||
lib.getExe buildPackages.witness;
|
||||
in
|
||||
''
|
||||
installShellCompletion --cmd witness \
|
||||
--bash <(${exe} completion bash) \
|
||||
--fish <(${exe} completion fish) \
|
||||
--zsh <(${exe} completion zsh)
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = witness;
|
||||
command = "witness version";
|
||||
version = "v${version}";
|
||||
};
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgramArg = "version";
|
||||
|
||||
meta = {
|
||||
description = "Pluggable framework for software supply chain security. Witness prevents tampering of build materials and verifies the integrity of the build process from source to target";
|
||||
@@ -66,11 +76,11 @@ buildGoModule rec {
|
||||
'';
|
||||
mainProgram = "witness";
|
||||
homepage = "https://github.com/testifysec/witness";
|
||||
changelog = "https://github.com/testifysec/witness/releases/tag/v${version}";
|
||||
changelog = "https://github.com/testifysec/witness/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
fkautz
|
||||
jk
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "ytdl-sub";
|
||||
version = "2025.09.27.post4";
|
||||
version = "2025.10.16";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jmbannon";
|
||||
repo = "ytdl-sub";
|
||||
tag = version;
|
||||
hash = "sha256-b+7K5qpIo1Yfeg18bYMCYVvHgr/7NKiZoelFdtq+KZo=";
|
||||
hash = "sha256-6DxIeNoOqz9hH1EnjfwU6adOVcSRlTrtVEq9znCGoyY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 22427fb..75a924a 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -12162,43 +12162,6 @@ dependencies = [
|
||||
"winreg 0.50.0",
|
||||
]
|
||||
|
||||
-[[package]]
|
||||
-name = "reqwest"
|
||||
-version = "0.12.15"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
|
||||
-dependencies = [
|
||||
- "base64 0.22.1",
|
||||
- "bytes 1.10.1",
|
||||
- "futures-channel",
|
||||
- "futures-core",
|
||||
- "futures-util",
|
||||
- "http 1.3.1",
|
||||
- "http-body 1.0.1",
|
||||
- "http-body-util",
|
||||
- "hyper 1.6.0",
|
||||
- "hyper-util",
|
||||
- "ipnet",
|
||||
- "js-sys",
|
||||
- "log",
|
||||
- "mime",
|
||||
- "once_cell",
|
||||
- "percent-encoding",
|
||||
- "pin-project-lite",
|
||||
- "serde",
|
||||
- "serde_json",
|
||||
- "serde_urlencoded",
|
||||
- "sync_wrapper 1.0.2",
|
||||
- "tokio",
|
||||
- "tower 0.5.2",
|
||||
- "tower-service",
|
||||
- "url",
|
||||
- "wasm-bindgen",
|
||||
- "wasm-bindgen-futures",
|
||||
- "web-sys",
|
||||
- "windows-registry 0.4.0",
|
||||
-]
|
||||
-
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.12.15"
|
||||
@@ -101,7 +101,7 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "zed-editor";
|
||||
version = "0.207.4";
|
||||
version = "0.208.4";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -114,23 +114,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "zed-industries";
|
||||
repo = "zed";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-IKACHMKHIyq8UuqWlA6U/cdCi+wrevZwl2CINSWmmRc=";
|
||||
hash = "sha256-t8HSmvTaMtpJH0y21zpqP8vkG1rhYn/uXVccNaj9dcc=";
|
||||
};
|
||||
|
||||
cargoPatches = [
|
||||
./0001-fix-duplicate-reqwest.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Dynamically link WebRTC instead of static
|
||||
substituteInPlace $cargoDepsCopy/webrtc-sys-*/build.rs \
|
||||
--replace-fail "cargo:rustc-link-lib=static=webrtc" "cargo:rustc-link-lib=dylib=webrtc"
|
||||
|
||||
# Zed team renamed the function but forgot to update its usage in this file
|
||||
# We rename it ourselves for now, until upstream fixes the issue
|
||||
substituteInPlace $cargoDepsCopy/reqwest-0.12*/src/blocking/client.rs \
|
||||
--replace-fail "inner.redirect(policy)" "inner.redirect_policy(policy)"
|
||||
|
||||
# The generate-licenses script wants a specific version of cargo-about eventhough
|
||||
# newer versions work just as well.
|
||||
substituteInPlace script/generate-licenses \
|
||||
@@ -143,7 +134,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
rm -r $out/git/*/candle-book/
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-jv8ytsttXFG5VlFWI885zLJsZn8rFkiFdPhUvNKOwpY=";
|
||||
cargoHash = "sha256-0Ezuyvj0xSKFJtHB1kgUvyojcMV1RISOtutmlvWIZVM=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
||||
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
|
||||
mainProgram = "zenstates";
|
||||
homepage = "https://github.com/r4m0n/ZenStates-Linux";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ savannidgerinel ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
+24
-24
@@ -1,50 +1,50 @@
|
||||
[
|
||||
{
|
||||
"pname": "runtime.linux-arm64.Microsoft.NETCore.ILAsm",
|
||||
"sha256": "f4222e017b34fd1aab9c18f83a800c6ad506aa9de9c2dbc01ff0d08ee77c64d1",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/10.0.0-rc.1.25420.111/runtime.linux-arm64.microsoft.netcore.ilasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"sha256": "8ed127320ebfd4933ebc498add9695994dc37d5b09b951fdeb5d0fbc730b72db",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ilasm/10.0.0-rc.1.25451.107/runtime.linux-arm64.microsoft.netcore.ilasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
},
|
||||
{
|
||||
"pname": "runtime.linux-arm64.Microsoft.NETCore.ILDAsm",
|
||||
"sha256": "3020dae646564df57f13443c749afdbe02fe696ea6f795657d431e5f134dec5d",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/10.0.0-rc.1.25420.111/runtime.linux-arm64.microsoft.netcore.ildasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"sha256": "7c54a1cd8fc4c790f17a6775c7d7c23c9ed0b5246c68f1b80bd8b090c5a87612",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-arm64.microsoft.netcore.ildasm/10.0.0-rc.1.25451.107/runtime.linux-arm64.microsoft.netcore.ildasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
},
|
||||
{
|
||||
"hash": "sha256-6CKoHQ6npL+zAKjx3hgAKAQnMvHC2jircy5A5i41SNA=",
|
||||
"hash": "sha256-rLL0sHtjWK8mnwS3jGirWovPc0ZEysw0Ue/BoZ1pwzM=",
|
||||
"pname": "runtime.linux-x64.Microsoft.NETCore.ILAsm",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/10.0.0-rc.1.25420.111/runtime.linux-x64.microsoft.netcore.ilasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ilasm/10.0.0-rc.1.25451.107/runtime.linux-x64.microsoft.netcore.ilasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
},
|
||||
{
|
||||
"hash": "sha256-VNhtqxkzIYd6KHZK86ZagD4P6HCYzgIGERPjhZgDq1U=",
|
||||
"hash": "sha256-rREnUxSbCyNsKicVK1OaeLwLYzE3TtKLk9qVvQj8/5o=",
|
||||
"pname": "runtime.linux-x64.Microsoft.NETCore.ILDAsm",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/10.0.0-rc.1.25420.111/runtime.linux-x64.microsoft.netcore.ildasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.linux-x64.microsoft.netcore.ildasm/10.0.0-rc.1.25451.107/runtime.linux-x64.microsoft.netcore.ildasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
},
|
||||
{
|
||||
"pname": "runtime.osx-arm64.Microsoft.NETCore.ILAsm",
|
||||
"sha256": "609cd171ad2358ec195d19b9d466a954e8b7ec20b1af6143741aa03840d535b6",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/10.0.0-rc.1.25420.111/runtime.osx-arm64.microsoft.netcore.ilasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"sha256": "17b13efa4cc6f2b85e770e4601e442713d73fb1c852b22496691f8ac56e33c88",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ilasm/10.0.0-rc.1.25451.107/runtime.osx-arm64.microsoft.netcore.ilasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
},
|
||||
{
|
||||
"pname": "runtime.osx-arm64.Microsoft.NETCore.ILDAsm",
|
||||
"sha256": "7fd9df0ebb210b51a3586afcaf1eea269c7d4d9fb9cffd5931cfacf28c298095",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/10.0.0-rc.1.25420.111/runtime.osx-arm64.microsoft.netcore.ildasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"sha256": "fd30817d3c9fb89bc6309bc0d3841f9f8678ec560f0a9b39976f7865b2b8fab1",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-arm64.microsoft.netcore.ildasm/10.0.0-rc.1.25451.107/runtime.osx-arm64.microsoft.netcore.ildasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
},
|
||||
{
|
||||
"pname": "runtime.osx-x64.Microsoft.NETCore.ILAsm",
|
||||
"sha256": "6107d07f2e0754efe41ef87de31219e7468e7fd305c2c9f2925cb607e7b3c6d0",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/10.0.0-rc.1.25420.111/runtime.osx-x64.microsoft.netcore.ilasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"sha256": "f03f3eb320016cb6721049aee14141959037219b3b8d995838b5bbf90250d8f3",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ilasm/10.0.0-rc.1.25451.107/runtime.osx-x64.microsoft.netcore.ilasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
},
|
||||
{
|
||||
"pname": "runtime.osx-x64.Microsoft.NETCore.ILDAsm",
|
||||
"sha256": "acb299873fdfea3672631696b78fc40f23347783b43b8464eff262a8598f9bb3",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/299b99f1-f3f1-4630-81e2-4fb223c52e70/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/10.0.0-rc.1.25420.111/runtime.osx-x64.microsoft.netcore.ildasm.10.0.0-rc.1.25420.111.nupkg",
|
||||
"version": "10.0.0-rc.1.25420.111"
|
||||
"sha256": "9ae291866d11f3fc2664094de79f7c3506fce33efca1c40414ff1b10c2d28214",
|
||||
"url": "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.osx-x64.microsoft.netcore.ildasm/10.0.0-rc.1.25451.107/runtime.osx-x64.microsoft.netcore.ildasm.10.0.0-rc.1.25451.107.nupkg",
|
||||
"version": "10.0.0-rc.1.25451.107"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"tarballHash": "sha256-irvbvBrENVa+7C0Vm7bQMcUoirwxwha4BoOiLhD7F4Y=",
|
||||
"artifactsUrl": "https://builds.dotnet.microsoft.com/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.10.0.100-rc.1.25420.111.centos.10-x64.tar.gz",
|
||||
"artifactsHash": "sha256-vXoVORa2ZB7HQ3gUy1L9xZaqBDO/fbTcMt0HlqmcWGA="
|
||||
"tarballHash": "sha256-OMandJDISBC8MEX0uWp7ibZfebKRzd+KiMzU1YOCV+k=",
|
||||
"artifactsUrl": "https://builds.dotnet.microsoft.com/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.10.0.100-rc.1.25451.107.centos.10-x64.tar.gz",
|
||||
"artifactsHash": "sha256-Nf6wSkQ2klRxZpH7ioWeIhx44Y+51Bh/YTSx1bqCUS8="
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"release": "10.0.0-rc.1",
|
||||
"release": "10.0.0-rc.2",
|
||||
"channel": "10.0",
|
||||
"tag": "v10.0.100-rc.1.25451.107",
|
||||
"sdkVersion": "10.0.100-rc.1.25451.107",
|
||||
"runtimeVersion": "10.0.0-rc.1.25451.107",
|
||||
"aspNetCoreVersion": "10.0.0-rc.1.25451.107",
|
||||
"tag": "v10.0.100-rc.2.25502.107",
|
||||
"sdkVersion": "10.0.100-rc.2.25502.107",
|
||||
"runtimeVersion": "10.0.0-rc.2.25502.107",
|
||||
"aspNetCoreVersion": "10.0.0-rc.2.25502.107",
|
||||
"sourceRepository": "https://github.com/dotnet/dotnet",
|
||||
"sourceVersion": "2db1f5ee2bdda2e8d873769325fabede32e420e0",
|
||||
"officialBuildId": "20250901.7"
|
||||
"sourceVersion": "89c8f6a112d37d2ea8b77821e56d170a1bccdc5a",
|
||||
"officialBuildId": "20251002.7"
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user