diff --git a/pkgs/development/interpreters/python/cpython/2.6/default.nix b/pkgs/development/interpreters/python/cpython/2.6/default.nix deleted file mode 100644 index 9a4c2d5b3981..000000000000 --- a/pkgs/development/interpreters/python/cpython/2.6/default.nix +++ /dev/null @@ -1,228 +0,0 @@ -{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, includeModules ? false -, sqlite, tcl, tk, xlibsWrapper, openssl, readline, db, ncurses, gdbm, self, callPackage -# For the Python package set -, pkgs, packageOverrides ? (self: super: {}) -}: - -assert zlibSupport -> zlib != null; - -with stdenv.lib; - -let - majorVersion = "2.6"; - minorVersion = "9"; - minorVersionSuffix = ""; - pythonVersion = majorVersion; - version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; - libPrefix = "python${majorVersion}"; - - src = fetchurl { - url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "0hbfs2691b60c7arbysbzr0w9528d5pl8a4x7mq5psh6a2cvprya"; - }; - - patches = - [ # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff. - ./search-path.patch - - # Python recompiles a Python if the mtime stored *in* the - # pyc/pyo file differs from the mtime of the source file. This - # doesn't work in Nix because Nix changes the mtime of files in - # the Nix store to 1. So treat that as a special case. - ./nix-store-mtime.patch - - # http://bugs.python.org/issue10013 - ./python2.6-fix-parallel-make.patch - ]; - - preConfigure = '' - # Purity. - for i in /usr /sw /opt /pkg; do - substituteInPlace ./setup.py --replace $i /no-such-path - done - '' + optionalString (stdenv ? cc && stdenv.cc.libc != null) '' - for i in Lib/plat-*/regen; do - substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/ - done - '' + optionalString stdenv.isCygwin '' - # On Cygwin, `make install' tries to read this Makefile. - mkdir -p $out/lib/python${majorVersion}/config - touch $out/lib/python${majorVersion}/config/Makefile - mkdir -p $out/include/python${majorVersion} - touch $out/include/python${majorVersion}/pyconfig.h - ''; - - configureFlags = "--enable-shared --with-threads --enable-unicode=ucs4"; - - buildInputs = - optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++ - [ bzip2 openssl ]++ optionals includeModules [ db openssl ncurses gdbm readline xlibsWrapper tcl tk sqlite ] - ++ optional zlibSupport zlib; - - mkPaths = paths: { - C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths; - LIBRARY_PATH = makeLibraryPath paths; - }; - - # Build the basic Python interpreter without modules that have - # external dependencies. - python = stdenv.mkDerivation { - name = "python${if includeModules then "" else "-minimal"}-${version}"; - pythonVersion = majorVersion; - - inherit majorVersion version src patches buildInputs preConfigure - configureFlags; - - inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; - - NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2"; - - setupHook = ./setup-hook.sh; - - postInstall = - '' - # needed for some packages, especially packages that backport - # functionality to 2.x from 3.x - for item in $out/lib/python${majorVersion}/test/*; do - if [[ "$item" != */test_support.py* ]]; then - rm -rf "$item" - fi - done - touch $out/lib/python${majorVersion}/test/__init__.py - ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb - ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion} - mv $out/share/man/man1/{python.1,python2.6.1} - ln -s $out/share/man/man1/{python2.6.1,python.1} - - paxmark E $out/bin/python${majorVersion} - - # Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484 - echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py - - ${ optionalString includeModules "$out/bin/python ./setup.py build_ext"} - ''; - - passthru = let - pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;}; - in rec { - inherit libPrefix; - inherit zlibSupport; - isPy2 = true; - isPy26 = true; - buildEnv = callPackage ../../wrapper.nix { python = self; }; - withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; - pkgs = pythonPackages; - executable = libPrefix; - sitePackages = "lib/${libPrefix}/site-packages"; - interpreter = "${self}/bin/${executable}"; - }; - - enableParallelBuilding = true; - - meta = { - homepage = "http://python.org"; - description = "A high-level dynamically-typed programming language"; - longDescription = '' - Python is a remarkably powerful dynamic programming language that - is used in a wide variety of application domains. Some of its key - distinguishing features include: clear, readable syntax; strong - introspection capabilities; intuitive object orientation; natural - expression of procedural code; full modularity, supporting - hierarchical packages; exception-based error handling; and very - high level dynamic data types. - ''; - license = stdenv.lib.licenses.psfl; - platforms = stdenv.lib.platforms.all; - maintainers = with stdenv.lib.maintainers; [ chaoflow domenkozar ]; - # If you want to use Python 2.6, remove "broken = true;" at your own - # risk. Python 2.6 has known security vulnerabilities is not receiving - # security updates as of October 2013. - broken = true; - }; - }; - - - # This function builds a Python module included in the main Python - # distribution in a separate derivation. - buildInternalPythonModule = - { moduleName - , internalName ? "_" + moduleName - , deps - }: - if includeModules then null else stdenv.mkDerivation rec { - name = "python-${moduleName}-${python.version}"; - - inherit src patches preConfigure configureFlags; - - buildInputs = [ python ] ++ deps; - - inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH; - - buildPhase = - '' - substituteInPlace setup.py --replace 'self.extensions = extensions' \ - 'self.extensions = [ext for ext in self.extensions if ext.name in ["${internalName}"]]' - - python ./setup.py build_ext - [ -z "$(find build -name '*_failed.so' -print)" ] - ''; - - installPhase = - '' - dest=$out/lib/${python.libPrefix}/site-packages - mkdir -p $dest - cp -p $(find . -name "*.${if stdenv.isCygwin then "dll" else "so"}") $dest/ - ''; - }; - - - # The Python modules included in the main Python distribution, built - # as separate derivations. - modules = { - - bsddb = buildInternalPythonModule { - moduleName = "bsddb"; - deps = [ db ]; - }; - - crypt = buildInternalPythonModule { - moduleName = "crypt"; - internalName = "crypt"; - deps = optional (stdenv ? glibc) stdenv.glibc; - }; - - curses = buildInternalPythonModule { - moduleName = "curses"; - deps = [ ncurses ]; - }; - - curses_panel = buildInternalPythonModule { - moduleName = "curses_panel"; - deps = [ ncurses modules.curses ]; - }; - - gdbm = buildInternalPythonModule { - moduleName = "gdbm"; - internalName = "gdbm"; - deps = [ gdbm ]; - }; - - sqlite3 = buildInternalPythonModule { - moduleName = "sqlite3"; - deps = [ sqlite ]; - }; - - tkinter = buildInternalPythonModule { - moduleName = "tkinter"; - deps = [ tcl tk xlibsWrapper ]; - }; - - readline = buildInternalPythonModule { - moduleName = "readline"; - internalName = "readline"; - deps = [ readline ]; - }; - - }; - -in python // { inherit modules; } diff --git a/pkgs/development/interpreters/python/cpython/2.6/nix-store-mtime.patch b/pkgs/development/interpreters/python/cpython/2.6/nix-store-mtime.patch deleted file mode 100644 index 83f3fea1931b..000000000000 --- a/pkgs/development/interpreters/python/cpython/2.6/nix-store-mtime.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru -x '*~' Python-2.7.1-orig/Python/import.c Python-2.7.1/Python/import.c ---- Python-2.7.1-orig/Python/import.c 2010-05-20 20:37:55.000000000 +0200 -+++ Python-2.7.1/Python/import.c 2011-01-04 15:55:11.000000000 +0100 -@@ -751,7 +751,7 @@ - return NULL; - } - pyc_mtime = PyMarshal_ReadLongFromFile(fp); -- if (pyc_mtime != mtime) { -+ if (pyc_mtime != mtime && mtime != 1) { - if (Py_VerboseFlag) - PySys_WriteStderr("# %s has bad mtime\n", cpathname); - fclose(fp); diff --git a/pkgs/development/interpreters/python/cpython/2.6/python2.6-fix-parallel-make.patch b/pkgs/development/interpreters/python/cpython/2.6/python2.6-fix-parallel-make.patch deleted file mode 100644 index c43e141f9afb..000000000000 --- a/pkgs/development/interpreters/python/cpython/2.6/python2.6-fix-parallel-make.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -up Python-2.7/Makefile.pre.in.fix-parallel-make Python-2.7/Makefile.pre.in ---- Python-2.7/Makefile.pre.in.fix-parallel-make 2010-07-22 15:01:39.567996932 -0400 -+++ Python-2.7/Makefile.pre.in 2010-07-22 15:47:02.437998509 -0400 -@@ -207,6 +207,7 @@ SIGNAL_OBJS= @SIGNAL_OBJS@ - - ########################################################################## - # Grammar -+GRAMMAR_STAMP= $(srcdir)/grammar-stamp - GRAMMAR_H= $(srcdir)/Include/graminit.h - GRAMMAR_C= $(srcdir)/Python/graminit.c - GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar -@@ -530,10 +531,24 @@ Modules/getpath.o: $(srcdir)/Modules/get - Modules/python.o: $(srcdir)/Modules/python.c - $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c - -+# GNU "make" interprets rules with two dependents as two copies of the rule. -+# -+# In a parallel build this can lead to pgen being run twice, once for each of -+# GRAMMAR_H and GRAMMAR_C, leading to race conditions in which the compiler -+# reads a partially-overwritten copy of one of these files, leading to syntax -+# errors (or linker errors if the fragment happens to be syntactically valid C) -+# -+# See http://www.gnu.org/software/hello/manual/automake/Multiple-Outputs.html -+# for more information -+# -+# Introduce ".grammar-stamp" as a contrived single output from PGEN to avoid -+# this: -+$(GRAMMAR_H) $(GRAMMAR_C): $(GRAMMAR_STAMP) - --$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) -+$(GRAMMAR_STAMP): $(PGEN) $(GRAMMAR_INPUT) - -@$(INSTALL) -d Include - -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) -+ touch $(GRAMMAR_STAMP) - - $(PGEN): $(PGENOBJS) - $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) diff --git a/pkgs/development/interpreters/python/cpython/2.6/search-path.patch b/pkgs/development/interpreters/python/cpython/2.6/search-path.patch deleted file mode 100644 index 2e7b7526c0ce..000000000000 --- a/pkgs/development/interpreters/python/cpython/2.6/search-path.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -rc Python-2.4.4-orig/setup.py Python-2.4.4/setup.py -*** Python-2.4.4-orig/setup.py 2006-10-08 19:41:25.000000000 +0200 ---- Python-2.4.4/setup.py 2007-05-27 16:04:54.000000000 +0200 -*************** -*** 279,288 **** - # Check for AtheOS which has libraries in non-standard locations - if platform == 'atheos': - lib_dirs += ['/system/libs', '/atheos/autolnk/lib'] -- lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep) - inc_dirs += ['/system/include', '/atheos/autolnk/include'] -- inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep) - - # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb) - if platform in ['osf1', 'unixware7', 'openunix8']: - lib_dirs += ['/usr/ccs/lib'] ---- 279,289 ---- - # Check for AtheOS which has libraries in non-standard locations - if platform == 'atheos': - lib_dirs += ['/system/libs', '/atheos/autolnk/lib'] - inc_dirs += ['/system/include', '/atheos/autolnk/include'] - -+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep) -+ inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep) -+ - # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb) - if platform in ['osf1', 'unixware7', 'openunix8']: - lib_dirs += ['/usr/ccs/lib'] diff --git a/pkgs/development/interpreters/python/cpython/2.6/setup-hook.sh b/pkgs/development/interpreters/python/cpython/2.6/setup-hook.sh deleted file mode 100644 index 4caff9c9d846..000000000000 --- a/pkgs/development/interpreters/python/cpython/2.6/setup-hook.sh +++ /dev/null @@ -1,15 +0,0 @@ -addPythonPath() { - addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python2.6/site-packages -} - -toPythonPath() { - local paths="$1" - local result= - for i in $paths; do - p="$i/lib/python2.6/site-packages" - result="${result}${result:+:}$p" - done - echo $result -} - -envHooks+=(addPythonPath) diff --git a/pkgs/development/interpreters/python/cpython/docs/2.6-html.nix b/pkgs/development/interpreters/python/cpython/docs/2.6-html.nix deleted file mode 100644 index 2b41f122fa9b..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/2.6-html.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python26-docs-html-2.6.8"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-html.tar.bz2; - sha256 = "09kznik9ahmnrqw9gkr7mjv3b3zr258f2fm27n12hrrwwsaszkni"; - }; - installPhase = '' - mkdir -p $out/share/doc/python26 - cp -R ./ $out/share/doc/python26/html - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/2.6-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/2.6-pdf-a4.nix deleted file mode 100644 index ec031821a03f..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/2.6-pdf-a4.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python26-docs-pdf-a4-2.6.8"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-pdf-a4.tar.bz2; - sha256 = "07k8n9zhd59s1yn8ahsizkaqnv969p0f2c2acxgxrxhhyy842pp8"; - }; - installPhase = '' - mkdir -p $out/share/doc/python26 - cp -R ./ $out/share/doc/python26/pdf-a4 - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/2.6-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/2.6-pdf-letter.nix deleted file mode 100644 index 7cacf7778348..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/2.6-pdf-letter.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python26-docs-pdf-letter-2.6.8"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-pdf-letter.tar.bz2; - sha256 = "01r87m8hb7f9ql4j9zcjcrr9150nsk23sj8cy02vygr83sc1ldmq"; - }; - installPhase = '' - mkdir -p $out/share/doc/python26 - cp -R ./ $out/share/doc/python26/pdf-letter - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/2.6-text.nix b/pkgs/development/interpreters/python/cpython/docs/2.6-text.nix deleted file mode 100644 index eb394a3f3e2d..000000000000 --- a/pkgs/development/interpreters/python/cpython/docs/2.6-text.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file was generated and will be overwritten by ./generate.sh - -{ stdenv, fetchurl, lib }: - -stdenv.mkDerivation rec { - name = "python26-docs-text-2.6.8"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-text.tar.bz2; - sha256 = "05wsdh6ilgkclgak09fq7fsx5kflkmqq8dyxi2rpydx289cw3a8c"; - }; - installPhase = '' - mkdir -p $out/share/doc/python26 - cp -R ./ $out/share/doc/python26/text - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/default.nix b/pkgs/development/interpreters/python/cpython/docs/default.nix index 8f5fc810fb71..89e60f961f63 100644 --- a/pkgs/development/interpreters/python/cpython/docs/default.nix +++ b/pkgs/development/interpreters/python/cpython/docs/default.nix @@ -10,9 +10,6 @@ pythonDocs = { python27 = import ./2.7-html.nix { inherit stdenv fetchurl lib; }; - python26 = import ./2.6-html.nix { - inherit stdenv fetchurl lib; - }; }; pdf_a4 = { recurseForDerivations = true; @@ -22,9 +19,6 @@ pythonDocs = { python27 = import ./2.7-pdf-a4.nix { inherit stdenv fetchurl lib; }; - python26 = import ./2.6-pdf-a4.nix { - inherit stdenv fetchurl lib; - }; }; pdf_letter = { recurseForDerivations = true; @@ -34,9 +28,6 @@ pythonDocs = { python27 = import ./2.7-pdf-letter.nix { inherit stdenv fetchurl lib; }; - python26 = import ./2.6-pdf-letter.nix { - inherit stdenv fetchurl lib; - }; }; text = { recurseForDerivations = true; @@ -46,8 +37,5 @@ pythonDocs = { python27 = import ./2.7-text.nix { inherit stdenv fetchurl lib; }; - python26 = import ./2.6-text.nix { - inherit stdenv fetchurl lib; - }; }; }; in pythonDocs diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a6bd01b24675..59b8e4e0f750 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5845,7 +5845,6 @@ with pkgs; # These are for compatibility and should not be used inside Nixpkgs. pythonFull = python.override{x11Support=true;}; python2Full = python2.override{x11Support=true;}; - python26Full = python26.override{includeModules=true;self=python26Full;}; python27Full = python27.override{x11Support=true;}; python3Full = python3.override{x11Support=true;}; python33Full = python33.override{x11Support=true;}; @@ -5858,10 +5857,6 @@ with pkgs; python2Packages = python27Packages; python3Packages = python35Packages; - python26 = callPackage ../development/interpreters/python/cpython/2.6 { - db = db4; - self = python26; - }; python27 = callPackage ../development/interpreters/python/cpython/2.7 { self = python27; inherit (darwin) CF configd; @@ -10165,11 +10160,7 @@ with pkgs; ### DEVELOPMENT / PYTHON MODULES - # `nix-env -i python-nose` installs for 2.7, the default python. - # Therefore we do not recurse into attributes here, in contrast to - # python27Packages. `nix-env -iA python26Packages.nose` works - # regardless. - python26Packages = python26.pkgs; + # Python package sets. python27Packages = lib.hiPrioSet (recurseIntoAttrs python27.pkgs);