about summary refs log tree commit diff
path: root/pkgs/development/python-modules/pyelftools/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/pyelftools/default.nix')
-rw-r--r--pkgs/development/python-modules/pyelftools/default.nix47
1 files changed, 29 insertions, 18 deletions
diff --git a/pkgs/development/python-modules/pyelftools/default.nix b/pkgs/development/python-modules/pyelftools/default.nix
index 84cdda65f1f95..b9976b5d91028 100644
--- a/pkgs/development/python-modules/pyelftools/default.nix
+++ b/pkgs/development/python-modules/pyelftools/default.nix
@@ -1,25 +1,29 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchFromGitHub
-, python
-, pythonOlder
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  fetchFromGitHub,
+  python,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "pyelftools";
-  version = "0.30";
-  format = "setuptools";
+  version = "0.31";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "eliben";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-A9etnN7G24/Gu8YlV/YDpxZV+TG2eVXGx2ZjVnA9ZD4=";
+    repo = "pyelftools";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-kX89fMXqrEvhMAAjqKHzHmrYizKBt1uCWMOJtFNNhy4=";
   };
 
+  build-system = [ setuptools ];
+
   doCheck = stdenv.hostPlatform.system == "x86_64-linux" && stdenv.hostPlatform.isGnu;
 
   checkPhase = ''
@@ -29,16 +33,23 @@ buildPythonPackage rec {
     ${python.interpreter} test/run_readelf_tests.py --parallel
   '';
 
-  pythonImportsCheck = [
-    "elftools"
-  ];
+  pythonImportsCheck = [ "elftools" ];
 
-  meta = with lib; {
+  meta = {
     description = "Python library for analyzing ELF files and DWARF debugging information";
-    mainProgram = "readelf.py";
     homepage = "https://github.com/eliben/pyelftools";
     changelog = "https://github.com/eliben/pyelftools/blob/v${version}/CHANGES";
-    license = licenses.publicDomain;
-    maintainers = with maintainers; [ igsha pamplemousse ];
+    license = with lib.licenses; [
+      # Public domain with Unlicense waiver.
+      unlicense
+      # pyelftools bundles construct library that is licensed under MIT license.
+      # See elftools/construct/{LICENSE,README} in the source code.
+      mit
+    ];
+    maintainers = with lib.maintainers; [
+      igsha
+      pamplemousse
+    ];
+    mainProgram = "readelf.py";
   };
 }