39 lines
824 B
Nix
39 lines
824 B
Nix
|
with (import <nixpkgs> {});
|
||
|
with python311Packages;
|
||
|
let
|
||
|
glibStorePath = lib.getLib glib;
|
||
|
in
|
||
|
stdenv.mkDerivation {
|
||
|
name = "piker-poetry-shell-with-qt6";
|
||
|
buildInputs = [
|
||
|
# System libraries
|
||
|
libgcc.lib
|
||
|
glib
|
||
|
|
||
|
# Python requirements.
|
||
|
python311Full
|
||
|
poetry-core
|
||
|
];
|
||
|
src = null;
|
||
|
shellHook = ''
|
||
|
set -e
|
||
|
|
||
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${libgcc.lib}/lib:${glibStorePath}/lib
|
||
|
|
||
|
# Maybe create venv & install deps
|
||
|
poetry install
|
||
|
|
||
|
# Use pyqt6 from System, patch activate script
|
||
|
ACTIVATE_SCRIPT_PATH="$(poetry env info --path)/bin/activate"
|
||
|
|
||
|
if grep -q "$PATCH" "$ACTIVATE_SCRIPT_PATH"; then
|
||
|
echo "venv is already patched."
|
||
|
else
|
||
|
echo "patching $ACTIVATE_SCRIPT_PATH"
|
||
|
echo "$PATCH" >> "$ACTIVATE_SCRIPT_PATH"
|
||
|
fi
|
||
|
|
||
|
poetry shell
|
||
|
'';
|
||
|
}
|