Merge pull request #241493 from Julow/ocaml-odig-init

odig: Init at 0.0.9
This commit is contained in:
Ulrik Strid 2023-09-28 17:03:00 +02:00 committed by GitHub
commit 0f74397fee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 107 additions and 0 deletions

View file

@ -0,0 +1,28 @@
{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild, cmdliner, odoc, b0
}:
{ pname, version, nativeBuildInputs ? [ ], buildInputs ? [ ], ... }@args:
lib.throwIf (args ? minimalOCamlVersion
&& lib.versionOlder ocaml.version args.minimalOCamlVersion)
"${pname}-${version} is not available for OCaml ${ocaml.version}"
stdenv.mkDerivation ({
dontAddStaticConfigureFlags = true;
configurePlatforms = [ ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
} // (builtins.removeAttrs args [ "minimalOCamlVersion" ]) // {
name = "ocaml${ocaml.version}-${pname}-${version}";
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ] ++ nativeBuildInputs;
buildInputs = [ topkg ] ++ buildInputs;
meta = (args.meta or { }) // {
platforms = args.meta.platforms or ocaml.meta.platforms;
};
})

View file

@ -0,0 +1,46 @@
{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild, cmdliner }:
let
in lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
"b0 is not available for OCaml ${ocaml.version}"
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-b0";
version = "0.0.5";
src = fetchurl {
url = "${meta.homepage}/releases/b0-${version}.tbz";
sha256 = "sha256-ty04JQcP4RCme/VQw0ko2IBebWWX5cBU6nRTTeV1I/I=";
};
strictDeps = true;
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
buildInputs = [ topkg cmdliner ];
inherit (topkg) buildPhase installPhase;
meta = with lib; {
description = "Software construction and deployment kit";
longDescription = ''
WARNING this package is unstable and work in progress, do not depend on
it.
B0 describes software construction and deployments using modular and
customizable definitions written in OCaml. B0 describes:
* Build environments.
* Software configuration, build and testing.
* Source and binary deployments.
* Software life-cycle procedures.
B0 also provides the B00 build library which provides abitrary build
abstraction with reliable and efficient incremental rebuilds. The B00
library can be and has been used on its own to devise domain specific
build systems.
'';
homepage = "https://erratique.ch/software/b0";
inherit (ocaml.meta) platforms;
license = licenses.isc;
maintainers = [ maintainers.Julow ];
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv, fetchurl, buildTopkgPackage, cmdliner, odoc, b0 }:
buildTopkgPackage rec {
pname = "odig";
version = "0.0.9";
src = fetchurl {
url = "${meta.homepage}/releases/odig-${version}.tbz";
sha256 = "sha256-sYKvGYkxeF5FmrNQdOyMAtlsJqhlmUESi9SkPn/cjM4=";
};
buildInputs = [ cmdliner odoc b0 ];
meta = with lib; {
description = "Lookup documentation of installed OCaml packages";
longDescription = ''
odig is a command line tool to lookup documentation of installed OCaml
packages. It shows package metadata, readmes, change logs, licenses,
cross-referenced `odoc` API documentation and manuals.
'';
homepage = "https://erratique.ch/software/odig";
license = licenses.isc;
maintainers = [ maintainers.Julow ];
};
}

View file

@ -16865,6 +16865,8 @@ with pkgs;
ocamlformat_0_22_4 ocamlformat_0_23_0 ocamlformat_0_24_1 ocamlformat_0_25_1
ocamlformat_0_26_0;
inherit (ocamlPackages) odig;
orc = callPackage ../development/compilers/orc { };
orocos-kdl = callPackage ../development/libraries/orocos-kdl { };

View file

@ -60,6 +60,8 @@ let
### B ###
b0 = callPackage ../development/ocaml-modules/b0 { };
bap = janeStreet_0_15.bap;
base64 = callPackage ../development/ocaml-modules/base64 { };
@ -1330,6 +1332,8 @@ let
odate = callPackage ../development/ocaml-modules/odate { };
odig = callPackage ../development/ocaml-modules/odig { };
odoc = callPackage ../development/ocaml-modules/odoc { };
odoc-parser = callPackage ../development/ocaml-modules/odoc-parser { };
@ -1888,6 +1892,8 @@ let
buildOasisPackage = callPackage ../build-support/ocaml/oasis.nix { };
buildTopkgPackage = callPackage ../build-support/ocaml/topkg.nix { };
# Apps from all-packages, to be eventually removed
google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };