summaryrefslogtreecommitdiff
path: root/src/pkgtoolkit
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkgtoolkit')
-rw-r--r--src/pkgtoolkit/build.rs20
-rw-r--r--src/pkgtoolkit/types.rs9
2 files changed, 21 insertions, 8 deletions
diff --git a/src/pkgtoolkit/build.rs b/src/pkgtoolkit/build.rs
index a37cb05..8c5119c 100644
--- a/src/pkgtoolkit/build.rs
+++ b/src/pkgtoolkit/build.rs
@@ -110,7 +110,6 @@ impl BuildOperations for Package {
Ok(())
}
-
/// Finds the build system file (e.g. Makefile, meson.build, CMakeLists.txt, Cargo.toml)
/// based on the build system specified in the build metadata.
///
@@ -123,19 +122,25 @@ impl BuildOperations for Package {
///
/// A `Result` containing an `Option<PathBuf>` which is `Some` if the build
/// system file is found, and `None` otherwise.
- fn find_makefile(&self, build_meta: &Build, search_dir: &Path) -> std::io::Result<Option<PathBuf>> {
+ fn find_makefile(
+ &self,
+ build_meta: &Build,
+ search_dir: &Path,
+ ) -> std::io::Result<Option<PathBuf>> {
let (patterns, recursive) = match build_meta.build_system {
BuildSystems::Make => (vec!["Makefile", "makefile", "GNUmakefile"], false),
BuildSystems::Meson => (vec!["meson.build", "meson_options.txt"], true),
BuildSystems::CMake => (vec!["CMakeLists.txt"], true),
BuildSystems::Cargo => (vec!["Cargo.toml"], false),
- _ => return Ok(None),
};
for pattern in &patterns {
-
let glob_pattern = if recursive {
- search_dir.join("**").join(pattern).to_string_lossy().into_owned()
+ search_dir
+ .join("**")
+ .join(pattern)
+ .to_string_lossy()
+ .into_owned()
} else {
search_dir.join(pattern).to_string_lossy().into_owned()
};
@@ -144,13 +149,14 @@ impl BuildOperations for Package {
.map_err(|e| std::io::Error::other(format!("Invalid glob pattern: {}", e)))?;
for entry in entries {
- let path = entry.map_err(|e| std::io::Error::other(format!("Glob error: {}", e)))?;
+ let path =
+ entry.map_err(|e| std::io::Error::other(format!("Glob error: {}", e)))?;
return Ok(Some(path));
}
}
Ok(None)
-}
+ }
/// Execute the build script for the package.
///
diff --git a/src/pkgtoolkit/types.rs b/src/pkgtoolkit/types.rs
index 83f47a3..0439175 100644
--- a/src/pkgtoolkit/types.rs
+++ b/src/pkgtoolkit/types.rs
@@ -1,6 +1,7 @@
use serde::{Deserialize, Serialize};
+use std::fmt;
-#[derive(Serialize, Debug, Deserialize, Clone)]
+#[derive(Serialize, Debug, Deserialize, Clone, PartialEq)]
pub enum Archs {
X86_64,
Aarch64,
@@ -90,3 +91,9 @@ impl Archs {
}
}
}
+
+impl fmt::Display for Archs {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "{}", self.as_str())
+ }
+}