Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Aug 2020 00:38:43 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r546859 - in head: graphics/libavif multimedia multimedia/libgav1 multimedia/libgav1/files
Message-ID:  <202008290038.07T0ch5u064405@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sat Aug 29 00:38:42 2020
New Revision: 546859
URL: https://svnweb.freebsd.org/changeset/ports/546859

Log:
  multimedia/libgav1: add new port
  
  libgav1 is a Main profile (0) & High profile (1) compliant AV1 decoder.
  
  https://chromium.googlesource.com/codecs/libgav1

Added:
  head/multimedia/libgav1/
  head/multimedia/libgav1/Makefile   (contents, props changed)
  head/multimedia/libgav1/distinfo   (contents, props changed)
  head/multimedia/libgav1/files/
  head/multimedia/libgav1/files/patch-CMakeLists.txt   (contents, props changed)
  head/multimedia/libgav1/files/patch-cmake_libgav1__cpu__detection.cmake   (contents, props changed)
  head/multimedia/libgav1/pkg-descr   (contents, props changed)
  head/multimedia/libgav1/pkg-plist   (contents, props changed)
Modified:
  head/graphics/libavif/Makefile   (contents, props changed)
  head/multimedia/Makefile   (contents, props changed)

Modified: head/graphics/libavif/Makefile
==============================================================================
--- head/graphics/libavif/Makefile	Sat Aug 29 00:38:34 2020	(r546858)
+++ head/graphics/libavif/Makefile	Sat Aug 29 00:38:42 2020	(r546859)
@@ -23,7 +23,7 @@ USE_LDCONFIG=	yes
 GH_ACCOUNT=	AOMediaCodec
 CMAKE_ON=	AVIF_BUILD_APPS
 
-OPTIONS_DEFINE=	AOM DAV1D PIXBUF RAV1E
+OPTIONS_DEFINE=	AOM DAV1D GAV1 PIXBUF RAV1E
 OPTIONS_DEFAULT=AOM DAV1D PIXBUF
 OPTIONS_SUB=	yes
 
@@ -34,6 +34,10 @@ AOM_CMAKE_BOOL=		AVIF_CODEC_AOM
 DAV1D_DESC=		AV1 decoding via libdav1d
 DAV1D_LIB_DEPENDS=	libdav1d.so:multimedia/dav1d
 DAV1D_CMAKE_BOOL=	AVIF_CODEC_DAV1D
+
+GAV1_DESC=		AV1 decoding via libgav1
+GAV1_LIB_DEPENDS=	libgav1.so:multimedia/libgav1
+GAV1_CMAKE_BOOL=	AVIF_CODEC_LIBGAV1
 
 PIXBUF_USES=		gnome
 PIXBUF_USE=		GNOME=gdkpixbuf2

Modified: head/multimedia/Makefile
==============================================================================
--- head/multimedia/Makefile	Sat Aug 29 00:38:34 2020	(r546858)
+++ head/multimedia/Makefile	Sat Aug 29 00:38:42 2020	(r546859)
@@ -196,6 +196,7 @@
     SUBDIR += libdvdnav
     SUBDIR += libdvdread
     SUBDIR += libfame
+    SUBDIR += libgav1
     SUBDIR += libhdhomerun
     SUBDIR += libkate
     SUBDIR += libmatroska

Added: head/multimedia/libgav1/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libgav1/Makefile	Sat Aug 29 00:38:42 2020	(r546859)
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+PORTNAME=	libgav1
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.16.0
+CATEGORIES=	multimedia
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Main profile (0) & High profile (1) compliant AV1 decoder
+
+LICENSE=	APACHE20
+
+LIB_DEPENDS=	libabsl_synchronization.so:devel/abseil
+
+USES=		cmake compiler:c++11-lib localbase:ldflags
+USE_GITHUB=	yes
+USE_LDCONFIG=	yes
+GH_ACCOUNT=	jbeich # mirror
+CMAKE_ON=	BUILD_SHARED_LIBS
+LDFLAGS+=	-Wl,--as-needed # avoid overlinking (abseil deps)
+
+.include <bsd.port.mk>

Added: head/multimedia/libgav1/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libgav1/distinfo	Sat Aug 29 00:38:42 2020	(r546859)
@@ -0,0 +1,5 @@
+TIMESTAMP = 1594780074
+SHA256 (jbeich-libgav1-v0.16.0_GH0.tar.gz) = d9563c70f42466ba4a01a230a8dbbddf8f3a470a695c28a51c23dc246f04e51e
+SIZE (jbeich-libgav1-v0.16.0_GH0.tar.gz) = 713762
+SHA256 (abseil-abseil-cpp-4d2ff38_GH0.tar.gz) = 7cc94eb45aed91e996fa3eb75fc1810905ee9bbe0aa71cc1751c80d06d4b28c9
+SIZE (abseil-abseil-cpp-4d2ff38_GH0.tar.gz) = 1761325

Added: head/multimedia/libgav1/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libgav1/files/patch-CMakeLists.txt	Sat Aug 29 00:38:42 2020	(r546859)
@@ -0,0 +1,16 @@
+- Avoid leaking abseil dependency to shared library consumers
+
+--- CMakeLists.txt.orig	2020-07-15 02:27:54 UTC
++++ CMakeLists.txt
+@@ -107,8 +107,11 @@ if(NOT "${LIBGAV1_EXE_LINKER_FLAGS}" STREQUAL "")
+   separate_arguments(LIBGAV1_EXE_LINKER_FLAGS)
+ endif()
+ 
++find_package(absl)
++if (NOT TARGET absl::base)
+ add_subdirectory("${libgav1_root}/third_party/abseil-cpp"
+                  "${libgav1_abseil_build}" EXCLUDE_FROM_ALL)
++endif()
+ 
+ libgav1_reset_target_lists()
+ libgav1_add_dsp_targets()

Added: head/multimedia/libgav1/files/patch-cmake_libgav1__cpu__detection.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libgav1/files/patch-cmake_libgav1__cpu__detection.cmake	Sat Aug 29 00:38:42 2020	(r546859)
@@ -0,0 +1,13 @@
+- Don't enable NEON on armv6 as it requires runtime detection
+
+--- cmake/libgav1_cpu_detection.cmake.orig	2020-07-15 02:27:54 UTC
++++ cmake/libgav1_cpu_detection.cmake
+@@ -21,7 +21,7 @@ set(LIBGAV1_CMAKE_LIBGAV1_CPU_DETECTION_CMAKE_ 1)
+ macro(libgav1_optimization_detect)
+   if(LIBGAV1_ENABLE_OPTIMIZATIONS)
+     string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" cpu_lowercase)
+-    if(cpu_lowercase MATCHES "^arm|^aarch64")
++    if(cpu_lowercase MATCHES "^arm|^aarch64" AND NOT cpu_lowercase MATCHES "^armv6")
+       set(libgav1_have_neon ON)
+     elseif(cpu_lowercase MATCHES "^x86|amd64")
+       set(libgav1_have_sse4 ON)

Added: head/multimedia/libgav1/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libgav1/pkg-descr	Sat Aug 29 00:38:42 2020	(r546859)
@@ -0,0 +1,3 @@
+libgav1 is a Main profile (0) & High profile (1) compliant AV1 decoder.
+
+WWW: https://chromium.googlesource.com/codecs/libgav1

Added: head/multimedia/libgav1/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libgav1/pkg-plist	Sat Aug 29 00:38:42 2020	(r546859)
@@ -0,0 +1,13 @@
+bin/gav1_decode
+include/gav1/decoder.h
+include/gav1/decoder_buffer.h
+include/gav1/decoder_settings.h
+include/gav1/frame_buffer.h
+include/gav1/status_code.h
+include/gav1/symbol_visibility.h
+include/gav1/version.h
+lib/libgav1.a
+lib/libgav1.so
+lib/libgav1.so.0
+libdata/pkgconfig/libgav1.pc
+share/cmake/libgav1-config.cmake



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008290038.07T0ch5u064405>