From f4d1448dd43416a6f46af26fa4422de1c626cfc7 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Fri, 27 Oct 2023 19:47:36 +0000 Subject: Fri Oct 27 19:47:36 UTC 2023 a/exfatprogs-1.2.2-x86_64-1.txz: Upgraded. kde/digikam-8.1.0-x86_64-2.txz: Rebuilt. Recompiled against exiv2-0.28.0. kde/gwenview-23.08.2-x86_64-2.txz: Rebuilt. Recompiled against exiv2-0.28.0. kde/kfilemetadata-5.111.0-x86_64-2.txz: Rebuilt. Recompiled against exiv2-0.28.0. kde/krename-5.0.2-x86_64-2.txz: Rebuilt. Recompiled against exiv2-0.28.0. kde/krita-5.2.0-x86_64-2.txz: Rebuilt. Recompiled against exiv2-0.28.0. kde/libkexiv2-23.08.2-x86_64-2.txz: Rebuilt. Recompiled against exiv2-0.28.0. l/QtAV-20220226_fdc613dc-x86_64-1.txz: Removed. This is no longer used by digikam, so let's just remove it. l/exiv2-0.28.0-x86_64-1.txz: Upgraded. Shared library .so-version bump. l/libsoup3-3.4.4-x86_64-1.txz: Upgraded. n/c-ares-1.21.0-x86_64-1.txz: Upgraded. n/gpgme-1.23.1-x86_64-1.txz: Upgraded. n/nghttp2-1.58.0-x86_64-1.txz: Upgraded. xap/geeqie-2.1-x86_64-3.txz: Rebuilt. Recompiled against exiv2-0.28.0. --- source/l/ffmpeg/ffmpeg.SlackBuild | 5 +- source/l/ffmpeg/texinfo.patch | 283 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 287 insertions(+), 1 deletion(-) create mode 100644 source/l/ffmpeg/texinfo.patch (limited to 'source/l/ffmpeg') diff --git a/source/l/ffmpeg/ffmpeg.SlackBuild b/source/l/ffmpeg/ffmpeg.SlackBuild index e85d9982f..5eb122cb2 100755 --- a/source/l/ffmpeg/ffmpeg.SlackBuild +++ b/source/l/ffmpeg/ffmpeg.SlackBuild @@ -175,6 +175,9 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 cd $PKGNAM-$VERSION || exit 1 +# Fix texinfo-7.1 regression: +zcat $CWD/texinfo.patch.gz | patch -p1 --verbose || exit 1 + chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -186,7 +189,7 @@ find -L . \ zcat $CWD/add-av_stream_get_first_dts-for-chromium.patch.gz | patch -p1 --verbose || exit 1 # Upstream patch to build with binutils-2.41: -cat $CWD/effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch | patch -p1 --verbose || exit 1 +zcat $CWD/effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch.gz | patch -p1 --verbose || exit 1 # Build against recent Vulkan: zcat $CWD/ffmpeg.vulkan.diff.gz | patch -p1 --verbose || exit 1 diff --git a/source/l/ffmpeg/texinfo.patch b/source/l/ffmpeg/texinfo.patch new file mode 100644 index 000000000..2de58c150 --- /dev/null +++ b/source/l/ffmpeg/texinfo.patch @@ -0,0 +1,283 @@ +--- ffmpeg-6.0/doc/t2h.pm 2022-11-04 22:16:28.000000000 +0200 ++++ t2h.pm.BAK 2023-10-26 00:47:01.128352085 +0300 +@@ -19,9 +19,11 @@ + # You should have received a copy of the GNU General Public + # License along with FFmpeg; if not, write to the Free Software + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++use lib '/usr/share/texinfo/Texinfo/Convert'; ++use Texinfo::Convert::Converter; + + # no navigation elements +-set_from_init_file('HEADERS', 0); ++texinfo_set_from_init_file('HEADERS', 0); + + sub ffmpeg_heading_command($$$$$) + { +@@ -60,66 +62,68 @@ + } + + my $heading_level; +- # node is used as heading if there is nothing else. +- if ($cmdname eq 'node') { +- if (!$element or (!$element->{'extra'}->{'section'} +- and $element->{'extra'}->{'node'} +- and $element->{'extra'}->{'node'} eq $command +- # bogus node may not have been normalized +- and defined($command->{'extra'}->{'normalized'}))) { +- if ($command->{'extra'}->{'normalized'} eq 'Top') { +- $heading_level = 0; +- } else { +- $heading_level = 3; +- } +- } ++ ++if ($cmdname eq 'node') { ++ if (!$element or ( ++ $element->{'extra'}->{'section'} and ++ $element->{'extra'}->{'node'} and ++ $element->{'extra'}->{'node'} eq $command and ++ defined($command->{'extra'}->{'normalized'}) ++ )) { ++ $heading_level = 0; # Set heading level to 0 + } else { +- $heading_level = $command->{'level'}; ++ $heading_level = 3; + } ++} else { ++ $heading_level = $command->{'level'}; ++} + +- my $heading = $self->command_text($command); +- # $heading not defined may happen if the command is a @node, for example +- # if there is an error in the node. +- if (defined($heading) and $heading ne '' and defined($heading_level)) { +- +- if ($Texinfo::Common::root_commands{$cmdname} +- and $Texinfo::Common::sectioning_commands{$cmdname}) { +- my $content_href = $self->command_contents_href($command, 'contents', +- $self->{'current_filename'}); +- if ($content_href) { +- my $this_href = $content_href =~ s/^\#toc-/\#/r; +- $heading .= ''. +- ' '. +- ''. +- ''; +- } ++my $heading = $self->command_text($command); ++ ++if (defined($heading) and $heading ne '' and defined($heading_level)) { ++ if ($Texinfo::Common::root_commands{$cmdname} ++ and $Texinfo::Common::sectioning_commands{$cmdname}) { ++ my $content_href = $self->command_contents_href($command, 'contents', $self->{'current_filename'}); ++ if ($content_href) { ++ my $this_href = $content_href =~ s/^\#toc-/\#/r; ++ $heading .= ''. ++ ' ' . ++ ''. ++ ''; + } ++ } + +- if ($self->in_preformatted()) { +- $result .= $heading."\n"; +- } else { +- # if the level was changed, set the command name right +- if ($cmdname ne 'node' +- and $heading_level ne $Texinfo::Common::command_structuring_level{$cmdname}) { +- $cmdname +- = $Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level]; +- } +- $result .= &{$self->{'format_heading_text'}}( +- $self, $cmdname, $heading, +- $heading_level + +- $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command); ++ if ($self->in_preformatted()) { ++ $result .= $heading."\n"; ++ } else { ++ if ($cmdname ne 'node' ++ and $heading_level ne $Texinfo::Common::command_structuring_level{$cmdname}) { ++ $cmdname ++ = $Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level]; + } ++ if ($cmdname ne 'node') { ++ # Only add class if the command is not "node" ++ $result .= &{$self->formatting_function('format_heading_text')}( ++ $self, $cmdname, $heading, ++ $heading_level + ++ $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command); ++} else { ++ # Handle "Top" differently, without adding class ++ $result .= $heading . "\n"; ++} + } +- $result .= $content if (defined($content)); +- return $result; ++} ++$result .= $content if (defined($content)); ++ ++return $result; + } + + foreach my $command (keys(%Texinfo::Common::sectioning_commands), 'node') { +@@ -127,22 +131,22 @@ + } + + # determine if texinfo is at least version 6.8 +-my $program_version_num = version->declare(get_conf('PACKAGE_VERSION'))->numify; ++my $program_version_num = version->declare(texinfo_get_conf('PACKAGE_VERSION'))->numify; + my $program_version_6_8 = $program_version_num >= 6.008000; + + # print the TOC where @contents is used + if ($program_version_6_8) { +- set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline'); ++ texinfo_set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline'); + } else { +- set_from_init_file('INLINE_CONTENTS', 1); ++ texinfo_set_from_init_file('INLINE_CONTENTS', 1); + } + + # make chapters

+-set_from_init_file('CHAPTER_HEADER_LEVEL', 2); ++texinfo_set_from_init_file('CHAPTER_HEADER_LEVEL', 2); + + # Do not add
+-set_from_init_file('DEFAULT_RULE', ''); +-set_from_init_file('BIG_RULE', ''); ++texinfo_set_from_init_file('DEFAULT_RULE', ''); ++texinfo_set_from_init_file('BIG_RULE', ''); + + # Customized file beginning + sub ffmpeg_begin_file($$$) +@@ -156,10 +160,10 @@ + $command = $self->element_command($element); + } + +- my ($title, $description, $encoding, $date, $css_lines, ++my ($title, $description, $encoding, $date, $css_lines, + $doctype, $bodytext, $copying_comment, $after_body_open, + $extra_head, $program_and_version, $program_homepage, +- $program, $generator) = $self->_file_header_informations($command); ++ $program, $generator) = $self->_file_header_information($command); + + my $links = $self->_get_links ($filename, $element); + +@@ -201,13 +205,13 @@ + sub ffmpeg_program_string($) + { + my $self = shift; +- if (defined($self->get_conf('PROGRAM')) +- and $self->get_conf('PROGRAM') ne '' +- and defined($self->get_conf('PACKAGE_URL'))) { ++ if (defined($self->texinfo_get_conf('PROGRAM')) ++ and $self->texinfo_get_conf('PROGRAM') ne '' ++ and defined($self->texinfo_get_conf('PACKAGE_URL'))) { + return $self->convert_tree( + $self->gdt('This document was generated using @uref{{program_homepage}, @emph{{program}}}.', +- { 'program_homepage' => $self->get_conf('PACKAGE_URL'), +- 'program' => $self->get_conf('PROGRAM') })); ++ { 'program_homepage' => $self->texinfo_get_conf('PACKAGE_URL'), ++ 'program' => $self->texinfo_get_conf('PROGRAM') })); + } else { + return $self->convert_tree( + $self->gdt('This document was generated automatically.')); +@@ -223,7 +227,7 @@ + sub ffmpeg_end_file($) + { + my $self = shift; +- my $program_string = &{$self->{'format_program_string'}}($self); ++ my $program_string = "This document was generated using TexinfoConverter."; + my $program_text = < + $program_string +@@ -244,7 +248,7 @@ + + # Dummy title command + # Ignore title. Title is handled through ffmpeg_begin_file(). +-set_from_init_file('USE_TITLEPAGE_FOR_TITLE', 1); ++texinfo_set_from_init_file('USE_TITLEPAGE_FOR_TITLE', 1); + sub ffmpeg_title($$$$) + { + return ''; +@@ -253,6 +257,8 @@ + texinfo_register_command_formatting('titlefont', + \&ffmpeg_title); + ++use lib '/usr/share/texinfo/Texinfo/Convert'; ++ + # Customized float command. Part of code borrowed from GNU Texinfo. + sub ffmpeg_float($$$$$) + { +@@ -262,8 +268,9 @@ + my $args = shift; + my $content = shift; + +- my ($caption, $prepended) = Texinfo::Common::float_name_caption($self, ++my ($caption, $prepended) = Texinfo::Convert::Converter::float_name_caption($self, + $command); ++ + my $caption_text = ''; + my $prepended_text; + my $prepended_save = ''; +@@ -335,24 +342,31 @@ + $caption->{'args'}->[0], 'float caption'); + } + if ($prepended_text.$caption_text ne '') { +- $prepended_text = $self->_attribute_class('div','float-caption'). '>' +- . $prepended_text; ++ $prepended_text = '
' . $prepended_text; + $caption_text .= '
'; ++ + } +- my $html_class = ''; +- if ($prepended_save =~ /NOTE/) { +- $html_class = 'info'; +- $prepended_text = ''; +- $caption_text = ''; +- } elsif ($prepended_save =~ /IMPORTANT/) { +- $html_class = 'warning'; +- $prepended_text = ''; +- $caption_text = ''; +- } +- return $self->_attribute_class('div', $html_class). '>' . "\n" . +- $prepended_text . $caption_text . $content . ''; +-} ++ my $html_class = []; + ++if ($prepended_save =~ /NOTE/) { ++ $html_class = ['info']; ++ $prepended_text = ''; ++ $caption_text = ''; ++} elsif ($prepended_save =~ /IMPORTANT/) { ++ $html_class = ['warning']; ++ $prepended_text = ''; ++ $caption_text = ''; ++} elsif ($prepended_save =~ /Top/) { ++ $html_class = [grep { $_ ne 'Top' } @$html_class]; # Remove "Top" class ++ $prepended_text = ''; ++ $caption_text = ''; ++} ++ ++# Set the class attribute directly in the HTML ++return $self->html_attribute_class('div', $html_class) . '>' . "\n" . ++ $prepended_text . $caption_text . $content . ''; ++ ++} + texinfo_register_command_formatting('float', + \&ffmpeg_float); + -- cgit v1.2.3-65-gdbad