1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

multimedia/libvpx: update to 1.4.0.488 (snapshot)

Sync system libvpx with bundled libvpx in Firefox 40 in order
to fix vulnerabilities in the former.

While here fix other issues:
- Add powerpc targets removed by upstream
- Add sparc64 support [1]
- Improve gcc42 workaround [2]
- Strip binaries as reported by stage-qa
- Drop unused -no-integrated-as hack for Clang

Changes:	https://chromium.googlesource.com/webm/libvpx/+log/v1.4.0..e67d45d
ACC report:	https://people.freebsd.org/~jbeich/compat_reports/libvpx/1.4.0_to_1.4.0.488/compat_report.html
PR:		202270
PR:		186394 [1] (based on)
PR:		189136 [2]
Exp-run by:	antoine
Approved by:	ashish (maintainer)
MFH:		2015Q3
Security:	http://www.vuxml.org/freebsd/34e60332-2448-4ed6-93f0-12713749f250.html
This commit is contained in:
Jan Beich 2015-08-14 16:35:26 +00:00
parent fa6690aaac
commit ed2a0329d8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=394231
6 changed files with 62 additions and 43 deletions

View File

@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= libvpx
PORTVERSION= 1.4.0
DISTVERSIONPREFIX= v
DISTVERSION= 1.4.0-488 # tracking www/firefox
DISTVERSIONSUFFIX= -ge67d45d
CATEGORIES= multimedia
MASTER_SITES= DEBIAN
DISTNAME= ${PORTNAME}_${DISTVERSION}.orig
MAINTAINER= ashish@FreeBSD.org
COMMENT= VP8/VP9 Codec SDK
@ -15,7 +15,10 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm
USES= cpe gmake perl5 shebangfix tar:bzip2
USE_GITHUB= yes
GH_ACCOUNT= webmproject
USES= compiler cpe gmake perl5 shebangfix tar:bzip2
CPE_VENDOR= john_koleszar
HAS_CONFIGURE= yes
USE_PERL5= build
@ -28,7 +31,6 @@ POSTPROC_DESC= Enable postprocessing
RUNTIME_DESC= Enable runtime CPU detection
SHARED_DESC= Enable shared-library support
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
ALL_TARGET=
CONFIGURE_ARGS+=--prefix=${PREFIX} \
--disable-install-docs \
@ -51,18 +53,6 @@ SHEBANG_FILES= build/make/ads2gas.pl
.include <bsd.port.options.mk>
.if ${OSVERSION} < 900000
.if ${ARCH} == "amd64"
USE_GCC= yes
.endif
.endif
# Workaround for GCC in 9.x post r260075
# OSVERSION taken from r260135, the closest OSVERSION
.if ${OSVERSION} > 902505 && ${OSVERSION} < 1000000
CFLAGS+= -flax-vector-conversions
.endif
.if ${OSVERSION} >= 1000000
CONFIGURE_ARGS+= --disable-unit-tests
.endif
@ -77,6 +67,9 @@ CONFIGURE_ARGS+= --target=ia64-linux-gcc
CONFIGURE_ARGS+= --target=ppc32-linux-gcc
.elif ${ARCH} == "powerpc64"
CONFIGURE_ARGS+= --target=ppc64-linux-gcc
.elif ${ARCH} == "sparc64"
CONFIGURE_ARGS+= --target=sparc64-linux-gcc
USES:= ${USES:Ncompiler*} compiler:c++11-lib
.elif ${ARCH} == "armv6"
CONFIGURE_ARGS+= --target=armv6-linux-gcc --cpu=armv6
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-build_make_Makefile
@ -84,8 +77,22 @@ EXTRA_PATCHES+= ${FILESDIR}/extra-patch-build_make_Makefile
IGNORE= no support for ${ARCH} the moment. testing/patches are welcome
.endif
.include <bsd.port.pre.mk>
# Workaround for GCC in 9.x post r260075
# OSVERSION taken from r260135, the closest OSVERSION
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 902505
. if ${COMPILER_TYPE} == gcc && ${COMPILER_VERSION} == 42
CFLAGS+= -flax-vector-conversions
. endif
.endif
post-patch:
@${REINPLACE_CMD} 's|\(link_with_cc\)=gcc|\1=$${CC}|' \
${WRKSRC}/build/make/configure.sh
.include <bsd.port.mk>
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vpx*
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libvpx.so.*.*.*
.include <bsd.port.post.mk>

View File

@ -1,2 +1,2 @@
SHA256 (libvpx_1.4.0.orig.tar.bz2) = f582d9b2d60a592a4a3d8c32965ca2d2167e9ade38c6c30bac8801ff66a118e4
SIZE (libvpx_1.4.0.orig.tar.bz2) = 1807989
SHA256 (webmproject-libvpx-v1.4.0-488-ge67d45d_GH0.tar.bz2) = 9ee182a81d866d92021e4cb11bc81cf0bee96d5bb53c2122eb4d3cc6b86b712b
SIZE (webmproject-libvpx-v1.4.0-488-ge67d45d_GH0.tar.bz2) = 2324228

View File

@ -1,14 +1,5 @@
--- build/make/Makefile.orig
+++ build/make/Makefile
@@ -158,7 +158,7 @@
$(qexec)$(AS) $(ASFLAGS) -o $@ $<
.PRECIOUS: %.c.S
-%.c.S: CFLAGS += -DINLINE_ASM
+%.c.S: CFLAGS += -DINLINE_ASM $(CLANG_NO_IAS)
$(BUILD_PFX)%.c.S: %.c
$(if $(quiet),@echo " [GEN] $@")
$(qexec)$(CC) -S $(CFLAGS) -o $@ $<
@@ -230,8 +230,8 @@
define install_map_template
$(DIST_DIR)/$(1): $(2)

View File

@ -1,13 +1,5 @@
--- build/make/configure.sh.orig 2015-04-03 18:49:19 UTC
+++ build/make/configure.sh
@@ -379,6 +379,7 @@ write_common_config_banner() {
print_webm_license config.mk "##" ""
echo '# This file automatically generated by configure. Do not edit!' >> config.mk
echo "TOOLCHAIN := ${toolchain}" >> config.mk
+ echo "CLANG_NO_IAS=${CLANG_NO_IAS}" >> config.mk
case ${toolchain} in
*-linux-rvct)
@@ -831,7 +832,6 @@ process_common_toolchain() {
case ${tgt_cc} in

View File

@ -1,14 +1,17 @@
--- configure.orig
+++ configure
@@ -164,6 +164,7 @@ all_platforms="${all_platforms} universa
all_platforms="${all_platforms} universal-darwin12-gcc"
all_platforms="${all_platforms} universal-darwin13-gcc"
all_platforms="${all_platforms} universal-darwin14-gcc"
@@ -148,6 +148,10 @@ all_platforms="${all_platforms} x86_64-w
all_platforms="${all_platforms} x86_64-win64-vs10"
all_platforms="${all_platforms} x86_64-win64-vs11"
all_platforms="${all_platforms} x86_64-win64-vs12"
+all_platforms="${all_platforms} ia64-linux-gcc"
+all_platforms="${all_platforms} ppc32-linux-gcc"
+all_platforms="${all_platforms} ppc64-linux-gcc"
+all_platforms="${all_platforms} sparc64-linux-gcc"
all_platforms="${all_platforms} generic-gnu"
# all_targets is a list of all targets that can be configured
@@ -611,15 +612,15 @@
@@ -611,15 +612,14 @@
check_add_cflags -Wimplicit-function-declaration
check_add_cflags -Wuninitialized
check_add_cflags -Wunused-variable
@ -26,7 +29,6 @@
+ # https://code.google.com/p/webm/issues/detail?id=603
+ # work around them until they are fixed
+ check_add_cflags -fno-strict-aliasing
+ CLANG_NO_IAS=-no-integrated-as
+ else
+ check_add_cflags -Wunused-but-set-variable
+ fi

View File

@ -0,0 +1,27 @@
commit 33b3953c548a20c0aee705657df0440a740c28b7
Author: James Zern <jzern@google.com>
Date: Thu Jun 11 15:12:22 2015 -0700
vp9_filter: restore vp9_bilinear_filters alignment
the declaration containing the alignment in vp9_filter.h was removed in:
eb88b17 Make vp9 subpixel match vp8
fixes a crash in 32-bit builds
Change-Id: I9a97e6b4e8e94698e43ff79d0d8bb85043b73c61
diff --git a/vp9/common/vp9_filter.c b/vp9/common/vp9_filter.c
index afcdf22..b256d4a 100644
--- vp9/common/vp9_filter.c
+++ vp9/common/vp9_filter.c
@@ -12,7 +12,8 @@
#include "vp9/common/vp9_filter.h"
-const InterpKernel vp9_bilinear_filters[SUBPEL_SHIFTS] = {
+DECLARE_ALIGNED(256, const InterpKernel,
+ vp9_bilinear_filters[SUBPEL_SHIFTS]) = {
{ 0, 0, 0, 128, 0, 0, 0, 0 },
{ 0, 0, 0, 120, 8, 0, 0, 0 },
{ 0, 0, 0, 112, 16, 0, 0, 0 },