Skip to content

Conversation

fanquake
Copy link

_BSD_SOURCE is deprecated:

  148 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"

The simplest fix for suppressing the warnings, if you'd like to retain
the _BSD_SOURCE define is to just also define _DEFAULT_SOURCE.

See also:
https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
https://lwn.net/Articles/590381/

@fanquake
Copy link
Author

fanquake commented Jul 4, 2022

@miniupnp Do you have any interest in merging this?

@miniupnp miniupnp self-assigned this Jul 4, 2022
@miniupnp
Copy link
Owner

miniupnp commented Jul 4, 2022

@miniupnp Do you have any interest in merging this?

just let me some time, thanks !

@miniupnp
Copy link
Owner

miniupnp commented Jul 4, 2022

shouldn't _BSD_SOURCE be removed ?

`_BSD_SOURCE` is deprecated:
```bash
  148 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
```

See also:
https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
https://lwn.net/Articles/590381/
@fanquake fanquake force-pushed the define_default_source branch from 41f9a49 to 07004b9 Compare July 5, 2022 07:50
@fanquake
Copy link
Author

fanquake commented Jul 5, 2022

shouldn't _BSD_SOURCE be removed ?

I was happy for you to make that call, per the PR description. I have removed it now.

@miniupnp miniupnp merged commit 07004b9 into miniupnp:master Jul 6, 2022
@fanquake fanquake deleted the define_default_source branch July 7, 2022 08:19
fanquake added a commit to fanquake/bitcoin that referenced this pull request Jul 15, 2022
This pulls in two changes I've upstreamed:
Support for pkg-config: miniupnp/libnatpmp#19
Suppressing a deprecation warning: miniupnp/libnatpmp#28

Somewhat related to bitcoin#22644.
fanquake added a commit to fanquake/bitcoin that referenced this pull request Jul 15, 2022
This pulls in two changes I've upstreamed:
Support for pkg-config: miniupnp/libnatpmp#19
Suppressing a deprecation warning: miniupnp/libnatpmp#28

Somewhat related to bitcoin#22644.
fanquake added a commit to fanquake/bitcoin that referenced this pull request Aug 24, 2022
This pulls in two changes I've upstreamed:
Support for pkg-config: miniupnp/libnatpmp#19
Suppressing a deprecation warning: miniupnp/libnatpmp#28

Somewhat related to bitcoin#22644.
fanquake added a commit to fanquake/bitcoin that referenced this pull request Aug 24, 2022
This pulls in two changes I've upstreamed:
Support for pkg-config: miniupnp/libnatpmp#19
Suppressing a deprecation warning: miniupnp/libnatpmp#28

Somewhat related to bitcoin#22644.
fanquake added a commit to fanquake/bitcoin that referenced this pull request Aug 24, 2022
This pulls in two changes I've upstreamed:
Support for pkg-config: miniupnp/libnatpmp#19
Suppressing a deprecation warning: miniupnp/libnatpmp#28

Somewhat related to bitcoin#22644.
fanquake added a commit to bitcoin-core/gui that referenced this pull request Sep 21, 2022
…70404cf22201e4d330d

6547100 depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d (fanquake)

Pull request description:

  This pulls in two changes I've upstreamed:
  Support for pkg-config: miniupnp/libnatpmp#19
  Suppressing a deprecation warning: miniupnp/libnatpmp#28

  and other upstream bug fixes.

  Somewhat related to #22644.

  Guix Build (arm64):
  ```bash
  4a4b8e1cb5070482e53b3b869c5f6e19b892619184cf58315a3af368e13a52a2  guix-build-65471008e0a4/output/arm-linux-gnueabihf/SHA256SUMS.part
  88b51f0f261f84b58da60a5c8df251b551379b811a255df9982ff496c70fc8b7  guix-build-65471008e0a4/output/arm-linux-gnueabihf/bitcoin-65471008e0a4-arm-linux-gnueabihf-debug.tar.gz
  33a564914be6f4134d8e8a5f31a2bb97798a79bae8f75151b35564238d6f288e  guix-build-65471008e0a4/output/arm-linux-gnueabihf/bitcoin-65471008e0a4-arm-linux-gnueabihf.tar.gz
  ea429260a2b5ac333f70b2b8b8697a4f76eee79cf6998d18c7de7b60818d8fe5  guix-build-65471008e0a4/output/arm64-apple-darwin/SHA256SUMS.part
  304677e040592a0aee947c733657ea6c4dd8613f7c3a9834314a68e5f7a53325  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin-unsigned.dmg
  da171a60370ad1da6cfc1566fc4e16d09f6e896002b0ac9758fb4044eb1033c1  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin-unsigned.tar.gz
  45c439319a9e2c07de8796dcfd182cdeb5600ad31f8f6b6dc383cc2914f49ab8  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin.tar.gz
  120311e7c807b2641b5e7024e1b85fac0800680bccd924016f417b026aa90d25  guix-build-65471008e0a4/output/dist-archive/bitcoin-65471008e0a4.tar.gz
  5272264317c93359c158c688cf0d0b6e70a6d9ec4b2e447b9fb9fcaf1950f6bc  guix-build-65471008e0a4/output/powerpc64-linux-gnu/SHA256SUMS.part
  98a0d14b8d05974d70f0d5243bfc2fec6aea30b9d8375f950f42a21d5e034065  guix-build-65471008e0a4/output/powerpc64-linux-gnu/bitcoin-65471008e0a4-powerpc64-linux-gnu-debug.tar.gz
  8e07410ad2e7e204c5e84a81894c5398b34f36cc9e1ba386bf0963f09755818b  guix-build-65471008e0a4/output/powerpc64-linux-gnu/bitcoin-65471008e0a4-powerpc64-linux-gnu.tar.gz
  47ae8b948127f03e43a4c7e83a3611b650e26da50936ea9ce0247e01b29463f3  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/SHA256SUMS.part
  04e92527df8c7bb9f78c29b152d920830be0ef26d01e0ee1b32d52bb68fc9717  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/bitcoin-65471008e0a4-powerpc64le-linux-gnu-debug.tar.gz
  ddb09291c9e270343b56e66fae33fd792eb2ec7e5a138337ec1608642dd3a983  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/bitcoin-65471008e0a4-powerpc64le-linux-gnu.tar.gz
  de3cfcf47abed3d4d3881086eba94ee2c34d9078dc53639cc6321c2bd1041073  guix-build-65471008e0a4/output/riscv64-linux-gnu/SHA256SUMS.part
  fecd6a307b66fd54fa5792ce14e1a4d50df5646cdf6cc51d5b355fb1384f5105  guix-build-65471008e0a4/output/riscv64-linux-gnu/bitcoin-65471008e0a4-riscv64-linux-gnu-debug.tar.gz
  f2c5a85fb17ad9605809b4ac01eba56cd573744697b9c942d293b42a623a2832  guix-build-65471008e0a4/output/riscv64-linux-gnu/bitcoin-65471008e0a4-riscv64-linux-gnu.tar.gz
  4cd0b05e96491d9b0fe7eff78aab885a2f0d62f141950117759fecceaeba5412  guix-build-65471008e0a4/output/x86_64-apple-darwin/SHA256SUMS.part
  bae30549d8044e1aa11bae6d57321a7a3a765c8b87ead9cdcc8abf9f22a564a3  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin-unsigned.dmg
  435187b492d6df77d4fa7cd0f77ad08c587c4bd463295be802b6e222ee92a2fa  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin-unsigned.tar.gz
  b9cf808ec88368a9b0e1883253a9d8c6f123bf7f61df40e34e5e4b8959846d65  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin.tar.gz
  b9d9a46f7d3188cd517a180fd24fdb38b8c695175fe9ac75c3b3eb2450d9f5d5  guix-build-65471008e0a4/output/x86_64-linux-gnu/SHA256SUMS.part
  fd601d6821fbe5faa1eb44b9f07046187f491a83fbf1e0fd603be212bfea3385  guix-build-65471008e0a4/output/x86_64-linux-gnu/bitcoin-65471008e0a4-x86_64-linux-gnu-debug.tar.gz
  98ae9d653a8fdeda055468dbf674ee46b0727e1c5b768b1765fc4451defed36e  guix-build-65471008e0a4/output/x86_64-linux-gnu/bitcoin-65471008e0a4-x86_64-linux-gnu.tar.gz
  821de40cbc96c27bb1f0fbcfb46c4e801f202c2dfd7aa9ad88daf6ced2be90e5  guix-build-65471008e0a4/output/x86_64-w64-mingw32/SHA256SUMS.part
  0f2425ea0a17c9aa80cf7d2eb316b9ebe76f49de777635ac37f9e6e21bcd650e  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-debug.zip
  046ede05868c153ec1d87b8dad4b6494913ea3e952edee86b068d367c57fa7ec  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-setup-unsigned.exe
  62b6e5ebb085735838ada1f328d6e092d7fb726caad6e049340bfa783897cfa1  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-unsigned.tar.gz
  265f9814a7fa3333395f34a5dceafd11d50d170aa5303386aa6f8244542d070a  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64.zip
  ```

ACKs for top commit:
  theuni:
    Simple bump ACK 6547100. From a quick glance the upstream changes appear to be minimal and sane.
  hebasto:
    ACK 6547100

Tree-SHA512: 61541b7dcde611f5bafe5b77977403dab86fe24f0bf4bfb79ab7123bac8b7c4dcad53993d18ab40964756699a77952c8ecc5a0416055c9e436fc34867f7f9cf6
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Sep 23, 2022
…2201e4d330d

6547100 depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d (fanquake)

Pull request description:

  This pulls in two changes I've upstreamed:
  Support for pkg-config: miniupnp/libnatpmp#19
  Suppressing a deprecation warning: miniupnp/libnatpmp#28

  and other upstream bug fixes.

  Somewhat related to bitcoin#22644.

  Guix Build (arm64):
  ```bash
  4a4b8e1cb5070482e53b3b869c5f6e19b892619184cf58315a3af368e13a52a2  guix-build-65471008e0a4/output/arm-linux-gnueabihf/SHA256SUMS.part
  88b51f0f261f84b58da60a5c8df251b551379b811a255df9982ff496c70fc8b7  guix-build-65471008e0a4/output/arm-linux-gnueabihf/bitcoin-65471008e0a4-arm-linux-gnueabihf-debug.tar.gz
  33a564914be6f4134d8e8a5f31a2bb97798a79bae8f75151b35564238d6f288e  guix-build-65471008e0a4/output/arm-linux-gnueabihf/bitcoin-65471008e0a4-arm-linux-gnueabihf.tar.gz
  ea429260a2b5ac333f70b2b8b8697a4f76eee79cf6998d18c7de7b60818d8fe5  guix-build-65471008e0a4/output/arm64-apple-darwin/SHA256SUMS.part
  304677e040592a0aee947c733657ea6c4dd8613f7c3a9834314a68e5f7a53325  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin-unsigned.dmg
  da171a60370ad1da6cfc1566fc4e16d09f6e896002b0ac9758fb4044eb1033c1  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin-unsigned.tar.gz
  45c439319a9e2c07de8796dcfd182cdeb5600ad31f8f6b6dc383cc2914f49ab8  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin.tar.gz
  120311e7c807b2641b5e7024e1b85fac0800680bccd924016f417b026aa90d25  guix-build-65471008e0a4/output/dist-archive/bitcoin-65471008e0a4.tar.gz
  5272264317c93359c158c688cf0d0b6e70a6d9ec4b2e447b9fb9fcaf1950f6bc  guix-build-65471008e0a4/output/powerpc64-linux-gnu/SHA256SUMS.part
  98a0d14b8d05974d70f0d5243bfc2fec6aea30b9d8375f950f42a21d5e034065  guix-build-65471008e0a4/output/powerpc64-linux-gnu/bitcoin-65471008e0a4-powerpc64-linux-gnu-debug.tar.gz
  8e07410ad2e7e204c5e84a81894c5398b34f36cc9e1ba386bf0963f09755818b  guix-build-65471008e0a4/output/powerpc64-linux-gnu/bitcoin-65471008e0a4-powerpc64-linux-gnu.tar.gz
  47ae8b948127f03e43a4c7e83a3611b650e26da50936ea9ce0247e01b29463f3  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/SHA256SUMS.part
  04e92527df8c7bb9f78c29b152d920830be0ef26d01e0ee1b32d52bb68fc9717  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/bitcoin-65471008e0a4-powerpc64le-linux-gnu-debug.tar.gz
  ddb09291c9e270343b56e66fae33fd792eb2ec7e5a138337ec1608642dd3a983  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/bitcoin-65471008e0a4-powerpc64le-linux-gnu.tar.gz
  de3cfcf47abed3d4d3881086eba94ee2c34d9078dc53639cc6321c2bd1041073  guix-build-65471008e0a4/output/riscv64-linux-gnu/SHA256SUMS.part
  fecd6a307b66fd54fa5792ce14e1a4d50df5646cdf6cc51d5b355fb1384f5105  guix-build-65471008e0a4/output/riscv64-linux-gnu/bitcoin-65471008e0a4-riscv64-linux-gnu-debug.tar.gz
  f2c5a85fb17ad9605809b4ac01eba56cd573744697b9c942d293b42a623a2832  guix-build-65471008e0a4/output/riscv64-linux-gnu/bitcoin-65471008e0a4-riscv64-linux-gnu.tar.gz
  4cd0b05e96491d9b0fe7eff78aab885a2f0d62f141950117759fecceaeba5412  guix-build-65471008e0a4/output/x86_64-apple-darwin/SHA256SUMS.part
  bae30549d8044e1aa11bae6d57321a7a3a765c8b87ead9cdcc8abf9f22a564a3  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin-unsigned.dmg
  435187b492d6df77d4fa7cd0f77ad08c587c4bd463295be802b6e222ee92a2fa  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin-unsigned.tar.gz
  b9cf808ec88368a9b0e1883253a9d8c6f123bf7f61df40e34e5e4b8959846d65  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin.tar.gz
  b9d9a46f7d3188cd517a180fd24fdb38b8c695175fe9ac75c3b3eb2450d9f5d5  guix-build-65471008e0a4/output/x86_64-linux-gnu/SHA256SUMS.part
  fd601d6821fbe5faa1eb44b9f07046187f491a83fbf1e0fd603be212bfea3385  guix-build-65471008e0a4/output/x86_64-linux-gnu/bitcoin-65471008e0a4-x86_64-linux-gnu-debug.tar.gz
  98ae9d653a8fdeda055468dbf674ee46b0727e1c5b768b1765fc4451defed36e  guix-build-65471008e0a4/output/x86_64-linux-gnu/bitcoin-65471008e0a4-x86_64-linux-gnu.tar.gz
  821de40cbc96c27bb1f0fbcfb46c4e801f202c2dfd7aa9ad88daf6ced2be90e5  guix-build-65471008e0a4/output/x86_64-w64-mingw32/SHA256SUMS.part
  0f2425ea0a17c9aa80cf7d2eb316b9ebe76f49de777635ac37f9e6e21bcd650e  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-debug.zip
  046ede05868c153ec1d87b8dad4b6494913ea3e952edee86b068d367c57fa7ec  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-setup-unsigned.exe
  62b6e5ebb085735838ada1f328d6e092d7fb726caad6e049340bfa783897cfa1  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-unsigned.tar.gz
  265f9814a7fa3333395f34a5dceafd11d50d170aa5303386aa6f8244542d070a  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64.zip
  ```

ACKs for top commit:
  theuni:
    Simple bump ACK 6547100. From a quick glance the upstream changes appear to be minimal and sane.
  hebasto:
    ACK 6547100

Tree-SHA512: 61541b7dcde611f5bafe5b77977403dab86fe24f0bf4bfb79ab7123bac8b7c4dcad53993d18ab40964756699a77952c8ecc5a0416055c9e436fc34867f7f9cf6
Fabcien pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Sep 29, 2022
Summary:
bitcoin/bitcoin@a8d9f27 (main commit)
> net: Add libnatpmp support

bitcoin/bitcoin@ae749d1
> doc: Add libnatpmp stuff

Note: I excluded the changes in tor.md, as the documentation added in that file is not yet applicable until core#18077 is fully backported. I suggest we should backport this tohether with the release notes.

---
[[bitcoin/bitcoin#21320 | core#21320]]:
> build: fix libnatpmp macos cross compile
>
> Currently, our cross-compile of libnatpmp for macOS doesn't work at all.
> The wrong archiver is used, which produces an archive the linker doesn't like.
>
> Fix this by using the right `ar` (we do the same for upnp).
>
> While we're at it, we fixe the build so that we are using our c/ppflags.
> This  means building with `-O2` rather than `-Os`.

----

[[bitcoin/bitcoin#21209 | core#21209]]:
> build: compile libnatpmp with -DNATPMP_STATICLIB on Windows
>
> This fixes linking issues and mirrors what we do with miniupnpc.

> build: use newer source for libnatpmp
>
> The source we are currently using is from 2015. The upstream repo has
> received a small number of bug fixes and improvements since then.
> Including one that fixes an issue for Windows users:
> miniupnp/libnatpmp#13.
>
> The source we are currently using is the most recent "official" release,
> however I don't think it's worth waiting for a new one. The maintainer
> was prompted to do so in Oct 2020, then again in Jan of this year, and
> no release has eventuated. Given libnatpmp is a new inclusion into our
> repository, I think we should be using this newer source.
>
> This also cleans up a few warnings we currently see in depends builds

----

[[bitcoin/bitcoin#25917 | core#25917]]:
> depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
>
> This pulls in two changes I've upstreamed:
> Support for pkg-config: miniupnp/libnatpmp#19
> Suppressing a deprecation warning: miniupnp/libnatpmp#28

----

This is a backport of [[bitcoin/bitcoin#18077 | core#18077]] [7 & 12/13], [[bitcoin/bitcoin#21320 | core#21320]], [[bitcoin/bitcoin#21209 | core#21209]] and [[bitcoin/bitcoin#25917 | core#25917]]

Depends on D12094

Test Plan:
```
cmake .. -GNinja
ninja
```

`@bot build-win64 build-osx`

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D12075
deadalnix pushed a commit to Bitcoin-ABC/secp256k1 that referenced this pull request Sep 30, 2022
Summary:
bitcoin/bitcoin@a8d9f27 (main commit)
> net: Add libnatpmp support

bitcoin/bitcoin@ae749d1
> doc: Add libnatpmp stuff

Note: I excluded the changes in tor.md, as the documentation added in that file is not yet applicable until core#18077 is fully backported. I suggest we should backport this tohether with the release notes.

---
[[bitcoin/bitcoin#21320 | core#21320]]:
> build: fix libnatpmp macos cross compile
>
> Currently, our cross-compile of libnatpmp for macOS doesn't work at all.
> The wrong archiver is used, which produces an archive the linker doesn't like.
>
> Fix this by using the right `ar` (we do the same for upnp).
>
> While we're at it, we fixe the build so that we are using our c/ppflags.
> This  means building with `-O2` rather than `-Os`.

----

[[bitcoin/bitcoin#21209 | core#21209]]:
> build: compile libnatpmp with -DNATPMP_STATICLIB on Windows
>
> This fixes linking issues and mirrors what we do with miniupnpc.

> build: use newer source for libnatpmp
>
> The source we are currently using is from 2015. The upstream repo has
> received a small number of bug fixes and improvements since then.
> Including one that fixes an issue for Windows users:
> miniupnp/libnatpmp#13.
>
> The source we are currently using is the most recent "official" release,
> however I don't think it's worth waiting for a new one. The maintainer
> was prompted to do so in Oct 2020, then again in Jan of this year, and
> no release has eventuated. Given libnatpmp is a new inclusion into our
> repository, I think we should be using this newer source.
>
> This also cleans up a few warnings we currently see in depends builds

----

[[bitcoin/bitcoin#25917 | core#25917]]:
> depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
>
> This pulls in two changes I've upstreamed:
> Support for pkg-config: miniupnp/libnatpmp#19
> Suppressing a deprecation warning: miniupnp/libnatpmp#28

----

This is a backport of [[bitcoin/bitcoin#18077 | core#18077]] [7 & 12/13], [[bitcoin/bitcoin#21320 | core#21320]], [[bitcoin/bitcoin#21209 | core#21209]] and [[bitcoin/bitcoin#25917 | core#25917]]

Depends on D12094

Test Plan:
```
cmake .. -GNinja
ninja
```

`@bot build-win64 build-osx`

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D12075
janus pushed a commit to BitgesellOfficial/bitgesell that referenced this pull request Jan 20, 2023
This pulls in two changes I've upstreamed:
Support for pkg-config: miniupnp/libnatpmp#19
Suppressing a deprecation warning: miniupnp/libnatpmp#28

Somewhat related to #22644.
melroy89 pushed a commit to BitcoinCash1/Bitcoin-Cash-Node that referenced this pull request Oct 10, 2024
Co-authored-by: Calin Culianu <calin.culianu@gmail.com>

Taken from ABC: https://reviews.bitcoinabc.org/D12075
Depends on !1836

Summary
---

bitcoin/bitcoin@a8d9f27 (main commit)
> net: Add libnatpmp support

bitcoin/bitcoin@ae749d1
> doc: Add libnatpmp stuff

Note: I excluded the changes in tor.md, as the documentation added
in that file is not yet applicable until core#18077 is fully backported.
I suggest we should backport this tohether with the release notes.

---

[[bitcoin/bitcoin#21320 | core#21320]]:
> build: fix libnatpmp macos cross compile
>
> Currently, our cross-compile of libnatpmp for macOS doesn't work at all.
> The wrong archiver is used, which produces an archive the linker doesn't like.
>
> Fix this by using the right `ar` (we do the same for upnp).
>
> While we're at it, we fixe the build so that we are using our c/ppflags.
> This  means building with `-O2` rather than `-Os`.

----

[[bitcoin/bitcoin#21209 | core#21209]]:
> build: compile libnatpmp with -DNATPMP_STATICLIB on Windows
>
> This fixes linking issues and mirrors what we do with miniupnpc.

> build: use newer source for libnatpmp
>
> The source we are currently using is from 2015. The upstream repo has
> received a small number of bug fixes and improvements since then.
> Including one that fixes an issue for Windows users:
> miniupnp/libnatpmp#13.
>
> The source we are currently using is the most recent "official" release,
> however I don't think it's worth waiting for a new one. The maintainer
> was prompted to do so in Oct 2020, then again in Jan of this year, and
> no release has eventuated. Given libnatpmp is a new inclusion into our
> repository, I think we should be using this newer source.
>
> This also cleans up a few warnings we currently see in depends builds

----

[[bitcoin/bitcoin#25917 | core#25917]]:
> depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
>
> This pulls in two changes I've upstreamed:
> Support for pkg-config: miniupnp/libnatpmp#19
> Suppressing a deprecation warning: miniupnp/libnatpmp#28

----

This is a backport of [[bitcoin/bitcoin#18077 | core#18077]] [7 & 12/13], [[bitcoin/bitcoin#21320 | core#21320]], [[bitcoin/bitcoin#21209 | core#21209]] and [[bitcoin/bitcoin#25917 | core#25917]]

Test Plan
---

- `cmake .. -GNinja ninja all check-all`
- Do a gitian and/or depends build
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants