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
organicmaps: init at 2021-05-15 #123259
organicmaps: init at 2021-05-15 #123259
Conversation
Result of 1 package failed to build:Note that build failures may predate this PR, and could be nondeterministic or hardware dependent. Result of 1 package failed to build:Note that build failures may predate this PR, and could be nondeterministic or hardware dependent. |
fe8854b
to
9c5de20
Compare
repo = "organicmaps"; | ||
rev = version; | ||
sha256 = "sha256-g5AV72JZjgcWKTBkve1dAi9W9ocdeWAROy+HCrsILLE="; | ||
fetchSubmodules = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All the 3party things should be devondered because upstream is most likely behind in security patches.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will be difficult. The project is configured to build those dependencies from source and doesn't detect the system ones. I'd have to patch it upstream, but I'm not very knowledgeable about cmake, so that'd take a while.
Is there a policy for vendored dependencies? There definitely are other packages where we allow it (eg. most of the rust and go based projects).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Of course I could also substitute the bundled sources with the .src
s of the ones we have in nixpkgs but that sounds like a massive hack
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a policy for vendored dependencies?
Not really it but general distro rule is to not do it unless it is necessary.
There definitely are other packages where we allow it (eg. most of the rust and go based projects).
Those languages are harder or impossible to devendor but c++/cmake projects are usually pretty easy and upstream supports it or we can re-use patches from other distros.
Of course I could also substitute the bundled sources with the .srcs of the ones we have in nixpkgs but that sounds like a massive hack
That would be better than nothing but we would still double compile libraries most likely. Can we link them to the directories where they are supposed to be maybe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No patches from other distros, unfortunately :-/. I'll ask the other people in organicmaps/organicmaps#395 if anyone can help, and otherwise I'll postpone this until I have time to learn how to patch their cmake scripts (contributions welcome btw).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Freetype and icu (the biggest dependency I think) are now devendored! organicmaps/organicmaps#395 (comment)
658e2c4
to
43a6392
Compare
6e86f1b
to
baa7095
Compare
more devendoring will be nice as this takes 38 minutes to compile on hydra https://hydra.nixos.org/build/173471779 |
boost is probably the next big package to devendor. unfortunately I don't know much cmake, so any help is appreciated |
Motivation for this change
A good offline map app
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)Upstream feedback about the patches has been provided: organicmaps/organicmaps#395 (comment)