about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristophe Raffalli <raffalli@univ-savoie.fr>2013-06-04 20:49:10 +0200
committerChristophe Raffalli <raffalli@univ-savoie.fr>2013-06-07 21:40:38 +0200
commit270d929089d1299d4022f12f05f2710fcb69d10d (patch)
treef3ad0811ea1ca0fd9b30db886e2705604f9733c5
parent43faad80633a17c269a78691d531cebeabe6c44c (diff)
downloadnixlib-270d929089d1299d4022f12f05f2710fcb69d10d.tar
nixlib-270d929089d1299d4022f12f05f2710fcb69d10d.tar.gz
nixlib-270d929089d1299d4022f12f05f2710fcb69d10d.tar.bz2
nixlib-270d929089d1299d4022f12f05f2710fcb69d10d.tar.lz
nixlib-270d929089d1299d4022f12f05f2710fcb69d10d.tar.xz
nixlib-270d929089d1299d4022f12f05f2710fcb69d10d.tar.zst
nixlib-270d929089d1299d4022f12f05f2710fcb69d10d.zip
New ocaml packages:
- ocaml-cairo
- camlimages
- dypgen
- patoline
-rw-r--r--pkgs/development/ocaml-modules/camlimages/default.nix43
-rw-r--r--pkgs/development/ocaml-modules/dypgen/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/lablgl/Makefile.config.patch117
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix45
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo/META.patch16
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo/default.nix44
-rw-r--r--pkgs/tools/typesetting/patoline/default.nix51
-rw-r--r--pkgs/top-level/all-packages.nix10
8 files changed, 359 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix
new file mode 100644
index 000000000000..00168d46c3f1
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlimages/default.nix
@@ -0,0 +1,43 @@
+{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng_apng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript }:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "camlimages";
+  version = "4.0.1";
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl { 
+    url = "https://bitbucket.org/camlspotter/camlimages/get/v4.0.1.tar.gz";
+    sha256 = "b40237c1505487049799a7af296eb3996b3fa08eab94415546f46d61355747c4";
+  };
+
+  buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript ];
+
+  propagatedbuildInputs = [libtiff libjpeg libpng_apng giflib freetype libXpm ];
+
+  createFindlibDestdir = true;
+
+  preConfigure = ''
+    rm ./configure
+  '';
+
+  buildPhase = ''
+    omake
+  '';
+
+  installPhase = ''
+    omake install
+  '';
+
+  #makeFlags = "BINDIR=$(out)/bin  MANDIR=$(out)/usr/share/man/man1 DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib";
+
+  meta = {
+    homepage = http://cristal.inria.fr/camlimages;
+    description = "Image manipulation library";
+    license = "GnuGPLV2";
+#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/dypgen/default.nix b/pkgs/development/ocaml-modules/dypgen/default.nix
new file mode 100644
index 000000000000..73f543f5b626
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dypgen/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl, ocaml, findlib}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "dypgen";
+  version = "20120619-1";
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://dypgen.free.fr/dypgen-20120619-1.tar.bz2";
+    sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97";
+  };
+
+  buildInputs = [ocaml findlib];
+
+  createFindlibDestdir = true;
+
+  buildPhase = ''
+    make
+  '';
+
+  makeFlags = "BINDIR=$(out)/bin  MANDIR=$(out)/usr/share/man/man1 DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib";
+
+  meta = {
+    homepage = http://dypgen.free.fr;
+    description = "Dypgen GLR self extensible parser generator";
+    license = "CeCILL-B_V1";
+#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch b/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
new file mode 100644
index 000000000000..c896978f57ea
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
@@ -0,0 +1,117 @@
+diff -Naur lablGL.ori/Makefile.config lablGL/Makefile.config
+--- lablGL.ori/Makefile.config	1970-01-01 01:00:00.000000000 +0100
++++ lablGL/Makefile.config	2013-06-02 08:13:10.000000000 +0200
+@@ -0,0 +1,63 @@
++#	LablGL and Togl configuration file
++#
++# Please have a look at the config/Makefile in the Objective Caml distribution,
++# or at the labltklink script to get the information needed here
++#
++
++##### Adjust these always
++
++# Uncomment if you have the fast ".opt" compilers
++#CAMLC = ocamlc.opt
++#CAMLOPT = ocamlopt.opt
++
++# Where to put the lablgl script
++BINDIR = @BINDIR@
++
++# Where to find X headers
++XINCLUDES = @XINCLUDES@
++# X libs (for broken RTLD_GLOBAL: e.g. FreeBSD 4.0)
++#XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lX11 -lXi
++
++# Where to find Tcl/Tk headers
++# This must the same version as for LablTk
++TKINCLUDES = @TKINCLUDES@
++# Tcl/Tk libs (for broken RTLD_GLOBAL: e.g. FreeBSD 4.0)
++#TKLIBS = -L/usr/local/lib -ltk84 -ltcl84
++
++# Where to find OpenGL/Mesa/Glut headers and libraries
++GLINCLUDES =
++GLLIBS = -lGL -lGLU
++GLUTLIBS = -lglut
++# The following libraries may be required (try to add them one at a time)
++#GLLIBS = -lGL -lGLU -lXmu -lXext -lXi -lcipher -lpthread
++
++# How to index a library after installing (ranlib required on MacOSX)
++RANLIB = :
++#RANLIB = ranlib
++
++##### Uncomment these for windows
++#TKLIBS = tk83.lib tcl83.lib gdi32.lib user32.lib
++#GLLIBS = opengl32.lib glu32.lib 
++#TOOLCHAIN = msvc
++#XA = .lib
++#XB = .bat
++#XE = .exe
++#XO = .obj
++#XS = .dll
++
++##### Adjust these if non standard
++
++# The Objective Caml library directory
++#LIBDIR = `ocamlc -where`
++
++# Where to put dlls (if dynamic loading available)
++DLLDIR = @DLLDIR@
++
++# Where to put LablGL (standard)
++INSTALLDIR = @INSTALLDIR@
++
++# Where is Togl (default)
++#TOGLDIR = Togl
++
++# C Compiler options
++#COPTS = -c -O
+diff -Naur lablGL.ori/META lablGL/META
+--- lablGL.ori/META	1970-01-01 01:00:00.000000000 +0100
++++ lablGL/META	2013-06-02 22:00:59.000000000 +0200
+@@ -0,0 +1,21 @@
++description = "Bindings for OpenGL graphics engines"
++version = "1.04-1"
++archive(byte) = "lablgl.cma"
++archive(native) = "lablgl.cmxa"
++
++#package "togl" (
++#	description = "OpenGL widget for labltk"
++#	version = "1.01"
++#	requires = "lablgl, labltk"
++#	archive(byte) = "togl.cma"
++#	archive(native) = "togl.cmxa"
++#)
++
++package "glut" (
++	description = "Platform-independent OpenGL window"
++	version = "1.01"
++	requires = "lablgl"
++	archive(byte) = "lablglut.cma"
++	archive(native) = "lablglut.cmxa"
++)
++
+diff -Naur lablGL.ori/META~ lablGL/META~
+--- lablGL.ori/META~	1970-01-01 01:00:00.000000000 +0100
++++ lablGL/META~	2013-06-02 21:59:17.000000000 +0200
+@@ -0,0 +1,21 @@
++description = "Bindings for OpenGL graphics engines"
++version = "1.04-1"
++archive(byte) = "lablgl.cma"
++archive(native) = "lablgl.cmxa"
++
++#package "togl" (
++#	description = "OpenGL widget for labltk"
++#	version = "1.01"
++#	requires = "lablGL, labltk"
++#	archive(byte) = "togl.cma"
++#	archive(native) = "togl.cmxa"
++#)
++
++package "glut" (
++	description = "Platform-independent OpenGL window"
++	version = "1.01"
++	requires = "lablGL"
++	archive(byte) = "lablglut.cma"
++	archive(native) = "lablglut.cmxa"
++)
++
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
new file mode 100644
index 000000000000..a739e4a7146b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -0,0 +1,45 @@
+{stdenv, fetchurl, ocaml, lablgtk, findlib, mesa, freeglut } :
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "lablgl";
+  version = "1.04-1";
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl { 
+    url = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/lablgl-20120306.tar.gz";
+    sha256 = "1w5di2n38h7fkrf668zphnramygwl7ybjhrmww3pi9jcf9apa09r";
+  };
+
+  buildInputs = [ocaml findlib lablgtk mesa freeglut ];
+
+  patches = [ ./Makefile.config.patch ];
+
+  preConfigure = ''
+    substituteInPlace Makefile.config \
+      --subst-var-by BINDIR $out/bin \
+      --subst-var-by INSTALLDIR $out/lib/ocaml/${ocaml_version}/site-lib/lablgl \
+      --subst-var-by DLLDIR $out/lib/ocaml/${ocaml_version}/site-lib/lablgl/stublibs \
+      --subst-var-by TKINCLUDES "" \
+      --subst-var-by XINCLUDES ""
+  '';
+
+  createFindlibDestdir = true;
+
+  #makeFlags = "BINDIR=$(out)/bin  MANDIR=$(out)/usr/share/man/man1 DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib";
+  buildFlags = "lib libopt glut glutopt";
+
+  postInstall = ''
+    cp ./META $out/lib/ocaml/${ocaml_version}/site-lib/lablgl
+  '';
+
+  meta = {
+    homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html;
+    description = "OpenGL bindings for ocaml";
+    license = "GnuGPLV2";
+#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/META.patch b/pkgs/development/ocaml-modules/ocaml-cairo/META.patch
new file mode 100644
index 000000000000..ba6e5927b00a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-cairo/META.patch
@@ -0,0 +1,16 @@
+diff -Naur cairo-ocaml-1.2.0.ori/META cairo-ocaml-1.2.0/META
+--- cairo-ocaml-1.2.0.ori/META	1970-01-01 01:00:00.000000000 +0100
++++ cairo-ocaml-1.2.0/META	2013-06-04 03:31:32.000000000 +0200
+@@ -0,0 +1,12 @@
++name = "cairo-ocaml"
++description = "Bindings to the cairo library."
++version = "@VERSION@"
++archive(byte) = "cairo.cma"
++archive(native) = "cairo.cmxa"
++requires = "bigarray"
++
++package "lablgtk2" (
++        requires = "cairo lablgtk2"
++        archive(byte) = "cairo_lablgtk.cma"
++        archive(native) = "cairo_lablgtk.cmxa"
++)
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
new file mode 100644
index 000000000000..8f19847680b6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
@@ -0,0 +1,44 @@
+{stdenv, fetchurl, automake, ocaml, autoconf, gnum4, pkgconfig, freetype, lablgtk, unzip, cairo, findlib, gdk_pixbuf, glib, gtk, pango }: 
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "ocaml-cairo";
+  version = "1.2.0";
+in
+
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl { 
+    url = "http://cgit.freedesktop.org/cairo-ocaml/snapshot/cairo-ocaml-${version}.zip";
+    sha256 = "2d59678e322c331e3f4bc02a77240fce4a0917acb0d3ae75953a6ac62d70a125";
+  };
+
+  patches = [ ./META.patch ];
+
+  buildInputs = [ocaml automake gnum4 autoconf unzip pkgconfig findlib freetype lablgtk cairo gdk_pixbuf gtk pango ];
+
+  createFindlibDestdir = true;
+
+ preConfigure = ''
+   aclocal -I support
+   autoconf
+   export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE `pkg-config --cflags cairo gdk-pixbuf glib  gtk+ pango`" 
+   export LABLGTKDIR=${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2
+   cp ${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2/pango.ml ./src
+   cp ${lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2/gaux.ml ./src
+  '';
+
+  postInstall = ''
+    cp META $out/lib/ocaml/${ocaml_version}/site-lib/cairo/
+  '';
+
+  makeFlags = "INSTALLDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib/cairo";
+
+  meta = {
+    homepage = http://cairographics.org/cairo-ocaml;
+    description = "ocaml bindings for cairo library";
+    license = "GnuGPLV2";
+#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+  };
+}
diff --git a/pkgs/tools/typesetting/patoline/default.nix b/pkgs/tools/typesetting/patoline/default.nix
new file mode 100644
index 000000000000..a39105c83145
--- /dev/null
+++ b/pkgs/tools/typesetting/patoline/default.nix
@@ -0,0 +1,51 @@
+
+{ stdenv, fetchurl, ncurses, mesa, freeglut, libzip, 
+   ocaml, findlib, camomile, 
+   dypgen, ocaml_sqlite3, camlzip, 
+   lablgtk, camlimages, ocaml_cairo,
+   lablgl, ocamlnet, cryptokit,
+   ocaml_pcre }:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+in
+
+stdenv.mkDerivation {
+  name = "patoline-0.1";
+
+  src = fetchurl {
+    url = "http://lama.univ-savoie.fr/patoline/patoline-0.1.tar.bz";
+    sha256 = "c5ac8dcb87ceecaf11876bd0dd425bd0f04d43265adc2cbcb1f1e82a78846d49";
+  };
+
+  createFindlibDestdir = true;
+   
+   buildInputs = [ ocaml findlib dypgen camomile ocaml_sqlite3 camlzip 
+   lablgtk camlimages ocaml_cairo
+   lablgl ocamlnet cryptokit
+   ocaml_pcre ncurses mesa freeglut libzip ];
+
+  propagatedbuildInputs = [ camomile 
+   dypgen ocaml_sqlite3 camlzip 
+   lablgtk camlimages ocaml_cairo
+   lablgl ocamlnet cryptokit
+   ocaml_pcre ncurses mesa freeglut libzip ];
+
+  buildPhase = ''
+    ocaml configure.ml \
+       --prefix $out \
+       --ocaml-libs $out/lib/ocaml/${ocaml_version}/site-lib \
+       --ocamlfind-dir $out/lib/ocaml/${ocaml_version}/site-lib \
+       --fonts-dir $out/share/patoline/fonts \
+       --grammars-dir $out/share/patoline/grammars \
+       --hyphen-dir $out/share/patoline/hyphen
+
+    make
+  '';
+
+  
+  meta = {
+    homepage = http://patoline.com;
+    description = "Patoline ocaml based typesetting system";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4bc2875b8f14..a066fc19ffb8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2699,12 +2699,22 @@ let
     camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
     camomile = callPackage ../development/ocaml-modules/camomile { };
 
+    camlimages = callPackage ../development/ocaml-modules/camlimages { };
+
+    ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
+
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
     findlib = callPackage ../development/tools/ocaml/findlib { };
 
+    dypgen = callPackage ../development/ocaml-modules/dypgen { };
+
+    patoline = callPackage ../tools/typesetting/patoline { };
+
     gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
 
+    lablgl = callPackage ../development/ocaml-modules/lablgl { };
+
     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
       inherit (gnome) libgnomecanvas libglade gtksourceview;
     };