Merge branch 'master' into staging-next

This commit is contained in:
Artturin 2023-10-20 09:29:36 +03:00
commit 3342d1a9a9
75 changed files with 1096 additions and 332 deletions

8
.github/CODEOWNERS vendored
View File

@ -24,10 +24,10 @@
# Libraries # Libraries
/lib @edolstra @infinisil /lib @edolstra @infinisil
/lib/systems @alyssais @ericson2314 @amjoseph-nixpkgs /lib/systems @alyssais @ericson2314 @amjoseph-nixpkgs
/lib/generators.nix @edolstra @Profpatsch /lib/generators.nix @infinisil @edolstra @Profpatsch
/lib/cli.nix @edolstra @Profpatsch /lib/cli.nix @infinisil @edolstra @Profpatsch
/lib/debug.nix @edolstra @Profpatsch /lib/debug.nix @infinisil @edolstra @Profpatsch
/lib/asserts.nix @edolstra @Profpatsch /lib/asserts.nix @infinisil @edolstra @Profpatsch
/lib/path.* @infinisil @fricklerhandwerk /lib/path.* @infinisil @fricklerhandwerk
/lib/fileset @infinisil /lib/fileset @infinisil
/doc/functions/fileset.section.md @infinisil /doc/functions/fileset.section.md @infinisil

View File

@ -2608,12 +2608,6 @@
githubId = 200617; githubId = 200617;
name = "Ben Sima"; name = "Ben Sima";
}; };
bstrik = {
email = "dutchman55@gmx.com";
github = "bstrik";
githubId = 7716744;
name = "Berno Strik";
};
btlvr = { btlvr = {
email = "btlvr@protonmail.com"; email = "btlvr@protonmail.com";
github = "btlvr"; github = "btlvr";
@ -3886,6 +3880,13 @@
githubId = 107034852; githubId = 107034852;
name = "Daniyal Suri"; name = "Daniyal Suri";
}; };
dannixon = {
email = "dan@dan-nixon.com";
github = "DanNixon";
githubId = 4037377;
name = "Dan Nixon";
matrix = "@dannixon:matrix.org";
};
dansbandit = { dansbandit = {
github = "dansbandit"; github = "dansbandit";
githubId = 4530687; githubId = 4530687;
@ -14804,6 +14805,12 @@
githubId = 165283; githubId = 165283;
name = "Alexey Kutepov"; name = "Alexey Kutepov";
}; };
rexxDigital = {
email = "joellarssonpriv@gmail.com";
github = "rexxDigital";
githubId = 44014925;
name = "Rexx Larsson";
};
rgnns = { rgnns = {
email = "jglievano@gmail.com"; email = "jglievano@gmail.com";
github = "rgnns"; github = "rgnns";

View File

@ -612,6 +612,7 @@ with lib.maintainers; {
minimal-bootstrap = { minimal-bootstrap = {
members = [ members = [
alejandrosame
artturin artturin
emilytrau emilytrau
ericson2314 ericson2314

View File

@ -69,4 +69,4 @@ do:
`/etc/group` and `/etc/shadow`. This also creates home directories `/etc/group` and `/etc/shadow`. This also creates home directories
- `usrbinenv` creates `/usr/bin/env` - `usrbinenv` creates `/usr/bin/env`
- `var` creates some directories in `/var` that are not service-specific - `var` creates some directories in `/var` that are not service-specific
- `wrappers` creates setuid wrappers like `ping` and `sudo` - `wrappers` creates setuid wrappers like `sudo`

View File

@ -347,6 +347,8 @@
- DocBook option documentation is no longer supported, all module documentation now uses markdown. - DocBook option documentation is no longer supported, all module documentation now uses markdown.
- `services.outline` can now be configured to use local filesystem storage instead of S3 storage using [services.outline.storage.storageType](#opt-services.outline.storage.storageType).
- `buildGoModule` `go-modules` attrs have been renamed to `goModules`. - `buildGoModule` `go-modules` attrs have been renamed to `goModules`.
- The `fonts.fonts` and `fonts.enableDefaultFonts` options have been renamed to `fonts.packages` and `fonts.enableDefaultPackages` respectively. - The `fonts.fonts` and `fonts.enableDefaultFonts` options have been renamed to `fonts.packages` and `fonts.enableDefaultPackages` respectively.

View File

@ -1,121 +1,154 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
cfg = config.qt; cfg = config.qt;
isQGnome = cfg.platformTheme == "gnome" && builtins.elem cfg.style ["adwaita" "adwaita-dark"]; platformPackages = with pkgs; {
isQtStyle = cfg.platformTheme == "gtk2" && !(builtins.elem cfg.style ["adwaita" "adwaita-dark"]); gnome = [ qgnomeplatform qgnomeplatform-qt6 ];
isQt5ct = cfg.platformTheme == "qt5ct"; gtk2 = [ libsForQt5.qtstyleplugins qt6Packages.qt6gtk2 ];
isLxqt = cfg.platformTheme == "lxqt"; kde = [ libsForQt5.plasma-integration libsForQt5.systemsettings ];
isKde = cfg.platformTheme == "kde"; lxqt = [ lxqt.lxqt-qtplugin lxqt.lxqt-config ];
qt5ct = [ libsForQt5.qt5ct qt6Packages.qt6ct ];
};
packages = stylePackages = with pkgs; {
if isQGnome then [ bb10bright = [ libsForQt5.qtstyleplugins ];
pkgs.qgnomeplatform bb10dark = [ libsForQt5.qtstyleplugins ];
pkgs.adwaita-qt cde = [ libsForQt5.qtstyleplugins ];
pkgs.qgnomeplatform-qt6 cleanlooks = [ libsForQt5.qtstyleplugins ];
pkgs.adwaita-qt6 gtk2 = [ libsForQt5.qtstyleplugins qt6Packages.qt6gtk2 ];
] motif = [ libsForQt5.qtstyleplugins ];
else if isQtStyle then [ pkgs.libsForQt5.qtstyleplugins pkgs.qt6Packages.qt6gtk2 ] plastique = [ libsForQt5.qtstyleplugins ];
else if isQt5ct then [ pkgs.libsForQt5.qt5ct pkgs.qt6Packages.qt6ct ]
else if isLxqt then [ pkgs.lxqt.lxqt-qtplugin pkgs.lxqt.lxqt-config ]
else if isKde then [ pkgs.libsForQt5.plasma-integration pkgs.libsForQt5.systemsettings ]
else throw "`qt.platformTheme` ${cfg.platformTheme} and `qt.style` ${cfg.style} are not compatible.";
adwaita = [ adwaita-qt adwaita-qt6 ];
adwaita-dark = [ adwaita-qt adwaita-qt6 ];
adwaita-highcontrast = [ adwaita-qt adwaita-qt6 ];
adwaita-highcontrastinverse = [ adwaita-qt adwaita-qt6 ];
breeze = [ libsForQt5.breeze-qt5 ];
kvantum = [ libsForQt5.qtstyleplugin-kvantum qt6Packages.qtstyleplugin-kvantum ];
};
in in
{ {
meta.maintainers = [ maintainers.romildo ]; meta.maintainers = with lib.maintainers; [ romildo thiagokokada ];
imports = [ imports = [
(mkRenamedOptionModule ["qt5" "enable" ] ["qt" "enable" ]) (lib.mkRenamedOptionModule [ "qt5" "enable" ] [ "qt" "enable" ])
(mkRenamedOptionModule ["qt5" "platformTheme" ] ["qt" "platformTheme" ]) (lib.mkRenamedOptionModule [ "qt5" "platformTheme" ] [ "qt" "platformTheme" ])
(mkRenamedOptionModule ["qt5" "style" ] ["qt" "style" ]) (lib.mkRenamedOptionModule [ "qt5" "style" ] [ "qt" "style" ])
]; ];
options = { options = {
qt = { qt = {
enable = lib.mkEnableOption "" // {
description = lib.mdDoc ''
Whether to enable Qt configuration, including theming.
enable = mkEnableOption (lib.mdDoc "Qt theming configuration"); Enabling this option is necessary for Qt plugins to work in the
installed profiles (e.g.: `nix-env -i` or `environment.systemPackages`).
'';
};
platformTheme = mkOption { platformTheme = lib.mkOption {
type = types.enum [ type = with lib.types; nullOr (enum (lib.attrNames platformPackages));
"gtk2" default = null;
"gnome"
"lxqt"
"qt5ct"
"kde"
];
example = "gnome"; example = "gnome";
relatedPackages = [ relatedPackages = [
"qgnomeplatform" "qgnomeplatform"
"qgnomeplatform-qt6" "qgnomeplatform-qt6"
["libsForQt5" "qtstyleplugins"] [ "libsForQt5" "plasma-integration" ]
["libsForQt5" "qt5ct"] [ "libsForQt5" "qt5ct" ]
["lxqt" "lxqt-qtplugin"] [ "libsForQt5" "qtstyleplugins" ]
["libsForQt5" "plasma-integration"] [ "libsForQt5" "systemsettings" ]
[ "lxqt" "lxqt-config" ]
[ "lxqt" "lxqt-qtplugin" ]
[ "qt6Packages" "qt6ct" ]
[ "qt6Packages" "qt6gtk2" ]
]; ];
description = lib.mdDoc '' description = lib.mdDoc ''
Selects the platform theme to use for Qt applications. Selects the platform theme to use for Qt applications.
The options are The options are
- `gtk`: Use GTK theme with [qtstyleplugins](https://github.com/qt/qtstyleplugins)
- `gnome`: Use GNOME theme with [qgnomeplatform](https://github.com/FedoraQt/QGnomePlatform) - `gnome`: Use GNOME theme with [qgnomeplatform](https://github.com/FedoraQt/QGnomePlatform)
- `gtk2`: Use GTK theme with [qtstyleplugins](https://github.com/qt/qtstyleplugins)
- `kde`: Use Qt settings from Plasma.
- `lxqt`: Use LXQt style set using the [lxqt-config-appearance](https://github.com/lxqt/lxqt-config) - `lxqt`: Use LXQt style set using the [lxqt-config-appearance](https://github.com/lxqt/lxqt-config)
application. application.
- `qt5ct`: Use Qt style set using the [qt5ct](https://sourceforge.net/projects/qt5ct/) - `qt5ct`: Use Qt style set using the [qt5ct](https://sourceforge.net/projects/qt5ct/)
application. and [qt6ct](https://github.com/trialuser02/qt6ct) applications.
- `kde`: Use Qt settings from Plasma.
''; '';
}; };
style = mkOption { style = lib.mkOption {
type = types.enum [ type = with lib.types; nullOr (enum (lib.attrNames stylePackages));
"adwaita" default = null;
"adwaita-dark"
"cleanlooks"
"gtk2"
"motif"
"plastique"
];
example = "adwaita"; example = "adwaita";
relatedPackages = [ relatedPackages = [
"adwaita-qt" "adwaita-qt"
"adwaita-qt6" "adwaita-qt6"
["libsForQt5" "qtstyleplugins"] [ "libsForQt5" "breeze-qt5" ]
["qt6Packages" "qt6gtk2"] [ "libsForQt5" "qtstyleplugin-kvantum" ]
[ "libsForQt5" "qtstyleplugins" ]
[ "qt6Packages" "qt6gtk2" ]
[ "qt6Packages" "qtstyleplugin-kvantum" ]
]; ];
description = lib.mdDoc '' description = lib.mdDoc ''
Selects the style to use for Qt applications. Selects the style to use for Qt applications.
The options are The options are
- `adwaita`, `adwaita-dark`: Use Adwaita Qt style with - `adwaita`, `adwaita-dark`, `adwaita-highcontrast`, `adawaita-highcontrastinverse`:
Use Adwaita Qt style with
[adwaita](https://github.com/FedoraQt/adwaita-qt) [adwaita](https://github.com/FedoraQt/adwaita-qt)
- `cleanlooks`, `gtk2`, `motif`, `plastique`: Use styles from - `breeze`: Use the Breeze style from
[breeze](https://github.com/KDE/breeze)
- `bb10bright`, `bb10dark`, `cleanlooks`, `gtk2`, `motif`, `plastique`:
Use styles from
[qtstyleplugins](https://github.com/qt/qtstyleplugins) [qtstyleplugins](https://github.com/qt/qtstyleplugins)
- `kvantum`: Use styles from
[kvantum](https://github.com/tsujan/Kvantum)
''; '';
}; };
}; };
}; };
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
assertions =
let
gnomeStyles = [
"adwaita"
"adwaita-dark"
"adwaita-highcontrast"
"adwaita-highcontrastinverse"
"breeze"
];
in
[
{
assertion = cfg.platformTheme == "gnome" -> (builtins.elem cfg.style gnomeStyles);
message = ''
`qt.platformTheme` "gnome" must have `qt.style` set to a theme that supports both Qt and Gtk,
for example: ${lib.concatStringsSep ", " gnomeStyles}.
'';
}
];
environment.variables = { environment.variables = {
QT_QPA_PLATFORMTHEME = cfg.platformTheme; QT_QPA_PLATFORMTHEME = lib.mkIf (cfg.platformTheme != null) cfg.platformTheme;
QT_STYLE_OVERRIDE = mkIf (! (isQt5ct || isLxqt || isKde)) cfg.style; QT_STYLE_OVERRIDE = lib.mkIf (cfg.style != null) cfg.style;
}; };
environment.profileRelativeSessionVariables = let environment.profileRelativeSessionVariables =
qtVersions = with pkgs; [ qt5 qt6 ]; let
in { qtVersions = with pkgs; [ qt5 qt6 ];
QT_PLUGIN_PATH = map (qt: "/${qt.qtbase.qtPluginPrefix}") qtVersions; in
QML2_IMPORT_PATH = map (qt: "/${qt.qtbase.qtQmlPrefix}") qtVersions; {
}; QT_PLUGIN_PATH = map (qt: "/${qt.qtbase.qtPluginPrefix}") qtVersions;
QML2_IMPORT_PATH = map (qt: "/${qt.qtbase.qtQmlPrefix}") qtVersions;
environment.systemPackages = packages; };
environment.systemPackages =
lib.optionals (cfg.platformTheme != null) (platformPackages.${cfg.platformTheme})
++ lib.optionals (cfg.style != null) (stylePackages.${cfg.style});
}; };
} }

View File

@ -208,7 +208,7 @@ in
end end
# if we haven't sourced the login config, do it # if we haven't sourced the login config, do it
status --is-login; and not set -q __fish_nixos_login_config_sourced status is-login; and not set -q __fish_nixos_login_config_sourced
and begin and begin
${sourceEnv "loginShellInit"} ${sourceEnv "loginShellInit"}
@ -220,7 +220,7 @@ in
end end
# if we haven't sourced the interactive config, do it # if we haven't sourced the interactive config, do it
status --is-interactive; and not set -q __fish_nixos_interactive_config_sourced status is-interactive; and not set -q __fish_nixos_interactive_config_sourced
and begin and begin
${fishAbbrs} ${fishAbbrs}
${fishAliases} ${fishAliases}

View File

@ -2,10 +2,4 @@
let apparmor = config.security.apparmor; in let apparmor = config.security.apparmor; in
{ {
config.security.apparmor.packages = [ pkgs.apparmor-profiles ]; config.security.apparmor.packages = [ pkgs.apparmor-profiles ];
config.security.apparmor.policies."bin.ping".profile = lib.mkIf apparmor.policies."bin.ping".enable ''
include "${pkgs.iputils.apparmor}/bin.ping"
include "${pkgs.inetutils.apparmor}/bin.ping"
# Note that including those two profiles in the same profile
# would not work if the second one were to re-include <tunables/global>.
'';
} }

View File

@ -588,11 +588,12 @@ in {
"~@privileged" "~@privileged"
] ++ optionals (any useComponent componentsUsingPing) [ ] ++ optionals (any useComponent componentsUsingPing) [
"capset" "capset"
"setuid"
]; ];
UMask = "0077"; UMask = "0077";
}; };
path = [ path = [
"/run/wrappers" # needed for ping pkgs.unixtools.ping # needed for ping
]; ];
}; };

View File

@ -117,13 +117,14 @@ in
storage = lib.mkOption { storage = lib.mkOption {
description = lib.mdDoc '' description = lib.mdDoc ''
To support uploading of images for avatars and document attachments an To support uploading of images for avatars and document attachments an
s3-compatible storage must be provided. AWS S3 is recommended for s3-compatible storage can be provided. AWS S3 is recommended for
redundancy however if you want to keep all file storage local an redundancy however if you want to keep all file storage local an
alternative such as [minio](https://github.com/minio/minio) alternative such as [minio](https://github.com/minio/minio)
can be used. can be used.
Local filesystem storage can also be used.
A more detailed guide on setting up S3 is available A more detailed guide on setting up storage is available
[here](https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f). [here](https://docs.getoutline.com/s/hosting/doc/file-storage-N4M0T6Ypu7).
''; '';
example = lib.literalExpression '' example = lib.literalExpression ''
{ {
@ -136,6 +137,19 @@ in
''; '';
type = lib.types.submodule { type = lib.types.submodule {
options = { options = {
storageType = lib.mkOption {
type = lib.types.enum [ "local" "s3" ];
description = lib.mdDoc "File storage type, it can be local or s3.";
default = "s3";
};
localRootDir = lib.mkOption {
type = lib.types.str;
description = lib.mdDoc ''
If `storageType` is `local`, this sets the parent directory
under which all attachments/images go.
'';
default = "/var/lib/outline/data";
};
accessKey = lib.mkOption { accessKey = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = lib.mdDoc "S3 access key."; description = lib.mdDoc "S3 access key.";
@ -557,7 +571,10 @@ in
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"f ${cfg.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -" "f ${cfg.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -"
"f ${cfg.utilsSecretFile} 0600 ${cfg.user} ${cfg.group} -" "f ${cfg.utilsSecretFile} 0600 ${cfg.user} ${cfg.group} -"
"f ${cfg.storage.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -" (if (cfg.storage.storageType == "s3") then
"f ${cfg.storage.secretKeyFile} 0600 ${cfg.user} ${cfg.group} -"
else
"d ${cfg.storage.localRootDir} 0700 ${cfg.user} ${cfg.group} - -")
]; ];
services.postgresql = lib.mkIf (cfg.databaseUrl == "local") { services.postgresql = lib.mkIf (cfg.databaseUrl == "local") {
@ -599,14 +616,6 @@ in
URL = cfg.publicUrl; URL = cfg.publicUrl;
PORT = builtins.toString cfg.port; PORT = builtins.toString cfg.port;
AWS_ACCESS_KEY_ID = cfg.storage.accessKey;
AWS_REGION = cfg.storage.region;
AWS_S3_UPLOAD_BUCKET_URL = cfg.storage.uploadBucketUrl;
AWS_S3_UPLOAD_BUCKET_NAME = cfg.storage.uploadBucketName;
AWS_S3_UPLOAD_MAX_SIZE = builtins.toString cfg.storage.uploadMaxSize;
AWS_S3_FORCE_PATH_STYLE = builtins.toString cfg.storage.forcePathStyle;
AWS_S3_ACL = cfg.storage.acl;
CDN_URL = cfg.cdnUrl; CDN_URL = cfg.cdnUrl;
FORCE_HTTPS = builtins.toString cfg.forceHttps; FORCE_HTTPS = builtins.toString cfg.forceHttps;
ENABLE_UPDATES = builtins.toString cfg.enableUpdateCheck; ENABLE_UPDATES = builtins.toString cfg.enableUpdateCheck;
@ -622,8 +631,21 @@ in
RATE_LIMITER_ENABLED = builtins.toString cfg.rateLimiter.enable; RATE_LIMITER_ENABLED = builtins.toString cfg.rateLimiter.enable;
RATE_LIMITER_REQUESTS = builtins.toString cfg.rateLimiter.requests; RATE_LIMITER_REQUESTS = builtins.toString cfg.rateLimiter.requests;
RATE_LIMITER_DURATION_WINDOW = builtins.toString cfg.rateLimiter.durationWindow; RATE_LIMITER_DURATION_WINDOW = builtins.toString cfg.rateLimiter.durationWindow;
FILE_STORAGE = cfg.storage.storageType;
FILE_STORAGE_UPLOAD_MAX_SIZE = builtins.toString cfg.storage.uploadMaxSize;
FILE_STORAGE_LOCAL_ROOT_DIR = cfg.storage.localRootDir;
} }
(lib.mkIf (cfg.storage.storageType == "s3") {
AWS_ACCESS_KEY_ID = cfg.storage.accessKey;
AWS_REGION = cfg.storage.region;
AWS_S3_UPLOAD_BUCKET_URL = cfg.storage.uploadBucketUrl;
AWS_S3_UPLOAD_BUCKET_NAME = cfg.storage.uploadBucketName;
AWS_S3_FORCE_PATH_STYLE = builtins.toString cfg.storage.forcePathStyle;
AWS_S3_ACL = cfg.storage.acl;
})
(lib.mkIf (cfg.slackAuthentication != null) { (lib.mkIf (cfg.slackAuthentication != null) {
SLACK_CLIENT_ID = cfg.slackAuthentication.clientId; SLACK_CLIENT_ID = cfg.slackAuthentication.clientId;
}) })
@ -676,7 +698,9 @@ in
script = '' script = ''
export SECRET_KEY="$(head -n1 ${lib.escapeShellArg cfg.secretKeyFile})" export SECRET_KEY="$(head -n1 ${lib.escapeShellArg cfg.secretKeyFile})"
export UTILS_SECRET="$(head -n1 ${lib.escapeShellArg cfg.utilsSecretFile})" export UTILS_SECRET="$(head -n1 ${lib.escapeShellArg cfg.utilsSecretFile})"
export AWS_SECRET_ACCESS_KEY="$(head -n1 ${lib.escapeShellArg cfg.storage.secretKeyFile})" ${lib.optionalString (cfg.storage.storageType == "s3") ''
export AWS_SECRET_ACCESS_KEY="$(head -n1 ${lib.escapeShellArg cfg.storage.secretKeyFile})"
''}
${lib.optionalString (cfg.slackAuthentication != null) '' ${lib.optionalString (cfg.slackAuthentication != null) ''
export SLACK_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.slackAuthentication.secretFile})" export SLACK_CLIENT_SECRET="$(head -n1 ${lib.escapeShellArg cfg.slackAuthentication.secretFile})"
''} ''}

View File

@ -49,7 +49,7 @@ let
''; '';
}; };
checkedSystemdBootBuilder = pkgs.runCommand "systemd-boot" { checkedSystemdBootBuilder = pkgs.runCommandLocal "systemd-boot" {
nativeBuildInputs = [ pkgs.mypy ]; nativeBuildInputs = [ pkgs.mypy ];
} '' } ''
install -m755 ${systemdBootBuilder} $out install -m755 ${systemdBootBuilder} $out

View File

@ -1406,28 +1406,6 @@ in
val = tempaddrValues.${opt}.sysctl; val = tempaddrValues.${opt}.sysctl;
in nameValuePair "net.ipv6.conf.${replaceStrings ["."] ["/"] i.name}.use_tempaddr" val)); in nameValuePair "net.ipv6.conf.${replaceStrings ["."] ["/"] i.name}.use_tempaddr" val));
security.wrappers = {
ping = {
owner = "root";
group = "root";
capabilities = "cap_net_raw+p";
source = "${pkgs.iputils.out}/bin/ping";
};
};
security.apparmor.policies."bin.ping".profile = lib.mkIf config.security.apparmor.policies."bin.ping".enable (lib.mkAfter ''
/run/wrappers/bin/ping {
include <abstractions/base>
include <nixos/security.wrappers/ping>
rpx /run/wrappers/wrappers.*/ping,
}
/run/wrappers/wrappers.*/ping {
include <abstractions/base>
include <nixos/security.wrappers/ping>
capability net_raw,
capability setpcap,
}
'');
# Set the host and domain names in the activation script. Don't # Set the host and domain names in the activation script. Don't
# clear it if it's not configured in the NixOS configuration, # clear it if it's not configured in the NixOS configuration,
# since it may have been set by dhcpcd in the meantime. # since it may have been set by dhcpcd in the meantime.

View File

@ -180,7 +180,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# Do some IP traffic # Do some IP traffic
output_ping = machine.succeed( output_ping = machine.succeed(
"systemd-run --wait -- /run/wrappers/bin/ping -c 1 127.0.0.1 2>&1" "systemd-run --wait -- ping -c 1 127.0.0.1 2>&1"
) )
with subtest("systemd reports accounting data on system.slice"): with subtest("systemd reports accounting data on system.slice"):

View File

@ -362,7 +362,7 @@ All versions of a package _must_ be included in `all-packages.nix` to make sure
* If there is no upstream license, `meta.license` should default to `lib.licenses.unfree`. * If there is no upstream license, `meta.license` should default to `lib.licenses.unfree`.
* If in doubt, try to contact the upstream developers for clarification. * If in doubt, try to contact the upstream developers for clarification.
* `meta.mainProgram` must be set when appropriate. * `meta.mainProgram` must be set when appropriate.
* `meta.maintainers` should be set. * `meta.maintainers` must be set for new packages.
See the Nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes). See the Nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes).

View File

@ -2,6 +2,7 @@
, fetchCrate , fetchCrate
, rustPlatform , rustPlatform
, pkg-config , pkg-config
, installShellFiles
, openssl , openssl
, dbus , dbus
, sqlite , sqlite
@ -24,6 +25,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
installShellFiles
]; ];
buildInputs = [ buildInputs = [
@ -32,6 +34,13 @@ rustPlatform.buildRustPackage rec {
sqlite sqlite
] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
postInstall = ''
installShellCompletion --cmd leetcode \
--bash <($out/bin/leetcode completions bash) \
--fish <($out/bin/leetcode completions fish) \
--zsh <($out/bin/leetcode completions zsh)
'';
passthru.tests = testers.testVersion { passthru.tests = testers.testVersion {
package = leetcode-cli; package = leetcode-cli;
command = "leetcode -V"; command = "leetcode -V";

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "slweb"; pname = "slweb";
version = "0.6.11"; version = "0.9.0";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~strahinja"; owner = "~strahinja";
repo = "slweb"; repo = "slweb";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-+bKapK/s1pmo1NRRslf7V4ogWTtchFNWpzi+S8YG6+4="; hash = "sha256-QDHcp5pCmapgOlJpDDyyC12JOfh/biDyF6O+iKGbOGg=";
}; };
nativeBuildInputs = [ redo-apenwarr ]; nativeBuildInputs = [ redo-apenwarr ];

View File

@ -9,13 +9,13 @@
buildGoModule rec { buildGoModule rec {
pname = "kaniko"; pname = "kaniko";
version = "1.16.0"; version = "1.17.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GoogleContainerTools"; owner = "GoogleContainerTools";
repo = "kaniko"; repo = "kaniko";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-PTcPlYJ0IHWNQKBJcMiotGp6GPH3qY3f6sJKgUVSTZU="; hash = "sha256-O4FPz62QnvG+Q2l4Gr/O0XFpkXE2G4RO/G6KNDdanzk=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -20,13 +20,13 @@
buildGoModule rec { buildGoModule rec {
pname = "kubernetes"; pname = "kubernetes";
version = "1.28.2"; version = "1.28.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubernetes"; owner = "kubernetes";
repo = "kubernetes"; repo = "kubernetes";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-7juoX4nFvQbIIbhTlnIYVUEYUJGwu+aKrpw4ltujjXI="; hash = "sha256-lb9FAk3b6J92viyHzLCzbYRxhQS94/FQvDr1m1kdTq8=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -5,18 +5,18 @@
buildGoModule rec { buildGoModule rec {
pname = "storj-uplink"; pname = "storj-uplink";
version = "1.89.2"; version = "1.90.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "storj"; owner = "storj";
repo = "storj"; repo = "storj";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-tbzdfKA3ojwTvJ+t7jLLy3iKQ/x/0lXDcb2w1XcyEhs="; hash = "sha256-LJtNsemNbN+TLyUxSgB/wftKxOfI/y/t+qv1TjcsXzQ=";
}; };
subPackages = [ "cmd/uplink" ]; subPackages = [ "cmd/uplink" ];
vendorHash = "sha256-AME5EM2j7PQ/DodK+3BiVepTRbwMqqItQbmCJ2lrGM8="; vendorHash = "sha256-R713WhFrWT7Cgstk3SLuvvyk3/ZtT1LOH0qqmFcWzKw=";
ldflags = [ "-s" "-w" ]; ldflags = [ "-s" "-w" ];

View File

@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "eza"; pname = "eza";
version = "0.14.2"; version = "0.15.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eza-community"; owner = "eza-community";
repo = "eza"; repo = "eza";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-eST70KMdGgbTo4FNL3K5YGn9lwIGroG4y4ExKDb30hU="; hash = "sha256-52vBN/EdO0R2Lt/Iv33Odl437I8kgUhxXwtUuiaAcAU=";
}; };
cargoHash = "sha256-h5ooNR0IeXWyY6PuZM/bQLkX4F0eZsEY2eoIgo0nRFA="; cargoHash = "sha256-j6FsI6FpBXtaNcVDY84UBcqifXuJxBRW5Gdln8pq7Iw=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ] buildInputs = [ zlib ]

View File

@ -0,0 +1,23 @@
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation (finalAttrs: {
pname = "reactphysics3d";
version = "0.9.0";
src = fetchFromGitHub {
owner = "DanielChappuis";
repo = "reactphysics3d";
rev = "v${finalAttrs.version}";
hash = "sha256-AUdsUXsygsGfS8H+AHEV1fSrrX7zGmfsaTONYUG3zqk=";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "An open source C++ physics engine library";
homepage = "https://www.reactphysics3d.com";
maintainers = with maintainers; [ rexxDigital ];
license = licenses.zlib;
platforms = platforms.all;
};
})

View File

@ -1,38 +1,47 @@
{ lib, stdenv, dockapps-sources, pkg-config, libX11, libXpm, libXext, alsa-lib }: { lib
, stdenv
, alsa-lib
, dockapps-sources
, libX11
, libXext
, libXpm
, pkg-config
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "AlsaMixer.app"; pname = "AlsaMixer.app";
version = "0.2.1";
src = dockapps-sources; inherit (dockapps-sources) version src;
nativeBuildInputs = [ pkg-config ]; sourceRoot = "${finalAttrs.src.name}/AlsaMixer.app";
buildInputs = [ libX11 libXpm libXext alsa-lib ];
setSourceRoot = '' nativeBuildInputs = [
export sourceRoot=$(echo */${pname}) pkg-config
''; ];
buildInputs = [
alsa-lib
libX11
libXpm
libXext
];
hardeningDisable = [ "fortify" ];
dontConfigure = true; dontConfigure = true;
preInstall = ''
install -d ${placeholder "out"}/bin
'';
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
install -t ${placeholder "out"}/bin AlsaMixer.app install -D -t ${placeholder "out"}/bin/ AlsaMixer.app
pushd ${placeholder "out"}/bin
ln -vs AlsaMixer.app AlsaMixer
runHook postInstall runHook postInstall
''; '';
postInstall = '' meta = {
ln -s ${placeholder "out"}/bin/AlsaMixer.app ${placeholder "out"}/bin/AlsaMixer
'';
meta = with lib; {
description = "Alsa mixer application for Windowmaker"; description = "Alsa mixer application for Windowmaker";
homepage = "https://www.dockapps.net/alsamixerapp"; homepage = "https://www.dockapps.net/alsamixerapp";
license = licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = [ maintainers.bstrik ]; maintainers = [ ];
}; };
} })

View File

@ -0,0 +1,46 @@
{ lib
, stdenv
, dockapps-sources
, libX11
, libXext
, libXpm
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cputnik";
inherit (dockapps-sources) version src;
sourceRoot = "${finalAttrs.src.name}/cputnik/src";
buildInputs = [
libX11
libXpm
libXext
];
preBuild = ''
makeFlagsArray+=(
INCS="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXpm.dev}/include"
LIBS="-L${libX11}/lib -L${libXext}/lib -L${libXpm}/lib -lX11 -lXpm -lXext"
)
'';
hardeningDisable = [ "format" ];
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin/ cputnik
runHook postInstall
'';
meta = {
description = "A Calendar clock with antialiased text";
homepage = "https://www.dockapps.net/wmcalclock";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@ -1,20 +1,29 @@
{ config, lib, pkgs }: { config, lib, pkgs }:
lib.makeScope pkgs.newScope (self: with self; { lib.makeScope pkgs.newScope (self: {
dockapps-sources = pkgs.fetchgit { dockapps-sources = {
url = "https://repo.or.cz/dockapps.git"; pname = "dockapps-sources";
rev = "b2b9d872ee61c9b329e4597c301e4417cbd9c3ea"; version = "2023-10-11"; # Shall correspond to src.rev
sha256 = "sha256-BuSnwPIj3gUWMjj++SK+117xm/77u4gXLQzRFttei0w=";
src = pkgs.fetchFromRepoOrCz {
repo = "dockapps";
rev = "1bbb32008ecb58acaec9ea70e00b4ea1735408fc";
hash = "sha256-BLUDe/cIIuh9mCtafbcBSDatUXSRD83FeyYhcbem5FU=";
};
}; };
libdockapp = callPackage ./libdockapp.nix { }; AlsaMixer-app = self.callPackage ./AlsaMixer-app.nix { };
AlsaMixer-app = callPackage ./AlsaMixer-app.nix { }; cputnik = self.callPackage ./cputnik.nix { };
wmCalClock = callPackage ./wmCalClock.nix { }; libdockapp = self.callPackage ./libdockapp.nix { };
wmsm-app = callPackage ./wmsm-app.nix { }; wmCalClock = self.callPackage ./wmCalClock.nix { };
wmsystemtray = callPackage ./wmsystemtray.nix { }; wmcube = self.callPackage ./wmcube.nix { };
wmsm-app = self.callPackage ./wmsm-app.nix { };
wmsystemtray = self.callPackage ./wmsystemtray.nix { };
}) })

View File

@ -1,30 +1,36 @@
{ lib, stdenv, dockapps-sources, autoreconfHook, pkg-config { lib
, libX11, libXext, libXpm, mkfontdir, fontutil }: , stdenv
, autoreconfHook
, dockapps-sources
, fontutil
, libX11
, libXext
, libXpm
, mkfontdir
, pkg-config
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "libdockapp"; pname = "libdockapp";
version = "0.7.3";
src = dockapps-sources; inherit (dockapps-sources) version src;
sourceRoot = "${finalAttrs.src.name}/libdockapp";
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libX11 libXext libXpm fontutil mkfontdir ]; buildInputs = [ libX11 libXext libXpm fontutil mkfontdir ];
setSourceRoot = ''
export sourceRoot=$(echo */${pname})
'';
# There is a bug on --with-font # There is a bug on --with-font
configureFlags = [ configureFlags = [
"--with-examples=no" "--with-examples=no"
"--with-font=no" "--with-font=no"
]; ];
meta = with lib; { meta = {
description = "A library providing a framework for dockapps"; description = "A library providing a framework for dockapps";
homepage = "https://www.dockapps.net/libdockapp"; homepage = "https://www.dockapps.net/libdockapp";
license = licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = [ maintainers.bstrik ]; maintainers = [ ];
}; };
} })

View File

@ -1,17 +1,23 @@
{ lib, stdenv, dockapps-sources { lib
, libX11, libXpm, libXext }: , stdenv
, dockapps-sources
, libX11
, libXext
, libXpm
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "wmCalClock"; pname = "wmCalClock";
version = "1.25";
src = dockapps-sources; inherit (dockapps-sources) version src;
buildInputs = [ libX11 libXpm libXext ]; sourceRoot = "${finalAttrs.src.name}/wmCalClock";
setSourceRoot = '' buildInputs = [
export sourceRoot=$(echo */${pname}/Src) libX11
''; libXpm
libXext
];
preBuild = '' preBuild = ''
makeFlagsArray+=( makeFlagsArray+=(
@ -28,11 +34,11 @@ stdenv.mkDerivation rec {
installFlags = [ "DESTDIR=${placeholder "out"}" ]; installFlags = [ "DESTDIR=${placeholder "out"}" ];
meta = with lib; { meta = {
description = "A Calendar clock with antialiased text"; description = "A Calendar clock with antialiased text";
homepage = "https://www.dockapps.net/wmcalclock"; homepage = "https://www.dockapps.net/wmcalclock";
license = licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = [ maintainers.bstrik ]; maintainers = [ ];
platforms = platforms.linux; platforms = lib.platforms.linux;
}; };
} })

View File

@ -0,0 +1,48 @@
{ lib
, stdenv
, dockapps-sources
, libX11
, libXpm
, libXext
, libdockapp
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wmcube";
inherit (dockapps-sources) version src;
sourceRoot = "${finalAttrs.src.name}/wmcube/wmcube";
buildInputs = [
libX11
libXext
libXpm
libdockapp
];
env.NIX_CFLAGS_COMPILE = "-std=gnu89";
preBuild = ''
makeFlagsArray=(
CC="${stdenv.cc.targetPrefix}cc"
PREFIX="${placeholder "out"}"
VERSION="${finalAttrs.version}"
LIBDIR="-L${lib.getLib libX11}/lib -L${lib.getLib libXext}/lib \
-L${lib.getLib libXpm}/lib -L${lib.getLib libdockapp}/lib"
INCDIR="-I${lib.getDev libX11}/lib -I${lib.getDev libXext}/lib \
-I${lib.getDev libXpm}/lib -I${lib.getDev libdockapp}/lib"
LIBS="-lm -lXpm -lXext -lX11 -ldockapp"
)
'';
preInstall = ''
mkdir -pv $out/{bin,doc/wmcube-${finalAttrs.version},share/wmcube,man/man1}
'';
meta = {
description = "System monitor for Windowmaker";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
};
})

View File

@ -1,20 +1,25 @@
{ lib, stdenv, dockapps-sources { lib
, stdenv
, dockapps-sources
, libX11 , libX11
, libXpm , libXpm
, libXext , libXext
, libdockapp }: , libdockapp
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "wmsm.app"; pname = "wmsm.app";
version = "0.2.1";
src = dockapps-sources; inherit (dockapps-sources) version src;
buildInputs = [ libX11 libXpm libXext libdockapp ]; sourceRoot = "${src.name}/wmsm.app/wmsm";
setSourceRoot = '' buildInputs = [
export sourceRoot=$(echo */${pname}/wmsm) libX11
''; libXext
libXpm
libdockapp
];
env.NIX_CFLAGS_COMPILE = "-std=gnu89"; env.NIX_CFLAGS_COMPILE = "-std=gnu89";
@ -24,7 +29,9 @@ stdenv.mkDerivation rec {
--replace "/usr/bin/install" "install" --replace "/usr/bin/install" "install"
''; '';
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
@ -32,12 +39,14 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
installFlags = [ "PREFIX=${placeholder "out"}/bin" ]; installFlags = [
"PREFIX=${placeholder "out"}/bin"
];
meta = with lib; { meta = {
description = "System monitor for Windowmaker"; description = "System monitor for Windowmaker";
homepage = "https://www.dockapps.net/wmsmapp"; homepage = "https://www.dockapps.net/wmsmapp";
license = licenses.gpl2; license = lib.licenses.gpl2Plus;
maintainers = [ maintainers.bstrik ]; maintainers = [ ];
}; };
} })

View File

@ -1,22 +1,40 @@
{ lib, stdenv, fetchurl, pkg-config, libX11, libXpm, libXext, libXfixes, libXmu }: { lib
, stdenv
, fetchurl
, libX11
, libXext
, libXfixes
, libXmu
, libXpm
, pkg-config
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "wmsystemtray"; pname = "wmsystemtray";
version = "1.4"; version = "1.4";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/${pname}/${pname}/${pname}-${version}.tar.gz"; url = "mirror://sourceforge/project/wmsystemtray/wmsystemtray/wmsystemtray-${finalAttrs.version}.tar.gz";
sha256 = "sha256-jt70NpHp//BxAA4pFmx8GtQgwJVukGgVEGHogcisl+k="; hash = "sha256-jt70NpHp//BxAA4pFmx8GtQgwJVukGgVEGHogcisl+k=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [
buildInputs = [ libX11 libXpm libXext libXfixes libXmu ]; pkg-config
];
meta = with lib; { buildInputs = [
libX11
libXext
libXfixes
libXmu
libXpm
];
meta = {
description = "A system tray for Windowmaker"; description = "A system tray for Windowmaker";
homepage = "http://wmsystemtray.sourceforge.net"; homepage = "http://wmsystemtray.sourceforge.net";
license = licenses.gpl2Only; license = licenses.gpl2Only;
maintainers = [ maintainers.bstrik ]; maintainers = [ ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} })

View File

@ -2,6 +2,7 @@
, stdenv , stdenv
, fetchFromRepoOrCz , fetchFromRepoOrCz
, autoreconfHook , autoreconfHook
, callPackage
, pkg-config , pkg-config
, imagemagick , imagemagick
, libX11 , libX11
@ -62,6 +63,10 @@ stdenv.mkDerivation (finalAttrs: {
"--with-x" "--with-x"
]; ];
passthru = {
dockapps = callPackage ./dockapps { };
};
meta = { meta = {
homepage = "http://windowmaker.org/"; homepage = "http://windowmaker.org/";
description = "NeXTSTEP-like window manager"; description = "NeXTSTEP-like window manager";

View File

@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sketchybar-app-font"; pname = "sketchybar-app-font";
version = "1.0.16"; version = "1.0.17";
src = fetchurl { src = fetchurl {
url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf"; url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
hash = "sha256-58gRCEJix9pnZEcoo6bm2zWduP0xXl3WWC6mt36SGuo="; hash = "sha256-sDMasHVcITTSUP9B87w4I7IZ44tYmabNNWl+kE3dUoE=";
}; };
dontUnpack = true; dontUnpack = true;

View File

@ -9,14 +9,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "annotated-types"; pname = "annotated-types";
version = "0.5.0"; version = "0.6.0";
format = "pyproject"; format = "pyproject";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "annotated-types"; owner = "annotated-types";
repo = "annotated-types"; repo = "annotated-types";
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-zCsWfJ8BQuov8FN+hlm9XBKWAAQ/KHPK/x024A8k2kE="; hash = "sha256-SZ9/rXYcns4DFM6vk6SRKvuv3MY3T7xO9aW7WAQqtVE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,7 +5,6 @@
, click , click
, configparser , configparser
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, fido2 , fido2
, lxml , lxml
, poetry-core , poetry-core
@ -20,9 +19,9 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aws-adfs"; pname = "aws-adfs";
version = "2.8.2"; version = "2.8.2";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "venth"; owner = "venth";
@ -63,6 +62,7 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Command line tool to ease AWS CLI authentication against ADFS"; description = "Command line tool to ease AWS CLI authentication against ADFS";
homepage = "https://github.com/venth/aws-adfs"; homepage = "https://github.com/venth/aws-adfs";
changelog = "https://github.com/venth/aws-adfs/releases/tag/v${version}";
license = licenses.psfl; license = licenses.psfl;
maintainers = with maintainers; [ bhipple ]; maintainers = with maintainers; [ bhipple ];
}; };

View File

@ -6,20 +6,21 @@
, pythonOlder , pythonOlder
, setuptools , setuptools
, solc-select , solc-select
, toml
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "crytic-compile"; pname = "crytic-compile";
version = "0.3.4"; version = "0.3.5";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "crytic"; owner = "crytic";
repo = "crytic-compile"; repo = "crytic-compile";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-CeoACtgvMweDbIvYguK2Ca+iTBFONWcE2b0qUkBbQSU="; hash = "sha256-aO2K0lc3qjKK8CZAbu/lotI5QJ/R+8npSIRX4a6HdrI=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -27,6 +28,7 @@ buildPythonPackage rec {
pycryptodome pycryptodome
setuptools setuptools
solc-select solc-select
toml
]; ];
# Test require network access # Test require network access

View File

@ -0,0 +1,106 @@
{ lib
, stdenv
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, gevent
, pika
, prometheus-client
, pylibmc
, pytestCheckHook
, redis
, watchdog
, watchdog-gevent
}:
buildPythonPackage rec {
pname = "dramatiq";
version = "1.14.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Bogdanp";
repo = "dramatiq";
rev = "v${version}";
hash = "sha256-yv6HUJI7wsAQdBJ5QNv7qXhtzPvCsrF1389kyemAV7Y=";
};
propagatedBuildInputs = [
prometheus-client
];
passthru.optional-dependencies = {
all = [
gevent
pika
pylibmc
redis
watchdog
watchdog-gevent
];
gevent = [
gevent
];
memcached = [
pylibmc
];
rabbitmq = [
pika
];
redis = [
redis
];
watch = [
watchdog
watchdog-gevent
];
};
nativeCheckInputs = [ pytestCheckHook pika redis pylibmc ];
postPatch = ''
sed -i ./setup.cfg \
-e 's:--cov dramatiq::' \
-e 's:--cov-report html::' \
-e 's:--benchmark-autosave::' \
-e 's:--benchmark-compare::' \
'';
disabledTests = [
# Requires a running redis
"test_after_process_boot_call_has_no_blocked_signals"
"test_cli_can_be_reloaded_on_sighup"
"test_cli_can_watch_for_source_code_changes"
"test_cli_fork_functions_have_no_blocked_signals"
"test_consumer_threads_have_no_blocked_signals"
"test_middleware_fork_functions_have_no_blocked_signals"
"test_redis_broker_can_connect_via_client"
"test_redis_broker_can_connect_via_url"
"test_redis_process_100k_messages_with_cli"
"test_redis_process_10k_fib_with_cli"
"test_redis_process_1k_latency_with_cli"
"test_worker_threads_have_no_blocked_signals"
# Requires a running rabbitmq
"test_rabbitmq_broker_can_be_passed_a_list_of_parameters_for_failover"
"test_rabbitmq_broker_can_be_passed_a_list_of_uri_for_failover"
"test_rabbitmq_broker_can_be_passed_a_semicolon_separated_list_of_uris"
"test_rabbitmq_broker_connections_are_lazy"
"test_rabbitmq_process_100k_messages_with_cli"
"test_rabbitmq_process_10k_fib_with_cli"
"test_rabbitmq_process_1k_latency_with_cli"
] ++ lib.optionals stdenv.isDarwin [
# Takes too long for darwin ofborg
"test_retry_exceptions_can_specify_a_delay"
];
pythonImportsCheck = [ "dramatiq" ];
meta = with lib; {
description = "Background Processing for Python 3";
homepage = "https://github.com/Bogdanp/dramatiq";
license = licenses.gpl3Only;
maintainers = with maintainers; [ traxys ];
};
}

View File

@ -0,0 +1,85 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitLab
, poetry-core
, dramatiq
, flask
, requests
, pytestCheckHook
, flask-migrate
, periodiq
, postgresql
, postgresqlTestHook
, psycopg2
}:
buildPythonPackage {
pname = "flask-dramatiq";
version = "0.6.0";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitLab {
owner = "bersace";
repo = "flask-dramatiq";
rev = "840209e9bf582b4dda468e8bba515f248f3f8534";
hash = "sha256-qjV1zyVzHPXMt+oUeGBdP9XVlbcSz2MF9Zygj543T4w=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'poetry>=0.12' 'poetry-core' \
--replace 'poetry.masonry.api' 'poetry.core.masonry.api'
patchShebangs --build ./example.py
sed -i ./tests/unit/pytest.ini \
-e 's:--cov=flask_dramatiq::' \
-e 's:--cov-report=term-missing::'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
dramatiq
];
nativeCheckInputs = [
pytestCheckHook
flask
requests
flask-migrate
periodiq
postgresql
postgresqlTestHook
psycopg2
] ++ dramatiq.optional-dependencies.rabbitmq;
postgresqlTestSetupPost = ''
substituteInPlace config.py \
--replace 'SQLALCHEMY_DATABASE_URI = f"postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}/{PGDATABASE}"' \
"SQLALCHEMY_DATABASE_URI = \"postgresql://$PGUSER/$PGDATABASE?host=$PGHOST\""
python3 ./example.py db upgrade
'';
pytestFlagsArray = [ "-x" "tests/func/" "tests/unit"];
pythonImportsCheck = [ "flask_dramatiq" ];
# Does HTTP requests to localhost
disabledTests = [
"test_fast"
"test_other"
];
meta = with lib; {
description = "Adds Dramatiq support to your Flask application";
homepage = "https://gitlab.com/bersace/flask-dramatiq";
license = licenses.bsd3;
maintainers = with maintainers; [ traxys ];
};
}

View File

@ -18,14 +18,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-asset"; pname = "google-cloud-asset";
version = "3.19.1"; version = "3.20.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-Rmd01HHVOThqSwfnoIrTaMjxqHFuGcKAjwKp3hD4S5o="; hash = "sha256-lJLC1igiY0OYLu3eyuOvJ2KmFr9n4su8T7LPgWlUtCk=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -16,14 +16,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-automl"; pname = "google-cloud-automl";
version = "2.11.2"; version = "2.11.3";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-w4kzOe8az6zcMLoNYbfkvC5Aq5zCbSNw6+PHYZkEZqI="; hash = "sha256-VcqQn7w2sTpDHKfniwkwsEXDa8YIV+G1jlbPOu8NVl0=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "logilab-common"; pname = "logilab-common";
version = "1.10.0"; version = "1.11.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-MoXt3tta5OimJUjOkWSMDCmXV0aS8N0W5bcANwAelYY="; hash = "sha256-lWl6654nbOBCec24iJ7GGKEcYy/gYDn9wMil3PPqWkk=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,55 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitLab
, poetry-core
, dramatiq
, pendulum
, setuptools
, pytest-mock
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "periodiq";
version = "0.12.1";
format = "pyproject";
disabled = pythonOlder "3.5";
src = fetchFromGitLab {
owner = "bersace";
repo = "periodiq";
rev = "v${version}";
hash = "sha256-Ar0n+Wi1OUtRdhVxrU7Nz4je8ylaHgPZbXE0a30hzU0=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'poetry>=0.12' 'poetry-core' \
--replace 'poetry.masonry.api' 'poetry.core.masonry.api'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
dramatiq
pendulum
setuptools
];
nativeCheckInputs = [ pytestCheckHook pytest-mock ];
pytestFlagsArray = [ "tests/unit" ];
pythonImportsCheck = [ "periodiq" ];
meta = with lib; {
description = "Simple Scheduler for Dramatiq Task Queue";
homepage = "https://pypi.org/project/periodiq/";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ traxys ];
};
}

View File

@ -10,13 +10,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "rtree"; pname = "rtree";
version = "1.0.1"; version = "1.1.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
pname = "Rtree"; pname = "Rtree";
inherit version; inherit version;
hash = "sha256-IiEhaZwwOmQGXYSb9wOLHsq8N7Zcf6NAvts47w6AVCk="; hash = "sha256-b47lBN3l0AWyWwiq9b4LNASvOtX+zm4d3N41kIp5ipU=";
}; };
postPatch = '' postPatch = ''

View File

@ -0,0 +1,31 @@
{ lib
, buildPythonPackage
, fetchPypi
, pillow
, requests
}:
buildPythonPackage rec {
pname = "staticmap";
version = "0.5.7";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-x6lrkCumEpLoGMILCBBhnWuBps21C8wauS1QrE2yCn8=";
};
propagatedBuildInputs = [ requests pillow ];
pythonImportsCheck = [ "staticmap" ];
# Tests seem to be broken
doCheck = false;
meta = with lib; {
description = "A small, python-based library for creating map images with lines and markers";
homepage = "https://pypi.org/project/staticmap/";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ traxys ];
};
}

View File

@ -0,0 +1,28 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools
}:
let
pname = "types-click";
version = "7.1.8";
in
buildPythonPackage {
inherit pname version;
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-tmBJaL5kAdxRYxHKUHCKCii6p6DLhA79dBLw27/04JI=";
};
nativeBuildInputs = [ setuptools ];
meta = with lib; {
description = "Collection of library stubs for Python, with static types";
homepage = "https://github.com/python/typeshed";
license = licenses.asl20;
maintainers = with maintainers; [ jfvillablanca ];
};
}

View File

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "universal-pathlib"; pname = "universal-pathlib";
version = "0.1.3"; version = "0.1.4";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "universal_pathlib"; pname = "universal_pathlib";
inherit version; inherit version;
hash = "sha256-GgUqteBRcwHfZr5lF+n+Y82fwAgT5c5xpzcBRBrCtcg="; hash = "sha256-guXYbRaifg6hrcfYisvLqdAtWkVIgWMXT5bZrCidsuQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,40 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, gevent
, pytestCheckHook
, watchdog
}:
buildPythonPackage rec {
pname = "watchdog-gevent";
version = "0.1.1";
format = "setuptools";
# Need to fetch from github because tests are not present in pypi
src = fetchFromGitHub {
owner = "Bogdanp";
repo = "watchdog_gevent";
rev = "v${version}";
hash = "sha256-FESm3fNuLmOg2ilI/x8U9LuAimHLnahcTHYzW/nzOVY=";
};
propagatedBuildInputs = [ watchdog gevent ];
postPatch = ''
sed -i setup.cfg \
-e 's:--cov watchdog_gevent::' \
-e 's:--cov-report html::'
'';
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "watchdog_gevent" ];
meta = with lib; {
description = "A gevent-based observer for watchdog";
homepage = "https://github.com/Bogdanp/watchdog_gevent";
license = licenses.asl20;
maintainers = with maintainers; [ traxys ];
};
}

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jenkins"; pname = "jenkins";
version = "2.414.2"; version = "2.414.3";
src = fetchurl { src = fetchurl {
url = "https://get.jenkins.io/war-stable/${version}/jenkins.war"; url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
hash = "sha256-kiu/Ymn92tYUu2VAJB7QzlUjpKUyginhX157t//VZbg="; hash = "sha256-LZMlS8GG3zSbxK0GtrHddXxJMZDwVY0RHb2pUXqEe1k=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -12,7 +12,7 @@
buildGo121Module rec { buildGo121Module rec {
pname = "runme"; pname = "runme";
version = "1.7.7"; version = "1.7.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stateful"; owner = "stateful";

View File

@ -25,14 +25,14 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "slint-lsp"; pname = "slint-lsp";
version = "1.1.1"; version = "1.2.2";
src = fetchCrate { src = fetchCrate {
inherit pname version; inherit pname version;
sha256 = "sha256-ENv17Az6yzUwD39HDfoD7Bmvs6LHjVp85PaYkTw6jW0="; sha256 = "sha256-+1nuezax7aV9b+L11zzIouA8QEWduqBzPiT6jvCGMac=";
}; };
cargoHash = "sha256-wL46QhY3Cq2KFLETPRhUWb77o1vNrRA2w1NBAtBc0yo="; cargoHash = "sha256-o7HDhNtjA0/JybJCiEejR8PcRIdJim+/wq4q8xj9A5Q=";
nativeBuildInputs = [ cmake pkg-config fontconfig ]; nativeBuildInputs = [ cmake pkg-config fontconfig ];
buildInputs = rpathLibs ++ [ xorg.libxcb.dev ] buildInputs = rpathLibs ++ [ xorg.libxcb.dev ]

View File

@ -11,6 +11,8 @@
, zstd , zstd
, buildPackages , buildPackages
, clangStdenv
, gccStdenv
, hello , hello
, mold , mold
, mold-wrapped , mold-wrapped
@ -21,13 +23,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mold"; pname = "mold";
version = "2.2.0"; version = "2.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rui314"; owner = "rui314";
repo = "mold"; repo = "mold";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-ePX80hzzIzSJdGUX96GyxYWcdbXxXyuyNQqj5RDSkKU="; hash = "sha256-TgDGAYdJjqGQradB7UJlV2emvG7q4F9ctzPaGRUgvxU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -89,11 +91,13 @@ stdenv.mkDerivation rec {
in in
{ {
version = testers.testVersion { package = mold; }; version = testers.testVersion { package = mold; };
} // lib.optionalAttrs stdenv.isLinux {
adapter-gcc = helloTest "adapter-gcc" (hello.override (old: { stdenv = useMoldLinker gccStdenv; }));
adapter-llvm = helloTest "adapter-llvm" (hello.override (old: { stdenv = useMoldLinker clangStdenv; }));
wrapped = helloTest "wrapped" (hello.overrideAttrs (previousAttrs: { wrapped = helloTest "wrapped" (hello.overrideAttrs (previousAttrs: {
nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ mold-wrapped ]; nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ mold-wrapped ];
NIX_CFLAGS_LINK = toString (previousAttrs.NIX_CFLAGS_LINK or "") + " -fuse-ld=mold"; NIX_CFLAGS_LINK = toString (previousAttrs.NIX_CFLAGS_LINK or "") + " -fuse-ld=mold";
})); }));
adapter = helloTest "adapter" (hello.override (old: { stdenv = useMoldLinker old.stdenv; }));
}; };
}; };

View File

@ -2,14 +2,14 @@
buildGoModule rec { buildGoModule rec {
pname = "symfony-cli"; pname = "symfony-cli";
version = "5.5.10"; version = "5.6.0";
vendorHash = "sha256-eeVi/O4p7bF4CPqJBCpLfx1Yc5vZZ3b8RV5ERcIL8H4="; vendorHash = "sha256-1BqgnWFMk8hWwra75a5o6Rwbj5wiCUIdSnsAcB+7Mno=";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "symfony-cli"; owner = "symfony-cli";
repo = "symfony-cli"; repo = "symfony-cli";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-n0R+J41lJYxswMnknYAAEKwwIqOremZF73cRBYfD3CE="; hash = "sha256-AtHRuzpKXp+WlFser0J5MR63rbO0xO4N/L3U0Q3iax8=";
}; };
ldflags = [ ldflags = [

View File

@ -6,8 +6,8 @@
, buildWebExtension ? false , buildWebExtension ? false
}: }:
let let
version = "1.5.6"; version = "1.5.7";
gitHash = "925d709"; gitHash = "5d7ede3";
in in
buildNpmPackage rec { buildNpmPackage rec {
pname = "vencord"; pname = "vencord";
@ -17,7 +17,7 @@ buildNpmPackage rec {
owner = "Vendicated"; owner = "Vendicated";
repo = "Vencord"; repo = "Vencord";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-0vYnhDy7J+JFg6uMtwK+uQsHtxoXi8QskIqyQm1HsqM="; hash = "sha256-/LrM9lBxuM5+KQJqRlP/lBV+krwZIV2GjMi33N/s+V0=";
}; };
ESBUILD_BINARY_PATH = lib.getExe (esbuild.override { ESBUILD_BINARY_PATH = lib.getExe (esbuild.override {
@ -37,7 +37,7 @@ buildNpmPackage rec {
npmRebuildFlags = [ "|| true" ]; npmRebuildFlags = [ "|| true" ];
makeCacheWritable = true; makeCacheWritable = true;
npmDepsHash = "sha256-/oMQHIigAY7Jdy6S1lRXjzOnxYrvpzbyvP4z+s+k9Lw="; npmDepsHash = "sha256-Moy7VlAgl31H8QO+aOVano92C4L/wclHhj+JTnbRM6c=";
npmFlags = [ "--legacy-peer-deps" ]; npmFlags = [ "--legacy-peer-deps" ];
npmBuildScript = if buildWebExtension then "buildWeb" else "build"; npmBuildScript = if buildWebExtension then "buildWeb" else "build";
npmBuildFlags = [ "--" "--standalone" "--disable-updater" ]; npmBuildFlags = [ "--" "--standalone" "--disable-updater" ];

View File

@ -1,12 +1,12 @@
{ {
"name": "vencord", "name": "vencord",
"version": "1.5.6", "version": "1.5.7",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "vencord", "name": "vencord",
"version": "1.5.6", "version": "1.5.7",
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"dependencies": { "dependencies": {
"@sapphi-red/web-noise-suppressor": "0.3.3", "@sapphi-red/web-noise-suppressor": "0.3.3",

View File

@ -6,7 +6,7 @@
, gnupatch , gnupatch
}: }:
let let
pname = "coreutils"; pname = "bootstrap-coreutils";
version = "5.0"; version = "5.0";
src = fetchurl { src = fetchurl {

View File

@ -12,7 +12,7 @@
, gzip , gzip
}: }:
let let
pname = "coreutils"; pname = "bootstrap-coreutils-musl";
version = "9.4"; version = "9.4";
src = fetchurl { src = fetchurl {

View File

@ -0,0 +1,105 @@
{ lib
, python3
, fetchFromGitHub
, fetchPypi
, postgresql
, postgresqlTestHook
}:
let
python = python3.override {
packageOverrides = self: super: {
sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
version = "1.4.49";
src = fetchPypi {
pname = "SQLAlchemy";
inherit version;
hash = "sha256-Bv8ly64ww5bEt3N0ZPKn/Deme32kCZk7GCsCTOyArtk=";
};
# Remove "test/typing" that does not exist
disabledTestPaths = [
"test/aaa_profiling"
"test/ext/mypy"
];
});
};
};
in
python.pkgs.buildPythonApplication rec {
pname = "fit-trackee";
version = "0.7.22";
format = "pyproject";
src = fetchFromGitHub {
owner = "SamR1";
repo = "FitTrackee";
rev = "v${version}";
hash = "sha256-aPQ8jLssN9nx0Bpd/44E3sQi2w0cR8ecG76DJjreeHA=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace psycopg2-binary psycopg2 \
--replace 'poetry>=0.12' 'poetry-core' \
--replace 'poetry.masonry.api' 'poetry.core.masonry.api'
'';
nativeBuildInputs = [
python3.pkgs.poetry-core
];
propagatedBuildInputs = with python.pkgs; [
authlib
babel
dramatiq
flask
flask-bcrypt
flask-dramatiq
flask-limiter
flask-migrate
gpxpy
gunicorn
humanize
psycopg2
pyjwt
pyopenssl
pytz
shortuuid
sqlalchemy
staticmap
ua-parser
] ++ dramatiq.optional-dependencies.redis;
pythonImportsCheck = [ "fittrackee" ];
nativeCheckInputs = with python.pkgs; [
pytestCheckHook
freezegun
postgresqlTestHook
postgresql
];
pytestFlagsArray = [
"fittrackee"
];
postgresqlTestSetupPost = ''
export DATABASE_TEST_URL=postgresql://$PGUSER/$PGDATABAS?host=$PGHOST
'';
postInstall = ''
mkdir -p $out/var/share/fittrackee-instance
'';
preCheck = ''
export TMP=$(mktemp -d)
'';
meta = with lib; {
description = "Self-hosted outdoor activity tracker :bicyclist";
homepage = "https://github.com/SamR1/FitTrackee";
changelog = "https://github.com/SamR1/FitTrackee/blob/${src.rev}/CHANGELOG.md";
license = licenses.agpl3Only;
maintainers = with maintainers; [ traxys ];
};
}

View File

@ -21,6 +21,7 @@
, openldap , openldap
, procps , procps
, runtimeShell , runtimeShell
, unixtools
}: }:
let let
@ -33,6 +34,7 @@ let
lm_sensors lm_sensors
net-snmp net-snmp
procps procps
unixtools.ping
]; ];
mailq = runCommand "mailq-wrapper" { preferLocalBuild = true; } '' mailq = runCommand "mailq-wrapper" { preferLocalBuild = true; } ''
@ -58,7 +60,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-yLhHOSrPFRjW701aOL8LPe4OnuJxL6f+dTxNqm0evIg="; sha256 = "sha256-yLhHOSrPFRjW701aOL8LPe4OnuJxL6f+dTxNqm0evIg=";
}; };
# TODO: Awful hack. Grrr... this of course only works on NixOS. # TODO: Awful hack. Grrr...
# Anyway the check that configure performs to figure out the ping # Anyway the check that configure performs to figure out the ping
# syntax is totally impure, because it runs an actual ping to # syntax is totally impure, because it runs an actual ping to
# localhost (which won't work for ping6 if IPv6 support isn't # localhost (which won't work for ping6 if IPv6 support isn't
@ -74,8 +76,8 @@ stdenv.mkDerivation rec {
-e 's|^DEFAULT_PATH=.*|DEFAULT_PATH=\"${binPath}\"|' -e 's|^DEFAULT_PATH=.*|DEFAULT_PATH=\"${binPath}\"|'
configureFlagsArray+=( configureFlagsArray+=(
--with-ping-command='/run/wrappers/bin/ping -4 -n -U -w %d -c %d %s' --with-ping-command='ping -4 -n -U -w %d -c %d %s'
--with-ping6-command='/run/wrappers/bin/ping -6 -n -U -w %d -c %d %s' --with-ping6-command='ping -6 -n -U -w %d -c %d %s'
) )
install -Dm555 ${share} $out/share install -Dm555 ${share} $out/share

View File

@ -10,14 +10,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "snac2"; pname = "snac2";
version = "2.41"; version = "2.42";
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "grunfink"; owner = "grunfink";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-WVbGORth3paDo1eK/J7MPUstVQifcU7ksVEb87vknN0="; hash = "sha256-cLSbmEZj5lyMtZMM2vaWqdrXFk1/VPws9yBPhSUka2E=";
}; };
buildInputs = [ curl openssl ]; buildInputs = [ curl openssl ];

View File

@ -79,7 +79,7 @@ let
# note that this is required: # note that this is required:
# 1. For all shells, not just login shells (mosh needs this as do some other command-line utilities) # 1. For all shells, not just login shells (mosh needs this as do some other command-line utilities)
# 2. Before the shell is initialized, so that config snippets can find the commands they use on the PATH # 2. Before the shell is initialized, so that config snippets can find the commands they use on the PATH
builtin status --is-login builtin status is-login
or test -z "$__fish_nixos_env_preinit_sourced" -a -z "$ETC_PROFILE_SOURCED" -a -z "$ETC_ZSHENV_SOURCED" or test -z "$__fish_nixos_env_preinit_sourced" -a -z "$ETC_PROFILE_SOURCED" -a -z "$ETC_ZSHENV_SOURCED"
${if fishEnvPreInit != null then '' ${if fishEnvPreInit != null then ''
and begin and begin

View File

@ -4,13 +4,13 @@
# Refer to the following comment to get you setup: https://github.com/NixOS/nixpkgs/pull/201646#issuecomment-1320893716 # Refer to the following comment to get you setup: https://github.com/NixOS/nixpkgs/pull/201646#issuecomment-1320893716
buildFishPlugin rec { buildFishPlugin rec {
pname = "tide"; pname = "tide";
version = "5.6.0"; version = "6.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "IlanCosman"; owner = "IlanCosman";
repo = "tide"; repo = "tide";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-cCI1FDpvajt1vVPUd/WvsjX/6BJm6X1yFPjqohmo1rI="; hash = "sha256-oLD7gYFCIeIzBeAW1j62z5FnzWAp3xSfxxe7kBtTLgA=";
}; };
#buildFishplugin will only move the .fish files, but tide has a tide configure function #buildFishplugin will only move the .fish files, but tide has a tide configure function

View File

@ -18,7 +18,7 @@ let
name = "wrapfish.aliases.fish"; name = "wrapfish.aliases.fish";
destination = "/share/fish/vendor_conf.d/aliases.fish"; destination = "/share/fish/vendor_conf.d/aliases.fish";
text = '' text = ''
status --is-interactive; and begin status is-interactive; and begin
# Aliases # Aliases
${aliasesStr} ${aliasesStr}
end end

View File

@ -197,16 +197,10 @@ rec {
''; '';
}; };
in stdenv.override (old: { in stdenv.override (old: {
cc = stdenv.cc.override { allowedRequisites = null;
inherit bintools; cc = stdenv.cc.override { inherit bintools; };
}; # gcc >12.1.0 supports '-fuse-ld=mold'
allowedRequisites = # the wrap ld above in bintools supports gcc <12.1.0 and shouldn't harm >12.1.0
(lib.optional (stdenv.allowedRequisites or null != null) stdenv.allowedRequisites)
++ [ bintools pkgs.mold ]
# need to `outputSpecified = false` to make getLib work
++ (builtins.map (p: lib.getLib (p // { outputSpecified = false; })) pkgs.mold.buildInputs);
# gcc >12.1.0 supports '-fuse-ld=mold'
# the wrap ld above in bintools supports gcc <12.1.0 and shouldn't harm >12.1.0
# https://github.com/rui314/mold#how-to-use # https://github.com/rui314/mold#how-to-use
} // lib.optionalAttrs (stdenv.cc.isClang || (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12")) { } // lib.optionalAttrs (stdenv.cc.isClang || (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12")) {
mkDerivationFromStdenv = extendMkDerivationArgs old (args: { mkDerivationFromStdenv = extendMkDerivationArgs old (args: {

View File

@ -12,13 +12,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "whisper-cpp"; pname = "whisper-cpp";
version = "1.4.0"; version = "1.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ggerganov"; owner = "ggerganov";
repo = "whisper.cpp"; repo = "whisper.cpp";
rev = "refs/tags/v${version}" ; rev = "refs/tags/v${version}" ;
hash = "sha256-176MpooVQrq1dXC62h8Yyyhw6IjCA50tp1J4DQPSePQ="; hash = "sha256-Qea9zGLJ41D+l8h1Sg/KJI6Ou02jtbRIxYPGoabM8nY=";
}; };
# The upstream download script tries to download the models to the # The upstream download script tries to download the models to the

View File

@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "dooit"; pname = "dooit";
version = "2.0.1"; version = "2.1.0";
format = "pyproject"; format = "pyproject";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kraanzu"; owner = "kraanzu";
repo = "dooit"; repo = "dooit";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-iQAGD6zrBBd4fJONaB7to1OJpAJUO0zeA1xhVQZBkMc="; hash = "sha256-ZCEBpaQHaFb09MUlN6acYB3LrfX456uRbhVh9YPz7NU=";
}; };
nativeBuildInputs = with python3.pkgs; [ nativeBuildInputs = with python3.pkgs; [

View File

@ -4,6 +4,7 @@
, fetchFromGitHub , fetchFromGitHub
, cmake , cmake
, cppunit , cppunit
, makeWrapper
, pkg-config , pkg-config
, curl , curl
, fuse , fuse
@ -24,6 +25,9 @@
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
__structuredAttrs = true;
pname = "xrootd"; pname = "xrootd";
version = "5.5.5"; version = "5.5.5";
@ -55,6 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
makeWrapper
pkg-config pkg-config
]; ];
@ -101,7 +106,18 @@ stdenv.mkDerivation (finalAttrs: {
"-DENABLE_TESTS=TRUE" "-DENABLE_TESTS=TRUE"
]; ];
postFixup = lib.optionalString (externalEtc != null) '' makeWrapperArgs = [
# Workaround the library-not-found issue
# happening to binaries compiled with xrootd libraries.
# See #169677
"--prefix" "${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH" ":" "${placeholder "out"}/lib"
];
postFixup = ''
while IFS= read -r FILE; do
wrapProgram "$FILE" "''${makeWrapperArgs[@]}"
done < <(find "$bin/bin" -mindepth 1 -maxdepth 1 -type f,l -perm -a+x)
'' + lib.optionalString (externalEtc != null) ''
mv "$out"/etc{,.orig} mv "$out"/etc{,.orig}
ln -s ${lib.escapeShellArg externalEtc} "$out/etc" ln -s ${lib.escapeShellArg externalEtc} "$out/etc"
''; '';

View File

@ -21,11 +21,9 @@
inherit url; inherit url;
urls = if urls == [ ] then lib.singleton url else urls; urls = if urls == [ ] then lib.singleton url else urls;
} }
# Set [DY]LD_LIBRARY_PATH to workaround #169677
# TODO: Remove the library path after #200830 get merged
'' ''
for u in $urls; do for u in $urls; do
${lib.optionalString buildPlatform.isDarwin "DY"}LD_LIBRARY_PATH=${lib.makeLibraryPath [ xrootd ]} xrdcp --force "$u" "$out" xrdcp --verbose --force "$u" "$out"
ret=$? ret=$?
(( ret != 0 )) || break (( ret != 0 )) || break
done done

View File

@ -1,23 +1,27 @@
{ lib, buildGoModule, fetchFromGitHub }: { lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec { buildGoModule rec {
pname = "aws-iam-authenticator"; pname = "aws-iam-authenticator";
version = "0.6.11"; version = "0.6.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubernetes-sigs"; owner = "kubernetes-sigs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-4bZnGgf/H2/uLhh8ip8rrA+U0vA+1SO5uhjLK40j3wE="; hash = "sha256-IIlAsxxEYjR7+wdWExdsQAH0x4yOXZ+bVQWwn7mrhRw=";
}; };
vendorHash = "sha256-RcZqnyZtonE4qeu+llL1OPGPG93/Rx8ESWM5wapZ1BM="; vendorHash = "sha256-RcZqnyZtonE4qeu+llL1OPGPG93/Rx8ESWM5wapZ1BM=";
ldflags = let PKG = "sigs.k8s.io/aws-iam-authenticator"; in [ ldflags = let PKG = "sigs.k8s.io/aws-iam-authenticator"; in [
"-s" "-w" "-s"
"-X ${PKG}/pkg.Version=${version}" "-w"
"-X ${PKG}/pkg.BuildDate=1970-01-01T01:01:01Z" "-X=${PKG}/pkg.Version=${version}"
"-X ${PKG}/pkg.CommitID=${version}" "-X=${PKG}/pkg.BuildDate=1970-01-01T01:01:01Z"
"-X ?${PKG}/pkg.CommitID=${version}"
]; ];
subPackages = [ "cmd/aws-iam-authenticator" ]; subPackages = [ "cmd/aws-iam-authenticator" ];
@ -25,7 +29,8 @@ buildGoModule rec {
meta = with lib; { meta = with lib; {
homepage = "https://github.com/kubernetes-sigs/aws-iam-authenticator"; homepage = "https://github.com/kubernetes-sigs/aws-iam-authenticator";
description = "AWS IAM credentials for Kubernetes authentication"; description = "AWS IAM credentials for Kubernetes authentication";
changelog = "https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = [ maintainers.srhb ]; maintainers = with maintainers; [ srhb ];
}; };
} }

View File

@ -1,14 +1,19 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, bundlerEnv }: { lib
, stdenv
, fetchFromGitHub
, makeWrapper
, bundlerEnv
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "evil-winrm"; pname = "evil-winrm";
version = "3.3"; version = "3.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Hackplayers"; owner = "Hackplayers";
repo = "evil-winrm"; repo = "evil-winrm";
rev = "v${version}"; rev = "refs/tags/v${version}";
sha256 = "sha256-uWhRkq7I/XRWSUpR8lWRhDImE6x0pX9/B3gKhRIhkf8="; hash = "sha256-8Lyo7BgypzrHMEcbYlxo/XWwOtBqs2tczYnc3+XEbeA=";
}; };
env = bundlerEnv { env = bundlerEnv {
@ -18,8 +23,13 @@ stdenv.mkDerivation rec {
gemset = ./gemset.nix; gemset = ./gemset.nix;
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [
buildInputs = [ env.wrappedRuby ]; makeWrapper
];
buildInputs = [
env.wrappedRuby
];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
@ -27,9 +37,9 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/Hackplayers/evil-winrm";
changelog = "https://github.com/Hackplayers/evil-winrm/releases/tag/v${version}";
description = "WinRM shell for hacking/pentesting"; description = "WinRM shell for hacking/pentesting";
homepage = "https://github.com/Hackplayers/evil-winrm";
changelog = "https://github.com/Hackplayers/evil-winrm/blob/v${version}/CHANGELOG.md";
license = licenses.lgpl3Plus; license = licenses.lgpl3Plus;
maintainers = with maintainers; [ elohmeier ]; maintainers = with maintainers; [ elohmeier ];
}; };

View File

@ -43,7 +43,7 @@ python3.pkgs.buildPythonApplication rec {
substituteInPlace setup.py --replace /usr/share/doc/ share/doc/ substituteInPlace setup.py --replace /usr/share/doc/ share/doc/
# see https://github.com/NixOS/nixpkgs/issues/4968 # see https://github.com/NixOS/nixpkgs/issues/4968
${python3.interpreter} setup.py install_data --install-dir=$out --root=$out ${python3.pythonForBuild.interpreter} setup.py install_data --install-dir=$out --root=$out
''; '';
postInstall = postInstall =
@ -61,6 +61,11 @@ python3.pkgs.buildPythonApplication rec {
rm -r "${sitePackages}/etc" rm -r "${sitePackages}/etc"
installManPage man/*.[1-9] installManPage man/*.[1-9]
# This is a symlink to the build python version created by `updatePyExec`, seemingly to assure the same python version is used?
rm $out/bin/fail2ban-python
ln -s ${python3.interpreter} $out/bin/fail2ban-python
'' + lib.optionalString stdenv.isLinux '' '' + lib.optionalString stdenv.isLinux ''
# see https://github.com/NixOS/nixpkgs/issues/4968 # see https://github.com/NixOS/nixpkgs/issues/4968
rm -r "${sitePackages}/usr" rm -r "${sitePackages}/usr"

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "sshocker"; pname = "sshocker";
version = "0.3.3"; version = "0.3.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lima-vm"; owner = "lima-vm";
repo = "sshocker"; repo = "sshocker";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-Z1Dg+AeyfFmUDc3jV8/tOcUrxuyInfwubzo0cLpfFl8="; hash = "sha256-IDbGRQSLQlT4lt2bextGYB4fJfbpLhPx3JF1eYDJ6gw=";
}; };
vendorHash = "sha256-ceQzYByJNXr02IDBKhYuqnKfaTbnX5T03p2US4HRu6I="; vendorHash = "sha256-kee5D80RjCVosts/Jd6WuvtiK/J5+79HsM5ITHs15xc=";
ldflags = [ ldflags = [
"-s" "-s"

View File

@ -10,16 +10,16 @@
buildGoModule rec { buildGoModule rec {
pname = "ov"; pname = "ov";
version = "0.32.0"; version = "0.32.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "noborus"; owner = "noborus";
repo = "ov"; repo = "ov";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-mQ1KwElD8RizOT2trHWo4T1QiZ974xwhQCCa5snpnZM="; hash = "sha256-S84CMC02KJ5eevLxVkapCdjZh4PH95u/0AK4tpkOx2k=";
}; };
vendorHash = "sha256-XACdtJdACMKQ5gSJcjGAPNGPFL1Tbt6QOovl15mvFGI="; vendorHash = "sha256-1NdvUdPPr0Twx0hyve4/vvDR2cU+mGyws3UIf8jHfbw=";
ldflags = [ ldflags = [
"-s" "-s"

View File

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "rsbkb"; pname = "rsbkb";
version = "1.2"; version = "1.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "trou"; owner = "trou";
repo = "rsbkb"; repo = "rsbkb";
rev = "release-${version}"; rev = "release-${version}";
hash = "sha256-Y6YTjEbefNUPcl6rNYWVZLGZYTUPr5pvfLabS+zDWqA="; hash = "sha256-+plf7BoYpEFPRsGKNrvLF8TAU3Z7nyx6Td6uRBoNGiE=";
}; };
cargoHash = "sha256-RMX+ZdPaqtqRJvhHFJJrPZnBGwQwZSCXNg1oNo+v2+8="; cargoHash = "sha256-HyosR/5tZCRU2CNnnGITEuESW30Zq3s33UFNcLmEWIA=";
# Setup symlinks for all the utilities, # Setup symlinks for all the utilities,
# busybox style # busybox style

View File

@ -46,11 +46,11 @@ in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "sile"; pname = "sile";
version = "0.14.11"; version = "0.14.12";
src = fetchurl { src = fetchurl {
url = "https://github.com/sile-typesetter/sile/releases/download/v${finalAttrs.version}/sile-${finalAttrs.version}.tar.xz"; url = "https://github.com/sile-typesetter/sile/releases/download/v${finalAttrs.version}/sile-${finalAttrs.version}.tar.xz";
sha256 = "sha256-JXlgiK1XyZZSe5QXz06zwEAnVYhiIZhhIaBmfxAgRS4="; sha256 = "sha256-iyxNi4Y2zaeR6HUf/IVW1M7mB0WhM2yxOqDkb1oAkHg=";
}; };
configureFlags = [ configureFlags = [

View File

@ -2112,7 +2112,10 @@ with pkgs;
xpaste = callPackage ../tools/text/xpaste { }; xpaste = callPackage ../tools/text/xpaste { };
xrootd = callPackage ../tools/networking/xrootd { }; xrootd = callPackage ../tools/networking/xrootd {
# Workaround systemd static build breakage
systemd = if systemd.meta.broken then null else systemd;
};
yabridge = callPackage ../tools/audio/yabridge { yabridge = callPackage ../tools/audio/yabridge {
wine = wineWowPackages.staging; wine = wineWowPackages.staging;
@ -27557,6 +27560,8 @@ with pkgs;
### SERVERS / GEOSPATIAL ### SERVERS / GEOSPATIAL
fit-trackee = callPackage ../servers/geospatial/fit-trackee { };
geoserver = callPackage ../servers/geospatial/geoserver { }; geoserver = callPackage ../servers/geospatial/geoserver { };
mapcache = callPackage ../servers/geospatial/mapcache { }; mapcache = callPackage ../servers/geospatial/mapcache { };
@ -36489,7 +36494,7 @@ with pkgs;
windowlab = callPackage ../applications/window-managers/windowlab { }; windowlab = callPackage ../applications/window-managers/windowlab { };
dockapps = callPackage ../by-name/wi/windowmaker/dockapps { }; inherit (windowmaker) dockapps;
wily = callPackage ../applications/editors/wily { }; wily = callPackage ../applications/editors/wily { };

View File

@ -4758,6 +4758,19 @@ with self; {
}; };
}; };
CryptBcrypt = buildPerlPackage {
pname = "Crypt-Bcrypt";
version = "0.011";
src = fetchurl {
url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Bcrypt-0.011.tar.gz";
hash = "sha256-Z/ymiwUm5zTi2VvGsyutAcMZ5Yer9j5M80Itpmu+o6A=";
};
meta = {
description = "modern bcrypt implementation";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
CryptBlowfish = buildPerlPackage { CryptBlowfish = buildPerlPackage {
pname = "Crypt-Blowfish"; pname = "Crypt-Blowfish";
version = "2.14"; version = "2.14";
@ -4934,6 +4947,26 @@ with self; {
}; };
}; };
CryptHSXKPasswd = buildPerlPackage {
pname = "Crypt-HSXKPasswd";
version = "3.6";
src = fetchurl {
url = "mirror://cpan/authors/id/B/BA/BARTB/Crypt-HSXKPasswd-v3.6.tar.gz";
hash = "sha256-lZ3MX58BG/ALha0i31ZrerK/XqHTYrDeD7WuKfvEWLM=";
};
buildInputs = [ Clone DateTime FileHomeDir FileShare FileShareDir GetoptLong JSON ListMoreUtils MathRound Readonly TextUnidecode TypeTiny ];
meta = {
description = "A secure memorable password generator";
homepage = "http://www.bartb.ie/hsxkpasswd";
license = with lib.licenses; [ bsd2 ];
maintainers = [ maintainers.dannixon ];
mainProgram = "hsxkpasswd";
};
# Two tests fail as a result of https://github.com/bbusschots/hsxkpasswd/issues/42
# (also see https://github.com/bbusschots/hsxkpasswd/issues/43)
doCheck = false;
};
CryptIDEA = buildPerlPackage { CryptIDEA = buildPerlPackage {
pname = "Crypt-IDEA"; pname = "Crypt-IDEA";
version = "1.10"; version = "1.10";
@ -9715,10 +9748,10 @@ with self; {
FileReadBackwards = buildPerlPackage { FileReadBackwards = buildPerlPackage {
pname = "File-ReadBackwards"; pname = "File-ReadBackwards";
version = "1.05"; version = "1.06";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/U/UR/URI/File-ReadBackwards-1.05.tar.gz"; url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-ReadBackwards-1.06.tar.gz";
hash = "sha256-grJhr4dQfMPn5miZxFcQTryNHAn7hcU/Z8H5D3DxjW4="; hash = "sha256-MrKgVJOJqviIde8D1+u//y1ZeeyoW3yBL2tLsQ0QL2I=";
}; };
meta = { meta = {
description = "Read a file backwards by lines"; description = "Read a file backwards by lines";
@ -10115,12 +10148,12 @@ with self; {
Future = buildPerlModule { Future = buildPerlModule {
pname = "Future"; pname = "Future";
version = "0.48"; version = "0.50";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.48.tar.gz"; url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.50.tar.gz";
hash = "sha256-D+ixXBQvKjBKMXGKIKEFA6m0TMASw69eN7i34koHUqM="; hash = "sha256-wDXj2eaaOvFEszrINN7p5lrTYPKlHbnxWNw0Ls3dX0Q=";
}; };
buildInputs = [ TestFatal TestIdentity TestRefcount ]; buildInputs = [ Test2Suite ];
meta = { meta = {
description = "Represent an operation awaiting completion"; description = "Represent an operation awaiting completion";
license = with lib.licenses; [ artistic1 gpl1Plus ]; license = with lib.licenses; [ artistic1 gpl1Plus ];
@ -10129,12 +10162,12 @@ with self; {
FutureAsyncAwait = buildPerlModule rec { FutureAsyncAwait = buildPerlModule rec {
pname = "Future-AsyncAwait"; pname = "Future-AsyncAwait";
version = "0.58"; version = "0.66";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-0.58.tar.gz"; url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-0.66.tar.gz";
hash = "sha256-OLtJ9jabBUrAUuaNomR/4i0Io605rgNuJ6KRELtOQi4="; hash = "sha256-xqD03kYr8yS1usoXddGZ7DJGo1jBPbm2Ssv82+bl7CE=";
}; };
buildInputs = [ TestRefcount TestFatal ]; buildInputs = [ Test2Suite ];
propagatedBuildInputs = [ Future XSParseKeyword XSParseSublike ]; propagatedBuildInputs = [ Future XSParseKeyword XSParseSublike ];
perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC"; perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
meta = { meta = {
@ -12986,13 +13019,13 @@ with self; {
JSONValidator = buildPerlPackage { JSONValidator = buildPerlPackage {
pname = "JSON-Validator"; pname = "JSON-Validator";
version = "5.08"; version = "5.14";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-5.08.tar.gz"; url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-5.14.tar.gz";
hash = "sha256-QPaWjtcfxv1Ij6Q1Ityhk5NDhUCSth/eZgHwcWZHeFg="; hash = "sha256-YISl1AdeQhqTj/su6XuFBPqjXoZtD3tbWBETr17ijhs=";
}; };
buildInputs = [ TestDeep ]; buildInputs = [ TestDeep ];
propagatedBuildInputs = [ DataValidateDomain DataValidateIP Mojolicious NetIDNEncode YAMLLibYAML ]; propagatedBuildInputs = [ Mojolicious YAMLLibYAML ];
meta = { meta = {
description = "Validate data against a JSON schema"; description = "Validate data against a JSON schema";
homepage = "https://github.com/mojolicious/json-validator"; homepage = "https://github.com/mojolicious/json-validator";

View File

@ -3271,6 +3271,8 @@ self: super: with self; {
dragonfly = callPackage ../development/python-modules/dragonfly { }; dragonfly = callPackage ../development/python-modules/dragonfly { };
dramatiq = callPackage ../development/python-modules/dramatiq { };
drawille = callPackage ../development/python-modules/drawille { }; drawille = callPackage ../development/python-modules/drawille { };
drawilleplot = callPackage ../development/python-modules/drawilleplot { }; drawilleplot = callPackage ../development/python-modules/drawilleplot { };
@ -3970,6 +3972,8 @@ self: super: with self; {
flask-cors = callPackage ../development/python-modules/flask-cors { }; flask-cors = callPackage ../development/python-modules/flask-cors { };
flask-dramatiq = callPackage ../development/python-modules/flask-dramatiq { };
flask-elastic = callPackage ../development/python-modules/flask-elastic { }; flask-elastic = callPackage ../development/python-modules/flask-elastic { };
flask-expects-json = callPackage ../development/python-modules/flask-expects-json { }; flask-expects-json = callPackage ../development/python-modules/flask-expects-json { };
@ -8854,6 +8858,8 @@ self: super: with self; {
periodictable = callPackage ../development/python-modules/periodictable { }; periodictable = callPackage ../development/python-modules/periodictable { };
periodiq = callPackage ../development/python-modules/periodiq { };
permissionedforms = callPackage ../development/python-modules/permissionedforms { }; permissionedforms = callPackage ../development/python-modules/permissionedforms { };
persim = callPackage ../development/python-modules/persim { }; persim = callPackage ../development/python-modules/persim { };
@ -13358,6 +13364,8 @@ self: super: with self; {
static3 = callPackage ../development/python-modules/static3 { }; static3 = callPackage ../development/python-modules/static3 { };
staticmap = callPackage ../development/python-modules/staticmap { };
staticjinja = callPackage ../development/python-modules/staticjinja { }; staticjinja = callPackage ../development/python-modules/staticjinja { };
statistics = callPackage ../development/python-modules/statistics { }; statistics = callPackage ../development/python-modules/statistics { };
@ -14951,6 +14959,8 @@ self: super: with self; {
types-beautifulsoup4 = callPackage ../development/python-modules/types-beautifulsoup4 { }; types-beautifulsoup4 = callPackage ../development/python-modules/types-beautifulsoup4 { };
types-click = callPackage ../development/python-modules/types-click { };
types-colorama = callPackage ../development/python-modules/types-colorama { }; types-colorama = callPackage ../development/python-modules/types-colorama { };
types-dateutil = callPackage ../development/python-modules/types-dateutil { }; types-dateutil = callPackage ../development/python-modules/types-dateutil { };
@ -15435,6 +15445,8 @@ self: super: with self; {
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
}; };
watchdog-gevent = callPackage ../development/python-modules/watchdog-gevent { };
watchfiles = callPackage ../development/python-modules/watchfiles { watchfiles = callPackage ../development/python-modules/watchfiles {
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
}; };