Re: [Nix-dev] mxe on NixOS
Wrapping this thread up: mxe has an environment variable whitelist that was causing the problem. NixOS relies heavily on environment variables (such as PKG_CONFIG_PATH) to utilize /nix/store/*. mxe has the whitelist in order to keep the OS separate from MXE, but it also relies on hard coded paths ("standard directories"). So mxe simultaneously wants to separate its environment from the OS environment while interfacing with the OS environment via hard coded paths. The maintainer recognized it as an MXE limitation, a limitation which was too hard to overcome for such a non-mainstream OS. Upstream discussion: https://github.com/mxe/mxe/issues/723#issuecomment-133584114 Thanks for the assistance in figuring this out, I appreciate it. On Thu, Aug 20, 2015 at 7:33 PM James Cookwrote: > >> * 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? > > Could be. I would report back to the mxe bug, since you've verified > that you have everything you need to build glib normally (including > running autogen.sh). > ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
* 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? Could be. I would report back to the mxe bug, since you've verified that you have everything you need to build glib normally (including running autogen.sh). ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
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 superjo...@gmail.com wrote: On Mon, Aug 17, 2015 at 10:13 PM, James Cook james.c...@utoronto.ca javascript:_e(%7B%7D,'cvml','james.c...@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 ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
Thanks. Adding autoconf, automake and libtool to buildInputs for glib and running nix-shell -A glib put be in an environment where I can successfully run autogen.sh. Any idea why it only works in a nix-shell instance? I have autoconf, automake, libtool installed via nix-env. (Andrew, are you still hoping to get this working?) Yes I am. My current strategy is this .nix file: with import nixpkgs {}; { mxeEnv = stdenv.mkDerivation { name = mxe; buildInputs = [ autoconf automake gnumake bison cmake flex gettext gperf intltool libtool openssl ruby scons unzip pkgconfig python wget ]; }; } Then I use `nix-shell mxe.nix` and attempt to `make glib`, and I get the issue I originally reported. Am I understanding correctly that you are doing something slightly different and successfully able to build glib with mxe? 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. * With that method, can you build vanilla, non-mxe glib? (https://github.com/GNOME/glib) If not, we must be doing something different... * 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. James ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
On Mon, Aug 17, 2015 at 10:13 PM, James Cook james.c...@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 ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
Using nix-shell -A glib is wrong if you are going to use autogen.sh, because autogen.sh is used to build from git not from tarball. So the glib nix expression does not have neither autoconf nor automake in the buildInputs for this reason. Put autoconf and automake in the buildInputs of the glib nix expression, then it should work. On Mon, Aug 17, 2015 at 6:45 AM, James Cook james.c...@utoronto.ca wrote: pkg-config is in my environment. If it means anything, I see the same error if I run ./autogen.sh inside nix-shell -A glib (still using my manually-cloned glib). James On 16 August 2015 at 01:41, Luca Bruno lethalma...@gmail.com wrote: On Sunday, August 16, 2015, James Cook james.c...@utoronto.ca wrote: To perhaps simplify the problem, does anyone know how to build glib on a NixOS system the old-fashioned way, without using nix? If I just run ./autogen.sh in a fresh glib checkout, I get a similar error to the one Andrew is getting. A parallel question: Andrew, are you familiar enough with nixpkgs to try writing an nix expression that unpacks mxe and tells it to build glib? That might be another approach, though I think it would be nice if users had the option of not doing it that way. $ ./autogen.sh You don't have gtk-doc installed, and thus won't be able to generate the documentation. autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS} autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf --force configure.ac:88: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf failed with exit status: 1 You need pkgconfig in your env. -- NixOS Linux -- NixOS Linux http://nixos.org ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
Thanks. Adding autoconf, automake and libtool to buildInputs for glib and running nix-shell -A glib put be in an environment where I can successfully run autogen.sh. Any idea why it only works in a nix-shell instance? I have autoconf, automake, libtool installed via nix-env. (Andrew, are you still hoping to get this working?) James On 17 August 2015 at 02:07, Luca Bruno lethalma...@gmail.com wrote: Using nix-shell -A glib is wrong if you are going to use autogen.sh, because autogen.sh is used to build from git not from tarball. So the glib nix expression does not have neither autoconf nor automake in the buildInputs for this reason. Put autoconf and automake in the buildInputs of the glib nix expression, then it should work. On Mon, Aug 17, 2015 at 6:45 AM, James Cook james.c...@utoronto.ca wrote: pkg-config is in my environment. If it means anything, I see the same error if I run ./autogen.sh inside nix-shell -A glib (still using my manually-cloned glib). James On 16 August 2015 at 01:41, Luca Bruno lethalma...@gmail.com wrote: On Sunday, August 16, 2015, James Cook james.c...@utoronto.ca wrote: To perhaps simplify the problem, does anyone know how to build glib on a NixOS system the old-fashioned way, without using nix? If I just run ./autogen.sh in a fresh glib checkout, I get a similar error to the one Andrew is getting. A parallel question: Andrew, are you familiar enough with nixpkgs to try writing an nix expression that unpacks mxe and tells it to build glib? That might be another approach, though I think it would be nice if users had the option of not doing it that way. $ ./autogen.sh You don't have gtk-doc installed, and thus won't be able to generate the documentation. autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS} autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf --force configure.ac:88: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf failed with exit status: 1 You need pkgconfig in your env. -- NixOS Linux -- NixOS Linux ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
On Mon, Aug 17, 2015 at 10:01 PM James Cook james.c...@utoronto.ca wrote: Thanks. Adding autoconf, automake and libtool to buildInputs for glib and running nix-shell -A glib put be in an environment where I can successfully run autogen.sh. Any idea why it only works in a nix-shell instance? I have autoconf, automake, libtool installed via nix-env. (Andrew, are you still hoping to get this working?) Yes I am. My current strategy is this .nix file: with import nixpkgs {}; { mxeEnv = stdenv.mkDerivation { name = mxe; buildInputs = [ autoconf automake gnumake bison cmake flex gettext gperf intltool libtool openssl ruby scons unzip pkgconfig python wget ]; }; } Then I use `nix-shell mxe.nix` and attempt to `make glib`, and I get the issue I originally reported. Am I understanding correctly that you are doing something slightly different and successfully able to build glib with mxe? James On 17 August 2015 at 02:07, Luca Bruno lethalma...@gmail.com wrote: Using nix-shell -A glib is wrong if you are going to use autogen.sh, because autogen.sh is used to build from git not from tarball. So the glib nix expression does not have neither autoconf nor automake in the buildInputs for this reason. Put autoconf and automake in the buildInputs of the glib nix expression, then it should work. On Mon, Aug 17, 2015 at 6:45 AM, James Cook james.c...@utoronto.ca wrote: pkg-config is in my environment. If it means anything, I see the same error if I run ./autogen.sh inside nix-shell -A glib (still using my manually-cloned glib). James On 16 August 2015 at 01:41, Luca Bruno lethalma...@gmail.com wrote: On Sunday, August 16, 2015, James Cook james.c...@utoronto.ca wrote: To perhaps simplify the problem, does anyone know how to build glib on a NixOS system the old-fashioned way, without using nix? If I just run ./autogen.sh in a fresh glib checkout, I get a similar error to the one Andrew is getting. A parallel question: Andrew, are you familiar enough with nixpkgs to try writing an nix expression that unpacks mxe and tells it to build glib? That might be another approach, though I think it would be nice if users had the option of not doing it that way. I'm not familiar enough to do so currently but I'm willing to learn. I do agree with you that it would be nice if users had the option of not doing it this way. $ ./autogen.sh You don't have gtk-doc installed, and thus won't be able to generate the documentation. autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS} autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf --force configure.ac:88: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf failed with exit status: 1 You need pkgconfig in your env. -- NixOS Linux -- NixOS Linux ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
To perhaps simplify the problem, does anyone know how to build glib on a NixOS system the old-fashioned way, without using nix? If I just run ./autogen.sh in a fresh glib checkout, I get a similar error to the one Andrew is getting. A parallel question: Andrew, are you familiar enough with nixpkgs to try writing an nix expression that unpacks mxe and tells it to build glib? That might be another approach, though I think it would be nice if users had the option of not doing it that way. $ ./autogen.sh You don't have gtk-doc installed, and thus won't be able to generate the documentation. autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS} autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf --force configure.ac:88: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf failed with exit status: 1 On 27 July 2015 at 09:19, James Cook james.c...@utoronto.ca wrote: You are trying to build something outside of a nix build environment. Instead of calling make ecc. like you do on every other distro, in Nix things are very different. You should write a .nix file describing how the package should build and build it. It will be easier. Also 99% of the times errors like that are not an upstream issue but your own issue on nixos. I find I'm usually able to build things on NixOS just by manually running configure, make c. as long as I install all the dependencies with nix-env. Sometimes I have to pass some flag to a package's configure script to tell it where to find C headers or something like that. Of course under many circumstances it's nicer to have nix build things for you. Thanks for the reply. I think I did not succeed in explaining what MXE is and how it works. It would not make sense to create a nix expression for mxe; one does not build mxe like a normal application. Instead, one uses mxe to build for Windows. So compiling software with mxe is more like running a normal application at runtime rather than building a package. Luca's suggestion may still be workable: if I understand right, you could write a nix expression for each Windows library you want. You would probably want to set the source to be mxe's source, and override the build stage so it runs make glib or whatever. Personally, I'm guessing you'd run into the same problem, but it could be worth a try. (Of course, you might not want to use mxe that way, but it could still be useful for figuring out what the problem is.) James ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
On Sunday, August 16, 2015, James Cook james.c...@utoronto.ca wrote: To perhaps simplify the problem, does anyone know how to build glib on a NixOS system the old-fashioned way, without using nix? If I just run ./autogen.sh in a fresh glib checkout, I get a similar error to the one Andrew is getting. A parallel question: Andrew, are you familiar enough with nixpkgs to try writing an nix expression that unpacks mxe and tells it to build glib? That might be another approach, though I think it would be nice if users had the option of not doing it that way. $ ./autogen.sh You don't have gtk-doc installed, and thus won't be able to generate the documentation. autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS} autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf --force configure.ac:88: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf failed with exit status: 1 You need pkgconfig in your env. -- NixOS Linux http://nixos.org ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
pkg-config is in my environment. If it means anything, I see the same error if I run ./autogen.sh inside nix-shell -A glib (still using my manually-cloned glib). James On 16 August 2015 at 01:41, Luca Bruno lethalma...@gmail.com wrote: On Sunday, August 16, 2015, James Cook james.c...@utoronto.ca wrote: To perhaps simplify the problem, does anyone know how to build glib on a NixOS system the old-fashioned way, without using nix? If I just run ./autogen.sh in a fresh glib checkout, I get a similar error to the one Andrew is getting. A parallel question: Andrew, are you familiar enough with nixpkgs to try writing an nix expression that unpacks mxe and tells it to build glib? That might be another approach, though I think it would be nice if users had the option of not doing it that way. $ ./autogen.sh You don't have gtk-doc installed, and thus won't be able to generate the documentation. autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS} autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf --force configure.ac:88: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /nix/store/prmn46fajbj2ymcw43aqrdfbii1bj8bz-autoconf-2.69/bin/autoconf failed with exit status: 1 You need pkgconfig in your env. -- NixOS Linux ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
On Mon, Jul 27, 2015 at 1:36 AM Luca Bruno lethalma...@gmail.com wrote: On 27/07/2015 07:36, Andrew Kelley wrote: mxe (M Cross Environment) is a way to cross compile for Windows. It's a pretty great project. There's one hitch when using it on NixOS. I guess it expects /usr/share/aclocal/pkg.m4 to exist for some reason. I don't completely understand it and I'm still pretty new to NixOS. I was hoping to get some more experienced people to maybe chime in and point out what MXE could do to not break on NixOS. Here's the upstream issue: https://github.com/mxe/mxe/issues/723#issuecomment-125044881 Any ideas? You are trying to build something outside of a nix build environment. Instead of calling make ecc. like you do on every other distro, in Nix things are very different. You should write a .nix file describing how the package should build and build it. It will be easier. Also 99% of the times errors like that are not an upstream issue but your own issue on nixos. Thanks for the reply. I think I did not succeed in explaining what MXE is and how it works. It would not make sense to create a nix expression for mxe; one does not build mxe like a normal application. Instead, one uses mxe to build for Windows. So compiling software with mxe is more like running a normal application at runtime rather than building a package. I think one of two things is the case: 1. The MXE project depends on some hard coded path, and I'd like to try to find out what that is and send a patch to MXE which would use the proper way to detect the path instead. 2. autotools depends on some hard coded path, and I'd like to see if it's possible to fix that bug on NixOS with a patch. ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
You are trying to build something outside of a nix build environment. Instead of calling make ecc. like you do on every other distro, in Nix things are very different. You should write a .nix file describing how the package should build and build it. It will be easier. Also 99% of the times errors like that are not an upstream issue but your own issue on nixos. I find I'm usually able to build things on NixOS just by manually running configure, make c. as long as I install all the dependencies with nix-env. Sometimes I have to pass some flag to a package's configure script to tell it where to find C headers or something like that. Of course under many circumstances it's nicer to have nix build things for you. Thanks for the reply. I think I did not succeed in explaining what MXE is and how it works. It would not make sense to create a nix expression for mxe; one does not build mxe like a normal application. Instead, one uses mxe to build for Windows. So compiling software with mxe is more like running a normal application at runtime rather than building a package. Luca's suggestion may still be workable: if I understand right, you could write a nix expression for each Windows library you want. You would probably want to set the source to be mxe's source, and override the build stage so it runs make glib or whatever. Personally, I'm guessing you'd run into the same problem, but it could be worth a try. (Of course, you might not want to use mxe that way, but it could still be useful for figuring out what the problem is.) James ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] mxe on NixOS
On 27/07/2015 07:36, Andrew Kelley wrote: mxe (M Cross Environment) is a way to cross compile for Windows. It's a pretty great project. There's one hitch when using it on NixOS. I guess it expects /usr/share/aclocal/pkg.m4 to exist for some reason. I don't completely understand it and I'm still pretty new to NixOS. I was hoping to get some more experienced people to maybe chime in and point out what MXE could do to not break on NixOS. Here's the upstream issue: https://github.com/mxe/mxe/issues/723#issuecomment-125044881 Any ideas? You are trying to build something outside of a nix build environment. Instead of calling make ecc. like you do on every other distro, in Nix things are very different. You should write a .nix file describing how the package should build and build it. It will be easier. Also 99% of the times errors like that are not an upstream issue but your own issue on nixos. Best regards, ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev