diff --git a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix new file mode 100644 index 00000000000..5fb9969e62e --- /dev/null +++ b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk, libgnomecanvas, libglade, gtksourceview}: + +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; + pname = "lablgtk"; + version = "2.14.0"; +in + +stdenv.mkDerivation (rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://forge.ocamlcore.org/frs/download.php/561/${name}.tar.gz"; + sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9"; + }; + + buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview]; + + configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml_version}/site-lib"; + buildFlags = "world"; + + preInstall = '' + mkdir -p $out/lib/ocaml/${ocaml_version}/site-lib + export OCAMLPATH=$out/lib/ocaml/${ocaml_version}/site-lib/:$OCAMLPATH + ''; + + meta = { + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.z77z + stdenv.lib.maintainers.roconnor + ]; + homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html; + description = "LablGTK is is an Objective Caml interface to gtk+"; + license = stdenv.lib.licenses.lgpl21Plus; + }; +}) diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix index c2f50c4e5b8..f303323b7c8 100644 --- a/pkgs/development/ocaml-modules/lablgtk/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -6,6 +6,8 @@ let version = "2.16.0"; in +assert stdenv.lib.versionAtLeast ocaml_version "3.12"; + stdenv.mkDerivation (rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ef3cd3d91f5..34436e048fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3390,6 +3390,9 @@ let lablgl = callPackage ../development/ocaml-modules/lablgl { }; + lablgtk_2_14 = callPackage ../development/ocaml-modules/lablgtk/2.14.0.nix { + inherit (gnome) libgnomecanvas libglade gtksourceview; + }; lablgtk = callPackage ../development/ocaml-modules/lablgtk { inherit (gnome) libgnomecanvas libglade gtksourceview; }; @@ -3515,8 +3518,10 @@ let }; ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; - ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0; - ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2; + ocamlPackages_3_10_0 = (mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0) + // { lablgtk = ocamlPackages_3_10_0.lablgtk_2_14; }; + ocamlPackages_3_11_2 = (mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2) + // { lablgtk = ocamlPackages_3_11_2.lablgtk_2_14; }; ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1; ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1; ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0; @@ -11299,8 +11304,9 @@ let }; coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix { - inherit (ocamlPackages) findlib lablgtk; - camlp5 = ocamlPackages.camlp5_transitional; + inherit (ocamlPackages_3_12_1) ocaml findlib; + camlp5 = ocamlPackages_3_12_1.camlp5_transitional; + lablgtk = ocamlPackages_3_12_1.lablgtk_2_14; }; cvc3 = callPackage ../applications/science/logic/cvc3 {};