summaryrefslogtreecommitdiff
path: root/setup/scripts/make_pkgs.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'setup/scripts/make_pkgs.cmd')
-rw-r--r--setup/scripts/make_pkgs.cmd446
1 files changed, 446 insertions, 0 deletions
diff --git a/setup/scripts/make_pkgs.cmd b/setup/scripts/make_pkgs.cmd
new file mode 100644
index 0000000..6cd0221
--- /dev/null
+++ b/setup/scripts/make_pkgs.cmd
@@ -0,0 +1,446 @@
+@echo off
+if exist "turnon_echo" (
+ @echo on
+)
+
+:: Reset working dir especially when using 'Run as administrator'
+@cd /d "%~dp0"
+
+echo This batch file can help you to create a packages for SMPlayer and MPlayer.
+echo.
+echo This script will temporarily rename the smplayer-build and mplayer directories.
+echo Make sure these files ^& directories are not opened when running the script.
+echo.
+echo 1 - NSIS 10 - NSIS [32-bit/64-bit]
+echo 2 - NSIS [64-bit] 11 - Portable [32-bit/64-bit]
+echo 3 - Portable 20 - Portable SFX [32-bit/64-bit]
+echo 4 - Portable [64-bit]
+echo 5 - Without MPlayer
+echo 6 - Without MPlayer [64-bit]
+echo.
+
+:: Relative directory of all the source files to this script
+set TOP_LEVEL_DIR=..
+
+:: Reset in case ran again in same command prompt instance
+set ALL_PKG_VER=
+set VER_MAJOR=
+set VER_MINOR=
+set VER_BUILD=
+set VER_REVISION=
+set VER_REV_CMD=
+set MAKENSIS_EXE_PATH=
+
+:: NSIS path
+if exist "nsis_path" (
+ for /f "tokens=*" %%y in ('type nsis_path') do if exist %%y set MAKENSIS_EXE_PATH="%%y"
+)
+
+if not defined MAKENSIS_EXE_PATH (
+ for %%x in ("%PROGRAMFILES(X86)%\NSIS\Unicode\makensis.exe" "%PROGRAMFILES%\NSIS\Unicode\makensis.exe") do if exist %%x set MAKENSIS_EXE_PATH=%%x
+)
+
+if not defined MAKENSIS_EXE_PATH (
+ echo Warning: Unable to locate NSIS in the default path, create the file ^'nsis_path^' with the full correct path
+ echo to makensis.exe or the existing ^'nsis_path^' may be incorrect.
+ echo.
+)
+
+:: Works only in Vista+
+where /q where.exe 2>NUL && (
+ where /q 7za.exe 2>NUL || (
+ echo Warning: 7za.exe not found in path or current directory!
+ echo.
+ )
+)
+
+set SMPLAYER_DIR=%TOP_LEVEL_DIR%\smplayer-build
+set SMPLAYER_DIR64=%TOP_LEVEL_DIR%\smplayer-build64
+set MPLAYER_DIR=%TOP_LEVEL_DIR%\mplayer
+set OUTPUT_DIR=%TOP_LEVEL_DIR%\output
+set PORTABLE_EXE_DIR=%TOP_LEVEL_DIR%\portable
+
+:cmdline_parsing
+if "%1" == "" goto reask
+for %%w in (1 2 3 4 5 6 10 11 20) do (
+ if "%1" == "%%w" (
+ set USER_CHOICE=%%w
+ goto pkgver
+ )
+)
+
+echo Unknown option: "%1"
+echo.
+goto superend
+
+:reask
+set USER_CHOICE=
+set /P USER_CHOICE="Choose an action: "
+echo.
+
+for %%z in (1 2 3 4 5 6 10 11 20) do if "%USER_CHOICE%" == "%%z" goto pkgver
+if "%USER_CHOICE%" == "" goto superend
+goto reask
+
+:pkgver
+if exist "pkg_version" (
+ for /f "tokens=*" %%i in ('type pkg_version') do set ALL_PKG_VER=%%i
+ goto parse_version
+)
+
+echo Format: VER_MAJOR.VER_MINOR.VER_BUILD[.VER_REVISION]
+echo VER_REVISION is optional (set to 0 if blank)
+:pkgver_manual
+echo.
+set ALL_PKG_VER=
+set VER_MAJOR=
+set VER_MINOR=
+set VER_BUILD=
+set VER_REVISION=
+set VER_REV_CMD=
+set /p ALL_PKG_VER="Version: "
+echo.
+
+:parse_version
+for /f "tokens=1 delims=." %%j in ("%ALL_PKG_VER%") do set VER_MAJOR=%%j
+for /f "tokens=2 delims=." %%k in ("%ALL_PKG_VER%") do set VER_MINOR=%%k
+for /f "tokens=3 delims=." %%l in ("%ALL_PKG_VER%") do set VER_BUILD=%%l
+for /f "tokens=4 delims=." %%m in ("%ALL_PKG_VER%") do set VER_REVISION=%%m
+
+echo %VER_MAJOR%|findstr /r /c:"^[0-9][0-9]*$" >nul
+if errorlevel 1 (
+ echo Invalid version string. VER_MAJOR is not defined or is not a number [#.x.x]
+ goto pkgver_manual & ver>nul
+)
+
+echo %VER_MINOR%|findstr /r /c:"^[0-9][0-9]*$" >nul
+if errorlevel 1 (
+ echo Invalid version string. VER_MINOR is not defined or is not a number [x.#.x]
+ goto pkgver_manual & ver>nul
+)
+echo %VER_BUILD%|findstr /r /c:"^[0-9][0-9]*$" >nul
+if errorlevel 1 (
+ echo Invalid version string. VER_BUILD is not defined or is not a number [x.x.#]
+ goto pkgver_manual & ver>nul
+)
+
+if defined VER_REVISION (
+ echo %VER_REVISION%|findstr /r /c:"^[0-9][0-9]*$" >nul
+ if errorlevel 1 (
+ echo Invalid version string. VER_REVISION is not a number [x.x.x.#]
+ goto pkgver_manual & ver>nul
+ ) else (
+ set VER_REV_CMD=/DVER_REVISION=%VER_REVISION% & ver>nul
+ )
+) else (
+ set VER_REV_CMD=
+)
+
+if not defined VER_REVISION (
+ set PORTABLE_PKG_VER=%ALL_PKG_VER%.0
+) else (
+ set PORTABLE_PKG_VER=%ALL_PKG_VER%
+)
+
+if "%USER_CHOICE%" == "1" goto nsispkg
+if "%USER_CHOICE%" == "2" goto nsispkg64
+if "%USER_CHOICE%" == "3" goto portable
+if "%USER_CHOICE%" == "4" goto portable64
+if "%USER_CHOICE%" == "5" goto nomplayer
+if "%USER_CHOICE%" == "6" goto nomplayer64
+if "%USER_CHOICE%" == "10" goto nsispkg
+if "%USER_CHOICE%" == "11" goto portable
+if "%USER_CHOICE%" == "20" goto portablesfx
+:: Should not happen
+goto end
+
+:nsispkg
+
+echo --- SMPlayer NSIS Package [32-bit] ---
+echo.
+
+if exist %TOP_LEVEL_DIR%\smplayer-build (
+ %MAKENSIS_EXE_PATH% /V3 /DVER_MAJOR=%VER_MAJOR% /DVER_MINOR=%VER_MINOR% /DVER_BUILD=%VER_BUILD% %VER_REV_CMD% %TOP_LEVEL_DIR%\smplayer.nsi
+)
+
+if not "%USER_CHOICE%" == "10" goto end
+
+:nsispkg64
+echo --- SMPlayer NSIS Package [64-bit] ---
+echo.
+
+if exist %TOP_LEVEL_DIR%\smplayer-build64 (
+ %MAKENSIS_EXE_PATH% /V3 /DVER_MAJOR=%VER_MAJOR% /DVER_MINOR=%VER_MINOR% /DVER_BUILD=%VER_BUILD% %VER_REV_CMD% /DWIN64 %TOP_LEVEL_DIR%\smplayer.nsi
+)
+
+goto end
+
+:portable
+echo --- SMPlayer Portable Package [32-bit] ---
+echo.
+
+if not exist %SMPLAYER_DIR% (
+ echo SMPlayer sources missing.
+ goto end
+)
+
+REM Check for portable exes
+if not exist "%PORTABLE_EXE_DIR%\smplayer-portable.exe" (
+ echo SMPlayer portable EXE not found!
+ goto end
+)
+
+REM if not exist "%PORTABLE_EXE_DIR%\smtube-portable.exe" (
+REM echo Warning: SMTube portable EXE not found!
+REM )
+
+if exist "%SMPLAYER_DIR%\QtCore4.dll" (
+ set PORTABLE_DIR_NAME=smplayer-portable-%PORTABLE_PKG_VER%-Qt4
+) else (
+ set PORTABLE_DIR_NAME=smplayer-portable-%PORTABLE_PKG_VER%
+)
+
+ren "%SMPLAYER_DIR%" "%PORTABLE_DIR_NAME%"
+set SMPLAYER_PORTABLE_DIR="%TOP_LEVEL_DIR%\%PORTABLE_DIR_NAME%"
+
+if not exist "%SMPLAYER_PORTABLE_DIR%" (
+ echo Oops! Unable to find renamed directory, make sure no files are opened.
+ goto end
+)
+
+echo Backing up files...
+
+ren "%SMPLAYER_PORTABLE_DIR%\smplayer.exe" smplayer.bak
+REM ren "%SMPLAYER_PORTABLE_DIR%\smtube.exe" smtube.bak
+
+echo Creating screenshots dir...
+
+mkdir "%SMPLAYER_PORTABLE_DIR%\screenshots"
+
+echo Creating smplayer.ini...
+
+echo [%%General]> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo screenshot_directory=.\\screenshots>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo.>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo [smplayer]>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo check_if_upgraded=false>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+
+echo Creating smplayer_orig.ini...
+
+echo [%%General]> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo screenshot_directory=.\\screenshots>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo.>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo [smplayer]>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo check_if_upgraded=false>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+
+REM echo Creating mplayer config...
+
+REM echo ^<cachedir^>../fontconfig^</cachedir^>> "%SMPLAYER_PORTABLE_DIR%\mplayer\fonts\local.conf"
+
+echo Copying portable .exe...
+
+copy /y "%PORTABLE_EXE_DIR%\smplayer-portable.exe" "%SMPLAYER_PORTABLE_DIR%\smplayer.exe"
+REM copy /y "%PORTABLE_EXE_DIR%\smtube-portable.exe" "%SMPLAYER_PORTABLE_DIR%\smtube.exe"
+
+echo Finalizing package...
+7za a -t7z "%OUTPUT_DIR%\%PORTABLE_DIR_NAME%.7z" "%SMPLAYER_PORTABLE_DIR%" -xr!*.bak* -xr!qxtcore.dll -xr!mplayer64.exe -xr!mencoder.exe -xr!mencoder64.exe -xr!mplayer64.exe.debug -xr!mencoder64.exe.debug -xr!mplayer.exe.debug -xr!mencoder.exe.debug -xr!gdb.exe -xr!gdb64.exe -xr!vfw2menc.exe -xr!buildinfo -xr!buildinfo64 -xr!buildinfo-mencoder-32 -xr!buildinfo-mencoder-debug-32 -xr!buildinfo-mplayer-32 -xr!buildinfo-mplayer-debug-32 -xr!buildinfo-mencoder-64 -xr!buildinfo-mencoder-debug-64 -xr!buildinfo-mplayer-64 -xr!buildinfo-mplayer-debug-64 -xr!mpv64.exe -xr!mpv64.com -xr!d3dcompiler_43-64.dll -xr!libaacs64.dll -xr!libbdplus64.dll -mx9 >nul
+
+echo.
+echo Restoring source folder(s) back to its original state...
+echo.
+rmdir "%SMPLAYER_PORTABLE_DIR%\screenshots"
+del "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+del "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+del "%SMPLAYER_PORTABLE_DIR%\smplayer.exe"
+REM del "%SMPLAYER_PORTABLE_DIR%\smtube.exe"
+REM del "%SMPLAYER_PORTABLE_DIR%\mplayer\fonts\local.conf"
+ren "%SMPLAYER_PORTABLE_DIR%\smplayer.bak" smplayer.exe
+REM ren "%SMPLAYER_PORTABLE_DIR%\smtube.bak" smtube.exe
+ren "%SMPLAYER_PORTABLE_DIR%" smplayer-build
+
+if not "%USER_CHOICE%" == "11" goto end
+
+:portable64
+echo --- SMPlayer Portable Package [64-bit] ---
+echo.
+
+if not exist %SMPLAYER_DIR64% (
+ echo SMPlayer sources missing.
+ goto end
+)
+
+REM Check for portable exes
+if not exist "%PORTABLE_EXE_DIR%\smplayer-portable64.exe" (
+ echo SMPlayer portable EXE not found!
+ goto end
+)
+
+REM if not exist "%PORTABLE_EXE_DIR%\smtube-portable64.exe" (
+REM echo Warning: SMTube portable EXE not found!
+REM )
+
+set PORTABLE_DIR_NAME=smplayer-portable-%PORTABLE_PKG_VER%-x64
+
+ren "%SMPLAYER_DIR64%" "%PORTABLE_DIR_NAME%"
+set SMPLAYER_PORTABLE_DIR="%TOP_LEVEL_DIR%\%PORTABLE_DIR_NAME%"
+
+if not exist "%SMPLAYER_PORTABLE_DIR%" (
+ echo Oops! Unable to find renamed directory, make sure no files are opened.
+ goto end
+)
+
+echo Backing up files...
+
+ren "%SMPLAYER_PORTABLE_DIR%\smplayer.exe" smplayer.bak
+REM ren "%SMPLAYER_PORTABLE_DIR%\smtube.exe" smtube.bak
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\mplayer.exe" mplayer.exe.bak32
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libaacs.dll" libaacs.dll.bak32
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libbdplus.dll" libbdplus.dll.bak32
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\mplayer64.exe" mplayer.exe
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libaacs64.dll" libaacs.dll
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libbdplus64.dll" libbdplus.dll
+
+if exist "%SMPLAYER_PORTABLE_DIR%\mpv\fonts" (
+ ren "%SMPLAYER_PORTABLE_DIR%\mpv\fonts" fonts.bak32
+)
+if exist "%SMPLAYER_PORTABLE_DIR%\mpv\mpv" (
+ ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv" mpv.bak32
+)
+
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.exe" mpv.exe.bak32
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.com" mpv.com.bak32
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\d3dcompiler_43.dll" d3dcompiler_43.dll.bak32
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv64.exe" mpv.exe
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv64.com" mpv.com
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\d3dcompiler_43-64.dll" d3dcompiler_43.dll
+
+echo Creating screenshots dir...
+
+mkdir "%SMPLAYER_PORTABLE_DIR%\screenshots"
+
+echo Creating smplayer.ini...
+
+echo [%%General]> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo screenshot_directory=.\\screenshots>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo.>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo [smplayer]>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+echo check_if_upgraded=false>> "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+
+echo Creating smplayer_orig.ini...
+
+echo [%%General]> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo screenshot_directory=.\\screenshots>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo.>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo [smplayer]>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+echo check_if_upgraded=false>> "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+
+REM echo Creating mplayer config...
+
+REM echo ^<cachedir^>../fontconfig^</cachedir^>> "%SMPLAYER_PORTABLE_DIR%\mplayer\fonts\local.conf"
+
+echo Copying portable .exe...
+
+copy /y "%PORTABLE_EXE_DIR%\smplayer-portable64.exe" "%SMPLAYER_PORTABLE_DIR%\smplayer.exe"
+REM copy /y "%PORTABLE_EXE_DIR%\smtube-portable64.exe" "%SMPLAYER_PORTABLE_DIR%\smtube.exe"
+
+echo Finalizing package...
+7za a -t7z "%OUTPUT_DIR%\%PORTABLE_DIR_NAME%.7z" "%SMPLAYER_PORTABLE_DIR%" -xr!*.bak* -xr!qxtcore.dll -xr!mencoder.exe -xr!mencoder64.exe -xr!mplayer64.exe.debug -xr!mencoder64.exe.debug -xr!mplayer.exe.debug -xr!mencoder.exe.debug -xr!gdb.exe -xr!gdb64.exe -xr!vfw2menc.exe -xr!codecs -xr!buildinfo -xr!buildinfo64 -xr!buildinfo-mencoder-32 -xr!buildinfo-mencoder-debug-32 -xr!buildinfo-mplayer-32 -xr!buildinfo-mplayer-debug-32 -xr!buildinfo-mencoder-64 -xr!buildinfo-mencoder-debug-64 -xr!buildinfo-mplayer-64 -xr!buildinfo-mplayer-debug-64 -mx9 >nul
+
+echo.
+echo Restoring source folder(s) back to its original state...
+echo.
+rmdir "%SMPLAYER_PORTABLE_DIR%\screenshots"
+del "%SMPLAYER_PORTABLE_DIR%\smplayer.ini"
+del "%SMPLAYER_PORTABLE_DIR%\smplayer_orig.ini"
+del "%SMPLAYER_PORTABLE_DIR%\smplayer.exe"
+REM del "%SMPLAYER_PORTABLE_DIR%\smtube.exe"
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\mplayer.exe" mplayer64.exe
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libaacs.dll" libaacs64.dll
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libbdplus.dll" libbdplus64.dll
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\mplayer.exe.bak32" mplayer.exe
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libaacs.dll.bak32" libaacs.dll
+ren "%SMPLAYER_PORTABLE_DIR%\mplayer\libbdplus.dll.bak32" libbdplus.dll
+REM del "%SMPLAYER_PORTABLE_DIR%\mplayer\fonts\local.conf"
+ren "%SMPLAYER_PORTABLE_DIR%\smplayer.bak" smplayer.exe
+REM ren "%SMPLAYER_PORTABLE_DIR%\smtube.bak" smtube.exe
+
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.exe" mpv64.exe
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.com" mpv64.com
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\d3dcompiler_43.dll" d3dcompiler_43-64.dll
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.exe.bak32" mpv.exe
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.com.bak32" mpv.com
+ren "%SMPLAYER_PORTABLE_DIR%\mpv\d3dcompiler_43.dll.bak32" d3dcompiler_43.dll
+
+if exist "%SMPLAYER_PORTABLE_DIR%\mpv\fonts.bak32" (
+ ren "%SMPLAYER_PORTABLE_DIR%\mpv\fonts.bak32" fonts
+)
+if exist "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.bak32" (
+ ren "%SMPLAYER_PORTABLE_DIR%\mpv\mpv.bak32" mpv
+)
+
+ren "%SMPLAYER_PORTABLE_DIR%" smplayer-build64
+
+goto end
+
+:portablesfx
+
+if exist %PORTABLE_EXE_DIR%\smplayer-portable.exe (
+ if exist %TOP_LEVEL_DIR%\smplayer-build (
+ %MAKENSIS_EXE_PATH% /V3 /DVER_MAJOR=%VER_MAJOR% /DVER_MINOR=%VER_MINOR% /DVER_BUILD=%VER_BUILD% %VER_REV_CMD% %TOP_LEVEL_DIR%\smportable.nsi
+ )
+)
+
+if exist %PORTABLE_EXE_DIR%\smplayer-portable64.exe (
+ if exist %TOP_LEVEL_DIR%\smplayer-build64 (
+ %MAKENSIS_EXE_PATH% /V3 /DVER_MAJOR=%VER_MAJOR% /DVER_MINOR=%VER_MINOR% /DVER_BUILD=%VER_BUILD% %VER_REV_CMD% /DWIN64 %TOP_LEVEL_DIR%\smportable.nsi
+ )
+)
+
+goto end
+
+:nomplayer
+echo --- Creating SMPlayer w/o MPlayer Package [32-bit] ---
+echo.
+
+ren %SMPLAYER_DIR% smplayer-%ALL_PKG_VER%
+set SMPLAYER_NOMP_DIR=%TOP_LEVEL_DIR%\smplayer-%ALL_PKG_VER%
+
+::
+echo Finalizing package...
+7za a -t7z %OUTPUT_DIR%\smplayer-%ALL_PKG_VER%_without_mplayer.7z %SMPLAYER_NOMP_DIR% -xr!mplayer -mx9 >nul
+
+ren %SMPLAYER_NOMP_DIR% smplayer-build
+
+echo.
+echo Restoring source folder(s) back to its original state....
+
+goto end
+
+:nomplayer64
+echo --- Creating SMPlayer w/o MPlayer Package [64-bit] ---
+echo.
+
+ren %SMPLAYER_DIR64% smplayer-%ALL_PKG_VER%-x64
+set SMPLAYER_NOMP_DIR=%TOP_LEVEL_DIR%\smplayer-%ALL_PKG_VER%-x64
+
+::
+echo Finalizing package...
+7za a -t7z %OUTPUT_DIR%\smplayer-%ALL_PKG_VER%-x64_without_mplayer.7z %SMPLAYER_NOMP_DIR% -xr!mplayer -mx9 >nul
+
+ren %SMPLAYER_NOMP_DIR% smplayer-build64
+
+echo.
+echo Restoring source folder(s) back to its original state....
+
+goto end
+
+:end
+
+timeout /t 10
+
+:superend
+set ALL_PKG_VER=
+set VER_MAJOR=
+set VER_MINOR=
+set VER_BUILD=
+set VER_REVISION=