Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-02-18 18:04:37 +00:00
committed by GitHub
63 changed files with 3800 additions and 3148 deletions
+1 -1
View File
@@ -90,7 +90,7 @@ indent_style = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
[pkgs/development/compilers/elm/registry.dat]
[registry.dat]
end_of_line = unset
insert_final_newline = unset
+13
View File
@@ -2375,6 +2375,12 @@
githubId = 97070581;
name = "averagebit";
};
averdow = {
email = "aaron@verdow.com";
github = "AaronVerDow";
githubId = 2530548;
name = "Aaron VerDow";
};
averelld = {
email = "averell+nixos@rxd4.com";
github = "averelld";
@@ -10823,6 +10829,13 @@
githubId = 42114389;
name = "Jerry Starke";
};
jervw = {
email = "jervw@pm.me";
github = "jervw";
githubId = 53620688;
name = "Jere Vuola";
keys = [ { fingerprint = "56C2 5B5B 2075 6352 B4B0 E17E F188 3717 47DA 5895"; } ];
};
jeschli = {
email = "jeschli@gmail.com";
github = "0mbi";
+1
View File
@@ -1608,6 +1608,7 @@
./services/web-servers/darkhttpd.nix
./services/web-servers/fcgiwrap.nix
./services/web-servers/garage.nix
./services/web-servers/h2o/default.nix
./services/web-servers/hitch/default.nix
./services/web-servers/jboss/default.nix
./services/web-servers/keter
+10 -6
View File
@@ -855,12 +855,16 @@ in
User = "kanidm";
Group = "kanidm";
BindPaths = [
# To create the socket
"/run/kanidmd:/run/kanidmd"
# To store backups
cfg.serverSettings.online_backup.path
];
BindPaths =
[
# To create the socket
"/run/kanidmd:/run/kanidmd"
# To store backups
cfg.serverSettings.online_backup.path
]
++ optional (
cfg.enablePam && cfg.unixSettings ? home_mount_prefix
) cfg.unixSettings.home_mount_prefix;
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+45 -42
View File
@@ -5,9 +5,17 @@
...
}:
with lib;
let
inherit (lib)
mkEnableOption
mkPackageOption
mkOption
mkDefault
mkIf
types
literalExpression
;
cfg = config.services.mobilizon;
user = "mobilizon";
@@ -20,34 +28,29 @@ let
# Make a package containing launchers with the correct envirenment, instead of
# setting it with systemd services, so that the user can also use them without
# troubles
launchers = pkgs.stdenv.mkDerivation rec {
pname = "${cfg.package.pname}-launchers";
inherit (cfg.package) version;
launchers =
pkgs.runCommand "${cfg.package.pname}-launchers-${cfg.package.version}"
{
src = cfg.package;
nativeBuildInputs = with pkgs; [ makeWrapper ];
}
''
mkdir -p $out/bin
src = cfg.package;
makeWrapper \
$src/bin/mobilizon \
$out/bin/mobilizon \
--run '. ${secretEnvFile}' \
--set MOBILIZON_CONFIG_PATH "${configFile}" \
--set-default RELEASE_TMP "/tmp"
nativeBuildInputs = with pkgs; [ makeWrapper ];
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
makeWrapper \
$src/bin/mobilizon \
$out/bin/mobilizon \
--run '. ${secretEnvFile}' \
--set MOBILIZON_CONFIG_PATH "${configFile}" \
--set-default RELEASE_TMP "/tmp"
makeWrapper \
$src/bin/mobilizon_ctl \
$out/bin/mobilizon_ctl \
--run '. ${secretEnvFile}' \
--set MOBILIZON_CONFIG_PATH "${configFile}" \
--set-default RELEASE_TMP "/tmp"
'';
};
makeWrapper \
$src/bin/mobilizon_ctl \
$out/bin/mobilizon_ctl \
--run '. ${secretEnvFile}' \
--set MOBILIZON_CONFIG_PATH "${configFile}" \
--set-default RELEASE_TMP "/tmp"
'';
repoSettings = cfg.settings.":mobilizon"."Mobilizon.Storage.Repo";
instanceSettings = cfg.settings.":mobilizon".":instance";
@@ -424,32 +427,32 @@ in
virtualHosts."${hostname}" = {
enableACME = lib.mkDefault true;
forceSSL = lib.mkDefault true;
extraConfig = ''
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
'';
locations."/" = {
inherit proxyPass;
proxyWebsockets = true;
recommendedProxySettings = lib.mkDefault true;
extraConfig = ''
expires off;
add_header Cache-Control "public, max-age=0, s-maxage=0, must-revalidate" always;
'';
};
locations."~ ^/(js|css|img)" = {
locations."~ ^/(assets|img)" = {
root = "${cfg.package}/lib/mobilizon-${cfg.package.version}/priv/static";
extraConfig = ''
etag off;
access_log off;
add_header Cache-Control "public, max-age=31536000, immutable";
add_header Cache-Control "public, max-age=31536000, s-maxage=31536000, immutable";
'';
};
locations."~ ^/(media|proxy)" = {
inherit proxyPass;
recommendedProxySettings = lib.mkDefault true;
# Combination of HTTP/1.1 and disabled request buffering is
# needed to directly forward chunked responses
extraConfig = ''
etag off;
proxy_http_version 1.1;
proxy_request_buffering off;
access_log off;
add_header Cache-Control "public, max-age=31536000, immutable";
add_header Cache-Control "public, max-age=31536000, s-maxage=31536000, immutable";
'';
};
};
@@ -0,0 +1,263 @@
{
config,
lib,
pkgs,
...
}:
# TODO: ACME
# TODO: Gems includes for Mruby
# TODO: Recommended options
let
cfg = config.services.h2o;
inherit (lib)
literalExpression
mkDefault
mkEnableOption
mkIf
mkOption
types
;
settingsFormat = pkgs.formats.yaml { };
hostsConfig = lib.concatMapAttrs (
name: value:
let
port = {
HTTP = lib.attrByPath [ "http" "port" ] cfg.defaultHTTPListenPort value;
TLS = lib.attrByPath [ "tls" "port" ] cfg.defaultTLSListenPort value;
};
serverName = if value.serverName != null then value.serverName else name;
in
# HTTP settings
lib.optionalAttrs (value.tls == null || value.tls.policy == "add") {
"${serverName}:${builtins.toString port.HTTP}" = value.settings // {
listen.port = port.HTTP;
};
}
# Redirect settings
// lib.optionalAttrs (value.tls != null && value.tls.policy == "force") {
"${serverName}:${builtins.toString port.HTTP}" = {
listen.port = port.HTTP;
paths."/" = {
redirect = {
status = value.tls.redirectCode;
url = "https://${serverName}:${builtins.toString port.TLS}";
};
};
};
}
# TLS settings
//
lib.optionalAttrs
(
value.tls != null
&& builtins.elem value.tls.policy [
"add"
"only"
"force"
]
)
{
"${serverName}:${builtins.toString port.TLS}" = value.settings // {
listen =
let
identity = value.tls.identity;
in
{
port = port.TLS;
ssl = value.tls.extraSettings or { } // {
inherit identity;
};
};
};
}
) cfg.hosts;
h2oConfig = settingsFormat.generate "h2o.yaml" (
lib.recursiveUpdate { hosts = hostsConfig; } cfg.settings
);
in
{
options = {
services.h2o = {
enable = mkEnableOption "H2O web server";
user = mkOption {
type = types.nonEmptyStr;
default = "h2o";
description = "User running H2O service";
};
group = mkOption {
type = types.nonEmptyStr;
default = "h2o";
description = "Group running H2O services";
};
package = lib.mkPackageOption pkgs "h2o" {
example = ''
pkgs.h2o.override {
withMruby = true;
};
'';
};
defaultHTTPListenPort = mkOption {
type = types.port;
default = 80;
description = ''
If hosts do not specify listen.port, use these ports for HTTP by default.
'';
example = 8080;
};
defaultTLSListenPort = mkOption {
type = types.port;
default = 443;
description = ''
If hosts do not specify listen.port, use these ports for SSL by default.
'';
example = 8443;
};
mode = mkOption {
type =
with types;
nullOr (enum [
"daemon"
"master"
"worker"
"test"
]);
default = "master";
description = "Operating mode of H2O";
};
settings = mkOption {
type = settingsFormat.type;
description = "Configuration for H2O (see <https://h2o.examp1e.net/configure.html>)";
};
hosts = mkOption {
type = types.attrsOf (
types.submodule (
import ./vhost-options.nix {
inherit config lib;
}
)
);
default = { };
description = ''
The `hosts` config to be merged with the settings.
Note that unlike YAML used for H2O, Nix will not support duplicate
keys to, for instance, have multiple listens in a host block; use the
virtual host options in like `http` & `tls` or use `$HOST:$PORT`
keys if manually specifying config.
'';
example =
literalExpression
# nix
''
{
"hydra.example.com" = {
tls = {
policy = "force";
indentity = [
{
key-file = "/path/to/key";
certificate-file = "/path/to/cert";
};
];
extraSettings = {
minimum-version = "TLSv1.3";
};
};
settings = {
paths."/" = {
"file:dir" = "/var/www/default";
};
};
};
}
'';
};
};
};
config = mkIf cfg.enable {
users = {
users.${cfg.user} =
{
group = cfg.group;
}
// lib.optionalAttrs (cfg.user == "h2o") {
isSystemUser = true;
};
groups.${cfg.group} = { };
};
systemd.services.h2o = {
description = "H2O web server service";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -s QUIT $MAINPID";
User = cfg.user;
Restart = "always";
RestartSec = "10s";
RuntimeDirectory = "h2o";
RuntimeDirectoryMode = "0750";
CacheDirectory = "h2o";
CacheDirectoryMode = "0750";
LogsDirectory = "h2o";
LogsDirectoryMode = "0750";
ProtectSystem = "strict";
ProtectHome = mkDefault true;
PrivateTmp = true;
PrivateDevices = true;
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
RestrictAddressFamilies = [
"AF_UNIX"
"AF_INET"
"AF_INET6"
];
RestrictNamespaces = true;
LockPersonality = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
RemoveIPC = true;
PrivateMounts = true;
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
CapabilitiesBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
};
script =
let
args =
[
"--conf"
"${h2oConfig}"
]
++ lib.optionals (cfg.mode != null) [
"--mode"
cfg.mode
];
in
''
${lib.getExe cfg.package} ${lib.strings.escapeShellArgs args}
'';
};
};
}
@@ -0,0 +1,151 @@
{ config, lib, ... }:
let
inherit (lib)
literalExpression
mkOption
types
;
in
{
options = {
serverName = mkOption {
type = types.nullOr types.nonEmptyStr;
default = null;
description = ''
Server name to be used for this virtual host. Defaults to attribute
name in hosts.
'';
example = "example.org";
};
http = mkOption {
type = types.nullOr (
types.submodule {
options = {
port = mkOption {
type = types.port;
default = config.services.h2o.defaultHTTPListenPort;
defaultText = literalExpression ''
config.services.h2o.defaultHTTPListenPort
'';
description = ''
Override the default HTTP port for this virtual host.
'';
example = literalExpression "8080";
};
};
}
);
default = null;
description = "HTTP options for virtual host";
};
tls = mkOption {
type = types.nullOr (
types.submodule {
options = {
port = mkOption {
type = types.port;
default = config.services.h2o.defaultTLSListenPort;
defaultText = literalExpression ''
config.services.h2o.defaultTLSListenPort
'';
description = ''
Override the default TLS port for this virtual host.";
'';
example = 8443;
};
policy = mkOption {
type = types.enum [
"add"
"only"
"force"
];
description = ''
`add` will additionally listen for TLS connections. `only` will
disable TLS connections. `force` will redirect non-TLS traffic
to the TLS connection.
'';
example = "force";
};
redirectCode = mkOption {
type = types.ints.between 300 399;
default = 301;
example = 308;
description = ''
HTTP status used by `globalRedirect` & `forceSSL`. Possible
usecases include temporary (302, 307) redirects, keeping the
request method & body (307, 308), or explicitly resetting the
method to GET (303). See
<https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections>.
'';
};
identity = mkOption {
type = types.nonEmptyListOf (
types.submodule {
options = {
key-file = mkOption {
type = types.path;
description = "Path to key file";
};
certificate-file = mkOption {
type = types.path;
description = "Path to certificate file";
};
};
}
);
default = null;
description = ''
Key / certificate pairs for the virtual host.
'';
example =
literalExpression
# nix
''
{
indentities = [
{
key-file = "/path/to/rsa.key";
certificate-file = "/path/to/rsa.crt";
}
{
key-file = "/path/to/ecdsa.key";
certificate-file = "/path/to/ecdsa.crt";
}
];
}
'';
};
extraSettings = mkOption {
type = types.nullOr types.attrs;
default = null;
description = ''
Additional TLS/SSL-related configuration options.
'';
example =
literalExpression
# nix
''
{
minimum-version = "TLSv1.3";
}
'';
};
};
}
);
default = null;
description = "TLS options for virtual host";
};
settings = mkOption {
type = types.attrs;
description = ''
Attrset to be transformed into YAML for host config. Note that the HTTP
/ TLS configurations will override these config values.
'';
};
};
}
+2 -1
View File
@@ -420,6 +420,7 @@ in {
guacamole-server = handleTest ./guacamole-server.nix {};
guix = handleTest ./guix {};
gvisor = handleTest ./gvisor.nix {};
h2o = discoverTests (import ./web-servers/h2o { inherit handleTestOn; });
hadoop = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop; };
hadoop_3_3 = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop_3_3; };
hadoop2 = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop2; };
@@ -621,7 +622,7 @@ in {
misc = handleTest ./misc.nix {};
misskey = handleTest ./misskey.nix {};
mjolnir = handleTest ./matrix/mjolnir.nix {};
mobilizon = handleTest ./mobilizon.nix {};
mobilizon = runTest ./mobilizon.nix;
mod_perl = handleTest ./mod_perl.nix {};
molly-brown = handleTest ./molly-brown.nix {};
mollysocket = handleTest ./mollysocket.nix { };
+40 -42
View File
@@ -1,49 +1,47 @@
import ./make-test-python.nix (
{ lib, ... }:
let
certs = import ./common/acme/server/snakeoil-certs.nix;
mobilizonDomain = certs.domain;
port = 41395;
in
{ lib, ... }:
let
certs = import ./common/acme/server/snakeoil-certs.nix;
mobilizonDomain = certs.domain;
port = 41395;
in
{
name = "mobilizon";
meta.maintainers = with lib.maintainers; [
minijackson
erictapen
];
{
name = "mobilizon";
meta.maintainers = with lib.maintainers; [
minijackson
erictapen
];
nodes.server =
{ ... }:
{
services.mobilizon = {
enable = true;
settings = {
":mobilizon" = {
":instance" = {
name = "Test Mobilizon";
hostname = mobilizonDomain;
};
"Mobilizon.Web.Endpoint".http.port = port;
nodes.server =
{ ... }:
{
services.mobilizon = {
enable = true;
settings = {
":mobilizon" = {
":instance" = {
name = "Test Mobilizon";
hostname = mobilizonDomain;
};
"Mobilizon.Web.Endpoint".http.port = port;
};
};
security.pki.certificateFiles = [ certs.ca.cert ];
services.nginx.virtualHosts."${mobilizonDomain}" = {
enableACME = lib.mkForce false;
sslCertificate = certs.${mobilizonDomain}.cert;
sslCertificateKey = certs.${mobilizonDomain}.key;
};
networking.hosts."::1" = [ mobilizonDomain ];
};
testScript = ''
server.wait_for_unit("mobilizon.service")
server.wait_for_open_port(${toString port})
server.succeed("curl --fail https://${mobilizonDomain}/")
'';
}
)
security.pki.certificateFiles = [ certs.ca.cert ];
services.nginx.virtualHosts."${mobilizonDomain}" = {
enableACME = lib.mkForce false;
sslCertificate = certs.${mobilizonDomain}.cert;
sslCertificateKey = certs.${mobilizonDomain}.key;
};
networking.hosts."::1" = [ mobilizonDomain ];
};
testScript = ''
server.wait_for_unit("mobilizon.service")
server.wait_for_open_port(${toString port})
server.succeed("curl --fail https://${mobilizonDomain}/")
'';
}
+138
View File
@@ -0,0 +1,138 @@
import ../../make-test-python.nix (
{ lib, pkgs, ... }:
# Tests basics such as TLS, creating a mime-type & serving Unicode characters.
let
domain = {
HTTP = "h2o.local";
TLS = "acme.test";
};
port = {
HTTP = 8080;
TLS = 8443;
};
sawatdi_chao_lok = "";
hello_world_txt = pkgs.writeTextFile {
name = "/hello_world.txt";
text = sawatdi_chao_lok;
};
hello_world_rst = pkgs.writeTextFile {
name = "/hello_world.rst";
text = # rst
''
====================
Thaiger Sprint 2025
====================
${sawatdi_chao_lok}
'';
};
in
{
name = "h2o-basic";
meta = {
maintainers = with lib.maintainers; [ toastal ];
};
nodes = {
server =
{ pkgs, ... }:
{
services.h2o = {
enable = true;
defaultHTTPListenPort = port.HTTP;
defaultTLSListenPort = port.TLS;
hosts = {
"${domain.HTTP}" = {
settings = {
paths = {
"/hello_world.txt" = {
"file.file" = "${hello_world_txt}";
};
};
};
};
"${domain.TLS}" = {
tls = {
policy = "force";
identity = [
{
key-file = ../../common/acme/server/acme.test.key.pem;
certificate-file = ../../common/acme/server/acme.test.cert.pem;
}
];
extraSettings = {
minimum-version = "TLSv1.3";
};
};
settings = {
paths = {
"/hello_world.rst" = {
"file.file" = "${hello_world_rst}";
};
};
};
};
};
settings = {
compress = "ON";
compress-minimum-size = 32;
"file.mime.addtypes" = {
"text/x-rst" = {
extensions = [ ".rst" ];
is_compressible = "YES";
};
};
ssl-offload = "kernel";
};
};
security.pki.certificates = [
(builtins.readFile ../../common/acme/server/ca.cert.pem)
];
networking = {
firewall.allowedTCPPorts = with port; [
HTTP
TLS
];
extraHosts = ''
127.0.0.1 ${domain.HTTP}
127.0.0.1 ${domain.TLS}
'';
};
};
};
testScript = # python
''
server.wait_for_unit("h2o.service")
http_hello_world_body = server.succeed("curl --fail-with-body 'http://${domain.HTTP}:${builtins.toString port.HTTP}/hello_world.txt'")
assert "${sawatdi_chao_lok}" in http_hello_world_body
tls_hello_world_head = server.succeed("curl -v --head --compressed --http2 --tlsv1.3 --fail-with-body 'https://${domain.TLS}:${builtins.toString port.TLS}/hello_world.rst'").lower()
print(tls_hello_world_head)
assert "http/2 200" in tls_hello_world_head
assert "server: h2o" in tls_hello_world_head
assert "content-type: text/x-rst" in tls_hello_world_head
tls_hello_world_body = server.succeed("curl -v --http2 --tlsv1.3 --compressed --fail-with-body 'https://${domain.TLS}:${builtins.toString port.TLS}/hello_world.rst'")
assert "${sawatdi_chao_lok}" in tls_hello_world_body
tls_hello_world_head_redirected = server.succeed("curl -v --head --fail-with-body 'http://${domain.TLS}:${builtins.toString port.HTTP}/hello_world.rst'").lower()
assert "redirected" in tls_hello_world_head_redirected
server.fail("curl --location --max-redirs 0 'http://${domain.TLS}:${builtins.toString port.HTTP}/hello_world.rst'")
tls_hello_world_body_redirected = server.succeed("curl -v --location --fail-with-body 'http://${domain.TLS}:${builtins.toString port.HTTP}/hello_world.rst'")
assert "${sawatdi_chao_lok}" in tls_hello_world_body_redirected
'';
}
)
+16
View File
@@ -0,0 +1,16 @@
{
system ? builtins.currentSystem,
handleTestOn,
}:
let
supportedSystems = [
"x86_64-linux"
"i686-linux"
"aarch64-linux"
];
in
{
basic = handleTestOn supportedSystems ./basic.nix { inherit system; };
mruby = handleTestOn supportedSystems ./mruby.nix { inherit system; };
}
@@ -0,0 +1,3 @@
Proc.new do |env|
[200, {'content-type' => 'text/plain'}, ["FILE_HANDLER"]]
end
+64
View File
@@ -0,0 +1,64 @@
import ../../make-test-python.nix (
{ lib, pkgs, ... }:
let
domain = "h2o.local";
port = 8080;
sawatdi_chao_lok = "";
in
{
name = "h2o-mruby";
meta = {
maintainers = with lib.maintainers; [ toastal ];
};
nodes = {
server =
{ pkgs, ... }:
{
services.h2o = {
enable = true;
package = pkgs.h2o.override { withMruby = true; };
settings = {
listen = port;
hosts = {
"${domain}" = {
paths = {
"/hello_world" = {
"mruby.handler" = # ruby
''
Proc.new do |env|
[200, {'content-type' => 'text/plain'}, ["${sawatdi_chao_lok}"]]
end
'';
};
"/file_handler" = {
"mruby.handler-file" = ./file_handler.rb;
};
};
};
};
};
};
networking.extraHosts = ''
127.0.0.1 ${domain}
'';
};
};
testScript = # python
''
server.wait_for_unit("h2o.service")
hello_world = server.succeed("curl --fail-with-body http://${domain}:${builtins.toString port}/hello_world")
assert "${sawatdi_chao_lok}" in hello_world
file_handler = server.succeed("curl --fail-with-body http://${domain}:${builtins.toString port}/file_handler")
assert "FILE_HANDLER" in file_handler
'';
}
)
@@ -4496,6 +4496,19 @@ final: prev:
meta.hydraPlatforms = [ ];
};
faust-nvim = buildVimPlugin {
pname = "faust-nvim";
version = "2022-06-01";
src = fetchFromGitHub {
owner = "madskjeldgaard";
repo = "faust-nvim";
rev = "d6e8b1658233df74ac8dc1dc84a3f7568dc00586";
sha256 = "0zf8zfc6baxd93w5iyhldcda5izb5ldrxb0wkcxqkp95azsc871w";
};
meta.homepage = "https://github.com/madskjeldgaard/faust-nvim/";
meta.hydraPlatforms = [ ];
};
fcitx-vim = buildVimPlugin {
pname = "fcitx.vim";
version = "2024-04-21";
@@ -5057,6 +5070,19 @@ final: prev:
meta.hydraPlatforms = [ ];
};
github-nvim-theme = buildVimPlugin {
pname = "github-nvim-theme";
version = "2024-12-31";
src = fetchFromGitHub {
owner = "projekt0n";
repo = "github-nvim-theme";
rev = "c106c9472154d6b2c74b74565616b877ae8ed31d";
sha256 = "1w7lz4bgfm8hq1mir4hcr8ik585d4l4w7bjl8yl3g3zklj8223pw";
};
meta.homepage = "https://github.com/projekt0n/github-nvim-theme/";
meta.hydraPlatforms = [ ];
};
gitignore-nvim = buildVimPlugin {
pname = "gitignore.nvim";
version = "2024-03-25";
@@ -1099,6 +1099,17 @@ in
dependencies = [ self.nui-nvim ];
};
faust-nvim = super.faust-nvim.overrideAttrs {
dependencies = with self; [
luasnip
nvim-fzf
];
nvimSkipModule = [
# E5108: Error executing lua vim/_init_packages.lua:0: ...in-faust-nvim-2022-06-01/lua/faust-nvim/autosnippets.lua:3: '=' expected near 'wd'
"faust-nvim.autosnippets"
];
};
fcitx-vim = super.fcitx-vim.overrideAttrs {
passthru.python3Dependencies = ps: with ps; [ dbus-python ];
meta = {
@@ -344,6 +344,7 @@ https://github.com/brooth/far.vim/,,
https://github.com/Chaitanyabsprip/fastaction.nvim/,HEAD,
https://github.com/pteroctopus/faster.nvim/,HEAD,
https://github.com/konfekt/fastfold/,,
https://github.com/madskjeldgaard/faust-nvim/,HEAD,
https://github.com/lilydjwg/fcitx.vim/,fcitx5,
https://github.com/bakpakin/fennel.vim/,,
https://github.com/wincent/ferret/,,
@@ -387,6 +388,7 @@ https://github.com/akinsho/git-conflict.nvim/,HEAD,
https://github.com/rhysd/git-messenger.vim/,,
https://github.com/mikesmithgh/git-prompt-string-lualine.nvim/,HEAD,
https://github.com/ThePrimeagen/git-worktree.nvim/,,
https://github.com/projekt0n/github-nvim-theme/,HEAD,
https://github.com/wintermute-cell/gitignore.nvim/,HEAD,
https://github.com/vim-scripts/gitignore.vim/,,
https://github.com/ruifm/gitlinker.nvim/,,
File diff suppressed because it is too large Load Diff
@@ -9,10 +9,10 @@
buildMozillaMach rec {
pname = "firefox";
version = "135.0";
version = "135.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "7d283bcefe1e328901f15a88f5ff3da566bb0495ce5b9e3895e7a156020126a5743b6bffd69d94d9eb812e1868195ae92db162d29a5d98ee118fdb238469c089";
sha512 = "9ff7c2ab6bc1660e339cdcd7745f8bdac5be25d3a79b9f0393385935270d7ef488599856bc38c22ae0b067389fa71a6999703b74804a6e0ea8265eb99788cea9";
};
meta = {
+3 -3
View File
@@ -6,15 +6,15 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-chef";
version = "0.1.69";
version = "0.1.71";
src = fetchCrate {
inherit pname version;
hash = "sha256-zDVolVllWl0DM0AByglKhU8JQpkdcmyVGe1vYo+eamk=";
hash = "sha256-ZbbRo+AAlh7sW1HROxHfmnDxchJRWUId3oh5wgPauuQ=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-3bjnAQLIO0hHjkRDym2oUzmiMd2gp5gN+iK8NxBC22Q=";
cargoHash = "sha256-/VqFs5wzKbnfZRfKERUGjuCj/H+o1iI/ioMPq/FugDo=";
meta = with lib; {
description = "Cargo-subcommand to speed up Rust Docker builds using Docker layer caching";
+3 -3
View File
@@ -6,17 +6,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-modules";
version = "0.21.2";
version = "0.22.0";
src = fetchFromGitHub {
owner = "regexident";
repo = "cargo-modules";
tag = "v${version}";
hash = "sha256-mrl1I1dmf2WqtUbBsUq3kgqPwc4S/EaYRc/B9hpEo90=";
hash = "sha256-dtL4vcNPtZc1FQ6LnlovXX0bQkyzkfhPDaJvf/SVmaU=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-fg9w7jDoXJjdho8dHBItDp6O/6eU89eQMASYqTrUB2I=";
cargoHash = "sha256-Mc+fAb46JiS2wH1Ybksj75qHf6JU26NFrHUv/drca5k=";
checkFlags = [
"--skip=cfg_test::with_tests::smoke"
+3 -3
View File
@@ -2,17 +2,17 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-nextest";
version = "0.9.87";
version = "0.9.91";
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
rev = "cargo-nextest-${version}";
hash = "sha256-J+84FZfrbv6jp2T9cYgodLZ+TgIAht+uJSVi5ULDGBU=";
hash = "sha256-jLC90TewhtXiYmbOtgdyzPtS7VlCBMCXWRJlM1DUCI8=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-qyqhhAitl0u69JYX+qjN8OnTyF17VdjjkbioFyA/W8s=";
cargoHash = "sha256-Gjf54oc3Z/Ehc4Vg8wi/TfwMOZnPSR4ck4HCS57SNIc=";
cargoBuildFlags = [ "-p" "cargo-nextest" ];
cargoTestFlags = [ "-p" "cargo-nextest" ];
+3 -3
View File
@@ -8,15 +8,15 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-tally";
version = "1.0.57";
version = "1.0.58";
src = fetchCrate {
inherit pname version;
hash = "sha256-0f+23kQZzmUeAjettZ3iRTATiv73sGpI13TzZFTU150=";
hash = "sha256-a9Mgsxe3vNtvuqMJIm7nRL2aiYYzpArz7R5XQcZAUxc=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-6wMkRLF3Hn6zu8UM629RoUY83wmSEYaYX5EMb9xBveQ=";
cargoHash = "sha256-3ZlF3FyWzcVL/ZMqId3wY//UzV7LeoJJdftb0IIC7Vk=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin (
with darwin.apple_sdk_11_0.frameworks;
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cowsql";
version = "1.15.6";
version = "1.15.8";
src = fetchFromGitHub {
owner = "cowsql";
repo = "cowsql";
tag = "v${finalAttrs.version}";
hash = "sha256-cr6AT/n2/6DuGK53JvGLwCkMi4+fS128qxj3X9SJYuw=";
hash = "sha256-rwTa9owtnkyI9OpUKLk6V7WbAkqlYucpGzPnHHvKW/A=";
};
nativeBuildInputs = [
+67
View File
@@ -0,0 +1,67 @@
{
"elm/browser" = {
sha256 = "0nagb9ajacxbbg985r4k9h0jadqpp0gp84nm94kcgbr5sf8i9x13";
version = "1.0.2";
};
"elm/core" = {
sha256 = "19w0iisdd66ywjayyga4kv2p1v9rxzqjaxhckp8ni6n8i0fb2dvf";
version = "1.0.5";
};
"elm/html" = {
sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k";
version = "1.0.0";
};
"elm/json" = {
sha256 = "0kjwrz195z84kwywaxhhlnpl3p251qlbm5iz6byd6jky2crmyqyh";
version = "1.1.3";
};
"stil4m/elm-syntax" = {
sha256 = "1dlk7gslh9la6y7y3d56a37lsymmz32rlspbywcfmq40mq9hiify";
version = "7.2.9";
};
"elm-community/list-extra" = {
sha256 = "043iwpdwyrfb1jndxh7kf7xlkgq1v6pjczv1r1b19p2wky6nmy8z";
version = "8.5.2";
};
"elm/parser" = {
sha256 = "0a3cxrvbm7mwg9ykynhp7vjid58zsw03r63qxipxp3z09qks7512";
version = "1.1.0";
};
"elm/time" = {
sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1";
version = "1.0.0";
};
"elm/url" = {
sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4";
version = "1.0.0";
};
"elm/virtual-dom" = {
sha256 = "1yvb8px2z62xd578ag2q0r5hd1vkz9y7dfkx05355iiy1d7jwq4v";
version = "1.0.3";
};
"miniBill/elm-unicode" = {
sha256 = "18w246bvra93amvqq3r2kqdv5ad8iavnhvcsbfdxw6747pi6pg2f";
version = "1.0.2";
};
"rtfeldman/elm-hex" = {
sha256 = "1y0aa16asvwdqmgbskh5iba6psp43lkcjjw9mgzj3gsrg33lp00d";
version = "1.0.0";
};
"stil4m/structured-writer" = {
sha256 = "02k32yaw275bivab90wy8qkbys3gg4fw53f798dzf1j9wharhg12";
version = "1.0.3";
};
}
+71
View File
@@ -0,0 +1,71 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
elmPackages,
versionCheckHook,
writeShellScript,
nix-update,
elm2nix,
nixfmt-rfc-style,
}:
buildNpmPackage rec {
pname = "elm-land";
version = "0.20.1";
src = fetchFromGitHub {
owner = "elm-land";
repo = "elm-land";
rev = "v${version}";
hash = "sha256-PFyiVTH2Cek377YZwaCmvDToQCaxWQvJrQkRhyNI2Wg=";
};
sourceRoot = "${src.name}/projects/cli";
npmDepsHash = "sha256-Bg16s0tqEaUT+BbFMKuEtx32rmbZLIILp8Ra/dQGmUg=";
npmRebuildFlags = [ "--ignore-scripts" ];
postConfigure =
(elmPackages.fetchElmDeps {
elmPackages = import ./elm-srcs.nix;
elmVersion = elmPackages.elm.version;
registryDat = ./registry.dat;
})
+ ''
ln -sf ${lib.getExe elmPackages.elm} node_modules/.bin/elm
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru.updateScript = writeShellScript "update-elm-land" ''
set -eu -o pipefail
# Update version, src and npm deps
${lib.getExe nix-update} "$UPDATE_NIX_ATTR_PATH"
# Update elm deps
cp "$(nix-build -A "$UPDATE_NIX_ATTR_PATH".src)/projects/cli/src/codegen/elm.json" elm.json
trap 'rm -rf elm.json registry.dat &> /dev/null' EXIT
${lib.getExe elm2nix} convert > pkgs/by-name/el/elm-land/elm-srcs.nix
${lib.getExe nixfmt-rfc-style} pkgs/by-name/el/elm-land/elm-srcs.nix
${lib.getExe elm2nix} snapshot
cp registry.dat pkgs/by-name/el/elm-land/registry.dat
'';
meta = {
description = "A production-ready framework for building Elm applications";
homepage = "https://github.com/elm-land/elm-land";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
domenkozar
zupo
];
mainProgram = "elm-land";
};
}
Binary file not shown.
+28
View File
@@ -0,0 +1,28 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "flamelens";
version = "0.3.1";
src = fetchFromGitHub {
owner = "YS-L";
repo = "flamelens";
tag = "v${version}";
hash = "sha256-cvsBeV9pdgr8V+82Fw/XZS1Ljq/7ff4JYMHnNxqNvOM=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-FIIt8RwPaPrVG3D9FoMjR4L81NzUrKZsAeW2AJkBG1o=";
meta = {
description = "Interactive flamegraph viewer in the terminal";
homepage = "https://github.com/YS-L/flamelens";
changelog = "https://github.com/YS-L/flamelens/releases/tag/v${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.averdow ];
};
}
+2 -1
View File
@@ -66,7 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
EXES="$(find "$out/share/h2o" -type f -executable)"
for exe in $EXES; do
wrapProgram "$exe" \
--set "H2O_PERL" "${lib.getExe perl}"
--set "H2O_PERL" "${lib.getExe perl}" \
--prefix "PATH" : "${lib.getBin openssl}/bin"
done
'';
@@ -0,0 +1,13 @@
diff --git a/mealie/services/openai/openai.py b/mealie/services/openai/openai.py
index 09c391d5..5d74d930 100644
--- a/mealie/services/openai/openai.py
+++ b/mealie/services/openai/openai.py
@@ -7,7 +7,7 @@ from pathlib import Path
from textwrap import dedent
from openai import NOT_GIVEN, AsyncOpenAI
-from openai.resources.chat.completions import ChatCompletion
+from openai.types.chat import ChatCompletion
from pydantic import BaseModel, field_validator
from mealie.core.config import get_app_settings
+44 -45
View File
@@ -1,20 +1,21 @@
{ lib
, stdenv
, callPackage
, fetchFromGitHub
, makeWrapper
, nixosTests
, python3Packages
, writeShellScript
{
lib,
stdenv,
callPackage,
fetchFromGitHub,
makeWrapper,
nixosTests,
python3Packages,
writeShellScript,
}:
let
version = "2.3.0";
version = "2.6.0";
src = fetchFromGitHub {
owner = "mealie-recipes";
repo = "mealie";
rev = "v${version}";
hash = "sha256-GN+uXyZCvDuFmQnXhn0mFans3bvvEw7Uq6V0OeCPEbE=";
tag = "v${version}";
hash = "sha256-txkHCQ/xTakPXXFki161jNOKwAH9p9z1hCNEEkbqQtM=";
};
frontend = callPackage (import ./mealie-frontend.nix src version) { };
@@ -54,6 +55,11 @@ pythonpkgs.buildPythonApplication rec {
pythonRelaxDeps = true;
patches = [
# compatiblity with openai 1.63.0
./0000_openai_1.63.0.patch
];
dependencies = with pythonpkgs; [
aiofiles
alembic
@@ -96,42 +102,32 @@ pythonpkgs.buildPythonApplication rec {
substituteInPlace mealie/__init__.py \
--replace-fail '__version__ = ' '__version__ = "v${version}" #'
substituteInPlace mealie/services/backups_v2/alchemy_exporter.py \
--replace-fail 'PROJECT_DIR = ' "PROJECT_DIR = Path('$out') #"
substituteInPlace mealie/db/init_db.py \
--replace-fail 'PROJECT_DIR = ' "PROJECT_DIR = Path('$out') #"
substituteInPlace mealie/services/backups_v2/alchemy_exporter.py \
--replace-fail '"script_location", path.join(PROJECT_DIR, "alembic")' '"script_location", "${src}/alembic"'
'';
postInstall = let
start_script = writeShellScript "start-mealie" ''
${lib.getExe pythonpkgs.gunicorn} "$@" -k uvicorn.workers.UvicornWorker mealie.app:app;
postInstall =
let
start_script = writeShellScript "start-mealie" ''
${lib.getExe pythonpkgs.gunicorn} "$@" -k uvicorn.workers.UvicornWorker mealie.app:app;
'';
init_db = writeShellScript "init-mealie-db" ''
${python.interpreter} $OUT/${python.sitePackages}/mealie/scripts/install_model.py
${python.interpreter} $OUT/${python.sitePackages}/mealie/db/init_db.py
'';
in
''
mkdir -p $out/bin $out/libexec
rm -f $out/bin/*
makeWrapper ${start_script} $out/bin/mealie \
--set PYTHONPATH "$out/${python.sitePackages}:${pythonpkgs.makePythonPath dependencies}" \
--set LD_LIBRARY_PATH "${crfpp}/lib" \
--set STATIC_FILES "${frontend}" \
--set PATH "${lib.makeBinPath [ crfpp ]}"
makeWrapper ${init_db} $out/libexec/init_db \
--set PYTHONPATH "$out/${python.sitePackages}:${pythonpkgs.makePythonPath dependencies}" \
--set OUT "$out"
'';
init_db = writeShellScript "init-mealie-db" ''
${python.interpreter} $OUT/${python.sitePackages}/mealie/scripts/install_model.py
${python.interpreter} $OUT/${python.sitePackages}/mealie/db/init_db.py
'';
in ''
mkdir -p $out/bin $out/libexec
rm -f $out/bin/*
substitute ${src}/alembic.ini $out/alembic.ini \
--replace-fail 'script_location = alembic' 'script_location = ${src}/alembic'
makeWrapper ${start_script} $out/bin/mealie \
--set PYTHONPATH "$out/${python.sitePackages}:${pythonpkgs.makePythonPath dependencies}" \
--set LD_LIBRARY_PATH "${crfpp}/lib" \
--set STATIC_FILES "${frontend}" \
--set PATH "${lib.makeBinPath [ crfpp ]}"
makeWrapper ${init_db} $out/libexec/init_db \
--set PYTHONPATH "$out/${python.sitePackages}:${pythonpkgs.makePythonPath dependencies}" \
--set OUT "$out"
'';
nativeCheckInputs = with pythonpkgs; [ pytestCheckHook ];
@@ -160,7 +156,10 @@ pythonpkgs.buildPythonApplication rec {
homepage = "https://mealie.io";
changelog = "https://github.com/mealie-recipes/mealie/releases/tag/${src.rev}";
license = licenses.agpl3Only;
maintainers = with maintainers; [ litchipi anoa ];
maintainers = with maintainers; [
litchipi
anoa
];
mainProgram = "mealie";
};
}
+42
View File
@@ -0,0 +1,42 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGoModule rec {
pname = "mpls";
version = "0.12.0";
src = fetchFromGitHub {
owner = "mhersson";
repo = "mpls";
tag = "v${version}";
hash = "sha256-2NOP5k3N2T2T8zg/6SlKDRJsWt+LcjAOmYe/tMrjCnc=";
};
vendorHash = "sha256-6iXZWLCF0LfchcGSFrCtILLeR1Yx7oxD/7JIYyrrkHM=";
ldflags = [
"-s"
"-w"
"-X github.com/mhersson/mpls/cmd.Version=${version}"
"-X github.com/mhersson/mpls/internal/mpls.Version=${version}"
];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Live preview of markdown using Language Server Protocol";
homepage = "https://github.com/mhersson/mpls";
changelog = "https://github.com/mhersson/mpls/releases/tag/${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jervw ];
mainProgram = "mpls";
};
}
+8 -1
View File
@@ -102,7 +102,14 @@ stdenv.mkDerivation rec {
cp -r $src/docs/images ./docs
'';
passthru.updateScript = nix-update-script { };
passthru.updateScript = nix-update-script {
# even patch numbers are pre-releases
# see https://github.com/mydumper/mydumper/tree/afe0eb9317f1e9cdde45f7b0e463029912c6c981?tab=readme-ov-file#versioning
extraArgs = [
"--version-regex"
"v(\\d+\\.\\d+\\.\\d*[13579]-\\d+)"
];
};
# mydumper --version is checked in `versionCheckHook`
passthru.tests = testers.testVersion {
+48 -30
View File
@@ -1,24 +1,27 @@
{ stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, pkg-config
, openssl
, ppp
, systemd
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
, withPpp ? stdenv.hostPlatform.isLinux
{
stdenv,
lib,
fetchFromGitHub,
autoreconfHook,
pkg-config,
openssl,
ppp,
systemd,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
withPpp ? stdenv.hostPlatform.isLinux,
versionCheckHook,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "openfortivpn";
version = "1.22.1";
version = "1.23.1";
src = fetchFromGitHub {
owner = "adrienverge";
repo = pname;
rev = "v${version}";
hash = "sha256-FhS4q8p1Q2Lu7xj2ZkUbJcMWvRSn+lqFdYqBNYB3V1E=";
tag = "v${version}";
hash = "sha256-Pv9v7e5xPTIrgqldBDtTFxW+aIjbxSeu0sQ9n6HjO9w=";
};
# we cannot write the config file to /etc and as we don't need the file, so drop it
@@ -27,30 +30,45 @@ stdenv.mkDerivation rec {
--replace '$(DESTDIR)$(confdir)' /tmp
'';
nativeBuildInputs = [ autoreconfHook pkg-config ];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
openssl
]
++ lib.optional withSystemd systemd
++ lib.optional withPpp ppp;
buildInputs =
[
openssl
]
++ lib.optional withSystemd systemd
++ lib.optional withPpp ppp;
configureFlags = [
"--sysconfdir=/etc"
]
++ lib.optional withSystemd "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
++ lib.optional withPpp "--with-pppd=${ppp}/bin/pppd"
# configure: error: cannot check for file existence when cross compiling
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-proc";
configureFlags =
[
"--sysconfdir=/etc"
]
++ lib.optional withSystemd "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
++ lib.optional withPpp "--with-pppd=${ppp}/bin/pppd"
# configure: error: cannot check for file existence when cross compiling
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-proc";
enableParallelBuilding = true;
meta = with lib; {
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Client for PPP+SSL VPN tunnel services";
homepage = "https://github.com/adrienverge/openfortivpn";
license = licenses.gpl3;
maintainers = with maintainers; [ madjar ];
platforms = with platforms; linux ++ darwin;
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ madjar ];
platforms = with lib.platforms; linux ++ darwin;
mainProgram = "openfortivpn";
};
}
+8 -6
View File
@@ -3,6 +3,7 @@
_7zz,
alsa-lib,
systemd,
wrapGAppsHook4,
autoPatchelfHook,
blas,
dpkg,
@@ -21,7 +22,7 @@
}:
let
pname = "positron-bin";
version = "2024.11.0-116";
version = "2025.02.0-171";
in
stdenv.mkDerivation {
inherit version pname;
@@ -30,12 +31,12 @@ stdenv.mkDerivation {
if stdenv.hostPlatform.isDarwin then
fetchurl {
url = "https://github.com/posit-dev/positron/releases/download/${version}/Positron-${version}.dmg";
hash = "sha256-5Ym42InDgFLGdZk0LYV1H0eC5WzmsYToG1KLdiGgTto=";
hash = "sha256-b5o1+UXt5JAuHkm1K1jrMLV+7PHfKJTOff4aTk8xm2I=";
}
else
fetchurl {
url = "https://github.com/posit-dev/positron/releases/download/${version}/Positron-${version}.deb";
hash = "sha256-pE25XVYFW8WwyQ7zmox2mmXy6ZCSaXk2gSnPimg7xtU=";
url = "https://github.com/posit-dev/positron/releases/download/${version}/Positron-${version}-x64.deb";
hash = "sha256-TjQc/Y4Sa2MlLslbygYVFbIk3raArMvYstSiSEYzfo0=";
};
buildInputs =
@@ -64,6 +65,7 @@ stdenv.mkDerivation {
lib.optionals stdenv.hostPlatform.isLinux [
autoPatchelfHook
dpkg
wrapGAppsHook4
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
_7zz
@@ -99,8 +101,8 @@ stdenv.mkDerivation {
install -m 444 -D usr/share/applications/positron.desktop "$out/share/applications/positron.desktop"
substituteInPlace "$out/share/applications/positron.desktop" \
--replace-fail \
"Icon=com.visualstudio.code.oss" \
"Icon=$out/share/pixmaps/com.visualstudio.code.oss.png" \
"Icon=co.posit.positron" \
"Icon=$out/share/pixmaps/co.posit.positron.png" \
--replace-fail \
"Exec=/usr/share/positron/positron %F" \
"Exec=$out/share/positron/.positron-wrapped %F" \
+2 -2
View File
@@ -29,11 +29,11 @@ sed -i "s|$current_hash|$new_hash|g" $positron_nix
# Update Linux hash.
current_hash=$(nix store prefetch-file --json --hash-type sha256 \
"https://github.com/posit-dev/positron/releases/download/${current_version}/Positron-${current_version}.deb" \
"https://github.com/posit-dev/positron/releases/download/${current_version}/Positron-${current_version}-x64.deb" \
| jq -r .hash)
new_hash=$(nix store prefetch-file --json --hash-type sha256 \
"https://github.com/posit-dev/positron/releases/download/${new_version}/Positron-${new_version}.deb" \
"https://github.com/posit-dev/positron/releases/download/${new_version}/Positron-${new_version}-x64.deb" \
| jq -r .hash)
sed -i "s|$current_hash|$new_hash|g" $positron_nix
@@ -5,10 +5,10 @@
fastjet,
fastjet-contrib,
ghostscript,
graphicsmagick-imagemagick-compat,
hdf5,
hepmc3,
highfive,
imagemagick,
less,
pkg-config,
python3,
@@ -21,11 +21,11 @@
stdenv.mkDerivation rec {
pname = "rivet";
version = "4.0.2";
version = "4.0.3";
src = fetchurl {
url = "https://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
hash = "sha256-ZaOzb0K/94LtJ2eTDmaeCbFAiZYF15cvyPd3hbSogsA=";
hash = "sha256-27l7dp0Yd/NMPFAZASe/2nhHvOx5uh3llWH99DzdSGk=";
};
latex = texliveBasic.withPackages (
@@ -52,9 +52,9 @@ stdenv.mkDerivation rec {
pkg-config
];
buildInputs = [
graphicsmagick-imagemagick-compat
hepmc3
highfive
imagemagick
python3
latex
python3.pkgs.yoda
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
--replace-fail '"ps2pdf"' '"${ghostscript}/bin/ps2pdf"' \
--replace-fail '"ps2eps"' '"${ghostscript}/bin/ps2eps"' \
--replace-fail '"kpsewhich"' '"'$latex'/bin/kpsewhich"' \
--replace-fail '"convert"' '"${imagemagick.out}/bin/convert"'
--replace-fail '"convert"' '"${graphicsmagick-imagemagick-compat.out}/bin/convert"'
substituteInPlace bin/rivet \
--replace-fail '"less"' '"${less}/bin/less"'
substituteInPlace bin/rivet-mkhtml-tex \
@@ -109,11 +109,11 @@ stdenv.mkDerivation rec {
done
'';
meta = with lib; {
meta = {
description = "Framework for comparison of experimental measurements from high-energy particle colliders to theory predictions";
license = licenses.gpl3;
license = lib.licenses.gpl3;
homepage = "https://rivet.hepforge.org";
platforms = platforms.unix;
maintainers = with maintainers; [ veprbl ];
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ veprbl ];
};
}
+10 -5
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
meson,
ninja,
pkg-config,
@@ -34,6 +35,15 @@ stdenv.mkDerivation rec {
hash = "sha256-wW5lkBQv5WO+UUMSKzu7U/awCn2p2VL2HEf6Jve08Kk=";
};
patches = [
# simple-scan: Use RDNN app ID
# https://gitlab.gnome.org/GNOME/simple-scan/-/issues/390
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/simple-scan/-/commit/c09a6def153e52494072a36233c7e7b3307b67bf.patch";
hash = "sha256-deyssrsVwPAfT5ru6c0LFwR2pEFnZ0v8wMqoi96tw8s=";
})
];
nativeBuildInputs = [
meson
ninja
@@ -64,11 +74,6 @@ stdenv.mkDerivation rec {
patchShebangs data/meson_compile_gschema.py
'';
postInstall = ''
mkdir -p $out/share/icons/hicolor/scalable/actions/
install -m 444 ../data/icons/scalable/actions/* $out/share/icons/hicolor/scalable/actions/
'';
doCheck = true;
passthru = {
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "svu";
version = "2.2.0";
version = "3.0.0";
src = fetchFromGitHub {
owner = "caarlos0";
repo = pname;
rev = "v${version}";
sha256 = "sha256-C5ATwRsi9hJBO9xFlyMDoxu97rJHwcKNToWhcmx6M6g=";
sha256 = "sha256-z+2H49fhi0X7rH1NvgOlkJFCrEftAMk5PA/qUUJIfmY=";
};
vendorHash = "sha256-/FSvNoVDWAkQs09gMrqyoA0su52nlk/nSCYRAhQhbwQ=";
vendorHash = "sha256-lqE5S13VQ7WLow6tXcFOWcK/dw7LvvEDpgRTQ8aJGeg=";
ldflags = [
"-s"
@@ -9,12 +9,12 @@
let
generator = pkgsBuildBuild.buildGoModule rec {
pname = "v2ray-domain-list-community";
version = "20250124154827";
version = "20250216152937";
src = fetchFromGitHub {
owner = "v2fly";
repo = "domain-list-community";
rev = version;
hash = "sha256-E69X6ktgZvW3xrZl+jmQMoPwRQlqU+0RW2epJHyFgeQ=";
hash = "sha256-VmICKm6G5evY1X9jnFD4Ip9BFuFMGqOB5aoIDYcGqJQ=";
};
vendorHash = "sha256-NLh14rXRci4hgDkBJVJDIDvobndB7KYRKAX7UjyqSsg=";
meta = with lib; {
+5 -5
View File
@@ -29,14 +29,14 @@
rustPlatform.buildRustPackage rec {
pname = "wezterm";
version = "0-unstable-2025-02-10";
version = "0-unstable-2025-02-13";
src = fetchFromGitHub {
owner = "wez";
repo = "wezterm";
rev = "52c1ca749552af4d8a2f18ec10fe8f14b6622519";
rev = "ee0c04e735fb94cb5119681f704fb7fa6731e713";
fetchSubmodules = true;
hash = "sha256-4dIu0WczmjfCfYe2/fZybMWfgYd4XezIHUUPVb3ou28=";
hash = "sha256-0jqnSzzfg8ecBaayJI8oP9X0FyijFFT3LA6GKfpAFwI=";
};
postPatch = ''
@@ -53,7 +53,7 @@ rustPlatform.buildRustPackage rec {
--replace-fail 'hash hostnamectl 2>/dev/null' 'command type -P hostnamectl &>/dev/null'
'';
cargoHash = "sha256-2PJBd3nouxK0iIDOKIS9rrXbbts6zTYdrzxxokSiNwo=";
cargoHash = "sha256-WyQYmRNlabJaCTJm7Cn9nkXfOGAcOHwhoD9vmEggrDw=";
useFetchCargoVendor = true;
nativeBuildInputs = [
@@ -66,13 +66,13 @@ rustPlatform.buildRustPackage rec {
buildInputs =
[
fontconfig
openssl
zlib
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libX11
libxcb
libxkbcommon
openssl
wayland
xcbutil
xcbutilimage
+5 -9
View File
@@ -30,20 +30,16 @@ stdenv.mkDerivation rec {
];
buildInputs =
[
python3
]
[ python3 ]
++ (with python3.pkgs; [
numpy
matplotlib
])
++ lib.optionals withRootSupport [
root
];
++ lib.optionals withRootSupport [ root ];
propagatedBuildInputs = [
zlib
];
propagatedBuildInputs = [ zlib ];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-DWITH_OSX";
strictDeps = true;
@@ -18,10 +18,10 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-notifyd";
version = "0.9.6";
version = "0.9.7";
odd-unstable = false;
sha256 = "sha256-TxVz9fUvuS5bl9eq9isalez3/Pro366TGFMBQ2DfIVI=";
sha256 = "sha256-pgdoy3mZOGMOBwK/cYEl8fre4fZo2lfyWzZnrSYlQ64=";
buildInputs = [
dbus
+2 -12
View File
@@ -1,7 +1,6 @@
{
lib,
mkXfceDerivation,
fetchpatch,
exo,
gtk3,
libxfce4ui,
@@ -18,18 +17,9 @@
mkXfceDerivation {
category = "xfce";
pname = "xfdesktop";
version = "4.20.0";
version = "4.20.1";
sha256 = "sha256-80g3lk1TkQI0fbYf2nXs36TrPlaGTHgH6k/TGOzRd3w=";
patches = [
# Fix monitor chooser UI resource path
# https://gitlab.xfce.org/xfce/xfdesktop/-/merge_requests/181
(fetchpatch {
url = "https://gitlab.xfce.org/xfce/xfdesktop/-/commit/699e21b062f56bdc0db192bfe036420b2618612e.patch";
hash = "sha256-YTtXF+OJMHn6KY2xui1qGZ04np9a60asne+8ZS/dujs=";
})
];
sha256 = "sha256-QBzsHXEdTGj8PlgB+L/TJjxAVksKqf+9KrRN3YaBf44=";
buildInputs = [
exo
+2
View File
@@ -43,6 +43,8 @@ makeScopeWithSplicing' {
thunar-media-tags-plugin = callPackage ./thunar-plugins/media-tags { };
thunar-vcs-plugin = callPackage ./thunar-plugins/vcs { };
tumbler = callPackage ./core/tumbler { };
xfce4-panel = callPackage ./core/xfce4-panel { };
@@ -0,0 +1,40 @@
{
lib,
mkXfceDerivation,
thunar,
exo,
libxfce4util,
gtk3,
glib,
subversion,
apr,
aprutil,
withSubversion ? false,
}:
mkXfceDerivation {
category = "thunar-plugins";
pname = "thunar-vcs-plugin";
version = "0.3.0";
odd-unstable = false;
sha256 = "sha256-e9t6lIsvaV/2AAL/7I4Pbcokvy7Lp2+D9sJefTZqB1g=";
buildInputs =
[
thunar
exo
libxfce4util
gtk3
glib
]
++ lib.optionals withSubversion [
apr
aprutil
subversion
];
meta = {
description = "Thunar plugin providing support for Subversion and Git";
maintainers = with lib.maintainers; [ lordmzte ] ++ lib.teams.xfce.members;
};
}
@@ -7,19 +7,19 @@ let
inherit (pkgs.stdenv.hostPlatform) system;
};
ESBUILD_BINARY_PATH = lib.getExe (
pkgs.esbuild.override {
buildGoModule = args: pkgs.buildGoModule (args // rec {
version = "0.20.2";
src = pkgs.fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-h/Vqwax4B4nehRP9TaYbdixAZdb1hx373dNxNHvDrtY=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
});
}
);
pkgs.esbuild.override {
buildGoModule = args: pkgs.buildGoModule (args // rec {
version = "0.20.2";
src = pkgs.fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-h/Vqwax4B4nehRP9TaYbdixAZdb1hx373dNxNHvDrtY=";
};
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
});
}
);
in
with self; with elmLib; {
inherit (nodePkgs) elm-live elm-upgrade elm-xref elm-analyse elm-git-install;
@@ -124,20 +124,7 @@ with self; with elmLib; {
elm-pages = import ./elm-pages { inherit nodePkgs pkgs lib makeWrapper; };
elm-land =
let
patched = patchNpmElm nodePkgs.elm-land;
in
patched.override (old: {
inherit ESBUILD_BINARY_PATH;
meta = with lib; nodePkgs."elm-land".meta // {
description = "Production-ready framework for building Elm applications";
homepage = "https://elm.land/";
license = licenses.bsd3;
maintainers = [ maintainers.zupo ];
};
}
);
elm-land = pkgs.elm-land; # Alias
elm-doc-preview = nodePkgs."elm-doc-preview".overrideAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ old.nodejs.pkgs.node-gyp-build ];
@@ -19,7 +19,7 @@ let
writeShellScript
;
inherit pkgs nodejs;
libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null;
libtool = if pkgs.stdenv.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
@@ -3,7 +3,6 @@
"elm-coverage",
"elm-doc-preview",
"@elm-tooling/elm-language-server",
"elm-land",
"elm-live",
"elm-spa",
"elm-test",
File diff suppressed because it is too large Load Diff
@@ -3,6 +3,7 @@
mkCoqDerivation,
which,
coq,
rocqPackages,
stdlib,
version ? null,
elpi-version ? null,
@@ -34,7 +35,7 @@ derivation = mkCoqDerivation {
owner = "LPCIC";
inherit version;
defaultVersion = lib.switch coq.coq-version [
{ case = "9.0"; out = "2.4.0"; }
{ case = "9.0"; out = "2.5.0"; }
{ case = "8.20"; out = "2.2.0"; }
{ case = "8.19"; out = "2.0.1"; }
{ case = "8.18"; out = "2.0.0"; }
@@ -46,6 +47,7 @@ derivation = mkCoqDerivation {
{ case = "8.12"; out = "1.8.3_8.12"; }
{ case = "8.11"; out = "1.6.3_8.11"; }
] null;
release."2.5.0".sha256 = "sha256-Z5xjO83X/ZoTQlWnVupGXPH3HuJefr57Kv128I0dltg=";
release."2.4.0".sha256 = "sha256-W2+vVGExLLux8e0nSZESSoMVvrLxhL6dmXkb+JuKiqc=";
release."2.2.0".sha256 = "sha256-rADEoqTXM7/TyYkUKsmCFfj6fjpWdnZEOK++5oLfC/I=";
release."2.0.1".sha256 = "sha256-cuoPsEJ+JRLVc9Golt2rJj4P7lKltTrrmQijjoViooc=";
@@ -127,4 +129,23 @@ patched-derivation3 = patched-derivation2.overrideAttrs
propagatedBuildInputs = o.propagatedBuildInputs ++ [ stdlib ];
}
);
in patched-derivation3
patched-derivation4 = patched-derivation3.overrideAttrs
(
o:
# this is just a wrapper for rocPackages.bignums for Rocq >= 9.0
lib.optionalAttrs (coq.version != null && (coq.version == "dev"
|| lib.versions.isGe "9.0" coq.version)) {
configurePhase = ''
echo no configuration
'';
buildPhase = ''
echo building nothing
'';
installPhase = ''
echo installing nothing
'';
propagatedBuildInputs = o.propagatedBuildInputs
++ [ rocqPackages.rocq-elpi ];
}
);
in patched-derivation4
@@ -1,4 +1,4 @@
{ lib, mkCoqDerivation, coq, coq-elpi, version ? null }:
{ lib, mkCoqDerivation, coq, stdlib, coq-elpi, version ? null }:
let hb = mkCoqDerivation {
pname = "hierarchy-builder";
@@ -48,4 +48,7 @@ hb.overrideAttrs (o:
{ installFlags = [ "DESTDIR=$(out)" ] ++ o.installFlags; }
else
{ installFlags = [ "VFILES=structures.v" ] ++ o.installFlags; })
//
lib.optionalAttrs (lib.versions.isLe "1.8.1" o.version)
{ propagatedBuildInputs = o.propagatedBuildInputs ++ [ stdlib ]; }
)
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "simsimd";
version = "6.3.0";
version = "6.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "ashvardanian";
repo = "simsimd";
tag = "v${version}";
hash = "sha256-RQgPjU2uOxOnDacIARMAkKvnUIHLzRsaxLERmTrLj1Q=";
hash = "sha256-8D3mMhGrHATqxc79OvfcG92UnDGjU6YDfFjReXdR6cs=";
};
build-system = [
@@ -41,7 +41,7 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/ashvardanian/SimSIMD/releases/tag/v${version}";
changelog = "https://github.com/ashvardanian/SimSIMD/releases/tag/${src.tag}";
description = "Portable mixed-precision BLAS-like vector math library for x86 and ARM";
homepage = "https://github.com/ashvardanian/simsimd";
license = lib.licenses.asl20;
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "tensordict";
version = "0.7.0";
version = "0.7.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pytorch";
repo = "tensordict";
tag = "v${version}";
hash = "sha256-KbCNBFewMx4kaWMoV+zREj6XTZiwmR4/I3zpf55wuOQ=";
hash = "sha256-tUm1uV9k/IDlR3y/e1aIlU1bjDeh2+zdJdxu8Z9x3es=";
};
build-system = [
@@ -48,14 +48,14 @@
buildPythonPackage rec {
pname = "torchrl";
version = "0.7.0";
version = "0.7.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pytorch";
repo = "rl";
tag = "v${version}";
hash = "sha256-SMVm1XfHHqSkWTDVSqqO3kIxMBgV9A+XrEpJ56AyaBE=";
hash = "sha256-+GE84GusipNZ18euV8ag0AbOtUrYfOxUAeXeCgF2OiI=";
};
build-system = [
@@ -0,0 +1,68 @@
{
lib,
mkRocqDerivation,
which,
rocq-core,
version ? null,
elpi-version ? null,
}:
let
default-elpi-version = if elpi-version != null then elpi-version else (
lib.switch rocq-core.rocq-version [
{ case = "9.0"; out = "2.0.7"; }
] { }
);
elpi = rocq-core.ocamlPackages.elpi.override { version = default-elpi-version; };
propagatedBuildInputs_wo_elpi = [
rocq-core.ocamlPackages.findlib
rocq-core.ocamlPackages.ppx_optcomp
];
derivation = mkRocqDerivation {
pname = "elpi";
repo = "coq-elpi";
owner = "LPCIC";
inherit version;
defaultVersion = lib.switch rocq-core.rocq-version [
{ case = "9.0"; out = "2.5.0"; }
] null;
release."2.5.0".sha256 = "sha256-Z5xjO83X/ZoTQlWnVupGXPH3HuJefr57Kv128I0dltg=";
releaseRev = v: "v${v}";
mlPlugin = true;
useDune = true;
propagatedBuildInputs = propagatedBuildInputs_wo_elpi ++ [ elpi ];
configurePhase = ''
patchShebangs etc/with-rocq-wrap.sh
make dune-files || true
'';
buildPhase = ''
etc/with-rocq-wrap.sh dune build -p rocq-elpi @install ''${enableParallelBuilding:+-j $NIX_BUILD_CORES}
'';
installPhase = ''
etc/with-rocq-wrap.sh dune install --root . rocq-elpi --prefix=$out --libdir $OCAMLFIND_DESTDIR
mkdir $out/lib/coq/
mv $OCAMLFIND_DESTDIR/coq $out/lib/coq/${rocq-core.rocq-version}
'';
meta = {
description = "Rocq plugin embedding ELPI";
maintainers = [ lib.maintainers.cohencyril ];
license = lib.licenses.lgpl21Plus;
};
};
patched-derivation1 = derivation.overrideAttrs
(
o:
lib.optionalAttrs (o ? elpi-version)
{
propagatedBuildInputs = propagatedBuildInputs_wo_elpi ++ [
(rocq-core.ocamlPackages.elpi.override { version = o.elpi-version; })
];
}
);
in patched-derivation1
@@ -11,13 +11,13 @@
buildHomeAssistantComponent rec {
owner = "make-all";
domain = "tuya_local";
version = "2025.1.2";
version = "2025.2.0";
src = fetchFromGitHub {
inherit owner;
repo = "tuya-local";
tag = version;
hash = "sha256-qgNXY31YPzD1R+mdkw1nb35JU1rZ6kNj5Npjn+qfon4=";
hash = "sha256-G/+mAq++bJ2Z41B6gi/izBLvuZwew3Tx/0mGZm4g6TE=";
};
dependencies = [
+2 -2
View File
@@ -67,11 +67,11 @@ let
in
stdenv.mkDerivation rec {
pname = "postfix";
version = "3.9.1";
version = "3.9.2";
src = fetchurl {
url = "https://de.postfix.org/ftpmirror/official/postfix-${version}.tar.gz";
hash = "sha256-xIiUTrA2JXbRj1+MxLmzKjW8s11xuUfarJdkr0dw9kM=";
hash = "sha256-ApB+N9OpZz81eaMmMaimkCWCfqQnnm7gIk2E0fRNhl4=";
};
nativeBuildInputs = [
@@ -0,0 +1,19 @@
diff --git a/lib/web/proxy/reverse_proxy.ex b/lib/web/proxy/reverse_proxy.ex
index 8a78ef27..788ccc30 100644
--- a/lib/web/proxy/reverse_proxy.ex
+++ b/lib/web/proxy/reverse_proxy.ex
@@ -187,9 +187,13 @@ defmodule Mobilizon.Web.ReverseProxy do
@spec response(Plug.Conn.t(), any(), String.t(), pos_integer(), list(tuple()), Keyword.t()) ::
Plug.Conn.t()
defp response(conn, client, url, status, headers, opts) do
+ headers = build_resp_headers(headers, opts)
+ # Fix HTTP/1.1 protocol violation: content-length can't be combined with chunked encoding
+ headers = Enum.reject(headers, fn {k, _} -> k == "content-length" end)
+
result =
conn
- |> put_resp_headers(build_resp_headers(headers, opts))
+ |> put_resp_headers(headers)
|> send_chunked(status)
|> chunk_reply(client, opts)
+13 -4
View File
@@ -19,10 +19,19 @@ in
mixRelease rec {
inherit (common) pname version src;
# Version 5.1.1 failed to bump their internal package version,
# which causes issues with static file serving in the NixOS module.
# See https://github.com/NixOS/nixpkgs/pull/370277
patches = [ ./0001-fix-version.patch ];
patches = [
# Version 5.1.1 failed to bump their internal package version,
# which causes issues with static file serving in the NixOS module.
# See https://github.com/NixOS/nixpkgs/pull/370277
./0001-fix-version.patch
# Mobilizon uses chunked Transfer-Encoding for the media proxy but also
# sets the Content-Length header. This is a HTTP/1.1 protocol violation
# and results in nginx >=1.24 rejecting the response with this error:
# 'upstream sent "Content-Length" and "Transfer-Encoding" headers at the same
# time while reading response header from upstream'
# Upstream PR: https://framagit.org/framasoft/mobilizon/-/merge_requests/1604
./0002-fix-media-proxy.patch
];
nativeBuildInputs = [
git
-4
View File
@@ -50,10 +50,6 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
./locale_archive.patch
(fetchurl {
url = "https://git.alpinelinux.org/aports/plain/main/openssh/gss-serv.c.patch?id=a7509603971ce2f3282486a43bb773b1b522af83";
sha256 = "sha256-eFFOd4B2nccRZAQWwdBPBoKWjfEdKEVGJvKZAzLu3HU=";
})
# See discussion in https://github.com/NixOS/nixpkgs/pull/16966
./dont_create_privsep_path.patch
] ++ extraPatches;
+8 -8
View File
@@ -11,11 +11,11 @@ in
{
openssh = common rec {
pname = "openssh";
version = "9.9p1";
version = "9.9p2";
src = fetchurl {
url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
hash = "sha256-s0P7zb/4fxWxmG5uFdbU/Jp9NgZr5rf7UHCHuo+WbAI=";
hash = "sha256-karbYD4IzChe3fll4RmdAlhfqU2ZTWyuW0Hhch4hVnM=";
};
extraPatches = [ ./ssh-keysign-8.5.patch ];
@@ -24,12 +24,12 @@ in
openssh_hpn = common rec {
pname = "openssh-with-hpn";
version = "9.9p1";
version = "9.9p2";
extraDesc = " with high performance networking patches";
src = fetchurl {
url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
hash = "sha256-s0P7zb/4fxWxmG5uFdbU/Jp9NgZr5rf7UHCHuo+WbAI=";
hash = "sha256-karbYD4IzChe3fll4RmdAlhfqU2ZTWyuW0Hhch4hVnM=";
};
extraPatches =
@@ -67,12 +67,12 @@ in
openssh_gssapi = common rec {
pname = "openssh-with-gssapi";
version = "9.9p1";
version = "9.9p2";
extraDesc = " with GSSAPI support";
src = fetchurl {
url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
hash = "sha256-s0P7zb/4fxWxmG5uFdbU/Jp9NgZr5rf7UHCHuo+WbAI=";
hash = "sha256-karbYD4IzChe3fll4RmdAlhfqU2ZTWyuW0Hhch4hVnM=";
};
extraPatches = [
@@ -80,8 +80,8 @@ in
(fetchpatch {
name = "openssh-gssapi.patch";
url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-2/debian/patches/gssapi.patch";
hash = "sha256-cQF5psMZpLWwVqK9CNi+Q8wHn6w6ffQUJRNI5jKGgD0=";
url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-1/debian/patches/gssapi.patch";
hash = "sha256-JyOXA8Al8IFLdndJQ1LO+r4hJqtXjz1NHwOPiSAQkE8=";
})
];
-4
View File
@@ -17360,10 +17360,6 @@ with pkgs;
hepmc = hepmc2;
};
rivet = callPackage ../development/libraries/physics/rivet {
imagemagick = graphicsmagick-imagemagick-compat;
};
yoda-with-root = lowPrio (yoda.override {
withRootSupport = true;
});
+1
View File
@@ -14,6 +14,7 @@ let
mkRocqDerivation = lib.makeOverridable (callPackage ../build-support/rocq {});
bignums = callPackage ../development/rocq-modules/bignums {};
rocq-elpi = callPackage ../development/rocq-modules/rocq-elpi {};
stdlib = callPackage ../development/rocq-modules/stdlib {};
filterPackages = doesFilter: if doesFilter then filterRocqPackages self else self;