From c20530537b1ebf08c3865e7082f342e0d768cfff Mon Sep 17 00:00:00 2001 From: Anil Madhavapeddy Date: Mon, 14 Jan 2019 19:11:23 +0000 Subject: [PATCH] port to dune from jbuilder Signed-off-by: Anil Madhavapeddy --- .gitignore | 2 +- .travis.yml | 7 ++++-- CHANGES.md | 3 +++ Dockerfile | 3 --- Makefile | 8 +++--- build.sh | 4 --- dune-project | 2 ++ lib/blkproto.ml | 2 +- lib/dune | 26 +++++++++++++++++++ lib/jbuild | 24 ------------------ mirage-block-xen.opam | 58 ++++++++++++++++++++++--------------------- pkg/pkg.ml | 3 --- 12 files changed, 72 insertions(+), 70 deletions(-) delete mode 100644 Dockerfile delete mode 100755 build.sh create mode 100644 dune-project create mode 100644 lib/dune delete mode 100644 lib/jbuild delete mode 100644 pkg/pkg.ml diff --git a/.gitignore b/.gitignore index a696cc5..5be30f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ _build/ *.install *.merlin - +.*.swp diff --git a/.travis.yml b/.travis.yml index 70dda88..8d7725a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,5 +8,8 @@ env: global: - PACKAGE="mirage-block-xen" matrix: - - DISTRO="ubuntu-16.04" OCAML_VERSION="4.03.0" - - DISTRO="alpine" OCAML_VERSION="4.04.2" + - DISTRO="ubuntu" OCAML_VERSION="4.03" + - DISTRO="alpine" OCAML_VERSION="4.04" + - DISTRO="alpine" OCAML_VERSION="4.05" + - DISTRO="alpine" OCAML_VERSION="4.06" + - DISTRO="alpine" OCAML_VERSION="4.07" diff --git a/CHANGES.md b/CHANGES.md index 8760f86..1a16f22 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,6 @@ +## 1.6.0 (2019-01-11): +* Port to dune from jbuilder (@avsm) + ## 1.5.4 (2017-07-05): * Use `ppx_cstruct` directly instead of the `cstruct.ppx` compat package, which makes it easier for jbuilder subdirectory embedding. diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 3a69250..0000000 --- a/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM unikernel/mirage -RUN opam install --deps-only mirage-block-xen -y -COPY build.sh /build.sh diff --git a/Makefile b/Makefile index e5c4091..9b9263f 100644 --- a/Makefile +++ b/Makefile @@ -2,16 +2,16 @@ .PHONY: build clean test build: - jbuilder build @install --dev + dune build test: - jbuilder runtest --dev + dune runtest install: - jbuilder install + dune install uninstall: - jbuilder uninstall + dune uninstall xen-depends: Dockerfile build.sh docker build -t mirage-block-xen . diff --git a/build.sh b/build.sh deleted file mode 100755 index 206d8fd..0000000 --- a/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cd /src -opam pin add mirage-block-xen . -y diff --git a/dune-project b/dune-project new file mode 100644 index 0000000..23e41a0 --- /dev/null +++ b/dune-project @@ -0,0 +1,2 @@ +(lang dune 1.0) +(name mirage-block-xen) diff --git a/lib/blkproto.ml b/lib/blkproto.ml index 8e15b2e..0401c49 100644 --- a/lib/blkproto.ml +++ b/lib/blkproto.ml @@ -15,7 +15,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *) -open Printf +[@@@warning "-32"] type ('a, 'b) result = [ | `OK of 'a diff --git a/lib/dune b/lib/dune new file mode 100644 index 0000000..2829b3d --- /dev/null +++ b/lib/dune @@ -0,0 +1,26 @@ +(library + (name mirage_block_xen) + (public_name mirage-block-xen) + (modules Blkproto Device_number) + (libraries cstruct io-page) + (wrapped false) + (preprocess + (pps ppx_cstruct))) + +(library + (name mirage_block_xen_front) + (public_name mirage-block-xen.front) + (modules Blkfront Block) + (libraries logs stringext lwt cstruct ppx_cstruct mirage-block-lwt io-page + io-page-xen shared-memory-ring shared-memory-ring-lwt mirage-block-xen + xen-evtchn xen-gnt mirage-xen) + (wrapped false)) + +(library + (name mirage_block_xen_back) + (public_name mirage-block-xen.back) + (modules Blkback Block_request) + (libraries logs lwt cstruct ppx_cstruct io-page shared-memory-ring + shared-memory-ring-lwt mirage-block-xen xen-evtchn xen-gnt xenstore + xenstore.client mirage-block-lwt rresult) + (wrapped false)) diff --git a/lib/jbuild b/lib/jbuild deleted file mode 100644 index ff7c5d0..0000000 --- a/lib/jbuild +++ /dev/null @@ -1,24 +0,0 @@ -(library - ((name mirage_block_xen) - (public_name mirage-block-xen) - (modules (Blkproto Device_number)) - (libraries (cstruct io-page)) - (wrapped false) - (preprocess (pps (ppx_cstruct))) -)) - -(library - ((name mirage_block_xen_front) - (public_name mirage-block-xen.front) - (modules (Blkfront Block)) - (libraries (logs stringext lwt cstruct ppx_cstruct mirage-block-lwt io-page io-page-xen shared-memory-ring shared-memory-ring-lwt mirage-block-xen xen-evtchn xen-gnt mirage-xen)) - (wrapped false) -)) - -(library - ((name mirage_block_xen_back) - (public_name mirage-block-xen.back) - (modules (Blkback Block_request)) - (libraries (logs lwt cstruct ppx_cstruct io-page shared-memory-ring shared-memory-ring-lwt mirage-block-xen xen-evtchn xen-gnt xenstore xenstore.client mirage-block-lwt rresult)) - (wrapped false) -)) diff --git a/mirage-block-xen.opam b/mirage-block-xen.opam index 55843dd..f850cc9 100644 --- a/mirage-block-xen.opam +++ b/mirage-block-xen.opam @@ -1,42 +1,44 @@ -opam-version: "1.2" -maintainer: "dave@recoil.org" -homepage: "https://github.com/mirage/mirage-block-xen" -dev-repo: "https://github.com/mirage/mirage-block-xen.git" -bug-reports: "https://github.com/mirage/mirage-block-xen/issues" -doc: "https://mirage.github.io/mirage-block-xen" - -authors: [ - "Anil Madhavapeddy" - "David Scott" - "Thomas Leonard" -] +opam-version: "2.0" +maintainer: "dave@recoil.org" +authors: ["Anil Madhavapeddy" "David Scott" "Thomas Leonard"] license: "ISC" -tags: [ - "org:mirage" - "org:xapi-project" -] - -build: [ - [ "jbuilder" "subst"] {pinned} - [ "jbuilder" "build" "-p" name "-j" jobs ] -] - +tags: ["org:mirage" "org:xapi-project"] +homepage: "https://github.com/mirage/mirage-block-xen" +doc: "https://mirage.github.io/mirage-block-xen/" +bug-reports: "https://github.com/mirage/mirage-block-xen/issues" depends: [ - "ocamlfind" {build} - "jbuilder" {build & >="1.0+beta9"} + "ocaml" {>= "4.02.0"} + "dune" {build} "cmdliner" "logs" "stringext" "lwt" {>= "2.4.3"} "cstruct" {>= "1.9.0"} - "ppx_tools" "shared-memory-ring-lwt" "mirage-block-lwt" {>= "1.0.0"} "ipaddr" "io-page-xen" {>= "2.0.0"} - "mirage-xen" {>= "1.0.1" } + "mirage-xen" {>= "1.0.1"} "rresult" ] -available: [ - ocaml-version >= "4.02.0" +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] ] +dev-repo: "git+https://github.com/mirage/mirage-block-xen.git" +synopsis: "MirageOS block driver for Xen that implements the blkfront/back protocol" +description: """ +This library allows a Mirage OCaml application to + + 1. read and write blocks from any Xen "backend" (server) + 2. service block requests from any Xen "frontend" (client) + +This library can be used in both kernelspace (on Xen) +or in userspace (using libraries that come with Xen). + +This library depends on the +[shared-memory-ring](https://github.com/mirage/shared-memory-ring) +library which enables high-throughput, low-latency data +transfers over shared memory on both x86 and ARM architectures, +using the standard Xen RPC and event channel semantics. +""" diff --git a/pkg/pkg.ml b/pkg/pkg.ml deleted file mode 100644 index 4d12667..0000000 --- a/pkg/pkg.ml +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env ocaml -#use "topfind" -#require "topkg-jbuilder.auto"