Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.8 kB · 119 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120{ ocamlPackages, fetchFromGitHub, lib, zlib, pkg-config, cacert, gmp, libev, autoconf, sqlite, stdenv,}:let mkCombyPackage = { pname, extraBuildInputs ? [ ], extraNativeInputs ? [ ], preBuild ? "", }: ocamlPackages.buildDunePackage rec { inherit pname preBuild; version = "1.8.1"; duneVersion = "3"; minimalOCamlVersion = "4.08.1"; doCheck = true;
src = fetchFromGitHub { owner = "comby-tools"; repo = "comby"; rev = version; sha256 = "sha256-yQrfSzJgJm0OWJxhxst2XjZULIVHeEfPMvMIwH7BYDc="; };
patches = [ ./comby.patch ];
nativeBuildInputs = extraNativeInputs;
buildInputs = [ ocamlPackages.core ocamlPackages.core_kernel ocamlPackages.ocaml_pcre ocamlPackages.mparser ocamlPackages.mparser-pcre ocamlPackages.angstrom ocamlPackages.ppx_deriving ocamlPackages.ppx_deriving_yojson ocamlPackages.ppx_sexp_conv ocamlPackages.ppx_sexp_message ] ++ extraBuildInputs;
nativeCheckInputs = [ cacert ];
meta = { description = "Tool for searching and changing code structure"; mainProgram = "comby"; license = lib.licenses.asl20; homepage = "https://comby.dev"; broken = true; # Not compatible with ocamlPackages.tar ≥ 3 }; };
combyKernel = mkCombyPackage { pname = "comby-kernel"; }; combySemantic = mkCombyPackage { pname = "comby-semantic"; extraBuildInputs = [ ocamlPackages.cohttp-lwt-unix ]; };inmkCombyPackage { pname = "comby";
# tests have to be removed before building otherwise installPhase will fail # cli tests expect a path to the built binary preBuild = '' substituteInPlace test/common/dune \ --replace "test_cli_list" "" \ --replace "test_cli_helper" "" \ --replace "test_cli" "" rm test/common/{test_cli_list,test_cli_helper,test_cli}.ml '';
extraBuildInputs = [ zlib gmp libev sqlite ocamlPackages.shell # This input must appear before `parany` or any other input that propagates `ocamlnet` ocamlPackages.lwt ocamlPackages.patience_diff ocamlPackages.toml ocamlPackages.cohttp-lwt-unix ocamlPackages.textutils ocamlPackages.jst-config ocamlPackages.parany ocamlPackages.conduit-lwt-unix ocamlPackages.lwt_react ocamlPackages.tar-unix ocamlPackages.tls ocamlPackages.ppx_jane ocamlPackages.ppx_expect ocamlPackages.dune-configurator combyKernel combySemantic ] ++ ( if !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64 then [ ocamlPackages.hack_parallel ] else [ ] );
extraNativeInputs = [ autoconf pkg-config ];
}