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 ADEED7F761 for ; Tue, 1 Dec 2015 21:27:08 +0100 (CET) IronPort-PHdr: 9a23:hz7wjxSHuR96h8+Lk3cNk47Hx9psv+yvbD5Q0YIujvd0So/mwa64YRaN2/xhgRfzUJnB7Loc0qyN4/6mATRIyK3CmU5BWaQEbwUCh8QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYsExnyfTB4Ov7yUtaLyZ/niabqo9X6WEZhunmUWftKNhK4rAHc5IE9oLBJDeIP8CbPuWZCYO9MxGlldhq5lhf44dqsrtY4q3wD86Fpy8kVWqz/e+wlVrFCF3xyOGkw4IjvtALfZQqJ/HoVFGsMxElmGQ/AuT7zVI3wvy+yjeF91TOXJ4WiQrk+QzWv6+FwQx/lkiodHzE8+WDTzMd3ifQI81qauxVjztuMM8muP/1kc/aFcA== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=gabriel.scherer@gmail.com; spf=Pass smtp.mailfrom=gabriel.scherer@gmail.com; spf=None smtp.helo=postmaster@mail-ig0-f177.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.213.177; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.213.177 as permitted sender) identity=mailfrom; client-ip=209.85.213.177; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@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-ig0-f177.google.com) identity=helo; client-ip=209.85.213.177; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-ig0-f177.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CzAAB4AV5Wm7HVVdFEGoNaNG8GtAyMHBcOgjqEegc8EAEBAQEBAQEBEAEBAQEBBgsLCSEugi2CIBEdARseAxIQDwImAiQBEQEFASInDod2AQMSDTucSIIIgTE+MYtIgWqCeYZrChknDVaEHQEFDnOFU4w5DC4TgTEFlleFKogOgVtJg3mNa4RngiUSJIEXOIJSgV49NAGFcAEBAQ X-IPAS-Result: A0CzAAB4AV5Wm7HVVdFEGoNaNG8GtAyMHBcOgjqEegc8EAEBAQEBAQEBEAEBAQEBBgsLCSEugi2CIBEdARseAxIQDwImAiQBEQEFASInDod2AQMSDTucSIIIgTE+MYtIgWqCeYZrChknDVaEHQEFDnOFU4w5DC4TgTEFlleFKogOgVtJg3mNa4RngiUSJIEXOIJSgV49NAGFcAEBAQ X-IronPort-AV: E=Sophos;i="5.20,370,1444687200"; d="scan'208";a="189968484" Received: from mail-ig0-f177.google.com ([209.85.213.177]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 01 Dec 2015 21:27:07 +0100 Received: by igbxm8 with SMTP id xm8so16138495igb.1 for ; Tue, 01 Dec 2015 12:27:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=Rx5jzyUr/JU1WknEnYU4G48H6pqxCJy572HKUJNz9oA=; b=QlNZ3Tdj6M4n9hBNt5bC9g7WnFQRN2vsjwERlbCSGPF/iapDcCrbyt4cBugM4AtcEB J9DUh3ABwPw7YwXvDg1x3qRlqGuW/8c5Ly4Hl7cdzd15ymOQfh2YMJ5FV1LCUDTWl2/Z BdIqLNBKVWvBi/UaNazZcVcjpjfrwDDMWXAmU9DY646GoF18aUIqw7W5BmHOegSH9IUG fA9dBzoLL9Q6eTjhdE9YNJSMJYq98ccUW8BjYFgueIEK8i/pdESmvMgf02zy2FS3+ZC3 mVijKvfobyNENXKTi2MOBs8ov1F6njI+uF6sqMSOUj/+e86hhN7Y3qqDeGdWdx1dInKl L63Q== X-Received: by 10.50.8.2 with SMTP id n2mr26741665iga.50.1449001626025; Tue, 01 Dec 2015 12:27:06 -0800 (PST) MIME-Version: 1.0 Received: by 10.79.39.200 with HTTP; Tue, 1 Dec 2015 12:26:26 -0800 (PST) From: Gabriel Scherer Date: Tue, 1 Dec 2015 21:26:26 +0100 Message-ID: To: caml users Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Caml-list] Announce: OCamlbuild to be distributed separately from the compiler Dear list, We are going to move the OCamlbuild build system outside the standard compiler distribution in the next few months. This has been demanded by a part of the OCamlbuild user community for a long time=C2=B9, hoping to lower the barrier to contribution and have a more flexible release schedule. The switch should happen in the following months, with the goal of being done before the release of the next OCaml version (4.03), planned for the first quarter of 2016. We have not planned all the details yet, and there is still time for giving your advice on how best to proceed. =C2=B9: PR#6402: Move ocamlbuild to its own repository Hugo Heuzard, 2014-05-07 http://caml.inria.fr/mantis/view.php?id=3D6402 # Impact on users (maintainers of ocamlbuild-using software) The impact on the users should be minimal. The only difference is that you cannot assume anymore than *any* OCaml installation has ocamlbuild available. Projects using ocamlbuild as their build system (directly or through OASIS) should have it marked as an explicit compile-time dependency in their packaging descriptions. For this purpose, I have created an "ocamlbuild" package in the main OPAM repository, that for now is just a dummy package (for OCaml < 4.03, it does not need to actually install anything). You can already start adding "ocamlbuild" as a dependency in the OPAM metadata=C2=B2 in your development repositories (the one used by "opam pin"), and in future uploads to the public opam repository. For existing packages in the public opam repository, there is nothing to do. We have used an automated transform=C2=B3 to add this new dependency to all packages that use ocamlbuild=E2=81=B4, so that no change on already-published packages should be necessary. The scripts used to do so is publicly available=E2=81=B5, so maintainers of other opam repositories should be able to run it as well (please contact me if you have any trouble doing so). =C2=B2: just edit your OPAM file to change depends: [ ... ] into depends: [ ... "ocamlbuild" {build} ] =C2=B3: https://github.com/ocaml/opam-repository/pull/5140 =E2=81=B4: the heuristic used is to assume that a package uses ocamlbuild i= f: - it contains a _tags or myocamlbuild.ml file somewhere, or - it calls "ocamlbuild" from OPAM's build steps, or - it has an _oasis file which specifies ocamlbuild as build system 2885 of the 4214 packages in the current opam-repository master trigger this heuristic. If you happened to know of a project that uses ocamlbuild despite failing this test, please let us know so that we can refine the bulk-update script. =E2=81=B5: https://github.com/gasche/opam/blob/ocamlbuild-migration-script/= admin-scripts/add_ocamlbuild_dependency.ml One notable exception would be authors of ocamlbuild plugins. The bulk update script only adds ocamlbuild as a build-time dependency; if you provide libraries on top of OCamlbuild's libraries, you may need a manual update of existing opam metadata. Could you please let me know about it, in case there is an easy way to update the migration script? # Impact on project development OCamlbuild's main strength is being able to build simple OCaml projects in an extremely simple way -- yet scale when they grow a bit in complexity. It makes it useful to many OCaml users, and thus a rather rewarding project to contribute to. In the past few years it has had a relatively calm development rate, with no ground-breaking changes, but rather small added features or usability improvements, and the occasional bugfixes. It is also wide open to external contributions; the 32 changes since the beginning of the 4.02 lifetime have been contributed by 18 different people. I have been the main regular contributor to OCamlbuild's development in the last few releases of OCaml (with various much-appreciated external contributions), and I plan to continue improving the tool at a reasonable pace. Some people have requested that ocamlbuild be split off in the past, arguing that it would increase the contributor base -- we will see if it indeed lowers the barrier to contribution. Last but not least, whitequark, who has done many useful contributions in the past releases, seems willing to help supporting the project. Until fairly recently, the most lamented defect of OCamlbuild was a lack of documentation. I announced a new manual=E2=81=B6 this year, and am planning to make it the default manual with the next ocamlbuild release. Contributions to the manual are warmly welcome; Christian Linding has contributed a lot of useful feedback and started filling a directory of small, representative examples=E2=81=B7; you should feel free to add one for your preferred distinct use-case. =E2=81=B6: https://github.com/gasche/manual-ocamlbuild/blob/master/manual.md =E2=81=B7: https://github.com/gasche/manual-ocamlbuild/tree/master/examples The new development repository of OCamlbuild should be hosted by the OCaml Github organization, at https://github.com/ocaml/ocamlbuild Have fun hacking (and building) OCaml software!