Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-11-11 Thread David Malcolm via Gcc-patches
On Mon, 2022-10-17 at 15:28 +0200, Martin Liška wrote:
> Hello.
> 
> Based on the very positive feedback I was given at the Cauldron
> Sphinx Documentation BoF,
> I'm planning migrating the documentation on 9th November. There are
> still some minor comments
> from Sandra when it comes to the PDF output, but we can address that
> once the conversion is done.
> 
> The reason I'm sending the email now is that I was waiting for latest
> Sphinx release (5.3.0) that
> simplifies reference format for options and results in much simpler
> Option summary section ([1])
> 
> The current GCC master (using Sphinx 5.3.0) converted docs can be
> seen here:
> https://splichal.eu/scripts/sphinx/
> 
> If you see any issues with the converted documentation, or have a
> feedback about it,
> please reply to this email.
> 
> Cheers,
> Martin
> 
> [1] https://github.com/sphinx-doc/sphinx/pull/10840
> [1]
> https://splichal.eu/scripts/sphinx/gcc/_build/html/gcc-command-options/option-summary.html
> 

FWIW, to help organize the various bugs people have reported due to the
sphinx migration, I've gone ahead and created a tracker bug in GCC
bugzilla.  See:
  https://gcc.gnu.org/bugzilla/showdependencytree.cgi?id=sphinx-migration
aka:
  https://gcc.gnu.org/bugzilla/showdependencytree.cgi?id=107655

Not all of them have "sphinx" in the title, so hope I got them all. 
Please add any I missed, and add any new ones you file as blocking this
bug.

Hope this is helpful
Dave



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-11-10 Thread Richard Biener via Gcc-patches
On Thu, Nov 10, 2022 at 2:05 PM Martin Liška  wrote:
>
> On 11/9/22 18:14, Joseph Myers wrote:
> > On Wed, 9 Nov 2022, Martin Liška wrote:
> >
> >> 1) not synchronized content among lib*/Makefile.in and lib*/Makefile.am.
> >> Apparently, I modified the generated Makefile.in file with the rules like:
> >>
> >> doc/info/texinfo/libitm.info: $(SPHINX_FILES)
> >>  + if [ x$(HAS_SPHINX_BUILD) = xhas-sphinx-build ]; then \
> >>make -C $(srcdir)/../doc info SOURCEDIR=$(abs_srcdir)/doc 
> >> BUILDDIR=$(abs_doc_builddir)/info SPHINXBUILD=$(SPHINX_BUILD); \
> >>  else true; fi
> >>
> >> Can you please modify Makefile.am in the corresponding manner and 
> >> re-generate Makefile.in?
> >
> > I think someone else had best look at this.
>
> All right, I've got a patch candidate for it, so I'll be hopefully able to 
> manage.
>
> >
> >> 2) Adding proper support --enable-generated-files-in-srcdir in gcc_release:
> >
> > It looks like all the GENINSRC rules / conditionals are still present.
> > So maybe there are details where the paths are wrong, or where fixes are
> > needed to ensure the files get installed from the source directory when
> > available in the source directory but not available in the build directory
> > because Sphinx isn't available, but much of the code for the feature is
> > still there.
>
> I can investigate then. Is the option --enable-generated-files-in-srcdir 
> suppose
> to be used when building from a release tarball (that includes man/info in 
> src),
> or to create such a source tarball?

It's to create such a tarball which then can be built with a reduced toolset.

> Cheers,
> Martin
>


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-11-10 Thread Martin Liška

On 11/9/22 18:14, Joseph Myers wrote:

On Wed, 9 Nov 2022, Martin Liška wrote:


1) not synchronized content among lib*/Makefile.in and lib*/Makefile.am.
Apparently, I modified the generated Makefile.in file with the rules like:

doc/info/texinfo/libitm.info: $(SPHINX_FILES)
+ if [ x$(HAS_SPHINX_BUILD) = xhas-sphinx-build ]; then \
  make -C $(srcdir)/../doc info SOURCEDIR=$(abs_srcdir)/doc 
BUILDDIR=$(abs_doc_builddir)/info SPHINXBUILD=$(SPHINX_BUILD); \
else true; fi

Can you please modify Makefile.am in the corresponding manner and re-generate 
Makefile.in?


I think someone else had best look at this.


All right, I've got a patch candidate for it, so I'll be hopefully able to 
manage.




2) Adding proper support --enable-generated-files-in-srcdir in gcc_release:


It looks like all the GENINSRC rules / conditionals are still present.
So maybe there are details where the paths are wrong, or where fixes are
needed to ensure the files get installed from the source directory when
available in the source directory but not available in the build directory
because Sphinx isn't available, but much of the code for the feature is
still there.


I can investigate then. Is the option --enable-generated-files-in-srcdir suppose
to be used when building from a release tarball (that includes man/info in src),
or to create such a source tarball?

Cheers,
Martin



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-11-09 Thread Joseph Myers
On Wed, 9 Nov 2022, Martin Liška wrote:

> 1) not synchronized content among lib*/Makefile.in and lib*/Makefile.am.
> Apparently, I modified the generated Makefile.in file with the rules like:
> 
> doc/info/texinfo/libitm.info: $(SPHINX_FILES)
>   + if [ x$(HAS_SPHINX_BUILD) = xhas-sphinx-build ]; then \
> make -C $(srcdir)/../doc info SOURCEDIR=$(abs_srcdir)/doc 
> BUILDDIR=$(abs_doc_builddir)/info SPHINXBUILD=$(SPHINX_BUILD); \
>   else true; fi
> 
> Can you please modify Makefile.am in the corresponding manner and re-generate 
> Makefile.in?

I think someone else had best look at this.

> 2) Adding proper support --enable-generated-files-in-srcdir in gcc_release:

It looks like all the GENINSRC rules / conditionals are still present.  
So maybe there are details where the paths are wrong, or where fixes are 
needed to ensure the files get installed from the source directory when 
available in the source directory but not available in the build directory 
because Sphinx isn't available, but much of the code for the feature is 
still there.

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-11-09 Thread Martin Liška
On 10/20/22 18:43, Joseph Myers wrote:
> On Thu, 20 Oct 2022, Martin Liška wrote:
> 
>>> Also, but not strictly part of the release issue:
>>>
>>> (d) Builds with missing or old Sphinx should work regardless of whether 
>>> such files are in the source directory - but if they aren't in the source 
>>> directory, the effect of missing or old Sphinx (detected at configure 
>>> time) should be to disable building and installing documentation.
>>
>> All right Joseph, is it something you're willing to help me once we start
>> using Sphinx? Apparently, there will be many consequent steps after we 
>> switch.
> 
> Sure, but most of the conditionals are *already* present, just need 
> updating as part of the Sphinx transition.  E.g. gcc/Makefile.in has 
> BUILD_INFO and GENERATED_MANPAGES conditionals based on configure tests 
> for whether relevant tools are present and new enough; the rules for 
> $(DESTDIR)$(infodir)/%.info quietly allow the info files not to be 
> present, so installing also works without the info files or tools to build 
> them, and the rules for installing man pages similarly ignore errors; and 
> there are srcinfo and srcman rules, enabled based on @GENINSRC@, to copy 
> those built files to the source directory, which are what's used when 
> --enable-generated-files-in-srcdir is used as part of building a release 
> tarball.
> 
> The main thing I've suggested that I think may actually be new is an error 
> for trying to build a release tarball without new-enough Sphinx (I think 
> the current rules would quietly not copy info / man pages to the source 
> directory if build tools were missing - but having those tools missing 
> when building a release tarball is much less likely than not having 
> new-enough Sphinx).
> 

Hello Joseph.

So the transition is done and I would to ask you Joseph for help with the
following 2 items:

1) not synchronized content among lib*/Makefile.in and lib*/Makefile.am.
Apparently, I modified the generated Makefile.in file with the rules like:

doc/info/texinfo/libitm.info: $(SPHINX_FILES)
+ if [ x$(HAS_SPHINX_BUILD) = xhas-sphinx-build ]; then \
  make -C $(srcdir)/../doc info SOURCEDIR=$(abs_srcdir)/doc 
BUILDDIR=$(abs_doc_builddir)/info SPHINXBUILD=$(SPHINX_BUILD); \
else true; fi

Can you please modify Makefile.am in the corresponding manner and re-generate 
Makefile.in?

2) Adding proper support --enable-generated-files-in-srcdir in gcc_release:

As mentioned above in the quoted email.

Thanks in advance,
Martin


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Jakub Jelinek via Gcc-patches
On Thu, Oct 20, 2022 at 04:43:06PM +, Joseph Myers wrote:
> On Thu, 20 Oct 2022, Martin Liška wrote:
> 
> > > Also, but not strictly part of the release issue:
> > > 
> > > (d) Builds with missing or old Sphinx should work regardless of whether 
> > > such files are in the source directory - but if they aren't in the source 
> > > directory, the effect of missing or old Sphinx (detected at configure 
> > > time) should be to disable building and installing documentation.
> > 
> > All right Joseph, is it something you're willing to help me once we start
> > using Sphinx? Apparently, there will be many consequent steps after we 
> > switch.
> 
> Sure, but most of the conditionals are *already* present, just need 
> updating as part of the Sphinx transition.  E.g. gcc/Makefile.in has 
> BUILD_INFO and GENERATED_MANPAGES conditionals based on configure tests 
> for whether relevant tools are present and new enough; the rules for 
> $(DESTDIR)$(infodir)/%.info quietly allow the info files not to be 
> present, so installing also works without the info files or tools to build 
> them, and the rules for installing man pages similarly ignore errors; and 
> there are srcinfo and srcman rules, enabled based on @GENINSRC@, to copy 
> those built files to the source directory, which are what's used when 
> --enable-generated-files-in-srcdir is used as part of building a release 
> tarball.
> 
> The main thing I've suggested that I think may actually be new is an error 
> for trying to build a release tarball without new-enough Sphinx (I think 
> the current rules would quietly not copy info / man pages to the source 
> directory if build tools were missing - but having those tools missing 
> when building a release tarball is much less likely than not having 
> new-enough Sphinx).

But perhaps that test should go to maintainer-scripts/gcc_release.
Can be either of the form of checking if Sphinx is new enough, or checking
of make actually built the documentation before creating the tarballs.

Jakub



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Joseph Myers
On Thu, 20 Oct 2022, Martin Liška wrote:

> > Also, but not strictly part of the release issue:
> > 
> > (d) Builds with missing or old Sphinx should work regardless of whether 
> > such files are in the source directory - but if they aren't in the source 
> > directory, the effect of missing or old Sphinx (detected at configure 
> > time) should be to disable building and installing documentation.
> 
> All right Joseph, is it something you're willing to help me once we start
> using Sphinx? Apparently, there will be many consequent steps after we switch.

Sure, but most of the conditionals are *already* present, just need 
updating as part of the Sphinx transition.  E.g. gcc/Makefile.in has 
BUILD_INFO and GENERATED_MANPAGES conditionals based on configure tests 
for whether relevant tools are present and new enough; the rules for 
$(DESTDIR)$(infodir)/%.info quietly allow the info files not to be 
present, so installing also works without the info files or tools to build 
them, and the rules for installing man pages similarly ignore errors; and 
there are srcinfo and srcman rules, enabled based on @GENINSRC@, to copy 
those built files to the source directory, which are what's used when 
--enable-generated-files-in-srcdir is used as part of building a release 
tarball.

The main thing I've suggested that I think may actually be new is an error 
for trying to build a release tarball without new-enough Sphinx (I think 
the current rules would quietly not copy info / man pages to the source 
directory if build tools were missing - but having those tools missing 
when building a release tarball is much less likely than not having 
new-enough Sphinx).

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Martin Liška
On 10/20/22 17:35, Joseph Myers wrote:
> On Thu, 20 Oct 2022, Martin Liška wrote:
> 
>>> Could generated man and info pages be provided as a tarball on
>>> gcc.gnu.org or ftp.gnu.org?
>>
>> Not planning doing that.
> 
> Release tarballs (but not snapshots) currently include the info files and 
> man pages, via gcc_release running a build with 
> --enable-generated-files-in-srcdir before building the tarball.
> 
> I think they should continue to do so.  This means:
> 
> (a) --enable-generated-files-in-srcdir needs to cause those files to be 
> generated in the source directory, as it does at present.
> 
> (b) gcc_release, for building a release but not a snapshot, needs to give 
> an error if Sphinx is missing or too old and so those files weren't built 
> properly (and thus people running gcc_release to build a release tarball 
> will need new-enough Sphinx).
> 
> (c) It needs to be verified that building and installing from such a 
> release tarball works even if Sphinx is missing or too old - that is, that 
> it installs the prebuilt info / man files rather than giving an error or 
> failing to install them.
> 
> Also, but not strictly part of the release issue:
> 
> (d) Builds with missing or old Sphinx should work regardless of whether 
> such files are in the source directory - but if they aren't in the source 
> directory, the effect of missing or old Sphinx (detected at configure 
> time) should be to disable building and installing documentation.

All right Joseph, is it something you're willing to help me once we start
using Sphinx? Apparently, there will be many consequent steps after we switch.

Cheers,
Martin



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Joseph Myers
On Thu, 20 Oct 2022, Martin Liška wrote:

> > Could generated man and info pages be provided as a tarball on
> > gcc.gnu.org or ftp.gnu.org?
> 
> Not planning doing that.

Release tarballs (but not snapshots) currently include the info files and 
man pages, via gcc_release running a build with 
--enable-generated-files-in-srcdir before building the tarball.

I think they should continue to do so.  This means:

(a) --enable-generated-files-in-srcdir needs to cause those files to be 
generated in the source directory, as it does at present.

(b) gcc_release, for building a release but not a snapshot, needs to give 
an error if Sphinx is missing or too old and so those files weren't built 
properly (and thus people running gcc_release to build a release tarball 
will need new-enough Sphinx).

(c) It needs to be verified that building and installing from such a 
release tarball works even if Sphinx is missing or too old - that is, that 
it installs the prebuilt info / man files rather than giving an error or 
failing to install them.

Also, but not strictly part of the release issue:

(d) Builds with missing or old Sphinx should work regardless of whether 
such files are in the source directory - but if they aren't in the source 
directory, the effect of missing or old Sphinx (detected at configure 
time) should be to disable building and installing documentation.

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Martin Liška
On 10/20/22 13:55, Xi Ruoyao wrote:
> On Thu, 2022-10-20 at 13:53 +0200, Martin Liška wrote:
>> On 10/20/22 13:49, Xi Ruoyao wrote:
>>> (CC our team members.)
>>>
>>> On Thu, 2022-10-20 at 13:27 +0200, Martin Liška wrote:
> Ouch.  This will be very painful for Linux From Scratch.  We'll need to
> add 23 Python modules to build the documentation, while we only have 88
> packages in total currently...  And we don't want to omit GCC
> documentation in our system.

 Various other distros will have to face it too. The proper solution is a 
 multi-build
 package (gcc:doc) which can be built later in the dependency chain. Btw. 
 do you also
 provide PDF documentation in your system?
>>>
>>> No (texlive is much heavier than Sphinx).  But generally we expect man
>>> pages and info pages.
>>>
>>> We can separate man and info into the second-time build in BLFS (we're
>>> already doing this now for Go, Objective C, etc.),
>>
>> Do the same for GCC.
>>
>>> but I don't really
>>> like to omit the man and info pages..
>>
>> What should I do about it? We want to switch to a more modern documentation 
>> tool
>> called Sphinx and yes, it will make packaging of the GCC more complicated.
> 
> Nothing, I guess.  We'll handle it on our side (if we finally decide to
> ship the man/info tarballs we can generate them by ourselves).

Good!

> 
> I was just trying to find a simpler solution before beginning all the
> work :).

Sure, makes sense.

Martin

> 
> Thanks!
> 



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Xi Ruoyao via Gcc-patches
On Thu, 2022-10-20 at 13:53 +0200, Martin Liška wrote:
> On 10/20/22 13:49, Xi Ruoyao wrote:
> > (CC our team members.)
> > 
> > On Thu, 2022-10-20 at 13:27 +0200, Martin Liška wrote:
> > > > Ouch.  This will be very painful for Linux From Scratch.  We'll need to
> > > > add 23 Python modules to build the documentation, while we only have 88
> > > > packages in total currently...  And we don't want to omit GCC
> > > > documentation in our system.
> > > 
> > > Various other distros will have to face it too. The proper solution is a 
> > > multi-build
> > > package (gcc:doc) which can be built later in the dependency chain. Btw. 
> > > do you also
> > > provide PDF documentation in your system?
> > 
> > No (texlive is much heavier than Sphinx).  But generally we expect man
> > pages and info pages.
> > 
> > We can separate man and info into the second-time build in BLFS (we're
> > already doing this now for Go, Objective C, etc.),
> 
> Do the same for GCC.
> 
> > but I don't really
> > like to omit the man and info pages..
> 
> What should I do about it? We want to switch to a more modern documentation 
> tool
> called Sphinx and yes, it will make packaging of the GCC more complicated.

Nothing, I guess.  We'll handle it on our side (if we finally decide to
ship the man/info tarballs we can generate them by ourselves).

I was just trying to find a simpler solution before beginning all the
work :).

Thanks!



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Martin Liška
On 10/20/22 13:49, Xi Ruoyao wrote:
> (CC our team members.)
> 
> On Thu, 2022-10-20 at 13:27 +0200, Martin Liška wrote:
>>> Ouch.  This will be very painful for Linux From Scratch.  We'll need to
>>> add 23 Python modules to build the documentation, while we only have 88
>>> packages in total currently...  And we don't want to omit GCC
>>> documentation in our system.
>>
>> Various other distros will have to face it too. The proper solution is a 
>> multi-build
>> package (gcc:doc) which can be built later in the dependency chain. Btw. do 
>> you also
>> provide PDF documentation in your system?
> 
> No (texlive is much heavier than Sphinx).  But generally we expect man
> pages and info pages.
> 
> We can separate man and info into the second-time build in BLFS (we're
> already doing this now for Go, Objective C, etc.),

Do the same for GCC.

> but I don't really
> like to omit the man and info pages..

What should I do about it? We want to switch to a more modern documentation tool
called Sphinx and yes, it will make packaging of the GCC more complicated.

Martin

> 
>>> Could generated man and info pages be provided as a tarball on
>>> gcc.gnu.org or ftp.gnu.org?
>>
>> Not planning doing that.



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Xi Ruoyao via Gcc-patches
(CC our team members.)

On Thu, 2022-10-20 at 13:27 +0200, Martin Liška wrote:
> > Ouch.  This will be very painful for Linux From Scratch.  We'll need to
> > add 23 Python modules to build the documentation, while we only have 88
> > packages in total currently...  And we don't want to omit GCC
> > documentation in our system.
> 
> Various other distros will have to face it too. The proper solution is a 
> multi-build
> package (gcc:doc) which can be built later in the dependency chain. Btw. do 
> you also
> provide PDF documentation in your system?

No (texlive is much heavier than Sphinx).  But generally we expect man
pages and info pages.

We can separate man and info into the second-time build in BLFS (we're
already doing this now for Go, Objective C, etc.), but I don't really
like to omit the man and info pages...

> > Could generated man and info pages be provided as a tarball on
> > gcc.gnu.org or ftp.gnu.org?
> 
> Not planning doing that.


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Martin Liška
On 10/20/22 04:26, Xi Ruoyao wrote:
> On Mon, 2022-10-17 at 15:28 +0200, Martin Liška wrote:
>> Hello.
>>
>> Based on the very positive feedback I was given at the Cauldron Sphinx 
>> Documentation BoF,
>> I'm planning migrating the documentation on 9th November. There are still 
>> some minor comments
>> from Sandra when it comes to the PDF output, but we can address that once 
>> the conversion is done.
>>
>> The reason I'm sending the email now is that I was waiting for latest Sphinx 
>> release (5.3.0) that
>> simplifies reference format for options and results in much simpler Option 
>> summary section ([1])
>>
>> The current GCC master (using Sphinx 5.3.0) converted docs can be seen here:
>> https://splichal.eu/scripts/sphinx/
>>
>> If you see any issues with the converted documentation, or have a feedback 
>> about it,
>> please reply to this email.
> 
> Ouch.  This will be very painful for Linux From Scratch.  We'll need to
> add 23 Python modules to build the documentation, while we only have 88
> packages in total currently...  And we don't want to omit GCC
> documentation in our system.

Various other distros will have to face it too. The proper solution is a 
multi-build
package (gcc:doc) which can be built later in the dependency chain. Btw. do you 
also
provide PDF documentation in your system?

> 
> Could generated man and info pages be provided as a tarball on
> gcc.gnu.org or ftp.gnu.org?

Not planning doing that.

Cheers,
Martin



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Martin Liška
On 10/19/22 18:30, Sandra Loosemore wrote:
> On 10/19/22 05:09, Martin Liška wrote:
>> On 10/18/22 00:26, Sandra Loosemore wrote:
>>> On 10/17/22 07:28, Martin Liška wrote:
 Hello.

 Based on the very positive feedback I was given at the Cauldron Sphinx 
 Documentation BoF,
 I'm planning migrating the documentation on 9th November. There are still 
 some minor comments
 from Sandra when it comes to the PDF output, but we can address that once 
 the conversion is done.
>>>
>>> My main complaint about the PDF is that the blue color used for link text 
>>> is so light it interferes with readability.  Few people are going to print 
>>> the document on paper any more, but I did try printing a sample page on a 
>>> grayscale printer and the blue link text came out so faint that it was 
>>> barely visible at all.
>>
>> Sure, I've just added support for monochromatic PDF output where one needs 
>> to use
>> MONOCHROMATIC=1 make latexpdf ...
>>
>> and I linked the file here:
>> https://splichal.eu/scripts/sphinx/gcc/_build/latexmonochromatic/gcc.pdf
>>
>> right now I build only one PDF in this mode and it's mentioned here:
>> https://splichal.eu/scripts/sphinx/
>>
>> What do you think about it now?
> 
> Hmmm, removing *all* visual cues that something is a link does not seem so 
> great either, especially since the new format has changed the link text for 
> @xref to remove the page and section information.  E.g. we used to get "See 
> Section 3.4 [Options Controlling C Dialect], page 44." and now it just reads 
> "See Options Controlling C Dialect."
> 

Hey.

> I realize there is a can of worms here involving philosophical issues about 
> whether the PDF manual is intended to be formatted for reading as a book or 
> is just a handy way to repackage the hyperlinked web presentation for offline 
> reference.  Also there is another can of worms involving making the 
> documentation accessible to people who have visual disabilities, specifically 
> color blindness issues.  Just speaking for myself, I'd be happy if the PDF 
> just used a darker blue color for links that is both distinguishing and 
> higher contrast with the background than the current light blue, but I think 
> it is one of the principles of accessible design that color really shouldn't 
> be the *only* indication of something that initiates an action.  Maybe 
> underlining, or a little link glyph, or restoring the section/page info to 
> the link text?

I've just tweaked the monochrom. PDF where dark blue color is used for links. 
About the links, there are multiple PDF viewers (like Evince) which can do a 
preview if you hover
over a link. Plus a page number is showed in a toolbar.

What it comes to the philosophical issues of the monochrom. PDF, well, I would 
recommend discussing that with Sphinx upstream project. I bet
they must have other projects who's readers might request similar needs. 
Intention of my monochrom. PDF was to show that Sphinx PDF output
can be quite easily adjusted.

> 
>>
>>>    An E-ink reader device would probably have similar problems.
>>
>> There ePUB would be likely better output format. What do you think?
> 
> Ooof, a lot of problems there.  I looked at your new generated .epub in both 
> the "ebook-viewer" utility on my laptop and on my Kobo Forma.  The Kobo uses 
> the default proportionally-spaced font for everything; even the code examples 
> fail to come out in a fixed-width font.  ebook-viewer shows fixed-width fonts 
> for code examples and inline references to e.g. command line options, but the 
> names of options in the option tables sections are in the proportional body 
> font.  Also in both viewers I see hyperlinks to https://splicha.eu/...  in 
> place of internal links in some references to command-line options and the 
> like, and the formatting of the option summary tables really sucks, with 
> lines breaking at hyphens in the middle of option names.

Sure, let's leave it for now and keep it as a might-have thing for the future!

Appreciate the feedback,
Cheers,
Martin

> 
> I suggest we try to focus our efforts on the currently-supported formats 
> before adding EPUB as a new format.
> 
> -Sandra



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-20 Thread Martin Liška
On 10/19/22 18:42, Joseph Myers wrote:
> On Wed, 19 Oct 2022, Martin Liška wrote:
> 
>>> Currently, there is a tarball with texinfo sources for all the manuals
>>> for each version.
>>
>> Well, then equivalent would be packaging all .rst files together with the 
>> corresponding
>> conf.py, logo.* and other files. But I don't see it much useful.
> 
> I think we should have such a source tarball when the sources are .rst, as 
> the successor to the Texinfo source tarball.

All right, putting that on my TODO list after the conversion happens. Won't be 
difficult
to achieve.

Cheers,
Martin

> 
> (Unfortunately when I added that source tarball - 
> https://gcc.gnu.org/legacy-ml/gcc-patches/2004-01/msg00140.html - I didn't 
> give specific references to any of the individual requests that resulted 
> in adding it.)



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Xi Ruoyao via Gcc-patches
On Mon, 2022-10-17 at 15:28 +0200, Martin Liška wrote:
> Hello.
> 
> Based on the very positive feedback I was given at the Cauldron Sphinx 
> Documentation BoF,
> I'm planning migrating the documentation on 9th November. There are still 
> some minor comments
> from Sandra when it comes to the PDF output, but we can address that once the 
> conversion is done.
> 
> The reason I'm sending the email now is that I was waiting for latest Sphinx 
> release (5.3.0) that
> simplifies reference format for options and results in much simpler Option 
> summary section ([1])
> 
> The current GCC master (using Sphinx 5.3.0) converted docs can be seen here:
> https://splichal.eu/scripts/sphinx/
> 
> If you see any issues with the converted documentation, or have a feedback 
> about it,
> please reply to this email.

Ouch.  This will be very painful for Linux From Scratch.  We'll need to
add 23 Python modules to build the documentation, while we only have 88
packages in total currently...  And we don't want to omit GCC
documentation in our system.

Could generated man and info pages be provided as a tarball on
gcc.gnu.org or ftp.gnu.org?


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Joseph Myers
On Wed, 19 Oct 2022, Martin Liška wrote:

> > Currently, there is a tarball with texinfo sources for all the manuals
> > for each version.
> 
> Well, then equivalent would be packaging all .rst files together with the 
> corresponding
> conf.py, logo.* and other files. But I don't see it much useful.

I think we should have such a source tarball when the sources are .rst, as 
the successor to the Texinfo source tarball.

(Unfortunately when I added that source tarball - 
https://gcc.gnu.org/legacy-ml/gcc-patches/2004-01/msg00140.html - I didn't 
give specific references to any of the individual requests that resulted 
in adding it.)

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Sandra Loosemore

On 10/19/22 05:09, Martin Liška wrote:

On 10/18/22 00:26, Sandra Loosemore wrote:

On 10/17/22 07:28, Martin Liška wrote:

Hello.

Based on the very positive feedback I was given at the Cauldron Sphinx 
Documentation BoF,
I'm planning migrating the documentation on 9th November. There are still some 
minor comments
from Sandra when it comes to the PDF output, but we can address that once the 
conversion is done.


My main complaint about the PDF is that the blue color used for link text is so 
light it interferes with readability.  Few people are going to print the 
document on paper any more, but I did try printing a sample page on a grayscale 
printer and the blue link text came out so faint that it was barely visible at 
all.


Sure, I've just added support for monochromatic PDF output where one needs to 
use
MONOCHROMATIC=1 make latexpdf ...

and I linked the file here:
https://splichal.eu/scripts/sphinx/gcc/_build/latexmonochromatic/gcc.pdf

right now I build only one PDF in this mode and it's mentioned here:
https://splichal.eu/scripts/sphinx/

What do you think about it now?


Hmmm, removing *all* visual cues that something is a link does not seem 
so great either, especially since the new format has changed the link 
text for @xref to remove the page and section information.  E.g. we used 
to get "See Section 3.4 [Options Controlling C Dialect], page 44." and 
now it just reads "See Options Controlling C Dialect."


I realize there is a can of worms here involving philosophical issues 
about whether the PDF manual is intended to be formatted for reading as 
a book or is just a handy way to repackage the hyperlinked web 
presentation for offline reference.  Also there is another can of worms 
involving making the documentation accessible to people who have visual 
disabilities, specifically color blindness issues.  Just speaking for 
myself, I'd be happy if the PDF just used a darker blue color for links 
that is both distinguishing and higher contrast with the background than 
the current light blue, but I think it is one of the principles of 
accessible design that color really shouldn't be the *only* indication 
of something that initiates an action.  Maybe underlining, or a little 
link glyph, or restoring the section/page info to the link text?





   An E-ink reader device would probably have similar problems.


There ePUB would be likely better output format. What do you think?


Ooof, a lot of problems there.  I looked at your new generated .epub in 
both the "ebook-viewer" utility on my laptop and on my Kobo Forma.  The 
Kobo uses the default proportionally-spaced font for everything; even 
the code examples fail to come out in a fixed-width font.  ebook-viewer 
shows fixed-width fonts for code examples and inline references to e.g. 
command line options, but the names of options in the option tables 
sections are in the proportional body font.  Also in both viewers I see 
hyperlinks to https://splicha.eu/...  in place of internal links in some 
references to command-line options and the like, and the formatting of 
the option summary tables really sucks, with lines breaking at hyphens 
in the middle of option names.


I suggest we try to focus our efforts on the currently-supported formats 
before adding EPUB as a new format.


-Sandra


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Martin Liška
On 10/19/22 13:09, Martin Liška wrote:
> There ePUB would be likely better output format. What do you think?

I've just included ePUB books:
https://splichal.eu/scripts/sphinx/#epub

Martin


Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Martin Liška
On 10/18/22 00:26, Sandra Loosemore wrote:
> On 10/17/22 07:28, Martin Liška wrote:
>> Hello.
>>
>> Based on the very positive feedback I was given at the Cauldron Sphinx 
>> Documentation BoF,
>> I'm planning migrating the documentation on 9th November. There are still 
>> some minor comments
>> from Sandra when it comes to the PDF output, but we can address that once 
>> the conversion is done.
> 
> My main complaint about the PDF is that the blue color used for link text is 
> so light it interferes with readability.  Few people are going to print the 
> document on paper any more, but I did try printing a sample page on a 
> grayscale printer and the blue link text came out so faint that it was barely 
> visible at all.

Sure, I've just added support for monochromatic PDF output where one needs to 
use
MONOCHROMATIC=1 make latexpdf ...

and I linked the file here:
https://splichal.eu/scripts/sphinx/gcc/_build/latexmonochromatic/gcc.pdf

right now I build only one PDF in this mode and it's mentioned here:
https://splichal.eu/scripts/sphinx/

What do you think about it now?

>  An E-ink reader device would probably have similar problems.

There ePUB would be likely better output format. What do you think?

Martin

> 
> I'm generally not a fan of the other colors being used for formatting, 
> either.  To me it seems like they all interfere with readability, plus in 
> code samples it seems like random things get highlighted in random colors, 
> instead of focusing on the thing the example is trying to demonstrate.
> 
> I've been preferring to use the PDF form of the GNU manuals because it is 
> easier to search the whole document that way.  The search feature in the new 
> web version doesn't quite cut it  it gives you a list of web pages and 
> then you have to do a second browser search within each page to find the 
> reference.  So I hope we can continue to support the PDF as a canonical 
> format and better tune it for easy readability, instead of assuming that most 
> people will only care about the online web version.
> 
> -Sandra
> 
> 
> 
> 



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Martin Liška
On 10/19/22 10:13, Paul Iannetta wrote:
> On Wed, Oct 19, 2022 at 09:24:06AM +0200, Martin Liška wrote:
>> On 10/17/22 16:16, Paul Iannetta wrote:
>>> Hi Martin,
>>>
>>> Thank you very much for porting the documentation to Sphinx, it is
>>> very convenient to use, especially the menu on the left and the
>>> search bar.
>>
>> Thanks, I also like it!
>>
>>>
>>> However, I also regularly browse and search the documentation through
>>> info, especially when I want to use regexps to search or need to
>>> include a special character (eg.,+,-,_,(; this can happen when I
>>> search for '(define' ) for example) in the search string.
>>>
>>> Does the port to Sphinx means the end of texinfo? Or, will both be
>>> available as it is the case now with the official texinfo and your
>>> unofficial splichal.eu pages.
>>
>> It will be still available same as now where manual pages and info pages
>> are built if you compile GCC from sources. We haven't been publishing manual
>> pages and info pages on our web pages, people typically get these from
>> their distribution packages.
> 
> As long as it is possible to build the info manual with "make info", even 
> through
> something like rst2texinfo,  I would be happy.  Would it be possible
> to see the rst source of the port so as to try rst2texinfo on it?

Well, .rst source files can be seen right now here:
https://github.com/marxin/texi2rst-generated

And 'texinfo' is created with the standard Sphinx builder:
https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption-sphinx-build-b

> 
>>
>> Does it help? Or do you expect any change regarding what we publish at:
>> https://gcc.gnu.org/onlinedocs/
>> ?
> Currently, there is a tarball with texinfo sources for all the manuals
> for each version.

Well, then equivalent would be packaging all .rst files together with the 
corresponding
conf.py, logo.* and other files. But I don't see it much useful.

Thanks,
Martin

> 
> Thanks,
> Paul
> 
>>
>> Cheers,
>> Martin
>>
>>>
>>> Paul
>>>
>>> On Mon, Oct 17, 2022 at 03:28:34PM +0200, Martin Liška wrote:
 Hello.

 Based on the very positive feedback I was given at the Cauldron Sphinx 
 Documentation BoF,
 I'm planning migrating the documentation on 9th November. There are still 
 some minor comments
 from Sandra when it comes to the PDF output, but we can address that once 
 the conversion is done.

 The reason I'm sending the email now is that I was waiting for latest 
 Sphinx release (5.3.0) that
 simplifies reference format for options and results in much simpler Option 
 summary section ([1])

 The current GCC master (using Sphinx 5.3.0) converted docs can be seen 
 here:
 https://splichal.eu/scripts/sphinx/

 If you see any issues with the converted documentation, or have a feedback 
 about it,
 please reply to this email.

 Cheers,
 Martin

 [1] https://github.com/sphinx-doc/sphinx/pull/10840
 [1] 
 https://splichal.eu/scripts/sphinx/gcc/_build/html/gcc-command-options/option-summary.html




>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
> 
> 
> 
> 



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Paul Iannetta via Gcc-patches
On Wed, Oct 19, 2022 at 09:24:06AM +0200, Martin Liška wrote:
> On 10/17/22 16:16, Paul Iannetta wrote:
> > Hi Martin,
> > 
> > Thank you very much for porting the documentation to Sphinx, it is
> > very convenient to use, especially the menu on the left and the
> > search bar.
> 
> Thanks, I also like it!
> 
> > 
> > However, I also regularly browse and search the documentation through
> > info, especially when I want to use regexps to search or need to
> > include a special character (eg.,+,-,_,(; this can happen when I
> > search for '(define' ) for example) in the search string.
> > 
> > Does the port to Sphinx means the end of texinfo? Or, will both be
> > available as it is the case now with the official texinfo and your
> > unofficial splichal.eu pages.
> 
> It will be still available same as now where manual pages and info pages
> are built if you compile GCC from sources. We haven't been publishing manual
> pages and info pages on our web pages, people typically get these from
> their distribution packages.

As long as it is possible to build the info manual with "make info", even 
through
something like rst2texinfo,  I would be happy.  Would it be possible
to see the rst source of the port so as to try rst2texinfo on it?

> 
> Does it help? Or do you expect any change regarding what we publish at:
> https://gcc.gnu.org/onlinedocs/
> ?
Currently, there is a tarball with texinfo sources for all the manuals
for each version.

Thanks,
Paul

> 
> Cheers,
> Martin
> 
> > 
> > Paul
> > 
> > On Mon, Oct 17, 2022 at 03:28:34PM +0200, Martin Liška wrote:
> >> Hello.
> >>
> >> Based on the very positive feedback I was given at the Cauldron Sphinx 
> >> Documentation BoF,
> >> I'm planning migrating the documentation on 9th November. There are still 
> >> some minor comments
> >> from Sandra when it comes to the PDF output, but we can address that once 
> >> the conversion is done.
> >>
> >> The reason I'm sending the email now is that I was waiting for latest 
> >> Sphinx release (5.3.0) that
> >> simplifies reference format for options and results in much simpler Option 
> >> summary section ([1])
> >>
> >> The current GCC master (using Sphinx 5.3.0) converted docs can be seen 
> >> here:
> >> https://splichal.eu/scripts/sphinx/
> >>
> >> If you see any issues with the converted documentation, or have a feedback 
> >> about it,
> >> please reply to this email.
> >>
> >> Cheers,
> >> Martin
> >>
> >> [1] https://github.com/sphinx-doc/sphinx/pull/10840
> >> [1] 
> >> https://splichal.eu/scripts/sphinx/gcc/_build/html/gcc-command-options/option-summary.html
> >>
> >>
> >>
> >>
> > 
> > 
> > 
> > 
> 
> 
> 
> 
> 






Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-19 Thread Martin Liška
On 10/17/22 16:16, Paul Iannetta wrote:
> Hi Martin,
> 
> Thank you very much for porting the documentation to Sphinx, it is
> very convenient to use, especially the menu on the left and the
> search bar.

Thanks, I also like it!

> 
> However, I also regularly browse and search the documentation through
> info, especially when I want to use regexps to search or need to
> include a special character (eg.,+,-,_,(; this can happen when I
> search for '(define' ) for example) in the search string.
> 
> Does the port to Sphinx means the end of texinfo? Or, will both be
> available as it is the case now with the official texinfo and your
> unofficial splichal.eu pages.

It will be still available same as now where manual pages and info pages
are built if you compile GCC from sources. We haven't been publishing manual
pages and info pages on our web pages, people typically get these from
their distribution packages.

Does it help? Or do you expect any change regarding what we publish at:
https://gcc.gnu.org/onlinedocs/
?

Cheers,
Martin

> 
> Paul
> 
> On Mon, Oct 17, 2022 at 03:28:34PM +0200, Martin Liška wrote:
>> Hello.
>>
>> Based on the very positive feedback I was given at the Cauldron Sphinx 
>> Documentation BoF,
>> I'm planning migrating the documentation on 9th November. There are still 
>> some minor comments
>> from Sandra when it comes to the PDF output, but we can address that once 
>> the conversion is done.
>>
>> The reason I'm sending the email now is that I was waiting for latest Sphinx 
>> release (5.3.0) that
>> simplifies reference format for options and results in much simpler Option 
>> summary section ([1])
>>
>> The current GCC master (using Sphinx 5.3.0) converted docs can be seen here:
>> https://splichal.eu/scripts/sphinx/
>>
>> If you see any issues with the converted documentation, or have a feedback 
>> about it,
>> please reply to this email.
>>
>> Cheers,
>> Martin
>>
>> [1] https://github.com/sphinx-doc/sphinx/pull/10840
>> [1] 
>> https://splichal.eu/scripts/sphinx/gcc/_build/html/gcc-command-options/option-summary.html
>>
>>
>>
>>
> 
> 
> 
> 



Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-17 Thread Sandra Loosemore

On 10/17/22 07:28, Martin Liška wrote:

Hello.

Based on the very positive feedback I was given at the Cauldron Sphinx 
Documentation BoF,
I'm planning migrating the documentation on 9th November. There are still some 
minor comments
from Sandra when it comes to the PDF output, but we can address that once the 
conversion is done.


My main complaint about the PDF is that the blue color used for link 
text is so light it interferes with readability.  Few people are going 
to print the document on paper any more, but I did try printing a sample 
page on a grayscale printer and the blue link text came out so faint 
that it was barely visible at all.  An E-ink reader device would 
probably have similar problems.


I'm generally not a fan of the other colors being used for formatting, 
either.  To me it seems like they all interfere with readability, plus 
in code samples it seems like random things get highlighted in random 
colors, instead of focusing on the thing the example is trying to 
demonstrate.


I've been preferring to use the PDF form of the GNU manuals because it 
is easier to search the whole document that way.  The search feature in 
the new web version doesn't quite cut it  it gives you a list of web 
pages and then you have to do a second browser search within each page 
to find the reference.  So I hope we can continue to support the PDF as 
a canonical format and better tune it for easy readability, instead of 
assuming that most people will only care about the online web version.


-Sandra






Re: Announcement: Porting the Docs to Sphinx - 9. November 2022

2022-10-17 Thread Paul Iannetta via Gcc-patches
Hi Martin,

Thank you very much for porting the documentation to Sphinx, it is
very convenient to use, especially the menu on the left and the
search bar.

However, I also regularly browse and search the documentation through
info, especially when I want to use regexps to search or need to
include a special character (eg.,+,-,_,(; this can happen when I
search for '(define' ) for example) in the search string.

Does the port to Sphinx means the end of texinfo? Or, will both be
available as it is the case now with the official texinfo and your
unofficial splichal.eu pages.

Paul

On Mon, Oct 17, 2022 at 03:28:34PM +0200, Martin Liška wrote:
> Hello.
> 
> Based on the very positive feedback I was given at the Cauldron Sphinx 
> Documentation BoF,
> I'm planning migrating the documentation on 9th November. There are still 
> some minor comments
> from Sandra when it comes to the PDF output, but we can address that once the 
> conversion is done.
> 
> The reason I'm sending the email now is that I was waiting for latest Sphinx 
> release (5.3.0) that
> simplifies reference format for options and results in much simpler Option 
> summary section ([1])
> 
> The current GCC master (using Sphinx 5.3.0) converted docs can be seen here:
> https://splichal.eu/scripts/sphinx/
> 
> If you see any issues with the converted documentation, or have a feedback 
> about it,
> please reply to this email.
> 
> Cheers,
> Martin
> 
> [1] https://github.com/sphinx-doc/sphinx/pull/10840
> [1] 
> https://splichal.eu/scripts/sphinx/gcc/_build/html/gcc-command-options/option-summary.html
> 
> 
> 
>