Merge branch 'add-app-emacs-ement' into 'master'
app-emacs/ement: New package and its dependencies See merge request src_prepare/src_prepare-overlay!215
This commit is contained in:
commit
4bf8f63df4
30
app-emacs/defmacro-gensym/defmacro-gensym-99999999.ebuild
Normal file
30
app-emacs/defmacro-gensym/defmacro-gensym-99999999.ebuild
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
NEED_EMACS="24.1"
|
||||||
|
|
||||||
|
inherit elisp-common git-r3
|
||||||
|
|
||||||
|
DESCRIPTION="Convenient gensyms for defmacro (Emacs Lisp)"
|
||||||
|
HOMEPAGE="https://gitlab.com/akater/defmacro-gensym/-/blob/master/defmacro-gensym.org"
|
||||||
|
EGIT_REPO_URI="https://gitlab.com/akater/defmacro-gensym.git"
|
||||||
|
EGIT_BRANCH="master"
|
||||||
|
|
||||||
|
LICENSE="Unlicense"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
DOCS="README.org"
|
||||||
|
|
||||||
|
export ORG_IMMUTABLE_SOURCES_DIRECTORY="${SITEETC}/${PN}"
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elisp-site-regen
|
||||||
|
if declare -f readme.gentoo_print_elog >/dev/null; then
|
||||||
|
readme.gentoo_print_elog
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
elisp-site-regen
|
||||||
|
}
|
15
app-emacs/defmacro-gensym/metadata.xml
Normal file
15
app-emacs/defmacro-gensym/metadata.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>nuclearspace@gmail.com</email>
|
||||||
|
<name>Dima Akater</name>
|
||||||
|
</maintainer>
|
||||||
|
<longdescription>An extension of defmacro that provides more convenient
|
||||||
|
declaration/initialization of gensyms, covering both with-gensyms
|
||||||
|
and once-only functionality.
|
||||||
|
</longdescription>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="gitlab">akater/defmacro-gensym</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
41
app-emacs/ement-extras/ement-extras-99999999.ebuild
Normal file
41
app-emacs/ement-extras/ement-extras-99999999.ebuild
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
NEED_EMACS="24.1"
|
||||||
|
|
||||||
|
MY_PN="emacs-${PN}"
|
||||||
|
inherit elisp-common git-r3
|
||||||
|
|
||||||
|
DESCRIPTION="Extra features for Ement, Matrix client for GNU Emacs"
|
||||||
|
HOMEPAGE="https://gitlab.com/akater/emacs-ement-extras/-/blob/master/emacs-ement-extras.org"
|
||||||
|
EGIT_REPO_URI="https://gitlab.com/akater/${MY_PN}.git"
|
||||||
|
EGIT_BRANCH="release"
|
||||||
|
|
||||||
|
LICENSE="GPL-3+"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
DOCS="" # README.org is a relative symlink
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
app-emacs/defmacro-gensym
|
||||||
|
app-emacs/ement
|
||||||
|
app-emacs/plz
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-emacs/ement
|
||||||
|
"
|
||||||
|
|
||||||
|
export ORG_IMMUTABLE_SOURCES_DIRECTORY="${SITEETC}/${PN}"
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
elisp-site-regen
|
||||||
|
if declare -f readme.gentoo_print_elog >/dev/null; then
|
||||||
|
readme.gentoo_print_elog
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
elisp-site-regen
|
||||||
|
}
|
13
app-emacs/ement-extras/metadata.xml
Normal file
13
app-emacs/ement-extras/metadata.xml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>nuclearspace@gmail.com</email>
|
||||||
|
<name>Dima Akater</name>
|
||||||
|
</maintainer>
|
||||||
|
<longdescription>Additional features for Ement.el: - password search with auth-source - convenience functions to run pantalaimon daemon from within Emacs, including a single-command zero-config entry point to run ement via pantalaimon, and a config generator.
|
||||||
|
</longdescription>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="gitlab">akater/emacs-ement-extras</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
63
app-emacs/ement/ement-9999.ebuild
Normal file
63
app-emacs/ement/ement-9999.ebuild
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
NEED_EMACS="26.3"
|
||||||
|
|
||||||
|
inherit elisp git-r3
|
||||||
|
|
||||||
|
DESCRIPTION="Matrix client for GNU Emacs"
|
||||||
|
HOMEPAGE="https://github.com/alphapapa/ement.el"
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://github.com/alphapapa/ement.el.git"
|
||||||
|
EGIT_BRANCH="master"
|
||||||
|
EGIT_CLONE_TYPE="single"
|
||||||
|
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="e2e extras"
|
||||||
|
|
||||||
|
DOCS="README.org"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
>=app-emacs/plz-0.1_pre
|
||||||
|
>=app-emacs/ts-0.2
|
||||||
|
e2e? ( net-im/pantalaimon )
|
||||||
|
"
|
||||||
|
# Pantalaimon's docs are needed at build time to annotate config
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
>=app-emacs/plz-0.1_pre
|
||||||
|
>=app-emacs/ts-0.2
|
||||||
|
e2e? ( net-im/pantalaimon )
|
||||||
|
extras? ( app-emacs/ement-extras )
|
||||||
|
"
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
elisp_src_compile
|
||||||
|
if use e2e ; then
|
||||||
|
einfo "Annotating suggested pantalaimon config..."
|
||||||
|
cp "${FILESDIR}"/pantalaimon.conf "${S}"
|
||||||
|
"${EMACS}" -Q -batch -l "${FILESDIR}/${PN}"-annotate-conf.el
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
if use e2e ; then
|
||||||
|
einfo "Installing suggested pantalaimon config to /etc/${PN}"
|
||||||
|
insinto /etc/"${PN}"
|
||||||
|
doins pantalaimon.conf
|
||||||
|
DOCS+=" ${FILESDIR}/${PN}-gentoo-pantalaimon.org"
|
||||||
|
fi
|
||||||
|
elisp_src_install
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if [ ! [ use e2e && use extras ] ] ; then
|
||||||
|
einfo "To start using Matrix from Emacs with E2EE without any manual configuration,"
|
||||||
|
einfo "USE=\"e2e extras\" emerge app-emacs/ement"
|
||||||
|
fi
|
||||||
|
}
|
90
app-emacs/ement/files/50ement-gentoo.el
Normal file
90
app-emacs/ement/files/50ement-gentoo.el
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
;;; ement site-lisp configuration
|
||||||
|
|
||||||
|
(add-to-list 'load-path "/usr/share/emacs/site-lisp/ement")
|
||||||
|
|
||||||
|
|
||||||
|
;;; begin: forms written by `autoload-generate-file-autoloads'
|
||||||
|
|
||||||
|
|
||||||
|
;;;### (autoloads nil "ement" "ement.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from ement.el
|
||||||
|
|
||||||
|
(autoload 'ement-connect "ement" "\
|
||||||
|
Connect to Matrix with USER-ID and PASSWORD, or using SESSION.
|
||||||
|
Interactively, with prefix, ignore a saved session and log in
|
||||||
|
again; otherwise, use a saved session if `ement-save-session' is
|
||||||
|
enabled and a saved session is available, or prompt to log in if
|
||||||
|
not enabled or available.
|
||||||
|
|
||||||
|
If URI-PREFIX is specified, it should be the prefix of the
|
||||||
|
server's API URI, including protocol, hostname, and optionally
|
||||||
|
the port, e.g.
|
||||||
|
|
||||||
|
\"https://matrix-client.matrix.org\"
|
||||||
|
\"http://localhost:8080\"
|
||||||
|
|
||||||
|
\(fn &key USER-ID PASSWORD URI-PREFIX SESSION)" t nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ement" '("ement-")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
|
||||||
|
;;;### (autoloads nil "ement-room-list" "ement-room-list.el" (0 0
|
||||||
|
;;;;;; 0 0))
|
||||||
|
;;; Generated autoloads from ement-room-list.el
|
||||||
|
|
||||||
|
(autoload 'ement-room-list "ement-room-list" "\
|
||||||
|
Show buffer listing joined rooms.
|
||||||
|
Calls `pop-to-buffer-same-window'. Interactively, with prefix,
|
||||||
|
call `pop-to-buffer'.
|
||||||
|
|
||||||
|
\(fn &rest IGNORE)" t nil)
|
||||||
|
|
||||||
|
(defalias 'ement-list-rooms 'ement-room-list)
|
||||||
|
|
||||||
|
(autoload 'ement-room-list-auto-update "ement-room-list" "\
|
||||||
|
Automatically update the room list buffer.
|
||||||
|
Does so when variable `ement-room-list-auto-update' is non-nil.
|
||||||
|
To be called in `ement-sync-callback-hook'.
|
||||||
|
|
||||||
|
\(fn SESSION)" nil nil)
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ement-room-list" '("ement-room-list-")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
|
||||||
|
;;;### (autoloads nil "ement-room" "ement-room.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from ement-room.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ement-room" '("ement-")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
|
||||||
|
;;;### (autoloads nil "ement-notify" "ement-notify.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from ement-notify.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ement-notify" '("ement-notify")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
|
||||||
|
;;;### (autoloads nil "ement-api" "ement-api.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from ement-api.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ement-api" '("ement-api-error")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
|
||||||
|
;;;### (autoloads nil "ement-macros" "ement-macros.el" (0 0 0 0))
|
||||||
|
;;; Generated autoloads from ement-macros.el
|
||||||
|
|
||||||
|
(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "ement-macros" '("ement-")))
|
||||||
|
|
||||||
|
;;;***
|
||||||
|
|
||||||
|
|
||||||
|
;;; end: forms written by `autoload-generate-file-autoloads'
|
106
app-emacs/ement/files/ement-annotate-conf.el
Normal file
106
app-emacs/ement/files/ement-annotate-conf.el
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
;; -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
(require 'rx)
|
||||||
|
|
||||||
|
(defvar ement--pantalaimon-conf-verbose (member "--verbose" command-line-args))
|
||||||
|
|
||||||
|
(defun ement--pantalaimon-conf-message (format-string &rest args)
|
||||||
|
(when ement--pantalaimon-conf-verbose
|
||||||
|
(apply #'message format-string args)))
|
||||||
|
|
||||||
|
(defmacro with-no-messages (&rest body)
|
||||||
|
(declare (indent 0))
|
||||||
|
`(progn
|
||||||
|
(advice-add 'message :around #'ignore)
|
||||||
|
(unwind-protect (progn ,@body)
|
||||||
|
(advice-remove 'message #'ignore))))
|
||||||
|
|
||||||
|
(defun ement--pantalaimon-latest-doc-dir ()
|
||||||
|
(car
|
||||||
|
(last
|
||||||
|
(directory-files "/usr/share/doc/" t (rx string-start "pantalaimon")))))
|
||||||
|
|
||||||
|
(defun ement--pantalaimon-annotate (pantalaimon-conf-file)
|
||||||
|
(let ((count 0)
|
||||||
|
(pantalaimon-options-help
|
||||||
|
(ignore-errors
|
||||||
|
(with-no-messages
|
||||||
|
(find-file-noselect
|
||||||
|
(nth 0 (directory-files (ement--pantalaimon-latest-doc-dir)
|
||||||
|
t (rx string-start "pantalaimon.5.md")
|
||||||
|
t)))))))
|
||||||
|
(if (not pantalaimon-options-help) (message "Can't find pantalaimon doc file to annotate pantalaimon config")
|
||||||
|
(ement--pantalaimon-conf-message
|
||||||
|
"Annotating file %s..." pantalaimon-conf-file)
|
||||||
|
(let ((annotations (get-buffer-create " *annotations*")))
|
||||||
|
(with-current-buffer annotations (buffer-disable-undo))
|
||||||
|
;; annotations need to be reformatted in their own buffer
|
||||||
|
;; because md syntax is different from conf syntax
|
||||||
|
(defun ement--pantalaimon-conf-insert-annotation (key &optional buffer)
|
||||||
|
(setq buffer (or buffer (current-buffer)))
|
||||||
|
(with-current-buffer pantalaimon-options-help
|
||||||
|
(save-excursion
|
||||||
|
(goto-char (point-min))
|
||||||
|
(if (not (re-search-forward (rx line-start "**" (literal key) "**"
|
||||||
|
line-end)
|
||||||
|
nil t))
|
||||||
|
(progn
|
||||||
|
(ement--pantalaimon-conf-message
|
||||||
|
"Can't find annotation for key %s" key)
|
||||||
|
nil)
|
||||||
|
(re-search-forward (rx (zero-or-more whitespace)) nil t)
|
||||||
|
(if (not (looking-at-p (rx ?\>)))
|
||||||
|
(progn (ement--pantalaimon-conf-message
|
||||||
|
"Unexpected annotation format for key %s" key)
|
||||||
|
nil)
|
||||||
|
(let ((start (point))
|
||||||
|
(end (re-search-forward
|
||||||
|
(rx line-start
|
||||||
|
(zero-or-more whitespace) line-end)
|
||||||
|
nil t)))
|
||||||
|
(with-current-buffer annotations
|
||||||
|
(erase-buffer)
|
||||||
|
(insert-buffer-substring-no-properties
|
||||||
|
pantalaimon-options-help start end)
|
||||||
|
(goto-char (point-min))
|
||||||
|
(while (re-search-forward (rx line-start ?\>) nil t)
|
||||||
|
(delete-backward-char 1)
|
||||||
|
(insert ?\#))))
|
||||||
|
(with-current-buffer buffer
|
||||||
|
(insert-buffer-substring-no-properties annotations))
|
||||||
|
t)))))
|
||||||
|
(with-current-buffer (find-file-noselect pantalaimon-conf-file)
|
||||||
|
(goto-char (point-min))
|
||||||
|
(let ((maybe-fail-ungracefully
|
||||||
|
(let ((count 0))
|
||||||
|
(lambda ()
|
||||||
|
(when (>= (setq count (1+ count)) 10000)
|
||||||
|
(error "Annotating config failed ungracefully"))))))
|
||||||
|
(while (not (= (point-max) (point)))
|
||||||
|
;; These loops are not very safe
|
||||||
|
;; todo: maybe rewrite with save-restriction
|
||||||
|
(funcall maybe-fail-ungracefully)
|
||||||
|
(when (looking-at (rx line-start
|
||||||
|
(group (one-or-more alphabetic))
|
||||||
|
(zero-or-one ?\s) ?\=))
|
||||||
|
(let ((key (match-string-no-properties 1)))
|
||||||
|
(when ement--pantalaimon-conf-verbose
|
||||||
|
"Annotating option %s..." key)
|
||||||
|
(beginning-of-line)
|
||||||
|
(open-line 1)
|
||||||
|
(when (ement--pantalaimon-conf-insert-annotation key)
|
||||||
|
(ement--pantalaimon-conf-message "Done")))
|
||||||
|
(while (looking-at-p (rx (or whitespace line-end)))
|
||||||
|
(funcall maybe-fail-ungracefully)
|
||||||
|
(delete-char 1)))
|
||||||
|
(next-logical-line)
|
||||||
|
(while (looking-at-p (rx line-start ?\#))
|
||||||
|
(funcall maybe-fail-ungracefully)
|
||||||
|
(next-logical-line))
|
||||||
|
(open-line 1)
|
||||||
|
(next-logical-line)))
|
||||||
|
(save-buffer))
|
||||||
|
(kill-buffer annotations)))))
|
||||||
|
|
||||||
|
(ement--pantalaimon-annotate (expand-file-name "pantalaimon.conf"
|
||||||
|
(getenv "S")))
|
21
app-emacs/ement/files/ement-gentoo-pantalaimon.org
Normal file
21
app-emacs/ement/files/ement-gentoo-pantalaimon.org
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#+title: Quick start with E2E encryption in Ement.el
|
||||||
|
|
||||||
|
* User config
|
||||||
|
|
||||||
|
You may
|
||||||
|
#+begin_src sh
|
||||||
|
ln -s /etc/ement/pantalaimon.conf ~/.config/pantalaimon/pantalaimon.conf
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
or do something equivalent. See [[/etc/ement/pantalaimon.conf][the config]], it's annotated.
|
||||||
|
|
||||||
|
* Starting the server
|
||||||
|
|
||||||
|
Start the server with e.g.
|
||||||
|
#+begin_src sh
|
||||||
|
pantalaimon --config ~/.config/pantalaimon/pantalaimon.conf
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* Starting Ement with Pantalaimon
|
||||||
|
|
||||||
|
Follow [[file:README.org.bz2::*Encrypted room support through Pantalaimon][Ement's instructions]].
|
21
app-emacs/ement/files/pantalaimon.conf
Normal file
21
app-emacs/ement/files/pantalaimon.conf
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# This is an example config that should work with ement.el out of the box
|
||||||
|
# You may symlink ~/.config/pantalaimon/pantalaimon.conf to this file
|
||||||
|
|
||||||
|
[Default]
|
||||||
|
LogLevel=Debug
|
||||||
|
SSL=True
|
||||||
|
Notifications=Off
|
||||||
|
DebugEncryption=True
|
||||||
|
|
||||||
|
[local-matrix]
|
||||||
|
Homeserver=https://matrix.org
|
||||||
|
ListenAddress=127.0.0.1
|
||||||
|
ListenPort=8009
|
||||||
|
IgnoreVerification=False
|
||||||
|
UseKeyring=False
|
||||||
|
# UseKeyring=True does not work for me on pantalaimon restarts
|
||||||
|
# UseKeyring=No not tested
|
||||||
|
# UseKeyring=Yes not tested
|
||||||
|
DropOldKeys=False
|
||||||
|
# DropOldKeys=No not tested
|
||||||
|
# DropOldKeys=Yes not tested
|
17
app-emacs/ement/metadata.xml
Normal file
17
app-emacs/ement/metadata.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>nuclearspace@gmail.com</email>
|
||||||
|
<name>Dima Akater</name>
|
||||||
|
</maintainer>
|
||||||
|
<longdescription>Ement.el is a Matrix client for GNU Emacs. Currently in development but already useful.
|
||||||
|
</longdescription>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">alphapapa/ement.el</remote-id>
|
||||||
|
</upstream>
|
||||||
|
<use>
|
||||||
|
<flag name="e2e">Enable end to end encryption support via pantalaimon</flag>
|
||||||
|
<flag name="extras">Install extra features (auth-source and proxy support)</flag>
|
||||||
|
</use>
|
||||||
|
</pkgmetadata>
|
11
app-emacs/plz/metadata.xml
Normal file
11
app-emacs/plz/metadata.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>nuclearspace@gmail.com</email>
|
||||||
|
<name>Dima Akater</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">alphapapa/plz.el</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
25
app-emacs/plz/plz-9999.ebuild
Normal file
25
app-emacs/plz/plz-9999.ebuild
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
NEED_EMACS="26.3"
|
||||||
|
|
||||||
|
inherit elisp git-r3
|
||||||
|
|
||||||
|
DESCRIPTION="An HTTP library that uses curl as a backend"
|
||||||
|
HOMEPAGE="https://github.com/alphapapa/plz.el"
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://github.com/alphapapa/plz.el.git"
|
||||||
|
EGIT_BRANCH="master"
|
||||||
|
EGIT_CLONE_TYPE="single"
|
||||||
|
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
RDEPEND="net-misc/curl"
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
emake test
|
||||||
|
}
|
11
app-emacs/ts/metadata.xml
Normal file
11
app-emacs/ts/metadata.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>nuclearspace@gmail.com</email>
|
||||||
|
<name>Dima Akater</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">alphapapa/ts.el</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
29
app-emacs/ts/ts-9999.ebuild
Normal file
29
app-emacs/ts/ts-9999.ebuild
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
NEED_EMACS="26.1"
|
||||||
|
|
||||||
|
inherit elisp git-r3
|
||||||
|
|
||||||
|
DESCRIPTION="Timestamp and date/time library"
|
||||||
|
HOMEPAGE="https://github.com/alphapapa/ts.el"
|
||||||
|
|
||||||
|
EGIT_REPO_URI="https://github.com/alphapapa/ts.el.git"
|
||||||
|
EGIT_BRANCH="master"
|
||||||
|
EGIT_CLONE_TYPE="single"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
LICENSE="GPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
|
||||||
|
BDEPEND="
|
||||||
|
>=app-emacs/dash-2.14.1
|
||||||
|
>=app-emacs/s-1.12.0
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPEND="${BDEPEND}"
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
emake test
|
||||||
|
}
|
1
dev-python/janus/Manifest
Normal file
1
dev-python/janus/Manifest
Normal file
@ -0,0 +1 @@
|
|||||||
|
DIST janus-0.5.0.tar.gz 18006 BLAKE2B 9e22d63cdf5b388f22d2d9f021d289560db127f71b3f4d338affc204379ef633ad88c4cb87abb697b6fcbc839f2e0b2249b0ee4895262bf26e75f23ac4c12471 SHA512 9b220347ad29c1bf613a3db9468c41c0c5216d245a320ccaeb97f784d6a6e9ae631ccac951b18d15e706debd512e25de8c079e79a5c68d195b97cadbeba971a2
|
34
dev-python/janus/janus-0.5.0.ebuild
Normal file
34
dev-python/janus/janus-0.5.0.ebuild
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Copyright 1999-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# credit goes to ebuild repository gentoo-zh
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
PYTHON_COMPAT=( python3_{8,9} pypy3 )
|
||||||
|
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="Implementation of the asyncio (PEP 3156) event-loop with Qt"
|
||||||
|
HOMEPAGE="https://github.com/aio-libs/janus"
|
||||||
|
MY_P="${P/_alpha/a}"
|
||||||
|
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||||
|
IUSE="test"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||||
|
test? (
|
||||||
|
dev-python/pytest[${PYTHON_USEDEP}]
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
python_test() {
|
||||||
|
py.test -v || die "Tests fail with ${EPYTHON}"
|
||||||
|
}
|
||||||
|
|
||||||
|
python_install_all() {
|
||||||
|
distutils-r1_python_install_all
|
||||||
|
}
|
11
dev-python/janus/metadata.xml
Normal file
11
dev-python/janus/metadata.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>parona@protonmail.com</email>
|
||||||
|
<name>Alfred Wingate</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">aio-libs/janus</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
1
net-im/pantalaimon/Manifest
Normal file
1
net-im/pantalaimon/Manifest
Normal file
@ -0,0 +1 @@
|
|||||||
|
DIST pantalaimon-0.10.2.tar.gz 2494924 BLAKE2B fecb33571c159d71d62477f662bf146651f496f6d28aa13a197e9b2076acc4ec2b9c89586c6bbc8fee586cd31b74086fb8dd14bf417853b35c4d3941a01f2d40 SHA512 27d887959a74469967174140f1a511a152ebe2813186cd3e8136fcc91d0726a4c0fdf46427d5bcee8401567ff88468143139b0bdc1f27a389b6fb85cf28b317b
|
33
net-im/pantalaimon/files/pantalaimon-0.10.2-no-panctl.patch
Normal file
33
net-im/pantalaimon/files/pantalaimon-0.10.2-no-panctl.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
Do not install panctl
|
||||||
|
|
||||||
|
---
|
||||||
|
MANIFEST.in | 1 -
|
||||||
|
setup.py | 3 +--
|
||||||
|
2 files changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/MANIFEST.in b/MANIFEST.in
|
||||||
|
index 86e8433..ee8bc73 100644
|
||||||
|
--- a/MANIFEST.in
|
||||||
|
+++ b/MANIFEST.in
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
include contrib/pantalaimon.service
|
||||||
|
include doc/man/pantalaimon.8
|
||||||
|
include doc/man/pantalaimon.5
|
||||||
|
-include doc/man/panctl.1
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index b13317a..e06de1a 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -40,8 +40,7 @@ setup(
|
||||||
|
]
|
||||||
|
},
|
||||||
|
entry_points={
|
||||||
|
- "console_scripts": ["pantalaimon=pantalaimon.main:main",
|
||||||
|
- "panctl=pantalaimon.panctl:main"],
|
||||||
|
+ "console_scripts": ["pantalaimon=pantalaimon.main:main"],
|
||||||
|
},
|
||||||
|
zip_safe=False
|
||||||
|
)
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
18
net-im/pantalaimon/metadata.xml
Normal file
18
net-im/pantalaimon/metadata.xml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>nuclearspace@gmail.com</email>
|
||||||
|
<name>Dima Akater</name>
|
||||||
|
</maintainer>
|
||||||
|
<longdescription>Pantalaimon is an end-to-end encryption aware Matrix reverse proxy daemon that handles the encryption. Messages are transparently encrypted and decrypted for clients inside of pantalaimon.
|
||||||
|
</longdescription>
|
||||||
|
<use>
|
||||||
|
<flag name="dbus">Support additional features that require dbus</flag>
|
||||||
|
<flag name="panctl">Install a CLI utility to control pantalaimon</flag>
|
||||||
|
<flag name="systemd">Install systemd .service script</flag>
|
||||||
|
</use>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">matrix-org/pantalaimon</remote-id>
|
||||||
|
</upstream>
|
||||||
|
</pkgmetadata>
|
80
net-im/pantalaimon/pantalaimon-0.10.2.ebuild
Normal file
80
net-im/pantalaimon/pantalaimon-0.10.2.ebuild
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# Copyright 2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_9 )
|
||||||
|
inherit distutils-r1
|
||||||
|
|
||||||
|
DESCRIPTION="A Matrix proxy daemon that adds E2E encryption capabilities"
|
||||||
|
HOMEPAGE="https://github.com/matrix-org/pantalaimon"
|
||||||
|
SRC_URI="https://github.com/matrix-org/pantalaimon/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
IUSE="dbus panctl systemd"
|
||||||
|
RESTRICT="mirror"
|
||||||
|
DOCS=( "README.md" "docs/man/pantalaimon.5.md" "docs/man/pantalaimon.8.md" )
|
||||||
|
REQUIRED_USE="panctl? ( dbus )"
|
||||||
|
|
||||||
|
BDEPEND=""
|
||||||
|
RDEPEND="
|
||||||
|
>=dev-python/attrs-19.3.0
|
||||||
|
>=dev-python/aiohttp-3.6
|
||||||
|
>=dev-python/appdirs-1.4.4
|
||||||
|
>=dev-python/click-7.1.2
|
||||||
|
>=dev-python/keyring-21.2.1
|
||||||
|
>=dev-python/logbook-1.5.3
|
||||||
|
>=dev-python/peewee-3.13.1
|
||||||
|
>=dev-python/cachetools-3.0.0
|
||||||
|
>dev-python/prompt_toolkit-2
|
||||||
|
>=dev-python/janus-0.5
|
||||||
|
>=dev-python/matrix-nio-0.18[e2e]
|
||||||
|
dbus? (
|
||||||
|
>=dev-python/dbus-python-1.2
|
||||||
|
>=dev-python/pygobject-3.36
|
||||||
|
>=dev-python/pydbus-0.6
|
||||||
|
>=dev-python/notify2-0.3
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
|
||||||
|
# I don't think we should install something a priori non-functioning
|
||||||
|
|
||||||
|
if ! use panctl ; then
|
||||||
|
rm docs/man/panctl.1
|
||||||
|
rm docs/man/panctl.md
|
||||||
|
rm pantalaimon/panctl.py
|
||||||
|
eapply "${FILESDIR}/${PN}"-0.10.2-no-panctl.patch
|
||||||
|
fi
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
# todo: Why exactly is compilation disabled by upstream?
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
# Remove some warnings
|
||||||
|
ln -s docs doc
|
||||||
|
# This should probably be addressed by upstream
|
||||||
|
|
||||||
|
distutils-r1_src_install
|
||||||
|
doman docs/man/pantalaimon.{5,8}
|
||||||
|
if use panctl ; then
|
||||||
|
doman docs/man/panctl.1
|
||||||
|
dodoc docs/man/panctl.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
# issue: contrib config could be much better
|
||||||
|
sed -i -e 's/^/# /' contrib/pantalaimon.conf
|
||||||
|
insinto /etc
|
||||||
|
doins contrib/pantalaimon.conf
|
||||||
|
|
||||||
|
if use systemd; then
|
||||||
|
insinto /usr/lib/systemd/user
|
||||||
|
doins contrib/pantalaimon.service
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user