PMunch / protobuf-nim

Protobuf implementation in pure Nim that leverages the power of the macro system to not depend on any external tools
MIT License
171 stars 14 forks source link

fix protobuf.nimble #9

Closed timotheecour closed 6 years ago

timotheecour commented 6 years ago

0.18.1 doesn't even exist yet

PMunch commented 6 years ago

It exists, it's the devel version of Nim. If you try running the tests you will see that they fail by the parser as old versions of Nim had a lower allowed iterations limit. Everything else technically works, but you will hit this roadblock with any longer protobuf file.

timotheecour commented 6 years ago

It exists, it's the devel version of Nim

where is this defined?

here's what I'm seeing today:

git clone https://github.com/nim-lang/Nim
git tag | grep v0.18
v0.18.0

in any case, on OSX (after brew install nim) I get:

nimble build
     Error: Unsatisfied dependency: nim (>= 0.18.1)

NOTE: i tried: requires "nim#head" and requires "nim#61f00da4bcb5f6e18588ee37acc066154c91b109" but that didn't work

so, what to do ?

timotheecour commented 6 years ago

answering my own questions:

where is this defined?

lib/system.nim:1973:3

  ....

  NimPatch* {.intdefine.}: int = 1
    ## is the patch number of Nim's version.

  NimVersion*: string = $NimMajor & "." & $NimMinor & "." & $NimPatch

so, what to do ?

brew install --HEAD nim is one option, or build from source

PMunch commented 6 years ago

Easiest is to install choosenim and then run choosenim install devel

timotheecour commented 6 years ago

cool, thx, didn't know about choosenim. although:

 ./bin/choosenim install devel
    Prompt: Can choosenim record and send anonymised telemetry data? [y/n]
        ... Anonymous aggregate user analytics allow us to prioritise
        ... fixes and features based on how, where and when people use Nim.
        ... For more details see: https://goo.gl/NzUEPf.
    Answer: y
       Tip: 2 messages have been suppressed, use --verbose to show them.
     Error: choosenim.nim(206)       choosenim
        ... choosenim.nim(187)       performAction
        ... choosenim.nim(89)        choose
        ... choosenim.nim(50)        chooseVersion
        ... choosenim.nim(17)        parseVersion
        ... Invalid version, path or unknown channel. Try 0.16.0, #head, #commitHash, or stable. See --help for more examples.

guess it should be: ./bin/choosenim '#head'