diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md index 6f09962094d..8e7a8760604 100644 --- a/doc/languages-frameworks/python.md +++ b/doc/languages-frameworks/python.md @@ -423,7 +423,7 @@ and in this case the `python35` interpreter is automatically used. ### Interpreters Versions 2.7, 3.3, 3.4, 3.5 and 3.6 of the CPython interpreter are available as -respectively `python27`, `python33`, `python34`, `python35` and `python36`. The PyPy interpreter +respectively `python27`, `python34`, `python35` and `python36`. The PyPy interpreter is available as `pypy`. The aliases `python2` and `python3` correspond to respectively `python27` and `python35`. The default interpreter, `python`, maps to `python2`. The Nix expressions for the interpreters can be found in @@ -469,7 +469,6 @@ sets are * `pkgs.python26Packages` * `pkgs.python27Packages` -* `pkgs.python33Packages` * `pkgs.python34Packages` * `pkgs.python35Packages` * `pkgs.python36Packages` @@ -622,7 +621,7 @@ attribute. The `shell.nix` file from the previous section can thus be also writt ```nix with import {}; -(python33.withPackages (ps: [ps.numpy ps.requests])).env +(python36.withPackages (ps: [ps.numpy ps.requests])).env ``` In contrast to `python.buildEnv`, `python.withPackages` does not support the more advanced options diff --git a/pkgs/development/interpreters/python/cpython/3.3/default.nix b/pkgs/development/interpreters/python/cpython/3.3/default.nix deleted file mode 100644 index 9ff8ec51efe..00000000000 --- a/pkgs/development/interpreters/python/cpython/3.3/default.nix +++ /dev/null @@ -1,160 +0,0 @@ -{ stdenv, fetchurl -, bzip2 -, gdbm -, lzma -, ncurses -, openssl -, readline -, sqlite -, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false -, zlib -, callPackage -, self -, CF, configd -, python-setup-hook -# For the Python package set -, pkgs, packageOverrides ? (self: super: {}) -}: - -assert x11Support -> tcl != null - && tk != null - && xproto != null - && libX11 != null; - -with stdenv.lib; - -let - majorVersion = "3.3"; - minorVersion = "6"; - minorVersionSuffix = ""; - pythonVersion = majorVersion; - version = "${majorVersion}.${minorVersion}${minorVersionSuffix}"; - libPrefix = "python${majorVersion}"; - sitePackages = "lib/${libPrefix}/site-packages"; - - buildInputs = filter (p: p != null) [ - zlib bzip2 lzma gdbm sqlite readline ncurses openssl ] - ++ optionals x11Support [ tcl tk libX11 xproto ] - ++ optionals stdenv.isDarwin [ CF configd ]; - -in stdenv.mkDerivation { - name = "python3-${version}"; - pythonVersion = majorVersion; - inherit majorVersion version; - - inherit buildInputs; - - src = fetchurl { - url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz"; - sha256 = "0gsxpgd5p4mwd01gw501vsyahncyw3h9836ypkr3y32kgazy89jj"; - }; - - NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; - - # Determinism: The interpreter is patched to write null timestamps when compiling python files. - # This way python doesn't try to update them when we freeze timestamps in nix store. - DETERMINISTIC_BUILD=1; - # Determinism: We fix the hashes of str, bytes and datetime objects. - PYTHONHASHSEED=0; - - postPatch = '' - # Determinism - substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])" -# # We do not patch `Lib/importlib/_bootstrap_external.py` because it does not exist. - '' + optionalString (x11Support && (tix != null)) '' - substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'" - ''; - - preConfigure = '' - for i in /usr /sw /opt /pkg; do # improve purity - substituteInPlace ./setup.py --replace $i /no-such-path - done - ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} - - configureFlagsArray=( --enable-shared --with-threads - CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}" - LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}" - LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}" - ) - ''; - - setupHook = python-setup-hook sitePackages; - - 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" - else - echo $item - fi - done - touch $out/lib/python${majorVersion}/test/__init__.py - - ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}" - 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 - - # Determinism: Windows installers were not deterministic. - # We're also not interested in building Windows installers. - find "$out" -name 'wininst*.exe' | xargs -r rm -f - - # Use Python3 as default python - ln -s "$out/bin/idle3" "$out/bin/idle" - ln -s "$out/bin/pip3" "$out/bin/pip" - ln -s "$out/bin/pydoc3" "$out/bin/pydoc" - ln -s "$out/bin/python3" "$out/bin/python" - ln -s "$out/bin/python3-config" "$out/bin/python-config" - ln -s "$out/lib/pkgconfig/python3.pc" "$out/lib/pkgconfig/python.pc" - - # Get rid of retained dependencies on -dev packages, and remove - # some $TMPDIR references to improve binary reproducibility. - # Note that the .pyc file of _sysconfigdata.py should be regenerated! - for i in $out/lib/python${majorVersion}/_sysconfigdata.py $out/lib/python${majorVersion}/config-${majorVersion}m/Makefile; do - sed -i $i -e "s|-I/nix/store/[^ ']*||g" -e "s|-L/nix/store/[^ ']*||g" -e "s|$TMPDIR|/no-such-path|g" - done - - # Determinism: rebuild all bytecode - # We exclude lib2to3 because that's Python 2 code which fails - # We rebuild three times, once for each optimization level - find $out -name "*.py" | $out/bin/python -m compileall -q -f -x "lib2to3" -i - - find $out -name "*.py" | $out/bin/python -O -m compileall -q -f -x "lib2to3" -i - - find $out -name "*.py" | $out/bin/python -OO -m compileall -q -f -x "lib2to3" -i - - ''; - - passthru = let - pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;}; - in rec { - inherit libPrefix sitePackages x11Support; - executable = "${libPrefix}m"; - buildEnv = callPackage ../../wrapper.nix { python = self; }; - withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; - pkgs = pythonPackages; - isPy3 = true; - isPy33 = true; - is_py3k = true; # deprecated - 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 = with stdenv.lib.platforms; linux ++ darwin; - maintainers = with stdenv.lib.maintainers; [ chaoflow cstrahan ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-html.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-html.nix deleted file mode 100644 index 055224dd740..00000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-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 = "python33-docs-html-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-html.tar.bz2; - sha256 = "0vv24b9qi7gznv687ik0pa2w1rq9grqivy44znvj2ysjfg7mc2c1"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/html - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-a4.nix deleted file mode 100644 index 8c6b842d0b9..00000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-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 = "python33-docs-pdf-a4-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-pdf-a4.tar.bz2; - sha256 = "1y6n13bxlw8a11khy3ynfbz8z0kpf2lvh32dvy8scyw3hrk6wdxp"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/pdf-a4 - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-pdf-letter.nix deleted file mode 100644 index 046abe8f83d..00000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-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 = "python33-docs-pdf-letter-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-pdf-letter.tar.bz2; - sha256 = "0mcj1i47nx81fc9zk1cic4c4p139qjcqlzf4hnnkzvb3jcgy5z6k"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/pdf-letter - ''; - meta = { - maintainers = [ lib.maintainers.chaoflow ]; - }; -} diff --git a/pkgs/development/interpreters/python/cpython/docs/3.3-text.nix b/pkgs/development/interpreters/python/cpython/docs/3.3-text.nix deleted file mode 100644 index 4d99c25bf59..00000000000 --- a/pkgs/development/interpreters/python/cpython/docs/3.3-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 = "python33-docs-text-3.3.0"; - src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-text.tar.bz2; - sha256 = "10vk2fixg1aglqmsf89kn98rlirrbhnrk1285vzfbynf2iavxw0n"; - }; - installPhase = '' - mkdir -p $out/share/doc/python33 - cp -R ./ $out/share/doc/python33/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 89e60f961f6..60e0a0bf1e6 100644 --- a/pkgs/development/interpreters/python/cpython/docs/default.nix +++ b/pkgs/development/interpreters/python/cpython/docs/default.nix @@ -4,36 +4,24 @@ let pythonDocs = { html = { recurseForDerivations = true; - python33 = import ./3.3-html.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-html.nix { inherit stdenv fetchurl lib; }; }; pdf_a4 = { recurseForDerivations = true; - python33 = import ./3.3-pdf-a4.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-pdf-a4.nix { inherit stdenv fetchurl lib; }; }; pdf_letter = { recurseForDerivations = true; - python33 = import ./3.3-pdf-letter.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-pdf-letter.nix { inherit stdenv fetchurl lib; }; }; text = { recurseForDerivations = true; - python33 = import ./3.3-text.nix { - inherit stdenv fetchurl lib; - }; python27 = import ./2.7-text.nix { inherit stdenv fetchurl lib; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1f32cc4cee3..45bc24e931c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6331,7 +6331,6 @@ with pkgs; python2Full = python2.override{x11Support=true;}; python27Full = python27.override{x11Support=true;}; python3Full = python3.override{x11Support=true;}; - python33Full = python33.override{x11Support=true;}; python34Full = python34.override{x11Support=true;}; python35Full = python35.override{x11Support=true;}; python36Full = python36.override{x11Support=true;}; @@ -6345,10 +6344,6 @@ with pkgs; self = python27; inherit (darwin) CF configd; }; - python33 = callPackage ../development/interpreters/python/cpython/3.3 { - self = python33; - inherit (darwin) CF configd; - }; python34 = callPackage ../development/interpreters/python/cpython/3.4 { inherit (darwin) CF configd; self = python34; @@ -10914,8 +10909,6 @@ with pkgs; python27Packages = lib.hiPrioSet (recurseIntoAttrs python27.pkgs); - python33Packages = python33.pkgs; - python34Packages = python34.pkgs; python35Packages = python35.pkgs;