ocamlPackages.vg: 0.8.1 -> 0.9.0

This commit is contained in:
Vincent Laporte 2016-12-04 10:20:46 +00:00
parent 110a0fb028
commit 5dc59fbf38

View File

@ -1,17 +1,19 @@
{ stdenv, fetchurl, ocaml, findlib, opam, gg, uutf, otfm, js_of_ocaml, { stdenv, fetchurl, ocaml, findlib, opam, topkg
, uchar, result, gg, uutf, otfm, js_of_ocaml,
pdfBackend ? true, # depends on uutf and otfm pdfBackend ? true, # depends on uutf and otfm
htmlcBackend ? true # depends on js_of_ocaml htmlcBackend ? true # depends on js_of_ocaml
}: }:
let let
inherit (stdenv.lib) getVersion optionals versionAtLeast; inherit (stdenv.lib) optionals versionAtLeast;
pname = "vg"; pname = "vg";
version = "0.8.1"; version = "0.9.0";
webpage = "http://erratique.ch/software/${pname}"; webpage = "http://erratique.ch/software/${pname}";
sob = b: if b then "true" else "false";
in in
assert versionAtLeast (getVersion ocaml) "4.01.0"; assert versionAtLeast ocaml.version "4.02.0";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -19,12 +21,12 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz"; url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "1cdcvsr5z8845ndilnrz7p4n6yn4gv2p91z2mgi4vrailcmn5vzd"; sha256 = "1czd2fq85hy24w5pllarsq4pvbx9rda5zdikxfxdng8s9kff2h3f";
}; };
buildInputs = [ ocaml findlib opam ]; buildInputs = [ ocaml findlib opam topkg ];
propagatedBuildInputs = [ gg ] propagatedBuildInputs = [ uchar result gg ]
++ optionals pdfBackend [ uutf otfm ] ++ optionals pdfBackend [ uutf otfm ]
++ optionals htmlcBackend [ js_of_ocaml ]; ++ optionals htmlcBackend [ js_of_ocaml ];
@ -32,16 +34,12 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true" buildPhase = topkg.buildPhase
+ (if pdfBackend then " uutf=true otfm=true" + " --with-uutf ${sob pdfBackend} --with-otfm ${sob pdfBackend}"
else " uutf=false otfm=false") + " --with-js_of_ocaml ${sob htmlcBackend}"
+ (if htmlcBackend then " jsoo=true" + " --with-cairo2 false";
else " jsoo=false");
installPhase = '' inherit (topkg) 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; { meta = with stdenv.lib; {
description = "Declarative 2D vector graphics for OCaml"; description = "Declarative 2D vector graphics for OCaml";