From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 30CEB7F91C for ; Mon, 23 May 2016 23:58:53 +0200 (CEST) IronPort-PHdr: 9a23:ZMH0QRUlFmufQEq1Dv/6gQ8zL9nV8LGtZVwlr6E/grcLSJyIuqrYZhyFt8tkgFKBZ4jH8fUM07OQ6PCxHzdRqs/f7DgrS99laVwssY0uhQsuAcqIWwXQDcXBSGgEJvlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfTR8Kum9IIPOlcP/j7n0oM2CJV4Zz2PjPftbF1afk0b4joEum4xsK6I8mFPig0BjXKBo/15uPk+ZhB3m5829r9ZJ+iVUvO89pYYbCf2pN4xxd7FTDSwnPmYp/4Wr8ECbFUrcrkcbB0I9mx9MSyzE9w2yCpz4ty+/sutmxAGbO9f3RPY6Q2Lxwb1sTUrEgSEGOjoO2vXRmMhxxPZXqRSgqhg5yZPZZpORNdJzZLnUYdIDWGcHVcYHBH8JOZ+1c4ZaV7lJBu1ftYSo4gJW9RY= Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=daniel.buenzli@erratique.ch; spf=None smtp.mailfrom=daniel.buenzli@erratique.ch; spf=None smtp.helo=postmaster@smtp.webfaction.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=pra; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=mailfrom; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp.webfaction.com) identity=helo; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="postmaster@smtp.webfaction.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DDAQCefENXf0pWN0pchA19AbwFJII7gzKBdBABAQEBAQEBAREBAQsJCwkhL4Itgj9WNQImAkkCARMbEYgWBAqyBJFiJYEBiHCFHgGDJCuCLgWYN4YAiglOhAGCew6FWQKPTDeEGmwBAYgRAR+BHgEBAQ X-IPAS-Result: A0DDAQCefENXf0pWN0pchA19AbwFJII7gzKBdBABAQEBAQEBAREBAQsJCwkhL4Itgj9WNQImAkkCARMbEYgWBAqyBJFiJYEBiHCFHgGDJCuCLgWYN4YAiglOhAGCew6FWQKPTDeEGmwBAYgRAR+BHgEBAQ X-IronPort-AV: E=Sophos;i="5.26,357,1459807200"; d="scan'208";a="178751405" Received: from mail6.webfaction.com (HELO smtp.webfaction.com) ([74.55.86.74]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 23 May 2016 23:58:51 +0200 Received: from [172.20.10.2] (131.236.197.178.dynamic.wless.lssmb00p-cgnat.res.cust.swisscom.ch [178.197.236.131]) by smtp.webfaction.com (Postfix) with ESMTP id 6EA0F20C8ECD; Mon, 23 May 2016 21:58:49 +0000 (UTC) Date: Mon, 23 May 2016 23:58:46 +0200 From: =?utf-8?Q?Daniel_B=C3=BCnzli?= To: OCaml List Cc: "=?utf-8?Q?mirageos-devel=40lists.xenproject.org?=" Message-ID: <958923288A8E475CB578D73146F7FAFB@erratique.ch> X-Mailer: sparrow 1.6.4 (build 1178) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: [Caml-list] [ANN] Topkg 0.7.0 Hello (last one today, promised), I'd like to announce the first release of topkg. For those who know topkg, = it is no longer an embedded script but a library that you add as a build de= pendency to your package. It now also comes with an optional tool that help= s you to manage your package and make swift and correct releases. Bla bla bla: ``` Topkg is a packager for distributing OCaml software. It provides an API to = describe the files a package installs in a given build configuration and to= specify information about the package's distribution creation and publicat= ion procedures. The optional topkg-care package provides the `topkg` command line tool whic= h helps with various aspects of a package's life cycle: creating and lintin= g a distribution, releasing it on the WWW, publish its documentation, add i= t to the OCaml OPAM repository, etc. Topkg is distributed under the ISC license and has **no** dependencies. Thi= s is what your packages will need as a *build* dependency. Topkg-care is distributed under the ISC license and depends on fmt, logs, b= os, cmdliner and opam-lib. ``` Install: opam install topkg topkg-care Homepage: http://erratique.ch/software/topkg API docs & manual: http://erratique.ch/software/topkg/doc/Topkg.html#basics See also `topkg help release` and `topkg help` A few things worth noting: * Topkg pretends to work on Windows (provided your build system does) but e= arly users may need to give a hand, please do report issues if things go wr= ong. * Topkg pretends to be able to work with hg source repositories, the same a= s for Windows applies. * Topkg should be able to work with other build systems than ocamlbuild. Bu= t a few things (e.g. documentation support or dependency linting) do at the= moment rely on ocamlbuild being used. It's not my priority but I'm not aga= inst improving it to make it easier to use with other build systems. * Topkg only supports OCaml from 4.01 on and hence will also impose this li= mit on your packages. * Topkg has toy, proof of concept, support to publish documentation and dis= tributions via GitHub's pages and release system. I'm personally not using = this so do not hesitate to report broken or suboptimal behaviour. Better su= pport =E2=80=94 especially gh issue interaction for 'topkg issue' and bette= r authentication would be nice, but is left in the hands of a motivated git= hub user. Someone should develop and distribute a good github topkg delegat= e (e.g. using ocaml-github) that github users can install; see 'toy-github-= topkg-delegate --help' and 'topkg help delegate'; the source of the toy del= egate [1] can be used as a blueprint. Do not hesitate to get in touch for m= ore information and/or design discussion.=20=20 Topkg may not be the final word in OCaml building & packaging, however, dep= ending on your needs, topkg's release workflow (see 'topkg help release') m= ay come as a significant improvement over the current status quo.=20=20 I have been using a similar but more ad-hoc system with my packages for a f= ew years now since I realized that oasis was getting in my way to scale mod= ularity. Except for the maintainability problem of having an embedded scrip= t which is now gone with this new incarnation of topkg, it has already been= shown to work quite well in practice for me and a limited number of other = persons, in a large range of software install scenarios, YMMV. Best, Daniel P.S. If you are on github and start to use `topkg` you can mention me (@dbu= enzli) in the inaugural PR or commit, I'm interested to see how it is used = and misused. [1] https://github.com/dbuenzli/topkg/blob/v0.7.0/src-bin/toy_github_delega= te.ml