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-configCaveat: 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 = relaxedsandbox = truenix-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.