1################################################################################ 2# 3# gerbera 4# 5################################################################################ 6 7GERBERA_VERSION = 1.9.2 8GERBERA_SITE = $(call github,gerbera,gerbera,v$(GERBERA_VERSION)) 9GERBERA_LICENSE = GPL-2.0 10GERBERA_LICENSE_FILES = LICENSE.md 11GERBERA_DEPENDENCIES = \ 12 fmt \ 13 host-pkgconf \ 14 pugixml \ 15 spdlog \ 16 sqlite \ 17 util-linux \ 18 zlib 19GERBERA_CONF_OPTS = -DWITH_DEBUG=OFF 20 21ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_9)$(BR2_OPTIMIZE_S),yy) 22GERBERA_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O2" 23endif 24 25# Uses __atomic_fetch_add_4 26ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 27GERBERA_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic 28endif 29 30ifeq ($(BR2_PACKAGE_DUKTAPE),y) 31GERBERA_DEPENDENCIES += duktape 32GERBERA_CONF_OPTS += -DWITH_JS=ON 33else 34GERBERA_CONF_OPTS += -DWITH_JS=OFF 35endif 36 37ifeq ($(BR2_PACKAGE_EXIV2),y) 38GERBERA_DEPENDENCIES += exiv2 39GERBERA_CONF_OPTS += -DWITH_EXIV2=ON 40else 41GERBERA_CONF_OPTS += -DWITH_EXIV2=OFF 42endif 43 44ifeq ($(BR2_PACKAGE_FFMPEG),y) 45GERBERA_DEPENDENCIES += ffmpeg 46GERBERA_CONF_OPTS += -DWITH_AVCODEC=ON 47else 48GERBERA_CONF_OPTS += -DWITH_AVCODEC=OFF 49endif 50 51ifeq ($(BR2_PACKAGE_FILE),y) 52GERBERA_DEPENDENCIES += file 53GERBERA_CONF_OPTS += -DWITH_MAGIC=ON 54else 55GERBERA_CONF_OPTS += -DWITH_MAGIC=OFF 56endif 57 58ifeq ($(BR2_PACKAGE_LIBCURL),y) 59GERBERA_DEPENDENCIES += libcurl 60GERBERA_CONF_OPTS += -DWITH_CURL=ON 61else 62GERBERA_CONF_OPTS += -DWITH_CURL=OFF 63endif 64 65ifeq ($(BR2_PACKAGE_LIBEXIF),y) 66GERBERA_DEPENDENCIES += libexif 67GERBERA_CONF_OPTS += -DWITH_EXIF=ON 68else 69GERBERA_CONF_OPTS += -DWITH_EXIF=OFF 70endif 71 72ifeq ($(BR2_PACKAGE_LIBICONV),y) 73GERBERA_DEPENDENCIES += libiconv 74endif 75 76ifeq ($(BR2_PACKAGE_LIBMATROSKA),y) 77GERBERA_DEPENDENCIES += libmatroska 78GERBERA_CONF_OPTS += -DWITH_MATROSKA=ON 79else 80GERBERA_CONF_OPTS += -DWITH_MATROSKA=OFF 81endif 82 83# Either libupnp or libnpupnp are guranteed to be enabled 84ifeq ($(BR2_PACKAGE_LIBNPUPNP),y) 85GERBERA_DEPENDENCIES += libnpupnp 86GERBERA_CONF_OPTS += -DWITH_NPUPNP=ON 87else 88GERBERA_DEPENDENCIES += libupnp 89GERBERA_CONF_OPTS += -DWITH_NPUPNP=OFF 90endif 91 92ifeq ($(BR2_PACKAGE_MYSQL),y) 93GERBERA_DEPENDENCIES += mysql 94GERBERA_CONF_OPTS += -DWITH_MYSQL=ON 95else 96GERBERA_CONF_OPTS += -DWITH_MYSQL=OFF 97endif 98 99ifeq ($(BR2_PACKAGE_SYSTEMD),y) 100GERBERA_DEPENDENCIES += systemd 101GERBERA_CONF_OPTS += -DWITH_SYSTEMD=ON 102else 103GERBERA_CONF_OPTS += -DWITH_SYSTEMD=OFF 104endif 105 106ifeq ($(BR2_PACKAGE_TAGLIB),y) 107GERBERA_DEPENDENCIES += taglib 108GERBERA_CONF_OPTS += -DWITH_TAGLIB=ON 109else 110GERBERA_CONF_OPTS += -DWITH_TAGLIB=OFF 111endif 112 113# gerbera does not provide a default configuration file, it can be 114# created during run time through --create-config: 115# http://docs.gerbera.io/en/latest/config-overview.html#generating-configuration 116# However, to have a correct home directory and UDN, install it ourself 117define GERBERA_INSTALL_CONFIGURATION 118 $(INSTALL) -D -m 0644 package/gerbera/config.xml \ 119 $(TARGET_DIR)/etc/gerbera/config.xml 120endef 121 122GERBERA_POST_INSTALL_TARGET_HOOKS += GERBERA_INSTALL_CONFIGURATION 123 124define GERBERA_USERS 125 gerbera -1 gerbera -1 * /var/lib/gerbera - - Gerbera user 126endef 127 128define GERBERA_INSTALL_INIT_SYSV 129 $(INSTALL) -D -m 0755 package/gerbera/S99gerbera \ 130 $(TARGET_DIR)/etc/init.d/S99gerbera 131endef 132 133$(eval $(cmake-package)) 134