public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-misc/gerbera/, net-misc/gerbera/files/
@ 2017-05-29 16:20 Ian Whyman
  0 siblings, 0 replies; 4+ messages in thread
From: Ian Whyman @ 2017-05-29 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     771f83cd68910fc092dcbf9c41b87dc4bd4fd18f
Author:     Ian Whyman <thev00d00 <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 16:19:35 2017 +0000
Commit:     Ian Whyman <thev00d00 <AT> gentoo <DOT> org>
CommitDate: Mon May 29 16:20:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=771f83cd

net-misc/gerbera: UPnP Media Server for 2017 (Based on MediaTomb)

Ebuild by me, files borrowed from net-misc/mediatomb.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 net-misc/gerbera/Manifest                   |   1 +
 net-misc/gerbera/files/gerbera-1.0.0.confd  |  28 ++++++
 net-misc/gerbera/files/gerbera-1.0.0.config | 144 ++++++++++++++++++++++++++++
 net-misc/gerbera/files/gerbera-1.0.0.initd  |  29 ++++++
 net-misc/gerbera/gerbera-1.0.0.ebuild       |  98 +++++++++++++++++++
 net-misc/gerbera/gerbera-9999.ebuild        |  98 +++++++++++++++++++
 net-misc/gerbera/metadata.xml               |  19 ++++
 7 files changed, 417 insertions(+)

diff --git a/net-misc/gerbera/Manifest b/net-misc/gerbera/Manifest
new file mode 100644
index 00000000000..a0e6539fedc
--- /dev/null
+++ b/net-misc/gerbera/Manifest
@@ -0,0 +1 @@
+DIST gerbera-1.0.0.tar.gz 805102 SHA256 297c26e0b4223ea96cc6db403e2a2e8f81c51b64284535f3bc644abf24f66975 SHA512 ddc269ce65ba6cd4778c3a7d7dd7f368d659e2813cee962ed167e1ab5a887d8dae32c0197e95733a799c2bb4835904c94f11e1411d4dfab4ed05f39519d4f42d WHIRLPOOL fc568d3e0c58b415b4cfe45a36418c821afcd3909dfd08a99c4ace1c8995d51ea8f7a8f90e13858d60605d5c8ab6aa08b1cb2a10cb02133cef45bfdc2d320ec0

diff --git a/net-misc/gerbera/files/gerbera-1.0.0.confd b/net-misc/gerbera/files/gerbera-1.0.0.confd
new file mode 100644
index 00000000000..7f5c0083025
--- /dev/null
+++ b/net-misc/gerbera/files/gerbera-1.0.0.confd
@@ -0,0 +1,28 @@
+# /etc/conf.d/mediatomb: config file for /etc/init.d/mediatomb
+
+# See the mediatomb(1) manpage for more info.
+
+# MediaTomb Web UI port.
+# NOTE: The minimum value allowed is 49152
+MEDIATOMB_PORT=49152
+
+# Run MediaTomb as this user.
+# NOTE: For security reasons do not run MediaTomb as root.
+MEDIATOMB_USER="mediatomb"
+
+# Run MediaTomb as this group.
+# NOTE: For security reasons do not run MediaTomb as root.
+MEDIATOMB_GROUP="mediatomb"
+
+# Path to MediaTomb config file.
+MEDIATOMB_CONFIG="/etc/mediatomb/config.xml"
+
+# Path to MediaTomb log file.
+MEDIATOMB_LOGFILE="/var/log/mediatomb.log"
+
+# Path to MediaTomb pid file.
+MEDIATOMB_PIDFILE="/var/run/mediatomb.pid"
+
+# Other options you want to pass to MediaTomb.
+# Add "--interface ${MEDIATOMB_INTERFACE}" to bind to a named interface.
+MEDIATOMB_OPTIONS=""

diff --git a/net-misc/gerbera/files/gerbera-1.0.0.config b/net-misc/gerbera/files/gerbera-1.0.0.config
new file mode 100644
index 00000000000..94bdb936e14
--- /dev/null
+++ b/net-misc/gerbera/files/gerbera-1.0.0.config
@@ -0,0 +1,144 @@
+<?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">
+  <server>
+    <ui enabled="yes" show-tooltips="yes">
+      <accounts enabled="no" session-timeout="30">
+        <account user="gerbera" password="mediatomb"/>
+      </accounts>
+    </ui>
+    <name>Gerbera</name>
+    <udn></udn>
+    <home>/var/lib/gerbera</home>
+    <webroot>/usr/share/gerbera/web</webroot>
+    <storage>
+      <sqlite3 enabled="yes">
+        <database-file>gerbera.db</database-file>
+      </sqlite3>
+      <mysql enabled="no">
+        <host>host</host>
+        <database>database</database>
+        <username>username</username>
+        <password>password</password>
+      </mysql>
+    </storage>
+    <protocolInfo extend="yes"/>
+    <pc-directory upnp-hide="no"/>
+    <extended-runtime-options>
+      <ffmpegthumbnailer enabled="no">
+        <thumbnail-size>160</thumbnail-size>
+        <seek-percentage>10</seek-percentage>
+        <filmstrip-overlay>no</filmstrip-overlay>
+        <workaround-bugs>no</workaround-bugs>
+        <image-quality>8</image-quality>
+      </ffmpegthumbnailer>
+      <mark-played-items enabled="no" suppress-cds-updates="yes">
+        <string mode="prepend">*</string>
+        <mark>
+          <content>video</content>
+        </mark>
+      </mark-played-items>
+      <lastfm enabled="no">
+        <username>username</username>
+        <password>password</password>
+      </lastfm>
+    </extended-runtime-options>
+  </server>
+  <import hidden-files="no">
+    <scripting script-charset="UTF-8">
+      <common-script>/usr/share/gerbera/js/common.js</common-script>
+      <playlist-script>/usr/share/gerbera/js/playlists.js</playlist-script>
+      <virtual-layout type="builtin">
+        <import-script>/usr/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="avi" to="video/divx"/>
+        <map from="m2ts" to="video/avc"/>
+        <map from="cr2" to="image/raw"/>
+        <map from="nef" to="image/raw"/>
+      </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"/>
+      </mimetype-upnpclass>
+      <mimetype-contenttype>
+        <treat mimetype="audio/mpeg" as="mp3"/>
+        <treat mimetype="application/ogg" as="ogg"/>
+        <treat mimetype="video/ogg" as="ogg"/>
+        <treat mimetype="audio/ogg" as="ogg"/>
+        <treat mimetype="audio/x-flac" as="flac"/>
+        <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/divx" as="avi"/>
+      </mimetype-contenttype>
+    </mappings>
+    <online-content>
+      <YouTube enabled="no" refresh="28800" update-at-start="yes" purge-after="604800" racy-content="exclude" format="mp4" hd="no">
+        <favorites user="NationalGeographic"/>
+        <playlists user="PlayStation"/>
+        <uploads user="Google"/>
+        <standardfeed feed="most_viewed" time-range="today"/>
+        <standardfeed feed="recently_featured" time-range="today"/>
+      </YouTube>
+    </online-content>
+  </import>
+  <transcoding enabled="no">
+    <mimetype-profile-mappings>
+      <transcode mimetype="audio/ogg" using="audio2pcm"/>
+      <transcode mimetype="audio/x-flac" using="audio2pcm"/>
+      <transcode mimetype="video/ogg" using="video2mpeg"/>
+      <transcode mimetype="video/x-flv" using="video2mpeg"/>
+    </mimetype-profile-mappings>
+    <profiles>
+      <profile name="audio2pcm" enabled="yes" type="external">
+        <mimetype>audio/L16</mimetype>
+        <accept-url>no</accept-url>
+        <first-resource>yes</first-resource>
+        <hide-original-resource>yes</hide-original-resource>
+        <accept-ogg-theora>no</accept-ogg-theora>
+        <sample-frequency>44100</sample-frequency>
+        <audio-channels>2</audio-channels>
+        <agent command="ffmpeg" arguments="-i %in -acodec pcm_s16be -ab 192k -ar 44100 -ac 2 -f s16be -y %out"/>
+        <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
+      </profile>
+      <profile name="video2mpeg" enabled="yes" type="external">
+        <mimetype>video/mpeg</mimetype>
+        <accept-url>no</accept-url>
+        <first-resource>yes</first-resource>
+        <hide-original-resource>yes</hide-original-resource>
+        <accept-ogg-theora>yes</accept-ogg-theora>
+        <sample-frequency>48000</sample-frequency>
+        <audio-channels>2</audio-channels>
+        <agent command="ffmpeg" arguments="-i %in -vcodec mpeg2video -b 4096k -r 25 -acodec mp2 -ab 192k -ar 48000 -ac 2 -async 1 -f dvd -threads 2 -y %out"/>
+        <buffer size="10485760" chunk-size="262144" fill-size="524288"/>
+      </profile>
+    </profiles>
+  </transcoding>
+</config>

diff --git a/net-misc/gerbera/files/gerbera-1.0.0.initd b/net-misc/gerbera/files/gerbera-1.0.0.initd
new file mode 100644
index 00000000000..2e410891897
--- /dev/null
+++ b/net-misc/gerbera/files/gerbera-1.0.0.initd
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+	need net
+	# In order to properly support this (need vs use), we would have to
+	# parse ${MEDIATOMB_CONFIG} and see if mysql is enabled and if it is
+	# pointing to the local system.  #368409
+	use mysql
+}
+
+start() {
+	ebegin "Starting MediaTomb"
+	start-stop-daemon --start --quiet --exec /usr/bin/mediatomb \
+		--pidfile ${MEDIATOMB_PIDFILE} -- --daemon \
+		--pidfile ${MEDIATOMB_PIDFILE} --user ${MEDIATOMB_USER} \
+		--group ${MEDIATOMB_GROUP} --logfile ${MEDIATOMB_LOGFILE} \
+		--config ${MEDIATOMB_CONFIG} --port ${MEDIATOMB_PORT} \
+		${MEDIATOMB_OPTIONS}
+	eend $?
+}
+
+stop () {
+	ebegin "Stopping MediaTomb"
+	start-stop-daemon --stop --retry 10 --quiet --pidfile ${MEDIATOMB_PIDFILE}
+	eend $?
+}

diff --git a/net-misc/gerbera/gerbera-1.0.0.ebuild b/net-misc/gerbera/gerbera-1.0.0.ebuild
new file mode 100644
index 00000000000..aff60159844
--- /dev/null
+++ b/net-misc/gerbera/gerbera-1.0.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils linux-info systemd user
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/v00d00/${PN}.git"
+	KEYWORDS=""
+	SRC_URI=""
+	inherit git-r3
+else
+	SRC_URI="https://github.com/v00d00/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+	S="${WORKDIR}/${P}"
+fi
+
+DESCRIPTION="UPnP Media Server (Based on MediaTomb)"
+HOMEPAGE="https://github.com/v00d00/gerbera"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="curl debug +exif +ffmpeg +javascript lastfm libav +magic mysql +taglib"
+
+DEPEND="
+	!!net-misc/mediatomb
+	net-libs/libupnp:1.8[reuseaddr]
+	>=dev-db/sqlite-3
+	dev-libs/expat
+	mysql? ( virtual/mysql )
+	javascript? ( dev-lang/duktape )
+	taglib? ( >=media-libs/taglib-1.11 )
+	lastfm? ( >=media-libs/lastfmlib-0.4 )
+	exif? ( media-libs/libexif )
+	ffmpeg? (
+		libav? ( >=media-video/libav-10:0= )
+		!libav? ( >=media-video/ffmpeg-2.2:0= )
+	)
+	curl? ( net-misc/curl net-misc/youtube-dl )
+	magic? ( sys-apps/file )
+	sys-apps/util-linux
+	sys-libs/zlib
+	virtual/libiconv
+"
+RDEPEND="${DEPEND}"
+
+CONFIG_CHECK="~INOTIFY_USER"
+
+pkg_setup() {
+	linux-info_pkg_setup
+
+	enewgroup ${PN}
+	enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DWITH_CURL="$(usex curl)" \
+		-DWITH_LOGGING=1 \
+		-DWITH_DEBUG_LOGGING="$(usex debug)" \
+		-DWITH_EXIF="$(usex exif)" \
+		-DWITH_AVCODEC="$(usex ffmpeg)" \
+		-DWITH_JS="$(usex javascript)" \
+		-DWITH_LASTFM="$(usex lastfm)" \
+		-DWITH_MAGIC="$(usex magic)" \
+		-DWITH_MYSQL="$(usex mysql)"
+	)
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	systemd_dounit "${S}/scripts/systemd/${PN}.service"
+	use mysql && systemd_dounit "${S}/scripts/systemd/${PN}-mysql.service"
+
+	newinitd "${FILESDIR}/${PN}-1.0.0.initd" "${PN}"
+	use mysql || sed -i -e "/use mysql/d" "${ED}/etc/init.d/${PN}"
+	newconfd "${FILESDIR}/${PN}-1.0.0.confd" "${PN}"
+
+	insinto /etc/${PN}
+	newins "${FILESDIR}/${PN}-1.0.0.config" config.xml
+	fperms 0600 /etc/${PN}/config.xml
+	fowners gerbera:gerbera /etc/${PN}/config.xml
+
+	keepdir /var/lib/${PN}
+	fowners ${PN}:${PN} /var/lib/${PN}
+}
+
+pkg_postinst() {
+	if use mysql ; then
+		elog "Gerbera has been built with MySQL support and needs"
+		elog "to be configured before being started. By default"
+		elog "SQLite will be used."
+	fi
+}

diff --git a/net-misc/gerbera/gerbera-9999.ebuild b/net-misc/gerbera/gerbera-9999.ebuild
new file mode 100644
index 00000000000..aff60159844
--- /dev/null
+++ b/net-misc/gerbera/gerbera-9999.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils linux-info systemd user
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/v00d00/${PN}.git"
+	KEYWORDS=""
+	SRC_URI=""
+	inherit git-r3
+else
+	SRC_URI="https://github.com/v00d00/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+	S="${WORKDIR}/${P}"
+fi
+
+DESCRIPTION="UPnP Media Server (Based on MediaTomb)"
+HOMEPAGE="https://github.com/v00d00/gerbera"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="curl debug +exif +ffmpeg +javascript lastfm libav +magic mysql +taglib"
+
+DEPEND="
+	!!net-misc/mediatomb
+	net-libs/libupnp:1.8[reuseaddr]
+	>=dev-db/sqlite-3
+	dev-libs/expat
+	mysql? ( virtual/mysql )
+	javascript? ( dev-lang/duktape )
+	taglib? ( >=media-libs/taglib-1.11 )
+	lastfm? ( >=media-libs/lastfmlib-0.4 )
+	exif? ( media-libs/libexif )
+	ffmpeg? (
+		libav? ( >=media-video/libav-10:0= )
+		!libav? ( >=media-video/ffmpeg-2.2:0= )
+	)
+	curl? ( net-misc/curl net-misc/youtube-dl )
+	magic? ( sys-apps/file )
+	sys-apps/util-linux
+	sys-libs/zlib
+	virtual/libiconv
+"
+RDEPEND="${DEPEND}"
+
+CONFIG_CHECK="~INOTIFY_USER"
+
+pkg_setup() {
+	linux-info_pkg_setup
+
+	enewgroup ${PN}
+	enewuser ${PN} -1 -1 /dev/null ${PN}
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DWITH_CURL="$(usex curl)" \
+		-DWITH_LOGGING=1 \
+		-DWITH_DEBUG_LOGGING="$(usex debug)" \
+		-DWITH_EXIF="$(usex exif)" \
+		-DWITH_AVCODEC="$(usex ffmpeg)" \
+		-DWITH_JS="$(usex javascript)" \
+		-DWITH_LASTFM="$(usex lastfm)" \
+		-DWITH_MAGIC="$(usex magic)" \
+		-DWITH_MYSQL="$(usex mysql)"
+	)
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	systemd_dounit "${S}/scripts/systemd/${PN}.service"
+	use mysql && systemd_dounit "${S}/scripts/systemd/${PN}-mysql.service"
+
+	newinitd "${FILESDIR}/${PN}-1.0.0.initd" "${PN}"
+	use mysql || sed -i -e "/use mysql/d" "${ED}/etc/init.d/${PN}"
+	newconfd "${FILESDIR}/${PN}-1.0.0.confd" "${PN}"
+
+	insinto /etc/${PN}
+	newins "${FILESDIR}/${PN}-1.0.0.config" config.xml
+	fperms 0600 /etc/${PN}/config.xml
+	fowners gerbera:gerbera /etc/${PN}/config.xml
+
+	keepdir /var/lib/${PN}
+	fowners ${PN}:${PN} /var/lib/${PN}
+}
+
+pkg_postinst() {
+	if use mysql ; then
+		elog "Gerbera has been built with MySQL support and needs"
+		elog "to be configured before being started. By default"
+		elog "SQLite will be used."
+	fi
+}

diff --git a/net-misc/gerbera/metadata.xml b/net-misc/gerbera/metadata.xml
new file mode 100644
index 00000000000..e244367f765
--- /dev/null
+++ b/net-misc/gerbera/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="person">
+    <email>thev00d00@gentoo.org</email>
+    <name>Ian Whyman</name>
+  </maintainer>
+  <longdescription>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.</longdescription>
+  <use>
+    <flag name="curl">Support YouTube and external media sources (e.g. internet radio)</flag>
+    <flag name="lastfm">Enable last.fm support</flag>
+    <flag name="magic">Use libmagic to determine file types</flag>
+    <flag name="mysql">Use <pkg>dev-db/mysql</pkg> as backend rather than SQLite3</flag>
+    <flag name="taglib">Use <pkg>media-libs/taglib</pkg> for reading files' metadata rather than id3lib</flag>
+  </use>
+  <upstream>
+    <remote-id type="github">v00d00/gerbera</remote-id>
+  </upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/gerbera/, net-misc/gerbera/files/
@ 2017-09-05 19:17 Ian Whyman
  0 siblings, 0 replies; 4+ messages in thread
From: Ian Whyman @ 2017-09-05 19:17 UTC (permalink / raw
  To: gentoo-commits

commit:     3029c1b6974af21316360650904e8713ad04f39d
Author:     Ian Whyman <thev00d00 <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  5 19:17:09 2017 +0000
Commit:     Ian Whyman <thev00d00 <AT> gentoo <DOT> org>
CommitDate: Tue Sep  5 19:17:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3029c1b6

net-misc/gerbera: Fix up init script #629962

Thanks to Michael Orlitzky for the suggestions.

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 net-misc/gerbera/files/gerbera-1.0.0.confd         | 13 ++-----
 net-misc/gerbera/files/gerbera-1.0.0.initd         | 45 ++++++++--------------
 net-misc/gerbera/files/gerbera.tmpfiles            |  1 -
 ...era-1.0.0-r1.ebuild => gerbera-1.0.0-r2.ebuild} | 11 ++----
 net-misc/gerbera/gerbera-9999.ebuild               | 11 ++----
 5 files changed, 27 insertions(+), 54 deletions(-)

diff --git a/net-misc/gerbera/files/gerbera-1.0.0.confd b/net-misc/gerbera/files/gerbera-1.0.0.confd
index 4c4a4422035..3f4bdf16a75 100644
--- a/net-misc/gerbera/files/gerbera-1.0.0.confd
+++ b/net-misc/gerbera/files/gerbera-1.0.0.confd
@@ -6,14 +6,6 @@
 # NOTE: The minimum value allowed is 49152
 GERBERA_PORT=49152
 
-# Run Gerbera as this user.
-# NOTE: For security reasons do not run Gerbera as root.
-GERBERA_USER="gerbera"
-
-# Run Gerbera as this group.
-# NOTE: For security reasons do not run Gerbera as root.
-GERBERA_GROUP="gerbera"
-
 # Path to Gerbera config file.
 GERBERA_CONFIG="/etc/gerbera/config.xml"
 
@@ -21,5 +13,8 @@ GERBERA_CONFIG="/etc/gerbera/config.xml"
 GERBERA_LOGFILE="/var/log/gerbera.log"
 
 # Other options you want to pass to Gerbera.
-# Add "--interface ${GERBERA_INTERFACE}" to bind to a named interface.
+# Add "--interface eth0" to bind to a named interface.
 GERBERA_OPTIONS=""
+
+# Uncomment if you are running Gerbera against a local MySQL
+# rc_need="mysql"

diff --git a/net-misc/gerbera/files/gerbera-1.0.0.initd b/net-misc/gerbera/files/gerbera-1.0.0.initd
index faee5e3c56c..758b0c8101e 100644
--- a/net-misc/gerbera/files/gerbera-1.0.0.initd
+++ b/net-misc/gerbera/files/gerbera-1.0.0.initd
@@ -2,38 +2,23 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
+command="/usr/bin/gerbera"
+command_args="--logfile ${GERBERA_LOGFILE}
+	      --config ${GERBERA_CONFIG}
+	      --port ${GERBERA_PORT}
+	      ${GERBERA_OPTIONS}"
+command_user="gerbera:gerbera"
+command_background=true
+start_stop_daemon_args="--wait 500"
+retry="10"
+pidfile="/run/${RC_SVCNAME}.pid"
+
 depend() {
 	need net
-	# In order to properly support this (need vs use), we would have to
-	# parse ${GERBERA_CONFIG} and see if mysql is enabled and if it is
-	# pointing to the local system.  #368409
-	use mysql
-}
-
-start() {
-	ebegin "Starting Gerbera"
-
-	checkpath --directory --owner "${GERBERA_USER}:${GERBERA_GROUP}" --mode 0755 /run/gerbera
-	checkpath --file --owner "${GERBERA_USER}:${GERBERA_GROUP}" --mode 0644 "${GERBERA_LOGFILE}"
-
-	start-stop-daemon \
-		--start \
-		--exec /usr/bin/gerbera \
-		--user ${GERBERA_USER} \
-		--group ${GERBERA_GROUP} \
-		--background \
-		--wait 500 \
-		-- \
-		--pidfile /run/gerbera/gerbera.pid \
-		--logfile ${GERBERA_LOGFILE} \
-		--config ${GERBERA_CONFIG} \
-		--port ${GERBERA_PORT} \
-		${GERBERA_OPTIONS}
-	eend $?
 }
 
-stop () {
-	ebegin "Stopping Gerbera"
-	start-stop-daemon --stop --retry 10 --quiet --pidfile /run/gerbera/gerbera.pid
-	eend $?
+start_pre() {
+	checkpath --owner "gerbera:gerbera" \
+			  --mode 0644 \
+			  --file "${GERBERA_LOGFILE}"
 }

diff --git a/net-misc/gerbera/files/gerbera.tmpfiles b/net-misc/gerbera/files/gerbera.tmpfiles
deleted file mode 100644
index fcc9b5de490..00000000000
--- a/net-misc/gerbera/files/gerbera.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
-d /run/gerbera 0755 gerbera gerbera -
\ No newline at end of file

diff --git a/net-misc/gerbera/gerbera-1.0.0-r1.ebuild b/net-misc/gerbera/gerbera-1.0.0-r2.ebuild
similarity index 86%
rename from net-misc/gerbera/gerbera-1.0.0-r1.ebuild
rename to net-misc/gerbera/gerbera-1.0.0-r2.ebuild
index 2d2a5ecf2c1..98b91521521 100644
--- a/net-misc/gerbera/gerbera-1.0.0-r1.ebuild
+++ b/net-misc/gerbera/gerbera-1.0.0-r2.ebuild
@@ -6,12 +6,12 @@ EAPI=6
 inherit cmake-utils eutils linux-info systemd tmpfiles user
 
 if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/v00d00/${PN}.git"
+	EGIT_REPO_URI="https://github.com/gerbera/${PN}.git"
 	KEYWORDS=""
 	SRC_URI=""
 	inherit git-r3
 else
-	SRC_URI="https://github.com/v00d00/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	SRC_URI="https://github.com/gerbera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
 	KEYWORDS="~amd64 ~x86"
 	S="${WORKDIR}/${P}"
 fi
@@ -78,18 +78,15 @@ src_install() {
 	use mysql && systemd_dounit "${S}/scripts/systemd/${PN}-mysql.service"
 
 	newinitd "${FILESDIR}/${PN}-1.0.0.initd" "${PN}"
-	use mysql || sed -i -e "/use mysql/d" "${ED}/etc/init.d/${PN}"
 	newconfd "${FILESDIR}/${PN}-1.0.0.confd" "${PN}"
 
 	insinto /etc/${PN}
 	newins "${FILESDIR}/${PN}-1.0.0.config" config.xml
-	fperms 0600 /etc/${PN}/config.xml
-	fowners gerbera:gerbera /etc/${PN}/config.xml
+	fperms 0640 /etc/${PN}/config.xml
+	fowners root:gerbera /etc/${PN}/config.xml
 
 	keepdir /var/lib/${PN}
 	fowners ${PN}:${PN} /var/lib/${PN}
-
-	newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf
 }
 
 pkg_postinst() {

diff --git a/net-misc/gerbera/gerbera-9999.ebuild b/net-misc/gerbera/gerbera-9999.ebuild
index 2d2a5ecf2c1..98b91521521 100644
--- a/net-misc/gerbera/gerbera-9999.ebuild
+++ b/net-misc/gerbera/gerbera-9999.ebuild
@@ -6,12 +6,12 @@ EAPI=6
 inherit cmake-utils eutils linux-info systemd tmpfiles user
 
 if [[ ${PV} == 9999 ]]; then
-	EGIT_REPO_URI="https://github.com/v00d00/${PN}.git"
+	EGIT_REPO_URI="https://github.com/gerbera/${PN}.git"
 	KEYWORDS=""
 	SRC_URI=""
 	inherit git-r3
 else
-	SRC_URI="https://github.com/v00d00/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	SRC_URI="https://github.com/gerbera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
 	KEYWORDS="~amd64 ~x86"
 	S="${WORKDIR}/${P}"
 fi
@@ -78,18 +78,15 @@ src_install() {
 	use mysql && systemd_dounit "${S}/scripts/systemd/${PN}-mysql.service"
 
 	newinitd "${FILESDIR}/${PN}-1.0.0.initd" "${PN}"
-	use mysql || sed -i -e "/use mysql/d" "${ED}/etc/init.d/${PN}"
 	newconfd "${FILESDIR}/${PN}-1.0.0.confd" "${PN}"
 
 	insinto /etc/${PN}
 	newins "${FILESDIR}/${PN}-1.0.0.config" config.xml
-	fperms 0600 /etc/${PN}/config.xml
-	fowners gerbera:gerbera /etc/${PN}/config.xml
+	fperms 0640 /etc/${PN}/config.xml
+	fowners root:gerbera /etc/${PN}/config.xml
 
 	keepdir /var/lib/${PN}
 	fowners ${PN}:${PN} /var/lib/${PN}
-
-	newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf
 }
 
 pkg_postinst() {


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/gerbera/, net-misc/gerbera/files/
@ 2023-11-22 11:38 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2023-11-22 11:38 UTC (permalink / raw
  To: gentoo-commits

commit:     8bf8398982d432aa808c9a699217c635e4c34033
Author:     Kostadin Shishmanov <kocelfc <AT> tutanota <DOT> com>
AuthorDate: Thu Nov 16 20:58:11 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 11:37:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bf83989

net-misc/gerbera: fix building with gcc 14

Closes: https://bugs.gentoo.org/917136

Signed-off-by: Kostadin Shishmanov <kocelfc <AT> tutanota.com>
Closes: https://github.com/gentoo/gentoo/pull/33853
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/gerbera/files/gerbera-1.12.1-gcc14.patch | 81 +++++++++++++++++++++++
 net-misc/gerbera/gerbera-1.12.1-r1.ebuild         |  4 ++
 2 files changed, 85 insertions(+)

diff --git a/net-misc/gerbera/files/gerbera-1.12.1-gcc14.patch b/net-misc/gerbera/files/gerbera-1.12.1-gcc14.patch
new file mode 100644
index 000000000000..9e84f53b3ef4
--- /dev/null
+++ b/net-misc/gerbera/files/gerbera-1.12.1-gcc14.patch
@@ -0,0 +1,81 @@
+From 07f78866608c8f1094696615932e2d8382e5fd8c Mon Sep 17 00:00:00 2001
+From: Kostadin Shishmanov <kocelfc@tutanota.com>
+Date: Thu, 16 Nov 2023 21:17:34 +0200
+Subject: [PATCH] Add #include <algorithm> to fix building with gcc 14
+
+Gentoo bug: https://bugs.gentoo.org/917136
+
+Upstream PR: https://github.com/gerbera/gerbera/pull/2899
+
+Signed-off-by: Kostadin Shishmanov <kocelfc@tutanota.com>
+---
+ src/cds/cds_objects.h                     | 1 +
+ src/iohandler/io_handler_buffer_helper.cc | 2 ++
+ src/iohandler/mem_io_handler.cc           | 2 ++
+ src/util/tools.h                          | 1 +
+ src/util/upnp_clients.cc                  | 2 ++
+ 5 files changed, 8 insertions(+)
+
+diff --git a/src/cds/cds_objects.h b/src/cds/cds_objects.h
+index 4283a3af5..a4b9c1d01 100644
+--- a/src/cds/cds_objects.h
++++ b/src/cds/cds_objects.h
+@@ -34,6 +34,7 @@
+ #ifndef __CDS_OBJECTS_H__
+ #define __CDS_OBJECTS_H__
+ 
++#include <algorithm>
+ #include <map>
+ #include <memory>
+ #include <vector>
+diff --git a/src/iohandler/io_handler_buffer_helper.cc b/src/iohandler/io_handler_buffer_helper.cc
+index ee1de602e..49afd3c8c 100644
+--- a/src/iohandler/io_handler_buffer_helper.cc
++++ b/src/iohandler/io_handler_buffer_helper.cc
+@@ -36,6 +36,8 @@
+ 
+ #include "config/config_manager.h"
+ 
++#include <algorithm>
++
+ IOHandlerBufferHelper::IOHandlerBufferHelper(std::shared_ptr<Config> config, std::size_t bufSize, std::size_t initialFillSize)
+     : config(std::move(config))
+     , bufSize(bufSize)
+diff --git a/src/iohandler/mem_io_handler.cc b/src/iohandler/mem_io_handler.cc
+index 534c452da..230f4aa85 100644
+--- a/src/iohandler/mem_io_handler.cc
++++ b/src/iohandler/mem_io_handler.cc
+@@ -34,6 +34,8 @@
+ 
+ #include "mem_io_handler.h" // API
+ 
++#include <algorithm>
++
+ MemIOHandler::MemIOHandler(const void* buffer, int length)
+     : buffer(new char[length])
+     , length(length)
+diff --git a/src/util/tools.h b/src/util/tools.h
+index 177f09900..de2481c87 100644
+--- a/src/util/tools.h
++++ b/src/util/tools.h
+@@ -33,6 +33,7 @@
+ #ifndef __TOOLS_H__
+ #define __TOOLS_H__
+ 
++#include <algorithm>
+ #include <map>
+ #include <optional>
+ #include <vector>
+diff --git a/src/util/upnp_clients.cc b/src/util/upnp_clients.cc
+index e07fb4508..d95f426fb 100644
+--- a/src/util/upnp_clients.cc
++++ b/src/util/upnp_clients.cc
+@@ -33,6 +33,8 @@
+ 
+ #include <upnp.h>
+ 
++#include <algorithm>
++
+ std::shared_ptr<ClientStatusDetail> ClientStatusDetail::clone() const
+ {
+     return std::make_shared<ClientStatusDetail>(group, itemId, playCount, lastPlayed.count(), lastPlayedPosition.count(), bookMarkPos.count());

diff --git a/net-misc/gerbera/gerbera-1.12.1-r1.ebuild b/net-misc/gerbera/gerbera-1.12.1-r1.ebuild
index 28552ca8d1de..c7fbd27a2fa3 100644
--- a/net-misc/gerbera/gerbera-1.12.1-r1.ebuild
+++ b/net-misc/gerbera/gerbera-1.12.1-r1.ebuild
@@ -48,6 +48,10 @@ DEPEND="${RDEPEND}"
 
 CONFIG_CHECK="~INOTIFY_USER"
 
+PATCHES=(
+	"${FILESDIR}/${PN}-1.12.1-gcc14.patch"
+)
+
 src_configure() {
 	local mycmakeargs=(
 		-DWITH_AVCODEC=$(usex ffmpeg)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/gerbera/, net-misc/gerbera/files/
@ 2025-09-06 15:22 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2025-09-06 15:22 UTC (permalink / raw
  To: gentoo-commits

commit:     850e0e1ea9bfbec9e9b31f5e3e3ec3cc7dc041d7
Author:     Christian Tietz <christian.tietz <AT> mailbox <DOT> org>
AuthorDate: Tue Aug 19 14:14:51 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep  6 15:21:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=850e0e1e

net-misc/gerbera: Bump to 2.6.1

Signed-off-by: Christian Tietz <christian.tietz <AT> mailbox.org>
Part-of: https://github.com/gentoo/gentoo/pull/43333
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/gerbera/Manifest                   |   1 +
 net-misc/gerbera/files/gerbera-2.6.1.config | 233 ++++++++++++++++++++++++++++
 net-misc/gerbera/gerbera-2.6.1.ebuild       | 119 ++++++++++++++
 3 files changed, 353 insertions(+)

diff --git a/net-misc/gerbera/Manifest b/net-misc/gerbera/Manifest
index 37d9f17c1580..7407d1be50ae 100644
--- a/net-misc/gerbera/Manifest
+++ b/net-misc/gerbera/Manifest
@@ -1,2 +1,3 @@
 DIST gerbera-2.3.0.tar.gz 6255947 BLAKE2B bf1d418574fa315cbae91b4174940f78312c95ad91c30bc9b3714915a9204e7c5968b78de03fc63239d4b3f80a488633b737d3a9bfef86263b6c1a7564435ec0 SHA512 5326a22a244ef572a7a825193f0a8595fd4125295e4d9c7d329966e6d0b2995a48c48b75d1b02e809e2423839709d736e34be0329c5028f23c9af69906dcfae7
 DIST gerbera-2.5.0.tar.gz 9873077 BLAKE2B 5bf64753b2aac48fbeef965d774b6c8ad5c04654d605c9e82498f3bda9fd3cc80663f2165af40b440af6db29205474442c97bb83890b92ed42962d00d7c9537a SHA512 f8b172b2a55d38a4ac32de52f519be51876ed523bd7d45098c31b4eaa5f28bc8c542b2927b2e75dc7c508bd7e0232e90c69b8851f8fcfe48494c873ff3586e93
+DIST gerbera-2.6.1.tar.gz 9874477 BLAKE2B 088796791798cbcc1f7bf328a24e2146df921af01489c7972295d56b4d48766a90343a632a8743310940f1ae2714b5c4da16ca4b3cd0557d2369e1fb63cbb52b SHA512 30de613d4de07b68dedcd0048c94b0a630ab9c0d4a12f801373fb2de8a7d3d4f2076535edceb88cc5e2c082605ad015351ed8c16fee70870b791998412d24e7b

diff --git a/net-misc/gerbera/files/gerbera-2.6.1.config b/net-misc/gerbera/files/gerbera-2.6.1.config
new file mode 100644
index 000000000000..fada731c3b8b
--- /dev/null
+++ b/net-misc/gerbera/files/gerbera-2.6.1.config
@@ -0,0 +1,233 @@
+<?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 https://gerbera.io or read the docs for more
+     information on creating and using config.xml configuration files.
+     This file was generated by Gerbera 2.6.1
+  -->
+  <server>
+    <ui enabled="yes" show-tooltips="yes">
+      <accounts enabled="no" session-timeout="30">
+        <account user="gerbera" password="gerbera" />
+      </accounts>
+    </ui>
+    <name>Gerbera</name>
+    <udn>uuid:6f0b6939-9726-4ae7-8278-60d3397747c5</udn>
+    <home>/var/lib/gerbera</home>
+    <webroot>/usr/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>180</alive>
+    <storage>
+      <sqlite3 enabled="yes">
+        <database-file>gerbera.db</database-file>
+        <backup enabled="yes" interval="600" />
+      </sqlite3>
+    </storage>
+    <containers enabled="yes">
+      <container location="/LastAdded" title="Recently Added" sort="-last_updated">
+        <filter>upnp:class derivedfrom "object.item" and last_updated &gt; "@last7"</filter>
+      </container>
+      <container location="/LastModified" title="Recently Modified" sort="-last_modified">
+        <filter>upnp:class derivedfrom "object.item" and last_modified &gt; "@last7"</filter>
+      </container>
+      <container location="/LastPlayed" title="Music Recently Played" sort="-upnp:lastPlaybackTime" upnp-shortcut="MUSIC_LAST_PLAYED">
+        <filter>upnp:class derivedfrom "object.item.audioItem" and upnp:lastPlaybackTime &gt; "@last7"</filter>
+      </container>
+    </containers>
+    <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">
+    <magic-file></magic-file>
+    <scripting script-charset="UTF-8">
+      <script-folder>
+        <common>/usr/share/gerbera/js</common>
+      </script-folder>
+      <import-function>
+        <playlist>importPlaylist</playlist>
+        <meta-file>importMetadata</meta-file>
+        <audio-file>importAudio</audio-file>
+        <video-file>importVideo</video-file>
+        <image-file>importImage</image-file>
+      </import-function>
+      <virtual-layout type="js">
+        <boxlayout>
+          <box key="Root" title="Root" class="object.container" sort-key="00000" />
+          <box key="PCDirectory" title="PC Directory" class="object.container" sort-key="00000" />
+          <box key="Audio/allAlbums" title="Albums" class="object.container" upnp-shortcut="MUSIC_ALBUMS" />
+          <box key="Audio/allArtists" title="Artists" class="object.container" upnp-shortcut="MUSIC_ARTISTS" />
+          <box key="Audio/allAudio" title="All Audio" class="object.container" />
+          <box key="Audio/allComposers" title="Composers" class="object.container" />
+          <box key="Audio/allDirectories" title="Directories" class="object.container" upnp-shortcut="MUSIC_FOLDER_STRUCTURE" />
+          <box key="Audio/allGenres" title="Genres" class="object.container" upnp-shortcut="MUSIC_GENRES" />
+          <box key="Audio/allSongs" title="All Songs" class="object.container" />
+          <box key="Audio/allTracks" title="All - full name" class="object.container" upnp-shortcut="MUSIC_ALL" />
+          <box key="Audio/allYears" title="Year" class="object.container" />
+          <box key="Audio/audioRoot" title="Audio" class="object.container" />
+          <box key="Audio/artistChronology" title="Album Chronology" class="object.container" />
+          <box key="AudioInitial/abc" title="ABC" class="object.container" />
+          <box key="AudioInitial/allArtistTracks" title="000 All" class="object.container" />
+          <box key="AudioInitial/allBooks" title="Books" class="object.container" />
+          <box key="AudioInitial/audioBookRoot" title="AudioBooks" class="object.container" upnp-shortcut="MUSIC_AUDIOBOOKS" />
+          <box key="AudioStructured/allAlbums" title="-Album-" class="object.container" upnp-shortcut="MUSIC_ALBUMS" size="6" />
+          <box key="AudioStructured/allArtistTracks" title="all" class="object.container" />
+          <box key="AudioStructured/allArtists" title="-Artist-" class="object.container" upnp-shortcut="MUSIC_ARTISTS" size="9" />
+          <box key="AudioStructured/allGenres" title="-Genre-" class="object.container" upnp-shortcut="MUSIC_GENRES" size="6" />
+          <box key="AudioStructured/allTracks" title="-Track-" class="object.container" upnp-shortcut="MUSIC_ALL" size="6" />
+          <box key="AudioStructured/allYears" title="-Year-" class="object.container" />
+          <box key="Video/allDates" title="Date" class="object.container" upnp-shortcut="VIDEOS_YEARS_MONTH" />
+          <box key="Video/allDirectories" title="Directories" class="object.container" upnp-shortcut="VIDEOS_FOLDER_STRUCTURE" />
+          <box key="Video/allVideo" title="All Video" class="object.container" upnp-shortcut="VIDEOS_ALL" />
+          <box key="Video/allYears" title="Year" class="object.container" upnp-shortcut="VIDEOS_YEARS" />
+          <box key="Video/unknown" title="Unknown" class="object.container" />
+          <box key="Video/videoRoot" title="Video" class="object.container" upnp-shortcut="VIDEOS" />
+          <box key="Image/allDates" title="Date" class="object.container" upnp-shortcut="IMAGES_YEARS_MONTH" />
+          <box key="Image/allDirectories" title="Directories" class="object.container" upnp-shortcut="IMAGES_FOLDER_STRUCTURE" />
+          <box key="Image/allImages" title="All Photos" class="object.container" upnp-shortcut="IMAGES_ALL" />
+          <box key="Image/allYears" title="Year" class="object.container" upnp-shortcut="IMAGES_YEARS" />
+          <box key="Image/imageRoot" title="Photos" class="object.container" upnp-shortcut="IMAGES" />
+          <box key="Image/unknown" title="Unknown" class="object.container" />
+          <box key="Playlist/playlistRoot" title="Playlists" class="object.container" />
+          <box key="Playlist/allPlaylists" title="All Playlists" class="object.container" />
+          <box key="Playlist/allDirectories" title="Directories" class="object.container" upnp-shortcut="MUSIC_PLAYLISTS" />
+        </boxlayout>
+      </virtual-layout>
+    </scripting>
+    <mappings>
+      <extension-mimetype ignore-unknown="no">
+        <map from="asf" to="video/x-ms-asf" />
+        <map from="asx" to="video/x-ms-asx" />
+        <map from="dff" to="audio/x-dff" />
+        <map from="dsd" to="audio/x-dsd" />
+        <map from="dsf" to="audio/x-dsf" />
+        <map from="flv" to="video/x-flv" />
+        <map from="m2ts" to="video/mp2t" />
+        <map from="m3u" to="audio/x-mpegurl" />
+        <map from="m3u8" to="audio/x-mpegurl" />
+        <map from="m4a" to="audio/mp4" />
+        <map from="mka" to="audio/x-matroska" />
+        <map from="mkv" to="video/x-matroska" />
+        <map from="mp3" to="audio/mpeg" />
+        <map from="mts" to="video/mp2t" />
+        <map from="oga" to="audio/ogg" />
+        <map from="ogg" to="audio/ogg" />
+        <map from="ogm" to="video/ogg" />
+        <map from="ogv" to="video/ogg" />
+        <map from="ogx" to="application/ogg" />
+        <map from="pls" to="audio/x-scpls" />
+        <map from="srt" to="application/x-srt" />
+        <map from="ts" to="video/mp2t" />
+        <map from="tsa" to="audio/mp2t" />
+        <map from="tsv" to="video/mp2t" />
+        <map from="wax" to="audio/x-ms-wax" />
+        <map from="wm" to="video/x-ms-wm" />
+        <map from="wma" to="audio/x-ms-wma" />
+        <map from="wmv" to="video/x-ms-wmv" />
+        <map from="wmx" to="video/x-ms-wmx" />
+        <map from="wv" to="audio/x-wavpack" />
+        <map from="wvx" to="video/x-ms-wvx" />
+        <!-- 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="application/ogg" to="object.item.audioItem.musicTrack" />
+        <map from="audio/*" to="object.item.audioItem.musicTrack" />
+        <map from="image/*" to="object.item.imageItem" />
+        <map from="video/*" to="object.item.videoItem" />
+      </mimetype-upnpclass>
+      <mimetype-contenttype>
+        <treat mimetype="application/ogg" as="ogg" />
+        <treat mimetype="audio/L16" as="pcm" />
+        <treat mimetype="audio/flac" as="flac" />
+        <treat mimetype="audio/mp4" as="mp4" />
+        <treat mimetype="audio/mpeg" as="mp3" />
+        <treat mimetype="audio/ogg" as="ogg" />
+        <treat mimetype="audio/x-dsd" as="dsd" />
+        <treat mimetype="audio/x-flac" as="flac" />
+        <treat mimetype="audio/x-matroska" as="mka" />
+        <treat mimetype="audio/x-mpegurl" as="playlist" />
+        <treat mimetype="audio/x-ms-wma" as="wma" />
+        <treat mimetype="audio/x-scpls" as="playlist" />
+        <treat mimetype="audio/x-wav" as="pcm" />
+        <treat mimetype="audio/x-wavpack" as="wv" />
+        <treat mimetype="image/jpeg" as="jpg" />
+        <treat mimetype="image/png" as="png" />
+        <treat mimetype="video/mkv" as="mkv" />
+        <treat mimetype="video/mp4" as="mp4" />
+        <treat mimetype="video/mpeg" as="mpeg" />
+        <treat mimetype="video/x-matroska" as="mkv" />
+        <treat mimetype="video/x-mkv" as="mkv" />
+        <treat mimetype="video/x-ms-asf" as="asf" />
+        <treat mimetype="video/x-ms-asx" as="playlist" />
+        <treat mimetype="video/x-msvideo" as="avi" />
+      </mimetype-contenttype>
+      <mimetype-dlnatransfermode>
+        <map from="application/ogg" to="Streaming" />
+        <map from="application/x-srt" to="Background" />
+        <map from="audio/*" to="Streaming" />
+        <map from="image/*" to="Interactive" />
+        <map from="srt" to="Background" />
+        <map from="text/*" to="Background" />
+        <map from="video/*" to="Streaming" />
+      </mimetype-dlnatransfermode>
+      <contenttype-dlnaprofile>
+        <map from="asf" to="VC_ASF_AP_L2_WMA" />
+        <map from="avi" to="AVI" />
+        <map from="dsd" to="DSF" />
+        <map from="flac" to="FLAC" />
+        <map from="jpg" to="JPEG_LRG" />
+        <map from="mka" to="MKV" />
+        <map from="mkv" to="MKV" />
+        <map from="mp3" to="MP3" />
+        <map from="mp4" to="AVC_MP4_EU" />
+        <map from="mpeg" to="MPEG_PS_PAL" />
+        <map from="ogg" to="OGG" />
+        <map from="pcm" to="LPCM" />
+        <map from="png" to="PNG_LRG" />
+        <map from="wma" to="WMAFULL" />
+      </contenttype-dlnaprofile>
+    </mappings>
+  </import>
+  <transcoding enabled="no">
+    <mimetype-profile-mappings>
+      <transcode mimetype="application/ogg" using="vlcmpeg" />
+      <transcode mimetype="audio/ogg" using="ogg2mp3" />
+      <transcode mimetype="video/x-flv" using="vlcmpeg" />
+    </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/net-misc/gerbera/gerbera-2.6.1.ebuild b/net-misc/gerbera/gerbera-2.6.1.ebuild
new file mode 100644
index 000000000000..ad2ddb5f577c
--- /dev/null
+++ b/net-misc/gerbera/gerbera-2.6.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="sphinx"
+DOCS_DIR="doc"
+DOCS_AUTODOC=0
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+# python-any-r1 is inherited first because docs.eclass sources it, and cmake.eclass exports phases.
+inherit python-any-r1 cmake docs flag-o-matic linux-info
+
+DESCRIPTION="UPnP Media Server"
+HOMEPAGE="https://gerbera.io"
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/gerbera/${PN}.git"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/gerbera/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+	S="${WORKDIR}/${P}"
+	KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="curl debug doc +exif exiv2 +ffmpeg ffmpegthumbnailer +javascript +magic +matroska mysql systemd +taglib test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	acct-group/gerbera
+	acct-user/gerbera
+	dev-db/sqlite
+	dev-libs/libebml:=
+	dev-libs/libfmt:=
+	dev-libs/pugixml
+	dev-libs/spdlog:=
+	net-libs/libupnp:=[ipv6(+),reuseaddr,-blocking-tcp]
+	sys-apps/util-linux
+	sys-libs/zlib
+	virtual/libiconv
+	curl? ( net-misc/curl )
+	exif? ( media-libs/libexif )
+	exiv2? ( media-gfx/exiv2:= )
+	ffmpeg? ( media-video/ffmpeg:= )
+	ffmpegthumbnailer? ( media-video/ffmpegthumbnailer[png] )
+	javascript? ( dev-lang/duktape:= )
+	magic? ( sys-apps/file )
+	matroska? ( media-libs/libmatroska:= )
+	mysql? ( dev-db/mysql-connector-c:= )
+	taglib? ( media-libs/taglib:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	doc? (
+		${PYTHON_DEPS}
+		$(python_gen_any_dep '
+			dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+		')
+		media-gfx/graphviz
+	)
+	test? ( dev-cpp/gtest )
+"
+
+CONFIG_CHECK="~INOTIFY_USER"
+
+src_configure() {
+	# bug #941944
+	filter-lto
+
+	local mycmakeargs=(
+		-DBUILD_DOC=OFF
+		-DINSTALL_DOC=OFF
+		-DWITH_AVCODEC=$(usex ffmpeg)
+		-DWITH_CURL=$(usex curl)
+		-DWITH_DEBUG=$(usex debug)
+		-DWITH_EXIF=$(usex exif)
+		-DWITH_EXIV2=$(usex exiv2)
+		-DWITH_FFMPEGTHUMBNAILER=$(usex ffmpegthumbnailer)
+		-DWITH_INOTIFY=ON
+		-DWITH_JS=$(usex javascript)
+		-DWITH_LASTFM=OFF
+		-DWITH_MAGIC=$(usex magic)
+		-DWITH_MATROSKA=$(usex matroska)
+		-DWITH_MYSQL=$(usex mysql)
+		-DWITH_SYSTEMD=$(usex systemd)
+		-DWITH_TAGLIB=$(usex taglib)
+		-DWITH_TESTS=$(usex test)
+	)
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+	docs_compile
+}
+
+src_install() {
+	cmake_src_install
+
+	newinitd "${FILESDIR}"/${PN}-1.0.0.initd ${PN}
+	newconfd "${FILESDIR}"/${PN}-1.0.0.confd ${PN}
+
+	insinto /etc/${PN}
+	newins "${FILESDIR}"/${PN}-2.6.1.config config.xml
+	fperms 0640 /etc/${PN}/config.xml
+	fowners root:gerbera /etc/${PN}/config.xml
+}
+
+pkg_postinst() {
+	if use mysql; then
+		elog "Gerbera has been built with MySQL support and needs"
+		elog "to be configured before being started. By default"
+		elog "SQLite will be used."
+	fi
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-09-06 15:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-29 16:20 [gentoo-commits] repo/gentoo:master commit in: net-misc/gerbera/, net-misc/gerbera/files/ Ian Whyman
  -- strict thread matches above, loose matches on Subject: below --
2017-09-05 19:17 Ian Whyman
2023-11-22 11:38 Sam James
2025-09-06 15:22 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox