Nix fix for using `poetry run` instead `poetry shell`:
Since the last poetry update (2.0.0) the `poetry shell` command has been move out to a plugin, so now we use `poetry run` this change broke the environment for the poetry to work. Here are the missing deps that has been added for this to work aagain.
parent
5cefe8bcdb
commit
2ef20761a0
144
default.nix
144
default.nix
|
@ -1,46 +1,127 @@
|
||||||
with (import <nixpkgs> {});
|
with (import <nixpkgs> {});
|
||||||
with python312Packages;
|
|
||||||
let
|
let
|
||||||
glibStorePath = lib.getLib glib;
|
glibStorePath = lib.getLib glib;
|
||||||
qtpyStorePath = lib.getLib qtpy;
|
zstdStorePath = lib.getLib zstd;
|
||||||
pyqt6StorePath = lib.getLib pyqt6;
|
dbusStorePath = lib.getLib dbus;
|
||||||
pyqt6SipStorePath = lib.getLib pyqt6-sip;
|
libGLStorePath = lib.getLib libGL;
|
||||||
|
freetypeStorePath = lib.getLib freetype;
|
||||||
qt6baseStorePath = lib.getLib qt6.qtbase;
|
qt6baseStorePath = lib.getLib qt6.qtbase;
|
||||||
rapidfuzzStorePath = lib.getLib rapidfuzz;
|
fontconfigStorePath = lib.getLib fontconfig;
|
||||||
qdarkstyleStorePath = lib.getLib qdarkstyle;
|
libxkbcommonStorePath = lib.getLib libxkbcommon;
|
||||||
|
xcbutilcursorStorePath = lib.getLib xcb-util-cursor;
|
||||||
|
|
||||||
|
qtpyStorePath = lib.getLib python312Packages.qtpy;
|
||||||
|
pyqt6StorePath = lib.getLib python312Packages.pyqt6;
|
||||||
|
pyqt6SipStorePath = lib.getLib python312Packages.pyqt6-sip;
|
||||||
|
rapidfuzzStorePath = lib.getLib python312Packages.rapidfuzz;
|
||||||
|
qdarkstyleStorePath = lib.getLib python312Packages.qdarkstyle;
|
||||||
|
|
||||||
|
xorgLibX11StorePath = lib.getLib xorg.libX11;
|
||||||
|
xorgLibxcbStorePath = lib.getLib xorg.libxcb;
|
||||||
|
xorgxcbutilwmStorePath = lib.getLib xorg.xcbutilwm;
|
||||||
|
xorgxcbutilimageStorePath = lib.getLib xorg.xcbutilimage;
|
||||||
|
xorgxcbutilerrorsStorePath = lib.getLib xorg.xcbutilerrors;
|
||||||
|
xorgxcbutilkeysymsStorePath = lib.getLib xorg.xcbutilkeysyms;
|
||||||
|
xorgxcbutilrenderutilStorePath = lib.getLib xorg.xcbutilrenderutil;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "piker-qt6-poetry-shell";
|
name = "piker-qt6-poetry-shell";
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
# System requirements.
|
# System requirements.
|
||||||
glib
|
glib
|
||||||
|
dbus
|
||||||
|
zstd
|
||||||
|
libGL
|
||||||
|
freetype
|
||||||
qt6.qtbase
|
qt6.qtbase
|
||||||
libgcc.lib
|
libgcc.lib
|
||||||
|
fontconfig
|
||||||
|
libxkbcommon
|
||||||
|
|
||||||
|
# Xorg requirements
|
||||||
|
xcb-util-cursor
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.libX11
|
||||||
|
xorg.xcbutilwm
|
||||||
|
xorg.xcbutilimage
|
||||||
|
xorg.xcbutilerrors
|
||||||
|
xorg.xcbutilkeysyms
|
||||||
|
xorg.xcbutilrenderutil
|
||||||
|
|
||||||
# Python requirements.
|
# Python requirements.
|
||||||
python312Full
|
python312Full
|
||||||
poetry-core
|
python312Packages.poetry-core
|
||||||
qdarkstyle
|
python312Packages.qdarkstyle
|
||||||
rapidfuzz
|
python312Packages.rapidfuzz
|
||||||
pyqt6
|
python312Packages.pyqt6
|
||||||
qtpy
|
python312Packages.qtpy
|
||||||
];
|
];
|
||||||
src = null;
|
src = null;
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${libgcc.lib}/lib:${glibStorePath}/lib
|
|
||||||
|
|
||||||
# Set the Qt plugin path
|
# Set the Qt plugin path
|
||||||
# export QT_DEBUG_PLUGINS=1
|
# export QT_DEBUG_PLUGINS=1
|
||||||
|
|
||||||
|
QTBASE_PATH="${qt6baseStorePath}/lib"
|
||||||
|
QT_PLUGIN_PATH="$QTBASE_PATH/qt-6/plugins"
|
||||||
|
QT_QPA_PLATFORM_PLUGIN_PATH="$QT_PLUGIN_PATH/platforms"
|
||||||
|
|
||||||
QTBASE_PATH="${qt6baseStorePath}"
|
LIB_GCC_PATH="${libgcc.lib}/lib"
|
||||||
echo "qtbase path: $QTBASE_PATH"
|
GLIB_PATH="${glibStorePath}/lib"
|
||||||
echo ""
|
ZSTD_PATH="${zstdStorePath}/lib"
|
||||||
export QT_PLUGIN_PATH="$QTBASE_PATH/lib/qt-6/plugins"
|
DBUS_PATH="${dbusStorePath}/lib"
|
||||||
export QT_QPA_PLATFORM_PLUGIN_PATH="$QT_PLUGIN_PATH/platforms"
|
LIBGL_PATH="${libGLStorePath}/lib"
|
||||||
echo "qt plugin path: $QT_PLUGIN_PATH"
|
FREETYPE_PATH="${freetypeStorePath}/lib"
|
||||||
echo ""
|
FONTCONFIG_PATH="${fontconfigStorePath}/lib"
|
||||||
|
LIB_XKB_COMMON_PATH="${libxkbcommonStorePath}/lib"
|
||||||
|
|
||||||
|
XCB_UTIL_CURSOR_PATH="${xcbutilcursorStorePath}/lib"
|
||||||
|
XORG_LIB_X11_PATH="${xorgLibX11StorePath}/lib"
|
||||||
|
XORG_LIB_XCB_PATH="${xorgLibxcbStorePath}/lib"
|
||||||
|
XORG_XCB_UTIL_IMAGE_PATH="${xorgxcbutilimageStorePath}/lib"
|
||||||
|
XORG_XCB_UTIL_WM_PATH="${xorgxcbutilwmStorePath}/lib"
|
||||||
|
XORG_XCB_UTIL_RENDER_UTIL_PATH="${xorgxcbutilrenderutilStorePath}/lib"
|
||||||
|
XORG_XCB_UTIL_KEYSYMS_PATH="${xorgxcbutilkeysymsStorePath}/lib"
|
||||||
|
XORG_XCB_UTIL_ERRORS_PATH="${xorgxcbutilerrorsStorePath}/lib"
|
||||||
|
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$QTBASE_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$QT_PLUGIN_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$QT_QPA_PLATFORM_PLUGIN_PATH"
|
||||||
|
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_GCC_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DBUS_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GLIB_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ZSTD_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIBGL_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$FONTCONFIG_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$FREETYPE_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_XKB_COMMON_PATH"
|
||||||
|
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XCB_UTIL_CURSOR_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_LIB_X11_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_LIB_XCB_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_IMAGE_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_WM_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_RENDER_UTIL_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_KEYSYMS_PATH"
|
||||||
|
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$XORG_XCB_UTIL_ERRORS_PATH"
|
||||||
|
|
||||||
|
export LD_LIBRARY_PATH
|
||||||
|
|
||||||
|
RPDFUZZ_PATH="${rapidfuzzStorePath}/lib/python3.12/site-packages"
|
||||||
|
QDRKSTYLE_PATH="${qdarkstyleStorePath}/lib/python3.12/site-packages"
|
||||||
|
QTPY_PATH="${qtpyStorePath}/lib/python3.12/site-packages"
|
||||||
|
PYQT6_PATH="${pyqt6StorePath}/lib/python3.12/site-packages"
|
||||||
|
PYQT6_SIP_PATH="${pyqt6SipStorePath}/lib/python3.12/site-packages"
|
||||||
|
|
||||||
|
PATCH="$PATCH:$RPDFUZZ_PATH"
|
||||||
|
PATCH="$PATCH:$QDRKSTYLE_PATH"
|
||||||
|
PATCH="$PATCH:$QTPY_PATH"
|
||||||
|
PATCH="$PATCH:$PYQT6_PATH"
|
||||||
|
PATCH="$PATCH:$PYQT6_SIP_PATH"
|
||||||
|
|
||||||
|
export PATCH
|
||||||
|
|
||||||
# Maybe create venv & install deps
|
# Maybe create venv & install deps
|
||||||
poetry install --with uis
|
poetry install --with uis
|
||||||
|
@ -48,28 +129,6 @@ stdenv.mkDerivation {
|
||||||
# Use pyqt6 from System, patch activate script
|
# Use pyqt6 from System, patch activate script
|
||||||
ACTIVATE_SCRIPT_PATH="$(poetry env info --path)/bin/activate"
|
ACTIVATE_SCRIPT_PATH="$(poetry env info --path)/bin/activate"
|
||||||
|
|
||||||
export RPDFUZZ_PATH="${rapidfuzzStorePath}/lib/python3.12/site-packages"
|
|
||||||
export QDRKSTYLE_PATH="${qdarkstyleStorePath}/lib/python3.12/site-packages"
|
|
||||||
export QTPY_PATH="${qtpyStorePath}/lib/python3.12/site-packages"
|
|
||||||
export PYQT6_PATH="${pyqt6StorePath}/lib/python3.12/site-packages"
|
|
||||||
export PYQT6_SIP_PATH="${pyqt6SipStorePath}/lib/python3.12/site-packages"
|
|
||||||
echo "rapidfuzz at: $RPDFUZZ_PATH"
|
|
||||||
echo "qdarkstyle at: $QDRKSTYLE_PATH"
|
|
||||||
echo "qtpy at: $QTPY_PATH"
|
|
||||||
echo "pyqt6 at: $PYQT6_PATH"
|
|
||||||
echo "pyqt6-sip at: $PYQT6_SIP_PATH"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
PATCH="export PYTHONPATH=\""
|
|
||||||
|
|
||||||
PATCH="$PATCH\$RPDFUZZ_PATH"
|
|
||||||
PATCH="$PATCH:\$QDRKSTYLE_PATH"
|
|
||||||
PATCH="$PATCH:\$QTPY_PATH"
|
|
||||||
PATCH="$PATCH:\$PYQT6_PATH"
|
|
||||||
PATCH="$PATCH:\$PYQT6_SIP_PATH"
|
|
||||||
|
|
||||||
PATCH="$PATCH\""
|
|
||||||
|
|
||||||
if grep -q "$PATCH" "$ACTIVATE_SCRIPT_PATH"; then
|
if grep -q "$PATCH" "$ACTIVATE_SCRIPT_PATH"; then
|
||||||
echo "venv is already patched."
|
echo "venv is already patched."
|
||||||
else
|
else
|
||||||
|
@ -77,6 +136,5 @@ stdenv.mkDerivation {
|
||||||
sed -i "\$i$PATCH" $ACTIVATE_SCRIPT_PATH
|
sed -i "\$i$PATCH" $ACTIVATE_SCRIPT_PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
poetry shell
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -130,6 +130,7 @@ ledger = 'piker.accounting.cli:ledger'
|
||||||
|
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
|
name="piker"
|
||||||
keywords=[
|
keywords=[
|
||||||
"async",
|
"async",
|
||||||
"trading",
|
"trading",
|
||||||
|
|
Loading…
Reference in New Issue