rust-secp256k1-unsafe-fast/secp256k1-sys
Tobin C. Harding 2dad589394 Upgrade the vendored libsecp256k1 code
`libsecp256k1` v0.2.0 was just released.

Update the vendored code using

 `./vendor-libsecp.sh depend 0_8_0 21ffe4b`

```
git show 21ffe4b
commit 21ffe4b22a9683cf24ae0763359e401d1284cc7a (tag: v0.2.0)
Merge: 8c949f5 e025ccd
Author: Pieter Wuille <pieter@wuille.net>
Date:   Mon Dec 12 17:00:52 2022 -0500

    Merge bitcoin-core/secp256k1#1055: Prepare initial release

    e025ccdf7473702a76bb13d763dc096548ffefba release: prepare for initial release 0.2.0 (Jonas Nick)
    6d1784a2e2c1c5a8d89ffb08a7f76fa15e84fff5 build: add missing files to EXTRA_DIST (Jonas Nick)
    13bf1b6b324f2ed1c1fb4c8d17a4febd3556839e changelog: make order of change types match keepachangelog.com (Jonas Nick)
    b1f992a552785395d2e60b10862626fd11f66f84 doc: improve release process (Jonas Nick)
    ad39e2dc417f85c1577a6a6a9c519f5c60453def build: change package version to 0.1.0-dev (Jonas Nick)
    90618e9263ebc2a0d73d487d6d94fd3af96b973c doc: move CHANGELOG from doc/ to root directory (Jonas Nick)

    Pull request description:

      Based on #964

    ACKs for top commit:
      sipa:
        ACK e025ccdf7473702a76bb13d763dc096548ffefba

    Tree-SHA512: b9ab71d7362537d383a32b5e321ef44069f00e3e92340375bcd662267bc5a60c2bad60222998e6602cfac24ad65efb23d772eac37c86065036b90ef090b54c49
    ```

Requires a new version of `secp256k1-sys`, use v0.8.0

- Update the `secp256k1-sys` manifest (including links field)
- Update symbols to use 0_8_0
- Add a changelog entry
- depend on the new version in `secp256k1`

Which in turn requires a new version of `secp256k1`, use v0.26.0
2022-12-21 08:11:14 +11:00
..
depend Upgrade the vendored libsecp256k1 code 2022-12-21 08:11:14 +11:00
src Upgrade the vendored libsecp256k1 code 2022-12-21 08:11:14 +11:00
wasm Move WASM const definitions to a source file 2022-03-30 10:22:37 +11:00
CHANGELOG.md Bump secp256k1-sys version to 0.7.0 2022-12-12 09:13:00 +11:00
Cargo.toml Upgrade the vendored libsecp256k1 code 2022-12-21 08:11:14 +11:00
LICENSE Add secp256k1-sys README and LICENSE files 2019-11-27 21:02:44 +00:00
README.md replace cargo `external-symbols` feature with a rustc --cfg flag 2020-12-22 15:35:16 +00:00
build.rs secp256k1-sys: Remove unused flags in build.rs 2022-11-24 13:38:40 +02:00
vendor-libsecp.sh Update Cargo.toml link in vendor script 2019-12-11 15:54:30 +00:00

README.md

secp256k1-sys

This crate provides Rust definitions for the FFI structures and methods.

Vendoring

The default build process is to build using the vendored libsecp256k1 sources in the depend folder. These sources are prefixed with a special rust-secp256k1-sys-specific prefix rustsecp256k1_v1_2_3_.

This prefix ensures that no symbol collision can happen:

  • when a Rust project has two different versions of rust-secp256k1 in its depepdency tree, or
  • when rust-secp256k1 is used for building a static library in a context where existing libsecp256k1 symbols are already linked.

To update the vendored sources, use the vendor-libsecp.sh script:

$ ./vendor-libsecp.sh depend <version-code> <rev>
  • Where <version-code> is the secp256k1-sys version number underscored: 0_1_2.
  • Where <rev> is the git revision of libsecp256k1 to checkout.

Linking to external symbols

If you want to compile this library without using the bundled symbols (which may be required for integration into other build systems), you can do so by adding --cfg=rust_secp_no_symbol_renaming' to your RUSTFLAGS variable.