Merge pull request #214678 from WolfangAukang/pocket-casts-source

pocket-casts: build from source

authored by

Nick Cao and committed by
GitHub
6da5c8fa c6e48a69

+36 -32
+33 -31
pkgs/applications/audio/pocket-casts/default.nix
··· 1 - { lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron 2 - , alsa-lib, gtk3, libXScrnSaver, libXtst, mesa, nss }: 3 4 stdenv.mkDerivation rec { 5 pname = "pocket-casts"; 6 version = "0.6.0"; 7 8 - src = fetchurl { 9 - url = "https://github.com/felicianotech/pocket-casts-desktop-app/releases/download/v${version}/${pname}_${version}_amd64.deb"; 10 - sha256 = "sha256-nHdF9RDOkM9HwwmK/axiIPM4nmKrWp/FHNC/EI1vTTc="; 11 }; 12 13 nativeBuildInputs = [ 14 - dpkg 15 - autoPatchelfHook 16 makeWrapper 17 ]; 18 19 - buildInputs = [ alsa-lib gtk3 libXScrnSaver libXtst mesa nss ]; 20 - 21 - unpackCmd = '' 22 - # If unpacking using -x option, there is a permission error 23 - dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner; 24 - ''; 25 - 26 installPhase = '' 27 runHook preInstall 28 29 - mkdir -p $out 30 - mv bin $out 31 - mv lib $out 32 - mv share $out 33 34 - cp $out/lib/pocket-casts/resources/app/icon.png $out/share/pixmaps/pocket-casts.png 35 36 - runHook postInstall 37 - ''; 38 39 - postFixup = '' 40 - substituteInPlace $out/share/applications/pocket-casts.desktop \ 41 - --replace Name=pocket-casts "Name=Pocket Casts" \ 42 - --replace GenericName=pocket-casts "GenericName=Podcasts App" \ 43 - --replace Exec=pocket-casts Exec=$out/bin/pocket-casts 44 - makeWrapper ${electron}/bin/electron \ 45 - $out/bin/pocket-casts \ 46 - --add-flags $out/lib/pocket-casts/resources/app/main.js 47 ''; 48 49 meta = with lib; { 50 description = "Pocket Casts webapp, packaged for the Linux Desktop"; 51 homepage = "https://github.com/felicianotech/pocket-casts-desktop-app"; 52 - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 53 license = licenses.mit; 54 maintainers = with maintainers; [ wolfangaukang ]; 55 - platforms = [ "x86_64-linux" ]; 56 }; 57 }
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , electron 5 + , copyDesktopItems 6 + , makeDesktopItem 7 + , makeWrapper 8 + }: 9 10 stdenv.mkDerivation rec { 11 pname = "pocket-casts"; 12 version = "0.6.0"; 13 14 + src = fetchFromGitHub { 15 + owner = "felicianotech"; 16 + repo = "pocket-casts-desktop-app"; 17 + rev = "v${version}"; 18 + sha256 = "sha256-WMv2G4b7kYnWy0pz8YyI2eTdefs1mtWau+HQLiRygjE="; 19 }; 20 21 + desktopItems = [ 22 + (makeDesktopItem { 23 + name = pname; 24 + desktopName = "Pocket Casts"; 25 + genericName = "Podcasts Listener"; 26 + exec = "pocket-casts"; 27 + icon = "pocket-casts"; 28 + comment = meta.description; 29 + }) 30 + ]; 31 + 32 nativeBuildInputs = [ 33 + copyDesktopItems 34 makeWrapper 35 ]; 36 37 installPhase = '' 38 runHook preInstall 39 40 + mkdir -p $out/bin $out/opt/pocket-casts $out/share/pixmaps 41 42 + cp -r main.js tray-icon.png LICENSE $out/opt/pocket-casts 43 + install -Dm644 icon.png $out/share/pixmaps/pocket-casts.png 44 + install -Dm644 icon-x360.png $out/share/pixmaps/pocket-casts-x360.png 45 46 + makeWrapper ${electron}/bin/electron $out/bin/pocket-casts \ 47 + --add-flags $out/opt/pocket-casts/main.js 48 49 + runHook postInstall 50 ''; 51 52 meta = with lib; { 53 description = "Pocket Casts webapp, packaged for the Linux Desktop"; 54 homepage = "https://github.com/felicianotech/pocket-casts-desktop-app"; 55 license = licenses.mit; 56 maintainers = with maintainers; [ wolfangaukang ]; 57 + platforms = platforms.linux; 58 }; 59 }
+3 -1
pkgs/top-level/all-packages.nix
··· 5380 5381 pn = callPackage ../tools/text/pn { }; 5382 5383 - pocket-casts = callPackage ../applications/audio/pocket-casts { }; 5384 5385 pouf = callPackage ../tools/misc/pouf { }; 5386
··· 5380 5381 pn = callPackage ../tools/text/pn { }; 5382 5383 + pocket-casts = callPackage ../applications/audio/pocket-casts { 5384 + electron = electron_22; 5385 + }; 5386 5387 pouf = callPackage ../tools/misc/pouf { }; 5388