Procházet zdrojové kódy

add legacy setup.* files, requird for RPM build on EL8/EL9

Peter Bieringer před 1 rokem
rodič
revize
48e4203856
2 změnil soubory, kde provedl 143 přidání a 0 odebrání
  1. 62 0
      setup.cfg.legacy
  2. 81 0
      setup.py.legacy

+ 62 - 0
setup.cfg.legacy

@@ -0,0 +1,62 @@
+[tool:pytest]
+
+[tox:tox]
+min_version = 4.0
+envlist = py, flake8, isort, mypy
+
+[testenv]
+extras =
+    test
+deps =
+    pytest
+    pytest-cov
+commands = pytest -r s --cov --cov-report=term --cov-report=xml .
+
+[testenv:flake8]
+deps = flake8==7.1.0
+commands = flake8 .
+skip_install = True
+
+[testenv:isort]
+deps = isort==5.13.2
+commands = isort --check --diff .
+skip_install = True
+
+[testenv:mypy]
+deps = mypy==1.11.0
+commands = mypy .
+skip_install = True
+
+[tool:isort]
+known_standard_library = _dummy_thread,_thread,abc,aifc,argparse,array,ast,asynchat,asyncio,asyncore,atexit,audioop,base64,bdb,binascii,binhex,bisect,builtins,bz2,cProfile,calendar,cgi,cgitb,chunk,cmath,cmd,code,codecs,codeop,collections,colorsys,compileall,concurrent,configparser,contextlib,contextvars,copy,copyreg,crypt,csv,ctypes,curses,dataclasses,datetime,dbm,decimal,difflib,dis,distutils,doctest,dummy_threading,email,encodings,ensurepip,enum,errno,faulthandler,fcntl,filecmp,fileinput,fnmatch,formatter,fpectl,fractions,ftplib,functools,gc,getopt,getpass,gettext,glob,grp,gzip,hashlib,heapq,hmac,html,http,imaplib,imghdr,imp,importlib,inspect,io,ipaddress,itertools,json,keyword,lib2to3,linecache,locale,logging,lzma,macpath,mailbox,mailcap,marshal,math,mimetypes,mmap,modulefinder,msilib,msvcrt,multiprocessing,netrc,nis,nntplib,ntpath,numbers,operator,optparse,os,ossaudiodev,parser,pathlib,pdb,pickle,pickletools,pipes,pkgutil,platform,plistlib,poplib,posix,posixpath,pprint,profile,pstats,pty,pwd,py_compile,pyclbr,pydoc,queue,quopri,random,re,readline,reprlib,resource,rlcompleter,runpy,sched,secrets,select,selectors,shelve,shlex,shutil,signal,site,smtpd,smtplib,sndhdr,socket,socketserver,spwd,sqlite3,sre,sre_compile,sre_constants,sre_parse,ssl,stat,statistics,string,stringprep,struct,subprocess,sunau,symbol,symtable,sys,sysconfig,syslog,tabnanny,tarfile,telnetlib,tempfile,termios,test,textwrap,threading,time,timeit,tkinter,token,tokenize,trace,traceback,tracemalloc,tty,turtle,turtledemo,types,typing,unicodedata,unittest,urllib,uu,uuid,venv,warnings,wave,weakref,webbrowser,winreg,winsound,wsgiref,xdrlib,xml,xmlrpc,zipapp,zipfile,zipimport,zlib
+known_third_party = defusedxml,passlib,pkg_resources,pytest,vobject
+
+[flake8]
+# Only enable default tests (https://github.com/PyCQA/flake8/issues/790#issuecomment-812823398)
+# DNE: DOES-NOT-EXIST
+select = E,F,W,C90,DNE000
+ignore = E121,E123,E126,E226,E24,E704,W503,W504,DNE000,E501
+extend-exclude = build
+
+[mypy]
+ignore_missing_imports = True
+show_error_codes = True
+exclude = (^|/)build($|/)
+
+[coverage:run]
+branch = True
+source = radicale
+omit = tests/*,*/tests/*
+
+[coverage:report]
+# Regexes for lines to exclude from consideration
+exclude_lines =
+    # Have to re-enable the standard pragma
+    pragma: no cover
+
+    # Don't complain if tests don't hit defensive assertion code:
+    raise AssertionError
+    raise NotImplementedError
+
+    # Don't complain if non-runnable code isn't run:
+    if __name__ == .__main__.:

+ 81 - 0
setup.py.legacy

@@ -0,0 +1,81 @@
+# This file is part of Radicale - CalDAV and CardDAV server
+# Copyright © 2009-2017 Guillaume Ayoub
+# Copyright © 2017-2018 Unrud <unrud@outlook.com>
+#
+# This library is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Radicale.  If not, see <http://www.gnu.org/licenses/>.
+
+from setuptools import find_packages, setup
+
+# When the version is updated, a new section in the CHANGELOG.md file must be
+# added too.
+VERSION = "3.2.3"
+
+with open("README.md", encoding="utf-8") as f:
+    long_description = f.read()
+web_files = ["web/internal_data/css/icon.png",
+             "web/internal_data/css/loading.svg",
+             "web/internal_data/css/logo.svg",
+             "web/internal_data/css/main.css",
+             "web/internal_data/css/icons/delete.svg",
+             "web/internal_data/css/icons/download.svg",
+             "web/internal_data/css/icons/edit.svg",
+             "web/internal_data/css/icons/new.svg",
+             "web/internal_data/css/icons/upload.svg",
+             "web/internal_data/fn.js",
+             "web/internal_data/index.html"]
+
+install_requires = ["defusedxml", "passlib", "vobject>=0.9.6",
+                    "python-dateutil>=2.7.3",
+                    "pika>=1.1.0",
+                    ]
+bcrypt_requires = ["bcrypt"]
+test_requires = ["pytest>=7", "waitress", *bcrypt_requires]
+
+setup(
+    name="Radicale",
+    version=VERSION,
+    description="CalDAV and CardDAV Server",
+    long_description=long_description,
+    long_description_content_type="text/markdown",
+    author="Guillaume Ayoub",
+    author_email="guillaume.ayoub@kozea.fr",
+    url="https://radicale.org/",
+    license="GNU GPL v3",
+    platforms="Any",
+    packages=find_packages(
+        exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
+    package_data={"radicale": [*web_files, "py.typed"]},
+    entry_points={"console_scripts": ["radicale = radicale.__main__:run"]},
+    install_requires=install_requires,
+    extras_require={"test": test_requires, "bcrypt": bcrypt_requires},
+    keywords=["calendar", "addressbook", "CalDAV", "CardDAV"],
+    python_requires=">=3.8.0",
+    classifiers=[
+        "Development Status :: 5 - Production/Stable",
+        "Environment :: Console",
+        "Environment :: Web Environment",
+        "Intended Audience :: End Users/Desktop",
+        "Intended Audience :: Information Technology",
+        "License :: OSI Approved :: GNU General Public License (GPL)",
+        "Operating System :: OS Independent",
+        "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
+        "Programming Language :: Python :: 3.11",
+        "Programming Language :: Python :: 3.12",
+        "Programming Language :: Python :: 3.13",
+        "Programming Language :: Python :: Implementation :: CPython",
+        "Programming Language :: Python :: Implementation :: PyPy",
+        "Topic :: Office/Business :: Groupware"])