forked from axeman/erpnext-nix
Compare commits
13 commits
main
...
updates-20
Author | SHA1 | Date | |
---|---|---|---|
Hendrik Sokolowski | 7ec2e96c2c | ||
teutat3s | 32bb022df7 | ||
teutat3s | 57ed0da017 | ||
teutat3s | ae7a917ed9 | ||
teutat3s | 75bb14ba70 | ||
teutat3s | 0307d8d9fc | ||
Hendrik Sokolowski | 4abf58436c | ||
Hendrik Sokolowski | d5495fa24a | ||
teutat3s | c6cf41f94b | ||
teutat3s | 92f2b0b478 | ||
teutat3s | e60d4eb82c | ||
teutat3s | 72dfbfab5f | ||
teutat3s | 518ebf980d |
23
flake.lock
23
flake.lock
|
@ -10,11 +10,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703433843,
|
"lastModified": 1723293904,
|
||||||
"narHash": "sha256-nmtA4KqFboWxxoOAA6Y1okHbZh+HsXaMPFkYHsoDRDw=",
|
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "agenix",
|
"repo": "agenix",
|
||||||
"rev": "417caa847f9383e111d1397039c9d4337d024bf0",
|
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -49,17 +49,14 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"systems"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701787589,
|
"lastModified": 1722113426,
|
||||||
"narHash": "sha256-ce+oQR4Zq9VOsLoh9bZT8Ip9PaMLcjjBUHVPzW5d7Cw=",
|
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "devshell",
|
"repo": "devshell",
|
||||||
"rev": "44ddedcbcfc2d52a76b64fb6122f209881bd3e1e",
|
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -91,16 +88,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704295289,
|
"lastModified": 1726447378,
|
||||||
"narHash": "sha256-9WZDRfpMqCYL6g/HNWVvXF0hxdaAgwgIGeLYiOhmes8=",
|
"narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b0b2c5445c64191fd8d0b31f2b1a34e45a64547d",
|
"rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-23.11",
|
"ref": "nixos-24.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,12 @@
|
||||||
description = "Dev Setup";
|
description = "Dev Setup";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||||
|
|
||||||
systems.url = "github:nix-systems/default";
|
systems.url = "github:nix-systems/default";
|
||||||
|
|
||||||
devshell.url = "github:numtide/devshell";
|
devshell.url = "github:numtide/devshell";
|
||||||
devshell.inputs.nixpkgs.follows = "nixpkgs";
|
devshell.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
devshell.inputs.systems.follows = "systems";
|
|
||||||
|
|
||||||
agenix.url = "github:ryantm/agenix";
|
agenix.url = "github:ryantm/agenix";
|
||||||
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -316,14 +316,20 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
path = [
|
path = [
|
||||||
|
pkgs.bash
|
||||||
pkgs.mariadb-client
|
pkgs.mariadb-client
|
||||||
];
|
];
|
||||||
environment = {
|
environment = {
|
||||||
PYTHON_PATH = "${penv}/${pkgs.python3.sitePackages}";
|
PYTHON_PATH = "${penv}/${pkgs.python3.sitePackages}";
|
||||||
};
|
};
|
||||||
|
unitConfig = {
|
||||||
|
StartLimitBurst = "5";
|
||||||
|
StartLimitIntervalSec = "30";
|
||||||
|
};
|
||||||
serviceConfig = defaultServiceConfig // {
|
serviceConfig = defaultServiceConfig // {
|
||||||
TimeoutStartSec = "300s";
|
TimeoutStartSec = "600s";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
|
RestartSec = "5s";
|
||||||
ExecStartPre = assert cfg.adminPasswordFile != null && cfg.database.rootPasswordFile != null; pkgs.writeScript "erpnext-web-init" ''
|
ExecStartPre = assert cfg.adminPasswordFile != null && cfg.database.rootPasswordFile != null; pkgs.writeScript "erpnext-web-init" ''
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
if ! test -e ${escapeShellArg "${cfg.workDir}/.db-created"}; then
|
if ! test -e ${escapeShellArg "${cfg.workDir}/.db-created"}; then
|
||||||
|
|
|
@ -18,24 +18,15 @@ final: prev: {
|
||||||
email-reply-parser = pyFinal.callPackage ./python/email-reply-parser.nix {};
|
email-reply-parser = pyFinal.callPackage ./python/email-reply-parser.nix {};
|
||||||
maxminddb-geolite2 = pyFinal.callPackage ./python/maxminddb-geolite2.nix {};
|
maxminddb-geolite2 = pyFinal.callPackage ./python/maxminddb-geolite2.nix {};
|
||||||
psycopg2-binary = pyFinal.callPackage ./python/psycopg2-binary.nix {};
|
psycopg2-binary = pyFinal.callPackage ./python/psycopg2-binary.nix {};
|
||||||
|
sql-metadata = pyFinal.callPackage ./python/sql-metadata.nix {};
|
||||||
traceback-with-variables = pyFinal.callPackage ./python/traceback-with-variables.nix {};
|
traceback-with-variables = pyFinal.callPackage ./python/traceback-with-variables.nix {};
|
||||||
pydantic = pyFinal.callPackage ./python/pydantic.nix {};
|
|
||||||
|
|
||||||
versioningit = pyPrev.versioningit.overridePythonAttrs (oldAttrs: (rec {
|
#fastapi = pyPrev.fastapi.overridePythonAttrs (oldAttrs: (rec {
|
||||||
version = "2.2.1";
|
# propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
|
||||||
src = pyPrev.fetchPypi {
|
# pyPrev.pydantic-settings
|
||||||
inherit version;
|
# pyPrev.pydantic-extra-types
|
||||||
inherit (oldAttrs) pname;
|
# ];
|
||||||
hash = "sha256-DlgkLXq9phrmNZalSUrp7WMayF2Ls8yOF24yU8pLy7U=";
|
#}));
|
||||||
};
|
|
||||||
}));
|
|
||||||
|
|
||||||
fastapi = pyPrev.fastapi.overridePythonAttrs (oldAttrs: (rec {
|
|
||||||
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
|
|
||||||
pyPrev.pydantic-settings
|
|
||||||
pyPrev.pydantic-extra-types
|
|
||||||
];
|
|
||||||
}));
|
|
||||||
|
|
||||||
plaid-python = pyPrev.plaid-python.overridePythonAttrs (oldAttrs: (rec {
|
plaid-python = pyPrev.plaid-python.overridePythonAttrs (oldAttrs: (rec {
|
||||||
version = "7.2.1";
|
version = "7.2.1";
|
||||||
|
|
|
@ -4,10 +4,13 @@
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "barcodenumber";
|
pname = "barcodenumber";
|
||||||
version = "0.2.1";
|
version = "0.5.0";
|
||||||
|
format = "wheel";
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit format pname version;
|
||||||
sha256 = "sha256-nW8+m32i42kLR4oC4lrKoBkFYgKHgpZPGAFNJvtLMhc=";
|
python = "py3";
|
||||||
|
dist = "py3";
|
||||||
|
sha256 = "sha256-VZfHLwSF9aDoy5L1x4O2mu8/f2ijYKgyjCrQ1KKY5Ho=";
|
||||||
};
|
};
|
||||||
propagatedBuildInputs = [ ];
|
propagatedBuildInputs = [ ];
|
||||||
nativeBuildInputs = [ ];
|
nativeBuildInputs = [ ];
|
||||||
|
|
|
@ -32,6 +32,9 @@ buildPythonPackage rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace pyproject.toml --replace-fail 'hatchling>=1.6.0,<=1.21.0' 'hatchling<=1.24.2'
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||||
pythonRelaxDeps = [ "jinja2" "python-crontab" "semantic-version" ];
|
pythonRelaxDeps = [ "jinja2" "python-crontab" "semantic-version" ];
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
# Integration dependencies
|
# Integration dependencies
|
||||||
, googlemaps
|
, googlemaps
|
||||||
, plaid-python
|
, plaid-python
|
||||||
|
, python-stdnum
|
||||||
, python-youtube
|
, python-youtube
|
||||||
, pypng
|
, pypng
|
||||||
}:
|
}:
|
||||||
|
@ -40,6 +41,7 @@ buildPythonPackage rec {
|
||||||
"pycountry"
|
"pycountry"
|
||||||
"rapidfuzz"
|
"rapidfuzz"
|
||||||
"Unidecode"
|
"Unidecode"
|
||||||
|
"python-youtube"
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -53,6 +55,7 @@ buildPythonPackage rec {
|
||||||
# Integration dependencies
|
# Integration dependencies
|
||||||
googlemaps
|
googlemaps
|
||||||
plaid-python
|
plaid-python
|
||||||
|
python-stdnum
|
||||||
python-youtube
|
python-youtube
|
||||||
# used for QR code generation
|
# used for QR code generation
|
||||||
pypng
|
pypng
|
||||||
|
|
|
@ -68,6 +68,8 @@
|
||||||
, xlrd
|
, xlrd
|
||||||
, zxcvbn
|
, zxcvbn
|
||||||
, markdownify
|
, markdownify
|
||||||
|
, tomli
|
||||||
|
, sql-metadata
|
||||||
|
|
||||||
# Integration dependencies
|
# Integration dependencies
|
||||||
, boto3
|
, boto3
|
||||||
|
@ -97,6 +99,38 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ pythonRelaxDepsHook flit-core ];
|
nativeBuildInputs = [ pythonRelaxDepsHook flit-core ];
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
"babel"
|
||||||
|
"pypdf"
|
||||||
|
"weasyprint"
|
||||||
|
"pydyf"
|
||||||
|
"bleach"
|
||||||
|
"cairocffi"
|
||||||
|
"chardet"
|
||||||
|
"cssutils"
|
||||||
|
"gunicorn"
|
||||||
|
"ipython"
|
||||||
|
"phonenumbers"
|
||||||
|
"pyopenssl"
|
||||||
|
"pydantic"
|
||||||
|
"pyotp"
|
||||||
|
"python-dateutil"
|
||||||
|
"pytz"
|
||||||
|
"rauth"
|
||||||
|
"redis"
|
||||||
|
"hiredis"
|
||||||
|
"requests"
|
||||||
|
"rq"
|
||||||
|
"sentry-sdk"
|
||||||
|
"markdownify"
|
||||||
|
"boto3"
|
||||||
|
"dropbox"
|
||||||
|
"google-api-python-client"
|
||||||
|
"google-auth-oauthlib"
|
||||||
|
"google-auth"
|
||||||
|
"posthog"
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
babel
|
babel
|
||||||
click
|
click
|
||||||
|
@ -161,6 +195,8 @@ buildPythonPackage rec {
|
||||||
xlrd
|
xlrd
|
||||||
zxcvbn
|
zxcvbn
|
||||||
markdownify
|
markdownify
|
||||||
|
tomli
|
||||||
|
sql-metadata
|
||||||
|
|
||||||
# integration dependencies
|
# integration dependencies
|
||||||
boto3
|
boto3
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
{ lib
|
|
||||||
, buildPythonPackage
|
|
||||||
, fetchFromGitHub
|
|
||||||
, pythonOlder
|
|
||||||
, hatchling
|
|
||||||
, hatch-fancy-pypi-readme
|
|
||||||
, libxcrypt
|
|
||||||
, annotated-types
|
|
||||||
, pydantic-core
|
|
||||||
, typing-extensions
|
|
||||||
, email-validator
|
|
||||||
, dirty-equals
|
|
||||||
, faker
|
|
||||||
, pytestCheckHook
|
|
||||||
, pytest-mock
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "pydantic";
|
|
||||||
version = "2.3.0";
|
|
||||||
pyproject = true;
|
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "pydantic";
|
|
||||||
repo = "pydantic";
|
|
||||||
rev = "refs/tags/v${version}";
|
|
||||||
hash = "sha256-toqrWg8bYzc3UmvG/YmXawfmT8nqaA9fxy24k1cdj+M=";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = lib.optionals (pythonOlder "3.9") [
|
|
||||||
libxcrypt
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
hatch-fancy-pypi-readme
|
|
||||||
hatchling
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
annotated-types
|
|
||||||
pydantic-core
|
|
||||||
typing-extensions
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru.optional-dependencies = {
|
|
||||||
email = [
|
|
||||||
email-validator
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeCheckInputs = [
|
|
||||||
dirty-equals
|
|
||||||
faker
|
|
||||||
pytest-mock
|
|
||||||
pytestCheckHook
|
|
||||||
] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
|
|
||||||
|
|
||||||
preCheck = ''
|
|
||||||
export HOME=$(mktemp -d)
|
|
||||||
substituteInPlace pyproject.toml \
|
|
||||||
--replace "'--benchmark-columns', 'min,mean,stddev,outliers,rounds,iterations'," "" \
|
|
||||||
--replace "'--benchmark-group-by', 'group'," "" \
|
|
||||||
--replace "'--benchmark-warmup', 'on'," "" \
|
|
||||||
--replace "'--benchmark-disable'," ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
disabledTestPaths = [
|
|
||||||
"tests/benchmarks"
|
|
||||||
|
|
||||||
# avoid cyclic dependency
|
|
||||||
"tests/test_docs.py"
|
|
||||||
];
|
|
||||||
|
|
||||||
pythonImportsCheck = [ "pydantic" ];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Data validation and settings management using Python type hinting";
|
|
||||||
homepage = "https://github.com/pydantic/pydantic";
|
|
||||||
changelog = "https://github.com/pydantic/pydantic/blob/v${version}/HISTORY.md";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ wd15 ];
|
|
||||||
};
|
|
||||||
}
|
|
20
python/sql-metadata.nix
Normal file
20
python/sql-metadata.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchPypi,
|
||||||
|
poetry-core,
|
||||||
|
sqlparse,
|
||||||
|
}:
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "sql-metadata";
|
||||||
|
version = "2.11.0";
|
||||||
|
src = fetchPypi {
|
||||||
|
pname = "sql_metadata";
|
||||||
|
inherit version;
|
||||||
|
sha256 = "sha256-8jtwjOVYIh8so3YOtKuFa0+AVAtc9RczrZeRO8VGhis=";
|
||||||
|
};
|
||||||
|
format = "pyproject";
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
poetry-core
|
||||||
|
sqlparse
|
||||||
|
];
|
||||||
|
}
|
14
srcs/pin.nix
14
srcs/pin.nix
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
benchVersion = "5.19.0";
|
benchVersion = "5.22.9";
|
||||||
erpnextVersion = "15.9.1";
|
erpnextVersion = "15.36.1";
|
||||||
frappeVersion = "15.8.1";
|
frappeVersion = "15.39.2";
|
||||||
hashes = {
|
hashes = {
|
||||||
"benchSrcHash" = "sha256-y8nx4vFVQggwGv2MWQ88WczgVbPxPybZV38FF5u5aWI=";
|
"benchSrcHash" = "sha256-VOsAd7l09/GPf4eRV/Vrdj6XPLQS19/cq1h4Vym174A=";
|
||||||
"erpnextSrcHash" = "sha256-nkXN0PTcWt1nSy3eRdBF2h0WMdAC79qWzaj9kXRsG2I=";
|
"erpnextSrcHash" = "sha256-fECwtuMWOCRydcfWSx4CXLp5SWzWGIQ5yWOlsDsdDQI=";
|
||||||
"erpnextYarnHash" = "1farnqrfnzshpbpx4nyarw13g8m3389ix3hrc4661xxm887lz5fv";
|
"erpnextYarnHash" = "1farnqrfnzshpbpx4nyarw13g8m3389ix3hrc4661xxm887lz5fv";
|
||||||
"frappeSrcHash" = "sha256-FDUUNbULPmMY6dDgbMHrxXD8pK1AP+T7kG7mY9MmMDg=";
|
"frappeSrcHash" = "sha256-mArEVtkdVpiaHgr6u+cGCKjTL0pFJ2dXJw/dExh0atI=";
|
||||||
"frappeYarnHash" = "0rj2v69siagwjz632hyaii5ni24fp434cznaxpi8978fq07qx6l9";
|
"frappeYarnHash" = "0ahch2jazvpigwjhk872i00paachya3ym3zjyc3dl5ris851qyss";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue