Skip to content

Commit 8ff539b

Browse files
fix: adjust liboqs pkgconfig version detection to new scheme (#246)
1 parent 8a0229a commit 8ff539b

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

oqs-sys/build.rs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -128,15 +128,6 @@ fn includedir_from_source() -> PathBuf {
128128
outdir.join("build").join("include")
129129
}
130130

131-
fn trim_wrapped_patch_version(patch: &str) -> &str {
132-
let len = patch.len();
133-
if len < 3 {
134-
return patch;
135-
}
136-
137-
&patch[..len - 2]
138-
}
139-
140131
fn probe_includedir() -> PathBuf {
141132
if cfg!(feature = "vendored") {
142133
return includedir_from_source();
@@ -145,14 +136,17 @@ fn probe_includedir() -> PathBuf {
145136
println!("cargo:rerun-if-env-changed=LIBOQS_NO_VENDOR");
146137
let force_no_vendor = std::env::var_os("LIBOQS_NO_VENDOR").map_or(false, |v| v != "0");
147138

148-
let major_version: usize = env!("CARGO_PKG_VERSION_MAJOR").parse().unwrap();
149-
let minor_version: usize = env!("CARGO_PKG_VERSION_MINOR").parse().unwrap();
150-
let patch_version = env!("CARGO_PKG_VERSION_PATCH");
151-
let patch_trimmed = trim_wrapped_patch_version(patch_version);
152-
let lower_bound = format!("{}.{}.{}", major_version, minor_version, patch_trimmed);
153-
let upper_bound = format!("{}.{}.0", major_version, minor_version + 1);
139+
let version = env!("CARGO_PKG_VERSION");
140+
let (_, liboqs_version) = version.split_once("+liboqs-").unwrap();
141+
let &[major_version, minor_version, _] =
142+
liboqs_version.split('.').collect::<Vec<_>>().as_slice()
143+
else {
144+
panic!("Failed to parse target liboqs version");
145+
};
146+
let minor_num: usize = minor_version.parse().unwrap();
147+
let upper_bound = format!("{}.{}.0", major_version, minor_num + 1);
154148
let config = pkg_config::Config::new()
155-
.range_version(lower_bound.as_str()..upper_bound.as_str())
149+
.range_version(liboqs_version..upper_bound.as_str())
156150
.probe("liboqs");
157151

158152
match config {

0 commit comments

Comments
 (0)