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:           Sat Feb  7 23:11:46 UTC 2026

Modified Files:
        pkgsrc/multimedia/gerbera: Makefile PLIST distinfo
        pkgsrc/multimedia/gerbera/files: config.xml.in
Removed Files:
        pkgsrc/multimedia/gerbera/patches: patch-CMakeLists.txt
            patch-src_config_grb__runtime.cc
            patch-src_content_import__service.cc
            patch-src_database_sql__database.cc patch-src_upnp_xml__builder.cc
            patch-src_util_grb__time.cc patch-src_util_grb__time.h
            patch-src_web_clients.cc patch-src_web_config__load.cc
            patch-src_web_edit__load.cc

Log Message:
gerbera: update to 3.0.0

>From the release notes:

This releases disconnects Gerbera further from MediaTomb:
* JavaScript integration is changed from script to function
* New database: PostgreSQL

Other notable changes:
* Improved layout for configuration file entries
* Last.FM integration works without old lastfmlib
* Warnings on startup for unused entries when verifying configuration
* Support for loading and running layout scripts has been removed
* Integrated Last.FM support for API 2.0
* WebUI shows referenced items in other parts of layout in details
* Spinner on WebUI while loading
* New command line option for even more data in the config example
* New command line option to drop database
* Allow blocking a group of clients
* Integration with systemd
* Add Build for Ubuntu 25.10
* Improved resource handling for WavPack and FFMpeg
* Additional file type support for DSF and WAV/PCM
* Natural file sorting
* Change displayed text for "PC Directory"
* Sqlite backup is now enabled by default

The default configuration was updated to match the corresponding
changes. This also incorporates support for fmtlib >= 12.

Tested on NetBSD/amd64.


To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 pkgsrc/multimedia/gerbera/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/multimedia/gerbera/PLIST
cvs rdiff -u -r1.11 -r1.12 pkgsrc/multimedia/gerbera/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/multimedia/gerbera/files/config.xml.in
cvs rdiff -u -r1.3 -r0 pkgsrc/multimedia/gerbera/patches/patch-CMakeLists.txt
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/multimedia/gerbera/patches/patch-src_config_grb__runtime.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_content_import__service.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_database_sql__database.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_upnp_xml__builder.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_util_grb__time.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_util_grb__time.h \
    pkgsrc/multimedia/gerbera/patches/patch-src_web_clients.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_web_config__load.cc \
    pkgsrc/multimedia/gerbera/patches/patch-src_web_edit__load.cc

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

Modified files:

Index: pkgsrc/multimedia/gerbera/Makefile
diff -u pkgsrc/multimedia/gerbera/Makefile:1.42 pkgsrc/multimedia/gerbera/Makefile:1.43
--- pkgsrc/multimedia/gerbera/Makefile:1.42     Fri Feb  6 10:05:26 2026
+++ pkgsrc/multimedia/gerbera/Makefile  Sat Feb  7 23:11:45 2026
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.42 2026/02/06 10:05:26 wiz Exp $
+# $NetBSD: Makefile,v 1.43 2026/02/07 23:11:45 khorben Exp $
 
-DISTNAME=      gerbera-2.4.1
-PKGREVISION=   8
+DISTNAME=      gerbera-3.0.0
 CATEGORIES=    multimedia
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=gerbera/}
 GITHUB_TAG=    v${PKGVERSION_NOREV}
@@ -86,6 +85,8 @@ post-install:
 .include "../../sysutils/desktop-file-utils/desktopdb.mk"
 .include "../../textproc/expat/buildlink3.mk"
 .include "../../textproc/fmtlib/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.include "../../textproc/jsoncpp/buildlink3.mk"
 .include "../../textproc/pugixml/buildlink3.mk"
 .include "../../www/curl/buildlink3.mk"
 .include "../../mk/pthread.buildlink3.mk"

Index: pkgsrc/multimedia/gerbera/PLIST
diff -u pkgsrc/multimedia/gerbera/PLIST:1.6 pkgsrc/multimedia/gerbera/PLIST:1.7
--- pkgsrc/multimedia/gerbera/PLIST:1.6 Mon Jan 27 16:19:02 2025
+++ pkgsrc/multimedia/gerbera/PLIST     Sat Feb  7 23:11:45 2026
@@ -1,15 +1,24 @@
-@comment $NetBSD: PLIST,v 1.6 2025/01/27 16:19:02 wiz Exp $
+@comment $NetBSD: PLIST,v 1.7 2026/02/07 23:11:45 khorben Exp $
 bin/gerbera
 man/man1/gerbera.1
 share/applications/gerbera.desktop
 share/examples/gerbera/config.xml
+share/gerbera/config2.xsd
 share/gerbera/js/audio.js
 share/gerbera/js/common.js
+share/gerbera/js/image.js
 share/gerbera/js/import.js
 share/gerbera/js/metadata.js
 share/gerbera/js/playlists.js
+share/gerbera/js/trailer.js
+share/gerbera/js/video.js
+share/gerbera/mysql-drop.sql
 share/gerbera/mysql-upgrade.xml
 share/gerbera/mysql.sql
+share/gerbera/postgres-drop.sql
+share/gerbera/postgres-upgrade.xml
+share/gerbera/postgres.sql
+share/gerbera/sqlite3-drop.sql
 share/gerbera/sqlite3-upgrade.xml
 share/gerbera/sqlite3.sql
 share/gerbera/web/.gitignore

Index: pkgsrc/multimedia/gerbera/distinfo
diff -u pkgsrc/multimedia/gerbera/distinfo:1.11 pkgsrc/multimedia/gerbera/distinfo:1.12
--- pkgsrc/multimedia/gerbera/distinfo:1.11     Sat Jan  3 10:28:11 2026
+++ pkgsrc/multimedia/gerbera/distinfo  Sat Feb  7 23:11:45 2026
@@ -1,15 +1,7 @@
-$NetBSD: distinfo,v 1.11 2026/01/03 10:28:11 wiz Exp $
+$NetBSD: distinfo,v 1.12 2026/02/07 23:11:45 khorben Exp $
 
-BLAKE2s (gerbera-2.4.1.tar.gz) = f39150e2f9fa0d96f35d828b1143279cba7b581dcb5efb9b941ea211d20536fc
-SHA512 (gerbera-2.4.1.tar.gz) = a9081b86170acbf9665a38ef441c082ff8d025c318991deb816d389668ad898532f1ab12341bbc8b109879b790af54083ccf407663ebd9046e9179039f06609c
-Size (gerbera-2.4.1.tar.gz) = 9594796 bytes
+BLAKE2s (gerbera-3.0.0.tar.gz) = cc092c0713a9203ee7202f913f2f120066b43a37cf311b926cb118e5b6334e51
+SHA512 (gerbera-3.0.0.tar.gz) = c57e52fb1012687caa78b2a35751602afbb67d204acb2895c74121e07c2163162899b5bbbb81ecbedcaf5e3c84ae7c0453eee7b4fa4e4145ecd44b9d507b09ef
+Size (gerbera-3.0.0.tar.gz) = 9916800 bytes
 SHA1 (patch-CMakeLists.txt) = 7b8e0e42547da4545be4fdf19dd27e6b5592f21d
 SHA1 (patch-src_config_grb__runtime.cc) = f3118cbffe4fa13bb3a552f31d86cb9bc486b95f
-SHA1 (patch-src_content_import__service.cc) = 4afa79c0ed08d053fcae2fffbf9c2ea184f9ef30
-SHA1 (patch-src_database_sql__database.cc) = 4bc31070b57231e7a82c8875a166df53b9bbef2f
-SHA1 (patch-src_upnp_xml__builder.cc) = 7a6f9a057aafce559af4c0b2d9d2e02a6998676e
-SHA1 (patch-src_util_grb__time.cc) = 1940cd5db96c58f0491c78287f616b33b7a02ce3
-SHA1 (patch-src_util_grb__time.h) = b36497e5aba2a4f2dac70c5ad443c1ccc6330b8b
-SHA1 (patch-src_web_clients.cc) = dac816adfb88e86e1a67ac487c1979b08438f6fc
-SHA1 (patch-src_web_config__load.cc) = 547ec3deb458a84083ab2ac79c3518155ec26d86
-SHA1 (patch-src_web_edit__load.cc) = e00adf578a7093968ca9d4160fe485c32504202c

Index: pkgsrc/multimedia/gerbera/files/config.xml.in
diff -u pkgsrc/multimedia/gerbera/files/config.xml.in:1.1 pkgsrc/multimedia/gerbera/files/config.xml.in:1.2
--- pkgsrc/multimedia/gerbera/files/config.xml.in:1.1   Tue Feb  8 06:26:49 2022
+++ pkgsrc/multimedia/gerbera/files/config.xml.in       Sat Feb  7 23:11:45 2026
@@ -1,9 +1,10 @@
 <?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";>
+<config version="2" xmlns="http://gerbera.io/config/2"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://gerbera.io/config/2 http://gerbera.io/config/2.xsd";>
   <!--
-     See http://gerbera.io or read the docs for more
+     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 3.0.0
+  -->
   <server>
     <ui enabled="yes" show-tooltips="yes">
       <accounts enabled="no" session-timeout="30">
@@ -23,16 +24,12 @@
         the value configured here. Ex: A value of 62 will result
         in an SSDP advertisement being sent every second.
     -->
-    <alive>1800</alive>
+    <alive>180</alive>
     <storage>
       <sqlite3 enabled="yes">
         <database-file>gerbera.db</database-file>
+        <backup enabled="yes" interval="600" />
       </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">
@@ -41,13 +38,15 @@
       <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>
-      <ffmpegthumbnailer enabled="no">
-        <thumbnail-size>128</thumbnail-size>
+      <ffmpegthumbnailer enabled="yes">
+        <thumbnail-size>160</thumbnail-size>
         <seek-percentage>5</seek-percentage>
-        <filmstrip-overlay>yes</filmstrip-overlay>
-        <workaround-bugs>no</workaround-bugs>
+        <filmstrip-overlay>no</filmstrip-overlay>
         <image-quality>8</image-quality>
       </ffmpegthumbnailer>
       <mark-played-items enabled="no" suppress-cds-updates="yes">
@@ -59,20 +58,55 @@
     </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>
+    <magic-file></magic-file>
+    <scripting>
       <virtual-layout type="builtin">
-        <import-script>@PREFIX@/share/gerbera/js/import.js</import-script>
+        <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" />
+        </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-asf" />
-        <map from="dff" to="audio/x-dsd" />
-        <map from="dsf" to="audio/x-dsd" />
+        <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" />
@@ -88,6 +122,7 @@
         <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" />
@@ -125,22 +160,42 @@
         <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>
-    <online-content>
-      <AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640" />
-    </online-content>
   </import>
   <transcoding enabled="no">
     <mimetype-profile-mappings>
@@ -162,9 +217,10 @@
         <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" />
+        <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>
+



Home | Main Index | Thread Index | Old Index