Unverified Commit 2c8e307d authored by Thiago Kenji Okada's avatar Thiago Kenji Okada Committed by GitHub
Browse files

Merge pull request #326152 from NixOS/pmd105

protonmail-desktop: 1.0.4 -> 1.0.5
parents 96896ef3 dffdc50d
Loading
Loading
Loading
Loading
+51 −32
Original line number Diff line number Diff line
@@ -10,27 +10,33 @@

let
  mainProgram = "proton-mail";
  srcHashes = {
    # Upstream info: It's intended to stay like this in further releases
    # https://github.com/NixOS/nixpkgs/pull/326152#discussion_r1679558135
    universal-darwin = "sha256-JfZwHFp0aZtHcbP7tyG7uqFs2w+LWKfnfyuxxpxDJZ8=";
    x86_64-linux = "sha256-En5vkTHYtwN6GMgbtyhzsPqknOPRO9KlTqZfbBFaIFQ=";
  };

in
stdenv.mkDerivation rec {
  pname = "protonmail-desktop";
  version = "1.0.4";
  # Upstream info: "v"-prefix got dropped
  version = "1.0.5";

  src =
  src = fetchurl {
    url =
      if stdenv.isDarwin then
        "https://github.com/ProtonMail/inbox-desktop/releases/download/${version}/Proton.Mail-darwin-universal-${version}.zip"
      else
        "https://github.com/ProtonMail/inbox-desktop/releases/download/${version}/proton-mail_${version}_amd64.deb";
    sha256 =
      {
      "x86_64-linux" = fetchurl {
        url = "https://github.com/ProtonMail/inbox-desktop/releases/download/v${version}/proton-mail_${version}_amd64.deb";
        hash = "sha256-KY/rjiJozOQW27FYljy5N1VKuKroJz3V485DPaH01JY=";
      };
      "x86_64-darwin" = fetchurl {
        url = "https://github.com/ProtonMail/inbox-desktop/releases/download/v${version}/Proton.Mail-darwin-x64-${version}.zip";
        hash = "sha256-I5Yj1JR3DaAmC6WKI4X/d/q9rvmsck9SE3Mx3AY6yvU=";
      };
      "aarch64-darwin" = fetchurl {
        url = "https://github.com/ProtonMail/inbox-desktop/releases/download/v${version}/Proton.Mail-darwin-arm64-${version}.zip";
        hash = "sha256-j1F8hhLSq/C1WQXGrYnvFK8nNz4qwoA1ohNzPsS3tiY=";
      };
        x86_64-linux = srcHashes.x86_64-linux;
        x86_64-darwin = srcHashes.universal-darwin;
        aarch64-darwin = srcHashes.universal-darwin;
      }
    .${stdenv.hostPlatform.system};
      .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
  };

  sourceRoot = lib.optionalString stdenv.isDarwin ".";

@@ -42,18 +48,25 @@ stdenv.mkDerivation rec {
  ] ++ lib.optional stdenv.isLinux dpkg ++ lib.optional stdenv.isDarwin unzip;

  installPhase =
    lib.optionalString stdenv.isLinux ''
    let
      darwin = ''
        mkdir -p $out/{Applications,bin}
        cp -r "Proton Mail.app" $out/Applications/
        makeWrapper $out/Applications/"Proton Mail.app"/Contents/MacOS/Proton\ Mail $out/bin/protonmail-desktop
      '';
      linux = ''
        runHook preInstall
        mkdir -p $out
        cp -r usr/share/ $out/
        cp -r usr/lib/proton-mail/resources/app.asar $out/share/
      runHook postInstall
      '';

    in
    ''
    + lib.optionalString stdenv.isDarwin ''
      runHook preInstall
      mkdir -p $out/{Applications,bin}
      cp -r "Proton Mail.app" $out/Applications/
      makeWrapper $out/Applications/"Proton Mail.app"/Contents/MacOS/Proton\ Mail $out/bin/protonmail-desktop

      ${if stdenv.isDarwin then darwin else linux}

      runHook postInstall
    '';

@@ -66,17 +79,23 @@ stdenv.mkDerivation rec {
      --inherit-argv0
  '';

  meta = with lib; {
  passthru.updateScript = ./update.sh;

  meta = {
    description = "Desktop application for Mail and Calendar, made with Electron";
    homepage = "https://github.com/ProtonMail/inbox-desktop";
    license = licenses.gpl3Plus;
    maintainers = with maintainers; [
    license = lib.licenses.gpl3Plus;
    maintainers = with lib.maintainers; [
      rsniezek
      sebtm
      matteopacini
    ];
    platforms = [ "x86_64-linux" ] ++ platforms.darwin;
    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
    platforms = [
      "x86_64-linux"
      "x86_64-darwin"
      "aarch64-darwin"
    ];
    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
    inherit mainProgram;
  };
}
+30 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts jq

# shellcheck disable=SC1008

set -eu -o pipefail

latestVersion=$(curl https://api.github.com/repos/ProtonMail/inbox-desktop/releases/latest | jq -r '.tag_name')

declare -A platforms
platforms[x86_64-linux]="amd64"
platforms[x86_64-darwin]="x64"
platforms[aarch64-darwin]="arm64"

for platform in "${!platforms[@]}"
do
  arch=${platforms[$platform]}
  os=$(echo "$platform" | cut -d "-" -f2)

  if [[ "$os" == "linux" ]]; then
    downloadUrl="https://github.com/ProtonMail/inbox-desktop/releases/download/${latestVersion}/proton-mail_${latestVersion}_${arch}.deb"
  else
    downloadUrl="https://github.com/ProtonMail/inbox-desktop/releases/download/${latestVersion}/Proton.Mail-${os}-${arch}-${latestVersion}.zip"
  fi
  echo "$downloadUrl"

  latestSha=$(nix store prefetch-file "$downloadUrl" --json | jq -r '.hash')

  update-source-version "protonmail-desktop" "$latestVersion" "$latestSha" --system="$platform" --ignore-same-version --file=./pkgs/by-name/pr/protonmail-desktop/package.nix
done