Giter Club home page Giter Club logo

ocaml-sha's Introduction

General Information

This is the binding for SHA interface code in OCaml. Offering the same interface than the MD5 digest included in ocaml standard library. It's currently providing SHA1, SHA256 and SHA512 hash functions.

This library is licensed under the ISC license.

Documentation

the documentation can be found in mli files in ocamldoc format.

ocaml-sha's People

Contributors

arthurteisseire avatar c-cube avatar djs55 avatar dsheets avatar ecc1 avatar fccm avatar kit-ty-kate avatar misterda avatar nojb avatar olafhering avatar samoht avatar talex5 avatar vincenthz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ocaml-sha's Issues

change to compiler flags for building tests

The following change silences the warning about "Sha.test" being a bad module name, and allows the linker to find the SHA libraries in the current directory.

-OCAML_TEST_INC = -I ocamlfind query oUnit
+OCAML_TEST_INC = -I ocamlfind query oUnit -I . -w -24

new maintainer(s)?

Hi, the library is advertised as unmaintained, and PRs/issues are old. Would you mind if someone took over the project (keeping it in the same spirit, of course)? It looks pretty robust, but small improvements are always useful (for instance, I think some functions could release the GC lock). I volunteer if no one else wants…

LGPL linking exception

I'm replacing my pure OCaml versions of the sha functions in CamlPDF, for speed, and I'd like to try ocaml-sha. However, since we distribute statically linked binaries, I can't do that. Would you consider adding the standard linking exception to your LGPL license?

This is the exception several OCaml projects use, for example X. Leroy's "CamlZip", which we already use. This is the modifying text, although you replace "INRIA" obviously:

As a special exception to the GNU Lesser General Public License, you
may link, statically or dynamically, a "work that uses the Library"
with a publicly distributed version of the Library to produce an
executable file containing portions of the Library, and distribute
that executable file under terms of your choice, without any of the
additional requirements listed in clause 6 of the GNU Lesser General
Public License.  By "a publicly distributed version of the Library",
we mean either the unmodified Library as distributed by INRIA, or a
modified version of the Library that is distributed under the
conditions defined in clause 3 of the GNU Lesser General Public
License.  This exception does not however invalidate any other reasons
why the executable file might be covered by the GNU Lesser General
Public License.

Whatever you decide, could you add a LICENSE file to the repository, to make it clear what license covers all the files?

Travis fails due to missing Docker base image

The Travis configuration has:

install: wget https://raw.githubusercontent.com/ocaml/ocaml-travisci-skeleton/master/.travis-docker.sh
matrix:
 - DISTRO=alpine OCAML_VERSION=4.02.0

.travis-docker.sh does:

echo FROM ocaml/opam:${DISTRO}_ocaml-${OCAML_VERSION} > Dockerfile

However:

$ docker pull ocaml/opam:alpine_ocaml-4.02.0
Error response from daemon: manifest for ocaml/opam:alpine_ocaml-4.02.0 not found

Raise better errors

Sha1.file_fast raises Failure and Sha1.file raises Sys_error on ENOENT. This report is made with the hope that a future maintainer might correct this issue.

Re-license to BSD

The license is currently GPL2 without any exceptions, and this is causing problems. I'll like all the ocaml-sha source code to be relicensed under BSD (all the .c .h are effectively already under this license in the haskell packages where you can find them)

Also there's one line contributed by @samoht, please add your agreement/disagreement here

adding @avsm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.