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 { };