1 { pkgs ? import <nixpkgs> {} }:
4 python_version = "3.7";
5 pyproject = pkgs.writeText "pyproject.toml" ''
8 version = "${odoo_version}"
9 description = "Odoo is a suite of web based open source business apps."
12 [tool.poetry.dependencies]
13 python = "^${python_version}"
15 [tool.poetry.dev-dependencies]
18 requires = ["poetry-core>=1.0.0"]
19 build-backend = "poetry.core.masonry.api"
21 newPoetry = pkgs.poetry.override { python = pkgs.python36; };
24 buildInputs = [ pkgs.perl pkgs.gcc pkgs.libjpeg pkgs.libxslt pkgs.pkg-config pkgs.postgresql_11 pkgs.cyrus_sasl pkgs.openldap pkgs.zlib pkgs.file pkgs.libxml2 newPoetry ];
26 NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${pkgs.cyrus_sasl.dev}/include/sasl -isystem ${pkgs.libxml2.dev}/include/libxml2/"
29 expression=''${expression/sys_platform/\$sys_platform}
30 expression=''${expression/python_version/\$python_version}
31 expression=''${expression/"== '"/"eq '"}
32 expression=''${expression/"!= '"/"ne '"}
33 #echo "my \$python_version='${python_version}' ; my \$sys_platform='linux'; exit !($expression)"
34 perl -e "my \$python_version='${python_version}' ; my \$sys_platform='linux'; exit !($expression)"
37 cat "${pyproject}" > pyproject.toml
40 requirements=$(cat requirements.txt | grep -v "^#" | while read i; do
41 if echo "$i" | grep -q ";"; then
42 a="$(echo $i | sed -e "s/.*; *//")"
43 check_valid "$a" && echo "$i" | sed -e "s/ *;.*//";
49 # Add mock -- since 14.0
50 # add openupgradelib (for openupgrade)
51 poetry add $requirements mock openupgradelib