dash/depends/packages
fanquake a852a919dd
Merge bitcoin/bitcoin#25697: depends: expat 2.4.8 & fix building with -flto
e838a9847580527b8321d65e57b1c53cc2af6bf4 depends: re-enable using -flto when building expat (fanquake)
304452558c7f6f5e32ba13d8f05325790c8a4f5f depends: expat 2.4.8 (fanquake)

Pull request description:

  Currently, when building the expat package in depends, using `-flto` (`LTO=1`), the configure check can fail, because it cannot determine the system endianess:
  ```bash
  configure:18718: result: unknown
  configure:18733: error: unknown endianness
   presetting ac_cv_c_bigendian=no (or yes) will help
  ```

  Fix that by defining `_DEFAULT_SOURCE`, which in turn defines `__USE_MISC` (`features.h`):
  ```c
  #if defined _DEFAULT_SOURCE
  # define __USE_MISC1
  #endif
  ```
  which exposes additional definitions in `endian.h`:
  ```c
  #include <features.h>

  /* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER.  */
  #include <bits/endian.h>

  #ifdef __USE_MISC
  # define LITTLE_ENDIAN__LITTLE_ENDIAN
  # define BIG_ENDIAN__BIG_ENDIAN
  # define PDP_ENDIAN__PDP_ENDIAN
  # define BYTE_ORDER__BYTE_ORDER
  #endif
  ```
  and gives us a working configure.

  You could test building this change with Guix + LTO with [this branch](https://github.com/fanquake/bitcoin/tree/lto_in_guix). Note that that build may fail for other reasons (on x86_64), unrelated to this change.

  Some related upstream discussion:
  https://bugs.gentoo.org/757681
  https://forums.gentoo.org/viewtopic-t-1013786.html

ACKs for top commit:
  hebasto:
    re-ACK e838a9847580527b8321d65e57b1c53cc2af6bf4, only [suggested](https://github.com/bitcoin/bitcoin/pull/25697#discussion_r929735675) changes since my recent [review](https://github.com/bitcoin/bitcoin/pull/25697#pullrequestreview-1050657421).
  jarolrod:
    code review ACK e838a9847580527b8321d65e57b1c53cc2af6bf4

Tree-SHA512: 9dbf64c9bd1fd995a4d1addc011ffeff83d50df736030012346c97605e63aed4b5bac390a81abe646c1be28ad6fd600f64560dcb26bbc2edf5d513ca3b180bfa
2024-02-28 13:16:40 -06:00
..
backtrace.mk Partial Merge #15844: depends: Purge libtool archives 2022-05-17 12:57:47 -04:00
bdb.mk Merge bitcoin/bitcoin#23955: build: add support for NetBSD in depends 2023-12-26 22:26:21 -06:00
boost.mk Merge #21064: refactor: use std::shared_mutex & remove Boost Thread 2024-01-16 09:29:52 -06:00
capnp.mk Merge bitcoin/bitcoin#24240: depends: fix capnp's descriptor for make download 2024-01-19 11:02:21 -06:00
expat.mk Merge bitcoin/bitcoin#25697: depends: expat 2.4.8 & fix building with -flto 2024-02-28 13:16:40 -06:00
fontconfig.mk Merge bitcoin/bitcoin#22783: build: Cleanup depends build system 2022-06-27 11:37:03 -05:00
freetype.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
gmp.mk Partial Merge #15844: depends: Purge libtool archives 2022-05-17 12:57:47 -04:00
libevent.mk Merge bitcoin/bitcoin#24526: build: don't install deprecated libevent headers 2024-01-01 17:48:17 -06:00
libmultiprocess.mk Merge bitcoin/bitcoin#25046: build: Fix libmultiprocess cross-compiling to Linux hosts 2024-02-22 20:58:43 -06:00
libnatpmp.mk merge bitcoin#21209: use newer source for libnatpmp 2022-02-26 17:49:13 +05:30
libXau.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_image.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_keysyms.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_render.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_wm.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util.mk merge bitcoin#23675: Post-pr23489 small cleanups 2023-08-08 06:05:02 -05:00
libxcb.mk Merge bitcoin/bitcoin#23977: depends: Fix typo 2023-12-26 22:26:20 -06:00
libxkbcommon.mk Merge bitcoin/bitcoin#25436: build: GCC-12 build improvements 2022-11-02 10:24:45 -05:00
miniupnpc.mk merge bitcoin#25964: fix mingw miniupnpc cflags 2023-01-18 19:02:39 -06:00
native_b2.mk merge bitcoin#19764: Split boost into build/host packages + bump + cleanup 2021-08-28 00:42:09 +05:30
native_capnp.mk Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
native_cctools.mk merge bitcoin#25633: don't restrict --enable-lto to non-guix cctools 2023-06-29 12:31:03 -05:00
native_clang.mk merge bitcoin#25633: don't restrict --enable-lto to non-guix cctools 2023-06-29 12:31:03 -05:00
native_ds_store.mk Merge bitcoin/bitcoin#25605: depends: update urls for dmg tools 2024-02-28 13:16:40 -06:00
native_libdmg-hfsplus.mk Merge #19685: depends: CMake invocation cleanup 2024-01-16 09:34:27 -06:00
native_libmultiprocess.mk Merge bitcoin/bitcoin#24754: build: specify cmake build dir for multiprocess depends build 2024-02-22 20:58:43 -06:00
native_libtapi.mk merge bitcoin#25633: don't restrict --enable-lto to non-guix cctools 2023-06-29 12:31:03 -05:00
native_mac_alias.mk Merge bitcoin/bitcoin#25605: depends: update urls for dmg tools 2024-02-28 13:16:40 -06:00
packages.mk Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
qrencode.mk Merge #16949: build: only pass --disable-dependency-tracking to packages that understand it 2022-06-18 17:19:48 +05:30
qt.mk Merge bitcoin/bitcoin#28561: build: Update qt package up to 5.15.10 2023-12-07 09:14:57 -06:00
sqlite.mk Merge bitcoin/bitcoin#23955: build: add support for NetBSD in depends 2023-12-26 22:26:21 -06:00
xcb_proto.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
xproto.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
zeromq.mk Merge bitcoin/bitcoin#24134: build: Fix zeromq package when cross-compiling 2024-01-13 19:32:29 -06:00