Migrate to poetry, update nixpkgs
This commit is contained in:
parent
c0020fe276
commit
58d3aef568
14 changed files with 1384 additions and 1517 deletions
6
.envrc
6
.envrc
|
|
@ -1,9 +1,9 @@
|
|||
use flake
|
||||
|
||||
VIRTUAL_ENV="$PWD/venv"
|
||||
if [ ! -e venv ]
|
||||
VIRTUAL_ENV="$PWD/.venv"
|
||||
if [ ! -e .venv ]
|
||||
then
|
||||
python -m venv --system-site-packages "${VIRTUAL_ENV}"
|
||||
poetry install
|
||||
fi
|
||||
export VIRTUAL_ENV
|
||||
PATH_add "$VIRTUAL_ENV/bin"
|
||||
|
|
|
|||
31
flake.lock
generated
31
flake.lock
generated
|
|
@ -2,49 +2,32 @@
|
|||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1612433293,
|
||||
"narHash": "sha256-p9vbZBJE8BqLr4uOC+RP12Kg6v6u/gpi8jJ2v1iBAk4=",
|
||||
"lastModified": 1625692408,
|
||||
"narHash": "sha256-e9L3TLLDVIJpMnHtiNHJE62oOh6emRtSZ244bgYJUZs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2b9daa020d40aac9d6ff3d1941d22acf4a3e9229",
|
||||
"rev": "c06613c25df3fe1dd26243847a3c105cf6770627",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-20.09",
|
||||
"ref": "nixos-21.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"pypi2nix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1590927832,
|
||||
"narHash": "sha256-NOvfnrXVigRAAw5JzL/2rN3AAgDdVthpgCYCbv/wr/8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "pypi2nix",
|
||||
"rev": "0dbd119465ff2ccbe43cb83431eba792b536a640",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "pypi2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pypi2nix": "pypi2nix",
|
||||
"utils": "utils"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"locked": {
|
||||
"lastModified": 1610051610,
|
||||
"narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=",
|
||||
"lastModified": 1623875721,
|
||||
"narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc",
|
||||
"rev": "f7e004a55b120c02ecb6219596820fcd32ca8772",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
46
flake.nix
46
flake.nix
|
|
@ -2,15 +2,11 @@
|
|||
description = "A very basic flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-20.09";
|
||||
nixpkgs.url = "nixpkgs/nixos-21.05";
|
||||
utils.url = "github:numtide/flake-utils";
|
||||
pypi2nix = {
|
||||
url = "github:nix-community/pypi2nix";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, utils, pypi2nix }:
|
||||
outputs = { self, nixpkgs, utils }:
|
||||
{
|
||||
overlay = final: prev: {
|
||||
strojnadzor = self.packages.${final.system}.strojnadzor;
|
||||
|
|
@ -36,49 +32,19 @@
|
|||
} // utils.lib.eachSystem [ "x86_64-linux" ] (
|
||||
system: let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
python = import ./requirements.nix { inherit pkgs; };
|
||||
pypi2nix' = import pypi2nix;
|
||||
in
|
||||
rec {
|
||||
devShell = pkgs.mkShell {
|
||||
name = "strojnadzor-env";
|
||||
buildInputs = [
|
||||
pkgs.nodejs
|
||||
pypi2nix
|
||||
python.interpreter
|
||||
pkgs.python38Packages.poetry
|
||||
];
|
||||
};
|
||||
|
||||
packages.strojnadzor = python.mkDerivation {
|
||||
pname = "strojnadzor";
|
||||
version = "0.0.1";
|
||||
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
|
||||
buildInputs = [];
|
||||
propagatedBuildInputs = with python.packages; [
|
||||
aldryn-forms
|
||||
django-absolute
|
||||
django-cms
|
||||
django-emailit
|
||||
django-filer
|
||||
django-sekizai
|
||||
django-simple-captcha
|
||||
django-treebeard
|
||||
djangocms-bootstrap4
|
||||
djangocms-file
|
||||
djangocms-googlemap
|
||||
djangocms-icon
|
||||
djangocms-link
|
||||
djangocms-picture
|
||||
djangocms-snippet
|
||||
djangocms-style
|
||||
djangocms-text-ckeditor
|
||||
djangocms-video
|
||||
easy-thumbnails
|
||||
gunicorn
|
||||
python-dotenv
|
||||
setuptools
|
||||
];
|
||||
passthru.exePath = "/bin/strojnadzor-admin";
|
||||
packages.strojnadzor = pkgs.poetry2nix.mkPoetryApplication {
|
||||
projectDir = ./.;
|
||||
python = pkgs.python38;
|
||||
};
|
||||
defaultPackage = packages.strojnadzor;
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ let
|
|||
|
||||
static = pkgs.runCommand "static" {} ''
|
||||
export STROJNADZOR_STATIC_ROOT="$out"
|
||||
${cfg.package}/bin/strojnadzor-admin collectstatic
|
||||
${cfg.package}/bin/strojnadzor collectstatic
|
||||
'';
|
||||
|
||||
in
|
||||
|
|
@ -99,8 +99,8 @@ in
|
|||
Type = "notify";
|
||||
User = "strojnadzor";
|
||||
Group = "strojnadzor";
|
||||
ExecStartPre = "${cfg.package}/bin/strojnadzor-admin migrate";
|
||||
ExecStart = "${cfg.package}/bin/strojnadzor-admin runserver-gunicorn";
|
||||
ExecStartPre = "${cfg.package}/bin/strojnadzor migrate";
|
||||
ExecStart = "${cfg.package}/bin/strojnadzor runserver-gunicorn";
|
||||
StateDirectory = "strojnadzor";
|
||||
CapabilityBoundingSet = "";
|
||||
LockPersonality = true;
|
||||
|
|
|
|||
1317
poetry.lock
generated
Normal file
1317
poetry.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
2
poetry.toml
Normal file
2
poetry.toml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
[virtualenvs]
|
||||
in-project = true
|
||||
46
pyproject.toml
Normal file
46
pyproject.toml
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
[tool.poetry]
|
||||
name = "strojnadzor"
|
||||
version = "0.1.0"
|
||||
description = "Strojnadzor site"
|
||||
authors = ["Andrey Golovizin <ag@sologoc.com>"]
|
||||
license = "AGPLv3"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.8"
|
||||
|
||||
aldryn-forms = "~4.0.1"
|
||||
Django = "~2.1"
|
||||
django-classy-tags = "~=0.9"
|
||||
django-cms = "3.7.1"
|
||||
django-filer = "~1.7"
|
||||
django-mptt = "~0.11"
|
||||
django-sekizai = "~1.1"
|
||||
django-treebeard = "~4.3"
|
||||
djangocms-admin-style = "~1.4"
|
||||
djangocms-bootstrap4 = "~1.5"
|
||||
djangocms-file = "~2.4"
|
||||
djangocms-googlemap = "~1.3"
|
||||
djangocms-link = "~2.5"
|
||||
djangocms-picture = "~2.3"
|
||||
djangocms-snippet = "~2.2"
|
||||
djangocms-style = "~2.2"
|
||||
djangocms-text-ckeditor = "~3.8"
|
||||
djangocms-video = "~2.2"
|
||||
easy-thumbnails = "~2.7.1"
|
||||
gunicorn = "^20.1.0"
|
||||
python-dotenv = "^0.18.0"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
black = "^21.6b0"
|
||||
flake8 = "^3.9.2"
|
||||
isort = "^5.9.2"
|
||||
pyls-isort = "^0.2.2"
|
||||
python-lsp-black = "^1.0.0"
|
||||
python-lsp-server = "^1.1.0"
|
||||
|
||||
[tool.poetry.scripts]
|
||||
strojnadzor = "strojnadzor.__main__:main"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
black
|
||||
flake8
|
||||
pip-tools
|
||||
pyls-black
|
||||
pyls-isort
|
||||
python-language-server[rope]
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --output-file=requirements-dev.txt requirements-dev.in
|
||||
#
|
||||
appdirs==1.4.3 # via black
|
||||
attrs==19.3.0 # via black
|
||||
black==19.10b0 # via -r requirements-dev.in, pyls-black
|
||||
click==7.1.1 # via black, pip-tools
|
||||
entrypoints==0.3 # via flake8
|
||||
flake8==3.7.9 # via -r requirements-dev.in
|
||||
importlib-metadata==1.5.0 # via pluggy
|
||||
isort==4.3.21 # via pyls-isort
|
||||
jedi==0.15.2 # via python-language-server
|
||||
mccabe==0.6.1 # via flake8
|
||||
parso==0.6.2 # via jedi
|
||||
pathspec==0.7.0 # via black
|
||||
pip-tools==4.5.1 # via -r requirements-dev.in
|
||||
pluggy==0.13.1 # via python-language-server
|
||||
pycodestyle==2.5.0 # via flake8
|
||||
pyflakes==2.1.1 # via flake8
|
||||
pyls-black==0.4.4 # via -r requirements-dev.in
|
||||
pyls-isort==0.1.1 # via -r requirements-dev.in
|
||||
python-jsonrpc-server==0.3.4 # via python-language-server
|
||||
python-language-server[rope]==0.31.8 # via -r requirements-dev.in, pyls-black, pyls-isort
|
||||
regex==2020.2.20 # via black
|
||||
rope==0.16.0 # via python-language-server
|
||||
six==1.14.0 # via pip-tools
|
||||
toml==0.10.0 # via black, pyls-black
|
||||
typed-ast==1.4.1 # via black
|
||||
ujson==1.35 # via python-jsonrpc-server, python-language-server
|
||||
zipp==3.1.0 # via importlib-metadata
|
||||
1223
requirements.nix
1223
requirements.nix
File diff suppressed because it is too large
Load diff
|
|
@ -1,64 +0,0 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --output-file=requirements.txt setup.py
|
||||
#
|
||||
aldryn-boilerplates==0.8.0 # via aldryn-forms
|
||||
aldryn-forms==4.0.1 # via strojnadzor (setup.py)
|
||||
cachetools==4.0.0 # via premailer
|
||||
certifi==2019.11.28 # via requests
|
||||
chardet==3.0.4 # via requests
|
||||
cssselect==1.1.0 # via premailer
|
||||
cssutils==1.0.2 # via premailer
|
||||
django-absolute==0.3 # via django-emailit
|
||||
django-appconf==1.0.3 # via aldryn-boilerplates
|
||||
django-classy-tags==1.0.0 # via django-cms, django-sekizai, strojnadzor (setup.py)
|
||||
django-cms==3.7.1 # via aldryn-forms, djangocms-attributes-field, djangocms-bootstrap4, djangocms-file, djangocms-googlemap, djangocms-icon, djangocms-link, djangocms-picture, djangocms-snippet, djangocms-style, djangocms-text-ckeditor, djangocms-video, strojnadzor (setup.py)
|
||||
django-emailit==0.2.4 # via aldryn-forms
|
||||
django-filer==1.7.0 # via aldryn-forms, djangocms-bootstrap4, djangocms-file, djangocms-googlemap, djangocms-link, djangocms-picture, djangocms-video, strojnadzor (setup.py)
|
||||
django-formtools==2.2 # via django-cms
|
||||
django-js-asset==1.2.2 # via django-mptt
|
||||
django-mptt==0.11.0 # via django-filer, strojnadzor (setup.py)
|
||||
django-polymorphic==2.1.2 # via django-filer
|
||||
django-ranged-response==0.2.0 # via django-simple-captcha
|
||||
django-sekizai==1.1.0 # via django-cms, strojnadzor (setup.py)
|
||||
django-simple-captcha==0.5.12 # via aldryn-forms
|
||||
django-sizefield==1.0.0 # via aldryn-forms
|
||||
django-tablib==3.2 # via aldryn-forms
|
||||
django-treebeard==4.3.1 # via django-cms, strojnadzor (setup.py)
|
||||
django==2.1.15 # via aldryn-boilerplates, django-absolute, django-appconf, django-classy-tags, django-cms, django-emailit, django-filer, django-formtools, django-mptt, django-polymorphic, django-ranged-response, django-sekizai, django-simple-captcha, django-sizefield, django-treebeard, easy-thumbnails, strojnadzor (setup.py)
|
||||
djangocms-admin-style==1.4.0 # via django-cms, strojnadzor (setup.py)
|
||||
djangocms-attributes-field==1.2.0 # via aldryn-forms, djangocms-bootstrap4, djangocms-file, djangocms-icon, djangocms-link, djangocms-picture, djangocms-style, djangocms-video
|
||||
djangocms-bootstrap4==1.5.0 # via strojnadzor (setup.py)
|
||||
djangocms-file==2.4.0 # via strojnadzor (setup.py)
|
||||
djangocms-googlemap==1.3.0 # via strojnadzor (setup.py)
|
||||
djangocms-icon==1.5.0 # via djangocms-bootstrap4
|
||||
djangocms-link==2.5.0 # via djangocms-bootstrap4, strojnadzor (setup.py)
|
||||
djangocms-picture==2.3.0 # via djangocms-bootstrap4, strojnadzor (setup.py)
|
||||
djangocms-snippet==2.2.0 # via strojnadzor (setup.py)
|
||||
djangocms-style==2.2.0 # via strojnadzor (setup.py)
|
||||
djangocms-text-ckeditor==3.8.0 # via aldryn-forms, djangocms-bootstrap4, strojnadzor (setup.py)
|
||||
djangocms-video==2.2.0 # via strojnadzor (setup.py)
|
||||
easy-thumbnails==2.7 # via django-filer, djangocms-picture, strojnadzor (setup.py)
|
||||
et-xmlfile==1.0.1 # via openpyxl
|
||||
gunicorn==20.0.4 # via strojnadzor (setup.py)
|
||||
html5lib==1.0.1 # via djangocms-text-ckeditor
|
||||
idna==2.9 # via requests
|
||||
jdcal==1.4.1 # via openpyxl
|
||||
lxml==4.5.0 # via premailer
|
||||
openpyxl==2.4.9 # via aldryn-forms
|
||||
pillow==7.0.0 # via aldryn-forms, django-simple-captcha, djangocms-text-ckeditor, easy-thumbnails
|
||||
premailer==3.6.1 # via django-emailit
|
||||
python-dotenv==0.12.0 # via strojnadzor (setup.py)
|
||||
pytz==2019.3 # via django
|
||||
requests==2.23.0 # via premailer
|
||||
six==1.14.0 # via aldryn-forms, django-appconf, django-classy-tags, django-filer, django-sekizai, django-simple-captcha, django-tablib, html5lib
|
||||
tablib==1.1.0 # via aldryn-forms, django-tablib
|
||||
unidecode==1.1.1 # via django-filer
|
||||
urllib3==1.25.8 # via requests
|
||||
webencodings==0.5.1 # via html5lib
|
||||
yurl==1.0.0 # via aldryn-boilerplates
|
||||
|
||||
# The following packages are considered to be unsafe in a requirements file:
|
||||
# setuptools
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
aldryn-boilerplates==0.8.0
|
||||
aldryn-forms==4.0.1
|
||||
cachetools==4.0.0
|
||||
certifi==2019.11.28
|
||||
chardet==3.0.4
|
||||
cssselect==1.1.0
|
||||
cssutils==1.0.2
|
||||
Django==2.1.15
|
||||
django-absolute==0.3
|
||||
django-appconf==1.0.3
|
||||
django-classy-tags==1.0.0
|
||||
django-cms==3.7.1
|
||||
django-emailit==0.2.4
|
||||
django-filer==1.7.0
|
||||
django-formtools==2.2
|
||||
django-js-asset==1.2.2
|
||||
django-mptt==0.11.0
|
||||
django-polymorphic==2.1.2
|
||||
django-ranged-response==0.2.0
|
||||
django-sekizai==1.1.0
|
||||
django-simple-captcha==0.5.12
|
||||
django-sizefield==1.0.0
|
||||
django-tablib==3.2
|
||||
django-treebeard==4.3.1
|
||||
djangocms-admin-style==1.4.0
|
||||
djangocms-attributes-field==1.2.0
|
||||
djangocms-bootstrap4==1.5.0
|
||||
djangocms-file==2.4.0
|
||||
djangocms-googlemap==1.3.0
|
||||
djangocms-icon==1.5.0
|
||||
djangocms-link==2.5.0
|
||||
djangocms-picture==2.3.0
|
||||
djangocms-snippet==2.2.0
|
||||
djangocms-style==2.2.0
|
||||
djangocms-text-ckeditor==3.8.0
|
||||
djangocms-video==2.2.0
|
||||
easy-thumbnails==2.7
|
||||
et-xmlfile==1.0.1
|
||||
gunicorn==20.0.4
|
||||
html5lib==1.0.1
|
||||
idna==2.9
|
||||
jdcal==1.4.1
|
||||
lxml==4.5.0
|
||||
openpyxl==2.4.9
|
||||
Pillow==7.0.0
|
||||
premailer==3.6.1
|
||||
python-dotenv==0.12.0
|
||||
pytz==2019.3
|
||||
requests==2.23.0
|
||||
setuptools-scm==3.5.0
|
||||
six==1.14.0
|
||||
tablib==1.1.0
|
||||
Unidecode==1.1.1
|
||||
urllib3==1.25.8
|
||||
webencodings==0.5.1
|
||||
YURL==1.0.0
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
{ pkgs, python }:
|
||||
|
||||
self: super: {
|
||||
"tablib" = python.overrideDerivation super."tablib" (old: {
|
||||
buildInputs = old.buildInputs ++ [ self."setuptools-scm" ];
|
||||
});
|
||||
|
||||
# https://github.com/nix-community/pypi2nix-overrides/pull/17/files
|
||||
"wheel" = super."wheel".overrideDerivation
|
||||
(old: { pipInstallFlags = [ "--ignore-installed" ]; });
|
||||
|
||||
}
|
||||
53
setup.py
53
setup.py
|
|
@ -1,53 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
from setuptools import find_packages, setup
|
||||
|
||||
setup(
|
||||
name="strojnadzor",
|
||||
version="0.0.1",
|
||||
description="Strojnadzor site",
|
||||
author="Andrey Golovizin",
|
||||
author_email="ag@sologoc.com",
|
||||
url="https://golovizin.ru/",
|
||||
license="AGPLv3",
|
||||
platforms=["platform-independent"],
|
||||
packages=find_packages("src"),
|
||||
package_dir={"": "src"},
|
||||
package_data={
|
||||
"strojnadzor": [
|
||||
"DejaVuSans.ttf",
|
||||
"construction.txt",
|
||||
"static/*.css",
|
||||
"templates/*.html",
|
||||
]
|
||||
},
|
||||
# install_requires=install_requires,
|
||||
install_requires=[
|
||||
"aldryn-forms",
|
||||
"django-classy-tags>=0.9",
|
||||
"django-cms>=3.7,<3.8",
|
||||
"django-filer>=1.3",
|
||||
"django-mptt>0.9",
|
||||
"django-sekizai>=1.0",
|
||||
"django-treebeard>=4.0,<5.0",
|
||||
"Django<2.2",
|
||||
"djangocms-admin-style>=1.4,<1.5",
|
||||
"djangocms-bootstrap4>=1.5,<1.6",
|
||||
"djangocms-file>=2.3,<3.0",
|
||||
"djangocms-googlemap>=1.3,<1.4",
|
||||
"djangocms-link>=2.5,<2.6",
|
||||
"djangocms-picture>=2.3,<2.4",
|
||||
"djangocms-snippet>=2.2,<2.3",
|
||||
"djangocms-style>=2.2,<2.3",
|
||||
"djangocms-text-ckeditor>=3.7,<3.9",
|
||||
"djangocms-video>=2.1,<2.3",
|
||||
"easy_thumbnails",
|
||||
"gunicorn",
|
||||
"python-dotenv",
|
||||
],
|
||||
# extras_require=extras_require,
|
||||
include_package_data=True,
|
||||
entry_points={
|
||||
"console_scripts": ["strojnadzor-admin = strojnadzor.__main__:main"],
|
||||
},
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue