diff options
author | Timo Kaufmann <timokau@zoho.com> | 2020-01-23 16:10:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-23 16:10:21 +0100 |
commit | 7db53cc312538bbc3c6412970796f1f7cc49b77a (patch) | |
tree | 751c3e810a7430ad30a054fe6fb9152323beb5e5 /pkgs/development/python-modules | |
parent | 944236a0f1c846933f6c3897b35306ce1307cf4f (diff) | |
parent | 0811a69fef6e42aa40d859526f0ce9d667d36f52 (diff) | |
download | nixpkgs-7db53cc312538bbc3c6412970796f1f7cc49b77a.tar nixpkgs-7db53cc312538bbc3c6412970796f1f7cc49b77a.tar.gz nixpkgs-7db53cc312538bbc3c6412970796f1f7cc49b77a.tar.bz2 nixpkgs-7db53cc312538bbc3c6412970796f1f7cc49b77a.tar.lz nixpkgs-7db53cc312538bbc3c6412970796f1f7cc49b77a.tar.xz nixpkgs-7db53cc312538bbc3c6412970796f1f7cc49b77a.tar.zst nixpkgs-7db53cc312538bbc3c6412970796f1f7cc49b77a.zip |
Merge pull request #78348 from timokau/pygments-lexer-fix
python2.pkgs.ipython, python2.pkgs.sphinx: use proper python2 lexer
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r-- | pkgs/development/python-modules/ipython/5.nix | 10 | ||||
-rw-r--r-- | pkgs/development/python-modules/sphinx/2.nix | 7 | ||||
-rw-r--r-- | pkgs/development/python-modules/sphinx/python2-lexer.patch | 22 |
3 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/ipython/5.nix b/pkgs/development/python-modules/ipython/5.nix index 15e7d00bcec..dd0c97fc3c5 100644 --- a/pkgs/development/python-modules/ipython/5.nix +++ b/pkgs/development/python-modules/ipython/5.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , fetchPypi +, fetchpatch # Build dependencies , glibcLocales # Test dependencies @@ -36,6 +37,15 @@ buildPythonPackage rec { substituteInPlace setup.py --replace "'gnureadline'" " " ''; + patches = [ + # Use the proper pygments lexer for python2 (https://github.com/ipython/ipython/pull/12095) + (fetchpatch { + name = "python2-lexer.patch"; + url = "https://github.com/ipython/ipython/pull/12095/commits/8805293b5e4bce9150cc2ad9c5d6d984849ae447.patch"; + sha256 = "16p4gl7a49v76w33j39ih7yspy6x2d14p9bh4wdpg9cafhw9nbc0"; + }) + ]; + buildInputs = [ glibcLocales ]; checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock; diff --git a/pkgs/development/python-modules/sphinx/2.nix b/pkgs/development/python-modules/sphinx/2.nix index b6374989690..541c292fe8f 100644 --- a/pkgs/development/python-modules/sphinx/2.nix +++ b/pkgs/development/python-modules/sphinx/2.nix @@ -60,6 +60,13 @@ buildPythonPackage rec { # Lots of tests. Needs network as well at some point. doCheck = false; + patches = [ + # Since pygments 2.5, PythonLexer refers to python3. If we want to use + # python2, we need to explicitly specify Python2Lexer. + # Not upstreamed since there doesn't seem to be any upstream maintenance + # branch for 1.8 (and this patch doesn't make any sense for 2.x). + ./python2-lexer.patch + ]; # https://github.com/NixOS/nixpkgs/issues/22501 # Do not run `python sphinx-build arguments` but `sphinx-build arguments`. postPatch = '' diff --git a/pkgs/development/python-modules/sphinx/python2-lexer.patch b/pkgs/development/python-modules/sphinx/python2-lexer.patch new file mode 100644 index 00000000000..cf4a243315a --- /dev/null +++ b/pkgs/development/python-modules/sphinx/python2-lexer.patch @@ -0,0 +1,22 @@ +diff --git a/sphinx/highlighting.py b/sphinx/highlighting.py +index ac2bd1b06..63ca52de2 100644 +--- a/sphinx/highlighting.py ++++ b/sphinx/highlighting.py +@@ -16,7 +16,7 @@ from pygments.filters import ErrorToken + from pygments.formatters import HtmlFormatter, LatexFormatter + from pygments.lexer import Lexer # NOQA + from pygments.lexers import get_lexer_by_name, guess_lexer +-from pygments.lexers import PythonLexer, Python3Lexer, PythonConsoleLexer, \ ++from pygments.lexers import Python2Lexer, Python3Lexer, PythonConsoleLexer, \ + CLexer, TextLexer, RstLexer + from pygments.styles import get_style_by_name + from pygments.util import ClassNotFound +@@ -40,7 +40,7 @@ logger = logging.getLogger(__name__) + + lexers = dict( + none = TextLexer(stripnl=False), +- python = PythonLexer(stripnl=False), ++ python = Python2Lexer(stripnl=False), + python3 = Python3Lexer(stripnl=False), + pycon = PythonConsoleLexer(stripnl=False), + pycon3 = PythonConsoleLexer(python3=True, stripnl=False), |