Add the packaging stuff to a subdirectory
--- a/guifications-installer.nsi Wed Apr 07 03:11:54 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,446 +0,0 @@
-; NSIS Script For Guifications Plugin
-; Author Daniel A. Atallah
-; Based on the Pidgin installer by Herman Bloggs and the Pidgin-Encryption installer by Bill Tompkins
-;--------------------------------
-!insertmacro GetParameters
-;--------------------------------
- Name "Pidgin Guifications ${GUIFICATIONS_VERSION}"
- OutFile "pidgin-guifications-${GUIFICATIONS_VERSION}.exe"
- ;The Default Installation Directory
- InstallDir "$PROGRAMFILES\pidgin"
- InstallDirRegKey HKLM SOFTWARE\pidgin ""
- SetCompressor /SOLID lzma
-;Reserve files used in .onInit for faster start-up
-!insertmacro MUI_RESERVEFILE_LANGDLL
- !define GUIFICATIONS_UNINST_EXE "pidgin-guifications-uninst.exe"
- !define GUIFICATIONS_DLL "guifications.dll"
- !define GUIFICATIONS_UNINSTALL_LNK "Guifications Uninstall.lnk"
-;--------------------------------
- !define GUIFICATIONS_REG_KEY "SOFTWARE\pidgin-guifications"
- !define GUIFICATIONS_UNINSTALL_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\pidgin-guifications"
-;-------------------------------
-; Pidgin Plugin installer helper stuff
- !addincludedir "${PIDGIN_TREE_TOP}\pidgin\win32\nsis"
- !include "pidgin-plugin.nsh"
-;--------------------------------
-; Modern UI Configuration
- !define MUI_ICON .\nsis\install.ico
- !define MUI_UNICON .\nsis\install.ico
- !define MUI_HEADERIMAGE
- !define MUI_HEADERIMAGE_BITMAP "nsis\header.bmp"
- !define MUI_CUSTOMFUNCTION_GUIINIT gf_checkPidginVersion
- !define MUI_ABORTWARNING
- !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
- !define MUI_LANGDLL_REGISTRY_KEY ${GUIFICATIONS_REG_KEY}
- !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
-;--------------------------------
- !define MUI_WELCOMEPAGE_TITLE $(WELCOME_TITLE)
- !define MUI_WELCOMEPAGE_TEXT $(WELCOME_TEXT)
- !insertmacro MUI_PAGE_WELCOME
- !define MUI_LICENSEPAGE_RADIOBUTTONS
- !insertmacro MUI_PAGE_LICENSE ".\COPYING"
- !define MUI_DIRECTORYPAGE_TEXT_TOP $(DIR_SUBTITLE)
- !define MUI_DIRECTORYPAGE_TEXT_DESTINATION $(DIR_INNERTEXT)
- !insertmacro MUI_PAGE_DIRECTORY
- !insertmacro MUI_PAGE_INSTFILES
- !define MUI_FINISHPAGE_TITLE $(FINISH_TITLE)
- !define MUI_FINISHPAGE_TEXT $(FINISH_TEXT)
- !insertmacro MUI_PAGE_FINISH
-;--------------------------------
- !insertmacro MUI_LANGUAGE "English"
- !insertmacro MUI_LANGUAGE "French"
- !insertmacro MUI_LANGUAGE "Italian"
- !insertmacro MUI_LANGUAGE "Spanish"
- !include "nsis\translations\english.nsh"
- !include "nsis\translations\french.nsh"
- !include "nsis\translations\italian.nsh"
- !include "nsis\translations\spanish.nsh"
-; Uninstall the previous version if it exists
-Section -SecUninstallOldPlugin
- ; Check install rights..
- Call CheckUserInstallRights
- StrCmp $R0 "HKLM" rights_hklm
- StrCmp $R0 "HKCU" rights_hkcu done
- ReadRegStr $R1 HKCU "${GUIFICATIONS_REG_KEY}" ""
- ReadRegStr $R2 HKCU "${GUIFICATIONS_REG_KEY}" "Version"
- ReadRegStr $R3 HKCU "${GUIFICATIONS_UNINSTALL_KEY}" "UninstallString"
- ReadRegStr $R1 HKLM "${GUIFICATIONS_REG_KEY}" ""
- ReadRegStr $R2 HKLM "${GUIFICATIONS_REG_KEY}" "Version"
- ReadRegStr $R3 HKLM "${GUIFICATIONS_UNINSTALL_KEY}" "UninstallString"
- ; If previous version exists .. remove
- StrCmp $R2 "" uninstall_problem
- IfFileExists $R3 0 uninstall_problem
- ; Have uninstall string.. go ahead and uninstall.
- ; Need to copy uninstaller outside of the install dir
- CopyFiles /SILENT $R3 "$TEMP\${GUIFICATIONS_UNINST_EXE}"
- IfErrors uninstall_problem
- ExecWait '"$TEMP\${GUIFICATIONS_UNINST_EXE}" /S _?=$R1'
- Delete "$TEMP\${GUIFICATIONS_UNINST_EXE}"
- Delete "$TEMP\${GUIFICATIONS_UNINST_EXE}"
- ; Just delete the plugin and uninstaller, and remove Registry key
- MessageBox MB_YESNO $(GUIFICATIONS_PROMPT_WIPEOUT) IDYES do_wipeout IDNO cancel_install
- StrCmp $R0 "HKLM" del_lm_reg del_cu_reg
- DeleteRegKey HKCU ${GUIFICATIONS_REG_KEY}
- Goto uninstall_prob_cont
- DeleteRegKey HKLM ${GUIFICATIONS_REG_KEY}
- Delete "$R1\plugins\${GUIFICATIONS_DLL}"
- RMDir /r "$R1\pixmaps\pidgin\guifications"
- SetOutPath "$INSTDIR\locale\${LANG}\LC_MESSAGES"
- File /oname=guifications.mo po\${LANG}.gmo
- Call CheckUserInstallRights
- StrCmp $R0 "NONE" instrights_none
- StrCmp $R0 "HKLM" instrights_hklm instrights_hkcu
- ; Write the version registry keys:
- WriteRegStr HKLM ${GUIFICATIONS_REG_KEY} "" "$INSTDIR"
- WriteRegStr HKLM ${GUIFICATIONS_REG_KEY} "Version" "${GUIFICATIONS_VERSION}"
- ; Write the uninstall keys for Windows
- WriteRegStr HKLM ${GUIFICATIONS_UNINSTALL_KEY} "DisplayName" "$(GUIFICATIONS_UNINSTALL_DESC)"
- WriteRegStr HKLM ${GUIFICATIONS_UNINSTALL_KEY} "UninstallString" "$INSTDIR\${GUIFICATIONS_UNINST_EXE}"
- SetShellVarContext "all"
- ; Write the version registry keys:
- WriteRegStr HKCU ${GUIFICATIONS_REG_KEY} "" "$INSTDIR"
- WriteRegStr HKCU ${GUIFICATIONS_REG_KEY} "Version" "${GUIFICATIONS_VERSION}"
- ; Write the uninstall keys for Windows
- WriteRegStr HKCU ${GUIFICATIONS_UNINSTALL_KEY} "DisplayName" "$(GUIFICATIONS_UNINSTALL_DESC)"
- WriteRegStr HKCU ${GUIFICATIONS_UNINSTALL_KEY} "UninstallString" "$INSTDIR\${GUIFICATIONS_UNINST_EXE}"
- ; No registry keys for us...
- SetOutPath "$INSTDIR\plugins"
- File "src\${GUIFICATIONS_DLL}"
- SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\conf"
- SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\themes\default"
- File "themes\default\theme.xml"
- File "themes\default\background.png"
- SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\themes\mini"
- File "themes\mini\theme.xml"
- File "themes\mini\background.png"
- SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\themes\Penguins"
- File "themes\Penguins\theme.xml"
- File "themes\Penguins\penguin.png"
- ; translations - if there is a way to automate this, i can't find it
- !insertmacro INSTALL_GMO "bn"
- !insertmacro INSTALL_GMO "cs"
- !insertmacro INSTALL_GMO "de"
- !insertmacro INSTALL_GMO "en_AU"
- !insertmacro INSTALL_GMO "en_GB"
- !insertmacro INSTALL_GMO "es"
- !insertmacro INSTALL_GMO "fr"
- !insertmacro INSTALL_GMO "gl"
- !insertmacro INSTALL_GMO "he"
- !insertmacro INSTALL_GMO "hu"
- !insertmacro INSTALL_GMO "it"
- !insertmacro INSTALL_GMO "ja"
- !insertmacro INSTALL_GMO "mk"
- !insertmacro INSTALL_GMO "nl"
- !insertmacro INSTALL_GMO "no"
- !insertmacro INSTALL_GMO "pt"
- !insertmacro INSTALL_GMO "pt_BR"
- !insertmacro INSTALL_GMO "ru"
- !insertmacro INSTALL_GMO "sk"
- !insertmacro INSTALL_GMO "sr"
- !insertmacro INSTALL_GMO "sr@Latn"
- !insertmacro INSTALL_GMO "sv"
- !insertmacro INSTALL_GMO "uk"
- !insertmacro INSTALL_GMO "zh_CN"
- !insertmacro INSTALL_GMO "zh_TW"
- CreateShortCut "$SMPROGRAMS\Pidgin\${GUIFICATIONS_UNINSTALL_LNK}" "$INSTDIR\${GUIFICATIONS_UNINST_EXE}"
- WriteUninstaller "$INSTDIR\${GUIFICATIONS_UNINST_EXE}"
- Call un.CheckUserInstallRights
- StrCmp $R0 "NONE" no_rights
- StrCmp $R0 "HKCU" try_hkcu try_hklm
- ReadRegStr $R0 HKCU "${GUIFICATIONS_REG_KEY}" ""
- StrCmp $R0 $INSTDIR 0 cant_uninstall
- ; HKCU install path matches our INSTDIR.. so uninstall
- DeleteRegKey HKCU "${GUIFICATIONS_REG_KEY}"
- DeleteRegKey HKCU "${GUIFICATIONS_UNINSTALL_KEY}"
- ReadRegStr $R0 HKLM "${GUIFICATIONS_REG_KEY}" ""
- StrCmp $R0 $INSTDIR 0 try_hkcu
- ; HKLM install path matches our INSTDIR.. so uninstall
- DeleteRegKey HKLM "${GUIFICATIONS_REG_KEY}"
- DeleteRegKey HKLM "${GUIFICATIONS_UNINSTALL_KEY}"
- ; Sets start menu and desktop scope to all users..
- SetShellVarContext "all"
- Delete "$INSTDIR\plugins\${GUIFICATIONS_DLL}"
- RMDir /r "$INSTDIR\pixmaps\pidgin\guifications"
- ; loop through locale dirs and try to delete any guifications translations
- FindFirst $R1 $R2 "$INSTDIR\locale\*"
- IfErrors doneFindingTranslations
- processCurrentTranslationDir:
- StrCmp $R2 "." readNextTranslationDir
- StrCmp $R2 ".." readNextTranslationDir
- IfFileExists "$INSTDIR\locale\$R2\LC_MESSAGES\guifications.mo" +1 readNextTranslationDir
- Delete "$INSTDIR\locale\$R2\LC_MESSAGES\guifications.mo"
- RMDir "$INSTDIR\locale\$R2\LC_MESSAGES"
- RMDir "$INSTDIR\locale\$R2"
- readNextTranslationDir:
- IfErrors doneFindingTranslations processCurrentTranslationDir
- doneFindingTranslations:
- RMDir "$INSTDIR\locale"
- Delete "$INSTDIR\${GUIFICATIONS_UNINST_EXE}"
- Delete "$SMPROGRAMS\Pidgin\${GUIFICATIONS_UNINSTALL_LNK}"
- ; try to delete the Pidgin directories, in case it has already uninstalled
- RMDir "$INSTDIR\plugins"
- RMDir "$SMPROGRAMS\Pidgin"
- MessageBox MB_OK $(un.GUIFICATIONS_UNINSTALL_ERROR_1) IDOK
- MessageBox MB_OK $(un.GUIFICATIONS_UNINSTALL_ERROR_2) IDOK
- ${GetOptions} $R0 "/L=" $R0
- ; Display Language selection dialog
- !insertmacro MUI_LANGDLL_DISPLAY
- ; Get stored language preference
- !insertmacro MUI_UNGETLANGUAGE
-; Check that the selected installation dir contains pidgin.exe
-Function .onVerifyInstDir
- IfFileExists $INSTDIR\pidgin.exe +2
-; Check that the currently installed pidgin version is compatible with the version of guifications we are installing
-Function gf_checkPidginVersion
- Call CheckPidginVersion
- StrCmp $R0 ${PIDGIN_VERSION_OK} gf_checkPidginVersion_OK
- StrCmp $R0 ${PIDGIN_VERSION_INCOMPATIBLE} +1 +6
- MessageBox MB_OK|MB_ICONSTOP "$(BAD_PIDGIN_VERSION_1) $R0 $(BAD_PIDGIN_VERSION_2)"
- MessageBox MB_OK|MB_ICONSTOP "$(NO_PIDGIN_VERSION)"
- gf_checkPidginVersion_OK:
-Function CheckUserInstallRights
- UserInfo::GetAccountType
-; This is necessary because the uninstaller doesn't have access to installer functions
-; (it is identical to CheckUserInstallRights)
-Function un.CheckUserInstallRights
- UserInfo::GetAccountType
--- a/meson.build Wed Apr 07 03:11:54 2021 -0500
+++ b/meson.build Wed Apr 07 03:16:51 2021 -0500
@@ -21,7 +21,7 @@
version_conf.set('GUIFICATIONS_MINOR_VERSION', parts[1])
version_conf.set('GUIFICATIONS_MICRO_VERSION', parts[2])
version_conf.set('GUIFICATIONS_EXTRA_VERSION', extra)
-version_conf.set('GUIFICATIONS_VERSION', meson.project_version())
+version_conf.set('VERSION', meson.project_version()) ###############################################################################
@@ -76,6 +76,7 @@
###############################################################################
###############################################################################
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/packaging/guifications-installer.nsi Wed Apr 07 03:16:51 2021 -0500
@@ -0,0 +1,446 @@
+; NSIS Script For Guifications Plugin +; Author Daniel A. Atallah +; Based on the Pidgin installer by Herman Bloggs and the Pidgin-Encryption installer by Bill Tompkins +;-------------------------------- +!insertmacro GetParameters +;-------------------------------- + Name "Pidgin Guifications ${GUIFICATIONS_VERSION}" + OutFile "pidgin-guifications-${GUIFICATIONS_VERSION}.exe" + ;The Default Installation Directory + InstallDir "$PROGRAMFILES\pidgin" + InstallDirRegKey HKLM SOFTWARE\pidgin "" + SetCompressor /SOLID lzma +;Reserve files used in .onInit for faster start-up +!insertmacro MUI_RESERVEFILE_LANGDLL + !define GUIFICATIONS_UNINST_EXE "pidgin-guifications-uninst.exe" + !define GUIFICATIONS_DLL "guifications.dll" + !define GUIFICATIONS_UNINSTALL_LNK "Guifications Uninstall.lnk" +;-------------------------------- + !define GUIFICATIONS_REG_KEY "SOFTWARE\pidgin-guifications" + !define GUIFICATIONS_UNINSTALL_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\pidgin-guifications" +;------------------------------- +; Pidgin Plugin installer helper stuff + !addincludedir "${PIDGIN_TREE_TOP}\pidgin\win32\nsis" + !include "pidgin-plugin.nsh" +;-------------------------------- +; Modern UI Configuration + !define MUI_ICON .\nsis\install.ico + !define MUI_UNICON .\nsis\install.ico + !define MUI_HEADERIMAGE + !define MUI_HEADERIMAGE_BITMAP "nsis\header.bmp" + !define MUI_CUSTOMFUNCTION_GUIINIT gf_checkPidginVersion + !define MUI_ABORTWARNING + !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" + !define MUI_LANGDLL_REGISTRY_KEY ${GUIFICATIONS_REG_KEY} + !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" +;-------------------------------- + !define MUI_WELCOMEPAGE_TITLE $(WELCOME_TITLE) + !define MUI_WELCOMEPAGE_TEXT $(WELCOME_TEXT) + !insertmacro MUI_PAGE_WELCOME + !define MUI_LICENSEPAGE_RADIOBUTTONS + !insertmacro MUI_PAGE_LICENSE ".\COPYING" + !define MUI_DIRECTORYPAGE_TEXT_TOP $(DIR_SUBTITLE) + !define MUI_DIRECTORYPAGE_TEXT_DESTINATION $(DIR_INNERTEXT) + !insertmacro MUI_PAGE_DIRECTORY + !insertmacro MUI_PAGE_INSTFILES + !define MUI_FINISHPAGE_TITLE $(FINISH_TITLE) + !define MUI_FINISHPAGE_TEXT $(FINISH_TEXT) + !insertmacro MUI_PAGE_FINISH +;-------------------------------- + !insertmacro MUI_LANGUAGE "English" + !insertmacro MUI_LANGUAGE "French" + !insertmacro MUI_LANGUAGE "Italian" + !insertmacro MUI_LANGUAGE "Spanish" + !include "nsis\translations\english.nsh" + !include "nsis\translations\french.nsh" + !include "nsis\translations\italian.nsh" + !include "nsis\translations\spanish.nsh" +; Uninstall the previous version if it exists +Section -SecUninstallOldPlugin + ; Check install rights.. + Call CheckUserInstallRights + StrCmp $R0 "HKLM" rights_hklm + StrCmp $R0 "HKCU" rights_hkcu done + ReadRegStr $R1 HKCU "${GUIFICATIONS_REG_KEY}" "" + ReadRegStr $R2 HKCU "${GUIFICATIONS_REG_KEY}" "Version" + ReadRegStr $R3 HKCU "${GUIFICATIONS_UNINSTALL_KEY}" "UninstallString" + ReadRegStr $R1 HKLM "${GUIFICATIONS_REG_KEY}" "" + ReadRegStr $R2 HKLM "${GUIFICATIONS_REG_KEY}" "Version" + ReadRegStr $R3 HKLM "${GUIFICATIONS_UNINSTALL_KEY}" "UninstallString" + ; If previous version exists .. remove + StrCmp $R2 "" uninstall_problem + IfFileExists $R3 0 uninstall_problem + ; Have uninstall string.. go ahead and uninstall. + ; Need to copy uninstaller outside of the install dir + CopyFiles /SILENT $R3 "$TEMP\${GUIFICATIONS_UNINST_EXE}" + IfErrors uninstall_problem + ExecWait '"$TEMP\${GUIFICATIONS_UNINST_EXE}" /S _?=$R1' + Delete "$TEMP\${GUIFICATIONS_UNINST_EXE}" + Delete "$TEMP\${GUIFICATIONS_UNINST_EXE}" + ; Just delete the plugin and uninstaller, and remove Registry key + MessageBox MB_YESNO $(GUIFICATIONS_PROMPT_WIPEOUT) IDYES do_wipeout IDNO cancel_install + StrCmp $R0 "HKLM" del_lm_reg del_cu_reg + DeleteRegKey HKCU ${GUIFICATIONS_REG_KEY} + Goto uninstall_prob_cont + DeleteRegKey HKLM ${GUIFICATIONS_REG_KEY} + Delete "$R1\plugins\${GUIFICATIONS_DLL}" + RMDir /r "$R1\pixmaps\pidgin\guifications" + SetOutPath "$INSTDIR\locale\${LANG}\LC_MESSAGES" + File /oname=guifications.mo po\${LANG}.gmo + Call CheckUserInstallRights + StrCmp $R0 "NONE" instrights_none + StrCmp $R0 "HKLM" instrights_hklm instrights_hkcu + ; Write the version registry keys: + WriteRegStr HKLM ${GUIFICATIONS_REG_KEY} "" "$INSTDIR" + WriteRegStr HKLM ${GUIFICATIONS_REG_KEY} "Version" "${GUIFICATIONS_VERSION}" + ; Write the uninstall keys for Windows + WriteRegStr HKLM ${GUIFICATIONS_UNINSTALL_KEY} "DisplayName" "$(GUIFICATIONS_UNINSTALL_DESC)" + WriteRegStr HKLM ${GUIFICATIONS_UNINSTALL_KEY} "UninstallString" "$INSTDIR\${GUIFICATIONS_UNINST_EXE}" + SetShellVarContext "all" + ; Write the version registry keys: + WriteRegStr HKCU ${GUIFICATIONS_REG_KEY} "" "$INSTDIR" + WriteRegStr HKCU ${GUIFICATIONS_REG_KEY} "Version" "${GUIFICATIONS_VERSION}" + ; Write the uninstall keys for Windows + WriteRegStr HKCU ${GUIFICATIONS_UNINSTALL_KEY} "DisplayName" "$(GUIFICATIONS_UNINSTALL_DESC)" + WriteRegStr HKCU ${GUIFICATIONS_UNINSTALL_KEY} "UninstallString" "$INSTDIR\${GUIFICATIONS_UNINST_EXE}" + ; No registry keys for us... + SetOutPath "$INSTDIR\plugins" + File "src\${GUIFICATIONS_DLL}" + SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\conf" + SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\themes\default" + File "themes\default\theme.xml" + File "themes\default\background.png" + SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\themes\mini" + File "themes\mini\theme.xml" + File "themes\mini\background.png" + SetOutPath "$INSTDIR\pixmaps\pidgin\guifications\themes\Penguins" + File "themes\Penguins\theme.xml" + File "themes\Penguins\penguin.png" + ; translations - if there is a way to automate this, i can't find it + !insertmacro INSTALL_GMO "bn" + !insertmacro INSTALL_GMO "cs" + !insertmacro INSTALL_GMO "de" + !insertmacro INSTALL_GMO "en_AU" + !insertmacro INSTALL_GMO "en_GB" + !insertmacro INSTALL_GMO "es" + !insertmacro INSTALL_GMO "fr" + !insertmacro INSTALL_GMO "gl" + !insertmacro INSTALL_GMO "he" + !insertmacro INSTALL_GMO "hu" + !insertmacro INSTALL_GMO "it" + !insertmacro INSTALL_GMO "ja" + !insertmacro INSTALL_GMO "mk" + !insertmacro INSTALL_GMO "nl" + !insertmacro INSTALL_GMO "no" + !insertmacro INSTALL_GMO "pt" + !insertmacro INSTALL_GMO "pt_BR" + !insertmacro INSTALL_GMO "ru" + !insertmacro INSTALL_GMO "sk" + !insertmacro INSTALL_GMO "sr" + !insertmacro INSTALL_GMO "sr@Latn" + !insertmacro INSTALL_GMO "sv" + !insertmacro INSTALL_GMO "uk" + !insertmacro INSTALL_GMO "zh_CN" + !insertmacro INSTALL_GMO "zh_TW" + CreateShortCut "$SMPROGRAMS\Pidgin\${GUIFICATIONS_UNINSTALL_LNK}" "$INSTDIR\${GUIFICATIONS_UNINST_EXE}" + WriteUninstaller "$INSTDIR\${GUIFICATIONS_UNINST_EXE}" + Call un.CheckUserInstallRights + StrCmp $R0 "NONE" no_rights + StrCmp $R0 "HKCU" try_hkcu try_hklm + ReadRegStr $R0 HKCU "${GUIFICATIONS_REG_KEY}" "" + StrCmp $R0 $INSTDIR 0 cant_uninstall + ; HKCU install path matches our INSTDIR.. so uninstall + DeleteRegKey HKCU "${GUIFICATIONS_REG_KEY}" + DeleteRegKey HKCU "${GUIFICATIONS_UNINSTALL_KEY}" + ReadRegStr $R0 HKLM "${GUIFICATIONS_REG_KEY}" "" + StrCmp $R0 $INSTDIR 0 try_hkcu + ; HKLM install path matches our INSTDIR.. so uninstall + DeleteRegKey HKLM "${GUIFICATIONS_REG_KEY}" + DeleteRegKey HKLM "${GUIFICATIONS_UNINSTALL_KEY}" + ; Sets start menu and desktop scope to all users.. + SetShellVarContext "all" + Delete "$INSTDIR\plugins\${GUIFICATIONS_DLL}" + RMDir /r "$INSTDIR\pixmaps\pidgin\guifications" + ; loop through locale dirs and try to delete any guifications translations + FindFirst $R1 $R2 "$INSTDIR\locale\*" + IfErrors doneFindingTranslations + processCurrentTranslationDir: + StrCmp $R2 "." readNextTranslationDir + StrCmp $R2 ".." readNextTranslationDir + IfFileExists "$INSTDIR\locale\$R2\LC_MESSAGES\guifications.mo" +1 readNextTranslationDir + Delete "$INSTDIR\locale\$R2\LC_MESSAGES\guifications.mo" + RMDir "$INSTDIR\locale\$R2\LC_MESSAGES" + RMDir "$INSTDIR\locale\$R2" + readNextTranslationDir: + IfErrors doneFindingTranslations processCurrentTranslationDir + doneFindingTranslations: + RMDir "$INSTDIR\locale" + Delete "$INSTDIR\${GUIFICATIONS_UNINST_EXE}" + Delete "$SMPROGRAMS\Pidgin\${GUIFICATIONS_UNINSTALL_LNK}" + ; try to delete the Pidgin directories, in case it has already uninstalled + RMDir "$INSTDIR\plugins" + RMDir "$SMPROGRAMS\Pidgin" + MessageBox MB_OK $(un.GUIFICATIONS_UNINSTALL_ERROR_1) IDOK + MessageBox MB_OK $(un.GUIFICATIONS_UNINSTALL_ERROR_2) IDOK + ${GetOptions} $R0 "/L=" $R0 + ; Display Language selection dialog + !insertmacro MUI_LANGDLL_DISPLAY + ; Get stored language preference + !insertmacro MUI_UNGETLANGUAGE +; Check that the selected installation dir contains pidgin.exe +Function .onVerifyInstDir + IfFileExists $INSTDIR\pidgin.exe +2 +; Check that the currently installed pidgin version is compatible with the version of guifications we are installing +Function gf_checkPidginVersion + Call CheckPidginVersion + StrCmp $R0 ${PIDGIN_VERSION_OK} gf_checkPidginVersion_OK + StrCmp $R0 ${PIDGIN_VERSION_INCOMPATIBLE} +1 +6 + MessageBox MB_OK|MB_ICONSTOP "$(BAD_PIDGIN_VERSION_1) $R0 $(BAD_PIDGIN_VERSION_2)" + MessageBox MB_OK|MB_ICONSTOP "$(NO_PIDGIN_VERSION)" + gf_checkPidginVersion_OK: +Function CheckUserInstallRights + UserInfo::GetAccountType +; This is necessary because the uninstaller doesn't have access to installer functions +; (it is identical to CheckUserInstallRights) +Function un.CheckUserInstallRights + UserInfo::GetAccountType --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/packaging/meson.build Wed Apr 07 03:16:51 2021 -0500
@@ -0,0 +1,5 @@
+ input : 'pidgin-guifications.spec.in', + output : 'pidgin-guifications.spec', + configuration : version_conf) --- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/packaging/pidgin-guifications.spec.in Wed Apr 07 03:16:51 2021 -0500
@@ -0,0 +1,101 @@
+# pidgin_major_ver and pidgin_minor_ver should be defined to match the minimum +# Pidgin API version _required_ to build Guifications +# Due to the way Pidgin checks plugin versions, we need to also ensure that +# the correct minimum version of Pidgin is Require:'d based on what version of +# the Pidgin headers we actually build with. +# This allows --define 'pidginver 1' to be used to build an rpm for Pidgin 1.x +# default is to build for Pidgin 2.x +%{!?pidginver: %{expand: %%define pidginver 2}} +%define pidgin_major_ver %{pidginver} +%define pidgin_minor_ver 0 +%define pidgin_next_major_ver %(echo $((%{pidgin_major_ver}+1))) +%define pidgin_build_minor_ver %(pkg-config --modversion pidgin | awk -F. '{ print $2 }') +Summary: Guifications Plugin for Pidgin +Name: pidgin-guifications +Release: 0%{?pidgindist:.%{pidgindist}} +Group: Applications/Internet +Url: http://pidgin.guifications.org +Source: http://downloads.guifications.org/pidgin-plugins/Guifications2/%{name}-%{version}.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-root +Requires: pidgin >= %{pidgin_major_ver}.%{pidgin_build_minor_ver}, pidgin < %{pidgin_next_major_ver} +BuildRequires: pkgconfig, libtool, gettext +BuildRequires: pidgin-devel >= %{pidgin_major_ver}.%{pidgin_minor_ver}, pidgin-devel < %{pidgin_next_major_ver} +%if "%{_vendor}" == "MandrakeSoft" +BuildRequires: libgtk+2.0_0-devel +BuildRequires: gtk2-devel +Guifications is a graphical notification plugin for the open source instant messaging client Pidgin +To rebuild for a specific Pidgin version: +rpmbuild --rebuild %{name}-%{version}-%{release}.src.rpm --define 'pidgindist %{!?pidgindist:fc1}%{?pidgindist:%{pidgindist}}' +make DESTDIR="$RPM_BUILD_ROOT" install +%if "%{_vendor}" == "MandrakeSoft" +mv -f $RPM_BUILD_ROOT%{_libdir}/pidgin/guifications $RPM_BUILD_ROOT%{_libdir}/pidgin/guifications.so || : +strip $RPM_BUILD_ROOT%{_libdir}/pidgin/*.so || : +rm -f $RPM_BUILD_ROOT%{_libdir}/pidgin/*.la $RPM_BUILD_ROOT%{_libdir}/pidgin/*.a +%files -f guifications.lang +%doc AUTHORS ChangeLog COPYING README doc/flow.png doc/flow.dia doc/QUOTES +%{_datadir}/pixmaps/pidgin/guifications +* Mon Apr 30 2007 Stu Tomlinson <stu@nosnilmot.com> +- Pidgin dropped the epochs, yay! +- Use tar.bz2 for source +* Sun Apr 1 2007 John Bailey <rekkanoryo@rekkanoryo.org> +- :%s/gaim/pidgin/g and :%s/Gaim/Pidgin/g to prep for eventual Pidgin +* Tue Dec 5 2006 John Bailey <rekkanoryo@rekkanoryo.org> +- Fix the source URL to point to our new download location +* Thu Oct 19 2006 Stu Tomlinson <stu@nosnilmot.com> +- Fix finding the translations +* Thu Nov 3 2005 Stu Tomlinson <stu@nosnilmot.com> +- Default to building for Gaim 2.x with a bit of trickery to optionally +* Fri Apr 8 2005 Stu Tomlinson <stu@nosnilmot.com> +- spec file cleanup, build vs. install dependency fixes, use %%find_lang, + tidy up release version, fix directory ownership +* Fri Dec 17 2004 Stu Tomlinson <stu@nosnilmot.com> +- Tweaks to the Gaim version dependencies +* Sat Oct 9 2004 Stu Tomlinson <stu@nosnilmot.com> +- Add Gaim version checks to match new Gaim versioning +* Wed Jun 30 2004 Stu Tomlinson <stu@nosnilmot.com> +- Initial spec file for Guifications 2 --- a/pidgin-guifications.spec.in Wed Apr 07 03:11:54 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-# pidgin_major_ver and pidgin_minor_ver should be defined to match the minimum
-# Pidgin API version _required_ to build Guifications
-# Due to the way Pidgin checks plugin versions, we need to also ensure that
-# the correct minimum version of Pidgin is Require:'d based on what version of
-# the Pidgin headers we actually build with.
-# This allows --define 'pidginver 1' to be used to build an rpm for Pidgin 1.x
-# default is to build for Pidgin 2.x
-%{!?pidginver: %{expand: %%define pidginver 2}}
-%define pidgin_major_ver %{pidginver}
-%define pidgin_minor_ver 0
-%define pidgin_next_major_ver %(echo $((%{pidgin_major_ver}+1)))
-%define pidgin_build_minor_ver %(pkg-config --modversion pidgin | awk -F. '{ print $2 }')
-Summary: Guifications Plugin for Pidgin
-Release: 0%{?pidgindist:.%{pidgindist}}
-Group: Applications/Internet
-Url: http://pidgin.guifications.org
-Source: http://downloads.guifications.org/pidgin-plugins/Guifications2/%{name}-%{version}.tar.bz2
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
-Requires: pidgin >= %{pidgin_major_ver}.%{pidgin_build_minor_ver}, pidgin < %{pidgin_next_major_ver}
-BuildRequires: pkgconfig, libtool, gettext
-BuildRequires: pidgin-devel >= %{pidgin_major_ver}.%{pidgin_minor_ver}, pidgin-devel < %{pidgin_next_major_ver}
-%if "%{_vendor}" == "MandrakeSoft"
-BuildRequires: libgtk+2.0_0-devel
-BuildRequires: gtk2-devel
-Guifications is a graphical notification plugin for the open source instant messaging client Pidgin
-To rebuild for a specific Pidgin version:
-rpmbuild --rebuild %{name}-%{version}-%{release}.src.rpm --define 'pidgindist %{!?pidgindist:fc1}%{?pidgindist:%{pidgindist}}'
-make DESTDIR="$RPM_BUILD_ROOT" install
-%if "%{_vendor}" == "MandrakeSoft"
-mv -f $RPM_BUILD_ROOT%{_libdir}/pidgin/guifications $RPM_BUILD_ROOT%{_libdir}/pidgin/guifications.so || :
-strip $RPM_BUILD_ROOT%{_libdir}/pidgin/*.so || :
-rm -f $RPM_BUILD_ROOT%{_libdir}/pidgin/*.la $RPM_BUILD_ROOT%{_libdir}/pidgin/*.a
-%files -f guifications.lang
-%doc AUTHORS ChangeLog COPYING README doc/flow.png doc/flow.dia doc/QUOTES
-%{_datadir}/pixmaps/pidgin/guifications
-* Mon Apr 30 2007 Stu Tomlinson <stu@nosnilmot.com>
-- Pidgin dropped the epochs, yay!
-- Use tar.bz2 for source
-* Sun Apr 1 2007 John Bailey <rekkanoryo@rekkanoryo.org>
-- :%s/gaim/pidgin/g and :%s/Gaim/Pidgin/g to prep for eventual Pidgin
-* Tue Dec 5 2006 John Bailey <rekkanoryo@rekkanoryo.org>
-- Fix the source URL to point to our new download location
-* Thu Oct 19 2006 Stu Tomlinson <stu@nosnilmot.com>
-- Fix finding the translations
-* Thu Nov 3 2005 Stu Tomlinson <stu@nosnilmot.com>
-- Default to building for Gaim 2.x with a bit of trickery to optionally
-* Fri Apr 8 2005 Stu Tomlinson <stu@nosnilmot.com>
-- spec file cleanup, build vs. install dependency fixes, use %%find_lang,
- tidy up release version, fix directory ownership
-* Fri Dec 17 2004 Stu Tomlinson <stu@nosnilmot.com>
-- Tweaks to the Gaim version dependencies
-* Sat Oct 9 2004 Stu Tomlinson <stu@nosnilmot.com>
-- Add Gaim version checks to match new Gaim versioning
-* Wed Jun 30 2004 Stu Tomlinson <stu@nosnilmot.com>
-- Initial spec file for Guifications 2