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