diff --git a/default.nix b/default.nix index fea7f8a..b6dda79 100644 --- a/default.nix +++ b/default.nix @@ -1,15 +1,12 @@ { stdenv, lib, - # qtx11extras, - # qttools, # kglobalaccel, # kinit, # kwin, # kio, # kguiaddons, # kcoreaddons, - # systemsettings, gcc, gnumake, clang, @@ -32,8 +29,11 @@ }: stdenv.mkDerivation rec { - pname = "Libre Presenter"; + name = "Libre Presenter"; version = "0.0.0"; + # inherit src; + + src = ./.; nativeBuildInputs = [ gcc @@ -54,7 +54,11 @@ stdenv.mkDerivation rec { qtquickcontrols2 qtx11extras qtmultimedia + # qtwayland kirigami2 + # breeze-icons + # breeze-qt5 + # qqc2-desktop-style ki18n kcoreaddons # lightly-qt @@ -83,6 +87,20 @@ stdenv.mkDerivation rec { # ''; + configurePhase = '' + cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -B build/ . + ''; + + buildPhase = '' + make --dir build/ + rm -rf ~/.cache/librepresenter/Libre\ Presenter/qmlcache/ + ''; + + # installPhase = '' + # mkdir -p $out/bin + # mv presenter $out/bin + # ''; + meta = with lib; { name = "Libre Presenter"; description = "A church presentation software made with QT/QML"; diff --git a/flake.nix b/flake.nix index 884309d..066b4bc 100644 --- a/flake.nix +++ b/flake.nix @@ -7,10 +7,13 @@ outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: - let pkgs = nixpkgs.legacyPackages.${system}; in + let + pkgs = nixpkgs.legacyPackages.${system}; + src = ./.; + in { devShell = import ./shell.nix { inherit pkgs; }; - defaultPackage = import ./default.nix { inherit pkgs; }; + defaultPackage.x86_64-linux = import ./default.nix { inherit pkgs; }; } ); } diff --git a/shell.nix b/shell.nix index 55c5dd6..ed9cd6b 100644 --- a/shell.nix +++ b/shell.nix @@ -6,8 +6,8 @@ mkShell rec { nativeBuildInputs = [ gcc gnumake - clang - clang-tools + clang_14 + clang-tools_14 cmake extra-cmake-modules pkg-config diff --git a/src/main.cpp b/src/main.cpp index 537c633..429295c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -106,7 +106,7 @@ int main(int argc, char *argv[]) qmlRegisterType("org.presenter", 1, 0, "SongSqlModel"); qmlRegisterType("org.presenter", 1, 0, "VideoSqlModel"); qmlRegisterType("org.presenter", 1, 0, "ImageSqlModel"); - // qmlRegisterType("org.presenter", 1, 0, "PresSqlModel"); + qmlRegisterType("org.presenter", 1, 0, "PresSqlModel"); qmlRegisterType("org.presenter", 1, 0, "ServiceItemModel"); qmlRegisterSingletonInstance("org.presenter", 1, 0, "SlideObject", slide.get());