mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-02 20:03:16 +00:00
755b915a15
nix run nixpkgs#silver-searcher -- -G '\.nix$' -0l 'description.*"[Aa]n?' pkgs \ | xargs -0 nix run nixpkgs#gnused -- -i '' -Ee 's/(description.*")[Aa]n? (.)/\1\U\2/'
49 lines
1.1 KiB
Nix
49 lines
1.1 KiB
Nix
{ lib
|
|
, fetchurl
|
|
, buildDunePackage
|
|
, ocaml
|
|
, ounit
|
|
, ppx_deriving
|
|
, ppx_sexp_conv
|
|
, ppxlib
|
|
, version ? if lib.versionAtLeast ocaml.version "4.11" then "1.11.0" else "1.9.1"
|
|
}:
|
|
|
|
lib.throwIfNot (lib.versionAtLeast ppxlib.version "0.24.0")
|
|
"ppx_import is not available with ppxlib-${ppxlib.version}"
|
|
|
|
buildDunePackage rec {
|
|
pname = "ppx_import";
|
|
inherit version;
|
|
|
|
minimalOCamlVersion = "4.05";
|
|
|
|
src = fetchurl {
|
|
url = let dir = if lib.versionAtLeast version "1.11" then "v${version}" else "${version}"; in
|
|
"https://github.com/ocaml-ppx/ppx_import/releases/download/${dir}/ppx_import-${version}.tbz";
|
|
|
|
hash = {
|
|
"1.9.1" = "sha256-0bSY4u44Ds84XPIbcT5Vt4AG/4PkzFKMl9CDGFZyIdI=";
|
|
"1.11.0" = "sha256-Jmfv1IkQoaTkyxoxp9FI0ChNESqCaoDsA7D4ZUbOrBo=";
|
|
}."${version}";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
ppxlib
|
|
];
|
|
|
|
checkInputs = [
|
|
ounit
|
|
ppx_deriving
|
|
ppx_sexp_conv
|
|
];
|
|
|
|
doCheck = true;
|
|
|
|
meta = {
|
|
description = "Syntax extension for importing declarations from interface files";
|
|
license = lib.licenses.mit;
|
|
homepage = "https://github.com/ocaml-ppx/ppx_import";
|
|
};
|
|
}
|