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

Reply via email to