Yes I remember this now, I had some problems before with the VMs I use to test things like this in a clean setup and lost one of the VMs and script was lost. I have made a change to the script now based on this. I took in most of it except the download dir and build dir, could add later and likely will but it won't stop the build from running so for now leaving it out.mhertz wrote: ↑Fri Dec 24, 2021 11:36 pm I looked through your script just quickly, and please forgive me for not just making PR, but I haven't run your scripts and just some quick comments regarding your gvsbuild section, then you need pycario and pygobject and enable gi presumingly etc. Well, maybe you can get it work from pypi building from src, though failed for me - though pycairo have wheels I see, but regardless. Also adwaita-icon-theme needed. Sorry, I know you know all this, atleast if I remember correct, because I initially got help from your old gvsbuild cmd-script and Cas's yaml config, when first looked into gvsbuild long ago and had some trouble with it because non-default msvc-location etc.
Then, fontconfig (gtk3-dep) fails if not having git and won't work from msys2 git neither(even if added to path and working from cmd alone), but works through e.g mingit(-regular/msys2 or busybox, I used busybox version as smaller and reported faster - git for windows btw) extracted and added to path. Librsvg fail fixed now, so don't need cater to that anymore. If not using --python-dir or --same-python, and should be --same-python here, then by default downloads and builds through another python gotten through nuget, currently 3.10(optionally controlled through --python-ver), which not good when need pygobject and pycairo in py3.7 wheels here.
This line works elsewhere for me btw: (haven't tested if all the deps needed though)Code: Select all
python build.py -d build --gtk3-ver=3.24 --archives-download-dir=%DOWNLOAD_DIR% --build-dir="%BUILD_DIR%" --msys-dir="%MSYSPATH:~1,-9%" --vs-ver=%VS_VER% --platform=x64 --vs-install-path=%MSVC_DIR% --same-python -k --enable-gi --py-wheel enchant gtk3-full pycairo pygobject lz4 --skip gtksourceview,emeus,clutter --capture-out --print-out
You can see in the script I do use a VS Installer Config to install only certain components, if this like has more then needed I would definitely like to reduce this. Faster builds would be great.Newest python and vc2019 work good also btw, seemingly, in current gvsbuild, openssl, libtorrent and deluge builds/runs. If you ever switch(msvc), then only need these two msvc components btw, saving little space(1gb+ if remember correct):Code: Select all
if exist "%programfiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" "%programfiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version [16.0,17.0) -prerelease -products * -nologo -requires Microsoft.Component.MSBuild Microsoft.VisualStudio.Component.VC.Tools.x86.x64 | findstr . && if exist "%programfiles(x86)%\Windows kits\10" set dirty=1 if not defined dirty curl -LO https://aka.ms/vs/16/release/vs_BuildTools.exe && vs_BuildTools.exe --quiet --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 --installPath "%~dp0msvc" --wait && del vs_BuildTools.exe
I add 7z because in my own experience its has worked the fastest, also is native and I regularly use it in cmd and UI for other things, kind of a personal preff here and is so small I think I'm going to leave it in it maybe add 30 sec to build time and thats only on the first run if you don't start a new VM/build environment each time it obviously won't add time to secondary runs so not a huge loss here.Last, bsdtar, default in msys2, should be able to extract all needed, so 7z.exe addition redundant.
Thanks for the help! I am now seeing I have not added installing git nor the wheels grom GTK(because it wasn't build as wheels yet again thanks) This is partly why I posted as I mentioned before there was some very obvious mistakes but now I think it has goten significantly better. I still have not tested or applied the 64-bit changes to 32-bit so it likely has the same issues but I will get there.