mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-14 00:22:44 +03:00
kuro: use yarn{Build,Config}Hook
This commit is contained in:
parent
9fbd21c5d5
commit
48030a2806
@ -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 {
|
||||
|
@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user