summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoron Behar <doron.behar@gmail.com>2024-06-07 17:44:24 +0300
committerDoron Behar <doron.behar@gmail.com>2024-07-10 09:39:04 +0300
commit48030a2806fa9c2400a3d37974bb620413b0814a (patch)
tree58111b1c957822032cd53fcbe785637d09e82716
parentxplorer: use yarn{Build,Config}Hook for frontend-build (diff)
downloadnixpkgs-48030a2806fa9c2400a3d37974bb620413b0814a.tar.gz
kuro: use yarn{Build,Config}Hook
-rw-r--r--pkgs/applications/misc/kuro/default.nix35
-rw-r--r--pkgs/applications/misc/kuro/package.json149
2 files changed, 16 insertions, 168 deletions
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"
- ]
- }
- ]
- }
- }
-}