From 48030a2806fa9c2400a3d37974bb620413b0814a Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 7 Jun 2024 17:44:24 +0300 Subject: [PATCH] kuro: use yarn{Build,Config}Hook --- pkgs/applications/misc/kuro/default.nix | 35 +++--- pkgs/applications/misc/kuro/package.json | 149 ----------------------- 2 files changed, 16 insertions(+), 168 deletions(-) delete mode 100644 pkgs/applications/misc/kuro/package.json diff --git a/pkgs/applications/misc/kuro/default.nix b/pkgs/applications/misc/kuro/default.nix index 55a2e04c9326..02911f312122 100644 --- a/pkgs/applications/misc/kuro/default.nix +++ b/pkgs/applications/misc/kuro/default.nix @@ -1,17 +1,20 @@ { lib +, stdenv , fetchFromGitHub , fetchYarnDeps +, yarnConfigHook +, yarnBuildHook +, nodejs , makeWrapper , makeDesktopItem , copyDesktopItems -, mkYarnPackage , electron_29 }: let electron = electron_29; in -mkYarnPackage rec { +stdenv.mkDerivation rec { pname = "kuro"; version = "9.0.0"; @@ -22,8 +25,6 @@ mkYarnPackage rec { hash = "sha256-9Z/r5T5ZI5aBghHmwiJcft/x/wTRzDlbIupujN2RFfU="; }; - packageJSON = ./package.json; - offlineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; hash = "sha256-GTiNv7u1QK/wjQgpka7REuoLn2wjZG59kYJQaZZPycI="; @@ -32,30 +33,29 @@ mkYarnPackage rec { env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + nodejs makeWrapper copyDesktopItems ]; - postBuild = '' - pushd deps/kuro - - yarn --offline run electron-builder \ - --dir \ - -c.electronDist=${electron}/libexec/electron \ - -c.electronVersion=${electron.version} - - popd - ''; + yarnBuildScript = "electron-builder"; + yarnBuildFlags = [ + "--dir" + "-c.electronDist=${electron}/libexec/electron" + "-c.electronVersion=${electron.version}" + ]; installPhase = '' runHook preInstall # resources mkdir -p "$out/share/lib/kuro" - cp -r ./deps/kuro/dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/kuro" + cp -r ./dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/kuro" # icons - install -Dm644 ./deps/kuro/static/Icon.png $out/share/icons/hicolor/1024x1024/apps/kuro.png + install -Dm644 ./static/Icon.png $out/share/icons/hicolor/1024x1024/apps/kuro.png # executable wrapper makeWrapper '${electron}/bin/electron' "$out/bin/kuro" \ @@ -65,9 +65,6 @@ mkYarnPackage rec { runHook postInstall ''; - # Do not attempt generating a tarball for contents again. - # note: `doDist = false;` does not work. - distPhase = "true"; desktopItems = [ (makeDesktopItem { diff --git a/pkgs/applications/misc/kuro/package.json b/pkgs/applications/misc/kuro/package.json deleted file mode 100644 index 0ae2f22c08db..000000000000 --- a/pkgs/applications/misc/kuro/package.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "name": "kuro", - "productName": "Kuro", - "version": "9.0.0", - "description": "Elegant Microsoft To-Do desktop app (Ao fork)", - "license": "MIT", - "repository": "davidsmorais/kuro", - "author": { - "name": "davidsmorais", - "email": "david@dsmorais.com", - "url": "https://github.com/davidsmorais" - }, - "maintainers": [ - { - "name": "davidsmorais", - "email": "david@dsmorais.com", - "url": "https://github.com/davidsmorais" - } - ], - "scripts": { - "postinstall": "electron-builder install-app-deps", - "icons": "electron-icon-maker --input=./static/Icon.png --output=./build/", - "test": "xo && stylelint 'src/style/*.css'", - "release": "yarn version && rm -rf dist build && yarn icons && electron-builder --publish never", - "build-snap": "electron-builder --linux snap", - "build-win": "electron-builder --win", - "start": "electron ." - }, - "dependencies": { - "auto-launch": "^5.0.1", - "electron-context-menu": "^3.6.1", - "electron-debug": "^1.4.0", - "electron-dl": "^2.0.0", - "electron-store": "^8.1.0", - "lodash": "^4.17.21" - }, - "devDependencies": { - "electron": "^22.1.0", - "electron-builder": "^23.6.0", - "electron-icon-maker": "^0.0.5", - "stylelint": "^14.9.1", - "xo": "^0.53.1" - }, - "xo": { - "envs": [ - "browser", - "node" - ], - "rules": { - "n/prefer-global/process": 0, - "unicorn/prefer-module": 0, - "unicorn/no-for-loop": 0, - "unicorn/no-array-for-each": 0, - "import/extensions": 0, - "object-curly-spacing": 0, - "quote-props": 0, - "unicorn/prefer-query-selector": 0, - "quotes": [ - "error", - "double" - ] - }, - "space": 2 - }, - "stylelint": { - "rules": { - "block-closing-brace-empty-line-before": "never", - "block-closing-brace-newline-after": "always", - "block-no-empty": true, - "block-opening-brace-space-before": "always", - "color-hex-case": "upper", - "color-hex-length": "long", - "color-no-invalid-hex": true, - "comment-no-empty": true, - "declaration-block-semicolon-space-before": "never", - "indentation": 2, - "max-empty-lines": 0, - "no-duplicate-selectors": true - } - }, - "build": { - "appId": "com.davidsmorais.kuro", - "snap": { - "title": "Kuro" - }, - "files": [ - "**/*", - "!media${/*}", - "!docs${/*}" - ], - "win": { - "target": [ - { - "target": "nsis", - "arch": [ - "x64" - ] - } - ], - "icon": "icons/win/icon.ico", - "publish": { - "provider": "github", - "releaseType": "release" - } - }, - "linux": { - "category": "Office", - "icon": "icons/png", - "description": "Kuro is an unofficial, featureful, open source, community-driven, free Microsoft To-Do app, used by people in more than 120 countries. (Ao fork)", - "synopsis": "Elegant Microsoft To-Do desktop app (Ao fork)", - "publish": { - "provider": "github", - "releaseType": "release" - }, - "target": [ - { - "target": "AppImage", - "arch": [ - "x64" - ] - }, - { - "target": "deb", - "arch": [ - "x64" - ] - }, - { - "target": "pacman", - "arch": [ - "x64" - ] - }, - { - "target": "rpm", - "arch": [ - "x64" - ] - }, - { - "target": "snap", - "arch": [ - "x64" - ] - } - ] - } - } -}