summaryrefslogtreecommitdiff
path: root/dev-scheme/guile-libyaml
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme/guile-libyaml')
-rw-r--r--dev-scheme/guile-libyaml/Manifest3
-rw-r--r--dev-scheme/guile-libyaml/guile-libyaml-20211124.ebuild64
-rw-r--r--dev-scheme/guile-libyaml/metadata.xml13
3 files changed, 80 insertions, 0 deletions
diff --git a/dev-scheme/guile-libyaml/Manifest b/dev-scheme/guile-libyaml/Manifest
new file mode 100644
index 000000000000..66049050fee6
--- /dev/null
+++ b/dev-scheme/guile-libyaml/Manifest
@@ -0,0 +1,3 @@
+DIST guile-libyaml-20211124.tar.gz 6221 BLAKE2B 12e35af8495543f90289bd437d27177901f01090c66ba113d128258c7bd448513332698659b48438a92b75d78dcd686b7ffad66e7c7adb2374f504b1e29485ad SHA512 17e6eef46e412db7be877bf54dc59f4ddb3f2235bb54a33f79aa0e938ad65f5fd68fc4247e055ecde3de37d8d872ccda5f0205d5f546d97458890b0b97764d0d
+EBUILD guile-libyaml-20211124.ebuild 1571 BLAKE2B 98988ae8bc9a11de867833ad45c43e35266f163da84fbcf9caab45231b6059e495253fb4f24e4c7ed5f42a179eda4e298125dd0a1a5ccf7d9a929d837c739cd6 SHA512 f151d50b11c3ba070fdc508b0dfc8966dc6aa327df5c4b959c603543dfa67ff7269add6a96059b9cea6ab4873285831e8fe813b48d39d8cf9f0e3e0d0ef6786e
+MISC metadata.xml 422 BLAKE2B fefc2dce459aed13173a55b088c011ce8e3d57221478ae72819d15784b70dbf0ede02ffd4d9042b0fc521132b80e37b6f3cc28e2e75c3f83f06eb2278fbe7a0d SHA512 a8ec0736b0ed6f53f9638531e509071a57d56d081f0dd0d9ec06e372d2f911d5ef4a98cdb53992cf52f68ea08f645789483b5d7b872bfa6aa9255e14619402af
diff --git a/dev-scheme/guile-libyaml/guile-libyaml-20211124.ebuild b/dev-scheme/guile-libyaml/guile-libyaml-20211124.ebuild
new file mode 100644
index 000000000000..36fd680e32a4
--- /dev/null
+++ b/dev-scheme/guile-libyaml/guile-libyaml-20211124.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+H=2bdacb72a65ab63264b2edc9dac9692df7ec9b3e
+
+DESCRIPTION="Simple yaml module for Guile using the ffi-helper from nyacc"
+HOMEPAGE="https://github.com/mwette/guile-libyaml/"
+SRC_URI="https://github.com/mwette/${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${H}"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="strip"
+
+RDEPEND="
+ >=dev-scheme/guile-2.0.0:=
+ dev-libs/libyaml
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-scheme/guile-nyacc"
+
+# guile generates ELF files without use of C or machine code
+# It's a portage's false positive. bug #677600
+QA_PREBUILT='*[.]go'
+
+guild_local() {
+ GUILE_LOAD_COMPILED_PATH="${S}" GUILE_LOAD_PATH="${S}" guild "${@}" || die
+}
+
+src_prepare() {
+ default
+
+ # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
+ find "${S}" -name "*.scm" -exec touch {} + || die
+}
+
+src_compile() {
+ # Generate bindings using NYACC
+ guild_local compile-ffi --no-exec yaml/libyaml.ffi
+
+ # Compile modules
+ mkdir -p "${S}"/ccache || die
+ guild_local compile -o "${S}"/ccache/libyaml.go "${S}"/yaml/libyaml.scm
+ guild_local compile -o "${S}"/ccache/yaml.go "${S}"/yaml.scm
+}
+
+src_install() {
+ local site_dir="$(guile -c '(display (%site-dir))')"
+ insinto "${site_dir}"/yaml
+ doins yaml/libyaml.scm
+ insinto "${site_dir}"
+ doins yaml.scm
+
+ local site_ccache_dir="$(guile -c '(display (%site-ccache-dir))')"
+ insinto "${site_ccache_dir}"/yaml
+ doins ccache/libyaml.go
+ insinto "${site_ccache_dir}"
+ doins ccache/yaml.go
+
+ einstalldocs
+}
diff --git a/dev-scheme/guile-libyaml/metadata.xml b/dev-scheme/guile-libyaml/metadata.xml
new file mode 100644
index 000000000000..3f151f03aaf3
--- /dev/null
+++ b/dev-scheme/guile-libyaml/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>scheme@gentoo.org</email>
+ <name>Gentoo Scheme Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/mwette/guile-libyaml/issues</bugs-to>
+ <remote-id type="github">mwette/guile-libyaml</remote-id>
+ </upstream>
+</pkgmetadata>