From 0ad6fb48e3cd7c675594bbcb628afe00669e9f62 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Wed, 28 Aug 2019 08:52:11 -0300 Subject: [PATCH] Refactoring windows package. --- win/pack.sh | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------- win/pw3270.nsi.in | 34 +++++++++++++++++++++++++--------- 2 files changed, 90 insertions(+), 35 deletions(-) diff --git a/win/pack.sh b/win/pack.sh index b4151da..8eca2bd 100755 --- a/win/pack.sh +++ b/win/pack.sh @@ -65,7 +65,7 @@ getSource() fi if [ "${GET_PREREQS}" != "0" ]; then - for ARCH in ${ARCHS} + for ARCH in ${TARGET_ARCHS} do if [ -d ${WORKDIR}/sources/${1}/win/${ARCH} ]; then @@ -97,7 +97,9 @@ getSource() # buildLibrary() { - for ARCH in ${ARCHS} + echo "Building library ${1}" + + for ARCH in ${TARGET_ARCHS} do echo -e "\e]2;Building ${1} for ${ARCH}\a" @@ -129,12 +131,8 @@ buildLibrary() mkdir -p ${WORKDIR}/build/${ARCH} mkdir -p ${WORKDIR}/cache/${ARCH} - mkdir -p ${WORKDIR}/build/${ARCH}/bin - mkdir -p ${WORKDIR}/build/${ARCH}/lib mkdir -p ${WORKDIR}/build/${ARCH}/locale mkdir -p ${WORKDIR}/build/${ARCH}/include - mkdir -p ${WORKDIR}/build/${ARCH}/sysconfig - mkdir -p ${WORKDIR}/build/${ARCH}/data export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/lib/pkgconfig export cache=${WORKDIR}/cache/${ARCH}/${1}.cache @@ -143,17 +141,16 @@ buildLibrary() ./configure \ CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ - LDFLAGS="-L${WORKDIR}/build/${ARCH}/lib" \ + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ --host=${host} \ --prefix=${prefix} \ - --bindir=${WORKDIR}/build/${ARCH}/bin \ - --libdir=${WORKDIR}/build/${ARCH}/bin \ + --bindir=${WORKDIR}/build/${ARCH} \ + --libdir=${WORKDIR}/build/${ARCH} \ --localedir=${WORKDIR}/build/${ARCH}/locale \ --includedir=${WORKDIR}/build/${ARCH}/include \ - --sysconfdir=${WORKDIR}/build/${ARCH}/sysconfig \ - --datadir=${WORKDIR}/build/${ARCH}/data \ - --datarootdir=${WORKDIR}/build/${ARCH}/data - + --sysconfdir=${WORKDIR}/build/${ARCH} \ + --datadir=${WORKDIR}/build/${ARCH} \ + --datarootdir=${WORKDIR}/build/${ARCH} if [ "$?" != "0" ]; then failed "Can't configure ${1}" @@ -178,7 +175,7 @@ buildLibrary() # buildApplication() { - for ARCH in ${ARCHS} + for ARCH in ${TARGET_ARCHS} do echo -e "\e]2;Building ${1} for ${ARCH}\a" @@ -210,11 +207,8 @@ buildApplication() mkdir -p ${WORKDIR}/build/${ARCH} mkdir -p ${WORKDIR}/cache/${ARCH} - mkdir -p ${WORKDIR}/build/${ARCH}/bin mkdir -p ${WORKDIR}/build/${ARCH}/locale mkdir -p ${WORKDIR}/build/${ARCH}/include - mkdir -p ${WORKDIR}/build/${ARCH}/sysconfig - mkdir -p ${WORKDIR}/build/${ARCH}/data export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/lib/pkgconfig export cache=${WORKDIR}/cache/${ARCH}/${1}.cache @@ -223,16 +217,16 @@ buildApplication() ./configure \ CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ - LDFLAGS="-L${WORKDIR}/build/${ARCH}/lib" \ + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ --host=${host} \ --prefix=${prefix} \ - --bindir=${WORKDIR}/build/${ARCH}/bin \ - --libdir=${WORKDIR}/build/${ARCH}/bin \ + --bindir=${WORKDIR}/build/${ARCH} \ + --libdir=${WORKDIR}/build/${ARCH} \ --localedir=${WORKDIR}/build/${ARCH}/locale \ --includedir=${WORKDIR}/build/${ARCH}/include \ - --sysconfdir=${WORKDIR}/build/${ARCH}/sysconfig \ - --datadir=${WORKDIR}/build/${ARCH}/data \ - --datarootdir=${WORKDIR}/build/${ARCH}/data + --sysconfdir=${WORKDIR}/build/${ARCH} \ + --datadir=${WORKDIR}/build/${ARCH} \ + --datarootdir=${WORKDIR}/build/${ARCH} if [ "$?" != "0" ]; then failed "Can't configure ${1}" @@ -262,6 +256,29 @@ buildApplication() fi fi + if [ -e branding/${1}.svg ]; then + convert -density 384 -background transparent branding/${1}.svg -define icon:auto-resize -colors 256 ${WORKDIR}/build/${ARCH}/${1}.ico + if [ "$?" != "0" ]; then + cleanup + exit -1 + fi + fi + + for doc in LICENSE LICENCA README.md AUTHORS + do + + if [ -e ${doc} ]; then + cp ${doc} ${WORKDIR}/build/${ARCH} + + if [ "$?" != "0" ]; then + cleanup + exit -1 + fi + + fi + + done + done } @@ -269,9 +286,10 @@ buildApplication() # # Make runtime # -makeRuntime() { +makeRuntime() +{ - for ARCH in ${ARCHS} + for ARCH in ${TARGET_ARCHS} do echo -e "\e]2;Building runtime for ${ARCH}\a" @@ -285,7 +303,7 @@ makeRuntime() { chmod +x ${SCRIPT} cd ${WORKDIR}/build/${ARCH} - ${SCRIPT} --path="${WORKDIR}/build/${ARCH}/runtime" --bindir="${WORKDIR}/build/${ARCH}/bin" + ${SCRIPT} --output-dir="${WORKDIR}/build/${ARCH}/runtime" --bindir="${WORKDIR}/build/${ARCH}" if [ "$?" != "0" ]; then failed "Error on ${SCRIPT}" fi @@ -296,6 +314,26 @@ makeRuntime() { } # +# Make packages +# +makeInstaller() +{ + + for ARCH in ${TARGET_ARCHS} + do + + echo -e "\e]2;Creating installer for ${ARCH}\a" + echo "Creating installer for ${ARCH}" + + cd ${WORKDIR}/build/${ARCH} + /bin/bash + + + done + +} + +# # Check command line parameters # until [ -z "$1" ] @@ -393,6 +431,7 @@ done # Create runtime # makeRuntime +makeInstaller cleanup diff --git a/win/pw3270.nsi.in b/win/pw3270.nsi.in index 4c5e536..30ad6b3 100644 --- a/win/pw3270.nsi.in +++ b/win/pw3270.nsi.in @@ -71,10 +71,11 @@ SubSection "@PACKAGE@" SecMain createShortCut "$DESKTOP\@PACKAGE@.lnk" "$INSTDIR\@PACKAGE@.exe" # Binary files - file "/oname=$INSTDIR\@PACKAGE@.exe" "bin\@PACKAGE@.exe" + file "/oname=$INSTDIR\@PACKAGE@.exe" "@PACKAGE@.exe" file "/oname=$INSTDIR\@PACKAGE@.ico" "@PACKAGE@.ico" - file "/oname=$INSTDIR\lib3270.dll" "bin\lib3270.dll" - file "/oname=$INSTDIR\@PACKAGE@.dll" "bin\@PACKAGE@.dll" + file "/oname=$INSTDIR\lib3270.dll" "lib3270.dll" + file "/oname=$INSTDIR\libv3270.dll" "libv3270.dll" + file "/oname=$INSTDIR\@PACKAGE@.dll" "@PACKAGE@.dll" # Configuration files file "/oname=$INSTDIR\@PACKAGE@-logo.png" "@PACKAGE@-logo.png" @@ -95,7 +96,7 @@ SubSection "@PACKAGE@" SecMain # Charset definition files CreateDirectory "$INSTDIR\charsets" - file "/oname=$INSTDIR\charsets\bracket.xml" "bracket.xml" + file "/oname=$INSTDIR\charsets\bracket.xml" "charsets\bracket.xml" # Locale files CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES" @@ -134,18 +135,29 @@ SubSection "@PACKAGE@" SecMain SubSection "Plugins" SecPLugin - Section /o "HLLAPI" HLLAPIPlugin + Section /o "Remote control" IPCPlugin setOutPath $INSTDIR ${DisableX64FSRedirection} CreateDirectory "$INSTDIR\plugins" - file "/oname=$INSTDIR\plugins\ipc3270c.dll" "bin\ipc3270c.dll" - file "/oname=$SYSDIR\libhllapi.dll" "bin\libhllapi.dll" + file "/oname=$INSTDIR\plugins\ipc3270c.dll" "pw3270-plugins\ipcserver.dll" sectionEnd + SubSectionEnd + + SubSection "Language bindins" Languages + + Section /o "HLLAPI" HLLAPIPlugin + + setOutPath $INSTDIR + + ${DisableX64FSRedirection} + file "/oname=$SYSDIR\libhllapi.dll" "libhllapi.dll" + + sectionEnd SubSectionEnd @@ -175,7 +187,7 @@ SubSectionEnd Section /o "GTK+ Runtime" SecGTK setOutPath $INSTDIR - file /r "bin\runtime\*.*" + file /r "runtime\*.*" SectionEnd !endif @@ -221,7 +233,7 @@ SectionEnd Function .onInit - #---[ Verifica opção de instalação HLLAPI ]---------------------------------------------------------- + #---[ Check HLLAPI Command line option ]------------------------------------------------------------- Push $0 @@ -241,6 +253,10 @@ Function .onInit IntOp $0 $0 | ${SF_SELECTED} SectionSetFlags ${HLLAPIPlugin} $0 + SectionGetFlags ${IPCPlugin} $0 + IntOp $0 $0 | ${SF_SELECTED} + SectionSetFlags ${IPCPlugin} $0 + ${EndIf} Pop $0 -- libgit2 0.21.2