summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2021-12-13 20:46:13 +0100
committerMaciej Barć <xgqt@gentoo.org>2021-12-13 20:48:05 +0100
commit59f26fd758bd32f54866cead56a28d5364e6c64c (patch)
tree3f3cfa93c7948cbed85f7c6822958ebc70baf4b2 /dev-scheme/chez-minikanren
parentdev-python/sphinx-gallery: Remove old (diff)
downloadgentoo-59f26fd758bd32f54866cead56a28d5364e6c64c.tar.gz
gentoo-59f26fd758bd32f54866cead56a28d5364e6c64c.tar.bz2
gentoo-59f26fd758bd32f54866cead56a28d5364e6c64c.zip
dev-scheme/chez-minikanren: new package; add version 2018.04.11
Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-scheme/chez-minikanren')
-rw-r--r--dev-scheme/chez-minikanren/Manifest1
-rw-r--r--dev-scheme/chez-minikanren/chez-minikanren-2018.04.11.ebuild44
-rw-r--r--dev-scheme/chez-minikanren/metadata.xml21
3 files changed, 66 insertions, 0 deletions
diff --git a/dev-scheme/chez-minikanren/Manifest b/dev-scheme/chez-minikanren/Manifest
new file mode 100644
index 000000000000..adf548fe469f
--- /dev/null
+++ b/dev-scheme/chez-minikanren/Manifest
@@ -0,0 +1 @@
+DIST chez-minikanren-2018.04.11.tar.gz 14068 BLAKE2B b3d8ca2499b37f085e34e59bfa47c7d2dc7869025b46c0ccee271556b4b3ed89e37a29374e3e78452041e88377ede7d751b81da0959e590d9b7be0adb72efc94 SHA512 39928df2548353917cfaaad37454ceb94db4c87ebbf8a1bd8e7ce3e32ed07a6660e9cc1aeb446e3b7abbc533e8cf24da1f3a2ce3c2efe9cc8c8ed1bd90b88278
diff --git a/dev-scheme/chez-minikanren/chez-minikanren-2018.04.11.ebuild b/dev-scheme/chez-minikanren/chez-minikanren-2018.04.11.ebuild
new file mode 100644
index 000000000000..578cae7255d9
--- /dev/null
+++ b/dev-scheme/chez-minikanren/chez-minikanren-2018.04.11.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# NOTICE: miniKanren does not define a library interface :(
+# so we will make a wrapper to load miniKanren...
+
+EAPI=8
+
+COMMIT=2d50ec5002fe052f5c2f2d72530dcbeb8760fde8
+MY_PN=miniKanren
+
+inherit wrapper
+
+DESCRIPTION="Canonical miniKanren implementation (on Chez Scheme)"
+HOMEPAGE="https://github.com/miniKanren/miniKanren"
+SRC_URI="https://github.com/miniKanren/${MY_PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${COMMIT}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="source"
+RESTRICT="strip"
+
+RDEPEND="dev-scheme/chez:="
+DEPEND="${RDEPEND}"
+
+MINIKANREN_HOME=/usr/lib/chezscheme/${MY_PN}
+
+src_compile() {
+ local s=( $( find . -name "*.scm" -exec printf "\"%s\" " {} + ) )
+ local c="(import (chezscheme)) (for-each compile-library (list ${s[@]}))"
+ echo "${c}" | chezscheme --quiet --optimize-level 3 || die
+}
+
+src_install() {
+ insinto ${MINIKANREN_HOME}
+ doins *.so
+ use source && doins *.scm
+
+ make_wrapper ${MY_PN} "chezscheme mk.so" ${MINIKANREN_HOME}
+
+ einstalldocs
+}
diff --git a/dev-scheme/chez-minikanren/metadata.xml b/dev-scheme/chez-minikanren/metadata.xml
new file mode 100644
index 000000000000..eafae6b7cb51
--- /dev/null
+++ b/dev-scheme/chez-minikanren/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <longdescription>
+ miniKanren is an embedded Domain Specific Language for logic programming.
+ The core miniKanren language is very simple, with only three logical
+ operators and one interface operator.
+ miniKanren is designed to be easily modified and extended; extensions
+ include Constraint Logic Programming, probabilistic logic programming,
+ nominal logic programming, and tabling.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/miniKanren/miniKanren/issues</bugs-to>
+ <remote-id type="github">miniKanren/miniKanren</remote-id>
+ </upstream>
+</pkgmetadata>