Bug 1949858 - build(rust): shim-upgrade core-graphics-types 0.1.3 → 0.2.0, core-foundation 0.9.4 → 0.10.0, core-foundation-sys 0.8.6 → 0.8.7 r=gfx-reviewers,glandium,lsalzman

Differential Revision: https://phabricator.services.mozilla.com/D239209
This commit is contained in:
Erich Gubler
2025-02-22 03:48:43 +00:00
parent 2a9c14cc60
commit 489cb02b0e
24 changed files with 152 additions and 142 deletions

54
Cargo.lock generated
View File

@@ -335,7 +335,7 @@ dependencies = [
"base64 0.21.3",
"bitflags 1.999.999",
"cfg-if",
"core-foundation",
"core-foundation 0.9.999",
"devd-rs",
"libc",
"libudev",
@@ -951,9 +951,16 @@ dependencies = [
[[package]]
name = "core-foundation"
version = "0.9.4"
version = "0.9.999"
dependencies = [
"core-foundation 0.10.0",
]
[[package]]
name = "core-foundation"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63"
dependencies = [
"core-foundation-sys",
"libc",
@@ -961,9 +968,9 @@ dependencies = [
[[package]]
name = "core-foundation-sys"
version = "0.8.6"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "core-graphics"
@@ -972,20 +979,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
dependencies = [
"bitflags 1.999.999",
"core-foundation",
"core-graphics-types",
"core-foundation 0.9.999",
"core-graphics-types 0.1.999",
"foreign-types",
"libc",
]
[[package]]
name = "core-graphics-types"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
version = "0.1.999"
dependencies = [
"bitflags 1.999.999",
"core-foundation",
"core-graphics-types 0.2.0",
]
[[package]]
name = "core-graphics-types"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"
dependencies = [
"bitflags 2.7.0",
"core-foundation 0.10.0",
"libc",
]
@@ -995,7 +1009,7 @@ version = "20.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5"
dependencies = [
"core-foundation",
"core-foundation 0.9.999",
"core-graphics",
"foreign-types",
"libc",
@@ -1033,7 +1047,7 @@ name = "coremidi"
version = "0.6.0"
source = "git+https://github.com/chris-zen/coremidi.git?rev=fc68464b5445caf111e41f643a2e69ccce0b4f83#fc68464b5445caf111e41f643a2e69ccce0b4f83"
dependencies = [
"core-foundation",
"core-foundation 0.9.999",
"core-foundation-sys",
"coremidi-sys",
]
@@ -3213,7 +3227,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "861c6093cbc05599e66436aedf380bb0a23cec2180738393d3a340b80dd135ef"
dependencies = [
"cgl",
"core-foundation",
"core-foundation 0.9.999",
"leaky-cow",
"libc",
]
@@ -3795,7 +3809,7 @@ checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e"
dependencies = [
"bitflags 2.7.0",
"block",
"core-graphics-types",
"core-graphics-types 0.1.999",
"foreign-types",
"log",
"objc",
@@ -4789,7 +4803,7 @@ name = "osclientcerts"
version = "0.1.4"
dependencies = [
"byteorder",
"core-foundation",
"core-foundation 0.9.999",
"env_logger",
"lazy_static",
"libloading",
@@ -7218,7 +7232,7 @@ version = "0.1.0"
dependencies = [
"app_units",
"bincode",
"core-foundation",
"core-foundation 0.9.999",
"core-graphics",
"dirs",
"dwrote",
@@ -7309,7 +7323,7 @@ dependencies = [
"bitflags 2.7.0",
"block",
"cfg_aliases",
"core-graphics-types",
"core-graphics-types 0.1.999",
"gpu-alloc",
"gpu-allocator",
"gpu-descriptor",
@@ -7523,7 +7537,7 @@ dependencies = [
name = "wr_glyph_rasterizer"
version = "0.1.0"
dependencies = [
"core-foundation",
"core-foundation 0.9.999",
"core-graphics",
"core-text",
"dwrote",

View File

@@ -185,6 +185,13 @@ js-sys = { path = "build/rust/dummy-web/js-sys" }
wasm-bindgen = { path = "build/rust/dummy-web/wasm-bindgen" }
web-sys = { path = "build/rust/dummy-web/web-sys" }
# Upgrade `core-foundation` 0.9.* to 0.10.
core-foundation = { path = "build/rust/core-foundation" }
# Patch `core-graphics-types` 0.1.* to 0.2.
core-graphics-types = { path = "build/rust/core-graphics-types" }
# Overrides to allow easier use of common internal crates.
moz_asserts = { path = "mozglue/static/rust/moz_asserts" }

View File

@@ -0,0 +1,19 @@
[package]
name = "core-foundation"
version = "0.9.999"
edition = "2018"
license = "MIT or APACHE-2.0"
[lib]
path = "lib.rs"
[dependencies.core-foundation]
version = "0.10.0"
default-features = false
[features]
default = ["core-foundation/default"]
link = ["core-foundation/link"]
mac_os_10_7_support = ["core-foundation/mac_os_10_7_support"]
mac_os_10_8_features = ["core-foundation/mac_os_10_8_features"]
with-uuid = ["core-foundation/with-uuid"]

View File

@@ -0,0 +1,5 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
pub use core_foundation::*;

View File

@@ -0,0 +1,16 @@
[package]
name = "core-graphics-types"
version = "0.1.999"
edition = "2018"
license = "MIT or APACHE-2.0"
[lib]
path = "lib.rs"
[dependencies.core-graphics-types]
version = "0.2.0"
default-features = false
[features]
default = ["core-graphics-types/default"]
link = ["core-graphics-types/link"]

View File

@@ -0,0 +1,5 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
pub use core_graphics_types::*;

View File

@@ -1 +1 @@
{"files":{"Cargo.toml":"f8b5e9fa6c6bbfad4e3c0acfbad03f05cbd98073e664e3ad2fe16a56dd492aa1","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/array.rs":"4d469ca3f6aceb42dfaf7b26aa9ef14a8ebce05e02d0beda985fa32f2ec48963","src/attributed_string.rs":"7042f3fbf6904efecb15f01ce2e96eecf84973e0fef9be4c10d14944b0f90a24","src/bag.rs":"dec9ff467ac713526c3be8148ae41b21ab8840f393733bb53c77224ef089787c","src/base.rs":"5d0dee358519712e881e2edbea0ca6d3539958ed1ff3d70aa136af7e25292f22","src/binary_heap.rs":"0565125dbdb1fa578888e00f5b195ab91f0bf65881eabcd39de99ca811d756de","src/bit_vector.rs":"dcdaa573d90b25bdc6b98f2330110e8591b7c329601643dcc6aa23b1b9ec7210","src/bundle.rs":"83ac9d7c45f06161767588c465eed086a773714734da0614d98d000326df3603","src/calendar.rs":"b73796956e50d92f0479479e84246712804537d694e4cdd01d5440e5fbcbd333","src/characterset.rs":"ba60f78884cd860e151df35c1953bcd6eae46d9f27c36584b66e508e2301a7a8","src/data.rs":"fe4e2effbfd9348575507d06aa53cd583808c908f9e03ac1a076b077230c9c01","src/date.rs":"971d681f6eeefa3764d8a43e53cbf7c937c419331207c7bb003a25c9b0b0722f","src/date_formatter.rs":"05e84ac3cf4c0daae2e939a9bedddfd10dd5309ea1536bf8241de41971d11f8a","src/dictionary.rs":"ac23d99208131049c82c13b37a99b4fd129224d1dafcd65ff2f9de200d73e9d1","src/error.rs":"b523faa8c498e1115c72e71a10e7a3bf8bcc01588cb02e70dc9fd45cbdaa35f6","src/file_security.rs":"542c5d8eef22424479abcb448601611d85c9cc96e41cd6cd6de5ea3efe1213a6","src/filedescriptor.rs":"706eebde408713cc49bbab078e86fe51e95fe29b167420bbcbb573847dcf29e2","src/lib.rs":"8ae5082d92ebf6b1a53332211b87986aa7228534f5e341b62100e522b7fcadec","src/locale.rs":"372190a9cb5659fba0b92598c5dcbdaa3f90b29b3440ddcfe77931e85c1f96d9","src/mach_port.rs":"e52c2ce794e82ebeeb0cba170902409f18626b7d9e29d6dcd333e9c13411408a","src/messageport.rs":"d8e342f0eabe47f6f4746fdbf996bf9008b4b5f1fa24e0bc4ecd73b2de81b234","src/notification_center.rs":"0ab30523bc4ac799016970c9c59594cbb3afeda054705c15d0979eb07abb7c7d","src/number.rs":"28b10c9d2361cac18549ef66839f595e98490096e756e9a7f25536b6ceb1f687","src/number_formatter.rs":"024fbd3b2ecaecf19cfdb463e0f0096d1fa28bc4ce636659e53459d1b01af658","src/plugin.rs":"0904b1b4b882e626d5d63ac91c540dfdf65f5f4428cf38c9def6acfc7ed84cd3","src/preferences.rs":"49d8ac0c669a01678fa0dc26d6cb13bc72004c8422e525bf3e26f01feb5a3693","src/propertylist.rs":"f7f12cb8c67098e5b96cb8a63b4a947549a2cbf7a6523ce314141b4f8cc202c4","src/runloop.rs":"8fa6e5e74a013f8101d5a4f6616818573adc7ed197e28b799dca4c3a1cedaac9","src/set.rs":"0e619ec75a6b975be6b6d59ed3b01c803dd635020288b178db949b1c45442d17","src/socket.rs":"b67737b8c04142fa4d198c19f0867fd653837e529bf2665e78750c94f469a793","src/stream.rs":"f9b1099191010a96ce0aadcc22385732710dfc1521873096a9db67ad80472e36","src/string.rs":"fa46e7b7865709494bb05c9c7c6006f165fafa956ab41f053af0e4b41904efa4","src/string_tokenizer.rs":"0da4ae1a841591871602f21cc1c9b51289a0514a255b269e4b61afdeb0097c10","src/timezone.rs":"f584ea76627f12f33eba25d7ea054c2d2c10a2d96474fce12858ccb4bdf688c1","src/tree.rs":"50d513ea1801797c549218c51f5ebf77be4cf80901b12ce3ba0a223c602995d4","src/url.rs":"cb08b0bd24708e6572711f4f82b88370e811aabf4f58f22c34f0f873a44c7486","src/url_enumerator.rs":"bd531f31f6c62b2849d5ccbc82bfc3ae3866c4cdd6768b6c2fe380f24c290540","src/user_notification.rs":"e86b052817028847e62121752e7d58f8ed6f8ad15f5ef947c1fa93bbd0fcbf26","src/uuid.rs":"48af493dc6c8b00d804d6ae92a2fd71eabdae8a2be0500baaa55ce56345c350a","src/xml_node.rs":"c7894a4d08f695ba75d539b3c8d6cc3a90544000786fe3f9cd9c02ad7541213b","src/xml_parser.rs":"ac8a3d2c71ec8ec80603ce5ef214147c0e93bed211c1559a47f14fc31cb0bbaf"},"package":"06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"}
{"files":{"Cargo.toml":"8f18dba99a0470c9d6b59917291e7ece5465b3a05def7c244217bfa56867c8cc","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/array.rs":"4d469ca3f6aceb42dfaf7b26aa9ef14a8ebce05e02d0beda985fa32f2ec48963","src/attributed_string.rs":"7042f3fbf6904efecb15f01ce2e96eecf84973e0fef9be4c10d14944b0f90a24","src/bag.rs":"dec9ff467ac713526c3be8148ae41b21ab8840f393733bb53c77224ef089787c","src/base.rs":"5d0dee358519712e881e2edbea0ca6d3539958ed1ff3d70aa136af7e25292f22","src/binary_heap.rs":"0565125dbdb1fa578888e00f5b195ab91f0bf65881eabcd39de99ca811d756de","src/bit_vector.rs":"dcdaa573d90b25bdc6b98f2330110e8591b7c329601643dcc6aa23b1b9ec7210","src/bundle.rs":"83ac9d7c45f06161767588c465eed086a773714734da0614d98d000326df3603","src/calendar.rs":"b73796956e50d92f0479479e84246712804537d694e4cdd01d5440e5fbcbd333","src/characterset.rs":"ba60f78884cd860e151df35c1953bcd6eae46d9f27c36584b66e508e2301a7a8","src/data.rs":"fe4e2effbfd9348575507d06aa53cd583808c908f9e03ac1a076b077230c9c01","src/date.rs":"971d681f6eeefa3764d8a43e53cbf7c937c419331207c7bb003a25c9b0b0722f","src/date_formatter.rs":"05e84ac3cf4c0daae2e939a9bedddfd10dd5309ea1536bf8241de41971d11f8a","src/dictionary.rs":"ac23d99208131049c82c13b37a99b4fd129224d1dafcd65ff2f9de200d73e9d1","src/error.rs":"b523faa8c498e1115c72e71a10e7a3bf8bcc01588cb02e70dc9fd45cbdaa35f6","src/file_security.rs":"542c5d8eef22424479abcb448601611d85c9cc96e41cd6cd6de5ea3efe1213a6","src/filedescriptor.rs":"706eebde408713cc49bbab078e86fe51e95fe29b167420bbcbb573847dcf29e2","src/lib.rs":"5c14390b7b45c769ea53664621c1a9f5fa39fda509288d9e13018170213bbe4b","src/locale.rs":"372190a9cb5659fba0b92598c5dcbdaa3f90b29b3440ddcfe77931e85c1f96d9","src/mach_port.rs":"e52c2ce794e82ebeeb0cba170902409f18626b7d9e29d6dcd333e9c13411408a","src/messageport.rs":"d8e342f0eabe47f6f4746fdbf996bf9008b4b5f1fa24e0bc4ecd73b2de81b234","src/notification_center.rs":"0ab30523bc4ac799016970c9c59594cbb3afeda054705c15d0979eb07abb7c7d","src/number.rs":"28b10c9d2361cac18549ef66839f595e98490096e756e9a7f25536b6ceb1f687","src/number_formatter.rs":"024fbd3b2ecaecf19cfdb463e0f0096d1fa28bc4ce636659e53459d1b01af658","src/plugin.rs":"0904b1b4b882e626d5d63ac91c540dfdf65f5f4428cf38c9def6acfc7ed84cd3","src/preferences.rs":"49d8ac0c669a01678fa0dc26d6cb13bc72004c8422e525bf3e26f01feb5a3693","src/propertylist.rs":"f7f12cb8c67098e5b96cb8a63b4a947549a2cbf7a6523ce314141b4f8cc202c4","src/runloop.rs":"8fa6e5e74a013f8101d5a4f6616818573adc7ed197e28b799dca4c3a1cedaac9","src/set.rs":"0e619ec75a6b975be6b6d59ed3b01c803dd635020288b178db949b1c45442d17","src/socket.rs":"b67737b8c04142fa4d198c19f0867fd653837e529bf2665e78750c94f469a793","src/stream.rs":"f9b1099191010a96ce0aadcc22385732710dfc1521873096a9db67ad80472e36","src/string.rs":"fa46e7b7865709494bb05c9c7c6006f165fafa956ab41f053af0e4b41904efa4","src/string_tokenizer.rs":"0da4ae1a841591871602f21cc1c9b51289a0514a255b269e4b61afdeb0097c10","src/timezone.rs":"f584ea76627f12f33eba25d7ea054c2d2c10a2d96474fce12858ccb4bdf688c1","src/tree.rs":"50d513ea1801797c549218c51f5ebf77be4cf80901b12ce3ba0a223c602995d4","src/url.rs":"cb08b0bd24708e6572711f4f82b88370e811aabf4f58f22c34f0f873a44c7486","src/url_enumerator.rs":"bd531f31f6c62b2849d5ccbc82bfc3ae3866c4cdd6768b6c2fe380f24c290540","src/user_notification.rs":"e86b052817028847e62121752e7d58f8ed6f8ad15f5ef947c1fa93bbd0fcbf26","src/uuid.rs":"48af493dc6c8b00d804d6ae92a2fd71eabdae8a2be0500baaa55ce56345c350a","src/xml_node.rs":"c7894a4d08f695ba75d539b3c8d6cc3a90544000786fe3f9cd9c02ad7541213b","src/xml_parser.rs":"ac8a3d2c71ec8ec80603ce5ef214147c0e93bed211c1559a47f14fc31cb0bbaf"},"package":"773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"}

View File

@@ -12,10 +12,16 @@
[package]
edition = "2018"
name = "core-foundation-sys"
version = "0.8.6"
version = "0.8.7"
authors = ["The Servo Project Developers"]
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bindings to Core Foundation for macOS"
homepage = "https://github.com/servo/core-foundation-rs"
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/servo/core-foundation-rs"
@@ -23,6 +29,10 @@ repository = "https://github.com/servo/core-foundation-rs"
all-features = true
default-target = "x86_64-apple-darwin"
[lib]
name = "core_foundation_sys"
path = "src/lib.rs"
[dependencies]
[features]

View File

@@ -23,7 +23,13 @@
// https://github.com/rust-lang/lang-team/issues/102
#[cfg_attr(
all(
any(target_os = "macos", target_os = "ios", target_os = "tvos"),
any(
target_os = "macos",
target_os = "ios",
target_os = "tvos",
target_os = "watchos",
target_os = "visionos"
),
feature = "link"
),
link(name = "CoreFoundation", kind = "framework")

View File

@@ -1 +1 @@
{"files":{"Cargo.toml":"2e85272c5cffb75aadcbb83d8ca1a619af3ccb9d810c1e07349f3b618fa05b7e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/array.rs":"1ec64187ec7c3ff0a9cf9739fb83d1f0b6141d827e4f21a14203b7058ca12056","src/attributed_string.rs":"7c129d266872bf9e0f8cbd9477d8cc27405b806395e59e1647bedf9af06f8949","src/base.rs":"7ec2afcbc200aabaa01687efce2eb27c9effc9eae64d3c579827de731fbd290e","src/boolean.rs":"60aef5be531e867f03524c32a88609100d07d9166184545feab760af9eb3d7ec","src/bundle.rs":"00f7ae30df3cc59079e771da0eda2b1972f52b13cc7bd95ae48b0e9bd1836ff4","src/characterset.rs":"126884d51e75db5be4cb2988f4e97e0e1b592c900e0158082d8c0dda7a453b0f","src/data.rs":"bfaa4427b6bc4c838188506ee154622983bbfcc10641be3f58525b89a854d4cd","src/date.rs":"d1ec3f918cf6c62d0e36d50d495c125d275a9a89442a740eea5d41dcc71a96fa","src/dictionary.rs":"f6d73c08fa9afd30d1df70cceea55dd30c7b81b8a78117d8843f1b3390051dca","src/error.rs":"433982fb7b421f5bf386d7eba22a7ffb8673486bb6455ff3fa30c875b064f718","src/filedescriptor.rs":"d3ece69ff461b215f7ff98dc6139723c4a5a53849a9747cccd24e72c185c4ffd","src/lib.rs":"92502d5f7d0e2ba266ec3531c01dd996e1832f1e6e9e66b10596e6fb870480cb","src/mach_port.rs":"e5400039696a70bdc0e6e14b1a68c493b741136945ce0eb67208cd4d0f895e1b","src/number.rs":"48e2efe219a7eaa4bc7bc3a48fa45f32fbbfd6363620838fef16a98b86e05061","src/propertylist.rs":"23e9a42d506983374d0c3439ab80407bbd472a3487812693a411597ff5eb1bd8","src/runloop.rs":"ff5bbb8a145befa7f244d937161d87f059ea60c9c482ab32e845222ee6fabf34","src/set.rs":"39e41a3d4f9e4dd50864a9c3581508e1b09549dc89d57fa84935964d98469bad","src/string.rs":"3b25b169d0f18dae66e6f123a116a04c79096f9e44e4221d4dbdcea4e152355c","src/timezone.rs":"7b8e46bde9e8aa71a906ab26b8ff7b6251568ebf210bab10d11c6ba0ce64ecd5","src/url.rs":"dc125dd95e9b8386770b89f5437ab904ceff0843e1bf820f548bddfc31e1c40c","src/uuid.rs":"e290c592871b7cea6ec09d2b3e34ec9033968dda725cf49e410535f79d2b41f8","tests/use_macro_outside_crate.rs":"ed5e74ac9e988f2609c0b785189f1e6368d693f6401603ad065521f3ab51df94"},"package":"91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"}
{"files":{"Cargo.toml":"6434efeab4199cd76aacf3061bdafb6083e15cf815f00e750cf0e05c55e22ffb","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/array.rs":"1ec64187ec7c3ff0a9cf9739fb83d1f0b6141d827e4f21a14203b7058ca12056","src/attributed_string.rs":"7c129d266872bf9e0f8cbd9477d8cc27405b806395e59e1647bedf9af06f8949","src/base.rs":"7ec2afcbc200aabaa01687efce2eb27c9effc9eae64d3c579827de731fbd290e","src/boolean.rs":"60aef5be531e867f03524c32a88609100d07d9166184545feab760af9eb3d7ec","src/bundle.rs":"c534b2e05a7e6a8f8232e925f5821657bd57b3019c6f85ab84a7606f5cc70140","src/characterset.rs":"12fd3f2b0444070a6932d8ddec58aae2479e77bcd2028d85eb40e8d7635beac8","src/data.rs":"15464aea7002a2a247b492e0c9fa402ff6867540fa33bc00feec88e07609f722","src/date.rs":"e2a15f5c304ddcb78facd3d70c41e9b7ad4be483723f686592756767904a31d0","src/dictionary.rs":"617ef92eb6334ab838e40b050fdfc5a037865d44cdf44d321a1f8ab52808e161","src/error.rs":"433982fb7b421f5bf386d7eba22a7ffb8673486bb6455ff3fa30c875b064f718","src/filedescriptor.rs":"c06e68963bf6d71ffd95f08b74fcf5fa24e088bf336dd6de7923f25ea4868342","src/lib.rs":"b3b1fbbebfe65c89365cfa30b4f83bb416d96ac33bd9b3636a25a852908beb60","src/mach_port.rs":"e5400039696a70bdc0e6e14b1a68c493b741136945ce0eb67208cd4d0f895e1b","src/number.rs":"48e2efe219a7eaa4bc7bc3a48fa45f32fbbfd6363620838fef16a98b86e05061","src/propertylist.rs":"23e9a42d506983374d0c3439ab80407bbd472a3487812693a411597ff5eb1bd8","src/runloop.rs":"ff5bbb8a145befa7f244d937161d87f059ea60c9c482ab32e845222ee6fabf34","src/set.rs":"39e41a3d4f9e4dd50864a9c3581508e1b09549dc89d57fa84935964d98469bad","src/string.rs":"3b25b169d0f18dae66e6f123a116a04c79096f9e44e4221d4dbdcea4e152355c","src/timezone.rs":"1930ae99f2553d353b6d79f31f26f8df3f3af9eaadeff8f374b4aa9b91a214e9","src/url.rs":"dc125dd95e9b8386770b89f5437ab904ceff0843e1bf820f548bddfc31e1c40c","src/uuid.rs":"f9720e2e4369e1b22c1dc9bcbb49a38a824ad5eb92cd7fae86d79c3ce1d1a384","tests/use_macro_outside_crate.rs":"c172fa1edb4f228e13de7cf6101b5c057aa88b0c148d58f460369cb38ca7e5cb"},"package":"b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63"}

View File

@@ -12,10 +12,16 @@
[package]
edition = "2018"
name = "core-foundation"
version = "0.9.4"
version = "0.10.0"
authors = ["The Servo Project Developers"]
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bindings to Core Foundation for macOS"
homepage = "https://github.com/servo/core-foundation-rs"
readme = false
keywords = [
"macos",
"framework",
@@ -29,19 +35,23 @@ repository = "https://github.com/servo/core-foundation-rs"
all-features = true
default-target = "x86_64-apple-darwin"
[dependencies.chrono]
version = "0.4"
optional = true
[lib]
name = "core_foundation"
path = "src/lib.rs"
[[test]]
name = "use_macro_outside_crate"
path = "tests/use_macro_outside_crate.rs"
[dependencies.core-foundation-sys]
version = "0.8.6"
version = "0.8.7"
default-features = false
[dependencies.libc]
version = "0.2"
[dependencies.uuid]
version = "0.5"
version = "1"
optional = true
[features]
@@ -49,5 +59,4 @@ default = ["link"]
link = ["core-foundation-sys/link"]
mac_os_10_7_support = ["core-foundation-sys/mac_os_10_7_support"]
mac_os_10_8_features = ["core-foundation-sys/mac_os_10_8_features"]
with-chrono = ["chrono"]
with-uuid = ["uuid"]

View File

@@ -189,7 +189,7 @@ fn safari_private_frameworks_url() {
}
#[test]
fn non_existant_bundle() {
fn non_existent_bundle() {
use crate::string::CFString;
use crate::url::{kCFURLPOSIXPathStyle, CFURL};

View File

@@ -14,7 +14,7 @@ pub use core_foundation_sys::characterset::*;
use crate::base::TCFType;
declare_TCFType! {
/// An immutable set of Unicde characters.
/// An immutable set of Unicode characters.
CFCharacterSet, CFCharacterSetRef
}
impl_TCFType!(CFCharacterSet, CFCharacterSetRef, CFCharacterSetGetTypeID);

View File

@@ -81,7 +81,14 @@ impl CFData {
/// read-only.
#[inline]
pub fn bytes(&self) -> &[u8] {
unsafe { slice::from_raw_parts(CFDataGetBytePtr(self.0), self.len() as usize) }
unsafe {
let ptr = CFDataGetBytePtr(self.0);
// Rust slice must never have a NULL pointer
if ptr.is_null() {
return &[];
}
slice::from_raw_parts(ptr, self.len() as usize)
}
}
/// Returns the length of this byte buffer.

View File

@@ -14,9 +14,6 @@ pub use core_foundation_sys::date::*;
use crate::base::TCFType;
#[cfg(feature = "with-chrono")]
use chrono::NaiveDateTime;
declare_TCFType! {
/// A date.
CFDate, CFDateRef
@@ -43,26 +40,6 @@ impl CFDate {
pub fn abs_time(&self) -> CFAbsoluteTime {
unsafe { CFDateGetAbsoluteTime(self.0) }
}
#[cfg(feature = "with-chrono")]
pub fn naive_utc(&self) -> NaiveDateTime {
let ts = unsafe { self.abs_time() + kCFAbsoluteTimeIntervalSince1970 };
let (secs, nanos) = if ts.is_sign_positive() {
(ts.trunc() as i64, ts.fract())
} else {
// nanoseconds can't be negative in NaiveDateTime
(ts.trunc() as i64 - 1, 1.0 - ts.fract().abs())
};
NaiveDateTime::from_timestamp(secs, (nanos * 1e9).floor() as u32)
}
#[cfg(feature = "with-chrono")]
pub fn from_naive_utc(time: NaiveDateTime) -> CFDate {
let secs = time.timestamp();
let nanos = time.timestamp_subsec_nanos();
let ts = unsafe { secs as f64 + (nanos as f64 / 1e9) - kCFAbsoluteTimeIntervalSince1970 };
CFDate::new(ts)
}
}
#[cfg(test)]
@@ -70,18 +47,6 @@ mod test {
use super::CFDate;
use std::cmp::Ordering;
#[cfg(feature = "with-chrono")]
use chrono::NaiveDateTime;
#[cfg(feature = "with-chrono")]
fn approx_eq(a: f64, b: f64) -> bool {
use std::f64;
let same_sign = a.is_sign_positive() == b.is_sign_positive();
let equal = ((a - b).abs() / f64::min(a.abs() + b.abs(), f64::MAX)) < f64::EPSILON;
same_sign && equal
}
#[test]
fn date_comparison() {
let now = CFDate::now();
@@ -97,25 +62,4 @@ mod test {
let same_time = CFDate::new(now.abs_time());
assert_eq!(now, same_time);
}
#[test]
#[cfg(feature = "with-chrono")]
fn date_chrono_conversion_positive() {
let date = CFDate::now();
let datetime = date.naive_utc();
let converted = CFDate::from_naive_utc(datetime);
assert!(approx_eq(date.abs_time(), converted.abs_time()));
}
#[test]
#[cfg(feature = "with-chrono")]
fn date_chrono_conversion_negative() {
use super::kCFAbsoluteTimeIntervalSince1970;
let ts = unsafe { kCFAbsoluteTimeIntervalSince1970 - 420.0 };
let date = CFDate::new(ts);
let datetime: NaiveDateTime = date.naive_utc();
let converted = CFDate::from_naive_utc(datetime);
assert!(approx_eq(date.abs_time(), converted.abs_time()));
}
}

View File

@@ -21,7 +21,7 @@ use crate::base::{CFIndexConvertible, TCFType};
use crate::base::{FromVoid, ItemRef, ToVoid};
use crate::ConcreteCFType;
// consume the type parameters with PhantomDatas
// consume the type parameters with `PhantomData`
pub struct CFDictionary<K = *const c_void, V = *const c_void>(
CFDictionaryRef,
PhantomData<K>,
@@ -148,7 +148,7 @@ impl<K, V> CFDictionary<K, V> {
}
}
// consume the type parameters with PhantomDatas
// consume the type parameters with `PhantomData`
pub struct CFMutableDictionary<K = *const c_void, V = *const c_void>(
CFMutableDictionaryRef,
PhantomData<K>,

View File

@@ -97,8 +97,6 @@ impl AsRawFd for CFFileDescriptor {
#[cfg(test)]
mod test {
extern crate libc;
use super::*;
use crate::runloop::CFRunLoop;
use core_foundation_sys::base::CFOptionFlags;

View File

@@ -15,12 +15,6 @@
//! It also provides a framework for other crates to use when wrapping
//! other frameworks that use the CoreFoundation framework.
extern crate core_foundation_sys;
extern crate libc;
#[cfg(feature = "with-chrono")]
extern crate chrono;
use crate::base::TCFType;
pub unsafe trait ConcreteCFType: TCFType {}
@@ -32,7 +26,7 @@ pub unsafe trait ConcreteCFType: TCFType {}
/// provided using the [`impl_TCFType`] macro.
///
/// ```
/// #[macro_use] extern crate core_foundation;
/// use core_foundation::{declare_TCFType, impl_TCFType};
/// // Make sure that the `TCFType` trait is in scope.
/// use core_foundation::base::{CFTypeID, TCFType};
///

View File

@@ -16,9 +16,6 @@ use crate::base::TCFType;
use crate::date::{CFDate, CFTimeInterval};
use crate::string::CFString;
#[cfg(feature = "with-chrono")]
use chrono::{FixedOffset, NaiveDateTime};
declare_TCFType! {
/// A time zone.
CFTimeZone, CFTimeZoneRef
@@ -56,17 +53,6 @@ impl CFTimeZone {
unsafe { CFTimeZoneGetSecondsFromGMT(self.0, date.abs_time()) }
}
#[cfg(feature = "with-chrono")]
pub fn offset_at_date(&self, date: NaiveDateTime) -> FixedOffset {
let date = CFDate::from_naive_utc(date);
FixedOffset::east(self.seconds_from_gmt(date) as i32)
}
#[cfg(feature = "with-chrono")]
pub fn from_offset(offset: FixedOffset) -> CFTimeZone {
CFTimeZone::new(offset.local_minus_utc() as f64)
}
/// The timezone database ID that identifies the time zone. E.g. `"America/Los_Angeles" `or
/// `"Europe/Paris"`.
pub fn name(&self) -> CFString {
@@ -78,22 +64,10 @@ impl CFTimeZone {
mod test {
use super::CFTimeZone;
#[cfg(feature = "with-chrono")]
use chrono::{FixedOffset, NaiveDateTime};
#[test]
fn timezone_comparison() {
let system = CFTimeZone::system();
let default = CFTimeZone::default();
assert_eq!(system, default);
}
#[test]
#[cfg(feature = "with-chrono")]
fn timezone_chrono_conversion() {
let offset = FixedOffset::west(28800);
let tz = CFTimeZone::from_offset(offset);
let converted = tz.offset_at_date(NaiveDateTime::from_timestamp(0, 0));
assert_eq!(offset, converted);
}
}

View File

@@ -9,16 +9,13 @@
//! Core Foundation UUID objects.
#[cfg(feature = "with-uuid")]
extern crate uuid;
use core_foundation_sys::base::kCFAllocatorDefault;
pub use core_foundation_sys::uuid::*;
use crate::base::TCFType;
#[cfg(feature = "with-uuid")]
use self::uuid::Uuid;
use uuid::Uuid;
declare_TCFType! {
/// A UUID.
@@ -51,7 +48,7 @@ impl From<CFUUID> for Uuid {
b.byte0, b.byte1, b.byte2, b.byte3, b.byte4, b.byte5, b.byte6, b.byte7, b.byte8,
b.byte9, b.byte10, b.byte11, b.byte12, b.byte13, b.byte14, b.byte15,
];
Uuid::from_bytes(&bytes).unwrap()
Uuid::from_bytes(bytes)
}
}

View File

@@ -1,7 +1,5 @@
#[macro_use]
extern crate core_foundation;
use core_foundation::base::{CFComparisonResult, TCFType};
use core_foundation::{declare_TCFType, impl_CFComparison, impl_CFTypeDescription, impl_TCFType};
use std::os::raw::c_void;
// sys equivalent stuff that must be declared

View File

@@ -1 +1 @@
{"files":{"Cargo.toml":"a49bc6534c1e5be53c72f3016ff7f64509a5570868dc943178c75b541fa839da","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/base.rs":"7e4e9c23f874443d0095f82d2786dc65b6b6635cbe8b3514999be80445a92bc8","src/geometry.rs":"7eda026c3db65cac836531565f85120132ab1ec84f76467a68ff040b8dc437c4","src/lib.rs":"42baf24c75dc6627bd4ca8481c503febf54e7eafa50cce40804042ddc74881c8"},"package":"45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"}
{"files":{"Cargo.toml":"3e037c711ddf0b568732aa2b8b4a7f66ecd5a72bdb59055329636ebe8c895628","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","src/base.rs":"7e4e9c23f874443d0095f82d2786dc65b6b6635cbe8b3514999be80445a92bc8","src/geometry.rs":"7eda026c3db65cac836531565f85120132ab1ec84f76467a68ff040b8dc437c4","src/lib.rs":"82b8fd756d805d5fc9dc8210fe1faaee94ed905fe21f58dc2114eac2c840981b"},"package":"3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"}

View File

@@ -12,21 +12,31 @@
[package]
edition = "2018"
name = "core-graphics-types"
version = "0.1.3"
version = "0.2.0"
authors = ["The Servo Project Developers"]
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bindings for some fundamental Core Graphics types"
homepage = "https://github.com/servo/core-foundation-rs"
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/servo/core-foundation-rs"
[package.metadata.docs.rs]
default-target = "x86_64-apple-darwin"
[lib]
name = "core_graphics_types"
path = "src/lib.rs"
[dependencies.bitflags]
version = "1.0"
version = "2"
[dependencies.core-foundation]
version = "0.9.4"
version = "0.10"
default-features = false
[dependencies.libc]

View File

@@ -7,8 +7,5 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
extern crate core_foundation;
extern crate libc;
pub mod base;
pub mod geometry;