diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix new file mode 100644 index 00000000000..51b2850347b --- /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, libpng12, giflib }: + +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 libpng12 giflib ]; + + 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/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 ]; } diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix index 00168d46c3f..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 }: +{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 ]; - - propagatedbuildInputs = [libtiff libjpeg libpng_apng giflib freetype libXpm ]; + buildInputs = [ocaml omake_rc1 findlib graphicsmagick ghostscript libtiff libjpeg libpng12 giflib freetype libXpm ]; + + propagatedbuildInputs = [libtiff libjpeg libpng12 giflib freetype libXpm ]; createFindlibDestdir = true; 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/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 ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90d418310eb..14232f5cbce 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2741,6 +2741,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; }; @@ -3995,6 +3997,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 { };