commit:     5bbbd669d5b68d7c665922cbed74eef6f31c2327
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 11 15:24:51 2026 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Wed Mar 11 15:25:07 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bbbd669

dev-lang/maude: add 3.4

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-lang/maude/Manifest                            |  3 +
 .../maude/files/maude-3.4-search-datadir.patch     | 37 ++++++++++++
 dev-lang/maude/maude-3.4.ebuild                    | 69 ++++++++++++++++++++++
 3 files changed, 109 insertions(+)

diff --git a/dev-lang/maude/Manifest b/dev-lang/maude/Manifest
index f3a704aacc6f..68e82df4cd93 100644
--- a/dev-lang/maude/Manifest
+++ b/dev-lang/maude/Manifest
@@ -5,4 +5,7 @@ DIST Maude-3.1.tar.gz 2335693 BLAKE2B 
3bc9744d95448e4dfc2f818944ab66dad84b026ad1
 DIST Maude-3.2.1-manual.pdf 2977775 BLAKE2B 
327f3e3968facc8e5f5e59f488011ad69fdd4af2252b37b24d586e673a43401fba31fb0c5448f2a94a2fab565cb1e3725a0c8407bc2108d6eec1267037851146
 SHA512 
52e92a32dc36788c1b8f275864d933204b890a00c2abf8cc4846a7409a744c01d4c21c448a33b5217f69fff239f363871cc7180ca0ce452d51cdcc0358eb32ec
 DIST Maude-3.2.2.tar.gz 2412498 BLAKE2B 
c6c22a9ad8fb142005e908f0260320120c35631c716417e73e95e96fdf8328ed8fc088dc9d73357e01f7a3e92e9bb961de257e72a54f3588da01c7484c5da5b3
 SHA512 
0414a5cbd0a2cd74b34abbd8072d5564f87f10bcf0d1b59b5e478ffc4d60f13eba9b47387b7efa85f6d5823fff5b436da13daf3b4d8dcbe973325e5afc5a28fe
 DIST Maude-3.3.1-manual.pdf 2860773 BLAKE2B 
6997d8ff340faa275902b0a6fc14f7e4a5ccb3978f866d46dddc48a74b24eed1c969ab453942b2ac8608b65ee0b3d85b64568d04a203cdf060e77417d34dd973
 SHA512 
cbc06f1d46644ac64a6b88c6e6350a09c4e09a1c2afca9142ff58326cc977c27844c706d83ab0e4bfc1ef4e55a6b8a7e93128ec4da295e161abbb33d0c11bb9d
+DIST Maude-3.4-manual-book-examples.zip 281634 BLAKE2B 
ef597412e7c1bb0595446b055553c8996c49c1c2f2e7dabd42ce04a9b15726a7b085091f0d0d3ce7851ddf612a6880ed4143f5a908508f1ece721d7f54f9cb44
 SHA512 
1238762780dc952127e09cf729d529e8186164133882e94f168581aa6eb72159402dd7ece63a628086591717e74ea9390fe9f82df3926a1616fedda2e7d99b6d
 DIST Maude3.3.1.tar.gz 2520151 BLAKE2B 
6b6e7d092e73cc83221ef2fe5f4dc8462a2df64a359982632ce4054cee4ff5f11b852df5693b24385a0c5c5ee7b7921789d6141037ba20edb9ab115b8b2ecea3
 SHA512 
7a0c989c9da58d057793dfd428f06a34c1dae142fc181ee94a030a8cc3056b3f120d1b63a29a5d3bc0a6bd0007b7aecdfd7323e1e410ee42f2bdac6b91e880b2
+DIST Maude3.4.tar.gz 2660916 BLAKE2B 
f1c9b13ad31f8537a0c1d5d103b78e4ab0194fbdef830ed40523ada3eff5856692336a52c0ff6d8a7e7e2001ce890197d017b68f1a9d3289770b80135eb217a5
 SHA512 
91891981cb010d7c8995e3ad585b3c04808a09168edabcf991f29e1eaa045b97d5e5de1a7a2898b89ba8231a195cf6ddcbd3825a4eb885fbbcc94734d65d8ffd
+DIST Maude34manual.pdf 3359437 BLAKE2B 
807636fb07f7891774274dc0fb4fb88736585f95ae43f7e90d6c305a53e1ff7a9bf6bfc247ddb53b2ed65a3b6254d29a2f55e4eb3d10ad3786d117742da8bd36
 SHA512 
4e9b2c59942617f3362885916453a8c52692b7faf00ca591e4d65b683a8e9c9991dd2664eef69b3e562832508a6ee9be9b17aa376636af6a67c73741b9d25323

diff --git a/dev-lang/maude/files/maude-3.4-search-datadir.patch 
b/dev-lang/maude/files/maude-3.4-search-datadir.patch
new file mode 100644
index 000000000000..c6ca86de6bc6
--- /dev/null
+++ b/dev-lang/maude/files/maude-3.4-search-datadir.patch
@@ -0,0 +1,37 @@
+Have maude search in datadir for its files.
+--- a/src/Main/main.cc
++++ b/src/Main/main.cc
+@@ -350,6 +350,11 @@
+ {
+   if (directoryManager.searchPath(MAUDE_LIB, directory, fileName, R_OK))
+     return true;
++  if (directoryManager.checkAccess(DATADIR, fileName, R_OK))
++    {
++      directory = DATADIR;
++      return true;
++    }
+   if (!(executableDirectory.empty()) &&
+       directoryManager.checkAccess(executableDirectory, fileName, R_OK))
+     {
+--- a/src/Mixfix/global.cc
++++ b/src/Mixfix/global.cc
+@@ -116,6 +116,9 @@
+       //
+       if (directoryManager.searchPath(MAUDE_LIB, directory, fileName, R_OK, 
ext))
+       return true;
++      directory = DATADIR;
++      if (directoryManager.checkAccess(directory, fileName, R_OK, ext))
++      return true;
+       //
+       //      Last hope is the directory containing the Maude executable.
+       //
+--- a/src/Mixfix/global.hh
++++ b/src/Mixfix/global.hh
+@@ -36,6 +36,7 @@
+ 
+ #define PRELUDE_NAME  "prelude.maude"
+ #define MAUDE_LIB     "MAUDE_LIB"
++#define DATADIR         "/usr/share/maude"
+ 
+ bool
+ findPrelude(string& directory, string& fileName);

diff --git a/dev-lang/maude/maude-3.4.ebuild b/dev-lang/maude/maude-3.4.ebuild
new file mode 100644
index 000000000000..44d428e7ff6d
--- /dev/null
+++ b/dev-lang/maude/maude-3.4.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit autotools
+
+MY_PN=${PN^}
+MY_P=${MY_PN}${PV}
+GIO_DL="https://github.com/maude-lang/maude-lang.github.io/releases/download/maude";
+MANUAL="${MY_PN}"$(ver_rs 1- '')manual.pdf
+
+DESCRIPTION="High-level specification language for equational and logic 
programming"
+HOMEPAGE="https://maude.cs.uiuc.edu/";
+SRC_URI="https://github.com/maude-lang/Maude/archive/refs/tags/${MY_P}.tar.gz
+       doc? ( ${GIO_DL}/${MANUAL} )
+       examples? ( ${GIO_DL}/${P^}-manual-book-examples.zip )"
+
+S="${WORKDIR}"/${MY_PN}-${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc examples"
+
+RDEPEND="
+       dev-libs/gmp:=[cxx(+)]
+       dev-libs/libtecla
+       sci-libs/buddy"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip
+       app-alternatives/yacc
+       app-alternatives/lex"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-3.4-search-datadir.patch"
+       "${FILESDIR}/${PN}-2.7-AR.patch"
+       "${FILESDIR}/${PN}-3.2.2-prll.patch"
+       "${FILESDIR}/${PN}-3.2.2-fileTest.patch" # Drop a test
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myconf=(
+               --datadir="${EPREFIX}/usr/share/${PN}"
+               --without-yices2
+               # Breaks glibc-2.34 support
+               --without-libsigsegv
+       )
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       default
+
+       # install full maude
+       insinto /usr/share/${PN}
+
+       # install docs and examples
+       use doc && dodoc "${DISTDIR}"/${MANUAL}
+       if use examples; then
+               dodoc -r "${WORKDIR}"/examples
+               docompress -x /usr/share/doc/${PF}/examples
+       fi
+}

Reply via email to