summaryrefslogtreecommitdiff
path: root/dev-util/poke
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-util/poke
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-util/poke')
-rw-r--r--dev-util/poke/Manifest5
-rw-r--r--dev-util/poke/files/50poke-gentoo.el7
-rw-r--r--dev-util/poke/files/poke-4.1-missing-configure-include.patch20
-rw-r--r--dev-util/poke/files/poke-4.2-missing-configure-include.patch22
-rw-r--r--dev-util/poke/metadata.xml13
-rw-r--r--dev-util/poke/poke-3.3.ebuild133
-rw-r--r--dev-util/poke/poke-4.0.ebuild138
-rw-r--r--dev-util/poke/poke-4.1-r1.ebuild149
-rw-r--r--dev-util/poke/poke-4.1.ebuild138
-rw-r--r--dev-util/poke/poke-4.2.ebuild149
-rw-r--r--dev-util/poke/poke-4.3.ebuild145
-rw-r--r--dev-util/poke/poke-9999.ebuild126
12 files changed, 1045 insertions, 0 deletions
diff --git a/dev-util/poke/Manifest b/dev-util/poke/Manifest
new file mode 100644
index 000000000000..827985b61e59
--- /dev/null
+++ b/dev-util/poke/Manifest
@@ -0,0 +1,5 @@
+DIST poke-3.3.tar.gz 7553544 BLAKE2B 1e98f77937f9c45daa80591be603a74857b1bbd230cb931e59d7e9753c1687d5a4c96837bb6aca76615feca71cbeabd3be7ad234260657288d060ff63d59c040 SHA512 b00dca38d27bddee6ea131d45988aaead1d11d29b757c048f3b2be8013575cedc591844d4d99870f90964fd4f517d500cbb42aae5aff57e9fe07aac8273aa236
+DIST poke-4.0.tar.gz 8224479 BLAKE2B d7778274e2fcf3657e800ebc8b2a11e7c0e9d81b5a41ab366d7dbf8772afa8ec0f7c07c70eae1c297acc1b5ac9fb584fb6bdb1c6eedd94c62ae9123aefe08df2 SHA512 3b6a15bf5542b34a794efd31bd575b5024c14f71474581b845097f38b43cef178ee2078f680ab9ec329b4336d1b99cc5832818bd4e7a6372fec6f95e9a11534a
+DIST poke-4.1.tar.gz 8243284 BLAKE2B 1fec0087199f7a265aa30e21c7ecc783e1919ef128b0786d3ca61f34b18e2fe9433e41ad5d2e6a43458c13b0debaa4bd12d0b913868b4737c0af77a81955106b SHA512 e539708fb5a827f4e4ce4748610cb4ada008f3257700c66db6d9f71b12974fd432f8949e0f29c24d848b1b175392ab0085a158687534e63a153adbc909d5494d
+DIST poke-4.2.tar.gz 8248954 BLAKE2B 9395221c55ac413640c3b3c06e75cc27b4fa6702be8487215ef99e8ab77d1076383344400b04edc8887d5fcc0ccc96963a78a65f23a3b62071f74ee68705bc8e SHA512 d820bda83e691a0df3a8b4e061152410e7c842c39b6dac7d49cdb4c0e07e6bb65db9c44a1eaaccf20949d10c225b3586dcbb2eb7aa58f139ca2a372f842530f5
+DIST poke-4.3.tar.gz 8398021 BLAKE2B 44d2df9ce8f1b3ec4c8e41cf3ba2910a2c7bb364c7686c6e78ab3c4e932767399545ecd437d60a31d83b99f1b7ad5ed91e1b28854dae7e6c6cb24fdef5babee1 SHA512 62c966a428868fc57d9484fc8c0218eaa051db7ce94b0da2760923f209055d10eea1a7f3ca404eae96fb9908d04e6c4ae284533cff89cb115fb775a8918fbb21
diff --git a/dev-util/poke/files/50poke-gentoo.el b/dev-util/poke/files/50poke-gentoo.el
new file mode 100644
index 000000000000..fb4965c5b003
--- /dev/null
+++ b/dev-util/poke/files/50poke-gentoo.el
@@ -0,0 +1,7 @@
+(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/files/poke-4.1-missing-configure-include.patch b/dev-util/poke/files/poke-4.1-missing-configure-include.patch
new file mode 100644
index 000000000000..0131d7613358
--- /dev/null
+++ b/dev-util/poke/files/poke-4.1-missing-configure-include.patch
@@ -0,0 +1,20 @@
+See https://bugs.gentoo.org/935126
+
+--- a/m4/printf.m4
++++ b/m4/printf.m4
+@@ -894,6 +894,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #ifdef _MSC_VER
+ #include <inttypes.h>
+ /* See page about "Parameter Validation" on msdn.microsoft.com.
+@@ -1708,6 +1709,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
+ #include <signal.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <unistd.h>
+ #if HAVE_SNPRINTF
+ # define my_snprintf snprintf
+ #else
diff --git a/dev-util/poke/files/poke-4.2-missing-configure-include.patch b/dev-util/poke/files/poke-4.2-missing-configure-include.patch
new file mode 100644
index 000000000000..52928c4fe21d
--- /dev/null
+++ b/dev-util/poke/files/poke-4.2-missing-configure-include.patch
@@ -0,0 +1,22 @@
+See https://bugs.gentoo.org/935126
+
+diff --git a/m4/printf.m4 b/m4/printf.m4
+index 6f91777..ab19318 100644
+--- a/m4/printf.m4
++++ b/m4/printf.m4
+@@ -894,6 +894,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #ifdef _MSC_VER
+ #include <inttypes.h>
+ /* See page about "Parameter Validation" on msdn.microsoft.com.
+@@ -1708,6 +1709,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
+ #include <signal.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <unistd.h>
+ #if HAVE_SNPRINTF
+ # define my_snprintf snprintf
+ #else
diff --git a/dev-util/poke/metadata.xml b/dev-util/poke/metadata.xml
new file mode 100644
index 000000000000..4c8c1422ee22
--- /dev/null
+++ b/dev-util/poke/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <name>Arsen Arsenović</name>
+ </maintainer>
+ <use>
+ <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>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-util/poke/poke-3.3.ebuild b/dev-util/poke/poke-3.3.ebuild
new file mode 100644
index 000000000000..7ea895387635
--- /dev/null
+++ b/dev-util/poke/poke-3.3.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common flag-o-matic toolchain-funcs
+
+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="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ sys-apps/gawk
+ sys-apps/help2man
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ "
+elif [[ $(ver_cut 2) -ge 90 || $(ver_cut 3) -ge 90 ]]; then
+ SRC_URI="https://alpha.gnu.org/gnu/poke/${P}.tar.gz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+ 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
+ pvm-profiling? ( sys-devel/gcc )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ test? (
+ dev-util/dejagnu
+ nbd? ( sys-block/nbdkit )
+ )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # FP, bug #123456
+ MIN # gl_MINMAX
+ static_assert # gl_ASSERT_H
+ alignof # gl_STDALIGN_H
+)
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_pretend() {
+ if use pvm-profiling && ! tc-is-gcc; then
+ die "USE=pvm-profiling requires GCC"
+ fi
+}
+
+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
+}
diff --git a/dev-util/poke/poke-4.0.ebuild b/dev-util/poke/poke-4.0.ebuild
new file mode 100644
index 000000000000..2d2e963cc385
--- /dev/null
+++ b/dev-util/poke/poke-4.0.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common flag-o-matic toolchain-funcs
+
+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="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ sys-apps/gawk
+ sys-apps/help2man
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ "
+elif [[ $(ver_cut 2) -ge 90 || $(ver_cut 3) -ge 90 ]]; then
+ SRC_URI="https://alpha.gnu.org/gnu/poke/${P}.tar.gz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+ 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
+ pvm-profiling? ( sys-devel/gcc )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ test? (
+ dev-util/dejagnu
+ nbd? ( sys-block/nbdkit )
+ )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_pretend() {
+ if use pvm-profiling && ! tc-is-gcc; then
+ die "USE=pvm-profiling requires GCC"
+ fi
+}
+
+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_preinst() {
+ UPGRADING_POKE=false
+ if has_version '<dev-util/poke-4'; then
+ UPGRADING_POKE=true
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ if "${UPGRADING_POKE}"; then
+ ewarn "GNU poke 4.0 moves the ELF pickle to a separate package."
+ ewarn "To install elf.pk, please install dev-util/poke-elf."
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-util/poke/poke-4.1-r1.ebuild b/dev-util/poke/poke-4.1-r1.ebuild
new file mode 100644
index 000000000000..97d66346c37a
--- /dev/null
+++ b/dev-util/poke/poke-4.1-r1.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo elisp-common flag-o-matic toolchain-funcs
+
+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="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ sys-apps/gawk
+ sys-apps/help2man
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ "
+elif [[ $(ver_cut 2) -ge 90 || $(ver_cut 3) -ge 90 ]]; then
+ SRC_URI="https://alpha.gnu.org/gnu/poke/${P}.tar.gz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ 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
+ pvm-profiling? ( sys-devel/gcc )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ test? (
+ dev-util/dejagnu
+ nbd? ( sys-block/nbdkit )
+ )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${P}-missing-configure-include.patch"
+)
+
+pkg_pretend() {
+ if use pvm-profiling && ! tc-is-gcc; then
+ die "USE=pvm-profiling requires GCC"
+ fi
+}
+
+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)
+ )
+
+ # The patch we apply bumps mtimes on some files. Fix them up after.
+ edo touch aclocal.m4
+ edo touch configure
+ edo touch poke/config.h.in
+ edo touch Makefile.in
+ edo touch Makefile
+
+ 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_preinst() {
+ UPGRADING_POKE=false
+ if has_version '<dev-util/poke-4'; then
+ UPGRADING_POKE=true
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ if "${UPGRADING_POKE}"; then
+ ewarn "GNU poke 4.0 moves the ELF pickle to a separate package."
+ ewarn "To install elf.pk, please install dev-util/poke-elf."
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-util/poke/poke-4.1.ebuild b/dev-util/poke/poke-4.1.ebuild
new file mode 100644
index 000000000000..4f6fda3e59da
--- /dev/null
+++ b/dev-util/poke/poke-4.1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common flag-o-matic toolchain-funcs
+
+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="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ sys-apps/gawk
+ sys-apps/help2man
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ "
+elif [[ $(ver_cut 2) -ge 90 || $(ver_cut 3) -ge 90 ]]; then
+ SRC_URI="https://alpha.gnu.org/gnu/poke/${P}.tar.gz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ 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
+ pvm-profiling? ( sys-devel/gcc )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ test? (
+ dev-util/dejagnu
+ nbd? ( sys-block/nbdkit )
+ )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_pretend() {
+ if use pvm-profiling && ! tc-is-gcc; then
+ die "USE=pvm-profiling requires GCC"
+ fi
+}
+
+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_preinst() {
+ UPGRADING_POKE=false
+ if has_version '<dev-util/poke-4'; then
+ UPGRADING_POKE=true
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ if "${UPGRADING_POKE}"; then
+ ewarn "GNU poke 4.0 moves the ELF pickle to a separate package."
+ ewarn "To install elf.pk, please install dev-util/poke-elf."
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-util/poke/poke-4.2.ebuild b/dev-util/poke/poke-4.2.ebuild
new file mode 100644
index 000000000000..22d0f7a6ffb8
--- /dev/null
+++ b/dev-util/poke/poke-4.2.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo elisp-common flag-o-matic toolchain-funcs
+
+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="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ sys-apps/gawk
+ sys-apps/help2man
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ "
+elif [[ $(ver_cut 2) -ge 90 || $(ver_cut 3) -ge 90 ]]; then
+ SRC_URI="https://alpha.gnu.org/gnu/poke/${P}.tar.gz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+ 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
+ pvm-profiling? ( sys-devel/gcc )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ test? (
+ dev-util/dejagnu
+ nbd? ( sys-block/nbdkit )
+ )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${P}-missing-configure-include.patch"
+)
+
+pkg_pretend() {
+ if use pvm-profiling && ! tc-is-gcc; then
+ die "USE=pvm-profiling requires GCC"
+ fi
+}
+
+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)
+ )
+
+ # The patch we apply bumps mtimes on some files. Fix them up after.
+ edo touch aclocal.m4
+ edo touch configure
+ edo touch poke/config.h.in
+ edo touch Makefile.in
+ edo touch Makefile
+
+ 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_preinst() {
+ UPGRADING_POKE=false
+ if has_version '<dev-util/poke-4'; then
+ UPGRADING_POKE=true
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ if "${UPGRADING_POKE}"; then
+ ewarn "GNU poke 4.0 moves the ELF pickle to a separate package."
+ ewarn "To install elf.pk, please install dev-util/poke-elf."
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-util/poke/poke-4.3.ebuild b/dev-util/poke/poke-4.3.ebuild
new file mode 100644
index 000000000000..a57fc7cea1f5
--- /dev/null
+++ b/dev-util/poke/poke-4.3.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo elisp-common flag-o-matic toolchain-funcs
+
+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="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ sys-apps/gawk
+ sys-apps/help2man
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ "
+elif [[ $(ver_cut 2) -ge 90 || $(ver_cut 3) -ge 90 ]]; then
+ SRC_URI="https://alpha.gnu.org/gnu/poke/${P}.tar.gz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+ 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
+ pvm-profiling? ( sys-devel/gcc )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ test? (
+ dev-util/dejagnu
+ nbd? ( sys-block/nbdkit )
+ )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_pretend() {
+ if use pvm-profiling && ! tc-is-gcc; then
+ die "USE=pvm-profiling requires GCC"
+ fi
+}
+
+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)
+ )
+
+ # The patch we apply bumps mtimes on some files. Fix them up after.
+ edo touch aclocal.m4
+ edo touch configure
+ edo touch poke/config.h.in
+ edo touch Makefile.in
+ edo touch Makefile
+
+ 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_preinst() {
+ UPGRADING_POKE=false
+ if has_version '<dev-util/poke-4'; then
+ UPGRADING_POKE=true
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ if "${UPGRADING_POKE}"; then
+ ewarn "GNU poke 4.0 moves the ELF pickle to a separate package."
+ ewarn "To install elf.pk, please install dev-util/poke-elf."
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-util/poke/poke-9999.ebuild b/dev-util/poke/poke-9999.ebuild
new file mode 100644
index 000000000000..1aadadd1833d
--- /dev/null
+++ b/dev-util/poke/poke-9999.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common flag-o-matic toolchain-funcs
+
+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="
+ >=dev-build/autoconf-2.62
+ >=dev-build/automake-1.16
+ sys-apps/gawk
+ sys-apps/help2man
+ sys-apps/texinfo
+ app-alternatives/yacc
+ app-alternatives/lex
+ "
+elif [[ $(ver_cut 2) -ge 90 || $(ver_cut 3) -ge 90 ]]; then
+ SRC_URI="https://alpha.gnu.org/gnu/poke/${P}.tar.gz"
+ REGEN_BDEPEND=""
+else
+ SRC_URI="mirror://gnu/poke/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ 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
+ pvm-profiling? ( sys-devel/gcc )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ test? (
+ dev-util/dejagnu
+ nbd? ( sys-block/nbdkit )
+ )
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+pkg_pretend() {
+ if use pvm-profiling && ! tc-is-gcc; then
+ die "USE=pvm-profiling requires GCC"
+ fi
+}
+
+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
+}