From 8c8605a639636f1faaa896ae2c8f38f796c0522f Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Mon, 29 Jan 2024 14:36:15 +0000 Subject: [PATCH 1/3] add .desktop template with icons --- repack.sh | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/repack.sh b/repack.sh index 93c5327..240e935 100755 --- a/repack.sh +++ b/repack.sh @@ -98,7 +98,15 @@ npm install --save-dev @electron-forge/cli npx electron-forge import # set some building parameters from config -forge_config="module.exports = { +forge_config="const commonOptions = { + icon: { + "48x48": "build/next-desktop/favicon.png", + "scalable": "build/next-desktop/favicon.svg" + }, + desktopTemplate: "./destkop.ejs" +} + +module.exports = { packagerConfig: { asar: true, }, @@ -112,6 +120,7 @@ forge_config="module.exports = { name: '@electron-forge/maker-deb', config: { options: { + ...commonOptions, maintainer: 'Cucumber Space', homepage: 'https://github.com/cucumber-sp/yandex-music-linux' } @@ -121,6 +130,7 @@ forge_config="module.exports = { name: '@electron-forge/maker-rpm', config: { options: { + ...commonOptions, homepage: 'https://github.com/cucumber-sp/yandex-music-linux' } } @@ -137,6 +147,20 @@ forge_config="module.exports = { echo Writing Forge Config... echo "$forge_config" > ./forge.config.js +desktop_config="[Desktop Entry] +Name=Yandex Music +Name[ru]=Яндекс Музыка +Comment=Yandex Music — we collect music for you +Comment[ru]=Яндекс Музыка — собираем музыку для вас +GenericName=YandexMusic +Exec=<%= name %> %U<% if (execArguments && execArguments.length) { %> <%= execArguments.join(' ') %><% } %> +Icon=YandexMusic +Type=Application +StartupNotify=true +Categories=Audio;Music;Player;AudioVideo" + +echo Writing desktop config... +echo "$desktop_config" > ./destkop.ejs update_license=0 if prompt_yes_no "In order to build the app we'll need to update the license field in package.json. Continue?"; then From a9b515cb52c2efd7442f1aa516a29a3f4c7441be Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Mon, 29 Jan 2024 14:40:09 +0000 Subject: [PATCH 2/3] fix typo --- repack.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repack.sh b/repack.sh index 240e935..4464615 100755 --- a/repack.sh +++ b/repack.sh @@ -103,7 +103,7 @@ forge_config="const commonOptions = { "48x48": "build/next-desktop/favicon.png", "scalable": "build/next-desktop/favicon.svg" }, - desktopTemplate: "./destkop.ejs" + desktopTemplate: "./desktop.ejs" } module.exports = { @@ -160,7 +160,7 @@ StartupNotify=true Categories=Audio;Music;Player;AudioVideo" echo Writing desktop config... -echo "$desktop_config" > ./destkop.ejs +echo "$desktop_config" > ./desktop.ejs update_license=0 if prompt_yes_no "In order to build the app we'll need to update the license field in package.json. Continue?"; then From 9438d8880b949b74135911d76497f7ac3e01a224 Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Mon, 29 Jan 2024 14:56:48 +0000 Subject: [PATCH 3/3] save forge.config.js and desktop.ejs as files --- desktop.ejs | 11 +++++++++ forge.config.js | 45 +++++++++++++++++++++++++++++++++ repack.sh | 66 ++----------------------------------------------- 3 files changed, 58 insertions(+), 64 deletions(-) create mode 100644 desktop.ejs create mode 100644 forge.config.js diff --git a/desktop.ejs b/desktop.ejs new file mode 100644 index 0000000..2ccb0e8 --- /dev/null +++ b/desktop.ejs @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Yandex Music +Name[ru]=Яндекс Музыка +Comment=Yandex Music — we collect music for you +Comment[ru]=Яндекс Музыка — собираем музыку для вас +GenericName=YandexMusic +Exec=<%= name %> %U<% if (execArguments && execArguments.length) { %> <%= execArguments.join(' ') %><% } %> +Icon=YandexMusic +Type=Application +StartupNotify=true +Categories=Audio;Music;Player;AudioVideo \ No newline at end of file diff --git a/forge.config.js b/forge.config.js new file mode 100644 index 0000000..847540a --- /dev/null +++ b/forge.config.js @@ -0,0 +1,45 @@ +const commonOptions = { + icon: { + "48x48": "build/next-desktop/favicon.png", + "scalable": "build/next-desktop/favicon.svg" + }, + desktopTemplate: "./desktop.ejs" +} + +module.exports = { + packagerConfig: { + asar: true, + }, + rebuildConfig: {}, + makers: [ + { + name: '@electron-forge/maker-zip', + platforms: ['linux'] + }, + { + name: '@electron-forge/maker-deb', + config: { + options: { + ...commonOptions, + maintainer: 'Cucumber Space', + homepage: 'https://github.com/cucumber-sp/yandex-music-linux' + } + } + }, + { + name: '@electron-forge/maker-rpm', + config: { + options: { + ...commonOptions, + homepage: 'https://github.com/cucumber-sp/yandex-music-linux' + } + } + } + ], + plugins: [ + { + name: '@electron-forge/plugin-auto-unpack-natives', + config: {}, + }, + ], +}; \ No newline at end of file diff --git a/repack.sh b/repack.sh index 4464615..9196dc5 100755 --- a/repack.sh +++ b/repack.sh @@ -97,70 +97,8 @@ npm install @electron/notarize --save-dev npm install --save-dev @electron-forge/cli npx electron-forge import -# set some building parameters from config -forge_config="const commonOptions = { - icon: { - "48x48": "build/next-desktop/favicon.png", - "scalable": "build/next-desktop/favicon.svg" - }, - desktopTemplate: "./desktop.ejs" -} - -module.exports = { - packagerConfig: { - asar: true, - }, - rebuildConfig: {}, - makers: [ - { - name: '@electron-forge/maker-zip', - platforms: ['linux'] - }, - { - name: '@electron-forge/maker-deb', - config: { - options: { - ...commonOptions, - maintainer: 'Cucumber Space', - homepage: 'https://github.com/cucumber-sp/yandex-music-linux' - } - } - }, - { - name: '@electron-forge/maker-rpm', - config: { - options: { - ...commonOptions, - homepage: 'https://github.com/cucumber-sp/yandex-music-linux' - } - } - } - ], - plugins: [ - { - name: '@electron-forge/plugin-auto-unpack-natives', - config: {}, - }, - ], -}; -" -echo Writing Forge Config... -echo "$forge_config" > ./forge.config.js - -desktop_config="[Desktop Entry] -Name=Yandex Music -Name[ru]=Яндекс Музыка -Comment=Yandex Music — we collect music for you -Comment[ru]=Яндекс Музыка — собираем музыку для вас -GenericName=YandexMusic -Exec=<%= name %> %U<% if (execArguments && execArguments.length) { %> <%= execArguments.join(' ') %><% } %> -Icon=YandexMusic -Type=Application -StartupNotify=true -Categories=Audio;Music;Player;AudioVideo" - -echo Writing desktop config... -echo "$desktop_config" > ./desktop.ejs +echo Copy forge.config.js and desktop.ejs... +cp forge.config.js desktop.ejs ./app update_license=0 if prompt_yes_no "In order to build the app we'll need to update the license field in package.json. Continue?"; then