79 lines
2.6 KiB
Python
79 lines
2.6 KiB
Python
|
#!/usr/bin/env python3
|
||
|
import os, glob, sys
|
||
|
import os.path
|
||
|
from shutil import copyfile
|
||
|
from setuptools import find_namespace_packages
|
||
|
from setuptools import setup
|
||
|
|
||
|
# handle flags for package manager like aurman and pacaur.
|
||
|
# Allow both environment variable and command line flag
|
||
|
forceSettingsFlag = (
|
||
|
"--force-settings" in sys.argv or
|
||
|
os.environ.get('FENRIR_FORCE_SETTINGS') == '1'
|
||
|
)
|
||
|
if "--force-settings" in sys.argv:
|
||
|
sys.argv.remove("--force-settings")
|
||
|
|
||
|
dataFiles = []
|
||
|
|
||
|
# Handle locale files
|
||
|
localeFiles = glob.glob('locale/*/LC_MESSAGES/*.mo')
|
||
|
for localeFile in localeFiles:
|
||
|
lang = localeFile.split(os.sep)[1]
|
||
|
destDir = f'/usr/share/locale/{lang}/LC_MESSAGES'
|
||
|
dataFiles.append((destDir, [localeFile]))
|
||
|
|
||
|
# Handle other configuration files
|
||
|
directories = glob.glob('config/*')
|
||
|
for directory in directories:
|
||
|
files = glob.glob(directory+'/*')
|
||
|
destDir = ''
|
||
|
if 'config/punctuation' in directory :
|
||
|
destDir = '/etc/fenrirscreenreader/punctuation'
|
||
|
elif 'config/keyboard' in directory:
|
||
|
destDir = '/etc/fenrirscreenreader/keyboard'
|
||
|
elif 'config/settings' in directory:
|
||
|
destDir = '/etc/fenrirscreenreader/settings'
|
||
|
if not forceSettingsFlag:
|
||
|
try:
|
||
|
files = [f for f in files if not f.endswith('settings.conf')]
|
||
|
except:
|
||
|
pass
|
||
|
elif 'config/scripts' in directory:
|
||
|
destDir = '/usr/share/fenrirscreenreader/scripts'
|
||
|
if destDir != '':
|
||
|
dataFiles.append((destDir, files))
|
||
|
|
||
|
files = glob.glob('config/sound/default/*')
|
||
|
destDir = '/usr/share/sounds/fenrirscreenreader/default'
|
||
|
dataFiles.append((destDir, files))
|
||
|
files = glob.glob('config/sound//template/*')
|
||
|
destDir = '/usr/share/sounds/fenrirscreenreader/template'
|
||
|
dataFiles.append((destDir, files))
|
||
|
files = glob.glob('tools/*')
|
||
|
dataFiles.append(('/usr/share/fenrirscreenreader/tools', files))
|
||
|
dataFiles.append(('/usr/share/man/man1', ['docs/fenrir.1']))
|
||
|
|
||
|
def read(fname):
|
||
|
return open(os.path.join(os.path.dirname(__file__), fname)).read()
|
||
|
|
||
|
setup(
|
||
|
# Include additional files into the package
|
||
|
include_package_data=True,
|
||
|
zip_safe=False,
|
||
|
|
||
|
data_files=dataFiles,
|
||
|
)
|
||
|
|
||
|
|
||
|
print('')
|
||
|
print('To have Fenrir start at boot:')
|
||
|
print('sudo systemctl enable fenrir')
|
||
|
print('Pulseaudio users may want to run:')
|
||
|
print('/usr/share/fenrirscreenreader/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('- sox: is a player for the generic sound driver')
|