Unverified Commit 046ea1a2 authored by imad.nyc's avatar imad.nyc Committed by annalee
Browse files

warp-terminal: 0.2023.12.05.08.02.stable_00 -> 0.2024.02.20.08.01.stable_01;...

warp-terminal: 0.2023.12.05.08.02.stable_00 -> 0.2024.02.20.08.01.stable_01; added initial linux support
parent a3047b38
Loading
Loading
Loading
Loading
+77 −13
Original line number Diff line number Diff line
{ lib
, stdenvNoCC
, stdenv
, fetchurl
, autoPatchelfHook
, undmg
, zstd
, curl
, fontconfig
, libglvnd
, libxkbcommon
, vulkan-loader
, xdg-utils
, xorg
, zlib
}:
stdenvNoCC.mkDerivation (finalAttrs: {

let
pname = "warp-terminal";
  version = "0.2023.12.05.08.02.stable_00";
version = "0.2024.02.20.08.01.stable_01";

linux = stdenv.mkDerivation (finalAttrs:  {
  inherit pname version meta;
  src = fetchurl {
    url = "https://releases.warp.dev/stable/v${finalAttrs.version}/warp-terminal-v${finalAttrs.version}-1-x86_64.pkg.tar.zst";
    hash = "sha256-L8alnqSE4crrDozRfPaAAMkLc+5+8d9XBKd5ddsxmD0=";
  };

  sourceRoot = ".";

  postPatch = ''
    substituteInPlace usr/bin/warp-terminal \
      --replace-fail /opt/ $out/opt/
  '';

  nativeBuildInputs = [ autoPatchelfHook zstd ];

  buildInputs = [
    curl
    fontconfig
    stdenv.cc.cc.lib # libstdc++.so libgcc_s.so
    zlib
  ];

  runtimeDependencies = [
    libglvnd # for libegl
    libxkbcommon
    stdenv.cc.libc
    vulkan-loader
    xdg-utils
    xorg.libX11
    xorg.libxcb
    xorg.libXcursor
    xorg.libXi
  ];

  installPhase = ''
    runHook preInstall

    mkdir $out
    cp -r opt usr/* $out

    runHook postInstall
  '';
});

darwin = stdenvNoCC.mkDerivation (finalAttrs: {
  inherit pname version meta;
  src = fetchurl {
    url = "https://releases.warp.dev/stable/v${finalAttrs.version}/Warp.dmg";
    hash = "sha256-9olAmczIPRXV15NYCOYmwuEmJ7lMeaQRTTfukaYXMR0=";
    hash = "sha256-tFtoD8URMFfJ3HRkyKStuDStFkoRIV97y9kV4pbDPro=";
  };

  sourceRoot = ".";
@@ -24,6 +83,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {

    runHook postInstall
  '';
});

meta = with lib; {
  description = "Rust-based terminal";
@@ -31,6 +91,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
  license = licenses.unfree;
  sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
  maintainers = with maintainers; [ emilytrau Enzime ];
    platforms = platforms.darwin;
  platforms = platforms.darwin ++ [ "x86_64-linux" ];
};
})

in
if stdenvNoCC.isDarwin
then darwin
else linux