FreeBSD Bugzilla – Attachment 217012 Details for
Bug 248475
net/gerbera: New port, UPnP/DLNA media server, version 1.6.4
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
New port
0001-gerbera160v3.patch (text/plain), 13.13 KB, created by
Daniel Engberg
on 2020-08-04 22:05:20 UTC
(
hide
)
Description:
New port
Filename:
MIME Type:
Creator:
Daniel Engberg
Created:
2020-08-04 22:05:20 UTC
Size:
13.13 KB
patch
obsolete
>From 88a39a2323c8d21856be747bc39d6637d091617c Mon Sep 17 00:00:00 2001 >From: Daniel Engberg <daniel.engberg.lists@pyret.net> >Date: Mon, 3 Aug 2020 09:04:25 +0200 >Subject: [PATCH] gerbera160v3 > >gerbera160v3 > >Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net> >--- > GIDs | 2 +- > UIDs | 2 +- > net/gerbera/Makefile | 80 +++++++++++++++++ > net/gerbera/distinfo | 3 + > net/gerbera/files/gerbera.in | 53 ++++++++++++ > .../patch-src_metadata_ffmpeg__handler.cc | 19 ++++ > .../files/patch-test_core_test__server.cc | 20 +++++ > net/gerbera/files/pkg-message.in | 11 +++ > net/gerbera/pkg-descr | 3 + > net/gerbera/pkg-plist | 86 +++++++++++++++++++ > 10 files changed, 277 insertions(+), 2 deletions(-) > create mode 100644 net/gerbera/Makefile > create mode 100644 net/gerbera/distinfo > create mode 100644 net/gerbera/files/gerbera.in > create mode 100644 net/gerbera/files/patch-src_metadata_ffmpeg__handler.cc > create mode 100644 net/gerbera/files/patch-test_core_test__server.cc > create mode 100644 net/gerbera/files/pkg-message.in > create mode 100644 net/gerbera/pkg-descr > create mode 100644 net/gerbera/pkg-plist > >diff --git a/GIDs b/GIDs >index 26b2323840de..3fde94666776 100644 >--- a/GIDs >+++ b/GIDs >@@ -819,7 +819,7 @@ librespeed:*:874: > # free: 876 > # free: 877 > # free: 878 >-# free: 879 >+gerbera:*:879: > pyspf-milter:*:880: > ultimaker:*:881: > midpoint:*:882: >diff --git a/UIDs b/UIDs >index d14af4f7e33c..caa04ef5959f 100644 >--- a/UIDs >+++ b/UIDs >@@ -824,7 +824,7 @@ librespeed:*:874:874::0:0:LibreSpeed user:/nonexistent:/usr/sbin/nologin > # free: 876 > # free: 877 > # free: 878 >-# free: 879 >+gerbera:*:879:879::0:0:Gerbera DLNA Media Server:/nonexistent:/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 > midpoint:*:882:882::0:0:midPoint user:/var/db/midpoint:/usr/sbin/nologin >diff --git a/net/gerbera/Makefile b/net/gerbera/Makefile >new file mode 100644 >index 000000000000..1e9ca014d65b >--- /dev/null >+++ b/net/gerbera/Makefile >@@ -0,0 +1,80 @@ >+# $FreeBSD$ >+ >+PORTNAME= gerbera >+DISTVERSIONPREFIX= v >+DISTVERSION= 1.6.0 >+CATEGORIES= net multimedia >+ >+MAINTAINER= daniel.engberg.lists@pyret.net >+COMMENT= Media server compatible with DLNA and UPnP >+ >+LICENSE= GPLv2 >+ >+LIB_DEPENDS= libupnp.so:devel/upnp \ >+ 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 sqlite >+ >+USE_GITHUB= yes >+ >+CMAKE_OFF= WITH_EXIF WITH_LASTFM WITH_MYSQL WITH_SYSTEMD >+TEST_TARGET= test >+ >+USERS= gerbera >+GROUPS= gerbera >+USE_RC_SUBR= 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 >+ >+CURL_DESC= Support for online services via cURL >+DUKTAPE_DESC= Javascript support for custom import scripts >+FFMPEGTHUMBNAILER_DESC= Support for thumbnail generation >+LIBMAGIC_DESC= Identify file mime types via libmagic >+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 >+ >+LIBMAGIC_LIB_DEPENDS= libmagic.so:sysutils/file >+LIBMAGIC_CMAKE_BOOL= WITH_MAGIC >+ >+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 >+ >+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> >diff --git a/net/gerbera/distinfo b/net/gerbera/distinfo >new file mode 100644 >index 000000000000..4e643d5ef027 >--- /dev/null >+++ b/net/gerbera/distinfo >@@ -0,0 +1,3 @@ >+TIMESTAMP = 1595707888 >+SHA256 (gerbera-gerbera-v1.6.0_GH0.tar.gz) = 3a4956ec5fea1101e8daa32d9cfb985db908a49e2ac6137a1b2bf509e2684a6c >+SIZE (gerbera-gerbera-v1.6.0_GH0.tar.gz) = 3057575 >diff --git a/net/gerbera/files/gerbera.in b/net/gerbera/files/gerbera.in >new file mode 100644 >index 000000000000..841b14f1ecc4 >--- /dev/null >+++ b/net/gerbera/files/gerbera.in >@@ -0,0 +1,53 @@ >+#!/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="/usr/local/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 gerbera -g gerbera $rundir >+ fi >+} >+ >+gerbera_stop_postcmd() { >+ rm -f "$rundir" >+} >+ >+run_rc_command "$1" >diff --git a/net/gerbera/files/patch-src_metadata_ffmpeg__handler.cc b/net/gerbera/files/patch-src_metadata_ffmpeg__handler.cc >new file mode 100644 >index 000000000000..fd161226e231 >--- /dev/null >+++ b/net/gerbera/files/patch-src_metadata_ffmpeg__handler.cc >@@ -0,0 +1,19 @@ >+--- src/metadata/ffmpeg_handler.cc.orig 2020-07-24 19:37:20 UTC >++++ src/metadata/ffmpeg_handler.cc >+@@ -265,6 +265,8 @@ void FfmpegHandler::fillMetadata(std::shared_ptr<CdsIt >+ avformat_close_input(&pFormatCtx); >+ } >+ >++#ifdef HAVE_FFMPEGTHUMBNAILER >++ >+ fs::path getThumbnailCacheBasePath(Config& config) >+ { >+ if (auto configuredDir = config.getOption(CFG_SERVER_EXTOPTS_FFMPEGTHUMBNAILER_CACHE_DIR); >+@@ -284,7 +286,6 @@ fs::path getThumbnailCachePath(const fs::path& base, c >+ return path; >+ } >+ >+-#ifdef HAVE_FFMPEGTHUMBNAILER >+ std::optional<std::vector<std::byte>> FfmpegHandler::readThumbnailCacheFile(const fs::path& movie_filename) const >+ { >+ auto path = getThumbnailCachePath(getThumbnailCacheBasePath(*config), movie_filename); >diff --git a/net/gerbera/files/patch-test_core_test__server.cc b/net/gerbera/files/patch-test_core_test__server.cc >new file mode 100644 >index 000000000000..2d1eadbc156b >--- /dev/null >+++ b/net/gerbera/files/patch-test_core_test__server.cc >@@ -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 >diff --git a/net/gerbera/files/pkg-message.in b/net/gerbera/files/pkg-message.in >new file mode 100644 >index 000000000000..ee03136d30a8 >--- /dev/null >+++ b/net/gerbera/files/pkg-message.in >@@ -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 >+} >+] >diff --git a/net/gerbera/pkg-descr b/net/gerbera/pkg-descr >new file mode 100644 >index 000000000000..7ef7658b2e12 >--- /dev/null >+++ b/net/gerbera/pkg-descr >@@ -0,0 +1,3 @@ >+Gerbera is a DLNA compatible media server and a continuation of MediaTomb >+ >+WWW: https://gerbera.io/ >diff --git a/net/gerbera/pkg-plist b/net/gerbera/pkg-plist >new file mode 100644 >index 000000000000..5dd8a0009beb >--- /dev/null >+++ b/net/gerbera/pkg-plist >@@ -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 >+share/man/man1/gerbera.1.gz >+@owner %%USER%% >+@group %%GROUP%% >+@dir /var/db/gerbera >+@dir /var/log/gerbera >+@sample(gerbera,gerbera,0640) /usr/local/etc/gerbera-config.xml.sample >-- >2.27.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 248475
:
217012
|
217779
|
217806
|
217811
|
218204
|
218344
|
218540
|
218810
|
219730
|
219731