wok-current annotate python3/receipt @ rev 25694

Fix cifs-utils, up grub2-efi-x64 stuff for iso EFI
author Stanislas Leduc <shann@slitaz.org>
date Sat Mar 30 18:05:22 2024 +0000 (3 months ago)
parents 3ad63c8fc2f9
children
rev   line source
shann@25629 1 # SliTaz package receipt.
shann@25629 2
shann@25629 3 PACKAGE="python3"
shann@25692 4 VERSION="3.9.19"
shann@25629 5 CATEGORY="development"
shann@25629 6 SHORT_DESC="The Python 3 programming language."
shann@25629 7 MAINTAINER="shann@slitaz.org"
shann@25629 8 LICENSE="GPL"
shann@25629 9 SOURCE="Python"
shann@25629 10 TARBALL="$SOURCE-$VERSION.tar.xz"
shann@25629 11 WEB_SITE="https://www.python.org/"
shann@25629 12 WGET_URL="https://www.python.org/ftp/python/$VERSION/$TARBALL"
shann@25629 13
shann@25629 14 RELATED="python3-dev python3-idle" # version must match
shann@25629 15 DEPENDS="openssl bzlib readline sqlite zlib ncursesw gdbm libffi"
shann@25629 16 BUILD_DEPENDS="openssl-dev bzip2-dev readline-dev sqlite-dev zlib-dev \
shann@25629 17 expat-dev liblzma-dev ncursesw-dev tcl-dev db-dev gdbm-dev libffi-dev"
shann@25629 18
shann@25629 19 # What is the latest version available today?
shann@25629 20 current_version()
shann@25629 21 {
shann@25629 22 wget -O - https://www.python.org/downloads/ 2>/dev/null | \
shann@25629 23 sed '/Download Python [0-9]/!d;s|.*Python ||;s|<.*||;q'
shann@25629 24 }
shann@25629 25
shann@25629 26 # Rules to configure and make the package.
shann@25629 27 compile_rules()
shann@25629 28 {
shann@25629 29
shann@25629 30 case "$ARCH" in
shann@25629 31 arm*)
shann@25629 32 # First pass for build host tools
shann@25629 33 unset CFLAGS CXXFLAGS
shann@25629 34 cp -f $CONFIG_SITE .
shann@25629 35 CONFIG_SITE="$(pwd)/cook.site"
shann@25629 36 cat >> $CONFIG_SITE << EOT
shann@25629 37 ac_cv_have_long_long_format=yes
shann@25629 38 EOT
shann@25629 39 ./configure CC=gcc \
shann@25629 40 --disable-ipv6 \
shann@25629 41 --build=i486-slitaz-linux \
shann@25629 42 --host=${BUILD_SYSTEM} &&
shann@25629 43 make python Parser/pgen &&
shann@25629 44 mv python hostpython &&
shann@25629 45 mv Parser/pgen Parser/hostpgen || exit 1
shann@25629 46 make distclean
shann@25629 47 rm -f $CONFIG_SITE
shann@25629 48 # Second pass for host tools
shann@25629 49 . /etc/slitaz/cook.conf
shann@25629 50 #patch -p1 < $stuff/python-2.7.3-xcompile.patch || exit 1
shann@25629 51 cp -f $CONFIG_SITE .
shann@25629 52 CONFIG_SITE="$(pwd)/cook.site"
shann@25629 53 cat >> $CONFIG_SITE << EOT
shann@25629 54 ac_cv_have_long_long_format=yes
shann@25629 55 ac_cv_buggy_getaddrinfo=no
shann@25629 56 ac_cv_file__dev_ptmx=yes
shann@25629 57 ac_cv_file__dev_ptc=no
shann@25629 58 EOT
shann@25629 59 ./configure CC=${HOST_SYSTEM}-gcc \
shann@25629 60 --disable-ipv6 \
shann@25629 61 --enable-shared \
shann@25629 62 --with-system-ffi \
shann@25629 63 ${CONFIGURE_ARGS} &&
shann@25629 64 make \
shann@25629 65 PYTHON_FOR_BUILD=${src}/hostpython \
shann@25629 66 HOSTPYTHON=${src}/hostpython \
shann@25629 67 HOSTPGEN=${src}/Parser/hostpgen \
shann@25629 68 CROSS_COMPILE_TARGET=yes \
shann@25629 69 HOSTARCH=${HOST_SYSTEM} \
shann@25629 70 BUILDARCH=${BUILD_SYSTEM} || exit 1
shann@25629 71 make DESTDIR=$DESTDIR install || exit 1 ;;
shann@25629 72 i?86|x86_64)
shann@25629 73 CFLAGS="$CFLAGS -fPIC"
shann@25629 74 ./configure \
shann@25629 75 --enable-shared \
shann@25629 76 --with-system-expat \
shann@25629 77 --with-system-ffi \
shann@25629 78 --without-ensurepip \
shann@25629 79 --build=${HOST_SYSTEM} \
shann@25629 80 --host=${HOST_SYSTEM} &&
shann@25634 81 make && make DESTDIR=$DESTDIR install ;;
shann@25629 82 esac
shann@25629 83
shann@25629 84 # chmod 755 $install/usr/lib/libpython${VERSION%.*}m.so
shann@25629 85 chmod 755 $install/usr/lib/libpython${VERSION%%.*}.so
shann@25629 86 find $install -type f -name "*.pyc" -delete
shann@25629 87 }
shann@25629 88
shann@25629 89 # Rules to gen a SliTaz package suitable for Tazpkg.
shann@25629 90 genpkg_rules()
shann@25629 91 {
shann@25629 92 python_version=${VERSION:0:3}
shann@25629 93 # mkdir -p $fs/usr/include/python${python_version}m
shann@25629 94 mkdir -p $fs/usr
shann@25629 95 mkdir $fs/usr/bin && mkdir $fs/usr/lib
shann@25629 96 cp -a $install/usr/bin/* $fs/usr/bin
shann@25629 97 cp -a $install/usr/lib/* $fs/usr/lib
shann@25629 98 # needed for mercurial to work now
shann@25629 99 # cp -a $install/usr/include/python${python_version}m/pyconfig.h \
shann@25629 100 # $fs/usr/include/python${python_version}m
shann@25629 101 rm -f $fs/usr/bin/*-config
shann@25629 102 # Split IDLE with TK dep
shann@25629 103 rm -f $fs/usr/bin/idle*
shann@25634 104 rm -rf $fs/usr/lib/python3.9/idlelib
shann@25629 105 }
shann@25629 106
shann@25629 107 # Post install commands for Tazpkg.
shann@25629 108 pre_install()
shann@25629 109 {
shann@25629 110 # Removed symlinks if python2 installed
shann@25629 111 if [ -d ${1}${INSTALLED}/python2 ]; then
shann@25629 112 rm -f /usr/bin/2to3
shann@25629 113 fi
shann@25629 114 }
shann@25629 115
shann@25629 116 post_remove()
shann@25629 117 {
shann@25629 118 if [ -d ${1}${INSTALLED}/python2 ]; then
shann@25629 119 ln -s /usr/bin/2to3-2.7 /usr/bin/2to3
shann@25629 120 fi
shann@25629 121 }