Fix integration tests for MacOS (#20248)
With go 1.20 its necessary to pass `lresolv` flag when building c-archives and `netgo` for networking on MacOS. This was the primary reason why integration tests were failing. ref -> https://github.com/golang/go/issues/58416 -> https://github.com/golang/go/issues/58159 This commit adds those flags to the derivation which builds status-go-library for integration tests and fixes the missing symbol crash.
This commit is contained in:
parent
139bd8feea
commit
7613de74ae
|
@ -1,9 +1,6 @@
|
||||||
{ stdenv, meta, source, buildGo119Package, buildGo120Package }:
|
{ lib, stdenv, meta, source, buildGoPackage }:
|
||||||
let
|
|
||||||
# https://github.com/status-im/status-mobile/issues/19802
|
buildGoPackage {
|
||||||
# only for Darwin to fix Integration Tests failing with missing symbols on go 1.20
|
|
||||||
buildGoPackageIntegrationTest = if stdenv.isDarwin then buildGo119Package else buildGo120Package;
|
|
||||||
in buildGoPackageIntegrationTest {
|
|
||||||
pname = source.repo;
|
pname = source.repo;
|
||||||
version = "${source.cleanVersion}-${source.shortRev}";
|
version = "${source.cleanVersion}-${source.shortRev}";
|
||||||
|
|
||||||
|
@ -25,11 +22,14 @@ in buildGoPackageIntegrationTest {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Build the Go library
|
# Build the Go library
|
||||||
|
# ld flags and netgo tag are necessary for integration tests to work on MacOS
|
||||||
|
# https://github.com/status-im/status-mobile/issues/20135
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
go build \
|
go build \
|
||||||
-buildmode='c-archive' \
|
-buildmode='c-archive' \
|
||||||
-tags='gowaku_skip_migrations gowaku_no_rln' \
|
${lib.optionalString stdenv.isDarwin "-ldflags=-extldflags=-lresolv"} \
|
||||||
|
-tags='gowaku_skip_migrations gowaku_no_rln ${lib.optionalString stdenv.isDarwin "netgo"}' \
|
||||||
-o "$out/libstatus.a" \
|
-o "$out/libstatus.a" \
|
||||||
$NIX_BUILD_TOP/main.go
|
$NIX_BUILD_TOP/main.go
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
|
|
Loading…
Reference in New Issue