13 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
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
9ffc848ea2
feat: run-on runner and remove os element from matrix 2025-01-27 18:57:31 +02: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
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
ca63881613 [ci] Fix CI on macOS 2022-11-14 11:38:59 +01: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
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