Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-04-02 00:03:05 +00:00 committed by GitHub
commit 84208ebfd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
85 changed files with 1091 additions and 274 deletions

View File

@ -187,6 +187,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [services.xserver.videoDrivers](options.html#opt-services.xserver.videoDrivers) now defaults to the `modesetting` driver over device-specific ones. The `radeon`, `amdgpu` and `nouveau` drivers are still available, but effectively unmaintained and not recommended for use. - [services.xserver.videoDrivers](options.html#opt-services.xserver.videoDrivers) now defaults to the `modesetting` driver over device-specific ones. The `radeon`, `amdgpu` and `nouveau` drivers are still available, but effectively unmaintained and not recommended for use.
- To enable the HTTP3 (QUIC) protocol for a nginx virtual host, set the `quic` attribute on it to true, e.g. `services.nginx.virtualHosts.<name>.quic = true;`.
- conntrack helper autodetection has been removed from kernels 6.0 and up upstream, and an assertion was added to ensure things don't silently stop working. Migrate your configuration to assign helpers explicitly or use an older LTS kernel branch as a temporary workaround. - conntrack helper autodetection has been removed from kernels 6.0 and up upstream, and an assertion was added to ensure things don't silently stop working. Migrate your configuration to assign helpers explicitly or use an older LTS kernel branch as a temporary workaround.
- The `services.pipewire.config` options have been removed, as they have basically never worked correctly. All behavior defined by the default configuration can be overridden with drop-in files as necessary - see [below](#sec-release-23.05-migration-pipewire) for details. - The `services.pipewire.config` options have been removed, as they have basically never worked correctly. All behavior defined by the default configuration can be overridden with drop-in files as necessary - see [below](#sec-release-23.05-migration-pipewire) for details.
@ -284,6 +286,7 @@ In addition to numerous new and upgraded packages, this release has the followin
``` ```
- `services.dhcpcd` service now don't solicit or accept IPv6 Router Advertisements on interfaces that use static IPv6 addresses. - `services.dhcpcd` service now don't solicit or accept IPv6 Router Advertisements on interfaces that use static IPv6 addresses.
If network uses both IPv6 Unique local addresses (ULA) and global IPv6 address auto-configuration with SLAAC, must add the parameter `networking.dhcpcd.IPv6rs = true;`.
- The module `services.headscale` was refactored to be compliant with [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md). To be precise, this means that the following things have changed: - The module `services.headscale` was refactored to be compliant with [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md). To be precise, this means that the following things have changed:

View File

@ -218,6 +218,7 @@ with lib;
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
restartTriggers = optional (cfg.configFile != null) cfg.configFile; restartTriggers = optional (cfg.configFile != null) cfg.configFile;
path = lib.optional (lib.hasPrefix "if," cfg.use) pkgs.iproute2;
serviceConfig = { serviceConfig = {
DynamicUser = true; DynamicUser = true;

View File

@ -81,9 +81,12 @@ let
noipv6 noipv6
''} ''}
${cfg.extraConfig} ${optionalString (config.networking.enableIPv6 && cfg.IPv6rs == null && staticIPv6Addresses != [ ]) noIPv6rs}
${optionalString (config.networking.enableIPv6 && cfg.IPv6rs == false) ''
noipv6rs
''}
${optionalString config.networking.enableIPv6 noIPv6rs} ${cfg.extraConfig}
''; '';
exitHook = pkgs.writeText "dhcpcd.exit-hook" exitHook = pkgs.writeText "dhcpcd.exit-hook"
@ -160,6 +163,16 @@ in
''; '';
}; };
networking.dhcpcd.IPv6rs = mkOption {
type = types.nullOr types.bool;
default = null;
description = lib.mdDoc ''
Force enable or disable solicitation and receipt of IPv6 Router Advertisements.
This is required, for example, when using a static unique local IPv6 address (ULA)
and global IPv6 address auto-configuration with SLAAC.
'';
};
networking.dhcpcd.runHook = mkOption { networking.dhcpcd.runHook = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";

View File

@ -36,7 +36,8 @@ let
); );
''; '';
configFile = pkgs.writeText "config.php" '' configFile = pkgs.writeText "config.php" ''
${strings.fileContents "${pkgs.cloudlog}/install/config/config.php"} <?php
include('${pkgs.cloudlog}/install/config/config.php');
$config['datadir'] = "${cfg.dataDir}/"; $config['datadir'] = "${cfg.dataDir}/";
$config['base_url'] = "${cfg.baseUrl}"; $config['base_url'] = "${cfg.baseUrl}";
${cfg.extraConfig} ${cfg.extraConfig}

View File

@ -184,8 +184,9 @@ let
brotli_types ${lib.concatStringsSep " " compressMimeTypes}; brotli_types ${lib.concatStringsSep " " compressMimeTypes};
''} ''}
${optionalString cfg.recommendedGzipSettings '' ${optionalString cfg.recommendedGzipSettings
# https://docs.nginx.com/nginx/admin-guide/web-server/compression/ # https://docs.nginx.com/nginx/admin-guide/web-server/compression/
''
gzip on; gzip on;
gzip_static on; gzip_static on;
gzip_vary on; gzip_vary on;
@ -311,12 +312,15 @@ let
else defaultListen; else defaultListen;
listenString = { addr, port, ssl, extraParameters ? [], ... }: listenString = { addr, port, ssl, extraParameters ? [], ... }:
(if ssl && vhost.http3 then " # UDP listener for QUIC transport protocol.
# UDP listener for **QUIC+HTTP/3 (if ssl && vhost.quic then "
listen ${addr}:${toString port} http3 " listen ${addr}:${toString port} quic "
+ optionalString vhost.default "default_server " + optionalString vhost.default "default_server "
+ optionalString vhost.reuseport "reuseport " + optionalString vhost.reuseport "reuseport "
+ optionalString (extraParameters != []) (concatStringsSep " " extraParameters) + optionalString (extraParameters != []) (concatStringsSep " " (
let inCompatibleParameters = [ "ssl" "proxy_protocol" "http2" ];
isCompatibleParameter = param: !(any (p: p == param) inCompatibleParameters);
in filter isCompatibleParameter extraParameters))
+ ";" else "") + ";" else "")
+ " + "
@ -363,6 +367,10 @@ let
server { server {
${concatMapStringsSep "\n" listenString hostListen} ${concatMapStringsSep "\n" listenString hostListen}
server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
${optionalString (hasSSL && vhost.quic) ''
http3 ${if vhost.http3 then "on" else "off"};
http3_hq ${if vhost.http3_hq then "on" else "off"};
''}
${acmeLocation} ${acmeLocation}
${optionalString (vhost.root != null) "root ${vhost.root};"} ${optionalString (vhost.root != null) "root ${vhost.root};"}
${optionalString (vhost.globalRedirect != null) '' ${optionalString (vhost.globalRedirect != null) ''
@ -384,9 +392,10 @@ let
ssl_conf_command Options KTLS; ssl_conf_command Options KTLS;
''} ''}
${optionalString (hasSSL && vhost.http3) '' ${optionalString (hasSSL && vhost.quic && vhost.http3)
# Advertise that HTTP/3 is available # Advertise that HTTP/3 is available
add_header Alt-Svc 'h3=":443"; ma=86400' always; ''
add_header Alt-Svc 'h3=":$server_port"; ma=86400';
''} ''}
${mkBasicAuth vhostName vhost} ${mkBasicAuth vhostName vhost}
@ -476,7 +485,8 @@ in
default = false; default = false;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = lib.mdDoc ''
Enable recommended brotli settings. Learn more about compression in Brotli format [here](https://github.com/google/ngx_brotli/blob/master/README.md). Enable recommended brotli settings.
Learn more about compression in Brotli format [here](https://github.com/google/ngx_brotli/).
This adds `pkgs.nginxModules.brotli` to `services.nginx.additionalModules`. This adds `pkgs.nginxModules.brotli` to `services.nginx.additionalModules`.
''; '';
@ -487,6 +497,18 @@ in
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = lib.mdDoc ''
Enable recommended gzip settings. Enable recommended gzip settings.
Learn more about compression in Gzip format [here](https://docs.nginx.com/nginx/admin-guide/web-server/compression/).
'';
};
recommendedZstdSettings = mkOption {
default = false;
type = types.bool;
description = lib.mdDoc ''
Enable recommended zstd settings.
Learn more about compression in Zstd format [here](https://github.com/tokers/zstd-nginx-module).
This adds `pkgs.nginxModules.zstd` to `services.nginx.additionalModules`.
''; '';
}; };
@ -498,16 +520,6 @@ in
''; '';
}; };
recommendedZstdSettings = mkOption {
default = false;
type = types.bool;
description = lib.mdDoc ''
Enable recommended zstd settings. Learn more about compression in Zstd format [here](https://github.com/tokers/zstd-nginx-module).
This adds `pkgs.nginxModules.zstd` to `services.nginx.additionalModules`.
'';
};
proxyTimeout = mkOption { proxyTimeout = mkOption {
type = types.str; type = types.str;
default = "60s"; default = "60s";
@ -1027,6 +1039,14 @@ in
services.nginx.virtualHosts.<name>.useACMEHost are mutually exclusive. services.nginx.virtualHosts.<name>.useACMEHost are mutually exclusive.
''; '';
} }
{
assertion = cfg.package.pname != "nginxQuic" -> all (host: !host.quic) (attrValues virtualHosts);
message = ''
services.nginx.service.virtualHosts.<name>.quic requires using nginxQuic package,
which can be achieved by setting `services.nginx.package = pkgs.nginxQuic;`.
'';
}
] ++ map (name: mkCertOwnershipAssertion { ] ++ map (name: mkCertOwnershipAssertion {
inherit (cfg) group user; inherit (cfg) group user;
cert = config.security.acme.certs.${name}; cert = config.security.acme.certs.${name};

View File

@ -188,24 +188,54 @@ with lib;
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = lib.mdDoc ''
Whether to enable HTTP 2. Whether to enable the HTTP/2 protocol.
Note that (as of writing) due to nginx's implementation, to disable Note that (as of writing) due to nginx's implementation, to disable
HTTP 2 you have to disable it on all vhosts that use a given HTTP/2 you have to disable it on all vhosts that use a given
IP address / port. IP address / port.
If there is one server block configured to enable http2,then it is If there is one server block configured to enable http2, then it is
enabled for all server blocks on this IP. enabled for all server blocks on this IP.
See https://stackoverflow.com/a/39466948/263061. See https://stackoverflow.com/a/39466948/263061.
''; '';
}; };
http3 = mkOption { http3 = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Whether to enable the HTTP/3 protocol.
This requires using `pkgs.nginxQuic` package
which can be achieved by setting `services.nginx.package = pkgs.nginxQuic;`
and activate the QUIC transport protocol
`services.nginx.virtualHosts.<name>.quic = true;`.
Note that HTTP/3 support is experimental and
*not* yet recommended for production.
Read more at https://quic.nginx.org/
'';
};
http3_hq = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = lib.mdDoc ''
Whether to enable HTTP 3. Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.
This requires using `pkgs.nginxQuic` package
which can be achieved by setting `services.nginx.package = pkgs.nginxQuic;`
and activate the QUIC transport protocol
`services.nginx.virtualHosts.<name>.quic = true;`.
Note that special application protocol support is experimental and
*not* yet recommended for production.
Read more at https://quic.nginx.org/
'';
};
quic = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to enable the QUIC transport protocol.
This requires using `pkgs.nginxQuic` package This requires using `pkgs.nginxQuic` package
which can be achieved by setting `services.nginx.package = pkgs.nginxQuic;`. which can be achieved by setting `services.nginx.package = pkgs.nginxQuic;`.
Note that HTTP 3 support is experimental and Note that QUIC support is experimental and
*not* yet recommended for production. *not* yet recommended for production.
Read more at https://quic.nginx.org/ Read more at https://quic.nginx.org/
''; '';

View File

@ -36,8 +36,10 @@ in
sslCertificateKey = ./common/acme/server/acme.test.key.pem; sslCertificateKey = ./common/acme/server/acme.test.key.pem;
http2 = true; http2 = true;
http3 = true; http3 = true;
http3_hq = false;
quic = true;
reuseport = true; reuseport = true;
root = lib.mkForce (pkgs.runCommandLocal "testdir2" {} '' root = lib.mkForce (pkgs.runCommandLocal "testdir" {} ''
mkdir "$out" mkdir "$out"
cat > "$out/index.html" <<EOF cat > "$out/index.html" <<EOF
<html><body>Hello World!</body></html> <html><body>Hello World!</body></html>
@ -82,6 +84,8 @@ in
# Check header reading # Check header reading
client.succeed("curl --verbose --http3 --head https://acme.test | grep 'content-type'") client.succeed("curl --verbose --http3 --head https://acme.test | grep 'content-type'")
client.succeed("curl --verbose --http3 --head https://acme.test | grep 'HTTP/3 200'")
client.succeed("curl --verbose --http3 --head https://acme.test/error | grep 'HTTP/3 404'")
# Check change User-Agent # Check change User-Agent
client.succeed("curl --verbose --http3 --user-agent 'Curl test 3.0' https://acme.test") client.succeed("curl --verbose --http3 --user-agent 'Curl test 3.0' https://acme.test")

View File

@ -0,0 +1,39 @@
{ lib, stdenv, fetchFromGitHub, fetchNuGet, linkFarmFromDrvs, buildDotnetModule, ffmpeg-full, msbuild, dotnetCorePackages }:
let
nugetSource = linkFarmFromDrvs "nuget-packages" (
import ./nuget-deps.nix { inherit fetchNuGet; }
);
in buildDotnetModule rec {
pname = "tone";
version = "0.1.3";
src = fetchFromGitHub {
owner = "sandreas";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Z3cumXAIJhUB3/EbzB08MfBCrga1JHtDKr44TmRQuno=";
};
projectFile = "tone/tone.csproj";
executables = [ "tone" ];
nugetDeps = ./nuget-deps.nix;
dotnetBuildFlags = [ "--no-self-contained" ];
dotnetInstallFlags = [
"-p:PublishSingleFile=false"
"-p:PublishTrimmed=false"
"-p:PublishReadyToRun=false"
];
dotnet-sdk = dotnetCorePackages.sdk_6_0;
runtimeDeps = [ ffmpeg-full ];
meta = with lib; {
homepage = "https://github.com/sandreas/tone";
description = "tone is a cross platform utility to dump and modify audio metadata for a wide variety of formats";
license = licenses.asl20;
maintainers = [ maintainers.jvanbruegge ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,55 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
(fetchNuGet { pname = "CliWrap"; version = "3.6.0"; sha256 = "0x96awy81kn0dr8h5d376cgfzxg5bvmzd610rc017nliv152zkw2"; })
(fetchNuGet { pname = "CSharp.OperationResult"; version = "0.1.6"; sha256 = "127hjd30vvcks977yxxh59g89dbsf7h1khcr1vignrgk9fanvzyi"; })
(fetchNuGet { pname = "Esprima"; version = "3.0.0-beta-9"; sha256 = "1gwdi537832z5whyqx58474ys2akgmrkabm51sy7725c91814snz"; })
(fetchNuGet { pname = "grok.net"; version = "1.1.0"; sha256 = "01vm1b658dwxcxp1l4cpsplg8pwpmbs6v6fbqwg1lvrm7li9bgjz"; })
(fetchNuGet { pname = "Jint"; version = "3.0.0-beta-2044"; sha256 = "0sy0qy33gn54sszhq4dkiihxd224n58xhcxg46qi4p3i93qn3snl"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "7.0.0"; sha256 = "0n1grglxql9llmrsbbnlz5chx8mxrb5cpvjngm0hfyrkgzcwz90d"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "7.0.0"; sha256 = "1as8cygz0pagg17w22nsf6mb49lr2mcl1x8i3ad1wi8lyzygy1a3"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.0.0"; sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "7.0.0"; sha256 = "1qifb1pv7s76lih8wnjk418wdk4qwn87q2n6dx54knfvxai410bl"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "7.0.0"; sha256 = "0nhh7rnh45s39x8sjn88czg7nyfpry85pkm0g619j8b468zj8nb4"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "7.0.0"; sha256 = "1fk7dcz6gfhd1k1d8ksz22rnjvj1waqjzk29ym4i3dz73rsq8j1i"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "7.0.0"; sha256 = "05zjmrpp99l128wijp1fy8asskc11ls871qaqr4mjnz3gbfycxnj"; })
(fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "7.0.0"; sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; })
(fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; })
(fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; })
(fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.0.0"; sha256 = "1cm0hycgb33mf1ja9q91wxi3gk13d1p462gdq7gndrya23hw2jm5"; })
(fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "7.0.0"; sha256 = "0ff20yklyjgyjzdyv7sybczgqhgd557m05dbwxzjznr0x41b180d"; })
(fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "7.0.0"; sha256 = "1f1h0l47abw0spssd64qkhgd7b54pyzslyb586zp21milimcfmgv"; })
(fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "7.0.0"; sha256 = "1812vnkn8n0i4yr3k5azcxcfx1bbpcsmms95rdyxjfrzfksr05ai"; })
(fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.0.0"; sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; })
(fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.0.0"; sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; })
(fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.0.0"; sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; })
(fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "7.0.0"; sha256 = "0b90zkrsk5dw3wr749rbynhpxlg4bgqdnd7d5vdlw2g9c7zlhgx6"; })
(fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "7.0.0"; sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; })
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Crossgen2.linux-x64"; version = "6.0.13"; sha256 = "0sjd1npl37mky8gqi4bir2fgp0bm6y3jy641asfxa0k0cidbfzwl"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.2"; sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; })
(fetchNuGet { pname = "Sandreas.AudioMetadata"; version = "0.1.1"; sha256 = "11ibv23h7qj5qshibmlsqmjca51dqbhib9p1gz66c5kqhk7ci38j"; })
(fetchNuGet { pname = "Sandreas.Files"; version = "1.1.2"; sha256 = "08qk229q2y1dpdxdnp8xi9mgk8fgpjxrxm4z6ak8n09npp67nhn0"; })
(fetchNuGet { pname = "Sandreas.SpectreConsoleHelpers"; version = "0.0.2"; sha256 = "1vy2fka11n0smgrbwdxabl6cdcsg6fv1gymxrws8m0sf9qm64nd1"; })
(fetchNuGet { pname = "Serilog"; version = "2.12.0"; sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; })
(fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "3.1.0"; sha256 = "0lv370ks2fjdn1nsgkbzbmw6hybnincw3jabr471a5w39pp4fl1c"; })
(fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "3.4.0"; sha256 = "1l6fyy9y5a168i1mm107aqyrwzhqmpy0cp1v13l2b89yv8dc105j"; })
(fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.1.0"; sha256 = "1rpkphmqfh3bv3m7v1zwz88wz4sirj4xqyff9ga0c6bqhblj6wii"; })
(fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; })
(fetchNuGet { pname = "Spectre.Console"; version = "0.46.0"; sha256 = "1fr7090f2s7q9cw1k25m439blgicsbgl9k5nhqql9xvp0b00s4n9"; })
(fetchNuGet { pname = "Spectre.Console.Cli"; version = "0.46.0"; sha256 = "00clv0mw97z8a9r7zam97prdv4ich33m4dhi7v8mjdqwwhj6q4jr"; })
(fetchNuGet { pname = "System.IO.Abstractions"; version = "19.0.1"; sha256 = "16dasj8bwsdyl5phgqgfgswkbghzdb3sq7sidigr3b5ykna6n96g"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; })
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
(fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; })
(fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; })
(fetchNuGet { pname = "System.Text.Json"; version = "7.0.0"; sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; })
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "19.0.1"; sha256 = "01v2wgb6y2z7df4b2dsy0jb4hnhpv5kgyxypzyqdk7h6plad2axd"; })
(fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "19.0.1"; sha256 = "1ms8wqar5w3z2y2qgxii9pqnsb4f1aikji2vaw01zxvnh2wry42n"; })
(fetchNuGet { pname = "Ude.NetStandard"; version = "1.2.0"; sha256 = "074yff6g272zpkhk0zvmbfiaaxyp3b05fl24i7ffp2jf9r8bnfpl"; })
(fetchNuGet { pname = "z440.atl.core"; version = "4.18.0"; sha256 = "0wwqhpl3xw9vf6c5idz1kwpd72kbg7b9fcmj6gmccxa99kcgljzk"; })
]

View File

@ -58,12 +58,12 @@ let
}; };
# this plugin checks that it's ftplugin/vim.tex is loaded before $VIMRUNTIME/ftplugin/vim.tex # this plugin checks that it's ftplugin/vim.tex is loaded before $VIMRUNTIME/ftplugin/vim.tex
# the answer is store in `plugin_was_loaded_too_late` in the cwd # $VIMRUNTIME/ftplugin/vim.tex sources $VIMRUNTIME/ftplugin/initex.vim which sets b:did_ftplugin
# we save b:did_ftplugin's value in a `plugin_was_loaded_too_late` file
texFtplugin = (pkgs.runCommandLocal "tex-ftplugin" {} '' texFtplugin = (pkgs.runCommandLocal "tex-ftplugin" {} ''
mkdir -p $out/ftplugin mkdir -p $out/ftplugin
echo 'call system("echo ". exists("b:did_ftplugin") . " > plugin_was_loaded_too_late")' > $out/ftplugin/tex.vim echo 'call system("echo ". exists("b:did_ftplugin") . " > plugin_was_loaded_too_late")' >> $out/ftplugin/tex.vim
echo ':q!' >> $out/ftplugin/tex.vim echo ':q!' >> $out/ftplugin/tex.vim
echo '\documentclass{article}' > $out/main.tex
'') // { pname = "test-ftplugin"; }; '') // { pname = "test-ftplugin"; };
# neovim-drv must be a wrapped neovim # neovim-drv must be a wrapped neovim
@ -141,10 +141,12 @@ rec {
# files from $VIMRUNTIME # files from $VIMRUNTIME
run_nvim_with_ftplugin = runTest nvim_with_ftplugin '' run_nvim_with_ftplugin = runTest nvim_with_ftplugin ''
export HOME=$TMPDIR export HOME=$TMPDIR
${nvim_with_ftplugin}/bin/nvim ${texFtplugin}/main.tex echo '\documentclass{article}' > main.tex
result="$(cat plugin_was_loaded_too_late)"
echo $result ${nvim_with_ftplugin}/bin/nvim main.tex -c "set ft?" -c quit
[ "$result" = 0 ] ls -l $TMPDIR
# if the file exists, then our plugin has been loaded instead of neovim's
[ ! -f plugin_was_loaded_too_late ]
''; '';
@ -260,13 +262,12 @@ rec {
packadd dashboard-nvim-unique-for-tests-please-dont-use-opt packadd dashboard-nvim-unique-for-tests-please-dont-use-opt
" Try to run Dashboard again, and throw if it fails " Try to run Dashboard again, and throw if it fails
try let res = exists(':Dashboard')
Dashboard if res == 0
echo "Dashboard found"
catch /^Vim\%((\a\+)\)\=:E492/
echo "Dashboard not found, throwing error" echo "Dashboard not found, throwing error"
cquit 1 cquit 1
endtry endif
cquit 0
''; '';
}; };

View File

@ -1,38 +1,61 @@
{ lib { lib
, pkgs
, file
, openssl
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, waylandSupport ? stdenv.isLinux , makeWrapper
, x11Support ? stdenv.isLinux , file
, openssl
, atool
, bat
, chafa
, delta
, ffmpeg
, ffmpegthumbnailer
, fontforge
, glow
, imagemagick
, jq
, ueberzug
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ctpv"; pname = "ctpv";
version = "1.0"; version = "1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NikitaIvanovV"; owner = "NikitaIvanovV";
repo = "${pname}"; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-0OuskRCBVm8vMd2zH5u5EPABmCOlEv5N4ZZMdc7bAwM="; hash = "sha256-3BQi4m44hBmPkJBFNCg6d9YKRbDZwLxdzBb/NDWTQP4=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [ makeWrapper ];
buildInputs = [
file # libmagic file # libmagic
openssl openssl
]; ];
buildInputs = with pkgs; [
ffmpegthumbnailer ffmpeg
] ++ lib.optionals waylandSupport [ chafa ]
++ lib.optionals x11Support [ ueberzug ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
preFixup = ''
wrapProgram $out/bin/ctpv \
--prefix PATH ":" "${lib.makeBinPath [
atool # for archive files
bat
chafa # for image files on Wayland
delta # for diff files
ffmpeg
ffmpegthumbnailer
fontforge
glow # for markdown files
imagemagick
jq # for json files
ueberzug # for image files on X11
]}";
'';
meta = with lib; { meta = with lib; {
description = "Image previews for lf (list files) file manager"; description = "File previewer for a terminal";
homepage = "https://github.com/NikitaIvanovV/ctpv"; homepage = "https://github.com/NikitaIvanovV/ctpv";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -18,7 +18,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "komikku"; pname = "komikku";
version = "1.16.0"; version = "1.17.0";
format = "other"; format = "other";
@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "valos"; owner = "valos";
repo = "Komikku"; repo = "Komikku";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-SzK86uzdGnNFNtbvw56n3AxjxcCBjHFs9wD98TVggAo="; hash = "sha256-DxW9uefY6Fks3qSUeLMp3BB85SfLgzwBr4KO9do2y2o=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,59 @@
{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, appstream-glib
, desktop-file-utils
, glib
, gtk4
, libadwaita
}:
stdenv.mkDerivation rec {
pname = "paleta";
version = "0.3.1";
src = fetchFromGitHub {
owner = "nate-xyz";
repo = pname;
rev = "v${version}";
hash = "sha256-c+X49bMywstRg7cSAbbpG/vd8OUB7RhdQVRumTIBDDk=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-2/ZfKvlvAY4pfUU3F9pEw+OR5oRSsSAAi3/W5x4zVs0=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook4
appstream-glib
desktop-file-utils
] ++ (with rustPlatform; [
cargoSetupHook
rust.cargo
rust.rustc
]);
buildInputs = [
glib
gtk4
libadwaita
];
meta = with lib; {
description = "Extract the dominant colors from any image";
homepage = "https://github.com/nate-xyz/paleta";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ zendo ];
};
}

View File

@ -0,0 +1,87 @@
{ stdenv, lib, qtbase, wrapQtAppsHook, fetchFromGitHub,
addOpenGLRunpath, poppler_utils, qtxmlpatterns, qtsvg, mesa, gcc, xvfb-run,
fontconfig, freetype, xorg, ccache, qmake, python3, qttools, git
}:
let
qtPython = python3.withPackages (pkgs: with pkgs; [ pyqt5 ]);
in
stdenv.mkDerivation rec {
pname = "seamly2d";
version = "2022-08-15.0339";
src = fetchFromGitHub {
owner = "FashionFreedom";
repo = "Seamly2D";
rev = "v${version}";
sha256 = "13jxkg84jfz8g52zwhh5jvi23wryzkavwbsfalzr9m04blj5xnik";
};
buildInputs = [
git
qtPython
qtbase
poppler_utils
qtxmlpatterns
qtsvg
mesa
freetype
xorg.libXi
xorg.libXrender
xorg.libxcb
];
nativeBuildInputs = [
addOpenGLRunpath
xvfb-run
fontconfig
wrapQtAppsHook
qmake
qttools
];
postPatch = ''
substituteInPlace common.pri \
--replace '$$[QT_INSTALL_HEADERS]/QtXmlPatterns' '${lib.getDev qtxmlpatterns}/include/QtXmlPatterns' \
--replace '$$[QT_INSTALL_HEADERS]/QtSvg' '${lib.getDev qtsvg}/include/QtSvg' \
--replace '$$[QT_INSTALL_HEADERS]/' '${lib.getDev qtbase}/include/' \
--replace '$$[QT_INSTALL_HEADERS]' '${lib.getDev qtbase}'
substituteInPlace src/app/translations.pri \
--replace '$$[QT_INSTALL_BINS]/$$LRELEASE' '${lib.getDev qttools}/bin/lrelease'
substituteInPlace src/app/seamly2d/mainwindowsnogui.cpp \
--replace 'define PDFTOPS "pdftops"' 'define PDFTOPS "${lib.getBin poppler_utils}/bin/pdftops"'
substituteInPlace src/libs/vwidgets/export_format_combobox.cpp \
--replace 'define PDFTOPS "pdftops"' 'define PDFTOPS "${lib.getBin poppler_utils}/bin/pdftops"'
substituteInPlace src/app/seamlyme/mapplication.cpp \
--replace 'diagrams.rcc' '../share/diagrams.rcc'
'';
qmakeFlags = [
"PREFIX=/"
"PREFIX_LIB=/lib"
"Seamly2D.pro"
"-r"
"CONFIG+=noDebugSymbols"
"CONFIG+=no_ccache"
];
installFlags = [ "INSTALL_ROOT=$(out)" ];
postInstall = ''
mv $out/usr/share $out/
rmdir $out/usr
mv $out/share/seamly2d/* $out/share/.
rmdir $out/share/seamly2d
mkdir -p $out/share/mime/packages
cp dist/debian/seamly2d.sharedmimeinfo $out/share/mime/packages/seamly2d.xml
'';
meta = {
description = "Open source patternmaking software";
homepage = "https://seamly.net/";
license = lib.licenses.gpl3;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ WhittlesJr ];
};
}

View File

@ -12,12 +12,12 @@ let
if extension == "zip" then fetchzip args else fetchurl args; if extension == "zip" then fetchzip args else fetchurl args;
pname = "1password-cli"; pname = "1password-cli";
version = "2.16.0"; version = "2.16.1";
sources = rec { sources = rec {
aarch64-linux = fetch "linux_arm64" "sha256-G0kn3BsgC8En4wNNr0aUSa52is+xmx3Ho+l3aMxKcKs=" "zip"; aarch64-linux = fetch "linux_arm64" "sha256-8zKxd2yY8syGhgyPv06b+ag2bEfFfG19ZmQPrfi+Qh4=" "zip";
i686-linux = fetch "linux_386" "sha256-b5v8BGf7QkEU61TrLhCWprxcpUJp5BmUwrB9Oi+qyDI=" "zip"; i686-linux = fetch "linux_386" "sha256-3OO0JMJMRqbmq/rD/VRKIMBdjYu66ebEFGNLKX9K6A8=" "zip";
x86_64-linux = fetch "linux_amd64" "sha256-ctHNRESQp+l7s1uXCv6AgNBARFQJydA/rLfdYDNyDXU=" "zip"; x86_64-linux = fetch "linux_amd64" "sha256-ZCXfreBiFDc5YFd9YsMddEvzl22KwnnfSQsV6BmHqeA=" "zip";
aarch64-darwin = fetch "apple_universal" "sha256-j+BiFJawqAhZHJhYDQx51G/aEgwAqq7mXedP65HyaGo=" "pkg"; aarch64-darwin = fetch "apple_universal" "sha256-vlsqvz+AgEhL7M8cJhxmjjZ6ocIVUdq7MC1EVZOExU8=" "pkg";
x86_64-darwin = aarch64-darwin; x86_64-darwin = aarch64-darwin;
}; };
platforms = builtins.attrNames sources; platforms = builtins.attrNames sources;

View File

@ -0,0 +1,35 @@
{ appimageTools, lib, fetchurl, stdenv }:
let
pname = "golden-cheetah";
version = "3.6-RC3";
src = fetchurl {
url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v3.6-DEV_x64.AppImage";
hash = "sha256-Bp1IFql96tHc5ssg9nhTrFQqNtaM+5iYJguPGkguvns=";
};
appimageContents = appimageTools.extract { inherit pname src version; };
in
appimageTools.wrapType2 {
inherit pname src version;
extraPkgs = pkgs: with pkgs; [ R zlib libusb-compat-0_1 ];
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/GoldenCheetah
mkdir -p $out/share/applications
mkdir -p $out/share/pixmaps
cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/
cp ${appimageContents}/gc.png $out/share/pixmaps/
'';
meta = with lib; {
description = "Performance software for cyclists, runners and triathletes. This version includes the API Tokens for e.g. Strava";
platforms = platforms.linux;
broken = !stdenv.isx86_64;
maintainers = with maintainers; [ gador ];
license = licenses.gpl2Plus;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
};
}

View File

@ -73,7 +73,7 @@ in mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
description = "Performance software for cyclists, runners and triathletes"; description = "Performance software for cyclists, runners and triathletes. Built from source and without API tokens";
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ adamcstephens ]; maintainers = with maintainers; [ adamcstephens ];
license = licenses.gpl2Plus; license = licenses.gpl2Plus;

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libosmocore"; pname = "libosmocore";
version = "1.7.0"; version = "1.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "osmocom"; owner = "osmocom";
repo = "libosmocore"; repo = "libosmocore";
rev = version; rev = version;
hash = "sha256-Dkud3ZA9m/UVbPugbQztUJXFpkQYTWjK2mamxfto9JA="; hash = "sha256-xs8XI6xIUIZ7e0b+z4+FB6jNGY08t1wI4Ud8EHdi93I=";
}; };
postPatch = '' postPatch = ''
@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
talloc talloc
libmnl
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
@ -38,7 +39,6 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
gnutls gnutls
libmnl
libusb1 libusb1
lksctp-tools lksctp-tools
pcsclite pcsclite

View File

@ -19,13 +19,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "p2pool"; pname = "p2pool";
version = "2.7"; version = "3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SChernykh"; owner = "SChernykh";
repo = "p2pool"; repo = "p2pool";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-j3SVwat/LGw/iGcyNn8acR29Ob/WXDKyeCfDTsH+gxA="; sha256 = "sha256-yHxg/9QhaDNlUFzylftsJEk+pJoSoTfA0rJfcolBdTs=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
buildInputs = [ libuv zeromq libsodium gss hwloc openssl curl ] buildInputs = [ libuv zeromq libsodium gss hwloc openssl curl ]
++ lib.optionals stdenv.isDarwin [ Foundation ]; ++ lib.optionals stdenv.isDarwin [ Foundation ];
cmakeFlags = ["-DWITH_LTO=OFF"];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "asn"; pname = "asn";
version = "0.73"; version = "0.73.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nitefood"; owner = "nitefood";
repo = "asn"; repo = "asn";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-z0vjYU6k+6p/lASqOase91aqkUvmuy8sUBjsq2OPnxE="; sha256 = "sha256-W8Q6DOvLdp3iRi7OvTsvIdb8XnUatK/vt7bhtwtep/8=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "irssi"; pname = "irssi";
version = "1.4.3"; version = "1.4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "irssi"; owner = "irssi";
repo = "irssi"; repo = "irssi";
rev = version; rev = version;
hash = "sha256-wRJp4KfI+2IAJ70XW7+0LR83cRvS/SGq7CpDVuc636Q="; hash = "sha256-a/+9M2zoywZBdOfXHrA4O6Q9W7HJZNTthB/aseUNefA=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,43 @@
{ lib
, mkDerivation
, fetchzip
, wrapQtAppsHook
, autoPatchelfHook
, qtbase
, qtmultimedia
, qtx11extras
}:
mkDerivation rec {
pname = "beebeep";
version = "5.8.6";
src = fetchzip {
url = "https://netix.dl.sourceforge.net/project/beebeep/Linux/beebeep-${version}-qt5-amd64.tar.gz";
sha256 = "sha256-YDgFRXFBM1tjLP99mHYJadgccHJYYPAZ1kqR+FngLKU=";
};
nativeBuildInputs = [
wrapQtAppsHook
autoPatchelfHook
];
buildInputs = [
qtbase
qtmultimedia
qtx11extras
];
installPhase = ''
mkdir -p $out/bin
cp * $out/bin
'';
meta = with lib; {
homepage = "https://www.beebeep.net/";
description = "BeeBEEP is the free office messenger that is indispensable in all those places where privacy and security are an essential requirement.";
platforms = platforms.linux;
license = licenses.gpl2Only;
maintainers = with maintainers; [ mglolenstine ];
};
}

View File

@ -19,7 +19,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "iotas"; pname = "iotas";
version = "0.1.9"; version = "0.1.11";
format = "other"; format = "other";
src = fetchFromGitLab { src = fetchFromGitLab {
@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "cheywood"; owner = "cheywood";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-TdsqxpJq2+hoLHcJ58JQ20TWerZMXL3wkT9oIlVkrk4="; hash = "sha256-exXY0JFGuDZTbMmUEM+sFEitHXCsFBAHjybIyMmilk8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -47,13 +47,13 @@
, pname ? "gnuradio" , pname ? "gnuradio"
, versionAttr ? { , versionAttr ? {
major = "3.10"; major = "3.10";
minor = "5"; minor = "6";
patch = "1"; patch = "0";
} }
}: }:
let let
sourceSha256 = "sha256-D5Bsj70IHFOLPZQbaxkGdx7Lz94bXhCfnNfhZb3dDp4="; sourceSha256 = "sha256-WLxb9vJBlRfo9bKWEIsCI0Zb040XkLNjYw84j6ivOrk=";
featuresInfo = { featuresInfo = {
# Needed always # Needed always
basic = { basic = {

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gridtracker"; pname = "gridtracker";
version = "1.23.0206"; version = "1.23.0402";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gridtracker.org"; owner = "gridtracker.org";
repo = "gridtracker"; repo = "gridtracker";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-XWjKJga9aQrMb0ZfA4ElsPU1CfMwFtwYSK1vjgtlKes="; sha256 = "sha256-6SQuFN8Fi0fbWCYrQIIeSaXR2haI7uux4txCPKEoJvo=";
}; };
postPatch = '' postPatch = ''

View File

@ -1,14 +1,14 @@
{ {
"version": "15.10.0", "version": "15.10.1",
"repo_hash": "sha256-jpJd6CneCfw+Ia0CTlX5YcEMl+2Tmd2+zfw8L+hKYTk=", "repo_hash": "sha256-BETTehy2GxZDGWLgdao1I0cqm4cNaL9lhXe+JmCNi10=",
"yarn_hash": "1il8dnjb7591ss6w14zibdihg3bylw866jjjclv1qm8cihp8k3y8", "yarn_hash": "1il8dnjb7591ss6w14zibdihg3bylw866jjjclv1qm8cihp8k3y8",
"owner": "gitlab-org", "owner": "gitlab-org",
"repo": "gitlab", "repo": "gitlab",
"rev": "v15.10.0-ee", "rev": "v15.10.1-ee",
"passthru": { "passthru": {
"GITALY_SERVER_VERSION": "15.10.0", "GITALY_SERVER_VERSION": "15.10.1",
"GITLAB_PAGES_VERSION": "15.10.0", "GITLAB_PAGES_VERSION": "15.10.1",
"GITLAB_SHELL_VERSION": "14.18.0", "GITLAB_SHELL_VERSION": "14.18.0",
"GITLAB_WORKHORSE_VERSION": "15.10.0" "GITLAB_WORKHORSE_VERSION": "15.10.1"
} }
} }

View File

@ -11,7 +11,7 @@ let
gemdir = ./.; gemdir = ./.;
}; };
version = "15.10.0"; version = "15.10.1";
package_version = "v${lib.versions.major version}"; package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
@ -22,7 +22,7 @@ let
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitaly"; repo = "gitaly";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MHxpij4aT4sq7csWRAEr6NQ9PdFkEnrEPegVtBIXUNo="; sha256 = "sha256-iGYmBMRno2qCvdklyztGTV48m0UMeozuyX7ZZdS7K/c=";
}; };
vendorSha256 = "sha256-knuUyJGz5JvYyKeDQ66cMQQSh2YKkkDB54iCir1QpEY="; vendorSha256 = "sha256-knuUyJGz5JvYyKeDQ66cMQQSh2YKkkDB54iCir1QpEY=";

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "gitlab-pages"; pname = "gitlab-pages";
version = "15.10.0"; version = "15.10.1";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-pages"; repo = "gitlab-pages";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-LTUGWnZCqyLA5kNlCWMVGIOivfWVGb6GcAdO2tNW1/o="; sha256 = "sha256-FZ7Ifb8bau1helYnmKcS90oASnjF/knxbtPsck6lwKk=";
}; };
vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo="; vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo=";

View File

@ -5,7 +5,7 @@ in
buildGoModule rec { buildGoModule rec {
pname = "gitlab-workhorse"; pname = "gitlab-workhorse";
version = "15.10.0"; version = "15.10.1";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = data.owner; owner = data.owner;

View File

@ -231,8 +231,9 @@ stdenv.mkDerivation rec {
# Add a qemu-kvm wrapper for compatibility/convenience. # Add a qemu-kvm wrapper for compatibility/convenience.
postInstall = '' postInstall = ''
ln -s $out/libexec/virtiofsd $out/bin
ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm
'' + lib.optionalString stdenv.isLinux ''
ln -s $out/libexec/virtiofsd $out/bin
''; '';
passthru = { passthru = {

View File

@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
buildNpmPackage rec { buildNpmPackage rec {
pname = if set != null then "iosevka-${set}" else "iosevka"; pname = if set != null then "iosevka-${set}" else "iosevka";
version = "20.0.0"; version = "22.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "be5invis"; owner = "be5invis";
repo = "iosevka"; repo = "iosevka";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-JXlv9/P5tBAnRVNCBavG5AtM11Q6mikTN+Qu+u3pLP0="; hash = "sha256-TvzUUuwmDP2K1deUsODV/FDjPTgZjVvilUdfrkeaO88=";
}; };
npmDepsHash = "sha256-fecGkN6MEdBP8UokBY/w0TnPOC93KsAISEg3VW0bvHU="; npmDepsHash = "sha256-G+iAGKweh5MOFTaNHLnSUwVMTSlgL/w0zrS2SrJrsJE=";
nativeBuildInputs = [ nativeBuildInputs = [
remarshal remarshal

View File

@ -902,4 +902,16 @@ rec {
platforms = platforms.all; platforms = platforms.all;
}; };
}; };
/* POLISH */
pl_PL = pl-pl;
pl-pl = mkDictFromLibreOffice {
shortName = "pl-pl";
dictFileName = "pl_PL";
shortDescription = "Polish (Poland)";
readmeFile = "README_en.txt";
# the README doesn't specify versions of licenses :/
license = with lib.licenses; [ gpl2Plus lgpl2Plus mpl10 asl20 cc-by-sa-25 ];
};
} }

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libzim"; pname = "libzim";
version = "8.1.0"; version = "8.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openzim"; owner = "openzim";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-ab7UUF+I0/xaGChvdjylEQRHLOjmtg/wk+/JEGehGLE="; hash = "sha256-t3ssScI66oJ0lT1saAFLJACAZZmfBqZP0EGUM8MykHY=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -7,13 +7,34 @@ let
coreutils file findutils gawk gnugrep gnused jdk python3 which coreutils file findutils gawk gnugrep gnused jdk python3 which
]) + ":${platform-tools}/platform-tools"; ]) + ":${platform-tools}/platform-tools";
in in
deployAndroidPackage { deployAndroidPackage rec {
inherit package os; inherit package os;
nativeBuildInputs = [ makeWrapper ] nativeBuildInputs = [ makeWrapper ]
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]; ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
autoPatchelfIgnoreMissingDeps = true; autoPatchelfIgnoreMissingDeps = true;
buildInputs = lib.optionals (os == "linux") [ pkgs.zlib ]; buildInputs = lib.optionals (os == "linux") [ pkgs.zlib ];
patchInstructions = ''
patchElfBnaries = ''
# Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling
if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 ]; then
addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64
fi
if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64 ]; then
addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64
fi
find toolchains -type d -name bin -or -name lib64 | while read dir; do
autoPatchelf "$dir"
done
# Patch executables
if [ -d prebuilt/linux-x86_64 ]; then
autoPatchelf prebuilt/linux-x86_64
fi
'';
patchOsAgnostic = ''
patchShebangs . patchShebangs .
# TODO: allow this stuff # TODO: allow this stuff
@ -22,47 +43,31 @@ deployAndroidPackage {
# Ndk now has a prebuilt toolchains inside, the file layout has changed, we do a symlink # Ndk now has a prebuilt toolchains inside, the file layout has changed, we do a symlink
# to still support the old standalone toolchains builds. # to still support the old standalone toolchains builds.
if [ -d $out/libexec/android-sdk/ndk ] && [ ! -d $out/libexec/android-sdk/ndk-bundle ]; then if [ -d $out/libexec/android-sdk/ndk ] && [ ! -d $out/libexec/android-sdk/ndk-bundle ]; then
ln -sf $out/libexec/android-sdk/ndk/${package.revision} $out/libexec/android-sdk/ndk-bundle ln -sf $out/libexec/android-sdk/ndk/${package.revision} $out/libexec/android-sdk/ndk-bundle
elif [ ! -d $out/libexec/android-sdk/ndk-bundle ]; then elif [ ! -d $out/libexec/android-sdk/ndk-bundle ]; then
echo "The ndk-bundle layout has changed. The nix expressions have to be updated!" echo "The ndk-bundle layout has changed. The nix expressions have to be updated!"
exit 1 exit 1
fi
# Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling
if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 ]; then
addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64
fi
if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64 ]; then
addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64
fi
if [ -d toolchains/llvm/prebuilt/linux-x86_64 ]; then
find toolchains/llvm/prebuilt/linux-x86_64 -type d -name bin -or -name lib64 | while read dir; do
autoPatchelf "$dir"
done
fi fi
# fix ineffective PROGDIR / MYNDKDIR determination # fix ineffective PROGDIR / MYNDKDIR determination
for progname in ndk-build; do for progname in ndk-build; do
sed -i -e 's|^PROGDIR=`dirname $0`|PROGDIR=`dirname $(readlink -f $(which $0))`|' $progname sed -i -e 's|^PROGDIR=`dirname $0`|PROGDIR=`dirname $(readlink -f $(which $0))`|' $progname
done done
# Patch executables
if [ -d prebuilt/linux-x86_64 ]; then
autoPatchelf prebuilt/linux-x86_64
fi
# wrap # wrap
for progname in ndk-build; do for progname in ndk-build; do
wrapProgram "$(pwd)/$progname" --prefix PATH : "${runtime_paths}" wrapProgram "$(pwd)/$progname" --prefix PATH : "${runtime_paths}"
done done
# make some executables available in PATH # make some executables available in PATH
mkdir -p $out/bin mkdir -p $out/bin
for progname in ndk-build; do for progname in ndk-build; do
ln -sf ../libexec/android-sdk/ndk-bundle/$progname $out/bin/$progname ln -sf ../libexec/android-sdk/ndk-bundle/$progname $out/bin/$progname
done done
''; '';
patchInstructions = patchOsAgnostic
+ lib.optionalString stdenv.isLinux patchElfBnaries;
noAuditTmpdir = true; # Audit script gets invoked by the build/ component in the path for the make standalone script noAuditTmpdir = true; # Audit script gets invoked by the build/ component in the path for the make standalone script
} }

View File

@ -0,0 +1,20 @@
{ lib, nimPackages, fetchFromGitHub }:
nimPackages.buildNimPackage rec {
pname = "nimraylib-now";
version = "0.15.0";
src = fetchFromGitHub {
owner = "greenfork";
repo = "nimraylib_now";
rev = "v${version}";
sha256 = "sha256-18YiAzJ46dpD5JN+gH0MWKchZ5YLPBNcm9eVFnyy2Sw=";
};
meta = with lib; {
homepage = "https://github.com/greenfork/nimraylib_now";
description = "The Ultimate Raylib gaming library wrapper for Nim";
license = licenses.mit;
maintainers = with maintainers; [ annaaurora ];
};
}

View File

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "adb-enhanced"; pname = "adb-enhanced";
version = "2.5.16"; version = "2.5.18";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "ashishb"; owner = "ashishb";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-+CMXKg3LLxEXGcFQ9zSqy/1HPZS9MsQ1fZxClJ0Vrnw="; hash = "sha256-xsl8AentI4Tqo2mHWFRi6myyb0/MemATJz9erKN9eKQ=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -7,7 +7,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiolifx-effects"; pname = "aiolifx-effects";
version = "0.3.1"; version = "0.3.2";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -15,7 +15,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
inherit version; inherit version;
pname = "aiolifx_effects"; pname = "aiolifx_effects";
hash = "sha256-yh0Nv1r5a5l6unn9qnLjSqct/ZzUuPT6cNebVDMMfUw="; hash = "sha256-Mhxs5PNr2W9ych56WYUZTEGck4HVTQfkil3S3zHv6Qc=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiolifx-themes"; pname = "aiolifx-themes";
version = "0.4.2"; version = "0.4.5";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Djelibeybi"; owner = "Djelibeybi";
repo = "aiolifx-themes"; repo = "aiolifx-themes";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-6bbhjmtgGEifYmtgXrnsCF36oU+jJDmHMPPEO5a7AKQ="; hash = "sha256-df3FQdOa3C8eQfgFi+sh7+/GBpE+4B5gOI+3XDQLHEs=";
}; };
prePatch = '' prePatch = ''

View File

@ -15,14 +15,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-firestore"; pname = "google-cloud-firestore";
version = "2.10.0"; version = "2.10.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-iCwYBZhWfheyYTOm2IQIXr3OXyoi4FWNykzzbWV+5wY="; hash = "sha256-JrM4asHN40vTuigojvT2lqI2iDuC8je9Yr8i10pU1aU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-iam"; pname = "google-cloud-iam";
version = "2.11.2"; version = "2.12.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-viN/BiIYmE83B1JMh5THgj2/HLGOeIotDVLdTODZBAg="; hash = "sha256-lfT4lgW4n3k5Fs2Owng8JoHGYDwjoKTzaKhEf35O+VA=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -14,14 +14,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-monitoring"; pname = "google-cloud-monitoring";
version = "2.14.1"; version = "2.14.2";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-FKg2nEmc5mYKSWJwV0wG09kK4ZQl+Tan+9BqbwJ/8eA="; hash = "sha256-5v2hMJeeLo11mrcNZCe1lISBlIyW9f1KQjcLqWoRlZs=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-secret-manager"; pname = "google-cloud-secret-manager";
version = "2.16.0"; version = "2.16.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-O1K5qd82o+PnzWZ40GC+0PSgWzZvp5hl7ImFxRgx5Ww="; hash = "sha256-FJ0Rzpvn6oHUrDVE0/zUxxap7bLLd12cB1IxVwsHn7s=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-securitycenter"; pname = "google-cloud-securitycenter";
version = "1.19.0"; version = "1.19.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-97KZK9O/+Ul2hnXh1s2HeoQQd4CFcQjJ9HC6fP2ZEgc="; hash = "sha256-xI9CFp3esSxOsOsO5mVWUkMROpuX2QjzKVhKCBUpDhc=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -13,14 +13,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-speech"; pname = "google-cloud-speech";
version = "2.18.0"; version = "2.19.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-MCFfkPtTc7TdN+WF4tcnHq+Kun5vQDhdSSsW97/cDzA="; hash = "sha256-+k5exHjJt9bSdbeVWgTWx+IaYlJ55JrTV0wofoVWCpU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -16,14 +16,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-storage"; pname = "google-cloud-storage";
version = "2.7.0"; version = "2.8.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-GsLVjS1pPLE0HrxIZZo1J753jZ4tiYlpeidGAlko/xc="; hash = "sha256-Q4jaH/W9ptcp8m28rxv6AgoqUqe5HwqBI+29pRZggCw=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-websecurityscanner"; pname = "google-cloud-websecurityscanner";
version = "1.12.0"; version = "1.12.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-od8eEY0hYr3fdImD5BTb3+EJR5IsrNm9g6m/IWscmz4="; hash = "sha256-CCfxIwACFxMuFjxJG7v5e/WXvN0V4QysPYD2NtkKnEU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, isPy3k
, fetchFromGitHub
, mkdocs
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "mkdocs-simple-hooks";
version = "0.1.5";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "aklajnert";
repo = "mkdocs-simple-hooks";
rev = "v${version}";
hash = "sha256-N6xZjCREjJlhR6f8m65WJswUQv/TTdTbk670+C46UWQ=";
};
propagatedBuildInputs = [
mkdocs
];
nativeCheckInputs = [ pytestCheckHook ];
pytestFlagsArray = [ "tests.py" ];
# disable failing tests
disabledTests = [
"test_no_hooks_defined"
"test_no_attribute"
];
meta = with lib; {
description = "Define your own hooks for mkdocs, without having to create a new package.";
homepage = "https://github.com/aklajnert/mkdocs-simple-hooks";
license = licenses.mit;
maintainers = with maintainers; [ arjan-s ];
};
}

View File

@ -17,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mypy-boto3-builder"; pname = "mypy-boto3-builder";
version = "7.14.4"; version = "7.14.5";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.10"; disabled = pythonOlder "3.10";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "youtype"; owner = "youtype";
repo = "mypy_boto3_builder"; repo = "mypy_boto3_builder";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-aEmJ4jyIsgAL7CUZek/YZSPrHqW7i+S1bbZv8jH9FGc="; hash = "sha256-T8BIfopprCfcOpv92soTD3S4eYoAdT70pSMSHlFbBuE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,53 @@
{ lib
, pythonOlder
, fetchPypi
, buildPythonPackage
, rustPlatform
, pytestCheckHook
, psutil
, cbor2
}:
buildPythonPackage rec {
pname = "pycddl";
version = "0.4.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-w0CGbPeiXyS74HqZXyiXhvaAMUaIj5onwjl9gWKAjqY=";
};
nativeBuildInputs = with rustPlatform; [ maturinBuildHook cargoSetupHook ];
postPatch = ''
# We don't place pytest-benchmark in the closure because we have no
# intention of running the benchmarks. Make sure pip doesn't fail as a
# result of it being missing by removing it from the requirements list.
sed -i -e /pytest-benchmark/d requirements-dev.txt
# Now that we've gotten rid of pytest-benchmark we need to get rid of the
# benchmarks too, otherwise they fail at import time due to the missing
# dependency.
rm tests/test_benchmarks.py
'';
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-g96eeaqN9taPED4u+UKUcoitf5aTGFrW2/TOHoHEVHs=";
};
nativeCheckInputs = [ pytestCheckHook psutil cbor2 ];
pythonImportsCheck = [ "pycddl" ];
meta = with lib; {
description = "Python bindings for the Rust cddl crate";
homepage = "https://gitlab.com/tahoe-lafs/pycddl";
changelog = "https://gitlab.com/tahoe-lafs/pycddl/-/tree/v${version}#release-notes";
license = licenses.mit;
maintainers = [ maintainers.exarkun ];
};
}

View File

@ -11,13 +11,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "scikit-learn-extra"; pname = "scikit-learn-extra";
version = "0.2.0"; version = "0.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "scikit-learn-contrib"; owner = "scikit-learn-contrib";
repo = pname; repo = pname;
rev = "v${version}"; rev = "refs/tags/v${version}";
sha256 = "09v7a9jdycdrlqq349m1gbn8ppzv1bl5g3l72k6ywsx2xb01qw13"; sha256 = "sha256-dHOwo6NIuhcvIehpuJQ621JEg5O3mnXycAhpTZKaxns=";
}; };
nativeBuildInputs = [ numpy cython ]; nativeBuildInputs = [ numpy cython ];

View File

@ -5,11 +5,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "types-tabulate"; pname = "types-tabulate";
version = "0.9.0.1"; version = "0.9.0.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-5IYpLCefGSR4Zb2r6AJBl0Cg50tTRE5/eoAJ4IEp2l0="; hash = "sha256-HdQyKjoUbpBzFpx0J4uPFKWOuZBcqdsNJYjfQI8nysk=";
}; };
# Module doesn't have tests # Module doesn't have tests

View File

@ -2,11 +2,13 @@
, stdenv , stdenv
, fetchgit , fetchgit
, openjdk17_headless , openjdk17_headless
, gradle , gradle_7
, perl , perl
, makeWrapper , makeWrapper
}: }:
let
gradle = gradle_7;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "apksigner"; pname = "apksigner";
version = "33.0.1"; version = "33.0.1";

View File

@ -126,6 +126,13 @@ rec {
# and respect the compatibility matrix at # and respect the compatibility matrix at
# https://docs.gradle.org/current/userguide/compatibility.html # https://docs.gradle.org/current/userguide/compatibility.html
gradle_8 = gen {
version = "8.0.1";
nativeVersion = "0.22-milestone-24";
sha256 = "02g9i1mrpdydj8d6395cv6a4ny9fw3z7sjzr7n6l6a9zx65masqv";
defaultJava = jdk17;
};
gradle_7 = gen { gradle_7 = gen {
version = "7.6.1"; version = "7.6.1";
nativeVersion = "0.22-milestone-24"; nativeVersion = "0.22-milestone-24";

View File

@ -1,4 +1,4 @@
{ lib, stdenv, runtimeShell, writeText, fetchFromGitHub, gradle, openjdk17, git, perl, cmake }: { lib, stdenv, runtimeShell, writeText, fetchFromGitHub, gradle_7, openjdk17, git, perl, cmake }:
let let
pname = "fastddsgen"; pname = "fastddsgen";
version = "2.3.0"; version = "2.3.0";
@ -11,6 +11,8 @@ let
hash = "sha256-lxMv1hXjHFslJts63/FJPjj0mAKTluY/pNTvf15Oo9o="; hash = "sha256-lxMv1hXjHFslJts63/FJPjj0mAKTluY/pNTvf15Oo9o=";
}; };
gradle = gradle_7;
# fake build to pre-download deps into fixed-output derivation # fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation { deps = stdenv.mkDerivation {
pname = "${pname}-deps"; pname = "${pname}-deps";

View File

@ -10,7 +10,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "GammaRay"; pname = "gammaray";
version = "2.11.3"; version = "2.11.3";
src = fetchFromGitHub { src = fetchFromGitHub {

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "go-swag"; pname = "go-swag";
version = "1.8.11"; version = "1.8.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "swaggo"; owner = "swaggo";
repo = "swag"; repo = "swag";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-clWYiDJN9fJLLkMfURPKb377+YX7DZzwXWZ/YDW4fLU="; sha256 = "sha256-2rnaPN4C4pn9Whk5X2z1VVxm679EUpQdumJZx5uulr4=";
}; };
vendorHash = "sha256-0fubBlipY4eogg68JHZVO+fOAQMRKOqhk8z0qNLvDjM="; vendorHash = "sha256-yQPmiK1CQNn3sr482OEkdRLK6YP8CvPMA/nPGdVJbMc=";
subPackages = [ "cmd/swag" ]; subPackages = [ "cmd/swag" ];

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kube-linter"; pname = "kube-linter";
version = "0.6.0"; version = "0.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stackrox"; owner = "stackrox";
repo = pname; repo = pname;
rev = version; rev = "v${version}";
sha256 = "sha256-/iwNyThgdXAXu1ulf68+X7nA9wE9jEqN7F5wuT5GMwk="; sha256 = "sha256-86qLCQH85GSP194nH6lUBvEfuCFs6671dne2zYDwoGc=";
}; };
vendorHash = "sha256-jWXR7tHYT15h7QSxinYyPaBs5utUmdeWWm+GPpfwiA4="; vendorHash = "sha256-yPB2t5Sj14uA3QU6OulwQ03LLBZzCfsilBMk1EqAv08=";
ldflags = [ ldflags = [
"-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}" "-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}"
@ -34,7 +34,7 @@ buildGoModule rec {
meta = with lib; { meta = with lib; {
description = "A static analysis tool that checks Kubernetes YAML files and Helm charts"; description = "A static analysis tool that checks Kubernetes YAML files and Helm charts";
homepage = "https://kubelinter.io"; homepage = "https://kubelinter.io";
changelog = "https://github.com/stackrox/kube-linter/releases/tag/${version}"; changelog = "https://github.com/stackrox/kube-linter/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ mtesseract stehessel ]; maintainers = with maintainers; [ mtesseract stehessel ];
platforms = platforms.all; platforms = platforms.all;

View File

@ -0,0 +1,28 @@
{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
buildGoModule rec {
pname = "jcli";
version = "0.0.41";
src = fetchFromGitHub {
owner = "jenkins-zh";
repo = "jenkins-cli";
rev = "v${version}";
hash = "sha256-oZtbjfquCYMMYgKe7sclRQDXnkNwAEY/GvwenGBnVk4=";
};
vendorHash = "sha256-bmPnxFvdKU5zuMsCDboSOxP5f7NnMRwS/gN0sW7eTRA=";
doCheck = false;
postInstall = ''
mv $out/bin/{jenkins-cli,jcli}
'';
meta = with lib; {
description = "Jenkins CLI allows you to manage your Jenkins in an easy way";
homepage = "https://jcli.jenkins-zh.cn/";
license = licenses.mit;
maintainers = with maintainers; [ sikmir ];
};
}

View File

@ -1,9 +1,7 @@
{ buildDotnetModule { buildDotnetModule
, dotnetCorePackages , dotnetCorePackages
, fetchFromGitHub , fetchFromGitHub
, icu
, lib , lib
, patchelf
, stdenv , stdenv
, runCommand , runCommand
, expect , expect
@ -25,9 +23,7 @@ let finalPackage = buildDotnetModule rec {
projectFile = "src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj"; projectFile = "src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj";
nugetDeps = ./deps.nix; nugetDeps = ./deps.nix;
nativeBuildInputs = [ useAppHost = false;
patchelf
];
dotnetInstallFlags = [ "--framework net6.0" ]; dotnetInstallFlags = [ "--framework net6.0" ];
dotnetBuildFlags = [ "--framework net6.0" "--no-self-contained" ]; dotnetBuildFlags = [ "--framework net6.0" "--no-self-contained" ];
@ -53,43 +49,27 @@ let finalPackage = buildDotnetModule rec {
''; '';
dontDotnetFixup = true; # we'll fix it ourselves dontDotnetFixup = true; # we'll fix it ourselves
postFixup = lib.optionalString stdenv.isLinux '' preFixup = ''
# Emulate what .NET 7 does to its binaries while a fix doesn't land in buildDotnetModule # We create a wrapper that will run the OmniSharp dll using the `dotnet`
patchelf --set-interpreter $(patchelf --print-interpreter ${sdk_6_0}/dotnet) \ # executable from PATH. Doing it this way allows it to run using newer SDK
--set-rpath $(patchelf --print-rpath ${sdk_6_0}/dotnet) \ # versions than it was build with, which allows it to properly find those SDK
$out/lib/omnisharp-roslyn/OmniSharp # versions - OmniSharp only finds SDKs with the same version or newer as
# itself. We still provide a fallback, in case no `dotnet` is provided in
# PATH
mkdir -p "$out/bin"
'' + '' cat << EOF > "$out/bin/OmniSharp"
# Now create a wrapper without DOTNET_ROOT #!${stdenv.shell}
# we explicitly don't set DOTNET_ROOT as it should get the one from PATH export PATH="\''${PATH}:${sdk_6_0}/bin"
# as you can use any .NET SDK higher than 6 to run OmniSharp and you most dotnet "$out/lib/omnisharp-roslyn/OmniSharp.dll" "\$@"
# likely will NOT want the .NET 6 runtime running it (as it'll use that to EOF
# detect the SDKs for its own use, so it's better to let it find it in PATH).
makeWrapper $out/lib/omnisharp-roslyn/OmniSharp $out/bin/OmniSharp \ chmod +x "$out/bin/OmniSharp"
--prefix LD_LIBRARY_PATH : ${sdk_6_0.icu}/lib \
--set-default DOTNET_ROOT ${sdk_6_0}
''; '';
passthru.tests = { passthru.tests = let
no-sdk = runCommand "no-sdk" { nativeBuildInputs = [ finalPackage expect ]; meta.timeout = 60; } '' with-sdk = sdk: runCommand "with-${if sdk ? version then sdk.version else "no"}-sdk"
HOME=$TMPDIR { nativeBuildInputs = [ finalPackage sdk expect ]; meta.timeout = 60; } ''
expect <<"EOF"
spawn OmniSharp
expect_before timeout {
send_error "timeout!\n"
exit 1
}
expect "\"ERROR\",\"Name\":\"OmniSharp.MSBuild.Discovery.Providers.SdkInstanceProvider\""
expect eof
catch wait result
if { [lindex $result 3] == 0 } {
exit 1
}
EOF
touch $out
'';
with-sdk = runCommand "with-sdk" { nativeBuildInputs = [ finalPackage sdk_6_0 expect ]; meta.timeout = 60; } ''
HOME=$TMPDIR HOME=$TMPDIR
expect <<"EOF" expect <<"EOF"
spawn OmniSharp spawn OmniSharp
@ -97,6 +77,7 @@ let finalPackage = buildDotnetModule rec {
send_error "timeout!\n" send_error "timeout!\n"
exit 1 exit 1
} }
expect ".NET Core SDK ${if sdk ? version then sdk.version else sdk_6_0.version}"
expect "{\"Event\":\"started\"," expect "{\"Event\":\"started\","
send \x03 send \x03
expect eof expect eof
@ -105,6 +86,11 @@ let finalPackage = buildDotnetModule rec {
EOF EOF
touch $out touch $out
''; '';
in {
# Make sure we can run OmniSharp with any supported SDK version, as well as without
with-net6-sdk = with-sdk sdk_6_0;
with-net7-sdk = with-sdk dotnetCorePackages.sdk_7_0;
no-sdk = with-sdk null;
}; };
meta = with lib; { meta = with lib; {

View File

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "typeshare"; pname = "typeshare";
version = "1.3.0"; version = "1.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "1password"; owner = "1password";
repo = "typeshare"; repo = "typeshare";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-rP5d85/wGNimzOgsNDaX/QHZsGU5HoBAJsrETBKtRF4="; hash = "sha256-TGs7Czq13ghifKUhoz+n9I4UlOrzQosWTwBqBWv572E=";
}; };
cargoHash = "sha256-55DBzItGgUs6TroDeOAJPd7Koy4cyUV8SdqxUhKXwrU="; cargoHash = "sha256-hF+1v9bHioKQixg0C46ligLy/ibU+iI/H85g4wQhne4=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, jdk, gradle, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell, makeWrapper }: { lib, stdenv, fetchFromGitHub, jdk, gradle_7, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell, makeWrapper }:
let let
pname = "scenic-view"; pname = "scenic-view";
version = "11.0.2"; version = "11.0.2";
@ -10,6 +10,8 @@ let
sha256 = "1idfh9hxqs4fchr6gvhblhvjqk4mpl4rnpi84vn1l3yb700z7dwy"; sha256 = "1idfh9hxqs4fchr6gvhblhvjqk4mpl4rnpi84vn1l3yb700z7dwy";
}; };
gradle = gradle_7;
deps = stdenv.mkDerivation { deps = stdenv.mkDerivation {
name = "${pname}-deps"; name = "${pname}-deps";
inherit src; inherit src;

View File

@ -0,0 +1,34 @@
{ lib, nimPackages, fetchFromGitea, raylib }:
nimPackages.buildNimPackage rec {
pname = "snekim";
version = "1.2.0";
nimBinOnly = true;
src = fetchFromGitea {
domain = "codeberg.org";
owner = "annaaurora";
repo = "snekim";
rev = "v${version}";
sha256 = "sha256-Qgvq4CkGvNppYFpITCCifOHtVQYRQJPEK3rTJXQkTvI=";
};
strictDeps = true;
buildInputs = [ nimPackages.nimraylib-now raylib ];
nimFlags = [ "-d:nimraylib_now_shared" ];
postInstall = ''
install -D snekim.desktop -t $out/share/applications
install -D icons/hicolor/48x48/snekim.svg -t $out/share/icons/hicolor/48x48/apps
'';
meta = with lib; {
homepage = "https://codeberg.org/annaaurora/snekim";
description = "A simple implementation of the classic snake game";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ annaaurora ];
};
}

View File

@ -10,15 +10,15 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "urbit"; pname = "urbit";
version = "2.0"; version = "2.1";
src = fetchzip { src = fetchzip {
url = "https://github.com/urbit/vere/releases/download/vere-v${version}/${platform}.tgz"; url = "https://github.com/urbit/vere/releases/download/vere-v${version}/${platform}.tgz";
sha256 = { sha256 = {
x86_64-linux = "sha256-GqxgbJCLjXcXHT49fJL1IUJmh9oL4Lfokt7HqzshtWw="; x86_64-linux = "sha256-i5WofHC0aYldnA+KldeAmZQQo6yeI3yhmLHqPZOvi1c=";
aarch64-linux = "sha256-3+S5EnyvTBKxkFbV7fg+qVDFLr25jMeDwb+MuqDJHMg="; aarch64-linux = "sha256-QRarT+BtVPX7yURsqABZXcYyzqMGweIzo/MGpC2HhEo=";
x86_64-darwin = "sha256-VO2dnNqbgyPKvZVMC0CG15JAaBelzcnkifmbZMS+38Y="; x86_64-darwin = "sha256-JuMjYwmcArPEjcUapdkSu9FEFKK4ZfxJxmvRVOJ3w34=";
aarch64-darwin = "sha256-RbpeIA5LYCUkhyLMo3dYvUe7uLyOD4Ey7qCvIg5JQAg="; aarch64-darwin = "sha256-5lpBhmdDpNVFHZ7P6TRBoFWFWKvwbJNO6ohiuoKMc6E=";
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
}; };

View File

@ -0,0 +1,62 @@
{ lib, stdenv, pkgs, fetchFromGitHub, runCommand, buildNpmPackage, nodejs-16_x, tone, ffmpeg-full, util-linux, libwebp }:
let
nodejs = nodejs-16_x;
pname = "audiobookshelf";
version = "2.2.15";
src = fetchFromGitHub {
owner = "advplyr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BrIXbembbcfSPOPknoY2Vn9I85eHyOQLDCMsFOMORgM=";
};
client = buildNpmPackage {
pname = "${pname}-client";
inherit version;
src = runCommand "cp-source" {} ''
cp -r ${src}/client $out
'';
NODE_OPTIONS = "--openssl-legacy-provider";
npmBuildScript = "generate";
npmDepsHash = "sha256-eyZdeBsZ5XBoO/4djXZzOOr/h9kDSUULbqgdOZJNNCg=";
};
wrapper = import ./wrapper.nix {
inherit stdenv ffmpeg-full tone pname nodejs;
};
in buildNpmPackage {
inherit pname version src;
buildInputs = [ util-linux ];
dontNpmBuild = true;
npmInstallFlags = "--only-production";
npmDepsHash = "sha256-KbewULna+0mftIcdO5Z4A5rOrheBndpgzjkE1Jytfr4=";
installPhase = ''
mkdir -p $out/opt/client
cp -r index.js server package* node_modules $out/opt/
cp -r ${client}/lib/node_modules/${pname}-client/dist $out/opt/client/dist
mkdir $out/bin
echo '${wrapper}' > $out/bin/${pname}
echo " exec ${nodejs}/bin/node $out/opt/index.js" >> $out/bin/${pname}
chmod +x $out/bin/${pname}
'';
meta = with lib; {
homepage = "https://www.audiobookshelf.org/";
description = "Self-hosted audiobook and podcast server";
license = licenses.gpl3;
maintainers = [ maintainers.jvanbruegge ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,61 @@
{ stdenv, ffmpeg-full, tone, pname, nodejs }: ''
#!${stdenv.shell}
port=8000
host=0.0.0.0
config=$(pwd)/config
metadata=$(pwd)/metadata
LONGOPTS=host:,port:,config:,metadata:,help
args=$(getopt -l "$LONGOPTS" -o h -- "$@")
eval set -- "$args"
while [ $# -ge 1 ]; do
case "$1" in
--)
# No more options left.
shift
break
;;
--host)
host="$2"
shift
;;
--port)
port="$2"
shift
;;
--config)
if [[ "''${2:0:1}" = "/" ]]; then
config="$2"
else
config="$(pwd)/$2"
fi
shift
;;
--metadata)
if [[ "''${2:0:1}" = "/" ]]; then
metadata="$2"
else
metadata="$(pwd)/$2"
fi
shift
;;
--help|-h)
echo "Usage: audiobookshelf [--host <host>] [--port <port>] [--metadata <dir>] [--config <dir>]"
shift
;;
esac
shift
done
NODE_ENV=production \
SOURCE=nixpkgs \
FFMPEG_PATH=${ffmpeg-full}/bin/ffmpeg \
FFPROBE_PATH=${ffmpeg-full}/bin/ffprobe \
TONE_PATH=${tone}/bin/tone \
CONFIG_PATH="$config" \
METADATA_PATH="$metadata" \
PORT="$port" \
HOST="$host" \''

View File

@ -2,7 +2,7 @@
buildGoModule rec { buildGoModule rec {
pname = "consul"; pname = "consul";
version = "1.15.1"; version = "1.15.2";
rev = "v${version}"; rev = "v${version}";
# Note: Currently only release tags are supported, because they have the Consul UI # Note: Currently only release tags are supported, because they have the Consul UI
@ -17,7 +17,7 @@ buildGoModule rec {
owner = "hashicorp"; owner = "hashicorp";
repo = pname; repo = pname;
inherit rev; inherit rev;
sha256 = "sha256-U7/et05WOBP7TT8iSXD447dBzRDzrmoeOYFofp/Cwh0="; sha256 = "sha256-8C06arK7QnrT5qQZWBjamOOlejy69pxRHXKoncfMKAc=";
}; };
passthru.tests.consul = nixosTests.consul; passthru.tests.consul = nixosTests.consul;
@ -26,7 +26,7 @@ buildGoModule rec {
# has a split module structure in one repo # has a split module structure in one repo
subPackages = ["." "connect/certgen"]; subPackages = ["." "connect/certgen"];
vendorHash = "sha256-6lYIwOpQjpw7cmeEhDtTs5FzagcAagD+NbfHCO9D/6M="; vendorHash = "sha256-Vcl23cWErAycmza1CS9rl+xJ7CBuocMAdSG9AA88SrQ=";
doCheck = false; doCheck = false;

View File

@ -4,10 +4,12 @@
} @ args: } @ args:
callPackage ./generic.nix args { callPackage ./generic.nix args {
pname = "nginxQuic";
src = fetchhg { src = fetchhg {
url = "https://hg.nginx.org/nginx-quic"; url = "https://hg.nginx.org/nginx-quic";
rev = "3be953161026"; # branch=quic rev = "0af598651e33"; # branch=quic
sha256 = "sha256-maWQ0RPI2pe6L8QL7TQ1YJts5ZJHhiTYG9sdwINGMDA="; sha256 = "sha256-rG0jXA+ci7anUxZCBhXZLZKwnTtzzDEAViuoImKpALA=";
}; };
preConfigure = '' preConfigure = ''
@ -19,5 +21,5 @@ callPackage ./generic.nix args {
"--with-stream_quic_module" "--with-stream_quic_module"
]; ];
version = "1.23.2-quic"; version = "1.23.4";
} }

View File

@ -4,7 +4,7 @@
, fetchpatch , fetchpatch
, jre , jre
, git , git
, gradle , gradle_7
, perl , perl
, makeWrapper , makeWrapper
}: }:
@ -20,6 +20,8 @@ let
hash = "sha256-K3kaujAhWsRQuTMW3SZOnE7Rmu8+tDXaxpLrb45OI4A="; hash = "sha256-K3kaujAhWsRQuTMW3SZOnE7Rmu8+tDXaxpLrb45OI4A=";
}; };
gradle = gradle_7;
patches = [ patches = [
# https://github.com/ma1uta/ma1sd/pull/122 # https://github.com/ma1uta/ma1sd/pull/122
(fetchpatch { (fetchpatch {

View File

@ -9,23 +9,27 @@
, testers , testers
, surrealdb , surrealdb
, SystemConfiguration , SystemConfiguration
, protobuf
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "surrealdb"; pname = "surrealdb";
version = "1.0.0-beta.8"; version = "1.0.0-beta.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "surrealdb"; owner = "surrealdb";
repo = "surrealdb"; repo = "surrealdb";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-zFqHwZUpwqvuqmS18bhlpAswD5EycB3pnZwSuN5Q2G4="; sha256 = "sha256-GgRsRGYnaE2TssoXdubEuMEbLjM4woE3vxTxSlufquU=";
}; };
cargoSha256 = "sha256-vaAfOsbIdQXpx7v4onXY1J8ANKCccVRuWxdvX5+f2no="; cargoSha256 = "sha256-eLJ+sxsK45pkgNUYrNuUOAqutwIjvEhGGjsvwGzfVKI=";
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
PROTOC = "${protobuf}/bin/protoc";
PROTOC_INCLUDE = "${protobuf}/include";
ROCKSDB_INCLUDE_DIR = "${rocksdb}/include"; ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
ROCKSDB_LIB_DIR = "${rocksdb}/lib"; ROCKSDB_LIB_DIR = "${rocksdb}/lib";

View File

@ -0,0 +1,48 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, libffi
, pkg-config
, wayland-protocols
, wayland
, xorg
}:
stdenv.mkDerivation rec {
pname = "clipboard-jh";
version = "0.3.2";
src = fetchFromGitHub {
owner = "Slackadays";
repo = "clipboard";
rev = version;
sha256 = "sha256-xdogl2WDuQXeLFuBY1u7PSpaoVI9HKScOdxHZ3+whIg=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
libffi
wayland-protocols
wayland
xorg.libX11
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE='MinSizeRel'"
"-Wno-dev"
"-DINSTALL_PREFIX=${placeholder "out"}"
];
meta = with lib; {
description = "Cut, copy, and paste anything, anywhere, all from the terminal";
homepage = "https://github.com/Slackadays/clipboard";
license = licenses.gpl3Only;
maintainers = with maintainers; [ dit7ya ];
mainProgram = "clipboard";
};
}

View File

@ -10,14 +10,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.7.1"; version = "1.7.2";
pname = "goaccess"; pname = "goaccess";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "allinurl"; owner = "allinurl";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-RJQyR6nTvDvR+outbVDYKFC1Tl99O0SZW94e/SbqAO0="; sha256 = "sha256-LYvdxVlGL4dVfhYkeR+TmYSvey0ArJrkC37t5BIIJfE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -6,18 +6,18 @@
, SystemConfiguration , SystemConfiguration
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage {
pname = "deploy-rs"; pname = "deploy-rs";
version = "unstable-2022-11-18"; version = "unstable-2023-01-19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "serokell"; owner = "serokell";
repo = "deploy-rs"; repo = "deploy-rs";
rev = "2a3c5f70eee04a465aa534d8bd4fcc9bb3c4a8ce"; rev = "8c9ea9605eed20528bf60fae35a2b613b901fd77";
hash = "sha256-0w6iD3GSSQbIeSFVDzAAQZB+hDq670ZTms3d9XI+BtM="; hash = "sha256-QO1xF7stu5ZMDLbHN30LFolMAwY6TVlzYvQoUs1RD68=";
}; };
cargoHash = "sha256-Ki9/mYNLUq74v3u+e3aM139+06CTrvPLJv0O+qHL9dA="; cargoHash = "sha256-UKiG2Muw3cT17TCl0pZQGfzVdN5tajSZ1ULyGRaZ9tQ=";
buildInputs = lib.optionals stdenv.isDarwin [ buildInputs = lib.optionals stdenv.isDarwin [
CoreServices CoreServices

View File

@ -7,6 +7,15 @@ let
# 3. Ansible being unable to upgrade to a later version of resolvelib # 3. Ansible being unable to upgrade to a later version of resolvelib
# see here for more details: https://github.com/NixOS/nixpkgs/pull/155380/files#r786255738 # see here for more details: https://github.com/NixOS/nixpkgs/pull/155380/files#r786255738
packageOverrides = self: super: { packageOverrides = self: super: {
installer = super.installer.overridePythonAttrs (attrs: rec {
version = "0.6.0";
src = fetchFromGitHub {
owner = "pradyunsg";
repo = "installer";
rev = version;
hash = "sha256-IXznSrc/4LopgZDGFSC6cAOCbts+siKpdl5SvN1FFvA=";
};
});
resolvelib = super.resolvelib.overridePythonAttrs (attrs: rec { resolvelib = super.resolvelib.overridePythonAttrs (attrs: rec {
version = "0.9.0"; version = "0.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {

View File

@ -6,7 +6,7 @@
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
, gradle , gradle_7
, curl , curl
, cryptopp , cryptopp
, fontconfig , fontconfig
@ -29,6 +29,8 @@ let
sha256 = "sha256-Kyr9OTiY6roJ/wVJS/1aWfrrzDNQbuRTJQqo0akbMUU="; sha256 = "sha256-Kyr9OTiY6roJ/wVJS/1aWfrrzDNQbuRTJQqo0akbMUU=";
}; };
gradle = gradle_7;
# Shared libraries needed by the Java application # Shared libraries needed by the Java application
libraries = lib.makeLibraryPath [ ghostscript ]; libraries = lib.makeLibraryPath [ ghostscript ];

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "exploitdb"; pname = "exploitdb";
version = "2023-03-31"; version = "2023-04-01";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "exploit-database"; owner = "exploit-database";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-Xqhmkdl4f29a+ev/Dc7b/GW1PyU8oAc64dibYnhts88="; hash = "sha256-9cH1zJd3r6unnJMnnpLGZZ82FGafRpiBq0rECH//PPc=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -3,7 +3,7 @@
, fetchurl , fetchurl
, fetchFromGitHub , fetchFromGitHub
, lib , lib
, gradle , gradle_7
, perl , perl
, makeWrapper , makeWrapper
, openjdk17 , openjdk17
@ -28,6 +28,8 @@ let
sha256 = "sha256-YhjKRlFlF89H05NsTS69SB108rNiiWijvZZY9fR+Ebc="; sha256 = "sha256-YhjKRlFlF89H05NsTS69SB108rNiiWijvZZY9fR+Ebc=";
}; };
gradle = gradle_7;
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "ghidra"; name = "ghidra";
exec = "ghidra"; exec = "ghidra";

View File

@ -4,13 +4,13 @@ let
generic = { pname, packageToBuild, description }: generic = { pname, packageToBuild, description }:
buildGoModule rec { buildGoModule rec {
inherit pname; inherit pname;
version = "1.0.1"; version = "1.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sigstore"; owner = "sigstore";
repo = "rekor"; repo = "rekor";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-WVAIhsbxwwvUyuLQLTcMHx9B5UsJxBvmS9MXYxVNiNs="; hash = "sha256-BTXw0fdmO5mjgwc5HZlUmpuKapHMrrA5BVdhxUDoqsU=";
# populate values that require us to use git. By doing this in postFetch we # populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src. # can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true; leaveDotGit = true;
@ -23,7 +23,7 @@ let
''; '';
}; };
vendorSha256 = "sha256-RtlSf34l68XzxJB7G/aSjpu3BBtV556sRauWj591fIk="; vendorHash = "sha256-rBijR1xoXck+HoFiUTpkM2m/r/qgjoHcTB7PizN5tgg=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "scorecard"; pname = "scorecard";
version = "4.10.2"; version = "4.10.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ossf"; owner = "ossf";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-GQs+wBq47sn3h8I87p+HErBmLMs8Dzh9xj3xMYDsXm4="; sha256 = "sha256-ysdgdU/Et87NxpdSTZuTtLJOv5uaYGVHDGyCj6kKuUQ=";
# populate values otherwise taken care of by goreleaser, # populate values otherwise taken care of by goreleaser,
# unfortunately these require us to use git. By doing # unfortunately these require us to use git. By doing
# this in postFetch we can delete .git afterwards and # this in postFetch we can delete .git afterwards and
@ -22,7 +22,7 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf find "$out" -name .git -print0 | xargs -0 rm -rf
''; '';
}; };
vendorSha256 = "sha256-W213KQu4FuJcT/cJOvS+WMw1fXBcSoZ4yssI06JAIc8="; vendorHash = "sha256-6wIzg9gbH+nAE4sZg+C3NZZbVzbEcovhGwajBZ7ZjdY=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vault-bin"; pname = "vault-bin";
version = "1.13.0"; version = "1.13.1";
src = src =
let let
@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
aarch64-darwin = "darwin_arm64"; aarch64-darwin = "darwin_arm64";
}; };
sha256 = selectSystem { sha256 = selectSystem {
x86_64-linux = "sha256-UIgFgfpqsWsjmyuU3Z/dA282S8gZ2RR2vUuvZngvQQk="; x86_64-linux = "sha256-BTJPXC5MEfNopJv1p0ONduVLrYza+0SfUcmN805JLPo=";
aarch64-linux = "sha256-IEuFgfWmRl5ewrA0GX0Rv/88EbWnuWLag2InZ1oHaiU="; aarch64-linux = "sha256-p9TgSqPVgR7Qxu1WEuwawzbBDNznGfPGasZK8/jN7vk=";
i686-linux = "sha256-hm9SAZOanMckINTVUBQs+bn3X8p3m7gtw9F0gdMKJXA="; i686-linux = "sha256-EbHH5Ud1c5YbcQ3qXhWEiaxx4XuslRntOLkxcf8elz8=";
x86_64-darwin = "sha256-/tjJFCBgsBvGa6icNIXz8DCmiKjjcoIC9/3dcSK4400="; x86_64-darwin = "sha256-JiwF8/ZBbFGqhcYP4z5aPya61+2J5HG9vEYKEDAIuC0=";
aarch64-darwin = "sha256-xdwSjDZdrUunhyBqZJMjuaFBI961JgU5mWw6UQr3oj0="; aarch64-darwin = "sha256-BgqqKqrqZiBSQwkMpWndiRhRq6+rR3e1IcPik5ZxCg4=";
}; };
in in
fetchzip { fetchzip {

View File

@ -62,11 +62,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rsyslog"; pname = "rsyslog";
version = "8.2212.0"; version = "8.2302.0";
src = fetchurl { src = fetchurl {
url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz"; url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
hash = "sha256-U7Wahy49xzhM3BSavpdEkWd29wV9kF899nItLrGwTzU="; hash = "sha256-JUFfhbZiYVzjyDB31TdYAp6HQ8tZKQRL/TVk49Ymo7k=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -232,7 +232,7 @@ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
[[package]] [[package]]
name = "difftastic" name = "difftastic"
version = "0.45.0" version = "0.46.0"
dependencies = [ dependencies = [
"assert_cmd", "assert_cmd",
"bumpalo", "bumpalo",

View File

@ -1,44 +1,30 @@
{ lib { lib
, fetchpatch
, rustPlatform , rustPlatform
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, testers , testers
, difftastic , difftastic
}: }:
let
mimallocPatch = fetchpatch {
name = "fix-build-on-older-macos-releases.patch";
url = "https://github.com/microsoft/mimalloc/commit/40e0507a5959ee218f308d33aec212c3ebeef3bb.patch";
sha256 = "sha256-DK0LqsVXXiEVQSQCxZ5jyZMg0UJJx9a/WxzCroYSHZc=";
};
in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "difftastic"; pname = "difftastic";
version = "0.45.0"; version = "0.46.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wilfred"; owner = "wilfred";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-AJwOft5hZoeraDDjwUBsdXn3V+4p8jOGSCYFCEOkWJA="; sha256 = "sha256-uXSmEJUpcw/PQ5I9nR1b6N1fcOdCSCM4KF0XnGNJkME=";
}; };
depsExtraArgs = {
postBuild = let
mimallocPatch = fetchpatch {
name = "mimalloc-older-macos-fixes.patch";
url = "https://github.com/microsoft/mimalloc/commit/40e0507a5959ee218f308d33aec212c3ebeef3bb.patch";
stripLen = 1;
extraPrefix = "libmimalloc-sys/c_src/mimalloc/";
sha256 = "1cqgay6ayzxsj8v1dy8405kwd8av34m4bjc84iyg9r52amlijbg4";
};
in ''
pushd $name
patch -p1 < ${mimallocPatch}
substituteInPlace libmimalloc-sys/.cargo-checksum.json \
--replace \
'6a2e9f0db0d3de160f9f15ddc8a870dbc42bba724f19f1e69b8c4952cb36821a' \
'201ab8874d9ba863406e084888e492b785a7edae00a222f395c079028d21a89a' \
--replace \
'a87a27e8432a63e5de25703ff5025588afd458e3a573e51b3c3dee2281bff0d4' \
'ab98a2da81d2145003a9cba7b7025efbd2c7b37c7a23c058c150705a3ec39298'
popd
'';
};
cargoLock = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { outputHashes = {
@ -46,6 +32,11 @@ rustPlatform.buildRustPackage rec {
}; };
}; };
postPatch = ''
patch -d $cargoDepsCopy/libmimalloc-sys-0.1.24/c_src/mimalloc \
-p1 < ${mimallocPatch}
'';
passthru.tests.version = testers.testVersion { package = difftastic; }; passthru.tests.version = testers.testVersion { package = difftastic; };
meta = with lib; { meta = with lib; {

View File

@ -316,6 +316,8 @@ with pkgs;
banana-accounting = callPackage ../applications/office/banana-accounting { }; banana-accounting = callPackage ../applications/office/banana-accounting { };
beebeep = libsForQt5.callPackage ../applications/office/beebeep {};
bakelite = callPackage ../tools/backup/bakelite { }; bakelite = callPackage ../tools/backup/bakelite { };
benthos = callPackage ../development/tools/benthos { }; benthos = callPackage ../development/tools/benthos { };
@ -1431,6 +1433,8 @@ with pkgs;
audible-cli = callPackage ../tools/misc/audible-cli { }; audible-cli = callPackage ../tools/misc/audible-cli { };
audiobookshelf = callPackage ../servers/audiobookshelf { };
auditwheel = callPackage ../tools/package-management/auditwheel { }; auditwheel = callPackage ../tools/package-management/auditwheel { };
amidst = callPackage ../tools/games/minecraft/amidst { }; amidst = callPackage ../tools/games/minecraft/amidst { };
@ -2296,6 +2300,8 @@ with pkgs;
simplenes = callPackage ../applications/emulators/simplenes { }; simplenes = callPackage ../applications/emulators/simplenes { };
snekim = callPackage ../games/snekim { };
snes9x = callPackage ../applications/emulators/snes9x { }; snes9x = callPackage ../applications/emulators/snes9x { };
snes9x-gtk = callPackage ../applications/emulators/snes9x { snes9x-gtk = callPackage ../applications/emulators/snes9x {
@ -8724,6 +8730,8 @@ with pkgs;
jc = with python3Packages; toPythonApplication jc; jc = with python3Packages; toPythonApplication jc;
jcli = callPackage ../development/tools/misc/jcli { };
jd-cli = callPackage ../tools/security/jd-cli { }; jd-cli = callPackage ../tools/security/jd-cli { };
jd-diff-patch = callPackage ../development/tools/jd-diff-patch { }; jd-diff-patch = callPackage ../development/tools/jd-diff-patch { };
@ -13816,6 +13824,8 @@ with pkgs;
clipnotify = callPackage ../tools/misc/clipnotify { }; clipnotify = callPackage ../tools/misc/clipnotify { };
clipboard-jh = callPackage ../tools/misc/clipboard-jh { };
clipbuzz = callPackage ../tools/misc/clipbuzz { }; clipbuzz = callPackage ../tools/misc/clipbuzz { };
xclip = callPackage ../tools/misc/xclip { }; xclip = callPackage ../tools/misc/xclip { };
@ -18182,7 +18192,8 @@ with pkgs;
gradleGen = gradle-packages.gen; gradleGen = gradle-packages.gen;
gradle_6 = callPackage gradle-packages.gradle_6 { }; gradle_6 = callPackage gradle-packages.gradle_6 { };
gradle_7 = callPackage gradle-packages.gradle_7 { }; gradle_7 = callPackage gradle-packages.gradle_7 { };
gradle = gradle_7; gradle_8 = callPackage gradle-packages.gradle_8 { };
gradle = gradle_8;
grcov = callPackage ../development/tools/misc/grcov { }; grcov = callPackage ../development/tools/misc/grcov { };
@ -32020,6 +32031,8 @@ with pkgs;
rofi-vpn = callPackage ../applications/networking/rofi-vpn { }; rofi-vpn = callPackage ../applications/networking/rofi-vpn { };
seamly2d = libsForQt5.callPackage ../applications/graphics/seamly2d { };
ympd = callPackage ../applications/audio/ympd { }; ympd = callPackage ../applications/audio/ympd { };
# a somewhat more maintained fork of ympd # a somewhat more maintained fork of ympd
@ -32656,6 +32669,8 @@ with pkgs;
palemoon = callPackage ../applications/networking/browsers/palemoon { }; palemoon = callPackage ../applications/networking/browsers/palemoon { };
palemoon-bin = callPackage ../applications/networking/browsers/palemoon/bin.nix { }; palemoon-bin = callPackage ../applications/networking/browsers/palemoon/bin.nix { };
paleta = callPackage ../applications/graphics/paleta { };
pamix = callPackage ../applications/audio/pamix { }; pamix = callPackage ../applications/audio/pamix { };
pamixer = callPackage ../applications/audio/pamixer { }; pamixer = callPackage ../applications/audio/pamixer { };
@ -33973,6 +33988,8 @@ with pkgs;
tortoisehg = callPackage ../applications/version-management/tortoisehg { }; tortoisehg = callPackage ../applications/version-management/tortoisehg { };
tone = callPackage ../applications/audio/tone { };
tonelib-gfx = callPackage ../applications/audio/tonelib-gfx { }; tonelib-gfx = callPackage ../applications/audio/tonelib-gfx { };
tonelib-jam = callPackage ../applications/audio/tonelib-jam { }; tonelib-jam = callPackage ../applications/audio/tonelib-jam { };
@ -39376,6 +39393,8 @@ with pkgs;
golden-cheetah = libsForQt5.callPackage ../applications/misc/golden-cheetah { }; golden-cheetah = libsForQt5.callPackage ../applications/misc/golden-cheetah { };
golden-cheetah-bin = callPackage ../applications/misc/golden-cheetah-bin {};
linkchecker = callPackage ../tools/networking/linkchecker { }; linkchecker = callPackage ../tools/networking/linkchecker { };
tomb = callPackage ../os-specific/linux/tomb { }; tomb = callPackage ../os-specific/linux/tomb { };

View File

@ -102,6 +102,8 @@ lib.makeScope newScope (self:
snappy = snappy =
callPackage ../development/nim-packages/snappy { inherit (pkgs) snappy; }; callPackage ../development/nim-packages/snappy { inherit (pkgs) snappy; };
nimraylib-now = callPackage ../development/nim-packages/nimraylib-now { };
spry = callPackage ../development/nim-packages/spry { }; spry = callPackage ../development/nim-packages/spry { };
spryvm = callPackage ../development/nim-packages/spryvm { }; spryvm = callPackage ../development/nim-packages/spryvm { };

View File

@ -6081,6 +6081,7 @@ self: super: with self; {
mkdocs-material-extensions = callPackage ../development/python-modules/mkdocs-material/mkdocs-material-extensions.nix { }; mkdocs-material-extensions = callPackage ../development/python-modules/mkdocs-material/mkdocs-material-extensions.nix { };
mkdocs-minify = callPackage ../development/python-modules/mkdocs-minify { }; mkdocs-minify = callPackage ../development/python-modules/mkdocs-minify { };
mkdocs-redirects = callPackage ../development/python-modules/mkdocs-redirects { }; mkdocs-redirects = callPackage ../development/python-modules/mkdocs-redirects { };
mkdocs-simple-hooks = callPackage ../development/python-modules/mkdocs-simple-hooks { };
mkdocs-swagger-ui-tag = callPackage ../development/python-modules/mkdocs-swagger-ui-tag { }; mkdocs-swagger-ui-tag = callPackage ../development/python-modules/mkdocs-swagger-ui-tag { };
mkdocstrings = callPackage ../development/python-modules/mkdocstrings { }; mkdocstrings = callPackage ../development/python-modules/mkdocstrings { };
@ -7996,6 +7997,8 @@ self: super: with self; {
pycategories = callPackage ../development/python-modules/pycategories { }; pycategories = callPackage ../development/python-modules/pycategories { };
pycddl = callPackage ../development/python-modules/pycddl { };
pycdio = callPackage ../development/python-modules/pycdio { }; pycdio = callPackage ../development/python-modules/pycdio { };
pycec = callPackage ../development/python-modules/pycec { }; pycec = callPackage ../development/python-modules/pycec { };