emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#45762: closed ([PATCH] ocaml: Add ocaml-down and ocaml-ocp-index)


From: GNU bug Tracking System
Subject: bug#45762: closed ([PATCH] ocaml: Add ocaml-down and ocaml-ocp-index)
Date: Tue, 12 Jan 2021 14:11:02 +0000

Your message dated Tue, 12 Jan 2021 15:10:01 +0100
with message-id <20210112151001.35780f3e@tachikoma.lepiller.eu>
and subject line Re: [bug#45762] [PATCH] ocaml: Add ocaml-down and 
ocaml-ocp-index
has caused the debbugs.gnu.org bug report #45762,
regarding [PATCH] ocaml: Add ocaml-down and ocaml-ocp-index
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
45762: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=45762
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] ocaml: Add ocaml-down and ocaml-ocp-index Date: Sun, 10 Jan 2021 13:49:15 +0300
---
 gnu/packages/ocaml.scm | 132 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 132 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2df16e7cd2..6699eb1050 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -390,6 +390,71 @@ repository-wide uninstallability checks.")
     ;; with static-linking exception
     (license license:lgpl2.1+)))
 
+(define-public ocaml-down
+  (package
+    (name "ocaml-down")
+    (version "0.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri "https://erratique.ch/software/down/releases/down-0.0.3.tbz";)
+        (sha256
+          (base32
+            "1nz2f5j17frgr2vrslcz9klmi6w9sm2vqwwwpi33ngcm3rgmsrlg"))))
+    (build-system ocaml-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                              (delete 'configure))
+       #:build-flags (list "build"
+                           "--lib-dir" (string-append (assoc-ref %outputs 
"out")
+                                                      "/lib/ocaml/site-lib"))))
+    (native-inputs
+      `(("ocaml-findlib" ,ocaml-findlib)
+        ("ocamlbuild" ,ocamlbuild)
+        ("ocaml-topkg" ,ocaml-topkg)
+        ("opam" ,opam)))
+    (home-page "https://erratique.ch/software/down";)
+    (synopsis "An OCaml toplevel (REPL) upgrade")
+    (description
+      "
+Down is an unintrusive user experience upgrade for the `ocaml`
+toplevel (REPL). 
+
+Simply load the zero dependency `Down` library in the `ocaml` toplevel
+and you get line edition, history, session support and identifier
+completion and documentation (courtesy of [`ocp-index`][ocp-index]).
+
+Add this to your `~/.ocamlinit`:
+
+    #use \"down.top\"
+
+You may also need to add this to your `~/.ocamlinit` and declare
+the environment variable OCAML_TOPLEVEL_PATH
+
+    let () =
+      try Topdirs.dir_directory (Sys.getenv \"OCAML_TOPLEVEL_PATH\")
+      with Not_found -> ()
+
+OR
+     
+    let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\")
+             |> List.filter (fun x -> Filename.check_suffix x \"/site-lib\")
+             |> List.map (fun x -> x ^ \"/toplevel\")
+             (* remove the line below if you don't want to see the text
+                every time you start the toplevel *)
+             |> List.map (fun x -> Printf.printf \"adding directory %s\\n\" x; 
x)
+             |> List.iter Topdirs.dir_directory;;
+
+
+![tty](doc/tty.png)
+
+Down is distributed under the ISC license.
+
+
+[ocp-index]: https://github.com/OCamlPro/ocp-index";)
+    (license license:isc)))
+
 (define-public ocaml-opam-file-format
   (package
     (name "ocaml-opam-file-format")
@@ -2363,6 +2428,73 @@ the JSON data format.  It can process JSON text without 
blocking on IO and
 without a complete in-memory representation of the data.")
     (license license:isc)))
 
+(define-public ocaml-ocp-indent
+  (package
+    (name "ocaml-ocp-indent")
+    (version "1.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri "https://github.com/OCamlPro/ocp-indent/archive/1.8.1.tar.gz";)
+        (sha256
+          (base32
+            "0rqcvwzpwwzwqvrzg1l37jjiglrk2ijgjg1c7vy3xvc8lk9zyysw"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:tests? #f
+       #:build-flags (list "--profile=release")))
+    (propagated-inputs
+      `(("ocaml-cmdliner" ,ocaml-cmdliner)))
+    (home-page
+      "http://www.typerex.org/ocp-indent.html";)
+    (synopsis
+      "A simple tool to indent OCaml programs")
+    (description
+      "Ocp-indent is based on an approximate, tolerant OCaml parser and a 
simple stack
+machine ; this is much faster and more reliable than using regexps. Presets and
+configuration options available, with the possibility to set them project-wide.
+Supports most common syntax extensions, and extensible for others.
+
+Includes:
+- An indentor program, callable from the command-line or from within editors
+- Bindings for popular editors
+- A library that can be directly used by editor writers, or just for\n  
fault-tolerant/approximate parsing.
+")
+    (license #f)))
+
+(define-public ocaml-ocp-index
+  (package
+    (name "ocaml-ocp-index")
+    (version "1.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri "https://github.com/OCamlPro/ocp-index/archive/1.2.1.tar.gz";)
+        (sha256
+          (base32
+            "169msb3k1ip5lp79lr62nsk715rwrn53x9jcrnxz4js7c0fv0cyr"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:package "ocp-index"))
+    (propagated-inputs
+      `(("ocaml-ocp-indent" ,ocaml-ocp-indent)
+        ("ocaml-re" ,ocaml-re)
+        ("ocaml-cmdliner" ,ocaml-cmdliner)))
+    (native-inputs `(("ocaml-cppo" ,ocaml-cppo)))
+    (home-page
+      "http://www.typerex.org/ocp-index.html";)
+    (synopsis
+      "Lightweight completion and documentation browsing for OCaml libraries")
+    (description
+      "This package includes
+* The `ocp-index` library and command-line tool
+* `ocp-grep`, a tool that finds uses of a given (qualified) identifier in a 
source tree
+* bindings for emacs and vim (sublime text also 
[available](https://github.com/whitequark/sublime-ocp-index/))
+
+To automatically configure your editors, install this with package 
`user-setup`.
+")
+    (license #f)))
+
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
-- 
2.29.2




--- End Message ---
--- Begin Message --- Subject: Re: [bug#45762] [PATCH] ocaml: Add ocaml-down and ocaml-ocp-index Date: Tue, 12 Jan 2021 15:10:01 +0100
Pushed as b6529e189688ac8bc17c11cf24304fc554f5cb9b to
e3b71ee6dcb87452192fb4f5df9eeea31f1c1cfd. Thank you!

I changed the first two packages to use the git checkout instead of the
generated archive by github, because this archive is unstable:
sometimes it gets regenerated and has a different hash. git commits
don't do that.

I also updated ocp-indent to the latest version, and managed to get the
tests to run with the #:test-target argument. I also fixed the home
page (http -> https).

For the rest, I fixed the description by replacing markdown with
texinfo decoration `...` -> @code, @file, @command, ...

Thanks again for your contribution! If you run "guix pull" you should
be able to install ocaml-down :)

Lastly, if you use the git:send-email package, you should be able to
use the git send-email command, which should make sure to properly send
the patch description outside of the subject. Also, make sure to run
"guix lint" on the packages you submit next time, as it sometimes have
good suggestions to help improve the quality of your packages :)


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]