diff --git a/system/base/python3/actions.py b/system/base/python3/actions.py new file mode 100644 index 00000000..0ecf005d --- /dev/null +++ b/system/base/python3/actions.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + pisitools.flags.add("-fwrapv") + + pisitools.dosed("Lib/cgi.py","^#.* /usr/local/bin/python","#!/usr/bin/python") + + shelltools.unlinkDir("Modules/expat") + #shelltools.unlinkDir("Modules/zlib") + shelltools.unlinkDir("Modules/_ctypes/darwin") + #shelltools.unlinkDir("Modules/_ctypes/libffi") + #shelltools.unlinkDir("Modules/_ctypes/libffi_msvc") + shelltools.unlinkDir("Modules/_ctypes/libffi_osx") + #shelltools.unlinkDir("Modules/_decimal/libmpdec") + + autotools.rawConfigure("\ + --prefix=/usr \ + --enable-shared \ + --with-threads \ + --with-computed-gotos \ + --enable-ipv6 \ + --with-system-expat \ + --with-dbmliborder=gdbm:ndbm \ + --with-system-ffi \ + --with-system-libmpdec \ + --enable-loadable-sqlite-extensions \ + --without-ensurepip") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + pisitools.remove("/usr/bin/2to3") + pisitools.dodoc("LICENSE", "README.*") + + pisitools.removeDir("/usr/lib/python3.8/idlelib") + pisitools.removeDir("/usr/lib/python3.8/tkinter") + pisitools.removeDir("/usr/lib/python3.8/turtledemo") + pisitools.remove("/usr/bin/idle3*") diff --git a/system/base/python3/files/0001-compileall-Fix-ddir-when-recursing.patch b/system/base/python3/files/0001-compileall-Fix-ddir-when-recursing.patch new file mode 100644 index 00000000..91ebc71f --- /dev/null +++ b/system/base/python3/files/0001-compileall-Fix-ddir-when-recursing.patch @@ -0,0 +1,57 @@ +From 84fdbc156ed424d030686de350fbfc6c3593263f Mon Sep 17 00:00:00 2001 +Message-Id: <84fdbc156ed424d030686de350fbfc6c3593263f.1537028533.git.jan.steffens@gmail.com> +From: "Jan Alexander Steffens (heftig)" +Date: Sat, 15 Sep 2018 18:22:06 +0200 +Subject: [PATCH] compileall: Fix ddir when recursing + +--- + Lib/compileall.py | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/Lib/compileall.py b/Lib/compileall.py +index 72592126d7..70e246fd96 100644 +--- a/Lib/compileall.py ++++ b/Lib/compileall.py +@@ -45,12 +45,16 @@ def _walk_dir(dir, ddir=None, maxlevels=10, quiet=0): + else: + dfile = None + if not os.path.isdir(fullname): +- yield fullname ++ yield fullname, ddir + elif (maxlevels > 0 and name != os.curdir and name != os.pardir and + os.path.isdir(fullname) and not os.path.islink(fullname)): + yield from _walk_dir(fullname, ddir=dfile, + maxlevels=maxlevels - 1, quiet=quiet) + ++def _compile_one(file_ddir, *args, **kwargs): ++ file, ddir = file_ddir ++ return compile_file(file, ddir, *args, **kwargs) ++ + def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, + quiet=0, legacy=False, optimize=-1, workers=1, + invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP): +@@ -79,17 +83,17 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, + if workers is not None and workers != 1 and ProcessPoolExecutor is not None: + workers = workers or None + with ProcessPoolExecutor(max_workers=workers) as executor: +- results = executor.map(partial(compile_file, +- ddir=ddir, force=force, ++ results = executor.map(partial(_compile_one, ++ force=force, + rx=rx, quiet=quiet, + legacy=legacy, + optimize=optimize, + invalidation_mode=invalidation_mode), + files) + success = min(results, default=True) + else: +- for file in files: +- if not compile_file(file, ddir, force, rx, quiet, ++ for file_ddir in files: ++ if not _compile_one(file_ddir, force, rx, quiet, + legacy, optimize, invalidation_mode): + success = False + return success +-- +2.18.0 + diff --git a/system/base/python3/files/dont-make-libpython-readonly.patch b/system/base/python3/files/dont-make-libpython-readonly.patch new file mode 100644 index 00000000..92308bfe --- /dev/null +++ b/system/base/python3/files/dont-make-libpython-readonly.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.pre.in b/Makefile.pre.in +index ce2c0aa..7d6dcf7 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -60,7 +60,7 @@ INSTALL_DATA= @INSTALL_DATA@ + # Shared libraries must be installed with executable mode on some systems; + # rather than figuring out exactly which, we always give them executable mode. + # Also, making them read-only seems to be a good idea... +-INSTALL_SHARED= ${INSTALL} -m 555 ++INSTALL_SHARED= ${INSTALL} -m 755 + + MKDIR_P= @MKDIR_P@ + diff --git a/system/base/python3/files/idle.desktop b/system/base/python3/files/idle.desktop new file mode 100644 index 00000000..88d6be1e --- /dev/null +++ b/system/base/python3/files/idle.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=idle3 +Icon=idle3 +Name=IDLE Integrated Development Environment +Name[tr]=IDLE3 Tümleşik Geliştirme Ortamı +StartupNotify=false +Terminal=false +Type=Application +Categories=Application;Development; +MimeType=application/x-python; \ No newline at end of file diff --git a/system/base/python3/files/python-logo.png b/system/base/python3/files/python-logo.png new file mode 100644 index 00000000..5ebd9207 Binary files /dev/null and b/system/base/python3/files/python-logo.png differ diff --git a/system/base/python3/pspec.xml b/system/base/python3/pspec.xml new file mode 100644 index 00000000..b7210985 --- /dev/null +++ b/system/base/python3/pspec.xml @@ -0,0 +1,176 @@ + + + + + python3 + http://www.python.org/ + + PisiLinux Community + admins@pisilinux.org + + custom + programming.language + Next generation of the python high-level scripting language + Next generation of the python high-level scripting language + https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz + + + bzip2 + xz-devel + + gdbm-devel + zlib-devel + + expat-devel + libffi-devel + sqlite-devel + ncurses-devel + openssl-devel + readline-devel + mpdecimal-devel + + + + 0001-compileall-Fix-ddir-when-recursing.patch + + + + + python3 + + xz + gdbm + zlib + bzip2 + expat + libffi + sqlite + ncurses + openssl + readline + mpdecimal + + + /usr/bin/p* + /usr/bin/2to3* + /usr/lib/python3.8/a* + /usr/lib/python3.8/c* + /usr/lib/python3.8/d* + /usr/lib/python3.8/e* + /usr/lib/python3.8/h* + /usr/lib/python3.8/imp* + /usr/lib/python3.8/j* + /usr/lib/python3.8/lib2* + /usr/lib/python3.8/log* + /usr/lib/python3.8/m* + /usr/lib/python3.8/p* + /usr/lib/python3.8/s* + /usr/lib/python3.8/te* + /usr/lib/python3.8/u* + /usr/lib/python3.8/v* + /usr/lib/python3.8/w* + /usr/lib/python3.8/x* + /usr/lib/python3.8/*.py + /usr/lib/python3.8/*.txt + /usr/lib/python3.8/lib-dynload/_a* + /usr/lib/python3.8/lib-dynload/a* + /usr/lib/python3.8/lib-dynload/b* + /usr/lib/python3.8/lib-dynload/_b* + /usr/lib/python3.8/lib-dynload/c* + /usr/lib/python3.8/lib-dynload/_c* + /usr/lib/python3.8/lib-dynload/_d* + /usr/lib/python3.8/lib-dynload/_e* + /usr/lib/python3.8/lib-dynload/f* + /usr/lib/python3.8/lib-dynload/g* + /usr/lib/python3.8/lib-dynload/_g* + /usr/lib/python3.8/lib-dynload/_h* + /usr/lib/python3.8/lib-dynload/_j* + /usr/lib/python3.8/lib-dynload/_l* + /usr/lib/python3.8/lib-dynload/m* + /usr/lib/python3.8/lib-dynload/_m* + /usr/lib/python3.8/lib-dynload/n* + /usr/lib/python3.8/lib-dynload/o* + /usr/lib/python3.8/lib-dynload/_o* + /usr/lib/python3.8/lib-dynload/_p* + /usr/lib/python3.8/lib-dynload/p* + /usr/lib/python3.8/lib-dynload/r* + /usr/lib/python3.8/lib-dynload/_r* + /usr/lib/python3.8/lib-dynload/_s* + /usr/lib/python3.8/lib-dynload/s* + /usr/lib/python3.8/lib-dynload/te* + /usr/lib/python3.8/lib-dynload/_te* + /usr/lib/python3.8/lib-dynload/ti* + /usr/lib/python3.8/lib-dynload/u* + /usr/lib/python3.8/lib-dynload/x* + /usr/lib/python3.8/lib-dynload/z* + /usr/lib/python3.8/__pycache__ + /usr/lib/*.so + /usr/lib/libpython3.8.so.1.0 + /usr/share/man/man1/* + /usr/share/doc + + + + + python3-devel + + python3 + + + /usr/include/python3.8/* + /usr/lib/pkgconfig/* + + + + + + 2019-12-10 + 3.8.0 + Version bump + Idris Kalp + idriskalp@gmail.com + + + 2018-07-31 + 3.6.5 + Rebuild. + mustafa Cinasal + muscnsl@gmail.com + + + 2018-05-09 + 3.6.5 + Version bump + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2018-01-31 + 3.6.0 + Rebuild + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2016-06-09 + 3.4.3 + Release Bump + Pisi Linux Community + admin@pisilinux.org + + + 2016-05-08 + 3.4.3 + Rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-08-13 + 3.4.3 + First release + Marcin Bojara + marcin@pisilinux.org + + +