aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Engberg <diizzy@FreeBSD.org>2023-08-05 18:57:25 +0000
committerDaniel Engberg <diizzy@FreeBSD.org>2023-08-05 19:14:22 +0000
commitcb0f0ba546007a450de73338c815bfc8bb88ed9c (patch)
tree47e047f0058a2c7a987143d34c9bea5a886c1079
parent69e0cbe8eaa6fb6fcb075774c4d8ef7b2a205bba (diff)
downloadports-cb0f0ba546007a450de73338c815bfc8bb88ed9c.tar.gz
ports-cb0f0ba546007a450de73338c815bfc8bb88ed9c.zip
multimedia/obuparse: Add Port: Portable single file AV1 OBU parser
Simple and portable single file AV1 OBU parser Features: * No allocations; only works on user-provided buffers and the stack. * OBU header parsing. * Sequence Header OBU parsing. * Metadata OBU parsing. * Tile List OBU parsing. * Tile Group OBU parsing. * Frame Header OBU parsing. * Frame OBU parsing.
-rw-r--r--multimedia/Makefile1
-rw-r--r--multimedia/obuparse/Makefile30
-rw-r--r--multimedia/obuparse/distinfo3
-rw-r--r--multimedia/obuparse/files/patch-Makefile33
-rw-r--r--multimedia/obuparse/pkg-descr12
5 files changed, 79 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 4e137680a39f..27e9c05c0cf9 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -260,6 +260,7 @@
SUBDIR += obs-studio
SUBDIR += obs-text-pthread
SUBDIR += obs-waveform
+ SUBDIR += obuparse
SUBDIR += oggvideotools
SUBDIR += ogmrip
SUBDIR += ogmtools
diff --git a/multimedia/obuparse/Makefile b/multimedia/obuparse/Makefile
new file mode 100644
index 000000000000..4af8eb8657a4
--- /dev/null
+++ b/multimedia/obuparse/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= obuparse
+DISTVERSION= g20230712
+CATEGORIES= multimedia
+
+MAINTAINER= diizzy@FreeBSD.org
+COMMENT= Simple and portable single file AV1 OBU parser
+WWW= https://github.com/dwbuiten/obuparse
+
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= gmake
+USE_GITHUB= yes
+GH_ACCOUNT= dwbuiten
+GH_TAGNAME= f40598f
+
+USE_LDCONFIG= yes
+
+MAKE_ARGS= PREFIX="${STAGEDIR}${PREFIX}"
+
+INSTALL_TARGET= install-shared
+
+PLIST_FILES= include/obuparse.h \
+ lib/libobuparse.so \
+ lib/libobuparse.so.1
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libobuparse.so.1
+
+.include <bsd.port.mk>
diff --git a/multimedia/obuparse/distinfo b/multimedia/obuparse/distinfo
new file mode 100644
index 000000000000..86aa254d0350
--- /dev/null
+++ b/multimedia/obuparse/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1690742528
+SHA256 (dwbuiten-obuparse-g20230712-f40598f_GH0.tar.gz) = 3908f4f8a2b85acf602f18ed0b91c860c787046a26441c2d92dec79da68e5a68
+SIZE (dwbuiten-obuparse-g20230712-f40598f_GH0.tar.gz) = 29233
diff --git a/multimedia/obuparse/files/patch-Makefile b/multimedia/obuparse/files/patch-Makefile
new file mode 100644
index 000000000000..b371f44188b8
--- /dev/null
+++ b/multimedia/obuparse/files/patch-Makefile
@@ -0,0 +1,33 @@
+--- Makefile.orig 2023-07-12 18:02:40 UTC
++++ Makefile
+@@ -1,9 +1,9 @@
+ PREFIX=/usr/local
+
+-CFLAGS := -O3 -std=c99 -Wall -Wextra -g -fPIC -I. $(CPPFLAGS)
++CFLAGS += -std=c99 -Wall -Wextra -fPIC -I. $(CPPFLAGS)
+ LDFLAGS +=
+-CC := $(CROSS)gcc
+-AR := $(CROSS)ar
++CC := $(CC)
++AR := $(AR)
+
+ ifneq (,$(findstring mingw,$(CC)))
+ LIBSUF=.dll
+@@ -11,7 +11,7 @@ ifneq (,$(findstring mingw,$(CC)))
+ SYSTEM=MINGW
+ else
+ LIBSUF=.so
+- LDFLAGS=-Wl,--version-script,obuparse.v
++ LDFLAGS+= -Wl,--version-script,obuparse.v
+ endif
+
+ all: libobuparse$(LIBSUF) libobuparse.a
+@@ -24,7 +24,7 @@ libobuparse.a: obuparse.o
+ $(AR) rcs $@ $^
+
+ libobuparse$(LIBSUF): obuparse.o
+- $(CC) $(LDFLAGS) -shared $^ -o $@
++ $(CC) $(LDFLAGS) -shared $^ -o $@ -Wl,-soname,libobuparse$(LIBSUF).1
+
+ install: install-shared install-static
+
diff --git a/multimedia/obuparse/pkg-descr b/multimedia/obuparse/pkg-descr
new file mode 100644
index 000000000000..3ac4991733ee
--- /dev/null
+++ b/multimedia/obuparse/pkg-descr
@@ -0,0 +1,12 @@
+Simple and portable single file AV1 OBU parser written in mostly C89 with a
+tiny bit of C99.
+
+* No allocations; only works on user-provided buffers and the stack.
+* OBU header parsing.
+* Sequence Header OBU parsing.
+* Metadata OBU parsing.
+* Tile List OBU parsing.
+* Tile Group OBU parsing.
+* Frame Header OBU parsing.
+* Frame OBU parsing.
+