From a0b309ade0abec8c4e5977080ac71034a51ae1ad Mon Sep 17 00:00:00 2001 From: Sven Sager Date: Sat, 26 Aug 2023 10:34:51 +0200 Subject: [PATCH] build: Add environment variable to set alternative venv path Signed-off-by: Sven Sager --- .idea/misc.xml | 2 +- .idea/revpicommander.iml | 2 +- Makefile | 29 ++++++++++++++++++++--------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index e643d3d..f07de1c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -6,7 +6,7 @@ - + diff --git a/.idea/revpicommander.iml b/.idea/revpicommander.iml index 0d0b203..bc5f92d 100644 --- a/.idea/revpicommander.iml +++ b/.idea/revpicommander.iml @@ -6,7 +6,7 @@ - + diff --git a/Makefile b/Makefile index 9da92ed..756a6fa 100644 --- a/Makefile +++ b/Makefile @@ -8,15 +8,22 @@ APP_NAME = RevPi\ Commander APP_IDENT = org.revpimodio.revpicommander APPLE_SIG = "Developer ID Application: Sven Sager (U3N5843D9K)" -# If virtualenv exists, use it. If not, use PATH to find, except python3 +# Set path to create the virtual environment with package name +ifdef PYTHON3_VENV +VENV_PATH = $(PYTHON3_VENV)/$(PACKAGE) +else +VENV_PATH = venv +endif + +# If virtualenv exists, use it. If not, use PATH to find commands SYSTEM_PYTHON = python3 -PYTHON = $(or $(wildcard venv/bin/python), $(SYSTEM_PYTHON)) +PYTHON = $(or $(wildcard $(VENV_PATH)/bin/python), $(SYSTEM_PYTHON)) SYSTEM_PYUIC5 = $(shell which pyuic5) -PYUIC5 = $(or $(wildcard venv/bin/pyuic5), $(SYSTEM_PYUIC5)) +PYUIC5 = $(or $(wildcard $(VENV_PATH)/bin/pyuic5), $(SYSTEM_PYUIC5)) SYSTEM_PYRCC5 = $(shell which pyrcc5) -PYRCC5 = $(or $(wildcard venv/bin/pyrcc5), $(SYSTEM_PYRCC5)) +PYRCC5 = $(or $(wildcard $(VENV_PATH)/bin/pyrcc5), $(SYSTEM_PYRCC5)) SYSTEM_PYLUP5 = $(shell which pylupdate5) -PYLUP5 = $(or $(wildcard venv/bin/pylupdate5), $(SYSTEM_PYLUP5)) +PYLUP5 = $(or $(wildcard $(VENV_PATH)/bin/pylupdate5), $(SYSTEM_PYLUP5)) APP_VERSION = $(shell $(PYTHON) src/$(PACKAGE) --version) @@ -25,14 +32,18 @@ all: build_ui build_rc build .PHONY: all ## Environment +venv-info: + echo Using path: "$(VENV_PATH)" + exit 0 + venv: - $(SYSTEM_PYTHON) -m venv --system-site-packages venv - source venv/bin/activate && \ + $(SYSTEM_PYTHON) -m venv --system-site-packages "$(VENV_PATH)" + source $(VENV_PATH)/bin/activate && \ python3 -m pip install --upgrade pip && \ python3 -m pip install -r requirements.txt exit 0 -.PHONY: venv +.PHONY: venv-info venv ## Compile Qt UI files to python code build_ui: @@ -115,6 +126,6 @@ clean: rm -rf build dist src/*.egg-info *.spec clean-all: clean - rm -R venv + rm -R $(VENV_PATH) .PHONY: clean clean-all