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

Enhancement: Document building on Arch #45

Merged

Conversation

BenjamenMeyer
Copy link
Member

This mainly makes it easy to locally build an Arch image for testing.

Thank you for submitting a pull request and becoming a contributor to Vega Strike's Build System Docker Images.

Please answer the following:

Code Changes:

  • This is a documentation change only
  • CI Change
  • Dev Support Change

Issues:

  • n/a

Purpose:

  • Give devs the ability to make a docker image supporting Arch for testing purposes to help with triage/build issues on Arch.

This mainly makes it easy to locally build an Arch image for
testing.
@BenjamenMeyer
Copy link
Member Author

BenjamenMeyer commented Oct 25, 2023

  1. The Funtoo image is expected to break right now
  2. See https://gist.github.com/BenjamenMeyer/fec42f41a610fed910e738fbddc4e671 for how to test this

If you try to test Arch Linux then I do expect you'll see errors. I haven't been able to get that one to work but the dependencies seem to check out - cmake ../engine works; it just fails to compile (gcc errors). The main point of this change is to support testing the CMake configuration.

For a non-Debian distro add the debian tooling, but ensure that the lsb tooling is not installed. For instance with ArchLinux add dpkg to the dependency listing for pacman to install while building the image. This will cause it to detect that dpkg-buildpackage is there but lsb_release is not; previously this would cause it to break on the usage of etc/debian_version; however, with vegastrike/Vega-Strike-Engine-Source#806 and vegastrike/Vega-Strike-Engine-Source#805 it should no longer do so, but list it as an Unknown Debian distro.

@FabioLolix
Copy link

IMO you should list the base-devel package which depends on make, automake, gcc, etc see Dependencies list on https://archlinux.org/packages/core/any/base-devel/

@FabioLolix
Copy link

If you try to test Arch Linux then I do expect you'll see errors

vegastrike/Vega-Strike-Engine-Source#801 (comment)

I do, however, run into other issues with Arch.

Need to install gcc12 and use it export CC=/usr/bin/gcc-12 CXX=/usr/bin/g++-12

v0.8.0 also need 2 patches https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vegastrike-engine

0.8.x branch need a cmake flag -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=format-security" \ https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vegastrike-engine-release-git

@BenjamenMeyer
Copy link
Member Author

BenjamenMeyer commented Oct 29, 2023

@FabioLolix would you be open to submitting those as PRs?

I'll take a look later too, but PRs are welcome and get merged quickly too.

UPDATE:

@BenjamenMeyer BenjamenMeyer requested a review from royfalk October 29, 2023 03:41
@BenjamenMeyer
Copy link
Member Author

BenjamenMeyer commented Oct 29, 2023

IMO you should list the base-devel package which depends on make, automake, gcc, etc see Dependencies list on https://archlinux.org/packages/core/any/base-devel/

yeah, we probably should have the base-devel packages in the listing. That said, while automake/autconf is listed we don't use it any more. I'll update the Arch here to include base-devel.

UPDATE: Unfortunately unlike Gentoo, Arch doesn't support slotting so there is only one version of a tool AFAICT. I added GCC 12 in there too so folks can set CC/CXX to gcc-12/g++-12 for testing. Confirmed my 0.8.x PR with Arch for building it.

Use the base-devel package. Fewer packages are requried to be
specified then.

- Remove autoconf/automake. They're no longer used any way.
@FabioLolix
Copy link

would you be open to submitting those as PRs?

No need, you already have those fixes in 0.8.x branch

Copy link
Contributor

@stephengtuggy stephengtuggy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@stephengtuggy stephengtuggy merged commit 85b8084 into vegastrike:master Nov 11, 2023
51 of 52 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants