From 5bbbd669d5b68d7c665922cbed74eef6f31c2327 Mon Sep 17 00:00:00 2001 From: Alfredo Tupone Date: Wed, 11 Mar 2026 16:24:51 +0100 Subject: [PATCH] dev-lang/maude: add 3.4 Signed-off-by: Alfredo Tupone --- dev-lang/maude/Manifest | 3 + .../files/maude-3.4-search-datadir.patch | 37 ++++++++++ dev-lang/maude/maude-3.4.ebuild | 69 +++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 dev-lang/maude/files/maude-3.4-search-datadir.patch create mode 100644 dev-lang/maude/maude-3.4.ebuild diff --git a/dev-lang/maude/Manifest b/dev-lang/maude/Manifest index f3a704aacc6fa..68e82df4cd938 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 0000000000000..c6ca86de6bc6f --- /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 0000000000000..44d428e7ff6d3 --- /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 +}