From 7bab6d38a720675b44ca280ff6ef57b8eef5d3e2 Mon Sep 17 00:00:00 2001 From: Millian Poquet <millian.poquet@irit.fr> Date: Sun, 13 Nov 2022 20:57:29 +0100 Subject: [PATCH] package python protocol --- default.nix | 11 +++-------- protocol/setup.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 protocol/setup.py diff --git a/default.nix b/default.nix index 48de43e..05eab10 100644 --- a/default.nix +++ b/default.nix @@ -24,21 +24,16 @@ let self = rec { ninja ]; }; - protocol-python = pkgs.stdenv.mkDerivation { - pname = "protocol-python"; - version = "local"; + protocol-python = pythonPackages.buildPythonPackage { + name = "protocol-python-0.1.0"; src = pkgs.lib.sourceByRegex ./protocol [ "hello\.proto" + "setup\.py" ]; propagatedBuildInputs = [ pkgs.protobuf pythonPackages.protobuf ]; - phases = [ "unpackPhase" "buildPhase" ]; - buildPhase = '' - mkdir -p $out/lib/python${pkgs.lib.versions.majorMinor python3.version}/site-packages/protocol - protoc --python_out $out/lib/python${pkgs.lib.versions.majorMinor python3.version}/site-packages/protocol hello.proto - ''; }; simgrid-simulator = pkgs.stdenv.mkDerivation { pname = "simgrid-simulator"; diff --git a/protocol/setup.py b/protocol/setup.py new file mode 100644 index 0000000..3c9cfdf --- /dev/null +++ b/protocol/setup.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +from distutils.core import setup +from distutils.spawn import find_executable +from os import makedirs +import subprocess +import sys + +protoc = find_executable('protoc') + +makedirs('protocol', exist_ok=True) +protoc_command = [protoc, '--python_out=protocol', 'hello.proto'] +if subprocess.call(protoc_command) != 0: + sys.exit(1) + +setup(name='protocol', + version='0.1.0', + packages=['protocol'], + + python_requires='>=3.6', + install_requires=[ + 'protobuf>=3.19.4', + ], + + description="Example python protocol library for DZ2 toy CI prototype.", + author='Millian Poquet', + author_email='millian.poquet@irit.fr', + url='https://gitlab.irit.fr/sepia/datazero/ci-prototype', + license='MIT', + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + ], +) -- GitLab