Skip to content

Commit cbbaf88

Browse files
committed
Update to Python 3.13
1 parent 5ff2281 commit cbbaf88

File tree

7 files changed

+61
-55
lines changed

7 files changed

+61
-55
lines changed

Makefile

+26-21
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,50 @@ include ./Mk/pkgdata.mk
22

33
DEPS = binutils-symlinks gcc-symlinks g++-symlinks libgcc-s-dev gcov make libreadline-dev openssl-dev libz-dev libsqlite3-dev libexpat-dev libxml2-dev libbz2-dev liblzma-dev libgdbm-dev libffi-dev pkgconfig
44

5-
BUILD_CMD = CXX=/usr/bin/g++ ./configure --enable-shared --with-system-expat --with-system-ffi --enable-optimizations && make
5+
CONFIGURE_CMD = TMPDIR=${BUILD_HOME}/tmp CXX=/usr/bin/g++ ./configure --enable-shared --with-system-expat --enable-optimizations
6+
7+
BUILD_CMD = TMPDIR=${BUILD_HOME}/tmp CXX=/usr/bin/g++ make
68

79
INSTALL_CMD = make install
810

9-
GETDATA_TARARGS = --exclude=usr/local/lib/python3.12/site-packages/numpy\* \
10-
--exclude=usr/local/lib/python3.12/test \
11-
--exclude=usr/local/lib/python3.12/config-3.12-arm-linux-gnueabi/libpython3.12.a \
12-
--exclude=usr/local/lib/python3.12/lib-dynload/.debug \
11+
PATCHES = disable-re-test.patch
12+
13+
GETDATA_TARARGS = --exclude=usr/local/lib/python3.13/site-packages/numpy\* \
14+
--exclude=usr/local/lib/python3.13/ensurepip \
15+
--exclude=usr/local/lib/python3.13/idlelib \
16+
--exclude=usr/local/lib/python3.13/pydoc_data \
17+
--exclude=usr/local/lib/python3.13/test \
18+
--exclude=usr/local/lib/python3.13/tkinter \
19+
--exclude=usr/local/lib/python3.13/config-3.13-arm-linux-gnueabi/libpython3.13.a \
20+
--exclude=usr/local/lib/python3.13/lib-dynload/.debug \
1321
--exclude=\*.py[co] \
1422
--exclude=__pycache__ \
15-
usr/local/include/python3.12/pyconfig.h \
23+
usr/local/include/python3.13/pyconfig.h \
1624
usr/local/lib/libpython3* \
17-
usr/local/bin/*3.12 \
18-
usr/local/bin/2to3 \
19-
usr/local/bin/idle3 \
25+
usr/local/bin/*3.13 \
2026
usr/local/bin/pip3 \
21-
usr/local/bin/pydoc3 \
2227
usr/local/bin/python3 \
2328
usr/local/bin/python3-config \
24-
usr/local/lib/python3.12 \
25-
usr/local/bin/python3.12-config
29+
usr/local/lib/python3.13 \
30+
usr/local/bin/python3.13-config
2631

27-
GETDATA_DEV_TARARGS = --exclude=usr/local/include/python3.12/pyconfig.h \
28-
usr/local/include/python3.12 \
32+
GETDATA_DEV_TARARGS = --exclude=usr/local/include/python3.13/pyconfig.h \
33+
usr/local/include/python3.13 \
2934
usr/local/lib/pkgconfig/python3.pc \
3035
usr/local/lib/pkgconfig/python3-embed.pc \
31-
usr/local/lib/pkgconfig/python-3.12.pc \
32-
usr/local/lib/pkgconfig/python-3.12-embed.pc \
33-
usr/local/lib/python3.12/config-3.12-arm-linux-gnueabi/libpython3.12.a
36+
usr/local/lib/pkgconfig/python-3.13.pc \
37+
usr/local/lib/pkgconfig/python-3.13-embed.pc \
38+
usr/local/lib/python3.13/config-3.13-arm-linux-gnueabi/libpython3.13.a
3439

3540
GETDATA_DBG_TARARGS = usr/local/bin/.debug/python3.debug \
3641
usr/local/lib/.debug/libpython3* \
37-
usr/local/lib/python3.12/lib-dynload/.debug
42+
usr/local/lib/python3.13/lib-dynload/.debug
3843

3944
EXTRA_CONTROL = postinst prerm
4045

41-
EXES = usr/local/bin/python3.12 \
42-
usr/local/lib/libpython3.12.so.1.0 \
43-
usr/local/lib/python3.12/lib-dynload/*.so
46+
EXES = usr/local/bin/python3.13 \
47+
usr/local/lib/libpython3.13.so.1.0 \
48+
usr/local/lib/python3.13/lib-dynload/*.so
4449

4550
include ./Mk/remote_build.mk
4651
include ./Mk/ipk.mk

Mk/globals.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ifneq ("$(wildcard $(BUILD_ROOT)/vars)","")
66
include ${BUILD_ROOT}/vars
77
endif
88

9-
YEAR = 2024
9+
YEAR = 2025
1010
RELEASE = ${YEAR}-dev
1111
ARCH ?= cortexa9-vfpv3
1212

Mk/remote_build.mk

+8-10
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# BUILD_DIR - the directory where the TGZ gets extracted to.
1111
# defaults to TGZ with .tgz and .tar.gz stripped
1212
# BUILD_DIR_EXTRA - the directory inside the TGZ that builds should happen in
13-
# BUILD_WARNING - warning to print before build
13+
# CONFIGURE_CMD - the build command
1414
# BUILD_CMD - the build command
1515
# INSTALL_CMD - the install command
1616
# GETDATA_TARARGS - the args to use for tar when getting data
@@ -31,7 +31,7 @@ ifndef ROBORIO
3131
$(error ROBORIO is not set, use 'make ROBORIO=roborio-XXXX-frc.local')
3232
endif
3333

34-
.PHONY: all init-ssh sync-date install-deps fetch extract build install strip-exes fetch-src getdata getdata-pkg getdata-dev getdata-dbg
34+
.PHONY: all init-ssh sync-date install-deps fetch extract patch build install strip-exes fetch-src getdata getdata-pkg getdata-dev getdata-dbg
3535

3636
ifdef GETDATA_DEV_TARARGS
3737
GETDATA_DEV_TARGET=getdata-dev
@@ -43,7 +43,7 @@ endif
4343

4444
ALLTARGETS ?= clean \
4545
sync-date install-deps \
46-
fetch extract build install strip-exes \
46+
fetch extract patch configure build install strip-exes \
4747
getdata ipk
4848
all: ${ALLTARGETS}
4949

@@ -67,18 +67,16 @@ ${TGZ}:
6767
extract: ${TGZ}
6868
ssh ${BUILD_USER}@${ROBORIO} 'cd ${BUILD_HOME} && rm -rf ${BUILD_DIR}'
6969
cat ${TGZ} | ssh ${BUILD_USER}@${ROBORIO} 'cd ${BUILD_HOME} && mkdir ${BUILD_DIR} && cd ${BUILD_DIR} && tar xzf - --strip-components=1'
70+
71+
patch:
7072
ifdef PATCHES
7173
$(foreach patch, $(PATCHES), ssh ${BUILD_USER}@${ROBORIO} 'cd ${BUILD_HOME} && cd ${BUILD_DIR} && patch -p1' < $(patch))
7274
endif
7375

76+
configure:
77+
ssh ${BUILD_USER}@${ROBORIO} 'ulimit -s ${STACK_SIZE} && cd ${BUILD_HOME} && cd ${BUILD_DIR}/${BUILD_DIR_EXTRA} && ${CONFIGURE_CMD}'
78+
7479
build:
75-
ifdef BUILD_WARNING
76-
@echo "--------------------------------------------------------------"
77-
@echo "${BUILD_WARNING}"
78-
@echo "--------------------------------------------------------------"
79-
@echo "Press ENTER to continue"
80-
@bash -c read
81-
endif
8280
ssh ${BUILD_USER}@${ROBORIO} 'ulimit -s ${STACK_SIZE} && cd ${BUILD_HOME} && cd ${BUILD_DIR}/${BUILD_DIR_EXTRA} && ${BUILD_CMD}'
8381

8482
install:

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ There are several non-automated steps:
2828
mkdir /media/sda1/bin
2929
mkdir /media/sda1/include
3030
mkdir /media/sda1/lib
31+
mkdir /media/sda1/lib
32+
33+
rmdir /usr/local/lib
3134
3235
ln -s /media/sda1/bin /usr/local/bin
3336
ln -s /media/sda1/include /usr/local/include

control

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
Package: python312
2-
Version: 3.12.1-r1
1+
Package: python313
2+
Version: 3.13.0-r1
33
Description: Python programming language
44
Section: devel
55
Priority: optional
66
Maintainer: RobotPy Developers <[email protected]>
77
License: BSD
88
Architecture: cortexa9-vfpv3
9-
OE: python312
9+
OE: python313
1010
Homepage: http://www.python.org
1111
Depends: libc6
1212
Recommends: libreadline6
13-
Source: https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz
13+
Source: https://www.python.org/ftp/python/3.13.0/Python-3.13.0.tgz

postinst

+18-18
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,30 @@ if [ x"$D" = "x" ]; then
33
if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi
44
fi
55
# compile library files
6-
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.12 LD_LIBRARY_PATH=/usr/local/lib \
7-
/usr/local/bin/python3 -Wi /usr/local/lib/python3.12/compileall.py \
8-
-d lib/python3.12 -f -q \
6+
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.13 LD_LIBRARY_PATH=/usr/local/lib \
7+
/usr/local/bin/python3 -Wi /usr/local/lib/python3.13/compileall.py \
8+
-d lib/python3.13 -f -q \
99
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
10-
/usr/local/lib/python3.12
11-
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.12 LD_LIBRARY_PATH=/usr/local/lib \
12-
/usr/local/bin/python3 -Wi -O /usr/local/lib/python3.12/compileall.py \
13-
-d lib/python3.12 -f -q \
10+
/usr/local/lib/python3.13
11+
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.13 LD_LIBRARY_PATH=/usr/local/lib \
12+
/usr/local/bin/python3 -Wi -O /usr/local/lib/python3.13/compileall.py \
13+
-d lib/python3.13 -f -q \
1414
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
15-
/usr/local/lib/python3.12
16-
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.12 LD_LIBRARY_PATH=/usr/local/lib \
17-
/usr/local/bin/python3 -Wi /usr/local/lib/python3.12/compileall.py \
18-
-d lib/python3.12/site-packages -f -q \
19-
-x badsyntax /usr/local/lib/python3.12/site-packages
20-
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.12 LD_LIBRARY_PATH=/usr/local/lib \
21-
/usr/local/bin/python3 -Wi -O /usr/local/lib/python3.12/compileall.py \
22-
-d lib/python3.12/site-packages -f -q \
23-
-x badsyntax /usr/local/lib/python3.12/site-packages
15+
/usr/local/lib/python3.13
16+
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.13 LD_LIBRARY_PATH=/usr/local/lib \
17+
/usr/local/bin/python3 -Wi /usr/local/lib/python3.13/compileall.py \
18+
-d lib/python3.13/site-packages -f -q \
19+
-x badsyntax /usr/local/lib/python3.13/site-packages
20+
/usr/bin/env PYTHONPATH=/usr/local/lib/python3.13 LD_LIBRARY_PATH=/usr/local/lib \
21+
/usr/local/bin/python3 -Wi -O /usr/local/lib/python3.13/compileall.py \
22+
-d lib/python3.13/site-packages -f -q \
23+
-x badsyntax /usr/local/lib/python3.13/site-packages
2424

2525
# Fix pip to not warn when running as root because we don't care
2626
sed -i 's/def warn_if_run_as_root() -> None:$/def warn_if_run_as_root() -> None: return\ndef _unused():/g' \
27-
/usr/local/lib/python3.12/site-packages/pip/_internal/cli/req_command.py
27+
/usr/local/lib/python3.13/site-packages/pip/_internal/cli/req_command.py
2828

2929
# Let user program set RT thread priorities by making CAP_SYS_NICE
3030
# permitted, inheritable, and effective. See "man 7 capabilities"
3131
# for docs on capabilities and file capability sets.
32-
setcap cap_sys_nice+eip /usr/local/bin/python3.12
32+
setcap cap_sys_nice+eip /usr/local/bin/python3.13

prerm

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/sh
22
# delete compiled library files
3-
find /usr/local/lib/python3.12 -name __pycache__ -type d -prune -exec rm -r '{}' ';'
3+
find /usr/local/lib/python3.13 -name __pycache__ -type d -prune -exec rm -r '{}' ';'

0 commit comments

Comments
 (0)