Rework the packages.nsh generation for v0.8.0 and MSYS2

This commit is contained in:
Michael Martin
2020-06-07 00:33:19 -07:00
parent dd21ead99a
commit 0fb4ccaa18
3 changed files with 69 additions and 80 deletions
+9 -9
View File
@@ -1,14 +1,14 @@
# Autogenerated by procpkgs.cmd # Autogenerated by proppkgs.sh
# #
!define PKG_CONTENT_FILE "uqm-0.7.0-content.uqm" !define PKG_CONTENT_FILE "uqm-0.8.0-content.uqm"
!define PKG_CONTENT_MD5SUM "2f36dcb15274dbbcb5e266f2ed84d5b2" !define PKG_CONTENT_MD5SUM "6cbc9d51fa63e07c0f4d1d061136d816"
!define PKG_CONTENT_SIZE 11268 !define PKG_CONTENT_SIZE 11276
!define PKG_3DOMUSIC_FILE "uqm-0.7.0-3domusic.uqm" !define PKG_3DOMUSIC_FILE "uqm-0.8.0-3domusic.uqm"
!define PKG_3DOMUSIC_MD5SUM "86a5e376d9b76888add1d10818f0ab9f" !define PKG_3DOMUSIC_MD5SUM "9e5801d45ca12028b486cdeb83568c02"
!define PKG_3DOMUSIC_SIZE 18535 !define PKG_3DOMUSIC_SIZE 18535
!define PKG_VOICE_FILE "uqm-0.7.0-voice.uqm" !define PKG_VOICE_FILE "uqm-0.8.0-voice.uqm"
!define PKG_VOICE_MD5SUM "b78e0606325810f9f2e9ec786191c01b" !define PKG_VOICE_MD5SUM "fc89f77d7b66c2669abca6c157f5259a"
!define PKG_VOICE_SIZE 112444 !define PKG_VOICE_SIZE 112465
!define PKG_REMIX1_FILE "uqm-remix-disc1.uqm" !define PKG_REMIX1_FILE "uqm-remix-disc1.uqm"
!define PKG_REMIX1_MD5SUM "09f242d8d72166d1d5ccbd3d99c93e7d" !define PKG_REMIX1_MD5SUM "09f242d8d72166d1d5ccbd3d99c93e7d"
!define PKG_REMIX1_SIZE 49012 !define PKG_REMIX1_SIZE 49012
-70
View File
@@ -1,70 +0,0 @@
@echo off
REM Generates a .nsh file for the NSIS Windows installer with MD5 checksums
REM and file sizes of the UQM packages.
REM CMD command extension must be enabled to use this script.
REM The packages must be in the current directory.
REM Uses GNU md5sum utility, such as in Cygwin, which you must have somewhere
REM in PATH.
setlocal
set nsh_file=packages.nsh
set md5_tool=md5sum
set pkg_version=0.7.0
set content_pkg=uqm-%pkg_version%-content.uqm
set music_pkg=uqm-%pkg_version%-3domusic.uqm
set voice_pkg=uqm-%pkg_version%-voice.uqm
set remix1_pkg=uqm-remix-disc1.uqm
set remix2_pkg=uqm-remix-disc2.uqm
set remix3_pkg=uqm-remix-disc3.uqm
set remix4_pkg=uqm-remix-disc4.uqm
call :check_exists %content_pkg%
call :check_exists %music_pkg%
call :check_exists %voice_pkg%
call :check_exists %remix1_pkg%
call :check_exists %remix2_pkg%
call :check_exists %remix3_pkg%
REM call :check_exists %remix4_pkg%
call :check_md5_tool
echo # Autogenerated by procpkgs.cmd>%nsh_file%
echo #>>%nsh_file%
call :process_pkg %content_pkg% PKG_CONTENT
call :process_pkg %music_pkg% PKG_3DOMUSIC
call :process_pkg %voice_pkg% PKG_VOICE
call :process_pkg %remix1_pkg% PKG_REMIX1
call :process_pkg %remix2_pkg% PKG_REMIX2
call :process_pkg %remix3_pkg% PKG_REMIX3
REM call :process_pkg %remix4_pkg% PKG_REMIX4
echo All packages processed. %nsh_file% generated.
exit 0
:process_pkg
setlocal
echo Processing %1...>&2
echo !define %2_FILE "%1">>%nsh_file%
for /f %%s in ('%md5_tool% %1') do (set md5=%%s)
echo !define %2_MD5SUM "%md5%">>%nsh_file%
for /f "tokens=4" %%s in ('dir /n /-c %1 ^|find "%1"') do (set size=%%s)
set /a size/=1024
echo !define %2_SIZE %size%>>%nsh_file%
endlocal
goto :eof
:check_exists
if not exist %1 (echo %1 not found & exit 1)
goto :eof
:check_md5_tool
setlocal
echo Checking for GNU %md5_tool%...>&2
%md5_tool% --version >nul 2>&1 || (echo GNU %md5_tool% not found & exit 1)
for /f %%s in ('echo foo^|%md5_tool%') do (set md5=%%s)
if not "%md5%"=="2145971cf82058b108229a3a2e3bff35" (echo %md5_tool% is not GNU or does not operate correctly & exit 1)
endlocal
goto :eof
+59
View File
@@ -0,0 +1,59 @@
#!/bin/sh
#
# Generates a .nsh file for the NSIS Windows installer with MD5 checksums
# and file sizes of the UQM packages.
#
# Run this from an MSYS2 bash shell.
#
# The packages must be in the current directory.
#
# The awk, md5sum, and wc utilities must be installed, but MSYS2
# should generally already have those in your path.
NSH_FILE="packages.nsh"
PKG_VERSION="0.8.0"
CONTENT_PKG="uqm-$PKG_VERSION-content.uqm"
MUSIC_PKG="uqm-$PKG_VERSION-3domusic.uqm"
VOICE_PKG="uqm-$PKG_VERSION-voice.uqm"
REMIX1_PKG="uqm-remix-disc1.uqm"
REMIX2_PKG="uqm-remix-disc2.uqm"
REMIX3_PKG="uqm-remix-disc3.uqm"
REMIX4_PKG="uqm-remix-disc4.uqm"
check_pkg() {
if [ ! -f "$1" ]; then
echo $1 not found.
exit 1
fi
}
process_pkg() {
echo Processing $1...
local SUM=`md5sum "$1" | awk '{print $1}'`
local SZ=`wc -c "$1" | awk '{print $1}'`
SZ=$(( SZ / 1024 ))
echo "!define $2_FILE \"$1\"" >> $NSH_FILE
echo "!define $2_MD5SUM \"$SUM\"" >> $NSH_FILE
echo "!define $2_SIZE $SZ" >> $NSH_FILE
}
check_pkg $CONTENT_PKG
check_pkg $MUSIC_PKG
check_pkg $VOICE_PKG
check_pkg $REMIX1_PKG
check_pkg $REMIX2_PKG
check_pkg $REMIX3_PKG
check_pkg $REMIX4_PKG
echo "# Autogenerated by proppkgs.sh" > $NSH_FILE
echo "#" >> $NSH_FILE
process_pkg $CONTENT_PKG PKG_CONTENT
process_pkg $MUSIC_PKG PKG_3DOMUSIC
process_pkg $VOICE_PKG PKG_VOICE
process_pkg $REMIX1_PKG PKG_REMIX1
process_pkg $REMIX2_PKG PKG_REMIX2
process_pkg $REMIX3_PKG PKG_REMIX3
process_pkg $REMIX4_PKG PKG_REMIX4
echo All packages processed. ${NSH_FILE} generated.