Unverified Commit 46897ae2 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

upscayl: darwin support, add darwin maintainer (#372657)

parents 2e8dff0a 26a955e8
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
{
  stdenvNoCC,
  unzip,
  makeWrapper,

  pname,
  version,
  meta,
  src,
}:
stdenvNoCC.mkDerivation {
  inherit
    pname
    version
    meta
    src
    ;

  sourceRoot = ".";

  nativeBuildInputs = [
    unzip
    makeWrapper
  ];

  installPhase = ''
    runHook preInstall
    mkdir -p $out/{bin,Applications}
    cp -r Upscayl.app $out/Applications/
    makeWrapper $out/Applications/Upscayl.app/Contents/MacOS/Upscayl $out/bin/upscayl
    runHook postInstall
  '';
}
+46 −0
Original line number Diff line number Diff line
{
  appimageTools,
  makeWrapper,

  pname,
  version,
  meta,
  src,
}:

let
  appimageContents = appimageTools.extractType2 {
    inherit pname version src;
  };
in
appimageTools.wrapType2 {
  inherit
    pname
    version
    src
    meta
    ;

  nativeBuildInputs = [
    makeWrapper
  ];

  extraPkgs = pkgs: [
    pkgs.vulkan-headers
    pkgs.vulkan-loader
  ];

  extraInstallCommands = ''
    mkdir -p $out/share/{applications,pixmaps}

    cp ${appimageContents}/upscayl.desktop $out/share/applications/upscayl.desktop
    cp ${appimageContents}/upscayl.png $out/share/pixmaps/upscayl.png

    substituteInPlace $out/share/applications/upscayl.desktop \
      --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=upscayl'

    wrapProgram $out/bin/upscayl \
      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
  '';

}
+39 −42
Original line number Diff line number Diff line
{
  appimageTools,
  fetchurl,
  stdenv,
  lib,
  makeWrapper,
  fetchurl,
  callPackage,
}:

let
  pname = "upscayl";
  version = "2.15.0";

  src = fetchurl {
  srcs = rec {
    x86_64-linux = fetchurl {
      url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
      hash = "sha256-ZFlFfliby5nneepELc5gi6zaM5FrcBmohit8YlKqgik=";
    };

  appimageContents = appimageTools.extractType2 {
    inherit pname version src;
    aarch64-darwin = fetchurl {
      url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-mac.zip";
      hash = "sha256-gXqeRaNW0g7ZVkCSbxps9SqPMuVSzLTCGL5F3Om/iwo=";
    };
in
appimageTools.wrapType2 {
  inherit pname version src;

  nativeBuildInputs = [
    makeWrapper
  ];

  extraPkgs = pkgs: [
    pkgs.vulkan-headers
    pkgs.vulkan-loader
  ];

  extraInstallCommands = ''
    mkdir -p $out/share/{applications,pixmaps}

    cp ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
    cp ${appimageContents}/${pname}.png $out/share/pixmaps/${pname}.png

    substituteInPlace $out/share/applications/${pname}.desktop \
      --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'

    wrapProgram $out/bin/${pname} \
      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
  '';

  meta = with lib; {
    x86_64-darwin = aarch64-darwin;
  };
  meta = {
    description = "Free and Open Source AI Image Upscaler";
    homepage = "https://upscayl.github.io/";
    maintainers = with maintainers; [ icy-thought ];
    license = licenses.agpl3Plus;
    platforms = platforms.linux;
    maintainers = with lib.maintainers; [
      icy-thought
      matteopacini
    ];
    license = lib.licenses.agpl3Plus;
    platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
    mainProgram = "upscayl";
  };
in
if stdenv.hostPlatform.isDarwin then
  callPackage ./darwin.nix {
    inherit
      pname
      version
      meta
      ;
    src = srcs.${stdenv.hostPlatform.system};
  }
else
  callPackage ./linux.nix {
    inherit
      pname
      version
      meta
      ;
    src = srcs.${stdenv.hostPlatform.system};
  }