summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix12
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/web-apps/hledger-web.nix77
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/hledger-web.nix53
-rw-r--r--pkgs/applications/editors/texmacs/default.nix14
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.py3
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json6
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix10
-rw-r--r--pkgs/development/libraries/simdjson/default.nix4
-rw-r--r--pkgs/development/python-modules/avion/default.nix37
-rw-r--r--pkgs/development/python-modules/bluepy-devices/default.nix29
-rw-r--r--pkgs/development/python-modules/csrmesh/default.nix32
-rw-r--r--pkgs/development/python-modules/pyiqvia/default.nix8
-rw-r--r--pkgs/development/tools/py-spy/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-limit/cargo-Add-Cargo.lock.patch288
-rw-r--r--pkgs/development/tools/rust/cargo-limit/default.nix34
-rw-r--r--pkgs/games/freedroid/default.nix53
-rw-r--r--pkgs/misc/vim-plugins/generated.nix242
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/tools/admin/aws-mfa/default.nix35
-rw-r--r--pkgs/tools/admin/procs/default.nix6
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix4
-rw-r--r--pkgs/tools/networking/chisel/default.nix35
-rw-r--r--pkgs/tools/security/go-cve-search/default.nix32
-rw-r--r--pkgs/tools/security/xortool/default.nix35
-rw-r--r--pkgs/tools/system/nq/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix11
-rw-r--r--pkgs/top-level/python-packages.nix6
34 files changed, 944 insertions, 155 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index f25f11f57aec..bda18bd0a5aa 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -5640,6 +5640,12 @@
email = "markus@wotringer.de";
name = "Markus Wotringer";
};
+ marijanp = {
+ name = "Marijan Petričević";
+ email = "marijan.petricevic94@gmail.com";
+ github = "marijanp";
+ githubId = 13599169;
+ };
marius851000 = {
email = "mariusdavid@laposte.net";
name = "Marius David";
@@ -8649,6 +8655,12 @@
githubId = 36899624;
name = "squalus";
};
+ srapenne = {
+ email = "solene@perso.pw";
+ github = "rapenne-s";
+ githubId = 248016;
+ name = "Solène Rapenne";
+ };
srghma = {
email = "srghma@gmail.com";
github = "srghma";
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index c7a8f6b2f7c3..7586ae41bbb0 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -876,6 +876,7 @@
./services/web-apps/gotify-server.nix
./services/web-apps/grocy.nix
./services/web-apps/hedgedoc.nix
+ ./services/web-apps/hledger-web.nix
./services/web-apps/icingaweb2/icingaweb2.nix
./services/web-apps/icingaweb2/module-monitoring.nix
./services/web-apps/ihatemoney
diff --git a/nixos/modules/services/web-apps/hledger-web.nix b/nixos/modules/services/web-apps/hledger-web.nix
new file mode 100644
index 000000000000..43fc4daa177f
--- /dev/null
+++ b/nixos/modules/services/web-apps/hledger-web.nix
@@ -0,0 +1,77 @@
+{ lib, pkgs, config, ... }:
+with lib;
+let
+ cfg = config.services.hledger-web;
+in {
+ options.services.hledger-web = {
+
+ enable = mkEnableOption "hledger-web service";
+
+ serveApi = mkEnableOption "Serve only the JSON web API, without the web UI.";
+
+ host = mkOption {
+ type = types.str;
+ default = "127.0.0.1";
+ description = ''
+ Address to listen on.
+ '';
+ };
+
+ port = mkOption {
+ type = types.port;
+ default = 5000;
+ example = "80";
+ description = ''
+ Port to listen on.
+ '';
+ };
+
+ capabilities = mkOption {
+ type = types.commas;
+ default = "view";
+ description = ''
+ Enable the view, add, and/or manage capabilities. E.g. view,add
+ '';
+ };
+
+ journalFile = mkOption {
+ type = types.path;
+ example = "/home/hledger/.hledger.journal";
+ description = ''
+ Input journal file.
+ '';
+ };
+
+ baseUrl = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ example = "https://example.org";
+ description = ''
+ Base URL, when sharing over a network.
+ '';
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.hledger-web = {
+ description = "hledger-web - web-app for the hledger accounting tool.";
+ documentation = [ https://hledger.org/hledger-web.html ];
+ wantedBy = [ "multi-user.target" ];
+ after = [ "networking.target" ];
+ serviceConfig = {
+ ExecStart = ''
+ ${pkgs.hledger-web}/bin/hledger-web \
+ --host=${cfg.host} \
+ --port=${toString cfg.port} \
+ --file=${cfg.journalFile} \
+ "--capabilities=${cfg.capabilities}" \
+ ${optionalString (cfg.baseUrl != null) "--base-url=${cfg.baseUrl}"} \
+ ${optionalString (cfg.serveApi) "--serve-api"}
+ '';
+ Restart = "always";
+ };
+ };
+ };
+
+ meta.maintainers = with lib.maintainers; [ marijanp ];
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 05fd5c4822a7..d267ddeb4cf4 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -155,6 +155,7 @@ in
# not on other platforms.
hibernate = handleTestOn ["x86_64-linux"] ./hibernate.nix {};
hitch = handleTest ./hitch {};
+ hledger-web = handleTest ./hledger-web.nix {};
hocker-fetchdocker = handleTest ./hocker-fetchdocker {};
home-assistant = handleTest ./home-assistant.nix {};
hostname = handleTest ./hostname.nix {};
diff --git a/nixos/tests/hledger-web.nix b/nixos/tests/hledger-web.nix
new file mode 100644
index 000000000000..378d819437db
--- /dev/null
+++ b/nixos/tests/hledger-web.nix
@@ -0,0 +1,53 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+let
+ journal = pkgs.writeText "test.journal" ''
+ 2010/01/10 Loan
+ assets:cash 500$
+ income:loan -500$
+ 2010/01/10 NixOS Foundation donation
+ expenses:donation 250$
+ assets:cash -250$
+ '';
+in
+rec {
+ name = "hledger-web";
+ meta.maintainers = with lib.maintainers; [ marijanp ];
+
+ nodes = {
+ server = { config, pkgs, ... }: rec {
+ services.hledger-web = {
+ host = "127.0.0.1";
+ port = 5000;
+ enable = true;
+ journalFile = journal;
+ };
+ networking.firewall.allowedTCPPorts = [ services.hledger-web.port ];
+ };
+ apiserver = { config, pkgs, ... }: rec {
+ services.hledger-web = {
+ host = "127.0.0.1";
+ port = 5000;
+ enable = true;
+ serveApi = true;
+ journalFile = journal;
+ };
+ networking.firewall.allowedTCPPorts = [ services.hledger-web.port ];
+ };
+ };
+
+ testScript = ''
+ start_all()
+
+ server.wait_for_unit("hledger-web.service")
+ server.wait_for_open_port(5000)
+ with subtest("Check if web UI is accessible"):
+ page = server.succeed("curl -L http://127.0.0.1:5000")
+ assert "test.journal" in page
+
+ apiserver.wait_for_unit("hledger-web.service")
+ apiserver.wait_for_open_port(5000)
+ with subtest("Check if the JSON API is served"):
+ transactions = apiserver.succeed("curl -L http://127.0.0.1:5000/transactions")
+ assert "NixOS Foundation donation" in transactions
+ '';
+})
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index 6046a3aa313d..dd5e5e61b29c 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, callPackage, fetchFromGitHub,
+{ lib, mkDerivation, callPackage, fetchurl,
guile_1_8, qtbase, xmodmap, which, freetype,
libjpeg,
sqlite,
@@ -16,19 +16,17 @@
let
pname = "TeXmacs";
- version = "1.99.15";
+ version = "1.99.18";
common = callPackage ./common.nix {
inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
};
in
mkDerivation {
- name = "${pname}-${version}";
+ inherit pname version;
- src = fetchFromGitHub {
- owner = "texmacs";
- repo = "texmacs";
- rev = "v${version}";
- sha256 = "04585hdh98fvyhj4wsxf69xal2wvfa6lg76gad8pr6ww9abi5105";
+ src = fetchurl {
+ url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
+ sha256 = "0il3fwgw20421aj90wg8kyhkwk6lbgb3bb2g5qamh5lk90yj725i";
};
nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py
index 314d000e08a2..ec656ef8527f 100755
--- a/pkgs/applications/networking/browsers/chromium/update.py
+++ b/pkgs/applications/networking/browsers/chromium/update.py
@@ -13,6 +13,7 @@ import sys
from codecs import iterdecode
from collections import OrderedDict
from datetime import datetime
+from distutils.version import LooseVersion
from os.path import abspath, dirname
from urllib.request import urlopen
@@ -122,7 +123,7 @@ def print_updates(channels_old, channels_new):
for channel_name in channels_old:
version_old = channels_old[channel_name]["version"]
version_new = channels_new[channel_name]["version"]
- if version_old < version_new:
+ if LooseVersion(version_old) < LooseVersion(version_new):
attr_name = channel_name_to_attr_name(channel_name)
print(f'- {attr_name}: {version_old} -> {version_new}')
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index b095353c6322..88736efe6ef2 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -31,9 +31,9 @@
}
},
"dev": {
- "version": "89.0.4389.9",
- "sha256": "12jiy5p1cbrs0gc3kd86walcnh038lzs5gnb9vif45f7kxn3c9pm",
- "sha256bin64": "1wmidvf5gfm1xkpaj07gsvyk1r8b6jbcv46w5vclydlc1r6wh81s",
+ "version": "89.0.4389.23",
+ "sha256": "1d5pv4bhskh4l8x5ygccxwiryf05mwr1qzq1dzn6q82damr6dpq5",
+ "sha256bin64": "0d8ikwck7zmwgqni1f1xb44p773dqq096qnj0yg941457b0yg5hs",
"deps": {
"gn": {
"version": "2021-01-07",
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 39a58454955c..9b0a9078ee5a 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -91,19 +91,19 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
- version = "10.0.8";
+ version = "10.0.9";
lang = "en-US";
srcs = {
x86_64-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
- sha256 = "23sp9vMbXg/c4o9wm+G0bW4KaP7lCUMpSQNK/5mSmeo=";
+ sha256 = "Dtlfm/memHSxir5XkUGkJICGEM+tPs//ET4PdVM1HPM=";
};
i686-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
- sha256 = "vliiyw8KSCiZ2ycCvqOPEW3qSDH9wXwIygU1RYAqA6g=";
+ sha256 = "GZywFEX/5Br+Zu1w6pegoNOTrSIVQNE2LINsa3Vdlxs=";
};
};
in
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index 6c22c949483f..a0f81a543f18 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perl, nettools, java, polyml, z3, rlwrap }:
+{ lib, stdenv, fetchurl, perl, perlPackages, makeWrapper, nettools, java, polyml, z3, rlwrap }:
# nettools needed for hostname
stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
sha256 = "1bibabhlsvf6qsjjkgxcpq3cvl1z7r8yfcgqbhbvsiv69n3gyfk3";
};
- buildInputs = [ perl polyml z3 ]
+ buildInputs = [ perl polyml z3 makeWrapper ]
++ lib.optionals (!stdenv.isDarwin) [ nettools java ];
sourceRoot = dirname;
@@ -64,6 +64,8 @@ stdenv.mkDerivation rec {
mv $TMP/$dirname $out
cd $out/$dirname
bin/isabelle install $out/bin
+
+ wrapProgram $out/$dirname/src/HOL/Tools/ATP/scripts/remote_atp --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.LWP ]}
'';
meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 3fb8b2f35e8d..7f2163e67d66 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -4,11 +4,11 @@
buildPythonApplication rec {
pname = "git-machete";
- version = "2.15.9";
+ version = "2.16.1";
src = fetchPypi {
inherit pname version;
- sha256 = "0sg9ci9q1v3975855vi491ass72ladp3bjj2mvg77yxj13g3qqsx";
+ sha256 = "00xh3q3gmi88qcl0a61pw532iyw4xcls5h336cjzld70ps2r89g4";
};
nativeBuildInputs = [ installShellFiles pbr ];
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index 7f5e38f39b8d..291e9790e442 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, lib, fetchurl, SDL, libogg, libvorbis, smpeg, enableNativeMidi ? false, fluidsynth ? null }:
+{ stdenv, lib, fetchurl
+, SDL, libogg, libvorbis, smpeg, libmikmod
+, fluidsynth
+, enableNativeMidi ? false
+}:
stdenv.mkDerivation rec {
pname = "SDL_mixer";
@@ -9,9 +13,9 @@ stdenv.mkDerivation rec {
sha256 = "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n";
};
- buildInputs = [ SDL libogg libvorbis fluidsynth smpeg ];
+ buildInputs = [ SDL libogg libvorbis fluidsynth smpeg libmikmod ];
- configureFlags = [ "--disable-music-ogg-shared" ]
+ configureFlags = [ "--disable-music-ogg-shared" "--disable-music-mod-shared" ]
++ lib.optional enableNativeMidi " --enable-music-native-midi-gpl"
++ lib.optionals stdenv.isDarwin [ "--disable-sdltest" "--disable-smpegtest" ];
diff --git a/pkgs/development/libraries/simdjson/default.nix b/pkgs/development/libraries/simdjson/default.nix
index e41d08c7cd38..448270183a5f 100644
--- a/pkgs/development/libraries/simdjson/default.nix
+++ b/pkgs/development/libraries/simdjson/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "simdjson";
- version = "0.8.0";
+ version = "0.8.1";
src = fetchFromGitHub {
owner = "simdjson";
repo = "simdjson";
rev = "v${version}";
- sha256 = "0lpb8la74xwd78d5mgwnzx4fy632jbmh0ip19v0dydwm0kagm0a3";
+ sha256 = "1x5f8b5s67kf9sjx04rp81q0f3dlnqfngn3h0lrfnphipald5fji";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/avion/default.nix b/pkgs/development/python-modules/avion/default.nix
new file mode 100644
index 000000000000..a456c110ff42
--- /dev/null
+++ b/pkgs/development/python-modules/avion/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, bluepy
+, buildPythonPackage
+, csrmesh
+, fetchPypi
+, pycryptodome
+, requests
+}:
+
+buildPythonPackage rec {
+ pname = "avion";
+ version = "0.10";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0zgv45086b97ngyqxdp41wxb7hpn9g7alygc21j9y3dib700vzdz";
+ };
+
+ propagatedBuildInputs = [
+ bluepy
+ csrmesh
+ pycryptodome
+ requests
+ ];
+
+ # Project has no test
+ doCheck = false;
+ # bluepy/uuids.json is not found
+ # pythonImportsCheck = [ "avion" ];
+
+ meta = with lib; {
+ description = "Python API for controlling Avi-on Bluetooth dimmers";
+ homepage = "https://github.com/mjg59/python-avion";
+ license = with licenses; [ gpl3Plus ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/bluepy-devices/default.nix b/pkgs/development/python-modules/bluepy-devices/default.nix
new file mode 100644
index 000000000000..c1baeedcb5e4
--- /dev/null
+++ b/pkgs/development/python-modules/bluepy-devices/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, bluepy
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+ pname = "bluepy-devices";
+ version = "0.2.1";
+
+ src = fetchPypi {
+ pname = "bluepy_devices";
+ inherit version;
+ sha256 = "02zzzivxq2vifgs65m2rm8pqlsbzsbc419c032irzvfxjx539mr8";
+ };
+
+ propagatedBuildInputs = [ bluepy ];
+
+ # Project has no test
+ doCheck = false;
+ pythonImportsCheck = [ "bluepy_devices" ];
+
+ meta = with lib; {
+ description = "Python BTLE Device Interface for bluepy";
+ homepage = "https://github.com/bimbar/bluepy_devices";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/csrmesh/default.nix b/pkgs/development/python-modules/csrmesh/default.nix
new file mode 100644
index 000000000000..142756341567
--- /dev/null
+++ b/pkgs/development/python-modules/csrmesh/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, bluepy
+, buildPythonPackage
+, fetchPypi
+, pycryptodomex
+}:
+
+buildPythonPackage rec {
+ pname = "csrmesh";
+ version = "0.10.0";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "03lzam54ypcfvqvikh3gsrivvlidmz1ifdq15xv8c5i3n5b178ag";
+ };
+
+ propagatedBuildInputs = [
+ bluepy
+ pycryptodomex
+ ];
+
+ # Project has no test
+ doCheck = false;
+ pythonImportsCheck = [ "csrmesh" ];
+
+ meta = with lib; {
+ description = "Python implementation of the CSRMesh bridge protocol";
+ homepage = "https://github.com/nkaminski/csrmesh";
+ license = with licenses; [ lgpl3Only ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/development/python-modules/pyiqvia/default.nix b/pkgs/development/python-modules/pyiqvia/default.nix
index 762e39fe4b14..f231f98df85d 100644
--- a/pkgs/development/python-modules/pyiqvia/default.nix
+++ b/pkgs/development/python-modules/pyiqvia/default.nix
@@ -3,7 +3,7 @@
, aiohttp
, aresponses
, fetchFromGitHub
-, poetry
+, poetry-core
, pytest-aiohttp
, pytest-asyncio
, pytestCheckHook
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pyiqvia";
- version = "0.3.1";
+ version = "0.3.2";
format = "pyproject";
disabled = pythonOlder "3.6";
@@ -21,10 +21,10 @@ buildPythonPackage rec {
owner = "bachya";
repo = pname;
rev = version;
- sha256 = "1yjsbq4p040a35n8g2l0wgnv83wkjirv4rj73s2mjzn3cxf395bz";
+ sha256 = "089lah23939m523jmjkaw2li0fikp2nswxznfvzwnr6wjpp3m9as";
};
- nativeBuildInputs = [ poetry ];
+ nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [ aiohttp ];
diff --git a/pkgs/development/tools/py-spy/default.nix b/pkgs/development/tools/py-spy/default.nix
index a9634ec53c72..7a93d5ecbe03 100644
--- a/pkgs/development/tools/py-spy/default.nix
+++ b/pkgs/development/tools/py-spy/default.nix
@@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "py-spy";
- version = "0.3.3";
+ version = "0.3.4";
src = fetchFromGitHub {
owner = "benfred";
repo = "py-spy";
rev = "v${version}";
- sha256 = "1w9nwsmazafr78ghif6njdcqjisr0f1jb6cm1w4ngvigx5qlrbkv";
+ sha256 = "sha256-7282DGLNHpKorNTHvpMLmqF2DrEVMIiQIzf5nTuJ7lc=";
};
NIX_CFLAGS_COMPILE = "-L${libunwind}/lib";
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
checkInputs = [ python3 ];
- cargoSha256 = "0hrzmpwd2k4l8gjbry8ddrkv9q9qh8ag096md4q0fyn5bgnxhkah";
+ cargoSha256 = "sha256-qVnOuLNMAy+6MP+dh6vLiSXvwQBAwyzRnHzCP60BdWk=";
meta = with lib; {
description = "Sampling profiler for Python programs";
diff --git a/pkgs/development/tools/rust/cargo-limit/cargo-Add-Cargo.lock.patch b/pkgs/development/tools/rust/cargo-limit/cargo-Add-Cargo.lock.patch
new file mode 100644
index 000000000000..e374e5964bc5
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-limit/cargo-Add-Cargo.lock.patch
@@ -0,0 +1,288 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..6c45593
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,279 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "anyhow"
++version = "1.0.38"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1"
++
++[[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 = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "cargo-limit"
++version = "0.0.4"
++dependencies = [
++ "anyhow",
++ "atty",
++ "cargo_metadata",
++ "const_format",
++ "ctrlc",
++ "either",
++ "itertools",
++ "libc",
++ "serde_json",
++]
++
++[[package]]
++name = "cargo-platform"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0226944a63d1bf35a3b5f948dd7c59e263db83695c9e8bffc4037de02e30f1d7"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "cargo_metadata"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7714a157da7991e23d90686b9524b9e12e0407a108647f52e9328f4b3d51ac7f"
++dependencies = [
++ "cargo-platform",
++ "semver",
++ "semver-parser",
++ "serde",
++ "serde_json",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "const_format"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c0412fd9e3c921f868af82a0097da41c250087e513786858b9e6b6055f8ed300"
++dependencies = [
++ "const_format_proc_macros",
++]
++
++[[package]]
++name = "const_format_proc_macros"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8df496e1bbc93814d728a8036ff054cd95830afe9cf2275c9326688c02eff936"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "ctrlc"
++version = "3.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b57a92e9749e10f25a171adcebfafe72991d45e7ec2dcb853e8f83d9dafaeb08"
++dependencies = [
++ "nix",
++ "winapi",
++]
++
++[[package]]
++name = "either"
++version = "1.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "itertools"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
++dependencies = [
++ "either",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
++
++[[package]]
++name = "libc"
++version = "0.2.83"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7eb0c4e9c72ee9d69