Nixパッケージマネージャを使用して64ビットシステムで32ビットアプリケーションを構築するには?

Nixパッケージマネージャを使用して64ビットシステムで32ビットアプリケーションを構築するには?

Nixは、64ビットシステムに32ビットパッケージをインストールしてビルドできる必要があるようです。そのキャッシュにはすでに i686 アーキテクチャ用に構築された完全な nixpkgs ツリーが格納されているため、ダウンロードしてインストールするのに問題はないはずですが、これを行う方法はありません。

ベストアンサー1

まだnixを使用して個々のパッケージを構築する方法がわからない場合は、これは説明です

ニックス包装特殊変数の定義pkgsi686Linuxi686パッケージツリーの場合package_i686 呼び出し任意のnix式を呼び出してそれをオーバーライドするために使用されますsystem="i686-linux"。使い方はとても簡単です。

方法1:

jsoncpp06_32 = nixpkgs.callPackage_i686 ./jsoncpp06.nix { };

方法2:

myPackage32 = pkgs.pkgsi686Linux.stdenv.mkDerivation {
    name = "myPackage-i686-0.0.1";

    boost155 = nixpkgs.pkgsi686Linux.boost155;
    buildInputs = [
        pkgs.gcc_multi
        pkgs.python2
        pkgs.pkgconfig

        pkgs.pkgsi686Linux.ffmpeg_2_2
        pkgs.pkgsi686Linux.boost155
        pkgs.pkgsi686Linux.openssl
        pkgs.pkgsi686Linux.curl
        pkgs.pkgsi686Linux.opencv

        jsoncpp06_32
    ];

};

おすすめ記事