doc: "filesystem" -> "file system"
[jackhill/guix/guix.git] / gnu / packages / ocaml.scm
index 434fb13..f6f7308 100644 (file)
@@ -38,7 +38,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages xorg)
-  #:use-module (gnu packages texlive)
+  #:use-module (gnu packages tex)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages lynx)
   #:use-module (gnu packages perl)
@@ -149,7 +149,7 @@ functional, imperative and object-oriented styles of programming.")
 (define-public opam
   (package
     (name "opam")
-    (version "1.1.1")
+    (version "1.2.2")
     (source (origin
               (method url-fetch)
               ;; Use the '-full' version, which includes all the dependencies.
@@ -161,7 +161,7 @@ functional, imperative and object-oriented styles of programming.")
                )
               (sha256
                (base32
-                "1frzqkx6yn1pnyd9qz3bv3rbwv74bmc1xji8kl41r1dkqzfl3xqv"))))
+                "004gwn6rbpcb53y3rpb3v23vk39rp2xmf0liyd5iy12ij8bigrhm"))))
     (build-system gnu-build-system)
     (arguments
      '(;; Sometimes, 'make -jX' would fail right after ./configure with
@@ -169,30 +169,34 @@ functional, imperative and object-oriented styles of programming.")
        #:parallel-build? #f
 
        ;; For some reason, 'ocp-build' needs $TERM to be set.
-       #:make-flags '("TERM=screen")
+       #:make-flags `("TERM=screen"
+                      ,(string-append "SHELL="
+                                      (assoc-ref %build-inputs "bash")
+                                      "/bin/sh"))
        #:test-target "tests"
 
        ;; FIXME: There's an obscure test failure:
        ;;   …/_obuild/opam/opam.asm install P1' failed.
        #:tests? #f
 
-       #:phases (alist-cons-before
-                 'build 'pre-build
-                 (lambda* (#:key inputs #:allow-other-keys)
-                   (let ((bash (assoc-ref inputs "bash")))
-                     (substitute* "src/core/opamSystem.ml"
-                       (("\"/bin/sh\"")
-                        (string-append "\"" bash "/bin/sh\"")))))
-                 (alist-cons-before
-                  'check 'pre-check
-                  (lambda _
-                    (setenv "HOME" (getcwd))
-                    (and (system "git config --global user.email guix@gnu.org")
-                         (system "git config --global user.name Guix")))
-                  %standard-phases))))
+       #:phases (modify-phases %standard-phases
+                 (add-before 'build 'pre-build
+                   (lambda* (#:key inputs make-flags #:allow-other-keys)
+                     (let ((bash (assoc-ref inputs "bash")))
+                       (substitute* "src/core/opamSystem.ml"
+                         (("\"/bin/sh\"")
+                          (string-append "\"" bash "/bin/sh\"")))
+                       ;; Build dependencies
+                       (zero? (apply system* "make" "lib-ext" make-flags)))))
+                 (add-before 'check 'pre-check
+                   (lambda _
+                     (setenv "HOME" (getcwd))
+                     (and (system "git config --global user.email guix@gnu.org")
+                          (system "git config --global user.name Guix")))))))
     (native-inputs
      `(("git" ,git)                               ;for the tests
-       ("python" ,python)))                       ;for the tests
+       ("python" ,python)                         ;for the tests
+       ("camlp4" ,camlp4)))
     (inputs
      `(("ocaml" ,ocaml)
        ("ncurses" ,ncurses)
@@ -386,7 +390,7 @@ It is developed using Objective Caml and Camlp5.")
     (build-system gnu-build-system)
     (native-inputs
      `(("which" ,which)
-       ("emacs" ,emacs-no-x)
+       ("emacs" ,emacs-minimal)
        ("texinfo" ,texinfo)))
     (inputs
      `(("host-emacs" ,emacs)
@@ -569,6 +573,7 @@ libpanel, librsvg and quartz.")
     (native-inputs
      `(("ocaml" ,ocaml)
        ;; For documentation
+       ("ghostscript-gs" ,ghostscript-gs)
        ("ghostscript" ,ghostscript)
        ("texlive" ,texlive)
        ("hevea" ,hevea)
@@ -590,8 +595,14 @@ libpanel, librsvg and quartz.")
                  (mkdir-p bin)
                  (setenv "HOME" out) ; forces correct INSTALLDIR in Makefile
                  #t)))
+           (add-after 'install 'install-fsmonitor
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 ;; 'unison-fsmonitor' is used in "unison -repeat watch" mode.
+                 (install-file "src/unison-fsmonitor" bin))))
            (add-after 'install 'install-doc
-             (lambda* (#:key inputs outputs #:allow-other-keys)
+             (lambda* (#:key outputs #:allow-other-keys)
                (let ((doc (string-append (assoc-ref outputs "doc")
                                          "/share/doc/unison")))
                  (mkdir-p doc)
@@ -662,7 +673,7 @@ to the other.")
      "The \"findlib\" library provides a scheme to manage reusable software
 components (packages), and includes tools that support this scheme.  Packages
 are collections of OCaml modules for which metainformation can be stored.  The
-packages are kept in the filesystem hierarchy, but with strict directory
+packages are kept in the file system hierarchy, but with strict directory
 structure.  The library contains functions to look the directory up that
 stores a package, to query metainformation about a package, and to retrieve
 dependency information about multiple packages.  There is also a tool that