fenrir/setup.py

128 lines
4.3 KiB
Python
Raw Normal View History

#!/bin/python
2017-05-23 11:00:46 -04:00
#https://python-packaging.readthedocs.io/en/latest/minimal.html
2017-10-21 10:03:03 -04:00
import os, glob, sys
import os.path
from shutil import copyfile
from setuptools import find_packages
from setuptools import setup
2017-07-25 07:48:55 -04:00
fenrirVersion = '1.5'
2017-10-25 03:14:03 -04:00
packageVersion = 'post11'
2017-10-21 10:03:03 -04:00
# handle flags for package manager like yaourt and pacaur.
forceSettings = False
if "--force-settings" in sys.argv:
forceSettings = True
sys.argv.remove("--force-settings")
2017-07-25 11:19:40 -04:00
data_files = []
2017-07-25 11:50:59 -04:00
directories = glob.glob('config/*')
2017-07-25 11:19:40 -04:00
for directory in directories:
2017-07-25 11:50:59 -04:00
files = glob.glob(directory+'/*')
destDir = ''
2017-07-25 11:46:38 -04:00
if 'config/punctuation' in directory :
2017-07-25 11:19:40 -04:00
destDir = '/etc/fenrir/punctuation'
2017-07-25 11:46:38 -04:00
elif 'config/keyboard' in directory:
2017-07-25 11:19:40 -04:00
destDir = '/etc/fenrir/keyboard'
2017-07-25 11:46:38 -04:00
elif 'config/settings' in directory:
2017-07-25 11:19:40 -04:00
destDir = '/etc/fenrir/settings'
2017-10-21 10:03:03 -04:00
if not forceSettings:
try:
del(files[files.index('config/settings/settings.conf')])
except:
pass
2017-07-25 11:46:38 -04:00
elif 'config/scripts' in directory:
2017-07-25 11:22:27 -04:00
destDir = '/usr/share/fenrir/scripts'
2017-07-25 11:50:59 -04:00
if destDir != '':
data_files.append((destDir, files))
2017-07-25 12:00:06 -04:00
2017-07-25 18:09:17 -04:00
files = glob.glob('config/sound/default-wav/*')
destDir = '/usr/share/sounds/fenrir/default-wav'
data_files.append((destDir, files))
files = glob.glob('config/sound/default/*')
destDir = '/usr/share/sounds/fenrir/default'
data_files.append((destDir, files))
files = glob.glob('config/sound//template/*')
destDir = '/usr/share/sounds/fenrir/template'
data_files.append((destDir, files))
2017-07-25 17:46:59 -04:00
files = glob.glob('tools/*')
data_files.append(('/usr/share/fenrir/tools', files))
data_files.append(('/usr/lib/systemd/system', ['autostart/systemd/fenrir.service']))
2017-08-23 15:35:29 -04:00
data_files.append(('/usr/share/man/man1', ['docu/fenrir.1']))
2017-07-25 11:19:40 -04:00
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(
# Application name:
2017-10-02 13:09:25 -04:00
name="fenrir-screenreader",
# Version number:
version=fenrirVersion + '.' + packageVersion,
2017-07-25 04:58:37 -04:00
# description
description="A TTY Screen Reader for Linux.",
2017-07-25 04:58:37 -04:00
long_description=read('README.md'),
2017-07-25 07:50:34 -04:00
keywords=['screenreader', 'a11y', 'accessibility', 'terminal', 'TTY', 'console'],
2017-07-25 04:58:37 -04:00
license="License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
url="https://github.com/chrys87/fenrir/",
2017-07-25 07:48:55 -04:00
download_url = 'https://github.com/chrys87/fenrir/archive/' + fenrirVersion + '.tar.gz',
2017-07-25 04:58:37 -04:00
classifiers=[
"Programming Language :: Python",
2017-08-24 05:42:37 -04:00
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
2017-07-25 04:58:37 -04:00
"Development Status :: 5 - Production/Stable",
2017-07-25 07:48:55 -04:00
"Topic :: Multimedia :: Sound/Audio :: Speech",
2017-07-25 04:58:37 -04:00
"Environment :: Console",
],
# Application author details:
author="Chrys, Storm_dragon, Jeremiah and others",
2017-07-25 04:58:37 -04:00
author_email="chrysg@linux-a11y.org",
# Packages
packages=find_packages('src/fenrir'),
package_dir={'': 'src/fenrir'},
2016-11-16 07:43:13 -05:00
scripts=['src/fenrir/fenrir','src/fenrir/fenrir-daemon'],
# Include additional files into the package
include_package_data=True,
zip_safe=False,
2017-07-25 10:59:19 -04:00
2017-07-25 11:19:40 -04:00
data_files=data_files,
2017-07-25 04:58:37 -04:00
# Dependent packages (distributions)
install_requires=[
"evdev",
2017-08-15 17:49:40 -04:00
"daemonize",
2017-07-25 09:35:49 -04:00
"dbus-python",
2017-07-25 09:44:42 -04:00
"pyenchant",
2017-07-25 09:58:02 -04:00
"pyudev",
2017-07-25 09:19:13 -04:00
"setuptools",
2017-10-20 18:43:16 -04:00
"pexpect",
2017-10-24 18:48:48 -04:00
"pyttsx3",
],
)
2017-10-21 10:03:03 -04:00
if not forceSettings:
print('')
# create settings file from example if not exist
if not os.path.isfile('/etc/fenrir/settings/settings.conf'):
try:
copyfile('/etc/fenrir/settings/settings.conf.example', '/etc/fenrir/settings/settings.conf')
print('create settings file in /etc/fenrir/settings/settings.conf')
except:
pass
else:
print('settings.conf file found. It is not overwritten automatical')
2017-07-26 03:35:08 -04:00
print('')
print('To have Fenrir start at boot:')
2017-07-26 03:35:08 -04:00
print('sudo systemctl enable fenrir')
print('Pulseaudio users may want to run:')
print('/usr/share/fenrir/tools/configure_pulse.sh')
print('once as their user account and once as root to configure Pulseaudio.')
print('Please install the following packages manually:')
print('- Speech-dispatcher: for the default speech driver')
print('- Espeak: as basic TTS engine')
print('- BrlTTY: for Braille')
print('- sox: is a player for the generic sound driver')