diff --git a/pkgs/by-name/kr/kryoptic/cargo-lock.patch b/pkgs/by-name/kr/kryoptic/0001-Add-Cargo.lock.patch similarity index 82% rename from pkgs/by-name/kr/kryoptic/cargo-lock.patch rename to pkgs/by-name/kr/kryoptic/0001-Add-Cargo.lock.patch index 54265aa2955d..4cfd9a099ca2 100644 --- a/pkgs/by-name/kr/kryoptic/cargo-lock.patch +++ b/pkgs/by-name/kr/kryoptic/0001-Add-Cargo.lock.patch @@ -1,19 +1,19 @@ -From 5386104b9b4bffa044587a9ab573c8ed24a0bab2 Mon Sep 17 00:00:00 2001 +From 9c18bc06ee221eaf53d6cf9ffc58a8dacb001e47 Mon Sep 17 00:00:00 2001 From: Morgan Jones -Date: Mon, 10 Nov 2025 23:25:00 -0800 +Date: Sun, 25 Jan 2026 16:48:38 -0800 Subject: [PATCH] Add Cargo.lock --- - Cargo.lock | 1089 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 1089 insertions(+) + Cargo.lock | 1049 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 1049 insertions(+) create mode 100644 Cargo.lock diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 -index 0000000..a4a3c6e +index 0000000..d137ab5 --- /dev/null +++ b/Cargo.lock -@@ -0,0 +1,1089 @@ +@@ -0,0 +1,1049 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 @@ -112,15 +112,15 @@ index 0000000..a4a3c6e + +[[package]] +name = "bumpalo" -+version = "3.19.0" ++version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" ++checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "cc" -+version = "1.2.45" ++version = "1.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe" ++checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" +dependencies = [ + "find-msvc-tools", + "shlex", @@ -154,9 +154,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "clap" -+version = "4.5.51" ++version = "4.5.54" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5" ++checksum = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394" +dependencies = [ + "clap_builder", + "clap_derive", @@ -164,9 +164,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "clap_builder" -+version = "4.5.51" ++version = "4.5.54" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a" ++checksum = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00" +dependencies = [ + "anstyle", + "clap_lex", @@ -186,9 +186,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "clap_lex" -+version = "0.7.6" ++version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" ++checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" + +[[package]] +name = "constant_time_eq" @@ -221,9 +221,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "data-encoding" -+version = "2.9.0" ++version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" ++checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" + +[[package]] +name = "deranged" @@ -254,34 +254,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "find-msvc-tools" -+version = "0.1.4" ++version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" -+ -+[[package]] -+name = "futures" -+version = "0.3.31" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -+dependencies = [ -+ "futures-channel", -+ "futures-core", -+ "futures-executor", -+ "futures-io", -+ "futures-sink", -+ "futures-task", -+ "futures-util", -+] -+ -+[[package]] -+name = "futures-channel" -+version = "0.3.31" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -+dependencies = [ -+ "futures-core", -+ "futures-sink", -+] ++checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" + +[[package]] +name = "futures-core" @@ -301,18 +276,6 @@ index 0000000..a4a3c6e +] + +[[package]] -+name = "futures-io" -+version = "0.3.31" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -+ -+[[package]] -+name = "futures-sink" -+version = "0.3.31" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" -+ -+[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" @@ -324,12 +287,8 @@ index 0000000..a4a3c6e +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ -+ "futures-channel", + "futures-core", -+ "futures-io", -+ "futures-sink", + "futures-task", -+ "memchr", + "pin-project-lite", + "pin-utils", + "slab", @@ -403,15 +362,15 @@ index 0000000..a4a3c6e + +[[package]] +name = "itoa" -+version = "1.0.15" ++version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" ++checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "js-sys" -+version = "0.3.82" ++version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" ++checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +dependencies = [ + "once_cell", + "wasm-bindgen", @@ -419,7 +378,7 @@ index 0000000..a4a3c6e + +[[package]] +name = "kryoptic" -+version = "1.3.1" ++version = "1.4.0" +dependencies = [ + "kryoptic-lib", + "ossl", @@ -427,7 +386,7 @@ index 0000000..a4a3c6e + +[[package]] +name = "kryoptic-lib" -+version = "1.3.1" ++version = "1.4.0" +dependencies = [ + "asn1", + "bimap", @@ -454,7 +413,7 @@ index 0000000..a4a3c6e + +[[package]] +name = "kryoptic-tools" -+version = "1.3.1" ++version = "1.4.0" +dependencies = [ + "clap", + "cryptoki", @@ -468,9 +427,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "libc" -+version = "0.2.177" ++version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" ++checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[package]] +name = "libloading" @@ -504,9 +463,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "log" -+version = "0.4.28" ++version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" ++checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "memchr" @@ -542,9 +501,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "num-conv" -+version = "0.1.0" ++version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" ++checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" + +[[package]] +name = "num-integer" @@ -572,7 +531,7 @@ index 0000000..a4a3c6e + +[[package]] +name = "ossl" -+version = "1.3.1" ++version = "1.4.0" +dependencies = [ + "bindgen", + "cfg-if", @@ -650,18 +609,18 @@ index 0000000..a4a3c6e + +[[package]] +name = "proc-macro2" -+version = "1.0.103" ++version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" ++checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" -+version = "0.38.3" ++version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" ++checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +dependencies = [ + "memchr", + "serde", @@ -669,9 +628,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "quote" -+version = "1.0.42" ++version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" ++checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +dependencies = [ + "proc-macro2", +] @@ -747,12 +706,6 @@ index 0000000..a4a3c6e +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] -+name = "ryu" -+version = "1.0.20" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" -+ -+[[package]] +name = "scc" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" @@ -814,33 +767,34 @@ index 0000000..a4a3c6e + +[[package]] +name = "serde_json" -+version = "1.0.145" ++version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" ++checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", -+ "ryu", + "serde", + "serde_core", ++ "zmij", +] + +[[package]] +name = "serde_spanned" -+version = "1.0.3" ++version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" ++checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serial_test" -+version = "3.2.0" ++version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" ++checksum = "0d0b343e184fc3b7bb44dff0705fffcf4b3756ba6aff420dddd8b24ca145e555" +dependencies = [ -+ "futures", ++ "futures-executor", ++ "futures-util", + "log", + "once_cell", + "parking_lot", @@ -850,9 +804,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "serial_test_derive" -+version = "3.2.0" ++version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" ++checksum = "6f50427f258fb77356e4cd4aa0e87e2bd2c66dbcee41dc405282cae2bfc26c83" +dependencies = [ + "proc-macro2", + "quote", @@ -889,9 +843,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "syn" -+version = "2.0.110" ++version = "2.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" ++checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +dependencies = [ + "proc-macro2", + "quote", @@ -900,30 +854,30 @@ index 0000000..a4a3c6e + +[[package]] +name = "time" -+version = "0.3.44" ++version = "0.3.46" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" ++checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", -+ "serde", ++ "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" -+version = "0.1.6" ++version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" ++checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + +[[package]] +name = "time-macros" -+version = "0.2.24" ++version = "0.2.26" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" ++checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" +dependencies = [ + "num-conv", + "time-core", @@ -931,9 +885,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "toml" -+version = "0.9.8" ++version = "0.9.11+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" ++checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" +dependencies = [ + "serde_core", + "serde_spanned", @@ -945,27 +899,27 @@ index 0000000..a4a3c6e + +[[package]] +name = "toml_datetime" -+version = "0.7.3" ++version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" ++checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_parser" -+version = "1.0.4" ++version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" ++checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_writer" -+version = "1.0.4" ++version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" ++checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" + +[[package]] +name = "unicode-ident" @@ -975,9 +929,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "uuid" -+version = "1.18.1" ++version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" ++checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" +dependencies = [ + "getrandom", + "js-sys", @@ -1008,18 +962,18 @@ index 0000000..a4a3c6e + +[[package]] +name = "wasip2" -+version = "1.0.1+wasi-0.2.4" ++version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" ++checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" -+version = "0.2.105" ++version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" ++checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", + "once_cell", @@ -1030,9 +984,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "wasm-bindgen-macro" -+version = "0.2.105" ++version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" ++checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", @@ -1040,9 +994,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "wasm-bindgen-macro-support" -+version = "0.2.105" ++version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" ++checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +dependencies = [ + "bumpalo", + "proc-macro2", @@ -1053,9 +1007,9 @@ index 0000000..a4a3c6e + +[[package]] +name = "wasm-bindgen-shared" -+version = "0.2.105" ++version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" ++checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] @@ -1068,30 +1022,30 @@ index 0000000..a4a3c6e + +[[package]] +name = "winnow" -+version = "0.7.13" ++version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" ++checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" + +[[package]] +name = "wit-bindgen" -+version = "0.46.0" ++version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" ++checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "zerocopy" -+version = "0.8.27" ++version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" ++checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" -+version = "0.8.27" ++version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" ++checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", @@ -1103,6 +1057,12 @@ index 0000000..a4a3c6e +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" ++ ++[[package]] ++name = "zmij" ++version = "1.0.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" -- 2.50.1 diff --git a/pkgs/by-name/kr/kryoptic/package.nix b/pkgs/by-name/kr/kryoptic/package.nix index b18fc723e570..c3d23ad99f7e 100644 --- a/pkgs/by-name/kr/kryoptic/package.nix +++ b/pkgs/by-name/kr/kryoptic/package.nix @@ -1,5 +1,7 @@ { lib, + stdenv, + fetchpatch, rustPlatform, fetchFromGitHub, nix-update-script, @@ -8,35 +10,32 @@ openssl, pkg-config, sqlite, - fips ? false, + withPostQuantum ? true, }: rustPlatform.buildRustPackage (finalPackage: { pname = "kryoptic"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitHub { owner = "latchset"; repo = "kryoptic"; tag = "v${finalPackage.version}"; - hash = "sha256-EzWZQLAtO7ZR28aOSfwXQOyHbL8Ss75dCxVnPkJIEbw="; + hash = "sha256-tP2BZkGCZqfLNLZ/mYAVkICWKTM1EbL7lbw+Mnx4VTk="; }; - postPatch = - let - # Creates an -I command line for overriding an include. - inc = name: ''format!("-I{}", env!("${name}_INCLUDE")).as_str()''; - fipsArgs = lib.optionalString fips ''"-D_KRYOPTIC_FIPS"''; - in - '' - substituteInPlace ossl/build.rs \ - --replace-fail 'ossl_bindings(&["-std=c90"], out_file)' 'ossl_bindings(&["-std=c90", ${inc "OPENSSL"}, ${inc "LIBC"}, ${fipsArgs}], out_file)' - ''; + patches = [ + # Support additional arguments for bindgen so it can find our glibc. + # https://github.com/latchset/kryoptic/pull/386 + (fetchpatch { + url = "https://github.com/latchset/kryoptic/commit/54b3deeb4eb84ebd7c5b52ccb9401e319fb00294.patch"; + hash = "sha256-QChVS/MnsGp6To4OWYA8Se6kgRCGABchLLnSHfrEj1E="; + }) + ]; env = { # Pass these include paths for bindgen in via the environment. - OPENSSL_INCLUDE = "${lib.getInclude openssl}/include"; - LIBC_INCLUDE = "${lib.getInclude glibc}/include"; + OSSL_BINDGEN_CLANG_ARGS = "-I${lib.getInclude glibc}/include"; LIBCLANG_PATH = "${lib.getLib clang.cc}/lib"; }; @@ -47,24 +46,28 @@ rustPlatform.buildRustPackage (finalPackage: { sqlite ]; - cargoPatches = [ ./cargo-lock.patch ]; + cargoPatches = [ + ./0001-Add-Cargo.lock.patch + ]; - cargoHash = "sha256-NWtL1ZzxGqTn8SS4XitOYJvGRYA/j52f14oul4ZPoyw="; + cargoHash = "sha256-eekiW9HCKwx7/y2WSqQH6adgAeAnQojM3QcNTc3kx2I="; cargoBuildFlags = [ "--no-default-features" "--features=${ lib.concatStringsSep "," ( [ - (if fips then "fips" else "standard") - "dynamic" # dynamic linking + "standard" "sqlitedb" "nssdb" "log" ] - ++ lib.optionals (!fips) [ + ++ lib.optionals withPostQuantum [ "pqc" # post-quantum ] + ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ + "dynamic" + ] ) }" ];