Hi! > Pacman does allow you to pin versions just like you can in other package > management systems (like apt). You do that like pacman -S bash==3.2. But > obviously the pinned version must be available in the repos used.
After trying this locally I'm not sure that installing non-last package version is officially supported for msys2. While *one* of the msys2 mirrors indeed contains older packages like http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gtksourceview3-3.24.6-1-any.pkg.tar.xz Such packages can't be installed after database updating with pacman -Sy As of today this command works (current version): pacman -S mingw64/mingw-w64-x86_64-gtksourceview3=3.24.6-2 And this doesn't(for previous version): pacman -S mingw64/mingw-w64-x86_64-gtksourceview3=3.24.6-1 > Vasily, You didn't need to change the path of TK_LIBRARY and TCL_LIBRARY > between 32 and 64 bit? The only usage of (tcl & tk) in meld is displaying message box about gtk/glib absence via tkinter for a case gtk/glib is not installed. It is useful for running meld 3.18 from checkout, but doesn't look useful for installer. So I just add tkinter module to excludes in setup_msys2.py, so tcl & tk is not included in installer at all. My latest changes are here https://gitlab.gnome.org/galkinvv/meld/tree/meld-installer-build (installer mostly works but code still a bit hard-to-mantain and history is bit hard-to-read) >And you're saying Msys2 has leftovers between runs? I thought it started with >a fresh VM each time? The entire VM is fresh, but there is a parameter in appveyor-msys2.yml cache: - C:\meld-build-cache It allows caching network data on appveyour instead of redownloading it every time. The need to download is checked manually from meld/ci_helpers.py In addition to "manual pinning" of msys packages this allows making *re*builds depending only on availability only of 2 servers (meld git, appveor ci) instead of 3 (meld git, appveor ci and msys2 repo). > > -Keegan > > On Sat, May 26, 2018 at 6:49 PM Kai Willadsen <kai.willad...@gmail.com> wrote: > >> On 19 May 2018 at 05:46, Vasily Galkin <galkin...@yandex.ru> wrote: >> >>> Hello again! >> >>> Due to recent pangocairo changes in mingw-msys2 meld 3-18 become >>> incompatible with it (even running from checkout). >> >> Honestly, I think it's unlikely that moving 3.18 to msys2 is worth it. >> >> The current Windows builds work (even if the pipeline doesn't _really_ >> >> work for publishing them) and that's better than new issues from an >> >> msys2 change. >> >>> So I cherrypicked last changes Keegan Witt made for 3-18 (thanks!) changes >>> to new branch created from current master, fix pangocairo and make some >>> more adjustments: >> >>> - fixed paths to glib data installation >> >>> - XDG_DATA_DIR separator >> >>> - added caching of msys packages in appveyour data to achieve build >>> stability on rolling-release msys2 >> >> I don't know much about msys2... does it not have a way of pinning >> >> package versions? >> >>> - remove libwebp (it looks unused?) >> >> It will just be there as a gdkpixbuf loader. We don't load webp >> >> images, but if in the future we e.g., added image diff or something, >> >> then we'd probably want to put it back. >> >>> - unified. renamed mingw64+32 scripts in single msys2 script >> >>> >> >>> The repo with scripts is here - >>> https://gitlab.gnome.org/galkinvv/meld/commits/65f5c2fe1d4564a40fb47247a996eff6417ff74d >> >>> (meld-installer-build branch) >> >>> The resulting installer is here: >> >>> https://ci.appveyor.com/project/galkinvv/meld-ljlj2/build/job/jja76xhc0qxdq461/artifacts >> >> Awesome! thanks. This looks like a huge step forward to me, and I'd be >> >> keen to merge it whenever you think it's ready. In fact, given that >> >> right now 3.19 doesn't work at all, I think we can be pretty generous >> >> with what "ready" means. >> >> It's also worth noting that it's *possible* that we might be able to >> >> do this building on the GNOME Gitlab instance in the future (instead >> >> of Appveyor). I don't think this changes anything about what you've >> >> written, since the steps will be 90% the same, and I would rather get >> >> something working now. >> >>> This installer installs meld master (3.19-based) and the resulting >>> installation behaviour is identical to meld executed from checkout on msys2: >> >>> - It mostly works if executed from cmd line with files arguments (works 80% >>> of time, but may crash or hang) >> >>> - for up-to-date msys2 version meld master has huge problems with >>> selection&comparing files via new tab page, at least on windows 7. >> >> Is the issue to do with Meld, or is it the file selector itself? >> >>> So it looks that installation build scripts themselves are mostly correct >>> and this version achieves basic windows compatibility for current master >>> with msys2. >> >>> The commit history of achieving this compatibility mostly contains >>> trial&error commits. >> >>> Should the commit history be included in merge request or squashed to >>> single commit describing ideas of most important changes? >> >> I had a read through that branch, and while I think the commit history >> >> + messages could be cleaned up a bit (if you're comfortable with >> >> interactive rebase) there's nothing wrong with having the full history >> >> there. I'd probably prefer that to having a single squashed commit. >> >> cheers, >> >> Kai >> >> _______________________________________________ >> >> meld-list mailing list >> >> meld-list@gnome.org >> >> https://mail.gnome.org/mailman/listinfo/meld-list _______________________________________________ meld-list mailing list meld-list@gnome.org https://mail.gnome.org/mailman/listinfo/meld-list