diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3c56c36d90c..59c0cd4997c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2233,6 +2233,12 @@ fingerprint = "4749 0887 CF3B 85A1 6355 C671 78C7 DD40 DF23 FB16"; }]; }; + dpercy = { + email = "dpercy@dpercy.dev"; + github = "dpercy"; + githubId = 349909; + name = "David Percy"; + }; dpflug = { email = "david@pflug.email"; github = "dpflug"; diff --git a/pkgs/development/tools/build-managers/fac/cargo-lock.patch b/pkgs/development/tools/build-managers/fac/cargo-lock.patch new file mode 100644 index 00000000000..86768d4611e --- /dev/null +++ b/pkgs/development/tools/build-managers/fac/cargo-lock.patch @@ -0,0 +1,802 @@ +diff --git a/Cargo.lock b/Cargo.lock +new file mode 100644 +index 0000000..4ab2c17 +--- /dev/null ++++ b/Cargo.lock +@@ -0,0 +1,796 @@ ++# This file is automatically @generated by Cargo. ++# It is not intended for manual editing. ++[[package]] ++name = "ahash" ++version = "0.3.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" ++ ++[[package]] ++name = "aho-corasick" ++version = "0.7.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86" ++dependencies = [ ++ "memchr", ++] ++ ++[[package]] ++name = "ansi_term" ++version = "0.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" ++dependencies = [ ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "atty" ++version = "0.2.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" ++dependencies = [ ++ "hermit-abi", ++ "libc", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "autocfg" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" ++ ++[[package]] ++name = "bigbro" ++version = "0.5.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3eaac07a3e62cd31e2102ca97c7fdf20002893ba2a396d29ea4710d2415cdce5" ++dependencies = [ ++ "libc", ++ "seccomp-droundy", ++] ++ ++[[package]] ++name = "bitflags" ++version = "1.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" ++ ++[[package]] ++name = "cc" ++version = "1.0.59" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381" ++ ++[[package]] ++name = "cfg-if" ++version = "0.1.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" ++ ++[[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 = "crude-profiler" ++version = "0.1.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9389510ac716b6ace8c4b635420cf023e12c81b61e933bfef06639142f149ecd" ++dependencies = [ ++ "lazy_static 0.2.11", ++] ++ ++[[package]] ++name = "ctrlc" ++version = "3.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d0b676fa23f995faf587496dcd1c80fead847ed58d2da52ac1caca9a72790dd2" ++dependencies = [ ++ "nix", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "either" ++version = "1.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cd56b59865bce947ac5958779cfa508f6c3b9497cc762b7e24a12d11ccde2c4f" ++ ++[[package]] ++name = "env_logger" ++version = "0.7.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" ++dependencies = [ ++ "log", ++ "regex", ++] ++ ++[[package]] ++name = "fac" ++version = "0.5.3" ++dependencies = [ ++ "atty", ++ "bigbro", ++ "clap", ++ "crude-profiler", ++ "ctrlc", ++ "git-version", ++ "internment", ++ "lazy_static 1.4.0", ++ "libc", ++ "metrohash", ++ "notify", ++ "num_cpus", ++ "pathdiff", ++ "quickcheck", ++ "termcolor", ++ "tinyset", ++] ++ ++[[package]] ++name = "filetime" ++version = "0.2.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3ed85775dcc68644b5c950ac06a2b23768d3bc9390464151aaf27136998dcf9e" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "redox_syscall", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "fsevent" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" ++dependencies = [ ++ "bitflags", ++ "fsevent-sys", ++] ++ ++[[package]] ++name = "fsevent-sys" ++version = "2.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "fuchsia-zircon" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" ++dependencies = [ ++ "bitflags", ++ "fuchsia-zircon-sys", ++] ++ ++[[package]] ++name = "fuchsia-zircon-sys" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" ++ ++[[package]] ++name = "gcc" ++version = "0.3.55" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" ++ ++[[package]] ++name = "getrandom" ++version = "0.1.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "wasi", ++] ++ ++[[package]] ++name = "git-version" ++version = "0.3.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "94918e83f1e01dedc2e361d00ce9487b14c58c7f40bab148026fa39d42cb41e2" ++dependencies = [ ++ "git-version-macro", ++ "proc-macro-hack", ++] ++ ++[[package]] ++name = "git-version-macro" ++version = "0.3.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "34a97a52fdee1870a34fa6e4b77570cba531b27d1838874fef4429a791a3d657" ++dependencies = [ ++ "proc-macro-hack", ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "hashbrown" ++version = "0.8.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25" ++dependencies = [ ++ "ahash", ++ "autocfg", ++] ++ ++[[package]] ++name = "hermit-abi" ++version = "0.1.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "inotify" ++version = "0.7.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" ++dependencies = [ ++ "bitflags", ++ "inotify-sys", ++ "libc", ++] ++ ++[[package]] ++name = "inotify-sys" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e74a1aa87c59aeff6ef2cc2fa62d41bc43f54952f55652656b18a02fd5e356c0" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "internment" ++version = "0.3.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7e5cba670f596a69e619cb796bcf609cb32c0ba4415d1e809104b8b832130d79" ++dependencies = [ ++ "hashbrown", ++ "lazy_static 1.4.0", ++ "serde", ++ "state", ++ "tinyset", ++] ++ ++[[package]] ++name = "iovec" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" ++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 = "kernel32-sys" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" ++dependencies = [ ++ "winapi 0.2.8", ++ "winapi-build", ++] ++ ++[[package]] ++name = "lazy_static" ++version = "0.2.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" ++ ++[[package]] ++name = "lazy_static" ++version = "1.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" ++ ++[[package]] ++name = "lazycell" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" ++ ++[[package]] ++name = "libc" ++version = "0.2.77" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235" ++ ++[[package]] ++name = "log" ++version = "0.4.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" ++dependencies = [ ++ "cfg-if", ++] ++ ++[[package]] ++name = "memchr" ++version = "2.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" ++ ++[[package]] ++name = "metrohash" ++version = "1.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3ba553cb19e2acbc54baa16faef215126243fe45e53357a3b2e9f4ebc7b0506c" ++ ++[[package]] ++name = "mio" ++version = "0.6.22" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" ++dependencies = [ ++ "cfg-if", ++ "fuchsia-zircon", ++ "fuchsia-zircon-sys", ++ "iovec", ++ "kernel32-sys", ++ "libc", ++ "log", ++ "miow", ++ "net2", ++ "slab", ++ "winapi 0.2.8", ++] ++ ++[[package]] ++name = "mio-extras" ++version = "2.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" ++dependencies = [ ++ "lazycell", ++ "log", ++ "mio", ++ "slab", ++] ++ ++[[package]] ++name = "miow" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" ++dependencies = [ ++ "kernel32-sys", ++ "net2", ++ "winapi 0.2.8", ++ "ws2_32-sys", ++] ++ ++[[package]] ++name = "net2" ++version = "0.2.35" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3ebc3ec692ed7c9a255596c67808dee269f64655d8baf7b4f0638e51ba1d6853" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "nix" ++version = "0.17.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363" ++dependencies = [ ++ "bitflags", ++ "cc", ++ "cfg-if", ++ "libc", ++ "void", ++] ++ ++[[package]] ++name = "notify" ++version = "4.0.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "80ae4a7688d1fab81c5bf19c64fc8db920be8d519ce6336ed4e7efe024724dbd" ++dependencies = [ ++ "bitflags", ++ "filetime", ++ "fsevent", ++ "fsevent-sys", ++ "inotify", ++ "libc", ++ "mio", ++ "mio-extras", ++ "walkdir", ++ "winapi 0.3.9", ++] ++ ++[[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 = "pathdiff" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "877630b3de15c0b64cc52f659345724fbf6bdad9bd9566699fc53688f3c34a34" ++ ++[[package]] ++name = "pkg-config" ++version = "0.3.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33" ++ ++[[package]] ++name = "ppv-lite86" ++version = "0.2.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20" ++ ++[[package]] ++name = "proc-macro-hack" ++version = "0.5.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" ++ ++[[package]] ++name = "proc-macro2" ++version = "1.0.21" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c" ++dependencies = [ ++ "unicode-xid", ++] ++ ++[[package]] ++name = "quickcheck" ++version = "0.9.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f" ++dependencies = [ ++ "env_logger", ++ "log", ++ "rand", ++ "rand_core", ++] ++ ++[[package]] ++name = "quote" ++version = "1.0.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" ++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 = "redox_syscall" ++version = "0.1.57" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" ++ ++[[package]] ++name = "regex" ++version = "1.3.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" ++dependencies = [ ++ "aho-corasick", ++ "memchr", ++ "regex-syntax", ++ "thread_local 1.0.1", ++] ++ ++[[package]] ++name = "regex-syntax" ++version = "0.6.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" ++ ++[[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 = "seccomp-droundy" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d4b762ab71c6bf1a9a3e0b21e8600b73b088f2a6562e03cd77b2826821fae5f8" ++dependencies = [ ++ "libc", ++ "seccomp-droundy-sys", ++] ++ ++[[package]] ++name = "seccomp-droundy-sys" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "200976cc4ff22cd8b9c6c23681fe6aa89a12aa3637c86dd16e44c05d7c373488" ++dependencies = [ ++ "gcc", ++ "libc", ++ "pkg-config", ++] ++ ++[[package]] ++name = "serde" ++version = "1.0.115" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5" ++ ++[[package]] ++name = "slab" ++version = "0.4.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" ++ ++[[package]] ++name = "state" ++version = "0.4.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7345c971d1ef21ffdbd103a75990a15eb03604fc8b8852ca8cb418ee1a099028" ++dependencies = [ ++ "thread_local 0.3.3", ++] ++ ++[[package]] ++name = "strsim" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" ++ ++[[package]] ++name = "syn" ++version = "1.0.40" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "963f7d3cc59b59b9325165add223142bbf1df27655d07789f109896d353d8350" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "unicode-xid", ++] ++ ++[[package]] ++name = "termcolor" ++version = "1.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f" ++dependencies = [ ++ "winapi-util", ++] ++ ++[[package]] ++name = "textwrap" ++version = "0.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" ++dependencies = [ ++ "unicode-width", ++] ++ ++[[package]] ++name = "thread-id" ++version = "3.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1" ++dependencies = [ ++ "libc", ++ "redox_syscall", ++ "winapi 0.3.9", ++] ++ ++[[package]] ++name = "thread_local" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c85048c6260d17cf486ceae3282d9fb6b90be220bf5b28c400f5485ffc29f0c7" ++dependencies = [ ++ "thread-id", ++ "unreachable", ++] ++ ++[[package]] ++name = "thread_local" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" ++dependencies = [ ++ "lazy_static 1.4.0", ++] ++ ++[[package]] ++name = "tinyset" ++version = "0.4.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "784f540960a63144d63992caf430ed87e39d920f2c474cb8ac586ff31fb861fc" ++dependencies = [ ++ "itertools", ++ "rand", ++] ++ ++[[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 = "unreachable" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91" ++dependencies = [ ++ "void", ++] ++ ++[[package]] ++name = "vec_map" ++version = "0.8.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" ++ ++[[package]] ++name = "void" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" ++ ++[[package]] ++name = "walkdir" ++version = "2.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" ++dependencies = [ ++ "same-file", ++ "winapi 0.3.9", ++ "winapi-util", ++] ++ ++[[package]] ++name = "wasi" ++version = "0.9.0+wasi-snapshot-preview1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" ++ ++[[package]] ++name = "winapi" ++version = "0.2.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" ++ ++[[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-build" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" ++ ++[[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 0.3.9", ++] ++ ++[[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 = "ws2_32-sys" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" ++dependencies = [ ++ "winapi 0.2.8", ++ "winapi-build", ++] diff --git a/pkgs/development/tools/build-managers/fac/default.nix b/pkgs/development/tools/build-managers/fac/default.nix new file mode 100644 index 00000000000..8c41eb3ac51 --- /dev/null +++ b/pkgs/development/tools/build-managers/fac/default.nix @@ -0,0 +1,50 @@ +{ stdenv, git, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + pname = "fac-build"; + version = "0.5.3"; + + src = fetchFromGitHub { + owner = "droundy"; + repo = "fac"; + rev = version; + sha256 = "1gifrlb31jy8633rnhny58ccp3wlmd338129c6sh0h1a38vkmsxk"; + }; + + # workaround for missing Cargo.lock file + cargoPatches = [ ./cargo-lock.patch ]; + + cargoSha256 = "0hjfq61y1ikdcajr2k514k7fad2zxbwq7yb5nk1wx38f1524709q"; + + # fac includes a unit test called ls_files_works which assumes it's + # running in a git repo. Nix's sandbox runs cargo build outside git, + # so this test won't work. + checkFlagsArray = [ "--skip=ls_files_works" ]; + + # fac calls git at runtime, expecting it to be in the PATH, + # so we need to patch it to call git by absolute path instead. + postPatch = '' + substituteInPlace src/git.rs \ + --replace 'std::process::Command::new("git")' \ + 'std::process::Command::new("${git}/bin/git")' + ''; + + meta = with stdenv.lib; { + description = '' + A build system that uses ptrace to handle dependencies automatically + ''; + longDescription = '' + Fac is a general-purpose build system inspired by make that utilizes + ptrace to ensure that all dependences are enumerated and that all + source files are added to a (git) repo. An important feature of fac + is that it automatically handles dependencies, rather than either + complaining about them or giving an incorrect build. Currently, fac + only runs on linux systems, but on those systems it is incredibly + easy to use! + ''; + homepage = "https://physics.oregonstate.edu/~roundyd/fac"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.dpercy ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 698b11a5bfd..fa293f56ba9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27981,4 +27981,6 @@ in unifi-poller = callPackage ../servers/monitoring/unifi-poller {}; + fac-build = callPackage ../development/tools/build-managers/fac {}; + }