From 6afd01ca7cdf67ccfba1073b37586d0942a0080d Mon Sep 17 00:00:00 2001
From: Steffen Vogel <post@steffenvogel.de>
Date: Tue, 26 Mar 2024 13:50:12 +0100
Subject: [PATCH] nix: Fix villas-python package and include Protobuf generated
 code

Signed-off-by: Steffen Vogel <post@steffenvogel.de>
---
 flake.nix                |  2 +-
 packaging/nix/python.nix | 13 +++++++++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/flake.nix b/flake.nix
index 09c5c303b..7eb7349c6 100644
--- a/flake.nix
+++ b/flake.nix
@@ -70,7 +70,7 @@
       default = villas;
 
       villas-python = pkgs.callPackage (nixDir + "/python.nix") {
-        src = ./python;
+        src = ./.;
       };
 
       villas-minimal = pkgs.callPackage (nixDir + "/villas.nix") {
diff --git a/packaging/nix/python.nix b/packaging/nix/python.nix
index d1a4dac58..3d51314c8 100644
--- a/packaging/nix/python.nix
+++ b/packaging/nix/python.nix
@@ -2,16 +2,21 @@
 # SPDX-License-Identifier: Apache-2.0
 {
   src,
+  pkgs,
   python3Packages,
   villas-minimal,
 }:
 python3Packages.buildPythonPackage {
   name = "villas-python";
-  src = src;
+  src = "${src}/python";
+  format = "pyproject";
   propagatedBuildInputs = with python3Packages; [
     linuxfd
     requests
-    villas-minimal
+    protobuf
+  ];
+  build-system = with python3Packages; [
+    setuptools
   ];
   nativeCheckInputs = with python3Packages; [
     black
@@ -20,4 +25,8 @@ python3Packages.buildPythonPackage {
     pytest
     types-requests
   ];
+
+  postPatch = ''
+    ${pkgs.protobuf}/bin/protoc --proto_path ${src}/lib/formats --python_out=villas/node/ ${src}/lib/formats/villas.proto
+  '';
 }