diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index d40edb2408f..f6fcd5a325b 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -490,6 +490,7 @@
./services/misc/logkeys.nix
./services/misc/leaps.nix
./services/misc/lidarr.nix
+ ./services/misc/lifecycled.nix
./services/misc/mame.nix
./services/misc/matrix-appservice-discord.nix
./services/misc/matrix-synapse.nix
diff --git a/nixos/modules/services/misc/lifecycled.nix b/nixos/modules/services/misc/lifecycled.nix
new file mode 100644
index 00000000000..1c8942998d6
--- /dev/null
+++ b/nixos/modules/services/misc/lifecycled.nix
@@ -0,0 +1,164 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+ cfg = config.services.lifecycled;
+
+ # TODO: Add the ability to extend this with an rfc 42-like interface.
+ # In the meantime, one can modify the environment (as
+ # long as it's not overriding anything from here) with
+ # systemd.services.lifecycled.serviceConfig.Environment
+ configFile = pkgs.writeText "lifecycled" ''
+ LIFECYCLED_HANDLER=${cfg.handler}
+ ${lib.optionalString (cfg.cloudwatchGroup != null) "LIFECYCLED_CLOUDWATCH_GROUP=${cfg.cloudwatchGroup}"}
+ ${lib.optionalString (cfg.cloudwatchStream != null) "LIFECYCLED_CLOUDWATCH_STREAM=${cfg.cloudwatchStream}"}
+ ${lib.optionalString cfg.debug "LIFECYCLED_DEBUG=${lib.boolToString cfg.debug}"}
+ ${lib.optionalString (cfg.instanceId != null) "LIFECYCLED_INSTANCE_ID=${cfg.instanceId}"}
+ ${lib.optionalString cfg.json "LIFECYCLED_JSON=${lib.boolToString cfg.json}"}
+ ${lib.optionalString cfg.noSpot "LIFECYCLED_NO_SPOT=${lib.boolToString cfg.noSpot}"}
+ ${lib.optionalString (cfg.snsTopic != null) "LIFECYCLED_SNS_TOPIC=${cfg.snsTopic}"}
+ ${lib.optionalString (cfg.awsRegion != null) "AWS_REGION=${cfg.awsRegion}"}
+ '';
+in
+{
+ meta.maintainers = with maintainers; [ cole-h grahamc ];
+
+ options = {
+ services.lifecycled = {
+ enable = mkEnableOption "lifecycled";
+
+ queueCleaner = {
+ enable = mkEnableOption "lifecycled-queue-cleaner";
+
+ frequency = mkOption {
+ type = types.str;
+ default = "hourly";
+ description = ''
+ How often to trigger the queue cleaner.
+
+ NOTE: This string should be a valid value for a systemd
+ timer's OnCalendar configuration. See
+ systemd.timer5
+ for more information.
+ '';
+ };
+
+ parallel = mkOption {
+ type = types.ints.unsigned;
+ default = 20;
+ description = ''
+ The number of parallel deletes to run.
+ '';
+ };
+ };
+
+ instanceId = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ The instance ID to listen for events for.
+ '';
+ };
+
+ snsTopic = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ The SNS topic that receives events.
+ '';
+ };
+
+ noSpot = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Disable the spot termination listener.
+ '';
+ };
+
+ handler = mkOption {
+ type = types.path;
+ description = ''
+ The script to invoke to handle events.
+ '';
+ };
+
+ json = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable JSON logging.
+ '';
+ };
+
+ cloudwatchGroup = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ Write logs to a specific Cloudwatch Logs group.
+ '';
+ };
+
+ cloudwatchStream = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ Write logs to a specific Cloudwatch Logs stream. Defaults to the instance ID.
+ '';
+ };
+
+ debug = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable debugging information.
+ '';
+ };
+
+ # XXX: Can be removed if / when
+ # https://github.com/buildkite/lifecycled/pull/91 is merged.
+ awsRegion = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ The region used for accessing AWS services.
+ '';
+ };
+ };
+ };
+
+ ### Implementation ###
+
+ config = mkMerge [
+ (mkIf cfg.enable {
+ environment.etc."lifecycled".source = configFile;
+
+ systemd.packages = [ pkgs.lifecycled ];
+ systemd.services.lifecycled = {
+ wantedBy = [ "network-online.target" ];
+ restartTriggers = [ configFile ];
+ };
+ })
+
+ (mkIf cfg.queueCleaner.enable {
+ systemd.services.lifecycled-queue-cleaner = {
+ description = "Lifecycle Daemon Queue Cleaner";
+ environment = optionalAttrs (cfg.awsRegion != null) { AWS_REGION = cfg.awsRegion; };
+ serviceConfig = {
+ Type = "oneshot";
+ ExecStart = "${pkgs.lifecycled}/bin/lifecycled-queue-cleaner -parallel ${toString cfg.queueCleaner.parallel}";
+ };
+ };
+
+ systemd.timers.lifecycled-queue-cleaner = {
+ description = "Lifecycle Daemon Queue Cleaner Timer";
+ wantedBy = [ "timers.target" ];
+ after = [ "network-online.target" ];
+ timerConfig = {
+ Unit = "lifecycled-queue-cleaner.service";
+ OnCalendar = "${cfg.queueCleaner.frequency}";
+ };
+ };
+ })
+ ];
+}
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index 036bf668bc1..88727e70ee3 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -73,7 +73,7 @@ let
notifierFile = pkgs.writeText "notifier.yaml" (builtins.toJSON notifierConfiguration);
provisionConfDir = pkgs.runCommand "grafana-provisioning" { } ''
- mkdir -p $out/{datasources,dashboards}
+ mkdir -p $out/{datasources,dashboards,notifiers}
ln -sf ${datasourceFile} $out/datasources/datasource.yaml
ln -sf ${dashboardFile} $out/dashboards/dashboard.yaml
ln -sf ${notifierFile} $out/notifiers/notifier.yaml
diff --git a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix
index d7f0a7fb20e..400f268d439 100644
--- a/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "CharacterCompressor";
version = "0.3.3";
diff --git a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix
index 7a917d79c57..0b80aef170a 100644
--- a/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "CompBus";
version = "1.1.1";
diff --git a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix
index 5ac71172325..56534309733 100644
--- a/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "constant-detune-chorus";
version = "0.1.3";
diff --git a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix
index 277b186fd4a..4b1157de0b0 100644
--- a/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "LazyLimiter";
version = "0.3.2";
diff --git a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix
index de7e573cbee..f951486e3fa 100644
--- a/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "MBdistortion";
version = "1.1.1";
diff --git a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix
index 80c5bb89eee..fff4292cd76 100644
--- a/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "RhythmDelay";
version = "2.1";
diff --git a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix
index 9bd4076f130..6bc8cff2261 100644
--- a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jack, faust2lv2, helmholtz, mrpeach, puredata-with-plugins }:
+{ lib, stdenv, fetchFromGitHub, faust2jack, faust2lv2, helmholtz, mrpeach, puredata-with-plugins }:
stdenv.mkDerivation rec {
pname = "VoiceOfFaust";
version = "1.1.4";
diff --git a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
index a90492f4235..7ea5fa753c8 100644
--- a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
name = "faustCompressors-v${version}";
version = "1.2";
diff --git a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix
index 414e350caa0..fd807dd4245 100644
--- a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "pluginUtils";
version = "1.1";
diff --git a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix
index 7dcdf985c82..07d4402578c 100644
--- a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "shelfMultiBand";
version = "0.6.1";
diff --git a/pkgs/applications/misc/pure-maps/default.nix b/pkgs/applications/misc/pure-maps/default.nix
new file mode 100644
index 00000000000..3ee87d58c08
--- /dev/null
+++ b/pkgs/applications/misc/pure-maps/default.nix
@@ -0,0 +1,46 @@
+{ lib, mkDerivation, fetchFromGitHub, wrapQtAppsHook
+, qmake, qttools, kirigami2, qtquickcontrols2, qtlocation, qtsensors
+, nemo-qml-plugin-dbus, mapbox-gl-qml, s2geometry
+, python3, pyotherside, python3Packages
+}:
+
+mkDerivation rec {
+ pname = "pure-maps";
+ version = "2.6.0";
+
+ src = fetchFromGitHub {
+ owner = "rinigus";
+ repo = "pure-maps";
+ rev = version;
+ sha256 = "1nviq2pavyxwh9k4kyzqpbzmx1wybwdax4pyd017izh9h6gqnjhs";
+ fetchSubmodules = true;
+ };
+
+ nativeBuildInputs = [ qmake python3 qttools wrapQtAppsHook ];
+ buildInputs = [
+ kirigami2 qtquickcontrols2 qtlocation qtsensors
+ nemo-qml-plugin-dbus pyotherside mapbox-gl-qml s2geometry
+ ];
+ propagatedBuildInputs = with python3Packages; [ gpxpy pyxdg ];
+
+ postPatch = ''
+ substituteInPlace pure-maps.pro \
+ --replace '$$[QT_HOST_BINS]/lconvert' 'lconvert'
+ '';
+
+ qmakeFlags = [ "FLAVOR=kirigami" ];
+
+ dontWrapQtApps = true;
+ postInstall = ''
+ wrapQtApp $out/bin/pure-maps \
+ --prefix PYTHONPATH : "$out/share"
+ '';
+
+ meta = with lib; {
+ description = "Display vector and raster maps, places, routes, and provide navigation instructions with a flexible selection of data and service providers";
+ homepage = "https://github.com/rinigus/pure-maps";
+ license = licenses.gpl3Only;
+ maintainers = [ maintainers.Thra11 ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/misc/robomongo/default.nix b/pkgs/applications/misc/robomongo/default.nix
index e8bba1f7a34..af5285909c6 100644
--- a/pkgs/applications/misc/robomongo/default.nix
+++ b/pkgs/applications/misc/robomongo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zlib, glib, xorg, dbus, fontconfig,
+{ lib, stdenv, fetchurl, zlib, glib, xorg, dbus, fontconfig,
freetype, xkeyboard_config, makeDesktopItem, makeWrapper }:
stdenv.mkDerivation rec {
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index b3f26c87c50..ee781c75e69 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -1,19 +1,37 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libuuid, gnutls }:
+{ lib, stdenv, fetchurl, cmake, libuuid, gnutls, python3, bash }:
stdenv.mkDerivation rec {
pname = "taskwarrior";
- version = "2.5.2";
+ version = "2.5.3";
- src = fetchFromGitHub {
- owner = "GothenburgBitFactory";
- repo = "taskwarrior";
- rev = "v${version}";
- sha256 = "0jv5b56v75qhdqbrfsddfwizmbizcsv3mn8gp92nckwlx9hrk5id";
- fetchSubmodules = true;
- };
+ srcs = [
+ (fetchurl {
+ url = " https://github.com/GothenburgBitFactory/taskwarrior/releases/download/v${version}/${sourceRoot}.tar.gz";
+ sha256 = "0fwnxshhlha21hlgg5z1ad01w13zm1hlmncs274y5n8i15gdfhvj";
+ })
+ (fetchurl {
+ url = "https://github.com/GothenburgBitFactory/taskwarrior/releases/download/v${version}/tests-${version}.tar.gz";
+ sha256 = "165xmf9h6rb7l6l9nlyygj0mx9bi1zyd78z0lrl3nadhmgzggv0b";
+ })
+ ];
+
+ sourceRoot = "task-${version}";
+
+ postUnpack = ''
+ mv test ${sourceRoot}
+ '';
nativeBuildInputs = [ cmake libuuid gnutls ];
+ doCheck = true;
+ preCheck = ''
+ find test -type f -exec sed -i \
+ -e "s|/usr/bin/env python3|${python3.interpreter}|" \
+ -e "s|/usr/bin/env bash|${bash}/bin/bash|" \
+ {} +
+ '';
+ checkTarget = "test";
+
postInstall = ''
mkdir -p "$out/share/bash-completion/completions"
ln -s "../../doc/task/scripts/bash/task.sh" "$out/share/bash-completion/completions/task.bash"
@@ -28,6 +46,6 @@ stdenv.mkDerivation rec {
homepage = "https://taskwarrior.org";
license = licenses.mit;
maintainers = with maintainers; [ marcweber ];
- platforms = platforms.linux ++ platforms.darwin;
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
index 917da034c30..8656b4aaa27 100644
--- a/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -1,34 +1,56 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, wrapGAppsHook
-, help2man, luafilesystem, luajit, sqlite
-, webkitgtk, gtk3, gst_all_1, glib-networking
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, wrapGAppsHook
+, help2man
+, glib-networking
+, gst_all_1
+, gtk3
+, luafilesystem
+, luajit
+, sqlite
+, webkitgtk
}:
stdenv.mkDerivation rec {
pname = "luakit";
- version = "2.2.1";
+ version = "2.3";
src = fetchFromGitHub {
owner = "luakit";
repo = pname;
rev = version;
- sha256 = "sha256-78B8vXkWsFMJIHA72Qrk2SWubrY6YuArqcM0UAPjpzc=";
+ hash = "sha256-5YeJkbWk1wHxWXqWOvhEDeScWPU/aRVhuOWRHLSHVZM=";
};
nativeBuildInputs = [
- pkg-config help2man wrapGAppsHook
+ pkg-config
+ help2man
+ wrapGAppsHook
];
-
buildInputs = [
- webkitgtk luafilesystem luajit sqlite gtk3
+ gtk3
glib-networking # TLS support
- ] ++ ( with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good
- gst-plugins-bad gst-plugins-ugly gst-libav ]);
+ luafilesystem
+ luajit
+ sqlite
+ webkitgtk
+ ] ++ ( with gst_all_1; [
+ gstreamer
+ gst-plugins-base
+ gst-plugins-good
+ gst-plugins-bad
+ gst-plugins-ugly
+ gst-libav
+ ]);
+
+ # build-utils/docgen/gen.lua:2: module 'lib.lousy.util' not found
+ # TODO: why is not this the default? The test runner adds
+ # ';./lib/?.lua;./lib/?/init.lua' to package.path, but the build-utils
+ # scripts don't add an equivalent
preBuild = ''
- # build-utils/docgen/gen.lua:2: module 'lib.lousy.util' not found
- # TODO: why is not this the default? The test runner adds
- # ';./lib/?.lua;./lib/?/init.lua' to package.path, but the build-utils
- # scripts don't add an equivalent
export LUA_PATH="$LUA_PATH;./?.lua;./?/init.lua"
'';
@@ -52,6 +74,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
+ homepage = "https://luakit.github.io/";
description = "Fast, small, webkit-based browser framework extensible in Lua";
longDescription = ''
Luakit is a highly configurable browser framework based on the WebKit web
@@ -60,9 +83,8 @@ stdenv.mkDerivation rec {
power users, developers and anyone who wants to have fine-grained control
over their web browser’s behaviour and interface.
'';
- homepage = "https://luakit.github.io/";
license = licenses.gpl3Only;
- platforms = platforms.unix;
maintainers = [ maintainers.AndersonTorres ];
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/applications/networking/cluster/helm/plugins/default.nix b/pkgs/applications/networking/cluster/helm/plugins/default.nix
new file mode 100644
index 00000000000..edd19a25f9b
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helm/plugins/default.nix
@@ -0,0 +1,11 @@
+{ callPackage }:
+
+{
+
+ helm-diff = callPackage ./helm-diff.nix {};
+
+ helm-s3 = callPackage ./helm-s3.nix {};
+
+ helm-secrets = callPackage ./helm-secrets.nix {};
+
+}
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
new file mode 100644
index 00000000000..ce6491bfba4
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix
@@ -0,0 +1,35 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+ pname = "helm-diff";
+ version = "3.1.3";
+
+ src = fetchFromGitHub {
+ owner = "databus23";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-h26EOjKNrlcrs2DAYj0NmDRgNRKozjfw5DtxUgHNTa4=";
+ };
+
+ vendorSha256 = "sha256-+n/QBuZqtdgUkaBG7iqSuBfljn+AdEzDoIo5SI8ErQA=";
+
+ # NOTE: Remove the install and upgrade hooks.
+ postPatch = ''
+ sed -i '/^hooks:/,+2 d' plugin.yaml
+ '';
+
+ postInstall = ''
+ install -dm755 $out/${pname}
+ mv $out/bin $out/${pname}/
+ mv $out/${pname}/bin/{helm-,}diff
+ install -m644 -Dt $out/${pname} plugin.yaml
+ '';
+
+ meta = with lib; {
+ description = "A Helm plugin that shows a diff";
+ inherit (src.meta) homepage;
+ license = licenses.apsl20;
+ maintainers = with maintainers; [ yurrriq ];
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
new file mode 100644
index 00000000000..661048a0c72
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
@@ -0,0 +1,38 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+ pname = "helm-s3";
+ version = "0.10.0";
+
+ src = fetchFromGitHub {
+ owner = "hypnoglow";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-2BQ/qtoL+iFbuLvrJGUuxWFKg9u1sVDRcRm2/S0mgyc=";
+ };
+
+ vendorSha256 = "sha256-/9TiY0XdkiNxW5JYeC5WD9hqySCyYYU8lB+Ft5Vm96I=";
+
+ # NOTE: Remove the install and upgrade hooks.
+ postPatch = ''
+ sed -i '/^hooks:/,+2 d' plugin.yaml
+ '';
+
+ checkPhase = ''
+ make test-unit
+ '';
+
+ postInstall = ''
+ install -dm755 $out/${pname}
+ mv $out/bin $out/${pname}/
+ install -m644 -Dt $out/${pname} plugin.yaml
+ '';
+
+ meta = with lib; {
+ description = "A Helm plugin that shows a diff";
+ inherit (src.meta) homepage;
+ license = licenses.apsl20;
+ maintainers = with maintainers; [ yurrriq ];
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
new file mode 100644
index 00000000000..d53abe3569c
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, findutils, getopt, gnugrep, gnused, sops, vault }:
+
+stdenv.mkDerivation rec {
+ pname = "helm-secrets";
+ version = "3.4.1";
+
+ src = fetchFromGitHub {
+ owner = "jkroepke";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-EXCr0QjupsBBKTm6Opw5bcNwAD4FGGyOiqaa8L91/OI=";
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+ buildInputs = [ getopt sops ];
+
+ # NOTE: helm-secrets is comprised of shell scripts.
+ dontBuild = true;
+
+ # NOTE: Remove the install and upgrade hooks.
+ postPatch = ''
+ sed -i '/^hooks:/,+2 d' plugin.yaml
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ install -dm755 $out/${pname} $out/${pname}/scripts
+ install -m644 -Dt $out/${pname} plugin.yaml
+ cp -r scripts/* $out/${pname}/scripts
+ wrapProgram $out/${pname}/scripts/run.sh \
+ --prefix PATH : ${lib.makeBinPath [ coreutils findutils getopt gnugrep gnused sops vault ]}
+
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "A Helm plugin that helps manage secrets";
+ inherit (src.meta) homepage;
+ license = licenses.apsl20;
+ maintainers = with maintainers; [ yurrriq ];
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/applications/networking/cluster/helm/wrapper.nix b/pkgs/applications/networking/cluster/helm/wrapper.nix
new file mode 100644
index 00000000000..edad7fa1bc9
--- /dev/null
+++ b/pkgs/applications/networking/cluster/helm/wrapper.nix
@@ -0,0 +1,48 @@
+{ stdenv, symlinkJoin, lib, makeWrapper
+, writeText
+}:
+
+helm:
+
+let
+ wrapper = {
+ plugins ? [],
+ extraMakeWrapperArgs ? ""
+ }:
+ let
+
+ initialMakeWrapperArgs = [
+ "${helm}/bin/helm" "${placeholder "out"}/bin/helm"
+ "--argv0" "$0" "--set" "HELM_PLUGINS" "${pluginsDir}"
+ ];
+
+ pluginsDir = symlinkJoin {
+ name = "helm-plugins";
+ paths = plugins;
+ };
+in
+ symlinkJoin {
+ name = "helm-${lib.getVersion helm}";
+
+ # Remove the symlinks created by symlinkJoin which we need to perform
+ # extra actions upon
+ postBuild = ''
+ rm $out/bin/helm
+ makeWrapper ${lib.escapeShellArgs initialMakeWrapperArgs} ${extraMakeWrapperArgs}
+ '';
+ paths = [ helm pluginsDir ];
+
+ preferLocalBuild = true;
+
+ nativeBuildInputs = [ makeWrapper ];
+ passthru = { unwrapped = helm; };
+
+ meta = helm.meta // {
+ # To prevent builds on hydra
+ hydraPlatforms = [];
+ # prefer wrapper over the package
+ priority = (helm.meta.priority or 0) - 1;
+ };
+ };
+in
+ lib.makeOverridable wrapper
diff --git a/pkgs/applications/science/logic/sad/default.nix b/pkgs/applications/science/logic/sad/default.nix
index 8e4d19973ef..fe0ca1b3017 100644
--- a/pkgs/applications/science/logic/sad/default.nix
+++ b/pkgs/applications/science/logic/sad/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, haskell, spass }:
+{ lib, stdenv, fetchurl, haskell, spass }:
stdenv.mkDerivation {
name = "system-for-automated-deduction-2.3.25";
diff --git a/pkgs/development/compilers/chicken/4/default.nix b/pkgs/development/compilers/chicken/4/default.nix
index 8d29c7c9a2b..5445469b776 100644
--- a/pkgs/development/compilers/chicken/4/default.nix
+++ b/pkgs/development/compilers/chicken/4/default.nix
@@ -1,4 +1,4 @@
-{ newScope } :
+{ lib, newScope } :
let
callPackage = newScope self;
@@ -18,4 +18,4 @@ let
egg2nix = callPackage ./egg2nix.nix { };
};
-in self
+in lib.recurseIntoAttrs self
diff --git a/pkgs/development/compilers/chicken/4/egg2nix.nix b/pkgs/development/compilers/chicken/4/egg2nix.nix
index d2f2805ed7f..422053ea9d8 100644
--- a/pkgs/development/compilers/chicken/4/egg2nix.nix
+++ b/pkgs/development/compilers/chicken/4/egg2nix.nix
@@ -1,4 +1,4 @@
-{ eggDerivation, fetchurl, chickenEggs }:
+{ lib, eggDerivation, fetchurl, chickenEggs }:
# Note: This mostly reimplements the default.nix already contained in
# the tarball. Is there a nicer way than duplicating code?
diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix
index 8d29c7c9a2b..5445469b776 100644
--- a/pkgs/development/compilers/chicken/5/default.nix
+++ b/pkgs/development/compilers/chicken/5/default.nix
@@ -1,4 +1,4 @@
-{ newScope } :
+{ lib, newScope } :
let
callPackage = newScope self;
@@ -18,4 +18,4 @@ let
egg2nix = callPackage ./egg2nix.nix { };
};
-in self
+in lib.recurseIntoAttrs self
diff --git a/pkgs/development/compilers/llvm/11/libc++/default.nix b/pkgs/development/compilers/llvm/11/libc++/default.nix
index 0bb1ae33acd..6adb824f539 100644
--- a/pkgs/development/compilers/llvm/11/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/11/libc++/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version
+{ lib, stdenv, fetch, fetchpatch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version
, enableShared ? !stdenv.hostPlatform.isStatic
}:
@@ -15,7 +15,14 @@ stdenv.mkDerivation {
mv llvm-* llvm
'';
- patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
+ patches = [
+ (fetchpatch {
+ # Backported from LLVM 12, avoids clashes with commonly used "block.h" header.
+ url = "https://github.com/llvm/llvm-project/commit/19bc9ea480b60b607a3e303f20c7a3a2ea553369.patch";
+ sha256 = "sha256-aWa66ogmPkG0xHzSfcpD0qZyZQcNKwLV44js4eiun78=";
+ stripLen = 1;
+ })
+ ] ++ lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
patchShebangs utils/cat_files.py
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index abff1268bfa..6158eb87511 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -132,7 +132,8 @@ stdenv.mkDerivation {
license = licenses.boost;
platforms = platforms.unix ++ platforms.windows;
badPlatforms = optional (versionOlder version "1.59") "aarch64-linux"
- ++ optional ((versionOlder version "1.57") || version == "1.58") "x86_64-darwin";
+ ++ optional ((versionOlder version "1.57") || version == "1.58") "x86_64-darwin"
+ ++ optionals (versionOlder version "1.73") lib.platforms.riscv;
maintainers = with maintainers; [ peti ];
};
@@ -149,6 +150,9 @@ stdenv.mkDerivation {
cat << EOF >> user-config.jam
using gcc : cross : ${stdenv.cc.targetPrefix}c++ ;
EOF
+ # Build b2 with buildPlatform CC/CXX.
+ sed '2i export CC=$CC_FOR_BUILD; export CXX=$CXX_FOR_BUILD' \
+ -i ./tools/build/src/engine/build.sh
'';
NIX_CFLAGS_LINK = lib.optionalString stdenv.isDarwin
diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix
index 341754376aa..cb494f69fd1 100644
--- a/pkgs/development/libraries/libcec/default.nix
+++ b/pkgs/development/libraries/libcec/default.nix
@@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, cmake, pkg-config, udev, libcec_platform, libraspberrypi ? null }:
-let version = "4.0.7"; in
+let version = "6.0.2"; in
stdenv.mkDerivation {
pname = "libcec";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://github.com/Pulse-Eight/libcec/archive/libcec-${version}.tar.gz";
- sha256 = "0nii8qh3qrn92g8x3canj4glb2bjn6gc1p3f6hfp59ckd4vjrndw";
+ sha256 = "0xrkrcgfgr5r8r0854bw3i9jbq4jmf8nzc5vrrx2sxzvlkbrc1h9";
};
nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/development/libraries/libelf-freebsd/default.nix b/pkgs/development/libraries/libelf-freebsd/default.nix
index c3a4986c832..d4a8b8f6f21 100644
--- a/pkgs/development/libraries/libelf-freebsd/default.nix
+++ b/pkgs/development/libraries/libelf-freebsd/default.nix
@@ -1,4 +1,4 @@
-{ fetchsvn, stdenv, gnum4, tet }:
+{ lib, fetchsvn, stdenv, gnum4, tet }:
stdenv.mkDerivation (rec {
version = "3258";
@@ -8,6 +8,7 @@ stdenv.mkDerivation (rec {
url = "svn://svn.code.sf.net/p/elftoolchain/code/trunk";
rev = (lib.strings.toInt version);
name = "elftoolchain-${version}";
+ sha256 = "1rcmddjanlsik0b055x8k914r9rxs8yjsvslia2nh1bhzf1lxmqz";
};
buildInputs = [ gnum4 tet ];
diff --git a/pkgs/development/libraries/mapbox-gl-native/default.nix b/pkgs/development/libraries/mapbox-gl-native/default.nix
new file mode 100644
index 00000000000..e98903e3a83
--- /dev/null
+++ b/pkgs/development/libraries/mapbox-gl-native/default.nix
@@ -0,0 +1,33 @@
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config
+, qtbase, curl, libuv, glfw3 }:
+
+mkDerivation rec {
+ pname = "mapbox-gl-native";
+ version = "2020.06.07";
+
+ src = fetchFromGitHub {
+ owner = "mapbox";
+ repo = "mapbox-gl-native";
+ rev = "e18467d755f470b26f61f6893eddd76ecf0816e6";
+ sha256 = "1x271gg9h81jpi70pv63i6lsa1zg6bzja9mbz7bsa4s02fpqy7wh";
+ fetchSubmodules = true;
+ };
+
+ nativeBuildInputs = [ cmake pkg-config ];
+ buildInputs = [ curl libuv glfw3 qtbase ];
+
+ cmakeFlags = [
+ "-DMBGL_WITH_QT=ON"
+ "-DMBGL_WITH_QT_LIB_ONLY=ON"
+ "-DMBGL_WITH_QT_HEADLESS=OFF"
+ ];
+ NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations -Wno-error=type-limits";
+
+ meta = with lib; {
+ description = "Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL";
+ homepage = "https://mapbox.com/mobile";
+ license = licenses.bsd2;
+ maintainers = [ maintainers.Thra11 ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/development/libraries/mapbox-gl-qml/default.nix b/pkgs/development/libraries/mapbox-gl-qml/default.nix
new file mode 100644
index 00000000000..1740b9ae580
--- /dev/null
+++ b/pkgs/development/libraries/mapbox-gl-qml/default.nix
@@ -0,0 +1,32 @@
+{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtlocation, mapbox-gl-native }:
+
+mkDerivation rec {
+ pname = "mapbox-gl-qml";
+ version = "1.7.5";
+
+ src = fetchFromGitHub {
+ owner = "rinigus";
+ repo = "mapbox-gl-qml";
+ rev = version;
+ sha256 = "1izwkfqn8jl83vihcxl2b159sqmkn1amxf92zw0h6psls2g9xhwx";
+ };
+
+ nativeBuildInputs = [ qmake ];
+ buildInputs = [ qtlocation mapbox-gl-native ];
+
+ postPatch = ''
+ substituteInPlace mapbox-gl-qml.pro \
+ --replace '$$[QT_INSTALL_QML]' $out'/${qtbase.qtQmlPrefix}'
+ '';
+
+ # Package expects qt5 subdirectory of mapbox-gl-native to be in the include path
+ NIX_CFLAGS_COMPILE = "-I${mapbox-gl-native}/include/qt5";
+
+ meta = with lib; {
+ description = "Unofficial Mapbox GL Native bindings for Qt QML";
+ homepage = "https://github.com/rinigus/mapbox-gl-qml";
+ license = licenses.lgpl3Only;
+ maintainers = [ maintainers.Thra11 ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/development/libraries/nemo-qml-plugin-dbus/default.nix b/pkgs/development/libraries/nemo-qml-plugin-dbus/default.nix
new file mode 100644
index 00000000000..5a680b9da9a
--- /dev/null
+++ b/pkgs/development/libraries/nemo-qml-plugin-dbus/default.nix
@@ -0,0 +1,33 @@
+{ mkDerivation, lib, fetchFromGitLab, qmake, qtbase }:
+
+mkDerivation rec {
+ pname = "nemo-qml-plugin-dbus";
+ version = "2.1.23";
+
+ src = fetchFromGitLab {
+ domain = "git.sailfishos.org";
+ owner = "mer-core";
+ repo = "nemo-qml-plugin-dbus";
+ rev = version;
+ sha256 = "0ww478ds7a6h4naa7vslj6ckn9cpsgcml0q7qardkzmdmxsrv1ag";
+ };
+
+ nativeBuildInputs = [ qmake ];
+
+ postPatch = ''
+ substituteInPlace dbus.pro --replace ' tests' ""
+ substituteInPlace src/nemo-dbus/nemo-dbus.pro \
+ --replace /usr $out \
+ --replace '$$[QT_INSTALL_LIBS]' $out'/lib'
+ substituteInPlace src/plugin/plugin.pro \
+ --replace '$$[QT_INSTALL_QML]' $out'/${qtbase.qtQmlPrefix}'
+ '';
+
+ meta = with lib; {
+ description = "Nemo DBus plugin for qml";
+ homepage = "https://git.sailfishos.org/mer-core/nemo-qml-plugin-dbus/";
+ license = licenses.lgpl2Only;
+ maintainers = [ maintainers.Thra11 ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/development/libraries/s2geometry/default.nix b/pkgs/development/libraries/s2geometry/default.nix
new file mode 100644
index 00000000000..afd5ffa0a0a
--- /dev/null
+++ b/pkgs/development/libraries/s2geometry/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, openssl, gtest }:
+
+stdenv.mkDerivation rec {
+ pname = "s2geometry";
+ version = "0.9.0";
+
+ src = fetchFromGitHub {
+ owner = "google";
+ repo = "s2geometry";
+ rev = "v${version}";
+ sha256 = "1mx61bnn2f6bd281qlhn667q6yfg1pxzd2js88l5wpkqlfzzhfaz";
+ };
+
+ patches = [
+ # Fix build https://github.com/google/s2geometry/issues/165
+ (fetchpatch {
+ url = "https://github.com/google/s2geometry/commit/a4dddf40647c68cd0104eafc31e9c8fb247a6308.patch";
+ sha256 = "0fp3w4bg7pgf5vv4vacp9g06rbqzhxc2fg6i5appp93q6phiinvi";
+ })
+ ];
+
+ nativeBuildInputs = [ cmake pkg-config ];
+ buildInputs = [ openssl gtest ];
+
+ meta = with lib; {
+ description = "Computational geometry and spatial indexing on the sphere";
+ homepage = "http://s2geometry.io/";
+ license = licenses.asl20;
+ maintainers = [ maintainers.Thra11 ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix
index f53877e03a3..058282b4c35 100644
--- a/pkgs/development/python-modules/aioshelly/default.nix
+++ b/pkgs/development/python-modules/aioshelly/default.nix
@@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "aioshelly";
- version = "0.5.4";
+ version = "0.6.1";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = pname;
rev = version;
- sha256 = "sha256-EjzWx3wcmTfB3OmN0OB37K6wYKVO3HzGEIf+uihas8k=";
+ sha256 = "sha256-2igN5mmkXyYpQeAoPAYzhirictuionVMbqifNigEYdw=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/exrex/default.nix b/pkgs/development/python-modules/exrex/default.nix
new file mode 100644
index 00000000000..8c980c8d00f
--- /dev/null
+++ b/pkgs/development/python-modules/exrex/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+ pname = "exrex";
+ version = "0.10.5";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1wq8nyycdprxl9q9y1pfhkbca4rvysj45h1xn7waybl3v67v3f1z";
+ };
+
+ # Projec thas no released tests
+ doCheck = false;
+ pythonImportsCheck = [ "exrex" ];
+
+ meta = with lib; {
+ description = "Irregular methods on regular expressions";
+ homepage = "https://github.com/asciimoo/exrex";
+ license = with licenses; [ agpl3Plus ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 644c7ef9185..228f3b68b61 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -17,11 +17,11 @@
buildPythonPackage rec {
pname = "google-cloud-bigquery";
- version = "2.9.0";
+ version = "2.10.0";
src = fetchPypi {
inherit pname version;
- sha256 = "33fcbdf5567bdb7657fb3485f061e7f1b45361f65fdafc168ab9172117fd9a5a";
+ sha256 = "fac9adb1394d948e259fba1df4e86a6c34cfccaf19af7bdbdf9640cf6e313a71";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/myjwt/default.nix b/pkgs/development/python-modules/myjwt/default.nix
new file mode 100644
index 00000000000..d80e66e07bf
--- /dev/null
+++ b/pkgs/development/python-modules/myjwt/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, click
+, colorama
+, cryptography
+, exrex
+, pyopenssl
+, pyperclip
+, questionary
+, requests
+, pytestCheckHook
+, pytest-mock
+, requests-mock
+}:
+
+buildPythonPackage rec {
+ pname = "myjwt";
+ version = "1.4.0";
+
+ src = fetchFromGitHub {
+ owner = "mBouamama";
+ repo = "MyJWT";
+ rev = version;
+ sha256 = "1n3lvdrzp6wbbcygjwa7xar2jnhjnrz7a9khmn2phhkkngxm5rc4";
+ };
+
+ patches = [ ./pinning.patch ];
+
+ propagatedBuildInputs = [
+ click
+ colorama
+ cryptography
+ exrex
+ pyopenssl
+ pyperclip
+ questionary
+ requests
+ ];
+
+ checkInputs = [
+ pytestCheckHook
+ pytest-mock
+ requests-mock
+ ];
+
+ pythonImportsCheck = [ "myjwt" ];
+
+ meta = with lib; {
+ description = "CLI tool for testing vulnerabilities on Json Web Token(JWT)";
+ homepage = "https://github.com/mBouamama/MyJWT";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ fab ];
+ # Build failures
+ broken = stdenv.isDarwin;
+ };
+}
diff --git a/pkgs/development/python-modules/myjwt/pinning.patch b/pkgs/development/python-modules/myjwt/pinning.patch
new file mode 100644
index 00000000000..abae9d0e2ec
--- /dev/null
+++ b/pkgs/development/python-modules/myjwt/pinning.patch
@@ -0,0 +1,21 @@
+diff --git a/requirements.txt b/requirements.txt
+index 3017e02..2b465db 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,8 +1,8 @@
+-click==7.1.2
+-colorama==0.4.4
+-cryptography==3.3.1
+-exrex==0.10.5
+-pyOpenSSL==20.0.1
+-pyperclip==1.8.1
+-questionary==1.9.0
+-requests==2.25.1
++click
++colorama
++cryptography
++exrex
++pyOpenSSL
++pyperclip
++questionary
++requests
diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index 8596883326b..cd8c566c465 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "pyinsteon";
- version = "1.0.8";
+ version = "1.0.9";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
- sha256 = "0d028fcqmdzxp0vsz7digx794s9l65ydsnsyvyx275z6577x7h4h";
+ sha256 = "sha256-+3tA+YdpTKDt7uOSl6Z1G8jTjpBJ8S9gjiQTacQSFTc=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylutron/default.nix b/pkgs/development/python-modules/pylutron/default.nix
index 33dfde5cbb8..b9ed3cc20e2 100644
--- a/pkgs/development/python-modules/pylutron/default.nix
+++ b/pkgs/development/python-modules/pylutron/default.nix
@@ -9,7 +9,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
- sha256 = "c305530e9a114ff4c8261a116a9d13d356bc82662dfaf7ca73e01346cea9841e";
+ sha256 = "sha256-wwVTDpoRT/TIJhoRap0T01a8gmYt+vfKc+ATRs6phB4=";
};
# Project has no tests
diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix
index e93d0b602b4..71788db45c9 100644
--- a/pkgs/development/python-modules/pymyq/default.nix
+++ b/pkgs/development/python-modules/pymyq/default.nix
@@ -4,17 +4,19 @@
, buildPythonPackage
, fetchFromGitHub
, pkce
+, pythonOlder
}:
buildPythonPackage rec {
pname = "pymyq";
- version = "3.0.3";
+ version = "3.0.4";
+ disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "arraylabs";
repo = pname;
rev = "v${version}";
- sha256 = "1wrfnbz87ns2ginyvljna0axl35s0xfaiqwzapxm8ira40ax5wrl";
+ sha256 = "sha256-jeoFlLBjD81Bt6E75rk4U1Ach53KGy23QGx+A6X2rpg=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/questionary/default.nix b/pkgs/development/python-modules/questionary/default.nix
new file mode 100644
index 00000000000..ecb33f6adb1
--- /dev/null
+++ b/pkgs/development/python-modules/questionary/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry
+, prompt_toolkit
+, pytest-cov
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+ pname = "questionary";
+ version = "1.9.0";
+ format = "pyproject";
+
+ src = fetchFromGitHub {
+ owner = "tmbo";
+ repo = pname;
+ rev = version;
+ sha256 = "1x748bz7l2r48031dj6vr6jvvac28pv6vx1bina4lz60h1qac1kf";
+ };
+
+ nativeBuildInputs = [ poetry ];
+
+ propagatedBuildInputs = [ prompt_toolkit ];
+
+ checkInputs = [
+ pytest-cov
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [ "questionary" ];
+
+ meta = with lib; {
+ description = "Python library to build command line user prompts";
+ homepage = "https://github.com/bachya/regenmaschine";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/setuptools-rust/default.nix b/pkgs/development/python-modules/setuptools-rust/default.nix
index ee4a3b55164..e24c771457f 100644
--- a/pkgs/development/python-modules/setuptools-rust/default.nix
+++ b/pkgs/development/python-modules/setuptools-rust/default.nix
@@ -4,14 +4,13 @@
, isPy27
, semantic-version
, setuptools
-, setuptools_scm
+, setuptools-scm
, toml
}:
buildPythonPackage rec {
pname = "setuptools-rust";
version = "0.11.6";
-
disabled = isPy27;
src = fetchPypi {
@@ -19,10 +18,14 @@ buildPythonPackage rec {
sha256 = "a5b5954909cbc5d66b914ee6763f81fa2610916041c7266105a469f504a7c4ca";
};
- nativeBuildInputs = [ setuptools_scm ];
+ nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ semantic-version setuptools toml ];
+ # no tests
+ doCheck = false;
+ pythonImportsCheck = [ "setuptools_rust" ];
+
meta = with lib; {
description = "Setuptools plugin for Rust support";
homepage = "https://github.com/PyO3/setuptools-rust";
diff --git a/pkgs/development/python-modules/subarulink/default.nix b/pkgs/development/python-modules/subarulink/default.nix
index 5b6362b76a1..ac80be2fe0c 100644
--- a/pkgs/development/python-modules/subarulink/default.nix
+++ b/pkgs/development/python-modules/subarulink/default.nix
@@ -12,13 +12,13 @@
buildPythonPackage rec {
pname = "subarulink";
- version = "0.3.11";
+ version = "0.3.12";
src = fetchFromGitHub {
owner = "G-Two";
repo = pname;
rev = "subaru-v${version}";
- sha256 = "1ink9bhph6blidnfsqwq01grhp7ghacmkd4vzgb9hnhl9l52s1jq";
+ sha256 = "0mhy4np3g10k778062sp2q65cfjhp4y1fghn8yvs6qg6jmg047z6";
};
propagatedBuildInputs = [ aiohttp stdiomask ];
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index 841348339a7..72a54748863 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "xknx";
- version = "0.17.0";
+ version = "0.17.1";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "XKNX";
repo = pname;
rev = version;
- sha256 = "sha256-fzLqkeCfeLNu13R9cp1XVh8fE2B3L47UDpuWOod33gU=";
+ sha256 = "sha256-FNI6zodwlYdJDxncCOubClG9L1U6HGkQxdEEp0LdW04=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
index 64ca730d7dc..3b9de427bde 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep
+{ lib, buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep
, src, version, hasBootstrapScript, postPatch ? ""
, ... }:
let
diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix
index 78fb3b7f937..44d2a8d3c15 100644
--- a/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -16,14 +16,14 @@ let
# 1) change all these hashes
# 2) nix-build -A tree-sitter.updater.update-all-grammars
# 3) run the ./result script that is output by that (it updates ./grammars)
- version = "0.17.3";
- sha256 = "sha256-uQs80r9cPX8Q46irJYv2FfvuppwonSS5HVClFujaP+U=";
- cargoSha256 = "sha256-fonlxLNh9KyEwCj7G5vxa7cM/DlcHNFbQpp0SwVQ3j4=";
+ version = "0.18.2";
+ sha256 = "1kh3bqn28nal3mmwszbih8hbq25vxy3zd45pzj904yf0ds5ql684";
+ cargoSha256 = "06jbn4ai5lrxzv51vfjzjs7kgxw4nh2vbafc93gma4k14gggyygc";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter";
- rev = version;
+ rev = "v${version}";
inherit sha256;
fetchSubmodules = true;
};
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammar.nix b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
index f92e0d79426..d9ad21dea61 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammar.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
@@ -30,7 +30,11 @@ stdenv.mkDerivation {
if [ ! -f "$scanner_cc" ]; then
scanner_cc=""
fi
- $CC -I$src/src/ -shared -o parser -Os $src/src/parser.c $scanner_cc -lstdc++
+ scanner_c="$src/src/scanner.c"
+ if [ ! -f "$scanner_c" ]; then
+ scanner_c=""
+ fi
+ $CC -I$src/src/ -shared -o parser -Os $src/src/parser.c $scanner_cc $scanner_c -lstdc++
runHook postBuild
'';
installPhase = ''
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
index 81ccf5a8472..989f7bf5367 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-c-sharp",
- "rev": "aae8ab2b681082ce7a35d8d5fdf75ffcf7f994e5",
- "date": "2021-01-08T13:18:05+00:00",
- "path": "/nix/store/fpx44l1j2dz3drnvfb7746d8zxn37gwi-tree-sitter-c-sharp",
- "sha256": "107bxz9bhyixdla3xli06ism8rnkha7pa79hi7lyx00sfnjmgcc8",
+ "rev": "21ec3c3deb4365085aa353fadbc6a616d7769f9f",
+ "date": "2021-02-18T09:41:56-08:00",
+ "path": "/nix/store/8172rv05dvvlyp4cfmr2b41g4a20vlcf-tree-sitter-c-sharp",
+ "sha256": "1cc0ss09bfv2xy77bpcmy6y2hqis7a8xby9afcaxcn5llj593ynj",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
index 401bea63e0a..31301d981d0 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-c",
- "rev": "99151b1e9293c9e025498fee7e6691e1a52e1d03",
- "date": "2020-05-14T11:39:30-07:00",
- "path": "/nix/store/b5xqnw967s9a58wcpyspbkgbph6jxarv-tree-sitter-c",
- "sha256": "07ax01r3npw13jlv20k15q2hdhqa0rwm2km6f5j50byqvmgfc6fm",
+ "rev": "fa408bc9e77f4b770bd1db984ca00c901ddf95fc",
+ "date": "2021-02-24T11:13:22-08:00",
+ "path": "/nix/store/8rlr93kjsvbpc8vgfxw02vcaprlfmprq-tree-sitter-c",
+ "sha256": "03nb8nlnkfw8p8bi4grfyh31l6419sk7ak2hnkpnnjs0y0gqb7jm",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
index a4538b1a932..d5878b65fa3 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-cpp",
- "rev": "a35a275df92e7583df38f2de2562361f2b69987e",
- "date": "2020-12-13T11:27:21-08:00",
- "path": "/nix/store/l0mv4q1xdxz94ym1nl73y52i1yr9zcgi-tree-sitter-cpp",
- "sha256": "130vizybkm11j3lpzmf183myz0vjxq75mpy6qz48rrkidhnrlryk",
+ "rev": "3bfe046f3967fef92ebb33f8cd58c3ff373d5e56",
+ "date": "2021-02-25T11:55:19-08:00",
+ "path": "/nix/store/m2sd8ic8j3dayfa0zz0shc2pjaamahpf-tree-sitter-cpp",
+ "sha256": "052imxj6920ia002pzgwj2rg75xq3xpa80w8sjdq4mnlksy8v7g6",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json
index b8609c0bd17..6a4795d7405 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-css",
- "rev": "23f2cb97d47860c517f67f03e1f4b621d5bd2085",
- "date": "2020-05-14T14:44:30-07:00",
- "path": "/nix/store/r5pkz9kly0mhgrmqzdzdsr6d1dpqavld-tree-sitter-css",
- "sha256": "17svpf36p0p7spppzhm3fi833zpdl2l1scg34r6d4vcbv7dknrjy",
+ "rev": "e882c98b5e62d864f7f9e4d855b19b6050c897a8",
+ "date": "2021-02-12T10:45:27-08:00",
+ "path": "/nix/store/g368rqak07i91ddma16pkccp63y2s5yv-tree-sitter-css",
+ "sha256": "0firlbl81vxnw5dp31inabizjhqc37rnbvwf05668qpfjl9gc03z",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
index f0ef7079bf6..02e4977fa33 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-embedded-template",
- "rev": "8269c1360e5b1b9ba3e04e7896d9dd2f060de12f",
- "date": "2020-07-20T12:50:27-07:00",
- "path": "/nix/store/9ijnzv72vc1n56k6f1xp3kb7lc9hvlhh-tree-sitter-embedded-template",
- "sha256": "03symsaxp8m128cn5h14pnm30ihpc49syb4vybpdvgcvraa408qq",
+ "rev": "872f037009ae700e3d4c3f83284af8f51c184dd4",
+ "date": "2021-02-05T09:53:39-08:00",
+ "path": "/nix/store/qg1lmgjrvjxg05bf7dczx5my9r83rxyb-tree-sitter-embedded-template",
+ "sha256": "0iffxki8pqavvi0cyndgyr4gp0f4zcdbv7gn7ar4sp17pksk5ss6",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
index 260dc4d10c0..66c85944969 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-java",
- "rev": "f7b62ac33d63bea56ce202ace107aaa4285e50af",
- "date": "2020-10-27T13:41:02-04:00",
- "path": "/nix/store/h51zjbzdrm89gczcdv7nyih54vnd2xps-tree-sitter-java",
- "sha256": "0jbh79brs1dskfqw05s9ndrp46hibyc37nfvhxlvanmgj3pjwgxb",
+ "rev": "16c07a726c34c9925b3e28716b2d6d60e3643252",
+ "date": "2021-02-11T09:32:05-08:00",
+ "path": "/nix/store/1b64g1a3cvq1hspys9z2z1lsawg2b9m2-tree-sitter-java",
+ "sha256": "1rag75r71cp8cvkf4f3wj911jppypziri19zysyy3pgzhznqy4zd",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
index 2c563f3fbfa..8d1aa2daf53 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-javascript",
- "rev": "3f8b62f9befd3cb3b4cb0de22f6595a0aadf76ca",
- "date": "2020-12-02T10:20:20-08:00",
- "path": "/nix/store/c17bf7sjq95lank5ygbglv8j48i5z9w3-tree-sitter-javascript",
- "sha256": "0fjq1jzrzd8c8rfxkh2s25gnqlyc19k3a8i3r1129kakisn1288k",
+ "rev": "37af80d372ae9e2f5adc2c6321d5a34294dc348b",
+ "date": "2021-02-24T09:50:29-08:00",
+ "path": "/nix/store/y8jbjblicw2c65kil2y4d6vdn9r9h9w5-tree-sitter-javascript",
+ "sha256": "0cr75184abpg95bl6wgkqn7ay849bjsib48m9pdb5jrly1idw6n2",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
index 6d055ca0ae9..8d0b5aaf0e4 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/cstrahan/tree-sitter-nix",
- "rev": "791b5ff0e4f0da358cbb941788b78d436a2ca621",
- "date": "2019-05-10T15:57:43-05:00",
- "path": "/nix/store/5gcddcxf6jfr4f0p203jnbjc0zxk207d-tree-sitter-nix",
- "sha256": "1y5b3wh3fcmbgq8r2i97likzfp1zp02m58zacw5a1cjqs5raqz66",
+ "rev": "a6bae0619126d70c756c11e404d8f4ad5108242f",
+ "date": "2021-02-09T00:48:18-06:00",
+ "path": "/nix/store/1rfsi62v549h72vw7ysciaw17vr5h9yx-tree-sitter-nix",
+ "sha256": "08n496k0vn7c2751gywl1v40490azlri7c92dr2wfgw5jxhjmb0d",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
index ff60ff80101..ded864c8976 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-python",
- "rev": "f568dfabf7c4611077467a9cd13297fa0658abb6",
- "date": "2021-01-06T13:32:39-08:00",
- "path": "/nix/store/5g256n8ym3ll2kp9jlmnkaxpnyf6rpk3-tree-sitter-python",
- "sha256": "1lxmzrkw4k9pba4xywnbd1pk2x5s99qa4skgqvgy3imgbhy7ilkh",
+ "rev": "3196e288650992bca2399dda15ac703c342a22bb",
+ "date": "2021-01-19T11:31:59-08:00",
+ "path": "/nix/store/0y394nsknvjxpxnsfscab531mivnzhap-tree-sitter-python",
+ "sha256": "0fbkyysz0qsjqzqznwgf52wsgb10h8agc4p68zafiibwlp72gd09",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json
index 27042b6ef95..f799ce410c6 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-ql",
- "rev": "a0d688d62dcb9cbc7c53f0d98343c458b3776b3d",
- "date": "2020-09-16T12:56:09-07:00",
- "path": "/nix/store/dfdaf6wg80dfw5fvdiir7n9nj6j30g3g-tree-sitter-ql",
- "sha256": "0f6rfhrbvpg8czfa7mld45by3rp628bs6fyl47a8mn18w6x0n5g2",
+ "rev": "f3738c138ba753eed5da386c7321cb139d185d39",
+ "date": "2021-02-19T10:26:41+00:00",
+ "path": "/nix/store/dww93fp6psaw4lhiwyn8qajq8mvsyv5s-tree-sitter-ql",
+ "sha256": "15wqyf0q9arr4jh0dfjr5200rghy989wvf311cffma7706ngmgxb",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
index c02d03d11d9..12d7f58aecb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-rust",
- "rev": "2beedf23bedbd7b02b416518693e8eed3944d4a0",
- "date": "2021-01-05T10:00:48-08:00",
- "path": "/nix/store/2igv1zlnl535b86zj8s9s3ir4q85933x-tree-sitter-rust",
- "sha256": "0iicwhxf1f56zqpsagbm8nr30fpssi970mi9i47az206dbs506ly",
+ "rev": "ab7f7962073fec96e0b64fbd1697263fe2c79281",
+ "date": "2021-02-16T21:17:08-08:00",
+ "path": "/nix/store/zy2sccixlk8lwkqamikz03j42s13ndjp-tree-sitter-rust",
+ "sha256": "06zmbwgsvyaz0wgja8r3ir06z67gix7i62zj0k3bbng6smdnhp9w",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
index fda72fc99c6..679d7e4ed6a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -1,9 +1,9 @@
{
"url": "https://github.com/tree-sitter/tree-sitter-typescript",
- "rev": "2d1c7d5c10c33cb444d1781fa76f2936810afec4",
- "date": "2021-01-07T09:49:56-08:00",
- "path": "/nix/store/s65bv25523lwa9yrqbj9hsh0k4ig6pbx-tree-sitter-typescript",
- "sha256": "09bv44n181az5rqjd43wngj9bghwy0237gpvs6xkjf9j19kvy0yi",
+ "rev": "543cbe44f16189f7f1b739cf268d70f373d94b87",
+ "date": "2021-02-25T11:54:57-08:00",
+ "path": "/nix/store/liyi8hkl55dcbs1wc4w2jw4zf717bb29-tree-sitter-typescript",
+ "sha256": "0ljhkhi8fp38l1n6wam7l8bdqxr95d0c1mf7i6p1gb6xrjzssik0",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index 7224e302f13..67a612a4bec 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -524,6 +524,8 @@ let
};
};
+ ms-dotnettools.csharp = callPackage ./ms-dotnettools-csharp { };
+
ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-kubernetes-tools";
diff --git a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix
new file mode 100644
index 00000000000..a7b0e17ecbf
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix
@@ -0,0 +1,143 @@
+{ lib
+, fetchurl
+, vscode-utils
+, unzip
+, patchelf
+, makeWrapper
+, icu
+, stdenv
+, openssl
+, mono6
+}:
+
+let
+ # Get as close as possible as the `package.json` required version.
+ # This is what drives omnisharp.
+ mono = mono6;
+
+ rtDepsSrcsFromJson = builtins.fromJSON (builtins.readFile ./rt-deps-bin-srcs.json);
+
+ rtDepsBinSrcs = builtins.mapAttrs (k: v:
+ let
+ # E.g: "OmniSharp-x86_64-linux"
+ kSplit = builtins.split "(-)" k;
+ name = builtins.elemAt kSplit 0;
+ arch = builtins.elemAt kSplit 2;
+ platform = builtins.elemAt kSplit 4;
+ in
+ {
+ inherit name arch platform;
+ installPath = v.installPath;
+ binaries = v.binaries;
+ bin-src = fetchurl {
+ urls = v.urls;
+ inherit (v) sha256;
+ };
+ }
+ )
+ rtDepsSrcsFromJson;
+
+ arch = "x86_64";
+ platform = "linux";
+
+ rtDepBinSrcByName = bSrcName:
+ rtDepsBinSrcs."${bSrcName}-${arch}-${platform}";
+
+ omnisharp = rtDepBinSrcByName "OmniSharp";
+ vsdbg = rtDepBinSrcByName "Debugger";
+ razor = rtDepBinSrcByName "Razor";
+in
+
+vscode-utils.buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "csharp";
+ publisher = "ms-dotnettools";
+ version = "1.23.2";
+ sha256 = "0ydaiy8jfd1bj50bqiaz5wbl7r6qwmbz9b29bydimq0rdjgapaar";
+ };
+
+ nativeBuildInputs = [
+ unzip
+ patchelf
+ makeWrapper
+ ];
+
+ postPatch = ''
+ declare ext_unique_id
+ # See below as to why we cannot take the whole basename.
+ ext_unique_id="$(basename "$out" | head -c 32)"
+
+ # Fix 'Unable to connect to debuggerEventsPipeName .. exceeds the maximum length 107.' when
+ # attempting to launch a specific test in debug mode. The extension attemps to open
+ # a pipe in extension dir which would fail anyway. We change to target file path
+ # to a path in tmp dir with a short name based on the unique part of the nix store path.
+ # This is however a brittle patch as we're working on minified code.
+ # Hence the attempt to only hold on stable names.
+ # However, this really would better be fixed upstream.
+ sed -i \
+ -E -e 's/(this\._pipePath=[a-zA-Z0-9_]+\.join\()([a-zA-Z0-9_]+\.getExtensionPath\(\)[^,]*,)/\1require("os").tmpdir(), "'"$ext_unique_id"'"\+/g' \
+ "$PWD/dist/extension.js"
+
+ unzip_to() {
+ declare src_zip="''${1?}"
+ declare target_dir="''${2?}"
+ mkdir -p "$target_dir"
+ if unzip "$src_zip" -d "$target_dir"; then
+ true
+ elif [[ "1" -eq "$?" ]]; then
+ 1>&2 echo "WARNING: unzip('$?' -> skipped files)."
+ else
+ 1>&2 echo "ERROR: unzip('$?')."
+ fi
+ }
+
+ patchelf_add_icu_as_needed() {
+ declare elf="''${1?}"
+ declare icu_major_v="${
+ with builtins; head (splitVersion (parseDrvName icu.name).version)}"
+
+ for icu_lib in icui18n icuuc icudata; do
+ patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
+ done
+ }
+
+ patchelf_common() {
+ declare elf="''${1?}"
+
+ patchelf_add_icu_as_needed "$elf"
+ patchelf --add-needed "libssl.so" "$elf"
+ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+ --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc openssl.out icu.out ]}:\$ORIGIN" \
+ "$elf"
+ }
+
+ declare omnisharp_dir="$PWD/${omnisharp.installPath}"
+ unzip_to "${omnisharp.bin-src}" "$omnisharp_dir"
+ rm "$omnisharp_dir/bin/mono"
+ ln -s -T "${mono6}/bin/mono" "$omnisharp_dir/bin/mono"
+ chmod a+x "$omnisharp_dir/run"
+ touch "$omnisharp_dir/install.Lock"
+
+ declare vsdbg_dir="$PWD/${vsdbg.installPath}"
+ unzip_to "${vsdbg.bin-src}" "$vsdbg_dir"
+ chmod a+x "$vsdbg_dir/vsdbg-ui"
+ chmod a+x "$vsdbg_dir/vsdbg"
+ touch "$vsdbg_dir/install.complete"
+ touch "$vsdbg_dir/install.Lock"
+ patchelf_common "$vsdbg_dir/vsdbg"
+ patchelf_common "$vsdbg_dir/vsdbg-ui"
+
+ declare razor_dir="$PWD/${razor.installPath}"
+ unzip_to "${razor.bin-src}" "$razor_dir"
+ chmod a+x "$razor_dir/rzls"
+ touch "$razor_dir/install.Lock"
+ patchelf_common "$razor_dir/rzls"
+ '';
+
+ meta = with lib; {
+ description = "C# for Visual Studio Code (powered by OmniSharp)";
+ license = licenses.mit;
+ maintainers = [ maintainers.jraygauthier ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
new file mode 100644
index 00000000000..91ee056efc1
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
@@ -0,0 +1,37 @@
+{
+ "OmniSharp-x86_64-linux": {
+ "installPath": ".omnisharp/1.37.1",
+ "binaries": [
+ "./mono.linux-x86_64",
+ "./run"
+ ],
+ "urls": [
+ "https://download.visualstudio.microsoft.com/download/pr/46933d64-075c-4f9f-b205-da4a839e2e3c/4bba2c3f40106056b53721c164ff86fa/omnisharp-linux-x64-1.37.1.zip",
+ "https://roslynomnisharp.blob.core.windows.net/releases/1.37.1/omnisharp-linux-x64-1.37.1.zip"
+ ],
+ "sha256": "0yzxkbq0fyq2bv0s7qmycxl0w54lla0vykg1a5lpv9j38k062vvz"
+ },
+ "Debugger-x86_64-linux": {
+ "installPath": ".debugger",
+ "binaries": [
+ "./vsdbg-ui",
+ "./vsdbg"
+ ],
+ "urls": [
+ "https://download.visualstudio.microsoft.com/download/pr/292d2e01-fb93-455f-a6b3-76cddad4f1ef/2e9b8bc5431d8f6c56025e76eaabbdff/coreclr-debug-linux-x64.zip",
+ "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-22-2/coreclr-debug-linux-x64.zip"
+ ],
+ "sha256": "1lhyjq6g6lc1b4n4z57g0ssr5msqgsmrl8yli8j9ah5s3jq1lrda"
+ },
+ "Razor-x86_64-linux": {
+ "installPath": ".razor",
+ "binaries": [
+ "./rzls"
+ ],
+ "urls": [
+ "https://download.visualstudio.microsoft.com/download/pr/757f5246-2b09-43fe-9a8d-840cfd15092b/2b6d8eee0470acf725c1c7a09f8b6475/razorlanguageserver-linux-x64-6.0.0-alpha.1.20418.9.zip",
+ "https://razorvscodetest.blob.core.windows.net/languageserver/RazorLanguageServer-linux-x64-6.0.0-alpha.1.20418.9.zip"
+ ],
+ "sha256": "1hksxq867anb9h040497phszq64f6krg4a46w0xqrm6crj8znqr5"
+ }
+}
diff --git a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs
new file mode 100755
index 00000000000..ecd7efba05d
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs
@@ -0,0 +1,25 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../.. -i bash -p curl jq unzip
+set -euf -o pipefail
+
+declare scriptDir
+scriptDir=$(cd "$(dirname "$0")"; pwd)
+1>&2 echo "scriptDir='$scriptDir'"
+
+. "$scriptDir/update-bin-srcs-lib.sh"
+
+declare extPublisher="ms-dotnettools"
+declare extName="csharp"
+declare defaultExtVersion="1.23.2"
+declare extVersion="${1:-$defaultExtVersion}"
+
+formatExtRuntimeDeps \
+ "$extPublisher" "$extName" "$extVersion" \
+ | computeAndAttachExtRtDepsChecksums \
+ | jqStreamToJson \
+ | tee "$scriptDir/rt-deps-bin-srcs.json" \
+ | jq '.'
+
+# TODO: Unfortunatly no simple json to nix implementation available.
+# This would allow us to dump to './rt-deps-bin-srcs.nix' instead.
+# jsonToNix
diff --git a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs-lib.sh b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs-lib.sh
new file mode 100755
index 00000000000..ad494a37908
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs-lib.sh
@@ -0,0 +1,154 @@
+#!/usr/bin/env bash
+
+prefetchExtensionZip() {
+ declare publisher="${1?}"
+ declare name="${2?}"
+ declare version="${3?}"
+
+ 1>&2 echo
+ 1>&2 echo "------------- Downloading extension ---------------"
+
+ declare extZipStoreName="${publisher}-${name}.zip"
+ declare extUrl="https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage";
+ 1>&2 echo "extUrl='$extUrl'"
+ declare nixPrefetchArgs=( --name "$extZipStoreName" --print-path "$extUrl" )
+
+ 1>&2 printf "$ nix-prefetch-url"
+ 1>&2 printf " %q" "${nixPrefetchArgs[@]}"
+ 1>&2 printf " 2> /dev/null\n"
+ declare zipShaWStorePath
+ zipShaWStorePath=$(nix-prefetch-url "${nixPrefetchArgs[@]}" 2> /dev/null)
+
+ 1>&2 echo "zipShaWStorePath='$zipShaWStorePath'"
+ echo "$zipShaWStorePath"
+}
+
+
+prefetchExtensionUnpacked() {
+ declare publisher="${1?}"
+ declare name="${2?}"
+ declare version="${3?}"
+
+ declare zipShaWStorePath
+ zipShaWStorePath="$(prefetchExtensionZip "$publisher" "$name" "$version")"
+
+ declare zipStorePath
+ zipStorePath="$(echo "$zipShaWStorePath" | tail -n1)"
+ 1>&2 echo "zipStorePath='$zipStorePath'"
+
+ function rm_tmpdir() {
+ 1>&2 printf "rm -rf -- %q\n" "$tmpDir"
+ rm -rf -- "$tmpDir"
+ unset tmpDir
+ trap - INT TERM HUP EXIT
+ }
+ function make_trapped_tmpdir() {
+ tmpDir=$(mktemp -d)
+ trap rm_tmpdir INT TERM HUP EXIT
+ }
+
+ 1>&2 echo
+ 1>&2 echo "------------- Unpacking extension ---------------"
+
+ make_trapped_tmpdir
+ declare unzipArgs=( -q -d "$tmpDir" "$zipStorePath" )
+ 1>&2 printf "$ unzip"
+ 1>&2 printf " %q" "${unzipArgs[@]}"
+ 1>&2 printf "\n"
+ unzip "${unzipArgs[@]}"
+
+ declare unpackedStoreName="${publisher}-${name}"
+
+ declare unpackedStorePath
+ unpackedStorePath="$(nix add-to-store -n "$unpackedStoreName" "$tmpDir")"
+ declare unpackedSha256
+ unpackedSha256="$(nix hash-path --base32 --type sha256 "$unpackedStorePath")"
+ 1>&2 echo "unpackedStorePath='$unpackedStorePath'"
+ 1>&2 echo "unpackedSha256='$unpackedSha256'"
+
+ rm_tmpdir
+
+ echo "$unpackedSha256"
+ echo "$unpackedStorePath"
+}
+
+
+prefetchExtensionJson() {
+ declare publisher="${1?}"
+ declare name="${2?}"
+ declare version="${3?}"
+
+ declare unpackedShaWStorePath
+ unpackedShaWStorePath="$(prefetchExtensionUnpacked "$publisher" "$name" "$version")"
+
+ declare unpackedStorePath
+ unpackedStorePath="$(echo "$unpackedShaWStorePath" | tail -n1)"
+ 1>&2 echo "unpackedStorePath='$unpackedStorePath'"
+
+ declare jsonShaWStorePath
+ jsonShaWStorePath=$(nix-prefetch-url --print-path "file://${unpackedStorePath}/extension/package.json" 2> /dev/null)
+
+ 1>&2 echo "jsonShaWStorePath='$jsonShaWStorePath'"
+ echo "$jsonShaWStorePath"
+}
+
+
+formatExtRuntimeDeps() {
+ declare publisher="${1?}"
+ declare name="${2?}"
+ declare version="${3?}"
+
+ declare jsonShaWStorePath
+ jsonShaWStorePath="$(prefetchExtensionJson "$publisher" "$name" "$version")"
+
+ declare jsonStorePath
+ jsonStorePath="$(echo "$jsonShaWStorePath" | tail -n1)"
+ 1>&2 echo "jsonStorePath='$jsonStorePath'"
+
+ declare jqQuery
+ jqQuery=$(cat <<'EOF'
+.runtimeDependencies \
+| map(select(.platforms[] | in({"linux": null}))) \
+| map(select(.architectures[] | in({"x86_64": null}))) \
+| .[] | {(.id + "-" + (.architectures[0]) + "-" + (.platforms[0])): \
+{installPath, binaries, urls: [.url, .fallbackUrl]}}
+EOF
+)
+
+ 1>&2 printf "$ cat %q | jq '%s'\n" "$jsonStorePath" "$jqQuery"
+ cat "$jsonStorePath" | jq "$jqQuery"
+}
+
+
+computeExtRtDepChecksum() {
+ declare rtDepJsonObject="${1?}"
+ declare url
+ url="$(echo "$rtDepJsonObject" | jq -j '.[].urls[0]')"
+ declare sha256
+ 1>&2 printf "$ nix-prefetch-url '%s'\n" "$url"
+ sha256="$(nix-prefetch-url "$url")"
+ 1>&2 echo "$sha256"
+ echo "$sha256"
+}
+
+
+computeAndAttachExtRtDepsChecksums() {
+ while read -r rtDepJsonObject; do
+ declare sha256
+ sha256="$(computeExtRtDepChecksum "$rtDepJsonObject")"
+ echo "$rtDepJsonObject" | jq --arg sha256 "$sha256" '.[].sha256 = $sha256'
+ done < <(cat - | jq -c '.')
+}
+
+
+jqStreamToJson() {
+ cat - | jq --slurp '. | add'
+}
+
+
+jsonToNix() {
+ # TODO: Replacing this non functional stuff with a proper json to nix
+ # implementation would allow us to produce a 'rt-deps-bin-srcs.nix' file instead.
+ false
+ cat - | sed -E -e 's/": /" = /g' -e 's/,$/;/g' -e 's/ }$/ };/g' -e 's/ ]$/ ];/g'
+}
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 56d3268ae2d..7fea4bd28d4 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -3,8 +3,8 @@
, runtimeShell
, unstableGitUpdater
-# Attributes needed for tests of the external plugins
-, callPackage, beets
+# external plugins package set
+, beetsExternalPlugins
, enableAbsubmit ? lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null
, enableAcousticbrainz ? true
@@ -116,15 +116,6 @@ let
doInstallCheck = false;
});
- pluginArgs = externalTestArgs // { inherit pythonPackages; };
-
- plugins = {
- alternatives = callPackage ./plugins/alternatives.nix pluginArgs;
- check = callPackage ./plugins/check.nix pluginArgs;
- copyartifacts = callPackage ./plugins/copyartifacts.nix pluginArgs;
- extrafiles = callPackage ./plugins/extrafiles.nix pluginArgs;
- };
-
in pythonPackages.buildPythonApplication rec {
pname = "beets";
# While there is a stable version, 1.4.9, it is more than 1000 commits behind
@@ -169,7 +160,7 @@ in pythonPackages.buildPythonApplication rec {
|| enableSubsonicupdate
|| enableAcousticbrainz)
pythonPackages.requests
- ++ optional enableCheck plugins.check
+ ++ optional enableCheck beetsExternalPlugins.check
++ optional enableConvert ffmpeg
++ optional enableDiscogs pythonPackages.discogs_client
++ optional enableGmusic pythonPackages.gmusicapi
@@ -179,9 +170,9 @@ in pythonPackages.buildPythonApplication rec {
++ optional enableSonosUpdate pythonPackages.soco
++ optional enableThumbnails pythonPackages.pyxdg
++ optional enableWeb pythonPackages.flask
- ++ optional enableAlternatives plugins.alternatives
- ++ optional enableCopyArtifacts plugins.copyartifacts
- ++ optional enableExtraFiles plugins.extrafiles
+ ++ optional enableAlternatives beetsExternalPlugins.alternatives
+ ++ optional enableCopyArtifacts beetsExternalPlugins.copyartifacts
+ ++ optional enableExtraFiles beetsExternalPlugins.extrafiles
;
buildInputs = [
@@ -289,7 +280,8 @@ in pythonPackages.buildPythonApplication rec {
makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" ];
passthru = {
- externalPlugins = plugins;
+ # FIXME: remove in favor of pkgs.beetsExternalPlugins
+ externalPlugins = beetsExternalPlugins;
updateScript = unstableGitUpdater { url = "https://github.com/beetbox/beets"; };
};
diff --git a/pkgs/tools/audio/beets/plugins/alternatives.nix b/pkgs/tools/audio/beets/plugins/alternatives.nix
index 793611699ec..797aab16c1a 100644
--- a/pkgs/tools/audio/beets/plugins/alternatives.nix
+++ b/pkgs/tools/audio/beets/plugins/alternatives.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, beets, pythonPackages }:
+{ lib, fetchFromGitHub, beets, pythonPackages }:
pythonPackages.buildPythonApplication rec {
pname = "beets-alternatives";
diff --git a/pkgs/tools/audio/beets/plugins/check.nix b/pkgs/tools/audio/beets/plugins/check.nix
index 441dcfe579f..259b62a23b0 100644
--- a/pkgs/tools/audio/beets/plugins/check.nix
+++ b/pkgs/tools/audio/beets/plugins/check.nix
@@ -16,7 +16,7 @@ pythonPackages.buildPythonApplication rec {
propagatedBuildInputs = [ flac liboggz mp3val ];
# patch out broken tests
- patches = [ ./beet-check-tests.patch ];
+ patches = [ ./check-tests.patch ];
# patch out futures dependency, it is only needed for Python2 which we don't
# support.
diff --git a/pkgs/tools/audio/beets/plugins/copyartifacts.nix b/pkgs/tools/audio/beets/plugins/copyartifacts.nix
index 5af52066caa..b8a17a7d13e 100644
--- a/pkgs/tools/audio/beets/plugins/copyartifacts.nix
+++ b/pkgs/tools/audio/beets/plugins/copyartifacts.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, beets, pythonPackages, glibcLocales }:
+{ lib, fetchFromGitHub, beets, pythonPackages, glibcLocales }:
pythonPackages.buildPythonApplication {
name = "beets-copyartifacts";
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index f275d254677..a9d2a7b122f 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,43 +1,34 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, cmake, perl, pkg-config, zlib
+{ lib, stdenv, fetchFromGitHub, rustPlatform, cmake, pandoc, perl, pkg-config, zlib
, Security, libiconv, installShellFiles
}:
-with rustPlatform;
-
-buildRustPackage rec {
+rustPlatform.buildRustPackage rec {
pname = "exa";
- version = "0.9.0";
+ version = "unstable-2021-01-14";
- cargoSha256 = "0nl106jlbr8gnnlbi20mrc6zyww7vxgmw6w34ibndxqh9ggxwfvr";
+ cargoSha256 = "1lmjh0grpnx20y6raxnxgjkr92h395r6jk8mm2ypc4cxpxczdqvl";
src = fetchFromGitHub {
owner = "ogham";
- repo = "exa";
- rev = "v${version}";
- sha256 = "14qlm9zb9v22hxbbi833xaq2b7qsxnmh15s317200vz5f1305hhw";
+ repo = pname;
+ rev = "13b91cced4cab012413b25c9d3e30c63548639d0";
+ sha256 = "18y4v1s102lh3gvgjwdd66qlsr75wpwpcj8zsk5y5r95a405dkfm";
};
- patches = [
- (fetchpatch {
- # https://github.com/ogham/exa/pull/584
- name = "fix-panic-on-broken-symlink-in-git-repository.patch";
- url = "https://github.com/ogham/exa/pull/584/commits/a7a8e99cf3a15992afb2383435da0231917ffb54.patch";
- sha256 = "0n5q483sz300jkp0sbb350hdinmkw7s6bmigdyr6ypz3fvygd9hx";
- })
- ];
-
- nativeBuildInputs = [ cmake pkg-config perl installShellFiles ];
+ nativeBuildInputs = [ cmake pkg-config perl installShellFiles pandoc ];
buildInputs = [ zlib ]
++ lib.optionals stdenv.isDarwin [ libiconv Security ];
outputs = [ "out" "man" ];
postInstall = ''
- installManPage contrib/man/exa.1
+ pandoc --standalone -f markdown -t man man/exa.1.md > man/exa.1
+ pandoc --standalone -f markdown -t man man/exa_colors.5.md > man/exa_colors.5
+ installManPage man/exa.1 man/exa_colors.5
installShellCompletion \
- --name exa contrib/completions.bash \
- --name exa.fish contrib/completions.fish \
- --name _exa contrib/completions.zsh
+ --name exa completions/completions.bash \
+ --name exa.fish completions/completions.fish \
+ --name _exa completions/completions.zsh
'';
# Some tests fail, but Travis ensures a proper build
diff --git a/pkgs/tools/misc/lifecycled/default.nix b/pkgs/tools/misc/lifecycled/default.nix
new file mode 100644
index 00000000000..1c30b760a9c
--- /dev/null
+++ b/pkgs/tools/misc/lifecycled/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+buildGoModule rec {
+ pname = "lifecycled";
+ version = "3.1.0";
+
+ src = fetchFromGitHub {
+ owner = "buildkite";
+ repo = "lifecycled";
+ rev = "v${version}";
+ sha256 = "F9eovZpwbigP0AMdjAIxULPLDC3zO6GxQmPdt5Xvpkk=";
+ };
+
+ vendorSha256 = "q5wYKSLHRzL+UGn29kr8+mUupOPR1zohTscbzjMRCS0=";
+
+ postInstall = ''
+ mkdir -p $out/lib/systemd/system
+ substitute init/systemd/lifecycled.unit $out/lib/systemd/system/lifecycled.service \
+ --replace /usr/bin/lifecycled $out/bin/lifecycled
+ '';
+
+ meta = with lib; {
+ description = "A daemon for responding to AWS AutoScaling Lifecycle Hooks";
+ homepage = "https://github.com/buildkite/lifecycled/";
+ license = licenses.mit;
+ maintainers = with maintainers; [ cole-h grahamc ];
+ };
+}
+
diff --git a/pkgs/tools/misc/mons/default.nix b/pkgs/tools/misc/mons/default.nix
index 71a12c88796..920cab1763b 100644
--- a/pkgs/tools/misc/mons/default.nix
+++ b/pkgs/tools/misc/mons/default.nix
@@ -12,6 +12,16 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
+ patches = [
+ # Substitute xrandr path with @xrandr@ so we can replace it with
+ # real path in substituteInPlace
+ ./xrandr.patch
+ ];
+
+ postPatch = ''
+ substituteInPlace mons.sh --replace '@xrandr@' '${xrandr}/bin/xrandr'
+ '';
+
nativeBuildInputs = [ help2man ];
makeFlags = [
"DESTDIR=$(out)"
@@ -22,6 +32,6 @@ stdenv.mkDerivation rec {
description = "POSIX Shell script to quickly manage 2-monitors display";
homepage = "https://github.com/Ventto/mons.git";
license = licenses.mit;
- maintainers = [ maintainers.mschneider ];
+ maintainers = with maintainers; [ mschneider thiagokokada ];
};
}
diff --git a/pkgs/tools/misc/mons/xrandr.patch b/pkgs/tools/misc/mons/xrandr.patch
new file mode 100644
index 00000000000..6cbcdf9d514
--- /dev/null
+++ b/pkgs/tools/misc/mons/xrandr.patch
@@ -0,0 +1,14 @@
+diff --git a/mons.sh b/mons.sh
+index b86ce5c..feb0f33 100755
+--- a/mons.sh
++++ b/mons.sh
+@@ -151,8 +151,7 @@ main() {
+ # =============================
+
+ [ -z "$DISPLAY" ] && { echo 'DISPLAY: no variable set.'; exit 1; }
+- command -vp xrandr >/dev/null 2>&1 || { echo 'xrandr: command not found.'; exit 1; }
+- XRANDR="$(command -pv xrandr)"
++ XRANDR="@xrandr@"
+
+ # =============================
+ # Argument Checking
diff --git a/pkgs/tools/security/libtpms/default.nix b/pkgs/tools/security/libtpms/default.nix
index 71966a934d6..67228be6741 100644
--- a/pkgs/tools/security/libtpms/default.nix
+++ b/pkgs/tools/security/libtpms/default.nix
@@ -3,18 +3,17 @@
, fetchFromGitHub
, pkg-config, autoreconfHook
, openssl, perl
-, tpm2Support ? false
}:
stdenv.mkDerivation rec {
pname = "libtpms";
- version = "0.7.4";
+ version = "0.8.0";
src = fetchFromGitHub {
owner = "stefanberger";
repo = "libtpms";
rev = "v${version}";
- sha256 = "sha256-nZSBD3WshlZHVMBFmDBBdFkhBjNgtASfg6+lYOOAhZ8=";
+ sha256 = "sha256-/zvMXdAOb4J3YaqdVJvTUI1/JFC0OKwgiYwYgYB62Y4=";
};
nativeBuildInputs = [
@@ -24,14 +23,13 @@ stdenv.mkDerivation rec {
];
buildInputs = [ openssl ];
- outputs = [ "out" "lib" "man" "dev" ];
+ outputs = [ "out" "man" "dev" ];
enableParallelBuilding = true;
configureFlags = [
"--with-openssl"
- ] ++ lib.optionals tpm2Support [
- "--with-tpm2" # TPM2 support is flagged experimental by upstream
+ "--with-tpm2"
];
meta = with lib; {
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 7963127787c..84adc261adc 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -681,6 +681,7 @@ mapAliases ({
surf-webkit2 = surf; # added 2017-04-02
sup = throw "sup was deprecated on 2019-09-10: abandoned by upstream";
swfdec = throw "swfdec has been removed as broken and unmaintained."; # added 2020-08-23
+ swtpm-tpm2 = swtpm; # added 2021-02-26
system_config_printer = system-config-printer; # added 2016-01-03
systemd-cryptsetup-generator = throw "systemd-cryptsetup-generator is now included in the systemd package"; # added 2020-07-12
systemd_with_lvm2 = throw "systemd_with_lvm2 is obsolete, enabled by default via the lvm module"; # added 2020-07-12
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ad8bc549b90..afba3f5a371 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -797,6 +797,8 @@ in
inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation IOKit Kernel OpenGL;
};
+ lifecycled = callPackage ../tools/misc/lifecycled { };
+
lilyterm = callPackage ../applications/terminal-emulators/lilyterm {
inherit (gnome2) vte;
gtk = gtk2;
@@ -3009,6 +3011,26 @@ in
pythonPackages = python3Packages;
};
+ beetsExternalPlugins =
+ let
+ pluginArgs = {
+ # This is a stripped down beets for testing of the external plugins.
+ beets = (beets.override {
+ enableAlternatives = false;
+ enableCopyArtifacts = false;
+ enableExtraFiles = false;
+ }).overrideAttrs (lib.const {
+ doInstallCheck = false;
+ });
+ pythonPackages = python3Packages;
+ };
+ in lib.recurseIntoAttrs {
+ alternatives = callPackage ../tools/audio/beets/plugins/alternatives.nix pluginArgs;
+ check = callPackage ../tools/audio/beets/plugins/check.nix pluginArgs;
+ copyartifacts = callPackage ../tools/audio/beets/plugins/copyartifacts.nix pluginArgs;
+ extrafiles = callPackage ../tools/audio/beets/plugins/extrafiles.nix pluginArgs;
+ };
+
bento4 = callPackage ../tools/video/bento4 { };
bepasty = callPackage ../tools/misc/bepasty { };
@@ -8234,11 +8256,6 @@ in
swec = callPackage ../tools/networking/swec { };
swtpm = callPackage ../tools/security/swtpm { };
- swtpm-tpm2 = swtpm.override {
- libtpms = libtpms.override {
- tpm2Support = true;
- };
- };
svn2git = callPackage ../applications/version-management/git-and-tools/svn2git {
git = gitSVN;
@@ -15912,6 +15929,10 @@ in
opencl-clang = callPackage ../development/libraries/opencl-clang { };
+ mapbox-gl-native = libsForQt5.callPackage ../development/libraries/mapbox-gl-native { };
+
+ mapbox-gl-qml = libsForQt5.callPackage ../development/libraries/mapbox-gl-qml { };
+
mapnik = callPackage ../development/libraries/mapnik { };
marisa = callPackage ../development/libraries/marisa {};
@@ -16059,6 +16080,8 @@ in
ndpi = callPackage ../development/libraries/ndpi { };
+ nemo-qml-plugin-dbus = libsForQt5.callPackage ../development/libraries/nemo-qml-plugin-dbus { };
+
nifticlib = callPackage ../development/libraries/science/biology/nifticlib { };
notify-sharp = callPackage ../development/libraries/notify-sharp { };
@@ -16707,6 +16730,8 @@ in
rubberband = callPackage ../development/libraries/rubberband { };
+ s2geometry = callPackage ../development/libraries/s2geometry { };
+
/* This package references ghc844, which we no longer have. Unfortunately, I
have been unable to mark it as "broken" in a way that the ofBorg bot
recognizes. Since I don't want to merge code into master that generates
@@ -23384,6 +23409,12 @@ in
kubernetes-helm = callPackage ../applications/networking/cluster/helm { };
+ wrapHelm = callPackage ../applications/networking/cluster/helm/wrapper.nix { };
+
+ kubernetes-helm-wrapped = wrapHelm kubernetes-helm {};
+
+ kubernetes-helmPlugins = dontRecurseIntoAttrs (callPackage ../applications/networking/cluster/helm/plugins { });
+
kubetail = callPackage ../applications/networking/cluster/kubetail { } ;
kupfer = callPackage ../applications/misc/kupfer {
@@ -23605,7 +23636,7 @@ in
mail-notification = callPackage ../desktops/gnome-2/desktop/mail-notification {};
- magnetophonDSP = {
+ magnetophonDSP = lib.recurseIntoAttrs {
CharacterCompressor = callPackage ../applications/audio/magnetophonDSP/CharacterCompressor { };
CompBus = callPackage ../applications/audio/magnetophonDSP/CompBus { };
ConstantDetuneChorus = callPackage ../applications/audio/magnetophonDSP/ConstantDetuneChorus { };
@@ -24635,6 +24666,8 @@ in
puremapping = callPackage ../applications/audio/pd-plugins/puremapping { };
+ pure-maps = libsForQt5.callPackage ../applications/misc/pure-maps { };
+
pwdsafety = callPackage ../tools/security/pwdsafety { };
pybitmessage = callPackage ../applications/networking/instant-messengers/pybitmessage { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 8b9aeb03aaf..43ec072d987 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2157,6 +2157,8 @@ in {
exifread = callPackage ../development/python-modules/exifread { };
+ exrex = callPackage ../development/python-modules/exrex { };
+
extras = callPackage ../development/python-modules/extras { };
eyeD3 = callPackage ../development/python-modules/eyed3 { };
@@ -4300,6 +4302,8 @@ in {
mygpoclient = callPackage ../development/python-modules/mygpoclient { };
+ myjwt = callPackage ../development/python-modules/myjwt { };
+
mypy = callPackage ../development/python-modules/mypy { };
mypy-extensions = callPackage ../development/python-modules/mypy/extensions.nix { };
@@ -6767,6 +6771,8 @@ in {
querystring_parser = callPackage ../development/python-modules/querystring-parser { };
+ questionary = callPackage ../development/python-modules/questionary { };
+
queuelib = callPackage ../development/python-modules/queuelib { };
r2pipe = callPackage ../development/python-modules/r2pipe { };