--- /dev/null
+#!/usr/bin/python
+
+# Copyright (C) 2008 Kevin Ollivier All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Create a Windows installer package for wxPython wxWebKit binaries
+
+import sys, os, string
+import commands
+import glob
+from subprocess import *
+
+# Find InnoSetup executable
+def getInnoSetupPath():
+ name = "ISCC.exe"
+ retval = ""
+ dirs = os.environ["PATH"].split(":")
+ # Add the default file path
+ dirs.append("C:\\Program Files\\Inno Setup 5")
+
+ if os.environ.has_key("INNO5"):
+ retval = os.environ["INNO5"]
+
+ if retval == "":
+ for dir in dirs:
+ filepath = os.path.join(dir, name)
+ if os.path.isfile(filepath):
+ retval = filepath
+
+ return retval
+
+def getWebKitOutputDir():
+ retval = ""
+ if os.environ.has_key("WEBKITOUTPUTDIR"):
+ retval = os.environ["WEBKITOUTPUTDIR"]
+
+ if retval == "":
+ retval = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", "WebKitBuild"))
+
+ return os.path.join(retval, "Release")
+
+def getRevisionString():
+ pipe = Popen("svnversion", shell=True, stdout=PIPE).stdout
+ svnrevision = pipe.read().strip()
+ print "r" + svnrevision
+ svnrevision = string.split(svnrevision, ":")[0]
+ svnrevision = svnrevision.replace("M", "")
+ svnrevision = "r" + svnrevision
+
+ return svnrevision
+
+if __name__ == "__main__":
+ innoSetup = getInnoSetupPath()
+ buildDir = getWebKitOutputDir()
+ os.chdir(sys.path[0])
+
+ svnrevision = getRevisionString()
+
+ if not os.path.exists(innoSetup):
+ print "ERROR: Cannot find InnoSetup."
+ #sys.exit(1)
+
+ if not os.path.exists(buildDir):
+ print "ERROR: Build dir %s doesn't exist." % buildDir
+ sys.exit(1)
+
+ fileList = """
+CopyMode: alwaysoverwrite; Source: *.pyd; DestDir: "{app}"
+CopyMode: alwaysoverwrite; Source: *.py; DestDir: "{app}"
+"""
+
+ dlls = glob.glob(os.path.join(buildDir, "*.dll"))
+ for dll in dlls:
+ if dll.find("wxbase") == -1 and dll.find("wxmsw") == -1:
+ fileList += """CopyMode: alwaysoverwrite; Source: %s; DestDir: "{app}" \n""" % dll
+
+ installerTemplate = open("wxWebKitInstaller.iss.in", "r").read()
+
+ installerTemplate = installerTemplate.replace("<<VERSION>>", svnrevision)
+ installerTemplate = installerTemplate.replace("<<ROOTDIR>>", buildDir )
+ installerTemplate = installerTemplate.replace("<<PYTHONVER>>", "2.5" )
+ installerTemplate = installerTemplate.replace("<<FILES>>", fileList )
+
+ outputFile = open("wxWebKitInstaller.iss", "w")
+ outputFile.write(installerTemplate)
+ outputFile.close()
+
+ success = os.system('"%s" wxWebKitInstaller.iss' % innoSetup)
+ sys.exit(success)
--- /dev/null
+; Installer script for wxWebKit for wxPython
+
+[Setup]
+AppName=wxWebKit
+AppId=wxWebKit
+AppVersion=<<VERSION>>
+AppVerName=wxWebKit <<VERSION>>
+AppCopyright=wxWindows License
+DefaultDirName={code:GetInstallDir|c:\DoNotInstallHere}
+AppPublisher=wxWebKit Project
+AppPublisherURL=http://wxwebkit.wxcommunity.com/pmwiki/
+AppSupportURL=http://wxwebkit.wxcommunity.com/pmwiki/
+AppUpdatesURL=http://wxwebkit.wxcommunity.com/pmwiki/
+UninstallDisplayName=wxWebKit <<VERSION>>
+UninstallFilesDir={app}\Uninstall
+
+Compression=bzip/9
+SourceDir=<<ROOTDIR>>
+OutputDir=win-installer
+OutputBaseFilename=wxWebKit-Py<<PYTHONVER>>-<<VERSION>>
+DisableStartupPrompt=yes
+AllowNoIcons=yes
+DisableProgramGroupPage=yes
+DisableReadyPage=yes
+
+[Files]
+<<FILES>>
+
+[Messages]
+WelcomeLabel1=Welcome to the wxWebKit for wxPython Setup Wizard
+
+[Code]
+
+program Setup;
+var
+ PythonDir : String;
+ InstallDir : String;
+
+
+function InitializeSetup(): Boolean;
+begin
+
+ (* -------------------------------------------------------------- *)
+ (* Figure out what to use as a default installation dir *)
+
+ if not RegQueryStringValue(HKEY_LOCAL_MACHINE,
+ 'Software\Python\PythonCore\<<PYTHONVER>>\InstallPath',
+ '', PythonDir) then begin
+
+ if not RegQueryStringValue(HKEY_CURRENT_USER,
+ 'Software\Python\PythonCore\<<PYTHONVER>>\InstallPath',
+ '', PythonDir) then begin
+
+ MsgBox('No installation of Python <<PYTHONVER>> found in registry.' + #13 +
+ 'Be sure to enter a pathname that places wxPython on the PYTHONPATH',
+ mbConfirmation, MB_OK);
+ PythonDir := 'C:\Put a directory on PYTHONPATH here\';
+ end;
+ end;
+ InstallDir := PythonDir + '\Lib\site-packages\wx-2.8-msw-unicode\wx\';
+ Result := True;
+end;
+
+
+
+function GetPythonDir(Default: String): String;
+begin
+ Result := PythonDir;
+end;
+
+
+
+function GetInstallDir(Default: String): String;
+begin
+ Result := InstallDir;
+end;
+
+begin
+end.