diff --git a/nix/ocaml-overlay.nix b/nix/ocaml-overlay.nix index c750a9f27..93afa2dc4 100644 --- a/nix/ocaml-overlay.nix +++ b/nix/ocaml-overlay.nix @@ -22,6 +22,9 @@ in { macaddr = osuper.macaddr.versions."4.0.0"; ocaml-migrate-parsetree = osuper.ocaml-migrate-parsetree.versions."1.4.0"; ppx_tools_versioned = osuper.ppx_tools_versioned.versions."5.2.3"; + menhir = osuper.menhir.versions."20190626".overrideAttrs (_: { + buildPhase = "make PREFIX=$out"; + }); tezos-protocol-compiler = osuper.tezos-protocol-compiler.overrideAttrs (oa: { buildInputs = oa.buildInputs ++ [ oself.pprint ]; @@ -81,153 +84,3 @@ in { }) ]); } -# (oself: osuper: -# let -# callTezosPackage = name: args: -# oself.callOPAMPackage "${sources.tezos}/src/lib_${ -# builtins.replaceStrings [ "-" ] [ "_" ] name -# }" ({ -# pname = "tezos-${name}"; -# version = sources.tezos.rev; -# }); -# tezos = builtins.listToAttrs (map (name: { -# name = "tezos-${name}"; -# value = callTezosPackage name { } { }; -# }) [ -# "base" -# "event-logging" -# "micheline" -# "clic" -# "rpc" -# "error-monad" -# "stdlib" -# "crypto" -# ]); -# in tezos // { -# lwt = oself.lwt4; -# bigstring = oself.callOPAMPackage sources.bigstring { -# opamFile = "bigstring.opam"; -# buildPhase = "dune build -p bigstring"; -# } { bigstring-unix = null; }; -# hidapi = oself.callOPAMPackage sources.hidapi { -# version = "1.1.1"; -# extraBuildInputs = [ self.pkg-config ]; -# } { conf-hidapi = self.hidapi; }; -# crowbar = oself.callOPAMPackage sources.crowbar { -# pname = "crowbar"; -# version = "0.1"; -# } { }; -# afl-persistent = oself.callOPAMPackage sources.ocaml-afl-persistent { -# pname = "afl-persistent"; -# version = "1.1"; -# } { }; -# blake2 = oself.callOPAMPackage sources.blake2 { -# pname = "blake2"; -# version = "0.2"; -# } { }; -# hacl = oself.callOPAMPackage sources.hacl { -# pname = "hacl"; -# version = "0.1"; -# } { }; -# xmldiff = oself.callPackage -# ({ stdenv, autoreconfHook, ocaml, findlib, xmlm }: -# stdenv.mkDerivation { -# pname = "xmldiff"; -# version = "0.5.0"; -# src = sources.xmldiff; -# preInstall = -# "mkdir -p $out/lib/ocaml/${oself.ocaml.version}/site-lib"; -# nativeBuildInputs = [ autoreconfHook ocaml findlib ]; -# buildInputs = [ xmlm findlib ]; -# }) { }; -# json-data-encoding = oself.callOPAMPackage sources.json-data-encoding { -# opamFile = "json-data-encoding.opam"; -# pname = "json-data-encoding"; -# version = "0.8"; -# extraBuildInputs = [ oself.crowbar ]; -# } { }; -# json-data-encoding-bson = -# oself.callOPAMPackage sources.json-data-encoding { -# opamFile = "json-data-encoding-bson.opam"; -# pname = "json-data-encoding-bson"; -# version = "0.8"; -# } { }; -# data-encoding = oself.callOPAMPackage sources.data-encoding { -# pname = "data-encoding"; -# version = "0.0.0"; -# } { }; -# secp256k1-internal = oself.callOPAMPackage sources.secp256k1-internal { -# pname = "secp256k1-internal"; -# version = "0.1.0"; -# } { conf-gmp = self.gmp; }; -# uecc = oself.callOPAMPackage sources.uecc { -# pname = "uecc"; -# version = "0.1"; -# } { }; -# resto = oself.callOPAMPackage sources.resto { -# opamFile = "resto.opam"; -# pname = "resto"; -# version = "0.4"; -# } { }; -# resto-directory = oself.callOPAMPackage sources.resto { -# opamFile = "resto-directory.opam"; -# pname = "resto-directory"; -# version = "0.4"; -# } { resto-json = null; }; -# lwt-canceler = oself.callOPAMPackage sources.lwt-canceler { -# pname = "lwt-canceler"; -# version = "0.2"; -# } { }; -# simple-utils = -# oself.callOPAMPackage ../vendors/ligo-utils/simple-utils { -# pname = "simple-utils"; -# version = "0.1"; -# } { }; -# michelson-parser = oself.callOPAMPackage -# ../vendors/ligo-utils/tezos-utils/michelson-parser { -# pname = "michelson-parser"; -# version = "0.0.0"; -# } { ocamlfind = oself.findlib; }; -# tezos-tooling = oself.callOPAMPackage "${sources.tezos}/src/tooling" { -# pname = "tezos-tooling"; -# version = sources.tezos.rev; -# } { }; -# tezos-protocol-environment = oself.callOPAMPackage -# "${sources.tezos}/src/lib_protocol_environment" { -# pname = "tezos-protocol-environment"; -# opamFile = "tezos-protocol-environment.opam"; -# version = sources.tezos.rev; -# } { }; -# tezos-memory-proto-alpha = -# oself.callOPAMPackage ../vendors/ligo-utils/memory-proto-alpha { -# pname = "tezos-memory-proto-alpha"; -# version = "0.0.0"; -# } { }; -# tezos-stdlib-unix = -# oself.callOPAMPackage "${sources.tezos}/src/lib_stdlib_unix" { -# pname = "tezos-stdlib-unix"; -# version = sources.tezos.rev; -# extraBuildInputs = [ oself.fmt ]; -# } { conf-libev = self.libev; }; -# tezos-protocol-alpha = null; -# tezos-protocol-006-PsCARTHA = null; -# tezos-protocol-environment-sigs = null; -# tezos-data-encoding = null; -# tezos-utils = oself.callOPAMPackage ../vendors/ligo-utils/tezos-utils { -# pname = "tezos-utils"; -# version = "0.1"; -# } { }; -# proto-alpha-utils = -# oself.callOPAMPackage ../vendors/ligo-utils/proto-alpha-utils { -# pname = "proto-alpha-utils"; -# version = "0.1"; -# } { }; -# terminal_size = oself.callOPAMPackage sources.terminal_size { -# pname = "terminal_size"; -# version = "0.1.4"; -# } { }; -# ligo = oself.callOPAMPackage ../. { version = "0.1"; } { -# ocamlfind = oself.findlib; -# }; -# }); -# } diff --git a/nix/opam-parser.hs b/nix/opam-parser.hs index 5c8cbd705..1dafb875f 100644 --- a/nix/opam-parser.hs +++ b/nix/opam-parser.hs @@ -37,6 +37,7 @@ opam2nix OPAM {..} = preparephase = mconcat . intersperse " " . mconcat . intersperse ["\n"] in "{ stdenv, fetchzip, " <>deps<> " }:\n" + <>"with {};\n" -- Awful hack to allow this to evaluate even if some of the variables are undefined <>"stdenv.mkDerivation rec {\n" <>foldMap (\name' -> " pname = \""<>name'<>"\";\n") name <>foldMap (\version' -> " version = \""<>version'<>"\";\n") version @@ -112,6 +113,7 @@ evaluateExp :: Exp -> String evaluateExp = let repl ('%':'{':xs) = '$':'{':repl xs + repl ('}':'%':xs) = '}':repl xs repl (':':_:_:_:'}':'%':xs) = '}':repl xs repl (x:xs) = x:repl xs repl "" = "" diff --git a/nix/sources.json b/nix/sources.json index 48ba70104..8ef716141 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -1,100 +1,4 @@ { - "UnionFind": { - "branch": "master", - "description": "Some variant implementations of the Union-Find algorithm", - "homepage": null, - "owner": "rinderknecht", - "repo": "UnionFind", - "rev": "97fdfa78a830e74fd3736e433152b662796840be", - "sha256": "0grsrv03x7r5azdcbcbsfdxq7myqnpr4wjgn14faxhnspkigcl9x", - "type": "tarball", - "url": "https://github.com/rinderknecht/UnionFind/archive/97fdfa78a830e74fd3736e433152b662796840be.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "bigstring": { - "branch": "master", - "description": "Overlay over bigarrays of chars", - "homepage": "http://c-cube.github.io/ocaml-bigstring/", - "owner": "c-cube", - "repo": "ocaml-bigstring", - "rev": "38f766741634bfeba3f24ca72d4e902289d1a75d", - "sha256": "1vxc8jaxxn2djiwa8p12my5a2q1w3j3cdcdsafx0mlw3sz601siy", - "type": "tarball", - "url": "https://github.com/c-cube/ocaml-bigstring/archive/38f766741634bfeba3f24ca72d4e902289d1a75d.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "blake2": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/ocaml-blake2", - "rev": "d9599805097ee70ab271ffebcf959683efad9aaa", - "type": "git" - }, - "crowbar": { - "branch": "master", - "description": "Property fuzzing for OCaml", - "homepage": null, - "owner": "stedolan", - "repo": "crowbar", - "rev": "9bbb8013c41c632e15db639cdba8a0d180c9755f", - "sha256": "01d7qp1xg0vrm7xi7chzx7kfrbfh504hwmpz7s44rkwhrdp9dk9x", - "type": "tarball", - "url": "https://github.com/stedolan/crowbar/archive/9bbb8013c41c632e15db639cdba8a0d180c9755f.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "data-encoding": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/data-encoding", - "rev": "c38bfaf8d320e05050a55b7634503f5dd80d9668", - "type": "git" - }, - "genspio": { - "branch": "master", - "description": "Generate Shell Phrases In OCaml", - "homepage": "https://smondet.gitlab.io/genspio-doc/", - "owner": "hammerlab", - "repo": "genspio", - "rev": "f270fb296cebcf25e2ea89a7929a274c03ae9e6e", - "sha256": "09kr2b78f2184fajavbi7zigy0zlhz0bys4679rg0h6p828rdfhq", - "type": "tarball", - "url": "https://github.com/hammerlab/genspio/archive/f270fb296cebcf25e2ea89a7929a274c03ae9e6e.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "hacl": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/ocaml-hacl", - "rev": "d2e39bb0c53188369723d97c48f1c50184544624", - "type": "git" - }, - "hidapi": { - "branch": "master", - "description": "Bindings to http://www.signal11.us/oss/hidapi/", - "homepage": null, - "owner": "vbmithr", - "repo": "ocaml-hidapi", - "rev": "5ea3529099955b290199621b5e7b4cb74ffabf95", - "sha256": "1qhc8iby3i54zflbi3yrnhpg62pwdl6g2sfnykgashjy7ghh495y", - "type": "tarball", - "url": "https://github.com/vbmithr/ocaml-hidapi/archive/5ea3529099955b290199621b5e7b4cb74ffabf95.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "json-data-encoding": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/json-data-encoding", - "rev": "0112ce9e2b07ad7a77ac383e9a22261045dd0018", - "type": "git" - }, - "ligo-utils": { - "ref": "master", - "repo": "https://gitlab.com/ligolang/ligo-utils", - "rev": "533c801c103627484af042bf1f976eeffcf592e3", - "type": "git" - }, - "lwt-canceler": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/lwt-canceler", - "rev": "02e6e7cc23bf6ab9479bc370b1511a727ce02c61", - "type": "git" - }, "nixpkgs": { "branch": "ocaml-cross-fixes", "description": "Pinned Nixpkgs tree (master follows nixos-unstable-small, only tags have stable history)", @@ -107,18 +11,6 @@ "url": "https://github.com/serokell/nixpkgs/archive/80a7615300badde924f2ca30caa988484c6c11cc.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, - "ocaml-afl-persistent": { - "branch": "master", - "description": "persistent-mode afl-fuzz for ocaml", - "homepage": null, - "owner": "stedolan", - "repo": "ocaml-afl-persistent", - "rev": "a37c4f581ba417d7e09a6efb34fdd8a90a7e9ede", - "sha256": "1krp9vbyi79hh9nhylx47frsb08wb9vla85kykx5cma5y6rnxprh", - "type": "tarball", - "url": "https://github.com/stedolan/ocaml-afl-persistent/archive/a37c4f581ba417d7e09a6efb34fdd8a90a7e9ede.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, "opam-repository": { "branch": "master", "description": "Main public package repository for OPAM, the source package manager of OCaml.", @@ -131,48 +23,12 @@ "url": "https://github.com/ocaml/opam-repository/archive/d67e70b40203a6a1c77ccb2edbe136c1509a73a3.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, - "resto": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/resto", - "rev": "099145d1997ed8b38c98d9b6197c734d5afa9ea1", - "type": "git" - }, - "secp256k1-internal": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/ocaml-secp256k1-internal", - "rev": "c54b3e4ac9015ea503132223a5aeb6ac0d752e1b", - "type": "git" - }, - "terminal_size": { - "branch": "master", - "description": "Get the size of the attached terminal in OCaml", - "homepage": null, - "owner": "cryptosense", - "repo": "terminal_size", - "rev": "07464b9ead32fa3201fea36a8d21252d20151caa", - "sha256": "1yjr2aamy20iw8nw13nzj6h8y5g8aby80kshl53hdnd316vddp0f", - "type": "tarball", - "url": "https://github.com/cryptosense/terminal_size/archive/07464b9ead32fa3201fea36a8d21252d20151caa.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "tezos": { - "ref": "master", - "repo": "https://gitlab.com/tezos/tezos", - "rev": "be706b7060cc9805d66fce1a032a586d09ee8718", - "type": "git" - }, "tezos-opam-repository": { "ref": "master", "repo": "https://gitlab.com/ligolang/tezos-opam-repository", "rev": "dfc46bd895b070bd89028a7ad98741d05ec684df", "type": "git" }, - "uecc": { - "ref": "master", - "repo": "https://gitlab.com/nomadic-labs/ocaml-uecc", - "rev": "44e0c343b02702eec7e8011244a7bf61e21a8bf3", - "type": "git" - }, "xmldiff": { "branch": "master", "description": "Diffs on XML trees",