Re: guix refresh --update Removes Needed Dependencies
"jgart" writes: > Hi Guixers, > > `guix refresh --update` removes Tex Dependencies that are needed. This makes > it more tedious to update packages :( “guix refresh” considers the importers’ output to be authoritative. Can the Python importer be improved to discover the need for TeX things? (If not the whole list of packages perhaps a collection package.) In the CRAN importer we routinely check the contents of Makefiles, configure scripts, etc to detect otherwise undeclared dependencies. Perhaps the pypi importer could do something similar. -- Ricardo
Re: guix refresh --update Removes Needed Dependencies
On Wed, Nov 22, 2023 at 10:45:48PM +0100, Ludovic Courtès wrote: > Hi jgart, > > "jgart" skribis: > > > ./pre-inst-env guix refresh --update python-sphinx > > [...] > > > - ;; The Sphinx LaTeX library '\RequirePackage' or \\usepackage > > - ;; these: > > - texlive-amsfonts ;amsmath, amssymb, amstext > > - texlive-amsmath > > - texlive-capt-of > > - texlive-carlisle ;remreset > > To avoid this problem one can add package properties such as > ‘updater-extra-native-inputs’ in this case: > > > https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-refresh.html#index-updater_002dextra_002dinputs_002c-package-property > > However, the way it’s implemented right now, you have to list the name > of every input that should be preserved by ‘guix refresh -u’, which is > inconvenient in this particular case because there are many of them. > > I can think of two ways to improve on that: > > 1. Use one of the ‘texlive-scheme-*’ packages instead of this long > list. :-) > > 2. Change the code to interpret extra inputs are regexps instead of > names. I like both ideas -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted signature.asc Description: PGP signature
Re: guix refresh --update Removes Needed Dependencies
Hi jgart, "jgart" skribis: > ./pre-inst-env guix refresh --update python-sphinx [...] > - ;; The Sphinx LaTeX library '\RequirePackage' or \\usepackage > - ;; these: > - texlive-amsfonts ;amsmath, amssymb, amstext > - texlive-amsmath > - texlive-capt-of > - texlive-carlisle ;remreset To avoid this problem one can add package properties such as ‘updater-extra-native-inputs’ in this case: https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-refresh.html#index-updater_002dextra_002dinputs_002c-package-property However, the way it’s implemented right now, you have to list the name of every input that should be preserved by ‘guix refresh -u’, which is inconvenient in this particular case because there are many of them. I can think of two ways to improve on that: 1. Use one of the ‘texlive-scheme-*’ packages instead of this long list. :-) 2. Change the code to interpret extra inputs are regexps instead of names. Thoughts? Ludo’.
Re: guix refresh --update Removes Needed Dependencies
"jgart" writes: > Hi Guixers, > > `guix refresh --update` removes Tex Dependencies that are needed. This makes > it more tedious to update packages :( > > See the diff below which was the result of running: > > ./pre-inst-env guix refresh --update python-sphinx > > Diff: > > [jgart@fedora guix] [env]$ git diff > diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm > index eee1f1c4a8..92658a3632 100644 > --- a/gnu/packages/sphinx.scm > +++ b/gnu/packages/sphinx.scm > @@ -64,14 +64,14 @@ (define-module (gnu packages sphinx) > (define-public python-sphinx >(package > (name "python-sphinx") > -(version "5.1.1") > +(version "7.2.6") > (source > (origin > (method url-fetch) > (uri (pypi-uri "Sphinx" version)) > (sha256 > (base32 > - "12cdy3m5c09lpf2bbxzbhm5v5y9fk7jgm94qrzggpq86waj28cms" > + "1dasilib5w98hwr5rdnv1ri2dmdxv3fa42dscdcqss4hxbhn0lcs" > (build-system python-build-system) > (arguments > '(#:phases > @@ -87,57 +87,39 @@ (define-public python-sphinx > (setenv "HOME" "/tmp") ;for test_cython > (invoke "make" "test"))) > (propagated-inputs > - (list python-babel > + (list python-alabaster > + python-babel > + python-colorama > + python-cython > python-docutils > - python-jinja2 > + python-docutils-stubs > + python-filelock > + python-flake8 > + python-flake8-simplify > + python-html5lib > python-imagesize > python-importlib-metadata > + python-isort > + python-jinja2 > + python-mypy > python-packaging > python-pygments > + python-pytest > python-requests > + python-ruff > + python-setuptools > python-snowballstemmer > - python-sphinx-alabaster-theme > + python-sphinx-lint > python-sphinxcontrib-applehelp > python-sphinxcontrib-devhelp > python-sphinxcontrib-htmlhelp > python-sphinxcontrib-jsmath > python-sphinxcontrib-qthelp > python-sphinxcontrib-serializinghtml > - > - ;; The Sphinx LaTeX library '\RequirePackage' or \\usepackage > - ;; these: > - texlive-amsfonts ;amsmath, amssymb, amstext > - texlive-amsmath > - texlive-capt-of > - texlive-carlisle ;remreset > - texlive-cmap > - texlive-etoolbox > - texlive-fancyhdr > - texlive-fancyvrb > - texlive-float > - texlive-fncychap > - texlive-framed > - texlive-geometry > - texlive-hyperref > - texlive-kvoptions > - texlive-latex-bin > - texlive-ltxcmds > - texlive-needspace > - texlive-oberdiek ;hypcap > - texlive-parskip > - texlive-preview > - texlive-tabulary > - texlive-titlesec > - texlive-tools;multicol, longtable > - texlive-upquote > - texlive-varwidth > - texlive-wrapfig > - texlive-xcolor)) > + python-sphinxcontrib-websupport > + python-types-requests)) > (native-inputs > - (list imagemagick ;for "convert" > - python-cython > - python-html5lib > - python-pytest)) > + (list)) > (home-page "https://www.sphinx-doc.org;) > (synopsis "Python documentation generator") > (description "Sphinx is a tool that makes it easy to create documentation Temporary workaround: you could use git add --patch and not add the removals. But yeah, this is an annoying bug.