How do I call a package created as a dependency on another?

I’m building the python-jwt package. For that, I need a dependency called pyVows, which doesn’t exist in nix packages.

I successfully build the pyVows package. My question is, how do I call this package in the python-jwt derivation?

My project has a python-jwt.nix, pyVows.nix and shell.nix file.

Thanks.

UPDATE

Here is my PyVows package derivation:

{ pkgs ? import <nixpkgs> {} 
, lib ? pkgs.python310Packages.lib
, buildPythonPackage ? pkgs.python310Packages.buildPythonPackage
, fetchPypi ? pkgs.python310Packages.fetchPypi
, gevent ? pkgs.python310Packages.gevent
, preggy ? pkgs.python310Packages.preggy
}:

buildPythonPackage rec {
  pname = "pyvows";
  version = "3.0.0";

  src = fetchPypi {
    pname = "pyVows";
    inherit version;
    sha256 = "dbee2e9962cd91b1650a97c5c17d05036374cce661b2dfd8338a3305f5e868c2";
  };

  propagatedBuildInputs = [
    gevent
    preggy
  ];

  meta = with lib; {
    description = "PyVows is a BDD test engine based on Vows.js <http://vowsjs.org";
    homepage = https://pyvows.org/;
    license = licenses.mit;
  };
}

And here is my derivation of the python-jwt package at the moment:

{ pkgs ? import <nixpkgs> {} 
, lib ? pkgs.python310Packages.lib
, buildPythonPackage ? pkgs.python310Packages.buildPythonPackage
, fetchPypi ? pkgs.python310Packages.fetchPypi
, jwcrypto ? pkgs.python310Packages.jwcrypto
, gevent ? pkgs.python310Packages.gevent
, pyVows ? 
, pylint ? pkgs.python310Packages.pylint
, coverage ? pkgs.python310Packages.coverage
, coveralls ? pkgs.python310Packages.coveralls
, mock ? pkgs.python310Packages.mock
}:

buildPythonPackage rec {
  pname = "python-jwt";
  version = "4.0.0";

  src = fetchPypi {
    pname = "python_jwt";
    inherit version;
    sha256 = "sha256-ISAtE9ILCP7UZs3km4hDNdl/ftbUbBUMbS1UL47f/F0=";
  };

  propagatedBuildInputs = [
    jwcrypto
    gevent
    pyVows
    pylint
    coverage
    coveralls
    mock
  ];

  meta = with lib; {
    description = "Module for generating and verifying JSON Web Tokens.";
    homepage = https://github.com/davedoesdev/python-jwt;
    license = licenses.mit;
  };
}

pkgs.python310Packages.callPackage ./pyvows.nix {} or so.

1 Like