diff --git a/audio/jamulus/Makefile b/audio/jamulus/Makefile index 750323eec68d..75e98cd1293e 100644 --- a/audio/jamulus/Makefile +++ b/audio/jamulus/Makefile @@ -1,68 +1,69 @@ PORTNAME= jamulus DISTVERSIONPREFIX= r DISTVERSION= 3_8_1 +PORTREVISION= 1 CATEGORIES= audio MAINTAINER= yuri@FreeBSD.org COMMENT= Internet jam session software LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libjack.so:audio/jack FLAVORS= desktop server FLAVOR?= ${FLAVORS:[1]} server_PKGNAMESUFFIX= -server USES= compiler:c++11-lang gl pkgconfig qmake qt:5 USE_QT= concurrent core network xml buildtools_build linguisttools_build USE_GL= gl USE_GITHUB= yes GH_ACCOUNT= jamulussoftware .if ${FLAVOR:U} == desktop USE_QT+= gui widgets PLIST_FILES= bin/${PORTNAME} \ share/applications/${PORTNAME}.desktop \ share/applications/${PORTNAME}-server.desktop \ share/pixmaps/${PORTNAME}.png \ share/pixmaps/${PORTNAME}-server.png .endif .if ${FLAVOR:U} == server COMMENT+= (headless server) QMAKE_ARGS= CONFIG+="headless nosound" USER= nobody SUB_LIST= USER=${USER} USE_RC_SUBR= ${PORTNAME}-server PLIST_FILES= bin/${PORTNAME}-server .endif QMAKE_ARGS+= CONFIG+="noupcasename" PORTSCOUT= limit:^r\d+_ # prevent malformatted tags, like 'latest' .if ${FLAVOR:U} == desktop post-install: # workaround for https://gitlab.xfce.org/xfce/xfdesktop/-/issues/131 ${MV} ${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps/jamulus.png ${STAGEDIR}${PREFIX}/share/pixmaps/ ${RM} -r ${STAGEDIR}${PREFIX}/share/icons # add Jamulus Server menu item which is simply 'jamulus -s' with a special icon ${CP} ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}.desktop ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}-server.desktop ${REINPLACE_CMD} -i '' ' \ s|Name=Jamulus|Name=Jamulus Server| ; \ s|Comment=Jam Session|Comment=Jam Session Server| ; \ s|Exec=jamulus|Exec=jamulus -s| ; \ s|Icon=jamulus|Icon=jamulus-server| ; \ ' ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}-server.desktop ${INSTALL_DATA} ${WRKSRC}/src/res/fronticonserver.png ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}-server.png .endif .if ${FLAVOR:U} == server post-install: ${MV} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-server .endif .include diff --git a/audio/jamulus/files/jamulus-server.in b/audio/jamulus/files/jamulus-server.in index 9ff0da5f678d..d1d135048e2c 100644 --- a/audio/jamulus/files/jamulus-server.in +++ b/audio/jamulus/files/jamulus-server.in @@ -1,28 +1,32 @@ #!/bin/sh # PROVIDE: jamulus-server # REQUIRE: DAEMON NETWORKING # KEYWORD: shutdown # Add the following lines to /etc/rc.conf to enable jamulus_server: -# jamulus_server_enable : set to "YES" to enable the daemon, default is "NO" -# jamulus_server_flags : any extra flags, default is "" -# - list of all possible flags: https://jamulus.io/wiki/Command-Line-Options +# jamulus_server_enable : set to "YES" to enable the daemon, default is "NO" +# jamulus_server_uname : user to run jamulus-server as, default is "%%USER%%" +# jamulus_server_flags : extra flags to pass to daemon(8), default is "" +# jamulus_server_args : any arguments to pass to jamulus-server, default is "" +# - list of all possible arguments: https://jamulus.io/wiki/Command-Line-Options . /etc/rc.subr name=jamulus_server rcvar=jamulus_server_enable load_rc_config $name jamulus_server_enable=${jamulus_server_enable:-"NO"} +jamulus_server_uname=${jamulus_server_uname:-"%%USER%%"} jamulus_server_flags=${jamulus_server_flags:-""} +jamulus_server_args=${jamulus_server_args:-""} logfile="/var/log/${name}.log" procname=%%PREFIX%%/bin/jamulus-server command="/usr/sbin/daemon" -command_args="-u %%USER%% -o ${logfile} -t ${name} %%PREFIX%%/bin/jamulus-server -s ${jamulus_server_flags}" +command_args="-u ${jamulus_server_uname} -o ${logfile} -t ${name} %%PREFIX%%/bin/jamulus-server -s ${jamulus_server_args}" run_rc_command "$1"