Conversation
|
|
Looks like |
|
What's the process here? Set |
|
I need to test and debug again on an ARM Mac, which I can do next week. Hopefully "broken" will be very temporary. (I will also test with real hardware if I can get it to work) |
pkgs/by-name/sd/sdrpp/package.nix
Outdated
There was a problem hiding this comment.
Sorry if I am mistaken. However, I believe they actually did update the version string. If you open this file (core/src/version.h) either in the selected commit (a94e2d6) or master, this file contains "1.2.1" as the version. So this substituteInPlace is either unnecessary or wrong
| substituteInPlace core/src/version.h --replace "1.1.0" "$version" # Upstream haven't updated their version number from 1.1.0 | |
| substituteInPlace core/src/version.h --replace-fail "${version_number}" "$version" |
or
| substituteInPlace core/src/version.h --replace "1.1.0" "$version" # Upstream haven't updated their version number from 1.1.0 | |
| substituteInPlace core/src/version.h --replace-fail "1.2.1" "$version" |
if you believe hardcoding it is better. Regardless, the usage of --replace-fail will break the derivation if the version is updated and the version number does not match.
There was a problem hiding this comment.
Interesting...
When I run nix-build . -A sdrpp with --replace-fail I get:
substituteStream() in derivation sdrpp-1.2.1-unstable-2025-06-25: WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file 'CMakeLists.txt')
substituteStream() in derivation sdrpp-1.2.1-unstable-2025-06-25: WARNING: pattern /usr/share doesn't match anything in file 'CMakeLists.txt'
substituteStream() in derivation sdrpp-1.2.1-unstable-2025-06-25: ERROR: pattern 1.2.1 doesn't match anything in file 'core/src/version.h'
error: builder for '/nix/store/vdiv46a233fdj9xyv50fs4npbjmrr2ag-sdrpp-1.2.1-unstable-2025-06-25.drv' failed with exit code 1;
last 14 log lines:
> Using udevCheckHook
> Running phase: unpackPhase
> unpacking source archive /nix/store/0hah6rsckfrhpzac1d96mjy7d8f6xlm5-source
> source root is source
> Running phase: patchPhase
> applying patch /nix/store/6h9kwc0py2shgnwilywiislm52mfj9si-runtime-prefix.patch
> patching file core/src/core.cpp
> Hunk #1 succeeded at 258 with fuzz 2 (offset 16 lines).
> Hunk #2 succeeded at 334 with fuzz 2 (offset 44 lines).
> patching file core/src/gui/main_window.cpp
> Hunk #1 succeeded at 39 with fuzz 1 (offset -5 lines).
> substituteStream() in derivation sdrpp-1.2.1-unstable-2025-06-25: WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file 'CMakeLists.txt')
> substituteStream() in derivation sdrpp-1.2.1-unstable-2025-06-25: WARNING: pattern /usr/share doesn't match anything in file 'CMakeLists.txt'
> substituteStream() in derivation sdrpp-1.2.1-unstable-2025-06-25: ERROR: pattern 1.2.1 doesn't match anything in file 'core/src/version.h'
For full logs, run:
nix log /nix/store/vdiv46a233fdj9xyv50fs4npbjmrr2ag-sdrpp-1.2.1-unstable-2025-06-25.drv
The content of /nix/store/0hah6rsckfrhpzac1d96mjy7d8f6xlm5-source/core/src/version.h is
#pragma once
#define VERSION_STR "1.1.0"
Which is different to https://github.com/AlexandreRouma/SDRPlusPlus/blob/a94e2d6712a6e5c80d6f6f27052e38be8a2ae0a9/core/src/version.h as you say.
I have rebased my branch onto master, but my notes indicate this was a problem when I first did the build (hence the comment).
Can you reproduce this on your machine?
And do you have any thoughts on what might be happening here?
There was a problem hiding this comment.
Hi, nix relies on hash to determine if the source code needs to be downloaded, if the source code is already present in nix store, then the derivation commit is changed but not the hash, it keeps the old version of the source code.
There was a problem hiding this comment.
I believe the issue is what Noderyos mentioned above. You need to not only update the commit rev, but also the also the hash. If you keep the hash, nix will consider it as the same you got already downloaded.
I guess this is one of the "silent errors" "--replace-fail" deals with.
There was a problem hiding this comment.
While you update the git rev, you forgot to update the hash, that still is
hash = "sha256-R4xWeqdHEAaje37VQaGlg+L2iYIOH4tXMHvZkZq4SDU=";
Furthermore, since we're already here, I'd consider update to the current commit of master, update the git date and set the proper hash of the last commit.
There was a problem hiding this comment.
That's quite surprising, but good to know - thanks both
|
@sikmir I found two issues in the upstream repo talking about crashes on MacOS: AlexandreRouma/SDRPlusPlus#1558 AlexandreRouma/SDRPlusPlus#1600 . Both were closed with the dev claiming the issues came from dependencies and not sdrpp itself. I don't know if it is still an issue (I don't have a mac). Both show the same |
15e0dc3 to
d6b5bf4
Compare
|
@dgramop have you gotten a chance to test on an ARM Mac? |
I have no idea how to fix it, so I'm fine with marking as broken on darwin. |
The ARM MacOS build has a few bugs (non-exhaustive) for version 1.2.1: AlexandreRouma/SDRPlusPlus#1667 AlexandreRouma/SDRPlusPlus#1638 AlexandreRouma/SDRPlusPlus#1431
d6b5bf4 to
8945102
Compare
I've also updated to the latest master. Could you please re-test? |
|
|
This package seems to have been updated in c5413c6. The package is now at version |

Fixes #416080
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.