]> git.scottworley.com Git - nix-pin-deps/commitdiff
Build stuff
authorScott Worley <scottworley@scottworley.com>
Fri, 20 May 2022 07:33:58 +0000 (00:33 -0700)
committerScott Worley <scottworley@scottworley.com>
Fri, 20 May 2022 07:33:58 +0000 (00:33 -0700)
.gitignore [new file with mode: 0644]
default.nix [new file with mode: 0644]
setup.py [new file with mode: 0644]
test.sh [new file with mode: 0755]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..b2be92b
--- /dev/null
@@ -0,0 +1 @@
+result
diff --git a/default.nix b/default.nix
new file mode 100644 (file)
index 0000000..7be4d9c
--- /dev/null
@@ -0,0 +1,13 @@
+{ pkgs ? import <nixpkgs> { }, lint ? false }:
+pkgs.python3Packages.callPackage
+({ lib, buildPythonPackage, autopep8, mypy, pylint, }:
+  buildPythonPackage rec {
+    pname = "nix-pin-deps";
+    version = "1.0.0";
+    src = lib.cleanSource ./.;
+    checkInputs = [ mypy ] ++ lib.optionals lint [ autopep8 pylint ];
+    doCheck = true;
+    checkPhase = ''
+      ./test.sh ${lib.optionalString lint "lint"}
+    '';
+  }) { }
diff --git a/setup.py b/setup.py
new file mode 100644 (file)
index 0000000..e581026
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,8 @@
+from setuptools import setup
+
+setup(
+    name='nix-pin-deps',
+    version='1.0.0',
+    py_modules=['nix_pin_deps'],
+    entry_points={'console_scripts': ['nix-pin-deps = nix_pin_deps:main']},
+)
diff --git a/test.sh b/test.sh
new file mode 100755 (executable)
index 0000000..146f901
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+find . -name build -prune -o -name dist -prune -o -name '*.py' -print0 |
+  xargs -0 mypy --strict --ignore-missing-imports --no-warn-unused-ignores
+
+if [ "$1" = lint ];then
+
+  pylint --reports=n --persistent=n --ignore-imports=y \
+    -d fixme,invalid-name,missing-docstring,subprocess-run-check,too-few-public-methods *.py
+
+  formatting_needs_fixing=$(
+    find . -name '*.py' -print0 |
+      xargs -0 -n1 autopep8 --diff -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+  )
+  if [[ "$formatting_needs_fixing" ]];then
+    echo "Formatting needs fixing:"
+    echo "$formatting_needs_fixing"
+    exit 1
+  fi
+
+fi