Files
driftwood/build.rs
lashman 423323d5a9 Add Phase 5 enhancements: security, i18n, analysis, backup, notifications
- Database v8 migration: tags, pinned, avg_startup_ms columns
- Security scanning with CVE matching and batch scan
- Bundled library extraction and vulnerability reports
- Desktop notification system for security alerts
- Backup/restore system for AppImage configurations
- i18n framework with gettext support
- Runtime analysis and Wayland compatibility detection
- AppStream metadata and Flatpak-style build support
- File watcher module for live directory monitoring
- Preferences panel with GSettings integration
- CLI interface for headless operation
- Detail view: tabbed layout with ViewSwitcher in title bar,
  health score, sandbox controls, changelog links
- Library view: sort dropdown, context menu enhancements
- Dashboard: system status, disk usage, launch history
- Security report page with scan and export
- Packaging: meson build, PKGBUILD, metainfo
2026-02-27 17:16:41 +02:00

45 lines
1.2 KiB
Rust

use std::path::PathBuf;
use std::process::Command;
fn main() {
// Compile GResources
glib_build_tools::compile_resources(
&["data"],
"data/resources.gresource.xml",
"driftwood.gresource",
);
// Compile GSettings schema for development builds
let out_dir = PathBuf::from(std::env::var("OUT_DIR").unwrap());
let schema_dir = out_dir.join("gschemas");
std::fs::create_dir_all(&schema_dir).expect("Failed to create schema dir");
std::fs::copy(
"data/app.driftwood.Driftwood.gschema.xml",
schema_dir.join("app.driftwood.Driftwood.gschema.xml"),
)
.expect("Failed to copy schema");
let status = Command::new("glib-compile-schemas")
.arg(&schema_dir)
.status()
.expect("Failed to run glib-compile-schemas");
if !status.success() {
panic!("glib-compile-schemas failed");
}
println!(
"cargo::rustc-env=GSETTINGS_SCHEMA_DIR={}",
schema_dir.display()
);
// Set LOCALEDIR for i18n support (development builds use a local path)
let locale_dir = out_dir.join("locale");
std::fs::create_dir_all(&locale_dir).ok();
println!(
"cargo::rustc-env=LOCALEDIR={}",
locale_dir.display()
);
}