From fee8e7991a2fcd94a57360fb658d9d3f7509fdfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 30 May 2020 12:18:38 +0100 Subject: [PATCH 1/3] nodePackages.pulp: fix build --- pkgs/development/node-packages/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index ac442e2e07f..271df4449bc 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -117,7 +117,7 @@ nodePackages // { }; pulp = nodePackages.pulp.override { - meta.broken = since "10"; + npmFlags = "--ignore-scripts"; }; ssb-server = nodePackages.ssb-server.override { From 9921d785898d8687b18be10ccfeb53ba63b9a69f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 30 May 2020 12:30:38 +0100 Subject: [PATCH 2/3] nodePackages: fix insect build --- pkgs/development/node-packages/default.nix | 262 ++++++++++----------- 1 file changed, 131 insertions(+), 131 deletions(-) diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index 271df4449bc..4bc2b56b3ab 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -3,156 +3,156 @@ let since = (version: pkgs.lib.versionAtLeast nodejs.version version); before = (version: pkgs.lib.versionOlder nodejs.version version); - nodePackages = import ./composition.nix { + super = import ./composition.nix { inherit pkgs nodejs; inherit (stdenv.hostPlatform) system; }; -in -nodePackages // { - "@angular/cli" = nodePackages."@angular/cli".override { - prePatch = '' - export NG_CLI_ANALYTICS=false - ''; - }; - bower2nix = nodePackages.bower2nix.override { - buildInputs = [ pkgs.makeWrapper ]; - postInstall = '' - for prog in bower2nix fetch-bower; do - wrapProgram "$out/bin/$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.git pkgs.nix ]} - done - ''; - }; + self = super // { + "@angular/cli" = super."@angular/cli".override { + prePatch = '' + export NG_CLI_ANALYTICS=false + ''; + }; + bower2nix = super.bower2nix.override { + buildInputs = [ pkgs.makeWrapper ]; + postInstall = '' + for prog in bower2nix fetch-bower; do + wrapProgram "$out/bin/$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.git pkgs.nix ]} + done + ''; + }; - coc-imselect = nodePackages.coc-imselect.override { - meta.broken = since "10"; - }; + coc-imselect = super.coc-imselect.override { + meta.broken = since "10"; + }; - "fast-cli-1.x" = nodePackages."fast-cli-1.x".override { - meta.broken = since "10"; - }; + "fast-cli-1.x" = super."fast-cli-1.x".override { + meta.broken = since "10"; + }; - jshint = nodePackages.jshint.override { - buildInputs = [ pkgs.phantomjs2 ]; - }; + jshint = super.jshint.override { + buildInputs = [ pkgs.phantomjs2 ]; + }; - dat = nodePackages.dat.override { - buildInputs = [ nodePackages.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ]; - meta.broken = since "12"; - }; + dat = super.dat.override { + buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ]; + meta.broken = since "12"; + }; - dnschain = nodePackages.dnschain.override { - buildInputs = [ pkgs.makeWrapper nodePackages.coffee-script ]; - postInstall = '' - wrapProgram $out/bin/dnschain --suffix PATH : ${pkgs.openssl.bin}/bin - ''; - meta.broken = since "14"; - }; + dnschain = super.dnschain.override { + buildInputs = [ pkgs.makeWrapper super.coffee-script ]; + postInstall = '' + wrapProgram $out/bin/dnschain --suffix PATH : ${pkgs.openssl.bin}/bin + ''; + meta.broken = since "14"; + }; - bitwarden-cli = pkgs.lib.overrideDerivation nodePackages."@bitwarden/cli" (drv: { - name = "bitwarden-cli-${drv.version}"; - }); + bitwarden-cli = pkgs.lib.overrideDerivation super."@bitwarden/cli" (drv: { + name = "bitwarden-cli-${drv.version}"; + }); - ios-deploy = nodePackages.ios-deploy.override (drv: { - nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.buildPackages.rsync ]; - preRebuild = '' - LD=$CC - tmp=$(mktemp -d) - ln -s /usr/bin/xcodebuild $tmp - export PATH="$PATH:$tmp" - ''; - meta.platforms = [ pkgs.lib.platforms.darwin ]; - }); + ios-deploy = super.ios-deploy.override (drv: { + nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.buildPackages.rsync ]; + preRebuild = '' + LD=$CC + tmp=$(mktemp -d) + ln -s /usr/bin/xcodebuild $tmp + export PATH="$PATH:$tmp" + ''; + meta.platforms = [ pkgs.lib.platforms.darwin ]; + }); - fast-cli = nodePackages."fast-cli-1.x".override { - preRebuild = '' - # Simply ignore the phantomjs --version check. It seems to need a display but it is safe to ignore - sed -i -e "s|console.error('Error verifying phantomjs, continuing', err)|console.error('Error verifying phantomjs, continuing', err); return true;|" node_modules/phantomjs-prebuilt/lib/util.js - ''; - buildInputs = [ pkgs.phantomjs2 ]; - }; + fast-cli = super."fast-cli-1.x".override { + preRebuild = '' + # Simply ignore the phantomjs --version check. It seems to need a display but it is safe to ignore + sed -i -e "s|console.error('Error verifying phantomjs, continuing', err)|console.error('Error verifying phantomjs, continuing', err); return true;|" node_modules/phantomjs-prebuilt/lib/util.js + ''; + buildInputs = [ pkgs.phantomjs2 ]; + }; - git-ssb = nodePackages.git-ssb.override { - buildInputs = [ nodePackages.node-gyp-build ]; - meta.broken = since "10"; - }; + git-ssb = super.git-ssb.override { + buildInputs = [ self.node-gyp-build ]; + meta.broken = since "10"; + }; - insect = nodePackages.insect.override (drv: { - nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package pkgs.purescript nodePackages.pulp ]; - meta.broken = since "10"; - }); + insect = super.insect.override (drv: { + nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package pkgs.purescript self.pulp ]; + }); - node-inspector = nodePackages.node-inspector.override { - buildInputs = [ nodePackages.node-pre-gyp ]; - meta.broken = since "10"; - }; + node-inspector = super.node-inspector.override { + buildInputs = [ self.node-pre-gyp ]; + meta.broken = since "10"; + }; - node2nix = nodePackages.node2nix.override { - buildInputs = [ pkgs.makeWrapper ]; - postInstall = '' - wrapProgram "$out/bin/node2nix" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.nix ]} - ''; - }; + node2nix = super.node2nix.override { + buildInputs = [ pkgs.makeWrapper ]; + postInstall = '' + wrapProgram "$out/bin/node2nix" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.nix ]} + ''; + }; - node-red = nodePackages.node-red.override { - meta.broken = since "10"; - }; + node-red = super.node-red.override { + meta.broken = since "10"; + }; - pnpm = nodePackages.pnpm.override { - nativeBuildInputs = [ pkgs.makeWrapper ]; + pnpm = super.pnpm.override { + nativeBuildInputs = [ pkgs.makeWrapper ]; - preRebuild = '' - sed 's/"link:/"file:/g' --in-place package.json - ''; + preRebuild = '' + sed 's/"link:/"file:/g' --in-place package.json + ''; - postInstall = let - pnpmLibPath = stdenv.lib.makeBinPath [ - nodejs.passthru.python - nodejs + postInstall = let + pnpmLibPath = stdenv.lib.makeBinPath [ + nodejs.passthru.python + nodejs + ]; + in '' + for prog in $out/bin/*; do + wrapProgram "$prog" --prefix PATH : ${pnpmLibPath} + done + ''; + }; + + pulp = super.pulp.override { + # tries to install purescript + npmFlags = "--ignore-scripts"; + }; + + ssb-server = super.ssb-server.override { + buildInputs = [ pkgs.automake pkgs.autoconf self.node-gyp-build ]; + meta.broken = since "10"; + }; + + tedicross = super."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override { + nativeBuildInputs = [ pkgs.makeWrapper ]; + postInstall = '' + makeWrapper '${nodejs}/bin/node' "$out/bin/tedicross" \ + --add-flags "$out/lib/node_modules/tedicross/main.js" + ''; + }; + + stf = super.stf.override { + meta.broken = since "10"; + }; + + webtorrent-cli = super.webtorrent-cli.override { + buildInputs = [ self.node-gyp-build ]; + }; + + joplin = super.joplin.override { + nativeBuildInputs = [ pkgs.pkg-config ]; + buildInputs = with pkgs; [ + # required by sharp + # https://sharp.pixelplumbing.com/install + vips + + self.node-pre-gyp ]; - in '' - for prog in $out/bin/*; do - wrapProgram "$prog" --prefix PATH : ${pnpmLibPath} - done - ''; - }; + }; - pulp = nodePackages.pulp.override { - npmFlags = "--ignore-scripts"; + thelounge = super.thelounge.override { + buildInputs = [ self.node-pre-gyp ]; + }; }; - - ssb-server = nodePackages.ssb-server.override { - buildInputs = [ pkgs.automake pkgs.autoconf nodePackages.node-gyp-build ]; - meta.broken = since "10"; - }; - - tedicross = nodePackages."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override { - nativeBuildInputs = [ pkgs.makeWrapper ]; - postInstall = '' - makeWrapper '${nodejs}/bin/node' "$out/bin/tedicross" \ - --add-flags "$out/lib/node_modules/tedicross/main.js" - ''; - }; - - stf = nodePackages.stf.override { - meta.broken = since "10"; - }; - - webtorrent-cli = nodePackages.webtorrent-cli.override { - buildInputs = [ nodePackages.node-gyp-build ]; - }; - - joplin = nodePackages.joplin.override { - nativeBuildInputs = [ pkgs.pkg-config ]; - buildInputs = with pkgs; [ - # required by sharp - # https://sharp.pixelplumbing.com/install - vips - - nodePackages.node-pre-gyp - ]; - }; - - thelounge = nodePackages.thelounge.override { - buildInputs = [ nodePackages.node-pre-gyp ]; - }; -} +in self From 3ee20ba064fcee93aefb256f809dc1fb611914ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sat, 30 May 2020 19:53:09 +0100 Subject: [PATCH 3/3] pulp: add purescript to PATH --- pkgs/development/node-packages/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index 4bc2b56b3ab..7ff3db8894e 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -76,7 +76,7 @@ let }; insect = super.insect.override (drv: { - nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package pkgs.purescript self.pulp ]; + nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package self.pulp ]; }); node-inspector = super.node-inspector.override { @@ -117,6 +117,13 @@ let pulp = super.pulp.override { # tries to install purescript npmFlags = "--ignore-scripts"; + + nativeBuildInputs = [ pkgs.makeWrapper ]; + postInstall = '' + wrapProgram "$out/bin/pulp" --suffix PATH : ${stdenv.lib.makeBinPath [ + pkgs.purescript + ]} + ''; }; ssb-server = super.ssb-server.override {