summaryrefslogtreecommitdiff
path: root/x11-plugins/lurch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-12-14 13:26:14 +0000
commit6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (patch)
tree25413d1cb3a0cbfe36029db32398c0f333609215 /x11-plugins/lurch
parent9c417bacd51da6d8b57fa9f37425161d30d4b95b (diff)
gentoo resync : 14.12.2020
Diffstat (limited to 'x11-plugins/lurch')
-rw-r--r--x11-plugins/lurch/Manifest6
-rw-r--r--x11-plugins/lurch/files/lurch-0.6.8-axc-0.3.3-libsignal-protocol-c.patch91
-rw-r--r--x11-plugins/lurch/files/lurch-0.6.8-libsignal-protocol-c.patch92
-rw-r--r--x11-plugins/lurch/lurch-0.6.8-r1.ebuild76
-rw-r--r--x11-plugins/lurch/lurch-0.6.8-r2.ebuild76
5 files changed, 341 insertions, 0 deletions
diff --git a/x11-plugins/lurch/Manifest b/x11-plugins/lurch/Manifest
index 45fe8a9090f1..9c4417b2ed02 100644
--- a/x11-plugins/lurch/Manifest
+++ b/x11-plugins/lurch/Manifest
@@ -1,3 +1,9 @@
+AUX lurch-0.6.8-axc-0.3.3-libsignal-protocol-c.patch 2825 BLAKE2B 8cb3e1607a60692e0175bda4de04414f9b966e25641d73d1f27a3c5565a4c2ec0dfb4fd73b10ceafdd870093a597ee88713a5e564f2576a2e8b85410e9a70ea5 SHA512 0459141ab02fea8a6aa95a22ef04e0202d5a2b1a907a292337177a2dff723162a687f2ca64542a81561ecc5022312cbd97ec6f74488a748d03cf42660b403a06
+AUX lurch-0.6.8-libsignal-protocol-c.patch 2413 BLAKE2B 325972068267a455536b883ec4bb8c91a348c1d08440d9d09f0e3b88fbf35d6f1aea14bb410fad2b0ee88a84844170eeabc9f4a4f39a27a90e30e8e31f794a40 SHA512 5d237a46d13dd67e379bb8b671cc1b1edbd7e11abe64eb3fd19b80c82ea4fe543e6170030a50601132ce707e075f60f6042eb2d4346364b221aae022dac67ef4
+DIST axc-0.3.3.tar.gz 39497 BLAKE2B 7f13f2ee6bb98fecc3ff5ddb726e19d412d588613be50e6666e8bfdcf248e842b97c00cccbc19fef55c0df50053e0b80539f0573dfa7a54a8c88725735382bc6 SHA512 9fe494eb4a264a31c137a4f21e4a53358d55f6f6b3bd2fab0fbe43c0e85f2372127a2a85d00d2e308f3785b30cf8161de3f696aaf71c232f594ef3c54b8f6771
+DIST libomemo-0.7.0.tar.gz 23678 BLAKE2B 91b57f6c93d5f777996687ea0648d996950bc893314e4e3ee02973c70165a9e533ab6980a420bd270d7a4acaa45da7cf83b401b69e2b305b017a3fbb42d5b4d2 SHA512 f9843a35958e4a7930ed9e9f4bef1e765bd51721d6e79d2c092bad86d26f092d22d1cdd4df1c4017b9434bb84c33e226985136d35dfcbcf9b915eb3cae862fa5
DIST lurch-0.6.8.tar.gz 398267 BLAKE2B 23211e82b80e26105f0d62510dc321abdd818eae21dd9f3e24f6ab01458748df64283acb99371a8ece34248f06e9e04edd35da30c771f45779474b3b43c3a53d SHA512 8b93523049d05a00f1d7286ec9d0d8d03c7ae46793ac72ea08c0d12cb5193324be4805fb6278d6c0f906d9c63db9d7ce6ca2a21442236df51e0ee0b48de6ef1d
+EBUILD lurch-0.6.8-r1.ebuild 2006 BLAKE2B 9baebff09485494eedbb088b70d05c3c856817fbeb6540a0b5e7d7f49fe1b66961df1800ba5f4acdff23dc589f54e2c65705bfda6d29d1f0f23e7eb8f80c5939 SHA512 e47e148356c1e7d5b06f493ae636e7ccc741d51dc5520d0fc20c34a7c8738617741566da3cd3c19638cfaf3b9ab7253f3eb68a30d042e7a8d6df84e43d0dac73
+EBUILD lurch-0.6.8-r2.ebuild 2063 BLAKE2B 2742285436fab19c64317e57ea182e451966799a1724cf72e6b6977ef6d010f643e8ab32177cbeb0a69b96bfc8a37a16beea44b84b03e71fda61918853ea6edd SHA512 fdad83c1b8ee35ce10d87d1121c14e07661922095ddbbbc8529ec5692079d050f2de8f4481da6fbb309f963df8d692ee7d15507373244a9775a967df5b1d3690
EBUILD lurch-0.6.8.ebuild 1718 BLAKE2B 5af54a0dc7bb979a814a93dde6b6b9afd05b3aa603599276db2983ecbd64fd129e8217b62cd1a2f8dea950def9da15242595f51f911eef9c3535dca67c26d1d2 SHA512 2fe714a97502f771a239937ba3af79610da1314ecd943f0ac1127afac2a143cf6b5cfe2181e4a01b8ef91979779a2b06ed46d0e1512396c2db8bf90d792b4d3b
MISC metadata.xml 249 BLAKE2B a4931a30c3947b238913053d611639235b076475e864914e684020d86ee1b4aa6da94e4cef59c53a0e5ccd3b3d15d3a4ae293800b17bbb89e0af9cff79314a70 SHA512 b1cb770984baef468e3d17e343acff395e1993b14f90def7f8582b5e5d1a512bd3c7727e03f1deca47f7359a8f8cc9a8360130923388a5c06fabbfb9b05d5138
diff --git a/x11-plugins/lurch/files/lurch-0.6.8-axc-0.3.3-libsignal-protocol-c.patch b/x11-plugins/lurch/files/lurch-0.6.8-axc-0.3.3-libsignal-protocol-c.patch
new file mode 100644
index 000000000000..261c3ac57c5b
--- /dev/null
+++ b/x11-plugins/lurch/files/lurch-0.6.8-axc-0.3.3-libsignal-protocol-c.patch
@@ -0,0 +1,91 @@
+From d5c2d8902ec268a1e6f8a9f5bd6fabde1e8ddf6a Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Thu, 3 Dec 2020 23:59:00 +0100
+Subject: [PATCH] axc: Use system's libsignal-protocol-c shared library
+
+---
+ Makefile | 26 ++++++++++----------------
+ 1 file changed, 10 insertions(+), 16 deletions(-)
+
+diff --git a/lib/axc/Makefile b/lib/axc/Makefile
+index 601e4fb..d08dd85 100644
+--- a/lib/axc/Makefile
++++ b/lib/axc/Makefile
+@@ -14,6 +14,9 @@ GLIB_LDFLAGS ?= $(shell $(PKG_CONFIG) --libs glib-2.0)
+ SQLITE3_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags sqlite3)
+ SQLITE3_LDFLAGS ?= $(shell $(PKG_CONFIG) --libs sqlite3)
+
++LIBSIGNAL_PROTOCOL_C_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags libsignal-protocol-c)
++LIBSIGNAL_PROTOCOL_C_LDFLAGS ?= $(shell $(PKG_CONFIG) --libs libsignal-protocol-c)
++
+ LIBGCRYPT_CONFIG ?= libgcrypt-config
+ LIBGCRYPT_LDFLAGS ?= $(shell $(LIBGCRYPT_CONFIG) --libs)
+
+@@ -24,26 +27,24 @@ TDIR = test
+ TFN = test_all
+ CDIR = coverage
+
+-AX_DIR=./lib/libsignal-protocol-c
+-AX_BDIR=$(AX_DIR)/build/src
+-AX_PATH=$(AX_BDIR)/libsignal-protocol-c.a
+-
+ PKGCFG_C=$(GLIB_CFLAGS) \
+ $(SQLITE3_CFLAGS) \
++ $(LIBSIGNAL_PROTOCOL_C_CFLAGS) \
+ $(LIBGCRYPT_CFLAGS)
+
+ PKGCFG_L=$(GLIB_LDFLAGS) \
+ $(SQLITE3_LDFLAGS) \
++ $(LIBSIGNAL_PROTOCOL_C_LDFLAGS) \
+ $(LIBGCRYPT_LDFLAGS)
+
+-HEADERS=-I$(AX_DIR)/src
++HEADERS=
+ CFLAGS += $(HEADERS) $(PKGCFG_C) -std=c11 -g -Wall -Wextra -Wpedantic \
+ -Wstrict-overflow -fno-strict-aliasing -funsigned-char \
+ -fno-builtin-memset
+ CPPFLAGS += -D_XOPEN_SOURCE=700 -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE -D_DEFAULT_SOURCE
+ TESTFLAGS=$(HEADERS) $(PKGCFG_C) -g -O0 --coverage
+ PICFLAGS=-fPIC $(CFLAGS)
+-LDFLAGS += -pthread -ldl $(PKGCFG_L) $(AX_PATH) -lm
++LDFLAGS += -pthread -ldl $(PKGCFG_L) -lm
+ LDFLAGS_T= -lcmocka $(LDFLAGS)
+
+ all: $(BDIR)/libaxc.a
+@@ -51,7 +52,7 @@ all: $(BDIR)/libaxc.a
+ $(BDIR):
+ $(MKDIR_P) $@
+
+-client: $(SDIR)/message_client.c $(BDIR)/axc_store.o $(BDIR)/axc_crypto.o $(BDIR)/axc.o $(AX_PATH)
++client: $(SDIR)/message_client.c $(BDIR)/axc_store.o $(BDIR)/axc_crypto.o $(BDIR)/axc.o
+ $(MKDIR_P) $@
+ $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@/$@.o $(LDFLAGS)
+
+@@ -73,15 +74,8 @@ $(BDIR)/libaxc.a: $(BDIR)/axc.o $(BDIR)/axc_crypto.o $(BDIR)/axc_store.o
+ $(BDIR)/libaxc-nt.a: $(BDIR)/axc-nt.o $(BDIR)/axc_crypto.o $(BDIR)/axc_store.o
+ $(AR) rcs $@ $^
+
+-$(AX_PATH):
+- cd $(AX_DIR) && \
+- $(MKDIR_P) build && \
+- cd build && \
+- $(CMAKE) $(CMAKE_FLAGS) .. && \
+- $(MAKE)
+-
+ .PHONY: test
+-test: $(AX_PATH) test_store test_client
++test: test_store test_client
+
+ .PHONY: test_store
+ test_store: $(SDIR)/axc_store.c $(SDIR)/axc_crypto.c $(TDIR)/test_store.c
+@@ -109,6 +103,6 @@ clean:
+
+ .PHONY: clean-all
+ clean-all: clean
+- rm -rf client $(BDIR) $(CDIR) $(AX_DIR)/build
++ rm -rf client $(BDIR) $(CDIR)
+
+
+--
+2.27.0
+
diff --git a/x11-plugins/lurch/files/lurch-0.6.8-libsignal-protocol-c.patch b/x11-plugins/lurch/files/lurch-0.6.8-libsignal-protocol-c.patch
new file mode 100644
index 000000000000..4b3de986154d
--- /dev/null
+++ b/x11-plugins/lurch/files/lurch-0.6.8-libsignal-protocol-c.patch
@@ -0,0 +1,92 @@
+From 72f286f389236fe99cb10fdeda3ee9b474de645d Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Fri, 4 Dec 2020 00:10:17 +0100
+Subject: [PATCH] lurch: Use system's libsignal-protocol-c shared library
+
+---
+ Makefile | 37 ++++++++++++++++++++++++-------------
+ 1 file changed, 24 insertions(+), 13 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 32bc9c9..937401d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -28,16 +28,21 @@ LIBPURPLE_LDFLAGS=$(shell $(PKG_CONFIG) --cflags purple) \
+ XML2_CFLAGS ?= $(shell $(XML2_CONFIG) --cflags)
+ XML2_LDFLAGS ?= $(shell $(XML2_CONFIG) --libs)
+
++LIBSIGNAL_PROTOCOL_C_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags libsignal-protocol-c)
++LIBSIGNAL_PROTOCOL_C_LDFLAGS ?= $(shell $(PKG_CONFIG) --libs libsignal-protocol-c)
++
+ LIBGCRYPT_LDFLAGS ?= $(shell $(LIBGCRYPT_CONFIG) --libs)
+
+ PKGCFG_C=$(GLIB_CFLAGS) \
+ $(LIBPURPLE_CFLAGS) \
++ $(LIBSIGNAL_PROTOCOL_C_CFLAGS) \
+ $(XML2_CFLAGS)
+
+
+ PKGCFG_L=$(shell $(PKG_CONFIG) --libs sqlite3 mxml) \
+ $(GLIB_LDFLAGS) \
+ $(LIBPURPLE_LDFLAGS) \
++ $(LIBSIGNAL_PROTOCOL_C_LDFLAGS) \
+ $(XML2_LDFLAGS) \
+ $(LIBGCRYPT_LDFLAGS)
+
+@@ -51,7 +56,7 @@ else
+ endif
+ endif
+
+-HEADERS=-I$(HDIR)/jabber -I$(LOMEMO_SRC) -I$(AXC_SRC) -I$(AX_DIR)/src
++HEADERS=-I$(HDIR)/jabber -I$(LOMEMO_SRC) -I$(AXC_SRC)
+ CFLAGS += -std=c11 -Wall -g -Wstrict-overflow $(PKGCFG_C) $(HEADERS)
+ PLUGIN_CPPFLAGS=-DPURPLE_PLUGINS
+ # -D_BSD_SOURCE can be removed once nobody uses glibc <= 2.18 any more
+@@ -79,26 +84,32 @@ AXC_SRC=$(AXC_DIR)/src
+ AXC_BUILD=$(AXC_DIR)/build
+ AXC_PATH=$(AXC_BUILD)/libaxc-nt.a
+
+-AX_DIR=$(AXC_DIR)/lib/libsignal-protocol-c
+-AX_PATH=$(AX_DIR)/build/src/libsignal-protocol-c.a
+-
+-VENDOR_LIBS=$(LOMEMO_PATH) $(AXC_PATH) $(AX_PATH)
++VENDOR_LIBS=$(LOMEMO_PATH) $(AXC_PATH)
+
+
+ ### make rules
+ #
+-all: $(BDIR)/lurch.so
++all: $(BDIR)/lurch.so $(BDIR)/linkdummy
++
++
++$(BDIR)/linkdummy.c:
++ echo 'int main() { return 0; }' > $@
++
++$(BDIR)/liblinklurch.so: $(BDIR)/lurch.so | $(BDIR)
++ ln -f $^ $@
++
++$(BDIR)/linkdummy: $(BDIR)/linkdummy.o $(BDIR)/liblinklurch.so
++ $(CC) \
++ $(shell $(PKG_CONFIG) --libs purple) \
++ -L$(BDIR) -llinklurch \
++ $^ \
++ -o $@ \
++ $(LDFLAGS)
++
+
+ $(BDIR):
+ $(MKDIR_P) build
+
+-$(AX_PATH):
+- cd $(AX_DIR)/ && \
+- $(MKDIR_P) build && \
+- cd build && \
+- $(CMAKE) $(CMAKE_FLAGS) .. \
+- && $(MAKE)
+-
+ $(AXC_PATH):
+ $(MAKE) -C "$(AXC_DIR)" build/libaxc-nt.a
+
+--
+2.27.0
+
diff --git a/x11-plugins/lurch/lurch-0.6.8-r1.ebuild b/x11-plugins/lurch/lurch-0.6.8-r1.ebuild
new file mode 100644
index 000000000000..67d6325288cf
--- /dev/null
+++ b/x11-plugins/lurch/lurch-0.6.8-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CMAKE_MAKEFILE_GENERATOR=emake # since top-level Makefile expects a child Makefile
+
+inherit toolchain-funcs cmake-utils
+
+LIBOMEMO_PV=0.7.0
+DESCRIPTION="OMEMO encryption for libpurple (XEP-0384)"
+HOMEPAGE="https://github.com/gkdr/lurch"
+SRC_URI="https://github.com/gkdr/lurch/releases/download/v${PV}/lurch-${PV}-src.tar.gz -> ${P}.tar.gz
+ https://github.com/gkdr/libomemo/archive/v${LIBOMEMO_PV}.tar.gz -> libomemo-${LIBOMEMO_PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# NOTE
+# - We cannot unbundle net-libs/libsignal-protocol-c
+# because upstream uses non-API/internal function
+# session_builder_process_pre_key_signal_message
+# - The build systems of axc (ex-libaxolotl)
+# at https://github.com/gkdr/axc and libomemo
+# at https://github.com/gkdr/libomemo build static
+# libraries only (*.a) so it is not clear when or
+# how to best unbundle them, either
+RDEPEND="
+ dev-db/sqlite
+ dev-libs/glib
+ dev-libs/libgcrypt:=
+ dev-libs/libxml2
+ dev-libs/mxml
+ net-im/pidgin:=
+ "
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ "
+
+CMAKE_USE_DIR="${S}"/lib/axc/lib/libsignal-protocol-c
+BUILD_DIR="${CMAKE_USE_DIR}"/build
+
+src_prepare() {
+ # Upgrade outdated bundle of libomemo
+ rm -R lib/libomemo || die
+ mv "${WORKDIR}"/libomemo-${LIBOMEMO_PV} lib/libomemo || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF # top-level Makefile expects .a file
+ -DCMAKE_C_FLAGS=-fPIC
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ LIBGCRYPT_CONFIG="$(tc-getPROG LIBGCRYPT_CONFIG libgcrypt-config)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ XML2_CONFIG="$(tc-getPROG XML2_CONFIG xml2-config)"
+
+ CMAKE=/bin/true # to stop Makefile from calling CMake, once more
+ )
+ emake "${makeargs[@]}"
+}
+
+src_install() {
+ default # use top-level Makefile, not cmake-utils_src_install
+}
diff --git a/x11-plugins/lurch/lurch-0.6.8-r2.ebuild b/x11-plugins/lurch/lurch-0.6.8-r2.ebuild
new file mode 100644
index 000000000000..47b9bcf5495b
--- /dev/null
+++ b/x11-plugins/lurch/lurch-0.6.8-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+AXC_PV=0.3.3
+LIBOMEMO_PV=0.7.0
+
+DESCRIPTION="OMEMO encryption for libpurple (XEP-0384)"
+HOMEPAGE="https://github.com/gkdr/lurch"
+SRC_URI="https://github.com/gkdr/lurch/releases/download/v${PV}/lurch-${PV}-src.tar.gz -> ${P}.tar.gz
+ https://github.com/gkdr/axc/archive/v${AXC_PV}.tar.gz -> axc-${AXC_PV}.tar.gz
+ https://github.com/gkdr/libomemo/archive/v${LIBOMEMO_PV}.tar.gz -> libomemo-${LIBOMEMO_PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE=""
+
+# NOTE
+# The build systems of axc (ex-libaxolotl)
+# at https://github.com/gkdr/axc and of libomemo
+# at https://github.com/gkdr/libomemo build static
+# libraries (*.a files) only, so it is not clear when or
+# how to best unbundle them into standalone packages.
+# Related yet-to-be-merged pull requests to build shared libraries
+# exist upstream:
+# - https://github.com/gkdr/axc/pull/17
+# - https://github.com/gkdr/lurch/pull/151
+# - https://github.com/gkdr/libomemo/pull/30
+RDEPEND="
+ dev-db/sqlite
+ dev-libs/glib
+ dev-libs/libgcrypt:=
+ dev-libs/libxml2
+ dev-libs/mxml
+ net-im/pidgin:=
+ >=net-libs/libsignal-protocol-c-2.3.2
+ "
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ "
+
+PATCHES=(
+ # Unbundle net-libs/libsignal-protocol-c
+ "${FILESDIR}"/${P}-libsignal-protocol-c.patch
+ "${FILESDIR}"/${P}-axc-${AXC_PV}-libsignal-protocol-c.patch
+)
+
+src_prepare() {
+ # Upgrade outdated bundle of axc
+ rm -R lib/axc || die
+ mv "${WORKDIR}"/axc-${AXC_PV} lib/axc || die
+
+ # Upgrade outdated bundle of libomemo
+ rm -R lib/libomemo || die
+ mv "${WORKDIR}"/libomemo-${LIBOMEMO_PV} lib/libomemo || die
+
+ # Unbundle axc's bundled net-libs/libsignal-protocol-c
+ rm -R lib/axc/lib/libsignal-protocol-c || die
+
+ default
+}
+
+src_compile() {
+ local makeargs=(
+ CC="$(tc-getCC)"
+ LIBGCRYPT_CONFIG="$(tc-getPROG LIBGCRYPT_CONFIG libgcrypt-config)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ XML2_CONFIG="$(tc-getPROG XML2_CONFIG xml2-config)"
+ )
+ emake "${makeargs[@]}"
+}