[Nix-dev] mxe on NixOS
Luca Bruno
lethalman88 at gmail.com
Tue Aug 18 10:18:20 CEST 2015
You are doing assuming things wrong.
First of all, you are not supposed to be able to build glib by installing
things with nix-env. Either nix-build or nix-shell.
Then don't set NIX_PATH for nix-shell, rather call nix-shell /path/nixpkgs
-A glib.
On Tuesday, August 18, 2015, Andrew Kelley <superjoe30 at gmail.com> wrote:
> On Mon, Aug 17, 2015 at 10:13 PM, James Cook <james.cook at utoronto.ca
> <javascript:_e(%7B%7D,'cvml','james.cook at utoronto.ca');>> wrote:
>
>> No, I'm not using mxe at all, and I've only tried running autogen.sh.
>>
>> Unless someone chimes in and points out why building glib outside
>> nix-shell isn't working, a couple of ideas if you haven't already
>> tried them:
>>
>> * Try starting with the glib derivation: add autoconf, automake and
>> libtool to pkgs/development/libraries/glib/default.nix and use
>> nix-shell -A glib.
>>
>
> I forked nixpkgs and then did this modification:
>
> diff --git a/pkgs/development/libraries/glib/default.nix
> b/pkgs/development/libraries/glib/default.nix
> index fb9c361..ad2eba4 100644
> --- a/pkgs/development/libraries/glib/default.nix
> +++ b/pkgs/development/libraries/glib/default.nix
> @@ -1,5 +1,6 @@
> { stdenv, fetchurl, pkgconfig, gettext, perl, python
> , libiconv, libintlOrEmpty, zlib, libffi, pcre, libelf
> +, autoconf, automake, libtool
>
> # this is just for tests (not in closure of any regular package)
> , coreutils, dbus_daemon, libxml2, tzdata, desktop_file_utils,
> shared_mime_info, doCheck ? false
> @@ -55,7 +56,7 @@ stdenv.mkDerivation rec {
>
> setupHook = ./setup-hook.sh;
>
> - buildInputs = [ libelf ]
> + buildInputs = [ libelf autoconf automake libtool ]
> ++ optionals doCheck [ tzdata libxml2 desktop_file_utils
> shared_mime_info ];
>
> nativeBuildInputs = [ pkgconfig gettext perl python ];
>
>
> Then I tried `NIX_PATH=nixpkgs=/home/andy/dev/nixpkgs nix-shell -A glib`
> but it did not need to recompile glib. Not sure what's going on with that.
>
> Then I tried `nix-build -A glib` which as I understand uses the current
> directory (which was /home/andy/dev/nixpkgs) and that did trigger a build
> of glib, which succeeded.
>
>
>>
>> * With that method, can you build vanilla, non-mxe glib?
>> (https://github.com/GNOME/glib) If not, we must be doing something
>> different...
>>
>
> Do you mean building it from source using ./autogen.sh as you did earlier?
>
> I tried that just now and it worked fine. I used this for nix-shell:
>
> with import <nixpkgs> {}; {
> glibEnv = stdenv.mkDerivation {
> name = "glib";
> buildInputs = [
> gnome.gtk_doc
> autoconf
> automake
> gnumake
> bison
> cmake
> flex
> gettext
> gperf
> intltool
> libtool
> pkgconfig
> openssl
> ruby
> scons
> unzip
> python
> wget
> zlib
> libffi
> ];
> };
> }
>
> The extra packages are packages that are in the mxe nix-shell environment;
> I thought I'd try to keep the environments close to see what would happen.
>
>
>>
>> * If you can successfully build ordinary glib that way, but can't
>> build mxe glib, it might be time to take it back to the mxe people.
>>
>
> OK so it sounds like maybe this is an mxe issue after all?
>
>
>>
>> James
>>
>
>
--
NixOS Linux <http://nixos.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20150818/75ef2d11/attachment.html
More information about the nix-dev
mailing list