2

Nix 用の Python アプリケーションをパッケージ化しようとしていますが、ドキュメントの大部分は、ライブラリをパッケージ化することを前提としています。

これを行うために、 python-packagesで見つけることができるRednotebookの例を調べました(たまたまPythonで書かれていることを知っていた以外の特定の理由ではありません)が、そのファイルは非常に巨大であるため、ここに関連部分:

  redNotebook = buildPythonPackage rec {
    name = "rednotebook-1.8.1";

    src = pkgs.fetchurl {
      url = "mirror://sourceforge/rednotebook/${name}.tar.gz";
      sha256 = "00b7s4xpqpxsbzjvjx9qsx5d84m9pvn383c5di1nsfh35pig0rzn";
    };

    # no tests available
    doCheck = false;

    propagatedBuildInputs = with self; [ pygtk pywebkitgtk pyyaml chardet ];

    meta = {
      homepage = http://rednotebook.sourceforge.net/index.html;
      description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
      license = licenses.gpl2;
      maintainers = with maintainers; [ tstrobel ];
    };
  };

私の派生は次のようになります。

{ pkgs ? import <nixpkgs> {} }:
let
  requirements = import ./nix/requirements.nix { inherit pkgs; };
in
pkgs.python35Packages.buildPythonPackage rec {
  name = "package-name";
  version = "1.0.0";
  namePrefix = "";
  src = ./.;
  doCheck = false;
  propagatedBuildInputs = builtins.attrValues requirements.packages;
}

requirements.nixの出力でpypi2nixあり、requirements.packagesタイプは「派生のリスト」です。それにもかかわらず、Rednotebook の結果のストア パスに cd すると/bin、いくつかのラッパー スクリプトを含むディレクトリが存在します。私のアプリのストアパスはただlibありません/bin

アプリケーションがあることを Nixpkgs に伝えるにはどうすればよいですか?

4

3 に答える 3