From fc36c198342d06cc8f64d27cc493188a477fa9b0 Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Sun, 16 Jun 2013 22:23:51 +0200 Subject: [PATCH 1/7] Added OCaml gmp bindings mlgmp --- pkgs/development/ocaml-modules/mlgmp/META | 7 ++++ .../ocaml-modules/mlgmp/default.nix | 37 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 46 insertions(+) create mode 100644 pkgs/development/ocaml-modules/mlgmp/META create mode 100644 pkgs/development/ocaml-modules/mlgmp/default.nix diff --git a/pkgs/development/ocaml-modules/mlgmp/META b/pkgs/development/ocaml-modules/mlgmp/META new file mode 100644 index 00000000000..e132e179b33 --- /dev/null +++ b/pkgs/development/ocaml-modules/mlgmp/META @@ -0,0 +1,7 @@ +name="gmp" +version="@VERSION@" +description="bindings to GNU MP library" +archive(byte)="gmp.cma" +archive(native)="gmp.cmxa" +requires="" + diff --git a/pkgs/development/ocaml-modules/mlgmp/default.nix b/pkgs/development/ocaml-modules/mlgmp/default.nix new file mode 100644 index 00000000000..78447796025 --- /dev/null +++ b/pkgs/development/ocaml-modules/mlgmp/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, ocaml, findlib, gmp, mpfr, ncurses }: + +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; + pname = "mlgmp"; + version = "20120224"; +in + +stdenv.mkDerivation { + name = "${pname}-${version}"; + + src = fetchurl { + url = "http://www-verimag.imag.fr/~monniaux/download/${pname}_${version}.tar.gz"; + sha256 = "3ce1a53fa452ff5a9ba618864d3bc46ef32190b57202d1e996ca7df837ad4f24"; + }; + + makeFlags = [ + "DESTDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib/gmp" + ]; + + preConfigure = "make clean"; + buildInputs = [ocaml findlib gmp mpfr ncurses]; + + createFindlibDestdir = true; + + propagatedbuildInputs = [gmp mpfr ncurses]; + + postInstall = '' + cp ${./META} $out/lib/ocaml/${ocaml_version}/site-lib/gmp/META + ''; + + meta = { + homepage = http://opam.ocamlpro.com/pkg/mlgmp.20120224.html; + description = "OCaml bindings to GNU MP library"; + license = "Free software ?"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 60e18a4847a..fbd55303fd4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2736,6 +2736,8 @@ let mldonkey = callPackage ../applications/networking/p2p/mldonkey { }; + mlgmp = callPackage ../development/ocaml-modules/mlgmp { }; + ocaml_batteries = callPackage ../development/ocaml-modules/batteries { camomile = camomile_0_8_2; }; From 27bf590d3c0467a6993caa0d17835f19d1e68aef Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Sun, 16 Jun 2013 22:25:08 +0200 Subject: [PATCH 2/7] upgraded ocaml-mysql to 1.1.1 --- pkgs/development/ocaml-modules/mysql/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix index 32455fb4310..ed70d1b9c3e 100644 --- a/pkgs/development/ocaml-modules/mysql/default.nix +++ b/pkgs/development/ocaml-modules/mysql/default.nix @@ -7,17 +7,22 @@ let ocaml_version = (builtins.parseDrvName ocaml.name).version; pname = "ocaml-mysql"; - version = "1.0.4"; + version = "1.1.1"; in stdenv.mkDerivation { name = "${pname}-${version}"; src = fetchurl { - url = "http://raevnos.pennmush.org/code/${pname}/${pname}-${version}.tar.gz"; - sha256 = "17i5almar8qrhc9drq0cvlprxf9wi9szj5kh4gnz11l9al8i3lar"; + url = "https://forge.ocamlcore.org/frs/download.php/870/${pname}-${version}.tar.gz"; + sha256 = "f896fa101a05d81b85af8122fe1c2809008a5e5fdca00f9ceeb7eec356369e3a"; }; + configureFlags = [ + "--prefix=$out" + "--libdir=$out/lib/ocaml/${ocaml_version}/site-lib/mysql" + ]; + buildInputs = [ocaml findlib mysql]; createFindlibDestdir = true; @@ -34,7 +39,7 @@ stdenv.mkDerivation { ''; meta = { - homepage = http://raevnos.pennmush.org/code/ocaml-mysql/; + homepage = http://ocaml-mysql.forge.ocamlcore.org; description = "Bindings for interacting with MySQL databases from ocaml"; license = "LGPLv2.1+"; maintainers = [ stdenv.lib.maintainers.roconnor ]; From c205449003eeb2ac23265946167e91c51d79f598 Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Sun, 16 Jun 2013 22:25:49 +0200 Subject: [PATCH 3/7] upgraded freeglut to 2.8.1 (menu are broken in 2.8.0) --- pkgs/development/libraries/freeglut/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix index 9d599560fc8..6e556a144ce 100644 --- a/pkgs/development/libraries/freeglut/default.nix +++ b/pkgs/development/libraries/freeglut/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11 }: stdenv.mkDerivation { - name = "freeglut-2.8.0"; + name = "freeglut-2.8.1"; src = fetchurl { - url = mirror://sourceforge/freeglut/freeglut-2.8.0.tar.gz; - sha256 = "197293ff886abe613bc9eb4a762d9161b0c9e64b3e8e613ed7c5e353974fba05"; + url = mirror://sourceforge/freeglut/freeglut-2.8.1.tar.gz; + sha256 = "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x"; }; configureFlags = "--" + (if stdenv.isDarwin then "disable" else "enable") + "-warnings"; buildInputs = [ libXi libXrandr libXxf86vm mesa x11 ]; - patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ]; + # patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ]; } From ce2efd0b5b99449f59f1f17f09cbde181072ab7c Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Sun, 16 Jun 2013 22:26:17 +0200 Subject: [PATCH 4/7] fixed dependencies of camlimages --- pkgs/development/ocaml-modules/camlimages/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix index 00168d46c3f..db11fc4fb8b 100644 --- a/pkgs/development/ocaml-modules/camlimages/default.nix +++ b/pkgs/development/ocaml-modules/camlimages/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng_apng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript }: +{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng_apng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript, lablgtk }: let ocaml_version = (builtins.parseDrvName ocaml.name).version; @@ -14,9 +14,9 @@ stdenv.mkDerivation { sha256 = "b40237c1505487049799a7af296eb3996b3fa08eab94415546f46d61355747c4"; }; - buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript ]; + buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript libtiff libjpeg libpng_apng giflib freetype libXpm lablgtk]; - propagatedbuildInputs = [libtiff libjpeg libpng_apng giflib freetype libXpm ]; + propagatedbuildInputs = [libtiff libjpeg libpng_apng giflib freetype libXpm lablgtk ]; createFindlibDestdir = true; From cb980d97d73a7059fdad1ec93746fa8de78f68ea Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Sun, 16 Jun 2013 22:27:14 +0200 Subject: [PATCH 5/7] added glsurf package --- .../science/math/glsurf/default.nix | 32 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/applications/science/math/glsurf/default.nix diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix new file mode 100644 index 00000000000..30ed454f61a --- /dev/null +++ b/pkgs/applications/science/math/glsurf/default.nix @@ -0,0 +1,32 @@ + +{ stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng_apng, giflib, freetype, libXpm }: + +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in + +stdenv.mkDerivation { + name = "glsurf-3.3"; + + src = fetchdarcs { + url = "http://lama.univ-savoie.fr/~raffalli/GlSurf"; + tag = "3.3"; + sha256 = ""; md5=""; + }; + + buildInputs = [ ocaml findlib freeglut mesa + lablgl camlimages ocaml_mysql mlgmp mpfr gmp + libtiff libjpeg libpng_apng giflib freetype libXpm ]; + + installPhase = '' + mkdir -p $out/bin $out/share/doc/glsurf + cp ./src/glsurf.opt $out/bin/glsurf + cp ./doc/doc.pdf $out/share/doc/glsurf + cp -r ./examples $out/share/doc/glsurf + ''; + + meta = { + homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf; + description = "GlSurf: a program to draw implicit surfaces and curves"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fbd55303fd4..0d947cfeb6e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3979,6 +3979,10 @@ let glpk = callPackage ../development/libraries/glpk { }; + glsurf = callPackage ../applications/science/math/glsurf { + inherit (ocamlPackages) lablgl findlib camlimages ocaml_mysql mlgmp; + }; + gmime = callPackage ../development/libraries/gmime { }; gmm = callPackage ../development/libraries/gmm { }; From 101aad1467561f14a1a6d69b004d993edfb4e8c2 Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Wed, 19 Jun 2013 04:39:08 +0200 Subject: [PATCH 6/7] camlimages ... still wasn't ok. Now better. --- pkgs/development/ocaml-modules/camlimages/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix index db11fc4fb8b..037ebdea6b6 100644 --- a/pkgs/development/ocaml-modules/camlimages/default.nix +++ b/pkgs/development/ocaml-modules/camlimages/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng_apng, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript, lablgtk }: +{stdenv, fetchurl, omake, ocaml, omake_rc1, libtiff, libjpeg, libpng12, giflib, findlib, libXpm, freetype, graphicsmagick, ghostscript }: let ocaml_version = (builtins.parseDrvName ocaml.name).version; @@ -14,9 +14,9 @@ stdenv.mkDerivation { sha256 = "b40237c1505487049799a7af296eb3996b3fa08eab94415546f46d61355747c4"; }; - buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript libtiff libjpeg libpng_apng giflib freetype libXpm lablgtk]; - - propagatedbuildInputs = [libtiff libjpeg libpng_apng giflib freetype libXpm lablgtk ]; + buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript libtiff libjpeg libpng12 giflib freetype libXpm ]; + + propagatedbuildInputs = [libtiff libjpeg libpng12 giflib freetype libXpm ]; createFindlibDestdir = true; From 102216f8c92a3c52c98f58774194ffd91062cda2 Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Wed, 19 Jun 2013 05:03:16 +0200 Subject: [PATCH 7/7] Drop useless dependencies in glsurf --- pkgs/applications/science/math/glsurf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix index 30ed454f61a..51b2850347b 100644 --- a/pkgs/applications/science/math/glsurf/default.nix +++ b/pkgs/applications/science/math/glsurf/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng_apng, giflib, freetype, libXpm }: +{ stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng12, giflib }: let ocaml_version = (builtins.parseDrvName ocaml.name).version; @@ -16,7 +16,7 @@ stdenv.mkDerivation { buildInputs = [ ocaml findlib freeglut mesa lablgl camlimages ocaml_mysql mlgmp mpfr gmp - libtiff libjpeg libpng_apng giflib freetype libXpm ]; + libtiff libjpeg libpng12 giflib ]; installPhase = '' mkdir -p $out/bin $out/share/doc/glsurf