diff --git a/net-im/signal-cli/Makefile b/net-im/signal-cli/Makefile index 772180cd8f91..227f3fd71955 100644 --- a/net-im/signal-cli/Makefile +++ b/net-im/signal-cli/Makefile @@ -1,94 +1,95 @@ PORTNAME= signal-cli DISTVERSIONPREFIX= v DISTVERSION= 0.9.0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= net-im java MASTER_SITES= https://github.com/${GH_ACCOUNT}/${PORTNAME}/releases/download/${DISTVERSIONFULL}/:jars DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}:jars MAINTAINER= 0mp@FreeBSD.org COMMENT= Command-line and D-Bus interface for Signal and libsignal-service-java LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE EXTRACT_DEPENDS= zip:archivers/zip BUILD_DEPENDS= asciidoc>0:textproc/asciidoc LIB_DEPENDS= libsignal_jni.so:net-im/libsignal-client \ libzkgroup.so:net-im/zkgroup RUN_DEPENDS= libsignal-client>=0.9.0:net-im/libsignal-client TEST_DEPENDS= qrencode:graphics/libqrencode USES= gmake shebangfix USE_GITHUB= yes GH_ACCOUNT= AsamK USE_JAVA= yes JAVA_VERSION= 11+ JAVA_RUN= jre USE_RC_SUBR= signal_cli SHEBANG_FILES= bin/${PORTNAME} SHEBANG_LANG= sh sh_CMD= /bin/sh NO_ARCH= yes SUB_FILES= ${PORTNAME} pkg-message SUB_LIST= JAVA_HOME="${JAVA_HOME}" BUILD_WRKSRC= ${WRKSRC}/man TEST_ENV= ${MAKE_ENV} XDG_DATA_HOME=${WORKDIR}/xdg-data-home USERS= signal-cli GROUPS= signal-cli PLIST_SUB= VERSION=${DISTVERSION} OPTIONS_DEFINE= DBUS OPTIONS_DEFAULT= DBUS DBUS_RUN_DEPENDS= dbus>0:devel/dbus DBUS_PLIST_FILES= etc/dbus-1/system.d/org.asamk.Signal.conf \ share/dbus-1/services/org.asamk.Signal.service post-extract: # Delete bundled libraries from the JARs. Otherwise, they are going to conflict # with the libraries installed by net-im/zkgroup and net-im/libsignal-client. zip -d ${WRKSRC}/lib/zkgroup-java-*.jar libzkgroup.so zip -d ${WRKSRC}/lib/signal-client-java-*.jar libsignal_jni.so do-install: @${MKDIR} ${STAGEDIR}${DATADIR}/bin ${INSTALL_SCRIPT} ${WRKSRC}/bin/${PORTNAME} \ ${STAGEDIR}${DATADIR}/bin/${PORTNAME} @${MKDIR} ${STAGEDIR}${DATADIR}/lib ${INSTALL_DATA} ${WRKSRC}/lib/*.jar \ ${STAGEDIR}${DATADIR}/lib/ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} \ ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${INSTALL_MAN} ${WRKSRC}/man/signal-cli.1 \ ${STAGEDIR}${MAN1PREFIX}/share/man/man1 post-install-DBUS-on: @${MKDIR} ${STAGEDIR}${PREFIX}/share/dbus-1/services ${INSTALL_DATA} ${WRKSRC}/data/org.asamk.Signal.service \ ${STAGEDIR}${PREFIX}/share/dbus-1/services @${MKDIR} ${STAGEDIR}${PREFIX}/etc/dbus-1/system.d ${INSTALL_DATA} ${WRKSRC}/data/org.asamk.Signal.conf \ ${STAGEDIR}${PREFIX}/etc/dbus-1/system.d pre-test: if [ "${_TEST_SIGNAL_CLI_USERNAME}" = "" ]; then \ @${ECHO_MSG} "_TEST_SIGNAL_CLI_USERNAME must be set to run tests"; \ ${FALSE}; \ fi do-test: ${SETENV} ${TEST_ENV} ${STAGEDIR}${DATADIR}/bin/signal-cli \ link --name "${PORTNAME} test $$(date)" | \ xargs -n 1 qrencode -t ANSI256 ${SETENV} ${TEST_ENV} ${STAGEDIR}${DATADIR}/bin/signal-cli \ send --message "${PORTNAME} test $$(date)" \ "${_TEST_SIGNAL_CLI_USERNAME}" .include diff --git a/net-im/signal-cli/files/signal_cli.in b/net-im/signal-cli/files/signal_cli.in index 358d4955da26..cab51212c20e 100644 --- a/net-im/signal-cli/files/signal_cli.in +++ b/net-im/signal-cli/files/signal_cli.in @@ -1,81 +1,80 @@ #! /bin/sh - # SPDX-License-Identifier: BSD-2-Clause # # Copyright (c) 2020 Mateusz Piotrowski <0mp@FreeBSD.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # PROVIDE: signal_cli # REQUIRE: DAEMON LOGIN NETWORKING dbus . /etc/rc.subr name='signal_cli' rcvar='signal_cli_enable' # User-facing settings and their default values. : "${signal_cli_enable:=NO}" : "${signal_cli_phone_number}" # No default value. Kept here for consistency. : "${signal_cli_config_dir:="/var/lib/signal-cli"}" pidfile="/var/run/signal_cli.pid" procname="%%JAVA_HOME%%/bin/java" _daemon_args="-p ${pidfile} -u signal-cli" _signal_cli="%%PREFIX%%/bin/signal-cli --config ${signal_cli_config_dir}" _signal_cli_args="-u ${signal_cli_phone_number}" _signal_cli_cmd="daemon" _signal_cli_cmd_opts="--system" command="/usr/sbin/daemon" command_args="${_daemon_args} ${_signal_cli} ${_signal_cli_args} ${_signal_cli_cmd} ${_signal_cli_cmd_opts}" extra_commands="runcli" start_precmd="signal_cli_prestart" -runcli_precmd="signal_cli_preruncli" runcli_cmd="signal_cli_runcli" signal_cli_create_config_dir() { if ! install -d -o signal-cli -g signal-cli -m 700 "${signal_cli_config_dir}"; then err 1 "Failed to create a config directory at \"${signal_cli_create_config_dir}\"" fi } signal_cli_prestart() { if [ -z "${signal_cli_phone_number}" ]; then err 1 "Phone number not provided; please set signal_cli_phone_number" fi signal_cli_create_config_dir } signal_cli_preconfigure() { signal_cli_create_config_dir } # The "runcli" command can be used to run any signal-cli command (for example # "link -n DEVICENAME") from the environment of the service. signal_cli_runcli() { chroot -u signal-cli / ${_signal_cli} "$@" } load_rc_config "$name" run_rc_command "$@"