Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / setuptools-odoo / default.nix
blobcc2e767d2520db399f064f6fe18ffb783cc1603c
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , git
5 , pytestCheckHook
6 , pythonOlder
7 , setuptools-scm
8 , writeScript
9 }:
11 buildPythonPackage rec {
12   pname = "setuptools-odoo";
13   version = "3.3";
14   format = "setuptools";
16   disabled = pythonOlder "3.7";
18   src = fetchFromGitHub {
19     owner = "acsone";
20     repo = pname;
21     rev = "refs/tags/${version}";
22     hash = "sha256-38YlkDH/PuJ1yvQ43OYmdnRd1SGJULv6fC/+fitLDJ8=";
23   };
25   propagatedBuildInputs = [
26     setuptools-scm
27   ];
29   # HACK https://github.com/NixOS/nixpkgs/pull/229460
30   patchPhase = ''
31     runHook prePatch
33     old_manifest="$(cat MANIFEST.in 2>/dev/null || true)"
34     echo 'global-include **' > MANIFEST.in
35     echo "$old_manifest" >> MANIFEST.in
37     runHook postPatch
38   '';
40   pythonImportsCheck = [
41     "setuptools_odoo"
42   ];
44   setupHook = writeScript "setupHook.sh" ''
45     setuptoolsOdooHook() {
46       # Don't look for a version suffix from git when building addons
47       export SETUPTOOLS_ODOO_POST_VERSION_STRATEGY_OVERRIDE=none
49       # Let setuptools-odoo know which files to install, when Git is missing
50       # HACK https://github.com/acsone/setuptools-odoo/issues/20#issuecomment-340192355
51       echo 'recursive-include odoo/addons/* **' >> MANIFEST.in
53       # Make sure you can import the built addon
54       for manifest in $(find -L . -name __manifest__.py); do
55         export pythonImportsCheck="$pythonImportsCheck odoo.addons.$(basename $(dirname $manifest))"
56       done
57     }
59     preBuildHooks+=(setuptoolsOdooHook)
60   '';
62   nativeCheckInputs = [
63     pytestCheckHook
64     git
65   ];
67   disabledTests = [
68     "test_addon1_uncommitted_change"
69     "test_addon1"
70     "test_addon2_uncommitted_version_change"
71     "test_odoo_addon1_sdist"
72     "test_odoo_addon1"
73     "test_odoo_addon5_wheel"
74   ];
76   meta = with lib; {
77     description = "Setuptools plugin for Odoo addons";
78     homepage = "https://github.com/acsone/setuptools-odoo";
79     changelog = "https://github.com/acsone/setuptools-odoo/blob/${version}/CHANGES.rst";
80     license = licenses.lgpl3Only;
81     maintainers = with maintainers; [ yajo ];
82   };