lutris/setup.py

123 lines
3.9 KiB
Python
Raw Normal View History

#!/usr/bin/python
2010-09-25 10:25:07 +00:00
# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
2010-09-26 23:56:44 +00:00
#
# Copyright (C) 2010 Mathieu Comandon <strider@strycore.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
# published by the Free Software Foundation.
#
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
2010-09-26 23:56:44 +00:00
#
2010-08-31 00:44:09 +00:00
import os
import sys
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
2014-02-08 18:21:00 +00:00
from lutris.settings import VERSION
2010-01-22 15:02:40 +00:00
def update_data_path(prefix, oldvalue=None):
try:
fin = file('lutris/lutrisconfig.py', 'r')
fout = file(fin.name + '.new', 'w')
2010-09-26 23:56:44 +00:00
for line in fin:
fields = line.split(' = ') # Separate variable from value
2010-01-22 15:02:40 +00:00
if fields[0] == '__lutris_data_directory__':
# update to prefix, store oldvalue
if not oldvalue:
oldvalue = fields[1]
line = "%s = '%s'\n" % (fields[0], prefix)
else: # restore oldvalue
2010-01-22 15:02:40 +00:00
line = "%s = %s" % (fields[0], oldvalue)
fout.write(line)
fout.flush()
fout.close()
fin.close()
os.rename(fout.name, fin.name)
except (OSError, IOError):
2010-01-22 15:02:40 +00:00
print ("ERROR: Can't find lutris/lutrisconfig.py")
sys.exit(1)
return oldvalue
def update_desktop_file(datadir):
2010-01-22 15:02:40 +00:00
try:
fin = file('lutris.desktop.in', 'r')
fout = file(fin.name + '.new', 'w')
2010-09-26 23:56:44 +00:00
for line in fin:
2010-01-22 15:02:40 +00:00
if 'Icon=' in line:
2010-03-20 23:26:25 +00:00
line = "Icon=%s\n" % (datadir + 'media/lutris.svg')
2010-01-22 15:02:40 +00:00
fout.write(line)
fout.flush()
fout.close()
fin.close()
os.rename(fout.name, fin.name)
except (OSError, IOError):
2010-01-22 15:02:40 +00:00
print ("ERROR: Can't find lutris.desktop.in")
sys.exit(1)
data_files = []
2010-01-22 15:02:40 +00:00
for directory, _, filenames in os.walk(u'data'):
dest = directory[5:]
if filenames:
files = []
for filename in filenames:
filename = os.path.join(directory, filename)
files.append(filename)
data_files.append((os.path.join('share/lutris', dest), files))
2013-07-11 21:16:17 +00:00
data_files.append((
'share/icons/hicolor/scalable/apps',
['data/media/lutris.svg']
))
2012-11-14 17:12:46 +00:00
data_files.append(('share/pixmaps', ['data/media/lutris.png']))
data_files.append(('share/applications', ['lutris.desktop']))
data_files.append(('share/glib-2.0/schemas', ['data/apps.lutris.gschema.xml']))
2013-07-11 21:16:17 +00:00
data_files.append((
'share/polkit-1/actions', [
'data/net.lutris.xboxdrv.policy',
'data/net.lutris.xboxdrvctl.policy'
]
))
2010-01-22 15:02:40 +00:00
setup(
2010-01-22 15:02:40 +00:00
name='lutris',
2014-02-08 18:21:00 +00:00
version=VERSION,
2010-01-22 18:38:20 +00:00
license='GPL-3',
author='Mathieu Comandon',
author_email='strider@strycore.com',
packages=['lutris', 'lutris.gui', 'lutris.util', 'lutris.runners'],
scripts=['bin/lutris'],
data_files=data_files,
install_requires=['PyYAML', 'pyxdg', 'PyGObject'],
url='http://lutris.net',
2010-08-31 00:44:09 +00:00
description='Install and play any video game on Linux',
long_description="""Lutris is a gaming platform for GNU/Linux. It's goal is
to make gaming on Linux as easy as possible by taking care of installing
and setting up the game for the user. The only thing you have to do is play
the game. It aims to support every game that is playable on Linux.""",
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'License :: OSI Approved :: GPLv3',
'Programming Language :: Python',
'Operating System :: Linux',
'Topic :: Games'
],
)