summaryrefslogtreecommitdiffstats
path: root/debian/patches/libstdc++-man-3cxx.diff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:58:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:58:36 +0000
commit1d3b23e6bdbf53eb74161c37d8c355c2ec858a19 (patch)
treee279a67ec4f447e99b0754e7964666f7b48b5c05 /debian/patches/libstdc++-man-3cxx.diff
parentAdding upstream version 14-20240201. (diff)
downloadgcc-14-1d3b23e6bdbf53eb74161c37d8c355c2ec858a19.tar.xz
gcc-14-1d3b23e6bdbf53eb74161c37d8c355c2ec858a19.zip
Adding debian version 14-20240201-3.debian/14-20240201-3debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches/libstdc++-man-3cxx.diff')
-rw-r--r--debian/patches/libstdc++-man-3cxx.diff63
1 files changed, 63 insertions, 0 deletions
diff --git a/debian/patches/libstdc++-man-3cxx.diff b/debian/patches/libstdc++-man-3cxx.diff
new file mode 100644
index 0000000..f0b9c11
--- /dev/null
+++ b/debian/patches/libstdc++-man-3cxx.diff
@@ -0,0 +1,63 @@
+# DP: Install libstdc++ man pages with suffix .3cxx instead of .3
+
+--- a/src/libstdc++-v3/doc/doxygen/user.cfg.in
++++ b/src/libstdc++-v3/doc/doxygen/user.cfg.in
+@@ -2135,7 +2135,7 @@ MAN_OUTPUT = man
+ # The default value is: .3.
+ # This tag requires that the tag GENERATE_MAN is set to YES.
+
+-MAN_EXTENSION = .3
++MAN_EXTENSION = .3cxx
+
+ # The MAN_SUBDIR tag determines the name of the directory created within
+ # MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+--- a/src/libstdc++-v3/scripts/run_doxygen
++++ b/src/libstdc++-v3/scripts/run_doxygen
+@@ -262,6 +262,9 @@ fi
+ if $do_man; then
+ echo ::
+ echo :: Fixing up the man pages...
++mkdir -p $outdir/man/man3
++mv $outdir/man/man3cxx/* $outdir/man/man3/
++rmdir $outdir/man/man3cxx
+ cd $outdir/man/man3
+
+ # File names with embedded spaces (EVIL!) need to be....? renamed or removed?
+@@ -291,7 +294,7 @@ cxxflags="-Og -g -std=gnu++23"
+ $gxx $cppflags $cxxflags ${srcdir}/doc/doxygen/stdheader.cc -o ./stdheader || exit 1
+ # Doxygen outputs something like "\fC#include <unique_lock\&.h>\fP" and
+ # we want that internal header to be replaced with something like <mutex>.
+-problematic=`grep -E -l '#include <.*h>' [a-z]*.3`
++problematic=`grep -E -l '#include <.*h>' [a-z]*.3 [a-z]*.3cxx`
+ for f in $problematic; do
+ # this is also slow, but safe and easy to debug
+ oldh=`sed -n '/fC#include </s/.*<\(.*\)>.*/\1/p' $f`
+@@ -303,7 +306,7 @@ rm stdheader
+ # Some of the pages for generated modules have text that confuses certain
+ # implementations of man(1), e.g. on GNU/Linux. We need to have another
+ # top-level *roff tag to /stop/ the .SH NAME entry.
+-problematic=`grep -E --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
++problematic=`grep -E --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3cxx`
+ #problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
+
+ for f in $problematic; do
+@@ -317,7 +320,7 @@ a\
+ done
+
+ # Also, break this (generated) line up. It's ugly as sin.
+-problematic=`grep -l '[^^]Definition at line' *.3`
++problematic=`grep -l '[^^]Definition at line' *.3 *.3cxx`
+ for f in $problematic; do
+ sed 's/Definition at line/\
+ .PP\
+@@ -435,8 +438,8 @@ for f in ios streambuf istream ostream i
+ istringstream ostringstream stringstream filebuf ifstream \
+ ofstream fstream string
+ do
+- echo ".so man3/std::basic_${f}.3" > std::${f}.3
+- echo ".so man3/std::basic_${f}.3" > std::w${f}.3
++ echo ".so man3/std::basic_${f}.3cxx" > std::${f}.3cxx
++ echo ".so man3/std::basic_${f}.3cxx" > std::w${f}.3cxx
+ done
+
+ echo ::