Date: Wed, 25 Mar 2020 21:39:53 +0000 (UTC) From: Mateusz Piotrowski <0mp@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r529131 - in head: . net-im net-im/signal-cli net-im/signal-cli/files Message-ID: <202003252139.02PLdrPA091354@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: 0mp Date: Wed Mar 25 21:39:53 2020 New Revision: 529131 URL: https://svnweb.freebsd.org/changeset/ports/529131 Log: New port: Command-line and D-Bus interface for Signal and libsignal-service-java signal-cli is a command-line interface for libsignal-service-java. It supports registering, verifying, sending and receiving messages. To be able to link to an existing Signal-Android/signal-cli instance, signal-cli uses a patched libsignal-service-java, because libsignal-service-java does not yet support provisioning as a slave device. For registering you need a phone number where you can receive SMS or incoming calls. signal-cli is primarily intended to be used on servers to notify admins of important events. For this use-case, it has a dbus interface, that can be used to send messages from any programming language that has dbus bindings. WWW: https://github.com/AsamK/signal-cli Added: head/net-im/signal-cli/ head/net-im/signal-cli/Makefile (contents, props changed) head/net-im/signal-cli/distinfo (contents, props changed) head/net-im/signal-cli/files/ head/net-im/signal-cli/files/build.gradle.in (contents, props changed) head/net-im/signal-cli/files/signal-cli.in (contents, props changed) head/net-im/signal-cli/pkg-descr (contents, props changed) head/net-im/signal-cli/pkg-plist (contents, props changed) Modified: head/GIDs head/UIDs head/net-im/Makefile Modified: head/GIDs ============================================================================== --- head/GIDs Wed Mar 25 21:25:24 2020 (r529130) +++ head/GIDs Wed Mar 25 21:39:53 2020 (r529131) @@ -188,7 +188,7 @@ mastodon:*:244: routinator:*:245: fahclient:*:246:fahclient fcron:*:247: -# free: 248 +signal-cli:*:248: # free: 249 sems:*:250: # free: 251 Modified: head/UIDs ============================================================================== --- head/UIDs Wed Mar 25 21:25:24 2020 (r529130) +++ head/UIDs Wed Mar 25 21:39:53 2020 (r529131) @@ -193,7 +193,7 @@ mastodon:*:244:244::0:0:Mastodon User:/usr/local/www/m routinator:*:245:245::0:0:Routinator 3000 Pseudo User:/nonexistent:/usr/sbin/nologin fahclient:*:246:246::0:0:Folding@home User:/nonexistent:/usr/sbin/nologin fcron:*:247:247::0:0:fcron pseudo-user:/nonexistent:/usr/sbin/nologin -# free: 248 +signal-cli:*:248:248::0:0:Signal CLI:/nonexistent:/usr/sbin/nologin # free: 249 sems:*:250:250::0:0:SIP Express Media Server:/nonexistent:/usr/sbin/nologin # free: 251 Modified: head/net-im/Makefile ============================================================================== --- head/net-im/Makefile Wed Mar 25 21:25:24 2020 (r529130) +++ head/net-im/Makefile Wed Mar 25 21:39:53 2020 (r529131) @@ -152,6 +152,7 @@ SUBDIR += sayaka SUBDIR += scudcloud SUBDIR += sendxmpp + SUBDIR += signal-cli SUBDIR += slack-term SUBDIR += spectral SUBDIR += ssh-chat Added: head/net-im/signal-cli/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-im/signal-cli/Makefile Wed Mar 25 21:39:53 2020 (r529131) @@ -0,0 +1,121 @@ +# $FreeBSD$ + +PORTNAME= signal-cli +DISTVERSIONPREFIX= v +DISTVERSION= 0.6.5 +CATEGORIES= net-im java +MASTER_SITES= https://raw.github.com/AsamK/maven/master/releases/org/freedesktop/dbus/dbus-java/2.7.0/:_dbus_java \ + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.0/:_jackson_annotations \ + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.9/:_jackson_core \ + https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.9.2/:_jackson_databind \ + https://repo.maven.apache.org/maven2/com/github/turasa/signal-service-java/2.13.9_unofficial_1/:_signal_service_java \ + https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/2.5.0/:_protobuf_java \ + https://repo.maven.apache.org/maven2/com/googlecode/libphonenumber/libphonenumber/8.10.7/:_libphonenumber \ + https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/3.12.1/:_okhttp \ + https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/:_okio \ + https://repo.maven.apache.org/maven2/net/sourceforge/argparse4j/argparse4j/0.8.1/:_argparse4j \ + https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.64/:_bcprov_jdk15on \ + https://repo.maven.apache.org/maven2/org/signal/signal-metadata-java/0.0.3/:_signal_metadata_java \ + https://repo.maven.apache.org/maven2/org/threeten/threetenbp/1.3.6/:_threetenbp \ + https://repo.maven.apache.org/maven2/org/whispersystems/curve25519-java/0.5.0/:_curve25519_java \ + https://repo.maven.apache.org/maven2/org/whispersystems/signal-protocol-java/2.7.1/:_signal_protocol_java +DISTFILES= argparse4j-0.8.1.jar:_argparse4j \ + bcprov-jdk15on-1.64.jar:_bcprov_jdk15on \ + curve25519-java-0.5.0.jar:_curve25519_java \ + dbus-java-2.7.0.jar:_dbus_java \ + jackson-annotations-2.9.0.jar:_jackson_annotations \ + jackson-core-2.9.9.jar:_jackson_core \ + jackson-databind-2.9.9.2.jar:_jackson_databind \ + libphonenumber-8.10.7.jar:_libphonenumber \ + okhttp-3.12.1.jar:_okhttp \ + okio-1.15.0.jar:_okio \ + protobuf-java-2.5.0.jar:_protobuf_java \ + signal-metadata-java-0.0.3.jar:_signal_metadata_java \ + signal-protocol-java-2.7.1.jar:_signal_protocol_java \ + signal-service-java-2.13.9_unofficial_1.jar:_signal_service_java \ + threetenbp-1.3.6.jar:_threetenbp +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= Command-line and D-Bus interface for Signal and libsignal-service-java + +LICENSE= GPLv3 + +BUILD_DEPENDS= ${LOCALBASE}/lib/jni/libunix-java.so:devel/libmatthew \ + asciidoc>0:textproc/asciidoc \ + gradle>0:devel/gradle +RUN_DEPENDS= ${LOCALBASE}/lib/jni/libunix-java.so:devel/libmatthew + +USES= gmake +USE_GITHUB= yes +GH_ACCOUNT= AsamK +USE_JAVA= yes +JAVA_VERSION= 7+ + +NO_ARCH= yes + +SUB_FILES= ${PORTNAME} + +USERS= signal-cli +GROUPS= signal-cli + +OPTIONS_DEFINE= DBUS +OPTIONS_DEFAULT= DBUS + +DBUS_PLIST_FILES= etc/dbus-1/system.d/org.asamk.Signal.conf \ + share/dbus-1/services/org.asamk.Signal.service + +_GRADLE_CMD= ${LOCALBASE}/bin/gradle +_GRADLE_ARGS= --no-daemon --offline --quiet +_GRADLE_DEPS_DIR= ${WRKDIR}/gradle-deps + +post-extract: + @${MKDIR} ${_GRADLE_DEPS_DIR} +.for distfile in ${DISTFILES:N${DISTNAME}:C/:_[0-9A-Za-z_]*$//} + @${CP} ${DISTDIR}/${distfile} ${_GRADLE_DEPS_DIR}/ +.endfor + @${MV} ${WRKSRC}/build.gradle ${WRKSRC}/original-build.gradle + @${SED} -e 's|%%GRADLE_DEPS_DIR%%|${_GRADLE_DEPS_DIR}|g' \ + ${FILESDIR}/build.gradle.in \ + > ${WRKSRC}/build.gradle + +do-build: + (cd ${WRKSRC} && \ + ${SETENV} GRADLE_USER_HOME=${WRKDIR} \ + ${_GRADLE_CMD} ${_GRADLE_ARGS} build installDist distTar) + ${SETENV} ${MAKE_ENV} ${LOCALBASE}/bin/gmake -C ${WRKSRC}/man + +do-install: + @${MKDIR} ${STAGEDIR}${DATADIR} + ${TAR} -x -f ${WRKSRC}/build/distributions/${PORTNAME}-${DISTVERSION}.tar \ + -C ${STAGEDIR}${DATADIR} --strip-components 1 \ + --exclude '*/bin/*.bat' + @${REINPLACE_CMD} -e 's|#!/usr/bin/env sh|#!/bin/sh|g' \ + ${STAGEDIR}${DATADIR}/bin/${PORTNAME} +# ${RLN} ${STAGEDIR}${DATADIR}/bin/${PORTNAME} # ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + ${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 + +# This target can be used by the maintainer to regenerate MASTER_SITES and +# DISTFILES from project's build.gradle. +# +# Make sure not to add the following JARs from the vendored libmatthew: +# debug-*.jar, hexdump-*.jar, and unix-*.jar. +_get-links: extract + @(cd ${WRKSRC} && \ + ${_GRADLE_CMD} \ + --build-file ${WRKSRC}/build.gradle \ + getURLofDependencyArtifact | \ + ${AWK} '/^MASTER_SITES/,/^$$/{print}' | ${SORT}) + +.include <bsd.port.mk> Added: head/net-im/signal-cli/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-im/signal-cli/distinfo Wed Mar 25 21:39:53 2020 (r529131) @@ -0,0 +1,39 @@ +TIMESTAMP = 1585155138 +SHA256 (signal-service-java-2.13.9_unofficial_1.jar) = 0f8680dad82826cf156c0878a291f7d8e878c5f11232711d2a2a914d51b058cd +SIZE (signal-service-java-2.13.9_unofficial_1.jar) = 939644 +SHA256 (bcprov-jdk15on-1.64.jar) = a4f463ce552b908a722fa198ef4892a226b3225e453f8df10d5c0a5bfe5db6b6 +SIZE (bcprov-jdk15on-1.64.jar) = 4771726 +SHA256 (argparse4j-0.8.1.jar) = 98cb5468cac609f3bc07856f2e34088f50dc114181237c48d20ca69c3265d044 +SIZE (argparse4j-0.8.1.jar) = 110140 +SHA256 (dbus-java-2.7.0.jar) = 83db0cc9e7c72ff68cc5790fba76af1b3289fbdd10897609cec85c662207cc38 +SIZE (dbus-java-2.7.0.jar) = 151953 +SHA256 (signal-metadata-java-0.0.3.jar) = 2ce71cc4ec5dacfbaef4a265fceef61b8a09696b541994106a22a946762cbdcc +SIZE (signal-metadata-java-0.0.3.jar) = 88407 +SHA256 (signal-protocol-java-2.7.1.jar) = 7f6df67a963acbab7716424b01b12fa7279f18a9623a2a7c8ba7b1c285830168 +SIZE (signal-protocol-java-2.7.1.jar) = 379527 +SHA256 (protobuf-java-2.5.0.jar) = e0c1c64575c005601725e7c6a02cebf9e1285e888f756b2a1d73ffa8d725cc74 +SIZE (protobuf-java-2.5.0.jar) = 533455 +SHA256 (libphonenumber-8.10.7.jar) = dbf4bf566d17a60044c19e282a619684e4b4abb0f9f9f24f843c55d19826ab5e +SIZE (libphonenumber-8.10.7.jar) = 338097 +SHA256 (jackson-databind-2.9.9.2.jar) = fb262d42ea2de98044b62d393950a5aa050435fec38bbcadf2325cf7dc41b848 +SIZE (jackson-databind-2.9.9.2.jar) = 1348331 +SHA256 (okhttp-3.12.1.jar) = 07c3d82ca7eaf4722f00b2da807dc7860f6169ae60cfedcf5d40218f90880a46 +SIZE (okhttp-3.12.1.jar) = 422787 +SHA256 (threetenbp-1.3.6.jar) = f4c23ffaaed717c3b99c003e0ee02d6d66377fd47d866fec7d971bd8644fc1a7 +SIZE (threetenbp-1.3.6.jar) = 514875 +SHA256 (unix-0.5.1.jar) = 6e4afe48baf01c036a2f11d99aa94410aede15c62636c6516fcecd458c96d123 +SIZE (unix-0.5.1.jar) = 10873 +SHA256 (jackson-annotations-2.9.0.jar) = 45d32ac61ef8a744b464c54c2b3414be571016dd46bfc2bec226761cf7ae457a +SIZE (jackson-annotations-2.9.0.jar) = 66519 +SHA256 (jackson-core-2.9.9.jar) = 3083079be6088db2ed0a0c6ff92204e0aa48fa1de9db5b59c468f35acf882c2c +SIZE (jackson-core-2.9.9.jar) = 325632 +SHA256 (okio-1.15.0.jar) = 693fa319a7e8843300602b204023b7674f106ebcb577f2dd5807212b66118bd2 +SIZE (okio-1.15.0.jar) = 88732 +SHA256 (debug-1.1.1.jar) = 866458f4a8ce216ca4bb8685c5bf7c7d3403267f8841dd5eae89ff4312397e11 +SIZE (debug-1.1.1.jar) = 5481 +SHA256 (hexdump-0.2.1.jar) = 9c8c798b2be389fb9bf6413d231e5ca36816339f0aafeedc976b41972000e49d +SIZE (hexdump-0.2.1.jar) = 3478 +SHA256 (curve25519-java-0.5.0.jar) = 0aadd43cf01d11e9b58f867b3c4f25c3194e8b0623d1953d32dfbfbee009e38d +SIZE (curve25519-java-0.5.0.jar) = 124921 +SHA256 (AsamK-signal-cli-v0.6.5_GH0.tar.gz) = 1b6fda64ff24e7c5d97506b4b01988d1572cc706fd7fcec7b50555b691f31994 +SIZE (AsamK-signal-cli-v0.6.5_GH0.tar.gz) = 116626 Added: head/net-im/signal-cli/files/build.gradle.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-im/signal-cli/files/build.gradle.in Wed Mar 25 21:39:53 2020 (r529131) @@ -0,0 +1,48 @@ +/* + * $FreeBSD$ + */ + +apply from: 'original-build.gradle' + +repositories { + flatDir { + dirs '%%GRADLE_DEPS_DIR%%' + } +} + +dependencies { + compile fileTree(dir: '%%GRADLE_DEPS_DIR%%', include: '*.jar') +} + +/* + * Based on the scripts written by andforce and pczeus. + * Original scripts: + * - https://stackoverflow.com/a/58748741 + * - https://stackoverflow.com/a/36538091/4694621 + * License: CC BY-SA 4.0 + */ +task getURLofDependencyArtifact() { + doFirst { + project.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact -> + def dependency = artifact.moduleVersion.id + for (ArtifactRepository repository : project.repositories.asList()) { + def url = repository.properties.get('url') + def master_site = String.format("%s%s/%s/%s/", url.toString(), + dependency.group.replace('.', '/'), dependency.name, dependency.version) + def distfile = String.format("%s-%s.jar", dependency.name, dependency.version) + def group = "_" + dependency.name.replaceAll('[^0-9A-Za-z_]', '_') + try { + def jarfile = new URL(master_site + distfile) + def inStream = jarfile.openStream(); + if (inStream != null) { + println("MASTER_SITES+= " + master_site + ":" + group) + println("DISTFILES+= " + distfile + ":" + group) + + return + } + } catch (Exception ignored) { + } + } + } + } +} Added: head/net-im/signal-cli/files/signal-cli.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-im/signal-cli/files/signal-cli.in Wed Mar 25 21:39:53 2020 (r529131) @@ -0,0 +1,6 @@ +#! /bin/sh - +# $FreeBSD$ + +: "${JAVA_OPTS:=-Djava.library.path=%%LOCALBASE%%/lib/jni}" +export JAVA_OPTS +exec %%DATADIR%%/bin/signal-cli "$@" Added: head/net-im/signal-cli/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-im/signal-cli/pkg-descr Wed Mar 25 21:39:53 2020 (r529131) @@ -0,0 +1,11 @@ +signal-cli is a command-line interface for libsignal-service-java. It supports +registering, verifying, sending and receiving messages. To be able to link to +an existing Signal-Android/signal-cli instance, signal-cli uses a patched +libsignal-service-java, because libsignal-service-java does not yet support +provisioning as a slave device. For registering you need a phone number where +you can receive SMS or incoming calls. signal-cli is primarily intended to be +used on servers to notify admins of important events. For this use-case, it has +a dbus interface, that can be used to send messages from any programming +language that has dbus bindings. + +WWW: https://github.com/AsamK/signal-cli Added: head/net-im/signal-cli/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-im/signal-cli/pkg-plist Wed Mar 25 21:39:53 2020 (r529131) @@ -0,0 +1,19 @@ +bin/signal-cli +share/man/man1/signal-cli.1.gz +%%DATADIR%%/bin/signal-cli +%%DATADIR%%/lib/argparse4j-0.8.1.jar +%%DATADIR%%/lib/bcprov-jdk15on-1.64.jar +%%DATADIR%%/lib/curve25519-java-0.5.0.jar +%%DATADIR%%/lib/dbus-java-2.7.0.jar +%%DATADIR%%/lib/jackson-annotations-2.9.0.jar +%%DATADIR%%/lib/jackson-core-2.9.9.jar +%%DATADIR%%/lib/jackson-databind-2.9.9.2.jar +%%DATADIR%%/lib/libphonenumber-8.10.7.jar +%%DATADIR%%/lib/okhttp-3.12.1.jar +%%DATADIR%%/lib/okio-1.15.0.jar +%%DATADIR%%/lib/protobuf-java-2.5.0.jar +%%DATADIR%%/lib/signal-cli-0.6.5.jar +%%DATADIR%%/lib/signal-metadata-java-0.0.3.jar +%%DATADIR%%/lib/signal-protocol-java-2.7.1.jar +%%DATADIR%%/lib/signal-service-java-2.13.9_unofficial_1.jar +%%DATADIR%%/lib/threetenbp-1.3.6.jar
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003252139.02PLdrPA091354>