diff options
Diffstat (limited to 'pkgs/applications/science/logic/acgtk/default.nix')
-rw-r--r-- | pkgs/applications/science/logic/acgtk/default.nix | 50 |
1 files changed, 10 insertions, 40 deletions
diff --git a/pkgs/applications/science/logic/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix index b787a4e7a01c..729aef4e21c2 100644 --- a/pkgs/applications/science/logic/acgtk/default.nix +++ b/pkgs/applications/science/logic/acgtk/default.nix @@ -1,57 +1,27 @@ -{ stdenv, fetchurl, ocamlPackages, - buildBytecode ? true, - buildNative ? true, - installExamples ? true, - installEmacsMode ? true }: - -let inherit (stdenv.lib) versionAtLeast optionalString; in - -let inherit (ocamlPackages) ocaml camlp4; in - -assert buildBytecode || buildNative; +{ stdenv, fetchurl, dune, ocamlPackages }: stdenv.mkDerivation { - name = "acgtk-1.3.1"; + name = "acgtk-1.5.0"; src = fetchurl { - url = http://calligramme.loria.fr/acg/software/acg-1.3.1-20170303.tar.gz; - sha256 = "1hhrf6bx2x2wbv5ldn4fnxhpr9lyrj3zh1vcnx8wf8f06ih4rzfq"; + url = http://calligramme.loria.fr/acg/software/acg-1.5.0-20181019.tar.gz; + sha256 = "14n003gxzw5w79hlpw1ja4nq97jqf9zqyg00ihvpxw4bv9jlm8jm"; }; - buildInputs = with ocamlPackages; [ - ocaml findlib camlp4 ansiterminal biniou bolt cairo2 dypgen easy-format ocf yojson - ]; - - patches = [ ./install-emacs-to-site-lisp.patch - ./use-nix-ocaml-byteflags.patch ]; - - postPatch = optionalString (camlp4 != null) '' - substituteInPlace src/Makefile.master.in \ - --replace "+camlp4" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4/" - '' + optionalString (versionAtLeast (stdenv.lib.getVersion ocamlPackages.yojson) "1.4") '' - substituteInPlace src/scripting/Makefile.in --replace yojson.cmo yojson.cma - ''; - - # The bytecode executable is dependent on the dynamic library provided by - # ANSITerminal. We can use the -dllpath flag of ocamlc (analogous to - # -rpath) to make sure that ocamlrun is able to link the library at - # runtime and that Nix detects a runtime dependency. - NIX_OCAML_BYTEFLAGS = "-dllpath ${ocamlPackages.ansiterminal}/lib/ocaml/${ocaml.version}/site-lib/ANSITerminal"; + buildInputs = [ dune ] ++ (with ocamlPackages; [ + ocaml findlib ansiterminal cairo2 fmt logs menhir mtime ocf + ]); - buildFlags = optionalString buildBytecode "byte" - + " " - + optionalString buildNative "opt"; + buildPhase = "dune build"; - installTargets = "install" - + " " + optionalString installExamples "install-examples" - + " " + optionalString installEmacsMode "install-emacs"; + inherit (dune) installPhase; meta = with stdenv.lib; { homepage = http://calligramme.loria.fr/acg/; description = "A toolkit for developing ACG signatures and lexicon"; license = licenses.cecill20; - platforms = ocaml.meta.platforms or []; + inherit (ocamlPackages.ocaml.meta) platforms; maintainers = [ maintainers.jirkamarsik ]; }; } |