Remove Java Native Interface #682

pull jonasnick wants to merge 1 commits into bitcoin-core:master from jonasnick:remove-jni changing 12 files +5 −1531
  1. jonasnick commented at 12:21 pm on October 29, 2019: contributor

    This was discussed in #508. The main reasons are that the existing Java Native Interface (JNI) bindings would need way more work to remain useful to Java developers but the maintainers and regular contributors of libsecp are not very familiar with Java (and evidently are motivated enough to improve the situation). We don’t know who relies on these bindings with the exception of ACINQ who have their own fork at https://github.com/ACINQ/secp256k1/tree/jni-embed/src/java (@sstone). Bitcoinj can optionally use the libsecp bindings.

    Ideally, there would be a separate repository owned by Java developers with just the bindings. Until this exists, Java developers relying on libsecp can use ACINQs fork or an older commit of libsecp.

  2. elichai commented at 12:46 pm on November 5, 2019: contributor
    Concept ACK. I think https://github.com/rust-bitcoin/rust-secp256k1 is a success. there’s no reason Java/Scala can’t have their own. the only way it can also be high quality Java/Scala lib is if it’s written by active Java developers.
  3. jonasnick force-pushed on Nov 5, 2019
  4. laanwj commented at 1:59 pm on November 5, 2019: member
    Concept ACK. I’ve never understood why java was “special” in this regard to have its bindings included with secp256k1 itself.
  5. sstone commented at 12:41 pm on November 6, 2019: none
    This is fine with us (and not entirely unexpected :)). We’ll just update (and probably rework a bit) our own bindings.
  6. real-or-random commented at 1:18 pm on November 6, 2019: contributor

    This is fine with us (and not entirely unexpected :)). We’ll just update (and probably rework a bit) our own bindings.

    That’s great to hear. I think the cleanest thing in the long term will be to separate the bindings from the core library entirely, i.e., not include a verbatim copy the C files in the repo. That should not to be too hard as the changes in your current branch do not touch these files.

  7. real-or-random commented at 11:49 am on November 27, 2019: contributor
    needs rebase
  8. jonasnick force-pushed on Nov 27, 2019
  9. jonasnick commented at 2:45 pm on November 27, 2019: contributor
    rebased
  10. elichai commented at 2:55 pm on November 27, 2019: contributor
    @schildbach does this affect bitcoinj? @Christewart does this affect bitcoin-s?
  11. real-or-random commented at 11:01 am on December 20, 2019: contributor

    @schildbach does this affect bitcoinj? @Christewart does this affect bitcoin-s?

    It would be great to get a statement from you guys. We don’t want to to leave anybody in the rain.

  12. schildbach commented at 11:09 am on December 20, 2019: none
    I don’t know if anyone is using libsecp256k1 via bitcoinj. You could ask on the bitcoinj mailing list to find out.
  13. Christewart commented at 12:09 pm on December 20, 2019: none
    We have forked and maintain our own jni which can be found here and used as a dependency for other JVM based projects
  14. sipa commented at 2:31 pm on December 29, 2019: contributor
    Code review ACK 7d9066a66c0f13cabb0c4f71aca30edd3494f0d5, if we’re reasonably confident this won’t break things for users (or at least, that they can easily migrate to any of the other developed bindings).
  15. jonasnick commented at 4:11 pm on January 5, 2020: contributor
    I posted a deprecation notice on the bitcoinj mailing list with a 1 month window. https://groups.google.com/forum/#!topic/bitcoinj/IghsPGbH4YI
  16. real-or-random commented at 11:11 pm on January 7, 2020: contributor
  17. real-or-random commented at 11:17 pm on January 7, 2020: contributor
    This PR will “resolve” #379, #466, #508, #517, #608.
  18. jonasnick force-pushed on Jan 8, 2020
  19. Remove Java Native Interface 642cd062bd
  20. real-or-random commented at 1:52 pm on January 8, 2020: contributor
    ACK 642cd062bdd2d28a8a84d4cb6dedbfe435ee5869 I read the diff
  21. jonasnick commented at 1:31 pm on February 7, 2020: contributor
    The 1 month window is over and no one complained on the bitcoinj mailing list.
  22. real-or-random commented at 10:15 am on February 10, 2020: contributor

    Code review ACK 7d9066a, if we’re reasonably confident this won’t break things for users (or at least, that they can easily migrate to any of the other developed bindings).

    ACK 642cd062bdd2d28a8a84d4cb6dedbfe435ee5869 I read the diff, and I verified that the diff to 7d9066a66c0f13cabb0c4f71aca30edd3494f0d5, which has been ACKed by sipa, is only the additonal removal of ax_jni_include_dir.m4

  23. real-or-random referenced this in commit d72b9e2483 on Feb 10, 2020
  24. real-or-random merged this on Feb 10, 2020
  25. real-or-random closed this on Feb 10, 2020

  26. real-or-random cross-referenced this on Feb 10, 2020 from issue Don't fail JNI dependency checks if we can build a JNI program by jgriffiths
  27. real-or-random cross-referenced this on Feb 10, 2020 from issue Implement `decompress` function in JNI by pm47
  28. real-or-random cross-referenced this on Feb 10, 2020 from issue Add signRecoverable to the JNI interface. by ademuri
  29. real-or-random commented at 11:17 am on February 10, 2020: contributor

    Merged, thanks for all the “external” feedback!

    This PR will “resolve” #379, #466, #508, #517, #608. @sstone @Christewart I encourage you to look at these issues and PRs to see if there’s anything that can be reused for your bindings.

  30. jonasnick cross-referenced this on Mar 23, 2020 from issue Use java version in my project by goral09
  31. real-or-random cross-referenced this on Apr 6, 2020 from issue building a DLL with jni enabled fails by ghost
  32. nkohen referenced this in commit 78f6783635 on Apr 6, 2020
  33. nkohen cross-referenced this on Apr 6, 2020 from issue Update Bitcoin-S libsecp by nkohen
  34. nkohen referenced this in commit 41d9deb998 on Apr 6, 2020
  35. nkohen referenced this in commit 5dc5632814 on Apr 8, 2020
  36. nkohen referenced this in commit 0e3f57dcf4 on Apr 8, 2020
  37. nkohen referenced this in commit 9b0be8844c on Apr 9, 2020
  38. nkohen referenced this in commit 37512832ad on Apr 9, 2020
  39. nkohen referenced this in commit 3f89b13294 on Apr 9, 2020
  40. nkohen referenced this in commit 8808e841cb on Apr 14, 2020
  41. sipa cross-referenced this on Jun 9, 2020 from issue Update libsecp256k1 subtree by sipa
  42. fanquake referenced this in commit 8c97780db8 on Jun 13, 2020
  43. sidhujag referenced this in commit 8a3a072968 on Jun 13, 2020
  44. ComputerCraftr referenced this in commit b98f1c6e6c on Jun 16, 2020
  45. fanquake referenced this in commit fec75fba41 on Jun 22, 2020
  46. elichai cross-referenced this on Jun 23, 2020 from issue JNI ERROR by rocqina
  47. nkohen referenced this in commit c6eb1c857d on Jul 24, 2020
  48. nkohen referenced this in commit de7ebeebaf on Aug 7, 2020
  49. nkohen referenced this in commit 4c43f2e099 on Aug 13, 2020
  50. nkohen referenced this in commit 31e5e87302 on Sep 10, 2020
  51. nkohen referenced this in commit a48ea07072 on Apr 7, 2021
  52. real-or-random cross-referenced this on Jun 4, 2021 from issue Wrong exception thrown in removed Java bindings by darkverbito
  53. prusnak referenced this in commit b66975c129 on Jun 8, 2021
  54. prusnak cross-referenced this on Jun 8, 2021 from issue secp256k1: (unstable-)2020-08-16 -> unstable-2021-06-06 by prusnak
  55. UdjinM6 referenced this in commit 9d36ba6570 on Aug 10, 2021
  56. 5tefan referenced this in commit 8ded2caa74 on Aug 12, 2021
  57. kristapsk cross-referenced this on Dec 9, 2021 from issue undefined symbol: secp256k1_ecdh by HamishMacEwan
  58. schildbach cross-referenced this on Jan 27, 2022 from issue ECKey: remove native interface to libsecp256k1 by schildbach
  59. gades referenced this in commit d855cc511d on May 8, 2022
  60. nzpr cross-referenced this on Aug 10, 2022 from issue Secp256k1 on M1 is not available by nzpr
  61. tgrospic cross-referenced this on Aug 13, 2022 from issue JNI support with CI workflow by tgrospic

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-24 00:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me