summaryrefslogtreecommitdiffstats
path: root/source/d/python2/python2.SlackBuild
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2024-03-20 21:10:30 +0000
committer Eric Hameleers <alien@slackware.com>2024-03-20 23:08:57 +0100
commit0cbf4c3859f23aa741e63823bc1e46377a9e4a9f (patch)
tree1562260d1ee0cbaec3950cfd8124efa9ff2b8510 /source/d/python2/python2.SlackBuild
parent5a8e431607833376ae16794d1134d03dccc3da08 (diff)
downloadcurrent-0cbf4c3859f23aa741e63823bc1e46377a9e4a9f.tar.gz
current-0cbf4c3859f23aa741e63823bc1e46377a9e4a9f.tar.xz
Wed Mar 20 21:10:30 UTC 202420240320211030
a/libblockdev-2.28-x86_64-2.txz: Rebuilt. Drop python2 support. a/sysvinit-scripts-15.1-noarch-15.txz: Rebuilt. rc.M: start rc.iceccd and rc.icecc-scheduler earlier. a/util-linux-2.39.3-x86_64-2.txz: Rebuilt. Drop python2 support. a/volume_key-0.3.12-x86_64-6.txz: Rebuilt. Drop python2 support. ap/man-pages-6.7-noarch-1.txz: Upgraded. d/cmake-3.28.4-x86_64-1.txz: Upgraded. d/llvm-18.1.2-x86_64-1.txz: Upgraded. d/python2-2.7.18-x86_64-7.txz: Rebuilt. Bundle the final python2 versions of pip and setuptools. Drop the /usr/bin/python symlink. d/python3-3.9.19-x86_64-1.txz: Upgraded. Point the /usr/bin/python symlink at python3.9. PEP 394 says we can do this, and in a world of ambigious shebangs, this is probably the best of the available options. This update also fixes security issues: bundled libexpat was updated to 2.6.0. zipfile is now protected from the "quoted-overlap" zipbomb. tempfile.TemporaryDirectory cleanup no longer dereferences symlinks when working around file system permission errors. For more information, see: https://pythoninsider.blogspot.com/2024/03/python-31014-3919-and-3819-is-now.html https://www.cve.org/CVERecord?id=CVE-2023-52425 https://www.cve.org/CVERecord?id=CVE-2024-0450 https://www.cve.org/CVERecord?id=CVE-2023-6597 (* Security fix *) d/strace-6.8-x86_64-1.txz: Upgraded. kde/kross-interpreters-23.08.5-x86_64-2.txz: Rebuilt. Drop python2 support. l/libxml2-2.12.6-x86_64-2.txz: Rebuilt. Drop python2 support. l/mozjs115-115.9.0esr-x86_64-2.txz: Rebuilt. Fixed installed library name. Thanks to reddog83. Fixed slack-desc. Thanks to r1w1s1. l/phonon-4.12.0-x86_64-1.txz: Upgraded. l/pilot-link-0.12.5-x86_64-17.txz: Rebuilt. Drop python2 support. l/python2-module-collection-2.7.18-x86_64-6.txz: Removed. Good bye! l/python2-pycairo-1.18.2-x86_64-1.txz: Added. We'll need this (along with pygtk and pygobject) until we get gimp3. Well, we could build gimp without python support, but I really don't think that's the route we want to take. n/bind-9.18.25-x86_64-1.txz: Upgraded. n/crda-4.15-x86_64-1.txz: Removed. The kernel is able to load from wireless-regdb directly. Obsolete. n/getmail-6.18.14-x86_64-1.txz: Upgraded. n/gpgme-1.23.2-x86_64-2.txz: Rebuilt. Drop python2 support. n/obexftp-0.24.2-x86_64-11.txz: Rebuilt. Drop python2 support. n/wireless-regdb-2024.01.23-x86_64-1.txz: Added. Wireless regulatory database, previously bundled with crda. x/ibus-1.5.29-x86_64-2.txz: Rebuilt. Drop python2 support. x/libkkc-0.3.5-x86_64-4.txz: Rebuilt. Still forcing python2 with this one, but perhaps a python3 marisa module could work around this. x/libkkc-data-0.2.7-x86_64-4.txz: Rebuilt. Still forcing python2 with this one, but perhaps a python3 marisa module could work around this. x/xcb-proto-1.16.0-x86_64-2.txz: Rebuilt. Drop python2 support. x/xpyb-1.3.1-x86_64-7.txz: Removed. Nothing uses it, and it was never updated for python3. Removed as obsolete.
Diffstat (limited to 'source/d/python2/python2.SlackBuild')
-rwxr-xr-xsource/d/python2/python2.SlackBuild65
1 files changed, 49 insertions, 16 deletions
diff --git a/source/d/python2/python2.SlackBuild b/source/d/python2/python2.SlackBuild
index 26effbb01..c360fd8a8 100755
--- a/source/d/python2/python2.SlackBuild
+++ b/source/d/python2/python2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2012, 2013, 2016, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2012, 2013, 2016, 2018, 2020, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ PKGNAM=python2
SRCNAM=Python
VERSION=$(echo $SRCNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
BRANCH_VERSION=$(echo $VERSION | cut -f 1,2 -d . )
-BUILD=${BUILD:-6}
+BUILD=${BUILD:-7}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -114,6 +114,53 @@ sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# This conflicts with python3. We'll assume the python3 version is more
+# up-to-date and just get rid of it:
+rm -f $PKG/usr/bin/2to3
+
+# We don't want these now:
+rm -f $PKG/usr/bin/python
+rm -f $PKG/usr/bin/python-config
+
+# Bundle the very last pip for python2:
+tar xf $CWD/pip-20.3.tar.lz || exit 1
+cd pip-20.3
+fix_perms
+python2 setup.py install --root=$PKG || exit 1
+# Don't package this. We want /usr/bin/pip in the main python-pip package to be
+# the python3 version:
+rm -f $PKG/usr/bin/pip
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/pip-20.3
+cp -a *.txt PKG-INFO README.rst \
+ $PKG/usr/doc/$PKGNAM-$VERSION/pip-20.3
+find $PKG/usr/doc/$PKGNAM-$VERSION/pip-20.3 -type f -exec chmod 0644 {} \+
+cd ..
+
+# Bundle the very last setuptools for python2:
+tar xf $CWD/setuptools-44.1.1.tar.lz || exit 1
+cd setuptools-44.1.1
+fix_perms
+# Install setuptools to the system if it's not there:
+if [ ! -d /usr/lib${LIBDIRSUFFIX}/python2.7/site-packages/setuptools/version.py ]; then
+ python2 setup.py install --root=/ || exit 1
+fi
+python2 setup.py install --root=$PKG || exit 1
+# It's tempting to get rid of this entirely, but we'll leave the -2.7 versioned
+# binary:
+rm -f $PKG/usr/bin/easy_install
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/setuptools-44.1.1
+cp -a CHANGES.rst PKG-INFO README.rst docs/*.txt \
+ $PKG/usr/doc/$PKGNAM-$VERSION/setuptools-44.1.1
+find $PKG/usr/doc/$PKGNAM-$VERSION/setuptools-44.1.1 -type f -exec chmod 0644 {} \+
+# If there's a CHANGES.rst, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES.rst ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION/setuptools-44.1.1)
+ cat CHANGES.rst | head -n 1000 > $DOCSDIR/CHANGES.rst
+ touch -r CHANGES.rst $DOCSDIR/CHANGES.rst
+fi
+cd ..
+
# Install some python-demo files:
mkdir -p $PKG/usr/doc/python2-$VERSION
cp -a Demo $PKG/usr/doc/python2-$VERSION
@@ -128,14 +175,6 @@ mv $SITEPK/README $PKG/usr/doc/python2-$VERSION/README.python-tools
ln -sf $TOOLSDIR Tools
)
-# Make a few useful symlinks:
-mkdir -p $PKG/usr/bin
-( cd $PKG/usr/bin
- ln -sf $TOOLSDIR/pynche/pynche pynche
- ln -sf $TOOLSDIR/i18n/msgfmt.py .
- ln -sf $TOOLSDIR/i18n/pygettext.py .
-)
-
# Install docs:
mkdir -p $PKG/usr/doc/python2-$VERSION/Documentation
cp -a README LICENSE $PKG/usr/doc/python2-$VERSION
@@ -151,12 +190,6 @@ chown -R root:root $PKG/usr/doc/python2-$VERSION
find . -perm 750 -exec chmod 755 "{}" \+
)
-
-( cd $PKG/usr/bin
- rm -f python
- ln -sf python${BRANCH_VERSION} python
-)
-
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null