Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Poll

What would be the most convenient release format for the LinuxDwarfPack?

Redhat RPM
Ubuntu SNAP
Debian DEB
Arch XZ
Docker
AppImage
Current tbz2
Other

Pages: [1] 2

Author Topic: LinuxDwarfPack / lnp-forge  (Read 7716 times)

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
LinuxDwarfPack / lnp-forge
« on: April 21, 2016, 03:44:54 am »


lnp-forge:

lnp-forge is a script for building a Dwarf Fortress starter pack on Linux/MacOS.
It checks for dependencies, downloads the game and tools from their original websites, builds and installs everything in a self-contained directory.
Supports Dwarf Fortress release:


Pack includes:
  • DwarfFortress with DFHack & TWBT
  • full DFGraphics tilesets
  • various keybinds and embark profiles
  • Dwarf Therapist
  • Legends Browser
  • Announcement Window


Testers welcomed!

Help from testers on different distros would be much appreciated!
The tool has been tested on Fedora, Debian and ArchLinux so far.


Instructions:

Go to https://github.com/McArcady/lnp-forge
Click [Download ZIP], or clone the repo from Github.

On the command-line, enter:
$ ./configure --prefix=$PWD && make install

To see or change any option, do:
$ bin/lnp-forge menuconfig

To start the build and installation:
$ bin/lnp-forge build

The pack is installed in .build/src/lnp-0.xxx.
It is self-contained and may be moved or copied anywhere else.


Bug reports:

Please attach the build.log file to any issue report on Github.


« Last Edit: June 14, 2020, 07:44:10 am by McArcady »
Logged

DeDeRon

  • Bay Watcher
    • View Profile
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #1 on: April 21, 2016, 08:37:39 am »

very good job, i'm happy that someone finally came around to do this. i opened two issues on github, some small (no showstopper) things i noticed:

dependencies:
- pls add tk, tcl, this is needed by the python Tkinter module.
- what is java needed for? is jre enough? probably jdk is required?

- when leaving the config menu i see a line saying

*** Execute 'ct-ng build' to start the build or try 'ct-ng help'.

probably a copy&paste mistake, no big deal.

- for convenience a "chmod 755 .build/src/lnp-0.10f/startlnp.sh" at the end of the build queue would be nice.

- i'm using slackware-current i686.i had to install following slackbuilds: dos2unix, openjdk. i have the qt5 slackbuild installed anyway, but i think qt4 is enough. i will run a test against qt4 once the issues are fixed.

thx again for this wonderful build tool!

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #2 on: April 21, 2016, 10:44:59 am »

Thanks for testing! I'm glad it helps linux players.
- java8 is required by LegendsBrowser. Sadly this great tool does not work with java7. The jre shall be enough because lnp-forge does not rebuild LegendsBrowser: the jar is downloaded and lnp-forge wraps a script and config file around it.
- qt5 is required for building DwarfTherapist, I have not tried building it with qt4 but this would be useful because some older distros like debian7 do not provide qt5.

BTW, would you have a list (even partial) of the required slackware packages? I would like to create a wiki section on github with the required packages for each distro.
Thanks for the feedback.

DeDeRon

  • Bay Watcher
    • View Profile
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #3 on: April 21, 2016, 11:30:31 am »

i just checked with ldd, my DwarfTherapist binary is linked against qt4, so qt5 is optional (means: either qt4 or qt5 required).

For Slackware i686 you need to install following slackbuilds (a remark for you: think of it like "ports"):
OpenAL (for dwarf fortress)
perl-xml-libxml (for dfhack)
perl-XML-LibXSLT (for dfhack)
dos2unix (soundsense?)
a java runtime environment: "openjdk" or "jdk" slackbuild or any other java jre package (for LegendsBrowser)
optional: qt5 (but see below)

i did not need sdl-image or sdl-ttf, so probably optional. btw.: slackware still uses sdl 1, SDL2_image and SDL2_ttf is available as slackbuilds.

when using qt5 you need to make sure that the Dwarf Therapist build process executes qmake-qt5 (instead of qmake, which belongs to qt4). i dont think this is worth the hassle, so for slackware i would leave out any references to qt5.

slackware x86_64 is a different story, you need to enable multilib, that means install the required i686-libraries. OpenAL needs to be from i686 too. all the other slackbuilds has to be installed for x86_64 (maybe?). this is just a guess, i never used a multilib 64-bit system.

its a pity that i have to provide all these dependencies even though i don't use some of the programs. but still i like the way the build process is working (despite using autohell for the first step).
« Last Edit: April 21, 2016, 11:43:16 am by DeDeRon »
Logged

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #4 on: April 23, 2016, 07:03:15 am »

Ok fixed: lnp-forge now adapts to current version of Qt (4 or 5) and Therapist is built with it.
32-bit libraries sdl-image and sdl-ttf are required by the DwarfFortress binary.

Indeed, people that do not need LegendsBrowser for example should not be required to install Java 8.
I may add an option to exclude some deps checking from the configure phase, and then exclude the dependent tool from the menuconfig phase.

DeDeRon

  • Bay Watcher
    • View Profile
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #5 on: April 30, 2016, 08:22:38 am »

what is the best way to update the fetched sources and do a (incremental) rebuild? is there some kind of build target for this case?

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #6 on: May 02, 2016, 03:44:23 pm »

The tool does not do that.
But of course if you  update a version number in the menuconfig and build again, only this component will be re-cloned (integrally) and built.

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #7 on: July 30, 2016, 09:30:57 am »

New update for building a Starter Pack for DF 0.43.03 (with DFHack+twbt) or 0.43.05 (without DFHack):
- java8 and Qt5 are now optional
- Therapist may be built with Qt4
- Legends Browser will not be included if java8 is not available
« Last Edit: August 20, 2016, 04:51:04 am by McArcady »
Logged

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #8 on: August 16, 2016, 04:05:27 am »

Poll results: after trying to run World Viewer with Mono/Linux, it appears it is using too many Windows native libraries to be adaptable to Mono for Linux/MacOS.
So I will not be able to include it in the StarterPack built with lnp-forge. Sorry!
« Last Edit: August 19, 2016, 02:05:10 pm by McArcady »
Logged

SatelliteOfLove

  • Bay Watcher
    • View Profile
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #9 on: September 28, 2016, 01:01:31 pm »

McArcady, I just wanted to thank you sincerely for the work you're doing here.  This is/will be a real help in many ways.  Keep up the great work!

Edit: I would like to request that, for those of us who have no interest in the 32-bit DF, that there be an option to drop 32-bit development libraries from the configure phase.

Edit #2: Even after installing LibSDL_image-1.2 (64/32bit and associated development packages), I still get:
checking for IMG_Load in -l:libSDL_image-1.2.so.0... no
configure: error: Could not find 32-bit library libSDL_image-1.2

« Last Edit: September 28, 2016, 01:27:47 pm by SatelliteOfLove »
Logged

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
Re: lnp-forge: Yet another LazyNewbPack builder script for Linux/MacOS
« Reply #10 on: October 02, 2016, 06:44:56 am »

Thanks for reporting this:
I made a patch: 32-bit SDL libs are now optional, 64-bit libs are mandatory.
If 32-bits SDL libs were not found, DF versions older that 0.42.05 are disabled in menuconfig.

« Last Edit: March 17, 2018, 06:42:16 pm by McArcady »
Logged

clinodev

  • Bay Watcher
  • Embark Profile Enthusiast
    • View Profile
Re: LinuxDwarfPack / lnp-forge
« Reply #11 on: February 24, 2020, 10:56:55 pm »

Here's the newest 0.47.02 Pack, so people can find it:http://dffd.bay12games.com/file.php?id=14768



Also, McArcady,
Here's a copy of DFhack and a TWBT compiled against it for 0.47.03, if you'd like to update! I see lots of calls for a Linux .03 Pack!

http://dffd.bay12games.com/file.php?id=14863
Logged

Darthlawsuit

  • Bay Watcher
    • View Profile
Re: LinuxDwarfPack / lnp-forge
« Reply #12 on: March 03, 2020, 07:38:01 pm »

You are  doing God's work! Been waiting on this!
Logged

Proudbucket

  • Bay Watcher
    • View Profile
Re: LinuxDwarfPack / lnp-forge
« Reply #13 on: March 28, 2020, 12:14:39 pm »

Thanks for the work McArcady!

I've been playing with 44.12 and I've waited until now to jump.
I downloaded the lnp today (march 28) which states that it is for 0.47.04.
I do as per the readme file and I run:
Code: [Select]
"./configure --prefix=$PWD && make install"I end up with a folder in lib named 0.47.03.

Am I doing something wrong? should I do something to instead get 0.47.04?
Logged

McArcady

  • Bay Watcher
  • Recovering from deadly dust
    • View Profile
    • LinuxDwarfPack - a ready-to-go pack for Linux
Re: LinuxDwarfPack / lnp-forge
« Reply #14 on: April 01, 2020, 03:58:10 pm »

My bad, the version number has not been updated and really should be 0.47.04.
Anyway it does not prevent the build since the version numbers that are actually used are set by running:
Code: [Select]
bin/lnp-forge menuconfig
That sets the version numbers for each component in file:
Code: [Select]
.configYou can also download a pre-built pack here: http://dffd.bay12games.com/file.php?id=14911
Pages: [1] 2