Skip to content
This repository has been archived by the owner on Nov 26, 2020. It is now read-only.

switch to dune #45

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
_build/
*.native
*.byte
setup.log
setup.data
/_build/
.merlin
7 changes: 0 additions & 7 deletions .merlin

This file was deleted.

40 changes: 0 additions & 40 deletions Makefile

This file was deleted.

2 changes: 2 additions & 0 deletions dune-project
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
(lang dune 1.5)
(name sodium)
6 changes: 0 additions & 6 deletions lib/META

This file was deleted.

4 changes: 0 additions & 4 deletions lib/_tags

This file was deleted.

12 changes: 12 additions & 0 deletions lib/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
(library
(name sodium)
(public_name sodium)
(libraries ctypes sodium.storage sodium.generated)
(c_library_flags :standard -lsodium)
(modules :standard \ sodium_storage))

(library
(name sodium_storage)
(public_name sodium.storage)
(libraries ctypes)
(modules sodium_storage))
1 change: 0 additions & 1 deletion lib/libsodium_stubs.clib

This file was deleted.

1 change: 1 addition & 0 deletions lib/sodium.ml
Original file line number Diff line number Diff line change
@@ -31,6 +31,7 @@ type channel
module Storage = Sodium_storage
type bigbytes = Storage.bigbytes

module Sodium_types_detected = Sodium_bindings__.Sodium_types_detected
module C = Sodium_bindings.C(Sodium_generated)
module Type = Sodium_types.C(Sodium_types_detected)
module Sodium_bytes = C.Make(Storage.Bytes)
6 changes: 0 additions & 6 deletions lib/sodium.mldylib

This file was deleted.

2 changes: 1 addition & 1 deletion lib/sodium.mli
Original file line number Diff line number Diff line change
@@ -696,7 +696,7 @@ module Auth : sig
end

module One_time_auth : sig
include module type of Auth
include module type of Auth [@remove_aliases]

(** Primitive used by this implementation. Currently ["poly1305"]. *)
val primitive : string
6 changes: 0 additions & 6 deletions lib/sodium.mllib

This file was deleted.

1 change: 0 additions & 1 deletion lib_gen/_tags

This file was deleted.

55 changes: 55 additions & 0 deletions lib_gen/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
(library
(name sodium_generated)
(public_name sodium.generated)
(libraries ctypes.stubs sodium_bindings)
(modules sodium_generated)
(c_names sodium_stubs))

(library
(name sodium_bindings)
(public_name sodium.bindings)
(libraries ctypes sodium_storage sodium_types)
(modules sodium_bindings sodium_types_detected))

(library
(name sodium_types)
(public_name sodium.types)
(libraries ctypes)
(modules sodium_types))

(executable
(name sodium_bindgen)
(libraries ctypes ctypes.stubs sodium_bindings sodium_storage)
(modules sodium_bindgen)
(flags :standard -w -33))

(executable
(name sodium_typegen)
(libraries ctypes ctypes.stubs sodium_types)
(modules sodium_typegen)
(flags :standard -w -33))

(rule
(targets sodium_types_detect.c)
(action
(run ./sodium_typegen.bc)))

(rule
(deps sodium_types_detect.c)
(targets sodium_types_detect)
(action (bash "cc -I \"$(ocamlfind query ctypes)\" -I \"$(ocamlc -where)\" -o sodium_types_detect sodium_types_detect.c")))

(rule
(deps sodium_types_detect)
(targets sodium_types_detected.ml)
(action
(with-stdout-to
sodium_types_detected.ml
(progn
(echo "[@@@warning \"-9-27\"]")
(run ./sodium_types_detect)))))

(rule
(targets sodium_generated.ml sodium_stubs.c)
(action
(run ./sodium_bindgen.bc)))
4 changes: 2 additions & 2 deletions lib_gen/sodium_bindgen.ml
Original file line number Diff line number Diff line change
@@ -31,9 +31,9 @@ module Bind(F: Cstubs.FOREIGN) = struct
end

let () =
let fmt = Format.formatter_of_out_channel (open_out "lib/sodium_stubs.c") in
let fmt = Format.formatter_of_out_channel (open_out "sodium_stubs.c") in
Format.fprintf fmt "#include <sodium.h>@.";
Cstubs.write_c fmt ~prefix:"caml_" (module Bind);

let fmt = Format.formatter_of_out_channel (open_out "lib/sodium_generated.ml") in
let fmt = Format.formatter_of_out_channel (open_out "sodium_generated.ml") in
Cstubs.write_ml fmt ~prefix:"caml_" (module Bind)
2 changes: 1 addition & 1 deletion lib_gen/sodium_typegen.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
open Ctypes

let () =
let type_oc = open_out "lib_gen/sodium_types_detect.c" in
let type_oc = open_out "sodium_types_detect.c" in
let fmt = Format.formatter_of_out_channel type_oc in
Format.fprintf fmt "#include <sodium.h>@.";
Cstubs.Types.write_c fmt (module Sodium_types.C);
1 change: 0 additions & 1 deletion lib_test/_tags

This file was deleted.

14 changes: 14 additions & 0 deletions lib_test/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
(executable
(name test_sodium)
(libraries oUnit sodium)
(flags :standard -w -27))

(alias
(name runtest)
(deps nacl_runner)
(action (run ./test_sodium.exe)))

(rule
(deps nacl_runner.c)
(targets nacl_runner)
(action (bash "cc -lsodium -o nacl_runner nacl_runner.c")))
2 changes: 1 addition & 1 deletion lib_test/test_box.ml
Original file line number Diff line number Diff line change
@@ -259,7 +259,7 @@ module Test(In : IO)(Out : IO) = struct

let check_nacl v out = assert_equal (str_of_hex (str_of_stream out)) v

let nacl_runner = "_build/lib_test/nacl_runner"
let nacl_runner = "./nacl_runner"
let test_nacl_box ctxt =
let ((sk,pk),(sk',pk'),message,nonce) = setup () in
let cs = In.st (In.box sk' pk (In.ts message) nonce) in
84 changes: 0 additions & 84 deletions myocamlbuild.ml

This file was deleted.

67 changes: 67 additions & 0 deletions sodium.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
lib: [
"_build/install/default/lib/sodium/META" {"META"}
"_build/install/default/lib/sodium/bindings/sodium.bindings.dune" {"bindings/sodium.bindings.dune"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.a" {"bindings/sodium_bindings.a"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.cma" {"bindings/sodium_bindings.cma"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.cmi" {"bindings/sodium_bindings.cmi"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.cmt" {"bindings/sodium_bindings.cmt"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.cmx" {"bindings/sodium_bindings.cmx"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.cmxa" {"bindings/sodium_bindings.cmxa"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.cmxs" {"bindings/sodium_bindings.cmxs"}
"_build/install/default/lib/sodium/bindings/sodium_bindings.ml" {"bindings/sodium_bindings.ml"}
"_build/install/default/lib/sodium/bindings/sodium_bindings__.cmi" {"bindings/sodium_bindings__.cmi"}
"_build/install/default/lib/sodium/bindings/sodium_bindings__.cmt" {"bindings/sodium_bindings__.cmt"}
"_build/install/default/lib/sodium/bindings/sodium_bindings__.cmx" {"bindings/sodium_bindings__.cmx"}
"_build/install/default/lib/sodium/bindings/sodium_bindings__.ml" {"bindings/sodium_bindings__.ml"}
"_build/install/default/lib/sodium/bindings/sodium_bindings__Sodium_types_detected.cmi" {"bindings/sodium_bindings__Sodium_types_detected.cmi"}
"_build/install/default/lib/sodium/bindings/sodium_bindings__Sodium_types_detected.cmt" {"bindings/sodium_bindings__Sodium_types_detected.cmt"}
"_build/install/default/lib/sodium/bindings/sodium_bindings__Sodium_types_detected.cmx" {"bindings/sodium_bindings__Sodium_types_detected.cmx"}
"_build/install/default/lib/sodium/bindings/sodium_types_detected.ml" {"bindings/sodium_types_detected.ml"}
"_build/install/default/lib/sodium/generated/libsodium_generated_stubs.a" {"generated/libsodium_generated_stubs.a"}
"_build/install/default/lib/sodium/generated/sodium.generated.dune" {"generated/sodium.generated.dune"}
"_build/install/default/lib/sodium/generated/sodium_generated.a" {"generated/sodium_generated.a"}
"_build/install/default/lib/sodium/generated/sodium_generated.cma" {"generated/sodium_generated.cma"}
"_build/install/default/lib/sodium/generated/sodium_generated.cmi" {"generated/sodium_generated.cmi"}
"_build/install/default/lib/sodium/generated/sodium_generated.cmt" {"generated/sodium_generated.cmt"}
"_build/install/default/lib/sodium/generated/sodium_generated.cmx" {"generated/sodium_generated.cmx"}
"_build/install/default/lib/sodium/generated/sodium_generated.cmxa" {"generated/sodium_generated.cmxa"}
"_build/install/default/lib/sodium/generated/sodium_generated.cmxs" {"generated/sodium_generated.cmxs"}
"_build/install/default/lib/sodium/generated/sodium_generated.ml" {"generated/sodium_generated.ml"}
"_build/install/default/lib/sodium/opam" {"opam"}
"_build/install/default/lib/sodium/sodium.a" {"sodium.a"}
"_build/install/default/lib/sodium/sodium.cma" {"sodium.cma"}
"_build/install/default/lib/sodium/sodium.cmi" {"sodium.cmi"}
"_build/install/default/lib/sodium/sodium.cmt" {"sodium.cmt"}
"_build/install/default/lib/sodium/sodium.cmti" {"sodium.cmti"}
"_build/install/default/lib/sodium/sodium.cmx" {"sodium.cmx"}
"_build/install/default/lib/sodium/sodium.cmxa" {"sodium.cmxa"}
"_build/install/default/lib/sodium/sodium.cmxs" {"sodium.cmxs"}
"_build/install/default/lib/sodium/sodium.dune" {"sodium.dune"}
"_build/install/default/lib/sodium/sodium.ml" {"sodium.ml"}
"_build/install/default/lib/sodium/sodium.mli" {"sodium.mli"}
"_build/install/default/lib/sodium/storage/sodium.storage.dune" {"storage/sodium.storage.dune"}
"_build/install/default/lib/sodium/storage/sodium_storage.a" {"storage/sodium_storage.a"}
"_build/install/default/lib/sodium/storage/sodium_storage.cma" {"storage/sodium_storage.cma"}
"_build/install/default/lib/sodium/storage/sodium_storage.cmi" {"storage/sodium_storage.cmi"}
"_build/install/default/lib/sodium/storage/sodium_storage.cmt" {"storage/sodium_storage.cmt"}
"_build/install/default/lib/sodium/storage/sodium_storage.cmx" {"storage/sodium_storage.cmx"}
"_build/install/default/lib/sodium/storage/sodium_storage.cmxa" {"storage/sodium_storage.cmxa"}
"_build/install/default/lib/sodium/storage/sodium_storage.cmxs" {"storage/sodium_storage.cmxs"}
"_build/install/default/lib/sodium/storage/sodium_storage.ml" {"storage/sodium_storage.ml"}
"_build/install/default/lib/sodium/types/sodium.types.dune" {"types/sodium.types.dune"}
"_build/install/default/lib/sodium/types/sodium_types.a" {"types/sodium_types.a"}
"_build/install/default/lib/sodium/types/sodium_types.cma" {"types/sodium_types.cma"}
"_build/install/default/lib/sodium/types/sodium_types.cmi" {"types/sodium_types.cmi"}
"_build/install/default/lib/sodium/types/sodium_types.cmt" {"types/sodium_types.cmt"}
"_build/install/default/lib/sodium/types/sodium_types.cmx" {"types/sodium_types.cmx"}
"_build/install/default/lib/sodium/types/sodium_types.cmxa" {"types/sodium_types.cmxa"}
"_build/install/default/lib/sodium/types/sodium_types.cmxs" {"types/sodium_types.cmxs"}
"_build/install/default/lib/sodium/types/sodium_types.ml" {"types/sodium_types.ml"}
]
doc: [
"_build/install/default/doc/sodium/CHANGES"
"_build/install/default/doc/sodium/README.md"
]
stublibs: [
"_build/install/default/lib/stublibs/dllsodium_generated_stubs.so"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file should not be commited?

]
25 changes: 9 additions & 16 deletions opam → sodium.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
opam-version: "1.2"
name: "sodium"
opam-version: "2.0"
version: "dev"
maintainer: "sheets@alum.mit.edu"
authors: [
@@ -9,21 +8,16 @@ authors: [
]
homepage: "https://github.com/dsheets/ocaml-sodium/"
bug-reports: "https://github.com/dsheets/ocaml-sodium/issues/"
dev-repo: "https://github.com/dsheets/ocaml-sodium.git"
dev-repo: "git+https://github.com/dsheets/ocaml-sodium.git"
tags: ["org:mirage"]
build: [
[make] { os != "freebsd" }
[make "CFLAGS=-I/usr/local/include -L/usr/local/lib"] { os = "freebsd" }
["dune" "subst"] {pinned}
["dune" "build" "-p" name "-j" jobs]
["dune" "runtest"] {with-test}
]
install: [
[make "PREFIX=%{prefix}%" "install"]
]
build-test: [
[make "test"] { os != "freebsd" }
[make "CFLAGS=-I/usr/local/include -L/usr/local/lib" "test"] { os = "freebsd" }
]
remove: [["ocamlfind" "remove" "sodium"]]
depends: [
"ocaml" {>= "4.01.0"}
"dune" {build & >= "1.5"}
"base-bigarray"
"base-bytes"
"ocamlfind" {build}
@@ -34,7 +28,7 @@ depexts: [
[ ["debian"] ["libsodium-dev"] ]
[ ["ubuntu"] ["libsodium-dev"] ]
[ ["freebsd"] ["security/libsodium"] ]
[ ["osx" "homebrew"] ["libsodium"] ]
[ ["macos" "homebrew"] ["libsodium"] ]
]
post-messages: [
"This package requires installation of libsodium-dev (>= 1.0.9)"
@@ -44,6 +38,5 @@ post-messages: [
"This package requires installation of security/libsodium (>= 1.0.9)"
{ failure & os = "freebsd" }
"This package requires installation of libsodium (>= 1.0.9)"
{ failure & os = "osx" }
{ failure & os = "macos" }
]
available: [ocaml-version >= "4.01.0"]