pagefind: init at 1.0.3

authored by

Peder Bergebakken Sundt and committed by
Yt
fe806f61 187afc5d

+112
+110
pkgs/applications/misc/pagefind/default.nix
··· 1 + { lib 2 + , callPackage 3 + , rustPlatform 4 + , fetchFromGitHub 5 + , fetchNpmDeps 6 + , npmHooks 7 + , binaryen 8 + , gzip 9 + , nodejs 10 + , rustc-wasm32 11 + , wasm-bindgen-cli 12 + , wasm-pack 13 + }: 14 + 15 + let 16 + 17 + wasm-bindgen-84 = wasm-bindgen-cli.override { 18 + version = "0.2.84"; 19 + hash = "sha256-0rK+Yx4/Jy44Fw5VwJ3tG243ZsyOIBBehYU54XP/JGk="; 20 + cargoHash = "sha256-vcpxcRlW1OKoD64owFF6mkxSqmNrvY+y3Ckn5UwEQ50="; 21 + }; 22 + 23 + in 24 + 25 + rustPlatform.buildRustPackage rec { 26 + pname = "pagefind"; 27 + version = "1.0.3"; 28 + 29 + src = fetchFromGitHub { 30 + owner = "cloudcannon"; 31 + repo = "pagefind"; 32 + rev = "refs/tags/v${version}"; 33 + hash = "sha256-vQbLaZug3gySMIbMdNqU7XcL4GZ7XqZ3ZkwdDBC5T9o="; 34 + }; 35 + 36 + cargoHash = "sha256-ubuzO/67HguWPqd3y/IapO07L2pg2Q4vo1yTpEthdoU="; 37 + 38 + env.npmDeps_web_js = fetchNpmDeps { 39 + name = "npm-deps-web-js"; 40 + src = "${src}/pagefind_web_js"; 41 + hash = "sha256-pGE4lUFZ4dA++8kBklcMBoaN/1Z92dfOzQKhukbuEyc="; 42 + }; 43 + env.npmDeps_ui_default = fetchNpmDeps { 44 + name = "npm-deps-ui-default"; 45 + src = "${src}/pagefind_ui/default"; 46 + hash = "sha256-voCs49JneWYE1W9U7aB6G13ypH6JqathVDeF58V57U8="; 47 + }; 48 + env.npmDeps_ui_modular = fetchNpmDeps { 49 + name = "npm-deps-ui-modular"; 50 + src = "${src}/pagefind_ui/modular"; 51 + hash = "sha256-O0RqZUsRFtByxMQdwNGNcN38Rh+sDqqNo9YlBcrnsF4="; 52 + }; 53 + 54 + postPatch = '' 55 + # Tricky way to run npmConfigHook multiple times 56 + ( 57 + local postPatchHooks=() # written to by npmConfigHook 58 + source ${npmHooks.npmConfigHook}/nix-support/setup-hook 59 + npmRoot=pagefind_web_js npmDeps=$npmDeps_web_js npmConfigHook 60 + npmRoot=pagefind_ui/default npmDeps=$npmDeps_ui_default npmConfigHook 61 + npmRoot=pagefind_ui/modular npmDeps=$npmDeps_ui_modular npmConfigHook 62 + ) 63 + ''; 64 + 65 + nativeBuildInputs = [ 66 + binaryen 67 + gzip 68 + nodejs 69 + rustc-wasm32 70 + rustc-wasm32.llvmPackages.lld 71 + wasm-bindgen-84 72 + wasm-pack 73 + ]; 74 + 75 + # build wasm and js assets 76 + # based on "test-and-build" in https://github.com/CloudCannon/pagefind/blob/main/.github/workflows/release.yml 77 + preBuild = '' 78 + export HOME=$(mktemp -d) 79 + ( 80 + cd pagefind_web_js 81 + npm run build-coupled 82 + ) 83 + 84 + ( 85 + cd pagefind_web 86 + export RUSTFLAGS="-C linker=lld" 87 + bash ./local_build.sh 88 + ) 89 + 90 + ( 91 + cd pagefind_ui/default 92 + npm run build 93 + ) 94 + 95 + ( 96 + cd pagefind_ui/modular 97 + npm run build 98 + ) 99 + ''; 100 + 101 + buildFeatures = [ "extended" ]; 102 + 103 + meta = with lib; { 104 + description = "Generate low-bandwidth search index for your static website"; 105 + homepage = "https://pagefind.app/"; 106 + license = licenses.mit; 107 + maintainers = with maintainers; [ pbsds ]; 108 + platforms = platforms.unix; 109 + }; 110 + }
+2
pkgs/top-level/all-packages.nix
··· 11780 11780 11781 11781 PageEdit = libsForQt5.callPackage ../applications/office/PageEdit { }; 11782 11782 11783 + pagefind = libsForQt5.callPackage ../applications/misc/pagefind { }; 11784 + 11783 11785 paging-calculator = callPackage ../development/tools/paging-calculator { }; 11784 11786 11785 11787 pagmo2 = callPackage ../development/libraries/pagmo2 { };