[Buildroot] [PATCH v2] package/ustreamer: new package

Kadambini Nema kadambini.nema at gmail.com
Mon Feb 12 00:26:07 UTC 2024


Lightweight and fast MJPEG-HTTP streamer
(https://github.com/pikvm/ustreamer/tree/master#%C2%B5streamer)

Signed-off-by: Kadambini Nema <kadambini.nema at gmail.com>
---
Changes v1 -> v2:
  - Fix 'make legal-info' with ustreamer package enabled.
---
 DEVELOPERS                       |  3 +++
 package/Config.in                |  1 +
 package/ustreamer/Config.in      | 17 +++++++++++++++++
 package/ustreamer/ustreamer.hash |  3 +++
 package/ustreamer/ustreamer.mk   | 23 +++++++++++++++++++++++
 5 files changed, 47 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 0d12c3abcb..a6182777c0 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1875,6 +1875,9 @@ F:	package/easy-rsa/
 N:	Justin Maggard <jmaggard at netgear.com>
 F:	package/dtach/
 
+N:	Kadambini Nema <kadambini.nema at gmail.com>
+F:	package/ustreamer/
+
 N:	Kamel Bouhara <kamel.bouhara at gmail.com>
 F:	package/libodb-boost/
 F:	package/libodb-mysql/
diff --git a/package/Config.in b/package/Config.in
index bf0fe078b9..479c8b6657 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2595,6 +2595,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..52c511e22d
--- /dev/null
+++ b/package/ustreamer/Config.in
@@ -0,0 +1,17 @@
+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
+	depends on BR2_USE_MMU
+	depends on !BR2_STATIC_LIBS
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBEVENT
+	select BR2_PACKAGE_LIBBSD
+	select BR2_PACKAGE_LIBGPIOD
+	help
+	  Lightweight and fast MJPEG-HTTP streamer
+
+	  https://github.com/pikvm/ustreamer
+
+comment "ustreamer needs a toolchain w/ threads, headers >= 3.16, dynamic library"
diff --git a/package/ustreamer/ustreamer.hash b/package/ustreamer/ustreamer.hash
new file mode 100644
index 0000000000..b7a85ca2d5
--- /dev/null
+++ b/package/ustreamer/ustreamer.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  198283aaea5e7aa51da54426eb79ea436641ffb9b431e9ebace8fe5a76dfb105  ustreamer-b2ebcf99c8c51f97c44eccb6c768f5e824ecf952.tar.gz
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  LICENSE
diff --git a/package/ustreamer/ustreamer.mk b/package/ustreamer/ustreamer.mk
new file mode 100644
index 0000000000..fbc30527bc
--- /dev/null
+++ b/package/ustreamer/ustreamer.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# ustreamer
+#
+################################################################################
+
+USTREAMER_VERSION = b2ebcf99c8c51f97c44eccb6c768f5e824ecf952
+USTREAMER_SITE = $(call github,pikvm,ustreamer,$(USTREAMER_VERSION))
+USTREAMER_LICENSE = GPL-3.0-or-later
+USTREAMER_LICENSE_FILES = LICENSE
+USTREAMER_DEPENDENCIES = jpeg libevent libbsd libgpiod
+USTREAMER_CONF_ENV = "CFLAGS=$(TARGET_CFLAGS)"
+
+define USTREAMER_BUILD_CMDS
+	$(MAKE)  $(if $(BR2_PACKAGE_SYSTEMD),WITH_SYSTEMD=1, ) WITH_PTHREAD_NP=1  WITH_SETPROCTITLE=1 HAS_PDEATHSIG=1 $(TARGET_CONFIGURE_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))
-- 
2.25.1




More information about the buildroot mailing list