guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New build-system quest (premake4 t-engine)


From: Oleg Pykhalov
Subject: Re: New build-system quest (premake4 t-engine)
Date: Tue, 25 Jul 2017 00:08:32 +0300

Hello Ricardo,

sorry for later response.

Ricardo Wurmus <address@hidden> writes:

> Have you tried using the “gnu-build-system” and replacing the configure
> phase with your invocation of premake4?

I did it like you wrote.

But the problem was tome4 (t-engine) wants config=release.


Firstly I thought that it will be good to have a different build system
for premake in future, so we don't need always to overwrite configure
phase.

May be I'm wrong and it's OK to do all the time, I'm not sure.

> One difference between “guix build” and “guix environment” is that the
> latter builds a profile first, so environment variables for libraries or
> headers really only have to be set to a single directory
> (e.g. $GUIX_ENVIRONMENT/lib or $GUIX_ENVIRONMENT/include).
>
> “guix build”, on the other hand, builds up long chains of directories as
> the values for these environment variables.

Hm, do they both produce kinda the same environment in native?

>> ./pre-inst-env guix environment -C t-engine
>> source ./environment-variables
>> cd t-engine*
>> make
>
>> succeeded.
>
> Did you not have to run premake4 first?  If you don’t need it then it
> would be sufficient to use the gnu-build-system and delete the configure
> phase.

I did this in failed to build /tmp/...t-engine* directory.  So configure
phase was already executed and I had all needed Makefiles.

> (I don’t think we need a new build system for the case where just the
> configure phase differs slightly, but maybe I’m missing something.)

Probably true.  :-)

> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> https://elephly.net

Hello Solene,

sorry for long response.

Solène Rapenne <address@hidden> writes:

> Hello,
>
> I would like to help you to package t-engine if you need some help
> outside of guix area (I'm not that familiar with guix, not enough to
> play with packages) but if you have issues running t-engine (ToME ?) I
> may be able to help you.

Thanks!

I have a thought about package structure.  Not very familiar with
premake4.

Can t-engine binary be outside of game data (failes to start because
cannot find bootstrap otherwise)?  Wrapping it with a shell script in
/bin is not beauty as I think.  Package look like this for now:
.
├── bin
│   └── tome4
└── usr
    ├── games
    │   └── tome4
    │       ├── bootstrap
    │       │   └── boot.lua
    │       ├── game
    │       │   ├── addons
    │       │   │   ├── tome-addon-dev.teaa
    │       │   │   ├── tome-items-vault.teaa
    │       │   │   └── tome-possessors.teaa
    │       │   ├── engines
    │       │   │   └── te4-1.5.5.teae
    │       │   ├── loader
    │       │   │   ├── init.lua
    │       │   │   └── pre-init.lua
    │       │   ├── modules
    │       │   │   ├── boot-te4-1.5.5.team
    │       │   │   ├── example
    │       │   │   │   ├── class
    │       │   │   │   │   ├── Actor.lua
    │       │   │   │   │   ├── Game.lua
    │       │   │   │   │   ├── Grid.lua
    │       │   │   │   │   ├── interface
    │       │   │   │   │   │   └── Combat.lua
    │       │   │   │   │   ├── NPC.lua
    │       │   │   │   │   └── Player.lua
    │       │   │   │   ├── data
    │       │   │   │   │   ├── birth
    │       │   │   │   │   │   └── descriptors.lua
    │       │   │   │   │   ├── damage_types.lua
    │       │   │   │   │   ├── general
    │       │   │   │   │   │   ├── grids
    │       │   │   │   │   │   │   └── basic.lua
    │       │   │   │   │   │   └── npcs
    │       │   │   │   │   │       └── kobold.lua
    │       │   │   │   │   ├── gfx
    │       │   │   │   │   │   └── particles
    │       │   │   │   │   │       └── acid.lua
    │       │   │   │   │   ├── rooms
    │       │   │   │   │   │   ├── pilar.lua
    │       │   │   │   │   │   └── simple.lua
    │       │   │   │   │   ├── talents.lua
    │       │   │   │   │   ├── timed_effects.lua
    │       │   │   │   │   └── zones
    │       │   │   │   │       └── dungeon
    │       │   │   │   │           ├── grids.lua
    │       │   │   │   │           ├── npcs.lua
    │       │   │   │   │           ├── objects.lua
    │       │   │   │   │           ├── traps.lua
    │       │   │   │   │           └── zone.lua
    │       │   │   │   ├── dialogs
    │       │   │   │   │   ├── DeathDialog.lua
    │       │   │   │   │   └── Quit.lua
    │       │   │   │   ├── init.lua
    │       │   │   │   └── load.lua
    │       │   │   ├── example_realtime
    │       │   │   │   ├── class
    │       │   │   │   │   ├── Actor.lua
    │       │   │   │   │   ├── Game.lua
    │       │   │   │   │   ├── Grid.lua
    │       │   │   │   │   ├── interface
    │       │   │   │   │   │   └── Combat.lua
    │       │   │   │   │   ├── NPC.lua
    │       │   │   │   │   └── Player.lua
    │       │   │   │   ├── data
    │       │   │   │   │   ├── birth
    │       │   │   │   │   │   └── descriptors.lua
    │       │   │   │   │   ├── damage_types.lua
    │       │   │   │   │   ├── general
    │       │   │   │   │   │   ├── grids
    │       │   │   │   │   │   │   └── basic.lua
    │       │   │   │   │   │   └── npcs
    │       │   │   │   │   │       └── kobold.lua
    │       │   │   │   │   ├── gfx
    │       │   │   │   │   │   └── particles
    │       │   │   │   │   │       └── acid.lua
    │       │   │   │   │   ├── rooms
    │       │   │   │   │   │   ├── pilar.lua
    │       │   │   │   │   │   └── simple.lua
    │       │   │   │   │   ├── talents.lua
    │       │   │   │   │   ├── timed_effects.lua
    │       │   │   │   │   └── zones
    │       │   │   │   │       └── dungeon
    │       │   │   │   │           ├── grids.lua
    │       │   │   │   │           ├── npcs.lua
    │       │   │   │   │           ├── objects.lua
    │       │   │   │   │           ├── traps.lua
    │       │   │   │   │           └── zone.lua
    │       │   │   │   ├── dialogs
    │       │   │   │   │   ├── DeathDialog.lua
    │       │   │   │   │   └── Quit.lua
    │       │   │   │   ├── init.lua
    │       │   │   │   └── load.lua
    │       │   │   ├── tome-1.5.5-gfx.team
    │       │   │   ├── tome-1.5.5-music.team
    │       │   │   └── tome-1.5.5.team
    │       │   ├── profile-thread
    │       │   │   ├── Client.lua
    │       │   │   ├── init.lua
    │       │   │   └── UserChat.lua
    │       │   └── thirdparty
    │       │       ├── cef3
    │       │       │   ├── cef.pak
    │       │       │   └── locales
    │       │       │       ├── am.pak
    │       │       │       ├── ar.pak
    │       │       │       ├── bg.pak
    │       │       │       ├── bn.pak
    │       │       │       ├── ca.pak
    │       │       │       ├── cs.pak
    │       │       │       ├── da.pak
    │       │       │       ├── de.pak
    │       │       │       ├── el.pak
    │       │       │       ├── en-GB.pak
    │       │       │       ├── en-US.pak
    │       │       │       ├── es-419.pak
    │       │       │       ├── es.pak
    │       │       │       ├── et.pak
    │       │       │       ├── fa.pak
    │       │       │       ├── fil.pak
    │       │       │       ├── fi.pak
    │       │       │       ├── fr.pak
    │       │       │       ├── gu.pak
    │       │       │       ├── he.pak
    │       │       │       ├── hi.pak
    │       │       │       ├── hr.pak
    │       │       │       ├── hu.pak
    │       │       │       ├── id.pak
    │       │       │       ├── it.pak
    │       │       │       ├── ja.pak
    │       │       │       ├── kn.pak
    │       │       │       ├── ko.pak
    │       │       │       ├── lt.pak
    │       │       │       ├── lv.pak
    │       │       │       ├── ml.pak
    │       │       │       ├── mr.pak
    │       │       │       ├── ms.pak
    │       │       │       ├── nb.pak
    │       │       │       ├── nl.pak
    │       │       │       ├── pl.pak
    │       │       │       ├── pt-BR.pak
    │       │       │       ├── pt-PT.pak
    │       │       │       ├── ro.pak
    │       │       │       ├── ru.pak
    │       │       │       ├── sk.pak
    │       │       │       ├── sl.pak
    │       │       │       ├── sr.pak
    │       │       │       ├── sv.pak
    │       │       │       ├── sw.pak
    │       │       │       ├── ta.pak
    │       │       │       ├── te.pak
    │       │       │       ├── th.pak
    │       │       │       ├── tr.pak
    │       │       │       ├── uk.pak
    │       │       │       ├── vi.pak
    │       │       │       ├── zh-CN.pak
    │       │       │       └── zh-TW.pak
    │       │       ├── config.lua
    │       │       ├── jit
    │       │       │   ├── bc.lua
    │       │       │   ├── bcname.lua
    │       │       │   ├── bcsave.lua
    │       │       │   ├── dis_arm.lua
    │       │       │   ├── dis_mipsel.lua
    │       │       │   ├── dis_mips.lua
    │       │       │   ├── dis_ppc.lua
    │       │       │   ├── dis_x64.lua
    │       │       │   ├── dis_x86.lua
    │       │       │   ├── dump.lua
    │       │       │   ├── v.lua
    │       │       │   └── vmdef.lua
    │       │       ├── Json2.lua
    │       │       ├── licenses
    │       │       │   ├── CEF3.txt
    │       │       │   ├── expat.txt
    │       │       │   ├── Font-Salsa-OFL.txt
    │       │       │   ├── freetype.txt
    │       │       │   ├── libogg.txt
    │       │       │   ├── libpng.txt
    │       │       │   ├── libvorbis.txt
    │       │       │   ├── lpeg.txt
    │       │       │   ├── luabitop.txt
    │       │       │   ├── LuaJIT.txt
    │       │       │   ├── luamd5.txt
    │       │       │   ├── luaprofiler.txt
    │       │       │   ├── luasocket.txt
    │       │       │   ├── luazlib.txt
    │       │       │   ├── lxp.txt
    │       │       │   ├── physfs.txt
    │       │       │   ├── SDL_image.txt
    │       │       │   ├── SDL_ttf.txt
    │       │       │   ├── SDL.txt
    │       │       │   ├── tcod.txt
    │       │       │   ├── tween.txt
    │       │       │   └── zlib.txt
    │       │       ├── lpeg
    │       │       │   └── re.lua
    │       │       ├── ltn12.lua
    │       │       ├── lxp
    │       │       │   └── lom.lua
    │       │       ├── md5.lua
    │       │       ├── mime.lua
    │       │       ├── moonscript
    │       │       │   ├── compile
    │       │       │   │   ├── format.lua
    │       │       │   │   ├── line.lua
    │       │       │   │   ├── types.lua
    │       │       │   │   └── value.lua
    │       │       │   ├── compile.lua
    │       │       │   ├── data.lua
    │       │       │   ├── dump.lua
    │       │       │   ├── errors.lua
    │       │       │   ├── init.lua
    │       │       │   ├── parse.lua
    │       │       │   ├── util.lua
    │       │       │   └── version.lua
    │       │       ├── moonscript.lua
    │       │       ├── remdebug
    │       │       │   └── engine.lua
    │       │       ├── slt2.lua
    │       │       ├── socket
    │       │       │   ├── ftp.lua
    │       │       │   ├── http.lua
    │       │       │   ├── smtp.lua
    │       │       │   ├── tp.lua
    │       │       │   └── url.lua
    │       │       ├── socket.lua
    │       │       └── tween.lua
    │       └── t-engine
    └── share
        ├── applications
        │   └── tome4.desktop
        ├── doc
        │   ├── CONTRIBUTING
        │   └── CREDITS
        ├── licenses
        │   ├── COPYING
        │   └── COPYING-MEDIA
        └── pixmaps
            └── te4-icon.png

55 directories, 187 files
> I've been struggling with it a few months ago to make it works on
> OpenBSD and then make a package of it (I had to patch the runtime code
> to make it working).

I git cloned https://github.com/openbsd/ports and found games/tome4.
Did you talk about this?  Will defenetly observe it.

Also, here is a open bug report if needed (premake is already in
master): https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27691

reply via email to

[Prev in Thread] Current Thread [Next in Thread]