From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Hinsen Subject: Re: Dealing with language bindings for libraries. Date: Fri, 11 May 2018 07:49:23 +0200 Message-ID: <902bc2ce-c866-ab8a-b17d-4f319b5f7494@fastmail.net> References: <59b27dad-ef1d-54ea-3b7b-ae6d437e3b2b@fastmail.net> <20180509200000.70057cca@lepiller.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38810) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fH0vo-0000Fj-P4 for guix-devel@gnu.org; Fri, 11 May 2018 01:49:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fH0vl-00045H-Lh for guix-devel@gnu.org; Fri, 11 May 2018 01:49:28 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:60689) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fH0vl-00043V-G9 for guix-devel@gnu.org; Fri, 11 May 2018 01:49:25 -0400 In-Reply-To: <20180509200000.70057cca@lepiller.eu> Content-Language: en-US List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org On 09/05/2018 20:00, Julien Lepiller wrote: > We already have such a case: capstone and python-capstone. There is no > redundancy since python-capstone knows how to load the shared library > created in the capstone package. So we have two packages, with the same My situation is a bit different. The package I am working on (OpenBabel, http://openbabel.org/wiki/Main_Page) has a monolithic build process based on CMake that builds the library plus bindings for all languages that it detects in its environment. There is no obvious way to build the language bindings to go with an already installed library. It's almost trivial to package in Guix for any language combination you care about: just add the languages you need to the inputs. It's also straightforward to make each language binding a separate output of the package. But choosing this option makes building the package very expensive. Konrad.