diff --git a/pkgs/os-specific/linux/mdevctl/default.nix b/pkgs/os-specific/linux/mdevctl/default.nix index 9762011b7a30..80c3c1316d85 100644 --- a/pkgs/os-specific/linux/mdevctl/default.nix +++ b/pkgs/os-specific/linux/mdevctl/default.nix @@ -1,24 +1,36 @@ -{ lib, fetchFromGitHub -, rustPackages, pkg-config, docutils +{ lib +, rustPlatform +, fetchCrate +, docutils +, installShellFiles }: -rustPackages.rustPlatform.buildRustPackage rec { - +rustPlatform.buildRustPackage rec { pname = "mdevctl"; version = "1.2.0"; - src = fetchFromGitHub { - owner = pname; - repo = pname; - rev = "v" + version; - hash = "sha256-Hgl+HsWAYIdabHJdPbCaBNnhY49vpuIjR3l6z2CAmx0="; + src = fetchCrate { + inherit pname version; + hash = "sha256-0X/3DWNDPOgSNNTqcj44sd7DNGFt+uGBjkc876dSgU8="; }; - cargoPatches = [ ./lock.patch ]; + cargoHash = "sha256-TmumQBWuH5fJOe2qzcDtEGbmCs2G9Gfl8mH7xifzRGc="; - cargoHash = "sha256-PXVc7KUMPze06gCnD2gqzlySwPumOw/z31CTd0UHp9w="; + nativeBuildInputs = [ + docutils + installShellFiles + ]; - nativeBuildInputs = [ pkg-config docutils ]; + postInstall = '' + ln -s mdevctl $out/bin/lsmdev + + install -Dm444 60-mdevctl.rules -t $out/lib/udev/rules.d + + installManPage $releaseDir/build/mdevctl-*/out/mdevctl.8 + ln -s mdevctl.8 $out/share/man/man8/lsmdev.8 + + installShellCompletion $releaseDir/build/mdevctl-*/out/{lsmdev,mdevctl}.bash + ''; meta = with lib; { homepage = "https://github.com/mdevctl/mdevctl"; diff --git a/pkgs/os-specific/linux/mdevctl/lock.patch b/pkgs/os-specific/linux/mdevctl/lock.patch deleted file mode 100644 index bb176771efff..000000000000 --- a/pkgs/os-specific/linux/mdevctl/lock.patch +++ /dev/null @@ -1,446 +0,0 @@ ---- - Cargo.lock | 432 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 432 insertions(+) - create mode 100644 Cargo.lock - -diff --git a/Cargo.lock b/Cargo.lock -new file mode 100644 -index 0000000..b91a26d ---- /dev/null -+++ b/Cargo.lock -@@ -0,0 +1,432 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 3 -+ -+[[package]] -+name = "aho-corasick" -+version = "0.7.19" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" -+dependencies = [ -+ "memchr", -+] -+ -+[[package]] -+name = "anyhow" -+version = "1.0.66" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" -+ -+[[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.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "cfg-if" -+version = "1.0.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -+ -+[[package]] -+name = "clap" -+version = "3.2.23" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" -+dependencies = [ -+ "atty", -+ "bitflags", -+ "clap_derive", -+ "clap_lex", -+ "indexmap", -+ "once_cell", -+ "strsim", -+ "termcolor", -+ "textwrap", -+] -+ -+[[package]] -+name = "clap_complete" -+version = "3.2.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" -+dependencies = [ -+ "clap", -+] -+ -+[[package]] -+name = "clap_derive" -+version = "3.2.18" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" -+dependencies = [ -+ "heck", -+ "proc-macro-error", -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "clap_lex" -+version = "0.2.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -+dependencies = [ -+ "os_str_bytes", -+] -+ -+[[package]] -+name = "env_logger" -+version = "0.8.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" -+dependencies = [ -+ "atty", -+ "humantime", -+ "log", -+ "regex", -+ "termcolor", -+] -+ -+[[package]] -+name = "fastrand" -+version = "1.8.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" -+dependencies = [ -+ "instant", -+] -+ -+[[package]] -+name = "getrandom" -+version = "0.2.8" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" -+dependencies = [ -+ "cfg-if", -+ "libc", -+ "wasi", -+] -+ -+[[package]] -+name = "hashbrown" -+version = "0.12.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -+ -+[[package]] -+name = "heck" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" -+ -+[[package]] -+name = "hermit-abi" -+version = "0.1.19" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -+dependencies = [ -+ "libc", -+] -+ -+[[package]] -+name = "humantime" -+version = "2.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -+ -+[[package]] -+name = "indexmap" -+version = "1.9.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" -+dependencies = [ -+ "autocfg", -+ "hashbrown", -+] -+ -+[[package]] -+name = "instant" -+version = "0.1.12" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -+dependencies = [ -+ "cfg-if", -+] -+ -+[[package]] -+name = "itoa" -+version = "1.0.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" -+ -+[[package]] -+name = "libc" -+version = "0.2.136" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "55edcf6c0bb319052dea84732cf99db461780fd5e8d3eb46ab6ff312ab31f197" -+ -+[[package]] -+name = "log" -+version = "0.4.17" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -+dependencies = [ -+ "cfg-if", -+] -+ -+[[package]] -+name = "mdevctl" -+version = "1.2.0" -+dependencies = [ -+ "anyhow", -+ "clap", -+ "clap_complete", -+ "env_logger", -+ "log", -+ "serde_json", -+ "tempfile", -+ "uuid", -+] -+ -+[[package]] -+name = "memchr" -+version = "2.5.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -+ -+[[package]] -+name = "once_cell" -+version = "1.15.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" -+ -+[[package]] -+name = "os_str_bytes" -+version = "6.3.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" -+ -+[[package]] -+name = "proc-macro-error" -+version = "1.0.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -+dependencies = [ -+ "proc-macro-error-attr", -+ "proc-macro2", -+ "quote", -+ "syn", -+ "version_check", -+] -+ -+[[package]] -+name = "proc-macro-error-attr" -+version = "1.0.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "version_check", -+] -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.47" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.21" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "redox_syscall" -+version = "0.2.16" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -+dependencies = [ -+ "bitflags", -+] -+ -+[[package]] -+name = "regex" -+version = "1.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" -+dependencies = [ -+ "aho-corasick", -+ "memchr", -+ "regex-syntax", -+] -+ -+[[package]] -+name = "regex-syntax" -+version = "0.6.27" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" -+ -+[[package]] -+name = "remove_dir_all" -+version = "0.5.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -+dependencies = [ -+ "winapi", -+] -+ -+[[package]] -+name = "ryu" -+version = "1.0.11" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" -+ -+[[package]] -+name = "serde" -+version = "1.0.147" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" -+ -+[[package]] -+name = "serde_json" -+version = "1.0.87" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" -+dependencies = [ -+ "indexmap", -+ "itoa", -+ "ryu", -+ "serde", -+] -+ -+[[package]] -+name = "strsim" -+version = "0.10.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -+ -+[[package]] -+name = "syn" -+version = "1.0.103" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "tempfile" -+version = "3.3.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -+dependencies = [ -+ "cfg-if", -+ "fastrand", -+ "libc", -+ "redox_syscall", -+ "remove_dir_all", -+ "winapi", -+] -+ -+[[package]] -+name = "termcolor" -+version = "1.1.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -+dependencies = [ -+ "winapi-util", -+] -+ -+[[package]] -+name = "textwrap" -+version = "0.16.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" -+ -+[[package]] -+name = "uuid" -+version = "0.8.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -+dependencies = [ -+ "getrandom", -+] -+ -+[[package]] -+name = "version_check" -+version = "0.9.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -+ -+[[package]] -+name = "wasi" -+version = "0.11.0+wasi-snapshot-preview1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -+ -+[[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-util" -+version = "0.1.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -+dependencies = [ -+ "winapi", -+] -+ -+[[package]] -+name = "winapi-x86_64-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" --- -2.37.2 -