36 Commits

Author SHA1 Message Date
Chrysostomos Nanakos
f1878d6aaa
chore: orc support
Refactor public API to use `var openArray[seq[byte]]` instead of raw
pointers for ORC compatibility.

The previous API required callers to extract raw pointers from seqs
before calling encode/decode. With refc and shallowCopy, reference
counting kept buffers alive. ORC doesn't track raw pointers and can
reallocate seq buffers at yield points, leaving pointers dangling.

The new openArray API borrows data safely.

Also updates CI to Nim 2.2.4 and bumps version to 0.2.0.

Part of https://github.com/logos-storage/nim-leopard/issues/24

Signed-off-by: Chrysostomos Nanakos <chris@include.gr>
2025-12-24 01:43:25 +02:00
Jacek Sieka
0478b12df9
Merge pull request #23 from logos-storage/no-upraises
chore: drop upraises
2025-12-11 09:44:36 +01:00
Jacek Sieka
2add2f1dc4
remove stew dep 2025-12-11 09:01:02 +01:00
Jacek Sieka
0817f39ccb
add nim stable testing 2025-12-11 08:55:22 +01:00
Jacek Sieka
a42d9a84a1
win 2025-12-11 08:52:57 +01:00
Jacek Sieka
27941e9c59
chore: drop upraises 2025-12-10 22:31:55 +01:00
Slava
b81147ad6a
Merge pull request #19 from codex-storage/feat/adjust-matrix
feat: run-on runner and remove os element from matrix
2025-02-12 11:12:50 +02:00
munna0908
03f71498fc
feat: enhance encode/decode procs for multithreading support (#20)
* update encode proc signature

* add new decode proc

* remove old encode/decode procs

* fix tests
2025-02-11 11:14:18 -08:00
Csaba Kiraly
aa5f8d7748
Merge pull request #16 from codex-storage/fix-readme
fix typo in command line example
2025-01-28 12:33:33 +01:00
Csaba Kiraly
7d74813fcf
fix typo in command line example
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2025-01-27 17:58:48 +01:00
Slava
9ffc848ea2
feat: run-on runner and remove os element from matrix 2025-01-27 18:57:31 +02:00
Csaba Kiraly
6ccf760afa
Merge pull request #18 from codex-storage/fix-ci-arm64
we need recursive checkout on arm64
2025-01-27 17:49:45 +01:00
Csaba Kiraly
16cd331daa
make it explicit that we want macos-14-arm64
even before, macos-14-arm64 was used by Github instead of
the specified macos-13 runner ...

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2025-01-17 20:02:13 +01:00
Csaba Kiraly
1d3b1b85d7
we need recursive checkout on arm64
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2025-01-17 19:57:44 +01:00
Ben Bierens
3e09d8113f
GCC-14 (#15)
* disables pointer-compatibility error in gcc-14

* Replaces no-error passC with importc pointer type definition

* simplifies CI

* fix attempt for leopard on mm:orc

* removes touch in ci

* removes showing of symbols

* attempt to fix macos if

* sets runners in ci

* sets shell to bash in ci

* removes cmake compiler flags from ci

* Removes conditional block for macos in ci
2024-08-28 09:30:34 +02:00
Giuliano Mega
895ff24ca6
Merge pull request #13 from codex-storage/chore/bump-upstream
bump upstream leopard
2024-06-26 10:04:27 -03:00
Eric
ab5e030733
bump upstream leopard
Attempt to prevent IndexDefect when no parity data
2024-06-20 13:33:57 +10:00
Eric
4d4fdf6210
Use nim v1.6+ (#12)
* Use nim v1.6+

nim-stew now requires nim >= 1.6, so nim-leopard must be bumped

* Use macos-13 (intel) runner image instead of arm
* change 1.2 to 1.6 in readme and .nimble
2024-06-20 13:20:55 +10:00
Ben Bierens
1a6f2ab725
enables stylecheck (#10)
* enables stylecheck

* attempt to fix mac build
2023-03-09 11:03:39 +01:00
Mark Spanbroek
ae043fd262 Version 0.1.0
Using version number 0.1.0, so that we can introduce
non-breaking changes in 0.1.x versions, and breaking
changes in 0.2.0.
0.1.0
2022-11-14 13:29:19 +01:00
markspanbroek
0d1bdf4f00
Merge pull request #9 from status-im/speedup-build
[build] Only build `libleopard`
2022-11-14 07:24:59 -05:00
Mark Spanbroek
ca63881613 [ci] Fix CI on macOS 2022-11-14 11:38:59 +01:00
Mark Spanbroek
0bc64c4829 [build] Only build libleopard
Do not build `bench_leopard` and `experiment_leopard`.
2022-11-14 10:39:02 +01:00
zah
2f0bcd72d1
Merge pull request #7 from yyoncho/main
Add setup files
2022-07-25 22:10:07 +03:00
Ivan Yonchovski
159408b83f Add setup files 2022-07-18 12:06:08 +03:00
Michael Bradley, Jr
c4ecdd3499
v0.0.2 v0.0.2 2022-06-18 11:04:36 -05:00
Michael Bradley
980109a73e
ci: test with refc and orc for Nim v1.4 and v1.6 (#6) 2022-06-17 21:04:41 -06:00
Csaba Kiraly
2a6a63923e
Merge pull request #5 from status-im/arm64
Add Apple M1 and generic ARM64+Neon support
2022-05-19 10:50:02 +02:00
Csaba Kiraly
7d922ca9a0
change README: recursive git submodule update
now that leopard uses sse2neon as a submodule, we need recursive clone.
2022-05-19 10:42:38 +02:00
Csaba Kiraly
e07e7c90d8
add ARM support in underlying leopard library
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-05-19 10:42:08 +02:00
Csaba Kiraly
e0e642e978
avoid X86 specific code on ARM
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-05-17 15:15:01 +02:00
Michael Bradley, Jr
52217ffdb6
correct date in LICENSE-MIT v0.0.1 2022-05-12 11:09:09 -05:00
Michael Bradley
9027119c67
update readme with basic usage info and some other small changes (#4) 2022-05-11 12:36:12 -06:00
Dmitriy Ryajov
41cd86df5b
High level wrapper (#3)
* initial implementation and tests

* [wip] refactor checking of RS code validity

* [wip] point GHA badge link to main branch instead of initial_impl

* [wip] delete leftover echo at bottom of test_leopard.nim

* [wip] add basic usage info to README

* [wip] more basic info added to README re: requirements, installation, usage

* [wip] add config.nims with --tlsEmulation:off to check if it helps with perf on Windows

* [wip] use `object` instead of `object of CatchableError` for LeopardError

workaround for edge case encountered in context of nimbus-build-system project

* [wip] clarify wording in README re: stability

* [wip] can use `object of CatchableError` for LeopardError with workaround

* Initial implementation

* make Leo a case object

* initial test

* cleanup

* remove echo

* use `func` where possible

* comments, misc

* make construction more convenient

* add more tests

* more tests

* unused warnings

* remove sideeffects pragma

* fix importc pragma on unix

* fix windows build

* fix ci

* better warning

* adding more comprehensive tests

* moar tests

* add TODO for usage

* Update leopard/leopard.nim

Co-authored-by: Michael Bradley <michaelsbradleyjr@gmail.com>

* Update leopard/wrapper.nim

Co-authored-by: Michael Bradley <michaelsbradleyjr@gmail.com>

* add tests to reuse same encoder/decoder

* check that parity and data buffers are < 65536

* test that data+parity isn't > 65536

Co-authored-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2022-03-28 18:42:45 -06:00
Michael Bradley, Jr
4d89e44e0d
add github.com/catid/leopard as a submodule in vendor/leopard 2022-03-07 16:29:47 -06:00
Michael Bradley, Jr
5d42ae57ff
first commit 2022-03-07 16:29:47 -06:00