vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / by-name / sk / skeema / package.nix
bloba89538b2966b67b277663001b6ad9efe2ae33460
1 { lib, buildGoModule, fetchFromGitHub, coreutils, testers, skeema }:
3 buildGoModule rec {
4   pname = "skeema";
5   version = "1.12.0";
7   src = fetchFromGitHub {
8     owner = "skeema";
9     repo = "skeema";
10     rev = "v${version}";
11     hash = "sha256-MdaMK65PWreIPTuhsm+2ZVRQ8t/wYijkENk8qvX9oEM=";
12   };
14   vendorHash = null;
16   CGO_ENABLED = 0;
18   ldflags = [ "-s" "-w" ];
20   preCheck = ''
21     # Fix tests expecting /usr/bin/printf and /bin/echo
22     substituteInPlace skeema_cmd_test.go \
23       --replace /usr/bin/printf "${coreutils}/bin/printf"
25     substituteInPlace internal/fs/dir_test.go \
26       --replace /bin/echo "${coreutils}/bin/echo" \
27       --replace /usr/bin/printf "${coreutils}/bin/printf"
29     substituteInPlace internal/applier/ddlstatement_test.go \
30       --replace /bin/echo "${coreutils}/bin/echo"
31   '';
33   checkFlags =
34     let
35       skippedTests = [
36         # Tests requiring network access to gitlab.com
37         "TestDirRelPath"
38         "TestParseDir"
40         # Flaky tests
41         "TestCommandTimeout"
42         "TestShellOutTimeout"
44         # Fails with 'internal/fs/testdata/cfgsymlinks1/validrel/.skeema is a symlink pointing outside of its repo'.
45         "TestParseDirSymlinks"
46       ];
47     in
48     [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
50   passthru.tests.version = testers.testVersion {
51     package = skeema;
52   };
54   meta = with lib; {
55     description = "Declarative pure-SQL schema management for MySQL and MariaDB";
56     homepage = "https://skeema.io/";
57     license = licenses.asl20;
58     maintainers = with maintainers; [ aaronjheng ];
59     mainProgram = "skeema";
60   };