guile-utils.eclass

Name

guile-utils.eclass -- Common code between GNU Guile-related eclasses and ebuilds.

Description

This eclass contains various bits of common code between dev-scheme/guile, Guile multi-implementation ebuilds and Guile single-implementation ebuilds.

Inspired by prior work in the Gentoo Python ecosystem.

Supported EAPIs

8

Functions

guile_check_compat

Checks that GUILE_COMPAT is set to an array, and has no invalid values.

guile_set_common_vars

Sets common variables that apply to all Guile packages, namely, GUILE_AUTO_COMPILE and QA_PREBUILT.

guile_filter_pkgconfig_path <acceptable slots>...

Alters ${PKG_CONFIG_PATH} such that it does not contain any Guile slots besides the ones required by the caller.

guile_generate_depstrings <prefix> <depop>

Generates GUILE_REQUIRED_USE/GUILE_DEPS/GUILE_USEDEP based on GUILE_COMPAT, and populates IUSE.

guile_unstrip_ccache

Marks site-ccache files not to be stripped. Operates on ${D}.

guile_export [GUILE|GUILD|GUILE_SITECCACHEDIR|GUILE_SITEDIR]...

Exports a given variable for the selected Guile variant.

Supported variables are:

  • GUILE - Path to the guile executable,

  • GUILD - Path to the guild executable,

  • GUILESNARF - Path to the guile-snarf executable

  • GUILECONFIG - Path to the guile-config executable

  • GUILE_SITECCACHEDIR - Path to the site-ccache directory,

  • GUILE_SITEDIR - Path to the site Scheme directory

guile_create_temporary_config <version>

Creates a guile-config executable for a given Guile version, and inserts it into path.

guile_bump_sources

Searches over ${S} for .scm files and bumps them to avoid Guile using the system ccache while trying to build packages.

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112

Variables

GUILE_COMPAT (REQUIRED) (SET BEFORE INHERIT)

List of acceptable versions of Guile. For instance, setting this variable like below will allow the package to be built against either Guile 2.2 or 3.0:

GUILE_COMPAT=( 2-2 3-0 )

Please keep in ascending order.

GUILE_REQ_USE (SET BEFORE INHERIT)

Specifies a USE dependency string for all versions of Guile in GUILE_COMPAT.

@EXAMPLE: GUILE_REQ_USE="deprecated"

GUILE_USEDEP (GENERATED BY ECLASS)

This variable is populated with a USE-dependency string which can be used to depend on other Guile multi-implementation packages. This variable is not usable from guile-single packages.

GUILE_DEPS (GENERATED BY ECLASS)

Contains the dependency string for the compatible Guile runtimes.

Authors

Author: Arsen Arsenović <arsen@gentoo.org>

Maintainers

Gentoo Scheme project <scheme@gentoo.org>

Reporting Bugs

Please report bugs via https://bugs.gentoo.org/