Replace Cmdliner with Ocmd, re-add documentation
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja> git-svn-id: file:///srv/svn/repo/kosuzu/trunk@65 eb64cd80-c68d-6f47-b6a3-0ada418499da
This commit is contained in:
2
Makefile
2
Makefile
@@ -19,7 +19,7 @@ dist:
|
|||||||
@dune build
|
@dune build
|
||||||
@cp _build/default/cli/txt.exe txt.exe
|
@cp _build/default/cli/txt.exe txt.exe
|
||||||
@strip txt.exe
|
@strip txt.exe
|
||||||
@tar czvf "logarion-${OS}-${MACHINE}-${DATE}-${COMMIT}" txt.exe readme.txt
|
@tar czvf "kosuzu-${OS}-${MACHINE}-${DATE}-${COMMIT}" txt.exe readme.txt
|
||||||
@rm txt.exe
|
@rm txt.exe
|
||||||
install:
|
install:
|
||||||
@dune install --prefix ${PREFIX}
|
@dune install --prefix ${PREFIX}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ let authors r topics_opt =
|
|||||||
let s = File_store.fold ~r ~predicate author_union Person.Set.empty in
|
let s = File_store.fold ~r ~predicate author_union Person.Set.empty in
|
||||||
Person.Set.iter (fun x -> print_endline (Person.to_string x)) s
|
Person.Set.iter (fun x -> print_endline (Person.to_string x)) s
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let recurse = Arg.(value & flag & info ["R"]
|
let recurse = Arg.(value & flag & info ["R"]
|
||||||
~doc:"include texts in subdirectories too") in
|
~doc:"include texts in subdirectories too") in
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ let at_path types noindex path = match path with
|
|||||||
)
|
)
|
||||||
| path -> Printf.eprintf "Path doesn't exist: %s" path
|
| path -> Printf.eprintf "Path doesn't exist: %s" path
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let path = Arg.(value & pos 0 string "" & info [] ~docv:"path"
|
let path = Arg.(value & pos 0 string "" & info [] ~docv:"path"
|
||||||
~doc:"Text file or directory to convert. If directory is provided, it must contain an index.pck (see: txt index)") in
|
~doc:"Text file or directory to convert. If directory is provided, it must contain an index.pck (see: txt index)") in
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let id = Arg.(value & pos 0 string "" & info [] ~docv:"text ID") in
|
let id = Arg.(value & pos 0 string "" & info [] ~docv:"text ID") in
|
||||||
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ let unfile files =
|
|||||||
with Unix.(Unix_error(ENOENT,_,_))-> () in
|
with Unix.(Unix_error(ENOENT,_,_))-> () in
|
||||||
List.iter (fun d -> List.iter (unlink d) files) dirs
|
List.iter (fun d -> List.iter (unlink d) files) dirs
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let files = Arg.(value & pos_all string [] & info []
|
let files = Arg.(value & pos_all string [] & info []
|
||||||
~docv:"text filenames and subdirectories") in
|
~docv:"text filenames and subdirectories") in
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ let load dir =
|
|||||||
let index_path = Filename.concat dir "index.pck" in
|
let index_path = Filename.concat dir "index.pck" in
|
||||||
index { dir; index_path; pck = Header_pack.of_kv kv }
|
index { dir; index_path; pck = Header_pack.of_kv kv }
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let print= Arg.(value & flag & info ["print"] ~doc:"print info") in
|
let print= Arg.(value & flag & info ["print"] ~doc:"print info") in
|
||||||
let title= Arg.(value & opt ~vopt:(Some "") (some string) None & info ["t"; "title"]
|
let title= Arg.(value & opt ~vopt:(Some "") (some string) None & info ["t"; "title"]
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ let last search_mine =
|
|||||||
| None -> ()
|
| None -> ()
|
||||||
| Some (_, f) -> List.iter print_endline f
|
| Some (_, f) -> List.iter print_endline f
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let mine = Arg.(value & flag & info ["mine"] ~doc:"last text authored by me") in
|
let mine = Arg.(value & flag & info ["mine"] ~doc:"last text authored by me") in
|
||||||
Term.(const last $ mine),
|
Term.(const last $ mine),
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ let listing r order_opt reverse_opt number_opt paths_opt authors_opt topics_opt
|
|||||||
| Some number -> FS.iter ~r ~dir ~predicate ~order ~number list_text
|
| Some number -> FS.iter ~r ~dir ~predicate ~order ~number list_text
|
||||||
| None -> FS.iter ~r ~dir ~predicate ~order list_text
|
| None -> FS.iter ~r ~dir ~predicate ~order list_text
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
||||||
let reverse = Arg.(value & flag & info ["r"] ~doc:"reverse order") in
|
let reverse = Arg.(value & flag & info ["r"] ~doc:"reverse order") in
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
open Logarion
|
open Logarion
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
|
|
||||||
let new_txt title topics_opt interactive =
|
let new_txt title topics_opt interactive =
|
||||||
let kv = Logarion.File_store.of_kv_file () in
|
let kv = Logarion.File_store.of_kv_file () in
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ let peers = function
|
|||||||
Printf.printf "Peers in %s\n" Logarion.Peers.text_dir;
|
Printf.printf "Peers in %s\n" Logarion.Peers.text_dir;
|
||||||
Logarion.Peers.fold print_peer ()
|
Logarion.Peers.fold print_peer ()
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let remove = Arg.(value & opt (some string) None & info ["remove"]
|
let remove = Arg.(value & opt (some string) None & info ["remove"]
|
||||||
~docv:"repository ID" ~doc:"remove repository texts & from future pulling") in
|
~docv:"repository ID" ~doc:"remove repository texts & from future pulling") in
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ let pull_list auths topics =
|
|||||||
let pull url auths topics = match url with
|
let pull url auths topics = match url with
|
||||||
| "" -> pull_list auths topics | x -> ignore (pull_index x auths topics)
|
| "" -> pull_list auths topics | x -> ignore (pull_index x auths topics)
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let authors = Arg.(value & opt (some string) None & info ["a"; "authors"]
|
let authors = Arg.(value & opt (some string) None & info ["a"; "authors"]
|
||||||
~docv:"comma-separated names" ~doc:"filter by authors") in
|
~docv:"comma-separated names" ~doc:"filter by authors") in
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
open Logarion
|
open Logarion
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let id = Arg.(value & pos 0 string "" & info [] ~docv:"text ID") in
|
let id = Arg.(value & pos 0 string "" & info [] ~docv:"text ID") in
|
||||||
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ open Logarion
|
|||||||
module FS = File_store
|
module FS = File_store
|
||||||
module A = Archive
|
module A = Archive
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
|
||||||
let reverse = Arg.(value & flag & info ["r"] ~doc:"reverse order") in
|
let reverse = Arg.(value & flag & info ["r"] ~doc:"reverse order") in
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ let topics r authors_opt =
|
|||||||
let s = File_store.fold ~r ~predicate topic_union String_set.empty in
|
let s = File_store.fold ~r ~predicate topic_union String_set.empty in
|
||||||
print_endline @@ String_set.to_string s
|
print_endline @@ String_set.to_string s
|
||||||
|
|
||||||
open Cmdliner
|
open Ocmd
|
||||||
let term =
|
let term =
|
||||||
let recurse = Arg.(value & flag & info ["R"]
|
let recurse = Arg.(value & flag & info ["R"]
|
||||||
~doc:"include texts in subdirectories") in
|
~doc:"include texts in subdirectories") in
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
let version = "1.3.2"
|
open Ocmd
|
||||||
|
|
||||||
open Cmdliner
|
|
||||||
let default_cmd =
|
let default_cmd =
|
||||||
let doc = "Discover, collect & exchange texts" in
|
let doc = "Discover, collect & exchange texts" in
|
||||||
let man = [ `S "CONTACT"; `P "<mailto:logarion-dev@chaotic.ninja>" ] in
|
let man = [ `S "CONTACT"; `P "<mailto:logarion-dev@chaotic.ninja>" ] in
|
||||||
Term.(ret (const (`Help (`Pager, None)))), Term.info "txt" ~version ~doc ~man
|
Term.(ret (const (`Help (`Pager, None)))), Term.info "txt" ~version:"%%VERSION%%" ~doc ~man
|
||||||
|
|
||||||
let () = match Term.eval_choice default_cmd [
|
let () = match Term.eval_choice default_cmd [
|
||||||
Authors.term;
|
Authors.term;
|
||||||
|
|||||||
11
doc/3sqd84.txt
Normal file
11
doc/3sqd84.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
ID: 3sqd84
|
||||||
|
Date: 2022-11-06T13:01:19Z
|
||||||
|
Title: Exploring & pulling texts from Logarion repositories
|
||||||
|
Authors: orbifx
|
||||||
|
Topics: Logarion
|
||||||
|
|
||||||
|
Logarion repositories are collections of text files, accompanied by a special index file. These collections can exist on any server and accessed by any transport protocol. Logarion's client currently supports a plethora of protocols, HTTP, FTP, Gopher to name a few examples.
|
||||||
|
|
||||||
|
A remote repository can be registered and texts copied locally. To add a new remote run: `txt pull <url>`, where <url> is the address of the remote repository. The program will connect to the server, copy the `index.pck` file and use it to download each text file. It will not redownload previous texts, unless their Date or Date-Edited dates are newer than the previous ones.
|
||||||
|
|
||||||
|
The text files are by default downloaded to `.local/share/texts/peers/`. A new directory is created for each peer's unique id and the index & texts are stored in it. Running `txt pull` with no URL, will refetch indices from all previously pulled repositories, and new text files will be downloaded automatically.
|
||||||
15
doc/9egbae.txt
Normal file
15
doc/9egbae.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
ID: 9egbae
|
||||||
|
Date: 2023-06-17T23:27:44Z
|
||||||
|
Title: Building from source
|
||||||
|
Authors: Izuru Yakumo
|
||||||
|
Topics: Logarion
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
* git
|
||||||
|
* ocaml (>=4.13)
|
||||||
|
|
||||||
|
1. git clone git://git.chaotic.ninja/yakumo_izuru/logarion
|
||||||
|
2. cd logarion
|
||||||
|
3. git submodule update --init
|
||||||
|
4. make deps
|
||||||
|
5. make tgz
|
||||||
23
doc/Makefile
Normal file
23
doc/Makefile
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
all: clean build
|
||||||
|
|
||||||
|
build: index generate
|
||||||
|
|
||||||
|
clean:
|
||||||
|
find htm -type f -name "*.html" -print -delete
|
||||||
|
find htm -type f -name "*.htm" -print -delete
|
||||||
|
find . -type f -name "*.atom" -print -delete
|
||||||
|
copy-index: index
|
||||||
|
cp index.pck htm
|
||||||
|
generate: relink copy-index
|
||||||
|
txt convert --type=htm htm
|
||||||
|
index:
|
||||||
|
txt index .
|
||||||
|
link:
|
||||||
|
txt file *.txt htm
|
||||||
|
delink:
|
||||||
|
rm htm/*.txt
|
||||||
|
serve:
|
||||||
|
darkhttpd htm
|
||||||
|
upload:
|
||||||
|
rsync -acv --del htm/ webdev@chaotic.ninja:/var/www/logarion
|
||||||
|
relink: delink link
|
||||||
26
doc/d41e68.txt
Normal file
26
doc/d41e68.txt
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
ID: d41e68
|
||||||
|
Date: 2023-10-18T18:45:33+00:00
|
||||||
|
Title: Header format
|
||||||
|
Authors: orbifx <fox@orbitalfox.eu>
|
||||||
|
Topics: Logarion
|
||||||
|
|
||||||
|
ID: Unique identifier
|
||||||
|
Date: ISO8601 date of creation
|
||||||
|
Topics: Comma seperated list of topic names & phrases
|
||||||
|
Title: A title for the text, ideally less than 70 characters
|
||||||
|
Authors: List of name with optional set of <address>
|
||||||
|
Date-edited: ISO8601, use only when text edited
|
||||||
|
References: list of text ID links
|
||||||
|
|
||||||
|
A blank line must follow the last header field.
|
||||||
|
|
||||||
|
|
||||||
|
Example
|
||||||
|
|
||||||
|
ID: 11bcd
|
||||||
|
Title: A Logarion exemplar header
|
||||||
|
Authors: John Doe <http://example.com> <jd@example.com>
|
||||||
|
Date: 1970-11-06T12:29:50-00:00
|
||||||
|
Topic: Logarion, examples
|
||||||
|
|
||||||
|
Hello world!
|
||||||
4
doc/footer.html
Normal file
4
doc/footer.html
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
<a href="git://git.chaotic.ninja/yakumo_izuru/logarion">Source code</a>
|
||||||
|
</p>
|
||||||
17
doc/h1a9tg.txt
Normal file
17
doc/h1a9tg.txt
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
ID: h1a9tg
|
||||||
|
Date: 2022-11-20T13:28:57Z
|
||||||
|
Authors: orbifx <orbifx@orbifx.indy>
|
||||||
|
Title: Txt uniform resource names
|
||||||
|
Topics: Logarion
|
||||||
|
|
||||||
|
Logarion texts are transport agnostic. URIs should therefore avoid using URLs and use URNs instead. Some definitions of Uniform Resource:
|
||||||
|
- Locator (URL) <http://en.wikipedia.org/wiki/Url>
|
||||||
|
- Identifier (URI) <http://en.wikipedia.org/wiki/Uniform_Resource_Identifier>
|
||||||
|
- Name (URN) <http://en.wikipedia.org/wiki/Uniform_Resource_Name>
|
||||||
|
|
||||||
|
|
||||||
|
Links enclosed in angled brackets <> of the format:
|
||||||
|
|
||||||
|
urn:txtid:abcdef
|
||||||
|
|
||||||
|
where `abcdef` is the id of the text are understood by `txt` and handled accordingly. For example when converting to HTML or Gemini, the URNs are converted to relative URLs which browsers can understand.
|
||||||
2
doc/header.html
Normal file
2
doc/header.html
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<h1>Logarion</h1>
|
||||||
|
<p>discover, collect & exchange plain text files</p>
|
||||||
BIN
doc/htm/index.pck
Normal file
BIN
doc/htm/index.pck
Normal file
Binary file not shown.
8
doc/htm/main.css
Normal file
8
doc/htm/main.css
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
body{color:#111;background:#faeed6;margin:auto;padding:1ch;max-width:80ch}
|
||||||
|
@media(min-resolution:130dpi){body{font-size:1.5em}}
|
||||||
|
article>header{margin:auto;padding:1ch}
|
||||||
|
dt{float:left;text-align:right;padding-right:1ch;min-width:8ch;opacity:0.4;clear:left}
|
||||||
|
:target::before{content:"☞"}
|
||||||
|
body>h1{font-family:cursive}
|
||||||
|
h1,h2{color:#ff6600}
|
||||||
|
h3,h4{color:#333}
|
||||||
77
doc/hvhhwf.txt
Normal file
77
doc/hvhhwf.txt
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
ID: hvhhwf
|
||||||
|
Date: 2022-11-06T13:19:57Z
|
||||||
|
Title: Creating texts & publishing on the net
|
||||||
|
Authors: orbifx
|
||||||
|
Topics: Logarion
|
||||||
|
|
||||||
|
# New
|
||||||
|
|
||||||
|
To create new text files, use "txt new". For example:
|
||||||
|
txt new "Hello world"
|
||||||
|
It's important to enclose the title with quotation marks if it contains spaces. The command will return the filename of the new text. The filename starts with a part of the ID and the title of the text. Use the file name to open it with your text editor.
|
||||||
|
|
||||||
|
Alternatively add the -i flag to have the text editor launched to edit the newly created file:
|
||||||
|
txt new -i "Some title"
|
||||||
|
|
||||||
|
Text files will be stored in either:
|
||||||
|
1. The directory pointed at by txtdir if defined
|
||||||
|
2. $HOME/.local/share/texts, if directory exists
|
||||||
|
3. The current working directory, if all else fails
|
||||||
|
|
||||||
|
The simplest approach is to put all texts in the local-share directory and override that on occasion with
|
||||||
|
$txtdir. For example:
|
||||||
|
txtdir=. txt new "Hello world"
|
||||||
|
|
||||||
|
|
||||||
|
# Publish
|
||||||
|
|
||||||
|
Texts created with "new" are treated as personal until published. To publish a text, use `txt publish [id]` where [id] is the text of the text to publish. Publication requires a `txt.conf` file which must exist in either:
|
||||||
|
1. The current working directory
|
||||||
|
2. $HOME/.config/txt/txt.conf
|
||||||
|
|
||||||
|
With the above in place, `txt publish [id]` will add the text file with [id] in the publication-directory and reproduce the `index.pck` in that directory. If Pubdir is not defined in `txt.conf` then the environmental variable `txtpubdir` is used. If that is also undefined, the current working directory is used as a publication directory.
|
||||||
|
|
||||||
|
Logarion is protocol agnostic, so publish looks for the existence of directories to copy the files, ready for publication. At the time of writing the three directories are `public_html`, `public_gemini` and `public_gopher`. For each of these directories, `txt publish [id]` will copy the text file, revise the `index.pck` and also convert produce converted files, such .htm for public_html.
|
||||||
|
|
||||||
|
## txt.conf keys
|
||||||
|
|
||||||
|
Id:
|
||||||
|
A random, unique, alphanumeric string for distinguishing the repository (atleast 6 characters of Crockford's Base32 recommended)
|
||||||
|
|
||||||
|
Title:
|
||||||
|
a human-friendly title
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
comma seperated list of names and, optionally, addresses
|
||||||
|
|
||||||
|
Topics:
|
||||||
|
topics the repository aims to cover
|
||||||
|
|
||||||
|
Locations:
|
||||||
|
list of URIs the repositories can be accessed
|
||||||
|
|
||||||
|
Peers:
|
||||||
|
list of peer URIs
|
||||||
|
|
||||||
|
Pubdir:
|
||||||
|
(optional) the directory that contains publication subdirectories
|
||||||
|
|
||||||
|
|
||||||
|
## HTML
|
||||||
|
|
||||||
|
There are some special settings for HTML publication:
|
||||||
|
|
||||||
|
HTM-style:
|
||||||
|
path to a CSS style. It will be inserted in every .htm file. To link to a single CSS consider using `@import`
|
||||||
|
|
||||||
|
HTM-header:
|
||||||
|
path to a file, inserted in every .htm file, right after the body tag
|
||||||
|
|
||||||
|
HTM-footer:
|
||||||
|
path to a file, inserted in every .htm file, right before the body tag
|
||||||
|
|
||||||
|
HTM-index:
|
||||||
|
if defined, determines the filename for the index files. Left undefined, defaults to `index.html`
|
||||||
|
|
||||||
|
HTM-feed:
|
||||||
|
if defined, this will overrite the feed URI used in HTML files. If left undefined the default `feed.atom` is used
|
||||||
BIN
doc/index.pck
Normal file
BIN
doc/index.pck
Normal file
Binary file not shown.
8
doc/main.css
Normal file
8
doc/main.css
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
body{color:#111;background:#faeed6;margin:auto;padding:1ch;max-width:80ch}
|
||||||
|
@media(min-resolution:130dpi){body{font-size:1.5em}}
|
||||||
|
article>header{margin:auto;padding:1ch}
|
||||||
|
dt{float:left;text-align:right;padding-right:1ch;min-width:8ch;opacity:0.4;clear:left}
|
||||||
|
:target::before{content:"☞"}
|
||||||
|
body>h1{font-family:cursive}
|
||||||
|
h1,h2{color:#ff6600}
|
||||||
|
h3,h4{color:#333}
|
||||||
8
doc/txt.conf
Normal file
8
doc/txt.conf
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Id: 17f4e3
|
||||||
|
Title: Logarion
|
||||||
|
Authors: orbifx <fox@orbifalfox.eu>, Izuru Yakumo <yakumo.izuru@chaotic.ninja>
|
||||||
|
HTM-style: main.css
|
||||||
|
HTM-header: header.html
|
||||||
|
HTM-footer: footer.html
|
||||||
|
HTM-feed:
|
||||||
|
Topics: Logarion
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
(lang dune 2.0)
|
(lang dune 2.0)
|
||||||
(name logarion)
|
(name logarion)
|
||||||
(version 1.3.2)
|
(version 1.4.0)
|
||||||
(license EUPL-1.2)
|
(license EUPL-1.2)
|
||||||
(authors "orbifx <fox@orbitalfox.eu>")
|
(authors "orbifx <fox@orbitalfox.eu>")
|
||||||
(bug_reports "mailto:logarion-dev@chaotic.ninja")
|
(bug_reports "mailto:logarion-dev@chaotic.ninja")
|
||||||
@@ -13,4 +13,4 @@
|
|||||||
(package
|
(package
|
||||||
(name logarion)
|
(name logarion)
|
||||||
(synopsis "Texts archival and exchange")
|
(synopsis "Texts archival and exchange")
|
||||||
(depends (cmdliner (<= 1.0.4)) msgpck ocurl))
|
(depends ocaml dune ocurl msgpck cmdliner))
|
||||||
|
|||||||
@@ -7,12 +7,7 @@ authors: ["orbifx <fox@orbitalfox.eu>"]
|
|||||||
license: "EUPL-1.2"
|
license: "EUPL-1.2"
|
||||||
homepage: "https://suzunaan.chaotic.ninja/logarion/"
|
homepage: "https://suzunaan.chaotic.ninja/logarion/"
|
||||||
bug-reports: "mailto:logarion-dev@chaotic.ninja"
|
bug-reports: "mailto:logarion-dev@chaotic.ninja"
|
||||||
depends: [
|
depends: ["ocaml" "dune" "ocurl" "msgpck" "ocmd"]
|
||||||
"dune" {>= "2.0"}
|
|
||||||
"cmdliner" {<= "1.0.4"}
|
|
||||||
"msgpck"
|
|
||||||
"ocurl"
|
|
||||||
]
|
|
||||||
build: [
|
build: [
|
||||||
["dune" "subst"] {pinned}
|
["dune" "subst"] {pinned}
|
||||||
[
|
[
|
||||||
|
|||||||
Reference in New Issue
Block a user