Merge pull request #636 from craff/glsurf

Glsurf (3D drawing of implicit surfaces and curves)
This commit is contained in:
Evgeny Egorochkin 2013-06-18 22:34:08 -07:00
commit 6b4eaf71fe
7 changed files with 99 additions and 12 deletions

View File

@ -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";
};
}

View File

@ -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 ];
}

View File

@ -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;

View File

@ -0,0 +1,7 @@
name="gmp"
version="@VERSION@"
description="bindings to GNU MP library"
archive(byte)="gmp.cma"
archive(native)="gmp.cmxa"
requires=""

View File

@ -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 ?";
};
}

View File

@ -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 ];

View File

@ -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 { };