guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dealing with language bindings for libraries.


From: Fis Trivial
Subject: Dealing with language bindings for libraries.
Date: Wed, 9 May 2018 15:21:11 +0000

Hi, Guixs.

Recently I encountered some libraries that's written in c++ and have
multiple language bindings, each of them has their corresponding build
system, namely, R, Python, Java. And all the bindings are in
tree. During the build process, One would first build the c++ part by
cmake, then chdir into each language binding sub-directory and invoke
its build system.

For packaging them in guix, one way to deal with it is building each
binding as an independent package, each package has it's own
dependencies for the specific binding and common dependencies for C++
part, that way, we will have N independent packages, for N language
binding. But it will result in a huge waste of computing resource. I
don't want to waste precious computing time of guix's build farm.

Another way to deal with it is supply all dependencies for all language
bindings in one package, and then define the build code manually in
%standard-phases. But this method comes in two disadvantages. First, we
need to re-implement these build process already implemented in (guix
build-system) over and over again. For second, those dependencies are
burden to users, since no one would actually need all language bindings,
they pick the one that's needed.

An ideal scenario would be the one that we can specify multiple outputs
for one packages, each output corresponds to one language binding, and
we can specify different dependencies and build system for each
output. Is there any chance we can do that in guix?

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]