diff --git a/win/bundle.cross b/win/bundle.cross index 55255ca..c990679 100755 --- a/win/bundle.cross +++ b/win/bundle.cross @@ -40,11 +40,20 @@ prepare # List of pre-built packages packages="lib3270 libv3270 libipc3270 libhllapi pw3270-plugin-ipc" +dev_packages="lib3270 libv3270 libipc3270" -argument "install-requires" > /dev/null -if [ "$?" == "0" ]; then +install_prereqs() { - echo "Installing: ${packages}" + local list + local package + + list="${packages}" + for package in ${dev_packages} + do + list="${list} ${package}-devel" + done + + echo "Installing: ${list}" REPONUMBER=$(zypper lr | grep "${REPOSITORY_NAME}" | cut -d\| -f1) if [ -z "${REPONUMBER}" ]; then @@ -58,7 +67,7 @@ if [ "$?" == "0" ]; then exit -1 fi - for package in ${packages} + for package in ${list} do sudo zypper in --repo ${REPONUMBER} "${MINGW_PACKAGE_PREFIX}-${package}" if [ "$?" != "0" ]; then @@ -66,11 +75,9 @@ if [ "$?" == "0" ]; then exit -1 fi done - -fi +} -argument "build" > /dev/null -if [ "$?" == "0" ]; then +build_package() { # Build make -C "${srcdir}" all @@ -84,6 +91,17 @@ if [ "$?" == "0" ]; then echo "Install failed" exit -1 fi + +} + +argument "install-requires" > /dev/null +if [ "$?" == "0" ]; then + install_prereqs +fi + +argument "build" > /dev/null +if [ "$?" == "0" ]; then + build_package else packages="${packages} pw3270" fi @@ -91,12 +109,16 @@ fi unpack_rpm() { local package + local list local PACKAGE_NAME - echo "Packages: ${packages}" for package in ${packages} do PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep -v devel | head --lines=1) + if [ -z "${PACKAGE_NAME}" ]; then + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}" + exit -1 + fi echo "Copy ${PACKAGE_NAME}" for FILE in $(rpm -ql "${PACKAGE_NAME}") do @@ -117,6 +139,36 @@ unpack_rpm() { done done + + + for package in ${dev_packages} + do + PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep devel | head --lines=1) + if [ -z "${PACKAGE_NAME}" ]; then + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}-devel" + exit -1 + fi + echo "Copy ${PACKAGE_NAME}" + for FILE in $(rpm -ql "${PACKAGE_NAME}") + do + if [ ! -d ${FILE} ]; then + + FILEPATH="${buildroot}${FILE}" + mkdir -p "$(dirname ${FILEPATH})" + if [ "$?" != "0" ]; then + exit -1 + fi + + cp "${FILE}" "${FILEPATH}" + if [ "$?" != "0" ]; then + echo "Cant copy '${FILE}' from '${PACKAGE_NAME}'" + exit -1 + fi + fi + done + + done + } install_license() { diff --git a/win/pw3270.nsi.in b/win/pw3270.nsi.in index a6dd25a..362fdf4 100644 --- a/win/pw3270.nsi.in +++ b/win/pw3270.nsi.in @@ -56,16 +56,16 @@ VIAddVersionKey "LegalCopyright" "(C) 2017 Banco do Brasil S/A. All Rights Reser # Interface !define MUI_ABORTWARNING -# !insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "share\@PRODUCT_NAME@\LICENSE" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES -# !insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES -# !insertmacro MUI_UNPAGE_FINISH +!insertmacro MUI_UNPAGE_FINISH # Languages !insertmacro MUI_LANGUAGE "English" @@ -160,6 +160,24 @@ SubSection "@PRODUCT_NAME@" SecMain sectionEnd +!ifdef WITHSDK + Section /o "Software Development Kit" SDK + + setOutPath $INSTDIR\sdk + file /r "include\*.*" + file /r "lib\*.a" + + setOutPath $INSTDIR\sdk\msvc + file /r "share\@PRODUCT_NAME@\def\*.def" + file /r "share\@PRODUCT_NAME@\def\*.mak" + + SetRegView @WINARCH@ + WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk" + SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 + + SectionEnd +!endif + !ifdef WITHCERTS Section "SSL Certificates" SSLCerts setOutPath $INSTDIR\certs @@ -249,19 +267,19 @@ Function .onInit ClearErrors ${GetOptions} $R0 /SDK= $0 -# ${if} $0 == "YES" -# -# SectionGetFlags ${SDK} $0 -# IntOp $0 $0 | ${SF_SELECTED} -# SectionSetFlags ${SDK} $0 -# -# ${else} -# -# SectionGetFlags ${SDK} $0 -# IntOp $0 $0 & ${SECTION_OFF} -# SectionSetFlags ${SDK} $0 -# -# ${EndIf} + ${if} $0 == "YES" + + SectionGetFlags ${SDK} $0 + IntOp $0 $0 | ${SF_SELECTED} + SectionSetFlags ${SDK} $0 + + ${else} + + SectionGetFlags ${SDK} $0 + IntOp $0 $0 & ${SECTION_OFF} + SectionSetFlags ${SDK} $0 + + ${EndIf} Pop $0 !endif -- libgit2 0.21.2