1#!/bin/bash
2
3long_version="-${TRAVIS_BRANCH}-$(date +%Y%m%d)-${TRAVIS_COMMIT}"
4#long_version="0.2.7"
5version=${long_version}
6year=`date +%Y`
7#copyright="© $year Andrea Ferrero”
8
9cp ../icons/photoflow.png Icon1024.png
10bash make_icon.sh
11
12# photoflow.bundle writes here
13rm -rf PhotoFlow
14mkdir -p PhotoFlow
15dst=$(pwd)/PhotoFlow/photoflow.app
16dst_prefix=$dst/Contents/Resources
17
18# jhbuild installs to here
19#src=~/gtk/inst
20src=/usr/local
21
22function escape () {
23        # escape slashes
24	tmp=${1//\//\\\/}
25
26	# escape colon
27	tmp=${tmp//\:/\\:}
28
29	# escape tilda
30	tmp=${tmp//\~/\\~}
31
32	# escape percent
33	tmp=${tmp//\%/\\%}
34
35	echo -n $tmp
36}
37
38function new () {
39	echo > script.sed
40}
41
42function sub () {
43        echo -n s/ >> script.sed
44	escape "$1" >> script.sed
45	echo -n / >> script.sed
46	escape "$2" >> script.sed
47	echo /g >> script.sed
48}
49
50function patch () {
51	echo patching "$1"
52
53	sed -f script.sed -i "" "$1"
54}
55
56# transfer.sh
57function transfer() {
58  if [ $# -eq 0 ]; then echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
59  tmpfile=$( mktemp -t transferXXX );
60#  if tty -s; then
61    basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g');
62    echo "curl --progress-bar --upload-file \"$1\" \"https://transfer.sh/$basefile\""
63    curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile;
64#  else
65#    echo "curl --progress-bar --upload-file \"-\" \"https://transfer.sh/$1\""
66#    curl --verbose --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ;
67#  fi;
68  cat $tmpfile;
69  rm -f $tmpfile;
70}
71
72pwd
73#transfer ../icons/photoflow.png
74#exit
75
76
77cp Info.plist.in Info.plist
78new
79sub @LONG_VERSION@ "$long_version"
80sub @VERSION@ "$version"
81sub @COPYRIGHT@ "$copyright"
82patch Info.plist
83
84git clone git://git.gnome.org/gtk-mac-bundler
85cd gtk-mac-bundler
86make install
87cd ..
88
89export PATH=$HOME/.local/bin:$PATH
90
91rm -rf $dst
92rm -rf $(pwd)/PhotoFlow/photoflow-$version.app
93
94ls $(pwd)/PhotoFlow
95cp charset.alias $src/lib
96touch $src/bin/photoflow
97mkdir -p $src/share/photoflow
98
99src2=$HOME/inst
100mkdir -p $src2
101cp -RL /usr/local/bin $src2
102cp -RL /usr/local/lib $src2
103cp -RL /usr/local/etc $src2
104cp -RL /usr/local/share $src2
105
106PKG_CONFIG_PATH=$src/lib/pkgconfig PATH=$src/bin:$PATH JHBUILD_PREFIX=$src2 basedir=$(pwd)/PhotoFlow gtk-mac-bundler photoflow.bundle
107
108
109ln -s /Applications $(pwd)/PhotoFlow
110
111
112#cp $src/lib/pango/1.8.0/modules.cache $dst_prefix/lib/pango/1.8.0
113#new
114#sub "$src/lib/pango/1.8.0/modules/" ""
115#patch $dst_prefix/lib/pango/1.8.0/modules.cache
116
117#rm $dst_prefix/etc/fonts/conf.d/*.conf
118#( cd $dst_prefix/etc/fonts/conf.d ; \
119#	ln -s ../../../share/fontconfig/conf.avail/*.conf . )
120
121# we can't copy the IM share with photoflow.bundle because it drops the directory
122# name, annoyingly
123#cp -r $src/share/ImageMagick-* $dst_prefix/share
124
125#cp ~/PhotoFlow/vips/transform-7.30/resample.plg $dst_prefix/lib
126
127#mv $dst ~/Desktop/PhotoFlow/photoflow-$version.app
128
129echo built $(pwd)/PhotoFlow/photoflow.app
130
131echo building .dmg
132rm -f $(pwd)/photoflow-$version.app.dmg
133size_MB=$(du -ms $(pwd)/PhotoFlow/photoflow.app | cut -f 1)
134size_MB=$((size_MB+5))
135echo "hdiutil create -megabytes ${size_MB} -srcfolder $(pwd)/PhotoFlow -o $(pwd)/photoflow-$version.app.dmg"
136hdiutil create -megabytes ${size_MB} -verbose -srcfolder $(pwd)/PhotoFlow -o $(pwd)/photoflow-$version.app.dmg
137echo built $(pwd)/photoflow-$version.app.dmg
138
139########################################################################
140# Upload the AppDir
141########################################################################
142
143transfer $(pwd)/photoflow-$version.app.dmg
144echo "DMG has been uploaded to the URL above; use something like GitHub Releases for permanent storage"
145