Unverified Commit 6d5d215a authored by Matthias Beyer's avatar Matthias Beyer Committed by GitHub
Browse files

Merge pull request #250320 from dit7ya/sqlpage

sqlpage: init at 0.9.5
parents 0533c624 7f5b5911
Loading
Loading
Loading
Loading
+99 −0
Original line number Diff line number Diff line
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, sqlite
, zstd
, stdenv
, darwin
, fetchurl
}:

let
  apexcharts = fetchurl {
    url = "https://cdn.jsdelivr.net/npm/apexcharts@3.41.0/dist/apexcharts.min.js";
    sha256 = "sha256-JvfrbG0Jkj1XzwMu28wweq4DTzHgRAQHmC5f0stdU5Q=";
  };
  tablerCss = fetchurl {
    url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta19/dist/css/tabler.min.css";
    sha256 = "sha256-vvqPe3OoUsri+/z6/s3a9LZ/u0tM07VNmVWopaXS3Uk=";
  };
  tablerVendorsCss = fetchurl {
    url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta19/dist/css/tabler-vendors.min.css";
    sha256 = "sha256-Pxz9YzwGJIUlHDNZMU9h7Lz/7qA/t0ehlRfC1P8wzxE=";
  };
  tablerJs = fetchurl {
    url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta19/dist/js/tabler.min.js";
    sha256 = "sha256-xnY4FSLoAEy0TVjo/xv488tAXOrI+hvXGvEVVQdMDk8=";
  };
  listJsFixed = fetchurl {
    url = "https://cdn.jsdelivr.net/npm/list.js-fixed@2.3.2/dist/list.min.js";
    sha256 = "sha256-mwE8YX5fgYlI9M7zCNDlPxT7pb7NJPkOyo1Y+4At85s=";
  };
  tablerIcons = fetchurl {
    url = "https://cdn.jsdelivr.net/npm/@tabler/icons@2.30.0/tabler-sprite.svg";
    sha256 = "sha256-xRHWlHNQraZpiRlgVswkfgN1qMrjQOtRYAq1N/DccgQ=";
  };
in

rustPlatform.buildRustPackage rec {
  pname = "sqlpage";
  version = "0.9.5";

  src = fetchFromGitHub {
    owner = "lovasoa";
    repo = "SQLpage";
    rev = "v${version}";
    hash = "sha256-6KJ3phhOf10S0EMdolUw3sdXm1G7yuF+Ii/AjdgBE+s=";
  };

  postPatch = ''
    substituteInPlace sqlpage/apexcharts.js \
      --replace '/* !include https://cdn.jsdelivr.net/npm/apexcharts@3.41.0/dist/apexcharts.min.js */' \
      "$(cat ${apexcharts})"
    substituteInPlace sqlpage/sqlpage.css \
      --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta19/dist/css/tabler.min.css */' \
      "$(cat ${tablerCss})"
    substituteInPlace sqlpage/sqlpage.css \
      --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta19/dist/css/tabler-vendors.min.css */' \
      "$(cat ${tablerVendorsCss})"
    substituteInPlace sqlpage/sqlpage.js \
      --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta19/dist/js/tabler.min.js */' \
      "$(cat ${tablerJs})"
    substituteInPlace sqlpage/sqlpage.js \
      --replace '/* !include https://cdn.jsdelivr.net/npm/list.js-fixed@2.3.2/dist/list.min.js */' \
      "$(cat ${listJsFixed})"
    substituteInPlace sqlpage/tabler-icons.svg \
      --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/icons@2.30.0/tabler-sprite.svg */' \
      "$(cat ${tablerIcons})"
  '';

  cargoHash = "sha256-kJzBvZSh6jkSJ4um+KYp7fKklDPlvOgz5NQb7j99brw=";

  nativeBuildInputs = [
    pkg-config
  ];

  buildInputs =
    [
      sqlite
      zstd
    ]
    ++ lib.optionals stdenv.isDarwin [
      darwin.apple_sdk.frameworks.CoreFoundation
      darwin.apple_sdk.frameworks.Security
      darwin.apple_sdk.frameworks.SystemConfiguration
    ];

  env = {
    ZSTD_SYS_USE_PKG_CONFIG = true;
  };

  meta = {
    description = "SQL-only webapp builder, empowering data analysts to build websites and applications quickly";
    homepage = "https://github.com/lovasoa/SQLpage";
    changelog = "https://github.com/lovasoa/SQLpage/blob/${src.rev}/CHANGELOG.md";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ dit7ya ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -20106,6 +20106,8 @@ with pkgs;
  sqlmap = with python3Packages; toPythonApplication sqlmap;
  sqlpage = callPackage ../servers/sqlpage { };
  src-cli = callPackage ../development/tools/misc/src-cli { };
  sselp = callPackage ../tools/X11/sselp{ };