summary refs log tree commit diff
path: root/pkgs/development/tools/reno/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/reno/default.nix')
-rw-r--r--pkgs/development/tools/reno/default.nix61
1 files changed, 46 insertions, 15 deletions
diff --git a/pkgs/development/tools/reno/default.nix b/pkgs/development/tools/reno/default.nix
index 2b082d03b5f..b05bb2cd26a 100644
--- a/pkgs/development/tools/reno/default.nix
+++ b/pkgs/development/tools/reno/default.nix
@@ -1,27 +1,58 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv
+, git
+, gnupg1
+, python3Packages
+}:
 
-with pythonPackages; buildPythonApplication rec {
+with python3Packages; buildPythonApplication rec {
   pname = "reno";
-  version = "2.3.2";
+  version = "3.1.0";
 
-  src = fetchurl {
-    url = "mirror://pypi/r/reno/${pname}-${version}.tar.gz";
-    sha256 = "018vl9fj706jjf07xdx8q6761s53mrihjn69yjq09gp0vmp1g7i4";
+  # Must be built from python sdist because of versioning quirks
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2510e3aae4874674187f88f22f854e6b0ea1881b77039808a68ac1a5e8ee69b6";
   };
 
-  # Don't know how to make tests pass
-  doCheck = false;
+  propagatedBuildInputs = [
+    dulwich
+    pbr
+    pyyaml
+    setuptools  # required for finding pkg_resources at runtime
+  ];
 
-  # Nothing to strip (python files)
-  dontStrip = true;
+  checkInputs = [
+    # Python packages
+    pytestCheckHook
+    docutils
+    fixtures
+    sphinx
+    testtools
+    testscenarios
 
-  propagatedBuildInputs = [ pbr six pyyaml dulwich ];
-  buildInputs = [ Babel ];
+    # Required programs to run all tests
+    git
+    gnupg1
+  ];
+
+  # remove b/c doesn't list all dependencies, and requires a few packages not in nixpkgs
+  postPatch = ''
+    rm test-requirements.txt
+  '';
+
+  disabledTests = [
+    "test_build_cache_db" # expects to be run from a git repository
+  ];
+
+  # verify executable
+  postCheck = ''
+    $out/bin/reno -h
+  '';
 
   meta = with stdenv.lib; {
     description = "Release Notes Manager";
-    homepage    = "http://docs.openstack.org/developer/reno/";
-    license     = licenses.asl20;
-    maintainers = with maintainers; [ guillaumekoenig ];
+    homepage = "https://docs.openstack.org/reno/latest";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ drewrisinger guillaumekoenig ];
   };
 }