base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / hy / hyper / package.nix
blob4db56792b73377438f3c684891fe5155b804a76b
1 { stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gtk3, cairo
2 , freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
3 , libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver, libxcb, nss, nspr
4 , alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk, at-spi2-core, libxshmfence
5 , libdrm, libxkbcommon, mesa, nixosTests}:
7 let
8   libPath = lib.makeLibraryPath [
9     stdenv.cc.cc gtk3 atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
10     libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
11     libXrender libX11 libXtst libXScrnSaver nss nspr alsa-lib cups expat udev libpulseaudio
12     at-spi2-atk at-spi2-core libxshmfence libdrm libxkbcommon mesa
13   ];
16 stdenv.mkDerivation rec {
17   pname = "hyper";
18   version = "3.4.1";
20   src = fetchurl {
21     url = "https://github.com/vercel/hyper/releases/download/v${version}/hyper_${version}_amd64.deb";
22     sha256 = "sha256-jEzZ6MWFaNXBS8CAzfn/ufMPpWcua9HhBFzetWMlH1Y=";
23   };
25   nativeBuildInputs = [ dpkg ];
27   unpackPhase = ''
28     mkdir pkg
29     dpkg-deb -x $src pkg
30     sourceRoot=pkg
31   '';
33   installPhase = ''
34     mkdir -p "$out/bin"
35     mv opt "$out/"
37     ln -s "$out/opt/Hyper/hyper" "$out/bin/hyper"
38     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Hyper:\$ORIGIN" "$out/opt/Hyper/hyper"
40     mv usr/* "$out/"
42     substituteInPlace $out/share/applications/hyper.desktop \
43       --replace "/opt/Hyper/hyper" "hyper"
44   '';
46   passthru.tests.test = nixosTests.terminal-emulators.hyper;
48   dontPatchELF = true;
49   meta = with lib; {
50     description = "Terminal built on web technologies";
51     homepage    = "https://hyper.is/";
52     maintainers = with maintainers; [ puffnfresh fabiangd ];
53     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
54     license     = licenses.mit;
55     platforms   = [ "x86_64-linux" ];
56     mainProgram = "hyper";
57     broken = true; # Error: 'node-pty' failed to load
58   };