Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 rustPlatform, 4 fetchFromGitHub, 5 pkg-config, 6 sqlite, 7 zstd, 8 fetchurl, 9}: 10 11let 12 apexcharts = fetchurl { 13 url = "https://cdn.jsdelivr.net/npm/apexcharts@4.5.0/dist/apexcharts.min.js"; 14 hash = "sha256-D19uY7rZtzJPVsZWYpvTOoY2hXmgfg+Mlaf+ALYHTgg="; 15 }; 16 tablerCss = fetchurl { 17 url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0/dist/css/tabler.min.css"; 18 hash = "sha256-aO+4ZoyNPZHCexbbprDYU9LCxshqszQA0SINFYfos3M="; 19 }; 20 tablerVendorsCss = fetchurl { 21 url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0/dist/css/tabler-vendors.min.css"; 22 hash = "sha256-MyRhKcnB54KIswGkkyYXzEjx3YPVTKG7zVBf4wE20QY="; 23 }; 24 tablerJs = fetchurl { 25 url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0/dist/js/tabler.min.js"; 26 hash = "sha256-QoGNzPGpYrbyDynQUZxmnFFT8MEk/nkUCLyp71avhqw="; 27 }; 28 tablerIcons = fetchurl { 29 url = "https://cdn.jsdelivr.net/npm/@tabler/icons-sprite@3.30.0/dist/tabler-sprite.svg"; 30 hash = "sha256-CD5BvpwW4Db6C7bxjaWUrA3kz17BDJKVU4bTwOPP1kE="; 31 }; 32 tomselect = fetchurl { 33 url = "https://cdn.jsdelivr.net/npm/tom-select@2.4.1/dist/js/tom-select.popular.min.js"; 34 hash = "sha256-Cb1Xmb9qQO8I1mMVkz4t2bT8l7HX+1JeKncGBSytSHQ="; 35 }; 36in 37 38rustPlatform.buildRustPackage rec { 39 pname = "sqlpage"; 40 version = "0.34.0"; 41 42 src = fetchFromGitHub { 43 owner = "lovasoa"; 44 repo = "SQLpage"; 45 tag = "v${version}"; 46 hash = "sha256-cqMXdAXc46DbbONz1A6uf2Oo2Cu4sig6ntuLqYlihR4="; 47 }; 48 49 postPatch = '' 50 substituteInPlace sqlpage/apexcharts.js \ 51 --replace-fail '/* !include https://cdn.jsdelivr.net/npm/apexcharts@4.5.0/dist/apexcharts.min.js */' \ 52 "$(cat ${apexcharts})" 53 substituteInPlace sqlpage/sqlpage.css \ 54 --replace-fail '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0/dist/css/tabler.min.css */' \ 55 "$(cat ${tablerCss})" 56 substituteInPlace sqlpage/sqlpage.css \ 57 --replace-fail '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0/dist/css/tabler-vendors.min.css */' \ 58 "$(cat ${tablerVendorsCss})" 59 substituteInPlace sqlpage/sqlpage.js \ 60 --replace-fail '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0/dist/js/tabler.min.js */' \ 61 "$(cat ${tablerJs})" 62 substituteInPlace sqlpage/tabler-icons.svg \ 63 --replace-fail '/* !include https://cdn.jsdelivr.net/npm/@tabler/icons-sprite@3.30.0/dist/tabler-sprite.svg */' \ 64 "$(cat ${tablerIcons})" 65 substituteInPlace sqlpage/tomselect.js \ 66 --replace-fail '/* !include https://cdn.jsdelivr.net/npm/tom-select@2.4.1/dist/js/tom-select.popular.min.js */' \ 67 "$(cat ${tomselect})" 68 ''; 69 70 cargoHash = "sha256-NUbCSYUTXN8glw94Lr/+Jj54PukRXFlzTxq0d7znjwA="; 71 72 nativeBuildInputs = [ pkg-config ]; 73 74 buildInputs = [ 75 sqlite 76 zstd 77 ]; 78 79 env.ZSTD_SYS_USE_PKG_CONFIG = true; 80 81 meta = { 82 description = "SQL-only webapp builder, empowering data analysts to build websites and applications quickly"; 83 homepage = "https://github.com/lovasoa/SQLpage"; 84 changelog = "https://github.com/lovasoa/SQLpage/blob/${src.tag}/CHANGELOG.md"; 85 license = lib.licenses.mit; 86 maintainers = with lib.maintainers; [ dit7ya ]; 87 mainProgram = "sqlpage"; 88 }; 89}