-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Add nix package and environment files #10309
Conversation
|
I'm not enthusiastic about this PR at all. The project doesn't maintain Debian dkpg files, conda forge yml configuration, or homebrew config inside the main repository. Why should we start with Nix? This PR doesn't add any CI to verify that it even works. As @rouault said, build configurations rot over time, and the people who would maintain it are not core GDAL devs. What's more difficult is what is GDAL supposed to do with our maintenance branch strategy in relation to Nix config? Backport everything? 🤮 Where are users supposed to submit bugs about GDAL's Nix config? GDAL repo I guess according to this PR, but what if the issue is really a Nix or additional dependency's issue? It's related to GDAL's config, but it isn't going to be fixed or adjudicated here. |
Yes, this makes a sense if they provide some additional value. Like the dev and user environments + ability to run a program directly from git.
I would add a CI test, which can run on weekly schedule, to test the package and other features. I apologize, I wanted to submit this PR as a draft. |
Thank you for feedback.
I understand. The difference between Nix and all other package managers are the features it can provide. For example, ability to run or install a program straight from git in any revision. This is a very unique feature and can work only if nix files are present in repo.
There are many other unique features which Nix can provide. That's the reason why it can't be directly compared to other package managers.
Yes, CI job should be added. It can run weekly. |
What advantage does this provide over the the Docker containers provided for developers (https://gdal.org/development/dev_environment.html#docker) and users (https://gdal.org/download.html#containers) ? |
I changed this PR to a draft. My main intention with this PR is to demonstrate some interesting features which Nix can provide to devs and users and get a feedback. |
nix run github:<OWNER>/<REPO>/<GIT-COMMIT-OR-BRANCH>#<PROGRAM>
nix shell github:<OWNER>/<REPO>/<GIT-COMMIT-OR-BRANCH>#<SHELL>
|
@hobu , CI job added. |
(Travis CI failure unrelated. Broke on master too due to upgrade of the image by the provider) |
@imincik We discussed that topic in today's monthly GDAL meeting maintainer and there's a general lack of enthusiasm about including Nix specific files in GDAL upstream. As @hobu mentionned, this goes against the practice of all other existing packaging systems, and while Nix has certainly its own strong points compared to other solutions, that doesn't entirely justify making an exception for it. Especially since there would be duplicated maintenance of the recipe inside GDAL and the one at https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gdal/default.nix , which seems to be a quite tedious approach for the people that would have to maintain them. |
Thanks for your time and feedback and I am closing this PR. |
The main goal of this PR is to demonstrate some interesting features which Nix can provide to devs and users and get a feedback.
What does this PR do?
Add Nix files which will provide some Nix super powers to GDAL project.
Instructions
(learn more about this installer)
More about Nix and this idea in My FOSS4G Tartu talk