summaryrefslogtreecommitdiffstats
path: root/source/l/ffmpeg
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2023-10-27 19:47:36 +0000
committer Eric Hameleers <alien@slackware.com>2023-10-27 22:34:33 +0200
commitf4d1448dd43416a6f46af26fa4422de1c626cfc7 (patch)
tree0edc43da9a23002aba6d0c71aea8144c4922a271 /source/l/ffmpeg
parent05ec45c9c979a958e022fe691e6cf03a338e9263 (diff)
downloadcurrent-f4d1448dd43416a6f46af26fa4422de1c626cfc7.tar.gz
current-f4d1448dd43416a6f46af26fa4422de1c626cfc7.tar.xz
Fri Oct 27 19:47:36 UTC 202320231027194736
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.
Diffstat (limited to 'source/l/ffmpeg')
-rwxr-xr-xsource/l/ffmpeg/ffmpeg.SlackBuild5
-rw-r--r--source/l/ffmpeg/texinfo.patch283
2 files changed, 287 insertions, 1 deletions
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 .= '<span class="pull-right">'.
+- '<a class="anchor hidden-xs" '.
+- "href=\"$this_href\" aria-hidden=\"true\">".
+- ($ENV{"FA_ICONS"} ? '<i class="fa fa-link"></i>'
+- : '#').
+- '</a> '.
+- '<a class="anchor hidden-xs"'.
+- "href=\"$content_href\" aria-hidden=\"true\">".
+- ($ENV{"FA_ICONS"} ? '<i class="fa fa-navicon"></i>'
+- : 'TOC').
+- '</a>'.
+- '</span>';
+- }
++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 .= '<span class="pull-right">'.
++ '<a class="anchor hidden-xs" '.
++ "href=\"$this_href\" aria-hidden=\"true\">".
++ ($ENV{"FA_ICONS"} ? '<i class="fa fa-link"></i>'
++ : '#').
++ '</a> ' .
++ '<a class="anchor hidden-xs"'.
++ "href=\"$content_href\" aria-hidden=\"true\">".
++ ($ENV{"FA_ICONS"} ? '<i class="fa fa-navicon"></i>'
++ : 'TOC').
++ '</a>'.
++ '</span>';
+ }
++ }
+
+- 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 <h2>
+-set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
++texinfo_set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
+
+ # Do not add <hr>
+-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 = <<EOT;
+ <p style="font-size: small;">
+ $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 = '<div class="float-caption">' . $prepended_text;
+ $caption_text .= '</div>';
++
+ }
+- 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 . '</div>';
+-}
++ 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 . '</div>';
++
++}
+ texinfo_register_command_formatting('float',
+ \&ffmpeg_float);
+