Trying to fix icons
[ejpi] / setup.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 import sys
5 reload(sys).setdefaultencoding("UTF-8")
6 import os
7
8 try:
9         from sdist_maemo import sdist_maemo as _sdist_maemo
10         sdist_maemo = _sdist_maemo
11 except ImportError:
12         sdist_maemo = None
13         print 'sdist_maemo command not available'
14
15 from distutils.core import setup
16
17
18 #[[[cog
19 #       import cog
20 #       from ejpi import constants
21 #       cog.outl('APP_NAME="%s"' % constants.__app_name__)
22 #       cog.outl('PRETTY_APP_NAME="%s"' % constants.__pretty_app_name__)
23 #       cog.outl('VERSION="%s"' % constants.__version__)
24 #       cog.outl('BUILD="%s"' % constants.__build__)
25 #       cog.outl('DESKTOP_FILE_PATH="%s"' % DESKTOP_FILE_PATH)
26 #       cog.outl('INPUT_DESKTOP_FILE="%s"' % INPUT_DESKTOP_FILE)
27 #       cog.outl('ICON_CATEGORY="%s"' % ICON_CATEGORY)
28 #]]]
29 APP_NAME="ejpi"
30 PRETTY_APP_NAME="e**(j pi) + 1 = 0"
31 VERSION="0.1.0"
32 BUILD=0
33 DESKTOP_FILE_PATH="/usr/share/applications"
34 INPUT_DESKTOP_FILE="data/harmattan/ejpi.desktop"
35 ICON_CATEGORY="hildon"
36 #[[[end]]]
37
38 CHANGES = """Switching from py2deb.py to sdist_maemo
39 """.strip()
40 BUGTRACKER_URL = "https://bugs.maemo.org/enter_bug.cgi?product=ejpi"
41
42
43 def is_package(path):
44         return (
45                 os.path.isdir(path) and
46                 os.path.isfile(os.path.join(path, '__init__.py'))
47         )
48
49
50 def find_packages(path, base="", includeRoot=False):
51         """ Find all packages in path """
52         if includeRoot:
53                 assert not base, "Base not supported with includeRoot: %r" % base
54                 rootPath, module_name = os.path.split(path)
55                 yield module_name
56                 base = module_name
57         for item in os.listdir(path):
58                 dir = os.path.join(path, item)
59                 if is_package( dir ):
60                         if base:
61                                 module_name = "%(base)s.%(item)s" % vars()
62                         else:
63                                 module_name = item
64                         yield module_name
65                         for mname in find_packages(dir, module_name):
66                                 yield mname
67
68
69 setup(
70         name=APP_NAME,
71         version=VERSION,
72         description="RPN calculator designed for touchscreens",
73         long_description="RPN calculator designed for touchscreens",
74         author="Ed Page",
75         author_email="eopage@byu.net",
76         maintainer="Ed Page",
77         maintainer_email="eopage@byu.net",
78         url="http://ejpi.garage.maemo.org/",
79         license="GNU LGPLv2.1",
80         scripts=[
81                 "ejpi-calc",
82         ],
83         packages=list(find_packages(APP_NAME, includeRoot=True)),
84         package_data={
85                 "plugins": "*.ini"
86         },
87         data_files=[
88                 (DESKTOP_FILE_PATH, [INPUT_DESKTOP_FILE]),
89                 ("/usr/share/icons/hicolor/26x26/%s" % ICON_CATEGORY, ["data/icons/26/%s.png" % APP_NAME]),
90                 ("/usr/share/icons/hicolor/32x32/%s" % ICON_CATEGORY, ["data/icons/32/%s.png" % APP_NAME]),
91                 ("/usr/share/icons/hicolor/48x48/%s" % ICON_CATEGORY, ["data/icons/48/%s.png" % APP_NAME]),
92                 ("/usr/share/icons/hicolor/80x80/%s" % ICON_CATEGORY, ["data/icons/80/%s.png" % APP_NAME]),
93                 ("/usr/share/icons/hicolor/scalable/%s" % ICON_CATEGORY, ["data/%s.svg" % APP_NAME]),
94         ],
95         requires=[
96                 "PySide",
97         ],
98         cmdclass={
99                 'sdist_ubuntu': sdist_maemo,
100                 'sdist_diablo': sdist_maemo,
101                 'sdist_fremantle': sdist_maemo,
102                 'sdist_harmattan': sdist_maemo,
103         },
104         options={
105                 "sdist_ubuntu": {
106                         "debian_package": APP_NAME,
107                         "section": "math",
108                         "copyright": "lgpl",
109                         "changelog": CHANGES,
110                         "buildversion": str(BUILD),
111                         "depends": "python, python-pyside.qtcore, python-pyside.qtgui",
112                         "architecture": "any",
113                 },
114                 "sdist_diablo": {
115                         "debian_package": APP_NAME,
116                         "Maemo_Display_Name": PRETTY_APP_NAME,
117                         #"Maemo_Upgrade_Description": CHANGES,
118                         "Maemo_Bugtracker": BUGTRACKER_URL,
119                         "Maemo_Icon_26": "data/icons/26/%s.png" % APP_NAME,
120                         "section": "user/science",
121                         "copyright": "lgpl",
122                         "changelog": CHANGES,
123                         "buildversion": str(BUILD),
124                         "depends": "python2.5, python2.5-qt4-core, python2.5-qt4-gui",
125                         "architecture": "any",
126                 },
127                 "sdist_fremantle": {
128                         "debian_package": APP_NAME,
129                         "Maemo_Display_Name": PRETTY_APP_NAME,
130                         #"Maemo_Upgrade_Description": CHANGES,
131                         "Maemo_Bugtracker": BUGTRACKER_URL,
132                         "Maemo_Icon_26": "data/icons/48/%s.png" % APP_NAME,
133                         "section": "user/science",
134                         "copyright": "lgpl",
135                         "changelog": CHANGES,
136                         "buildversion": str(BUILD),
137                         "depends": "python, python-pyside.qtcore, python-pyside.qtgui, python-pyside.qtmaemo5",
138                         "architecture": "any",
139                 },
140                 "sdist_harmattan": {
141                         "debian_package": APP_NAME,
142                         "Maemo_Display_Name": PRETTY_APP_NAME,
143                         #"Maemo_Upgrade_Description": CHANGES,
144                         "Maemo_Bugtracker": BUGTRACKER_URL,
145                         "Maemo_Icon_26": "data/icons/48/%s.png" % APP_NAME,
146                         "MeeGo_Desktop_Entry_Filename": APP_NAME,
147                         #"MeeGo_Desktop_Entry": "",
148                         "section": "user/science",
149                         "copyright": "lgpl",
150                         "changelog": CHANGES,
151                         "buildversion": str(BUILD),
152                         "depends": "python, python-pyside.qtcore, python-pyside.qtgui",
153                         "architecture": "any",
154                 },
155                 "bdist_rpm": {
156                         "requires": "REPLACEME",
157                         "icon": "data/icons/48/%s.png" % APP_NAME,
158                         "group": "REPLACEME",
159                 },
160         },
161 )