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

cpp-utilities: init at 4.17.1 #64453

Merged
merged 1 commit into from Jul 10, 2019
Merged

Conversation

doronbehar
Copy link
Contributor

Motivation for this change

Eventually, I'd like to package qtutilities and syncthingtray as well.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip" - Non
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@doronbehar
Copy link
Contributor Author

Maintainers please note: Currently although the build succeeds, I can't use this package to build qtutilities, because of an issue with making this package split to multiple outputs - the .cmake files end up in the default out output's directory and not in the dev output's directory. I'm working on a fix for that now.

@doronbehar
Copy link
Contributor Author

Update: I've removed the outputs' split - there's only out now. The problem is that the .cmake files in $out/share/c++utilities/ point to paths with ../../../ and I don't think it would would have been safe / easy to use sed and hardcode $dev instead. I don't know cmake syntax good enough to know how to do it.

But indeed, this makes the package be a bit big in terms of disk size because of the headers and every file that's not a shared library in it's output. If anyone has any suggestions / ideas, I'm all ears.

Besides this small imperfectness, I think it's ready for others to test.

@teto
Copy link
Member

teto commented Jul 9, 2019

if the package gets too big then split outputs look the way forward. I don't know how other packages do it, maybe you can find one and look how they do it. You may need upstream changes or use substituteAll (the nix abstraction over sed)

@doronbehar
Copy link
Contributor Author

Thanks for commenting @teto, this package is not that big with the development files included. It's just a sort of opinion of mine I tried to elevate when trying to split this package - In general, I think when a user installs a package he shouldn't even download to the his /nix/store development files.

I'll might talk about this with the upstream developer - to make this easier for us or get a hint at how I can use our sed abstractions to fix the paths on our end. In the meantime we'll just stick with having only 1 output. I'll note also that qtutilities which depends on this and it will be packaged in an upcoming PR, compiles fine with the single output.

@doronbehar
Copy link
Contributor Author

All commits were squashed, it's ready for testing, please tell me if there's anything else to take care of.

@marsam
Copy link
Contributor

marsam commented Jul 10, 2019

@GrahamcOfBorg build cpp-utilities

@marsam marsam merged commit eaf3bc9 into NixOS:master Jul 10, 2019
@marsam
Copy link
Contributor

marsam commented Jul 10, 2019

Thanks!

@doronbehar doronbehar deleted the package-cpp-utilities branch July 10, 2019 10:05
@xrelkd xrelkd mentioned this pull request Jul 10, 2019
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants