aboutsummaryrefslogtreecommitdiff
path: root/macos/make_macos_release.sh
blob: 6eb5fd440bfa2f710ff88c2dc2680fc4600f4fb0 (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
#!/bin/sh -e

MACHINE=$(uname -m)
case "$MACHINE" in
  x86_64)  ARCHITECTURE=amd64;;
  i686)    ARCHITECTURE=i386;;
  i386)    ARCHITECTURE=i386;;
  aarch64) ARCHITECTURE=arm64;;
  armv6l | armv7l) ARCHITECTURE=armhf;;
  *)       ARCHITECTURE=unknown;;
esac

VERSION=$(grep '^[Vv]ersion:' pandoc.cabal | awk '{print $2;}')
ARTIFACTS=macos-$MACHINE
RESOURCES=$ARTIFACTS/Resources
ROOT=$ARTIFACTS/pandoc
DEST=$ROOT/usr/local
ME=$(whoami)

CABALOPTS="-fembed_data_files -fserver -flua"
# Build the pandoc binary and put it in .
cabal update
cabal build all $CABALOPTS
BINPATH=$(cabal list-bin $CABALOPTS pandoc-cli)
echo "Built executable..."

# Create directories
echo "Creating $ARTIFACTS directory..."
mkdir -p $ARTIFACTS
mkdir -p $RESOURCES
mkdir -p $DEST/bin
mkdir -p $DEST/share/man/man1

# Copy binary and strip it
echo "Copying executable..."
cp "$BINPATH" "$DEST/bin/"
strip "$DEST/bin/pandoc"

# Copy man pages and license
echo "Copying manuals and license..."
cp man/pandoc.1 "$DEST/share/man/man1/pandoc.1"
cp man/pandoc-server.1 "$DEST/share/man/man1/pandoc-server.1"
cp man/pandoc-lua.1 "$DEST/share/man/man1/pandoc-lua.1"
"$BINPATH" -s COPYING.md -Vpagetitle=License -o "$RESOURCES/license.html"

# Prepare distribution directory; after downloading, run 'make' to notarize
echo "Preparing distribution directory..."
chown -R "$ME:staff" "$ROOT"
sed -e "s/PANDOCVERSION/$VERSION/" macos/distribution.xml.in > "$ARTIFACTS/distribution.xml"
cp macos/Makefile "$ARTIFACTS/"
echo "$VERSION" > "$ARTIFACTS/version.txt"

ls -R $ARTIFACTS
echo "Finished..."