diff options
author | Austin Seipp <aseipp@pobox.com> | 2019-01-14 21:50:15 -0600 |
---|---|---|
committer | Austin Seipp <aseipp@pobox.com> | 2019-01-15 00:33:59 -0600 |
commit | 9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea (patch) | |
tree | 8cf067b33ca62fc0e1032ee313f8e944d1a92f3b /pkgs/development/ocaml-modules/zarith | |
parent | ee3949d7207dabcd7ff46725ed8219a7127bbb00 (diff) | |
download | nixlib-9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea.tar nixlib-9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea.tar.gz nixlib-9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea.tar.bz2 nixlib-9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea.tar.lz nixlib-9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea.tar.xz nixlib-9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea.tar.zst nixlib-9d5a7af4e57b79b36cb3920b9ba50b3cbd27d2ea.zip |
ocamlPackages.zarith: use buildOcaml instead of mkDerivation
This has two main advantages: - By setting hasSharedObjects = true, buildOcaml will automatically include a setup-hook.sh that sets CAML_LD_LIBRARY_PATH in dependent expressions. This is needed to pick up dllzarith.so properly which is shipped as party of the library. - We can kill the ugly assert in the expression and instead change it to use minimumSupportedOcamlVersion. Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/development/ocaml-modules/zarith')
-rw-r--r-- | pkgs/development/ocaml-modules/zarith/default.nix | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix index e5d954970589..d91f6e1c8a31 100644 --- a/pkgs/development/ocaml-modules/zarith/default.nix +++ b/pkgs/development/ocaml-modules/zarith/default.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gmp, perl }: +{ stdenv, buildOcaml, fetchurl +, ocaml, findlib, pkgconfig, perl +, gmp +}: -assert stdenv.lib.versionAtLeast ocaml.version "3.12.1"; - -let param = +let source = if stdenv.lib.versionAtLeast ocaml.version "4.02" then { version = "1.7"; @@ -15,18 +16,20 @@ let param = }; in -stdenv.mkDerivation rec { - name = "zarith-${version}"; - inherit (param) version; +buildOcaml rec { + name = "zarith"; + inherit (source) version; + src = fetchurl { inherit (source) url sha256; }; - src = fetchurl { - inherit (param) url sha256; - }; + minimumSupportedOcamlVersion = "3.12.1"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ ocaml findlib perl ]; propagatedBuildInputs = [ gmp ]; + # needed so setup-hook.sh sets CAML_LD_LIBRARY_PATH for dllzarith.so + hasSharedObjects = true; + patchPhase = "patchShebangs ./z_pp.pl"; configurePhase = '' ./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib |