From 5403387f87a0d4e908114478066b77f7458a8232 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 13 Jun 2024 12:36:38 +0300 Subject: [PATCH] koodo-reader: 1.6.6 -> 1.6.7; use yarn{Config,Build}Hook --- pkgs/by-name/ko/koodo-reader/package.json | 312 ------------------ pkgs/by-name/ko/koodo-reader/package.nix | 58 ++-- .../koodo-reader/update-react-i18next.patch | 58 ---- 3 files changed, 19 insertions(+), 409 deletions(-) delete mode 100644 pkgs/by-name/ko/koodo-reader/package.json delete mode 100644 pkgs/by-name/ko/koodo-reader/update-react-i18next.patch diff --git a/pkgs/by-name/ko/koodo-reader/package.json b/pkgs/by-name/ko/koodo-reader/package.json deleted file mode 100644 index 5c8f5140d1ba..000000000000 --- a/pkgs/by-name/ko/koodo-reader/package.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "name": "koodo-reader", - "main": "main.js", - "version": "1.6.6", - "description": "A cross-platform ebook reader", - "author": { - "name": "App by Troye", - "email": "support@960960.xyz" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=6.0.0" - }, - "repository": "https://github.com/koodo-reader/koodo-reader", - "private": false, - "resolutions": { - "//": "See https://github.com/facebook/create-react-app/issues/11773", - "react-error-overlay": "6.0.9" - }, - "dependencies": { - "@aws-sdk/client-s3": "^3.485.0", - "adm-zip": "^0.5.2", - "axios": "^0.19.2", - "buffer": "^6.0.3", - "copy-text-to-clipboard": "^2.2.0", - "dompurify": "^3.0.1", - "electron-is-dev": "^1.1.0", - "electron-store": "^8.0.1", - "font-list": "^1.4.5", - "fs-extra": "^9.1.0", - "ftp": "^0.3.10", - "howler": "^2.2.3", - "iconv-lite": "^0.6.3", - "qs": "^6.11.2", - "react-hot-toast": "^2.1.1", - "react-tooltip": "^5.26.3", - "ssh2-sftp-client": "^9.1.0", - "webdav": "^3.6.2", - "wink-lemmatizer": "^3.0.4", - "ws": "^8.13.0", - "zip-a-folder": "^0.0.12" - }, - "devDependencies": { - "@types/i18next": "^13.0.0", - "@types/iconv-lite": "^0.0.1", - "@types/node": "^13.13.2", - "@types/react": "17.0.2", - "@types/react-dom": "17.0.2", - "@types/react-i18next": "^8.1.0", - "@types/react-lottie": "^1.2.5", - "@types/react-redux": "^7.1.7", - "@types/react-router-dom": "^5.1.6", - "@types/spark-md5": "^3.0.2", - "@types/ws": "^8.5.5", - "classnames": "^2.2.6", - "concurrently": "^5.0.1", - "cross-env": "^6.0.3", - "electron": "14.1.1", - "electron-builder": "^23.6.0", - "hard-source-webpack-plugin": "^0.13.1", - "html-react-parser": "^0.13.0", - "i18next": "^20.2.4", - "node-sass": "^9.0.0", - "nodemon": "^2.0.6", - "rc-color-picker": "^1.2.6", - "react": "^17.0.2", - "react-device-detect": "^1.12.1", - "react-dom": "^17.0.2", - "react-dropzone": "^11.3.0", - "react-i18next": "^13.2.2", - "react-lottie": "^1.2.3", - "react-redux": "^7.2.0", - "react-router-dom": "^5.2.0", - "react-scripts": "^5.0.1", - "redux": "^4.0.5", - "redux-thunk": "^2.3.0", - "sass-loader": "^13.3.2", - "source-map-explorer": "^2.5.2", - "spark-md5": "^3.0.1", - "typescript": "3.8.3", - "wait-on": "^7.0.1" - }, - "scripts": { - "analyze": "source-map-explorer 'build/static/js/*.js'", - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject", - "ele": "electron .", - "dev": "concurrently \"cross-env BROWSER=none npm start\" \"wait-on http://127.0.0.1:3000/ && nodemon --watch main.js --exec electron .\"", - "release": "electron-builder", - "prerelease": "react-scripts build" - }, - "homepage": "./", - "build": { - "appId": "xyz.960960.koodo", - "productName": "Koodo Reader", - "copyright": "Copyright (c) 2021-2022 ${author}", - "files": [ - "build/**/*", - "node_modules/**/*", - "package.json", - "main.js", - "edge-tts.js" - ], - "directories": { - "buildResources": "assets" - }, - "publish": { - "provider": "github", - "repo": "koodo-reader", - "owner": "koodo-reader" - }, - "buildDependenciesFromSource": false, - "nodeGypRebuild": false, - "fileAssociations": [ - { - "ext": "epub", - "icon": "assets/icons/epub", - "role": "Viewer", - "mimeType": "application/epub+zip" - }, - { - "ext": "pdf", - "icon": "assets/icons/pdf", - "role": "Viewer", - "mimeType": "application/pdf" - }, - { - "ext": "mobi", - "icon": "assets/icons/mobi", - "role": "Viewer", - "mimeType": "application/x-mobipocket-ebook" - }, - { - "ext": "azw3", - "icon": "assets/icons/azw3", - "role": "Viewer", - "mimeType": "application/vnd.amazon.ebook" - }, - { - "ext": "azw", - "icon": "assets/icons/azw3", - "role": "Viewer", - "mimeType": "application/vnd.amazon.ebook" - }, - { - "ext": "cbz", - "icon": "assets/icons/comic", - "role": "Viewer", - "mimeType": "application/x-cbz" - }, - { - "ext": "cbr", - "icon": "assets/icons/comic", - "role": "Viewer", - "mimeType": "application/x-cbr" - }, - { - "ext": "cbt", - "icon": "assets/icons/comic", - "role": "Viewer", - "mimeType": "application/x-cbt" - }, - { - "ext": "cb7", - "icon": "assets/icons/comic", - "role": "Viewer", - "mimeType": "application/x-cb7" - }, - { - "ext": "fb2", - "icon": "assets/icons/fb2", - "role": "Viewer", - "mimeType": "application/x-fictionbook+xml" - } - ], - "extends": null, - "dmg": { - "contents": [ - { - "x": 410, - "y": 150, - "type": "link", - "path": "/Applications" - }, - { - "x": 130, - "y": 150, - "type": "file" - } - ] - }, - "mac": { - "target": [ - { - "target": "dmg", - "arch": [ - "x64", - "arm64" - ] - } - ], - "icon": "assets/icons/icon.icns", - "category": "public.app-category.productivity", - "artifactName": "${productName}-${version}-${arch}.${ext}" - }, - "win": { - "target": [ - { - "target": "nsis", - "arch": [ - "x64" - ] - }, - { - "target": "zip", - "arch": [ - "x64", - "ia32", - "arm64" - ] - }, - { - "target": "portable", - "arch": [ - "x64" - ] - } - ], - "icon": "assets/icons/icon.ico", - "artifactName": "${productName}-${version}-${arch}-Win.${ext}", - "publisherName": "App by Troye" - }, - "linux": { - "icon": "assets/icons", - "category": "Office", - "target": [ - { - "target": "snap", - "arch": [ - "x64" - ] - }, - { - "target": "deb", - "arch": [ - "arm64", - "ia32", - "x64" - ] - }, - { - "target": "rpm", - "arch": [ - "x64" - ] - }, - { - "target": "AppImage", - "arch": [ - "arm64", - "ia32", - "x64" - ] - } - ], - "artifactName": "${productName}-${version}-${arch}.${ext}" - }, - "portable": { - "artifactName": "${productName}-${version}-Portable.${ext}" - }, - "nsis": { - "artifactName": "${productName}-${version}.${ext}", - "oneClick": false, - "allowToChangeInstallationDirectory": true, - "include": "assets/windows/installer.nsh" - }, - "snap": { - "publish": [ - { - "provider": "github" - } - ] - } - }, - "eslintConfig": { - "extends": "react-app" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "babel": { - "presets": [ - "react-app" - ], - "plugins": [ - [ - "react-hot-loader/babel" - ] - ] - } -} diff --git a/pkgs/by-name/ko/koodo-reader/package.nix b/pkgs/by-name/ko/koodo-reader/package.nix index 5a53af807eea..9fa8ce626b9a 100644 --- a/pkgs/by-name/ko/koodo-reader/package.nix +++ b/pkgs/by-name/ko/koodo-reader/package.nix @@ -1,10 +1,11 @@ { lib, stdenv, - mkYarnPackage, fetchFromGitHub, - applyPatches, fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + nodejs, makeDesktopItem, copyDesktopItems, makeWrapper, @@ -15,31 +16,28 @@ let electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron"); in -mkYarnPackage rec { +stdenv.mkDerivation (finalAttrs: { pname = "koodo-reader"; - version = "1.6.6"; + version = "1.6.7"; - src = applyPatches { - src = fetchFromGitHub { - owner = "troyeguo"; - repo = "koodo-reader"; - rev = "v${version}"; - hash = "sha256-g2bVm8LFeEIPaWlaxzMI0SrpM+79zQFzJ7Vs5CbWBT4="; - }; - patches = [ ./update-react-i18next.patch ]; # Could be upstreamed + src = fetchFromGitHub { + owner = "troyeguo"; + repo = "koodo-reader"; + rev = "v${finalAttrs.version}"; + hash = "sha256-ZHRU8dJjKQFLIB1t2VK/COy6a3nShUeWR8iAM9YJdto="; }; - # should be copied from `koodo-reader.src` - packageJSON = ./package.json; - offlineCache = fetchYarnDeps { - yarnLock = "${src}/yarn.lock"; - hash = "sha256-VvYkotVb74zR9+/IWiQwOX/6RJf+xukpi7okRovfVzc="; + yarnLock = "${finalAttrs.src}/yarn.lock"; + hash = "sha256-58mxYt2wD6SGzhvo9c44CPmdX+/tLnbJCMPafo4txbY="; }; nativeBuildInputs = [ makeWrapper + yarnConfigHook + yarnBuildHook + nodejs ] ++ lib.optionals (!stdenv.isDarwin) [ copyDesktopItems @@ -53,28 +51,12 @@ mkYarnPackage rec { # disable code signing on Darwin env.CSC_IDENTITY_AUTO_DISCOVERY = "false"; - configurePhase = '' - runHook preConfigure - - cp -r $node_modules node_modules - chmod +w node_modules - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - export HOME=$(mktemp -d) - yarn --offline build - + postBuild = '' cp -r ${electronDist} electron-dist chmod -R u+w electron-dist yarn --offline run electron-builder --dir \ -c.electronDist=electron-dist \ -c.electronVersion=${electron.version} - - runHook postBuild ''; installPhase = '' @@ -107,15 +89,13 @@ mkYarnPackage rec { --inherit-argv0 ''; - doDist = false; - desktopItems = [ (makeDesktopItem { name = "koodo-reader"; desktopName = "Koodo Reader"; exec = "koodo-reader %U"; icon = "koodo-reader"; - comment = meta.description; + comment = finalAttrs.meta.description; categories = [ "Office" ]; mimeTypes = [ "application/epub+zip" @@ -136,7 +116,7 @@ mkYarnPackage rec { ]; meta = { - changelog = "https://github.com/troyeguo/koodo-reader/releases/tag/v${version}"; + changelog = "https://github.com/troyeguo/koodo-reader/releases/tag/v${finalAttrs.version}"; description = "A cross-platform ebook reader"; longDescription = '' A modern ebook manager and reader with sync and backup capacities @@ -148,4 +128,4 @@ mkYarnPackage rec { maintainers = with lib.maintainers; [ tomasajt ]; platforms = electron.meta.platforms; }; -} +}) diff --git a/pkgs/by-name/ko/koodo-reader/update-react-i18next.patch b/pkgs/by-name/ko/koodo-reader/update-react-i18next.patch deleted file mode 100644 index 6d71460ee38d..000000000000 --- a/pkgs/by-name/ko/koodo-reader/update-react-i18next.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/package.json b/package.json -index c71b04a1..a4b4b3ef 100644 ---- a/package.json -+++ b/package.json -@@ -67,7 +67,7 @@ - "react-device-detect": "^1.12.1", - "react-dom": "^17.0.2", - "react-dropzone": "^11.3.0", -- "react-i18next": "^11.8.15", -+ "react-i18next": "^13.2.2", - "react-lottie": "^1.2.3", - "react-redux": "^7.2.0", - "react-router-dom": "^5.2.0", -diff --git a/yarn.lock b/yarn.lock -index 881db5b2..2df4d362 100644 ---- a/yarn.lock -+++ b/yarn.lock -@@ -1828,7 +1828,7 @@ - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - --"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": -+"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== -@@ -1842,6 +1842,13 @@ - dependencies: - regenerator-runtime "^0.14.0" - -+"@babel/runtime@^7.22.5": -+ version "7.23.1" -+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" -+ integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== -+ dependencies: -+ regenerator-runtime "^0.14.0" -+ - "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" -@@ -10951,12 +10958,12 @@ react-i18next@*: - "@babel/runtime" "^7.20.6" - html-parse-stringify "^3.0.1" - --react-i18next@^11.8.15: -- version "11.18.6" -- resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.18.6.tgz#e159c2960c718c1314f1e8fcaa282d1c8b167887" -- integrity sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA== -+react-i18next@^13.2.2: -+ version "13.2.2" -+ resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-13.2.2.tgz#b1e78ed66a54f4bc819616f68b98221e1b1a1936" -+ integrity sha512-+nFUkbRByFwnrfDcYqvzBuaeZb+nACHx+fAWN/pZMddWOCJH5hoc21+Sa/N/Lqi6ne6/9wC/qRGOoQhJa6IkEQ== - dependencies: -- "@babel/runtime" "^7.14.5" -+ "@babel/runtime" "^7.22.5" - html-parse-stringify "^3.0.1" - - react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: