[grohtml]: Fix Savannah #65987 (psselect->ps2ps).

[grohtml]: Migrate from psselect(1) to ps2ps(1).

* src/preproc/html/pre-html.cpp (imageList::createPage): Do it.
* src/devices/grohtml/grohtml.1.man (Dependencies): Document
the changed runtime requirement.
* m4/groff.m4 (GROFF_CHECK_GROHTML_PROGRAMS):
* src/roff/groff/tests/html_works_with_grn_and_eqn.sh:
* src/roff/groff/tests/smoke-test_html_device.sh: Check for
existence of `ps2ps` command instead of `psselect`.

* ANNOUNCE:
* NEWS:
* README:
* README.MinGW: Document change in dependencies.

Fixes <https://savannah.gnu.org/bugs/?65987>.
This commit is contained in:
G. Branden Robinson 2024-07-13 14:05:48 -05:00
parent 834afa4e0d
commit 621c75426e
10 changed files with 33 additions and 16 deletions

View File

@ -158,7 +158,7 @@ of this release.
Alex Colomar Alex Colomar
Alexander Kanavin Alexander Kanavin
Alexis ("no, the other one") Alexis (surryhill)
Bjarni Ingi Gislason Bjarni Ingi Gislason
Brian Inglis Brian Inglis
Bruno Haible Bruno Haible

View File

@ -1,3 +1,22 @@
2024-03-19 Alexis <surryhill@gmail.com>
[grohtml]: Migrate from psselect(1) to ps2ps(1).
* src/preproc/html/pre-html.cpp (imageList::createPage): Do it.
* src/devices/grohtml/grohtml.1.man (Dependencies): Document
the changed runtime requirement.
* m4/groff.m4 (GROFF_CHECK_GROHTML_PROGRAMS):
* src/roff/groff/tests/html_works_with_grn_and_eqn.sh:
* src/roff/groff/tests/smoke-test_html_device.sh: Check for
existence of `ps2ps` command instead of `psselect`.
* ANNOUNCE:
* NEWS:
* README:
* README.MinGW: Document change in dependencies.
Fixes <https://savannah.gnu.org/bugs/?65987>.
2024-07-13 G. Branden Robinson <g.branden.robinson@gmail.com> 2024-07-13 G. Branden Robinson <g.branden.robinson@gmail.com>
* src/libs/libgroff/searchpath.cpp (is_directory): New function * src/libs/libgroff/searchpath.cpp (is_directory): New function

2
NEWS
View File

@ -401,6 +401,8 @@ o The PostScript output driver grops no longer accepts spaces as field
Miscellaneous Miscellaneous
------------- -------------
o Building groff no longer requires the PSUtils package.
o Russian language input documents using the KOI8-R encoding are now o Russian language input documents using the KOI8-R encoding are now
supported, including hyphenation patterns from the ruhyphen project supported, including hyphenation patterns from the ruhyphen project
and localized strings for the man, ms, me, mm, and mom packages. and localized strings for the man, ms, me, mm, and mom packages.

3
README
View File

@ -68,8 +68,7 @@ Build requirements are discussed in the 'INSTALL.extra' and
dependencies. dependencies.
Ghostscript is required for creation of PDF and (X)HTML output. Ghostscript is required for creation of PDF and (X)HTML output.
Production of (X)HTML furthermore demands tools from the 'netpbm' and Production of (X)HTML furthermore demands tools from the Netpbm package.
'psutils' packages.
Perl is required for production of PDF output using the 'gropdf' output Perl is required for production of PDF output using the 'gropdf' output
driver. (You can alternatively produce PostScript with 'grops' and driver. (You can alternatively produce PostScript with 'grops' and

View File

@ -231,10 +231,6 @@
zlib-1.dll, which must be renamed to zlib.dll zlib-1.dll, which must be renamed to zlib.dll
4. from the psutils-<version>-bin.zip package:
psselect.exe
Note that it is not necessary to install the above four packages in Note that it is not necessary to install the above four packages in
their entirety; of course, you may do so if you wish. their entirety; of course, you may do so if you wish.

View File

@ -182,7 +182,7 @@ AC_DEFUN([GROFF_CHECK_GROHTML_PROGRAMS], [
missing= missing=
m4_foreach([groff_prog], m4_foreach([groff_prog],
dnl Keep this list of programs in sync with grohtml test scripts. dnl Keep this list of programs in sync with grohtml test scripts.
[[pnmcrop], [pamcut], [pnmtopng], [pnmtops], [psselect]], [ [[pnmcrop], [pamcut], [pnmtopng], [pnmtops], [ps2ps]], [
AC_CHECK_PROG(groff_prog, groff_prog, [found], [missing]) AC_CHECK_PROG(groff_prog, groff_prog, [found], [missing])
if test $[]groff_prog = missing if test $[]groff_prog = missing
then then

View File

@ -310,11 +310,12 @@ These include the \%Netpbm tools
.IR \%pamcut , .IR \%pamcut ,
.IR \%pnmcrop , .IR \%pnmcrop ,
and and
.IR \%pnmtopng ; .IR \%pnmtopng ,
\%Ghostscript as well as
.RI ( gs ); \%Ghostscript's
and the \%PSUtils tool .I \%gs
.IR \%psselect . and
.IR \%ps2ps .
. .
. .
.\" ==================================================================== .\" ====================================================================

View File

@ -918,7 +918,7 @@ int imageList::createPage(int pageno)
fprintf(stderr, "creating page %d\n", pageno); fprintf(stderr, "creating page %d\n", pageno);
#endif #endif
s = make_string("psselect -q -p%d %s %s\n", s = make_string("ps2ps -sPageList=%d %s %s\n",
pageno, psFileName, psPageName); pageno, psFileName, psPageName);
html_system(s, 1); html_system(s, 1);
assert(strlen(image_gen) > 0); assert(strlen(image_gen) > 0);

View File

@ -22,7 +22,7 @@ groff="${abs_top_builddir:-.}/test-groff"
# Keep this list of programs in sync with GROFF_CHECK_GROHTML_PROGRAMS # Keep this list of programs in sync with GROFF_CHECK_GROHTML_PROGRAMS
# in m4/groff.m4. # in m4/groff.m4.
for cmd in pnmcrop pamcut pnmtopng pnmtops psselect for cmd in pnmcrop pamcut pnmtopng pnmtops ps2ps
do do
if ! command -v $cmd >/dev/null if ! command -v $cmd >/dev/null
then then

View File

@ -22,7 +22,7 @@ groff="${abs_top_builddir:-.}/test-groff"
# Keep this list of programs in sync with GROFF_CHECK_GROHTML_PROGRAMS # Keep this list of programs in sync with GROFF_CHECK_GROHTML_PROGRAMS
# in m4/groff.m4. # in m4/groff.m4.
for cmd in pnmcrop pamcut pnmtopng pnmtops psselect for cmd in pnmcrop pamcut pnmtopng pnmtops ps2ps
do do
if ! command -v $cmd >/dev/null if ! command -v $cmd >/dev/null
then then