at 24.11-pre 3.4 kB view raw
1{ lib 2, rustPlatform 3, fetchFromGitHub 4, pkg-config 5, sqlite 6, zstd 7, stdenv 8, darwin 9, fetchurl 10}: 11 12let 13 apexcharts = fetchurl { 14 url = "https://cdn.jsdelivr.net/npm/apexcharts@3.43.2-0/dist/apexcharts.min.js"; 15 sha256 = "sha256-7al9VaQHu7u5jfx1HZf+T8k27kbIhgHvRwaeIeYEjVI="; 16 }; 17 tablerCss = fetchurl { 18 url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/css/tabler.min.css"; 19 sha256 = "sha256-lS3nKxMMZiKIRJG7UgUonOHYuvHgW5eckEjvHMYxb9Q="; 20 }; 21 tablerVendorsCss = fetchurl { 22 url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/css/tabler-vendors.min.css"; 23 sha256 = "sha256-Aa7AUOaz6hJLiUzQStZTy2VPOZyg0ViSo2MCzpDU1tY="; 24 }; 25 tablerJs = fetchurl { 26 url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/js/tabler.min.js"; 27 sha256 = "sha256-ygO5OTRUtYxDDkERRwBCfq+fmakhM6ybwfl6gCCPlAQ="; 28 }; 29 listJsFixed = fetchurl { 30 url = "https://cdn.jsdelivr.net/npm/list.js-fixed@2.3.4/dist/list.min.js"; 31 sha256 = "sha256-sYy7qNJW7RTuaNA0jq6Yrtfs57ypYrItZ3f8T7kqfPM="; 32 }; 33 tablerIcons = fetchurl { 34 url = "https://cdn.jsdelivr.net/npm/@tabler/icons@2.39.0/tabler-sprite.svg"; 35 sha256 = "sha256-8C9PPhDyVnym0q/RkQlTyfjKbAMRsYBlRtsMbNAepvY="; 36 }; 37in 38 39rustPlatform.buildRustPackage rec { 40 pname = "sqlpage"; 41 version = "0.15.1"; 42 43 src = fetchFromGitHub { 44 owner = "lovasoa"; 45 repo = "SQLpage"; 46 rev = "v${version}"; 47 hash = "sha256-0CPWMVdX0HGPMfIiDfC6TJ2t07O6eZcS7yEDVAvjLUc="; 48 }; 49 50 postPatch = '' 51 substituteInPlace sqlpage/apexcharts.js \ 52 --replace '/* !include https://cdn.jsdelivr.net/npm/apexcharts@3.43.2-0/dist/apexcharts.min.js */' \ 53 "$(cat ${apexcharts})" 54 substituteInPlace sqlpage/sqlpage.css \ 55 --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/css/tabler.min.css */' \ 56 "$(cat ${tablerCss})" 57 substituteInPlace sqlpage/sqlpage.css \ 58 --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/css/tabler-vendors.min.css */' \ 59 "$(cat ${tablerVendorsCss})" 60 substituteInPlace sqlpage/sqlpage.js \ 61 --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/js/tabler.min.js */' \ 62 "$(cat ${tablerJs})" 63 substituteInPlace sqlpage/sqlpage.js \ 64 --replace '/* !include https://cdn.jsdelivr.net/npm/list.js-fixed@2.3.4/dist/list.min.js */' \ 65 "$(cat ${listJsFixed})" 66 substituteInPlace sqlpage/tabler-icons.svg \ 67 --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/icons@2.39.0/tabler-sprite.svg */' \ 68 "$(cat ${tablerIcons})" 69 ''; 70 71 cargoHash = "sha256-ooK4eIaPbUsxgDuVJkWHlArMa81TtlRfR6YYEAh7cLY="; 72 73 nativeBuildInputs = [ 74 pkg-config 75 ]; 76 77 buildInputs = 78 [ 79 sqlite 80 zstd 81 ] 82 ++ lib.optionals stdenv.isDarwin [ 83 darwin.apple_sdk.frameworks.CoreFoundation 84 darwin.apple_sdk.frameworks.Security 85 darwin.apple_sdk.frameworks.SystemConfiguration 86 ]; 87 88 env = { 89 ZSTD_SYS_USE_PKG_CONFIG = true; 90 }; 91 92 meta = { 93 description = "SQL-only webapp builder, empowering data analysts to build websites and applications quickly"; 94 homepage = "https://github.com/lovasoa/SQLpage"; 95 changelog = "https://github.com/lovasoa/SQLpage/blob/${src.rev}/CHANGELOG.md"; 96 license = lib.licenses.mit; 97 maintainers = with lib.maintainers; [ dit7ya ]; 98 mainProgram = "sqlpage"; 99 }; 100}