ocamlPackages.oui: init at 0-unstable-2025-10-08 (#451607)

This commit is contained in:
Vincent Laporte
2025-10-17 14:10:42 +00:00
committed by GitHub
6 changed files with 220 additions and 0 deletions
@@ -0,0 +1,30 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
ounit2,
}:
buildDunePackage (finalAttrs: {
pname = "0install-solver";
version = "2.18";
src = fetchFromGitHub {
owner = "0install";
repo = "0install";
tag = "v${finalAttrs.version}";
hash = "sha256-CxADWMYZBPobs65jeyMQjqu3zmm2PgtNgI/jUsYUp8I=";
};
doCheck = true;
checkInputs = [
ounit2
];
meta = {
description = "Package dependency solver";
license = lib.licenses.lgpl21;
maintainers = [ lib.maintainers.stepbrobd ];
homepage = "https://0install.net";
};
})
@@ -0,0 +1,50 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
_0install-solver,
alcotest,
cudf,
}:
buildDunePackage (finalAttrs: {
pname = "opam-0install-cudf";
version = "0.5.0";
src = fetchFromGitHub {
owner = "ocaml-opam";
repo = "opam-0install-cudf";
rev = "v${finalAttrs.version}";
hash = "sha256-TETfvR1Di4c8CylsKnMal/GfQcqMSr36o7511u1bYYs=";
};
propagatedBuildInputs = [
cudf
_0install-solver
];
doCheck = true;
checkInputs = [
alcotest
];
meta = {
homepage = "https://github.com/ocaml-opam/opam-0install-cudf";
description = "Opam solver using 0install backend using the CUDF interface";
longDescription = ''
Opam's default solver is designed to maintain a set of packages
over time, minimising disruption when installing new programs and
finding a compromise solution across all packages.
In many situations (e.g. CI, local roots or duniverse builds) this
is not necessary, and we can get a solution much faster by using
a different algorithm.
This package provides a generic solver library which uses 0install's
solver library. The library uses the CUDF library in order to interface
with opam as it is the format common used to talk to all the supported solvers.
'';
license = lib.licenses.isc;
maintainers = [ lib.maintainers.stepbrobd ];
};
})
@@ -0,0 +1,33 @@
{
lib,
buildDunePackage,
base64,
cmdliner,
opam,
opam-repository,
opam-solver,
opam-state,
re,
}:
buildDunePackage {
pname = "opam-client";
inherit (opam) src version;
configureFlags = [ "--disable-checks" ];
propagatedBuildInputs = [
base64
cmdliner
opam-repository
opam-solver
opam-state
re
];
meta = opam.meta // {
description = "Actions on the opam root, switches, installations, and front-end";
maintainers = with lib.maintainers; [ stepbrobd ];
};
}
@@ -0,0 +1,35 @@
{
lib,
buildDunePackage,
cudf,
dose3,
mccs,
opam,
opam-0install-cudf,
opam-format,
re,
z3,
}:
buildDunePackage {
pname = "opam-solver";
inherit (opam) src version;
configureFlags = [ "--disable-checks" ];
propagatedBuildInputs = [
cudf
dose3
mccs
opam-0install-cudf
opam-format
re
z3
];
meta = opam.meta // {
description = "This library is based on the Cudf and Dose libraries, and handles calls to the external solver from opam";
maintainers = with lib.maintainers; [ stepbrobd ];
};
}
@@ -0,0 +1,60 @@
{
lib,
buildDunePackage,
fetchFromGitHub,
cmdliner,
fmt,
markup,
ocaml-crunch,
opam-client,
opam-format,
ppx_deriving_yojson,
ppx_expect,
yojson,
}:
buildDunePackage (finalAttrs: {
pname = "oui";
version = "0-unstable-2025-10-08";
minimalOCamlVersion = "4.10";
src = fetchFromGitHub {
owner = "OCamlPro";
repo = "ocaml-universal-installer";
rev = "2fe2e33c3f8e1744fdd4dab04458043451bf9f62";
hash = "sha256-ALQIQ3Ab1Gs2xST9OwsO5IxixzgKlUg7uHZvfHMbv7Q=";
};
nativeBuildInputs = [
ocaml-crunch
];
propagatedBuildInputs = [
cmdliner
fmt
markup
opam-client
opam-format
ppx_deriving_yojson
yojson
];
# upstream tests are matching full library paths
doCheck = false;
checkInputs = [
ppx_expect
];
meta = {
homepage = "https://github.com/OCamlPro/ocaml-universal-installer";
description = "A tool that builds standalone installers for your OCaml applications";
longDescription = ''
oui is a command-line tool that generates standalone installers for
Linux, Windows and macOS from your OCaml and non OCaml binaries.
'';
license = lib.licenses.lgpl21;
maintainers = [ lib.maintainers.stepbrobd ];
mainProgram = "opam-oui";
};
})
+12
View File
@@ -1580,16 +1580,22 @@ let
omd = callPackage ../development/ocaml-modules/omd { };
opam-0install-cudf = callPackage ../development/ocaml-modules/opam-0install-cudf { };
opam-core = callPackage ../development/ocaml-modules/opam-core {
inherit (pkgs) opam;
};
opam-client = callPackage ../development/ocaml-modules/opam-client { };
opam-file-format = callPackage ../development/ocaml-modules/opam-file-format { };
opam-format = callPackage ../development/ocaml-modules/opam-format { };
opam-repository = callPackage ../development/ocaml-modules/opam-repository { };
opam-solver = callPackage ../development/ocaml-modules/opam-solver { };
opam-state = callPackage ../development/ocaml-modules/opam-state { };
opium = callPackage ../development/ocaml-modules/opium { };
@@ -1614,6 +1620,8 @@ let
otr = callPackage ../development/ocaml-modules/otr { };
oui = callPackage ../development/ocaml-modules/oui { };
ounit = callPackage ../development/ocaml-modules/ounit { };
ounit2 = callPackage ../development/ocaml-modules/ounit2 { };
@@ -2219,6 +2227,10 @@ let
zmq-lwt = callPackage ../development/ocaml-modules/zmq/lwt.nix { };
### _ ###
_0install-solver = callPackage ../development/ocaml-modules/0install-solver { };
### Exceptional packages kept out of order ###
# Libs