pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang python37: added version 3.7.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/328e3ac38241
branches:  trunk
changeset: 382370:328e3ac38241
user:      adam <adam%pkgsrc.org@localhost>
date:      Tue Jul 03 03:55:40 2018 +0000

description:
python37: added version 3.7.0

Python 3.7.0 is the newest major release of the Python language, and it contains many new features and optimizations.

Among the major new features in Python 3.7 are:

PEP 539, new C API for thread-local storage
PEP 545, Python documentation translations
New documentation translations: Japanese, French, and Korean.
PEP 552, Deterministic pyc files
PEP 553, Built-in breakpoint()
PEP 557, Data Classes
PEP 560, Core support for typing module and generic types
PEP 562, Customization of access to module attributes
PEP 563, Postponed evaluation of annotations
PEP 564, Time functions with nanosecond resolution
PEP 565, Improved DeprecationWarning handling
PEP 567, Context Variables
Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode)
The insertion-order preservation nature of dict objects is now an official part of the Python language spec.
Notable performance improvements in many areas.

diffstat:

 lang/Makefile                                                |     3 +-
 lang/python/pyversion.mk                                     |    12 +-
 lang/python/srcdist.mk                                       |     4 +-
 lang/python37/ALTERNATIVES                                   |     4 +
 lang/python37/DESCR                                          |    16 +
 lang/python37/Makefile                                       |   200 +
 lang/python37/PLIST                                          |  5339 ++++++++++
 lang/python37/PLIST.Darwin                                   |     2 +
 lang/python37/PLIST.FreeBSD                                  |     2 +
 lang/python37/PLIST.IRIX                                     |    66 +
 lang/python37/PLIST.Linux                                    |     3 +
 lang/python37/buildlink3.mk                                  |    24 +
 lang/python37/dist.mk                                        |     8 +
 lang/python37/distinfo                                       |    20 +
 lang/python37/options.mk                                     |    34 +
 lang/python37/patches/patch-Lib_distutils_command_install.py |    12 +
 lang/python37/patches/patch-Lib_distutils_sysconfig.py       |    28 +
 lang/python37/patches/patch-Lib_distutils_unixccompiler.py   |    31 +
 lang/python37/patches/patch-Lib_sysconfig.py                 |    26 +
 lang/python37/patches/patch-Makefile.pre.in                  |   120 +
 lang/python37/patches/patch-Modules___uuidmodule.c           |    16 +
 lang/python37/patches/patch-Modules_makesetup                |    15 +
 lang/python37/patches/patch-Modules_nismodule.c              |    16 +
 lang/python37/patches/patch-Modules_socketmodule.c           |    55 +
 lang/python37/patches/patch-Modules_socketmodule.h           |    15 +
 lang/python37/patches/patch-Python_thread__pthread.h         |    14 +
 lang/python37/patches/patch-configure                        |   145 +
 lang/python37/patches/patch-pyconfig.h.in                    |    16 +
 lang/python37/patches/patch-setup.py                         |   141 +
 29 files changed, 6378 insertions(+), 9 deletions(-)

diffs (truncated from 6551 to 300 lines):

diff -r 63fa1d5e9851 -r 328e3ac38241 lang/Makefile
--- a/lang/Makefile     Tue Jul 03 03:52:41 2018 +0000
+++ b/lang/Makefile     Tue Jul 03 03:55:40 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.484 2018/06/14 01:56:27 agc Exp $
+# $NetBSD: Makefile,v 1.485 2018/07/03 03:55:40 adam Exp $
 #
 
 COMMENT=       Programming languages
@@ -204,6 +204,7 @@
 SUBDIR+=       python34
 SUBDIR+=       python35
 SUBDIR+=       python36
+SUBDIR+=       python37
 SUBDIR+=       qore
 SUBDIR+=       racket
 SUBDIR+=       racket-textual
diff -r 63fa1d5e9851 -r 328e3ac38241 lang/python/pyversion.mk
--- a/lang/python/pyversion.mk  Tue Jul 03 03:52:41 2018 +0000
+++ b/lang/python/pyversion.mk  Tue Jul 03 03:55:40 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: pyversion.mk,v 1.123 2017/01/01 14:34:26 adam Exp $
+# $NetBSD: pyversion.mk,v 1.124 2018/07/03 03:55:40 adam Exp $
 
 # This file determines which Python version is used as a dependency for
 # a package.
@@ -8,7 +8,7 @@
 # PYTHON_VERSION_DEFAULT
 #      The preferred Python version to use.
 #
-#      Possible values: 27 34 35 36
+#      Possible values: 27 34 35 36 37
 #      Default: 27
 #
 # === Infrastructure variables ===
@@ -27,13 +27,13 @@
 #      order of the entries matters, since earlier entries are
 #      preferred over later ones.
 #
-#      Possible values: 36 35 34 27
-#      Default: 36 35 34 27
+#      Possible values: 37 36 35 34 27
+#      Default: 37 36 35 34 27
 #
 # PYTHON_VERSIONS_INCOMPATIBLE
 #      The Python versions that are NOT acceptable for the package.
 #
-#      Possible values: 27 34 35 36
+#      Possible values: 27 34 35 36 37
 #      Default: (empty)
 #
 # PYTHON_FOR_BUILD_ONLY
@@ -85,7 +85,7 @@
 BUILD_DEFS_EFFECTS+=   PYPACKAGE
 
 PYTHON_VERSION_DEFAULT?=               27
-PYTHON_VERSIONS_ACCEPTED?=             36 35 34 27
+PYTHON_VERSIONS_ACCEPTED?=             37 36 35 34 27
 PYTHON_VERSIONS_INCOMPATIBLE?=         # empty by default
 
 # transform the list into individual variables
diff -r 63fa1d5e9851 -r 328e3ac38241 lang/python/srcdist.mk
--- a/lang/python/srcdist.mk    Tue Jul 03 03:52:41 2018 +0000
+++ b/lang/python/srcdist.mk    Tue Jul 03 03:55:40 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: srcdist.mk,v 1.36 2017/01/01 14:34:26 adam Exp $
+# $NetBSD: srcdist.mk,v 1.37 2018/07/03 03:55:40 adam Exp $
 
 .include "../../lang/python/pyversion.mk"
 
@@ -11,7 +11,7 @@
 # This is used for standard modules shipped with Python but build as
 # separate packages.
 
-.  if ${PYVERSSUFFIX} == "3.5" || ${PYVERSSUFFIX} == "3.6"
+.  if ${PYVERSSUFFIX} == "3.5" || ${PYVERSSUFFIX} == "3.6" || ${PYVERSSUFFIX} == "3.7"
 EXTRACT_ELEMENTS+=     ${PYSUBDIR}/Modules/clinic
 .  endif
 
diff -r 63fa1d5e9851 -r 328e3ac38241 lang/python37/ALTERNATIVES
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/python37/ALTERNATIVES        Tue Jul 03 03:55:40 2018 +0000
@@ -0,0 +1,4 @@
+bin/2to3 @PREFIX@/bin/2to3-3.7
+bin/pydoc3 @PREFIX@/bin/pydoc3.7
+bin/python @PREFIX@/bin/python3.7
+bin/python3 @PREFIX@/bin/python3.7
diff -r 63fa1d5e9851 -r 328e3ac38241 lang/python37/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/python37/DESCR       Tue Jul 03 03:55:40 2018 +0000
@@ -0,0 +1,16 @@
+Python is an interpreted, interactive, object-oriented
+programming language that combines remarkable power with
+very clear syntax. For an introduction to programming in
+Python you are referred to the Python Tutorial. The
+Python Library Reference documents built-in and standard
+types, constants, functions and modules. Finally, the
+Python Reference Manual describes the syntax and semantics
+of the core language in (perhaps too) much detail.
+
+Python's basic power can be extended with your own modules
+written in C or C++. On most systems such modules may be
+dynamically loaded. Python is also adaptable as an exten-
+sion language for existing applications. See the internal
+documentation for hints.
+
+This package provides Python version 3.7.x.
diff -r 63fa1d5e9851 -r 328e3ac38241 lang/python37/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/python37/Makefile    Tue Jul 03 03:55:40 2018 +0000
@@ -0,0 +1,200 @@
+# $NetBSD: Makefile,v 1.1 2018/07/03 03:55:40 adam Exp $
+
+.include "dist.mk"
+
+PKGNAME=       python37-${PY_DISTVERSION}
+CATEGORIES=    lang python
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://www.python.org/
+COMMENT=       Interpreted, interactive, object-oriented programming language
+LICENSE=       python-software-foundation
+
+CONFLICTS+=    python-[0-9]*
+
+PLIST_AWK+=            -f ${PKGSRCDIR}/lang/python/plist-python.awk
+PLIST_AWK_ENV+=                PYVERS=37
+PRINT_PLIST_AWK+=      /^[^@]/ && /[^\/]+\.pyc$$/ {
+PRINT_PLIST_AWK+=      sub(/__pycache__\//, "")
+PRINT_PLIST_AWK+=      sub(/\.cpython-37/, "")}
+PRINT_PLIST_AWK+=      /^[^@]/ && /[^\/]+\.opt-1.pyc$$/ {
+PRINT_PLIST_AWK+=      sub(/.opt-[12].pyc$$/, ".pyo")}
+
+USE_LANGUAGES=         c c++
+GNU_CONFIGURE=         yes
+CONFIGURE_ARGS+=       --enable-shared
+CONFIGURE_ARGS+=       --with-openssl=${BUILDLINK_PREFIX.openssl}
+CONFIGURE_ARGS+=       --with-system-ffi
+CONFIGURE_ARGS+=       --with-threads
+CONFIGURE_ARGS+=       --without-ensurepip
+CONFIGURE_ARGS+=       --without-pymalloc
+CONFIGURE_ENV+=                OPT=${CFLAGS:M*:Q}
+CONFIGURE_ENV+=                ac_cv_path_mkdir=${TOOLS_PATH.mkdir}
+PKGCONFIG_OVERRIDE+=   Misc/python.pc.in
+
+PTHREAD_OPTS+= require
+.include "../../mk/pthread.buildlink3.mk"
+
+.include "../../mk/bsd.prefs.mk"
+
+# http://bugs.python.org/issue13241
+.if !empty(MACHINE_PLATFORM:MDarwin-10.*)
+PKGSRC_COMPILER=       clang
+PKG_CC=                        clang
+PKG_CXX=               clang++
+.endif
+
+# fdatasync()
+LIBS.SunOS+=           -lrt
+
+PY_VER_SUFFIX=         3.7
+
+.if ${OPSYS} == "Darwin"
+PY_PLATNAME=   ${LOWER_OPSYS}
+USE_TOOLS+=    gmake
+.elif ${OPSYS} == "IRIX"
+PY_PLATNAME=   ${LOWER_OPSYS:C/\..*//}
+.elif ${OPSYS} == "SunOS"
+PY_PLATNAME=   sunos${OS_VERSION:C/\..*//}
+.elif ${OPSYS} == "HPUX"
+PY_PLATNAME=   hp-ux11
+.elif ${OPSYS} == "Linux"
+PY_PLATNAME=   linux
+.else
+PY_PLATNAME=   ${LOWER_OPSYS}${OS_VERSION:C/\..*//}
+.endif
+PLIST_SUBST+=  PY_PLATNAME=${PY_PLATNAME:Q}
+
+# ossaudiodev is only available on x86 for the following platforms
+PLIST_VARS+=   oss
+.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && \
+    (${PY_PLATNAME} == "linux" || ${OPSYS} == "FreeBSD")
+PLIST.oss=     yes
+.endif
+
+# For Xcode 5 and up, we need to search the SDK path for headers, otherwise
+# certain modules will not be built.
+.if ${OPSYS} == "Darwin" && exists(${OSX_SDK_PATH:Q}/usr/include)
+CFLAGS+=               -I${OSX_SDK_PATH:Q}/usr/include
+.endif
+
+PLIST_VARS+=   dll nis no-nis
+.if ${OPSYS} == "IRIX"
+.  if ${ABI} == "64"
+PLIST.no-nis=  yes
+.  else
+PLIST.nis=     yes
+.  endif
+.else
+PLIST.dll=     yes
+.  if ${OPSYS} != "NetBSD" || exists(/usr/bin/ypcat)
+.    if "${OS_VARIANT}" != "chromeos"
+PLIST.nis=     yes
+.    endif
+.  else
+PLIST.no-nis=  yes
+.  endif
+.endif
+
+PLIST_SUBST+=  PY_VER_SUFFIX=${PY_VER_SUFFIX:Q}
+
+PRINT_PLIST_AWK+=      { gsub(/${PY_PLATNAME}/, "$${PY_PLATNAME}") }
+PRINT_PLIST_AWK+=      { gsub(/python${PY_VER_SUFFIX}/, \
+                               "python$${PY_VER_SUFFIX}") }
+
+TEST_TARGET=   test
+INSTALL_TARGET=        altinstall
+
+REPLACE_INTERPRETER+=  py37
+REPLACE.py37.old=      .*python[^ ]*
+REPLACE.py37.new=      ${PREFIX}/bin/python${PY_VER_SUFFIX}
+REPLACE_FILES.py37+=   Lib/base64.py
+REPLACE_FILES.py37+=   Lib/cProfile.py
+REPLACE_FILES.py37+=   Lib/cgi.py
+REPLACE_FILES.py37+=   Lib/encodings/rot_13.py
+REPLACE_FILES.py37+=   Lib/idlelib/pyshell.py
+REPLACE_FILES.py37+=   Lib/keyword.py
+REPLACE_FILES.py37+=   Lib/lib2to3/pgen2/token.py
+REPLACE_FILES.py37+=   Lib/lib2to3/tests/data/different_encoding.py
+REPLACE_FILES.py37+=   Lib/lib2to3/tests/data/false_encoding.py
+REPLACE_FILES.py37+=   Lib/lib2to3/tests/pytree_idempotency.py
+REPLACE_FILES.py37+=   Lib/pdb.py
+REPLACE_FILES.py37+=   Lib/platform.py
+REPLACE_FILES.py37+=   Lib/profile.py
+REPLACE_FILES.py37+=   Lib/pydoc.py
+REPLACE_FILES.py37+=   Lib/quopri.py
+REPLACE_FILES.py37+=   Lib/smtpd.py
+REPLACE_FILES.py37+=   Lib/smtplib.py
+REPLACE_FILES.py37+=   Lib/symbol.py
+REPLACE_FILES.py37+=   Lib/tabnanny.py
+REPLACE_FILES.py37+=   Lib/tarfile.py
+REPLACE_FILES.py37+=   Lib/test/bisect.py
+REPLACE_FILES.py37+=   Lib/test/crashers/recursive_call.py
+REPLACE_FILES.py37+=   Lib/test/curses_tests.py
+REPLACE_FILES.py37+=   Lib/test/re_tests.py
+REPLACE_FILES.py37+=   Lib/test/regrtest.py
+REPLACE_FILES.py37+=   Lib/timeit.py
+REPLACE_FILES.py37+=   Lib/trace.py
+REPLACE_FILES.py37+=   Lib/turtledemo/__main__.py
+REPLACE_FILES.py37+=   Lib/turtledemo/bytedesign.py
+REPLACE_FILES.py37+=   Lib/turtledemo/clock.py
+REPLACE_FILES.py37+=   Lib/turtledemo/forest.py
+REPLACE_FILES.py37+=   Lib/turtledemo/fractalcurves.py
+REPLACE_FILES.py37+=   Lib/turtledemo/lindenmayer.py
+REPLACE_FILES.py37+=   Lib/turtledemo/minimal_hanoi.py
+REPLACE_FILES.py37+=   Lib/turtledemo/paint.py
+REPLACE_FILES.py37+=   Lib/turtledemo/peace.py
+REPLACE_FILES.py37+=   Lib/turtledemo/penrose.py
+REPLACE_FILES.py37+=   Lib/turtledemo/planet_and_moon.py
+REPLACE_FILES.py37+=   Lib/turtledemo/sorting_animate.py
+REPLACE_FILES.py37+=   Lib/turtledemo/tree.py
+REPLACE_FILES.py37+=   Lib/turtledemo/yinyang.py
+REPLACE_FILES.py37+=   Lib/uu.py
+REPLACE_FILES.py37+=   Lib/webbrowser.py
+
+SUBST_CLASSES+=                findlib
+SUBST_MESSAGE.findlib= Fixing find_library_file on Darwin.
+SUBST_STAGE.findlib=   pre-configure
+SUBST_FILES.findlib=   Lib/distutils/unixccompiler.py
+SUBST_SED.findlib=     -e 's,/usr/local,${PREFIX},'
+
+# XXX: It might be needed to add manually more paths like ${PREFIX}/qt5/lib
+# Testing:
+# >>> from ctypes.util import find_library
+# >>> find_library("m")
+# 'libm.so.0'
+
+SUBST_CLASSES+=                pfindlib
+SUBST_MESSAGE.pfindlib=        Fixing find_library() on POSIX-like (excluding Darwin) systems.
+SUBST_STAGE.pfindlib=  pre-configure
+SUBST_FILES.pfindlib=  Lib/ctypes/util.py
+SUBST_SED.pfindlib=    -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib \1!'
+
+.include "options.mk"
+
+CHECK_INTERPRETER_SKIP=        lib/python${PY_VER_SUFFIX}/venv/scripts/posix/pydoc
+
+# Avoid error: Cannot generate ./Include/opcode.h, python not found !
+post-configure:
+       touch ${WRKSRC}/Include/opcode.h
+
+.if ${OPSYS} == "HPUX"
+post-install:
+       ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython3.7.sl \
+               ${DESTDIR}${PREFIX}/lib/libpython3.7.sl.1.0
+.endif
+
+BUILDLINK_DEPMETHOD.readline=          build
+
+.include "../../archivers/bzip2/buildlink3.mk"



Home | Main Index | Thread Index | Old Index