2018-07-20 20:04:32 -04:00
|
|
|
#!/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
|
2017-10-20 15:24:50 -04:00
|
|
|
import os.path
|
|
|
|
from shutil import copyfile
|
2016-10-04 17:07:19 -04:00
|
|
|
from setuptools import find_packages
|
|
|
|
from setuptools import setup
|
2017-10-20 15:24:50 -04:00
|
|
|
|
2018-07-16 17:23:29 -04:00
|
|
|
fenrirVersion = '1.9.2'
|
|
|
|
packageVersion = 'post1'
|
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 :
|
2018-03-21 06:10:12 -04:00
|
|
|
destDir = '/etc/fenrirscreenreader/punctuation'
|
2017-07-25 11:46:38 -04:00
|
|
|
elif 'config/keyboard' in directory:
|
2018-03-21 06:10:12 -04:00
|
|
|
destDir = '/etc/fenrirscreenreader/keyboard'
|
2017-07-25 11:46:38 -04:00
|
|
|
elif 'config/settings' in directory:
|
2018-03-21 06:10:12 -04:00
|
|
|
destDir = '/etc/fenrirscreenreader/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:
|
2018-03-21 06:10:12 -04:00
|
|
|
destDir = '/usr/share/fenrirscreenreader/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/*')
|
2018-03-21 06:10:12 -04:00
|
|
|
destDir = '/usr/share/sounds/fenrirscreenreader/default'
|
2017-07-25 18:09:17 -04:00
|
|
|
data_files.append((destDir, files))
|
|
|
|
files = glob.glob('config/sound//template/*')
|
2018-03-21 06:10:12 -04:00
|
|
|
destDir = '/usr/share/sounds/fenrirscreenreader/template'
|
2017-07-25 18:09:17 -04:00
|
|
|
data_files.append((destDir, files))
|
2017-07-25 17:46:59 -04:00
|
|
|
files = glob.glob('tools/*')
|
2018-03-21 06:10:12 -04:00
|
|
|
data_files.append(('/usr/share/fenrirscreenreader/tools', files))
|
2018-07-20 20:04:32 -04:00
|
|
|
data_files.append(('/usr/share/man/man1', ['docu/fenrir.1']))
|
2017-07-25 11:19:40 -04:00
|
|
|
|
2016-10-04 17:07:19 -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
|
2018-07-20 20:04:32 -04:00
|
|
|
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",
|
|
|
|
],
|
|
|
|
|
2016-10-04 17:07:19 -04:00
|
|
|
# Application author details:
|
2017-08-15 14:23:56 -04:00
|
|
|
author="Chrys, Storm_dragon, Jeremiah and others",
|
2017-07-25 04:58:37 -04:00
|
|
|
author_email="chrysg@linux-a11y.org",
|
2016-10-04 17:07:19 -04:00
|
|
|
|
|
|
|
# Packages
|
2018-03-21 06:56:09 -04:00
|
|
|
packages=find_packages('src/'),
|
|
|
|
package_dir={'': 'src/'},
|
2018-03-28 12:23:26 -04:00
|
|
|
scripts=['src/fenrir','src/fenrir-daemon'],
|
2016-10-04 17:07:19 -04:00
|
|
|
|
|
|
|
# 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
|
|
|
|
2016-10-04 17:07:19 -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: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",
|
2018-03-28 09:40:21 -04:00
|
|
|
"pyte",
|
2016-10-04 17:07:19 -04:00
|
|
|
],
|
|
|
|
|
|
|
|
)
|
2017-10-20 15:24:50 -04:00
|
|
|
|
2017-10-21 10:03:03 -04:00
|
|
|
if not forceSettings:
|
|
|
|
print('')
|
|
|
|
# create settings file from example if not exist
|
2018-03-21 06:10:12 -04:00
|
|
|
if not os.path.isfile('/etc/fenrirscreenreader/settings/settings.conf'):
|
2017-10-21 10:03:03 -04:00
|
|
|
try:
|
2018-03-21 06:56:09 -04:00
|
|
|
copyfile('/etc/fenrirscreenreader/settings/settings.conf.example', '/etc/fenrirscreenreader/settings/settings.conf')
|
|
|
|
print('create settings file in /etc/fenrirscreenreader/settings/settings.conf')
|
2017-10-21 10:03:03 -04:00
|
|
|
except:
|
|
|
|
pass
|
|
|
|
else:
|
|
|
|
print('settings.conf file found. It is not overwritten automatical')
|
|
|
|
|
2017-07-26 03:35:08 -04:00
|
|
|
print('')
|
2017-08-24 05:46:28 -04:00
|
|
|
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:')
|
2018-03-21 06:10:12 -04:00
|
|
|
print('/usr/share/fenrirscreenreader/tools/configure_pulse.sh')
|
2017-08-15 14:23:56 -04:00
|
|
|
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')
|
2017-08-24 05:46:28 -04:00
|
|
|
print('- BrlTTY: for Braille')
|
|
|
|
print('- sox: is a player for the generic sound driver')
|