[Nix-dev] mxe on NixOS

Andrew Kelley superjoe30 at gmail.com
Tue Aug 18 21:01:03 CEST 2015


On Tue, Aug 18, 2015 at 1:18 AM Luca Bruno <lethalman88 at gmail.com> wrote:

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

I did use nix-shell; I used nix-shell to build glib using the .nix file I
pasted before.


>
> Then don't set NIX_PATH for nix-shell, rather call nix-shell /path/nixpkgs
> -A glib.
>

Thanks for the tip.


>
>
> 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>
>> 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/7ce8be6b/attachment-0001.html 


More information about the nix-dev mailing list