From cd3fa2e8b606f419d4c2332b211c47ef236d68f1 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Aug 2025 19:15:44 +0100 Subject: [PATCH 01/18] upgrade setuptools if installed --- .github/workflows/build.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fbf60b9..d6eaad1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,9 +77,9 @@ jobs: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} run: | python -m pip install --upgrade pip - pip3 install "cffi>=1.17.1" - pip3 install wheel - pip3 install setuptools + pip3 install --upgrade "cffi>=1.17.1" + pip3 install --upgrade wheel + pip3 install --upgrade setuptools python setup.py bdist_wheel --plat-name macosx_10_13_x86_64 - name: Test @@ -244,9 +244,9 @@ jobs: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} run: | python -m pip install --upgrade pip - pip3 install "cffi>=1.17.1" - pip3 install wheel - pip3 install setuptools + pip3 install --upgrade "cffi>=1.17.1" + pip3 install --upgrade wheel + pip3 install --upgrade setuptools python setup.py bdist_wheel --plat-name manylinux2014_x86_64 - name: Test run: | @@ -331,9 +331,9 @@ jobs: copy ${{ runner.temp }}\SDL2\lib\x64\SDL2.lib . copy ${{ runner.temp }}\SDL2\lib\x64\SDL2.dll raylib\ python -m pip install --upgrade pip - pip3 install "cffi>=1.17.1" - pip3 install wheel - pip3 install setuptools + pip3 install --upgrade "cffi>=1.17.1" + pip3 install --upgrade wheel + pip3 install --upgrade setuptools del raylib\dynamic\*.so* >nul 2>&1 del raylib\dynamic\*.dll >nul 2>&1 del raylib\dynamic\*.dylib >nul 2>&1 @@ -402,9 +402,9 @@ jobs: - name: Build raylib-python-cffi run: | python -m pip install --upgrade pip - pip3 install "cffi>=1.17.1" - pip3 install wheel - pip3 install setuptools + pip3 install --upgrade "cffi>=1.17.1" + pip3 install --upgrade wheel + pip3 install --upgrade setuptools python setup.py sdist - name: Upload build Artifact wheel @@ -437,9 +437,9 @@ jobs: - name: Build raylib-python-cffi-dynamic run: | python -m pip install --upgrade pip - pip3 install "cffi>=1.17.1" - pip3 install wheel - pip3 install setuptools + pip3 install --upgrade "cffi>=1.17.1" + pip3 install --upgrade wheel + pip3 install --upgrade setuptools cd dynamic python setup.py sdist From bb71d9c47f35c09ca2d819c8a805b3c30fd2c0f0 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Aug 2025 19:19:42 +0100 Subject: [PATCH 02/18] windows-2022 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d6eaad1..d5596e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -274,7 +274,7 @@ jobs: build-windows: # The type of runner that the job will run on - runs-on: windows-2019 + runs-on: windows-2022 strategy: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 From dd73a0c11ebf756cbb69946180348f338a323224 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Aug 2025 19:22:39 +0100 Subject: [PATCH 03/18] python 3.14rc1 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d5596e1..49f436a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: runs-on: macos-13 strategy: matrix: - python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14rc1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] env: MACOSX_DEPLOYMENT_TARGET: '10.13' @@ -191,7 +191,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14rc1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL', 'DRM'] steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it @@ -279,7 +279,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14rc1','pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] steps: - uses: actions/checkout@v4 From 9103c1c082f0ee318a64d55464a7f7b6a11e7990 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Aug 2025 19:24:32 +0100 Subject: [PATCH 04/18] python 3.14rc1 --- .github/workflows/build.yml | 6 +++--- version.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 49f436a..01db44f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: runs-on: macos-13 strategy: matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14rc1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] env: MACOSX_DEPLOYMENT_TARGET: '10.13' @@ -191,7 +191,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14rc1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL', 'DRM'] steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it @@ -279,7 +279,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14rc1','pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1','pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] steps: - uses: actions/checkout@v4 diff --git a/version.py b/version.py index 819d349..06e02c5 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -__version__ = "5.5.0.2" \ No newline at end of file +__version__ = "5.5.0.3" \ No newline at end of file From e0cf7da058dbf7461e181577a0b259356116b636 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Aug 2025 19:32:14 +0100 Subject: [PATCH 05/18] remove pypy3.9 --- .cirrus.yml | 13 +++++++------ .github/workflows/build.yml | 6 +++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 0b9eb85..9d1f75f 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -4,10 +4,11 @@ pi_task: arm_container: matrix: +# - image: dtcooper/raspberrypi-os:python3.14-bullseye + - image: dtcooper/raspberrypi-os:python3.13-bullseye - image: dtcooper/raspberrypi-os:python3.12-bullseye - image: dtcooper/raspberrypi-os:python3.11-bullseye - image: dtcooper/raspberrypi-os:python3.10-bullseye - - image: dtcooper/raspberrypi-os:python3.9-bullseye env: matrix: - RAYLIB_PLATFORM: "Desktop" @@ -76,11 +77,11 @@ mac_task: MACOSX_DEPLOYMENT_TARGET: "11.0" matrix: - env: - PY_VER: "3.9" - RAYLIB_PLATFORM: Desktop - - env: - PY_VER: "3.9" - RAYLIB_PLATFORM: SDL +# PY_VER: "3.14" +# RAYLIB_PLATFORM: Desktop +# - env: +# PY_VER: "3.14" +# RAYLIB_PLATFORM: SDL - env: PY_VER: "3.10" RAYLIB_PLATFORM: Desktop diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 01db44f..aa79af7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: runs-on: macos-13 strategy: matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] env: MACOSX_DEPLOYMENT_TARGET: '10.13' @@ -191,7 +191,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL', 'DRM'] steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it @@ -279,7 +279,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1','pypy-3.9', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] steps: - uses: actions/checkout@v4 From 93672f7e0932b97a3b2547a5df25ffa07e657d74 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Aug 2025 19:41:41 +0100 Subject: [PATCH 06/18] use docker to build linux --- .github/workflows/build.yml | 47 ++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa79af7..092293f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,11 +31,11 @@ jobs: - name: Build SDL run: | - wget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.30.7.tar.gz - tar xvfz release-2.30.7.tar.gz + wget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.32.8.tar.gz + tar xvfz release-2.32.8.tar.gz mkdir build cd build - cmake ../SDL-release-2.30.7 -DSDL_SHARED=OFF -DSDL_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release + cmake ../SDL-release-2.32.8 -DSDL_SHARED=OFF -DSDL_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release cmake --build . --config Release sudo cmake --install . @@ -118,11 +118,11 @@ jobs: # # - name: Build SDL # run: | -# wget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.30.7.tar.gz -# tar xvfz release-2.30.7.tar.gz +# wget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.32.8.tar.gz +# tar xvfz release-2.32.8.tar.gz # mkdir build # cd build -# cmake ../SDL-release-2.30.7 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DSDL_SHARED=OFF -DSDL_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release +# cmake ../SDL-release-2.32.8 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DSDL_SHARED=OFF -DSDL_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release # cmake --build . --config Release # sudo cmake --install . # @@ -186,7 +186,13 @@ jobs: build-linux: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest + container: + image: electronstudio/ubuntu16-modern:latest + options: --user root + volumes: + # override /__e/node20 because GitHub Actions uses a version that requires too-recent glibc + - /tmp:/__e/node20 strategy: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 @@ -194,8 +200,11 @@ jobs: python-version: ['3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL', 'DRM'] steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v4 + - name: fix node + run: | + ln -s /usr/local/bin /__e/node20/bin + + - uses: actions/checkout@v2 with: submodules: recursive @@ -211,19 +220,15 @@ jobs: # The target architecture (x86, x64) of the Python interpreter. architecture: x64 - - name: install prereqs - run: | - sudo apt update - sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev libwayland-dev libxkbcommon-dev - name: Build SDL run: | - wget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.30.7.tar.gz - tar xvfz release-2.30.7.tar.gz + wget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.32.8.tar.gz + tar xvfz release-2.32.8.tar.gz mkdir build cd build - cmake ../SDL-release-2.30.7 -DSDL_SHARED=OFF -DSDL_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release + cmake ../SDL-release-2.32.8 -DSDL_SHARED=OFF -DSDL_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release cmake --build . --config Release - sudo cmake --install . + cmake --install . # Runs a set of commands using the runners shell - name: Build raylib @@ -233,12 +238,12 @@ jobs: cd build cmake -DPLATFORM=${{ matrix.raylib-platform }} -DBUILD_EXAMPLES=OFF -DCUSTOMIZE_BUILD=ON -DSUPPORT_FILEFORMAT_JPG=ON -DSUPPORT_FILEFORMAT_FLAC=ON -DWITH_PIC=ON -DCMAKE_BUILD_TYPE=Release -DOpenGL_GL_PREFERENCE=GLVND .. make -j2 - sudo make install + make install - name: Copy extras run: | - sudo cp -r raylib-c/src/external/glfw/include/GLFW /usr/local/include/ - sudo cp physac/src/physac.h /usr/local/include/ - sudo cp raygui/src/raygui.h /usr/local/include/ + cp -r raylib-c/src/external/glfw/include/GLFW /usr/local/include/ + cp physac/src/physac.h /usr/local/include/ + cp raygui/src/raygui.h /usr/local/include/ - name: Build raylib-python-cffi env: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} From ee5b199c4f014acf7c0bf11a50487112be75d8be Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 13 Aug 2025 19:41:41 +0100 Subject: [PATCH 07/18] use docker to build linux --- .github/workflows/build.yml | 38 +++++++++---------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 092293f..4a2b93f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -197,7 +197,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.10', 'pypy-3.11' ] + python-version: ['python3.10', 'python3.11', 'python3.12', 'python3.13', 'pypy3.10', 'pypy3.11'] raylib-platform: ['Desktop', 'SDL', 'DRM'] steps: - name: fix node @@ -212,24 +212,6 @@ jobs: run: | patch -p0 =1.17.1" - pip3 install --upgrade wheel - pip3 install --upgrade setuptools - python setup.py bdist_wheel --plat-name manylinux2014_x86_64 + ${{ matrix.python-version }} -m pip install --upgrade pip + ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" + ${{ matrix.python-version }} -m pip --upgrade wheel + ${{ matrix.python-version }} -m pip --upgrade setuptools + ${{ matrix.python-version }} setup.py bdist_wheel --plat-name manylinux2014_x86_64 - name: Test run: | - pip3 install dist/*.whl + ${{ matrix.python-version }} -m pip install dist/*.whl cd / - python3 -c 'import pyray; pyray.init_window(100,100,"test")' >/tmp/output 2>&1 || true + ${{ matrix.python-version }} -c 'import pyray; pyray.init_window(100,100,"test")' >/tmp/output 2>&1 || true cat /tmp/output if grep -q "INFO: Initializing raylib" /tmp/output; then echo "Passed" @@ -266,7 +248,7 @@ jobs: echo "Failed" exit 1 fi - + - name: Upload build Artifact wheel uses: actions/upload-artifact@v4 @@ -275,8 +257,6 @@ jobs: path: dist/* - - build-windows: # The type of runner that the job will run on runs-on: windows-2022 From cce94595d55f3744b4ecffd95864342ac3f7662d Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 26 Aug 2025 21:55:20 +0100 Subject: [PATCH 08/18] rc2 --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4a2b93f..a9dd292 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: runs-on: macos-13 strategy: matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.2', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] env: MACOSX_DEPLOYMENT_TARGET: '10.13' @@ -264,7 +264,7 @@ jobs: # You can use PyPy versions in python-version. # For example, pypy2 and pypy3 matrix: - python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.1', 'pypy-3.10', 'pypy-3.11' ] + python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14.0-rc.2', 'pypy-3.10', 'pypy-3.11' ] raylib-platform: ['Desktop', 'SDL'] steps: - uses: actions/checkout@v4 From 94819c7ce8b21144407929568d08edb5fa5e8117 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 26 Aug 2025 23:11:05 +0100 Subject: [PATCH 09/18] fixes --- .github/workflows/build.yml | 94 +++---------------------------------- 1 file changed, 7 insertions(+), 87 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a9dd292..2835483 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -102,87 +102,6 @@ jobs: name: wheel-mac-${{ matrix.raylib-platform }}-${{ matrix.python-version }} path: dist/* -# build-mac-universal: -# runs-on: macos-14 -# strategy: -# matrix: -# python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', 'pypy-3.8', 'pypy-3.9', 'pypy-3.10' ] -# raylib-platform: ['Desktop', 'SDL'] -# env: -# MACOSX_DEPLOYMENT_TARGET: 11.0 -# steps: -# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it -# - uses: actions/checkout@v4 -# with: -# submodules: recursive -# -# - name: Build SDL -# run: | -# wget https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.32.8.tar.gz -# tar xvfz release-2.32.8.tar.gz -# mkdir build -# cd build -# cmake ../SDL-release-2.32.8 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DSDL_SHARED=OFF -DSDL_STATIC=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -# cmake --build . --config Release -# sudo cmake --install . -# -# - name: Setup Python -# uses: actions/setup-python@v5 -# with: -# # Version range or exact version of a Python version to use, using SemVer's version range syntax. -# python-version: ${{ matrix.python-version }} -# architecture: arm64 -# -# # Runs a set of commands using the runners shell -# - name: Build raylib without SDL because SDL version has incorrect pkg-config -# run: | -# cd raylib-c -# mkdir build -# cd build -# cmake -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DBUILD_EXAMPLES=OFF -DCUSTOMIZE_BUILD=ON -DSUPPORT_FILEFORMAT_JPG=ON -DSUPPORT_FILEFORMAT_FLAC=ON -DWITH_PIC=ON -DCMAKE_BUILD_TYPE=Release .. -# make -j2 -# sudo make install -# -# - name: Build raylib with SDL if selected -# run: | -# cd raylib-c -# mkdir build2 -# cd build2 -# cmake -DPLATFORM=${{ matrix.raylib-platform }} -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DPLATFORM=SDL -DBUILD_EXAMPLES=OFF -DCUSTOMIZE_BUILD=ON -DSUPPORT_FILEFORMAT_JPG=ON -DSUPPORT_FILEFORMAT_FLAC=ON -DWITH_PIC=ON -DCMAKE_BUILD_TYPE=Release .. -# make -j2 -# sudo cp raylib/libraylib.a /usr/local/lib/libraylib.a -# -# - name: Copy extras -# run: | -# sudo cp -r raylib-c/src/external/glfw/include/GLFW /usr/local/include/ -# sudo cp physac/src/physac.h /usr/local/include/ -# sudo cp raygui/src/raygui.h /usr/local/include/ -# -# - name: Build raylib-python-cffi -# run: | -# python -m pip install --upgrade pip -# pip3 install "cffi>=1.17.1" -# pip3 install wheel -# pip3 install setuptools -# RAYLIB_PLATFORM=${{ matrix.raylib-platform }} python setup.py bdist_wheel -# -# - name: Upload build Artifact wheel -# uses: actions/upload-artifact@v3.2.1 -# with: -# name: wheel -# path: dist/* - -# -# # Name defaults to universal2 and it technically is, but we override name to arm64. Why don't we make a working universal2 wheel? Because -# # I'd rather have a separate x86_64 that I can test, and I want it to work on 10_15 but I'm not sure a 'macosx_10_15_universal2' is valid -# # given that there is no SDK for universal until macosx_11_0 -# - name: Build raylib-python-cffi -# run: | -# python -m pip install --upgrade pip -# pip3 install cffi -# pip3 install wheel -# python setup.py bdist_wheel --plat-name macosx_12_0_arm64 - build-linux: @@ -232,8 +151,8 @@ jobs: run: | ${{ matrix.python-version }} -m pip install --upgrade pip ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" - ${{ matrix.python-version }} -m pip --upgrade wheel - ${{ matrix.python-version }} -m pip --upgrade setuptools + ${{ matrix.python-version }} -m pip install --upgrade wheel + ${{ matrix.python-version }} -m pip install --upgrade setuptools ${{ matrix.python-version }} setup.py bdist_wheel --plat-name manylinux2014_x86_64 - name: Test run: | @@ -271,10 +190,6 @@ jobs: with: submodules: recursive - - name: fix raygui bug - run: | - patch -p0 Date: Wed, 27 Aug 2025 12:06:34 +0100 Subject: [PATCH 10/18] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2835483..dbab4c8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,6 +75,7 @@ jobs: - name: Build raylib-python-cffi env: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} + PKG_CONFIG_PATH: /usr/local/lib/pkgconfig run: | python -m pip install --upgrade pip pip3 install --upgrade "cffi>=1.17.1" From b9b1ccfb37354bcea3de0d7c3e2f7af263b610ff Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 12:16:01 +0100 Subject: [PATCH 11/18] Update build.yml --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dbab4c8..c9419bf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,7 +75,7 @@ jobs: - name: Build raylib-python-cffi env: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} - PKG_CONFIG_PATH: /usr/local/lib/pkgconfig + run: | python -m pip install --upgrade pip pip3 install --upgrade "cffi>=1.17.1" @@ -149,6 +149,7 @@ jobs: - name: Build raylib-python-cffi env: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} + PKG_CONFIG_PATH: /usr/local/lib/pkgconfig run: | ${{ matrix.python-version }} -m pip install --upgrade pip ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" From 550e90edef6ce915a435803d85728ff197a7dbb9 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 12:28:15 +0100 Subject: [PATCH 12/18] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c9419bf..562f9e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -151,6 +151,7 @@ jobs: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} PKG_CONFIG_PATH: /usr/local/lib/pkgconfig run: | + export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ${{ matrix.python-version }} -m pip install --upgrade pip ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" ${{ matrix.python-version }} -m pip install --upgrade wheel From 74368b9d913f1bdb6ab305a257ffdb5d5cc64ddf Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 12:33:52 +0100 Subject: [PATCH 13/18] Update build.yml --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 562f9e5..c9ed157 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -152,11 +152,13 @@ jobs: PKG_CONFIG_PATH: /usr/local/lib/pkgconfig run: | export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig + ls -l /usr/local/lib/pkgconfig + pkg-config --libs raylib ${{ matrix.python-version }} -m pip install --upgrade pip ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" ${{ matrix.python-version }} -m pip install --upgrade wheel ${{ matrix.python-version }} -m pip install --upgrade setuptools - ${{ matrix.python-version }} setup.py bdist_wheel --plat-name manylinux2014_x86_64 + PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ${{ matrix.python-version }} setup.py bdist_wheel --plat-name manylinux2014_x86_64 - name: Test run: | ${{ matrix.python-version }} -m pip install dist/*.whl From d1149dabadc973b4286d1dfd1c63e4a546400d7e Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 12:45:13 +0100 Subject: [PATCH 14/18] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c9ed157..0119046 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -159,6 +159,7 @@ jobs: ${{ matrix.python-version }} -m pip install --upgrade wheel ${{ matrix.python-version }} -m pip install --upgrade setuptools PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ${{ matrix.python-version }} setup.py bdist_wheel --plat-name manylinux2014_x86_64 + shell: bash - name: Test run: | ${{ matrix.python-version }} -m pip install dist/*.whl From d34694f27920b53fbdc5014b53d1778ac4b9c1e1 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 13:24:39 +0100 Subject: [PATCH 15/18] debug --- .github/workflows/build.yml | 3 +++ raylib/build.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0119046..a16e220 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -154,6 +154,9 @@ jobs: export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ls -l /usr/local/lib/pkgconfig pkg-config --libs raylib + echo $PKG_CONFIG_PATH + pkg-config --exists raylib + echo $? ${{ matrix.python-version }} -m pip install --upgrade pip ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" ${{ matrix.python-version }} -m pip install --upgrade wheel diff --git a/raylib/build.py b/raylib/build.py index 9f39eb9..4e51498 100644 --- a/raylib/build.py +++ b/raylib/build.py @@ -110,9 +110,12 @@ def check_header_exists(file): def build_unix(): if not check_raylib_installed(): + print("PKG_CONFIG_PATH is set to: "+os.getenv("PKG_CONFIG_PATH")) + print(get_lib_flags()) raise Exception("ERROR: raylib not found by pkg-config. Please install pkg-config and Raylib.") if RAYLIB_PLATFORM=="SDL" and not check_SDL_installed(): + print("PKG_CONFIG_PATH is set to: "+os.getenv("PKG_CONFIG_PATH")) raise Exception("ERROR: SDL2 not found by pkg-config. Please install pkg-config and SDL2.") raylib_h = get_the_include_path() + "/raylib.h" From 60b21cb8f7ea5e40de1cd0c6e4afc9b0304d22cd Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 13:29:37 +0100 Subject: [PATCH 16/18] debug --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a16e220..57dec7f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -154,9 +154,8 @@ jobs: export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ls -l /usr/local/lib/pkgconfig pkg-config --libs raylib - echo $PKG_CONFIG_PATH - pkg-config --exists raylib echo $? + echo $PKG_CONFIG_PATH ${{ matrix.python-version }} -m pip install --upgrade pip ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" ${{ matrix.python-version }} -m pip install --upgrade wheel From c4c9dccacbb10012e322ac8a6d7d5c47fe21a332 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 13:33:25 +0100 Subject: [PATCH 17/18] debug --- raylib/build.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/raylib/build.py b/raylib/build.py index 4e51498..b0a6d0d 100644 --- a/raylib/build.py +++ b/raylib/build.py @@ -33,10 +33,10 @@ RAYLIB_PLATFORM = os.getenv("RAYLIB_PLATFORM", "Desktop") def check_raylib_installed(): - return subprocess.run(['pkg-config', '--exists', 'raylib'], text=True, stdout=subprocess.PIPE).returncode == 0 + return subprocess.run(['pkg-config', '--libs', 'raylib'], text=True, stdout=subprocess.PIPE).returncode == 0 def check_SDL_installed(): - return subprocess.run(['pkg-config', '--exists', 'sdl2'], text=True, stdout=subprocess.PIPE).returncode == 0 + return subprocess.run(['pkg-config', '--libs', 'sdl2'], text=True, stdout=subprocess.PIPE).returncode == 0 def get_the_include_path(): return subprocess.run(['pkg-config', '--variable=includedir', 'raylib'], text=True, From b3fac28a60094094ee850608d15df7d4ea7ec939 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 27 Aug 2025 13:39:58 +0100 Subject: [PATCH 18/18] debug --- .github/workflows/build.yml | 7 +------ raylib/build.py | 3 ++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 57dec7f..f5139c5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -151,16 +151,11 @@ jobs: RAYLIB_PLATFORM: ${{ matrix.raylib-platform }} PKG_CONFIG_PATH: /usr/local/lib/pkgconfig run: | - export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig - ls -l /usr/local/lib/pkgconfig - pkg-config --libs raylib - echo $? - echo $PKG_CONFIG_PATH ${{ matrix.python-version }} -m pip install --upgrade pip ${{ matrix.python-version }} -m pip install --upgrade "cffi>=1.17.1" ${{ matrix.python-version }} -m pip install --upgrade wheel ${{ matrix.python-version }} -m pip install --upgrade setuptools - PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ${{ matrix.python-version }} setup.py bdist_wheel --plat-name manylinux2014_x86_64 + ${{ matrix.python-version }} setup.py bdist_wheel --plat-name manylinux2014_x86_64 shell: bash - name: Test run: | diff --git a/raylib/build.py b/raylib/build.py index b0a6d0d..a99e448 100644 --- a/raylib/build.py +++ b/raylib/build.py @@ -33,9 +33,11 @@ RAYLIB_PLATFORM = os.getenv("RAYLIB_PLATFORM", "Desktop") def check_raylib_installed(): + # this should be 'pkg-config --exists raylib' but result is non-deterministic on old versions of pkg-config! return subprocess.run(['pkg-config', '--libs', 'raylib'], text=True, stdout=subprocess.PIPE).returncode == 0 def check_SDL_installed(): + # this should be 'pkg-config --exists sdl2' but result is non-deterministic on old versions of pkg-config! return subprocess.run(['pkg-config', '--libs', 'sdl2'], text=True, stdout=subprocess.PIPE).returncode == 0 def get_the_include_path(): @@ -111,7 +113,6 @@ def check_header_exists(file): def build_unix(): if not check_raylib_installed(): print("PKG_CONFIG_PATH is set to: "+os.getenv("PKG_CONFIG_PATH")) - print(get_lib_flags()) raise Exception("ERROR: raylib not found by pkg-config. Please install pkg-config and Raylib.") if RAYLIB_PLATFORM=="SDL" and not check_SDL_installed():