101 lines
2.1 KiB
Nix
101 lines
2.1 KiB
Nix
|
{
|
||
|
pkgs
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
qtCustom = (with pkgs.qt515_8;
|
||
|
# TODO:check the required modules
|
||
|
env "qt-custom-${qtbase.version}" ([
|
||
|
qtbase
|
||
|
qtdeclarative
|
||
|
qtquickcontrols
|
||
|
qtquickcontrols2
|
||
|
qtsvg
|
||
|
qtmultimedia
|
||
|
qtwebview
|
||
|
qttools
|
||
|
qtwebchannel
|
||
|
qtgraphicaleffects
|
||
|
qtwebengine
|
||
|
qtlocation
|
||
|
]));
|
||
|
|
||
|
in pkgs.mkShell {
|
||
|
name = "status-desktop-build-shell";
|
||
|
|
||
|
# TODO:check the required packages
|
||
|
buildInputs = with pkgs; [
|
||
|
bash curl wget git file unzip jq lsb-release which cacert gnupg
|
||
|
linuxdeployqt appimagekit
|
||
|
libglvnd # TODO: Qt 5.15.2 fix, review after upgrade
|
||
|
cmake_3_19 gnumake pkg-config gnugrep qtCustom
|
||
|
go_1_21 go-bindata mockgen protobuf3_20 protoc-gen-go
|
||
|
pcre nss pcsclite extra-cmake-modules
|
||
|
xorg.libxcb xorg.libX11 libxkbcommon
|
||
|
] ++ (with gst_all_1; [
|
||
|
gst-libav gstreamer
|
||
|
gst-plugins-bad gst-plugins-base
|
||
|
gst-plugins-good gst-plugins-ugly
|
||
|
]);
|
||
|
|
||
|
# Avoid terminal issues.
|
||
|
TERM = "xterm";
|
||
|
LANG = "en_US.UTF-8";
|
||
|
LANGUAGE = "en_US.UTF-8";
|
||
|
|
||
|
QTDIR = qtCustom;
|
||
|
# TODO: still needed?
|
||
|
# https://github.com/NixOS/nixpkgs/pull/109649
|
||
|
QT_INSTALL_PLUGINS = "${qtCustom}/${pkgs.qt515_8.qtbase.qtPluginPrefix}";
|
||
|
|
||
|
shellHook = ''
|
||
|
export MAKEFLAGS="-j$NIX_BUILD_CORES"
|
||
|
export PATH="${pkgs.lddWrapped}/bin:$PATH"
|
||
|
'';
|
||
|
|
||
|
LIBKRB5_PATH = pkgs.libkrb5;
|
||
|
QTWEBENGINE_PATH = pkgs.qt515_8.qtwebengine.out;
|
||
|
GSTREAMER_PATH = pkgs.gst_all_1.gstreamer;
|
||
|
NSS_PATH = pkgs.nss;
|
||
|
|
||
|
# Used for linuxdeployqt
|
||
|
# TODO:check which deps are needed
|
||
|
LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath (
|
||
|
[
|
||
|
alsaLib
|
||
|
expat
|
||
|
fontconfig
|
||
|
freetype
|
||
|
gcc-unwrapped
|
||
|
glib
|
||
|
gmp
|
||
|
harfbuzz
|
||
|
libglvnd
|
||
|
libkrb5
|
||
|
libpng
|
||
|
libpulseaudio
|
||
|
libxkbcommon
|
||
|
openexr
|
||
|
openssl
|
||
|
p11-kit
|
||
|
zlib
|
||
|
] ++ (with xorg; [
|
||
|
libICE
|
||
|
libSM
|
||
|
libX11
|
||
|
libXrender
|
||
|
libxcb
|
||
|
xcbutil
|
||
|
xcbutilimage
|
||
|
xcbutilkeysyms
|
||
|
xcbutilrenderutil
|
||
|
xcbutilwm
|
||
|
]) ++ (with gst_all_1; [
|
||
|
gst-plugins-base
|
||
|
gst-plugins-good
|
||
|
gst-plugins-bad
|
||
|
gst-plugins-ugly
|
||
|
gstreamer
|
||
|
]));
|
||
|
}
|