Files
TRIMSP/forge.config.js

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',
],
},
},
},
],
};