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 index 63b697c..de29af1 100644 --- a/net-im/mautrix-signal/Manifest +++ b/net-im/mautrix-signal/Manifest @@ -1,5 +1,7 @@ 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.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