
QT6 Apparently means a lot of changes, these are the changes I've found to make at least CPP build. The problem is we just got rid of a lot of CPP and I don't know if the application will work. On the other hand, the QML isn't finished yet either, but this is the start of updating the application for QT6 and using MpvQt which is being built and maintained by KDE. This will be better as they'll keep the library updated for future QT updates so long as I still track with Kirigami.
85 lines
1.9 KiB
Nix
85 lines
1.9 KiB
Nix
{ pkgs ? import <nixpkgs> { } }:
|
|
with pkgs;
|
|
mkShell rec {
|
|
name = "lumina";
|
|
|
|
nativeBuildInputs = [
|
|
# ffmpeg
|
|
gcc
|
|
];
|
|
|
|
buildInputs = [
|
|
stdenv
|
|
gnumake
|
|
gdb
|
|
qtcreator
|
|
cmake
|
|
kdePackages.extra-cmake-modules
|
|
pkg-config
|
|
qt6.wrapQtAppsHook
|
|
makeWrapper
|
|
|
|
openssl.dev
|
|
openssl.out
|
|
|
|
clang-tools
|
|
clang
|
|
libclang
|
|
# libwebp
|
|
# clang-format
|
|
qt6.qtbase
|
|
qt6.qttools
|
|
# qt6.qtquickcontrols2
|
|
# qt6.qtx11extras
|
|
qt6.qtmultimedia
|
|
qt6.qtwayland
|
|
qt6.qtwebengine
|
|
qt6.qtimageformats
|
|
kdePackages.kirigami
|
|
# libsForQt5.breeze-icons
|
|
# libsForQt5.breeze-qt5
|
|
kdePackages.qqc2-desktop-style
|
|
# libsForQt5.kirigami-addons
|
|
# libsForQt5.ki18n
|
|
# libsForQt5.kcoreaddons
|
|
# libsForQt5.kguiaddons
|
|
# libsForQt5.kconfig
|
|
|
|
# podofo
|
|
mpv
|
|
kdePackages.mpvqt
|
|
ffmpeg-full
|
|
# yt-dlp
|
|
|
|
# Rust tools
|
|
just
|
|
clippy
|
|
rustc
|
|
cargo
|
|
rustfmt
|
|
rust-analyzer
|
|
corrosion
|
|
];
|
|
|
|
# cargoDeps = rustPlatform.importCargoLock {
|
|
# lockFile = ./Cargo.lock;
|
|
# };
|
|
|
|
RUST_BACKTRACE = "1";
|
|
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
|
CMAKE_C_COMPILER = "${gcc}/bin/gcc";
|
|
CMAKE_CXX_COMPILER = "${gcc}/bin/g++";
|
|
CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG = true;
|
|
# QT_SCALE_FACTOR = 1;
|
|
# QT_PLUGIN_PATH="${QT_PLUGIN_PATH/':''/nix/store/85jx8w2nh1ln4kb0hf3dc6ky0dh6ri24-lightly-qt-0.4.1/lib/qt-5.15.9/plugins'':'/':'}"
|
|
# QML2_IMPORT_PATH=${QML2_IMPORT_PATH/':''/run/current-system/sw/lib/qt-5.15.10/qml'':'/':'}
|
|
|
|
# This creates the proper qt env so that plugins are found right.
|
|
shellHook = ''
|
|
setQtEnvironment=$(mktemp --suffix .setQtEnvironment.sh)
|
|
echo "shellHook: setQtEnvironment = $setQtEnvironment"
|
|
makeQtWrapper "/bin/sh" "$setQtEnvironment" "''${qtWrapperArgs[@]}"
|
|
sed "/^exec/d" -i "$setQtEnvironment"
|
|
source "$setQtEnvironment"
|
|
'';
|
|
}
|