From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: propagating inputs in ghc-* packages Date: Sat, 01 Oct 2016 09:45:21 +0200 Message-ID: <871t00v7fy.fsf@elephly.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53586) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bqEzJ-0006zZ-LT for guix-devel@gnu.org; Sat, 01 Oct 2016 03:45:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bqEzG-0001Xp-Da for guix-devel@gnu.org; Sat, 01 Oct 2016 03:45:37 -0400 Received: from sender163-mail.zoho.com ([74.201.84.163]:21378) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bqEzG-0001XF-4h for guix-devel@gnu.org; Sat, 01 Oct 2016 03:45:34 -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: Federico Beffa Cc: Guix-devel Federico Beffa writes: > Ricardo Wurmus writes: > >> Hi Guix, >> >> I’m in the middle of upgrading our Haskell packages. (Actually, I’m >> just yak shaving. I need “pandoc-citeproc” for “r-knitr”…) >> >> I noticed that upgrading Haskell packages is a pain in the neck because >> of propagated inputs. It seems that not all packages have fully >> declared dependencies and just work accidentally because of propagated >> inputs of a related package. This also makes upgrades more difficult >> because I can get substitutes from Hydra that depend on older versions >> of some Haskell packages. >> >> It looks like Haskell binaries actually embed references to other >> Haskell packages, so I’m not sure we actually need to propagate anything >> at all. Could someone please confirm this? > > From what I recall, binary executables include references to packages, > but libraries do not. So, at least at the time I wrote the first > version of the haskell-build-system, propagated inputs seemed to be > necessary for packages providing libraries, but not for ones providing > applications. Thanks for this comment. With Eric Bavier’s patch this seems no longer necessary. I’ve already rebuilt a lot of Haskell packages without any propagation (and some added inputs), and I’ve got working libraries and executables. I’m still rebuilding remaining Haskell packages but I’m now convinced that propagation is no longer needed with the current version of the build system. I’m preparing a patch to remove propagation from all Haskell packages. Now the question is only whether to do this all in one patch or in one patch per package… :) ~~ Ricardo