aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2023-02-01 19:10:03 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2023-02-01 19:10:49 +0000
commit17e9a151d83c0b278657d275de34bfc7a780289d (patch)
tree66eddd60f35f75d2c1fd944cdff0c3d154235ce5
parent85faac2f4c4a9a545a15ffb797ecb41ea3d985e5 (diff)
downloadports-17e9a151d83c0b278657d275de34bfc7a780289d.tar.gz
ports-17e9a151d83c0b278657d275de34bfc7a780289d.zip
audio/owntone: DAAP (iTunes), MPD (Music Player Daemon) and RSP (Roku) media server
-rw-r--r--MOVED2
-rw-r--r--audio/Makefile1
-rw-r--r--audio/owntone/Makefile71
-rw-r--r--audio/owntone/distinfo3
-rw-r--r--audio/owntone/files/owntone.in33
-rw-r--r--audio/owntone/files/pkg-message.in27
-rw-r--r--audio/owntone/pkg-descr11
-rw-r--r--audio/owntone/pkg-plist46
8 files changed, 193 insertions, 1 deletions
diff --git a/MOVED b/MOVED
index 9cc7f78934b8..ac3e6708774c 100644
--- a/MOVED
+++ b/MOVED
@@ -17407,7 +17407,7 @@ multimedia/mpeg_play||2022-06-30|Has expired: Obsolete, please consider using mu
multimedia/mpeg_stat||2022-06-30|Has expired: Obsolete, please consider using multimedia/mediainfo or multimedia/ffmpeg
multimedia/qt-faststart||2022-06-30|Has expired: Obsolete, please consider using multimedia/Bento4, multimedia/gpac-mp4box or multimedia/ffmpeg
multimedia/spigot||2022-06-30|Has expired: Deprecated hardware, released in the early 90s
-audio/forked-daapd||2022-06-30|Has expired: Deprecated upstream, project is now called OwnTone
+audio/forked-daapd|audio/owntone|2022-06-30|Has expired: Deprecated upstream, project is now called OwnTone
multimedia/tstools||2022-06-30|Has expired: Obsolete, please consider using multimedia/ffmpeg
multimedia/sabbu||2022-06-30|Has expired: please consider using multimedia/aegisub
multimedia/avinfo||2022-06-30|Has expired: Last release in 2008, please consider using multimedia/mediainfo or multimedia/ffmpeg instead
diff --git a/audio/Makefile b/audio/Makefile
index 33114126e27c..4b59d48f257a 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -559,6 +559,7 @@
SUBDIR += osd-lyrics
SUBDIR += osdmixer
SUBDIR += oss
+ SUBDIR += owntone
SUBDIR += p5-Audio-CD
SUBDIR += p5-Audio-Ecasound
SUBDIR += p5-Audio-FLAC-Header
diff --git a/audio/owntone/Makefile b/audio/owntone/Makefile
new file mode 100644
index 000000000000..4a298ea8c221
--- /dev/null
+++ b/audio/owntone/Makefile
@@ -0,0 +1,71 @@
+PORTNAME= owntone
+DISTVERSION= 28.5
+PORTREVISION= 0
+CATEGORIES= audio
+MASTER_SITES= https://github.com/owntone/owntone-server/releases/download/${DISTVERSION}/
+
+MAINTAINER= dinoex@FreeBSD.org
+COMMENT= DAAP (iTunes), MPD (Music Player Daemon) and RSP (Roku) media server
+WWW= https://github.com/owntone/owntone-server
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libantlr3c.so:devel/libantlr3c \
+ libavahi-client.so:net/avahi-app \
+ libavcodec.so:multimedia/ffmpeg \
+ libconfuse.so:devel/libconfuse \
+ libcurl.so:ftp/curl \
+ libevent_pthreads.so:devel/libevent \
+ libgcrypt.so:security/libgcrypt \
+ libgpg-error.so:security/libgpg-error \
+ libjson-c.so:devel/json-c \
+ libinotify.so:devel/libinotify \
+ libmxml.so:textproc/mxml \
+ libplist-2.0.so:devel/libplist \
+ libsodium.so:security/libsodium \
+ libunistring.so:devel/libunistring \
+ libwebsockets.so:net/libwebsockets \
+ libprotobuf-c.so:devel/protobuf-c \
+ libuuid.so:misc/e2fsprogs-libuuid
+
+USES= tar:xz localbase libtool iconv:wchar_t pkgconfig gnome gmake gperf \
+ sqlite gnome pathfix
+USE_GNOME= libxml2
+
+GNU_CONFIGURE= yes
+
+USE_RC_SUBR= ${PORTNAME}
+SUB_FILES= pkg-message
+
+USERS= daapd
+GROUPS= daapd
+
+OPTIONS_DEFINE= ALSA ITUNES MPD PULSEAUDIO NLS DOCS
+OPTIONS_DEFAULT= ITUNES MPD NLS DOCS
+
+ITUNES_DESC= iTunes XML support
+MPD_DESC= Music Player Daemon protocol support
+
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CONFIGURE_WITH= alsa
+
+ITUNES_CONFIGURE_ENABLE= itunes
+
+MPD_CONFIGURE_ENABLE= mpd
+
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CONFIGURE_WITH= pulseaudio
+
+NLS_USES= gettext-runtime
+NLS_CONFIGURE_ENABLE= nls
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/owntone/owntone-sqlext.so
+ ${RM} ${STAGEDIR}${PREFIX}/etc/systemd/system/owntone.service
+ ${MV} ${STAGEDIR}${PREFIX}/etc/owntone.conf \
+ ${STAGEDIR}${PREFIX}/etc/owntone.conf.sample
+ ${REINPLACE_CMD} -i '' -e 's|uid = "owntone"|uid = "daapd"|' \
+ ${STAGEDIR}${PREFIX}/etc/owntone.conf.sample
+
+.include <bsd.port.mk>
diff --git a/audio/owntone/distinfo b/audio/owntone/distinfo
new file mode 100644
index 000000000000..173a0f9e809c
--- /dev/null
+++ b/audio/owntone/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1674999426
+SHA256 (owntone-28.5.tar.xz) = c9ee0152dc488f782a25a68e72d24c109882bef3dd2914315fe499c8415fd898
+SIZE (owntone-28.5.tar.xz) = 1057644
diff --git a/audio/owntone/files/owntone.in b/audio/owntone/files/owntone.in
new file mode 100644
index 000000000000..c4209cf44a0c
--- /dev/null
+++ b/audio/owntone/files/owntone.in
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# PROVIDE: owntone
+# REQUIRE: avahi_daemon dbus
+# KEYWORD: shutdown
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# owntone_enable (bool): Set to NO by default.
+# Set it to YES to enable owntone.
+# owntone_config (path): Set to %%PREFIX%%/etc/owntone.conf
+# by default.
+# owntone_flags (str): Set to "" by default
+
+. /etc/rc.subr
+
+name=owntone
+rcvar=${name}_enable
+
+load_rc_config $name
+
+: ${owntone_enable:="NO"}
+: ${owntone_config:="%%PREFIX%%/etc/owntone.conf"}
+: ${owntone_flags:=""}
+
+pidfile="/var/run/owntone.pid"
+required_files="$owntone_config"
+
+command="%%PREFIX%%/sbin/owntone"
+command_args="-P $pidfile -c $owntone_config $owntone_flags"
+
+run_rc_command "$1"
diff --git a/audio/owntone/files/pkg-message.in b/audio/owntone/files/pkg-message.in
new file mode 100644
index 000000000000..d7071d85cf3e
--- /dev/null
+++ b/audio/owntone/files/pkg-message.in
@@ -0,0 +1,27 @@
+[
+{ type: install
+ message: <<EOM
+owntone uses FFmpeg for transcoding audio playback.
+The default ports/pkg build of FFmpeg on FreeBSD has a number
+of options which could be SET/UNSET to provide support for
+additional audio codecs.
+
+If you find owntone does not support the audio codecs you
+require, it is recommended to recompile the multimedia/ffmpeg
+package from ports with the necessary options ENABLED (SET).
+
+You should review and edit the owntone configuration
+file %%PREFIX%%/etc/owntone.conf before first use.
+
+To automatically start owntone at boot time:
+# sysrc 'dbus_enable=YES'
+# sysrc 'avahi_daemon_enable=YES'
+# sysrc 'owntone_enable=YES'
+
+To then manually start owntone without rebooting:
+# service dbus start
+# service avahi-daemon start
+# service owntone start
+EOM
+}
+]
diff --git a/audio/owntone/pkg-descr b/audio/owntone/pkg-descr
new file mode 100644
index 000000000000..c087cc4f674e
--- /dev/null
+++ b/audio/owntone/pkg-descr
@@ -0,0 +1,11 @@
+OwnTone is a DAAP (iTunes), MPD (Music Player Daemon) and RSP (Roku) media
+server. It supports AirPlay devices/speakers, Apple Remote (and compatibles),
+MPD clients, Chromecast, network streaming, internet radio, Spotify and LastFM.
+
+It does not support streaming video by AirPlay nor Chromecast.
+
+DAAP stands for Digital Audio Access Protocol which is the protocol used by
+iTunes and friends to share/stream media libraries over the network.
+
+OwnTone was previously called forked-daapd, which again was a rewrite of
+mt-daapd (Firefly Media Server).
diff --git a/audio/owntone/pkg-plist b/audio/owntone/pkg-plist
new file mode 100644
index 000000000000..026cc05b7c4f
--- /dev/null
+++ b/audio/owntone/pkg-plist
@@ -0,0 +1,46 @@
+@sample etc/owntone.conf.sample
+etc/systemd/system/owntone@.service
+lib/owntone/owntone-sqlext.so
+man/man8/owntone.8.gz
+sbin/owntone
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/UPGRADING
+%%PORTDOCS%%%%DOCSDIR%%/docs/advanced/multiple-instances.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/advanced/outputs-alsa.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/advanced/outputs-pulse.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/advanced/radio-streams.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/advanced/remote-access.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/artwork.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/clients/cli.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/clients/mpd.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/clients/remote.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/clients/supported-clients.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/clients/web-interface.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/getting-started.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/index.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/installation.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/integrations/lastfm.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/integrations/spotify.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/json-api.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/library.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/outputs/airplay.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/outputs/chromecast.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/outputs/local-audio.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/outputs/streaming.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/playlists.md
+%%PORTDOCS%%%%DOCSDIR%%/docs/smart-playlists.md
+%%PORTDOCS%%%%DOCSDIR%%/scripts/pairinghelper.sh
+%%DATADIR%%/htdocs/android-chrome-192x192.png
+%%DATADIR%%/htdocs/android-chrome-512x512.png
+%%DATADIR%%/htdocs/apple-touch-icon.png
+%%DATADIR%%/htdocs/assets/index.css
+%%DATADIR%%/htdocs/assets/index.js
+%%DATADIR%%/htdocs/browserconfig.xml
+%%DATADIR%%/htdocs/favicon-16x16.png
+%%DATADIR%%/htdocs/favicon-32x32.png
+%%DATADIR%%/htdocs/favicon.ico
+%%DATADIR%%/htdocs/index.html
+%%DATADIR%%/htdocs/mstile-150x150.png
+%%DATADIR%%/htdocs/safari-pinned-tab.svg
+%%DATADIR%%/htdocs/site.webmanifest
+@dir(daapd,daapd,700) /var/cache/owntone