koodo-reader: fix darwin build

This commit is contained in:
TomaSajt
2024-05-21 21:55:04 +02:00
parent d6fb3a6b97
commit d4b726e070
2 changed files with 33 additions and 28 deletions
@@ -1,13 +0,0 @@
diff --git a/main.js b/main.js
index a4b5c8ef..743d63ca 100644
--- a/main.js
+++ b/main.js
@@ -8,7 +8,7 @@ const {
nativeTheme,
} = require("electron");
const path = require("path");
-const isDev = require("electron-is-dev");
+const isDev = false;
const Store = require("electron-store");
const store = new Store();
const fs = require("fs");
+33 -15
View File
@@ -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 = ''