ocamlPackages.camlp4: fix build (#372762)

Changed files
+99 -60
pkgs
by-name
he
heptagon
development
ocaml-modules
config-file
ulex
tools
ocaml
camlp4
top-level
+8
pkgs/development/compilers/heptagon/default.nix pkgs/by-name/he/heptagon/package.nix
···
fetchFromGitLab,
makeWrapper,
ocamlPackages,
+
fetchpatch,
}:
stdenv.mkDerivation (finalAttrs: {
···
rev = "v${finalAttrs.version}";
hash = "sha256-b4O48MQT3Neh8a1Z5wRgS701w6XrwpsbSMprlqTT+CE=";
};
+
+
patches = [
+
(fetchpatch {
+
url = "https://gitlab.inria.fr/synchrone/heptagon/-/commit/f10405e385ca25dc737727e0c210a44986929bf0.patch";
+
hash = "sha256-Sn55jEoRDYnEUg4SjuBDCNN4TNl2Dwn1fTjb9O8O1bo=";
+
})
+
];
strictDeps = true;
+26 -22
pkgs/development/ocaml-modules/config-file/default.nix
···
camlp4,
}:
-
stdenv.mkDerivation rec {
-
pname = "ocaml-config-file";
-
version = "1.2";
+
lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
+
"config-file is not available for OCaml ${ocaml.version}"
-
src = fetchurl {
-
url = "https://forge.ocamlcore.org/frs/download.php/1387/config-file-${version}.tar.gz";
-
sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q";
-
};
+
stdenv.mkDerivation
+
rec {
+
pname = "ocaml-config-file";
+
version = "1.2";
-
nativeBuildInputs = [
-
ocaml
-
findlib
-
camlp4
-
];
+
src = fetchurl {
+
url = "https://forge.ocamlcore.org/frs/download.php/1387/config-file-${version}.tar.gz";
+
sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q";
+
};
-
strictDeps = true;
+
nativeBuildInputs = [
+
ocaml
+
findlib
+
camlp4
+
];
-
createFindlibDestdir = true;
+
strictDeps = true;
-
meta = {
-
homepage = "http://config-file.forge.ocamlcore.org/";
-
platforms = ocaml.meta.platforms or [ ];
-
description = "OCaml library used to manage the configuration file(s) of an application";
-
license = lib.licenses.lgpl2Plus;
-
maintainers = with lib.maintainers; [ vbgl ];
-
};
-
}
+
createFindlibDestdir = true;
+
+
meta = {
+
homepage = "http://config-file.forge.ocamlcore.org/";
+
platforms = ocaml.meta.platforms or [ ];
+
description = "OCaml library used to manage the configuration file(s) of an application";
+
license = lib.licenses.lgpl2Plus;
+
maintainers = with lib.maintainers; [ vbgl ];
+
};
+
}
+34 -30
pkgs/development/ocaml-modules/ulex/default.nix
···
};
in
-
stdenv.mkDerivation rec {
-
name = "ocaml${ocaml.version}-${pname}-${version}";
-
inherit (param) version;
+
lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
+
"ulex is not available for OCaml ${ocaml.version}"
-
src = fetchFromGitHub {
-
owner = "whitequark";
-
repo = pname;
-
rev = "v${version}";
-
inherit (param) sha256;
-
};
+
stdenv.mkDerivation
+
rec {
+
name = "ocaml${ocaml.version}-${pname}-${version}";
+
inherit (param) version;
-
createFindlibDestdir = true;
+
src = fetchFromGitHub {
+
owner = "whitequark";
+
repo = pname;
+
rev = "v${version}";
+
inherit (param) sha256;
+
};
-
nativeBuildInputs = [
-
ocaml
-
findlib
-
ocamlbuild
-
camlp4
-
];
-
propagatedBuildInputs = [ camlp4 ];
+
createFindlibDestdir = true;
-
strictDeps = true;
+
nativeBuildInputs = [
+
ocaml
+
findlib
+
ocamlbuild
+
camlp4
+
];
+
propagatedBuildInputs = [ camlp4 ];
-
buildFlags = [
-
"all"
-
"all.opt"
-
];
+
strictDeps = true;
-
meta = {
-
inherit (src.meta) homepage;
-
description = "Lexer generator for Unicode and OCaml";
-
license = lib.licenses.mit;
-
inherit (ocaml.meta) platforms;
-
maintainers = [ lib.maintainers.roconnor ];
-
};
-
}
+
buildFlags = [
+
"all"
+
"all.opt"
+
];
+
+
meta = {
+
inherit (src.meta) homepage;
+
description = "Lexer generator for Unicode and OCaml";
+
license = lib.licenses.mit;
+
inherit (ocaml.meta) platforms;
+
maintainers = [ lib.maintainers.roconnor ];
+
};
+
}
+31 -4
pkgs/development/tools/ocaml/camlp4/default.nix
···
fetchzip,
which,
ocaml,
+
camlp-streams,
ocamlbuild,
+
findlib,
}:
-
if lib.versionAtLeast ocaml.version "4.15" then
+
if lib.versionAtLeast ocaml.version "5.4" then
throw "camlp4 is not available for OCaml ${ocaml.version}"
else
···
version = "4.14+1";
sha256 = "sha256-cPN3GioZT/Zt6uzbjGUPEGVJcPQdsAnCkU/AQoPfvuo=";
};
+
"5.0" = {
+
version = "5.0";
+
sha256 = "sha256-oZptFNPUEAq5YlcqAoDWfLghGMF9AN7E7hUN55SAX+4=";
+
};
+
"5.1" = {
+
version = "5.1";
+
sha256 = "sha256-Ubedjg3BeHA0bJbEalQN9eEk5+LRAI/er+8mWfVYchg=";
+
};
+
"5.2" = {
+
version = "5.2";
+
sha256 = "sha256-lzbc9xsgeYlbVf71O+PWYS14QivAH1aPdnvWhe0HHME=";
+
};
+
"5.3" = {
+
version = "5.3";
+
sha256 = "sha256-V/kKhTP9U4jWDFuQKuB7BS3XICg1lq/2Avj7UJR55+k=";
+
};
}
.${ocaml.meta.branch};
in
···
strictDeps = true;
-
nativeBuildInputs = [
-
which
-
ocaml
+
nativeBuildInputs =
+
[
+
which
+
ocaml
+
ocamlbuild
+
]
+
++ lib.optionals (lib.versionAtLeast ocaml.version "5.0") [
+
findlib
+
];
+
+
buildInputs = lib.optionals (lib.versionAtLeast ocaml.version "5.0") [
+
camlp-streams
ocamlbuild
];
-4
pkgs/top-level/all-packages.nix
···
inherit (emacs.pkgs.melpaStablePackages) irony;
};
-
heptagon = callPackage ../development/compilers/heptagon {
-
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
-
};
-
openjfx17 = openjfx;
openjfx21 = callPackage ../by-name/op/openjfx/package.nix { featureVersion = "21"; };
openjfx23 = callPackage ../by-name/op/openjfx/package.nix { featureVersion = "23"; };