-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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
poco: 1.13.3 -> 1.14.1; fix build with new poco in dependent packages #383163
base: master
Are you sure you want to change the base?
Conversation
@trofi One open question I had, is that it seems all downstream users of poco now need utf8proc as a dependency. At what point should this become part of the |
Sorry, forgot to mark it as draft immediately, as there are still some dependents I haven't gotten around to fixing. |
a82f4ed
to
65ebf87
Compare
Upstream bug reports I've already opened for this: |
"-D g15=OFF" | ||
"-D CMAKE_CXX_STANDARD=17" # protobuf >22 requires C++ 17 |
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.
There are helpers available that make setting cmakeFlags
more "semantic" :)
"-D g15=OFF" | |
"-D CMAKE_CXX_STANDARD=17" # protobuf >22 requires C++ 17 | |
(lib.cmakeBool "g15" false) | |
(lib.cmakeFeature "CMAKE_CXX_STANDARD" "17") # protobuf >22 requires C++ 17 |
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.
applied
The typical use case for |
|
Looking at the dev derivation of poco I see that there are cmake files to find utf8proc: ❯ rg utf8proc /nix/store/67f3dgynfwmhj4a02l4zvvd4dlhmaf72-poco-1.14.1-dev/
/nix/store/67f3dgynfwmhj4a02l4zvvd4dlhmaf72-poco-1.14.1-dev/lib/cmake/Poco/FindUtf8Proc.cmake
5:# Find utf8proc
20:# UTF8PROC_INCLUDE_DIR - where to find utf8proc.h
21:# UTF8PROC_LIBRARY - the utf8proc library
39: UTF8PROC_INCLUDE_DIR NAMES utf8proc.h DOC "The utf8proc include directory"
43: UTF8PROC_LIBRARY NAMES utf8proc DOC "The utf8proc library" I don't understand enough cmake however to deduce if that means all users of poco auto require this? I'm also not quite sure if you say that this should mean utf8proc should be a propagated dependency? For example |
Let's see if any headers are directly user by
Looks like
I would query the derivation graph:
Does not seem to contain |
@trofi Running this command after I've built litebrowser on this branch, I get this result: ❯ nix-store --query --graph (nix-instantiate -A litebrowser --system aarch64-linux) &| rg utf8
warning: you did not specify '--add-root'; the result might be removed by the garbage collector
"kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" -> "fv4ay05c9hn3ip9y9jdrwjn3c80hj2pj-poco-1.14.1.drv" [color = "magenta"];
"kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" [label = "utf8proc-2.10.0.drv", shape = box, style = filled, fillcolor = "#ff0000"];
"81lwjm4ijn2vz1wim8b96m83a3la88l3-bash-5.2p37.drv" -> "kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" [color = "black"];
"gc2x3v0z9y5rm72lbjbbkdvqdcp8zang-stdenv-linux.drv" -> "kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" [color = "red"];
"mphxjjp4jjgyq2mh28wxz01iw12dpcmd-source.drv" -> "kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" [color = "green"];
"rjlqmzx73qzik0rpj44hc6dp6s4blpq0-cmake-3.31.3.drv" -> "kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" [color = "blue"];
"shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh" -> "kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" [color = "magenta"];
"vj1c3wf9c11a0qs6p3ymfvrnsdgsdcbq-source-stdenv.sh" -> "kq1w8y2ciyqxkz59x8xqisnc8yvd817w-utf8proc-2.10.0.drv" [color = "burlywood"]; Does that mean that indeed litebrowser does contain utf8proc here? |
No, it only means that |
The build succeeds, but I wasn't able to test it (haven't gotten around to setting up a non headless nix that can forward ui to me yet). |
fe4f82e
to
d43e893
Compare
@trofi: |
@trofi Regarding the failure of collabora-online, as far as I can determine, that is actually a failure of libreoffice-collabora, which is currently broken on master. See: nix build --system aarch64-linux github:NixOS/nixpkgs/master#libreoffice-collabora --print-build-logs
nix build --system x86_64-linux github:NixOS/nixpkgs/master#libreoffice-collabora --print-build-logs Is that something that should stop this getting merged? |
I'd say it's fine to not include it to
I would say this should not be blocking this PR merge to |
|
|
Not sure why, but my x86 builds keep failing because pkg-config and ld explode at unfortunate moments. Seems my Rosetta is acting up. :/ |
@trofi How would I proceed to get this merged? |
https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#i-opened-a-pr-how-do-i-get-it-merged has a few details. I usually wait a month and post to https://discourse.nixos.org/t/prs-ready-for-review/3032/5230 |
d43e893
to
042f5b3
Compare
Many thanks for @afh for the in depth review and the improvements I gained from that. |
042f5b3
to
fca7d66
Compare
Upstream seems to have errors, where it doesn't include all the poco headers it requires for it to build. I've provided a patch and opened a pull request upstream to get it merged: MCJack123/craftos2#391
This adds some missing includes for collabora online to actually use the poco-json library. Upstream pull request at CollaboraOnline/online#11175
fca7d66
to
ab40ec5
Compare
|
|
I have some hope that #384586 fixes the collabora-online build, but I do not have machines able to build libreoffice at this time. :-/ |
@trofi Is there anything else you would require to get this pull request merged? I would love some feedback. |
@dwt It looks good to me. Note that I'm not a |
Pinging Maintainers of the touched packages, to help me get this merged:
|
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.
LGTM for Multipass, thank you!
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.
Changes to Mumble look good to me except for one.
ab40ec5
to
33f6d24
Compare
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.
Changes to Poco and CraftOS-PC lgtm, with the added note that the patch should probably be submitted upstream (the upstream maintainer generally appreciates patches like this, that fix compatibility with bleeding-edge versions of libraries and the like).
|
Changes
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.
@trofi This is the reopened pull request for #369312 - did I miss anything?