diff --git a/build_scripts/Windows-msys2/.gitignore b/build_scripts/Windows-msys2/.gitignore new file mode 100644 index 000000000..a7b500b79 --- /dev/null +++ b/build_scripts/Windows-msys2/.gitignore @@ -0,0 +1 @@ +/build/env-mod.bat \ No newline at end of file diff --git a/build_scripts/Windows-msys2/build-tor.bat b/build_scripts/Windows-msys2/build-tor.bat index 2f81e098c..aa2b4ea06 100644 --- a/build_scripts/Windows-msys2/build-tor.bat +++ b/build_scripts/Windows-msys2/build-tor.bat @@ -9,11 +9,11 @@ call "%EnvPath%\env.bat" if errorlevel 1 goto error_env %cecho% info "Build %SourceName%" -call "%~dp0build\build.bat" 32 release tor autologin plugins +call "%~dp0build\build.bat" 64 release tor autologin "CONFIG+=rs_use_native_dialogs" if errorlevel 1 %cecho% error "Failed to build %SourceName%." & exit /B %ERRORLEVEL% %cecho% info "Pack %SourceName%" -call "%~dp0build\pack.bat" 32 release tor +call "%~dp0build\pack.bat" 64 release tor autologin "CONFIG+=rs_use_native_dialogs" if errorlevel 1 %cecho% error "Failed to pack %SourceName%." & exit /B %ERRORLEVEL% exit /B 0 diff --git a/build_scripts/Windows-msys2/build.bat b/build_scripts/Windows-msys2/build.bat index 42c4b557d..529a1350f 100644 --- a/build_scripts/Windows-msys2/build.bat +++ b/build_scripts/Windows-msys2/build.bat @@ -9,11 +9,11 @@ call "%EnvPath%\env.bat" if errorlevel 1 goto error_env %cecho% info "Build %SourceName%" -call "%~dp0build\build.bat" 32 release autologin plugins +call "%~dp0build\build.bat" 64 release autologin "CONFIG+=rs_use_native_dialogs" if errorlevel 1 %cecho% error "Failed to build %SourceName%." & exit /B %ERRORLEVEL% %cecho% info "Pack %SourceName%" -call "%~dp0build\pack.bat" 32 release +call "%~dp0build\pack.bat" 64 release autologin "CONFIG+=rs_use_native_dialogs" if errorlevel 1 %cecho% error "Failed to pack %SourceName%." & exit /B %ERRORLEVEL% exit /B 0 diff --git a/build_scripts/Windows-msys2/build/build-installer.bat b/build_scripts/Windows-msys2/build/build-installer.bat new file mode 100644 index 000000000..192b2d025 --- /dev/null +++ b/build_scripts/Windows-msys2/build/build-installer.bat @@ -0,0 +1,67 @@ +@echo off + +setlocal + +:: Initialize environment +call "%~dp0..\env.bat" +if errorlevel 1 goto error_env +call "%EnvPath%\env.bat" +if errorlevel 1 goto error_env +call "%EnvPath%\env-msys2.bat" +if errorlevel 1 goto error_env + +:: Initialize environment +call "%~dp0env.bat" %* +if errorlevel 2 exit /B 2 +if errorlevel 1 goto error_env + +if not "%ParamNoupdate%"=="1" ( + :: Install NSIS + %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-nsis" +) + +:: Check deployment +if not exist "%RsDeployPath%\retroshare.exe" echo Project is not deployed. Run pack.bat first! & goto error + +:: Get compiled revision +set GetRsVersion=%SourcePath%\build_scripts\Windows-msys2\tools\get-rs-version.bat +if not exist "%GetRsVersion%" ( + %cecho% error "File not found" + echo %GetRsVersion% + goto error +) + +:: Get compiled version +call "%GetRsVersion%" "%RsDeployPath%\retroshare.exe" RsVersion +if errorlevel 1 %cecho% error "Revision not found."& goto error +if "%RsVersion.Extra%"=="" %cecho% error "Extra number not found".& goto error + +:: Build defines for script +set NSIS_PARAM= + +set NSIS_PARAM=%NSIS_PARAM% /DDEPLOYDIR="%RsDeployPath%" +set NSIS_PARAM=%NSIS_PARAM% /DOUTDIR="%RsPackPath%" +set NSIS_PARAM=%NSIS_PARAM% /DINSTALLERADD="%RsArchiveAdd%" +set NSIS_PARAM=%NSIS_PARAM% /DARCHITECTURE="%RsArchitecture%" +set NSIS_PARAM=%NSIS_PARAM% /DREVISION=%RsVersion.Extra% + +set QtMainVersion=%QtVersion:~0,1% + +:: Create installer +echo %path% +rem makensis %NSIS_PARAM% "%SourcePath%\build_scripts\Windows-msys2\installer\retroshare-Qt%QtMainVersion%.nsi" +rem pushd "%SourcePath%\build_scripts\Windows-msys2\installer" +rem %EnvMSYS2Cmd% "makensis $0 retroshare-Qt%QtMainVersion%.nsi" "%NSIS_PARAM%" +rem popd +"%RsMinGWPath%\bin\makensis" %NSIS_PARAM% "%SourcePath%\build_scripts\Windows-msys2\installer\retroshare-Qt%QtMainVersion%.nsi" + +exit /B %ERRORLEVEL% + +:error +endlocal +exit /B 1 + +:error_env +echo Failed to initialize environment. +endlocal +exit /B 1 diff --git a/build_scripts/Windows-msys2/build/build-webui.bat b/build_scripts/Windows-msys2/build/build-webui.bat index d561235c1..d226a9604 100644 --- a/build_scripts/Windows-msys2/build/build-webui.bat +++ b/build_scripts/Windows-msys2/build/build-webui.bat @@ -7,8 +7,6 @@ call "%~dp0..\env.bat" if errorlevel 1 goto error_env call "%EnvPath%\env.bat" if errorlevel 1 goto error_env -call "%EnvPath%\env.bat" -if errorlevel 1 goto error_env call "%EnvPath%\env-msys2.bat" if errorlevel 1 goto error_env diff --git a/build_scripts/Windows-msys2/build/build.bat b/build_scripts/Windows-msys2/build/build.bat index 8ca2f6f1f..4d366f28c 100644 --- a/build_scripts/Windows-msys2/build/build.bat +++ b/build_scripts/Windows-msys2/build/build.bat @@ -7,8 +7,6 @@ call "%~dp0..\env.bat" if errorlevel 1 goto error_env call "%EnvPath%\env.bat" if errorlevel 1 goto error_env -call "%EnvPath%\env.bat" -if errorlevel 1 goto error_env call "%EnvPath%\env-msys2.bat" if errorlevel 1 goto error_env @@ -17,11 +15,22 @@ call "%~dp0env-base.bat" %* if errorlevel 2 exit /B 2 if errorlevel 1 goto error_env -:: Install needed things -%EnvMSYS2Cmd% "pacman --noconfirm --needed -S make git mingw-w64-%RsMSYS2Architecture%-toolchain mingw-w64-%RsMSYS2Architecture%-qt5 mingw-w64-%RsMSYS2Architecture%-miniupnpc mingw-w64-%RsMSYS2Architecture%-sqlcipher mingw-w64-%RsMSYS2Architecture%-xapian-core mingw-w64-%RsMSYS2Architecture%-cmake mingw-w64-%RsMSYS2Architecture%-rapidjson" +if not "%ParamNoupdate%"=="1" ( + :: Install needed things + %EnvMSYS2Cmd% "pacman --noconfirm --needed -S make git mingw-w64-%RsMSYS2Architecture%-toolchain mingw-w64-%RsMSYS2Architecture%-qt5 mingw-w64-%RsMSYS2Architecture%-miniupnpc mingw-w64-%RsMSYS2Architecture%-sqlcipher mingw-w64-%RsMSYS2Architecture%-cmake mingw-w64-%RsMSYS2Architecture%-rapidjson" -:: Plugins -if "%ParamPlugins%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-speex mingw-w64-%RsMSYS2Architecture%-speexdsp mingw-w64-%RsMSYS2Architecture%-curl mingw-w64-%RsMSYS2Architecture%-libxslt mingw-w64-%RsMSYS2Architecture%-opencv mingw-w64-%RsMSYS2Architecture%-ffmpeg" + :: Webui + if "%ParamWebui%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-doxygen" + + :: Plugins + if "%ParamPlugins%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-speex mingw-w64-%RsMSYS2Architecture%-speexdsp mingw-w64-%RsMSYS2Architecture%-curl mingw-w64-%RsMSYS2Architecture%-libxslt mingw-w64-%RsMSYS2Architecture%-opencv mingw-w64-%RsMSYS2Architecture%-ffmpeg" + + :: Clang + if "%ParamClang%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-clang" + + :: Indexing + if "%ParamIndexing%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-xapian-core mingw-w64-%RsMSYS2Architecture%-libvorbis mingw-w64-%RsMSYS2Architecture%-flac mingw-w64-%RsMSYS2Architecture%-taglib" +) :: Initialize environment call "%~dp0env.bat" %* @@ -57,10 +66,15 @@ echo %RS_QMAKE_CONFIG% > buildinfo.txt echo %RsBuildConfig% >> buildinfo.txt echo %RsArchitecture% >> buildinfo.txt echo Qt %QtVersion% >> buildinfo.txt +echo %RsCompiler% >> buildinfo.txt call "%ToolsPath%\msys2-path.bat" "%SourcePath%" MSYS2SourcePath call "%ToolsPath%\msys2-path.bat" "%EnvMSYS2Path%" MSYS2EnvMSYS2Path -%EnvMSYS2Cmd% "qmake "%MSYS2SourcePath%/RetroShare.pro" -r -spec win32-g++ %RS_QMAKE_CONFIG%" +if "%ParamClang%"=="1" ( + %EnvMSYS2Cmd% "qmake "%MSYS2SourcePath%/RetroShare.pro" -r -spec win32-clang-g++ %RS_QMAKE_CONFIG%" +) else ( + %EnvMSYS2Cmd% "qmake "%MSYS2SourcePath%/RetroShare.pro" -r -spec win32-g++ %RS_QMAKE_CONFIG%" +) if errorlevel 1 goto error echo. @@ -69,7 +83,8 @@ echo. title Build - %SourceName%-%RsBuildConfig% [make] -%EnvMSYS2Cmd% "make -j %NUMBER_OF_PROCESSORS%" +%EnvMSYS2Cmd% "make -j %CoreCount%" +if errorlevel 1 goto error :: Webui if "%ParamWebui%"=="1" ( diff --git a/build_scripts/Windows-msys2/build/env-base.bat b/build_scripts/Windows-msys2/build/env-base.bat index 8f80e8681..9d9fa5379 100644 --- a/build_scripts/Windows-msys2/build/env-base.bat +++ b/build_scripts/Windows-msys2/build/env-base.bat @@ -7,6 +7,10 @@ set ParamAutologin=0 set ParamPlugins=0 set ParamTor=0 set ParamWebui=0 +set ParamClang=0 +set ParamIndexing=0 +set ParamNoupdate=0 +set CoreCount=%NUMBER_OF_PROCESSORS% set RS_QMAKE_CONFIG= :parameter_loop @@ -28,6 +32,14 @@ if "%~1" NEQ "" ( set ParamTor=1 ) else if "%%~a"=="webui" ( set ParamWebui=1 + ) else if "%%~a"=="singlethread" ( + set CoreCount=1 + ) else if "%%~a"=="clang" ( + set ParamClang=1 + ) else if "%%~a"=="indexing" ( + set ParamIndexing=1 + ) else if "%%~a"=="noupdate" ( + set ParamNoupdate=1 ) else if "%%~a"=="CONFIG+" ( set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% %1 ) else ( @@ -58,6 +70,12 @@ if "%Param64%"=="1" ( set RsMSYS2Architecture=x86_64 ) +if "%ParamClang%"=="1" ( + set RsCompiler=Clang +) else ( + set RsCompiler=GCC +) + if "%RsBit%"=="" goto :usage if "%ParamRelease%"=="1" ( @@ -82,11 +100,15 @@ if "%ParamWebui%"=="1" ( set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% "CONFIG+=rs_jsonapi" "CONFIG+=rs_webui" ) +if "%ParamIndexing%"=="1" ( + set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% "CONFIG+=rs_deep_channels_index" "CONFIG+=rs_deep_files_index" "CONFIG+=rs_deep_files_index_ogg" "CONFIG+=rs_deep_files_index_flac" "CONFIG+=rs_deep_files_index_taglib" +) + exit /B 0 :usage echo. -echo Usage: 32^|64 release^|debug [version autologin plugins webui] +echo Usage: 32^|64 release^|debug [autologin plugins webui singlethread clang indexing noupdate] ["CONFIG+=..."] echo. echo Mandatory parameter echo 32^|64 32-bit or 64-bit Version @@ -96,6 +118,11 @@ echo Optional parameter (need clean when changed) echo autologin Build with autologin echo plugins Build plugins echo webui Enable JsonAPI and pack webui files +echo singlethread Use only 1 thread for building +echo clang Use clang compiler instead of GCC +echo indexing Build with deep channel and file indexing support +echo noupdate Skip updating the libraries +echo "CONFIG+=..." Enable some extra features, you can find the almost complete list in retroshare.pri echo. echo Parameter for pack echo tor Pack tor version diff --git a/build_scripts/Windows-msys2/build/env.bat b/build_scripts/Windows-msys2/build/env.bat index 8443d6218..bfe2afeba 100644 --- a/build_scripts/Windows-msys2/build/env.bat +++ b/build_scripts/Windows-msys2/build/env.bat @@ -16,8 +16,8 @@ if "%QtVersion%"=="" %cecho% error "Cannot get Qt version." & exit /B 1 set RsMinGWPath=%EnvMSYS2BasePath%\mingw%RsBit% -set RsBuildPath=%BuildPath%\Qt-%QtVersion%-%RsArchitecture%-%RsBuildConfig% -set RsDeployPath=%DeployPath%\Qt-%QtVersion%%RsType%-%RsArchitecture%-%RsBuildConfig% +set RsBuildPath=%BuildPath%\Qt-%QtVersion%-%RsArchitecture%-%RsCompiler%-%RsBuildConfig% +set RsDeployPath=%DeployPath%\Qt-%QtVersion%%RsType%-%RsArchitecture%-%RsCompiler%-%RsBuildConfig% set RsPackPath=%DeployPath% set RsArchiveAdd= set RsWebuiPath=%RootPath%\%SourceName%-webui diff --git a/build_scripts/Windows-msys2/build/git-log.bat b/build_scripts/Windows-msys2/build/git-log.bat index 010ff190b..f221bc871 100644 --- a/build_scripts/Windows-msys2/build/git-log.bat +++ b/build_scripts/Windows-msys2/build/git-log.bat @@ -1,118 +1,43 @@ @echo off +setlocal enabledelayedexpansion -setlocal - -set NoAsk= -if "%~2"=="no-ask" set NoAsk=1 - -:: Initialize environment -call "%~dp0..\env.bat" -if errorlevel 1 goto error_env -call "%EnvPath%\env.bat" -if errorlevel 1 goto error_env -call "%EnvPath%\env-msys2.bat" -if errorlevel 1 goto error_env - -call "%~dp0env.bat" %* -if errorlevel 2 exit /B 2 -if errorlevel 1 goto error_env - -:: Check git executable -set GitPath= -call "%ToolsPath%\find-in-path.bat" GitPath git.exe -if "%GitPath%"=="" echo Git executable not found in PATH.& exit /B 1 - -:: Get compiled revision -set GetRsVersion=%SourcePath%\build_scripts\Windows-msys2\tools\get-rs-version.bat -if not exist "%GetRsVersion%" ( - echo File not found - echo %GetRsVersion% +if "%~2"=="" ( + echo. + echo Parameter error. + echo Usage git-log sourcepath outputfile exit /B 1 ) -call "%GetRsVersion%" RS_REVISION_STRING RsRevision -if "%RsRevision%"=="" echo Revision not found.& exit /B 1 +set logfile=%~2 +copy nul %logfile% > nul -:: Get compiled version -call "%GetRsVersion%" RS_REVISION_STRING RsRevision -if "%RsRevision%"=="" echo Revision not found.& exit /B 1 +pushd %~1 -call "%GetRsVersion%" RS_MAJOR_VERSION RsMajorVersion -if "%RsMajorVersion%"=="" echo Major version not found.& exit /B 1 - -call "%GetRsVersion%" RS_MINOR_VERSION RsMinorVersion -if "%RsMinorVersion%"=="" echo Minor version not found.& exit /B 1 - -call "%GetRsVersion%" RS_BUILD_NUMBER RsBuildNumber -if "%RsBuildNumber%"=="" echo Build number not found.& exit /B 1 - -call "%GetRsVersion%" RS_BUILD_NUMBER_ADD RsBuildNumberAdd - -set RsVersion=%RsMajorVersion%.%RsMinorVersion%.%RsBuildNumber%%RsBuildNumberAdd% - -:: Check WMIC is available -wmic.exe alias /? >nul 2>&1 || echo WMIC is not available.&& exit /B 1 - -:: Use WMIC to retrieve date in format YYYYMMDD -set RsDate= -for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set RsDate=%%I -set RsDate=%RsDate:~0,4%%RsDate:~4,2%%RsDate:~6,2% - -:: Get last revision -set RsLastRefFile=%BuildPath%\Qt-%QtVersion%%RsType%-%RsBuildConfig%-LastRef.txt -set RsLastRef= -if exist "%RsLastRefFile%" set /P RsLastRef=<"%RsLastRefFile%" - -if "%NoAsk%"=="1" goto no_ask_for_last_revision -if not "%RsLastRef%"=="" echo Last Revision was %RsLastRef% -set /P RsLastRefInput=Last Revision: -if "%RsLastRefInput%" NEQ "" set RsLastRef=%RsLastRefInput% -:no_ask_for_last_revision - -:: Get current revision -pushd "%SourcePath%" -call "%ToolsPath%\get-git-ref.bat" RsRef -popd - -if errorlevel 1 exit /B 1 -if "%RsRef%"=="" echo Cannot get git revision.& exit /B 1 - -echo. -echo Creating log from %RsLastRef% -echo to %RsRef% - -if "%NoAsk%"=="1" goto no_confirm -choice /M "Do you want to proceed?" -if %errorlevel%==2 exit /B 1 -:no_confirm - -if "%RsBuildConfig%" NEQ "release" ( - set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsRevision%-Qt-%QtVersion%%RsType%-msys2%RsArchiveAdd%-%RsBuildConfig%.txt -) else ( - set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsRevision%-Qt-%QtVersion%%RsType%-msys2%RsArchiveAdd%.txt -) - -title %SourceName%-%RsBuildConfig% [git log] - -pushd "%SourcePath%" -if "%RsLastRef%"=="" ( - git log %RsRef% >"%RsGitLog%" -) else ( - if "%RsLastRef%"=="%RsRef%" ( - git log %RsRef% --max-count=1 >"%RsGitLog%" +set last=HEAD +for /f %%t in ('git tag --sort=-taggerdate --merged ^| findstr v') do ( + echo generating changelog for !last!..%%t + echo ----------------------------------------------- >> %logfile% + if !last! neq HEAD ( + git tag -n !last! >> %logfile% ) else ( - git log %RsLastRef%..%RsRef% >"%RsGitLog%" + echo HEAD >> %logfile% ) + rem echo !last! ---^> %%t >> %logfile% + echo ----------------------------------------------- >> %logfile% + echo. >> %logfile% + git log %%t..!last! --no-merges "--pretty=format:%%h %%ai %%<(10,trunc)%%an %%s" >> %logfile% + echo. >> %logfile% + echo. >> %logfile% + set last=%%t ) + +echo generating changelog for %last% +echo ----------------------------------------------- >> %logfile% +git tag -n %last% >> %logfile% +echo ----------------------------------------------- >> %logfile% +echo. >> %logfile% +git log %last% --no-merges "--pretty=format:%%h %%ai %%<(10,trunc)%%an %%s" >> %logfile% + popd -title %COMSPEC% - -echo %RsRef%>"%RsLastRefFile%" - -exit /B %ERRORLEVEL% - -:error_env -echo Failed to initialize environment. -endlocal -exit /B 1 +endlocal enabledelayedexpansion \ No newline at end of file diff --git a/build_scripts/Windows-msys2/build/pack.bat b/build_scripts/Windows-msys2/build/pack.bat index e759b7980..4c12ed7c0 100644 --- a/build_scripts/Windows-msys2/build/pack.bat +++ b/build_scripts/Windows-msys2/build/pack.bat @@ -17,8 +17,15 @@ call "%~dp0env.bat" %* if errorlevel 2 exit /B 2 if errorlevel 1 goto error_env -:: Install ntldd -%EnvMSYS2Cmd% "pacman --noconfirm --needed -S make git mingw-w64-%RsMSYS2Architecture%-ntldd-git" +if not "%ParamNoupdate%"=="1" ( + :: Install ntldd + %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-ntldd-git" + + :: Install tor + if "%ParamTor%"=="1" ( + %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-tor" + ) +) :: Remove deploy path if exist "%RsDeployPath%" rmdir /S /Q "%RsDeployPath%" @@ -53,14 +60,6 @@ set RsDate= for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set RsDate=%%I set RsDate=%RsDate:~0,4%%RsDate:~4,2%%RsDate:~6,2% -if "%ParamTor%"=="1" ( - :: Check for tor executable - if not exist "%EnvDownloadPath%\tor\Tor\tor.exe" ( - %cecho% error "Tor binary not found. Please download Tor Expert Bundle from\nhttps://www.torproject.org/download/download.html.en\nand unpack to\n%EnvDownloadPath:\=\\%\\tor" - goto error - ) -) - set QtMainVersion=%QtVersion:~0,1% set QtSharePath=%RsMinGWPath%\share\qt%QtMainVersion%\ @@ -72,9 +71,9 @@ if "%QtMainVersion%"=="4" set QtMainVersion2=4 if "%QtMainVersion%"=="5" set QtMainVersion1=5 if "%RsBuildConfig%" NEQ "release" ( - set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%-msys2%RsType%%RsArchiveAdd%-%RsBuildConfig%.7z + set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-%RsArchitecture%-msys2%RsType%%RsArchiveAdd%-%RsBuildConfig%.7z ) else ( - set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%-msys2%RsType%%RsArchiveAdd%.7z + set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-%RsArchitecture%-msys2%RsType%%RsArchiveAdd%.7z ) if exist "%Archive%" del /Q "%Archive%" @@ -96,6 +95,7 @@ mkdir "%RsDeployPath%\qss" mkdir "%RsDeployPath%\stylesheets" mkdir "%RsDeployPath%\sounds" mkdir "%RsDeployPath%\translations" +mkdir "%RsDeployPath%\license" copy nul "%RsDeployPath%\portable" %Quite% @@ -121,7 +121,7 @@ if "%QtMainVersion%"=="5" ( ) if exist "%QtSharePath%\plugins\styles\qwindowsvistastyle.dll" ( - echo Copy styles + echo copy styles mkdir "%RsDeployPath%\styles" %Quite% copy "%QtSharePath%\plugins\styles\qwindowsvistastyle.dll" "%RsDeployPath%\styles" %Quite% ) @@ -129,6 +129,12 @@ if exist "%QtSharePath%\plugins\styles\qwindowsvistastyle.dll" ( copy "%QtSharePath%\plugins\imageformats\*.dll" "%RsDeployPath%\imageformats" %Quite% del /Q "%RsDeployPath%\imageformats\*d?.dll" %Quite% +if "%ParamTor%"=="1" ( + echo copy tor + copy "%RsMinGWPath%\bin\tor.exe" "%RsDeployPath%" %Quite% + copy "%RsMinGWPath%\bin\tor-gencert.exe" "%RsDeployPath%" %Quite% +) + echo copy dependencies for /R "%RsDeployPath%" %%D in (*.dll, *.exe) do ( call :copy_dependencies "%%D" "%RsDeployPath%" @@ -146,6 +152,9 @@ rmdir /S /Q "%RsDeployPath%\stylesheets\__MACOSX__Bubble" %Quite% echo copy sounds xcopy /S "%SourcePath%\retroshare-gui\src\sounds" "%RsDeployPath%\sounds" %Quite% +echo copy license +xcopy /S "%SourcePath%\retroshare-gui\src\license" "%RsDeployPath%\license" %Quite% + echo copy translation copy "%SourcePath%\retroshare-gui\src\translations\qt_tr.qm" "%RsDeployPath%\translations" %Quite% copy "%QtSharePath%\translations\qt_*.qm" "%RsDeployPath%\translations" %Quite% @@ -160,8 +169,8 @@ if "%QtMainVersion%"=="5" ( echo copy bdboot.txt copy "%SourcePath%\libbitdht\src\bitdht\bdboot.txt" "%RsDeployPath%" %Quite% -echo copy changelog.txt -copy "%SourcePath%\retroshare-gui\src\changelog.txt" "%RsDeployPath%" %Quite% +echo generate changelog.txt +call call "%~dp0\git-log.bat" "%SourcePath%" "%RsDeployPath%\changelog.txt" echo copy buildinfo.txt copy "%RsBuildPath%\buildinfo.txt" "%RsDeployPath%" %Quite% @@ -177,11 +186,6 @@ if "%ParamWebui%"=="1" ( ) ) -if "%ParamTor%"=="1" ( - echo copy tor - echo n | copy /-y "%EnvDownloadPath%\tor\Tor\*.*" "%RsDeployPath%" %Quite% -) - rem pack files title Pack - %SourceName%%RsType%-%RsBuildConfig% [pack files] diff --git a/build_scripts/Windows-msys2/installer/HeaderImage.bmp b/build_scripts/Windows-msys2/installer/HeaderImage.bmp new file mode 100644 index 000000000..5c55265cd Binary files /dev/null and b/build_scripts/Windows-msys2/installer/HeaderImage.bmp differ diff --git a/build_scripts/Windows-msys2/installer/HeaderImageEmpty.bmp b/build_scripts/Windows-msys2/installer/HeaderImageEmpty.bmp new file mode 100644 index 000000000..f0f0f1b32 Binary files /dev/null and b/build_scripts/Windows-msys2/installer/HeaderImageEmpty.bmp differ diff --git a/build_scripts/Windows-msys2/installer/ifexist.nsh b/build_scripts/Windows-msys2/installer/ifexist.nsh new file mode 100644 index 000000000..3f391c898 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/ifexist.nsh @@ -0,0 +1,15 @@ +; See http://nsis.sourceforge.net/Check_if_a_file_exists_at_compile_time for documentation +!macro !defineifexist _VAR_NAME _FILE_NAME + !tempfile _TEMPFILE + !ifdef NSIS_WIN32_MAKENSIS + ; Windows - cmd.exe + !system 'if exist "${_FILE_NAME}" echo !define ${_VAR_NAME} > "${_TEMPFILE}"' + !else + ; Posix - sh + !system 'if [ -e "${_FILE_NAME}" ]; then echo "!define ${_VAR_NAME}" > "${_TEMPFILE}"; fi' + !endif + !include '${_TEMPFILE}' + !delfile '${_TEMPFILE}' + !undef _TEMPFILE +!macroend +!define !defineifexist "!insertmacro !defineifexist" \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ca_ES.nsh b/build_scripts/Windows-msys2/installer/lang/ca_ES.nsh new file mode 100644 index 000000000..acb11b5a4 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ca_ES.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Instal·la ${APPNAME} i els components necessaris." +!insertmacro LANG_STRING Section_Data "Pells" +!insertmacro LANG_STRING Section_Data_Desc "Instal·la pells." +!insertmacro LANG_STRING Section_Shortcuts "Icones d'accés directe" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Afegir icones d'accés directe." +!insertmacro LANG_STRING Section_StartMenu "Icona del menú d'inici" +!insertmacro LANG_STRING Section_StartMenu_Desc "Afegir icona en el menú d'inici" +!insertmacro LANG_STRING Section_Desktop "Icona d'escriptori" +!insertmacro LANG_STRING Section_Desktop_Desc "Afegir icona a l'escriptori" +!insertmacro LANG_STRING Section_QuickLaunch "Icona de la barra ràpida d'accés" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Afegir icona a la barra ràpida d'accés" +!insertmacro LANG_STRING Section_Plugins "Complements opcionals" +!insertmacro LANG_STRING Section_Plugins_Desc "Components opcionals per afegir funcionalitat." +!insertmacro LANG_STRING Section_Plugin_FeedReader "LectorFonts" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "Instal·lar complement LectorFonts." +!insertmacro LANG_STRING Section_Plugin_LinksCloud "NúvolEnllaços" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "Instal·lar complement NúvolEnllaços." +!insertmacro LANG_STRING Section_Plugin_VOIP "VeuIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "Instal·lar complement VeuIP." +!insertmacro LANG_STRING Section_AutoStart "Posada en marxa automàtica" +!insertmacro LANG_STRING Section_AutoStart_Desc "Autoengegar al arrencar." +!insertmacro LANG_STRING Page_InstallMode "Mode instal·lació" +!insertmacro LANG_STRING Page_InstallMode_Desc "Escull com vols instal·lar ${APPNAME}." +!insertmacro LANG_STRING Page_InstallMode_Standard "Instal·lació e&stàndard" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Instal·la ${APPNAME} per la sessió d'usuari actual." +!insertmacro LANG_STRING Page_InstallMode_Portable "Instal·lació &portable." +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "En mode portable les dades de configuració s'emmagatzemen a la carpeta d'aplicació i no s'escriu informació al registre del sistema." +!insertmacro LANG_STRING Link_Uninstall "Desinstal·lar." diff --git a/build_scripts/Windows-msys2/installer/lang/de.nsh b/build_scripts/Windows-msys2/installer/lang/de.nsh new file mode 100644 index 000000000..c5323f523 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/de.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Installiert ${APPNAME} und die benötigten Komponenten." +!insertmacro LANG_STRING Section_Data "Skins" +!insertmacro LANG_STRING Section_Data_Desc "Skins installieren." +!insertmacro LANG_STRING Section_Shortcuts "Verknüpfungssymbole" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Verküpfungssymbole hinzufügen." +!insertmacro LANG_STRING Section_StartMenu "Startmenüsymbol" +!insertmacro LANG_STRING Section_StartMenu_Desc "Fügt Symbol zum Startmenü hinzu." +!insertmacro LANG_STRING Section_Desktop "Desktopsymbol" +!insertmacro LANG_STRING Section_Desktop_Desc "Fügt Symbol zum Desktop hinzu." +!insertmacro LANG_STRING Section_QuickLaunch "Schnellstartsymbol" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Fügt Symbol zur Schnellstartleiste hinzu." +!insertmacro LANG_STRING Section_Plugins "Optionale Plug-ins" +!insertmacro LANG_STRING Section_Plugins_Desc "Optionale Plug-ins zum Erweitern der Funktionalität." +!insertmacro LANG_STRING Section_Plugin_FeedReader "FeedReader" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "Installiert das Plug-in Feedreader." +!insertmacro LANG_STRING Section_Plugin_LinksCloud "Verknüpfungswolke" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "Installiert das Plug-in Verknüpfungswolke." +!insertmacro LANG_STRING Section_Plugin_VOIP "VOIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "Installiert das Plug-in VOIP" +!insertmacro LANG_STRING Section_AutoStart "Automatischer Programmstart" +!insertmacro LANG_STRING Section_AutoStart_Desc "Beim Start automatisch ausführen." +!insertmacro LANG_STRING Page_InstallMode "Installationsmodus" +!insertmacro LANG_STRING Page_InstallMode_Desc "Wähle wie du ${APPNAME} installieren willst." +!insertmacro LANG_STRING Page_InstallMode_Standard "&Standardinstallation" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Installiere ${APPNAME} für den derzeitigen Benutzer dieses Geräts." +!insertmacro LANG_STRING Page_InstallMode_Portable "&Portable Installation" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "Im portablen Modus werden alle Konfigurationsdaten im Verzeichnis der Anwendung gespeichert und keine Informationen in der Registry abgelegt." +!insertmacro LANG_STRING Link_Uninstall "Deinstallieren" diff --git a/build_scripts/Windows-msys2/installer/lang/en.nsh b/build_scripts/Windows-msys2/installer/lang/en.nsh new file mode 100644 index 000000000..a1bbc783c --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/en.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components." +!insertmacro LANG_STRING Section_Data "Skins" +!insertmacro LANG_STRING Section_Data_Desc "Installs skins." +!insertmacro LANG_STRING Section_Shortcuts "Shortcut icons" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Adds shortcut icons." +!insertmacro LANG_STRING Section_StartMenu "Start Menu icon" +!insertmacro LANG_STRING Section_StartMenu_Desc "Adds icon to start menu." +!insertmacro LANG_STRING Section_Desktop "Desktop icon" +!insertmacro LANG_STRING Section_Desktop_Desc "Adds icon to desktop." +!insertmacro LANG_STRING Section_QuickLaunch "Quick Launch icon" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Adds icon to Quick Launch toolbar." +!insertmacro LANG_STRING Section_Plugins "Optional plugins" +!insertmacro LANG_STRING Section_Plugins_Desc "Optional plugins to extend functionality." +!insertmacro LANG_STRING Section_Plugin_FeedReader "FeedReader" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "Installs plugin FeedReader." +!insertmacro LANG_STRING Section_Plugin_VOIP "VOIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "Installs plugin VOIP." +;!insertmacro LANG_STRING Section_Link "File Association" +;!insertmacro LANG_STRING Section_Link_Desc "Associate ${APPNAME} with .pqi file extension." +!insertmacro LANG_STRING Section_AutoStart "Auto Startup" +!insertmacro LANG_STRING Section_AutoStart_Desc "Auto-Run at startup." +!insertmacro LANG_STRING Page_InstallMode "Installation Mode" +!insertmacro LANG_STRING Page_InstallMode_Desc "Choose how you want to install ${APPNAME}." +!insertmacro LANG_STRING Page_InstallMode_Standard "&Standard installation" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Install ${APPNAME} for the current user of this machine." +!insertmacro LANG_STRING Page_InstallMode_Portable "&Portable installation" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "In portable mode all configuration data is stored in the application folder and no information is written to the registry." +!insertmacro LANG_STRING Link_Uninstall "Uninstall" \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/es.nsh b/build_scripts/Windows-msys2/installer/lang/es.nsh new file mode 100644 index 000000000..68900ec62 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/es.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Instala ${APPNAME} y los componentes requeridos." +!insertmacro LANG_STRING Section_Data "Coberturas (skins)" +!insertmacro LANG_STRING Section_Data_Desc "Instalar coberturas" +!insertmacro LANG_STRING Section_Shortcuts "Iconos de accesos directos" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Añade iconos de accesos directos." +!insertmacro LANG_STRING Section_StartMenu "Icono de menú de inicio" +!insertmacro LANG_STRING Section_StartMenu_Desc "Añade icono al menú de inicio." +!insertmacro LANG_STRING Section_Desktop "Icono del escritorio" +!insertmacro LANG_STRING Section_Desktop_Desc "Añade icono al escritorio" +!insertmacro LANG_STRING Section_QuickLaunch "Icono de inicio rápido" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Añade icono a la Barra de Inicio Rápido" +!insertmacro LANG_STRING Section_Plugins "Complementos opcionales" +!insertmacro LANG_STRING Section_Plugins_Desc "Complementos opcionales para expandir la funcionalidad." +!insertmacro LANG_STRING Section_Plugin_FeedReader "FeedReader" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "Instala el complemento FeedReader." +!insertmacro LANG_STRING Section_Plugin_LinksCloud "LinksCloud" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "Instala el complemento LinksCloud." +!insertmacro LANG_STRING Section_Plugin_VOIP "VOIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "Instala el complemento VOIP" +!insertmacro LANG_STRING Section_AutoStart "Auto iniciar" +!insertmacro LANG_STRING Section_AutoStart_Desc "Auto-ejecutar al incio." +!insertmacro LANG_STRING Page_InstallMode "Modo de instalación" +!insertmacro LANG_STRING Page_InstallMode_Desc "Elija cómo quiere instalar ${APPNAME}." +!insertmacro LANG_STRING Page_InstallMode_Standard "Instalación &Estándar" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Instalar ${APPNAME} para el usuario actual de esta máquina." +!insertmacro LANG_STRING Page_InstallMode_Portable "Instalación &Portable" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "En modo portable, todos los datos de configuración se almacenan en la carpeta de la aplicación y no se escribe ninguna información en el registro." +!insertmacro LANG_STRING Link_Uninstall "Desinstalar" diff --git a/build_scripts/Windows-msys2/installer/lang/fr.nsh b/build_scripts/Windows-msys2/installer/lang/fr.nsh new file mode 100644 index 000000000..d4c797833 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/fr.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Installe ${APPNAME} et les composants requis." +!insertmacro LANG_STRING Section_Data "Habillages" +!insertmacro LANG_STRING Section_Data_Desc "Installe des habillages." +!insertmacro LANG_STRING Section_Shortcuts "Icônes de raccourci" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Ajoute les icônes de raccourci." +!insertmacro LANG_STRING Section_StartMenu "Icône de menu démarrage" +!insertmacro LANG_STRING Section_StartMenu_Desc "Ajoute l'icône au menu démarrer." +!insertmacro LANG_STRING Section_Desktop "Icônes de bureau" +!insertmacro LANG_STRING Section_Desktop_Desc "Ajoute l'icône sur le bureau." +!insertmacro LANG_STRING Section_QuickLaunch "Icône de lancement rapide" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Ajoute une icône à la barre d'outils de lancement rapide." +!insertmacro LANG_STRING Section_Plugins "Plug-ins optionnels" +!insertmacro LANG_STRING Section_Plugins_Desc "Plug-ins optionnels destinés à étendre les fonctionnalités." +!insertmacro LANG_STRING Section_Plugin_FeedReader "FeedReader" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "Installe le plug-in FeedReader." +!insertmacro LANG_STRING Section_Plugin_LinksCloud "LinksCloud" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "Installe le plug-in LinksCloud." +!insertmacro LANG_STRING Section_Plugin_VOIP "VOIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "Installe le plug-in VOIP." +!insertmacro LANG_STRING Section_AutoStart "Démarrage automatique" +!insertmacro LANG_STRING Section_AutoStart_Desc "Démarrage automatique au démarrage." +!insertmacro LANG_STRING Page_InstallMode "Mode d'installation" +!insertmacro LANG_STRING Page_InstallMode_Desc "Choisissez comment vous voulez installer ${APPNAME}." +!insertmacro LANG_STRING Page_InstallMode_Standard "&Installation standard" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Installer ${APPNAME} pour l'utilisateur actuel de cette machine." +!insertmacro LANG_STRING Page_InstallMode_Portable "&Installation portable" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "En mode portable toutes les données de configuration sont stockées dans le dossier de l'application et aucune information n'est écrite dans la base de registre." +!insertmacro LANG_STRING Link_Uninstall "Désinstaller" diff --git a/build_scripts/Windows-msys2/installer/lang/pl.nsh b/build_scripts/Windows-msys2/installer/lang/pl.nsh new file mode 100644 index 000000000..9f6d4305e --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/pl.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Instaluje ${APPNAME} oraz wymagane komponenty." +!insertmacro LANG_STRING Section_Data "Skórki" +!insertmacro LANG_STRING Section_Data_Desc "Instaluje skórki." +!insertmacro LANG_STRING Section_Shortcuts "Ikony skrótów" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Dodaje skróty ikon." +!insertmacro LANG_STRING Section_StartMenu "Start Menu icon" +!insertmacro LANG_STRING Section_StartMenu_Desc "Dodaje ikonę do menu start." +!insertmacro LANG_STRING Section_Desktop "Ikona na pulpicie" +!insertmacro LANG_STRING Section_Desktop_Desc "Dodawanie ikony na pulpicie" +!insertmacro LANG_STRING Section_QuickLaunch "Ikona szybkiego uruchamiania" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Dodaje ikonę do paska Szybkiego Uruchamiania." +!insertmacro LANG_STRING Section_Plugins "Wtyczki opcjonalne" +!insertmacro LANG_STRING Section_Plugins_Desc "Wtyczki opcjonalne rozszerzające funkcjonalność." +!insertmacro LANG_STRING Section_Plugin_FeedReader "FeedReader" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "Instaluje wtyczki FeedReader" +!insertmacro LANG_STRING Section_Plugin_LinksCloud "LinksCloud" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "Instaluje wtyczki LinksCloud." +!insertmacro LANG_STRING Section_Plugin_VOIP "VOIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "Instaluje wtyczki VOIP." +!insertmacro LANG_STRING Section_AutoStart "Auto Startup" +!insertmacro LANG_STRING Section_AutoStart_Desc "Automatyczne uruchamianie przy starcie." +!insertmacro LANG_STRING Page_InstallMode "Tryb instalacji" +!insertmacro LANG_STRING Page_InstallMode_Desc "Wybierz jak chcesz zainstalować ${APPNAME}." +!insertmacro LANG_STRING Page_InstallMode_Standard "&Standardowa instalacja" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Zainstaluj ${APPNAME} dla bieżącego użytkownika tej maszyny." +!insertmacro LANG_STRING Page_InstallMode_Portable "&Portable installation" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "W trybie przenośnym wszystkie dane konfiguracyjne są przechowywane w folderze aplikacji i nie są zapisywane w rejestrze." +!insertmacro LANG_STRING Link_Uninstall "Odinstaluj" diff --git a/build_scripts/Windows-msys2/installer/lang/ru.nsh b/build_scripts/Windows-msys2/installer/lang/ru.nsh new file mode 100644 index 000000000..09c578cb8 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ru.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Установка ${APPNAME} и необходимых компонентов." +!insertmacro LANG_STRING Section_Data "Оболочки" +!insertmacro LANG_STRING Section_Data_Desc "Установка оболочек." +!insertmacro LANG_STRING Section_Shortcuts "Ярлыки" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Добавление ярлыков." +!insertmacro LANG_STRING Section_StartMenu "Ярлык в меню Пуск" +!insertmacro LANG_STRING Section_StartMenu_Desc "Добавление ярлыка в меню Пуск." +!insertmacro LANG_STRING Section_Desktop "Ярлык на рабочем столе" +!insertmacro LANG_STRING Section_Desktop_Desc "Добавление ярлыка на рабочий стол." +!insertmacro LANG_STRING Section_QuickLaunch "Ярлык в панели быстрого запуска" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Добавление ярлыка на панель быстрого запуска." +!insertmacro LANG_STRING Section_Plugins "Дополнительные плагины" +!insertmacro LANG_STRING Section_Plugins_Desc "Дополнительные плагины для расширения функциональности." +!insertmacro LANG_STRING Section_Plugin_FeedReader "FeedReader – RSS-агрегатор" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "Установка плагина FeedReader." +!insertmacro LANG_STRING Section_Plugin_LinksCloud "LinksCloud – Облако ссылок" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "Установка плагина LinksCloud." +!insertmacro LANG_STRING Section_Plugin_VOIP "VoIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "Установка плагина VoIP." +!insertmacro LANG_STRING Section_AutoStart "Автозапуск" +!insertmacro LANG_STRING Section_AutoStart_Desc "Автозапуск при загрузке системы." +!insertmacro LANG_STRING Page_InstallMode "Режим установки" +!insertmacro LANG_STRING Page_InstallMode_Desc "Выберите метод установки ${APPNAME}." +!insertmacro LANG_STRING Page_InstallMode_Standard "Стандартная установка" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Установка ${APPNAME} для текущего пользователя компьютера." +!insertmacro LANG_STRING Page_InstallMode_Portable "Портативная установка" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "В режиме портативной установки все конфигурационные файлы сохраняются в папку приложения и в системный реестр не записывается никакой информации." +!insertmacro LANG_STRING Link_Uninstall "Удаление программы" diff --git a/build_scripts/Windows-msys2/installer/lang/tr.nsh b/build_scripts/Windows-msys2/installer/lang/tr.nsh new file mode 100644 index 000000000..f893ac076 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/tr.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "${APPNAME} ve gerekli bileşenleri kurar." +!insertmacro LANG_STRING Section_Data "Temalar" +!insertmacro LANG_STRING Section_Data_Desc "Tema yükleyin." +!insertmacro LANG_STRING Section_Shortcuts "Kısayol simgeleri" +!insertmacro LANG_STRING Section_Shortcuts_Desc "Kısayol simgesi ekleyin." +!insertmacro LANG_STRING Section_StartMenu "Başlat Menüsü simgesi" +!insertmacro LANG_STRING Section_StartMenu_Desc "Başlat menüsüne simge ekleyin." +!insertmacro LANG_STRING Section_Desktop "Masaüstü simgesi" +!insertmacro LANG_STRING Section_Desktop_Desc "Masaüstüne simge ekleyin." +!insertmacro LANG_STRING Section_QuickLaunch "Hızlı Başlat simgesi" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "Hızlı Başlat araç çubuğuna simge ekleyin." +!insertmacro LANG_STRING Section_Plugins "İsteğe bağlı eklentiler" +!insertmacro LANG_STRING Section_Plugins_Desc "İşlevselliği artırmak için isteğe bağlı eklentiler." +!insertmacro LANG_STRING Section_Plugin_FeedReader "AkışOkuyucu" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "AkışOkuyucu eklentisini yükleyin." +!insertmacro LANG_STRING Section_Plugin_LinksCloud "BağlantıBulutu" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "BağlantıBulutu eklentisini yükleyin." +!insertmacro LANG_STRING Section_Plugin_VOIP "VOIP" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "VOIP eklentisini yükleyin." +!insertmacro LANG_STRING Section_AutoStart "Otomatik Başlat" +!insertmacro LANG_STRING Section_AutoStart_Desc "Açılışta otomatik başlatın." +!insertmacro LANG_STRING Page_InstallMode "Kurulum Yöntemi" +!insertmacro LANG_STRING Page_InstallMode_Desc "${APPNAME} kurulum şeklini seçin" +!insertmacro LANG_STRING Page_InstallMode_Standard "&Normal kurulum" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "${APPNAME} yalnızca şimdiki kullanıcı için kurulsun." +!insertmacro LANG_STRING Page_InstallMode_Portable "&Taşınabilir kurulum" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "Taşınabilir kipte tüm ayarlar uygulama klasörüne depolanır ve kayıt defterine hiçbir bilgi yazılmaz." +!insertmacro LANG_STRING Link_Uninstall "Kaldırın" diff --git a/build_scripts/Windows-msys2/installer/lang/ts/ca_ES.ts b/build_scripts/Windows-msys2/installer/lang/ts/ca_ES.ts new file mode 100644 index 000000000..add40b909 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/ca_ES.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + ${APPNAME} + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + Instal·la ${APPNAME} i els components necessaris. + + + + Section_Data + + Skins + Pells + + + + Section_Data_Desc + + Installs skins. + Instal·la pells. + + + + Section_Shortcuts + + Shortcut icons + Icones d'accés directe + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + Afegir icones d'accés directe. + + + + Section_StartMenu + + Start Menu icon + Icona del menú d'inici + + + + Section_StartMenu_Desc + + Adds icon to start menu. + Afegir icona en el menú d'inici + + + + Section_Desktop + + Desktop icon + Icona d'escriptori + + + + Section_Desktop_Desc + + Adds icon to desktop. + Afegir icona a l'escriptori + + + + Section_QuickLaunch + + Quick Launch icon + Icona de la barra ràpida d'accés + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + Afegir icona a la barra ràpida d'accés + + + + Section_Plugins + + Optional plugins + Complements opcionals + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + Components opcionals per afegir funcionalitat. + + + + Section_Plugin_FeedReader + + FeedReader + LectorFonts + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + Instal·lar complement LectorFonts. + + + + Section_Plugin_LinksCloud + + LinksCloud + NúvolEnllaços + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + Instal·lar complement NúvolEnllaços. + + + + Section_Plugin_VOIP + + VOIP + VeuIP + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + Instal·lar complement VeuIP. + + + + Section_AutoStart + + Auto Startup + Posada en marxa automàtica + + + + Section_AutoStart_Desc + + Auto-Run at startup. + Autoengegar al arrencar. + + + + Page_InstallMode + + Installation Mode + Mode instal·lació + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + Escull com vols instal·lar ${APPNAME}. + + + + Page_InstallMode_Standard + + &Standard installation + Instal·lació e&stàndard + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + Instal·la ${APPNAME} per la sessió d'usuari actual. + + + + Page_InstallMode_Portable + + &Portable installation + Instal·lació &portable. + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + En mode portable les dades de configuració s'emmagatzemen a la carpeta d'aplicació i no s'escriu informació al registre del sistema. + + + + Link_Uninstall + + Uninstall + Desinstal·lar. + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/convert_from_ts.bat b/build_scripts/Windows-msys2/installer/lang/ts/convert_from_ts.bat new file mode 100644 index 000000000..d514256e1 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/convert_from_ts.bat @@ -0,0 +1,27 @@ +@echo off + +:: Very simple conversion from *.ts to *.nsh using xslt + +pushd "%~dp0" + +if "%1"=="" ( + for %%F in (*.ts) do if "%%F" NEQ "en.ts" call :convert %%~nF + goto :exit +) + +call :convert %1 + +:exit +popd + +goto :EOF + +:convert +if not exist "%~1.ts" ( + echo File "%~1.ts" not found. + goto :EOF +) + +echo %~1 + +"%~dp0xsltproc.exe" --output "%~dp0..\%~1.nsh" "%~dp0convert_from_ts.xsl" "%~1.ts" diff --git a/build_scripts/Windows-msys2/installer/lang/ts/convert_from_ts.xsl b/build_scripts/Windows-msys2/installer/lang/ts/convert_from_ts.xsl new file mode 100644 index 000000000..a376fe691 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/convert_from_ts.xsl @@ -0,0 +1,20 @@ + + + + + + + + !insertmacro LANG_STRING + + " + + + + + " + + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/convert_to_ts.bat b/build_scripts/Windows-msys2/installer/lang/ts/convert_to_ts.bat new file mode 100644 index 000000000..9235d6bab --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/convert_to_ts.bat @@ -0,0 +1,50 @@ +@echo off + +:: Very simple conversion from *.nsh to *.ts + +setlocal + +set Language=en +if "%1" NEQ "" set Language=%1 + +set InputFile=%~dp0..\%Language%.nsh +set OutputFile=%~dp0%Language%.ts + +if not exist "%InputFile%" ( + echo File %InputFile% not found. + goto :exit +) + +echo ^ >"%OutputFile%" +echo ^ >>"%OutputFile%" +echo ^ >>"%OutputFile%" + +for /F "tokens=1,2,3,*" %%A in (%InputFile%) do if "%%A"=="!insertmacro" call :context %%C %%D + +echo ^ >>"%OutputFile%" + +:exit +endlocal +goto :EOF + +:context + +setlocal EnableDelayedExpansion + +:: Simple replace of & to & +set Text=%2 +set Text=%Text:&=^&% +set Text=%Text:~1,-1% + +echo !Text! + +echo ^ >>"%OutputFile%" +echo ^%~1^ >>"%OutputFile%" +echo ^ >>"%OutputFile%" +echo ^!Text!^ >>"%OutputFile%" +echo ^^ >>"%OutputFile%" +echo ^ >>"%OutputFile%" +echo ^ >>"%OutputFile%" + +endlocal +goto :EOF diff --git a/build_scripts/Windows-msys2/installer/lang/ts/de.ts b/build_scripts/Windows-msys2/installer/lang/ts/de.ts new file mode 100644 index 000000000..4469c6818 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/de.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + ${APPNAME} + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + Installiert ${APPNAME} und die benötigten Komponenten. + + + + Section_Data + + Skins + Skins + + + + Section_Data_Desc + + Installs skins. + Skins installieren. + + + + Section_Shortcuts + + Shortcut icons + Verknüpfungssymbole + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + Verküpfungssymbole hinzufügen. + + + + Section_StartMenu + + Start Menu icon + Startmenüsymbol + + + + Section_StartMenu_Desc + + Adds icon to start menu. + Fügt Symbol zum Startmenü hinzu. + + + + Section_Desktop + + Desktop icon + Desktopsymbol + + + + Section_Desktop_Desc + + Adds icon to desktop. + Fügt Symbol zum Desktop hinzu. + + + + Section_QuickLaunch + + Quick Launch icon + Schnellstartsymbol + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + Fügt Symbol zur Schnellstartleiste hinzu. + + + + Section_Plugins + + Optional plugins + Optionale Plug-ins + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + Optionale Plug-ins zum Erweitern der Funktionalität. + + + + Section_Plugin_FeedReader + + FeedReader + FeedReader + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + Installiert das Plug-in Feedreader. + + + + Section_Plugin_LinksCloud + + LinksCloud + Verknüpfungswolke + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + Installiert das Plug-in Verknüpfungswolke. + + + + Section_Plugin_VOIP + + VOIP + VOIP + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + Installiert das Plug-in VOIP + + + + Section_AutoStart + + Auto Startup + Automatischer Programmstart + + + + Section_AutoStart_Desc + + Auto-Run at startup. + Beim Start automatisch ausführen. + + + + Page_InstallMode + + Installation Mode + Installationsmodus + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + Wähle wie du ${APPNAME} installieren willst. + + + + Page_InstallMode_Standard + + &Standard installation + &Standardinstallation + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + Installiere ${APPNAME} für den derzeitigen Benutzer dieses Geräts. + + + + Page_InstallMode_Portable + + &Portable installation + &Portable Installation + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + Im portablen Modus werden alle Konfigurationsdaten im Verzeichnis der Anwendung gespeichert und keine Informationen in der Registry abgelegt. + + + + Link_Uninstall + + Uninstall + Deinstallieren + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/en.ts b/build_scripts/Windows-msys2/installer/lang/ts/en.ts new file mode 100644 index 000000000..800157426 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/en.ts @@ -0,0 +1,186 @@ + + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + + + + + Section_Data + + Skins + + + + + Section_Data_Desc + + Installs skins. + + + + + Section_Shortcuts + + Shortcut icons + + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + + + + + Section_StartMenu + + Start Menu icon + + + + + Section_StartMenu_Desc + + Adds icon to start menu. + + + + + Section_Desktop + + Desktop icon + + + + + Section_Desktop_Desc + + Adds icon to desktop. + + + + + Section_QuickLaunch + + Quick Launch icon + + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + + + + + Section_Plugins + + Optional plugins + + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + + + + + Section_Plugin_FeedReader + + FeedReader + + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + + + + + Section_Plugin_VOIP + + VOIP + + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + + + + + Section_AutoStart + + Auto Startup + + + + + Section_AutoStart_Desc + + Auto-Run at startup. + + + + + Page_InstallMode + + Installation Mode + + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + + + + + Page_InstallMode_Standard + + &Standard installation + + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + + + + + Page_InstallMode_Portable + + &Portable installation + + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + + + + + Link_Uninstall + + Uninstall + + + + diff --git a/build_scripts/Windows-msys2/installer/lang/ts/es.ts b/build_scripts/Windows-msys2/installer/lang/ts/es.ts new file mode 100644 index 000000000..dab920294 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/es.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + ${APPNAME} + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + Instala ${APPNAME} y los componentes requeridos. + + + + Section_Data + + Skins + Coberturas (skins) + + + + Section_Data_Desc + + Installs skins. + Instalar coberturas + + + + Section_Shortcuts + + Shortcut icons + Iconos de accesos directos + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + Añade iconos de accesos directos. + + + + Section_StartMenu + + Start Menu icon + Icono de menú de inicio + + + + Section_StartMenu_Desc + + Adds icon to start menu. + Añade icono al menú de inicio. + + + + Section_Desktop + + Desktop icon + Icono del escritorio + + + + Section_Desktop_Desc + + Adds icon to desktop. + Añade icono al escritorio + + + + Section_QuickLaunch + + Quick Launch icon + Icono de inicio rápido + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + Añade icono a la Barra de Inicio Rápido + + + + Section_Plugins + + Optional plugins + Complementos opcionales + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + Complementos opcionales para expandir la funcionalidad. + + + + Section_Plugin_FeedReader + + FeedReader + FeedReader + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + Instala el complemento FeedReader. + + + + Section_Plugin_LinksCloud + + LinksCloud + LinksCloud + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + Instala el complemento LinksCloud. + + + + Section_Plugin_VOIP + + VOIP + VOIP + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + Instala el complemento VOIP + + + + Section_AutoStart + + Auto Startup + Auto iniciar + + + + Section_AutoStart_Desc + + Auto-Run at startup. + Auto-ejecutar al incio. + + + + Page_InstallMode + + Installation Mode + Modo de instalación + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + Elija cómo quiere instalar ${APPNAME}. + + + + Page_InstallMode_Standard + + &Standard installation + Instalación &Estándar + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + Instalar ${APPNAME} para el usuario actual de esta máquina. + + + + Page_InstallMode_Portable + + &Portable installation + Instalación &Portable + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + En modo portable, todos los datos de configuración se almacenan en la carpeta de la aplicación y no se escribe ninguna información en el registro. + + + + Link_Uninstall + + Uninstall + Desinstalar + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/fr.ts b/build_scripts/Windows-msys2/installer/lang/ts/fr.ts new file mode 100644 index 000000000..6ba710f7d --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/fr.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + ${APPNAME} + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + Installe ${APPNAME} et les composants requis. + + + + Section_Data + + Skins + Habillages + + + + Section_Data_Desc + + Installs skins. + Installe des habillages. + + + + Section_Shortcuts + + Shortcut icons + Icônes de raccourci + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + Ajoute les icônes de raccourci. + + + + Section_StartMenu + + Start Menu icon + Icône de menu démarrage + + + + Section_StartMenu_Desc + + Adds icon to start menu. + Ajoute l'icône au menu démarrer. + + + + Section_Desktop + + Desktop icon + Icônes de bureau + + + + Section_Desktop_Desc + + Adds icon to desktop. + Ajoute l'icône sur le bureau. + + + + Section_QuickLaunch + + Quick Launch icon + Icône de lancement rapide + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + Ajoute une icône à la barre d'outils de lancement rapide. + + + + Section_Plugins + + Optional plugins + Plug-ins optionnels + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + Plug-ins optionnels destinés à étendre les fonctionnalités. + + + + Section_Plugin_FeedReader + + FeedReader + FeedReader + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + Installe le plug-in FeedReader. + + + + Section_Plugin_LinksCloud + + LinksCloud + LinksCloud + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + Installe le plug-in LinksCloud. + + + + Section_Plugin_VOIP + + VOIP + VOIP + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + Installe le plug-in VOIP. + + + + Section_AutoStart + + Auto Startup + Démarrage automatique + + + + Section_AutoStart_Desc + + Auto-Run at startup. + Démarrage automatique au démarrage. + + + + Page_InstallMode + + Installation Mode + Mode d'installation + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + Choisissez comment vous voulez installer ${APPNAME}. + + + + Page_InstallMode_Standard + + &Standard installation + &Installation standard + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + Installer ${APPNAME} pour l'utilisateur actuel de cette machine. + + + + Page_InstallMode_Portable + + &Portable installation + &Installation portable + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + En mode portable toutes les données de configuration sont stockées dans le dossier de l'application et aucune information n'est écrite dans la base de registre. + + + + Link_Uninstall + + Uninstall + Désinstaller + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/pl.ts b/build_scripts/Windows-msys2/installer/lang/ts/pl.ts new file mode 100644 index 000000000..deb56164f --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/pl.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + ${APPNAME} + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + Instaluje ${APPNAME} oraz wymagane komponenty. + + + + Section_Data + + Skins + Skórki + + + + Section_Data_Desc + + Installs skins. + Instaluje skórki. + + + + Section_Shortcuts + + Shortcut icons + Ikony skrótów + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + Dodaje skróty ikon. + + + + Section_StartMenu + + Start Menu icon + + + + + Section_StartMenu_Desc + + Adds icon to start menu. + Dodaje ikonę do menu start. + + + + Section_Desktop + + Desktop icon + Ikona na pulpicie + + + + Section_Desktop_Desc + + Adds icon to desktop. + Dodawanie ikony na pulpicie + + + + Section_QuickLaunch + + Quick Launch icon + Ikona szybkiego uruchamiania + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + Dodaje ikonę do paska Szybkiego Uruchamiania. + + + + Section_Plugins + + Optional plugins + Wtyczki opcjonalne + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + Wtyczki opcjonalne rozszerzające funkcjonalność. + + + + Section_Plugin_FeedReader + + FeedReader + FeedReader + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + Instaluje wtyczki FeedReader + + + + Section_Plugin_LinksCloud + + LinksCloud + + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + Instaluje wtyczki LinksCloud. + + + + Section_Plugin_VOIP + + VOIP + VOIP + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + Instaluje wtyczki VOIP. + + + + Section_AutoStart + + Auto Startup + + + + + Section_AutoStart_Desc + + Auto-Run at startup. + Automatyczne uruchamianie przy starcie. + + + + Page_InstallMode + + Installation Mode + Tryb instalacji + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + Wybierz jak chcesz zainstalować ${APPNAME}. + + + + Page_InstallMode_Standard + + &Standard installation + &Standardowa instalacja + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + Zainstaluj ${APPNAME} dla bieżącego użytkownika tej maszyny. + + + + Page_InstallMode_Portable + + &Portable installation + + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + W trybie przenośnym wszystkie dane konfiguracyjne są przechowywane w folderze aplikacji i nie są zapisywane w rejestrze. + + + + Link_Uninstall + + Uninstall + Odinstaluj + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/ru.ts b/build_scripts/Windows-msys2/installer/lang/ts/ru.ts new file mode 100644 index 000000000..3c29f3955 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/ru.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + ${APPNAME} + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + Установка ${APPNAME} и необходимых компонентов. + + + + Section_Data + + Skins + Оболочки + + + + Section_Data_Desc + + Installs skins. + Установка оболочек. + + + + Section_Shortcuts + + Shortcut icons + Ярлыки + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + Добавление ярлыков. + + + + Section_StartMenu + + Start Menu icon + Ярлык в меню Пуск + + + + Section_StartMenu_Desc + + Adds icon to start menu. + Добавление ярлыка в меню Пуск. + + + + Section_Desktop + + Desktop icon + Ярлык на рабочем столе + + + + Section_Desktop_Desc + + Adds icon to desktop. + Добавление ярлыка на рабочий стол. + + + + Section_QuickLaunch + + Quick Launch icon + Ярлык в панели быстрого запуска + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + Добавление ярлыка на панель быстрого запуска. + + + + Section_Plugins + + Optional plugins + Дополнительные плагины + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + Дополнительные плагины для расширения функциональности. + + + + Section_Plugin_FeedReader + + FeedReader + FeedReader – RSS-агрегатор + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + Установка плагина FeedReader. + + + + Section_Plugin_LinksCloud + + LinksCloud + LinksCloud – Облако ссылок + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + Установка плагина LinksCloud. + + + + Section_Plugin_VOIP + + VOIP + VoIP + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + Установка плагина VoIP. + + + + Section_AutoStart + + Auto Startup + Автозапуск + + + + Section_AutoStart_Desc + + Auto-Run at startup. + Автозапуск при загрузке системы. + + + + Page_InstallMode + + Installation Mode + Режим установки + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + Выберите метод установки ${APPNAME}. + + + + Page_InstallMode_Standard + + &Standard installation + Стандартная установка + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + Установка ${APPNAME} для текущего пользователя компьютера. + + + + Page_InstallMode_Portable + + &Portable installation + Портативная установка + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + В режиме портативной установки все конфигурационные файлы сохраняются в папку приложения и в системный реестр не записывается никакой информации. + + + + Link_Uninstall + + Uninstall + Удаление программы + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/tr.ts b/build_scripts/Windows-msys2/installer/lang/ts/tr.ts new file mode 100644 index 000000000..d67961d59 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/tr.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + ${APPNAME} + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + ${APPNAME} ve gerekli bileşenleri kurar. + + + + Section_Data + + Skins + Temalar + + + + Section_Data_Desc + + Installs skins. + Tema yükleyin. + + + + Section_Shortcuts + + Shortcut icons + Kısayol simgeleri + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + Kısayol simgesi ekleyin. + + + + Section_StartMenu + + Start Menu icon + Başlat Menüsü simgesi + + + + Section_StartMenu_Desc + + Adds icon to start menu. + Başlat menüsüne simge ekleyin. + + + + Section_Desktop + + Desktop icon + Masaüstü simgesi + + + + Section_Desktop_Desc + + Adds icon to desktop. + Masaüstüne simge ekleyin. + + + + Section_QuickLaunch + + Quick Launch icon + Hızlı Başlat simgesi + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + Hızlı Başlat araç çubuğuna simge ekleyin. + + + + Section_Plugins + + Optional plugins + İsteğe bağlı eklentiler + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + İşlevselliği artırmak için isteğe bağlı eklentiler. + + + + Section_Plugin_FeedReader + + FeedReader + AkışOkuyucu + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + AkışOkuyucu eklentisini yükleyin. + + + + Section_Plugin_LinksCloud + + LinksCloud + BağlantıBulutu + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + BağlantıBulutu eklentisini yükleyin. + + + + Section_Plugin_VOIP + + VOIP + VOIP + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + VOIP eklentisini yükleyin. + + + + Section_AutoStart + + Auto Startup + Otomatik Başlat + + + + Section_AutoStart_Desc + + Auto-Run at startup. + Açılışta otomatik başlatın. + + + + Page_InstallMode + + Installation Mode + Kurulum Yöntemi + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + ${APPNAME} kurulum şeklini seçin + + + + Page_InstallMode_Standard + + &Standard installation + &Normal kurulum + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + ${APPNAME} yalnızca şimdiki kullanıcı için kurulsun. + + + + Page_InstallMode_Portable + + &Portable installation + &Taşınabilir kurulum + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + Taşınabilir kipte tüm ayarlar uygulama klasörüne depolanır ve kayıt defterine hiçbir bilgi yazılmaz. + + + + Link_Uninstall + + Uninstall + Kaldırın + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/ts/xsltproc.exe b/build_scripts/Windows-msys2/installer/lang/ts/xsltproc.exe new file mode 100644 index 000000000..79c250892 Binary files /dev/null and b/build_scripts/Windows-msys2/installer/lang/ts/xsltproc.exe differ diff --git a/build_scripts/Windows-msys2/installer/lang/ts/zh_CN.ts b/build_scripts/Windows-msys2/installer/lang/ts/zh_CN.ts new file mode 100644 index 000000000..30c992601 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/ts/zh_CN.ts @@ -0,0 +1,205 @@ + + + Section_Main + + ${APPNAME} + + + + + Section_Main_Desc + + Installs ${APPNAME} and required components. + + + + + Section_Data + + Skins + 皮肤 + + + + Section_Data_Desc + + Installs skins. + 安装皮肤 + + + + Section_Shortcuts + + Shortcut icons + 快捷方式图标 + + + + Section_Shortcuts_Desc + + Adds shortcut icons. + 添加快捷方式图标 + + + + Section_StartMenu + + Start Menu icon + 开始菜单图标 + + + + Section_StartMenu_Desc + + Adds icon to start menu. + 添加图标至开始菜单 + + + + Section_Desktop + + Desktop icon + 桌面图标 + + + + Section_Desktop_Desc + + Adds icon to desktop. + 添加图标至桌面 + + + + Section_QuickLaunch + + Quick Launch icon + 快速启动栏图标 + + + + Section_QuickLaunch_Desc + + Adds icon to Quick Launch toolbar. + 添加图标至快速启动栏 + + + + Section_Plugins + + Optional plugins + + + + + Section_Plugins_Desc + + Optional plugins to extend functionality. + + + + + Section_Plugin_FeedReader + + FeedReader + RSS订阅 + + + + Section_Plugin_FeedReader_Desc + + Installs plugin FeedReader. + 安装RSS订阅插件 + + + + Section_Plugin_LinksCloud + + LinksCloud + LinksCloud + + + + Section_Plugin_LinksCloud_Desc + + Installs plugin LinksCloud. + 安装插件LinksCloud + + + + Section_Plugin_VOIP + + VOIP + 语音 + + + + Section_Plugin_VOIP_Desc + + Installs plugin VOIP. + 安装语音插件 + + + + Section_AutoStart + + Auto Startup + + + + + Section_AutoStart_Desc + + Auto-Run at startup. + + + + + Page_InstallMode + + Installation Mode + 安装模式 + + + + Page_InstallMode_Desc + + Choose how you want to install ${APPNAME}. + + + + + Page_InstallMode_Standard + + &Standard installation + + + + + Page_InstallMode_Standard_Desc + + Install ${APPNAME} for the current user of this machine. + + + + + Page_InstallMode_Portable + + &Portable installation + + + + + Page_InstallMode_Portable_Desc + + In portable mode all configuration data is stored in the application folder and no information is written to the registry. + + + + + Link_Uninstall + + Uninstall + 卸载 + + + \ No newline at end of file diff --git a/build_scripts/Windows-msys2/installer/lang/zh_CN.nsh b/build_scripts/Windows-msys2/installer/lang/zh_CN.nsh new file mode 100644 index 000000000..1075f7a1a --- /dev/null +++ b/build_scripts/Windows-msys2/installer/lang/zh_CN.nsh @@ -0,0 +1,29 @@ +!insertmacro LANG_STRING Section_Main "${APPNAME}" +!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components." +!insertmacro LANG_STRING Section_Data "皮肤" +!insertmacro LANG_STRING Section_Data_Desc "安装皮肤" +!insertmacro LANG_STRING Section_Shortcuts "快捷方式图标" +!insertmacro LANG_STRING Section_Shortcuts_Desc "添加快捷方式图标" +!insertmacro LANG_STRING Section_StartMenu "开始菜单图标" +!insertmacro LANG_STRING Section_StartMenu_Desc "添加图标至开始菜单" +!insertmacro LANG_STRING Section_Desktop "桌面图标" +!insertmacro LANG_STRING Section_Desktop_Desc "添加图标至桌面" +!insertmacro LANG_STRING Section_QuickLaunch "快速启动栏图标" +!insertmacro LANG_STRING Section_QuickLaunch_Desc "添加图标至快速启动栏" +!insertmacro LANG_STRING Section_Plugins "Optional plugins" +!insertmacro LANG_STRING Section_Plugins_Desc "Optional plugins to extend functionality." +!insertmacro LANG_STRING Section_Plugin_FeedReader "RSS订阅" +!insertmacro LANG_STRING Section_Plugin_FeedReader_Desc "安装RSS订阅插件" +!insertmacro LANG_STRING Section_Plugin_LinksCloud "LinksCloud" +!insertmacro LANG_STRING Section_Plugin_LinksCloud_Desc "安装插件LinksCloud" +!insertmacro LANG_STRING Section_Plugin_VOIP "语音" +!insertmacro LANG_STRING Section_Plugin_VOIP_Desc "安装语音插件" +!insertmacro LANG_STRING Section_AutoStart "Auto Startup" +!insertmacro LANG_STRING Section_AutoStart_Desc "Auto-Run at startup." +!insertmacro LANG_STRING Page_InstallMode "安装模式" +!insertmacro LANG_STRING Page_InstallMode_Desc "Choose how you want to install ${APPNAME}." +!insertmacro LANG_STRING Page_InstallMode_Standard "&Standard installation" +!insertmacro LANG_STRING Page_InstallMode_Standard_Desc "Install ${APPNAME} for the current user of this machine." +!insertmacro LANG_STRING Page_InstallMode_Portable "&Portable installation" +!insertmacro LANG_STRING Page_InstallMode_Portable_Desc "In portable mode all configuration data is stored in the application folder and no information is written to the registry." +!insertmacro LANG_STRING Link_Uninstall "卸载" diff --git a/build_scripts/Windows-msys2/installer/retroshare-Qt5.nsi b/build_scripts/Windows-msys2/installer/retroshare-Qt5.nsi new file mode 100644 index 000000000..b30300634 --- /dev/null +++ b/build_scripts/Windows-msys2/installer/retroshare-Qt5.nsi @@ -0,0 +1,445 @@ +; Script generated with the Venis Install Wizard & modified by defnax +; Reworked by Thunder +; Adapted to msys2 and 64 bit by anmo + +!include ifexist.nsh +!include x64.nsh + +# Needed defines +;!define REVISION "" +;!define DEPLOYDIR "" +;!define ARCHITECTURE "" + +# Optional defines +;!define OUTDIR "" +;!define INSTALLERADD "" + +# Check needed defines +!ifndef DEPLOYDIR +!error "DEPLOYDIR is not defined" +!endif +!ifndef ARCHITECTURE +!error "ARCHITECTURE is not defined" +!endif + +# Check optional defines +!ifdef OUTDIR +!define OUTDIR_ "${OUTDIR}\" +!else +!define OUTDIR "" +!define OUTDIR_ "" +!endif + +!ifndef INSTALLERADD +!define INSTALLERADD "" +!endif + +# Source directory +!define SOURCEDIR "..\..\.." + +# Get version from executable +!GetDllVersion "${DEPLOYDIR}\retroshare.exe" VERSION_ +!define VERSION ${VERSION_1}.${VERSION_2}.${VERSION_3} +;!define REVISION ${VERSION_4} + +# Check version +!ifndef REVISION +!error "REVISION is not defined" +!endif + +# Date +!define /date Date "%Y%m%d" + +# Detect tor +${!defineifexist} TOR_EXISTS "${DEPLOYDIR}\tor.exe" +!ifdef TOR_EXISTS +!define RSTYPE "-tor" +!else +!define RSTYPE "" +!endif + +# Application name and version +!define APPNAME "RetroShare" +!define APPNAMEANDVERSION "${APPNAME} ${VERSION}" +!define PUBLISHER "RetroShare Team" + +# Install path +!define INSTDIR_PORTABLE "$Desktop\${APPNAME}" + +!define DATADIR_NORMAL "$APPDATA\${APPNAME}" +!define DATADIR_PORTABLE "$INSTDIR\Data" + +# Main Install settings +Name "${APPNAMEANDVERSION}" +InstallDirRegKey HKLM "Software\${APPNAME}" "" +OutFile "${OUTDIR_}RetroShare-${VERSION}-${Date}-${REVISION}-${ARCHITECTURE}${RSTYPE}${INSTALLERADD}-setup.exe" +BrandingText "${APPNAMEANDVERSION}" +RequestExecutionlevel highest +# Use compression +SetCompressor /SOLID LZMA + +# Global variables +Var PortableMode +Var InstDirNormal +Var InstDirPortable +Var DataDir +Var StyleSheetDir + +# Modern interface settings +!include Sections.nsh +!include nsDialogs.nsh +!include "MUI.nsh" + +# Interface Settings +!define MUI_ABORTWARNING +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP "${SOURCEDIR}\build_scripts\Windows-msys2\installer\HeaderImage.bmp" +;!define MUI_WELCOMEFINISHPAGE_BITMAP "...bmp" + +# MUI defines +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico" +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_LICENSEPAGE_RADIOBUTTONS +!define MUI_COMPONENTSPAGE_SMALLDESC +!define MUI_FINISHPAGE_LINK "Visit the RetroShare forum for the latest news and support" +!define MUI_FINISHPAGE_LINK_LOCATION "http://retroshare.sourceforge.net/forum/" +!define MUI_FINISHPAGE_RUN "$INSTDIR\retroshare.exe" +!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt +!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt +!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico" +!define MUI_UNFINISHPAGE_NOAUTOCLOSE +;!define MUI_LANGDLL_REGISTRY_ROOT HKLM +;!define MUI_LANGDLL_REGISTRY_KEY ${REGKEY} +;!define MUI_LANGDLL_REGISTRY_VALUENAME InstallerLanguage + +# Defines the un-/installer logo of RetroShare +!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp" +!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp" + +# Installer pages +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "$(myLicenseData)" +Page Custom PortableModePageCreate PortableModePageLeave +!define MUI_PAGE_CUSTOMFUNCTION_LEAVE dir_leave +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_COMPONENTS +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# Set languages (first is default language) +!insertmacro MUI_RESERVEFILE_LANGDLL + +# Installer languages +!define MUI_LANGDLL_ALLLANGUAGES + +# Translations +!macro LANG_LOAD LANGUAGE LANGCODE LANGID LICENCEFILE + !insertmacro MUI_LANGUAGE "${LANGUAGE}" +; !verbose off + !define LANG "${LANGUAGE}" + !include "lang\${LANGCODE}.nsh" + LangString LANGUAGEID "${LANG_${LANG}}" "1031" + LicenseLangString myLicenseData ${LANGCODE} ${LICENCEFILE} +; !verbose on + !undef LANG +!macroend + +!macro LANG_STRING NAME VALUE + LangString "${NAME}" "${LANG_${LANG}}" "${VALUE}" +!macroend + +!insertmacro LANG_LOAD "English" "en" "1033" "${SOURCEDIR}\retroshare-gui\src\license\license.txt" +!insertmacro LANG_LOAD "French" "fr" "1036" "${SOURCEDIR}\retroshare-gui\src\license\license-FR.txt" +!insertmacro LANG_LOAD "German" "de" "1031" "${SOURCEDIR}\retroshare-gui\src\license\license-GER.txt" +!insertmacro LANG_LOAD "Turkish" "tr" "1055" "${SOURCEDIR}\retroshare-gui\src\license\license-TR.txt" +!insertmacro LANG_LOAD "SimpChinese" "zh_CN" "2052" "${SOURCEDIR}\retroshare-gui\src\license\license.txt" +!insertmacro LANG_LOAD "Polish" "pl" "1045" "${SOURCEDIR}\retroshare-gui\src\license\license.txt" +!insertmacro LANG_LOAD "Spanish" "es" "1034" "${SOURCEDIR}\retroshare-gui\src\license\license.txt" +!insertmacro LANG_LOAD "Russian" "ru" "1049" "${SOURCEDIR}\retroshare-gui\src\license\license.txt" +!insertmacro LANG_LOAD "Catalan" "ca_ES" "1027" "${SOURCEDIR}\retroshare-gui\src\license\license.txt" + +LicenseData $(myLicenseData) + +# Main binaries +Section $(Section_Main) Section_Main + ;Set Section required + SectionIn RO + + ; Set Section properties + SetOverwrite on + + ; Clears previous error logs +; Delete "$INSTDIR\*.log" + + SetOutPath "$INSTDIR" + File /r /x Data /x stylesheets /x qss /x portable "${DEPLOYDIR}\*.*" +SectionEnd + +# Plugins +${!defineifexist} PLUGIN_FEEDREADER_EXISTS "${DEPLOYDIR}\Data\extensions6\FeedReader.dll" +${!defineifexist} PLUGIN_VOIP_EXISTS "${DEPLOYDIR}\Data\extensions6\VOIP.dll" + +!ifdef PLUGIN_FEEDREADER_EXISTS +!define /ifndef PLUGIN_EXISTS +!endif +!ifdef PLUGIN_VOIP_EXISTS +!define /ifndef PLUGIN_EXISTS +!endif + +!ifdef PLUGIN_EXISTS + SectionGroup $(Section_Plugins) Section_Plugins + !ifdef PLUGIN_FEEDREADER_EXISTS + Section $(Section_Plugin_FeedReader) Section_Plugin_FeedReader + SetOutPath "$DataDir\extensions6" + File "${DEPLOYDIR}\Data\extensions6\FeedReader.dll" + SectionEnd + !endif + + !ifdef PLUGIN_VOIP_EXISTS + Section $(Section_Plugin_VOIP) Section_Plugin_VOIP + SetOutPath "$DataDir\extensions6" + File "${DEPLOYDIR}\Data\extensions6\VOIP.dll" + SectionEnd + !endif + SectionGroupEnd +!endif + +# Data (Styles) +Section $(Section_Data) Section_Data + ; Set Section properties + SetOverwrite on + + ; Chat style + SetOutPath "$StyleSheetDir\stylesheets" + File /r "${DEPLOYDIR}\stylesheets\*.*" + + ; Stylesheets + SetOutPath "$INSTDIR\qss" + File /r "${DEPLOYDIR}\qss\*.*" +SectionEnd + +;Section $(Section_Link) Section_Link + ; Delete any existing keys + + ; Write the file association +; WriteRegStr HKCR .pqi "" retroshare +; WriteRegStr HKCR retroshare "" "PQI File" +; WriteRegBin HKCR retroshare EditFlags 00000100 +; WriteRegStr HKCR "retroshare\shell" "" open +; WriteRegStr HKCR "retroshare\shell\open\command" "" `"$INSTDIR\retroshare.exe" "%1"` +;SectionEnd + +# Shortcuts +SectionGroup $(Section_Shortcuts) Section_Shortcuts +Section $(Section_StartMenu) Section_StartMenu + SetOutPath "$INSTDIR" + CreateDirectory "$SMPROGRAMS\${APPNAME}" + CreateShortCut "$SMPROGRAMS\${APPNAME}\$(Link_Uninstall).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 + CreateShortCut "$SMPROGRAMS\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\retroshare.exe" "" "$INSTDIR\retroshare.exe" 0 +SectionEnd + +Section $(Section_Desktop) Section_Desktop + CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\retroshare.exe" "" "$INSTDIR\retroshare.exe" 0 +SectionEnd + +Section $(Section_QuickLaunch) Section_QuickLaunch + CreateShortCut "$QUICKLAUNCH\${APPNAME}.lnk" "$INSTDIR\retroshare.exe" "" "$INSTDIR\retroshare.exe" 0 +SectionEnd +SectionGroupEnd + +Section $(Section_AutoStart) Section_AutoStart + WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroShare" "$INSTDIR\retroshare.exe -m" +SectionEnd + +;Section $(Section_AutoStart) Section_AutoStart +; CreateShortCut "$SMSTARTUP\${APPNAME}.lnk" "$INSTDIR\retroshare.exe" "" "$INSTDIR\retroshare.exe -m" 0 +;SectionEnd + +Section -FinishSection + ${If} $PortableMode = 0 + WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" + WriteRegStr HKLM "Software\${APPNAME}" "Version" "${VERSION}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayVersion" "${VERSION}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayIcon" "$INSTDIR\retroshare.exe" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "Publisher" "${PUBLISHER}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "NoModify" "1" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "NoRepair" "1" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe" + WriteUninstaller "$INSTDIR\uninstall.exe" + ${Else} + ; Create the file the application uses to detect portable mode + FileOpen $0 "$INSTDIR\portable" w + FileClose $0 + ${EndIf} +SectionEnd + +# Descriptions +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${Section_Main} $(Section_Main_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_Data} $(Section_Data_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_Shortcuts} $(Section_Shortcuts_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_StartMenu} $(Section_StartMenu_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_Desktop} $(Section_Desktop_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_QuickLaunch} $(Section_QuickLaunch_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_Plugins} $(Section_Plugins_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_Plugin_FeedReader} $(Section_Plugin_FeedReader_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_Plugin_VOIP} $(Section_Plugin_VOIP_Desc) +; !insertmacro MUI_DESCRIPTION_TEXT ${Section_Link} $(Section_Link_Desc) + !insertmacro MUI_DESCRIPTION_TEXT ${Section_AutoStart} $(Section_AutoStart_Desc) +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +# Uninstall +Section "Uninstall" + ; Remove file association registry keys +; DeleteRegKey HKCR .pqi + DeleteRegKey HKCR RetroShare + + ; Remove program/uninstall regsitry keys + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" + DeleteRegKey HKLM SOFTWARE\${APPNAME} + + DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "RetroShare" + + ; Remove shortcuts, if any + Delete "$SMPROGRAMS\${APPNAME}\*.*" + + ; Remove desktop shortcut + Delete "$DESKTOP\${APPNAME}.lnk" + + ; Remove Quicklaunch shortcut + Delete "$QUICKLAUNCH\${APPNAME}.lnk" + + ; Remove Autstart + Delete "$SMSTARTUP\${APPNAME}.lnk" + + ; Remove directories used + RMDir "$SMPROGRAMS\${APPNAME}" + RMDir /r "$INSTDIR" + + ; Don't remove the directory, otherwise + ; we lose the XPGP keys. + ; Should make this an option though... + RMDir /r "${DATADIR_NORMAL}\extensions6" + RMDir /r "${DATADIR_NORMAL}\stylesheets" +SectionEnd + +Function .onInit +; source: https://stackoverflow.com/questions/19374453/nsis-installer-define-installer-and-system-x32-x64 + ${If} ${RunningX64} + ${If} ${ARCHITECTURE} == "x64" + StrCpy $InstDirNormal "$PROGRAMFILES64\${APPNAME}" + ${Else} + StrCpy $InstDirNormal "$PROGRAMFILES32\${APPNAME}" + ${Endif} + ${Else} + ${If} ${ARCHITECTURE} == "x64" + MessageBox MB_ICONSTOP "You cannot install the 64 bit version on a 32 bit system!" + Quit + ${Else} + StrCpy $InstDirNormal "$PROGRAMFILES\${APPNAME}" + ${Endif} + ${EndIf} + + StrCpy $InstDirPortable "${INSTDIR_PORTABLE}" + + StrCpy $PortableMode 0 + StrCpy $INSTDIR "$InstDirNormal" + StrCpy $DataDir "${DATADIR_NORMAL}" + + InitPluginsDir + Push $R1 + File /oname=$PLUGINSDIR\spltmp.bmp "${SOURCEDIR}\retroshare-gui\src\gui\images\logo\logo_splash.png" + advsplash::show 1200 1000 1000 -1 $PLUGINSDIR\spltmp + Pop $R1 + Pop $R1 + !insertmacro MUI_LANGDLL_DISPLAY +FunctionEnd + +# Installation mode + +Function RequireAdmin + UserInfo::GetAccountType + Pop $8 + ${If} $8 != "admin" + MessageBox MB_ICONSTOP "You need administrator rights to install ${APPNAME}" + SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED + Abort + ${EndIf} +FunctionEnd + +Function SetModeDestinationFromInstdir + ${If} $PortableMode = 0 + StrCpy $InstDirNormal $INSTDIR + ${Else} + StrCpy $InstDirPortable $INSTDIR + ${EndIf} +FunctionEnd + +Function PortableModePageCreate + Call SetModeDestinationFromInstdir ; If the user clicks BACK on the directory page we will remember their mode specific directory + !insertmacro MUI_HEADER_TEXT $(Page_InstallMode) $(Page_InstallMode_Desc) + nsDialogs::Create 1018 + Pop $0 + ${NSD_CreateRadioButton} 5u 25u -10u 8u $(Page_InstallMode_Standard) + Pop $1 + ${NSD_CreateLabel} 18u 40u -10u 24u $(Page_InstallMode_Standard_Desc) + Pop $0 + ${NSD_CreateRadioButton} 5u 75u -10u 8u $(Page_InstallMode_Portable) + Pop $2 + ${NSD_CreateLabel} 18u 90u -10u 24u $(Page_InstallMode_Portable_Desc) + Pop $0 + ${If} $PortableMode = 0 + SendMessage $1 ${BM_SETCHECK} ${BST_CHECKED} 0 + ${Else} + SendMessage $2 ${BM_SETCHECK} ${BST_CHECKED} 0 + ${EndIf} + nsDialogs::Show +FunctionEnd + +Function PortableModePageLeave + ${NSD_GetState} $1 $0 + ${If} $0 <> ${BST_UNCHECKED} + StrCpy $PortableMode 0 + StrCpy $INSTDIR $InstDirNormal + Call RequireAdmin + ; Enable sections + SectionSetText ${Section_Shortcuts} $(Section_Shortcuts) + SectionSetText ${Section_StartMenu} $(Section_StartMenu) + SectionSetText ${Section_Desktop} $(Section_Desktop) + SectionSetText ${Section_QuickLaunch} $(Section_QuickLaunch) + SectionSetText ${Section_AutoStart} $(Section_AutoStart) + !insertmacro SelectSection ${Section_Shortcuts} + !insertmacro SelectSection ${Section_AutoStart} + !insertmacro SelectSection ${Section_StartMenu} + !insertmacro SelectSection ${Section_Desktop} + !insertmacro SelectSection ${Section_QuickLaunch} + ${Else} + StrCpy $PortableMode 1 + StrCpy $INSTDIR $InstDirPortable + ; Disable sections + !insertmacro UnselectSection ${Section_Shortcuts} + !insertmacro UnselectSection ${Section_AutoStart} + !insertmacro UnselectSection ${Section_StartMenu} + !insertmacro UnselectSection ${Section_Desktop} + !insertmacro UnselectSection ${Section_QuickLaunch} + SectionSetText ${Section_Shortcuts} "" + SectionSetText ${Section_StartMenu} "" + SectionSetText ${Section_Desktop} "" + SectionSetText ${Section_QuickLaunch} "" + SectionSetText ${Section_AutoStart} "" + ${EndIf} +FunctionEnd + +Function dir_leave + ${If} $PortableMode = 0 + StrCpy $DataDir "${DATADIR_NORMAL}" + StrCpy $StyleSheetDir $DataDir + ${Else} + StrCpy $DataDir "${DATADIR_PORTABLE}" + StrCpy $StyleSheetDir $INSTDIR + ${EndIf} +FunctionEnd diff --git a/build_scripts/Windows-msys2/readme.md b/build_scripts/Windows-msys2/readme.md new file mode 100644 index 000000000..26ea3675e --- /dev/null +++ b/build_scripts/Windows-msys2/readme.md @@ -0,0 +1,83 @@ +# Compilation on Windows + +The preferred build method on Windows is by using MSYS2 which is a collection +of packages providing unix-like tools to build native Windows software. + +This guide contains information about how to setup your build environment in an automated way by scripts. +If you prefer to setup your environment manually, check this guide: +[WindowsMSys2_InstallGuide.md](WindowsMSys2_InstallGuide.md) + +You have to clone this repository (with [git for windows](https://gitforwindows.org/)) to a local folder, then start it in a terminal. + + +## Automatic building + +Run the following script: + + \build_scripts\Windows-msys2\build.bat + +It will install all neccessary tools to build RetrosShare, and build it with the default configuration. + +After the script is finished, you can find the resulting .7z package here: + + -msys2\deploy\ + +## Advanced building + +You can specifiy extra build options if you use the scripts under: + + \build_scripts\Windows-msys2\build\ + +You have to specify the build options after each command. + +Run the scripts in this order: +1. build.bat: builds RetroShare +2. pack.bat: makes a .7z archive with all the needed files to run the program +3. build-installer: makes a self extracting installer (optional) + +### Build options + +**Always delete the build artifacts folder if you enable or disable extra features after the build command: <sourcefolder>-msys2\deploy\builds** + +* Mandatory + * 32 or 64: 32 or 64 bit version + * release or debug: normally you would like to use the release option +* Extra features (optional) + * autologin: enable autologin + * plugins: build plugins + * webui: enable remoting features and pack webui files + * indexing: build with deep channel and file indexing support + * tor: include tor in the package + * "CONFIG+=..." enable other extra compile time features, you can find the almost complete list in file *<sourcefolder>\retroshare.pri* +* For fixing compile problems (optional) + * singlethread: use only 1 thread for building, slow but useful if you don't find the error message in the console + * clang: use clang compiler instead of GCC + * noupdate: skip the msys2 update step, sometimes some msys2 packages are broken, you can manually switch back to the older package, and this option will prevent updating to the broken version again + +Example: + +```batch +build.bat 64 release autologin webui "CONFIG+=rs_use_native_dialogs" "CONFIG+=rs_gui_cmark" +pack.bat 64 release autologin webui tor +build-installer.bat 64 release autologin +``` + +## Troubleshooting +* Run the command again, sometimes it works the second time, specially if it complains about *restbed* during bulding +* Delete the build artifacts: *<sourcefolder>-msys2\deploy\builds* +* Update msys2 manually: + 1. Open the terminal: *<sourcefolder>-msys2\msys2\msys64\msys2.exe* + 2. pacman -Sy + 3. pacman -Su + 4. Close the terminal + 5. Jump to 1. until it doesn't find more updates +* Start with a clean path environment variable, run *<sourcefolder>\build_scripts\Windows-msys2\start-clean-env.bat*, you will get a terminal with cleaned path + +## Updating webui + +The sripts don't update the webui source code automatically once it is schecked out. +You have to do it manually with your favourite git client. + +You can find the webui sorce code here: + + -webui diff --git a/build_scripts/Windows-msys2/start-clean-env.bat b/build_scripts/Windows-msys2/start-clean-env.bat new file mode 100644 index 000000000..1c6d46295 --- /dev/null +++ b/build_scripts/Windows-msys2/start-clean-env.bat @@ -0,0 +1,7 @@ +setlocal + +set path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0 +cd build\ +cmd + +endlocal diff --git a/build_scripts/Windows-msys2/tools/webui.bat b/build_scripts/Windows-msys2/tools/webui.bat index f39da666a..b7af01e53 100644 --- a/build_scripts/Windows-msys2/tools/webui.bat +++ b/build_scripts/Windows-msys2/tools/webui.bat @@ -7,7 +7,9 @@ title Build webui if not exist "%RsWebuiPath%" ( echo Checking out webui source into %RsWebuiPath% - %EnvMSYS2Cmd% "pacman --noconfirm --needed -S git" + if not "%ParamNoupdate%"=="1" ( + %EnvMSYS2Cmd% "pacman --noconfirm --needed -S git" + ) git clone https://github.com/RetroShare/RSNewWebUI.git "%RsWebuiPath%" ) else ( echo Webui source found at %RsWebuiPath% diff --git a/libbitdht/src/util/bdnet.cc b/libbitdht/src/util/bdnet.cc index 4c5f681a6..ba8c33553 100644 --- a/libbitdht/src/util/bdnet.cc +++ b/libbitdht/src/util/bdnet.cc @@ -285,12 +285,6 @@ int sleep(unsigned int sec) } #endif -int usleep(unsigned int usec) -{ - Sleep(usec / 1000); - return 0; -} - /********************************** WINDOWS/UNIX SPECIFIC PART ******************/ #else // UNIX diff --git a/libbitdht/src/util/bdnet.h b/libbitdht/src/util/bdnet.h index 639a2ed1a..89ecfa710 100644 --- a/libbitdht/src/util/bdnet.h +++ b/libbitdht/src/util/bdnet.h @@ -159,7 +159,6 @@ int bdnet_w2u_errno(int error); #ifndef __MINGW64_VERSION_MAJOR int sleep(unsigned int sec); #endif -int usleep(unsigned int usec); #endif // END of WINDOWS defines. /********************************** WINDOWS/UNIX SPECIFIC PART ******************/ diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro index 837c1f715..3277f8208 100644 --- a/libretroshare/src/libretroshare.pro +++ b/libretroshare/src/libretroshare.pro @@ -238,7 +238,7 @@ win32-x-g++ { } ################################# Windows ########################################## -win32-g++ { +win32-g++|win32-clang-g++ { QMAKE_CC = $${QMAKE_CXX} OBJECTS_DIR = temp/obj MOC_DIR = temp/moc @@ -852,7 +852,7 @@ rs_jsonapi { no_rs_cross_compiling { DUMMYRESTBEDINPUT = FORCE CMAKE_GENERATOR_OVERRIDE="" - win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" + win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" genrestbedlib.name = Generating librestbed. genrestbedlib.input = DUMMYRESTBEDINPUT genrestbedlib.output = $$clean_path($${RESTBED_BUILD_PATH}/librestbed.a) @@ -869,6 +869,7 @@ rs_jsonapi { mkdir -p $${RESTBED_BUILD_PATH} && cd $${RESTBED_BUILD_PATH} && \ cmake \ -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \ + \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \ $${CMAKE_GENERATOR_OVERRIDE} -DBUILD_SSL=OFF \ -DCMAKE_INSTALL_PREFIX=. -B. \ -H$$shell_path($${RESTBED_SRC_PATH}) && \ @@ -949,7 +950,7 @@ rs_broadcast_discovery { no_rs_cross_compiling { DUMMYQMAKECOMPILERINPUT = FORCE CMAKE_GENERATOR_OVERRIDE="" - win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" + win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" udpdiscoverycpplib.name = Generating libudp-discovery.a. udpdiscoverycpplib.input = DUMMYQMAKECOMPILERINPUT udpdiscoverycpplib.output = $$clean_path($${UDP_DISCOVERY_BUILD_PATH}/libudp-discovery.a) @@ -963,6 +964,7 @@ rs_broadcast_discovery { cd $${UDP_DISCOVERY_BUILD_PATH} && \ cmake -DCMAKE_C_COMPILER=$$fixQmakeCC($$QMAKE_CC) \ -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \ + \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \ $${CMAKE_GENERATOR_OVERRIDE} \ -DBUILD_EXAMPLE=OFF -DBUILD_TOOL=OFF \ -DCMAKE_INSTALL_PREFIX=. -B. \ diff --git a/libretroshare/src/use_libretroshare.pri b/libretroshare/src/use_libretroshare.pri index eb7a4e470..5f291b29c 100644 --- a/libretroshare/src/use_libretroshare.pri +++ b/libretroshare/src/use_libretroshare.pri @@ -46,7 +46,7 @@ rs_jsonapi { LIBS *= -L$$clean_path($${RESTBED_BUILD_PATH}/) -lrestbed } else:sLibs *= restbed - win32-g++:dLibs *= wsock32 + win32-g++|win32-clang-g++:dLibs *= wsock32 } linux-* { @@ -55,7 +55,7 @@ linux-* { rs_deep_channels_index | rs_deep_files_index { mLibs += xapian - win32-g++:mLibs += rpcrt4 + win32-g++|win32-clang-g++:mLibs += rpcrt4 } rs_deep_files_index_ogg { @@ -81,7 +81,7 @@ rs_broadcast_discovery { LIBS *= -L$$clean_path($${UDP_DISCOVERY_BUILD_PATH}) -ludp-discovery } else:sLibs *= udp-discovery - win32-g++:dLibs *= wsock32 + win32-g++|win32-clang-g++:dLibs *= wsock32 } static { diff --git a/openpgpsdk/src/openpgpsdk.pro b/openpgpsdk/src/openpgpsdk.pro index fa117381a..66341d0a3 100644 --- a/openpgpsdk/src/openpgpsdk.pro +++ b/openpgpsdk/src/openpgpsdk.pro @@ -21,7 +21,7 @@ linux-* { OBJECTS_DIR = temp/linux/obj } -win32-g++ { +win32-g++|win32-clang-g++ { HEADERS += openpgpsdk/opsstring.h SOURCES += openpgpsdk/opsstring.c diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index b60edbce6..c005ee510 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -59,7 +59,7 @@ rs_gui_cmark { DUMMYCMARKINPUT = FORCE CMAKE_GENERATOR_OVERRIDE="" - win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" + win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" gencmarklib.name = Generating libcmark. gencmarklib.input = DUMMYCMARKINPUT gencmarklib.output = $$clean_path($${CMARK_BUILD_PATH}/src/libcmark.a) @@ -73,6 +73,7 @@ rs_gui_cmark { mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \ cmake \ -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \ + \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \ $${CMAKE_GENERATOR_OVERRIDE} \ -DCMAKE_INSTALL_PREFIX=. \ -B. \ @@ -209,7 +210,7 @@ win32-x-g++ { #################################### Windows ##################################### -win32-g++ { +win32-g++|win32-clang-g++ { CONFIG(debug, debug|release) { # show console output CONFIG += console diff --git a/retroshare-service/src/retroshare-service.pro b/retroshare-service/src/retroshare-service.pro index ae3b38049..c9c884cee 100644 --- a/retroshare-service/src/retroshare-service.pro +++ b/retroshare-service/src/retroshare-service.pro @@ -88,7 +88,7 @@ macx { ################################# Windows ########################################## -win32-g++ { +win32-g++|win32-clang-g++ { CONFIG(debug, debug|release) { # show console output CONFIG += console diff --git a/retroshare.pri b/retroshare.pri index 994ced0f2..500300cfd 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -146,12 +146,12 @@ CONFIG *= rs_bob no_rs_bob:CONFIG -= rs_bob # To enable channel indexing append the following assignation to qmake command -# line "CONFIG+=rs_deep_channel_index" -CONFIG *= no_rs_deep_channel_index -rs_deep_channel_index:CONFIG -= no_rs_deep_channel_index +# line "CONFIG+=rs_deep_channels_index" +CONFIG *= no_rs_deep_channels_index +rs_deep_channels_index:CONFIG -= no_rs_deep_channels_index # To enable deep files indexing append the following assignation to qmake -# command line "CONFIG+=rs_files_index" +# command line "CONFIG+=rs_deep_files_index" CONFIG *= no_rs_deep_files_index rs_deep_files_index:CONFIG -= no_rs_deep_files_index @@ -430,7 +430,7 @@ defined in command line") DEFINES += RS_MINI_VERSION=$${RS_MINI_VERSION} DEFINES += RS_EXTRA_VERSION=\\\"$${RS_EXTRA_VERSION}\\\" } else { - RS_GIT_DESCRIBE = $$system(git describe) + RS_GIT_DESCRIBE = $$system(git describe --long --match v*.*.*) contains(RS_GIT_DESCRIBE, ^v\d+\.\d+\.\d+.*) { RS_GIT_DESCRIBE_SPLIT = $$split(RS_GIT_DESCRIBE, v) RS_GIT_DESCRIBE_SPLIT = $$split(RS_GIT_DESCRIBE_SPLIT, .) @@ -640,7 +640,7 @@ android-* { RS_THREAD_LIB = } -win32-g++ { +win32-g++|win32-clang-g++ { !isEmpty(EXTERNAL_LIB_DIR) { message(Use pre-compiled libraries in $${EXTERNAL_LIB_DIR}.) PREFIX = $$system_path($$EXTERNAL_LIB_DIR) @@ -692,6 +692,10 @@ win32-g++ { message(***retroshare.pri:Win32 PREFIX $$PREFIX INCLUDEPATH $$INCLUDEPATH QMAKE_LIBDIR $$QMAKE_LIBDIR DEFINES $$DEFINES) } +win32-clang-g++ { + QMAKE_CXXFLAGS += -femulated-tls +} + macx-* { rs_macos10.8 { message(***retroshare.pri: Set Target and SDK to MacOS 10.8 )