From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Love Subject: Re: Tiny Guix (and containers) Date: Tue, 31 Oct 2017 14:17:36 +0000 Message-ID: <878tfr7667.fsf@albion.it.manchester.ac.uk> References: <20171025081846.GA28005@thebird.nl> <87mv4emlwf.fsf@elephly.net> <20171026104259.GA2179@thebird.nl> <87r2tn3ulq.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49448) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9XMO-000811-F0 for guix-devel@gnu.org; Tue, 31 Oct 2017 10:17:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9XMJ-0005uS-O3 for guix-devel@gnu.org; Tue, 31 Oct 2017 10:17:42 -0400 In-Reply-To: <87r2tn3ulq.fsf@gnu.org> ("Ludovic \=\?iso-8859-1\?Q\?Court\=E8s\?\= \=\?iso-8859-1\?Q\?\=22's\?\= message of "Sat, 28 Oct 2017 22:06:41 +0200") 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: Ludovic =?iso-8859-1?Q?Court=E8s?= Cc: guix-devel@gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Hi, > > Hartmut Goebel skribis: >> I'm in favor of (automatically?) splitting of "development" packages, >> including the headers and the static libs (much like the "-devel" or >> "-dev" packages in other distributions. One does not need them on a >> production system and they are just wasting space. When Guix needs to >> build a package, it automatically installs the ":devel" output of all >> it's inputs. I've been arguing for making sub-packages similar to other distributions, but I'd expect to specify something like :devel as the input to builds. I'm not sure that it would even work generally to infer it (e.g. when cross-compiling). > We could do that (the Nixpkgs folks did exactly that a while back), but > it won=E2=80=99t help that much. It looks to me as if it would often help significantly, e.g. when a pkg-config file, or something else sucks in a load of stuff that's irrelevant for running the package. (Separating :lib and needing that for building means you need to know something about the packaging rather than just using "devel", say.) > What does help is running =E2=80=98guix size=E2=80=99, looking > at specific packages that are problematic, then finding a solution for > these packages=E2=80=94and often enough the solution is non-trivial. I think it often will reflect the lack of separation of development files, documentation, etc., and inclusion of static libraries, for instance. Boost is a case in point. There's also the issue of multiple copies/versions of packages in the closure, which seems problematic for more than just size reasons. > But yeah, I think we should track packages that are big or have a > surprisingly build closure, and try to fix that incrementally! Shouldn't that be done as a matter of course? I don't remember if it's part of Fedora or Debian packaging guidelines but packagers should check dependencies for sanity when packaging, and there's some detection of unnecessary linkage. Guix' Qt dependencies are a striking example which looks hard to resolve. Generally I get surprised at what typically gets built -- at great length! -- on updates or installation.