|
1 | 1 | using BinaryBuilder |
2 | 2 |
|
3 | 3 | name = "Zstd" |
4 | | -upstream_version = v"1.5.6" |
5 | | -version = v"1.5.7" # need to change version to change compat bounds, but in the future we can go back to follow upstream |
| 4 | +version = v"1.5.7" |
6 | 5 |
|
7 | 6 | sources = [ |
8 | | - ArchiveSource("https://github.com/facebook/zstd/releases/download/v$(upstream_version)/zstd-$(upstream_version).tar.gz", |
9 | | - "8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1"), |
| 7 | + ArchiveSource("https://github.com/facebook/zstd/releases/download/v$(version)/zstd-$(version).tar.gz", |
| 8 | + "eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3"), |
| 9 | + DirectorySource("bundled"), |
10 | 10 | ] |
11 | 11 |
|
12 | 12 | script = raw""" |
13 | 13 | cd ${WORKSPACE}/srcdir/zstd-* |
| 14 | +
|
| 15 | +# zstd uses `qsort_r` which is not available from musl <https://github.com/facebook/zstd/issues/4311>. |
| 16 | +atomic_patch -p1 $WORKSPACE/srcdir/patches/qsort_r.patch |
| 17 | +
|
14 | 18 | mkdir build-zstd && cd build-zstd |
15 | 19 |
|
16 | 20 | if [[ "${target}" == *86*-linux-gnu ]]; then |
17 | 21 | # Using `clock_gettime` on old Glibc requires linking to `librt`. |
18 | 22 | sed -ri "s/^c_link_args = \[(.*)\]/c_link_args = [\1, '-lrt']/" ${MESON_TARGET_TOOLCHAIN} |
| 23 | +elif [[ "${target}" == *musl* ]]; then |
| 24 | + # Define `__MUSL__` for the patch `qsort_r.patch` |
| 25 | + sed -ri "s/^c_args = \[(.*)\]/c_args = [\1, '-D__MUSL__']/" ${MESON_TARGET_TOOLCHAIN} |
19 | 26 | elif [[ "${target}" == i686-*-mingw* ]]; then |
20 | 27 | # Using `WakeConditionVariable`/`InitializeConditionVariable`/`SleepConditionVariableCS` |
21 | 28 | # require Windows Vista: |
@@ -46,5 +53,3 @@ dependencies = Dependency[] |
46 | 53 |
|
47 | 54 | build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; |
48 | 55 | clang_use_lld=false, julia_compat="1.6") |
49 | | - |
50 | | -# Build Trigger: 2 |
|
0 commit comments