-
-
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 #369312
poco: 1.13.3 -> 1.14.1 #369312
Conversation
|
All failures are regressions. Converting to draft. |
|
This update actually fixes compilation of poco on darwin, as it includes this fix, which previously prevented compilation with clang 19. Since I would like to port mumble and ioquake3 which depend on this, is there something I can do to get this moving forward? I noticed that there is actually already a 1.14.1 release of poco, maybe updating to that could help? |
I updated to |
I tried doing this update and running nixpkgs-review locally, but I never got it to build just poco and its dependencies, could you perhaps share your workflow for running nixpkgs-review locally? Perhaps I'm missing something obvious. I've tried |
|
|
I just run |
|
I've looked into the build failures from pothos, and found two problems:
That is kind of a shame, as this concrete error is probably easy to fix, and upstream already has some fixes. However, the upstream project looks quite dormant, so I don't have high hopes for an upstream fix. Even though, I've opened a bug there about the issue |
I actually did get pothos to compile with this patch: diff --git a/pkgs/applications/radio/pothos/cstring.patch b/pkgs/applications/radio/pothos/cstring.patch
new file mode 100644
index 000000000000..4e8957c3f122
--- /dev/null
+++ b/pkgs/applications/radio/pothos/cstring.patch
@@ -0,0 +1,50 @@
+Submodule blocks contains modified content
+diff --git a/blocks/file/BinaryFileSink.cpp b/blocks/file/BinaryFileSink.cpp
+index 31c9a41..0083b0d 100644
+--- a/blocks/file/BinaryFileSink.cpp
++++ b/blocks/file/BinaryFileSink.cpp
+@@ -13,6 +13,7 @@
+ #endif //_MSC_VER
+ #include <stdio.h>
+ #include <cerrno>
++#include <cstring>
+
+ #ifndef O_BINARY
+ #define O_BINARY 0
+diff --git a/blocks/file/BinaryFileSource.cpp b/blocks/file/BinaryFileSource.cpp
+index 0151231..379d383 100644
+--- a/blocks/file/BinaryFileSource.cpp
++++ b/blocks/file/BinaryFileSource.cpp
+@@ -13,6 +13,7 @@
+ #endif //_MSC_VER
+ #include <stdio.h>
+ #include <cerrno>
++#include <cstring>
+
+ #ifndef O_BINARY
+ #define O_BINARY 0
+diff --git a/blocks/file/TextFileSink.cpp b/blocks/file/TextFileSink.cpp
+index b4b2f08..2be66e2 100644
+--- a/blocks/file/TextFileSink.cpp
++++ b/blocks/file/TextFileSink.cpp
+@@ -6,6 +6,7 @@
+ #include <complex>
+ #include <fstream>
+ #include <cerrno>
++#include <cstring>
+
+ /***********************************************************************
+ * |PothosDoc Text File Sink
+Submodule soapy contains modified content
+diff --git a/soapy/DemoController.cpp b/soapy/DemoController.cpp
+index 4ce8ead..9a4e742 100644
+--- a/soapy/DemoController.cpp
++++ b/soapy/DemoController.cpp
+@@ -6,6 +6,7 @@
+ #include <iostream>
+ #include <chrono>
+ #include <algorithm> //min/max
++#include <cstring>
+
+ /***********************************************************************
+ * |PothosDoc SDR Demo Controller
diff --git a/pkgs/applications/radio/pothos/default.nix b/pkgs/applications/radio/pothos/default.nix
index 641df521c7fd..0cb55472d342 100644
--- a/pkgs/applications/radio/pothos/default.nix
+++ b/pkgs/applications/radio/pothos/default.nix
@@ -41,8 +41,13 @@ mkDerivation rec {
url = "https://github.com/pothosware/PothosCore/commit/092d1209b0fd0aa8a1733706c994fa95e66fd017.patch";
hash = "sha256-bZXG8kD4+1LgDV8viZrJ/DMjg8UvW7b5keJQDXurfkA=";
})
+ # various source files are missing imports of <cstring>
+ ./cstring.patch
];
+ # poco 1.14 requires c++17
+ NIX_CFLAGS_COMPILE = [ "-std=gnu++17" ];
+
nativeBuildInputs = [
cmake
pkg-config Caveat: Even though I have a linux builder, I don't (yet) have a linux machine capable of actually testing this package. @trofi Do you think it viable to include something like that in in this pull request? Do you think fixing the broken packages in this way a viable way forward to get this poco update into nixpkgs? |
Yeah, that sounds great. If you want you can sent PRs against https://github.com/trofi/nixpkgs/tree/poco-update and I'll apply them to appear in this proposal. |
Or alternatively I can close this PR so you could create the PR and fix all the fallouts. |
I'd be happy to send you pull requests against your branch, as I'm still quite new to nixpkgs and would love your guidance. |
That means you create the pull request first and only then test using |
Pulled. Thank you! |
Investigating the build further, I found that the option configureFlags = [
"--unbundled"
]; does not actually have any effect, as cmake is used to build this. It was changed from a cmake flag to a configure flag a while back, to fix the |
Pulled the PR and slightly reworded the comment |
Sorry, I did push some additional commits that also fixed the comments. For example, the patch actually disables the internal pcre artifacts for static builds, not all the time. :/ Not quite sure what happened, but those didn't seem to become part of the pull request. I'll create a new one for that. See trofi#4 |
I think this should be it, as far as I can see this fixes all the builds that are failing because of the poco update. Do you see anything else that is missing to make this mergeable? |
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
Pulled it, rebased, squashed and renamed commits to have consistent |
|
Ah damn. More work. At least, now I'm getting to the packages I initially wanted to work on. Ah well. |
As I was not yet able to find good documentation: At what time would I consider using a |
Not quite sure what's up with
@trofi what kind of failures do you get? |
|
Let me close this PR. I don't provide much value here. Please reopen a new one with your fixes. I can run build tests against it and provide some basic explanation around build failures. |
Well, the nix-know-how you provide is (and will be) much appreciated. Since I'm very much new to nix (just started using it a few weeks ago) I very much don't know how to do to many things and wether they are acceptable or right / idiomatic for nix. So hopefully I can count on your know how for those things in that follow-up pull request. |
For all upstream projects that where linked to this pull request: please see the continuation of this work at #383163 |
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.