Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cegui dependency not available for building Windows version #709

Open
xet7 opened this issue Oct 23, 2023 · 16 comments
Open

cegui dependency not available for building Windows version #709

xet7 opened this issue Oct 23, 2023 · 16 comments

Comments

@xet7
Copy link
Member

xet7 commented Oct 23, 2023

Hi,
I tried to install dependencies to build Windows version of TSC:

https://github.com/Secretchronicles/TSC/blob/devel/INSTALL.md#2-installing-the-dependencies

But it said cegui dependency is not available. I'll think what to do about this.

@bell07
Copy link

bell07 commented Oct 28, 2023

Today I got the message from portage in my Gento Linux system:

!!! The following installed packages are masked:
- dev-games/cegui-0.8.7-r100::gentoo (masked by: package.mask)
/var/db/repos/gentoo/profiles/package.mask:
# Michał Górny <[email protected]> (2023-10-27)
# dev-games/cegui is unmaintained, does not support Python 3.11 and has
# a ton of open bugs.  It is only used by games-rpg/sumwars.  CeGUI has
# had no release since 2016, and apparently the current git
# is incompatible with SumWars.  SumWars have had no activity
# since 2014.
# Removal on 2023-11-26.  Bug #896688.

Please remove the cegui dependency, replace the lib by any alternative...

Site note: The games-arcade/tsc is not mentioned in message because not in official gentoo repository (just in my public overlay).

@xet7
Copy link
Member Author

xet7 commented Oct 28, 2023

@bell07

What alternatives are there?

I looked for some at here:

https://alternativeto.net/software/crazy-eddie-s-gui-system/

But I have not tried any of them yet.

It would help if that alternative would be similar to cegui.

@xet7
Copy link
Member Author

xet7 commented Oct 28, 2023

@bell07

Site note: The `games-arcade/tsc` is not mentioned in message because not in official gentoo repository (just in my public overlay).

I do not know how to build TSC for gentoo. I only know how to make .deb and .exe packages.

@xet7
Copy link
Member Author

xet7 commented Oct 28, 2023

I have not yet tried to learn how to build AppImage or FlatPak packages.

@xet7
Copy link
Member Author

xet7 commented Oct 28, 2023

I think, that if I could figure out a way to make AppImage that would work on most distros, building it at Debian or Ubuntu where all dependencies exist, maybe that could be the best option.

For Windows, I could install newest source code for cegui, and use it to build Windows version of TSC.

cegui may be unmaintained, and have some bugs, but I do not notice any of them when playing TSC.

There has not been any contact from any distro, that would have had interest to package TSC directly to some distro. I have built packages myself.

@bell07
Copy link

bell07 commented Oct 28, 2023

I do not know alternatives. Just wanted to warn the cegui is removed from one distribution for less maintenance reasons.

Gentoo is source based, that means the repository provides build instructions only (ebuilds). Like arch AUR or bsd ports, the package is built on target system with optimizations using the provided instructions.
For Gentoo I maintain the ebuilds at https://github.com/bell07/gentoo-bell07_overlay/tree/master/games-arcade/tsc

If cegui is removed in a month, but you decides still to use it, I need adjust tsc ebuild, that cegui is built at the first and installed for tsc only as needed.

In this case I recommend for AppImage or FlatPak to include the cegui lib inside the package too, because maybe other distros remove the lib from repository too.

@Quintus
Copy link
Member

Quintus commented Oct 28, 2023 via email

@refi64
Copy link
Member

refi64 commented Oct 29, 2023

There's already a Flatpak manifest in the repo root, though it needs a little TLC to update the base runtime.

@xet7
Copy link
Member Author

xet7 commented Nov 12, 2023

Here is where cegui was dropped from msys2:

msys2/MINGW-packages@0cbc5ff

@xet7
Copy link
Member Author

xet7 commented Nov 12, 2023

I'm currently compiling cegui for Windows. I'll see does it work.

@bell07
Copy link

bell07 commented Feb 14, 2024

Found new upstream at https://github.com/cegui/cegui

The "default" branch is next-version with breaking ABI. Maybe it is worth to start porting the ABI changes in TSC.
The "v0-8" branch is more up-to-date and contain more fixes than the 0.8.7 release.

I think the upstream is not as dead as thought.

@xet7
Copy link
Member Author

xet7 commented Feb 14, 2024

@bell07

Do you have time to try does it work? Does it fix any important bugs?

@bell07
Copy link

bell07 commented Feb 15, 2024

I compiled the "v0-8" branch and use it with TSC for now.

The patches python3.patch and musl.patch I was needed to apply to the 0.8.7 release, are already applied in the branch.

The issue I got last week after system update (the reason why I searched for solution) - the cegui does not compile with CEGUI_BUILD_XMLPARSER_LIBXML2 anymore - is still not solved in both branches. My current solution is to move to XMLPARSER_EXPAT that is supported by TSC too.

I was able to compile the cegui "master" branch, but compiling TSC fails. The hard-coded paths "cegui-0.8" does not match (new is "cegui-0.9999"). After adjusting paths, the compiling fails with something about data type conversation not possible. I think that is the ABI and API breaking change, mentioned in README.md

@xet7
Copy link
Member Author

xet7 commented Oct 3, 2024

I above commented at #709 (comment) , that here is where cegui was dropped from msys2:

msys2/MINGW-packages@0cbc5ff

At above commit is info, that CEGUI has been moved to MINGW-packages-dev https://github.com/msys2/MINGW-packages-dev . There at readme is info about how to build CEGUI etc. I copied that build info below to this comment. I will try it, and add info to TSC Windows version build instructions at https://github.com/Secretchronicles/TSC/blob/devel/INSTALL.md#vi-compiling-on-windows-with-msys2

Using packages

Download or clone the package folder with the scripts to your machine and build for yourself.

Assuming you have a properly installed MSYS2 environment and build tools, you can build any package using the following command:

   cd ${package-name}
   MINGW_ARCH=mingw64 makepkg-mingw -sLf

After that you can install the freshly built package(s) with the following command:

   pacman -U ${package-name}*.pkg.tar.zst

@xet7
Copy link
Member Author

xet7 commented Oct 3, 2024

Here is cegui build log with some errors:

cegui-build-log.txt

@Quintus
Copy link
Member

Quintus commented Oct 4, 2024

Note: Yesterday I made TSC build CEGUI itself rather than using a system-provided one, thereby disabling all optional features in CEGUI which we do not use in TSC (like Python support, for instance). This should work well on Linux.

For Windows, it might be that this build fails. This might require some tweaks in ProvideCEGUI.cmake with an if(WIN32) branch around them to fix. I don’t use Windows personally, so I leave this to someone else. Take this just as notice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants