pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

wip/gerbera: import version 1.4.0



Module Name:	pkgsrc-wip
Committed By:	Pierre Pronchery <khorben%defora.org@localhost>
Pushed By:	khorben
Date:		Mon Aug 31 20:59:05 2020 +0200
Changeset:	b2c6823f283500f8bb1823442e2d06437f3088f5

Modified Files:
	Makefile
Added Files:
	gerbera/DESCR
	gerbera/Makefile
	gerbera/PLIST
	gerbera/distinfo
	gerbera/files/config.xml.in
	gerbera/files/gerbera.sh

Log Message:
wip/gerbera: import version 1.4.0

Gerbera is a UPnP media server which allows you to stream your digital media
through your home network and consume it on a variety of UPnP compatible
devices.

Gerbera was originally based on MediaTomb.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=b2c6823f283500f8bb1823442e2d06437f3088f5

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                    |   1 +
 gerbera/DESCR               |   5 ++
 gerbera/Makefile            |  77 ++++++++++++++++++++++
 gerbera/PLIST               |  81 ++++++++++++++++++++++++
 gerbera/distinfo            |   6 ++
 gerbera/files/config.xml.in | 151 ++++++++++++++++++++++++++++++++++++++++++++
 gerbera/files/gerbera.sh    |  28 ++++++++
 7 files changed, 349 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index df21263ffa..b9aa02a834 100644
--- a/Makefile
+++ b/Makefile
@@ -1083,6 +1083,7 @@ SUBDIR+=	genus2reduction
 SUBDIR+=	geoclue
 SUBDIR+=	geocode-glib
 SUBDIR+=	geoloc
+SUBDIR+=	gerbera
 SUBDIR+=	gerris
 SUBDIR+=	gerris-snapshot
 SUBDIR+=	getdns
diff --git a/gerbera/DESCR b/gerbera/DESCR
new file mode 100644
index 0000000000..f1138d6922
--- /dev/null
+++ b/gerbera/DESCR
@@ -0,0 +1,5 @@
+Gerbera is a UPnP media server which allows you to stream your digital media
+through your home network and consume it on a variety of UPnP compatible
+devices.
+
+Gerbera was originally based on MediaTomb.
diff --git a/gerbera/Makefile b/gerbera/Makefile
new file mode 100644
index 0000000000..18d33ec54b
--- /dev/null
+++ b/gerbera/Makefile
@@ -0,0 +1,77 @@
+# $NetBSD$
+
+GITHUB_PROJECT=	gerbera
+GITHUB_TAG=	v1.4.0
+DISTNAME=	v1.4.0
+PKGNAME=	${GITHUB_PROJECT}-${DISTNAME:S,^v,,}
+CATEGORIES=	multimedia
+MASTER_SITES=	${MASTER_SITE_GITHUB:=gerbera/}
+DIST_SUBDIR=	${GITHUB_PROJECT}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/gerbera/gerbera/
+COMMENT=	UPnP Media Server
+LICENSE=	gnu-gpl-v2
+
+USE_LANGUAGES=	c c++
+
+USE_CMAKE=	yes
+#CMAKE_ARGS+=	-DWITH_AVCODEC=ON
+CMAKE_ARGS+=	-DWITH_DEBUG=OFF
+CMAKE_ARGS+=	-DWITH_FFMPEGTHUMBNAILER=ON
+#CMAKE_ARGS+=	-DWITH_LASTFM=ON
+CMAKE_ARGS+=	-DWITH_SYSTEMD=OFF
+
+RCD_SCRIPTS=	gerbera
+
+.include "../../mk/bsd.prefs.mk"
+
+PKG_GROUPS=	${GERBERA_GROUP}
+PKG_USERS=	${GERBERA_USER}:${GERBERA_GROUP}
+
+PKG_GECOS.${GERBERA_USER}=	Gerbera Server
+PKG_HOME.${GERBERA_USER}=	${VARBASE}/gerbera
+
+PKG_SYSCONFSUBDIR=	gerbera
+EGDIR=			${PREFIX}/share/examples/gerbera
+CONF_FILES_PERMS+=	${EGDIR}/config.xml ${PKG_SYSCONFDIR}/config.xml \
+			${GERBERA_USER} ${GERBERA_GROUP} 0640
+
+FILES_SUBST+=		PKG_HOME=${PKG_HOME.${GERBERA_USER}:Q}
+FILES_SUBST+=		GERBERA_GROUP=${GERBERA_GROUP}
+FILES_SUBST+=		GERBERA_USER=${GERBERA_USER}
+FILES_SUBST+=		PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
+
+GERBERA_HOME=		${PKG_HOME.${GERBERA_USER}}
+
+SUBST_CLASSES+=		config
+SUBST_FILES.config=	config.xml
+SUBST_VARS.config=	GERBERA_HOME PREFIX OPSYS
+SUBST_STAGE.config=	pre-configure
+
+INSTALLATION_DIRS+=	share/examples/gerbera
+
+post-extract:
+	${CP} ${FILESDIR}/config.xml.in ${WRKSRC}/config.xml
+
+post-install:
+	${INSTALL_DATA} ${WRKSRC}/config.xml ${DESTDIR}${EGDIR}/config.xml
+
+#.include "../../audio/liblastfm/buildlink3.mk"
+.include "../../audio/taglib/buildlink3.mk"
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../databases/sqlite3/buildlink3.mk"
+.include "../../devel/libinotify/buildlink3.mk"
+.include "../../devel/libuuid/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/libexif/buildlink3.mk"
+.include "../../lang/libduktape/buildlink3.mk"
+.include "../../multimedia/ffmpegthumbnailer/buildlink3.mk"
+.include "../../multimedia/libmatroska/buildlink3.mk"
+.include "../../net/libupnp/buildlink3.mk"
+.include "../../sysutils/file/buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/gerbera/PLIST b/gerbera/PLIST
new file mode 100644
index 0000000000..fffadf3bdf
--- /dev/null
+++ b/gerbera/PLIST
@@ -0,0 +1,81 @@
+@comment $NetBSD$
+bin/gerbera
+share/examples/gerbera/config.xml
+share/gerbera/js/common.js
+share/gerbera/js/import.js
+share/gerbera/js/import_structured.js
+share/gerbera/js/playlists.js
+share/gerbera/mappings.xml
+share/gerbera/mysql.sql
+share/gerbera/sqlite3.sql
+share/gerbera/web/README.md
+share/gerbera/web/assets/theme/colors.css
+share/gerbera/web/assets/theme/gerbera-logo-white.png
+share/gerbera/web/assets/theme/gerbera.css
+share/gerbera/web/cds.xml
+share/gerbera/web/cm.xml
+share/gerbera/web/disabled.html
+share/gerbera/web/favicon.ico
+share/gerbera/web/icons/mt-icon120.bmp
+share/gerbera/web/icons/mt-icon120.jpg
+share/gerbera/web/icons/mt-icon120.png
+share/gerbera/web/icons/mt-icon32.bmp
+share/gerbera/web/icons/mt-icon32.jpg
+share/gerbera/web/icons/mt-icon32.png
+share/gerbera/web/icons/mt-icon48.bmp
+share/gerbera/web/icons/mt-icon48.jpg
+share/gerbera/web/icons/mt-icon48.png
+share/gerbera/web/index.html
+share/gerbera/web/js/gerbera-app.module.js
+share/gerbera/web/js/gerbera-auth.module.js
+share/gerbera/web/js/gerbera-autoscan.module.js
+share/gerbera/web/js/gerbera-items.module.js
+share/gerbera/web/js/gerbera-menu.module.js
+share/gerbera/web/js/gerbera-trail.module.js
+share/gerbera/web/js/gerbera-tree.module.js
+share/gerbera/web/js/gerbera-updates.module.js
+share/gerbera/web/js/jquery.gerbera.autoscan.js
+share/gerbera/web/js/jquery.gerbera.editor.js
+share/gerbera/web/js/jquery.gerbera.items.js
+share/gerbera/web/js/jquery.gerbera.toast.js
+share/gerbera/web/js/jquery.gerbera.trail.js
+share/gerbera/web/js/jquery.gerbera.tree.js
+share/gerbera/web/js/md5.js
+share/gerbera/web/mr_reg.xml
+share/gerbera/web/vendor/bootstrap/css/bootstrap-grid.css
+share/gerbera/web/vendor/bootstrap/css/bootstrap-grid.css.map
+share/gerbera/web/vendor/bootstrap/css/bootstrap-grid.min.css
+share/gerbera/web/vendor/bootstrap/css/bootstrap-grid.min.css.map
+share/gerbera/web/vendor/bootstrap/css/bootstrap-reboot.css
+share/gerbera/web/vendor/bootstrap/css/bootstrap-reboot.css.map
+share/gerbera/web/vendor/bootstrap/css/bootstrap-reboot.min.css
+share/gerbera/web/vendor/bootstrap/css/bootstrap-reboot.min.css.map
+share/gerbera/web/vendor/bootstrap/css/bootstrap.css
+share/gerbera/web/vendor/bootstrap/css/bootstrap.css.map
+share/gerbera/web/vendor/bootstrap/css/bootstrap.min.css
+share/gerbera/web/vendor/bootstrap/css/bootstrap.min.css.map
+share/gerbera/web/vendor/bootstrap/js/bootstrap.bundle.js
+share/gerbera/web/vendor/bootstrap/js/bootstrap.bundle.js.map
+share/gerbera/web/vendor/bootstrap/js/bootstrap.bundle.min.js
+share/gerbera/web/vendor/bootstrap/js/bootstrap.bundle.min.js.map
+share/gerbera/web/vendor/bootstrap/js/bootstrap.js
+share/gerbera/web/vendor/bootstrap/js/bootstrap.js.map
+share/gerbera/web/vendor/bootstrap/js/bootstrap.min.js
+share/gerbera/web/vendor/bootstrap/js/bootstrap.min.js.map
+share/gerbera/web/vendor/font-awesome/css/font-awesome.css
+share/gerbera/web/vendor/font-awesome/css/font-awesome.min.css
+share/gerbera/web/vendor/font-awesome/fonts/FontAwesome.otf
+share/gerbera/web/vendor/font-awesome/fonts/fontawesome-webfont.eot
+share/gerbera/web/vendor/font-awesome/fonts/fontawesome-webfont.svg
+share/gerbera/web/vendor/font-awesome/fonts/fontawesome-webfont.ttf
+share/gerbera/web/vendor/font-awesome/fonts/fontawesome-webfont.woff
+share/gerbera/web/vendor/font-awesome/fonts/fontawesome-webfont.woff2
+share/gerbera/web/vendor/jquery/jquery-3.4.0.min.js
+share/gerbera/web/vendor/jquery/jquery-ui.min.js
+share/gerbera/web/vendor/js-cookie.js
+share/gerbera/web/vendor/lato/LICENCE.md
+share/gerbera/web/vendor/lato/lato-v14-latin-ext_latin-regular.woff
+share/gerbera/web/vendor/lato/lato-v14-latin-ext_latin-regular.woff2
+share/gerbera/web/vendor/popper/popper.js
+share/gerbera/web/vendor/tether/tether.min.js
+share/man/man1/gerbera.1
diff --git a/gerbera/distinfo b/gerbera/distinfo
new file mode 100644
index 0000000000..f5c3a50a9d
--- /dev/null
+++ b/gerbera/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+SHA1 (gerbera/v1.4.0.tar.gz) = 5e2f38dd4e7165242fd37b9ec1055d63a9f9fc33
+RMD160 (gerbera/v1.4.0.tar.gz) = 41cf8336230a9822c7227b2847ef593e816f5caa
+SHA512 (gerbera/v1.4.0.tar.gz) = 989716bc60bc7e171448e18aff58d8f17dbbed28ca31cfeaa7dc0e6f1cb646da88041deff6481e15ba398090a01f07e00f74b12e84c423b7ca5b82eb97b918cd
+Size (gerbera/v1.4.0.tar.gz) = 2896853 bytes
diff --git a/gerbera/files/config.xml.in b/gerbera/files/config.xml.in
new file mode 100644
index 0000000000..2075e888c6
--- /dev/null
+++ b/gerbera/files/config.xml.in
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<config version="2" xmlns="http://mediatomb.cc/config/2"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd";>
+  <!--
+     See http://gerbera.io or read the docs for more
+     information on creating and using config.xml configration files.
+    -->
+  <server>
+    <ui enabled="yes" show-tooltips="yes">
+      <accounts enabled="no" session-timeout="30">
+        <account user="gerbera" password="gerbera"/>
+      </accounts>
+    </ui>
+    <name>Gerbera (@OPSYS@)</name>
+    <udn/>
+    <home>@GERBERA_HOME@</home>
+    <webroot>@PREFIX@/share/gerbera/web</webroot>
+    <!--
+        How frequently (in seconds) to send ssdp:alive advertisements.
+        Minimum alive value accepted is: 62
+
+        The advertisement will be sent every (A/2)-30 seconds,
+        and will have a cache-control max-age of A where A is
+        the value configured here. Ex: A value of 62 will result
+        in an SSDP advertisement being sent every second.
+    -->
+    <alive>1800</alive>
+    <storage>
+      <sqlite3 enabled="yes">
+        <database-file>gerbera.db</database-file>
+      </sqlite3>
+    </storage>
+    <protocolInfo extend="no" dlna-seek="yes"/><!-- For PS3 support set extend to "yes" -->
+    <!--
+       Uncomment the lines below to get rid of jerky avi playback on the
+       DSM320 or to enable subtitles support on the DSM units
+    -->
+    <!--
+    <custom-http-headers>
+      <add header="X-User-Agent: redsonic"/>
+    </custom-http-headers>
+
+    <manufacturerURL>redsonic.com</manufacturerURL>
+    <modelNumber>105</modelNumber>
+    -->
+    <!-- Uncomment the line below if you have a Telegent TG100 -->
+    <!--
+       <upnp-string-limit>101</upnp-string-limit>
+    -->
+    <extended-runtime-options>
+      <mark-played-items enabled="no" suppress-cds-updates="yes">
+        <string mode="prepend">*</string>
+        <mark>
+          <content>video</content>
+        </mark>
+      </mark-played-items>
+    </extended-runtime-options>
+  </server>
+  <import hidden-files="no">
+    <scripting script-charset="UTF-8">
+      <common-script>@PREFIX@/share/gerbera/js/common.js</common-script>
+      <playlist-script>@PREFIX@/share/gerbera/js/playlists.js</playlist-script>
+      <virtual-layout type="builtin">
+        <import-script>@PREFIX@/share/gerbera/js/import.js</import-script>
+      </virtual-layout>
+    </scripting>
+    <mappings>
+      <extension-mimetype ignore-unknown="no">
+        <map from="mp3" to="audio/mpeg"/>
+        <map from="ogx" to="application/ogg"/>
+        <map from="ogv" to="video/ogg"/>
+        <map from="oga" to="audio/ogg"/>
+        <map from="ogg" to="audio/ogg"/>
+        <map from="ogm" to="video/ogg"/>
+        <map from="asf" to="video/x-ms-asf"/>
+        <map from="asx" to="video/x-ms-asf"/>
+        <map from="wma" to="audio/x-ms-wma"/>
+        <map from="wax" to="audio/x-ms-wax"/>
+        <map from="wmv" to="video/x-ms-wmv"/>
+        <map from="wvx" to="video/x-ms-wvx"/>
+        <map from="wm" to="video/x-ms-wm"/>
+        <map from="wmx" to="video/x-ms-wmx"/>
+        <map from="m3u" to="audio/x-mpegurl"/>
+        <map from="pls" to="audio/x-scpls"/>
+        <map from="flv" to="video/x-flv"/>
+        <map from="mkv" to="video/x-matroska"/>
+        <map from="mka" to="audio/x-matroska"/>
+        <map from="dsf" to="audio/x-dsd"/>
+        <map from="dff" to="audio/x-dsd"/>
+        <map from="wv" to="audio/x-wavpack"/>
+        <!-- Uncomment the line below for PS3 divx support -->
+        <!-- <map from="avi" to="video/divx"/> -->
+        <!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
+        <!-- <map from="avi" to="video/avi"/> -->
+      </extension-mimetype>
+      <mimetype-upnpclass>
+        <map from="audio/*" to="object.item.audioItem.musicTrack"/>
+        <map from="video/*" to="object.item.videoItem"/>
+        <map from="image/*" to="object.item.imageItem"/>
+        <map from="application/ogg" to="object.item.audioItem.musicTrack"/>
+      </mimetype-upnpclass>
+      <mimetype-contenttype>
+        <treat mimetype="audio/mpeg" as="mp3"/>
+        <treat mimetype="application/ogg" as="ogg"/>
+        <treat mimetype="audio/ogg" as="ogg"/>
+        <treat mimetype="audio/x-flac" as="flac"/>
+        <treat mimetype="audio/flac" as="flac"/>
+        <treat mimetype="audio/x-ms-wma" as="wma"/>
+        <treat mimetype="audio/x-wavpack" as="wv"/>
+        <treat mimetype="image/jpeg" as="jpg"/>
+        <treat mimetype="audio/x-mpegurl" as="playlist"/>
+        <treat mimetype="audio/x-scpls" as="playlist"/>
+        <treat mimetype="audio/x-wav" as="pcm"/>
+        <treat mimetype="audio/L16" as="pcm"/>
+        <treat mimetype="video/x-msvideo" as="avi"/>
+        <treat mimetype="video/mp4" as="mp4"/>
+        <treat mimetype="audio/mp4" as="mp4"/>
+        <treat mimetype="video/x-matroska" as="mkv"/>
+        <treat mimetype="audio/x-matroska" as="mka"/>
+        <treat mimetype="audio/x-dsd" as="dsd"/>
+      </mimetype-contenttype>
+    </mappings>
+    <online-content>
+      <AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640"/>
+    </online-content>
+  </import>
+  <transcoding enabled="no">
+    <mimetype-profile-mappings>
+      <transcode mimetype="video/x-flv" using="vlcmpeg"/>
+      <transcode mimetype="application/ogg" using="vlcmpeg"/>
+      <transcode mimetype="audio/ogg" using="ogg2mp3"/>
+    </mimetype-profile-mappings>
+    <profiles>
+      <profile name="ogg2mp3" enabled="no" type="external">
+        <mimetype>audio/mpeg</mimetype>
+        <accept-url>no</accept-url>
+        <first-resource>yes</first-resource>
+        <accept-ogg-theora>no</accept-ogg-theora>
+        <agent command="ffmpeg" arguments="-y -i %in -f mp3 %out"/>
+        <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
+      </profile>
+      <profile name="vlcmpeg" enabled="no" type="external">
+        <mimetype>video/mpeg</mimetype>
+        <accept-url>yes</accept-url>
+        <first-resource>yes</first-resource>
+        <accept-ogg-theora>yes</accept-ogg-theora>
+        <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
+        <buffer size="14400000" chunk-size="512000" fill-size="120000"/>
+      </profile>
+    </profiles>
+  </transcoding>
+</config>
diff --git a/gerbera/files/gerbera.sh b/gerbera/files/gerbera.sh
new file mode 100644
index 0000000000..a033b707a8
--- /dev/null
+++ b/gerbera/files/gerbera.sh
@@ -0,0 +1,28 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD$
+#
+
+# PROVIDE: gerbera
+# REQUIRE: DAEMON
+
+. /etc/rc.subr
+
+name="gerbera"
+rcvar=$name
+load_rc_config_var gerbera_username gerbera_username
+load_rc_config_var gerbera_groupname gerbera_groupname
+command="@PREFIX@/bin/gerbera"
+logfile="@VARBASE@/log/${name}.log"
+pidfile="@PKG_HOME@/${name}.pid"
+#command_args="-d -u ${gerbera_username:-@GERBERA_USER@} -g ${gerbera_groupname:-@GERBERA_USER@} -m @PKG_HOME@ -P ${pidfile} -l ${logfile} -c @PKG_SYSCONFDIR@/config.xml"
+command_args="-m @PKG_HOME@ -l ${logfile} -c @PKG_SYSCONFDIR@/config.xml"
+extra_commands="reload"
+
+if [ -f /etc/rc.subr ]; then
+	load_rc_config $name
+	run_rc_command "$1"
+else
+	echo -n "${name}"
+	${command} ${gerbera_flags} ${command_args}
+fi


Home | Main Index | Thread Index | Old Index