46 lines
1.3 KiB
Nix
46 lines
1.3 KiB
Nix
{ lib, callPackage, mkShell }:
|
|
|
|
let
|
|
inherit (lib) getEnvWithDefault attrValues mapAttrs;
|
|
|
|
# Metadata common to all builds of status-go
|
|
meta = {
|
|
description = "The Status Go module that consumes go-ethereum.";
|
|
license = lib.licenses.mpl20;
|
|
platforms = with lib.platforms; linux ++ darwin;
|
|
};
|
|
|
|
# Source can be changed with a local override from config
|
|
source = callPackage ./source.nix { };
|
|
|
|
# Params to be set at build time, important for About section and metrics
|
|
goBuildParams = {
|
|
GitCommit = source.rev;
|
|
Version = source.cleanVersion;
|
|
# FIXME: This should be moved to status-go config.
|
|
IpfsGatewayURL = getEnvWithDefault "STATUS_GO_IPFS_GATEWAY_URL" "https://ipfs.status.im/";
|
|
};
|
|
|
|
# These are necessary for status-go to show correct version
|
|
paramsLdFlags = attrValues (mapAttrs (name: value:
|
|
"-X github.com/status-im/status-go/params.${name}=${value}"
|
|
) goBuildParams);
|
|
|
|
goBuildLdFlags = paramsLdFlags ++ [
|
|
"-s" # -s disabled symbol table
|
|
"-w" # -w disables DWARF debugging information
|
|
];
|
|
in rec {
|
|
mobile = callPackage ./mobile {
|
|
inherit meta source goBuildLdFlags;
|
|
};
|
|
|
|
library = callPackage ./library {
|
|
inherit meta source;
|
|
};
|
|
|
|
shell = mkShell {
|
|
inputsFrom = [ mobile.android mobile.ios ];
|
|
};
|
|
}
|