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

Texinfo 7 update #1203

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Texinfo 7 update #1203

wants to merge 6 commits into from

Conversation

nieder
Copy link
Member

@nieder nieder commented Dec 30, 2024

Update from our oldish 6.8 to latest 7.2
Mostly minor changes. The current texinfo.patch includes patches that are then applied (they seem to have been inherited from Debian). I took those patches out of texinfo.patch into individual patch files to make tracking easier.

I don't know about the need to keep carrying texinfo-dont_build_info.patch. It was added back in e4e4ffc (2016) in our texinfo-6.3 days. Debian removed that patch with texinfo-6.7 at debian-tex/texinfo@ded8ba0 when the docs became DFSG approved. I've kept the spirit of the patch as is (updated for current code), but I think we are basically applying it then @akhansen modified it to basically reverse it in 7b916c0 .

There's also a fix to allow jpg files in share/info as per #1178

@nieder nieder added the new upstream Package has an updated upstream version label Dec 30, 2024
@nieder nieder linked an issue Dec 30, 2024 that may be closed by this pull request
am__v_texidevnull_1 =
-INFO_DEPS = texinfo.info info-stnd.info texi2any_api.info
+#INFO_DEPS = texinfo.info info-stnd.info texi2any_api.info
+INFO_DEPS =
Copy link
Contributor

@dhomeier dhomeier Dec 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless I am missing something, this is the only actual change – the others below are already commented out.
Not sure what to make of the "...info documentation, it has been removed" comment either; those .info files are built and installed into %p/share/info, and without that patch exactly the same number of files is installed.
It seems $(INFO_DEPS) is only ever referred to in the uninstall-info-am and maintainer-clean-aminfo targets, which are probably irrelevant for the Fink build.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, that patch is a mess because the original Debian patch comments out INFO_DEPS, TEXINFOS, and info_TEXINFOS, but then @akhansen undid all but INFO_DEPS but in a weird way.
Compare https://raw.githubusercontent.com/debian-tex/texinfo/00a08ac10804f2fc712c3372940e1535850d1eed/debian/patches/dont_build_info and https://raw.githubusercontent.com/fink/fink-distributions/560b8a84237ecd880a58a3d3152704ee9cc93a88/10.9-libcxx/stable/main/finkinfo/text/texinfo-dont_build_info.patch side-by-side. I've left the patch logic as if for now since it's what we have had for 8 years, but I think we might be able to get rid of it since like you said, there's no change in the installed content.

@dmacks
Copy link
Member

dmacks commented Dec 31, 2024

Check ffmpeg builds with the new texinfo. Might need to be patched and versioned BDep, since they apparently use non-stable internal APIs. See https://lists.gnu.org/archive/html/bug-texinfo/2024-12/msg00081.html

@nieder
Copy link
Member Author

nieder commented Jan 3, 2025

freshly commited ffmpeg-6.1.2 is patched to work with texinfo-6.8 (as before) and now with 7.2

@nieder
Copy link
Member Author

nieder commented Jan 29, 2025

@dmacks ping (since ffmpeg is fixed to work with 6.8 or 7.2)

@dmacks
Copy link
Member

dmacks commented Feb 1, 2025

On 10.3:

FAIL: test_scripts/encoded_non_ascii_command_line.sh
FAIL: test_scripts/encoded_non_ascii_test_epub.sh
FAIL: test_scripts/encoded_non_ascii_test_rawtext.sh
FAIL: test_scripts/encoded_non_ascii_no_setfilename_test_rawtext.sh
FAIL: test_scripts/encoded_non_ascii_test_info.sh
FAIL: test_scripts/encoded_non_ascii_test_latex.sh

whereas 6.8-700 did not have any fails.

From test-suite.log, they all seem to be the same type of problem, for example:

====================================================

D: encoded/diffs/non_ascii_command_line.diff (printed below)
Only in ./encoded/res_parser/non_ascii_command_line: int%c3%a9rnal.txt
Only in encoded/out_parser/non_ascii_command_line: inte%cc%81rnal.txt
Only in ./encoded/res_parser/non_ascii_command_line: os%c3%a9-texinfo.texi
Only in ./encoded/res_parser/non_ascii_command_line: os%c3%a9_utf8.1
Only in ./encoded/res_parser/non_ascii_command_line: os%c3%a9_utf8.2
Only in ./encoded/res_parser/non_ascii_command_line: os%c3%a9_utf8_abt.html
Only in encoded/out_parser/non_ascii_command_line: ose%cc%81-texinfo.texi
Only in encoded/out_parser/non_ascii_command_line: ose%cc%81_utf8.1
Only in encoded/out_parser/non_ascii_command_line: ose%cc%81_utf8.2
Only in encoded/out_parser/non_ascii_command_line: ose%cc%81_utf8_abt.html
D: encoded/diffs/non_ascii_command_line.diff (printed above)

I have PREFIX/bin/diff from diffutils-3.10.2

Edit: same result with diffutils removed. I had thought it was just "./encoded/" vs "encoded/" pathname style, but now I see it's %a9 vs %81. All six fails seem to be that same substantive difference.

@dmacks
Copy link
Member

dmacks commented Feb 1, 2025

It's detecting perl is multi-arch (because it's not a "perl" package, fink doesn't know to pass a flag to inhibit this system-perl behavior, and the autoconf uses some custom code to detect and handle it anyway). Then it fails to detect some dependencies because they are not themselves multiarch. To solve, add to %c gl_cv_c_multiarch=no add include this patch-file: texinfo-singlearch.patch

Doing so fixes detection of compiler features (bigendian; ptrdiff_t safety) and external libs (fink-supplied libiconv and libunistring). Which reveals that libunistring is a missing dep:)

However, now FTBFS:

/bin/sh ../../libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I../..   -I/sw/include  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-tautological-constant-out-of-range-compare -Wno-sign-conversion -Wno-type-limits -Wno-unused-const-variable  -MT libgnu_la-getdelim.lo -MD -MP -MF .deps/libgnu_la-getdelim.Tpo -c -o libgnu_la-getdelim.lo `test -f 'getdelim.c' || echo './'`getdelim.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I../.. -I/sw/include -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-tautological-constant-out-of-range-compare -Wno-sign-conversion -Wno-type-limits -Wno-unused-const-variable -MT libgnu_la-getdelim.lo -MD -MP -MF .deps/libgnu_la-getdelim.Tpo -c getdelim.c  -fno-common -DPIC -o .libs/libgnu_la-getdelim.o
In file included from getdelim.c:26:
./stdio.h:1528:5: error: invalid token at start of a preprocessor expression
#if @GL_GNULIB_GETCHAR@
    ^
1 error generated.
make[7]: *** [Makefile:2503: libgnu_la-getdelim.lo] Error 1

Edit: ...because I typo'ed in the .patch. Moment...
Here's the correct patchfile: texinfo-singlearch.patch
So a lot of warnings are cleared about wrong or mismatched arch, and there are missing:

BuildDepends: libunistring5
Depends: libunistring5-shlibs

But no change in the self-test results.

@nieder
Copy link
Member Author

nieder commented Feb 1, 2025

On 10.14.6, w/ and w/out the patch and extra %c parameter, I don't see any linkage to libunistring, probably because i see this:

/bin/sh '/sw/build.build/texinfo-7.2-2/texinfo-7.2/tp/Texinfo/XS/build-aux/missing' xsubpp -typemap /System/Library/Perl/5.18/ExtUtils/typemap TestXS.xs > TestXS.xsc && mv TestXS.xsc TestXS.c
/bin/sh ./libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I.  -I. -DDATADIR=\"/sw/share\" -DSYSCONFDIR=\"/sw/etc\" -DVERSION=\"7.2\" -DXS_VERSION=\"7.2\" -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -I/sw/include -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -Os    -MT TestXS_la-TestXS.lo -MD -MP -MF .deps/TestXS_la-TestXS.Tpo -c -o TestXS_la-TestXS.lo `test -f 'TestXS.c' || echo './'`TestXS.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I. -DDATADIR=\"/sw/share\" -DSYSCONFDIR=\"/sw/etc\" -DVERSION=\"7.2\" -DXS_VERSION=\"7.2\" -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -I/sw/include -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -Os -MT TestXS_la-TestXS.lo -MD -MP -MF .deps/TestXS_la-TestXS.Tpo -c TestXS.c  -fno-common -DPIC -o .libs/TestXS_la-TestXS.o
TestXS.xs:2:10: fatal error: 'EXTERN.h' file not found
#include "EXTERN.h"
         ^~~~~~~~~~
1 error generated.
make: *** [TestXS_la-TestXS.lo] Error 1

Btw, this PR is a branch in fink/fink-dists, so you're able to add commits if needed (done this way specifically for things like this)

@dmacks
Copy link
Member

dmacks commented Feb 2, 2025

Oh sure, make me read the branch/tag metadata:)

Isn't that EXTERN.h problem one of the standard messes fink has struggled with, like PkgVersion.pm line 1196ish?

@nieder
Copy link
Member Author

nieder commented Feb 2, 2025

I think so. The -I compiler flag points to the /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE, but EXTERN.h is in $SDK_PATH/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new upstream Package has an updated upstream version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

gawk-5.3.1-1 installs a file in the info dir that isn't an info file
3 participants