diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 10f0222b2b176..2d72c4a252712 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -153,19 +153,19 @@ variables: # To use images from datadog-agent-buildimages dev branches, set the corresponding # SUFFIX variable to _test_only DATADOG_AGENT_BUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_BUILDIMAGES: v18202418-b468e3c + DATADOG_AGENT_BUILDIMAGES: v18317357-9fd9ee0 DATADOG_AGENT_WINBUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_WINBUILDIMAGES: v18202418-b468e3c + DATADOG_AGENT_WINBUILDIMAGES: v18317357-9fd9ee0 DATADOG_AGENT_ARMBUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_ARMBUILDIMAGES: v18202418-b468e3c + DATADOG_AGENT_ARMBUILDIMAGES: v18317357-9fd9ee0 DATADOG_AGENT_SYSPROBE_BUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_SYSPROBE_BUILDIMAGES: v18202418-b468e3c + DATADOG_AGENT_SYSPROBE_BUILDIMAGES: v18317357-9fd9ee0 DATADOG_AGENT_KERNEL_MATRIX_TESTING_BUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_KERNEL_MATRIX_TESTING_BUILDIMAGES: v18202418-b468e3c + DATADOG_AGENT_KERNEL_MATRIX_TESTING_BUILDIMAGES: v18317357-9fd9ee0 DATADOG_AGENT_NIKOS_BUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_NIKOS_BUILDIMAGES: v18202418-b468e3c + DATADOG_AGENT_NIKOS_BUILDIMAGES: v18317357-9fd9ee0 DATADOG_AGENT_BTF_GEN_BUILDIMAGES_SUFFIX: "" - DATADOG_AGENT_BTF_GEN_BUILDIMAGES: v18202418-b468e3c + DATADOG_AGENT_BTF_GEN_BUILDIMAGES: v18317357-9fd9ee0 DATADOG_AGENT_BUILDERS: v16852259-65c480c TEST_INFRA_DEFINITIONS_BUILDIMAGES: f9dc8c42d94e diff --git a/omnibus/config/patches/pydantic-core-py3/pydantic-core-build-for-manylinux1.patch b/omnibus/config/patches/pydantic-core-py3/pydantic-core-build-for-manylinux1.patch new file mode 100644 index 0000000000000..1d6c7c9b75162 --- /dev/null +++ b/omnibus/config/patches/pydantic-core-py3/pydantic-core-build-for-manylinux1.patch @@ -0,0 +1,599 @@ +diff --git a/.cargo/config.toml b/.cargo/config.toml +index f0ba8af..4182dd0 100644 +--- a/.cargo/config.toml ++++ b/.cargo/config.toml +@@ -13,3 +13,8 @@ rustflags = [ + "-C", "link-arg=-undefined", + "-C", "link-arg=dynamic_lookup", + ] ++ ++[patch.crates-io] ++speedate = { git = "https://github.com/DataDog/speedate.git", branch = "support-old-nightly" } ++pyo3 = { git = "https://github.com/DataDog/pyo3.git", branch = "support-old-nightly" } ++indexmap = { git = "https://github.com/DataDog/indexmap.git", branch = "support-old-nightly" } +diff --git a/Cargo.lock b/Cargo.lock +index fc9a6ed..ff5fe71 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -16,9 +16,9 @@ dependencies = [ + + [[package]] + name = "aho-corasick" +-version = "0.7.20" ++version = "1.0.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" ++checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" + dependencies = [ + "memchr", + ] +@@ -55,30 +55,30 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + + [[package]] + name = "enum_dispatch" +-version = "0.3.11" ++version = "0.3.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2" ++checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e" + dependencies = [ + "once_cell", + "proc-macro2", + "quote", +- "syn 1.0.109", ++ "syn 2.0.27", + ] + + [[package]] + name = "form_urlencoded" +-version = "1.1.0" ++version = "1.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" ++checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" + dependencies = [ + "percent-encoding", + ] + + [[package]] + name = "getrandom" +-version = "0.2.8" ++version = "0.2.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" ++checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" + dependencies = [ + "cfg-if", + "libc", +@@ -107,11 +107,20 @@ dependencies = [ + "unicode-normalization", + ] + ++[[package]] ++name = "idna" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" ++dependencies = [ ++ "unicode-bidi", ++ "unicode-normalization", ++] ++ + [[package]] + name = "indexmap" + version = "1.9.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" ++source = "git+https://github.com/DataDog/indexmap.git?branch=support-old-nightly#861fad73de14b7f08d2dc56ed83607aef621b42e" + dependencies = [ + "autocfg", + "hashbrown", +@@ -125,21 +134,21 @@ checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" + + [[package]] + name = "itoa" +-version = "1.0.6" ++version = "1.0.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" ++checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + + [[package]] + name = "libc" +-version = "0.2.140" ++version = "0.2.147" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" ++checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + + [[package]] + name = "libmimalloc-sys" +-version = "0.1.30" ++version = "0.1.33" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dd8c7cbf8b89019683667e347572e6d55a7df7ea36b0c4ce69961b0cde67b174" ++checksum = "f4ac0e912c8ef1b735e92369695618dc5b1819f5a7bf3f167301a3ba1cea515e" + dependencies = [ + "cc", + "libc", +@@ -147,9 +156,9 @@ dependencies = [ + + [[package]] + name = "lock_api" +-version = "0.4.9" ++version = "0.4.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" ++checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" + dependencies = [ + "autocfg", + "scopeguard", +@@ -172,9 +181,9 @@ dependencies = [ + + [[package]] + name = "mimalloc" +-version = "0.1.34" ++version = "0.1.37" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9dcb174b18635f7561a0c6c9fc2ce57218ac7523cf72c50af80e2d79ab8f3ba1" ++checksum = "4e2894987a3459f3ffb755608bd82188f8ed00d0ae077f1edea29c068d639d98" + dependencies = [ + "libmimalloc-sys", + ] +@@ -202,18 +211,18 @@ dependencies = [ + + [[package]] + name = "num-traits" +-version = "0.2.15" ++version = "0.2.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" ++checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" + dependencies = [ + "autocfg", + ] + + [[package]] + name = "once_cell" +-version = "1.17.1" ++version = "1.18.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" ++checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + + [[package]] + name = "parking_lot" +@@ -227,28 +236,28 @@ dependencies = [ + + [[package]] + name = "parking_lot_core" +-version = "0.9.7" ++version = "0.9.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" ++checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" + dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", +- "windows-sys", ++ "windows-targets", + ] + + [[package]] + name = "percent-encoding" +-version = "2.2.0" ++version = "2.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" ++checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + + [[package]] + name = "proc-macro2" +-version = "1.0.60" ++version = "1.0.66" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" ++checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" + dependencies = [ + "unicode-ident", + ] +@@ -260,7 +269,7 @@ dependencies = [ + "ahash", + "base64", + "enum_dispatch", +- "idna", ++ "idna 0.3.0", + "mimalloc", + "num-bigint", + "pyo3", +@@ -279,8 +288,7 @@ dependencies = [ + [[package]] + name = "pyo3" + version = "0.19.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ffb88ae05f306b4bfcde40ac4a51dc0b05936a9207a4b75b798c7729c4258a59" ++source = "git+https://github.com/DataDog/pyo3.git?branch=support-old-nightly#782dcfa95ce95ef6306cd9c777ca3aee86b79fcc" + dependencies = [ + "cfg-if", + "indoc", +@@ -297,8 +305,7 @@ dependencies = [ + [[package]] + name = "pyo3-build-config" + version = "0.19.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "554db24f0b3c180a9c0b1268f91287ab3f17c162e15b54caaae5a6b3773396b0" ++source = "git+https://github.com/DataDog/pyo3.git?branch=support-old-nightly#782dcfa95ce95ef6306cd9c777ca3aee86b79fcc" + dependencies = [ + "once_cell", + "python3-dll-a", +@@ -308,8 +315,7 @@ dependencies = [ + [[package]] + name = "pyo3-ffi" + version = "0.19.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "922ede8759e8600ad4da3195ae41259654b9c55da4f7eec84a0ccc7d067a70a4" ++source = "git+https://github.com/DataDog/pyo3.git?branch=support-old-nightly#782dcfa95ce95ef6306cd9c777ca3aee86b79fcc" + dependencies = [ + "libc", + "pyo3-build-config", +@@ -318,8 +324,7 @@ dependencies = [ + [[package]] + name = "pyo3-macros" + version = "0.19.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a5caec6a1dd355964a841fcbeeb1b89fe4146c87295573f94228911af3cc5a2" ++source = "git+https://github.com/DataDog/pyo3.git?branch=support-old-nightly#782dcfa95ce95ef6306cd9c777ca3aee86b79fcc" + dependencies = [ + "proc-macro2", + "pyo3-macros-backend", +@@ -330,8 +335,7 @@ dependencies = [ + [[package]] + name = "pyo3-macros-backend" + version = "0.19.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e0b78ccbb160db1556cdb6fd96c50334c5d4ec44dc5e0a968d0a1208fa0efa8b" ++source = "git+https://github.com/DataDog/pyo3.git?branch=support-old-nightly#782dcfa95ce95ef6306cd9c777ca3aee86b79fcc" + dependencies = [ + "proc-macro2", + "quote", +@@ -349,27 +353,39 @@ dependencies = [ + + [[package]] + name = "quote" +-version = "1.0.28" ++version = "1.0.32" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" ++checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" + dependencies = [ + "proc-macro2", + ] + + [[package]] + name = "redox_syscall" +-version = "0.2.16" ++version = "0.3.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" ++checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" + dependencies = [ + "bitflags", + ] + + [[package]] + name = "regex" +-version = "1.7.3" ++version = "1.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" ++dependencies = [ ++ "aho-corasick", ++ "memchr", ++ "regex-automata", ++ "regex-syntax", ++] ++ ++[[package]] ++name = "regex-automata" ++version = "0.3.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d" ++checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" + dependencies = [ + "aho-corasick", + "memchr", +@@ -378,39 +394,39 @@ dependencies = [ + + [[package]] + name = "regex-syntax" +-version = "0.6.29" ++version = "0.7.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" ++checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + + [[package]] + name = "rustversion" +-version = "1.0.12" ++version = "1.0.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" ++checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + + [[package]] + name = "ryu" +-version = "1.0.13" ++version = "1.0.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" ++checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + + [[package]] + name = "scopeguard" +-version = "1.1.0" ++version = "1.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" ++checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + + [[package]] + name = "serde" +-version = "1.0.159" ++version = "1.0.176" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" ++checksum = "76dc28c9523c5d70816e393136b86d48909cfb27cecaa902d338c19ed47164dc" + + [[package]] + name = "serde_json" +-version = "1.0.95" ++version = "1.0.97" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" ++checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a" + dependencies = [ + "indexmap", + "itoa", +@@ -420,18 +436,17 @@ dependencies = [ + + [[package]] + name = "smallvec" +-version = "1.10.0" ++version = "1.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" ++checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" + + [[package]] + name = "speedate" +-version = "0.9.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "312e03cbe7f96cdbd7b69de27d396d541632f660b400a953fe536403e4698e75" ++version = "0.9.1" ++source = "git+https://github.com/DataDog/speedate.git?branch=support-old-nightly#461bc4e6f22ddce201731881af3d095f3b6b73fc" + dependencies = [ + "strum", +- "strum_macros 0.25.0", ++ "strum_macros 0.25.1", + ] + + [[package]] +@@ -440,7 +455,7 @@ version = "0.25.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" + dependencies = [ +- "strum_macros 0.25.0", ++ "strum_macros 0.25.1", + ] + + [[package]] +@@ -458,15 +473,15 @@ dependencies = [ + + [[package]] + name = "strum_macros" +-version = "0.25.0" ++version = "0.25.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fe9f3bd7d2e45dcc5e265fbb88d6513e4747d8ef9444cf01a533119bce28a157" ++checksum = "6069ca09d878a33f883cc06aaa9718ede171841d3832450354410b718b097232" + dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", +- "syn 2.0.18", ++ "syn 2.0.27", + ] + + [[package]] +@@ -482,9 +497,9 @@ dependencies = [ + + [[package]] + name = "syn" +-version = "2.0.18" ++version = "2.0.27" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" ++checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" + dependencies = [ + "proc-macro2", + "quote", +@@ -493,9 +508,9 @@ dependencies = [ + + [[package]] + name = "target-lexicon" +-version = "0.12.6" ++version = "0.12.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" ++checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e" + + [[package]] + name = "tinyvec" +@@ -520,9 +535,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + + [[package]] + name = "unicode-ident" +-version = "1.0.8" ++version = "1.0.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" ++checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" + + [[package]] + name = "unicode-normalization" +@@ -541,12 +556,12 @@ checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" + + [[package]] + name = "url" +-version = "2.3.1" ++version = "2.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" ++checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" + dependencies = [ + "form_urlencoded", +- "idna", ++ "idna 0.4.0", + "percent-encoding", + ] + +@@ -562,20 +577,11 @@ version = "0.11.0+wasi-snapshot-preview1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +-[[package]] +-name = "windows-sys" +-version = "0.45.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +-dependencies = [ +- "windows-targets", +-] +- + [[package]] + name = "windows-targets" +-version = "0.42.2" ++version = "0.48.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" ++checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" + dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", +@@ -588,42 +594,42 @@ dependencies = [ + + [[package]] + name = "windows_aarch64_gnullvm" +-version = "0.42.2" ++version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" ++checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + + [[package]] + name = "windows_aarch64_msvc" +-version = "0.42.2" ++version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" ++checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + + [[package]] + name = "windows_i686_gnu" +-version = "0.42.2" ++version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" ++checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + + [[package]] + name = "windows_i686_msvc" +-version = "0.42.2" ++version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" ++checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + + [[package]] + name = "windows_x86_64_gnu" +-version = "0.42.2" ++version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" ++checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + + [[package]] + name = "windows_x86_64_gnullvm" +-version = "0.42.2" ++version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" ++checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + + [[package]] + name = "windows_x86_64_msvc" +-version = "0.42.2" ++version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" ++checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +diff --git a/Cargo.toml b/Cargo.toml +index 7c3bae8..00d29e2 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -30,7 +30,7 @@ pyo3 = { version = "0.19.1", features = ["generate-import-lib", "num-bigint"] } + regex = "1.6.0" + strum = { version = "0.25.0", features = ["derive"] } + strum_macros = "0.24.3" +-serde_json = {version = "1.0.87", features = ["preserve_order"]} ++serde_json = {version = "<1.0.98", features = ["preserve_order"]} + enum_dispatch = "0.3.8" + serde = "1.0.147" + # disabled for benchmarks since it makes microbenchmark performance more flakey +@@ -51,7 +51,6 @@ crate-type = ["cdylib", "rlib"] + [features] + # must be enabled when building with `cargo build`, maturin enables this automatically + extension-module = ["pyo3/extension-module"] +-default = ["mimalloc"] + + [profile.release] + lto = "fat" +@@ -68,4 +67,4 @@ pyo3 = { version = "0.19.0", features = ["auto-initialize"] } + [build-dependencies] + version_check = "0.9.4" + # used where logic has to be version/distribution specific, e.g. pypy +-pyo3-build-config = "0.19.0" ++pyo3-build-config = { git = 'https://github.com/DataDog/pyo3.git', branch = 'support-old-nightly' } +diff --git a/pyproject.toml b/pyproject.toml +index 1602e32..0278c38 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,6 +1,6 @@ + [build-system] + requires = [ +- 'maturin>=1,<2', ++ 'maturin[zig]>=1,<2', + 'typing-extensions >=4.6.0,!=4.7.0' + ] + build-backend = 'maturin' +@@ -52,6 +52,7 @@ python-source = "python" + module-name = "pydantic_core._pydantic_core" + bindings = 'pyo3' + features = ["pyo3/extension-module"] ++compatibility = "manylinux1" + + [tool.ruff] + line-length = 120 +diff --git a/src/lib.rs b/src/lib.rs +index a6780e6..b6bdee2 100644 +--- a/src/lib.rs ++++ b/src/lib.rs +@@ -1,3 +1,5 @@ ++#![feature(let_else)] ++#![feature(label_break_value)] + #![cfg_attr(has_no_coverage, feature(no_coverage))] + + extern crate core; diff --git a/omnibus/config/software/datadog-agent-integrations-py3.rb b/omnibus/config/software/datadog-agent-integrations-py3.rb index f76553ec18215..9a2ff2ac4876e 100644 --- a/omnibus/config/software/datadog-agent-integrations-py3.rb +++ b/omnibus/config/software/datadog-agent-integrations-py3.rb @@ -99,6 +99,13 @@ blacklist_packages.push(/^pymqi==/) end +if redhat? && !arm? + # RPM builds are done on CentOS 6 which is based on glibc v2.12 however newer libraries require v2.17, see: + # https://blog.rust-lang.org/2022/08/01/Increasing-glibc-kernel-requirements.html + dependency 'pydantic-core-py3' + blacklist_packages.push(/^pydantic-core==/) +end + # _64_bit checks the kernel arch. On windows, the builder is 64 bit # even when doing a 32 bit build. Do a specific check for the 32 bit # build diff --git a/omnibus/config/software/pydantic-core-py3.rb b/omnibus/config/software/pydantic-core-py3.rb new file mode 100644 index 0000000000000..86d1431cfc9e0 --- /dev/null +++ b/omnibus/config/software/pydantic-core-py3.rb @@ -0,0 +1,29 @@ +# We need to build the pydantic-core wheel separately because this is the only way to build +# it on CentOS 6. +# manylinux2014 wheels (min. requirement: glibc 2.17) do not support CentOS 6 (glibc 2.12). + +name "pydantic-core-py3" +default_version "2.1.2" + +dependency "pip3" + +source :url => "https://github.com/pydantic/pydantic-core/archive/refs/tags/v#{version}.tar.gz", + :sha256 => "63c12928b54c8eab426bcbd1d9af005a945ebf9010caa7a9f087ad69cf29cb07", + :extract => :seven_zip + +relative_path "pydantic-core-#{version}" + +build do + license "MIT" + license_file "./LICENSE" + + patch :source => "pydantic-core-build-for-manylinux1.patch" + + if windows? + pip = "#{windows_safe_path(python_3_embedded)}\\Scripts\\pip.exe" + else + pip = "#{install_dir}/embedded/bin/pip3" + end + + command "#{pip} install --no-deps ." +end