aboutsummaryrefslogtreecommitdiff
path: root/desktop/install/build_osx.sh
blob: 9d2865918e478f5bd61789993adf2c93a449d329 (plain)
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
#!/bin/bash

ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )"
cd $ROOT

# deleting dist
echo Deleting dist folder
rm -rf $ROOT/dist &>/dev/null 2>&1

# build the .app
echo Building OnionShare.app
pyinstaller $ROOT/install/pyinstaller.spec
python3 $ROOT/install/get-tor-osx.py

# create a symlink of onionshare-gui called onionshare, for the CLI version
cd $ROOT/dist/OnionShare.app/Contents/MacOS
ln -s onionshare-gui onionshare
cd $ROOT

if [ "$1" = "--release" ]; then
  mkdir -p dist
  APP_PATH="$ROOT/dist/OnionShare.app"
  IDENTITY_NAME_APPLICATION="Developer ID Application: Micah Lee (N9B95FDWH4)"
  ENTITLEMENTS_CHILD_PATH="$ROOT/install/macos_sandbox/child.plist"
  ENTITLEMENTS_PARENT_PATH="$ROOT/install/macos_sandbox/parent.plist"

  echo "Codesigning the app bundle"
  codesign \
    --deep \
    -s "$IDENTITY_NAME_APPLICATION" \
    -o runtime \
    --force \
    --entitlements "$ENTITLEMENTS_CHILD_PATH" \
    --timestamp \
    "$APP_PATH"
  codesign \
    -s "$IDENTITY_NAME_APPLICATION" \
    -o runtime \
    --force \
    --entitlements "$ENTITLEMENTS_PARENT_PATH" \
    --timestamp \
    "$APP_PATH"

  echo "Create the DMG"
  if [ ! -f "/usr/local/bin/create-dmg" ]; then
    echo "Error: create-dmg is not installed"
    exit 0
  fi
  /usr/local/bin/create-dmg "$APP_PATH" --identity "$IDENTITY_NAME_APPLICATION"
  mv *.dmg dist

  echo "Cleaning up"
  rm -rf "$APP_PATH"

  echo "All done, your DMG is in:"
  ls dist/*.dmg
fi