From 142fec6cbd8f6af0eb21cdf38ebbdf8dbea8724c Mon Sep 17 00:00:00 2001 From: Kadambini Nema Date: Mon, 19 Feb 2024 13:34:02 -0800 Subject: [PATCH] package/ustreamer: new package Lightweight and fast MJPEG-HTTP streamer (https://github.com/pikvm/ustreamer/tree/master#%C2%B5streamer) Signed-off-by: Kadambini Nema Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 3 +++ package/Config.in | 1 + package/ustreamer/Config.in | 21 +++++++++++++++++ package/ustreamer/ustreamer.hash | 3 +++ package/ustreamer/ustreamer.mk | 40 ++++++++++++++++++++++++++++++++ 5 files changed, 68 insertions(+) create mode 100644 package/ustreamer/Config.in create mode 100644 package/ustreamer/ustreamer.hash create mode 100644 package/ustreamer/ustreamer.mk diff --git a/DEVELOPERS b/DEVELOPERS index cb8a69a36a..1c0cd336ca 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1920,6 +1920,9 @@ F: package/easy-rsa/ N: Justin Maggard F: package/dtach/ +N: Kadambini Nema +F: package/ustreamer/ + N: Kamel Bouhara F: package/libodb-boost/ F: package/libodb-mysql/ diff --git a/package/Config.in b/package/Config.in index c7bad67553..edc56290ea 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2609,6 +2609,7 @@ endif source "package/uredir/Config.in" source "package/ushare/Config.in" source "package/ussp-push/Config.in" + source "package/ustreamer/Config.in" source "package/vde2/Config.in" source "package/vdr/Config.in" source "package/vdr-plugin-vnsiserver/Config.in" diff --git a/package/ustreamer/Config.in b/package/ustreamer/Config.in new file mode 100644 index 0000000000..79c22ee691 --- /dev/null +++ b/package/ustreamer/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_USTREAMER + bool "ustreamer" + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 # V4L2_EVENT_SOURCE_CHANGE + depends on BR2_TOOLCHAIN_HAS_THREADS # libbsd + depends on !BR2_STATIC_LIBS # libbsd + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd + depends on BR2_USE_WCHAR # libbsd + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBBSD + select BR2_PACKAGE_LIBEVENT + help + Lightweight and fast MJPEG-HTTP streamer + + https://github.com/pikvm/ustreamer + +comment "ustreamer needs a toolchain w/ headers >= 3.16, threads, dynamic library, wchar" + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS || \ + !BR2_USE_WCHAR diff --git a/package/ustreamer/ustreamer.hash b/package/ustreamer/ustreamer.hash new file mode 100644 index 0000000000..d3f603e0c8 --- /dev/null +++ b/package/ustreamer/ustreamer.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 88f107e02a0b5c6493d55ed1bce0c85f66ce83d2bc0271ff6319ad593c6584bc ustreamer-5.51.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/package/ustreamer/ustreamer.mk b/package/ustreamer/ustreamer.mk new file mode 100644 index 0000000000..dc8577b5e9 --- /dev/null +++ b/package/ustreamer/ustreamer.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# ustreamer +# +################################################################################ + +USTREAMER_VERSION = 5.51 +USTREAMER_SITE = $(call github,pikvm,ustreamer,v$(USTREAMER_VERSION)) +USTREAMER_LICENSE = GPL-3.0+ +USTREAMER_LICENSE_FILES = LICENSE +USTREAMER_DEPENDENCIES = jpeg libevent libbsd + +USTREAMER_MAKE_OPTS = \ + $(TARGET_CONFIGURE_OPTS) \ + WITH_PTHREAD_NP=1 \ + WITH_SETPROCTITLE=1 \ + HAS_PDEATHSIG=1 + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +USTREAMER_MAKE_OPTS += WITH_SYSTEMD=1 +USTREAMER_DEPENDENCIES += systemd +endif + +ifeq ($(BR2_PACKAGE_LIBGPIOD),y) +USTREAMER_MAKE_OPTS += WITH_GPIO=1 +USTREAMER_DEPENDENCIES += libgpiod +endif + +define USTREAMER_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(USTREAMER_MAKE_OPTS) -C $(@D) +endef + +define USTREAMER_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/ustreamer \ + $(TARGET_DIR)/usr/bin/ustreamer + $(INSTALL) -D -m 0755 $(@D)/ustreamer-dump \ + $(TARGET_DIR)/usr/bin/ustreamer-dump +endef + +$(eval $(generic-package))