From 4c1f4ef586b880319c2d4194244c764b15dbb536 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Tue, 26 Jul 2022 06:42:06 +0100
Subject: media-video/harvid: add 0.9.0

Closes: https://bugs.gentoo.org/834405
Signed-off-by: Sam James <sam@gentoo.org>
---
 media-video/harvid/Manifest                        |  1 +
 media-video/harvid/files/harvid-0.9.0-ffmpeg.patch | 21 +++++++++
 .../harvid/files/harvid-0.9.0-parallel-build.patch | 40 ++++++++++++++++
 media-video/harvid/harvid-0.9.0.ebuild             | 55 ++++++++++++++++++++++
 4 files changed, 117 insertions(+)
 create mode 100644 media-video/harvid/files/harvid-0.9.0-ffmpeg.patch
 create mode 100644 media-video/harvid/files/harvid-0.9.0-parallel-build.patch
 create mode 100644 media-video/harvid/harvid-0.9.0.ebuild

(limited to 'media-video/harvid')

diff --git a/media-video/harvid/Manifest b/media-video/harvid/Manifest
index b5d39b6f0c28..d0949e7155e6 100644
--- a/media-video/harvid/Manifest
+++ b/media-video/harvid/Manifest
@@ -1 +1,2 @@
 DIST harvid-0.8.3.tar.gz 116446 BLAKE2B b245166ab2244a7afdddabb463296974c0d995d70ad8af6e93f549f045245597cb4ca3abf47c608eea15089ac5e6f82972b789d9a3f268b8be98f3080fd6e5e7 SHA512 748475602c7279f10790523cbd5cbf34c9cd283ca9e959ac0535fbb5b4ee6d2fcab976c5ddba3fa40862552b49d73df7145f36d26c9fe708063505812537a8ac
+DIST harvid-0.9.0.tar.gz 116909 BLAKE2B 94b194c475aa402d750d2930c19402157674c5e629bf6212d0fbf0bfe9516f6272850ebca4fb9c6bb1c899418c48ac2b76ec6c04def35671df37ca0b44550e42 SHA512 cba47a9ad70633fbbc5a939819b7ad3c46f01b199b23c938b26092d731664bcfef05b4f03bf83433ddc63d191fef72d0cab09ae4c35efd2e1b2b37c4b2689e82
diff --git a/media-video/harvid/files/harvid-0.9.0-ffmpeg.patch b/media-video/harvid/files/harvid-0.9.0-ffmpeg.patch
new file mode 100644
index 000000000000..6422f7503cff
--- /dev/null
+++ b/media-video/harvid/files/harvid-0.9.0-ffmpeg.patch
@@ -0,0 +1,21 @@
+https://github.com/x42/harvid/commit/5da512c504e6d1cef9546a33f16d2b466289b1f6
+
+From: Robin Gareus <robin@gareus.org>
+Date: Sat, 23 Apr 2022 02:30:59 +0200
+Subject: [PATCH] Fix ffmpeg compatibility
+
+--- a/libharvid/ffcompat.h
++++ b/libharvid/ffcompat.h
+@@ -75,8 +75,10 @@ static inline void av_packet_unref (AVPacket *pkt)
+ #if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51, 63, 100)
+ static inline int av_image_get_buffer_size (enum AVPixelFormat pix_fmt, int width, int height, int align)
+ {
+-	return avpicture_get_size (pix_fmt, width, height)
++	return avpicture_get_size (pix_fmt, width, height);
+ }
++#else
++#include <libavutil/imgutils.h>
+ #endif
+ 
+ #if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 2, 0)
+
diff --git a/media-video/harvid/files/harvid-0.9.0-parallel-build.patch b/media-video/harvid/files/harvid-0.9.0-parallel-build.patch
new file mode 100644
index 000000000000..c45ce7a70a84
--- /dev/null
+++ b/media-video/harvid/files/harvid-0.9.0-parallel-build.patch
@@ -0,0 +1,40 @@
+https://github.com/x42/harvid/commit/a3f85c57ad2559558706d9b22989de36452704d9
+
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Wed, 22 Jun 2022 23:18:16 +0100
+Subject: [PATCH] Makefile: add a missing target libharvid dependency of src
+
+Without the change parallel build fails sometimes by linking
+too early on non-existent file:
+
+    make -C src
+    make[1]: Entering directory '/build/harvid/src'
+    ld -r -b binary -o seek.o ../doc/seek.js
+    ld -r -b binary -o logo.o ../doc/harvid.jpg
+    make[1]: *** No rule to make target '../libharvid/libharvid.a', needed by 'harvid'.  Stop.
+
+It's nest reproducible in `make --shuffle` mode:
+  https://savannah.gnu.org/bugs/index.php?62100
+
+The change makes sure 'libharvid' is built before 'src'.
+--- a/Makefile
++++ b/Makefile
+@@ -3,12 +3,15 @@ SUBDIRS = libharvid src doc
+ 
+ default: all
+ 
+-$(SUBDIRS)::
++$(SUBDIRS):
+ 	$(MAKE) -C $@ $(MAKECMDGOALS)
+ 
+ all clean man install uninstall install-bin install-man uninstall-bin uninstall-man install-lib uninstall-lib: $(SUBDIRS)
+ 
++# final binary links against a library
++src: libharvid
++
+ dist:
+ 	git archive --format=tar --prefix=harvid-$(VERSION)/ HEAD | gzip -9 > harvid-$(VERSION).tar.gz
+ 
+-.PHONY: clean all subdirs install uninstall dist install-bin install-man uninstall-bin uninstall-man install-lib uninstall-lib
++.PHONY: clean all subdirs install uninstall dist install-bin install-man uninstall-bin uninstall-man install-lib uninstall-lib $(SUBDIRS)
+
diff --git a/media-video/harvid/harvid-0.9.0.ebuild b/media-video/harvid/harvid-0.9.0.ebuild
new file mode 100644
index 000000000000..e99f97aa56f7
--- /dev/null
+++ b/media-video/harvid/harvid-0.9.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="HTTP Ardour Video Daemon"
+HOMEPAGE="https://x42.github.io/harvid/"
+SRC_URI="https://github.com/x42/harvid/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+	>=media-video/ffmpeg-2.6:=
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	app-editors/vim-core
+	virtual/pkgconfig
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-ffmpeg.patch
+	"${FILESDIR}"/${P}-parallel-build.patch
+)
+
+hv_make() {
+	emake \
+		CC="$(tc-getCC)" \
+		RANLIB="$(tc-getRANLIB)" \
+		STRIP="true" \
+		NM="$(tc-getNM) -B" \
+		LD="$(tc-getLD)" \
+		AR="$(tc-getAR)" \
+		PREFIX="${EPREFIX}/usr" \
+		libdir="${EPREFIX}/usr/$(get_libdir)" \
+		hdocdir="${EPREFIX}/usr/share/doc/${PF}" \
+		"${@}"
+}
+
+src_compile() {
+	hv_make -C libharvid
+	hv_make -C src
+	hv_make
+}
+
+src_install() {
+	hv_make DESTDIR="${D}" install
+	dodoc ChangeLog README.md
+}
-- 
cgit v1.2.3-65-gdbad