sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Treeve Jelbert (ac63a51bda9d6c6db5eff0b7d9bafa8ed3619cd8)
- From: Treeve Jelbert <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Treeve Jelbert (ac63a51bda9d6c6db5eff0b7d9bafa8ed3619cd8)
- Date: Thu, 16 Jan 2025 17:19:05 +0000
GIT changes to master grimoire by Treeve Jelbert <treeve AT sourcemage.org>:
video/ffmpeg7/HISTORY | 1
video/ffmpeg7/PRE_BUILD | 5
video/ffmpeg7/patches/ffmpeg-7.1-chromium_method-1.patch | 42 ++
video/ffmpeg7/patches/ffmpeg-7.1-texinfo_fix-1.patch | 280
+++++++++++++++
video/x265/DETAILS | 8
video/x265/HISTORY | 4
6 files changed, 336 insertions(+), 4 deletions(-)
New commits:
commit ac63a51bda9d6c6db5eff0b7d9bafa8ed3619cd8
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>
ffmpeg7 - fix build
commit bc6274fb2f39a72749ba1f91ba7a7c70cc463188
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>
x265: => 4.1
diff --git a/video/ffmpeg7/HISTORY b/video/ffmpeg7/HISTORY
index 8397aee..60100c5 100644
--- a/video/ffmpeg7/HISTORY
+++ b/video/ffmpeg7/HISTORY
@@ -1,5 +1,6 @@
2024-09-30 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 7.1
+ * PRE_BUILD patches/*: from blfs
2024-08-03 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 7.0.2
diff --git a/video/ffmpeg7/PRE_BUILD b/video/ffmpeg7/PRE_BUILD
new file mode 100755
index 0000000..4e806dd
--- /dev/null
+++ b/video/ffmpeg7/PRE_BUILD
@@ -0,0 +1,5 @@
+default_pre_build &&
+cd $SOURCE_DIRECTORY &&
+sed -e 's/X265_BUILD >= 210/(&) \&\& (X265_BUILD < 213)/' \
+ -i libavcodec/libx265.c &&
+apply_patch_dir patches
diff --git a/video/ffmpeg7/patches/ffmpeg-7.1-chromium_method-1.patch
b/video/ffmpeg7/patches/ffmpeg-7.1-chromium_method-1.patch
new file mode 100644
index 0000000..9aee44a
--- /dev/null
+++ b/video/ffmpeg7/patches/ffmpeg-7.1-chromium_method-1.patch
@@ -0,0 +1,42 @@
+Submitted By: Marty Jack (martyj19 at comcast dot net)
+Date: 2022-07-23
+Initial Package Version: 5.1.0
+Origin: Rediffed from ffmpeg-5.0.1-api_addition-1.patch
+Upstream Status: Not accepted
+Description: The ffmpeg upstream is not willing to take this as a
+permanent fix and suggests that Chromium should change to keep the
+information locally to Chromium. Until that happens it appears
+that many distros are carrying this patch as a temporary
+expedient to allow building with system ffmpeg.
+
+diff -Naur ffmpeg-5.1.orig/libavformat/avformat.h
ffmpeg-5.1/libavformat/avformat.h
+--- ffmpeg-5.1.orig/libavformat/avformat.h 2022-07-22 13:58:39.000000000
-0400
++++ ffmpeg-5.1/libavformat/avformat.h 2022-07-22 19:34:07.490051886 -0400
+@@ -1128,6 +1128,10 @@
+ */
+ int64_t av_stream_get_end_pts(const AVStream *st);
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st);
++// Chromium: We use the internal field first_dts ^^^
++
+ #define AV_PROGRAM_RUNNING 1
+
+ /**
+diff -Naur ffmpeg-5.1.orig/libavformat/demux_utils.c
ffmpeg-5.1/libavformat/demux_utils.c
+--- ffmpeg-5.1.orig/libavformat/demux_utils.c 2022-07-22 13:58:39.000000000
-0400
++++ ffmpeg-5.1/libavformat/demux_utils.c 2022-07-22 19:36:39.646735587
-0400
+@@ -29,6 +29,13 @@
+ #include "demux.h"
+ #include "internal.h"
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st)
++{
++ return cffstream(st)->first_dts;
++}
++// Chromium: We use the internal field first_dts ^^^
++
+ struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
+ {
+ return cffstream(st)->parser;
diff --git a/video/ffmpeg7/patches/ffmpeg-7.1-texinfo_fix-1.patch
b/video/ffmpeg7/patches/ffmpeg-7.1-texinfo_fix-1.patch
new file mode 100644
index 0000000..21bcfb3
--- /dev/null
+++ b/video/ffmpeg7/patches/ffmpeg-7.1-texinfo_fix-1.patch
@@ -0,0 +1,280 @@
+Submitted By: Douglas R. Reno <renodr at linuxfromscratch dot org>
+Date: 2025-01-02
+Initial Package Version: 7.1
+Origin: Upstream Mailing List
(https://ffmpeg.org/pipermail/ffmpeg-devel/2024-November/335575.html)
+Upstream Status: Submitted
+Description: Fixes building ffmpeg-7.1 with texinfo-7.2. The
issue
+ is due to API changes in the Texinfo::Convert::HTML
+ perl submodule, where the gdt method was removed.
The
+ patch uses the cdt method instead, and portability
+ guards are put into place for users who are using
+ older versions of Texinfo. Thanks goes to Marty Jack
+ for bringing it to our attention in the LFS ticket.
+
+diff -Naurp ffmpeg-7.1.orig/doc/t2h.pm ffmpeg-7.1/doc/t2h.pm
+--- ffmpeg-7.1.orig/doc/t2h.pm 2025-01-02 14:52:50.960834600 -0600
++++ ffmpeg-7.1/doc/t2h.pm 2025-01-02 14:53:01.048047754 -0600
+@@ -54,12 +54,24 @@ sub get_formatting_function($$) {
+ }
+
+ # determine texinfo version
+-my $program_version_num =
version->declare(ff_get_conf('PACKAGE_VERSION'))->numify;
++my $package_version = ff_get_conf('PACKAGE_VERSION');
++$package_version =~ s/\+dev$//;
++my $program_version_num = version->declare($package_version)->numify;
+ my $program_version_6_8 = $program_version_num >= 6.008000;
+
+ # no navigation elements
+ ff_set_from_init_file('HEADERS', 0);
+
++my %sectioning_commands = %Texinfo::Common::sectioning_commands;
++if (scalar(keys(%sectioning_commands)) == 0) {
++ %sectioning_commands = %Texinfo::Commands::sectioning_heading_commands;
++}
++
++my %root_commands = %Texinfo::Common::root_commands;
++if (scalar(keys(%root_commands)) == 0) {
++ %root_commands = %Texinfo::Commands::root_commands;
++}
++
+ sub ffmpeg_heading_command($$$$$)
+ {
+ my $self = shift;
+@@ -77,6 +89,9 @@ sub ffmpeg_heading_command($$$$$)
+ return $result;
+ }
+
++ # no need to set it as the $element_id is output unconditionally
++ my $heading_id;
++
+ my $element_id = $self->command_id($command);
+ $result .= "<a name=\"$element_id\"></a>\n"
+ if (defined($element_id) and $element_id ne '');
+@@ -84,24 +99,40 @@ sub ffmpeg_heading_command($$$$$)
+ print STDERR "Process $command "
+ .Texinfo::Structuring::_print_root_command_texi($command)."\n"
+ if ($self->get_conf('DEBUG'));
+- my $element;
+- if ($Texinfo::Common::root_commands{$command->{'cmdname'}}
+- and $command->{'parent'}
+- and $command->{'parent'}->{'type'}
+- and $command->{'parent'}->{'type'} eq 'element') {
+- $element = $command->{'parent'};
++ my $output_unit;
++ if ($root_commands{$command->{'cmdname'}}) {
++ if ($command->{'associated_unit'}) {
++ $output_unit = $command->{'associated_unit'};
++ } elsif ($command->{'structure'}
++ and $command->{'structure'}->{'associated_unit'}) {
++ $output_unit = $command->{'structure'}->{'associated_unit'};
++ } elsif ($command->{'parent'}
++ and $command->{'parent'}->{'type'}
++ and $command->{'parent'}->{'type'} eq 'element') {
++ $output_unit = $command->{'parent'};
++ }
+ }
+- if ($element) {
++
++ if ($output_unit) {
+ $result .= &{get_formatting_function($self,
'format_element_header')}($self, $cmdname,
+- $command, $element);
++ $command,
$output_unit);
+ }
+
+ 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
++ if (!$output_unit or
++ (((!$output_unit->{'extra'}->{'section'}
++ and $output_unit->{'extra'}->{'node'}
++ and $output_unit->{'extra'}->{'node'} eq $command)
++ or
++ ((($output_unit->{'extra'}->{'unit_command'}
++ and $output_unit->{'extra'}->{'unit_command'} eq $command)
++ or
++ ($output_unit->{'unit_command'}
++ and $output_unit->{'unit_command'} eq $command))
++ and $command->{'extra'}
++ and not $command->{'extra'}->{'associated_section'}))
+ # bogus node may not have been normalized
+ and defined($command->{'extra'}->{'normalized'}))) {
+ if ($command->{'extra'}->{'normalized'} eq 'Top') {
+@@ -111,7 +142,15 @@ sub ffmpeg_heading_command($$$$$)
+ }
+ }
+ } else {
+- $heading_level = $command->{'level'};
++ if (defined($command->{'extra'})
++ and defined($command->{'extra'}->{'section_level'})) {
++ $heading_level = $command->{'extra'}->{'section_level'};
++ } elsif ($command->{'structure'}
++ and defined($command->{'structure'}->{'section_level'})) {
++ $heading_level = $command->{'structure'}->{'section_level'};
++ } else {
++ $heading_level = $command->{'level'};
++ }
+ }
+
+ my $heading = $self->command_text($command);
+@@ -119,8 +158,8 @@ sub ffmpeg_heading_command($$$$$)
+ # 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}) {
++ if ($root_commands{$cmdname}
++ and $sectioning_commands{$cmdname}) {
+ my $content_href = $self->command_contents_href($command,
'contents',
+
$self->{'current_filename'});
+ if ($content_href) {
+@@ -140,7 +179,13 @@ sub ffmpeg_heading_command($$$$$)
+ }
+ }
+
+- if ($self->in_preformatted()) {
++ my $in_preformatted;
++ if ($program_version_num >= 7.001090) {
++ $in_preformatted = $self->in_preformatted_context();
++ } else {
++ $in_preformatted = $self->in_preformatted();
++ }
++ if ($in_preformatted) {
+ $result .= $heading."\n";
+ } else {
+ # if the level was changed, set the command name right
+@@ -149,21 +194,25 @@ sub ffmpeg_heading_command($$$$$)
+ $cmdname
+ =
$Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
+ }
+- # format_heading_text expects an array of headings for texinfo
>= 7.0
+ if ($program_version_num >= 7.000000) {
+- $heading = [$heading];
+- }
+- $result .=
&{get_formatting_function($self,'format_heading_text')}(
++ $result .=
&{get_formatting_function($self,'format_heading_text')}($self,
++ $cmdname, [$cmdname], $heading,
++ $heading_level
+$self->get_conf('CHAPTER_HEADER_LEVEL') -1,
++ $heading_id, $command);
++
++ } else {
++ $result .=
&{get_formatting_function($self,'format_heading_text')}(
+ $self, $cmdname, $heading,
+ $heading_level +
+ $self->get_conf('CHAPTER_HEADER_LEVEL') - 1,
$command);
++ }
+ }
+ }
+ $result .= $content if (defined($content));
+ return $result;
+ }
+
+-foreach my $command (keys(%Texinfo::Common::sectioning_commands), 'node') {
++foreach my $command (keys(%sectioning_commands), 'node') {
+ texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
+ }
+
+@@ -188,28 +237,56 @@ sub ffmpeg_begin_file($$$)
+ my $filename = shift;
+ my $element = shift;
+
+- my $command;
+- if ($element and $self->get_conf('SPLIT')) {
+- $command = $self->element_command($element);
++ my ($element_command, $node_command, $command_for_title);
++ if ($element) {
++ if ($element->{'unit_command'}) {
++ $element_command = $element->{'unit_command'};
++ } elsif ($self->can('tree_unit_element_command')) {
++ $element_command = $self->tree_unit_element_command($element);
++ } elsif ($self->can('tree_unit_element_command')) {
++ $element_command = $self->element_command($element);
++ }
++
++ $node_command = $element_command;
++ if ($element_command and $element_command->{'cmdname'}
++ and $element_command->{'cmdname'} ne 'node'
++ and $element_command->{'extra'}
++ and $element_command->{'extra'}->{'associated_node'}) {
++ $node_command = $element_command->{'extra'}->{'associated_node'};
++ }
++
++ $command_for_title = $element_command if ($self->get_conf('SPLIT'));
+ }
+
+- my ($title, $description, $encoding, $date, $css_lines,
+- $doctype, $bodytext, $copying_comment, $after_body_open,
+- $extra_head, $program_and_version, $program_homepage,
++ my ($title, $description, $keywords, $encoding, $date, $css_lines,
$doctype,
++ $root_html_element_attributes, $body_attributes, $copying_comment,
++ $after_body_open, $extra_head, $program_and_version,
$program_homepage,
+ $program, $generator);
+- if ($program_version_num >= 7.000000) {
+- ($title, $description, $encoding, $date, $css_lines,
+- $doctype, $bodytext, $copying_comment, $after_body_open,
++ if ($program_version_num >= 7.001090) {
++ ($title, $description, $keywords, $encoding, $date, $css_lines,
$doctype,
++ $root_html_element_attributes, $body_attributes, $copying_comment,
++ $after_body_open, $extra_head, $program_and_version,
$program_homepage,
++ $program, $generator) =
$self->_file_header_information($command_for_title,
++
$filename);
++ } elsif ($program_version_num >= 7.000000) {
++ ($title, $description, $encoding, $date, $css_lines, $doctype,
++ $root_html_element_attributes, $copying_comment, $after_body_open,
+ $extra_head, $program_and_version, $program_homepage,
+- $program, $generator) = $self->_file_header_information($command);
++ $program, $generator) =
$self->_file_header_information($command_for_title,
++ $filename);
+ } else {
+ ($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);
++ $doctype, $root_html_element_attributes, $copying_comment,
++ $after_body_open, $extra_head, $program_and_version,
$program_homepage,
++ $program, $generator) =
$self->_file_header_informations($command_for_title);
+ }
+
+- my $links = $self->_get_links ($filename, $element);
++ my $links;
++ if ($program_version_num >= 7.000000) {
++ $links = $self->_get_links($filename, $element, $node_command);
++ } else {
++ $links = $self->_get_links ($filename, $element);
++ }
+
+ my $head1 = $ENV{"FFMPEG_HEADER1"} || <<EOT;
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+@@ -252,13 +329,25 @@ sub ffmpeg_program_string($)
+ if (defined($self->get_conf('PROGRAM'))
+ and $self->get_conf('PROGRAM') ne ''
+ and defined($self->get_conf('PACKAGE_URL'))) {
+- return $self->convert_tree(
++ if ($program_version_num >= 7.001090) {
++ return $self->convert_tree(
++ $self->cdt('This document was generated using
@uref{{program_homepage}, @emph{{program}}}.',
++ { 'program_homepage' => {'text' => $self->get_conf('PACKAGE_URL')},
++ 'program' => {'text' => $self->get_conf('PROGRAM') }}));
++ } else {
++ 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' => {'text' => $self->get_conf('PACKAGE_URL')},
++ 'program' => {'text' => $self->get_conf('PROGRAM') }}));
++ }
+ } else {
+- return $self->convert_tree(
+- $self->gdt('This document was generated automatically.'));
++ if ($program_version_num >= 7.001090) {
++ return $self->convert_tree(
++ $self->cdt('This document was generated automatically.'));
++ } else {
++ return $self->convert_tree(
++ $self->gdt('This document was generated automatically.'));
++ }
+ }
+ }
+ if ($program_version_6_8) {
diff --git a/video/x265/DETAILS b/video/x265/DETAILS
index ef43a8e..813a6f4 100755
--- a/video/x265/DETAILS
+++ b/video/x265/DETAILS
@@ -1,11 +1,11 @@
source $GRIMOIRE/CMAKE_FUNCTIONS
SPELL=x265
- VERSION=4.0
-
SOURCE_HASH=sha512:2584a06b2120b53776467cc040322d960d6ebfcb34f66d4c244c48fa3aa809c9cc8e4174237714dbb01e298aec20a8d18e9cdd4d64a80e6e494f1fbf5f86fdae
+ VERSION=4.1
+
SOURCE_HASH=sha512:5af5b958ff507f96a52813a6b72847c9fbc555bf95af287ae7f011055338266fb647dfea3b7789730c7f5c746f7e6cb7d9395ba10cbe43eb5034d3ed99730c3f
SOURCE="${SPELL}_${VERSION}.tar.gz"
- SOURCE_URL[0]=http://ftp.videolan.org/pub/videolan/x265/$SOURCE
+ SOURCE_URL[0]=https://download.videolan.org/pub/videolan/x265/$SOURCE
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}_${VERSION}"
- WEB_SITE="https://bitbucket.org/multicoreware/x265/wiki/Home"
+ WEB_SITE="https://www.videolan.org/developers/x265.html"
LICENSE[0]=GPL
ENTERED=20160229
SHORT="x265 HEVC Encoder"
diff --git a/video/x265/HISTORY b/video/x265/HISTORY
index eb09971..2f4abea 100644
--- a/video/x265/HISTORY
+++ b/video/x265/HISTORY
@@ -1,3 +1,7 @@
+2025-01-16 Treeve Jelbert <treeve AT sourcemage.org>
+ * DETAILS: version 4.1
+ update website
+
2024-09-24 Treeve Jelbert <treeve AT sourcemage.org>
* INSTALL: fix
- [[SM-Commit] ] GIT changes to master grimoire by Treeve Jelbert (ac63a51bda9d6c6db5eff0b7d9bafa8ed3619cd8), Treeve Jelbert, 01/16/2025
Archive powered by MHonArc 2.6.24.