diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix index 208bb95f930..58b2a617bd6 100644 --- a/pkgs/applications/science/math/glsurf/default.nix +++ b/pkgs/applications/science/math/glsurf/default.nix @@ -1,7 +1,12 @@ -{ lib, stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut, giflib -, libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng +{ lib, stdenv, fetchurl, ocamlPackages, makeWrapper +, libGLU, libGL, freeglut, mpfr, gmp +, pkgsHostTarget }: +let + inherit (pkgsHostTarget.targetPackages.stdenv) cc; +in + stdenv.mkDerivation { name = "glsurf-3.3.1"; @@ -10,17 +15,32 @@ stdenv.mkDerivation { sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7"; }; - buildInputs = [ freeglut libGLU libGL libmysqlclient mpfr giflib gmp - libtiff libjpeg libpng ] - ++ (with ocamlPackages; [ - ocaml findlib ocaml_mysql lablgl camlimages_4_1_2 mlgmpidl + nativeBuildInputs = [ + makeWrapper + ] ++ (with ocamlPackages; [ + ocaml findlib ]); + buildInputs = [ + freeglut libGL libGLU mpfr gmp + ] ++ (with ocamlPackages; [ + camlp4 lablgl camlimages_4_2_4 + ]); + + postPatch = '' + for f in callbacks*/Makefile src/Makefile; do + substituteInPlace "$f" --replace "+camlp4" \ + "${ocamlPackages.camlp4}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/camlp4" + done + ''; + 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 + + wrapProgram "$out/bin/glsurf" --set CC "${cc}/bin/${cc.targetPrefix}cc" ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3f0836216a7..37007241e7e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15283,8 +15283,7 @@ in glpk = callPackage ../development/libraries/glpk { }; glsurf = callPackage ../applications/science/math/glsurf { - libpng = libpng12; - ocamlPackages = ocaml-ng.ocamlPackages_4_01_0; + ocamlPackages = ocaml-ng.ocamlPackages_4_05; }; glui = callPackage ../development/libraries/glui {};