diff --git a/dev/lang/python/pydefault b/dev/lang/python/pydefault index 70d0db63..1f4167b5 100644 --- a/dev/lang/python/pydefault +++ b/dev/lang/python/pydefault @@ -22,7 +22,7 @@ if [ "$1" != "" ] ; then rmln libpython3.so.$version /usr/lib64/libpython3.so rmln python-$version.pc /usr/lib64/pkgconfig/python3.pc rmln python-$version-embed.pc /usr/lib64/pkgconfig/python3-embed.pc - else + echo "Usage: pydefault " exit 1 fi diff --git a/dev/lang/python/python.sysconf b/dev/lang/python/python.sysconf new file mode 100644 index 00000000..44176779 --- /dev/null +++ b/dev/lang/python/python.sysconf @@ -0,0 +1,5 @@ +#!/bin/sh +if [ ! -L /usr/bin/python ] ; then + maxver=$(ls /usr/lib64 | grep "python3.[0-9]*" | sort | tail -n 1) + pydefault ${manver:6} +fi \ No newline at end of file diff --git a/dev/lang/python/ympbuild b/dev/lang/python/ympbuild index ad1aaeeb..abc98f1d 100644 --- a/dev/lang/python/ympbuild +++ b/dev/lang/python/ympbuild @@ -1,22 +1,24 @@ #!/usr/bin/env bash name='python' release='1' -version='3.10' +version='3.11' url='https://gitlab.com/turkman' description='Python meta package' email='aliriza.keskin@pardus.org.tr' maintainer='aliriza' license=('GPLv3') -source=('pydefault') -depends=(python3.10) +source=('pydefault' 'python.sysconf') +depends=('python3.11|python3.10') makedepends=() -md5sums=('SKIP') +md5sums=('SKIP' 'SKIP') uses=() group=(dev.lang) arch=('x86_64') package(){ mkdir -p ${DESTDIR}/usr/bin/ + mkdir -p ${DESTDIR}/etc/sysconf.d install pydefault ${DESTDIR}/usr/bin/ + install python.sysconf ${DESTDIR}/etc/sysconf.d/python } diff --git a/dev/lang/python3.10/ympbuild b/dev/lang/python3.10/ympbuild index f5629055..52ef6cd9 100644 --- a/dev/lang/python3.10/ympbuild +++ b/dev/lang/python3.10/ympbuild @@ -28,7 +28,7 @@ cd Python-$version setup(){ patch -Np1 -i "../turkman.patch" ./configure --prefix=/usr \ - --libdir=/usr/lib64 \ + --libdir=/usr/lib \ --enable-shared \ $(use_opt expat --with-system-expat "") \ $(use_opt ffi --with-system-ffi "") \ @@ -41,12 +41,15 @@ build(){ package(){ make install $jobs + mv ${DESTDIR}/usr/lib{,64} # this symlinks provided by main python metapackage for bin in pydoc3 idle3 python3 python3-config pip3 2to3; do rm -f ${DESTDIR}/usr/bin/$bin done rm -f ${DESTDIR}/usr/lib64/pkgconfig/python3.pc rm -f ${DESTDIR}/usr/lib64/pkgconfig/python3-embed.pc + # remove unused file + rm -f ${DESTDIR}/usr/share/man/man1/python3.1 # move libpython3.so file mv ${DESTDIR}/usr/lib64/libpython3.so ${DESTDIR}/usr/lib64/libpython3.so.3.10 } diff --git a/dev/lang/python3.11/turkman.patch b/dev/lang/python3.11/turkman.patch new file mode 100644 index 00000000..3e38d72a --- /dev/null +++ b/dev/lang/python3.11/turkman.patch @@ -0,0 +1,15 @@ +*** a/Lib/site.py Tue Feb 7 13:15:11 2023 +--- b/Lib/site.py Tue Feb 7 13:15:45 2023 +*************** def getsitepackages(prefixes=None): +*** 366,371 **** +--- 366,374 ---- + if sys.platlibdir != "lib": + libdirs.append("lib") + ++ sitepackages.insert(0, os.path.join(prefix, "share", "python3")) ++ sitepackages.insert(0, os.path.join(prefix, "lib", "python3")) ++ + for libdir in libdirs: + path = os.path.join(prefix, libdir, + "python%d.%d" % sys.version_info[:2], + diff --git a/dev/lang/python3.11/ympbuild b/dev/lang/python3.11/ympbuild new file mode 100644 index 00000000..baf443de --- /dev/null +++ b/dev/lang/python3.11/ympbuild @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +name='python3.11' +release='1' +version='3.11.1' +url='https://www.python.org/downloads/' +description='Next generation of the python high-level scripting language' +email='parduscix@yandex.ru' +maintainer='sulincix' +license=('custom') +source=("https://www.python.org/ftp/python/$version/Python-$version.tar.xz" + 'turkman.patch') +depends=('bzip2' 'gdbm' 'libnsl' 'libxcrypt' 'openssl' 'zlib' 'sqlite') +makedepends=( ) +md5sums=('4efe92adf28875c77d3b9b2e8d3bc44a' + 'SKIP') +uses=(expat ffi) +ffi_depends=('libffi') +expat_depends=('expat') +arch=('x86_64') +group=(dev.lang python) + +export CFLAGS="-O2 -s" +export CXXFLAGS="-O2 -s" + + +cd Python-$version + +setup(){ + patch -Np1 -i "../turkman.patch" + ./configure --prefix=/usr \ + --libdir=/usr/lib \ + --enable-shared \ + $(use_opt expat --with-system-expat "") \ + $(use_opt ffi --with-system-ffi "") \ + --enable-optimizations +} + +build(){ + make $jobs +} + +package(){ + make install $jobs + mv ${DESTDIR}/usr/lib{,64} + # this symlinks provided by main python metapackage + for bin in pydoc3 idle3 python3 python3-config pip3 2to3; do + rm -f ${DESTDIR}/usr/bin/$bin + done + rm -f ${DESTDIR}/usr/lib64/pkgconfig/python3.pc + rm -f ${DESTDIR}/usr/lib64/pkgconfig/python3-embed.pc + # remove unused file + rm -f ${DESTDIR}/usr/share/man/man1/python3.1 + # move libpython3.so file + mv ${DESTDIR}/usr/lib64/libpython3.so ${DESTDIR}/usr/lib64/libpython3.so.3.11 +} +