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