diff options
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules/lablgtk')
-rw-r--r-- | nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix | 41 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix | 46 |
2 files changed, 87 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix new file mode 100644 index 000000000000..e2ebb76397c8 --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk2, libgnomecanvas, libglade, gtksourceview, camlp4 }: + +if stdenv.lib.versionAtLeast ocaml.version "4.04" +then throw "lablgtk-2.14 is not available for OCaml ${ocaml.version}" else + +let + pname = "lablgtk"; +in + +stdenv.mkDerivation (rec { + name = "${pname}-${version}"; + version = "2.14.0"; + + src = fetchurl { + url = "https://forge.ocamlcore.org/frs/download.php/561/${name}.tar.gz"; + sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ocaml findlib gtk2 libgnomecanvas libglade gtksourceview camlp4 ]; + + 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 = { + branch = "2.14"; + platforms = ocaml.meta.platforms or []; + maintainers = [ + stdenv.lib.maintainers.maggesi + 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/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix new file mode 100644 index 000000000000..46b76abd268f --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gtk2, libgnomecanvas, libglade, gtksourceview }: + +let param = + let check = stdenv.lib.versionAtLeast ocaml.version; in + if check "4.06" then { + version = "2.18.8"; + url = "https://github.com/garrigue/lablgtk/releases/download/lablgtk2188/lablgtk-2.18.8.tar.gz"; + sha256 = "1qsd9nv96fxddc8zayqiqxw9hcyf29axckqg100fm2brs2prpxci"; + } else if check "3.12" then { + version = "2.18.5"; + url = https://forge.ocamlcore.org/frs/download.php/1627/lablgtk-2.18.5.tar.gz; + sha256 = "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib"; + } else throw "lablgtk is not available for OCaml ${ocaml.version}"; +in + +stdenv.mkDerivation { + pname = "lablgtk"; + inherit (param) version; + + src = fetchurl { + inherit (param) url sha256; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ocaml findlib gtk2 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 + ''; + + dontStrip = true; + + meta = with stdenv.lib; { + platforms = ocaml.meta.platforms or []; + maintainers = with maintainers; [ + maggesi roconnor vbgl + ]; + homepage = http://lablgtk.forge.ocamlcore.org/; + description = "An OCaml interface to GTK"; + license = licenses.lgpl21Plus; + }; +} |