pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / by-name / pi / pinokio / package.nix
blobf71f7800c462082205acf199d1f650357673d944
1 { lib
2 , stdenv
3 , fetchurl
4 , pkgs
5 , appimageTools
6 }:
7 let
8   pname = "pinokio";
9   version = "1.3.4";
10   src = fetchurl {
11     x86_64-darwin = {
12       url = "https://github.com/pinokiocomputer/pinokio/releases/download/${version}/Pinokio-${version}.dmg";
13       hash = "sha256-Il5zaVWu4icSsKmMjU9u1/Mih34fd+xNpF1nkFAFFGo=";
14     };
15     x86_64-linux = {
16       url = "https://github.com/pinokiocomputer/pinokio/releases/download/${version}/Pinokio-${version}.AppImage";
17       hash = "sha256-/E/IAOUgxH9RWpE2/vLlQy92LOgwpHF79K/1XEtSpXI=";
18     };
19   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
21   appimageContents = appimageTools.extractType2 { inherit pname version src; };
23   meta = {
24     homepage = "https://pinokio.computer";
25     description = "Browser to install, run, and programmatically control ANY application automatically";
26     license = lib.licenses.mit;
27     maintainers = with lib.maintainers; [ ByteSudoer ];
28     platforms = [ "x86_64-darwin" "x86_64-linux" ];
29     mainProgram = "pinokio";
30     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
31   };
34 if stdenv.hostPlatform.isDarwin then
35   stdenv.mkDerivation
36   {
37     inherit pname version src meta;
39     sourceRoot = ".";
41     nativeBuildInputs = with pkgs; [ undmg ];
43     installPhase = ''
44       runHook preInstall
45       mkdir -p "$out/Applications"
46       mv Pinokio.app $out/Applications/
47       runHook postInstall
48     '';
49   }
50 else
51   appimageTools.wrapType2 {
52     inherit pname version src meta;
54     extraInstallCommands = ''
55       mkdir -p $out/share/pinokio
56       cp -a ${appimageContents}/{locales,resources} $out/share/pinokio
57       cp -a ${appimageContents}/usr/share/icons $out/share/
58       install -Dm 444 ${appimageContents}/pinokio.desktop -t $out/share/applications
59     '';
61   }