= python = == Description == Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code. For more details see http://www.python.org == License == Python is licensed under the PSF LICENSE. The Python license imposes very few restrictions on what you can do with Python. Most of the source code is copyrighted by the Python Software Foundation (PSF). A few files have a different copyright owner, but the same license applies to all of them. Python's licensing is GPL compatible. For more details see http://www.python.org/psf/license/ == SPKG Maintainers == * William Stein * Mike Hansen * Craig Citro * Volker Braun == Upstream Contact == There are a large number of community resources. For more details see http://www.python.org/community/ == Dependencies == * GNU patch * readline * libpng * SQLite == Special Update/Build Instructions == * Remove src/Lib/distutils/command/wininst-*.exe when building a new spkg. Once we support Windows we will likely need to add them back in. * We used to block parallel MAKE, but extensive testing [make -j64] showed that there is no longer any problem. The problem is with parallel 'make install', which remains disabled. * Spaces in SAGE_ROOT aren't yet fully supported by this package, since we put $SAGE_LOCAL/... into CPPFLAGS and LDFLAGS, which wouldn't work then. === Patches === * sdist.patch: Make sure that sdist copies over the .hg directory. * socket.patch: Work around an SSL issue. * permissions.patch: Changes the permission of installed libraries to 0755 (like any other library) instead of 0555. * sys_path_security.patch: ensure that the current working directory or the script directory is prepended to sys.path only if there is no security risk in doing so. * io-issue_14437.patch: Fixes Python issue #14437 (building _io on Cygwin) * ncurses-issue_9665.patch: Fixes Python issue #9665 (by patching configure and configure.in after running autotools). * ncurses-issue_14438.patch: Fixes Python issue #14438 (ncurses) * disable_print_refs_debug.patch: Remove some unused debug output that breaks doctests. * no_strict_proto-issue_5755.patch: don't add -Wstrict-prototypes compiler flag, which isn't valid for C++ (but Python uses the same compiler flags for C and C++). See http://bugs.python.org/issue5755. * re_unsigned_ptrdiff-issue_17016.patch: Fixes Python issue #17016. * hashlibfallbacks-issue_18000.patch: Fixed Python issue #18000. * inc_lib_dirs-issue_17990.patch: Only modify include and library search paths when cross-compiling. * node-issue_3871.patch: fix _PyNode_Sizeof declaration. == Changelog == === python-2.7.5.p1 (Jean-Pierre Flori, 3 June 2013) === * Trac #14600: give patches more talkative names. * Fix hashlibfallbacks patch. * Add patch to fix _PyNode_SizeOf declaration on Cygwin64, from Python issue #3871. * Add patch from Python issue #17990 to mitigate the use of a possibly incompatible system-wide Python at build time. === python-2.7.5.p0 (Volker Braun, 17 May 2013) * Trac #14600: Update to latest upstream version * add patches for upstream regressions === python-2.7.4.p0 (Volker Braun, Jeroen Demeyer, 11 April 2013) * Trac #14423: Update to latest upstream version * Add no_strict_proto.patch === python-2.7.3.p6 (Jeroen Demeyer, 24 March 2013) === * Trac #14265: Compile with -D__C99FEATURES__ on Solaris. * Remove workaround for http://bugs.python.org/issue6954 (which is fixed upstream). * Rename environment variable EXTRAFLAGS to PYTHON_CONFIGURE for consistency with other packages and allow it to be set by the user. * Add check that the ctypes and readline (required for IPython) and socket (required for setuptools) modules can be imported. * Don't add the -fwrapv flag (no longer needed since Python-2.7.3 adds this flag for Clang). === python-2.7.3.p5 (Volker Braun, 28 December 2012) === * Trac #13867: disable debugging output at each command line === python-2.7.3.p4 (Jean-Pierre Flori, 26 December 2012) === * Trac #13864: configure Python with pydebug when SAGE_DEBUG is set to yes. === python-2.7.3.p3 (Jean-Pierre Flori, Karl-Dieter Crisman, 4 December 2012) === * Trac #13319: let Python build on Cygwin. * Includes fixes from Python issues #9665, #14437, #14438. * Jeroen's autotools was run in order to update the configure script. === python-2.7.3.p2 (Jeroen Demeyer, 29 October 2012) === * Trac #13631: Keep in mind umask when checking security of "python -c" === python-2.7.3.p1 (Jeroen Demeyer, 14 October 2012) === * Trac #13579: add sys_path_security.patch. === python-2.7.3.p0 (Volker Braun, May 25 2012) === * Trac #13013: Update to latest upstream Python-2.x version * Removed dynamic_class_copyreg_{c,py}.patch since it is now upstream === python-2.7.2.p4 (John Palmieri, 23 February 2012) === * Trac #12574: with OS X, do not use xcodebuild to test the version of Xcode, since xcodebuild is no longer distributed with Xcode 4.3 or later. Just test the version of the OS instead. === python-2.7.2.p3 (Jeroen Demeyer, R. Andrew Ohana, 8 February 2012) === * Trac #12430: add -fwrapv to CFLAGS if supported. This is needed for building with clang. * Simplify spkg-install * Removed redundant CC="$CC $CFLAGS" from ./configure * Do not export EXTRAFLAGS. === python-2.7.2.p2 (John Palmieri, 3 February 2012) === * Trac #11967: on OS X Lion, delete the file $SAGE_LOCAL/lib/python/config/libpython2.7.a. Its presence causes problems with GiNaC. === python-2.7.2.p1 (Jeroen Demeyer, 4 January 2012) === * Trac #9958: delete $SAGE_ROOT/devel/sage-*/build directories of older Python versions to fix upgrading. * Remove obsolete patch Modules.Setup.dist.patch * Clean up spkg-install, remove old/unused parts. === python-2.7.2.p0 (François Bissey, December 21st, 2011) === * #9958 Upgrade to python-2.7.2. * Converted the spkg to use patch exclusively. * A number of patches have been dropped because the fix are in this release or they don't apply cleanly anymore. The list of dropped patches is: - locale.py doesn't apply to this release - readline-spacebug.patch fixed in this release - readline-Itanium-fix.patch cannot be applied as is in this release - socketmodule.c fixed in this release - setup.py.multiarch.patch fixed in this release === python-2.6.4.p13 (Simon King, 10 December 2011) === * #12131: use --libdir, to make the package work on openSUSE. === python-2.6.4.p12 (Jeroen Demeyer, 3 December 2011) === * #12096: properly disable parallel make install by using the "-j1" option to $MAKE. * Install libraries writable, with permission 0755 instead of 0555. === python-2.6.4.p11 (Jan Medlock and Leif Leonhardy, July 5th, 2011) === * #11447, #11243: crypt also fails to build on Debian Unstable. This fix is lifted from Python 2.7. Should be fixed for Debian and derivatives, provided the user has the dpkg-dev package installed. We now give a hint on that if any import test fails. * Minor clean-up; send error messages to stderr. === python-2.6.4.p10 (Jan Groenewald and David Kirkby, April 24th 2011) === * #11243 crypt module fails to build on Ubuntu 11.04 See: http://groups.google.com/group/sage-devel/browse_thread/thread/593b9a4124f5075d * Simplified the method for checking that Python modules are imported OK, which removes the need to repeating code by using a loop. * Adds a check that the crypt module imports OK. This is done on every platform - not just Ubuntu. === python-2.6.4.p9 (Robert Bradsure and David Kirkby, June 21st, 2010) === * #9042 - Cython fails to build on OpenSolaris x64 This adds the -m64 flag to OPT to build distutils extensions. (Robert Bradsure, 25th May 2010) * Check that distutils builtin modules work before trying hashlib. (Robert Bradsure, 25th May 2010) * Ensure the _socket module builds on OpenSolaris x64 (this solves #9041 and #9022) David Kirkby (30th May 2010) * #9295 Add an spkg-check file for Python === python-2.6.4.p8 (Mike Hansen, 25th May, 2010) === * Added '--enabled-shared' which is needed on certain platforms (Linux and Solaris) for #8542. * Added a Makefile.pre.in patch described above. === python-2.6.4.p7 (David Kirkby, 5th March, 2010) === * #7867 Fixes a Python bug that prevents some python extensions being build on Solaris. See http://bugs.python.org/issue1759169 http://trac.sagemath.org/sage_trac/ticket/7867 This is a critical bug fix, as it completely stops a build on Solaris 10 (SPARC). * #8440 Set HAVE_FD_TRANSFER=0 in setup.py to allow _multiprocessing to build on Solaris. * #8356 Remove the option --without-libpng to Python's configure script, as that is no longer a valid option. === python-2.6.4.p6 (Jaap Spies, Feb 23, 2010) === * #7761 Fix build in Open Solaris x64 with SAGE64=yes === python-2.6.4.p5 (William Stein, Jan 20, 2010) === * Fix bug on Itanium introduced by typo by Craig in #60. See trac 8020. === python-2.6.4.p4 (Craig Citro, Jan 17, 2010) === * Move MACOSX_DEPLOYMENT_TARGET fix to sage-env, so that it's used for all python-related spkgs. (This was leading to a build issue with numpy and scipy on 10.4.) === python-2.6.4.p3 (John Palmieri, David Kirkby Jan 14, 2010) === * Add "CC=$CC $CFLAGS" in order to get the code to honor CFLAGS. Otherwise, CFLAGS gets ignored. Changes to sage-env will ensure CFLAGS gets set to sensible values. * Do same for CXX and CXXFLAGS * Remove an undesirable 'set -e' which stopped errors being displayed. === python-2.6.4.p2 (Craig Citro, Jan 14, 2010) === * Fix OSX 10.6 "Abort trap" issue by setting an appropriate value for MACOSX_DEPLOYMENT_TARGET. See trac #7095 for more details. * General cleanup of spkg-install, patches/ directory. === python-2.6.4.p1 (John Palmieri Jan 11, 2010) === * Remove the pkgutil.py patch, since it doesn't seem to be needed any more. === python-2.6.4.p0 (John Palmieri Jan 11, 2010) === * Upgrade to Python 2.6.4. Remove the ctypes__init__.py patch, since it only applies to OS X 10.3 or earlier, and we don't support that. === python-2.6.2.p2 (Jason Grout Sep 22, 2009) === * Patch for readline-6.0: http://bugs.python.org/issue5833 (we applied the small patch http://bugs.python.org/file14599/python-2.6-readline.patch) === python-2.6.2.p0 (Robert Miller June 25th, 2009) === * Fixed issue with "import _ssl" * Help from Martin Albrecht and William Stein === python-2.6.2 (Mike Hansen June 19th, 2009) === * Updated to Python 2.6.2. * Removed the patches to posixmodule.c and pymactoolbox.h since they had been fixed upstream. === python-2.5.4.p0 (Mike Hansen, May 28th, 2009) === * Fixed issue with distutils's sdist command not copying over our .hg repository. This change that caused this was http://bugs.python.org/issue1725737. * Included a fix by Michael Abshoff: patch posixmodule.c to avoid an incorrectly detected out of memory error - see http://bugs.python.org/issue1608818 === python-2.5.4 (Michael Abshoff, February 15th, 2008) === * rebase to latest upstream 2.5.4 release === python-2.5.2.p8 (Michael Abshoff, September 24th, 2008) === * disable parallel make install === python-2.5.2.p7 (Robert Miller, International Talk Like a Pirate Day, 2008) === * 'oist th' fwrapv option on itanium, ya landlubber what deserves the black spot! === python-2.5.2.p6 (Michael Abshoff, September 14th, 2008) === * disable pymalloc if SAGE_VALGRIND is set to "yes" * since we now support parallel building of python sleep three seconds before testing for a working python === python-2.5.2.p5 (Michael Abshoff, August 30th, 2008) === * also disabled OSX extensions on 32 bit Darwin === python-2.5.2.p4 (Michael Abshoff, August 25th, 2008) === * Set LDFLAGS and CPPFLAGS to pick up Sage's readline (#3947) === python-2.5.2.p3 (Michael Abshoff, July 9th, 2008) === * remove -fwrapv from the build flags for Itanium === python-2.5.2.p2 (Michael Abshoff, May 28th, 2008) === * reenable parallel make again (Gary Furnish, #3322) === python-2.5.2.p1 (Michael Abshoff, May 28th, 2008) === * Improve OSX 64 bit support even more (#3318) === python-2.5.2.p0 (Michael Abshoff, May 18th, 2008) === * Improve OSX 64 but build support === python-2.5.2 (Michael Abshoff, March 26th, 2008) === * upgrade to the 2.5.2 release * clean up SPKG.txt * add 64 bit OSX 10.5 build support * make sure SAGE_LOCAL is set (#633) === python-2.5.1.p14 (Michael Abshoff, March. 28th, 2008) === * Fix OSX 10.5 detection code to handle 10.5.2 and higher (#2672) === python-2.5.1.p13 (Michael Abshoff, Jan. 22st, 2008) === * remove executables from tarball === python-2.5.1.p12 (Michael Abshoff, Jan. 21st, 2008) === * update patches/local.py (fixes #1604, fixed by William Stein) === python-2.5.1.p11 (Michael Abshoff) === * enable ucs4 per default * add .hgignore === python-2.5.1.p10 === * Details of this and prior releases are lost to history.