From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 00B025D5 for ; Fri, 7 Dec 2018 18:35:11 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.56,327,1539640800"; d="scan'208";a="359350555" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 07 Dec 2018 19:35:10 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id C3E9C82559; Fri, 7 Dec 2018 19:35:10 +0100 (CET) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 01326824CF for ; Fri, 7 Dec 2018 19:35:05 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=e@x80.org; spf=Pass smtp.mailfrom=e@x80.org; spf=Pass smtp.helo=postmaster@x80.org IronPort-PHdr: =?us-ascii?q?9a23=3A/zlsvxSdyYTXGP2pLCwavLLy19psv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa69YRON2/xhgRfzUJnB7Loc0qyK6/CmATRIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSizexfbB/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf?= =?us-ascii?q?5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbD?= =?us-ascii?q?VwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4rx1QxH0li?= =?us-ascii?q?gIKz858HnWisNuiqJbvAmhrAF7z4LNfY2ZKOZycqbbcNgHR2ROQ9xRWjRBDI2i?= =?us-ascii?q?coUPCOQBM+haoIf+qVQBogexCBKwBO/z0DJEmmP60Lc43uknDArI3BYgH9ULsH?= =?us-ascii?q?nMo9v1MaYSUeS0zKnP1TrNa+1Z2Szn8IjTah8voOuDXbZ0ccXPxkkvEBvKg0mK?= =?us-ascii?q?qYzkJTyVzfkGvm+F4Od7WuOiiHIrpxt2oji1ycchk4/EjZ8WxFDc7Sh13YU4KN?= =?us-ascii?q?6iREJlf9KpEYFcuzyYOodrWM8uXm9ltDgixrEbt5O2fjIGxIkjyhPQcfCKcYyF?= =?us-ascii?q?7gjiWeqMJzpzmWhrd6ilhxmo9Eit0u38Wdew0FZNtidEndrBumwX2xzU8MiHRe?= =?us-ascii?q?Nx/kan2TmRywDe8vxILEM3mKbBNZIt3L89moAOvUnBAyP6glj6gaGIekk8/+in?= =?us-ascii?q?8eXnYrHopp+GMI90jxnzPbo1l82wAuk0LhICX2+B+eSzzLHj51H2QK1Wjv0qla?= =?us-ascii?q?nUqIzVKt4epq69GgNV1ocj6w2jDzq9y9QZnXwHLEpfdx6djojpPUvOIPHiAvul?= =?us-ascii?q?jVSsimQj+/eTEbTrGJTAKjD4m7fsZ7tnoxpTwQApzN1boYlfCrwbLejbVUr4td?= =?us-ascii?q?ieBRg8ZV+a2eHiXfh414cfXlWtD7QLK5T9uFuM6+0oFMCWZYYO8GLwA+h1v7jp?= =?us-ascii?q?l3BvygxVRrWgwZZCMCPwJf9hOUjMJCO02o5QQ1dPhRI3SanRsHPHVDdSY3ioWK?= =?us-ascii?q?dttCFrUMShF4iRH9nx0ozE5z+yG9htXk4DEkqFQCX4J93CXO0DOnrLf51R1wcc?= =?us-ascii?q?XL3kcLcPkBGjsAirmao3dqzT4CJK7J8=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BAAgDRvApcl4Sr4rxjHgEGBwaBZYJmg?= =?us-ascii?q?QYnmCSCDYkSkDcNKwGEQAKDGxsGAQQ0EgEDAQECAQEBAQETAQEBAQEIFgZMDII?= =?us-ascii?q?2JAGCYgEEAUABATcBBAsLISUPAQQNPBODIYFqAw0IBKUNgh+CdgEBBYUHDYEPU?= =?us-ascii?q?jMIjCKCFoERgxKCV4gFiTWGCJBXJy4IAY4cg0eBXIgXhE2CeIoVhHqHZYIngV2?= =?us-ascii?q?BdjMaMEOCbIIbGohnhUA+M4ECAQEkEwsBiiUBAQ?= X-IPAS-Result: =?us-ascii?q?A0BAAgDRvApcl4Sr4rxjHgEGBwaBZYJmgQYnmCSCDYkSkDc?= =?us-ascii?q?NKwGEQAKDGxsGAQQ0EgEDAQECAQEBAQETAQEBAQEIFgZMDII2JAGCYgEEAUABA?= =?us-ascii?q?TcBBAsLISUPAQQNPBODIYFqAw0IBKUNgh+CdgEBBYUHDYEPUjMIjCKCFoERgxK?= =?us-ascii?q?CV4gFiTWGCJBXJy4IAY4cg0eBXIgXhE2CeIoVhHqHZYIngV2BdjMaMEOCbIIbG?= =?us-ascii?q?ohnhUA+M4ECAQEkEwsBiiUBAQ?= X-IronPort-AV: E=Sophos;i="5.56,327,1539640800"; d="scan'208";a="359350539" Received: from x80.org ([188.226.171.132]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 07 Dec 2018 19:35:04 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=x80.org; s=chaosisorder; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=/BAsHV0CCpfKjgUNe0ln/H91EGp/w9ly5a/Y5f9aZ5g=; b=mpp9vpHuEEC0BJTuJXrpEHWKUb Ntqs1GRjTxk4uNyHkNphiUIjLywpIQavsePCuN39PjTqHU5+Di2O1FgByDbfsBVj9LMyO8iPO6H27 lYfxg9xSVAMqMA7J8NuoQqb60H8TmFa6V+rF+Wu/bhOJ1ggvx0SAj6NDSOXr2rFMJk6w=; Received: from [137.194.79.61] (helo=lasserre) by x80.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gVKxp-0006da-Ja; Fri, 07 Dec 2018 18:35:01 +0000 From: =?utf-8?Q?Emilio_Jes=C3=BAs_Gallego_Arias?= To: Gabriel Scherer Cc: Jacques Garrigue , caml users Organization: X80 Heavy Industries References: <966B3CBE-29BB-4336-BDBF-0012723E7099@math.nagoya-u.ac.jp> <87va45odpo.fsf@x80.org> X-Url: https://x80.org/emilio/ Mail-Followup-To: Gabriel Scherer , Jacques Garrigue , caml users Date: Fri, 07 Dec 2018 19:34:59 +0100 In-Reply-To: (Gabriel Scherer's message of "Fri, 7 Dec 2018 11:25:12 +0100") Message-ID: <8736r9mbho.fsf@x80.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Caml-list] LablGtk3 beta1 Reply-To: =?utf-8?Q?Emilio_Jes=C3=BAs_Gallego_Arias?= X-Loop: caml-list@inria.fr X-Sequence: 17231 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Hi Gabriel, Gabriel Scherer writes: > If several OCaml package have system dependencies in common, (of > several versions of the same OCaml package), indicating depexts > per-package duplicate the information. This is what we were doing > before and in practice most package depexts were perpetually > out-of-date. > > Some information in the conf-package is rather canonical from system > to system (such as: the pkg-config name, even though there is still > variation unfortunately), some is highly system-dependent (the package > name in the package manager); I think it's reasonable to also have the > "canonical" information in the build system. Umm, indeed that may make sense very widely used packages, such as `m4`, etc... I am not sure this makes sense for gtk tho; right now we have: lablgtk2.opam lablgtk2-glade.opam lablgtk2-gnomecanvas.opam lablgtk2-gspell.opam lablgtk2-rsvg.opam lablgtk2-gl.opam lablgtk2-gnome.opam lablgtk2-sourceview2.opam so adding so many conf- packages seems like a nuisance. Also it is harder for consumers of the library to depend on the right packages; this is the reason Debian uses this scheme: liblablgtkmathview-ocaml-dev liblabltk-ocaml-dev liblablgl-ocaml-dev liblablgtk2-gnome-ocaml-dev liblablgtk-extras-ocaml-dev liblablgtksourceview2-ocaml-dev liblablgtk2-gl-ocaml-dev liblablgtk2-ocaml-dev I much prefer to depend on `lablgtk-sourceview` than on `lablgtk` and `conf-gtksourceview`; not to say the issue with the side effects [see below] > Also, conf-* packages are very early in the dependency tree, so a > pragmatic advantage is that they will fail early in the build, > typically before you have installed all the OCaml dependencies and you > start building the package itself. (Also, depending on the > configure/build system, you may geta nice error if a dependency is > missing, or a crappy compilation failure that can be hard for users to > interpret). In this case the error messages are the same I think. I am not sure the "early in the build tree" is so important tho. > If you edit a package to update system dependencies, you have the same > recompilation issues. If you have to recompile *more* in the case of > a conf-* package, it is because it introduced dependency sharing, > which is a good thing -- making the repository more maintainable. The thing is that I am coming from a world (Debian) were package builds are required to be deterministic; what does editing a package to update system dependencies mean? How is the repository going to be more maintainable? For example, in this case, installing `conf-gl` will force the recompilation of `lablgtk`, and `conf-gl` could be pulled by an unrelated package. It seems very wrong to me that this sharing will actually force a side-effect on a unrelated package. IMVHO this is very non-standard behavior that I've only seen in OPAM and makes things less maintenable indeed, for example if you want to have Debian packages. > I don't understand, the point is for lablgtk2-sourceview2 to depend > on conf-gtksourceview2, so you should just use the first command > and the conf-* package(s) will get installed as well. I could do that, but what is the point on shipping a fake, empty package then? `lablgtk2-sourceview2` can handle the dependencies just fine. An even worse problem is this case: imagine package A and B both depend on gtksourceview, however package A requires version > 2.10 and package B version > 2.11. How can the sharing possibly work here? Cheers! E. -- Caml-list mailing list. Subscription management and archives: https://sympa.inria.fr/sympa/arc/caml-list https://inbox.ocaml.org/caml-list Forum: https://discuss.ocaml.org/ Bug reports: http://caml.inria.fr/bin/caml-bugs