diff options
author | Arsen Arsenović <arsen@aarsen.me> | 2022-11-27 20:28:51 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-12-03 11:06:13 +0000 |
commit | 37b2999fa73c3fdb87544d2dfc4cdb9f02311876 (patch) | |
tree | e090425c86b3f38e7427547efdfe92c6e83e613a /dev-util/poke | |
parent | sys-block/nbdkit: new package, add 1.32.4 (diff) | |
download | gentoo-37b2999fa73c3fdb87544d2dfc4cdb9f02311876.tar.gz gentoo-37b2999fa73c3fdb87544d2dfc4cdb9f02311876.tar.bz2 gentoo-37b2999fa73c3fdb87544d2dfc4cdb9f02311876.zip |
dev-util/poke: add 9999
Signed-off-by: Arsen Arsenović <arsen@aarsen.me>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/poke')
-rw-r--r-- | dev-util/poke/files/50poke-gentoo.el | 9 | ||||
-rw-r--r-- | dev-util/poke/metadata.xml | 1 | ||||
-rw-r--r-- | dev-util/poke/poke-9999.ebuild | 116 |
3 files changed, 126 insertions, 0 deletions
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 +} |