From: Uwe Stöhr Date: Sun, 10 Feb 2019 23:17:42 +0000 (+0100) Subject: Win installer: updates and fixes X-Git-Tag: lyx-2.4.0dev-acb2ca7b~2595 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=028cf852dc5b2d71bfcbefada4252d4759da6ee4;p=features.git Win installer: updates and fixes - enable support for Georgian - update file sizes - re-introduce the dictionary download because it is necessary to step through several mirrors if necessary. This function was once added because as it is now, only one mirror is used, if it is dead the user won't get the dictionary - update the mirror list --- diff --git a/development/Win32/packaging/installer/DictionaryMirrors.txt b/development/Win32/packaging/installer/DictionaryMirrors.txt index 99a459087e..95ab8e8ce9 100644 --- a/development/Win32/packaging/installer/DictionaryMirrors.txt +++ b/development/Win32/packaging/installer/DictionaryMirrors.txt @@ -2,21 +2,23 @@ astuteinternet ayera cfhcable cytranet +datapacket excellmedia freefr iweb jaist kent liquidtelecom +managedway nchc netcologne netix -netcologne newcontinuum phoenixnap +pilotfiber razaoinfo superb-dca2 -superb-sea2 +svwh ufpr versaweb vorboss diff --git a/development/Win32/packaging/installer/HunspellDictionaryNames.txt b/development/Win32/packaging/installer/HunspellDictionaryNames.txt index 817adc9472..625718dcec 100644 --- a/development/Win32/packaging/installer/HunspellDictionaryNames.txt +++ b/development/Win32/packaging/installer/HunspellDictionaryNames.txt @@ -82,6 +82,8 @@ is_IS.aff is_IS.dic it_IT.aff it_IT.dic +ka_GE.aff +ka_GE.dic kk_KZ.aff kk_KZ.dic ko_KR.aff diff --git a/development/Win32/packaging/installer/Packages.txt b/development/Win32/packaging/installer/Packages.txt index 3ba3f1e71b..6859c1e04b 100644 --- a/development/Win32/packaging/installer/Packages.txt +++ b/development/Win32/packaging/installer/Packages.txt @@ -100,6 +100,7 @@ lettrine listings lithuanian genmisc +georgian mathtools mhchem mongolian-babel diff --git a/development/Win32/packaging/installer/include/dictionaries.nsh b/development/Win32/packaging/installer/include/dictionaries.nsh index d540f5349a..4bec27ef68 100644 --- a/development/Win32/packaging/installer/include/dictionaries.nsh +++ b/development/Win32/packaging/installer/include/dictionaries.nsh @@ -28,8 +28,8 @@ Function FindDictionaries # read out the possible spell-checker filenames from the file FileOpen $R5 "$INSTDIR\Resources\HunspellDictionaryNames.txt" r - ${for} $5 1 72 - # the file has 144 lines, but we only need to check for one of the 2 dictionary files per language + ${for} $5 1 73 + # the file has 146 lines, but we only need to check for one of the 2 dictionary files per language # therefore check only for every second line FileRead $R5 $String # skip the .aff file FileRead $R5 $String # $String is now the .dic filename @@ -66,20 +66,32 @@ Function DownloadHunspellDictionaries # read out the locations from the file FileOpen $R5 "$INSTDIR\Resources\HunspellDictionaryNames.txt" r - ${For} $5 1 144 # the file has 144 lines + ${For} $5 1 146 # the file has 146 lines FileRead $R5 $String # $String is now the dictionary name StrCpy $R3 $String -6 # $R3 is now the dictionary language code ${if} $DictCode == $R3 StrCpy $String $String -2 # delete the linebreak characters at the end - # Download hunspell dictionaries - Push $R0 - inetc::get /RECEIVETIMEOUT=5000 "https://sourceforge.net/projects/lyxwininstaller/files/hunspell/$String" "$INSTDIR\Resources\dicts\$String" /END - Pop $R0 + # Download hunspell dictionaries, + # if first download repository is not available try the other ones listed in "DictionaryMirrors.txt" + FileOpen $R4 "$INSTDIR\Resources\DictionaryMirrors.txt" r + + ${For} $4 1 24 # there are 24 mirrors in the file + FileRead $R4 $Search # $Search is now the mirror + StrCpy $Search $Search -2 # delete the linebreak characters at the end + Push $R0 + inetc::get /TIMEOUT=5000 "https://$Search.dl.sourceforge.net/project/lyxwininstaller/hunspell/$String" "$INSTDIR\Resources\dicts\$String" /END + Pop $R0 + ${if} $R0 == "OK" + ${ExitFor} + ${endif} + ${Next} + + FileClose $R4 # if download failed ${if} $R0 != "OK" - MessageBox MB_OK|MB_ICONEXCLAMATION "$(HunspellFailed): $R0" + MessageBox MB_OK|MB_ICONEXCLAMATION "$(HunspellFailed)" Goto abortinstall ${endif} ${endif} # end if $DictCode == $R3 @@ -107,13 +119,25 @@ Function DownloadThesaurusDictionaries ${if} $ThesCode == $R3 StrCpy $String $String -2 # delete the linebreak characters at the end - # Download thesaurus files - Push $R0 - inetc::get /POPUP /RECEIVETIMEOUT=5000 "https://sourceforge.net/projects/lyxwininstaller/files/thesaurus/$String" "$INSTDIR\Resources\thes\$String" /END - Pop $R0 + # Download thesaurus files, + # if first download repository is not available try the other ones listed in "DictionaryMirrors.txt" + FileOpen $R4 "$INSTDIR\Resources\DictionaryMirrors.txt" r + + ${For} $4 1 24 # there are 24 mirrors in the file + FileRead $R4 $Search # $Search is now the mirror + StrCpy $Search $Search -2 # delete the linebreak characters at the end + Push $R0 + inetc::get /TIMEOUT=5000 "https://$Search.dl.sourceforge.net/project/lyxwininstaller/thesaurus/$String" "$INSTDIR\Resources\thes\$String" /END + Pop $R0 + ${if} $R0 == "OK" + ${ExitFor} + ${endif} + ${Next} + + FileClose $R4 # if download failed ${if} $R0 != "OK" - MessageBox MB_OK|MB_ICONEXCLAMATION "$(ThesaurusFailed): $R0" + MessageBox MB_OK|MB_ICONEXCLAMATION "$(ThesaurusFailed)" Goto abortinstall ${endif} ${endif} # end if $ThesCode == $R3 diff --git a/development/Win32/packaging/installer/include/init.nsh b/development/Win32/packaging/installer/include/init.nsh index 9f36dfacae..59370d49b4 100644 --- a/development/Win32/packaging/installer/include/init.nsh +++ b/development/Win32/packaging/installer/include/init.nsh @@ -151,19 +151,19 @@ SectionEnd Section /o "English (AU)" SecDEnglishAU StrCpy $DictCodes "en_AU,$DictCodes" - AddSize 552 + AddSize 557 SectionEnd Section /o "English (CA)" SecDEnglishCA StrCpy $DictCodes "en_CA,$DictCodes" - AddSize 550 + AddSize 557 SectionEnd Section "English (GB)" SecDEnglishGB # already installed by default SectionIn RO #StrCpy $DictCodes "en_GB,$DictCodes" - AddSize 742 + AddSize 1044 SectionEnd Section /o "English (NZ)" SecDEnglishNZ @@ -175,7 +175,7 @@ Section "English (US)" SecDEnglishUS # already installed by default SectionIn RO #StrCpy $DictCodes "en_US,$DictCodes" - AddSize 548 + AddSize 551 SectionEnd Section "Español (ES)" SecDSpanishES @@ -234,6 +234,11 @@ Section /o "Galego" SecDGalician AddSize 3911 SectionEnd +Section /o "ქართული ენა" SecDGeorgian + StrCpy $DictCodes "ka_GE,$DictCodes" + AddSize 3952 +SectionEnd + Section /o "עִברִית" SecDHebrew StrCpy $DictCodes "he_IL,$DictCodes" AddSize 3120 @@ -406,7 +411,7 @@ SectionEnd Section /o "Türkmençe" SecDTurkmen StrCpy $DictCodes "tk_TM,$DictCodes" - AddSize 950 + AddSize 2797 SectionEnd Section /o "Türkçe" SecDTurkish @@ -416,7 +421,7 @@ SectionEnd Section /o "Українська" SecDUkrainian StrCpy $DictCodes "uk_UA,$DictCodes" - AddSize 6375 + AddSize 6905 SectionEnd Section /o "اردو" SecDUrdu @@ -922,6 +927,13 @@ Function .onInit SectionSetFlags ${SecDGalician} $0 SectionSetSize ${SecDGalician} 0 ${endif} + StrCpy $Search "ka_GE" + Call StrPoint + ${if} $Pointer != "-1" + IntOp $0 ${SF_SELECTED} | ${SF_RO} + SectionSetFlags ${SecDGeorgian} $0 + SectionSetSize ${SecDGeorgian} 0 + ${endif} StrCpy $Search "he_IL" Call StrPoint ${if} $Pointer != "-1"