{ lib , buildGoModule , fetchFromGitHub , stdenv }: buildGoModule rec { pname = "goose"; version = "3.21.1"; src = fetchFromGitHub { owner = "pressly"; repo = pname; rev = "v${version}"; hash = "sha256-Klmgw5dYt2/JYc0nuqIZwos3/onlRwsfzTOJ/Yi2pMw="; }; proxyVendor = true; vendorHash = "sha256-V875bGtp6Aki64TM3x0n1aERc5sVPIDZ3rNPF9D/osk="; # skipping: end-to-end tests require a docker daemon postPatch = '' rm -r tests/gomigrations ''; subPackages = [ "cmd/goose" ]; ldflags = [ "-s" "-w" "-X=main.version=${version}" ]; checkFlags = [ # NOTE: # - skipping: these also require a docker daemon # - these are for go tests that live outside of the /tests directory "-skip=TestClickUpDown|TestClickHouseFirstThree|TestLockModeAdvisorySession|TestDialectStore|TestGoMigrationStats|TestPostgresSessionLocker" ]; doCheck = !stdenv.isDarwin; meta = with lib; { description = "Database migration tool which supports SQL migrations and Go functions"; homepage = "https://pressly.github.io/goose/"; license = licenses.bsd3; maintainers = with maintainers; [ ]; mainProgram = "goose"; }; }