Browse Source
By statically linking `libgmp` on MacOS, we can avoid problems we have with OpenSSL, including dynamic linking (Fixes #110), and certificate issues (Fixes #170) Unfortunately, it makes fnm fail to build on Windows, which is not that of a big deal. I want to say thanks for @ulrikstrid for all the work he invested into making the build pass on Windows, but I think that implementing fnm on Windows will be better off as a separate program — maybe even in this very repo, while sharing the feature tests with the Unix implementationremotes/origin/add-simple-redirecting-site
![gal@spitfire.co.il](/assets/img/avatar_default.png)
![GitHub](/assets/img/avatar_default.png)
174 changed files with 2836 additions and 12483 deletions
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
--- a/_tags 2019-11-03 16:34:40.691766000 +0100
|
||||
+++ b/_tags 2019-11-03 16:34:41.850239000 +0100
|
||||
@@ -1,7 +1,7 @@
|
||||
true: color(always)
|
||||
true: bin_annot, safe_string, strict_sequence
|
||||
true: warn(A-4-41-42-44-48-58)
|
||||
-true: package(bytes), package(result), package(cstruct), package(zarith), package(ptime)
|
||||
+true: package(bytes), package(result), package(cstruct), package(zarith), package(ptime), package(bigarray-compat)
|
||||
|
||||
<src>: include
|
||||
|
||||
--- a/pkg/META 2019-11-03 16:34:20.947072000 +0100
|
||||
+++ b/pkg/META 2019-11-03 16:34:22.050043000 +0100
|
||||
@@ -1,6 +1,6 @@
|
||||
description = "Embed typed ASN.1 grammars in OCaml"
|
||||
version = "0.2.0"
|
||||
-requires = "cstruct zarith ptime"
|
||||
+requires = "cstruct zarith ptime bigarray-compat"
|
||||
archive(byte) = "asn1-combinators.cma"
|
||||
archive(native) = "asn1-combinators.cmxa"
|
||||
plugin(byte) = "asn1-combinators.cma"
|
||||
--- a/src/asn_prim.ml.orig 2019-11-03 16:34:00.685635000 +0100
|
||||
+++ b/src/asn_prim.ml 2019-11-03 16:34:01.930523000 +0100
|
||||
@@ -4,6 +4,7 @@
|
||||
open Asn_core
|
||||
|
||||
module Writer = Asn_writer
|
||||
+module Bigarray = Bigarray_compat
|
||||
|
||||
module type Prim = sig
|
||||
type t
|
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
opam-version: "2.0" |
||||
authors: ["David Kaloper Meršinjak <david@numm.org>"] |
||||
maintainer: "David Kaloper Meršinjak <david@numm.org>" |
||||
homepage: "https://github.com/mirleft/ocaml-asn1-combinators" |
||||
doc: "https://mirleft.github.io/ocaml-asn1-combinators/doc" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirleft/ocaml-asn1-combinators.git" |
||||
bug-reports: "https://github.com/mirleft/ocaml-asn1-combinators/issues" |
||||
tags: [ "org:mirage" ] |
||||
build: [ |
||||
["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false"] |
||||
["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "true"] |
||||
{with-test} |
||||
["ocaml" "pkg/pkg.ml" "test"] {with-test} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.02.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"result" |
||||
"cstruct" {>= "4.0.0"} |
||||
"zarith" |
||||
"ptime" |
||||
"ounit" {with-test} |
||||
"bigarray-compat" |
||||
] |
||||
conflicts: [ "cstruct" {< "1.6.0"} ] |
||||
patches: [ "0001-bigarray-compat.patch" ] |
||||
synopsis: "Embed typed ASN.1 grammars in OCaml" |
||||
description: """ |
||||
asn1-combinators is a library for expressing ASN.1 in OCaml. Skip the notation |
||||
part of ASN.1, and embed the abstract syntax directly in the language. These |
||||
abstract syntax representations can be used for parsing, serialization, or |
||||
random testing. |
||||
|
||||
The only ASN.1 encodings currently supported are BER and DER. |
||||
|
||||
asn1-combinators is distributed under the ISC license.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v0.2.0/asn1-combinators-0.2.0.tbz" |
||||
checksum: "md5=f695aec35f8934d20d966032adbf3520" |
||||
} |
||||
extra-files: [ |
||||
[ "0001-bigarray-compat.patch" "md5=cca9c049641c510b9425fa75b7b669da" ] |
||||
] |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
opam-version: "2.0" |
||||
synopsis: "Compatibility library to use Stdlib.Bigarray when possible" |
||||
maintainer: "Lucas Pluvinage <lucas.pluvinage@gmail.com>" |
||||
authors: "Lucas Pluvinage <lucas.pluvinage@gmail.com>" |
||||
license: "ISC" |
||||
homepage: "https://github.com/mirage/bigarray-compat" |
||||
bug-reports: "https://github.com/mirage/bigarray-compat/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {>= "1.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/bigarray-compat.git" |
||||
url { |
||||
src: "https://github.com/mirage/bigarray-compat/archive/v1.0.0.tar.gz" |
||||
checksum: [ |
||||
"md5=1cc7c25382a8900bada34aadfd66632e" |
||||
"sha512=c365fee15582aca35d7b05268cde29e54774ad7df7be56762b4aad78ca1409d4326ad3b34af0f1cc2c7b872837290a9cd9ff43b47987c03bba7bba32fe8a030f" |
||||
] |
||||
} |
@ -1,49 +0,0 @@
@@ -1,49 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" |
||||
"Stefano Zacchiroli" |
||||
"David Sheets" |
||||
"Thomas Gazagnaire" |
||||
"David Scott" |
||||
"Rudi Grinberg" |
||||
"Andy Ray" |
||||
] |
||||
synopsis: "CoHTTP implementation using the Lwt concurrency library" |
||||
description: """ |
||||
This is a portable implementation of HTTP that uses the Lwt |
||||
concurrency library to multiplex IO. It implements as much of the |
||||
logic in an OS-independent way as possible, so that more specialised |
||||
modules can be tailored for different targets. For example, you |
||||
can install `cohttp-lwt-unix` or `cohttp-lwt-jsoo` for a Unix or |
||||
JavaScript backend, or `cohttp-mirage` for the MirageOS unikernel |
||||
version of the library. All of these implementations share the same |
||||
IO logic from this module.""" |
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-cohttp" |
||||
doc: "https://mirage.github.io/ocaml-cohttp/" |
||||
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.1"} |
||||
"dune" {>= "1.1.0"} |
||||
"cohttp" {=version} |
||||
"lwt" {>= "2.5.0"} |
||||
"sexplib0" |
||||
"ppx_sexp_conv" {>= "v0.9.0"} |
||||
"logs" |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cohttp/releases/download/v2.3.0/cohttp-v2.3.0.tbz" |
||||
checksum: [ |
||||
"sha256=f179ec35d00ecc57e8326fb11de5f6a769ee49ecd0dffacce6530f0695297125" |
||||
"sha512=2e49f435d6bf4ea8ed55c0c62d27aeec63cb21a97bf4be8f40f6c39fbcec1d37044a1e91d47f2156e2df18fda778f78da12d4b6e5a76775e89b9e059feab194d" |
||||
] |
||||
} |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
#include <gmp.h> |
||||
#ifndef __GMP_H__ |
||||
#error "No GMP header" |
||||
#endif |
||||
|
||||
void test(void) { |
||||
__gmp_init(); |
||||
} |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "nbraud" |
||||
homepage: "http://gmplib.org/" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
license: "GPL-1.0-or-later" |
||||
build: [ |
||||
["sh" "-exc" "cc -c $CFLAGS -I/usr/local/include test.c"] {os != "macos"} |
||||
[ |
||||
"sh" |
||||
"-exc" |
||||
"cc -c $CFLAGS -I/opt/local/include -I/usr/local/include test.c" |
||||
] {os = "macos"} |
||||
] |
||||
depexts: [ |
||||
["libgmp-dev"] {os-family = "debian"} |
||||
["gmp"] {os = "macos" & os-distribution = "homebrew"} |
||||
["gmp" "gmp-devel"] {os-distribution = "centos"} |
||||
["gmp" "gmp-devel"] {os-distribution = "fedora"} |
||||
["gmp"] {os = "openbsd"} |
||||
["gmp"] {os = "freebsd"} |
||||
["gmp-dev"] {os-distribution = "alpine"} |
||||
["gmp-devel"] {os-family = "suse"} |
||||
] |
||||
synopsis: "Virtual package relying on a GMP lib system installation" |
||||
description: |
||||
"This package can only install if the GMP lib is installed on the system." |
||||
authors: "nbraud" |
||||
extra-files: ["test.c" "md5=ec8cc21ab709bdd57103de36e7b0b53f"] |
||||
flags: conf |
@ -1,32 +0,0 @@
@@ -1,32 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
# Try just executing pkg-config openssl before looking |
||||
# explicitly for Nix -> Homebrew -> MacPorts. |
||||
# This handles the case where the user has set |
||||
# PKG_CONFIG_PATH themselves. |
||||
res=$(pkg-config openssl) |
||||
if [ $? -eq 0 ]; then |
||||
echo $res |
||||
exit 0 |
||||
fi |
||||
|
||||
if [ -e "$HOME/.nix-profile/lib/pkgconfig/openssl.pc" ]; then |
||||
# Nix on macOS |
||||
res=$(env PKG_CONFIG_PATH=$HOME/.nix-profile/lib/pkgconfig pkg-config openssl) |
||||
if [ $? -eq 0 ]; then |
||||
echo $res |
||||
exit 0 |
||||
fi |
||||
fi |
||||
|
||||
if [ -e "/usr/local/opt/openssl/lib/pkgconfig/openssl.pc" ]; then |
||||
# Homebrew |
||||
res=$(env PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig pkg-config openssl) |
||||
if [ $? -eq 0 ]; then |
||||
echo $res |
||||
exit 0 |
||||
fi |
||||
fi |
||||
|
||||
# MacPorts |
||||
PKG_CONFIG_PATH=/opt/local/lib/pkgconfig pkg-config openssl |
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "David Sheets <sheets@alum.mit.edu>" |
||||
authors: ["The OpenSSL Project"] |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
homepage: "https://www.openssl.org/" |
||||
license: "Apache-1.0" |
||||
build: [ |
||||
["pkg-config" "openssl"] |
||||
{os != "macos" & os != "freebsd" & os != "openbsd" & os != "netbsd"} |
||||
["./osx-build.sh"] {os = "macos"} |
||||
] |
||||
depends: ["conf-pkg-config" {build}] |
||||
depexts: [ |
||||
["libssl-dev"] {os-family = "debian"} |
||||
["openssl-devel"] {os-distribution = "centos"} |
||||
["openssl-devel"] {os-distribution = "ol"} |
||||
["openssl-devel"] {os-distribution = "fedora"} |
||||
["openssl"] {os = "macos" & os-distribution = "homebrew"} |
||||
["openssl"] {os = "macos" & os-distribution = "macports"} |
||||
["libressl-dev"] {os-distribution = "alpine"} |
||||
["openssl"] {os-distribution = "nixos"} |
||||
["openssl"] {os-distribution = "arch"} |
||||
["libopenssl-devel"] {os-family = "suse"} |
||||
] |
||||
synopsis: "Virtual package relying on an OpenSSL system installation" |
||||
description: |
||||
"This package can only install if OpenSSL is installed on the system." |
||||
extra-files: ["osx-build.sh" "md5=e216c6189d0dfb4185521c8ace09fe40"] |
||||
flags: conf |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "tim@gfxmonk.net" |
||||
homepage: "https://www.perl.org/" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
license: "GPL-1.0-or-later" |
||||
authors: "Larry Wall" |
||||
build: [["perl" "--version"]] |
||||
depexts: [ |
||||
["perl"] {os-family = "debian"} |
||||
["perl"] {os-distribution = "alpine"} |
||||
["perl"] {os-distribution = "nixos"} |
||||
["perl"] {os-distribution = "arch"} |
||||
["perl-Pod-Html"] {os-distribution = "fedora"} |
||||
] |
||||
synopsis: "Virtual package relying on perl" |
||||
description: |
||||
"This package can only install if the perl program is installed on the system." |
||||
flags: conf |
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "unixjunkie@sdf.org" |
||||
authors: ["Francois Berenger"] |
||||
homepage: "http://www.freedesktop.org/wiki/Software/pkg-config/" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
license: "GPL-1.0-or-later" |
||||
build: [ |
||||
["pkg-config" "--help"] |
||||
] |
||||
install: [ |
||||
["ln" "-s" "/usr/local/bin/pkgconf" "%{bin}%/pkg-config"] {os = "openbsd"} |
||||
] |
||||
remove: [ |
||||
["rm" "-f" "%{bin}%/pkg-config"] {os = "openbsd"} |
||||
] |
||||
post-messages: [ |
||||
"conf-pkg-config: A symlink to /usr/local/bin/pkgconf has been installed in the OPAM bin directory (%{bin}%) on your PATH as 'pkg-config'. This is necessary for correct operation." {os = "openbsd"} |
||||
] |
||||
depexts: [ |
||||
["pkg-config"] {os-family = "debian"} |
||||
["pkg-config"] {os-distribution = "arch"} |
||||
["pkgconfig"] {os-distribution = "fedora"} |
||||
["pkgconfig"] {os-distribution = "centos"} |
||||
["pkgconfig"] {os-distribution = "mageia"} |
||||
["pkgconfig"] {os-distribution = "rhel"} |
||||
["pkgconfig"] {os-distribution = "ol"} |
||||
["pkgconfig"] {os-distribution = "alpine"} |
||||
["devel/pkgconf"] {os = "freebsd"} |
||||
["devel/pkgconf"] {os = "openbsd"} |
||||
["pkg-config"] {os = "macos" & os-distribution = "homebrew"} |
||||
["pkgconf"] {os = "freebsd"} |
||||
["pkg-config"] {os-distribution = "cygwinports"} |
||||
] |
||||
synopsis: "Virtual package relying on pkg-config installation" |
||||
description: """ |
||||
This package can only install if the pkg-config package is installed |
||||
on the system.""" |
||||
flags: conf |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "David Kaloper Meršinjak <dk505@cam.ac.uk>" |
||||
authors: ["David Kaloper Meršinjak <dk505@cam.ac.uk>"] |
||||
homepage: "https://github.com/pqwy/cpuid" |
||||
doc: "https://pqwy.github.io/cpuid/doc" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/pqwy/cpuid.git" |
||||
bug-reports: "https://github.com/pqwy/cpuid/issues" |
||||
build: [ ["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs ] |
||||
["dune" "runtest"] {with-test} ] |
||||
depends: [ |
||||
"ocaml" {>="4.03.0"} |
||||
"dune" {>= "1.7"} |
||||
] |
||||
synopsis: "Detect CPU features" |
||||
description: "CPUID" |
||||
url { |
||||
src: |
||||
"https://github.com/pqwy/cpuid/releases/download/v0.1.2/cpuid-v0.1.2.tbz" |
||||
checksum: "md5=21079a17bcf6cfe92e2f706b9d0d6d8d" |
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" |
||||
"Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" |
||||
"Mindy Preston" "Thomas Leonard" "Etienne Millon" ] |
||||
homepage: "https://github.com/mirage/ocaml-cstruct" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" |
||||
bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" |
||||
doc: "https://mirage.github.io/ocaml-cstruct/" |
||||
tags: [ "org:mirage" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"base-unix" |
||||
"lwt" |
||||
"cstruct" {=version} |
||||
"dune" {>= "1.0"} |
||||
] |
||||
synopsis: "Access C-like structures directly from OCaml" |
||||
description: """ |
||||
Cstruct is a library and syntax extension to make it easier to access C-like |
||||
structures directly from OCaml. It supports both reading and writing to these |
||||
structures, and they are accessed via the `Bigarray` module.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cstruct/releases/download/v5.0.0/cstruct-v5.0.0.tbz" |
||||
checksum: [ |
||||
"sha256=eb8a4e4438ca4ab59e9d98ca70177edd8b590136fe7a200fe8e5bf69051e80fc" |
||||
"sha512=414c2c780200252b5ebf16dd4fd1db28ffa483dba5be1c0092e08327d1d870f688c6f671892dcd8bbcf579f56e3d27b345ec0a96209fb25c0a984825b2e144f5" |
||||
] |
||||
} |
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" |
||||
"Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" |
||||
"Mindy Preston" "Thomas Leonard" "Anton Kochkov" "Etienne Millon" ] |
||||
homepage: "https://github.com/mirage/ocaml-cstruct" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" |
||||
bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" |
||||
doc: "https://mirage.github.io/ocaml-cstruct/" |
||||
|
||||
tags: [ "org:mirage" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {>= "1.0"} |
||||
"sexplib" {< "v0.13"} |
||||
"cstruct" {>= "3.6.0"} |
||||
"alcotest" {with-test} |
||||
] |
||||
synopsis: "S-expression serialisers for C-like structures" |
||||
description: """ |
||||
Cstruct is a library and syntax extension to make it easier to access C-like |
||||
structures directly from OCaml. It supports both reading and writing to these |
||||
structures, and they are accessed via the `Bigarray` module. |
||||
|
||||
This library provides Sexplib serialisers for the Cstruct.t values.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cstruct/releases/download/v5.0.0/cstruct-v5.0.0.tbz" |
||||
checksum: [ |
||||
"sha256=eb8a4e4438ca4ab59e9d98ca70177edd8b590136fe7a200fe8e5bf69051e80fc" |
||||
"sha512=414c2c780200252b5ebf16dd4fd1db28ffa483dba5be1c0092e08327d1d870f688c6f671892dcd8bbcf579f56e3d27b345ec0a96209fb25c0a984825b2e144f5" |
||||
] |
||||
} |
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" |
||||
"Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" |
||||
"Mindy Preston" "Thomas Leonard" "Anton Kochkov" "Etienne Millon" ] |
||||
homepage: "https://github.com/mirage/ocaml-cstruct" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" |
||||
bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" |
||||
doc: "https://mirage.github.io/ocaml-cstruct/" |
||||
|
||||
tags: [ "org:mirage" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {>= "1.0"} |
||||
"bigarray-compat" |
||||
"alcotest" {with-test} |
||||
] |
||||
synopsis: "Access C-like structures directly from OCaml" |
||||
description: """ |
||||
Cstruct is a library and syntax extension to make it easier to access C-like |
||||
structures directly from OCaml. It supports both reading and writing to these |
||||
structures, and they are accessed via the `Bigarray` module.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cstruct/releases/download/v5.0.0/cstruct-v5.0.0.tbz" |
||||
checksum: [ |
||||
"sha256=eb8a4e4438ca4ab59e9d98ca70177edd8b590136fe7a200fe8e5bf69051e80fc" |
||||
"sha512=414c2c780200252b5ebf16dd4fd1db28ffa483dba5be1c0092e08327d1d870f688c6f671892dcd8bbcf579f56e3d27b345ec0a96209fb25c0a984825b2e144f5" |
||||
] |
||||
} |
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Hannes Mehnert <hannes@mehnert.org>" |
||||
authors: "Hannes Mehnert <hannes@mehnert.org>" |
||||
license: "ISC" |
||||
homepage: "https://github.com/hannesm/gmap" |
||||
doc: "https://hannesm.github.io/gmap/doc" |
||||
bug-reports: "https://github.com/hannesm/gmap/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.2"} |
||||
"dune" |
||||
"alcotest" {with-test} |
||||
"fmt" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/hannesm/gmap.git" |
||||
synopsis: "Heterogenous maps over a GADT" |
||||
description: """ |
||||
Gmap exposes the functor `Make` which takes a key type (a |
||||
[GADT](https://en.wikipedia.org/wiki/Generalized_algebraic_data_type) 'a key) |
||||
and outputs a type-safe Map where each 'a key is associated with a 'a value. |
||||
This removes the need for additional packing. It uses OCaml's stdlib |
||||
[Map](http://caml.inria.fr/pub/docs/manual-ocaml/libref/Map.html) data |
||||
structure. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/hannesm/gmap/releases/download/0.3.0/gmap-0.3.0.tbz" |
||||
checksum: [ |
||||
"sha256=04dd9e6226ac8f8fb4ccb6021048702e34a482fb9c1d240d3852829529507c1c" |
||||
"sha512=71616981f5a15d6b2a47e18702083e52e81f6547076085b1489f676f50b0cc47c7c2c4fa19cb581e2878dc3d4f7133d0c50d8b51a8390be0e6e30318907d81d3" |
||||
] |
||||
} |
@ -1,33 +0,0 @@
@@ -1,33 +0,0 @@
|
||||
opam-version: "2.0" |
||||
|
||||
synopsis: "OpenSSL binding with concurrent I/O" |
||||
|
||||
version: "1.1.3" |
||||
license: "LGPL with OpenSSL linking exception" |
||||
homepage: "https://github.com/ocsigen/lwt_ssl" |
||||
doc: "https://github.com/ocsigen/lwt_ssl/blob/master/src/lwt_ssl.mli" |
||||
bug-reports: "https://github.com/ocsigen/lwt_ssl/issues" |
||||
|
||||
authors: [ |
||||
"Jérôme Vouillon" |
||||
"Jérémie Dimino" |
||||
] |
||||
maintainer: "Anton Bachin <antonbachin@yahoo.com>" |
||||
dev-repo: "git+https://github.com/ocsigen/lwt_ssl.git" |
||||
|
||||
depends: [ |
||||
"base-unix" |
||||
"dune" |
||||
"lwt" {>= "3.0.0"} |
||||
"ocaml" |
||||
"ssl" {>= "0.5.0"} |
||||
] |
||||
|
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
|
||||
url { |
||||
src: "https://github.com/ocsigen/lwt_ssl/archive/1.1.3.tar.gz" |
||||
checksum: "md5=b18414b2ef71ededa07666dfc467f10a" |
||||
} |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "mirageos-devel@lists.xenproject.org" |
||||
authors: ["mirageos-devel@lists.xenproject.org"] |
||||
homepage: "https://mirage.io" |
||||
license: "BSD-2-Clause" |
||||
conflicts: [ "mirage-solo5" ] |
||||
synopsis: "Virtual package conflicting with mirage-solo5" |
||||
depends: ["ocaml"] |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "mirageos-devel@lists.xenproject.org" |
||||
authors: ["mirageos-devel@lists.xenproject.org"] |
||||
homepage: "https://mirage.io" |
||||
license: "BSD-2-Clause" |
||||
conflicts: [ "mirage-xen" ] |
||||
synopsis: "Virtual package conflicting with mirage-xen" |
||||
depends: ["ocaml"] |
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
From 6f97531287a3e3ee749f2277248af28bdc85b8e4 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Scherer <gabriel.scherer@gmail.com>
|
||||
Date: Mon, 26 Mar 2018 16:09:16 +0200
|
||||
Subject: [PATCH 1/4] add missing runtime dependencies in _tags
|
||||
|
||||
Binaries in <bench/*>, <tests/*> depend on ppx_sexp_conv's runtime
|
||||
library within ppx_sexp_conv.
|
||||
|
||||
The packed modules <src/nocrypto.cm{x,o}> also depend on the package
|
||||
ppx_sexp_conv: its presence at pack-creation time influences the
|
||||
generated .cmi interface, see
|
||||
|
||||
https://github.com/ocaml/opam-repository/pull/11628#issuecomment-375697444
|
||||
|
||||
Note: the package ppx_sexp_conv.runtime-lib would suffice, but it is
|
||||
only available as such under recent ppx_sexp_conv versions, so its
|
||||
explicit use would make the build description (needlessly)
|
||||
incompatible with older ppx_sexp_conv versions.
|
||||
---
|
||||
_tags | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/_tags b/_tags
|
||||
index 6d4e7de..c2a6610 100644
|
||||
--- a/_tags
|
||||
+++ b/_tags
|
||||
@@ -7,6 +7,7 @@ true: package(bytes), package(cstruct)
|
||||
<src/*.ml{,i}>: package(zarith), package(sexplib), package(ppx_sexp_conv)
|
||||
<src/*.cm{x,o}> and not <src/nocrypto.cmx>: for-pack(Nocrypto)
|
||||
<src/*.cm{,x}a>: link_stubs(src/libnocrypto_stubs)
|
||||
+<src/nocrypto.cm{x,o}>: package(ppx_sexp_conv)
|
||||
|
||||
<unix>: include
|
||||
<unix/*.ml{,i}>: package(unix), package(bytes)
|
||||
@@ -19,7 +20,7 @@ true: package(bytes), package(cstruct)
|
||||
|
||||
<**/*.c>: ccopt(--std=c99 -Wall -Wextra -O3)
|
||||
|
||||
-<bench/*>: use_nocrypto, package(zarith), package(cstruct.unix)
|
||||
-<tests/*>: use_nocrypto, package(zarith), package(oUnit)
|
||||
+<bench/*>: use_nocrypto, package(zarith), package(ppx_sexp_conv)
|
||||
+<tests/*>: use_nocrypto, package(zarith), package(ppx_sexp_conv), package(oUnit)
|
||||
|
||||
<rondom>: -traverse
|
||||
--
|
||||
2.18.0
|
||||
|
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
From dc799fd2a66c41ca7729201a5d038cd403ca1de6 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Scherer <gabriel.scherer@gmail.com>
|
||||
Date: Tue, 27 Mar 2018 12:00:23 +0200
|
||||
Subject: [PATCH 2/4] add ppx_sexp_conv as a runtime dependency in the
|
||||
packaging metadata
|
||||
|
||||
---
|
||||
opam | 2 +-
|
||||
pkg/META | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/opam b/opam
|
||||
index ad1dbc7..c35570b 100644
|
||||
--- a/opam
|
||||
+++ b/opam
|
||||
@@ -20,7 +20,7 @@ depends: [
|
||||
"topkg" {build}
|
||||
"cpuid" {build}
|
||||
"ocb-stubblr" {build}
|
||||
- "ppx_sexp_conv" {build}
|
||||
+ "ppx_sexp_conv"
|
||||
"oUnit" {test}
|
||||
"cstruct"
|
||||
"zarith"
|
||||
diff --git a/pkg/META b/pkg/META
|
||||
index 242b2bb..a7929c7 100644
|
||||
--- a/pkg/META
|
||||
+++ b/pkg/META
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "0.5.4"
|
||||
description = "Simple crypto for the modern age"
|
||||
-requires = "cstruct zarith sexplib"
|
||||
+requires = "cstruct zarith sexplib ppx_sexp_conv"
|
||||
archive(byte) = "nocrypto.cma"
|
||||
archive(native) = "nocrypto.cmxa"
|
||||
plugin(byte) = "nocrypto.cma"
|
||||
--
|
||||
2.18.0
|
||||
|
@ -0,0 +1,146 @@
@@ -0,0 +1,146 @@
|
||||
From ad9278021a65d423e30765e58110848adda4b13e Mon Sep 17 00:00:00 2001
|
||||
From: Jeremie Dimino <jeremie@dimino.org>
|
||||
Date: Fri, 11 May 2018 15:44:47 +0200
|
||||
Subject: [PATCH 3/4] Auto-detect ppx_sexp_conv runtime library
|
||||
|
||||
---
|
||||
myocamlbuild.ml | 25 ++++++++++++++++++++++---
|
||||
pkg/META | 43 -------------------------------------------
|
||||
pkg/META.in | 43 +++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 65 insertions(+), 46 deletions(-)
|
||||
delete mode 100644 pkg/META
|
||||
create mode 100644 pkg/META.in
|
||||
|
||||
diff --git a/myocamlbuild.ml b/myocamlbuild.ml
|
||||
index 2752315..7b29635 100644
|
||||
--- a/myocamlbuild.ml
|
||||
+++ b/myocamlbuild.ml
|
||||
@@ -1,5 +1,24 @@
|
||||
open Ocamlbuild_plugin
|
||||
|
||||
-let () = dispatch Ocb_stubblr.(
|
||||
- init & ccopt ~tags:["accelerate"] "-DACCELERATE -msse2 -maes"
|
||||
-)
|
||||
+let runtime_deps_of_ppx ppx =
|
||||
+ (Findlib.query "ppx_sexp_conv").dependencies
|
||||
+ |> List.filter_opt (fun { Findlib.name; _ } ->
|
||||
+ if name = ppx || name = "ppx_deriving" then
|
||||
+ None
|
||||
+ else
|
||||
+ Some name)
|
||||
+
|
||||
+let () = dispatch (fun hook ->
|
||||
+ Ocb_stubblr.(
|
||||
+ init & ccopt ~tags:["accelerate"] "-DACCELERATE -msse2 -maes"
|
||||
+ ) hook;
|
||||
+ match hook with
|
||||
+ | After_rules ->
|
||||
+ let meta = "pkg/META" in
|
||||
+ let meta_in = meta ^ ".in" in
|
||||
+ rule meta ~dep:meta_in ~prod:meta (fun _ _ ->
|
||||
+ let deps = String.concat " " (runtime_deps_of_ppx "ppx_sexp_conv") in
|
||||
+ Echo([String.subst "PPX_SEXP_CONV_RUNTIME" deps
|
||||
+ (Pathname.read meta_in)],
|
||||
+ meta))
|
||||
+ | _ -> ())
|
||||
diff --git a/pkg/META b/pkg/META
|
||||
deleted file mode 100644
|
||||
index a7929c7..0000000
|
||||
--- a/pkg/META
|
||||
+++ /dev/null
|
||||
@@ -1,43 +0,0 @@
|
||||
-version = "0.5.4"
|
||||
-description = "Simple crypto for the modern age"
|
||||
-requires = "cstruct zarith sexplib ppx_sexp_conv"
|
||||
-archive(byte) = "nocrypto.cma"
|
||||
-archive(native) = "nocrypto.cmxa"
|
||||
-plugin(byte) = "nocrypto.cma"
|
||||
-plugin(native) = "nocrypto.cmxs"
|
||||
-xen_linkopts = "-lnocrypto_stubs+mirage-xen"
|
||||
-freestanding_linkopts = "-lnocrypto_stubs+mirage-freestanding"
|
||||
-exists_if = "nocrypto.cma"
|
||||
-
|
||||
-package "unix" (
|
||||
- version = "0.5.4"
|
||||
- description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto unix bytes"
|
||||
- archive(byte) = "nocrypto_unix.cma"
|
||||
- archive(native) = "nocrypto_unix.cmxa"
|
||||
- plugin(byte) = "nocrypto_unix.cma"
|
||||
- plugin(native) = "nocrypto_unix.cmxs"
|
||||
- exists_if = "nocrypto_unix.cma"
|
||||
-)
|
||||
-
|
||||
-package "lwt" (
|
||||
- version = "0.5.4"
|
||||
- description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto nocrypto.unix lwt.unix cstruct.lwt"
|
||||
- archive(byte) = "nocrypto_lwt.cma"
|
||||
- archive(native) = "nocrypto_lwt.cmxa"
|
||||
- plugin(byte) = "nocrypto_lwt.cma"
|
||||
- plugin(native) = "nocrypto_lwt.cmxs"
|
||||
- exists_if = "nocrypto_lwt.cma"
|
||||
-)
|
||||
-
|
||||
-package "mirage" (
|
||||
- version = "0.5.4"
|
||||
- description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto lwt mirage-entropy"
|
||||
- archive(byte) = "nocrypto_mirage.cma"
|
||||
- archive(native) = "nocrypto_mirage.cmxa"
|
||||
- plugin(byte) = "nocrypto_mirage.cma"
|
||||
- plugin(native) = "nocrypto_mirage.cmxs"
|
||||
- exists_if = "nocrypto_mirage.cma"
|
||||
-)
|
||||
diff --git a/pkg/META.in b/pkg/META.in
|
||||
new file mode 100644
|
||||
index 0000000..0b263d7
|
||||
--- /dev/null
|
||||
+++ b/pkg/META.in
|
||||
@@ -0,0 +1,43 @@
|
||||
+version = "0.5.4"
|
||||
+description = "Simple crypto for the modern age"
|
||||
+requires = "cstruct zarith sexplib PPX_SEXP_CONV_RUNTIME"
|
||||
+archive(byte) = "nocrypto.cma"
|
||||
+archive(native) = "nocrypto.cmxa"
|
||||
+plugin(byte) = "nocrypto.cma"
|
||||
+plugin(native) = "nocrypto.cmxs"
|
||||
+xen_linkopts = "-lnocrypto_stubs+mirage-xen"
|
||||
+freestanding_linkopts = "-lnocrypto_stubs+mirage-freestanding"
|
||||
+exists_if = "nocrypto.cma"
|
||||
+
|
||||
+package "unix" (
|
||||
+ version = "0.5.4"
|
||||
+ description = "Simple crypto for the modern age"
|
||||
+ requires = "nocrypto unix bytes"
|
||||
+ archive(byte) = "nocrypto_unix.cma"
|
||||
+ archive(native) = "nocrypto_unix.cmxa"
|
||||
+ plugin(byte) = "nocrypto_unix.cma"
|
||||
+ plugin(native) = "nocrypto_unix.cmxs"
|
||||
+ exists_if = "nocrypto_unix.cma"
|
||||
+)
|
||||
+
|
||||
+package "lwt" (
|
||||
+ version = "0.5.4"
|
||||
+ description = "Simple crypto for the modern age"
|
||||
+ requires = "nocrypto nocrypto.unix lwt.unix cstruct.lwt"
|
||||
+ archive(byte) = "nocrypto_lwt.cma"
|
||||
+ archive(native) = "nocrypto_lwt.cmxa"
|
||||
+ plugin(byte) = "nocrypto_lwt.cma"
|
||||
+ plugin(native) = "nocrypto_lwt.cmxs"
|
||||
+ exists_if = "nocrypto_lwt.cma"
|
||||
+)
|
||||
+
|
||||
+package "mirage" (
|
||||
+ version = "0.5.4"
|
||||
+ description = "Simple crypto for the modern age"
|
||||
+ requires = "nocrypto lwt mirage-entropy"
|
||||
+ archive(byte) = "nocrypto_mirage.cma"
|
||||
+ archive(native) = "nocrypto_mirage.cmxa"
|
||||
+ plugin(byte) = "nocrypto_mirage.cma"
|
||||
+ plugin(native) = "nocrypto_mirage.cmxs"
|
||||
+ exists_if = "nocrypto_mirage.cma"
|
||||
+)
|
||||
--
|
||||
2.18.0
|
||||
|
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
From 063b3496340fe4c3544b532ec0d27797b7917bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Scherer <gabriel.scherer@gmail.com>
|
||||
Date: Mon, 26 Mar 2018 16:07:45 +0200
|
||||
Subject: [PATCH 4/4] pack+package: workaround ocamlbuild#272
|
||||
|
||||
ocamlbuild should pass -package(...) flags to ocamlfind when building
|
||||
a -pack-ed file, see
|
||||
|
||||
https://github.com/ocaml/opam-repository/pull/11628#issuecomment-375697444
|
||||
---
|
||||
myocamlbuild.ml | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/myocamlbuild.ml b/myocamlbuild.ml
|
||||
index 7b29635..7a5cdb6 100644
|
||||
--- a/myocamlbuild.ml
|
||||
+++ b/myocamlbuild.ml
|
||||
@@ -8,9 +8,17 @@ let runtime_deps_of_ppx ppx =
|
||||
else
|
||||
Some name)
|
||||
|
||||
+let ocamlfind_and_pack = function
|
||||
+ | After_rules ->
|
||||
+ if !Options.use_ocamlfind then
|
||||
+ pflag ["ocaml"; "pack"] "package"
|
||||
+ (fun pkg -> S [A "-package"; A pkg]);
|
||||
+ | _ -> ()
|
||||
+
|
||||
let () = dispatch (fun hook ->
|
||||
Ocb_stubblr.(
|
||||
init & ccopt ~tags:["accelerate"] "-DACCELERATE -msse2 -maes"
|
||||
+ & ocamlfind_and_pack
|
||||
) hook;
|
||||
match hook with
|
||||
| After_rules ->
|
||||
--
|
||||
2.18.0
|
||||
|
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
From 063b3496340fe4c3544b532ec0d27797b7917bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Anil Madhavapeddy <anil@recoil.org>
|
||||
Date: Tue, 12 Mar 2019 09:07:13 +0000
|
||||
Subject: [PATCH 5/5] use modern cstruct findlib
|
||||
|
||||
see https://discuss.ocaml.org/t/psa-cstruct-3-4-0-removes-old-ocamlfind-subpackage-aliases/3275
|
||||
|
||||
--- a/_tags.orig 2019-03-12 09:03:58.000000000 +0000
|
||||
+++ b/_tags 2019-03-12 09:04:12.000000000 +0000
|
||||
@@ -13,7 +13,7 @@
|
||||
<unix/*.ml{,i}>: package(unix), package(bytes)
|
||||
|
||||
<lwt>: include
|
||||
-<lwt/*.ml{,i}>: package(lwt.unix), package(cstruct.lwt)
|
||||
+<lwt/*.ml{,i}>: package(lwt.unix), package(cstruct-lwt)
|
||||
|
||||
<mirage>: include
|
||||
<mirage/*.ml{,i}>: package(lwt), package(mirage-entropy)
|
||||
--- a/pkg/META.in.orig 2019-03-12 09:03:19.000000000 +0000
|
||||
+++ b/pkg/META.in 2019-03-12 09:03:33.000000000 +0000
|
||||
@@ -23,7 +23,7 @@
|
||||
package "lwt" (
|
||||
version = "0.5.4"
|
||||
description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto nocrypto.unix lwt.unix cstruct.lwt"
|
||||
+ requires = "nocrypto nocrypto.unix lwt.unix cstruct-lwt"
|
||||
archive(byte) = "nocrypto_lwt.cma"
|
||||
archive(native) = "nocrypto_lwt.cmxa"
|
||||
plugin(byte) = "nocrypto_lwt.cma"
|
||||
--
|
||||
2.18.0
|
||||
|
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
From 063b3496340fe4c3544b532ec0d27797b7917bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Anil Madhavapeddy <anil@recoil.org>
|
||||
Date: Tue, 26 Mar 2019 20:07:13 +0000
|
||||
Subject: [PATCH 6/6] explicitly depend on sexplib
|
||||
|
||||
Need to explicitly depend on sexplib rather than hope
|
||||
it is a transitive dependency of cstruct. This lets
|
||||
cstruct.4.0.0 work which makes sexplib optional.
|
||||
|
||||
--- a/_tags.orig 2019-03-26 20:33:33.000000000 +0000
|
||||
+++ b/_tags 2019-03-26 20:33:42.000000000 +0000
|
||||
@@ -1,7 +1,7 @@
|
||||
true: color(always)
|
||||
true: bin_annot, safe_string
|
||||
true: warn(A-4-29-33-40-41-42-43-34-44-48)
|
||||
-true: package(bytes), package(cstruct)
|
||||
+true: package(bytes), package(sexplib), package(cstruct)
|
||||
|
||||
<src>: include
|
||||
<src/*.ml{,i}>: package(zarith), package(sexplib), package(ppx_sexp_conv)
|
||||
|
||||
--
|
||||
2.18.0
|
||||
|
@ -0,0 +1,58 @@
@@ -0,0 +1,58 @@
|
||||
From: Hannes Mehnert <hannes@mehnert.org>
|
||||
Subject: [PATCH 1/1] compile mirage-entropy sublibrary if mirage-entropy is installed
|
||||
|
||||
Previously the compilation depended on mirage-xen or ocaml-freestanding being
|
||||
present, but _tags show the dependency is actually mirage-entropy.
|
||||
|
||||
--- a/opam 2019-11-02 13:38:17.202429000 +0100
|
||||
+++ b/opam 2019-11-02 13:39:19.173535000 +0100
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
build: ["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false"
|
||||
"--with-lwt" "%{lwt:installed}%"
|
||||
+ "--with-mirage" "%{mirage-entropy:installed}%"
|
||||
"--xen" "%{mirage-xen:installed}%"
|
||||
"--freestanding" "%{ocaml-freestanding:installed}%"]
|
||||
|
||||
@@ -26,11 +27,11 @@
|
||||
"cstruct"
|
||||
"zarith"
|
||||
"sexplib"
|
||||
- ("mirage-no-xen" | ("mirage-xen" & "mirage-entropy" & "zarith-xen"))
|
||||
- ("mirage-no-solo5" | ("mirage-solo5" & "mirage-entropy" & "zarith-freestanding"))
|
||||
+ ("mirage-no-xen" | ("mirage-xen" & "zarith-xen"))
|
||||
+ ("mirage-no-solo5" | ("mirage-solo5" & "zarith-freestanding"))
|
||||
]
|
||||
|
||||
-depopts: [ "lwt" ]
|
||||
+depopts: [ "lwt" "mirage-entropy" ]
|
||||
conflicts: [
|
||||
"topkg" {<"0.8.0"}
|
||||
"ocb-stubblr" {<"0.1.0"}
|
||||
--- a/pkg/pkg.ml 2017-02-01 00:43:04.000000000 +0100
|
||||
+++ b/pkg/pkg.ml 2019-11-02 13:37:30.295780000 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
let unix = Conf.with_pkg ~default:true "unix"
|
||||
let lwt = Conf.with_pkg ~default:false "lwt"
|
||||
+let mirage_entropy = Conf.with_pkg ~default:false "mirage"
|
||||
let xen = Conf.(key "xen" bool ~absent:false
|
||||
~doc:"Build Mirage/Xen support.")
|
||||
let fs = Conf.(key "freestanding" bool ~absent:false
|
||||
@@ -39,12 +40,14 @@
|
||||
let unix = Conf.value c unix in
|
||||
let lwt = Conf.value c lwt && unix
|
||||
and xen = Conf.value c xen
|
||||
- and fs = Conf.value c fs in
|
||||
+ and fs = Conf.value c fs
|
||||
+ and mirage_entropy = Conf.value c mirage_entropy
|
||||
+ in
|
||||
Ok [ Pkg.clib "src/libnocrypto_stubs.clib";
|
||||
Pkg.mllib "src/nocrypto.mllib";
|
||||
Pkg.mllib ~cond:unix "unix/nocrypto_unix.mllib";
|
||||
Pkg.mllib ~cond:lwt "lwt/nocrypto_lwt.mllib";
|
||||
- Pkg.mllib ~cond:(xen||fs) "mirage/nocrypto_mirage.mllib";
|
||||
+ Pkg.mllib ~cond:mirage_entropy "mirage/nocrypto_mirage.mllib";
|
||||
Pkg.test "tests/testrunner";
|
||||
Pkg.test ~run:false "bench/speed";
|
||||
mirage ~xen ~fs "src/libnocrypto_stubs.clib"; ]
|
@ -0,0 +1,95 @@
@@ -0,0 +1,95 @@
|
||||
opam-version: "2.0" |
||||
homepage: "https://github.com/mirleft/ocaml-nocrypto" |
||||
dev-repo: "git+https://github.com/mirleft/ocaml-nocrypto.git" |
||||
bug-reports: "https://github.com/mirleft/ocaml-nocrypto/issues" |
||||
doc: "https://mirleft.github.io/ocaml-nocrypto/doc" |
||||
authors: ["David Kaloper <david@numm.org>"] |
||||
maintainer: "David Kaloper <david@numm.org>" |
||||
license: "ISC" |
||||
tags: [ "org:mirage" ] |
||||
build: ["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false" |
||||
"--jobs" "1" |
||||
"--with-lwt" "%{lwt:installed}%" |
||||
"--with-mirage" "%{mirage-entropy:installed}%" |
||||
"--xen" "%{mirage-xen:installed}%" |
||||
"--freestanding" "%{mirage-solo5:installed}%"] |
||||
|
||||
depends: [ |
||||
"ocaml" {>= "4.02.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"cpuid" {build} |
||||
"ocb-stubblr" {build} |
||||
"ppx_deriving" |
||||
"ppx_sexp_conv" {>= "113.33.01" & != "v0.11.0" & < "v0.13"} |
||||
"ounit" {with-test} |
||||
"cstruct" {>= "3.0.0"} |
||||
"cstruct-lwt" |
||||
"zarith" |
||||
"lwt" |
||||
"sexplib" {< "v0.13"} |
||||
"mirage-no-xen" | ("mirage-xen" & "zarith-xen") |
||||
"mirage-no-solo5" | ("mirage-solo5" & "zarith-freestanding") |
||||
] |
||||
depopts: [ "mirage-entropy" ] |
||||
conflicts: [ |
||||
"topkg" {<"0.9.1"} |
||||
"ocb-stubblr" {<"0.1.0"} |
||||
"mirage-xen" {<"2.2.0"} |
||||
"sexplib" {="v0.9.0"} |
||||
"ocaml" {= "4.08.0"} |
||||
] |
||||
|
||||
patches: [ |
||||
"0001-add-missing-runtime-dependencies-in-_tags.patch" |
||||
"0002-add-ppx_sexp_conv-as-a-runtime-dependency-in-the-pac.patch" |
||||
"0003-Auto-detect-ppx_sexp_conv-runtime-library.patch" |
||||
"0004-pack-package-workaround-ocamlbuild-272.patch" |
||||
"0005-use-modern-cstruct-findlib.patch" |
||||
"0006-explicit-dependency-on-sexplib.patch" |
||||
"0007-mirage-entropy.patch" |
||||
] |
||||
synopsis: "Simpler crypto" |
||||
description: """ |
||||
nocrypto is a small cryptographic library that puts emphasis on the applicative |
||||
style and ease of use. It includes basic ciphers (AES, 3DES, RC4), hashes (MD5, |
||||
SHA1, SHA2), public-key primitives (RSA, DSA, DH) and a strong RNG (Fortuna). |
||||
|
||||
RSA timing attacks are countered by blinding. AES timing attacks are avoided by |
||||
delegating to AES-NI.""" |
||||
extra-files: [ |
||||
[ |
||||
"0007-mirage-entropy.patch" |
||||
"md5=bb3368e3fd64857a6d05e1a3e61f08cf" |
||||
] |
||||
[ |
||||
"0006-explicit-dependency-on-sexplib.patch" |
||||
"md5=7f552e18ba304eb4e1e19d66d19b7888" |
||||
] |
||||
[ |
||||
"0005-use-modern-cstruct-findlib.patch" |
||||
"md5=4d4aab890f0ca9327d83548c32d64efc" |
||||
] |
||||
[ |
||||
"0004-pack-package-workaround-ocamlbuild-272.patch" |
||||
"md5=94615e4a8d5976e9e75c3b031d3484f1" |
||||
] |
||||
[ |
||||
"0003-Auto-detect-ppx_sexp_conv-runtime-library.patch" |
||||
"md5=871b3f904cf87527b7390993d5598884" |
||||
] |
||||
[ |
||||
"0002-add-ppx_sexp_conv-as-a-runtime-dependency-in-the-pac.patch" |
||||
"md5=06962f4f2f5b4c3f1e39293b3d3528f2" |
||||
] |
||||
[ |
||||
"0001-add-missing-runtime-dependencies-in-_tags.patch" |
||||
"md5=ae679a096e14c0a0ecb881bc7432cc2a" |
||||
] |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/mirleft/ocaml-nocrypto/releases/download/v0.5.4/nocrypto-0.5.4.tbz" |
||||
checksum: "md5=c331a7a4d2a563d1d5ed581aeb849011" |
||||
} |
@ -1,37 +0,0 @@
@@ -1,37 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "frederic.bour@lakaban.net" |
||||
authors: [ |
||||
"Frédéric Bour <frederic.bour@lakaban.net>" |
||||
"Jérémie Dimino <jeremie@dimino.org>" |
||||
] |
||||
license: "LGPL-2.1-only with OCaml-LGPL-linking-exception" |
||||
homepage: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree" |
||||
bug-reports: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/issues" |
||||
dev-repo: "git+https://github.com/ocaml-ppx/ocaml-migrate-parsetree.git" |
||||
doc: "https://ocaml-ppx.github.io/ocaml-migrate-parsetree/" |
||||
tags: [ "syntax" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"result" |
||||
"ppx_derivers" |
||||
"dune" {>= "1.9.0"} |
||||
"ocaml" {>= "4.02.3"} |
||||
] |
||||
synopsis: "Convert OCaml parsetrees between different versions" |
||||
description: """ |
||||
Convert OCaml parsetrees between different versions |
||||
|
||||
This library converts parsetrees, outcometree and ast mappers between |
||||
different OCaml versions. High-level functions help making PPX |
||||
rewriters independent of a compiler version. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.4.0/ocaml-migrate-parsetree-v1.4.0.tbz" |
||||
checksum: [ |
||||
"sha256=231fbdc205187b3ee266b535d9cfe44b599067b2f6e97883c782ea7bb577d3b8" |
||||
"sha512=61ee91d2d146cc2d2ff2d5dc4ef5dea4dc4d3c8dbd8b4c9586d64b6ad7302327ab35547aa0a5b0103c3f07b66b13d416a1bee6d4d117293cd3cabe44113ec6d4" |
||||
] |
||||
} |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
From d51b3f3a49f159469e00d23524db915f19bb0127 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Mehnert <hannes@mehnert.org>
|
||||
Date: Tue, 3 Oct 2017 13:55:16 +0100
|
||||
Subject: [PATCH] bytecode / custom needs -cclib as well
|
||||
|
||||
---
|
||||
src/ocb_stubblr.ml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ocb_stubblr.ml b/src/ocb_stubblr.ml
|
||||
index b68c37a..a0ee035 100644
|
||||
--- a/src/ocb_stubblr.ml
|
||||
+++ b/src/ocb_stubblr.ml
|
||||
@@ -160,7 +160,7 @@ let link_flag () =
|
||||
S [A switch; A ("-l"^name)]
|
||||
and dep flag = Pathname.([remove_extension flag -.- "a"]) in
|
||||
pflag ["link"; "ocaml"; "library"; "byte"] tag (libarg "-dllib");
|
||||
- pflag ["link"; "ocaml"; "library"; "native"] tag (libarg "-cclib");
|
||||
+ pflag ["link"; "ocaml"; "library"] tag (libarg "-cclib");
|
||||
pdep ["link"; "ocaml"] tag dep;
|
||||
pdep ["compile"; "ocaml"] tag dep
|
||||
(* XXX sneak in '-I' for compile;ocaml;program ?? *)
|
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
From f1c9340f3ab973ad1e8dcc4b7065bbe6cfaa028f Mon Sep 17 00:00:00 2001
|
||||
From: David Allsopp <david.allsopp@metastack.com>
|
||||
Date: Sun, 1 Jul 2018 09:54:32 +0100
|
||||
Subject: [PATCH] Use OPAM_SWITCH_PREFIX before opam config var prefix
|
||||
|
||||
opam 2's sandbox doesn't expose the mount point for the opam root.
|
||||
|
||||
Signed-off-by: David Allsopp <david.allsopp@metastack.com>
|
||||
---
|
||||
src/ocb_stubblr.ml | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ocb_stubblr.ml b/src/ocb_stubblr.ml
|
||||
index b68c37a..2cc5332 100644
|
||||
--- a/src/ocb_stubblr.ml
|
||||
+++ b/src/ocb_stubblr.ml
|
||||
@@ -31,11 +31,15 @@ module Pkg_config = struct
|
||||
|
||||
(* XXX Would be nice to move pkg-config results to a build artefact. *)
|
||||
|
||||
- let opam_prefix =
|
||||
+ let opam_prefix_cmd =
|
||||
let cmd = "opam config var prefix" in
|
||||
lazy ( try run_and_read cmd with Failure _ ->
|
||||
error_msgf "error running opam")
|
||||
|
||||
+ let opam_prefix =
|
||||
+ lazy (try Sys.getenv "OPAM_SWITCH_PREFIX"
|
||||
+ with Not_found -> Lazy.force opam_prefix_cmd)
|
||||
+
|
||||
let var = "PKG_CONFIG_PATH"
|
||||
|
||||
let path () =
|
@ -0,0 +1,56 @@
@@ -0,0 +1,56 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "David Kaloper Meršinjak <david@numm.org>" |
||||
authors: ["David Kaloper Meršinjak <david@numm.org>"] |
||||
homepage: "https://github.com/pqwy/ocb-stubblr" |
||||
doc: "https://pqwy.github.io/ocb-stubblr/doc" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/pqwy/ocb-stubblr.git" |
||||
bug-reports: "https://github.com/pqwy/ocb-stubblr/issues" |
||||
tags: ["ocamlbuild"] |
||||
depends: [ |
||||
"ocaml" {>= "4.01.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {>= "0.9.3" | < "0.9.0"} |
||||
"topkg" {>= "0.8.1"} |
||||
"astring" |
||||
] |
||||
build: [ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false" ] |
||||
|
||||
patches: [ |
||||
"custom-cclib.patch" |
||||
"use-OPAM_SWITCH_PREFIX.patch" |
||||
] |
||||
|
||||
synopsis: "OCamlbuild plugin for C stubs" |
||||
description: """ |
||||
Do you get excited by C stubs? Do they sometimes make you swoon, and even faint, |
||||
and in the end no `cmxa`s get properly linked -- not to mention correct |
||||
multi-lib support? |
||||
|
||||
Do you wish that the things that excite you the most, would excite you just a |
||||
little less? Then ocb-stubblr is just the library for you. |
||||
|
||||
ocb-stubblr is about ten lines of code that you need to repeat over, over, over |
||||
and over again if you are using `ocamlbuild` to build OCaml projects that |
||||
contain C stubs -- now with 100% more lib! |
||||
|
||||
It does what everyone wants to do with `.clib` files in their project |
||||
directories. It can also clone the `.clib` and arrange for multiple compilations |
||||
with different sets of discovered `cflags`. |
||||
|
||||
ocb-stubblr is distributed under the ISC license.""" |
||||
url { |
||||
src: |
||||
"https://github.com/pqwy/ocb-stubblr/releases/download/v0.1.1/ocb-stubblr-0.1.1.tbz" |
||||
checksum: "md5=607720dd18ca51e40645b42df5c1273e" |
||||
} |
||||
extra-files: [ |
||||
[ |
||||
"custom-cclib.patch" |
||||
"md5=d479b52a50d53dd79da2d6eea2a9a9e3" |
||||
] |
||||
[ |
||||
"use-OPAM_SWITCH_PREFIX.patch" |
||||
"md5=a7271bb1f862bd3da4ffd9caa87ca76f" |
||||
] |
||||
] |
@ -0,0 +1,42 @@
@@ -0,0 +1,42 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" |
||||
"Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" |
||||
"Mindy Preston" "Thomas Leonard" "Etienne Millon" ] |
||||
homepage: "https://github.com/mirage/ocaml-cstruct" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" |
||||
bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" |
||||
doc: "https://mirage.github.io/ocaml-cstruct/" |
||||
|
||||
tags: [ "org:mirage" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test & ocaml:version < "4.08.0"} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {>= "1.0"} |
||||
"cstruct" {=version} |
||||
"ounit" {with-test} |
||||
"ppx_tools_versioned" {>= "5.0.1"} |
||||
"ocaml-migrate-parsetree" |
||||
"ppx_sexp_conv" {with-test & < "v0.13"} |
||||
"sexplib" {< "v0.13"} |
||||
"cstruct-sexp" {with-test} |
||||
"cstruct-unix" {with-test & =version} |
||||
] |
||||
synopsis: "Access C-like structures directly from OCaml" |
||||
description: """ |
||||
Cstruct is a library and syntax extension to make it easier to access C-like |
||||
structures directly from OCaml. It supports both reading and writing to these |
||||
structures, and they are accessed via the `Bigarray` module.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cstruct/releases/download/v5.0.0/cstruct-v5.0.0.tbz" |
||||
checksum: [ |
||||
"sha256=eb8a4e4438ca4ab59e9d98ca70177edd8b590136fe7a200fe8e5bf69051e80fc" |
||||
"sha512=414c2c780200252b5ebf16dd4fd1db28ffa483dba5be1c0092e08327d1d870f688c6f671892dcd8bbcf579f56e3d27b345ec0a96209fb25c0a984825b2e144f5" |
||||
] |
||||
} |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"] |
||||
homepage: "http://erratique.ch/software/rresult" |
||||
doc: "http://erratique.ch/software/rresult" |
||||
dev-repo: "git+http://erratique.ch/repos/rresult.git" |
||||
bug-reports: "https://github.com/dbuenzli/rresult/issues" |
||||
tags: [ "result" "error" "declarative" "org:erratique" ] |
||||
license: "ISC" |
||||
depends: [ |
||||
"ocaml" {>= "4.01.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"result" |
||||
] |
||||
build:[[ |
||||
"ocaml" "pkg/pkg.ml" "build" |
||||
"--pinned" "%{pinned}%" ]] |
||||
|
||||
synopsis: """Result value combinators for OCaml""" |
||||
description: """\ |
||||
|
||||
Rresult is an OCaml module for handling computation results and errors |
||||
in an explicit and declarative manner, without resorting to |
||||
exceptions. It defines combinators to operate on the `result` type |
||||
available from OCaml 4.03 in the standard library. |
||||
|
||||
Rresult depends on the compatibility `result` package and is |
||||
distributed under the ISC license. |
||||
""" |
||||
url { |
||||
archive: "http://erratique.ch/software/rresult/releases/rresult-0.6.0.tbz" |
||||
checksum: "aba88cffa29081714468c2c7bcdf7fb1" |
||||
} |
@ -1,23 +0,0 @@
@@ -1,23 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "simon.cruanes.2007@m4x.org" |
||||
authors: "Simon Cruanes" |
||||
homepage: "https://github.com/c-cube/seq/" |
||||
bug-reports: "https://github.com/c-cube/seq/issues" |
||||
license: "GPL-1.0-or-later" |
||||
tags: ["iterator" "seq" "pure" "list" "compatibility" "cascade"] |
||||
dev-repo: "git+https://github.com/c-cube/seq.git" |
||||
build: [make "build"] |
||||
install: [make "install"] |
||||
remove: [ "ocamlfind" "remove" "seq" ] |
||||
depends: [ |
||||
"ocaml" {< "4.07.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
] |
||||
synopsis: |
||||
"Compatibility package for OCaml's standard iterator type starting from 4.07." |
||||
flags: light-uninstall |
||||
url { |
||||
src: "https://github.com/c-cube/seq/archive/0.1.tar.gz" |
||||
checksum: "md5=0e87f9709541ed46ecb6f414bc31458c" |
||||
} |
@ -1,23 +1,22 @@
@@ -1,23 +1,22 @@
|
||||
opam-version: "2.0" |
||||
synopsis: |
||||
"Compatibility package for OCaml's standard iterator type starting from 4.07" |
||||
maintainer: "simon.cruanes.2007@m4x.org" |
||||
authors: "Simon Cruanes" |
||||
license: "LGPL2.1" |
||||
tags: ["iterator" "seq" "pure" "list" "compatibility" "cascade"] |
||||
homepage: "https://github.com/c-cube/seq/" |
||||
bug-reports: "https://github.com/c-cube/seq/issues" |
||||
license: "GPL" |
||||
tags: ["iterator" "seq" "pure" "list" "compatibility" "cascade"] |
||||
dev-repo: "git+https://github.com/c-cube/seq.git" |
||||
build: [make "build"] |
||||
install: [make "install"] |
||||
remove: [ "ocamlfind" "remove" "seq" ] |
||||
depends: [ |
||||
"dune" {>= "1.1.0"} |
||||
"ocaml" {< "4.07.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
] |
||||
synopsis: |
||||
"Compatibility package for OCaml's standard iterator type starting from 4.07." |
||||
flags: light-uninstall |
||||
build: ["dune" "build" "-p" name "-j" jobs] |
||||
dev-repo: "git+https://github.com/c-cube/seq.git" |
||||
url { |
||||
src: "https://github.com/c-cube/seq/archive/0.1.tar.gz" |
||||
checksum: "md5=0e87f9709541ed46ecb6f414bc31458c" |
||||
} |
||||
src: "https://github.com/c-cube/seq/archive/0.2.tar.gz" |
||||
checksum: [ |
||||
"md5=1d5a9d0aba27b22433f518cdc495d0fd" |
||||
"sha512=b2571225a18e624b79dad5e1aab91b22e2fda17702f2e23c438b75d2a71e24c55ee8672005f5cc4b17ae79e3b277b1918b71b5d0d674b8b12ea19b3fb2d747cb" |
||||
] |
||||
} |
@ -1,25 +0,0 @@
@@ -1,25 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Samuel Mimram <samuel.mimram@ens-lyon.org>" |
||||
homepage: "https://github.com/savonet/ocaml-ssl" |
||||
dev-repo: "git+https://github.com/savonet/ocaml-ssl.git" |
||||
bug-reports: "https://github.com/savonet/ocaml-ssl/issues" |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.02.0"} |
||||
"dune" {>= "1.2.1"} |
||||
"dune-configurator" |
||||
"base-unix" |
||||
"conf-openssl" |
||||
] |
||||
synopsis: "Bindings for OpenSSL" |
||||
authors: "Samuel Mimram <samuel.mimram@ens-lyon.org>" |
||||
url { |
||||
src: "https://github.com/savonet/ocaml-ssl/archive/0.5.9.tar.gz" |
||||
checksum: [ |
||||
"md5=09265ae2dee5ac48507ccb8a81244a15" |
||||
"sha512=6826e5a6ab9f51013e8d097900f443d091e085e3d2d232a315a0e3a90ca334c9b9779d20dcae267f9ed961bc4a08fcb80372e669389c59a22d5c7706d37fcd5f" |
||||
] |
||||
} |
@ -0,0 +1,76 @@
@@ -0,0 +1,76 @@
|
||||
opam-version: "2.0" |
||||
name: "tls" |
||||
homepage: "https://github.com/mirleft/ocaml-tls" |
||||
dev-repo: "git+https://github.com/mirleft/ocaml-tls.git" |
||||
bug-reports: "https://github.com/mirleft/ocaml-tls/issues" |
||||
doc: "https://mirleft.github.io/ocaml-tls/doc" |
||||
author: ["David Kaloper <david@numm.org>" "Hannes Mehnert <hannes@mehnert.org>"] |
||||
maintainer: ["Hannes Mehnert <hannes@mehnert.org>" "David Kaloper <david@numm.org>"] |
||||
license: "BSD2" |
||||
|
||||
build: [ |
||||
[ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false" |
||||
"--with-lwt" "%{lwt+ptime:installed}%" |
||||
"--with-mirage" "%{mirage-flow+mirage-kv+mirage-clock+ptime:installed}%" ] |
||||
["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "true" |
||||
"--with-lwt" "%{lwt+ptime:installed}%" |
||||
"--with-mirage" "%{mirage-flow+mirage-kv+mirage-clock+ptime:installed}%" ] {with-test} |
||||
["ocaml" "pkg/pkg.ml" "test"] {with-test} |
||||
] |
||||
|
||||
depends: [ |
||||
"ocaml" {>= "4.04.2"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"ppx_sexp_conv" {< "v0.13"} |
||||
"ppx_deriving" |
||||
"ppx_cstruct" {>= "3.0.0"} |
||||
"cstruct" {>= "4.0.0"} |
||||
"cstruct-sexp" |
||||
"sexplib" {< "v0.13"} |
||||
"nocrypto" {>= "0.5.4"} |
||||
"x509" {>= "0.7.0"} |
||||
"domain-name" {>= "0.3.0"} |
||||
"fmt" |
||||
"cstruct-unix" {with-test & >= "3.0.0"} |
||||
"ounit" {with-test} |
||||
] |
||||
depopts: [ |
||||
"lwt" |
||||
"mirage-flow" |
||||
"mirage-kv" |
||||
"mirage-clock" |
||||
"ptime" |
||||
] |
||||
conflicts: [ |
||||
"lwt" {<"2.4.8"} |
||||
"mirage-kv" {<"3.0.0"} |
||||
"mirage-flow" {<"2.0.0"} |
||||
"mirage-clock" {<"3.0.0"} |
||||
"sexplib" {= "v0.9.0"} |
||||
"ppx_sexp_conv" {= "v0.11.0"} |
||||
"ptime" {< "0.8.1"} |
||||
] |
||||
|
||||
tags: [ "org:mirage"] |
||||
synopsis: "Transport Layer Security purely in OCaml" |
||||
description: """\ |
||||
|
||||
Transport Layer Security (TLS) is probably the most widely deployed security |
||||
protocol on the Internet. It provides communication privacy to prevent |
||||
eavesdropping, tampering, and message forgery. Furthermore, it optionally |
||||
provides authentication of the involved endpoints. TLS is commonly deployed for |
||||
securing web services ([HTTPS](http://tools.ietf.org/html/rfc2818)), emails, |
||||
virtual private networks, and wireless networks. |
||||
|
||||
TLS uses asymmetric cryptography to exchange a symmetric key, and optionally |
||||
authenticate (using X.509) either or both endpoints. It provides algorithmic |
||||
agility, which means that the key exchange method, symmetric encryption |
||||
algorithm, and hash algorithm are negotiated. |
||||
|
||||
Read [further](https://nqsb.io) and our [Usenix Security 2015 paper](https://usenix15.nqsb.io).""" |
||||
url { |
||||
archive: "https://github.com/mirleft/ocaml-tls/releases/download/v0.10.5/tls-0.10.5.tbz" |
||||
checksum: "57d9477ea79080e9d2485007289cbc5f" |
||||
} |
@ -0,0 +1,51 @@
@@ -0,0 +1,51 @@
|
||||
opam-version: "2.0" |
||||
maintainer: [ |
||||
"Hannes Mehnert <hannes@mehnert.org>" |
||||
] |
||||
authors: [ |
||||
"Hannes Mehnert <hannes@mehnert.org>" |
||||
"David Kaloper <dk505@cam.ac.uk>" |
||||
] |
||||
license: "BSD2" |
||||
tags: "org:mirage" |
||||
homepage: "https://github.com/mirleft/ocaml-x509" |
||||
doc: "https://mirleft.github.io/ocaml-x509/doc" |
||||
bug-reports: "https://github.com/mirleft/ocaml-x509/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.05.0"} |
||||
"dune" {>= "1.2"} |
||||
"cstruct" {>= "4.0.0"} |
||||
"asn1-combinators" {>= "0.2.0"} |
||||
"ptime" |
||||
"nocrypto" {>= "0.5.3"} |
||||
"rresult" |
||||
"fmt" {>= "0.8.7"} |
||||
"alcotest" {with-test} |
||||
"cstruct-unix" {with-test & >= "3.0.0"} |
||||
"gmap" {>= "0.3.0"} |
||||
"domain-name" {>= "0.3.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirleft/ocaml-x509.git" |
||||
synopsis: "Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml" |
||||
description: """ |
||||
X.509 is a public key infrastructure used mostly on the Internet. It consists |
||||
of certificates which include public keys and identifiers, signed by an |
||||
authority. Authorities must be exchanged over a second channel to establish the |
||||
trust relationship. This library implements most parts of RFC5280 and RFC6125. |
||||
The Public Key Cryptography Standards (PKCS) defines encoding and decoding |
||||
(in ASN.1 DER and PEM format), which is also implemented by this library - |
||||
namely PKCS 1, PKCS 7, PKCS 8, PKCS 9 and PKCS 10. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirleft/ocaml-x509/releases/download/v0.8.1/x509-v0.8.1.tbz" |
||||
checksum: [ |
||||
"sha256=a586b925fe7e84b1a5833dacf66a920967683cf8aab21d7291a3074630e57880" |
||||
"sha512=e355420d608eb7840a64e0fe673cef459fc377163801ce3cca4f0dfb4b3f294c6d2273442b475aa01b4660362c987e81c363de2de602a1a38ab3b143118b9cf1" |
||||
] |
||||
} |
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Xavier Leroy <xavier.leroy@inria.fr>" |
||||
authors: [ |
||||
"Antoine Miné" |
||||
"Xavier Leroy" |
||||
"Pascal Cuoq" |
||||
] |
||||
homepage: "https://github.com/ocaml/Zarith" |
||||
bug-reports: "https://github.com/ocaml/Zarith/issues" |
||||
dev-repo: "git+https://github.com/ocaml/Zarith.git" |
||||
build: [ |
||||
["./configure"] {os != "openbsd" & os != "freebsd" & os != "macos"} |
||||
[ |
||||
"sh" |
||||
"-exc" |
||||
"LDFLAGS=\"$LDFLAGS -L/usr/local/lib\" CFLAGS=\"$CFLAGS -I/usr/local/include\" ./configure" |
||||
] {os = "openbsd" | os = "freebsd"} |
||||
[ |
||||
"sh" |
||||
"-exc" |
||||
"LDFLAGS=\"$LDFLAGS -L/opt/local/lib -L/usr/local/lib\" CFLAGS=\"$CFLAGS -I/opt/local/include -I/usr/local/include\" ./configure" |
||||
] {os = "macos"} |
||||
[make] |
||||
] |
||||
install: [ |
||||
[make "install"] |
||||
] |
||||
depends: [ |
||||
"ocaml" |
||||
"ocamlfind" {build} |
||||
"conf-gmp" |
||||
"conf-perl" {build} |
||||
] |
||||
synopsis: |
||||
"Implements arithmetic and logical operations over arbitrary-precision integers" |
||||
description: """ |
||||
The Zarith library implements arithmetic and logical operations over |
||||
arbitrary-precision integers. It uses GMP to efficiently implement |
||||
arithmetic over big integers. Small integers are represented as Caml |
||||
unboxed integers, for speed and space economy.""" |
||||
url { |
||||
src: "https://github.com/ocaml/Zarith/archive/release-1.9.1.tar.gz" |
||||
checksum: [ |
||||
"md5=af41b7534a4c91a8f774f04e307c1c66" |
||||
"sha512=e77620c66a59d35811acfc45c7ef3f0d50d3042194654b1f5b652a2ed5fb9d5f88e9173222e5ced286c61854434da05a4d96668089faa66ff2917afa677fc32f" |
||||
] |
||||
} |
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
node_modules |
||||
_esy |
||||
*~ |
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
{ |
||||
"name": "esy-gmp", |
||||
"version": "6.1.2001", |
||||
"description": "GMP packaged for esy", |
||||
"source": "https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz#9dc6981197a7d92f339192eea974f5eca48fcffe", |
||||
"override": { |
||||
"buildsInSource": true, |
||||
"build": [ |
||||
"find ./ -exec touch -t 200905010101 {} +", |
||||
"./configure --prefix=#{self.install} #{os == 'windows' ? '--host x86_64-w64-mingw32' : ''} --with-pic", |
||||
"make" |
||||
], |
||||
"install": [ |
||||
"make install" |
||||
], |
||||
"exportedEnv": { |
||||
"LDFLAGS": { |
||||
"scope": "global", |
||||
"val": "-L#{self.lib} -lgmp" |
||||
}, |
||||
"CPPFLAGS": { |
||||
"scope": "global", |
||||
"val": "-I#{self.install / 'include'}" |
||||
}, |
||||
"LD_LIBRARY_PATH": { |
||||
"scope": "global", |
||||
"val": "#{self.lib}:$LD_LIBRARY_PATH" |
||||
}, |
||||
"LIBRARY_PATH": { |
||||
"scope": "global", |
||||
"val": "#{self.lib}:$LIBRARY_PATH" |
||||
}, |
||||
"CPATH": { |
||||
"scope": "global", |
||||
"val": "#{self.install / 'include'}:$CPATH" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
{ |
||||
"name": "esy-gmp-test", |
||||
"description": "For manual testing only", |
||||
"version": "0.1.0", |
||||
"description": "GMP packaged for esy", |
||||
"license": "MIT", |
||||
"esy": { |
||||
"buildsInSource": true, |
||||
"build": [ |
||||
"#{os == 'windows' ? 'x86_64-w64-mingw32-gcc': 'gcc'} $CFLAGS -o testinggmp test.c $LDFLAGS" |
||||
], |
||||
"install": "cp testinggmp #{self.bin}" |
||||
}, |
||||
"dependencies": { |
||||
"gmp": "esy-packages/esy-gmp#e2a8fab86e6ff2b26637b3249ee149d29b3430dd" |
||||
} |
||||
} |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
#include <gmp.h> |
||||
#include <stdlib.h> |
||||
#include <stdio.h> |
||||
|
||||
int main() { |
||||
mpz_t i, j, k; |
||||
mpz_init_set_str (i, "1a", 16); |
||||
mpz_init (j); |
||||
mpz_init (k); |
||||
mpz_sqrtrem (j, k, i); |
||||
if (mpz_get_si (j) != 5 || mpz_get_si (k) != 1) abort(); |
||||
printf("%s\n", "Works as expected"); |
||||
return 0; |
||||
} |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
{ |
||||
"build": [ |
||||
[ |
||||
"#{os == 'windows' ? 'x86_64-w64-mingw32-gcc' : 'cc'}", |
||||
"-c", |
||||
"${CFLAGS:--g}", |
||||
"$CPPFLAGS", |
||||
"$LDFLAGS", |
||||
"test.c" |
||||
] |
||||
], |
||||
"dependencies": { |
||||
"esy-gmp": "esy-packages/esy-gmp#a945c56e10e02bde2d2c76f5debd13bcc461abbc" |
||||
} |
||||
} |
@ -1,11 +0,0 @@
@@ -1,11 +0,0 @@
|
||||
{ |
||||
"build": [ |
||||
[ |
||||
"pkg-config", |
||||
"--help" |
||||
] |
||||
], |
||||
"dependencies": { |
||||
"yarn-pkg-config": "esy-ocaml/yarn-pkg-config#cca65f99674ed2d954d28788edeb8c57fada5ed0" |
||||
} |
||||
} |
@ -1,19 +0,0 @@
@@ -1,19 +0,0 @@
|
||||
{ |
||||
"build": [ |
||||
[ |
||||
"make" |
||||
] |
||||
], |
||||
"install": [ |
||||
[ |
||||
"make", |
||||
"findlib-install" |
||||
] |
||||
], |
||||
"exportedEnv": { |
||||
"CAML_LD_LIBRARY_PATH": { |
||||
"val": "#{self.install / 'lib' / 'num' : $CAML_LD_LIBRARY_PATH}", |
||||
"scope": "global" |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,58 @@
@@ -0,0 +1,58 @@
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 8ad0e2c..d41d63c 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -1,16 +1,16 @@
|
||||
-OCAMLC=ocamlc
|
||||
-OCAMLOPT=ocamlopt
|
||||
-OCAMLDEP=ocamldep
|
||||
-OCAMLMKLIB=ocamlmklib
|
||||
-OCAMLFIND=ocamlfind
|
||||
+OCAMLC=$(shell which ocamlc)
|
||||
+OCAMLOPT=$(shell which ocamlopt)
|
||||
+OCAMLDEP=$(shell which ocamldep)
|
||||
+OCAMLMKLIB=$(shell which ocamlmklib)
|
||||
+OCAMLFIND=$(shell which ocamlfind)
|
||||
INSTALL_DATA=install -m 644
|
||||
INSTALL_DLL=install
|
||||
INSTALL_DIR=install -d
|
||||
STDLIBDIR=$(shell $(OCAMLC) -where)
|
||||
DESTDIR ?=
|
||||
|
||||
-include $(STDLIBDIR)/Makefile.config
|
||||
|
||||
+include $(STDLIBDIR)/Makefile.config
|
||||
ifeq "$(filter i386 amd64 arm64 power,$(ARCH))" ""
|
||||
# Unsupported architecture
|
||||
BNG_ARCH=generic
|
||||
@@ -86,14 +86,14 @@ endif
|
||||
VERSION=$(shell sed -ne 's/^ *version *: *"\([^"]*\)".*$$/\1/p' ../num.opam)
|
||||
|
||||
install:
|
||||
- $(INSTALL_DIR) $(DESTDIR)$(STDLIBDIR)
|
||||
+ $(INSTALL_DIR) $(LIBDIR)
|
||||
sed -e 's/%%VERSION%%/$(VERSION)/g' META.in > META
|
||||
$(OCAMLFIND) install num META
|
||||
rm -f META
|
||||
- $(INSTALL_DATA) $(TOINSTALL) $(DESTDIR)$(STDLIBDIR)
|
||||
+ $(INSTALL_DATA) $(TOINSTALL) $(LIBDIR)
|
||||
ifeq "$(SUPPORTS_SHARED_LIBRARIES)" "true"
|
||||
- $(INSTALL_DIR) $(DESTDIR)$(STDLIBDIR)/stublibs
|
||||
- $(INSTALL_DLL) $(TOINSTALL_STUBS) $(DESTDIR)$(STDLIBDIR)/stublibs
|
||||
+ $(INSTALL_DIR) $(LIBDIR)/stublibs
|
||||
+ $(INSTALL_DLL) $(TOINSTALL_STUBS) $(LIBDIR)/stublibs
|
||||
endif
|
||||
|
||||
findlib-install:
|
||||
@@ -105,9 +105,9 @@ findlib-uninstall:
|
||||
$(OCAMLFIND) remove num
|
||||
|
||||
uninstall: findlib-uninstall
|
||||
- cd $(DESTDIR)$(STDLIBDIR) && rm -f $(TOINSTALL)
|
||||
+ cd $(LIBDIR) && rm -f $(TOINSTALL)
|
||||
ifeq "$(SUPPORTS_SHARED_LIBRARIES)" "true"
|
||||
- cd $(DESTDIR)$(STDLIBDIR)/stublibs && rm -f $(TOINSTALL_STUBS)
|
||||
+ cd $(LIBDIR)/stublibs && rm -f $(TOINSTALL_STUBS)
|
||||
endif
|
||||
|
||||
clean:
|
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
From d51b3f3a49f159469e00d23524db915f19bb0127 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Mehnert <hannes@mehnert.org>
|
||||
Date: Tue, 3 Oct 2017 13:55:16 +0100
|
||||
Subject: [PATCH] bytecode / custom needs -cclib as well
|
||||
|
||||
---
|
||||
src/ocb_stubblr.ml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ocb_stubblr.ml b/src/ocb_stubblr.ml
|
||||
index b68c37a..a0ee035 100644
|
||||
--- a/src/ocb_stubblr.ml
|
||||
+++ b/src/ocb_stubblr.ml
|
||||
@@ -160,7 +160,7 @@ let link_flag () =
|
||||
S [A switch; A ("-l"^name)]
|
||||
and dep flag = Pathname.([remove_extension flag -.- "a"]) in
|
||||
pflag ["link"; "ocaml"; "library"; "byte"] tag (libarg "-dllib");
|
||||
- pflag ["link"; "ocaml"; "library"; "native"] tag (libarg "-cclib");
|
||||
+ pflag ["link"; "ocaml"; "library"] tag (libarg "-cclib");
|
||||
pdep ["link"; "ocaml"] tag dep;
|
||||
pdep ["compile"; "ocaml"] tag dep
|
||||
(* XXX sneak in '-I' for compile;ocaml;program ?? *)
|
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
--- ./src/ocb_stubblr.ml
|
||||
+++ ./src/ocb_stubblr.ml
|
||||
@@ -158,7 +158,7 @@
|
||||
let name = Pathname.(remove_extension clib |> basename) in
|
||||
let name = String.(if is_prefix ~affix:"lib" name then drop ~max:3 name else name) in
|
||||
S [A switch; A ("-l"^name)]
|
||||
- and dep flag = Pathname.([remove_extension flag -.- "a"]) in
|
||||
+ and dep flag = Pathname.([remove_extension flag -.- !Options.ext_lib]) in
|
||||
pflag ["link"; "ocaml"; "library"; "byte"] tag (libarg "-dllib");
|
||||
pflag ["link"; "ocaml"; "library"; "native"] tag (libarg "-cclib");
|
||||
pdep ["link"; "ocaml"] tag dep;
|
||||
@@ -174,9 +174,18 @@
|
||||
let c = env c and deps = env deps in
|
||||
let to_list str = List.filter ((<>) "\\") @@
|
||||
String.fields ~empty:false ~is_sep:Char.Ascii.is_white str in
|
||||
+ let cc =
|
||||
+ (* very dirty, no msvc support *)
|
||||
+ if Sys.os_type <> "Win32" then
|
||||
+ "cc"
|
||||
+ else if Sys.word_size = 64 then
|
||||
+ "x86_64-w64-mingw32-gcc"
|
||||
+ else
|
||||
+ "i686-w64-mingw32-gcc"
|
||||
+ in
|
||||
let cmd = Cmd (
|
||||
S [ A "cd"; P root; Sh "&&";
|
||||
- A "cc"; T (tags_of_pathname c); A "-MM"; A "-MG"; P c ]) in
|
||||
+ A cc; T (tags_of_pathname c); A "-MM"; A "-MG"; P c ]) in
|
||||
let headers = match Command.to_string cmd |> run_and_read |> to_list with
|
||||
| _::_::xs -> List.map (fun p -> Pathname.normalize p ^ "\n") xs
|
||||
| _ -> error_exit_msgf "%s: depends: unrecognized format" c in
|
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
From f1c9340f3ab973ad1e8dcc4b7065bbe6cfaa028f Mon Sep 17 00:00:00 2001
|
||||
From: David Allsopp <david.allsopp@metastack.com>
|
||||
Date: Sun, 1 Jul 2018 09:54:32 +0100
|
||||
Subject: [PATCH] Use OPAM_SWITCH_PREFIX before opam config var prefix
|
||||
|
||||
opam 2's sandbox doesn't expose the mount point for the opam root.
|
||||
|
||||
Signed-off-by: David Allsopp <david.allsopp@metastack.com>
|
||||
---
|
||||
src/ocb_stubblr.ml | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ocb_stubblr.ml b/src/ocb_stubblr.ml
|
||||
index b68c37a..2cc5332 100644
|
||||
--- a/src/ocb_stubblr.ml
|
||||
+++ b/src/ocb_stubblr.ml
|
||||
@@ -31,11 +31,15 @@ module Pkg_config = struct
|
||||
|
||||
(* XXX Would be nice to move pkg-config results to a build artefact. *)
|
||||
|
||||
- let opam_prefix =
|
||||
+ let opam_prefix_cmd =
|
||||
let cmd = "opam config var prefix" in
|
||||
lazy ( try run_and_read cmd with Failure _ ->
|
||||
error_msgf "error running opam")
|
||||
|
||||
+ let opam_prefix =
|
||||
+ lazy (try Sys.getenv "OPAM_SWITCH_PREFIX"
|
||||
+ with Not_found -> Lazy.force opam_prefix_cmd)
|
||||
+
|
||||
let var = "PKG_CONFIG_PATH"
|
||||
|
||||
let path () =
|
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
{ |
||||
"build": [ |
||||
"#{os == 'windows' ? 'patch --strip 1 --input ocb-stubblr-0.1.1.patch' : 'true'}", |
||||
[ |
||||
"ocaml", |
||||
"pkg/pkg.ml", |
||||
"build", |
||||
"--pinned", |
||||
"false", |
||||
"--tests", |
||||
"false" |
||||
] |
||||
], |
||||
"dependencies": { |
||||
"@esy-ocaml/fauxpam": "0.1.0" |
||||
} |
||||
} |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
{ |
||||
"exportedEnv": { |
||||
"CAML_LD_LIBRARY_PATH": { |
||||
"val": "#{self.lib / 'zarith' : $CAML_LD_LIBRARY_PATH}", |
||||
"scope": "global" |
||||
} |
||||
} |
||||
} |
@ -1,3 +0,0 @@
@@ -1,3 +0,0 @@
|
||||
|
||||
# Set eol to LF so files aren't converted to CRLF-eol on Windows. |
||||
* text eol=lf |
@ -1,3 +0,0 @@
@@ -1,3 +0,0 @@
|
||||
|
||||
# Reset any possible .gitignore, we want all esy.lock to be un-ignored. |
||||
!* |
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"] |
||||
homepage: "http://erratique.ch/software/astring" |
||||
doc: "http://erratique.ch/software/astring/doc" |
||||
dev-repo: "git+http://erratique.ch/repos/astring.git" |
||||
bug-reports: "https://github.com/dbuenzli/astring/issues" |
||||
tags: [ "string" "org:erratique" ] |
||||
license: "ISC" |
||||
depends: [ |
||||
"ocaml" {>= "4.01.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"base-bytes" |
||||
] |
||||
build: [[ |
||||
"ocaml" "pkg/pkg.ml" "build" |
||||
"--pinned" "%{pinned}%" ]] |
||||
synopsis: "Alternative String module for OCaml" |
||||
description: """ |
||||
Astring exposes an alternative `String` module for OCaml. This module |
||||
tries to balance minimality and expressiveness for basic, index-free, |
||||
string processing and provides types and functions for substrings, |
||||
string sets and string maps. |
||||
|
||||
Remaining compatible with the OCaml `String` module is a non-goal. The |
||||
`String` module exposed by Astring has exception safe functions, |
||||
removes deprecated and rarely used functions, alters some signatures |
||||
and names, adds a few missing functions and fully exploits OCaml's |
||||
newfound string immutability. |
||||
|
||||
Astring depends only on the OCaml standard library. It is distributed |
||||
under the ISC license.""" |
||||
url { |
||||
src: "http://erratique.ch/software/astring/releases/astring-0.8.3.tbz" |
||||
checksum: "md5=c5bf6352b9ac27fbeab342740f4fa870" |
||||
} |
@ -1,9 +0,0 @@
@@ -1,9 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: " " |
||||
authors: " " |
||||
homepage: " " |
||||
depends: [ |
||||
"ocaml" {>= "4.02.0"} |
||||
"ocamlfind" {>= "1.5.3"} |
||||
] |
||||
synopsis: "Bytes library distributed with the OCaml compiler" |
@ -1,6 +0,0 @@
@@ -1,6 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "https://github.com/ocaml/opam-repository/issues" |
||||
description: """ |
||||
Threads library distributed with the OCaml compiler |
||||
""" |
||||
|
@ -1,6 +0,0 @@
@@ -1,6 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "https://github.com/ocaml/opam-repository/issues" |
||||
description: """ |
||||
Unix library distributed with the OCaml compiler |
||||
""" |
||||
|
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "opensource@janestreet.com" |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
homepage: "https://github.com/janestreet/base" |
||||
bug-reports: "https://github.com/janestreet/base/issues" |
||||
dev-repo: "git+https://github.com/janestreet/base.git" |
||||
doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/base/index.html" |
||||
license: "MIT" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.04.2" & < "4.09.0"} |
||||
"sexplib0" {>= "v0.12" & < "v0.13"} |
||||
"dune" {build & >= "1.5.1"} |
||||
] |
||||
depopts: [ |
||||
"base-native-int63" |
||||
] |
||||
synopsis: "Full standard library replacement for OCaml" |
||||
description: " |
||||
Full standard library replacement for OCaml |
||||
|
||||
Base is a complete and portable alternative to the OCaml standard |
||||
library. It provides all standard functionalities one would expect |
||||
from a language standard library. It uses consistent conventions |
||||
across all of its module. |
||||
|
||||
Base aims to be usable in any context. As a result system dependent |
||||
features such as I/O are not offered by Base. They are instead |
||||
provided by companion libraries such as stdio: |
||||
|
||||
https://github.com/janestreet/stdio |
||||
" |
||||
url { |
||||
src: "https://github.com/janestreet/base/archive/v0.12.2.tar.gz" |
||||
checksum: "md5=7150e848a730369a2549d01645fb6c72" |
||||
} |
@ -1,34 +0,0 @@
@@ -1,34 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "mirageos-devel@lists.xenproject.org" |
||||
authors: [ "Thomas Gazagnaire" |
||||
"Anil Madhavapeddy" "Calascibetta Romain" |
||||
"Peter Zotov" ] |
||||
license: "ISC" |
||||
homepage: "https://github.com/mirage/ocaml-base64" |
||||
doc: "http://mirage.github.io/ocaml-base64/" |
||||
bug-reports: "https://github.com/mirage/ocaml-base64/issues" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-base64.git" |
||||
synopsis: "Base64 encoding for OCaml" |
||||
description: """ |
||||
Base64 is a group of similar binary-to-text encoding schemes that represent |
||||
binary data in an ASCII string format by translating it into a radix-64 |
||||
representation. It is specified in RFC 4648. |
||||
""" |
||||
depends: [ |
||||
"ocaml" {>="4.03.0"} |
||||
"base-bytes" |
||||
"dune" {build & >= "1.0.1"} |
||||
"bos" {with-test} |
||||
"rresult" {with-test} |
||||
"alcotest" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name] {with-test} |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-base64/releases/download/v3.2.0/base64-v3.2.0.tbz" |
||||
checksum: "md5=8ac1d6145277cee57d36611d1c420f05" |
||||
} |
@ -1,25 +0,0 @@
@@ -1,25 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "martin@mjambon.com" |
||||
authors: ["Martin Jambon"] |
||||
|
||||
homepage: "https://github.com/mjambon/biniou" |
||||
bug-reports: "https://github.com/mjambon/biniou/issues" |
||||
dev-repo: "git+https://github.com/mjambon/biniou.git" |
||||
license: "BSD-3-Clause" |
||||
|
||||
build: [ |
||||
["jbuilder" "build" "-p" name "-j" jobs] |
||||
["jbuilder" "runtest" "-p" name] {with-test} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.02.3"} |
||||
"conf-which" {build} |
||||
"jbuilder" {build & >= "1.0+beta7"} |
||||
"easy-format" |
||||
] |
||||
synopsis: |
||||
"Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve" |
||||
url { |
||||
src: "https://github.com/mjambon/biniou/archive/v1.2.0.tar.gz" |
||||
checksum: "md5=f3e92358e832ed94eaf23ce622ccc2f9" |
||||
} |
@ -1,36 +0,0 @@
@@ -1,36 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"] |
||||
homepage: "http://erratique.ch/software/cmdliner" |
||||
doc: "http://erratique.ch/software/cmdliner/doc/Cmdliner" |
||||
dev-repo: "git+http://erratique.ch/repos/cmdliner.git" |
||||
bug-reports: "https://github.com/dbuenzli/cmdliner/issues" |
||||
tags: [ "cli" "system" "declarative" "org:erratique" ] |
||||
license: "ISC" |
||||
depends:[ "ocaml" {>= "4.03.0"} ] |
||||
build: [[ make "all" "PREFIX=%{prefix}%" ]] |
||||
install: |
||||
[[make "install" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%" ] |
||||
[make "install-doc" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%" ]] |
||||
|
||||
synopsis: """Declarative definition of command line interfaces for OCaml""" |
||||
description: """\ |
||||
|
||||
Cmdliner allows the declarative definition of command line interfaces |
||||
for OCaml. |
||||
|
||||
It provides a simple and compositional mechanism to convert command |
||||
line arguments to OCaml values and pass them to your functions. The |
||||
module automatically handles syntax errors, help messages and UNIX man |
||||
page generation. It supports programs with single or multiple commands |
||||
and respects most of the [POSIX][1] and [GNU][2] conventions. |
||||
|
||||
Cmdliner has no dependencies and is distributed under the ISC license. |
||||
|
||||
[1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html |
||||
[2]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html |
||||
""" |
||||
url { |
||||
archive: "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.3.tbz" |
||||
checksum: "3674ad01d4445424105d33818c78fba8" |
||||
} |
@ -1,50 +0,0 @@
@@ -1,50 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" |
||||
"Stefano Zacchiroli" |
||||
"David Sheets" |
||||
"Thomas Gazagnaire" |
||||
"David Scott" |
||||
"Rudi Grinberg" |
||||
"Andy Ray" |
||||
] |
||||
synopsis: "CoHTTP implementation for Unix and Windows using Lwt" |
||||
description: """ |
||||
An implementation of an HTTP client and server using the Lwt |
||||
concurrency library. See the `Cohttp_lwt_unix` module for information |
||||
on how to use this. The package also installs `cohttp-curl-lwt` |
||||
and a `cohttp-server-lwt` binaries for quick uses of a HTTP(S) |
||||
client and server respectively. |
||||
|
||||
Although the name implies that this only works under Unix, it |
||||
should also be fine under Windows too.""" |
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-cohttp" |
||||
doc: "https://mirage.github.io/ocaml-cohttp/" |
||||
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.1"} |
||||
"dune" {build & >= "1.1.0"} |
||||
"conduit-lwt-unix" {>= "1.0.3"} |
||||
"cmdliner" |
||||
"magic-mime" |
||||
"logs" |
||||
"fmt" {>= "0.8.2"} |
||||
"cohttp-lwt" |
||||
"lwt" {>= "3.0.0"} |
||||
"base-unix" |
||||
"ounit" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cohttp/releases/download/v2.0.0/cohttp-v2.0.0.tbz" |
||||
checksum: "md5=c354599fdb4f2625b6510182de0fc86b" |
||||
} |
@ -1,59 +0,0 @@
@@ -1,59 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" |
||||
"Stefano Zacchiroli" |
||||
"David Sheets" |
||||
"Thomas Gazagnaire" |
||||
"David Scott" |
||||
"Rudi Grinberg" |
||||
"Andy Ray" |
||||
] |
||||
synopsis: "An OCaml library for HTTP clients and servers" |
||||
description: """ |
||||
Cohttp is an OCaml library for creating HTTP daemons. It has a portable |
||||
HTTP parser, and implementations using various asynchronous programming |
||||
libraries. |
||||
|
||||
See the cohttp-async, cohttp-lwt, cohttp-lwt-unix, cohttp-lwt-jsoo and |
||||
cohttp-mirage libraries for concrete implementations for particular |
||||
targets. |
||||
|
||||
You can implement other targets using the parser very easily. Look at the `IO` |
||||
signature in `lib/s.mli` and implement that in the desired backend. |
||||
|
||||
You can activate some runtime debugging by setting `COHTTP_DEBUG` to any |
||||
value, and all requests and responses will be written to stderr. Further |
||||
debugging of the connection layer can be obtained by setting `CONDUIT_DEBUG` |
||||
to any value.""" |
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-cohttp" |
||||
doc: "https://mirage.github.io/ocaml-cohttp/" |
||||
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.1"} |
||||
"dune" {build & >= "1.1.0"} |
||||
"re" {>= "1.7.2"} |
||||
"uri" {>= "2.0.0"} |
||||
"fieldslib" |
||||
"sexplib0" |
||||
"ppx_fields_conv" {>= "v0.9.0"} |
||||
"ppx_sexp_conv" {>= "v0.9.0"} |
||||
"stringext" |
||||
"base64" {>= "3.1.0"} |
||||
"fmt" {with-test} |
||||
"jsonm" {build} |
||||
"alcotest" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cohttp/releases/download/v2.1.2/cohttp-v2.1.2.tbz" |
||||
checksum: "md5=1bdde705d853175c67666b45bf3edc43" |
||||
} |
@ -1,34 +0,0 @@
@@ -1,34 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" "Thomas Leonard" "Thomas Gazagnaire" "Rudi Grinberg" |
||||
] |
||||
license: "ISC" |
||||
tags: "org:mirage" |
||||
homepage: "https://github.com/mirage/ocaml-conduit" |
||||
bug-reports: "https://github.com/mirage/ocaml-conduit/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {build} |
||||
"base-unix" |
||||
"ppx_sexp_conv" {< "v0.13"} |
||||
"conduit-lwt" {>="1.4.0"} |
||||
"lwt" {>= "3.0.0"} |
||||
"uri" {>= "1.9.4"} |
||||
"ipaddr" {>= "3.0.0"} |
||||
] |
||||
depopts: ["tls" "lwt_ssl" "launchd"] |
||||
conflicts: [ |
||||
"tls" {< "0.8.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-conduit.git" |
||||
synopsis: "A network connection establishment library for Lwt_unix" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-conduit/releases/download/v1.4.0/conduit-v1.4.0.tbz" |
||||
checksum: "md5=204222b8a61692083b79c67c8967fb28" |
||||
} |
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" "Thomas Leonard" "Thomas Gazagnaire" "Rudi Grinberg" |
||||
] |
||||
license: "ISC" |
||||
tags: "org:mirage" |
||||
homepage: "https://github.com/mirage/ocaml-conduit" |
||||
bug-reports: "https://github.com/mirage/ocaml-conduit/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {build} |
||||
"base-unix" |
||||
"ppx_sexp_conv" {< "v0.13"} |
||||
"sexplib" {< "v0.13"} |
||||
"conduit" {="1.4.0"} |
||||
"lwt" {>= "3.0.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-conduit.git" |
||||
synopsis: "A portable network connection establishment library using Lwt" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-conduit/releases/download/v1.4.0/conduit-v1.4.0.tbz" |
||||
checksum: "md5=204222b8a61692083b79c67c8967fb28" |
||||
} |
@ -1,53 +0,0 @@
@@ -1,53 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" "Thomas Leonard" "Thomas Gazagnaire" "Rudi Grinberg" |
||||
] |
||||
license: "ISC" |
||||
tags: "org:mirage" |
||||
homepage: "https://github.com/mirage/ocaml-conduit" |
||||
doc: "https://mirage.github.io/ocaml-conduit/" |
||||
bug-reports: "https://github.com/mirage/ocaml-conduit/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {build} |
||||
"ppx_sexp_conv" {< "v0.13"} |
||||
"sexplib" {< "v0.13"} |
||||
"astring" |
||||
"uri" |
||||
"result" |
||||
"logs" {>= "0.5.0"} |
||||
"ipaddr" {>= "3.0.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-conduit.git" |
||||
synopsis: "A network connection establishment library" |
||||
description: """ |
||||
The `conduit` library takes care of establishing and listening for |
||||
TCP and SSL/TLS connections for the Lwt and Async libraries. |
||||
|
||||
The reason this library exists is to provide a degree of abstraction |
||||
from the precise SSL library used, since there are a variety of ways |
||||
to bind to a library (e.g. the C FFI, or the Ctypes library), as well |
||||
as well as which library is used (just OpenSSL for now). |
||||
|
||||
By default, OpenSSL is used as the preferred connection library, but |
||||
you can force the use of the pure OCaml TLS stack by setting the |
||||
environment variable `CONDUIT_TLS=native` when starting your program. |
||||
|
||||
The useful opam packages available that extend this library are: |
||||
|
||||
- `conduit`: the main `Conduit` module |
||||
- `conduit-lwt`: the portable Lwt implementation |
||||
- `conduit-lwt-unix`: the Lwt/Unix implementation |
||||
- `conduit-async` the Jane Street Async implementation |
||||
- `mirage-conduit`: the MirageOS compatible implementation |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-conduit/releases/download/v1.4.0/conduit-v1.4.0.tbz" |
||||
checksum: "md5=204222b8a61692083b79c67c8967fb28" |
||||
} |
@ -1,23 +0,0 @@
@@ -1,23 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "tim@gfxmonk.net" |
||||
homepage: "http://www.gnu.org/software/m4/m4.html" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
authors: "GNU Project" |
||||
license: "GPL-3" |
||||
build: [["sh" "-exc" "echo | m4"]] |
||||
depexts: [ |
||||
["m4"] {os-distribution = "debian"} |
||||
["m4"] {os-distribution = "ubuntu"} |
||||
["m4"] {os-distribution = "fedora"} |
||||
["m4"] {os-distribution = "rhel"} |
||||
["m4"] {os-distribution = "centos"} |
||||
["m4"] {os-distribution = "alpine"} |
||||
["m4"] {os-distribution = "nixos"} |
||||
["m4"] {os-family = "suse"} |
||||
["m4"] {os-distribution = "ol"} |
||||
["m4"] {os-distribution = "arch"} |
||||
] |
||||
synopsis: "Virtual package relying on m4" |
||||
description: |
||||
"This package can only install if the m4 binary is installed on the system." |
||||
flags: conf |
@ -1,39 +0,0 @@
@@ -1,39 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "unixjunkie@sdf.org" |
||||
authors: ["Francois Berenger"] |
||||
homepage: "http://www.freedesktop.org/wiki/Software/pkg-config/" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
license: "GPL" |
||||
build: [ |
||||
["pkg-config" "--help"] |
||||
] |
||||
install: [ |
||||
["ln" "-s" "/usr/local/bin/pkgconf" "%{bin}%/pkg-config"] {os = "openbsd"} |
||||
] |
||||
remove: [ |
||||
["rm" "-f" "%{bin}%/pkg-config"] {os = "openbsd"} |
||||
] |
||||
post-messages: [ |
||||
"conf-pkg-config: A symlink to /usr/local/bin/pkgconf has been installed in the OPAM bin directory (%{bin}%) on your PATH as 'pkg-config'. This is necessary for correct operation." {os = "openbsd"} |
||||
] |
||||
depexts: [ |
||||
["pkg-config"] {os-distribution = "debian"} |
||||
["pkg-config"] {os-distribution = "ubuntu"} |
||||
["pkg-config"] {os-distribution = "arch"} |
||||
["pkgconfig"] {os-distribution = "fedora"} |
||||
["pkgconfig"] {os-distribution = "centos"} |
||||
["pkgconfig"] {os-distribution = "mageia"} |
||||
["pkgconfig"] {os-distribution = "rhel"} |
||||
["pkgconfig"] {os-distribution = "ol"} |
||||
["pkgconfig"] {os-distribution = "alpine"} |
||||
["devel/pkgconf"] {os = "freebsd"} |
||||
["devel/pkgconf"] {os = "openbsd"} |
||||
["pkg-config"] {os = "macos" & os-distribution = "homebrew"} |
||||
["pkgconf"] {os = "freebsd"} |
||||
["pkg-config"] {os-distribution = "cygwinports"} |
||||
] |
||||
synopsis: "Virtual package relying on pkg-config installation" |
||||
description: """ |
||||
This package can only install if the pkg-config package is installed |
||||
on the system.""" |
||||
flags: conf |
@ -1,20 +0,0 @@
@@ -1,20 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "unixjunkie@sdf.org" |
||||
homepage: "http://www.gnu.org/software/which/" |
||||
authors: "Carlo Wood" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
license: "GPL-2+" |
||||
build: [["which" "which"]] |
||||
depexts: [ |
||||
["which"] {os-distribution = "centos"} |
||||
["which"] {os-distribution = "fedora"} |
||||
["which"] {os-family = "suse"} |
||||
["debianutils"] {os-distribution = "debian"} |
||||
["debianutils"] {os-distribution = "ubuntu"} |
||||
["which"] {os-distribution = "nixos"} |
||||
["which"] {os-distribution = "arch"} |
||||
] |
||||
synopsis: "Virtual package relying on which" |
||||
description: |
||||
"This package can only install if the which program is installed on the system." |
||||
flags: conf |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue