mirror of
https://github.com/lutris/lutris
synced 2024-10-04 14:59:37 +00:00
Fixed setup.py script and removed dependency on distutils-extra
This commit is contained in:
parent
904ff84832
commit
1c94f60d96
10
MANIFEST.in
Normal file
10
MANIFEST.in
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
recursive-include lutris *.py
|
||||||
|
recursive-include data/media *
|
||||||
|
recursive-include data/ui *
|
||||||
|
include bin/lutris
|
||||||
|
include LICENSE
|
||||||
|
include AUTHORS
|
||||||
|
include MANIFEST.in
|
||||||
|
include README
|
||||||
|
graft debian
|
||||||
|
prune tests
|
|
@ -1,7 +1,6 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Version=0.2.1
|
Version=0.2.7
|
||||||
Name=Lutris
|
Name=Lutris
|
||||||
GenericName=Lutris Gaming Platform
|
|
||||||
Comment=Lutris application
|
Comment=Lutris application
|
||||||
Categories=Game;
|
Categories=Game;
|
||||||
Exec=lutris %U
|
Exec=lutris %U
|
||||||
|
|
|
@ -4,6 +4,7 @@ Name=Lutris
|
||||||
Comment=Lutris application
|
Comment=Lutris application
|
||||||
Categories=Game;
|
Categories=Game;
|
||||||
Exec=lutris
|
Exec=lutris
|
||||||
Icon=/usr/share/lutris/media/lutris.svg
|
Icon=lutris
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
|
MimeType=application/x-lutris;x-scheme-handler/lutris;
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
#!/usr/bin/python
|
|
||||||
# -*- coding:Utf-8 -*-
|
|
||||||
#
|
|
||||||
# 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/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
# where your project will head for your data (for instance, images and ui
|
|
||||||
# files) by default, this is ../data, relative your trunk layout
|
|
||||||
"""
|
|
||||||
Most likely generated by Quickly
|
|
||||||
"""
|
|
||||||
import os
|
|
||||||
|
|
||||||
__lutris_data_directory__ = '/usr/share/lutris/'
|
|
||||||
__license__ = 'GPL-3'
|
|
||||||
|
|
||||||
|
|
||||||
class ProjectPathNotFound(Exception):
|
|
||||||
"""Dummy exception for missing project path"""
|
|
||||||
print "can't find path "
|
|
||||||
|
|
||||||
|
|
||||||
def get_data_file(*path_segments):
|
|
||||||
"""Get the full path to a data file.
|
|
||||||
|
|
||||||
Returns the path to a file underneath the data directory (as defined by
|
|
||||||
`get_data_path`). Equivalent to os.path.join(get_data_path(),
|
|
||||||
*path_segments).
|
|
||||||
"""
|
|
||||||
return os.path.join(getdatapath(), *path_segments)
|
|
||||||
|
|
||||||
|
|
||||||
def getdatapath():
|
|
||||||
"""Retrieve lutris data path
|
|
||||||
|
|
||||||
This path is by default <lutris_lib_path>/../data/ in trunk
|
|
||||||
and /usr/share/lutris in an installed version but this path
|
|
||||||
is specified at installation time.
|
|
||||||
"""
|
|
||||||
|
|
||||||
# get pathname absolute or relative
|
|
||||||
if __lutris_data_directory__.startswith('/'):
|
|
||||||
pathname = __lutris_data_directory__
|
|
||||||
else:
|
|
||||||
pathname = os.path.dirname(__file__) + '/' + __lutris_data_directory__
|
|
||||||
|
|
||||||
abs_data_path = os.path.abspath(pathname)
|
|
||||||
if os.path.exists(abs_data_path):
|
|
||||||
return abs_data_path
|
|
||||||
else:
|
|
||||||
raise ProjectPathNotFound
|
|
|
@ -36,7 +36,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
def get_data_path():
|
def get_data_path():
|
||||||
"""docstring for get_data_path"""
|
"""docstring for get_data_path"""
|
||||||
launch_path = os.path.realpath(sys.path[0])
|
launch_path = os.path.realpath(sys.path[0])
|
||||||
if launch_path.startswith('/usr'):
|
if launch_path.startswith('/usr/local'):
|
||||||
|
data_path = '/usr/local/share/lutris'
|
||||||
|
elif launch_path.startswith('/usr'):
|
||||||
data_path = '/usr/share/lutris'
|
data_path = '/usr/share/lutris'
|
||||||
elif os.path.exists(os.path.normpath(os.path.join(sys.path[0], 'data'))):
|
elif os.path.exists(os.path.normpath(os.path.join(sys.path[0], 'data'))):
|
||||||
data_path = os.path.normpath(os.path.join(sys.path[0], 'data'))
|
data_path = os.path.normpath(os.path.join(sys.path[0], 'data'))
|
||||||
|
|
68
setup.py
68
setup.py
|
@ -17,20 +17,11 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import lutris.constants
|
|
||||||
|
|
||||||
try:
|
|
||||||
import DistUtilsExtra.auto
|
|
||||||
except ImportError:
|
|
||||||
import sys
|
import sys
|
||||||
print >> sys.stderr, 'To build lutris you need https://launchpad.net/python-distutils-extra'
|
from distutils.core import setup
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
assert DistUtilsExtra.auto.__version__ >= '2.10', 'needs DistUtilsExtra.auto >= 2.10'
|
|
||||||
|
|
||||||
|
|
||||||
def update_data_path(prefix, oldvalue=None):
|
def update_data_path(prefix, oldvalue=None):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fin = file('lutris/lutrisconfig.py', 'r')
|
fin = file('lutris/lutrisconfig.py', 'r')
|
||||||
fout = file(fin.name + '.new', 'w')
|
fout = file(fin.name + '.new', 'w')
|
||||||
|
@ -50,13 +41,13 @@ def update_data_path(prefix, oldvalue=None):
|
||||||
fout.close()
|
fout.close()
|
||||||
fin.close()
|
fin.close()
|
||||||
os.rename(fout.name, fin.name)
|
os.rename(fout.name, fin.name)
|
||||||
except (OSError, IOError), e:
|
except (OSError, IOError):
|
||||||
print ("ERROR: Can't find lutris/lutrisconfig.py")
|
print ("ERROR: Can't find lutris/lutrisconfig.py")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
return oldvalue
|
return oldvalue
|
||||||
|
|
||||||
def update_desktop_file(datadir):
|
|
||||||
|
|
||||||
|
def update_desktop_file(datadir):
|
||||||
try:
|
try:
|
||||||
fin = file('lutris.desktop.in', 'r')
|
fin = file('lutris.desktop.in', 'r')
|
||||||
fout = file(fin.name + '.new', 'w')
|
fout = file(fin.name + '.new', 'w')
|
||||||
|
@ -69,34 +60,45 @@ def update_desktop_file(datadir):
|
||||||
fout.close()
|
fout.close()
|
||||||
fin.close()
|
fin.close()
|
||||||
os.rename(fout.name, fin.name)
|
os.rename(fout.name, fin.name)
|
||||||
except (OSError, IOError), e:
|
except (OSError, IOError):
|
||||||
print ("ERROR: Can't find lutris.desktop.in")
|
print ("ERROR: Can't find lutris.desktop.in")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
|
data_files = []
|
||||||
def run(self):
|
|
||||||
if self.root or self.home:
|
|
||||||
print "WARNING: You don't use a standard --prefix installation, take care that you eventually " \
|
|
||||||
"need to update quickly/quicklyconfig.py file to adjust __quickly_data_directory__. You can " \
|
|
||||||
"ignore this warning if you are packaging and uses --prefix."
|
|
||||||
previous_value = update_data_path(self.prefix + '/share/lutris/')
|
|
||||||
update_desktop_file(self.prefix + '/share/lutris/')
|
|
||||||
DistUtilsExtra.auto.install_auto.run(self)
|
|
||||||
update_data_path(self.prefix, previous_value)
|
|
||||||
|
|
||||||
|
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))
|
||||||
|
data_files.append(('share/icons', ['data/media/lutris.svg']))
|
||||||
|
data_files.append(('share/applications', ['lutris.desktop']))
|
||||||
|
|
||||||
DistUtilsExtra.auto.setup(
|
setup(
|
||||||
name='lutris',
|
name='lutris',
|
||||||
version=lutris.constants.version,
|
version='0.2.7',
|
||||||
license='GPL-3',
|
license='GPL-3',
|
||||||
author='Mathieu Comandon',
|
author='Mathieu Comandon',
|
||||||
author_email='strycore@gmail.com',
|
author_email='strider@strycore.com',
|
||||||
|
packages=['lutris', 'lutris.gui', 'lutris.util', 'lutris.runners'],
|
||||||
|
scripts=['bin/lutris'],
|
||||||
|
data_files=data_files,
|
||||||
|
#install_requires=['PyYAML'],
|
||||||
|
url='http://lutris.net',
|
||||||
description='Install and play any video game on Linux',
|
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
|
long_description="""Lutris is a gaming platform for GNU/Linux. It's goal is
|
||||||
gaming on Linux as easy as possible by taking care of installing
|
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
|
and setting up the game for the user. The only thing you have to do is play
|
||||||
do is play the game. It aims to support every game that is playable
|
the game. It aims to support every game that is playable on Linux.""",
|
||||||
on Linux.""",
|
classifiers=[
|
||||||
url='https://launchpad.net/lutris',
|
'Development Status :: 3 - Alpha',
|
||||||
cmdclass={'install': InstallAndUpdateDataDirectory}
|
'Intended Audience :: Developers',
|
||||||
|
'License :: OSI Approved :: GPLv3',
|
||||||
|
'Programming Language :: Python',
|
||||||
|
'Operating System :: Linux',
|
||||||
|
'Topic :: Games'
|
||||||
|
],
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue