Hi,

I would like to import slipshow (https://github.com/panglesd/slipshow ,
https://slipshow.readthedocs.io/).

It is an ocaml program available via opam. So I wrote a module for
managing dependencies via sysutils/opam (lang/haxe work by thfr@ was
also a reason for it).

Regarding slipshow:

  Slipshow is a tool specifically designed for technical presentations where
  traditional slides are not enough.

  In a slipshow presentation, the equivalent of a slide is called a slip. Each
  slip is like a slide, but with no bottom limit. That is, the content can be
  arbitrarily long! During the presentation, the camera will "scroll" down to
  reveal the hidden content, following a script given by the presenter!

  Here are the goals of slipshow, in no specific orders:

  - Lift restrictions from traditional slide-based presentation. In particular,
    make it closer to a blackboard presentation!

  - Easy to write and readable syntax: markdown with few extensions. No manual
    placement like in powerpoint. No crazy syntax like in latex.

  - Source of the presentation is plain text: much better for source control,
    sharing with people, using your favorite editor, readability, compatibility.

  - Open the possibility for a dynamic presentation. Watching scientific
    popularization video demonstrates how well-chosen animations can make a
    difficult subject more understandable.

  Slipshow compiles files written in an extension of markdown, to a standalone
  html file viewable offline in any web browser.

  Tutorial, API and Documentation: https://slipshow.readthedocs.io/



And regarding the sysutils/opam module, I wrote a opam-module
documentation (still plain text, not written to mdoc for now):

----
This manual page documents the behavior of setting MODULES=sysutils/opam in the
ports(7) tree.

The module provides helpers for packaging a program using opam (OCaml Package
Manager).

WRKSRC is expected to contains opam packages, possibly with local customization.
All *.opam files, at any depth, will be registered. Unmodified dependencies
should be omitted, they will be managed separately.

To generate a standalone opam repository containing only the dependencies and
the sources files for compiling the specified sources tree, "make
modopam-repository" target could be used. It will download an opam repository
from MODOPAM_REPO_URL (default to official opam repository hosted on github),
using MODOPAM_REPO_COMMIT commit (it is preferable to explicitly specify it for
reproductibility, but "master" is the default value). The repository will be
named according to MODOPAM_REPO_NAME variable. Next, the repository will be
stripped to contains only the build dependencies of MODOPAM_PACKAGES_REPOSITORY
(default to "--resolve=$MODOPAM_PACKAGES"). And next, the repository will be
filled with local cache of package archives. The resulting directory could be
packaged and distributed. It contains source code for building the opam
packages.

External dependencies could be hinted using "make modopam-external" target. The
list of packages expected to be present at build time is shown.

The module appends to BUILD_DEPENDS unless MODOPAM_BUILDDEP is set to No.

It sets MODOPAM_PACKAGES variable to PKGSTEM, as default value for opam packages
to build and install.

It sets MODOPAM_OPAMROOT, MODOPAM_ENV, MODOPAM_OPAM_BIN and MODOPAM_OPAM_RUN
accordingly.

The opam options --with-doc and --with-test are available using MODOPAM_WITH_DOC
and MODOPAM_WITH_TEST. They defaults to No.

A CONFIGURE_STYLE "opam" is provided. It will initialize opam with opam
repository at MODOPAM_REPO_DIR (default to ${WRKDIR}/${MODOPAM_REPO_NAME}). It
is expected to has be generated previously by modopam-repository target and
distributed separately. It will also pin the opam packages present in WRKSRC,
possibly overriding opam packages from the repository.

A default build target is used (except if MODOPAM_BUILD is set to No). It is
using MODOPAM_PACKAGES_BUILD variable to list the opam packages to build
(default to MODOPAM_PACKAGES).

A default install target is used (except if MODOPAM_INSTALL is set to No). It is
using MODOPAM_PACKAGES_INSTALL variable to list the opam packages to install
(default to MODOPAM_PACKAGES).
----

I attached slipshow tarball and opam.port.mk file (to be placed in
ports/sysutils/opam directory).

Comments are welcome, OK too.

I have also a rewrite of lang/haxe proposition from thfr@ using the
module (not attached to not mix too many things).

Thanks.
-- 
Sebastien Marie

Attachment: slipshow.tgz
Description: Binary data

Attachment: opam.port.mk
Description: Binary data

Reply via email to