diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ee27343f4fb3..ddd4fd41604f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -21463,6 +21463,12 @@ githubId = 4033651; name = "Keagan McClelland"; }; + prophetofxenu = { + email = "xenu@prophetofxenu.net"; + github = "prophetofxenu"; + githubId = 20529712; + name = "William Harrell"; + }; protoben = { email = "protob3n@gmail.com"; github = "protoben"; diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index f4e496f0de55..fe4a2d3fd0f4 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -163,6 +163,8 @@ See . +- [hardware.xpadneo](#opt-hardware.xpadneo.enable) now supports configuring kernel module parameters via a freeform [settings](#opt-hardware.xpadneo.settings) option, with convenience options for [rumble attenuation](#opt-hardware.xpadneo.rumbleAttenuation) and [controller quirks](#opt-hardware.xpadneo.quirks). + - Wine has been updated to the 11.0 branch. Please check the [upstream announcement](https://gitlab.winehq.org/wine/wine/-/releases/wine-11.0) for more details. - Cinnamon has been updated to 6.6, please check the [upstream announcement](https://www.linuxmint.com/rel_zena_whatsnew.php) for more details. diff --git a/nixos/modules/hardware/xpadneo.nix b/nixos/modules/hardware/xpadneo.nix index f1ac6fd13919..f2cddd360c77 100644 --- a/nixos/modules/hardware/xpadneo.nix +++ b/nixos/modules/hardware/xpadneo.nix @@ -1,17 +1,126 @@ { config, lib, ... }: let cfg = config.hardware.xpadneo; + + modprobeConfig = + let + params = lib.mapAttrsToList (name: value: "${name}=${toString value}") cfg.settings; + in + lib.optionalString (params != [ ]) "options hid_xpadneo ${lib.concatStringsSep " " params}"; in { options.hardware.xpadneo = { enable = lib.mkEnableOption "the xpadneo driver for Xbox One wireless controllers"; + + rumbleAttenuation = lib.mkOption { + type = lib.types.submodule { + options = { + overall = lib.mkOption { + type = lib.types.ints.between 0 100; + default = 0; + description = '' + Overall force feedback attenuation as a percentage. + `0` means full rumble, `100` means no rumble. + Applies to both main and trigger rumble. + ''; + }; + triggers = lib.mkOption { + type = lib.types.nullOr (lib.types.ints.between 0 100); + default = null; + description = '' + Extra attenuation for trigger rumble as a percentage, applied + on top of {option}`overall`. For example, `overall = 50` and + `triggers = 50` results in 50% main rumble and 25% trigger rumble. + Set to `100` to disable trigger rumble while keeping main rumble. + `null` means no extra trigger attenuation. + ''; + }; + }; + }; + default = { }; + example = lib.literalExpression '' + { + overall = 50; # 50% overall rumble + triggers = 50; # 25% trigger rumble (50% of 50%) + } + ''; + description = '' + Force feedback attenuation settings. Higher values reduce rumble strength. + + See + for more information. + ''; + }; + + quirks = lib.mkOption { + type = lib.types.attrsOf (lib.types.ints.u16); + default = { }; + example = lib.literalExpression '' + { + "11:22:33:44:55:66" = 7; # Applies flags 1 + 2 + 4 + } + ''; + description = '' + Controller-specific quirk flags, keyed by MAC address. + Flags are combined as a bitmask to address compatibility issues + with specific controllers. + + The value is a sum of individual flag values. For example, to apply + flags 1, 2, and 4, use `7` (1 + 2 + 4). To apply flags 2, 4, and 32, + use `38` (2 + 4 + 32). + + See + for available quirk flags and their values. + ''; + }; + + settings = lib.mkOption { + type = lib.types.attrsOf ( + lib.types.oneOf [ + lib.types.int + lib.types.str + ] + ); + default = { }; + example = lib.literalExpression '' + { + disable_deadzones = 1; + trigger_rumble_mode = 2; + disable_shift_mode = 1; + } + ''; + description = '' + Kernel module parameters for hid_xpadneo. These are passed directly + to the module via modprobe. + + See + for available parameters and their values. + ''; + }; }; config = lib.mkIf cfg.enable { + hardware.xpadneo.settings = + lib.optionalAttrs (cfg.rumbleAttenuation.overall != 0 || cfg.rumbleAttenuation.triggers != null) { + rumble_attenuation = + toString cfg.rumbleAttenuation.overall + + lib.optionalString (cfg.rumbleAttenuation.triggers != null) ( + "," + toString cfg.rumbleAttenuation.triggers + ); + } + // lib.optionalAttrs (cfg.quirks != { }) { + quirks = lib.concatStringsSep "," ( + lib.mapAttrsToList (mac: flags: "${mac}:${toString flags}") cfg.quirks + ); + }; + boot = { - # Must disable Enhanced Retransmission Mode to support bluetooth pairing - # https://wiki.archlinux.org/index.php/Gamepad#Connect_Xbox_Wireless_Controller_with_Bluetooth - extraModprobeConfig = lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "5.12") "options bluetooth disable_ertm=1"; + extraModprobeConfig = lib.mkMerge [ + # Must disable Enhanced Retransmission Mode to support bluetooth pairing + # https://wiki.archlinux.org/index.php/Gamepad#Connect_Xbox_Wireless_Controller_with_Bluetooth + (lib.mkIf (lib.versionOlder config.boot.kernelPackages.kernel.version "5.12") "options bluetooth disable_ertm=1") + modprobeConfig + ]; extraModulePackages = with config.boot.kernelPackages; [ xpadneo ]; kernelModules = [ "hid_xpadneo" ]; }; diff --git a/nixos/modules/services/torrent/cross-seed.nix b/nixos/modules/services/torrent/cross-seed.nix index ed25edbb2f8c..2bf7da623370 100644 --- a/nixos/modules/services/torrent/cross-seed.nix +++ b/nixos/modules/services/torrent/cross-seed.nix @@ -105,7 +105,7 @@ in }; outputDir = mkOption { - type = types.path; + type = types.nullOr types.path; default = "${cfg.configDir}/output"; defaultText = "\${cfg.configDir}/output"; description = "Directory where cross-seed will place torrent files it finds."; @@ -193,7 +193,8 @@ in inherit (cfg) group user; mode = "700"; }; - + } + // lib.optionalAttrs (cfg.settings.outputDir != null) { ${cfg.settings.outputDir}.d = { inherit (cfg) group user; mode = "750"; @@ -222,7 +223,7 @@ in LoadCredential = lib.mkIf (cfg.settingsFile != null) "secretSettingsFile:${cfg.settingsFile}"; StateDirectory = "cross-seed"; - ReadWritePaths = [ cfg.settings.outputDir ]; + ReadWritePaths = lib.optional (cfg.settings.outputDir != null) cfg.settings.outputDir; ReadOnlyPaths = lib.optional (cfg.settings.torrentDir != null) cfg.settings.torrentDir; }; @@ -231,7 +232,7 @@ in RequiresMountsFor = lib.flatten [ cfg.settings.dataDirs cfg.settings.linkDirs - cfg.settings.outputDir + (lib.optional (cfg.settings.outputDir != null) cfg.settings.outputDir) ]; }; }; diff --git a/nixos/tests/xpadneo.nix b/nixos/tests/xpadneo.nix index 4c639a986128..a8d77bdf6f22 100644 --- a/nixos/tests/xpadneo.nix +++ b/nixos/tests/xpadneo.nix @@ -5,7 +5,17 @@ nodes = { machine = { - config.hardware.xpadneo.enable = true; + config.hardware.xpadneo = { + enable = true; + rumbleAttenuation = { + overall = 50; + triggers = 25; + }; + settings = { + disable_deadzones = 1; + trigger_rumble_mode = 2; + }; + }; }; }; @@ -15,5 +25,10 @@ testScript = '' machine.start(); machine.succeed("modinfo hid_xpadneo | grep 'version:\s\+${pkgs.linuxPackages.xpadneo.version}'") + + machine.succeed("grep 'options hid_xpadneo' /etc/modprobe.d/nixos.conf") + machine.succeed("grep 'disable_deadzones=1' /etc/modprobe.d/nixos.conf") + machine.succeed("grep 'trigger_rumble_mode=2' /etc/modprobe.d/nixos.conf") + machine.succeed("grep 'rumble_attenuation=50,25' /etc/modprobe.d/nixos.conf") ''; } diff --git a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix index 1adde34218d8..c722d1e59229 100644 --- a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix +++ b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-dev"; publisher = "saoudrizwan"; - version = "3.57.1"; - hash = "sha256-EBRuYqZ6UTuu2FRjxdDCRqRm4DKzH/3yWyOypoIxJRU="; + version = "3.62.0"; + hash = "sha256-CIeLmwNlOFdFq6VTKv5YYTEN1YofdwROKFzTfvg/Gls="; }; meta = { diff --git a/pkgs/by-name/ca/cargo-tauri/package.nix b/pkgs/by-name/ca/cargo-tauri/package.nix index 8fb169acf817..6f07914f90f0 100644 --- a/pkgs/by-name/ca/cargo-tauri/package.nix +++ b/pkgs/by-name/ca/cargo-tauri/package.nix @@ -39,6 +39,10 @@ rustPlatform.buildRustPackage (finalAttrs: { zstd ]; + patches = [ + ./skip-icon-macos.patch + ]; + cargoBuildFlags = [ "--package" "tauri-cli" diff --git a/pkgs/by-name/ca/cargo-tauri/skip-icon-macos.patch b/pkgs/by-name/ca/cargo-tauri/skip-icon-macos.patch new file mode 100644 index 000000000000..091c4daa2952 --- /dev/null +++ b/pkgs/by-name/ca/cargo-tauri/skip-icon-macos.patch @@ -0,0 +1,29 @@ +diff --git a/crates/tauri-bundler/src/bundle/macos/dmg/bundle_dmg b/crates/tauri-bundler/src/bundle/macos/dmg/bundle_dmg +index fee840034..cfa584d52 100644 +--- a/crates/tauri-bundler/src/bundle/macos/dmg/bundle_dmg ++++ b/crates/tauri-bundler/src/bundle/macos/dmg/bundle_dmg +@@ -461,12 +461,6 @@ if [[ -n "$QL_LINK" ]]; then + ln -s "/Library/QuickLook" "$MOUNT_DIR/QuickLook" + fi + +-if [[ -n "$VOLUME_ICON_FILE" ]]; then +- echo "Copying volume icon file '$VOLUME_ICON_FILE'..." +- cp "$VOLUME_ICON_FILE" "$MOUNT_DIR/.VolumeIcon.icns" +- SetFile -c icnC "$MOUNT_DIR/.VolumeIcon.icns" +-fi +- + if [[ -n "$ADD_FILE_SOURCES" ]]; then + echo "Copying custom files..." + for i in "${!ADD_FILE_SOURCES[@]}"; do +@@ -538,11 +532,6 @@ else + echo "Skipping blessing on sandbox" + fi + +-if [[ -n "$VOLUME_ICON_FILE" ]]; then +- # Tell the volume that it has a special file attribute +- SetFile -a C "$MOUNT_DIR" +-fi +- + # Delete unnecessary file system events log if possible + echo "Deleting .fseventsd" + rm -rf "${MOUNT_DIR}/.fseventsd" || true diff --git a/pkgs/by-name/cr/cross-seed/package.nix b/pkgs/by-name/cr/cross-seed/package.nix index c698d542ad1c..3e1f471e5198 100644 --- a/pkgs/by-name/cr/cross-seed/package.nix +++ b/pkgs/by-name/cr/cross-seed/package.nix @@ -8,16 +8,16 @@ buildNpmPackage rec { pname = "cross-seed"; - version = "6.13.5"; + version = "6.13.6"; src = fetchFromGitHub { owner = "cross-seed"; repo = "cross-seed"; tag = "v${version}"; - hash = "sha256-WdKd20vzJfWvnZKBID6IzXOScrZgPKDDafzT2PY9N9k="; + hash = "sha256-E2tnlDU2/msNcSsoDXvwGWFhWpXEByloUmlVp2tckwo="; }; - npmDepsHash = "sha256-iTho+dbJAt7B2R+dN2xo6jnRo/psjQE76GHYksoojdA="; + npmDepsHash = "sha256-tR7zPoIX6yjlRx8QbRSxskvueQ1BsP3gGAlonKHH0RY="; passthru = { updateScript = nix-update-script; diff --git a/pkgs/by-name/ff/fflogs/package.nix b/pkgs/by-name/ff/fflogs/package.nix index 94e5200ae738..d81b6ea6fa31 100644 --- a/pkgs/by-name/ff/fflogs/package.nix +++ b/pkgs/by-name/ff/fflogs/package.nix @@ -6,10 +6,10 @@ let pname = "fflogs"; - version = "8.19.70"; + version = "8.20.17"; src = fetchurl { url = "https://github.com/RPGLogs/Uploaders-fflogs/releases/download/v${version}/fflogs-v${version}.AppImage"; - hash = "sha256-uDcQUAXDytrO3XFArJkuI0oV5/Z2dUJyY8OLx1WtraU="; + hash = "sha256-2gul6DwuhB9iy3BR8u+rIIWz2G+nX1IA7c6cqq1QYlg="; }; extracted = appimageTools.extractType2 { inherit pname version src; }; in diff --git a/pkgs/by-name/la/lasuite-meet-frontend/package.nix b/pkgs/by-name/la/lasuite-meet-frontend/package.nix index 9d428d9cfd99..a3afaa3a1120 100644 --- a/pkgs/by-name/la/lasuite-meet-frontend/package.nix +++ b/pkgs/by-name/la/lasuite-meet-frontend/package.nix @@ -7,13 +7,13 @@ buildNpmPackage rec { pname = "lasuite-meet-frontend"; - version = "1.5.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "meet"; tag = "v${version}"; - hash = "sha256-VUOTGRI3U9G4BfZMBk81MifcpALGA6OY3g++rCFZC5U="; + hash = "sha256-j5kkmaB91y6KDROZjkUbosdmSG+udo6D/gcyfsU4Bbs="; }; sourceRoot = "source/src/frontend"; @@ -21,7 +21,7 @@ buildNpmPackage rec { npmDeps = fetchNpmDeps { inherit version src; sourceRoot = "source/src/frontend"; - hash = "sha256-7dSXPkSXiOL43AUtkrYztkH8n8ZzS75LTkQWJIsY/OE="; + hash = "sha256-IIwTRAdEJX4Uk+//5aGQsLMNtQDbaw6w8c91M9p4fQc="; }; buildPhase = '' diff --git a/pkgs/by-name/la/lasuite-meet/package.nix b/pkgs/by-name/la/lasuite-meet/package.nix index 134fc09cbdc9..bba045a4d194 100644 --- a/pkgs/by-name/la/lasuite-meet/package.nix +++ b/pkgs/by-name/la/lasuite-meet/package.nix @@ -13,14 +13,14 @@ in python.pkgs.buildPythonApplication rec { pname = "lasuite-meet"; - version = "1.5.0"; + version = "1.6.0"; pyproject = true; src = fetchFromGitHub { owner = "suitenumerique"; repo = "meet"; tag = "v${version}"; - hash = "sha256-VUOTGRI3U9G4BfZMBk81MifcpALGA6OY3g++rCFZC5U="; + hash = "sha256-j5kkmaB91y6KDROZjkUbosdmSG+udo6D/gcyfsU4Bbs="; }; sourceRoot = "source/src/backend"; @@ -40,6 +40,7 @@ python.pkgs.buildPythonApplication rec { brevo-python brotli celery + dj-database-url django django-configurations django-cors-headers diff --git a/pkgs/by-name/op/openimageio/package.nix b/pkgs/by-name/op/openimageio/package.nix index 96eae1217788..daa9079fb044 100644 --- a/pkgs/by-name/op/openimageio/package.nix +++ b/pkgs/by-name/op/openimageio/package.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "openimageio"; - version = "3.1.9.0"; + version = "3.1.10.0"; src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; repo = "OpenImageIO"; tag = "v${finalAttrs.version}"; - hash = "sha256-0XN/Bcmpi3jUBtgvTlcqXLFuMS51UrzbpZ+eAb7QPRI="; + hash = "sha256-xErP9zBKIBwCrw698oAaCxXCO9rqBDuz+6R+uU+9n3E="; }; outputs = [ diff --git a/pkgs/by-name/ox/oxlint/package.nix b/pkgs/by-name/ox/oxlint/package.nix index ef5503d188b1..1bb10aef2fca 100644 --- a/pkgs/by-name/ox/oxlint/package.nix +++ b/pkgs/by-name/ox/oxlint/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "oxlint"; - version = "1.43.0"; + version = "1.47.0"; src = fetchFromGitHub { owner = "oxc-project"; repo = "oxc"; tag = "oxlint_v${finalAttrs.version}"; - hash = "sha256-J32iHYWfUSPgs0TbB9kHxwgdPB7/cPvKTI28K5nUlVU="; + hash = "sha256-fzM+sVCQmZkBfMbD/Ko6R2zwosgOe0xJWBgOKbJ26uY="; }; - cargoHash = "sha256-2W0X9uy1V6cKJTjIIWNfd5vhptITrmh6uJYeCleXG8E="; + cargoHash = "sha256-e5DqyFqK/imxEkRchycpDZp+7B1lXdsYJLzVNzzQ7Kw="; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/py/pymcuprog/package.nix b/pkgs/by-name/py/pymcuprog/package.nix new file mode 100644 index 000000000000..4b03cc365872 --- /dev/null +++ b/pkgs/by-name/py/pymcuprog/package.nix @@ -0,0 +1 @@ +{ python3Packages }: with python3Packages; toPythonApplication pymcuprog diff --git a/pkgs/development/python-modules/django-axes/default.nix b/pkgs/development/python-modules/django-axes/default.nix index c3684c35b08b..909cb5ac014c 100644 --- a/pkgs/development/python-modules/django-axes/default.nix +++ b/pkgs/development/python-modules/django-axes/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "django-axes"; - version = "8.2.0"; + version = "8.3.1"; pyproject = true; src = fetchFromGitHub { owner = "jazzband"; repo = "django-axes"; tag = version; - hash = "sha256-obh137DbFkkSodR67hWRzQg8wHXsFdT3NDnxDg/jmR0="; + hash = "sha256-DcoKXNldTXNcJTauI1torupjnKNvqmTo4/BbFXBZyFA="; }; build-system = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix index b4e0f5e341d2..f5309900eb5c 100644 --- a/pkgs/development/python-modules/papis/default.nix +++ b/pkgs/development/python-modules/papis/default.nix @@ -2,8 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch2, - pythonAtLeast, # build-system hatchling, @@ -51,22 +49,14 @@ buildPythonPackage (finalAttrs: { pname = "papis"; - version = "0.14.1"; + version = "0.15.0"; pyproject = true; - patches = [ - (fetchpatch2 { - name = "fix-support-new-click-in-papisrunner.patch"; - url = "https://github.com/papis/papis/commit/0e3ffff4bd1b62cdf0a9fdc7f54d6a2e2ab90082.patch?full_index=1"; - hash = "sha256-KUw5U5izTTWqXHzGWLibtqHWAsVxla6SA8x6SJ07/zU="; - }) - ]; - src = fetchFromGitHub { owner = "papis"; repo = "papis"; tag = "v${finalAttrs.version}"; - hash = "sha256-V4YswLNYwfBYe/Td0PEeDG++ClZoF08yxXjUXuyppPI="; + hash = "sha256-G+ryUMBUEbGxUG+u2YwZbT04IAzOmajtIPXP12MaXsY="; }; build-system = [ hatchling ]; @@ -129,6 +119,10 @@ buildPythonPackage (finalAttrs: { disabledTests = [ # Require network access + "test_add_folder_name_cli" + "test_add_link_cli" + "test_get_matching_importers_by_name" + "test_matching_importers_by_uri" "test_yaml_unicode_dump" # FileNotFoundError: Command not found: 'init' "test_git_cli" diff --git a/pkgs/development/python-modules/pyedbglib/default.nix b/pkgs/development/python-modules/pyedbglib/default.nix new file mode 100644 index 000000000000..e07f2e825b4c --- /dev/null +++ b/pkgs/development/python-modules/pyedbglib/default.nix @@ -0,0 +1,57 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + + # build-system + setuptools, + + # dependencies + cython, + hidapi, + pyserial, + + # tests + pytestCheckHook, + mock, +}: + +buildPythonPackage { + pname = "pyedbglib"; + version = "2.24.2.18"; + pyproject = true; + + src = fetchFromGitHub { + owner = "microchip-pic-avr-tools"; + repo = "pyedbglib"; + # the repo currently does not tag releases, so using the + # commit ID for now + rev = "9bbeceba942772ef31b9c059b761460a782313e"; + hash = "sha256-iZB/+JEBy5n1zfajmJmEqRVQ2hPzJD/U85SvmyFiGhc="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + cython + hidapi + pyserial + ]; + + pythonImportsCheck = [ "pyedbglib" ]; + + nativeCheckInputs = [ + mock + pytestCheckHook + ]; + + meta = { + description = "Low-level protocol library for communicating with Microchip CMSIS-DAP based debuggers"; + homepage = "https://github.com/microchip-pic-avr-tools/pyedbglib"; + changelog = "https://github.com/microchip-pic-avr-tools/pyedbglib/blob/main/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ prophetofxenu ]; + }; +} diff --git a/pkgs/development/python-modules/pymcuprog/default.nix b/pkgs/development/python-modules/pymcuprog/default.nix new file mode 100644 index 000000000000..b80af5b4a8b0 --- /dev/null +++ b/pkgs/development/python-modules/pymcuprog/default.nix @@ -0,0 +1,69 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + + # build-system + setuptools, + + # dependencies + appdirs, + intelhex, + pyedbglib, + pyserial, + pyyaml, + + # tests + mock, + parameterized, + pytestCheckHook, + versionCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage { + pname = "pymcuprog"; + version = "3.19.4.61"; + pyproject = true; + + src = fetchFromGitHub { + owner = "microchip-pic-avr-tools"; + repo = "pymcuprog"; + # the repo currently does not tag releases, so using the + # commit ID for now + rev = "e2fa9a7f0b9cc413367c51b9ccf19d93cdca6c8"; + hash = "sha256-RmFGQ6LbuwwM/WHr01nYGZYoWG7Qbasz/TL4r8l1NUk"; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + appdirs + intelhex + pyedbglib + pyserial + pyyaml + ]; + + pythonImportsCheck = [ "pymcuprog" ]; + + nativeCheckInputs = [ + mock + parameterized + pytestCheckHook + versionCheckHook + writableTmpDirAsHomeHook + ]; + versionCheckKeepEnvironment = "HOME"; + + meta = { + description = "Python utility for programming various Microchip MCU devices using Microchip CMSIS-DAP based debuggers"; + mainProgram = "pymcuprog"; + homepage = "https://github.com/microchip-pic-avr-tools/pymcuprog"; + changelog = "https://github.com/microchip-pic-avr-tools/pymcuprog/blob/main/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ prophetofxenu ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 44abc7a74e10..934b1459f567 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13461,6 +13461,8 @@ self: super: with self; { pyecowitt = callPackage ../development/python-modules/pyecowitt { }; + pyedbglib = callPackage ../development/python-modules/pyedbglib { }; + pyedflib = callPackage ../development/python-modules/pyedflib { }; pyedimax = callPackage ../development/python-modules/pyedimax { }; @@ -14007,6 +14009,8 @@ self: super: with self; { pymc = callPackage ../development/python-modules/pymc { }; + pymcuprog = callPackage ../development/python-modules/pymcuprog { }; + pymdown-extensions = callPackage ../development/python-modules/pymdown-extensions { }; pymdstat = callPackage ../development/python-modules/pymdstat { };