diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0ccf97234ff..dc658db8e2e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -196,7 +196,6 @@ ./programs/partition-manager.nix ./programs/plotinus.nix ./programs/proxychains.nix - ./programs/phosh.nix ./programs/qt5ct.nix ./programs/screen.nix ./programs/sedutil.nix diff --git a/nixos/modules/services/hardware/illum.nix b/nixos/modules/services/hardware/illum.nix index ff73c99a653..7f7a8500023 100644 --- a/nixos/modules/services/hardware/illum.nix +++ b/nixos/modules/services/hardware/illum.nix @@ -28,6 +28,7 @@ in { description = "Backlight Adjustment Service"; wantedBy = [ "multi-user.target" ]; serviceConfig.ExecStart = "${pkgs.illum}/bin/illum-d"; + serviceConfig.Restart = "on-failure"; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 8247a7e381c..f48eac21bd8 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -18,7 +18,7 @@ in # determines the default: later modules (if enabled) are preferred. # E.g., if Plasma 5 is enabled, it supersedes xterm. imports = [ - ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix + ./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.nix ./lumina.nix ./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix ./cinnamon.nix diff --git a/nixos/modules/programs/phosh.nix b/nixos/modules/services/x11/desktop-managers/phosh.nix similarity index 68% rename from nixos/modules/programs/phosh.nix rename to nixos/modules/services/x11/desktop-managers/phosh.nix index ad875616ac9..4bf78fa16e7 100644 --- a/nixos/modules/programs/phosh.nix +++ b/nixos/modules/services/x11/desktop-managers/phosh.nix @@ -3,7 +3,7 @@ with lib; let - cfg = config.programs.phosh; + cfg = config.services.xserver.desktopManager.phosh; # Based on https://source.puri.sm/Librem5/librem5-base/-/blob/4596c1056dd75ac7f043aede07887990fd46f572/default/sm.puri.OSK0.desktop oskItem = pkgs.makeDesktopItem { @@ -118,12 +118,39 @@ let [cursor] theme = ${phoc.cursorTheme} ''; -in { +in + +{ options = { - programs.phosh = { - enable = mkEnableOption '' - Whether to enable, Phosh, related packages and default configurations. - ''; + services.xserver.desktopManager.phosh = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable the Phone Shell."; + }; + + package = mkOption { + type = types.package; + default = pkgs.phosh; + defaultText = literalExpression "pkgs.phosh"; + example = literalExpression "pkgs.phosh"; + description = '' + Package that should be used for Phosh. + ''; + }; + + user = mkOption { + description = "The user to run the Phosh service."; + type = types.str; + example = "alice"; + }; + + group = mkOption { + description = "The group to run the Phosh service."; + type = types.str; + example = "users"; + }; + phocConfig = mkOption { description = '' Configurations for the Phoc compositor. @@ -135,14 +162,42 @@ in { }; config = mkIf cfg.enable { + systemd.defaultUnit = "graphical.target"; + # Inspired by https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/data/phosh.service + systemd.services.phosh = { + wantedBy = [ "graphical.target" ]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/phosh"; + User = cfg.user; + Group = cfg.group; + PAMName = "login"; + WorkingDirectory = "~"; + Restart = "always"; + + TTYPath = "/dev/tty7"; + TTYReset = "yes"; + TTYVHangup = "yes"; + TTYVTDisallocate = "yes"; + + # Fail to start if not controlling the tty. + StandardInput = "tty-fail"; + StandardOutput = "journal"; + StandardError = "journal"; + + # Log this user with utmp, letting it show up with commands 'w' and 'who'. + UtmpIdentifier = "tty7"; + UtmpMode = "user"; + }; + }; + environment.systemPackages = [ pkgs.phoc - pkgs.phosh + cfg.package pkgs.squeekboard oskItem ]; - systemd.packages = [ pkgs.phosh ]; + systemd.packages = [ cfg.package ]; programs.feedbackd.enable = true; @@ -152,7 +207,7 @@ in { services.gnome.core-shell.enable = true; services.gnome.core-os-services.enable = true; - services.xserver.displayManager.sessionPackages = [ pkgs.phosh ]; + services.xserver.displayManager.sessionPackages = [ cfg.package ]; environment.etc."phosh/phoc.ini".source = if builtins.isPath cfg.phocConfig then cfg.phocConfig diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix index 5bf55060d2e..c2cb92d1130 100644 --- a/nixos/tests/systemd-nspawn.nix +++ b/nixos/tests/systemd-nspawn.nix @@ -25,8 +25,15 @@ let nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } '' mkdir -p $out cd $out + + # produce a testimage.raw dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5 - sha256sum testimage.raw > SHA256SUMS + + # produce a testimage2.tar.xz, containing the hello store path + tar cvJpf testimage2.tar.xz ${pkgs.hello} + + # produce signature(s) + sha256sum testimage* > SHA256SUMS export GNUPGHOME="$(mktemp -d)" cp -R ${gpgKeyring}/* $GNUPGHOME gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS @@ -56,5 +63,9 @@ in { client.succeed( "cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw" ) + client.succeed("machinectl pull-tar --verify=signature http://server/testimage2.tar.xz") + client.succeed( + "cmp /var/lib/machines/testimage2/${pkgs.hello}/bin/hello ${pkgs.hello}/bin/hello" + ) ''; }) diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix index 6e478693d40..fa81414a7e7 100644 --- a/pkgs/applications/editors/standardnotes/default.nix +++ b/pkgs/applications/editors/standardnotes/default.nix @@ -49,6 +49,7 @@ in appimageTools.wrapType2 rec { # fixup and install desktop file ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \ --set-key Exec --set-value ${pname} standard-notes.desktop + mv usr/share/icons share rm usr/lib/* AppRun standard-notes.desktop .so* ''; diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix index ff74d8b098f..e3384ff6dd7 100644 --- a/pkgs/applications/misc/sigi/default.nix +++ b/pkgs/applications/misc/sigi/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "sigi"; - version = "3.2.1"; + version = "3.3.0"; src = fetchCrate { inherit pname version; - sha256 = "sha256-1eZ6i0CvjNyYlWb7c0OPlGtvVSFpi8hiOl/7qeeE9wA="; + sha256 = "sha256-dcfzCac4dT2X1hgTSh30G7h2XtvVj1jMUmrUzqZ11y8="; }; - cargoSha256 = "sha256-Tyrcu/BYt9k4igiEIiZ2I7VIGiBZ3D2i6XfT/XGlU+U="; + cargoSha256 = "sha256-CQofC9Y0y8XASLpjk9B6mMlSQqiXnoGZ8kJh16txiPA="; nativeBuildInputs = [ installShellFiles ]; # In case anything goes wrong. diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix index 47d46dcd128..66acf07f8e4 100644 --- a/pkgs/applications/science/misc/snakemake/default.nix +++ b/pkgs/applications/science/misc/snakemake/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "snakemake"; - version = "7.6.1"; + version = "7.6.2"; format = "setuptools"; src = fetchFromGitHub { owner = "snakemake"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-McknAQDzpTE1WdIBr8HsFpGzXuJT2kDNvLzK2gn75GM="; + hash = "sha256-mIl5c+HR2kqgJzbLVTQjJlf4Ca/+Icqg9G49yIUyipc="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix index 9f4a6dcb45a..c888a99f264 100644 --- a/pkgs/development/python-modules/aws-adfs/default.nix +++ b/pkgs/development/python-modules/aws-adfs/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "aws-adfs"; - version = "2.0.2"; + version = "2.0.3"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -26,8 +26,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "venth"; repo = pname; - rev = version; - hash = "sha256-T3AmPCOSeu7gvl57aHjnviy5iQAKlWy85fUOVecFRFc="; + rev = "refs/tags/${version}"; + hash = "sha256-/cOJ8k8YuwTGEXrNuPFAYvDyDKERMJf3o3nRkDLkrJE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix index 5baf84c1c39..f2426586d6a 100644 --- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix @@ -5,17 +5,20 @@ , msrestazure , azure-common , azure-mgmt-core -, azure-mgmt-nspkg +, pythonOlder }: buildPythonPackage rec { pname = "azure-mgmt-recoveryservicesbackup"; - version = "4.1.1"; + version = "4.2.0"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "sha256-9xF2TIAzydmviOwfveA0ZGP7Qj0HWLL6rXp4V4IDS6A="; + hash = "sha256-At0BP9mWJneG65FDZuQXTnikaNcEWe+GtTr9ZPri89M="; }; propagatedBuildInputs = [ @@ -23,13 +26,14 @@ buildPythonPackage rec { msrestazure azure-common azure-mgmt-core - azure-mgmt-nspkg ]; - # has no tests + # Module has no tests doCheck = false; - pythonImportsCheck = [ "azure.mgmt.recoveryservicesbackup" ]; + pythonImportsCheck = [ + "azure.mgmt.recoveryservicesbackup" + ]; meta = with lib; { description = "This is the Microsoft Azure Recovery Services Backup Management Client Library"; diff --git a/pkgs/development/python-modules/django-tastypie/default.nix b/pkgs/development/python-modules/django-tastypie/default.nix new file mode 100644 index 00000000000..a6c184e2d67 --- /dev/null +++ b/pkgs/development/python-modules/django-tastypie/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, python-dateutil +, python-mimeparse +, pythonOlder +}: + +buildPythonPackage rec { + pname = "django-tastypie"; + version = "0.14.4"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "django-tastypie"; + repo = pname; + rev = "v${version}"; + hash = "sha256-O/aVi8BshOZmg9WQxrFlBEOXfgyqJKVK/QlEFG3Edqs="; + }; + + propagatedBuildInputs = [ + python-dateutil + python-mimeparse + ]; + + # Tests requires a Django instance + doCheck = false; + + pythonImportsCheck = [ + "tastypie" + ]; + + meta = with lib; { + description = "Utilities and helpers for writing Pylint plugins"; + homepage = "https://github.com/django-tastypie/django-tastypie"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/dunamai/default.nix b/pkgs/development/python-modules/dunamai/default.nix index 8b51d829c8d..7627c0505ac 100644 --- a/pkgs/development/python-modules/dunamai/default.nix +++ b/pkgs/development/python-modules/dunamai/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "dunamai"; - version = "1.11.1"; + version = "1.12.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -18,8 +18,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "mtkennerly"; repo = "dunamai"; - rev = "v${version}"; - sha256 = "sha256-nkE9QBziCQA/aN+Z0OuqJlf5FJ4fidE7u5Gt25zjX0c="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-SyHml8TIcqU7KQE4IuTZbp+Jktao7ReJHQyHV8wKeWg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix index aef938e8266..879ffbf7123 100644 --- a/pkgs/development/python-modules/hahomematic/default.nix +++ b/pkgs/development/python-modules/hahomematic/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "hahomematic"; - version = "1.2.2"; + version = "1.3.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "danielperna84"; repo = pname; rev = "refs/tags/${version}"; - sha256 = "sha256-eXJXKWlvNJIqEJY5WE5Wbk9BdGu9N9xhintJbdSkJrQ="; + sha256 = "sha256-033iPQfFF26Ly8OVdjExDZDoQ35DXuVF7dXqokA7k/s="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix index 18a5f0cd82a..57797ff8acd 100644 --- a/pkgs/development/python-modules/holoviews/default.nix +++ b/pkgs/development/python-modules/holoviews/default.nix @@ -1,26 +1,30 @@ -{ buildPythonPackage +{ lib +, bokeh +, buildPythonPackage +, colorcet , fetchPypi -, lib -, param -, numpy -, pyviz-comms , ipython +, matplotlib , notebook +, numpy , pandas -, matplotlib -, bokeh -, scipy , panel -, colorcet +, param +, pythonOlder +, pyviz-comms +, scipy }: buildPythonPackage rec { pname = "holoviews"; - version = "1.14.8"; + version = "1.14.9"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-bDZVmaLLFnk7tifJtcVDCYK7WRyd6IhQAv+RtTm2ETM="; + hash = "sha256-mRI5CqJ58/vb5N81UYsS6Hy+zNeRXnIZEd7lVW22MGo="; }; propagatedBuildInputs = [ @@ -35,12 +39,14 @@ buildPythonPackage rec { # tests not fully included with pypi release doCheck = false; - pythonImportsCheck = [ "holoviews" ]; + pythonImportsCheck = [ + "holoviews" + ]; meta = with lib; { description = "Python data analysis and visualization seamless and simple"; homepage = "http://www.holoviews.org/"; license = licenses.bsd3; - maintainers = [ maintainers.costrouc ]; + maintainers = with maintainers; [ costrouc ]; }; } diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix index 61d49bd3ba0..ca26f11ccb3 100644 --- a/pkgs/development/python-modules/pylint-django/default.nix +++ b/pkgs/development/python-modules/pylint-django/default.nix @@ -1,24 +1,25 @@ { lib , buildPythonPackage -, coverage , django , factory_boy , fetchFromGitHub -, isPy3k , pylint-plugin-utils , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "pylint-django"; - version = "2.5.2"; - disabled = !isPy3k; + version = "2.5.3"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "PyCQA"; repo = pname; rev = "v${version}"; - sha256 = "sha256-VgGdV1T154LauclGo6jpLPUrYn5vTOWwvO4IXQ9se7c="; + hash = "sha256-5xEXjNMkOetRM9NDz0S4DsC6v39YQi34s2s+Fs56hYU="; }; propagatedBuildInputs = [ @@ -27,7 +28,6 @@ buildPythonPackage rec { ]; checkInputs = [ - coverage factory_boy pytestCheckHook ]; @@ -38,6 +38,7 @@ buildPythonPackage rec { "external_factory_boy_noerror" "func_noerror_foreign_key_attributes" "func_noerror_foreign_key_key_cls_unbound" + "test_everything" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/pylint-plugin-utils/default.nix b/pkgs/development/python-modules/pylint-plugin-utils/default.nix index f2bbef2cc8c..46c12f0d0d0 100644 --- a/pkgs/development/python-modules/pylint-plugin-utils/default.nix +++ b/pkgs/development/python-modules/pylint-plugin-utils/default.nix @@ -1,39 +1,46 @@ -{ buildPythonPackage +{ lib +, buildPythonPackage , fetchFromGitHub -, isPy3k -, lib - -# pythonPackages , pylint +, pytestCheckHook +, pythonOlder , toml }: buildPythonPackage rec { pname = "pylint-plugin-utils"; - version = "0.6"; - disabled = !isPy3k; + version = "0.7"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "PyCQA"; repo = pname; rev = version; - sha256 = "1zapmbczxs1phrwbd0yvpfxhljd2pyv4pi9rwggaq38lcnc325s7"; + hash = "sha256-uDsSSUWdlzuQz6umoYLbIotOYNEnLQu041ZZVMRd2ww="; }; propagatedBuildInputs = [ - pylint toml + pylint + toml + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pylint_plugin_utils" ]; - checkPhase = '' - python tests.py - ''; + # https://github.com/PyCQA/pylint-plugin-utils/issues/26 + doCheck = false; meta = with lib; { description = "Utilities and helpers for writing Pylint plugins"; homepage = "https://github.com/PyCQA/pylint-plugin-utils"; - license = licenses.gpl2; - maintainers = with maintainers; [ - kamadorueda - ]; + license = licenses.gpl2Only; + maintainers = with maintainers; [ kamadorueda ]; }; } diff --git a/pkgs/development/python-modules/sdds/default.nix b/pkgs/development/python-modules/sdds/default.nix new file mode 100644 index 00000000000..3003dddce6d --- /dev/null +++ b/pkgs/development/python-modules/sdds/default.nix @@ -0,0 +1,31 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, numpy +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "sdds"; + version = "0.2.1"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "pylhc"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-JcxcF0tDigZz3upzE7rPDynCH45dnLk/zpS0a2dOwRU="; + }; + + propagatedBuildInputs = [ numpy ]; + + pythonImportsCheck = [ "sdds" ]; + checkInputs = [ pytestCheckHook ]; + + meta = with lib; { + description = "Python 3 package to handle SDDS files"; + homepage = "https://pylhc.github.io/sdds/"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ veprbl ]; + }; +} diff --git a/pkgs/development/python-modules/snapcast/default.nix b/pkgs/development/python-modules/snapcast/default.nix index 95d162b7f32..7e7491fe8b6 100644 --- a/pkgs/development/python-modules/snapcast/default.nix +++ b/pkgs/development/python-modules/snapcast/default.nix @@ -2,20 +2,22 @@ , buildPythonPackage , construct , fetchFromGitHub -, isPy3k , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "snapcast"; - version = "2.1.3"; - disabled = !isPy3k; + version = "2.2.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "happyleavesaoc"; repo = "python-snapcast"; - rev = version; - sha256 = "1jigdccdd7bffszim942mxcwxyznfjx7y3r5yklz3psl7zgbzd6c"; + rev = "refs/tags/${version}"; + hash = "sha256-H41X5bfRRu+uE7eUsmUkONm6hugNs43+O7MvVPH0e+8="; }; propagatedBuildInputs = [ @@ -26,7 +28,9 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "snapcast" ]; + pythonImportsCheck = [ + "snapcast" + ]; meta = with lib; { description = "Control Snapcast, a multi-room synchronous audio solution"; diff --git a/pkgs/development/python-modules/xmltodict/default.nix b/pkgs/development/python-modules/xmltodict/default.nix index 5e0733b6256..e0a9f4c5d73 100644 --- a/pkgs/development/python-modules/xmltodict/default.nix +++ b/pkgs/development/python-modules/xmltodict/default.nix @@ -22,6 +22,6 @@ buildPythonPackage rec { description = "Makes working with XML feel like you are working with JSON"; homepage = "https://github.com/martinblech/xmltodict"; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ SuperSandro2000 ]; }; } diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix index 33e5de472c2..9ecc01c0a48 100644 --- a/pkgs/development/tools/analysis/tflint/default.nix +++ b/pkgs/development/tools/analysis/tflint/default.nix @@ -2,21 +2,23 @@ buildGoModule rec { pname = "tflint"; - version = "0.35.0"; + version = "0.36.2"; src = fetchFromGitHub { owner = "terraform-linters"; repo = pname; rev = "v${version}"; - sha256 = "sha256-rLPKc9QeT9r0JUYcTMSHPa/4FxYiMLMdnv2iOMdBAy0="; + sha256 = "sha256-DPgYc0nUrRkidWqhv0X9v+2VSNPy1+0ZQ2gCe7T2gu0="; }; - vendorSha256 = "sha256-J1PgrWFAu1LrAYdoJP3HUunz/MkJ4Co0+hc7e6nFTBo="; + vendorSha256 = "sha256-Is4dpBu/Nm34NZ3NftSGTZnSR8831kM56dvBjtfUTGU="; doCheck = false; subPackages = [ "." ]; + ldflags = [ "-s" "-w" ]; + meta = with lib; { description = "Terraform linter focused on possible errors, best practices, and so on"; homepage = "https://github.com/terraform-linters/tflint"; diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix index a4fdf0085c3..cedf2535df3 100644 --- a/pkgs/development/tools/analysis/tfsec/default.nix +++ b/pkgs/development/tools/analysis/tfsec/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "tfsec"; - version = "1.19.1"; + version = "1.20.0"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "sha256-xeAMwYpi9WvKALzOPLjVItHYzFJW+O++5jgqRSC7awk="; + sha256 = "sha256-ikMmd+avT8Fl+oZti2aegX4knYmPgEE/FOMAMZriV0g="; }; ldflags = [ @@ -21,7 +21,7 @@ buildGoModule rec { # "-extldflags '-fno-PIC -static'" ]; - vendorSha256 = "sha256-xDK40Vc2tHZ7apfKznt7EEz1vR6UhqtXHgYXR2mISiI="; + vendorSha256 = "sha256-LRXnBSG+xpQ3QqF2SiC2s3luTaBxFHOF3XXxhFZV5D0="; subPackages = [ "cmd/tfsec" diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix index 79c31c1937f..fbb435128dd 100644 --- a/pkgs/development/tools/database/sqlfluff/default.nix +++ b/pkgs/development/tools/database/sqlfluff/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "sqlfluff"; - version = "0.13.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-UFvrtLVHGlWUlvA7KLDgaCydE/UoxtYV+8RqLblOdns="; + hash = "sha256-hFpz2p8lJ4HpuSMZ8IDtqp2PIJFqEcelbYVAQpldu4o="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix index 2f58737637f..0d6e5de4cfe 100644 --- a/pkgs/development/tools/prospector/default.nix +++ b/pkgs/development/tools/prospector/default.nix @@ -11,20 +11,22 @@ with python3.pkgs; buildPythonApplication rec { pname = "prospector"; - version = "1.5.1"; + version = "1.7.7"; format = "pyproject"; + disabled = pythonOlder "3.6.1"; src = pkgs.fetchFromGitHub { owner = "PyCQA"; repo = pname; rev = version; - sha256 = "17f822cxrvcvnrzdx1a9fyi9afljq80b6g6z1k2bqa1vs21gwv7l"; + hash = "sha256-sbPZmVeJtNphtjuZEfKcUgty9bJ3E/2Ya9RuX3u/XEs="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace 'pep8-naming = ">=0.3.3,<=0.10.0"' 'pep8-naming = "*"' + --replace 'pep8-naming = ">=0.3.3,<=0.10.0"' 'pep8-naming = "*"' \ + --replace 'mccabe = "^0.6.0"' 'mccabe = "*"' ''; nativeBuildInputs = [ @@ -61,9 +63,7 @@ buildPythonApplication rec { meta = with lib; { description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity"; homepage = "https://github.com/PyCQA/prospector"; - license = licenses.gpl2; - maintainers = with maintainers; [ - kamadorueda - ]; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ kamadorueda ]; }; } diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix index e5e873b9ac5..f5eb62cca56 100644 --- a/pkgs/tools/filesystems/netatalk/default.nix +++ b/pkgs/tools/filesystems/netatalk/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "netatalk"; - version = "3.1.12"; + version = "3.1.13"; src = fetchurl { url = "mirror://sourceforge/netatalk/netatalk/netatalk-${version}.tar.bz2"; - sha256 = "1ld5mnz88ixic21m6f0xcgf8v6qm08j6xabh1dzfj6x47lxghq0m"; + sha256 = "0pg0slvvvq3l6f5yjz9ybijg4i6rs5a6c8wcynaasf8vzsyadbc9"; }; patches = [ diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix index 29775881378..c392dd28027 100644 --- a/pkgs/tools/misc/upterm/default.nix +++ b/pkgs/tools/misc/upterm/default.nix @@ -1,18 +1,18 @@ { lib -, buildGoModule +, buildGo118Module , fetchFromGitHub , installShellFiles }: -buildGoModule rec { +buildGo118Module rec { pname = "upterm"; - version = "0.7.3"; + version = "0.8.2"; src = fetchFromGitHub { owner = "owenthereal"; repo = "upterm"; rev = "v${version}"; - hash = "sha256-eEzFqKYhsG5e1DVLWJq08NM9xyfn1yPNV0NIgOErj4E="; + hash = "sha256-JcUFsj7+Hu++izyxozttyxTGW51vBfgNSvAa/AIrsvs="; }; vendorSha256 = null; diff --git a/pkgs/tools/security/dieharder/default.nix b/pkgs/tools/security/dieharder/default.nix new file mode 100644 index 00000000000..fc78f7c2137 --- /dev/null +++ b/pkgs/tools/security/dieharder/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchurl, gsl +, dieharder, testers }: + +stdenv.mkDerivation rec { + pname = "dieharder"; + version = "3.31.1"; + + src = fetchurl { + url = "http://webhome.phy.duke.edu/~rgb/General/dieharder/dieharder-${version}.tgz"; + hash = "sha256-bP8P+DlMVTVJrHQzNZzPyVX7JnlCYDFGIN+l5M1Lcn8="; + }; + + patches = [ + # Include missing stdint.h header + ./stdint.patch + ]; + + buildInputs = [ gsl ]; + + passthru = { + tests.version = testers.testVersion { package = dieharder; }; + }; + + meta = with lib; { + description = "A Random Number Generator test suite"; + homepage = "https://webhome.phy.duke.edu/~rgb/General/dieharder.php"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ zhaofengli ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/security/dieharder/stdint.patch b/pkgs/tools/security/dieharder/stdint.patch new file mode 100644 index 00000000000..91dccfafd66 --- /dev/null +++ b/pkgs/tools/security/dieharder/stdint.patch @@ -0,0 +1,10 @@ +--- a/include/dieharder/libdieharder.h 2011-10-14 15:41:37.000000000 +0200 ++++ b/include/dieharder/libdieharder.h 2015-03-27 16:34:40.978860858 +0100 +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + #include + + /* This turns on uint macro in c99 */ diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix index b650b93f411..5877910ad2c 100644 --- a/pkgs/tools/security/step-ca/default.nix +++ b/pkgs/tools/security/step-ca/default.nix @@ -12,7 +12,7 @@ buildGoModule rec { pname = "step-ca"; - version = "0.18.2"; + version = "0.19.0"; src = fetchFromGitHub { owner = "smallstep"; @@ -53,7 +53,6 @@ buildGoModule rec { description = "A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH"; homepage = "https://smallstep.com/certificates/"; license = licenses.asl20; - maintainers = with maintainers; [ cmcdragonkai mohe2015 ]; - platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ cmcdragonkai mohe2015 techknowlogick ]; }; } diff --git a/pkgs/tools/security/yersinia/default.nix b/pkgs/tools/security/yersinia/default.nix new file mode 100644 index 00000000000..390ed880ca1 --- /dev/null +++ b/pkgs/tools/security/yersinia/default.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config, fetchpatch +, ncurses, libpcap, libnet +# alpha version of GTK interface +, withGtk ? false, gtk2 +# enable remote admin interface +, enableAdmin ? false +}: + +stdenv.mkDerivation rec { + pname = "yersinia"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "tomac"; + repo = pname; + rev = "v${version}"; + sha256 = "06yfpf9iyi525rly1ychsihzvw3sas8kp0nxxr99xkwiqp5dc78b"; + }; + + patches = [ + # ncurses-6.3 support, included in next release + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/tomac/yersinia/commit/d91bbf6f475e7ea39f131b77ce91b2de9646d5ca.patch"; + sha256 = "fl1pZKWA+nLtBm9+3FBFqaeuVZjszQCNkNl6Cf++BAI="; + }) + ]; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ libpcap libnet ncurses ] + ++ lib.optional withGtk gtk2; + + autoreconfPhase = "./autogen.sh"; + + configureFlags = [ + "--with-pcap-includes=${libpcap}/include" + "--with-libnet-includes=${libnet}/include" + ] + ++ lib.optional (!enableAdmin) "--disable-admin" + ++ lib.optional (!withGtk) "--disable-gtk"; + + makeFlags = [ "LDFLAGS=-lncurses" ]; + + meta = with lib; { + description = "A framework for layer 2 attacks"; + homepage = "https://github.com/tomac/yersinia"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ vdot0x23 ]; + # INSTALL and FAQ in this package seem a little outdated + # so not sure, but it could work on openbsd, illumos, and freebsd + # if you have a machine to test with, feel free to add these + platforms = with platforms; linux; + }; +} diff --git a/pkgs/tools/system/illum/default.nix b/pkgs/tools/system/illum/default.nix index ffa016cabfe..c9e87bef621 100644 --- a/pkgs/tools/system/illum/default.nix +++ b/pkgs/tools/system/illum/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, ninja, libevdev, libev, udev }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, ninja, libevdev, libev, udev }: stdenv.mkDerivation rec { pname = "illum"; @@ -12,6 +12,14 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + patches = [ + (fetchpatch { + name = "prevent-unplug-segfault"; # See https://github.com/jmesmon/illum/issues/19 + url = "https://github.com/jmesmon/illum/commit/47b7cd60ee892379e5d854f79db343a54ae5a3cc.patch"; + sha256 = "sha256-hIBBCIJXAt8wnZuyKye1RiEfOCelP3+4kcGrM43vFOE="; + }) + ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ ninja libevdev libev udev ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 379464dce14..0b05708fd2b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3254,6 +3254,8 @@ with pkgs; dibbler = callPackage ../tools/networking/dibbler { }; + dieharder = callPackage ../tools/security/dieharder { }; + diesel-cli = callPackage ../development/tools/diesel-cli { inherit (darwin.apple_sdk.frameworks) Security; }; @@ -34977,6 +34979,8 @@ with pkgs; yarGen = callPackage ../tools/security/yarGen { }; + yersinia = callPackage ../tools/security/yersinia { }; + yaxg = callPackage ../tools/graphics/yaxg {}; zap = callPackage ../tools/networking/zap { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index acfe5eca863..8a6a42510f8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2400,6 +2400,8 @@ in { django-taggit = callPackage ../development/python-modules/django-taggit { }; + django-tastypie = callPackage ../development/python-modules/django-tastypie { }; + django-timezone-field = callPackage ../development/python-modules/django-timezone-field { }; django_treebeard = callPackage ../development/python-modules/django_treebeard { }; @@ -9296,6 +9298,8 @@ in { scs = callPackage ../development/python-modules/scs { }; + sdds = callPackage ../development/python-modules/sdds { }; + sdnotify = callPackage ../development/python-modules/sdnotify { }; seaborn = callPackage ../development/python-modules/seaborn { };