-
Notifications
You must be signed in to change notification settings - Fork 0
maintained BSD fork of min.io (the high-performance S3-compatible object store) - WIP
License
siriushq/midio
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
siriushq/midio ============== There are many available sources of documentation for users and contributors. Non-rendered source documentation is available in the "documentation" directory. https://midio.sirius.cam houses the rendered documentation. It is mandatory to read [license] & [/attribution/*] before using this software. <!> The rendered documentation is currently not public. <!> A release has not yet been published, you must manually build. building ======== The preferred environment uses Git and Go 1.19. Go distribution is provided by go-wrapper <git@github.com:furkilic/go-wrapper>. Ensure that GOROOT is unset, or your local Go installation may take precedence. Always test the [gow version] command to ensure this is not the case. Ensure the [.git] directory is preserved (clone the repository correctly), or building will fail. building binary ==================================================== $ git clone --recursive git@github.com:siriushq/midio.git $ cd midio $ gow generate $ gow build -ldflags="-s -w" This produces a runnable binary, for the system you are building on. For usage instructions, execute the binary. ==================================================================== building licenses ================================================ $ gow install github.com/google/go-licenses/v2@v2.0.0 $ go-licenses report github.com/siriushq/midio \ --template ./attribution/license-dependencies.tpl \ > ./attribution/license-dependencies.md Swap line continuations ('\') for the shell you are building with. ================================================================== building as shared library ======================================== $ gow generate $ gow build -ldflags="-s -w" --buildmode=c-shared -o midio.SO Swap 'SO' (for Unix) with 'DLL' (for Windows) or 'DYLIB' (for Mac). This produces a binary and C header file, for the desired system. Below is a usage example: #include "midio.h" midio_builder builder = midio_create(); midio_volume(builder, "./example/"); midio server = midio_server(builder); while (1) { char* message = midio_message(); printf("%s", message); free(message); } =================================================================== building documentation ======================================= The documentation is automatically built on the master branch. For a local preview server, install Bun and run the following: $ cd /docs/ $ bunx mint dev ============================================================== running test suite =================================================== This can take a long time to run. Your firewall may block any opened ports when running it. This is required to be ran, and both binary & shared library builds tested manually, before any patches are submitted (when contributing). $ gow test ./... ====================================================================== contributing ============ Contributions are accepted as long as they fall within implied project scope. All commits must contain at least `Signed-off-by` to identify the author of the contribution, and may contain `Co-authored-by` to attach any number of other authors (this can be added automatically with `git commit ... -s ...`). (furthermore, commits from people with repository write access are to be signed with a verified GPG, SSH or S/MIME signature attached to your GitHub account). Relevant documentation should be updated to include accrediting. By submitting a contribution, you certify that you and other authors are making your contribution available under the license of the project, and that you have the rights to submit it. licensing ========= This project is licensed under the 3-Clause BSD. This is being done at our loss. Consider starring this repository and/or buying our products to support the development and future of this project. Some portions of this project are adapted from projects with other licenses. They are clearly marked with `SPDX-License-Identifier` & declared in the "/attribution/*" directory. support ======= If commercial support is required, it can be granted for users/organizations by request. Responses will be provided within 24 hours. This can be obtained by emailing `midio@mechite.com` with the following (* for required; please fill all fields using "N/A" for empty optionals): example.eml ============================== To: <midio@mechite.com> Subject: siriushq/midio commercial support Content-Type: text/plain; charset="UTF-8" Name * Organization Role Minimum duration commitment required Earliest required start date ==========================================
About
maintained BSD fork of min.io (the high-performance S3-compatible object store) - WIP