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 sympa.inria.fr (Postfix) with ESMTPS id F247B7EE99 for ; Mon, 9 Dec 2013 22:36:16 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of anthony.tavener@gmail.com) identity=pra; client-ip=74.125.83.46; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anthony.tavener@gmail.com"; x-sender="anthony.tavener@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of anthony.tavener@gmail.com designates 74.125.83.46 as permitted sender) identity=mailfrom; client-ip=74.125.83.46; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anthony.tavener@gmail.com"; x-sender="anthony.tavener@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-ee0-f46.google.com) identity=helo; client-ip=74.125.83.46; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="anthony.tavener@gmail.com"; x-sender="postmaster@mail-ee0-f46.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqQCAIo3plJKfVMunGdsb2JhbABZgz9TpiKKIohSgSsIFg4BAQEBAQYNCQkUIQeCJQEBBAFAARsSDAMBCwYFCxohIgERAQUBChIGExKHXQEDCQYNpS+MWYMJhCQKGScDCmSGAxEBBQyPAAuEMwOJQo5SgTCLLYNJGCmEdRw X-IPAS-Result: AqQCAIo3plJKfVMunGdsb2JhbABZgz9TpiKKIohSgSsIFg4BAQEBAQYNCQkUIQeCJQEBBAFAARsSDAMBCwYFCxohIgERAQUBChIGExKHXQEDCQYNpS+MWYMJhCQKGScDCmSGAxEBBQyPAAuEMwOJQo5SgTCLLYNJGCmEdRw X-IronPort-AV: E=Sophos;i="4.93,860,1378850400"; d="scan'208";a="47901880" Received: from mail-ee0-f46.google.com ([74.125.83.46]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 09 Dec 2013 22:36:16 +0100 Received: by mail-ee0-f46.google.com with SMTP id d49so1827605eek.33 for ; Mon, 09 Dec 2013 13:36:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=8qrVU0yRte44GJCxxYlb/9UZaXgcKBG/BenEIc9QhBo=; b=IU0QnzP/0MyhKBR33DJCl+nYq7LQ8k+S3eVixehosa9LkaONKbU9pxZteKSBLQO2Sm zpXde+dSPaAuzGEDTVD2hoh7/l8F+IG8xk9qx4YhINqsJrIWVC7WPHmBRagG/K6yQ+LT S6A5ManJbUQwgnJvrs7uTEWWrYQjZt7tVZdRPR0ic7sC+Uul0MM4HJs+UPBjCSF5Il9x UdRjnP+/3Ge5JKwyzoJlH25Xd+vcGcphQq2A10hfHT49cn9dneQrLCZyX2SckS7NWsvG zRYtlFlXlCdkbMwYnMZw+ucQSvvmJdLC5mMdfcHnd37dGa1/Qhpop5rgSeDimFaZLSAI j8kg== MIME-Version: 1.0 X-Received: by 10.14.119.136 with SMTP id n8mr8109182eeh.82.1386624975964; Mon, 09 Dec 2013 13:36:15 -0800 (PST) Received: by 10.15.90.202 with HTTP; Mon, 9 Dec 2013 13:36:15 -0800 (PST) In-Reply-To: <17DAA674530149C0AEC2F351D95EE185@erratique.ch> References: <31F4C46854FA4FEAAD2EA09D32A72E23@erratique.ch> <4F5AD22CADED45DBAD26A92D3F2B704D@erratique.ch> <52A61CF6.50609@glondu.net> <52A6268A.2070207@glondu.net> <17DAA674530149C0AEC2F351D95EE185@erratique.ch> Date: Mon, 9 Dec 2013 14:36:15 -0700 Message-ID: From: Anthony Tavener To: "caml-list@inria.fr" Content-Type: multipart/alternative; boundary=001a1132f800210d4604ed20c979 Subject: Re: [Caml-list] Library installation procedure (for use with OPAM)? --001a1132f800210d4604ed20c979 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Thanks for the input, everyone! I see there's not quite one-true-way. This was part of my confusion when I tried searches and looking at existing packages. It helps to know that OCamlMakefile or ocamlbuild use ocamlfind, but hide this detail. From my perspective when this is hidden it just looks like there are even more packaging mechanisms. I can understand Daniel's tact: choose one sensible method. This helps to force an evolution rather than building up cruft. Certainly making a META file along with descr/opam/url is somewhat redundant. Isn't it? For now though, I'll do my install steps with ocamlfind using a META file. It wasn't clear to me that ocamlfind is appropriate for installation, or even how you would use it. Searching, I mostly get matches for using ocamlfind to install existing packages, not make something installable. The "install" subsection of ocamlfind really gives the impression of an end-user tool, not for a library creator. References are made to the META file but no description of this file. Searching for the META file related to OCaml doesn't fare too well either. Then I realized "man META" actually gives me exactly what I was looking for. I didn't expect that, since I'd expect other systems could have a configuration file called META. Anyway, thanks! If there isn't an explanation of packaging libraries somewhere, maybe I'll make a blog post: "How to share your library". It's the kind of thing which might seem like nothing once you know it. -Tony On Mon, Dec 9, 2013 at 2:04 PM, Daniel B=FCnzli wrote: > > > Le lundi, 9 d=E9cembre 2013 =E0 21:22, St=E9phane Glondu a =E9crit : > > > Yes, but the existing stuff too. And the packaging work is (should be) > > mainly adding metadata and integrating with the other packages, which is > > hardly automatable. What you are talking about is package building, > > which can already be automated with the standard "./configure && make && > > sudo make install" interface. > > Why not but then provide me *convenient and easily understandable* tools > that allow me to implement this interface in a reliable way. I don't want > to replicate install logic in my twelve and growing packages, I used to do > that but it's too costly in terms of maintenance. I now found a way of > delegating the install logic to a tool in what I suppose is the main > distribution channel for my packages (and that shouldn't be too hard for > other distribution channels to use), I'm not going back unless something > better and as convenient emerges. > > > > > http://xkcd.com/927/ > > > So what's your proposal then ? > > > > I am not proposing anything new. You are. > > Joke for joke. Besides I'm not proposing anything, I responded to the > original poster's question on how I proceed to install libraries with OPA= M. > > Best, > > Daniel > > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > --001a1132f800210d4604ed20c979 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Thanks for the input, everyone! I see there's not= quite one-true-way. This was part of my confusion when I tried searches an= d looking at existing packages. It helps to know that OCamlMakefile or ocam= lbuild use ocamlfind, but hide this detail. From my perspective when this i= s hidden it just looks like there are even more packaging mechanisms.

I can understand Daniel's tact: choose one sensible= method. This helps to force an evolution rather than building up cruft. Ce= rtainly making a META file along with descr/opam/url is somewhat redundant.= Isn't it?

For now though, I'll do my install steps with ocaml= find using a META file.

It wasn't clear to me = that ocamlfind is appropriate for installation, or even how you would use i= t. Searching, I mostly get matches for using ocamlfind to install existing = packages, not make something installable. The "install" subsectio= n of ocamlfind really gives the impression of an end-user tool, not for a l= ibrary creator. References are made to the META file but no description of = this file.

Searching for the META file related to OCaml doesn'= t fare too well either. Then I realized "man META" actually gives= me exactly what I was looking for. I didn't expect that, since I'd= expect other systems could have a configuration file called META.

Anyway, thanks! If there isn't an explanation= of packaging libraries somewhere, maybe I'll make a blog post: "H= ow to share your library". It's the kind of thing which might seem= like nothing once you know it.

=A0-Tony


On Mon, Dec 9, 2013 at 2:04 PM, Dani= el B=FCnzli <daniel.buenzli@erratique.ch> wrote:


Le lundi, 9 d=E9cembre 2013 =E0 21:22, St=E9phane Glondu a =E9crit :

> Yes, but the existing stuff too. And the packa= ging work is (should be)
> mainly adding metadata and integrating with the other packages, which = is
> hardly automatable. What you are talking about is package building,
> which can already be automated with the standard "./configure &am= p;& make &&
> sudo make install" interface.

Why not but then provide me *convenient and easily understandable* to= ols that allow me to implement this interface in a reliable way. I don'= t want to replicate install logic in my twelve and growing packages, I used= to do that but it's too costly in terms of maintenance. I now found a = way of delegating the install logic to a tool in what I suppose is the main= distribution channel for my packages (and that shouldn't be too hard f= or other distribution channels to use), I'm not going back unless somet= hing better and as convenient emerges.

> > > http://xk= cd.com/927/
> > So what's your proposal then ?
>
> I am not proposing anything new. You are.

Joke for joke. Besides I'm not proposing anything, I responded to= the original poster's question on how I proceed to install libraries w= ith OPAM.

Best,

Daniel



--
Caml-list mailing list. =A0Subscription management and archives:
ht= tps://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
--001a1132f800210d4604ed20c979--