mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-23 22:01:05 -05:00
merged upstream/master
This commit is contained in:
commit
fa72af4d0c
@ -247,7 +247,7 @@ ${RS_SOURCE_DIR}/build_scripts/Android/pull_sysroot.sh
|
|||||||
[source,bash]
|
[source,bash]
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
## Optionally set Qt version variable consistently with your installation
|
## Optionally set Qt version variable consistently with your installation
|
||||||
export QT_VERSION="5.12.4"
|
export QT_VERSION="5.12.7"
|
||||||
|
|
||||||
## Optionally set Qt architecture variable consistently with Android device
|
## Optionally set Qt architecture variable consistently with Android device
|
||||||
export QT_ARCH="arm64_v8a"
|
export QT_ARCH="arm64_v8a"
|
||||||
|
@ -41,41 +41,56 @@ function define_default_value()
|
|||||||
|
|
||||||
define_default_value ANDROID_APK_PACKAGE "org.retroshare.service"
|
define_default_value ANDROID_APK_PACKAGE "org.retroshare.service"
|
||||||
define_default_value ANDROID_PROCESS_NAME "org.retroshare.service:rs"
|
define_default_value ANDROID_PROCESS_NAME "org.retroshare.service:rs"
|
||||||
|
define_default_value ANDROID_INSTALL_PATH ""
|
||||||
|
define_default_value LIB_GDB_SERVER_PATH ""
|
||||||
define_default_value ANDROID_SERIAL "$(adb devices | head -n 2 | tail -n 1 | awk '{print $1}')"
|
define_default_value ANDROID_SERIAL "$(adb devices | head -n 2 | tail -n 1 | awk '{print $1}')"
|
||||||
define_default_value GDB_SERVER_PORT 5039
|
define_default_value GDB_SERVER_PORT 5039
|
||||||
|
|
||||||
adb_shell()
|
adb_ushell()
|
||||||
{
|
{
|
||||||
adb shell run-as ${ANDROID_APK_PACKAGE} $@
|
adb shell run-as ${ANDROID_APK_PACKAGE} $@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ -z "${ANDROID_INSTALL_PATH}" ] &&
|
||||||
|
{
|
||||||
|
ANDROID_INSTALL_PATH="$(adb_ushell pm path "${ANDROID_APK_PACKAGE}")"
|
||||||
|
ANDROID_INSTALL_PATH="$(dirname ${ANDROID_INSTALL_PATH#"package:"})"
|
||||||
|
[ -z "${ANDROID_INSTALL_PATH}" ] &&
|
||||||
|
cat <<EOF
|
||||||
|
Cannot find install path for ${ANDROID_APK_PACKAGE} make sure it is installed,
|
||||||
|
or manually specify ANDROID_INSTALL_PATH
|
||||||
|
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
## If not passed as environement variable try to determine gdbserver path
|
## If not passed as environement variable try to determine gdbserver path
|
||||||
## shipped withing Android package
|
## shipped withing APK
|
||||||
[ -z "${LIB_GDB_SERVER_PATH}" ] &&
|
[ -z "${LIB_GDB_SERVER_PATH}" ] &&
|
||||||
{
|
{
|
||||||
|
|
||||||
for mUsualPath in \
|
for mUsualPath in \
|
||||||
"/data/data/${ANDROID_APK_PACKAGE}/lib/libgdbserver.so" \
|
"${ANDROID_INSTALL_PATH}/lib/libgdbserver.so" \
|
||||||
"/data/app/${ANDROID_APK_PACKAGE}"*"/lib/arm64/libgdbserver.so"
|
"${ANDROID_INSTALL_PATH}/lib/arm64/libgdbserver.so"
|
||||||
do
|
do
|
||||||
adb_shell ls "${mUsualPath}" &&
|
adb_ushell ls "${mUsualPath}" &&
|
||||||
export LIB_GDB_SERVER_PATH="${mUsualPath}" && break
|
export LIB_GDB_SERVER_PATH="${mUsualPath}" && break
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[ -z "${LIB_GDB_SERVER_PATH}" ] &&
|
[ -z "${LIB_GDB_SERVER_PATH}" ] &&
|
||||||
{
|
{
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
libgdbserver.so not found in any of the usual path attempting to look for it
|
libgdbserver.so not found in any of the usual path attempting to look for it
|
||||||
with find, it will take a bunch of time. Take note of the discovered path and
|
with find, it will take a little more time. Take note of the discovered path and
|
||||||
define LIB_GDB_SERVER_PATH on your commandline at next run to avoid waiting
|
define LIB_GDB_SERVER_PATH on your commandline at next run to avoid waiting
|
||||||
again.
|
again.
|
||||||
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
tFile="$(mktemp)"
|
tFile="$(mktemp)"
|
||||||
adb_shell find -type f -name 'libgdbserver.so' / | \
|
adb_ushell find ${ANDROID_INSTALL_PATH} -type f -name 'libgdbserver.so' | \
|
||||||
grep ${ANDROID_APK_PACKAGE} | tee "${tFile}"
|
tee "${tFile}"
|
||||||
|
|
||||||
LIB_GDB_SERVER_PATH="$(head -n 1 "${tFile}")"
|
LIB_GDB_SERVER_PATH="$(head -n 1 "${tFile}")"
|
||||||
rm "${tFile}"
|
rm "${tFile}"
|
||||||
@ -87,7 +102,7 @@ EOF
|
|||||||
exit -1
|
exit -1
|
||||||
}
|
}
|
||||||
|
|
||||||
mPid="$(adb_shell ps | grep ${ANDROID_PROCESS_NAME} | awk '{print $2}')"
|
mPid="$(adb_ushell ps | grep ${ANDROID_PROCESS_NAME} | awk '{print $2}')"
|
||||||
[ -z "${mPid}" ] &&
|
[ -z "${mPid}" ] &&
|
||||||
{
|
{
|
||||||
echo "Failed ${ANDROID_PROCESS_NAME} PID retrival are you sure it is running?"
|
echo "Failed ${ANDROID_PROCESS_NAME} PID retrival are you sure it is running?"
|
||||||
@ -98,4 +113,4 @@ mPid="$(adb_shell ps | grep ${ANDROID_PROCESS_NAME} | awk '{print $2}')"
|
|||||||
## Establish port forwarding so we can connect to gdbserver with gdb
|
## Establish port forwarding so we can connect to gdbserver with gdb
|
||||||
adb forward tcp:${GDB_SERVER_PORT} tcp:${GDB_SERVER_PORT}
|
adb forward tcp:${GDB_SERVER_PORT} tcp:${GDB_SERVER_PORT}
|
||||||
|
|
||||||
((adb_shell ${LIB_GDB_SERVER_PATH} 127.0.0.1:${GDB_SERVER_PORT} --attach ${mPid})&)
|
((adb_ushell ${LIB_GDB_SERVER_PATH} 127.0.0.1:${GDB_SERVER_PORT} --attach ${mPid})&)
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 879d5dfe8dcd8995be753120cf1b8bab4dd2ec82
|
Subproject commit b0d7ae39fe9d9192848bbf7b8902d2188da895c9
|
1
build_scripts/Windows-msys2/.gitignore
vendored
Normal file
1
build_scripts/Windows-msys2/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/build/env-mod.bat
|
@ -9,11 +9,11 @@ call "%EnvPath%\env.bat"
|
|||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
%cecho% info "Build %SourceName%"
|
%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%
|
if errorlevel 1 %cecho% error "Failed to build %SourceName%." & exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
%cecho% info "Pack %SourceName%"
|
%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%
|
if errorlevel 1 %cecho% error "Failed to pack %SourceName%." & exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
exit /B 0
|
exit /B 0
|
||||||
|
@ -9,11 +9,11 @@ call "%EnvPath%\env.bat"
|
|||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
%cecho% info "Build %SourceName%"
|
%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%
|
if errorlevel 1 %cecho% error "Failed to build %SourceName%." & exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
%cecho% info "Pack %SourceName%"
|
%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%
|
if errorlevel 1 %cecho% error "Failed to pack %SourceName%." & exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
exit /B 0
|
exit /B 0
|
||||||
|
67
build_scripts/Windows-msys2/build/build-installer.bat
Normal file
67
build_scripts/Windows-msys2/build/build-installer.bat
Normal file
@ -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
|
@ -7,8 +7,6 @@ call "%~dp0..\env.bat"
|
|||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
call "%EnvPath%\env.bat"
|
call "%EnvPath%\env.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
call "%EnvPath%\env.bat"
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
call "%EnvPath%\env-msys2.bat"
|
call "%EnvPath%\env-msys2.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
|
@ -7,8 +7,6 @@ call "%~dp0..\env.bat"
|
|||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
call "%EnvPath%\env.bat"
|
call "%EnvPath%\env.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
call "%EnvPath%\env.bat"
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
call "%EnvPath%\env-msys2.bat"
|
call "%EnvPath%\env-msys2.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
@ -17,11 +15,22 @@ call "%~dp0env-base.bat" %*
|
|||||||
if errorlevel 2 exit /B 2
|
if errorlevel 2 exit /B 2
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
:: Install needed things
|
if not "%ParamNoupdate%"=="1" (
|
||||||
%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"
|
:: 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
|
:: Webui
|
||||||
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"
|
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
|
:: Initialize environment
|
||||||
call "%~dp0env.bat" %*
|
call "%~dp0env.bat" %*
|
||||||
@ -57,10 +66,15 @@ echo %RS_QMAKE_CONFIG% > buildinfo.txt
|
|||||||
echo %RsBuildConfig% >> buildinfo.txt
|
echo %RsBuildConfig% >> buildinfo.txt
|
||||||
echo %RsArchitecture% >> buildinfo.txt
|
echo %RsArchitecture% >> buildinfo.txt
|
||||||
echo Qt %QtVersion% >> buildinfo.txt
|
echo Qt %QtVersion% >> buildinfo.txt
|
||||||
|
echo %RsCompiler% >> buildinfo.txt
|
||||||
|
|
||||||
call "%ToolsPath%\msys2-path.bat" "%SourcePath%" MSYS2SourcePath
|
call "%ToolsPath%\msys2-path.bat" "%SourcePath%" MSYS2SourcePath
|
||||||
call "%ToolsPath%\msys2-path.bat" "%EnvMSYS2Path%" MSYS2EnvMSYS2Path
|
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
|
if errorlevel 1 goto error
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
@ -69,7 +83,8 @@ echo.
|
|||||||
|
|
||||||
title Build - %SourceName%-%RsBuildConfig% [make]
|
title Build - %SourceName%-%RsBuildConfig% [make]
|
||||||
|
|
||||||
%EnvMSYS2Cmd% "make -j %NUMBER_OF_PROCESSORS%"
|
%EnvMSYS2Cmd% "make -j %CoreCount%"
|
||||||
|
if errorlevel 1 goto error
|
||||||
|
|
||||||
:: Webui
|
:: Webui
|
||||||
if "%ParamWebui%"=="1" (
|
if "%ParamWebui%"=="1" (
|
||||||
|
@ -7,6 +7,10 @@ set ParamAutologin=0
|
|||||||
set ParamPlugins=0
|
set ParamPlugins=0
|
||||||
set ParamTor=0
|
set ParamTor=0
|
||||||
set ParamWebui=0
|
set ParamWebui=0
|
||||||
|
set ParamClang=0
|
||||||
|
set ParamIndexing=0
|
||||||
|
set ParamNoupdate=0
|
||||||
|
set CoreCount=%NUMBER_OF_PROCESSORS%
|
||||||
set RS_QMAKE_CONFIG=
|
set RS_QMAKE_CONFIG=
|
||||||
|
|
||||||
:parameter_loop
|
:parameter_loop
|
||||||
@ -28,6 +32,14 @@ if "%~1" NEQ "" (
|
|||||||
set ParamTor=1
|
set ParamTor=1
|
||||||
) else if "%%~a"=="webui" (
|
) else if "%%~a"=="webui" (
|
||||||
set ParamWebui=1
|
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+" (
|
) else if "%%~a"=="CONFIG+" (
|
||||||
set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% %1
|
set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% %1
|
||||||
) else (
|
) else (
|
||||||
@ -58,6 +70,12 @@ if "%Param64%"=="1" (
|
|||||||
set RsMSYS2Architecture=x86_64
|
set RsMSYS2Architecture=x86_64
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if "%ParamClang%"=="1" (
|
||||||
|
set RsCompiler=Clang
|
||||||
|
) else (
|
||||||
|
set RsCompiler=GCC
|
||||||
|
)
|
||||||
|
|
||||||
if "%RsBit%"=="" goto :usage
|
if "%RsBit%"=="" goto :usage
|
||||||
|
|
||||||
if "%ParamRelease%"=="1" (
|
if "%ParamRelease%"=="1" (
|
||||||
@ -82,11 +100,15 @@ if "%ParamWebui%"=="1" (
|
|||||||
set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% "CONFIG+=rs_jsonapi" "CONFIG+=rs_webui"
|
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
|
exit /B 0
|
||||||
|
|
||||||
:usage
|
:usage
|
||||||
echo.
|
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.
|
||||||
echo Mandatory parameter
|
echo Mandatory parameter
|
||||||
echo 32^|64 32-bit or 64-bit Version
|
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 autologin Build with autologin
|
||||||
echo plugins Build plugins
|
echo plugins Build plugins
|
||||||
echo webui Enable JsonAPI and pack webui files
|
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.
|
||||||
echo Parameter for pack
|
echo Parameter for pack
|
||||||
echo tor Pack tor version
|
echo tor Pack tor version
|
||||||
|
@ -16,8 +16,8 @@ if "%QtVersion%"=="" %cecho% error "Cannot get Qt version." & exit /B 1
|
|||||||
|
|
||||||
set RsMinGWPath=%EnvMSYS2BasePath%\mingw%RsBit%
|
set RsMinGWPath=%EnvMSYS2BasePath%\mingw%RsBit%
|
||||||
|
|
||||||
set RsBuildPath=%BuildPath%\Qt-%QtVersion%-%RsArchitecture%-%RsBuildConfig%
|
set RsBuildPath=%BuildPath%\Qt-%QtVersion%-%RsArchitecture%-%RsCompiler%-%RsBuildConfig%
|
||||||
set RsDeployPath=%DeployPath%\Qt-%QtVersion%%RsType%-%RsArchitecture%-%RsBuildConfig%
|
set RsDeployPath=%DeployPath%\Qt-%QtVersion%%RsType%-%RsArchitecture%-%RsCompiler%-%RsBuildConfig%
|
||||||
set RsPackPath=%DeployPath%
|
set RsPackPath=%DeployPath%
|
||||||
set RsArchiveAdd=
|
set RsArchiveAdd=
|
||||||
set RsWebuiPath=%RootPath%\%SourceName%-webui
|
set RsWebuiPath=%RootPath%\%SourceName%-webui
|
||||||
|
@ -1,118 +1,43 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
setlocal
|
if "%~2"=="" (
|
||||||
|
echo.
|
||||||
set NoAsk=
|
echo Parameter error.
|
||||||
if "%~2"=="no-ask" set NoAsk=1
|
echo Usage git-log sourcepath outputfile
|
||||||
|
|
||||||
:: 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%
|
|
||||||
exit /B 1
|
exit /B 1
|
||||||
)
|
)
|
||||||
|
|
||||||
call "%GetRsVersion%" RS_REVISION_STRING RsRevision
|
set logfile=%~2
|
||||||
if "%RsRevision%"=="" echo Revision not found.& exit /B 1
|
copy nul %logfile% > nul
|
||||||
|
|
||||||
:: Get compiled version
|
pushd %~1
|
||||||
call "%GetRsVersion%" RS_REVISION_STRING RsRevision
|
|
||||||
if "%RsRevision%"=="" echo Revision not found.& exit /B 1
|
|
||||||
|
|
||||||
call "%GetRsVersion%" RS_MAJOR_VERSION RsMajorVersion
|
set last=HEAD
|
||||||
if "%RsMajorVersion%"=="" echo Major version not found.& exit /B 1
|
for /f %%t in ('git tag --sort=-taggerdate --merged ^| findstr v') do (
|
||||||
|
echo generating changelog for !last!..%%t
|
||||||
call "%GetRsVersion%" RS_MINOR_VERSION RsMinorVersion
|
echo ----------------------------------------------- >> %logfile%
|
||||||
if "%RsMinorVersion%"=="" echo Minor version not found.& exit /B 1
|
if !last! neq HEAD (
|
||||||
|
git tag -n !last! >> %logfile%
|
||||||
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%"
|
|
||||||
) else (
|
) 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
|
popd
|
||||||
|
|
||||||
title %COMSPEC%
|
endlocal enabledelayedexpansion
|
||||||
|
|
||||||
echo %RsRef%>"%RsLastRefFile%"
|
|
||||||
|
|
||||||
exit /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
:error_env
|
|
||||||
echo Failed to initialize environment.
|
|
||||||
endlocal
|
|
||||||
exit /B 1
|
|
@ -17,8 +17,15 @@ call "%~dp0env.bat" %*
|
|||||||
if errorlevel 2 exit /B 2
|
if errorlevel 2 exit /B 2
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
:: Install ntldd
|
if not "%ParamNoupdate%"=="1" (
|
||||||
%EnvMSYS2Cmd% "pacman --noconfirm --needed -S make git mingw-w64-%RsMSYS2Architecture%-ntldd-git"
|
:: 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
|
:: Remove deploy path
|
||||||
if exist "%RsDeployPath%" rmdir /S /Q "%RsDeployPath%"
|
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
|
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%
|
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 QtMainVersion=%QtVersion:~0,1%
|
||||||
set QtSharePath=%RsMinGWPath%\share\qt%QtMainVersion%\
|
set QtSharePath=%RsMinGWPath%\share\qt%QtMainVersion%\
|
||||||
|
|
||||||
@ -72,9 +71,9 @@ if "%QtMainVersion%"=="4" set QtMainVersion2=4
|
|||||||
if "%QtMainVersion%"=="5" set QtMainVersion1=5
|
if "%QtMainVersion%"=="5" set QtMainVersion1=5
|
||||||
|
|
||||||
if "%RsBuildConfig%" NEQ "release" (
|
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 (
|
) 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%"
|
if exist "%Archive%" del /Q "%Archive%"
|
||||||
@ -96,6 +95,7 @@ mkdir "%RsDeployPath%\qss"
|
|||||||
mkdir "%RsDeployPath%\stylesheets"
|
mkdir "%RsDeployPath%\stylesheets"
|
||||||
mkdir "%RsDeployPath%\sounds"
|
mkdir "%RsDeployPath%\sounds"
|
||||||
mkdir "%RsDeployPath%\translations"
|
mkdir "%RsDeployPath%\translations"
|
||||||
|
mkdir "%RsDeployPath%\license"
|
||||||
|
|
||||||
copy nul "%RsDeployPath%\portable" %Quite%
|
copy nul "%RsDeployPath%\portable" %Quite%
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ if "%QtMainVersion%"=="5" (
|
|||||||
)
|
)
|
||||||
|
|
||||||
if exist "%QtSharePath%\plugins\styles\qwindowsvistastyle.dll" (
|
if exist "%QtSharePath%\plugins\styles\qwindowsvistastyle.dll" (
|
||||||
echo Copy styles
|
echo copy styles
|
||||||
mkdir "%RsDeployPath%\styles" %Quite%
|
mkdir "%RsDeployPath%\styles" %Quite%
|
||||||
copy "%QtSharePath%\plugins\styles\qwindowsvistastyle.dll" "%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%
|
copy "%QtSharePath%\plugins\imageformats\*.dll" "%RsDeployPath%\imageformats" %Quite%
|
||||||
del /Q "%RsDeployPath%\imageformats\*d?.dll" %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
|
echo copy dependencies
|
||||||
for /R "%RsDeployPath%" %%D in (*.dll, *.exe) do (
|
for /R "%RsDeployPath%" %%D in (*.dll, *.exe) do (
|
||||||
call :copy_dependencies "%%D" "%RsDeployPath%"
|
call :copy_dependencies "%%D" "%RsDeployPath%"
|
||||||
@ -146,6 +152,9 @@ rmdir /S /Q "%RsDeployPath%\stylesheets\__MACOSX__Bubble" %Quite%
|
|||||||
echo copy sounds
|
echo copy sounds
|
||||||
xcopy /S "%SourcePath%\retroshare-gui\src\sounds" "%RsDeployPath%\sounds" %Quite%
|
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
|
echo copy translation
|
||||||
copy "%SourcePath%\retroshare-gui\src\translations\qt_tr.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%SourcePath%\retroshare-gui\src\translations\qt_tr.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
copy "%QtSharePath%\translations\qt_*.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%QtSharePath%\translations\qt_*.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
@ -160,8 +169,8 @@ if "%QtMainVersion%"=="5" (
|
|||||||
echo copy bdboot.txt
|
echo copy bdboot.txt
|
||||||
copy "%SourcePath%\libbitdht\src\bitdht\bdboot.txt" "%RsDeployPath%" %Quite%
|
copy "%SourcePath%\libbitdht\src\bitdht\bdboot.txt" "%RsDeployPath%" %Quite%
|
||||||
|
|
||||||
echo copy changelog.txt
|
echo generate changelog.txt
|
||||||
copy "%SourcePath%\retroshare-gui\src\changelog.txt" "%RsDeployPath%" %Quite%
|
call call "%~dp0\git-log.bat" "%SourcePath%" "%RsDeployPath%\changelog.txt"
|
||||||
|
|
||||||
echo copy buildinfo.txt
|
echo copy buildinfo.txt
|
||||||
copy "%RsBuildPath%\buildinfo.txt" "%RsDeployPath%" %Quite%
|
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
|
rem pack files
|
||||||
title Pack - %SourceName%%RsType%-%RsBuildConfig% [pack files]
|
title Pack - %SourceName%%RsType%-%RsBuildConfig% [pack files]
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ if exist "%EnvMSYS2Path%\msys%MSYS2Base%\usr\bin\pacman.exe" (
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
set MSYS2Install=msys2-base-%MSYS2Architecture%-20180531.tar.xz
|
set MSYS2Install=msys2-base-%MSYS2Architecture%-20200720.tar.xz
|
||||||
set MSYS2Url=http://sourceforge.net/projects/msys2/files/Base/%MSYS2Architecture%/%MSYS2Install%/download
|
set MSYS2Url=http://sourceforge.net/projects/msys2/files/Base/%MSYS2Architecture%/%MSYS2Install%/download
|
||||||
|
|
||||||
%cecho% info "Remove previous MSYS2 version"
|
%cecho% info "Remove previous MSYS2 version"
|
||||||
|
BIN
build_scripts/Windows-msys2/installer/HeaderImage.bmp
Normal file
BIN
build_scripts/Windows-msys2/installer/HeaderImage.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
BIN
build_scripts/Windows-msys2/installer/HeaderImageEmpty.bmp
Normal file
BIN
build_scripts/Windows-msys2/installer/HeaderImageEmpty.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
15
build_scripts/Windows-msys2/installer/ifexist.nsh
Normal file
15
build_scripts/Windows-msys2/installer/ifexist.nsh
Normal file
@ -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"
|
29
build_scripts/Windows-msys2/installer/lang/ca_ES.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/ca_ES.nsh
Normal file
@ -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."
|
29
build_scripts/Windows-msys2/installer/lang/de.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/de.nsh
Normal file
@ -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"
|
29
build_scripts/Windows-msys2/installer/lang/en.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/en.nsh
Normal file
@ -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"
|
29
build_scripts/Windows-msys2/installer/lang/es.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/es.nsh
Normal file
@ -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"
|
29
build_scripts/Windows-msys2/installer/lang/fr.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/fr.nsh
Normal file
@ -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"
|
29
build_scripts/Windows-msys2/installer/lang/pl.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/pl.nsh
Normal file
@ -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"
|
29
build_scripts/Windows-msys2/installer/lang/ru.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/ru.nsh
Normal file
@ -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 "Удаление программы"
|
29
build_scripts/Windows-msys2/installer/lang/tr.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/tr.nsh
Normal file
@ -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"
|
205
build_scripts/Windows-msys2/installer/lang/ts/ca_ES.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/ca_ES.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="ca_ES" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation>${APPNAME}</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation>Instal·la ${APPNAME} i els components necessaris.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>Pells</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>Instal·la pells.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>Icones d'accés directe</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>Afegir icones d'accés directe.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation>Icona del menú d'inici</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>Afegir icona en el menú d'inici</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>Icona d'escriptori</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>Afegir icona a l'escriptori</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>Icona de la barra ràpida d'accés</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>Afegir icona a la barra ràpida d'accés</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation>Complements opcionals</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation>Components opcionals per afegir funcionalitat.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>LectorFonts</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>Instal·lar complement LectorFonts.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation>NúvolEnllaços</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>Instal·lar complement NúvolEnllaços.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>VeuIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>Instal·lar complement VeuIP.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation>Posada en marxa automàtica</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation>Autoengegar al arrencar.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>Mode instal·lació</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation>Escull com vols instal·lar ${APPNAME}.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation>Instal·lació e&stàndard</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation>Instal·la ${APPNAME} per la sessió d'usuari actual.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation>Instal·lació &portable.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation>En mode portable les dades de configuració s'emmagatzemen a la carpeta d'aplicació i no s'escriu informació al registre del sistema.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>Desinstal·lar.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -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"
|
@ -0,0 +1,20 @@
|
|||||||
|
<xsl:stylesheet version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||||
|
|
||||||
|
<xsl:output method="text"/>
|
||||||
|
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
<xsl:template match="context">
|
||||||
|
<xsl:text>!insertmacro LANG_STRING </xsl:text>
|
||||||
|
<xsl:value-of select="./name"/>
|
||||||
|
<xsl:text> "</xsl:text>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="./message/translation!=''"><xsl:value-of select="./message/translation"/></xsl:when>
|
||||||
|
<xsl:otherwise><xsl:value-of select="./message/source"/></xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
<xsl:text>"
|
||||||
|
</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
@ -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 ^<?xml version="1.0" encoding="utf-8"?^> >"%OutputFile%"
|
||||||
|
echo ^<!DOCTYPE TS^> >>"%OutputFile%"
|
||||||
|
echo ^<TS version="2.0" language="en_US"^> >>"%OutputFile%"
|
||||||
|
|
||||||
|
for /F "tokens=1,2,3,*" %%A in (%InputFile%) do if "%%A"=="!insertmacro" call :context %%C %%D
|
||||||
|
|
||||||
|
echo ^</TS^> >>"%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 ^<context^> >>"%OutputFile%"
|
||||||
|
echo ^<name^>%~1^</name^> >>"%OutputFile%"
|
||||||
|
echo ^<message^> >>"%OutputFile%"
|
||||||
|
echo ^<source^>!Text!^</source^> >>"%OutputFile%"
|
||||||
|
echo ^<translation type="unfinished"^>^</translation^> >>"%OutputFile%"
|
||||||
|
echo ^</message^> >>"%OutputFile%"
|
||||||
|
echo ^</context^> >>"%OutputFile%"
|
||||||
|
|
||||||
|
endlocal
|
||||||
|
goto :EOF
|
205
build_scripts/Windows-msys2/installer/lang/ts/de.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/de.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="de" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation>${APPNAME}</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation>Installiert ${APPNAME} und die benötigten Komponenten.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>Skins</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>Skins installieren.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>Verknüpfungssymbole</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>Verküpfungssymbole hinzufügen.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation>Startmenüsymbol</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>Fügt Symbol zum Startmenü hinzu.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>Desktopsymbol</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>Fügt Symbol zum Desktop hinzu.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>Schnellstartsymbol</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>Fügt Symbol zur Schnellstartleiste hinzu.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation>Optionale Plug-ins</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation>Optionale Plug-ins zum Erweitern der Funktionalität.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>FeedReader</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>Installiert das Plug-in Feedreader.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation>Verknüpfungswolke</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>Installiert das Plug-in Verknüpfungswolke.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>VOIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>Installiert das Plug-in VOIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation>Automatischer Programmstart</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation>Beim Start automatisch ausführen.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>Installationsmodus</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation>Wähle wie du ${APPNAME} installieren willst.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation>&Standardinstallation</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation>Installiere ${APPNAME} für den derzeitigen Benutzer dieses Geräts.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation>&Portable Installation</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation>Im portablen Modus werden alle Konfigurationsdaten im Verzeichnis der Anwendung gespeichert und keine Informationen in der Registry abgelegt.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>Deinstallieren</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
186
build_scripts/Windows-msys2/installer/lang/ts/en.ts
Normal file
186
build_scripts/Windows-msys2/installer/lang/ts/en.ts
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.0" language="en_US">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
205
build_scripts/Windows-msys2/installer/lang/ts/es.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/es.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="es" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation>${APPNAME}</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation>Instala ${APPNAME} y los componentes requeridos.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>Coberturas (skins)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>Instalar coberturas</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>Iconos de accesos directos</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>Añade iconos de accesos directos.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation>Icono de menú de inicio</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>Añade icono al menú de inicio.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>Icono del escritorio</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>Añade icono al escritorio</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>Icono de inicio rápido</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>Añade icono a la Barra de Inicio Rápido</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation>Complementos opcionales</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation>Complementos opcionales para expandir la funcionalidad.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>FeedReader</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>Instala el complemento FeedReader.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation>LinksCloud</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>Instala el complemento LinksCloud.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>VOIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>Instala el complemento VOIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation>Auto iniciar</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation>Auto-ejecutar al incio.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>Modo de instalación</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation>Elija cómo quiere instalar ${APPNAME}.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation>Instalación &Estándar</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation>Instalar ${APPNAME} para el usuario actual de esta máquina.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation>Instalación &Portable</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation>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.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>Desinstalar</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
205
build_scripts/Windows-msys2/installer/lang/ts/fr.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/fr.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="fr" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation>${APPNAME}</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation>Installe ${APPNAME} et les composants requis.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>Habillages</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>Installe des habillages.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>Icônes de raccourci</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>Ajoute les icônes de raccourci.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation>Icône de menu démarrage</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>Ajoute l'icône au menu démarrer.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>Icônes de bureau</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>Ajoute l'icône sur le bureau.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>Icône de lancement rapide</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>Ajoute une icône à la barre d'outils de lancement rapide.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation>Plug-ins optionnels</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation>Plug-ins optionnels destinés à étendre les fonctionnalités.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>FeedReader</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>Installe le plug-in FeedReader.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation>LinksCloud</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>Installe le plug-in LinksCloud.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>VOIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>Installe le plug-in VOIP.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation>Démarrage automatique</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation>Démarrage automatique au démarrage.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>Mode d'installation</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation>Choisissez comment vous voulez installer ${APPNAME}.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation>&Installation standard</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation>Installer ${APPNAME} pour l'utilisateur actuel de cette machine.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation>&Installation portable</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation>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.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>Désinstaller</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
205
build_scripts/Windows-msys2/installer/lang/ts/pl.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/pl.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="pl" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation>${APPNAME}</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation>Instaluje ${APPNAME} oraz wymagane komponenty.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>Skórki</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>Instaluje skórki.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>Ikony skrótów</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>Dodaje skróty ikon.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>Dodaje ikonę do menu start.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>Ikona na pulpicie</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>Dodawanie ikony na pulpicie</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>Ikona szybkiego uruchamiania</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>Dodaje ikonę do paska Szybkiego Uruchamiania.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation>Wtyczki opcjonalne</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation>Wtyczki opcjonalne rozszerzające funkcjonalność.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>FeedReader</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>Instaluje wtyczki FeedReader</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>Instaluje wtyczki LinksCloud.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>VOIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>Instaluje wtyczki VOIP.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation>Automatyczne uruchamianie przy starcie.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>Tryb instalacji</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation>Wybierz jak chcesz zainstalować ${APPNAME}.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation>&Standardowa instalacja</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation>Zainstaluj ${APPNAME} dla bieżącego użytkownika tej maszyny.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation>W trybie przenośnym wszystkie dane konfiguracyjne są przechowywane w folderze aplikacji i nie są zapisywane w rejestrze.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>Odinstaluj</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
205
build_scripts/Windows-msys2/installer/lang/ts/ru.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/ru.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="ru" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation>${APPNAME}</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation>Установка ${APPNAME} и необходимых компонентов.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>Оболочки</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>Установка оболочек.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>Ярлыки</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>Добавление ярлыков.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation>Ярлык в меню Пуск</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>Добавление ярлыка в меню Пуск.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>Ярлык на рабочем столе</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>Добавление ярлыка на рабочий стол.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>Ярлык в панели быстрого запуска</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>Добавление ярлыка на панель быстрого запуска.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation>Дополнительные плагины</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation>Дополнительные плагины для расширения функциональности.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>FeedReader – RSS-агрегатор</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>Установка плагина FeedReader.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation>LinksCloud – Облако ссылок</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>Установка плагина LinksCloud.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>VoIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>Установка плагина VoIP.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation>Автозапуск</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation>Автозапуск при загрузке системы.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>Режим установки</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation>Выберите метод установки ${APPNAME}.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation>Стандартная установка</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation>Установка ${APPNAME} для текущего пользователя компьютера.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation>Портативная установка</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation>В режиме портативной установки все конфигурационные файлы сохраняются в папку приложения и в системный реестр не записывается никакой информации.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>Удаление программы</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
205
build_scripts/Windows-msys2/installer/lang/ts/tr.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/tr.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="tr" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation>${APPNAME}</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation>${APPNAME} ve gerekli bileşenleri kurar.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>Temalar</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>Tema yükleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>Kısayol simgeleri</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>Kısayol simgesi ekleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation>Başlat Menüsü simgesi</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>Başlat menüsüne simge ekleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>Masaüstü simgesi</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>Masaüstüne simge ekleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>Hızlı Başlat simgesi</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>Hızlı Başlat araç çubuğuna simge ekleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation>İsteğe bağlı eklentiler</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation>İşlevselliği artırmak için isteğe bağlı eklentiler.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>AkışOkuyucu</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>AkışOkuyucu eklentisini yükleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation>BağlantıBulutu</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>BağlantıBulutu eklentisini yükleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>VOIP</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>VOIP eklentisini yükleyin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation>Otomatik Başlat</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation>Açılışta otomatik başlatın.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>Kurulum Yöntemi</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation>${APPNAME} kurulum şeklini seçin</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation>&Normal kurulum</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation>${APPNAME} yalnızca şimdiki kullanıcı için kurulsun.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation>&Taşınabilir kurulum</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation>Taşınabilir kipte tüm ayarlar uygulama klasörüne depolanır ve kayıt defterine hiçbir bilgi yazılmaz.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>Kaldırın</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
BIN
build_scripts/Windows-msys2/installer/lang/ts/xsltproc.exe
Normal file
BIN
build_scripts/Windows-msys2/installer/lang/ts/xsltproc.exe
Normal file
Binary file not shown.
205
build_scripts/Windows-msys2/installer/lang/ts/zh_CN.ts
Normal file
205
build_scripts/Windows-msys2/installer/lang/ts/zh_CN.ts
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
<?xml version="1.0" ?><!DOCTYPE TS><TS language="zh_CN" version="2.0">
|
||||||
|
<context>
|
||||||
|
<name>Section_Main</name>
|
||||||
|
<message>
|
||||||
|
<source>${APPNAME}</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Main_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs ${APPNAME} and required components.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data</name>
|
||||||
|
<message>
|
||||||
|
<source>Skins</source>
|
||||||
|
<translation>皮肤</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Data_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs skins.</source>
|
||||||
|
<translation>安装皮肤</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts</name>
|
||||||
|
<message>
|
||||||
|
<source>Shortcut icons</source>
|
||||||
|
<translation>快捷方式图标</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Shortcuts_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds shortcut icons.</source>
|
||||||
|
<translation>添加快捷方式图标</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu</name>
|
||||||
|
<message>
|
||||||
|
<source>Start Menu icon</source>
|
||||||
|
<translation>开始菜单图标</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_StartMenu_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to start menu.</source>
|
||||||
|
<translation>添加图标至开始菜单</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop</name>
|
||||||
|
<message>
|
||||||
|
<source>Desktop icon</source>
|
||||||
|
<translation>桌面图标</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Desktop_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to desktop.</source>
|
||||||
|
<translation>添加图标至桌面</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch</name>
|
||||||
|
<message>
|
||||||
|
<source>Quick Launch icon</source>
|
||||||
|
<translation>快速启动栏图标</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_QuickLaunch_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Adds icon to Quick Launch toolbar.</source>
|
||||||
|
<translation>添加图标至快速启动栏</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugins_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Optional plugins to extend functionality.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader</name>
|
||||||
|
<message>
|
||||||
|
<source>FeedReader</source>
|
||||||
|
<translation>RSS订阅</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_FeedReader_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin FeedReader.</source>
|
||||||
|
<translation>安装RSS订阅插件</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud</name>
|
||||||
|
<message>
|
||||||
|
<source>LinksCloud</source>
|
||||||
|
<translation>LinksCloud</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_LinksCloud_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin LinksCloud.</source>
|
||||||
|
<translation>安装插件LinksCloud</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP</name>
|
||||||
|
<message>
|
||||||
|
<source>VOIP</source>
|
||||||
|
<translation>语音</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Plugin_VOIP_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs plugin VOIP.</source>
|
||||||
|
<translation>安装语音插件</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto Startup</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_AutoStart_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Auto-Run at startup.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode</name>
|
||||||
|
<message>
|
||||||
|
<source>Installation Mode</source>
|
||||||
|
<translation>安装模式</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Choose how you want to install ${APPNAME}.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard</name>
|
||||||
|
<message>
|
||||||
|
<source>&Standard installation</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Standard_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Install ${APPNAME} for the current user of this machine.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable</name>
|
||||||
|
<message>
|
||||||
|
<source>&Portable installation</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Page_InstallMode_Portable_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>In portable mode all configuration data is stored in the application folder and no information is written to the registry.</source>
|
||||||
|
<translation type="unfinished"/>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Link_Uninstall</name>
|
||||||
|
<message>
|
||||||
|
<source>Uninstall</source>
|
||||||
|
<translation>卸载</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
29
build_scripts/Windows-msys2/installer/lang/zh_CN.nsh
Normal file
29
build_scripts/Windows-msys2/installer/lang/zh_CN.nsh
Normal file
@ -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 "卸载"
|
@ -1,26 +1,25 @@
|
|||||||
; Script generated with the Venis Install Wizard & modified by defnax
|
; Script generated with the Venis Install Wizard & modified by defnax
|
||||||
; Reworked by Thunder
|
; Reworked by Thunder
|
||||||
|
; Adapted to msys2 and 64 bit by anmo
|
||||||
|
|
||||||
!include ifexist.nsh
|
!include ifexist.nsh
|
||||||
|
!include x64.nsh
|
||||||
|
|
||||||
# Needed defines
|
# Needed defines
|
||||||
;!define REVISION ""
|
;!define REVISION ""
|
||||||
;!define RELEASEDIR ""
|
;!define DEPLOYDIR ""
|
||||||
;!define QTDIR ""
|
;!define ARCHITECTURE ""
|
||||||
;!define MINGWDIR ""
|
|
||||||
|
|
||||||
# Optional defines
|
# Optional defines
|
||||||
;!define OUTDIR ""
|
;!define OUTDIR ""
|
||||||
|
;!define INSTALLERADD ""
|
||||||
|
|
||||||
# Check needed defines
|
# Check needed defines
|
||||||
!ifndef RELEASEDIR
|
!ifndef DEPLOYDIR
|
||||||
!error "RELEASEDIR is not defined"
|
!error "DEPLOYDIR is not defined"
|
||||||
!endif
|
!endif
|
||||||
!ifndef QTDIR
|
!ifndef ARCHITECTURE
|
||||||
!error "QTDIR is not defined"
|
!error "ARCHITECTURE is not defined"
|
||||||
!endif
|
|
||||||
!ifndef MINGWDIR
|
|
||||||
!error "MINGWDIR is not defined"
|
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
# Check optional defines
|
# Check optional defines
|
||||||
@ -39,14 +38,10 @@
|
|||||||
!define SOURCEDIR "..\..\.."
|
!define SOURCEDIR "..\..\.."
|
||||||
|
|
||||||
# Get version from executable
|
# Get version from executable
|
||||||
!GetDllVersion "${RELEASEDIR}\retroshare-gui\src\release\retroshare.exe" VERSION_
|
!GetDllVersion "${DEPLOYDIR}\retroshare.exe" VERSION_
|
||||||
!define VERSION ${VERSION_1}.${VERSION_2}.${VERSION_3}
|
!define VERSION ${VERSION_1}.${VERSION_2}.${VERSION_3}
|
||||||
;!define REVISION ${VERSION_4}
|
;!define REVISION ${VERSION_4}
|
||||||
|
|
||||||
# Get version of Qt
|
|
||||||
!GetDllVersion "${QTDIR}\bin\QtCore4.dll" QTVERSION_
|
|
||||||
!define QTVERSION ${QTVERSION_1}.${QTVERSION_2}.${QTVERSION_3}
|
|
||||||
|
|
||||||
# Check version
|
# Check version
|
||||||
!ifndef REVISION
|
!ifndef REVISION
|
||||||
!error "REVISION is not defined"
|
!error "REVISION is not defined"
|
||||||
@ -55,13 +50,20 @@
|
|||||||
# Date
|
# Date
|
||||||
!define /date Date "%Y%m%d"
|
!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
|
# Application name and version
|
||||||
!define APPNAME "RetroShare"
|
!define APPNAME "RetroShare"
|
||||||
!define APPNAMEANDVERSION "${APPNAME} ${VERSION}"
|
!define APPNAMEANDVERSION "${APPNAME} ${VERSION}"
|
||||||
!define PUBLISHER "RetroShare Team"
|
!define PUBLISHER "RetroShare Team"
|
||||||
|
|
||||||
# Install path
|
# Install path
|
||||||
!define INSTDIR_NORMAL "$ProgramFiles\${APPNAME}"
|
|
||||||
!define INSTDIR_PORTABLE "$Desktop\${APPNAME}"
|
!define INSTDIR_PORTABLE "$Desktop\${APPNAME}"
|
||||||
|
|
||||||
!define DATADIR_NORMAL "$APPDATA\${APPNAME}"
|
!define DATADIR_NORMAL "$APPDATA\${APPNAME}"
|
||||||
@ -70,7 +72,7 @@
|
|||||||
# Main Install settings
|
# Main Install settings
|
||||||
Name "${APPNAMEANDVERSION}"
|
Name "${APPNAMEANDVERSION}"
|
||||||
InstallDirRegKey HKLM "Software\${APPNAME}" ""
|
InstallDirRegKey HKLM "Software\${APPNAME}" ""
|
||||||
OutFile "${OUTDIR_}RetroShare-${VERSION}-${Date}-${REVISION}-Qt-${QTVERSION}${INSTALLERADD}-setup.exe"
|
OutFile "${OUTDIR_}RetroShare-${VERSION}-${Date}-${REVISION}-${ARCHITECTURE}${RSTYPE}${INSTALLERADD}-setup.exe"
|
||||||
BrandingText "${APPNAMEANDVERSION}"
|
BrandingText "${APPNAMEANDVERSION}"
|
||||||
RequestExecutionlevel highest
|
RequestExecutionlevel highest
|
||||||
# Use compression
|
# Use compression
|
||||||
@ -91,7 +93,7 @@ Var StyleSheetDir
|
|||||||
# Interface Settings
|
# Interface Settings
|
||||||
!define MUI_ABORTWARNING
|
!define MUI_ABORTWARNING
|
||||||
!define MUI_HEADERIMAGE
|
!define MUI_HEADERIMAGE
|
||||||
!define MUI_HEADERIMAGE_BITMAP "${SOURCEDIR}\build_scripts\Windows\installer\HeaderImage.bmp"
|
!define MUI_HEADERIMAGE_BITMAP "${SOURCEDIR}\build_scripts\Windows-msys2\installer\HeaderImage.bmp"
|
||||||
;!define MUI_WELCOMEFINISHPAGE_BITMAP "...bmp"
|
;!define MUI_WELCOMEFINISHPAGE_BITMAP "...bmp"
|
||||||
|
|
||||||
# MUI defines
|
# MUI defines
|
||||||
@ -172,64 +174,13 @@ Section $(Section_Main) Section_Main
|
|||||||
; Clears previous error logs
|
; Clears previous error logs
|
||||||
; Delete "$INSTDIR\*.log"
|
; Delete "$INSTDIR\*.log"
|
||||||
|
|
||||||
; Main binaries
|
SetOutPath "$INSTDIR"
|
||||||
SetOutPath "$INSTDIR"
|
File /r /x Data /x stylesheets /x qss /x portable "${DEPLOYDIR}\*.*"
|
||||||
File /oname=retroshare.exe "${RELEASEDIR}\retroshare-gui\src\release\retroshare.exe"
|
|
||||||
File /oname=retroshare-nogui.exe "${RELEASEDIR}\retroshare-nogui\src\release\retroshare-nogui.exe"
|
|
||||||
|
|
||||||
; Qt binaries
|
|
||||||
File "${QTDIR}\bin\QtCore4.dll"
|
|
||||||
File "${QTDIR}\bin\QtGui4.dll"
|
|
||||||
File "${QTDIR}\bin\QtMultimedia4.dll"
|
|
||||||
File "${QTDIR}\bin\QtNetwork4.dll"
|
|
||||||
File "${QTDIR}\bin\QtSvg4.dll"
|
|
||||||
File "${QTDIR}\bin\QtXml4.dll"
|
|
||||||
|
|
||||||
; MinGW binaries
|
|
||||||
File "${MINGWDIR}\bin\libstdc++-6.dll"
|
|
||||||
File "${MINGWDIR}\bin\libgcc_s_dw2-1.dll"
|
|
||||||
File "${MINGWDIR}\bin\libwinpthread-1.dll"
|
|
||||||
|
|
||||||
; External binaries
|
|
||||||
File "${EXTERNAL_LIB_DIR}\bin\miniupnpc.dll"
|
|
||||||
File "${EXTERNAL_LIB_DIR}\bin\libeay32.dll"
|
|
||||||
File "${EXTERNAL_LIB_DIR}\bin\ssleay32.dll"
|
|
||||||
|
|
||||||
; Other files
|
|
||||||
File "${SOURCEDIR}\retroshare-gui\src\changelog.txt"
|
|
||||||
File "${SOURCEDIR}\libbitdht\src\bitdht\bdboot.txt"
|
|
||||||
|
|
||||||
; Image formats
|
|
||||||
SetOutPath "$INSTDIR\imageformats"
|
|
||||||
File /r "${QTDIR}\plugins\imageformats\qgif4.dll"
|
|
||||||
File /r "${QTDIR}\plugins\imageformats\qico4.dll"
|
|
||||||
File /r "${QTDIR}\plugins\imageformats\qjpeg4.dll"
|
|
||||||
File /r "${QTDIR}\plugins\imageformats\qmng4.dll"
|
|
||||||
File /r "${QTDIR}\plugins\imageformats\qsvg4.dll"
|
|
||||||
File /r "${QTDIR}\plugins\imageformats\qtga4.dll"
|
|
||||||
File /r "${QTDIR}\plugins\imageformats\qtiff4.dll"
|
|
||||||
|
|
||||||
; Sounds
|
|
||||||
SetOutPath "$INSTDIR\sounds"
|
|
||||||
File /r "${SOURCEDIR}\retroshare-gui\src\sounds\*.*"
|
|
||||||
|
|
||||||
; Translations
|
|
||||||
SetOutPath "$INSTDIR\translations"
|
|
||||||
File /r "${SOURCEDIR}\retroshare-gui\src\translations\*.qm"
|
|
||||||
File /r "${QTDIR}\translations\qt_*.qm"
|
|
||||||
|
|
||||||
; WebUI
|
|
||||||
SetOutPath "$INSTDIR\webui"
|
|
||||||
File /r "${SOURCEDIR}\libresapi\src\webui\*.*"
|
|
||||||
|
|
||||||
; License
|
|
||||||
SetOutPath "$INSTDIR\license"
|
|
||||||
File /r "${SOURCEDIR}\retroshare-gui\src\license\*.*"
|
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
${!defineifexist} PLUGIN_FEEDREADER_EXISTS "${RELEASEDIR}\plugins\FeedReader\release\FeedReader.dll"
|
${!defineifexist} PLUGIN_FEEDREADER_EXISTS "${DEPLOYDIR}\Data\extensions6\FeedReader.dll"
|
||||||
${!defineifexist} PLUGIN_VOIP_EXISTS "${RELEASEDIR}\plugins\VOIP\release\VOIP.dll"
|
${!defineifexist} PLUGIN_VOIP_EXISTS "${DEPLOYDIR}\Data\extensions6\VOIP.dll"
|
||||||
|
|
||||||
!ifdef PLUGIN_FEEDREADER_EXISTS
|
!ifdef PLUGIN_FEEDREADER_EXISTS
|
||||||
!define /ifndef PLUGIN_EXISTS
|
!define /ifndef PLUGIN_EXISTS
|
||||||
@ -243,14 +194,14 @@ ${!defineifexist} PLUGIN_VOIP_EXISTS "${RELEASEDIR}\plugins\VOIP\release\VOIP.dl
|
|||||||
!ifdef PLUGIN_FEEDREADER_EXISTS
|
!ifdef PLUGIN_FEEDREADER_EXISTS
|
||||||
Section $(Section_Plugin_FeedReader) Section_Plugin_FeedReader
|
Section $(Section_Plugin_FeedReader) Section_Plugin_FeedReader
|
||||||
SetOutPath "$DataDir\extensions6"
|
SetOutPath "$DataDir\extensions6"
|
||||||
File "${RELEASEDIR}\plugins\FeedReader\release\FeedReader.dll"
|
File "${DEPLOYDIR}\Data\extensions6\FeedReader.dll"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifdef PLUGIN_VOIP_EXISTS
|
!ifdef PLUGIN_VOIP_EXISTS
|
||||||
Section $(Section_Plugin_VOIP) Section_Plugin_VOIP
|
Section $(Section_Plugin_VOIP) Section_Plugin_VOIP
|
||||||
SetOutPath "$DataDir\extensions6"
|
SetOutPath "$DataDir\extensions6"
|
||||||
File "${RELEASEDIR}\plugins\VOIP\release\VOIP.dll"
|
File "${DEPLOYDIR}\Data\extensions6\VOIP.dll"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
!endif
|
!endif
|
||||||
SectionGroupEnd
|
SectionGroupEnd
|
||||||
@ -262,14 +213,12 @@ Section $(Section_Data) Section_Data
|
|||||||
SetOverwrite on
|
SetOverwrite on
|
||||||
|
|
||||||
; Chat style
|
; Chat style
|
||||||
SetOutPath "$StyleSheetDir\stylesheets\Bubble"
|
SetOutPath "$StyleSheetDir\stylesheets"
|
||||||
File /r "${SOURCEDIR}\retroshare-gui\src\gui\qss\chat\Bubble\*.*"
|
File /r "${DEPLOYDIR}\stylesheets\*.*"
|
||||||
SetOutPath "$StyleSheetDir\stylesheets\Bubble_Compact"
|
|
||||||
File /r "${SOURCEDIR}\retroshare-gui\src\gui\qss\chat\Bubble_Compact\*.*"
|
|
||||||
|
|
||||||
; Stylesheets
|
; Stylesheets
|
||||||
SetOutPath "$INSTDIR\qss"
|
SetOutPath "$INSTDIR\qss"
|
||||||
File /r "${SOURCEDIR}\retroshare-gui\src\qss\*.*"
|
File /r "${DEPLOYDIR}\qss\*.*"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
;Section $(Section_Link) Section_Link
|
;Section $(Section_Link) Section_Link
|
||||||
@ -379,7 +328,22 @@ Section "Uninstall"
|
|||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
Function .onInit
|
Function .onInit
|
||||||
StrCpy $InstDirNormal "${INSTDIR_NORMAL}"
|
; 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 $InstDirPortable "${INSTDIR_PORTABLE}"
|
||||||
|
|
||||||
StrCpy $PortableMode 0
|
StrCpy $PortableMode 0
|
91
build_scripts/Windows-msys2/readme.md
Normal file
91
build_scripts/Windows-msys2/readme.md
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
# 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)
|
||||||
|
|
||||||
|
Setting up the build environment automatically on a 32 bit OS is not possible anymore.
|
||||||
|
You can download an older 32 bit [MSYS2 installer](https://sourceforge.net/projects/msys2/files/Base/i686/msys2-base-i686-20180531.tar.xz/download) and follow the manual setup instructions.
|
||||||
|
Building 32 bit RetroShare from the 64 bit build environment is still possible.
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
<sourcefolder>\build_scripts\Windows-msys2\build.bat
|
||||||
|
|
||||||
|
It will install all necessary tools to build RetrosShare, and build it with the default configuration.
|
||||||
|
|
||||||
|
After the script is finished, you can find the resulting .7z package here:
|
||||||
|
|
||||||
|
<sourcefolder>-msys2\deploy\
|
||||||
|
|
||||||
|
## Advanced building
|
||||||
|
|
||||||
|
You can specify extra build options if you use the scripts under:
|
||||||
|
|
||||||
|
<sourcefolder>\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 building
|
||||||
|
* 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
|
||||||
|
|
||||||
|
### Errors during MSYS2 update
|
||||||
|
MSYS2 developers recently introduced some breaking changes.
|
||||||
|
If you get PGP related errors during updating the system from pacman, then follow [their guide](https://www.msys2.org/news/#2020-06-29-new-packagers) to resolve the problems.
|
||||||
|
|
||||||
|
## Updating webui
|
||||||
|
|
||||||
|
The scripts don't update the webui source code automatically once it is checked out.
|
||||||
|
You have to do it manually with your favourite git client.
|
||||||
|
|
||||||
|
You can find the webui source code here:
|
||||||
|
|
||||||
|
<sourcefolder>-webui
|
7
build_scripts/Windows-msys2/start-clean-env.bat
Normal file
7
build_scripts/Windows-msys2/start-clean-env.bat
Normal file
@ -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
|
@ -7,7 +7,9 @@ title Build webui
|
|||||||
|
|
||||||
if not exist "%RsWebuiPath%" (
|
if not exist "%RsWebuiPath%" (
|
||||||
echo Checking out webui source into %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%"
|
git clone https://github.com/RetroShare/RSNewWebUI.git "%RsWebuiPath%"
|
||||||
) else (
|
) else (
|
||||||
echo Webui source found at %RsWebuiPath%
|
echo Webui source found at %RsWebuiPath%
|
||||||
|
21
build_scripts/Windows/build-libs/Makefile
Executable file → Normal file
21
build_scripts/Windows/build-libs/Makefile
Executable file → Normal file
@ -1,15 +1,15 @@
|
|||||||
ZLIB_VERSION=1.2.3
|
ZLIB_VERSION=1.2.3
|
||||||
BZIP2_VERSION=1.0.6
|
BZIP2_VERSION=1.0.6
|
||||||
MINIUPNPC_VERSION=2.0
|
MINIUPNPC_VERSION=2.0
|
||||||
OPENSSL_VERSION=1.0.2n
|
OPENSSL_VERSION=1.1.1g
|
||||||
SPEEX_VERSION=1.2.0
|
SPEEX_VERSION=1.2.0
|
||||||
SPEEXDSP_VERSION=1.2rc3
|
SPEEXDSP_VERSION=1.2rc3
|
||||||
OPENCV_VERSION=3.4.1
|
OPENCV_VERSION=3.4.11
|
||||||
LIBXML2_VERSION=2.9.7
|
LIBXML2_VERSION=2.9.7
|
||||||
LIBXSLT_VERSION=1.1.32
|
LIBXSLT_VERSION=1.1.32
|
||||||
CURL_VERSION=7.58.0
|
CURL_VERSION=7.58.0
|
||||||
TCL_VERSION=8.6.2
|
TCL_VERSION=8.6.10
|
||||||
SQLCIPHER_VERSION=2.2.1
|
SQLCIPHER_VERSION=4.4.0
|
||||||
LIBMICROHTTPD_VERSION=0.9.59
|
LIBMICROHTTPD_VERSION=0.9.59
|
||||||
FFMPEG_VERSION=3.4
|
FFMPEG_VERSION=3.4
|
||||||
RAPIDJSON_VERSION=1.1.0
|
RAPIDJSON_VERSION=1.1.0
|
||||||
@ -74,7 +74,7 @@ $(BUILD_PATH)/zlib-$(ZLIB_VERSION): $(DOWNLOAD_PATH)/zlib-$(ZLIB_VERSION).tar.gz
|
|||||||
bzip2: $(BUILD_PATH)/bzip2-$(BZIP2_VERSION)
|
bzip2: $(BUILD_PATH)/bzip2-$(BZIP2_VERSION)
|
||||||
|
|
||||||
$(DOWNLOAD_PATH)/bzip2-$(BZIP2_VERSION).tar.gz:
|
$(DOWNLOAD_PATH)/bzip2-$(BZIP2_VERSION).tar.gz:
|
||||||
wget http://bzip.org/$(BZIP2_VERSION)/bzip2-$(BZIP2_VERSION).tar.gz -O $(DOWNLOAD_PATH)/bzip2-$(BZIP2_VERSION).tar.gz
|
wget https://sourceforge.net/projects/bzip2/files/bzip2-$(BZIP2_VERSION).tar.gz/download -O $(DOWNLOAD_PATH)/bzip2-$(BZIP2_VERSION).tar.gz
|
||||||
|
|
||||||
$(BUILD_PATH)/bzip2-$(BZIP2_VERSION): $(DOWNLOAD_PATH)/bzip2-$(BZIP2_VERSION).tar.gz
|
$(BUILD_PATH)/bzip2-$(BZIP2_VERSION): $(DOWNLOAD_PATH)/bzip2-$(BZIP2_VERSION).tar.gz
|
||||||
# prepare
|
# prepare
|
||||||
@ -102,7 +102,7 @@ $(BUILD_PATH)/miniupnpc-$(MINIUPNPC_VERSION): $(DOWNLOAD_PATH)/miniupnpc-$(MINIU
|
|||||||
rm -r -f $(BUILD_PATH)/miniupnpc-*
|
rm -r -f $(BUILD_PATH)/miniupnpc-*
|
||||||
tar xvf $(DOWNLOAD_PATH)/miniupnpc-$(MINIUPNPC_VERSION).tar.gz
|
tar xvf $(DOWNLOAD_PATH)/miniupnpc-$(MINIUPNPC_VERSION).tar.gz
|
||||||
# build
|
# build
|
||||||
cd miniupnpc-$(MINIUPNPC_VERSION) && export CC=gcc && make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll
|
cd miniupnpc-$(MINIUPNPC_VERSION) && export CC=gcc && export PATH=.:$$PATH && make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll
|
||||||
# copy files
|
# copy files
|
||||||
mkdir -p $(BUILD_PATH)/miniupnpc-$(MINIUPNPC_VERSION).tmp/include/miniupnpc
|
mkdir -p $(BUILD_PATH)/miniupnpc-$(MINIUPNPC_VERSION).tmp/include/miniupnpc
|
||||||
cp miniupnpc-$(MINIUPNPC_VERSION)/*.h $(BUILD_PATH)/miniupnpc-$(MINIUPNPC_VERSION).tmp/include/miniupnpc/
|
cp miniupnpc-$(MINIUPNPC_VERSION)/*.h $(BUILD_PATH)/miniupnpc-$(MINIUPNPC_VERSION).tmp/include/miniupnpc/
|
||||||
@ -132,8 +132,11 @@ $(BUILD_PATH)/openssl-$(OPENSSL_VERSION): $(DOWNLOAD_PATH)/openssl-$(OPENSSL_VER
|
|||||||
mkdir -p $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/include/openssl
|
mkdir -p $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/include/openssl
|
||||||
cp openssl-$(OPENSSL_VERSION)/include/openssl/*.h $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/include/openssl/
|
cp openssl-$(OPENSSL_VERSION)/include/openssl/*.h $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/include/openssl/
|
||||||
mkdir -p $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin
|
mkdir -p $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin
|
||||||
cp openssl-$(OPENSSL_VERSION)/libeay32.dll $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin/
|
if [ $(MSYSTEM) = "MINGW32" ] ; then cp openssl-$(OPENSSL_VERSION)/libcrypto-1_1.dll $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin/ ; fi
|
||||||
cp openssl-$(OPENSSL_VERSION)/ssleay32.dll $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin/
|
if [ $(MSYSTEM) = "MINGW32" ] ; then cp openssl-$(OPENSSL_VERSION)/libcrypto-1_1.dll $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin/ ; fi
|
||||||
|
if [ $(MSYSTEM) = "MINGW32" ] ; then cp openssl-$(OPENSSL_VERSION)/libssl-1_1.dll $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin/ ; fi
|
||||||
|
if [ $(MSYSTEM) = "MINGW64" ] ; then cp openssl-$(OPENSSL_VERSION)/libcrypto-1_1-x64.dll $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin/ ; fi
|
||||||
|
if [ $(MSYSTEM) = "MINGW64" ] ; then cp openssl-$(OPENSSL_VERSION)/libssl-1_1-x64.dll $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/bin/ ; fi
|
||||||
mkdir -p $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/lib
|
mkdir -p $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/lib
|
||||||
cp openssl-$(OPENSSL_VERSION)/libcrypto.dll.a $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/lib/
|
cp openssl-$(OPENSSL_VERSION)/libcrypto.dll.a $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/lib/
|
||||||
cp openssl-$(OPENSSL_VERSION)/libssl.dll.a $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/lib/
|
cp openssl-$(OPENSSL_VERSION)/libssl.dll.a $(BUILD_PATH)/openssl-$(OPENSSL_VERSION).tmp/lib/
|
||||||
@ -202,7 +205,7 @@ $(BUILD_PATH)/opencv-$(OPENCV_VERSION): $(DOWNLOAD_PATH)/opencv-$(OPENCV_VERSION
|
|||||||
mkdir -p $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/include
|
mkdir -p $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/include
|
||||||
cp -r opencv-$(OPENCV_VERSION)/build/install/include/* $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/include/
|
cp -r opencv-$(OPENCV_VERSION)/build/install/include/* $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/include/
|
||||||
mkdir -p $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/lib/opencv
|
mkdir -p $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/lib/opencv
|
||||||
cp -r opencv-$(OPENCV_VERSION)/build/install/x86/mingw/staticlib/* $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/lib/opencv/
|
cp -r opencv-$(OPENCV_VERSION)/build/install/x64/mingw/staticlib/* $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp/lib/opencv/
|
||||||
# cleanup
|
# cleanup
|
||||||
rm -r -f opencv-$(OPENCV_VERSION)
|
rm -r -f opencv-$(OPENCV_VERSION)
|
||||||
mv $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp $(BUILD_PATH)/opencv-$(OPENCV_VERSION)
|
mv $(BUILD_PATH)/opencv-$(OPENCV_VERSION).tmp $(BUILD_PATH)/opencv-$(OPENCV_VERSION)
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
setlocal
|
setlocal
|
||||||
|
|
||||||
:: Parameter
|
:: Parameter
|
||||||
set MakeParam="DOWNLOAD_PATH=../download"
|
set MakeParam="DOWNLOAD_PATH=../../download"
|
||||||
|
|
||||||
set MakeTask=
|
set MakeTask=
|
||||||
:param_loop
|
:param_loop
|
||||||
@ -19,25 +19,29 @@ if "%~1" NEQ "" (
|
|||||||
:: Initialize environment
|
:: Initialize environment
|
||||||
call "%~dp0..\env.bat"
|
call "%~dp0..\env.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
call "%EnvPath%\env-msys.bat"
|
call "%EnvPath%\env-msys2.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
:: Check MSYS environment
|
:: Check MSYS environment
|
||||||
if not exist "%EnvMSYSSH%" %cecho% error "Please install MSYS first." & exit /B 1
|
if not exist "%EnvMSYS2SH%" %cecho% error "Please install MSYS2 first." & exit /B 1
|
||||||
|
|
||||||
:: Initialize environment
|
:: Initialize environment
|
||||||
call "%~dp0env.bat"
|
call "%~dp0env.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
:: Add tools path to PATH environment
|
call "%ToolsPath%\msys2-path.bat" "%~dp0" MSYS2CurPath
|
||||||
set PATH=%EnvToolsPath%;%PATH%
|
call "%ToolsPath%\msys2-path.bat" "%BuildLibsPath%" MSYS2BuildLibsPath
|
||||||
|
|
||||||
call "%ToolsPath%\msys-path.bat" "%~dp0" MSYSCurPath
|
|
||||||
call "%ToolsPath%\msys-path.bat" "%BuildLibsPath%" MSYSBuildLibsPath
|
|
||||||
|
|
||||||
if not exist "%BuildLibsPath%" mkdir "%BuildLibsPath%"
|
if not exist "%BuildLibsPath%" mkdir "%BuildLibsPath%"
|
||||||
|
|
||||||
%EnvMSYSCmd% "cd "%MSYSBuildLibsPath%" && make -f %MSYSCurPath%/makefile %MakeParam% %MakeTask%"
|
set MSYSTEM=MINGW%MSYS2Base%
|
||||||
|
set MSYS2_PATH_TYPE=inherit
|
||||||
|
|
||||||
|
%EnvMSYS2Cmd% "pacman --needed --noconfirm -S diffutils perl tar make wget mingw-w64-%MSYS2Architecture%-make"
|
||||||
|
::mingw-w64-%MSYS2Architecture%-cmake
|
||||||
|
::%EnvMSYS2Cmd% "pacman --noconfirm -Rd --nodeps mingw-w64-%MSYS2Architecture%-zlib"
|
||||||
|
|
||||||
|
%EnvMSYS2Cmd% "cd "%MSYS2BuildLibsPath%" && make -f %MSYS2CurPath%/makefile %MakeParam% %MakeTask%"
|
||||||
|
|
||||||
exit /B %ERRORLEVEL%
|
exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
|
@ -4,9 +4,10 @@ call "%ToolsPath%\find-in-path.bat" MinGWPath gcc.exe
|
|||||||
if "%MinGWPath%"=="" %cecho% error "Please run command in the Qt Command Prompt or add the path to MinGW bin folder to PATH variable." & exit /B 1
|
if "%MinGWPath%"=="" %cecho% error "Please run command in the Qt Command Prompt or add the path to MinGW bin folder to PATH variable." & exit /B 1
|
||||||
|
|
||||||
:: Get gcc versions
|
:: Get gcc versions
|
||||||
call "%ToolsPath%\get-gcc-version.bat" GCCVersion
|
call "%ToolsPath%\get-gcc-version.bat" GCCVersion GCCArchitecture
|
||||||
if "%GCCVersion%"=="" %cecho% error "Cannot get gcc version." & exit /B 1
|
if "%GCCVersion%"=="" %cecho% error "Cannot get gcc version." & exit /B 1
|
||||||
|
if "%GCCArchitecture%"=="" %cecho% error "Cannot get gcc architecture." & exit /B 1
|
||||||
|
|
||||||
set BuildLibsPath=%EnvRootPath%\build-libs\gcc-%GCCVersion%
|
set BuildLibsPath=%EnvRootPath%\build-libs\gcc-%GCCVersion%\%GCCArchitecture%
|
||||||
|
|
||||||
exit /B 0
|
exit /B 0
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
:: Initialize environment
|
|
||||||
call "%~dp0env.bat"
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
call "%EnvPath%\env.bat"
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
|
|
||||||
%cecho% info "Build libraries"
|
|
||||||
call "%~dp0build-libs\build-libs.bat"
|
|
||||||
if errorlevel 1 %cecho% error "Failed to build libraries." & exit /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
%cecho% info "Build %SourceName%"
|
|
||||||
call "%~dp0build\build.bat" release tor autologin plugins
|
|
||||||
if errorlevel 1 %cecho% error "Failed to build %SourceName%." & exit /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
%cecho% info "Pack %SourceName%"
|
|
||||||
call "%~dp0build\pack.bat" release tor
|
|
||||||
if errorlevel 1 %cecho% error "Failed to pack %SourceName%." & exit /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
exit /B 0
|
|
||||||
|
|
||||||
:error_env
|
|
||||||
echo Failed to initialize environment.
|
|
||||||
exit /B 1
|
|
@ -13,7 +13,8 @@ call "%~dp0build-libs\build-libs.bat"
|
|||||||
if errorlevel 1 %cecho% error "Failed to build libraries." & exit /B %ERRORLEVEL%
|
if errorlevel 1 %cecho% error "Failed to build libraries." & exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
%cecho% info "Build %SourceName%"
|
%cecho% info "Build %SourceName%"
|
||||||
call "%~dp0build\build.bat" release autologin plugins
|
call "%~dp0build\build.bat" release autologin jsonapi
|
||||||
|
rem plugins
|
||||||
if errorlevel 1 %cecho% error "Failed to build %SourceName%." & exit /B %ERRORLEVEL%
|
if errorlevel 1 %cecho% error "Failed to build %SourceName%." & exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
%cecho% info "Pack %SourceName%"
|
%cecho% info "Pack %SourceName%"
|
||||||
|
@ -21,6 +21,12 @@ if not exist "%BuildLibsPath%\libs\gcc-version" %cecho% error "Cannot get gcc ve
|
|||||||
set /P LibsGCCVersion=<"%BuildLibsPath%\libs\gcc-version"
|
set /P LibsGCCVersion=<"%BuildLibsPath%\libs\gcc-version"
|
||||||
if "%LibsGCCVersion%" NEQ "%GCCVersion%" %cecho% error "Please use correct version of external libraries. (gcc %GCCVersion% ^<^> libs %LibsGCCVersion%)." & exit /B 1
|
if "%LibsGCCVersion%" NEQ "%GCCVersion%" %cecho% error "Please use correct version of external libraries. (gcc %GCCVersion% ^<^> libs %LibsGCCVersion%)." & exit /B 1
|
||||||
|
|
||||||
|
:: Get date
|
||||||
|
call "%ToolsPath%\get-rs-date.bat" "%SourcePath%" RsDate
|
||||||
|
if errorlevel 1 %cecho% error "Could not get date."& goto error
|
||||||
|
|
||||||
|
if "%RsDate%"=="" %cecho% error "Could not get date."& goto error
|
||||||
|
|
||||||
:: Build defines for script
|
:: Build defines for script
|
||||||
set NSIS_PARAM=
|
set NSIS_PARAM=
|
||||||
|
|
||||||
@ -30,6 +36,10 @@ set NSIS_PARAM=%NSIS_PARAM% /DMINGWDIR="%MinGWPath%\.."
|
|||||||
set NSIS_PARAM=%NSIS_PARAM% /DOUTDIR="%RsPackPath%"
|
set NSIS_PARAM=%NSIS_PARAM% /DOUTDIR="%RsPackPath%"
|
||||||
set NSIS_PARAM=%NSIS_PARAM% /DINSTALLERADD="%RsArchiveAdd%"
|
set NSIS_PARAM=%NSIS_PARAM% /DINSTALLERADD="%RsArchiveAdd%"
|
||||||
set NSIS_PARAM=%NSIS_PARAM% /DEXTERNAL_LIB_DIR="%BuildLibsPath%\libs"
|
set NSIS_PARAM=%NSIS_PARAM% /DEXTERNAL_LIB_DIR="%BuildLibsPath%\libs"
|
||||||
|
set NSIS_PARAM=%NSIS_PARAM% /DARCHITECTURE="%GCCArchitecture%"
|
||||||
|
set NSIS_PARAM=%NSIS_PARAM% /DDATE="%RsDate%"
|
||||||
|
|
||||||
|
if exist "%EnvTorPath%\Tor\tor.exe" set NSIS_PARAM=%NSIS_PARAM% /DTORDIR="%EnvTorPath%\Tor"
|
||||||
|
|
||||||
:: Get compiled version
|
:: Get compiled version
|
||||||
call "%ToolsPath%\get-rs-version.bat" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
call "%ToolsPath%\get-rs-version.bat" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||||
|
@ -50,8 +50,8 @@ echo.
|
|||||||
title Build - %SourceName%-%RsBuildConfig% [qmake]
|
title Build - %SourceName%-%RsBuildConfig% [qmake]
|
||||||
|
|
||||||
set RS_QMAKE_CONFIG=%RsBuildConfig%
|
set RS_QMAKE_CONFIG=%RsBuildConfig%
|
||||||
if "%ParamVersion%"=="1" set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% version_detail_bash_script
|
|
||||||
if "%ParamAutologin%"=="1" set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% rs_autologin
|
if "%ParamAutologin%"=="1" set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% rs_autologin
|
||||||
|
if "%ParamJsonApi%"=="1" set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% rs_jsonapi
|
||||||
if "%ParamPlugins%"=="1" set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% retroshare_plugins
|
if "%ParamPlugins%"=="1" set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% retroshare_plugins
|
||||||
|
|
||||||
qmake "%SourcePath%\RetroShare.pro" -r -spec win32-g++ "CONFIG+=%RS_QMAKE_CONFIG%" "EXTERNAL_LIB_DIR=%BuildLibsPath%\libs"
|
qmake "%SourcePath%\RetroShare.pro" -r -spec win32-g++ "CONFIG+=%RS_QMAKE_CONFIG%" "EXTERNAL_LIB_DIR=%BuildLibsPath%\libs"
|
||||||
@ -63,11 +63,15 @@ echo.
|
|||||||
|
|
||||||
title Build - %SourceName%-%RsBuildConfig% [make]
|
title Build - %SourceName%-%RsBuildConfig% [make]
|
||||||
|
|
||||||
if exist "%EnvJomExe%" (
|
mingw32-make -j %CoreCount%
|
||||||
"%EnvJomExe%"
|
if errorlevel 1 goto error
|
||||||
) else (
|
|
||||||
mingw32-make
|
echo.
|
||||||
)
|
echo === Changelog
|
||||||
|
echo.
|
||||||
|
|
||||||
|
title Build - %SourceName%-%RsBuildConfig% [changelog]
|
||||||
|
call "%ToolsPath%\generate-changelog.bat" "%SourcePath%" "%RsBuildPath%\changelog.txt"
|
||||||
|
|
||||||
:error
|
:error
|
||||||
popd
|
popd
|
||||||
|
@ -3,7 +3,10 @@ set ParamRelease=0
|
|||||||
set ParamDebug=0
|
set ParamDebug=0
|
||||||
set ParamAutologin=0
|
set ParamAutologin=0
|
||||||
set ParamPlugins=0
|
set ParamPlugins=0
|
||||||
|
set ParamJsonApi=0
|
||||||
set ParamTor=0
|
set ParamTor=0
|
||||||
|
set NonInteractive=0
|
||||||
|
set CoreCount=%NUMBER_OF_PROCESSORS%
|
||||||
|
|
||||||
:parameter_loop
|
:parameter_loop
|
||||||
if "%~1" NEQ "" (
|
if "%~1" NEQ "" (
|
||||||
@ -14,10 +17,16 @@ if "%~1" NEQ "" (
|
|||||||
set ParamDebug=1
|
set ParamDebug=1
|
||||||
) else if "%%~a"=="autologin" (
|
) else if "%%~a"=="autologin" (
|
||||||
set ParamAutologin=1
|
set ParamAutologin=1
|
||||||
|
) else if "%%~a"=="jsonapi" (
|
||||||
|
set ParamJsonApi=1
|
||||||
) else if "%%~a"=="plugins" (
|
) else if "%%~a"=="plugins" (
|
||||||
set ParamPlugins=1
|
set ParamPlugins=1
|
||||||
) else if "%%~a"=="tor" (
|
) else if "%%~a"=="tor" (
|
||||||
set ParamTor=1
|
set ParamTor=1
|
||||||
|
) else if "%%~a"=="non-interactive" (
|
||||||
|
set NonInteractive=1
|
||||||
|
) else if "%%~a"=="singlethread" (
|
||||||
|
set CoreCount=1
|
||||||
) else (
|
) else (
|
||||||
echo.
|
echo.
|
||||||
echo Unknown parameter %1
|
echo Unknown parameter %1
|
||||||
@ -67,13 +76,14 @@ call "%ToolsPath%\get-qt-version.bat" QtVersion
|
|||||||
if "%QtVersion%"=="" %cecho% error "Cannot get Qt version." & exit /B 1
|
if "%QtVersion%"=="" %cecho% error "Cannot get Qt version." & exit /B 1
|
||||||
|
|
||||||
:: Get gcc versions
|
:: Get gcc versions
|
||||||
call "%ToolsPath%\get-gcc-version.bat" GCCVersion
|
call "%ToolsPath%\get-gcc-version.bat" GCCVersion GCCArchitecture
|
||||||
if "%GCCVersion%"=="" %cecho% error "Cannot get gcc version." & exit /B 1
|
if "%GCCVersion%"=="" %cecho% error "Cannot get gcc version." & exit /B 1
|
||||||
|
if "%GCCArchitecture%"=="" %cecho% error "Cannot get gcc architecture." & exit /B 1
|
||||||
|
|
||||||
set BuildLibsPath=%EnvRootPath%\build-libs\gcc-%GCCVersion%
|
set BuildLibsPath=%EnvRootPath%\build-libs\gcc-%GCCVersion%\%GCCArchitecture%
|
||||||
|
|
||||||
set RsBuildPath=%BuildPath%\Qt-%QtVersion%-%RsBuildConfig%
|
set RsBuildPath=%BuildPath%\Qt-%QtVersion%-%GCCArchitecture%-%RsBuildConfig%
|
||||||
set RsDeployPath=%DeployPath%\Qt-%QtVersion%%RsType%-%RsBuildConfig%
|
set RsDeployPath=%DeployPath%\Qt-%QtVersion%-%GCCArchitecture%%RsType%-%RsBuildConfig%
|
||||||
set RsPackPath=%DeployPath%
|
set RsPackPath=%DeployPath%
|
||||||
set RsArchiveAdd=
|
set RsArchiveAdd=
|
||||||
|
|
||||||
@ -93,9 +103,16 @@ echo release^|debug Build release or debug version
|
|||||||
echo.
|
echo.
|
||||||
echo Optional parameter (need clean when changed)
|
echo Optional parameter (need clean when changed)
|
||||||
echo autologin Build with autologin
|
echo autologin Build with autologin
|
||||||
|
echo jsonapi Build with jsonapi
|
||||||
echo plugins Build plugins
|
echo plugins Build plugins
|
||||||
echo.
|
echo.
|
||||||
|
echo Optional parameter
|
||||||
|
echo singlethread Use only 1 thread for building
|
||||||
|
echo.
|
||||||
echo Parameter for pack
|
echo Parameter for pack
|
||||||
echo tor Pack tor version
|
echo tor Pack tor version
|
||||||
echo.
|
echo.
|
||||||
|
echo Parameter for git-log
|
||||||
|
echo non-interactive Non-interactive mode
|
||||||
|
echo.
|
||||||
exit /B 2
|
exit /B 2
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
setlocal
|
setlocal
|
||||||
|
|
||||||
set NoAsk=
|
|
||||||
if "%~2"=="no-ask" set NoAsk=1
|
|
||||||
|
|
||||||
:: Initialize environment
|
:: Initialize environment
|
||||||
call "%~dp0..\env.bat"
|
call "%~dp0..\env.bat"
|
||||||
if errorlevel 1 goto error_env
|
if errorlevel 1 goto error_env
|
||||||
@ -20,48 +17,29 @@ set GitPath=
|
|||||||
call "%ToolsPath%\find-in-path.bat" GitPath git.exe
|
call "%ToolsPath%\find-in-path.bat" GitPath git.exe
|
||||||
if "%GitPath%"=="" echo Git executable not found in PATH.& exit /B 1
|
if "%GitPath%"=="" echo Git executable not found in PATH.& exit /B 1
|
||||||
|
|
||||||
:: Get compiled revision
|
|
||||||
set GetRsVersion=%SourcePath%\build_scripts\Windows\tools\get-rs-version.bat
|
|
||||||
if not exist "%GetRsVersion%" (
|
|
||||||
echo File not found
|
|
||||||
echo %GetRsVersion%
|
|
||||||
exit /B 1
|
|
||||||
)
|
|
||||||
|
|
||||||
call "%GetRsVersion%" RS_REVISION_STRING RsRevision
|
|
||||||
if "%RsRevision%"=="" echo Revision not found.& exit /B 1
|
|
||||||
|
|
||||||
:: Get compiled version
|
:: Get compiled version
|
||||||
call "%GetRsVersion%" RS_REVISION_STRING RsRevision
|
call "%ToolsPath%\get-rs-version.bat" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||||
if "%RsRevision%"=="" echo Revision not found.& exit /B 1
|
if errorlevel 1 %cecho% error "Version not found."& goto error
|
||||||
|
|
||||||
call "%GetRsVersion%" RS_MAJOR_VERSION RsMajorVersion
|
if "%RsVersion.Major%"=="" %cecho% error "Major version not found."& goto error
|
||||||
if "%RsMajorVersion%"=="" echo Major version not found.& exit /B 1
|
if "%RsVersion.Minor%"=="" %cecho% error "Minor version not found."& goto error
|
||||||
|
if "%RsVersion.Mini%"=="" %cecho% error "Mini number not found".& goto error
|
||||||
|
if "%RsVersion.Extra%"=="" %cecho% error "Extra number not found".& goto error
|
||||||
|
|
||||||
call "%GetRsVersion%" RS_MINOR_VERSION RsMinorVersion
|
set RsVersion=%RsVersion.Major%.%RsVersion.Minor%.%RsVersion.Mini%
|
||||||
if "%RsMinorVersion%"=="" echo Minor version not found.& exit /B 1
|
|
||||||
|
|
||||||
call "%GetRsVersion%" RS_BUILD_NUMBER RsBuildNumber
|
:: Get date
|
||||||
if "%RsBuildNumber%"=="" echo Build number not found.& exit /B 1
|
call "%ToolsPath%\get-rs-date.bat" "%SourcePath%" RsDate
|
||||||
|
if errorlevel 1 %cecho% error "Could not get date."& goto error
|
||||||
|
|
||||||
call "%GetRsVersion%" RS_BUILD_NUMBER_ADD RsBuildNumberAdd
|
if "%RsDate%"=="" %cecho% error "Could not get date."& goto error
|
||||||
|
|
||||||
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
|
:: Get last revision
|
||||||
set RsLastRefFile=%BuildPath%\Qt-%QtVersion%%RsType%-%RsBuildConfig%-LastRef.txt
|
set RsLastRefFile=%BuildPath%\Qt-%QtVersion%-%GCCArchitecture%%RsType%-%RsBuildConfig%-LastRef.txt
|
||||||
set RsLastRef=
|
set RsLastRef=
|
||||||
if exist "%RsLastRefFile%" set /P RsLastRef=<"%RsLastRefFile%"
|
if exist "%RsLastRefFile%" set /P RsLastRef=<"%RsLastRefFile%"
|
||||||
|
|
||||||
if "%NoAsk%"=="1" goto no_ask_for_last_revision
|
if "%NonInteractive%"=="1" goto no_ask_for_last_revision
|
||||||
if not "%RsLastRef%"=="" echo Last Revision was %RsLastRef%
|
if not "%RsLastRef%"=="" echo Last Revision was %RsLastRef%
|
||||||
set /P RsLastRefInput=Last Revision:
|
set /P RsLastRefInput=Last Revision:
|
||||||
if "%RsLastRefInput%" NEQ "" set RsLastRef=%RsLastRefInput%
|
if "%RsLastRefInput%" NEQ "" set RsLastRef=%RsLastRefInput%
|
||||||
@ -79,15 +57,15 @@ echo.
|
|||||||
echo Creating log from %RsLastRef%
|
echo Creating log from %RsLastRef%
|
||||||
echo to %RsRef%
|
echo to %RsRef%
|
||||||
|
|
||||||
if "%NoAsk%"=="1" goto no_confirm
|
if "%NonInteractive%"=="1" goto no_confirm
|
||||||
choice /M "Do you want to proceed?"
|
choice /M "Do you want to proceed?"
|
||||||
if %errorlevel%==2 exit /B 1
|
if %errorlevel%==2 exit /B 1
|
||||||
:no_confirm
|
:no_confirm
|
||||||
|
|
||||||
if "%RsBuildConfig%" NEQ "release" (
|
if "%RsBuildConfig%" NEQ "release" (
|
||||||
set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsRevision%-Qt-%QtVersion%%RsType%%RsArchiveAdd%-%RsBuildConfig%.txt
|
set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%-%GCCArchitecture%%RsType%%RsArchiveAdd%-%RsBuildConfig%.txt
|
||||||
) else (
|
) else (
|
||||||
set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsRevision%-Qt-%QtVersion%%RsType%%RsArchiveAdd%.txt
|
set RsGitLog=%DeployPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%-%GCCArchitecture%%RsType%%RsArchiveAdd%.txt
|
||||||
)
|
)
|
||||||
|
|
||||||
title %SourceName%-%RsBuildConfig% [git log]
|
title %SourceName%-%RsBuildConfig% [git log]
|
||||||
|
@ -29,16 +29,8 @@ if exist "%RsDeployPath%" rmdir /S /Q "%RsDeployPath%"
|
|||||||
:: Check compilation
|
:: Check compilation
|
||||||
if not exist "%RsBuildPath%\Makefile" echo Project is not compiled.& goto error
|
if not exist "%RsBuildPath%\Makefile" echo Project is not compiled.& goto error
|
||||||
|
|
||||||
:: Get compiled revision
|
|
||||||
set GetRsVersion=%SourcePath%\build_scripts\Windows\tools\get-rs-version.bat
|
|
||||||
if not exist "%GetRsVersion%" (
|
|
||||||
%cecho% error "File not found"
|
|
||||||
echo %GetRsVersion%
|
|
||||||
goto error
|
|
||||||
)
|
|
||||||
|
|
||||||
:: Get compiled version
|
:: Get compiled version
|
||||||
call "%GetRsVersion%" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
call "%ToolsPath%\get-rs-version.bat" "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare.exe" RsVersion
|
||||||
if errorlevel 1 %cecho% error "Version not found."& goto error
|
if errorlevel 1 %cecho% error "Version not found."& goto error
|
||||||
|
|
||||||
if "%RsVersion.Major%"=="" %cecho% error "Major version not found."& goto error
|
if "%RsVersion.Major%"=="" %cecho% error "Major version not found."& goto error
|
||||||
@ -48,18 +40,17 @@ if "%RsVersion.Extra%"=="" %cecho% error "Extra number not found".& goto error
|
|||||||
|
|
||||||
set RsVersion=%RsVersion.Major%.%RsVersion.Minor%.%RsVersion.Mini%
|
set RsVersion=%RsVersion.Major%.%RsVersion.Minor%.%RsVersion.Mini%
|
||||||
|
|
||||||
:: Check WMIC is available
|
:: Get date
|
||||||
wmic.exe alias /? >nul 2>&1 || echo WMIC is not available.&& goto error
|
call "%ToolsPath%\get-rs-date.bat" "%SourcePath%" RsDate
|
||||||
|
if errorlevel 1 %cecho% error "Could not get date."& goto error
|
||||||
|
|
||||||
:: Use WMIC to retrieve date in format YYYYMMDD
|
if "%RsDate%"=="" %cecho% error "Could not get date."& goto error
|
||||||
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%
|
|
||||||
|
|
||||||
|
rem Tor
|
||||||
if "%ParamTor%"=="1" (
|
if "%ParamTor%"=="1" (
|
||||||
:: Check for tor executable
|
:: Check for tor executable
|
||||||
if not exist "%EnvDownloadPath%\tor\Tor\tor.exe" (
|
if not exist "%EnvTorPath%\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"
|
%cecho% error "Tor binary not found. Please download Tor Expert Bundle from\nhttps://www.torproject.org/download/download.html.en\nand unpack to\n%EnvTorPath:\=\\%"
|
||||||
goto error
|
goto error
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -74,9 +65,9 @@ if "%QtMainVersion%"=="4" set QtMainVersion2=4
|
|||||||
if "%QtMainVersion%"=="5" set QtMainVersion1=5
|
if "%QtMainVersion%"=="5" set QtMainVersion1=5
|
||||||
|
|
||||||
if "%RsBuildConfig%" NEQ "release" (
|
if "%RsBuildConfig%" NEQ "release" (
|
||||||
set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%%RsType%%RsArchiveAdd%-%RsBuildConfig%.7z
|
set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%-%GCCArchitecture%%RsType%%RsArchiveAdd%-%RsBuildConfig%.7z
|
||||||
) else (
|
) else (
|
||||||
set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%%RsType%%RsArchiveAdd%.7z
|
set Archive=%RsPackPath%\RetroShare-%RsVersion%-Windows-Portable-%RsDate%-%RsVersion.Extra%-Qt-%QtVersion%-%GCCArchitecture%%RsType%%RsArchiveAdd%.7z
|
||||||
)
|
)
|
||||||
|
|
||||||
if exist "%Archive%" del /Q "%Archive%"
|
if exist "%Archive%" del /Q "%Archive%"
|
||||||
@ -98,12 +89,13 @@ mkdir "%RsDeployPath%\qss"
|
|||||||
mkdir "%RsDeployPath%\stylesheets"
|
mkdir "%RsDeployPath%\stylesheets"
|
||||||
mkdir "%RsDeployPath%\sounds"
|
mkdir "%RsDeployPath%\sounds"
|
||||||
mkdir "%RsDeployPath%\translations"
|
mkdir "%RsDeployPath%\translations"
|
||||||
|
mkdir "%RsDeployPath%\license"
|
||||||
|
|
||||||
copy nul "%RsDeployPath%\portable" %Quite%
|
copy nul "%RsDeployPath%\portable" %Quite%
|
||||||
|
|
||||||
echo copy binaries
|
echo copy binaries
|
||||||
copy "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\RetroShare*.exe" "%RsDeployPath%" %Quite%
|
copy "%RsBuildPath%\retroshare-gui\src\%RsBuildConfig%\retroshare*.exe" "%RsDeployPath%" %Quite%
|
||||||
copy "%RsBuildPath%\retroshare-nogui\src\%RsBuildConfig%\retroshare*-nogui.exe" "%RsDeployPath%" %Quite%
|
copy "%RsBuildPath%\retroshare-service\src\%RsBuildConfig%\retroshare*-service.exe" "%RsDeployPath%" %Quite%
|
||||||
|
|
||||||
echo copy extensions
|
echo copy extensions
|
||||||
for /D %%D in ("%RsBuildPath%\plugins\*") do (
|
for /D %%D in ("%RsBuildPath%\plugins\*") do (
|
||||||
@ -148,13 +140,15 @@ rmdir /S /Q "%RsDeployPath%\stylesheets\__MACOSX__Bubble" %Quite%
|
|||||||
echo copy sounds
|
echo copy sounds
|
||||||
xcopy /S "%SourcePath%\retroshare-gui\src\sounds" "%RsDeployPath%\sounds" %Quite%
|
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
|
echo copy translation
|
||||||
copy "%SourcePath%\retroshare-gui\src\translations\qt_tr.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%SourcePath%\retroshare-gui\src\translations\qt_tr.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
copy "%QtPath%\..\translations\qt_*.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%QtPath%\..\translations\qt_*.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
if "%QtMainVersion%"=="5" (
|
if "%QtMainVersion%"=="5" (
|
||||||
copy "%QtPath%\..\translations\qtbase_*.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%QtPath%\..\translations\qtbase_*.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
copy "%QtPath%\..\translations\qtscript_*.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%QtPath%\..\translations\qtscript_*.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
copy "%QtPath%\..\translations\qtquick1_*.qm" "%RsDeployPath%\translations" %Quite%
|
|
||||||
copy "%QtPath%\..\translations\qtmultimedia_*.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%QtPath%\..\translations\qtmultimedia_*.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
copy "%QtPath%\..\translations\qtxmlpatterns_*.qm" "%RsDeployPath%\translations" %Quite%
|
copy "%QtPath%\..\translations\qtxmlpatterns_*.qm" "%RsDeployPath%\translations" %Quite%
|
||||||
)
|
)
|
||||||
@ -163,7 +157,7 @@ echo copy bdboot.txt
|
|||||||
copy "%SourcePath%\libbitdht\src\bitdht\bdboot.txt" "%RsDeployPath%" %Quite%
|
copy "%SourcePath%\libbitdht\src\bitdht\bdboot.txt" "%RsDeployPath%" %Quite%
|
||||||
|
|
||||||
echo copy changelog.txt
|
echo copy changelog.txt
|
||||||
copy "%SourcePath%\retroshare-gui\src\changelog.txt" "%RsDeployPath%" %Quite%
|
copy "%RsBuildPath%\changelog.txt" "%RsDeployPath%" %Quite%
|
||||||
|
|
||||||
if exist "%SourcePath%\libresapi\src\webui" (
|
if exist "%SourcePath%\libresapi\src\webui" (
|
||||||
echo copy webui
|
echo copy webui
|
||||||
@ -173,7 +167,7 @@ if exist "%SourcePath%\libresapi\src\webui" (
|
|||||||
|
|
||||||
if "%ParamTor%"=="1" (
|
if "%ParamTor%"=="1" (
|
||||||
echo copy tor
|
echo copy tor
|
||||||
echo n | copy /-y "%EnvDownloadPath%\tor\Tor\*.*" "%RsDeployPath%" %Quite%
|
echo n | copy /-y "%EnvTorPath%\Tor\*.*" "%RsDeployPath%" %Quite%
|
||||||
)
|
)
|
||||||
|
|
||||||
rem pack files
|
rem pack files
|
||||||
|
22
build_scripts/Windows/env/env-msys.bat
vendored
22
build_scripts/Windows/env/env-msys.bat
vendored
@ -1,22 +0,0 @@
|
|||||||
:: Usage:
|
|
||||||
:: call env-msys.bat [reinstall|clean]
|
|
||||||
|
|
||||||
:: Initialize environment
|
|
||||||
call "%~dp0env.bat"
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
|
|
||||||
set EnvMSYSPath=%EnvRootPath%\msys
|
|
||||||
|
|
||||||
call "%~dp0tools\prepare-msys.bat" %1
|
|
||||||
if errorlevel 1 exit /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
set EnvMSYSSH=%EnvMSYSPath%\msys\1.0\bin\sh.exe
|
|
||||||
if not exist "%EnvMSYSSH%" if errorlevel 1 goto error_env
|
|
||||||
|
|
||||||
set EnvMSYSCmd="%EnvMSYSSH%" --login -i -c
|
|
||||||
|
|
||||||
exit /B 0
|
|
||||||
|
|
||||||
:error_env
|
|
||||||
echo Failed to initialize environment.
|
|
||||||
exit /B 1
|
|
39
build_scripts/Windows/env/env-msys2.bat
vendored
Normal file
39
build_scripts/Windows/env/env-msys2.bat
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
:: Usage:
|
||||||
|
:: call env-msys2.bat [reinstall|clean]
|
||||||
|
|
||||||
|
:: Initialize environment
|
||||||
|
call "%~dp0env.bat"
|
||||||
|
if errorlevel 1 goto error_env
|
||||||
|
|
||||||
|
rem openssl x86 doesn't compile with mingw64 x64
|
||||||
|
:: Get gcc versions
|
||||||
|
call "%ToolsPath%\get-gcc-version.bat" GCCVersion GCCArchitecture
|
||||||
|
if "%GCCVersion%"=="" %cecho% error "Cannot get gcc version." & exit /B 1
|
||||||
|
if "%GCCArchitecture%"=="" %cecho% error "Cannot get gcc architecture." & exit /B 1
|
||||||
|
|
||||||
|
rem IF DEFINED ProgramFiles(x86) (
|
||||||
|
if "%GCCArchitecture%"=="x64" (
|
||||||
|
:: x64
|
||||||
|
set MSYS2Architecture=x86_64
|
||||||
|
set MSYS2Base=64
|
||||||
|
) else (
|
||||||
|
:: x86
|
||||||
|
set MSYS2Architecture=i686
|
||||||
|
set MSYS2Base=32
|
||||||
|
)
|
||||||
|
|
||||||
|
set EnvMSYS2Path=%EnvRootPath%\msys2
|
||||||
|
|
||||||
|
call "%~dp0tools\prepare-msys2.bat" %1
|
||||||
|
if errorlevel 1 exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
|
set EnvMSYS2SH=%EnvMSYS2Path%\msys%MSYS2Base%\usr\bin\sh.exe
|
||||||
|
if not exist "%EnvMSYS2SH%" if errorlevel 1 goto error_env
|
||||||
|
|
||||||
|
set EnvMSYS2Cmd="%EnvMSYS2SH%" -lc
|
||||||
|
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:error_env
|
||||||
|
echo Failed to initialize environment.
|
||||||
|
exit /B 1
|
23
build_scripts/Windows/env/env-qt.bat
vendored
23
build_scripts/Windows/env/env-qt.bat
vendored
@ -1,23 +0,0 @@
|
|||||||
:: Usage:
|
|
||||||
:: call env-qt4.bat version [reinstall|clean]
|
|
||||||
|
|
||||||
:: Initialize environment
|
|
||||||
call "%~dp0env.bat"
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
|
|
||||||
set EnvQtBasePath=%EnvRootPath%\qt
|
|
||||||
|
|
||||||
:: Create folders
|
|
||||||
if not exist "%EnvQtBasePath%" mkdir "%EnvQtBasePath%"
|
|
||||||
|
|
||||||
call "%~dp0tools\prepare-qt.bat" %1 %2
|
|
||||||
if errorlevel 1 exit /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
if "%MinGWDir%" NEQ "" set PATH=%MinGWDir%\bin;%PATH%
|
|
||||||
if "%QtDir%" NEQ "" set PATH=%QtDir%\bin;%PATH%
|
|
||||||
|
|
||||||
exit /B 0
|
|
||||||
|
|
||||||
:error_env
|
|
||||||
echo Failed to initialize environment.
|
|
||||||
exit /B 1
|
|
6
build_scripts/Windows/env/env.bat
vendored
6
build_scripts/Windows/env/env.bat
vendored
@ -6,11 +6,9 @@ set EnvRootPath=%RootPath%\%SourceName%-env
|
|||||||
set EnvToolsPath=%EnvRootPath%\tools
|
set EnvToolsPath=%EnvRootPath%\tools
|
||||||
set EnvTempPath=%EnvRootPath%\tmp
|
set EnvTempPath=%EnvRootPath%\tmp
|
||||||
set EnvDownloadPath=%EnvRootPath%\download
|
set EnvDownloadPath=%EnvRootPath%\download
|
||||||
|
set EnvTorPath=%EnvDownloadPath%\tor
|
||||||
|
|
||||||
::set EnvCurlExe=%EnvToolsPath%\curl.exe
|
|
||||||
set EnvWgetExe=%EnvToolsPath%\wget.exe
|
|
||||||
set EnvSevenZipExe=%EnvToolsPath%\7z.exe
|
set EnvSevenZipExe=%EnvToolsPath%\7z.exe
|
||||||
set EnvJomExe=%EnvToolsPath%\jom.exe
|
|
||||||
set EnvSedExe=%EnvToolsPath%\sed.exe
|
set EnvSedExe=%EnvToolsPath%\sed.exe
|
||||||
set EnvCutExe=%EnvToolsPath%\cut.exe
|
set EnvCutExe=%EnvToolsPath%\cut.exe
|
||||||
set EnvDependsExe=%EnvToolsPath%\depends.exe
|
set EnvDependsExe=%EnvToolsPath%\depends.exe
|
||||||
@ -27,7 +25,7 @@ call "%~dp0tools\prepare-tools.bat"
|
|||||||
if errorlevel 1 exit /B %ERRORLEVEL%
|
if errorlevel 1 exit /B %ERRORLEVEL%
|
||||||
|
|
||||||
:: Add MinGit to PATH
|
:: Add MinGit to PATH
|
||||||
set PATH=%EnvToolsPath%\MinGit\cmd;%PATH%
|
set PATH=%EnvToolsPath%\MinGit\cmd;%EnvToolsPath%\cmake\bin;%PATH%
|
||||||
set HOME=%EnvToolsPath%\MinGit\home
|
set HOME=%EnvToolsPath%\MinGit\home
|
||||||
|
|
||||||
exit /B 0
|
exit /B 0
|
||||||
|
81
build_scripts/Windows/env/tools/prepare-msys.bat
vendored
81
build_scripts/Windows/env/tools/prepare-msys.bat
vendored
@ -1,81 +0,0 @@
|
|||||||
:: Usage:
|
|
||||||
:: call prepare-msys.bat [reinstall|clean]
|
|
||||||
|
|
||||||
setlocal enabledelayedexpansion
|
|
||||||
|
|
||||||
if "%EnvMSYSPath%"=="" exit /B 1
|
|
||||||
if not exist "%EnvRootPath%"=="" exit /B 1
|
|
||||||
|
|
||||||
copy "%~dp0root\update-msys.bat" "%EnvRootPath%" >nul
|
|
||||||
|
|
||||||
if "%~1"=="clean" (
|
|
||||||
%cecho% info "Clean MSYS"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvMSYSPath%"
|
|
||||||
goto exit
|
|
||||||
)
|
|
||||||
|
|
||||||
if exist "%EnvMSYSPath%\bin\mingw-get.exe" (
|
|
||||||
if "%~1"=="reinstall" (
|
|
||||||
choice /M "Found existing MSYS version. Do you want to proceed?"
|
|
||||||
if !ERRORLEVEL!==2 goto exit
|
|
||||||
) else (
|
|
||||||
goto exit
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
set MSYSInstall=mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip
|
|
||||||
set MSYSUrl=http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/%MSYSInstall%/download
|
|
||||||
set CMakeInstall=cmake-3.1.0-win32-x86.zip
|
|
||||||
set CMakeUrl=http://www.cmake.org/files/v3.1/%CMakeInstall%
|
|
||||||
set CMakeUnpackPath=%EnvMSYSPath%\msys\1.0
|
|
||||||
|
|
||||||
%cecho% info "Remove previous MSYS version"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvMSYSPath%"
|
|
||||||
|
|
||||||
%cecho% info "Download installation files"
|
|
||||||
if not exist "%EnvDownloadPath%\%MSYSInstall%" call "%ToolsPath%\download-file.bat" "%MSYSUrl%" "%EnvDownloadPath%\%MSYSInstall%"
|
|
||||||
if not exist "%EnvDownloadPath%\%MSYSInstall%" %cecho% error "Cannot download MSYS" & goto error
|
|
||||||
|
|
||||||
if not exist "%EnvDownloadPath%\%CMakeInstall%" call "%ToolsPath%\download-file.bat" "%CMakeUrl%" "%EnvDownloadPath%\%CMakeInstall%"
|
|
||||||
if not exist "%EnvDownloadPath%\%CMakeInstall%" %cecho% error "Cannot download CMake" & goto error
|
|
||||||
|
|
||||||
%cecho% info "Unpack MSYS"
|
|
||||||
"%EnvSevenZipExe%" x -o"%EnvMSYSPath%" "%EnvDownloadPath%\%MSYSInstall%"
|
|
||||||
|
|
||||||
%cecho% info "Install MSYS"
|
|
||||||
if not exist "%EnvMSYSPath%\var\lib\mingw-get\data\profile.xml" copy "%EnvMSYSPath%\var\lib\mingw-get\data\defaults.xml" "%EnvMSYSPath%\var\lib\mingw-get\data\profile.xml"
|
|
||||||
pushd "%EnvMSYSPath%\bin"
|
|
||||||
mingw-get.exe install mingw32-mingw-get
|
|
||||||
mingw-get.exe install msys-coreutils
|
|
||||||
mingw-get.exe install msys-base
|
|
||||||
mingw-get.exe install msys-autoconf
|
|
||||||
mingw-get.exe install msys-automake
|
|
||||||
mingw-get.exe install msys-autogen
|
|
||||||
mingw-get.exe install msys-mktemp
|
|
||||||
rem Use own wget binary, because MSYS version of wget is to old
|
|
||||||
rem mingw-get.exe install msys-wget
|
|
||||||
popd
|
|
||||||
|
|
||||||
%cecho% info "Unpack CMake"
|
|
||||||
"%EnvSevenZipExe%" x -o"%CMakeUnpackPath%" "%EnvDownloadPath%\%CMakeInstall%"
|
|
||||||
|
|
||||||
%cecho% info "Install CMake"
|
|
||||||
set CMakeVersion=
|
|
||||||
for /D %%F in (%CMakeUnpackPath%\cmake*) do set CMakeVersion=%%~nxF
|
|
||||||
if "%CMakeVersion%"=="" %cecho% error "CMake version not found." & goto :exit
|
|
||||||
%cecho% info "Found CMake version %CMakeVersion%"
|
|
||||||
|
|
||||||
set FoundProfile=
|
|
||||||
for /f "tokens=3" %%F in ('find /c /i "%CMakeVersion%" "%EnvMSYSPath%\msys\1.0\etc\profile"') do set FoundProfile=%%F
|
|
||||||
|
|
||||||
if "%FoundProfile%"=="0" (
|
|
||||||
echo export PATH="${PATH}:/%CMakeVersion%/bin">>"%EnvMSYSPath%\msys\1.0\etc\profile"
|
|
||||||
)
|
|
||||||
|
|
||||||
:exit
|
|
||||||
endlocal
|
|
||||||
exit /B 0
|
|
||||||
|
|
||||||
:error
|
|
||||||
endlocal
|
|
||||||
exit /B 1
|
|
85
build_scripts/Windows/env/tools/prepare-msys2.bat
vendored
Normal file
85
build_scripts/Windows/env/tools/prepare-msys2.bat
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
:: Usage:
|
||||||
|
:: call prepare-msys2.bat [reinstall|clean]
|
||||||
|
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
if "%EnvMSYS2Path%"=="" exit /B 1
|
||||||
|
if "%MSYS2Architecture%"=="" exit /B 1
|
||||||
|
if "%MSYS2Base%"=="" exit /B 1
|
||||||
|
if not exist "%EnvRootPath%"=="" exit /B 1
|
||||||
|
|
||||||
|
copy "%~dp0root\update-msys2.bat" "%EnvRootPath%" >nul
|
||||||
|
|
||||||
|
if "%~1"=="clean" (
|
||||||
|
%cecho% info "Clean MSYS2"
|
||||||
|
call "%ToolsPath%\remove-dir.bat" "%EnvMSYS2Path%"
|
||||||
|
goto exit
|
||||||
|
)
|
||||||
|
|
||||||
|
if exist "%EnvMSYS2Path%\msys%MSYS2Base%\usr\bin\pacman.exe" (
|
||||||
|
if "%~1"=="reinstall" (
|
||||||
|
choice /M "Found existing MSYS2 version. Do you want to proceed?"
|
||||||
|
if !ERRORLEVEL!==2 goto exit
|
||||||
|
) else (
|
||||||
|
goto exit
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
set MSYS2Install=msys2-base-%MSYS2Architecture%-20190524.tar.xz
|
||||||
|
set MSYS2Url=http://sourceforge.net/projects/msys2/files/Base/%MSYS2Architecture%/%MSYS2Install%/download
|
||||||
|
set CMakeInstall=cmake-3.1.0-win32-x86.zip
|
||||||
|
set CMakeUrl=http://www.cmake.org/files/v3.1/%CMakeInstall%
|
||||||
|
set CMakeUnpackPath=%EnvMSYS2Path%\msys%MSYS2Base%
|
||||||
|
|
||||||
|
if exist "%EnvMSYS2Path%\msys%MSYS2Base%" (
|
||||||
|
%cecho% info "Remove previous MSYS2 version"
|
||||||
|
call "%ToolsPath%\remove-dir.bat" "%EnvMSYS2Path%\msys%MSYS2Base%"
|
||||||
|
)
|
||||||
|
|
||||||
|
%cecho% info "Download installation files"
|
||||||
|
if not exist "%EnvDownloadPath%\%MSYS2Install%" call "%ToolsPath%\download-file.bat" "%MSYS2Url%" "%EnvDownloadPath%\%MSYS2Install%"
|
||||||
|
if not exist "%EnvDownloadPath%\%MSYS2Install%" %cecho% error "Cannot download MSYS" & goto error
|
||||||
|
|
||||||
|
if not exist "%EnvDownloadPath%\%CMakeInstall%" call "%ToolsPath%\download-file.bat" "%CMakeUrl%" "%EnvDownloadPath%\%CMakeInstall%"
|
||||||
|
if not exist "%EnvDownloadPath%\%CMakeInstall%" %cecho% error "Cannot download CMake" & goto error
|
||||||
|
|
||||||
|
%cecho% info "Unpack MSYS2"
|
||||||
|
"%EnvSevenZipExe%" x -so "%EnvDownloadPath%\%MSYS2Install%" | "%EnvSevenZipExe%" x -y -si -ttar -o"%EnvMSYS2Path%"
|
||||||
|
|
||||||
|
%cecho% info "Unpack CMake"
|
||||||
|
"%EnvSevenZipExe%" x -o"%CMakeUnpackPath%" "%EnvDownloadPath%\%CMakeInstall%"
|
||||||
|
|
||||||
|
%cecho% info "Install CMake"
|
||||||
|
set CMakeVersion=
|
||||||
|
for /D %%F in (%CMakeUnpackPath%\cmake*) do set CMakeVersion=%%~nxF
|
||||||
|
if "%CMakeVersion%"=="" %cecho% error "CMake version not found." & goto :exit
|
||||||
|
%cecho% info "Found CMake version %CMakeVersion%"
|
||||||
|
|
||||||
|
set FoundProfile=
|
||||||
|
for /f "tokens=3" %%F in ('find /c /i "%CMakeVersion%" "%EnvMSYS2Path%\msys%MSYS2Base%\etc\profile"') do set FoundProfile=%%F
|
||||||
|
|
||||||
|
if "%FoundProfile%"=="0" (
|
||||||
|
echo export PATH="${PATH}:/%CMakeVersion%/bin">>"%EnvMSYS2Path%\msys%MSYS2Base%\etc\profile"
|
||||||
|
)
|
||||||
|
|
||||||
|
set MSYS2SH=%EnvMSYS2Path%\msys%MSYS2Base%\usr\bin\sh
|
||||||
|
|
||||||
|
%cecho% info "Update keyring"
|
||||||
|
"%MSYS2SH%" -lc "curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
|
||||||
|
"%MSYS2SH%" -lc "pacman --noconfirm -U msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
|
||||||
|
|
||||||
|
%cecho% info "Initialize MSYS2"
|
||||||
|
"%MSYS2SH%" -lc "pacman -Sy"
|
||||||
|
"%MSYS2SH%" -lc "pacman --noconfirm --needed -S bash pacman pacman-mirrors msys2-runtime"
|
||||||
|
|
||||||
|
call "%EnvMSYS2Path%\msys%MSYS2Base%\autorebase.bat"
|
||||||
|
call "%EnvRootPath%\update-msys2.bat"
|
||||||
|
call "%EnvRootPath%\update-msys2.bat"
|
||||||
|
|
||||||
|
:exit
|
||||||
|
endlocal
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:error
|
||||||
|
endlocal
|
||||||
|
exit /B 1
|
204
build_scripts/Windows/env/tools/prepare-qt.bat
vendored
204
build_scripts/Windows/env/tools/prepare-qt.bat
vendored
@ -1,204 +0,0 @@
|
|||||||
:: Usage:
|
|
||||||
:: call prepare-qt.bat version [reinstall|clean]
|
|
||||||
|
|
||||||
setlocal enabledelayedexpansion
|
|
||||||
|
|
||||||
if "%EnvQtBasePath%"=="" exit /B 1
|
|
||||||
if not exist "%EnvRootPath%"=="" exit /B 1
|
|
||||||
|
|
||||||
set EnvQtVersion=%~1
|
|
||||||
if "%EnvQtVersion%"=="" (
|
|
||||||
%cecho% error "Please specify Qt version"
|
|
||||||
goto error
|
|
||||||
)
|
|
||||||
|
|
||||||
for /f "tokens=1,2 delims=." %%A in ("%EnvQtVersion%") do set EnvQtMainVersion=%%A& set EnvQtBaseVersion=%%A.%%B
|
|
||||||
set EnvQtPath=%EnvQtBasePath%\%EnvQtVersion%
|
|
||||||
|
|
||||||
if "%~2"=="clean" (
|
|
||||||
%cecho% info "Clean Qt %EnvQtVersion%"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvQtPath%"
|
|
||||||
goto exit
|
|
||||||
)
|
|
||||||
|
|
||||||
set CheckQmakeExe=
|
|
||||||
if "%EnvQtMainVersion%"=="4" (
|
|
||||||
set CheckQmakeExe=%EnvQtPath%\Qt\bin\qmake.exe
|
|
||||||
) else (
|
|
||||||
if "%EnvQtMainVersion%" GEQ "5" (
|
|
||||||
call :get_mingw_version EnvQtMinGWVersion "%EnvQtPath%\%EnvQtBaseVersion%"
|
|
||||||
if "!EnvQtMinGWVersion!" NEQ "" (
|
|
||||||
set CheckQmakeExe=%EnvQtPath%\%EnvQtBaseVersion%\!EnvQtMinGWVersion!\bin\qmake.exe
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%CheckQmakeExe%" NEQ "" (
|
|
||||||
if exist "%CheckQmakeExe%" (
|
|
||||||
if "%~2"=="reinstall" (
|
|
||||||
choice /M "Found existing Qt %EnvQtVersion% version. Do you want to proceed?"
|
|
||||||
if !ERRORLEVEL!==2 goto exit
|
|
||||||
) else (
|
|
||||||
goto exit
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
set QtInstall=qt-opensource-windows-x86-mingw-%EnvQtVersion%.exe
|
|
||||||
set QtInstallWildcard=qt-opensource-windows-x86-mingw*-%EnvQtVersion%.exe
|
|
||||||
set QtUrl=http://download.qt.io/official_releases/qt/%EnvQtBaseVersion%/%EnvQtVersion%
|
|
||||||
|
|
||||||
%cecho% info "Remove previous Qt %EnvQtVersion% version"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvQtPath%"
|
|
||||||
|
|
||||||
%cecho% info "Download Qt installation files"
|
|
||||||
if not exist "%EnvDownloadPath%\%QtInstall%" (
|
|
||||||
call "%ToolsPath%\download-file-wildcard.bat" "%QtUrl%" "%QtInstallWildcard%" "%EnvDownloadPath%" QtInstallDownload
|
|
||||||
if "!QtInstallDownload!"=="" %cecho% error "Cannot download Qt %EnvQtVersion%" & goto error
|
|
||||||
ren "%EnvDownloadPath%\!QtInstallDownload!" "%QtInstall%"
|
|
||||||
)
|
|
||||||
if not exist "%EnvDownloadPath%\%QtInstall%" %cecho% error "Cannot download Qt %EnvQtVersion%" & goto error
|
|
||||||
|
|
||||||
mkdir "%EnvQtPath%"
|
|
||||||
|
|
||||||
if "%EnvQtMainVersion%"=="4" (
|
|
||||||
rem Qt 4
|
|
||||||
goto install_qt4
|
|
||||||
)
|
|
||||||
if "%EnvQtMainVersion%" GEQ "5" (
|
|
||||||
rem Qt >= 5
|
|
||||||
goto install_qt5
|
|
||||||
)
|
|
||||||
|
|
||||||
%cecho% error "Unknown Qt version %EnvQtVersion%"
|
|
||||||
|
|
||||||
:error
|
|
||||||
endlocal & set QtDir=& set MinGWDir=
|
|
||||||
exit /B 1
|
|
||||||
|
|
||||||
:exit
|
|
||||||
set QtDir=
|
|
||||||
set MinGWDir=
|
|
||||||
|
|
||||||
if "%EnvQtMainVersion%"=="4" (
|
|
||||||
rem Qt 4
|
|
||||||
set QtDir=%EnvQtBasePath%\%EnvQtVersion%\Qt
|
|
||||||
set MinGWDir=%EnvQtBasePath%\%EnvQtVersion%\mingw32
|
|
||||||
) else (
|
|
||||||
if "%EnvQtMainVersion%" GEQ "5" (
|
|
||||||
call :get_mingw_version EnvQtToolsMinGWVersion "%EnvQtPath%\Tools"
|
|
||||||
|
|
||||||
set QtDir=%EnvQtPath%\%EnvQtBaseVersion%\!EnvQtMinGWVersion!
|
|
||||||
set MinGWDir=%EnvQtPath%\Tools\!EnvQtToolsMinGWVersion!
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
endlocal & set QtDir=%QtDir%& set MinGWDir=%MinGWDir%
|
|
||||||
exit /B 0
|
|
||||||
|
|
||||||
:get_mingw_version
|
|
||||||
setlocal enabledelayedexpansion
|
|
||||||
set Variable=%~1
|
|
||||||
set Result=
|
|
||||||
|
|
||||||
for /D %%A in (%~2\*) do set Name=%%~nA& if "!Name:~0,5!"=="mingw" set Result=!Name!
|
|
||||||
endlocal & set %Variable%=%Result%
|
|
||||||
goto :EOF
|
|
||||||
|
|
||||||
:replace
|
|
||||||
set InFile=%~1
|
|
||||||
set InFileName=%~nx1
|
|
||||||
set OutFile=%~1.tmp
|
|
||||||
set SearchText=%~2
|
|
||||||
set ReplaceText=%~3
|
|
||||||
|
|
||||||
if exist "%OutFile%" del /Q "%OutFile%"
|
|
||||||
|
|
||||||
for /f "tokens=1* delims=]" %%A in ('find /n /v ""^<%InFile%') do (
|
|
||||||
set string=%%B
|
|
||||||
|
|
||||||
if "!string!"=="" (
|
|
||||||
echo.>>%OutFile%
|
|
||||||
) else (
|
|
||||||
set modified=!string:%SearchText%=%ReplaceText%!
|
|
||||||
echo !modified!>> %OutFile%
|
|
||||||
)
|
|
||||||
)
|
|
||||||
del "%InFile%"
|
|
||||||
rename "%OutFile%" "%InFileName%"
|
|
||||||
goto :EOF
|
|
||||||
|
|
||||||
:install_qt4
|
|
||||||
set MinGWInstall=i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z
|
|
||||||
set MinGWUrl=http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/4.8.2/threads-posix/dwarf/%MinGWInstall%/download
|
|
||||||
|
|
||||||
%cecho% info "Download MinGW installation files"
|
|
||||||
if not exist "%EnvDownloadPath%\%MinGWInstall%" call "%ToolsPath%\download-file.bat" "%MinGWUrl%" "%EnvDownloadPath%\%MinGWInstall%"
|
|
||||||
if not exist "%EnvDownloadPath%\%MinGWInstall%" %cecho% error "Cannot download MinGW" & goto error
|
|
||||||
|
|
||||||
%cecho% info "Unpack Qt %EnvQtVersion%"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
mkdir "%EnvTempPath%"
|
|
||||||
"%EnvSevenZipExe%" x -o"%EnvTempPath%" "%EnvDownloadPath%\%QtInstall%" $_14_
|
|
||||||
move "%EnvTempPath%\$_14_" "%EnvQtPath%\Qt"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
|
|
||||||
%cecho% info "Unpack MinGW"
|
|
||||||
"%EnvSevenZipExe%" x -o"%EnvQtPath%" "%EnvDownloadPath%\%MinGWInstall%"
|
|
||||||
|
|
||||||
echo Prepare Qt %EnvQtVersion%
|
|
||||||
echo [Paths]>"%EnvQtPath%\Qt\bin\qt.conf"
|
|
||||||
echo Prefix=..>>"%EnvQtPath%\Qt\bin\qt.conf"
|
|
||||||
|
|
||||||
goto exit
|
|
||||||
|
|
||||||
:install_qt5
|
|
||||||
set EnvQtInstallerFrameworkVersion=2.0.3
|
|
||||||
|
|
||||||
set QtInstallerFrameworkInstall=QtInstallerFramework-%EnvQtInstallerFrameworkVersion%-win-x86.exe
|
|
||||||
set QtInstallerFrameworkUrl=http://download.qt.io/official_releases/qt-installer-framework/%EnvQtInstallerFrameworkVersion%/QtInstallerFramework-win-x86.exe
|
|
||||||
|
|
||||||
%cecho% info "Download QtInstallerFramework installation files"
|
|
||||||
if not exist "%EnvDownloadPath%\%QtInstallerFrameworkInstall%" call "%ToolsPath%\download-file.bat" "%QtInstallerFrameworkUrl%" "%EnvDownloadPath%\%QtInstallerFrameworkInstall%"
|
|
||||||
if not exist "%EnvDownloadPath%\%QtInstallerFrameworkInstall%" %cecho% error "Cannot download Qt Installer Framework %EnvQtInstallerFrameworkVersion%" & goto error
|
|
||||||
|
|
||||||
%cecho% info "Unpack Qt Installer Framework"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
mkdir "%EnvTempPath%"
|
|
||||||
"%EnvSevenZipExe%" x -o"%EnvTempPath%" "%EnvDownloadPath%\%QtInstallerFrameworkInstall%" bin\devtool.exe
|
|
||||||
move "%EnvTempPath%\bin\devtool.exe" "%EnvQtPath%"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
|
|
||||||
%cecho% info "Unpack Qt %EnvQtVersion%"
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
mkdir "%EnvTempPath%"
|
|
||||||
"%EnvQtPath%\devtool.exe" "%EnvDownloadPath%\%QtInstall%" --dump "%EnvTempPath%"
|
|
||||||
|
|
||||||
pushd "%EnvTempPath%"
|
|
||||||
del /S *vcredist*.7z
|
|
||||||
del /S *qtcreator*.7z
|
|
||||||
del /S *1installer-changelog.7z
|
|
||||||
for /R %%F in (*.7z) do "%EnvSevenZipExe%" x -y -o"%EnvQtPath%" "%%F"
|
|
||||||
popd
|
|
||||||
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
|
|
||||||
call :get_mingw_version EnvQtMinGWVersion "%EnvQtPath%\%EnvQtBaseVersion%"
|
|
||||||
|
|
||||||
%cecho% info "Prepare Qt %EnvQtVersion%"
|
|
||||||
echo [Paths]>"%EnvQtPath%\%EnvQtBaseVersion%\%EnvQtMinGWVersion%\bin\qt.conf"
|
|
||||||
echo Documentation=../../Docs/Qt-%EnvQtBaseVersion%>>"%EnvQtPath%\%EnvQtBaseVersion%\%EnvQtMinGWVersion%\bin\qt.conf"
|
|
||||||
echo Examples=../../Examples/Qt-%EnvQtBaseVersion%>>"%EnvQtPath%\%EnvQtBaseVersion%\%EnvQtMinGWVersion%\bin\qt.conf"
|
|
||||||
echo Prefix=..>>"%EnvQtPath%\%EnvQtBaseVersion%\%EnvQtMinGWVersion%\bin\qt.conf"
|
|
||||||
|
|
||||||
call :replace "%EnvQtPath%\%EnvQtBaseVersion%\%EnvQtMinGWVersion%\mkspecs\qconfig.pri" "Enterprise" "OpenSource"
|
|
||||||
|
|
||||||
for /R "%EnvQtPath%\%EnvQtBaseVersion%\%EnvQtMinGWVersion%\lib" %%A in (*.pc) do (
|
|
||||||
call :replace "%%A" "c:/Users/qt/work/install" "%EnvQtPath:\=\\%\%EnvQtBaseVersion%\\%EnvQtMinGWVersion%"
|
|
||||||
call :replace "%%A" "c:\Users\qt\work\install" "%EnvQtPath:\=/%\%EnvQtBaseVersion%/%EnvQtMinGWVersion%"
|
|
||||||
)
|
|
||||||
for /R "%EnvQtPath%\%EnvQtBaseVersion%\%EnvQtMinGWVersion%\lib" %%A in (*.prl) do (
|
|
||||||
call :replace "%%A" "c:/Users/qt/work/install" "%EnvQtPath:\=\\%\%EnvQtBaseVersion%\\%EnvQtMinGWVersion%"
|
|
||||||
call :replace "%%A" "c:\Users\qt\work\install" "%EnvQtPath:\=/%\%EnvQtBaseVersion%/%EnvQtMinGWVersion%"
|
|
||||||
)
|
|
||||||
goto exit
|
|
122
build_scripts/Windows/env/tools/prepare-tools.bat
vendored
122
build_scripts/Windows/env/tools/prepare-tools.bat
vendored
@ -4,36 +4,24 @@ if "%EnvRootPath%"=="" exit /B 1
|
|||||||
|
|
||||||
set CEchoUrl=https://github.com/lordmulder/cecho/releases/download/2015-10-10/cecho.2015-10-10.zip
|
set CEchoUrl=https://github.com/lordmulder/cecho/releases/download/2015-10-10/cecho.2015-10-10.zip
|
||||||
set CEchoInstall=cecho.2015-10-10.zip
|
set CEchoInstall=cecho.2015-10-10.zip
|
||||||
set SevenZipUrl=https://sourceforge.net/projects/sevenzip/files/7-Zip/18.05/7z1805.msi/download
|
set SevenZipUrl=https://sourceforge.net/projects/sevenzip/files/7-Zip/19.00/7z1900.msi/download
|
||||||
set SevenZipInstall=7z1805.msi
|
set SevenZipInstall=7z1900.msi
|
||||||
::set CurlUrl=https://bintray.com/artifact/download/vszakats/generic/curl-7.50.1-win32-mingw.7z
|
|
||||||
::set CurlInstall=curl-7.50.1-win32-mingw.7z
|
|
||||||
set WgetUrl=https://eternallybored.org/misc/wget/1.19.4/32/wget.exe
|
|
||||||
set WgetInstall=wget.exe
|
|
||||||
set JomUrl=http://download.qt.io/official_releases/jom/jom.zip
|
|
||||||
set JomInstall=jom.zip
|
|
||||||
set DependsUrl=http://www.dependencywalker.com/depends22_x86.zip
|
set DependsUrl=http://www.dependencywalker.com/depends22_x86.zip
|
||||||
set DependsInstall=depends22_x86.zip
|
set DependsInstall=depends22_x86.zip
|
||||||
set UnixToolsUrl=http://unxutils.sourceforge.net/UnxUpdates.zip
|
set UnixToolsUrl=http://unxutils.sourceforge.net/UnxUpdates.zip
|
||||||
set UnixToolsInstall=UnxUpdates.zip
|
set UnixToolsInstall=UnxUpdates.zip
|
||||||
set NSISUrl=http://prdownloads.sourceforge.net/nsis/nsis-3.0-setup.exe?download
|
set NSISInstall=nsis-3.05-setup.exe
|
||||||
set NSISInstall=nsis-3.0-setup.exe
|
set NSISUrl=http://prdownloads.sourceforge.net/nsis/%NSISInstall%?download
|
||||||
set NSISInstallPath=%EnvToolsPath%\NSIS
|
set NSISInstallPath=%EnvToolsPath%\NSIS
|
||||||
set MinGitInstall=MinGit-2.19.1-32-bit.zip
|
set MinGitInstall=MinGit-2.28.0-32-bit.zip
|
||||||
set MinGitUrl=https://github.com/git-for-windows/git/releases/download/v2.19.1.windows.1/%MinGitInstall%
|
set MinGitUrl=https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/%MinGitInstall%
|
||||||
set MinGitInstallPath=%EnvToolsPath%\MinGit
|
set MinGitInstallPath=%EnvToolsPath%\MinGit
|
||||||
set SigcheckInstall=Sigcheck.zip
|
set CMakeVersion=cmake-3.1.0-win32-x86
|
||||||
set SigcheckUrl=https://download.sysinternals.com/files/%SigcheckInstall%
|
set CMakeInstall=%CMakeVersion%.zip
|
||||||
|
set CMakeUrl=http://www.cmake.org/files/v3.1/%CMakeInstall%
|
||||||
if not exist "%EnvToolsPath%\wget.exe" (
|
set CMakeInstallPath=%EnvToolsPath%\cmake
|
||||||
echo Download Wget installation
|
set TorProjectUrl=https://www.torproject.org
|
||||||
|
set TorDownloadIndexUrl=%TorProjectUrl%/download/tor
|
||||||
if not exist "%EnvDownloadPath%\%WgetInstall%" call "%ToolsPath%\winhttpjs.bat" %WgetUrl% -saveTo "%EnvDownloadPath%\%WgetInstall%"
|
|
||||||
if not exist "%EnvDownloadPath%\%WgetInstall%" %cecho% error "Cannot download Wget installation" & goto error
|
|
||||||
|
|
||||||
echo Copy Wget
|
|
||||||
copy "%EnvDownloadPath%\wget.exe" "%EnvToolsPath%"
|
|
||||||
)
|
|
||||||
|
|
||||||
if not exist "%EnvToolsPath%\7z.exe" (
|
if not exist "%EnvToolsPath%\7z.exe" (
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
@ -68,45 +56,13 @@ if not exist "%EnvToolsPath%\cecho.exe" (
|
|||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
)
|
)
|
||||||
|
|
||||||
::if not exist "%EnvToolsPath%\curl.exe" (
|
|
||||||
:: call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
:: mkdir "%EnvTempPath%"
|
|
||||||
::
|
|
||||||
:: echo Download Curl installation
|
|
||||||
::
|
|
||||||
:: if not exist "%EnvDownloadPath%\%CurlInstall%" call "%ToolsPath%\winhttpjs.bat" %CurlUrl% -saveTo "%EnvDownloadPath%\%CurlInstall%"
|
|
||||||
:: if not exist "%EnvDownloadPath%\%CurlInstall%" echo Cannot download Curl installation& goto error
|
|
||||||
::
|
|
||||||
:: echo Unpack Curl
|
|
||||||
:: "%EnvSevenZipExe%" x -o"%EnvTempPath%" "%EnvDownloadPath%\%CurlInstall%"
|
|
||||||
:: copy "%EnvTempPath%\curl-7.50.1-win32-mingw\bin\curl.exe" "%EnvToolsPath%"
|
|
||||||
::
|
|
||||||
:: call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
::)
|
|
||||||
|
|
||||||
if not exist "%EnvToolsPath%\jom.exe" (
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
mkdir "%EnvTempPath%"
|
|
||||||
|
|
||||||
%cecho% info "Download jom installation"
|
|
||||||
|
|
||||||
if not exist "%EnvDownloadPath%\%JomInstall%" call "%ToolsPath%\winhttpjs.bat" %JomUrl% -saveTo "%EnvDownloadPath%\%JomInstall%"
|
|
||||||
if not exist "%EnvDownloadPath%\%JomInstall%" %cecho% error "Cannot download jom installation" & goto error
|
|
||||||
|
|
||||||
%cecho% info "Unpack jom"
|
|
||||||
"%EnvSevenZipExe%" x -o"%EnvTempPath%" "%EnvDownloadPath%\%JomInstall%"
|
|
||||||
copy "%EnvTempPath%\jom.exe" "%EnvToolsPath%"
|
|
||||||
|
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
|
||||||
)
|
|
||||||
|
|
||||||
if not exist "%EnvToolsPath%\depends.exe" (
|
if not exist "%EnvToolsPath%\depends.exe" (
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
mkdir "%EnvTempPath%"
|
mkdir "%EnvTempPath%"
|
||||||
|
|
||||||
%cecho% info "Download Dependency Walker installation"
|
%cecho% info "Download Dependency Walker installation"
|
||||||
|
|
||||||
if not exist "%EnvDownloadPath%\%DependsInstall%" call "%ToolsPath%\winhttpjs.bat" %DependsUrl% -saveTo "%EnvDownloadPath%\%DependsInstall%"
|
if not exist "%EnvDownloadPath%\%DependsInstall%" call "%ToolsPath%\download-file.bat" %DependsUrl% "%EnvDownloadPath%\%DependsInstall%"
|
||||||
if not exist "%EnvDownloadPath%\%DependsInstall%" %cecho% error "Cannot download Dependendy Walker installation" & goto error
|
if not exist "%EnvDownloadPath%\%DependsInstall%" %cecho% error "Cannot download Dependendy Walker installation" & goto error
|
||||||
|
|
||||||
%cecho% info "Unpack Dependency Walker"
|
%cecho% info "Unpack Dependency Walker"
|
||||||
@ -122,7 +78,7 @@ if not exist "%EnvToolsPath%\cut.exe" (
|
|||||||
|
|
||||||
%cecho% info "Download Unix Tools installation"
|
%cecho% info "Download Unix Tools installation"
|
||||||
|
|
||||||
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" call "%ToolsPath%\winhttpjs.bat" %UnixToolsUrl% -saveTo "%EnvDownloadPath%\%UnixToolsInstall%"
|
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" call "%ToolsPath%\download-file.bat" %UnixToolsUrl% "%EnvDownloadPath%\%UnixToolsInstall%"
|
||||||
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" %cecho% error "Cannot download Unix Tools installation" & goto error
|
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" %cecho% error "Cannot download Unix Tools installation" & goto error
|
||||||
|
|
||||||
%cecho% info "Unpack Unix Tools"
|
%cecho% info "Unpack Unix Tools"
|
||||||
@ -138,7 +94,7 @@ if not exist "%EnvToolsPath%\sed.exe" (
|
|||||||
|
|
||||||
%cecho% info "Download Unix Tools installation"
|
%cecho% info "Download Unix Tools installation"
|
||||||
|
|
||||||
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" call "%ToolsPath%\winhttpjs.bat" %UnixToolsUrl% -saveTo "%EnvDownloadPath%\%UnixToolsInstall%"
|
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" call "%ToolsPath%\download-file.bat" %UnixToolsUrl% "%EnvDownloadPath%\%UnixToolsInstall%"
|
||||||
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" %cecho% error "Cannot download Unix Tools installation" & goto error
|
if not exist "%EnvDownloadPath%\%UnixToolsInstall%" %cecho% error "Cannot download Unix Tools installation" & goto error
|
||||||
|
|
||||||
%cecho% info "Unpack Unix Tools"
|
%cecho% info "Unpack Unix Tools"
|
||||||
@ -148,8 +104,12 @@ if not exist "%EnvToolsPath%\sed.exe" (
|
|||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if not exist "%EnvDownloadPath%\%NSISInstall%" call "%ToolsPath%\remove-dir.bat" "%NSISInstallPath%"
|
||||||
if not exist "%NSISInstallPath%\nsis.exe" (
|
if not exist "%NSISInstallPath%\nsis.exe" (
|
||||||
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
|
|
||||||
|
if exist "%NSISInstallPath%" call "%ToolsPath%\remove-dir.bat" "%NSISInstallPath%"
|
||||||
|
|
||||||
mkdir "%EnvTempPath%"
|
mkdir "%EnvTempPath%"
|
||||||
|
|
||||||
%cecho% info "Download NSIS installation"
|
%cecho% info "Download NSIS installation"
|
||||||
@ -175,14 +135,45 @@ if not exist "%MinGitInstallPath%\cmd\git.exe" (
|
|||||||
"%EnvSevenZipExe%" x -o"%MinGitInstallPath%" "%EnvDownloadPath%\%MinGitInstall%"
|
"%EnvSevenZipExe%" x -o"%MinGitInstallPath%" "%EnvDownloadPath%\%MinGitInstall%"
|
||||||
)
|
)
|
||||||
|
|
||||||
if not exist "%EnvToolsPath%\sigcheck.exe" (
|
if not exist "%EnvDownloadPath%\%CMakeInstall%" call "%ToolsPath%\remove-dir.bat" "%CMakeInstallPath%"
|
||||||
%cecho% info "Download Sigcheck installation"
|
if not exist "%CMakeInstallPath%\bin\cmake.exe" (
|
||||||
|
%cecho% info "Download CMake installation"
|
||||||
|
|
||||||
if not exist "%EnvDownloadPath%\%SigcheckInstall%" call "%ToolsPath%\download-file.bat" "%SigcheckUrl%" "%EnvDownloadPath%\%SigcheckInstall%"
|
if exist "%CMakeInstallPath%" call "%ToolsPath%\remove-dir.bat" "%CMakeInstallPath%"
|
||||||
if not exist "%EnvDownloadPath%\%SigcheckInstall%" %cecho% error "Cannot download Sigcheck installation" & goto error
|
|
||||||
|
|
||||||
%cecho% info "Unpack Sigcheck"
|
mkdir "%EnvTempPath%"
|
||||||
"%EnvSevenZipExe%" x -o"%EnvToolsPath%" "%EnvDownloadPath%\%SigcheckInstall%" sigcheck.exe
|
|
||||||
|
if not exist "%EnvDownloadPath%\%CMakeInstall%" call "%ToolsPath%\download-file.bat" "%CMakeUrl%" "%EnvDownloadPath%\%CMakeInstall%"
|
||||||
|
if not exist "%EnvDownloadPath%\%CMakeInstall%" %cecho% error "Cannot download CMake installation" & goto error
|
||||||
|
|
||||||
|
%cecho% info "Unpack CMake"
|
||||||
|
"%EnvSevenZipExe%" x -o"%EnvTempPath%" "%EnvDownloadPath%\%CMakeInstall%"
|
||||||
|
|
||||||
|
move "%EnvTempPath%\%CMakeVersion%" "%CMakeInstallPath%"
|
||||||
|
|
||||||
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
|
)
|
||||||
|
|
||||||
|
rem Tor
|
||||||
|
rem Get download link and filename from download page
|
||||||
|
mkdir "%EnvTempPath%"
|
||||||
|
call "%ToolsPath%\download-file.bat" "%TorDownloadIndexUrl%" "%EnvTempPath%\index.html"
|
||||||
|
if not exist "%EnvTempPath%\index.html" %cecho% error "Cannot download Tor installation" & goto error
|
||||||
|
|
||||||
|
for /F "tokens=1,2 delims= " %%A in ('%EnvSedExe% -r -n -e"s/.*href=\"^(.*^)^(tor-win32.*\.zip^)\".*/\2 \1\2/p" "%EnvTempPath%\index.html"') do set TorInstall=%%A& set TorDownloadUrl=%TorProjectUrl%%%B
|
||||||
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
|
if "%TorInstall%"=="" %cecho% error "Cannot download Tor installation" & goto error
|
||||||
|
if "%TorDownloadUrl%"=="" %cecho% error "Cannot download Tor installation" & goto error
|
||||||
|
|
||||||
|
if not exist "%EnvDownloadPath%\%TorInstall%" call "%ToolsPath%\remove-dir.bat" "%EnvTorPath%"
|
||||||
|
if not exist "%EnvTorPath%\Tor\tor.exe" (
|
||||||
|
%cecho% info "Download Tor installation"
|
||||||
|
|
||||||
|
if not exist "%EnvDownloadPath%\%TorInstall%" call "%ToolsPath%\download-file.bat" "%TorDownloadUrl%" "%EnvDownloadPath%\%TorInstall%"
|
||||||
|
if not exist "%EnvDownloadPath%\%TorInstall%" %cecho% error "Cannot download Tor installation" & goto error
|
||||||
|
|
||||||
|
%cecho% info "Unpack Tor"
|
||||||
|
"%EnvSevenZipExe%" x -o"%EnvTorPath%" "%EnvDownloadPath%\%TorInstall%"
|
||||||
)
|
)
|
||||||
|
|
||||||
:exit
|
:exit
|
||||||
@ -190,5 +181,6 @@ endlocal
|
|||||||
exit /B 0
|
exit /B 0
|
||||||
|
|
||||||
:error
|
:error
|
||||||
|
call "%ToolsPath%\remove-dir.bat" "%EnvTempPath%"
|
||||||
endlocal
|
endlocal
|
||||||
exit /B 1
|
exit /B 1
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
set MSYSPath=%~dp0msys
|
|
||||||
|
|
||||||
if not exist "%MSYSPath%\bin\mingw-get.exe" echo MSYS is not installed& exit /B 0
|
|
||||||
|
|
||||||
echo Update MSYS
|
|
||||||
pushd "%MSYSPath%\bin"
|
|
||||||
mingw-get.exe update
|
|
||||||
mingw-get.exe upgrade
|
|
||||||
popd
|
|
||||||
|
|
||||||
exit /B %ERRORLEVEL%
|
|
19
build_scripts/Windows/env/tools/root/update-msys2.bat
vendored
Normal file
19
build_scripts/Windows/env/tools/root/update-msys2.bat
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
if exist "%~dp0msys2\msys32" call :update 32
|
||||||
|
if exist "%~dp0msys2\msys64" call :update 64
|
||||||
|
|
||||||
|
goto :EOF
|
||||||
|
|
||||||
|
:update
|
||||||
|
set MSYSSH=%~dp0msys2\msys%~1\usr\bin\sh
|
||||||
|
|
||||||
|
echo Update MSYS2 %~1
|
||||||
|
"%MSYSSH%" -lc "pacman -Sy"
|
||||||
|
"%MSYSSH%" -lc "pacman --noconfirm -Su"
|
||||||
|
|
||||||
|
:exit
|
||||||
|
endlocal
|
||||||
|
goto :EOF
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Instal·la ${APPNAME} i els components necessaris."
|
!insertmacro LANG_STRING Section_Main_Desc "Instal·la ${APPNAME} i els components necessaris."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Pells"
|
!insertmacro LANG_STRING Section_Data "Pells"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Instal·la 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 "Icones d'accés directe"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Installiert ${APPNAME} und die benötigten Komponenten."
|
!insertmacro LANG_STRING Section_Main_Desc "Installiert ${APPNAME} und die benötigten Komponenten."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installiert Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Skins"
|
!insertmacro LANG_STRING Section_Data "Skins"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Skins installieren."
|
!insertmacro LANG_STRING Section_Data_Desc "Skins installieren."
|
||||||
!insertmacro LANG_STRING Section_Shortcuts "Verknüpfungssymbole"
|
!insertmacro LANG_STRING Section_Shortcuts "Verknüpfungssymbole"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components."
|
!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Skins"
|
!insertmacro LANG_STRING Section_Data "Skins"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Installs skins."
|
!insertmacro LANG_STRING Section_Data_Desc "Installs skins."
|
||||||
!insertmacro LANG_STRING Section_Shortcuts "Shortcut icons"
|
!insertmacro LANG_STRING Section_Shortcuts "Shortcut icons"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Instala ${APPNAME} y los componentes requeridos."
|
!insertmacro LANG_STRING Section_Main_Desc "Instala ${APPNAME} y los componentes requeridos."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Coberturas (skins)"
|
!insertmacro LANG_STRING Section_Data "Coberturas (skins)"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Instalar coberturas"
|
!insertmacro LANG_STRING Section_Data_Desc "Instalar coberturas"
|
||||||
!insertmacro LANG_STRING Section_Shortcuts "Iconos de accesos directos"
|
!insertmacro LANG_STRING Section_Shortcuts "Iconos de accesos directos"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Installe ${APPNAME} et les composants requis."
|
!insertmacro LANG_STRING Section_Main_Desc "Installe ${APPNAME} et les composants requis."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Habillages"
|
!insertmacro LANG_STRING Section_Data "Habillages"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Installe des habillages."
|
!insertmacro LANG_STRING Section_Data_Desc "Installe des habillages."
|
||||||
!insertmacro LANG_STRING Section_Shortcuts "Icônes de raccourci"
|
!insertmacro LANG_STRING Section_Shortcuts "Icônes de raccourci"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Instaluje ${APPNAME} oraz wymagane komponenty."
|
!insertmacro LANG_STRING Section_Main_Desc "Instaluje ${APPNAME} oraz wymagane komponenty."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Skórki"
|
!insertmacro LANG_STRING Section_Data "Skórki"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Instaluje 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 "Ikony skrótów"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Установка ${APPNAME} и необходимых компонентов."
|
!insertmacro LANG_STRING Section_Main_Desc "Установка ${APPNAME} и необходимых компонентов."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Оболочки"
|
!insertmacro LANG_STRING Section_Data "Оболочки"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Установка оболочек."
|
!insertmacro LANG_STRING Section_Data_Desc "Установка оболочек."
|
||||||
!insertmacro LANG_STRING Section_Shortcuts "Ярлыки"
|
!insertmacro LANG_STRING Section_Shortcuts "Ярлыки"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "${APPNAME} ve gerekli bileşenleri kurar."
|
!insertmacro LANG_STRING Section_Main_Desc "${APPNAME} ve gerekli bileşenleri kurar."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "Temalar"
|
!insertmacro LANG_STRING Section_Data "Temalar"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "Tema yükleyin."
|
!insertmacro LANG_STRING Section_Data_Desc "Tema yükleyin."
|
||||||
!insertmacro LANG_STRING Section_Shortcuts "Kısayol simgeleri"
|
!insertmacro LANG_STRING Section_Shortcuts "Kısayol simgeleri"
|
||||||
|
@ -8,6 +8,20 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Tor</name>
|
||||||
|
<message>
|
||||||
|
<source>Tor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Section_Tor_Desc</name>
|
||||||
|
<message>
|
||||||
|
<source>Installs Tor.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Section_Data</name>
|
<name>Section_Data</name>
|
||||||
<message>
|
<message>
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
!insertmacro LANG_STRING Section_Main "${APPNAME}"
|
||||||
!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components."
|
!insertmacro LANG_STRING Section_Main_Desc "Installs ${APPNAME} and required components."
|
||||||
|
!insertmacro LANG_STRING Section_Tor "Tor"
|
||||||
|
!insertmacro LANG_STRING Section_Tor_Desc "Installs Tor."
|
||||||
!insertmacro LANG_STRING Section_Data "皮肤"
|
!insertmacro LANG_STRING Section_Data "皮肤"
|
||||||
!insertmacro LANG_STRING Section_Data_Desc "安装皮肤"
|
!insertmacro LANG_STRING Section_Data_Desc "安装皮肤"
|
||||||
!insertmacro LANG_STRING Section_Shortcuts "快捷方式图标"
|
!insertmacro LANG_STRING Section_Shortcuts "快捷方式图标"
|
||||||
|
@ -22,6 +22,9 @@
|
|||||||
!ifndef MINGWDIR
|
!ifndef MINGWDIR
|
||||||
!error "MINGWDIR is not defined"
|
!error "MINGWDIR is not defined"
|
||||||
!endif
|
!endif
|
||||||
|
!ifndef ARCHITECTURE
|
||||||
|
!error "Architecture is not defined"
|
||||||
|
!endif
|
||||||
|
|
||||||
# Check optional defines
|
# Check optional defines
|
||||||
!ifdef OUTDIR
|
!ifdef OUTDIR
|
||||||
@ -53,7 +56,17 @@
|
|||||||
!endif
|
!endif
|
||||||
|
|
||||||
# Date
|
# Date
|
||||||
!define /date Date "%Y%m%d"
|
!ifndef DATE
|
||||||
|
!define /date DATE "%Y%m%d"
|
||||||
|
!endif
|
||||||
|
|
||||||
|
# Tor
|
||||||
|
!ifdef TORDIR
|
||||||
|
${!defineifexist} TOR_EXISTS "${TORDIR}\tor.exe"
|
||||||
|
!ifndef TOR_EXISTS
|
||||||
|
!error "tor.exe not found"
|
||||||
|
!endif
|
||||||
|
!endif
|
||||||
|
|
||||||
# Application name and version
|
# Application name and version
|
||||||
!define APPNAME "RetroShare"
|
!define APPNAME "RetroShare"
|
||||||
@ -61,7 +74,12 @@
|
|||||||
!define PUBLISHER "RetroShare Team"
|
!define PUBLISHER "RetroShare Team"
|
||||||
|
|
||||||
# Install path
|
# Install path
|
||||||
!define INSTDIR_NORMAL "$ProgramFiles\${APPNAME}"
|
!if ${ARCHITECTURE} == "x86"
|
||||||
|
!define INSTDIR_NORMAL "$ProgramFiles32\${APPNAME}"
|
||||||
|
!endif
|
||||||
|
!if ${ARCHITECTURE} == "x64"
|
||||||
|
!define INSTDIR_NORMAL "$ProgramFiles64\${APPNAME}"
|
||||||
|
!endif
|
||||||
!define INSTDIR_PORTABLE "$Desktop\${APPNAME}"
|
!define INSTDIR_PORTABLE "$Desktop\${APPNAME}"
|
||||||
|
|
||||||
!define DATADIR_NORMAL "$APPDATA\${APPNAME}"
|
!define DATADIR_NORMAL "$APPDATA\${APPNAME}"
|
||||||
@ -70,7 +88,7 @@
|
|||||||
# Main Install settings
|
# Main Install settings
|
||||||
Name "${APPNAMEANDVERSION}"
|
Name "${APPNAMEANDVERSION}"
|
||||||
InstallDirRegKey HKLM "Software\${APPNAME}" ""
|
InstallDirRegKey HKLM "Software\${APPNAME}" ""
|
||||||
OutFile "${OUTDIR_}RetroShare-${VERSION}-${Date}-${REVISION}-Qt-${QTVERSION}${INSTALLERADD}-setup.exe"
|
OutFile "${OUTDIR_}RetroShare-${VERSION}-${DATE}-${REVISION}-Qt-${QTVERSION}-${ARCHITECTURE}${INSTALLERADD}-setup.exe"
|
||||||
BrandingText "${APPNAMEANDVERSION}"
|
BrandingText "${APPNAMEANDVERSION}"
|
||||||
RequestExecutionlevel highest
|
RequestExecutionlevel highest
|
||||||
# Use compression
|
# Use compression
|
||||||
@ -104,7 +122,7 @@ Var StyleSheetDir
|
|||||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\retroshare.exe"
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\retroshare.exe"
|
||||||
!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt
|
!define MUI_FINISHPAGE_SHOWREADME $INSTDIR\changelog.txt
|
||||||
!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt
|
!define MUI_FINISHPAGE_SHOWREADME_TEXT changelog.txt
|
||||||
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
;!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
|
||||||
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
|
||||||
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
|
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
|
||||||
;!define MUI_LANGDLL_REGISTRY_ROOT HKLM
|
;!define MUI_LANGDLL_REGISTRY_ROOT HKLM
|
||||||
@ -175,7 +193,7 @@ Section $(Section_Main) Section_Main
|
|||||||
; Main binaries
|
; Main binaries
|
||||||
SetOutPath "$INSTDIR"
|
SetOutPath "$INSTDIR"
|
||||||
File /oname=retroshare.exe "${RELEASEDIR}\retroshare-gui\src\release\retroshare.exe"
|
File /oname=retroshare.exe "${RELEASEDIR}\retroshare-gui\src\release\retroshare.exe"
|
||||||
File /oname=retroshare-nogui.exe "${RELEASEDIR}\retroshare-nogui\src\release\retroshare-nogui.exe"
|
File /oname=retroshare-service.exe "${RELEASEDIR}\retroshare-service\src\release\retroshare-service.exe"
|
||||||
|
|
||||||
; Qt binaries
|
; Qt binaries
|
||||||
File "${QTDIR}\bin\Qt5Core.dll"
|
File "${QTDIR}\bin\Qt5Core.dll"
|
||||||
@ -202,18 +220,33 @@ Section $(Section_Main) Section_Main
|
|||||||
; MinGW binaries
|
; MinGW binaries
|
||||||
SetOutPath "$INSTDIR"
|
SetOutPath "$INSTDIR"
|
||||||
File "${MINGWDIR}\bin\libstdc++-6.dll"
|
File "${MINGWDIR}\bin\libstdc++-6.dll"
|
||||||
File "${MINGWDIR}\bin\libgcc_s_dw2-1.dll"
|
!if ${ARCHITECTURE} == "x86"
|
||||||
|
File "${MINGWDIR}\bin\libgcc_s_dw2-1.dll"
|
||||||
|
!endif
|
||||||
|
!if ${ARCHITECTURE} == "x64"
|
||||||
|
File "${MINGWDIR}\bin\libgcc_s_seh-1.dll"
|
||||||
|
!endif
|
||||||
File "${MINGWDIR}\bin\libwinpthread-1.dll"
|
File "${MINGWDIR}\bin\libwinpthread-1.dll"
|
||||||
|
|
||||||
; External binaries
|
; External binaries
|
||||||
File "${EXTERNAL_LIB_DIR}\bin\miniupnpc.dll"
|
File "${EXTERNAL_LIB_DIR}\bin\miniupnpc.dll"
|
||||||
File "${EXTERNAL_LIB_DIR}\bin\libeay32.dll"
|
!if ${ARCHITECTURE} == "x86"
|
||||||
File "${EXTERNAL_LIB_DIR}\bin\ssleay32.dll"
|
File "${EXTERNAL_LIB_DIR}\bin\libcrypto-1_1.dll"
|
||||||
|
File "${EXTERNAL_LIB_DIR}\bin\libssl-1_1.dll"
|
||||||
|
!endif
|
||||||
|
!if ${ARCHITECTURE} == "x64"
|
||||||
|
File "${EXTERNAL_LIB_DIR}\bin\libcrypto-1_1-x64.dll"
|
||||||
|
File "${EXTERNAL_LIB_DIR}\bin\libssl-1_1-x64.dll"
|
||||||
|
!endif
|
||||||
|
|
||||||
; Other files
|
; Other files
|
||||||
File "${SOURCEDIR}\retroshare-gui\src\changelog.txt"
|
File "${RELEASEDIR}\changelog.txt"
|
||||||
File "${SOURCEDIR}\libbitdht\src\bitdht\bdboot.txt"
|
File "${SOURCEDIR}\libbitdht\src\bitdht\bdboot.txt"
|
||||||
|
|
||||||
|
; License
|
||||||
|
SetOutPath "$INSTDIR\license"
|
||||||
|
File "${SOURCEDIR}\retroshare-gui\src\license\*.*"
|
||||||
|
|
||||||
; Image formats
|
; Image formats
|
||||||
SetOutPath "$INSTDIR\imageformats"
|
SetOutPath "$INSTDIR\imageformats"
|
||||||
File /r "${QTDIR}\plugins\imageformats\qgif.dll"
|
File /r "${QTDIR}\plugins\imageformats\qgif.dll"
|
||||||
@ -236,19 +269,26 @@ Section $(Section_Main) Section_Main
|
|||||||
File /r "${QTDIR}\translations\qt_*.qm"
|
File /r "${QTDIR}\translations\qt_*.qm"
|
||||||
File /r "${QTDIR}\translations\qtbase_*.qm"
|
File /r "${QTDIR}\translations\qtbase_*.qm"
|
||||||
File /r "${QTDIR}\translations\qtscript_*.qm"
|
File /r "${QTDIR}\translations\qtscript_*.qm"
|
||||||
File /r "${QTDIR}\translations\qtquick1_*.qm"
|
|
||||||
File /r "${QTDIR}\translations\qtmultimedia_*.qm"
|
File /r "${QTDIR}\translations\qtmultimedia_*.qm"
|
||||||
File /r "${QTDIR}\translations\qtxmlpatterns_*.qm"
|
File /r "${QTDIR}\translations\qtxmlpatterns_*.qm"
|
||||||
|
|
||||||
; WebUI
|
; WebUI
|
||||||
SetOutPath "$INSTDIR\webui"
|
; SetOutPath "$INSTDIR\webui"
|
||||||
File /r "${SOURCEDIR}\libresapi\src\webui\*.*"
|
; File /r "${SOURCEDIR}\libresapi\src\webui\*.*"
|
||||||
|
|
||||||
; License
|
; License
|
||||||
SetOutPath "$INSTDIR\license"
|
SetOutPath "$INSTDIR\license"
|
||||||
File /r "${SOURCEDIR}\retroshare-gui\src\license\*.*"
|
File /r "${SOURCEDIR}\retroshare-gui\src\license\*.*"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
# Tor
|
||||||
|
!ifdef TOR_EXISTS
|
||||||
|
Section /o $(Section_Tor) Section_Tor
|
||||||
|
SetOutPath "$INSTDIR"
|
||||||
|
File /r "${TORDIR}\*"
|
||||||
|
SectionEnd
|
||||||
|
!endif
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
${!defineifexist} PLUGIN_FEEDREADER_EXISTS "${RELEASEDIR}\plugins\FeedReader\release\FeedReader.dll"
|
${!defineifexist} PLUGIN_FEEDREADER_EXISTS "${RELEASEDIR}\plugins\FeedReader\release\FeedReader.dll"
|
||||||
${!defineifexist} PLUGIN_VOIP_EXISTS "${RELEASEDIR}\plugins\VOIP\release\VOIP.dll"
|
${!defineifexist} PLUGIN_VOIP_EXISTS "${RELEASEDIR}\plugins\VOIP\release\VOIP.dll"
|
||||||
@ -363,6 +403,7 @@ SectionEnd
|
|||||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section_Plugin_VOIP} $(Section_Plugin_VOIP_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_Link} $(Section_Link_Desc)
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${Section_AutoStart} $(Section_AutoStart_Desc)
|
!insertmacro MUI_DESCRIPTION_TEXT ${Section_AutoStart} $(Section_AutoStart_Desc)
|
||||||
|
!insertmacro MUI_DESCRIPTION_TEXT ${Section_Tor} $(Section_Tor_Desc)
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||||
|
|
||||||
# Uninstall
|
# Uninstall
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
:: Usage:
|
|
||||||
:: call qt-cmd.bat <Qt version> [command]
|
|
||||||
|
|
||||||
@echo off
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
set QtVersion=%~1
|
|
||||||
|
|
||||||
:: Initialize environment
|
|
||||||
call "%~dp0env.bat"
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
call "%EnvPath%\env-qt.bat" %QtVersion%
|
|
||||||
if errorlevel 1 goto error_env
|
|
||||||
|
|
||||||
if "%~2"=="" (
|
|
||||||
"%ComSpec%"
|
|
||||||
) else (
|
|
||||||
"%ComSpec%" /c %2 %3 %4 %5 %6 %7 %8 %9
|
|
||||||
)
|
|
||||||
|
|
||||||
exit /B %ERRORLEVEL%
|
|
||||||
|
|
||||||
:error_env
|
|
||||||
echo Failed to initialize environment.
|
|
||||||
endlocal
|
|
||||||
exit /B 1
|
|
@ -1,46 +0,0 @@
|
|||||||
:: Usage:
|
|
||||||
:: call download-file-wildcard.bat url file-wildcard download-path variable
|
|
||||||
|
|
||||||
if "%~4"=="" (
|
|
||||||
echo.
|
|
||||||
echo Parameter error.
|
|
||||||
exit /B 1
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%EnvTempPath%"=="" (
|
|
||||||
echo.
|
|
||||||
echo Environment error.
|
|
||||||
exit /B 1
|
|
||||||
)
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
set Url=%~1
|
|
||||||
set FileWildcard=%~2
|
|
||||||
set DownloadPath=%~3
|
|
||||||
set Var=%~4
|
|
||||||
set File=
|
|
||||||
|
|
||||||
call "%~dp0remove-dir.bat" "%EnvTempPath%"
|
|
||||||
mkdir "%EnvTempPath%"
|
|
||||||
|
|
||||||
"%EnvWgetExe%" --recursive --continue --no-directories --no-parent -A "%FileWildcard%" --directory-prefix="%EnvTempPath%" "%Url%"
|
|
||||||
|
|
||||||
if errorlevel 1 (
|
|
||||||
call "%~dp0remove-dir.bat" "%EnvTempPath%"
|
|
||||||
endlocal & set %Var%=
|
|
||||||
exit /B %ERRORLEVEL%
|
|
||||||
)
|
|
||||||
|
|
||||||
for %%A in (%EnvTempPath%\%FileWildcard%) do set File=%%~nxA
|
|
||||||
if "%File%"=="" (
|
|
||||||
call "%~dp0remove-dir.bat" "%EnvTempPath%"
|
|
||||||
endlocal & set %Var%=
|
|
||||||
exit /B %ERRORLEVEL%
|
|
||||||
)
|
|
||||||
|
|
||||||
move "%EnvTempPath%\%File%" "%DownloadPath%"
|
|
||||||
call "%~dp0remove-dir.bat" "%EnvTempPath%"
|
|
||||||
|
|
||||||
endlocal & set %Var%=%File%
|
|
||||||
exit /B 0
|
|
@ -7,7 +7,6 @@ if "%~2"=="" (
|
|||||||
exit /B 1
|
exit /B 1
|
||||||
)
|
)
|
||||||
|
|
||||||
::"%EnvCurlExe%" -L -k "%~1" -o "%~2"
|
powershell -NoLogo -NoProfile -Command (New-Object System.Net.WebClient).DownloadFile(\""%~1\"", \""%~2\"")
|
||||||
"%EnvWgetExe%" --no-check-certificate --continue "%~1" --output-document="%~2"
|
|
||||||
|
|
||||||
exit /B %ERRORLEVEL%
|
exit /B %ERRORLEVEL%
|
||||||
|
50
build_scripts/Windows/tools/generate-changelog.bat
Normal file
50
build_scripts/Windows/tools/generate-changelog.bat
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
if "%~2"=="" (
|
||||||
|
echo.
|
||||||
|
echo Parameter error.
|
||||||
|
echo Usage %~n0 sourcepath outputfile
|
||||||
|
exit /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Check git executable
|
||||||
|
set GitPath=
|
||||||
|
call "%~dp0find-in-path.bat" GitPath git.exe
|
||||||
|
if "%GitPath%"=="" echo Git executable not found in PATH.& exit /B 1
|
||||||
|
|
||||||
|
set logfile=%~2
|
||||||
|
copy nul %logfile% > nul
|
||||||
|
|
||||||
|
pushd %~1
|
||||||
|
|
||||||
|
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 (
|
||||||
|
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
|
||||||
|
|
||||||
|
endlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
exit /B 0
|
@ -1,42 +1,37 @@
|
|||||||
:: Usage:
|
:: Usage:
|
||||||
:: call get-gcc-version.bat variable
|
:: call get-gcc-version.bat version architecture
|
||||||
|
|
||||||
setlocal
|
setlocal
|
||||||
|
|
||||||
set Var=%~1
|
set VarVersion=%~1
|
||||||
if "%Var%"=="" (
|
if "%VarVersion%"=="" (
|
||||||
|
echo.
|
||||||
|
echo Parameter error.
|
||||||
|
exit /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
set VarArchitecture=%~2
|
||||||
|
if "%VarArchitecture%"=="" (
|
||||||
echo.
|
echo.
|
||||||
echo Parameter error.
|
echo Parameter error.
|
||||||
exit /B 1
|
exit /B 1
|
||||||
)
|
)
|
||||||
|
|
||||||
set GCCVersion=
|
set GCCVersion=
|
||||||
|
set GCCArchitecture=
|
||||||
|
set _Architecture=
|
||||||
|
|
||||||
call "%~dp0find-in-path.bat" GCCPath gcc.exe
|
call "%~dp0find-in-path.bat" GCCPath gcc.exe
|
||||||
if "%GCCPath%"=="" (
|
if "%GCCPath%"=="" (
|
||||||
echo.
|
echo.
|
||||||
echo Cannot find gcc.exe in PATH.
|
echo Cannot find gcc.exe in PATH.
|
||||||
goto exit
|
exit /B 1
|
||||||
)
|
)
|
||||||
|
|
||||||
gcc --version >"%~dp0gccversion.tmp"
|
for /F "tokens=1-8* delims= " %%A in ('gcc --version') do if "%%A"=="gcc" set _Architecture=%%B& set GCCVersion=%%G
|
||||||
for /F "tokens=1*" %%A in (%~sdp0gccversion.tmp) do (
|
|
||||||
if "%%A"=="gcc" (
|
|
||||||
call :find_version %%B
|
|
||||||
goto exit
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
:exit
|
if "%_Architecture:~1,4%"=="i686" set GCCArchitecture=x86
|
||||||
if exist "%~dp0gccversion.tmp" del /Q "%~dp0gccversion.tmp"
|
if "%_Architecture:~1,6%"=="x86_64" set GCCArchitecture=x64
|
||||||
|
|
||||||
endlocal & set %Var%=%GCCVersion%
|
endlocal & set %VarVersion%=%GCCVersion%& set %VarArchitecture%=%GCCArchitecture%
|
||||||
goto :EOF
|
exit /B 0
|
||||||
|
|
||||||
:find_version
|
|
||||||
:loop
|
|
||||||
if "%2" NEQ "" (
|
|
||||||
shift
|
|
||||||
goto loop
|
|
||||||
)
|
|
||||||
set GCCVersion=%1
|
|
||||||
|
@ -18,7 +18,7 @@ call "%~dp0find-in-path.bat" GitPath git.exe
|
|||||||
if "%GitPath%"=="" (
|
if "%GitPath%"=="" (
|
||||||
echo.
|
echo.
|
||||||
echo Git executable not found in PATH.
|
echo Git executable not found in PATH.
|
||||||
goto exit
|
exit /B 1
|
||||||
)
|
)
|
||||||
|
|
||||||
set GitParameter=
|
set GitParameter=
|
||||||
|
@ -16,19 +16,10 @@ call "%~dp0find-in-path.bat" QMakePath qmake.exe
|
|||||||
if "%QMakePath%"=="" (
|
if "%QMakePath%"=="" (
|
||||||
echo.
|
echo.
|
||||||
echo Cannot find qmake.exe in PATH.
|
echo Cannot find qmake.exe in PATH.
|
||||||
goto exit
|
exit /B 1
|
||||||
)
|
)
|
||||||
|
|
||||||
qmake.exe -version >"%~dp0qtversion.tmp"
|
for /F "tokens=1,2,3,4 delims= " %%A in ('qmake.exe -version') do if "%%A"=="Using" set QtVersion=%%D
|
||||||
for /F "tokens=1,2,3,4" %%A in (%~sdp0qtversion.tmp) do (
|
|
||||||
if "%%A"=="Using" (
|
|
||||||
set QtVersion=%%D
|
|
||||||
goto exit
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
:exit
|
|
||||||
if exist "%~dp0qtversion.tmp" del /Q "%~dp0qtversion.tmp"
|
|
||||||
|
|
||||||
endlocal & set %Var%=%QtVersion%
|
endlocal & set %Var%=%QtVersion%
|
||||||
exit /B 0
|
exit /B 0
|
32
build_scripts/Windows/tools/get-rs-date.bat
Normal file
32
build_scripts/Windows/tools/get-rs-date.bat
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
REM Usage:
|
||||||
|
REM call get-rs-date.bat SourcePath Variable
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
set SourcePath=%~1
|
||||||
|
set Variable=%~2
|
||||||
|
if "%Variable%"=="" (
|
||||||
|
echo.
|
||||||
|
echo Parameter error
|
||||||
|
exit /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Check git executable
|
||||||
|
set GitPath=
|
||||||
|
call "%~dp0find-in-path.bat" GitPath git.exe
|
||||||
|
if "%GitPath%"=="" (
|
||||||
|
echo.
|
||||||
|
echo Git executable not found in PATH.
|
||||||
|
exit /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
set Date=
|
||||||
|
|
||||||
|
pushd "%SourcePath%"
|
||||||
|
rem This doesn't work: git log -1 --date=format:"%Y%m%d" --format="%ad"
|
||||||
|
for /F "tokens=1,2,3* delims=-" %%A in ('git log -1 --date^=short --format^="%%ad"') do set Date=%%A%%B%%C
|
||||||
|
popd
|
||||||
|
|
||||||
|
:exit
|
||||||
|
endlocal & set %Variable%=%Date%
|
||||||
|
exit /B 0
|
@ -27,7 +27,7 @@ set VersionMinor=
|
|||||||
set VersionMini=
|
set VersionMini=
|
||||||
set VersionExtra=
|
set VersionExtra=
|
||||||
|
|
||||||
for /F "tokens=1,2,3,* delims=.-" %%A in ('%EnvToolsPath%\sigcheck.exe -nobanner -n %Executable%') do (
|
for /F "USEBACKQ tokens=1,2,3,* delims=.-" %%A in (`powershell -NoLogo -NoProfile -Command ^(Get-Item "%Executable%"^).VersionInfo.FileVersion`) do (
|
||||||
set VersionMajor=%%A
|
set VersionMajor=%%A
|
||||||
set VersionMinor=%%B
|
set VersionMinor=%%B
|
||||||
set VersionMini=%%C
|
set VersionMini=%%C
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
:: Usage:
|
|
||||||
:: call msys-path.bat path variable
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
set WinPath=%~1
|
|
||||||
set MSYSVar=%~2
|
|
||||||
|
|
||||||
if "%MSYSVar%"=="" (
|
|
||||||
echo.
|
|
||||||
echo Parameter error.
|
|
||||||
exit /B 1
|
|
||||||
)
|
|
||||||
|
|
||||||
set MSYSPath=/%WinPath:~0,1%/%WinPath:~3%
|
|
||||||
set MSYSPath=%MSYSPath:\=/%
|
|
||||||
|
|
||||||
endlocal & set %MSYSVar%=%MSYSPath%
|
|
||||||
|
|
||||||
exit /B 0
|
|
20
build_scripts/Windows/tools/msys2-path.bat
Normal file
20
build_scripts/Windows/tools/msys2-path.bat
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
:: Usage:
|
||||||
|
:: call msys2-path.bat path variable
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
set WinPath=%~1
|
||||||
|
set MSYS2Var=%~2
|
||||||
|
|
||||||
|
if "%MSYS2Var%"=="" (
|
||||||
|
echo.
|
||||||
|
echo Parameter error.
|
||||||
|
exit /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
set MSYS2Path=/%WinPath:~0,1%/%WinPath:~3%
|
||||||
|
set MSYS2Path=%MSYS2Path:\=/%
|
||||||
|
|
||||||
|
endlocal & set %MSYS2Var%=%MSYS2Path%
|
||||||
|
|
||||||
|
exit /B 0
|
@ -1,584 +0,0 @@
|
|||||||
@if (@X) == (@Y) @end /* JScript comment
|
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem :: the first argument is the script name as it will be used for proper help message
|
|
||||||
cscript //E:JScript //nologo "%~f0" "%~nx0" %*
|
|
||||||
|
|
||||||
exit /b %errorlevel%
|
|
||||||
|
|
||||||
@if (@X)==(@Y) @end JScript comment */
|
|
||||||
|
|
||||||
// used resources
|
|
||||||
|
|
||||||
// update 12.10.15
|
|
||||||
// osvikvi(https://github.com/osvikvi) has nodited that the -password option is not set , so this is fixed
|
|
||||||
|
|
||||||
//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384058(v=vs.85).aspx
|
|
||||||
//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384055(v=vs.85).aspx
|
|
||||||
//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384059(v=vs.85).aspx
|
|
||||||
|
|
||||||
// global variables and constants
|
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------
|
|
||||||
// -- asynch requests not included --
|
|
||||||
// ----------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
//todo - save responceStream instead of responceBody !!
|
|
||||||
//todo - set all winthttp options ->//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx
|
|
||||||
//todo - log all options
|
|
||||||
//todo - improve help message . eventual verbose option
|
|
||||||
|
|
||||||
|
|
||||||
var ARGS = WScript.Arguments;
|
|
||||||
var scriptName = ARGS.Item(0);
|
|
||||||
|
|
||||||
var url = "";
|
|
||||||
var saveTo = "";
|
|
||||||
|
|
||||||
var user = 0;
|
|
||||||
var pass = 0;
|
|
||||||
|
|
||||||
var proxy = 0;
|
|
||||||
var bypass = 0;
|
|
||||||
var proxy_user = 0;
|
|
||||||
var proxy_pass = 0;
|
|
||||||
|
|
||||||
var certificate = 0;
|
|
||||||
|
|
||||||
var force = true;
|
|
||||||
|
|
||||||
var body = "";
|
|
||||||
|
|
||||||
//ActiveX objects
|
|
||||||
var WinHTTPObj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
|
|
||||||
var FileSystemObj = new ActiveXObject("Scripting.FileSystemObject");
|
|
||||||
var AdoDBObj = new ActiveXObject("ADODB.Stream");
|
|
||||||
|
|
||||||
// HttpRequest SetCredentials flags.
|
|
||||||
var proxy_settings = 0;
|
|
||||||
|
|
||||||
//
|
|
||||||
HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0;
|
|
||||||
HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 1;
|
|
||||||
|
|
||||||
//timeouts and their default values
|
|
||||||
var RESOLVE_TIMEOUT = 0;
|
|
||||||
var CONNECT_TIMEOUT = 90000;
|
|
||||||
var SEND_TIMEOUT = 90000;
|
|
||||||
var RECEIVE_TIMEOUT = 90000;
|
|
||||||
|
|
||||||
//HttpRequestMethod
|
|
||||||
var http_method = 'GET';
|
|
||||||
|
|
||||||
//header
|
|
||||||
var header_file = "";
|
|
||||||
|
|
||||||
//report
|
|
||||||
var reportfile = "";
|
|
||||||
|
|
||||||
//test-this:
|
|
||||||
var use_stream = false;
|
|
||||||
|
|
||||||
//autologon policy
|
|
||||||
var autologon_policy = 1; //0,1,2
|
|
||||||
|
|
||||||
|
|
||||||
//headers will be stored as multi-dimensional array
|
|
||||||
var headers = [];
|
|
||||||
|
|
||||||
//user-agent
|
|
||||||
var ua = "";
|
|
||||||
|
|
||||||
//escape URL
|
|
||||||
var escape = false;
|
|
||||||
|
|
||||||
function printHelp() {
|
|
||||||
WScript.Echo(scriptName + " - sends HTTP request and saves the request body as a file and/or a report of the sent request");
|
|
||||||
WScript.Echo(scriptName + " url [-force yes|no] [-user username -password password] [-proxy proxyserver:port] [-bypass bypass_list]");
|
|
||||||
WScript.Echo(" [-proxyuser proxy_username -proxypassword proxy_password] [-certificate certificateString]");
|
|
||||||
WScript.Echo(" [-method GET|POST|PATCH|DELETE|HEAD|OPTIONS|CONNECT]");
|
|
||||||
WScript.Echo(" [-saveTo file] - to print response to console use con");
|
|
||||||
|
|
||||||
WScript.Echo(" [-sendTimeout int(milliseconds)]");
|
|
||||||
WScript.Echo(" [-resolveTimeout int(milliseconds)]");
|
|
||||||
WScript.Echo(" [-connectTimeout int(milliseconds)]");
|
|
||||||
WScript.Echo(" [-receiveTimeout int(milliseconds)]");
|
|
||||||
|
|
||||||
WScript.Echo(" [-autologonPolicy 1|2|3]");
|
|
||||||
WScript.Echo(" [-proxySettings 1|2|3] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384059(v=vs.85).aspx)");
|
|
||||||
|
|
||||||
//header
|
|
||||||
WScript.Echo(" [-headers-file header_file]");
|
|
||||||
//reportfile
|
|
||||||
WScript.Echo(" [-reportfile reportfile]");
|
|
||||||
WScript.Echo(" [-ua user-agent]");
|
|
||||||
WScript.Echo(" [-ua-file user-agent-file]");
|
|
||||||
|
|
||||||
WScript.Echo(" [-escape yes|no]");
|
|
||||||
|
|
||||||
WScript.Echo(" [-body body-string]");
|
|
||||||
WScript.Echo(" [-body-file body-file]");
|
|
||||||
|
|
||||||
WScript.Echo("-force - decide to not or to overwrite if the local files exists");
|
|
||||||
|
|
||||||
WScript.Echo("proxyserver:port - the proxy server");
|
|
||||||
WScript.Echo("bypass- bypass list");
|
|
||||||
WScript.Echo("proxy_user , proxy_password - credentials for proxy server");
|
|
||||||
WScript.Echo("user , password - credentials for the server");
|
|
||||||
WScript.Echo("certificate - location of SSL certificate");
|
|
||||||
WScript.Echo("method - what HTTP method will be used.Default is GET");
|
|
||||||
WScript.Echo("saveTo - save the responce as binary file");
|
|
||||||
WScript.Echo(" ");
|
|
||||||
WScript.Echo("Header file should contain key:value pairs.Lines starting with \"#\" will be ignored.");
|
|
||||||
WScript.Echo("value should NOT be enclosed with quotes");
|
|
||||||
WScript.Echo(" ");
|
|
||||||
WScript.Echo("Examples:");
|
|
||||||
|
|
||||||
WScript.Echo(scriptName + " http://somelink.com/somefile.zip -saveTo c:\\somefile.zip -certificate \"LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate\"");
|
|
||||||
WScript.Echo(scriptName + " http://somelink.com/something.html -method POST -certificate \"LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate\" -header c:\\header_file -reportfile c:\\reportfile.txt");
|
|
||||||
WScript.Echo(scriptName + "\"http://somelink\" -method POST -header hdrs.txt -reportfile reportfile2.txt -saveTo responsefile2 -ua \"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36\" -body-file some.json");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function parseArgs() {
|
|
||||||
//
|
|
||||||
if (ARGS.Length < 2) {
|
|
||||||
WScript.Echo("insufficient arguments");
|
|
||||||
printHelp();
|
|
||||||
WScript.Quit(43);
|
|
||||||
}
|
|
||||||
// !!!
|
|
||||||
url = ARGS.Item(1);
|
|
||||||
// !!!
|
|
||||||
if (ARGS.Length % 2 != 0) {
|
|
||||||
WScript.Echo("illegal arguments");
|
|
||||||
printHelp();
|
|
||||||
WScript.Quit(44);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 2; i < ARGS.Length - 1; i = i + 2) {
|
|
||||||
var arg = ARGS.Item(i).toLowerCase();
|
|
||||||
var next = ARGS.Item(i + 1);
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
|
||||||
switch (arg) { // the try-catch is set mainly because of the parseInts
|
|
||||||
case "-force":
|
|
||||||
if (next == "no") {
|
|
||||||
force = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "-escape":
|
|
||||||
if (next == "yes") {
|
|
||||||
escape = true;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "-saveto":
|
|
||||||
saveTo = next;
|
|
||||||
break;
|
|
||||||
case "-user":
|
|
||||||
case "-u":
|
|
||||||
user = next;
|
|
||||||
break;
|
|
||||||
case "-pass":
|
|
||||||
case "-password":
|
|
||||||
case "-p":
|
|
||||||
pass = next;
|
|
||||||
break;
|
|
||||||
case "-proxy":
|
|
||||||
proxy = next;
|
|
||||||
break;
|
|
||||||
case "-bypass":
|
|
||||||
bypass = next;
|
|
||||||
break;
|
|
||||||
case "-proxyuser":
|
|
||||||
case "-pu":
|
|
||||||
proxy_user = next;
|
|
||||||
break;
|
|
||||||
case "-proxypassword":
|
|
||||||
case "-pp":
|
|
||||||
proxy_pass = next;
|
|
||||||
break;
|
|
||||||
case "-ua":
|
|
||||||
ua = next;
|
|
||||||
break;
|
|
||||||
case "-ua-file":
|
|
||||||
ua = readFile(next);
|
|
||||||
break;
|
|
||||||
case "-body":
|
|
||||||
body = next;
|
|
||||||
break;
|
|
||||||
case "-usestream":
|
|
||||||
//WScript.Echo("~~");
|
|
||||||
if (next.toLowerCase() === "yes") {
|
|
||||||
use_stream = true
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case "-body-file":
|
|
||||||
body = readFile(next);
|
|
||||||
break;
|
|
||||||
case "-certificate":
|
|
||||||
certificate = next;
|
|
||||||
break;
|
|
||||||
case "-method":
|
|
||||||
switch (next.toLowerCase()) {
|
|
||||||
case "post":
|
|
||||||
http_method = 'POST';
|
|
||||||
break;
|
|
||||||
case "get":
|
|
||||||
http_method = 'GET';
|
|
||||||
break;
|
|
||||||
case "head":
|
|
||||||
http_method = 'HEAD';
|
|
||||||
break;
|
|
||||||
case "put":
|
|
||||||
http_method = 'PUT';
|
|
||||||
break;
|
|
||||||
case "options":
|
|
||||||
http_method = 'OPTIONS';
|
|
||||||
break;
|
|
||||||
case "connect":
|
|
||||||
http_method = 'CONNECT';
|
|
||||||
break;
|
|
||||||
case "patch":
|
|
||||||
http_method = 'PATCH';
|
|
||||||
break;
|
|
||||||
case "delete":
|
|
||||||
http_method = 'DELETE';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
WScript.Echo("Invalid http method passed " + next);
|
|
||||||
WScript.Echo("possible values are GET,POST,DELETE,PUT,CONNECT,PATCH,HEAD,OPTIONS");
|
|
||||||
WScript.Quit(1326);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "-headers-file":
|
|
||||||
case "-header":
|
|
||||||
headers = readPropFile(next);
|
|
||||||
break;
|
|
||||||
case "-reportfile":
|
|
||||||
reportfile = next;
|
|
||||||
break;
|
|
||||||
//timeouts
|
|
||||||
case "-sendtimeout":
|
|
||||||
SEND_TIMEOUT = parseInt(next);
|
|
||||||
break;
|
|
||||||
case "-connecttimeout":
|
|
||||||
CONNECT_TIMEOUT = parseint(next);
|
|
||||||
break;
|
|
||||||
case "-resolvetimeout":
|
|
||||||
RESOLVE_TIMEOUT = parseInt(next);
|
|
||||||
break;
|
|
||||||
case "-receivetimeout":
|
|
||||||
RECEIVE_TIMEOUT = parseInt(next);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "-autologonpolicy":
|
|
||||||
autologon_policy = parseInt(next);
|
|
||||||
if (autologon_policy > 2 || autologon_policy < 0) {
|
|
||||||
WScript.Echo("out of autologon policy range");
|
|
||||||
WScript.Quit(87);
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case "-proxysettings":
|
|
||||||
proxy_settings = parseInt(next);
|
|
||||||
if (proxy_settings > 2 || proxy_settings < 0) {
|
|
||||||
WScript.Echo("out of proxy settings range");
|
|
||||||
WScript.Quit(87);
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
WScript.Echo("Invalid command line switch: " + arg);
|
|
||||||
WScript.Quit(1405);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
WScript.Echo(err.message);
|
|
||||||
WScript.Quit(1348);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stripTrailingSlash = function(path) {
|
|
||||||
while (path.substr(path.length - 1, path.length) == '\\') {
|
|
||||||
path = path.substr(0, path.length - 1);
|
|
||||||
}
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
function existsItem(path) {
|
|
||||||
return FileSystemObj.FolderExists(path) || FileSystemObj.FileExists(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
function deleteItem(path) {
|
|
||||||
if (FileSystemObj.FileExists(path)) {
|
|
||||||
FileSystemObj.DeleteFile(path);
|
|
||||||
return true;
|
|
||||||
} else if (FileSystemObj.FolderExists(path)) {
|
|
||||||
FileSystemObj.DeleteFolder(stripTrailingSlash(path));
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------
|
|
||||||
//----------------------
|
|
||||||
//----------
|
|
||||||
//-----
|
|
||||||
//--
|
|
||||||
function request(url) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
|
|
||||||
WinHTTPObj.Open(http_method, url, false);
|
|
||||||
if (proxy != 0 && bypass != 0) {
|
|
||||||
WinHTTPObj.SetProxy(proxy_settings, proxy, bypass);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (proxy != 0) {
|
|
||||||
WinHTTPObj.SetProxy(proxy_settings, proxy);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (user != 0 && pass != 0) {
|
|
||||||
WinHTTPObj.SetCredentials(user, pass, HTTPREQUEST_SETCREDENTIALS_FOR_SERVER);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (proxy_user != 0 && proxy_pass != 0) {
|
|
||||||
WinHTTPObj.SetCredentials(proxy_user, proxy_pass, HTTPREQUEST_SETCREDENTIALS_FOR_PROXY);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (certificate != 0) {
|
|
||||||
WinHTTPObj.SetClientCertificate(certificate);
|
|
||||||
}
|
|
||||||
|
|
||||||
//set autologin policy
|
|
||||||
WinHTTPObj.SetAutoLogonPolicy(autologon_policy);
|
|
||||||
//set timeouts
|
|
||||||
WinHTTPObj.SetTimeouts(RESOLVE_TIMEOUT, CONNECT_TIMEOUT, SEND_TIMEOUT, RECEIVE_TIMEOUT);
|
|
||||||
|
|
||||||
if (headers.length !== 0) {
|
|
||||||
WScript.Echo("Sending with headers:");
|
|
||||||
for (var i = 0; i < headers.length; i++) {
|
|
||||||
WinHTTPObj.SetRequestHeader(headers[i][0], headers[i][1]);
|
|
||||||
WScript.Echo(headers[i][0] + ":" + headers[i][1]);
|
|
||||||
}
|
|
||||||
WScript.Echo("");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ua !== "") {
|
|
||||||
//user-agent option from:
|
|
||||||
//WinHttpRequestOption enumeration
|
|
||||||
// other options can be added like bellow
|
|
||||||
//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx
|
|
||||||
WinHTTPObj.Option(0) = ua;
|
|
||||||
}
|
|
||||||
if (escape) {
|
|
||||||
WinHTTPObj.Option(3) = true;
|
|
||||||
}
|
|
||||||
if (trim(body) === "") {
|
|
||||||
WinHTTPObj.Send();
|
|
||||||
} else {
|
|
||||||
WinHTTPObj.Send(body);
|
|
||||||
}
|
|
||||||
|
|
||||||
var status = WinHTTPObj.Status
|
|
||||||
} catch (err) {
|
|
||||||
WScript.Echo(err.message);
|
|
||||||
WScript.Quit(666);
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////
|
|
||||||
// report //
|
|
||||||
////////////////////////
|
|
||||||
|
|
||||||
if (reportfile != "") {
|
|
||||||
|
|
||||||
//var report_string="";
|
|
||||||
var n = "\r\n";
|
|
||||||
var report_string = "Status:" + n;
|
|
||||||
report_string = report_string + " " + WinHTTPObj.Status;
|
|
||||||
report_string = report_string + " " + WinHTTPObj.StatusText + n;
|
|
||||||
report_string = report_string + " " + n;
|
|
||||||
report_string = report_string + "Response:" + n;
|
|
||||||
report_string = report_string + WinHTTPObj.ResponseText + n;
|
|
||||||
report_string = report_string + " " + n;
|
|
||||||
report_string = report_string + "Headers:" + n;
|
|
||||||
report_string = report_string + WinHTTPObj.GetAllResponseHeaders() + n;
|
|
||||||
|
|
||||||
WinHttpRequestOption_UserAgentString = 0; // Name of the user agent
|
|
||||||
WinHttpRequestOption_URL = 1; // Current URL
|
|
||||||
WinHttpRequestOption_URLCodePage = 2; // Code page
|
|
||||||
WinHttpRequestOption_EscapePercentInURL = 3; // Convert percents
|
|
||||||
// in the URL
|
|
||||||
// rest of the options can be seen and eventually added using this as reference
|
|
||||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx
|
|
||||||
|
|
||||||
report_string = report_string + "URL:" + n;
|
|
||||||
report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_URL) + n;
|
|
||||||
|
|
||||||
report_string = report_string + "URL Code Page:" + n;
|
|
||||||
report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_URLCodePage) + n;
|
|
||||||
|
|
||||||
report_string = report_string + "User Agent:" + n;
|
|
||||||
report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_UserAgentString) + n;
|
|
||||||
|
|
||||||
report_string = report_string + "Escapped URL:" + n;
|
|
||||||
report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_EscapePercentInURL) + n;
|
|
||||||
|
|
||||||
prepareateFile(force, reportfile);
|
|
||||||
|
|
||||||
WScript.Echo("Writing report to " + reportfile);
|
|
||||||
|
|
||||||
writeFile(reportfile, report_string);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (status) {
|
|
||||||
case 200:
|
|
||||||
WScript.Echo("Status: 200 OK");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
WScript.Echo("Status: " + status);
|
|
||||||
WScript.Echo("Status was not OK. More info -> https://en.wikipedia.org/wiki/List_of_HTTP_status_codes");
|
|
||||||
}
|
|
||||||
|
|
||||||
//if as binary
|
|
||||||
if (saveTo.toLowerCase() === "con") {
|
|
||||||
WScript.Echo(WinHTTPObj.ResponseText);
|
|
||||||
}
|
|
||||||
if (saveTo !== "" && saveTo.toLowerCase() !== "con") {
|
|
||||||
prepareateFile(force, saveTo);
|
|
||||||
try {
|
|
||||||
|
|
||||||
if (use_stream) {
|
|
||||||
writeBinFile(saveTo, WinHTTPObj.ResponseStream);
|
|
||||||
} else {
|
|
||||||
writeBinFile(saveTo, WinHTTPObj.ResponseBody);
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (err) {
|
|
||||||
WScript.Echo("Failed to save the file as binary.Attempt to save it as text");
|
|
||||||
AdoDBObj.Close();
|
|
||||||
prepareateFile(true, saveTo);
|
|
||||||
writeFile(saveTo, WinHTTPObj.ResponseText);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
WScript.Quit(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
//--
|
|
||||||
//-----
|
|
||||||
//----------
|
|
||||||
//----------------------
|
|
||||||
//-------------------------------
|
|
||||||
|
|
||||||
function prepareateFile(force, file) {
|
|
||||||
if (force && existsItem(file)) {
|
|
||||||
if (!deleteItem(file)) {
|
|
||||||
WScript.Echo("Unable to delete " + file);
|
|
||||||
WScript.Quit(8);
|
|
||||||
}
|
|
||||||
} else if (existsItem(file)) {
|
|
||||||
WScript.Echo("Item " + file + " already exist");
|
|
||||||
WScript.Quit(9);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function writeBinFile(fileName, data) {
|
|
||||||
AdoDBObj.Type = 1;
|
|
||||||
AdoDBObj.Open();
|
|
||||||
AdoDBObj.Position = 0;
|
|
||||||
AdoDBObj.Write(data);
|
|
||||||
AdoDBObj.SaveToFile(fileName, 2);
|
|
||||||
AdoDBObj.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
function writeFile(fileName, data) {
|
|
||||||
AdoDBObj.Type = 2;
|
|
||||||
AdoDBObj.CharSet = "iso-8859-1";
|
|
||||||
AdoDBObj.Open();
|
|
||||||
AdoDBObj.Position = 0;
|
|
||||||
AdoDBObj.WriteText(data);
|
|
||||||
AdoDBObj.SaveToFile(fileName, 2);
|
|
||||||
AdoDBObj.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function readFile(fileName) {
|
|
||||||
//check existence
|
|
||||||
try {
|
|
||||||
if (!FileSystemObj.FileExists(fileName)) {
|
|
||||||
WScript.Echo("file " + fileName + " does not exist!");
|
|
||||||
WScript.Quit(13);
|
|
||||||
}
|
|
||||||
if (FileSystemObj.GetFile(fileName).Size === 0) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
var fileR = FileSystemObj.OpenTextFile(fileName, 1);
|
|
||||||
var content = fileR.ReadAll();
|
|
||||||
fileR.Close();
|
|
||||||
return content;
|
|
||||||
} catch (err) {
|
|
||||||
WScript.Echo("Error while reading file: " + fileName);
|
|
||||||
WScript.Echo(err.message);
|
|
||||||
WScript.Echo("Will return empty string");
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function readPropFile(fileName) {
|
|
||||||
//check existence
|
|
||||||
resultArray = [];
|
|
||||||
if (!FileSystemObj.FileExists(fileName)) {
|
|
||||||
WScript.Echo("(headers)file " + fileName + " does not exist!");
|
|
||||||
WScript.Quit(15);
|
|
||||||
}
|
|
||||||
if (FileSystemObj.GetFile(fileName).Size === 0) {
|
|
||||||
return resultArray;
|
|
||||||
}
|
|
||||||
var fileR = FileSystemObj.OpenTextFile(fileName, 1);
|
|
||||||
var line = "";
|
|
||||||
var k = "";
|
|
||||||
var v = "";
|
|
||||||
var lineN = 0;
|
|
||||||
var index = 0;
|
|
||||||
try {
|
|
||||||
WScript.Echo("parsing headers form " + fileName + " property file ");
|
|
||||||
while (!fileR.AtEndOfStream) {
|
|
||||||
line = fileR.ReadLine();
|
|
||||||
lineN++;
|
|
||||||
index = line.indexOf(":");
|
|
||||||
if (line.indexOf("#") === 0 || trim(line) === "") {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (index === -1 || index === line.length - 1 || index === 0) {
|
|
||||||
WScript.Echo("Invalid line " + lineN);
|
|
||||||
WScript.Quit(93);
|
|
||||||
}
|
|
||||||
k = trim(line.substring(0, index));
|
|
||||||
v = trim(line.substring(index + 1, line.length));
|
|
||||||
resultArray.push([k, v]);
|
|
||||||
}
|
|
||||||
fileR.Close();
|
|
||||||
return resultArray;
|
|
||||||
} catch (err) {
|
|
||||||
WScript.Echo("Error while reading headers file: " + fileName);
|
|
||||||
WScript.Echo(err.message);
|
|
||||||
WScript.Echo("Will return empty array");
|
|
||||||
return resultArray;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function trim(str) {
|
|
||||||
return str.replace(/^\s+/, '').replace(/\s+$/, '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
parseArgs();
|
|
||||||
request(url);
|
|
||||||
}
|
|
||||||
main();
|
|
@ -285,12 +285,6 @@ int sleep(unsigned int sec)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int usleep(unsigned int usec)
|
|
||||||
{
|
|
||||||
Sleep(usec / 1000);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||||
#else // UNIX
|
#else // UNIX
|
||||||
|
|
||||||
|
@ -159,7 +159,6 @@ int bdnet_w2u_errno(int error);
|
|||||||
#ifndef __MINGW64_VERSION_MAJOR
|
#ifndef __MINGW64_VERSION_MAJOR
|
||||||
int sleep(unsigned int sec);
|
int sleep(unsigned int sec);
|
||||||
#endif
|
#endif
|
||||||
int usleep(unsigned int usec);
|
|
||||||
|
|
||||||
#endif // END of WINDOWS defines.
|
#endif // END of WINDOWS defines.
|
||||||
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||||
|
@ -219,7 +219,13 @@ bool DistributedChatService::checkSignature(RsChatLobbyBouncingObject *obj,const
|
|||||||
|
|
||||||
// network pre-request key to allow message authentication.
|
// network pre-request key to allow message authentication.
|
||||||
|
|
||||||
mGixs->requestKey(obj->signature.keyId,peer_list,RsIdentityUsage(RS_SERVICE_TYPE_CHAT,RsIdentityUsage::CHAT_LOBBY_MSG_VALIDATION,RsGxsGroupId(),RsGxsMessageId(),obj->lobby_id));
|
mGixs->requestKey(obj->signature.keyId,peer_list,RsIdentityUsage(RsServiceType::CHAT,
|
||||||
|
RsIdentityUsage::CHAT_LOBBY_MSG_VALIDATION,
|
||||||
|
RsGxsGroupId(),
|
||||||
|
RsGxsMessageId(),
|
||||||
|
RsGxsMessageId(),
|
||||||
|
RsGxsMessageId(),
|
||||||
|
obj->lobby_id));
|
||||||
|
|
||||||
uint32_t size = RsChatSerialiser(RsSerializationFlags::SIGNATURE)
|
uint32_t size = RsChatSerialiser(RsSerializationFlags::SIGNATURE)
|
||||||
.size(dynamic_cast<RsItem*>(obj));
|
.size(dynamic_cast<RsItem*>(obj));
|
||||||
@ -238,7 +244,13 @@ bool DistributedChatService::checkSignature(RsChatLobbyBouncingObject *obj,const
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint32_t error_status ;
|
uint32_t error_status ;
|
||||||
RsIdentityUsage use_info(RS_SERVICE_TYPE_CHAT,RsIdentityUsage::CHAT_LOBBY_MSG_VALIDATION,RsGxsGroupId(),RsGxsMessageId(),obj->lobby_id) ;
|
RsIdentityUsage use_info(RsServiceType::CHAT,
|
||||||
|
RsIdentityUsage::CHAT_LOBBY_MSG_VALIDATION,
|
||||||
|
RsGxsGroupId(),
|
||||||
|
RsGxsMessageId(),
|
||||||
|
RsGxsMessageId(),
|
||||||
|
RsGxsMessageId(),
|
||||||
|
obj->lobby_id) ;
|
||||||
|
|
||||||
if(!mGixs->validateData(memory,size,obj->signature,false,use_info,error_status))
|
if(!mGixs->validateData(memory,size,obj->signature,false,use_info,error_status))
|
||||||
{
|
{
|
||||||
|
@ -450,7 +450,7 @@ void p3discovery2::recvIdentityList(const RsPeerId& pid,const std::list<RsGxsId>
|
|||||||
std::cerr << "p3discovery2::recvIdentityList(): from peer " << pid << ": " << ids.size() << " identities" << std::endl;
|
std::cerr << "p3discovery2::recvIdentityList(): from peer " << pid << ": " << ids.size() << " identities" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
RsIdentityUsage use_info(RS_SERVICE_TYPE_DISC,RsIdentityUsage::IDENTITY_DATA_UPDATE);
|
RsIdentityUsage use_info(RsServiceType::GOSSIP_DISCOVERY,RsIdentityUsage::IDENTITY_NEW_FROM_DISCOVERY);
|
||||||
|
|
||||||
for(auto it(ids.begin());it!=ids.end();++it)
|
for(auto it(ids.begin());it!=ids.end();++it)
|
||||||
{
|
{
|
||||||
|
@ -2108,7 +2108,7 @@ bool p3GRouter::verifySignedDataItem(const RsGRouterAbstractMsgItem *item,const
|
|||||||
if(!signature_serializer.serialise(const_cast<RsGRouterAbstractMsgItem*>(item),data,&data_size))
|
if(!signature_serializer.serialise(const_cast<RsGRouterAbstractMsgItem*>(item),data,&data_size))
|
||||||
throw std::runtime_error("Cannot serialise signed data.");
|
throw std::runtime_error("Cannot serialise signed data.");
|
||||||
|
|
||||||
RsIdentityUsage use(RS_SERVICE_TYPE_GROUTER,info);
|
RsIdentityUsage use(RsServiceType::GROUTER,info);
|
||||||
|
|
||||||
if(!mGixs->validateData( data, data_size, item->signature, true, use, error_status ))
|
if(!mGixs->validateData( data, data_size, item->signature, true, use, error_status ))
|
||||||
{
|
{
|
||||||
|
@ -502,6 +502,9 @@ RsGxsGrpMetaData* RsDataService::locked_getGrpMeta(RetroCursor &c, int colOffset
|
|||||||
RsGxsGrpMetaData* grpMeta ;
|
RsGxsGrpMetaData* grpMeta ;
|
||||||
RsGxsGroupId grpId(tempId) ;
|
RsGxsGroupId grpId(tempId) ;
|
||||||
|
|
||||||
|
if(grpId.isNull()) // not in the DB!
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
if(use_cache)
|
if(use_cache)
|
||||||
grpMeta = mGrpMetaDataCache.getOrCreateMeta(grpId);
|
grpMeta = mGrpMetaDataCache.getOrCreateMeta(grpId);
|
||||||
else
|
else
|
||||||
@ -659,8 +662,10 @@ RsGxsMsgMetaData* RsDataService::locked_getMsgMeta(RetroCursor &c, int colOffset
|
|||||||
std::string temp;
|
std::string temp;
|
||||||
c.getString(mColMsgMeta_MsgId + colOffset, temp);
|
c.getString(mColMsgMeta_MsgId + colOffset, temp);
|
||||||
msg_id = RsGxsMessageId(temp);
|
msg_id = RsGxsMessageId(temp);
|
||||||
|
|
||||||
// without these, a msg is meaningless
|
// without these, a msg is meaningless
|
||||||
ok &= (!group_id.isNull()) && (!msg_id.isNull());
|
if(group_id.isNull() || msg_id.isNull())
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
RsGxsMsgMetaData* msgMeta = nullptr;
|
RsGxsMsgMetaData* msgMeta = nullptr;
|
||||||
|
|
||||||
@ -1432,7 +1437,7 @@ int RsDataService::retrieveGxsGrpMetaData(RsGxsGrpMetaTemporaryMap& grp)
|
|||||||
RsGxsGrpMetaData *meta = mGrpMetaDataCache.getMeta(mit->first) ;
|
RsGxsGrpMetaData *meta = mGrpMetaDataCache.getMeta(mit->first) ;
|
||||||
|
|
||||||
if(meta)
|
if(meta)
|
||||||
grp[mit->first] = meta;
|
mit->second = meta;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef RS_DATA_SERVICE_DEBUG_CACHE
|
#ifdef RS_DATA_SERVICE_DEBUG_CACHE
|
||||||
@ -1446,7 +1451,7 @@ int RsDataService::retrieveGxsGrpMetaData(RsGxsGrpMetaTemporaryMap& grp)
|
|||||||
RsGxsGrpMetaData* meta = locked_getGrpMeta(*c, 0,true);
|
RsGxsGrpMetaData* meta = locked_getGrpMeta(*c, 0,true);
|
||||||
|
|
||||||
if(meta)
|
if(meta)
|
||||||
grp[mit->first] = meta;
|
mit->second = meta;
|
||||||
|
|
||||||
#ifdef RS_DATA_SERVICE_DEBUG_TIME
|
#ifdef RS_DATA_SERVICE_DEBUG_TIME
|
||||||
++resultCount;
|
++resultCount;
|
||||||
|
@ -39,6 +39,14 @@ template<class ID, class MetaDataClass> class t_MetaDataCache
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
t_MetaDataCache() : mCache_ContainsAllMetas(false) {}
|
t_MetaDataCache() : mCache_ContainsAllMetas(false) {}
|
||||||
|
virtual ~t_MetaDataCache()
|
||||||
|
{
|
||||||
|
for(auto it: mMetas)
|
||||||
|
delete it.second;
|
||||||
|
|
||||||
|
for(auto it: mOldCachedItems)
|
||||||
|
delete it.second;
|
||||||
|
}
|
||||||
|
|
||||||
bool isCacheUpToDate() const { return mCache_ContainsAllMetas ; }
|
bool isCacheUpToDate() const { return mCache_ContainsAllMetas ; }
|
||||||
void setCacheUpToDate(bool b) { mCache_ContainsAllMetas = b; }
|
void setCacheUpToDate(bool b) { mCache_ContainsAllMetas = b; }
|
||||||
|
@ -512,7 +512,7 @@ int RsGenExchange::createGroupSignatures(RsTlvKeySignatureSet& signSet, RsTlvBin
|
|||||||
if(GxsSecurity::getSignature((char*)grpData.bin_data, grpData.bin_len, authorKey, sign))
|
if(GxsSecurity::getSignature((char*)grpData.bin_data, grpData.bin_len, authorKey, sign))
|
||||||
{
|
{
|
||||||
id_ret = SIGN_SUCCESS;
|
id_ret = SIGN_SUCCESS;
|
||||||
mGixs->timeStampKey(grpMeta.mAuthorId,RsIdentityUsage(mServType,RsIdentityUsage::GROUP_AUTHOR_SIGNATURE_CREATION,grpMeta.mGroupId)) ;
|
mGixs->timeStampKey(grpMeta.mAuthorId,RsIdentityUsage(RsServiceType(mServType),RsIdentityUsage::GROUP_AUTHOR_SIGNATURE_CREATION,grpMeta.mGroupId)) ;
|
||||||
signSet.keySignSet[INDEX_AUTHEN_IDENTITY] = sign;
|
signSet.keySignSet[INDEX_AUTHEN_IDENTITY] = sign;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -680,7 +680,7 @@ int RsGenExchange::createMsgSignatures(RsTlvKeySignatureSet& signSet, RsTlvBinar
|
|||||||
if(GxsSecurity::getSignature((char*)msgData.bin_data, msgData.bin_len, authorKey, sign))
|
if(GxsSecurity::getSignature((char*)msgData.bin_data, msgData.bin_len, authorKey, sign))
|
||||||
{
|
{
|
||||||
id_ret = SIGN_SUCCESS;
|
id_ret = SIGN_SUCCESS;
|
||||||
mGixs->timeStampKey(msgMeta.mAuthorId,RsIdentityUsage(mServType,RsIdentityUsage::MESSAGE_AUTHOR_SIGNATURE_CREATION,msgMeta.mGroupId,msgMeta.mMsgId)) ;
|
mGixs->timeStampKey(msgMeta.mAuthorId,RsIdentityUsage(RsServiceType(mServType),RsIdentityUsage::MESSAGE_AUTHOR_SIGNATURE_CREATION,msgMeta.mGroupId,msgMeta.mMsgId,msgMeta.mParentId,msgMeta.mThreadId)) ;
|
||||||
signSet.keySignSet[INDEX_AUTHEN_IDENTITY] = sign;
|
signSet.keySignSet[INDEX_AUTHEN_IDENTITY] = sign;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -905,7 +905,11 @@ int RsGenExchange::validateMsg(RsNxsMsg *msg, const uint32_t& grpFlag, const uin
|
|||||||
{
|
{
|
||||||
RsTlvKeySignature sign = metaData.signSet.keySignSet[INDEX_AUTHEN_IDENTITY];
|
RsTlvKeySignature sign = metaData.signSet.keySignSet[INDEX_AUTHEN_IDENTITY];
|
||||||
idValidate &= GxsSecurity::validateNxsMsg(*msg, sign, authorKey);
|
idValidate &= GxsSecurity::validateNxsMsg(*msg, sign, authorKey);
|
||||||
mGixs->timeStampKey(metaData.mAuthorId,RsIdentityUsage(mServType,RsIdentityUsage::MESSAGE_AUTHOR_SIGNATURE_VALIDATION,metaData.mGroupId,metaData.mMsgId)) ;
|
mGixs->timeStampKey(metaData.mAuthorId,RsIdentityUsage(RsServiceType(mServType),RsIdentityUsage::MESSAGE_AUTHOR_SIGNATURE_VALIDATION,
|
||||||
|
metaData.mGroupId,
|
||||||
|
metaData.mMsgId,
|
||||||
|
metaData.mParentId,
|
||||||
|
metaData.mThreadId)) ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -949,7 +953,12 @@ int RsGenExchange::validateMsg(RsNxsMsg *msg, const uint32_t& grpFlag, const uin
|
|||||||
{
|
{
|
||||||
std::list<RsPeerId> peers;
|
std::list<RsPeerId> peers;
|
||||||
peers.push_back(msg->PeerId());
|
peers.push_back(msg->PeerId());
|
||||||
mGixs->requestKey(metaData.mAuthorId, peers, RsIdentityUsage(serviceType(),RsIdentityUsage::MESSAGE_AUTHOR_SIGNATURE_VALIDATION,metaData.mGroupId,metaData.mMsgId));
|
mGixs->requestKey(metaData.mAuthorId, peers, RsIdentityUsage((RsServiceType)serviceType(),
|
||||||
|
RsIdentityUsage::MESSAGE_AUTHOR_SIGNATURE_VALIDATION,
|
||||||
|
metaData.mGroupId,
|
||||||
|
metaData.mMsgId,
|
||||||
|
metaData.mParentId,
|
||||||
|
metaData.mThreadId));
|
||||||
|
|
||||||
#ifdef GEN_EXCH_DEBUG
|
#ifdef GEN_EXCH_DEBUG
|
||||||
std::cerr << ", Key missing. Retry later." << std::endl;
|
std::cerr << ", Key missing. Retry later." << std::endl;
|
||||||
@ -1026,7 +1035,7 @@ int RsGenExchange::validateGrp(RsNxsGrp* grp)
|
|||||||
#ifdef GEN_EXCH_DEBUG
|
#ifdef GEN_EXCH_DEBUG
|
||||||
std::cerr << " key ID validation result: " << idValidate << std::endl;
|
std::cerr << " key ID validation result: " << idValidate << std::endl;
|
||||||
#endif
|
#endif
|
||||||
mGixs->timeStampKey(metaData.mAuthorId,RsIdentityUsage(mServType,RsIdentityUsage::GROUP_AUTHOR_SIGNATURE_VALIDATION,metaData.mGroupId));
|
mGixs->timeStampKey(metaData.mAuthorId,RsIdentityUsage(RsServiceType(mServType),RsIdentityUsage::GROUP_AUTHOR_SIGNATURE_VALIDATION,metaData.mGroupId));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1044,7 +1053,7 @@ int RsGenExchange::validateGrp(RsNxsGrp* grp)
|
|||||||
#endif
|
#endif
|
||||||
std::list<RsPeerId> peers;
|
std::list<RsPeerId> peers;
|
||||||
peers.push_back(grp->PeerId());
|
peers.push_back(grp->PeerId());
|
||||||
mGixs->requestKey(metaData.mAuthorId, peers,RsIdentityUsage(mServType,RsIdentityUsage::GROUP_AUTHOR_SIGNATURE_VALIDATION,metaData.mGroupId));
|
mGixs->requestKey(metaData.mAuthorId, peers,RsIdentityUsage(RsServiceType(mServType),RsIdentityUsage::GROUP_AUTHOR_SIGNATURE_VALIDATION,metaData.mGroupId));
|
||||||
return VALIDATE_FAIL_TRY_LATER;
|
return VALIDATE_FAIL_TRY_LATER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3346,7 +3355,7 @@ bool RsGenExchange::updateValid(const RsGxsGrpMetaData& oldGrpMeta, const RsNxsG
|
|||||||
// also check this is the latest published group
|
// also check this is the latest published group
|
||||||
bool latest = newGrp.metaData->mPublishTs > oldGrpMeta.mPublishTs;
|
bool latest = newGrp.metaData->mPublishTs > oldGrpMeta.mPublishTs;
|
||||||
|
|
||||||
mGixs->timeStampKey(newGrp.metaData->mAuthorId, RsIdentityUsage(mServType,RsIdentityUsage::GROUP_ADMIN_SIGNATURE_CREATION, oldGrpMeta.mGroupId)) ;
|
mGixs->timeStampKey(newGrp.metaData->mAuthorId, RsIdentityUsage(RsServiceType(mServType),RsIdentityUsage::GROUP_ADMIN_SIGNATURE_CREATION, oldGrpMeta.mGroupId)) ;
|
||||||
|
|
||||||
return GxsSecurity::validateNxsGrp(newGrp, adminSign, keyMit->second) && latest;
|
return GxsSecurity::validateNxsGrp(newGrp, adminSign, keyMit->second) && latest;
|
||||||
}
|
}
|
||||||
|
@ -1046,9 +1046,9 @@ bool RsGxsDataAccess::getMsgMetaDataList( const GxsMsgReq& msgIds, const RsTokRe
|
|||||||
// Now loop once over message Metas and see if they have a parent. If yes, then mark the parent to be discarded.
|
// Now loop once over message Metas and see if they have a parent. If yes, then mark the parent to be discarded.
|
||||||
|
|
||||||
for(uint32_t i=0;i<metaV.size();++i)
|
for(uint32_t i=0;i<metaV.size();++i)
|
||||||
if(!metaV[i]->mParentId.isNull() && metaV[i]->mParentId != metaV[i]->mMsgId) // this one is a follow up
|
if(!metaV[i]->mOrigMsgId.isNull() && metaV[i]->mOrigMsgId != metaV[i]->mMsgId) // this one is a follow up
|
||||||
{
|
{
|
||||||
auto it = index_in_metaV.find(metaV[i]->mParentId);
|
auto it = index_in_metaV.find(metaV[i]->mOrigMsgId);
|
||||||
|
|
||||||
if(it != index_in_metaV.end())
|
if(it != index_in_metaV.end())
|
||||||
keep[it->second] = false;
|
keep[it->second] = false;
|
||||||
@ -1240,61 +1240,42 @@ bool RsGxsDataAccess::getMsgRelatedInfo(MsgRelatedInfoReq *req)
|
|||||||
onlyThreadMsgs = true;
|
onlyThreadMsgs = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (onlyAllVersions && onlyChildMsgs)
|
if(onlyAllVersions && onlyChildMsgs)
|
||||||
{
|
{
|
||||||
#ifdef DATA_DEBUG
|
RS_ERR("Incompatible FLAGS (VERSIONS & PARENT)");
|
||||||
RsDbg() << "RsGxsDataAccess::getMsgRelatedList() ERROR Incompatible FLAGS (VERSIONS & PARENT)" << std::endl;
|
return false;
|
||||||
#endif
|
}
|
||||||
|
|
||||||
return false;
|
if(onlyAllVersions && onlyThreadMsgs)
|
||||||
}
|
{
|
||||||
|
RS_ERR("Incompatible FLAGS (VERSIONS & THREAD)");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (onlyAllVersions && onlyThreadMsgs)
|
if((!onlyLatestMsgs) && onlyChildMsgs)
|
||||||
{
|
{
|
||||||
#ifdef DATA_DEBUG
|
RS_ERR("Incompatible FLAGS (!LATEST & PARENT)");
|
||||||
RsDbg() << "RsGxsDataAccess::getMsgRelatedList() ERROR Incompatible FLAGS (VERSIONS & THREAD)" << std::endl;
|
return false;
|
||||||
#endif
|
}
|
||||||
|
|
||||||
return false;
|
if((!onlyLatestMsgs) && onlyThreadMsgs)
|
||||||
}
|
{
|
||||||
|
RS_ERR("Incompatible FLAGS (!LATEST & THREAD)");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if ((!onlyLatestMsgs) && onlyChildMsgs)
|
if(onlyChildMsgs && onlyThreadMsgs)
|
||||||
{
|
{
|
||||||
#ifdef DATA_DEBUG
|
RS_ERR("Incompatible FLAGS (PARENT & THREAD)");
|
||||||
RsDbg() << "RsGxsDataAccess::getMsgRelatedList() ERROR Incompatible FLAGS (!LATEST & PARENT)" << std::endl;
|
return false;
|
||||||
#endif
|
}
|
||||||
|
|
||||||
return false;
|
if( (!onlyLatestMsgs) && (!onlyAllVersions) && (!onlyChildMsgs) &&
|
||||||
}
|
(!onlyThreadMsgs) )
|
||||||
|
{
|
||||||
if ((!onlyLatestMsgs) && onlyThreadMsgs)
|
RS_WARN("NO FLAGS -> SIMPLY RETURN nothing");
|
||||||
{
|
return true;
|
||||||
#ifdef DATA_DEBUG
|
}
|
||||||
RsDbg() << "RsGxsDataAccess::getMsgRelatedList() ERROR Incompatible FLAGS (!LATEST & THREAD)" << std::endl;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (onlyChildMsgs && onlyThreadMsgs)
|
|
||||||
{
|
|
||||||
#ifdef DATA_DEBUG
|
|
||||||
RsDbg() << "RsGxsDataAccess::getMsgRelatedList() ERROR Incompatible FLAGS (PARENT & THREAD)" << std::endl;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* FALL BACK OPTION */
|
|
||||||
if ((!onlyLatestMsgs) && (!onlyAllVersions) && (!onlyChildMsgs) && (!onlyThreadMsgs))
|
|
||||||
{
|
|
||||||
#ifdef DATA_DEBUG
|
|
||||||
RsDbg() << "RsGxsDataAccess::getMsgRelatedList() FALLBACK -> NO FLAGS -> SIMPLY RETURN nothing" << std::endl;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(auto vit_msgIds(req->mMsgIds.begin()); vit_msgIds != req->mMsgIds.end(); ++vit_msgIds)
|
for(auto vit_msgIds(req->mMsgIds.begin()); vit_msgIds != req->mMsgIds.end(); ++vit_msgIds)
|
||||||
{
|
{
|
||||||
@ -1330,14 +1311,11 @@ bool RsGxsDataAccess::getMsgRelatedInfo(MsgRelatedInfoReq *req)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!origMeta)
|
if(!origMeta)
|
||||||
{
|
{
|
||||||
#ifdef DATA_DEBUG
|
RS_ERR("Cannot find meta of msgId: ", msgId, " to relate to");
|
||||||
RsDbg() << "RsGxsDataAccess::getMsgRelatedInfo(): Cannot find meta of msgId (to relate to)!"
|
return false;
|
||||||
<< std::endl;
|
}
|
||||||
#endif
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const RsGxsMessageId& origMsgId = origMeta->mOrigMsgId;
|
const RsGxsMessageId& origMsgId = origMeta->mOrigMsgId;
|
||||||
std::map<RsGxsMessageId, const RsGxsMsgMetaData*>& metaMap = filterMap[grpId];
|
std::map<RsGxsMessageId, const RsGxsMsgMetaData*>& metaMap = filterMap[grpId];
|
||||||
|
@ -275,7 +275,7 @@
|
|||||||
NXS_NET_DEBUG_9 gxs distant search
|
NXS_NET_DEBUG_9 gxs distant search
|
||||||
|
|
||||||
***/
|
***/
|
||||||
#define NXS_NET_DEBUG_0 1
|
//#define NXS_NET_DEBUG_0 1
|
||||||
//#define NXS_NET_DEBUG_1 1
|
//#define NXS_NET_DEBUG_1 1
|
||||||
//#define NXS_NET_DEBUG_2 1
|
//#define NXS_NET_DEBUG_2 1
|
||||||
//#define NXS_NET_DEBUG_3 1
|
//#define NXS_NET_DEBUG_3 1
|
||||||
@ -324,8 +324,8 @@ static const uint32_t RS_NXS_ITEM_ENCRYPTION_STATUS_GXS_KEY_MISSING = 0x05 ;
|
|||||||
|| defined(NXS_NET_DEBUG_8) || defined(NXS_NET_DEBUG_9)
|
|| defined(NXS_NET_DEBUG_8) || defined(NXS_NET_DEBUG_9)
|
||||||
|
|
||||||
static const RsPeerId peer_to_print = RsPeerId();//std::string("a97fef0e2dc82ddb19200fb30f9ac575")) ;
|
static const RsPeerId peer_to_print = RsPeerId();//std::string("a97fef0e2dc82ddb19200fb30f9ac575")) ;
|
||||||
static const RsGxsGroupId group_id_to_print = RsGxsGroupId(std::string("66052380f5d1d0c5992e2b55dc402ce6")) ; // use this to allow to this group id only, or "" for all IDs
|
static const RsGxsGroupId group_id_to_print = RsGxsGroupId();//std::string("66052380f5d1d0c5992e2b55dc402ce6")) ; // use this to allow to this group id only, or "" for all IDs
|
||||||
static const uint32_t service_to_print = RS_SERVICE_GXS_TYPE_GXSCIRCLE; // use this to allow to this service id only, or 0 for all services
|
static const uint32_t service_to_print = RS_SERVICE_GXS_TYPE_GXSID; // use this to allow to this service id only, or 0 for all services
|
||||||
// warning. Numbers should be SERVICE IDS (see serialiser/rsserviceids.h. E.g. 0x0215 for forums)
|
// warning. Numbers should be SERVICE IDS (see serialiser/rsserviceids.h. E.g. 0x0215 for forums)
|
||||||
|
|
||||||
class nullstream: public std::ostream {};
|
class nullstream: public std::ostream {};
|
||||||
@ -593,32 +593,30 @@ void RsGxsNetService::syncWithPeers()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<RsPeerId>::iterator sit = peers.begin();
|
// for now just grps
|
||||||
|
for(auto sit = peers.begin(); sit != peers.end(); ++sit)
|
||||||
|
{
|
||||||
|
|
||||||
// for now just grps
|
const RsPeerId peerId = *sit;
|
||||||
for(; sit != peers.end(); ++sit)
|
|
||||||
{
|
|
||||||
|
|
||||||
const RsPeerId peerId = *sit;
|
ClientGrpMap::const_iterator cit = mClientGrpUpdateMap.find(peerId);
|
||||||
|
uint32_t updateTS = 0;
|
||||||
|
|
||||||
ClientGrpMap::const_iterator cit = mClientGrpUpdateMap.find(peerId);
|
if(cit != mClientGrpUpdateMap.end())
|
||||||
uint32_t updateTS = 0;
|
{
|
||||||
|
const RsGxsGrpUpdate *gui = &cit->second;
|
||||||
if(cit != mClientGrpUpdateMap.end())
|
updateTS = gui->grpUpdateTS;
|
||||||
{
|
}
|
||||||
const RsGxsGrpUpdate *gui = &cit->second;
|
RsNxsSyncGrpReqItem *grp = new RsNxsSyncGrpReqItem(mServType);
|
||||||
updateTS = gui->grpUpdateTS;
|
grp->clear();
|
||||||
}
|
grp->PeerId(*sit);
|
||||||
RsNxsSyncGrpReqItem *grp = new RsNxsSyncGrpReqItem(mServType);
|
grp->updateTS = updateTS;
|
||||||
grp->clear();
|
|
||||||
grp->PeerId(*sit);
|
|
||||||
grp->updateTS = updateTS;
|
|
||||||
|
|
||||||
#ifdef NXS_NET_DEBUG_5
|
#ifdef NXS_NET_DEBUG_5
|
||||||
GXSNETDEBUG_P_(*sit) << "Service "<< std::hex << ((mServiceInfo.mServiceType >> 8)& 0xffff) << std::dec << " sending global group TS of peer id: " << *sit << " ts=" << nice_time_stamp(time(NULL),updateTS) << " (secs ago) to himself" << std::endl;
|
GXSNETDEBUG_P_(*sit) << "Service "<< std::hex << ((mServiceInfo.mServiceType >> 8)& 0xffff) << std::dec << " sending global group TS of peer id: " << *sit << " ts=" << nice_time_stamp(time(NULL),updateTS) << " (secs ago) to himself" << std::endl;
|
||||||
#endif
|
#endif
|
||||||
generic_sendItem(grp);
|
generic_sendItem(grp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!mAllowMsgSync)
|
if(!mAllowMsgSync)
|
||||||
return ;
|
return ;
|
||||||
@ -644,15 +642,13 @@ void RsGxsNetService::syncWithPeers()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sit = peers.begin();
|
|
||||||
|
|
||||||
// Synchronise group msg for groups which we're subscribed to
|
// Synchronise group msg for groups which we're subscribed to
|
||||||
// For each peer and each group, we send to the peer the time stamp of the most
|
// For each peer and each group, we send to the peer the time stamp of the most
|
||||||
// recent modification the peer has sent. If the peer has more recent messages he will send them, because its latest
|
// recent modification the peer has sent. If the peer has more recent messages he will send them, because its latest
|
||||||
// modifications will be more recent. This ensures that we always compare timestamps all taken in the same
|
// modifications will be more recent. This ensures that we always compare timestamps all taken in the same
|
||||||
// computer (the peer's computer in this case)
|
// computer (the peer's computer in this case)
|
||||||
|
|
||||||
for(; sit != peers.end(); ++sit)
|
for(auto sit = peers.begin(); sit != peers.end(); ++sit)
|
||||||
{
|
{
|
||||||
const RsPeerId& peerId = *sit;
|
const RsPeerId& peerId = *sit;
|
||||||
|
|
||||||
@ -3183,7 +3179,8 @@ void RsGxsNetService::locked_genReqGrpTransaction(NxsTransaction* tr)
|
|||||||
{
|
{
|
||||||
grpItemL.push_back(item);
|
grpItemL.push_back(item);
|
||||||
grpMetaMap[item->grpId] = NULL;
|
grpMetaMap[item->grpId] = NULL;
|
||||||
}else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
#ifdef NXS_NET_DEBUG_0
|
#ifdef NXS_NET_DEBUG_0
|
||||||
GXSNETDEBUG_PG(tr->mTransaction->PeerId(),item->grpId) << "RsGxsNetService::genReqGrpTransaction(): item failed to caste to RsNxsSyncMsgItem* " << std::endl;
|
GXSNETDEBUG_PG(tr->mTransaction->PeerId(),item->grpId) << "RsGxsNetService::genReqGrpTransaction(): item failed to caste to RsNxsSyncMsgItem* " << std::endl;
|
||||||
@ -3226,7 +3223,7 @@ void RsGxsNetService::locked_genReqGrpTransaction(NxsTransaction* tr)
|
|||||||
RsNxsSyncGrpItem*& grpSyncItem = *llit;
|
RsNxsSyncGrpItem*& grpSyncItem = *llit;
|
||||||
const RsGxsGroupId& grpId = grpSyncItem->grpId;
|
const RsGxsGroupId& grpId = grpSyncItem->grpId;
|
||||||
|
|
||||||
std::map<RsGxsGroupId, RsGxsGrpMetaData*>::const_iterator metaIter = grpMetaMap.find(grpId);
|
std::map<RsGxsGroupId, RsGxsGrpMetaData*>::const_iterator metaIter = grpMetaMap.find(grpId);
|
||||||
bool haveItem = false;
|
bool haveItem = false;
|
||||||
bool latestVersion = false;
|
bool latestVersion = false;
|
||||||
|
|
||||||
@ -3237,19 +3234,21 @@ void RsGxsNetService::locked_genReqGrpTransaction(NxsTransaction* tr)
|
|||||||
}
|
}
|
||||||
// FIXTESTS global variable rsReputations not available in unittests!
|
// FIXTESTS global variable rsReputations not available in unittests!
|
||||||
|
|
||||||
#warning csoler 2016-12-23: Update the code below to correctly send/recv dependign on reputation
|
if( mReputations->overallReputationLevel(RsGxsId(grpSyncItem->grpId)) == RsReputationLevel::LOCALLY_NEGATIVE )
|
||||||
if( !grpSyncItem->authorId.isNull() &&
|
|
||||||
mReputations->overallReputationLevel(grpSyncItem->authorId) ==
|
|
||||||
RsReputationLevel::LOCALLY_NEGATIVE )
|
|
||||||
{
|
{
|
||||||
#ifdef NXS_NET_DEBUG_0
|
#ifdef NXS_NET_DEBUG_0
|
||||||
GXSNETDEBUG_PG(tr->mTransaction->PeerId(),grpId) << " Identity " << grpSyncItem->authorId << " is banned. Not syncing group." << std::endl;
|
GXSNETDEBUG_PG(tr->mTransaction->PeerId(),grpId) << " Identity " << grpSyncItem->grpId << " is banned. Not GXS-syncing group." << std::endl;
|
||||||
#endif
|
#endif
|
||||||
continue ;
|
continue ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( (mGrpAutoSync && !haveItem) || latestVersion)
|
if( (mGrpAutoSync && !haveItem) || latestVersion)
|
||||||
|
{
|
||||||
|
#ifdef NXS_NET_DEBUG_0
|
||||||
|
GXSNETDEBUG_PG(tr->mTransaction->PeerId(),grpId) << " Identity " << grpId << " will be sync-ed using GXS. mGrpAutoSync:" << mGrpAutoSync << " haveItem:" << haveItem << " latest_version: " << latestVersion << std::endl;
|
||||||
|
#endif
|
||||||
addGroupItemToList(tr, grpId, transN, reqList);
|
addGroupItemToList(tr, grpId, transN, reqList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!reqList.empty())
|
if(!reqList.empty())
|
||||||
|
@ -215,7 +215,8 @@ bool RsGxsIntegrityCheck::check()
|
|||||||
rsReputations->overallReputationLevel(
|
rsReputations->overallReputationLevel(
|
||||||
grp->metaData->mAuthorId ) >
|
grp->metaData->mAuthorId ) >
|
||||||
RsReputationLevel::LOCALLY_NEGATIVE )
|
RsReputationLevel::LOCALLY_NEGATIVE )
|
||||||
used_gxs_ids.insert(std::make_pair(grp->metaData->mAuthorId, RsIdentityUsage(mGenExchangeClient->serviceType(), RsIdentityUsage::GROUP_AUTHOR_KEEP_ALIVE,grp->grpId)));
|
used_gxs_ids.insert(std::make_pair(grp->metaData->mAuthorId, RsIdentityUsage(RsServiceType(mGenExchangeClient->serviceType()),
|
||||||
|
RsIdentityUsage::GROUP_AUTHOR_KEEP_ALIVE,grp->grpId)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -404,7 +405,12 @@ bool RsGxsIntegrityCheck::check()
|
|||||||
rsReputations->overallReputationLevel(
|
rsReputations->overallReputationLevel(
|
||||||
msg->metaData->mAuthorId ) >
|
msg->metaData->mAuthorId ) >
|
||||||
RsReputationLevel::LOCALLY_NEGATIVE )
|
RsReputationLevel::LOCALLY_NEGATIVE )
|
||||||
used_gxs_ids.insert(std::make_pair(msg->metaData->mAuthorId,RsIdentityUsage(mGenExchangeClient->serviceType(),RsIdentityUsage::MESSAGE_AUTHOR_KEEP_ALIVE,msg->metaData->mGroupId,msg->metaData->mMsgId))) ;
|
used_gxs_ids.insert(std::make_pair(msg->metaData->mAuthorId,RsIdentityUsage(RsServiceType(mGenExchangeClient->serviceType()),
|
||||||
|
RsIdentityUsage::MESSAGE_AUTHOR_KEEP_ALIVE,
|
||||||
|
msg->metaData->mGroupId,
|
||||||
|
msg->metaData->mMsgId,
|
||||||
|
msg->metaData->mParentId,
|
||||||
|
msg->metaData->mThreadId))) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -976,7 +976,7 @@ void p3GxsTunnelService::handleRecvDHPublicKey(RsGxsTunnelDHPublicKeyItem *item)
|
|||||||
std::cerr << "(SS) Signature was verified and it doesn't check! This is a security issue!" << std::endl;
|
std::cerr << "(SS) Signature was verified and it doesn't check! This is a security issue!" << std::endl;
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
mGixs->timeStampKey(item->signature.keyId,RsIdentityUsage(RS_SERVICE_TYPE_GXS_TUNNEL,RsIdentityUsage::GXS_TUNNEL_DH_SIGNATURE_CHECK));
|
mGixs->timeStampKey(item->signature.keyId,RsIdentityUsage(RsServiceType::GXS_TUNNEL,RsIdentityUsage::GXS_TUNNEL_DH_SIGNATURE_CHECK));
|
||||||
|
|
||||||
#ifdef DEBUG_GXS_TUNNEL
|
#ifdef DEBUG_GXS_TUNNEL
|
||||||
std::cerr << " Signature checks! Sender's ID = " << senders_id << std::endl;
|
std::cerr << " Signature checks! Sender's ID = " << senders_id << std::endl;
|
||||||
|
@ -238,7 +238,7 @@ win32-x-g++ {
|
|||||||
}
|
}
|
||||||
################################# Windows ##########################################
|
################################# Windows ##########################################
|
||||||
|
|
||||||
win32-g++ {
|
win32-g++|win32-clang-g++ {
|
||||||
QMAKE_CC = $${QMAKE_CXX}
|
QMAKE_CC = $${QMAKE_CXX}
|
||||||
OBJECTS_DIR = temp/obj
|
OBJECTS_DIR = temp/obj
|
||||||
MOC_DIR = temp/moc
|
MOC_DIR = temp/moc
|
||||||
@ -852,23 +852,41 @@ rs_jsonapi {
|
|||||||
no_rs_cross_compiling {
|
no_rs_cross_compiling {
|
||||||
DUMMYRESTBEDINPUT = FORCE
|
DUMMYRESTBEDINPUT = FORCE
|
||||||
CMAKE_GENERATOR_OVERRIDE=""
|
CMAKE_GENERATOR_OVERRIDE=""
|
||||||
win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
win32-g++|win32-clang-g++ {
|
||||||
|
isEmpty(QMAKE_SH) {
|
||||||
|
CMAKE_GENERATOR_OVERRIDE="-G \"MinGW Makefiles\""
|
||||||
|
} else {
|
||||||
|
CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||||
|
}
|
||||||
|
}
|
||||||
genrestbedlib.name = Generating librestbed.
|
genrestbedlib.name = Generating librestbed.
|
||||||
genrestbedlib.input = DUMMYRESTBEDINPUT
|
genrestbedlib.input = DUMMYRESTBEDINPUT
|
||||||
genrestbedlib.output = $$clean_path($${RESTBED_BUILD_PATH}/librestbed.a)
|
genrestbedlib.output = $$clean_path($${RESTBED_BUILD_PATH}/librestbed.a)
|
||||||
genrestbedlib.CONFIG += target_predeps combine
|
genrestbedlib.CONFIG += target_predeps combine
|
||||||
genrestbedlib.variable_out = PRE_TARGETDEPS
|
genrestbedlib.variable_out = PRE_TARGETDEPS
|
||||||
genrestbedlib.commands = \
|
win32-g++:isEmpty(QMAKE_SH) {
|
||||||
cd $${RS_SRC_PATH} && ( \
|
genrestbedlib.commands = \
|
||||||
git submodule update --init supportlibs/restbed ; \
|
cd $$shell_path($${RS_SRC_PATH}) && git submodule update --init supportlibs/restbed || cd . $$escape_expand(\\n\\t) \
|
||||||
cd $${RESTBED_SRC_PATH} ; \
|
cd $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/asio || cd . $$escape_expand(\\n\\t) \
|
||||||
git submodule update --init dependency/asio ; \
|
cd $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/catch || cd . $$escape_expand(\\n\\t )\
|
||||||
git submodule update --init dependency/catch ; \
|
cd $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/kashmir || cd . $$escape_expand(\\n\\t) \
|
||||||
git submodule update --init dependency/kashmir ; \
|
$(CHK_DIR_EXISTS) $$shell_path($$UDP_DISCOVERY_BUILD_PATH) $(MKDIR) $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) $$escape_expand(\\n\\t)
|
||||||
true ) && \
|
} else {
|
||||||
mkdir -p $${RESTBED_BUILD_PATH} && cd $${RESTBED_BUILD_PATH} && \
|
genrestbedlib.commands = \
|
||||||
|
cd $${RS_SRC_PATH} && ( \
|
||||||
|
git submodule update --init supportlibs/restbed ; \
|
||||||
|
cd $${RESTBED_SRC_PATH} ; \
|
||||||
|
git submodule update --init dependency/asio ; \
|
||||||
|
git submodule update --init dependency/catch ; \
|
||||||
|
git submodule update --init dependency/kashmir ; \
|
||||||
|
true ) && \
|
||||||
|
mkdir -p $${RESTBED_BUILD_PATH} &&
|
||||||
|
}
|
||||||
|
genrestbedlib.commands += \
|
||||||
|
cd $$shell_path($${RESTBED_BUILD_PATH}) && \
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
||||||
|
\"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \
|
||||||
$${CMAKE_GENERATOR_OVERRIDE} -DBUILD_SSL=OFF \
|
$${CMAKE_GENERATOR_OVERRIDE} -DBUILD_SSL=OFF \
|
||||||
-DCMAKE_INSTALL_PREFIX=. -B. \
|
-DCMAKE_INSTALL_PREFIX=. -B. \
|
||||||
-H$$shell_path($${RESTBED_SRC_PATH}) && \
|
-H$$shell_path($${RESTBED_SRC_PATH}) && \
|
||||||
@ -881,7 +899,7 @@ rs_jsonapi {
|
|||||||
genrestbedheader.output = $${RESTBED_HEADER_FILE}
|
genrestbedheader.output = $${RESTBED_HEADER_FILE}
|
||||||
genrestbedheader.CONFIG += target_predeps no_link
|
genrestbedheader.CONFIG += target_predeps no_link
|
||||||
genrestbedheader.variable_out = HEADERS
|
genrestbedheader.variable_out = HEADERS
|
||||||
genrestbedheader.commands = cd $${RESTBED_BUILD_PATH} && $(MAKE) install
|
genrestbedheader.commands = cd $$shell_path($${RESTBED_BUILD_PATH}) && $(MAKE) install
|
||||||
QMAKE_EXTRA_COMPILERS += genrestbedheader
|
QMAKE_EXTRA_COMPILERS += genrestbedheader
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -897,13 +915,19 @@ rs_jsonapi {
|
|||||||
genjsonapi.clean = $${WRAPPERS_INCL_FILE} $${WRAPPERS_REG_FILE}
|
genjsonapi.clean = $${WRAPPERS_INCL_FILE} $${WRAPPERS_REG_FILE}
|
||||||
genjsonapi.CONFIG += target_predeps combine no_link
|
genjsonapi.CONFIG += target_predeps combine no_link
|
||||||
genjsonapi.variable_out = HEADERS
|
genjsonapi.variable_out = HEADERS
|
||||||
genjsonapi.commands = \
|
win32-g++:isEmpty(QMAKE_SH) {
|
||||||
mkdir -p $${JSONAPI_GENERATOR_OUT} && \
|
genjsonapi.commands = \
|
||||||
cp $${DOXIGEN_CONFIG_SRC} $${DOXIGEN_CONFIG_OUT} && \
|
$(CHK_DIR_EXISTS) $$shell_path($$JSONAPI_GENERATOR_OUT) $(MKDIR) $$shell_path($${JSONAPI_GENERATOR_OUT}) $$escape_expand(\\n\\t)
|
||||||
echo OUTPUT_DIRECTORY=$${JSONAPI_GENERATOR_OUT} >> $${DOXIGEN_CONFIG_OUT} && \
|
} else {
|
||||||
echo INPUT=$${DOXIGEN_INPUT_DIRECTORY} >> $${DOXIGEN_CONFIG_OUT} && \
|
genjsonapi.commands = \
|
||||||
doxygen $${DOXIGEN_CONFIG_OUT} && \
|
mkdir -p $${JSONAPI_GENERATOR_OUT} && \
|
||||||
$${JSONAPI_GENERATOR_EXE} $${JSONAPI_GENERATOR_SRC} $${JSONAPI_GENERATOR_OUT};
|
cp $${DOXIGEN_CONFIG_SRC} $${DOXIGEN_CONFIG_OUT} && \
|
||||||
|
echo OUTPUT_DIRECTORY=$${JSONAPI_GENERATOR_OUT} >> $${DOXIGEN_CONFIG_OUT} && \
|
||||||
|
echo INPUT=$${DOXIGEN_INPUT_DIRECTORY} >> $${DOXIGEN_CONFIG_OUT} && \
|
||||||
|
doxygen $${DOXIGEN_CONFIG_OUT} &&
|
||||||
|
}
|
||||||
|
genjsonapi.commands += \
|
||||||
|
$${JSONAPI_GENERATOR_EXE} $${JSONAPI_GENERATOR_SRC} $${JSONAPI_GENERATOR_OUT}
|
||||||
QMAKE_EXTRA_COMPILERS += genjsonapi
|
QMAKE_EXTRA_COMPILERS += genjsonapi
|
||||||
|
|
||||||
# Force recalculation of libretroshare dependencies see https://stackoverflow.com/a/47884045
|
# Force recalculation of libretroshare dependencies see https://stackoverflow.com/a/47884045
|
||||||
@ -949,20 +973,34 @@ rs_broadcast_discovery {
|
|||||||
no_rs_cross_compiling {
|
no_rs_cross_compiling {
|
||||||
DUMMYQMAKECOMPILERINPUT = FORCE
|
DUMMYQMAKECOMPILERINPUT = FORCE
|
||||||
CMAKE_GENERATOR_OVERRIDE=""
|
CMAKE_GENERATOR_OVERRIDE=""
|
||||||
win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
win32-g++|win32-clang-g++ {
|
||||||
|
isEmpty(QMAKE_SH) {
|
||||||
|
CMAKE_GENERATOR_OVERRIDE="-G \"MinGW Makefiles\""
|
||||||
|
} else {
|
||||||
|
CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||||
|
}
|
||||||
|
}
|
||||||
udpdiscoverycpplib.name = Generating libudp-discovery.a.
|
udpdiscoverycpplib.name = Generating libudp-discovery.a.
|
||||||
udpdiscoverycpplib.input = DUMMYQMAKECOMPILERINPUT
|
udpdiscoverycpplib.input = DUMMYQMAKECOMPILERINPUT
|
||||||
udpdiscoverycpplib.output = $$clean_path($${UDP_DISCOVERY_BUILD_PATH}/libudp-discovery.a)
|
udpdiscoverycpplib.output = $$clean_path($${UDP_DISCOVERY_BUILD_PATH}/libudp-discovery.a)
|
||||||
udpdiscoverycpplib.CONFIG += target_predeps combine
|
udpdiscoverycpplib.CONFIG += target_predeps combine
|
||||||
udpdiscoverycpplib.variable_out = PRE_TARGETDEPS
|
udpdiscoverycpplib.variable_out = PRE_TARGETDEPS
|
||||||
udpdiscoverycpplib.commands = \
|
win32-g++:isEmpty(QMAKE_SH) {
|
||||||
cd $${RS_SRC_PATH} && ( \
|
udpdiscoverycpplib.commands = \
|
||||||
git submodule update --init supportlibs/udp-discovery-cpp || \
|
cd $$shell_path($${RS_SRC_PATH}) && git submodule update --init supportlibs/udp-discovery-cpp || cd . $$escape_expand(\\n\\t) \
|
||||||
true ) && \
|
$(CHK_DIR_EXISTS) $$shell_path($$UDP_DISCOVERY_BUILD_PATH) $(MKDIR) $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) $$escape_expand(\\n\\t)
|
||||||
mkdir -p $${UDP_DISCOVERY_BUILD_PATH} && \
|
} else {
|
||||||
cd $${UDP_DISCOVERY_BUILD_PATH} && \
|
udpdiscoverycpplib.commands = \
|
||||||
|
cd $${RS_SRC_PATH} && ( \
|
||||||
|
git submodule update --init supportlibs/udp-discovery-cpp || \
|
||||||
|
true ) && \
|
||||||
|
mkdir -p $${UDP_DISCOVERY_BUILD_PATH} &&
|
||||||
|
}
|
||||||
|
udpdiscoverycpplib.commands += \
|
||||||
|
cd $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) && \
|
||||||
cmake -DCMAKE_C_COMPILER=$$fixQmakeCC($$QMAKE_CC) \
|
cmake -DCMAKE_C_COMPILER=$$fixQmakeCC($$QMAKE_CC) \
|
||||||
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
||||||
|
\"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \
|
||||||
$${CMAKE_GENERATOR_OVERRIDE} \
|
$${CMAKE_GENERATOR_OVERRIDE} \
|
||||||
-DBUILD_EXAMPLE=OFF -DBUILD_TOOL=OFF \
|
-DBUILD_EXAMPLE=OFF -DBUILD_TOOL=OFF \
|
||||||
-DCMAKE_INSTALL_PREFIX=. -B. \
|
-DCMAKE_INSTALL_PREFIX=. -B. \
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
* libretroshare: retroshare core library *
|
* libretroshare: retroshare core library *
|
||||||
* *
|
* *
|
||||||
* Copyright (C) 2012-2014 Robert Fernie <retroshare@lunamutt.com> *
|
* Copyright (C) 2012-2014 Robert Fernie <retroshare@lunamutt.com> *
|
||||||
* Copyright (C) 2018-2019 Gioacchino Mazzurco <gio@eigenlab.org> *
|
* Copyright (C) 2018-2020 Gioacchino Mazzurco <gio@eigenlab.org> *
|
||||||
|
* Copyright (C) 2019-2020 Asociación Civil Altermundi <info@altermundi.net> *
|
||||||
* *
|
* *
|
||||||
* This program is free software: you can redistribute it and/or modify *
|
* This program is free software: you can redistribute it and/or modify *
|
||||||
* it under the terms of the GNU Lesser General Public License as *
|
* it under the terms of the GNU Lesser General Public License as *
|
||||||
@ -25,6 +26,7 @@
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <list>
|
#include <list>
|
||||||
|
#include <system_error>
|
||||||
|
|
||||||
#include "retroshare/rstokenservice.h"
|
#include "retroshare/rstokenservice.h"
|
||||||
#include "retroshare/rsgxsifacehelper.h"
|
#include "retroshare/rsgxsifacehelper.h"
|
||||||
@ -353,6 +355,19 @@ public:
|
|||||||
RsGxsGroupId& forumId = RS_DEFAULT_STORAGE_PARAM(RsGxsGroupId),
|
RsGxsGroupId& forumId = RS_DEFAULT_STORAGE_PARAM(RsGxsGroupId),
|
||||||
std::string& errMsg = RS_DEFAULT_STORAGE_PARAM(std::string) ) = 0;
|
std::string& errMsg = RS_DEFAULT_STORAGE_PARAM(std::string) ) = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get posts related to the given post.
|
||||||
|
* If the set is empty, nothing is returned.
|
||||||
|
* @jsonapi{development}
|
||||||
|
* @param[in] forumId id of the forum of which the content is requested
|
||||||
|
* @param[in] parentId id of the post of which child posts (aka replies)
|
||||||
|
* are requested.
|
||||||
|
* @param[out] childPosts storage for the child posts
|
||||||
|
* @return false if something failed, true otherwhise
|
||||||
|
*/
|
||||||
|
virtual std::error_condition getChildPosts(
|
||||||
|
const RsGxsGroupId& forumId, const RsGxsMessageId& parentId,
|
||||||
|
std::vector<RsGxsForumMsg>& childPosts ) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Create forum. Blocking API.
|
* @brief Create forum. Blocking API.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user