From 43adbac53c06bf016f18ebbd78fefe81e6df3664 Mon Sep 17 00:00:00 2001 From: Philippe Veber Date: Tue, 20 Aug 2019 17:02:47 +0200 Subject: [PATCH] opam: dune-based generation --- bistro.opam | 56 +++++++++++++++++++++++++++++++++++++++++----------- dune-project | 49 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 92 insertions(+), 13 deletions(-) diff --git a/bistro.opam b/bistro.opam index 33fba5f5..2fd0d786 100644 --- a/bistro.opam +++ b/bistro.opam @@ -1,18 +1,38 @@ -opam-version: "1.2" -name: "bistro" -version: "dev" -maintainer: "Philippe Veber " -authors: "Philippe Veber " +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "A library to build and run distributed scientific workflows" +description: """ + +bistro is an OCaml library to build and run computations represented +by a collection of interdependent scripts, as is often found in +data analysis (especially computational biology). + +Features: +- build complex and composable workflows declaratively +- simple and lightweight wrapping of new components +- resume-on-failure: if something fails, fix it and the workflow will + restart from where it stopped +- parallel workflow execution +- development-friendly: when a script is modified, bistro + automatically finds out what needs to be recomputed +- automatic naming of generated files +- static typing: detect file format errors at compile time! + +The library provides a datatype to represent scripts (including +metadata and dependencies), an engine to run workflows and a standard +library providing components for popular tools (although mostly +related to computational biology and unix for now). +""" +maintainer: ["philippe.veber@gmail.com"] +authors: ["Philippe Veber"] +license: "CeCILL-B" homepage: "https://github.com/pveber/bistro/" -dev-repo: "https://github.com/pveber/bistro.git" bug-reports: "https://github.com/pveber/bistro/issues" -license: "GPL" -build: ["jbuilder" "build" "-p" name "-j" jobs] depends: [ "base64" "bos" - "jbuilder" {build & >= "1.0+beta8"} - "core" {>= "0.11.0"} + "dune" {> "1.6"} + "core" {>= "0.12.0"} "lwt" {>= "3.2.0"} "lwt_react" "ocamlgraph" {>= "1.8.7"} @@ -21,6 +41,18 @@ depends: [ "sexplib" {>= "113.24.00"} "tyxml" {>= "4.0"} ] -available: [ - ocaml-version >= "4.03.0" +build: [ + ["dune" "subst"] {pinned} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] ] +dev-repo: "git+https://github.com/pveber/bistro.git" diff --git a/dune-project b/dune-project index 81c449d2..890285f6 100644 --- a/dune-project +++ b/dune-project @@ -1 +1,48 @@ -(lang dune 1.5) +(lang dune 1.11) +(generate_opam_files true) + +(name bistro) +(source (github pveber/bistro)) +(homepage "https://github.com/pveber/bistro/") +(bug_reports "https://github.com/pveber/bistro/issues") +(license CeCILL-B) +(authors "Philippe Veber") +(maintainers "philippe.veber@gmail.com") + +(package + (name bistro) + (synopsis "A library to build and run distributed scientific workflows") + (description " +bistro is an OCaml library to build and run computations represented +by a collection of interdependent scripts, as is often found in +data analysis (especially computational biology). + +Features: +- build complex and composable workflows declaratively +- simple and lightweight wrapping of new components +- resume-on-failure: if something fails, fix it and the workflow will + restart from where it stopped +- parallel workflow execution +- development-friendly: when a script is modified, bistro + automatically finds out what needs to be recomputed +- automatic naming of generated files +- static typing: detect file format errors at compile time! + +The library provides a datatype to represent scripts (including +metadata and dependencies), an engine to run workflows and a standard +library providing components for popular tools (although mostly +related to computational biology and unix for now). +") + (tags (bioinformatics workflow pipeline)) + (depends + base64 + bos + (dune (> 1.6)) + (core (>= 0.12.0)) + (lwt (>= 3.2.0)) + lwt_react + (ocamlgraph (>= 1.8.7)) + ppx_sexp_conv + rresult + (sexplib (>= 113.24.00)) + (tyxml (>= 4.0))))