Skip to content

Commit

Permalink
Update base image to use Python 3.13 (#338)
Browse files Browse the repository at this point in the history
  • Loading branch information
cdce8p authored Nov 13, 2024
1 parent 8ddd15c commit 4db773a
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 12 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@ jobs:
echo "changed=true" >> $GITHUB_OUTPUT
fi
- name: Build wheels cp312
- name: Build wheels cp313
uses: home-assistant/[email protected]
if: github.event_name == 'release' || steps.requirements.outputs.changed == 'true'
with:
tag: musllinux_1_2
abi: cp312
abi: cp313
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
apk: "mariadb-dev;postgresql-dev;libffi-dev"
Expand Down
13 changes: 8 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ RUN \

# libcec
COPY patches/libcec-fix-null-return.patch /usr/src/
COPY patches/libcec-python313.patch /usr/src/
RUN apk add --no-cache \
eudev-libs \
p8-platform \
Expand All @@ -76,20 +77,22 @@ RUN apk add --no-cache \
&& git clone --depth 1 -b "libcec-${LIBCEC_VERSION}" https://github.com/Pulse-Eight/libcec \
&& cd libcec \
&& git apply ../libcec-fix-null-return.patch \
&& git apply ../libcec-python313.patch \
&& mkdir build \
&& cd build \
&& cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local \
-DPYTHON_LIBRARY="/usr/local/lib/libpython3.12.so" \
-DPYTHON_INCLUDE_DIR="/usr/local/include/python3.12" \
-DPYTHON_LIBRARY="/usr/local/lib/libpython3.13.so" \
-DPYTHON_INCLUDE_DIR="/usr/local/include/python3.13" \
-DHAVE_LINUX_API=1 \
.. \
&& make -j"$(nproc)" \
&& make install \
&& echo "cec" > "/usr/local/lib/python3.12/site-packages/cec.pth" \
&& echo "cec" > "/usr/local/lib/python3.13/site-packages/cec.pth" \
&& apk del .build-dependencies \
&& rm -rf \
/usr/src/libcec \
/usr/src/libcec-fix-null-return.patch
/usr/src/libcec-fix-null-return.patch \
/usr/src/libcec-python313.patch

# PicoTTS - it has no specific version - commit should be taken from build.json
RUN apk add --no-cache \
Expand All @@ -99,7 +102,7 @@ RUN apk add --no-cache \
autoconf \
libtool \
popt-dev \
build-base \
build-base \
&& git clone https://github.com/naggety/picotts.git pico \
&& cd pico/pico \
&& git reset --hard "${PICOTTS_HASH}" \
Expand Down
10 changes: 5 additions & 5 deletions build.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-homeassistant-base
build_from:
aarch64: ghcr.io/home-assistant/aarch64-base-python:3.12-alpine3.20
armhf: ghcr.io/home-assistant/armhf-base-python:3.12-alpine3.20
armv7: ghcr.io/home-assistant/armv7-base-python:3.12-alpine3.20
amd64: ghcr.io/home-assistant/amd64-base-python:3.12-alpine3.20
i386: ghcr.io/home-assistant/i386-base-python:3.12-alpine3.20
aarch64: ghcr.io/home-assistant/aarch64-base-python:3.13-alpine3.20
armhf: ghcr.io/home-assistant/armhf-base-python:3.13-alpine3.20
armv7: ghcr.io/home-assistant/armv7-base-python:3.13-alpine3.20
amd64: ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.20
i386: ghcr.io/home-assistant/i386-base-python:3.13-alpine3.20
codenotary:
signer: [email protected]
base_image: [email protected]
Expand Down
22 changes: 22 additions & 0 deletions patches/libcec-python313.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
--- a/src/libcec/SwigHelper.h
+++ b/src/libcec/SwigHelper.h
@@ -119,7 +119,7 @@ namespace CEC
if (!!m_callbacks[callback])
{
/** call the callback */
- result = PyEval_CallObject(m_callbacks[callback], arglist);
+ result = PyObject_CallObject(m_callbacks[callback], arglist);

/** unref the argument and result */
if (!!arglist)
--- a/src/libcec/libcec.i
+++ b/src/libcec/libcec.i
@@ -141,7 +141,7 @@ namespace std {
if (!!lib)
{
lib->InitVideoStandalone();
- PyEval_InitThreads();
+ // PyEval_InitThreads();
}
return lib;
}

0 comments on commit 4db773a

Please sign in to comment.