diff --git a/appveyor.yml b/appveyor.yml index 78f857588..acae29ab3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,12 @@ environment: matrix: + - MSYSTEM: MINGW64 + MSYS_ARCH: "x86_64" + ARCH: "64bit" + - MSYSTEM: MINGW32 + MSYS_ARCH: "i686" + ARCH: "32bit" branches: only: @@ -22,10 +28,10 @@ build_script: C:\msys64\usr\bin\sh.exe --login -c $command } - bash 'git clone C:/projects/gajim C:/msys64/home/appveyor/gajim' - bash 'C:/msys64/home/appveyor/gajim/win/build.sh' - Push-AppveyorArtifact "$($env:BUILDROOT)/Gajim.exe" -FileName "Gajim-Master-$($env:TIME_STRING).exe" - Push-AppveyorArtifact "$($env:BUILDROOT)/Gajim-Portable.exe" -FileName "Gajim-Portable-Master-$($env:TIME_STRING).exe" + bash "git clone C:/projects/gajim C:/msys64/home/appveyor/gajim" + bash "C:/msys64/home/appveyor/gajim/win/build.sh $($env:MSYS_ARCH)" + Push-AppveyorArtifact "$($env:BUILDROOT)/Gajim.exe" -FileName "Gajim-Master-$($env:ARCH)-$($env:TIME_STRING).exe" + Push-AppveyorArtifact "$($env:BUILDROOT)/Gajim-Portable.exe" -FileName "Gajim-Portable-Master-$($env:ARCH)-$($env:TIME_STRING).exe" # on_finish: # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) diff --git a/win/_base.sh b/win/_base.sh index f536ddc2f..dc7ee8b5f 100644 --- a/win/_base.sh +++ b/win/_base.sh @@ -11,8 +11,6 @@ DIR="$( cd "$( dirname "$0" )" && pwd )" cd "${DIR}" # CONFIG START - -ARCH="i686" PYTHON_VERSION="3" BUILD_VERSION="0" @@ -25,15 +23,20 @@ MINGW="mingw32" QL_VERSION="0.0.0" QL_VERSION_DESC="UNKNOWN" +function set_arch { + ARCH="$1" + if [ "$1" == "x86_64" ]; then + MINGW="mingw64" + fi +} + function set_build_root { - BUILD_ROOT="$1" + BUILD_ROOT="${DIR}/_build_root" REPO_CLONE="${BUILD_ROOT}/${MINGW}"/gajim MINGW_ROOT="${BUILD_ROOT}/${MINGW}" PACKAGE_DIR="${BUILD_ROOT}/${MINGW}/lib/python3.6/site-packages" } -set_build_root "${DIR}/_build_root" - function build_pacman { pacman --root "${BUILD_ROOT}" "$@" } @@ -114,8 +117,6 @@ pillow==4.3.0 } function install_gajim { - [ -z "$1" ] && (echo "Missing arg"; exit 1) - rm -Rf "${PACKAGE_DIR}"/gajim* cd .. @@ -302,6 +303,6 @@ function move_ssl_libs { } function build_installer { - (cd "$BUILD_ROOT" && makensis -NOCD -DVERSION="$QL_VERSION_DESC" "${MISC}"/gajim.nsi) - (cd "$BUILD_ROOT" && makensis -NOCD -DVERSION="$QL_VERSION_DESC" "${MISC}"/gajim-portable.nsi) + (cd "$BUILD_ROOT" && makensis -NOCD -DVERSION="$QL_VERSION_DESC" -DARCH="${MINGW}" "${MISC}"/gajim.nsi) + (cd "$BUILD_ROOT" && makensis -NOCD -DVERSION="$QL_VERSION_DESC" -DARCH="${MINGW}" "${MISC}"/gajim-portable.nsi) } diff --git a/win/build.sh b/win/build.sh index 6ff624e43..0d5706032 100644 --- a/win/build.sh +++ b/win/build.sh @@ -10,12 +10,12 @@ DIR="$( cd "$( dirname "$0" )" && pwd )" source "$DIR"/_base.sh function main { - local GIT_TAG=${1:-"master"} - + set_arch "$1" + set_build_root install_pre_deps create_root install_deps - install_gajim "$GIT_TAG" + install_gajim cleanup_install move_ssl_libs build_installer diff --git a/win/misc/gajim-portable.nsi b/win/misc/gajim-portable.nsi index 8d413b7ba..aa8b48707 100644 --- a/win/misc/gajim-portable.nsi +++ b/win/misc/gajim-portable.nsi @@ -101,7 +101,7 @@ Section "Gajim" SecGajim SectionIn RO SetOutPath "$INSTDIR" - File /r "mingw32\*.*" + File /r "${ARCH}\*.*" SetOutPath "$INSTDIR\bin" CreateShortCut "$INSTDIR\Gajim-Portable.lnk" "$INSTDIR\bin\Gajim.exe" \ diff --git a/win/misc/gajim.nsi b/win/misc/gajim.nsi index e9046168b..c123cac23 100644 --- a/win/misc/gajim.nsi +++ b/win/misc/gajim.nsi @@ -146,12 +146,18 @@ LangString STR_Running ${LANG_HEBREW} "נראה שהתוכנית Gajim מורצ Section "Gajim" SecGajim SectionIn RO - + + Var /GLOBAL arch_name + StrCpy $arch_name "(64-Bit)" + StrCmp ${ARCH} "mingw64" cont + StrCpy $arch_name "(32-Bit)" + cont: + SetOutPath "$INSTDIR" - File /r "mingw32\*.*" + File /r "${ARCH}\*.*" WriteRegStr HKCU "Software\Gajim" "" $INSTDIR - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayName" "Gajim" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayName" "Gajim ${VERSION} $arch_name" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString" "$INSTDIR\Uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayIcon" "$INSTDIR\bin\Gajim.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "${VERSION}"