Unverified Commit 0aa50727 authored by phanirithvij's avatar phanirithvij
Browse files

mailpit: refactor to allow ui to be overriden



can't use versionCheckHook because it cannot accept more than one
argument for versionCheckProgramArg

Signed-off-by: default avatarphanirithvij <phanirithvij2000@gmail.com>
parent 3ea3e6d4
Loading
Loading
Loading
Loading
+28 −20
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  buildGoModule,
  fetchNpmDeps,
  npmHooks,
  nodejs,

  python3,
  libtool,
  cctools,
  npmHooks,
  fetchFromGitHub,
  fetchNpmDeps,
  testers,

  mailpit,
  nixosTests,
  testers,
}:

let
@@ -64,7 +66,7 @@ let

in

buildGoModule {
buildGoModule (finalAttrs: {
  pname = "mailpit";
  inherit src version vendorHash;

@@ -72,35 +74,41 @@ buildGoModule {

  ldflags = [
    "-s"
    "-w"
    "-X github.com/axllent/mailpit/config.Version=${version}"
  ];

  preBuild = ''
    cp -r ${ui} server/ui/dist
    cp -r ${finalAttrs.passthru.ui} server/ui/dist
  '';

  passthru.tests = {
  passthru = {
    tests = {
      inherit (nixosTests) mailpit;
      # cannot use versionCheckHook due to the extra --no-release-check flag
      # for workarounds and other solutions see https://github.com/NixOS/nixpkgs/pull/486143#discussion_r2754533347
      version = testers.testVersion {
        package = mailpit;
        command = "mailpit version --no-release-check";
      };
    };

  passthru.updateScript = {
    updateScript = {
      supportedFeatures = [ "commit" ];
      command = ./update.sh;
    };

    inherit ui;
  };

  __darwinAllowLocalNetworking = true;

  meta = {
    description = "Email and SMTP testing tool with API for developers";
    homepage = "https://github.com/axllent/mailpit";
    changelog = "https://github.com/axllent/mailpit/releases/tag/v${version}";
    maintainers = with lib.maintainers; [ stephank ];
    description = "Email and SMTP testing tool with API for developers";
    downloadPage = "https://github.com/axllent/mailpit";
    homepage = "https://mailpit.axllent.org";
    license = lib.licenses.mit;
    mainProgram = "mailpit";
    maintainers = with lib.maintainers; [ stephank ];
  };
}
})