diff --git a/dune-project b/dune-project index 682fe0264..0719444d0 100644 --- a/dune-project +++ b/dune-project @@ -1,4 +1,104 @@ (lang dune 2.7) -(using menhir 2.0) -(name links) -(implicit_transitive_deps false) +;; dune language version (NOTE this comment applies to the above line; it is intentionally placed here!) +(using menhir 2.0) ;; enable use of menhir +(name links) ;; package name +(implicit_transitive_deps false) ;; hides transitive dependencies in libraries/executables/tests +(generate_opam_files true) ;; generate .opam package files using the descriptions defined in this file + + +;; +;; Project metainformation +;; + +(source + (github links-lang/links)) +(homepage + https://links-lang.org) +(authors + "The Links Team ") +(maintainers + "Daniel Hillerström ") +(license + GPL-3.0-only) +(documentation + "https://links-lang.org/quick-help.html") + +;; +;; The Links Programmming System +;; + +(package + (name links) + (synopsis "The Links Programming Language") + (description "Links is a functional programming language designed to make web programming easier.") + (depends (ocaml (>= : 4.14.0)) + (dune-configurator (>= : 3.8)) + ppx_deriving + (ppx_deriving_yojson (>= 3.3)) + base64 + linenoise + ANSITerminal + (lwt (>= 5.0.0)) + cohttp + cohttp-lwt + cohttp-lwt-unix + conduit-lwt-unix + uri + tls + websocket + websocket-lwt-unix + safepass + result + ocamlfind + (menhir (>= 20210419)) + (ppx_sexp_conv (>= v0.16.0)) + (calendar (>= 2.0.4)) + (rdf_lwt (>= 0.13.0))) + (tags + ("web programming" "tierless" "multi-tier" "effect handlers" "effect typing" "session types" + "concurrency" "webpage" "extensible data types" "language-integrated queries"))) + +;; +;; Links PostgreSQL driver +;; + +(package + (name links-postgresql) + (synopsis "Postgresql database driver for the Links Programming Language") + (description "Postgresql database driver for the Links Programming Language") + (depends (links (= :version)) + postgresql) + (tags + ("postgresql" "database"))) + +;; +;; Links SQLite3 driver +;; + +(package + (name links-sqlite3) + (synopsis "SQLite database driver for the Links Programming Language") + (description "SQLite database driver for the Links Programming Language") + (depends (links (= :version)) + sqlite3) + (tags + ("sqlite" "database"))) + +;; +;; Links MySQL driver +;; + +(package + (name links-mysql) + (synopsis "MySQL database driver for the Links Programming Language") + (description "MySQL database driver for the Links Programming Language") + (depends (links (= :version)) + conf-mysql + mysql8) + (tags + ("mysql" "database"))) + + + +; See the complete stanza docs at https://dune.readthedocs.io/en/stable/dune-files.html#dune-project + diff --git a/links-mysql.opam b/links-mysql.opam index 2e6db47d5..7224e33ff 100644 --- a/links-mysql.opam +++ b/links-mysql.opam @@ -1,22 +1,33 @@ +# This file is generated by dune, edit dune-project instead opam-version: "2.0" -maintainer: "James Cheney " -authors: "The Links Team " synopsis: "MySQL database driver for the Links Programming Language" description: "MySQL database driver for the Links Programming Language" -homepage: "https://github.com/links-lang/links" -dev-repo: "git+https://github.com/links-lang/links.git" -bug-reports: "https://github.com/links-lang/links/issues" +maintainer: ["Daniel Hillerström "] +authors: ["The Links Team "] license: "GPL-3.0-only" - -build: [ - [ "dune" "subst" ] {dev} - [ "dune" "build" "-p" name "-j" jobs ] -] - +tags: ["mysql" "database"] +homepage: "https://links-lang.org" +doc: "https://links-lang.org/quick-help.html" +bug-reports: "https://github.com/links-lang/links/issues" depends: [ - "ocaml" {>= "4.08.0"} "dune" {>= "2.7"} + "links" {= version} "conf-mysql" "mysql8" - "links" {= version} + "odoc" {with-doc} ] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/links-lang/links.git" diff --git a/links-postgresql.opam b/links-postgresql.opam index be0d30ded..7b1310371 100644 --- a/links-postgresql.opam +++ b/links-postgresql.opam @@ -1,22 +1,32 @@ +# This file is generated by dune, edit dune-project instead opam-version: "2.0" -maintainer: "Daniel Hillerström " -authors: "The Links Team " synopsis: "Postgresql database driver for the Links Programming Language" description: "Postgresql database driver for the Links Programming Language" -homepage: "https://github.com/links-lang/links" -dev-repo: "git+https://github.com/links-lang/links.git" -bug-reports: "https://github.com/links-lang/links/issues" +maintainer: ["Daniel Hillerström "] +authors: ["The Links Team "] license: "GPL-3.0-only" - - -build: [ - [ "dune" "subst" ] {dev} - [ "dune" "build" "-p" name "-j" jobs ] -] - +tags: ["postgresql" "database"] +homepage: "https://links-lang.org" +doc: "https://links-lang.org/quick-help.html" +bug-reports: "https://github.com/links-lang/links/issues" depends: [ - "ocaml" {>= "4.08.0"} "dune" {>= "2.7"} - "postgresql" "links" {= version} + "postgresql" + "odoc" {with-doc} ] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/links-lang/links.git" diff --git a/links-sqlite3.opam b/links-sqlite3.opam index 0d0149f69..56985a5cf 100644 --- a/links-sqlite3.opam +++ b/links-sqlite3.opam @@ -1,21 +1,32 @@ +# This file is generated by dune, edit dune-project instead opam-version: "2.0" -maintainer: "Daniel Hillerström " -authors: "The Links Team " synopsis: "SQLite database driver for the Links Programming Language" description: "SQLite database driver for the Links Programming Language" -homepage: "https://github.com/links-lang/links" -dev-repo: "git+https://github.com/links-lang/links.git" -bug-reports: "https://github.com/links-lang/links/issues" +maintainer: ["Daniel Hillerström "] +authors: ["The Links Team "] license: "GPL-3.0-only" - -build: [ - [ "dune" "subst" ] {dev} - [ "dune" "build" "-p" name "-j" jobs ] -] - +tags: ["sqlite" "database"] +homepage: "https://links-lang.org" +doc: "https://links-lang.org/quick-help.html" +bug-reports: "https://github.com/links-lang/links/issues" depends: [ - "ocaml" {>= "4.08.0"} "dune" {>= "2.7"} - "sqlite3" "links" {= version} + "sqlite3" + "odoc" {with-doc} ] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/links-lang/links.git" diff --git a/links.opam b/links.opam index ae354ac9d..c33e5d6b4 100644 --- a/links.opam +++ b/links.opam @@ -1,22 +1,30 @@ +# This file is generated by dune, edit dune-project instead opam-version: "2.0" -maintainer: "Daniel Hillerström " -authors: "The Links Team " synopsis: "The Links Programming Language" -description: "Links is a functional programming language designed to make web programming easier." -homepage: "https://github.com/links-lang/links" -dev-repo: "git+https://github.com/links-lang/links.git" -bug-reports: "https://github.com/links-lang/links/issues" +description: + "Links is a functional programming language designed to make web programming easier." +maintainer: ["Daniel Hillerström "] +authors: ["The Links Team "] license: "GPL-3.0-only" - - -build: [ - [ "dune" "exec" "preinstall/preinstall.exe" "--" "-libdir" _:lib ] - [ make "opam-build-links.opam" ] +tags: [ + "web programming" + "tierless" + "multi-tier" + "effect handlers" + "effect typing" + "session types" + "concurrency" + "webpage" + "extensible data types" + "language-integrated queries" ] - +homepage: "https://links-lang.org" +doc: "https://links-lang.org/quick-help.html" +bug-reports: "https://github.com/links-lang/links/issues" depends: [ - "ocaml" {>= "4.08.0"} "dune" {>= "2.7"} + "ocaml" { >= "4.14.0"} + "dune-configurator" { >= "3.8"} "ppx_deriving" "ppx_deriving_yojson" {>= "3.3"} "base64" @@ -38,4 +46,10 @@ depends: [ "ppx_sexp_conv" {>= "v0.16.0"} "calendar" {>= "2.0.4"} "rdf_lwt" {>= "0.13.0"} + "odoc" {with-doc} +] +dev-repo: "git+https://github.com/links-lang/links.git" +build: [ + [ "dune" "exec" "preinstall/preinstall.exe" "--" "-libdir" _:lib ] + [ make "opam-build-links.opam" ] ] diff --git a/links.opam.template b/links.opam.template new file mode 100644 index 000000000..72ab047c8 --- /dev/null +++ b/links.opam.template @@ -0,0 +1,4 @@ +build: [ + [ "dune" "exec" "preinstall/preinstall.exe" "--" "-libdir" _:lib ] + [ make "opam-build-links.opam" ] +]