1 { pkgs ? import <nixpkgs> {} }: with pkgs;
2 #{ poetry2nix, runCommand, fetchFromGitHub, openldap, cyrus_sasl, pkg-config, python37 }:
5 commit = "122ba218265cbb2a157765b56bc961cad4fe1cc3";
6 poetryPackages = poetry2nix.mkPoetryPackages rec {
7 pyproject = ./pyproject.toml;
8 poetrylock = ./poetry.lock;
12 openupgrade = fetchFromGitHub {
15 rev = "df0168d3c9321e24d4ecccd2da18b92ad980a0ae";
16 sha256 = "08mjf9sic8ns6351x13n4jbsa9mkqbq1gbk98r5y0p087bmjs8cw";
18 poetryApp = poetry2nix.mkPoetryApplication rec {
19 src = fetchFromGitHub {
23 sha256 = "1ipsv12s0b5290g9v2268f7m6x8m85inf6cnqs7gwbj1pxj6gilg";
25 overrides = poetry2nix.overrides.withDefaults (self: super: {
26 cffi = poetryPackages.python.pkgs.cffi;
27 pyldap = super.pyldap.overridePythonAttrs (old: {
28 buildInputs = old.buildInputs ++ [ openldap cyrus_sasl ];
29 nativeBuildInputs = old.nativeBuildInputs ++ [ pkg-config ];
30 preConfigure = old.preConfigure or "" + ''
31 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${cyrus_sasl.dev}/include/sasl"
35 pyproject = ./pyproject.toml;
36 poetrylock = ./poetry.lock;
38 nativeBuildInputs = [ openldap ];
40 mv addons/* odoo/addons
41 cp -a ${openupgrade}/openupgrade_framework odoo/addons
42 cp -a ${openupgrade}/openupgrade_scripts odoo/addons
46 runCommand "python3.7-odoo-${version}" {} ''
48 cp -a ${poetryApp}/* $out/
50 find $out -type f -exec sed -i -e "s@${poetryApp}@$out@g" {} \;
51 cd $out/lib/python3.7/site-packages/odoo
52 patch -p2 < ${./odoo.patch}