Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
37510a6
Install libpython pdb file when building shared libraries
adrianbroher Mar 21, 2016
539de39
Don't export python cmake targets
adrianbroher Mar 21, 2016
56af4fa
Change pathes to match current SDK layout
adrianbroher Mar 21, 2016
28f5092
Disable MSVC specific compiler warnings
adrianbroher Sep 6, 2016
fad6313
Add Mac OSX framework support
adrianbroher Apr 9, 2016
a0e4580
Install binaries, libraries, headers files and auxilliary files into …
adrianbroher Sep 17, 2016
cf1b46f
Change PYTHONPATH and PYTHONHOME for framework builds
adrianbroher Sep 18, 2016
5aa3f84
Install platform library files on MacOSX
adrianbroher Sep 20, 2016
7d25f24
Install configure Makefile and pyconfig.h for sysconfig into INT dir
adrianbroher Sep 29, 2016
2443b39
Disable generation of python compiled bytecode when calling python in…
adrianbroher Oct 19, 2016
749eeeb
Populate Makefile variable with MacOSX framework variables
adrianbroher Oct 19, 2016
89ce050
Set INSTALL_NAME_DIR only for non-frameworks on OSX
adrianbroher Nov 15, 2016
c99b2d8
Set python exe RPATH to search for libpython in Frameworks
adrianbroher Mar 23, 2017
e69d2aa
Use python<major>.<minor> as executable output name
adrianbroher Apr 15, 2018
9f84b35
Copy 3.6 patches to 3.7
o01eg May 19, 2022
3c6db81
Copy 3.7 patches to 3.8
o01eg May 25, 2022
c8ebbcd
Copy 3.8 patches to 3.9
o01eg Apr 10, 2023
c45d712
allow using system ffi on macos
bjia56 Sep 27, 2023
3ae8684
typo
bjia56 Sep 27, 2023
53d5a76
restore x86_64 behavior
bjia56 Sep 27, 2023
9c77edd
use upstream buildsystem, add 3.10 md5
bjia56 Dec 13, 2023
5732cda
skip acceler.c for 3.10
bjia56 Dec 13, 2023
9d87ab2
Revert "skip acceler.c for 3.10"
bjia56 Dec 13, 2023
3114cd9
update for 3.10
bjia56 Dec 13, 2023
4d232c5
drop graminit.c for 3.10
bjia56 Dec 13, 2023
1c0d363
drop peephole.c for 3.10
bjia56 Dec 13, 2023
28523c7
drop parsermodule.c for 3.10
bjia56 Dec 13, 2023
e937596
drop _peg_parser.c for 3.10
bjia56 Dec 13, 2023
dc3fe07
add ALIGNOF_SIZE_T
bjia56 Dec 13, 2023
ca0c01a
add ALIGNOF_SIZE_T
bjia56 Dec 13, 2023
d95726f
add ALIGNOF_LONG
bjia56 Dec 13, 2023
5069312
add unionobject.c
bjia56 Dec 13, 2023
693cd1f
add suggestions.c
bjia56 Dec 13, 2023
8f6171f
add curses lib to linker
bjia56 Dec 13, 2023
571fab4
Revert "add curses lib to linker"
bjia56 Dec 13, 2023
ad3b892
add ncurses to _cursesmodule
bjia56 Dec 13, 2023
bd3e545
Revert "add ncurses to _cursesmodule"
bjia56 Dec 13, 2023
4b0321f
need wide ncurses
bjia56 Dec 13, 2023
c13ab3d
add more python3.10 patch versions
bjia56 Dec 13, 2023
03e070e
use new win dll build
bjia56 Dec 13, 2023
8b50834
Merge branch 'macos-arm64' into python3.10
bjia56 Dec 13, 2023
3f783a4
add dll name
bjia56 Dec 14, 2023
3f307bf
add dll name
bjia56 Dec 14, 2023
71d0c0c
import changes from fbordignon's PR
bjia56 Dec 14, 2023
8e10867
change comparison
bjia56 Dec 14, 2023
a0bfa54
change comparison
bjia56 Dec 14, 2023
1f45b6c
Add support for Python 3.10
gongminmin Jan 16, 2024
bcff929
Python3.10 (#1)
bjia56 Jan 26, 2024
6a14049
add netdb header
bjia56 Jan 26, 2024
2598e4f
Add limited Python 3.11 support
gongminmin Jan 17, 2024
54afbd4
add 3.11.7
bjia56 Feb 3, 2024
8e3361a
Update CI.yml
bjia56 Feb 3, 2024
1ef00bb
Update CI.yml
bjia56 Feb 3, 2024
b8fc0bd
add most recent 3.8, 3.9 releases
bjia56 Feb 3, 2024
c4c1199
Update CTestConfig.cmake
bjia56 Feb 5, 2024
c607476
update ci
bjia56 Feb 5, 2024
01d16da
Merge remote-tracking branch 'origin/portable-python' into python3.11
bjia56 Feb 5, 2024
6c9e013
update ci
bjia56 Feb 5, 2024
4ff940f
Enable RISC-V platform triplets (#4)
bjia56 Feb 5, 2024
91b5086
libedit fixes (#2)
bjia56 Feb 5, 2024
57f3d72
Merge remote-tracking branch 'origin/portable-python' into python3.11
bjia56 Feb 6, 2024
e9d1fca
test 3.11
bjia56 Feb 6, 2024
e6341e9
modify sources for 3.11
bjia56 Feb 6, 2024
b67c223
fix cache.c
bjia56 Feb 6, 2024
593ac5a
install new tcl-tk
bjia56 Feb 7, 2024
4948a91
newer macos
bjia56 Feb 7, 2024
c37c1e9
Set rpath for Linux (#5)
bjia56 Feb 7, 2024
ed1e205
skip tkinter on macos
bjia56 Feb 7, 2024
19dbfc2
fix condition
bjia56 Feb 7, 2024
ad65366
allow verbose CI builds
bjia56 Feb 7, 2024
95338a4
back to macos-latest
bjia56 Feb 7, 2024
296a3e8
syntax
bjia56 Feb 7, 2024
b5bf089
allow verbose CI builds
bjia56 Feb 7, 2024
b956277
back to macos-latest
bjia56 Feb 7, 2024
5f36970
syntax
bjia56 Feb 7, 2024
aa3ab23
Merge remote-tracking branch 'origin/portable-python' into python3.11
bjia56 Feb 7, 2024
a9b977f
control tkinter outside
bjia56 Feb 7, 2024
318c0ec
tweak gha expression
bjia56 Feb 7, 2024
af9fed4
add verbose make
bjia56 Feb 8, 2024
a1275b2
adjust ndbm detection
bjia56 Feb 8, 2024
8ef9086
add HAVE_NETDB_H
bjia56 Feb 12, 2024
b13dba3
use c11
bjia56 Feb 12, 2024
f29b49c
update indentation
bjia56 Feb 14, 2024
2b03856
freeze getpath
bjia56 Feb 14, 2024
bb29acf
change getpath.h path
bjia56 Feb 14, 2024
5ca44ca
Merge remote-tracking branch 'gongminmin/Python_3_11' into python3.11
bjia56 Feb 25, 2024
629a570
Merge remote-tracking branch 'origin/python3.11' into python3.11
bjia56 Feb 25, 2024
06dfd6a
remove unmatched condition
bjia56 Feb 25, 2024
d6cf059
make cmake_debug_postfix optional
bjia56 Feb 25, 2024
cce0f45
skip tk in ci
bjia56 Feb 25, 2024
88c774c
set python3 exe
bjia56 Feb 25, 2024
4c4855a
Revert "remove unmatched condition"
bjia56 Feb 25, 2024
d3e3394
add missing endif
bjia56 Feb 25, 2024
760e8ea
restore missing freeze command invocation
bjia56 Feb 25, 2024
58100e1
build getpath for 3.11
bjia56 Feb 25, 2024
6d8501c
Revert "build getpath for 3.11"
bjia56 Feb 25, 2024
2e054df
use proper getpath
bjia56 Feb 25, 2024
226a146
Revert "use proper getpath"
bjia56 Feb 25, 2024
101f048
Start initial Android support
o01eg Jan 24, 2020
e85f41a
Don't try to call python in Adroid cross-compilation
o01eg Jan 24, 2020
23b0adf
Fx for Android-x86
o01eg Nov 21, 2020
70647de
Enable extensions as built-in
o01eg Mar 30, 2021
3be9a21
Add Github Actions for Android
o01eg Oct 13, 2021
4383e3d
Fix floating point endianness checks
Apr 17, 2020
b0b1d75
Try to enable armeabi-v7a
o01eg Oct 13, 2021
6024721
Add non-native support for arm64-v8a
o01eg Oct 13, 2021
80fc181
Use system-wide cmake
o01eg Mar 31, 2022
eefd46a
Try to fix compatibility with MacOS
o01eg Feb 22, 2025
7fb65a8
Add Python 3.9.21
o01eg Feb 22, 2025
cb72304
Merge remote-tracking branch 'bjia56/python3.10' into freeorion-patch…
o01eg Feb 22, 2025
b5b0d52
Copy patches 3.10
o01eg Feb 22, 2025
1f4ce1a
Fix 3.10 patches
o01eg Feb 22, 2025
573fe8a
Fix 3.10 patches again
o01eg Feb 22, 2025
e9a66c0
Merge remote-tracking branch 'bjia56/python3.11' into freeorion-patch…
o01eg Feb 23, 2025
afa9e42
Copy patches 3.11
o01eg Feb 23, 2025
4b6c557
Fix _testinternalcapi enabled, add 3.11.11
o01eg Feb 23, 2025
52b4f06
Add Python 3.10.16
o01eg Feb 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 28 additions & 36 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@ on:
pull_request:
push:
branches:
- master
- portable-python
workflow_dispatch:
inputs:
verbose:
required: false
type: boolean

env:
MACOSX_DEPLOYMENT_TARGET: 10.5

jobs:
tests:
Expand All @@ -13,49 +21,33 @@ jobs:
fail-fast: false
matrix:
runs-on: [macos-latest]
python-version: [3.7.17, 3.8.17, 3.9.17]
include:
- runs-on: macos-latest
c-compiler: "clang"
cxx-compiler: "clang++"
initial-dashboard-cache: "CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.13"
python-version: [3.8.18, 3.9.18, 3.10.13, 3.11.7]

name: python-${{ matrix.python-version }}-${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
path: src

- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.13.1
with:
cmake-version: 3.13.5

- name: Setup ninja
uses: ashutoshvarma/setup-ninja@master
with:
version: 1.10.0

- name: Download dashboard script
uses: actions/checkout@v3
with:
repository: 'python-cmake-buildsystem/python-cmake-buildsystem'
ref: dashboard
fetch-depth: 0
path: scripts

- name: Writing initial dashboard cache
shell: bash
- name: Build
run: |
cat > scripts/initial-dashboard-cache.txt << EOF
${{ matrix.initial-dashboard-cache }}
EOF
cat scripts/initial-dashboard-cache.txt

- name: Build & Test
run: ctest --timeout 360 -S scripts/github_actions_dashboard.cmake -VV
env:
PY_VERSION: ${{ matrix.python-version }}
CC: ${{ matrix.c-compiler }}
CXX: ${{ matrix.cxx-compiler }}
mkdir -p python-build && mkdir -p python-install
cd python-build
cmake \
${{ inputs.verbose && '--trace-expand --debug-find' || '' }} \
-DCMAKE_INSTALL_PREFIX:PATH=${{ github.workspace }}/python-install \
-DCMAKE_OSX_DEPLOYMENT_TARGET=${{ env.MACOSX_DEPLOYMENT_TARGET }} \
-DCMAKE_C_STANDARD=11 \
-DPython3_EXECUTABLE=$(which python3) \
${{ startsWith(matrix.python-version, '3.11') && '-DUSE_SYSTEM_TCL=OFF' || '' }} \
-DPYTHON_VERSION=${{ matrix.python-version }} \
..
make -j4 ${{ inputs.verbose && 'VERBOSE=1' || '' }}
make install

- name: Test
run: |
./python-install/bin/python -m test || true
9 changes: 9 additions & 0 deletions .github/workflows/adb-emu.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/sh
adb push "$1" /data/local/tmp/ 1>/dev/null 2>/dev/null
if [ $# -eq 1 ]; then
adb shell /data/local/tmp/$(basename $1)
elif [ $# -eq 3 ]; then
adb push "$2" /data/local/tmp/ 1>/dev/null 2>/dev/null
adb shell /data/local/tmp/$(basename $1) /data/local/tmp/$(basename $2) /data/local/tmp/$(basename $3)
adb pull /data/local/tmp/$(basename $3) "$3" 1>/dev/null 2>/dev/null
fi
88 changes: 88 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: "Android bulds"

on: [push, pull_request]

jobs:
build-android:
name: ${{ matrix.ndk-arch }} on ${{ matrix.arch }} Android
runs-on: macos-11
strategy:
matrix:
ndk-arch: [x86_64]
arch: [x86_64]
api-level: [21]
target: [default]
include:
- ndk-arch: arm64-v8a
arch: x86_64
api-level: 30
target: google_apis
- ndk-arch: x86
arch: x86
api-level: 21
target: default
- ndk-arch: armeabi-v7a
arch: x86_64
api-level: 30
target: google_apis

steps:
- name: checkout
uses: actions/checkout@v2

- uses: actions/cache@v2
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
~/.android/debug.keystore
key: avd-${{ matrix.api-level }}-${{ matrix.target }}-${{ matrix.arch }}

- name: run emulator to generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
profile: Galaxy Nexus
cores: 2
sdcard-path-or-size: 100M
emulator-build: 7425822 # https://github.com/ReactiveCircus/android-emulator-runner/issues/160
avd-name: test
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: false
working-directory: ./
ndk: 21.0.6113669
cmake: 3.10.2.4988404
script: echo "Generated AVD snapshot for caching."

- name: run action
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
profile: Galaxy Nexus
cores: 2
ram-size: 2048M
sdcard-path-or-size: 100M
emulator-build: 7425822 # https://github.com/ReactiveCircus/android-emulator-runner/issues/160
avd-name: test
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
working-directory: ./
ndk: 21.0.6113669
cmake: 3.10.2.4988404
script: |
# ls -lR /Users/runner/Library/Android/sdk
adb devices
mkdir ../build
mkdir ../install-prefix
cd ../build
cmake -DCMAKE_INSTALL_PREFIX:PATH=../../install-prefix -DCMAKE_TOOLCHAIN_FILE=/Users/runner/Library/Android/sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI=${{ matrix.ndk-arch }} -DCMAKE_CROSSCOMPILING_EMULATOR=/Users/runner/work/python-cmake-buildsystem/python-cmake-buildsystem/.github/workflows/adb-emu.sh -DANDROID_ALLOW_UNDEFINED_SYMBOLS=On -DENABLE_DECIMAL=Off -DENABLE_CTYPES=Off -DENABLE_CODECS_JP=OFF -DENABLE_CODECS_KR=OFF -DENABLE_CODECS_TW=OFF -DENABLE_MULTIBYTECODEC=OFF -DENABLE_CODECS_CN=OFF -DENABLE_CODECS_HK=OFF -DENABLE_CODECS_ISO2022=OFF -DBUILD_EXTENSIONS_AS_BUILTIN=On -DANDROID_PLATFORM=android-21 ../python-cmake-buildsystem/
cmake --build . -- VERBOSE=1
cmake --build . --target install
Loading