commit: 68db6d9b906fc6c0efecfdbc797aa286bc155546
Author: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Tue May 9 19:28:54 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue May 9 19:30:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=68db6d9b
shards.eclass: detect build targets using gshards
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>
eclass/shards.eclass | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/eclass/shards.eclass b/eclass/shards.eclass
index 5fd9f6c10..0de0deb47 100644
--- a/eclass/shards.eclass
+++ b/eclass/shards.eclass
@@ -28,7 +28,7 @@ inherit crystal-utils multiprocessing toolchain-funcs
BDEPEND="
${CRYSTAL_DEPS}
${SHARDS_DEPS}
- dev-util/gshards
+ >=dev-util/gshards-0.2
"
IUSE="debug doc"
@@ -67,10 +67,15 @@ shards_src_configure() {
# @FUNCTION: shards_src_compile
# @DESCRIPTION:
-# Function for building the package's documentation.
+# Function for building the package's executables and documentation.
shards_src_compile() {
debug-print-function ${FUNCNAME} "${@}"
+ local args
+ gshards-print-targets | while read -r args; do
+ crystal_build "${@}" ${args}
+ done
+
if use doc; then
ecrystal docs
HTML_DOCS=( docs/. )
@@ -95,14 +100,10 @@ shards_src_test() {
# @FUNCTION: shards_src_install
# @DESCRIPTION:
-# Function for installing the package.
+# Function for installing the package's source.
shards_src_install() {
debug-print-function ${FUNCNAME} "${@}"
- if [[ -d "bin" ]]; then
- dobin bin/*
- fi
-
if [[ -d "src" ]]; then
insinto $(shards_get_libdir)/$(shards_get_pkgname)
doins -r src