aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--audio/Makefile1
-rw-r--r--audio/lms/Makefile51
-rw-r--r--audio/lms/distinfo3
-rw-r--r--audio/lms/files/lms.in31
-rw-r--r--audio/lms/files/patch-src_libs_subsonic_impl_SubsonicResource.hpp11
-rw-r--r--audio/lms/pkg-descr3
-rw-r--r--audio/lms/pkg-plist57
9 files changed, 159 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index 109235222730..fa1aafe1a47d 100644
--- a/GIDs
+++ b/GIDs
@@ -816,7 +816,7 @@ bitmark:*:872:
bitmark-recorder:*:873:
librespeed:*:874:
# free: 875
-# free: 876
+_lms:*:876:
gemserv:*:877:
gerbera:*:878:
_encrypted-dns:*:879:
diff --git a/UIDs b/UIDs
index 76d70a455da8..976e69a3f392 100644
--- a/UIDs
+++ b/UIDs
@@ -821,7 +821,7 @@ bitmark:*:872:872::0:0:Bitmark Property System:/var/lib/bitmarkd:/usr/sbin/nolog
bitmark-recorder:*:873:873::0:0:Bitmark Property Recorder:/var/lib/recorderd:/usr/sbin/nologin
librespeed:*:874:874::0:0:LibreSpeed user:/nonexistent:/usr/sbin/nologin
# free: 875
-# free: 876
+_lms:*:876:876::0:0:Lightweight Music Server user:/nonexistent:/usr/sbin/nologin
gemserv:*:877:877::0:0:gemserv user:/nonexistent:/usr/sbin/nologin
gerbera:*:878:878::0:0:Gerbera DLNA Media Server:/nonexistent:/usr/sbin/nologin
_encrypted-dns:*:879:879::0:0:encrypted-dns user:/var/empty:/usr/sbin/nologin
diff --git a/audio/Makefile b/audio/Makefile
index 33294914c6ea..6114bf110a07 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -445,6 +445,7 @@
SUBDIR += liquidsfz
SUBDIR += listener
SUBDIR += littlefly-lv2
+ SUBDIR += lms
SUBDIR += lmms
SUBDIR += logitechmediaserver
SUBDIR += logitechmediaserver-dynamicplaylist
diff --git a/audio/lms/Makefile b/audio/lms/Makefile
new file mode 100644
index 000000000000..31b4335db1a7
--- /dev/null
+++ b/audio/lms/Makefile
@@ -0,0 +1,51 @@
+PORTNAME= lms
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.27.0
+CATEGORIES= audio www
+
+MAINTAINER= bram@cbbg.nl
+COMMENT= Web based music streaming client
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS+= libavutil.so:multimedia/ffmpeg \
+ libboost_system.so:devel/boost-libs \
+ libconfig.so:devel/libconfig \
+ libgtest.so:devel/googletest \
+ libtag.so:audio/taglib \
+ libwt.so:www/wt
+RUN_DEPENDS+= ffmpeg:multimedia/ffmpeg
+
+USES= cmake compiler:c++17-lang pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= epoupon
+USE_RC_SUBR= lms
+
+OPTIONS_DEFINE= PAM
+OPTIONS_SINGLE= IMGLIB
+OPTIONS_SINGLE_IMGLIB= GM STB
+OPTIONS_DEFAULT= GM PAM
+
+PAM_DESC= Use the PAM authentication backend
+IMGLIB_DESC= Image library backend
+GM_DESC= GraphicsMagick++
+STB_DESC= STB single-header file libraries
+
+PAM_CMAKE_OFF= -DUSE_PAM=OFF
+GM_CMAKE_ON= -DIMAGE_LIBRARY=GraphicsMagick++
+STB_CMAKE_ON= -DIMAGE_LIBRARY=STB
+
+GM_LIB_DEPENDS+= libGraphicsMagick++.so:graphics/GraphicsMagick \
+ libGraphicsMagick.so:graphics/GraphicsMagick
+STB_BUILD_DEPENDS+= ${LOCALBASE}/include/stb/stb_image.h:devel/stb
+
+USERS= _lms
+GROUPS= _lms
+
+post-install:
+ @${MV} ${STAGEDIR}${DATADIR}/lms.conf ${STAGEDIR}${LOCALBASE}/etc/lms.conf.sample
+ @${MKDIR} ${STAGEDIR}/var/run/${PORTNAME}
+ @${RM} ${STAGEDIR}${DATADIR}/default.service
+
+.include <bsd.port.mk>
diff --git a/audio/lms/distinfo b/audio/lms/distinfo
new file mode 100644
index 000000000000..eec02a6198b3
--- /dev/null
+++ b/audio/lms/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1632938864
+SHA256 (epoupon-lms-v3.27.0_GH0.tar.gz) = 98be611c05cb2a034c38623d1b739ea3e34760da04be8b0b3ba7e0fbb3baedc1
+SIZE (epoupon-lms-v3.27.0_GH0.tar.gz) = 448749
diff --git a/audio/lms/files/lms.in b/audio/lms/files/lms.in
new file mode 100644
index 000000000000..941c0b71296e
--- /dev/null
+++ b/audio/lms/files/lms.in
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# PROVIDE: lms
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+# Add these lines to /etc/rc.conf
+# to enable this service:
+#
+# lms_enable (bool): Set to NO by default.
+# Set it to YES to enable lms.
+# lms_config (path): Set to %%PREFIX%%/etc/lms.conf
+# by default.
+
+. /etc/rc.subr
+
+load_rc_config $name
+: ${lms_config:="%%PREFIX/etc/lms.conf"}
+
+name=lms
+rcvar=lms_enable
+lms_command="%%PREFIX%%/bin/lms"
+lms_args="${lms_config}"
+lms_user=lms
+lms_group=lms
+required_dirs="/var/run/lms"
+pidfile="/var/run/lms/${name}.pid"
+command="/usr/sbin/daemon"
+command_args="-P ${pidfile} -f ${lms_command} ${lms_args}"
+
+run_rc_command "$1"
diff --git a/audio/lms/files/patch-src_libs_subsonic_impl_SubsonicResource.hpp b/audio/lms/files/patch-src_libs_subsonic_impl_SubsonicResource.hpp
new file mode 100644
index 000000000000..35dd8d9a4186
--- /dev/null
+++ b/audio/lms/files/patch-src_libs_subsonic_impl_SubsonicResource.hpp
@@ -0,0 +1,11 @@
+--- src/libs/subsonic/impl/SubsonicResource.hpp.orig 2021-10-02 19:20:11 UTC
++++ src/libs/subsonic/impl/SubsonicResource.hpp
+@@ -19,6 +19,8 @@
+ #pragma once
+
+ #include <string>
++#include <unordered_map>
++
+ #include <Wt/WResource.h>
+ #include <Wt/Http/Response.h>
+
diff --git a/audio/lms/pkg-descr b/audio/lms/pkg-descr
new file mode 100644
index 000000000000..7b65de0e7d4b
--- /dev/null
+++ b/audio/lms/pkg-descr
@@ -0,0 +1,3 @@
+Lightweight Music Server (LMS) is a self-hosted music streaming client
+with a sleek web interface. Access your music collection from anywhere using
+a web interface.
diff --git a/audio/lms/pkg-plist b/audio/lms/pkg-plist
new file mode 100644
index 000000000000..a65aed871e5d
--- /dev/null
+++ b/audio/lms/pkg-plist
@@ -0,0 +1,57 @@
+bin/lms
+bin/lms-metadata
+bin/lms-recommendation
+@sample etc/lms.conf.sample
+@dir(lms,lms,) /var/run/lms
+lib/liblmsauth.so
+lib/liblmsav.so
+lib/liblmscover.so
+lib/liblmsdatabase.so
+lib/liblmsmetadata.so
+lib/liblmsrecommendation.so
+lib/liblmsscanner.so
+lib/liblmsscrobbling.so
+lib/liblmssom.so
+lib/liblmssubsonic.so
+lib/liblmsutils.so
+%%DATADIR%%/lms
+%%DATADIR%%/approot/admin-database.xml
+%%DATADIR%%/approot/admin-initwizard.xml
+%%DATADIR%%/approot/admin-scannercontroller.xml
+%%DATADIR%%/approot/admin-user.xml
+%%DATADIR%%/approot/admin-users.xml
+%%DATADIR%%/approot/artist.xml
+%%DATADIR%%/approot/artists.xml
+%%DATADIR%%/approot/error.xml
+%%DATADIR%%/approot/explore.xml
+%%DATADIR%%/approot/images/unknown-artist.jpg
+%%DATADIR%%/approot/images/unknown-cover.jpg
+%%DATADIR%%/approot/login.xml
+%%DATADIR%%/approot/mediaplayer.xml
+%%DATADIR%%/approot/messages.xml
+%%DATADIR%%/approot/messages_fr.xml
+%%DATADIR%%/approot/messages_it.xml
+%%DATADIR%%/approot/messages_zh.xml
+%%DATADIR%%/approot/playqueue.xml
+%%DATADIR%%/approot/%%CMAKE_BUILD_TYPE%%.xml
+%%DATADIR%%/approot/%%CMAKE_BUILD_TYPE%%s.xml
+%%DATADIR%%/approot/search.xml
+%%DATADIR%%/approot/settings.xml
+%%DATADIR%%/approot/templates.xml
+%%DATADIR%%/approot/tracks.xml
+%%DATADIR%%/docroot/css/S6u8w4BMUTPHjxsAUi-qJCY.woff2
+%%DATADIR%%/docroot/css/S6u8w4BMUTPHjxsAXC-q.woff2
+%%DATADIR%%/docroot/css/S6u9w4BMUTPHh6UVSwaPGR_p.woff2
+%%DATADIR%%/docroot/css/S6u9w4BMUTPHh6UVSwiPGQ.woff2
+%%DATADIR%%/docroot/css/S6uyw4BMUTPHjx4wXg.woff2
+%%DATADIR%%/docroot/css/S6uyw4BMUTPHjxAwXjeu.woff2
+%%DATADIR%%/docroot/css/bootstrap-darkly.min.css
+%%DATADIR%%/docroot/css/bootstrap-flatly.min.css
+%%DATADIR%%/docroot/css/fonts.css
+%%DATADIR%%/docroot/css/lms-darkly.css
+%%DATADIR%%/docroot/css/lms-flatly.css
+%%DATADIR%%/docroot/css/lms.css
+%%DATADIR%%/docroot/js/bootstrap-notify.js
+%%DATADIR%%/docroot/js/bootstrap.min.js
+%%DATADIR%%/docroot/js/jquery-1.10.2.min.js
+%%DATADIR%%/docroot/js/mediaplayer.js