Skip to content

Versioning of ctru-sys crate #100

Open
@ian-h-chamberlain

Description

@ian-h-chamberlain

Pick initial numbers for each crate and coordinate publishing a release!

In my opinion, ctru-rscan release with a generic version number (like 1.0or 0.5), and the same can be said for pthread-3dsand linker-fix-3ds. However, I would like to underline the importance of ctru-sys's version number, since we could release it with the same version number of libctru (which would double down as a "supported version" number). We'd need to be careful about doc generation though, since we wouldn't be able to easily make a patch release.

Originally posted by @Meziu in #97 (comment)


This is an interesting idea I hadn't considered before! For inspiration I thought I'd look at some other sys crates, and I found this which looks kinda interesting: https://gitlab.com/taricorp/llvm-sys.rs#llvm-compatibility

Basically, we could have a ctru-sys version 21.2.x for the current release, and bump the minor version whenever we regenerate bindings for a new patch of libctru. This would also allow us to make docgen improvements, etc. as a patch version on the crate instead.

In the case of llvm-sys, they have some checks in place to verify library versions at build time. It might be harder to do that with libctru, since it's just a static library, but I was thinking there might be some ways to check it with dkp-pacman / pacman, and spit out a build warning if the versions mismatch, which would be displayed if the build failed (link errors etc).

Opening this issue to track + discuss the possibilities.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions