xref: /OK3568_Linux_fs/buildroot/package/gerbera/gerbera.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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