diff --git a/Dockerfile b/Dockerfile index 30779464d..e160769bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,8 +5,9 @@ WORKDIR /jm/clientserver COPY . . +ARG WITH_MATPLOTLIB='0' RUN apt-get update && apt-get install -y --no-install-recommends gnupg ca-certificates=* curl=* \ - python3-pip=* python3=* \ + python3-packaging=* python3-pip=* python3=* \ && pip3 config set global.break-system-packages true \ && pip3 install 'wheel>=0.35.1' \ && ./install.sh --docker-install \ diff --git a/install.sh b/install.sh index 4bc047534..045ab26d6 100755 --- a/install.sh +++ b/install.sh @@ -420,6 +420,9 @@ joinmarket_install () if [[ ${with_qt} == "1" ]]; then reqs='gui' fi + if [[ ${with_mpl} == "1" ]]; then + reqs+=',matplotlib' + fi if [[ ${develop} == "1" ]]; then reqs+=',test' fi @@ -476,6 +479,9 @@ parse_flags () --with-local-tor) build_local_tor='1' ;; + --with-matplotlib) + with_mpl='1' + ;; --with-qt) with_qt='1' ;; @@ -483,6 +489,7 @@ parse_flags () with_qt='0' ;; --docker-install) + with_mpl="${with_mpl:-${WITH_MATPLOTLIB}}" with_sudo='0' with_jmvenv='0' ;; @@ -505,6 +512,7 @@ Options: --no-gpg-validation disable GPG key validation for dependencies --python, -p python version (only python3 versions are supported) --with-local-tor build Tor locally and autostart when needed +--with-matplotlib install matplotlib for graph rendering --with-qt build the Qt GUI --without-qt don't build the Qt GUI " @@ -567,6 +575,7 @@ main () no_gpg_validation='' use_os_deps_check='1' use_secp_check='1' + with_mpl='' with_qt='' with_jmvenv='1' with_sudo='1' diff --git a/pyproject.toml b/pyproject.toml index 398d2f951..9b2ce2252 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,6 +67,9 @@ gui = [ "joinmarket[services]", "joinmarket[jmqtui]", ] +matplotlib = [ + "matplotlib==3.10.6", +] [project.urls] repository = "https://github.com/JoinMarket-Org/joinmarket-clientserver.git"