From 9c776e68250310e8b7ae8e1f9b90408d9e6b44ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9o=20-=20Le=20Filament?= <theo@le-filament.com>
Date: Tue, 17 Dec 2024 09:38:54 +0100
Subject: [PATCH] fix: upgrade gevent version to build wheel

---
 15.0.Dockerfile | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/15.0.Dockerfile b/15.0.Dockerfile
index 1598b4b..e7b972c 100644
--- a/15.0.Dockerfile
+++ b/15.0.Dockerfile
@@ -1,10 +1,27 @@
 FROM python:3.10-slim-bullseye AS builder
 RUN set -x; \
   apt-get update \
-  && apt-get install --yes --no-install-recommends build-essential libldap2-dev libpq-dev libsasl2-dev \
-  && pip install 'wheel' \
-  && pip wheel --wheel-dir=/svc/wheels --requirement 'https://raw.githubusercontent.com/oca/OCB/15.0/requirements.txt' \
-  && pip wheel --wheel-dir=/svc/wheels 'phonenumbers' 'simplejson' 'openupgradelib' 'PyYAML'
+  && apt-get install --yes --no-install-recommends \
+    build-essential \
+    curl \
+    libldap2-dev \
+    libpq-dev \
+    libsasl2-dev
+  
+RUN pip install 'wheel' \
+  && requirements_file='/opt/requirements_custom.txt' \
+  && curl --location --output "$requirements_file" 'https://raw.githubusercontent.com/oca/OCB/15.0/requirements.txt' \
+  && sed -i \
+    -e 's/gevent==[0-9\.]*/gevent==22.10.2/' \
+    -e 's/greenlet==[0-9\.]*/greenlet==2.0.2/' \
+    "$requirements_file" \
+  && cat <<EOF >> "$requirements_file" \
+  && pip wheel --wheel-dir=/svc/wheels --requirement "$requirements_file"
+phonenumbers
+simplejson
+openupgradelib
+PyYAML
+EOF
 
 
 FROM python:3.10-slim-bullseye AS final
@@ -31,8 +48,8 @@ RUN set -x; \
   && rm -rf /var/lib/apt/lists/* wkhtmltox.deb
 
 COPY --from=builder /svc /svc
-RUN pip3 install --no-index --find-links=/svc/wheels --requirement 'https://raw.githubusercontent.com/oca/OCB/15.0/requirements.txt' \
-  && pip3 install --upgrade --no-index --find-links=/svc/wheels 'phonenumbers' 'simplejson' 'openupgradelib' 'PyYAML'
+COPY --from=builder /opt/requirements_custom.txt /opt/requirements_custom.txt
+RUN pip3 install --no-index --find-links=/svc/wheels --requirement /opt/requirements_custom.txt
 
 ARG SAVE_COMMITS_DIR='/opt/odoo_commits/'
 ENV SAVE_COMMITS_DIR=$SAVE_COMMITS_DIR
-- 
GitLab