svn commit: r555498 - in head: . net net/gerbera net/gerbera/files
Mikael Urankar
mikael at FreeBSD.org
Mon Nov 16 16:53:40 UTC 2020
Author: mikael
Date: Mon Nov 16 16:53:37 2020
New Revision: 555498
URL: https://svnweb.freebsd.org/changeset/ports/555498
Log:
net/gerbera: New port, UPnP/DLNA media server
Gerbera is a DLNA compatible media server and a continuation of MediaTomb
It allows you to browse and playback your media via your network, supports
metadata extraction, media thumbnail support and generation, media transcoding
and offers a Web UI.
WWW: https://gerbera.io/
PR: 248475
Submitted by: daniel.engberg.lists at pyret.net
Reviewed by: meena
Added:
head/net/gerbera/
head/net/gerbera/Makefile (contents, props changed)
head/net/gerbera/distinfo (contents, props changed)
head/net/gerbera/files/
head/net/gerbera/files/gerbera.in (contents, props changed)
head/net/gerbera/files/patch-CMakeLists.txt (contents, props changed)
head/net/gerbera/files/patch-test_core_test__server.cc (contents, props changed)
head/net/gerbera/files/pkg-message.in (contents, props changed)
head/net/gerbera/pkg-descr (contents, props changed)
head/net/gerbera/pkg-plist (contents, props changed)
Modified:
head/GIDs
head/UIDs
head/net/Makefile
Modified: head/GIDs
==============================================================================
--- head/GIDs Mon Nov 16 16:46:02 2020 (r555497)
+++ head/GIDs Mon Nov 16 16:53:37 2020 (r555498)
@@ -818,7 +818,7 @@ librespeed:*:874:
# free: 875
# free: 876
# free: 877
-# free: 878
+gerbera:*:878:
_encrypted-dns:*:879:
pyspf-milter:*:880:
ultimaker:*:881:
Modified: head/UIDs
==============================================================================
--- head/UIDs Mon Nov 16 16:46:02 2020 (r555497)
+++ head/UIDs Mon Nov 16 16:53:37 2020 (r555498)
@@ -823,7 +823,7 @@ librespeed:*:874:874::0:0:LibreSpeed user:/nonexistent
# free: 875
# free: 876
# free: 877
-# free: 878
+gerbera:*:878:878::0:0:Gerbera DLNA Media Server:/nonexistent:/usr/sbin/nologin
_encrypted-dns:*:879:879::0:0:encrypted-dns user:/var/empty:/usr/sbin/nologin
pyspf-milter:*:880:880::0:0:pyspf-milter:/nonexistent:/usr/sbin/nologin
ultimaker:*:881:881::0:0:Ultimaker user:/nonexistent:/usr/sbin/nologin
Modified: head/net/Makefile
==============================================================================
--- head/net/Makefile Mon Nov 16 16:46:02 2020 (r555497)
+++ head/net/Makefile Mon Nov 16 16:53:37 2020 (r555498)
@@ -174,6 +174,7 @@
SUBDIR += geoclue
SUBDIR += geocode-glib
SUBDIR += geoipupdate
+ SUBDIR += gerbera
SUBDIR += gfbgraph
SUBDIR += glflow
SUBDIR += glib-networking
Added: head/net/gerbera/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/Makefile Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,94 @@
+# $FreeBSD$
+
+PORTNAME= gerbera
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.6.4
+CATEGORIES= net multimedia
+
+MAINTAINER= daniel.engberg.lists at pyret.net
+COMMENT= Media server compatible with DLNA and UPnP
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+LIB_DEPENDS= libfmt.so:devel/libfmt \
+ libspdlog.so:devel/spdlog \
+ libpugixml.so:textproc/pugixml \
+ libinotify.so:devel/libinotify
+
+USES= cmake compiler:c++17-lang iconv localbase:ldflags \
+ pkgconfig sqlite
+
+USE_GITHUB= yes
+USE_RC_SUBR= gerbera
+
+TEST_TARGET= test
+
+CMAKE_OFF= WITH_EXIF WITH_LASTFM WITH_MYSQL WITH_SYSTEMD
+
+USERS= gerbera
+GROUPS= gerbera
+SUB_LIST= USER=${USERS} GROUP=${GROUPS}
+PLIST_SUB= USER=${USERS} GROUP=${GROUPS}
+SUB_FILES= pkg-message
+
+OPTIONS_DEFINE= CURL DEBUG DUKTAPE EXIV2 FFMPEG FFMPEGTHUMBNAILER \
+ LIBMAGIC MATROSKA TAGLIB TEST
+OPTIONS_DEFAULT= CURL DUKTAPE EXIV2 FFMPEG LIBMAGIC TAGLIB LIBNPUPNP
+
+OPTIONS_SINGLE= UPNPLIB
+OPTIONS_SINGLE_UPNPLIB= LIBNPUPNP LIBUPNP
+
+CURL_DESC= Support for online services via cURL
+DUKTAPE_DESC= Javascript support for custom import scripts
+FFMPEGTHUMBNAILER_DESC= Support for thumbnail generation
+LIBNPUPNP_DESC= Use high performance libnpupnp library
+LIBMAGIC_DESC= Identify file mime types via libmagic
+LIBUPNP_DESC= Use libupnp library
+MATROSKA_DESC= Extract video/mkv metadata via libmatroska
+TAGLIB_DESC= Extract audio file metadata via taglib
+
+CURL_LIB_DEPENDS= libcurl.so:ftp/curl
+CURL_CMAKE_BOOL= WITH_CURL
+
+DEBUG_CMAKE_BOOL= WITH_DEBUG
+
+DUKTAPE_LIB_DEPENDS= libduktape.so:lang/duktape-lib
+DUKTAPE_CMAKE_BOOL= WITH_JS
+
+EXIV2_LIB_DEPENDS= libexiv2.so:graphics/exiv2
+EXIV2_CMAKE_BOOL= WITH_EXIV2
+
+FFMPEG_LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
+ libavutil.so:multimedia/ffmpeg
+FFMPEG_CMAKE_BOOL= WITH_AVCODEC
+
+FFMPEGTHUMBNAILER_LIB_DEPENDS= libffmpegthumbnailer.so:multimedia/ffmpegthumbnailer
+FFMPEGTHUMBNAILER_CMAKE_BOOL= WITH_FFMPEGTHUMBNAILER
+FFMPEGTHUMBNAILER_IMPLIES= FFMPEG
+
+LIBMAGIC_LIB_DEPENDS= libmagic.so:sysutils/file
+LIBMAGIC_CMAKE_BOOL= WITH_MAGIC
+
+LIBNPUPNP_LIB_DEPENDS= libnpupnp.so:net/libnpupnp
+LIBNPUPNP_CMAKE_BOOL= WITH_NPUPNP
+
+LIBUPNP_LIB_DEPENDS= libupnp.so:devel/upnp
+
+MATROSKA_LIB_DEPENDS= libmatroska.so:multimedia/libmatroska
+MATROSKA_CMAKE_BOOL= WITH_MATROSKA
+
+TAGLIB_LIB_DEPENDS= libtag.so:audio/taglib
+TAGLIB_CMAKE_BOOL= WITH_TAGLIB
+
+TEST_BUILD_DEPENDS= googletest>=0:devel/googletest
+TEST_CMAKE_BOOL= WITH_TESTS
+TEST_IMPLIES= CURL DUKTAPE
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/gerbera
+ @${MKDIR} ${STAGEDIR}/var/db/gerbera
+ @${MKDIR} ${STAGEDIR}/var/log/gerbera
+ @${STAGEDIR}${PREFIX}/bin/gerbera -f /var/db/gerbera --create-config > ${STAGEDIR}${PREFIX}/etc/gerbera-config.xml.sample
+
+.include <bsd.port.mk>
Added: head/net/gerbera/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/distinfo Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1602879743
+SHA256 (gerbera-gerbera-v1.6.4_GH0.tar.gz) = cbe7ea78977db8c02fcca1759ed149f199a590afaf4a6d21ffcca8623d1a0cc5
+SIZE (gerbera-gerbera-v1.6.4_GH0.tar.gz) = 3060809
Added: head/net/gerbera/files/gerbera.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/files/gerbera.in Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: gerbera
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable gerbera:
+# gerbera_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable gerbera.
+# gerbera_flags (str): Custom additional arguments to be passed
+# to gerbera (default empty).
+# gerbera_conf_dir (str): Directory where ${name} configuration
+# data is stored.
+
+. /etc/rc.subr
+
+name="gerbera"
+rcvar=gerbera_enable
+
+load_rc_config ${name}
+
+: ${gerbera_enable:="NO"}
+: ${gerbera_user:="%%USER%%"}
+: ${gerbera_group:="%%GROUP%%"}
+: ${gerbera_conf_dir="%%PREFIX%%/etc"}
+
+start_precmd=gerbera_precmd
+stop_postcmd=gerbera_stop_postcmd
+
+procname="%%PREFIX%%/bin/${name}"
+pidfile="/var/run/gerbera/gerbera.pid"
+required_files="${gerbera_conf_dir}/gerbera-config.xml"
+
+command="/usr/sbin/daemon"
+command_args="-f -t ${name} -p ${pidfile} ${procname} -c ${required_files} -l /var/log/gerbera/gerbera.log ${gerbera_args}"
+
+gerbera_precmd()
+{
+ local rundir=${pidfile%/*}
+ if [ ! -d $rundir ] ; then
+ install -d -m 0755 -o %%USER%% -g %%GROUP%% $rundir
+ fi
+}
+
+gerbera_stop_postcmd()
+{
+ rm -f "$rundir"
+}
+
+run_rc_command "$1"
Added: head/net/gerbera/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/files/patch-CMakeLists.txt Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,8 @@
+--- CMakeLists.txt.orig 2020-09-06 01:54:18 UTC
++++ CMakeLists.txt
+@@ -528,4 +528,4 @@ INSTALL(FILES
+ ${PROJECT_SOURCE_DIR}/config/mysql.sql
+ ${PROJECT_SOURCE_DIR}/config/sqlite3.sql
+ DESTINATION share/gerbera)
+-INSTALL(FILES ${PROJECT_SOURCE_DIR}/doc/gerbera.1 DESTINATION share/man/man1)
++INSTALL(FILES ${PROJECT_SOURCE_DIR}/doc/gerbera.1 DESTINATION man/man1)
Added: head/net/gerbera/files/patch-test_core_test__server.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/files/patch-test_core_test__server.cc Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,20 @@
+--- test/core/test_server.cc.orig 2020-07-27 06:07:30 UTC
++++ test/core/test_server.cc
+@@ -51,17 +51,6 @@ TEST_F(ServerTest, ServerOutputsHelpInformation)
+ ASSERT_THAT(output.c_str(), HasSubstr(expectedOutput.c_str()));
+ }
+
+-TEST_F(ServerTest, ServerOutputsCompileInformationIncludingGit)
+-{
+- fs::path cmd = fs::path(CMAKE_BINARY_DIR) / "gerbera --compile-info 2>&1";
+- std::string output = exec(cmd.c_str());
+-
+- ASSERT_THAT(output, HasSubstr("Compile info\n-------------\nWITH_"));
+- ASSERT_THAT(output, HasSubstr("Git info:\n-------------\n"));
+- ASSERT_THAT(output, HasSubstr("Git Branch: "));
+- ASSERT_THAT(output, HasSubstr("Git Commit: "));
+-}
+-
+ TEST_F(ServerTest, GeneratesFullConfigFromServerCommand)
+ {
+ // simple check to ensure complete generation from server
Added: head/net/gerbera/files/pkg-message.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/files/pkg-message.in Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,11 @@
+[
+{ type: install
+ message: <<EOM
+ Edit /etc/rc.conf(.local) to start Gerbera automatically at system
+ startup. Command line arguments can be set via gerbera_args.
+
+ A sample configuration file is installed at the follow location:
+ %%PREFIX%%/etc/gerbera-config.xml.sample
+EOM
+}
+]
Added: head/net/gerbera/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/pkg-descr Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,6 @@
+Gerbera is a DLNA compatible media server and a continuation of MediaTomb
+It allows you to browse and playback your media via your network, supports
+metadata extraction, media thumbnail support and generation, media transcoding
+and offers a Web UI.
+
+WWW: https://gerbera.io/
Added: head/net/gerbera/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/net/gerbera/pkg-plist Mon Nov 16 16:53:37 2020 (r555498)
@@ -0,0 +1,86 @@
+bin/gerbera
+%%DATADIR%%/js/common.js
+%%DATADIR%%/js/import.js
+%%DATADIR%%/js/import_structured.js
+%%DATADIR%%/js/playlists.js
+%%DATADIR%%/mappings.xml
+%%DATADIR%%/mysql.sql
+%%DATADIR%%/sqlite3.sql
+%%DATADIR%%/web/README.md
+%%DATADIR%%/web/assets/theme/colors.css
+%%DATADIR%%/web/assets/theme/gerbera-logo-white.png
+%%DATADIR%%/web/assets/theme/gerbera.css
+%%DATADIR%%/web/cds.xml
+%%DATADIR%%/web/cm.xml
+%%DATADIR%%/web/disabled.html
+%%DATADIR%%/web/favicon.ico
+%%DATADIR%%/web/icons/mt-icon120.bmp
+%%DATADIR%%/web/icons/mt-icon120.jpg
+%%DATADIR%%/web/icons/mt-icon120.png
+%%DATADIR%%/web/icons/mt-icon32.bmp
+%%DATADIR%%/web/icons/mt-icon32.jpg
+%%DATADIR%%/web/icons/mt-icon32.png
+%%DATADIR%%/web/icons/mt-icon48.bmp
+%%DATADIR%%/web/icons/mt-icon48.jpg
+%%DATADIR%%/web/icons/mt-icon48.png
+%%DATADIR%%/web/index.html
+%%DATADIR%%/web/js/gerbera-app.module.js
+%%DATADIR%%/web/js/gerbera-auth.module.js
+%%DATADIR%%/web/js/gerbera-autoscan.module.js
+%%DATADIR%%/web/js/gerbera-clients.module.js
+%%DATADIR%%/web/js/gerbera-items.module.js
+%%DATADIR%%/web/js/gerbera-menu.module.js
+%%DATADIR%%/web/js/gerbera-trail.module.js
+%%DATADIR%%/web/js/gerbera-tree.module.js
+%%DATADIR%%/web/js/gerbera-updates.module.js
+%%DATADIR%%/web/js/jquery.gerbera.autoscan.js
+%%DATADIR%%/web/js/jquery.gerbera.clients.js
+%%DATADIR%%/web/js/jquery.gerbera.editor.js
+%%DATADIR%%/web/js/jquery.gerbera.items.js
+%%DATADIR%%/web/js/jquery.gerbera.toast.js
+%%DATADIR%%/web/js/jquery.gerbera.trail.js
+%%DATADIR%%/web/js/jquery.gerbera.tree.js
+%%DATADIR%%/web/js/md5.js
+%%DATADIR%%/web/mr_reg.xml
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-grid.css
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-grid.css.map
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-grid.min.css
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-grid.min.css.map
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-reboot.css
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-reboot.css.map
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-reboot.min.css
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap-reboot.min.css.map
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap.css
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap.css.map
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap.min.css
+%%DATADIR%%/web/vendor/bootstrap/css/bootstrap.min.css.map
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.bundle.js
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.bundle.js.map
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.bundle.min.js
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.bundle.min.js.map
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.js
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.js.map
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.min.js
+%%DATADIR%%/web/vendor/bootstrap/js/bootstrap.min.js.map
+%%DATADIR%%/web/vendor/font-awesome/css/font-awesome.css
+%%DATADIR%%/web/vendor/font-awesome/css/font-awesome.min.css
+%%DATADIR%%/web/vendor/font-awesome/fonts/FontAwesome.otf
+%%DATADIR%%/web/vendor/font-awesome/fonts/fontawesome-webfont.eot
+%%DATADIR%%/web/vendor/font-awesome/fonts/fontawesome-webfont.svg
+%%DATADIR%%/web/vendor/font-awesome/fonts/fontawesome-webfont.ttf
+%%DATADIR%%/web/vendor/font-awesome/fonts/fontawesome-webfont.woff
+%%DATADIR%%/web/vendor/font-awesome/fonts/fontawesome-webfont.woff2
+%%DATADIR%%/web/vendor/jquery/jquery-3.4.0.min.js
+%%DATADIR%%/web/vendor/jquery/jquery-ui.min.js
+%%DATADIR%%/web/vendor/js-cookie.js
+%%DATADIR%%/web/vendor/lato/LICENCE.md
+%%DATADIR%%/web/vendor/lato/lato-v14-latin-ext_latin-regular.woff
+%%DATADIR%%/web/vendor/lato/lato-v14-latin-ext_latin-regular.woff2
+%%DATADIR%%/web/vendor/popper/popper.js
+%%DATADIR%%/web/vendor/tether/tether.min.js
+man/man1/gerbera.1.gz
+ at owner %%USER%%
+ at group %%GROUP%%
+ at dir /var/db/gerbera
+ at dir /var/log/gerbera
+ at sample(gerbera,gerbera,0640) /usr/local/etc/gerbera-config.xml.sample
More information about the svn-ports-head
mailing list