X-Git-Url: https://jfr.im/git/yt-dlp.git/blobdiff_plain/66c935fb16c21280dde261f7f48f04c50c462df5..96a134dea6397a5f2131947c427aac52c8b4e677:/setup.py diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 index 7cc2bff48..8d1e6d10b --- a/setup.py +++ b/setup.py @@ -1,110 +1,36 @@ -#!/usr/bin/env python -# coding: utf-8 +#!/usr/bin/env python3 -from setuptools import setup, Command, find_packages -import os.path -import warnings +# Allow execution from anywhere +import os import sys -from distutils.spawn import spawn - -# Get the version from youtube_dlc/version.py without importing the package -exec(compile(open('youtube_dlc/version.py').read(), - 'youtube_dlc/version.py', 'exec')) - -DESCRIPTION = 'Command-line program to download videos from YouTube.com and many other other video platforms.' -LONG_DESCRIPTION = '\n\n'.join(( - 'Official repository: ', - '**PS**: Many links in this document will not work since this is a copy of the README.md from Github', - open("README.md", "r", encoding="utf-8").read())) +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) -if len(sys.argv) >= 2 and sys.argv[1] == 'py2exe': - print("inv") -else: - files_spec = [ - ('etc/bash_completion.d', ['youtube-dlc.bash-completion']), - ('etc/fish/completions', ['youtube-dlc.fish']), - ('share/doc/youtube_dlc', ['README.txt']), - ('share/man/man1', ['youtube-dlc.1']) - ] - root = os.path.dirname(os.path.abspath(__file__)) - data_files = [] - for dirname, files in files_spec: - resfiles = [] - for fn in files: - if not os.path.exists(fn): - warnings.warn('Skipping file %s since it is not present. Type make to build all automatically generated files.' % fn) - else: - resfiles.append(fn) - data_files.append((dirname, resfiles)) +import warnings - params = { - 'data_files': data_files, - } - params['entry_points'] = {'console_scripts': ['youtube-dlc = youtube_dlc:main']} +if sys.argv[1:2] == ['py2exe']: + warnings.warn(DeprecationWarning('`setup.py py2exe` is deprecated and will be removed in a future version. ' + 'Use `bundle.py2exe` instead')) -class build_lazy_extractors(Command): - description = 'Build the extractor lazy loading module' - user_options = [] + import bundle.py2exe - def initialize_options(self): - pass + bundle.py2exe.main() - def finalize_options(self): - pass +elif 'build_lazy_extractors' in sys.argv: + warnings.warn(DeprecationWarning('`setup.py build_lazy_extractors` is deprecated and will be removed in a future version. ' + 'Use `devscripts.make_lazy_extractors` instead')) - def run(self): - spawn( - [sys.executable, 'devscripts/make_lazy_extractors.py', 'youtube_dlc/extractor/lazy_extractors.py'], - dry_run=self.dry_run, - ) + import subprocess + os.chdir(sys.path[0]) + print('running build_lazy_extractors') + subprocess.run([sys.executable, 'devscripts/make_lazy_extractors.py']) -packages = find_packages(exclude=("youtube_dl","test",)) +else: -setup( - name="yt-dlp", - version=__version__, - maintainer="pukkandan", - maintainer_email="pukkandan@gmail.com", - description=DESCRIPTION, - long_description=LONG_DESCRIPTION, - long_description_content_type="text/markdown", - url="https://github.com/pukkandan/yt-dlp", - packages=packages, - project_urls={ - 'Documentation': 'https://github.com/pukkandan/yt-dlp#yt-dlp', - 'Source': 'https://github.com/pukkandan/yt-dlp', - 'Tracker': 'https://github.com/pukkandan/yt-dlp/issues', - #'Funding': 'https://donate.pypi.org', - }, - classifiers=[ - "Topic :: Multimedia :: Video", - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.6", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.2", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: Implementation", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: IronPython", - "Programming Language :: Python :: Implementation :: Jython", - "Programming Language :: Python :: Implementation :: PyPy", - "License :: Public Domain", - "Operating System :: OS Independent", - ], - python_requires='>=2.6', - - cmdclass={'build_lazy_extractors': build_lazy_extractors}, - **params -) + print( + 'ERROR: Building by calling `setup.py` is deprecated. ' + 'Use a build frontend like `build` instead. ', + 'Refer to https://build.pypa.io for more info', file=sys.stderr) + sys.exit(1)