Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow stdlib+compiler to have their own locked down, isolated nimble dependencies that live in a separate namespace (eg stdx/regex) #793

Open
timotheecour opened this issue Jul 30, 2021 · 0 comments

Comments

@timotheecour
Copy link
Owner

timotheecour commented Jul 30, 2021

the following would IMO be the perfect solution, allowing stdlib/compiler/tools to use nimble packages, while not clashing with user installed packages

import std/strutils # stdlib
import stdx/regex # controlled via `nimble install regex` from compiler installation, using fixed hashes for all dependent pkgs
import pkg/regex # controlled via `nimble install regex` from user; stdx/regex and pkg/regex resolve as separate modules
import regex # same as pkg/regex

the rare case of exportc procs can be dealt with using a exportc prefix (eg "stdx") to avoid duplicate definition errors

the stdx prefix is not even essential, ie, std/regex could be used to, and modules could transparently be re-mapped to a separate nimble package without breaking user code nor interfering with user installed nimble packages (which could be a different version or same, irrelevant) ; neat.

links

@timotheecour timotheecour changed the title stdx/regex + allow stdlib+compiler to have their own locked down, isolated nimble dependencies stdx/regex etc: allow stdlib+compiler to have their own locked down, isolated nimble dependencies Jul 30, 2021
@timotheecour timotheecour changed the title stdx/regex etc: allow stdlib+compiler to have their own locked down, isolated nimble dependencies allow stdlib+compiler to have their own locked down, isolated nimble dependencies that live in a separate namespace (eg stdx/regex) Jul 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant