aboutsummaryrefslogtreecommitdiffstats
path: root/electron-builder.yml
blob: 17c1fd38f26082ab569167768f2aa15dc0b79926 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
directories:
  app: ./build
  output: ./out

appId: "org.ferdium.ferdium-app"

publish:
  provider: github

snap:
  plugs: ["default", "camera", "audio-record", "removable-media"]
  publish:
    provider: snapStore

nsis:
  perMachine: false
  oneClick: true
  artifactName: "${productName}-${os}-AutoSetup-${version}-${arch}.${ext}"

portable:
  artifactName: "${productName}-${os}-Portable-${version}-${arch}.${ext}"
  unpackDirName: "Ferdium-Unpacked"

dmg:
  background: ./build-helpers/images/dmgInstaller.tiff
  icon: ./build-helpers/images/icon.icns
  iconSize: 128
  contents:
    [
      { x: 380, y: 240, type: link, path: /Applications },
      { x: 122, y: 240, type: file },
    ]
  artifactName: "${productName}-${os}-${version}-${arch}.${ext}"

appImage:
  artifactName: "${productName}-${os}-Portable-${version}-${arch}.${ext}"

deb:
  artifactName: "${productName}-${os}-${version}-${arch}.${ext}"

rpm:
  # Prevent creation of symlinks in /usr/lib/.build_id to avoid conflicts with other electron-based app having the symlink to chrome-sandbox
  fpm: ["--rpm-rpmbuild-define=_build_id_links none"]

# This is the notarization process which allows the app to be opened after download with the minimal warning.
afterSign: ./build-helpers/notarize.js

protocols:
  name: Ferdium
  schemes: [ferdium]

asarUnpack:
  - ./recipes
  - ./assets/fonts
  - ./assets/images/taskbar

mac:
  hardenedRuntime: true
  gatekeeperAssess: false
  category: public.app-category.productivity
  icon: ./build-helpers/images/icon.icns
  darkModeSupport: true
  entitlements: "./build-helpers/entitlements.mas.plist"
  entitlementsInherit: "./build-helpers/entitlements.mas.inherit.plist"
  artifactName: "${productName}-${os}-bundle-${version}-${arch}.${ext}"
  target:
    - target: dmg
      arch: [x64, arm64]
    - target: zip
      arch: [x64, arm64]
  extendInfo:
    NSCameraUsageDescription: "This app requires camera access for video chats"
    NSMicrophoneUsageDescription: "This app requires microphone access for voice chats"

win:
  artifactName: "${productName}-${os}-Installer-${version}-${arch}.${ext}"
  icon: ./build-helpers/images/icon.ico
  target:
    - target: nsis
      arch: [x64, ia32, arm64]
    - target: portable
      arch: [x64, ia32, arm64]
  # The name of the CN appearing in the certificate must be present in the publisherName list below
  publisherName: ["Ferdium Contributors", "Ambroise Grau"]

linux:
  icon: ./build-helpers/images/icons
  category: Network;InstantMessaging;
  executableName: ferdium
  synopsis: "Messaging app for WhatsApp, Slack, Telegram, Gmail, Hangouts and many many more."
  # Note: Please keep the description as a single-line string, as this will become the Comment in the ferdium.desktop Linux launcher file, which requires a single line.
  description: 'Ferdium is your messaging app / former heir to the throne of Austria-Hungary and combines chat & messaging services into one application. Ferdium currently supports Slack, WhatsApp, Gmail, Facebook Messenger, Telegram, Google Hangouts, GroupMe, Skype and many more. You can download Ferdium for free for Mac, Windows, and Linux. For enabling webcam access you need to connect "camera" plug to snap, and for microphone with PulseAudio - "audio-record" plug. This can be done in Snap GUI or via command: `snap connect ferdium:camera; snap connect ferdium:audio-record`.'
  artifactName: "${productName}-${os}-${version}.${ext}"
  target:
    - target: AppImage
    - target: deb
      arch: [x64, arm64, armv7l]
    - target: tar.gz
    - target: rpm
    - target: freebsd
    - target: snap