Enhance: move to msys2 and add64 bit windows build#3208
Enhance: move to msys2 and add64 bit windows build#3208SlySven wants to merge 53 commits intoMudlet:developmentfrom
Conversation
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…avis] The previous powershell scripts have been renamed to include "old" in them but I have choosen to use the older Windows cmd.exe to run MinGW32/64 bash terminals and to do the commands as bash scripts rather than powershell ones. I want to see how far the, now, two, builds get... Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
|
Hey there! Thanks for helping Mudlet improve. 🌟 Test versionsYou can directly test the changes here:
No need to install anything - just unzip and run. |
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
As the environmental variables were not being inserted in prior attempt. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…ravis] Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Don't do a system upgrade as that is likely to need a restart to achieve! Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
We cannot access the system one because we are not privaledged (administrator). Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
b76b3e8 to
f5181c2
Compare
…Build Conflicts resolved in: * .appveyor.yml Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
The `/mingw32/share/lua/5.1/luarocks/site_config.lua` file is malformed in comparison to the `/mingw64/share/lua/5.1/luarocks/site_config.lua` and this is enough to cause a `luarocks` invocation without any arguments to report that the "system" configuration file is not present - which prevents system rocks to be installed. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…vis] Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Also allow a travis build to confirm nothing broken for them. The Windows executable is being saved but we still need to arrangd for the bundle to be build and then disctributed. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
This entails changing the name of the existing 32 Bits one so that another one for 64 Bits can be placed alongside it in the same directory. The Discord release zip file puts them (and the Linux and MacOs 64 bit ones) in separate directories - which is a little inconvenient for us... I have also put in some qDebug() messages - because I am having difficulty getting the Discord RPC to respond to local builds - though it works fine for Linux AppImages - which use the very same copy of the library for THAT OS. They are enabled with a DEBUG_DISCORD #define visible to the discord.cpp compilation unit... Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…vis] Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…ravis] Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Turns out the ones I had put in were both 32-bit ones - the ones inserted
here are described differently by the MSYS2 `file` command as:
* discord-rpc32.dll: "PE32 executable (DLL) (console) Intel 80386, for MS
Windows"
* discord-rpc64.dll: "PE32+ executable (DLL) (console) x86-64, for MS
Windows"
Further more they were certified and signed on "27 November 2018 17:20" so
that is consistent with them being the (current) version 3.4.0 release
files from that same date.
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
|
I don't think any of the changes in TLuaI terpreter are relevant to the PR's scope. It should be able to load Mudlet libs as-is! (Messing around with strings like that just makes work for translators, remember!) |
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
I was getting errors in that area and the messages were coming out a bit mangled, one of them was consistently moaning about For the record those libs are no longer ones we download from source and compile ourselves but instead copied from the MSYS2 (32 or 64 bit as appropriate) system ones. I did have to merge in #3200 because I needed the 64Bit Discord library - and in doing so found out that I hadn't uploaded the correct one but a copy of the 32Bit one. |
|
Damn, all the CMake builds are failing on Travis... |
|
This is why: |
As well as the OpenSSL needed for secure connections there were some graphics and compression libraries that also need to be included (some icons could not be shown on the connections dialogue). Also needed was the SDL2 library that GamePad support needs. libzstd.dll liblzma-5.dll libwebpdemux-2.dll libwebp-7.dll libtiff-5.dll libjpeg-8.dll libjasper-4.dll libcrypto-1_1-x64.dll libssl-1_1-x64.dll SDL2.dll Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
| mingw-w64-${BUILDCOMPONENT}-boost \ | ||
| mingw-w64-${BUILDCOMPONENT}-yajl | ||
| mingw-w64-${BUILDCOMPONENT}-yajl \ | ||
| mingw-w64-${BUILDCOMPONENT}-SDL2 |
There was a problem hiding this comment.
Yeah, needed by Qt for the gamepad support I think.
|
🤦♂ Oh, of course, as it proved not possible to compile the As I had already pointed out to @vadi2 Windows cannot use the Noto Color Emoji fonts in even the latest Windows 10 version (except within the Edge and Chrome web-browsers) so it is pointless bundling it with that OSes packages. I took the step of making two resource files However, I forgot the CMake project files...! Given that Color emojis are handled differently on the different OSes does our current forcing of the Noto Color Emoji font actually work on MacOs? I have some prototype code that instead of uniformly trying to force that font to be used as a substitute on all OS of all VERSIONS it tries to make a more nuanced selection and allow some flexibility for those users stuck in corner cases, however it is not clear what the Apple OS option should be... |
|
It's definitely not something that this PR should worry about, lets talk in #mudlet-development? |
|
Given the size of this PR I will not attempt to convert it from the Draft that it is currently. Instead, once the kinks have been ironed out I will try and squash all the experimental stuff down locally and then try and implement pieces in the smaller chunks that I know Vadim would prefer. I suspect that, as we are including various libraries in the Windows package, either ones we compile ourselves (as at present) or provided by MSYS2 (as in this PR) we need to include all the licence documentation for the NON-GPLed free code that demands that they are mentioned as part of their terms of use, i.e. with MIT or BSD x clause or other licences! |
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
|
Squashed down and rebased off a later start point in the development branch as #3255 - closing this draft... |
The previous powershell scripts have been renamed to include "old" in them but I have chosen
to use the older Windows(now not the case, instead I) do the commands as bash scripts rather than powershell ones.cmd.exeto run MinGW32/64 bash terminalsI want to see how far the, now, two, builds get...
Signed-off-by: Stephen Lyons slysven@virginmedia.com