Add build / develop environment in Nix
This commit is contained in:
parent
676e2cd654
commit
d5dbad6b80
|
@ -0,0 +1,33 @@
|
||||||
|
name: Test in Nix
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run:
|
||||||
|
name: Build and test
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- macos-latest
|
||||||
|
- ubuntu-latest
|
||||||
|
ocaml-compiler:
|
||||||
|
- 4_11
|
||||||
|
- 4_12
|
||||||
|
- 4_13
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup Nix
|
||||||
|
uses: cachix/install-nix-action@v15
|
||||||
|
with:
|
||||||
|
nix_path: nixpkgs=channel:nixos-21.11
|
||||||
|
extra_nix_config: |
|
||||||
|
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
|
||||||
|
substituters = https://cache.nixos.org/
|
||||||
|
max-jobs = auto
|
||||||
|
cores = 0
|
||||||
|
- run: nix-shell --argstr ocamlVersion ${{ matrix.ocaml-compiler }} --run 'dune runtest'
|
|
@ -3,3 +3,5 @@ _build/
|
||||||
*.install
|
*.install
|
||||||
*.elc
|
*.elc
|
||||||
.*.swp
|
.*.swp
|
||||||
|
|
||||||
|
/result*
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs ? import <nixpkgs> {}
|
||||||
|
, ocamlVersion ? import ./nix/ocamlDefaultVersion.nix
|
||||||
|
, opam2nix ?
|
||||||
|
pkgs.callPackage ./nix/opam2nix.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
ocamlPackagesOverride = pkgs.ocaml-ng."ocamlPackages_${ocamlVersion}";
|
||||||
|
} }:
|
||||||
|
|
||||||
|
pkgs.callPackage ./nix { inherit ocamlVersion opam2nix; }
|
|
@ -0,0 +1,30 @@
|
||||||
|
{ pkgs, lib, stdenv, ocamlVersion, opam2nix }:
|
||||||
|
let
|
||||||
|
inherit (lib) strings;
|
||||||
|
args = {
|
||||||
|
inherit (pkgs.ocaml-ng."ocamlPackages_${ocamlVersion}") ocaml;
|
||||||
|
src =
|
||||||
|
let ignores = pkgs.lib.strings.fileContents ../.gitignore;
|
||||||
|
in pkgs.nix-gitignore.gitignoreSourcePure ignores ../.;
|
||||||
|
};
|
||||||
|
|
||||||
|
opam-selection = opam2nix.build (args // {
|
||||||
|
selection = "${./opam-selection_${ocamlVersion}.nix}";
|
||||||
|
});
|
||||||
|
|
||||||
|
localPackages =
|
||||||
|
let contents = builtins.attrNames (builtins.readDir ../.);
|
||||||
|
in builtins.filter (strings.hasSuffix ".opam") contents;
|
||||||
|
|
||||||
|
resolve = opam2nix.resolve (args // {
|
||||||
|
selection = "./nix/opam-selection_${ocamlVersion}.nix";
|
||||||
|
}) localPackages;
|
||||||
|
|
||||||
|
in (builtins.listToAttrs (builtins.map (fname:
|
||||||
|
let packageName = strings.removeSuffix ".opam" fname;
|
||||||
|
in {
|
||||||
|
name = packageName;
|
||||||
|
value = builtins.getAttr packageName opam-selection;
|
||||||
|
}) localPackages)) // {
|
||||||
|
inherit resolve opam-selection;
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
"4_13"
|
|
@ -0,0 +1,555 @@
|
||||||
|
### This file is generated by opam2nix.
|
||||||
|
|
||||||
|
self:
|
||||||
|
let
|
||||||
|
lib = self.lib;
|
||||||
|
pkgs = self.pkgs;
|
||||||
|
selection = self.selection;
|
||||||
|
repoPath = self.repoPath;
|
||||||
|
repos =
|
||||||
|
{
|
||||||
|
opam-repository =
|
||||||
|
rec {
|
||||||
|
fetch =
|
||||||
|
{
|
||||||
|
owner = "ocaml";
|
||||||
|
repo = "opam-repository";
|
||||||
|
rev = "7cf7c46fd0c289f632b288a2ae1bc99ea3d378cc";
|
||||||
|
sha256 = "0xiibs33w7hn8fkmk8mvgxdly70rral2nadkip5rmivlv6f91n3h";
|
||||||
|
};
|
||||||
|
src = (pkgs.fetchFromGitHub) fetch;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
format-version = 4;
|
||||||
|
inherit repos;
|
||||||
|
ocaml-version = "4.11.2";
|
||||||
|
selection =
|
||||||
|
{
|
||||||
|
base-bytes =
|
||||||
|
{
|
||||||
|
pname = "base-bytes";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocamlfind ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-bytes/base-bytes.base";
|
||||||
|
hash = "sha256:0a68lmbf68jgm1i3b59j2sc3ha9yhv4678f9mfwwvczw88prq7l3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
base-threads =
|
||||||
|
{
|
||||||
|
pname = "base-threads";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-threads/base-threads.base";
|
||||||
|
hash = "sha256:1c4bpyh61ampjgk5yh3inrgcpf1z1xv0pshn54ycmpn4dyzv0p2x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
base-unix =
|
||||||
|
{
|
||||||
|
pname = "base-unix";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-unix/base-unix.base";
|
||||||
|
hash = "sha256:0mpsvb7684g723ylngryh15aqxg3blb7hgmq2fsqjyppr36iyzwg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
camomile =
|
||||||
|
{
|
||||||
|
pname = "camomile";
|
||||||
|
version = "1.0.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/yoriyuki/Camomile/releases/download/1.0.2/camomile-1.0.2.tbz";
|
||||||
|
sha256 = "0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/camomile/camomile.1.0.2";
|
||||||
|
hash = "sha256:08z0c35bcm72ch2n7w0b1x7xnwn2hhcky5r6vyz8hi4m9jqv6azv";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
charInfo_width =
|
||||||
|
{
|
||||||
|
pname = "charInfo_width";
|
||||||
|
version = "1.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/charInfo_width/archive/1.1.0.tar.gz";
|
||||||
|
sha256 = "0wl1hcwbx2mmgbhwh1wwgjixvppjq0k43nqyq13xm4pvgdxfvci1";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) result ocaml dune camomile;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/charInfo_width/charInfo_width.1.1.0";
|
||||||
|
hash = "sha256:1vx3dlvd3xslkc9q93yyqnn479sj4wpmp9xwngipnibla7mcpyq7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cppo =
|
||||||
|
{
|
||||||
|
pname = "cppo";
|
||||||
|
version = "1.6.8";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz";
|
||||||
|
sha256 = "0lxy4xkkkwgs1cj6d9lyzsqi9f6fc9r6cir5imi7yjqrpd86s1by";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml dune base-unix;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/cppo/cppo.1.6.8";
|
||||||
|
hash = "sha256:0pzd8irqkkkpfgw8nq9d21z9rj5m3qlzixyb7ybfy4b1fwh3n8bp";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
csexp =
|
||||||
|
{
|
||||||
|
pname = "csexp";
|
||||||
|
version = "1.5.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-dune/csexp/releases/download/1.5.1/csexp-1.5.1.tbz";
|
||||||
|
sha256 = "00mc19f89pxpmjl62862ya5kjcfrl8rjzvs00j05h2m9bw3f81fn";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/csexp/csexp.1.5.1";
|
||||||
|
hash = "sha256:01lc95kz13gpki4xazyh6n20kv1g9inyb5myv240wl2n9v50z8fl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dune =
|
||||||
|
{
|
||||||
|
pname = "dune";
|
||||||
|
version = "2.9.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/dune/releases/download/2.9.2/dune-site-2.9.2.tbz";
|
||||||
|
sha256 = "0ivl5r9diky8r1rfka7427kc3lh168mrz0ywdxgv8y5rgx8crrxq";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) base-unix
|
||||||
|
base-threads;
|
||||||
|
ocamlfind-secondary = selection.ocamlfind-secondary or null;
|
||||||
|
ocaml = selection.ocaml or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/dune/dune.2.9.2";
|
||||||
|
hash = "sha256:0qzzy2kn29ww9ryl2fvhkph9lmc112yr86xn8r8s9rbaz2zfkm6x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dune-configurator =
|
||||||
|
{
|
||||||
|
pname = "dune-configurator";
|
||||||
|
version = "2.9.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/dune/releases/download/2.9.1/dune-2.9.1.tbz";
|
||||||
|
sha256 = "09lzq04b642iy0ljp59p32lgk3q8iphjh8fkdp69q29l5frgwx5k";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) result ocaml dune csexp;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/dune-configurator/dune-configurator.2.9.1";
|
||||||
|
hash = "sha256:1aik9w82r8vbb9fsfphpb0vam68s19ggkxprnqr99ygyalp2b71j";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lambda-term =
|
||||||
|
{
|
||||||
|
pname = "lambda-term";
|
||||||
|
version = "3.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/lambda-term/archive/3.1.0.tar.gz";
|
||||||
|
sha256 = "1462j2c2nnzv6ng8b6907bw0zy3mhhnnjdm8k6as0sgm9ls0r77r";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) zed react ocaml mew_vi lwt_react lwt_log lwt dune
|
||||||
|
camomile;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lambda-term/lambda-term.3.1.0";
|
||||||
|
hash = "sha256:0v2wk9gxj0p1znivgrbshj038l2rjhzrhk61s7kiayy9ka101cav";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt =
|
||||||
|
{
|
||||||
|
pname = "lwt";
|
||||||
|
version = "5.5.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocsigen/lwt/archive/refs/tags/5.5.0.tar.gz";
|
||||||
|
sha256 = "15gr6nhhfjyh91v9chvm6j7vnp1hhc60y3plgvcgl5yl5k7xbbj9";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) seq result ocplib-endian ocaml mmap
|
||||||
|
dune-configurator dune
|
||||||
|
cppo;
|
||||||
|
ocaml-syntax-shims = selection.ocaml-syntax-shims or null;
|
||||||
|
conf-libev = selection.conf-libev or null;
|
||||||
|
base-unix = selection.base-unix or null;
|
||||||
|
base-threads = selection.base-threads or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt/lwt.5.5.0";
|
||||||
|
hash = "sha256:0iadlycd4q93lsk07k9zaimlysgd38sj6v50dc3cb491vl0icipz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt_log =
|
||||||
|
{
|
||||||
|
pname = "lwt_log";
|
||||||
|
version = "1.1.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/aantron/lwt_log/archive/1.1.1.tar.gz";
|
||||||
|
sha256 = "0gszc8nvk2hpfq47plb36qahlnyfq28sa9mhicnf6mg5c7n1kyql";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) lwt dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt_log/lwt_log.1.1.1";
|
||||||
|
hash = "sha256:18iddwpvs7hwkmsbii11kiw0aaad4kf8iv9vjw01npflxh729vig";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt_react =
|
||||||
|
{
|
||||||
|
pname = "lwt_react";
|
||||||
|
version = "1.1.5";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocsigen/lwt/archive/refs/tags/5.5.0.tar.gz";
|
||||||
|
sha256 = "15gr6nhhfjyh91v9chvm6j7vnp1hhc60y3plgvcgl5yl5k7xbbj9";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml lwt dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt_react/lwt_react.1.1.5";
|
||||||
|
hash = "sha256:1k0ysm1wdx55dzma6k1ifx0s09ijxg7jvjh2ak5l540lbjx30cf2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mew =
|
||||||
|
{
|
||||||
|
pname = "mew";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/mew/archive/0.1.0.tar.gz";
|
||||||
|
sha256 = "1rjri9mgfb9gn9fmjn0ax21y9jd9wkvr7mmx2jrlqmzgabmqrlv4";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) trie result ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mew/mew.0.1.0";
|
||||||
|
hash = "sha256:0g9xms016f909fzbwgxcy0k4xmvr5zk5bhnz66v9vpsiak2qm4s3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mew_vi =
|
||||||
|
{
|
||||||
|
pname = "mew_vi";
|
||||||
|
version = "0.5.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/mew_vi/archive/0.5.0.tar.gz";
|
||||||
|
sha256 = "1nmg3cysglgw4115n5zpz4azrfbnfxkn2kvw73chzs69viygm4m6";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml mew dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mew_vi/mew_vi.0.5.0";
|
||||||
|
hash = "sha256:0zsfhxpff78cqk2c81parajb59m7hqf6v8arksxbyfha6mls65hz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mmap =
|
||||||
|
{
|
||||||
|
pname = "mmap";
|
||||||
|
version = "1.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz";
|
||||||
|
sha256 = "0l6waidal2n8mkdn74avbslvc10sf49f5d889n838z03pra5chsc";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mmap/mmap.1.1.0";
|
||||||
|
hash = "sha256:1snhaf6mixmmb49gcin5wmbz4bfjz406mip4556lids8ajm22ibh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml =
|
||||||
|
{
|
||||||
|
pname = "ocaml";
|
||||||
|
version = "4.11.2";
|
||||||
|
src = null;
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection)
|
||||||
|
ocaml-config;
|
||||||
|
ocaml-variants = selection.ocaml-variants or null;
|
||||||
|
ocaml-system = selection.ocaml-system or null;
|
||||||
|
ocaml-base-compiler = selection.ocaml-base-compiler or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml/ocaml.4.11.2";
|
||||||
|
hash = "sha256:14clfk687d596dyhfblf9sljbk31937rrnyx2nqi7ii52qwknn5x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml-base-compiler =
|
||||||
|
{
|
||||||
|
pname = "ocaml-base-compiler";
|
||||||
|
version = "4.11.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/ocaml/archive/4.11.2.tar.gz";
|
||||||
|
sha256 = "02day17rxrd0vla89mxl1yac657d1hs0lxspj8sd58ygyrl2ljh4";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml-base-compiler/ocaml-base-compiler.4.11.2";
|
||||||
|
hash = "sha256:0zaxk9ndzqf392h8arbl11qdllm0aljgahzam9ql2mq41pccpfdg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml-config =
|
||||||
|
{
|
||||||
|
pname = "ocaml-config";
|
||||||
|
version = "1";
|
||||||
|
src = null;
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
ocaml-variants = selection.ocaml-variants or null;
|
||||||
|
ocaml-system = selection.ocaml-system or null;
|
||||||
|
ocaml-base-compiler = selection.ocaml-base-compiler or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml-config/ocaml-config.1";
|
||||||
|
hash = "sha256:1gc3pyhb64j8a91bgbpy9fzljpb1ps2ylgw31ldx879vdkk46nhp";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocamlbuild =
|
||||||
|
{
|
||||||
|
pname = "ocamlbuild";
|
||||||
|
version = "0.14.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz";
|
||||||
|
sha256 = "0y1fskw9rg2y1zgb7whv3v8v4xw04svgxslf3856q2aqd7lrrcl7";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocamlbuild/ocamlbuild.0.14.0";
|
||||||
|
hash = "sha256:1r5qnrcxfypzyvjvb3zd9f66kr5ldxdl3g9rsi3pb6040krqb5w7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocamlfind =
|
||||||
|
{
|
||||||
|
pname = "ocamlfind";
|
||||||
|
version = "1.9.3";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "http://download.camlcity.org/download/findlib-1.9.3.tar.gz";
|
||||||
|
sha256 = "0hfcwamcvinmww59b5i4yxbf0kxyzkp5qv3d1c7ybn9q52vgq463";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
graphics = selection.graphics or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocamlfind/ocamlfind.1.9.3";
|
||||||
|
hash = "sha256:1wq1lkw3rpgilprlakznsxxf60mcidn3fzi3vjrgjdrnnp9hvh19";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocplib-endian =
|
||||||
|
{
|
||||||
|
pname = "ocplib-endian";
|
||||||
|
version = "1.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/1.2.tar.gz";
|
||||||
|
sha256 = "085kskr0cxcnv2d62n3jq1r273p7giisy56zfl26mm7amvl79blp";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml dune cppo base-bytes;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocplib-endian/ocplib-endian.1.2";
|
||||||
|
hash = "sha256:1jldvb471gyhkrzwfvqg722l3a8dc37hhhyas66skjzfmqyi2pnh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
react =
|
||||||
|
{
|
||||||
|
pname = "react";
|
||||||
|
version = "1.2.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "http://erratique.ch/software/react/releases/react-1.2.1.tbz";
|
||||||
|
sha256 = "1aj8w79gdd9xnrbz7s5p8glcb4pmimi8jp9f439dqnf6ih3mqb3v";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) topkg ocamlfind ocamlbuild ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/react/react.1.2.1";
|
||||||
|
hash = "sha256:0wk5i83r2hxz1r1skkhzz8rild68m4g9i9blxigbg9r60hgw18z5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
result =
|
||||||
|
{
|
||||||
|
pname = "result";
|
||||||
|
version = "1.5";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz";
|
||||||
|
sha256 = "0cpfp35fdwnv3p30a06wd0py3805qxmq3jmcynjc3x2qhlimwfkw";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/result/result.1.5";
|
||||||
|
hash = "sha256:0ybmvlisfz5swvbcq855czz1ysv9zxmb79f1m0x8284hczmfm98f";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
seq =
|
||||||
|
{
|
||||||
|
pname = "seq";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/seq/seq.base";
|
||||||
|
hash = "sha256:1vm8mk6zm2q3fwnkprl6jib048zr4ysldw0bl74x6wwbxj0vx6k9";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
topkg =
|
||||||
|
{
|
||||||
|
pname = "topkg";
|
||||||
|
version = "1.0.4";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://erratique.ch/software/topkg/releases/topkg-1.0.4.tbz";
|
||||||
|
sha256 = "1kzw5cxkizcvh4rgzwgpjlj9hfxfk6yr686bxx6wrbsfs8as371k";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocamlfind ocamlbuild ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/topkg/topkg.1.0.4";
|
||||||
|
hash = "sha256:0gvngd4nayhhw02gcsljvmx6jkjpv9m3mqwpgimcfq04h0cf4knb";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
trie =
|
||||||
|
{
|
||||||
|
pname = "trie";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/trie/archive/1.0.0.tar.gz";
|
||||||
|
sha256 = "1slq4kiwnc723dsaw15ms7xxpqz061v8zck1m6iyc5j2li70by62";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/trie/trie.1.0.0";
|
||||||
|
hash = "sha256:1ds07ikjjymacnlxfx1widfi7qz0js61lsqqq0xa90501p17nq10";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
utop =
|
||||||
|
{
|
||||||
|
pname = "utop";
|
||||||
|
version = "development";
|
||||||
|
src = self.directSrc "utop";
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocamlfind ocaml lwt_react lwt lambda-term
|
||||||
|
dune cppo camomile base-unix base-threads;
|
||||||
|
};
|
||||||
|
opamSrc = "utop.opam";
|
||||||
|
};
|
||||||
|
zed =
|
||||||
|
{
|
||||||
|
pname = "zed";
|
||||||
|
version = "3.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/zed/archive/3.1.0.tar.gz";
|
||||||
|
sha256 = "1z95fs49hi00xy078a83m0vfdqwjb5953rwr15lfpirldi4v11y3";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml dune charInfo_width camomile
|
||||||
|
base-bytes;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/zed/zed.3.1.0";
|
||||||
|
hash = "sha256:1k1yd4dwg6x5rija3lan3q57nr6f1xa45248613rr7k2x5zdp2nx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,555 @@
|
||||||
|
### This file is generated by opam2nix.
|
||||||
|
|
||||||
|
self:
|
||||||
|
let
|
||||||
|
lib = self.lib;
|
||||||
|
pkgs = self.pkgs;
|
||||||
|
selection = self.selection;
|
||||||
|
repoPath = self.repoPath;
|
||||||
|
repos =
|
||||||
|
{
|
||||||
|
opam-repository =
|
||||||
|
rec {
|
||||||
|
fetch =
|
||||||
|
{
|
||||||
|
owner = "ocaml";
|
||||||
|
repo = "opam-repository";
|
||||||
|
rev = "7cf7c46fd0c289f632b288a2ae1bc99ea3d378cc";
|
||||||
|
sha256 = "0xiibs33w7hn8fkmk8mvgxdly70rral2nadkip5rmivlv6f91n3h";
|
||||||
|
};
|
||||||
|
src = (pkgs.fetchFromGitHub) fetch;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
format-version = 4;
|
||||||
|
inherit repos;
|
||||||
|
ocaml-version = "4.12.0";
|
||||||
|
selection =
|
||||||
|
{
|
||||||
|
base-bytes =
|
||||||
|
{
|
||||||
|
pname = "base-bytes";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocamlfind ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-bytes/base-bytes.base";
|
||||||
|
hash = "sha256:0a68lmbf68jgm1i3b59j2sc3ha9yhv4678f9mfwwvczw88prq7l3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
base-threads =
|
||||||
|
{
|
||||||
|
pname = "base-threads";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-threads/base-threads.base";
|
||||||
|
hash = "sha256:1c4bpyh61ampjgk5yh3inrgcpf1z1xv0pshn54ycmpn4dyzv0p2x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
base-unix =
|
||||||
|
{
|
||||||
|
pname = "base-unix";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-unix/base-unix.base";
|
||||||
|
hash = "sha256:0mpsvb7684g723ylngryh15aqxg3blb7hgmq2fsqjyppr36iyzwg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
camomile =
|
||||||
|
{
|
||||||
|
pname = "camomile";
|
||||||
|
version = "1.0.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/yoriyuki/Camomile/releases/download/1.0.2/camomile-1.0.2.tbz";
|
||||||
|
sha256 = "0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/camomile/camomile.1.0.2";
|
||||||
|
hash = "sha256:08z0c35bcm72ch2n7w0b1x7xnwn2hhcky5r6vyz8hi4m9jqv6azv";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
charInfo_width =
|
||||||
|
{
|
||||||
|
pname = "charInfo_width";
|
||||||
|
version = "1.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/charInfo_width/archive/1.1.0.tar.gz";
|
||||||
|
sha256 = "0wl1hcwbx2mmgbhwh1wwgjixvppjq0k43nqyq13xm4pvgdxfvci1";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) result ocaml dune camomile;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/charInfo_width/charInfo_width.1.1.0";
|
||||||
|
hash = "sha256:1vx3dlvd3xslkc9q93yyqnn479sj4wpmp9xwngipnibla7mcpyq7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cppo =
|
||||||
|
{
|
||||||
|
pname = "cppo";
|
||||||
|
version = "1.6.8";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz";
|
||||||
|
sha256 = "0lxy4xkkkwgs1cj6d9lyzsqi9f6fc9r6cir5imi7yjqrpd86s1by";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml dune base-unix;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/cppo/cppo.1.6.8";
|
||||||
|
hash = "sha256:0pzd8irqkkkpfgw8nq9d21z9rj5m3qlzixyb7ybfy4b1fwh3n8bp";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
csexp =
|
||||||
|
{
|
||||||
|
pname = "csexp";
|
||||||
|
version = "1.5.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-dune/csexp/releases/download/1.5.1/csexp-1.5.1.tbz";
|
||||||
|
sha256 = "00mc19f89pxpmjl62862ya5kjcfrl8rjzvs00j05h2m9bw3f81fn";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/csexp/csexp.1.5.1";
|
||||||
|
hash = "sha256:01lc95kz13gpki4xazyh6n20kv1g9inyb5myv240wl2n9v50z8fl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dune =
|
||||||
|
{
|
||||||
|
pname = "dune";
|
||||||
|
version = "2.9.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/dune/releases/download/2.9.2/dune-site-2.9.2.tbz";
|
||||||
|
sha256 = "0ivl5r9diky8r1rfka7427kc3lh168mrz0ywdxgv8y5rgx8crrxq";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) base-unix
|
||||||
|
base-threads;
|
||||||
|
ocamlfind-secondary = selection.ocamlfind-secondary or null;
|
||||||
|
ocaml = selection.ocaml or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/dune/dune.2.9.2";
|
||||||
|
hash = "sha256:0qzzy2kn29ww9ryl2fvhkph9lmc112yr86xn8r8s9rbaz2zfkm6x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dune-configurator =
|
||||||
|
{
|
||||||
|
pname = "dune-configurator";
|
||||||
|
version = "2.9.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/dune/releases/download/2.9.1/dune-2.9.1.tbz";
|
||||||
|
sha256 = "09lzq04b642iy0ljp59p32lgk3q8iphjh8fkdp69q29l5frgwx5k";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) result ocaml dune csexp;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/dune-configurator/dune-configurator.2.9.1";
|
||||||
|
hash = "sha256:1aik9w82r8vbb9fsfphpb0vam68s19ggkxprnqr99ygyalp2b71j";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lambda-term =
|
||||||
|
{
|
||||||
|
pname = "lambda-term";
|
||||||
|
version = "3.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/lambda-term/archive/3.1.0.tar.gz";
|
||||||
|
sha256 = "1462j2c2nnzv6ng8b6907bw0zy3mhhnnjdm8k6as0sgm9ls0r77r";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) zed react ocaml mew_vi lwt_react lwt_log lwt dune
|
||||||
|
camomile;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lambda-term/lambda-term.3.1.0";
|
||||||
|
hash = "sha256:0v2wk9gxj0p1znivgrbshj038l2rjhzrhk61s7kiayy9ka101cav";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt =
|
||||||
|
{
|
||||||
|
pname = "lwt";
|
||||||
|
version = "5.5.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocsigen/lwt/archive/refs/tags/5.5.0.tar.gz";
|
||||||
|
sha256 = "15gr6nhhfjyh91v9chvm6j7vnp1hhc60y3plgvcgl5yl5k7xbbj9";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) seq result ocplib-endian ocaml mmap
|
||||||
|
dune-configurator dune
|
||||||
|
cppo;
|
||||||
|
ocaml-syntax-shims = selection.ocaml-syntax-shims or null;
|
||||||
|
conf-libev = selection.conf-libev or null;
|
||||||
|
base-unix = selection.base-unix or null;
|
||||||
|
base-threads = selection.base-threads or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt/lwt.5.5.0";
|
||||||
|
hash = "sha256:0iadlycd4q93lsk07k9zaimlysgd38sj6v50dc3cb491vl0icipz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt_log =
|
||||||
|
{
|
||||||
|
pname = "lwt_log";
|
||||||
|
version = "1.1.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/aantron/lwt_log/archive/1.1.1.tar.gz";
|
||||||
|
sha256 = "0gszc8nvk2hpfq47plb36qahlnyfq28sa9mhicnf6mg5c7n1kyql";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) lwt dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt_log/lwt_log.1.1.1";
|
||||||
|
hash = "sha256:18iddwpvs7hwkmsbii11kiw0aaad4kf8iv9vjw01npflxh729vig";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt_react =
|
||||||
|
{
|
||||||
|
pname = "lwt_react";
|
||||||
|
version = "1.1.5";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocsigen/lwt/archive/refs/tags/5.5.0.tar.gz";
|
||||||
|
sha256 = "15gr6nhhfjyh91v9chvm6j7vnp1hhc60y3plgvcgl5yl5k7xbbj9";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml lwt dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt_react/lwt_react.1.1.5";
|
||||||
|
hash = "sha256:1k0ysm1wdx55dzma6k1ifx0s09ijxg7jvjh2ak5l540lbjx30cf2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mew =
|
||||||
|
{
|
||||||
|
pname = "mew";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/mew/archive/0.1.0.tar.gz";
|
||||||
|
sha256 = "1rjri9mgfb9gn9fmjn0ax21y9jd9wkvr7mmx2jrlqmzgabmqrlv4";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) trie result ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mew/mew.0.1.0";
|
||||||
|
hash = "sha256:0g9xms016f909fzbwgxcy0k4xmvr5zk5bhnz66v9vpsiak2qm4s3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mew_vi =
|
||||||
|
{
|
||||||
|
pname = "mew_vi";
|
||||||
|
version = "0.5.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/mew_vi/archive/0.5.0.tar.gz";
|
||||||
|
sha256 = "1nmg3cysglgw4115n5zpz4azrfbnfxkn2kvw73chzs69viygm4m6";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml mew dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mew_vi/mew_vi.0.5.0";
|
||||||
|
hash = "sha256:0zsfhxpff78cqk2c81parajb59m7hqf6v8arksxbyfha6mls65hz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mmap =
|
||||||
|
{
|
||||||
|
pname = "mmap";
|
||||||
|
version = "1.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz";
|
||||||
|
sha256 = "0l6waidal2n8mkdn74avbslvc10sf49f5d889n838z03pra5chsc";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mmap/mmap.1.1.0";
|
||||||
|
hash = "sha256:1snhaf6mixmmb49gcin5wmbz4bfjz406mip4556lids8ajm22ibh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml =
|
||||||
|
{
|
||||||
|
pname = "ocaml";
|
||||||
|
version = "4.12.0";
|
||||||
|
src = null;
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection)
|
||||||
|
ocaml-config;
|
||||||
|
ocaml-variants = selection.ocaml-variants or null;
|
||||||
|
ocaml-system = selection.ocaml-system or null;
|
||||||
|
ocaml-base-compiler = selection.ocaml-base-compiler or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml/ocaml.4.12.0";
|
||||||
|
hash = "sha256:038vq14gnl2qzgk4mjr0xif1xln30wk5hbj2icvq3ql6hszyrf9g";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml-base-compiler =
|
||||||
|
{
|
||||||
|
pname = "ocaml-base-compiler";
|
||||||
|
version = "4.12.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/ocaml/archive/4.12.0.tar.gz";
|
||||||
|
sha256 = "0i37laikik5vwydw1cwygxd8xq2d6n35l20irgrh691njlwpmh5d";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml-base-compiler/ocaml-base-compiler.4.12.0";
|
||||||
|
hash = "sha256:12clsv2kmwsfy685kjkjsyv41krfrr04ccpc11xhv6ar0090bsh5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml-config =
|
||||||
|
{
|
||||||
|
pname = "ocaml-config";
|
||||||
|
version = "2";
|
||||||
|
src = null;
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
ocaml-variants = selection.ocaml-variants or null;
|
||||||
|
ocaml-system = selection.ocaml-system or null;
|
||||||
|
ocaml-base-compiler = selection.ocaml-base-compiler or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml-config/ocaml-config.2";
|
||||||
|
hash = "sha256:0h0hgqq9mbywvqygppfdc50gf9ss8a97l4dgsv3hszmzh6gglgrg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocamlbuild =
|
||||||
|
{
|
||||||
|
pname = "ocamlbuild";
|
||||||
|
version = "0.14.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz";
|
||||||
|
sha256 = "0y1fskw9rg2y1zgb7whv3v8v4xw04svgxslf3856q2aqd7lrrcl7";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocamlbuild/ocamlbuild.0.14.0";
|
||||||
|
hash = "sha256:1r5qnrcxfypzyvjvb3zd9f66kr5ldxdl3g9rsi3pb6040krqb5w7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocamlfind =
|
||||||
|
{
|
||||||
|
pname = "ocamlfind";
|
||||||
|
version = "1.9.3";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "http://download.camlcity.org/download/findlib-1.9.3.tar.gz";
|
||||||
|
sha256 = "0hfcwamcvinmww59b5i4yxbf0kxyzkp5qv3d1c7ybn9q52vgq463";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
graphics = selection.graphics or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocamlfind/ocamlfind.1.9.3";
|
||||||
|
hash = "sha256:1wq1lkw3rpgilprlakznsxxf60mcidn3fzi3vjrgjdrnnp9hvh19";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocplib-endian =
|
||||||
|
{
|
||||||
|
pname = "ocplib-endian";
|
||||||
|
version = "1.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/1.2.tar.gz";
|
||||||
|
sha256 = "085kskr0cxcnv2d62n3jq1r273p7giisy56zfl26mm7amvl79blp";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml dune cppo base-bytes;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocplib-endian/ocplib-endian.1.2";
|
||||||
|
hash = "sha256:1jldvb471gyhkrzwfvqg722l3a8dc37hhhyas66skjzfmqyi2pnh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
react =
|
||||||
|
{
|
||||||
|
pname = "react";
|
||||||
|
version = "1.2.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "http://erratique.ch/software/react/releases/react-1.2.1.tbz";
|
||||||
|
sha256 = "1aj8w79gdd9xnrbz7s5p8glcb4pmimi8jp9f439dqnf6ih3mqb3v";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) topkg ocamlfind ocamlbuild ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/react/react.1.2.1";
|
||||||
|
hash = "sha256:0wk5i83r2hxz1r1skkhzz8rild68m4g9i9blxigbg9r60hgw18z5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
result =
|
||||||
|
{
|
||||||
|
pname = "result";
|
||||||
|
version = "1.5";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz";
|
||||||
|
sha256 = "0cpfp35fdwnv3p30a06wd0py3805qxmq3jmcynjc3x2qhlimwfkw";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/result/result.1.5";
|
||||||
|
hash = "sha256:0ybmvlisfz5swvbcq855czz1ysv9zxmb79f1m0x8284hczmfm98f";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
seq =
|
||||||
|
{
|
||||||
|
pname = "seq";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/seq/seq.base";
|
||||||
|
hash = "sha256:1vm8mk6zm2q3fwnkprl6jib048zr4ysldw0bl74x6wwbxj0vx6k9";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
topkg =
|
||||||
|
{
|
||||||
|
pname = "topkg";
|
||||||
|
version = "1.0.4";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://erratique.ch/software/topkg/releases/topkg-1.0.4.tbz";
|
||||||
|
sha256 = "1kzw5cxkizcvh4rgzwgpjlj9hfxfk6yr686bxx6wrbsfs8as371k";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocamlfind ocamlbuild ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/topkg/topkg.1.0.4";
|
||||||
|
hash = "sha256:0gvngd4nayhhw02gcsljvmx6jkjpv9m3mqwpgimcfq04h0cf4knb";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
trie =
|
||||||
|
{
|
||||||
|
pname = "trie";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/trie/archive/1.0.0.tar.gz";
|
||||||
|
sha256 = "1slq4kiwnc723dsaw15ms7xxpqz061v8zck1m6iyc5j2li70by62";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/trie/trie.1.0.0";
|
||||||
|
hash = "sha256:1ds07ikjjymacnlxfx1widfi7qz0js61lsqqq0xa90501p17nq10";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
utop =
|
||||||
|
{
|
||||||
|
pname = "utop";
|
||||||
|
version = "development";
|
||||||
|
src = self.directSrc "utop";
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocamlfind ocaml lwt_react lwt lambda-term
|
||||||
|
dune cppo camomile base-unix base-threads;
|
||||||
|
};
|
||||||
|
opamSrc = "utop.opam";
|
||||||
|
};
|
||||||
|
zed =
|
||||||
|
{
|
||||||
|
pname = "zed";
|
||||||
|
version = "3.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/zed/archive/3.1.0.tar.gz";
|
||||||
|
sha256 = "1z95fs49hi00xy078a83m0vfdqwjb5953rwr15lfpirldi4v11y3";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml dune charInfo_width camomile
|
||||||
|
base-bytes;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/zed/zed.3.1.0";
|
||||||
|
hash = "sha256:1k1yd4dwg6x5rija3lan3q57nr6f1xa45248613rr7k2x5zdp2nx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,555 @@
|
||||||
|
### This file is generated by opam2nix.
|
||||||
|
|
||||||
|
self:
|
||||||
|
let
|
||||||
|
lib = self.lib;
|
||||||
|
pkgs = self.pkgs;
|
||||||
|
selection = self.selection;
|
||||||
|
repoPath = self.repoPath;
|
||||||
|
repos =
|
||||||
|
{
|
||||||
|
opam-repository =
|
||||||
|
rec {
|
||||||
|
fetch =
|
||||||
|
{
|
||||||
|
owner = "ocaml";
|
||||||
|
repo = "opam-repository";
|
||||||
|
rev = "7cf7c46fd0c289f632b288a2ae1bc99ea3d378cc";
|
||||||
|
sha256 = "0xiibs33w7hn8fkmk8mvgxdly70rral2nadkip5rmivlv6f91n3h";
|
||||||
|
};
|
||||||
|
src = (pkgs.fetchFromGitHub) fetch;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
format-version = 4;
|
||||||
|
inherit repos;
|
||||||
|
ocaml-version = "4.13.1";
|
||||||
|
selection =
|
||||||
|
{
|
||||||
|
base-bytes =
|
||||||
|
{
|
||||||
|
pname = "base-bytes";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocamlfind ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-bytes/base-bytes.base";
|
||||||
|
hash = "sha256:0a68lmbf68jgm1i3b59j2sc3ha9yhv4678f9mfwwvczw88prq7l3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
base-threads =
|
||||||
|
{
|
||||||
|
pname = "base-threads";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-threads/base-threads.base";
|
||||||
|
hash = "sha256:1c4bpyh61ampjgk5yh3inrgcpf1z1xv0pshn54ycmpn4dyzv0p2x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
base-unix =
|
||||||
|
{
|
||||||
|
pname = "base-unix";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/base-unix/base-unix.base";
|
||||||
|
hash = "sha256:0mpsvb7684g723ylngryh15aqxg3blb7hgmq2fsqjyppr36iyzwg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
camomile =
|
||||||
|
{
|
||||||
|
pname = "camomile";
|
||||||
|
version = "1.0.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/yoriyuki/Camomile/releases/download/1.0.2/camomile-1.0.2.tbz";
|
||||||
|
sha256 = "0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/camomile/camomile.1.0.2";
|
||||||
|
hash = "sha256:08z0c35bcm72ch2n7w0b1x7xnwn2hhcky5r6vyz8hi4m9jqv6azv";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
charInfo_width =
|
||||||
|
{
|
||||||
|
pname = "charInfo_width";
|
||||||
|
version = "1.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/charInfo_width/archive/1.1.0.tar.gz";
|
||||||
|
sha256 = "0wl1hcwbx2mmgbhwh1wwgjixvppjq0k43nqyq13xm4pvgdxfvci1";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) result ocaml dune camomile;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/charInfo_width/charInfo_width.1.1.0";
|
||||||
|
hash = "sha256:1vx3dlvd3xslkc9q93yyqnn479sj4wpmp9xwngipnibla7mcpyq7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cppo =
|
||||||
|
{
|
||||||
|
pname = "cppo";
|
||||||
|
version = "1.6.8";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz";
|
||||||
|
sha256 = "0lxy4xkkkwgs1cj6d9lyzsqi9f6fc9r6cir5imi7yjqrpd86s1by";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml dune base-unix;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/cppo/cppo.1.6.8";
|
||||||
|
hash = "sha256:0pzd8irqkkkpfgw8nq9d21z9rj5m3qlzixyb7ybfy4b1fwh3n8bp";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
csexp =
|
||||||
|
{
|
||||||
|
pname = "csexp";
|
||||||
|
version = "1.5.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-dune/csexp/releases/download/1.5.1/csexp-1.5.1.tbz";
|
||||||
|
sha256 = "00mc19f89pxpmjl62862ya5kjcfrl8rjzvs00j05h2m9bw3f81fn";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/csexp/csexp.1.5.1";
|
||||||
|
hash = "sha256:01lc95kz13gpki4xazyh6n20kv1g9inyb5myv240wl2n9v50z8fl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dune =
|
||||||
|
{
|
||||||
|
pname = "dune";
|
||||||
|
version = "2.9.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/dune/releases/download/2.9.2/dune-site-2.9.2.tbz";
|
||||||
|
sha256 = "0ivl5r9diky8r1rfka7427kc3lh168mrz0ywdxgv8y5rgx8crrxq";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) base-unix
|
||||||
|
base-threads;
|
||||||
|
ocamlfind-secondary = selection.ocamlfind-secondary or null;
|
||||||
|
ocaml = selection.ocaml or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/dune/dune.2.9.2";
|
||||||
|
hash = "sha256:0qzzy2kn29ww9ryl2fvhkph9lmc112yr86xn8r8s9rbaz2zfkm6x";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dune-configurator =
|
||||||
|
{
|
||||||
|
pname = "dune-configurator";
|
||||||
|
version = "2.9.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/dune/releases/download/2.9.1/dune-2.9.1.tbz";
|
||||||
|
sha256 = "09lzq04b642iy0ljp59p32lgk3q8iphjh8fkdp69q29l5frgwx5k";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) result ocaml dune csexp;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/dune-configurator/dune-configurator.2.9.1";
|
||||||
|
hash = "sha256:1aik9w82r8vbb9fsfphpb0vam68s19ggkxprnqr99ygyalp2b71j";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lambda-term =
|
||||||
|
{
|
||||||
|
pname = "lambda-term";
|
||||||
|
version = "3.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/lambda-term/archive/3.1.0.tar.gz";
|
||||||
|
sha256 = "1462j2c2nnzv6ng8b6907bw0zy3mhhnnjdm8k6as0sgm9ls0r77r";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) zed react ocaml mew_vi lwt_react lwt_log lwt dune
|
||||||
|
camomile;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lambda-term/lambda-term.3.1.0";
|
||||||
|
hash = "sha256:0v2wk9gxj0p1znivgrbshj038l2rjhzrhk61s7kiayy9ka101cav";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt =
|
||||||
|
{
|
||||||
|
pname = "lwt";
|
||||||
|
version = "5.5.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocsigen/lwt/archive/refs/tags/5.5.0.tar.gz";
|
||||||
|
sha256 = "15gr6nhhfjyh91v9chvm6j7vnp1hhc60y3plgvcgl5yl5k7xbbj9";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) seq result ocplib-endian ocaml mmap
|
||||||
|
dune-configurator dune
|
||||||
|
cppo;
|
||||||
|
ocaml-syntax-shims = selection.ocaml-syntax-shims or null;
|
||||||
|
conf-libev = selection.conf-libev or null;
|
||||||
|
base-unix = selection.base-unix or null;
|
||||||
|
base-threads = selection.base-threads or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt/lwt.5.5.0";
|
||||||
|
hash = "sha256:0iadlycd4q93lsk07k9zaimlysgd38sj6v50dc3cb491vl0icipz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt_log =
|
||||||
|
{
|
||||||
|
pname = "lwt_log";
|
||||||
|
version = "1.1.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/aantron/lwt_log/archive/1.1.1.tar.gz";
|
||||||
|
sha256 = "0gszc8nvk2hpfq47plb36qahlnyfq28sa9mhicnf6mg5c7n1kyql";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) lwt dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt_log/lwt_log.1.1.1";
|
||||||
|
hash = "sha256:18iddwpvs7hwkmsbii11kiw0aaad4kf8iv9vjw01npflxh729vig";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lwt_react =
|
||||||
|
{
|
||||||
|
pname = "lwt_react";
|
||||||
|
version = "1.1.5";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocsigen/lwt/archive/refs/tags/5.5.0.tar.gz";
|
||||||
|
sha256 = "15gr6nhhfjyh91v9chvm6j7vnp1hhc60y3plgvcgl5yl5k7xbbj9";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml lwt dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/lwt_react/lwt_react.1.1.5";
|
||||||
|
hash = "sha256:1k0ysm1wdx55dzma6k1ifx0s09ijxg7jvjh2ak5l540lbjx30cf2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mew =
|
||||||
|
{
|
||||||
|
pname = "mew";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/mew/archive/0.1.0.tar.gz";
|
||||||
|
sha256 = "1rjri9mgfb9gn9fmjn0ax21y9jd9wkvr7mmx2jrlqmzgabmqrlv4";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) trie result ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mew/mew.0.1.0";
|
||||||
|
hash = "sha256:0g9xms016f909fzbwgxcy0k4xmvr5zk5bhnz66v9vpsiak2qm4s3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mew_vi =
|
||||||
|
{
|
||||||
|
pname = "mew_vi";
|
||||||
|
version = "0.5.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/mew_vi/archive/0.5.0.tar.gz";
|
||||||
|
sha256 = "1nmg3cysglgw4115n5zpz4azrfbnfxkn2kvw73chzs69viygm4m6";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml mew dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mew_vi/mew_vi.0.5.0";
|
||||||
|
hash = "sha256:0zsfhxpff78cqk2c81parajb59m7hqf6v8arksxbyfha6mls65hz";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mmap =
|
||||||
|
{
|
||||||
|
pname = "mmap";
|
||||||
|
version = "1.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz";
|
||||||
|
sha256 = "0l6waidal2n8mkdn74avbslvc10sf49f5d889n838z03pra5chsc";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/mmap/mmap.1.1.0";
|
||||||
|
hash = "sha256:1snhaf6mixmmb49gcin5wmbz4bfjz406mip4556lids8ajm22ibh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml =
|
||||||
|
{
|
||||||
|
pname = "ocaml";
|
||||||
|
version = "4.13.1";
|
||||||
|
src = null;
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection)
|
||||||
|
ocaml-config;
|
||||||
|
ocaml-variants = selection.ocaml-variants or null;
|
||||||
|
ocaml-system = selection.ocaml-system or null;
|
||||||
|
ocaml-base-compiler = selection.ocaml-base-compiler or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml/ocaml.4.13.1";
|
||||||
|
hash = "sha256:1ahflchxawi94yk4vwdhihkdlw51x2f9ljwngmd9ymzh88lyzfpn";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml-base-compiler =
|
||||||
|
{
|
||||||
|
pname = "ocaml-base-compiler";
|
||||||
|
version = "4.13.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/ocaml/archive/4.13.1.tar.gz";
|
||||||
|
sha256 = "1i7ad8lh5l74wb3yzmhlv529wc75a5sjybzkad7wdl8zrj47jk0r";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml-base-compiler/ocaml-base-compiler.4.13.1";
|
||||||
|
hash = "sha256:069i5vsndd9lsvdm5wk898nfnc85ww7459nibjg6881ww43w8ck1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocaml-config =
|
||||||
|
{
|
||||||
|
pname = "ocaml-config";
|
||||||
|
version = "2";
|
||||||
|
src = null;
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
ocaml-variants = selection.ocaml-variants or null;
|
||||||
|
ocaml-system = selection.ocaml-system or null;
|
||||||
|
ocaml-base-compiler = selection.ocaml-base-compiler or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocaml-config/ocaml-config.2";
|
||||||
|
hash = "sha256:0h0hgqq9mbywvqygppfdc50gf9ss8a97l4dgsv3hszmzh6gglgrg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocamlbuild =
|
||||||
|
{
|
||||||
|
pname = "ocamlbuild";
|
||||||
|
version = "0.14.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz";
|
||||||
|
sha256 = "0y1fskw9rg2y1zgb7whv3v8v4xw04svgxslf3856q2aqd7lrrcl7";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocamlbuild/ocamlbuild.0.14.0";
|
||||||
|
hash = "sha256:1r5qnrcxfypzyvjvb3zd9f66kr5ldxdl3g9rsi3pb6040krqb5w7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocamlfind =
|
||||||
|
{
|
||||||
|
pname = "ocamlfind";
|
||||||
|
version = "1.9.3";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "http://download.camlcity.org/download/findlib-1.9.3.tar.gz";
|
||||||
|
sha256 = "0hfcwamcvinmww59b5i4yxbf0kxyzkp5qv3d1c7ybn9q52vgq463";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
graphics = selection.graphics or null;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocamlfind/ocamlfind.1.9.3";
|
||||||
|
hash = "sha256:1wq1lkw3rpgilprlakznsxxf60mcidn3fzi3vjrgjdrnnp9hvh19";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
ocplib-endian =
|
||||||
|
{
|
||||||
|
pname = "ocplib-endian";
|
||||||
|
version = "1.2";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/1.2.tar.gz";
|
||||||
|
sha256 = "085kskr0cxcnv2d62n3jq1r273p7giisy56zfl26mm7amvl79blp";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocaml dune cppo base-bytes;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/ocplib-endian/ocplib-endian.1.2";
|
||||||
|
hash = "sha256:1jldvb471gyhkrzwfvqg722l3a8dc37hhhyas66skjzfmqyi2pnh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
react =
|
||||||
|
{
|
||||||
|
pname = "react";
|
||||||
|
version = "1.2.1";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "http://erratique.ch/software/react/releases/react-1.2.1.tbz";
|
||||||
|
sha256 = "1aj8w79gdd9xnrbz7s5p8glcb4pmimi8jp9f439dqnf6ih3mqb3v";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) topkg ocamlfind ocamlbuild ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/react/react.1.2.1";
|
||||||
|
hash = "sha256:0wk5i83r2hxz1r1skkhzz8rild68m4g9i9blxigbg9r60hgw18z5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
result =
|
||||||
|
{
|
||||||
|
pname = "result";
|
||||||
|
version = "1.5";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz";
|
||||||
|
sha256 = "0cpfp35fdwnv3p30a06wd0py3805qxmq3jmcynjc3x2qhlimwfkw";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/result/result.1.5";
|
||||||
|
hash = "sha256:0ybmvlisfz5swvbcq855czz1ysv9zxmb79f1m0x8284hczmfm98f";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
seq =
|
||||||
|
{
|
||||||
|
pname = "seq";
|
||||||
|
version = "base";
|
||||||
|
src = null;
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/seq/seq.base";
|
||||||
|
hash = "sha256:1vm8mk6zm2q3fwnkprl6jib048zr4ysldw0bl74x6wwbxj0vx6k9";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
topkg =
|
||||||
|
{
|
||||||
|
pname = "topkg";
|
||||||
|
version = "1.0.4";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://erratique.ch/software/topkg/releases/topkg-1.0.4.tbz";
|
||||||
|
sha256 = "1kzw5cxkizcvh4rgzwgpjlj9hfxfk6yr686bxx6wrbsfs8as371k";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) ocamlfind ocamlbuild ocaml;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/topkg/topkg.1.0.4";
|
||||||
|
hash = "sha256:0gvngd4nayhhw02gcsljvmx6jkjpv9m3mqwpgimcfq04h0cf4knb";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
trie =
|
||||||
|
{
|
||||||
|
pname = "trie";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/kandu/trie/archive/1.0.0.tar.gz";
|
||||||
|
sha256 = "1slq4kiwnc723dsaw15ms7xxpqz061v8zck1m6iyc5j2li70by62";
|
||||||
|
};
|
||||||
|
opamInputs = {
|
||||||
|
inherit (selection) ocaml dune;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/trie/trie.1.0.0";
|
||||||
|
hash = "sha256:1ds07ikjjymacnlxfx1widfi7qz0js61lsqqq0xa90501p17nq10";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
utop =
|
||||||
|
{
|
||||||
|
pname = "utop";
|
||||||
|
version = "development";
|
||||||
|
src = self.directSrc "utop";
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocamlfind ocaml lwt_react lwt lambda-term
|
||||||
|
dune cppo camomile base-unix base-threads;
|
||||||
|
};
|
||||||
|
opamSrc = "utop.opam";
|
||||||
|
};
|
||||||
|
zed =
|
||||||
|
{
|
||||||
|
pname = "zed";
|
||||||
|
version = "3.1.0";
|
||||||
|
src = pkgs.fetchurl
|
||||||
|
{
|
||||||
|
url = "https://github.com/ocaml-community/zed/archive/3.1.0.tar.gz";
|
||||||
|
sha256 = "1z95fs49hi00xy078a83m0vfdqwjb5953rwr15lfpirldi4v11y3";
|
||||||
|
};
|
||||||
|
opamInputs =
|
||||||
|
{
|
||||||
|
inherit (selection) react ocaml dune charInfo_width camomile
|
||||||
|
base-bytes;
|
||||||
|
};
|
||||||
|
opamSrc = repoPath (repos.opam-repository.src)
|
||||||
|
{
|
||||||
|
package = "packages/zed/zed.3.1.0";
|
||||||
|
hash = "sha256:1k1yd4dwg6x5rija3lan3q57nr6f1xa45248613rr7k2x5zdp2nx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ source ? builtins.fetchTarball "https://github.com/timbertson/opam2nix/archive/v1.tar.gz"
|
||||||
|
, pkgs
|
||||||
|
, ocamlPackagesOverride }:
|
||||||
|
import source { inherit pkgs ocamlPackagesOverride; }
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs ? import <nixpkgs> {}
|
||||||
|
, ocamlVersion ? import ./nix/ocamlDefaultVersion.nix }:
|
||||||
|
let
|
||||||
|
ocamlPackages = pkgs.ocaml-ng."ocamlPackages_${ocamlVersion}";
|
||||||
|
local = pkgs.callPackage ./. { inherit ocamlVersion; };
|
||||||
|
in
|
||||||
|
pkgs.mkShell {
|
||||||
|
inputsFrom = with local; [ utop ];
|
||||||
|
buildInputs = [ ocamlPackages.ocaml-lsp ocamlPackages.ocp-indent ];
|
||||||
|
}
|
Loading…
Reference in New Issue