summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emacs/racket-mode/Manifest1
-rw-r--r--app-emacs/racket-mode/racket-mode-1_p20251107.ebuild74
2 files changed, 75 insertions, 0 deletions
diff --git a/app-emacs/racket-mode/Manifest b/app-emacs/racket-mode/Manifest
index 8151956b693c..377df1917492 100644
--- a/app-emacs/racket-mode/Manifest
+++ b/app-emacs/racket-mode/Manifest
@@ -1 +1,2 @@
DIST racket-mode-1_p20250522.gh.tar.gz 399650 BLAKE2B 83d95afbd608564c0a2a2c879ff074c0051f481ec6c718c154e2646defef83b0cc5f989a6026572a3f86783b1cc692fe0ae67ab76b0ec90969d5908b6f6b59de SHA512 0d9173bfbafb825b9cccff8aec03db4d092a6573bb2e7d7ba9fc4ed58234b6c24c0705fed1c64acb46e39bb4a767722255ef60e0ecfb8233c01b138c85a71916
+DIST racket-mode-1_p20251107.snapshot.gh.tar.gz 403616 BLAKE2B 393e8ca77d40e8b1a88fd5d900551dfd00608a6ebdadf3163efad8b7289b3816a84d5debe67c33981744cb8e6067d3672f9b2dd95e213d073b1cd19b841ff816 SHA512 5b4cbb7b4a36cc0510e824430704191790662fb80693afbdcd29867f200553bc74ee1626096caadbadca0d642eee016b5ab1627504f8379d7f5d6c2793fb130e
diff --git a/app-emacs/racket-mode/racket-mode-1_p20251107.ebuild b/app-emacs/racket-mode/racket-mode-1_p20251107.ebuild
new file mode 100644
index 000000000000..aa0b0d98a5d3
--- /dev/null
+++ b/app-emacs/racket-mode/racket-mode-1_p20251107.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Emacs modes for Racket: edit, REPL, check-syntax, debug, profile, and more"
+HOMEPAGE="https://www.racket-mode.com/
+ https://github.com/greghendershott/racket-mode/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/greghendershott/${PN}"
+else
+ [[ "${PV}" == *_p20251107 ]] && COMMIT="d98852ef6d0c05e16ce3e87f4a14cf47c557ce2b"
+
+ SRC_URI="https://github.com/greghendershott/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.snapshot.gh.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ dev-scheme/racket:=[-minimal]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+ELISP_REMOVE="
+ test/racket/hash-lang-test.rkt
+"
+PATCHES=( "${FILESDIR}/${PN}-rkt-source-dir.patch" )
+
+DOCS=( CONTRIBUTING.org README.org THANKS.org )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ elisp_src_prepare
+
+ sed "s|@SITEETC@|${SITEETC}/${PN}|" -i "${S}/racket-util.el" || die
+}
+
+src_compile() {
+ elisp_src_compile
+
+ # Equivalent to compiling from Emacs with "racket-mode-start-faster",
+ # because this is installed globally we have to compile it now.
+ ebegin "Compiling Racket source files"
+ find "${S}/racket" -type f -name "*.rkt" -exec raco make -v {} +
+ eend $? "failed to compile Racket source files" || die
+}
+
+src_test() {
+ # Set "PLTUSERHOME" to a safe temp directory to prevent writing to "~".
+ local -x PLTUSERHOME="${T}/racket-mode/test-racket"
+
+ emake test-racket
+}
+
+src_install() {
+ elisp_src_install
+
+ # Install Racket files to "${SITEETC}".
+ insinto "${SITEETC}/${PN}"
+ doins -r racket
+}