diff --git a/lib/licenses.nix b/lib/licenses.nix index 9baaba022bf5..3c4323e3d960 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -346,6 +346,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({ fullName = "Unspecified free software license"; }; + ftl = spdx { + spdxId = "FTL"; + fullName = "Freetype Project License"; + }; + g4sl = { fullName = "Geant4 Software License"; url = "https://geant4.web.cern.ch/geant4/license/LICENSE.html"; diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index a5ea81bcdab4..2e1069828c1b 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -91,6 +91,10 @@ flake-uri + + input-name flake-uri + + diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 212ba06ef757..46015c9ec1ef 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -56,6 +56,7 @@ let "redis" "rspamd" "rtl_433" + "script" "snmp" "smokeping" "sql" diff --git a/nixos/modules/services/monitoring/prometheus/exporters/script.nix b/nixos/modules/services/monitoring/prometheus/exporters/script.nix new file mode 100644 index 000000000000..104ab859f2ee --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/script.nix @@ -0,0 +1,64 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.script; + configFile = pkgs.writeText "script-exporter.yaml" (builtins.toJSON cfg.settings); +in +{ + port = 9172; + extraOpts = { + settings.scripts = mkOption { + type = with types; listOf (submodule { + options = { + name = mkOption { + type = str; + example = "sleep"; + description = "Name of the script."; + }; + script = mkOption { + type = str; + example = "sleep 5"; + description = "Shell script to execute when metrics are requested."; + }; + timeout = mkOption { + type = nullOr int; + default = null; + example = 60; + description = "Optional timeout for the script in seconds."; + }; + }; + }); + example = literalExample '' + { + scripts = [ + { name = "sleep"; script = "sleep 5"; } + ]; + } + ''; + description = '' + All settings expressed as an Nix attrset. + + Check the official documentation for the corresponding YAML + settings that can all be used here: + ''; + }; + }; + serviceOpts = { + serviceConfig = { + ExecStart = '' + ${pkgs.prometheus-script-exporter}/bin/script_exporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --config.file ${configFile} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + NoNewPrivileges = true; + ProtectHome = true; + ProtectSystem = "strict"; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + }; + }; +} diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index 17b71e82ed21..69a9a6b23218 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -964,6 +964,24 @@ let ''; }; + script = { + exporterConfig = { + enable = true; + settings.scripts = [ + { name = "success"; script = "sleep 1"; } + ]; + }; + exporterTest = '' + wait_for_unit("prometheus-script-exporter.service") + wait_for_open_port(9172) + wait_until_succeeds( + "curl -sSf 'localhost:9172/probe?name=success' | grep -q '{}'".format( + 'script_success{script="success"} 1' + ) + ) + ''; + }; + smokeping = { exporterConfig = { enable = true; diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix index 743f1080854a..df81e0960b31 100644 --- a/pkgs/applications/audio/bslizr/default.nix +++ b/pkgs/applications/audio/bslizr/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "bslizr"; - version = "1.2.14"; + version = "1.2.16"; src = fetchFromGitHub { owner = "sjaehn"; repo = "BSlizr"; rev = version; - sha256 = "sha256-dut3I68tJWQH+X6acKROqb5HywufeBQ4/HkXFKsA3hY="; + sha256 = "sha256-5DvVkTz79CLvZMZ3XnI0COIfxnhERDSvzbVoJAcqNRI="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/gis/gmt/default.nix b/pkgs/applications/gis/gmt/default.nix index 0e2b45888b48..a894d121bd3d 100644 --- a/pkgs/applications/gis/gmt/default.nix +++ b/pkgs/applications/gis/gmt/default.nix @@ -9,10 +9,10 @@ stdenv.mkDerivation rec { pname = "gmt"; - version = "6.1.1"; + version = "6.2.0"; src = fetchurl { url = "https://github.com/GenericMappingTools/gmt/releases/download/${version}/gmt-${version}-src.tar.gz"; - sha256 = "04mdxxcild56jhg9ax522xh78v1wl1x8iqv2f6wv32x9b2lgy1lp"; + sha256 = "sha256-q3BikSrurRAhdw+tR1bgqZhg/ejqm0KPsAwi+hWju/w="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index 72b17400df30..09128301d6c8 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -88,19 +88,19 @@ let fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; # Upstream source - version = "10.0.16"; + version = "10.0.17"; lang = "en-US"; srcs = { x86_64-linux = fetchurl { url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"; - sha256 = "07h2gd6cwwq17lrwjpfah1xvr8ny8700qvi971qacrr7ssicw2pw"; + sha256 = "13x38n1cvqmxjz0jf2fda8lx2k25szzmg7gvv08z3q5na7109m2m"; }; i686-linux = fetchurl { url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"; - sha256 = "145kniiby5nnd0ll3v2gggzxz52bqbrdp72hvh96i8qnzi0fq25a"; + sha256 = "0f0ndwmzh732svwbcf1lbxlvdxw4i4d56w9xdl5fxd4n7ivqml1q"; }; }; in diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle/extensions.nix b/pkgs/applications/networking/browsers/tor-browser-bundle/extensions.nix deleted file mode 100644 index 7356768f3973..000000000000 --- a/pkgs/applications/networking/browsers/tor-browser-bundle/extensions.nix +++ /dev/null @@ -1,111 +0,0 @@ -{ stdenv -, fetchgit -, fetchurl - -# common -, zip - -# HTTPS Everywhere -, git -, libxml2 # xmllint -, python27 -, python27Packages -, rsync -}: - -{ - https-everywhere = stdenv.mkDerivation rec { - pname = "https-everywhere"; - version = "2017.10.4"; - - extid = "https-everywhere-eff@eff.org"; - - src = fetchgit { - url = "https://git.torproject.org/https-everywhere.git"; - rev = "refs/tags/${version}"; - sha256 = "1g7971xygnhagnb25xjdf6mli6091ai9igx42d0ww88g8i0cqfzj"; - fetchSubmodules = true; # for translations, TODO: remove - }; - - nativeBuildInputs = [ - git - libxml2 # xmllint - python27 - python27Packages.lxml - rsync - zip - ]; - - buildPhase = '' - $shell ./makexpi.sh ${version} --no-recurse - ''; - - installPhase = '' - install -m 444 -D pkg/https-everywhere-$version-eff.xpi "$out/$extid.xpi" - ''; - }; - - noscript = stdenv.mkDerivation rec { - pname = "noscript"; - version = "5.1.2"; - - extid = "{73a6fe31-595d-460b-a920-fcc0f8843232}"; - - src = fetchurl { - url = "https://secure.informaction.com/download/releases/noscript-${version}.xpi"; - sha256 = "1fzspdiwhjabwz1yxb3gzj7giz9jbc1xxm65i93rvhzcp537cs42"; - }; - - dontUnpack = true; - - installPhase = '' - install -m 444 -D $src "$out/$extid.xpi" - ''; - }; - - torbutton = stdenv.mkDerivation rec { - pname = "torbutton"; - version = "1.9.8.1"; - - extid = "torbutton@torproject.org"; - - src = fetchgit { - url = "https://git.torproject.org/torbutton.git"; - rev = "refs/tags/${version}"; - sha256 = "1amp0c9ky0a7fsa0bcbi6n6ginw7s2g3an4rj7kvc1lxmrcsm65l"; - }; - - nativeBuildInputs = [ zip ]; - - buildPhase = '' - $shell ./makexpi.sh - ''; - - installPhase = '' - install -m 444 -D pkg/torbutton-$version.xpi "$out/$extid.xpi" - ''; - }; - - tor-launcher = stdenv.mkDerivation rec { - pname = "tor-launcher"; - version = "0.2.13"; - - extid = "tor-launcher@torproject.org"; - - src = fetchgit { - url = "https://git.torproject.org/tor-launcher.git"; - rev = "refs/tags/${version}"; - sha256 = "1f98v88y2clwvjiw77kxqc9cacp5h0489a540nc2wmsx7vnskrq0"; - }; - - nativeBuildInputs = [ zip ]; - - buildPhase = '' - make package - ''; - - installPhase = '' - install -m 444 -D pkg/tor-launcher-$version.xpi "$out/$extid.xpi" - ''; - }; -} diff --git a/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/pkgs/applications/version-management/git-and-tools/gitui/default.nix index 6331ab32acd8..3049012160df 100644 --- a/pkgs/applications/version-management/git-and-tools/gitui/default.nix +++ b/pkgs/applications/version-management/git-and-tools/gitui/default.nix @@ -1,16 +1,16 @@ { lib, stdenv, rustPlatform, fetchFromGitHub, libiconv, perl, python3, Security, AppKit, openssl, xclip }: rustPlatform.buildRustPackage rec { pname = "gitui"; - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = "extrawurst"; repo = pname; rev = "v${version}"; - sha256 = "sha256-XPXldkNLlxgUBdDDR+n3JAO75JQQOvKoduwnWvIompY="; + sha256 = "sha256-8RPIPimDImLUR9oHVZZ7ZeKLtIhebv/d0kl4CQ5NFdU="; }; - cargoSha256 = "sha256-jHrjAdghuFADf/Gd3GeUOpPBG5tqsBG/Q4R0pNxHAps="; + cargoSha256 = "sha256-1IHbOjZV8Rc0el7J983B8pvnbt8+QtYiknZU/I85OnY="; nativeBuildInputs = [ python3 perl ]; buildInputs = [ openssl ] diff --git a/pkgs/data/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix index c12f9e2ba78b..1014d483440c 100644 --- a/pkgs/data/themes/nordic/default.nix +++ b/pkgs/data/themes/nordic/default.nix @@ -2,70 +2,70 @@ stdenv.mkDerivation rec { pname = "nordic"; - version = "unstable-2021-05-21"; + version = "unstable-2021-06-04"; srcs = [ (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "7e4f95ddaa8d94a66ed11a3b939cbd10864f1610"; - sha256 = "079gf8gxn1d2j44nhx4jzx2hz8hpsid7xwh414fjl3g2avb7n05a"; + rev = "9a98c05f4d4f6c9e701ac20b0bf5c18284ad0015"; + sha256 = "0ghgr7fr7anm8hdq6n46xhkjxydqkr0qlk1q7mdg08j43f0yra7b"; name = "Nordic"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "0b4197e281ba306ac4918cabbd83003c38c0067d"; - sha256 = "1w85i2fbils2ivwsa85g1asj2nx0p0cak840nyr58hdwky49ci5p"; + rev = "90ce6f539735af1f231c4fa07708cef602e1c8a2"; + sha256 = "1g6sz7ifpc8jf4iplcsmihqhjdc7yp5xygw8584n122jmh8mak47"; name = "Nordic-standard-buttons"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "aba3c78910de8a47950a0b2defb8022c615d91f6"; - sha256 = "1746w0iahmdgw3kj1q2cswf12pf0ln7qq1grfz9sn8rjafzjchj8"; + rev = "529cdb86b4d4474a67a56eb9377e3c7907b452db"; + sha256 = "06li44i5wh4h06fbhvjf5cjma5czjdgnwvm79d8hg6vmi2101b0a"; name = "Nordic-darker"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "9946dd747e1ea05782e084d2c2d94e2e4c7605ac"; - sha256 = "0mz1l1h26zhv0pnsbs0rx0xrwrn2y8g3ik0aa8ww5f411vvzgfr5"; + rev = "1d16f37de315c298a6c3d79a552ed6f18cbb7fb4"; + sha256 = "0nxzygnysg4ciib337vay0qcc80hpryjnclwjwjzj51i95366k25"; name = "Nordic-darker-standard-buttons"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "5c0be5a783cd14af5c7647ca13d946c64e03561d"; - sha256 = "0751z3b9s0ycrsha20jx8lhdgvggcl0rdgv975dpaiqqjqyd9z06"; + rev = "78a30080bc50ee88c23d393049306ef1925bcdb8"; + sha256 = "10w4815fcf3pd24ar7jp0wcdiwn3zzrdj2p6fqlgx26biz7kf3iv"; name = "Nordic-bluish-accent"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "9cb8d9f786614579e59ec2c3dd9fd8dd9b56316e"; - sha256 = "09s9y7waygrx3p6c0c4py0ywg2ihpdmx73xhw5f92rr5nhsvish7"; + rev = "e4363da8d457e8b14f6e4340979225db92d34aa9"; + sha256 = "1sjw2hvg4jgxqzgqhqixq216a7vv5licbc8ii1rsz88ycafsbr7j"; name = "Nordic-bluish-accent-standard-buttons"; }) (fetchFromGitHub { owner = "EliverLara"; repo = "${pname}-polar"; - rev = "69652db56e1721ac183cd57d21a801a09655a811"; - sha256 = "0zjd4np11mjwmc1kh2n1ig77g4wq88s2yrmnga0gvw1lf44n3qn2"; + rev = "a38fd7d440309573947d3e53ea3ed295cf027ce7"; + sha256 = "1r6hz0m0y7c1d0ka1x9cd47r0jvpgkld6x3gf2b7w7yvqpmh6a44"; name = "Nordic-Polar"; }) (fetchFromGitHub { owner = "EliverLara"; repo = "${pname}-polar"; - rev = "3a67c1a2308ba3e9ec5d82f4a3416f85b6085b08"; - sha256 = "0gpg2izh4ay78j79vjp4svmi3qy9qaw0n6ai8zwm7p25dwm56fjy"; + rev = "b86d43c48bcac57c49d891b967311fd90f6d4bcd"; + sha256 = "0c725kf5ql42zrqk6dwk6i7wyrhr3gddipvhy6692nv0dszqm0ml"; name = "Nordic-Polar-standard-buttons"; }) ]; diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix index 4da627a844ba..783ae34dcd38 100644 --- a/pkgs/development/beam-modules/build-mix.nix +++ b/pkgs/development/beam-modules/build-mix.nix @@ -23,16 +23,12 @@ let pkg = self: stdenv.mkDerivation (attrs // { name = "${name}-${version}"; - inherit version; - inherit src; + inherit version src buildInputs; MIX_ENV = mixEnv; MIX_DEBUG = if enableDebugInfo then 1 else 0; HEX_OFFLINE = 1; - # stripping does not have any effect on beam files - dontStrip = true; - # add to ERL_LIBS so other modules can find at runtime. # http://erlang.org/doc/man/code.html#code-path # Mix also searches the code path when compiling with the --no-deps-check flag @@ -41,7 +37,7 @@ let addToSearchPath ERL_LIBS "$1/lib/erlang/lib" ''; - buildInputs = buildInputs ++ [ elixir hex ]; + nativeBuildInputs = [ elixir hex ]; propagatedBuildInputs = propagatedBuildInputs ++ beamDeps; buildPhase = attrs.buildPhase or '' @@ -73,6 +69,10 @@ let runHook postInstall ''; + # stripping does not have any effect on beam files + # it is however needed for dependencies with NIFs like bcrypt for example + dontStrip = false; + passthru = { packageName = name; env = shell self; diff --git a/pkgs/development/beam-modules/build-rebar3.nix b/pkgs/development/beam-modules/build-rebar3.nix index b66dc535ce03..0dfd68f0993c 100644 --- a/pkgs/development/beam-modules/build-rebar3.nix +++ b/pkgs/development/beam-modules/build-rebar3.nix @@ -42,9 +42,13 @@ let buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ]; propagatedBuildInputs = unique beamDeps; - dontStrip = true; inherit src; + # stripping does not have any effect on beam files + # it is however needed for dependencies with NIFs + # false is the default but we keep this for readability + dontStrip = false; + setupHook = writeText "setupHook.sh" '' addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" ''; diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix index 774af2e5ec98..e096bdee0cfd 100644 --- a/pkgs/development/beam-modules/mix-release.nix +++ b/pkgs/development/beam-modules/mix-release.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, elixir, erlang, findutils, hex, rebar, rebar3, fetchMixDeps, makeWrapper, git }: +{ stdenv, lib, elixir, erlang, findutils, hex, rebar3, fetchMixDeps, makeWrapper, git, ripgrep }: { pname , version @@ -23,7 +23,8 @@ let in assert mixNixDeps != { } -> mixFodDeps == null; stdenv.mkDerivation (overridable // { - nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ]; + # rg is used as a better grep to search for erlang references in the final release + nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ripgrep ]; buildInputs = builtins.attrValues mixNixDeps; MIX_ENV = mixEnv; @@ -31,7 +32,6 @@ stdenv.mkDerivation (overridable // { HEX_OFFLINE = 1; DEBUG = if enableDebugInfo then 1 else 0; # for Rebar3 compilation # the api with `mix local.rebar rebar path` makes a copy of the binary - MIX_REBAR = "${rebar}/bin/rebar"; MIX_REBAR3 = "${rebar3}/bin/rebar3"; postUnpack = '' @@ -82,8 +82,10 @@ stdenv.mkDerivation (overridable // { runHook postInstall ''; - fixupPhase = '' - runHook preFixup + # Stripping of the binary is intentional + # even though it does not affect beam files + # it is necessary for NIFs binaries + postFixup = '' if [ -e "$out/bin/${pname}.bat" ]; then # absent in special cases, i.e. elixir-ls rm "$out/bin/${pname}.bat" # windows file fi @@ -94,21 +96,20 @@ stdenv.mkDerivation (overridable // { if [ -e $out/releases/COOKIE ]; then # absent in special cases, i.e. elixir-ls rm $out/releases/COOKIE fi - # TODO remove the uneeded reference too erlang - # one possible way would be - # for f in $(${findutils}/bin/find $out -name start); do - # substituteInPlace $f \ - # --replace 'ROOTDIR=${erlang}/lib/erlang' 'ROOTDIR=""' - # done - # What is left to do is to check that erlang is not required on - # the host - - patchShebangs $out - runHook postFixup + # removing unused erlang reference from resulting derivation to reduce + # closure size + if [ -e $out/erts-* ]; then + echo "ERTS found in $out - removing references to erlang to reduce closure size" + # there is a link in $out/erts-*/bin/start always + # sometimes there are links in dependencies like bcrypt compiled binaries + for file in $(rg "${erlang}/lib/erlang" "$out" --text --files-with-matches); do + substituteInPlace "$file" --replace "${erlang}/lib/erlang" "$out" + done + fi ''; - # TODO figure out how to do a Fixed Output Derivation and add the output hash - # This doesn't play well at the moment with Phoenix projects - # for example that have frontend dependencies + # TODO investigate why the resulting closure still has + # a reference to erlang. + # uncommenting the following will fail the build # disallowedReferences = [ erlang ]; }) diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix index d2c9da6414fa..80082945e4c9 100644 --- a/pkgs/development/beam-modules/rebar3-release.nix +++ b/pkgs/development/beam-modules/rebar3-release.nix @@ -46,7 +46,8 @@ let buildInputs = buildInputs ++ [ erlang rebar3 openssl ] ++ beamDeps; - dontStrip = true; + # ensure we strip any native binaries (eg. NIFs, ports) + stripDebugList = lib.optional (releaseType == "release") "rel"; inherit src; diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 1f2f3a25a5e2..13d2d33abfcd 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -142,8 +142,6 @@ stdenv.mkDerivation ({ wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${lib.makeBinPath [ gnused gawk ]}" ''; - setupHook = ./setup-hook.sh; - passthru = { updateScript = let major = builtins.head (builtins.splitVersion version); diff --git a/pkgs/development/interpreters/erlang/setup-hook.sh b/pkgs/development/interpreters/erlang/setup-hook.sh deleted file mode 100644 index 3962d154ba9f..000000000000 --- a/pkgs/development/interpreters/erlang/setup-hook.sh +++ /dev/null @@ -1,5 +0,0 @@ -addErlangLibPath() { - addToSearchPath ERL_LIBS $1/lib/erlang/lib -} - -addEnvHooks "$hostOffset" addErlangLibPath diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 8f24d83d92aa..3c7ea16b26ae 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -4,7 +4,7 @@ , expat, libdrm, xorg, wayland, wayland-protocols, openssl , llvmPackages, libffi, libomxil-bellagio, libva-minimal , libelf, libvdpau -, libglvnd +, libglvnd, libunwind , galliumDrivers ? ["auto"] , driDrivers ? ["auto"] , vulkanDrivers ? ["auto"] @@ -127,6 +127,7 @@ self = stdenv.mkDerivation { libpthreadstubs openssl /*or another sha1 provider*/ ] ++ lib.optionals (elem "wayland" eglPlatforms) [ wayland wayland-protocols ] ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ] + ++ lib.optionals stdenv.isDarwin [ libunwind ] ++ lib.optional withValgrind valgrind-light; depsBuildBuild = [ pkg-config ]; diff --git a/pkgs/development/libraries/rlottie/default.nix b/pkgs/development/libraries/rlottie/default.nix index a8cd88cae507..f1d3ffd02124 100644 --- a/pkgs/development/libraries/rlottie/default.nix +++ b/pkgs/development/libraries/rlottie/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rlottie"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "Samsung"; repo = pname; rev = "v${version}"; - hash = "sha256-8KQ0ZnVg5rTb44IYnn02WBSe2SA5UGUOSLEdmmscUDs="; + sha256 = "10bxr1zf9wxl55d4cw2j02r6sgqln7mbxplhhfvhw0z92fi40kr3"; }; nativeBuildInputs = [ meson ninja pkg-config ]; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/Samsung/rlottie"; description = "A platform independent standalone c++ library for rendering vector based animations and art in realtime"; - license = licenses.unfree; # Mixed, see https://github.com/Samsung/rlottie/blob/master/COPYING + license = with licenses; [ mit bsd3 mpl11 ftl ]; platforms = platforms.all; maintainers = with maintainers; [ CRTified ]; }; diff --git a/pkgs/development/python-modules/pyezviz/default.nix b/pkgs/development/python-modules/pyezviz/default.nix index 14f2e55a1f42..323b58e82574 100644 --- a/pkgs/development/python-modules/pyezviz/default.nix +++ b/pkgs/development/python-modules/pyezviz/default.nix @@ -1,30 +1,37 @@ { lib , buildPythonPackage , fetchFromGitHub +, paho-mqtt , pandas +, pycryptodome , pythonOlder , requests +, xmltodict }: buildPythonPackage rec { pname = "pyezviz"; - version = "0.1.8.7"; + version = "0.1.8.9"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "baqs"; repo = "pyEzviz"; rev = version; - sha256 = "0k7wl9wf5i0yfdds6f9ma78ckz1p4h72z5s3qg0axzra62fvl9xg"; + sha256 = "sha256-ZjHDha7hSRXy86wm61bMMF8zMi5Lux6RbD0yFD/78J4="; }; propagatedBuildInputs = [ + paho-mqtt pandas + pycryptodome requests + xmltodict ]; # Project has no tests. test_cam_rtsp.py is more a sample for using the module doCheck = false; + pythonImportsCheck = [ "pyezviz" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix index 9bfa814894de..2784719ff128 100644 --- a/pkgs/development/python-modules/pyhomematic/default.nix +++ b/pkgs/development/python-modules/pyhomematic/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "pyhomematic"; - version = "0.1.72"; + version = "0.1.73"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "a1d44103b90418d9c8cde4699a1c671d57d12469be23a45e93bfc00df28ef11b"; + sha256 = "sha256-KaeheCIJgAqC68rgE71b1sSatSH25phGk662fnuOOsk="; }; checkPhase = '' diff --git a/pkgs/development/tools/kubie/default.nix b/pkgs/development/tools/kubie/default.nix index 6fc254153d16..c563d9bef096 100644 --- a/pkgs/development/tools/kubie/default.nix +++ b/pkgs/development/tools/kubie/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "kubie"; - version = "0.14.1"; + version = "0.15.0"; src = fetchFromGitHub { rev = "v${version}"; owner = "sbstp"; repo = "kubie"; - sha256 = "0mhm2j3i2ql7dz5vx0mwab8h8zr05ar5lfzdacgnrc293g1c01aq"; + sha256 = "sha256-uNlKxcU1iCR4JzNfBatEeKMMdu9ZqvOqna0sGrcwK30="; }; - cargoSha256 = "1rfqk7dmcz5zfq9fm9kvxf5718m0v0yfjm5a8718d40zzzvam7sy"; + cargoSha256 = "sha256-4Xo17HlYvJLf90R0gS9EFJSJKmNHClXqAJTx9mY29KA="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix index 47716b5ea9e8..5eb252a9c0e4 100644 --- a/pkgs/development/tools/misc/fswatch/default.nix +++ b/pkgs/development/tools/misc/fswatch/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "fswatch"; - version = "1.15.0"; + version = "1.16.0"; src = fetchFromGitHub { owner = "emcrisostomo"; repo = "fswatch"; rev = version; - sha256 = "11479ac436g8bwk0lfnmdms0cirv9k11pdvfrrg9jwkki1j1abkk"; + sha256 = "sha256-EKbo5gkrWuijLJgYsNBDtxy0ioXu/yHxnPPeOpk620g="; }; nativeBuildInputs = [ autoreconfHook makeWrapper ] ++ lib.optionals stdenv.isDarwin [ CoreServices ]; diff --git a/pkgs/development/tools/mix2nix/default.nix b/pkgs/development/tools/mix2nix/default.nix index e814f44757f0..21520d9dbe3d 100644 --- a/pkgs/development/tools/mix2nix/default.nix +++ b/pkgs/development/tools/mix2nix/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "mix2nix"; - version = "0.1.3"; + version = "0.1.4"; src = fetchFromGitHub { owner = "ydlr"; repo = "mix2nix"; rev = version; - sha256 = "11qn80im5zfbx25ibxqrgi90mglf8pnsmrqsami633mcf2gvj2hy"; + sha256 = "0q4yq8glrdj72j7b9xnwb6j3cli3cccimh9sb7acb4npaiivvf69"; }; nativeBuildInputs = [ elixir ]; diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index 4e7713bdc5fd..9d21b057c8a2 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -1,4 +1,4 @@ -{ config, lib, buildEnv, callPackage, vscode-utils, nodePackages, jdk, llvmPackages_8 }: +{ config, lib, buildEnv, callPackage, vscode-utils, nodePackages, jdk, llvmPackages_8, nixpkgs-fmt, jq }: let inherit (vscode-utils) buildVscodeMarketplaceExtension; @@ -99,13 +99,21 @@ let }; }; - B4dM4n.vscode-nixpkgs-fmt = buildVscodeMarketplaceExtension { + b4dm4n.vscode-nixpkgs-fmt = buildVscodeMarketplaceExtension { mktplcRef = { name = "nixpkgs-fmt"; publisher = "B4dM4n"; version = "0.0.1"; sha256 = "sha256-vz2kU36B1xkLci2QwLpl/SBEhfSWltIDJ1r7SorHcr8="; }; + nativeBuildInputs = [ jq ]; + buildInputs = [ nixpkgs-fmt ]; + postInstall = '' + cd "$out/$installPrefix" + tmp_package_json=$(mktemp) + jq '.contributes.configuration.properties."nixpkgs-fmt.path".default = "${nixpkgs-fmt}/bin/nixpkgs-fmt"' package.json > "$tmp_package_json" + mv "$tmp_package_json" package.json + ''; meta = with lib; { license = licenses.mit; }; diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix index 73b2f5895115..53f37e805fa7 100644 --- a/pkgs/os-specific/linux/v4l2loopback/default.nix +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub, kernel, kmod }: stdenv.mkDerivation rec { - name = "v4l2loopback-${version}-${kernel.version}"; - version = "0.12.5"; + pname = "v4l2loopback"; + version = "unstable-2020-04-22-${kernel.version}"; src = fetchFromGitHub { owner = "umlaeute"; repo = "v4l2loopback"; - rev = "v${version}"; - sha256 = "1qi4l6yam8nrlmc3zwkrz9vph0xsj1cgmkqci4652mbpbzigg7vn"; + rev = "d26e624b4ead762d34152f9f825b3a51fb92fb9c"; + sha256 = "sha256-OA45vmuVieoL7J83D3TD5qi3SBsiqi0kiQn4i1K6dVE="; }; hardeningDisable = [ "format" "pic" ]; @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = kernel.moduleBuildDependencies; + buildInputs = [ kmod ]; makeFlags = [ @@ -30,8 +31,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A kernel module to create V4L2 loopback devices"; homepage = "https://github.com/umlaeute/v4l2loopback"; - license = licenses.gpl2; - maintainers = [ ]; + license = licenses.gpl2Only; + maintainers = with maintainers; [ fortuneteller2k ]; platforms = platforms.linux; }; } diff --git a/pkgs/servers/monitoring/prometheus/script-exporter.nix b/pkgs/servers/monitoring/prometheus/script-exporter.nix new file mode 100644 index 000000000000..d0806b6c5fa4 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/script-exporter.nix @@ -0,0 +1,25 @@ +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: + +buildGoModule rec { + pname = "script_exporter"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "adhocteam"; + repo = pname; + rev = "v${version}"; + sha256 = "t/xgRalcHxEcT1peU1ePJUItD02rQdfz1uWpXDBo6C0="; + }; + + vendorSha256 = "Hs1SNpC+t1OCcoF3FBgpVGkhR97ulq6zYhi8BQlgfVc="; + + passthru.tests = { inherit (nixosTests.prometheus-exporters) script; }; + + meta = with lib; { + description = "Shell script prometheus exporter"; + homepage = "https://github.com/adhocteam/script_exporter"; + license = licenses.mit; + maintainers = with maintainers; [ Flakebi ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix index cedf578d46ab..135cfb40ff0a 100644 --- a/pkgs/shells/powershell/default.nix +++ b/pkgs/shells/powershell/default.nix @@ -1,11 +1,15 @@ { stdenv, lib, autoPatchelfHook, fetchzip, libunwind, libuuid, icu, curl , darwin, makeWrapper, less, openssl_1_1, pam, lttng-ust }: -let platformString = if stdenv.isDarwin then "osx" +let archString = if stdenv.isAarch64 then "arm64" + else if stdenv.isx86_64 then "x64" + else throw "unsupported platform"; + platformString = if stdenv.isDarwin then "osx" else if stdenv.isLinux then "linux" else throw "unsupported platform"; platformSha = if stdenv.isDarwin then "0w44ws8b6zfixf7xz93hmplqsx18279n9x8j77y4rbzs13fldvsn" - else if stdenv.isLinux then "0xm7l49zhkz2fly3d751kjd5cy3ws9zji9i0061lkd06dvkch7jy" + else if (stdenv.isLinux && stdenv.isx86_64) then "0xm7l49zhkz2fly3d751kjd5cy3ws9zji9i0061lkd06dvkch7jy" + else if (stdenv.isLinux && stdenv.isAarch64) then "1axbi4kmb1ydys7c45jhp729w1srid3c8jgivb4bdmdp56rf6h32" else throw "unsupported platform"; platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else if stdenv.isLinux then "LD_LIBRARY_PATH" @@ -18,7 +22,7 @@ stdenv.mkDerivation rec { version = "7.1.3"; src = fetchzip { - url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-x64.tar.gz"; + url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-${archString}.tar.gz"; sha256 = platformSha; stripRoot = false; }; @@ -42,7 +46,7 @@ stdenv.mkDerivation rec { chmod a+x $pslibs/pwsh ls $pslibs - '' + lib.optionalString (!stdenv.isDarwin) '' + '' + lib.optionalString (!stdenv.isDarwin && !stdenv.isAarch64) '' patchelf --replace-needed libcrypto${ext}.1.0.0 libcrypto${ext}.1.1 $pslibs/libmi.so patchelf --replace-needed libssl${ext}.1.0.0 libssl${ext}.1.1 $pslibs/libmi.so '' + '' @@ -66,7 +70,7 @@ stdenv.mkDerivation rec { description = "Powerful cross-platform (Windows, Linux, and macOS) shell and scripting language based on .NET"; homepage = "https://github.com/PowerShell/PowerShell"; maintainers = with maintainers; [ yrashk srgom ]; - platforms = [ "x86_64-darwin" "x86_64-linux" ]; + platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux"]; license = with licenses; [ mit ]; }; diff --git a/pkgs/tools/inputmethods/interception-tools/default.nix b/pkgs/tools/inputmethods/interception-tools/default.nix index 21636ea8d8eb..35b3b1e336d3 100644 --- a/pkgs/tools/inputmethods/interception-tools/default.nix +++ b/pkgs/tools/inputmethods/interception-tools/default.nix @@ -1,19 +1,18 @@ -{ lib, stdenv, fetchurl, pkg-config, cmake, libyamlcpp, - libevdev, udev }: +{ lib, stdenv, fetchFromGitLab, pkg-config, cmake, libyamlcpp, + libevdev, udev, boost }: -let - version = "0.2.1"; - baseName = "interception-tools"; -in stdenv.mkDerivation { - name = "${baseName}-${version}"; - - src = fetchurl { - url = "https://gitlab.com/interception/linux/tools/repository/v${version}/archive.tar.gz"; - sha256 = "0lqz89wsf9r5xdgflincysxg4l8fpgg5z8zczhhrg9s5787srfzi"; +stdenv.mkDerivation rec { + pname = "interception-tools"; + version = "0.6.6"; + src = fetchFromGitLab { + owner = "interception/linux"; + repo = "tools"; + rev = "v${version}"; + sha256 = "0k9h14a9d65nwvv7pj0kigjgzfv453mm3r4svnxfg1h5lccmy8jj"; }; nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ libevdev udev libyamlcpp ]; + buildInputs = [ libevdev udev libyamlcpp boost ]; prePatch = '' substituteInPlace CMakeLists.txt --replace \ @@ -21,12 +20,10 @@ in stdenv.mkDerivation { "\"$(pkg-config --cflags libevdev | cut -c 3-)\"" ''; - patches = [ ./fix-udevmon-configuration-job-path.patch ]; - meta = { description = "A minimal composable infrastructure on top of libudev and libevdev"; homepage = "https://gitlab.com/interception/linux/tools"; - license = lib.licenses.gpl3; + license = lib.licenses.gpl3Only; maintainers = [ lib.maintainers.vyp ]; platforms = lib.platforms.linux; }; diff --git a/pkgs/tools/inputmethods/interception-tools/fix-udevmon-configuration-job-path.patch b/pkgs/tools/inputmethods/interception-tools/fix-udevmon-configuration-job-path.patch deleted file mode 100644 index 469c96647d69..000000000000 --- a/pkgs/tools/inputmethods/interception-tools/fix-udevmon-configuration-job-path.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d3a5d661b80f3597368f517ebaeddfdfaafc1bf2 Mon Sep 17 00:00:00 2001 -From: xd1le -Date: Mon, 28 Aug 2017 00:19:09 +1000 -Subject: [PATCH] fix udevmon configuration job path - -For some reason, the udevmon job $PATH seems to be empty (or otherwise -seems to point to `/no-such-path`). This commit fixes that by setting -its $PATH to the same $PATH that the parent udevmon process has. ---- - udevmon.cpp | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/udevmon.cpp b/udevmon.cpp -index ebdd909..b523efd 100644 ---- a/udevmon.cpp -+++ b/udevmon.cpp -@@ -237,8 +237,11 @@ private: - case 0: { - char *command[] = {(char *)"sh", (char *)"-c", - (char *)job.c_str(), nullptr}; -+ std::string path = getenv("PATH"); - std::string variables = "DEVNODE=" + devnode; -- char *environment[] = {(char *)variables.c_str(), nullptr}; -+ std::string pathenv = "PATH=" + path; -+ char *environment[] = {(char *)variables.c_str(), -+ (char *)pathenv.c_str(), nullptr}; - execvpe(command[0], command, environment); - std::fprintf(stderr, - R"(exec failed for devnode %s, job "%s" )" --- -2.14.1 - diff --git a/pkgs/tools/misc/chafa/default.nix b/pkgs/tools/misc/chafa/default.nix index d830b8d81fcc..041d799307ec 100644 --- a/pkgs/tools/misc/chafa/default.nix +++ b/pkgs/tools/misc/chafa/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - version = "1.6.0"; + version = "1.6.1"; pname = "chafa"; src = fetchFromGitHub { owner = "hpjansson"; repo = "chafa"; rev = version; - sha256 = "sha256-GaXVMM23U3M+qNJrWYR+DLiCmILcuX5EIkQqzwN/l1Y="; + sha256 = "sha256-isQxeb7OQh4W8RvtKWXbKVYJ8LlfLiOkMJoPjsGFouM="; }; nativeBuildInputs = [ autoconf diff --git a/pkgs/tools/misc/freshfetch/Cargo.lock b/pkgs/tools/misc/freshfetch/Cargo.lock new file mode 100644 index 000000000000..24cfb7e9de96 --- /dev/null +++ b/pkgs/tools/misc/freshfetch/Cargo.lock @@ -0,0 +1,587 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5" +dependencies = [ + "memchr", +] + +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +dependencies = [ + "winapi", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "bstr" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d" +dependencies = [ + "memchr", +] + +[[package]] +name = "cc" +version = "1.0.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi", +] + +[[package]] +name = "clap" +version = "2.33.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "clml_rs" +version = "0.3.0" +source = "git+https://github.com/K4rakara/clml-rs#eecf1378f4e85a9b3dc91e8a15d497a2fd75906f" +dependencies = [ + "lazy_static", + "rand", + "regex", +] + +[[package]] +name = "cmd_lib" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42443b644d30f401746fb4483fba96b13076e1ef6cb5bca7d6a14d1d8f9f2bd9" +dependencies = [ + "cmd_lib_core", + "cmd_lib_macros", +] + +[[package]] +name = "cmd_lib_core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c50c50a1536e882455aeaff22015146ea143b9106fc8e116669dd078ec7b7fc8" + +[[package]] +name = "cmd_lib_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d202b0cfc28d8928ba89138c0a8248cf921b9870c6c9d60c9951092df5b62b2" +dependencies = [ + "cmd_lib_core", + "proc-macro2", + "quote", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" + +[[package]] +name = "crossbeam-channel" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "lazy_static", + "memoffset", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49" +dependencies = [ + "autocfg", + "cfg-if", + "lazy_static", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "either" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" + +[[package]] +name = "freshfetch" +version = "0.2.0" +dependencies = [ + "chrono", + "clap", + "clml_rs", + "cmd_lib", + "cmd_lib_core", + "lazy_static", + "mlua", + "regex", + "sysinfo", + "term_size", + "uname", + "users", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "hermit-abi" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" +dependencies = [ + "libc", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41" + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "lua-src" +version = "543.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029180f994b9b36f47d905f92569b516acf7d073778e2e781c15ee375b1ca27d" +dependencies = [ + "cc", +] + +[[package]] +name = "luajit-src" +version = "210.1.3+restyfe08842" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36d3de8377d8e0492b646527befb7eb826a9ecd2dc8c1f81ab0e654bc03a029b" +dependencies = [ + "cc", +] + +[[package]] +name = "memchr" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" + +[[package]] +name = "memoffset" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mlua" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f2fc8e1085d53b72898c59ceee1980b5826b0c98ce99886b7518f0ead00e5cb" +dependencies = [ + "bstr", + "cc", + "lazy_static", + "lua-src", + "luajit-src", + "num-traits", + "pkg-config", +] + +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3" + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "ppv-lite86" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" + +[[package]] +name = "proc-macro2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom", + "libc", + "rand_chacha", + "rand_core", + "rand_hc", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rayon" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" +dependencies = [ + "autocfg", + "crossbeam-deque", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "lazy_static", + "num_cpus", +] + +[[package]] +name = "regex" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "sysinfo" +version = "0.15.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de94457a09609f33fec5e7fceaf907488967c6c7c75d64da6a7ce6ffdb8b5abd" +dependencies = [ + "cc", + "cfg-if", + "core-foundation-sys", + "doc-comment", + "libc", + "ntapi", + "once_cell", + "rayon", + "winapi", +] + +[[package]] +name = "term_size" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", +] + +[[package]] +name = "uname" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" +dependencies = [ + "libc", +] + +[[package]] +name = "unicode-width" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" + +[[package]] +name = "unicode-xid" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" + +[[package]] +name = "users" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa4227e95324a443c9fcb06e03d4d85e91aabe9a5a02aa818688b6918b6af486" +dependencies = [ + "libc", + "log", +] + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/pkgs/tools/misc/freshfetch/default.nix b/pkgs/tools/misc/freshfetch/default.nix new file mode 100644 index 000000000000..7ed334360358 --- /dev/null +++ b/pkgs/tools/misc/freshfetch/default.nix @@ -0,0 +1,31 @@ +{ fetchFromGitHub, fetchurl, lib, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "freshfetch"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "k4rakara"; + repo = pname; + rev = "v${version}"; + sha256 = "1l9zngr5l12g71j85iyph4jjri3crxc2pi9q0gczrrzvs03439mn"; + }; + + cargoLock = { + # update Cargo.lock every new release of freshfetch + lockFile = ./Cargo.lock; + outputHashes = { + "clml_rs-0.3.0" = "0hvd59zh7czk9jd1a2wwcm1acpcfbz32v9ka7ap6f74d638jcc19"; + }; + }; + + # freshfetch depends on rust nightly features + RUSTC_BOOTSTRAP = 1; + + meta = with lib; { + description = "A fresh take on neofetch"; + homepage = "https://github.com/k4rakara/freshfetch"; + license = licenses.mit; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/tools/misc/pgbadger/default.nix b/pkgs/tools/misc/pgbadger/default.nix new file mode 100644 index 000000000000..d6e3588f6bb9 --- /dev/null +++ b/pkgs/tools/misc/pgbadger/default.nix @@ -0,0 +1,31 @@ +{ buildPerlPackage, lib, fetchFromGitHub, which, bzip2, PodMarkdown, JSONXS +, TextCSV }: +buildPerlPackage rec { + pname = "pgbadger"; + version = "11.5"; + src = fetchFromGitHub { + owner = "darold"; + repo = "pgbadger"; + rev = "98b38161ba99faae77c81d5fa47bd769c1dd750b"; + sha256 = "0r01mx1922g1m56x4958cihk491zjlaijvap0i32grjmnv4s5v88"; + }; + + postPatch = '' + patchShebangs ./pgbadger + ''; + + outputs = [ "out" ]; + + PERL_MM_OPT = "INSTALL_BASE=${placeholder "out"}"; + + buildInputs = [ PodMarkdown JSONXS TextCSV ]; + + checkInputs = [ which bzip2 ]; + + meta = { + homepage = "https://github.com/darold/pgbadger"; + description = "A fast PostgreSQL Log Analyzer"; + license = lib.licenses.postgresql; + maintainers = lib.teams.determinatesystems.members; + }; +} diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix index 3549677e22fc..fbfab8d2f05a 100644 --- a/pkgs/tools/networking/ngrok-2/default.nix +++ b/pkgs/tools/networking/ngrok-2/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation { description = "Allows you to expose a web server running on your local machine to the internet"; homepage = "https://ngrok.com/"; license = licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; maintainers = [ maintainers.bobvanderlinden ]; }; } diff --git a/pkgs/tools/networking/ngrok-2/update.sh b/pkgs/tools/networking/ngrok-2/update.sh index 7908a1524e59..4e2aaf4e5596 100755 --- a/pkgs/tools/networking/ngrok-2/update.sh +++ b/pkgs/tools/networking/ngrok-2/update.sh @@ -29,5 +29,6 @@ get_download_info() { get_download_info linux arm get_download_info linux arm64 get_download_info darwin amd64 + get_download_info darwin arm64 ) | jq --slurp 'map ({ (.sys): . }) | add' \ > pkgs/tools/networking/ngrok-2/versions.json diff --git a/pkgs/tools/networking/ngrok-2/versions.json b/pkgs/tools/networking/ngrok-2/versions.json index 656e6a640e53..85b0e47168a2 100644 --- a/pkgs/tools/networking/ngrok-2/versions.json +++ b/pkgs/tools/networking/ngrok-2/versions.json @@ -1,32 +1,38 @@ { "linux-386": { "sys": "linux-386", - "url": "https://bin.equinox.io/a/bjFaKy3TSAg/ngrok-2.3.35-linux-386", - "sha256": "1fdd1c057c3c31044400ef6ade20ad3f10bce415ad33ccfb4bc2fd83bb36f62f", - "version": "2.3.35" + "url": "https://bin.equinox.io/a/c4ZY6f7svn7/ngrok-2.3.40-linux-386", + "sha256": "1b645ff0abbb28ca7c0f6a2109653be2dc281860b582b4de6927fde12c99da26", + "version": "2.3.40" }, "linux-amd64": { "sys": "linux-amd64", - "url": "https://bin.equinox.io/a/52fZaxjGg9n/ngrok-2.3.35-linux-amd64", - "sha256": "b456608239cdf4b5119916c62a87640667d1cb1900c53faed89e3dacc1fe4679", - "version": "2.3.35" + "url": "https://bin.equinox.io/a/b5PAmc6L9z2/ngrok-2.3.40-linux-amd64", + "sha256": "218d267cd1195334718bafac14bfdf1c19dc95dcf8a24aaa6a1383c21dc86e76", + "version": "2.3.40" }, "linux-arm": { "sys": "linux-arm", - "url": "https://bin.equinox.io/a/2cUd5mRRjoF/ngrok-2.3.35-linux-arm", - "sha256": "94d88311e9b2baea615d9fe7c6921ac0167040ec66aa0d0cbb856c027d617f1f", - "version": "2.3.35" + "url": "https://bin.equinox.io/a/aRh9rdUAJyf/ngrok-2.3.40-linux-arm", + "sha256": "538a7431df141a929a250eaf6ed7afdcce817bcd8cfe60b61f4c6d7a289b1d1c", + "version": "2.3.40" }, "linux-arm64": { "sys": "linux-arm64", - "url": "https://bin.equinox.io/a/k2qx6ipHqpb/ngrok-2.3.35-linux-arm64", - "sha256": "fd07f5c449f1c1444606bbc9d06fa6b649325ddf0b3e6dac6f32d785a886f170", - "version": "2.3.35" + "url": "https://bin.equinox.io/a/2gpRjDRBpJv/ngrok-2.3.40-linux-arm64", + "sha256": "dc7b4465ef95f6d04d1b1996111b3a2631e5f464d7dca7f4994f59ea4edbe21f", + "version": "2.3.40" }, "darwin-amd64": { "sys": "darwin-amd64", - "url": "https://bin.equinox.io/a/jKkD2Wcds2L/ngrok-2.3.35-darwin-amd64", - "sha256": "dd74a6be1a155c41ff06aadad910196cae13e06ab997bc0b144288b2da568f2a", - "version": "2.3.35" + "url": "https://bin.equinox.io/a/fcZQXtHSDgM/ngrok-2.3.40-darwin-amd64", + "sha256": "80c8fb121d6c93350d84351d9516674f4e20a3e003cdd7dcb4c3e7c48b9c5b07", + "version": "2.3.40" + }, + "darwin-arm64": { + "sys": "darwin-arm64", + "url": "https://bin.equinox.io/a/3TEKdZeyAnt/ngrok-2.3.40-darwin-arm64", + "sha256": "c9e6dfec454f9faec92a13dfd3f3857de982007e3b85987bb875aa0d74ca8101", + "version": "2.3.40" } } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 03d97b3338ab..73c47a750aa2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4841,6 +4841,8 @@ in frescobaldi = python3Packages.callPackage ../misc/frescobaldi {}; + freshfetch = callPackage ../tools/misc/freshfetch { }; + frostwire = callPackage ../applications/networking/p2p/frostwire { }; frostwire-bin = callPackage ../applications/networking/p2p/frostwire/frostwire-bin.nix { }; @@ -7234,6 +7236,8 @@ in pcmsolver = callPackage ../development/libraries/pcmsolver { }; + pgbadger = perlPackages.callPackage ../tools/misc/pgbadger { }; + phash = callPackage ../development/libraries/phash { }; pnmixer = callPackage ../tools/audio/pnmixer { }; @@ -19740,6 +19744,7 @@ in prometheus-redis-exporter = callPackage ../servers/monitoring/prometheus/redis-exporter.nix { }; prometheus-rabbitmq-exporter = callPackage ../servers/monitoring/prometheus/rabbitmq-exporter.nix { }; prometheus-rtl_433-exporter = callPackage ../servers/monitoring/prometheus/rtl_433-exporter.nix { }; + prometheus-script-exporter = callPackage ../servers/monitoring/prometheus/script-exporter.nix { }; prometheus-smokeping-prober = callPackage ../servers/monitoring/prometheus/smokeping-prober.nix { }; prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { }; prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-exporter.nix { }; diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index b26dd1b1e59d..55eb56764033 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -174,9 +174,23 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { FSharpFormatting = fetchNuGet { baseName = "FSharp.Formatting"; - version = "2.9.8"; - sha256 = "1bswcpa68i2lqds4kkl2qxgkfrppbpxa4jkyja48azljajh0df3m"; - outputFiles = [ "lib/net40/*" ]; + version = "11.2.0"; + sha256 = "4IMrd+jpRZw+vBXx4X89/B/Fdpiuy2hwtmQNGWQp0wM="; + outputFiles = [ "lib/*" ]; + postUnpack = '' + chmod -R a+r $sourceRoot + ''; + + meta = with lib; { + description = "F# tools for generating documentation (Markdown processor and F# code formatter)"; + homepage = "https://fsprojects.github.io/FSharp.Formatting/"; + longDescription = '' + The FSharp.Formatting package includes libraries and tools for processing F# script files, + markdown and components for documentation generation. + ''; + license = licenses.asl20; + maintainers = [ maintainers.ratsclub ]; + }; }; NUnit3 = fetchNuGet {