summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-03-09 02:36:21 +0100
committerMaciej Barć <xgqt@gentoo.org>2022-03-09 02:36:44 +0100
commit8e893d94091af47d6a037ea3b172134f4b72ad9b (patch)
tree6c53a6f9bf53545a68f66254841677c837ca79e9
parentdev-ml/reason: bump to 3.8.0 (diff)
downloadgentoo-8e893d94091af47d6a037ea3b172134f4b72ad9b.tar.gz
gentoo-8e893d94091af47d6a037ea3b172134f4b72ad9b.tar.bz2
gentoo-8e893d94091af47d6a037ea3b172134f4b72ad9b.zip
app-emacs/boogie-friends: new package; add 20210703 (2021.07.03 snapshot)
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
-rw-r--r--app-emacs/boogie-friends/Manifest1
-rw-r--r--app-emacs/boogie-friends/boogie-friends-20210703.ebuild46
-rw-r--r--app-emacs/boogie-friends/files/50boogie-friends-gentoo.el10
-rw-r--r--app-emacs/boogie-friends/files/boogie-friends-paths.patch12
-rw-r--r--app-emacs/boogie-friends/metadata.xml18
5 files changed, 87 insertions, 0 deletions
diff --git a/app-emacs/boogie-friends/Manifest b/app-emacs/boogie-friends/Manifest
new file mode 100644
index 000000000000..e33124f47ef9
--- /dev/null
+++ b/app-emacs/boogie-friends/Manifest
@@ -0,0 +1 @@
+DIST boogie-friends-20210703.tar.gz 410267 BLAKE2B dd00a175e1a5f11916b35f852e90b4cbb6f5f59947075efd1b12b5bea341731a0cba3ba7f42d515d2b8600a96d52d1f2b51ee4fe68274df5e00993443ebc4ecd SHA512 23488a452bd1baa1bc562efe3f7b53b94d58e4bc542a6c3d7c1baa255d379dd056c0cb4168e1d79caaaf746426f612aa5dea1e545931c549dcd0fa3f50751324
diff --git a/app-emacs/boogie-friends/boogie-friends-20210703.ebuild b/app-emacs/boogie-friends/boogie-friends-20210703.ebuild
new file mode 100644
index 000000000000..76b9981351b5
--- /dev/null
+++ b/app-emacs/boogie-friends/boogie-friends-20210703.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+H=1e3b6a8aee9fa7c113468838c5b647080caf3703
+
+inherit elisp
+
+DESCRIPTION="Emacs tools for interacting with Boogie, Dafny and Z3 (SMT2)"
+HOMEPAGE="https://github.com/boogie-org/boogie-friends/"
+SRC_URI="https://github.com/boogie-org/${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${H}/emacs"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # cask and dafny are needed for tests
+
+RDEPEND="
+ app-emacs/company-mode
+ app-emacs/dash
+ app-emacs/flycheck
+ app-emacs/yasnippet
+"
+BDEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-paths.patch )
+
+ELISP_REMOVE="boogie-friends-pkg.el"
+SITEFILE="50${PN}-gentoo.el"
+
+DOCS=( ../README.md pictures )
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed -i "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" ./boogie-friends.el || die
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}/${PN}"
+ doins -r etc
+}
diff --git a/app-emacs/boogie-friends/files/50boogie-friends-gentoo.el b/app-emacs/boogie-friends/files/50boogie-friends-gentoo.el
new file mode 100644
index 000000000000..60d2fd32c5ef
--- /dev/null
+++ b/app-emacs/boogie-friends/files/50boogie-friends-gentoo.el
@@ -0,0 +1,10 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'boogie-mode "boogie-mode"
+ "Major mode for editing Boogie programs." t)
+(add-to-list 'auto-mode-alist '("\\.bpl\\'" . boogie-mode))
+(autoload 'dafny-mode "dafny-mode"
+ "Major mode for editing Dafny programs." t)
+(add-to-list 'auto-mode-alist '("\\.dfy\\'" . dafny-mode))
+(autoload 'z3-smt2-mode "z3-smt2-mode"
+ "Major mode for editing SMT2 programs." t)
+(add-to-list 'auto-mode-alist '("\\.smt2\\'" . z3-smt2-mode))
diff --git a/app-emacs/boogie-friends/files/boogie-friends-paths.patch b/app-emacs/boogie-friends/files/boogie-friends-paths.patch
new file mode 100644
index 000000000000..46a01de6c8fa
--- /dev/null
+++ b/app-emacs/boogie-friends/files/boogie-friends-paths.patch
@@ -0,0 +1,12 @@
+index e55ba5b..e745367 100644
+--- a/boogie-friends.el
++++ b/boogie-friends.el
+@@ -70,7 +70,7 @@
+ "IDE extensions for the programming languages of the Boogie family."
+ :group 'languages)
+
+-(defconst boogie-friends-directory (file-name-directory load-file-name)
++(defconst boogie-friends-directory "@SITEETC@"
+ "Base directory of this package.")
+
+ (defconst boogie-friends-symbols-alist '(("<=" . ?≤) (">=" . ?≥) ("!=" . ?≠) (":=" . ?≔)
diff --git a/app-emacs/boogie-friends/metadata.xml b/app-emacs/boogie-friends/metadata.xml
new file mode 100644
index 000000000000..c4a8561cc195
--- /dev/null
+++ b/app-emacs/boogie-friends/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+ <longdescription>
+ This package is a collection of tools for writing verified programs in
+ languages of the Boogie family. Dafny and Boogie are the two currently
+ supported languages, besides Z3.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/boogie-org/boogie-friends/issues/</bugs-to>
+ <remote-id type="github">boogie-org/boogie-friends</remote-id>
+ </upstream>
+</pkgmetadata>