Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-08-26 00:01:43 +00:00 committed by GitHub
commit a23616289b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 433 additions and 205 deletions

View file

@ -30,6 +30,8 @@
- [Anuko Time Tracker](https://github.com/anuko/timetracker), a simple, easy to use, open source time tracking system. Available as [services.anuko-time-tracker](#opt-services.anuko-time-tracker.enable). - [Anuko Time Tracker](https://github.com/anuko/timetracker), a simple, easy to use, open source time tracking system. Available as [services.anuko-time-tracker](#opt-services.anuko-time-tracker.enable).
- [Prometheus MySQL exporter](https://github.com/prometheus/mysqld_exporter), a MySQL server exporter for Prometheus. Available as [services.prometheus.exporters.mysqld](#opt-services.prometheus.exporters.mysqld.enable).
- [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable). - [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable).
- [Jool](https://nicmx.github.io/Jool/en/index.html), an Open Source implementation of IPv4/IPv6 translation on Linux. Available as [networking.jool.enable](#opt-networking.jool.enable). - [Jool](https://nicmx.github.io/Jool/en/index.html), an Open Source implementation of IPv4/IPv6 translation on Linux. Available as [networking.jool.enable](#opt-networking.jool.enable).

View file

@ -50,6 +50,7 @@ let
"mikrotik" "mikrotik"
"minio" "minio"
"modemmanager" "modemmanager"
"mysqld"
"nextcloud" "nextcloud"
"nginx" "nginx"
"nginxlog" "nginxlog"
@ -296,6 +297,12 @@ in
Please specify either 'services.prometheus.exporters.mail.configuration' Please specify either 'services.prometheus.exporters.mail.configuration'
or 'services.prometheus.exporters.mail.configFile'. or 'services.prometheus.exporters.mail.configFile'.
''; '';
} {
assertion = cfg.mysqld.runAsLocalSuperUser -> config.services.mysql.enable;
message = ''
The exporter is configured to run as 'services.mysql.user', but
'services.mysql.enable' is set to false.
'';
} { } {
assertion = cfg.sql.enable -> ( assertion = cfg.sql.enable -> (
(cfg.sql.configFile == null) != (cfg.sql.configuration == null) (cfg.sql.configFile == null) != (cfg.sql.configuration == null)

View file

@ -0,0 +1,60 @@
{ config, lib, pkgs, options }:
let
cfg = config.services.prometheus.exporters.mysqld;
inherit (lib) types mkOption mdDoc mkIf mkForce cli concatStringsSep optionalString escapeShellArgs;
in {
port = 9104;
extraOpts = {
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = mdDoc ''
Path under which to expose metrics.
'';
};
runAsLocalSuperUser = mkOption {
type = types.bool;
default = false;
description = mdDoc ''
Whether to run the exporter as {option}`services.mysql.user`.
'';
};
configFile = mkOption {
type = types.path;
example = "/var/lib/prometheus-mysqld-exporter.cnf";
description = mdDoc ''
Path to the services config file.
See <https://github.com/prometheus/mysqld_exporter#running> for more information about
the available options.
::: {.warn}
Please do not store this file in the nix store if you choose to include any credentials here,
as it would be world-readable.
:::
'';
};
};
serviceOpts = {
serviceConfig = {
DynamicUser = !cfg.runAsLocalSuperUser;
User = mkIf cfg.runAsLocalSuperUser (mkForce config.services.mysql.user);
LoadCredential = mkIf (cfg.configFile != null) (mkForce ("config:" + cfg.configFile));
ExecStart = concatStringsSep " " [
"${pkgs.prometheus-mysqld-exporter}/bin/mysqld_exporter"
"--web.listen-address=${cfg.listenAddress}:${toString cfg.port}"
"--web.telemetry-path=${cfg.telemetryPath}"
(optionalString (cfg.configFile != null) ''--config.my-cnf=''${CREDENTIALS_DIRECTORY}/config'')
(escapeShellArgs cfg.extraFlags)
];
RestrictAddressFamilies = [
# The exporter can be configured to talk to a local mysql server via a unix socket.
"AF_UNIX"
];
};
};
}

View file

@ -716,6 +716,41 @@ let
''; '';
}; };
mysqld = {
exporterConfig = {
enable = true;
runAsLocalSuperUser = true;
configFile = pkgs.writeText "test-prometheus-exporter-mysqld-config.my-cnf" ''
[client]
user = exporter
password = snakeoilpassword
'';
};
metricProvider = {
services.mysql = {
enable = true;
package = pkgs.mariadb;
initialScript = pkgs.writeText "mysql-init-script.sql" ''
CREATE USER 'exporter'@'localhost'
IDENTIFIED BY 'snakeoilpassword'
WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SLAVE MONITOR, SELECT ON *.* TO 'exporter'@'localhost';
'';
};
};
exporterTest = ''
wait_for_unit("prometheus-mysqld-exporter.service")
wait_for_open_port(9104)
wait_for_unit("mysql.service")
succeed("curl -sSf http://localhost:9104/metrics | grep 'mysql_up 1'")
systemctl("stop mysql.service")
succeed("curl -sSf http://localhost:9104/metrics | grep 'mysql_up 0'")
systemctl("start mysql.service")
wait_for_unit("mysql.service")
succeed("curl -sSf http://localhost:9104/metrics | grep 'mysql_up 1'")
'';
};
nextcloud = { nextcloud = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;

View file

@ -8,6 +8,7 @@
, qtgraphicaleffects , qtgraphicaleffects
, qtquickcontrols2 , qtquickcontrols2
, wrapQtAppsHook , wrapQtAppsHook
, makeWrapper
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -24,6 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
wrapQtAppsHook wrapQtAppsHook
makeWrapper
]; ];
buildInputs = [ buildInputs = [
@ -36,7 +38,9 @@ stdenv.mkDerivation (finalAttrs: {
# wrapQtAppsHook doesn't automatically find noson-gui # wrapQtAppsHook doesn't automatically find noson-gui
dontWrapQtApps = true; dontWrapQtApps = true;
preFixup = '' preFixup = ''
wrapProgram "$out/bin/noson-app" --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio ]}
wrapQtApp "$out/lib/noson/noson-gui" wrapQtApp "$out/lib/noson/noson-gui"
''; '';

View file

@ -3094,12 +3094,12 @@ final: prev:
efmls-configs-nvim = buildVimPluginFrom2Nix { efmls-configs-nvim = buildVimPluginFrom2Nix {
pname = "efmls-configs-nvim"; pname = "efmls-configs-nvim";
version = "2023-08-24"; version = "2023-08-25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "creativenull"; owner = "creativenull";
repo = "efmls-configs-nvim"; repo = "efmls-configs-nvim";
rev = "c89a9a48148d5b5f676d447166f45091f33e347c"; rev = "cd8876b5afe602f90e53e5d92555980e6b379be4";
sha256 = "0fss60bnx9gg0dcggzis26jm87yl5fx6lf9s2z5snrajl07m3qm9"; sha256 = "0rjrn0ak3v3q1j8sc7yslxrzp8c5zs0p9ii65483ggvi4fdmyzw7";
}; };
meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/"; meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/";
}; };
@ -3372,12 +3372,12 @@ final: prev:
flatten-nvim = buildVimPluginFrom2Nix { flatten-nvim = buildVimPluginFrom2Nix {
pname = "flatten.nvim"; pname = "flatten.nvim";
version = "2023-08-10"; version = "2023-08-25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "willothy"; owner = "willothy";
repo = "flatten.nvim"; repo = "flatten.nvim";
rev = "6813ad3c49b74fbeb5bc851c7d269b611fc86dd3"; rev = "b362e13e22a452db913aab1fb2ee2d8546526d90";
sha256 = "0xk7pyysmq1w1dicq2pml3ls08wwzxaa9fq7fyhziivy7a8qv2ps"; sha256 = "10vxc5bk0zykfg5dhgmsqmw2k6701b7ppg80y3krnn7phzi3hwr8";
}; };
meta.homepage = "https://github.com/willothy/flatten.nvim/"; meta.homepage = "https://github.com/willothy/flatten.nvim/";
}; };
@ -7479,8 +7479,8 @@ final: prev:
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nvim-treesitter"; owner = "nvim-treesitter";
repo = "nvim-treesitter"; repo = "nvim-treesitter";
rev = "bae2c1824fb9297b044fbb58fc3b81ba79ed8b75"; rev = "4d41d9bfb09dd0836ce6910404e3cd570500c9ca";
sha256 = "04w7xa8affngr6m1d0zr2d5fm2r2d92qf3942f4yznq5admxv9d7"; sha256 = "05b9dfphqm726x3619vfm702q0csjnvr9011xix07074hmg0ygxl";
}; };
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
}; };
@ -8304,6 +8304,18 @@ final: prev:
meta.homepage = "https://github.com/AlphaTechnolog/pywal.nvim/"; meta.homepage = "https://github.com/AlphaTechnolog/pywal.nvim/";
}; };
quarto-nvim = buildVimPluginFrom2Nix {
pname = "quarto-nvim";
version = "2023-07-17";
src = fetchFromGitHub {
owner = "quarto-dev";
repo = "quarto-nvim";
rev = "35f86035e7b3846dbf168267ffe0021c3d312259";
sha256 = "0a46bqca0f8rqd71kym07nn3vq4qfasw20fhi6s8gywmd658hx9k";
};
meta.homepage = "https://github.com/quarto-dev/quarto-nvim/";
};
quick-scope = buildVimPluginFrom2Nix { quick-scope = buildVimPluginFrom2Nix {
pname = "quick-scope"; pname = "quick-scope";
version = "2023-08-08"; version = "2023-08-08";
@ -9014,12 +9026,12 @@ final: prev:
sphinx-nvim = buildVimPluginFrom2Nix { sphinx-nvim = buildVimPluginFrom2Nix {
pname = "sphinx.nvim"; pname = "sphinx.nvim";
version = "2022-10-27"; version = "2023-08-25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stsewd"; owner = "stsewd";
repo = "sphinx.nvim"; repo = "sphinx.nvim";
rev = "ec53a6e7104c6bef75982fce15bcab546c590f7e"; rev = "d4eceb35975d379c6b380111627c5d4531f77d08";
sha256 = "15pxzq74sx9zwwpcfy478mq558s2kwv78pgzqz4jw03hd0ms2c1k"; sha256 = "0j4v1ckc7p5bsh81yhcc35yv1lqkn2kicy84pbk556ksx60pgvgs";
}; };
meta.homepage = "https://github.com/stsewd/sphinx.nvim/"; meta.homepage = "https://github.com/stsewd/sphinx.nvim/";
}; };

View file

@ -696,6 +696,7 @@ https://github.com/purescript-contrib/purescript-vim/,,
https://github.com/python-mode/python-mode/,, https://github.com/python-mode/python-mode/,,
https://github.com/vim-python/python-syntax/,, https://github.com/vim-python/python-syntax/,,
https://github.com/AlphaTechnolog/pywal.nvim/,, https://github.com/AlphaTechnolog/pywal.nvim/,,
https://github.com/quarto-dev/quarto-nvim/,,
https://github.com/unblevable/quick-scope/,, https://github.com/unblevable/quick-scope/,,
https://github.com/stefandtw/quickfix-reflector.vim/,, https://github.com/stefandtw/quickfix-reflector.vim/,,
https://github.com/dannyob/quickfixstatus/,, https://github.com/dannyob/quickfixstatus/,,

View file

@ -17,13 +17,13 @@ let
''; '';
in mkDerivation rec { in mkDerivation rec {
pname = "deadd-notification-center"; pname = "deadd-notification-center";
version = "2.0.4"; version = "2.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "phuhl"; owner = "phuhl";
repo = "linux_notification_center"; repo = "linux_notification_center";
rev = version; rev = version;
hash = "sha256-ascg31HsHeXKhvMNntiRLuZ4+T2+fokfDhZ3c8N/Gzg="; hash = "sha256-VU9NaQVS0n8hFRjWMvCMkaF5mZ4hpnluV31+/SAK7tU=";
}; };
isLibrary = false; isLibrary = false;

View file

@ -1,12 +1,12 @@
{ appimageTools, lib, fetchurl, stdenv }: { appimageTools, lib, fetchurl, nix-update-script, stdenv }:
let let
pname = "golden-cheetah"; pname = "golden-cheetah";
version = "3.6-RC4"; version = "3.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v3.6-DEV_x64.AppImage"; url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v${version}_x64.AppImage";
hash = "sha256-I5GafK/W1djSx67xrjcMyPqMSqGW9AfrcPYcGcf0Pag="; hash = "sha256-PMRUDQSQxbECbF9SPOo03t4Xxj1OtYJAPXEMyyy6EVY=";
}; };
appimageContents = appimageTools.extract { inherit pname src version; }; appimageContents = appimageTools.extract { inherit pname src version; };
@ -24,12 +24,14 @@ appimageTools.wrapType2 {
cp ${appimageContents}/gc.png $out/share/pixmaps/ cp ${appimageContents}/gc.png $out/share/pixmaps/
''; '';
meta = with lib; { passthru.updateScript = nix-update-script { };
meta = {
description = "Performance software for cyclists, runners and triathletes. This version includes the API Tokens for e.g. Strava"; description = "Performance software for cyclists, runners and triathletes. This version includes the API Tokens for e.g. Strava";
platforms = platforms.linux; platforms = lib.platforms.linux;
broken = !stdenv.isx86_64; broken = !stdenv.isx86_64;
maintainers = with maintainers; [ gador ]; maintainers = with lib.maintainers; [ gador adamcstephens ];
license = licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
}; };
} }

View file

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, fetchpatch, mkDerivation { lib, fetchFromGitHub, nix-update-script, mkDerivation
, qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools , qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
, qtconnectivity, qtcharts, libusb-compat-0_1, gsl, blas , qtconnectivity, qtcharts, libusb-compat-0_1, gsl, blas
, bison, flex, zlib, qmake, makeDesktopItem, wrapQtAppsHook , bison, flex, zlib, qmake, makeDesktopItem, wrapQtAppsHook
@ -16,13 +16,13 @@ let
}; };
in mkDerivation rec { in mkDerivation rec {
pname = "golden-cheetah"; pname = "golden-cheetah";
version = "3.6-RC4"; version = "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GoldenCheetah"; owner = "GoldenCheetah";
repo = "GoldenCheetah"; repo = "GoldenCheetah";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-2cwxsfy4Zc9fF3fe6QcZp3LPd2yWw2rDlYrK/QGiJYw="; hash = "sha256-Ntim1/ZPaTPCHQ5p8xF5LWpqq8+OgkPfaQqqysv9j/c=";
}; };
buildInputs = [ buildInputs = [
@ -72,10 +72,12 @@ in mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
meta = with lib; { passthru.updateScript = nix-update-script { };
meta = {
description = "Performance software for cyclists, runners and triathletes. Built from source and without API tokens"; description = "Performance software for cyclists, runners and triathletes. Built from source and without API tokens";
platforms = platforms.linux; platforms = lib.platforms.linux;
maintainers = with maintainers; [ adamcstephens ]; maintainers = with lib.maintainers; [ adamcstephens ];
license = licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
}; };
} }

View file

@ -47,7 +47,7 @@
# Hardening # Hardening
, graphene-hardened-malloc , graphene-hardened-malloc
# Whether to use graphene-hardened-malloc # Whether to use graphene-hardened-malloc
, useHardenedMalloc ? true , useHardenedMalloc ? null
# Whether to disable multiprocess support # Whether to disable multiprocess support
, disableContentSandbox ? false , disableContentSandbox ? false
@ -56,7 +56,10 @@
, extraPrefs ? "" , extraPrefs ? ""
}: }:
let lib.warnIf (useHardenedMalloc != null)
"tor-browser-bundle-bin: useHardenedMalloc is deprecated and enabling it can cause issues"
(let
libPath = lib.makeLibraryPath libPkgs; libPath = lib.makeLibraryPath libPkgs;
libPkgs = [ libPkgs = [
@ -268,7 +271,7 @@ stdenv.mkDerivation rec {
GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6 GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6
EOF EOF
WRAPPER_LD_PRELOAD=${lib.optionalString useHardenedMalloc WRAPPER_LD_PRELOAD=${lib.optionalString (useHardenedMalloc == true)
"${graphene-hardened-malloc}/lib/libhardened_malloc.so"} "${graphene-hardened-malloc}/lib/libhardened_malloc.so"}
WRAPPER_XDG_DATA_DIRS=${lib.concatMapStringsSep ":" (x: "${x}/share") [ WRAPPER_XDG_DATA_DIRS=${lib.concatMapStringsSep ":" (x: "${x}/share") [
@ -477,4 +480,4 @@ stdenv.mkDerivation rec {
license = licenses.free; license = licenses.free;
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
}; };
} })

View file

@ -1,5 +1,6 @@
{ lib { lib
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, python3 , python3
, makeWrapper , makeWrapper
, nixosTests , nixosTests
@ -30,6 +31,14 @@ python.pkgs.buildPythonApplication rec {
sha256 = "sha256-7Exvm3EShb/1EqwA4wzWB9zCdv0P/ISmjKSoqtOMnqk="; sha256 = "sha256-7Exvm3EShb/1EqwA4wzWB9zCdv0P/ISmjKSoqtOMnqk=";
}; };
patches = [
(fetchpatch {
# PIL update fix
url = "https://patch-diff.githubusercontent.com/raw/haiwen/seahub/pull/5570.patch";
sha256 = "sha256-7V2aRlacJ7Qhdi9k4Bs+t/Emx+EAM/NNCI+K40bMwLA=";
})
];
dontBuild = true; dontBuild = true;
doCheck = false; # disabled because it requires a ccnet environment doCheck = false; # disabled because it requires a ccnet environment

View file

@ -3,26 +3,28 @@
, fetchFromGitHub , fetchFromGitHub
, python , python
, cmake , cmake
, ninja
}: }:
let let
pyEnv = python.withPackages (ps: [ ps.setuptools ]); pyEnv = python.withPackages (ps: [ ps.setuptools ps.tomli ps.pip ps.setuptools ]);
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lief"; pname = "lief";
version = "0.12.3"; version = "0.13.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lief-project"; owner = "lief-project";
repo = "LIEF"; repo = "LIEF";
rev = version; rev = version;
sha256 = "sha256-wZgv4AFc7DrMCyxMLKQxO1mUTDAU4klK8aZAySqGJoY="; sha256 = "sha256-lH4SqwPB2Jp/wUI2Cll67PQbHbwMqpNuLy/ei8roiHg=";
}; };
outputs = [ "out" "py" ]; outputs = [ "out" "py" ];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
ninja
]; ];
# Not a propagatedBuildInput because only the $py output needs it; $out is # Not a propagatedBuildInput because only the $py output needs it; $out is
@ -31,33 +33,16 @@ stdenv.mkDerivation rec {
python python
]; ];
dontUseCmakeConfigure = true; postBuild = ''
pushd /build/source/api/python
buildPhase = '' ${pyEnv.interpreter} setup.py build --parallel=$NIX_BUILD_CORES
runHook preBuild popd
substituteInPlace setup.py \
--replace 'cmake_args = []' "cmake_args = [ \"-DCMAKE_INSTALL_PREFIX=$prefix\" ]"
${pyEnv.interpreter} setup.py --sdk build --parallel=$NIX_BUILD_CORES
runHook postBuild
''; '';
# I was unable to find a way to build the library itself and have it install postInstall = ''
# to $out, while also installing the Python bindings to $py without building pushd /build/source/api/python
# the project twice (using cmake), so this is the best we've got. It uses
# something called CPack to create the tarball, but it's not obvious to me
# *how* that happens, or how to intercept it to just get the structured
# library output.
installPhase = ''
runHook preInstall
mkdir -p $out $py/nix-support
echo "${python}" >> $py/nix-support/propagated-build-inputs
tar xf build/*.tar.gz --directory $out --strip-components 1
${pyEnv.interpreter} setup.py install --skip-build --root=/ --prefix=$py ${pyEnv.interpreter} setup.py install --skip-build --root=/ --prefix=$py
popd
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
@ -65,6 +50,6 @@ stdenv.mkDerivation rec {
homepage = "https://lief.quarkslab.com/"; homepage = "https://lief.quarkslab.com/";
license = [ licenses.asl20 ]; license = [ licenses.asl20 ];
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = [ maintainers.lassulus ]; maintainers = with maintainers; [ lassulus genericnerdyusername ];
}; };
} }

View file

@ -8,16 +8,16 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "adax"; pname = "adax";
version = "0.2.0"; version = "0.3.0";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.5"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Danielhiversen"; owner = "Danielhiversen";
repo = "pyadax"; repo = "pyadax";
rev = version; rev = "refs/tags/${version}";
hash = "sha256-EMSX2acklwWOYiEeLHYG5mwdiGnWAUo5dGMiHCmZrko="; hash = "sha256-y4c1RBy/UxmKP7+mHXi86XJ2/RXGrqkj94I2Q699EJU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -28,11 +28,14 @@ buildPythonPackage rec {
# Project has no tests # Project has no tests
doCheck = false; doCheck = false;
pythonImportsCheck = [ "adax" ]; pythonImportsCheck = [
"adax"
];
meta = with lib; { meta = with lib; {
description = "Python module to communicate with Adax"; description = "Python module to communicate with Adax";
homepage = "https://github.com/Danielhiversen/pyAdax"; homepage = "https://github.com/Danielhiversen/pyAdax";
changelog = "https://github.com/Danielhiversen/pyAdax/releases/tag/${version}";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };

View file

@ -2,13 +2,15 @@
, aiohttp , aiohttp
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, pythonOlder , pythonOlder
, setuptools , setuptools
, pyjwt
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioaseko"; pname = "aioaseko";
version = "0.0.2"; version = "0.1.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -16,16 +18,26 @@ buildPythonPackage rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "milanmeu"; owner = "milanmeu";
repo = pname; repo = pname;
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-nJRVNBYfBcLYnBsTpQZYMHYWh0+hQObVKJ7sOXFwDjc="; hash = "sha256-RgIwA5/W7qtgI9ZTF4oDPuzSc+r04ZV3JOaNNFjS0pU=";
}; };
patches = [
# Remove time, https://github.com/milanmeu/aioaseko/pull/6
(fetchpatch {
name = "remove-time.patch";
url = "https://github.com/milanmeu/aioaseko/commit/07d7ca43a2edd060e95a64737f072d98ba938484.patch";
hash = "sha256-67QaqSy5mGY/22jWHOkymr0pFoiizVQAXlrqXRb3tG0=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
setuptools setuptools
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
aiohttp aiohttp
pyjwt
]; ];
# Module has no tests # Module has no tests
@ -38,6 +50,7 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Module to interact with the Aseko Pool Live API"; description = "Module to interact with the Aseko Pool Live API";
homepage = "https://github.com/milanmeu/aioaseko"; homepage = "https://github.com/milanmeu/aioaseko";
changelog = "https://github.com/milanmeu/aioaseko/releases/tag/v${version}";
license = with licenses; [ lgpl3Plus ]; license = with licenses; [ lgpl3Plus ];
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };

View file

@ -1,44 +1,31 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder
, pythonAtLeast
, fetchFromGitHub , fetchFromGitHub
# native build inputs
, hatchling , hatchling
# build input
, networkx
# check inputs
, pytestCheckHook
# optional dependencies
, pygraphviz
, requests
, mkdocs-material , mkdocs-material
, mkdocs-mermaid2-plugin , mkdocs-mermaid2-plugin
, mkdocstrings , mkdocstrings
, networkx
, pygraphviz
, pytestCheckHook
, pythonOlder
, requests
}: }:
let
buildPythonPackage rec {
pname = "canals"; pname = "canals";
version = "0.2.2"; version = "0.6.0";
optional-dependencies = {
graphviz = [ pygraphviz ];
mermaid = [ requests ];
docs = [ mkdocs-material mkdocs-mermaid2-plugin mkdocstrings ];
};
in
buildPythonPackage {
inherit version pname;
format = "pyproject"; format = "pyproject";
# Pypi source package doesn't contain tests disabled = pythonOlder "3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "deepset-ai"; owner = "deepset-ai";
repo = pname; repo = pname;
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-dF0bkY4DFJIovaseNiOLgF8lmha+njTTTzr2/4LzZEc="; hash = "sha256-s4nKPywfRn2hNhn/coWGqShv7D+MCEHblVzfweQJlnM=";
}; };
disabled = pythonOlder "3.8";
nativeBuildInputs = [ nativeBuildInputs = [
hatchling hatchling
]; ];
@ -47,18 +34,37 @@ buildPythonPackage {
networkx networkx
]; ];
passthru = { inherit optional-dependencies; }; passthru.optional-dependencies = {
graphviz = [
pygraphviz
];
mermaid = [
requests
];
docs = [
mkdocs-material
mkdocs-mermaid2-plugin
mkdocstrings
];
};
nativeCheckInputs = [ nativeCheckInputs = [
pytestCheckHook pytestCheckHook
] ++ optional-dependencies.mermaid; ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
disabledTestPaths = [ disabledTestPaths = [
# requires internet connection to mermaid.ink # Test requires internet connection to mermaid.ink
"test/pipelines/integration" "test/pipelines/integration"
]; ];
pythonImportsCheck = [ "canals" ]; disabledTests = [
# Path issue
"test_draw_pygraphviz"
];
pythonImportsCheck = [
"canals"
];
meta = with lib; { meta = with lib; {
description = "A component orchestration engine"; description = "A component orchestration engine";

View file

@ -1,32 +1,43 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchFromGitHub
, requests , flitBuildHook
, google-auth , google-auth
, google-auth-oauthlib , google-auth-oauthlib
, pytest-vcr
, pytestCheckHook
, pythonOlder , pythonOlder
, requests
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "gspread"; pname = "gspread";
version = "5.9.0"; version = "5.10.0";
format = "setuptools"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "burnash";
hash = "sha256-NLl4NLvvrM9ySXcCuuJtEvltBoXkmkGK/mqSqbvLnJw="; repo = "gspread";
rev = "refs/tags/v${version}";
hash = "sha256-GAlQYQVuwsnkXqZOvG66f9kig+m392CVlrgUTqrTKyA=";
}; };
propagatedBuildInputs = [ nativeBuildInputs = [
requests flitBuildHook
google-auth
google-auth-oauthlib
]; ];
# No tests included propagatedBuildInputs = [
doCheck = false; google-auth
google-auth-oauthlib
requests
];
nativeCheckInputs = [
pytest-vcr
pytestCheckHook
];
pythonImportsCheck = [ pythonImportsCheck = [
"gspread" "gspread"

View file

@ -17,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "hahomematic"; pname = "hahomematic";
version = "2023.8.10"; version = "2023.8.11";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "danielperna84"; owner = "danielperna84";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-Piy/yUIK+IuEVbkkB18Z1iGNcE67eowff3IimI43E+s="; hash = "sha256-EDpOCZlWIb1WChO4/k37WDkA4LT4Wy8tcMpThMgCQoU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,21 +1,38 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, pytestCheckHook
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "jsonpath"; pname = "jsonpath";
version = "0.82"; version = "0.82.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "46d3fd2016cd5b842283d547877a02c418a0fe9aa7a6b0ae344115a2c990fef4"; hash = "sha256-2H7yvLze1o7pa8NMGAm2lFfs7JsMTdRxZYoSvTkQAtE=";
}; };
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"jsonpath"
];
pytestFlagsArray = [
"test/test*.py"
];
meta = with lib; { meta = with lib; {
description = "An XPath for JSON"; description = "An XPath for JSON";
homepage = "https://github.com/json-path/JsonPath"; homepage = "https://github.com/json-path/JsonPath";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.mic92 ]; maintainers = with maintainers; [ mic92 ];
}; };
} }

View file

@ -47,7 +47,7 @@ let
package = buildPythonPackage rec { package = buildPythonPackage rec {
pname = "mdformat"; pname = "mdformat";
version = "0.7.16"; version = "0.7.17";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -55,8 +55,8 @@ let
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "executablebooks"; owner = "executablebooks";
repo = pname; repo = pname;
rev = version; rev = "refs/tags/${version}";
hash = "sha256-6MWUkvZp5CYUWsbMGXM2gudjn5075j5FIuaNnCrgRNs="; hash = "sha256-umtfbhN6sDR/rFr1LwmJ21Ph9bK1Qq43bmMVzGCPD5s=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -93,6 +93,7 @@ let
meta = with lib; { meta = with lib; {
description = "CommonMark compliant Markdown formatter"; description = "CommonMark compliant Markdown formatter";
homepage = "https://mdformat.rtfd.io/"; homepage = "https://mdformat.rtfd.io/";
changelog = "https://github.com/executablebooks/mdformat/blob/${version}/docs/users/changelog.md";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ fab aldoborrero ]; maintainers = with maintainers; [ fab aldoborrero ];
mainProgram = "mdformat"; mainProgram = "mdformat";

View file

@ -13,11 +13,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pytest-testinfra"; pname = "pytest-testinfra";
version = "8.1.0"; version = "9.0.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-m0CCi1j7esK/8pzBRlk0rfQ08Q3VoQj2BTXe5SZgpj0="; hash = "sha256-UxGzaeBUaSD85GTDv5RbVevnWhJ1aPbWFelLiJE0AUk=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -34,7 +34,7 @@ buildPythonPackage rec {
]; ];
# markers don't get added when docker is not available (leads to warnings): # markers don't get added when docker is not available (leads to warnings):
# https://github.com/pytest-dev/pytest-testinfra/blob/8.1.0/test/conftest.py#L228 # https://github.com/pytest-dev/pytest-testinfra/blob/9.0.0/test/conftest.py#L223
preCheck = '' preCheck = ''
export HOME=$(mktemp -d) export HOME=$(mktemp -d)
sed -i '54imarkers = \ sed -i '54imarkers = \

View file

@ -8,14 +8,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "vsure"; pname = "vsure";
version = "2.6.5"; version = "2.6.6";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-2w1D0380ljgRa5NSPAUlUPFTmGzjl79hyLwirmuHmGo="; hash = "sha256-ecrBvKOhW3znVoXHQeKKW4o/hbA4fLhxJrWZObwtki8=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -10,13 +10,13 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "seafile-server"; pname = "seafile-server";
version = "9.0.6"; version = "9.0.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "haiwen"; owner = "haiwen";
repo = "seafile-server"; repo = "seafile-server";
rev = "881c270aa8d99ca6648e7aa1458fc283f38e6f31"; # using a fixed revision because upstream may re-tag releases :/ rev = "079a8b65a543bfbc48e7671c3dbbffe19fd02944"; # using a fixed revision because upstream may re-tag releases :/
sha256 = "sha256-M1jIysirtl1KKyEvScOIshLvSa5vjxTdFEARgy8bLTc="; sha256 = "sha256-F1n4E6ajpri3CVM7B28UKoTV1oOLr5nTy6Lw0E5tCrc=";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "headsetcontrol"; pname = "headsetcontrol";
version = "2.6.1"; version = "2.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Sapd"; owner = "Sapd";
repo = "HeadsetControl"; repo = "HeadsetControl";
rev = version; rev = version;
sha256 = "sha256-SVOcRzR52RYZsk/OWAr1/s+Nm6x48OxG0TF7yQ+Kb94="; sha256 = "sha256-tAndkfLEgj81JWzXtDBNspRxzKAL6XaRw0aDI1XbC1E=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
]; ];
/* /*
Test depends on having the apropiate headsets connected. Tests depend on having the appropriate headsets connected.
*/ */
doCheck = false; doCheck = false;

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, ncurses }: { lib, stdenv, fetchFromGitHub, ncurses }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.2.0"; version = "1.3.0";
pname = "smenu"; pname = "smenu";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "p-gen"; owner = "p-gen";
repo = "smenu"; repo = "smenu";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-DfND2lIHQc+7+8lM86MMOdFKhbUAOnSlkpLwxo10EI4="; sha256 = "sha256-r2N+MmZI2KCuYarrFL2Xn5hu4FO3n5MqADRuTXMOtk0=";
}; };
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];

View file

@ -1,7 +1,7 @@
{ lib { lib
, stdenv , stdenv
, cmake , cmake
, buildGo118Module , buildGoModule
, makeWrapper , makeWrapper
, fetchFromGitHub , fetchFromGitHub
, pythonPackages , pythonPackages
@ -35,7 +35,7 @@ let
cmakeFlags = ["-DBUILD_DEMO=OFF" "-DDISABLE_PYTHON2=ON"]; cmakeFlags = ["-DBUILD_DEMO=OFF" "-DDISABLE_PYTHON2=ON"];
}; };
in buildGo118Module rec { in buildGoModule rec {
pname = "datadog-agent"; pname = "datadog-agent";
inherit src version; inherit src version;

View file

@ -1,4 +1,4 @@
# frozen_string_literal: true # frozen_string_literal: true
source "https://rubygems.org" source "https://rubygems.org"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.30" gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.31"

View file

@ -1,9 +1,9 @@
GIT GIT
remote: https://github.com/rapid7/metasploit-framework remote: https://github.com/rapid7/metasploit-framework
revision: e15c05b0bd8774e33c33c100965ec7e301e4f295 revision: a97e8a0e2a3b15f3b3710f04def1178139ae0fa2
ref: refs/tags/6.3.30 ref: refs/tags/6.3.31
specs: specs:
metasploit-framework (6.3.30) metasploit-framework (6.3.31)
actionpack (~> 7.0) actionpack (~> 7.0)
activerecord (~> 7.0) activerecord (~> 7.0)
activesupport (~> 7.0) activesupport (~> 7.0)
@ -41,6 +41,7 @@ GIT
mqtt mqtt
msgpack (~> 1.6.0) msgpack (~> 1.6.0)
nessus_rest nessus_rest
net-imap
net-ldap net-ldap
net-smtp net-smtp
net-ssh net-ssh
@ -104,25 +105,25 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
Ascii85 (1.1.0) Ascii85 (1.1.0)
actionpack (7.0.7) actionpack (7.0.7.2)
actionview (= 7.0.7) actionview (= 7.0.7.2)
activesupport (= 7.0.7) activesupport (= 7.0.7.2)
rack (~> 2.0, >= 2.2.4) rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.7) actionview (7.0.7.2)
activesupport (= 7.0.7) activesupport (= 7.0.7.2)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (7.0.7) activemodel (7.0.7.2)
activesupport (= 7.0.7) activesupport (= 7.0.7.2)
activerecord (7.0.7) activerecord (7.0.7.2)
activemodel (= 7.0.7) activemodel (= 7.0.7.2)
activesupport (= 7.0.7) activesupport (= 7.0.7.2)
activesupport (7.0.7) activesupport (7.0.7.2)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
@ -133,13 +134,13 @@ GEM
arel-helpers (2.14.0) arel-helpers (2.14.0)
activerecord (>= 3.1.0, < 8) activerecord (>= 3.1.0, < 8)
aws-eventstream (1.2.0) aws-eventstream (1.2.0)
aws-partitions (1.806.0) aws-partitions (1.811.0)
aws-sdk-core (3.180.3) aws-sdk-core (3.181.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0) aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5) aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1) jmespath (~> 1, >= 1.6.1)
aws-sdk-ec2 (1.399.0) aws-sdk-ec2 (1.402.0)
aws-sdk-core (~> 3, >= 3.177.0) aws-sdk-core (~> 3, >= 3.177.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-ec2instanceconnect (1.32.0) aws-sdk-ec2instanceconnect (1.32.0)
@ -151,8 +152,8 @@ GEM
aws-sdk-kms (1.71.0) aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0) aws-sdk-core (~> 3, >= 3.177.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.132.1) aws-sdk-s3 (1.134.0)
aws-sdk-core (~> 3, >= 3.179.0) aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6) aws-sigv4 (~> 1.6)
aws-sdk-ssm (1.156.0) aws-sdk-ssm (1.156.0)
@ -172,6 +173,7 @@ GEM
cookiejar (0.3.3) cookiejar (0.3.3)
crass (1.0.6) crass (1.0.6)
daemons (1.4.1) daemons (1.4.1)
date (3.3.3)
dnsruby (1.70.0) dnsruby (1.70.0)
simpleidn (~> 0.2.1) simpleidn (~> 0.2.1)
domain_name (0.5.20190701) domain_name (0.5.20190701)
@ -271,6 +273,9 @@ GEM
mustermann (3.0.0) mustermann (3.0.0)
ruby2_keywords (~> 0.0.1) ruby2_keywords (~> 0.0.1)
nessus_rest (0.1.6) nessus_rest (0.1.6)
net-imap (0.3.7)
date
net-protocol
net-ldap (0.18.0) net-ldap (0.18.0)
net-protocol (0.2.1) net-protocol (0.2.1)
timeout timeout
@ -317,9 +322,9 @@ GEM
rails-html-sanitizer (1.6.0) rails-html-sanitizer (1.6.0)
loofah (~> 2.21) loofah (~> 2.21)
nokogiri (~> 1.14) nokogiri (~> 1.14)
railties (7.0.7) railties (7.0.7.2)
actionpack (= 7.0.7) actionpack (= 7.0.7.2)
activesupport (= 7.0.7) activesupport (= 7.0.7.2)
method_source method_source
rake (>= 12.2) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0)
@ -331,7 +336,7 @@ GEM
recog (3.1.2) recog (3.1.2)
nokogiri nokogiri
redcarpet (3.6.0) redcarpet (3.6.0)
reline (0.3.7) reline (0.3.8)
io-console (~> 0.5) io-console (~> 0.5)
rex-arch (0.1.14) rex-arch (0.1.14)
rex-text rex-text
@ -407,7 +412,7 @@ GEM
tilt (~> 2.0) tilt (~> 2.0)
sqlite3 (1.6.3) sqlite3 (1.6.3)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
sshkey (2.0.0) sshkey (3.0.0)
strptime (0.2.5) strptime (0.2.5)
swagger-blocks (3.0.0) swagger-blocks (3.0.0)
thin (1.8.2) thin (1.8.2)

View file

@ -15,13 +15,13 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "metasploit-framework"; pname = "metasploit-framework";
version = "6.3.30"; version = "6.3.31";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rapid7"; owner = "rapid7";
repo = "metasploit-framework"; repo = "metasploit-framework";
rev = version; rev = version;
sha256 = "sha256-j2tgBXn5PP4WegSk4NU5aVfrWVKYcYUS8fHFF5kuCJc="; sha256 = "sha256-X0QJ4edzqLh01qAhmpcdiuk8xdAkccoJAZmxeTh3q48=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -4,50 +4,50 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "150sjsk12vzj9aswjy3cz124l8n8sn52bhd0wwly73rwc1a750sg"; sha256 = "0qamc5ly521wk9i1658h9jv7avmyyp92kffa1da2fn5zk0wgyhf4";
type = "gem"; type = "gem";
}; };
version = "7.0.7"; version = "7.0.7.2";
}; };
actionview = { actionview = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1nn21k5psxdv2fkwxs679lr0b8n1nzli2ks343cx4azn6snp8b8a"; sha256 = "151zxb61bb6q7g0sn34qz79k8bg02vmb8mmnsn0fr15lxw92dfhm";
type = "gem"; type = "gem";
}; };
version = "7.0.7"; version = "7.0.7.2";
}; };
activemodel = { activemodel = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rspbw4yxx9fh2wyl2wvgwadwapfyx7j9zlirpd4pmk31wkhl4hf"; sha256 = "1crjq1dznlbsrwd5yijxraz1591xmg4vdcwwnmrw4nh6hrwq5fj5";
type = "gem"; type = "gem";
}; };
version = "7.0.7"; version = "7.0.7.2";
}; };
activerecord = { activerecord = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ygg145wxlgm12b1x5r0rsk2aa6i2wjz7bgb21j8vmyqyfl272cy"; sha256 = "03vrssdqaqm41w27s21r37skdfxa41midvjy37i2zh3rnbnq8ps2";
type = "gem"; type = "gem";
}; };
version = "7.0.7"; version = "7.0.7.2";
}; };
activesupport = { activesupport = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1wzbnv3hns0yiwbgh1m3q5j0d7b0k52nlpwirhxyv3l0ycmljfr9"; sha256 = "1vlzcnyqlbchaq85phmdv73ydlc18xpvxy1cbsk191cwd29i7q32";
type = "gem"; type = "gem";
}; };
version = "7.0.7"; version = "7.0.7.2";
}; };
addressable = { addressable = {
groups = ["default"]; groups = ["default"];
@ -104,30 +104,30 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "072z18xbl8n793w4irrsmgh788csvmfkvw1iixsrmdzlzrjjagqx"; sha256 = "0082fsywglghvam55i4jz7cj2vyd8hb8b7658cr9yqlwna9j1sp3";
type = "gem"; type = "gem";
}; };
version = "1.806.0"; version = "1.811.0";
}; };
aws-sdk-core = { aws-sdk-core = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0lc3j74v49b2akyimfnsx3vsgi1i3068cpchn358l0dv27aib6c2"; sha256 = "0xjw9cf6ldbw50xi5ric8d63r8kybpsvaqxh2v6n7374hfady73i";
type = "gem"; type = "gem";
}; };
version = "3.180.3"; version = "3.181.0";
}; };
aws-sdk-ec2 = { aws-sdk-ec2 = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0l2gdlqgq9y5r83svl4g7jpijpw3a6p7xsfdvhklb36mgmf61a0n"; sha256 = "1kl5b8m0ad2dxj2r0f5wkphfwhnpq820jbzrdmxyh20kivckv33c";
type = "gem"; type = "gem";
}; };
version = "1.399.0"; version = "1.402.0";
}; };
aws-sdk-ec2instanceconnect = { aws-sdk-ec2instanceconnect = {
groups = ["default"]; groups = ["default"];
@ -164,10 +164,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0iciakii0vcm16x0fivs5hwwhy3n8j1f9d7pimxr05yplnxizh6a"; sha256 = "1fbz259as60xnf563z9byp8blq5fsc81h92h3wicai4bmz45w4r5";
type = "gem"; type = "gem";
}; };
version = "1.132.1"; version = "1.134.0";
}; };
aws-sdk-ssm = { aws-sdk-ssm = {
groups = ["default"]; groups = ["default"];
@ -299,6 +299,16 @@
}; };
version = "1.4.1"; version = "1.4.1";
}; };
date = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
type = "gem";
};
version = "3.3.3";
};
dnsruby = { dnsruby = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
@ -644,12 +654,12 @@
platforms = []; platforms = [];
source = { source = {
fetchSubmodules = false; fetchSubmodules = false;
rev = "e15c05b0bd8774e33c33c100965ec7e301e4f295"; rev = "a97e8a0e2a3b15f3b3710f04def1178139ae0fa2";
sha256 = "15q85scigigiy498awcqa9cynmv977ay1904g8bgwg7rg42n0swg"; sha256 = "13xbfww7kccr044wlw94s32krsca3nbrl8d0srsbia3kwzhhji2z";
type = "git"; type = "git";
url = "https://github.com/rapid7/metasploit-framework"; url = "https://github.com/rapid7/metasploit-framework";
}; };
version = "6.3.30"; version = "6.3.31";
}; };
metasploit-model = { metasploit-model = {
groups = ["default"]; groups = ["default"];
@ -771,6 +781,16 @@
}; };
version = "0.1.6"; version = "0.1.6";
}; };
net-imap = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3";
type = "gem";
};
version = "0.3.7";
};
net-ldap = { net-ldap = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
@ -1037,10 +1057,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0in2b84qqmfnigx0li9bgi6l4knmgbj3a29fzm1zzb5jnv4r1gbr"; sha256 = "01pdn9sn7kawwrvrbr3vz44j287xbka8mm7nrv9cl510y8gzxi2x";
type = "gem"; type = "gem";
}; };
version = "7.0.7"; version = "7.0.7.2";
}; };
rake = { rake = {
groups = ["default"]; groups = ["default"];
@ -1097,10 +1117,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1n6b6a1b18fscw9ff0fw5jk1l7kzw542r8444mm7d27zyx5v18sj"; sha256 = "0lv1nv7z63n4qmsm3h5h273m7daxngkcq8ynkk9j8lmn7jji98lb";
type = "gem"; type = "gem";
}; };
version = "0.3.7"; version = "0.3.8";
}; };
rex-arch = { rex-arch = {
groups = ["default"]; groups = ["default"];
@ -1418,10 +1438,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp"; sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5";
type = "gem"; type = "gem";
}; };
version = "2.0.0"; version = "3.0.0";
}; };
strptime = { strptime = {
groups = ["default"]; groups = ["default"];

View file

@ -11,14 +11,15 @@
, udev , udev
, addOpenGLRunpath , addOpenGLRunpath
, amd ? true , amd ? true
, intel ? true
, msm ? true
, nvidia ? true , nvidia ? true
}: }:
let let
pname-suffix = if amd && nvidia then "" else if amd then "-amd" else "-nvidia";
nvidia-postFixup = "addOpenGLRunpath $out/bin/nvtop"; nvidia-postFixup = "addOpenGLRunpath $out/bin/nvtop";
libPath = lib.makeLibraryPath [ libdrm ncurses udev ]; libPath = lib.makeLibraryPath [ libdrm ncurses udev ];
amd-postFixup = '' drm-postFixup = ''
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \ --set-rpath "${libPath}" \
@ -26,14 +27,14 @@ let
''; '';
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nvtop" + pname-suffix; pname = "nvtop";
version = "3.0.1"; version = "3.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Syllo"; owner = "Syllo";
repo = "nvtop"; repo = "nvtop";
rev = version; rev = version;
hash = "sha256-vLvt2sankpQWAVZBPo3OePs4LDy7YfVnMkZLfN6ERAc="; hash = "sha256-SHKdjzbc3ZZfOW2p8RLFRKKBfLnO+Z8/bKVxcdLLqxw=";
}; };
cmakeFlags = with lib; [ cmakeFlags = with lib; [
@ -43,17 +44,19 @@ stdenv.mkDerivation rec {
] ++ optional nvidia "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include" ] ++ optional nvidia "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include"
++ optional nvidia "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so" ++ optional nvidia "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so"
++ optional (!amd) "-DAMDGPU_SUPPORT=OFF" ++ optional (!amd) "-DAMDGPU_SUPPORT=OFF"
++ optional (!intel) "-DINTEL_SUPPORT=OFF"
++ optional (!msm) "-DMSM_SUPPORT=OFF"
++ optional (!nvidia) "-DNVIDIA_SUPPORT=OFF" ++ optional (!nvidia) "-DNVIDIA_SUPPORT=OFF"
++ optional amd "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2" ++ optional (amd || msm) "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2"
; ;
nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath; nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath;
buildInputs = with lib; [ ncurses udev ] buildInputs = with lib; [ ncurses udev ]
++ optional nvidia cudatoolkit ++ optional nvidia cudatoolkit
++ optional amd libdrm ++ optional (amd || msm) libdrm
; ;
# ordering of fixups is important # ordering of fixups is important
postFixup = (lib.optionalString amd amd-postFixup) + (lib.optionalString nvidia nvidia-postFixup); postFixup = (lib.optionalString (amd || msm) drm-postFixup) + (lib.optionalString nvidia nvidia-postFixup);
doCheck = true; doCheck = true;
@ -66,9 +69,10 @@ stdenv.mkDerivation rec {
}; };
meta = with lib; { meta = with lib; {
description = "A (h)top like task monitor for AMD, Intel and NVIDIA GPUs"; description = "A (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs";
longDescription = '' longDescription = ''
Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Intel and NVIDIA GPUs. It can handle multiple GPUs and print information about them in a htop familiar way. Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs.
It can handle multiple GPUs and print information about them in a htop familiar way.
''; '';
homepage = "https://github.com/Syllo/nvtop"; homepage = "https://github.com/Syllo/nvtop";
changelog = "https://github.com/Syllo/nvtop/releases/tag/${version}"; changelog = "https://github.com/Syllo/nvtop/releases/tag/${version}";

View file

@ -24276,8 +24276,30 @@ with pkgs;
nvitop = callPackage ../tools/system/nvitop { }; nvitop = callPackage ../tools/system/nvitop { };
nvtop = callPackage ../tools/system/nvtop { }; nvtop = callPackage ../tools/system/nvtop { };
nvtop-nvidia = callPackage ../tools/system/nvtop { amd = false; }; nvtop-amd = (callPackage ../tools/system/nvtop {
nvtop-amd = callPackage ../tools/system/nvtop { nvidia = false; }; amd = true;
intel = false;
msm = false;
nvidia = false;
}).overrideAttrs { pname = "nvtop-amd"; };
nvtop-intel = (callPackage ../tools/system/nvtop {
amd = false;
intel = true;
msm = false;
nvidia = false;
}).overrideAttrs { pname = "nvtop-intel"; };
nvtop-msm = (callPackage ../tools/system/nvtop {
amd = false;
intel = false;
msm = true;
nvidia = false;
}).overrideAttrs { pname = "nvtop-msm"; };
nvtop-nvidia = (callPackage ../tools/system/nvtop {
amd = false;
intel = false;
msm = false;
nvidia = true;
}).overrideAttrs { pname = "nvtop-nvidia"; };
ocl-icd = callPackage ../development/libraries/ocl-icd { }; ocl-icd = callPackage ../development/libraries/ocl-icd { };

View file

@ -4273,19 +4273,23 @@ with self; {
}; };
}; };
Connector = buildPerlPackage { Connector = buildPerlModule {
pname = "Connector"; pname = "Connector";
version = "1.35"; version = "1.47";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.35.tar.gz"; url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.47.tar.gz";
hash = "sha256-Qdl2bubNdaGcFsdeuQ3GT9/dXbp22NIJdo37FeVm3Eo="; hash = "sha256-I2R4pAq53cIVgu4na6krnjgbP8XtljkKLe2o4nSGeoM=";
}; };
buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI IOSocketSSL JSON LWP LWPProtocolHttps ProcSafeExec TemplateToolkit YAML ]; buildInputs = [ ModuleBuildTiny ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI IOSocketSSL JSON LWP LWPProtocolHttps ProcSafeExec TemplateToolkit YAML ];
propagatedBuildInputs = [ LogLog4perl Moose ]; propagatedBuildInputs = [ LogLog4perl Moose ];
prePatch = '' prePatch = ''
# Attempts to use network. # Attempts to use network.
rm t/01-proxy-http.t rm t/01-proxy-http.t
rm t/01-proxy-proc-safeexec.t rm t/01-proxy-proc-safeexec.t
# crypt() tests that use DES
rm t/01-builtin-password.t
rm t/01-builtin-password-scheme.t
''; '';
meta = { meta = {
description = "A generic connection to a hierarchical-structured data set"; description = "A generic connection to a hierarchical-structured data set";