diff options
author | 2022-02-15 16:28:53 +0100 | |
---|---|---|
committer | 2022-02-15 16:31:12 +0100 | |
commit | 3a1ec12abcf6e7953b8d2eaed7a149d5d68e2849 (patch) | |
tree | cf2efcb4c2979dd1646553e82efa32bf5c742482 /dev-scheme/guile-libyaml/guile-libyaml-20211124.ebuild | |
parent | app-text/languagetool: Remove obsolete versions (diff) | |
download | gentoo-3a1ec12abcf6e7953b8d2eaed7a149d5d68e2849.tar.gz gentoo-3a1ec12abcf6e7953b8d2eaed7a149d5d68e2849.tar.bz2 gentoo-3a1ec12abcf6e7953b8d2eaed7a149d5d68e2849.zip |
dev-scheme/guile-libyaml: new package; add version 20211124
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-scheme/guile-libyaml/guile-libyaml-20211124.ebuild')
-rw-r--r-- | dev-scheme/guile-libyaml/guile-libyaml-20211124.ebuild | 64 |
1 files changed, 64 insertions, 0 deletions
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 +} |