diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5376d51a617..d68adc192e1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -193,3 +193,6 @@ /nixos/modules/virtualisation/cri-o.nix @NixOS/podman /nixos/modules/virtualisation/podman.nix @NixOS/podman /nixos/tests/podman.nix @NixOS/podman + +# Blockchains +/pkgs/applications/blockchains @mmahut diff --git a/README.md b/README.md index da38b227b56..d1187b37280 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ the main ones: * [Nix](https://github.com/NixOS/nix) - the purely functional package manager * [NixOps](https://github.com/NixOS/nixops) - the tool to remotely deploy NixOS machines +* [nixos-hardware](https://github.com/NixOS/nixos-hardware) - NixOS profiles to optimize settings for different hardware * [Nix RFCs](https://github.com/NixOS/rfcs) - the formal process for making substantial changes to the community * [NixOS homepage](https://github.com/NixOS/nixos-homepage) - the [NixOS.org](https://nixos.org) website * [hydra](https://github.com/NixOS/hydra) - our continuous integration system diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4d895d05792..46ed766e0cf 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3536,6 +3536,12 @@ githubId = 117874; name = "Jeroen de Haas"; }; + jduan = { + name = "Jingjing Duan"; + email = "duanjingjing@gmail.com"; + github = "jduan"; + githubId = 452450; + }; jefdaj = { email = "jefdaj@gmail.com"; github = "jefdaj"; @@ -3698,6 +3704,12 @@ githubId = 1102396; name = "Jussi Maki"; }; + jobojeha = { + email = "jobojeha@jeppener.de"; + github = "jobojeha"; + githubId = 60272884; + name = "Jonathan Jeppener-Haltenhoff"; + }; joelburget = { email = "joelburget@gmail.com"; github = "joelburget"; diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index ec7013ca70a..12363e99921 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -499,6 +499,11 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ]; #89205. + + + In the resilio module, has been changed to listen to [::1] instead of 0.0.0.0. + + diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix index 627ac324cf5..516fe3fc673 100644 --- a/nixos/lib/make-ext4-fs.nix +++ b/nixos/lib/make-ext4-fs.nix @@ -43,7 +43,7 @@ pkgs.stdenv.mkDerivation { # Make a crude approximation of the size of the target image. # If the script starts failing, increase the fudge factors here. numInodes=$(find $storePaths ./files | wc -l) - numDataBlocks=$(du -s -c -B 4096 --apparent-size $storePaths ./files | tail -1 | awk '{ print int($1 * 1.03) }') + numDataBlocks=$(du -s -c -B 4096 --apparent-size $storePaths ./files | tail -1 | awk '{ print int($1 * 1.10) }') bytes=$((2 * 4096 * $numInodes + 4096 * $numDataBlocks)) echo "Creating an EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks)" diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix index c545a1e7e24..79c835dc390 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix @@ -18,6 +18,7 @@ sdImage = { firmwareSize = 128; + firmwarePartitionName = "NIXOS_BOOT"; # This is a hack to avoid replicating config.txt from boot.loader.raspberryPi populateFirmwareCommands = "${config.system.build.installBootLoader} ${config.system.build.toplevel} -d ./firmware"; @@ -25,6 +26,12 @@ populateRootCommands = ""; }; + fileSystems."/boot/firmware" = { + # This effectively "renames" the loaOf entry set in sd-image.nix + mountPoint = "/boot"; + neededForBoot = true; + }; + # the installation media is also the installation target, # so we don't want to provide the installation configuration.nix. installer.cloneConfig = false; diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index 98c12e30633..c15befa59e2 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -63,6 +63,14 @@ in ''; }; + firmwarePartitionName = mkOption { + type = types.str; + default = "FIRMWARE"; + description = '' + Name of the filesystem which holds the boot firmware. + ''; + }; + rootPartitionUUID = mkOption { type = types.nullOr types.str; default = null; @@ -114,7 +122,7 @@ in config = { fileSystems = { "/boot/firmware" = { - device = "/dev/disk/by-label/FIRMWARE"; + device = "/dev/disk/by-label/${config.sdImage.firmwarePartitionName}"; fsType = "vfat"; # Alternatively, this could be removed from the configuration. # The filesystem is not needed at runtime, it could be treated @@ -178,7 +186,7 @@ in # Create a FAT32 /boot/firmware partition of suitable size into firmware_part.img eval $(partx $img -o START,SECTORS --nr 1 --pairs) truncate -s $((SECTORS * 512)) firmware_part.img - faketime "1970-01-01 00:00:00" mkfs.vfat -i ${config.sdImage.firmwarePartitionID} -n FIRMWARE firmware_part.img + faketime "1970-01-01 00:00:00" mkfs.vfat -i ${config.sdImage.firmwarePartitionID} -n ${config.sdImage.firmwarePartitionName} firmware_part.img # Populate the files intended for /boot/firmware mkdir firmware diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 8ce2437841b..0477254e7c1 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -240,6 +240,7 @@ in { ''); serviceConfig = { ExecStart = "${package}/bin/hass --config '${cfg.configDir}'"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; User = "hass"; Group = "hass"; Restart = "on-failure"; diff --git a/nixos/modules/services/networking/resilio.nix b/nixos/modules/services/networking/resilio.nix index 004abc48219..266318296d7 100644 --- a/nixos/modules/services/networking/resilio.nix +++ b/nixos/modules/services/networking/resilio.nix @@ -109,8 +109,8 @@ in httpListenAddr = mkOption { type = types.str; - default = "0.0.0.0"; - example = "1.2.3.4"; + default = "[::1]"; + example = "0.0.0.0"; description = '' HTTP address to bind to. ''; diff --git a/nixos/modules/services/web-apps/gerrit.nix b/nixos/modules/services/web-apps/gerrit.nix index b184c0754d4..657b1a4fc5b 100644 --- a/nixos/modules/services/web-apps/gerrit.nix +++ b/nixos/modules/services/web-apps/gerrit.nix @@ -17,6 +17,10 @@ let lib.generators.toGitINI cfg.settings ); + replicationConfig = pkgs.writeText "replication.conf" ( + lib.generators.toGitINI cfg.replicationSettings + ); + # Wrap the gerrit java with all the java options so it can be called # like a normal CLI app gerrit-cli = pkgs.writeShellScriptBin "gerrit" '' @@ -106,6 +110,15 @@ in ''; }; + replicationSettings = mkOption { + type = gitIniType; + default = {}; + description = '' + Replication configuration. This will be generated to the + etc/replication.config file. + ''; + }; + plugins = mkOption { type = types.listOf types.package; default = []; @@ -138,6 +151,13 @@ in config = mkIf cfg.enable { + assertions = [ + { + assertion = cfg.replicationSettings != {} -> elem "replication" cfg.builtinPlugins; + message = "Gerrit replicationSettings require enabling the replication plugin"; + } + ]; + services.gerrit.settings = { cache.directory = "/var/cache/gerrit"; container.heapLimit = cfg.jvmHeapLimit; @@ -194,6 +214,7 @@ in # copy the config, keep it mutable because Gerrit ln -sfv ${gerritConfig} etc/gerrit.config + ln -sfv ${replicationConfig} etc/replication.config # install the plugins rm -rf plugins diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 41269426e9e..328561dc800 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -303,6 +303,14 @@ in { ''; }; }; + occ = mkOption { + type = types.package; + default = occ; + internal = true; + description = '' + The nextcloud-occ program preconfigured to target this Nextcloud instance. + ''; + }; }; config = mkIf cfg.enable (mkMerge [ diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix index 48543d15499..9548ecb8ef6 100644 --- a/nixos/modules/services/x11/hardware/libinput.nix +++ b/nixos/modules/services/x11/hardware/libinput.nix @@ -219,7 +219,6 @@ in { Section "InputClass" Identifier "libinputConfiguration" MatchDriver "libinput" - MatchTag "Touchpad" ${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''} Option "AccelProfile" "${cfg.accelProfile}" ${optionalString (cfg.accelSpeed != null) ''Option "AccelSpeed" "${cfg.accelSpeed}"''} diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh index c8b5bf2e61a..0541ca1ba62 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh @@ -1,4 +1,7 @@ -#! @bash@/bin/sh -e +#! @bash@/bin/sh + +# This can end up being called disregarding the shebang. +set -e shopt -s nullglob diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 98947d70eaa..7056d414e9e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -236,6 +236,7 @@ in nginx-pubhtml = handleTest ./nginx-pubhtml.nix {}; nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {}; nginx-sso = handleTest ./nginx-sso.nix {}; + nginx-variants = handleTest ./nginx-variants.nix {}; nix-ssh-serve = handleTest ./nix-ssh-serve.nix {}; nixos-generate-config = handleTest ./nixos-generate-config.nix {}; novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {}; diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index 3365e74ba83..0d1fcedcd85 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -2,69 +2,53 @@ import ./make-test-python.nix ({ pkgs, ... }: let configDir = "/var/lib/foobar"; - apiPassword = "some_secret"; - mqttPassword = "another_secret"; - hassCli = "hass-cli --server http://hass:8123 --password '${apiPassword}'"; + mqttPassword = "secret"; in { name = "home-assistant"; meta = with pkgs.stdenv.lib; { maintainers = with maintainers; [ dotlambda ]; }; - nodes = { - hass = - { pkgs, ... }: - { - environment.systemPackages = with pkgs; [ - mosquitto home-assistant-cli - ]; - services.home-assistant = { - inherit configDir; - enable = true; - package = pkgs.home-assistant.override { - extraPackages = ps: with ps; [ hbmqtt ]; - }; - config = { - homeassistant = { - name = "Home"; - time_zone = "UTC"; - latitude = "0.0"; - longitude = "0.0"; - elevation = 0; - auth_providers = [ - { - type = "legacy_api_password"; - api_password = apiPassword; - } - ]; - }; - frontend = { }; - mqtt = { # Use hbmqtt as broker - password = mqttPassword; - }; - binary_sensor = [ - { - platform = "mqtt"; - state_topic = "home-assistant/test"; - payload_on = "let_there_be_light"; - payload_off = "off"; - } - ]; - }; - lovelaceConfig = { - title = "My Awesome Home"; - views = [ { - title = "Example"; - cards = [ { - type = "markdown"; - title = "Lovelace"; - content = "Welcome to your **Lovelace UI**."; - } ]; - } ]; - }; - lovelaceConfigWritable = true; + nodes.hass = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ mosquitto ]; + services.home-assistant = { + inherit configDir; + enable = true; + config = { + homeassistant = { + name = "Home"; + time_zone = "UTC"; + latitude = "0.0"; + longitude = "0.0"; + elevation = 0; + }; + frontend = {}; + # uses embedded mqtt broker + mqtt.password = mqttPassword; + binary_sensor = [{ + platform = "mqtt"; + state_topic = "home-assistant/test"; + payload_on = "let_there_be_light"; + payload_off = "off"; + }]; + logger = { + default = "info"; + logs."homeassistant.components.mqtt" = "debug"; }; }; + lovelaceConfig = { + title = "My Awesome Home"; + views = [{ + title = "Example"; + cards = [{ + type = "markdown"; + title = "Lovelace"; + content = "Welcome to your **Lovelace UI**."; + }]; + }]; + }; + lovelaceConfigWritable = true; + }; }; testScript = '' @@ -77,28 +61,13 @@ in { with subtest("Check that Home Assistant's web interface and API can be reached"): hass.wait_for_open_port(8123) hass.succeed("curl --fail http://localhost:8123/lovelace") - assert "API running" in hass.succeed( - "curl --fail -H 'x-ha-access: ${apiPassword}' http://localhost:8123/api/" - ) with subtest("Toggle a binary sensor using MQTT"): - assert '"state": "off"' in hass.succeed( - "curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}'" - ) + # wait for broker to become available hass.wait_until_succeeds( - "mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -m let_there_be_light" - ) - assert '"state": "on"' in hass.succeed( - "curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}'" - ) - with subtest("Toggle a binary sensor using hass-cli"): - assert '"state": "on"' in hass.succeed( - "${hassCli} --output json state get binary_sensor.mqtt_binary_sensor" + "mosquitto_sub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -W 1 -t '*'" ) hass.succeed( - "${hassCli} state edit binary_sensor.mqtt_binary_sensor --json='{\"state\": \"off\"}'" - ) - assert '"state": "off"' in hass.succeed( - "curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}'" + "mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -m let_there_be_light" ) with subtest("Print log to ease debugging"): output_log = hass.succeed("cat ${configDir}/home-assistant.log") @@ -107,5 +76,9 @@ in { with subtest("Check that no errors were logged"): assert "ERROR" not in output_log + + # example line: 2020-06-20 10:01:32 DEBUG (MainThread) [homeassistant.components.mqtt] Received message on home-assistant/test: b'let_there_be_light' + with subtest("Check we received the mosquitto message"): + assert "let_there_be_light" in output_log ''; }) diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index 9cbecf01f57..a8fa0cae6f0 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -26,7 +26,9 @@ in { }; }; - nextcloud = { config, pkgs, ... }: { + nextcloud = { config, pkgs, ... }: let + cfg = config; + in { networking.firewall.allowedTCPPorts = [ 80 ]; services.nextcloud = { @@ -42,6 +44,8 @@ in { startAt = "20:00"; }; }; + + environment.systemPackages = [ cfg.services.nextcloud.occ ]; }; }; @@ -67,6 +71,8 @@ in { in '' start_all() nextcloud.wait_for_unit("multi-user.target") + # This is just to ensure the nextcloud-occ program is working + nextcloud.succeed("nextcloud-occ status") nextcloud.succeed("curl -sSf http://nextcloud/login") nextcloud.succeed( "${withRcloneEnv} ${copySharedFile}" diff --git a/nixos/tests/nginx-variants.nix b/nixos/tests/nginx-variants.nix new file mode 100644 index 00000000000..ca4655391bc --- /dev/null +++ b/nixos/tests/nginx-variants.nix @@ -0,0 +1,33 @@ +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing-python.nix { inherit system pkgs; }; + +builtins.listToAttrs ( + builtins.map + (nginxName: + { + name = nginxName; + value = makeTest { + name = "nginx-variant-${nginxName}"; + + machine = { pkgs, ... }: { + services.nginx = { + enable = true; + virtualHosts.localhost.locations."/".return = "200 'foo'"; + package = pkgs."${nginxName}"; + }; + }; + + testScript = '' + machine.wait_for_unit("nginx") + machine.wait_for_open_port(80) + machine.succeed('test "$(curl -fvvv http://localhost/)" = foo') + ''; + }; + } + ) + [ "nginxStable" "nginxUnstable" "nginxShibboleth" "openresty" "tengine" ] +) diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index 3b37c805cdd..83c8533f5cd 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -104,6 +104,8 @@ in stdenv.mkDerivation rec { ++ stdenv.lib.optionals luaSupport [ "--with-lua-prefix=${lua}" "--enable-luainterp" + ] ++ stdenv.lib.optional lua.pkgs.isLuaJIT [ + "--with-luajit" ] ++ stdenv.lib.optionals pythonSupport [ "--enable-python${if isPython3 then "3" else ""}interp=yes" diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 6bd35bd51eb..a1f45fc7ed1 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -90,8 +90,6 @@ rustPlatform.buildRustPackage rec { --replace xdg-open ${xdg_utils}/bin/xdg-open ''; - postBuild = lib.optionalString stdenv.isDarwin "make app"; - installPhase = '' runHook preInstall @@ -100,7 +98,8 @@ rustPlatform.buildRustPackage rec { '' + ( if stdenv.isDarwin then '' mkdir $out/Applications - cp -r $releaseDir/osx/Alacritty.app $out/Applications/Alacritty.app + cp -r extra/osx/Alacritty.app $out/Applications + ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS '' else '' install -D extra/linux/Alacritty.desktop -t $out/share/applications/ install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix index 8646b9864d9..98cd8a5a4fb 100644 --- a/pkgs/applications/misc/khard/default.nix +++ b/pkgs/applications/misc/khard/default.nix @@ -22,6 +22,11 @@ python3.pkgs.buildPythonApplication rec { install -D misc/zsh/_khard $out/share/zsh/site-functions/_khard ''; + preCheck = '' + # see https://github.com/scheibler/khard/issues/263 + export COLUMNS=80 + ''; + meta = { homepage = "https://github.com/scheibler/khard"; description = "Console carddav client"; diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix index 80cf90ced16..12db0cd87e9 100644 --- a/pkgs/applications/misc/kitty/default.nix +++ b/pkgs/applications/misc/kitty/default.nix @@ -3,7 +3,7 @@ libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor, libxkbcommon, libXi, libXext, wayland-protocols, wayland, installShellFiles, - which, dbus, + dbus, Cocoa, CoreGraphics, Foundation, @@ -20,14 +20,14 @@ with python3Packages; buildPythonApplication rec { pname = "kitty"; - version = "0.17.4"; + version = "0.18.0"; format = "other"; src = fetchFromGitHub { owner = "kovidgoyal"; repo = "kitty"; rev = "v${version}"; - sha256 = "1rbyj84y8r6h7qd6w7cw58v2abspippignj458ihv2m26i4als2x"; + sha256 = "15i4ld65a5rfbaxxdh6kgg9h0ih73iqjskk82h8j72qgzkc6g3hf"; }; buildInputs = [ @@ -50,7 +50,7 @@ buildPythonApplication rec { ]; nativeBuildInputs = [ - pkgconfig which sphinx ncurses + pkgconfig sphinx ncurses ] ++ stdenv.lib.optionals stdenv.isDarwin [ imagemagick libicns # For the png2icns tool. @@ -63,13 +63,6 @@ buildPythonApplication rec { patches = [ ./fix-paths.patch - ] ++ stdenv.lib.optionals stdenv.isLinux [ - (substituteAll { - src = ./library-paths.patch; - libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so"; - libcanberra = "${libcanberra}/lib/libcanberra.so"; - libEGL = "${stdenv.lib.getLib libGL}/lib/libEGL.so.1"; - }) ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./no-lto.patch ]; @@ -77,11 +70,23 @@ buildPythonApplication rec { # Causes build failure due to warning hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow"; + dontConfigure = true; + buildPhase = if stdenv.isDarwin then '' ${python.interpreter} setup.py kitty.app --update-check-interval=0 make man '' else '' - ${python.interpreter} setup.py linux-package --update-check-interval=0 + ${python.interpreter} setup.py linux-package \ + --update-check-interval=0 \ + --egl-library='${stdenv.lib.getLib libGL}/lib/libEGL.so.1' \ + --startup-notification-library='${libstartup_notification}/lib/libstartup-notification-1.so' \ + --canberra-library='${libcanberra}/lib/libcanberra.so' + ''; + + checkInputs = [ pillow ]; + + checkPhase = '' + ${python.interpreter} test.py ''; installPhase = '' @@ -100,8 +105,6 @@ buildPythonApplication rec { wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${stdenv.lib.makeBinPath [ imagemagick xsel ncurses.dev ]}" runHook postInstall - # ZSH completions need to be invoked with `source`: - # https://github.com/kovidgoyal/kitty/blob/8ceb941051b89b7c50850778634f0b6137aa5e6e/docs/index.rst#zsh mkdir -p "$out/share/"{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions} "$out/bin/kitty" + complete setup fish > "$out/share/fish/vendor_completions.d/kitty.fish" "$out/bin/kitty" + complete setup bash > "$out/share/bash-completion/completions/kitty.bash" @@ -125,6 +128,7 @@ buildPythonApplication rec { homepage = "https://github.com/kovidgoyal/kitty"; description = "A modern, hackable, featureful, OpenGL based terminal emulator"; license = licenses.gpl3; + changelog = "https://sw.kovidgoyal.net/kitty/changelog.html"; platforms = platforms.darwin ++ platforms.linux; maintainers = with maintainers; [ tex rvolosatovs ma27 Luflosi ]; }; diff --git a/pkgs/applications/misc/kitty/library-paths.patch b/pkgs/applications/misc/kitty/library-paths.patch deleted file mode 100644 index 608dfb80d61..00000000000 --- a/pkgs/applications/misc/kitty/library-paths.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/glfw/egl_context.c -+++ b/glfw/egl_context.c -@@ -314,7 +314,7 @@ bool _glfwInitEGL(void) - #elif defined(__CYGWIN__) - "libEGL-1.so", - #else -- "libEGL.so.1", -+ "@libEGL@", - #endif - NULL - }; - ---- a/kitty/desktop.c -+++ b/kitty/desktop.c -@@ -34,10 +34,7 @@ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) { - done = true; - - const char* libnames[] = { -- "libstartup-notification-1.so", -- // some installs are missing the .so symlink, so try the full name -- "libstartup-notification-1.so.0", -- "libstartup-notification-1.so.0.0.0", -+ "@libstartup_notification@", - NULL - }; - for (int i = 0; libnames[i]; i++) { -@@ -113,10 +110,7 @@ load_libcanberra(void) { - if (done) return; - done = true; - const char* libnames[] = { -- "libcanberra.so", -- // some installs are missing the .so symlink, so try the full name -- "libcanberra.so.0", -- "libcanberra.so.0.2.5", -+ "@libcanberra@", - NULL - }; - for (int i = 0; libnames[i]; i++) { diff --git a/pkgs/applications/misc/kitty/no-lto.patch b/pkgs/applications/misc/kitty/no-lto.patch index 8073c11fbd2..b1f38f9fd49 100644 --- a/pkgs/applications/misc/kitty/no-lto.patch +++ b/pkgs/applications/misc/kitty/no-lto.patch @@ -1,6 +1,6 @@ --- a/setup.py +++ b/setup.py -@@ -277,10 +277,6 @@ def init_env( +@@ -287,10 +287,6 @@ def init_env( cppflags += shlex.split(os.environ.get('CPPFLAGS', '')) cflags += shlex.split(os.environ.get('CFLAGS', '')) ldflags += shlex.split(os.environ.get('LDFLAGS', '')) diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 27eba126de9..cb442f67359 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -8,7 +8,6 @@ , dbus , fontconfig , freetype -, gconf , gdk-pixbuf , glib , glibc @@ -27,9 +26,7 @@ , libXinerama , libXrender , libXt -, libcanberra-gtk2 -, libgnome -, libgnomeui +, libcanberra , libnotify , gnome3 , libGLU, libGL @@ -103,7 +100,6 @@ stdenv.mkDerivation { dbus fontconfig freetype - gconf gdk-pixbuf glib glibc @@ -122,9 +118,7 @@ stdenv.mkDerivation { libXinerama libXrender libXt - libcanberra-gtk2 - libgnome - libgnomeui + libcanberra libnotify libGLU libGL nspr diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 8060895a2e0..0eda0739eab 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -2,7 +2,7 @@ , src, unpackPhase ? null, patches ? [] , extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [] }: -{ lib, stdenv, pkgconfig, pango, perl, python2, python3, zip, libIDL +{ lib, stdenv, pkgconfig, pango, perl, python2, python3, zip , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg , freetype, fontconfig, file, nspr, nss, libnotify , yasm, libGLU, libGL, sqlite, unzip, makeWrapper @@ -104,7 +104,7 @@ stdenv.mkDerivation ({ patchFlags = [ "-p1" "-l" ]; buildInputs = [ - gtk2 perl zip libIDL libjpeg zlib bzip2 + gtk2 perl zip libjpeg zlib bzip2 dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file libnotify xorg.pixman yasm libGLU libGL diff --git a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix index faf4e406935..be7a8725df1 100644 --- a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix +++ b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, buildPythonApplication, fetchFromGitHub, pythonOlder, attrs, aiohttp, appdirs, click, keyring, Logbook, peewee, janus, prompt_toolkit, matrix-nio, dbus-python, pydbus, notify2, pygobject3, + setuptools, pytest, faker, pytest-aiohttp, aioresponses, @@ -9,7 +10,7 @@ buildPythonApplication rec { pname = "pantalaimon"; - version = "0.6.1"; + version = "0.6.3"; disabled = pythonOlder "3.6"; @@ -18,7 +19,7 @@ buildPythonApplication rec { owner = "matrix-org"; repo = pname; rev = version; - sha256 = "0hn3731jh6xwyjayzdf41skhpdx002qs7n5l7ffh4dplhnv9vbxx"; + sha256 = "1h1z701sj1qgcqlsk3pnzifnbcg9fshl7v6271h9x54hm3d6hg8a"; }; propagatedBuildInputs = [ @@ -32,6 +33,7 @@ buildPythonApplication rec { matrix-nio peewee prompt_toolkit + setuptools ] ++ lib.optional enableDbusUi [ dbus-python notify2 diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index e9217c84fc6..ba13d666ad9 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -1,5 +1,4 @@ { stdenv, fetchurl, config, makeWrapper -, gconf , alsaLib , at-spi2-atk , atk @@ -13,8 +12,6 @@ , gdk-pixbuf , glib , glibc -, gst-plugins-base -, gstreamer , gtk2 , gtk3 , kerberos @@ -30,9 +27,7 @@ , libXrender , libXt , libxcb -, libcanberra-gtk2 -, libgnome -, libgnomeui +, libcanberra , gnome3 , libGLU, libGL , nspr @@ -82,7 +77,6 @@ stdenv.mkDerivation { libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc - gconf alsaLib at-spi2-atk atk @@ -96,8 +90,6 @@ stdenv.mkDerivation { gdk-pixbuf glib glibc - gst-plugins-base - gstreamer gtk2 gtk3 kerberos @@ -113,9 +105,7 @@ stdenv.mkDerivation { libXrender libXt libxcb - libcanberra-gtk2 - libgnome - libgnomeui + libcanberra libGLU libGL nspr nss diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index 73536ae5fc1..e9ae6696def 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -18,7 +18,6 @@ , lib , libGL , libGLU -, libIDL , libevent , libjpeg , libnotify @@ -113,7 +112,6 @@ stdenv.mkDerivation rec { jemalloc libGL libGLU - libIDL libevent libjpeg libnotify diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix index 21ff7c5f8f9..9ca29096882 100644 --- a/pkgs/applications/version-management/gitea/default.nix +++ b/pkgs/applications/version-management/gitea/default.nix @@ -1,6 +1,5 @@ { stdenv, buildGoPackage, fetchurl, makeWrapper , git, bash, gzip, openssh, pam -, fetchpatch , sqliteSupport ? true , pamSupport ? true }: @@ -9,11 +8,11 @@ with stdenv.lib; buildGoPackage rec { pname = "gitea"; - version = "1.11.6"; + version = "1.12.0"; src = fetchurl { url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; - sha256 = "11nyq5faq0hy1pi3yhmc6y8is7jyiyfrb162fq9l33pkyw6qihqs"; + sha256 = "1nsi7d2jackkjvinp5wglrzb61f2hihrn6qgwlp1zb185k2qpd23"; }; unpackPhase = '' @@ -25,10 +24,6 @@ buildGoPackage rec { patches = [ ./static-root-path.patch - (fetchpatch { - url = "https://github.com/go-gitea/gitea/commit/1830d0ed5f4a67e3360ecbb55933b5540b6affce.patch"; - sha256 = "163531pcki28qfs56l64vv4xxaavxgksf038da1sn21j5l2jm81i"; - }) ]; postPatch = '' diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix index 7465eefc3c3..599dd67828c 100644 --- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix +++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix @@ -42,6 +42,10 @@ mkDerivation rec { passthru.updateScript = lxqtUpdateScript { inherit pname version src; }; + postPatch = '' + substituteInPlace config/pcmanfm-qt/lxqt/settings.conf.in --replace @LXQT_SHARE_DIR@ /run/current-system/sw/share/lxqt + ''; + meta = with lib; { description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)"; homepage = "https://github.com/lxqt/pcmanfm-qt"; diff --git a/pkgs/development/coq-modules/coquelicot/default.nix b/pkgs/development/coq-modules/coquelicot/default.nix index 2eb3021ada7..e45077f89fd 100644 --- a/pkgs/development/coq-modules/coquelicot/default.nix +++ b/pkgs/development/coq-modules/coquelicot/default.nix @@ -3,9 +3,9 @@ let param = if stdenv.lib.versionAtLeast coq.coq-version "8.8" then { - version = "3.0.3"; - uid = "38105"; - sha256 = "0y52lqx1jphv6fwf0d702vzprxmfmxggnh1hy3fznxyl4isfpg4j"; + version = "3.1.0"; + uid = "38287"; + sha256 = "07436wkvnq9jyf7wyhp77bpl157s3qhba1ay5xrkxdi26qdf3h14"; } else { version = "3.0.2"; uid = "37523"; @@ -37,7 +37,7 @@ stdenv.mkDerivation { }; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" ]; + compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ]; }; } diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index 35ee3037d07..9557d25e272 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -2659,6 +2659,9 @@ package-maintainers: - Agda roberth: - arion-compose + - hercules-ci-agent + - hercules-ci-api-core + - hercules-ci-api-agent cdepillabout: - pretty-simple - spago diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 9f1bdb14793..342ae157d30 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -96,6 +96,7 @@ self: super: builtins.intersectAttrs super { # profiling is disabled to allow C++/C mess to work, which is fixed in GHC 8.8 cachix = disableLibraryProfiling super.cachix; + hercules-ci-agent = disableLibraryProfiling super.hercules-ci-agent; # avoid compiling twice by providing executable as a separate output (with small closure size) niv = enableSeparateBinOutput super.niv; diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 91166d9bfd4..814af36811c 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, jdk11, rlwrap, makeWrapper }: +{ stdenv, fetchurl, installShellFiles, jdk11, rlwrap, makeWrapper }: stdenv.mkDerivation rec { pname = "clojure"; @@ -9,7 +9,10 @@ stdenv.mkDerivation rec { sha256 = "06lg4z3q0fzxlbmx92g5qb0w3nw83dbwkzh3zjdy9ixrpm7b84i0"; }; - buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ + installShellFiles + makeWrapper + ]; installPhase = let @@ -26,6 +29,8 @@ stdenv.mkDerivation rec { install -Dt $out/bin clj clojure wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath} wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath} + + installManPage clj.1 clojure.1 ''; doInstallCheck = true; diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix index 799375ba44d..0889fdd0d8f 100644 --- a/pkgs/development/libraries/dav1d/default.nix +++ b/pkgs/development/libraries/dav1d/default.nix @@ -9,14 +9,14 @@ assert useVulkan -> withExamples; stdenv.mkDerivation rec { pname = "dav1d"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitLab { domain = "code.videolan.org"; owner = "videolan"; repo = pname; rev = version; - sha256 = "0zmn4ald518vgs3cc0ga227aimr38h16mkliq5j8mg6p9dn7nx1w"; + sha256 = "1yawrbaazj6a2rvvb58k6kh492fjxdwlm94bl6ipry0fqmz0rlnl"; }; nativeBuildInputs = [ meson ninja nasm pkgconfig ]; diff --git a/pkgs/development/libraries/utf8cpp/default.nix b/pkgs/development/libraries/utf8cpp/default.nix new file mode 100644 index 00000000000..a2aac1241cd --- /dev/null +++ b/pkgs/development/libraries/utf8cpp/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "utf8cpp"; + version = "3.1.1"; + + src = fetchFromGitHub { + owner = "nemtrif"; + repo = "utfcpp"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "1s2pda75488z7c3w3a6qv31bj239248696yk5j2a1drbg2x1dpfh"; + }; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=None" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DINSTALL_GTEST=OFF" + ]; + + nativeBuildInputs = [ cmake ]; + + doCheck = true; + + meta = with stdenv.lib; { + homepage = "https://github.com/nemtrif/utfcpp"; + description = "UTF-8 with C++ in a Portable Way"; + license = licenses.free; + maintainers = with maintainers; [ jobojeha ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/aioftp/default.nix b/pkgs/development/python-modules/aioftp/default.nix index 0ae39db36a5..c8b0e8c1147 100644 --- a/pkgs/development/python-modules/aioftp/default.nix +++ b/pkgs/development/python-modules/aioftp/default.nix @@ -27,10 +27,13 @@ buildPythonPackage rec { async-timeout ]; + doCheck = false; # requires siosocks, not packaged yet checkPhase = '' pytest ''; + pythonImportsCheck = [ "aioftp" ]; + meta = with lib; { description = "Ftp client/server for asyncio"; homepage = "https://github.com/aio-libs/aioftp"; diff --git a/pkgs/development/python-modules/aioresponses/default.nix b/pkgs/development/python-modules/aioresponses/default.nix index 9034e6a6731..7b12cefc8c7 100644 --- a/pkgs/development/python-modules/aioresponses/default.nix +++ b/pkgs/development/python-modules/aioresponses/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { # Skip a test which makes requests to httpbin.org checkPhase = '' - pytest -k "not test_address_as_instance_of_url_combined_with_pass_through" + pytest -k "not (test_address_as_instance_of_url_combined_with_pass_through or test_pass_through_with_origin_params)" ''; meta = { diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix index 07ae08ada78..03bb1fcc389 100644 --- a/pkgs/development/python-modules/ansible/default.nix +++ b/pkgs/development/python-modules/ansible/default.nix @@ -18,13 +18,13 @@ buildPythonPackage rec { pname = "ansible"; - version = "2.9.9"; + version = "2.9.10"; src = fetchFromGitHub { owner = "ansible"; repo = "ansible"; rev = "v${version}"; - sha256 = "06a9iq7w2cm0hsxaw5irsja8w44gffiw09ly27jxklpa8gv57rml"; + sha256 = "1979522k57gafvq9vx3lbc3zah7jq3kiy98ji9x5bmxyddmgr9ch"; }; prePatch = '' diff --git a/pkgs/development/python-modules/catalogue/1.nix b/pkgs/development/python-modules/catalogue/1.nix deleted file mode 100644 index 9376377e9c7..00000000000 --- a/pkgs/development/python-modules/catalogue/1.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv -, buildPythonPackage -, fetchPypi -, importlib-metadata -}: - -buildPythonPackage rec { - pname = "catalogue"; - version = "1.0.0"; - - src = fetchPypi { - inherit pname version; - sha256 = "d74d1d856c6b36a37bf14aa6dbbc27d0582667b7ab979a6108e61a575e8723f5"; - }; - - propagatedBuildInputs = [ importlib-metadata ]; - - meta = with stdenv.lib; { - description = "Tiny library for adding function or object registries"; - homepage = "https://github.com/explosion/catalogue"; - license = licenses.mit; - maintainers = with maintainers; [ danieldk ]; - }; -} \ No newline at end of file diff --git a/pkgs/development/python-modules/catalogue/default.nix b/pkgs/development/python-modules/catalogue/default.nix index 0697a4e6117..eb1aec37c63 100644 --- a/pkgs/development/python-modules/catalogue/default.nix +++ b/pkgs/development/python-modules/catalogue/default.nix @@ -1,6 +1,7 @@ { stdenv , buildPythonPackage , fetchPypi +, pythonOlder , importlib-metadata }: @@ -8,6 +9,8 @@ buildPythonPackage rec { pname = "catalogue"; version = "2.0.0"; + disabled = pythonOlder "3.6"; + src = fetchPypi { inherit pname version; sha256 = "34f8416ec5e7ed08e55c10414416e67c3f4d66edf83bc67320c3290775293816"; diff --git a/pkgs/development/python-modules/clikit/default.nix b/pkgs/development/python-modules/clikit/default.nix index 7bab3a93e55..da295806723 100644 --- a/pkgs/development/python-modules/clikit/default.nix +++ b/pkgs/development/python-modules/clikit/default.nix @@ -1,18 +1,18 @@ { lib, buildPythonPackage, fetchPypi , isPy27 -, pylev, pastel, typing, enum34 }: +, pylev, pastel, typing, enum34, crashtest }: buildPythonPackage rec { pname = "clikit"; - version = "0.6.1"; + version = "0.6.2"; src = fetchPypi { inherit pname version; - sha256 = "0603e3c19fa106f5df5f224826c92e57221f48ec969e42744173e0458d359354"; + sha256 = "0ngdkmb73gkp5y00q7r9k1cdlfn0wyzws2wrqlshc4hlkbdyabj4"; }; propagatedBuildInputs = [ - pylev pastel + crashtest pylev pastel ] ++ lib.optionals isPy27 [ typing enum34 ]; # The Pypi tarball doesn't include tests, and the GitHub source isn't diff --git a/pkgs/development/python-modules/crashtest/default.nix b/pkgs/development/python-modules/crashtest/default.nix new file mode 100644 index 00000000000..e4c7fb839f9 --- /dev/null +++ b/pkgs/development/python-modules/crashtest/default.nix @@ -0,0 +1,25 @@ +{ lib, buildPythonPackage, fetchFromGitHub, fetchPypi, isPy27, pytest }: + +buildPythonPackage rec { + pname = "crashtest"; + version = "0.3.0"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "056zzbznl3xfnbblfci8lvcam3h7k7va68vi6asrm4q0ck4nrh79"; + }; + + # has tests, but only on GitHub, however the pyproject build fails for me + pythonImportsCheck = [ + "crashtest.frame" + "crashtest.inspector" + ]; + + meta = with lib; { + homepage = "https://github.com/sdispater/crashtest"; + description = "Manage Python errors with ease"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/python-modules/extension-helpers/default.nix b/pkgs/development/python-modules/extension-helpers/default.nix new file mode 100644 index 00000000000..0c23a69a89c --- /dev/null +++ b/pkgs/development/python-modules/extension-helpers/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isPy27 +, pytestCheckHook +, setuptools_scm +}: + +buildPythonPackage rec { + pname = "extension-helpers"; + version = "0.1"; + disabled = isPy27; + + src = fetchPypi { + inherit pname version; + sha256 = "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc"; + }; + + nativeBuildInputs = [ + setuptools_scm + ]; + + propagatedBuildInputs = [ + pytestCheckHook + ]; + + # avoid importing local module + preCheck = '' + cd extension_helpers + ''; + + # assumes setup.py is in pwd + disabledTests = [ "compiler_module" ]; + + meta = with lib; { + description = "Helpers to assist with building packages with compiled C/Cython extensions"; + homepage = "https://github.com/astropy/extension-helpers"; + license = licenses.bsd3; + maintainers = [ ]; + }; +} diff --git a/pkgs/development/python-modules/flask-caching/default.nix b/pkgs/development/python-modules/flask-caching/default.nix index 9cb4bad7a71..57c95cf8800 100644 --- a/pkgs/development/python-modules/flask-caching/default.nix +++ b/pkgs/development/python-modules/flask-caching/default.nix @@ -1,8 +1,9 @@ -{ lib, buildPythonPackage, fetchPypi, flask, pytest, pytestcov, pytest-xprocess, pytestcache }: +{ lib, buildPythonPackage, fetchPypi, isPy27, flask, pytest, pytestcov, pytest-xprocess, pytestcache }: buildPythonPackage rec { pname = "Flask-Caching"; version = "1.9.0"; + disabled = isPy27; # invalid python2 syntax src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/influxdb/default.nix b/pkgs/development/python-modules/influxdb/default.nix index 0cc32dbc874..650235b2940 100644 --- a/pkgs/development/python-modules/influxdb/default.nix +++ b/pkgs/development/python-modules/influxdb/default.nix @@ -5,6 +5,8 @@ , dateutil , pytz , six +, msgpack +, fetchpatch }: buildPythonPackage rec { @@ -16,9 +18,16 @@ buildPythonPackage rec { sha256 = "9bcaafd57ac152b9824ab12ed19f204206ef5df8af68404770554c5b55b475f6"; }; + patches = [ + (fetchpatch { + url = "https://github.com/influxdata/influxdb-python/commit/cc41e290f690c4eb67f75c98fa9f027bdb6eb16b.patch"; + sha256 = "1fb9qrq1kp24pixjwvzhdy67z3h0wnj92aj0jw0a25fd0rdxdvg4"; + }) + ]; + # ImportError: No module named tests doCheck = false; - propagatedBuildInputs = [ requests dateutil pytz six ]; + propagatedBuildInputs = [ requests dateutil pytz six msgpack ]; meta = with stdenv.lib; { description = "Python client for InfluxDB"; diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix index fbfb72bb8a0..a97c075d30f 100644 --- a/pkgs/development/python-modules/papis/default.nix +++ b/pkgs/development/python-modules/papis/default.nix @@ -1,9 +1,9 @@ { lib, buildPythonPackage, fetchFromGitHub, xdg_utils , requests, filetype, pyparsing, configparser, arxiv2bib , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser -, pylibgen, click, python-slugify, habanero, isbnlib +, click, python-slugify, habanero, isbnlib, typing-extensions , prompt_toolkit, pygments, stevedore, tqdm, lxml -, python-doi, isPy3k, pythonOlder +, python-doi, isPy3k, pythonOlder, pytestcov #, optional, dependencies , whoosh, pytest , stdenv @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "papis"; - version = "0.9"; + version = "0.10"; disabled = !isPy3k; # Missing tests on Pypi @@ -19,14 +19,14 @@ buildPythonPackage rec { owner = "papis"; repo = pname; rev = "v${version}"; - sha256 = "15i79q6nr7gcpcafdz5797axmp6r3081sys07k1k2vi5b2g3qc4k"; + sha256 = "0fmrvxs6ixfwjlp96b69db7fpvyqfy2n3c23kdz8yr0vhnp82l93"; }; propagatedBuildInputs = [ requests filetype pyparsing configparser arxiv2bib pyyaml chardet beautifulsoup4 colorama bibtexparser - pylibgen click python-slugify habanero isbnlib - prompt_toolkit pygments + click python-slugify habanero isbnlib + prompt_toolkit pygments typing-extensions stevedore tqdm lxml python-doi # optional dependencies @@ -36,6 +36,7 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ --replace "lxml<=4.3.5" "lxml~=4.3" \ + --replace "isbnlib>=3.9.1,<3.10" "isbnlib~=3.9" \ --replace "python-slugify>=1.2.6,<4" "python-slugify" ''; @@ -43,7 +44,7 @@ buildPythonPackage rec { doCheck = !stdenv.isDarwin && pythonOlder "3.8"; checkInputs = ([ - pytest + pytest pytestcov ]) ++ [ xdg_utils ]; @@ -54,7 +55,7 @@ buildPythonPackage rec { checkPhase = '' HOME=$(mktemp -d) pytest papis tests --ignore tests/downloaders \ -k "not test_get_data and not test_doi_to_data and not test_general and not get_document_url \ - and not test_validate_arxivid and not test_downloader_getter" + and not test_validate_arxivid and not test_downloader_getter and not match" ''; meta = { diff --git a/pkgs/development/python-modules/peewee/default.nix b/pkgs/development/python-modules/peewee/default.nix index 3cc5c3eec49..ee3d08a173c 100644 --- a/pkgs/development/python-modules/peewee/default.nix +++ b/pkgs/development/python-modules/peewee/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "peewee"; - version = "3.11.2"; + version = "3.13.3"; # pypi release does not provide tests src = fetchFromGitHub { owner = "coleifer"; repo = pname; rev = version; - sha256 = "097cafqgk46bf0innwm7xnmsfs6z37hv3alyvrfz6d0iy4scshm5"; + sha256 = "1r67hxb9m6v0xbnbqfnsw6dahmdr94pf81b4x51jfw6x9sa4izi4"; }; @@ -38,6 +38,8 @@ buildPythonPackage rec { ] ++ (lib.optional withPostgres psycopg2) ++ (lib.optional withMysql mysql-connector); + doCheck = withPostgres; + meta = with stdenv.lib;{ description = "a small, expressive orm"; homepage = "http://peewee-orm.com"; diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix index 46be9bc92a2..e0be5f5ed0a 100644 --- a/pkgs/development/python-modules/poetry/default.nix +++ b/pkgs/development/python-modules/poetry/default.nix @@ -1,74 +1,74 @@ -{ lib, buildPythonPackage, fetchPypi, callPackage -, isPy27 -, pythonOlder -, cleo -, requests -, cachy -, requests-toolbelt -, pyrsistent -, pyparsing +{ lib, buildPythonPackage, fetchFromGitHub, isPy27, pythonOlder , cachecontrol -, pkginfo -, html5lib -, shellingham -, subprocess32 -, tomlkit -, typing -, pathlib2 -, virtualenv -, functools32 +, cachy +, cleo , clikit -, keyring -, pexpect +, html5lib +, httpretty , importlib-metadata -, pytest -, jsonschema , intreehooks +, jsonschema +, keyring , lockfile +, pexpect +, pkginfo +, pygments +, pyparsing +, pyrsistent +, pytestCheckHook +, pytestcov +, pytest-mock +, requests +, requests-toolbelt +, shellingham +, tomlkit }: -let - glob2 = callPackage ./glob2.nix { }; - -in buildPythonPackage rec { +buildPythonPackage rec { pname = "poetry"; - version = "1.0.5"; + version = "1.0.9"; format = "pyproject"; + disabled = isPy27; - src = fetchPypi { - inherit pname version; - sha256 = "02h387k0xssvv78yy82pcpknpq4w5ym2in1zl8cg9r5wljl5w6cf"; + src = fetchFromGitHub { + owner = "python-poetry"; + repo = pname; + rev = version; + sha256 = "0gi1li55rim60hf1gdpgpx84zlkaj0wv12wbv7dib9malhfj3pnz"; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace "pyrsistent = \"^0.14.2\"" "pyrsistent = \"^0.15.0\"" \ - --replace "requests-toolbelt = \"^0.8.0\"" "requests-toolbelt = \"^0.9.0\"" \ + --replace "pyrsistent = \"^0.14.2\"" "pyrsistent = \"^0.16.0\"" \ + --replace "requests-toolbelt = \"^0.8.0\"" "requests-toolbelt = \"^0.9.1\"" \ --replace 'importlib-metadata = {version = "~1.1.3", python = "<3.8"}' \ - 'importlib-metadata = {version = ">=1.3,<2", python = "<3.8"}' + 'importlib-metadata = {version = ">=1.3,<2", python = "<3.8"}' \ + --replace "tomlkit = \"^0.5.11\"" "tomlkit = \"^0.6.0\"" \ + --replace "cleo = \"^0.7.6\"" "cleo = \"^0.8.0\"" \ + --replace "version = \"^20.0.1\", python = \"^3.5\"" "version = \"^21.0.0\", python = \"^3.5\"" \ + --replace "clikit = \"^0.4.2\"" "clikit = \"^0.6.2\"" ''; nativeBuildInputs = [ intreehooks ]; propagatedBuildInputs = [ + cachecontrol + cachy cleo clikit - requests - cachy - requests-toolbelt - jsonschema - pyrsistent - pyparsing - cachecontrol - pkginfo html5lib - shellingham - tomlkit - pexpect + jsonschema keyring lockfile - ] ++ lib.optionals isPy27 [ typing pathlib2 glob2 virtualenv functools32 subprocess32 ] - ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]; + pexpect + pkginfo + pyparsing + pyrsistent + requests + requests-toolbelt + shellingham + tomlkit + ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]; postInstall = '' mkdir -p "$out/share/bash-completion/completions" @@ -79,12 +79,18 @@ in buildPythonPackage rec { "$out/bin/poetry" completions fish > "$out/share/fish/vendor_completions.d/poetry.fish" ''; - # No tests in Pypi tarball - doCheck = false; - checkInputs = [ pytest ]; - checkPhase = '' - pytest tests - ''; + checkInputs = [ pytestCheckHook httpretty pytest-mock pygments pytestcov ]; + preCheck = "export HOME=$TMPDIR"; + disabledTests = [ + # touches network + "git" + "solver" + "load" + "vcs" + "prereleases_if_they_are_compatible" + # requires git history to work correctly + "default_with_excluded_data" + ]; meta = with lib; { homepage = "https://python-poetry.org/"; diff --git a/pkgs/development/python-modules/poetry/glob2.nix b/pkgs/development/python-modules/poetry/glob2.nix deleted file mode 100644 index ca7d203492d..00000000000 --- a/pkgs/development/python-modules/poetry/glob2.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ buildPythonPackage, fetchPypi }: - -buildPythonPackage rec { - pname = "glob2"; - version = "0.6"; - - src = fetchPypi { - inherit pname version; - sha256 = "1miyz0pjyji4gqrzl04xsxcylk3h2v9fvi7hsg221y11zy3adc7m"; - }; -} diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix index 2725aca5a82..6e808a01058 100644 --- a/pkgs/development/python-modules/pyicloud/default.nix +++ b/pkgs/development/python-modules/pyicloud/default.nix @@ -38,9 +38,10 @@ buildPythonPackage rec { postPatch = '' sed -i \ - -e 's!click>=6.0,<7.0!click!' \ - -e 's!keyring>=8.0,<9.0!keyring!' \ - -e 's!keyrings.alt>=1.0,<2.0!keyrings.alt!' \ + -e 's!click>=.*!click!' \ + -e 's!keyring>=.*!keyring!' \ + -e 's!keyrings.alt>=.*!keyrings.alt!' \ + -e 's!tzlocal==.*!tzlocal!' \ requirements.txt ''; diff --git a/pkgs/development/python-modules/pylibgen/default.nix b/pkgs/development/python-modules/pylibgen/default.nix deleted file mode 100644 index 9dc6689e900..00000000000 --- a/pkgs/development/python-modules/pylibgen/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib, buildPythonPackage, fetchFromGitHub -, pythonOlder -, requests -, pytest -, pre-commit -}: - -buildPythonPackage rec { - pname = "pylibgen"; - version = "2.0.2"; - disabled = pythonOlder "3.6"; - - src = fetchFromGitHub { - owner = "joshuarli"; - repo = pname; - rev = "v${version}"; - sha256 = "1a9vhkgnkiwkicr2s287254mrkpnw9jq5r63q820dp3h74ba4kl1"; - }; - - propagatedBuildInputs = [ requests ]; - - checkInputs = [ pytest pre-commit ]; - - # literally every tests does a network call - doCheck = false; - - meta = with lib; { - description = "Python interface to Library Genesis"; - homepage = "https://pypi.org/project/pylibgen/"; - license = licenses.mit; - maintainers = [ maintainers.nico202 ]; - }; -} diff --git a/pkgs/development/python-modules/pymetno/default.nix b/pkgs/development/python-modules/pymetno/default.nix index 129ec21e05c..1e4b0d2adae 100644 --- a/pkgs/development/python-modules/pymetno/default.nix +++ b/pkgs/development/python-modules/pymetno/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "PyMetno"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { repo = pname; owner = "Danielhiversen"; rev = version; - sha256 = "00v2r3nn48svni9rbmbf0a4ylgfcf93gk2wg7qnm1fv1qrkgscvg"; + sha256 = "1ihq1lzgzcxbg916izakx9jp0kp1vdrcdwcwwwsws838wc08ax6m"; }; propagatedBuildInputs = [ aiohttp async-timeout pytz xmltodict ]; diff --git a/pkgs/development/python-modules/pytest-astropy-header/default.nix b/pkgs/development/python-modules/pytest-astropy-header/default.nix new file mode 100644 index 00000000000..05c6135a4b9 --- /dev/null +++ b/pkgs/development/python-modules/pytest-astropy-header/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, pytestcov +, pytestCheckHook +, numpy +, astropy +}: + +buildPythonPackage rec { + pname = "pytest-astropy-header"; + version = "0.1.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "1y87agr324p6x5gvhziymxjlw54pyn4gqnd49papbl941djpkp5g"; + }; + + propagatedBuildInputs = [ + pytest + ]; + + checkInputs = [ + pytestCheckHook + pytestcov + numpy + astropy + ]; + + meta = with lib; { + description = "Plugin to add diagnostic information to the header of the test output"; + homepage = "https://astropy.org"; + license = licenses.bsd3; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/pytest-astropy/default.nix b/pkgs/development/python-modules/pytest-astropy/default.nix index 3e03460ec2d..ae3bc04d0b4 100644 --- a/pkgs/development/python-modules/pytest-astropy/default.nix +++ b/pkgs/development/python-modules/pytest-astropy/default.nix @@ -1,11 +1,15 @@ { lib , buildPythonPackage , fetchPypi +, hypothesis , pytest +, pytest-astropy-header , pytest-doctestplus +, pytest-filter-subpackage , pytest-remotedata , pytest-openfiles , pytest-arraydiff +, setuptools_scm }: buildPythonPackage rec { @@ -17,16 +21,23 @@ buildPythonPackage rec { sha256 = "619800eb2cbf64548fbea25268efe7c6f6ae206cb4825f34abd36f27bcf946a2"; }; + nativeBuildInputs = [ + setuptools_scm + ]; + propagatedBuildInputs = [ + hypothesis pytest + pytest-astropy-header pytest-doctestplus + pytest-filter-subpackage pytest-remotedata pytest-openfiles pytest-arraydiff ]; # pytest-astropy is a meta package and has no tests - doCheck = false; + checkPhase = ":"; meta = with lib; { description = "Meta-package containing dependencies for testing"; diff --git a/pkgs/development/python-modules/pytest-doctestplus/default.nix b/pkgs/development/python-modules/pytest-doctestplus/default.nix index 36e0402dba2..421cca33984 100644 --- a/pkgs/development/python-modules/pytest-doctestplus/default.nix +++ b/pkgs/development/python-modules/pytest-doctestplus/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, isPy27 , six , pytest , numpy @@ -9,6 +10,7 @@ buildPythonPackage rec { pname = "pytest-doctestplus"; version = "0.7.0"; + disabled = isPy27; # abandoned upstream src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/pytest-filter-subpackage/default.nix b/pkgs/development/python-modules/pytest-filter-subpackage/default.nix new file mode 100644 index 00000000000..6caf4d9c772 --- /dev/null +++ b/pkgs/development/python-modules/pytest-filter-subpackage/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytest +, pytestcov +, pytest-doctestplus +, pytestCheckHook +, setuptools_scm +}: + +buildPythonPackage rec { + pname = "pytest-filter-subpackage"; + version = "0.1.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1s4s2kd31yc65rfvl4xhy8xx806xhy59kc7668h6b6wq88xgrn5p"; + }; + + nativeBuildInputs = [ + setuptools_scm + ]; + + propagatedBuildInputs = [ + pytest + pytest-doctestplus + pytestcov + pytestCheckHook + ]; + + # missing some files + disabledTests = [ "with_rst" ]; + + meta = with lib; { + description = "Meta-package containing dependencies for testing"; + homepage = "https://astropy.org"; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/reproject/default.nix b/pkgs/development/python-modules/reproject/default.nix index 43fd7fe67de..ccc76734461 100644 --- a/pkgs/development/python-modules/reproject/default.nix +++ b/pkgs/development/python-modules/reproject/default.nix @@ -6,30 +6,26 @@ , astropy , astropy-healpix , astropy-helpers +, extension-helpers , scipy , pytest , pytest-astropy +, setuptools_scm , cython }: buildPythonPackage rec { pname = "reproject"; - version = "0.6"; + version = "0.7.1"; src = fetchPypi { inherit pname version; - sha256 = "484fde86d70d972d703038f138d7c2966ddf51171a6e79bd84e82ea270e27af3"; + sha256 = "1jsc3ad518vyys5987fr1achq8qvnz8rm80zp5an9qxlwr4zmh4m"; }; propagatedBuildInputs = [ numpy astropy astropy-healpix astropy-helpers scipy ]; - nativeBuildInputs = [ astropy-helpers cython ]; - - # Fix tests - patches = [ (fetchpatch { - url = "https://github.com/astropy/reproject/pull/218/commits/4661e075137424813ed77f1ebcbc251fee1b8467.patch"; - sha256 = "13g3h824pqn2lgypzg1b87vkd44y7m302lhw3kh4rfww1dkzhm9v"; - }) ]; + nativeBuildInputs = [ astropy-helpers cython extension-helpers setuptools_scm ]; # Disable automatic update of the astropy-helper module postPatch = '' diff --git a/pkgs/development/python-modules/requests-file/default.nix b/pkgs/development/python-modules/requests-file/default.nix index fb375fd501a..374627a1bb9 100644 --- a/pkgs/development/python-modules/requests-file/default.nix +++ b/pkgs/development/python-modules/requests-file/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchPypi, buildPythonPackage, requests, six }: +{ lib, fetchPypi, buildPythonPackage, pytestCheckHook, requests, six }: buildPythonPackage rec { pname = "requests-file"; @@ -11,6 +11,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ requests six ]; + checkInputs = [ pytestCheckHook ]; + meta = { homepage = "https://github.com/dashea/requests-file"; description = "Transport adapter for fetching file:// URLs with the requests python library"; diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix index f0a143ec30c..51b04d372c5 100644 --- a/pkgs/development/python-modules/spacy/default.nix +++ b/pkgs/development/python-modules/spacy/default.nix @@ -54,9 +54,15 @@ buildPythonPackage rec { # ''; postPatch = '' - substituteInPlace setup.cfg --replace "thinc==7.4.1" "thinc>=7.4.1,<8" + substituteInPlace setup.cfg \ + --replace "catalogue>=0.0.7,<1.1.0" "catalogue>=0.0.7,<3.0" \ + --replace "plac>=0.9.6,<1.2.0" "plac>=0.9.6,<2.0" \ + --replace "srsly>=1.0.2,<1.1.0" "srsly>=1.0.2,<3.0" \ + --replace "thinc==7.4.1" "thinc>=7.4.1,<8" ''; + pythonImportsCheck = [ "spacy" ]; + meta = with lib; { description = "Industrial-strength Natural Language Processing (NLP) with Python and Cython"; homepage = "https://github.com/explosion/spaCy"; diff --git a/pkgs/development/python-modules/spectral-cube/default.nix b/pkgs/development/python-modules/spectral-cube/default.nix index 3e520919f33..b0b3e4b8f65 100644 --- a/pkgs/development/python-modules/spectral-cube/default.nix +++ b/pkgs/development/python-modules/spectral-cube/default.nix @@ -1,6 +1,7 @@ { lib , fetchFromGitHub , buildPythonPackage +, aplpy , astropy , radio_beam , pytest @@ -24,7 +25,7 @@ buildPythonPackage rec { nativeBuildInputs = [ astropy-helpers ]; - checkInputs = [ pytest pytest-astropy ]; + checkInputs = [ aplpy pytest pytest-astropy ]; # Disable automatic update of the astropy-helper module postPatch = '' diff --git a/pkgs/development/python-modules/srsly/default.nix b/pkgs/development/python-modules/srsly/default.nix index 92e6b84afdf..54590f2e35a 100644 --- a/pkgs/development/python-modules/srsly/default.nix +++ b/pkgs/development/python-modules/srsly/default.nix @@ -15,6 +15,8 @@ buildPythonPackage rec { pname = "srsly"; version = "2.0.1"; + disabled = pythonOlder "3.6"; + src = fetchPypi { inherit pname version; sha256 = "fa3c7375be8fe75f23c27feafbfb5f738d55ffdbf02964c6896fb7684f519a52"; @@ -22,8 +24,6 @@ buildPythonPackage rec { nativeBuildInputs = [ cython ]; - propagatedBuildInputs = lib.optional (pythonOlder "3.4") pathlib; - checkInputs = [ mock numpy @@ -35,6 +35,8 @@ buildPythonPackage rec { # Possibly because of sandbox restrictions. doCheck = false; + pythonImportsCheck = [ "srsly" ]; + meta = with stdenv.lib; { description = "Modern high-performance serialization utilities for Python"; homepage = "https://github.com/explosion/srsly"; diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix index 89b37bc8cf3..8f7e73a454a 100644 --- a/pkgs/development/python-modules/structlog/default.nix +++ b/pkgs/development/python-modules/structlog/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , fetchPypi , pytest +, pytest-asyncio , python-rapidjson , pretend , freezegun @@ -20,7 +21,7 @@ buildPythonPackage rec { sha256 = "7a48375db6274ed1d0ae6123c486472aa1d0890b08d314d2b016f3aa7f35990b"; }; - checkInputs = [ pytest pretend freezegun simplejson twisted ] + checkInputs = [ pytest pytest-asyncio pretend freezegun simplejson twisted ] ++ lib.optionals (pythonAtLeast "3.6") [ python-rapidjson ]; propagatedBuildInputs = [ six ]; diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index e47e17094af..b32b996ffd6 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -58,10 +58,19 @@ buildPythonPackage rec { # Cannot find cython modules. doCheck = false; + postPatch = '' + substituteInPlace setup.py \ + --replace "catalogue>=0.0.7,<1.1.0" "catalogue>=0.0.7,<3.0" \ + --replace "plac>=0.9.6,<1.2.0" "plac>=0.9.6,<2.0" \ + --replace "srsly>=0.0.6,<1.1.0" "srsly>=0.0.6,<3.0" + ''; + checkPhase = '' pytest thinc/tests ''; + pythonImportsCheck = [ "thinc" ]; + meta = with stdenv.lib; { description = "Practical Machine Learning for NLP in Python"; homepage = "https://github.com/explosion/thinc"; diff --git a/pkgs/development/python-modules/zimports/default.nix b/pkgs/development/python-modules/zimports/default.nix index 43588361ca7..338dd93150b 100644 --- a/pkgs/development/python-modules/zimports/default.nix +++ b/pkgs/development/python-modules/zimports/default.nix @@ -5,6 +5,7 @@ , flake8-import-order , pyflakes , mock +, setuptools }: buildPythonPackage rec { @@ -23,12 +24,19 @@ buildPythonPackage rec { propagatedBuildInputs = [ pyflakes flake8-import-order + setuptools ]; checkInputs = [ mock ]; + checkPhase = '' + runHook preInstallCheck + PYTHONPATH= $out/bin/zimports --help >/dev/null + runHook postInstallCheck + ''; + meta = with lib; { description = "Python import rewriter"; homepage = "https://github.com/sqlalchemyorg/zimports"; diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index 9cacf76dbbf..b788e70a4de 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,16 +1,16 @@ { lib, buildGoPackage, fetchFromGitLab, fetchurl }: let - version = "13.0.1"; + version = "13.1.0"; # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64 docker_x86_64 = fetchurl { url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz"; - sha256 = "1hrdi9fvni21lrc7lx8bjxdiqyf02cihl7pxlvcji0j1lmxyz721"; + sha256 = "1x44vbfcmk95rjkhmfizfdmr1blyj7x1a84hdynrgcyg69m6zikn"; }; docker_arm = fetchurl { url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz"; - sha256 = "0k41k6brmdh9rz6k4kis0wabgvrfl1vm63w36h2kk2vnwxg27s91"; + sha256 = "08n3nrpwhb3d3znid2bibg54qxdw5z6r4j5fp8vjh33h45q47q0k"; }; in buildGoPackage rec { @@ -29,7 +29,7 @@ buildGoPackage rec { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "155f1lvvx1rq50xjfl4ligxnya9js2rkzp45vwwfdwrvy0qlx8sf"; + sha256 = "0mbcpz1i0jmx5y67cvjwaizbj6jxdqml5m4m42dx96jqk0bv8g55"; }; patches = [ ./fix-shell-path.patch ]; diff --git a/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix new file mode 100644 index 00000000000..c8316f4bb57 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix @@ -0,0 +1,21 @@ +{ gnutar, gzip, git, haskell, haskellPackages, lib, makeWrapper }: +let + inherit (haskell.lib) overrideCabal addBuildDepends; + inherit (lib) makeBinPath; + pkg = + # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 + overrideCabal + (addBuildDepends (haskell.lib.justStaticExecutables haskellPackages.hercules-ci-agent) [ makeWrapper ]) + (o: { + postInstall = '' + ${o.postInstall or ""} + mkdir -p $out/libexec + mv $out/bin/hercules-ci-agent $out/libexec + makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${makeBinPath [ gnutar gzip git ]} + ''; + }); +in pkg // { + meta = pkg.meta // { + position = toString ./default.nix + ":1"; + }; + } diff --git a/pkgs/development/tools/tracy/default.nix b/pkgs/development/tools/tracy/default.nix index d446511298f..a5087b3b52c 100644 --- a/pkgs/development/tools/tracy/default.nix +++ b/pkgs/development/tools/tracy/default.nix @@ -1,34 +1,38 @@ -{ stdenv, lib, darwin, fetchFromGitHub, tbb, gtk2, glfw, pkgconfig, freetype, Carbon, AppKit }: +{ stdenv, lib, darwin, fetchFromGitHub, tbb, gtk2, glfw, pkgconfig, freetype, Carbon, AppKit, capstone }: stdenv.mkDerivation rec { - name = "tracy-${version}"; - version = "0.6.3"; + pname = "tracy"; + version = "0.7"; src = fetchFromGitHub { owner = "wolfpld"; repo = "tracy"; rev = "v${version}"; - sha256 = "0pgq8h5gq141zq1k4cgj6cp74kh4zqbp7h4wh29q4grjb04yy06i"; + sha256 = "07cmz2w7iv10f9i9q3fhg80s6riy9bxnk9xvc3q4lw47mc150skp"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glfw ] + buildInputs = [ glfw capstone ] ++ lib.optionals stdenv.isDarwin [ Carbon AppKit freetype ] ++ lib.optionals stdenv.isLinux [ gtk2 tbb ]; - NIX_CFLAGS_COMPILE = [] + NIX_CFLAGS_COMPILE = [ ] ++ lib.optional stdenv.isLinux "-ltbb" ++ lib.optional stdenv.cc.isClang "-faligned-allocation"; buildPhase = '' make -j $NIX_BUILD_CORES -C profiler/build/unix release make -j $NIX_BUILD_CORES -C import-chrome/build/unix/ release + make -j $NIX_BUILD_CORES -C capture/build/unix/ release + make -j $NIX_BUILD_CORES -C update/build/unix/ release ''; installPhase = '' install -D ./profiler/build/unix/Tracy-release $out/bin/Tracy install -D ./import-chrome/build/unix/import-chrome-release $out/bin/import-chrome + install -D ./capture/build/unix/capture-release $out/bin/capture + install -D ./update/build/unix/update-release $out/bin/update ''; meta = with stdenv.lib; { diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index 199d7f81fe0..95778c2544c 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -18,16 +18,16 @@ let in rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - sha256 = "11rxfnjam1kr8piiw0s4r0qg8rj4qfpppp6dixk1hhsq2iwbnzj6"; + sha256 = "0034c2qp8sf6li7d38rnd6h9vhhi82p5rysm0pkrdhlmfqkqdgma"; fetchSubmodules = true; }; - cargoSha256 = "107i9zvlwiwad58c7lmh6zl9iwlqn1h8qk7zf7x68b6498p8nh7d"; + cargoSha256 = "1wbqxv2mzbs27j617a88gd7z0fjnjr2z1nklqfk49y62v8f1vsm1"; # Install completions post-install nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/web/deno/deps.nix b/pkgs/development/web/deno/deps.nix index 9218e8ad97d..32669a6111b 100644 --- a/pkgs/development/web/deno/deps.nix +++ b/pkgs/development/web/deno/deps.nix @@ -2,11 +2,11 @@ {}: rec { rustyV8Lib = { - version = "0.5.0"; + version = "0.5.1"; sha256s = { - x86_64-linux = "1jmrqf5ns2y51cxx9r88my15m6gc6wmg54xadi3kphq47n4hmdfw"; - aarch64-linux = "14v57pxpkz1fs483rbbc8k55rc4x41dqi0k12zdrjwa5ycdam3m5"; - x86_64-darwin = "0466px7k2zvbsswwcrr342i5ml669gf76xd8yzzypsmb7l71s6vr"; + x86_64-linux = "1gggnbki6b733qfx16gkqpplfsfmg1xv2a3nhh42xiykwsh987xl"; + aarch64-linux = "1an5ylm0w2x0dm34m9z6sld8f067f2rnsndr6mh6smp19jl889ma"; + x86_64-darwin = "1x1f5r8s8n00xag6d36j4h40rfc0r1w4wnmcr02sspzzkpyjxn2l"; }; }; } diff --git a/pkgs/games/gargoyle/default.nix b/pkgs/games/gargoyle/default.nix index 8c5675407d0..c4c512be2b8 100644 --- a/pkgs/games/gargoyle/default.nix +++ b/pkgs/games/gargoyle/default.nix @@ -19,14 +19,15 @@ let in -stdenv.mkDerivation { - name = "gargoyle-2018-10-06"; +stdenv.mkDerivation rec { + pname = "gargoyle"; + version = "2019.1.1"; src = fetchFromGitHub { owner = "garglk"; repo = "garglk"; - rev = "d03391563fa75942fbf8f8deeeacf3a8be9fc3b0"; - sha256 = "0icwgc25gp7krq6zf66hljydc6vps6bb4knywnrfgnfcmcalqqx9"; + rev = version; + sha256 = "0w54avmbp4i4zps2rb4acmpa641s6wvwbrln4vbdhcz97fx48nzz"; }; nativeBuildInputs = [ jam pkgconfig ] ++ stdenv.lib.optional stdenv.isDarwin cctools; diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 324b6bfde81..9e2120d9da3 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -65,12 +65,12 @@ let ale = buildVimPluginFrom2Nix { pname = "ale"; - version = "2020-06-19"; + version = "2020-06-20"; src = fetchFromGitHub { owner = "dense-analysis"; repo = "ale"; - rev = "4f254988064d075bd3c2e08038b501df4d07b78d"; - sha256 = "15l3j6g3k4s08dbqnav1gns5vc5bxx2r4db6zw7ray26bxi1f2ch"; + rev = "834d6f9c48ce349a4c3d72e98bd0de81aaa84042"; + sha256 = "0b9606yspjvmfarjmgqcbsg9qp64gkr7b1w7py2gd1fvbmnkmac0"; }; meta.homepage = "https://github.com/dense-analysis/ale/"; }; @@ -405,8 +405,8 @@ let src = fetchFromGitHub { owner = "antoinemadec"; repo = "coc-fzf"; - rev = "10a6cc172795d3ba6e9ccb8e1e4d4cdeee66956c"; - sha256 = "1ag1j2szb19d7bi8sfpws3whhq8vzg5gbxygr1shif9bf0dlk447"; + rev = "c4af6c2ea44eb630049340becfc6c66ddfb8b01c"; + sha256 = "1s8vlnabkjgzs2l5rwzcx5rfhhr7lszhl7mvk6l53rylc875zmd7"; }; meta.homepage = "https://github.com/antoinemadec/coc-fzf/"; }; @@ -797,12 +797,12 @@ let colorizer = buildVimPluginFrom2Nix { pname = "colorizer"; - version = "2018-06-16"; + version = "2020-06-21"; src = fetchFromGitHub { owner = "lilydjwg"; repo = "colorizer"; - rev = "afc1491e5b9c36305ce710bdad2b48f069141183"; - sha256 = "1dpiv9z8h6196acncyjhzd1qa56y17468fpxbfzrx5q2266sajc7"; + rev = "bafd4e98462a4ddeb275d02fa1448b4349e2e50f"; + sha256 = "0j4x8vf3dj2v3jjjxqyhahrbfm99mgqryq2srnik0wbz7v1br2lh"; }; meta.homepage = "https://github.com/lilydjwg/colorizer/"; }; @@ -1293,12 +1293,12 @@ let deoplete-nvim = buildVimPluginFrom2Nix { pname = "deoplete-nvim"; - version = "2020-06-18"; + version = "2020-06-21"; src = fetchFromGitHub { owner = "Shougo"; repo = "deoplete.nvim"; - rev = "1a49407cf3eff03359de158151be174956b2ccbc"; - sha256 = "10l91wxfm5019qq16ri316dgwv62ngss8xmf9vpv7lxwspzmc806"; + rev = "2a44d0f331c57bc0527bef1c975153c274bd52f6"; + sha256 = "0v61734kh3zz4q2bj1085kydkviycmjv6c45qmsxnvh9vcjz7ip3"; }; meta.homepage = "https://github.com/Shougo/deoplete.nvim/"; }; @@ -1378,12 +1378,12 @@ let emmet-vim = buildVimPluginFrom2Nix { pname = "emmet-vim"; - version = "2020-05-04"; + version = "2020-06-20"; src = fetchFromGitHub { owner = "mattn"; repo = "emmet-vim"; - rev = "76285f8ec456a8c0d01ea0fa9d0b757c7eb0bab3"; - sha256 = "1qrqg4kr55hisi5f4qlkj1zvvlgfpby9pyynlb669d8414013f67"; + rev = "dc6cb4fd074f4c371158eeab0c8e4ce4af33534b"; + sha256 = "1cy201c5imbw2pw65f1s0nn8p6vwm00nqlvxwygh18dhy2qv4gfa"; fetchSubmodules = true; }; meta.homepage = "https://github.com/mattn/emmet-vim/"; @@ -1548,12 +1548,12 @@ let fzf-vim = buildVimPluginFrom2Nix { pname = "fzf-vim"; - version = "2020-06-07"; + version = "2020-06-21"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf.vim"; - rev = "8f1e73b598d27d78dfb5843be19a73b6a3b222b1"; - sha256 = "0zdimx6q2fivimdvh0cnm6w718vjxj0abv67869ijh1d4mfrmvyf"; + rev = "2bf85d25e203a536edb2c072c0d41b29e8e4cc1b"; + sha256 = "0dj6nw7rgc4679vqqmls8f59r3ax1ys4lrq4dq1gby3yk8z7lcy9"; }; meta.homepage = "https://github.com/junegunn/fzf.vim/"; }; @@ -1606,6 +1606,18 @@ let meta.homepage = "https://github.com/eagletmt/ghcmod-vim/"; }; + git-messenger-vim = buildVimPluginFrom2Nix { + pname = "git-messenger-vim"; + version = "2020-06-08"; + src = fetchFromGitHub { + owner = "rhysd"; + repo = "git-messenger.vim"; + rev = "0c79022b267f10305cd2d0d3e978c77bcb67b617"; + sha256 = "1657622w60g2xqxalvxjhx9blcppxy69kgn170jb65902x2bav7p"; + }; + meta.homepage = "https://github.com/rhysd/git-messenger.vim/"; + }; + gitignore-vim = buildVimPluginFrom2Nix { pname = "gitignore-vim"; version = "2014-03-16"; @@ -2101,12 +2113,12 @@ let lightline-vim = buildVimPluginFrom2Nix { pname = "lightline-vim"; - version = "2020-06-19"; + version = "2020-06-21"; src = fetchFromGitHub { owner = "itchyny"; repo = "lightline.vim"; - rev = "3afa0102cede4687c05b7cb48b2e15beb236602f"; - sha256 = "1qyf0jsh8fgnmq53dbdrkhlivznjki2vx4rmdp9dvv86zn7xr4mb"; + rev = "afd88109a6e24c4cc0cb55ae70ca66c108f1c540"; + sha256 = "1cjb7klyigsqxv827bxdgp22b8cc5wihb1jfk7a8l63skliyqmg2"; }; meta.homepage = "https://github.com/itchyny/lightline.vim/"; }; @@ -2627,6 +2639,30 @@ let meta.homepage = "https://github.com/neovim/nvimdev.nvim/"; }; + oceanic-next = buildVimPluginFrom2Nix { + pname = "oceanic-next"; + version = "2019-04-10"; + src = fetchFromGitHub { + owner = "mhartington"; + repo = "oceanic-next"; + rev = "08158eec24cd154afd1623686aeb336fad580be7"; + sha256 = "1s2h9mnhl54ww7zpdllwlxz93d5i7l7rx3s9mr8w6sv8azcak3v8"; + }; + meta.homepage = "https://github.com/mhartington/oceanic-next/"; + }; + + onedark-vim = buildVimPluginFrom2Nix { + pname = "onedark-vim"; + version = "2020-05-01"; + src = fetchFromGitHub { + owner = "joshdick"; + repo = "onedark.vim"; + rev = "4bd965e29811e29e1c1b0819f3a63671d3e6ef28"; + sha256 = "168zim0ifkg441iwwpxdb93fq4ap2ps0rnrad5lqycpgwr0v0bg2"; + }; + meta.homepage = "https://github.com/joshdick/onedark.vim/"; + }; + onehalf = buildVimPluginFrom2Nix { pname = "onehalf"; version = "2020-06-11"; @@ -3011,6 +3047,18 @@ let meta.homepage = "https://github.com/megaannum/self/"; }; + semantic-highlight-vim = buildVimPluginFrom2Nix { + pname = "semantic-highlight-vim"; + version = "2019-09-01"; + src = fetchFromGitHub { + owner = "jaxbot"; + repo = "semantic-highlight.vim"; + rev = "7cf0aabbd0f9cb531b0045ac2148dff1131616de"; + sha256 = "16dnqrdpxf6322az1rn67ay2a4clqz410xn6zqzr1w2y6x4yly1a"; + }; + meta.homepage = "https://github.com/jaxbot/semantic-highlight.vim/"; + }; + semshi = buildVimPluginFrom2Nix { pname = "semshi"; version = "2019-12-01"; @@ -3423,12 +3471,12 @@ let traces-vim = buildVimPluginFrom2Nix { pname = "traces-vim"; - version = "2020-06-19"; + version = "2020-06-21"; src = fetchFromGitHub { owner = "markonm"; repo = "traces.vim"; - rev = "ac40d8c89b9eba8eefdbb8383eba54ab98c13bd5"; - sha256 = "16alf05qzf572nj7dbw9c2s6vxq2raz2kj61jjvdrcfplr0nqqha"; + rev = "a1eea2431e19e441555442ce41738524042b2493"; + sha256 = "1k8sw8yr9ak4dggd51ishvnljsq3iycrnpfikhzn9h8qgclx2lfl"; }; meta.homepage = "https://github.com/markonm/traces.vim/"; }; @@ -4141,6 +4189,18 @@ let meta.homepage = "https://github.com/octol/vim-cpp-enhanced-highlight/"; }; + vim-crates = buildVimPluginFrom2Nix { + pname = "vim-crates"; + version = "2019-11-11"; + src = fetchFromGitHub { + owner = "mhinz"; + repo = "vim-crates"; + rev = "addbb157d0652ce5288c5b5b6f32f8716eb47898"; + sha256 = "1pczfm9vjjna3xdqym9h69gi47kiwi97lzjf9jjlkmyg1s4pwlsp"; + }; + meta.homepage = "https://github.com/mhinz/vim-crates/"; + }; + vim-csharp = buildVimPluginFrom2Nix { pname = "vim-csharp"; version = "2017-03-29"; @@ -4623,12 +4683,12 @@ let vim-gitgutter = buildVimPluginFrom2Nix { pname = "vim-gitgutter"; - version = "2020-06-18"; + version = "2020-06-20"; src = fetchFromGitHub { owner = "airblade"; repo = "vim-gitgutter"; - rev = "97a24e903a7841f410903087c19eaf728668ec81"; - sha256 = "0qhs5dlnjdmlxcq81ycrcr58szwkqc347pdlz9aj60fss1gw49v5"; + rev = "d82f2721424762f14587240e09cfb0dc499779da"; + sha256 = "1ynl6jdnij2hi0gmpgq2b01r5g2db5582jzsqbz079ydb2kbp1jp"; }; meta.homepage = "https://github.com/airblade/vim-gitgutter/"; }; @@ -5056,12 +5116,12 @@ let vim-jsdoc = buildVimPluginFrom2Nix { pname = "vim-jsdoc"; - version = "2020-06-14"; + version = "2020-06-20"; src = fetchFromGitHub { owner = "heavenshell"; repo = "vim-jsdoc"; - rev = "f541124a50410c39b1534a098600a20a7ad0661f"; - sha256 = "1ldk9gh6k2qmdiy4am3rl63pkywk221lz4c4wbwp6kzs0imlhb7f"; + rev = "ca3c880f77b4cec6b14d9436b07f4152bebc2712"; + sha256 = "04sq7wips3rybmaqwpxmf7920nv4nrm82lvbr5s9jdn0594lkg9c"; }; meta.homepage = "https://github.com/heavenshell/vim-jsdoc/"; }; @@ -5102,6 +5162,18 @@ let meta.homepage = "https://github.com/MaxMEllon/vim-jsx-pretty/"; }; + vim-jsx-typescript = buildVimPluginFrom2Nix { + pname = "vim-jsx-typescript"; + version = "2020-04-29"; + src = fetchFromGitHub { + owner = "peitalin"; + repo = "vim-jsx-typescript"; + rev = "7b47d06819b5778de78cfbb28c225c3ab276f700"; + sha256 = "0pm40psql6mzrzy750vm6jk71pp467hz9231izicp0554mq6qmsn"; + }; + meta.homepage = "https://github.com/peitalin/vim-jsx-typescript/"; + }; + vim-kitty-navigator = buildVimPluginFrom2Nix { pname = "vim-kitty-navigator"; version = "2019-11-04"; @@ -5272,12 +5344,12 @@ let vim-markdown = buildVimPluginFrom2Nix { pname = "vim-markdown"; - version = "2020-06-16"; + version = "2020-06-21"; src = fetchFromGitHub { owner = "plasticboy"; repo = "vim-markdown"; - rev = "c179316755bccb44115d031d720037dc58d75e6c"; - sha256 = "0ljvlh3glylm9q9fkdq6162i4jsxgyik13wcyjg44vrsgdim02qa"; + rev = "139b6f666cd00e2c3180454fb794fd6cee788f0f"; + sha256 = "1yk185l6g5ga2wlbxf0mcwc0dsc6c1nmz1ynl0hfnrbpfnn4sw1p"; }; meta.homepage = "https://github.com/plasticboy/vim-markdown/"; }; @@ -6304,12 +6376,12 @@ let vim-test = buildVimPluginFrom2Nix { pname = "vim-test"; - version = "2020-06-08"; + version = "2020-06-20"; src = fetchFromGitHub { owner = "vim-test"; repo = "vim-test"; - rev = "2f185e0e5b0e7344c1e391045dc33a2e7a41d8eb"; - sha256 = "1djl6phjc7vzhwbaxsc70mqp1f83iz99bcfyghphs9fhgdg46jiz"; + rev = "a125012ad09d4531dc7f13097fa4a5e3f1ad09a7"; + sha256 = "1dhg81glzfbmcrna45062n41vcfnd7mliphpa6rpd5d9ci54hl08"; }; meta.homepage = "https://github.com/vim-test/vim-test/"; }; @@ -6844,12 +6916,12 @@ let vista-vim = buildVimPluginFrom2Nix { pname = "vista-vim"; - version = "2020-06-19"; + version = "2020-06-21"; src = fetchFromGitHub { owner = "liuchengxu"; repo = "vista.vim"; - rev = "4465a93001fe2f7800569f63257446114d347a5b"; - sha256 = "1vhi7zqywk15yzigky9nhsgjcjn9qvnpfgdw8173bsxh260bf33k"; + rev = "0b5ece152b56e424b6df6ca9545517007ceb840f"; + sha256 = "1dr98fibcpq6c1adsb4bnbbgg6gpk9brfy3kkrbl49jqf2120zww"; }; meta.homepage = "https://github.com/liuchengxu/vista.vim/"; }; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 516ac691bc2..9bd1657e4bd 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -156,6 +156,7 @@ itchyny/vim-gitbranch ivanov/vim-ipython jacoborus/tender.vim jaredgorski/SpaceCamp +jaxbot/semantic-highlight.vim JazzCore/ctrlp-cmatcher jceb/vim-hier jceb/vim-orgmode @@ -176,6 +177,7 @@ jonbri/vim-colorstepper jonsmithers/vim-html-template-literals joonty/vim-xdebug josa42/coc-go +joshdick/onedark.vim jpalardy/vim-slime jparise/vim-graphql jparise/vim-phabricator @@ -283,6 +285,8 @@ megaannum/self mengelbrecht/lightline-bufferline mfukar/robotframework-vim mg979/vim-visual-multi +mhartington/oceanic-next +mhinz/vim-crates mhinz/vim-grepper mhinz/vim-janah mhinz/vim-sayonara @@ -374,6 +378,7 @@ overcache/NeoSolarized pangloss/vim-javascript parsonsmatt/intero-neovim pearofducks/ansible-vim +peitalin/vim-jsx-typescript peterbjorgensen/sved peterhoeg/vim-qml phanviet/vim-monokai-pro @@ -401,6 +406,7 @@ rbgrouleff/bclose.vim reedes/vim-pencil reedes/vim-wordy rhysd/committia.vim +rhysd/git-messenger.vim rhysd/vim-grammarous rhysd/vim-operator-surround rodjek/vim-puppet @@ -566,6 +572,7 @@ vimwiki/vimwiki vito-c/jq.vim vmchale/ats-vim vmchale/dhall-vim +voldikss/vim-floaterm VundleVim/Vundle.vim w0ng/vim-hybrid wakatime/vim-wakatime diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix index acb4676a3f5..c5f293011db 100644 --- a/pkgs/os-specific/linux/mwprocapture/default.nix +++ b/pkgs/os-specific/linux/mwprocapture/default.nix @@ -15,11 +15,11 @@ let in stdenv.mkDerivation rec { name = "mwprocapture-1.2.${version}-${kernel.version}"; - version = "4054"; + version = "4177"; src = fetchurl { url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz"; - sha256 = "0ylx75jcwlqds8w6lm11nxdlzxvy7xlz4rka2k5d6gmqa5fv19c2"; + sha256 = "1nf51w9yixpvr767k49sfdb9n9rv5qc72f5yki1mkghbmabw7vys"; }; nativeBuildInputs = [ kernel.moduleBuildDependencies ]; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index a87c6947a1a..9b4f8ae9ee5 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "0.111.0"; + version = "0.111.4"; components = { "abode" = ps: with ps; [ ]; # missing inputs: abodepy "acer_projector" = ps: with ps; [ pyserial]; @@ -19,7 +19,7 @@ "alarm_control_panel" = ps: with ps; [ ]; "alarmdecoder" = ps: with ps; [ alarmdecoder]; "alert" = ps: with ps; [ ]; - "alexa" = ps: with ps; [ aiohttp-cors]; + "alexa" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend "almond" = ps: with ps; [ aiohttp-cors]; # missing inputs: pyalmond "alpha_vantage" = ps: with ps; [ ]; # missing inputs: alpha_vantage "amazon_polly" = ps: with ps; [ boto3]; @@ -35,7 +35,7 @@ "apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess "api" = ps: with ps; [ aiohttp-cors]; "apns" = ps: with ps; [ ]; # missing inputs: apns2 - "apple_tv" = ps: with ps; [ pyatv]; + "apple_tv" = ps: with ps; [ aiohttp-cors netdisco pyatv zeroconf]; "apprise" = ps: with ps; [ apprise]; "aprs" = ps: with ps; [ ]; # missing inputs: aprslib geopy "aqualogic" = ps: with ps; [ ]; # missing inputs: aqualogic @@ -57,13 +57,13 @@ "aurora" = ps: with ps; [ ]; "aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy "auth" = ps: with ps; [ aiohttp-cors]; - "automation" = ps: with ps; [ ]; + "automation" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend "avea" = ps: with ps; [ ]; # missing inputs: avea "avion" = ps: with ps; [ ]; # missing inputs: avion "avri" = ps: with ps; [ ]; # missing inputs: avri-api "awair" = ps: with ps; [ ]; # missing inputs: python_awair "aws" = ps: with ps; [ ]; # missing inputs: aiobotocore - "axis" = ps: with ps; [ ]; # missing inputs: axis + "axis" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; # missing inputs: axis "azure_event_hub" = ps: with ps; [ ]; # missing inputs: azure-eventhub "azure_service_bus" = ps: with ps; [ azure-servicebus]; "baidu" = ps: with ps; [ ]; # missing inputs: baidu-aip @@ -104,7 +104,7 @@ "calendar" = ps: with ps; [ aiohttp-cors]; "camera" = ps: with ps; [ aiohttp-cors]; "canary" = ps: with ps; [ ha-ffmpeg]; # missing inputs: py-canary - "cast" = ps: with ps; [ PyChromecast]; + "cast" = ps: with ps; [ aiohttp-cors hass-nabucasa PyChromecast sqlalchemy zeroconf]; # missing inputs: home-assistant-frontend "cert_expiry" = ps: with ps; [ ]; "channels" = ps: with ps; [ ]; # missing inputs: pychannels "circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook @@ -117,7 +117,7 @@ "clicksend" = ps: with ps; [ ]; "clicksend_tts" = ps: with ps; [ ]; "climate" = ps: with ps; [ ]; - "cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa]; + "cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend "cloudflare" = ps: with ps; [ ]; # missing inputs: pycfdns "cmus" = ps: with ps; [ ]; # missing inputs: pycmus "co2signal" = ps: with ps; [ ]; # missing inputs: co2signal @@ -166,7 +166,7 @@ "directv" = ps: with ps; [ ]; # missing inputs: directv "discogs" = ps: with ps; [ discogs_client]; "discord" = ps: with ps; [ discordpy]; - "discovery" = ps: with ps; [ netdisco]; + "discovery" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; "dlib_face_detect" = ps: with ps; [ face_recognition]; "dlib_face_identify" = ps: with ps; [ face_recognition]; "dlink" = ps: with ps; [ ]; # missing inputs: pyW215 @@ -183,10 +183,10 @@ "dublin_bus_transport" = ps: with ps; [ ]; "duckdns" = ps: with ps; [ ]; "dunehd" = ps: with ps; [ ]; # missing inputs: pdunehd - "dwd_weather_warnings" = ps: with ps; [ ]; + "dwd_weather_warnings" = ps: with ps; [ jsonpath xmltodict]; "dweet" = ps: with ps; [ ]; # missing inputs: dweepy "dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices - "dyson" = ps: with ps; [ ]; # missing inputs: libpurecool + "dyson" = ps: with ps; [ aiohttp-cors zeroconf]; # missing inputs: libpurecool "ebox" = ps: with ps; [ ]; # missing inputs: pyebox "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy "ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface @@ -263,14 +263,14 @@ "foscam" = ps: with ps; [ ]; # missing inputs: libpyfoscam "foursquare" = ps: with ps; [ aiohttp-cors]; "free_mobile" = ps: with ps; [ ]; # missing inputs: freesms - "freebox" = ps: with ps; [ ]; # missing inputs: aiofreepybox + "freebox" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: aiofreepybox "freedns" = ps: with ps; [ ]; "fritz" = ps: with ps; [ fritzconnection]; "fritzbox" = ps: with ps; [ ]; # missing inputs: pyfritzhome "fritzbox_callmonitor" = ps: with ps; [ fritzconnection]; "fritzbox_netmonitor" = ps: with ps; [ fritzconnection]; "fronius" = ps: with ps; [ ]; # missing inputs: pyfronius - "frontend" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend + "frontend" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend "frontier_silicon" = ps: with ps; [ ]; # missing inputs: afsapi "futurenow" = ps: with ps; [ ]; # missing inputs: pyfnip "garadget" = ps: with ps; [ ]; @@ -320,7 +320,7 @@ "hangouts" = ps: with ps; [ ]; # missing inputs: hangups "harman_kardon_avr" = ps: with ps; [ ]; # missing inputs: hkavr "harmony" = ps: with ps; [ aioharmony]; - "hassio" = ps: with ps; [ aiohttp-cors]; + "hassio" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend "haveibeenpwned" = ps: with ps; [ ]; "hddtemp" = ps: with ps; [ ]; "hdmi_cec" = ps: with ps; [ ]; # missing inputs: pyCEC @@ -337,7 +337,7 @@ "hlk_sw16" = ps: with ps; [ ]; # missing inputs: hlk-sw16 "home_connect" = ps: with ps; [ aiohttp-cors]; # missing inputs: homeconnect "homeassistant" = ps: with ps; [ ]; - "homekit" = ps: with ps; [ HAP-python pyqrcode aiohttp-cors ha-ffmpeg]; # missing inputs: PyTurboJPEG base36 fnvhash + "homekit" = ps: with ps; [ HAP-python pyqrcode aiohttp-cors ha-ffmpeg sqlalchemy zeroconf]; # missing inputs: PyTurboJPEG base36 fnvhash home-assistant-frontend "homekit_controller" = ps: with ps; [ ]; # missing inputs: aiohomekit[IP] "homematic" = ps: with ps; [ pyhomematic]; "homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip @@ -454,7 +454,7 @@ "mailgun" = ps: with ps; [ aiohttp-cors]; # missing inputs: pymailgunner "manual" = ps: with ps; [ ]; "manual_mqtt" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; - "map" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend + "map" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend "marytts" = ps: with ps; [ ]; # missing inputs: speak2mary "mastodon" = ps: with ps; [ ]; # missing inputs: Mastodon.py "matrix" = ps: with ps; [ matrix-client]; @@ -485,7 +485,7 @@ "minio" = ps: with ps; [ minio]; "mitemp_bt" = ps: with ps; [ ]; # missing inputs: mitemp_bt "mjpeg" = ps: with ps; [ ]; - "mobile_app" = ps: with ps; [ pynacl aiohttp-cors]; + "mobile_app" = ps: with ps; [ pynacl aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend "mochad" = ps: with ps; [ ]; # missing inputs: pymochad "modbus" = ps: with ps; [ ]; # missing inputs: pymodbus "modem_callerid" = ps: with ps; [ ]; # missing inputs: basicmodem @@ -504,7 +504,7 @@ "mychevy" = ps: with ps; [ ]; # missing inputs: mychevy "mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi "myq" = ps: with ps; [ ]; # missing inputs: pymyq - "mysensors" = ps: with ps; [ ]; # missing inputs: pymysensors + "mysensors" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; # missing inputs: pymysensors "mystrom" = ps: with ps; [ aiohttp-cors]; # missing inputs: python-mystrom "mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns "n26" = ps: with ps; [ ]; # missing inputs: n26 @@ -516,7 +516,7 @@ "nello" = ps: with ps; [ ]; # missing inputs: pynello "ness_alarm" = ps: with ps; [ ]; # missing inputs: nessclient "nest" = ps: with ps; [ ]; # missing inputs: python-nest - "netatmo" = ps: with ps; [ aiohttp-cors pyatmo]; + "netatmo" = ps: with ps; [ aiohttp-cors hass-nabucasa pyatmo sqlalchemy]; # missing inputs: home-assistant-frontend "netdata" = ps: with ps; [ ]; # missing inputs: netdata "netgear" = ps: with ps; [ ]; # missing inputs: pynetgear "netgear_lte" = ps: with ps; [ ]; # missing inputs: eternalegypt @@ -548,7 +548,7 @@ "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi "oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics "obihai" = ps: with ps; [ ]; # missing inputs: pyobihai - "octoprint" = ps: with ps; [ ]; + "octoprint" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; "oem" = ps: with ps; [ ]; # missing inputs: oemthermostat "ohmconnect" = ps: with ps; [ defusedxml]; "ombi" = ps: with ps; [ ]; # missing inputs: pyombi @@ -577,13 +577,13 @@ "orvibo" = ps: with ps; [ ]; # missing inputs: orvibo "osramlightify" = ps: with ps; [ ]; # missing inputs: lightify "otp" = ps: with ps; [ pyotp]; - "owntracks" = ps: with ps; [ pynacl aiohttp-cors]; - "ozw" = ps: with ps; [ ]; # missing inputs: python-openzwave-mqtt + "owntracks" = ps: with ps; [ pynacl aiohttp-cors hass-nabucasa hbmqtt paho-mqtt sqlalchemy]; # missing inputs: home-assistant-frontend + "ozw" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; # missing inputs: python-openzwave-mqtt "panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta "panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera "pandora" = ps: with ps; [ pexpect]; - "panel_custom" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend - "panel_iframe" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend + "panel_custom" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend + "panel_iframe" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend "pcal9535a" = ps: with ps; [ ]; # missing inputs: pcal9535a "pencom" = ps: with ps; [ ]; # missing inputs: pencompy "persistent_notification" = ps: with ps; [ ]; @@ -598,8 +598,8 @@ "pioneer" = ps: with ps; [ ]; "pjlink" = ps: with ps; [ ]; # missing inputs: pypjlink2 "plaato" = ps: with ps; [ aiohttp-cors]; - "plant" = ps: with ps; [ ]; - "plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket]; + "plant" = ps: with ps; [ sqlalchemy]; + "plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos]; "plugwise" = ps: with ps; [ ]; # missing inputs: Plugwise_Smile "plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad "pocketcasts" = ps: with ps; [ ]; # missing inputs: pocketcasts @@ -619,7 +619,7 @@ "pushbullet" = ps: with ps; [ pushbullet]; "pushover" = ps: with ps; [ pushover-complete]; "pushsafer" = ps: with ps; [ ]; - "pvoutput" = ps: with ps; [ ]; + "pvoutput" = ps: with ps; [ jsonpath xmltodict]; "pvpc_hourly_pricing" = ps: with ps; [ ]; # missing inputs: aiopvpc "pyload" = ps: with ps; [ ]; "python_script" = ps: with ps; [ restrictedpython]; @@ -630,7 +630,7 @@ "quantum_gateway" = ps: with ps; [ ]; # missing inputs: quantum-gateway "qvr_pro" = ps: with ps; [ ]; # missing inputs: pyqvrpro "qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch - "rachio" = ps: with ps; [ aiohttp-cors]; # missing inputs: rachiopy + "rachio" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend rachiopy "radarr" = ps: with ps; [ ]; "radiotherm" = ps: with ps; [ ]; # missing inputs: radiotherm "rainbird" = ps: with ps; [ ]; # missing inputs: pyrainbird @@ -670,18 +670,18 @@ "rtorrent" = ps: with ps; [ ]; "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound - "sabnzbd" = ps: with ps; [ ]; # missing inputs: pysabnzbd - "safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa]; # missing inputs: home-assistant-frontend + "sabnzbd" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: pysabnzbd + "safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend "saj" = ps: with ps; [ ]; # missing inputs: pysaj "salt" = ps: with ps; [ ]; # missing inputs: saltbox "samsungtv" = ps: with ps; [ ]; # missing inputs: samsungctl[websocket] samsungtvws[websocket] "satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra "scene" = ps: with ps; [ ]; "schluter" = ps: with ps; [ ]; # missing inputs: py-schluter - "scrape" = ps: with ps; [ beautifulsoup4]; + "scrape" = ps: with ps; [ beautifulsoup4 jsonpath xmltodict]; "script" = ps: with ps; [ ]; "scsgate" = ps: with ps; [ ]; # missing inputs: scsgate - "search" = ps: with ps; [ aiohttp-cors]; + "search" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend "season" = ps: with ps; [ ephem]; "sendgrid" = ps: with ps; [ ]; # missing inputs: sendgrid "sense" = ps: with ps; [ ]; # missing inputs: sense_energy @@ -716,7 +716,7 @@ "sma" = ps: with ps; [ ]; # missing inputs: pysma "smappee" = ps: with ps; [ ]; # missing inputs: smappy "smarthab" = ps: with ps; [ ]; # missing inputs: smarthab - "smartthings" = ps: with ps; [ aiohttp-cors]; # missing inputs: pysmartapp pysmartthings + "smartthings" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend pysmartapp pysmartthings "smarty" = ps: with ps; [ ]; # missing inputs: pysmarty "smhi" = ps: with ps; [ ]; # missing inputs: smhi-pkg "sms" = ps: with ps; [ ]; # missing inputs: python-gammu @@ -737,7 +737,7 @@ "songpal" = ps: with ps; [ ]; # missing inputs: python-songpal "sonos" = ps: with ps; [ pysonos]; "sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp - "soundtouch" = ps: with ps; [ libsoundtouch]; + "soundtouch" = ps: with ps; [ aiohttp-cors libsoundtouch zeroconf]; "spaceapi" = ps: with ps; [ aiohttp-cors]; "spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw "speedtestdotnet" = ps: with ps; [ speedtest-cli]; @@ -747,11 +747,11 @@ "spotify" = ps: with ps; [ aiohttp-cors spotipy]; "sql" = ps: with ps; [ sqlalchemy]; "squeezebox" = ps: with ps; [ ]; # missing inputs: pysqueezebox - "ssdp" = ps: with ps; [ defusedxml netdisco]; + "ssdp" = ps: with ps; [ aiohttp-cors defusedxml netdisco zeroconf]; "starline" = ps: with ps; [ ]; # missing inputs: starline "starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank "startca" = ps: with ps; [ xmltodict]; - "statistics" = ps: with ps; [ ]; + "statistics" = ps: with ps; [ sqlalchemy]; "statsd" = ps: with ps; [ statsd]; "steam_online" = ps: with ps; [ ]; # missing inputs: steamodd "stiebel_eltron" = ps: with ps; [ ]; # missing inputs: pymodbus pystiebeleltron @@ -796,7 +796,7 @@ "telnet" = ps: with ps; [ ]; "temper" = ps: with ps; [ ]; # missing inputs: temperusb "template" = ps: with ps; [ ]; - "tensorflow" = ps: with ps; [ numpy pillow protobuf tensorflow]; + "tensorflow" = ps: with ps; [ numpy pillow protobuf]; # missing inputs: tensorflow "tesla" = ps: with ps; [ ]; # missing inputs: teslajsonpy "tfiac" = ps: with ps; [ ]; # missing inputs: pytfiac "thermoworks_smoke" = ps: with ps; [ stringcase]; # missing inputs: thermoworks_smoke @@ -911,7 +911,7 @@ "xeoma" = ps: with ps; [ ]; # missing inputs: pyxeoma "xfinity" = ps: with ps; [ ]; # missing inputs: xfinity-gateway "xiaomi" = ps: with ps; [ ha-ffmpeg]; - "xiaomi_aqara" = ps: with ps; [ ]; # missing inputs: PyXiaomiGateway + "xiaomi_aqara" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: PyXiaomiGateway "xiaomi_miio" = ps: with ps; [ construct python-miio]; "xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv "xmpp" = ps: with ps; [ slixmpp]; @@ -921,7 +921,7 @@ "yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast "yandex_transport" = ps: with ps; [ ]; # missing inputs: ya_ma "yandextts" = ps: with ps; [ ]; - "yeelight" = ps: with ps; [ ]; # missing inputs: yeelight + "yeelight" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: yeelight "yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower "yessssms" = ps: with ps; [ ]; # missing inputs: YesssSMS "yi" = ps: with ps; [ aioftp ha-ffmpeg]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index e198a35ad12..366415dd9e2 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, python3, protobuf3_6 +{ stdenv, nixosTests, lib, fetchurl, fetchFromGitHub, fetchpatch, python3, protobuf3_6 # Look up dependencies of specified components in component-packages.nix , extraComponents ? [ ] @@ -22,11 +22,6 @@ let defaultOverrides = [ # Override the version of some packages pinned in Home Assistant's setup.py - # used by check_config script - # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved - (mkOverride "colorlog" "4.0.2" - "3cf31b25cbc8f86ec01fef582ef3b840950dea414084ed19ab922c8b493f9b42") - # required by the sun/moon plugins # https://github.com/home-assistant/core/issues/36636 (mkOverride "astral" "1.10.1" @@ -72,7 +67,7 @@ let extraBuildInputs = extraPackages py.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "0.111.0"; + hassVersion = "0.111.4"; in with py.pkgs; buildPythonApplication rec { pname = "homeassistant"; @@ -91,7 +86,7 @@ in with py.pkgs; buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = version; - sha256 = "0zg7fng3cfksn4hr8vixsmj8cbag8h4dg4qi69n56hc71rnpl9kw"; + sha256 = "08dkqczpmdaz8k9fsshgvgma7i7sffzgmhsi49qki7vwn20hl2hf"; }; propagatedBuildInputs = [ @@ -128,6 +123,9 @@ in with py.pkgs; buildPythonApplication rec { passthru = { inherit (py.pkgs) hass-frontend; + tests = { + inherit (nixosTests) home-assistant; + }; }; meta = with lib; { diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index a2445dad324..fcb68896c29 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20200603.2"; + version = "20200603.3"; src = fetchPypi { inherit pname version; - sha256 = "1p99f5q8frk5k5lh1gjxyq539p1iv9fslpbfirh8njx3d0a85l84"; + sha256 = "12bbvqckry6yr7409dir49pjcaa31z74fy6vb0mgr9xzvri5c2s8"; }; # no Python tests implemented diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index f802485d6c6..3c6d0c4bcab 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -24,7 +24,7 @@ import sys import tarfile import tempfile from io import BytesIO -from typing import Dict, Optional +from typing import Dict, Optional, Set, Any from urllib.request import urlopen COMPONENT_PREFIX = "homeassistant.components" @@ -79,11 +79,14 @@ def parse_components(version: str = "master"): # Recursively get the requirements of a component and its dependencies -def get_reqs(components, component): +def get_reqs(components: Dict[str, Dict[str, Any]], component: str, processed: Set[str]) -> Set[str]: requirements = set(components[component].get("requirements", [])) deps = components[component].get("dependencies", []) + deps.extend(components[component].get("after_dependencies", [])) + processed.add(component) for dependency in deps: - requirements.update(get_reqs(components, dependency)) + if dependency not in processed: + requirements.update(get_reqs(components, dependency, processed)) return requirements @@ -143,7 +146,7 @@ def main() -> None: for component in sorted(components.keys()): attr_paths = [] missing_reqs = [] - reqs = sorted(get_reqs(components, component)) + reqs = sorted(get_reqs(components, component, set())) for req in reqs: # Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0 # Therefore, if there's a "#" in the line, only take the part after it diff --git a/pkgs/servers/home-assistant/update.sh b/pkgs/servers/home-assistant/update.sh new file mode 100755 index 00000000000..11189cf3577 --- /dev/null +++ b/pkgs/servers/home-assistant/update.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env nix-shell +#!nix-shell -p nix -p jq -p curl -p bash -p git -p nix-update -i bash + +set -eux + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +cd "$DIR" + +CURRENT_VERSION=$(nix eval --raw '(with import ../../.. {}; home-assistant.version)') +TARGET_VERSION=$(curl https://api.github.com/repos/home-assistant/core/releases/latest | jq -r '.name') +MANIFEST=$(curl https://raw.githubusercontent.com/home-assistant/core/${TARGET_VERSION}/homeassistant/components/frontend/manifest.json) +FRONTEND_VERSION=$(echo $MANIFEST | jq -r '.requirements[] | select(startswith("home-assistant-frontend")) | sub(".*==(?.*)"; .vers)') + +if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then + echo "home-assistant is up-to-date: ${CURRENT_VERSION}" + exit 0 +fi + + +sed -i -e "s/version =.*/version = \"${TARGET_VERSION}\";/" \ + component-packages.nix + +sed -i -e "s/hassVersion =.*/hassVersion = \"${TARGET_VERSION}\";/" \ + default.nix + +./parse-requirements.py +( + cd ../../.. + nix-update --version "$FRONTEND_VERSION" home-assistant.hass-frontend + nix-update --version "$TARGET_VERSION" --build home-assistant +) + +git add ./component-packages.nix ./default.nix ./frontend.nix +git commit -m "homeassistant: ${CURRENT_VERSION} -> ${TARGET_VERSION}" diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index 80bc1458ad7..6ec5b0a7851 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -4,6 +4,7 @@ , withDebug ? false , withStream ? true , withMail ? false +, withPerl ? true , modules ? [] , ... }: @@ -87,7 +88,7 @@ stdenv.mkDerivation { ] ++ optionals withMail [ "--with-mail" "--with-mail_ssl_module" - ] ++ optional (perl != null) [ + ] ++ optionals withPerl [ "--with-http_perl_module" "--with-perl=${perl}/bin/perl" "--with-perl_modules_path=lib/perl5" diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index 9c01cfb19e1..d845d92ec8a 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -34,6 +34,8 @@ callPackage ../nginx/generic.nix args rec { postInstall = '' ln -s $out/luajit/bin/luajit-2.1.0-beta3 $out/bin/luajit-openresty ln -s $out/nginx/sbin/nginx $out/bin/nginx + ln -s $out/nginx/conf $out/conf + ln -s $out/nginx/html $out/html ''; meta = { diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index fb7870eac95..2ecd9242818 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -21,20 +21,18 @@ let sources = name: system: { x86_64-darwin = { url = "${baseUrl}/${name}-darwin-x86_64.tar.gz"; - sha256 = "0v83faz0jwnx603acmkc3bsl7vg2xxsm1jfw88fmnj6zcsa5b9ql"; + sha256 = "0imsshvdwd2isq58kplc27za30nabp62ypf1hq95aq94pjm2zp39"; }; x86_64-linux = { url = "${baseUrl}/${name}-linux-x86_64.tar.gz"; - sha256 = "1z9liqzgwfavh3m3q1s871gxnwnsxdbny2vqzh9sjlwdk26f76gi"; + sha256 = "1905rj36md5iszbxw78ylvkljr4d54i50x23r1r6k1xw7i93yfwq"; }; }.${system}; - strip = if stdenv.isDarwin then "strip -x" else "strip"; - in stdenv.mkDerivation rec { pname = "google-cloud-sdk"; - version = "286.0.0"; + version = "297.0.1"; src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system); @@ -93,9 +91,6 @@ in stdenv.mkDerivation rec { jq -c . $path > $path.min mv $path.min $path done - - # strip the Cython gRPC library - ${strip} $out/google-cloud-sdk/lib/third_party/grpc/_cython/cygrpc.so ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 662dba65be4..0f73b353169 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -185,6 +185,11 @@ in pythonPackages.buildPythonApplication rec { ./replaygain-default-bs1770gain.patch ./keyfinder-default-bin.patch ./mutagen-1.43.patch + (fetchpatch { + # Fixes failing testcases around the werkzeug component; can dropped after 1.4.9 + url = "https://github.com/beetbox/beets/commit/d43d54e21cde97f57f19486925ab56b419254cc8.patch"; + sha256 = "13n2gzmcgfi0m2ycl2r1hpczgksplnkc3y6b66vg57rx5y8nnv5c"; + }) ]; postPatch = '' diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix index 46f6bb404ae..c5b02e1bdb8 100644 --- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix +++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "fuse-overlayfs"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "containers"; repo = pname; rev = "v${version}"; - sha256 = "0dv62kyc8hvwb4gkhyxzwagp87nv0mr1612dz6q835is1vqav134"; + sha256 = "0zrxq0s3dlgjarn8l519czwffp2s5ibykc00vfrpayg547dgj342"; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/pkgs/tools/graphics/lepton/default.nix b/pkgs/tools/graphics/lepton/default.nix index 0088422c6a4..cbb48fe3728 100644 --- a/pkgs/tools/graphics/lepton/default.nix +++ b/pkgs/tools/graphics/lepton/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, cmake, git, glibc }: stdenv.mkDerivation rec { - version = "1.2.1"; - pname = "lepton"; + version = "2019-08-20"; + pname = "lepton-unstable"; src = fetchFromGitHub { repo = "lepton"; owner = "dropbox"; - rev = version; - sha256 = "1f2vyp0crj4yw27bs53vykf2fqk4w57gv3lh9dp89dh3y7wwh1ba"; + rev = "3d1bc19da9f13a6e817938afd0f61a81110be4da"; + sha256 = "0aqs6nvcbq8cbfv8699fa634bsz7csmk0169n069yvv17d1c07fd"; }; nativeBuildInputs = [ cmake git ]; diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix index 554d7f9e1dd..d0cf1b4e5b8 100644 --- a/pkgs/tools/misc/broot/default.nix +++ b/pkgs/tools/misc/broot/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "broot"; - version = "0.15.1"; + version = "0.16.0"; src = fetchFromGitHub { owner = "Canop"; repo = pname; rev = "v${version}"; - sha256 = "1ggzx4w69fmvaxm5gfqhh8ncr2mdx528zm6vwrrwz165lga2fvw6"; + sha256 = "1vhwv9yb8acz4iq9zmg1qkf072z1py84lz4ddj8gmg6rq7g8n4mb"; }; - cargoSha256 = "0gcq0fww9hl3avh3qcnpnwmpwda4cymr7x3kd3frdizrs8i643mr"; + cargoSha256 = "19z6d72ssqwm8i7bnfqgsndy1f2wxzkvhs8swy16gnqfqjqdf26d"; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/servers/home-assistant/esphome.nix b/pkgs/tools/misc/esphome/default.nix similarity index 94% rename from pkgs/servers/home-assistant/esphome.nix rename to pkgs/tools/misc/esphome/default.nix index 2dc023df5a2..3dd79969554 100644 --- a/pkgs/servers/home-assistant/esphome.nix +++ b/pkgs/tools/misc/esphome/default.nix @@ -18,11 +18,11 @@ let in python.pkgs.buildPythonApplication rec { pname = "esphome"; - version = "1.14.3"; + version = "1.14.4"; src = python.pkgs.fetchPypi { inherit pname version; - sha256 = "0xnsl000c5a2li9qw9anrzzq437qn1n4hcfc24i4rfq37awzmig7"; + sha256 = "10krdmpbafvii0qlg5w94vdv573f3zdqm78ck79d6q0frdd9q9yn"; }; ESPHOME_USE_SUBPROCESS = ""; diff --git a/pkgs/tools/networking/libreswan/default.nix b/pkgs/tools/networking/libreswan/default.nix index 71fdcc947d3..3e7719c40d4 100644 --- a/pkgs/tools/networking/libreswan/default.nix +++ b/pkgs/tools/networking/libreswan/default.nix @@ -5,9 +5,6 @@ }: let - optional = stdenv.lib.optional; - version = "3.31"; - name = "libreswan-${version}"; binPath = stdenv.lib.makeBinPath [ bash iproute iptables procps coreutils gnused gawk nss.tools which python ]; @@ -16,13 +13,13 @@ in assert docs -> xmlto != null; assert stdenv.isLinux -> libselinux != null; -stdenv.mkDerivation { - inherit name; - inherit version; +stdenv.mkDerivation rec { + pname = "libreswan"; + version = "3.32"; src = fetchurl { - url = "https://download.libreswan.org/${name}.tar.gz"; - sha256 = "1wxqsv11nqgfj5and5xzfgh6ayqvl47midcghd5ryynh60mp7naa"; + url = "https://download.libreswan.org/${pname}-${version}.tar.gz"; + sha256 = "0bj3g6qwd3ir3gk6hdl9npy3k44shf56vcgjahn30qpmx3z5fsr3"; }; # These flags were added to compile v3.18. Try to lift them when updating. @@ -37,8 +34,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper pkgconfig ]; buildInputs = [ bash iproute iptables systemd coreutils gnused gawk gmp unbound bison flex pam libevent libcap_ng curl nspr nss python ldns ] - ++ optional docs xmlto - ++ optional stdenv.isLinux libselinux; + ++ stdenv.lib.optional docs xmlto + ++ stdenv.lib.optional stdenv.isLinux libselinux; prePatch = '' # Correct bash path diff --git a/pkgs/tools/text/fastmod/default.nix b/pkgs/tools/text/fastmod/default.nix new file mode 100644 index 00000000000..4ea24328b9c --- /dev/null +++ b/pkgs/tools/text/fastmod/default.nix @@ -0,0 +1,29 @@ +{ stdenv +, fetchFromGitHub +, rustPlatform +, Security +}: + +rustPlatform.buildRustPackage rec { + pname = "fastmod"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "facebookincubator"; + repo = pname; + rev = "v${version}"; + sha256 = "0089a17h0wgan3fs6x1la35lzjs1pib7p81wqkh3zcwvx8ffa8z8"; + }; + + cargoSha256 = "02nkxjwfiljndmi0pv98chfsw9vmjzgmp5r14mchpayp4943qk9m"; + + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; + + meta = with stdenv.lib; { + description = "A utility that makes sweeping changes to large, shared code bases"; + homepage = "https://github.com/facebookincubator/fastmod"; + license = licenses.asl20; + maintainers = with maintainers; [ jduan ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 14a494a164f..d293d0000b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -955,6 +955,10 @@ in libfx2 = with python3Packages; toPythonApplication fx2; + fastmod = callPackage ../tools/text/fastmod { + inherit (darwin.apple_sdk.frameworks) Security; + }; + fitnesstrax = callPackage ../applications/misc/fitnesstrax/default.nix { }; fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { }; @@ -1784,7 +1788,7 @@ in eschalot = callPackage ../tools/security/eschalot { }; - esphome = callPackage ../servers/home-assistant/esphome.nix { }; + esphome = callPackage ../tools/misc/esphome { }; esptool = callPackage ../tools/misc/esptool { }; @@ -11414,6 +11418,8 @@ in # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 cachix = haskell.lib.justStaticExecutables haskellPackages.cachix; + hercules-ci-agent = callPackage ../development/tools/continuous-integration/hercules-ci-agent { }; + niv = haskellPackages.niv.bin; ormolu = haskellPackages.ormolu.bin; @@ -15927,14 +15933,14 @@ in nginx = nginxStable; nginxStable = callPackage ../servers/http/nginx/stable.nix { - perl = null; + withPerl = false; # We don't use `with` statement here on purpose! # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334 modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ]; }; nginxMainline = callPackage ../servers/http/nginx/mainline.nix { - perl = null; + withPerl = false; # We don't use `with` statement here on purpose! # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334 modules = [ nginxModules.dav nginxModules.moreheaders ]; @@ -15964,7 +15970,9 @@ in openafs = callPackage ../servers/openafs/1.6 { tsmbac = null; ncurses = null; }; openafs_1_8 = callPackage ../servers/openafs/1.8 { tsmbac = null; ncurses = null; }; - openresty = callPackage ../servers/http/openresty { }; + openresty = callPackage ../servers/http/openresty { + withPerl = false; + }; opensmtpd = callPackage ../servers/mail/opensmtpd { }; opensmtpd-extras = callPackage ../servers/mail/opensmtpd/extras.nix { }; @@ -19771,7 +19779,6 @@ in firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix { callPackage = pkgs.newScope { - inherit (gnome2) libIDL; libpng = libpng_apng; python = python2; gnused = gnused_422; @@ -19792,8 +19799,6 @@ in firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { channel = "release"; generated = import ../applications/networking/browsers/firefox-bin/release_sources.nix; - gconf = pkgs.gnome2.GConf; - inherit (pkgs.gnome2) libgnome libgnomeui; }; firefox-bin = wrapFirefox firefox-bin-unwrapped { @@ -19805,8 +19810,6 @@ in firefox-beta-bin-unwrapped = firefox-bin-unwrapped.override { channel = "beta"; generated = import ../applications/networking/browsers/firefox-bin/beta_sources.nix; - gconf = pkgs.gnome2.GConf; - inherit (pkgs.gnome2) libgnome libgnomeui; }; firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped { @@ -19818,8 +19821,6 @@ in firefox-devedition-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin { channel = "devedition"; generated = import ../applications/networking/browsers/firefox-bin/devedition_sources.nix; - gconf = pkgs.gnome2.GConf; - inherit (pkgs.gnome2) libgnome libgnomeui; }; firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped { @@ -22473,7 +22474,6 @@ in thonny = callPackage ../applications/editors/thonny { }; thunderbird = callPackage ../applications/networking/mailreaders/thunderbird { - inherit (gnome2) libIDL; inherit (rustPackages_1_42) rustc; libpng = libpng_apng; gtk3Support = true; @@ -22481,10 +22481,7 @@ in thunderbolt = callPackage ../os-specific/linux/thunderbolt {}; - thunderbird-bin = callPackage ../applications/networking/mailreaders/thunderbird-bin { - gconf = pkgs.gnome2.GConf; - inherit (pkgs.gnome2) libgnome libgnomeui; - }; + thunderbird-bin = callPackage ../applications/networking/mailreaders/thunderbird-bin { }; ticpp = callPackage ../development/libraries/ticpp { }; @@ -26414,6 +26411,8 @@ in urbit = callPackage ../misc/urbit { }; + utf8cpp = callPackage ../development/libraries/utf8cpp { }; + utf8proc = callPackage ../development/libraries/utf8proc { }; unicode-paracode = callPackage ../tools/misc/unicode { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0ecba8ceb46..4d4a3ad052b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -569,10 +569,7 @@ in { cadquery = callPackage ../development/python-modules/cadquery { }; - catalogue = if isPy3k then - callPackage ../development/python-modules/catalogue { } - else - callPackage ../development/python-modules/catalogue/1.nix { }; + catalogue = callPackage ../development/python-modules/catalogue { }; cbeams = callPackage ../misc/cbeams { }; @@ -2033,6 +2030,8 @@ in { cornice = callPackage ../development/python-modules/cornice { }; + crashtest = callPackage ../development/python-modules/crashtest { }; + cram = callPackage ../development/python-modules/cram { }; crc16 = callPackage ../development/python-modules/crc16 { }; @@ -2499,6 +2498,10 @@ in { pytest-astropy = callPackage ../development/python-modules/pytest-astropy { }; + pytest-astropy-header = callPackage ../development/python-modules/pytest-astropy-header { }; + + pytest-filter-subpackage = callPackage ../development/python-modules/pytest-filter-subpackage { }; + pytest-benchmark = callPackage ../development/python-modules/pytest-benchmark { }; pytestcache = callPackage ../development/python-modules/pytestcache { }; @@ -5484,7 +5487,7 @@ in { pylibacl = callPackage ../development/python-modules/pylibacl { }; - pylibgen = callPackage ../development/python-modules/pylibgen { }; + pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20 pyliblo = callPackage ../development/python-modules/pyliblo { }; @@ -6011,6 +6014,8 @@ in { extras = callPackage ../development/python-modules/extras { }; + extension-helpers = callPackage ../development/python-modules/extension-helpers { }; + texttable = callPackage ../development/python-modules/texttable { }; textwrap3 = callPackage ../development/python-modules/textwrap3 { };