From 2ceadd4382d9c2b3482747a2612765ce9a64a345 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Fri, 14 Nov 2025 14:34:35 +0100 Subject: [PATCH 1/2] wip --- dev-libs/libsignal-ffi/Manifest | 5 ++ .../libsignal-ffi/files/vendor-config.toml | 20 ++++++ .../libsignal-ffi/libsignal-ffi-0.72.1.ebuild | 68 +++++++++++++++++++ dev-libs/libsignal-ffi/metadata.xml | 13 ++++ .../md5-cache/dev-libs/libsignal-ffi-0.72.1 | 14 ++++ net-im/mautrix-signal/Manifest | 4 ++ .../mautrix-signal/files/mautrix-signal.initd | 25 +++++++ .../files/mautrix-signal.service | 12 ++++ .../mautrix-signal-0.8.3.ebuild | 67 ++++++++++++++++++ net-im/mautrix-signal/metadata.xml | 19 ++++++ 10 files changed, 247 insertions(+) create mode 100644 dev-libs/libsignal-ffi/Manifest create mode 100644 dev-libs/libsignal-ffi/files/vendor-config.toml create mode 100644 dev-libs/libsignal-ffi/libsignal-ffi-0.72.1.ebuild create mode 100644 dev-libs/libsignal-ffi/metadata.xml create mode 100644 metadata/md5-cache/dev-libs/libsignal-ffi-0.72.1 create mode 100644 net-im/mautrix-signal/Manifest create mode 100644 net-im/mautrix-signal/files/mautrix-signal.initd create mode 100644 net-im/mautrix-signal/files/mautrix-signal.service create mode 100644 net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild create mode 100644 net-im/mautrix-signal/metadata.xml diff --git a/dev-libs/libsignal-ffi/Manifest b/dev-libs/libsignal-ffi/Manifest new file mode 100644 index 0000000..3cfcc99 --- /dev/null +++ b/dev-libs/libsignal-ffi/Manifest @@ -0,0 +1,5 @@ +AUX vendor-config.toml 726 BLAKE2B 01bf8d66c92199545172de2351ad6e447847a5b670e23a56d01d9268439101610df34613017cad1a9dc2c856f7eb44ed3a47f8f35f3a698e1e06d11f75491edb SHA512 913d8e163d3364796cf105eb714cb5182e7a271f3f9a24916415d9a2e61cfef61416913c57c3c63c84bbec8667e96e3de424334dd2af5476faf2289b167fa78d +DIST libsignal-ffi-0.72.1-vendor.tar.xz 36411120 BLAKE2B d100c512d03f0131c9575a5b10222eacbd6cda4977c3eca312548ac8ab4fe5673333c9a6999c40a776e9f330907466b3fa7fdc979a7e7b4dd1c159fce75eedfa SHA512 e911e684e4a33c8319ed219f038a74d214b2d07681f855575bf2f47230c5079144cb6d1566781302291b4c27b989b011518cf85f2da15abe53659e8713d32351 +DIST libsignal-ffi-0.72.1.gh.tar.gz 2077464 BLAKE2B 787648f746be965b9bef3e9eb519337d5d3c4f8bb329fc83f213efad709f18f406b6d017225edf4afd14ce0760fdd7da877d20af3913250377a622155b285254 SHA512 e7e08e2909080f34a6c9e65065cfd107e922415727dcdaf9b61aa0e9fb91c7906326c233b3bb7e26eb665e6b4a1b771e2af13e58d8f6ea0f79c39306c9a071cf +EBUILD libsignal-ffi-0.72.1.ebuild 2079 BLAKE2B c17325dc75171c8727f9dadce2583bab3d7928f965635863be0d913592b973010d3e13fbc82381c9920124f248c9998f78b289c8ae1803a7c47f65c1fef1c97b SHA512 e04857349b8a71d4722a6c7e6b46d3d22f367b6ffc2cfa7b5b58f0ed3de61f6b44ddbdd861f325b9130eecba6ce42330b45521a59054967995e858352ad7ac9f +MISC metadata.xml 465 BLAKE2B 7033371ed6085fb963ab1032513fcc47aca16cb13ca1126b2c63ca92b402286a7314751b2a54f2ea71a79d19687b0fc71a1ca83c6e0efc3ac0c9b2f7479b1c49 SHA512 6471ed95b2ef6f4b6857bd7443d650108025a5a5d1d338fd878166bedeeee0977591a6e52891032cfcaf2b8f0f50605ea5d4849268fa55349559c5eb9f5677ee diff --git a/dev-libs/libsignal-ffi/files/vendor-config.toml b/dev-libs/libsignal-ffi/files/vendor-config.toml new file mode 100644 index 0000000..29aafab --- /dev/null +++ b/dev-libs/libsignal-ffi/files/vendor-config.toml @@ -0,0 +1,20 @@ +[source.crates-io] +replace-with = "vendored-sources" + +[source."git+https://github.com/JesperAxelsson/rust-intmap?rev=e7edd6e8fb452506ca2570e91f62b14dc29a950c"] +git = "https://github.com/JesperAxelsson/rust-intmap" +rev = "e7edd6e8fb452506ca2570e91f62b14dc29a950c" +replace-with = "vendored-sources" + +[source."git+https://github.com/signalapp/boring?tag=signal-v4.15.0"] +git = "https://github.com/signalapp/boring" +tag = "signal-v4.15.0" +replace-with = "vendored-sources" + +[source."git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.3"] +git = "https://github.com/signalapp/curve25519-dalek" +tag = "signal-curve25519-4.1.3" +replace-with = "vendored-sources" + +[source.vendored-sources] +directory = "vendor" \ No newline at end of file diff --git a/dev-libs/libsignal-ffi/libsignal-ffi-0.72.1.ebuild b/dev-libs/libsignal-ffi/libsignal-ffi-0.72.1.ebuild new file mode 100644 index 0000000..596a15f --- /dev/null +++ b/dev-libs/libsignal-ffi/libsignal-ffi-0.72.1.ebuild @@ -0,0 +1,68 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.15.0 + +EAPI=8 + +LLVM_COMPAT=( {18..19} ) +RUST_NEEDS_LLVM=1 + +CRATES=" +" + +declare -A GIT_CRATES=( + [boring-sys]='https://github.com/signalapp/boring;bb42da53b3900aea1936d41decf9403f25c4259c;boring-%commit%/boring-sys' + [boring]='https://github.com/signalapp/boring;bb42da53b3900aea1936d41decf9403f25c4259c;boring-%commit%/boring' + [curve25519-dalek-derive]='https://github.com/signalapp/curve25519-dalek;7c6d34756355a3566a704da84dce7b1c039a6572;curve25519-dalek-%commit%/curve25519-dalek-derive' + [curve25519-dalek]='https://github.com/signalapp/curve25519-dalek;7c6d34756355a3566a704da84dce7b1c039a6572;curve25519-dalek-%commit%/curve25519-dalek' + [tokio-boring]='https://github.com/signalapp/boring;bb42da53b3900aea1936d41decf9403f25c4259c;boring-%commit%/tokio-boring' +) + +inherit llvm-r1 cargo + +DESCRIPTION="A C ABI library which exposes Signal protocol logic" +HOMEPAGE="https://github.com/signalapp/libsignal" +SRC_URI=" + https://github.com/signalapp/libsignal/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${P}-vendor.tar.xz +" +S="${WORKDIR}/libsignal-${PV}/rust/bridge/ffi" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" +" +fi + +LICENSE="AGPL-3" +# Dependent crate licenses +LICENSE+=" + AGPL-3 Apache-2.0 BSD-2 BSD GPL-3+ ISC MIT MPL-2.0 Unicode-3.0 +" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + dev-libs/protobuf + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') +" + +pkg_setup() { + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + default + cargo_gen_config + ln -s "${WORKDIR}/vendor/" "${WORKDIR}/libsignal-${PV}/vendor" || die + sed -i "${ECARGO_HOME}/config.toml" \ + -e '/source.crates-io/d' \ + -e '/replace-with = "gentoo"/d' \ + -e '/local-registry = "\/nonexistent"/d' \ + || die + cat "${FILESDIR}/vendor-config.toml" >> "${ECARGO_HOME}/config.toml" || die +} + +src_install() { + dolib.a "${WORKDIR}/${P/-ffi/}/$(cargo_target_dir)/${PN/-/_}.a" +} diff --git a/dev-libs/libsignal-ffi/metadata.xml b/dev-libs/libsignal-ffi/metadata.xml new file mode 100644 index 0000000..96e7494 --- /dev/null +++ b/dev-libs/libsignal-ffi/metadata.xml @@ -0,0 +1,13 @@ + + + + + Julien Roy + julien@jroy.ca + + + https://github.com/signalapp/libsignal/issues + https://github.com/signalapp/libsignal/releases + signalapp/libsignal + + diff --git a/metadata/md5-cache/dev-libs/libsignal-ffi-0.72.1 b/metadata/md5-cache/dev-libs/libsignal-ffi-0.72.1 new file mode 100644 index 0000000..455eb61 --- /dev/null +++ b/metadata/md5-cache/dev-libs/libsignal-ffi-0.72.1 @@ -0,0 +1,14 @@ +BDEPEND=dev-libs/protobuf llvm_slot_18? ( llvm-core/clang:18 ) llvm_slot_19? ( llvm-core/clang:19 ) llvm_slot_18? ( || ( dev-lang/rust-bin:1.81.0[llvm_slot_18] dev-lang/rust:1.81.0[llvm_slot_18] dev-lang/rust-bin:1.80.1[llvm_slot_18] dev-lang/rust:1.80.1[llvm_slot_18] dev-lang/rust-bin:1.79.0[llvm_slot_18] dev-lang/rust:1.79.0[llvm_slot_18] dev-lang/rust-bin:1.78.0[llvm_slot_18] dev-lang/rust:1.78.0[llvm_slot_18] ) ) llvm_slot_19? ( || ( dev-lang/rust-bin:1.86.0[llvm_slot_19] dev-lang/rust:1.86.0[llvm_slot_19] dev-lang/rust-bin:1.85.1[llvm_slot_19] dev-lang/rust:1.85.1[llvm_slot_19] dev-lang/rust-bin:1.85.0[llvm_slot_19] dev-lang/rust:1.85.0[llvm_slot_19] dev-lang/rust-bin:1.84.1[llvm_slot_19] dev-lang/rust:1.84.1[llvm_slot_19] dev-lang/rust-bin:1.84.0[llvm_slot_19] dev-lang/rust:1.84.0[llvm_slot_19] dev-lang/rust-bin:1.83.0[llvm_slot_19] dev-lang/rust:1.83.0[llvm_slot_19] dev-lang/rust-bin:1.82.0[llvm_slot_19] dev-lang/rust:1.82.0[llvm_slot_19] ) ) +DEFINED_PHASES=compile configure install setup test unpack +DESCRIPTION=A C ABI library which exposes Signal protocol logic +EAPI=8 +HOMEPAGE=https://github.com/signalapp/libsignal +INHERIT=llvm-r1 cargo +IUSE=+llvm_slot_19 llvm_slot_18 debug +KEYWORDS=~amd64 +LICENSE=AGPL-3 AGPL-3 Apache-2.0 BSD-2 BSD GPL-3+ ISC MIT MPL-2.0 Unicode-3.0 +REQUIRED_USE=^^ ( llvm_slot_18 llvm_slot_19 ) +SLOT=0 +SRC_URI=https://github.com/signalapp/libsignal/archive/v0.72.1.tar.gz -> libsignal-ffi-0.72.1.gh.tar.gz libsignal-ffi-0.72.1-vendor.tar.xz +_eclasses_=llvm-utils 64536677f4b4365e25e9b739163bed58 llvm-r1 0bd586d3786517cd63802a520b404dda toolchain-funcs f9d71a6efe9d083aec750dd13968e169 flag-o-matic b892042b2667b8ac69ec8a2571dc290a multiprocessing 1e32df7deee68372153dca65f4a7c21f rust 205f396579fe93ffb2775ef7e36a1b20 rust-toolchain 76468983281b0a7fc167ca224f84ecfd cargo 5da01b45ec362e78575502b4fb82773a +_md5_=b2b2721a42d2dfc987d24e07798b0e4d diff --git a/net-im/mautrix-signal/Manifest b/net-im/mautrix-signal/Manifest new file mode 100644 index 0000000..a121815 --- /dev/null +++ b/net-im/mautrix-signal/Manifest @@ -0,0 +1,4 @@ +DIST mautrix-signal-0.7.4-deps.tar.xz 32458020 BLAKE2B 6afa4858922426d973f737eac11528899a07aad453ac46b10218b7ba54e499b6fe1fff194329b5d47c2dafa6f1517684557bd639378b97f3dd632fa1941228b3 SHA512 138c2dbc3a4579af10f7fd27cd3897d012fb8070c69a061b1f0fa6806fca17fbf56e0781e1a9593dd73c5a2f478e7d20deb9fc8f29d578529e5ed5d9813472c5 +DIST mautrix-signal-0.7.4.gh.tar.gz 270059 BLAKE2B a01a47c8456fd60d7275b15427e3aaaec4df89e05934f822e5ad31392fdf2abff4fb58fc907fc07e818a66828243d58b38386a647439aff53eff4b64192ef808 SHA512 9bee450a8c18b75a0b8f9df623f51eb6b6e327a44237ba4e0c74c961ee966a25fa1acdbcabda54100d955d6074582980bbab094f9b086dc51d1b8fcdafb4b0ca +DIST mautrix-signal-0.7.5-deps.tar.xz 33129936 BLAKE2B c45a108236dd0c055dac7e44ded7fb8ddb031ea0b07a2e1a9230db769dc5928a358b371bdc310e316b53aee536e310c2306f1321b7ef41df8b8fce0e8ca81b75 SHA512 76d96145d2ae83aaaa26fca1510df079aacafe52cc7be3005c93efffea78843507b158962e4d5ea156618e5e392e9cb812e15a95ce1f0fcbd50818bea5b5c2aa +DIST mautrix-signal-0.7.5.gh.tar.gz 273486 BLAKE2B 6eaaff57f2695cf779c91c1140fb2e11fe3b159201e6492b6ff7246c486520f7be03cb67bf06088dd56bc80239b5188b0180055396b6067ba7985c4f4e507060 SHA512 cd0c237b08e511739e8a33665e131f5a000a7508bf867d6b6059e7ea37d74ab879cc2be6bdee1dd7f195053cb866566a710356a92559a1ac05897b94f80d6b21 diff --git a/net-im/mautrix-signal/files/mautrix-signal.initd b/net-im/mautrix-signal/files/mautrix-signal.initd new file mode 100644 index 0000000..c59dbd0 --- /dev/null +++ b/net-im/mautrix-signal/files/mautrix-signal.initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +name="mautrix-signal daemon" +description="A Matrix-Signal puppeting bridge" +module="mautrix_signal" + +pidfile="/run/${RC_SVCNAME}.pid" +command="/usr/bin/mautrix-signal" +command_args="-c /etc/mautrix/${module}.yaml -r /var/lib/mautrix/signal/registration.yaml" +command_background=true +command_user="mautrix-signal:mautrix" + +output_log="/var/log/mautrix/signal/daemon.log" +error_log="/var/log/mautrix/signal/daemon.log" + +depend() { + need net +} + +start_pre() { + checkpath -d -m 0755 -o "$command_user" /var/lib/mautrix/signal + checkpath -f -m 0644 -o "$command_user" "$output_log" +} diff --git a/net-im/mautrix-signal/files/mautrix-signal.service b/net-im/mautrix-signal/files/mautrix-signal.service new file mode 100644 index 0000000..2f5484f --- /dev/null +++ b/net-im/mautrix-signal/files/mautrix-signal.service @@ -0,0 +1,12 @@ +[Unit] +Description=A Matrix-Signal puppeting bridge +After=network.target + +[Service] +User=mautrix-signal +Group=mautrix +Restart=always +ExecStart=/usr/bin/mautrix-signal -c /etc/mautrix/mautrix_signal.yaml -r /var/lib/mautrix/signal/registration.yaml + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild b/net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild new file mode 100644 index 0000000..429314f --- /dev/null +++ b/net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild @@ -0,0 +1,67 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd + +DESCRIPTION="A Matrix-Signal puppeting bridge" +HOMEPAGE="https://github.com/mautrix/signal" +SRC_URI="https://github.com/mautrix/signal/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz +# https://jroy.ca/dist/${P}-deps.tar.xz +" +S="${WORKDIR}/signal-${PV}" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-user/${PN} + dev-libs/olm +" +DEPEND="${RDEPEND}" +BDEPEND=" + ~dev-libs/libsignal-ffi-0.64.1 + dev-libs/olm +" + +src_compile() { + ego build "${S}"/cmd/"${PN}" +} + +src_install() { + dobin mautrix-signal + + keepdir /var/log/mautrix/signal + fowners -R root:mautrix /var/log/mautrix + fperms -R 770 /var/log/mautrix + + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + systemd_dounit "${FILESDIR}/${PN}.service" + + keepdir /etc/mautrix + fowners -R root:mautrix /etc/mautrix + fperms -R 770 /etc/mautrix +} + +pkg_postinst() { + einfo + elog "" + elog "Before you can use ${PN}, you must configure it correctly" + elog "To generate the configuration file, use the following command:" + elog "mautrix-signal -e" + elog "Then move the config.yaml file to /etc/mautrix/${PN/-/_}.yaml" + elog "Configure the file according to your homeserver" + elog "When done, run the following command: emerge --config ${CATEGORY}/${PN}" + elog "Then, you must register the bridge with your homeserver" + elog "Refer your homeserver's documentation for instructions" + elog "The registration file is located at /var/lib/${PN/-/\/}/registration.yaml" + elog "Finally, you may start the ${PN} daemon" + einfo +} + +pkg_config() { + su - "${PN}" -s /bin/sh -c \ + "/usr/bin/${PN} -c /etc/mautrix/${PN/-/_}.yaml -g -r /var/lib/${PN/-/\/}/registration.yaml" +} diff --git a/net-im/mautrix-signal/metadata.xml b/net-im/mautrix-signal/metadata.xml new file mode 100644 index 0000000..de620b0 --- /dev/null +++ b/net-im/mautrix-signal/metadata.xml @@ -0,0 +1,19 @@ + + + + + julien@jroy.ca + Julien Roy + + + + Tulir Asokan + tulir@maunium.net + + https://github.com/mautrix/signal/releases + https://docs.mau.fi/bridges/python/signal/index.html + https://github.com/mautrix/signal/issues + mautrix/signal + mautrix-signal + + From 6ee7800b7b16b0e98c909278be39a012d6933ab6 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Thu, 1 Jan 2026 23:07:41 +0100 Subject: [PATCH 2/2] Add ebuild for mautrix-signal 25.10 with fixed main.Tag Signed-off-by: Manuel Friedli --- .../md5-cache/net-im/mautrix-signal-25.10 | 14 +++ net-im/mautrix-signal/Manifest | 11 ++- .../mautrix-signal/files/mautrix-signal.confd | 5 + .../files/mautrix-signal.initd-r1 | 21 ++++ .../mautrix-signal-0.8.3.ebuild | 67 ------------- .../mautrix-signal-25.10.ebuild | 95 +++++++++++++++++++ net-im/mautrix-signal/metadata.xml | 19 ---- 7 files changed, 142 insertions(+), 90 deletions(-) create mode 100644 metadata/md5-cache/net-im/mautrix-signal-25.10 create mode 100644 net-im/mautrix-signal/files/mautrix-signal.confd create mode 100644 net-im/mautrix-signal/files/mautrix-signal.initd-r1 delete mode 100644 net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild create mode 100644 net-im/mautrix-signal/mautrix-signal-25.10.ebuild delete mode 100644 net-im/mautrix-signal/metadata.xml diff --git a/metadata/md5-cache/net-im/mautrix-signal-25.10 b/metadata/md5-cache/net-im/mautrix-signal-25.10 new file mode 100644 index 0000000..0912509 --- /dev/null +++ b/metadata/md5-cache/net-im/mautrix-signal-25.10 @@ -0,0 +1,14 @@ +BDEPEND=>=dev-lang/go-1.20:= app-arch/unzip virtual/pkgconfig +DEFINED_PHASES=compile config install postinst setup test unpack +DEPEND=acct-user/mautrix-signal dev-libs/olm virtual/zlib:= ~dev-libs/libsignal-ffi-0.84.0 +DESCRIPTION=Matrix-Signal puppeting bridge +EAPI=8 +HOMEPAGE=https://github.com/mautrix/signal +INHERIT=go-module systemd toolchain-funcs +KEYWORDS=~amd64 +LICENSE=AGPL-3+ AGPL-3 Apache-2.0 BSD GPL-3+ ISC MIT MPL-2.0 public-domain +RDEPEND=acct-user/mautrix-signal dev-libs/olm virtual/zlib:= +SLOT=0 +SRC_URI=https://github.com/mautrix/signal/archive/refs/tags/v0.2510.0.tar.gz -> mautrix-signal-25.10.tar.gz https://github.com/gentoo-golang-dist/signal/releases/download/v0.2510.0/signal-0.2510.0-vendor.tar.xz +_eclasses_=multiprocessing 1e32df7deee68372153dca65f4a7c21f toolchain-funcs 30214924c0c3b92ec7dbf24fc70d60d3 flag-o-matic a7afe42e95fb46ce9691605acfb24672 go-env 0e2babf96e7d0b045fc07ad199eb2399 go-module d96f2a2fd6d8fbad6d94516bf238f885 systemd a964c0cbe818b5729da1dbfcee5be861 +_md5_=10be7987fbc6b86922504ed6f059ff3f diff --git a/net-im/mautrix-signal/Manifest b/net-im/mautrix-signal/Manifest index a121815..de29af1 100644 --- a/net-im/mautrix-signal/Manifest +++ b/net-im/mautrix-signal/Manifest @@ -1,4 +1,7 @@ -DIST mautrix-signal-0.7.4-deps.tar.xz 32458020 BLAKE2B 6afa4858922426d973f737eac11528899a07aad453ac46b10218b7ba54e499b6fe1fff194329b5d47c2dafa6f1517684557bd639378b97f3dd632fa1941228b3 SHA512 138c2dbc3a4579af10f7fd27cd3897d012fb8070c69a061b1f0fa6806fca17fbf56e0781e1a9593dd73c5a2f478e7d20deb9fc8f29d578529e5ed5d9813472c5 -DIST mautrix-signal-0.7.4.gh.tar.gz 270059 BLAKE2B a01a47c8456fd60d7275b15427e3aaaec4df89e05934f822e5ad31392fdf2abff4fb58fc907fc07e818a66828243d58b38386a647439aff53eff4b64192ef808 SHA512 9bee450a8c18b75a0b8f9df623f51eb6b6e327a44237ba4e0c74c961ee966a25fa1acdbcabda54100d955d6074582980bbab094f9b086dc51d1b8fcdafb4b0ca -DIST mautrix-signal-0.7.5-deps.tar.xz 33129936 BLAKE2B c45a108236dd0c055dac7e44ded7fb8ddb031ea0b07a2e1a9230db769dc5928a358b371bdc310e316b53aee536e310c2306f1321b7ef41df8b8fce0e8ca81b75 SHA512 76d96145d2ae83aaaa26fca1510df079aacafe52cc7be3005c93efffea78843507b158962e4d5ea156618e5e392e9cb812e15a95ce1f0fcbd50818bea5b5c2aa -DIST mautrix-signal-0.7.5.gh.tar.gz 273486 BLAKE2B 6eaaff57f2695cf779c91c1140fb2e11fe3b159201e6492b6ff7246c486520f7be03cb67bf06088dd56bc80239b5188b0180055396b6067ba7985c4f4e507060 SHA512 cd0c237b08e511739e8a33665e131f5a000a7508bf867d6b6059e7ea37d74ab879cc2be6bdee1dd7f195053cb866566a710356a92559a1ac05897b94f80d6b21 +AUX mautrix-signal.confd 133 BLAKE2B a232ec04a3749aaace59c1d78d55c1b6f20dccf985aa9670103001fadff4b72e30e73477235449e3b69942b86bb279a155aa6f1bf3e1ed8756876a7a49a68f81 SHA512 3ce719ab7a309399e75c03bef0f6561472f80386b2186c1baf1eb70fef4f02275b6f4bd73d939e952fc981a92d96f4ca017045542024567923f380934e3c4d7b +AUX mautrix-signal.initd 702 BLAKE2B ee6ca26f46db90054078df666ddfc9b3b351a79ed053bd5eb38476cd4ca22cc117214fe1ab1fdbc1721252c25e667608e7a4e60ad40fc5d2f3a662887443bdd2 SHA512 73fc46a0bcd6d7398e2aa30e103793c9a0e3f24dc0db1396b28982e77544e8621ff37c12ed221579d44f84478b803126b4a2386d2bfa460730e14b3b5c73df05 +AUX mautrix-signal.initd-r1 525 BLAKE2B e29f39777296b867d972d4f4e9b8015c0846eb9676bdd3e49145d8e62c80109a6e3a3eb6cf528772e0220cfdcb802af47c6b20c2e7a794b3ea1e2213c9559daa SHA512 209967f9dfe2ec5c425bbb7606c015be17bbc98aaba94add823a26575bde53db3bfc7eca0f8d662bbb2e26d67a973ac0b13145f4c65b5c61115a8ef935832ce2 +AUX mautrix-signal.service 285 BLAKE2B 169ec40950631a2c572a814becb7cb9def22ec343fa0703a544a9c02d0777ac292698cfb2b125a90130680e2c4bd26745d2c48c448191b213bb36dba67ffa553 SHA512 bf7e63cadf37eef583f57aeb0c16fc1bb21877b102dcb79410b29f512887c028d6cdf4834fd9ba2d85e52fc6ac1a484f4cd6a27ef5bba3aece7e452d3cb22457 +DIST mautrix-signal-25.10.tar.gz 381872 BLAKE2B 706f8fd175bbc1e73ea41b7f4cb5d55c09a5d339d9acf7e27da21104710c4342aca6e421ab6827de35650c8bf877c46f14dc93e8b58fbd124432c26315d738e2 SHA512 85abb9715f0239ce647ce7a7f9f9332a1060e2fb95ed10a33399f31728df29864e207c2f8f1eacdf446125db67ba0d0e01fc5d762bbda53adbc39ab1d0eb08ac +DIST signal-0.2510.0-vendor.tar.xz 3697400 BLAKE2B 7d6a9f36d7707f5e93318c32f2a98e50ca6d63d0c728f3c38adfdb456146df03a5e22f3a3bcfd94e8631e20accd30e7931d0cda3a6175bb9075db6777e3749c1 SHA512 4112a3d3fe67c3ddcc60a9580ff92f2008739ff2cc1ed37a8a64071e782d4030b407df4f1e9dec514972060de68033c19be6c4fe0fd781fd25b16510ffc8f0ee +EBUILD mautrix-signal-25.10.ebuild 2749 BLAKE2B c1f8a6fc4c600e280ccc95a8a83ad2cdd9739333ef0f68f7e007a6a225c8840e4773e4690525ea71bddc4ad224f6f97b6218f734b72ec6c7783262c0b2ef239a SHA512 022d02eb8752291140481c80222845f19ba9a38db652a028764c3747327a638be3764ef3111dcf756375bfd4bd9107a898bb646d08b217ade9f5e301d7aee17c diff --git a/net-im/mautrix-signal/files/mautrix-signal.confd b/net-im/mautrix-signal/files/mautrix-signal.confd new file mode 100644 index 0000000..48d3309 --- /dev/null +++ b/net-im/mautrix-signal/files/mautrix-signal.confd @@ -0,0 +1,5 @@ +# Configuration file +#MAUTRIX_SIGNAL_CONFIG="/etc/mautrix/mautrix_signal.yaml" + +# Extra command-line options +#MAUTRIX_SIGNAL_OPTS="" diff --git a/net-im/mautrix-signal/files/mautrix-signal.initd-r1 b/net-im/mautrix-signal/files/mautrix-signal.initd-r1 new file mode 100644 index 0000000..62737c7 --- /dev/null +++ b/net-im/mautrix-signal/files/mautrix-signal.initd-r1 @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# shellcheck shell=sh +# +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Matrix-Signal puppeting bridge" +supervisor="supervise-daemon" +command="/usr/bin/mautrix-signal" +command_args="-c ${MAUTRIX_SIGNAL_CONFIG} ${MAUTRIX_SIGNAL_OPTS}" +command_user="mautrix-signal:mautrix" +pidfile="/run/mautrix-signal/${RC_SVCNAME}.pid" + +depend() { + need net + use dns postgresql +} + +start_pre() { + checkpath -d -o "${command_user}" /run/mautrix-signal +} diff --git a/net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild b/net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild deleted file mode 100644 index 429314f..0000000 --- a/net-im/mautrix-signal/mautrix-signal-0.8.3.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2022-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit go-module systemd - -DESCRIPTION="A Matrix-Signal puppeting bridge" -HOMEPAGE="https://github.com/mautrix/signal" -SRC_URI="https://github.com/mautrix/signal/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz -# https://jroy.ca/dist/${P}-deps.tar.xz -" -S="${WORKDIR}/signal-${PV}" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - acct-user/${PN} - dev-libs/olm -" -DEPEND="${RDEPEND}" -BDEPEND=" - ~dev-libs/libsignal-ffi-0.64.1 - dev-libs/olm -" - -src_compile() { - ego build "${S}"/cmd/"${PN}" -} - -src_install() { - dobin mautrix-signal - - keepdir /var/log/mautrix/signal - fowners -R root:mautrix /var/log/mautrix - fperms -R 770 /var/log/mautrix - - newinitd "${FILESDIR}/${PN}.initd" "${PN}" - systemd_dounit "${FILESDIR}/${PN}.service" - - keepdir /etc/mautrix - fowners -R root:mautrix /etc/mautrix - fperms -R 770 /etc/mautrix -} - -pkg_postinst() { - einfo - elog "" - elog "Before you can use ${PN}, you must configure it correctly" - elog "To generate the configuration file, use the following command:" - elog "mautrix-signal -e" - elog "Then move the config.yaml file to /etc/mautrix/${PN/-/_}.yaml" - elog "Configure the file according to your homeserver" - elog "When done, run the following command: emerge --config ${CATEGORY}/${PN}" - elog "Then, you must register the bridge with your homeserver" - elog "Refer your homeserver's documentation for instructions" - elog "The registration file is located at /var/lib/${PN/-/\/}/registration.yaml" - elog "Finally, you may start the ${PN} daemon" - einfo -} - -pkg_config() { - su - "${PN}" -s /bin/sh -c \ - "/usr/bin/${PN} -c /etc/mautrix/${PN/-/_}.yaml -g -r /var/lib/${PN/-/\/}/registration.yaml" -} diff --git a/net-im/mautrix-signal/mautrix-signal-25.10.ebuild b/net-im/mautrix-signal/mautrix-signal-25.10.ebuild new file mode 100644 index 0000000..3c58d6a --- /dev/null +++ b/net-im/mautrix-signal/mautrix-signal-25.10.ebuild @@ -0,0 +1,95 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd toolchain-funcs + +MY_PV="0.$(ver_rs 1-2 '').0" +DESCRIPTION="Matrix-Signal puppeting bridge" +HOMEPAGE="https://github.com/mautrix/signal" +SRC_URI="https://github.com/mautrix/signal/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz + https://github.com/gentoo-golang-dist/signal/releases/download/v${MY_PV}/signal-${MY_PV}-vendor.tar.xz" +S="${WORKDIR}/signal-${MY_PV}" + +LICENSE="AGPL-3+" +# Go dependency licenses +LICENSE+=" AGPL-3 Apache-2.0 BSD GPL-3+ ISC MIT MPL-2.0 public-domain" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-user/mautrix-signal + dev-libs/olm + virtual/zlib:= +" +DEPEND="${RDEPEND} + ~dev-libs/libsignal-ffi-0.84.0 +" + +DOCS=( {CHANGELOG,README,ROADMAP}.md ) + +pkg_setup() { + [[ ${MERGE_TYPE} == "binary" ]] && return 0 + + # https://github.com/mautrix/signal/issues/595 + tc-is-clang && die "Clang compiler is not supported" +} + +src_compile() { + local MAUTRIX_VERSION=$(awk '/maunium\.net\/go\/mautrix / { print $2 }' go.mod) + local BUILD_TIME=$(date -Iseconds) + local go_ldflags=( + -X "main.Tag=v${MY_PV}" + -X "main.BuildTime=${BUILD_TIME}" + -X "maunium.net/go/mautrix.GoModVersion=${MAUTRIX_VERSION}" + ) + + ego build -ldflags "${go_ldflags[*]}" ./cmd/mautrix-signal +} + +src_install() { + dobin mautrix-signal + einstalldocs + + newinitd "${FILESDIR}"/mautrix-signal.initd-r1 mautrix-signal + newconfd "${FILESDIR}"/mautrix-signal.confd mautrix-signal + systemd_dounit "${FILESDIR}"/mautrix-signal.service + + local dir + for dir in /var/log/mautrix /etc/mautrix; do + keepdir "${dir}" + fowners -R root:mautrix "${dir}" + fperms 770 "${dir}" + done + + keepdir /var/lib/mautrix/signal + fowners -R mautrix-signal:mautrix /var/lib/mautrix/signal +} + +src_test() { + ego test -vet=off ./... +} + +pkg_postinst() { + einfo + elog "Before you can use mautrix-signal, you need to configure it correctly." + elog "To generate the configuration file, use the following command:" + elog " # runuser -u mautrix-signal -g mautrix -- mautrix-signal -c /etc/mautrix/mautrix_signal.yaml -e" + elog + elog "Configure the /etc/mautrix/mautrix_signal.yaml file according to your" + elog "homeserver. When done, run the following command:" + elog " # emerge --config ${CATEGORY}/${PN}" + elog + elog "Then, you need to register the bridge with your homeserver." + elog "Refer your homeserver's documentation for instructions." + elog "The registration file is located at /var/lib/mautrix/signal/registration.yaml" + elog + elog "Finally, you may start the mautrix-signal daemon." + einfo +} + +pkg_config() { + runuser -u mautrix-signal -g mautrix -- \ + mautrix-signal -c /etc/mautrix/mautrix_signal.yaml -g -r /var/lib/mautrix/signal/registration.yaml +} diff --git a/net-im/mautrix-signal/metadata.xml b/net-im/mautrix-signal/metadata.xml deleted file mode 100644 index de620b0..0000000 --- a/net-im/mautrix-signal/metadata.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - julien@jroy.ca - Julien Roy - - - - Tulir Asokan - tulir@maunium.net - - https://github.com/mautrix/signal/releases - https://docs.mau.fi/bridges/python/signal/index.html - https://github.com/mautrix/signal/issues - mautrix/signal - mautrix-signal - -