From 4e58f8d910c22123ca504cd3020492d84dbb8185 Mon Sep 17 00:00:00 2001 From: Konstantin Dmitriev Date: Aug 31 2013 05:53:22 +0000 Subject: Fix installer creation procedure for Fedora's CrossCompile environment. Add support for 64bit installer. --- diff --git a/autobuild/fedora-crosscompile-win.sh b/autobuild/fedora-crosscompile-win.sh index 2307bf0..47ca279 100644 --- a/autobuild/fedora-crosscompile-win.sh +++ b/autobuild/fedora-crosscompile-win.sh @@ -229,8 +229,44 @@ unzip portable-python-3.2.5.1.zip [ ! -d $PREFIX/python ] || rm -rf $PREFIX/python mv python $PREFIX +gen_list_nsh() +{ +[ ! -e $2.nsh ] || rm $2.nsh +[ ! -e $2-uninst.nsh ] || rm $2-uninst.nsh +for line in `find $1 -print`; do + directory=`dirname $line` + line1=`echo $directory | sed "s|\./||g" | sed "s|/|\\\\\|g"` + line2=`echo $line | sed "s|\./||g" | sed "s|/|\\\\\|g"` + if [ -d $line ]; then + echo "RMDir \"\$INSTDIR\\$line2\"" >> $2-uninst.nsh + else + echo "SetOutPath \"\$INSTDIR\\$line1\"" >> $2.nsh + echo "File \"$line2\"" >> $2.nsh + echo "Delete \"\$INSTDIR\\$line2\"" >> $2-uninst.nsh + fi +done +# reverse order of uninstall commands +cp $2-uninst.nsh $2-uninst.nsh.tmp +tac $2-uninst.nsh.tmp > $2-uninst.nsh +rm $2-uninst.nsh.tmp +} + cd $PREFIX + +#generate file lists + +gen_list_nsh bin bin +sed -i '/ffmpeg\.exe/d' bin.nsh # exclude ffmpeg from he list of binaries - it will go into separate group +gen_list_nsh etc etc +gen_list_nsh examples examples +gen_list_nsh lib/gtk-2.0 lib-gtk +gen_list_nsh lib/synfig lib-synfig +gen_list_nsh licenses licenses +#gen_list_nsh python python # -- takes too long +gen_list_nsh share share + cp -f $SCRIPTPATH/synfigstudio.nsi $PREFIX/synfigstudio.nsi +cp -f $SCRIPTPATH/win${ARCH}-specific.nsh $PREFIX/arch-specific.nsh makensis synfigstudio.nsi } diff --git a/autobuild/synfigstudio.nsi b/autobuild/synfigstudio.nsi index 9b9887e..f5b4c63 100644 --- a/autobuild/synfigstudio.nsi +++ b/autobuild/synfigstudio.nsi @@ -15,8 +15,8 @@ Name "Synfig Studio 0.64.0" ; The file to write OutFile "synfigstudio-0.64.0.exe" -; The default installation directory -InstallDir $PROGRAMFILES\Synfig +; The default installation directory and registry +!include "arch-specific.nsh" ; Request application privileges for Windows Vista RequestExecutionLevel highest diff --git a/autobuild/win32-specific.nsh b/autobuild/win32-specific.nsh new file mode 100644 index 0000000..b6eb0a3 --- /dev/null +++ b/autobuild/win32-specific.nsh @@ -0,0 +1,2 @@ +; set install dir +InstallDir "$PROGRAMFILES\Synfig" diff --git a/autobuild/win64-specific.nsh b/autobuild/win64-specific.nsh new file mode 100644 index 0000000..a61316f --- /dev/null +++ b/autobuild/win64-specific.nsh @@ -0,0 +1,4 @@ +; disable registry redirection (enable access to 64-bit portion of registry) +SetRegView 64 +; set install dir +InstallDir "$PROGRAMFILES64\Synfig"