ability to compite the installer for gtk3 version
This commit is contained in:
parent
b353a0721a
commit
06a477da8a
29
build.bat
29
build.bat
|
@ -5,35 +5,20 @@ hg archive gajim_built
|
|||
xcopy ..\gajim-plugins\plugin_installer gajim_built\plugins\plugin_installer /e /i
|
||||
|
||||
copy msgfmt.exe gajim_built
|
||||
copy gettextsrc.dll gajim_built
|
||||
copy gettextlib.dll gajim_built
|
||||
copy msvcr90.dll gajim_built
|
||||
copy msvcr100.dll gajim_built
|
||||
|
||||
cd gajim_built
|
||||
|
||||
REM for libglade-2.0.0.dll
|
||||
PATH=..\src\gtk\bin;%PATH%
|
||||
for %%l in (po\*.po) do mkdir po\%%~nl & mkdir po\%%~nl\LC_MESSAGES & msgfmt -o po\%%~nl\LC_MESSAGES\gajim.mo %%l
|
||||
|
||||
c:\python27\python.exe setup_win32.py build_exe
|
||||
c:\python34\python.exe setup_win32.py build_exe
|
||||
|
||||
move build\exe.win32-2.7 .
|
||||
rename exe.win32-2.7 bin
|
||||
|
||||
copy ..\LIBEAY32.dll bin
|
||||
copy ..\SSLEAY32.dll bin
|
||||
move build\exe.win32-3.4 .
|
||||
rmdir build
|
||||
rename exe.win32-3.4 build
|
||||
|
||||
REM for snarl plugin
|
||||
xcopy ..\win32com bin\win32com /e /i
|
||||
|
||||
mkdir bin\gtk
|
||||
cd ../src/gtk
|
||||
hg archive ..\..\gajim_built\bin\gtk
|
||||
cd ../../gajim_built/
|
||||
|
||||
REM for msgfmt
|
||||
PATH=bin\gtk\bin;%PATH%
|
||||
|
||||
for %%l in (po\*.po) do mkdir po\%%~nl & mkdir po\%%~nl\LC_MESSAGES & msgfmt -o po\%%~nl\LC_MESSAGES\gajim.mo %%l
|
||||
xcopy ..\win32com build\win32com /e /i
|
||||
|
||||
"C:\Program Files (x86)\NSIS\makensis" gajim.nsi
|
||||
|
||||
|
|
275
gajim.nsi
275
gajim.nsi
|
@ -31,7 +31,7 @@ Var StartMenuFolder
|
|||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\bin\Gajim.exe"
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\build\Gajim.exe"
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_WELCOME
|
||||
|
@ -59,7 +59,6 @@ LangString NAME_Themes ${LANG_ENGLISH} "Themes"
|
|||
LangString NAME_SecDesktopIcon ${LANG_ENGLISH} "Create icon on desktop"
|
||||
LangString NAME_SecAutostart ${LANG_ENGLISH} "Start Gajim when Windows starts"
|
||||
LangString DESC_SecGajim ${LANG_ENGLISH} "Installs the main Gajim files."
|
||||
LangString DESC_SecGtk ${LANG_ENGLISH} "Installs Gtk+ 2 (necessary to run Gajim)."
|
||||
LangString DESC_SecDesktopIcon ${LANG_ENGLISH} "If set, a shortcut for Gajim will be created on the desktop."
|
||||
LangString DESC_SecAutostart ${LANG_ENGLISH} "If set, Gajim will be automatically started when Windows starts."
|
||||
LangString STR_Installed ${LANG_ENGLISH} "Apparently, Gajim is already installed. Uninstall it?"
|
||||
|
@ -75,7 +74,6 @@ LangString NAME_Themes ${LANG_FRENCH} "Th
|
|||
LangString NAME_SecDesktopIcon ${LANG_FRENCH} "Créer une icône sur le bureau"
|
||||
LangString NAME_SecAutostart ${LANG_FRENCH} "Lancer Gajim au démarrage de Windows"
|
||||
LangString DESC_SecGajim ${LANG_FRENCH} "Installer les fichiers principaux de Gajim."
|
||||
LangString DESC_SecGtk ${LANG_FRENCH} "Installer Gtk+ 2 (nécessaire à Gajim)."
|
||||
LangString DESC_SecDesktopIcon ${LANG_FRENCH} "Si selectionné, un raccourci pour Gajim sera créé sur le bureau."
|
||||
LangString DESC_SecAutostart ${LANG_FRENCH} "Si activé, Gajim sera automatiquement lancé au démarrage de Windows."
|
||||
LangString STR_Installed ${LANG_FRENCH} "Gajim est apparement déjà installé. Lancer la désinstallation ?"
|
||||
|
@ -91,7 +89,6 @@ LangString NAME_Themes ${LANG_GERMAN} "Designs"
|
|||
LangString NAME_SecDesktopIcon ${LANG_GERMAN} "Desktop-Icon erstellen"
|
||||
LangString NAME_SecAutostart ${LANG_GERMAN} "Gajim mit Windows starten"
|
||||
LangString DESC_SecGajim ${LANG_GERMAN} "Installiert die Hauptdateien von Gajim."
|
||||
LangString DESC_SecGtk ${LANG_GERMAN} "Installert Gtk+ 2 (notwendig um Gajim zu benutzen)."
|
||||
LangString DESC_SecDesktopIcon ${LANG_GERMAN} "Wenn dies aktiviert wird, wird ein Icon für Gajim auf dem Desktop erstellt."
|
||||
LangString DESC_SecAutostart ${LANG_GERMAN} "Gajim wird automatisch gestartet, sowie Windows startet, wenn dies aktivier wird."
|
||||
LangString STR_Installed ${LANG_GERMAN} "Gajim is apparently already installed. Uninstall it?"
|
||||
|
@ -107,7 +104,6 @@ LangString NAME_Themes ${LANG_ITALIAN} "Temi"
|
|||
LangString NAME_SecDesktopIcon ${LANG_ITALIAN} "Crea un'icona sul desktop"
|
||||
LangString NAME_SecAutostart ${LANG_ITALIAN} "Lancia Gajim quando parte Windows"
|
||||
LangString DESC_SecGajim ${LANG_ITALIAN} "Installa i file principali di Gajim."
|
||||
LangString DESC_SecGtk ${LANG_ITALIAN} "Installa Gtk+ 2 (necessario per eseguire Gajim)."
|
||||
LangString DESC_SecDesktopIcon ${LANG_ITALIAN} "Se selezionato, un'icona verrà creata sul desktop."
|
||||
LangString DESC_SecAutostart ${LANG_ITALIAN} "Se selezionato, Gajim sarà eseguito all'avvio di Windows."
|
||||
LangString STR_Installed ${LANG_ITALIAN} "Gajim is apparently already installed. Uninstall it?"
|
||||
|
@ -123,7 +119,6 @@ LangString NAME_Themes ${LANG_RUSSIAN} "
|
|||
LangString NAME_SecDesktopIcon ${LANG_RUSSIAN} "Ñîçäàòü ÿðëûê íà ðàáî÷åì ñòîëå"
|
||||
LangString NAME_SecAutostart ${LANG_RUSSIAN} "Çàïóñêàòü Gajim ïðè çàãðóçêå Windows"
|
||||
LangString DESC_SecGajim ${LANG_RUSSIAN} "Óñòàíîâêà îñíîâíûõ ôàéëîâ Gajim."
|
||||
LangString DESC_SecGtk ${LANG_RUSSIAN} "Óñòàíîâêà Gtk+ 2 (íåîáõîäèìî äëÿ ğàáîòû Gajim)."
|
||||
LangString DESC_SecDesktopIcon ${LANG_RUSSIAN} "Åñëè îòìå÷åíî, íà ðàáî÷åì ñòîëå áóäåò ñîçäàí ÿðëûê Gajim."
|
||||
LangString DESC_SecAutostart ${LANG_RUSSIAN} "Åñëè îòìå÷åíî, Gajim áóäåò àâòîìàòè÷åñêè çàïóñêàòüñÿ ïðè çàãðóçêå Windows."
|
||||
LangString STR_Installed ${LANG_RUSSIAN} "Ïîõîæå, Gajim óæå óñòàíîâëåí. Äåèíñòàëëèðîâàòü óñòàíîâëåííóþ âåðñèþ?"
|
||||
|
@ -138,7 +133,6 @@ LangString NAME_Themes ${LANG_HEBREW} "
|
|||
LangString NAME_SecDesktopIcon ${LANG_HEBREW} "öåø ñîì áùåìçï òáåãä"
|
||||
LangString NAME_SecAutostart ${LANG_HEBREW} "äôòì àú Gajim ëàùø Windows îúçéì"
|
||||
LangString DESC_SecGajim ${LANG_HEBREW} "îú÷éï ÷áöé Gajim òé÷øééí."
|
||||
LangString DESC_SecGtk ${LANG_HEBREW} "îú÷éï Gtk+ 2 (ğçåöä ìäøöú Gajim)."
|
||||
LangString DESC_SecDesktopIcon ${LANG_HEBREW} "áîéãä åð÷áòú, ÷éöåø ãøê òáåø Gajim éåùí òì ùåìçï äòáåãä."
|
||||
LangString DESC_SecAutostart ${LANG_HEBREW} "áîéãä åð÷áòú, Gajim éåôòì àåèåîèéú ëàùø Windows îúçéì."
|
||||
LangString STR_Installed ${LANG_HEBREW} "ëôé äðøàä, Gajim ëáø îåú÷ï. ìäñéø àåúå?"
|
||||
|
@ -153,79 +147,25 @@ Section "Gajim" SecGajim
|
|||
File "COPYING"
|
||||
File "THANKS"
|
||||
File "THANKS.artists"
|
||||
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
File "bin\_bsddb.pyd"
|
||||
File "bin\_cffi_backend.pyd"
|
||||
File "bin\_ctypes.pyd"
|
||||
File "bin\_hashlib.pyd"
|
||||
File "bin\_socket.pyd"
|
||||
File "bin\_sqlite3.pyd"
|
||||
File "bin\_ssl.pyd"
|
||||
File "bin\atk.pyd"
|
||||
File "bin\bz2.pyd"
|
||||
File "bin\cairo._cairo.pyd"
|
||||
File "bin\Crypto.Cipher._AES.pyd"
|
||||
File "bin\Crypto.Cipher._DES.pyd"
|
||||
File "bin\Crypto.Cipher._DES3.pyd"
|
||||
File "bin\Crypto.Hash._SHA256.pyd"
|
||||
File "bin\Crypto.Random.OSRNG.winrandom.pyd"
|
||||
File "bin\Crypto.Util._counter.pyd"
|
||||
File "bin\Crypto.Util.strxor.pyd"
|
||||
File "bin\cryptography.hazmat.bindings._constant_time.pyd"
|
||||
File "bin\cryptography.hazmat.bindings._openssl.pyd"
|
||||
File "bin\cryptography.hazmat.bindings._padding.pyd"
|
||||
File "bin\farstream.pyd"
|
||||
File "bin\gajim.exe"
|
||||
File "bin\gio._gio.pyd"
|
||||
File "bin\glib._glib.pyd"
|
||||
File "bin\gobject._gobject.pyd"
|
||||
File "bin\goocanvas.pyd"
|
||||
File "bin\gst._gst.pyd"
|
||||
File "bin\gst.interfaces.pyd"
|
||||
File "bin\gtk._gtk.pyd"
|
||||
File "bin\history_manager.exe"
|
||||
File "bin\libeay32.dll"
|
||||
File "bin\libgoocanvas-3.dll"
|
||||
File "bin\library.zip"
|
||||
File "bin\libxml2mod.pyd"
|
||||
File "bin\libxmlmods.libxml2mod.pyd"
|
||||
File "bin\pangocairo.pyd"
|
||||
File "bin\pango.pyd"
|
||||
File "bin\pycurl.pyd"
|
||||
File "bin\pyexpat.pyd"
|
||||
File "bin\python27.dll"
|
||||
File "bin\pythoncom27.dll"
|
||||
File "bin\pywintypes27.dll"
|
||||
File "bin\select.pyd"
|
||||
File "bin\sqlite3.dll"
|
||||
File "bin\ssleay32.dll"
|
||||
File "bin\unicodedata.pyd"
|
||||
File "bin\win32api.pyd"
|
||||
File "bin\win32file.pyd"
|
||||
File "bin\win32pipe.pyd"
|
||||
File "bin\win32ui.pyd"
|
||||
File "bin\winsound.pyd"
|
||||
File "msvcr90.dll"
|
||||
File /r "bin\win32com"
|
||||
File /r "build"
|
||||
SetOutPath "$INSTDIR\build"
|
||||
File "msvcr100.dll"
|
||||
|
||||
WriteRegStr HKCU "Software\Gajim" "" $INSTDIR
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayName" "Gajim"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString" "$INSTDIR\Uninstall.exe"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayIcon" "$INSTDIR\bin\Gajim.exe"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "0.16.5"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayIcon" "$INSTDIR\build\Gajim.exe"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "0.16.4"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "URLInfoAbout" "http://www.gajim.org/"
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
SetShellVarContext current
|
||||
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Change Theme.lnk" "$INSTDIR\bin\gtk\bin\gtkthemeselector.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
|
||||
SetShellVarContext all
|
||||
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Change Theme.lnk" "$INSTDIR\bin\gtk\bin\gtkthemeselector.exe"
|
||||
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
|
||||
SetOutPath "$INSTDIR\data"
|
||||
|
@ -240,15 +180,6 @@ Section "Gajim" SecGajim
|
|||
File /r "icons\hicolor"
|
||||
SectionEnd
|
||||
|
||||
Section "Gtk+ 2" SecGtk
|
||||
SectionIn RO
|
||||
SetOutPath "$INSTDIR\bin\gtk"
|
||||
File /r "bin\gtk\bin"
|
||||
File /r "bin\gtk\etc"
|
||||
File /r "bin\gtk\lib"
|
||||
File /r "bin\gtk\share"
|
||||
SectionEnd
|
||||
|
||||
Section "Plugins" SecPlugins
|
||||
SetOutPath "$INSTDIR\plugins"
|
||||
File /r "plugins\plugin_installer"
|
||||
|
@ -325,43 +256,31 @@ SectionGroup $(NAME_Languages)
|
|||
Section "English (UK)" SecLanguagesEnglishUK
|
||||
SetOutPath "$INSTDIR\po"
|
||||
File /r "po\en_GB"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\locale"
|
||||
File /r "bin\gtk\share\locale\en_GB"
|
||||
SectionEnd
|
||||
|
||||
Section "French" SecLanguagesFrench
|
||||
SetOutPath "$INSTDIR\po"
|
||||
File /r "po\fr"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\locale"
|
||||
File /r "bin\gtk\share\locale\fr"
|
||||
SectionEnd
|
||||
|
||||
Section "German" SecLanguagesGerman
|
||||
SetOutPath "$INSTDIR\po"
|
||||
File /r "po\de"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\locale"
|
||||
File /r "bin\gtk\share\locale\de"
|
||||
SectionEnd
|
||||
|
||||
Section "Italian" SecLanguagesItalian
|
||||
SetOutPath "$INSTDIR\po"
|
||||
File /r "po\it"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\locale"
|
||||
File /r "bin\gtk\share\locale\it"
|
||||
SectionEnd
|
||||
|
||||
Section "Spanish" SecLanguagesSpanish
|
||||
SetOutPath "$INSTDIR\po"
|
||||
File /r "po\es"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\locale"
|
||||
File /r "bin\gtk\share\locale\es"
|
||||
SectionEnd
|
||||
|
||||
Section "Russian" SecLanguagesRussian
|
||||
SetOutPath "$INSTDIR\po"
|
||||
File /r "po\ru"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\locale"
|
||||
File /r "bin\gtk\share\locale\ru"
|
||||
SectionEnd
|
||||
|
||||
Section $(NAME_SecLanguagesOther) SecLanguagesOther
|
||||
|
@ -391,159 +310,25 @@ Section $(NAME_SecLanguagesOther) SecLanguagesOther
|
|||
File /r "po\sv"
|
||||
File /r "po\uk"
|
||||
File /r "po\zh_CN"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\locale"
|
||||
File /r "bin\gtk\share\locale\af"
|
||||
File /r "bin\gtk\share\locale\am"
|
||||
File /r "bin\gtk\share\locale\ang"
|
||||
File /r "bin\gtk\share\locale\ar"
|
||||
File /r "bin\gtk\share\locale\as"
|
||||
File /r "bin\gtk\share\locale\az"
|
||||
File /r "bin\gtk\share\locale\az_IR"
|
||||
File /r "bin\gtk\share\locale\be"
|
||||
File /r "bin\gtk\share\locale\be@latin"
|
||||
File /r "bin\gtk\share\locale\bg"
|
||||
File /r "bin\gtk\share\locale\bn"
|
||||
File /r "bin\gtk\share\locale\bn_IN"
|
||||
File /r "bin\gtk\share\locale\br"
|
||||
File /r "bin\gtk\share\locale\bs"
|
||||
File /r "bin\gtk\share\locale\ca"
|
||||
File /r "bin\gtk\share\locale\ca@valencia"
|
||||
File /r "bin\gtk\share\locale\cs"
|
||||
File /r "bin\gtk\share\locale\cy"
|
||||
File /r "bin\gtk\share\locale\da"
|
||||
File /r "bin\gtk\share\locale\dz"
|
||||
File /r "bin\gtk\share\locale\el"
|
||||
File /r "bin\gtk\share\locale\en_CA"
|
||||
File /r "bin\gtk\share\locale\eo"
|
||||
File /r "bin\gtk\share\locale\et"
|
||||
File /r "bin\gtk\share\locale\eu"
|
||||
File /r "bin\gtk\share\locale\fa"
|
||||
File /r "bin\gtk\share\locale\fi"
|
||||
File /r "bin\gtk\share\locale\ga"
|
||||
File /r "bin\gtk\share\locale\gl"
|
||||
File /r "bin\gtk\share\locale\gu"
|
||||
File /r "bin\gtk\share\locale\he"
|
||||
File /r "bin\gtk\share\locale\hi"
|
||||
File /r "bin\gtk\share\locale\hr"
|
||||
File /r "bin\gtk\share\locale\hu"
|
||||
File /r "bin\gtk\share\locale\hy"
|
||||
File /r "bin\gtk\share\locale\ia"
|
||||
File /r "bin\gtk\share\locale\id"
|
||||
File /r "bin\gtk\share\locale\io"
|
||||
File /r "bin\gtk\share\locale\is"
|
||||
File /r "bin\gtk\share\locale\ja"
|
||||
File /r "bin\gtk\share\locale\ka"
|
||||
File /r "bin\gtk\share\locale\kn"
|
||||
File /r "bin\gtk\share\locale\ko"
|
||||
File /r "bin\gtk\share\locale\ku"
|
||||
File /r "bin\gtk\share\locale\li"
|
||||
File /r "bin\gtk\share\locale\lt"
|
||||
File /r "bin\gtk\share\locale\lv"
|
||||
File /r "bin\gtk\share\locale\mai"
|
||||
File /r "bin\gtk\share\locale\mg"
|
||||
File /r "bin\gtk\share\locale\mi"
|
||||
File /r "bin\gtk\share\locale\mk"
|
||||
File /r "bin\gtk\share\locale\ml"
|
||||
File /r "bin\gtk\share\locale\mn"
|
||||
File /r "bin\gtk\share\locale\mr"
|
||||
File /r "bin\gtk\share\locale\ms"
|
||||
File /r "bin\gtk\share\locale\nb"
|
||||
File /r "bin\gtk\share\locale\ne"
|
||||
File /r "bin\gtk\share\locale\nl"
|
||||
File /r "bin\gtk\share\locale\nn"
|
||||
File /r "bin\gtk\share\locale\nso"
|
||||
File /r "bin\gtk\share\locale\oc"
|
||||
File /r "bin\gtk\share\locale\or"
|
||||
File /r "bin\gtk\share\locale\pa"
|
||||
File /r "bin\gtk\share\locale\pl"
|
||||
File /r "bin\gtk\share\locale\ps"
|
||||
File /r "bin\gtk\share\locale\pt"
|
||||
File /r "bin\gtk\share\locale\pt_BR"
|
||||
File /r "bin\gtk\share\locale\ro"
|
||||
File /r "bin\gtk\share\locale\rw"
|
||||
File /r "bin\gtk\share\locale\si"
|
||||
File /r "bin\gtk\share\locale\sk"
|
||||
File /r "bin\gtk\share\locale\sl"
|
||||
File /r "bin\gtk\share\locale\sq"
|
||||
File /r "bin\gtk\share\locale\sr"
|
||||
File /r "bin\gtk\share\locale\sr@ije"
|
||||
File /r "bin\gtk\share\locale\sr@latin"
|
||||
File /r "bin\gtk\share\locale\sv"
|
||||
File /r "bin\gtk\share\locale\ta"
|
||||
File /r "bin\gtk\share\locale\te"
|
||||
File /r "bin\gtk\share\locale\th"
|
||||
File /r "bin\gtk\share\locale\tk"
|
||||
File /r "bin\gtk\share\locale\tl"
|
||||
File /r "bin\gtk\share\locale\tr"
|
||||
File /r "bin\gtk\share\locale\tt"
|
||||
File /r "bin\gtk\share\locale\ug"
|
||||
File /r "bin\gtk\share\locale\uk"
|
||||
File /r "bin\gtk\share\locale\ur"
|
||||
File /r "bin\gtk\share\locale\uz"
|
||||
File /r "bin\gtk\share\locale\uz@cyrillic"
|
||||
File /r "bin\gtk\share\locale\vi"
|
||||
File /r "bin\gtk\share\locale\wa"
|
||||
File /r "bin\gtk\share\locale\xh"
|
||||
File /r "bin\gtk\share\locale\yi"
|
||||
File /r "bin\gtk\share\locale\zh_CN"
|
||||
File /r "bin\gtk\share\locale\zh_HK"
|
||||
File /r "bin\gtk\share\locale\zh_TW"
|
||||
SectionEnd
|
||||
|
||||
SectionGroupEnd
|
||||
|
||||
SectionGroup $(NAME_Themes)
|
||||
|
||||
Section "Clearlooks" SecThemesClearlooks
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\themes"
|
||||
File /r "bin\gtk\share\themes\Clearlooks"
|
||||
SectionEnd
|
||||
|
||||
Section "Default GTK" SecThemesDefault
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\themes"
|
||||
File /r "bin\gtk\share\themes\Default"
|
||||
SectionEnd
|
||||
|
||||
Section "Glossy" SecThemesGlossy
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\themes"
|
||||
File /r "bin\gtk\share\themes\Glossy"
|
||||
SectionEnd
|
||||
|
||||
Section "Glossy-js" SecThemesGlossyJs
|
||||
SectionIn RO
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\themes"
|
||||
File /r "bin\gtk\share\themes\Glossy-js"
|
||||
SectionEnd
|
||||
|
||||
Section "MS-Windows" SecThemesMSWindows
|
||||
SetOutPath "$INSTDIR\bin\gtk\lib\gtk-2.0\2.10.0\engines"
|
||||
File "bin\gtk\lib\gtk-2.0\2.10.0\engines\libwimp.dll"
|
||||
SetOutPath "$INSTDIR\bin\gtk\share\themes"
|
||||
File /r "bin\gtk\share\themes\MS-Windows"
|
||||
SectionEnd
|
||||
|
||||
SectionGroupEnd
|
||||
|
||||
Section $(NAME_SecDesktopIcon) SecDesktopIcon
|
||||
SetShellVarContext current
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
CreateShortCut "$DESKTOP\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
|
||||
SetOutPath "$INSTDIR\build"
|
||||
CreateShortCut "$DESKTOP\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
|
||||
SectionEnd
|
||||
|
||||
Section $(NAME_SecAutostart) SecAutostart
|
||||
SetShellVarContext current
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
CreateShortCut "$SMSTARTUP\Gajim.lnk" "$INSTDIR\bin\Gajim.exe"
|
||||
SetOutPath "$INSTDIR\build"
|
||||
CreateShortCut "$SMSTARTUP\Gajim.lnk" "$INSTDIR\build\Gajim.exe"
|
||||
SectionEnd
|
||||
|
||||
Section "Uninstall"
|
||||
RMDir /r "$INSTDIR\bin\gtk\bin"
|
||||
RMDir /r "$INSTDIR\bin\gtk\etc"
|
||||
RMDir /r "$INSTDIR\bin\gtk\lib"
|
||||
RMDir /r "$INSTDIR\bin\gtk\share"
|
||||
RMDir "$INSTDIR\bin\gtk"
|
||||
RMDir "$INSTDIR\bin\win32com"
|
||||
RMDir /r "$INSTDIR\bin"
|
||||
RMDir /r "$INSTDIR\build"
|
||||
RMDir /r "$INSTDIR\data\gui"
|
||||
RMDir /r "$INSTDIR\data\moods"
|
||||
RMDir /r "$INSTDIR\data\activities"
|
||||
|
@ -568,38 +353,7 @@ Section "Uninstall"
|
|||
RMDir "$INSTDIR\plugins"
|
||||
RMDir /r "$INSTDIR\icons\hicolor"
|
||||
RMDir "$INSTDIR\icons"
|
||||
RMDir /r "$INSTDIR\po\be"
|
||||
RMDir /r "$INSTDIR\po\be@latin"
|
||||
RMDir /r "$INSTDIR\po\bg"
|
||||
RMDir /r "$INSTDIR\po\br"
|
||||
RMDir /r "$INSTDIR\po\cs"
|
||||
RMDir /r "$INSTDIR\po\da"
|
||||
RMDir /r "$INSTDIR\po\de"
|
||||
RMDir /r "$INSTDIR\po\el"
|
||||
RMDir /r "$INSTDIR\po\en_GB"
|
||||
RMDir /r "$INSTDIR\po\eo"
|
||||
RMDir /r "$INSTDIR\po\es"
|
||||
RMDir /r "$INSTDIR\po\eu"
|
||||
RMDir /r "$INSTDIR\po\fr"
|
||||
RMDir /r "$INSTDIR\po\gl"
|
||||
RMDir /r "$INSTDIR\po\he"
|
||||
RMDir /r "$INSTDIR\po\hr"
|
||||
RMDir /r "$INSTDIR\po\it"
|
||||
RMDir /r "$INSTDIR\po\lt"
|
||||
RMDir /r "$INSTDIR\po\nb"
|
||||
RMDir /r "$INSTDIR\po\nl"
|
||||
RMDir /r "$INSTDIR\po\no"
|
||||
RMDir /r "$INSTDIR\po\pl"
|
||||
RMDir /r "$INSTDIR\po\pt"
|
||||
RMDir /r "$INSTDIR\po\pt_BR"
|
||||
RMDir /r "$INSTDIR\po\ru"
|
||||
RMDir /r "$INSTDIR\po\sk"
|
||||
RMDir /r "$INSTDIR\po\sr"
|
||||
RMDir /r "$INSTDIR\po\sr@Latn"
|
||||
RMDir /r "$INSTDIR\po\sv"
|
||||
RMDir /r "$INSTDIR\po\uk"
|
||||
RMDir /r "$INSTDIR\po\zh_CN"
|
||||
RMDir "$INSTDIR\po"
|
||||
RMDir /r "$INSTDIR\po"
|
||||
Delete "$INSTDIR\AUTHORS"
|
||||
Delete "$INSTDIR\COPYING"
|
||||
Delete "$INSTDIR\THANKS"
|
||||
|
@ -626,7 +380,6 @@ SectionEnd
|
|||
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecGajim} $(DESC_SecGajim)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecGtk} $(DESC_SecGtk)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} $(DESC_SecDesktopIcon)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecAutostart} $(DESC_SecAutostart)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
cd src
|
||||
gajim.py
|
||||
python gajim.py
|
||||
cd ..
|
||||
|
|
129
setup_win32.py
129
setup_win32.py
|
@ -23,41 +23,120 @@ from cx_Freeze import setup, Executable
|
|||
import glob
|
||||
import sys
|
||||
import os
|
||||
import site
|
||||
|
||||
site_dir = site.getsitepackages()[1]
|
||||
include_dll_path = os.path.join(site_dir, "gnome")
|
||||
sys.path.append('src')
|
||||
# Use local gtk folder instead of the one in PATH that is not latest gtk
|
||||
if 'gtk' in os.listdir('.'):
|
||||
sys.path.append('gtk/bin')
|
||||
|
||||
# Collect the list of missing dll when cx_freeze builds the app
|
||||
missing_dll = ['libgtk-3-0.dll',
|
||||
'libgdk-3-0.dll',
|
||||
'libatk-1.0-0.dll',
|
||||
'libcairo-gobject-2.dll',
|
||||
'libgdk_pixbuf-2.0-0.dll',
|
||||
'libjpeg-8.dll',
|
||||
'libpango-1.0-0.dll',
|
||||
'libpangocairo-1.0-0.dll',
|
||||
'libpangoft2-1.0-0.dll',
|
||||
'libpangowin32-1.0-0.dll',
|
||||
'libgnutls-26.dll',
|
||||
'libp11-kit-0.dll',
|
||||
'libaerial-0.dll',
|
||||
'libgstrtp-1.0-0.dll',
|
||||
'libcurl-4.dll',
|
||||
'libgstrtsp-1.0-0.dll',
|
||||
'libdb-4.8.dll',
|
||||
'libgstrtspserver-1.0-0.dll',
|
||||
'libfarstream-0.2-2.dll',
|
||||
'libgstsdp-1.0-0.dll',
|
||||
'libfftw3.dll',
|
||||
'libgsttag-1.0-0.dll',
|
||||
'libfluidsynth-1.dll',
|
||||
'libgsturidownloader-1.0-0.dll',
|
||||
'libgraphene-1.0-0.dll',
|
||||
'libgstvalidate-1.0-0.dll',
|
||||
'libgssdp-1.0-3.dll',
|
||||
'libgstvalidate-default-overrides-1.0-0.dll',
|
||||
'libgstallocators-1.0-0.dll',
|
||||
'libgstvideo-1.0-0.dll',
|
||||
'libgstapp-1.0-0.dll',
|
||||
'libgupnp-1.0-4.dll',
|
||||
'libgstaudio-1.0-0.dll',
|
||||
'libgupnp-igd-1.0-4.dll',
|
||||
'libgstbadbase-1.0-0.dll',
|
||||
'libidn-11.dll',
|
||||
'libgstbadvideo-1.0-0.dll',
|
||||
'libjack.dll',
|
||||
'libgstbase-1.0-0.dll',
|
||||
'libjasper-1.dll',
|
||||
'libgstbasecamerabinsrc-1.0-0.dll',
|
||||
'libnice-10.dll',
|
||||
'libgstcheck-1.0-0.dll',
|
||||
'libnotify-4.dll',
|
||||
'libgstcodecparsers-1.0-0.dll',
|
||||
'libopenexr-2.dll',
|
||||
'libgstcontroller-1.0-0.dll',
|
||||
'libopenjp2.dll',
|
||||
'libgstfft-1.0-0.dll',
|
||||
'liborc-0.4-0.dll',
|
||||
'libgstgl-1.0-0.dll',
|
||||
'liborc-test-0.4-0.dll',
|
||||
'libgstinsertbin-1.0-0.dll',
|
||||
'libproxy.dll',
|
||||
'libgstmpegts-1.0-0.dll',
|
||||
'librsvg-2-2.dll',
|
||||
'libgstnet-1.0-0.dll',
|
||||
'libsoup-2.4-1.dll',
|
||||
'libgstpbutils-1.0-0.dll',
|
||||
'libsqlite3-0.dll',
|
||||
'libgstphotography-1.0-0.dll',
|
||||
'libvisual-0.4-0.dll',
|
||||
'libgstreamer-1.0-0.dll',
|
||||
'libwebp-5.dll',
|
||||
'libgstriff-1.0-0.dll',
|
||||
]
|
||||
|
||||
# We need to add all the libraries too (for themes, etc..)
|
||||
gtk_libs = {
|
||||
'etc': ['dbus-1', 'fonts', 'gtk-3.0', 'pango'],
|
||||
'lib': ['aspell-0.60', 'enchant', 'farstream-0.2', 'gdbus-2.0', 'gdk-pixbuf-2.0', 'gio', 'girepository-1.0', 'gobject-introspection', 'gstreamer-1.0', 'gtk-3.0', 'libcanberra-0.30'],
|
||||
'share': ['dbus-1', 'enchant', 'farstream', 'fonts', 'gir-1.0', 'glib-2.0', 'gobject-introspection-1.0', 'gst-plugins-bad', 'gst-plugins-base', 'gstreamer-1.0', 'gupnp-av', 'gupnp-dlna-2.0', 'icons', 'ssl', 'themes', 'xml'],
|
||||
}
|
||||
|
||||
# Create the list of includes as cx_freeze likes
|
||||
include_files = []
|
||||
for dll in missing_dll:
|
||||
include_files.append((os.path.join(include_dll_path, dll), dll))
|
||||
|
||||
# Let's add gtk libraries folders and files
|
||||
for folder in gtk_libs:
|
||||
for lib in gtk_libs[folder]:
|
||||
folder_lib = os.path.join(folder, lib)
|
||||
include_files.append((os.path.join(include_dll_path, folder_lib), folder_lib))
|
||||
# Let's add gtk locales that we support in Gajim
|
||||
for language in next(os.walk('po'))[1]:
|
||||
target_dir = os.path.join('share', 'locale', language)
|
||||
language_dir = os.path.join(include_dll_path, target_dir)
|
||||
if os.path.isdir(language_dir):
|
||||
include_files.append((language_dir, target_dir))
|
||||
|
||||
options = {
|
||||
'build_exe': {
|
||||
'includes': ['Gdk.KEY_', 'dumbdbm', 'dbhash', 'bsddb', 'new',
|
||||
'goocanvas', 'Crypto.PublicKey.DSA', 'Crypto.Hash.HMAC',
|
||||
'numbers', 'win32com.client', 'win32com.server', 'HTMLParser'],
|
||||
'base': 'Win32GUI',
|
||||
'packages': ['cffi', 'cryptography'],
|
||||
'bin_excludes': [
|
||||
'iconv.dll', 'intl.dll', 'libatk-1.0-0.dll',
|
||||
'libgdk_pixbuf-2.0-0.dll', 'libgdk-win32-2.0-0.dll',
|
||||
'libgio-2.0-0.dll',
|
||||
'libglib-2.0-0.dll', 'libgmodule-2.0-0.dll',
|
||||
'libgobject-2.0-0.dll', 'libgthread-2.0-0.dll',
|
||||
'libgtk-win32-2.0-0.dll', 'libpango-1.0-0.dll',
|
||||
'libpangowin32-1.0-0.dll', 'libcairo-2.dll',
|
||||
'libpangocairo-1.0-0.dll', 'libpangoft2-1.0-0.dll',
|
||||
'libfarstream-0.1-0.dll', 'libgcc_s_dw2-1.dll',
|
||||
'libgstbase-0.10-0.dll', 'libgstcontroller-0.10-0.dll',
|
||||
'libgstdataprotocol-0.10-0.dll', 'libgstinterfaces-0.10-0.dll',
|
||||
'libgstnet-0.10-0.dll', 'libgstreamer-0.10-0.dll',
|
||||
'libiconv-2.dll', 'libxml2.dll', 'libxml2-2.dll',
|
||||
'build_exe': {
|
||||
'compressed': False,
|
||||
'includes': ['gi', 'Crypto.PublicKey.DSA', 'Crypto.Hash.HMAC',
|
||||
'numbers', 'win32com.client', 'win32com.server'
|
||||
],
|
||||
}
|
||||
'packages': ['gi', 'cffi', 'cryptography'],
|
||||
'base': 'Win32GUI',
|
||||
'include_files': include_files,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
setup(
|
||||
name='Gajim',
|
||||
version='0.16.5',
|
||||
version='0.16.10',
|
||||
description='A full featured Jabber client',
|
||||
author='Gajim Development Team',
|
||||
url='http://gajim.org/',
|
||||
|
|
|
@ -32,4 +32,4 @@ def remove(sequence, target):
|
|||
sequence.remove(target)
|
||||
elif isinstance(sequence, dict):
|
||||
if target in sequence:
|
||||
del sequence[target]
|
||||
del sequence[target]
|
|
@ -90,8 +90,8 @@ def add_entropy_sources_OpenSSL():
|
|||
OpenSSL.rand.add(str(s).encode('utf-8'), 1)
|
||||
|
||||
# On Windows add the current contents of the screen to the PRNG state.
|
||||
if os.name == 'nt':
|
||||
OpenSSL.rand.screen()
|
||||
# if os.name == 'nt':
|
||||
# OpenSSL.rand.screen()
|
||||
# The /proc filesystem on POSIX systems contains many random variables:
|
||||
# memory statistics, interrupt counts, network packet counts
|
||||
if os.name == 'posix':
|
||||
|
|
|
@ -198,7 +198,8 @@ class NSLookupResolver(CommonResolver):
|
|||
if not result:
|
||||
return []
|
||||
hosts = []
|
||||
lines = str(result).replace('\r', '').split('\n')
|
||||
result = result.decode(sys.stdout.encoding)
|
||||
lines = result.replace('\r', '').split('\n')
|
||||
current_host = None
|
||||
for line in lines:
|
||||
line = line.lstrip()
|
||||
|
|
|
@ -175,8 +175,6 @@ class FeaturesWindow:
|
|||
return gajim.HAVE_ZEROCONF
|
||||
|
||||
def dbus_available(self):
|
||||
if os.name == 'nt':
|
||||
return False
|
||||
from common import dbus_support
|
||||
return dbus_support.supported
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ def send_error(error_message):
|
|||
try:
|
||||
import dbus
|
||||
import dbus.service
|
||||
import dbus.glib
|
||||
# import dbus.glib
|
||||
# test if dbus-x11 is installed
|
||||
bus = dbus.SessionBus()
|
||||
except Exception:
|
||||
|
|
52
src/gajim.py
52
src/gajim.py
|
@ -38,6 +38,7 @@
|
|||
import os
|
||||
import sys
|
||||
import warnings
|
||||
import OpenSSL
|
||||
|
||||
if os.name == 'nt':
|
||||
log_path = os.path.join(os.environ['APPDATA'], 'Gajim')
|
||||
|
@ -50,26 +51,9 @@ if os.name == 'nt':
|
|||
|
||||
warnings.filterwarnings(action='ignore')
|
||||
|
||||
if os.path.isdir('gtk'):
|
||||
# Used to create windows installer with GTK included
|
||||
paths = os.environ['PATH']
|
||||
list_ = paths.split(';')
|
||||
new_list = []
|
||||
for p in list_:
|
||||
if p.find('gtk') < 0 and p.find('GTK') < 0:
|
||||
new_list.append(p)
|
||||
new_list.insert(0, os.path.join(os.getcwd(), 'gtk', 'lib'))
|
||||
new_list.insert(0, os.path.join(os.getcwd(), 'gtk', 'bin'))
|
||||
os.environ['PATH'] = ';'.join(new_list)
|
||||
|
||||
# Needs to be imported very early to not crash Gajim on exit.
|
||||
try:
|
||||
__import__('libxml2mod')
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
HAS_NBXMPP=True
|
||||
MIN_NBXMPP_VER = "0.5.3"
|
||||
from gi.repository import GLib
|
||||
try:
|
||||
import nbxmpp
|
||||
except ImportError:
|
||||
|
@ -109,19 +93,19 @@ if os.name == 'nt':
|
|||
gettext.textdomain(APP)
|
||||
gettext.install(APP, DIR)
|
||||
|
||||
locale.setlocale(locale.LC_ALL, '')
|
||||
import ctypes
|
||||
import ctypes.util
|
||||
libintl_path = ctypes.util.find_library('intl')
|
||||
if libintl_path == None:
|
||||
local_intl = os.path.join('gtk', 'bin', 'intl.dll')
|
||||
if os.path.exists(local_intl):
|
||||
libintl_path = local_intl
|
||||
if libintl_path == None:
|
||||
raise ImportError('intl.dll library not found')
|
||||
libintl = ctypes.cdll.LoadLibrary(libintl_path)
|
||||
libintl.bindtextdomain(APP, DIR)
|
||||
libintl.bind_textdomain_codeset(APP, 'UTF-8')
|
||||
# locale.setlocale(locale.LC_ALL, '')
|
||||
# import ctypes
|
||||
# import ctypes.util
|
||||
# libintl_path = ctypes.util.find_library('intl')
|
||||
# if libintl_path == None:
|
||||
# local_intl = os.path.join('gtk', 'bin', 'intl.dll')
|
||||
# if os.path.exists(local_intl):
|
||||
# libintl_path = local_intl
|
||||
# if libintl_path == None:
|
||||
# raise ImportError('intl.dll library not found')
|
||||
# libintl = ctypes.cdll.LoadLibrary(libintl_path)
|
||||
# libintl.bindtextdomain(APP, DIR)
|
||||
# libintl.bind_textdomain_codeset(APP, 'UTF-8')
|
||||
|
||||
if os.name == 'nt':
|
||||
# needed for docutils
|
||||
|
@ -202,8 +186,8 @@ del profile
|
|||
if os.name == 'nt':
|
||||
plugins_locale_dir = os.path.join(common.configpaths.gajimpaths[
|
||||
'PLUGINS_USER'], 'locale').encode(locale.getpreferredencoding())
|
||||
libintl.bindtextdomain('gajim_plugins', plugins_locale_dir)
|
||||
libintl.bind_textdomain_codeset('gajim_plugins', 'UTF-8')
|
||||
# libintl.bindtextdomain('gajim_plugins', plugins_locale_dir)
|
||||
# libintl.bind_textdomain_codeset('gajim_plugins', 'UTF-8')
|
||||
|
||||
class MyStderr(object):
|
||||
_file = None
|
||||
|
@ -316,7 +300,7 @@ if pritext:
|
|||
|
||||
del pritext
|
||||
|
||||
import gtkexcepthook
|
||||
#import gtkexcepthook
|
||||
|
||||
import signal
|
||||
import gtkgui_helpers
|
||||
|
|
|
@ -265,7 +265,7 @@ class GajimPluginConfig():
|
|||
except:
|
||||
log.warning('%s plugin config file not readable. Saving it as '
|
||||
'%s and creating a new one' % (self.plugin.short_name,
|
||||
self.FILE_PATH + '.bak'))
|
||||
self.FILE_PATH.decode(locale.getpreferredencoding()) + '.bak'))
|
||||
if os.path.exists(self.FILE_PATH + '.bak'):
|
||||
os.remove(self.FILE_PATH + '.bak')
|
||||
os.rename(self.FILE_PATH, self.FILE_PATH + '.bak')
|
||||
|
|
Loading…
Reference in New Issue