diff --git a/pkgs/by-name/lo/lookup-license/package.nix b/pkgs/by-name/lo/lookup-license/package.nix new file mode 100644 index 000000000000..0504ccaa5769 --- /dev/null +++ b/pkgs/by-name/lo/lookup-license/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.lookup-license diff --git a/pkgs/development/python-modules/lookup-license/default.nix b/pkgs/development/python-modules/lookup-license/default.nix new file mode 100644 index 000000000000..611425b902de --- /dev/null +++ b/pkgs/development/python-modules/lookup-license/default.nix @@ -0,0 +1,89 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + appdirs, + cachetools, + diskcache, + foss-flame, + license-expression, + packageurl-python, + python-magic, + requests, + scancode-toolkit, + xmltodict, + + # tests + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "lookup-license"; + version = "0.1.30"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "hesa"; + repo = "lookup-license"; + tag = finalAttrs.version; + hash = "sha256-zFDqh62bjYkO3Duze3suS8LlrlzuqQes7ZaH+9G+yQ4="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + appdirs + cachetools + diskcache + foss-flame + license-expression + packageurl-python + python-magic + requests + scancode-toolkit + xmltodict + ]; + + pythonRelaxDeps = [ + "requests" + ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + disabledTests = [ + # UnboundLocalError: cannot access local variable 'ret' where it is not associated with a value + "test_lookup_license_url_bad" + "test_lookup_license_url_good" + ]; + + pythonImportsCheck = [ + "lookup_license" + ]; + + meta = { + description = "Python tool to identify license from license text"; + homepage = "https://github.com/hesa/lookup-license"; + changelog = "https://github.com/hesa/lookup-license/releases/tag/${finalAttrs.src.tag}"; + mainProgram = "lookup-license"; + license = with lib.licenses; [ + gpl3Only + asl20 + cc-by-40 + gpl3Plus + ]; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6c08a84cbf5c..0469c8e63a26 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9514,6 +9514,8 @@ self: super: with self; { london-tube-status = callPackage ../development/python-modules/london-tube-status { }; + lookup-license = callPackage ../development/python-modules/lookup-license { }; + lookyloo-models = callPackage ../development/python-modules/lookyloo-models { }; loompy = callPackage ../development/python-modules/loompy { };