diff --git a/pkgs/tools/compression/ouch/add-Cargo.lock.patch b/pkgs/tools/compression/ouch/add-Cargo.lock.patch new file mode 100644 index 00000000000..368ce6aab0b --- /dev/null +++ b/pkgs/tools/compression/ouch/add-Cargo.lock.patch @@ -0,0 +1,434 @@ +diff --git a/Cargo.lock b/Cargo.lock +new file mode 100644 +index 0000000..4bea8c1 +--- /dev/null ++++ b/Cargo.lock +@@ -0,0 +1,428 @@ ++# This file is automatically @generated by Cargo. ++# It is not intended for manual editing. ++[[package]] ++name = "adler" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" ++ ++[[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 = "byteorder" ++version = "1.4.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" ++ ++[[package]] ++name = "bzip2" ++version = "0.4.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" ++dependencies = [ ++ "bzip2-sys", ++ "libc", ++] ++ ++[[package]] ++name = "bzip2-sys" ++version = "0.1.11+1.0.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" ++dependencies = [ ++ "cc", ++ "libc", ++ "pkg-config", ++] ++ ++[[package]] ++name = "cc" ++version = "1.0.69" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" ++ ++[[package]] ++name = "cfg-if" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" ++ ++[[package]] ++name = "crc32fast" ++version = "1.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" ++dependencies = [ ++ "cfg-if", ++] ++ ++[[package]] ++name = "filetime" ++version = "0.2.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "redox_syscall", ++ "winapi", ++] ++ ++[[package]] ++name = "flate2" ++version = "1.0.20" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" ++dependencies = [ ++ "cfg-if", ++ "crc32fast", ++ "libc", ++ "miniz_oxide", ++] ++ ++[[package]] ++name = "fuchsia-cprng" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" ++ ++[[package]] ++name = "getrandom" ++version = "0.2.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "wasi", ++] ++ ++[[package]] ++name = "libc" ++version = "0.2.98" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" ++ ++[[package]] ++name = "lzma-sys" ++version = "0.1.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bdb4b7c3eddad11d3af9e86c487607d2d2442d185d848575365c4856ba96d619" ++dependencies = [ ++ "cc", ++ "libc", ++ "pkg-config", ++] ++ ++[[package]] ++name = "miniz_oxide" ++version = "0.4.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" ++dependencies = [ ++ "adler", ++ "autocfg", ++] ++ ++[[package]] ++name = "ouch" ++version = "0.1.5" ++dependencies = [ ++ "bzip2", ++ "flate2", ++ "rand 0.8.4", ++ "strsim", ++ "tar", ++ "tempdir", ++ "walkdir", ++ "xz2", ++ "zip", ++] ++ ++[[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.28" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" ++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.4.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" ++dependencies = [ ++ "fuchsia-cprng", ++ "libc", ++ "rand_core 0.3.1", ++ "rdrand", ++ "winapi", ++] ++ ++[[package]] ++name = "rand" ++version = "0.8.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" ++dependencies = [ ++ "libc", ++ "rand_chacha", ++ "rand_core 0.6.3", ++] ++ ++[[package]] ++name = "rand_chacha" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" ++dependencies = [ ++ "ppv-lite86", ++ "rand_core 0.6.3", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" ++dependencies = [ ++ "rand_core 0.4.2", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.4.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" ++ ++[[package]] ++name = "rand_core" ++version = "0.6.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" ++dependencies = [ ++ "getrandom", ++] ++ ++[[package]] ++name = "rdrand" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" ++dependencies = [ ++ "rand_core 0.3.1", ++] ++ ++[[package]] ++name = "redox_syscall" ++version = "0.2.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" ++dependencies = [ ++ "bitflags", ++] ++ ++[[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 = "same-file" ++version = "1.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" ++dependencies = [ ++ "winapi-util", ++] ++ ++[[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.74" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "unicode-xid", ++] ++ ++[[package]] ++name = "tar" ++version = "0.4.35" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7d779dc6aeff029314570f666ec83f19df7280bb36ef338442cfa8c604021b80" ++dependencies = [ ++ "filetime", ++ "libc", ++ "xattr", ++] ++ ++[[package]] ++name = "tempdir" ++version = "0.3.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" ++dependencies = [ ++ "rand 0.4.6", ++ "remove_dir_all", ++] ++ ++[[package]] ++name = "thiserror" ++version = "1.0.26" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" ++dependencies = [ ++ "thiserror-impl", ++] ++ ++[[package]] ++name = "thiserror-impl" ++version = "1.0.26" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "time" ++version = "0.1.43" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" ++dependencies = [ ++ "libc", ++ "winapi", ++] ++ ++[[package]] ++name = "unicode-xid" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" ++ ++[[package]] ++name = "walkdir" ++version = "2.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" ++dependencies = [ ++ "same-file", ++ "winapi", ++ "winapi-util", ++] ++ ++[[package]] ++name = "wasi" ++version = "0.10.2+wasi-snapshot-preview1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" ++ ++[[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" ++ ++[[package]] ++name = "xattr" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "xz2" ++version = "0.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c179869f34fc7c01830d3ce7ea2086bc3a07e0d35289b667d0a8bf910258926c" ++dependencies = [ ++ "lzma-sys", ++] ++ ++[[package]] ++name = "zip" ++version = "0.5.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" ++dependencies = [ ++ "byteorder", ++ "bzip2", ++ "crc32fast", ++ "flate2", ++ "thiserror", ++ "time", ++] diff --git a/pkgs/tools/compression/ouch/default.nix b/pkgs/tools/compression/ouch/default.nix new file mode 100644 index 00000000000..c46e83ab91b --- /dev/null +++ b/pkgs/tools/compression/ouch/default.nix @@ -0,0 +1,28 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "ouch"; + version = "0.1.5"; + + src = fetchFromGitHub { + owner = "vrmiguel"; + repo = pname; + rev = version; + sha256 = "00ah8hgrppa61jhwb74zl5b509q0yp2pp27w9frm814iqx70qn38"; + }; + + cargoPatches = [ + # a patch file to add Cargo.lock in the source code + # https://github.com/vrmiguel/ouch/pull/46 + ./add-Cargo.lock.patch + ]; + + cargoSha256 = "181aq8r78g4bl1ndlwl54ws5ccrwph0mmk9506djxvfdy3hndxkg"; + + meta = with lib; { + description = "Taking the pain away from file (de)compression"; + homepage = "https://github.com/vrmiguel/ouch"; + license = licenses.mit; + maintainers = [ maintainers.psibi ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 212e5083160..c4888a110dd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8290,6 +8290,8 @@ in openmpi = callPackage ../development/libraries/openmpi { }; + ouch = callPackage ../tools/compression/ouch { }; + mpi = openmpi; # this attribute should used to build MPI applications ucx = callPackage ../development/libraries/ucx {};