python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / misc / 3mux / default.nix
blob31787467525fbfd81414b8a5aeab24cb0621c709
1 { lib, buildGoModule, fetchFromGitHub, fetchpatch, makeWrapper }:
3 buildGoModule rec {
4   pname = "3mux";
5   version = "1.1.0";
7   src = fetchFromGitHub {
8     owner = "aaronjanse";
9     repo = pname;
10     rev = "v${version}";
11     sha256 = "sha256-QT4QXTlJf2NfTqXE4GF759EoW6Ri12lxDyodyEFc+ag=";
12   };
14   patches = [
15     # Fix the build for Darwin when building with Go 1.18.
16     # https://github.com/aaronjanse/3mux/pull/127
17     (fetchpatch {
18       name = "darwin-go-1.18-fix.patch";
19       url = "https://github.com/aaronjanse/3mux/commit/91aed826c50f75a5175b63c72a1fb6a4ad57a008.patch";
20       sha256 = "sha256-MOPAyWAYYWrlCCgw1rBaNmHZO9oTIpIQwLJcs0aY/m8=";
21     })
22   ];
24   nativeBuildInputs = [ makeWrapper ];
26   vendorSha256 = "sha256-qt8MYnvbZMuU1VwdSij6+x4N0r10c1R5Gcm+jDt76uc=";
28   # This is a package used for internally testing 3mux. It's meant for
29   # use by 3mux maintainers/contributors only.
30   excludedPackages = [ "fuzz" ];
32   # 3mux needs to have itself in the path so users can run `3mux detach`.
33   # This ensures that, while inside 3mux, the binary in the path is the
34   # same version as the 3mux hosting the session. This also allows users
35   # to use 3mux via `nix run nixpkgs#_3mux` (otherwise they'd get "command
36   # not found").
37   postInstall = ''
38     wrapProgram $out/bin/3mux --prefix PATH : $out/bin
39   '';
41   meta = with lib; {
42     description = "Terminal multiplexer inspired by i3";
43     longDescription = ''
44       Terminal multiplexer with out-of-the-box support for search,
45       mouse-controlled scrollback, and i3-like keybindings
46     '';
47     homepage = "https://github.com/aaronjanse/3mux";
48     license = licenses.mit;
49     maintainers = with maintainers; [ aaronjanse Br1ght0ne ];
50     platforms = platforms.unix;
51   };