* Deprecate and remove Python2 thanks to @CoreELEC as an upstream.

* Optimize mupen64plus, plus-nx, and yabasanshiro a bit
* Misc OS updates and bug fixes.
This commit is contained in:
fewtarius 2022-02-27 18:34:12 -05:00
parent 4b49f09eae
commit b2d76a6e53
No known key found for this signature in database
GPG key ID: F4AE55305D1B8C1A
68 changed files with 506 additions and 1256 deletions

View file

@ -414,7 +414,7 @@ reset_pkg_vars() {
PKG_LICENSE="unknown"
PKG_TOOLCHAIN="auto"
PKG_IS_ADDON="no"
PKG_PYTHON_VERSION="python2.7"
PKG_PYTHON_VERSION="python3.9"
}
set_debug_depends() {

View file

@ -1,33 +0,0 @@
<?xml version="1.0"?><!--*-nxml-*-->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<!--
This file is part of PulseAudio.
PulseAudio is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
PulseAudio is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
-->
<busconfig>
<!-- System-wide PulseAudio runs as 'root' user. This fragment is
not necessary for user PulseAudio instances. -->
<policy user="root">
<allow own="org.pulseaudio.Server"/>
<allow send_destination="org.pulseaudio.Server"/>
<allow receive_sender="org.pulseaudio.Server"/>
</policy>
</busconfig>

View file

@ -19,14 +19,12 @@
# mode.
### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
### Automatically restore the volume of streams and devices
load-module module-stream-restore
load-module module-device-restore
load-module module-card-restore
### Automatically restore the default sink/source when changed by the user
### during runtime
@ -34,19 +32,12 @@ load-module module-device-restore
### that look up the default sink/source get the right value
load-module module-default-device-restore
### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams
### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink
### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle
### Enable positioned event sounds
load-module module-position-event-sounds
### Automatically load modules for dbus
.ifexists module-dbus-protocol.so
load-module module-dbus-protocol

View file

@ -3,20 +3,19 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="pulseaudio"
PKG_VERSION="14.2"
PKG_SHA256="75d3f7742c1ae449049a4c88900e454b8b350ecaa8c544f3488a2562a9ff66f1"
PKG_VERSION="15.0"
PKG_SHA256="a40b887a3ba98cc26976eb11bdb6613988f145b19024d1b6555c6a03c9cba1a0"
PKG_LICENSE="GPL"
PKG_SITE="http://pulseaudio.org/"
PKG_URL="http://www.freedesktop.org/software/pulseaudio/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain alsa-lib dbus libcap libsndfile libtool openssl soxr speexdsp systemd glib:host glib"
PKG_LONGDESC="PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for your sound applications."
PKG_TOOLCHAIN="meson"
if [ "${BLUETOOTH_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" sbc"
PKG_PULSEAUDIO_BLUETOOTH="-Dbluez5=true"
PKG_DEPENDS_TARGET+=" sbc bluez"
PKG_PULSEAUDIO_BLUETOOTH="-Dbluez5=enabled"
else
PKG_PULSEAUDIO_BLUETOOTH="-Dbluez5=false"
PKG_PULSEAUDIO_BLUETOOTH="-Dbluez5=disabled"
fi
if [ "${AVAHI_DAEMON}" = "yes" ]; then
@ -26,7 +25,9 @@ else
PKG_PULSEAUDIO_AVAHI="-Davahi=disabled"
fi
PKG_MESON_OPTS_TARGET="-Dgcov=false \
PKG_MESON_OPTS_TARGET="-Ddaemon=true \
-Ddoxygen=false \
-Dgcov=false \
-Dman=false \
-Dtests=false \
-Dsystem_user=root \
@ -34,6 +35,7 @@ PKG_MESON_OPTS_TARGET="-Dgcov=false \
-Daccess_group=root \
-Ddatabase=simple \
-Dlegacy-database-entry-format=false \
-Dstream-restore-clear-old-devices=false \
-Drunning-from-build-tree=false \
-Datomic-arm-linux-helpers=true \
-Datomic-arm-memory-barrier=false \
@ -43,12 +45,15 @@ PKG_MESON_OPTS_TARGET="-Dgcov=false \
-Dasyncns=disabled \
${PKG_PULSEAUDIO_AVAHI} \
${PKG_PULSEAUDIO_BLUETOOTH} \
-Dbluez5-gstreamer=disabled \
-Dbluez5-native-headset=false \
-Dbluez5-ofono-headset=false \
-Ddbus=enabled \
-Delogind=disabled \
-Dfftw=disabled \
-Dglib=enabled \
-Dgsettings=disabled \
-Dgstreamer=disabled \
-Dgtk=disabled \
-Dhal-compat=false \
-Dipv6=true \
@ -56,11 +61,14 @@ PKG_MESON_OPTS_TARGET="-Dgcov=false \
-Dlirc=disabled \
-Dopenssl=enabled \
-Dorc=disabled \
-Doss-output=disabled \
-Dsamplerate=disabled \
-Dsoxr=enabled \
-Dspeex=enabled \
-Dsystemd=enabled \
-Dtcpwrap=disabled \
-Dudev=enabled \
-Dvalgrind=disabled \
-Dx11=disabled \
-Dadrian-aec=true \
-Dwebrtc-aec=disabled"
@ -68,8 +76,6 @@ PKG_MESON_OPTS_TARGET="-Dgcov=false \
pre_configure_target() {
sed -e 's|; remixing-use-all-sink-channels = yes|; remixing-use-all-sink-channels = no|' \
-i ${PKG_BUILD}/src/daemon/daemon.conf.in
sed -e 's|; default-fragments = 4|; default-fragments = 5|' \
-i ${PKG_BUILD}/src/daemon/daemon.conf.in
}
post_makeinstall_target() {
@ -82,7 +88,8 @@ post_makeinstall_target() {
safe_remove ${INSTALL}/usr/share/bash-completion
cp ${PKG_DIR}/config/system.pa ${INSTALL}/etc/pulse/
cp ${PKG_DIR}/config/pulseaudio-system.conf ${INSTALL}/etc/dbus-1/system.d/
sed 's/user="pulse"/user="root"/' -i ${INSTALL}/etc/dbus-1/system.d/pulseaudio-system.conf
mkdir -p ${INSTALL}/usr/config
cp -PR ${PKG_DIR}/config/pulse-daemon.conf.d ${INSTALL}/usr/config

View file

@ -5,8 +5,10 @@ After=syslog.target local-fs.target
[Service]
Type=dbus
BusName=org.pulseaudio.Server
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --exit-idle-time=-1 --disable-shm
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --exit-idle-time=-1 --disable-shm --enable-memfd --realtime
Restart=on-failure
Environment=PULSE_STATE_PATH=/storage/.config/pulse
Environment=PULSE_CONFIG_PATH=/storage/.config/pulse
[Install]
WantedBy=multi-user.target

View file

@ -3,8 +3,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="boost"
PKG_VERSION="1.76.0"
PKG_SHA256="f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41"
PKG_VERSION="1.78.0"
PKG_SHA256="8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc"
PKG_LICENSE="OSS"
PKG_SITE="http://www.boost.org/"
PKG_URL="https://boostorg.jfrog.io/artifactory/main/release/${PKG_VERSION}/source/${PKG_NAME}_${PKG_VERSION//./_}.tar.bz2"
@ -25,8 +25,8 @@ makeinstall_host() {
}
pre_configure_target() {
export CFLAGS="${CFLAGS} -I${TOOLCHAIN}/include/${PKG_PYTHON_VERSION}"
export CXXFLAGS="${CXXFLAGS} -I${TOOLCHAIN}/include/${PKG_PYTHON_VERSION}"
export CFLAGS="${CFLAGS} -I${SYSROOT_PREFIX}/usr/include/${PKG_PYTHON_VERSION}"
export CXXFLAGS="${CXXFLAGS} -I${SYSROOT_PREFIX}/usr/include/${PKG_PYTHON_VERSION}"
}
configure_target() {

View file

@ -3,18 +3,17 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="glib"
PKG_VER_MAJOR="2.70"
PKG_VERSION="${PKG_VER_MAJOR}.1"
PKG_SHA256="f9b7bce7f51753a1f43853bbcaca8bf09e15e994268e29cfd7a76f65636263c0"
PKG_VERSION="2.71.0"
PKG_SHA256="926816526f6e4bba9af726970ff87be7dac0b70d5805050c6207b7bb17ea4fca"
PKG_LICENSE="LGPL"
PKG_SITE="http://www.gtk.org/"
PKG_URL="https://download.gnome.org/sources/glib/${PKG_VER_MAJOR}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="https://www.gtk.org/"
PKG_URL="https://download.gnome.org/sources/glib/$(get_pkg_version_maj_min)/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="libffi:host pcre:host Python3:host meson:host ninja:host"
PKG_DEPENDS_TARGET="toolchain pcre zlib libffi Python3:host util-linux"
PKG_LONGDESC="A library which includes support routines for C such as lists, trees, hashes, memory allocation."
PKG_TOOLCHAIN="meson"
PKG_MESON_OPTS_HOST="-Ddefault_library=static \
PKG_MESON_OPTS_HOST="-Ddefault_library=shared \
-Dinstalled_tests=false \
-Dlibmount=disabled \
-Dtests=false"
@ -32,12 +31,6 @@ PKG_MESON_OPTS_TARGET="-Ddefault_library=shared \
-Dforce_posix_threads=true \
-Dtests=false"
PKG_MESON_PROPERTIES_TARGET="
have_c99_vsnprintf=false
have_c99_snprintf=false
growing_stack=false
va_val_copy=false"
post_makeinstall_target() {
rm -rf ${INSTALL}/usr/bin
rm -rf ${INSTALL}/usr/lib/gdbus-2.0

View file

@ -3,18 +3,17 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libffi"
PKG_VERSION="3.3"
PKG_SHA256="72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056"
PKG_VERSION="3.4.2"
PKG_SHA256="540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620"
PKG_LICENSE="GPL"
PKG_SITE="http://sourceware.org/${PKG_NAME}/"
PKG_URL="ftp://sourceware.org/pub/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_URL="https://github.com/libffi/libffi/releases/download/v${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="ccache:host autoconf:host automake:host libtool:host pkg-config:host"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Foreign Function Interface Library."
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_TARGET="--disable-debug \
--enable-static --disable-shared \
--with-pic \
--enable-structs \
--enable-raw-api \

View file

@ -2,28 +2,23 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="mupen64plus-nx"
PKG_VERSION="6e9dcd2cd9d23d3e79eaf2349bf7e9f25ad45bf1"
PKG_SHA256="6f674ce910c85dc5f43e2c3685484d8da8f7e420d4da242f2b524b692da5909f"
PKG_VERSION="6e9dcd2"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mupen64plus-libretro-nx"
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain nasm:host $OPENGLES"
PKG_DEPENDS_TARGET="toolchain nasm:host ${OPENGLES}"
PKG_SECTION="libretro"
PKG_SHORTDESC="mupen64plus NX"
PKG_LONGDESC="mupen64plus NX"
PKG_TOOLCHAIN="make"
PKG_BUILD_FLAGS="-lto"
PKG_PATCH_DIRS+="${DEVICE}"
pre_configure_target() {
sed -e "s|^GIT_VERSION ?.*$|GIT_VERSION := \" ${PKG_VERSION:0:7}\"|" -i Makefile
if [ $ARCH == "arm" ]; then
sed -i "s|cortex-a53|cortex-a35|g" Makefile
PKG_MAKE_OPTS_TARGET+=" platform=odroidgoa"
else
PKG_MAKE_OPTS_TARGET+=" platform=amlogic64"
fi
PKG_MAKE_OPTS_TARGET+=" platform=RK3399"
}
makeinstall_target() {

View file

@ -0,0 +1,37 @@
diff -rupN mupen64plus.orig/Makefile mupen64plus/Makefile
--- mupen64plus.orig/Makefile 2022-02-07 10:11:16.000000000 -0500
+++ mupen64plus/Makefile 2022-02-27 13:09:04.477952724 -0500
@@ -304,7 +304,7 @@ else ifneq (,$(findstring AMLG,$(platfor
HAVE_NEON = 1
WITH_DYNAREC=arm
- COREFLAGS += -DUSE_GENERIC_GLESV2 -DOS_LINUX
+ #COREFLAGS += -DUSE_GENERIC_GLESV2 -DOS_LINUX
ASFLAGS = -f elf -d ELF_TYPE
# Amlogic S905/S912
@@ -325,10 +325,8 @@ else ifneq (,$(findstring RK,$(platform)
LDFLAGS += -shared -Wl,--version-script=$(LIBRETRO_DIR)/link.T -Wl,--no-undefined -ldl
ifneq (,$(findstring RK33,$(platform)))
- CPUFLAGS += -march=armv8-a+crc -mfloat-abi=hard -mfpu=neon-fp-armv8
ifneq (,$(findstring RK3399,$(platform)))
- CPUFLAGS += -mtune=cortex-a72.cortex-a53
- GLES3 = 1
+ CPUFLAGS += -march=armv8-a -mtune=cortex-a72.cortex-a53
else ifneq (,$(findstring RK3328,$(platform)))
CPUFLAGS += -mtune=cortex-a53
GLES = 1
@@ -342,9 +340,10 @@ else ifneq (,$(findstring RK,$(platform)
COREFLAGS += -DEGL_NO_X11
endif
+ GLES = 1
GL_LIB := -lGLESv2
- HAVE_NEON = 1
- WITH_DYNAREC=arm
+ HAVE_NEON = 0
+ WITH_DYNAREC := aarch64
COREFLAGS += -DUSE_GENERIC_GLESV2 -DOS_LINUX
ASFLAGS = -f elf -d ELF_TYPE

View file

@ -1,19 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -248,9 +248,13 @@
LDFLAGS += -shared -Wl,--version-script=$(LIBRETRO_DIR)/link.T -Wl,--no-undefined -ldl
GLES = 1
GL_LIB := -lGLESv2
- CPUFLAGS += -marm -mfloat-abi=hard -mfpu=neon
- HAVE_NEON = 1
- WITH_DYNAREC=arm
+ ifneq (,$(findstring amlogic64,$(platform)))
+ WITH_DYNAREC=aarch64
+ else
+ CPUFLAGS += -marm -mfloat-abi=hard -mfpu=neon
+ HAVE_NEON = 1
+ WITH_DYNAREC=arm
+ endif
COREFLAGS += -DUSE_GENERIC_GLESV2 -DOS_LINUX
CPUFLAGS += -march=armv8-a -mcpu=cortex-a53 -mtune=cortex-a53

View file

@ -40,36 +40,9 @@ pre_make_target() {
}
pre_configure_target() {
case $PROJECT in
Amlogic-ng)
if [ $ARCH == "arm" ]; then
PKG_MAKE_OPTS_TARGET="platform=odroid board=c2"
else
PKG_MAKE_OPTS_TARGET="platform=odroid64 board=n2 HAVE_NEON=0"
fi
;;
Amlogic)
if [ $ARCH == "arm" ]; then
PKG_MAKE_OPTS_TARGET="platform=odroid BOARD=c2"
else
PKG_MAKE_OPTS_TARGET="platform=odroid64 BOARD=c2 HAVE_NEON=0"
fi
;;
esac
if [[ "$DEVICE" =~ RG351 ]] || [[ "$DEVICE" =~ RG552 ]]; then
if [[ "$ARCH" == "arm" ]]; then
CFLAGS="$CFLAGS -DLINUX -DEGL_API_FB"
CPPFLAGS="$CPPFLAGS -DLINUX -DEGL_API_FB"
PKG_MAKE_OPTS_TARGET=" platform=unix GLES=1 FORCE_GLES=1 HAVE_NEON=1 WITH_DYNAREC=arm"
else
CFLAGS="$CFLAGS -DLINUX -DEGL_API_FB"
CPPFLAGS="$CPPFLAGS -DLINUX -DEGL_API_FB"
PKG_MAKE_OPTS_TARGET=" platform=unix GLES=1 FORCE_GLES=1 HAVE_NEON=0 WITH_DYNAREC=aarch64"
fi
fi
CFLAGS="$CFLAGS -DLINUX -DEGL_API_FB"
CPPFLAGS="$CPPFLAGS -DLINUX -DEGL_API_FB"
PKG_MAKE_OPTS_TARGET=" platform=RK3399"
}
makeinstall_target() {

View file

@ -0,0 +1,39 @@
diff -rupN mupen64plus.orig/Makefile mupen64plus/Makefile
--- mupen64plus.orig/Makefile 2022-02-27 09:19:06.080700288 -0500
+++ mupen64plus/Makefile 2022-02-27 13:27:51.390268523 -0500
@@ -238,6 +238,35 @@ else ifneq (,$(findstring osx,$(platform
COREFLAGS += -DOS_LINUX
ASFLAGS = -f elf -d ELF_TYPE
+
+# Rockchip RK3288 e.g. Asus Tinker Board / RK3328 e.g. PINE64 Rock64 / RK3399 e.g. PINE64 RockPro64 - 32-bit userspace
+else ifneq (,$(findstring RK,$(platform)))
+ TARGET := $(TARGET_NAME)_libretro.so
+ LDFLAGS += -shared -Wl,--version-script=$(LIBRETRO_DIR)/link.T -Wl,--no-undefined -ldl
+
+ ifneq (,$(findstring RK33,$(platform)))
+ ifneq (,$(findstring RK3399,$(platform)))
+ CPUFLAGS += -march=armv8-a -mtune=cortex-a72.cortex-a53
+ else ifneq (,$(findstring RK3328,$(platform)))
+ CPUFLAGS += -mtune=cortex-a53
+ GLES = 1
+ endif
+ else ifneq (,$(findstring RK3288,$(platform)))
+ CPUFLAGS += -march=armv7ve -mtune=cortex-a17 -mfloat-abi=hard -mfpu=neon-vfpv4
+ GLES3 = 1
+ endif
+
+ ifneq (,$(findstring mesa,$(platform)))
+ COREFLAGS += -DEGL_NO_X11
+ endif
+
+ GLES = 1
+ GL_LIB := -lGLESv2
+ HAVE_NEON = 0
+ WITH_DYNAREC := aarch64
+ COREFLAGS += -DUSE_GENERIC_GLESV2 -DOS_LINUX
+ ASFLAGS = -f elf -d ELF_TYPE
+
# iOS
else ifneq (,$(findstring ios,$(platform)))
ifeq ($(IOSSDK),)

View file

@ -1,11 +0,0 @@
--- a/Makefile 2018-12-15 12:01:25.246556521 -0600
+++ b/Makefile 2018-12-15 12:01:37.110536416 -0600
@@ -92,6 +92,8 @@
else
GL_LIB := -lGL
endif
+ HAVE_NEON = 1
+ WITH_DYNAREC=arm
COREFLAGS += -DOS_LINUX
ASFLAGS = -f elf -d ELF_TYPE

View file

@ -47,7 +47,7 @@ diff -rupN parallel-n64.orig/Makefile parallel-n64.new/Makefile
+ LDFLAGS += -static-libgcc #-static-libstdc++
+ fpic = -fPIC
+ GLES = 1
+ GL_LIB := -lGLESv3
+ GL_LIB := -lGLESv2
+ HAVE_OPENGL = 0
+ HAVE_NEON = 1
+ FORCE_GLES = 1

View file

@ -35,10 +35,7 @@ PKG_TOOLCHAIN="make"
GET_HANDLER_SUPPORT="git"
pre_configure_target() {
# For some reason linkin to GLESv2 gives error, so we link it to GLESv3
sed -i "s|-lGLESv2|-lGLESv3|g" $PKG_BUILD/yabause/src/libretro/Makefile.common
sed -i "s|-mcpu=cortex-a53 -mtune=cortex-a53|-mcpu=cortex-a35 -mtune=cortex-a35|g" $PKG_BUILD/yabause/src/libretro/Makefile
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro platform=arm64_cortex_a53_gles3"
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro platform=rockpro64 HAVE_NEON=0"
}
makeinstall_target() {

View file

@ -0,0 +1,18 @@
diff -rupN yabasanshiro.orig/yabause/src/libretro/Makefile yabasanshiro/yabause/src/libretro/Makefile
--- yabasanshiro.orig/yabause/src/libretro/Makefile 2022-02-27 14:51:53.958685169 -0500
+++ yabasanshiro/yabause/src/libretro/Makefile 2022-02-27 14:57:08.993824415 -0500
@@ -155,11 +155,12 @@ else ifneq (,$(findstring rockpro64,$(pl
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
LDFLAGS += -lpthread
ARCH_IS_LINUX = 1
+ FLAGS += -DAARCH64
HAVE_SSE = 0
FORCE_GLES = 1
- USE_ARM_DRC = 1
+ USE_AARCH64_DRC = 1
DYNAREC_DEVMIYAX = 1
- FLAGS += -march=armv8-a+crc -mcpu=cortex-a72 -mtune=cortex-a72.cortex-a53 -mfloat-abi=hard -mfpu=neon-vfpv4 -mvectorize-with-neon-quad
+ FLAGS += -march=armv8-a+crc -mcpu=cortex-a72 -mtune=cortex-a72.cortex-a53
# Rpi4 (64-bit)
else ifeq ($(platform), rpi4)

View file

@ -33,5 +33,7 @@ post_makeinstall_target() {
do
rm -f ${PKG_BUILD}/.install_pkg/usr/lib/${lib}
ln -s libmali.so.${MALI_LIB_VERSION} ${PKG_BUILD}/.install_pkg/usr/lib/${lib}
rm -f ${SYSROOT_PREFIX}/usr/lib/${lib}
ln -s libmali.so.${MALI_LIB_VERSION} ${SYSROOT_PREFIX}/usr/lib/${lib}
done
}

View file

@ -41,7 +41,7 @@ PKG_COMPAT="lib32"
PKG_MULTIMEDIA="ffmpeg mpv vlc"
PKG_GAMESUPPORT="sixaxis jslisten evtest rg351p-js2xbox gptokeyb textviewer 351files jstest-sdl \
pygobject gamecontrollerdb"
gamecontrollerdb"
PKG_EXPERIMENTAL=""

View file

@ -1,125 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018 Team LibreELEC (https://libreelec.tv)
# Copyright (C) 2018-present Team CoreELEC (https://coreelec.org)
PKG_NAME="Python2"
# When changing PKG_VERSION remember to sync PKG_PYTHON_VERSION!
PKG_VERSION="2.7.16"
PKG_SHA256="f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7"
PKG_LICENSE="OSS"
PKG_SITE="http://www.python.org/"
PKG_URL="http://www.python.org/ftp/python/$PKG_VERSION/${PKG_NAME::-1}-$PKG_VERSION.tar.xz"
PKG_DEPENDS_HOST="zlib:host bzip2:host sqlite:host"
PKG_DEPENDS_TARGET="toolchain sqlite expat zlib bzip2 openssl libffi Python2:host ncurses readline"
PKG_LONGDESC="Python2 is an interpreted object-oriented programming language."
PKG_TOOLCHAIN="autotools"
PKG_BUILD_FLAGS="-parallel +lto-parallel"
PKG_PY_DISABLED_MODULES="_tkinter nis gdbm bsddb ossaudiodev"
PKG_CONFIGURE_OPTS_HOST="--cache-file=config.cache \
--without-cxx-main \
--with-threads \
--enable-unicode=ucs4"
PKG_CONFIGURE_OPTS_TARGET="ac_cv_file_dev_ptc=no \
ac_cv_file_dev_ptmx=yes \
ac_cv_func_lchflags_works=no \
ac_cv_func_chflags_works=no \
ac_cv_func_printf_zd=yes \
ac_cv_buggy_getaddrinfo=no \
ac_cv_header_bluetooth_bluetooth_h=no \
ac_cv_header_bluetooth_h=no \
ac_cv_file__dev_ptmx=no \
ac_cv_file__dev_ptc=no \
ac_cv_have_long_long_format=yes \
--with-threads \
--enable-unicode=ucs4 \
--enable-ipv6 \
--disable-profiling \
--without-pydebug \
--without-doc-strings \
--without-tsc \
--with-pymalloc \
--without-fpectl \
--without-cxx-main \
--with-system-ffi \
--enable-optimizations \
--with-system-expat"
post_patch() {
# This is needed to make sure the Python build process doesn't try to
# regenerate those files with the pgen program. Otherwise, it builds
# pgen for the target, and tries to run it on the host.
touch $PKG_BUILD/Include/graminit.h
touch $PKG_BUILD/Python/graminit.c
}
make_host() {
make PYTHON_MODULES_INCLUDE="$HOST_INCDIR" \
PYTHON_MODULES_LIB="$HOST_LIBDIR" \
PYTHON_DISABLE_MODULES="readline _curses _curses_panel $PKG_PY_DISABLED_MODULES"
# python distutils per default adds -L$LIBDIR when linking binary extensions
sed -e "s|^ 'LIBDIR':.*| 'LIBDIR': '/usr/lib',|g" -i $(cat pybuilddir.txt)/_sysconfigdata.py
}
makeinstall_host() {
make PYTHON_MODULES_INCLUDE="$HOST_INCDIR" \
PYTHON_MODULES_LIB="$HOST_LIBDIR" \
PYTHON_DISABLE_MODULES="readline _curses _curses_panel $PKG_PY_DISABLED_MODULES" \
install
}
post_makeinstall_host() {
rm -fr $PKG_BUILD/.$HOST_NAME/build/temp.*
}
pre_configure_target() {
export PYTHON_FOR_BUILD=$TOOLCHAIN/bin/python
}
make_target() {
make CC="$CC" LDFLAGS="$TARGET_LDFLAGS -L." \
PYTHON_DISABLE_MODULES="$PKG_PY_DISABLED_MODULES" \
PYTHON_MODULES_INCLUDE="$TARGET_INCDIR" \
PYTHON_MODULES_LIB="$TARGET_LIBDIR"
}
makeinstall_target() {
make CC="$CC" DESTDIR=$SYSROOT_PREFIX \
PYTHON_DISABLE_MODULES="$PKG_PY_DISABLED_MODULES" \
PYTHON_MODULES_INCLUDE="$TARGET_INCDIR" \
PYTHON_MODULES_LIB="$TARGET_LIBDIR" \
install
make CC="$CC" DESTDIR=$INSTALL \
PYTHON_DISABLE_MODULES="$PKG_PY_DISABLED_MODULES" \
PYTHON_MODULES_INCLUDE="$TARGET_INCDIR" \
PYTHON_MODULES_LIB="$TARGET_LIBDIR" \
install
}
post_makeinstall_target() {
rm -fr $PKG_BUILD/.$TARGET_NAME/build/temp.*
for dir in bsddb idlelib lib-tk lib2to3/tests msilib pydoc_data test unittest; do
rm -rf $INSTALL/usr/lib/python*/$dir
done
rm -rf $INSTALL/usr/lib/python*/config
rm -rf $INSTALL/usr/bin/2to3
rm -rf $INSTALL/usr/bin/idle
rm -rf $INSTALL/usr/bin/pydoc
rm -rf $INSTALL/usr/bin/smtpd.py
rm -rf $INSTALL/usr/bin/python*-config
cd $INSTALL/usr/lib/$PKG_PYTHON_VERSION
$TOOLCHAIN/bin/python -Wi -t -B $PKG_BUILD/Lib/compileall.py -d /usr/lib/$PKG_PYTHON_VERSION -f .
find $INSTALL/usr/lib/$PKG_PYTHON_VERSION -name "*.py" -exec rm -f {} \; &>/dev/null
# strip
chmod u+w $INSTALL/usr/lib/libpython*.so.*
debug_strip $INSTALL/usr
}

View file

@ -1,50 +0,0 @@
diff --git a/Makefile.pre.in b/Makefile.pre.in
index bcd83bf..5e54a0d 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -461,6 +463,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt
esac; \
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
+ PYTHONXCPREFIX='$(DESTDIR)$(prefix)' \
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
# Build static library
@@ -1142,7 +1145,9 @@ libainstall: all python-config
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall: sharedmods
+ CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ --skip-build \
--prefix=$(prefix) \
--install-scripts=$(BINDIR) \
--install-platlib=$(DESTSHARED) \
diff --git a/setup.py b/setup.py
index a46bf35..528e9df 100644
--- a/setup.py
+++ b/setup.py
@@ -17,7 +17,7 @@
from distutils.command.install_lib import install_lib
from distutils.spawn import find_executable
-cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ
+cross_compiling = ("_PYTHON_HOST_PLATFORM" in os.environ) or ('PYTHONXCPREFIX' in os.environ)
def get_platform():
# cross build
@@ -292,6 +292,14 @@ class PyBuildExt(build_ext):
(ext.name, sys.exc_info()[1]))
self.failed.append(ext.name)
return
+
+ # Inport check will not work when cross-compiling.
+ if os.environ.has_key('PYTHONXCPREFIX'):
+ self.announce(
+ 'WARNING: skipping inport check for cross-compiled: "%s"' %
+ ext.name)
+ return
+
# Workaround for Mac OS X: The Carbon-based modules cannot be
# reliably imported into a command-line Python
if 'Carbon' in ext.extra_link_args:

View file

@ -1,49 +0,0 @@
diff --git a/setup.py b/setup.py
index d6ef5be..7a0d8f2 100644
--- a/setup.py
+++ b/setup.py
@@ -439,13 +439,19 @@ class PyBuildExt(build_ext):
os.unlink(tmpfile)
def detect_modules(self):
- # Ensure that /usr/local is always used
- if not cross_compiling:
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- if cross_compiling:
- self.add_gcc_paths()
- self.add_multiarch_paths()
+ try:
+ modules_include_dirs = os.environ["PYTHON_MODULES_INCLUDE"].split()
+ except KeyError:
+ modules_include_dirs = ['/usr/include']
+ try:
+ modules_lib_dirs = os.environ["PYTHON_MODULES_LIB"].split()
+ except KeyError:
+ modules_lib_dirs = ['/usr/lib']
+ self.add_multiarch_paths()
+ for dir in modules_include_dirs:
+ add_dir_to_list(self.compiler.include_dirs, dir)
+ for dir in modules_lib_dirs:
+ add_dir_to_list(self.compiler.library_dirs, dir)
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
@@ -481,17 +487,6 @@ class PyBuildExt(build_ext):
for directory in reversed(options.dirs):
add_dir_to_list(dir_list, directory)
- if os.path.normpath(sys.prefix) != '/usr' \
- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
- # building a framework with different architectures than
- # the one that is currently installed (issue #7473)
- add_dir_to_list(self.compiler.library_dirs,
- sysconfig.get_config_var("LIBDIR"))
- add_dir_to_list(self.compiler.include_dirs,
- sysconfig.get_config_var("INCLUDEDIR"))
-
try:
have_unicode = unicode
except NameError:

View file

@ -1,16 +0,0 @@
diff --git a/setup.py b/setup.py
index a46bf35..d6ef5be 100644
--- a/setup.py
+++ b/setup.py
@@ -33,7 +33,10 @@ host_platform = get_platform()
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
# This global variable is used to hold the list of modules to be disabled.
-disabled_module_list = []
+try:
+ disabled_module_list = os.environ["PYTHON_DISABLE_MODULES"].split()
+except KeyError:
+ disabled_module_list = []
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if

View file

@ -1,24 +0,0 @@
diff --git a/setup.py b/setup.py
index 07af0b6..6426b22 100644
--- a/setup.py
+++ b/setup.py
@@ -2030,10 +2030,18 @@ class PyBuildExt(build_ext):
if not self.verbose:
config_args.append("-q")
+
+ #NOTE: best solution is to add to configure script
+ # as config subdirectory and to exclude darwin
+ # (see configure_ctypes_darwin).
+ #FIXME: lets for now pass all top configure arguments
+ #and do not modify configure script.
+ config_args = sysconfig.get_config_var("CONFIG_ARGS")
+
# Pass empty CFLAGS because we'll just append the resulting
# CFLAGS to Python's; -g or -O2 is to be avoided.
cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
- % (ffi_builddir, ffi_srcdir, " ".join(config_args))
+ % (ffi_builddir, ffi_srcdir, config_args)
res = os.system(cmd)
if res or not os.path.exists(ffi_configfile):

View file

@ -1,29 +0,0 @@
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 918f210..c82366c 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1011,24 +1011,6 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
fi
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \

View file

@ -1,12 +0,0 @@
diff -Naur Python-2.7.10.orig/configure Python-2.7.10/configure
--- Python-2.7.10.orig/configure 2015-08-18 12:24:03.016649265 -0700
+++ Python-2.7.10/configure 2015-08-18 12:23:41.716695873 -0700
@@ -14215,7 +14215,7 @@
# first curses configure check
ac_save_cppflags="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
+CPPFLAGS="$CPPFLAGS -I${prefix}/usr/include/ncursesw"
for ac_header in curses.h ncurses.h
do :

View file

@ -1,54 +0,0 @@
Adjust library/header paths for cross-compilation
When cross-compiling third-party extensions, the get_python_inc() or
get_python_lib() can be called, to return the path to headers or
libraries. However, they use the sys.prefix of the host Python, which
returns incorrect paths when cross-compiling (paths pointing to host
headers and libraries).
In order to fix this, we introduce the _python_sysroot, _python_prefix
and _python_exec_prefix variables, that allow to override these
values, and get correct header/library paths when cross-compiling
third-party Python modules.
The _python_sysroot variable is also used to prefix the LIBDIR value
taken from the sysconfigdata module.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/Lib/distutils/sysconfig.py
===================================================================
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -19,8 +19,13 @@
from distutils.errors import DistutilsPlatformError
# These are needed in a couple of spots, so just compute them once.
-PREFIX = os.path.normpath(sys.prefix)
-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
+if "_python_sysroot" in os.environ:
+ _sysroot=os.environ.get('_python_sysroot')
+ PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_prefix'))
+ EXEC_PREFIX = os.path.normpath(_sysroot + os.environ.get('_python_exec_prefix'))
+else:
+ PREFIX = os.path.normpath(sys.prefix)
+ EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
# Path to the base directory of the project. On Windows the binary may
# live in project/PCBuild9. If we're dealing with an x64 Windows build,
Index: b/Lib/distutils/command/build_ext.py
===================================================================
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -237,7 +237,10 @@
if (sysconfig.get_config_var('Py_ENABLE_SHARED')):
if not sysconfig.python_build:
# building third party extensions
- self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
+ libdir = sysconfig.get_config_var('LIBDIR')
+ if "_python_sysroot" in os.environ:
+ libdir = os.environ.get("_python_sysroot") + libdir
+ self.library_dirs.append(libdir)
else:
# building python standard extensions
self.library_dirs.append('.')

View file

@ -1,34 +0,0 @@
diff --git a/Makefile.pre.in b/Makefile.pre.in
index bf3aed7..7ff5c79 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -464,6 +464,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
PYTHONXCPREFIX='$(DESTDIR)$(prefix)' \
+ CONFIG_ARGS="$(CONFIG_ARGS)" \
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
libpython$(VERSION).so: $(LIBRARY_OBJS)
@@ -1104,6 +1105,7 @@ libainstall: all python-config
# This goes into $(exec_prefix)
sharedinstall: sharedmods
CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ CONFIG_ARGS="$(CONFIG_ARGS)" \
$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
--skip-build \
--prefix=$(prefix) \
diff --git a/setup.py b/setup.py
index 6426b22..d2776dd 100644
--- a/setup.py
+++ b/setup.py
@@ -32,6 +32,9 @@ host_platform = get_platform()
# Were we compiled --with-pydebug or with #define Py_DEBUG?
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
+sysconfig.get_config_vars()
+sysconfig._CONFIG_VARS.update(os.environ)
+
# This global variable is used to hold the list of modules to be disabled.
try:
disabled_module_list = os.environ["PYTHON_DISABLE_MODULES"].split()

View file

@ -1,21 +0,0 @@
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
index 2aa1cb1..529e2d4 100644
--- a/Lib/distutils/unixccompiler.py
+++ b/Lib/distutils/unixccompiler.py
@@ -83,6 +83,16 @@ class UnixCCompiler(CCompiler):
if sys.platform == "cygwin":
exe_extension = ".exe"
+ def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
+ """Remove standard library path from rpath"""
+ libraries, library_dirs, runtime_library_dirs = \
+ CCompiler._fix_lib_args(self, libraries, library_dirs,
+ runtime_library_dirs)
+ libdir = sysconfig.get_config_var('LIBDIR')
+ if runtime_library_dirs and (libdir in runtime_library_dirs):
+ runtime_library_dirs.remove(libdir)
+ return libraries, library_dirs, runtime_library_dirs
+
def preprocess(self, source,
output_file=None, macros=None, include_dirs=None,
extra_preargs=None, extra_postargs=None):

View file

@ -1,208 +0,0 @@
Add a backport of http://bugs.python.org/issue16235 so we can use
python-config for cross builds.
This basically replaces the python version of python-config with a pure-shell
version that's already preprocessed when installed and doesn't depend
on the sysconfig import that usually leads to bad data/results.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Index: b/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
@@ -885,6 +885,7 @@
# Other platforms follow
if test $enable_shared = "yes"; then
+ PY_ENABLE_SHARED=1
AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.])
case $ac_sys_system in
BeOS*)
@@ -945,6 +946,7 @@
esac
else # shared is disabled
+ PY_ENABLE_SHARED=0
case $ac_sys_system in
CYGWIN*)
BLDLIBRARY='$(LIBRARY)'
@@ -1921,6 +1923,9 @@
AC_SUBST(BLDSHARED)
AC_SUBST(CCSHARED)
AC_SUBST(LINKFORSHARED)
+AC_SUBST(PY_ENABLE_SHARED)
+LIBPL="${prefix}/lib/python${VERSION}/config"
+AC_SUBST(LIBPL)
# SO is the extension of shared libraries `(including the dot!)
# -- usually .so, .sl on HP-UX, .dll on Cygwin
AC_MSG_CHECKING(SO)
@@ -4588,7 +4593,7 @@
AC_SUBST(ENSUREPIP)
# generate output files
-AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh)
AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
AC_OUTPUT
Index: b/Makefile.pre.in
===================================================================
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -166,7 +166,7 @@
SUBDIRSTOO= Include Lib Misc Demo
# Files and directories to be distributed
-CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in
+CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Misc/python-config.sh
DISTFILES= README ChangeLog $(CONFIGFILES)
DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
DIST= $(DISTFILES) $(DISTDIRS)
@@ -410,7 +410,7 @@
# Default target
all: @DEF_MAKE_ALL_RULE@
-build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
+build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks python-config
# Compile a binary with gcc profile guided optimization.
profile-opt:
@@ -1101,10 +1101,12 @@
fi; \
cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
-python-config: $(srcdir)/Misc/python-config.in
+python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
# Substitution happens here, as the completely-expanded BINDIR
# is not available in configure
- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
+ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
+ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
+ sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' Misc/python-config.sh >python-config
# Install the include files
INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
@@ -1163,7 +1165,7 @@
$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
$(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
- rm python-config
+ $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
@if [ -s Modules/python.exp -a \
"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
echo; echo "Installing support files for building shared extension modules on AIX:"; \
@@ -1345,6 +1347,7 @@
config.cache config.log pyconfig.h Modules/config.c
-rm -rf build platform
-rm -rf $(PYTHONFRAMEWORKDIR)
+ -rm -f python-config.py python-config
# Make things extra clean, before making a distribution:
# remove all generated files, even Makefile[.pre]
Index: b/Misc/python-config.sh.in
===================================================================
--- /dev/null
+++ b/Misc/python-config.sh.in
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+exit_with_usage ()
+{
+ echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir"
+ exit $1
+}
+
+if [ "$1" = "" ] ; then
+ exit_with_usage 1
+fi
+
+# Returns the actual prefix where this script was installed to.
+installed_prefix ()
+{
+ RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
+ if which readlink >/dev/null 2>&1 ; then
+ RESULT=$(readlink -f "$RESULT")
+ fi
+ echo $RESULT
+}
+
+prefix_build="@prefix@"
+prefix_real=$(installed_prefix "$0")
+
+# Use sed to fix paths from their built to locations to their installed to locations.
+prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#")
+exec_prefix_build="@exec_prefix@"
+exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#")
+includedir=$(echo "@includedir@")
+libdir=$(echo "@libdir@")
+CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#")
+VERSION="@VERSION@"
+LIBM="@LIBM@"
+LIBC="@LIBC@"
+SYSLIBS="$LIBM $LIBC"
+LIBS="@LIBS@ $SYSLIBS -lpython${VERSION}"
+BASECFLAGS="@BASECFLAGS@"
+LDLIBRARY="@LDLIBRARY@"
+LINKFORSHARED="@LINKFORSHARED@"
+OPT="@OPT@"
+PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
+LDVERSION="@LDVERSION@"
+LIBDEST=${prefix}/lib/python${VERSION}
+LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#")
+SO="@SO@"
+PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
+INCDIR="-I$includedir/python${VERSION}"
+PLATINCDIR="-I$includedir/python${VERSION}"
+
+# Scan for --help or unknown argument.
+for ARG in $*
+do
+ case $ARG in
+ --help)
+ exit_with_usage 0
+ ;;
+ --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir)
+ ;;
+ *)
+ exit_with_usage 1
+ ;;
+esac
+done
+
+for ARG in "$@"
+do
+ case "$ARG" in
+ --prefix)
+ echo "$prefix"
+ ;;
+ --exec-prefix)
+ echo "$exec_prefix"
+ ;;
+ --includes)
+ echo "$INCDIR $PLATINCDIR"
+ ;;
+ --cflags)
+ echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT"
+ ;;
+ --libs)
+ echo "$LIBS"
+ ;;
+ --ldflags)
+ LINKFORSHAREDUSED=
+ if [ -z "$PYTHONFRAMEWORK" ] ; then
+ LINKFORSHAREDUSED=$LINKFORSHARED
+ fi
+ LIBPLUSED=
+ if [ "$PY_ENABLE_SHARED" = "0" ] ; then
+ LIBPLUSED="-L$LIBPL"
+ fi
+ echo "$LIBPLUSED -L$libdir $LIBS $LINKFORSHAREDUSED"
+ ;;
+ --extension-suffix)
+ echo "$SO"
+ ;;
+ --configdir)
+ echo "$LIBPL"
+ ;;
+esac
+done

View file

@ -1,21 +0,0 @@
Abort on failed module build
When building a Python module fails, the setup.py script currently
doesn't exit with an error, and simply continues. This is not a really
nice behavior, so this patch changes setup.py to abort with an error,
so that the build issue is clearly noticeable.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/setup.py
===================================================================
--- a/setup.py
+++ b/setup.py
@@ -283,6 +283,7 @@
print "Failed to build these modules:"
print_three_column(failed)
print
+ sys.exit(1)
def build_extension(self, ext):

View file

@ -1,51 +0,0 @@
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 918f210..eb9ee6b 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -438,7 +438,7 @@ coverage:
# Build the interpreter
-$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
+$(BUILDPYTHON): Modules/python.o $(LDLIBRARY)
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
Modules/python.o \
$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
@@ -465,18 +465,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-# Build static library
-# avoid long command lines, same as LIBRARY_OBJS
-$(LIBRARY): $(LIBRARY_OBJS)
- -rm -f $@
- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o
- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS)
- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODOBJS)
- $(RANLIB) $@
-
libpython$(VERSION).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
@@ -1090,18 +1078,6 @@ libainstall: all python-config
else true; \
fi; \
done
- @if test -d $(LIBRARY); then :; else \
- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
- if test "$(SO)" = .dll; then \
- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
- else \
- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- fi; \
- else \
- echo Skip install of $(LIBRARY) - use make frameworkinstall; \
- fi; \
- fi
$(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
$(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in

View file

@ -1,13 +0,0 @@
diff --git a/Python/compile.c b/Python/compile.c
index 1cf53f9..25665b5 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -32,7 +32,7 @@
#include "symtable.h"
#include "opcode.h"
-int Py_OptimizeFlag = 0;
+int Py_OptimizeFlag = 1;
#define DEFAULT_BLOCK_SIZE 16
#define DEFAULT_BLOCKS 8

View file

@ -1,12 +0,0 @@
diff --git a/setup.py b/setup.py
index 69b76e7..7a50cc3 100644
--- a/setup.py
+++ b/setup.py
@@ -2315,7 +2315,6 @@ def main():
# Scripts to install
scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
- 'Tools/scripts/2to3',
'Lib/smtpd.py']
)

View file

@ -1,11 +0,0 @@
--- a/Include/frameobject.h
+++ b/Include/frameobject.h
@@ -56,7 +56,7 @@
#define PyFrame_Check(op) (Py_TYPE(op) == &PyFrame_Type)
#define PyFrame_IsRestricted(f) \
- ((f)->f_tstate && (f)->f_builtins != (f)->f_tstate->interp->builtins)
+ (0)
PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
PyObject *, PyObject *);

View file

@ -1,14 +0,0 @@
diff --git a/Lib/platform.py b/Lib/platform.py
index e04d87f258..4d7bb38564 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -1283,6 +1283,9 @@ def uname():
system = 'Windows'
release = 'Vista'
+ if machine == 'aarch64' and sys.maxsize <= 2**32:
+ machine = 'armv7l'
+
_uname_cache = system,node,release,version,machine,processor
return _uname_cache

View file

@ -3,8 +3,8 @@
PKG_NAME="Python3"
# When changing PKG_VERSION remember to sync PKG_PYTHON_VERSION!
PKG_VERSION="3.8.12"
PKG_SHA256="b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea"
PKG_VERSION="3.9.10"
PKG_SHA256="0a8fbfb5287ebc3a13e9baf3d54e08fa06778ffeccf6311aef821bb3a6586cc8"
PKG_LICENSE="OSS"
PKG_SITE="https://www.python.org/"
PKG_URL="https://www.python.org/ftp/python/${PKG_VERSION}/${PKG_NAME::-1}-${PKG_VERSION}.tar.xz"
@ -13,7 +13,7 @@ PKG_DEPENDS_TARGET="toolchain Python3:host sqlite expat zlib bzip2 xz openssl li
PKG_LONGDESC="Python3 is an interpreted object-oriented programming language."
PKG_TOOLCHAIN="autotools"
PKG_PYTHON_VERSION="python3.8"
PKG_PYTHON_VERSION="python3.9"
PKG_PY_DISABLED_MODULES="_tkinter nis gdbm bsddb ossaudiodev"

View file

@ -8,7 +8,7 @@ package for Generic from building.
diff -aur a/Python/initconfig.c b/Python/initconfig.c
--- a/Python/initconfig.c 2020-07-20 09:01:32.000000000 -0400
+++ b/Python/initconfig.c 2020-08-08 03:24:02.796189739 -0400
@@ -147,7 +147,7 @@
@@ -153,7 +153,7 @@
int Py_QuietFlag = 0; /* Needed by sysmodule.c */
int Py_InteractiveFlag = 0; /* Needed by Py_FdIsInteractive() below */
int Py_InspectFlag = 0; /* Needed to determine whether to exit at SystemExit */

View file

@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 502317aa0c..f9011c132a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1455,6 +1455,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
@@ -1549,6 +1549,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
fi
@ -26,7 +26,7 @@ index 502317aa0c..f9011c132a 100644
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST) -f \
@@ -1482,6 +1483,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
@@ -1576,6 +1577,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
@ -38,7 +38,7 @@ diff --git a/configure.ac b/configure.ac
index a189d42c2c..4690cdba9f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1091,6 +1091,12 @@ fi
@@ -1128,6 +1128,12 @@ fi
AC_MSG_CHECKING(LDLIBRARY)
@ -69,7 +69,7 @@ diff --git a/configure.ac b/configure.ac
index 4690cdba9f..ffeec102b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4080,7 +4080,7 @@ fi
@@ -4222,7 +4222,7 @@ fi
AC_MSG_RESULT($ac_cv_buggy_getaddrinfo)
@ -130,7 +130,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index f9011c132a..e8a6bd5c03 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -205,6 +205,8 @@ FILEMODE= 644
@@ -215,6 +215,8 @@ FILEMODE= 644
# configure script arguments
CONFIG_ARGS= @CONFIG_ARGS@
@ -139,7 +139,7 @@ index f9011c132a..e8a6bd5c03 100644
# Subdirectories with code
SRCDIRS= @SRCDIRS@
@@ -605,6 +607,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
@@ -631,6 +633,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
esac; \
echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
@ -147,7 +147,7 @@ index f9011c132a..e8a6bd5c03 100644
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
@@ -1601,7 +1604,8 @@ libainstall: @DEF_MAKE_RULE@ python-config
@@ -1695,7 +1698,8 @@ libainstall: @DEF_MAKE_RULE@ python-config
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall: sharedmods
@ -161,7 +161,7 @@ diff --git a/configure.ac b/configure.ac
index ffeec102b7..7872b4dfee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2958,6 +2958,8 @@ LIBS="$withval $LIBS"
@@ -3093,6 +3093,8 @@ LIBS="$withval $LIBS"
PKG_PROG_PKG_CONFIG
@ -174,7 +174,7 @@ diff --git a/setup.py b/setup.py
index 20d7f35652..d3f2cc1b37 100644
--- a/setup.py
+++ b/setup.py
@@ -24,7 +24,10 @@ from distutils.spawn import find_executable
@@ -44,7 +44,10 @@ from distutils.spawn import find_executable
TEST_EXTENSIONS = True
# This global variable is used to hold the list of modules to be disabled.
@ -231,8 +231,8 @@ diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index b51629eb94..011a437bcd 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -18,10 +18,17 @@ from .errors import DistutilsPlatformError
from .util import get_platform, get_host_platform
@@ -17,10 +17,17 @@ from .errors import DistutilsPlatformError
from .errors import DistutilsPlatformError
# These are needed in a couple of spots, so just compute them once.
-PREFIX = os.path.normpath(sys.prefix)
@ -270,7 +270,7 @@ diff --git a/setup.py b/setup.py
index d3f2cc1b37..5d504d7638 100644
--- a/setup.py
+++ b/setup.py
@@ -955,12 +955,9 @@ class PyBuildExt(build_ext):
@@ -1047,12 +1047,9 @@ class PyBuildExt(build_ext):
pass # Issue 7384: Already linked against curses or tinfo.
elif curses_library:
readline_libs.append(curses_library)
@ -309,7 +309,7 @@ diff --git a/setup.py b/setup.py
index 5d504d7638..282a592dc6 100644
--- a/setup.py
+++ b/setup.py
@@ -654,10 +654,10 @@ class PyBuildExt(build_ext):
@@ -740,10 +740,10 @@ class PyBuildExt(build_ext):
if not CROSS_COMPILING:
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
@ -343,7 +343,7 @@ diff --git a/setup.py b/setup.py
index 282a592dc6..8fda3b4d47 100644
--- a/setup.py
+++ b/setup.py
@@ -444,6 +444,7 @@ class PyBuildExt(build_ext):
@@ -529,6 +529,7 @@ class PyBuildExt(build_ext):
print("Failed to build these modules:")
print_three_column(failed)
print()
@ -506,6 +506,8 @@ any system library (eg. libz, libssl, etc.)
Signed-off-by: Samuel Cabrero <samuelcabrero@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[james.hilliard1@gmail.com: adapt to python 3.9]
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@ -514,12 +516,12 @@ diff --git a/setup.py b/setup.py
index 8fda3b4d47..bb7eb44213 100644
--- a/setup.py
+++ b/setup.py
@@ -600,7 +600,7 @@ class PyBuildExt(build_ext):
@@ -686,7 +686,7 @@ class PyBuildExt(build_ext):
tmpfile = os.path.join(self.build_temp, 'ccpaths')
if not os.path.exists(self.build_temp):
os.makedirs(self.build_temp)
- ret = os.system('%s -E -v - </dev/null 2>%s 1>/dev/null' % (cc, tmpfile))
+ ret = os.system('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (cc, tmpfile))
- ret = run_command('%s -E -v - </dev/null 2>%s 1>/dev/null' % (CC, tmpfile))
+ ret = run_command('LC_ALL=C %s -E -v - </dev/null 2>%s 1>/dev/null' % (CC, tmpfile))
is_gcc = False
is_clang = False
in_incdirs = False
@ -556,7 +558,7 @@ diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_ext
index b8ac482994..db034f605a 100644
--- a/Lib/importlib/_bootstrap_external.py
+++ b/Lib/importlib/_bootstrap_external.py
@@ -306,8 +306,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
@@ -373,8 +373,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
a True value is the same as setting 'optimization' to the empty string
while a False value is equivalent to setting 'optimization' to '1'.
@ -565,7 +567,7 @@ index b8ac482994..db034f605a 100644
"""
if debug_override is not None:
_warnings.warn('the debug_override parameter is deprecated; use '
@@ -319,10 +317,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
@@ -386,10 +384,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
path = _os.fspath(path)
head, tail = _path_split(path)
base, sep, rest = tail.rpartition('.')
@ -577,7 +579,7 @@ index b8ac482994..db034f605a 100644
if optimization is None:
if sys.flags.optimize == 0:
optimization = ''
@@ -359,46 +354,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
@@ -426,46 +421,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None):
head.lstrip(path_separators),
filename,
)
@ -643,16 +645,18 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[james.hilliard1@gmail.com: adapt to python 3.9]
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Makefile.pre.in | 54 ++++++++++++++++++++++++++++++++-----------------
Makefile.pre.in | 56 ++++++++++++++++++++++++++++++++-----------------
configure.ac | 5 +++++
2 files changed, 41 insertions(+), 18 deletions(-)
2 files changed, 42 insertions(+), 19 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index e8a6bd5c03..3abee36f49 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1317,8 +1317,28 @@ maninstall: altmaninstall
@@ -1405,8 +1405,29 @@ maninstall: altmaninstall
# Install the library
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
@ -676,16 +680,17 @@ index e8a6bd5c03..3abee36f49 100644
+ multiprocessing multiprocessing/dummy \
+ unittest \
+ venv venv/scripts venv/scripts/common venv/scripts/posix \
+ curses pydoc_data
+ curses pydoc_data \
+ zoneinfo
+
+TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
+ tkinter/test/test_ttk test \
test/audiodata \
test/capath test/data \
test/cjkencodings test/decimaltestdata \
@@ -1376,26 +1396,24 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
test/test_importlib/zipdata01 \
@@ -1467,28 +1488,25 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
test/test_importlib/zipdata02 \
test/test_zoneinfo test/test_zoneinfo/data \
test/ziptestdata \
- asyncio \
test/test_asyncio \
@ -708,13 +713,15 @@ index e8a6bd5c03..3abee36f49 100644
+ ctypes/test \
+ idlelib/idle_test \
+ distutils/tests \
test/test_peg_generator \
+ test/test_importlib test/test_importlib/builtin \
test/test_tools test/test_warnings test/test_warnings/data \
- turtledemo \
- multiprocessing multiprocessing/dummy \
- unittest unittest/test unittest/test/testmock \
- venv venv/scripts venv/scripts/common venv/scripts/posix \
- curses pydoc_data
- curses pydoc_data \
- zoneinfo
+ unittest/test unittest/test/testmock
+
+ifeq (@TEST_MODULES@,yes)
@ -728,7 +735,7 @@ diff --git a/configure.ac b/configure.ac
index 7872b4dfee..b820d18c7c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3234,6 +3234,11 @@ if test "$posix_threads" = "yes"; then
@@ -3370,6 +3370,11 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
@ -765,7 +772,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 3abee36f49..6fa0549a56 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1289,7 +1289,9 @@ bininstall: altbininstall
@@ -1373,7 +1373,9 @@ bininstall: altbininstall
-rm -f $(DESTDIR)$(BINDIR)/idle3
(cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3)
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
@ -775,16 +782,16 @@ index 3abee36f49..6fa0549a56 100644
-rm -f $(DESTDIR)$(BINDIR)/2to3
(cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3)
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
@@ -1335,7 +1337,7 @@ LIBSUBDIRS= tkinter site-packages \
@@ -1423,7 +1425,7 @@ LIBSUBDIRS= tkinter site-packages \
multiprocessing multiprocessing/dummy \
unittest \
venv venv/scripts venv/scripts/common venv/scripts/posix \
- curses pydoc_data
+ curses
- curses pydoc_data \
+ curses \
zoneinfo
TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
tkinter/test/test_ttk test \
@@ -1414,6 +1416,10 @@ ifeq (@TEST_MODULES@,yes)
@@ -1507,6 +1509,10 @@ ifeq (@TEST_MODULES@,yes)
LIBSUBDIRS += $(TESTSUBDIRS)
endif
@ -799,7 +806,7 @@ diff --git a/configure.ac b/configure.ac
index b820d18c7c..f53cc86d89 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3234,6 +3234,12 @@ if test "$posix_threads" = "yes"; then
@@ -3370,6 +3370,12 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
@ -816,7 +823,7 @@ diff --git a/setup.py b/setup.py
index bb7eb44213..748c269960 100644
--- a/setup.py
+++ b/setup.py
@@ -2401,6 +2401,12 @@ def main():
@@ -2572,6 +2572,12 @@ def main():
# turn off warnings when deprecated modules are imported
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
@ -829,7 +836,7 @@ index bb7eb44213..748c269960 100644
setup(# PyPI Metadata (PEP 301)
name = "Python",
version = sys.version.split()[0],
@@ -2425,8 +2431,7 @@ def main():
@@ -2596,8 +2602,7 @@ def main():
# If you change the scripts installed here, you also need to
# check the PyBuildScripts command above, and change the links
# created by the bininstall target in Makefile.pre.in
@ -864,7 +871,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 6fa0549a56..3e1f130532 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1293,7 +1293,9 @@ ifeq (@PYDOC@,yes)
@@ -1377,7 +1377,9 @@ ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
endif
-rm -f $(DESTDIR)$(BINDIR)/2to3
@ -874,7 +881,7 @@ index 6fa0549a56..3e1f130532 100644
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \
@@ -1328,7 +1330,6 @@ LIBSUBDIRS= tkinter site-packages \
@@ -1416,7 +1418,6 @@ LIBSUBDIRS= tkinter site-packages \
html json http dbm xmlrpc \
sqlite3 \
logging csv wsgiref urllib \
@ -882,7 +889,7 @@ index 6fa0549a56..3e1f130532 100644
ctypes ctypes/macholib \
idlelib idlelib/Icons \
distutils distutils/command $(XMLLIBSUBDIRS) \
@@ -1402,9 +1403,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1494,9 +1495,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_email test/test_email/data \
test/test_json \
sqlite3/test \
@ -892,7 +899,7 @@ index 6fa0549a56..3e1f130532 100644
ctypes/test \
idlelib/idle_test \
distutils/tests \
@@ -1412,6 +1410,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1505,6 +1503,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_tools test/test_warnings test/test_warnings/data \
unittest/test unittest/test/testmock
@ -907,7 +914,7 @@ index 6fa0549a56..3e1f130532 100644
ifeq (@TEST_MODULES@,yes)
LIBSUBDIRS += $(TESTSUBDIRS)
endif
@@ -1511,10 +1517,12 @@ ifeq (@PYC_BUILD@,yes)
@@ -1605,10 +1611,12 @@ ifeq (@PYC_BUILD@,yes)
-j0 -d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
endif
@ -924,7 +931,7 @@ diff --git a/configure.ac b/configure.ac
index f53cc86d89..caa8eaf88a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3246,6 +3246,12 @@ AC_ARG_ENABLE(test-modules,
@@ -3382,6 +3382,12 @@ AC_ARG_ENABLE(test-modules,
AS_HELP_STRING([--disable-test-modules], [disable test modules]),
[ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
@ -941,7 +948,7 @@ diff --git a/setup.py b/setup.py
index 748c269960..1669797cad 100644
--- a/setup.py
+++ b/setup.py
@@ -2402,10 +2402,11 @@ def main():
@@ -2573,10 +2573,11 @@ def main():
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
@ -976,7 +983,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 3e1f130532..cf9add0bc7 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1328,7 +1328,6 @@ LIBSUBDIRS= tkinter site-packages \
@@ -1416,7 +1416,6 @@ LIBSUBDIRS= tkinter site-packages \
email email/mime \
ensurepip ensurepip/_bundled \
html json http dbm xmlrpc \
@ -984,7 +991,7 @@ index 3e1f130532..cf9add0bc7 100644
logging csv wsgiref urllib \
ctypes ctypes/macholib \
idlelib idlelib/Icons \
@@ -1402,7 +1401,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1494,7 +1493,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_asyncio \
test/test_email test/test_email/data \
test/test_json \
@ -992,7 +999,7 @@ index 3e1f130532..cf9add0bc7 100644
ctypes/test \
idlelib/idle_test \
distutils/tests \
@@ -1418,6 +1416,11 @@ TESTSUBDIRS += lib2to3/tests \
@@ -1511,6 +1509,11 @@ TESTSUBDIRS += lib2to3/tests \
lib2to3/tests/data/fixers/myfixes
endif
@ -1008,7 +1015,7 @@ diff --git a/configure.ac b/configure.ac
index caa8eaf88a..79a8255f44 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3234,6 +3234,15 @@ if test "$posix_threads" = "yes"; then
@@ -3370,6 +3370,15 @@ if test "$posix_threads" = "yes"; then
AC_CHECK_FUNCS(pthread_getcpuclockid)
fi
@ -1045,7 +1052,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index cf9add0bc7..5d78419fd4 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1322,7 +1322,7 @@ maninstall: altmaninstall
@@ -1410,7 +1410,7 @@ maninstall: altmaninstall
# Install the library
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
@ -1054,9 +1061,9 @@ index cf9add0bc7..5d78419fd4 100644
asyncio \
collections concurrent concurrent/futures encodings \
email email/mime \
@@ -1339,8 +1339,7 @@ LIBSUBDIRS= tkinter site-packages \
venv venv/scripts venv/scripts/common venv/scripts/posix \
curses
@@ -1428,8 +1428,7 @@ LIBSUBDIRS= tkinter site-packages \
curses \
zoneinfo
-TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
- tkinter/test/test_ttk test \
@ -1064,7 +1071,7 @@ index cf9add0bc7..5d78419fd4 100644
test/audiodata \
test/capath test/data \
test/cjkencodings test/decimaltestdata \
@@ -1408,6 +1407,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
@@ -1501,6 +1502,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
test/test_tools test/test_warnings test/test_warnings/data \
unittest/test unittest/test/testmock
@ -1081,7 +1088,7 @@ diff --git a/configure.ac b/configure.ac
index 79a8255f44..b5922451cc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3243,6 +3243,15 @@ if test "$SQLITE3" = "no" ; then
@@ -3379,6 +3379,15 @@ if test "$SQLITE3" = "no" ; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
fi
@ -1110,25 +1117,23 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
Makefile.pre.in | 7 +++++--
Makefile.pre.in | 5 ++++-
configure.ac | 9 +++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 5d78419fd4..660c292765 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1336,8 +1336,7 @@ LIBSUBDIRS= site-packages \
turtledemo \
@@ -1425,7 +1425,6 @@ LIBSUBDIRS= site-packages \
multiprocessing multiprocessing/dummy \
unittest \
- venv venv/scripts venv/scripts/common venv/scripts/posix \
- curses
+ venv venv/scripts venv/scripts/common venv/scripts/posix
venv venv/scripts venv/scripts/common venv/scripts/posix \
- curses \
zoneinfo
TESTSUBDIRS= test \
test/audiodata \
@@ -1413,6 +1412,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
@@ -1506,6 +1505,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
tkinter/test/test_ttk
endif
@ -1143,7 +1148,7 @@ diff --git a/configure.ac b/configure.ac
index b5922451cc..ea422a86a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3252,6 +3252,15 @@ if test "$TK" = "no"; then
@@ -3388,6 +3388,15 @@ if test "$TK" = "no"; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
fi
@ -1187,7 +1192,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index 660c292765..f49abf8395 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1331,7 +1331,7 @@ LIBSUBDIRS= site-packages \
@@ -1419,7 +1419,7 @@ LIBSUBDIRS= site-packages \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
idlelib idlelib/Icons \
@ -1196,7 +1201,7 @@ index 660c292765..f49abf8395 100644
importlib \
turtledemo \
multiprocessing multiprocessing/dummy \
@@ -1416,6 +1416,10 @@ ifeq (@CURSES@,yes)
@@ -1509,6 +1509,10 @@ ifeq (@CURSES@,yes)
LIBSUBDIRS += curses
endif
@ -1211,13 +1216,13 @@ diff --git a/configure.ac b/configure.ac
index ea422a86a9..3c1e2c088d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2961,13 +2961,21 @@ PKG_PROG_PKG_CONFIG
@@ -3096,13 +3096,21 @@ PKG_PROG_PKG_CONFIG
AC_SUBST(DISABLED_EXTENSIONS)
# Check for use of the system expat library
-AC_MSG_CHECKING(for --with-system-expat)
-AC_ARG_WITH(system_expat,
- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library]),
- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]),
+AC_MSG_CHECKING(for --with-expat)
+AC_ARG_WITH(expat,
+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]),
@ -1242,7 +1247,7 @@ diff --git a/setup.py b/setup.py
index 1669797cad..d2727c0da5 100644
--- a/setup.py
+++ b/setup.py
@@ -1576,7 +1576,7 @@ class PyBuildExt(build_ext):
@@ -1674,7 +1674,7 @@ class PyBuildExt(build_ext):
#
# More information on Expat can be found at www.libexpat.org.
#
@ -1268,7 +1273,7 @@ diff --git a/configure.ac b/configure.ac
index 3c1e2c088d..30a92f9c2e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3251,6 +3251,12 @@ if test "$SQLITE3" = "no" ; then
@@ -3387,6 +3387,12 @@ if test "$SQLITE3" = "no" ; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
fi
@ -1301,7 +1306,7 @@ diff --git a/configure.ac b/configure.ac
index 30a92f9c2e..20f326db46 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3257,6 +3257,12 @@ AC_ARG_ENABLE(codecs-cjk,
@@ -3393,6 +3393,12 @@ AC_ARG_ENABLE(codecs-cjk,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022"
fi])
@ -1331,7 +1336,7 @@ diff --git a/configure.ac b/configure.ac
index 20f326db46..99bbc37b07 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3263,6 +3263,12 @@ AC_ARG_ENABLE(nis,
@@ -3399,6 +3399,12 @@ AC_ARG_ENABLE(nis,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
fi])
@ -1368,7 +1373,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
index f49abf8395..bc777e6504 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1287,7 +1287,9 @@ bininstall: altbininstall
@@ -1371,7 +1371,9 @@ bininstall: altbininstall
-rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc)
-rm -f $(DESTDIR)$(BINDIR)/idle3
@ -1378,7 +1383,7 @@ index f49abf8395..bc777e6504 100644
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
@@ -1330,7 +1332,6 @@ LIBSUBDIRS= site-packages \
@@ -1418,7 +1420,6 @@ LIBSUBDIRS= site-packages \
html json http dbm xmlrpc \
logging csv wsgiref urllib \
ctypes ctypes/macholib \
@ -1386,7 +1391,7 @@ index f49abf8395..bc777e6504 100644
distutils distutils/command \
importlib \
turtledemo \
@@ -1420,6 +1421,10 @@ ifeq (@EXPAT@,yes)
@@ -1513,6 +1514,10 @@ ifeq (@EXPAT@,yes)
LIBSUBDIRS += $(XMLLIBSUBDIRS)
endif
@ -1401,7 +1406,7 @@ diff --git a/configure.ac b/configure.ac
index 99bbc37b07..8c9706582e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3305,6 +3305,12 @@ AC_ARG_ENABLE(lib2to3,
@@ -3441,6 +3441,12 @@ AC_ARG_ENABLE(lib2to3,
AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]),
[ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ])
@ -1418,7 +1423,7 @@ diff --git a/setup.py b/setup.py
index d2727c0da5..9f09b3d985 100644
--- a/setup.py
+++ b/setup.py
@@ -2402,11 +2402,13 @@ def main():
@@ -2573,11 +2573,13 @@ def main():
import warnings
warnings.filterwarnings("ignore",category=DeprecationWarning)
@ -1458,13 +1463,13 @@ diff --git a/configure.ac b/configure.ac
index 8c9706582e..e6255babb6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3012,13 +3012,20 @@ fi
@@ -3147,13 +3147,20 @@ fi
AC_SUBST(LIBFFI_INCLUDEDIR)
# Check for use of the system libmpdec library
-AC_MSG_CHECKING(for --with-system-libmpdec)
-AC_ARG_WITH(system_libmpdec,
- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library]),
- AS_HELP_STRING([--with-system-libmpdec], [build _decimal module using an installed libmpdec library, see Doc/library/decimal.rst (default is no)]),
+AC_MSG_CHECKING(for --with-libmpdec)
+AC_ARG_WITH(libmpdec,
+ AS_HELP_STRING([--with-libmpdec], [select which libmpdec version to use: system, builtin, none]),
@ -1488,7 +1493,7 @@ diff --git a/setup.py b/setup.py
index 9f09b3d985..a7f2e23d87 100644
--- a/setup.py
+++ b/setup.py
@@ -2076,7 +2076,7 @@ class PyBuildExt(build_ext):
@@ -2202,7 +2202,7 @@ class PyBuildExt(build_ext):
# Stefan Krah's _decimal module
extra_compile_args = []
undef_macros = []
@ -1514,7 +1519,7 @@ diff --git a/configure.ac b/configure.ac
index e6255babb6..5809233aac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3042,6 +3042,12 @@ fi
@@ -3177,6 +3177,12 @@ fi
AC_MSG_RESULT($with_decimal_contextvar)
@ -1544,7 +1549,7 @@ diff --git a/configure.ac b/configure.ac
index 5809233aac..6b09bafda4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3282,6 +3282,12 @@ AC_ARG_ENABLE(unicodedata,
@@ -3418,6 +3418,12 @@ AC_ARG_ENABLE(unicodedata,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata"
fi])
@ -1574,7 +1579,7 @@ diff --git a/configure.ac b/configure.ac
index 6b09bafda4..b64518eed5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3288,6 +3288,12 @@ AC_ARG_ENABLE(openssl,
@@ -3424,6 +3424,12 @@ AC_ARG_ENABLE(openssl,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib"
fi])
@ -1604,7 +1609,7 @@ diff --git a/configure.ac b/configure.ac
index b64518eed5..d07e371c57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3294,6 +3294,24 @@ AC_ARG_ENABLE(readline,
@@ -3430,6 +3430,24 @@ AC_ARG_ENABLE(readline,
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline"
fi])
@ -1685,44 +1690,6 @@ index a1bc3cd5f7..164d2d3603 100644
--
2.20.1
From 28008e1e4f0349241d22aace3c54f7e9425c6c1f Mon Sep 17 00:00:00 2001
From: Adam Duskett <aduskett@gmail.com>
Date: Fri, 20 Jul 2018 10:17:39 -0400
Subject: [PATCH] Fix cross compiling the uuid module
Python 3.7 has a new _uuid module, however, the include directory
search path for uuid.h is hardcoded to /usr/include/uuid, which should
not be used when cross-compiling.
To fix this, use the same solution as the one used by the NIS
detection: append "uuid" to each of the include directories in
"inc_dirs", instead of hardcoding /usr/include/uuid.
Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Thomas: drop STAGING_DIR based solution, use a solution similar to
the one used for the NIS detection.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
setup.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index a7f2e23d87..b0274a3f67 100644
--- a/setup.py
+++ b/setup.py
@@ -1674,7 +1674,8 @@ class PyBuildExt(build_ext):
def detect_uuid(self):
# Build the _uuid module if possible
- uuid_incs = find_file("uuid.h", self.inc_dirs, ["/usr/include/uuid"])
+ uuid_incs = find_file("uuid.h", self.inc_dirs,
+ [os.path.join(inc_dir, 'uuid') for inc_dir in self.inc_dirs])
if uuid_incs is not None:
if self.compiler.find_library_file(self.lib_dirs, 'uuid'):
uuid_libs = ['uuid']
--
2.20.1
From 74007603df0921450f14e8626df36140426cc300 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sat, 18 Aug 2018 10:54:56 +0200
@ -1737,7 +1704,7 @@ diff --git a/configure.ac b/configure.ac
index d07e371c57..55ab6c3c26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3330,6 +3330,15 @@ if test "$CURSES" = "no"; then
@@ -3466,6 +3466,15 @@ if test "$CURSES" = "no"; then
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel"
fi
@ -1794,7 +1761,7 @@ index 224585c69b..ef458c0c63 100644
--
2.20.1
From 5932fedd9d1d43a230fa353df434f253e9d2b5a0 Mon Sep 17 00:00:00 2001
From ffe8fb3065973204fce95130c32578163755b71e Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Fri, 2 Aug 2019 15:53:16 +0200
Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for
@ -1819,26 +1786,30 @@ non-multiarch toolchain on some architectures (E.G. PowerPC), but as a
workaround, rewrite the --print-multiarch output to match older GCC versions
to keep the configure script happy.
[Rudi: update for 3.9.10, which made the MULTIARCH logic !darwin]
Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
configure.ac | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 55ab6c3c26..4a6d0662ac 100644
index 7812dc5102..0ce52b9a7d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -706,7 +706,9 @@ then
fi
@@ -884,9 +884,11 @@
-MULTIARCH=$($CC --print-multiarch 2>/dev/null)
+# GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based
+# toolchains confusing python. Fix that up
+MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/')
AC_SUBST(MULTIARCH)
AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
AC_MSG_CHECKING([for multiarch])
AS_CASE([$ac_sys_system],
+ # GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based
+ # toolchains confusing python. Fix that up
[Darwin*], [MULTIARCH=""],
[FreeBSD*], [MULTIARCH=""],
- [MULTIARCH=$($CC --print-multiarch 2>/dev/null)]
+ [MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-linux-gnu/')]
)
AC_SUBST([MULTIARCH])
AC_MSG_RESULT([$MULTIARCH])
--
2.20.1

View file

@ -1,7 +1,6 @@
diff -aur a/Makefile.pre.in b/Makefile.pre.in
--- a/Makefile.pre.in 2020-08-08 14:28:01.691542199 -0400
+++ b/Makefile.pre.in 2020-08-08 14:17:51.908512177 -0400
@@ -607,10 +607,12 @@
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -633,10 +633,12 @@ sharedmods: $(BUILDPYTHON) pybuilddir.tx
esac; \
echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
@ -14,7 +13,7 @@ diff -aur a/Makefile.pre.in b/Makefile.pre.in
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
@@ -1656,8 +1658,10 @@
@@ -1750,8 +1752,10 @@ libainstall: @DEF_MAKE_RULE@ python-conf
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall: sharedmods
@ -25,10 +24,9 @@ diff -aur a/Makefile.pre.in b/Makefile.pre.in
--prefix=$(prefix) \
--install-scripts=$(BINDIR) \
--install-platlib=$(DESTSHARED) \
diff -aur a/setup.py b/setup.py
--- a/setup.py 2020-08-08 14:28:01.695542200 -0400
+++ b/setup.py 2020-08-08 14:28:36.931543934 -0400
@@ -41,7 +41,7 @@
--- a/setup.py
+++ b/setup.py
@@ -61,7 +61,7 @@ def get_platform():
return sys.platform
@ -37,7 +35,7 @@ diff -aur a/setup.py b/setup.py
HOST_PLATFORM = get_platform()
MS_WINDOWS = (HOST_PLATFORM == 'win32')
CYGWIN = (HOST_PLATFORM == 'cygwin')
@@ -487,6 +487,13 @@
@@ -575,6 +575,13 @@ class PyBuildExt(build_ext):
ext.name, level=1)
return

View file

@ -1,7 +1,6 @@
diff -aur a/setup.py b/setup.py
--- a/setup.py 2020-08-08 14:18:41.978514642 -0400
+++ b/setup.py 2020-08-08 14:26:09.612536681 -0400
@@ -656,31 +656,23 @@
--- a/setup.py
+++ b/setup.py
@@ -742,31 +742,23 @@ class PyBuildExt(build_ext):
add_dir_to_list(dir_list, directory)
def configure_compiler(self):

View file

@ -22,11 +22,9 @@ https://www.python.org/dev/peps/pep-3147/#case-4-legacy-pyc-files-and-source-les
Lib/py_compile.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index 8e9dd57..d4b7f4f 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -119,6 +119,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1,
@@ -121,6 +121,10 @@ def compile(file, cfile=None, dfile=None
the resulting file would be regular and thus not the same type of file as
it was previously.
"""
@ -37,6 +35,3 @@ index 8e9dd57..d4b7f4f 100644
if invalidation_mode is None:
invalidation_mode = _get_default_invalidation_mode()
if cfile is None:
--
2.7.4

View file

@ -9,11 +9,9 @@ https://forum.kodi.tv/showthread.php?tid=343068&pid=2923934#pid2923934
Lib/http/cookiejar.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Lib/http/cookiejar.py b/Lib/http/cookiejar.py
index d43a219..53bb391 100644
--- a/Lib/http/cookiejar.py
+++ b/Lib/http/cookiejar.py
@@ -98,7 +98,7 @@ def time2isoz(t=None):
@@ -99,7 +99,7 @@ def time2isoz(t=None):
if t is None:
dt = datetime.datetime.utcnow()
else:
@ -22,6 +20,3 @@ index d43a219..53bb391 100644
return "%04d-%02d-%02d %02d:%02d:%02dZ" % (
dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
--
2.20.1

View file

@ -1,26 +0,0 @@
From c4e2aa8d60f722cece55d446e97585b1fa8a6ae7 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Thu, 7 Oct 2021 13:03:27 +0200
Subject: [PATCH] Prevent use-after-free of running loop holder via cache
---
Modules/_asynciomodule.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index ecc73d1ca8..56079b0277 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -3239,6 +3239,9 @@ new_running_loop_holder(PyObject *loop)
static void
PyRunningLoopHolder_tp_dealloc(PyRunningLoopHolder *rl)
{
+ if (cached_running_holder == (PyObject *)rl) {
+ cached_running_holder = NULL;
+ }
Py_CLEAR(rl->rl_loop);
PyObject_Free(rl);
}
--
2.30.2

View file

@ -0,0 +1,28 @@
From 6689a2fe3dc4ba422078c79c480aff30dc8c3bfd Mon Sep 17 00:00:00 2001
From: Raybuntu <57228613+Raybuntu@users.noreply.github.com>
Date: Sat, 19 Dec 2020 11:05:04 +0100
Subject: [PATCH] platform.py: Set correct machine value when kernel is aarch64
but userspace is aarch32.
---
Lib/platform.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Lib/platform.py b/Lib/platform.py
index 994d892c5e..b8150a6070 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -875,6 +875,10 @@ def uname():
system = 'Windows'
release = 'Vista'
+
+ if machine == 'aarch64' and sys.maxsize <= 2**32:
+ machine = 'armv7l'
+
vals = system, node, release, version, machine
# Replace 'unknown' values with the more portable ''
_uname_cache = uname_result(*map(_unknown_as_blank, vals))
--
2.20.1

View file

@ -0,0 +1,16 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Jinja2"
PKG_VERSION="3.0.3"
PKG_SHA256="611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"
PKG_LICENSE="BSD"
PKG_SITE="https://pypi.org/project/Jinja2/"
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="Python3:host setuptools:host MarkupSafe:host"
PKG_LONGDESC="Jinja is a fast, expressive, extensible templating engine."
PKG_TOOLCHAIN="manual"
makeinstall_host() {
exec_thread_safe python3 setup.py install --prefix=${TOOLCHAIN}
}

View file

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="Mako"
PKG_VERSION="1.1.3"
PKG_SHA256="8195c8c1400ceb53496064314c6736719c6f25e7479cd24c77be3d9361cddc27"
PKG_VERSION="1.1.6"
PKG_SHA256="4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2"
PKG_LICENSE="GPL"
PKG_SITE="https://pypi.org/project/Mako"
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz"

View file

@ -3,8 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="MarkupSafe"
PKG_VERSION="1.1.1"
PKG_SHA256="29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"
PKG_VERSION="2.0.1"
PKG_SHA256="594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"
PKG_LICENSE="GPL"
PKG_SITE="https://pypi.org/project/MarkupSafe/"
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz"

View file

@ -6,12 +6,12 @@ PKG_NAME="distutilscross"
PKG_VERSION="0.1"
PKG_SHA256="4ed3fb427708c8a3ed5fe9c599532480f581078a1e0aec0e50f40eb58e9f0015"
PKG_LICENSE="GPL"
PKG_SITE="http://bitbucket.org/lambacck/distutilscross/"
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_SITE="https://pypi.org/project/distutilscross/"
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="Python3:host setuptools:host"
PKG_LONGDESC="distutilscross enhances distutils to support Cross Compile of Python extensions"
PKG_TOOLCHAIN="manual"
makeinstall_host() {
exec_thread_safe python3 setup.py install --prefix=$TOOLCHAIN
exec_thread_safe python setup.py install --prefix=${TOOLCHAIN}
}

View file

@ -2,11 +2,11 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="meson"
PKG_VERSION="0.56.2"
PKG_SHA256="3cb8bdb91383f7f8da642f916e4c44066a29262caa499341e2880f010edb87f4"
PKG_VERSION="0.61.1"
PKG_SHA256="feb2cefb325b437dbf36146df7c6b87688ddff0b0205caa31dc64055c6da410c"
PKG_LICENSE="Apache"
PKG_SITE="http://mesonbuild.com"
PKG_URL="https://github.com/mesonbuild/meson/releases/download/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_URL="https://github.com/mesonbuild/meson/releases/download/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="Python3:host setuptools:host pathlib:host"
PKG_LONGDESC="High productivity build system"
PKG_TOOLCHAIN="manual"
@ -16,9 +16,9 @@ make_host() {
}
makeinstall_host() {
exec_thread_safe python3 setup.py install --prefix=$TOOLCHAIN --skip-build
exec_thread_safe python3 setup.py install --prefix=${TOOLCHAIN} --skip-build
# Avoid using full path to python3 that may exceed 128 byte limit.
# Instead use PATH as we know our toolchain is first.
sed -e '1 s/^#!.*$/#!\/usr\/bin\/env python3/' -i $TOOLCHAIN/bin/meson
sed -e '1 s/^#!.*$/#!\/usr\/bin\/env python3/' -i ${TOOLCHAIN}/bin/meson
}

View file

@ -0,0 +1,32 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2020-present Team CoreELEC (https://coreelec.org)
PKG_NAME="pgi"
PKG_VERSION="0.0.11.2"
PKG_SHA256="7a1ca8ac4e8bee6b663e6d556ecda8032584de753acd76ab3fc21c4f874fa738"
PKG_ARCH="any"
PKG_LICENSE="LGPL"
PKG_SITE="https://github.com/pygobject/pgi"
PKG_URL="https://github.com/pygobject/pgi/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3"
PKG_SECTION="python/devel"
PKG_SHORTDESC="PGI - Pure Python GObject Introspection Bindings"
PKG_LONGDESC="GObject Introspection bindings written in pure Python using ctypes and cffi (optional). API compatible with PyGObject."
PKG_TOOLCHAIN="manual"
pre_make_target() {
export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr"
}
make_target() {
exec_thread_safe python3 setup.py build
}
makeinstall_target() {
exec_thread_safe python3 setup.py install --root=$INSTALL --prefix=/usr
}
post_makeinstall_target() {
find $INSTALL/usr/lib -name "*.py" -exec rm -rf "{}" ";"
rm -rf $INSTALL/usr/lib/python*/site-packages/*/tests
}

View file

@ -0,0 +1,25 @@
From 40f45d7f4a49ec1e66acec5d5ff1ce10c94a99ce Mon Sep 17 00:00:00 2001
From: Portisch <hugo.portisch@yahoo.de>
Date: Wed, 25 Nov 2020 13:41:14 +0100
Subject: [PATCH] remove 'type' as it's not Python 3 compatible
---
pgi/clib/_utils.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pgi/clib/_utils.py b/pgi/clib/_utils.py
index b45d901..bd0f416 100644
--- a/pgi/clib/_utils.py
+++ b/pgi/clib/_utils.py
@@ -31,7 +31,7 @@ class _BaseFinalizer(object):
self.ptr = ptr
def delete(self, deadweakproxy):
- type(self)._objects.remove(self)
+ self._objects.remove(self)
self.destructor(deadweakproxy, self.ptr)
--
2.29.2

View file

@ -1,26 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="pygobject"
PKG_VERSION="2.28.7"
PKG_SHA256="bb9d25a3442ca7511385a7c01b057492095c263784ef31231ffe589d83a96a5a"
PKG_LICENSE="LGPL"
PKG_SITE="http://www.pygtk.org/"
PKG_URL="http://ftp.gnome.org/pub/GNOME/sources/pygobject/$(get_pkg_version_maj_min)/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain Python2 glib libffi"
PKG_LONGDESC="A convenient wrapper for the GObject+ library for use in Python programs."
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_TARGET="--enable-thread --disable-introspection"
pre_configure_target() {
export PYTHON_INCLUDES="$(${SYSROOT_PREFIX}/usr/bin/python2-config --includes)"
}
post_makeinstall_target() {
python_remove_source
rm -rf ${INSTALL}/usr/bin
rm -rf ${INSTALL}/usr/share/pygobject
}

View file

@ -1,32 +0,0 @@
[PATCH] m4/python.m4: add PYTHON_INCLUDES override for cross compilation
As the configure script mixes up host/target python. Equivalent to the
similar code in dbus-python.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
m4/python.m4 | 4 ++++
1 file changed, 4 insertions(+)
Index: python-gobject-2.28.6/m4/python.m4
===================================================================
--- python-gobject-2.28.6.orig/m4/python.m4
+++ python-gobject-2.28.6/m4/python.m4
@@ -43,6 +43,9 @@
[AC_REQUIRE([AM_PATH_PYTHON])
AC_MSG_CHECKING(for headers required to compile python extensions)
dnl deduce PYTHON_INCLUDES
+if test "${PYTHON_INCLUDES+set}" = set; then
+ AC_MSG_NOTICE([PYTHON_INCLUDES overridden to: $PYTHON_INCLUDES])
+else
py_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`
py_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`
PYTHON_CONFIG=`which $PYTHON`-config
@@ -54,6 +57,7 @@
PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
fi
fi
+fi
AC_SUBST(PYTHON_INCLUDES)
dnl check if the headers exist:
save_CPPFLAGS="$CPPFLAGS"

View file

@ -1,20 +0,0 @@
diff -Naur pygobject-2.28.6/configure.ac pygobject-2.28.6.patch/configure.ac
--- pygobject-2.28.6/configure.ac 2011-06-13 18:33:56.000000000 +0200
+++ pygobject-2.28.6.patch/configure.ac 2013-01-12 01:03:44.085557166 +0100
@@ -35,7 +35,7 @@
AC_DEFINE(PYGOBJECT_MICRO_VERSION, pygobject_micro_version, [pygobject micro version])
AC_SUBST(PYGOBJECT_MICRO_VERSION, pygobject_micro_version)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
AM_INIT_AUTOMAKE(foreign)
AM_MAINTAINER_MODE
@@ -82,7 +82,6 @@
m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
AC_ISC_POSIX
AC_PROG_CC
-AM_PROG_CC_STDC
AM_PROG_CC_C_O
# check that we have the minimum version of python necisary to build

View file

@ -3,17 +3,17 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="setuptools"
PKG_VERSION="39.2.0"
PKG_SHA256="ca8119dd5c2764a7d290518817de0b880d23d790913fcd797c02ad2aa39b8c41"
PKG_VERSION="52.0.0"
PKG_SHA256="ff0c74d1b905a224d647f99c6135eacbec2620219992186b81aa20012bc7f882"
PKG_LICENSE="OSS"
PKG_SITE="https://pypi.org/project/setuptools"
PKG_URL="https://github.com/pypa/setuptools/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="Python2:host"
PKG_DEPENDS_HOST="Python3:host"
PKG_LONGDESC="Replaces Setuptools as the standard method for working with Python module distributions."
PKG_TOOLCHAIN="manual"
make_host() {
python2 bootstrap.py
python3 bootstrap.py
}
makeinstall_host() {

View file

@ -2,20 +2,14 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="waf"
PKG_VERSION="2.0.21"
PKG_SHA256="7cebf2c5efe53cbb9a4b5bdc4b49ae90ecd64a8fce7a3222d58e591b58215306"
PKG_VERSION="2.0.23"
PKG_SHA256="28a96115a5b5be47cf65e62c5416d988159d03f062f978e6462024ca93111503"
PKG_LICENSE="MIT"
PKG_SITE="https://waf.io"
PKG_URL="https://waf.io/${PKG_NAME}-${PKG_VERSION}"
PKG_URL="https://waf.io/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_LONGDESC="The Waf build system"
PKG_TOOLCHAIN="manual"
unpack() {
mkdir -p ${PKG_BUILD}
cp ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} ${PKG_BUILD}/waf
chmod a+x ${PKG_BUILD}/waf
}
makeinstall_host() {
cp -pf waf ${TOOLCHAIN}/bin/
cp -pf ${PKG_BUILD}/waf ${TOOLCHAIN}/bin/
}

View file

@ -2,15 +2,21 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="dstat"
PKG_VERSION="77e9347"
PKG_SHA256="2b2f4ef3a0d1dc6d0a4bc2f54a57ba6f1e278333881a07df7e55aec502a48c7c"
PKG_VERSION="e428c7dc7137f81f8ca6bef8854b37a4ddd4f337" # 19 Jun 2020
PKG_SHA256="3315f5cefc7cd4e968430baa19247fc32af36dd42c9ad3edf5962ae4f597013f"
PKG_LICENSE="GPL"
PKG_SITE="http://dag.wiee.rs/home-made/dstat"
PKG_URL="https://github.com/dagwieers/dstat/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python2"
PKG_URL="https://github.com/dstat-real/dstat/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3"
PKG_LONGDESC="Versatile resource statistics tool."
PKG_TOOLCHAIN="manual"
PKG_BUILD_FLAGS="-sysroot"
post_unpack() {
rm $PKG_BUILD/Makefile
rm ${PKG_BUILD}/Makefile
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
cp -p dstat ${INSTALL}/usr/bin
}

View file

@ -2,27 +2,42 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="i2c-tools"
PKG_VERSION="3.1.2"
PKG_SHA256="f939a6242c03950cc568d0efdfa3db7a9c29e0e8f5abd01f2908bdd344c054ff"
PKG_VERSION="4.3"
PKG_SHA256="1f899e43603184fac32f34d72498fc737952dbc9c97a8dd9467fadfdf4600cf9"
PKG_LICENSE="GPL"
PKG_SITE="http://www.lm-sensors.org/wiki/I2CTools"
PKG_URL="http://fossies.org/linux/misc/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
PKG_SITE="https://i2c.wiki.kernel.org/index.php/I2C_Tools"
PKG_URL="https://www.kernel.org/pub/software/utils/i2c-tools/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="A heterogeneous set of I2C tools for Linux."
PKG_BUILD_FLAGS="-sysroot"
pre_make_target() {
export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr"
export LDSHARED="$CC -shared"
export PYTHONXCPREFIX="${SYSROOT_PREFIX}/usr"
export LDSHARED="${CC} -shared"
}
make_target() {
make CC="${CC}" \
AR="${AR}" \
CFLAGS="${TARGET_CFLAGS}" \
CPPFLAGS="${TARGET_CPPFLAGS} -I${SYSROOT_PREFIX}/usr/include/${PKG_PYTHON_VERSION}" \
PYTHON=${TOOLCHAIN}/bin/python3 \
all
make EXTRA="py-smbus" \
CC="$CC" \
AR="$TARGET_AR" \
CFLAGS="$TARGET_CFLAGS" \
CPPFLAGS="$TARGET_CPPFLAGS -I${SYSROOT_PREFIX}/usr/include/$PKG_PYTHON_VERSION"
CC="${CC}" \
AR="${AR}" \
CFLAGS="${TARGET_CFLAGS}" \
CPPFLAGS="${TARGET_CPPFLAGS} -I${SYSROOT_PREFIX}/usr/include/${PKG_PYTHON_VERSION}" \
PYTHON=${TOOLCHAIN}/bin/python3 \
all-python
}
makeinstall_target() {
: # nop
make EXTRA="py-smbus" \
DESTDIR=${INSTALL} \
PREFIX="/usr" \
prefix="/usr" \
PYTHON=${TOOLCHAIN}/bin/python3 \
install
}

View file

@ -0,0 +1,12 @@
diff -ur a/py-smbus/Module.mk b/py-smbus/Module.mk
--- a/py-smbus/Module.mk 2014-02-20 09:37:15.711233000 +0100
+++ b/py-smbus/Module.mk 2019-12-14 08:20:51.730946457 +0100
@@ -22,7 +22,7 @@
rm -rf py-smbus/build
install-python:
- $(DISTUTILS) install
+ $(DISTUTILS) install --prefix=$(DESTDIR)$(PREFIX)
all: all-python

View file

@ -7,13 +7,11 @@ PKG_VERSION="0.10.1"
PKG_SHA256="8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2"
PKG_LICENSE="GPL"
PKG_SITE="http://www.lirc.org"
PKG_URL="https://sourceforge.net/projects/lirc/files/LIRC/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="https://sourceforge.net/projects/lirc/files/LIRC/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain libftdi1 libusb-compat libxslt alsa-lib"
PKG_LONGDESC="LIRC is a package that allows you to decode and send infra-red signals."
PKG_TOOLCHAIN="autotools"
PKG_PYTHON_WANTED=Python2
PKG_CONFIGURE_OPTS_TARGET="--enable-devinput \
--enable-uinput \
--with-gnu-ld \
@ -25,29 +23,33 @@ pre_configure_target() {
export HAVE_UINPUT=yes
export PYTHON=:
export PYTHON_VERSION=${PKG_PYTHON_VERSION#python}
if [ -e ${SYSROOT_PREFIX}/usr/include/linux/input-event-codes.h ] ; then
if [ -e ${SYSROOT_PREFIX}/usr/include/linux/input-event-codes.h ]; then
export DEVINPUT_HEADER=${SYSROOT_PREFIX}/usr/include/linux/input-event-codes.h
else
export DEVINPUT_HEADER=${SYSROOT_PREFIX}/usr/include/linux/input.h
fi
}
post_configure_target() {
libtool_remove_rpath libtool
}
post_makeinstall_target() {
rm -rf $INSTALL/usr/lib/systemd
rm -rf $INSTALL/lib
rm -rf $INSTALL/usr/share
rm -rf $INSTALL/etc
rm -rf ${INSTALL}/usr/lib/systemd
rm -rf ${INSTALL}/lib
rm -rf ${INSTALL}/usr/share
rm -rf ${INSTALL}/etc
mkdir -p $INSTALL/etc/lirc
cp -r $PKG_DIR/config/lirc_options.conf $INSTALL/etc/lirc
ln -s /storage/.config/lircd.conf $INSTALL/etc/lirc/lircd.conf
mkdir -p ${INSTALL}/etc/lirc
cp -r ${PKG_DIR}/config/lirc_options.conf ${INSTALL}/etc/lirc
ln -s /storage/.config/lircd.conf ${INSTALL}/etc/lirc/lircd.conf
mkdir -p $INSTALL/usr/lib/coreelec
cp $PKG_DIR/scripts/lircd_helper $INSTALL/usr/lib/coreelec
cp $PKG_DIR/scripts/lircd_uinput_helper $INSTALL/usr/lib/coreelec
mkdir -p ${INSTALL}/usr/lib/libreelec
cp ${PKG_DIR}/scripts/lircd_helper ${INSTALL}/usr/lib/libreelec
cp ${PKG_DIR}/scripts/lircd_uinput_helper ${INSTALL}/usr/lib/libreelec
mkdir -p $INSTALL/usr/share/services
cp -P $PKG_DIR/default.d/*.conf $INSTALL/usr/share/services
mkdir -p ${INSTALL}/usr/share/services
cp -P ${PKG_DIR}/default.d/*.conf ${INSTALL}/usr/share/services
}
post_install() {

View file

@ -6,7 +6,7 @@ After=lircd.service
[Service]
Type=simple
ExecStart=/usr/lib/coreelec/lircd_uinput_helper --add-release-events
ExecStart=/usr/lib/libreelec/lircd_uinput_helper --add-release-events
[Install]
WantedBy=multi-user.target

View file

@ -6,7 +6,7 @@ After=network.target
[Service]
Type=simple
ExecStart=/usr/lib/coreelec/lircd_helper --nodaemon
ExecStart=/usr/lib/libreelec/lircd_helper --nodaemon
[Install]
WantedBy=multi-user.target

View file

@ -2,29 +2,49 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="qemu"
PKG_VERSION="4.0.0"
PKG_SHA256="13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469"
PKG_VERSION="6.2.0"
PKG_SHA256="68e15d8e45ac56326e0b9a4afa8b49a3dfe8aba3488221d098c84698bca65b45"
PKG_LICENSE="GPL"
PKG_SITE="http://wiki.qemu.org"
PKG_URL="https://download.qemu.org/qemu-$PKG_VERSION.tar.xz"
PKG_DEPENDS_HOST="toolchain glib:host pixman:host Python2:host zlib:host"
PKG_SITE="https://www.qemu.org"
PKG_URL="https://download.qemu.org/qemu-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="toolchain:host glib:host pixman:host Python3:host zlib:host"
PKG_LONGDESC="QEMU is a generic and open source machine emulator and virtualizer."
PKG_TOOLCHAIN="configure"
pre_configure_host() {
HOST_CONFIGURE_OPTS="--bindir=$TOOLCHAIN/bin \
--extra-cflags=-I$TOOLCHAIN/include \
--extra-ldflags=-L$TOOLCHAIN/lib \
--libexecdir=$TOOLCHAIN/lib \
--localstatedir=$TOOLCHAIN/var \
--prefix=$TOOLCHAIN \
--sbindir=$TOOLCHAIN/sbin \
--static \
--sysconfdir=$TOOLCHAIN/etc \
--disable-blobs \
--disable-docs \
--disable-gcrypt \
--disable-system \
--disable-user \
--disable-vnc \
--disable-werror"
HOST_CONFIGURE_OPTS="\
--bindir=${TOOLCHAIN}/bin \
--extra-cflags=-I${TOOLCHAIN}/include \
--extra-ldflags=-L${TOOLCHAIN}/lib \
--libexecdir=${TOOLCHAIN}/lib \
--localstatedir=${TOOLCHAIN}/var \
--prefix=${TOOLCHAIN} \
--sbindir=${TOOLCHAIN}/sbin \
--sysconfdir=${TOOLCHAIN}/etc \
--enable-tools \
--enable-malloc=system \
--disable-attr \
--disable-auth-pam \
--disable-blobs \
--disable-capstone \
--disable-curl \
--disable-debug-info \
--disable-debug-mutex \
--disable-debug-tcg \
--disable-docs \
--disable-gcrypt \
--disable-gnutls \
--disable-libxml2 \
--disable-system \
--disable-vnc \
--disable-werror \
--disable-xkbcommon \
--disable-zstd \
--target-list=$TARGET_ARCH-linux-user"
}
makeinstall_host() {
mkdir -p $TOOLCHAIN/bin
cp ${PKG_BUILD}/.${HOST_NAME}/qemu-img ${TOOLCHAIN}/bin
cp ${PKG_BUILD}/.${HOST_NAME}/qemu-${TARGET_ARCH} ${TOOLCHAIN}/bin
}

View file

@ -3,11 +3,11 @@
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
PKG_NAME="python-evdev"
PKG_VERSION="5adc2abf1ec8a02c05c80cb1b3e34ba1d4237803"
PKG_VERSION="5adc2ab"
PKG_LICENSE="OSS"
PKG_SITE="https://github.com/gvalkov/python-evdev"
PKG_URL="$PKG_SITE.git"
PKG_DEPENDS_TARGET="toolchain Python3:host Python3 distutilscross:host Python2"
PKG_DEPENDS_TARGET="toolchain Python3:host Python3 distutilscross:host"
PKG_LONGDESC="Userspace evdev events"
PKG_TOOLCHAIN="manual"
GET_HANDLER_SUPPORT="git"

View file

@ -2,13 +2,13 @@
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
PKG_NAME="pyyaml"
PKG_VERSION="d0d660d035905d9c49fc0f8dafb579d2cc68c0c8"
PKG_VERSION="8cdff2c"
PKG_SHA256=""
PKG_LICENSE="OSS"
PKG_SITE="https://github.com/yaml/pyyaml"
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host"
PKG_LONGDESC="Python 2 and 3 compatibility library "
PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host"
PKG_LONGDESC="A full-featured YAML processing framework for Python"
PKG_TOOLCHAIN="manual"
make_host() {
@ -26,11 +26,11 @@ pre_make_target() {
}
make_target() {
python setup.py build
python3 setup.py build
}
makeinstall_target() {
python setup.py install --root=$INSTALL --prefix=/usr
python3 setup.py install --root=$INSTALL --prefix=/usr
}
post_makeinstall_target() {

View file

@ -8,7 +8,7 @@ PKG_SHA256="d970c3635a2f0115cccbc0b7c0f27f8b8cd6981ef8cbd5b95fc7b224a6313133"
PKG_LICENSE="GPL"
PKG_SITE="https://pypi.org/project/tcpbridge"
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="Python3 dbus-python"
PKG_DEPENDS_TARGET="Python3 dbus-python setuptools"
PKG_LONGDESC="TCP bridge for data transfer."
PKG_TOOLCHAIN="manual"

View file

@ -40,8 +40,8 @@ makeinstall_target() {
cp -rf $PKG_BUILD/resources/* $INSTALL/usr/config/emulationstation/resources/
rm -rf $INSTALL/usr/config/emulationstation/resources/logo.png
mkdir -p $INSTALL/usr/lib/python2.7
cp -rf $PKG_DIR/bluez/* $INSTALL/usr/lib/python2.7
mkdir -p $INSTALL/usr/lib/${PKG_PYTHON_VERSION}
cp -rf $PKG_DIR/bluez/* $INSTALL/usr/lib/${PKG_PYTHON_VERSION}
mkdir -p $INSTALL/usr/bin
ln -sf /storage/.config/emulationstation/resources $INSTALL/usr/bin/resources