From 8ba4b78dc7f977da5f08037ae5da7d267ad951ae Mon Sep 17 00:00:00 2001 From: Luiz Angelo Daros de Luca Date: Sat, 6 Jul 2024 03:33:57 -0300 Subject: [PATCH] motion: add non/ffmpeg variants With ffmpeg support, motion can encode videos and process network camera streams. It is a small code base and buinding it twice will not significantly impact a full build. Signed-off-by: Luiz Angelo Daros de Luca --- multimedia/motion/Makefile | 51 +++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/multimedia/motion/Makefile b/multimedia/motion/Makefile index bd2b480929..0758f3b1b6 100644 --- a/multimedia/motion/Makefile +++ b/multimedia/motion/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-release-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/Motion-Project/motion/tar.gz/release-$(PKG_VERSION)? PKG_HASH:=42320a1c7b54a3f0b5a49cecf34a5d752760b28383bc573b3ca1240581786fe5 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-release-$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-release-$(PKG_VERSION) PKG_MAINTAINER:=Roger D PKG_LICENSE:=GPL-2.0-or-later @@ -29,30 +29,70 @@ PKG_BUILD_DEPENDS:=gettext-full/host include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk -define Package/motion +define Package/motion/Default SECTION:=multimedia CATEGORY:=Multimedia DEPENDS:=+libjpeg +libpthread +libmicrohttpd $(INTL_DEPENDS) TITLE:=webcam motion sensing and logging + PROVIDES:=motion URL:=https://motion-project.github.io/ endef +define Package/motion/Default/description +Motion is a program that monitor video signals from many types of cameras and +depending upon how they are configured, perform actions when movement is +detected. +endef + +define Package/motion-noffmpeg +$(call Package/motion/Default) + TITLE+= (w/o FFMPEG support) + VARIANT:=noffmpeg + DEFAULT_VARIANT:=1 +endef + +define Package/motion-noffmpeg/description +$(call Package/motion/Default/description) +This package is built without FFMPEG support. +endef + +define Package/motion-ffmpeg +$(call Package/motion/Default) + TITLE+= (with FFMPEG support) + VARIANT:=ffmpeg + DEPENDS+=+libffmpeg-full +endef + +define Package/motion-ffmpeg/description +$(call Package/motion/Default/description) +This package is built with FFMPEG support. +endef + define Package/motion/conffiles /etc/config/motion /etc/motion.conf endef +Package/motion-noffmpeg/conffiles = $(Package/motion/conffiles) +Package/motion-ffmpeg/conffiles = $(Package/motion/conffiles) + CONFIGURE_ARGS += \ --without-bktr \ --without-webp \ --without-mmal \ - --without-ffmpeg \ --without-mariadb \ --without-mysql \ --without-pgsql \ --without-sqlite3 \ --without-optimizecpu +ifeq ($(BUILD_VARIANT),noffmpeg) + CONFIGURE_ARGS += --without-ffmpeg +endif +ifeq ($(BUILD_VARIANT),ffmpeg) + CONFIGURE_ARGS += --with-ffmpeg +endif + define Package/motion/install $(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d $(INSTALL_CONF) ./files/motion.conf $(1)/etc/config/motion @@ -61,5 +101,8 @@ define Package/motion/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/motion $(1)/usr/bin/ endef +Package/motion-noffmpeg/install = $(Package/motion/install) +Package/motion-ffmpeg/install = $(Package/motion/install) -$(eval $(call BuildPackage,motion)) +$(eval $(call BuildPackage,motion-noffmpeg)) +$(eval $(call BuildPackage,motion-ffmpeg)) -- 2.30.2