From 76aceab8b2d70d433daf185b8bd1c5c212143dc6 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 10 Aug 2023 18:12:41 +0200 Subject: [PATCH 1/6] [DDW-1227] Fix out-of-memory errors on ci.iog.io --- flake.nix | 12 +-- nix/{internal/old-shell.nix => devshells.nix} | 80 ++++++++-------- nix/internal.nix | 4 +- nix/internal/any-darwin.nix | 58 ++++++------ nix/internal/new-common.nix | 92 ++++++++++++++++++- nix/internal/old-default.nix | 85 ----------------- nix/internal/x86_64-linux.nix | 70 +++++++------- nix/internal/x86_64-windows.nix | 82 +++++++++-------- nix/packages.nix | 8 +- 9 files changed, 242 insertions(+), 249 deletions(-) rename nix/{internal/old-shell.nix => devshells.nix} (66%) delete mode 100644 nix/internal/old-default.nix diff --git a/flake.nix b/flake.nix index 3e59972719..ee884661a3 100644 --- a/flake.nix +++ b/flake.nix @@ -25,12 +25,8 @@ import ./nix/packages.nix { inherit inputs buildSystem; } ); - devShells = lib.genAttrs supportedSystems ( - system: let - all = lib.genAttrs inputs.self.internal.installerClusters ( - cluster: import ./nix/internal/old-shell.nix { inherit inputs system cluster; } - ); - in all // { default = all.mainnet; } + devShells = lib.genAttrs supportedSystems (targetSystem: + import ./nix/devshells.nix { inherit inputs targetSystem; } ); # Compatibility with older Nix: @@ -39,9 +35,7 @@ hydraJobs = { installer = lib.genAttrs (supportedSystems ++ ["x86_64-windows"]) ( - targetSystem: lib.genAttrs inputs.self.internal.installerClusters ( - cluster: inputs.self.internal.${targetSystem}.${cluster}.unsignedInstaller - ) + targetSystem: inputs.self.internal.${targetSystem}.unsignedInstaller ); devshell = lib.genAttrs supportedSystems (system: inputs.self.devShells.${system}.default); required = inputs.nixpkgs.legacyPackages.x86_64-linux.releaseTools.aggregate { diff --git a/nix/internal/old-shell.nix b/nix/devshells.nix similarity index 66% rename from nix/internal/old-shell.nix rename to nix/devshells.nix index 67e4cdae9d..953225f6fc 100644 --- a/nix/internal/old-shell.nix +++ b/nix/devshells.nix @@ -1,45 +1,38 @@ -{ system -, inputs -, cluster ? "selfnode" +{ inputs +, targetSystem }: let - internal = inputs.self.internal.${system}.${cluster}; - pkgs = internal.newCommon.pkgs; - - daedalusPkgs = import ./old-default.nix { - inherit inputs cluster; - target = system; - devShell = true; - }; - - regenerateDevCerts = let - moddedConfig = pkgs.writeText "launcher-config.yaml" (builtins.toJSON ( - daedalusPkgs.launcherConfigs.launcherConfig - // { - daedalusBin = "true"; - } - )); - in - pkgs.writeShellScriptBin "regenerate-dev-certs" '' - ${daedalusPkgs.daedalus-bridge}/bin/cardano-launcher --config ${moddedConfig} - ''; - - gcRoot = pkgs.runCommandLocal "gc-root" { - inherit daedalusShell; - cardanoWalletsHaskellNix = daedalusPkgs.walletFlake.outputs.legacyPackages.${system}.roots; - daedalusInstallerInputs = with daedalusPkgs.daedalus-installer; buildInputs ++ nativeBuildInputs; - # cardano-bridge inputs are GC’d, and rebuilt too often on Apple M1 CI: - cardanoBridgeInputs = builtins.map (attr: if daedalusPkgs ? ${attr} && pkgs.lib.isDerivation daedalusPkgs.${attr} then daedalusPkgs.${attr} else null) (builtins.attrNames (builtins.functionArgs (import ./cardano-bridge.nix))); - } "export >$out"; - - daedalusShell = pkgs.stdenv.mkDerivation (rec { + internal = inputs.self.internal.${targetSystem}; + inherit (internal) newCommon; + inherit (newCommon) pkgs; + + devShells = pkgs.lib.genAttrs inputs.self.internal.installerClusters (cluster: let + + launcherConfigs = newCommon.mkLauncherConfigs { + inherit cluster; + devShell = true; + }; + + regenerateDevCerts = let + moddedConfig = pkgs.writeText "launcher-config.yaml" (builtins.toJSON ( + launcherConfigs.launcherConfig + // { + daedalusBin = "true"; + } + )); + in + pkgs.writeShellScriptBin "regenerate-dev-certs" '' + ${newCommon.daedalus-bridge.${cluster}}/bin/cardano-launcher --config ${moddedConfig} + ''; + + in pkgs.stdenv.mkDerivation (rec { buildInputs = [ internal.newCommon.nodejs internal.newCommon.yarn - daedalusPkgs.daedalus-bridge - daedalusPkgs.daedalus-installer - daedalusPkgs.mock-token-metadata-server + newCommon.daedalus-bridge.${cluster} + newCommon.daedalus-installer + newCommon.mock-token-metadata-server regenerateDevCerts ] ++ (with pkgs; [ nix bash binutils coreutils curl gnutar @@ -61,11 +54,11 @@ let name = "daedalus"; buildCommand = "touch $out"; LAUNCHER_CONFIG = DAEDALUS_CONFIG + "/launcher-config.yaml"; - CARDANO_NODE_VERSION = daedalusPkgs.cardanoNodeVersion; - CARDANO_WALLET_VERSION = daedalusPkgs.cardanoWalletVersion; + CARDANO_NODE_VERSION = newCommon.cardanoNodeVersion; + CARDANO_WALLET_VERSION = newCommon.cardanoWalletVersion; DAEDALUS_CONFIG = pkgs.runCommand "daedalus-config" {} '' mkdir -pv $out - cp ${pkgs.writeText "launcher-config.yaml" (builtins.toJSON daedalusPkgs.launcherConfigs.launcherConfig)} $out/launcher-config.yaml + cp ${pkgs.writeText "launcher-config.yaml" (builtins.toJSON launcherConfigs.launcherConfig)} $out/launcher-config.yaml ''; DAEDALUS_INSTALL_DIRECTORY = "./"; DAEDALUS_DIR = DAEDALUS_INSTALL_DIRECTORY; @@ -89,7 +82,7 @@ let source <(cardano-address --bash-completion-script cardano-address) [[ $(type -P cardano-wallet) ]] && source <(cardano-wallet --bash-completion-script cardano-wallet) - cp -f ${daedalusPkgs.launcherConfigs.installerConfig.iconPath.small} $DAEDALUS_INSTALL_DIRECTORY/icon.png + cp -f ${launcherConfigs.installerConfig.iconPath.small} $DAEDALUS_INSTALL_DIRECTORY/icon.png # These links will only occur to binaries that exist for the # specific build config @@ -123,7 +116,7 @@ let echo 'Resolving environment variables to absolute paths…' # XXX: they originally contain references to HOME or XDG_DATA_HOME in launcher-config.yaml: - export CARDANO_WALLET_TLS_PATH="${daedalusPkgs.launcherConfigs.launcherConfig.tlsPath}" + export CARDANO_WALLET_TLS_PATH="${launcherConfigs.launcherConfig.tlsPath}" echo 'Re-generating dev certificates for ‘cardano-wallet’…' mkdir -p "$CARDANO_WALLET_TLS_PATH" @@ -132,5 +125,6 @@ let echo echo 'Now, run ‘yarn dev’.' ''; - }); -in daedalusShell // { inherit gcRoot; } + })); + +in devShells // { default = devShells.mainnet; } diff --git a/nix/internal.nix b/nix/internal.nix index f619642343..38dc5ad3e2 100644 --- a/nix/internal.nix +++ b/nix/internal.nix @@ -5,9 +5,7 @@ let inherit (import ./internal/source-lib.nix { inherit inputs; }) installerClusters; in -(__mapAttrs (targetSystem: src: lib.genAttrs installerClusters (cluster: import src { - inherit inputs targetSystem cluster; -})) { +(__mapAttrs (targetSystem: src: import src { inherit inputs targetSystem; }) { x86_64-linux = ./internal/x86_64-linux.nix; x86_64-windows = ./internal/x86_64-windows.nix; x86_64-darwin = ./internal/any-darwin.nix; diff --git a/nix/internal/any-darwin.nix b/nix/internal/any-darwin.nix index 7510244409..e7d0d37949 100644 --- a/nix/internal/any-darwin.nix +++ b/nix/internal/any-darwin.nix @@ -1,15 +1,15 @@ -{ inputs, targetSystem, cluster }: +{ inputs, targetSystem }: assert targetSystem == "x86_64-darwin" || targetSystem == "aarch64-darwin"; let - newCommon = import ./new-common.nix { inherit inputs targetSystem cluster; }; + newCommon = import ./new-common.nix { inherit inputs targetSystem; }; - inherit (newCommon) sourceLib oldCode pkgs; + inherit (newCommon) sourceLib pkgs; inherit (pkgs) lib; - inherit (oldCode) + inherit (newCommon) daedalus-bridge daedalus-installer launcherConfigs mock-token-metadata-server cardanoNodeVersion cardanoWalletVersion; @@ -17,11 +17,13 @@ let archSuffix = if pkgs.system == "aarch64-darwin" then "arm64" else "x64"; packageVersion = originalPackageJson.version; - installerName = "daedalus-${packageVersion}-${toString sourceLib.buildCounter}-${cluster}-${sourceLib.buildRevShort}-${pkgs.system}"; + installerName = cluster: "daedalus-${packageVersion}-${toString sourceLib.buildCounter}-${cluster}-${sourceLib.buildRevShort}-${pkgs.system}"; + + genClusters = lib.genAttrs sourceLib.installerClusters; in rec { - inherit newCommon oldCode; + inherit newCommon; inherit (newCommon) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix; # The following is used in all `configurePhase`s: @@ -103,7 +105,7 @@ in rec { darwin-launcher = pkgs.callPackage ./darwin-launcher.nix {}; - package = let + package = genClusters (cluster: let pname = "daedalus"; in pkgs.stdenv.mkDerivation { name = pname; @@ -115,7 +117,7 @@ in rec { apple_sdk.frameworks.AppKit libobjc ]) ++ [ - daedalus-bridge + daedalus-bridge.${cluster} darwin-launcher mock-token-metadata-server ]; @@ -138,12 +140,12 @@ in rec { export DEVX_FIXME_DONT_YARN_INSTALL=1 ( cd installers/ - cp -r ${launcherConfigs.configFiles}/. ./. + cp -r ${launcherConfigs.${cluster}.configFiles}/. ./. # make-installer needs to see `bin/nix-store` to break all references to dylibs inside /nix/store: export PATH="${lib.makeBinPath [ pkgs.nixUnstable ]}:$PATH" - make-installer --cardano ${daedalus-bridge} \ + make-installer --cardano ${daedalus-bridge.${cluster}} \ --build-rev-short ${sourceLib.buildRevShort} \ --build-counter ${toString sourceLib.buildCounter} \ --cluster ${cluster} \ @@ -153,7 +155,7 @@ in rec { ''; installPhase = '' mkdir -p $out/Applications/ - cp -r release/darwin-${archSuffix}/${lib.escapeShellArg launcherConfigs.installerConfig.spacedName}-darwin-${archSuffix}/${lib.escapeShellArg launcherConfigs.installerConfig.spacedName}.app $out/Applications/ + cp -r release/darwin-${archSuffix}/${lib.escapeShellArg launcherConfigs.${cluster}.installerConfig.spacedName}-darwin-${archSuffix}/${lib.escapeShellArg launcherConfigs.${cluster}.installerConfig.spacedName}.app $out/Applications/ # XXX: remove redundant native modules, and point bindings.js to Contents/MacOS/*.node instead: echo 'Deleting all redundant ‘*.node’ files under to-be-distributed ‘node_modules/’:' @@ -169,7 +171,7 @@ in rec { mkdir -p $out/bin/ cat >$out/bin/${pname} << EOF #!/bin/sh - exec $out/Applications/${lib.escapeShellArg launcherConfigs.installerConfig.spacedName}.app/Contents/MacOS/${lib.escapeShellArg launcherConfigs.installerConfig.spacedName} + exec $out/Applications/${lib.escapeShellArg launcherConfigs.${cluster}.installerConfig.spacedName}.app/Contents/MacOS/${lib.escapeShellArg launcherConfigs.${cluster}.installerConfig.spacedName} EOF chmod +x $out/bin/${pname} @@ -181,13 +183,13 @@ in rec { ${signAllBinaries} $out ''; dontFixup = true; # TODO: just to shave some seconds, turn back on after everything works - }; + }); - unsignedInstaller = pkgs.stdenv.mkDerivation { + unsignedInstaller = genClusters (cluster: pkgs.stdenv.mkDerivation { name = "daedalus-unsigned-darwin-installer"; dontUnpack = true; buildPhase = '' - ${makeSignedInstaller}/bin/* | tee make-installer.log + ${makeSignedInstaller.${cluster}}/bin/* | tee make-installer.log ''; installPhase = '' mkdir -p $out @@ -197,9 +199,9 @@ in rec { mkdir -p $out/nix-support echo "file binary-dist \"$(echo $out/*.pkg)\"" >$out/nix-support/hydra-build-products ''; - }; + }); - makeSignedInstaller = pkgs.writeShellScriptBin "make-signed-installer" (let + makeSignedInstaller = genClusters (cluster: pkgs.writeShellScriptBin "make-signed-installer" (let # FIXME: in the future this has to be done better, now let’s reuse the Buildkite legacy: credentials = "/var/lib/buildkite-agent/signing.sh"; @@ -230,8 +232,8 @@ in rec { eval $(${readConfigs}) workDir=$(mktemp -d) - appName=${lib.escapeShellArg launcherConfigs.installerConfig.spacedName}.app - appDir=${package}/Applications/"$appName" + appName=${lib.escapeShellArg launcherConfigs.${cluster}.installerConfig.spacedName}.app + appDir=${package.${cluster}}/Applications/"$appName" echo "Info: workDir = $workDir" cd "$workDir" @@ -242,20 +244,20 @@ in rec { if ${shallSignPredicate} ; then echo "Signing code…" - ${package.futureInstaller}/codesign.sh "$codeSigningIdentity" "$codeSigningKeyChain" \ - "$appName" ${package.futureInstaller}/entitlements.xml + ${package.${cluster}.futureInstaller}/codesign.sh "$codeSigningIdentity" "$codeSigningKeyChain" \ + "$appName" ${package.${cluster}.futureInstaller}/entitlements.xml fi echo "Making installer…" /usr/bin/pkgbuild \ - --identifier ${lib.escapeShellArg ("org." + launcherConfigs.installerConfig.macPackageName + ".pkg")} \ + --identifier ${lib.escapeShellArg ("org." + launcherConfigs.${cluster}.installerConfig.macPackageName + ".pkg")} \ --component "$workDir/$appName" \ --install-location /Applications \ - ${lib.escapeShellArg (installerName + ".phase1.pkg")} + ${lib.escapeShellArg ((installerName cluster) + ".phase1.pkg")} rm -r "$workDir/$appName" /usr/bin/productbuild --product ${../../installers/data/plist} \ --package *.phase1.pkg \ - ${lib.escapeShellArg (installerName + ".phase2.pkg")} + ${lib.escapeShellArg ((installerName cluster) + ".phase2.pkg")} rm *.phase1.pkg if ${shallSignPredicate} ; then @@ -269,14 +271,14 @@ in rec { productsign --sign "$signingIdentity" --keychain "$signingKeyChain" \ *.phase2.pkg \ - ${lib.escapeShellArg (installerName + ".pkg")} + ${lib.escapeShellArg ((installerName cluster) + ".pkg")} rm *.phase2.pkg else - mv *.phase2.pkg ${lib.escapeShellArg (installerName + ".pkg")} + mv *.phase2.pkg ${lib.escapeShellArg ((installerName cluster) + ".pkg")} fi echo "Done, you can submit it for notarization now:" - echo "$workDir"/${lib.escapeShellArg (installerName + ".pkg")} + echo "$workDir"/${lib.escapeShellArg ((installerName cluster) + ".pkg")} ''; in '' @@ -287,7 +289,7 @@ in rec { else exec ${packAndSign} fi - ''); + '')); darwinSources = { electron = pkgs.fetchurl { diff --git a/nix/internal/new-common.nix b/nix/internal/new-common.nix index 610749f889..7335447e24 100644 --- a/nix/internal/new-common.nix +++ b/nix/internal/new-common.nix @@ -1,18 +1,100 @@ # Things common between all OS-es, that build on all platforms. -{ inputs, targetSystem, cluster }: +{ inputs, targetSystem }: rec { sourceLib = import ./source-lib.nix { inherit inputs; }; - oldCode = import ./old-default.nix { + pkgs = let + # Windows can only be cross-built from Linux now + system = if targetSystem == "x86_64-windows" then "x86_64-linux" else targetSystem; + in + if targetSystem != "x86_64-linux" + then inputs.nixpkgs.legacyPackages.${system} + else import inputs.nixpkgs { + inherit system; + config.packageOverrides = super: { + # XXX: non-root users need to be able to use sd-device/device-monitor.c to detect Ledger: + # FIXME: find the correct (minimal) place to override this: + systemd = super.systemd.overrideAttrs (oldAttrs: { + patches = oldAttrs.patches ++ [./libsystemd--device-monitor.patch]; + }); + }; + }; + + walletFlake = (import inputs.flake-compat { + # FIXME: add patches in `flake.nix` after + src = pkgs.runCommand "cardano-wallet" {} '' + cp -r ${inputs.cardano-wallet-unpatched} $out + chmod -R +w $out + cd $out + patch -p1 -i ${./cardano-wallet--enable-aarch64-darwin.patch} + patch -p1 -i ${./cardano-wallet--expose-windowsPackages.patch} + patch -p1 -i ${./cardano-wallet--proper-runtimeNodePkgs.patch} + ''; + }).defaultNix // { + inherit (inputs.cardano-wallet-unpatched) rev shortRev sourceInfo; + }; + + walletPackages = { + x86_64-windows = walletFlake.packages.x86_64-linux.windowsPackages; + x86_64-linux = walletFlake.packages.x86_64-linux; + x86_64-darwin = walletFlake.packages.x86_64-darwin; + aarch64-darwin = walletFlake.packages.aarch64-darwin; + }.${targetSystem}; + + cardanoWorldFlake = (import inputs.flake-compat { src = inputs.cardano-world; }).defaultNix.outputs; + + inherit (walletFlake.legacyPackages.${pkgs.system}.pkgs) cardanoLib; + + daedalus-bridge = pkgs.lib.genAttrs sourceLib.installerClusters (cluster: import ./cardano-bridge.nix { target = targetSystem; - inherit inputs cluster; - devShell = false; + inherit (pkgs) lib runCommandCC darwin; + inherit cardano-wallet cardano-node cardano-shell cardano-cli cardano-address mock-token-metadata-server; + local-cluster = if cluster == "selfnode" then walletPackages.local-cluster else null; + }); + + inherit (walletPackages) cardano-node cardano-cli cardano-wallet cardano-address mock-token-metadata-server; + + cardano-shell = import inputs.cardano-shell { + inherit (pkgs) system; + crossSystem = { + x86_64-windows = pkgs.lib.systems.examples.mingwW64; + }.${targetSystem} or null; }; - inherit (oldCode) pkgs; + cardanoNodeVersion = cardano-node.version + "-" + builtins.substring 0 9 walletFlake.inputs.cardano-node-1_35_4.rev; + cardanoWalletVersion = daedalus-bridge.mainnet.wallet-version + "-" + builtins.substring 0 9 walletFlake.rev; + + mkLauncherConfigs = { devShell ? false, cluster }: import ./launcher-config.nix { + inherit devShell; + inherit cardanoLib cardanoWorldFlake; + inherit (pkgs) system runCommand lib; + network = cluster; + os = { + x86_64-windows = "windows"; + x86_64-linux = "linux"; + x86_64-darwin = "macos64"; + aarch64-darwin = "macos64-arm"; + }.${targetSystem}; + }; + + launcherConfigs = pkgs.lib.genAttrs sourceLib.installerClusters (cluster: mkLauncherConfigs { + devShell = false; + inherit cluster; + }); + + daedalus-installer = let + hsDaedalusPkgs = import ../../installers { + inherit pkgs daedalus-bridge; + inherit (pkgs) system; + }; + in pkgs.haskell.lib.justStaticExecutables hsDaedalusPkgs.daedalus-installer; + + tests = { + runShellcheck = import ../tests/shellcheck.nix { src = ../.;}; + }; originalPackageJson = builtins.fromJSON (builtins.readFile ../../package.json); diff --git a/nix/internal/old-default.nix b/nix/internal/old-default.nix deleted file mode 100644 index 371945438c..0000000000 --- a/nix/internal/old-default.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ target -, inputs -, cluster -, devShell -}: - -let - system = { - x86_64-windows = "x86_64-linux"; # Windows can only be cross-built from Linux now - }.${target} or target; - pkgs = - if target != "x86_64-linux" - then inputs.nixpkgs.legacyPackages.${system} - else import inputs.nixpkgs { - inherit system; - config.packageOverrides = super: { - # XXX: non-root users need to be able to use sd-device/device-monitor.c to detect Ledger: - # FIXME: find the correct (minimal) place to override this: - systemd = super.systemd.overrideAttrs (oldAttrs: { - patches = oldAttrs.patches ++ [./libsystemd--device-monitor.patch]; - }); - }; - }; - walletFlake = (import inputs.flake-compat { - # FIXME: add patches in `flake.nix` after - src = pkgs.runCommand "cardano-wallet" {} '' - cp -r ${inputs.cardano-wallet-unpatched} $out - chmod -R +w $out - cd $out - patch -p1 -i ${./cardano-wallet--enable-aarch64-darwin.patch} - patch -p1 -i ${./cardano-wallet--expose-windowsPackages.patch} - patch -p1 -i ${./cardano-wallet--proper-runtimeNodePkgs.patch} - ''; - }).defaultNix // { - inherit (inputs.cardano-wallet-unpatched) rev shortRev sourceInfo; - }; - walletPackages = { - x86_64-windows = walletFlake.packages.x86_64-linux.windowsPackages; - x86_64-linux = walletFlake.packages.x86_64-linux; - x86_64-darwin = walletFlake.packages.x86_64-darwin; - aarch64-darwin = walletFlake.packages.aarch64-darwin; - }.${target}; - cardanoWorldFlake = (import inputs.flake-compat { src = inputs.cardano-world; }).defaultNix.outputs; - crossSystem = { - x86_64-windows = pkgs.lib.systems.examples.mingwW64; - }.${target} or null; - ostable.x86_64-windows = "windows"; - ostable.x86_64-linux = "linux"; - ostable.x86_64-darwin = "macos64"; - ostable.aarch64-darwin = "macos64-arm"; - - packages = self: { - inherit walletFlake cardanoWorldFlake cluster pkgs target; - inherit (walletFlake.legacyPackages.${system}.pkgs) cardanoLib; - daedalus-bridge = self.callPackage ./cardano-bridge.nix {}; - - inherit (walletPackages) cardano-wallet; - inherit (walletPackages) cardano-address; - inherit (walletPackages) mock-token-metadata-server; - cardano-shell = import inputs.cardano-shell { inherit system crossSystem; }; - local-cluster = if cluster == "selfnode" then walletPackages.local-cluster else null; - cardano-node = walletPackages.cardano-node; - cardanoNodeVersion = self.cardano-node.version + "-" + builtins.substring 0 9 walletFlake.inputs.cardano-node-1_35_4.rev; - cardanoWalletVersion = self.daedalus-bridge.wallet-version + "-" + builtins.substring 0 9 walletFlake.rev; - cardano-cli = walletPackages.cardano-cli; - - launcherConfigs = self.callPackage ./launcher-config.nix { - inherit devShell system; - network = cluster; - os = ostable.${target}; - }; - - ## TODO: move to installers/nix - hsDaedalusPkgs = self.callPackage ../../installers { - inherit (self) daedalus-bridge; - inherit system; - }; - daedalus-installer = pkgs.haskell.lib.justStaticExecutables self.hsDaedalusPkgs.daedalus-installer; - - tests = { - runShellcheck = self.callPackage ../tests/shellcheck.nix { src = ../.;}; - }; - - }; -in pkgs.lib.makeScope pkgs.newScope packages diff --git a/nix/internal/x86_64-linux.nix b/nix/internal/x86_64-linux.nix index f09fe88940..8f8143cf2a 100644 --- a/nix/internal/x86_64-linux.nix +++ b/nix/internal/x86_64-linux.nix @@ -1,27 +1,30 @@ -{ inputs, targetSystem, cluster }: +{ inputs, targetSystem }: assert targetSystem == "x86_64-linux"; let - newCommon = import ./new-common.nix { inherit inputs targetSystem cluster; }; + newCommon = import ./new-common.nix { inherit inputs targetSystem; }; - inherit (newCommon) sourceLib oldCode pkgs commonSources; + inherit (newCommon) sourceLib pkgs commonSources; + inherit (sourceLib) installerClusters; inherit (pkgs) lib; + genClusters = lib.genAttrs installerClusters; + in rec { - inherit newCommon oldCode; + inherit newCommon; inherit (newCommon) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix electronVersion electronChromedriverVersion originalPackageJson; - package = mkDaedalus { sandboxed = false; }; + package = genClusters (cluster: mkDaedalus { sandboxed = false; inherit cluster; }); - unsignedInstaller = linuxInstaller.wrappedBundle; + unsignedInstaller = genClusters (cluster: linuxInstaller.${cluster}.wrappedBundle); - makeSignedInstaller = pkgs.writeShellScriptBin "make-signed-installer-stub" '' + makeSignedInstaller = genClusters (cluster: pkgs.writeShellScriptBin "make-signed-installer-stub" '' echo "We don’t sign native code for ‘${targetSystem}’, please, use unsigned ‘nix build .#installer-${cluster}’" exit 1 - ''; + ''); # FIXME: for Tullia/Cicero debugging, remove later: inherit (sourceLib) buildRev; @@ -81,16 +84,16 @@ in rec { dontFixup = true; # TODO: just to shave some seconds, turn back on after everything works }; - daedalusJs = pkgs.stdenv.mkDerivation { + daedalusJs = genClusters (cluster: pkgs.stdenv.mkDerivation { name = "daedalus-js"; src = srcWithoutNix; nativeBuildInputs = [ yarn nodejs ] ++ (with pkgs; [ python3 pkgconfig ]); buildInputs = with pkgs; [ libusb ]; - CARDANO_WALLET_VERSION = oldCode.cardanoWalletVersion; - CARDANO_NODE_VERSION = oldCode.cardanoNodeVersion; + CARDANO_WALLET_VERSION = newCommon.cardanoWalletVersion; + CARDANO_NODE_VERSION = newCommon.cardanoNodeVersion; CI = "nix"; - NETWORK = oldCode.launcherConfigs.launcherConfig.networkName; + NETWORK = newCommon.launcherConfigs.${cluster}.launcherConfig.networkName; BUILD_REV = sourceLib.buildRev; BUILD_REV_SHORT = sourceLib.buildRevShort; BUILD_COUNTER = sourceLib.buildCounter; @@ -103,7 +106,7 @@ in rec { ''; patchedPackageJson = pkgs.writeText "package.json" (builtins.toJSON ( pkgs.lib.recursiveUpdate originalPackageJson { - productName = oldCode.launcherConfigs.installerConfig.spacedName; + productName = newCommon.launcherConfigs.${cluster}.installerConfig.spacedName; main = "dist/main/index.js"; } )); @@ -114,7 +117,7 @@ in rec { sed -r 's#.*patchElectronRebuild.*#${newCommon.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh yarn build:electron - yarn run package -- --name ${lib.escapeShellArg oldCode.launcherConfigs.installerConfig.spacedName} + yarn run package -- --name ${lib.escapeShellArg newCommon.launcherConfigs.${cluster}.installerConfig.spacedName} ''; installPhase = '' mkdir -p $out/bin $out/share/daedalus @@ -171,7 +174,7 @@ in rec { done ''; dontFixup = true; # TODO: just to shave some seconds, turn back on after everything works - }; + }); electronBin = pkgs.stdenv.mkDerivation { name = "electron-${electronVersion}"; @@ -191,33 +194,35 @@ in rec { ''; }; - mkDaedalus = { sandboxed }: import ../../installers/nix/linux.nix { + mkDaedalus = { sandboxed, cluster }: import ../../installers/nix/linux.nix { inherit (pkgs) stdenv runCommand writeText writeScriptBin coreutils utillinux procps gsettings-desktop-schemas gtk3 hicolor-icon-theme xfce; - inherit (oldCode) daedalus-bridge daedalus-installer; + inherit (newCommon) daedalus-installer; + daedalus-bridge = newCommon.daedalus-bridge.${cluster}; inherit cluster sandboxed; - rawapp = daedalusJs; + rawapp = daedalusJs.${cluster}; electron = electronBin; # FIXME: ??? - inherit (oldCode) launcherConfigs; + launcherConfigs = newCommon.launcherConfigs.${cluster}; linuxClusterBinName = cluster; }; - linuxInstaller = rec { + # FIXME: why our own fork? + nix-bundle-src = pkgs.fetchFromGitHub { + owner = "input-output-hk"; repo = "nix-bundle"; + rev = "a43e9280628d6e7fcc2f89257106f5262d531bc7"; + sha256 = "10qgincrs8fjdl16mld6lzd69syhyzwx65lcbz4widnkdvhlwh3i"; + }; - installPath = ".daedalus"; + nix-bundle = import nix-bundle-src { nixpkgs = pkgs; }; - # FIXME: why our own fork? - nix-bundle-src = pkgs.fetchFromGitHub { - owner = "input-output-hk"; repo = "nix-bundle"; - rev = "a43e9280628d6e7fcc2f89257106f5262d531bc7"; - sha256 = "10qgincrs8fjdl16mld6lzd69syhyzwx65lcbz4widnkdvhlwh3i"; - }; + linuxInstaller = genClusters (cluster: rec { + + installPath = ".daedalus"; - nix-bundle = import nix-bundle-src { nixpkgs = pkgs; }; - iconPath = oldCode.launcherConfigs.installerConfig.iconPath; + iconPath = newCommon.launcherConfigs.${cluster}.installerConfig.iconPath; linuxClusterBinName = cluster; namespaceHelper = pkgs.writeScriptBin "namespaceHelper" '' @@ -292,12 +297,13 @@ in rec { newBundle = let daedalus' = mkDaedalus { sandboxed = true; }; + daedalus-bridge = newCommon.daedalus-bridge.${cluster}; in (import ../../installers/nix/nix-installer.nix { inherit postInstall preInstall linuxClusterBinName; - rawapp = daedalusJs; + rawapp = daedalusJs.${cluster}; inherit pkgs; installationSlug = installPath; - installedPackages = [ daedalus' postInstall namespaceHelper daedalus'.cfg oldCode.daedalus-bridge daedalus'.daedalus-frontend xdg-open ]; + installedPackages = [ daedalus' postInstall namespaceHelper daedalus'.cfg daedalus-bridge daedalus'.daedalus-frontend xdg-open ]; nix-bundle = nix-bundle; }).installerBundle; @@ -313,7 +319,7 @@ in rec { echo "file binary-dist \"$(echo $out/*.bin)\"" >$out/nix-support/hydra-build-products ''; - }; + }); linuxSources = { electron = pkgs.fetchurl { diff --git a/nix/internal/x86_64-windows.nix b/nix/internal/x86_64-windows.nix index fb79a17e13..411ff3ad9a 100644 --- a/nix/internal/x86_64-windows.nix +++ b/nix/internal/x86_64-windows.nix @@ -1,38 +1,40 @@ -{ inputs, targetSystem, cluster }: +{ inputs, targetSystem }: assert targetSystem == "x86_64-windows"; let - newCommon = import ./new-common.nix { inherit inputs targetSystem cluster; }; + newCommon = import ./new-common.nix { inherit inputs targetSystem; }; - inherit (newCommon) sourceLib oldCode pkgs srcWithoutNix yarn nodejs originalPackageJson commonSources electronVersion; + inherit (newCommon) sourceLib pkgs srcWithoutNix yarn nodejs originalPackageJson commonSources electronVersion; + inherit (sourceLib) installerClusters; inherit (pkgs) lib; - inherit (oldCode) launcherConfigs; + + genClusters = lib.genAttrs installerClusters; in rec { - inherit newCommon oldCode; + inherit newCommon; package = preSigning; # XXX: this is slightly wrong, as not all files are in their final relative paths # XXX: Please, use ‘nix run -L .#packages.x86_64-windows.makeSignedInstaller.mainnet’, # as the process cannot be done purely, as it requires passing files # through `ssh` at the HSM server - makeSignedInstaller = makeInstaller { signed = true; }; + makeSignedInstaller = genClusters (cluster: makeInstaller { signed = true; inherit cluster; }); - unsignedInstaller = pkgs.runCommand "win64-installer-${cluster}" {} '' - ${makeInstaller { signed = false; }}/bin/make-signed-installer + unsignedInstaller = genClusters (cluster: pkgs.runCommand "win64-installer-${cluster}" {} '' + ${makeInstaller { signed = false; inherit cluster; }}/bin/make-signed-installer mkdir $out cp -v installers/daedalus-*-*.exe $out/ # Make it downloadable from Hydra: mkdir -p $out/nix-support echo "file binary-dist \"$(echo $out/*.exe)\"" >$out/nix-support/hydra-build-products - ''; + ''); # They’re initially the same as Linux when cross-compiling for Windows: - node_modules = inputs.self.internal.x86_64-linux.${cluster}.node_modules; + node_modules = inputs.self.internal.x86_64-linux.node_modules; electron-cache = pkgs.runCommand "electron-cache" {} '' # newer style @@ -42,16 +44,16 @@ in rec { ln -s ${windowsSources.electron} $out/httpsgithub.comelectronelectronreleasesdownloadv${electronVersion}electron-v${electronVersion}-win32-x64.zip/electron-v${electronVersion}-win32-x64.zip ''; - daedalusJs = pkgs.stdenv.mkDerivation { + daedalusJs = genClusters (cluster: pkgs.stdenv.mkDerivation { name = "daedalus-js"; src = srcWithoutNix; nativeBuildInputs = [ yarn nodejs wine64 ] ++ (with pkgs; [ python3 pkgconfig unzip ]); buildInputs = with pkgs; [ libusb ]; - CARDANO_WALLET_VERSION = oldCode.cardanoWalletVersion; - CARDANO_NODE_VERSION = oldCode.cardanoNodeVersion; + CARDANO_WALLET_VERSION = newCommon.cardanoWalletVersion; + CARDANO_NODE_VERSION = newCommon.cardanoNodeVersion; CI = "nix"; - NETWORK = launcherConfigs.launcherConfig.networkName; + NETWORK = newCommon.launcherConfigs.${cluster}.launcherConfig.networkName; BUILD_REV = sourceLib.buildRev; BUILD_REV_SHORT = sourceLib.buildRevShort; BUILD_COUNTER = sourceLib.buildCounter; @@ -64,7 +66,7 @@ in rec { ''; patchedPackageJson = pkgs.writeText "package.json" (builtins.toJSON ( pkgs.lib.recursiveUpdate originalPackageJson { - productName = launcherConfigs.installerConfig.spacedName; + productName = newCommon.launcherConfigs.${cluster}.installerConfig.spacedName; } )); buildPhase = '' @@ -77,12 +79,12 @@ in rec { cp $patchedPackageJson package.json rm -r installers/icons/ - cp -r ${windowsIcons} installers/icons + cp -r ${windowsIcons.${cluster}} installers/icons chmod -R +w installers/icons # TODO: why are the following 2 lines needed? mkdir -p installers/icons/${cluster}/${cluster} - cp ${windowsIcons}/${cluster}/* installers/icons/${cluster}/${cluster}/ + cp ${windowsIcons.${cluster}}/${cluster}/* installers/icons/${cluster}/${cluster}/ export DEBUG=electron-packager yarn --verbose --offline package --win64 --dir $(pwd) --icon installers/icons/${cluster}/${cluster} @@ -126,7 +128,7 @@ in rec { ) ''; dontFixup = true; # TODO: just to shave some seconds, turn back on after everything works - }; + }); fresherPkgs = import (pkgs.fetchFromGitHub { owner = "NixOS"; repo = "nixpkgs"; @@ -412,7 +414,7 @@ in rec { }; }; - windowsIcons = let + windowsIcons = genClusters (cluster: let buildInputs = with pkgs; [ imagemagick ]; # Allow fallback to `mainnet` if cluster’s icons don’t exist: srcCluster = if builtins.pathExists (../../installers/icons + "/${cluster}") then cluster else "mainnet"; @@ -428,17 +430,17 @@ in rec { convert "$f" "''${f%.png}.ico" done convert 16x16.png 24x24.png 32x32.png 48x48.png 64x64.png 128x128.png 256x256.png ${cluster}.ico - ''; + ''); - nsisFiles = pkgs.runCommand "nsis-files" { - buildInputs = [ oldCode.daedalus-installer pkgs.glibcLocales ]; + nsisFiles = genClusters (cluster: pkgs.runCommand "nsis-files" { + buildInputs = [ newCommon.daedalus-installer pkgs.glibcLocales ]; } '' mkdir installers cp -vir ${../../package.json} package.json cd installers export LANG=en_US.UTF-8 - cp -v ${launcherConfigs.configFiles}/* . + cp -v ${newCommon.launcherConfigs.${cluster}.configFiles}/* . make-installer --cardano dummy \ --os win64 \ -o $out \ @@ -449,9 +451,9 @@ in rec { mkdir $out cp -v daedalus.nsi uninstaller.nsi $out/ - cp -v ${launcherConfigs.configFiles}/* $out/ + cp -v ${newCommon.launcherConfigs.${cluster}.configFiles}/* $out/ ls -lR $out - ''; + ''); # the native makensis binary, with cross-compiled windows stubs nsis = let @@ -468,50 +470,50 @@ in rec { wine = pkgs.wine.override { wineBuild = "wine32"; }; wine64 = pkgs.wine.override { wineBuild = "wineWow"; }; - unsignedUninstaller = pkgs.runCommand "uninstaller" { buildInputs = [ nsis wine ]; } '' + unsignedUninstaller = genClusters (cluster: pkgs.runCommand "uninstaller" { buildInputs = [ nsis wine ]; } '' mkdir home export HOME=$(realpath home) ln -sv ${../../installers/nsis_plugins} nsis_plugins - cp ${nsisFiles}/uninstaller.nsi . + cp ${nsisFiles.${cluster}}/uninstaller.nsi . makensis uninstaller.nsi -V4 wine tempinstaller.exe /S mkdir $out mv -v $HOME/.wine/drive_c/uninstall.exe $out/uninstall.exe - ''; + ''); # a cross-compiled fastlist for the ps-list package fastlist = pkgs.pkgsCross.mingwW64.callPackage ./fastlist.nix {}; - preSigning = let - installDir = oldCode.launcherConfigs.installerConfig.spacedName; + preSigning = genClusters (cluster: let + installDir = newCommon.launcherConfigs.${cluster}.installerConfig.spacedName; in pkgs.runCommand "pre-signing" { buildInputs = [ pkgs.unzip ]; } '' mkdir $out cd $out echo '~~~ Preparing files for installer' mkdir installers - cp -vir ${windowsIcons} installers/icons + cp -vir ${windowsIcons.${cluster}} installers/icons cp -vir ${../../package.json} package.json chmod -R +w installers cd installers mkdir -pv ../release/win32-x64/ - cp -rv ${daedalusJs} "../release/win32-x64/${installDir}-win32-x64" + cp -rv ${daedalusJs.${cluster}} "../release/win32-x64/${installDir}-win32-x64" chmod -R +w "../release/win32-x64/${installDir}-win32-x64" cp -v ${fastlist}/bin/fastlist.exe "../release/win32-x64/${installDir}-win32-x64/resources/app/dist/main/fastlist.exe" ln -s ${../../installers/nsis_plugins} nsis_plugins - cp -vr ${oldCode.daedalus-bridge}/bin/* . - cp -v ${nsisFiles}/{*.yaml,*.json,daedalus.nsi,*.key,*.cert} . - cp ${unsignedUninstaller}/uninstall.exe . - if [ -f ${nsisFiles}/block-0.bin ]; then - cp -v ${nsisFiles}/block-0.bin . + cp -vr ${newCommon.daedalus-bridge.${cluster}}/bin/* . + cp -v ${nsisFiles.${cluster}}/{*.yaml,*.json,daedalus.nsi,*.key,*.cert} . + cp ${unsignedUninstaller.${cluster}}/uninstall.exe . + if [ -f ${nsisFiles.${cluster}}/block-0.bin ]; then + cp -v ${nsisFiles.${cluster}}/block-0.bin . fi - ''; + ''); - makeInstaller = { signed ? false }: oldCode.pkgs.writeScriptBin "make-signed-installer" '' + makeInstaller = { signed ? false, cluster }: pkgs.writeShellScriptBin "make-signed-installer" '' set -euo pipefail ${if signed then '' @@ -530,7 +532,7 @@ in rec { } ''} - cp -r ${preSigning}/. ./ + cp -r ${preSigning.${cluster}}/. ./ chmod -R +w . find . '(' -iname '*.exe' -o -iname '*.dll' -o -iname '*.node' ')' | sort | while IFS= read -r binaryToSign ; do diff --git a/nix/packages.nix b/nix/packages.nix index 1f82aa8865..f3b7380b2f 100644 --- a/nix/packages.nix +++ b/nix/packages.nix @@ -10,18 +10,18 @@ let in (lib.listToAttrs (lib.concatMap (cluster: [ { name = "daedalus-${cluster}${suffix}"; - value = internal.${cluster}.package; + value = internal.package.${cluster}; } { name = "installer-${cluster}${suffix}"; - value = internal.${cluster}.unsignedInstaller; + value = internal.unsignedInstaller.${cluster}; } { name = "makeSignedInstaller-${cluster}${suffix}"; - value = internal.${cluster}.makeSignedInstaller; + value = internal.makeSignedInstaller.${cluster}; } ]) inputs.self.internal.installerClusters)) // { - default = internal.mainnet.package; + default = internal.package.mainnet; "buildkitePipeline${suffix}" = import ./internal/buildkite-pipeline.nix { inherit inputs targetSystem; }; }; From 9c77ef6c3ac9dba6e08f67f3fe3145c299e6b9cb Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 10 Aug 2023 18:27:16 +0200 Subject: [PATCH 2/6] =?UTF-8?q?[DDW-1227]=20Rename=20=E2=80=98newCommon?= =?UTF-8?q?=E2=80=99=20=E2=86=92=20=E2=80=98common=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nix/devshells.nix | 24 +++++++-------- nix/internal/any-darwin.nix | 18 +++++------ nix/internal/{new-common.nix => common.nix} | 0 nix/internal/x86_64-linux.nix | 34 ++++++++++----------- nix/internal/x86_64-windows.nix | 34 ++++++++++----------- scripts/rebuild-native-modules.sh | 2 +- 6 files changed, 56 insertions(+), 56 deletions(-) rename nix/internal/{new-common.nix => common.nix} (100%) diff --git a/nix/devshells.nix b/nix/devshells.nix index 953225f6fc..0c15e39b47 100644 --- a/nix/devshells.nix +++ b/nix/devshells.nix @@ -4,12 +4,12 @@ let internal = inputs.self.internal.${targetSystem}; - inherit (internal) newCommon; - inherit (newCommon) pkgs; + inherit (internal) common; + inherit (common) pkgs; devShells = pkgs.lib.genAttrs inputs.self.internal.installerClusters (cluster: let - launcherConfigs = newCommon.mkLauncherConfigs { + launcherConfigs = common.mkLauncherConfigs { inherit cluster; devShell = true; }; @@ -23,16 +23,16 @@ let )); in pkgs.writeShellScriptBin "regenerate-dev-certs" '' - ${newCommon.daedalus-bridge.${cluster}}/bin/cardano-launcher --config ${moddedConfig} + ${common.daedalus-bridge.${cluster}}/bin/cardano-launcher --config ${moddedConfig} ''; in pkgs.stdenv.mkDerivation (rec { buildInputs = [ - internal.newCommon.nodejs - internal.newCommon.yarn - newCommon.daedalus-bridge.${cluster} - newCommon.daedalus-installer - newCommon.mock-token-metadata-server + internal.common.nodejs + internal.common.yarn + common.daedalus-bridge.${cluster} + common.daedalus-installer + common.mock-token-metadata-server regenerateDevCerts ] ++ (with pkgs; [ nix bash binutils coreutils curl gnutar @@ -54,8 +54,8 @@ let name = "daedalus"; buildCommand = "touch $out"; LAUNCHER_CONFIG = DAEDALUS_CONFIG + "/launcher-config.yaml"; - CARDANO_NODE_VERSION = newCommon.cardanoNodeVersion; - CARDANO_WALLET_VERSION = newCommon.cardanoWalletVersion; + CARDANO_NODE_VERSION = common.cardanoNodeVersion; + CARDANO_WALLET_VERSION = common.cardanoWalletVersion; DAEDALUS_CONFIG = pkgs.runCommand "daedalus-config" {} '' mkdir -pv $out cp ${pkgs.writeText "launcher-config.yaml" (builtins.toJSON launcherConfigs.launcherConfig)} $out/launcher-config.yaml @@ -92,7 +92,7 @@ let source <(cardano-node --bash-completion-script `type -p cardano-node`) - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${internal.newCommon.nodejs}/include/node -I${toString ../../.}/node_modules/node-addon-api" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${internal.common.nodejs}/include/node -I${toString ../../.}/node_modules/node-addon-api" yarn install # Rebuild native modules for : diff --git a/nix/internal/any-darwin.nix b/nix/internal/any-darwin.nix index e7d0d37949..9100302a04 100644 --- a/nix/internal/any-darwin.nix +++ b/nix/internal/any-darwin.nix @@ -4,16 +4,16 @@ assert targetSystem == "x86_64-darwin" || targetSystem == "aarch64-darwin"; let - newCommon = import ./new-common.nix { inherit inputs targetSystem; }; + common = import ./common.nix { inherit inputs targetSystem; }; - inherit (newCommon) sourceLib pkgs; + inherit (common) sourceLib pkgs; inherit (pkgs) lib; - inherit (newCommon) + inherit (common) daedalus-bridge daedalus-installer launcherConfigs mock-token-metadata-server cardanoNodeVersion cardanoWalletVersion; - inherit (newCommon) originalPackageJson electronVersion electronChromedriverVersion commonSources; + inherit (common) originalPackageJson electronVersion electronChromedriverVersion commonSources; archSuffix = if pkgs.system == "aarch64-darwin" then "arm64" else "x64"; packageVersion = originalPackageJson.version; @@ -23,8 +23,8 @@ let in rec { - inherit newCommon; - inherit (newCommon) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix; + inherit common; + inherit (common) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix; # The following is used in all `configurePhase`s: darwinSpecificCaches = let @@ -67,7 +67,7 @@ in rec { apple_sdk.frameworks.CoreServices apple_sdk.frameworks.AppKit ]); - configurePhase = newCommon.setupCacheAndGypDirs + darwinSpecificCaches; + configurePhase = common.setupCacheAndGypDirs + darwinSpecificCaches; buildPhase = '' # Do not look up in the registry, but in the offline cache: ${yarn2nix.fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock @@ -127,7 +127,7 @@ in rec { BUILD_COUNTER = sourceLib.buildCounter; CARDANO_WALLET_VERSION = cardanoWalletVersion; CARDANO_NODE_VERSION = cardanoNodeVersion; - configurePhase = newCommon.setupCacheAndGypDirs + darwinSpecificCaches + '' + configurePhase = common.setupCacheAndGypDirs + darwinSpecificCaches + '' # Grab all cached `node_modules` from above: cp -r ${node_modules}/. ./ chmod -R +w . @@ -135,7 +135,7 @@ in rec { outputs = [ "out" "futureInstaller" ]; buildPhase = '' patchShebangs . - sed -r 's#.*patchElectronRebuild.*#${newCommon.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh + sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh export DEVX_FIXME_DONT_YARN_INSTALL=1 ( diff --git a/nix/internal/new-common.nix b/nix/internal/common.nix similarity index 100% rename from nix/internal/new-common.nix rename to nix/internal/common.nix diff --git a/nix/internal/x86_64-linux.nix b/nix/internal/x86_64-linux.nix index 8f8143cf2a..1e2b1b4695 100644 --- a/nix/internal/x86_64-linux.nix +++ b/nix/internal/x86_64-linux.nix @@ -4,9 +4,9 @@ assert targetSystem == "x86_64-linux"; let - newCommon = import ./new-common.nix { inherit inputs targetSystem; }; + common = import ./common.nix { inherit inputs targetSystem; }; - inherit (newCommon) sourceLib pkgs commonSources; + inherit (common) sourceLib pkgs commonSources; inherit (sourceLib) installerClusters; inherit (pkgs) lib; @@ -14,8 +14,8 @@ let in rec { - inherit newCommon; - inherit (newCommon) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix electronVersion electronChromedriverVersion originalPackageJson; + inherit common; + inherit (common) nodejs nodePackages yarn yarn2nix offlineCache srcLockfiles srcWithoutNix electronVersion electronChromedriverVersion originalPackageJson; package = genClusters (cluster: mkDaedalus { sandboxed = false; inherit cluster; }); @@ -48,7 +48,7 @@ in rec { nativeBuildInputs = [ yarn nodejs ] ++ (with pkgs; [ python3 pkgconfig jq ]); buildInputs = with pkgs; [ libusb ]; - configurePhase = newCommon.setupCacheAndGypDirs + linuxSpecificCaches; + configurePhase = common.setupCacheAndGypDirs + linuxSpecificCaches; buildPhase = '' # Do not look up in the registry, but in the offline cache: ${yarn2nix.fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock @@ -90,23 +90,23 @@ in rec { nativeBuildInputs = [ yarn nodejs ] ++ (with pkgs; [ python3 pkgconfig ]); buildInputs = with pkgs; [ libusb ]; - CARDANO_WALLET_VERSION = newCommon.cardanoWalletVersion; - CARDANO_NODE_VERSION = newCommon.cardanoNodeVersion; + CARDANO_WALLET_VERSION = common.cardanoWalletVersion; + CARDANO_NODE_VERSION = common.cardanoNodeVersion; CI = "nix"; - NETWORK = newCommon.launcherConfigs.${cluster}.launcherConfig.networkName; + NETWORK = common.launcherConfigs.${cluster}.launcherConfig.networkName; BUILD_REV = sourceLib.buildRev; BUILD_REV_SHORT = sourceLib.buildRevShort; BUILD_COUNTER = sourceLib.buildCounter; NODE_ENV = "production"; BUILDTYPE = "Release"; - configurePhase = newCommon.setupCacheAndGypDirs + linuxSpecificCaches + '' + configurePhase = common.setupCacheAndGypDirs + linuxSpecificCaches + '' # Grab all cached `node_modules` from above: cp -r ${node_modules}/. ./ chmod -R +w . ''; patchedPackageJson = pkgs.writeText "package.json" (builtins.toJSON ( pkgs.lib.recursiveUpdate originalPackageJson { - productName = newCommon.launcherConfigs.${cluster}.installerConfig.spacedName; + productName = common.launcherConfigs.${cluster}.installerConfig.spacedName; main = "dist/main/index.js"; } )); @@ -114,10 +114,10 @@ in rec { cp -v $patchedPackageJson package.json patchShebangs . - sed -r 's#.*patchElectronRebuild.*#${newCommon.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh + sed -r 's#.*patchElectronRebuild.*#${common.patchElectronRebuild}/bin/*#' -i scripts/rebuild-native-modules.sh yarn build:electron - yarn run package -- --name ${lib.escapeShellArg newCommon.launcherConfigs.${cluster}.installerConfig.spacedName} + yarn run package -- --name ${lib.escapeShellArg common.launcherConfigs.${cluster}.installerConfig.spacedName} ''; installPhase = '' mkdir -p $out/bin $out/share/daedalus @@ -197,15 +197,15 @@ in rec { mkDaedalus = { sandboxed, cluster }: import ../../installers/nix/linux.nix { inherit (pkgs) stdenv runCommand writeText writeScriptBin coreutils utillinux procps gsettings-desktop-schemas gtk3 hicolor-icon-theme xfce; - inherit (newCommon) daedalus-installer; - daedalus-bridge = newCommon.daedalus-bridge.${cluster}; + inherit (common) daedalus-installer; + daedalus-bridge = common.daedalus-bridge.${cluster}; inherit cluster sandboxed; rawapp = daedalusJs.${cluster}; electron = electronBin; # FIXME: ??? - launcherConfigs = newCommon.launcherConfigs.${cluster}; + launcherConfigs = common.launcherConfigs.${cluster}; linuxClusterBinName = cluster; }; @@ -222,7 +222,7 @@ in rec { installPath = ".daedalus"; - iconPath = newCommon.launcherConfigs.${cluster}.installerConfig.iconPath; + iconPath = common.launcherConfigs.${cluster}.installerConfig.iconPath; linuxClusterBinName = cluster; namespaceHelper = pkgs.writeScriptBin "namespaceHelper" '' @@ -297,7 +297,7 @@ in rec { newBundle = let daedalus' = mkDaedalus { sandboxed = true; }; - daedalus-bridge = newCommon.daedalus-bridge.${cluster}; + daedalus-bridge = common.daedalus-bridge.${cluster}; in (import ../../installers/nix/nix-installer.nix { inherit postInstall preInstall linuxClusterBinName; rawapp = daedalusJs.${cluster}; diff --git a/nix/internal/x86_64-windows.nix b/nix/internal/x86_64-windows.nix index 411ff3ad9a..2e447e23f0 100644 --- a/nix/internal/x86_64-windows.nix +++ b/nix/internal/x86_64-windows.nix @@ -4,9 +4,9 @@ assert targetSystem == "x86_64-windows"; let - newCommon = import ./new-common.nix { inherit inputs targetSystem; }; + common = import ./common.nix { inherit inputs targetSystem; }; - inherit (newCommon) sourceLib pkgs srcWithoutNix yarn nodejs originalPackageJson commonSources electronVersion; + inherit (common) sourceLib pkgs srcWithoutNix yarn nodejs originalPackageJson commonSources electronVersion; inherit (sourceLib) installerClusters; inherit (pkgs) lib; @@ -14,7 +14,7 @@ let in rec { - inherit newCommon; + inherit common; package = preSigning; # XXX: this is slightly wrong, as not all files are in their final relative paths @@ -50,23 +50,23 @@ in rec { nativeBuildInputs = [ yarn nodejs wine64 ] ++ (with pkgs; [ python3 pkgconfig unzip ]); buildInputs = with pkgs; [ libusb ]; - CARDANO_WALLET_VERSION = newCommon.cardanoWalletVersion; - CARDANO_NODE_VERSION = newCommon.cardanoNodeVersion; + CARDANO_WALLET_VERSION = common.cardanoWalletVersion; + CARDANO_NODE_VERSION = common.cardanoNodeVersion; CI = "nix"; - NETWORK = newCommon.launcherConfigs.${cluster}.launcherConfig.networkName; + NETWORK = common.launcherConfigs.${cluster}.launcherConfig.networkName; BUILD_REV = sourceLib.buildRev; BUILD_REV_SHORT = sourceLib.buildRevShort; BUILD_COUNTER = sourceLib.buildCounter; NODE_ENV = "production"; BUILDTYPE = "Release"; - configurePhase = newCommon.setupCacheAndGypDirs + '' + configurePhase = common.setupCacheAndGypDirs + '' # Grab all cached `node_modules` from above: cp -r ${node_modules}/. ./ chmod -R +w . ''; patchedPackageJson = pkgs.writeText "package.json" (builtins.toJSON ( pkgs.lib.recursiveUpdate originalPackageJson { - productName = newCommon.launcherConfigs.${cluster}.installerConfig.spacedName; + productName = common.launcherConfigs.${cluster}.installerConfig.spacedName; } )); buildPhase = '' @@ -206,12 +206,12 @@ in rec { nativeModules = pkgs.stdenv.mkDerivation { name = "daedalus-native-modules"; - src = newCommon.srcLockfiles; + src = common.srcLockfiles; nativeBuildInputs = [ yarn nodejs ] ++ (with fresherPkgs; [ wineWowPackages.stableFull fontconfig winetricks samba /* samba for bin/ntlm_auth */ ]) ++ (with pkgs; [ python3 pkgconfig jq file procps ]); buildInputs = with pkgs; [ libusb ]; - configurePhase = newCommon.setupCacheAndGypDirs + '' + configurePhase = common.setupCacheAndGypDirs + '' # Grab all cached `node_modules` from above: cp -r ${node_modules}/. ./ chmod -R +w . @@ -319,7 +319,7 @@ in rec { ${mkSection "Patching node_modules"} # Point electron-rebuild to the correct Node (Electron) headers location: - ${newCommon.patchElectronRebuild}/bin/* \ + ${common.patchElectronRebuild}/bin/* \ "$(winepath -w ${electronHeadersWithNodeLib.src} | sed -r 's,\\,\\\\\\\\,g')" \ "$(winepath -w ${electronHeadersWithNodeLib} | sed -r 's,\\,\\\\\\\\,g')" @@ -403,7 +403,7 @@ in rec { native = rec { nodejs = pkgs.fetchzip { - url = "https://nodejs.org/dist/v${newCommon.nodejs.version}/node-v${newCommon.nodejs.version}-win-x64.zip"; + url = "https://nodejs.org/dist/v${common.nodejs.version}/node-v${common.nodejs.version}-win-x64.zip"; hash = "sha256-n8ux67xrq3Rta1nE715y1m040oaLxUI2bIt12RaJdeM="; }; @@ -433,14 +433,14 @@ in rec { ''); nsisFiles = genClusters (cluster: pkgs.runCommand "nsis-files" { - buildInputs = [ newCommon.daedalus-installer pkgs.glibcLocales ]; + buildInputs = [ common.daedalus-installer pkgs.glibcLocales ]; } '' mkdir installers cp -vir ${../../package.json} package.json cd installers export LANG=en_US.UTF-8 - cp -v ${newCommon.launcherConfigs.${cluster}.configFiles}/* . + cp -v ${common.launcherConfigs.${cluster}.configFiles}/* . make-installer --cardano dummy \ --os win64 \ -o $out \ @@ -451,7 +451,7 @@ in rec { mkdir $out cp -v daedalus.nsi uninstaller.nsi $out/ - cp -v ${newCommon.launcherConfigs.${cluster}.configFiles}/* $out/ + cp -v ${common.launcherConfigs.${cluster}.configFiles}/* $out/ ls -lR $out ''); @@ -488,7 +488,7 @@ in rec { fastlist = pkgs.pkgsCross.mingwW64.callPackage ./fastlist.nix {}; preSigning = genClusters (cluster: let - installDir = newCommon.launcherConfigs.${cluster}.installerConfig.spacedName; + installDir = common.launcherConfigs.${cluster}.installerConfig.spacedName; in pkgs.runCommand "pre-signing" { buildInputs = [ pkgs.unzip ]; } '' mkdir $out cd $out @@ -505,7 +505,7 @@ in rec { cp -v ${fastlist}/bin/fastlist.exe "../release/win32-x64/${installDir}-win32-x64/resources/app/dist/main/fastlist.exe" ln -s ${../../installers/nsis_plugins} nsis_plugins - cp -vr ${newCommon.daedalus-bridge.${cluster}}/bin/* . + cp -vr ${common.daedalus-bridge.${cluster}}/bin/* . cp -v ${nsisFiles.${cluster}}/{*.yaml,*.json,daedalus.nsi,*.key,*.cert} . cp ${unsignedUninstaller.${cluster}}/uninstall.exe . if [ -f ${nsisFiles.${cluster}}/block-0.bin ]; then diff --git a/scripts/rebuild-native-modules.sh b/scripts/rebuild-native-modules.sh index 6d3edd3e4f..891d927a3e 100755 --- a/scripts/rebuild-native-modules.sh +++ b/scripts/rebuild-native-modules.sh @@ -15,7 +15,7 @@ find . -type f -name '*.node' -not -path '*/@swc*/*' -exec rm -vf {} ';' # Let’s patch electron-rebuild to force correct Node.js headers to # build native modules against even in `nix-shell`, otherwise, it # doesn’t work reliably. -nix run -L .#internal."${system:-x86_64-darwin}".mainnet.newCommon.patchElectronRebuild +nix run -L .#internal."${system:-x86_64-darwin}".mainnet.common.patchElectronRebuild # XXX: Electron 24.2 requires c++17, not 14 (or old 1y): sed -r 's,std=c\+\+(14|1y),std=c++17,g' -i node_modules/usb/binding.gyp From 1bcf4e70203097cd8ee29883ecbea211923666a6 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 10 Aug 2023 18:27:46 +0200 Subject: [PATCH 3/6] =?UTF-8?q?[DDW-1227]=20Fix=20=E2=80=98scripts/rebuild?= =?UTF-8?q?-native-modules.sh=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/rebuild-native-modules.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/rebuild-native-modules.sh b/scripts/rebuild-native-modules.sh index 891d927a3e..92635cc7da 100755 --- a/scripts/rebuild-native-modules.sh +++ b/scripts/rebuild-native-modules.sh @@ -15,7 +15,7 @@ find . -type f -name '*.node' -not -path '*/@swc*/*' -exec rm -vf {} ';' # Let’s patch electron-rebuild to force correct Node.js headers to # build native modules against even in `nix-shell`, otherwise, it # doesn’t work reliably. -nix run -L .#internal."${system:-x86_64-darwin}".mainnet.common.patchElectronRebuild +nix run -L .#internal."${system:-x86_64-darwin}".common.patchElectronRebuild # XXX: Electron 24.2 requires c++17, not 14 (or old 1y): sed -r 's,std=c\+\+(14|1y),std=c++17,g' -i node_modules/usb/binding.gyp From c4b17130aca760e4e43865b067232b7d4ed69f47 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 10 Aug 2023 18:37:11 +0200 Subject: [PATCH 4/6] [DDW-1227] Fix Linux installer --- nix/internal/x86_64-linux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/internal/x86_64-linux.nix b/nix/internal/x86_64-linux.nix index 1e2b1b4695..3e7e016199 100644 --- a/nix/internal/x86_64-linux.nix +++ b/nix/internal/x86_64-linux.nix @@ -296,7 +296,7 @@ in rec { ''; newBundle = let - daedalus' = mkDaedalus { sandboxed = true; }; + daedalus' = mkDaedalus { sandboxed = true; inherit cluster; }; daedalus-bridge = common.daedalus-bridge.${cluster}; in (import ../../installers/nix/nix-installer.nix { inherit postInstall preInstall linuxClusterBinName; From 6804b6c1d5e5a26193426a582f9951c1819a0ea1 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Thu, 10 Aug 2023 18:46:59 +0200 Subject: [PATCH 5/6] [DDW-1227] Add a CHANGELOG entry --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a9d246c1e..0479e53089 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## vNext +### Fixes + +- Fixed out-of-memory errors on https://ci.iog.io ([PR 3145](https://github.com/input-output-hk/daedalus/pull/3145)) + ## 5.3.0 ### Features From 3effc28bd21d24b7c98b91976874821e4957ad37 Mon Sep 17 00:00:00 2001 From: Michal Rus Date: Tue, 27 Jun 2023 12:48:23 +0200 Subject: [PATCH 6/6] Add Michal Rus to contributors --- source/renderer/app/components/static/About.tsx | 2 +- source/renderer/app/i18n/locales/defaultMessages.json | 2 +- source/renderer/app/i18n/locales/en-US.json | 2 +- source/renderer/app/i18n/locales/ja-JP.json | 2 +- translations/messages.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/renderer/app/components/static/About.tsx b/source/renderer/app/components/static/About.tsx index 0a7ecccfa5..9c26e2fbdf 100644 --- a/source/renderer/app/components/static/About.tsx +++ b/source/renderer/app/components/static/About.tsx @@ -29,7 +29,7 @@ const messages = defineMessages({ aboutContentDaedalusMembers: { id: 'static.about.content.daedalus.members', defaultMessage: - '!!!Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov', + '!!!Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Michal Rus, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov', description: 'About page daedalus team members', }, aboutContentCardanoMembers: { diff --git a/source/renderer/app/i18n/locales/defaultMessages.json b/source/renderer/app/i18n/locales/defaultMessages.json index 02815ac841..44db125cdd 100644 --- a/source/renderer/app/i18n/locales/defaultMessages.json +++ b/source/renderer/app/i18n/locales/defaultMessages.json @@ -1337,7 +1337,7 @@ "id": "static.about.content.cardano.headline" }, { - "defaultMessage": "!!!Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", + "defaultMessage": "!!!Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Michal Rus, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", "description": "About page daedalus team members", "id": "static.about.content.daedalus.members" }, diff --git a/source/renderer/app/i18n/locales/en-US.json b/source/renderer/app/i18n/locales/en-US.json index 7ba9612533..9fa22718af 100755 --- a/source/renderer/app/i18n/locales/en-US.json +++ b/source/renderer/app/i18n/locales/en-US.json @@ -649,7 +649,7 @@ "static.about.content.cardano.headline": "Cardano Team:", "static.about.content.cardano.members": "Alan McNicholas, Alejandro Garcia, Alexander Diemand, Alexander Vieth, Anatoli Ivanou, Andreas Triantafyllos, Ante Kegalj, Armando Santos, Ben Ford, Charles Hoskinson, Dan Friedman, Deepak Kapiswe, Denis Shevchenko, Dorin Solomon, Duncan Coutts, Edsko de Vries, Erik de Castro Lopo, Gerard Moroney, Heinrich Apfelmus, Hiroto Shioi, Jane Wild, Jean-Christophe Mincke, Jeremy Wood, Johannes Lund, Jonathan Knowles, Jordan Millar, Karl Knutsson, Kristijan Šarić, Lars Brünjes, Laurie Wang, Liz Bancroft, Luke Nadur, Marc Fontaine, Marcin Szamotulski, Matt Parsons, Matthias Benkort, Michael Bishop, Michael Hueschen, Moritz Angermann, Neil Davis, Niamh Ahern, Nicholas Clarke, Nicolas Di Prima, Noel Rimbert, Paolo Veronelli, Patrick Kelly, Pawel Jakubas, Peter Gaži, Peter Thompson, Philipp Kant, Piotr Stachyra, Ravi Patel, Richard Wild, Rob Cohen, Rodney Lorrimar, Ryan Lemmer, Samuel Leathers, Serge Kosyrev, Tatyana Valkevych, Tom Flynn, Vasileios Gkoumas, Vincent Hanquez, Yuriy Lazaryev", "static.about.content.daedalus.headline": "Daedalus Team:", - "static.about.content.daedalus.members": "Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", + "static.about.content.daedalus.members": "Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Michal Rus, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", "static.about.copyright": "Input Output HK Limited. Licensed under", "static.about.license": "Apache 2.0 license", "static.about.title": "Daedalus", diff --git a/source/renderer/app/i18n/locales/ja-JP.json b/source/renderer/app/i18n/locales/ja-JP.json index d1c949cd00..a0f505a221 100755 --- a/source/renderer/app/i18n/locales/ja-JP.json +++ b/source/renderer/app/i18n/locales/ja-JP.json @@ -649,7 +649,7 @@ "static.about.content.cardano.headline": "Cardanoチーム:", "static.about.content.cardano.members": "Alan McNicholas, Alejandro Garcia, Alexander Diemand, Alexander Vieth, Anatoli Ivanou, Andreas Triantafyllos, Ante Kegalj, Armando Santos, Ben Ford, Charles Hoskinson, Dan Friedman, Deepak Kapiswe, Denis Shevchenko, Dorin Solomon, Duncan Coutts, Edsko de Vries, Erik de Castro Lopo, Gerard Moroney, Heinrich Apfelmus, Hiroto Shioi, Jane Wild, Jean-Christophe Mincke, Jeremy Wood, Johannes Lund, Jonathan Knowles, Jordan Millar, Karl Knutsson, Kristijan Šarić, Lars Brünjes, Laurie Wang, Liz Bancroft, Luke Nadur, Marc Fontaine, Marcin Szamotulski, Matt Parsons, Matthias Benkort, Michael Bishop, Michael Hueschen, Moritz Angermann, Neil Davis, Niamh Ahern, Nicholas Clarke, Nicolas Di Prima, Noel Rimbert, Paolo Veronelli, Patrick Kelly, Pawel Jakubas, Peter Gaži, Peter Thompson, Philipp Kant, Piotr Stachyra, Ravi Patel, Richard Wild, Rob Cohen, Rodney Lorrimar, Ryan Lemmer, Samuel Leathers, Serge Kosyrev, Tatyana Valkevych, Tom Flynn, Vasileios Gkoumas, Vincent Hanquez, Yuriy Lazaryev", "static.about.content.daedalus.headline": "Daedalusチーム:", - "static.about.content.daedalus.members": "Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", + "static.about.content.daedalus.members": "Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Michal Rus, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", "static.about.copyright": "Input Output HK Limited. Licensed under", "static.about.license": "Apache 2.0 license", "static.about.title": "Daedalus", diff --git a/translations/messages.json b/translations/messages.json index 6e63d9ba42..bd81838465 100644 --- a/translations/messages.json +++ b/translations/messages.json @@ -1337,7 +1337,7 @@ "id": "static.about.content.cardano.headline" }, { - "defaultMessage": "!!!Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", + "defaultMessage": "!!!Alan McNicholas, Aleksandar Djordjevic, Alexander Rukin, Brian McKenna, Charles Hoskinson, Daniel Main, Danilo Prates, Darko Mijić, Dmitrii Gaico, Dominik Guzei, Elin Liu, Gabriela Ponce, Jane Wild, Jeremy Wood, Juli Sudi, Junko Oda, Laurie Wang, Lucas Araujo, Manus McCole, Marcin Mazurek, Michael Bishop, Michael Chappell, Michal Rus, Mior Sufian, Nikola Glumac, Piotr Stachyra, Przemysław Włodek, Renan Ferreira, Rhys Bartels-Waller, Richard Wild, Robert Moore, Rodney Lorrimar, Sam Jeston, Samuel Leathers, Serge Kosyrev, Szymon Masłowski, Tatyana Valkevych, Tomas Vrana, Tomislav Horaček, Yakov Karavelov", "description": "About page daedalus team members", "id": "static.about.content.daedalus.members" },