net-libs/signald: Add ebuild - parlay - yet another gentoo overlay HTML git clone https://git.parazyd.org/parlay DIR Log DIR Files DIR Refs DIR README --- DIR commit 0419f30d801f8b51f789eee279d64dbe15f730aa DIR parent c82b04e4f8b19151dd168ce12ead87ead1a09558 HTML Author: parazyd <parazyd@dyne.org> Date: Thu, 7 Dec 2023 21:28:13 +0100 net-libs/signald: Add ebuild Diffstat: A net-libs/signald/Manifest | 2 ++ A net-libs/signald/files/signald.ini… | 23 +++++++++++++++++++++++ A net-libs/signald/metadata.xml | 19 +++++++++++++++++++ A net-libs/signald/signald-0.23.2-r1… | 68 +++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+), 0 deletions(-) --- DIR diff --git a/net-libs/signald/Manifest b/net-libs/signald/Manifest @@ -0,0 +1,2 @@ +DIST signald-0.23.2.tar.bz2 267235 BLAKE2B 4ef118dcb4003320945a3110488f606889a1e4c716b54a2e984e73a3631b9b205bb782206b4ce1e89b6e2d994464971d52c24491b4c519a5cd5d648df711cea5 SHA512 a308f31a14bd6c7d71441aaa1ec318d21f4d74c224f14940077105bf0f37e3a9fbc6799d89667ce638cce291773df8a468db8e7b87def1d342b5bc6659339dc1 +DIST signald-0.23.2.tar.xz 122142248 BLAKE2B 89f2b288bb0aad314091791bcb4a7cf0dfe52a564e6c81098fa69b0086846d247a680cba8aa8183bd132efac026a1cd522535a732e8f4470b2f9ea07470b5213 SHA512 e97c5e1347809c7caae6914d3a362aeda0ed4cfe46d3a650d8c9a9e5d9668f5bfaff03bb30a26e48042734b97e0ea7de227f5137532bc746e77af3929299e70f DIR diff --git a/net-libs/signald/files/signald.initd b/net-libs/signald/files/signald.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +name="signald daemon" +description="an API for Signal" + +pidfile="/run/${RC_SVCNAME}.pid" +command="/usr/bin/signald" +command_args="-d /var/lib/signald -s /tmp/signald.sock --system-socket" +command_background=true +command_user="signald:signald" + +output_log="/var/log/signald.log" +error_log="/var/log/signald.log" + +depend() { + need net +} + +start_pre() { + checkpath -f -m 0644 -o "$command_user" "$output_log" +} DIR diff --git a/net-libs/signald/metadata.xml b/net-libs/signald/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>parazyd</name> + <email>parazyd@dyne.org</email> + </maintainer> + <longdescription> + a daemon that facilitates communication over Signal. It is unofficial, unapproved, and not nearly as secure as the real Signal clients + Signal does not offer any sort of official API. Unlike traditional messaging applications, the Signal server expects the + client software to perform encryption and key management. signald handles all of these client-side requirements and + exposes a plain-text API which can be easily used by developers to build custom Signal clients. </longdescription> + <upstream> + <changelog>https://gitlab.com/signald/signald/-/releases</changelog> + <doc>https://signald.org</doc> + <bugs-to>https://gitlab.com/signald/signald/-/issues</bugs-to> + <remote-id type="gitlab">signald/signald</remote-id> + </upstream> +</pkgmetadata> DIR diff --git a/net-libs/signald/signald-0.23.2-r1.ebuild b/net-libs/signald/signald-0.23.2-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd + +DESCRIPTION="an API for interacting with Signal Private Messenger" +HOMEPAGE="https://gitlab.com/signald/signald" +SRC_URI="https://gitlab.com/signald/signald/-/archive/${PV}.tar.bz2 -> ${P}.tar.bz2 + https://parazyd.org/pub/mirror/gentoo/distfiles/${P}.tar.xz +" +COMMIT="8cfebfe0ab8395221eca94c4c366abb6d7f39314" +S="${WORKDIR}/${P}-${COMMIT}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="acct-user/signald + virtual/jre" +DEPEND="${RDEPEND}" +BDEPEND="dev-java/gradle-bin:7.3.3" + +# From https://github.com/gentoo/gentoo/pull/28986 +# TODO: inherit this eclass when the PR is merged +GRADLE_ARGS=( + --console=plain + --gradle-user-home "${T}/gradle_user_home" + --info + --no-build-cache + --no-daemon + --offline + --parallel + --project-cache-dir "${T}/gradle_project_cache" + --stacktrace +) + +src_unpack() { + default + mv "${WORKDIR}/gradle_project_cache" "${T}" || die + mv "${WORKDIR}/gradle_user_home" "${T}" || die +} + +src_prepare() { + default + + sed -i -e "s/sqlite-jdbc:3.40.0.0/sqlite-jdbc:3.44.1.0/" \ + "${S}/build.gradle" || die +} + +src_compile() { + gradle "${GRADLE_ARGS[@]}" installDist || die +} + +src_install() { + rm "${S}/build/install/signald/bin/signald.bat" || die + dodir "/var/lib" + mv "${S}/build/install/signald" "${ED}/var/lib" || die + dosym -r "/var/lib/signald/bin/signald" "usr/bin/${PN}" + + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + sed -i -e "s/^EnvironmentFile=-\/etc\/default\/signald$//" \ + "${S}/src/main/resources/io/finn/signald/signald.service" || die + sed -i -e "s/--system-socket/-s \/tmp\/signald.sock/" \ + "${S}/src/main/resources/io/finn/signald/signald.service" || die + systemd_dounit "${S}/src/main/resources/io/finn/signald/signald.service" +}