98 lines
2.8 KiB
JavaScript
98 lines
2.8 KiB
JavaScript
const path = require('path');
|
|
const redhatDependencies = require('electron-installer-redhat/src/dependencies');
|
|
|
|
const linuxIconSet = {
|
|
'16x16': 'appicons/icons/png/16x16.png',
|
|
'24x24': 'appicons/icons/png/24x24.png',
|
|
'32x32': 'appicons/icons/png/32x32.png',
|
|
'48x48': 'appicons/icons/png/48x48.png',
|
|
'64x64': 'appicons/icons/png/64x64.png',
|
|
'128x128': 'appicons/icons/png/128x128.png',
|
|
'256x256': 'appicons/icons/png/256x256.png',
|
|
'512x512': 'appicons/icons/png/512x512.png',
|
|
};
|
|
|
|
const linuxDesktopTemplate = path.resolve(__dirname, 'packaging/linux/trimsp.desktop.ejs');
|
|
|
|
// The upstream RPM maker assumes Fedora-style package names. Mageia provides
|
|
// GTK 3 under lib64gtk+3_0, so allow either name in the generated Requires.
|
|
redhatDependencies.dependencyMap.gtk3 = '(gtk3 or lib64gtk+3_0)';
|
|
|
|
module.exports = {
|
|
packagerConfig: {
|
|
icon: 'appicons/icons/png/1024x1024.png',
|
|
extraResource: ['resources/bin'],
|
|
ignore: [
|
|
'Readme.md',
|
|
'ToDo.txt',
|
|
'TrimSP.cfg',
|
|
'fortran/*',
|
|
'\\.flatpak-builder($|/)',
|
|
'\\.tmp-flatpak-manual($|/)',
|
|
'out-flatpak-test($|/)',
|
|
],
|
|
},
|
|
makers: [
|
|
{
|
|
name: '@electron-forge/maker-squirrel',
|
|
config: {
|
|
name: 'TrimSP',
|
|
},
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-zip',
|
|
platforms: ['darwin'],
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-deb',
|
|
config: {
|
|
name: 'trimsp',
|
|
productName: 'TrimSP',
|
|
genericName: 'Ion implantation simulator',
|
|
description: 'TRIM.SP simulation GUI for ion implantation studies.',
|
|
categories: ['Science'],
|
|
icon: linuxIconSet,
|
|
desktopTemplate: linuxDesktopTemplate,
|
|
},
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-rpm',
|
|
config: {
|
|
name: 'trimsp',
|
|
productName: 'TrimSP',
|
|
genericName: 'Ion implantation simulator',
|
|
description: 'TRIM.SP simulation GUI for ion implantation studies.',
|
|
categories: ['Science'],
|
|
icon: linuxIconSet,
|
|
desktopTemplate: linuxDesktopTemplate,
|
|
},
|
|
},
|
|
{
|
|
name: '@electron-forge/maker-flatpak',
|
|
config: {
|
|
options: {
|
|
id: 'ch.psi.lem.TrimSP',
|
|
productName: 'TrimSP',
|
|
genericName: 'Ion implantation simulator',
|
|
description: 'TRIM.SP simulation GUI for ion implantation studies.',
|
|
baseVersion: '24.08',
|
|
runtimeVersion: '24.08',
|
|
extraFlatpakBuilderArgs: ['--state-dir=.flatpak-builder'],
|
|
icon: linuxIconSet,
|
|
modules: [],
|
|
categories: ['Science'],
|
|
finishArgs: [
|
|
'--share=ipc',
|
|
'--share=network',
|
|
'--socket=x11',
|
|
'--socket=wayland',
|
|
'--device=dri',
|
|
'--filesystem=home',
|
|
'--filesystem=/tmp',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
],
|
|
};
|