at master 1.8 kB view raw
1{ 2 nodePkgs, 3 pkgs, 4 lib, 5 makeWrapper, 6}: 7 8let 9 ESBUILD_BINARY_PATH = lib.getExe ( 10 pkgs.esbuild.override { 11 buildGoModule = 12 args: 13 pkgs.buildGoModule ( 14 args 15 // rec { 16 version = "0.25.5"; 17 src = pkgs.fetchFromGitHub { 18 owner = "evanw"; 19 repo = "esbuild"; 20 rev = "v${version}"; 21 hash = "sha256-jemGZkWmN1x2+ZzJ5cLp3MoXO0oDKjtZTmZS9Be/TDw="; 22 }; 23 vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; 24 } 25 ); 26 } 27 ); 28in 29nodePkgs."elm-pages".overrideAttrs (old: { 30 inherit ESBUILD_BINARY_PATH; 31 nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ 32 makeWrapper 33 old.nodejs.pkgs.node-gyp-build 34 ]; 35 36 # can't use `patches = [ <patch_file> ]` with a nodePkgs derivation; 37 # need to patch in one of the build phases instead. 38 # see upstream issue https://github.com/dillonkearns/elm-pages/issues/305 for dealing with the read-only problem 39 preFixup = '' 40 patch $out/lib/node_modules/elm-pages/generator/src/codegen.js ${./fix-read-only.patch} 41 patch $out/lib/node_modules/elm-pages/generator/src/init.js ${./fix-init-read-only.patch} 42 ''; 43 44 postFixup = '' 45 wrapProgram $out/bin/elm-pages --prefix PATH : ${ 46 with pkgs.elmPackages; 47 lib.makeBinPath [ 48 elm 49 elm-review 50 elm-optimize-level-2 51 ] 52 } 53 ''; 54 55 meta = 56 with lib; 57 nodePkgs."elm-pages".meta 58 // { 59 description = "Statically typed site generator for Elm"; 60 homepage = "https://github.com/dillonkearns/elm-pages"; 61 license = licenses.bsd3; 62 maintainers = [ 63 maintainers.turbomack 64 maintainers.jali-clarke 65 ]; 66 }; 67})