diff --git a/.envrc b/.envrc index 4f4e2d2..d75f536 100644 --- a/.envrc +++ b/.envrc @@ -4,5 +4,9 @@ export CMAKE_EXPORT_COMPILE_COMMANDS=1 export CMAKE_BUILD_TYPE=Debug export CXX=g++ export CC=gcc +export CXXQT_INCLUDE_PATH=$GUIX_ENVIRONMENT/include +export INCLUDEPATH="/gnu/store/pkjvij1f6rvx42xv2kygicr7fsch41dl-profile/include" # use flake . --impure -# eval $(guix shell -D --search-paths) +eval $(guix shell -D --search-paths) + +# use guix --development -f guix.scm diff --git a/build.rs b/build.rs index 908760c..364aca6 100644 --- a/build.rs +++ b/build.rs @@ -1,7 +1,12 @@ use cxx_qt_build::CxxQtBuilder; use std::env; +use std::path::{Path, PathBuf}; fn main() { + // let guix_profile_dir = env::var("GUIX_ENVIRONMENT").is_ok(); + // println!("{}", guix_profile_dir); + println!("cargo:CXXBRIDGE_DIR6=include/qt5"); + // let qt_include = PathBuf::from(guix_profile_dir).push("include").push("qt5"); CxxQtBuilder::new() .file("src/rust/service_thing.rs") .file("src/rust/settings.rs") @@ -14,5 +19,12 @@ fn main() { .file("src/rust/presentation_model.rs") .file("src/rust/song_model.rs") .file("src/rust/ytdl.rs") + .cc_builder(|cc| { + cc.include("/gnu/store/pkjvij1f6rvx42xv2kygicr7fsch41dl-profile/include/qt5/QtQml/QQmlApplicationEngine"); + cc.include("/gnu/store/pkjvij1f6rvx42xv2kygicr7fsch41dl-profile/include/qt5/QtQml/qqmlapplicationengine.h"); +cc.include("/gnu/store/pkjvij1f6rvx42xv2kygicr7fsch41dl-profile/include/qt5/QtQml/qqmlengine.h"); +cc.include("/gnu/store/pkjvij1f6rvx42xv2kygicr7fsch41dl-profile/include/qt5/QtQml/QQmlEngine"); +cc.include("include/qt5"); + }) .build(); } diff --git a/guix.scm b/guix.scm index 0ac4cf4..df02d09 100644 --- a/guix.scm +++ b/guix.scm @@ -29,6 +29,7 @@ (guix gexp) (guix packages) (guix git-download) + (guix build-system qt) (guix build-system cmake) ((guix licenses) #:prefix license:)) @@ -106,12 +107,12 @@ (name "lumina") (version "0.0.1") (source source) - (build-system cmake-build-system) + (build-system qt-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'build (lambda* (#:key outputs #:allow-other-keys) - (invoke "sh" "./build.sh" "-d")))))) + (invoke "/bin/sh" "./build.sh" "-d")))))) (inputs (list mpv ffmpeg)) @@ -120,6 +121,7 @@ mold clazy clang-toolchain + mold gdb pkg-config qtbase-5 @@ -139,6 +141,7 @@ ;; corrosion is needed for build and is yet to ;; be packaged. corrosion + `(,rust "out") `(,rust "rustfmt") `(,rust "cargo")