guix-devel
[Top][All Lists]
Advanced

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

Re: Guix-based build tool


From: julien lepiller
Subject: Re: Guix-based build tool
Date: Mon, 09 Apr 2018 17:53:03 +0200
User-agent: Roundcube Webmail/1.3.3

Le 2018-04-09 17:30, address@hidden a écrit :
Hello!

Pjotr Prins <address@hidden> skribis:

Indeed, I love working with Guix and developing with Guix. Guix takes
care of my deployment and configuration requirements.

I have written some time in the past that with Guix you don't need
autotools. The main thing autotools solve is configuring the build for
an environment. At the same time, with Guix you get a predictable
environment, so a make file (or similar) suffices. It is what I do in
all my development projects - I don't use autotools to develop and
deploy them. It greatly simplifies my existence :). Indeed, I have
never liked autotools (essentially a nasty hack) and only used them
before Nix/Guix. So, my approach is the same as yours :)

+1!

If we could provide tooling with an abstraction level close to that of a
makefile, that’d help a lot.

I don't really agree mixing a package manager and a build tool is a
good idea. Sure, it helps a lot because they both solve the same kind
of problem and I certainly see what advantage it would have, but so do
maven devs. They mixed a package manager and a build system together.
It became the official way to build many packages, including its own
dependencies. As a result, it became a total mess to build maven from
scratch. So if someone wants to build a package whose only build
system is guix but can't use guix for some reason (maybe it wasn't
ported to their platform?) will just cry and hate us.


Actually, just like we have ‘emacs-build-system’, we could very much add
‘guile-build-system’ for simple Guile packages that don’t need/use
Autoconf & co.

That's more reasonable though :)


‘guile-build-system’ would automatically run ‘guild compile’,
‘makeinfo’, etc. pretty much like we do here:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile.scm#n870

Once we have that, developers of Guile packages can simply drop a
‘.guix’ file in their project and use it with ‘guix environment’, ‘guix
build’, and ‘guix package’.

That’s coarser-grain than a makefile, of course, but would be a good
first step to providing tooling for people working on Guile code.

Any takers for ‘guile-build-system’?


A next step could be to add a tool that understands a syntax like that
of the guildhall, which gets us closer to the makefile/Makefile.am level
of abstraction:

  https://github.com/ijp/guildhall/blob/master/docs/packaging.texi#L121

Ludo’.



reply via email to

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