guix/guix
47
854
Fork
You've already forked guix
411

Revert "gnu: texinfo: Build from git." #8396

Open
Yelninei wants to merge 6 commits from Yelninei/guix:texinfo-revert into master
pull from: Yelninei/guix:texinfo-revert
merge into: guix:master
guix:master
guix:python-team
guix:core-packages-team
guix:ocaml-team
guix:emacs-team
guix:astro-update
guix:misc-world-rebuild
guix:ruby-team
guix:kde-team
guix:go-team
guix:r-team
guix:javascript-team
guix:kernel-updates
guix:gnome-team
guix:crypto-team
guix:perlssl
guix:audio-team
guix:core-packages-team-2026年06月20日-rebased
guix:hpc-team
guix:beam-team
guix:haskell-team
guix:rust-team
guix:rename-kernel-team
guix:add-maintainers-to-etc-teams.scm
guix:core-packages-team-2026年06月20日
guix:hurd-team
guix:version-1.5.0
guix:keyring
guix:java-team
guix:mesa-updates
guix:nckx-patch-1
guix:librewolf-updates
guix:bootstrap-team
guix:dexed
guix:wip-riscv-bootstrap
guix:next-master
guix:version-1.4.0
guix:graal
guix:guix-extension-channels
guix:add-tests-for-guix-shell-container
guix:add-compress-debug-symbols-phase
guix:mpd-fix-groups
guix:wip-fix-system-tests
guix:merge-xorg-configurations
guix:wip-riscv-bootstrap1
guix:lisp-team-asdf-build-system/abcl
guix:wip-node-riscv64
guix:wip-julia-upgrade
guix:wip-plmshift
guix:wip-postfix
guix:wip-arm-bootstrap
guix:wip-guix-log
guix:wip-full-source-bootstrap
guix:wip-harden-installer
guix:version-1.2.0
guix:version-1.3.0
guix:wip-digests
guix:wip-ocaml
guix:version-1.1.0
guix:wip-hurd-vm
guix:guile-daemon
guix:version-1.0.1
guix:wip-system-bootstrap
guix:version-1.0.0
guix:wip-ipfs-substitutes
guix:version-0.16.0
guix:wip-ipfs2
guix:wip-ipfs
guix:version-0.15.0
guix:version-0.14.0
guix:wip-gexp-hygiene
guix:version-0.13.0
guix:wip-gexp-grafts
guix:version-0.12.0
guix:version-0.11.0
guix:version-0.10.0
guix:version-0.9.0
guix:wip-container
guix:version-0.8.3

When updating the default texinfo to texinfo-7 git-fetch introduces a ciruclar
dependency with glibc and gnutls.

Partially reverts commit fdbe8b80a8.

See #4058 (comment)

texinfo is needed to build glibc manual and for gnutls.

Using git-fetch introduces a circular dependency with git-minimal without builtin:git-download and also introduces a lot of dependencies needed to run autoreconf.

Building from a tarball should make this easier especially in commencement.scm

When updating the default texinfo to texinfo-7 git-fetch introduces a ciruclar dependency with glibc and gnutls. Partially reverts commit fdbe8b80a8b3b7f045e03005b38035dff6c78f73. See https://codeberg.org/guix/guix/pulls/4058#issuecomment-14372855 texinfo is needed to build glibc manual and for gnutls. Using git-fetch introduces a circular dependency with git-minimal without `builtin:git-download` and also introduces a lot of dependencies needed to run autoreconf. Building from a tarball should make this easier especially in commencement.scm
guix-cuirass-bot approved these changes 2026年05月08日 02:09:54 +02:00
Dismissed
guix-cuirass-bot left a comment
Copy link

Results of evaluation 511026 for commit fbcb3fa2864c196d6db0b9961f3b48b04bff2f08:

Results of evaluation [511026](https://pulls.ci.guix.gnu.org/eval/511026) for commit fbcb3fa2864c196d6db0b9961f3b48b04bff2f08: - Successfully built 2 packages: [`info-reader-7.3`](https://pulls.ci.guix.gnu.org/build/2951970/details), [`texinfo-7.3`](https://pulls.ci.guix.gnu.org/build/2951969/details)

@Yelninei Maybe revert it on core-packages-team alone? And there we can guix style -S git-source texinfo@6.

@Yelninei Maybe revert it on `core-packages-team` alone? And there we can `guix style -S git-source texinfo@6`.
Author
Member
Copy link

The need is sort of dependant on using texinfo-7 as the default texinfo, so far this is only on my branch. Do you think that is a good idea? And then also change the inheritance order

And there we can guix style -S git-source texinfo@6

We'd still need texinfo 6 for the really early glibc because we dont have C99 yet, Not sure what to do about that.
Using a texinfo@6 from git with all the autotools dependencies is probably going to be a problem regardless of builtin:git-download.

The need is sort of dependant on using texinfo-7 as the default texinfo, so far this is only on my branch. Do you think that is a good idea? And then also change the inheritance order > And there we can guix style -S git-source texinfo@6 We'd still need texinfo 6 for the really early glibc because we dont have C99 yet, Not sure what to do about that. Using a texinfo@6 from git with all the autotools dependencies is probably going to be a problem regardless of builtin:git-download.

Ah indeed. Well, at any rate, I would target core-packages-team. As you suggest, let’s keep both Texinfo 6 and 7 with url-fetch there, and you can add the patch that switches the default Texinfo as well.

Does that make sense?

Ah indeed. Well, at any rate, I would target `core-packages-team`. As you suggest, let’s keep both Texinfo 6 and 7 with `url-fetch` there, and you can add the patch that switches the default Texinfo as well. Does that make sense?
Author
Member
Copy link

@civodul

I looked at it again what goes wrong in commencent with texinfo-7. Configure sets CC to gcc -std=c11 correctly.

However same as #7086 (comment) texinfo overwrites the CC for the perl extension by using the CC that was used to compile perl aka just gcc which does not default to c99 so it breaks.

Disabling the perl extension with --disable-perl-xs allows it to build in commencement as well.

I think it will use the bundled perl modules for commencement or should we rebuild these as well? We only need texinfo for the glibc manual

Could we remove the older texinfos then?

texinfo-5 is needed for old manual
texinfo-6 is unused with that change.

Both require a patch to build with the perl update (which prompted this entire investigation in the first place)

PS: Could you rebase core-packages-team again

@civodul I looked at it again what goes wrong in commencent with texinfo-7. Configure sets `CC` to `gcc -std=c11` correctly. However same as https://codeberg.org/guix/guix/pulls/7086#issuecomment-11571376 texinfo overwrites the CC for the perl extension by using the CC that was used to compile perl aka just `gcc` which does not default to c99 so it breaks. Disabling the perl extension with `--disable-perl-xs` allows it to build in commencement as well. I think it will use the bundled perl modules for commencement or should we rebuild these as well? We only need texinfo for the glibc manual Could we remove the older texinfos then? texinfo-5 is needed for old manual texinfo-6 is unused with that change. Both require a patch to build with the perl update (which prompted this entire investigation in the first place) PS: Could you rebase core-packages-team again
Author
Member
Copy link

I removed the texinfo-7 symbol as well.

I guess that would need to be properly deprecated together with the older texinfos

(in general i am not a huge fan of these versioned symbols)

I removed the texinfo-7 symbol as well. I guess that would need to be properly deprecated together with the older texinfos (in general i am not a huge fan of these versioned symbols)
guix-cuirass-bot left a comment
Copy link

Evaluation failed; see log.

Evaluation [failed](https://pulls.ci.guix.gnu.org/eval/553575); see [log](https://pulls.ci.guix.gnu.org/eval/553575/log/raw).
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u texinfo-revert:Yelninei-texinfo-revert
git switch Yelninei-texinfo-revert
Sign in to join this conversation.
No reviewers
Labels
Clear labels
closure-size
Packages with excesive closure size beyond reasonable
deprecation
Changes fall under the deprecation policy.
due-date
Contribution with a due date set.
good first issue
Good issue to tackle as a first contribution
help-wanted
Contributor is seeking help or advice.
kind
bug
Confirmed bug reports.
kind
foreign-distro
Issues related to Guix running as package manager on foreign distributions.
kind
moreinfo
Need more information for further action.
kind
system-test
Failing system tests.
kind
wishlist
Feature requests.
kind
wont-fix
Out of scope.
package
breakage
Raises awareness about recent or long term failures to build.
package
fix
Includes a fix proposal to a currently broken package.
patch-upgrade
Only minor patch number increase, x.y.Z, as for semver
security-fixes
Security fixes for the package.
team-ai
Packages related to AI, ML and LLM.
team-audio
Audio related packages.
team-beam
Erlang/Elixir/BEAM team.
team-bioinformatics
Bioinformatics team.
team-bootstrap
Bootstrap
team-build-tools
Build tools and parser generators.
team-core
Core / Tools / Internals
team-core-packages
Core packages: the GNU tool chain, Guile, Coreutils, etc.
team-cpp
C and C++ libraries and tools.
team-crypto
Secrets, passwords, cryptography and security related packages.
team-debian
Packages related to Debian and Debian derivatives.
team-documentation
Documentation: the manual and cookbook.
team-electronics
Electronics and hardware related packages.
team-emacs
The extensible, customizable text editor and its ecosystem.
team-embedded
Embedded
team-games
Packaging programs for amusement.
team-gnome
The Gnome desktop environment, along with core technologies such as GLib/GIO, GTK, GStreamer and Webkit.
team-go
Go team
team-guile
Team for the Guile platform, libraries, and build system.
team-hare
Team for the Hare programming language, libraries, and build system.
team-haskell
GHC, Hugs, Haskell packages, the "hackage" and "stackage" importers, and the haskell-build-system.
team-home
Team for "Guix Home"
team-hpc
High performance computing related packages.
team-hurd
Team for the Hurd
team-installer
Installer script and system installer
team-java
The JDK and JRE, the Maven build system, Java packages, the ant-build-system, and the maven-build-system.
team-javascript
JavaScript/Node.js packages, the node build system.
team-julia
The Julia language, Julia packages, and the julia-build-system.
team-kde
The plasma desktop environment, and KDE Applications.
team-kernel
Linux-libre kernel team
team-lisp
Common Lisp and similar languages, Common Lisp packages and the asdf-build-system.
team-localization
Localization of your system to specific languages.
team-lua
Lua, Fennel, and related packages.
team-lxqt
LXQt desktop environment.
team-mate
MATE desktop environment.
team-mozilla
Taking care of Icedove and Web Browsers based on Mozilla Thunderbird and Firefox.
team-ocaml
The OCaml language, the Dune build system, OCaml packages, the "opam" importer, and the ocaml-build-system.
team-perl
Perl team
team-python
Python, Python packages, the "pypi" importer, and the python-build-system.
team-qa-packages
Quality assurance software (CI/CD, testing, analysis; no direct relation to Guix's QA).
team-qt
The Qt toolkit/library and the qt-build-system, as well as some packages using Qt.
team-r
The R language, CRAN and Bioconductor repositories, the \"cran\" importer, and the r-build-system.
team-racket
The Racket language and Racket-based languages, Racket packages, Racket's variant of Chez Scheme, and development of a Racket build system and importer.
team-release
Release process
team-reproduciblebuilds
Reproducible Builds tooling and issues that affect any guix packages.
team-ruby
Ruby team
team-rust
Rust
team-science
The main science disciplines and fields related packages (e.g. Astronomy, Chemistry, Math, Physics etc.)
team-sugar
Everything related to the Sugar Desktop and learning environment.
team-sysadmin
Networking, server clustering, high availability.
team-telephony
Telephony packages and services such as Jami, Linphone, etc.
team-tex
TeX, LaTeX, XeLaTeX, LuaTeX, TeXLive, the texlive-build-system, and the "texlive" importer.
team-translations
Translations
team-vcs
Version control packages, services, and Guix download backends.
team-xfce
Xfce desktop environment.
team-zig
Zig, Zig packages, and the zig-build system
user-reviewed
Reviewed and approved.
world-rebuild
Affects more than 300 dependent packages
No labels
closure-size
deprecation
due-date
good first issue
help-wanted
kind
bug
kind
foreign-distro
kind
moreinfo
kind
system-test
kind
wishlist
kind
wont-fix
package
breakage
package
fix
patch-upgrade
security-fixes
team-ai
team-audio
team-beam
team-bioinformatics
team-bootstrap
team-build-tools
team-core
team-core-packages
team-cpp
team-crypto
team-debian
team-documentation
team-electronics
team-emacs
team-embedded
team-games
team-gnome
team-go
team-guile
team-hare
team-haskell
team-home
team-hpc
team-hurd
team-installer
team-java
team-javascript
team-julia
team-kde
team-kernel
team-lisp
team-localization
team-lua
team-lxqt
team-mate
team-mozilla
team-ocaml
team-perl
team-python
team-qa-packages
team-qt
team-r
team-racket
team-release
team-reproduciblebuilds
team-ruby
team-rust
team-science
team-sugar
team-sysadmin
team-telephony
team-tex
team-translations
team-vcs
team-xfce
team-zig
user-reviewed
world-rebuild
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
guix/guix!8396
Reference in a new issue
guix/guix
No description provided.
Delete branch "Yelninei/guix:texinfo-revert"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?