From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: Re: [PATCH 2/3] gnu: Add python-pyxb. Date: Mon, 26 Sep 2016 19:32:03 +0100 Message-ID: <8760pio6l8.fsf@ike.i-did-not-set--mail-host-address--so-tickle-me> References: <20160917101047.4597-1-mbakke@fastmail.com> <20160917101047.4597-3-mbakke@fastmail.com> <3bd16b58-b3d1-d47c-2433-c3a721681463@uq.edu.au> <39d81c47-a96d-1f1c-ad1d-a80e7b7f109d@uq.edu.au> <1a9d61d6-0ee2-1161-25b4-9ffd32396039@uq.edu.au> <87h999ymzk.fsf@ike.i-did-not-set--mail-host-address--so-tickle-me> <679cc096-9eed-152f-0a01-f4a1d85c422e@uq.edu.au> <87eg4cyni4.fsf@ike.i-did-not-set--mail-host-address--so-tickle-me> <03badac9-3d2d-25ad-b0ed-3695d8a70bc7@uq.edu.au> <8737kqzk30.fsf@ike.i-did-not-set--mail-host-address--so-tickle-me> <4cc91e33-1722-91e7-eda3-38b967fc1e73@uq.edu.au> <87vaxmxa2z.fsf@ike.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36109) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1boahR-0000BP-0S for guix-devel@gnu.org; Mon, 26 Sep 2016 14:32:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1boahM-0003C6-OR for guix-devel@gnu.org; Mon, 26 Sep 2016 14:32:19 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:46789) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1boahK-00038R-DI for guix-devel@gnu.org; Mon, 26 Sep 2016 14:32:16 -0400 In-Reply-To: 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: Ben Woodcroft , "guix-devel@gnu.org" Ben Woodcroft writes: > On 24/09/16 13:15, Marius Bakke wrote: >> Ben Woodcroft writes: >> >>>> Htslib is propagated because it >>>> is included by the installed samtools and bcftools headers; at least one >>>> of pysams dependencies failed to build when it was a regular input. >>> Ah, I see. Can this be avoided with patchelf? >> I don't think so. The htslib headers need to be propagated for anything >> that uses header files from pysam, since they contain contain code such >> as "include ". Perhaps you can update the comment to make >> it more clear? >> >> Patchelf is probably what made that work when htslib was bundled. > Ah, ok I see, so the problem is that python-plastid requires the .h > files during build. Given that this is the only package that has an > issue, and perhaps pysam doesn't intend to provide these .h files as > part of it's "interface", I think it might be best to simply put htslib > as an input to python-plastid. I'm not sure, we would have to do this with every package that uses the pysam cython interface. This particular issue is described in the manual: https://www.gnu.org/software/guix/manual/html_node/package-Reference.html The propagated-inputs section says "For example this is necessary when a C/C++ library needs headers of another library to compile, or when a pkg-config file refers to another one via its Requires field.". So I think it's a pretty common propagation scenario. See e.g. 618089f9 for a less convoluted case (C++ library that propagates zlib headers). Perhaps a "propagated-build-inputs" functionality would be useful, so that libraries are only propagated at build time and not to the profile. If we don't do propagation, at least add a comment to python-plastid explaining that htslib is there to avoid propagating from pysam, since the plastid code contains no direct references to htslib. Your other changes LGTM. Thanks! Marius