Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make install should install gapmacro and friends #5630

Closed
dimpase opened this issue Feb 6, 2024 · 8 comments · Fixed by #5637
Closed

make install should install gapmacro and friends #5630

dimpase opened this issue Feb 6, 2024 · 8 comments · Fixed by #5637
Labels
kind: bug Issues describing general bugs, and PRs fixing them topic: build system

Comments

@dimpase
Copy link
Member

dimpase commented Feb 6, 2024

Currently make install does not install things from doc/, such as doc/gapmacro*.tex, makeindex, etc.
As they are needed by many packages for their documentation, cf. e.g. #639, it's important that make install takes care of this.

Distributions use make install to create GAP installations in particular (e.g. SageMath, Gentoo - see #5627 ) etc.

@dimpase dimpase added the kind: bug Issues describing general bugs, and PRs fixing them label Feb 6, 2024
@fingolfin
Copy link
Member

Actually it was deliberate to not install those, the idea being that nobody should be using these files; package authors that still use them need to jump through extra hoops, but that's fine.

I guess the one reason to have this is for distro packagers who for one reason or another prefer to rebuild GAP package manuals; for them I guess this would be convenient. But is this reason enough to do it? Hm

@dimpase
Copy link
Member Author

dimpase commented Feb 8, 2024

How about people who want to update a GAP package that uses these tools? E.g. I stumbled upon this issue during the latest round of working on the latest ACE update - turns out that an otherwise perfect Gentoo GAP installation is not OK for this purpose.

@fingolfin
Copy link
Member

As was pointed out in #5627 we actually do install all these files, I just forgot about it.

In any case: issues with packages are package issues. It is not the obligation of the core GAP team to ensure that development of individual packages that chose to use or stick with legacy technology is kept simple. We won't actively try to impede them, but in the end, it is up to each package to deal with this.

Some of these packages have listed "The GAP Team" as maintainer. Which means we'll try to merge reasonable PRs, apply certain janitorial tweaks, and take care of releases (which includes rebuilding manuals). But this does not entail conversion of the manuals to GAPDoc nor other work to make building the documentation easier for some people.

There is a trick one can use for most of these packages which I'll describe on the GH Discussion linked above, but that's about it.

@fingolfin fingolfin closed this as not planned Won't fix, can't repro, duplicate, stale Feb 9, 2024
@fingolfin
Copy link
Member

Ah, but later in that discussion it is pointed out that gapmacro.tex is not installed. Re-opening.

@fingolfin fingolfin reopened this Feb 9, 2024
@dimpase
Copy link
Member Author

dimpase commented Feb 9, 2024

The problem of location of *.tex files can be dealt with by setting TEXMFLOCAL to point to whatever location make install is going to install them (followed up by calling mktexlsr - otherwise it won't work; less than ideal). No need to use relative paths in TeX's \input commands.

IMHO a proper make install can check whether TeX is installed and do the right thing with *.tex files - perhaps @orlitzky knows how this is done in Gentoo, at least?

I am not sure what else in doc/ is needed for the TeX-based package manuals to build (again, scripts can be dealt with by manipulating PATH).

@fingolfin
Copy link
Member

Whatever is done, please keep in mind that the primary way of how GAP and GAP packages are developed must keep working -- and that is not using make install.

@dimpase
Copy link
Member Author

dimpase commented Feb 11, 2024

It's matter of adjusting environment variables to point to the right places, be it the in-tree building of the package, or the package using "make install" infrastructure, or something else.

GAP's PackageManager can facilitate this.
It can get an option triggering rebuild of a package docs.

@fingolfin
Copy link
Member

I'll happily review your PRs for all that, I laid out the ground rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Issues describing general bugs, and PRs fixing them topic: build system
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants