electrum: add patch for aiorpcx 0.24 compatibility#380708
electrum: add patch for aiorpcx 0.24 compatibility#380708prusnak merged 3 commits intoNixOS:masterfrom
Conversation
|
posPatches patches contrib/requirements/requirements.txt which you claim does not exist is that true? |
fe9f72b to
db902db
Compare
Oh damn, you're absolutely right, @prusnak I'm not sure how I grew the impression that this file does not exist in the tarball. It does! But the patch cannot be applied to that file -- likely due to spesmilo/electrum@1ee6361 which the patch is based upon and which changes a line nearby. I tried to apply that conflicting commit as well, but it caused other conflicts. I guess that the I've nevertheless updated the branch so the comment for the excludes directive is correct. What do you think? |
It is opened from setup.py to install dependencies. I suggest you just drop the |
db902db to
d2618f6
Compare
I guess you ment |
prusnak
left a comment
There was a problem hiding this comment.
all good except one more fix in the desktop file
This reverts commit a879c72. It is no longer needed, as electrum removed the PATH manipulation: spesmilo/electrum@f15abd7 However, this commit also deviates from a plain revert, as it adds an additional replacement command to still substitute the `--testnet` command line, as it was done before. Note: Those `--replace` calls are removed here in order to stricten substitute calls with `--replace-fail` in a follow-up commit.
The old `--replace` is deprecated, we use `--replace-fail` so changes in source code that might invalidate substitute invocations get noticed. Cf. commit e07a2fa .
electrum is quite strict about the aiorpcx version is accepts. With commit 4bbf530 , Upstream already has a patch to extend the range of aiorpcx versions it permits: spesmilo/electrum@171aa5e As the patch does not cleanly apply to the distribution tarball we're using, we instead apply the required changes "by hand", with `substituteInPlace`. On top of the changes adapted from the upstream commit, we have to change the file `./electrum/electrum`: It is not part of the upstream source repository, but it gets created from `./run_electrum` when upstream creates the distribution tarball. Note that the commit at hand is similar to 0e513f0 .
d2618f6 to
e3d7bba
Compare
|
thank you! |
electrumbuild broke due to theaiorpcxupdate in 4bbf530 via #375144 .Upstream already has a patch, however, it's not so easy to apply:
/run_electrumin the source repo/electrum/electrumpointing to../run_electrum, i.e., to the file that is patched/electrum/electrumis a simple copy of/run_electrum(probably the result of whatever process generates the tarball)/electrum/electrumis used as executable in the package outputrequirements.txt, but fails with conflictsHence, although the patch will likely fix the next electrum release, just applying it to our source does not fix the issue. To work around that, this pull request
also adds a copy command to theapplies the changes from the patch file "by hand", withpostFixupsection to copy the patched/run_electrumover the unpatched/electrum/electrum. This is also explained in a comment near thefetchpatchline, so whoever removes the patch when it is no longer needed is also reminded of removing the copy command below.substituteInPlace. Additionally, it converts existingsubstituteInPlaceinvocations to--replace-failand drop two unneeded replacements (see the commits for details).Note: #309576 also adds a (also temporary) patch for
aiorpcxcompatibility and experienced the same problem described above,and employed the same solution.Notifying maintainers: @joachifm @np @prusnak @chewblacka
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/)More: Tested few
electrumfunctionalityelectrumstartselectrumlists known transactionelectrumlists known addresseselectrumas expectednixpkgs-reviewtries to rebuild 2820 packages and was therefore skipped.Add a 👍 reaction to pull requests you find important.