pkgsrc-Changes archive

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

CVS commit: pkgsrc/multimedia/gerbera



Module Name:    pkgsrc
Committed By:   khorben
Date:           Tue Feb  8 06:26:49 UTC 2022

Added Files:
        pkgsrc/multimedia/gerbera: DESCR Makefile PLIST distinfo options.mk
        pkgsrc/multimedia/gerbera/files: config.xml.in gerbera.desktop.in
            gerbera.sh
        pkgsrc/multimedia/gerbera/patches: patch-src_main.cc
            patch-src_util_logger.h patch-src_util_string__converter.cc

Log Message:
gerbera: import version 1.9.2

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 generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/multimedia/gerbera/DESCR \
    pkgsrc/multimedia/gerbera/Makefile pkgsrc/multimedia/gerbera/PLIST \
    pkgsrc/multimedia/gerbera/distinfo pkgsrc/multimedia/gerbera/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/multimedia/gerbera/files/config.xml.in \
    pkgsrc/multimedia/gerbera/files/gerbera.desktop.in \
    pkgsrc/multimedia/gerbera/files/gerbera.sh
cvs rdiff -u -r0 -r1.1 pkgsrc/multimedia/gerbera/patches/patch-src_main.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_util_logger.h \
    pkgsrc/multimedia/gerbera/patches/patch-src_util_string__converter.cc

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

Added files:

Index: pkgsrc/multimedia/gerbera/DESCR
diff -u /dev/null pkgsrc/multimedia/gerbera/DESCR:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/DESCR     Tue Feb  8 06:26:49 2022
@@ -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.
Index: pkgsrc/multimedia/gerbera/Makefile
diff -u /dev/null pkgsrc/multimedia/gerbera/Makefile:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/Makefile  Tue Feb  8 06:26:49 2022
@@ -0,0 +1,95 @@
+# $NetBSD: Makefile,v 1.1 2022/02/08 06:26:49 khorben Exp $
+
+GITHUB_PROJECT=        gerbera
+GITHUB_TAG=    v1.9.2
+DISTNAME=      v1.9.2
+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
+
+GCC_REQD=      8
+
+RCD_SCRIPTS=   gerbera
+
+.include "../../mk/bsd.prefs.mk"
+
+BUILD_DEFS+=   VARBASE
+
+GERBERA_USER?= gerbera
+GERBERA_GROUP?=        gerbera
+
+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 gerbera.desktop
+SUBST_VARS.config=     GERBERA_HOME PREFIX OPSYS
+SUBST_STAGE.config=    pre-configure
+
+INSTALLATION_DIRS+=    share/applications
+INSTALLATION_DIRS+=    share/examples/gerbera
+INSTALLATION_DIRS+=    ${PKGMANDIR}/man1
+
+CHECK_SHLIBS_SUPPORTED=        no
+
+post-extract:
+       ${CP} ${FILESDIR}/config.xml.in ${WRKSRC}/config.xml
+       ${CP} ${FILESDIR}/gerbera.desktop.in ${WRKSRC}/gerbera.desktop
+
+post-install:
+       ${INSTALL_DATA} ${WRKSRC}/config.xml ${DESTDIR}${EGDIR}/config.xml
+       ${INSTALL_DATA} ${WRKSRC}/gerbera.desktop \
+               ${DESTDIR}${PREFIX}/share/applications/gerbera.desktop
+.if ${PKGMANDIR} != "share/man"
+       ${MV} ${DESTDIR}${PREFIX}/share/man/man1/gerbera.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/gerbera.1
+.endif
+
+.include "options.mk"
+
+.include "../../audio/taglib/buildlink3.mk"
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../databases/sqlite3/buildlink3.mk"
+.if !empty(PKGSRC_COMPILER:M*gcc*)
+.  include "../../devel/libatomic/buildlink3.mk"
+.endif
+.include "../../devel/libebml/buildlink3.mk"
+.include "../../devel/libinotify/buildlink3.mk"
+.include "../../devel/libuuid/buildlink3.mk"
+.include "../../devel/spdlog/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/libexif/buildlink3.mk"
+.include "../../net/libupnp/buildlink3.mk"
+.include "../../sysutils/file/buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+.include "../../textproc/fmtlib/buildlink3.mk"
+.include "../../textproc/pugixml/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/multimedia/gerbera/PLIST
diff -u /dev/null pkgsrc/multimedia/gerbera/PLIST:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/PLIST     Tue Feb  8 06:26:49 2022
@@ -0,0 +1,87 @@
+@comment $NetBSD: PLIST,v 1.1 2022/02/08 06:26:49 khorben Exp $
+bin/gerbera
+man/man1/gerbera.1
+share/applications/gerbera.desktop
+share/examples/gerbera/config.xml
+share/gerbera/js/common.js
+share/gerbera/js/import.js
+share/gerbera/js/playlists.js
+share/gerbera/mysql-upgrade.xml
+share/gerbera/mysql.sql
+share/gerbera/sqlite3-upgrade.xml
+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/gerbera-config-expert.json
+share/gerbera/web/gerbera-config-minimal.json
+share/gerbera/web/gerbera-config-standard.json
+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-clients.module.js
+share/gerbera/web/js/gerbera-config.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-tweak.module.js
+share/gerbera/web/js/gerbera-updates.module.js
+share/gerbera/web/js/jquery.gerbera.autoscan.js
+share/gerbera/web/js/jquery.gerbera.clients.js
+share/gerbera/web/js/jquery.gerbera.config.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/jquery.gerbera.tweak.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.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.5.1.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
Index: pkgsrc/multimedia/gerbera/distinfo
diff -u /dev/null pkgsrc/multimedia/gerbera/distinfo:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/distinfo  Tue Feb  8 06:26:49 2022
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1 2022/02/08 06:26:49 khorben Exp $
+
+BLAKE2s (gerbera/v1.9.2.tar.gz) = 1c1a47d6bddc58a3c4c97a1392ecfe5fed5a999889978e9032e0bf1ac713cce7
+SHA512 (gerbera/v1.9.2.tar.gz) = 91c7215b0bae000d4d8b29797947b29609e81c9387547e199936ce385ef679048a7554d24cd80ab73fc83c4288b29fc4928a23add6f67a1da05501c87afdf7a3
+Size (gerbera/v1.9.2.tar.gz) = 3671452 bytes
+SHA1 (patch-src_main.cc) = 2b17435822e244638deaaa51771149a3797e9c74
+SHA1 (patch-src_util_logger.h) = 162ece8bd495402bdcd512f38129de7a66aead19
+SHA1 (patch-src_util_string__converter.cc) = c040b049e5e3015a681cdd5fe2e0f5b50114a55b
Index: pkgsrc/multimedia/gerbera/options.mk
diff -u /dev/null pkgsrc/multimedia/gerbera/options.mk:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/options.mk        Tue Feb  8 06:26:49 2022
@@ -0,0 +1,47 @@
+# $NetBSD: options.mk,v 1.1 2022/02/08 06:26:49 khorben Exp $
+#
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.gerbera
+
+PKG_SUPPORTED_OPTIONS= debug ffmpeg ffmpegthumbnailer javascript lastfm matroska systemd
+PKG_SUGGESTED_OPTIONS= ffmpegthumbnailer javascript matroska
+
+.include "../../mk/bsd.options.mk"
+
+.if empty(PKG_OPTIONS:Mdebug)
+CMAKE_ARGS+=   -DWITH_DEBUG=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mffmpeg)
+CMAKE_ARGS+=   -DWITH_AVCODEC=ON
+
+.  include "../../multimedia/ffmpeg4/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mffmpegthumbnailer)
+CMAKE_ARGS+=   -DWITH_FFMPEGTHUMBNAILER=ON
+
+.  include "../../multimedia/ffmpegthumbnailer/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mlastfm)
+CMAKE_ARGS+=   -DWITH_LASTFM=ON
+
+.  include "../../audio/liblastfm/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mjavascript)
+CMAKE_ARGS+=   -DWITH_JS=OFF
+
+.  include "../../lang/libduktape/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mmatroska)
+.  include "../../multimedia/libmatroska/buildlink3.mk"
+.else
+CMAKE_ARGS+=   -DWITH_MATROSKA=OFF
+.endif
+
+.if empty(PKG_OPTIONS:Msystemd)
+CMAKE_ARGS+=   -DWITH_SYSTEMD=OFF
+.endif

Index: pkgsrc/multimedia/gerbera/files/config.xml.in
diff -u /dev/null pkgsrc/multimedia/gerbera/files/config.xml.in:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/files/config.xml.in       Tue Feb  8 06:26:49 2022
@@ -0,0 +1,170 @@
+<?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 configuration 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>
+      <mysql enabled="no">
+        <host>localhost</host>
+        <username>gerbera</username>
+        <database>gerbera</database>
+      </mysql>
+    </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>
+    </containers>
+    <extended-runtime-options>
+      <ffmpegthumbnailer enabled="no">
+        <thumbnail-size>128</thumbnail-size>
+        <seek-percentage>5</seek-percentage>
+        <filmstrip-overlay>yes</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>
+    </extended-runtime-options>
+  </server>
+  <import hidden-files="no">
+    <magic-file>magic.file</magic-file>
+    <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="asf" to="video/x-ms-asf" />
+        <map from="asx" to="video/x-ms-asf" />
+        <map from="dff" to="audio/x-dsd" />
+        <map from="dsf" to="audio/x-dsd" />
+        <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="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="video/mp4" as="mp4" />
+        <treat mimetype="video/x-matroska" as="mkv" />
+        <treat mimetype="video/x-msvideo" as="avi" />
+      </mimetype-contenttype>
+      <contenttype-dlnaprofile>
+        <map from="avi" to="AVI" />
+        <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="pcm" to="LPCM" />
+      </contenttype-dlnaprofile>
+    </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="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>
Index: pkgsrc/multimedia/gerbera/files/gerbera.desktop.in
diff -u /dev/null pkgsrc/multimedia/gerbera/files/gerbera.desktop.in:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/files/gerbera.desktop.in  Tue Feb  8 06:26:49 2022
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Gerbera
+Comment=Gerbera UPnP Media Server web interface
+Exec=@PREFIX@/bin/gnome-open @GERBERA_HOME@/gerbera.html
+Icon=@PREFIX@/share/gerbera/web/icons/mt-icon120.png
+Terminal=false
+Categories=Application;AudioVideo;
+Type=Application
+Encoding=UTF-8
Index: pkgsrc/multimedia/gerbera/files/gerbera.sh
diff -u /dev/null pkgsrc/multimedia/gerbera/files/gerbera.sh:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/files/gerbera.sh  Tue Feb  8 06:26:49 2022
@@ -0,0 +1,26 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: gerbera.sh,v 1.1 2022/02/08 06:26:49 khorben Exp $
+#
+
+# PROVIDE: gerbera
+# REQUIRE: DAEMON
+
+$_rc_subr_loaded . @SYSCONFBASE@/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="-u ${gerbera_username:-@GERBERA_USER@} -g ${gerbera_groupname:-@GERBERA_USER@} -m @PKG_HOME@ -P ${pidfile} -l ${logfile} -c @PKG_SYSCONFDIR@/config.xml"
+
+if [ -f @SYSCONFBASE@/rc.subr ]; then
+       load_rc_config $name
+       run_rc_command "$1"
+else
+       echo -n "${name}"
+       ${command} ${gerbera_flags} ${command_args}
+fi

Index: pkgsrc/multimedia/gerbera/patches/patch-src_main.cc
diff -u /dev/null pkgsrc/multimedia/gerbera/patches/patch-src_main.cc:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/patches/patch-src_main.cc Tue Feb  8 06:26:49 2022
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_main.cc,v 1.1 2022/02/08 06:26:49 khorben Exp $
+
+Fix build on NetBSD
+
+--- src/main.cc.orig   2021-09-30 19:23:27.000000000 +0000
++++ src/main.cc
+@@ -266,7 +266,7 @@ int main(int argc, char** argv, char** e
+ // mac os x does this differently, setgid and setuid are basically doing the same
+ // as setresuid and setresgid on linux: setting all of real{u,g}id, effective{u,g}id and saved-set{u,g}id
+ // Solaroid systems are likewise missing setresgid and setresuid
+-#if defined(__APPLE__) || defined(SOLARIS) || defined(__CYGWIN__) || defined(__HAIKU__)
++#if defined(__APPLE__) || defined(SOLARIS) || defined(__CYGWIN__) || defined(__HAIKU__) || defined(__NetBSD__)
+             // set group-ids, then add. groups, last user-ids, all need to succeed
+             if (0 != setgid(user_id->pw_gid) || 0 != initgroups(user_id->pw_name, user_id->pw_gid) || 0 != setuid(user_id->pw_uid)) {
+ #else
Index: pkgsrc/multimedia/gerbera/patches/patch-src_util_logger.h
diff -u /dev/null pkgsrc/multimedia/gerbera/patches/patch-src_util_logger.h:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/patches/patch-src_util_logger.h   Tue Feb  8 06:26:49 2022
@@ -0,0 +1,36 @@
+$NetBSD: patch-src_util_logger.h,v 1.1 2022/02/08 06:26:49 khorben Exp $
+
+Fix for fmt > 8.0
+
+From https://github.com/gerbera/gerbera/commit/82d84ac5e62c23e717198fc7b2ef190ff95e70d1
+
+--- src/util/logger.h.orig     2021-09-30 19:23:27.000000000 +0000
++++ src/util/logger.h
+@@ -32,7 +32,9 @@
+ #ifndef __LOGGER_H__
+ #define __LOGGER_H__
+ 
++#include <fmt/format.h>
+ #include <spdlog/spdlog.h>
++#include <type_traits>
+ 
+ #define log_debug SPDLOG_DEBUG
+ #define log_info SPDLOG_INFO
+@@ -40,4 +42,17 @@
+ #define log_error SPDLOG_ERROR
+ #define log_js SPDLOG_INFO
+ 
++#if FMT_VERSION >= 80100
++template <typename T>
++struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>>
++    : formatter<std::underlying_type_t<T>> {
++    template <typename FormatContext>
++    auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out())
++    {
++        return fmt::formatter<std::underlying_type_t<T>>::format(
++            static_cast<std::underlying_type_t<T>>(value), ctx);
++    }
++};
++#endif
++
+ #endif // __LOGGER_H__
Index: pkgsrc/multimedia/gerbera/patches/patch-src_util_string__converter.cc
diff -u /dev/null pkgsrc/multimedia/gerbera/patches/patch-src_util_string__converter.cc:1.1
--- /dev/null   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/patches/patch-src_util_string__converter.cc       Tue Feb  8 06:26:49 2022
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_util_string__converter.cc,v 1.1 2022/02/08 06:26:49 khorben Exp $
+
+Fix invalid cast
+
+--- src/util/string_converter.cc.orig  2021-09-30 19:23:27.000000000 +0000
++++ src/util/string_converter.cc
+@@ -129,7 +129,7 @@ std::string StringConverter::_convert(co
+     ret = iconv(cd, input_ptr, &input_bytes,
+         output_ptr, &output_bytes);
+ #else
+-    ret = iconv(cd, const_cast<char**>(input_ptr), &input_bytes,
++    ret = iconv(cd, const_cast<const char**>(input_ptr), &input_bytes,
+         output_ptr, &output_bytes);
+ #endif
+ 



Home | Main Index | Thread Index | Old Index