Minor refactoring of the way dependency packages are iterated for shellHook and buildInputs.
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
This commit is contained in:
parent
90d517adf6
commit
b542c7de26
|
@ -23,6 +23,9 @@ with pkgs;
|
|||
python27 # for e.g. gyp
|
||||
yarn'
|
||||
] ++ (builtins.attrValues nodeInputs);
|
||||
selectedSources =
|
||||
lib.optional platform.targetDesktop statusDesktop ++
|
||||
lib.optional platform.targetMobile statusMobile;
|
||||
|
||||
in _stdenv.mkDerivation rec {
|
||||
name = "status-react-build-env";
|
||||
|
@ -36,9 +39,6 @@ with pkgs;
|
|||
++ lib.optional isDarwin cocoapods
|
||||
++ lib.optional (isDarwin && !platform.targetIOS) clang
|
||||
++ lib.optional (!isDarwin) gcc7
|
||||
++ lib.optionals platform.targetDesktop statusDesktop.buildInputs
|
||||
++ lib.optionals platform.targetMobile statusMobile.buildInputs;
|
||||
shellHook =
|
||||
lib.optionalString platform.targetDesktop statusDesktop.shellHook +
|
||||
lib.optionalString platform.targetMobile statusMobile.shellHook;
|
||||
++ lib.catAttrs "buildInputs" selectedSources;
|
||||
shellHook = lib.concatStrings (lib.catAttrs "shellHook" selectedSources);
|
||||
}
|
||||
|
|
|
@ -10,6 +10,10 @@ let
|
|||
windowsPlatform = callPackage ./windows { };
|
||||
snoreNotifySources = callPackage ./cmake/snorenotify { };
|
||||
qtkeychainSources = callPackage ./cmake/qtkeychain { };
|
||||
selectedSources =
|
||||
lib.optional platform.targetLinux linuxPlatform ++
|
||||
lib.optional platform.targetDarwin darwinPlatform ++
|
||||
lib.optional platform.targetWindows windowsPlatform;
|
||||
|
||||
in
|
||||
{
|
||||
|
@ -19,19 +23,6 @@ in
|
|||
file
|
||||
snoreNotifySources
|
||||
qtkeychainSources
|
||||
] ++ lib.optionals platform.targetLinux linuxPlatform.buildInputs
|
||||
++ lib.optionals platform.targetDarwin darwinPlatform.buildInputs
|
||||
++ lib.optionals platform.targetWindows windowsPlatform.buildInputs
|
||||
++ lib.optional (! platform.targetWindows) qt5.full;
|
||||
shellHook =
|
||||
snoreNotifySources.shellHook +
|
||||
qtkeychainSources.shellHook +
|
||||
lib.optionalString (target-os != "windows") ''
|
||||
export QT_PATH="${qt5.full}"
|
||||
export QT_BASEBIN_PATH="${qt5.qtbase.bin}"
|
||||
export PATH="${qt5.full}/bin:$PATH"
|
||||
'' +
|
||||
lib.optionalString platform.targetLinux linuxPlatform.shellHook +
|
||||
lib.optionalString platform.targetDarwin darwinPlatform.shellHook +
|
||||
lib.optionalString platform.targetWindows windowsPlatform.shellHook;
|
||||
] ++ lib.catAttrs "buildInputs" selectedSources;
|
||||
shellHook = lib.concatStrings (lib.catAttrs "shellHook" (selectedSources ++ [ snoreNotifySources qtkeychainSources ]));
|
||||
}
|
||||
|
|
|
@ -16,9 +16,14 @@ in {
|
|||
linuxdeployqt
|
||||
patchelf
|
||||
baseImage
|
||||
] ++ status-go.packages;
|
||||
qt5.full
|
||||
] ++ status-go.buildInputs;
|
||||
|
||||
shellHook =
|
||||
baseImage.shellHook +
|
||||
status-go.shellHook;
|
||||
status-go.shellHook + ''
|
||||
export QT_PATH="${qt5.full}"
|
||||
export QT_BASEBIN_PATH="${qt5.qtbase.bin}"
|
||||
export PATH="${qt5.full}/bin:$PATH"
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -12,7 +12,8 @@ let
|
|||
in
|
||||
{
|
||||
buildInputs = [
|
||||
baseImage status-go.packages
|
||||
baseImage status-go.buildInputs
|
||||
qt5.full
|
||||
AppKit Cocoa darwin.cf-private Foundation OpenGL
|
||||
];
|
||||
|
||||
|
@ -20,5 +21,8 @@ in
|
|||
baseImage.shellHook +
|
||||
status-go.shellHook + ''
|
||||
export NIX_TARGET_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_TARGET_LDFLAGS"
|
||||
export QT_PATH="${qt5.full}"
|
||||
export QT_BASEBIN_PATH="${qt5.qtbase.bin}"
|
||||
export PATH="${qt5.full}/bin:$PATH"
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, stdenv, pkgs, target-os ? "all", status-go }:
|
||||
{ config, stdenv, pkgs, target-os, status-go }:
|
||||
|
||||
with pkgs;
|
||||
with stdenv;
|
||||
|
@ -10,18 +10,19 @@ let
|
|||
version = "10.1";
|
||||
};
|
||||
xcodeWrapper = xcodeenv.composeXcodeWrapper xcodewrapperArgs;
|
||||
android = callPackage ./android.nix { inherit config; };
|
||||
androidPlatform = callPackage ./android.nix { inherit config; };
|
||||
selectedSources =
|
||||
[ status-go ] ++
|
||||
lib.optional platform.targetAndroid androidPlatform;
|
||||
|
||||
in
|
||||
{
|
||||
inherit (android) androidComposition;
|
||||
inherit (androidPlatform) androidComposition;
|
||||
inherit xcodewrapperArgs;
|
||||
|
||||
buildInputs =
|
||||
status-go.packages ++
|
||||
lib.optionals platform.targetAndroid android.buildInputs ++
|
||||
status-go.buildInputs ++
|
||||
lib.catAttrs "buildInputs" selectedSources ++
|
||||
lib.optional (platform.targetIOS && isDarwin) xcodeWrapper;
|
||||
shellHook =
|
||||
status-go.shellHook +
|
||||
lib.optionalString platform.targetAndroid android.shellHook;
|
||||
shellHook = lib.concatStrings (lib.catAttrs "shellHook" selectedSources);
|
||||
}
|
||||
|
|
|
@ -71,14 +71,14 @@ let
|
|||
});
|
||||
};
|
||||
|
||||
packages = if target-os == "android" then [ status-go-packages.android ] else
|
||||
if target-os == "ios" then [ status-go-packages.ios ] else
|
||||
if target-os == "all" then currentHostConfig.allTargets else
|
||||
if platform.targetDesktop then [ status-go-packages.desktop ] else
|
||||
throw "Unexpected target platform ${target-os}";
|
||||
buildInputs = if target-os == "android" then [ status-go-packages.android ] else
|
||||
if target-os == "ios" then [ status-go-packages.ios ] else
|
||||
if target-os == "all" then currentHostConfig.allTargets else
|
||||
if platform.targetDesktop then [ status-go-packages.desktop ] else
|
||||
throw "Unexpected target platform ${target-os}";
|
||||
|
||||
in {
|
||||
inherit packages;
|
||||
inherit buildInputs;
|
||||
|
||||
shellHook =
|
||||
lib.optionalString platform.targetIOS ''
|
||||
|
|
25
shell.nix
25
shell.nix
|
@ -33,20 +33,19 @@ in mkShell' {
|
|||
] ++
|
||||
(if useFastlanePkg then [ fastlane' ] else lib.optionals platform.targetMobile [ bundler ruby ]); # bundler/ruby used for fastlane on macOS
|
||||
inputsFrom = [ projectDeps ];
|
||||
TARGET_OS=target-os;
|
||||
shellHook =
|
||||
''
|
||||
set -e
|
||||
TARGET_OS = target-os;
|
||||
shellHook = ''
|
||||
set -e
|
||||
|
||||
STATUS_REACT_HOME=$(git rev-parse --show-toplevel)
|
||||
STATUS_REACT_HOME=$(git rev-parse --show-toplevel)
|
||||
|
||||
${projectDeps.shellHook}
|
||||
${lib.optionalString useFastlanePkg fastlane'.shellHook}
|
||||
${projectDeps.shellHook}
|
||||
${lib.optionalString useFastlanePkg fastlane'.shellHook}
|
||||
|
||||
if [ "$IN_NIX_SHELL" != 'pure' ] && [ ! -f $STATUS_REACT_HOME/.ran-setup ]; then
|
||||
$STATUS_REACT_HOME/scripts/setup
|
||||
touch $STATUS_REACT_HOME/.ran-setup
|
||||
fi
|
||||
set +e
|
||||
'';
|
||||
if [ "$IN_NIX_SHELL" != 'pure' ] && [ ! -f $STATUS_REACT_HOME/.ran-setup ]; then
|
||||
$STATUS_REACT_HOME/scripts/setup
|
||||
touch $STATUS_REACT_HOME/.ran-setup
|
||||
fi
|
||||
set +e
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue