diff --git a/pkgs/development/ocaml-modules/bencode/default.nix b/pkgs/development/ocaml-modules/bencode/default.nix new file mode 100644 index 000000000000..310d7f24d006 --- /dev/null +++ b/pkgs/development/ocaml-modules/bencode/default.nix @@ -0,0 +1,34 @@ +{ + lib, + buildDunePackage, + fetchFromGitHub, + ounit, + qcheck, +}: + +buildDunePackage rec { + pname = "bencode"; + version = "2.0"; + minimalOCamlVersion = "4.02.0"; + + src = fetchFromGitHub { + owner = "rgrinberg"; + repo = "bencode"; + tag = version; + hash = "sha256-sEMS9oBOPeFX1x7cHjbQhCD2QI5yqC+550pPqqMsVws="; + }; + + doCheck = true; + checkInputs = [ + ounit + qcheck + ]; + + meta = { + description = "Bencode (.torrent file format) reader/writer in OCaml "; + homepage = "https://github.com/rgrinberg/bencode"; + changelog = "https://github.com/rgrinberg/bencode/blob/${version}/Changelog.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/cbor/default.nix b/pkgs/development/ocaml-modules/cbor/default.nix new file mode 100644 index 000000000000..09287676de68 --- /dev/null +++ b/pkgs/development/ocaml-modules/cbor/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildDunePackage, + fetchurl, + ocplib-endian, + yojson, +}: + +buildDunePackage rec { + pname = "cbor"; + version = "0.5"; + + minimalOCamlVersion = "4.07.0"; + + src = fetchurl { + url = "https://github.com/ygrek/ocaml-cbor/releases/download/${version}/ocaml-cbor-${version}.tar.gz"; + hash = "sha256-4mpm/fv9X5uFRQO8XqBhOpxYwZreEtJ3exIwN6YulKM="; + }; + + propagatedBuildInputs = [ + ocplib-endian + ]; + + doCheck = true; + checkInputs = [ + yojson + ]; + + meta = { + description = "CBOR encoder/decoder (RFC 7049) - native OCaml implementation"; + homepage = "https://github.com/ygrek/ocaml-cbor"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-bencode/default.nix b/pkgs/development/ocaml-modules/decoders-bencode/default.nix new file mode 100644 index 000000000000..6e2198ff2b6d --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-bencode/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + decoders, + bencode, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-bencode"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + bencode + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "Bencode backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-cbor/default.nix b/pkgs/development/ocaml-modules/decoders-cbor/default.nix new file mode 100644 index 000000000000..067beb013cb2 --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-cbor/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + decoders, + cbor, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-cbor"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + cbor + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "CBOR backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-ezjsonm/default.nix b/pkgs/development/ocaml-modules/decoders-ezjsonm/default.nix new file mode 100644 index 000000000000..acb5c16cffa7 --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-ezjsonm/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + decoders, + ezjsonm, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-ezjsonm"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + ezjsonm + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "Ezjsonm backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-ezxmlm/default.nix b/pkgs/development/ocaml-modules/decoders-ezxmlm/default.nix new file mode 100644 index 000000000000..685265dddff1 --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-ezxmlm/default.nix @@ -0,0 +1,34 @@ +{ + lib, + buildDunePackage, + decoders, + ezxmlm, + containers, +}: + +buildDunePackage rec { + pname = "decoders-ezxmlm"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + ezxmlm + ]; + + doCheck = true; + checkInputs = [ + containers + ]; + + meta = { + description = "Ezxmlm backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-jsonaf/default.nix b/pkgs/development/ocaml-modules/decoders-jsonaf/default.nix new file mode 100644 index 000000000000..d6e01a3273c5 --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-jsonaf/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + decoders, + jsonaf ? null, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-jsonaf"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.11.0"; + + propagatedBuildInputs = [ + decoders + jsonaf + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "Jsonaf backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-jsonm/default.nix b/pkgs/development/ocaml-modules/decoders-jsonm/default.nix new file mode 100644 index 000000000000..c354ae20d076 --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-jsonm/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + decoders, + jsonm, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-jsonm"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + jsonm + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "Jsonm backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-msgpck/default.nix b/pkgs/development/ocaml-modules/decoders-msgpck/default.nix new file mode 100644 index 000000000000..6004a2503aac --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-msgpck/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + decoders, + msgpck, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-msgpck"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + msgpck + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "Msgpck backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-sexplib/default.nix b/pkgs/development/ocaml-modules/decoders-sexplib/default.nix new file mode 100644 index 000000000000..5b12b422fded --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-sexplib/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildDunePackage, + decoders, + sexplib, + sexplib0, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-sexplib"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + sexplib + sexplib0 + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "sexplib backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders-yojson/default.nix b/pkgs/development/ocaml-modules/decoders-yojson/default.nix new file mode 100644 index 000000000000..8da0e05a69ff --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders-yojson/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildDunePackage, + decoders, + yojson, + containers, + ounit2, +}: + +buildDunePackage rec { + pname = "decoders-yojson"; + + # sub-package built separately from the same source + inherit (decoders) src version; + + minimalOCamlVersion = "4.03.0"; + + propagatedBuildInputs = [ + decoders + yojson + ]; + + doCheck = true; + checkInputs = [ + containers + ounit2 + ]; + + meta = { + description = "Yojson backend for decoders"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/development/ocaml-modules/decoders/default.nix b/pkgs/development/ocaml-modules/decoders/default.nix new file mode 100644 index 000000000000..42e68503ac8d --- /dev/null +++ b/pkgs/development/ocaml-modules/decoders/default.nix @@ -0,0 +1,31 @@ +{ + lib, + buildDunePackage, + fetchurl, + containers, +}: + +buildDunePackage rec { + pname = "decoders"; + version = "1.0.0"; + + minimalOCamlVersion = "4.03.0"; + + src = fetchurl { + url = "https://github.com/mattjbray/ocaml-decoders/releases/download/v${version}/${pname}-${version}.tbz"; + hash = "sha256-R/55xBAtD3EO/zzq7zExANnfPHlFg00884o5dCpXNZc="; + }; + + doCheck = true; + checkInputs = [ + containers + ]; + + meta = { + description = "Elm-inspired decoders for Ocaml"; + homepage = "https://github.com/mattjbray/ocaml-decoders"; + changelog = "https://github.com/mattjbray/ocaml-decoders/blob/${version}/CHANGES.md"; + license = lib.licenses.isc; + maintainers = with lib.maintainers; [ infinidoge ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 087745078bc6..00bc16314969 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -88,6 +88,8 @@ let benchmark = callPackage ../development/ocaml-modules/benchmark { }; + bencode = callPackage ../development/ocaml-modules/bencode { }; + bheap = callPackage ../development/ocaml-modules/bheap { }; bigarray-compat = callPackage ../development/ocaml-modules/bigarray-compat { }; @@ -202,6 +204,8 @@ let git-binary = pkgs.git; }; + cbor = callPackage ../development/ocaml-modules/cbor { }; + cfstream = callPackage ../development/ocaml-modules/cfstream { }; chacha = callPackage ../development/ocaml-modules/chacha { }; @@ -326,6 +330,26 @@ let dbf = callPackage ../development/ocaml-modules/dbf { }; + decoders = callPackage ../development/ocaml-modules/decoders { }; + + decoders-bencode = callPackage ../development/ocaml-modules/decoders-bencode { }; + + decoders-cbor = callPackage ../development/ocaml-modules/decoders-cbor { }; + + decoders-ezjsonm = callPackage ../development/ocaml-modules/decoders-ezjsonm { }; + + decoders-ezxmlm = callPackage ../development/ocaml-modules/decoders-ezxmlm { }; + + decoders-jsonaf = callPackage ../development/ocaml-modules/decoders-jsonaf { }; + + decoders-jsonm = callPackage ../development/ocaml-modules/decoders-jsonm { }; + + decoders-msgpck = callPackage ../development/ocaml-modules/decoders-msgpck { }; + + decoders-sexplib = callPackage ../development/ocaml-modules/decoders-sexplib { }; + + decoders-yojson = callPackage ../development/ocaml-modules/decoders-yojson { }; + decompress = callPackage ../development/ocaml-modules/decompress { }; dedukti = callPackage ../development/ocaml-modules/dedukti { };