summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/gg
diff options
context:
space:
mode:
authorJirka Marsik <jiri.marsik89@gmail.com>2014-10-29 20:15:39 +0100
committerJirka Marsik <jiri.marsik89@gmail.com>2014-10-29 20:15:39 +0100
commitd48dd17c5e66c6f869a49431fb20785719d307ca (patch)
tree770822ac0ad5dc053994d4808e4d0bfeab246ae9 /pkgs/development/ocaml-modules/gg
parentfc43239c56f1a6f1601bd518dba49114d4c12b32 (diff)
downloadnixlib-d48dd17c5e66c6f869a49431fb20785719d307ca.tar
nixlib-d48dd17c5e66c6f869a49431fb20785719d307ca.tar.gz
nixlib-d48dd17c5e66c6f869a49431fb20785719d307ca.tar.bz2
nixlib-d48dd17c5e66c6f869a49431fb20785719d307ca.tar.lz
nixlib-d48dd17c5e66c6f869a49431fb20785719d307ca.tar.xz
nixlib-d48dd17c5e66c6f869a49431fb20785719d307ca.tar.zst
nixlib-d48dd17c5e66c6f869a49431fb20785719d307ca.zip
Added gg-0.9.0
Diffstat (limited to 'pkgs/development/ocaml-modules/gg')
-rw-r--r--pkgs/development/ocaml-modules/gg/default.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix
new file mode 100644
index 000000000000..a40d4ae79784
--- /dev/null
+++ b/pkgs/development/ocaml-modules/gg/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, ocaml, findlib, opam }:
+
+let
+  inherit (stdenv.lib) getVersion versionAtLeast;
+
+  pname = "gg";
+  version = "0.9.0";
+  webpage = "http://erratique.ch/software/${pname}";
+in
+
+assert versionAtLeast (getVersion ocaml) "4.01.0";
+
+stdenv.mkDerivation rec {
+
+  name = "ocaml-${pname}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/releases/${pname}-${version}.tbz";
+    sha256 = "055pza6jbjjj7wgzf7pbn0ccxw76i8w5b2bcnaz8b9m4x6jaa6gh";
+  };
+
+  buildInputs = [ ocaml findlib opam ];
+
+  createFindlibDestdir = true;
+
+  unpackCmd = "tar xjf $src";
+
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+
+  installPhase = ''
+    opam-installer --script --prefix=$out ${pname}.install | sh
+    ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Basic types for computer graphics in OCaml";
+    longDescription = ''
+      Gg is an OCaml module providing basic types for computer graphics. It
+      defines types and functions for floats, vectors, points, sizes,
+      matrices, quaternions, axis aligned boxes, colors, color spaces, and
+      raster data.
+    '';
+    homepage = "${webpage}";
+    platforms = ocaml.meta.platforms;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}