Subject: Re: bug#40029: Preventing automatic python2 transformation of some packages

From: Marius Bakke <[email-masked]>
Date: Sat, 25 Jul 2020 21:05:32 +0200

Ludovic Courtès <[email-masked]> writes:

> Hi!
>
> Marius Bakke <[email-masked]> skribis:
>
>> 'python2-sphinx' is obsolete and increasingly a maintenance burden,
>> because we need to keep special versions around just to make it build.
>>
>> The only reason we have this package is because it gets pulled in
>> automatically when using (package-with-python2 ...) on a Python 3
>> package that has 'python-sphinx' in inputs.
>
> What about this evil hack?
>
> diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
> index 323d5b4457..66306e97fc 100644
> --- a/gnu/packages/sphinx.scm
> +++ b/gnu/packages/sphinx.scm
> @@ -99,7 +99,7 @@
>  for Python projects or other documents consisting of multiple reStructuredText
>  sources.")
>      (license license:bsd-2)
> -    (properties `((python2-variant . ,(delay python2-sphinx))))))
> +    (properties `((python2-variant . ,(delay python-sphinx))))))
>  
>  ;; Sphinx 2 does not support Python 2, so we stick with this older version here.
>  ;; Remove this package once python2-pbcore no longer requires it.
>
> The effect should be that ‘package-with-python2’ always keeps
> ‘python-sphinx’ unchanged.  (It’s a double-edge sword.)

This is brilliant and I can confirm it works.  It never would have
occured to me that this is possible.

'python2-sphinx' will be removed on the next staging cycle.

Thanks!