[Midnightbsd-cvs] mports [23116] trunk/multimedia/libvpx: libvpx 1.7.0

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Mar 8 14:18:32 EST 2018


Revision: 23116
          http://svnweb.midnightbsd.org/mports/?rev=23116
Author:   laffer1
Date:     2018-03-08 14:18:31 -0500 (Thu, 08 Mar 2018)
Log Message:
-----------
libvpx 1.7.0

Modified Paths:
--------------
    trunk/multimedia/libvpx/Makefile
    trunk/multimedia/libvpx/distinfo
    trunk/multimedia/libvpx/files/patch-configure
    trunk/multimedia/libvpx/files/patch-libs.mk
    trunk/multimedia/libvpx/pkg-plist

Modified: trunk/multimedia/libvpx/Makefile
===================================================================
--- trunk/multimedia/libvpx/Makefile	2018-03-08 19:00:55 UTC (rev 23115)
+++ trunk/multimedia/libvpx/Makefile	2018-03-08 19:18:31 UTC (rev 23116)
@@ -2,8 +2,7 @@
 
 PORTNAME=	libvpx
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.5.0
-PORTREVISION=	1
+DISTVERSION=	1.7.0
 CATEGORIES=	multimedia
 
 MAINTAINER=	ports at MidnightBSD.org
@@ -12,29 +11,26 @@
 LICENSE=	bsd3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	yasm:${PORTSDIR}/devel/yasm
+BUILD_DEPENDS=	nasm:devel/nasm
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	webmproject
 
-USES=		compiler cpe gmake perl5 shebangfix tar:bzip2
+USE_GCC=	4.8+
+USES=		cpe gmake perl5 shebangfix
 CPE_VENDOR=	john_koleszar
 HAS_CONFIGURE=	yes
 USE_PERL5=	build
 USE_LDCONFIG=	yes
-
-OPTIONS_DEFINE=	DEBUG MULTIRES POSTPROC RUNTIME SHARED SIZE_LIMIT THREADS
-OPTIONS_DEFAULT=MULTIRES POSTPROC RUNTIME SHARED SIZE_LIMIT THREADS
-OPTIONS_EXCLUDE_aarch64=RUNTIME
-OPTIONS_EXCLUDE_armv6=	RUNTIME
-MULTIRES_DESC=	Enable multi-resolution encoding
-POSTPROC_DESC=	Enable postprocessing
-RUNTIME_DESC=	Enable runtime CPU detection
-SHARED_DESC=	Enable shared-library support
-SIZE_LIMIT_DESC=Maximum size allowed by decoder: ${SIZE_LIMIT}
-
-ALL_TARGET=
-CONFIGURE_ARGS+=--prefix=${PREFIX} \
+SHEBANG_FILES=	build/make/ads2gas.pl
+CONFIGURE_ENV=	ASFLAGS="${ASFLAGS}"
+# Only explicitly list ARCHs with SIMD optimizations
+CONFIGURE_ARGS_aarch64=	--target=arm64-linux-gcc
+CONFIGURE_ARGS_amd64=	--target=x86_64-linux-gcc
+CONFIGURE_ARGS_armv7=	--target=armv7-linux-gcc
+CONFIGURE_ARGS_i386=	--target=x86-linux-gcc
+CONFIGURE_ARGS+=${CONFIGURE_ARGS_${ARCH}} \
+		--prefix=${PREFIX} \
 		--disable-install-docs \
 		--disable-install-srcs \
 		--enable-pic \
@@ -41,66 +37,52 @@
 		--enable-vp8 \
 		--enable-vp9
 MAKE_ARGS+=	verbose=yes
-MAKE_ENV=	LC_ALL=C
+ASFLAGS+=	${ASFLAGS_${ARCH}}
+ASFLAGS_armv7=	-meabi=5
+ALL_TARGET=	# empty
 
-OPTIONS_SUB=		SHARED
+# armv7 is actually armv6 target before FreeBSD 12.0
+.if ${CFLAGS:M-march=armv7*}
+CONFIGURE_ARGS+=	${CONFIGURE_ARGS_armv7}
+ASFLAGS+=		${ASFLAGS_armv7}
+.endif
 
+OPTIONS_DEFINE=	DEBUG MULTIRES POSTPROC RTCPU SHARED SIZE_LIMIT TEST THREADS
+OPTIONS_DEFAULT=MULTIRES POSTPROC RTCPU SHARED SIZE_LIMIT THREADS
+OPTIONS_EXCLUDE_aarch64=RTCPU
+OPTIONS_SUB=		yes
+
 DEBUG_CONFIGURE_ON=	--enable-debug
+
+MULTIRES_DESC=		Enable multi-resolution encoding
 MULTIRES_CONFIGURE_ON=	--enable-multi-res-encoding
+
+POSTPROC_DESC=		Enable postprocessing
 POSTPROC_CONFIGURE_ON=	--enable-postproc --enable-vp9-postproc	\
 			--enable-vp9-temporal-denoising
-RUNTIME_CONFIGURE_ON=	--enable-runtime-cpu-detect
+
+RTCPU_DESC=		Detect CPU capabilities at runtime
+RTCPU_CONFIGURE_ON=	--enable-runtime-cpu-detect
+
+SHARED_DESC=		Enable shared-library support
 SHARED_CONFIGURE_ON=	--enable-shared
+
+SIZE_LIMIT_DESC=	Maximum size allowed by decoder: ${SIZE_LIMIT}
 SIZE_LIMIT_CONFIGURE_ON=--size-limit=${SIZE_LIMIT}
 SIZE_LIMIT?=		16384x16384 # Chromium; Firefox has 4000x3000
-THREADS_CONFIGURE_OFF=	--disable-multithread
 
-SHEBANG_FILES=	build/make/ads2gas.pl
+TEST_CONFIGURE_OFF=	--disable-unit-tests
 
-.include <bsd.mport.options.mk>
+THREADS_CONFIGURE_OFF=	--disable-multithread
 
-.if ${OSVERSION} >= 1000000
-CONFIGURE_ARGS+=	--disable-unit-tests
-.endif
-
-.if ${ARCH} == "amd64"
-CONFIGURE_ARGS+=	--target=x86_64-linux-gcc
-.elif ${ARCH} == "i386"
-CONFIGURE_ARGS+=	--target=x86-linux-gcc
-.elif ${ARCH} == "ia64"
-CONFIGURE_ARGS+=	--target=ia64-linux-gcc
-.elif ${ARCH} == "powerpc"
-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} == "aarch64"
-CONFIGURE_ARGS+=	--target=arm64-linux-gcc
-.elif ${ARCH} == "armv6"
-CONFIGURE_ARGS+=	--target=armv6-linux-gcc --cpu=armv6
-EXTRA_PATCHES+=	${FILESDIR}/extra-patch-build_make_Makefile
-.else
-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
+	@${REINPLACE_CMD} 's|sparc-solaris-gcc|sparc-linux-gcc|' \
+		${WRKSRC}/configure
 
 post-install:
 	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vpx*
 	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libvpx.so.*.*.*
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Modified: trunk/multimedia/libvpx/distinfo
===================================================================
--- trunk/multimedia/libvpx/distinfo	2018-03-08 19:00:55 UTC (rev 23115)
+++ trunk/multimedia/libvpx/distinfo	2018-03-08 19:18:31 UTC (rev 23116)
@@ -1,2 +1,3 @@
-SHA256 (libvpx-v1.5.0_GH0.tar.bz2) = f199b03b67042e8d94a3ae8bc841fb82b6a8430bdf3965aeeaafe8245bcfa699
-SIZE (libvpx-v1.5.0_GH0.tar.bz2) = 2430835
+TIMESTAMP = 1520536552
+SHA256 (libvpx-v1.7.0_GH0.tar.gz) = 1fec931eb5c94279ad219a5b6e0202358e94a93a90cfb1603578c326abfc1238
+SIZE (libvpx-v1.7.0_GH0.tar.gz) = 2679797

Modified: trunk/multimedia/libvpx/files/patch-configure
===================================================================
--- trunk/multimedia/libvpx/files/patch-configure	2018-03-08 19:00:55 UTC (rev 23115)
+++ trunk/multimedia/libvpx/files/patch-configure	2018-03-08 19:18:31 UTC (rev 23116)
@@ -1,38 +1,13 @@
---- configure.orig
+--version is a GNUism which BSD diff doesn't support
+
+--- configure.orig	2018-01-24 22:25:44 UTC
 +++ configure
-@@ -153,6 +153,11 @@ all_platforms="${all_platforms} x86_64-w
- all_platforms="${all_platforms} x86_64-win64-vs11"
- all_platforms="${all_platforms} x86_64-win64-vs12"
- all_platforms="${all_platforms} x86_64-win64-vs14"
-+all_platforms="${all_platforms} arm64-linux-gcc"
-+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"
+@@ -170,7 +170,7 @@ for t in ${all_targets}; do
+     [ -f "${source_path}/${t}.mk" ] && enable_feature ${t}
+ done
  
- # all_targets is a list of all targets that can be configured
-@@ -611,15 +612,14 @@
-         check_add_cflags -Wimplicit-function-declaration
-         check_add_cflags -Wuninitialized
-         check_add_cflags -Wunused-variable
--        case ${CC} in
--          *clang*)
--              # libvpx and/or clang have issues with aliasing:
--              # https://code.google.com/p/webm/issues/detail?id=603
--              # work around them until they are fixed
--              check_add_cflags -fno-strict-aliasing
--          ;;
--          *) check_add_cflags -Wunused-but-set-variable ;;
--        esac
-+        if ${CC} -v 2>&1 | grep "clang version" >/dev/null; then
-+          # libvpx and/or clang have issues with aliasing:
-+          # https://code.google.com/p/webm/issues/detail?id=603
-+          # work around them until they are fixed
-+          check_add_cflags -fno-strict-aliasing
-+        else
-+          check_add_cflags -Wunused-but-set-variable
-+        fi
-         enabled extra_warnings || check_add_cflags -Wno-unused-function
-     fi
+-if ! diff --version >/dev/null; then
++if ! hash diff 2>/dev/null; then
+   die "diff missing: Try installing diffutils via your package manager."
+ fi
  

Modified: trunk/multimedia/libvpx/files/patch-libs.mk
===================================================================
--- trunk/multimedia/libvpx/files/patch-libs.mk	2018-03-08 19:00:55 UTC (rev 23115)
+++ trunk/multimedia/libvpx/files/patch-libs.mk	2018-03-08 19:18:31 UTC (rev 23116)
@@ -1,8 +1,19 @@
---- libs.mk.orig
+--- libs.mk.orig	2017-01-12 20:27:27 UTC
 +++ libs.mk
-@@ -232,8 +232,8 @@
- 	$(qexec)echo 'Libs: -L$${libdir} -lvpx' >> $@
- 	$(qexec)echo 'Libs.private: -lm -pthread' >> $@
+@@ -117,8 +117,8 @@ endif
+ $(BUILD_PFX)third_party/googletest/%.cc.o: CXXFLAGS += -Wno-missing-field-initializers
+ # Suppress -Wextra warnings in first party code pending investigation.
+ # https://bugs.chromium.org/p/webm/issues/detail?id=1069
+-$(BUILD_PFX)vp8/encoder/onyx_if.c.o: CFLAGS += -Wno-unknown-warning-option -Wno-clobbered
+-$(BUILD_PFX)vp8/decoder/onyxd_if.c.o: CFLAGS += -Wno-unknown-warning-option -Wno-clobbered
++$(BUILD_PFX)vp8/encoder/onyx_if.c.o: CFLAGS += -Wno-extra
++$(BUILD_PFX)vp8/decoder/onyxd_if.c.o: CFLAGS += -Wno-extra
+ 
+ ifeq ($(CONFIG_MSVS),yes)
+ CODEC_LIB=$(if $(CONFIG_STATIC_MSVCRT),vpxmt,vpxmd)
+@@ -339,8 +339,8 @@ else
+ 	$(qexec)echo 'Libs.private: -lm' >> $@
+ endif
  	$(qexec)echo 'Cflags: -I$${includedir}' >> $@
 -INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc
 -INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc

Modified: trunk/multimedia/libvpx/pkg-plist
===================================================================
--- trunk/multimedia/libvpx/pkg-plist	2018-03-08 19:00:55 UTC (rev 23115)
+++ trunk/multimedia/libvpx/pkg-plist	2018-03-08 19:18:31 UTC (rev 23116)
@@ -11,7 +11,7 @@
 include/vpx/vpx_integer.h
 lib/libvpx.a
 %%SHARED%%lib/libvpx.so
-%%SHARED%%lib/libvpx.so.3
-%%SHARED%%lib/libvpx.so.3.0
-%%SHARED%%lib/libvpx.so.3.0.0
+%%SHARED%%lib/libvpx.so.5
+%%SHARED%%lib/libvpx.so.5.0
+%%SHARED%%lib/libvpx.so.5.0.0
 libdata/pkgconfig/vpx.pc



More information about the Midnightbsd-cvs mailing list