caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] Topkg 0.7.0
@ 2016-05-23 21:58 Daniel Bünzli
  2016-05-23 22:36 ` Paolo Donadeo
  0 siblings, 1 reply; 2+ messages in thread
From: Daniel Bünzli @ 2016-05-23 21:58 UTC (permalink / raw)
  To: OCaml List; +Cc: mirageos-devel

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 dependency to your package. It now also comes with an optional tool that helps 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 publication procedures.

The optional topkg-care package provides the `topkg` command line tool which helps with various aspects of a package's life cycle: creating and linting a distribution, releasing it on the WWW, publish its documentation, add it to the OCaml OPAM repository, etc.

Topkg is distributed under the ISC license and has **no** dependencies. This is what your packages will need as a *build* dependency.

Topkg-care is distributed under the ISC license and depends on fmt, logs, bos, 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 early users may need to give a hand, please do report issues if things go wrong.

* Topkg pretends to be able to work with hg source repositories, the same as for Windows applies.

* Topkg should be able to work with other build systems than ocamlbuild. But 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 against 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 limit on your packages.

* Topkg has toy, proof of concept, support to publish documentation and distributions via GitHub's pages and release system. I'm personally not using this so do not hesitate to report broken or suboptimal behaviour. Better support — especially gh issue interaction for 'topkg issue' and better authentication would be nice, but is left in the hands of a motivated github user. Someone should develop and distribute a good github topkg delegate (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 delegate [1] can be used as a blueprint. Do not hesitate to get in touch for more information and/or design discussion.  

Topkg may not be the final word in OCaml building & packaging, however, depending on your needs, topkg's release workflow (see 'topkg help release') may come as a significant improvement over the current status quo.  

I have been using a similar but more ad-hoc system with my packages for a few years now since I realized that oasis was getting in my way to scale modularity. Except for the maintainability problem of having an embedded script 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 (@dbuenzli) 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_delegate.ml



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Caml-list] [ANN] Topkg 0.7.0
  2016-05-23 21:58 [Caml-list] [ANN] Topkg 0.7.0 Daniel Bünzli
@ 2016-05-23 22:36 ` Paolo Donadeo
  0 siblings, 0 replies; 2+ messages in thread
From: Paolo Donadeo @ 2016-05-23 22:36 UTC (permalink / raw)
  To: OCaml List

[-- Attachment #1: Type: text/plain, Size: 189 bytes --]

On Mon, May 23, 2016 at 11:58 PM, Daniel Bünzli <daniel.buenzli@erratique.ch
> wrote:

> Hello (last one today, promised),


I usually star your announcements :-)


-- 
*Paolo*

[-- Attachment #2: Type: text/html, Size: 634 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-05-23 22:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-23 21:58 [Caml-list] [ANN] Topkg 0.7.0 Daniel Bünzli
2016-05-23 22:36 ` Paolo Donadeo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).