Page MenuHomeSolus

Initial inclusion of Cataclysm, resolves T10438.
ClosedPublic

Authored by Icosahunter on Dec 18 2022, 12:40 AM.
Tags
None
Referenced Files
F11053813: D13877.id.diff
Thu, Aug 10, 11:59 PM
F11053812: D13877.id33920.diff
Thu, Aug 10, 11:59 PM
F11053810: D13877.id33916.diff
Thu, Aug 10, 11:59 PM
F11053809: D13877.id33865.diff
Thu, Aug 10, 11:58 PM
F11053808: D13877.id33915.diff
Thu, Aug 10, 11:58 PM
F11042494: D13877.diff
Thu, Aug 10, 6:43 AM
F11037981: D13877.diff
Wed, Aug 9, 9:39 PM
F10983463: D13877.id.diff
Sun, Jul 23, 2:27 PM
Subscribers

Details

Summary

Initial inclusion of Cataclysm, resolves T10438.

Test Plan

Run cataclysm from terminal, create or open a world. Run cataclysm-tiles, create or open a world.

Diff Detail

Repository
R5676 cataclysm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Staudey requested changes to this revision.Dec 20 2022, 1:26 AM
Staudey added a subscriber: Staudey.

Started reviewing this but then got a little sidetracked, so I will just post my preliminary observations before I go to bed

config/debug.log
1 ↗(On Diff #33865)

I assume you included this whole file on accident

package.yml
8

Seems like there is also

- GPL-2.0-or-later WITH Font-exception-2.0 #GNU Unifont
- MIT #getpost/gulrak
- OFL-1.1-RFN #Terminus Font
- Zlib #PLF List/Colony

From: https://github.com/CleverRaven/Cataclysm-DDA/blob/master/LICENSE.txt (leaving out the debug and test stuff that we don't use)

12

I think games.rpg would be more fitting for the -common package as well

21

Note that A-Z before a-z, so the SDL2- stuff comes first.

43

We can clean this up by putting those patches in a series file and using %apply_patches
(see https://getsol.us/articles/packaging/packaging-practices/en/#handling-multiple-patches)

46

You can use our own variable $workdir for this (so you don't have to export anything, just use cp -R $workdir and so on.

[Note: only if we can't find a way to do this whole thing without having two copies of the source, see below]

52
  1. It'd be cleaner to instead move this to a environment : | key before setup
export COMMON_OPTIONS="CLANG=1 CCACHE=1 PREFIX=/usr RELEASE=1 USE_HOME_DIR=1 BACKTRACE=0 RUNTESTS=0 ZLEVELS=1 LOCALIZE=1 LANGUAGES=all"

and then simply use %make $COMMON_OPTIONS plus any additional options for the step

  1. Can't we just skip the copying of the sources in setup, and the folder switching, and instead simply run the following?:
%make $COMMON_OPTIONS
%make $COMMON_OPTIONS TILES=1 SOUND=1

(same for the install step)

This revision now requires changes to proceed.Dec 20 2022, 1:26 AM

Started reviewing this but then got a little sidetracked, so I will just post my preliminary observations before I go to bed

Thanks for all the feedback! Not sure when I'll get to this with Christmas coming up but I'll work on it when I get a chance.

Properly alphabetized deps, cleaned up patches, build, and install

Nice work! Two more little questions:
(otherwise LGTM)

files/0002-Update-catch.hpp-to-2.13.7.patch
1 ↗(On Diff #33915)

Do we actually need this patch when we're not running the tests (yet)? Compilation seems to run fine without it.

package.yml
48

From looking at their repo it seems like at least USE_HOME_DIR and LOCALIZE are set to "ON" by default. Can we remove these options, or does something during the setup/build override those defaults?

files/0002-Update-catch.hpp-to-2.13.7.patch
1 ↗(On Diff #33915)

I think I had tests on in earlier testing and then didn't check if some of the patches were still needed when I changed the build options, I'll try removing it.

package.yml
48

I copied the build options from the Cataclysm build on AUR, very possible they just opted to specify everything, I'll try without and check if everything is good.

Made requested changes (except removing HOME_DIR=1 as that does not appear to be set by default)

Icosahunter added inline comments.
files/0002-Update-catch.hpp-to-2.13.7.patch
1 ↗(On Diff #33915)

Indeed that patch was not required to build anymore.

package.yml
48

I tried without USE_HOME_DIR and it didn't find my world so looks like it is needed, and I didn't see it set anywhere in the MAKEFILE so makes sense. LOCALIZE does appear to be set to 1 by default and after building with it removed and switching languages it did change the language in game, so we should be good to go here.

I tried without USE_HOME_DIR and it didn't find my world so looks like it is needed, and I didn't see it set anywhere in the MAKEFILE so makes sense.

My bad, I was looking at the cmake files, and forgot you were using the Makefile instead here.

This revision is now accepted and ready to land.Dec 31 2022, 2:49 PM