On Wed, 10 Mar 2021, 09:21 François Bissey, <frp.bis...@gmail.com> wrote:

> Hi all,
>
> So today I will be talking about subject that I in sage-on-gentoo have
> brushed under the carpet for years focusing on helping to be able to
> use more and more components of the system and ultimately get “sagelib”
> to be one such component.
>
> Sagemath as a meta distribution of stuff has bad habits in regards to
> treating “sagelib” as a regular package. In short it doesn’t.
>
> A normal software package usually should only contains it own sources,
> vendoring as it is called should be kept at a minimum and some other
> best practise are that
> * the package can be tested after being built and before being installed
> * the package documentation be built usually after the package itself,
> but before it is installed and the documentation should be installed
> at the same time as the rest of the package.
>
> Some project offer pre-build documentation, as part of the package if
> it is small, or downloadable tarballs if it is large. It is also
> the way to go for particularly difficult to build documentation.
> I’d say Sagemath will eventually go that way.
>
> So, we have made progress on vendoring, sage-on-gentoo has been building
> Sagelib and the documentation as a regular well behaved package for years
> and I have only pestered about the testing. Modularisation may force some
> things about the testing and offer solutions to an unmentioned problem
> so far, optional dependencies.
>
> But my situation about being able to build the documentation is under
> threat and is hack-ish in any case.
>
> So how are we building, installing and testing the elements of “vanilla"
> sage
> at the moment:
> * sagelib is built and installed
> * using the sagelib install the documentation is built. It is not supposed
> to be
> possible to build the doc without installing sage first, which is why
> sage-on-gentoo’s
> ability is really a hack
> * testing is done on the installed elements, that includes running tests
> inside the documentation
>
> Instead of trying to fix the problem that you should be building the
> documentation
> before installing, the push to modularisation is currently used to
> enshrine the
> current situation. #30010 actually separate the bits needed to build the
> sage
> documentation in a completely separate package.
> So the situation is now:
> * install package A
> * install package B
> * make a package C that takes B and applies it to the install of A and
> install
> the documentation of A (not C).
>
> Can anyone point me to some other system that do that? Does anyone else
> thinks
> that’s a bit insane?
>

numpy does this:
https://numpy.org/devdocs/docs/howto_build_docs.html

you can only build numpy docs after numpy is installed.



> #30010 is not all bad. Doc building elements have been buried inside
> sage_setup
> for a while and that wasn’t a good thing. sage_setup is mostly useless at
> runtime and shouldn’t really be installed unless some downstream packages
> can
> make use of it. But the doc building elements are already used by
> downstream
> packages (p_cohomology_group does), so installing them has some value.
>
> My own idea of modularisation would be that each package should be able to
> build
> its own documentation and be testable on its own, before install. Not to
> split
> the whole documentation as a separate package.
>
> I want to repeat #30010 is not without value. Having a helper package to
> build
> the documentation is not a bad idea in itself so long as it applies in the
> following
> order:
> * install B (the doc building helper)
> * build A, build A’s documentation using B
> * install A and its documentation
> No C please.
>
> If you read this far, thank you. That’s long enough for such a rant.
>
> François
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-devel/BE94013F-0363-4E78-94AD-93390E8669EA%40gmail.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq0tAM8kUFjLKi9DJgvcejwTaPXjeSP2ecF0ppHiwHd0qw%40mail.gmail.com.

Reply via email to