Author Topic: Gentoo Ebuild: It Arises  (Read 580 times)

Offline leycec

  • Zombie Food
  • *
  • Posts: 7
    • View Profile
Gentoo Ebuild: It Arises
« on: April 26, 2013, 10:05:00 AM »
Howdie, fellow post-apocalyptic sojourners. For the fortunate Gentoo-ites among us (...you know who you are), a series of unofficial but well-tested ebuilds compiling and installing Cataclysm: DDA from live GitHub sources have arisen! We currently support versions 0.4 and 9999 (i.e., the most recent GitHub commit), with planned support for 0.5 as soon as that erupts.

The wiki has complete instructions. If you're too busy chopping up your bench into nailboards to thumb through them, however, it's pretty simple:

  • Add overlay raiagent.
  • Unmask >=games-roguelike/cataclysm-dda-0.4.
  • Emerge cataclysm-dda.

We now return to your regularly scheduled bout of frostbite, moaning fear, and huddling despondently in unmarked graves dirt pits you dug by the last of firelight.
« Last Edit: April 27, 2013, 09:36:57 PM by leycec »

Offline Kevin Granade

  • Administrator
  • Survivor
  • *****
  • Posts: 2368
  • I code dead people.
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #1 on: April 26, 2013, 07:42:24 PM »
Woot, the first distro package!  Thanks!

We're migrating the license to CC-BY-SA 3.0, so once that's done we can do "legit" distro releases, but while that's happening by all means feel free to build and spread around packages.

We're also taking a look at updating the makefiles to accomodate packaging more easily (allowing installing to /usr/local/whatever or whatever wacky paths various distros use).
I am The Great Revolutionary Democratic People's Republic of Your Mother! -bubbadoo14
You'll be missed, NPC McForgotYourName. -Inquisitor Dust
The perfect place to steal the raw inspiration from!  -John Candlebury

Offline leycec

  • Zombie Food
  • *
  • Posts: 7
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #2 on: April 26, 2013, 10:08:27 PM »
Woot, the first distro package!  Thanks!

Hey -- thank you.

We're migrating the license to CC-BY-SA 3.0, so once that's done we can do "legit" distro releases, but while that's happening by all means feel free to build and spread around packages.

Excellent. Given Gentoo's somewhat "elongated" release schedule, this ebuild won't be squirming its way into the official Portage tree anytime soon. Bah! :)

We're also taking a look at updating the makefiles to accomodate packaging more easily (allowing installing to /usr/local/whatever or whatever wacky paths various distros use).

Badical! Err... excellent. Honestly, I found the Cataclysm: DDA "Makefile" to be remarkably helpful. So many roguelikes either distribute no makefiles or highly nonstandard makefiles. (premake4-based ToME4, I'm glaring at you.)

I did trip across a breaking bug, however. I should probably launch a new forum post for it, but... well, Spring is here. Doesn't happen often in Canada. So here goes:

Under Linux (and possibly OS X), if the directory to which "cataclysm" is installed is not writable by the current user, running "cataclysm" results in 100% CPU load. And that's it. No output. No error. No warning. Just 100% CPU load.

I'm afraid I haven't grepped through the codebase, yet. Perhaps the function responsible for writing the "save" savefile silently spins until getting write access to such directory? Which, of course, it never gets.

Regardless, fantastic job. At the currently diabolic pace of development, I can well see DDA overtaking ToME4 as Roguelike of the Year. I guess what I'm trying to say is: "Thanks for all the rancid zombie fish."
« Last Edit: April 26, 2013, 11:54:20 PM by leycec »

Offline leycec

  • Zombie Food
  • *
  • Posts: 7
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #3 on: May 15, 2013, 04:55:05 AM »
Bump. Version 0.5 is now supported. Enjoy, would-be biohazard survivors!

If upgrading from version 0.4, you'll probably want to move the existing "save/" subdirectory aside. This avoids STL exceptions on game startup resembling:

Code: [Select]
terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr
« Last Edit: May 15, 2013, 04:56:36 AM by leycec »

Offline leycec

  • Zombie Food
  • *
  • Posts: 7
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #4 on: February 15, 2014, 07:20:13 AM »
Necrobump.

Cataclysm: DDA 0.9 (also referred to as "Ma, it hurts so bad.") Gentoo support has landed. Before upgrading, note that you must enable at least one of the following USE flags:

  • "ncurses", installing the ncurses-based terminal executable cataclysm-dda-ncurses.
  • "sdl", installing the SDL-based tiles executable cataclysm-dda-sdl.

Ideally, enable both. (Queue skin-crawlingly overused "Why can't we have both?" meme. Twitch. Twitch.) For your grisly edification, the following optional USE flags are also now supported:

  • "clang", compiling Cataclysm: DDA with the LLVM-based clang++ compiler rather than the conventional g++ compiler. (Highly experimental. Guaranteed to explode your digital world in uncomfortable ways – but it's there if you're feeling frisky.)
  • "lua", embedding a Lua interpreter into Cataclysm: DDA. (Technically, this currently does nothing. Thanks, leycec. I know. But it will probably do something when Lua support goes live in the upcoming version 1.0. Hey, no harm in planning ahead... or is there?)

This updates comes courtesy the following Gentooers, whose thankless diligence on both this forum and github shamed me into patching my bit rot:


Let the ultra-grizzly mastication by slow fungal digestion begin.
« Last Edit: February 15, 2014, 07:31:00 AM by leycec »

Offline Kevin Granade

  • Administrator
  • Survivor
  • *****
  • Posts: 2368
  • I code dead people.
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #5 on: February 25, 2014, 06:44:50 AM »
Thanks so much!

We know we're bad people wrt non-configurable file paths, builld- and run-time configurability for that is being looked at.  We have the gnarly "let's add indirection to all the hard-coded file paths" done, now just need to hook it up to the makefile and stuff.
Btw, clang++ isn't all that experimental, the official builds are on clang since that's what our Jenkins instance is configured for.  (yes we'll be looking at whether g++ builds make faster code at some point)
I am The Great Revolutionary Democratic People's Republic of Your Mother! -bubbadoo14
You'll be missed, NPC McForgotYourName. -Inquisitor Dust
The perfect place to steal the raw inspiration from!  -John Candlebury

Offline leycec

  • Zombie Food
  • *
  • Posts: 7
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #6 on: March 02, 2014, 12:40:07 AM »
Thanks so much!

You guys rock the post-apocalyptic Casbah. With bated (fetid) breath, we contemplate what lurks in the dark for 0.A. Here's to even more weekends wrecked with Lua-enabled grappler zombie duels.

Quote
We know we're bad people wrt non-configurable file paths, builld- and run-time configurability for that is being looked at.  We have the gnarly "let's add indirection to all the hard-coded file paths" done, now just need to hook it up to the makefile and stuff.

The "Makefile" is astonishingly serviceable with respect to Gentoo integration. A well-deserved kudos to the build team! That said, there are a few incidental hiccoughs:

  • The live "Makefile" assumes subdirectories "obj" (when compiling the ncurses build) and "obj/tiles" (when compiling the SDL build) to exist without actually creating such subdirectories. Since they don't exist, "make" immediately fails with fatal error. (Easily fixed on our end, of course, but there you are.)
  • The live "Makefile" hardcodes "-werror" into variable $(WARNINGS) (when building with g++). This is a fairly dangerous option, guaranteeing build failure on the first otherwise ignorable compilation warning. You might want to omit such option from $(WARNINGS) by default – perhaps enabling such option only under developer-specific debug builds. (Easily fixed on our end, again.)

Aaaand... That's it.

Quote
Btw, clang++ isn't all that experimental, the official builds are on clang since that's what our Jenkins instance is configured for.  (yes we'll be looking at whether g++ builds make faster code at some point)

Fantastic. I should probably have actually tested that.
« Last Edit: March 02, 2014, 05:30:36 AM by leycec »

Offline leycec

  • Zombie Food
  • *
  • Posts: 7
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #7 on: March 02, 2014, 12:51:47 AM »
Bump.

Live Cataclysm: DDA Gentoo support has landed. In blood-flecked anticipation for the official 0.A release, we now support building straight from the live repository. (Not for the wobbly of heart.)

This an inherently unstable and hence hard-masked ebuild. To unmask, just add the following line to "/etc/portage/package.unmask":

Code: [Select]
~games-roguelike/cataclysm-dda-9999
The same caveats as above also apply: namely, enable the "ncurses" and/or "sdl" USE flags.

Enjoy, brain-curdled triffid hunters!
« Last Edit: March 02, 2014, 05:25:46 AM by leycec »

Offline leycec

  • Zombie Food
  • *
  • Posts: 7
    • View Profile
Re: Gentoo Ebuild: It Arises
« Reply #8 on: March 03, 2014, 08:06:23 AM »
Bump.

Cataclysm: DDA 0.A Gentoo support has landed. Enjoy the rabid mutation frenzy, my penguin-like compatriots.