Skip to content
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

dino: allow newer versions of libsignal-protocol-c #87283

Merged
merged 1 commit into from May 10, 2020

Conversation

Luflosi
Copy link
Contributor

@Luflosi Luflosi commented May 8, 2020

Motivation for this change

The exact version of libsignal-protocol-c used by dino is hard-coded to 2.3.2 because "libsignal-protocol-c has a history of breaking compatibility on the patch level". This prevents libsignal-protocol-c from being updated in #83736. To fix this, I do what the comment in plugins/signal-protocol/CMakeLists.txt recommends and what Arch Linux does (https://git.archlinux.org/svntogit/community.git/tree/trunk/signal-2.3.3.patch?h=packages/dino) and patch the source so that newer versions are allowed. This works fine for Arch Linux and for me.

This is the first time that I added a patch to a package. Did I do it correctly?

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@Mic92
Copy link
Member

Mic92 commented May 8, 2020

Can you also send this patch upstream? We can merge it before it gets merged upstream.

@Luflosi
Copy link
Contributor Author

Luflosi commented May 8, 2020

It's already upstream: dino/dino@fbd70ce.

The exact version of libsignal-protocol-c used by dino is hard-coded to 2.3.2 because "libsignal-protocol-c has a history of breaking compatibility on the patch level". This prevents libsignal-protocol-c from being updated in NixOS#83736. Upstream already allows newer versions in the latest git master, so patch the source with this commit. Unfortunately patching doesn't work with git submodules but since the submodule is not used anyways, simply ignore this part of the patch.
@Luflosi Luflosi requested review from Mic92 and jtojnar May 9, 2020 22:46
@Mic92 Mic92 merged commit 2405542 into NixOS:master May 10, 2020
@Luflosi Luflosi deleted the patch-dino branch May 10, 2020 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants