commit:     37b2999fa73c3fdb87544d2dfc4cdb9f02311876
Author:     Arsen Arsenović <arsen <AT> aarsen <DOT> me>
AuthorDate: Sun Nov 27 19:28:51 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec  3 11:06:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37b2999f

dev-util/poke: add 9999

Signed-off-by: Arsen Arsenović <arsen <AT> aarsen.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/poke/files/50poke-gentoo.el |   9 +++
 dev-util/poke/metadata.xml           |   1 +
 dev-util/poke/poke-9999.ebuild       | 116 +++++++++++++++++++++++++++++++++++
 3 files changed, 126 insertions(+)

diff --git a/dev-util/poke/files/50poke-gentoo.el 
b/dev-util/poke/files/50poke-gentoo.el
new file mode 100644
index 000000000000..5a173875dbcd
--- /dev/null
+++ b/dev-util/poke/files/50poke-gentoo.el
@@ -0,0 +1,9 @@
+;;; poke site-lisp configuration
+
+(autoload 'poke-ras-mode "poke-ras-mode"
+  "Major mode for writing poke RAS programs." t)
+(autoload 'poke-map-mode "poke-map-mode"
+  "Major mode for writing poke map-files." t)
+
+(add-to-list 'auto-mode-alist '(".*\\.pks" . poke-ras-mode))
+(add-to-list 'auto-mode-alist '(".*\\.map" . poke-map-mode))

diff --git a/dev-util/poke/metadata.xml b/dev-util/poke/metadata.xml
index 16899f52a82c..87e485e63e50 100644
--- a/dev-util/poke/metadata.xml
+++ b/dev-util/poke/metadata.xml
@@ -12,6 +12,7 @@
   <use>
     <flag name="machine-interface">Enable machine-interface protocol using 
<pkg>dev-libs/json-c</pkg></flag>
     <flag name="pvm-profiling">Enable profiling in the PVM</flag>
+    <flag name="nbd">Enable poking at networked block devices via 
<pkg>sys-libs/libnbd</pkg>.</flag>
   </use>
   <upstream>
     <remote-id type="savannah">poke</remote-id>

diff --git a/dev-util/poke/poke-9999.ebuild b/dev-util/poke/poke-9999.ebuild
new file mode 100644
index 000000000000..c50ed72d70ea
--- /dev/null
+++ b/dev-util/poke/poke-9999.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common flag-o-matic
+
+DESCRIPTION="Extensible editor for structured binary data"
+HOMEPAGE="https://www.jemarch.net/poke";
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://git.savannah.gnu.org/git/poke.git";
+       REGEN_BDEPEND="
+               >=sys-devel/autoconf-2.62
+               >=sys-devel/automake-2.16
+               sys-apps/gawk
+               sys-apps/help2man
+               sys-apps/texinfo
+               sys-devel/bison
+               sys-devel/flex
+       "
+else
+       SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+       KEYWORDS="~amd64"
+       REGEN_BDEPEND=""
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="emacs pvm-profiling nbd nls test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-libs/boehm-gc:=
+       dev-libs/libatomic_ops
+       sys-devel/gettext
+       sys-libs/readline:=
+       emacs? ( >=app-editors/emacs-23.1:* )
+       nbd? ( sys-libs/libnbd )
+"
+DEPEND="
+       ${RDEPEND}
+       test? ( nbd? ( sys-libs/libnbd[uri-support] ) )
+"
+BDEPEND="
+       ${REGEN_BDEPEND}
+       virtual/pkgconfig
+       emacs? ( >=app-editors/emacs-23.1:* )
+       test? (
+               dev-util/dejagnu
+               nbd? ( sys-block/nbdkit )
+       )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_setup() {
+       use emacs && elisp-check-emacs-version
+}
+
+src_prepare() {
+       default
+
+       if [[ ${PV} == 9999 ]]; then
+               ./bootstrap || die
+       fi
+}
+
+src_configure() {
+       # See bug 858461.
+       # Upstream support might happen one day.  For context, only one file 
needs
+       # LTO to be disabled (since it's an autogenerated bytecode interpreter),
+       # others do not.  The build system will handle this at some point in the
+       # future.  Until then, just filter out LTO.
+       filter-lto
+
+       local myconf=(
+               --with-lispdir="${EPREFIX}/${SITELISP}/${PN}"
+               --enable-hserver
+               $(use_enable nbd libnbd)
+               $(use_enable pvm-profiling)
+               $(use_enable nls)
+       )
+
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       default
+
+       if use emacs; then
+               cd etc || die
+               elisp-compile *.el
+       fi
+}
+
+src_install() {
+       default
+
+       if use emacs; then
+               elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+               cd etc || die
+               elisp-install "${PN}" *.el *.elc
+       fi
+       find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

Reply via email to