summaryrefslogtreecommitdiff
path: root/pkg/python
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-12-11 16:04:20 -0800
committerMichael Forney <mforney@mforney.org>2016-12-13 23:10:30 -0800
commit293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch)
tree6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/python
parent9a506a6834df01a26795cea222b410f206efa9fa (diff)
Move to flat package hierarchy
Note to self: never try to move submodules again To migrate your existing submodules (more or less): set -x set -e mkdir .git/modules/pkg for old in */*/src ; do new="pkg/${old#*/}" if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then continue fi git -C ".git/modules/$old" config core.worktree "../../../../../$new" rmdir "$new" mv "$old" "$new" sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp" mv "$new/.git.tmp" "$new/.git" mkdir ".git/modules/${new%/src}" mv ".git/modules/$old" ".git/modules/$new" rm "${old%/src}"/*.ninja mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/" rmdir "${old%/src}" || true done sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/python')
-rw-r--r--pkg/python/.gitignore2
-rw-r--r--pkg/python/Setup78
-rw-r--r--pkg/python/gen.rc180
-rw-r--r--pkg/python/lib/Makefile1
-rw-r--r--pkg/python/lib/_sysconfigdata.py2
-rw-r--r--pkg/python/modules.awk7
-rw-r--r--pkg/python/pyconfig.h327
-rw-r--r--pkg/python/pylibs.txt715
-rw-r--r--pkg/python/rev1
-rw-r--r--pkg/python/sha2561
-rw-r--r--pkg/python/url1
11 files changed, 1315 insertions, 0 deletions
diff --git a/pkg/python/.gitignore b/pkg/python/.gitignore
new file mode 100644
index 00000000..90e82b82
--- /dev/null
+++ b/pkg/python/.gitignore
@@ -0,0 +1,2 @@
+/Python-3.5.2.tar.xz
+/src
diff --git a/pkg/python/Setup b/pkg/python/Setup
new file mode 100644
index 00000000..3aac233d
--- /dev/null
+++ b/pkg/python/Setup
@@ -0,0 +1,78 @@
+*static*
+# from Setup.local
+_thread _threadmodule.c
+_signal signalmodule.c
+
+# from Setup.dist
+posix posixmodule.c
+errno errnomodule.c
+pwd pwdmodule.c
+_sre _sre.c
+_codecs _codecsmodule.c
+_weakref _weakref.c
+_functools _functoolsmodule.c
+_operator _operator.c
+_collections _collectionsmodule.c
+itertools itertoolsmodule.c
+atexit atexitmodule.c
+_stat _stat.c
+time timemodule.c
+_locale _localemodule.c
+_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c
+zipimport zipimport.c
+faulthandler faulthandler.c
+_tracemalloc _tracemalloc.c hashtable.c
+#_symtable symtablemodule.c
+#readline readline.c
+array arraymodule.c
+cmath cmathmodule.c _math.c
+math mathmodule.c _math.c
+_struct _struct.c
+#_testcapi _testcapimodule.c
+_random _randommodule.c
+#_elementtree _elementtree.c
+_pickle _pickle.c
+_datetime _datetimemodule.c
+_bisect _bisectmodule.c
+_heapq _heapqmodule.c
+unicodedata unicodedata.c
+fcntl fcntlmodule.c
+spwd spwdmodule.c
+grp grpmodule.c
+select selectmodule.c
+mmap mmapmodule.c
+_csv _csv.c
+_socket socketmodule.c
+_ssl _ssl.c
+_crypt _cryptmodule.c
+#nis nismodule.c
+termios termios.c
+resource resource.c
+_posixsubprocess _posixsubprocess.c
+#audioop audioop.c
+#_md5 md5module.c
+#_sha1 sha1module.c
+#_sha256 sha256module.c
+#_sha512 sha512module.c
+#_tkinter _tkinter.c tkappinit.c
+#syslog syslogmodule.c
+#_curses _cursesmodule.c
+#_curses_panel _curses_panel.c
+#_dbm _dbmmodule.c
+#_gdbm _gdbmmodule.c
+binascii binascii.c
+parser parsermodule.c
+#fpectl fpectlmodule.c
+#fpetest fpetestmodule.c
+zlib zlibmodule.c
+pyexpat pyexpat.c
+#_multibytecodec cjkcodecs/multibytecodec.c
+#_codecs_cn cjkcodecs/_codecs_cn.c
+#_codecs_hk cjkcodecs/_codecs_hk.c
+#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
+#_codecs_jp cjkcodecs/_codecs_jp.c
+#_codecs_kr cjkcodecs/_codecs_kr.c
+#_codecs_tw cjkcodecs/_codecs_tw.c
+
+_hashlib _hashopenssl.c
+#_ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/stgdict.c _ctypes/cfield.c
diff --git a/pkg/python/gen.rc b/pkg/python/gen.rc
new file mode 100644
index 00000000..93dcc7ab
--- /dev/null
+++ b/pkg/python/gen.rc
@@ -0,0 +1,180 @@
+cflags=(\
+ -fwrapv\
+ -D NDEBUG\
+ -D Py_BUILD_CORE\
+ -I include\
+ -I '$dir' \
+ -I '$srcdir'/Include\
+)
+
+srcs=(\
+ Modules/^(\
+ getbuildinfo.c\
+ getpath.c.o\
+ main.c\
+ gcmodule.c\
+ `{awk -f modules.awk Setup | sort -u}\
+ )\
+ Objects/^(\
+ abstract.c\
+ accu.c\
+ boolobject.c\
+ bytes_methods.c\
+ bytearrayobject.c\
+ bytesobject.c\
+ cellobject.c\
+ classobject.c\
+ codeobject.c\
+ complexobject.c\
+ descrobject.c\
+ enumobject.c\
+ exceptions.c\
+ genobject.c\
+ fileobject.c\
+ floatobject.c\
+ frameobject.c\
+ funcobject.c\
+ iterobject.c\
+ listobject.c\
+ longobject.c\
+ dictobject.c\
+ odictobject.c\
+ memoryobject.c\
+ methodobject.c\
+ moduleobject.c\
+ namespaceobject.c\
+ object.c\
+ obmalloc.c\
+ capsule.c\
+ rangeobject.c\
+ setobject.c\
+ sliceobject.c\
+ structseq.c\
+ tupleobject.c\
+ typeobject.c\
+ unicodeobject.c\
+ unicodectype.c\
+ weakrefobject.c\
+ )\
+ Parser/^(\
+ acceler.c\
+ grammar1.c\
+ listnode.c\
+ node.c\
+ parser.c\
+ bitset.c\
+ metagrammar.c\
+ firstsets.c\
+ grammar.c\
+ pgen.c\
+ myreadline.c parsetok.c tokenizer.c\
+ )\
+ Python/^(\
+ _warnings.c\
+ Python-ast.c\
+ asdl.c\
+ ast.c\
+ bltinmodule.c\
+ ceval.c\
+ compile.c\
+ codecs.c\
+ dynamic_annotations.c\
+ errors.c\
+ frozenmain.c\
+ future.c\
+ getargs.c\
+ getcompiler.c\
+ getcopyright.c\
+ getplatform.c\
+ getversion.c\
+ graminit.c\
+ import.c\
+ importdl.c\
+ marshal.c\
+ modsupport.c\
+ mystrtoul.c\
+ mysnprintf.c\
+ peephole.c\
+ pyarena.c\
+ pyctype.c\
+ pyfpe.c\
+ pyhash.c\
+ pylifecycle.c\
+ pymath.c\
+ pystate.c\
+ pythonrun.c\
+ pytime.c\
+ random.c\
+ structmember.c\
+ symtable.c\
+ sysmodule.c\
+ traceback.c\
+ getopt.c\
+ pystrcmp.c\
+ pystrtod.c\
+ pystrhex.c\
+ dtoa.c\
+ formatter_unicode.c\
+ fileutils.c\
+ dynload_stub.c\
+ thread.c\
+ frozen.c\
+ )\
+ '$outdir'/config.c\
+)
+checkstatus
+
+libs=()
+deps=()
+
+if(grep -q '^_ctypes' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/libffi/include)
+ deps=($deps pkg/libffi/headers)
+ libs=($libs libffi/libffi.a)
+}
+if(grep -qE '^(_hashlib|_ssl)' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/libressl/include)
+ deps=($deps pkg/libressl/headers)
+ libs=($libs (libressl/^(libssl.a libcrypto.a) openbsd/libbsd.a))
+}
+if(grep -q '^pyexpat' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/expat/include)
+ deps=($deps pkg/expat/headers)
+ libs=($libs expat/libexpat.a)
+}
+if(grep -q '^zlib' Setup) {
+ cflags=($cflags -isystem '$builddir'/pkg/zlib/include)
+ deps=($deps pkg/zlib/headers)
+ libs=($libs zlib/libz.a)
+}
+
+rule makesetup 'wd=$$PWD && cd $outdir && $$wd/$srcdir/Modules/makesetup -s $$wd/$srcdir -m - $$wd/$in'
+build '$outdir'/config.c makesetup '$dir'/Setup '|' '$srcdir'/Modules/^(makesetup config.c.in)
+
+cflags $cflags
+
+cc Modules/getpath.c ; defs='-D '''^(\
+ 'PYTHONPATH='":plat-linux"\
+ 'PREFIX='"/"\
+ 'EXEC_PREFIX='"/"\
+ 'VERSION='"3.5"\
+ 'VPATH='""\
+)^'''' with cflags '$cflags '$"defs
+
+phony deps $deps
+lib libpython.a -d '$dir'/deps $srcs
+
+exe python Programs/python.c libpython.a '$builddir'/pkg/$libs
+file bin/python3 '$outdir'/python 755
+sym bin/python python3
+
+pylibs=`{grep -v '^#' pylibs.txt}
+checkstatus
+for(f in $pylibs)
+ file lib/python3.5/$f '$srcdir'/Lib/$f 644
+for(f in _sysconfigdata.py Makefile)
+ file lib/python3.5/$f '$dir'/lib/$f 644
+dir lib/python3.5/lib-dynload 755
+
+gen_inputs='$dir'/^(Setup modules.awk)
+fetch curl
diff --git a/pkg/python/lib/Makefile b/pkg/python/lib/Makefile
new file mode 100644
index 00000000..636bc1a8
--- /dev/null
+++ b/pkg/python/lib/Makefile
@@ -0,0 +1 @@
+# intentionally empty
diff --git a/pkg/python/lib/_sysconfigdata.py b/pkg/python/lib/_sysconfigdata.py
new file mode 100644
index 00000000..1daf2bde
--- /dev/null
+++ b/pkg/python/lib/_sysconfigdata.py
@@ -0,0 +1,2 @@
+build_time_vars = {
+}
diff --git a/pkg/python/modules.awk b/pkg/python/modules.awk
new file mode 100644
index 00000000..5e01a9d1
--- /dev/null
+++ b/pkg/python/modules.awk
@@ -0,0 +1,7 @@
+$0 == "*static*" {static = 1; next}
+$0 == "*shared*" {static = 0; next}
+
+NF && !/^#/ && static {
+ for (i = 2; i <= NF; ++i)
+ print $i
+}
diff --git a/pkg/python/pyconfig.h b/pkg/python/pyconfig.h
new file mode 100644
index 00000000..e88d464f
--- /dev/null
+++ b/pkg/python/pyconfig.h
@@ -0,0 +1,327 @@
+#include <config-posix.h>
+
+#ifndef Py_PYCONFIG_H
+#define Py_PYCONFIG_H
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+/* #undef AIX_GENUINE_CPLUSPLUS */
+/* #undef DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 */
+/* #undef DOUBLE_IS_BIG_ENDIAN_IEEE754 */
+#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1
+#define ENABLE_IPV6 1
+/* #undef FLOCK_NEEDS_LIBBSD */
+/* #undef GETPGRP_HAVE_ARG */
+/* #undef GETTIMEOFDAY_NO_TZ */
+#define HAVE_ACCEPT4 1
+#define HAVE_ADDRINFO 1
+/* #undef HAVE_ALIGNED_REQUIRED */
+#define HAVE_ALLOCA_H 1
+/* #undef HAVE_ALTZONE */
+#define HAVE_ASM_TYPES_H 1
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+/* #undef HAVE_BLUETOOTH_BLUETOOTH_H */
+/* #undef HAVE_BLUETOOTH_H */
+/* #undef HAVE_BROKEN_MBSTOWCS */
+#define HAVE_BROKEN_NICE 1
+/* #undef HAVE_BROKEN_PIPE_BUF */
+/* #undef HAVE_BROKEN_POLL */
+/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */
+/* #undef HAVE_BROKEN_PTHREAD_SIGMASK */
+/* #undef HAVE_BROKEN_SEM_GETVALUE */
+/* #undef HAVE_BROKEN_UNSETENV */
+#define HAVE_BUILTIN_ATOMIC 1
+#define HAVE_C99_BOOL 1
+/* #undef HAVE_CHFLAGS */
+#define HAVE_CHROOT 1
+#define HAVE_COMPUTED_GOTOS 1
+/* #undef HAVE_CONIO_H */
+/* #undef HAVE_CTERMID_R */
+/* #undef HAVE_CURSES_H */
+/* #undef HAVE_CURSES_IS_TERM_RESIZED */
+/* #undef HAVE_CURSES_RESIZETERM */
+/* #undef HAVE_CURSES_RESIZE_TERM */
+#define HAVE_DECL_ISFINITE 1
+#define HAVE_DECL_ISINF 1
+#define HAVE_DECL_ISNAN 1
+/* #undef HAVE_DECL_TZNAME */
+#define HAVE_DEVICE_MACROS 1
+/* #undef HAVE_DEV_PTC */
+#define HAVE_DEV_PTMX 1
+/* #undef HAVE_DIRECT_H */
+#define HAVE_DIRENT_D_TYPE 1
+#define HAVE_DUP3 1
+/* #undef HAVE_DYNAMIC_LOADING */
+#define HAVE_ENDIAN_H 1
+#define HAVE_EPOLL 1
+#define HAVE_EPOLL_CREATE1 1
+#define HAVE_FINITE 1
+#define HAVE_FLOCK 1
+#define HAVE_FORKPTY 1
+/* #undef HAVE_FSEEK64 */
+/* #undef HAVE_FTELL64 */
+#define HAVE_FTIME 1
+#define HAVE_FUTIMES 1
+#define HAVE_FUTIMESAT 1
+/* #undef HAVE_GAMMA */
+/* #undef HAVE_GCC_ASM_FOR_MC68881 */
+#define HAVE_GCC_ASM_FOR_X64 1
+#define HAVE_GCC_ASM_FOR_X87 1
+#define HAVE_GCC_UINT128_T 1
+/* #undef HAVE_GETENTROPY */
+#define HAVE_GETGROUPLIST 1
+/* #undef HAVE_GETHOSTBYNAME */
+#define HAVE_GETHOSTBYNAME_R 1
+/* #undef HAVE_GETHOSTBYNAME_R_3_ARG */
+/* #undef HAVE_GETHOSTBYNAME_R_5_ARG */
+#define HAVE_GETHOSTBYNAME_R_6_ARG 1
+#define HAVE_GETLOADAVG 1
+#define HAVE_GETPAGESIZE 1
+/* #undef HAVE_GETRANDOM */
+#define HAVE_GETRANDOM_SYSCALL 1
+#define HAVE_GETRESGID 1
+#define HAVE_GETRESUID 1
+#define HAVE_GETSPENT 1
+#define HAVE_GETSPNAM 1
+/* #undef HAVE_GETWD */
+/* #undef HAVE_GLIBC_MEMMOVE_BUG */
+#define HAVE_HSTRERROR 1
+#define HAVE_HTOLE64 1
+/* #undef HAVE_IEEEFP_H */
+#define HAVE_INET_ATON 1
+#define HAVE_INITGROUPS 1
+#define HAVE_INT32_T 1
+#define HAVE_INT64_T 1
+/* #undef HAVE_IO_H */
+/* #undef HAVE_IPA_PURE_CONST_BUG */
+/* #undef HAVE_KQUEUE */
+/* #undef HAVE_LARGEFILE_SUPPORT */
+/* #undef HAVE_LCHFLAGS */
+#define HAVE_LCHMOD 1
+#define HAVE_LIBDL 1
+/* #undef HAVE_LIBDLD */
+/* #undef HAVE_LIBIEEE */
+#define HAVE_LIBINTL_H 1
+/* #undef HAVE_LIBREADLINE */
+/* #undef HAVE_LIBRESOLV */
+/* #undef HAVE_LIBSENDFILE */
+/* #undef HAVE_LIBUTIL_H */
+#define HAVE_LINUX_CAN_BCM_H 1
+#define HAVE_LINUX_CAN_H 1
+#define HAVE_LINUX_CAN_RAW_FD_FRAMES 1
+#define HAVE_LINUX_CAN_RAW_H 1
+#define HAVE_LINUX_NETLINK_H 1
+#define HAVE_LINUX_TIPC_H 1
+#define HAVE_LINUX_RANDOM_H 1
+#define HAVE_LONG_DOUBLE 1
+#define HAVE_LONG_LONG 1
+#define HAVE_LUTIMES 1
+#define HAVE_MAKEDEV 1
+#define HAVE_MEMORY_H 1
+#define HAVE_MEMRCHR 1
+#define HAVE_MREMAP 1
+/* #undef HAVE_NCURSES_H */
+/* #undef HAVE_NDIR_H */
+#define HAVE_NETPACKET_PACKET_H 1
+#define HAVE_OPENPTY 1
+/* #undef HAVE_OSX105_SDK */
+#define HAVE_PIPE2 1
+/* #undef HAVE_PLOCK */
+#define HAVE_PRLIMIT 1
+/* #undef HAVE_PROCESS_H */
+#define HAVE_PROTOTYPES 1
+/* #undef HAVE_PTHREAD_DESTRUCTOR */
+/* #undef HAVE_PTHREAD_INIT */
+#define HAVE_PTY_H 1
+/* #undef HAVE_RAND_EGD */
+/* #undef HAVE_RL_APPEND_HISTORY */
+/* #undef HAVE_RL_CALLBACK */
+/* #undef HAVE_RL_CATCH_SIGNAL */
+/* #undef HAVE_RL_COMPLETION_APPEND_CHARACTER */
+/* #undef HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK */
+/* #undef HAVE_RL_COMPLETION_MATCHES */
+/* #undef HAVE_RL_COMPLETION_SUPPRESS_APPEND */
+/* #undef HAVE_RL_PRE_INPUT_HOOK */
+/* #undef HAVE_RL_RESIZE_TERMINAL */
+#define HAVE_SCHED_SETAFFINITY 1
+#define HAVE_SENDFILE 1
+#define HAVE_SETGROUPS 1
+#define HAVE_SETHOSTNAME 1
+#define HAVE_SETRESGID 1
+#define HAVE_SETRESUID 1
+#define HAVE_SHADOW_H 1
+/* #undef HAVE_SOCKADDR_SA_LEN */
+#define HAVE_SOCKADDR_STORAGE 1
+#define HAVE_STAT_TV_NSEC 1
+/* #undef HAVE_STAT_TV_NSEC2 */
+#define HAVE_STDARG_PROTOTYPES 1
+#define HAVE_STD_ATOMIC 1
+#define HAVE_STRLCPY 1
+/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+#define HAVE_STRUCT_STAT_ST_BLOCKS 1
+/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
+/* #undef HAVE_STRUCT_STAT_ST_GEN */
+#define HAVE_STRUCT_TM_TM_ZONE 1
+#define HAVE_SYSEXITS_H 1
+/* #undef HAVE_SYS_AUDIOIO_H */
+/* #undef HAVE_SYS_BSDTTY_H */
+/* #undef HAVE_SYS_DEVPOLL_H */
+/* #undef HAVE_SYS_DIR_H */
+/* #undef HAVE_SYS_ENDIAN_H */
+#define HAVE_SYS_EPOLL_H 1
+/* #undef HAVE_SYS_EVENT_H */
+#define HAVE_SYS_FILE_H 1
+#define HAVE_SYS_IOCTL_H 1
+/* #undef HAVE_SYS_KERN_CONTROL_H */
+/* #undef HAVE_SYS_LOADAVG_H */
+/* #undef HAVE_SYS_LOCK_H */
+/* #undef HAVE_SYS_MKDEV_H */
+/* #undef HAVE_SYS_MODEM_H */
+/* #undef HAVE_SYS_NDIR_H */
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_SENDFILE_H 1
+#define HAVE_SYS_SYSCALL_H 1
+/* #undef HAVE_SYS_SYS_DOMAIN_H */
+/* #undef HAVE_SYS_TERMIO_H */
+#define HAVE_SYS_XATTR_H 1
+/* #undef HAVE_TERM_H */
+#define HAVE_TIMEGM 1
+/* #undef HAVE_TMPNAM_R */
+#define HAVE_TM_ZONE 1
+/* #undef HAVE_UCS4_TCL */
+#define HAVE_UINT32_T 1
+#define HAVE_UINT64_T 1
+/* #undef HAVE_USABLE_WCHAR_T */
+/* #undef HAVE_UTIL_H */
+#define HAVE_WAIT3 1
+#define HAVE_WAIT4 1
+#define HAVE_WORKING_TZSET 1
+#define HAVE_ZLIB_COPY 1
+/* #undef HAVE__GETPTY */
+/* #undef LOG1P_DROPS_ZERO_SIGN */
+/* #undef MAJOR_IN_MKDEV */
+/* #undef MAJOR_IN_SYSMACROS */
+/* #undef MVWDELCH_IS_EXPRESSION */
+/* #undef PACKAGE_BUGREPORT */
+/* #undef PACKAGE_NAME */
+/* #undef PACKAGE_STRING */
+/* #undef PACKAGE_TARNAME */
+/* #undef PACKAGE_URL */
+/* #undef PACKAGE_VERSION */
+/* #undef POSIX_SEMAPHORES_NOT_ENABLED */
+#define PTHREAD_SYSTEM_SCHED_SUPPORTED 1
+/* #undef PYLONG_BITS_IN_DIGIT */
+#define PY_FORMAT_LONG_LONG "ll"
+#define PY_FORMAT_SIZE_T "z"
+/* #undef Py_DEBUG */
+/* #undef Py_ENABLE_SHARED */
+/* #undef Py_HASH_ALGORITHM */
+/* #undef SETPGRP_HAVE_ARG */
+/* #undef SIGNED_RIGHT_SHIFT_ZERO_FILLS */
+#define SIZEOF_DOUBLE 8
+#define SIZEOF_FLOAT 4
+#define SIZEOF_FPOS_T 16
+#define SIZEOF_INT 4
+#define SIZEOF_LONG 8
+#define SIZEOF_LONG_DOUBLE 16
+#define SIZEOF_LONG_LONG 8
+#define SIZEOF_OFF_T 8
+#define SIZEOF_PID_T 4
+#define SIZEOF_PTHREAD_T 8
+#define SIZEOF_SHORT 2
+#define SIZEOF_SIZE_T 8
+#define SIZEOF_TIME_T 8
+#define SIZEOF_UINTPTR_T 8
+#define SIZEOF_VOID_P 8
+#define SIZEOF_WCHAR_T 4
+#define SIZEOF__BOOL 1
+#define SYS_SELECT_WITH_SYS_TIME 1
+#define TANH_PRESERVES_ZERO_SIGN 1
+/* #undef TIMEMODULE_LIB */
+#define TIME_WITH_SYS_TIME 1
+/* #undef TM_IN_SYS_TIME */
+/* #undef USE_COMPUTED_GOTOS */
+#define USE_INLINE 1
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+#define VA_LIST_IS_ARRAY 1
+/* #undef WANT_SIGFPE_HANDLER */
+/* #undef WINDOW_HAS_FLAGS */
+#define WITH_DOC_STRINGS 1
+/* #undef WITH_DYLD */
+/* #undef WITH_LIBINTL */
+/* #undef WITH_NEXT_FRAMEWORK */
+#define WITH_PYMALLOC 1
+#define WITH_THREAD 1
+/* #undef WITH_TSC */
+/* #undef WITH_VALGRIND */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* # undef WORDS_BIGENDIAN */
+# endif
+#endif
+/* #undef X87_DOUBLE_ROUNDING */
+/* #undef _BSD_SOURCE */
+#define _BSD_TYPES 1
+#define _DARWIN_C_SOURCE 1
+#define _FILE_OFFSET_BITS 64
+#define _GNU_SOURCE 1
+/* #undef _INCLUDE__STDC_A1_SOURCE */
+#define _LARGEFILE_SOURCE 1
+/* #undef _LARGE_FILES */
+/* #undef _MINIX */
+#define _NETBSD_SOURCE 1
+/* #undef _POSIX_1_SOURCE */
+#define _POSIX_C_SOURCE 200809L
+/* #undef _POSIX_SOURCE */
+/* #undef _POSIX_THREADS */
+#define _REENTRANT 1
+ #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+ #define below would cause a syntax error. */
+/* #undef _UINT64_T */
+#define _XOPEN_SOURCE 700
+#define _XOPEN_SOURCE_EXTENDED 1
+#define __BSD_VISIBLE 1
+#ifndef __CHAR_UNSIGNED__
+/* # undef __CHAR_UNSIGNED__ */
+#endif
+/* #undef clock_t */
+/* #undef const */
+/* #undef gid_t */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+/* #undef int32_t */
+/* #undef int64_t */
+/* #undef mode_t */
+/* #undef off_t */
+/* #undef pid_t */
+/* #undef signed */
+/* #undef size_t */
+/* #undef socklen_t */
+/* #undef uid_t */
+/* #undef uint32_t */
+/* #undef uint64_t */
+/* #undef volatile */
+#if defined(__USLC__) && defined(__SCO_VERSION__)
+#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
+#endif
+#endif /*Py_PYCONFIG_H*/
diff --git a/pkg/python/pylibs.txt b/pkg/python/pylibs.txt
new file mode 100644
index 00000000..fb5da439
--- /dev/null
+++ b/pkg/python/pylibs.txt
@@ -0,0 +1,715 @@
+# <cd src/Lib && find * '(' -name test -o -name tests -o -name idle_test ')' '!' -prune -o -name '*.py'
+__future__.py
+__phello__.foo.py
+_bootlocale.py
+_collections_abc.py
+_compat_pickle.py
+_compression.py
+_dummy_thread.py
+_markupbase.py
+_osx_support.py
+_pydecimal.py
+_pyio.py
+_sitebuiltins.py
+_strptime.py
+_threading_local.py
+_weakrefset.py
+abc.py
+aifc.py
+antigravity.py
+argparse.py
+ast.py
+asynchat.py
+asyncio/futures.py
+asyncio/compat.py
+asyncio/streams.py
+asyncio/transports.py
+asyncio/base_events.py
+asyncio/tasks.py
+asyncio/events.py
+asyncio/proactor_events.py
+asyncio/windows_utils.py
+asyncio/queues.py
+asyncio/sslproto.py
+asyncio/coroutines.py
+asyncio/subprocess.py
+asyncio/selector_events.py
+asyncio/protocols.py
+asyncio/constants.py
+asyncio/log.py
+asyncio/windows_events.py
+asyncio/unix_events.py
+asyncio/base_subprocess.py
+asyncio/__init__.py
+asyncio/locks.py
+asyncio/test_utils.py
+asyncore.py
+base64.py
+bdb.py
+binhex.py
+bisect.py
+bz2.py
+cProfile.py
+calendar.py
+cgi.py
+cgitb.py
+chunk.py
+cmd.py
+code.py
+codecs.py
+codeop.py
+collections/abc.py
+collections/__main__.py
+collections/__init__.py
+colorsys.py
+compileall.py
+concurrent/futures/process.py
+concurrent/futures/thread.py
+concurrent/futures/_base.py
+concurrent/futures/__init__.py
+concurrent/__init__.py
+configparser.py
+contextlib.py
+copy.py
+copyreg.py
+crypt.py
+csv.py
+ctypes/wintypes.py
+ctypes/_endian.py
+ctypes/util.py
+ctypes/__init__.py
+ctypes/macholib/dylib.py
+ctypes/macholib/dyld.py
+ctypes/macholib/__init__.py
+ctypes/macholib/framework.py
+curses/panel.py
+curses/ascii.py
+curses/textpad.py
+curses/__init__.py
+curses/has_key.py
+datetime.py
+dbm/gnu.py
+dbm/ndbm.py
+dbm/__init__.py
+dbm/dumb.py
+decimal.py
+difflib.py
+dis.py
+distutils/archive_util.py
+distutils/sysconfig.py
+distutils/version.py
+distutils/extension.py
+distutils/errors.py
+distutils/_msvccompiler.py
+distutils/util.py
+distutils/core.py
+distutils/cmd.py
+distutils/bcppcompiler.py
+distutils/command/install_scripts.py
+distutils/command/upload.py
+distutils/command/install_headers.py
+distutils/command/install_data.py
+distutils/command/install.py
+distutils/command/install_egg_info.py
+distutils/command/bdist_wininst.py
+distutils/command/clean.py
+distutils/command/build_py.py
+distutils/command/bdist.py
+distutils/command/config.py
+distutils/command/build_scripts.py
+distutils/command/check.py
+distutils/command/sdist.py
+distutils/command/build_clib.py
+distutils/command/install_lib.py
+distutils/command/build.py
+distutils/command/bdist_dumb.py
+distutils/command/bdist_rpm.py
+distutils/command/__init__.py
+distutils/command/bdist_msi.py
+distutils/command/register.py
+distutils/command/build_ext.py
+distutils/dist.py
+distutils/config.py
+distutils/text_file.py
+distutils/versionpredicate.py
+distutils/msvccompiler.py
+distutils/spawn.py
+distutils/debug.py
+distutils/ccompiler.py
+distutils/file_util.py
+distutils/cygwinccompiler.py
+distutils/dep_util.py
+distutils/log.py
+distutils/unixccompiler.py
+distutils/msvc9compiler.py
+distutils/__init__.py
+distutils/dir_util.py
+distutils/filelist.py
+distutils/fancy_getopt.py
+doctest.py
+dummy_threading.py
+email/quoprimime.py
+email/generator.py
+email/charset.py
+email/contentmanager.py
+email/base64mime.py
+email/mime/message.py
+email/mime/audio.py
+email/mime/image.py
+email/mime/multipart.py
+email/mime/__init__.py
+email/mime/nonmultipart.py
+email/mime/text.py
+email/mime/base.py
+email/mime/application.py
+email/feedparser.py
+email/_policybase.py
+email/header.py
+email/errors.py
+email/utils.py
+email/_header_value_parser.py
+email/message.py
+email/headerregistry.py
+email/_parseaddr.py
+email/policy.py
+email/iterators.py
+email/_encoded_words.py
+email/parser.py
+email/__init__.py
+email/encoders.py
+encodings/quopri_codec.py
+encodings/iso8859_6.py
+encodings/gb2312.py
+encodings/cp865.py
+encodings/raw_unicode_escape.py
+encodings/hp_roman8.py
+encodings/latin_1.py
+encodings/iso8859_5.py
+encodings/iso2022_jp_2.py
+encodings/iso8859_14.py
+encodings/cp1253.py
+encodings/cp720.py
+encodings/mac_arabic.py
+encodings/euc_kr.py
+encodings/ptcp154.py
+encodings/cp273.py
+encodings/iso8859_13.py
+encodings/cp737.py
+encodings/big5.py
+encodings/iso8859_15.py
+encodings/mac_farsi.py
+encodings/cp869.py
+encodings/iso2022_jp_ext.py
+encodings/utf_7.py
+encodings/mbcs.py
+encodings/koi8_u.py
+encodings/cp437.py
+encodings/mac_iceland.py
+encodings/big5hkscs.py
+encodings/iso2022_jp_3.py
+encodings/johab.py
+encodings/base64_codec.py
+encodings/utf_8_sig.py
+encodings/iso8859_4.py
+encodings/cp1257.py
+encodings/iso2022_jp_1.py
+encodings/unicode_internal.py
+encodings/cp1006.py
+encodings/iso8859_2.py
+encodings/hex_codec.py
+encodings/cp037.py
+encodings/iso8859_8.py
+encodings/cp1026.py
+encodings/cp874.py
+encodings/iso2022_kr.py
+encodings/cp852.py
+encodings/utf_8.py
+encodings/cp850.py
+encodings/iso2022_jp.py
+encodings/cp1140.py
+encodings/mac_croatian.py
+encodings/shift_jis_2004.py
+encodings/cp866.py
+encodings/rot_13.py
+encodings/uu_codec.py
+encodings/utf_32.py
+encodings/iso8859_3.py
+encodings/mac_greek.py
+encodings/cp950.py
+encodings/unicode_escape.py
+encodings/ascii.py
+encodings/gbk.py
+encodings/cp500.py
+encodings/cp864.py
+encodings/utf_16_be.py
+encodings/euc_jisx0213.py
+encodings/charmap.py
+encodings/palmos.py
+encodings/iso8859_9.py
+encodings/cp949.py
+encodings/cp1254.py
+encodings/cp1251.py
+encodings/cp775.py
+encodings/cp858.py
+encodings/iso8859_16.py
+encodings/utf_16.py
+encodings/cp1250.py
+encodings/aliases.py
+encodings/utf_32_le.py
+encodings/iso8859_11.py
+encodings/tis_620.py
+encodings/shift_jis.py
+encodings/cp1252.py
+encodings/kz1048.py
+encodings/euc_jp.py
+encodings/cp65001.py
+encodings/euc_jis_2004.py
+encodings/cp1125.py
+encodings/iso8859_7.py
+encodings/cp855.py
+encodings/mac_roman.py
+encodings/zlib_codec.py
+encodings/mac_turkish.py
+encodings/cp863.py
+encodings/cp875.py
+encodings/undefined.py
+encodings/gb18030.py
+encodings/mac_cyrillic.py
+encodings/hz.py
+encodings/cp860.py
+encodings/iso8859_1.py
+encodings/mac_romanian.py
+encodings/iso2022_jp_2004.py
+encodings/shift_jisx0213.py
+encodings/cp862.py
+encodings/cp932.py
+encodings/punycode.py
+encodings/__init__.py
+encodings/cp1258.py
+encodings/utf_16_le.py
+encodings/cp857.py
+encodings/bz2_codec.py
+encodings/cp1256.py
+encodings/cp424.py
+encodings/koi8_r.py
+encodings/cp1255.py
+encodings/iso8859_10.py
+encodings/koi8_t.py
+encodings/mac_latin2.py
+encodings/utf_32_be.py
+encodings/mac_centeuro.py
+encodings/idna.py
+encodings/cp861.py
+encodings/cp856.py
+ensurepip/_uninstall.py
+ensurepip/__main__.py
+ensurepip/__init__.py
+enum.py
+filecmp.py
+fileinput.py
+fnmatch.py
+formatter.py
+fractions.py
+ftplib.py
+functools.py
+genericpath.py
+getopt.py
+getpass.py
+gettext.py
+glob.py
+gzip.py
+hashlib.py
+heapq.py
+hmac.py
+html/entities.py
+html/parser.py
+html/__init__.py
+http/cookies.py
+http/cookiejar.py
+http/client.py
+http/server.py
+http/__init__.py
+idlelib/configSectionNameDialog.py
+idlelib/textView.py
+idlelib/run.py
+idlelib/FileList.py
+idlelib/MultiCall.py
+idlelib/IOBinding.py
+idlelib/Bindings.py
+idlelib/SearchEngine.py
+idlelib/WidgetRedirector.py
+idlelib/RemoteDebugger.py
+idlelib/configHelpSourceEdit.py
+idlelib/IdleHistory.py
+idlelib/dynOptionMenuWidget.py
+idlelib/WindowList.py
+idlelib/keybindingDialog.py
+idlelib/RstripExtension.py
+idlelib/RemoteObjectBrowser.py
+idlelib/macosxSupport.py
+idlelib/OutputWindow.py
+idlelib/MultiStatusBar.py
+idlelib/ScriptBinding.py
+idlelib/tabbedpages.py
+idlelib/PathBrowser.py
+idlelib/FormatParagraph.py
+idlelib/ClassBrowser.py
+idlelib/HyperParser.py
+idlelib/AutoExpand.py
+idlelib/AutoComplete.py
+idlelib/Debugger.py
+idlelib/idlever.py
+idlelib/ParenMatch.py
+idlelib/UndoDelegator.py
+idlelib/help.py
+idlelib/GrepDialog.py
+idlelib/__main__.py
+idlelib/PyShell.py
+idlelib/SearchDialog.py
+idlelib/ObjectBrowser.py
+idlelib/StackViewer.py
+idlelib/CallTips.py
+idlelib/idle.py
+idlelib/ToolTip.py
+idlelib/SearchDialogBase.py
+idlelib/ZoomHeight.py
+idlelib/CodeContext.py
+idlelib/TreeWidget.py
+idlelib/aboutDialog.py
+idlelib/PyParse.py
+idlelib/CallTipWindow.py
+idlelib/ScrolledList.py
+idlelib/ColorDelegator.py
+idlelib/configDialog.py
+idlelib/Percolator.py
+idlelib/Delegator.py
+idlelib/EditorWindow.py
+idlelib/__init__.py
+idlelib/ReplaceDialog.py
+idlelib/rpc.py
+idlelib/AutoCompleteWindow.py
+idlelib/configHandler.py
+imaplib.py
+imghdr.py
+imp.py
+importlib/abc.py
+importlib/util.py
+importlib/machinery.py
+importlib/_bootstrap_external.py
+importlib/_bootstrap.py
+importlib/__init__.py
+inspect.py
+io.py
+ipaddress.py
+json/encoder.py
+json/tool.py
+json/scanner.py
+json/decoder.py
+json/__init__.py
+keyword.py
+lib2to3/pgen2/conv.py
+lib2to3/pgen2/tokenize.py
+lib2to3/pgen2/pgen.py
+lib2to3/pgen2/driver.py
+lib2to3/pgen2/literals.py
+lib2to3/pgen2/token.py
+lib2to3/pgen2/grammar.py
+lib2to3/pgen2/__init__.py
+lib2to3/pgen2/parse.py
+lib2to3/fixer_util.py
+lib2to3/btm_matcher.py
+lib2to3/patcomp.py
+lib2to3/pygram.py
+lib2to3/btm_utils.py
+lib2to3/__main__.py
+lib2to3/main.py
+lib2to3/fixer_base.py
+lib2to3/__init__.py
+lib2to3/fixes/fix_standarderror.py
+lib2to3/fixes/fix_long.py
+lib2to3/fixes/fix_xreadlines.py
+lib2to3/fixes/fix_throw.py
+lib2to3/fixes/fix_import.py
+lib2to3/fixes/fix_types.py
+lib2to3/fixes/fix_tuple_params.py
+lib2to3/fixes/fix_raw_input.py
+lib2to3/fixes/fix_callable.py
+lib2to3/fixes/fix_ws_comma.py
+lib2to3/fixes/fix_isinstance.py
+lib2to3/fixes/fix_reduce.py
+lib2to3/fixes/fix_buffer.py
+lib2to3/fixes/fix_paren.py
+lib2to3/fixes/fix_imports.py
+lib2to3/fixes/fix_nonzero.py
+lib2to3/fixes/fix_print.py
+lib2to3/fixes/fix_idioms.py
+lib2to3/fixes/fix_reload.py
+lib2to3/fixes/fix_set_literal.py
+lib2to3/fixes/fix_intern.py
+lib2to3/fixes/fix_asserts.py
+lib2to3/fixes/fix_itertools_imports.py
+lib2to3/fixes/fix_raise.py
+lib2to3/fixes/fix_has_key.py
+lib2to3/fixes/fix_dict.py
+lib2to3/fixes/fix_filter.py
+lib2to3/fixes/fix_methodattrs.py
+lib2to3/fixes/fix_urllib.py
+lib2to3/fixes/fix_except.py
+lib2to3/fixes/fix_metaclass.py
+lib2to3/fixes/fix_funcattrs.py
+lib2to3/fixes/fix_sys_exc.py
+lib2to3/fixes/fix_next.py
+lib2to3/fixes/fix_execfile.py
+lib2to3/fixes/fix_input.py
+lib2to3/fixes/fix_renames.py
+lib2to3/fixes/fix_exitfunc.py
+lib2to3/fixes/fix_imports2.py
+lib2to3/fixes/fix_getcwdu.py
+lib2to3/fixes/fix_itertools.py
+lib2to3/fixes/fix_future.py
+lib2to3/fixes/fix_exec.py
+lib2to3/fixes/fix_map.py
+lib2to3/fixes/fix_zip.py
+lib2to3/fixes/__init__.py
+lib2to3/fixes/fix_repr.py
+lib2to3/fixes/fix_xrange.py
+lib2to3/fixes/fix_unicode.py
+lib2to3/fixes/fix_operator.py
+lib2to3/fixes/fix_basestring.py
+lib2to3/fixes/fix_ne.py
+lib2to3/fixes/fix_apply.py
+lib2to3/fixes/fix_numliterals.py
+lib2to3/refactor.py
+lib2to3/pytree.py
+linecache.py
+locale.py
+logging/config.py
+logging/__init__.py
+logging/handlers.py
+lzma.py
+macpath.py
+macurl2path.py
+mailbox.py
+mailcap.py
+mimetypes.py
+modulefinder.py
+msilib/sequence.py
+msilib/schema.py
+msilib/__init__.py
+msilib/text.py
+multiprocessing/connection.py
+multiprocessing/popen_fork.py
+multiprocessing/popen_spawn_win32.py
+multiprocessing/util.py
+multiprocessing/popen_spawn_posix.py
+multiprocessing/process.py
+multiprocessing/context.py
+multiprocessing/queues.py
+multiprocessing/spawn.py
+multiprocessing/pool.py
+multiprocessing/semaphore_tracker.py
+multiprocessing/heap.py
+multiprocessing/sharedctypes.py
+multiprocessing/synchronize.py
+multiprocessing/popen_forkserver.py
+multiprocessing/managers.py
+multiprocessing/__init__.py
+multiprocessing/dummy/connection.py
+multiprocessing/dummy/__init__.py
+multiprocessing/forkserver.py
+multiprocessing/reduction.py
+multiprocessing/resource_sharer.py
+netrc.py
+nntplib.py
+ntpath.py
+nturl2path.py
+numbers.py
+opcode.py
+operator.py
+optparse.py
+os.py
+pathlib.py
+pdb.py
+pickle.py
+pickletools.py
+pipes.py
+pkgutil.py
+plat-aix4/IN.py
+plat-darwin/IN.py
+plat-freebsd4/IN.py
+plat-freebsd5/IN.py
+plat-freebsd6/IN.py
+plat-freebsd7/IN.py
+plat-freebsd8/IN.py
+plat-linux/IN.py
+plat-linux/TYPES.py
+plat-linux/CDROM.py
+plat-linux/DLFCN.py
+plat-netbsd1/IN.py
+plat-sunos5/IN.py
+plat-sunos5/STROPTS.py
+plat-sunos5/TYPES.py
+plat-sunos5/DLFCN.py
+plat-sunos5/CDIO.py
+plat-unixware7/IN.py
+plat-unixware7/STROPTS.py
+platform.py
+plistlib.py
+poplib.py
+posixpath.py
+pprint.py
+profile.py
+pstats.py
+pty.py
+py_compile.py
+pyclbr.py
+pydoc.py
+pydoc_data/topics.py
+pydoc_data/__init__.py
+queue.py
+quopri.py
+random.py
+re.py
+reprlib.py
+rlcompleter.py
+runpy.py
+sched.py
+selectors.py
+shelve.py
+shlex.py
+shutil.py
+signal.py
+site.py
+smtpd.py
+smtplib.py
+sndhdr.py
+socket.py
+socketserver.py
+sqlite3/dbapi2.py
+sqlite3/__init__.py
+sqlite3/dump.py
+sre_compile.py
+sre_constants.py
+sre_parse.py
+ssl.py
+stat.py
+statistics.py
+string.py
+stringprep.py
+struct.py
+subprocess.py
+sunau.py
+symbol.py
+symtable.py
+sysconfig.py
+tabnanny.py
+tarfile.py
+telnetlib.py
+tempfile.py
+textwrap.py
+this.py
+threading.py
+timeit.py
+tkinter/messagebox.py
+tkinter/simpledialog.py
+tkinter/dnd.py
+tkinter/dialog.py
+tkinter/constants.py
+tkinter/__main__.py
+tkinter/colorchooser.py
+tkinter/ttk.py
+tkinter/tix.py
+tkinter/font.py
+tkinter/__init__.py
+tkinter/scrolledtext.py
+tkinter/commondialog.py
+tkinter/filedialog.py
+token.py
+tokenize.py
+trace.py
+traceback.py
+tracemalloc.py
+tty.py
+turtle.py
+turtledemo/round_dance.py
+turtledemo/fractalcurves.py
+turtledemo/colormixer.py
+turtledemo/planet_and_moon.py
+turtledemo/paint.py
+turtledemo/yinyang.py
+turtledemo/clock.py
+turtledemo/wikipedia.py
+turtledemo/sorting_animate.py
+turtledemo/penrose.py
+turtledemo/two_canvases.py
+turtledemo/__main__.py
+turtledemo/minimal_hanoi.py
+turtledemo/bytedesign.py
+turtledemo/chaos.py
+turtledemo/nim.py
+turtledemo/lindenmayer.py
+turtledemo/peace.py
+turtledemo/__init__.py
+turtledemo/forest.py
+turtledemo/tree.py
+types.py
+typing.py
+unittest/suite.py
+unittest/util.py
+unittest/runner.py
+unittest/signals.py
+unittest/__main__.py
+unittest/main.py
+unittest/result.py
+unittest/case.py
+unittest/__init__.py
+unittest/loader.py
+unittest/mock.py
+urllib/request.py
+urllib/response.py
+urllib/robotparser.py
+urllib/error.py
+urllib/__init__.py
+urllib/parse.py
+uu.py
+uuid.py
+venv/__main__.py
+venv/__init__.py
+warnings.py
+wave.py
+weakref.py
+webbrowser.py
+wsgiref/validate.py
+wsgiref/util.py
+wsgiref/simple_server.py
+wsgiref/headers.py
+wsgiref/__init__.py
+wsgiref/handlers.py
+xdrlib.py
+xml/parsers/__init__.py
+xml/parsers/expat.py
+xml/sax/xmlreader.py
+xml/sax/saxutils.py
+xml/sax/expatreader.py
+xml/sax/__init__.py
+xml/sax/handler.py
+xml/sax/_exceptions.py
+xml/etree/cElementTree.py
+xml/etree/ElementPath.py
+xml/etree/ElementTree.py
+xml/etree/__init__.py
+xml/etree/ElementInclude.py
+xml/dom/NodeFilter.py
+xml/dom/minidom.py
+xml/dom/pulldom.py
+xml/dom/expatbuilder.py
+xml/dom/minicompat.py
+xml/dom/__init__.py
+xml/dom/domreg.py
+xml/dom/xmlbuilder.py
+xml/__init__.py
+xmlrpc/client.py
+xmlrpc/server.py
+xmlrpc/__init__.py
+zipapp.py
+zipfile.py
diff --git a/pkg/python/rev b/pkg/python/rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/pkg/python/rev
@@ -0,0 +1 @@
+1
diff --git a/pkg/python/sha256 b/pkg/python/sha256
new file mode 100644
index 00000000..a4273e31
--- /dev/null
+++ b/pkg/python/sha256
@@ -0,0 +1 @@
+0010f56100b9b74259ebcd5d4b295a32324b58b517403a10d1a2aa7cb22bca40 Python-3.5.2.tar.xz
diff --git a/pkg/python/url b/pkg/python/url
new file mode 100644
index 00000000..a8e7bbb3
--- /dev/null
+++ b/pkg/python/url
@@ -0,0 +1 @@
+url = "https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz"