diff options
Diffstat (limited to 'pkgs/by-name/ko/koodo-reader/package.nix')
-rw-r--r-- | pkgs/by-name/ko/koodo-reader/package.nix | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/pkgs/by-name/ko/koodo-reader/package.nix b/pkgs/by-name/ko/koodo-reader/package.nix index 059dfeda02eea..5a53af807eea4 100644 --- a/pkgs/by-name/ko/koodo-reader/package.nix +++ b/pkgs/by-name/ko/koodo-reader/package.nix @@ -12,6 +12,9 @@ electron, }: +let + electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron"); +in mkYarnPackage rec { pname = "koodo-reader"; version = "1.6.6"; @@ -29,23 +32,27 @@ mkYarnPackage rec { # should be copied from `koodo-reader.src` packageJSON = ./package.json; - patches = [ ./fix-isdev.patch ]; - offlineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; hash = "sha256-VvYkotVb74zR9+/IWiQwOX/6RJf+xukpi7okRovfVzc="; }; - nativeBuildInputs = [ - copyDesktopItems - makeWrapper - wrapGAppsHook3 - ]; + nativeBuildInputs = + [ + makeWrapper + ] + ++ lib.optionals (!stdenv.isDarwin) [ + copyDesktopItems + wrapGAppsHook3 + ]; dontWrapGApps = true; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + # disable code signing on Darwin + env.CSC_IDENTITY_AUTO_DISCOVERY = "false"; + configurePhase = '' runHook preConfigure @@ -60,8 +67,11 @@ mkYarnPackage rec { export HOME=$(mktemp -d) yarn --offline build + + cp -r ${electronDist} electron-dist + chmod -R u+w electron-dist yarn --offline run electron-builder --dir \ - -c.electronDist=${electron}/libexec/electron \ + -c.electronDist=electron-dist \ -c.electronVersion=${electron.version} runHook postBuild @@ -70,21 +80,30 @@ mkYarnPackage rec { installPhase = '' runHook preInstall - install -Dm644 assets/icons/256x256.png $out/share/icons/hicolor/256x256/apps/koodo-reader.png - install -Dm644 ${./mime-types.xml} $out/share/mime/packages/koodo-reader.xml + ${lib.optionalString (!stdenv.isDarwin) '' + install -Dm644 assets/icons/256x256.png $out/share/icons/hicolor/256x256/apps/koodo-reader.png + install -Dm644 ${./mime-types.xml} $out/share/mime/packages/koodo-reader.xml + + mkdir -p $out/share/lib/koodo-reader + cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/lib/koodo-reader + ''} - mkdir -p $out/share/lib/koodo-reader - cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/lib/koodo-reader + ${lib.optionalString stdenv.isDarwin '' + mkdir -p $out/Applications + cp -r dist/mac*/"Koodo Reader.app" $out/Applications + makeWrapper "$out/Applications/Koodo Reader.app/Contents/MacOS/Koodo Reader" $out/bin/koodo-reader + ''} runHook postInstall ''; # we use makeShellWrapper instead of the makeBinaryWrapper provided by wrapGAppsHook for proper shell variable expansion - postFixup = '' - makeShellWrapper ${electron}/bin/electron $out/bin/koodo-reader \ + postFixup = lib.optionalString (!stdenv.isDarwin) '' + makeShellWrapper ${lib.getExe electron} $out/bin/koodo-reader \ --add-flags $out/share/lib/koodo-reader/resources/app.asar \ "''${gappsWrapperArgs[@]}" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --set-default ELECTRON_IS_DEV 0 \ --inherit-argv0 ''; @@ -117,7 +136,6 @@ mkYarnPackage rec { ]; meta = { - broken = stdenv.isDarwin; changelog = "https://github.com/troyeguo/koodo-reader/releases/tag/v${version}"; description = "A cross-platform ebook reader"; longDescription = '' |