unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: Oleg Pykhalov <go.wigust@gmail.com>
Cc: guix-devel@gnu.org, "Solène Rapenne" <solene@perso.pw>
Subject: Re: New build-system quest (premake4 t-engine)
Date: Tue, 25 Jul 2017 23:18:32 +0200	[thread overview]
Message-ID: <87fudk6wrb.fsf@elephly.net> (raw)
In-Reply-To: <87fudllezz.fsf@gmail.com>


Hi Oleg,

> Ricardo Wurmus <rekado@elephly.net> 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.

I’m not sure what this means, but if this is an argument to “make” you
can pass it to the build phase with the #:make-flags field of the
build system arguments.

If it’s about the invocation of premake you would just do that in your
replaced configure phase:

    (zero? (system* "premake4" "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.

It might be useful, but I don’t know how often that would be needed.
Our build systems so far each cover a very large number of packages.  If
it turns out that many more packages would need to do the same steps I
think it would be fine to add a new build system.

>> 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?

It’s similar, but not the same.  Some applications cannot really deal
with a search path that involves multiple directories.  PyQt, for
example, only looks in a single hard-coded directory for extensions, so
it would find them inside of “guix environment” but not in a build
environment.

--
Ricardo

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

  reply	other threads:[~2017-07-25 21:18 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-08 21:20 New build-system quest (premake4 t-engine) Oleg Pykhalov
2017-07-20 13:08 ` Ricardo Wurmus
2017-07-24 21:08   ` Oleg Pykhalov
2017-07-25 21:18     ` Ricardo Wurmus [this message]
2017-07-26  6:25       ` Oleg Pykhalov
2017-07-26  8:51         ` Ricardo Wurmus
2017-07-26 12:54           ` Oleg Pykhalov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fudk6wrb.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=go.wigust@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=solene@perso.pw \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).