Re: developer.gnome.org and meson
On Fri, Aug 11, 2017 at 4:10 PM, Stefan Sauerwrote: > On 08/09/2017 10:11 PM, Nirbheek Chauhan wrote: > > Somewhat relatedly, the only reason why it takes so long to build docs > > is because we haven't been improving gtk-doc. There is little > > technical reason why building our documentation has to be *so* slow. > > For instance, there's Hotdoc which as a proof-of-concept does the same > > work, but much faster. So perhaps our time is better spent figuring > > out why gtk-doc eats CPU (single-threaded!) and fixing that. > It is not a secret why gtk-doc is slow. It is slow because libxslt and > the xsl-stylesheets are slow. In particular libxslt is single threaded. Thanks for the clarification, Stefan :) > In the gtk-doc-1.26 I just release, everything was ported to python. Yes, I was following the port to Python. It was great! Another step towards getting rid of Perl from our toolchain. I have a vested interest in this because it makes bootstrapping builds on, for example, Windows much easier. > Next step is to remove file generating code from the xslt pipeline. Then > we can replace xslt by e.g. a markdown toolchain. I appreciate what was > done in hotdoc, but I'd like to provide a step by step migration path > for existing modules. I never understood why what has been done could > not have been made inside gtk-doc as well. > I appreciate anyone helping (like jussi helping a lot with porting from > perl to python). > I completely agree, my mention of Hotdoc wasn't an endorsement of it, but rather to say that there is room for improvement in the time it takes to build our docs. A gradual migration to a markdown-based toolchain would do wonders. Do you have any bugs about the work that's needed so people can dive in if they can? Cheers, Nirbheek ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
On 08/09/2017 10:11 PM, Nirbheek Chauhan wrote: > On Thu, Aug 10, 2017 at 1:27 AM, Sébastien Wilmetwrote: >> On Wed, Aug 09, 2017 at 03:20:38PM +0100, Emmanuele Bassi wrote: >>> After all, Linux >>> distributions rebuild the documentation when building the binary >>> packages anyway >> I see that in the gspell-doc package on Fedora 26, some html pages have >> links to /home/seb/jhbuild/... (a problem with the gtkdoc-fixxref >> config). That's my home directory :-) so definitely Fedora didn't >> re-generate the docs (and it would be painfully slow, it takes several >> hours on my machine to generate the GTK+ docs). >> > Somewhat relatedly, the only reason why it takes so long to build docs > is because we haven't been improving gtk-doc. There is little > technical reason why building our documentation has to be *so* slow. > For instance, there's Hotdoc which as a proof-of-concept does the same > work, but much faster. So perhaps our time is better spent figuring > out why gtk-doc eats CPU (single-threaded!) and fixing that. It is not a secret why gtk-doc is slow. It is slow because libxslt and the xsl-stylesheets are slow. In particular libxslt is single threaded. In the gtk-doc-1.26 I just release, everything was ported to python. Next step is to remove file generating code from the xslt pipeline. Then we can replace xslt by e.g. a markdown toolchain. I appreciate what was done in hotdoc, but I'd like to provide a step by step migration path for existing modules. I never understood why what has been done could not have been made inside gtk-doc as well. I appreciate anyone helping (like jussi helping a lot with porting from perl to python). Stefan > > Cheers, > Nirbheek > ___ > desktop-devel-list mailing list > desktop-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/desktop-devel-list ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
On Wed, Aug 09, 2017 at 09:03:36PM +0100, Emmanuele Bassi wrote: > > (and it would be painfully slow, it takes several > > hours on my machine to generate the GTK+ docs). > > Distributions typically use something slightly more beefy than a > typical PC hardware for their builds. They have also slightly more things to build. ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
On Thu, Aug 10, 2017 at 1:27 AM, Sébastien Wilmetwrote: > On Wed, Aug 09, 2017 at 03:20:38PM +0100, Emmanuele Bassi wrote: >> After all, Linux >> distributions rebuild the documentation when building the binary >> packages anyway > > I see that in the gspell-doc package on Fedora 26, some html pages have > links to /home/seb/jhbuild/... (a problem with the gtkdoc-fixxref > config). That's my home directory :-) so definitely Fedora didn't > re-generate the docs (and it would be painfully slow, it takes several > hours on my machine to generate the GTK+ docs). > Somewhat relatedly, the only reason why it takes so long to build docs is because we haven't been improving gtk-doc. There is little technical reason why building our documentation has to be *so* slow. For instance, there's Hotdoc which as a proof-of-concept does the same work, but much faster. So perhaps our time is better spent figuring out why gtk-doc eats CPU (single-threaded!) and fixing that. Cheers, Nirbheek ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson and devhelp
On Wed, Aug 09, 2017 at 08:33:09AM -0500, mcatanz...@gnome.org wrote: > developer.gnome.org is going to have some problems because for meson modules > 'ninja dist' does not include generated gtk-doc files in the tarball. At > least one maintainer is working around this by manually generating tarballs > with gtk-doc included instead of using 'ninja dist'. I don't recommend doing > that since that's equivalent to skipping distcheck. It's better to use > meson's dist target. developer.gnome.org is just going to have to learn to > build docs itself. > > Is anybody working on developer.gnome.org? Anyone interested in taking on > this task? Otherwise it is going to be stuck with outdated docs. When implementing this, it would be nice to take also into account the following feature request for Devhelp, to download the latest versions of the API references directly in Devhelp (something that I would like to implement in the future, I don't know when): https://bugzilla.gnome.org/show_bug.cgi?id=761284 "Have the latest stable/unstable GNOME API references" I think the need for Devhelp is similar to the need for developer.gnome.org: storing somewhere on gnome.org a list of tarballs with the docs, alongside maybe an XML/JSON/whatever file listing the tarballs with some additional info. Then library-web or Devhelp can download the XML file, then download the new tarballs, andthen do its thing. -- Sébastien ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
On 9 August 2017 at 20:57, Sébastien Wilmetwrote: > On Wed, Aug 09, 2017 at 03:20:38PM +0100, Emmanuele Bassi wrote: >> After all, Linux >> distributions rebuild the documentation when building the binary >> packages anyway > > I see that in the gspell-doc package on Fedora 26, some html pages have > links to /home/seb/jhbuild/... (a problem with the gtkdoc-fixxref > config). That's my home directory :-) so definitely Fedora didn't > re-generate the docs That's all kinds of broken — that's why distro re-generate the docs, typically. > (and it would be painfully slow, it takes several > hours on my machine to generate the GTK+ docs). Distributions typically use something slightly more beefy than a typical PC hardware for their builds. Ciao, Emmanuele. -- https://www.bassi.io [@] ebassi [@gmail.com] ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
On Wed, Aug 09, 2017 at 03:20:38PM +0100, Emmanuele Bassi wrote: > After all, Linux > distributions rebuild the documentation when building the binary > packages anyway I see that in the gspell-doc package on Fedora 26, some html pages have links to /home/seb/jhbuild/... (a problem with the gtkdoc-fixxref config). That's my home directory :-) so definitely Fedora didn't re-generate the docs (and it would be painfully slow, it takes several hours on my machine to generate the GTK+ docs). -- Sébastien ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
I would prefer if building from git is the same as building from a dist tarball, which means I wouldn't ship any pre-generated files in the tarballs unless it's absolutely necessary. I don't consider the additional dependencies for building the docs an issue, at least for distro builds it isn't. I guess it can be useful to not require those dependencies during a bootstrap phase, but simply being able to disable the documentation is sufficient for that. 2017-08-09 16:20 GMT+02:00 Emmanuele Bassi: > In the medium-to-long term, I'd really appreciate if > developer.gnome.org stopped trying to extract documentation from > random locations inside tarballs, munge the cross-references, and > published the HTML on a static website. This would avoid having to > generate documentation at all, except when needed. After all, Linux > distributions rebuild the documentation when building the binary > packages anyway, so shipping documentation in release tarballs is > pretty much for the benefit of developer.gnome.org to begin with. > > Ideally, with the switch to Gitlab, we'd be able to run CI targets for > each module; that would allow us to build the API reference (and any > other documentation we deem worthy of publishing), ensure that the > cross-references pointed to a well-known URL prefix as part of the > build itself, and publish them when pushing a release tag. > > Additionally, GitLab pages[0] would ensure that any module with > documentation would have it published, without necessarily teaching > developer.gnome.org how to do it. > > Ciao, > Emmanuele. > > [0]: https://about.gitlab.com/features/pages/ > > > On 9 August 2017 at 15:12, Bastien Nocera wrote: >> On Wed, 2017-08-09 at 08:33 -0500, mcatanz...@gnome.org wrote: >>> Hi, >>> >>> developer.gnome.org is going to have some problems because for meson >>> modules 'ninja dist' does not include generated gtk-doc files in the >>> tarball. At least one maintainer is working around this by manually >>> generating tarballs with gtk-doc included instead of using 'ninja >>> dist'. I don't recommend doing that since that's equivalent to >>> skipping >>> distcheck. It's better to use meson's dist target. >>> developer.gnome.org >>> is just going to have to learn to build docs itself. >>> >>> Is anybody working on developer.gnome.org? Anyone interested in >>> taking >>> on this task? Otherwise it is going to be stuck with outdated docs. >> >> I filed this: >> https://github.com/mesonbuild/meson/issues/2166 >> >> I don't know whether that's something we'd want longer term, but it's a >> win short-term. >> >> Cheers >> ___ >> desktop-devel-list mailing list >> desktop-devel-list@gnome.org >> https://mail.gnome.org/mailman/listinfo/desktop-devel-list > > > > -- > https://www.bassi.io > [@] ebassi [@gmail.com] > ___ > desktop-devel-list mailing list > desktop-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/desktop-devel-list -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth? ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
In the medium-to-long term, I'd really appreciate if developer.gnome.org stopped trying to extract documentation from random locations inside tarballs, munge the cross-references, and published the HTML on a static website. This would avoid having to generate documentation at all, except when needed. After all, Linux distributions rebuild the documentation when building the binary packages anyway, so shipping documentation in release tarballs is pretty much for the benefit of developer.gnome.org to begin with. Ideally, with the switch to Gitlab, we'd be able to run CI targets for each module; that would allow us to build the API reference (and any other documentation we deem worthy of publishing), ensure that the cross-references pointed to a well-known URL prefix as part of the build itself, and publish them when pushing a release tag. Additionally, GitLab pages[0] would ensure that any module with documentation would have it published, without necessarily teaching developer.gnome.org how to do it. Ciao, Emmanuele. [0]: https://about.gitlab.com/features/pages/ On 9 August 2017 at 15:12, Bastien Nocerawrote: > On Wed, 2017-08-09 at 08:33 -0500, mcatanz...@gnome.org wrote: >> Hi, >> >> developer.gnome.org is going to have some problems because for meson >> modules 'ninja dist' does not include generated gtk-doc files in the >> tarball. At least one maintainer is working around this by manually >> generating tarballs with gtk-doc included instead of using 'ninja >> dist'. I don't recommend doing that since that's equivalent to >> skipping >> distcheck. It's better to use meson's dist target. >> developer.gnome.org >> is just going to have to learn to build docs itself. >> >> Is anybody working on developer.gnome.org? Anyone interested in >> taking >> on this task? Otherwise it is going to be stuck with outdated docs. > > I filed this: > https://github.com/mesonbuild/meson/issues/2166 > > I don't know whether that's something we'd want longer term, but it's a > win short-term. > > Cheers > ___ > desktop-devel-list mailing list > desktop-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/desktop-devel-list -- https://www.bassi.io [@] ebassi [@gmail.com] ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
On Wed, 2017-08-09 at 08:33 -0500, mcatanz...@gnome.org wrote: > Hi, > > developer.gnome.org is going to have some problems because for meson > modules 'ninja dist' does not include generated gtk-doc files in the > tarball. At least one maintainer is working around this by manually > generating tarballs with gtk-doc included instead of using 'ninja > dist'. I don't recommend doing that since that's equivalent to > skipping > distcheck. It's better to use meson's dist target. > developer.gnome.org > is just going to have to learn to build docs itself. > > Is anybody working on developer.gnome.org? Anyone interested in > taking > on this task? Otherwise it is going to be stuck with outdated docs. I filed this: https://github.com/mesonbuild/meson/issues/2166 I don't know whether that's something we'd want longer term, but it's a win short-term. Cheers ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
Re: developer.gnome.org and meson
mcatanz...@gnome.org wrote: > developer.gnome.org is going to have some problems because for meson modules > 'ninja dist' does not include generated gtk-doc files in the tarball. At > least one maintainer is working around this by manually generating tarballs > with gtk-doc included instead of using 'ninja dist'. I don't recommend doing > that since that's equivalent to skipping distcheck. It's better to use > meson's dist target. developer.gnome.org is just going to have to learn to > build docs itself. But that often requires a full build environment, which is the reason it doesn't do that. Continuous or whatever CI system should include a step publishing built documentation files, it will then be "easy" for developer.gnome.org to use those. Fred ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list
developer.gnome.org and meson
Hi, developer.gnome.org is going to have some problems because for meson modules 'ninja dist' does not include generated gtk-doc files in the tarball. At least one maintainer is working around this by manually generating tarballs with gtk-doc included instead of using 'ninja dist'. I don't recommend doing that since that's equivalent to skipping distcheck. It's better to use meson's dist target. developer.gnome.org is just going to have to learn to build docs itself. Is anybody working on developer.gnome.org? Anyone interested in taking on this task? Otherwise it is going to be stuck with outdated docs. Michael ___ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list